Installing Tools
Good tools are prerequisite the successful execution of a job.
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 apt
.
You will download and install some tools needed for the OS lab 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 (39.156.66.14) 56(84) bytes of data.
64 bytes from 39.156.66.14: icmp_seq=1 ttl=37 time=23.4 ms
64 bytes from 39.156.66.14: icmp_seq=2 ttl=37 time=17.9 ms
64 bytes from 39.156.66.14: icmp_seq=3 ttl=37 time=45.3 ms
64 bytes from 39.156.66.14: icmp_seq=4 ttl=37 time=17.4 ms
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 51ms
rtt min/avg/max/mdev = 17.449/26.021/45.277/11.365 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:
apt-get update
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.
To run apt-get
with superuser privilege, use sudo
. If you find an operation requires superuser permission, append sudo
before that operation. For example,
sudo apt-get update
Enter your password you set previously in the Dockerfile
. Now apt-get
should run successfully. Since it requires Internet accessing, it may cost some time to finish.
Installing tools for OS lab
The following tools are necessary for OS lab:
apt-get install build-essential # build-essential packages, include binary utilities, gcc, make, and so on
apt-get install gdb # GNU debugger
apt-get install git # reversion control system
apt-get install qemu-system-x86 # QEMU
apt-get install bochs-x # Bochs with X11 plugin
apt-get install mingw-w64 # GNU development environment for Windows applications
apt-get install nasm # NASM
The usage of these tools is explained later.
Using pre-configured image
In order to reduce your burden, and save your campus network traffic charges, we have prepared a pre-configured image for you. All operations before this section have been pre-executed in the image, including installing GNU/Linux and all tools. You can download the image from this link.
注意: 你需要接入北科大校园网才能下载此 Docker 镜像.
After the download is complete, open host terminal and change directory to the download folder, type the following command:
docker load -i oslab-image-pre-configured.tar
This command will load the file oslab-image-pre-configured.tar
, which we just downloaded, as a Docker image. This operation may take some time, and then we can type:
docker images
You will see output similar to the following:
REPOSITORY TAG IMAGE ID CREATED SIZE
oslab-image configured 512f0596556f 38 seconds ago 1.85GB
That means the image has been loaded successfully. Now we can create a new container:
docker create --name=oslab-vm -p 20022:22 --tmpfs /dev/shm:exec --privileged=true oslab-image:configured
After that, you need to read the contents of the second section carefully, and then you can continue to learn the follow-up part of the tutorial.
Last updated
Was this helpful?