Difference between revisions of "OPS235 Lab 1 - Fedora17"

From CDOT Wiki
Jump to: navigation, search
(Investigation 3: How do you create an ext3 filesystem on a USB flash drive with a volume label?)
Line 1: Line 1:
= Using Linux to Access Block Devices and Filesystems =
+
[[Category:OPS235]]{{Draft}}
 
[[Category:OPS235]][[Category:OPS235 Labs]]
 
[[Category:OPS235]][[Category:OPS235 Labs]]
== Objectives ==
+
=OPS235 Lab 1 GNU/Linux Installation - Fedora 16=
* Format, mount, use, and unmount ext3, ext4, and vfat filesystems on USB flash drives.
 
* Create filesystems on various storage devices
 
* Create hard disk partitions
 
* Backup filesystems and images
 
* Mount a filesystem stored within a a regular file
 
  
== Reference ==
 
* [http://linuxmanpages.com/ man pages] for cp, mount, umount, fdisk, mkdir, file, mkfs, dumpe2fs, grep, dd
 
* Online reading material for weeks 1 and 2.
 
  
== Required materials ==
+
==Introduction==
* Fedora 13 Live CD
 
* USB flash drive, 64 MB or more in size ('''Warning: the contents of this drive will be erased!''')
 
* One SATA hard disk in a removable drive tray (minimum 160GB)
 
  
== Instructions ==
+
:* In this lab, you are going to install the Fedora (GNU/Linux Distribution) to your removable hard disk from your burned DVD.
# Set your computer's drive selector switch to external, 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>
+
:* 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 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.
+
:* 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.
  
'''Whenever this is required, make a note of it, and determine why superuser privilege is required.'''
+
==Objectives==
  
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.'''
+
#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
  
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>).
 
  
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.
+
==Required Materials (Bring to All Labs)==
}}
 
  
{{Admon/important|Disabling the Auto-mounting of Devices|Normally, when a storage device such as a USB drive is inserted, the system will automatically detect the storage device and use it. However, for this lab, we need to disable the ability for our Fedora system to automatically detect storage devices; this would interfere with the learning objectives of the rest of the lab. To do disable auto-detection of devices, this enter the command: <code>killall udevd</code>. '''You will need to do this again if you reboot during this lab.'''}}
+
* '''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).
  
=== Investigation 1: How does Linux enable you to access two different drives without using a drive designator? ===
+
==Prerequisites==
  
{{Admon/tip|NTFS Flash Drives|Most flash drives are formatted using the FAT (or "VFAT" or "FAT32") filesystem for compatibility with a wide range of computer systems. However, some drives may be formatted with another filesystem type such as NTFS (primarily used on Windows systems). If, in the following steps, your drive does not mount with the type "vfat", try again with type "ntfs".}}
+
* '''None''' (First Lab)
  
{{Admon/caution | Important/warning! | The following operation will erase the contents of your usb flash drive. If you have any useful data stored on your disk, you must back it up first or use another usb flash drive that does not contain useful data on it. Do not plan on sharing the usb flash drive with the Windows course! You will be doing lots of tasks that may cause you to lose your data.}}
+
==Linux Command Online Reference==
 +
Each Link below displays online manpages for each command (via [http://linuxmanpages.com/ http://linuxmanpages.com]):
 +
:* [http://linuxmanpages.com/man8/rpm.8.php rpm]
 +
:* [http://linuxmanpages.com/man1/hostname.1.php hostname]
 +
:* [http://linuxmanpages.com/man1/uname.1.php uname]
 +
:* [http://linuxmanpages.com/man1/ps.1.php ps]
 +
:* [http://linuxmanpages.com/man8/ifconfig.8.php ifconfig]
 +
:* [http://linuxmanpages.com/man8/netstat.8.php netstat]
 +
:* [http://linuxmanpages.com/man8/route.8.php route]
 +
:* [http://linuxmanpages.com/man1/nslookup.1.php nslookup]
 +
:* [http://linuxmanpages.com/man1/wc.1.php wc]
  
# Type the command mount. Describe the output of the command in your lab log. What do the fields of data represent? Use the man page for the mount command and google searches to find this information
+
==Resources on the web==
# Insert your USB flash drive into a USB port on the computer.
+
Additional links to tutorials and HOWTOs:
# Because we have turned off the automatic mounting feature nothing will happen. In order to access the file system on this storage device we must mount it on to our existing file/directory structure.
+
:* [http://fedora.redhat.com/docs/release-notes/ Fedora Release Notes]
# To mount a device we must first create a mount point to mount it on. Create a new directory called <code>/media/usb</code> (These steps should be done as "root")
+
:* [http://docs.fedoraproject.org/en-US/Fedora/16/html/Installation_Guide/ Fedora 16 Installation Guide]
# Next we need to use the mount command to mount the device. Try typing the following command: <code>mount -t vfat /dev/sdb1 /media/usb</code>. This command contains 3 important pieces of information (command arguments):
 
#* <code>-t vfat</code> tells the mount command to mount it as a FAT filesystem. (Most likely choice for a USB flash drive)
 
#* <code>/dev/sdb1</code> tells the mount command which device to mount. (If this didn't work try <code>/dev/sdc1</code> or <code>/dev/sda1</code>)
 
#* <code>/media/usb</code> tells the mount command where to mount the device (the "mount point")
 
# Type the command mount and compare the output with the output from step 1. Record what has changed.
 
# What file system type is the USB device mounted as? Where was it mounted? What is the device name?
 
# Create a file in the directory /media/usb/ by redirecing the output of the cal command: cal >/media/usb/month
 
# Display a detailed listing of the directory where the device is mounted and record the output: ls -l /media/usb
 
# Type the command umount /media/usb -- What happened to the contents of the /media/usb directory? Compare results with step 9.
 
# Type the command mount and observe the output. What is different from step 6? Why?
 
# Make a new mount point called /media/usb2 Mount your usb flash drive on the new mount point.
 
# Display a detailed listing of the new mount point again. Is your file there?
 
  
Answer the Investigation 1 question: How does Linux enable you to access two different drives without using a drive designator? (Write the answer in your lab log book).
+
=Performing Lab 1=
  
=== Investigation 2: How do you create a vfat or ext3 filesystem? ===
+
==Investigation 1: How to Perform a Fedora DVD Install on Your Removable Hard Drive ==
  
{{Admon/tip|Flash drives with no partition table | If your device name ends in a letter (for example, it is <code>/dev/sdb</code> instead of <code>/dev/sdb1</code>), add <code>-I</code> to the <code>mkfs</code> commands in this section. This is because your USB flash drive does not have a partition table, which normally causes an error; the <code>-I</code> option tells mkfs to proceed anyways.}}
+
# 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).
  
# Unmount your USB flash drive.
+
{{Admon/important|Boot-up Issues (Fedora16) in Seneca's Computer labs|If for some reason, the Fedora16 Installation DVD does not boot:
# Enter the command to format your USB drive's filesystem: <code>mkfs -t ext3 /dev/sdb1</code>
 
#* What is the purpose of this command? Use the man page for mkfs to research what you did with this command.
 
#* Did we execute the command on the device name or the mount point?
 
# Attempt to mount the USB flash drive using the command you used in Investigation 1. What was the result?
 
# Check the man page for the mount command to see how to change your command to mount the device correctly, and issue that command.
 
# Once the device is mounted do a long directory listing of the mount point. What has changed?
 
# Do an internet search to find out what the <code>lost+found</code> directory is for. Record your findings in your notes.
 
# Create a new file on the device using the same technique used in Investigation 1.
 
# Unmount the device and remount it on the original mount point. Is the new file there?
 
# Type the command mount and observe the type value for the USB flash drive filesystem. Compare this value to the type found in Investigation 1.
 
# Change your current working directory to where the device is mounted.
 
# Attempt to unmount the USB flash drive. What was the result? Why? Record your findings in your notes.
 
# Solve the error and unmount the device.
 
# Consult the man pages for <code>mkfs</code> and <code>mkfs.ext3</code> to see how to format the device again (using <code>mkfs</code>) as a ext3 file system with a volume label that is the same as your learn ID.
 
# Enter the command to reformat the device.
 
# The <code>dumpe2fs /dev/sdb1</code> command will allow us to see detailed information about ext3 filesystems. Use it to confirm your volume label is correct and record the size of your journal.
 
# Mount the device again as an ext3 filesystem.
 
# While the device is still mounted reformat the device as a vfat filesystem. What error message did you receive? Why? Record your conclusions in your notes.
 
# Unmount the device and format it as vfat.
 
# Now you will investigate what happens when you copy files to the device name rather than the mount point. Issue the command cp /etc/hosts /dev/sdb1
 
# Now mount your device. Was it successful? Try mounting it as ext3. Was it successful? What has happened to the filesystem on the device?
 
# Reformat it as vfat and mount it.
 
# Unmount the device.
 
  
===Investigation 3: How do you create an ext3 filesystem on a USB flash drive with a volume label?===
+
:* 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.|
 +
}}
  
{{Admon/tip|Tip: manpage| Check the manpage for <code>dumpe2fs</code> using the command: <code>man dumpe2fs</code>.}}
+
<ol>
# Shutdown your computer. (Under the "System" menu)
+
<li value="5">Note the time at the beginning of your installation.</li>
# Insert your removable SATA hard disk, remove your USB flash drive and restart the computer. (Leave your "Live CD" in the computer)
+
<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>
# When the computer has restarted and you have logged in. Insert your USB flash drive into the USB port.
+
<li>Select the default language ('''English''') in the next install screen, and click '''Next'''.</li>
# Open a terminal window and run the <code>mount</code> command.
+
<li>Select the default '''keyboard layout''' and '''Basic Storage Devices''' in the following installation screens.</li>
# It is quite possible that the device name for your USB flash drive has changed from what you were using previously. Your hardware configuration is different because now you have a hard drive connected. One way to determine what your USB device name is now is to look at the system log. Use the tail command to view the last 20 lines of the file <code>/var/log/messages</code> There should be kernel entries that were generated when you inserted the device.
+
<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>
# Create a Linux ext3 filesystem on the USB device, giving it a volume label of "Lab1", and record the following in in your logbook:
+
<li>Set your time zone to '''Toronto'''.</li>
#* What is the block size for the new format?
+
<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>
#* How many blocks were created?
+
  <li>Select '''Use All Space''', to have the entire disk for the current Fedora16 OS.</li>
#* How often will the new filesystem be automatically checked?
+
</ol>
#* What volume label was given to the filesystem?
+
{{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...|
# According to the man page what is the purpose of dumpe2fs?
+
}}
# If you executed dumpe2fs on an MS-DOS filesystem what do you think would be the result?
 
# Mount the USB device onto the mount point /media/lab1
 
# Copy the files <code>/etc/services</code> and <code>/etc/networks</code> to the USB flash drive.
 
  
===Investigation 4 - How do you create hard disk partitions?===
+
{{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).|
 +
}}
  
* 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
+
<ol>
    255 heads, 63 sectors/track, 1467 cylinders
+
<li value="13">When prompted, make certain to select '''Fresh Install''' in order to erase any previous contents of the hard disk.</li>
    Units = cylinders of 16065 * 512 = 8225280 bytes
+
<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>
    Device Boot Start End Blocks Id System
+
<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>
* 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>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>
* Review the man page for the fdisk command.
+
<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>
  
{{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:
# Enter the command  fdisk /dev/sda  to start the hard disk partition program.
 
# 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.
 
# At the fdisk command prompt, use the '''n''' and '''t''' commands to create these three partitions:
 
                  /dev/sda1 - 300MB (primary, Linux Native)
 
                  /dev/sda2 - the rest of the hard disk (extended)
 
                  /dev/sda5 - 300MB (logical, Linux Native)
 
* Use the '''p''' option the display the new partition and record it in your log book.
 
* Remember to use the '''w''' option to write the new partitions information instead of the '''q''' option to quit without saving.
 
* Logout and restart Fedora.
 
  
Answer the Investigation 4 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 5 - How do you create and access a Linux filesystem on a hard disk partition?===
+
<ol>
 +
<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>
  
# After rebooting Fedora, open up a Terminal Window and enter the command  <code>fdisk -l /dev/sda</code> to display the hard disk partition table. Verify that you have partitioned your hard disk correctly.
+
'''Answer the Investigation 1 observations / questions in your lab log book.'''
# Create a Linux 3rd extended filesystem (ext3) on the 300MB primary partition /dev/sda1
 
# Create the empty directory <code>/mnt/harddisk</code> to serve as a mount point for the partition.
 
# Use the command  <code>mount -t ext3 /dev/sda1 /mnt/harddisk</code> to attach the file system you just created to the Fedora Live Linux file system tree.
 
# Copy the files <code>/etc/passwd</code> and <code>/var/log/messages</code> to the mounted partition. Can you do this with a single command?
 
# Unmount the partition.
 
  
Answer the Investigation 5 question in your lab log book.
+
==Investigation 2: How many file packages and files are installed on the system?==
  
===Investigation 6 - How can you save an image of a filesytem?===
+
'''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.
  
# Your <code>/dev/sda1</code> partition is formatted with an ext3 filesystem and contains 2 files. You can now create an "image" of that device and duplicate it.
 
# First create an image of the device using the following command:
 
#*<code>dd if=/dev/sda1 of=sda1.img</code>
 
# The image file you created is a byte by byte duplicate of the original device and all of its contents. You can even mount it as a if it was a  real partition.
 
# Make a mount point called <code>/media/sda1-image</code> and mount the image file using the following command:
 
#* <code>mount -o loop -t ext3 sda1.img /media/sda1-image</code>
 
#* (The <code>-o loop</code> option is used to mount regular files as if they were real block storage devices.)
 
# List the contents of the mount point. Are your files there?
 
# Copy the file <code>/var/log/boot.log</code> to the mount point.
 
# Unmount the image.
 
  
Answer the Investigation 6 question in your lab logbook.
+
{{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 7 - How to restore/duplicate image of a filesystem?===
+
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.
  
# <code>/dev/sda5</code> was a partition created exactly the same size as <code>/dev/sda1</code>. We should be able to restore the <code>/dev/sda1</code> image file to it without any loss of data.
+
'''Whenever this is required, make a note of it, and determine why superuser privilege is required.'''
# Remember that <code>/dev/sda5</code> was unformatted. Restore the image file by using the <code>dd</code> command:
 
#* <code>dd if=sda1.img of=/dev/sda5</code>
 
# Now attempt to mount <code>/dev/sda5</code> onto the mount point <code>/media/harddisk</code>
 
# Were you successful?
 
# Does the partition contain a filesystem?
 
# List the contents of <code>/media/harddisk</code> are all 3 files there?
 
  
{{Admon/important|Duplicate Filesystem Serial Numbers|Since you have copied the filesystem on /dev/sda1 to /dev/sda5, the filesystem serial number (UUID) will be the same on both. Use this command to clear the filesystem /dev/sda1 so that it does not cause problems in the next lab: <code>mkfs -t ext3 /dev/sda1</code>}}
+
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.'''
  
Answer the Investigation 7 question in your lab logbook.
+
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>).
  
===Investigation 8 - Accessing a compressed file system image===
+
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.
 
+
}}
# Download [https://cs.senecac.on.ca/%7Efac/ops235/lab1-image.bin lab1-image.bin] and copy that file to your mounted hard disk partition (you may need to enter your Learn ID and password). The default download location is <code>~/Downloads</code>
 
# To determine the file type of the file <code>lab1-image.bin</code>, enter the command:
 
#* <code>file lab1-image.bin</code>
 
# Record the output. What was the original name of the uncompressed file?
 
# The <code>file</code> command in the previous step should also report that <code>lab1-image.bin</code> is a gzip compressed data file.
 
# Use the <code>gunzip</code> command to uncompress the file.
 
# You will probably receive an error message when you run the <code>gunzip</code> command. You may need to rename the file before you can uncompress it successfully. See the man pages for additional information if required.
 
# After you have uncompressed the file rename it to the original name reported in step 3.
 
# To determine the file type of the file <code>lab1-image.img</code>, enter the command:
 
#* <code>file lab1-image.img</code>
 
# Record the output. What type of data does the file contain?
 
# Mount the file system image. The command should be similar to what you used in investigation 6.
 
# Copy the contents of the file system image to your desktop.
 
# To display the specific information about the ext3 file system contained in the file <code>lab1-image.img</code>, enter the command:
 
#* <code>dumpe2fs lab1-image.img</code>
 
# From the output, find out the volume name and the block count of the ext3 file system.
 
 
 
Conclusion: Not only can we put a Linux file system on a removeable storage device, or a hard disk partition, we can also create a Linux file system on a regular disk file.
 
  
Answer the Investigation 8 question in your lab logbook.
 
  
===Investigation 9 - How do you create a file system in a regular file?===
+
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:'''
  
# Create an empty file that is exactly 3 MB in size using the following command:
+
# 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.
#* <code>dd if=/dev/zero of=/tmp/fstest bs=1k count=3072</code>
+
# 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:
# How does this command ensure that the file is 3 MB in size?
+
:: <code>grep ________________ /root/install.log | wc -l</code>
# What is in the file at first?
+
<ol>
# Create an ext3 filesystem within the newly-created file <code>/tmp/fstest</code>.
+
<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>
# Note the warning message/question that appears.
+
</ol>
# Mount the filesystem (remember to use the loopback option; refer to Investigation 8 if required). Use a mountpoint of your choosing.
+
:: <code>rpm -q -a</code>
# Copy the files <code>/etc/services</code> and <code>/etc/protocols</code> to the filesystem mounted in the previous step.
+
:: <code>rpm -q -a | wc -l</code>
# Unmount the filesystem.
+
:: <code>rpm -qa  | wc -l</code>
# Test your filesystem to be sure that the files <code>/etc/services</code> and <code>/etc/protocols</code> were in fact copied into the filesystem within the file named <code>/tmp/fstest</code>.
+
<ol>
# How much space is left in that filesystem? (Hint: <code>df -h</code>).
+
<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>
  
Answer the Investigation 9 question in your lab logbook.
+
{{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).}}
  
===Investigation 10 - How can you backup the MBR (Master Boot Record)?===
+
'''Answer the Investigation 2 observations / questions in your lab log book.'''
  
{{Admon/note | Please take note! | A master boot record (MBR), is the 512-byte boot sector that is the first sector of a partitioned hard disk. The MBR is used for the following:
+
== Investigation 3: What is the network configuration? ==
* Holding a disk's primary partition table.
 
* Bootstrapping operating systems after the computer's BIOS passes execution to the MBR.
 
* Uniquely identifying individual disk media, with a 32-bit disk signature.}}
 
  
# We can duplicate the first 512 bytes of a hard disk using the dd command. Use this command to backup the MBR of your hard disk: <code>dd if=/dev/sda of=mbr.bak bs=512 count=1</code>
+
# To check the network configuration settings obtained from the DHCP server, run the following commands, describing the output in your log book:
#* <code>if</code> is the input file or device
+
#* '''ifconfig'''
#* <code>of</code> is the output file or device
+
#* '''route'''
#* <code>bs</code> is the block size -- 512 bytes (1 sector) in this case
+
#* '''netstat -rn'''
#* <code>count</code> is the number of blocks to be copied
+
#* '''nslookup''' (at the > prompt, enter the word "server" (do not type the quotes) and record the output. Type exit to leave nslookup).<br /><br />
# Under what circumstances do you think this will be useful?
+
# 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 10 question in your lab logbook.
+
'''Answer the Investigation 3 observations / questions in your lab log book.'''
  
== Completing the Lab ==
 
  
{{Admon/important | Important! | Arrange evidence of each of the following items on the screen, and then ask your professor or lab monitor to check them:}}
 
  
# USB Formatted as ext3 (    )
+
= Completing the Lab =
# Volume Label is "LAB1" (    )
 
# USB Mounted on <code>/media/lab-one</code> (    )
 
# Following files on USB services, networks (    )
 
# <code>/dev/sda5</code> contains 3 files (    )
 
# jpg on Desktop (    )
 
# <code>/tmp/fstest</code> mounted (    )
 
# Complete and detailed lab notes
 
# '''Disk pack is labelled with your name and contact information (    )'''
 
  
== Preparing for the Quizzes ==
+
'''Check off the following items before asking your instructor to check your lab:'''
  
The online readings linked on the course web page contain some useful information about Free and Open Source Software. Use them and Internet searches to answer the following questions to help you prepare for the quizzes:
+
* '''Task 1''' - Install GNU/Linux Workstation using Fedora
 +
* '''Task 2''' - Collect system information after installation.
 +
* '''Task 3''' - Fedora Updated
 +
* '''Task 4''' - Collect network information
  
# Who is Linus Torvalds?
+
'''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:'''
# Name 3 open source software projects widely used today?
 
# What license agreement does GNU/Linux use?
 
# What are the 4 basic software freedoms that define "Free Software"?
 
# Who makes up the Fedora Community?
 
# Name 4 other significant Linux "Distros"
 
# What command can you use to determine the type of data a file contains?
 
# What are 3 journalled filesystems supported by Linux?
 
# What command will create a Linux ext3 file system on <code>/dev/sdb5</code>, with a volume label called "ops235"?
 
# What is the main function of the <code>fdisk</code> utility?
 
# What command is used to attach the file system on a storage device (e.g. hard disk partition, flash memory card etc) to the file system on a running Linux/UNIX system?
 
# What command is used to detach the file system on a storage medium from the file system on a running Linux/UNIX system?
 
# What type of files are stored in the <code>/dev</code> directory?
 
# Is the <code>dd</code> command used to copy multiple files to another directory?
 
  
==Useful Information==
+
* 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
  
Hard disk partition names (disk drive is '''x''')
 
{|class="sortable" border="1" cellspacing="0" width="80%"
 
  
|-
 
!Partition
 
!1
 
!2
 
!3
 
!4
 
!5
 
!6
 
!...
 
  
|-
+
= Preparing for the Quizzes =
|Type
 
|primary, extended
 
|primary, extended
 
|primary, extended
 
|primary, extended
 
|logical
 
|logical
 
|logical
 
  
|-
+
# How many packages were installed?
|Linux Name
+
# How many files (correct to the nearest hundred) were installed?
|/dev/sdx1
+
# How many users were created automatically on your system (do not count your learn account)?
|/dev/sdx2
+
# What is your learn account's UID and GID?
|/dev/sdx3
+
# What is your learn account's home directory?
|/dev/sdx4
+
# What is the home directory for the user "root"?
|/dev/sdx5
+
# How do you determine the host name of your GNU/Linux workstation?
|/dev/sdx6
+
# What command can display the NIC's MAC address?
|/dev/sdx7 -- sdx15
 
  
|}
+
{{Admon/important|Unbind your MAC address|Before moving your disk pack to another system, [[Unbinding MAC Addresses on Fedora|unbind your MAC address]].}}

Revision as of 20:15, 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.