Difference between revisions of "OPS235 Lab 5 - Fedora17"
Line 52: | Line 52: | ||
==Resources on the web== | ==Resources on the web== | ||
Additional links to tutorials and HOWTOs: | Additional links to tutorials and HOWTOs: | ||
− | + | * [http://www.centos.org/docs/2/rhl-gsg-en-7.2/s1-zip-tar.html archiving with tar, gzip,gunzip] | |
+ | * [http://www.tuxfiles.org/linuxhelp/softinstall.html Compiling Software from Source Code] | ||
:* [[init vs systemd]] | :* [[init vs systemd]] | ||
Revision as of 12:26, 6 February 2012
Contents
- 1 OPS235 Lab 5 - Archiving Files, Compiling Software Packages from Source, Managing Services
OPS235 Lab 5 - Archiving Files, Compiling Software Packages from Source, Managing Services
Overview
- In this lab, you are going to help conserve disk space by learning how to compress and decompress files that are stored your computer server. In addition, you will learn a traditional method of how to install programs by decompressing source code archives and install (compile) them on your computer.
- In addition, you will learn about how certain processes (services) work, and how the system administrator can manage these services (i.e. turn "on" and "off").
Objectives
- To create and use archive files (tar and tar.gz)
- Compiling software packages from source code
- Customising file-system start-up
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 (Lab5 Reference Sheet) (to make notes and observations).
Prerequisites
- Completion and Instructor "Sign-off" of Lab 4: OPS235 Lab 4
Linux Command Online Reference
Each Link below displays online manpages for each command (via http://linuxmanpages.com):
Archiving Utilities: | Service Management Utilities: | |
|
Resources on the web
Additional links to tutorials and HOWTOs:
Archiving Files / Compiling Software from Source Code
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.
Investigation 1: 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?
Investigation 2: How do you restore files from an archive?
- Create the directory
/tmp/extract1
and make it your current working directory (change into that directory). - Move the file archive1.tar.gz to your current directory.
- Unzip the first archive you created:
gunzip archive1.tar.gz
- Extract the files from the first archive:
tar xvf 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. - Move the file archive2.tgz to your current directory.
- Extract the files from the second archive:
tar xvzf archive2.tgz
- Note that this time a separate
gunzip
command was not needed. Why? - Repeat the previous command, leaving out the option "z". Does it work? Why?
- Compare the
README
file in this directory with the original file. Are they exactly the same?
Investigation 3: 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.wget
is a command-line tool to download files from the web using the http or ftp protocols. - 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.
Managing System Services
Investigation 4: 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. What is the target (destination) of the links to?
- If you are not using the graphical user interface (GUI), use the startx command to start it.
- 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:
- btseed, bttrack, cups, irda, mdmonitor, netfs, nfs, nfslock, pcscd, rpcgssd, rpcidmapd, rpcsvcgssd, sendmail, ypbind.
Completing the Lab
Arrange evidence for each of these items on your screen, then ask your instructor to check each item:
- [ ]
/tmp/fstest
filesystem counted with files copied to it. - [ ]
nled
is installed - [ ] Correct services are disabled
- [ ]
/lab5
has an entry in/etc/fstab
Preparing for the Quizzes
- What is the advantage of disabling services such as bluetooth?
- What is the difference between a .tgz file and a .tar.gz file? What do these stand for?
- How do you ensure that a filesystem is mounted every time the system is started?
- How is creating and using a filesystem in a file different from creating and using a filesystem in a block device (such as a partition)?
- What is source code?
- How do you build software from source code?
- Which is preferred: installing from an RPM file, or installing from source code? Why?
- How do you use
chkconfig
? - The startup directory for each runlevel contains symbolic links. Where are the targets of the symbolic links?
- When you use the menu option System>Administration>Services, what program is run?