Difference between revisions of "OPS235 Lab 5 - Fedora17"
Brian.gray (talk | contribs) |
Brian.gray (talk | contribs) |
||
Line 93: | Line 93: | ||
#Check to see if there is a file named <code>configure</code>. If so, run it; if not, skip this step. (Most but not all source code archives contain this file) | #Check to see if there is a file named <code>configure</code>. If so, run it; if not, skip this step. (Most but not all source code archives contain this file) | ||
#Check to see if there is a file named <code>Makefile</code> or <code>makefile</code>. If so, type the command: | #Check to see if there is a file named <code>Makefile</code> or <code>makefile</code>. If so, type the command: | ||
− | #*make | + | #*make |
+ | #*{{Admon/important |Software Development Tools Required |You may need to install <code>gcc</code> (GNU C Compiler) and <code>ncurses-devel</code> (Development Library) in order to complete this step successfully. Use <code>yum</code> to install these packages if you get an error message saying the cc command was not found or the ncurses library is not found.}} | ||
Revision as of 10:40, 13 February 2010
Contents
- 1 OPS235 Lab 5 - Loopback Filesystems, Archives, Compiling from Source
- 1.1 Objectives
- 1.2 References
- 1.3 Required Material
- 1.4 Prerequisites
- 1.5 Introduction
- 1.6 Investigation 1: How do you create and use a filesystem in a regular file?
- 1.7 Investigation 2: How do you create an archive file?
- 1.8 Investigation 3: How do you restore files from an archive?
- 1.9 Investigation 4: How do you build software from source code?
OPS235 Lab 5 - Loopback Filesystems, Archives, Compiling from Source
Objectives
- To create and use loopback filesystems in read-write mode
- To create and use archive files (tar and tar.gz)
- Compiling software from source code
- Customizing system startup
References
- man pages for mount, fstab, tar, gzip, make, chkconfig, dd, service
- Resources on the web:
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?
- Login using your Learn ID
- Create an empty file that is exactly 3 MB in size:
dd if=/dev/zero of=/tmp/fstest bs=1k count=3072
- How does this command ensure that the file is 3 MB in size? What is in the file at first?
- Create an ext3 filesystem within the newly-created file
/tmp/fstest
. Note the warning message/question that appears - Mount the filesystem (remember to use the loopback option; refer to Lab 1 if required). Use a mountpoint of your choosing.
- Copy the files
/etc/services
and/etc/protocols
to the filesystem mounted in the previous step - Unmount the filesystem
- 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
. - 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?
- Change your working directory to
/usr/share/doc/sudo*
- Use the tar (tape archiver) command to create an archive file named
/tmp/archive1.tar
tar cvf /tmp/archive1.tar .
- What do the options c, v, and f mean?
- Record the archive file size.
- Compress the file using
gzip
:gzip /tmp/archive1.tar
- Record the archive file size after compression.
- Make sure you're still in
/usr/share/doc/sudo*
and then create a compressed archive:tar cvzf /tmp/archive2.tgz .
- What does the
z
option do? - 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?
- Create the directory
/tmp/extract1
and make it your current working directory (change into that directory). - Unzip the first archive you created:
gunzip /tmp/archive1.tar.gz
- Extract the files from the first archive:
tar xvf /tmp/archive1.tar
- Are all the files there?
- Compare
/tmp/extract1/README
and/usr/share/doc/sudo*/README
. Are they exactly the same? Why? - Create the directory
/tmp/extract2
and make it your current working directory. - Extract the files from the second archive:
tar xvzf /tmp/archive2.tgz
- Note that this time a separate
gunzip
command was not needed. Why? - Compare the
README
file in this directory with the original file. Are they exactly the same?
Answer the Investigation 3 question.
Investigation 4: How do you build software from source code?
- Go to the directory
/tmp
- Use the
wget
command to download the "tar ball" that contains the source code for the NLED text editor. - Extract the files. Change to the newly-extracted directory (
/tmp/nled-2.52
) - Check to see if there is a file named
configure
. If so, run it; if not, skip this step. (Most but not all source code archives contain this file) - Check to see if there is a file named
Makefile
ormakefile
. If so, type the command:- make
What does make do?
6. Some software distributed as source code can automatically install itself. Try this command: make install
Most but not all source code archives include the capability of installing themselves this way. 7. If the command in step #7 does not work (how can you tell?), copy the nled program manually:
cp nled /usr/local/bin
8. Test nled to make sure it works.
Answer the Investigation 4 question.