Acted upon remarks from readers to clarify issues with compressed files, removable media; found a couple more spelling errors, added an extra example for cron and one for prompt settings; took out reference to Acrobat Reader and stuffit, which are not Open Source (pointing to a fancy flight simulator instead ;-) More on keyboard layout. Added RPM example, added yum package manager info.

This commit is contained in:
tille 2003-12-01 07:44:06 +00:00
parent b9f6cff124
commit 8c29e0197c
6 changed files with 84 additions and 45 deletions

View File

@ -38,7 +38,7 @@
</author>
</authorgroup>
<edition>Version 1.8 Last updated 20030916</edition>
<edition>Version 1.9 20031129</edition>
<keywordset>
<keyword>Linux</keyword>
@ -201,6 +201,13 @@ Updated glossary and added links to sections within document.</revremark>
<authorinitials>MG</authorinitials>
<revremark>Added app5, corrected some minor details.</revremark>
</revision>
<revision>
<revnumber>1.9</revnumber>
<date>2003-11-29</date>
<authorinitials>MG</authorinitials>
<revremark>Acted upon remarks from readers to clarify issues with compressed files, removable media; found a couple more spelling errors, added an extra example for cron and one for prompt settings; took out reference to Acrobat Reader and stuffit, which are not Open Source (pointing to a fancy flight simulator instead ;-) More on keyboard layout. Added RPM example, added yum package manager.</revremark>
</revision>
</revhistory>
</para>
</section>

View File

@ -91,22 +91,21 @@
<sect2><title>Distributions</title>
<itemizedlist>
<listitem><para><ulink url="http://www.redhat.com">RedHat</ulink></para></listitem>
<listitem><para><ulink url="http://fedora.redhat.com/">The Fedora Project</ulink>: RedHat-sponsored community effort OS.</para></listitem>
<listitem><para><ulink url="http://www.mandrake.com">Mandrake</ulink></para></listitem>
<listitem><para><ulink url="http://www.freebsd.org">FreeBSD</ulink></para></listitem>
<listitem><para><ulink url="http://www.debian.org">Debian</ulink></para></listitem>
<listitem><para><ulink url="http://www.openbsd.org">OpenBSD</ulink></para></listitem>
<listitem><para><ulink url="http://www.turbolinux.com">TurboLinux</ulink></para></listitem>
<listitem><para><ulink url="http://www.slackware.com">Slackware</ulink></para></listitem>
<listitem><para><ulink url="http://www.suse.de">SuSE</ulink></para></listitem>
<listitem><para><ulink url="http://www.caldera.com">Caldera</ulink></para></listitem>
<listitem><para><ulink url="http://www.linuxiso.org">LinuxISO.org</ulink>: CD images for all distributions.</para></listitem>
<listitem><para><ulink url="http://www.knoppix.org/">Knoppix</ulink>: distribution that runs from a CD, you don't need to install anything for this one.</para></listitem>
<listitem><para><ulink url="http://www.distrowatch.com/">DistroWatch.com</ulink>: find a Linux that goes with your style.</para></listitem>
<listitem><para>...</para></listitem>
</itemizedlist>
</sect2>
<sect2><title>Software</title>
<itemizedlist>
<listitem><para><ulink url="http://linux.tucows.com">Tucows</ulink> (or your local mirror, e.g. linux.skynet.be): CD images, GNU packages, major distributions</para></listitem>
<listitem><para><ulink url="http://freshmeat.net">Freshmeat</ulink>: new software, software archives</para></listitem>
<listitem><para><ulink url="http://www.openssh.org">OpenSSH</ulink>: Secure SHell site</para></listitem>
<listitem><para><ulink url="http://www.openoffice.org">OpenOffice</ulink>: MS compatible Office Suite</para></listitem>
@ -120,6 +119,8 @@
<listitem><para><ulink url="http://www.sendmail.org">Sendmail Homepage</ulink>: A thorough technical discussion of Sendmail features, includes configuration examples.</para></listitem>
<listitem><para><ulink url="http://netfilter.samba.org">Netfilter</ulink>: contains assorted information about iptables: HOWTO, FAQ, guides, ...</para></listitem>
<listitem><para><ulink url="http://www.gimp.org">Official GIMP website</ulink>: All information about the GNU Image Manipulation Program.</para></listitem>
<listitem><para><ulink url="http://sourceforge.net/">SourceForge.net</ulink>: Open SOurce software development site.</para></listitem>
<listitem><para><ulink url="http://www.vim.org/">vIm homepage</ulink></para></listitem>
</itemizedlist>
</sect2>

View File

@ -834,7 +834,7 @@ tcp 0 0 ::1:x11-ssh-offset *:* LISTEN
</sect1>
<sect1 id="sect_10_06"><title>Summary</title>
<para>Linux and networking go hand in hand. The Linux kernel has support for all common and most uncommon network protocols. The standard UNIX networking tools are provided in each distribution. Next to those, most distributions offer tools for easy network installation and management.</para>
<para>Linux is well know as a stable platform for running various Internet services, the amount of Internet software is endless. Like UNIX, Linux can be just as well used and administered from a remote location, using one of several solutions for remote execution of programs.</para>
<para>Linux is well known as a stable platform for running various Internet services, the amount of Internet software is endless. Like UNIX, Linux can be just as well used and administered from a remote location, using one of several solutions for remote execution of programs.</para>
<para>We briefly touched the subject of security. Linux is an ideal firewall system, light and cheap, but can be used in several other network functions such as routers and proxy servers.</para>
<para>Increasing network security is mainly done by applying frequent updates and common sense.</para>
</sect1>

View File

@ -81,7 +81,7 @@ drwxrwxr-x 2 jaime jaime 4096 Feb 25 11:50 course
<para>In order not to always have to perform a long listing for seeing the file type, a lot of systems by default don't issue just <command>ls</command>, but <command>ls <option>-F</option></command>, which suffixes file names with one of the characters <quote>/=*|@</quote> to indicate the file type. To make it extra easy on the beginning user, both the <option>-F</option> and <option>--color</option> options are usually combined, see <xref linkend="sect_03_03_01_01" />. We will use <command>ls <option>-F</option></command> throughout this document for better readability.</para>
<para>As a user, you only need to deal directly with plain files, executable files, directories and links. The special file types are there for making your system do what you demand from it and are dealth with by system administrators and programmers.</para>
<para>As a user, you only need to deal directly with plain files, executable files, directories and links. The special file types are there for making your system do what you demand from it and are dealt with by system administrators and programmers.</para>
<para>

View File

@ -635,16 +635,32 @@ renice +19 -p $$ &gt;/dev/null 2>&amp;1
/usr/bin/updatedb -f "nfs,smbfs,ncpfs,proc,devpts" -e \
"/tmp,/var/tmp, /usr/tmp,/afs,/net"
</screen>
<para>Users are supposed to edit their crontabs in a safe way using the <command>crontab <option>-e</option></command> command. This will prevent a user from accidentally opening more than one copy of his/her crontab file. The default editor is <command>vi</command> (see <xref linkend="chap_06" />. When you quit, the system will tell you that a new crontab is installed.</para>
<para>Users are supposed to edit their crontabs in a safe way using the <command>crontab <option>-e</option></command> command. This will prevent a user from accidentally opening more than one copy of his/her crontab file. The default editor is <command>vi</command> (see <xref linkend="chap_06" />, but you can use any text editor, such as <command>gvim</command> or <command>gedit</command> if you feel more comfortable with a GUI editor.</para>
<para>When you quit, the system will tell you that a new crontab is installed.</para>
<para>This crontab entry reminds <emphasis>billy</emphasis> to go to his sports club every Thursday night:</para>
<screen>
billy:~>crontab -l
billy:~&gt;crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.18185 installed on Wed Sep 19 16:37:08 2001)
# (Cron version--$Id$)
# (/tmp/crontab.20264 installed on Sun Jul 20 22:35:14 2003)
# (Cron version -- $Id$)
38 16 * * 3 mail -s "sports evening" billy
</screen>
<para>Cron will also report about the executed tasks via E-mail. Note that normal users don't have to specify the user who should run the commands. They are executed with the user's own permissions by default.</para>
<para>After adding a new scheduled task, the system will tell you that a new crontab is installed. You do not need to restart the <command>crond</command> daemon for the changes to take effect. In the example, <emphasis>billy</emphasis> added a new line pointing to a backup script:</para>
<screen>
billy:~&gt;crontab -e
45 15 * * 3 mail -s "sports evening" billy
4 4 * * 4,7 /home/billy/bin/backup.sh
&lt;--write and quit--&gt;
crontab: installing new crontab
billy:~&gt;
</screen>
<para>The <filename>backup.sh</filename> script is executed every Thursday and Sunday. See <xref linkend="sect_07_02_07" /> for an introduction to shell scripting. Keep in mind that output of commands, if any, is mailed to the owner of the crontab file. If no mail service is configured, you might find the output of your commands in your local mailbox, <filename>/var/spool/mail/&lt;your_username&gt;</filename>, a plain text file.</para>
<note><title>Who runs my commands?</title>
<para>You don't have to specify the user who should run the commands. They are executed with the user's own permissions by default.</para>
</note>
</sect2>
</sect1>

View File

@ -101,9 +101,9 @@ virtual memory (kbytes) unlimited
<para>Cindy is not a developer and doesn't care about core dumps, which contain debugging information on a program. If you do want core dumps, you can set their size using the <command>ulimit</command> command. Read the Info pages on <command>bash</command> for a detailed explanation.</para>
</sect3>
<sect3 id="sect_07_01_02_06"><title>Compressed files</title>
<para>Compressed files are useful, but unpacking them all the time just to get a little bit of information out of them and then having to compress them again is very boring.</para>
<para>Most systems support <command>egrep</command>, <command>zgrep</command>, <command>zcat</command>, <command>zmore</command> and such to prevent unnecessary decompressing/compressing actions. See you system's binary directory and the Info pages.</para>
<para>See Chapter 9 on Backups for more on the actual compressing of files and examples on making archives.</para>
<para>Compressed files are useful because they take less space on your hard disk. Another advantage is that it takes less bandwidth to send a compressed file over your network. A lot of files, such as the man pages, are stored in a compressed format on your system. Yet unpacking these to get a little bit of information and then having to compress them again is rather time-consuming. You don't want to unpack a man page, for instance, read about an option to a command and then compress the man page again. Most people will probably forget to clean up after they found the information they needed.</para>
<para>So we have tools that work on compressed files, by uncompressing them only in memory. The actual compressed file stays on your disk as it is. Most systems support <command>egrep</command>, <command>zgrep</command>, <command>zcat</command>, <command>zmore</command> and such to prevent unnecessary decompressing/compressing actions. See your system's binary directory and the Info pages.</para>
<para>See <xref linkend="chap_09" /> for more on the actual compressing of files and examples on making archives.</para>
</sect3>
</sect2>
@ -126,37 +126,33 @@ debby:~&gt; echo $PATH
debby:~&gt; echo $MANPATH
/usr/man:/usr/share/man/:/usr/local/man:/usr/X11R6/man
</screen>
<para>If you want to change the content of a variable in a way that is useful to other programs, you have to exported the new value from your environment into the environment that runs these programs. A common example is exporting the <varname>PATH</varname>. You may very well declare it as follows, in order to be able to use that Acrobat Reader software that is in <filename>/opt/acrobat/bin</filename>:</para>
<para>If you want to change the content of a variable in a way that is useful to other programs, you have to export the new value from your environment into the environment that runs these programs. A common example is exporting the <varname>PATH</varname> variable. You may declare it as follows, in order to be able to play with the flight simulator software that is in <filename>/opt/FlightGear/bin</filename>:</para>
<screen>
debby:~&gt; PATH=$PATH:/opt/acrobat/bin
debby:~&gt; PATH=$PATH:/opt/FlightGear/bin
</screen>
<para>This instructs the shell to not only search programs in the current path, <varname>$PATH</varname>, but also in the additional directory <filename>/opt/acrobat/bin</filename>.</para>
<para>This instructs the shell to not only search programs in the current path, <varname>$PATH</varname>, but also in the additional directory <filename>/opt/FlightGear/bin</filename>.</para>
<para>However, as long as the new value of the <varname>PATH</varname> variable is not known to the environment, things will still not work:</para>
<screen>
debby:~&gt; acroread file.pdf
bash: acroread: command not found
debby:~&gt; runfgfs
bash: runfgfs: command not found
</screen>
<para>Exporting variables is done using the shell built-in command <command>export</command>:</para>
<screen>
debby:~&gt; export PATH
debby:~&gt; acroread file.pdf
--new window opens--
debby:~&gt; runfgfs
--flight simulator starts--
</screen>
<para>In Bash, we normally do this in one elegant step:</para>
<cmdsynopsis><command>export <varname>VARIABLE</varname>=<replaceable>value</replaceable></command></cmdsynopsis>
<para>A more advanced example for users who install software in their home directory:</para>
<para>The same technique is used for the <varname>MANPATH</varname> variable, that tells the <command>man</command> command where to look for compressed man pages. If new software is added to the system in new or unusual directories, the documentation for it will probably also be in an unusual directory. If you want to read the man pages for the new software, extend the <varname>MANPATH</varname> variable:</para>
<screen>
debby:~&gt; export MANPATH=$MANPATH:$HOME/man
debby:~&gt; export MANPATH=$MANPATH:/opt/FlightGear/man
debby:~&gt; echo $MANPATH
/usr/man:/usr/share/man/:/usr/local/man:/usr/X11R6/man:/home/debby/man
</screen>
<para>Or other unusual locations, for instance to read man pages for the <command>stuffit</command> program, that may be installed in <filename>/opt</filename>:</para>
<screen>
debby:~&gt; export MANPATH=/usr/man:/usr/share/man/:/usr/local/man\
:/usr/X11R6/man:/opt/stuffit/man
/usr/man:/usr/share/man:/usr/local/man:/usr/X11R6/man:/opt/FlightGear/man
</screen>
<para>You can avoid retyping this command in every window you open by adding it to one of your shell setup files, see <xref linkend="sect_07_02_04" />.</para>
</sect3>
<sect3 id="sect_07_02_03"><title>Reserved variables</title>
<para>The following table gives an overview of the most common predefined variables:</para>
@ -376,6 +372,9 @@ The Bash prompt can do much more than displaying such simple information as your
<listitem><para><command>export <varname>PS1</varname>=<replaceable>"\[\033[1;35m\]\u@\h\[\033[0m\] "</replaceable></command></para><para>Displays user@host in pink.</para></listitem>
<listitem><para><command>export <varname>PS1</varname>=<replaceable>"\[\033[1;35m\]\u\[\033[0m\] \[\033[1;34m\]\w\[\033[0m\] "</replaceable></command></para><para>Sets the user name in pink and the present working directory in blue.</para></listitem>
<listitem><para><command>export <varname>PS1</varname>=<replaceable>"\[\033[1;44m\]$USER is in \w\[\033[0m\] "</replaceable></command></para><para>Prompt for people who have difficulties seeing the difference between the prompt and what they type.</para></listitem>
<listitem><para><command>export <varname>PS1</varname>=<replaceable>"\[\033[4;34m\]\u@\h \w \[\033[0m\]"</replaceable></command></para><para>Underlined prompt.</para></listitem>
<listitem><para><command>export <varname>PS1</varname>=<replaceable>"\[\033[7;34m\]\u@\h \w \[\033[0m\] "</replaceable></command></para><para>White characters on a blue background.</para></listitem>
<listitem><para><command>export <varname>PS1</varname>=<replaceable>"\[\033[3;35m\]\u@\h \w \[\033[0m\]\a"</replaceable></command></para><para>Pink prompt in a lighter font that alerts you when your commands have finished.</para></listitem>
<listitem><para><command>export <varname>PS1</varname>=...</command></para></listitem>
</itemizedlist>
<para>Variables are exported so the subsequently executed commands will also know about the environment. The prompt configuration line that you want is best put in your shell configuration file, <filename>~/.bashrc</filename>.</para>
@ -463,13 +462,13 @@ esac
exit 0
</screen>
<para>First, with the <command>.</command> command a set of shell functions, used by almost all shell scripts in <filename>/etc/rc.d/init.d</filename>, is loaded. Then a <command>case</command> command is issued, which defines 4 different ways the script can execute. An example might be <command>ICanSeeYou <parameter>start</parameter></command>. The decision of which case to apply is made by reading the (first) argument to the script, with the expression <emphasis>$1</emphasis>.</para>
<para>First, with the <command>.</command> command (dot) a set of shell functions, used by almost all shell scripts in <filename>/etc/rc.d/init.d</filename>, is loaded. Then a <command>case</command> command is issued, which defines 4 different ways the script can execute. An example might be <command>ICanSeeYou <parameter>start</parameter></command>. The decision of which case to apply is made by reading the (first) argument to the script, with the expression <emphasis>$1</emphasis>.</para>
<para>When no compliant input is given, the default case, marked with an asteriks, is applied, upon which the script gives an error message. The <command>case</command> list is ended with the <command>esac</command> statement. In the <emphasis>start</emphasis> case the server program is started as a daemon, and a process ID and lock are assigned. In the <emphasis>stop</emphasis> case, the server process is traced down and stopped, and the lock and the PID are removed. Options, such as the <option>daemon</option> option, and functions like <option>killproc</option>, are defined in the <filename>/etc/rc.d/init.d/functions</filename> file. This setup is specific to the distribution used in this example. The initscripts on your system might use other functions, defined in other files, or none at all.</para>
<para>Upon success, the script returns an exit code of zero to its parent.</para>
<para>
This script is a fine example of using functions, which make the script easier to read and the work done faster. Note that they use <command>sh</command> instead of <command>bash</command>, to make them useful on a wider range of systems. On a Linux system, calling <command>bash</command> as <command>sh</command> results in the shell running in POSIX-compliant mode.</para>
<para>The <command>bash</command> man pages contain more information about combining commands, for- and while-loops and regular expressions, as well as examples. A comprehensible Bash course for system administrators and power users, with exercises, from the same author as this Introduction to Linux guide, is at <ulink url="http://tille.soti.org/training/bash/">http://tille.soti.org/training/</ulink>. Detailed description of Bash features and applications is in the reference guide <ulink url="http://tldp.org/LDP/abs/html/index.html">Advanced Bash Scripting</ulink>.</para>
<para>The <command>bash</command> man pages contain more information about combining commands, for- and while-loops and regular expressions, as well as examples. A comprehensible Bash course for system administrators and power users, with exercises, from the same author as this Introduction to Linux guide, is at <ulink url="http://tille.soti.org/training/bash/">http://tille.soti.org/training/bash/</ulink>. Detailed description of Bash features and applications is in the reference guide <ulink url="http://tldp.org/LDP/abs/html/index.html">Advanced Bash Scripting</ulink>.</para>
</sect3>
</sect2>
@ -619,6 +618,7 @@ debby:~/mp3&gt; xmms music.mp3
<listitem><para><command>ogle</command>: DVD player</para></listitem>
<listitem><para><command>mplayer</command>: Movie Player for Linux</para></listitem>
<listitem><para><command>gstreamer</command>: upcoming project developing the GStreamer library and accompanying tools for audio and video recording, editing and playing, to be included in Gnome. See <ulink url="http://www.gstreamer.net">http://www.gstreamer.net</ulink> for more.</para></listitem>
<listitem><para><command>totem</command>: plays both audio and video files, audio CDs, VCD and DVD.</para></listitem>
<listitem><para><command>realplay</command>: from RealNetworks.</para></listitem>
<listitem><para><command>helixplay</command>: a Real alternative, see <ulink url="http://www.helixdna.org">HelixDNA</ulink>.</para></listitem>
</itemizedlist>
@ -634,9 +634,15 @@ debby:~/mp3&gt; xmms music.mp3
<screen>
XkbLayout "us"
</screen>
<para>This is the default. Change it to your local settings by replacing the quoted value with any of the names listed in the subdirectories of <filename>/lib/kbd/keymaps/</filename>, leaving out the <filename>.map.gz</filename> extention. Make a backup of the <filename>/etc/X11/XF86Config</filename> file before editing it! You will need to use the <emphasis>root</emphasis> account to do this.</para>
<para>This is the default. Change it to your local settings by replacing the quoted value with any of the names listed in the subdirectories of <filename>/lib/kbd/keymaps/</filename>, leaving out the <filename>.map.gz</filename> extention. If you can't find the keymaps, try displaying their location on your system issuing the command</para>
<cmdsynopsis><command>locate <filename>.map.gz</filename></command></cmdsynopsis>
<para>It is possible to combine layout settings, like in this example:</para>
<screen>
Xkblayout "us,ru"
</screen>
<para>Make a backup of the <filename>/etc/X11/XF86Config</filename> file before editing it! You will need to use the <emphasis>root</emphasis> account to do this.</para>
<para>Log out and reconnect in order to reload X settings.</para>
<para>The Gnome Keyboard Applet enables real-time switching between layouts; no special pemissions are needed for using this program.</para>
<para>The Gnome Keyboard Applet enables real-time switching between layouts; no special pemissions are needed for using this program. KDE has a similar tool for switching between keyboard layouts.</para>
</sect2>
<sect2 id="sect_07_05_02"><title>Fonts</title>
<para>Use the <command>setfont</command> tool to load fonts in text mode. Most systems come with a standard <filename>inputrc</filename> file which enables combining of characters, such as the French <quote>é</quote> (meta characters). The system admin should then add the line</para>
@ -695,8 +701,14 @@ debby:~&gt; acroread /var/tmp/51434s.pdf
<para>Many other distributions support RPM packages, among the popular ones Mandrake and SuSE Linux. Apart from the advice for your distribution, you will want to read <command>man <parameter>rpm</parameter></command>.</para>
<para>Most packages are simply installed with the upgrade option, <option>-U</option>, whether the package is already installed or not. The RPM package contains a complete version of the program, which overwrites existing versions or installs as a new package. The typical usage is as follows:</para>
<cmdsynopsis><command>rpm <option>-Uvh</option> <filename>/path/to/rpm-package(s)</filename></command></cmdsynopsis>
<para>The <option>-v</option> option generates more verbose output, and <option>-h</option> makes <command>rpm</command> print a progress bar.</para>
<para>New kernel packages, however, are installed with the install option which does not overwrite existing version(s) of the package, least to be able to boot your system with the old kernel if the new one does not work.</para>
<para>The <option>-v</option> option generates more verbose output, and <option>-h</option> makes <command>rpm</command> print a progress bar:</para>
<screen>
[root@jupiter tmp]# rpm -Uvh totem-0.99.5-1.fr.i386.rpm
Preparing... ########################################### [100%]
1:totem ########################################### [100%]
[root@jupiter tmp]#
</screen>
<para>New kernel packages, however, are installed with the install option <option>-i</option>, which does not overwrite existing version(s) of the package, least to be able to boot your system with the old kernel if the new one does not work.</para>
<para>You can also use <command>rpm</command> to check whether a package is installed on your system:</para>
<screen>
[david@jupiter ~] rpm -qa | grep vim
@ -717,6 +729,12 @@ cat is /bin/cat
coreutils-4.5.3-19
</screen>
<para>Note that you need not have access to administrative privileges in order to use <command>rpm</command> to query the RPM database. You only need to be <emphasis>root</emphasis> when adding, modifying or deleting packages.</para>
<para>Below is one last example, demonstrating how to uninstall a package using <command>rpm</command>:</para>
<screen>
[root@jupiter root]# rpm -e totem
[root@jupiter root]#
</screen>
<para>Note that uninstalling is not that verbose by default, it is normal that you don't see much happening. When in doubt, use <command>rpm <option>-qa</option></command> again to verify that the package has been removed.</para>
<para>RPM can do much more than the couple of basic functions we discussed in this introduction; the <ulink url="http://www.ibiblio.org/mdw/HOWTO/RPM-HOWTO/index.html">RPM HOWTO</ulink> contains further references.</para>
</sect3>
<sect3 id="sect_07_06_02_02"><title>DEB packages</title>
@ -765,13 +783,10 @@ Preparing... ########################################### [100%]
<para>More information can be found in the <ulink url="http://www.debian.org/doc/user-manuals#apt-howto">APT HOWTO</ulink>.</para>
</sect3>
<sect3 id="sect_07_06_03_03"><title>Systems supporting RPM packages</title>
<para>RedHat Linux has the <command>up2date</command> tool, the Update Agent, which provides a complete system for updating the RPM packages on a RedHat Linux system. Both command line and graphical interfaces are supported. Use for one machine is free, but for updating multiple systems you need to subscribe to RedHat Network web interface and pay a fee per host.</para>
<para>Update Agent, which originally only supported RedHat RPM packages, is now ported to a wider set of software, including non-RedHat repositories. This tool provides a complete system for updating the RPM packages on a RedHat or Fedora Linux system. On the command line, type <command>up2date</command> to update your system. On the desktop, by default a small icon is activated, telleng you whether or not there are updates available for your system.</para>
<para>Yellowdog's Updater Modified (<command>yum</command>) is another tool that recently became more popular. It is an interactive but automated update program for installing, updating or removing RPM packages on a system.</para>
<para>On SuSE Linux, everything is done with <emphasis>YaST</emphasis>, Yet another Setup Tool, which supports a wide variety of system administration tasks, among which updating RPM packages. Starting from SuSE Linux 7.1 you can also upgrade using a web interface and <emphasis>YOU</emphasis>, Yast Online Update.</para>
<para>Mandrake Linux provides so-called URPMI tools, a set of wrapper programs that make installing new software easier for the user. These tools combine with RPMDrake and MandrakeUpdate to provide everything needed for smooth install and uninstall of software packages. MandrakeOnline offers an extended range of services and can automatically notify administrators when updates are available for your particular Mandrake system. Also the KDE and Gnome desktop suites have their own (graphical) versions of package managers, such as <emphasis>gnorpm</emphasis> and <emphasis>KPackage</emphasis>.</para>
</sect3>
<sect3 id="sect_07_06_03_04"><title>Systems supporting DEB packages</title>
<para><ulink url="http://www.ximian.com">Ximian</ulink>, a Linux desktop software vendor, has developed RedCarpet, a graphical tool that you can use to subscribe to different upgrade <quote>channels</quote>. Different channels are available for upgrading a series of Linux distributions and versions, and for upgrading individual Ximian products, such as the Ximian desktop, the E-mail client Evolution, the upgrade tool itself and much more.</para>
<para>Ximian currently supports RedHat, Debian, Mandrake, Solaris, SuSE and YellowDog systems.</para>
</sect3>
@ -808,15 +823,15 @@ title old-kernel
</sect2>
<sect2 id="sect_07_06_05"><title>Installing extra packages from the installation CDs</title>
<sect3 id="sect_07_06_05_01"><title>Mounting a CD</title>
<para>This is basically done in the same way as installing packages manually, except that you have to append the file system of the CD to your machine's file system to make it accessible. On most systems, this will be done automatically upon insertion of a CD in the drive. If not, issue the <command>mount</command> command in a terminal window. Depending on your actual system configuration, a line similar to this one will usually do the trick:</para>
<para>This is basically done in the same way as installing packages manually, except that you have to append the file system of the CD to your machine's file system to make it accessible. On most systems, this will be done automatically upon insertion of a CD in the drive because the <command>automount</command> daemon is started up at boot time. If your CD is not made available automatically, issue the <command>mount</command> command in a terminal window. Depending on your actual system configuration, a line similar to this one will usually do the trick:</para>
<para><cmdsynopsis><command>mount <filename>/dev/cdrom /mnt/cdrom</filename></command></cmdsynopsis></para>
<para>On some systems, only <emphasis>root</emphasis> can mount removable media; this depends on the configuration.</para>
<para>For automation purposes, the CD drive usually has an entry in <filename>/etc/fstab</filename>, which lists the file systems and their mount points, that make up your file system tree. This is such a line:</para>
<screen>
[david@jupiter ~] grep cdrom /etc/fstab
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
</screen>
<para>This indicates that the system will also understand the command <command>mount <filename>/mnt/cdrom</filename></command>.</para>
<para>This indicates that the system will understand the command <command>mount <filename>/mnt/cdrom</filename></command>. The <option>noauto</option> means that on this system, CDs are not mounted automatically.</para>
<para>You may even try to right click on the CD icon on your desktop to mount the CD if your file manager doesn't do it for you. You can check whether it worked issuing the <command>mount</command> command with no arguments:</para>
<screen>
[david@jupiter ~] mount | grep cdrom