OPS705 Lab 2 (2217)

From CDOT Wiki
Jump to: navigation, search


Purpose / Objectives of Lab 2

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 1
  2. Watched the Week 2 video lecture
  3. Read through the Week 2 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 2 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. To prove you've completed this section, run the following: echo "My name is insertFullName, and I've completed the CentOS VM investigation." > ~/yourusername_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/lab2_script.bash
  2. Give the script execute permissions: chmod u+x ~/lab2_script.bash
  3. Run the script: ~/lab2_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 installation. This includes operating system packages, as well as any other packages that have been installed using yum.

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 first user account was automatically added to this group as part of the Azure VM deployment process.

First, let's login:

  1. Start your Linux VM in Azure (this may take a few minutes)
  2. Connect to the VM remotely via SSH using your regular account. (Refer to Lab 2)

Now, let's update the system:

  • Here's the update command for this distro: 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

Normally, the shell environment will ask you for your account password as an extra security precaution. However, cloud-based Linux VMs typically have password-less sudo access. The idea is that identity management and security is handled by the cloud infrastructure. We'll explore that in detail later in the course.

There will likely be further interaction for this update 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.

It may take a few minutes for the VM to restart. You can track it's progress through the Azure DTL Overview page. Once back up and running, log back in to confirm everything still works.

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
  3. Run the yum update command to show there are no further updates to install and screenshot the result.

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!