Everything works except for Sources.xml

This commit is contained in:
binh 2003-09-13 14:37:30 +00:00
parent 55625a4e89
commit 71dd7d2ffa
22 changed files with 609 additions and 262 deletions

View File

@ -1,6 +1,6 @@
<chapter>
<sect1 id="Foreward">
<title>Foreward</title>
<para></para>
<para>When migrating from another operating system such as Microsoft Windows to another; one thing that will profoundly affect the end user greatly will be the differences between the filesystems.
</para>
@ -111,4 +111,4 @@ was never the intention of the XFree86 group, XFree86 does indeed have its own d
<para>These problems don't manifest themselves as long as you compile programs yourself. You can adapt configure scripts or Makefiles to your system's configuration or to your preference. It's a different story if you install pre-compiled packages like RPMs though. Often these are not adaptable from one file system hierarchy to
another. What's worse: some RPMs might even create their own hierarchy. If you, say, install a KDE RPM from the SuSE Linux distribution on your Mandrake system, the binary will be put into /opt/kde2/bin. And thus it won't work, because Mandrake expects it to be in /usr/bin. There are of course ways to circumvent this problem but the current situation is clearly untenable. Thus, all the leading Linux distributors have joined the Linux Standard Base project, which is attempting to create a common standard for Linux distributions. This isn't easy, since changing the file system hierarchy means a lot of work for distributors so every distributor tries to push a standard which will allow them to keep as much of their own hierarchy as possible. The LSB will also encompass the proposals made by the File system Hierarchy Standard project (FHS, former FSSTND). </para>
</chapter>
</sect1>

View File

@ -1,4 +1,4 @@
<glossary>
<glossary id="Glossary">
<title>Glossary</title>
<glossentry>

View File

@ -1,6 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd" [
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://docbook.org/xml/4.2/docbookx.dtd" [
<!ENTITY Contributors SYSTEM "Contributors.xml">
<!ENTITY Disclaimer SYSTEM "Disclaimer.xml">
<!ENTITY Feedback SYSTEM "Feedback.xml">
@ -28,6 +28,7 @@
<!ENTITY Sources SYSTEM "Sources.xml">
]>
<book>
<bookinfo>
@ -91,16 +92,14 @@ url="http://www.tldp.org/">http://www.tldp.org/</ulink>
&usr;
&opt;
&tmp;
</chapter>
&Glossary;
&Signals;
&Sources;
</chapter>
&Contributors;
&Disclaimer;
&Feedback;
&Sources;
&GFDL;
</book>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<chapter>
<title>UNIX System V Signals</title>
<appendix id="Signals">
<title>UNIX System V Signals</title>
<para></para>
@ -22,4 +22,5 @@ SIGPIPE 13 exit Writes on a pipe with no one to read it.
SIGALRM 14 exit Alarm clock.
SIGTERM 15 exit Software termination signal.
</screen></para>
</chapter>
</appendix>

View File

@ -1,5 +1,6 @@
<appendix id="References">
<title>References</title>
<bibliography id="Sources">
<title>Sources</title>
<itemizedlist>
<listitem>
@ -271,6 +272,4 @@
</listitem>
</itemizedlist>
<para></para>
</appendix>
</bibliography>

View File

@ -1,4 +1,4 @@
<chapter>
<sect1 id="The-Root-Directory">
<title>The Root Directory</title>
<para>
@ -175,4 +175,4 @@
on in this document.
</para>
</chapter>
</sect1>

View File

@ -1,4 +1,4 @@
<chapter id="bin">
<sect1 id="bin">
<title>/bin</title>
<para>
Unlike /sbin, the bin directory contains several useful commands that are of use to both the system administrator as well as non-privileged users. It usually contains the shells like bash, csh, etc.... and commonly used commands like cp, mv, rm, cat, ls. For this reason and in contrast to /usr/bin, the binaries in this directory are considered to be essential. The reason for this is that it contains essential system programs that must be available even if only the partition containing / is mounted. This situation may arise should you need to repair other partitions but have no access to shared directories (ie. you are in single user mode and hence have no network access). It also contains programs which boot scripts may depend on.
@ -77,4 +77,4 @@ must be available on the root partition.
</screen>
</para>
</chapter>
</sect1>

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<chapter id="/boot">
<sect1 id="boot">
<title>/boot</title>
<para>This directory contains everything required for the boot process
@ -79,4 +78,5 @@
/boot/grub/menu.lst</term><listitem><para>Grub configuration file.</para></listitem></varlistentry><varlistentry><term>/boot/grub/messages</term><listitem><para>Grub
boot-up welcome message.</para></listitem></varlistentry><varlistentry><term>/boot/grub/splash.xpm.gz</term><listitem><para>Grub
boot-up background image.</para></listitem></varlistentry></variablelist></para>
</chapter>
</sect1>

View File

@ -1,4 +1,4 @@
<chapter id="/dev">
<sect1 id="dev">
<title>/dev</title>
<para>/dev contains the device files and is a very interesting directory that highlights one important aspect of the Linux filesystem - everything is a file or a directory. Look through this directory and you should hopefully see hda1, hda2 etc.... which represent the various partitions on the first master drive of the system. /dev/cdrom and /dev/fd0 represent your CD-ROM drive and your floppy drive. This may seem strange but it will make sense if you compare the characteristics of files to that of your hardware. Both can be read from and written to. Take /dev/dsp, for instance. This file represents your speaker device. Any data written to this file will be re-directed to your speaker. If you try 'cat /boot/vmlinuz > /dev/dsp' (on a properly configured system) you should hear some sound on the speaker. That's the sound of your kernel! A file sent to /dev/lp0 gets printed. Sending data to and reading from /dev/ttyS0 will allow you to communicate with a device attached there - for instance, your modem.</para>
@ -230,4 +230,4 @@ brw-rw---- 1 root disk 22, 64 Mar 15 2002 /dev/hdd
<para>To alleviate problems of an ever burgeoning /dev directory creation of new device files was officially terminated on June 3, 2001 on Linus's series of kernels. Further development will proceed only on the -ac series (see /usr/src/linux/Documentation/devices.txt for further details).</para>
</chapter>
</sect1>

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<chapter id="/etc">
<sect1 id="etc">
<title>/etc</title>
<para>This is the nerve center of your system, it contains all system
@ -287,13 +286,17 @@ cache-balance = 70
Optionally a custom script can be executed after this commands. See
adduser(8) and adduser.conf(5) for full documentation.</para></listitem></varlistentry><varlistentry><term>/etc/adjtime</term><listitem><para>Has
parameters to help adjust the software (kernel) time so that it matches the
RTC.</para></listitem></varlistentry><varlistentry><term>/etc/aliases</term><listitem><para>This
RTC.</para></listitem></varlistentry>
<varlistentry><term>/etc/aliases</term><listitem><para>This
is the aliases file - it says who gets mail for whom. It was originally
generated by `eximconfig&#39;, part of the exim package distributed with
Debian, but it may edited by the mail system administrator. See exim info
section for details of the things that can be configured here. An aliases
database file (aliases.db) is built from the entries in the aliases files by
the newaliases utility.</para></listitem></varlistentry><varlistentry><term>/etc/alternatives</term><listitem><para>It
the newaliases utility.</para></listitem></varlistentry>
<varlistentry><term>/etc/alternatives</term><listitem><para>It
is possible for several programs fulfilling the same or similar functions to
be installed on a single system at the same time. For example, many systems
have several text editors installed at once. This gives choice to the users
@ -312,7 +315,11 @@ cache-balance = 70
not a direct symbolic link to the selected alternative. Instead, it is a
symbolic link to a name in the alternatives directory, which in turn is a
symbolic link to the actual file referenced. This is done so that the system
administrator&#39;s changes can be confined within the /etc directory.</para></listitem></varlistentry><varlistentry><term>/etc/apt</term><listitem><para></para></listitem></varlistentry><varlistentry><term>/etc/apt/sources.list</term><listitem><para></para><para><screen>
administrator&#39;s changes can be confined within the /etc directory.</para></listitem></varlistentry>
<varlistentry><term>/etc/apt</term><listitem><para></para></listitem></varlistentry>
<varlistentry><term>/etc/apt/sources.list</term><listitem><para><screen>
deb cdrom:[Debian GNU/Linux 3.0 r0 _Woody_ - Official i386 Binary-7 (20020718)]/ unstable contrib main non-US/contrib non-US/main
deb cdrom:[Debian GNU/Linux 3.0 r0 _Woody_ - Official i386 Binary-6 (20020718)]/ unstable contrib main non-US/contrib non-US/main
deb cdrom:[Debian GNU/Linux 3.0 r0 _Woody_ - Official i386 Binary-5 (20020718)]/ unstable contrib main non-US/contrib non-US/main
@ -322,16 +329,26 @@ deb cdrom:[Debian GNU/Linux 3.0 r0 _Woody_ - Official i386 Binary-2 (20020718)]/
deb cdrom:[Debian GNU/Linux 3.0 r0 _Woody_ - Official i386 Binary-1 (20020718)]/ unstable contrib main non-US/contrib non-US/main
# deb http://security.debian.org/ stable/updates main
</screen></para></listitem></varlistentry><varlistentry><term>/etc/apt/apt.conf.d</term><listitem><para></para></listitem></varlistentry><varlistentry><term>/etc/apt/apt.conf.d/70debconf</term><listitem><para><para>
</screen></para></listitem></varlistentry>
<varlistentry><term>/etc/apt/apt.conf.d</term><listitem><para></para></listitem></varlistentry>
<varlistentry><term>/etc/apt/apt.conf.d/70debconf</term><listitem><para>
<screen> // Pre-configure all packages with debconf before they are
installed. // If you don&#39;t like it, comment it out.
DPkg::Pre-Install-Pkgs {&#34;/usr/sbin/dpkg-preconfigure --apt ||
true&#34;;}; </screen> </para></para></listitem></varlistentry><varlistentry><term>/etc/asound.conf</term><listitem><para>ALSA
true&#34;;}; </screen></para></listitem></varlistentry>
<varlistentry><term>/etc/asound.conf</term><listitem><para>ALSA
(Advanced Linux Sound Architecture) configuration file. It is normally
created via alsactl or other third-party sound configuration utilities that
may be specific to a distribution such as sndconfig from Redhat.</para></listitem></varlistentry><varlistentry><term>/etc/at.deny</term><listitem><para>Users
may be specific to a distribution such as sndconfig from Redhat.</para></listitem></varlistentry>
<varlistentry><term>/etc/at.deny</term><listitem><para>Users
denied access to the at daemon. The &#39;at&#39; command allows user to
execute programs at an arbitrary time.</para></listitem></varlistentry><varlistentry><term>/etc/autoconf</term><listitem><para>Configuration
execute programs at an arbitrary time.</para></listitem></varlistentry>
<varlistentry><term>/etc/autoconf</term><listitem><para>Configuration
files for autoconf. &#39;autoconf&#39; creates scripts to configure source
code packages using templates. To create configure from configure.in, run
the autoconf program with no arguments. autoconf processes configure.ac with
@ -419,15 +436,30 @@ server dict.org
Built-in X support, includes IBM character set font. - Graphics capability
at the console with most compatible video cards. - DPMI support so you can
run DOOM. - CDROM support. - Builtin IPX and pktdrvr support. Note -
&#39;dosemu&#39; is simply a ported version of Corel&#39;s own PC-DOS.</para></listitem></varlistentry><varlistentry><term>/etc/email-addresses</term><listitem><para>Part
&#39;dosemu&#39; is simply a ported version of Corel&#39;s own PC-DOS.</para></listitem></varlistentry>
<varlistentry><term>/etc/email-addresses</term><listitem><para>Part
of the exim package. This file contains email addresses to use for outgoing
mail. Any local part not in here will be qualified by the system domain as
normal. It should contain lines of the form: <para><screen> user:
someone@isp.com otheruser: someoneelse@anotherisp.com </screen></para> Exim
is an MTA that is considered to be rather easier to configure than smail or
normal. It should contain lines of the form:
<variablelist>
<varlistentry><term></term><listitem>
<para><screen>
user: someone@isp.com
otheruser: someoneelse@anotherisp.com
</screen></para>
</listitem></varlistentry>
</variablelist>
Exim is an MTA that is considered to be rather easier to configure than smail or
sendmail. It is a drop-in replacement for sendmail, mailq and rsmtp.
Advanced features include the ability to reject connections from known spam
sites, and an extremely efficient queue processing algorithm.</para></listitem></varlistentry><varlistentry><term>/etc/esound.conf</term><listitem><para>ESD
sites, and an extremely efficient queue processing algorithm.</para></listitem></varlistentry>
<varlistentry><term>/etc/esound.conf</term><listitem><para>ESD
configuration files. The Enlightened sound daemon is designed to mix
together several digitized audio streams for playback by a single device.
Like nasd, artsd and rplay it also has the capability to play sounds
@ -803,58 +835,115 @@ Order of scripts run in /etc/rc?.d
configuration files.</para></listitem></varlistentry><varlistentry><term>/etc/issue</term><listitem><para>Output
by getty before the login prompt. Usually contains a short description or
welcoming message to the system. The contents are up to the system
administrator. Debian GNU/\s 3.0 \n \l</para></listitem></varlistentry><varlistentry><term>/etc/issue.net</term><listitem><para>Presents
administrator. Debian GNU/\s 3.0 \n \l</para></listitem></varlistentry>
<varlistentry><term>/etc/issue.net</term><listitem><para>Presents
the welcome screen to users who login remotely to your machine (whereas
/etc/issue determines what a local user sees on login). Debian GNU/%s 3.0 %h</para></listitem></varlistentry><varlistentry><term>/etc/kde</term><listitem><para>KDE
initialization scripts and KDM configuration.</para></listitem></varlistentry><varlistentry><term>/etc/kde/kdm</term><listitem><para>Location
/etc/issue determines what a local user sees on login). Debian GNU/%s 3.0 %h</para></listitem></varlistentry>
<varlistentry><term>/etc/kde</term><listitem><para>KDE
initialization scripts and KDM configuration.</para></listitem></varlistentry>
<varlistentry><term>/etc/kde/kdm</term><listitem><para>Location
for the K Desktop Manager files. kdm manages a collection of X servers,
which may be on the local host or remote machines. It provides services
similar to those provided by init, getty, and login on character-based
terminals: prompting for login name and password, authenticating the user,
and running a session. kdm supports XDMCP (X Display Manager Control
Protocol) and can also be used to run a chooser process which presents the
user with a menu of possible hosts that offer XDMCP display management.</para></listitem></varlistentry><varlistentry><term>/etc/kderc</term><listitem><para><para>System
user with a menu of possible hosts that offer XDMCP display management.</para></listitem></varlistentry>
<varlistentry><term>/etc/kderc</term><listitem><para>System
wide KDE initialization script. Commands here executed every time the KDE
environment is loaded. It&#39;s a link to /etc/kde2/system.kdeglobals</para>
<para> <screen> [Directories] dir_config=/etc/kde2
dir_html=/usr/share/doc/kde/HTML dir_cgi=/usr/lib/cgi-bin
dir_apps=/usr/share/applnk dir_mime=/usr/share/mimelnk
dir_services=/usr/share/services dir_servicetypes=/usr/share/servicetypes
[General] TerminalApplication=x-terminal-emulator </screen> </para></para></listitem></varlistentry><varlistentry><term>/etc/ld.so.conf,
/etc/ld.so.cache</term><listitem><para><para>/etc/ld.so.conf is a file
environment is loaded. It&#39;s a link to /etc/kde2/system.kdeglobals
<variablelist>
<varlistentry><term></term><listitem>
<para> <screen>
[Directories]
dir_config=/etc/kde2
dir_html=/usr/share/doc/kde/HTML
dir_cgi=/usr/lib/cgi-bin
dir_apps=/usr/share/applnk
dir_mime=/usr/share/mimelnk
dir_services=/usr/share/services
dir_servicetypes=/usr/share/servicetypes
[General]
TerminalApplication=x-terminal-emulator
</screen> </para>
</listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>/etc/ld.so.conf, /etc/ld.so.cache</term><listitem><para>
<variablelist>
<varlistentry><term></term><listitem>
<para>/etc/ld.so.conf is a file
containing a list of colon, space, tab, newline, or comma spearated
directories in which to search for libraries. /etc/ld.so.cache containing an
ordered list of libraries found in the directories specified in
/etc/ld.so.conf. This file is not in human readable format, and is not
intended to be edited.</para> <para>&#39;ldconfig&#39; creates the necessary
intended to be edited.</para></listitem></varlistentry>
<varlistentry><term></term><listitem>
<para>&#39;ldconfig&#39; creates the necessary
links and cache (for use by the run-time linker, ld.so) to the most recent
shared libraries found in the directories specified on the command line, in
the file /etc/ld.so.conf, and in the trusted directories (/usr/lib and
/lib). &#39;ldconfig&#39; checks the header and file names of the libraries
it encounters when determining which versions should have their links
updated. ldconfig ignores symbolic links when scanning for libraries.</para>
updated. ldconfig ignores symbolic links when scanning for libraries.</para></listitem></varlistentry>
<varlistentry><term></term><listitem>
<para>&#39;ldconfig&#39; will attempt to deduce the type of ELF libs (ie.
libc5 or libc6/glibc) based on what C libs if any the library was linked
against, therefore when making dynamic libraries, it is wise to explicitly
link against libc (use -lc).</para> <para>Some existing libs do not contain
link against libc (use -lc).</para></listitem></varlistentry>
<varlistentry><term></term><listitem>
<para>Some existing libs do not contain
enough information to allow the deduction of their type, therefore the
/etc/ld.so.conf file format allows the specification of an expected type.
This is only used for those ELF libs which we can not work out. The format
is like this &#34;dirname=TYPE&#34;, where type can be libc4, libc5 or
libc6. (This syntax also works on the command line). Spaces are not allowed.
Also see the -p option.</para> <para>Directory names containing an = are no
longer legal unless they also have an expected type specifier.</para>
Also see the -p option.</para></listitem></varlistentry>
<varlistentry><term></term><listitem>
<para>Directory names containing an = are no
longer legal unless they also have an expected type specifier.</para></listitem></varlistentry>
<varlistentry><term></term><listitem>
<para>&#39;ldconfig&#39; should normally be run by the super-user as it may
require write permission on some root owned directories and files. It is
normally run automatically at bootup or manually whenever new shared
libraries are installed.</para></para></listitem></varlistentry><varlistentry><term>/usr/X11R6/lib</term><listitem><para></para></listitem></varlistentry><varlistentry><term>/usr/local/lib</term><listitem><para></para></listitem></varlistentry><varlistentry><term>/etc/lilo.conf</term><listitem><para>Configuration
libraries are installed.</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>/usr/X11R6/lib</term><listitem><para></para></listitem></varlistentry>
<varlistentry><term>/usr/local/lib</term><listitem><para></para></listitem></varlistentry>
<varlistentry><term>/etc/lilo.conf</term><listitem><para>Configuration
file for the Linux boot loader &#39;lilo&#39;. &#39;lilo&#39; is the
original OS loader and can load Linux and others. The &#39;lilo&#39; package
normally contains lilo (the installer) and boot-record-images to install
Linux, OS/2, DOS and generic Boot Sectors of other Oses. You can use Lilo to
manage your Master Boot Record (with a simple text screen, text menu or
colorful splash graphics) or call &#39;lilo&#39; from other boot-loaders to
jump-start the Linux kernel. <para> <screen> Prompt #Prompt user to select
jump-start the Linux kernel.
<variablelist>
<varlistentry><term></term><listitem>
<para> <screen> Prompt #Prompt user to select
OS choice at boot timeout=300 #Amount of time to wait before default OS
#started default=Windows #Default OS to be loaded vga=normal #VGA mode
boot=/dev/had #location of MBR map=/boot/map #location of kernel
@ -871,11 +960,19 @@ Order of scripts run in /etc/rc?.d
initrd=/mnt/mandrake/boot/initrd.img append=&#34;devfs=mount hdc=ide-scsi
acpi=off quiet&#34; vga=788 read-only other=/dev/hda2 table=/dev/hda
loader=/boot/chain.b label=FBSD other=/dev/hda1 label=Windows table=/dev/hda
other=/dev/fd0 label=floppy unsafe </screen> </para></para></listitem></varlistentry><varlistentry><term>/etc/local.gen</term><listitem><para>This
other=/dev/fd0 label=floppy unsafe</screen></para>
</listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>/etc/local.gen</term><listitem><para>This
file lists locales that you wish to have built. You can find a list of valid
supported locales at /usr/share/i18n/SUPPORTED. Other combinations are
possible, but may not be well tested. If you change this file, you need to
re-run locale-gen.</para></listitem></varlistentry><varlistentry><term>/etc/locale.alias</term><listitem><para>Locale
re-run locale-gen.</para></listitem></varlistentry>
<varlistentry><term>/etc/locale.alias</term><listitem><para>Locale
name alias data base.</para></listitem></varlistentry><varlistentry><term>/etc/login.defs</term><listitem><para>Configuration
control definitions for the login package. An inordinate number of
attributes can be altered via this single file such as the location of mail,
@ -1373,16 +1470,29 @@ Order of scripts run in /etc/rc?.d
no problem though: it would be pretty straight forward to access SANE
devices through a TWAIN source. In summary, if TWAIN had been just a little
better designed, there would have been no reason for SANE to exist, but
things being the way they are, TWAIN simply isn&#39;t SANE.</para></listitem></varlistentry><varlistentry><term>/etc/securetty</term><listitem><para>Identifies
things being the way they are, TWAIN simply isn&#39;t SANE.</para></listitem></varlistentry>
<varlistentry><term>/etc/securetty</term><listitem><para>Identifies
secure terminals, i.e., the terminals from which root is allowed to log in.
Typically only the virtual consoles are listed, so that it becomes
impossible (or at least harder) to gain superuser privileges by breaking
into a system over a modem or a network. <para> <screen> # /etc/securetty:
into a system over a modem or a network.
<variablelist>
<varlistentry><term></term><listitem>
<para><screen> # /etc/securetty:
list of terminals on which root is allowed to login. # See securetty(5) and
login(1). console # Standard consoles tty1 tty2 tty3 tty4 tty5 tty6 tty7
tty8 tty9 tty10 tty11 tty12 # Same as above, but these only occur with devfs
devices vc/1 vc/2 vc/3 vc/4 vc/5 vc/6 vc/7 vc/8 vc/9 vc/10 vc/11 vc/12
</screen> </para></para></listitem></varlistentry><varlistentry><term>/etc/sensors.conf</term><listitem><para>Configuration
</screen> </para>
</listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>/etc/sensors.conf</term><listitem><para>Configuration
file for libsensors. A set of libraries designed to ascertain current
hardware states via motherboard sensor chips. Useful statistics such as core
voltages, CPU temperature can be determined through third party utilities
@ -1429,7 +1539,9 @@ Order of scripts run in /etc/rc?.d
nameserver netbios-ns 137/tcp # NETBIOS Name Service netbios-ns 137/udp
netbios-dgm 138/tcp # NETBIOS Datagram Service netbios-dgm 138/udp
netbios-ssn 139/tcp # NETBIOS session service netbios-ssn 139/udp x11
6000/tcp x11-0 # X windows system x11 6000/udp x11-0 # X windows system</para></listitem></varlistentry><varlistentry><term>/etc/shells</term><listitem><para>Lists
6000/tcp x11-0 # X windows system x11 6000/udp x11-0 # X windows system</para></listitem></varlistentry>
<varlistentry><term>/etc/shells</term><listitem><para>Lists
trusted shells. The chsh command allows users to change their login shell
only to shells listed in this file. ftpd, the server process that provides
FTP services for a machine, will check that the user&#39;s shell is listed
@ -1437,9 +1549,31 @@ Order of scripts run in /etc/rc?.d
there. There are also some display managers that will passively or actively
(dependent upon on distribution and display manager being used) refuse a
user access to the system unless their shell is one of those listed here.
<para> <screen> # /etc/shells: valid login shells /bin/ash /bin/bash
/bin/csh /bin/sh /usr/bin/es /usr/bin/ksh /bin/ksh /usr/bin/rc /usr/bin/tcsh
/bin/tcsh /usr/bin/zsh /bin/sash /bin/zsh /usr/bin/esh </screen> </para></para></listitem></varlistentry><varlistentry><term>/etc/skel/</term><listitem><para>The
<variablelist>
<varlistentry><term></term><listitem>
<para><screen>
# /etc/shells: valid login shells
/bin/ash
/bin/bash
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/zsh
/bin/sash
/bin/zsh
/usr/bin/esh
</screen></para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>/etc/skel/</term><listitem><para>The
default files for each new user are stored in this directory. Each time a
new user is added, these skeleton files are copied into their home
directory. An average system would have: .alias, .bash_profile, .bashrc and
@ -1542,15 +1676,22 @@ Order of scripts run in /etc/rc?.d
symbolic links to directories are required in /etc:</para>
<para><screen> /etc -- Host-specific system configuration /etc/opt
Configuration for /opt <para>The following directories, or symbolic links to
directories must be in /etc, if the corresponding subsystem is installed:<para>
Configuration for /opt
The following directories, or symbolic links to directories must be in /etc,
if the corresponding subsystem is installed:
/etc -- Host-specific system configuration /etc/X11 Configuration for the X
Window System (optional) /etc/sgml Configuration for SGML and XML (optional)
<para>The following files, or symbolic links to files, must be in /etc if
the corresponding subsystem is installed:</para> <para>Systems that use the
shadow password suite will have additional configuration files in /etc
(/etc/shadow and others) and programs in /usr/sbin (useradd, usermod, and
others).</para> csh.login Systemwide initialization file for C shell logins
The following files, or symbolic links to files, must be in /etc if
the corresponding subsystem is installed:
Systems that use the shadow password suite will have additional
configuration files in /etc (/etc/shadow and others) and programs in
/usr/sbin (useradd, usermod, and others).
csh.login Systemwide initialization file for C shell logins
(optional) exports NFS filesystem access control list (optional) fstab
Static information about filesystems (optional) ftpusers FTP daemon user
access control list (optional) gateways File which lists gateways for routed
@ -1564,10 +1705,13 @@ Order of scripts run in /etc/rc?.d
(optional) issue Pre-login message and identification file (optional)
ld.so.conf List of extra directories to search for shared libraries
(optional) motd Post-login message of the day file (optional) mtab Dynamic
information about filesystems (optional) <para>mtab does not fit the static
nature of /etc: it is excepted for historical reasons. On some Linux
systems, this may be a symbolic link to /proc/mounts, in which case this
exception is not required.</para> mtools.conf Configuration file for mtools
information about filesystems (optional)
mtab does not fit the static nature of /etc: it is excepted
for historical reasons. On some Linux systems, this may be a
symbolic link to /proc/mounts, in which case this exception is not required.
mtools.conf Configuration file for mtools
(optional) networks Static information about network names (optional) passwd
The password file (optional) printcap The lpd printer capability database
(optional) profile Systemwide initialization file for sh shell logins
@ -1605,5 +1749,7 @@ Order of scripts run in /etc/rc?.d
*.conf indicate generic configuration files. File with names *.cat are the
DTD-specific centralized catalogs, containing references to all other
catalogs needed to use the given DTD. The super catalog file catalog
references all the centralized catalogs. </para> </para> </screen></para>
</chapter>
references all the centralized catalogs.
</screen></para>
</sect1>

View File

@ -1,4 +1,4 @@
<chapter id="/home">
<sect1 id="home">
<title>/home</title>
<para>Linux is a multi-user environment so each user is also
@ -27,4 +27,4 @@
compiling, installing and running programs, your mail, your collection
of image or sound files etc.</para>
</chapter>
</sect1>

View File

@ -1,5 +1,5 @@
<chapter id="/initrd">
<title>/initrd</title>
<sect1 id="initrd">
<title>/initrd</title>
<para>
<screen>
@ -105,4 +105,4 @@ from the CD-ROM, and loading the RAM disk from CD without need of floppies.
</para>
</chapter>
</sect1>

View File

@ -1,4 +1,4 @@
<chapter id="/lib">
<sect1 id="lib">
<title>/lib</title>
<para>
@ -139,4 +139,4 @@ are the same (one is a symbolic link to the other).
</screen>
</para>
</chapter>
</sect1>

View File

@ -1,4 +1,4 @@
<chapter id="/lost+found">
<sect1 id="lostfound">
<title>/lost+found</title>
@ -49,4 +49,4 @@
</screen>
</para>
</chapter>
</sect1>

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<chapter id="mnt">
<sect1 id="mnt">
<title>/mnt</title>
<para>This is a generic mount point under which you mount your filesystems
@ -154,4 +153,4 @@
<command>mount</command> manual page. If you aren&#39;t careful, mounting an
MS-DOS filesystem gives everyone at least read access to the files in it,
which is not a good idea.</para></sect2>
</chapter>
</sect1>

View File

@ -1,4 +1,4 @@
<chapter id="/opt">
<sect1 id="opt">
<title>/opt</title>
@ -54,4 +54,4 @@
in the case of fixed pathnames found in some binary software.
</para>
</chapter>
</sect1>

View File

@ -1,4 +1,4 @@
<chapter id="/proc">
<sect1 id="proc">
<title>/proc</title>
<para>/proc is very special in that it is also a virtual filesystem.
@ -96,9 +96,10 @@ dr-xr-xr-x 4 root root 0 Jan 19 15:00 tty
process ID. For example, the process table might indicate the following for
the secure shell server:</para>
<para># ps ax | grep sshd</para>
<para>439 ? S 0:00 /usr/sbin/sshd</para>
<para><screen>
# ps ax | grep sshd
439 ? S 0:00 /usr/sbin/sshd
</screen></para>
<para>Details of this process can be obtained by looking at the associated
files in the directory for this process, /proc/460. You might wonder how you
@ -108,7 +109,7 @@ dr-xr-xr-x 4 root root 0 Jan 19 15:00 tty
process information resides. For example, a listing of the files in the
/proc/460 directory looks similar to the following:</para>
<para><screen>total 0
<para><screen>total 0
-r--r--r-- 1 root root 0 Jan 19 15:02 cmdline
lrwxrwxrwx 1 root root 0 Jan 19 15:02 cwd -&#62; /
-r-------- 1 root root 0 Jan 19 15:02 environ
@ -124,7 +125,9 @@ lrwxrwxrwx 1 root root 0 Jan 19 15:02 root -&#62; /
<para>The purpose and contents of each of these files is explained below:</para>
<para><variablelist><varlistentry><term>/proc/PID/cmdline</term><listitem><para>Command
<para><variablelist>
<varlistentry><term>/proc/PID/cmdline</term><listitem><para>Command
line arguments.</para></listitem></varlistentry><varlistentry><term>/proc/PID/cpu</term><listitem><para>Current
and last cpu in wich it was executed.</para></listitem></varlistentry><varlistentry><term>/proc/PID/cwd</term><listitem><para>Link
to the current working directory.</para></listitem></varlistentry><varlistentry><term>/proc/PID/environ</term><listitem><para>Values
@ -136,7 +139,9 @@ lrwxrwxrwx 1 root root 0 Jan 19 15:02 root -&#62; /
to the root directory of this process.</para></listitem></varlistentry><varlistentry><term>/proc/PID/stat</term><listitem><para>Process
status.</para></listitem></varlistentry><varlistentry><term>/proc/PID/statm</term><listitem><para>Process
memory status information.</para></listitem></varlistentry><varlistentry><term>/proc/PID/status</term><listitem><para>Process
status in human readable form.</para></listitem></varlistentry></variablelist></para>
status in human readable form.</para></listitem></varlistentry>
</variablelist></para>
<para>Should you wish to know more, the man page for proc describes each of
the files associated with a running process ID in far greater detail.</para>
@ -144,7 +149,7 @@ lrwxrwxrwx 1 root root 0 Jan 19 15:02 root -&#62; /
<para>Even though files appear to be of size 0, examining their contents
reveals otherwise:</para>
<para># cat status</para>
<para><screen># cat status</screen></para>
<para><screen>
Name: sshd
@ -177,7 +182,7 @@ CapEff: 00000000fffffeff
subdirectory files. For example, examining the contents of the
/proc/interrupts file displays something like the following:</para>
<para># cat interrupts</para>
<para><screen># cat interrupts</screen></para>
<para><screen> CPU0
0: 32657 XT-PIC timer
@ -202,7 +207,7 @@ ERR: 0
<para>The procinfo utility summarizes /proc file system information into a
display similar to the following:</para>
<para># /usr/bin/procinfo</para>
<para><screen># /usr/bin/procinfo</screen></para>
<para><screen>Linux 2.4.18 (root@DEB) (gcc 2.95.4 20011002 ) #2 1CPU [DEB.(none)]
@ -268,8 +273,10 @@ irq 8: 3 rtc irq 15: 83 ide1
controller-specific subtree. The file drivers contains general information
about the drivers used for the IDE devices. More detailed information can be
found in the controller-specific subdirectories. These are named ide0, ide1
and so on. Each of these directories contains the files shown here:</para>
and so on. Each of these directories contains the files shown here:
<variablelist>
<varlistentry><term>/proc/ide/ide?/channel</term><listitem><para> IDE
channel (0 or 1)</para></listitem></varlistentry>
<varlistentry><term>/proc/ide/ide?/config</term><listitem><para>
@ -277,11 +284,15 @@ irq 8: 3 rtc irq 15: 83 ide1
<varlistentry><term>/proc/ide/ide?/mate</term><listitem><para> Mate name
(onchip partnered controller)</para></listitem></varlistentry>
<varlistentry><term>/proc/ide/ide?/model</term><listitem><para> Type/Chipset
of IDE controller</para></listitem></varlistentry> <para>Each device
connected to a controller has a separate subdirectory in the controllers
directory. The following files listed are contained in these directories:</para>
<varlistentry><term>/proc/ide/ide?/model/cache</term><listitem><para> The
cache.</para></listitem></varlistentry> <varlistentry><term>/proc/ide/ide?/model/capacity</term><listitem><para>
of IDE controller</para></listitem></varlistentry>
<varlistentry><term></term><listitem><para>
Each device connected to a controller has a separate subdirectory in the controllers
directory. The following files listed are contained in these directories:</para></listitem></varlistentry>
<varlistentry><term>/proc/ide/ide?/model/cache</term><listitem><para>
The cache.</para></listitem></varlistentry>
<varlistentry><term>/proc/ide/ide?/model/capacity</term><listitem><para>
Capacity of the medium (in 512Byte blocks)</para></listitem></varlistentry>
<varlistentry><term>/proc/ide/ide?/model/driver</term><listitem><para>
driver and version</para></listitem></varlistentry>
@ -297,17 +308,22 @@ irq 8: 3 rtc irq 15: 83 ide1
IDE disk management thresholds</para></listitem></varlistentry>
<varlistentry><term>/proc/ide/ide?/model/smart_values</term><listitem><para>
IDE disk management values</para></listitem></varlistentry>
</listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>/proc/interrupts</term><listitem><para> Shows which
interrupts are in use, and how many of each there have been. <para>You can,
for example, check which interrupts are currently in use and what they are
used for by looking in the file /proc/interrupts:</para> <para># cat
/proc/interrupts</para>
interrupts are in use, and how many of each there have been.
<variablelist>
<varlistentry><term></term><listitem>
<para>You can, for example, check which interrupts are currently in use
and what they are used for by looking in the file /proc/interrupts:</para></listitem></varlistentry>
<para><screen>
<varlistentry><term></term><listitem><para><screen># cat /proc/interrupts</screen></para></listitem></varlistentry>
<varlistentry><term></term><listitem><para><screen>
CPU0 0: 8728810
XT-PIC timer 1: 895
XT-PIC keyboard 2:
@ -321,65 +337,86 @@ irq 8: 3 rtc irq 15: 83 ide1
XT-PIC fpu 14: 1232265
XT-PIC ide0 15: 7
XT-PIC ide1 NMI: 0
</screen></para>
</screen></para></listitem></varlistentry>
<para>In 2.4 based kernels a couple of
<varlistentry><term></term><listitem><para>In 2.4 based kernels a couple of
lines were added to this file LOC &#38; ERR (this is the output of an SMP
machine):</para>
machine):</para></listitem></varlistentry>
<para># cat /proc/interrupts</para>
<para>
<screen> CPU0 CPU1 0: 1243498 1214548 IO-APIC-edge timer 1: 8949 8958
IO-APIC-edge keyboard 2: 0 0 XT-PIC cascade 5: 11286 10161 IO-APIC-edge
soundblaster 8: 1 0 IO-APIC-edge rtc 9: 27422 27407 IO-APIC-edge 3c503 12:
113645 113873 IO-APIC-edge PS/2 Mouse 13: 0 0 XT-PIC fpu 14: 22491 24012
IO-APIC-edge ide0 15: 2183 2415 IO-APIC-edge ide1 17: 30564 30414
IO-APIC-level eth0 18: 177 164 IO-APIC-level bttv NMI: 2457961 2457959 LOC:
2457882 2457881 ERR: 2155
<varlistentry><term></term><listitem><para><screen># cat /proc/interrupts</screen></para></listitem></varlistentry>
<varlistentry><term></term><listitem><para>
<screen>
CPU0 CPU1
0: 1243498 1214548 IO-APIC-edge timer
1: 8949 8958 IO-APIC-edge keyboard
2: 0 0 XT-PIC cascade
5: 11286 10161 IO-APIC-edge soundblaster
8: 1 0 IO-APIC-edge rtc
9: 27422 27407 IO-APIC-edge 3c503
12: 113645 113873 IO-APIC-edge PS/2 Mouse
13: 0 0 XT-PIC fpu 14: 22491 24012 IO-APIC-edge ide0
15: 2183 2415 IO-APIC-edge ide1
17: 30564 30414 IO-APIC-level eth0
18: 177 164 IO-APIC-level bttv NMI: 2457961 2457959 LOC: 2457882 2457881 ERR: 2155
</screen>
</para>
</para></listitem></varlistentry>
<para>NMI is incremented in this
<varlistentry><term></term><listitem><para>NMI is incremented in this
case because every timer interrupt generates a NMI (Non Maskable Interrupt)
which is used by the NMI Watchdog to detect lookups.</para>
which is used by the NMI Watchdog to detect lookups.</para></listitem></varlistentry>
<para>LOC is the
local interrupt counter of the internal APIC of every CPU.</para>
<varlistentry><term></term><listitem><para>LOC is the
local interrupt counter of the internal APIC of every CPU.</para></listitem></varlistentry>
<para>ERR is incremented in the case of errors in the IO-APIC bus (the bus
<varlistentry><term></term><listitem><para>ERR is incremented in the case of errors in the IO-APIC bus (the bus
that connects the CPUs in an SMP system. This means that an error has been
detected, the IO-APIC automatically retries the transmission, so it should
not be a big problem, but you should read the SMP-FAQ.</para>
not be a big problem, but you should read the SMP-FAQ.</para></listitem></varlistentry>
<para>In this
<varlistentry><term></term><listitem><para>In this
context it could be interesting to note the new irq directory in 2.4. It
could be used to set IRQ to CPU affinity, this means that you can
&#34;hook&#34; an IRQ to only one CPU, or to exclude a CPU from handling
IRQs. The contents of the irq subdir is one subdir for each IRQ, and one
file; prof_cpu_mask. For example,</para>
file; prof_cpu_mask. For example,</para></listitem></varlistentry>
<para> <screen> # ls /proc/irq/ 0
10 12 14 16 18 2 4 6 8 prof_cpu_mask 1 11 13 15 17 19 3 5 7 9 </screen>
</para>
<varlistentry><term></term><listitem><para>
<screen>
# ls /proc/irq/ 0 10 12 14 16 18 2 4 6 8 prof_cpu_mask
1 11 13 15 17 19 3 5 7 9
</screen>
</para></listitem></varlistentry>
<para> <screen> # ls /proc/irq/0/ smp_affinity </screen> </para>
<varlistentry><term></term><listitem><para>
<screen>
# ls /proc/irq/0/ smp_affinity
</screen>
</para></listitem></varlistentry>
<para>The contents of the prof_cpu_mask file and each smp_affinity file for
each IRQ is the same by default:</para>
<varlistentry><term></term><listitem><para>The contents of the prof_cpu_mask file and each smp_affinity file for
each IRQ is the same by default:</para></listitem></varlistentry>
<para> <screen> # cat /proc/irq/0/smp_affinity ffffffff </screen> </para>
<varlistentry><term></term><listitem><para>
<screen>
# cat /proc/irq/0/smp_affinity
ffffffff
</screen>
</para></listitem></varlistentry>
<para>It&#39;s a bitmask, in which you can specify wich CPUs can handle
the IRQ, you can set it by doing:</para>
<varlistentry><term></term><listitem><para>It&#39;s a bitmask, in which you can specify wich CPUs can handle
the IRQ, you can set it by doing:</para></listitem></varlistentry>
<para># echo 1 &#62; /proc/irq/prof_cpu_mask</para>
<varlistentry><term></term><listitem><para><screen># echo 1 &#62; /proc/irq/prof_cpu_mask</screen></para></listitem></varlistentry>
<para>This means that only the first CPU will handle the IRQ, but you can
<varlistentry><term></term><listitem><para>This means that only the first CPU will handle the IRQ, but you can
also echo 5 which means that only the first and fourth CPU can handle the
IRQ. The way IRQs are routed is handled by the IO-APIC, and it&#39;s Round
Robin between all the CPUs which are allowed to handle it. As usual the
kernel has more info than you and does a better job than you, so the
defaults are the best choice for almost everyone.</para>
defaults are the best choice for almost everyone.</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
@ -444,7 +481,9 @@ irq 8: 3 rtc irq 15: 83 ide1
about network protocols.</para></listitem></varlistentry>
<varlistentry><term>IPv6 information</term><listitem><para>
<variablelist>
<varlistentry><term>/proc/net/udp6</term><listitem><para>
UDP sockets (IPv6).</para></listitem></varlistentry>
@ -470,10 +509,13 @@ irq 8: 3 rtc irq 15: 83 ide1
statistics (IPv6).</para></listitem></varlistentry>
<varlistentry><term>/proc/net/snmp6</term><listitem><para> Snmp data (IPv6).</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>General Network information</term><listitem><para>
<variablelist>
<varlistentry><term>/proc/net/arp</term><listitem><para>
Kernel ARP table.</para></listitem></varlistentry>
@ -554,7 +596,9 @@ irq 8: 3 rtc irq 15: 83 ide1
that is specific to that bond, such as the current slaves of the bond, the
link status of the slaves, and how many times the slaves link has failed.</para>
</listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
@ -562,7 +606,9 @@ irq 8: 3 rtc irq 15: 83 ide1
The directory /proc/parport contains information about the parallel
ports of your system. It has one subdirectory for each port,
named after the port number (0,1,2,...).
<variablelist>
<varlistentry><term>/proc/parport/autoprobe</term><listitem><para>
Any IEEE-1284 device ID information that has been acquired.</para></listitem></varlistentry>
<varlistentry><term>/proc/parport/devices</term><listitem><para> list of the
@ -574,6 +620,8 @@ irq 8: 3 rtc irq 15: 83 ide1
parport is using for that port. This is in a separate file to allow you to
alter it by writing a new value in (IRQ number or none).</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
@ -629,16 +677,22 @@ irq 8: 3 rtc irq 15: 83 ide1
<varlistentry><term>/proc/sys/fs</term><listitem><para>Contains file system
data. This subdirectory contains specific file system, file handle, inode,
dentry and quota information.
<variablelist>
<varlistentry><term>dentry-state</term><listitem><para> Status of the
directory cache. Since directory entries are dynamically allocated and
deallocated, this file indicates the current status. It holds six values, in
which the last two are not used and are always zero. The others are listed
below:</para></listitem></varlistentry>
<para> <screen> File Content nr_dentry Almost always zero nr_unused
Number of unused cache entries age_limit in seconds after the entry may be
reclaimed, when memory is short want_pages internally </screen> </para>
<varlistentry><term></term><listitem><para><screen>
File Content
nr_dentry Almost always zero
nr_unused Number of unused cache entries
age_limit in seconds after the entry may be
reclaimed, when memory is short want_pages internally
</screen></para></listitem></varlistentry>
<varlistentry><term>dquot-max</term><listitem><para>
The file dquot-max shows the maximum number of cached disk
@ -658,36 +712,44 @@ irq 8: 3 rtc irq 15: 83 ide1
want to raise this limit. The default value is 4096. To change it, just
write the new number into the file:</para></listitem></varlistentry>
<para> <screen> # cat
<varlistentry><term></term><listitem>
<para><screen>
# cat
/proc/sys/fs/file-max 4096 # echo 8192 &#62; /proc/sys/fs/file-max # cat
/proc/sys/fs/file-max 8192 </screen> </para>
/proc/sys/fs/file-max 8192 </screen></para></listitem></varlistentry>
<varlistentry><term></term><listitem>
<para>This method of revision is useful for all customizable parameters
of the kernel - simply echo the new value to the corresponding file.</para>
</listitem></varlistentry>
<varlistentry><term></term><listitem>
<para>The three values in file-nr denote the number of allocated file
handles, the number of used file handles, and the maximum number of
file handles. When the allocated file handles come close to the maximum,
but the number of actually used handles is far behind, you&#39;ve
encountered a peak in your usage of file handles and you don&#39;t
need to increase the maximum.</para>
need to increase the maximum.</para></listitem></varlistentry>
<varlistentry><term>inode-state, inode-nr and inode-max</term><listitem><para>
As with file handles, the kernel allocates the inode
structures dynamically, but can&#39;t free them yet.</para></listitem></varlistentry>
<para>The value
in inode-max denotes the maximum number of inode handlers. This value should
be 3 to 4 times larger than the value in file-max, since stdin, stdout, and
<varlistentry><term></term><listitem>
<para>The value in inode-max denotes the maximum number of
inode handlers. This value should be 3 to 4 times larger than the
value in file-max, since stdin, stdout, and
network sockets also need an inode struct to handle them. If you regularly
run out of inodes, you should increase this value.</para>
run out of inodes, you should increase this value.</para></listitem></varlistentry>
<varlistentry><term></term><listitem>
<para>The file inode-nr contains the first two items from inode-state,
so we&#39;ll skip to that file...</para>
so we&#39;ll skip to that file...</para></listitem></varlistentry>
<varlistentry><term></term><listitem>
<para>inode-state contains three actual numbers and four dummy
values. The numbers are nr_inodes, nr_free_inodes, and preshrink (in order
of appearance).</para>
of appearance).</para></listitem></varlistentry>
<varlistentry><term>nr_inodes</term><listitem><para>
Denotes the number of inodes the system has allocated. This can be
@ -739,6 +801,7 @@ irq 8: 3 rtc irq 15: 83 ide1
example of the usage of binfmt_misc (emulate binfmt_java) follows:
</para></listitem></varlistentry>
<varlistentry><term></term><listitem>
<para><screen>
cd /proc/sys/fs/binfmt_misc
echo &#39;:Java:M::\xca\xfe\xba\xbe::/usr/local/java/bin/javawrapper:&#39;
@ -749,7 +812,10 @@ irq 8: 3 rtc irq 15: 83 ide1
register
echo &#39;:DEXE:M::\x0eDEX::/usr/bin/dosexec:&#39; &#60; register
</screen></para>
</listitem></varlistentry>
<varlistentry><term></term><listitem>
<para>
These four lines add support for Java executables and Java applets (like
binfmt_java, additionally recognizing the .html extension with no need to
@ -757,14 +823,19 @@ irq 8: 3 rtc irq 15: 83 ide1
and the shell-script /usr/local/java/bin/javawrapper too. It works around
the brokenness of the Java filename handling. To add a Java binary, just
create a link to the class-file somewhere in the path.</para>
</listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>/proc/sys/kernel</term><listitem><para> This directory
reflects general kernel behaviors and the contents will be dependent upon
your configuration. Here you&#39;ll find the most important files, along
with descriptions of what they mean and how to use them.
<variablelist>
<varlistentry><term>/proc/sys/kernel/acct</term><listitem><para> The file
contains three values; highwater, lowwater, and frequency. It exists only
when BSD-style process accounting is enabled. These values control its
@ -774,7 +845,9 @@ irq 8: 3 rtc irq 15: 83 ide1
amount of free space (value is in seconds). Default settings are: 4, 2, and
30. That is, suspend accounting if there is less than 2 percent free; resume
it if we have a value of 3 or more percent; consider information about the
amount of free space valid for 30 seconds</para></listitem></varlistentry>
amount of free space valid for 30 seconds</para></listitem>
</varlistentry>
<varlistentry><term>/proc/sys/kernel/ctrl-alt-del</term><listitem><para>
When the value in this file is 0, ctrl-alt-del is trapped and sent to the
init program to handle a graceful restart. However, when the value is
@ -783,6 +856,7 @@ irq 8: 3 rtc irq 15: 83 ide1
when a program (like dosemu) has the keyboard in raw mode, the ctrl-alt-del
is intercepted by the program before it ever reaches the kernel tty layer,
and it is up to the program to decide what to do with it.</para></listitem></varlistentry>
<varlistentry><term>/proc/sys/kernel/domainname, /proc/sys/kernel/hostname</term><listitem><para>
These files can be controlled to set the NIS domainname and hostname of your
box. For the classic darkstar.frop.org a simple: # echo &#34;darkstar&#34;
@ -797,35 +871,45 @@ irq 8: 3 rtc irq 15: 83 ide1
kernel built from this source base and the date after it indicates the time
the kernel was built. The only way to tune these values is to rebuild the
kernel.</para></listitem></varlistentry>
<varlistentry><term>/proc/sys/kernel/panic</term><listitem><para>
The value in this file represents the number of seconds the kernel waits
before rebooting on a panic. When you use the software watchdog, the
recommended setting is 60. If set to 0, the auto reboot after a kernel panic
is disabled, which is the default setting.</para></listitem></varlistentry>
<varlistentry><term>/proc/sys/kernel/printk</term><listitem><para> The four
values in printk denote * console_loglevel, * default_message_loglevel, *
minimum_console_level and * default_console_loglevel respectively. These
values influence printk() behavior when printing or logging error messages,
which come from inside the kernel. See syslog(2) for more information on the
different log levels.</para></listitem></varlistentry>
<varlistentry><term>/proc/sys/kernel/console_loglevel</term><listitem><para>
Messages with a higher priority than this will be printed to the console.</para></listitem></varlistentry>
<varlistentry><term>/proc/sys/kernel/default_message_level</term><listitem><para>
Messages without an explicit priority will be printed with this priority.</para></listitem></varlistentry>
<varlistentry><term>/proc/sys/kernel/minimum_console_loglevel</term><listitem><para>
Minimum (highest) value to which the console_loglevel can be set.</para></listitem></varlistentry>
<varlistentry><term>/proc/sys/kernel/default_console_loglevel</term><listitem><para>
Default value for console_loglevel.</para></listitem></varlistentry>
<varlistentry><term>/proc/sys/kernel/sg-big-buff</term><listitem><para> This
file shows the size of the generic SCSI (sg) buffer. At this point, you
can&#39;t tune it yet, but you can change it at compile time by editing
include/scsi/sg.h and changing the value of SG_BIG_BUFF. If you use a
scanner with SANE (Scanner Access Now Easy) you might want to set this to a
higher value. Refer to the SANE documentation on this issue.</para></listitem></varlistentry>
<varlistentry><term>/proc/sys/kernel/modprobe</term><listitem><para> The
location where the modprobe binary is located. The kernel uses this program
to load modules on demand.</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
@ -841,7 +925,7 @@ irq 8: 3 rtc irq 15: 83 ide1
this to a higher value means that Linux can delay disk writes for a long
time, but it also means that it will have to do a lot of I/O at once when
memory becomes short. A lower value will spread out disk I/O more evenly.</para></listitem></varlistentry>
<varlistentry><term>ndirty</term><listitem><para>
Ndirty gives the maximum number of dirty buffers that bdflush can
write to the disk at one time. A high value will mean delayed, bursty I/O,
@ -870,22 +954,36 @@ irq 8: 3 rtc irq 15: 83 ide1
<varlistentry><term>buffermem</term><listitem><para>
The three values in this file control how much memory should be
used for buffer memory. The percentage is calculated as a percentage
of total system memory. <para>The values are:</para>
of total system memory.
<variablelist>
<varlistentry><term></term><listitem><para>The values are:</para></listitem></varlistentry>
<varlistentry><term>min_percent</term><listitem><para>
This is the minimum percentage of memory that should be
spent on buffer memory.</para></listitem></varlistentry>
<varlistentry><term>borrow_percent</term><listitem><para>
When Linux is short on memory, and the buffer cache uses
more than it has been allotted, the memory management
(MM) subsystem will prune the buffer cache more heavily than other memory to
compensate.</para></listitem></varlistentry>
<varlistentry><term>max_percent</term><listitem><para>
This is the maximum amount of memory that can be
used for buffer memory.</para></listitem></varlistentry>
</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>freepages</term><listitem><para>
<para>This file contains three values: min, low and high:</para>
<variablelist>
<varlistentry><term></term><listitem><para>This file contains three values: min, low and high:</para></listitem></varlistentry>
<varlistentry><term>min</term><listitem><para>
When the number of free pages in the system reaches this
number, only the kernel can allocate more memory.</para></listitem></varlistentry>
@ -896,6 +994,9 @@ irq 8: 3 rtc irq 15: 83 ide1
The kernel tries to keep up to this amount of memory free; if memory falls
below this point, the kernel starts gently swapping in the hopes that it
never has to do really aggressive swapping.</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>kswapd</term><listitem><para>
@ -903,7 +1004,11 @@ irq 8: 3 rtc irq 15: 83 ide1
piece of the kernel that frees memory when it gets fragmented
or full. Since every system is different, you&#39;ll
probably want some control over this piece of the system.
<para>The file contains three numbers:</para>
<variablelist>
<varlistentry><term></term><listitem><para>The file contains three numbers:</para></listitem></varlistentry>
<varlistentry><term>tries_base</term><listitem><para>
The maximum number of pages kswapd tries to free
in one round is calculated from this number. Usually this number will be
@ -921,7 +1026,9 @@ irq 8: 3 rtc irq 15: 83 ide1
one turn. You&#39;ll want this value to be large so that kswapd does its I/O
in large chunks and the disk doesn&#39;t have to seek as often, but you
don&#39;t want it to be too large since that would flood the request queue.</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
@ -956,39 +1063,40 @@ irq 8: 3 rtc irq 15: 83 ide1
it might be advantageous to set both values to 0.</para></listitem></varlistentry>
<varlistentry><term>swapctl</term><listitem><para>
This file contains no less than 8 variables.
<variablelist>
<varlistentry><term></term><listitem>
<para>This file contains no less than 8 variables.
All of these values are used by kswapd. The first
four variables
* sc_max_page_age,
* sc_page_advance,
* sc_page_decline and
* sc_page_initial_age
are used to keep track of Linux&#39;s page aging. Page
four variables sc_max_page_age, sc_page_advance, sc_page_decline and
sc_page_initial_age are used to keep track of Linux&#39;s page aging. Page
ageing is a bookkeeping method to track which pages of memory are often
used, and which pages can be swapped out without consequences.
used, and which pages can be swapped out without consequences.</para></listitem></varlistentry>
When a page is swapped in, it starts at sc_page_initial_age (default 3)
<varlistentry><term></term><listitem>
<para>When a page is swapped in, it starts at sc_page_initial_age (default 3)
and when the page is scanned by kswapd, its age is adjusted
according to the following scheme:
* If the page was used since the last time we scanned, its age is
according to the following scheme.</para></listitem></varlistentry>
<varlistentry><term></term><listitem>
<para>If the page was used since the last time we scanned, its age is
increased by sc_page_advance (default 3). Where the maximum value is given
by sc_max_page_age (default 20).
* Otherwise (meaning it wasn&#39;t used)
its age is decreased by sc_page_decline (default 1).
by sc_max_page_age (default 20). Otherwise (meaning it wasn&#39;t used)
its age is decreased by sc_page_decline (default 1).</para></listitem></varlistentry>
When a page reaches age 0, it&#39;s ready to be swapped out.
<varlistentry><term></term><listitem><para>When a page reaches age 0, it&#39;s ready to be swapped out.</para></listitem></varlistentry>
The variables sc_age_cluster_fract,
<varlistentry><term></term><listitem><para>The variables sc_age_cluster_fract,
sc_age_cluster_min, sc_pageout_weight and sc_bufferout_weight, can be used
to control kswapd&#39;s aggressiveness in swapping out pages.
to control kswapd&#39;s aggressiveness in swapping out pages.</para></listitem></varlistentry>
Sc_age_cluster_fract is used to calculate how many pages from a process are
to be scanned by kswapd. The formula used is
<varlistentry><term></term><listitem><para>Sc_age_cluster_fract is used to calculate how many pages from a process are
to be scanned by kswapd. The formula used is</para></listitem></varlistentry>
(sc_age_cluster_fract divided by 1024) times resident set size
<varlistentry><term></term><listitem><para>(sc_age_cluster_fract divided by 1024) times resident set size</para></listitem></varlistentry>
So if you want kswapd to scan the whole process,
<varlistentry><term></term><listitem><para>So if you want kswapd to scan the whole process,
sc_age_cluster_fract needs to have a value of 1024. The minimum
number of pages kswapd will scan is represented by sc_age_cluster_min, which
is done so that kswapd will also scan small processes. The values of
@ -997,7 +1105,10 @@ irq 8: 3 rtc irq 15: 83 ide1
used to fine-tune the ratio between user pages and buffer/cache memory. When
you find that your Linux system is swapping out too many process pages in
order to satisfy buffer memory demands, you may want to either increase
sc_bufferout_weight, or decrease the value of sc_pageout_weight.
sc_bufferout_weight, or decrease the value of sc_pageout_weight.</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>/proc/sys/dev</term><listitem><para>Device specific
@ -1011,7 +1122,9 @@ irq 8: 3 rtc irq 15: 83 ide1
two drives, sr0 and hdb, along with a list of their features.</para></listitem></varlistentry>
<varlistentry><term>SUNRPC</term><listitem><para>
<variablelist>
<varlistentry><term>/proc/sys/sunrpc</term><listitem><para>
This directory contains four files, which enable or disable debugging for
the RPC functions NFS, NFS-daemon, RPC and NLM. The default values are 0.
@ -1028,12 +1141,16 @@ irq 8: 3 rtc irq 15: 83 ide1
for those protocols not covered here. In this section we&#39;ll discuss the
subdirectories listed above. As default values are suitable for most needs,
there is no need to change these values.</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>GENERAL PARAMETERS</term><listitem><para>
<variablelist>
<varlistentry><term>/proc/sys/net/core</term><listitem><para>
Network core options</para></listitem></varlistentry>
@ -1065,21 +1182,29 @@ irq 8: 3 rtc irq 15: 83 ide1
<varlistentry><term>optmem_max</term><listitem><para> Maximum ancillary
buffer size allowed per socket. Ancillary data is a sequence of struct
cmsghdr structures with appended data.</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>UNIX DOMAIN SOCKETS</term><listitem><para>
<variablelist>
<varlistentry><term>/proc/sys/net/unix</term><listitem><para>
Parameters for Unix domain sockets</para></listitem></varlistentry>
<para>There are only two files in this subdirectory. They control the
delays for deleting and destroying socket descriptors.</para>
<varlistentry><term></term><listitem><para>There are only two files in this subdirectory. They control the
delays for deleting and destroying socket descriptors.</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>IPv4</term><listitem><para>
<variablelist>
<varlistentry><term>/proc/sys/net/ipv4</term><listitem><para> IPV4 settings.
IP version 4 is still the most used protocol in Unix networking. It will be
replaced by IP version 6 in the next couple of years, but for the moment
@ -1087,29 +1212,39 @@ irq 8: 3 rtc irq 15: 83 ide1
networking environments around the world. Because of the importance of this
protocol, we&#39;ll have a deeper look into the subtree controlling the
behavior of the Ipv4 subsystem of the Linux kernel.</para></listitem></varlistentry>
<para>Let&#39;s start with the entries in /proc/sys/net/ipv4.</para>
<varlistentry><term></term><listitem><para>Let&#39;s start with the entries in /proc/sys/net/ipv4.</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>ICMP settings</term><listitem><para>
<variablelist>
<varlistentry><term>icmp_echo_ignore_all and icmp_echo_ignore_broadcasts</term><listitem><para> Turn on (1) or off (0), if the kernel should ignore all ICMP ECHO requests, or just those to
broadcast and multicast addresses.
broadcast and multicast addresses.</para></listitem></varlistentry>
<para>Please note that if you accept ICMP echo requests with a
<varlistentry><term></term><listitem><para>Please note that if you accept ICMP echo requests with a
broadcast/multi\-cast destination address your network
may be used as an exploder for denial of service packet flooding attacks to
other hosts.</para>
other hosts.</para></listitem></varlistentry>
<para>icmp_destunreach_rate, icmp_echoreply_rate, icmp_paramprob_rate
and icmp_timeexeed_rate Sets limits for sending ICMP packets to specific
<varlistentry><term>icmp_destunreach_rate, icmp_echoreply_rate, icmp_paramprob_rate
and icmp_timeexeed_rate</term><listitem><para>
Sets limits for sending ICMP packets to specific
targets. A value of zero disables all limiting. Any positive value sets
the maximum package rate in hundredth of a second (on
Intel systems).</para></para></listitem></varlistentry>
Intel systems).</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>IP settings</term><listitem><para>
<variablelist>
<varlistentry><term>ip_autoconfig</term><listitem><para>This file contains
the number one if the host received its IP configuration by RARP, BOOTP,
@ -1140,20 +1275,28 @@ irq 8: 3 rtc irq 15: 83 ide1
<varlistentry><term>ip_masq_debug</term><listitem><para> Enable/disable
debugging of IP masquerading.</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>IP fragmentation settings</term><listitem><para>
<variablelist>
<varlistentry><term>ipfrag_high_trash and ipfrag_low_trash</term><listitem><para>Maximum memory used to reassemble IP fragments. When ipfrag_high_thresh bytes of memory is allocated for this purpose, the fragment handler will toss packets until ipfrag_low_thresh is reached.</para></listitem></varlistentry>
<varlistentry><term>ipfrag_time</term><listitem><para>
Time in seconds to keep an IP fragment in memory.</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>TCP settings</term><listitem><para>
<variablelist>
<varlistentry><term>tcp_ecn</term><listitem><para>
This file controls the use of the ECN bit in the IPv4 headers, this is a new
@ -1222,14 +1365,20 @@ irq 8: 3 rtc irq 15: 83 ide1
<varlistentry><term>tcp_retries2</term><listitem><para> Defines how often a
TCP packet is retransmitted before giving up.</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>/proc/sys/net/ipv4/conf</term><listitem><para>Here
you&#39;ll find one subdirectory for each interface the system knows about
<varlistentry><term>/proc/sys/net/ipv4/conf</term><listitem><para>
<variablelist>
<varlistentry><term></term><listitem>
<para>Here you&#39;ll find one subdirectory for each interface the system knows about
and one directory calls all. Changes in the all subdirectory affect all
interfaces, whereas changes in the other subdirectories affect only one
interface. All directories have the same entries:
interface. All directories have the same entries:</para></listitem></varlistentry>
<varlistentry><term>accept_redirects</term><listitem><para> This switch
decides if the kernel accepts ICMP redirect messages or not. The default is
@ -1288,6 +1437,7 @@ irq 8: 3 rtc irq 15: 83 ide1
<varlistentry><term>redirect_silence</term><listitem><para> Timeout for
redirects. After this period redirects will be sent again, even if this has
been stopped, because the load or number limit has been reached. </para></listitem></varlistentry>
<varlistentry><term>/proc/sys/net/ipv4/neigh</term><listitem><para> Network
Neighbor handling. It contains settings about how to handle connections with
direct neighbors (nodes attached to the same link). As we saw it in the conf
@ -1295,7 +1445,9 @@ irq 8: 3 rtc irq 15: 83 ide1
and one directory for each interface. The contents of the directories are
identical, with the single exception that the default settings contain
additional options to set garbage collection parameters.</para></listitem></varlistentry>
<para>In the interface directories you&#39;ll find the following entries:</para>
<varlistentry><term></term><listitem><para>In the interface directories you&#39;ll find the following entries:</para></listitem></varlistentry>
<varlistentry><term>base_reachable_time</term><listitem><para> A base value
used for computing the random reachable time value as specified in RFC2461.</para></listitem></varlistentry>
<varlistentry><term>retrans_time</term><listitem><para> The time, expressed
@ -1329,11 +1481,15 @@ irq 8: 3 rtc irq 15: 83 ide1
machine). When ucast_solicit is greater than 0 it first tries to send an ARP
packet directly to the known host When that fails and mcast_solicit is
greater than 0, an ARP request is broadcasted.</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>APPLETALK</term><listitem><para>
<variablelist>
<varlistentry><term>/proc/sys/net/appletalk</term><listitem><para>
Holds the Appletalk configuration data when Appletalk is loaded. The
configurable parameters are:</para></listitem></varlistentry>
@ -1364,19 +1520,23 @@ irq 8: 3 rtc irq 15: 83 ide1
known network route. It lists the target (network) that the route leads to,
the router (may be directly connected), the route flags, and the device the
route is using.</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>IPX</term><listitem><para><para>The IPX protocol has no tunable values in proc/sys/net, it does,
<varlistentry><term>IPX</term><listitem><para>
<variablelist>
<varlistentry><term></term><listitem><para>The IPX protocol has no tunable values in proc/sys/net, it does,
however, provide proc/net/ipx. This lists each IPX socket giving the local
and remote addresses in Novell format (that is network:node:port). In
accordance with the strange Novell tradition, everything but the port is in
hex. Not_Connected is displayed for sockets that are not tied to a specific
remote address. The Tx and Rx queue sizes indicate the number of bytes
pending for transmission and reception. The state indicates the state the
socket is in and the uid is the owning uid of the socket.</para>
socket is in and the uid is the owning uid of the socket.</para></listitem></varlistentry>
<varlistentry><term>ipx_interface</term><listitem><para>Lists all IPX interfaces. For each interface it gives the network number, the node number, and indicates if the network is the
primary network. It also indicates which device it is bound to (or Internal
@ -1386,35 +1546,65 @@ irq 8: 3 rtc irq 15: 83 ide1
<varlistentry><term>ipx_route</term><listitem><para>Table holding a list of IPX routes. For each route it gives
the destination network, the router node (or Directly) and the network
address of the router (or Connected) for internal networks.</para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>/proc/sysvipc</term><listitem><para>Info of SysVIPC
Resources (msg, sem, shm) (2.4)</para></listitem></varlistentry>
<varlistentry><term>/proc/tty</term><listitem><para> Information about the
available and actually used tty&#39;s can be found in the directory
/proc/tty.You&#39;ll find entries for drivers and line disciplines in this
directory.</para></listitem></varlistentry> <varlistentry><term>/proc/tty/drivers</term><listitem><para>
directory.</para></listitem></varlistentry>
<varlistentry><term>/proc/tty/drivers</term><listitem><para>
list of drivers and their usage.</para></listitem></varlistentry>
<varlistentry><term>/proc/tty/ldiscs</term><listitem><para> registered line
disciplines.</para></listitem></varlistentry> <varlistentry><term>/proc/tty/driver/serial</term><listitem><para>
usage statistic and status of single tty lines. <para>To see which tty&#39;s
are currently in use, you can simply look into the file /proc/tty/drivers:</para>
<para> <screen> # cat /proc/tty/drivers pty_slave /dev/pts 136 0-255
disciplines.</para></listitem></varlistentry>
<varlistentry><term>/proc/tty/driver/serial</term><listitem><para>
usage statistic and status of single tty lines.
<variablelist>
<varlistentry><term></term><listitem>
<para>To see which tty&#39;s are currently in use, you can simply
look into the file /proc/tty/drivers:</para></listitem></varlistentry>
<varlistentry><term></term><listitem>
<para> <screen>
# cat /proc/tty/drivers pty_slave /dev/pts 136 0-255
pty:slave pty_master /dev/ptm 128 0-255 pty:master pty_slave /dev/ttyp 3
0-255 pty:slave pty_master /dev/pty 2 0-255 pty:master serial /dev/cua 5
64-67 serial:callout serial /dev/ttyS 4 64-67 serial /dev/tty0 /dev/tty0 4 0
system:vtmaster /dev/ptmx /dev/ptmx 5 2 system /dev/console /dev/console 5 1
system:console /dev/tty /dev/tty 5 0 system:/dev/tty unknown /dev/tty 4 1-63
console </screen> </para> <para> Note that while the above files tend to be
console
</screen></para></listitem></varlistentry>
<varlistentry><term></term><listitem><para>Note that while the above files tend to be
easily readable text files, they can sometimes be formatted in a way that is
not easily digestable. There are many commands that do little more than read
the above files and format them for easier understanding. For example, the
free program reads /proc/meminfo and converts the amounts given in bytes to
kilobytes (and adds a little more information, as well). </para> </para></listitem></varlistentry>
kilobytes (and adds a little more information, as well). </para></listitem></varlistentry>
</variablelist>
</para></listitem></varlistentry>
<varlistentry><term>/proc/uptime</term><listitem><para> The time the system
has been up.</para></listitem></varlistentry> <varlistentry><term>/proc/version</term><listitem><para>
has been up.</para></listitem></varlistentry>
<varlistentry><term>/proc/version</term><listitem><para>
The kernel version.</para></listitem></varlistentry>
<varlistentry><term>/proc/video</term><listitem><para> BTTV info of video
resources.</para></listitem></varlistentry> </variablelist></para>
</chapter>
resources.</para></listitem></varlistentry>
</variablelist></para>
</sect1>

View File

@ -1,4 +1,4 @@
<chapter id="/root">
<sect1 id="root">
<title>/root</title>
<para>
@ -11,4 +11,4 @@
to 'root' when - for some reason - only '/' is mounted.
</para>
</chapter>
</sect1>

View File

@ -1,4 +1,4 @@
<chapter id="/sbin">
<sect1 id="sbin">
<title>/sbin</title>
<para>Linux discriminates between 'normal' executables and those used for system maintenance or administrative tasks. The latter reside either here or - the less important ones - in /usr/sbin. Locally installed system administration programs should be placed into /usr/local/sbin. Programs executed after /usr is known to be mounted (when there are no problems) are generally placed into /usr/sbin. This directory contains all the binaries that are essential to the working of the system. These include system administration as well as maintenance and hardware configuration programs. You may find lilo, fdisk, init, ifconfig, etc here. These are the essential programs that are required by all the users. Another directory that contains system binaries is /usr/sbin. This directory contains other binaries of use to the system administrator. This is where you will find the network daemons for your system along with other binaries that only the system administrator has access to, but which are not required for system maintenance and repair. For obvious security reasons, these directories are never part of normal user's $PATHs, only of roots (PATH is an environment variable that controls the sequence of locations that the sytem will attempt to look in for commands).
</para>
@ -35,4 +35,4 @@
</screen>
</para>
</chapter>
</sect1>

View File

@ -1,7 +1,7 @@
<chapter id="/tmp">
<sect1 id="tmp">
<title>/tmp</title>
<para>This directory contains mostly files that are required temporarily. Many programs use this to create lock files and for temporary storage of data. Do not remove files from this directory unless you know exactly what you are doing! Many of these files are important for currently running programs and deleting them may result in a system crash. Usually it won't contain more than a few KB anyway. On most systems, this directory is cleared out at boot or at shutdown by the local system. The basis for this was historical precedent and common practice. However, it was not made a requirement because system administration is not within the scope of the FSSTND. For this reason people and programs must not assume that any files or directories in /tmp are preserved between invocations of the program. The reasoning behind this is for compliance with IEEE standard P1003.2 (POSIX, part 2).
</para>
</chapter>
</sect1>

View File

@ -1,25 +1,30 @@
<chapter id="/usr">
<sect1 id="usr">
<title>/usr</title>
<para>/usr usually contains by far the largest share of data on a system. Hence, this is one of the most important directories in the system as it contains all the user binaries, their documentation, libraries, header files, etc.... X and its supporting libraries can be found here. User programs like telnet, ftp, etc.... are also placed here. In the original Unix implementations, /usr was where the home directories of the users were placed (that is to say, /usr/someone was then the directory now known as /home/someone). In current Unices, /usr is where user-land programs and data (as opposed to 'system land' programs and data) are. The name hasn't changed, but it's meaning has narrowed and lengthened from "everything user related" to "user usable programs and data".</para>
<para><variablelist>
<varlistentry><term>/usr/X11R6</term><listitem><para>
<para>Another large subdirectory structure begins here, containing libraries, executables, docs, fonts and much more concerning the X Window System. Its inclusion here is somewhat inconsistent and so is the difference between '/usr' and '/usr/X11R6' directories. One would assume that programs that run on X only have their files in the '/usr/X11R6' hierarchy, while the others use '/usr'. Regrettably, it isn't so. KDE and GNOME put their files in the '/usr' hierarchy, whereas the window manager Window Maker uses '/usr/X11R6'. Documentation files for X11R6 are not in '/usr/X11R6/doc', but primarily in '/usr/X11R6/lib/X11/doc'. This mess is due to the fact that in contrast to other operating systems, the graphical desktop isn't an integral part of the system. Linux is still primarily used on servers, where graphical systems don't make sense.</para>
<para>This hierarchy is reserved for the X Window System, version 11 release 6, and related files. To simplify matters and make XFree86 more compatible with the X Window System on other systems, the following symbolic links must be present if /usr/X11R6 exists:</para>
<variablelist>
<varlistentry><term></term><listitem><para>
Another large subdirectory structure begins here, containing libraries, executables, docs, fonts and much more concerning the X Window System. Its inclusion here is somewhat inconsistent and so is the difference between '/usr' and '/usr/X11R6' directories. One would assume that programs that run on X only have their files in the '/usr/X11R6' hierarchy, while the others use '/usr'. Regrettably, it isn't so. KDE and GNOME put their files in the '/usr' hierarchy, whereas the window manager Window Maker uses '/usr/X11R6'. Documentation files for X11R6 are not in '/usr/X11R6/doc', but primarily in '/usr/X11R6/lib/X11/doc'. This mess is due to the fact that in contrast to other operating systems, the graphical desktop isn't an integral part of the system. Linux is still primarily used on servers, where graphical systems don't make sense.</para></listitem></varlistentry>
<para>
<screen>
<varlistentry><term></term><listitem><para>
This hierarchy is reserved for the X Window System, version 11 release 6, and related files. To simplify matters and make XFree86 more compatible with the X Window System on other systems, the following symbolic links must be present if /usr/X11R6 exists:</para></listitem></varlistentry>
<varlistentry><term></term><listitem><para><screen>
/usr/bin/X11 -> /usr/X11R6/bin
/usr/lib/X11 -> /usr/X11R6/lib/X11
/usr/include/X11 -> /usr/X11R6/include/X11
</screen>
</para>
</screen></para></listitem></varlistentry>
<varlistentry><term></term><listitem><para>
In general, software must not be installed or managed via the above symbolic links. They are intended for utilization by users only. The difficulty is related to the release version of the X Window System - in transitional periods, it is impossible to know what release of X11 is in use.</para></listitem></varlistentry>
</variablelist>
<para>
In general, software must not be installed or managed via the above symbolic links. They are intended for utilization by users only. The difficulty is related to the release version of the X Window System - in transitional periods, it is impossible to know what release of X11 is in use.
</para>
</para></listitem></varlistentry>
<varlistentry><term>/usr/X11R6/bin</term><listitem><para>
@ -83,9 +88,10 @@ Location of package specific documentation files. These directories often contai
Location of 'info' pages. This style of documentation seems to be largely ignored now. Manual pages are in far greater favour.</para></listitem></varlistentry>
<varlistentry><term>/usr/share/man</term><listitem><para>
Manual pages. They are organised into 8 sections, which are explained below.</para></listitem></varlistentry>
Manual pages. They are organised into 8 sections, which are explained below.</para>
<para>
<variablelist>
<varlistentry><term></term><listitem><para>
<screen>
man1: User programs
Manual pages that describe publicly accessible commands are contained in this chapter. Most program documentation that a user will need to use is located here.
@ -109,7 +115,11 @@ man7: Miscellaneous Manual pages that are difficult to classify are designated a
man8: System administration Programs used by system administrators for system operation and maintenance are documented here. Some of these programs are also occasionally useful for normal users.
</screen>
</para>
</para></listitem></varlistentry>
</variablelist>
</listitem></varlistentry>
<varlistentry><term>/usr/src</term><listitem><para>
The 'linux' sub-directory holds the Linux kernel sources, header-files and documentation.</para></listitem></varlistentry>
@ -166,4 +176,7 @@ Contains documentation that may be necessary in order to re-compile a kernel. Ho
<varlistentry><term>/usr/tmp</term><listitem><para>
User space temporary files. This directory is not found on modern distributions at all and was most likely created as a consequence of Linux's UNIX heritage.</para></listitem></varlistentry>
</chapter>
</variablelist></para>
</sect1>

View File

@ -1,4 +1,4 @@
<chapter id="/var">
<sect1 id="var">
<title>/var</title>
<para>Contains variable data like system logging files, mail and printer
@ -182,4 +182,4 @@
/var/msgs
/var/preserve
</screen></para>
</chapter>
</sect1>