Instructor: Paul Van Oorschot [ paulv (àŧ) scs.carleton.ca ]
TA: Furkan Alaca [ falaca (àŧ) ccsl.carleton.ca ]
Assignment submissions are due by 11:59pm on the due date listed. Please submit assignments to cuLearn.
Please format your submissions as a single-column PDF report with a cover page, and appropriate section headings. Please do not submit word documents, rich text files, or anything other than a PDF. Clearly mark the question you are answering and include all relevant material (i.e. not just the answer, but any code/scripts written, commands run, and any output). Provide enough detail in your answers to demonstrate that you understand the concepts and commands you are running.
Please prefix your submitted file names with your MyCarletonOne userid, e.g.,
johnsmith-assignment1.pdf. Any code or scripts that you wrote should be submitted in an additional tar archive, and any files contained in the archive MUST be referenced in the report.
You are expected to have some familiarity with the Linux shell; common commands, rudimentary BASH scripting, piping and redirecting output. Many good Cheat Sheets, tutorials and guides exist that can help you review this material.
The Assignments will be done in Linux virtual machines, specifically created for each assignment. Each student will need an account on the SCS OpenStack platform, which is accessible only on campus or via the Carleton VPN. Instructions for creating an account and using OpenStack are available on the SCS OpenStack Support website. The user name and password for the course VM images are
tneduts!, respectively. You will be asked to choose a new password upon your first login.
To access the VM images for the assignments on OpenStack, switch to the
COMP4108B-W17 project through the drop-down menu at the top of the page. If you are unable to see
COMP4108-W17 in your projects list, please use the SCS Online Account Management tool to update your account.
The SCS OpenStack How-To document, available on the SCS OpenStack support website, provides all the necessary steps to enable SSH access to your VM. In summary, from your VM's Instance Overview page, use the drop-down menu to complete the following actions:
ping-ssh-httpsecurity group to your VM instance.
PLEASE DO NOT HOG IP ADDRESSES. We have 60 public IP addresses available (in the
134.117.31.x subnet) and about 50 students in the class. If you need to have 2 VM instances, please only assign a public IP address to one of them. You can then SSH into that VM, and use it to access your other VMs through their private IP addresses (in the
On Windows, you may use PuTTY to access your VM, and in Linux or macOS you may launch a terminal and run
ssh student@VM.IP.address. If you're a PowerShell fan, you may experiment with Microsoft's new open-source SSH implementation for Windows 10.
You may use SCP to transfer files between your VM and your local machine. SCP runs over SSH, so you should configure your VM allow SSH traffic, as described above.
tarcollects a bunch of files into one, and
gzipcompresses the collected file to produce a tar.gz file. You can do this all in one step with:
tar -cvzf my_archive.tar.gz directoryName
-c) a gzipped (
-z) archive file (
my_archive.tar.gzby collecting/compressing the contents of the directory
To copy a file (or recursively copy a directory, if the optional
-R parameter is specified) from your VM to the current working directory on your local machine, launch a terminal, navigate to your desired directory, and run:
scp [-R] student@VM.IP.address:/some/path/source.file .
To copy a file from your local machine to your VM, run:
scp [-R] source.file student@VM.IP.address:/destination/path
man scp or visit this page for more information.