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:
gcc
and whatever other tools you want, or see below for local options.
“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 bashThis runs
bash
(the command shell) using the fedora-gcc
image. The options are as follows:
-it
means to run interactively--rm
tells Docker to remove the container when the process exits-v
and the bit with two types of quotes and a colon says to make your current working directory (outside docker) available on /home
within docker-w
tells docker to make /home
the initial working directory for the bash
process
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.
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