OPS235 Lab 5 - Fedora17
Revision as of 12:18, 13 February 2010 by Brian.gray (talk | contribs) (→Investigation 5: How do we turn system services on and off?)
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?
- 1.10 Investigation 5: How do we turn system services on and off?
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? - 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.
- If the command
make install
does not work (how can you tell?), copy thenled
program manually:cp nled /usr/local/bin
- Test
nled
to make sure it works.
Answer the Investigation 4 question.
Investigation 5: How do we turn system services on and off?
- Determine your current runlevel using the
runlevel
command. - Change to the appropriate startup directory in a terminal window. For example, if your runlevel is 4, change to
/etc/rc.d/rc4.d
- Observe the names of the symbolic links in that directory.
- Where do the links link to?
- Run the menu option
System>Administration>Services
. You will then see the Service Configuration screen. - Find the
bluetooth
service and select customize from the tool bar. and deselect the checkbox for your runlevel from step 1. Quit the app. - Return to the terminal window you used in Step 2. Get a listing of the symbolic links in the startup directory. Is it any different from what you observed previously?
- Using the Service Configuration screen, re-enable the
bluetooth
service. - Check the symbolic links again. What has changed this time?
- Run this command:
chkconfig bluetooth off
- Now what has changed in the directory?
- Run this command:
chkconfig bluetooth on
- Now what has changed?
- Run the command:
chkconfig --list
- What does the output show?
- What is the relationship between the Service Configuration tool, the symbolic links in the startup directory, and the
chkconfig
command? - You can also use
chkconfig
to set services to be on or off for certain runlevels. For example, to turn httpd on for runlevel 4, we issue the command:chkconfig --level 4 httpd on
- To turn it off, we type:
chkconfig --level 4 httpd off
- To increase your computer's security, make sure these services are disabled:
- anacron, cups, irda, irqbalance, isdn, mdmonitor, netfs, nfs, nfslock, pcscd, rpcgssd, rpcidmapd, rpcsvcgssd, sendmail, ypbind.
17. Finally, make sure the gpm service runs in runlevel 3, but not in 5.
Answer the Investigation 5 question.