How to run Linux (including via Docker)

George Ferguson
ferguson@cs.rochester.edu

Summer 2017 (revised Spring 2019)

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.” (Wikipedia)

Docker documentation: Getting Started with Docker

You will need to use the command shell (“terminal”) to configure 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, and downloded a saved image, you need to load it to create the fedora-gcc image in your own 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 options are as follows: Whew!

Note that any changes you make inside the Docker image will NOT be saved when you quit Docker. With the -v incantation given above, files under /home actually live outside of Docker on your mac, windows, or linux machine. Those files will persist after you quit Docker.

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