Difference between revisions of "OPS235 Lab 5 - Fedora17"

From CDOT Wiki
Jump to: navigation, search
Line 74: Line 74:
 
#*<code>tar xvf /tmp/archive1.tar</code>
 
#*<code>tar xvf /tmp/archive1.tar</code>
 
#Are all the files there?  
 
#Are all the files there?  
#Compare <code>/tmp/extract1/FAQ</code> and <code>/usr/share/doc/bash-3.2/FAQ</code>. Are they exactly the same? Why?
+
#Compare <code>/tmp/extract1/README</code> and <code>/usr/share/doc/sudo*/README</code>. Are they exactly the same? Why?
  5. Create the directory /tmp/extract2 and make it your current working directory.
+
#Create the directory <code>/tmp/extract2</code> and make it your current working directory.
  6. Extract the files from the second archive:
+
#Extract the files from the second archive:
 
+
#*<code>tar xvzf /tmp/archive2.tgz</code>
          tar xvzf /tmp/archive2.tgz
+
#Note that this time a separate <code>gunzip</code> command was not needed. Why?
 
+
#Compare the <code>README</code> file in this directory with the original file. Are they exactly the same?
      Note that this time a separate gunzip command was not needed. Why?
 
  7. Compare the FAQ file in this directory with the original file. Are they exactly the same?
 
  
 
Answer the Investigation 3 question.
 
Answer the Investigation 3 question.

Revision as of 10:20, 13 February 2010

OPS235 Lab 5 - Loopback Filesystems, Archives, Compiling from Source

Stop (medium size).png
Caution!
This lab is under construction.

Objectives

  1. To create and use loopback filesystems in read-write mode
  2. To create and use archive files (tar and tar.gz)
  3. Compiling software from source code
  4. Customizing system startup


References

Required Material

  • SATA Hard Disk with Fedora 12 (the same one used for Lab 3 and 4)
  • Lab log book

Prerequisites

  • Completion of Labs 1-4

Introduction

There are two techniques used to place multiple files within one file: the first is to create a filesystem within a file, and the second is to use an archive program to create an archive file. Archive files are often used to contain source code for software; in this lab you will also be compiling software from a source code archive. Finally, you will modify your system startup to eliminate unnecessary services and configure your system to automatically mount a partition.

Investigation 1: How do you create and use a filesystem in a regular file?

Note.png
Use fedora3
Perform these steps in the fedora3 virtual machine.
  1. Login using your Learn ID
  2. Create an empty file that is exactly 3 MB in size:
    • dd if=/dev/zero of=/tmp/fstest bs=1k count=3072
  3. How does this command ensure that the file is 3 MB in size? What is in the file at first?
  4. Create an ext3 filesystem within the newly-created file /tmp/fstest. Note the warning message/question that appears
  5. Mount the filesystem (remember to use the loopback option; refer to Lab 1 if required). Use a mountpoint of your choosing.
  6. Copy the files /etc/services and /etc/protocols to the filesystem mounted in the previous step
  7. Unmount the filesystem
  8. Test your filesystem to be sure that the files /etc/services and /etc/protocols were in fact copied into the filesystem within the file named /tmp/fstest.
  9. How much space is left in that filesystem? (Hint: df -h).

Make sure that your lab notes answer the Investigation 1 question.

Investigation 2: How do you create an archive file?

Note.png
Use fedora3
Perform these steps in the fedora3 virtual machine.
Important.png
Warning!
Don't miss the . at the end of the tar commands below! It specifies what should go into the archive: the contents of the current directory.
  1. Change your working directory to /usr/share/doc/sudo*
  2. Use the tar (tape archiver) command to create an archive file named /tmp/archive1.tar
    • tar cvf /tmp/archive1.tar .
  3. What do the options c, v, and f mean?
  4. Record the archive file size.
  5. Compress the file using gzip:
    • gzip /tmp/archive1.tar
  6. Record the archive file size after compression.
  7. Make sure you're still in /usr/share/doc/sudo* and then create a compressed archive:
    • tar cvzf /tmp/archive2.tgz .
  8. What does the z option do?
  9. Compare the sizes of /tmp/archive1.tar.gz and /tmp/archive2.tgz. Why are they so close in size?

Answer the Investigation 2 question.

Investigation 3: How do you restore files from an archive?

  1. Create the directory /tmp/extract1 and make it your current working directory (change into that directory).
  2. Unzip the first archive you created:
    • gunzip /tmp/archive1.tar.gz
  3. Extract the files from the first archive:
    • tar xvf /tmp/archive1.tar
  4. Are all the files there?
  5. Compare /tmp/extract1/README and /usr/share/doc/sudo*/README. Are they exactly the same? Why?
  6. Create the directory /tmp/extract2 and make it your current working directory.
  7. Extract the files from the second archive:
    • tar xvzf /tmp/archive2.tgz
  8. Note that this time a separate gunzip command was not needed. Why?
  9. Compare the README file in this directory with the original file. Are they exactly the same?

Answer the Investigation 3 question.