In order to complete assignments and other coursework in CS2043, you will need access to a Unix or Linux based system running a common shell. While it is possible to use the native shell running on your personal MacOS or Linux machine (Windows users could also look into installing WSL for Linux), you might find it easier to have a separate environment for "playing around" so that you do not accidentally corrupt/damage/delete important things on your machine when working on our assignments! Many of you are already familiar with virtualization technologies and may already have a system ready to go for class. For those that do not, read on!

A virtualization environment is an application you run on your machine that allows you to "emulate" a "new" machine in a "container" that may be running a different operating system than the one you are installing the virtualization environment on. We call the latter (your personal machine) the "host" machine and whatever OS runs in the container is called the "guest" operating system. What follows below are instructions for installing the VMWare Workstation Player (for Windows) or VMWare Fusion Player (for MacOS) virtualization environment (free of charge) on your host machine so that you can run Ubuntu Linux as a guest operating system. NOTE: VirtualBox is another virtualization environment that can be used if you prefer. I have found it (at least when running on MacOS) to be a little less stable than the VMWare products.

If you can't run a virtualization environment…. The computer science department maintains a cluster of Linux machines that all students enrolled in CS classes can get access to. This cluster is generally referred to as "ugclinux" and you can remotely connect to it to do your work. We will discuss more in our first lecture/workshop. See Connecting to UGCLINUX for more information.

What if I already run Linux on my host computer? If you already run a Linux system as your main machine, you can use it directly for work in CS2043. As some of the work we do is experimental and involve commands that could do things like "delete important resources/files", it might be best to use some sort of Virtualization environment OR use the Computer Science department's UGCLINUX machine. More information on that will be posted after our lecture on Wednesday, January 25.

OK, so you'd like to install the virtualization environment… read on!

There are a number of pages on the course web site designed to help you do this if you've never done it before. Running the virtualization environment could take up to 15GB of space (probably more like 11) on your machine so make sure you have enough to start with. If space is at a premium on your personal machine you may still be able to get an installation on there but you'll need to come see me for more details!

To begin with, you will need to download VMWare.

Next, you will need to download a Ubuntu installer which comes in the form of an "iso" file.

For platform specific instructions on how to install Ubuntu, follow the following links for the platform of your host computer:

Once you have VirtualBox/Ubuntu installed, follow these instructions for Setting up Ubuntu

And now you're all set for CS2043!