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 student
and 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-http
security 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 192.168.16.x
subnet).
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.
tar
collects a bunch of files into one, and gzip
compresses 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 (-f
) named my_archive.tar.gz
by collecting/compressing the contents of the directory directoryName
.
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
Type man scp
or visit this page for more information.
Install WinSCP, a GUI file transfer program that understands the SCP protocol. See the WinSCP documentation for more information.