How to run Linux (including via Docker)

George Ferguson
ferguson@cs.rochester.edu

Summer 2017 (revised Fall 2018)

Linux is a great environment for Computer Science students to learn how things really work, underneath the icons, tiles, and animations of modern graphical user interfaces.

There are many flavors of Linux. This document describes using the “Fedora” flavor because that is what is run internally in the Computer Science Department at Rochester.

There are several ways that you can run Linux yourself:

Using Docker

“Docker provides operating-system-level virtualization [...] to allow independent ‘containers’ to run within a single Linux instance, avoiding the overhead of starting and maintaining virtual machines.8” (Wikipedia)

Getting Started with Docker

You will need to use the command shell (“terminal”) to confiugure and run docker.

We have built a docker image based on Fedora linux and containing gcc, make, gdb, valgrind, and emacs, as well as manpages. You can download it from here: www.cs.rochester.edu/u/ferguson/csc/docker/.

Once you have installed Docker, load the image to create the fedora-gcc image in your Docker installation:

	docker load -i fedora-gcc-docker.tgz
      

Then you can do, for example:

	docker run -it --rm -v "`pwd`":/home -w /home fedora-gcc bash
      
This runs bash (the command shell) using the fedora-gcc image. The -it option means to run interactively; --rm tells Docker to remove the container when the process exits; -v and the bit with the colon says to make your current working directory (outside docker) available on /home within docker; and -w tells docker to make /home the initial working directory for the bash process. Whew!

You can do a lot with Docker. You'll have to read the docs but it's a great option.

CSUG Linux Accounts

New procedure Fall 2018!

Visit accounts.csug.rochester.edu and enter your NetID and password.

If you were on the roster of an upper-level CSC course, you will be provided with the credentials for your CSUG account. If you were not on the roster at the time the accounts were created, you will be prompted to enter some information and the staff will be notified of the missing account. Once the staff can verify via the BlackBoard course roster that the student belongs in the course, an account will be created and the user will be notified.

Any questions about CSUG machine accounts: labstaff@cs.rochester.edu