Changes

Jump to: navigation, search

OPS705 Lab 3 (2211)

6,082 bytes added, 01:31, 26 January 2021
Initial 2211 update and deployment for AWS version.
= LAB PREPARATION =

=== 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. You will also update your system at the end of this lab.

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:
# Successfully completed [[OPS705_Lab_2 | Lab 2]]
# Watched the Week 3 video lecture
# Read through the Week 3 slides, and have them handy as a reference for concepts
# Your Seneca login credentials

= INVESTIGATION 1: Create the Directory Structure =
[[Image:Ops705_lab3_fig1.png|thumb|right|250px|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 commands provided to you in the Week 3 lecture.

You work will be done entirely in your home directory.

To begin:

# Start your Linux VM in AWS (this may take a few minutes)
# Connect to the VM remotely using SSH (Refer to [[OPS705_Lab_2 | Lab 2]])
# Navigate to your home directory with this command: <code>cd ~</code>
# In your home directory, recreate the directory tree in Figure 1. ''yourusername'' should be your own username home folder that already exists.
# '''Do not remove lab2.txt'''

= INVESTIGATION 2: Moving Files =
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.'''
[[Image:Ops705_lab3_fig2.png|thumb|right|250px|Figure 2. Square icons are directories, oval icons are empty text files.]]

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

= INVESTIGATION 3: Update Linux =
This investigation simply has you update your Red Hat Enterprise Linux (RHEL) 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 RHEL, it's the '''wheel''' group. The ''ec2-user'' account you use was automatically added to this group as part of the AWS deployment process.

* Here's the update command for this distro: <code>yum update</code>

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

* For example: <code>sudo yum update</code>

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 next week.

There will likely be further interaction for this update command, mostly asking you to confirm an action. For updates, you can type <code>y</code> 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: <code>sudo reboot</code>

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 EC2 Instance page. One back up and running, log back in to confirm everything still works. Voila, you're done!

= Lab Submission =
Submit to Blackboard's ''Lab Submission'' section full-desktop screenshots (PNG/JPG) of the following:
# From your home directory, run <code>tree</code>. Your screenshot should contain the entire output. (To install tree, run: <code>sudo yum install tree</code>)
# Run the following command and screenshot: <code>hostnamectl</code>

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 VM when you're done!

[[Category:OPS705]]
[[Category:OPS705 Labs]]
[[Category:Digital Classroom]]
[[Category:Winter 2021]]

Navigation menu