In GNU/Linux, you can download and install a software by one command (which may be difficult to do in Windows).
This is achieved by the package manager.
Different GNU/Linux distribution has different package manager.
In Debian, the package manager is called
You will download and install some tools needed for the PAs from the network mirrors. Before using the network mirrors, you should check whether the container can access the Internet.
Checking network state
By the default network setting of the container will share the same network state with your host. That is, if your host is able to access the Internet, so does the container. To test whether the container is able to access the Internet, you can try to ping a host outside the university LAN:
ping www.baidu.com -c 4
You should receive reply packets successfully:
PING www.a.shifen.com (126.96.36.199) 56(84) bytes of data. 64 bytes from 188.8.131.52: icmp_seq=1 ttl=51 time=5.81 ms 64 bytes from 184.108.40.206: icmp_seq=2 ttl=51 time=6.11 ms 64 bytes from 220.127.116.11: icmp_seq=3 ttl=51 time=6.88 ms 64 bytes from 18.104.22.168: icmp_seq=4 ttl=51 time=4.92 ms --- www.a.shifen.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3000ms rtt min/avg/max/mdev = 4.925/5.932/6.882/0.706 ms
If you get an "unreachable" message, please check whether you can access www.baidu.com in the host system.
Updating APT package information
Now you can tell
apt to retrieve software information from the sources:
However, you will receive an error message:
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied) E: Unable to lock directory /var/lib/apt/lists/
This is because
apt-get requires superuser privilege to run.
Why do some operations require superuser privilege?
In a real GNU/Linux, shutting down the system also requires superuser privilege. Can you provide a scene where bad thing will happen if the shutdown operation does not require superuser privilege?
apt-get with superuser privilege, use
If you find an operation requires superuser permission, append
sudo before that operation.
sudo apt-get update
Enter your password you set previously in the
apt-get should run successfully.
Since it requires Internet accessing, it may cost some time to finish.
Installing tools for PAs
The following tools are necessary for PAs:
apt-get install build-essential # build-essential packages, include binary utilities, gcc, make, and so on apt-get install man # on-line reference manual apt-get install gcc-doc # manual for GCC apt-get install gdb # GNU debugger apt-get install git # reversion control system apt-get install libreadline-dev # a library to use compile the project later apt-get install libsdl2-dev # a library to use compile the project later apt-get install qemu-system-x86 # QEMU
The usage of these tools is explained later.