Changes

Jump to: navigation, search

OPS235 Lab 3 - CentOS7

850 bytes added, 12:29, 24 September 2018
no edit summary
[[Category:OPS235]][[Category:OPS235 Labs]]
{{Admon/caution|THIS IS AN OLD VERSION OF THE LAB|'''This is an archived version. Do not use this in your OPS235 course.'''}}
= LAB PREPARATION =
== Purpose / Objectives of Lab3==
[[Image:software.png|thumb|right|300px|Installing software is an important task for computer system administrators. ]]
In this lab, you are going to identify potential problems such as not properly compressing VM image files when backing up VMs, or forgetting your root password. You will also learn to conserve hard disk space by learning how to compress and decompress files that are stored on your computer server. In addition, you will learn alternative methods of how to install applications (i.e. programs).
'''Topics include:'''<u>Main Objectives</u>
#*Learn to troubleshoot some common problems after installing VMs#*Create and extract '''archive''' files (tar and tar.gz)#*Install applications using various methods:::*'''Download''', '''decompress''' and archive file from the Internet, then '''compile source code''' in order to install an application.::*Use '''yum''' utility to install software from '''local source programs''' (on DVD drive)::*Use '''yum''' utility to install software from '''repositories''' (online storage areas)::*Learn how to '''add repositories''' (online software storage areas) to install less common applications.<olul><li value="4">Demonstrate the use of Bash Shell scripts to automate routine tasks (generate a customized software report)</li></olul>
|}
#Boot-up your '''centos1''' VM. '''when the Grub Boot menu appears''', press the letter <b><code><span style="color:#3366CC;font-size:1.2em;">e</span></code></b> (for "edit").
#Using your arrow keys, scroll to next screen to '''linux16linux''' or '''linux-efi''' command and type the word <b><code><span style="color:#3366CC;font-size:1.2em;">single</span></code></b> as an argument after '''quiet''' (see diagram for reference) and then press <b><code><span style="color:#3366CC;font-size:1.2em;">ctrl-x</span></code></b> to boot.
#The system should boot into text-based mode. Enter your '''root''' password.
#One thing to look at is partition space usage. Issue the command: <b><code><span style="color:#3366CC;font-size:1.2em;">df -h</span></code></b>
|- valign="top"
|
[[Image:grub2_3.png|thumb|right|600px|Add word '''single''' at the end of boot options, '''ENTERrw init=/sysroot/bin/sh''' as shown and then press '''bctrl-x''' to boot into single user no root password mode]]
|}
#The procedure to reset root's password is different than shown above. Press <b><code><span style="color:#3366CC;font-size:1.2em;">e</span></code></b> at the Grub boot menu.
#Using your arrow keys, move to '''linux16linux''' or '''linux-efi''' command and replace the argument '''ro''' with the argument <b><code><span style="color:#3366CC;font-size:1.2em;">rw init=/sysroot/bin/sh</span></code></b> (see diagram for reference) and then press <b><code><span style="color:#3366CC;font-size:1.2em;">ctrl-x</span></code></b> to boot.
#The system should boot into text-based mode without prompting for root's password.
#Issue the command: <b><code><span style="color:#3366CC;font-size:1.2em;">chroot /sysroot</span></code></b><br><br>
:Not being able to start your '''c7host''' due to '''Kernel Panic''' or some sort of '''catastrophic disk failure''' is not as easy to fix. You might be able to boot from your '''Centos LIVE DVD, open a terminal and mount the partition''' via command line and look for possible problems (setup files like '''/etc/fstab'''). '''Lab5''' will discuss more about mounting and the /etc/fstab file. The "worst-case scenario" would be to purchase a new hard disk, '''perform lab1 completely, perform lab2 to install and set-up virtualization software''', then '''restore your VM image and xml file backups''' (eg. decompressing images, issuing virsh define commands for .xml files). That is why consistently '''performing backups of ALL of your VMS at the end of each lab is absolutely essential! You have been warned!'''
 
 
= INVESTIGATION 2: ARCHIVING FILES =
</ul>
</li>
<li>What does the'''z''' option do?</li>
<li>Compare the sizes of '''/tmp/archive1.tar.gz''' and '''/tmp/archive2.tgz'''. Why are they so close in size?</li>
</ol>
===Part 2: Restoring Files From an Archive===
#Remain in your '''centos3''' VM.
#Create the directory '''/tmp/extract1'''</b>
#Change to the '''/tmp/extract1''' directory.
#Move the file '''archive1.tar.gz''' to your current directory.
In order to build software from source code, you must have the appropriate software development tools (such as make and gcc) and libraries (such as GTK) installed. The required tools will vary depending on the computer languages used in the software being built.
# Part is to be performed in your '''centos2 ''' VM.# Issue the following command to install a basic set of development tools and libraries:<br /><b><code><span style="color:#3366CC;font-size:1.2em;">yum groupinstall "Development Tools" "Development Libraries"</span></code></b><br><br>
<ol>
</ul>
</li>
<li>Run <b><code><span style="color:#3366CC;font-size:1.2em;">nled</span></code></b> from the current directory to make sure that it works. To exit this application, press '''ESC''', then type the letter '''q''' at the command prompt as the bottom left-hand corner and then press '''ENTER'''.</li>
<li>Why did copying the nled executable to '''/usr/local/bin''' allow the nled command to be run by name anywhere in the command prompt?</li>
</ol>
# Place your Centos7 Full Install DVD into the DVD drive of your hostmachine.
# View the contents of the DVD drive using the file manager application (called '''nautilus'''). Change to the Packages subdirectory. What does this subdirectory contain?
# Use a graphical file manager to view the contents of the DVD in your machine.<br><br>'''TIP:''' If you are having problems locating pathname to your DVD, open a terminal, login as '''root''', issue the command: '''mount''', and look for a path-name containing your Centos Install DVD and use that path-name when required later in this section.<br><br>
# Open a shell terminal and use the Linux command '''cd''' to change to the '''Packages''' sub-directory (hint: similar path-name as USB, but use '''Centos 7 x86_64/Packages''' and use '''quotes''' " " around full path-name since there are spaces within the pathname).
<ol>
<li value="1314">We will now look at how we can add different repositories to our '''c7host''' machine.</li><li>As root, issue the following command: <b><code><span style="color:#3366CC;font-size:1.3em;">yum repolist</span></code></b></li><li>Take a few moments to view the contents of the file. Do you see which repositories are used by the '''yum''' command? Write down the repositories in your lab logbook.</li><li>View the following link to see a general listing of repositories:<br>[ [http://wiki.centos.org/AdditionalResources/Repositories Available Repositories for Centos] ].</li><li>To add this repository, issue the command:<br><b><code><span style="color:#3366CC;font-size:1.3em;">wget https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-56.noarch.rpm</span></code> </b><br>Or if you receive a error message, try the command: <br><b><code><span style="color:#3366CC;font-size:1.3em;">yum install epel-release</span></code></b></li><li>To enable the repository in yum, issue the following command:<br><b><code><span style="color:#3366CC;font-size:1.3em;">yum install epel-release-7-56.noarch.rpm</span></code></b></li><li>To clean-up the repository list (including downloading new applications in added repositories), issue the command: <b><code><span style="color:#3366CC;font-size:1.3em;">yum clean all</span></code></b></li><li>To verify that you have added the repository, you can issue the command: <b><code><span style="color:#3366CC;font-size:1.3em;">yum repolist</span></code></b></li><li>Unused and unneeded software can present a security risk and ties up disk space needlessly. Find '''at least 4 other packages''' to remove on your c7host machine(for example: '''sound & video''', '''games''', etc) that you're not using on your system. Be careful to ensure that removing those packages does not also remove other software that you do need.</li>
</ol>
'''Answer Investigation 3 observations / questions in your lab log book.'''
 
= INVESTIGATION 3: LOOKING AHEAD =
We will continue with using shell scripts to create a Software Information Report that manipulates output generated by the '''rpm''' command. The '''sed''' and '''awk''' commands are very useful tools in shell scripting to manipulate text. In this lab, we will be using ''sed'' to allow the user to select certain portions from the rpm command (options -qi).
If you require <u>'''additional practice'''</u> in creating shell scripts using the "sed" utility, run the following command in your '''Matrix''' account: <ul><libr>'''/home/murray.saul/scripting-4'''</libr></ulbr# Perform the following steps in your '''c7host ''' machine:for this section.
# Open a Bash shell terminal and login as root.
# Use a text editor (such as <b><code><span style="color:#3366CC;font-size:1.2em;">vi</span></code></b> or <b><code><span style="color:#3366CC;font-size:1.2em;">nano</span></code></b>) to create a Bash Shell script called: <b><code><span style="color:#3366CC;font-size:1.2em;">backupVMpackageInfo.bash</span></code></b> in /root's home directory.
# Enter the following text content into your text-editing session:
<code style="color:#3366CC;font-family:courier;font-size:.9em;margin-left:20px;">
&#35; packageInfo.bash<br>
&#35; Purpose: Generates a report to displaying specified information of installed software<br>
&#35;<br>&#35; USAGE: ./packageInfo.bash[application-name]<br>
&#35;<br>
&#35; Author: *** INSERT YOUR NAME ***<br>
&#35; Date: *** CURRENT DATE ***<br>
<br>
if [ $HOME != "/root" ] # only runs if logged in as root<br>
then<br>&nbsp;echo "You must be logged in as root." >&2<br>
&nbsp;exit 1<br>
<code style="color:#3366CC;font-family:courier;font-size:.9em;">
&#35; Clear screen and use Here Document to display select on report items to read into variable<br>
clear<br>
cat &lt;&lt;+<br>
Available Package Information Items:<br>
<br>
cat &lt;&lt;+<br>
File "/root/package-info.txt" can has been created<br>
+<br>
</code>
'''Answer Investigation 3 observations / questions in your lab log book.'''
 
= LAB 3 SIGN-OFF (SHOW INSTRUCTOR) =
{{Admon/important|Time for a new backup!|If you have successfully completed this lab, make a new backup of your virtual machinesas well as your host machine.}}
'''Arrange evidence for each proof of these items the following on your the screen, then ask your instructor to review them and sign off on the lab's completion:'''
::<ol><li><span style="color:green;font-size:1.5em;">&#x2713;</span> '''centos3''' VM:<blockquote><ul><li> '''Archived ''' files created::<span style="color:green;font-size:1.5em;"/li></ul>&#x2713;</spanblockquote> Unnecessary</unused packages have been deleted (list at least 4, and show that they are no longer installed).::li><li><span style="color:green;font-size:1.5em;">&#x2713;</span> 2 '''c7host''' Machine:<blockquote><ul><li> '''Four unnecessary packages removed'''</li><li> '''xchat''' package installed with yum command::<span style="color:green;font-size:1.5em;"/li>&#x2713;</spanli> 1 '''One repository added ''' for yum::<span style="color:green;font-size:1/li><li>Creation of your bash shell script called '''packageInfo.5em;"bash'''</li></ul>&#x2713;</spanblockquote><li> License of the nautilus package::<span style="color:green;font-size:1.5em;">&#x2713;</span> Creation of your bash shell script called '''packageInfo.bashLab3'''log-book filled out.</li></ol>
==Preparing for Practice For Quizzes, Tests, Midterm &amp; Final Exam ==
#What is the purpose of booting into single-user mode?

Navigation menu