OPS705 Lab 3 (2207)

From CDOT Wiki
Jump to: navigation, search


Purpose / Objectives of Lab 3

In this lab, you will practice working with the Linux command line by manipulating the file system in two separate investigations.

If you encounter technical issues, please contact your professor via e-mail or in your section's Microsoft Teams group.

Minimum Requirements

Before beginning, you must have:

  1. Successfully completed Lab 2
  2. Watched the Week 3 video lecture
  3. Read through the Week 3 slides, and have them handy as a reference for concepts
  4. Your Seneca Azure login credentials
  5. Your linked mobile device for 2FA

INVESTIGATION 1: Create the Directory Structure

Figure 1. Square icons are directories, oval icons are empty text files.

In this investigation, you'll create the directory structure and text files you see in the tree diagram below. You will do so entirely on the command line using the utilities and command provided to you in the Week 3 lecture.

You work will be done entirely in your home directory.

To begin:

  1. Start your CentOS Linux VM in Azure (this may take a few minutes)
  2. Connect to the VM remotely using SSH
  3. Navigate to your home directory with this command: cd ~
  4. In your home directory, recreate the directory tree in Figure 1. yourusername should be your own username home folder that already exists.
  5. Do not remove lab2.txt


In this investigation, you're tasked with moving a set of existing files. You will download and run a script, which will create a set of files in ~/tmp. It is then your job to create the directory structure seen in Figure 2, and move the files from ~/tmp to their proper location according to the file tree diagram. Do not delete and recreate files, and do not delete your work from Investigation 1.

Figure 2. Square icons are directories, oval icons are empty text files.
  1. On your Linux VM, from your home directory, download script for this lab with the following command: wget https://ict.senecacollege.ca/~chris.johnson/ops705/lab3_script.bash
  2. Give the script execute permissions: chmod u+x ~/lab3_script.bash
  3. Run the script: ~/lab3_script.bash
  4. Check that the files 13-17 have been created in ~/tmp (These must come from the script, do not create them yourself)
  5. Using Figure 2 as a model, create the ~/shared directory structure
  6. Using Figure 2 as a model, move the files from ~/tmp to their proper location in ~/shared


This investigation simply has you update your CentOS Linux installation. We'll cover package / software management and security best practices in a later lab.

Updating the OS, by its very nature, changes the system. Any command or utility that performs system-wide changes can only be run by a system administrator. Remember that.

To update the operating system, you'll need to have administrative access. There are two ways to do this: logging in to an admin account, or running a command as your regular user with temporary admin powers. We call this privilege elevation or elevating your privileges. Only regular user accounts that belong to the admin group can do this. The name of the admin group changes depending on the distribution of Linux; for CentOS, it's the wheel group. The account you created should automatically have been added to this group as part of the Azure deployment process.

  • Here's the update command for CentOS: yum update

Running this as a regular user will give you an error. To temporarily elevate your privileges for the duration of a command, type sudo before said command.

  • For example: sudo yum update

The shell environment will ask you for your account password as an extra security precaution. When you type passwords on a Unix/Linux OS, the cursor remains blank and doesn't move. Just type it out carefully and hit Enter. It may take you a few tries the first time. You'll get used to it.

There will likely be further interaction for this command, mostly asking you to confirm an action. For updates, you can type y and hit Enter safely. That said, do get in the habit of reading warnings and when it asks for your confirmation.

The update command will look for updates, download the install files, and then update the system. Most updates don't require a restart (unlike Windows!), except for kernel updates. The kernel is the very basic building block of the system; sort of the heart. It's responsible for many of the most basic functions a computer performs. If a kernel update is installed, you need to restart the system to use the new kernel. As this is your first update, you'll likely have a kernel update.

  • When complete, restart the system with the following command: sudo reboot

You'll be disconnected from your remote session as the SSH server inside your VM shuts down.

Wait a few minutes for the OS to restart, and log back in. Voila, you're done!

Lab Submission

Submit to Blackboard's Lab Submission section full-desktop screenshots (PNG/JPG) of the following:

  1. From your home directory, run tree. Your screenshot should contain the entire output. (To install tree, run: sudo yum install tree)
  2. Run the following command and screenshot: hostnamectl

Your professor will review your VMs directly; the screenshots are a backup in case of catastrophic issues.

Your professor will not check your lab until the screenshots have been submitted.

Make sure to fully stop your VMs when you're done!