Difference between revisions of "Temp OPS235 Lab 1"

From CDOT Wiki
Jump to: navigation, search
 
(77 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
==Introduction==
 
==Introduction==
  
In this lab, you are going to install the Fedora (GNU/Linux Distribution) to your hard disk from DVD.
+
:* In this lab, you are going to install the Fedora (GNU/Linux Distribution) to your removable hard disk from your burned DVD.
  
First, you are going to first create a number of hard disk partitions/physical volumes for this installation: '''/dev/sda1 (300M)''', '''/dev/sda2 extended partition''', '''/dev/sda5 (300M)'''. Then during your Fedora installation you will use the '''/dev/sda1''' partition for booting your computer.
+
:* Although this will be a simple install, this Fedora Operating System will be a platform for other Virtual Machine Fedora installations (in future labs). Therefore, it is very important that you take the time to carefully read and perform ALL steps, and take time to check your work.
  
During your Fedora installation, you will also be using LVM (Logical Volume Management) to create physical volumes (containers) called '''/dev/sda6''', '''/dev/sda7''', '''/dev/sda8''', and '''/dev/sda9'''. This storage will be split into various Logical Volumes (LVs)
+
:* After performing the Fedora16 DVD installation, you will collect baseline information about your Fedora GNU/Linux system, and perform some post installation configuration to prepare your system for the remainder of the labs.
  
After the installation, you will collect baseline information about your Fedora GNU/Linux system, do some post installation configuration to prepare your system for the remainder of the labs, manipulate the GRUB configuration, and start using the system.
+
==Objectives==
  
==Objectives==
+
#Perform a GNU/Linux installation using the Fedora 16 distribution
 +
#Investigate information during and after the Fedora 16 installation
 +
#Perform an upgrade after a recent installation
  
#To perform a GNU/Linux installation using the Fedora 16 distribution
 
#To perform boot time customization and configuration
 
#To obtain network configuration from a DHCP server
 
#To secure the boot loader by adding password protection
 
#To investigate GRUB boot loader configuration
 
  
==Required Materials==
+
==Required Materials (Bring to All Labs)==
  
* Fedora 16 x_64 Installation DVD - You can burn this onto a DVD-R in the Open Lab
+
* '''Fedora 16 LIVE CD''' - You can burn this onto a CD-R in the Open Lab
* SATA Hard Disk (the same one used for Lab 1)
+
* '''Fedora 16 x_64 Installation DVD''' - You can burn this onto a DVD-R in the Open Lab (or burn image onto a DVD+R if you are using the Freedom Toaster).
* USB Memory Stick (minimum 64M)
+
* '''SATA Hard Disk''' (in removable disk tray)
 +
* '''USB Memory Stick''' (minimum 64M)
 +
* '''Lab Logbook (Lab1 Reference Sheet)''' (to make notes and observations).
  
 
==Prerequisites==
 
==Prerequisites==
  
* None (First Lab)
+
* '''None''' (First Lab)
  
 
==Linux Command Online Reference==
 
==Linux Command Online Reference==
 
Each Link below displays online manpages for each command (via [http://linuxmanpages.com/ http://linuxmanpages.com]):
 
Each Link below displays online manpages for each command (via [http://linuxmanpages.com/ http://linuxmanpages.com]):
:* [http://linuxmanpages.com/man8/fdisk.8.php fdisk]
 
:* [http://linuxmanpages.com/man2/mount.2.php mount]
 
 
:* [http://linuxmanpages.com/man8/rpm.8.php rpm]
 
:* [http://linuxmanpages.com/man8/rpm.8.php rpm]
 
:* [http://linuxmanpages.com/man1/hostname.1.php hostname]
 
:* [http://linuxmanpages.com/man1/hostname.1.php hostname]
Line 45: Line 42:
 
:* [http://linuxmanpages.com/man1/nslookup.1.php nslookup]
 
:* [http://linuxmanpages.com/man1/nslookup.1.php nslookup]
 
:* [http://linuxmanpages.com/man1/wc.1.php wc]
 
:* [http://linuxmanpages.com/man1/wc.1.php wc]
:* [http://linuxmanpages.com/man8/grub.8.php grub]
 
  
 
==Resources on the web==
 
==Resources on the web==
 
Additional links to tutorials and HOWTOs:
 
Additional links to tutorials and HOWTOs:
 
:* [http://fedora.redhat.com/docs/release-notes/ Fedora Release Notes]
 
:* [http://fedora.redhat.com/docs/release-notes/ Fedora Release Notes]
:* [http://docs.fedoraproject.org/install-guide/ Fedora Installation Guide]
+
:* [http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/ Fedora 16 Installation Guide]
:* [http://www.gnu.org/software/grub/manual/html_node/Security.html#Security Protecting Grub]
 
:* [http://opensource.sgi.com/LDP/HOWTO/Kernel-HOWTO/grubconf.html Grub Details and Sample Config]
 
:* [http://www.aspencrypt.com/crypto101_hash.html One-way Hash Function]
 
:* [http://www.dedoimedo.com/computers/grub.html GRUB Tutorial]
 
:* [http://www.securitystats.com/tools/password.php Password Security]
 
  
 
=Performing Lab 1=
 
=Performing Lab 1=
  
== Instructions ==
+
==Investigation 1: How to Perform a Fedora DVD Install on Your Removable Hard Drive ==
# Insert your removable SATA hard disk in the drive tray.
 
# Set your computer's drive selector switch to external (since we will be booting from LIVE CD), then power up the computer.
 
# Insert the Fedora Live CD into the CD/DVD drive.
 
# Reboot the system.
 
# The boot process is completed when you see the GDM Login Screen. Click on "Automatic Login" to login as the "Live System User".
 
# We are going to start by opening a terminal window to access our shell environment. Click on Applications --> System Tools --> Terminal to start the terminal.
 
# At the top of the terminal window,  you should see the command prompt similar to [liveuser@localhost ~]$ This prompt indicates that it is ready to take your command. The program that is running is called a shell.
 
# At the command prompt, enter the command whoami (all in one word) and press return. This command shows the so-called User Name. Make notes of this user name.
 
# At the command prompt, enter the command pwd and press return. This command shows the so-called present working directory or current working directory. Record the present working directory of the shell running on the terminal window. As we have not yet changed directories this should also be your users home directory. (Also indicated by the ~ character in the prompt)
 
  
{{Admon/important|Using Superuser Privilege|Throughout this course, you may need to execute commands using the privileges of the the administrative user (username "root", also called the "superuser"). To switch from your account to the root account, type the command: <code>su</code>
+
# Insert your '''removable SATA hard disk''' into the drive tray.
 +
# Set your computer's drive selector switch to '''external''' (a.k.a ''position #4'').
 +
# Power up the computer and insert the '''Fedora 16 Installation DVD''' into the CD/DVD drive.
 +
# Wait until the Fedora DVD boots (could take a few moments).
  
After switching user notice and make note of the change in your shell prompt. Also note the difference in output for the <code>whoami</code> and <code>pwd</code> commands.
+
{{Admon/important|Boot-up Issues (Fedora16) in Seneca's Computer labs|If for some reason, the Fedora16 Installation DVD does not boot:
  
'''Whenever this is required, make a note of it, and determine why superuser privilege is required.'''
+
:* Restart the computer, and '''press the function key F10 to specify the device to boot''' (eg. DVD drive).
 +
:* If the user is prompted for a password, '''simply press ENTER''' (without typing any password) at the password prompt.
 +
:* '''You will need to perform this technique to ensure that Fedora boots from the hard drive (in future labs)'''.
 +
:* If you have tried this technique, and the Fedora Installation DVD does not boot, you may have to burn a new Fedora Installation DVD.|
 +
}}
  
When you are finished using the root account type exit to return to your previous account. '''Avoid using the superuser account unless absolutely necessary, because the superuser account has unlimited privilege and a typo can destroy your system.'''
+
<ol>
 
+
<li value="5">Note the time at the beginning of your installation.</li>
In some documentation, you may see the command <code>su -</code> used in place of <code>su</code>. The dash argument causes <code>su</code> to go through the steps that would normally be performed when the root user logs in, including (1) running the startup scripts (such as <code>/etc/profile</code> and <code>/root/.bash_profile</code> and (2) changing to the root user's home directory (<code>/root</code>).
+
<li>When the Fedora16 Installation DVD boots, it will prompt the user to test the media (i.e. DVD) for integrity. Since time is limited for installation in the lab, select '''SKIP'''. On the other hand, if the install did not work, then you can test out the integrity of the DVD in the computer lab during your spare time.</li>
 +
<li>Select the default language ('''English''') in the next install screen, and click '''Next'''.</li>
 +
<li>Select the default '''keyboard layout''' and '''Basic Storage Devices''' in the following installation screens.</li>
 +
<li>Set your hostname (name of the computer) to <big>'''f16host'''</big> (one word, no space, all lowercase).<br />Record in your lab logbook why you think it is important to set your hostname to this exact name instead of using another name...</li>
 +
<li>Set your time zone to '''Toronto'''.</li>
 +
<li'''>Root Password: enter a password of your own choosing'''. Pick one that is really, really hard to guess to protect your system. (Recommendation: use the first letter and all the punctuation from a favorite phrase or song verse. For example, "To be or not to be, that is the question!" could become the password "Tbontb,titq!").</li>
 +
<li>Select '''Use All Space''', to have the entire disk for the current Fedora16 OS.</li>
 +
</ol>
 +
{{Admon/important|Previous Contents of Hard Drive will be Erased|If you are using an existing removable Hard Disk from a previous course, you must allow the Installation DVD to "wipe" all previous contents prior to proceeding with this lab (no exceptions). Failure to erase existing contents can cause problems in subsequent labs such as running out of hard disk space...|
 +
}}
  
Note that the root user's home directory (<code>/root</code>) is ''not'' the same as the root directory of the system (<code>/</code>). It is also in a different directory than the rest of the home directories, which are typically in <code>/home</code> -- the reason for this is that <code>/home</code> is sometimes on a network filesystem shared by another server (as is the case on Matrix), and it's important that the system administrator be able to log in to the system even if the network is not operating normally.
+
{{Admon/important|Using Entire Hard Disk|You may be "hesitant" to want to use the entire disk for just one operating system, but we will be using software that will allow us to run virtual machines for other Fedora installs (while your host system called  '''f16host''' is also running).|
 
}}
 
}}
  
===Investigation 1 - How do you manually create hard disk partitions?===
 
 
 
 
# Enter the command  <code>fdisk -l /dev/sda</code> and describe the output in your log book. The output may be similar to the following:
 
  
    Disk /dev/sda: 12.0 GB, 12072517632 bytes
 
    255 heads, 63 sectors/track, 1467 cylinders
 
    Units = cylinders of 16065 * 512 = 8225280 bytes
 
    Device Boot Start End Blocks Id System
 
    ...
 
 
<ol>
 
<ol>
<li value="2">Read and study this [http://tldp.org/HOWTO/Partition/fdisk_partitioning.html reading] about how to use the fdisk command before you go on to the next step.</li>
+
<li value="13">When prompted, make certain to select '''Fresh Install''' in order to erase any previous contents of the hard disk.</li>
<li>Review the man page for the fdisk command.</li>
+
<li>You will be prompted to confirm the options that you have chosen prior to performing the DVD install. If you are not certain, you can "Go Back". As soon as you are satisfied with your selections, then click '''Write Changes to Disk'''.</li>
 +
<li>Record briefly in your lab logbook what activity occurs during this installation process.</li>
 +
<li>Select in the next screen the '''Graphical Desktop''' applications, and in the additional repositories section (at the bottom) accept the default settings, then proceed.</li>
 +
<li>Add in your lab logbook a brief description of the term "software repository" and what its major purpose serves (what you think it does). We will not add any existing repositories since we are not currently connected to the Internet. Therefore, we will customize the repositories later.</li>
 +
<li>'''Proceed with the installation. This may take some time'''. Record in your lab log-book the <u>general</u> steps in the installation process (displayed in the dialog box).</li>
 +
<li>When installation is complete, a screen will confirm completion, and ask the user to remove the DVD, and reboot the computer. Write in your lab log-book the time it took to perform this DVD Fedora install.</li>
 +
<li>Remove the Fedora Installation DVD, and click '''Reboot'''.</li>
 
</ol>
 
</ol>
  
{{Admon/caution | Important/warning! | The following operation will erase the contents of your hard disk. If you have any useful data stored on your disk, you must back it up first or use another hard disk that does not contain useful data on it. Do not plan on sharing the hard disk with the Windows course! You will be doing lots of tasks that may cause you to lose your data.}}
+
{{Admon/important|Boot-up Issues (Fedora16) in Seneca's Computer labs|Each time you boot from your removable hard drive:
<ol>
 
<li value="4"> Enter the command  <code>fdisk /dev/sda</code>  to start the hard disk partition program.</li>
 
<li>At the fdisk command prompt, enter the letter  '''p'''  to print out the current partition table of the hard disk. If there are any partitions, use the '''d''' option to delete all of them, starting with the highest partition number first.</li>
 
<li>At the fdisk command prompt, use the '''n''' and '''t''' commands to create these three partitions:</li>
 
</ol>
 
                  /dev/sda1 - 300MB (primary, Linux Native)
 
                  /dev/sda2 - the rest of the hard disk (extended)
 
                  /dev/sda5 - 300MB (logical, Linux Native)
 
<ol>
 
<li value="7">* Use the '''p''' option the display the new partition and record it in your log book.</li>
 
<li>Remember to use the '''w''' option to write the new partitions information instead of the '''q''' option to quit without saving.</li>
 
<li>Enter the command  <code>fdisk -l /dev/sda</code> again, and view the partition table to confirm that the partitions were properly created.</li>
 
<li>Exit the fdisk prompt.</li>
 
<li>Logout and restart Fedora.</li>
 
</ol>
 
  
Answer the Investigation 1 question in your lab log book.
+
:* '''Press the function key F10 and specify the hard disk device to boot'''<br />(eg. SATA drive).
 +
:* If the user is prompted for a password, '''simply press ENTER''' <br />(without typing any password) at the password prompt.
 +
}}
  
===Investigation 2: How do you install Fedora?===
+
<ol>
{{Admon/important | Logical Volume Management | Fedora uses a type of storage management called Logical Volume Management (LVM). In LVM, disk partitions are called Physical Volumes (PVs) and provide storage to a Volume Group (VG). This storage is then split into various Logical Volumes (LVs). The advantage to this scheme is that you can change LV size and you can add and remove PVs after installation. For example, you can add a new disk to your system and then increase the size of your existing filesystems using that extra disk space. ''Please be careful to enter all LVM information accurately, including the VG and LV names.'' We will investigate and manipulate LVM in future labs.}}
+
<li value="21">When the system starts, set or accept the time and date default.</li>
 +
<li>Create a user account for yourself using the same name as your learn account, and create a suitable password (do not forget password!).</li>
 +
<li>Normally, you would want to enable '''Network Time Protocol''', but since we will be experimenting with the networking turned off in later labs, '''leave it disabled'''.</li>
 +
<li> Click on '''Do Not Send Hardware Profile'''.</li>
 +
<li>Finish the post-installation customization, wait for the login screen to appear, and then login to your computer account and your created (i.e. your name).</li>
 +
<li>Proceed to Investigation 2</li>
 +
</ol>
  
{{Admon/note | Installation Time | The installation process will take about 15 minutes to complete when using DVD. Click the Reboot button on the screen to reboot the system after the installation is complete. There is a post installation setup after boot.}}
+
'''Answer the Investigation 1 observations / questions in your lab log book.'''
  
 +
==Investigation 2: How many file packages and files are installed on the system?==
  
# Insert the Fedora 16 x86_64 Installation DVD into the DVD drive.
+
'''For the rest of the tasks in this lab, you must login to your installed Fedora system using your Learn account, open a terminal and execute the following listed Linux commands to obtain information for your lab-logbook''' (lab1). If you get a Permission Denied message when trying to execute a command, then switch to the '''superuser''' account by running the command '''su -''' and type in your password for "root" (since you are the main administrator for your Fedora system). Once the intended command is executed, type "exit" to exit from the superuser account and return to your regular Learn account.
# Reboot the system.
 
# After booting from the Installation DVD, at the Welcome Screen choose "Install or upgrade an existing system" to launch the Graphical installation program and select the following options (you can use the media test to verify that your DVD burned correctly -- It will take some time -- otherwise, skip it):
 
#* Language - English
 
#* Keyboard Configuration - U.S. English
 
#* Type of devices: Basic Storage Devices
 
#* There should only be one storage drive listed - select it
 
#* If you get a warning that the drive may need to be initialized, it is because your drive is new and contains no partitition table. Select "Re-Initialize"
 
#* Set your hostname to - f16host (one word, no space, all lowercase)
 
#* Root Password: enter a password of your own choosing. Pick one that is really, really hard to guess to protect your system. (Recommendation: use the first letter and all the punctuation from a favorite phrase or song verse. For example, "To be or not to be, that is the question!" could become the password "Tbontb,titq!").
 
#* Disk Partition Setup - Specify a Custom Layout, and then set up the installation with this configuration:
 
#** Find your existing 300MB partition (/dev/sda1). Edit this entry so that the mountpoint is /boot and is formatted as an ext3 filesystem.
 
#** Don't touch the other existing 300M partition (/dev/sda5).
 
#** Create 4 new LVM Physical Volumes that are 25000 MB in size. Set the File System Type to Physical Volume (LVM). Should be /dev/sda6 to /dev/sda9.
 
#** Create an LVM Volume Group. Set the Volume Group Name to '''vg_main''' and set the Physical Extent size to '''4MB'''.
 
#** Click on the Add button (within the "Make LVM Volume Group" window) to create a logical volume within that volume group:
 
#*** Mount point / (root), filesystem type ext4, logical volume name '''root''', size 90000MB.
 
#* Say yes to continue without a swap partition.
 
#* Say yes to format /dev/sda1.
 
#* Accept Boot Loader defaults.
 
#* Accept Graphical Desktop and repository defaults.
 
# Proceed with the installation. '''Note how long it takes to perform the installation.'''
 
# Reboot using the controls on the screen. When the system starts, it will ask you some final configuration questions.
 
#* Check the License Agreement. What license is used for the Fedora distribution? What activities do have restrictions and obligations?
 
#* Create a user account for yourself using the same name as your learn account.
 
#* Set date and time. Normally, you would want to enable Network Time Protocol, but since we will be experimenting with the networking turned off in later labs, leave it disabled.
 
#* Click on Do Not Send Hardware Profile.
 
#* Finish the post-installation customization, wait for the login screen to appear, and then login to your Learn account.
 
  
Answer the Investigation 2 questions in your lab log book.
 
  
{{Admon/tip|Forcing the Resolution on the Projector|The podium computers in the lab rooms are connected to a video splitter. This splitter then connects to both the LCD screen on the podium and the projector at the front of the room. However, the splitter prevents the computer from successfully querying the LCD or screen to find the supported resolutions, and Fedora therefore selects a very low (safe) resolution. If you are using a podium system, you can force the native 1680x1050 resolution of the LCD display using [http://matrix.senecac.on.ca/~chris.tyler/fedora-scripts/1680x1050 this script].}}
+
{{Admon/important|Using Superuser Privilege|Throughout this course, you may need to execute commands using the privileges of the the administrative user (username "root", also called the "superuser"). To switch from your account to the root account, type the command: <code>su</code>
  
===Investigation 3: How many files packages and files are installed on the system?===
+
After switching user notice and make note of the change in your shell prompt. Also note the difference in output for the <code>whoami</code> and<code>pwd</code> commands.
  
For the rest of the tasks in this lab, you must login to your system using your Learn account and execute all commands under your learn account. If you get a Permission Denied message when trying to execute a command, then switch to the superuser account by running the command su -  and type in the password for "root". Once the intended command is executed, type "exit" to exit from the superuser account and return to your regular Learn account.
+
'''Whenever this is required, make a note of it, and determine why superuser privilege is required.'''
  
Record the commands used and the output generated in each of the following steps:
+
When you are finished using the root account type exit to return to your previous account. '''Avoid using the superuser account unless absolutely necessary, because the superuser account has unlimited privilege and a typo can destroy your system.'''
  
# To find all the mount points, enter the command<code>mount</code>
+
In some documentation, you may see the command <code>su -</code> used in place of <code>su</code>. The dash argument causes <code>su</code> to go through the steps that would normally be performed when the root user logs in, including (1) running the startup scripts (such as<code>/etc/profile</code> and <code>/root/.bash_profile</code> and (2) changing to the root user's home directory (<code>/root</code>).
#* Study the output and record all the mount points in your log book.
 
# The name of the installation log file is <code>/root/install.log</code> -- It is an ASCII file (how can you be sure?) and can be viewed with the <code>less</code> command.
 
# You can make use of this file to determine how many packages have been installed: complete the following command to count the number of packages listed in the installation log file:
 
#* <code>grep ________________ /root/install.log | wc -l</code>
 
# Using the <code>rpm</code> command: you can also use the following commands to list all the installed packages, and the total number of packages installed:
 
#* <code>rpm -q -a</code>
 
#* <code>rpm -q -a | wc -l</code>
 
#* <code>rpm -qa  | wc -l</code>
 
# The <code>-q</code> option means query, and the <code>-a</code> option means all (in other words, query all installed software packages). Did you get the same number of packages from the above two methods?
 
# Some of the files on your system were installed with the software packages, and some were created by system activity (for example, by creating your Learn account and by logging in). If you know the package name (from the <code>install.log</code>), you can list all the files that were installed from the package by using the following command:
 
#* <code>rpm -q -l package_name</code>
 
# This combines the <code>-q</code> (query) option with the <code>-l</code> (list filenames) option.
 
# You can pipe the outupt through <code>wc -l</code> to count the number of lines:
 
#* <code>rpm -ql package_name| wc -l</code>
 
# Using what you learned in steps 3, 4, and 8, get a count of the total number of files installed by all of the software packages on your system.
 
# To find out the name that you have assigned to your Linux system, enter the command:  <code>hostname</code>
 
# To find out the kernel version of your GNU/Linux workstation and the date it was created, enter the command:  <code>uname -r</code>
 
# To find out all the system processes running on your GNU/Linux workstation, enter the command: <code>ps -ef</code>
 
# To capture the list of all the system processes to a file called <code>ps.lst</code>, enter the command: <code>ps -ef > ps.lst''</code>
 
# Copy the installation log file <code>/root/install.log</code> and the file ps.lst to a USB memory key, or scp to your matrix account as a backup.
 
  
{{Admon/tip |Updating Fedora|The Fedora 16 software is updated frequently to add features, fix bugs, and upgrade security. Perform a system update to get the latest versions of the packages installed in Fedora: Start the Firefox web browser, turn off popup window blocking (select ''Edit>Preferences'', then select the Content tab and uncheck the box to Block Popups), then login to SeneNET. Open a terminal and type <code>su</code> to start a shell as root. Enter the command <code>yum update</code> This will download and install all of the packages that have been updated since the installation DVD image was created.  If you complete this command at Seneca it should run quite fast as Seneca College hosts a Fedora Repository mirror (a copy of all of the current fedora packages, on a local web server).}}
+
Note that the root user's home directory (<code>/root</code>) is ''not'' the same as the root directory of the system (<code>/</code>). It is also in a different directory than the rest of the home directories, which are typically in <code>/home</code> -- the reason for this is that <code>/home</code> is sometimes on a network filesystem shared by another server (as is the case on Matrix), and it's important that the system administrator be able to log in to the system even if the network is not operating normally.
 +
}}
  
=== Investigation 4: What is a runlevel? ===
 
  
After the kernel boots, it starts a single program, called <code>init</code>. A running instance of a program is called a '''process''' -- the init process always has a process ID (PID) of 1. All other processes on the system are started by init, or they are started by processes started by init.
+
Navigate through your Graphical Fedora system, '''locate and run a terminal program (in order to issue Linux commands). Issue and record the commands used and the output generated in each of the following steps:'''
  
Most current Linux systems use some variation of the init system originally developed for Unix System V (called "sysvinit") or a newer version called "upstart".
+
# The name of the installation log file is <code>/root/install.log</code> -- It is an ASCII file (how can you be sure?) which can be viewed with the <code>less</code> command.
 +
# You can make use of this file to determine how many packages have been installed: complete the following command to count the number of packages listed in the installation log file:
 +
:: <code>grep ________________ /root/install.log | wc -l</code>
 +
<ol>
 +
<li value="3">Using the <code>rpm</code> command: you can also use the following commands to list all the installed packages, and the total number of packages installed:</li>
 +
</ol>
 +
:: <code>rpm -q -a</code>
 +
:: <code>rpm -q -a | wc -l</code>
 +
:: <code>rpm -qa  | wc -l</code>
 +
<ol>
 +
<li value="4">The <code>-q</code> option means query, and the <code>-a</code> option means all (in other words, query all installed software packages). Did you get the same number of packages from the above two methods?</li>
 +
<li>Some of the files on your system were installed with the software packages, and some were created by system activity (for example, by creating your Learn account and by logging in). If you know the package name (from the <code>install.log</code>), you can list all the files that were installed from the package by using the following command:</li>
 +
</ol>
 +
:: <code>rpm -q -l package_name</code>
 +
<ol>
 +
<li value="6">This combines the <code>-q</code> (query) option with the <code>-l</code> (list filenames) option</li>
 +
<li>You can pipe the outupt through <code>wc -l</code> to count the number of lines:</li>
 +
</ol>
 +
:: <code>rpm -ql package_name| wc -l</code>
 +
<ol>
 +
<li value="8">Using what you learned in steps 3, 4, and 8, get a count of the total number of files installed by all of the software packages on your system.</li>
 +
<li>To find out the name that you have assigned to your Linux system, enter the command:  <code>hostname</code></li>
 +
<li>To find out the kernel version of your GNU/Linux workstation and the date it was created, enter the command:  <code>uname -r</code></li>
 +
<li>To find out all the system processes running on your GNU/Linux workstation, enter the command: <code>ps -ef</code></li>
 +
<li>To capture the list of all the system processes to a file called <code>ps.lst</code>, enter the command: <code>ps -ef > ps.lst''</code></li>
 +
<li>Copy the installation log file <code>/root/install.log</code> and the file ps.lst to a USB memory key, or scp to your matrix account as a backup.</li>
 +
<li>View the section below to learn about and perform an update on your fresh Fedora16 install (you may have to find spare time to perform this install if you are running short on lab time). '''Do <u>not</u> proceed to Investigation 3 without performing an update'''.</li>
 +
</ol>
  
These systems employ the concept of "runlevels" -- groups of software that can be selected, so that the system can be run in various modes. In Fedora systems, these runlevels are used:
+
{{Admon/tip |Updating Fedora|The Fedora 16 software is updated frequently to add features, fix bugs, and upgrade security. '''Perform a system update to get the latest versions of the packages installed in Fedora: Start the Firefox web browser, turn off popup window blocking (select ''Edit>Preferences'', then select the Content tab and uncheck the box to Block Popups), then login to SeneNET. Open a terminal and type <code>su</code> to start a shell as root. Enter the command <code>yum update</code>''' This will download and install all of the packages that have been updated since the installation DVD image was created.  If you complete this command at Seneca it should run quite fast as Seneca College hosts a Fedora Repository mirror (a copy of all of the current fedora packages, on a local web server).}}
  
{|class="mediawiki" border="1"
+
'''Answer the Investigation 2 observations / questions in your lab log book.'''
!Runlevel
 
!Description
 
|-
 
|0
 
|Halt (powers off the system)
 
|-
 
|1
 
|Single-user maintenance mode, network not running, character-mode display
 
|-
 
|2
 
|''Not normally used - originally meant: Multi-user mode, network not running, character-mode display''
 
|-
 
|3
 
|Multi-user mode, network running, character-mode display
 
|-
 
|4
 
|''Not normally used''
 
|-
 
|5
 
|Multi-user mode, network running, graphical user interface
 
|-
 
|6
 
|Reboot
 
|}
 
  
{{Admon/note|Different runlevel systems|Various Linux distributions may use the runlevel numbers differently. For example, on some Debian/Ubuntu systems, the default (standard) runlevel is 2.}}
+
== Investigation 3: What is the network configuration? ==
 
 
In order to implement runlevels, init uses a configuration file and a number of script files:
 
 
 
* <code>/etc/inittab</code> is the configuration file, which sets the default runlevel.
 
* <code>/etc/rc.d/init.d</code> is a directory of scripts.
 
 
 
In order to determine which of the startup scripts should be executed in each runlevel, the one directory per runlevel is created (<code>/etc/rc.d/rc'''X'''.d</code>, where '''X''' is the runlevel). This directory is filled with symbolic links to the startup scripts in <code>/etc/rc.d/init.d</code>
 
 
 
# To find out the value of the runlevel your GNU/Linux system goes into after boot, enter the command: <code>grep initdefault /etc/inittab</code>
 
# You should get a single line containing ":" as the field delimiter. The second field stores the value of the runlevel the init process will use after a reboot. Record the output in your log book.
 
# A list of processes that should be running at a given runlevel can be found in the directory <code>/etc/rc.d/rc'''X'''.d</code> where '''X''' is the runlevel. Do a directory listing of that directory and study what files are in there. Pay attention to the first three characters of each file name. They have special meaning to the system. Record your observation in your log book.
 
# Make a backup of the file /etc/inittab with the command:  <code>cp /etc/inittab /etc/inittab.original</code>
 
# Edit the file <code>/etc/inittab</code> and change the default runlevel to 3. Save the change and reboot your system.
 
# After the reboot, you should get a "Text Login Screen". Login with your Learn account and type startx at the command prompt. Describe what happens in your log book.
 
# Enter the command: <code>runlevel</code> -- this shows the previous and current runlevel. Record the values in your book.
 
 
 
 
 
Answer the Investigation 4 questions in your lab log book.
 
 
 
=== Investigation 5: What is the network configuration? ===
 
  
 
# To check the network configuration settings obtained from the DHCP server, run the following commands, describing the output in your log book:
 
# To check the network configuration settings obtained from the DHCP server, run the following commands, describing the output in your log book:
#* ifconfig
+
#* '''ifconfig'''
#* route
+
#* '''route'''
#* netstat -rn
+
#* '''netstat -rn'''
#* nslookup (at the > prompt, enter the word "server" (do not type the quotes) and record the output. Type exit to leave nslookup).
+
#* '''nslookup''' (at the > prompt, enter the word "server" (do not type the quotes) and record the output. Type exit to leave nslookup).<br /><br />
 
# Find the following information in the output of the above commands:
 
# Find the following information in the output of the above commands:
#* MAC address (physical or hardware address) of the ethernet network interface
+
#* '''MAC address''' (physical or hardware address) of the ethernet network interface
#* The IP address (logical address) assigned by the DHCP server
+
#* '''The IP address''' (logical address) assigned by the DHCP server
#* The default route (gateway)
+
#* '''The default route''' (gateway)
#* The DNS nameserver
+
#* '''The DNS nameserver'''
  
Answer the Investigation 5 questions in your lab log book.
+
'''Answer the Investigation 3 observations / questions in your lab log book.'''
  
=== Investigation 6: How do You Secure the Grub Boot Loader? ===
 
  
{{Admon/caution|Duplicate UUIDs|Before proceeding, use the <code>mount</code> command to check to see which filesystem is mounted on the mount point <code>/boot</code>. If it is <code>/dev/sda5</code>, it is the wrong filesystem. This may be caused by a duplication of serial numbers which is the result of Lab 1; you can fix this problem with this series of commands:
 
mkdir /media/sda5 /tmp/sda5-files
 
umount /dev/sda5
 
mount /dev/sda5 /media/sda5
 
cp -v -R /media/sda5/* /tmp/sda5-files
 
umount /dev/sda5
 
mkfs -t ext3 /dev/sda5
 
mount /dev/sda5 /media/sda5
 
cp -v -R /tmp/sda5-files/* /media/sda5
 
rm -rf /tmp/sda5-files
 
mount -a
 
}}
 
  
By default, the Grub boot loader allows anyone with access to the computer at boot time to set the runlevel, or change the boot parameters, which can allow them to influence the init process and which kernel image is loaded. Anyone with access to the boot prompt can therefore bypass security controls and control which software is loaded. For example, rebooting to runlevel 1, known as single user mode, gives the user root priveleges without the need for a password! Obviously, giving a non-administrator this much control can be dangerous, and it is wise to protect the boot loader with a secure password.
+
= Completing the Lab =
  
We will need to choose a password, encrypt with the grub programs hash utility (called md5crypt), and add the encrypted hash of your password to the grub configuration file, /etc/grub.conf
+
'''Check off the following items before asking your instructor to check your lab:'''
  
{{Admon/important|Do not lose the GRUB password|If you lose the GRUB password you will not be able to change boot parameters when you boot the system. If you need to write it down, put it in a safe place, where no one will be able to tell what it is for.}}
+
* '''Task 1''' - Install GNU/Linux Workstation using Fedora
 +
* '''Task 2''' - Collect system information after installation.
 +
* '''Task 3''' - Fedora Updated
 +
* '''Task 4''' - Collect network information
  
# Choose a suitable password.
+
'''Arrange evidence for each of these items on your screen, then ask your instructor to review them and sign off on the lab's completion:'''
# Open the grub program by typing the command: <code>grub</code>
 
# At the grub prompt, type in the command: <code>md5crypt</code>
 
# When prompted for a password, carefully type in your password. The program will display the encrypted hash of your password. Carefully write down that encrypted hash generated by the program.
 
# Type the command: <code>quit</code> to exit the grub program.
 
# Open the grub configuration file, <code>/etc/grub.conf</code> for editing. (This file is actually linked to /boot/grub/grub.conf).
 
# Carefully add the line: <code>password --md5 ''password-hash''</code> (note: ''password-hash'' is the hash you generated with md5crypt) Place this line between the splashimage line and the title line. If there are other lines there, there is no need to remove them. Just insert your password line as a new line.
 
# Make sure you have not made a mistake. What you type in must match exactly the output from the md5crypt command.
 
# While you are editing the file you should also increase the timeout for grub to automatically boot the default OS. Edit the line <code>timeout=0</code> to <code>timeout=5</code> to give us more time to interrupt the process.
 
# You should also ensure that the grub boot menu is not hidden. Add a hash sign (<code>#</code>) to the start of the line which reads: <code>hiddenmenu</code>
 
# Save the file and exit. Your Grub boot loader is now password protected.
 
# Find the section of [http://fedorasolved.org/post-install-solutions/runlevel this article] that explains how to change the runlevel at boot time, and read it. Reboot your system, trying to change to runlevel 1 from the boot prompt, and see if the password protection worked.
 
# From now on, when you want to change boot parameters when you boot, you must type lowercase <code>p</code> at the boot prompt and enter the required password.
 
  
== Completing the Lab ==
 
 
Check off the following items before asking your instructor to check your lab:
 
 
* Task 1 - Created correct partitions in /dev/sda
 
* Task 2 - Install GNU/Linux Workstation using Fedora
 
* Task 3 - Collect system information after installation.
 
* Task 4 - Customize and configure boot time environment
 
* Task 5 - Collect network information
 
* Task 6 - Password protect Grub Bootloader
 
 
Arrange evidence for each of these items on your screen, then ask your instructor to review them and sign off on the lab's completion:
 
 
* Issue command '''fdisk /dev/sda''', and use '''p''' command to display partitions
 
* Grub is password protected.
 
 
* Can login with your "learn" account name
 
* Can login with your "learn" account name
* Has all the mount points
 
 
* Has the package count
 
* Has the package count
* Has edited the default runlevel
 
 
* Has the correct IP address and MAC address
 
* Has the correct IP address and MAC address
 
* Find out the default route (gateway)
 
* Find out the default route (gateway)
 
* IP of the DNS name server
 
* IP of the DNS name server
* '''Name and contact information on your disk pack'''
+
* Name and contact information on your disk pack
 +
 
  
{{Admon/tip|Runlevel|Feel free to change your default runlevel to 3 or 5 according to your own personal preference. Note that later labs may assume a particular runlevel.}}
 
  
== Preparing for the Quizzes ==
+
= Preparing for the Quizzes =
  
 
# How many packages were installed?
 
# How many packages were installed?
 
# How many files (correct to the nearest hundred) were installed?
 
# How many files (correct to the nearest hundred) were installed?
# How many mount points were used?
 
 
# How many users were created automatically on your system (do not count your learn account)?
 
# How many users were created automatically on your system (do not count your learn account)?
 
# What is your learn account's UID and GID?
 
# What is your learn account's UID and GID?
Line 328: Line 211:
 
# How do you determine the host name of your GNU/Linux workstation?
 
# How do you determine the host name of your GNU/Linux workstation?
 
# What command can display the NIC's MAC address?
 
# What command can display the NIC's MAC address?
# Which file contains the default "runlevel" value for your GNU/Linux workstation?
 
  
 
{{Admon/important|Unbind your MAC address|Before moving your disk pack to another system, [[Unbinding MAC Addresses on Fedora|unbind your MAC address]].}}
 
{{Admon/important|Unbind your MAC address|Before moving your disk pack to another system, [[Unbinding MAC Addresses on Fedora|unbind your MAC address]].}}

Latest revision as of 19:29, 11 January 2012

Important.png
This is a draft only!
It is still under construction and content may change. Do not rely on this information.

OPS235 Lab 1 GNU/Linux Installation - Fedora 16

Introduction

  • In this lab, you are going to install the Fedora (GNU/Linux Distribution) to your removable hard disk from your burned DVD.
  • Although this will be a simple install, this Fedora Operating System will be a platform for other Virtual Machine Fedora installations (in future labs). Therefore, it is very important that you take the time to carefully read and perform ALL steps, and take time to check your work.
  • After performing the Fedora16 DVD installation, you will collect baseline information about your Fedora GNU/Linux system, and perform some post installation configuration to prepare your system for the remainder of the labs.

Objectives

  1. Perform a GNU/Linux installation using the Fedora 16 distribution
  2. Investigate information during and after the Fedora 16 installation
  3. Perform an upgrade after a recent installation


Required Materials (Bring to All Labs)

  • Fedora 16 LIVE CD - You can burn this onto a CD-R in the Open Lab
  • Fedora 16 x_64 Installation DVD - You can burn this onto a DVD-R in the Open Lab (or burn image onto a DVD+R if you are using the Freedom Toaster).
  • SATA Hard Disk (in removable disk tray)
  • USB Memory Stick (minimum 64M)
  • Lab Logbook (Lab1 Reference Sheet) (to make notes and observations).

Prerequisites

  • None (First Lab)

Linux Command Online Reference

Each Link below displays online manpages for each command (via http://linuxmanpages.com):

Resources on the web

Additional links to tutorials and HOWTOs:

Performing Lab 1

Investigation 1: How to Perform a Fedora DVD Install on Your Removable Hard Drive

  1. Insert your removable SATA hard disk into the drive tray.
  2. Set your computer's drive selector switch to external (a.k.a position #4).
  3. Power up the computer and insert the Fedora 16 Installation DVD into the CD/DVD drive.
  4. Wait until the Fedora DVD boots (could take a few moments).
Important.png
Boot-up Issues (Fedora16) in Seneca's Computer labs
If for some reason, the Fedora16 Installation DVD does not boot:
  • Restart the computer, and press the function key F10 to specify the device to boot (eg. DVD drive).
  • If the user is prompted for a password, simply press ENTER (without typing any password) at the password prompt.
  • You will need to perform this technique to ensure that Fedora boots from the hard drive (in future labs).
  • If you have tried this technique, and the Fedora Installation DVD does not boot, you may have to burn a new Fedora Installation DVD.
  1. Note the time at the beginning of your installation.
  2. When the Fedora16 Installation DVD boots, it will prompt the user to test the media (i.e. DVD) for integrity. Since time is limited for installation in the lab, select SKIP. On the other hand, if the install did not work, then you can test out the integrity of the DVD in the computer lab during your spare time.
  3. Select the default language (English) in the next install screen, and click Next.
  4. Select the default keyboard layout and Basic Storage Devices in the following installation screens.
  5. Set your hostname (name of the computer) to f16host (one word, no space, all lowercase).
    Record in your lab logbook why you think it is important to set your hostname to this exact name instead of using another name...
  6. Set your time zone to Toronto.
  7. <li>Root Password: enter a password of your own choosing. Pick one that is really, really hard to guess to protect your system. (Recommendation: use the first letter and all the punctuation from a favorite phrase or song verse. For example, "To be or not to be, that is the question!" could become the password "Tbontb,titq!").
  8. Select Use All Space, to have the entire disk for the current Fedora16 OS.
Important.png
Previous Contents of Hard Drive will be Erased
If you are using an existing removable Hard Disk from a previous course, you must allow the Installation DVD to "wipe" all previous contents prior to proceeding with this lab (no exceptions). Failure to erase existing contents can cause problems in subsequent labs such as running out of hard disk space...
Important.png
Using Entire Hard Disk
You may be "hesitant" to want to use the entire disk for just one operating system, but we will be using software that will allow us to run virtual machines for other Fedora installs (while your host system called f16host is also running).


  1. When prompted, make certain to select Fresh Install in order to erase any previous contents of the hard disk.
  2. You will be prompted to confirm the options that you have chosen prior to performing the DVD install. If you are not certain, you can "Go Back". As soon as you are satisfied with your selections, then click Write Changes to Disk.
  3. Record briefly in your lab logbook what activity occurs during this installation process.
  4. Select in the next screen the Graphical Desktop applications, and in the additional repositories section (at the bottom) accept the default settings, then proceed.
  5. Add in your lab logbook a brief description of the term "software repository" and what its major purpose serves (what you think it does). We will not add any existing repositories since we are not currently connected to the Internet. Therefore, we will customize the repositories later.
  6. Proceed with the installation. This may take some time. Record in your lab log-book the general steps in the installation process (displayed in the dialog box).
  7. When installation is complete, a screen will confirm completion, and ask the user to remove the DVD, and reboot the computer. Write in your lab log-book the time it took to perform this DVD Fedora install.
  8. Remove the Fedora Installation DVD, and click Reboot.
Important.png
Boot-up Issues (Fedora16) in Seneca's Computer labs
Each time you boot from your removable hard drive:
  • Press the function key F10 and specify the hard disk device to boot
    (eg. SATA drive).
  • If the user is prompted for a password, simply press ENTER
    (without typing any password) at the password prompt.
  1. When the system starts, set or accept the time and date default.
  2. Create a user account for yourself using the same name as your learn account, and create a suitable password (do not forget password!).
  3. Normally, you would want to enable Network Time Protocol, but since we will be experimenting with the networking turned off in later labs, leave it disabled.
  4. Click on Do Not Send Hardware Profile.
  5. Finish the post-installation customization, wait for the login screen to appear, and then login to your computer account and your created (i.e. your name).
  6. Proceed to Investigation 2

Answer the Investigation 1 observations / questions in your lab log book.

Investigation 2: How many file packages and files are installed on the system?

For the rest of the tasks in this lab, you must login to your installed Fedora system using your Learn account, open a terminal and execute the following listed Linux commands to obtain information for your lab-logbook (lab1). If you get a Permission Denied message when trying to execute a command, then switch to the superuser account by running the command su - and type in your password for "root" (since you are the main administrator for your Fedora system). Once the intended command is executed, type "exit" to exit from the superuser account and return to your regular Learn account.


Important.png
Using Superuser Privilege
Throughout this course, you may need to execute commands using the privileges of the the administrative user (username "root", also called the "superuser"). To switch from your account to the root account, type the command: su

After switching user notice and make note of the change in your shell prompt. Also note the difference in output for the whoami andpwd commands.

Whenever this is required, make a note of it, and determine why superuser privilege is required.

When you are finished using the root account type exit to return to your previous account. Avoid using the superuser account unless absolutely necessary, because the superuser account has unlimited privilege and a typo can destroy your system.

In some documentation, you may see the command su - used in place of su. The dash argument causes su to go through the steps that would normally be performed when the root user logs in, including (1) running the startup scripts (such as/etc/profile and /root/.bash_profile and (2) changing to the root user's home directory (/root).

Note that the root user's home directory (/root) is not the same as the root directory of the system (/). It is also in a different directory than the rest of the home directories, which are typically in /home -- the reason for this is that /home is sometimes on a network filesystem shared by another server (as is the case on Matrix), and it's important that the system administrator be able to log in to the system even if the network is not operating normally.


Navigate through your Graphical Fedora system, locate and run a terminal program (in order to issue Linux commands). Issue and record the commands used and the output generated in each of the following steps:

  1. The name of the installation log file is /root/install.log -- It is an ASCII file (how can you be sure?) which can be viewed with the less command.
  2. You can make use of this file to determine how many packages have been installed: complete the following command to count the number of packages listed in the installation log file:
grep ________________ /root/install.log | wc -l
  1. Using the rpm command: you can also use the following commands to list all the installed packages, and the total number of packages installed:
rpm -q -a
rpm -q -a | wc -l
rpm -qa | wc -l
  1. The -q option means query, and the -a option means all (in other words, query all installed software packages). Did you get the same number of packages from the above two methods?
  2. Some of the files on your system were installed with the software packages, and some were created by system activity (for example, by creating your Learn account and by logging in). If you know the package name (from the install.log), you can list all the files that were installed from the package by using the following command:
rpm -q -l package_name
  1. This combines the -q (query) option with the -l (list filenames) option
  2. You can pipe the outupt through wc -l to count the number of lines:
rpm -ql package_name| wc -l
  1. Using what you learned in steps 3, 4, and 8, get a count of the total number of files installed by all of the software packages on your system.
  2. To find out the name that you have assigned to your Linux system, enter the command: hostname
  3. To find out the kernel version of your GNU/Linux workstation and the date it was created, enter the command: uname -r
  4. To find out all the system processes running on your GNU/Linux workstation, enter the command: ps -ef
  5. To capture the list of all the system processes to a file called ps.lst, enter the command: ps -ef > ps.lst
  6. Copy the installation log file /root/install.log and the file ps.lst to a USB memory key, or scp to your matrix account as a backup.
  7. View the section below to learn about and perform an update on your fresh Fedora16 install (you may have to find spare time to perform this install if you are running short on lab time). Do not proceed to Investigation 3 without performing an update.
Idea.png
Updating Fedora
The Fedora 16 software is updated frequently to add features, fix bugs, and upgrade security. Perform a system update to get the latest versions of the packages installed in Fedora: Start the Firefox web browser, turn off popup window blocking (select Edit>Preferences, then select the Content tab and uncheck the box to Block Popups), then login to SeneNET. Open a terminal and type su to start a shell as root. Enter the command yum update This will download and install all of the packages that have been updated since the installation DVD image was created. If you complete this command at Seneca it should run quite fast as Seneca College hosts a Fedora Repository mirror (a copy of all of the current fedora packages, on a local web server).

Answer the Investigation 2 observations / questions in your lab log book.

Investigation 3: What is the network configuration?

  1. To check the network configuration settings obtained from the DHCP server, run the following commands, describing the output in your log book:
    • ifconfig
    • route
    • netstat -rn
    • nslookup (at the > prompt, enter the word "server" (do not type the quotes) and record the output. Type exit to leave nslookup).

  2. Find the following information in the output of the above commands:
    • MAC address (physical or hardware address) of the ethernet network interface
    • The IP address (logical address) assigned by the DHCP server
    • The default route (gateway)
    • The DNS nameserver

Answer the Investigation 3 observations / questions in your lab log book.


Completing the Lab

Check off the following items before asking your instructor to check your lab:

  • Task 1 - Install GNU/Linux Workstation using Fedora
  • Task 2 - Collect system information after installation.
  • Task 3 - Fedora Updated
  • Task 4 - Collect network information

Arrange evidence for each of these items on your screen, then ask your instructor to review them and sign off on the lab's completion:

  • Can login with your "learn" account name
  • Has the package count
  • Has the correct IP address and MAC address
  • Find out the default route (gateway)
  • IP of the DNS name server
  • Name and contact information on your disk pack


Preparing for the Quizzes

  1. How many packages were installed?
  2. How many files (correct to the nearest hundred) were installed?
  3. How many users were created automatically on your system (do not count your learn account)?
  4. What is your learn account's UID and GID?
  5. What is your learn account's home directory?
  6. What is the home directory for the user "root"?
  7. How do you determine the host name of your GNU/Linux workstation?
  8. What command can display the NIC's MAC address?
Important.png
Unbind your MAC address
Before moving your disk pack to another system, unbind your MAC address.