summaryrefslogtreecommitdiff
path: root/sag-0.6.1-www/sag-0.6.1.html
diff options
context:
space:
mode:
Diffstat (limited to 'sag-0.6.1-www/sag-0.6.1.html')
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/backup-timeline.gifbin0 -> 1937 bytes
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/book1.html833
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/c1450.html264
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/c1582.html281
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/c1705.html387
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/c1905.html315
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/c2018.html232
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/c212.html432
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/c2187.html318
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/c2432.html272
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/c31.html337
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/c63.html264
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/c701.html385
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/f23.html127
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/f26.html139
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/fstree.gifbin0 -> 2173 bytes
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/g2516.html236
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/hd-layout.gifbin0 -> 2877 bytes
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/hd-mount-mounted.gifbin0 -> 1134 bytes
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/hd-mount-separate.gifbin0 -> 1163 bytes
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/hd-schematic.gifbin0 -> 7875 bytes
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/index.html833
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/logins-via-terminals.gifbin0 -> 4152 bytes
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/overview-kernel.gifbin0 -> 5176 bytes
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1029.html1720
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1366.html212
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1384.html460
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1466.html290
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1495.html287
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1529.html140
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1532.html231
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1551.html308
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1602.html398
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1650.html321
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1684.html164
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1693.html141
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1697.html171
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1752.html402
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1812.html302
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1852.html223
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1880.html261
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1944.html199
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1956.html274
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1988.html137
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x1991.html207
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x2008.html167
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x2031.html537
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x2124.html248
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x2152.html185
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x2166.html248
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x2206.html178
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x2216.html226
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x2240.html493
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x2315.html474
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x2405.html202
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x2417.html220
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x2451.html161
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x2457.html354
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x2504.html180
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x267.html338
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x338.html524
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x463.html168
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x472.html315
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x531.html342
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x595.html425
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x747.html406
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x787.html205
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x801.html218
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x811.html179
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x817.html411
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x83.html189
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x876.html812
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x94.html687
73 files changed, 21595 insertions, 0 deletions
diff --git a/sag-0.6.1-www/sag-0.6.1.html/backup-timeline.gif b/sag-0.6.1-www/sag-0.6.1.html/backup-timeline.gif
new file mode 100644
index 0000000..ba477dc
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/backup-timeline.gif
Binary files differ
diff --git a/sag-0.6.1-www/sag-0.6.1.html/book1.html b/sag-0.6.1-www/sag-0.6.1.html/book1.html
new file mode 100644
index 0000000..1b3b4d6
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/book1.html
@@ -0,0 +1,833 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>The Linux System Administrators' Guide</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="NEXT"
+TITLE="Dedication"
+HREF="f23.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="BOOK"
+><DIV
+CLASS="TITLEPAGE"
+><H1
+CLASS="TITLE"
+><A
+NAME="AEN2"
+>The Linux System Administrators' Guide</A
+></H1
+><H2
+CLASS="SUBTITLE"
+>Version 0.6.1</H2
+><H3
+CLASS="AUTHOR"
+>Lars Wirzenius</H3
+><DIV
+CLASS="AFFILIATION"
+><P
+CLASS="LITERALLAYOUT"
+> <TT
+CLASS="EMAIL"
+>&#60;<A
+HREF="mailto:liw@iki.fi"
+>liw@iki.fi</A
+>&#62;</TT
+><br>
+ </P
+></DIV
+><DIV
+CLASS="ABSTRACT"
+><P
+>An introduction to system administration of a Linux
+ system for novices.</P
+></DIV
+><DIV
+CLASS="LEGALNOTICE"
+><P
+></P
+><P
+>Copyright 1993--1998 Lars Wirzenius.</P
+><P
+>Trademarks are owned by their owners.</P
+><P
+>Permission is granted to make and distribute verbatim
+ copies of this manual provided the copyright notice and this
+ permission notice are preserved on all copies.</P
+><P
+>Permission is granted to process the document source
+ code through TeX or other formatters and print the results,
+ and distribute the printed document, provided the printed
+ document carries copying permission notice identical to this one,
+ including the references to where the source code can be found
+ and the official home page.</P
+><P
+>Permission is granted to copy and distribute modified
+ versions of this manual under the conditions for verbatim
+ copying, provided that the entire resulting derived work is
+ distributed under the terms of a permission notice identical to
+ this one. </P
+><P
+>Permission is granted to copy and distribute translations
+ of this manual into another language, under the above conditions
+ for modified versions.</P
+><P
+>The author would appreciate a notification of modifications,
+ translations, and printed versions. Thank you.</P
+><P
+></P
+></DIV
+><HR></DIV
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="f23.html"
+>Dedication</A
+></DT
+><DT
+><A
+HREF="f26.html"
+>Source and pre-formatted versions available</A
+></DT
+><DT
+>1. <A
+HREF="c31.html"
+>Introduction</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c31.html#AEN56"
+>The Linux Documentation Project</A
+></DT
+></DL
+></DD
+><DT
+>2. <A
+HREF="c63.html"
+>Overview of a Linux System</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c63.html#AEN69"
+>Various parts of an operating system</A
+></DT
+><DT
+><A
+HREF="x83.html"
+>Important parts of the kernel</A
+></DT
+><DT
+><A
+HREF="x94.html"
+>Major services in a UNIX system</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="x94.html#AEN97"
+><B
+CLASS="COMMAND"
+>init</B
+></A
+></DT
+><DT
+><A
+HREF="x94.html#AEN117"
+>Logins from terminals</A
+></DT
+><DT
+><A
+HREF="x94.html#AEN129"
+>Syslog</A
+></DT
+><DT
+><A
+HREF="x94.html#AEN133"
+>Periodic command execution: <B
+CLASS="COMMAND"
+>cron</B
+> and
+<B
+CLASS="COMMAND"
+>at</B
+></A
+></DT
+><DT
+><A
+HREF="x94.html#AEN147"
+>Graphical user interface</A
+></DT
+><DT
+><A
+HREF="x94.html#AEN152"
+>Networking</A
+></DT
+><DT
+><A
+HREF="x94.html#AEN158"
+>Network logins</A
+></DT
+><DT
+><A
+HREF="x94.html#AEN171"
+>Network file systems</A
+></DT
+><DT
+><A
+HREF="x94.html#AEN176"
+>Mail</A
+></DT
+><DT
+><A
+HREF="x94.html#AEN191"
+>Printing</A
+></DT
+><DT
+><A
+HREF="x94.html#AEN200"
+>The filesystem layout</A
+></DT
+></DL
+></DD
+></DL
+></DD
+><DT
+>3. <A
+HREF="c212.html"
+>Overview of the Directory Tree</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c212.html#AEN218"
+>Background</A
+></DT
+><DT
+><A
+HREF="x267.html"
+>The root filesystem</A
+></DT
+><DT
+><A
+HREF="x338.html"
+>The <TT
+CLASS="FILENAME"
+>/etc</TT
+> directory</A
+></DT
+><DT
+><A
+HREF="x463.html"
+>The <TT
+CLASS="FILENAME"
+>/dev</TT
+> directory</A
+></DT
+><DT
+><A
+HREF="x472.html"
+>The <TT
+CLASS="FILENAME"
+>/usr</TT
+> filesystem</A
+></DT
+><DT
+><A
+HREF="x531.html"
+>The <TT
+CLASS="FILENAME"
+>/var</TT
+> filesystem</A
+></DT
+><DT
+><A
+HREF="x595.html"
+>The <TT
+CLASS="FILENAME"
+>/proc</TT
+> filesystem</A
+></DT
+></DL
+></DD
+><DT
+>4. <A
+HREF="c701.html"
+>Using Disks and Other Storage Media</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c701.html#AEN721"
+>Two kinds of devices</A
+></DT
+><DT
+><A
+HREF="x747.html"
+>Hard disks</A
+></DT
+><DT
+><A
+HREF="x787.html"
+>Floppies</A
+></DT
+><DT
+><A
+HREF="x801.html"
+>CD-ROM's</A
+></DT
+><DT
+><A
+HREF="x811.html"
+>Tapes</A
+></DT
+><DT
+><A
+HREF="x817.html"
+>Formatting</A
+></DT
+><DT
+><A
+HREF="x876.html"
+>Partitions</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="x876.html#AEN881"
+>The MBR, boot sectors and partition table</A
+></DT
+><DT
+><A
+HREF="x876.html#AEN905"
+>Extended and logical partitions</A
+></DT
+><DT
+><A
+HREF="x876.html#AEN920"
+>Partition types</A
+></DT
+><DT
+><A
+HREF="x876.html#AEN1008"
+>Partitioning a hard disk</A
+></DT
+><DT
+><A
+HREF="x876.html#AEN1024"
+>Device files and partitions</A
+></DT
+></DL
+></DD
+><DT
+><A
+HREF="x1029.html"
+>Filesystems</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="x1029.html#AEN1031"
+>What are filesystems?</A
+></DT
+><DT
+><A
+HREF="x1029.html#AEN1048"
+>Filesystems galore</A
+></DT
+><DT
+><A
+HREF="x1029.html#AEN1104"
+>Which filesystem should be used?</A
+></DT
+><DT
+><A
+HREF="x1029.html#AEN1107"
+>Creating a filesystem</A
+></DT
+><DT
+><A
+HREF="x1029.html#MOUNT-AND-UMOUNT"
+>Mounting and unmounting</A
+></DT
+><DT
+><A
+HREF="x1029.html#AEN1278"
+>Checking filesystem integrity with <B
+CLASS="COMMAND"
+>fsck</B
+></A
+></DT
+><DT
+><A
+HREF="x1029.html#AEN1301"
+>Checking for disk errors with <B
+CLASS="COMMAND"
+>badblocks</B
+></A
+></DT
+><DT
+><A
+HREF="x1029.html#AEN1315"
+>Fighting fragmentation</A
+></DT
+><DT
+><A
+HREF="x1029.html#AEN1321"
+>Other tools for all filesystems</A
+></DT
+><DT
+><A
+HREF="x1029.html#AEN1334"
+>Other tools for the ext2 filesystem</A
+></DT
+></DL
+></DD
+><DT
+><A
+HREF="x1366.html"
+>Disks without filesystems</A
+></DT
+><DT
+><A
+HREF="x1384.html"
+>Allocating disk space</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="x1384.html#AEN1386"
+>Partitioning schemes</A
+></DT
+><DT
+><A
+HREF="x1384.html#AEN1404"
+>Space requirements</A
+></DT
+><DT
+><A
+HREF="x1384.html#AEN1413"
+>Examples of hard disk allocation</A
+></DT
+><DT
+><A
+HREF="x1384.html#AEN1439"
+>Adding more disk space for Linux</A
+></DT
+><DT
+><A
+HREF="x1384.html#AEN1443"
+>Tips for saving disk space</A
+></DT
+></DL
+></DD
+></DL
+></DD
+><DT
+>5. <A
+HREF="c1450.html"
+>Memory Management</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c1450.html#AEN1456"
+>What is virtual memory?</A
+></DT
+><DT
+><A
+HREF="x1466.html"
+>Creating a swap space</A
+></DT
+><DT
+><A
+HREF="x1495.html"
+>Using a swap space</A
+></DT
+><DT
+><A
+HREF="x1529.html"
+>Sharing swap spaces with other operating systems</A
+></DT
+><DT
+><A
+HREF="x1532.html"
+>Allocating swap space</A
+></DT
+><DT
+><A
+HREF="x1551.html"
+>The buffer cache</A
+></DT
+></DL
+></DD
+><DT
+>6. <A
+HREF="c1582.html"
+>Boots And Shutdowns</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c1582.html#AEN1588"
+>An overview of boots and shutdowns</A
+></DT
+><DT
+><A
+HREF="x1602.html"
+>The boot process in closer look</A
+></DT
+><DT
+><A
+HREF="x1650.html"
+>More about shutdowns</A
+></DT
+><DT
+><A
+HREF="x1684.html"
+>Rebooting</A
+></DT
+><DT
+><A
+HREF="x1693.html"
+>Single user mode</A
+></DT
+><DT
+><A
+HREF="x1697.html"
+>Emergency boot floppies</A
+></DT
+></DL
+></DD
+><DT
+>7. <A
+HREF="c1705.html"
+><B
+CLASS="COMMAND"
+>init</B
+></A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c1705.html#AEN1717"
+><B
+CLASS="COMMAND"
+>init</B
+> comes first</A
+></DT
+><DT
+><A
+HREF="x1752.html"
+>Configuring <B
+CLASS="COMMAND"
+>init</B
+> to start <B
+CLASS="COMMAND"
+>getty</B
+>: the <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+> file</A
+></DT
+><DT
+><A
+HREF="x1812.html"
+>Run levels</A
+></DT
+><DT
+><A
+HREF="x1852.html"
+>Special configuration in <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+></A
+></DT
+><DT
+><A
+HREF="x1880.html"
+>Booting in single user mode</A
+></DT
+></DL
+></DD
+><DT
+>8. <A
+HREF="c1905.html"
+>Logging In And Out</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c1905.html#AEN1911"
+>Logins via terminals</A
+></DT
+><DT
+><A
+HREF="x1944.html"
+>Logins via the network</A
+></DT
+><DT
+><A
+HREF="x1956.html"
+>What <B
+CLASS="COMMAND"
+>login</B
+> does</A
+></DT
+><DT
+><A
+HREF="x1988.html"
+>X and xdm</A
+></DT
+><DT
+><A
+HREF="x1991.html"
+>Access control</A
+></DT
+><DT
+><A
+HREF="x2008.html"
+>Shell startup</A
+></DT
+></DL
+></DD
+><DT
+>9. <A
+HREF="c2018.html"
+>Managing user accounts</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c2018.html#AEN2024"
+>What's an account?</A
+></DT
+><DT
+><A
+HREF="x2031.html"
+>Creating a user</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="x2031.html#AEN2042"
+><TT
+CLASS="FILENAME"
+>/etc/passwd</TT
+> and other informative files</A
+></DT
+><DT
+><A
+HREF="x2031.html#AEN2072"
+>Picking numeric user and group ids</A
+></DT
+><DT
+><A
+HREF="x2031.html#AEN2077"
+>Initial environment: <TT
+CLASS="FILENAME"
+>/etc/skel</TT
+></A
+></DT
+><DT
+><A
+HREF="x2031.html#MANUAL-ADDUSER"
+>Creating a user by hand</A
+></DT
+></DL
+></DD
+><DT
+><A
+HREF="x2124.html"
+>Changing user properties</A
+></DT
+><DT
+><A
+HREF="x2152.html"
+>Removing a user</A
+></DT
+><DT
+><A
+HREF="x2166.html"
+>Disabling a user temporarily</A
+></DT
+></DL
+></DD
+><DT
+>10. <A
+HREF="c2187.html"
+>Backups</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c2187.html#AEN2193"
+>On the importance of being backed up</A
+></DT
+><DT
+><A
+HREF="x2206.html"
+>Selecting the backup medium</A
+></DT
+><DT
+><A
+HREF="x2216.html"
+>Selecting the backup tool</A
+></DT
+><DT
+><A
+HREF="x2240.html"
+>Simple backups</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="x2240.html#AEN2247"
+>Making backups with <B
+CLASS="COMMAND"
+>tar</B
+></A
+></DT
+><DT
+><A
+HREF="x2240.html#AEN2288"
+>Restoring files with <B
+CLASS="COMMAND"
+>tar</B
+></A
+></DT
+></DL
+></DD
+><DT
+><A
+HREF="x2315.html"
+>Multilevel backups</A
+></DT
+><DT
+><A
+HREF="x2405.html"
+>What to back up</A
+></DT
+><DT
+><A
+HREF="x2417.html"
+>Compressed backups</A
+></DT
+></DL
+></DD
+><DT
+>11. <A
+HREF="c2432.html"
+>Keeping Time</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c2432.html#AEN2438"
+>Time zones</A
+></DT
+><DT
+><A
+HREF="x2451.html"
+>The hardware and software clocks</A
+></DT
+><DT
+><A
+HREF="x2457.html"
+>Showing and setting time</A
+></DT
+><DT
+><A
+HREF="x2504.html"
+>When the clock is wrong</A
+></DT
+></DL
+></DD
+><DT
+><A
+HREF="g2516.html"
+>Glossary (DRAFT)</A
+></DT
+></DL
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="f23.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Dedication</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/c1450.html b/sag-0.6.1-www/sag-0.6.1.html/c1450.html
new file mode 100644
index 0000000..6be696d
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/c1450.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Memory Management</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="Allocating disk space"
+HREF="x1384.html"><LINK
+REL="NEXT"
+TITLE="Creating a swap space"
+HREF="x1466.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1384.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1466.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="MEMORY-MANAGEMENT"
+>Chapter 5. Memory Management</A
+></H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="c1450.html#AEN1456"
+>What is virtual memory?</A
+></DT
+><DT
+><A
+HREF="x1466.html"
+>Creating a swap space</A
+></DT
+><DT
+><A
+HREF="x1495.html"
+>Using a swap space</A
+></DT
+><DT
+><A
+HREF="x1529.html"
+>Sharing swap spaces with other operating systems</A
+></DT
+><DT
+><A
+HREF="x1532.html"
+>Allocating swap space</A
+></DT
+><DT
+><A
+HREF="x1551.html"
+>The buffer cache</A
+></DT
+></DL
+></DIV
+><BLOCKQUOTE
+><P
+>&#8220;Minnet, jag har tappat mitt minne,
+ är jag svensk eller finne, kommer inte ihåg...&#8221;
+ (Bosse Österberg)
+ </P
+></BLOCKQUOTE
+><P
+> This section describes the Linux memory management
+ features, i.e., virtual memory and the disk buffer cache.
+ The purpose and workings and the things the system administrator
+ needs to take into consideration are described.</P
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1456"
+>What is virtual memory?</A
+></H1
+><P
+>Linux supports <I
+CLASS="GLOSSTERM"
+>virtual memory</I
+>, that
+ is, using a disk as an extension of RAM so that the effective
+ size of usable memory grows correspondingly. The kernel will
+ write the contents of a currently unused block of memory to the
+ hard disk so that the memory can be used for another purpose.
+ When the original contents are needed again, they are read back
+ into memory. This is all made completely transparent to the
+ user; programs running under Linux only see the larger amount of
+ memory available and don't notice that parts of them reside on
+ the disk from time to time. Of course, reading and writing the
+ hard disk is slower (on the order of a thousand times slower)
+ than using real memory, so the programs don't run as fast.
+ The part of the hard disk that is used as virtual memory is
+ called the <I
+CLASS="GLOSSTERM"
+>swap space</I
+>.</P
+><P
+>Linux can use either a normal file in the filesystem or a
+ separate partition for swap space. A swap partition is
+ faster, but it is easier to change the size of a swap file
+ (there's no need to repartition the whole hard disk, and
+ possibly install everything from scratch). When you know how
+ much swap space you need, you should go for a swap partition,
+ but if you are uncertain, you can use a swap file first, use
+ the system for a while so that you can get a feel for how much
+ swap you need, and then make a swap partition when you're
+ confident about its size.</P
+><P
+>You should also know that Linux allows one to use several swap
+ partitions and/or swap files at the same time. This means
+ that if you only occasionally need an unusual amount of swap space,
+ you can set up an extra swap file at such times, instead of
+ keeping the whole amount allocated all the time.</P
+><P
+>A note on operating system terminology: computer science usually
+ distinguishes between swapping (writing the whole process out to
+ swap space) and paging (writing only fixed size parts, usually
+ a few kilobytes, at a time). Paging is usually more efficient,
+ and that's what Linux does, but traditional Linux terminology
+ talks about swapping anyway.
+
+ <A
+NAME="AEN1464"
+HREF="#FTN.AEN1464"
+>[1]</A
+>
+ </P
+></DIV
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN1464"
+HREF="c1450.html#AEN1464"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Thus quite needlessly annoying a
+ number of computer scientists something horrible.
+ </P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1384.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1466.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Allocating disk space</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Creating a swap space</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/c1582.html b/sag-0.6.1-www/sag-0.6.1.html/c1582.html
new file mode 100644
index 0000000..cd13d0e
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/c1582.html
@@ -0,0 +1,281 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Boots And Shutdowns</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="The buffer cache"
+HREF="x1551.html"><LINK
+REL="NEXT"
+TITLE="The boot process in closer look"
+HREF="x1602.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1551.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1602.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="BOOTS-AND-SHUTDOWNS"
+>Chapter 6. Boots And Shutdowns</A
+></H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="c1582.html#AEN1588"
+>An overview of boots and shutdowns</A
+></DT
+><DT
+><A
+HREF="x1602.html"
+>The boot process in closer look</A
+></DT
+><DT
+><A
+HREF="x1650.html"
+>More about shutdowns</A
+></DT
+><DT
+><A
+HREF="x1684.html"
+>Rebooting</A
+></DT
+><DT
+><A
+HREF="x1693.html"
+>Single user mode</A
+></DT
+><DT
+><A
+HREF="x1697.html"
+>Emergency boot floppies</A
+></DT
+></DL
+></DIV
+><BLOCKQUOTE
+><P
+><P
+CLASS="LITERALLAYOUT"
+>Start&nbsp;me&nbsp;up<br>
+Ah...&nbsp;you've&nbsp;got&nbsp;to...&nbsp;you've&nbsp;got&nbsp;to<br>
+Never,&nbsp;never&nbsp;never&nbsp;stop<br>
+Start&nbsp;it&nbsp;up<br>
+Ah...&nbsp;start&nbsp;it&nbsp;up,&nbsp;never,&nbsp;never,&nbsp;never<br>
+&nbsp;You&nbsp;make&nbsp;a&nbsp;grown&nbsp;man&nbsp;cry,<br>
+&nbsp;&nbsp;you&nbsp;make&nbsp;a&nbsp;grown&nbsp;man&nbsp;cry<br>
+(Rolling&nbsp;Stones)</P
+></P
+></BLOCKQUOTE
+><P
+> This section explains what goes on when a Linux system is
+ brought up and taken down, and how it should be done properly.
+ If proper procedures are not followed, files might be corrupted
+ or lost.</P
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1588"
+>An overview of boots and shutdowns</A
+></H1
+><P
+>The act of turning on a computer system and causing its
+ operating system to be loaded
+
+ <A
+NAME="AEN1591"
+HREF="#FTN.AEN1591"
+>[1]</A
+>
+
+ is called <I
+CLASS="GLOSSTERM"
+>booting</I
+>. The name comes from
+ an image of the computer pulling itself up from its bootstraps,
+ but the act itself slightly more realistic.</P
+><P
+>During bootstrapping, the computer first loads a small piece
+ of code called the <I
+CLASS="GLOSSTERM"
+>bootstrap loader</I
+>, which
+ in turn loads and starts the operating system. The bootstrap
+ loader is usually stored in a fixed location on a hard disk
+ or a floppy. The reason for this two step process is that
+ the operating system is big and complicated, but the first
+ piece of code that the computer loads must be very small (a
+ few hundred bytes), to avoid making the firmware unnecessarily
+ complicated.</P
+><P
+>Different computers do the bootstrapping differently.
+ For PC's, the computer (its BIOS) reads in the first sector
+ (called the <I
+CLASS="GLOSSTERM"
+>boot sector</I
+>) of a floppy or
+ hard disk. The bootstrap loader is contained within this sector.
+ It loads the operating system from elsewhere on the disk (or
+ from some other place).</P
+><P
+>After Linux has been loaded, it initializes the hardware and
+ device drivers, and then runs <B
+CLASS="COMMAND"
+>init</B
+>. <B
+CLASS="COMMAND"
+>init</B
+>
+ starts other processes to allow users to log in, and do things.
+ The details of this part will be discussed below.</P
+><P
+>In order to shut down a Linux system, first all processes
+ are told to terminate (this makes them close any files and
+ do other necessary things to keep things tidy), then filesystems
+ and swap areas are unmounted, and finally a message is printed
+ to the console that the power can be turned off. If the proper
+ procedure is not followed, terrible things can and will happen;
+ most importantly, the filesystem buffer cache might not be flushed,
+ which means that all data in it is lost and the filesystem on
+ disk is inconsistent, and therefore possibly unusable.
+ </P
+></DIV
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN1591"
+HREF="c1582.html#AEN1591"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>On early computers, it wasn't enough
+ to merely turn on the computer, you had to manually load the
+ operating system as well. These new-fangled thing-a-ma-jigs do
+ it all by themselves.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1551.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1602.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>The buffer cache</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>The boot process in closer look</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/c1705.html b/sag-0.6.1-www/sag-0.6.1.html/c1705.html
new file mode 100644
index 0000000..fc29fba
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/c1705.html
@@ -0,0 +1,387 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>init</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="Emergency boot floppies"
+HREF="x1697.html"><LINK
+REL="NEXT"
+TITLE="Configuring init to start getty: the /etc/inittab file"
+HREF="x1752.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1697.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1752.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="INIT"
+>Chapter 7. <B
+CLASS="COMMAND"
+>init</B
+></A
+></H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="c1705.html#AEN1717"
+><B
+CLASS="COMMAND"
+>init</B
+> comes first</A
+></DT
+><DT
+><A
+HREF="x1752.html"
+>Configuring <B
+CLASS="COMMAND"
+>init</B
+> to start <B
+CLASS="COMMAND"
+>getty</B
+>: the <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+> file</A
+></DT
+><DT
+><A
+HREF="x1812.html"
+>Run levels</A
+></DT
+><DT
+><A
+HREF="x1852.html"
+>Special configuration in <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+></A
+></DT
+><DT
+><A
+HREF="x1880.html"
+>Booting in single user mode</A
+></DT
+></DL
+></DIV
+><P
+>&#13; <BLOCKQUOTE
+><P
+>&#8220;Uuno on numero yksi&#8221;
+ (Slogan for a series of Finnish movies.)</P
+></BLOCKQUOTE
+>
+
+ </P
+><P
+> This chapter describes the <B
+CLASS="COMMAND"
+>init</B
+> process,
+ which is the first user level process started by the kernel.
+ <B
+CLASS="COMMAND"
+>init</B
+> has many important duties, such as
+ starting <B
+CLASS="COMMAND"
+>getty</B
+> (so that users can log in),
+ implementing run levels, and taking care of orphaned processes.
+ This chapter explains how <B
+CLASS="COMMAND"
+>init</B
+> is configured
+ and how you can make use of the different run levels.</P
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1717"
+><B
+CLASS="COMMAND"
+>init</B
+> comes first</A
+></H1
+><P
+><B
+CLASS="COMMAND"
+>init</B
+> is one of those programs that
+ are absolutely essential to the operation of a Linux system,
+ but that you still can mostly ignore. A good Linux distribution
+ will come with a configuration for <B
+CLASS="COMMAND"
+>init</B
+>
+ that will work for most systems, and on these systems there is
+ nothing you need to do about <B
+CLASS="COMMAND"
+>init</B
+>. Usually,
+ you only need to worry about <B
+CLASS="COMMAND"
+>init</B
+> if you hook
+ up serial terminals, dial-in (not dial-out) modems, or if you
+ want to change the default run level.</P
+><P
+>When the kernel has started itself (has been loaded
+ into memory, has started running, and has initialized all
+ device drivers and data structures and such), it finishes its
+ own part of the boot process by starting a user level program,
+ <B
+CLASS="COMMAND"
+>init</B
+>. Thus, <B
+CLASS="COMMAND"
+>init</B
+> is always
+ the first process (its process number is always 1).</P
+><P
+>The kernel looks for <B
+CLASS="COMMAND"
+>init</B
+>
+ in a few locations that have been historically used
+ for it, but the proper location for it (on a Linux
+ system) is <TT
+CLASS="FILENAME"
+>/sbin/init</TT
+>. If the
+ kernel can't find <B
+CLASS="COMMAND"
+>init</B
+>, it tries to run
+ <TT
+CLASS="FILENAME"
+>/bin/sh</TT
+>, and if that also fails, the startup
+ of the system fails.</P
+><P
+>When <B
+CLASS="COMMAND"
+>init</B
+> starts, it finishes the
+ boot process by doing a number of administrative tasks, such
+ as checking filesystems, cleaning up <TT
+CLASS="FILENAME"
+>/tmp</TT
+>,
+ starting various services, and starting a <B
+CLASS="COMMAND"
+>getty</B
+>
+ for each terminal and virtual console where users should be able
+ to log in (see <A
+HREF="c1905.html"
+>Chapter 8</A
+>).</P
+><P
+>After the system is properly up, <B
+CLASS="COMMAND"
+>init</B
+>
+ restarts <B
+CLASS="COMMAND"
+>getty</B
+> for each terminal
+ after a user has logged out (so that the next user can log
+ in). <B
+CLASS="COMMAND"
+>init</B
+> also adopts orphan processes: when
+ a process starts a child process and dies before its child, the
+ child immediately becomes a child of <B
+CLASS="COMMAND"
+>init</B
+>.
+ This is important for various technical reasons, but it is good
+ to know it, since it makes it easier to understand process lists
+ and process tree graphs.
+
+ <A
+NAME="AEN1743"
+HREF="#FTN.AEN1743"
+>[1]</A
+>
+
+ There are a few variants of <B
+CLASS="COMMAND"
+>init</B
+>
+ available. Most Linux distributions
+ use <B
+CLASS="COMMAND"
+>sysvinit</B
+> (written by Miquel
+ van Smoorenburg), which is based on the System V
+ <B
+CLASS="COMMAND"
+>init</B
+> design. The BSD versions of Unix have
+ a different <B
+CLASS="COMMAND"
+>init</B
+>. The primary difference
+ is run levels: System V has them, BSD does not (at least
+ traditionally). This difference is not essential. We'll look
+ at <B
+CLASS="COMMAND"
+>sysvinit</B
+> only. </P
+></DIV
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN1743"
+HREF="c1705.html#AEN1743"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+><B
+CLASS="COMMAND"
+>init</B
+> itself is not
+ allowed to die. You can't kill <B
+CLASS="COMMAND"
+>init</B
+>
+ even with SIGKILL. </P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1697.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1752.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Emergency boot floppies</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Configuring <B
+CLASS="COMMAND"
+>init</B
+> to start <B
+CLASS="COMMAND"
+>getty</B
+>: the <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+> file</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/c1905.html b/sag-0.6.1-www/sag-0.6.1.html/c1905.html
new file mode 100644
index 0000000..ee4b091
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/c1905.html
@@ -0,0 +1,315 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Logging In And Out</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="Booting in single user mode"
+HREF="x1880.html"><LINK
+REL="NEXT"
+TITLE="Logins via the network"
+HREF="x1944.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1880.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1944.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="LOG-IN-AND-OUT"
+>Chapter 8. Logging In And Out</A
+></H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="c1905.html#AEN1911"
+>Logins via terminals</A
+></DT
+><DT
+><A
+HREF="x1944.html"
+>Logins via the network</A
+></DT
+><DT
+><A
+HREF="x1956.html"
+>What <B
+CLASS="COMMAND"
+>login</B
+> does</A
+></DT
+><DT
+><A
+HREF="x1988.html"
+>X and xdm</A
+></DT
+><DT
+><A
+HREF="x1991.html"
+>Access control</A
+></DT
+><DT
+><A
+HREF="x2008.html"
+>Shell startup</A
+></DT
+></DL
+></DIV
+><BLOCKQUOTE
+><P
+>&#8220;I don't care to belong to a club
+ that accepts people like me as a member.&#8221;
+ (Groucho Marx)</P
+></BLOCKQUOTE
+><P
+> This section describes what happens when a user logs
+ in or out. The various interactions of background processes,
+ log files, configuration files, and so on are described in
+ some detail.
+ </P
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1911"
+>Logins via terminals</A
+></H1
+><P
+><A
+HREF="c1905.html#TERMINAL-LOGINS"
+>Figure 8-1</A
+> shows how logins happen via
+ terminals. First, <B
+CLASS="COMMAND"
+>init</B
+> makes sure there is
+ a <B
+CLASS="COMMAND"
+>getty</B
+> program for the terminal connection
+ (or console). <B
+CLASS="COMMAND"
+>getty</B
+> listens at the terminal
+ and waits for the user to notify that he is ready to login in
+ (this usually means that the user must type something). When it
+ notices a user, <B
+CLASS="COMMAND"
+>getty</B
+> outputs a welcome message
+ (stored in <TT
+CLASS="FILENAME"
+>/etc/issue</TT
+>), and prompts for
+ the username, and finally runs the <B
+CLASS="COMMAND"
+>login</B
+>
+ program. <B
+CLASS="COMMAND"
+>login</B
+> gets the username as a
+ parameter, and prompts the user for the password. If these
+ match, <B
+CLASS="COMMAND"
+>login</B
+> starts the shell configured
+ for the user; else it just exits and terminates the process
+ (perhaps after giving the user another chance at entering the
+ username and password). <B
+CLASS="COMMAND"
+>init</B
+> notices that
+ the process terminated, and starts a new <B
+CLASS="COMMAND"
+>getty</B
+>
+ for the terminal.
+ </P
+><DIV
+CLASS="FIGURE"
+><P
+><B
+><A
+NAME="TERMINAL-LOGINS"
+>Figure 8-1. Logins via terminals: the interaction of <B
+CLASS="COMMAND"
+>init</B
+>, <B
+CLASS="COMMAND"
+>getty</B
+>, <B
+CLASS="COMMAND"
+>login</B
+>, and the shell.</A
+></B
+></P
+><P
+><IMG
+SRC="logins-via-terminals.gif"></P
+></DIV
+><P
+> Note that the only new process is the
+ one created by <B
+CLASS="COMMAND"
+>init</B
+> (using the
+ <TT
+CLASS="FUNCTION"
+>fork</TT
+> system call); <B
+CLASS="COMMAND"
+>getty</B
+>
+ and <B
+CLASS="COMMAND"
+>login</B
+> only replace the program running in
+ the process (using the <TT
+CLASS="FUNCTION"
+>exec</TT
+> system call).
+ </P
+><P
+> A separate program, for noticing the user, is needed
+ for serial lines, since it can be (and traditionally was)
+ complicated to notice when a terminal becomes active.
+ <B
+CLASS="COMMAND"
+>getty</B
+> also adapts to the speed and other
+ settings of the connection, which is important especially for
+ dial-in connections, where these parameters may change from call
+ to call. </P
+><P
+> There are several versions of <B
+CLASS="COMMAND"
+>getty</B
+>
+ and <B
+CLASS="COMMAND"
+>init</B
+> in use, all with their good and
+ bad points. It is a good idea to learn about the versions on
+ your system, and also about the other versions (you could use the
+ Linux Software Map to search them). If you don't have dial-in's,
+ you probably don't have to worry about <B
+CLASS="COMMAND"
+>getty</B
+>,
+ but <B
+CLASS="COMMAND"
+>init</B
+> is still important. </P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1880.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1944.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Booting in single user mode</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Logins via the network</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/c2018.html b/sag-0.6.1-www/sag-0.6.1.html/c2018.html
new file mode 100644
index 0000000..9a793eb
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/c2018.html
@@ -0,0 +1,232 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Managing user accounts</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="Shell startup"
+HREF="x2008.html"><LINK
+REL="NEXT"
+TITLE="Creating a user"
+HREF="x2031.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2008.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2031.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="AEN2018"
+>Chapter 9. Managing user accounts</A
+></H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="c2018.html#AEN2024"
+>What's an account?</A
+></DT
+><DT
+><A
+HREF="x2031.html"
+>Creating a user</A
+></DT
+><DT
+><A
+HREF="x2124.html"
+>Changing user properties</A
+></DT
+><DT
+><A
+HREF="x2152.html"
+>Removing a user</A
+></DT
+><DT
+><A
+HREF="x2166.html"
+>Disabling a user temporarily</A
+></DT
+></DL
+></DIV
+><BLOCKQUOTE
+><P
+>&#8220;The similarities of sysadmins and drug
+ dealers: both measure stuff in K's, and both have users.&#8221;
+ (Old, tired computer joke.)</P
+></BLOCKQUOTE
+><P
+> This chapter explains how to create new user accounts,
+ how to modify the properties of those accounts, and how to remove
+ the accounts. Different Linux systems have different tools for
+ doing this.</P
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2024"
+>What's an account?</A
+></H1
+><P
+> When a computer is used by many people it is usually
+ necessary to differentiate between the users, for example, so that
+ their private files can be kept private. This is important even
+ if the computer can only be used by a single person at a time,
+ as with most microcomputers.
+
+ <A
+NAME="AEN2027"
+HREF="#FTN.AEN2027"
+>[1]</A
+>
+
+ Thus, each user is given a unique username, and that name is
+ used to log in. </P
+><P
+> There's more to a user than just a name, however. An
+ <I
+CLASS="GLOSSTERM"
+>account</I
+> is all the files, resources,
+ and information belonging to one user. The term hints at banks,
+ and in a commercial system each account usually has some money
+ attached to it, and that money vanishes at different speeds
+ depending on how much the user stresses the system. For example,
+ disk space might have a price per megabyte and day, and processing
+ time might have a price per second. </P
+></DIV
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN2027"
+HREF="c2018.html#AEN2027"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>It might be quite embarrassing if my
+ sister could read my love letters.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2008.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2031.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Shell startup</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Creating a user</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/c212.html b/sag-0.6.1-www/sag-0.6.1.html/c212.html
new file mode 100644
index 0000000..1060903
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/c212.html
@@ -0,0 +1,432 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Overview of the Directory Tree</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="Major services in a UNIX system"
+HREF="x94.html"><LINK
+REL="NEXT"
+TITLE="The root filesystem"
+HREF="x267.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x94.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x267.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="DIR-TREE-OVERVIEW"
+>Chapter 3. Overview of the Directory Tree</A
+></H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="c212.html#AEN218"
+>Background</A
+></DT
+><DT
+><A
+HREF="x267.html"
+>The root filesystem</A
+></DT
+><DT
+><A
+HREF="x338.html"
+>The <TT
+CLASS="FILENAME"
+>/etc</TT
+> directory</A
+></DT
+><DT
+><A
+HREF="x463.html"
+>The <TT
+CLASS="FILENAME"
+>/dev</TT
+> directory</A
+></DT
+><DT
+><A
+HREF="x472.html"
+>The <TT
+CLASS="FILENAME"
+>/usr</TT
+> filesystem</A
+></DT
+><DT
+><A
+HREF="x531.html"
+>The <TT
+CLASS="FILENAME"
+>/var</TT
+> filesystem</A
+></DT
+><DT
+><A
+HREF="x595.html"
+>The <TT
+CLASS="FILENAME"
+>/proc</TT
+> filesystem</A
+></DT
+></DL
+></DIV
+><BLOCKQUOTE
+><P
+>&#8220; Two days later, there was Pooh, sitting
+ on his branch, dangling his legs, and there, beside him, were
+ four pots of honey...&#8221; (A.A.\ Milne) </P
+></BLOCKQUOTE
+><P
+>This chapter describes the important parts of a standard
+ Linux directory tree, based on the FSSTND filesystem
+ standard. It outlines the normal way of breaking the directory
+ tree into separate filesystems with different purposes and gives
+ the motivation behind this particular split. Some alternative
+ ways of splitting are also described.</P
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN218"
+>Background</A
+></H1
+><P
+>This chapter is loosely based on the <I
+CLASS="CITETITLE"
+>Linux
+ filesystem standard</I
+>, FSSTND, version 1.2 (see
+ the bibliography), which attempts to set a standard for how
+ the directory tree in a Linux system is organized. Such a
+ standard has the advantage that it will be easier to write or
+ port software for Linux, and to administer Linux machines, since
+ everything will be in their usual places. There is no authority
+ behind the standard that forces anyone to comply with it, but it
+ has got the support of most, if not all, Linux distributions.
+ It is not a good idea to break with the FSSTND without very
+ compelling reasons. The FSSTND attempts to follow Unix tradition
+ and current trends, making Linux systems familiar to those with
+ experience with other Unix systems, and vice versa.</P
+><P
+>This chapter is not as detailed as the FSSTND. A system
+ administrator should also read the FSSTND for a complete
+ understanding.</P
+><P
+>This chapter does not explain all files in detail.
+ The intention is not to describe every file, but to give
+ an overview of the system from a filesystem point of view.
+ Further information on each file is available elsewhere in this
+ manual or the manual pages.</P
+><P
+>The full directory tree is intended to be breakable
+ into smaller parts, each on its own disk or partition,
+ to accomodate to disk size limits and to ease backup
+ and other system administration. The major parts are the
+ root, <TT
+CLASS="FILENAME"
+>/usr</TT
+>, <TT
+CLASS="FILENAME"
+>/var</TT
+>, and
+ <TT
+CLASS="FILENAME"
+>/home</TT
+> filesystems (see
+ <A
+HREF="c212.html#FSTREE"
+>Figure 3-1</A
+>). Each part has a different purpose.
+ The directory tree has been designed so that it works well in
+ a network of Linux machines which may share some parts of the
+ filesystems over a read-only device (e.g., a CD-ROM), or over
+ the network with NFS.</P
+><DIV
+CLASS="FIGURE"
+><P
+><B
+><A
+NAME="FSTREE"
+>Figure 3-1. Parts of a Unix directory tree. Dashed lines indicate partition limits.</A
+></B
+></P
+><P
+><IMG
+SRC="fstree.gif"></P
+></DIV
+><P
+>The roles of the different parts of the directory tree are
+ described below.
+
+ <P
+></P
+><UL
+><LI
+><P
+>The root filesystem is specific for
+ each machine (it is generally stored on a local disk,
+ although it could be a ramdisk or network drive as well)
+ and contains the files that are necessary for booting
+ the system up, and to bring it up to such a state that
+ the other filesystems may be mounted. The contents of
+ the root filesystem will therefore be sufficient for
+ the single user state. It will also contain tools for
+ fixing a broken system, and for recovering lost files
+ from backups.</P
+></LI
+><LI
+><P
+> The <TT
+CLASS="FILENAME"
+>/usr</TT
+> filesystem
+ contains all commands, libraries, manual pages, and
+ other unchanging files needed during normal operation.
+ No files in <TT
+CLASS="FILENAME"
+>/usr</TT
+> should be specific
+ for any given machine, nor should they be modified during
+ normal use. This allows the files to be shared over
+ the network, which can be cost-effective since it saves
+ disk space (there can easily be hundreds of megabytes in
+ <TT
+CLASS="FILENAME"
+>/usr</TT
+>), and can make administration
+ easier (only the master <TT
+CLASS="FILENAME"
+>/usr</TT
+> needs to
+ be changed when updating an application, not each machine
+ separately). Even if the filesystem is on a local disk,
+ it could be mounted read-only, to lessen the chance of
+ filesystem corruption during a crash.</P
+></LI
+><LI
+><P
+>The <TT
+CLASS="FILENAME"
+>/var</TT
+>
+ filesystem contains files that change, such as spool
+ directories (for mail, news, printers, etc), log
+ files, formatted manual pages, and temporary files.
+ Traditionally everything in <TT
+CLASS="FILENAME"
+>/var</TT
+>
+ has been somewhere below <TT
+CLASS="FILENAME"
+>/usr</TT
+>, but
+ that made it impossible to mount <TT
+CLASS="FILENAME"
+>/usr</TT
+>
+ read-only.</P
+><P
+></P
+></LI
+><LI
+><P
+> The <TT
+CLASS="FILENAME"
+>/home</TT
+>
+ filesystem contains the users' home directories, i.e., all
+ the real data on the system. Separating home directories
+ to their own directory tree or filesystem makes backups
+ easier; the other parts often do not have to be backed
+ up, or at least not as often (they seldom change).
+ A big <TT
+CLASS="FILENAME"
+>/home</TT
+> might have to be
+ broken on several filesystems, which requires adding an
+ extra naming level below <TT
+CLASS="FILENAME"
+>/home</TT
+>,
+ e.g., <TT
+CLASS="FILENAME"
+>/home/students</TT
+> and
+ <TT
+CLASS="FILENAME"
+>/home/staff</TT
+>.</P
+></LI
+></UL
+> </P
+><P
+>Although the different parts have been called filesystems
+ above, there is no requirement that they actually be on separate
+ filesystems. They could easily be kept in a single one if the
+ system is a small single-user system and the user wants to keep
+ things simple. The directory tree might also be divided into
+ filesystems differently, depending on how large the disks are, and
+ how space is allocated for various purposes. The important part,
+ though, is that all the standard <I
+CLASS="EMPHASIS"
+>names</I
+>
+ work; even if, say, <TT
+CLASS="FILENAME"
+>/var</TT
+> and
+ <TT
+CLASS="FILENAME"
+>/usr</TT
+> are actually on the same
+ partition, the names <TT
+CLASS="FILENAME"
+>/usr/lib/libc.a</TT
+>
+ and <TT
+CLASS="FILENAME"
+>/var/log/messages</TT
+> must work, for
+ example by moving files below <TT
+CLASS="FILENAME"
+>/var</TT
+>
+ into <TT
+CLASS="FILENAME"
+>/usr/var</TT
+>, and
+ making <TT
+CLASS="FILENAME"
+>/var</TT
+> a symlink to
+ <TT
+CLASS="FILENAME"
+>/usr/var</TT
+>.</P
+><P
+>The Unix filesystem structure groups files according to purpose,
+ i.e., all commands are in one place, all data files in another,
+ documentation in a third, and so on. An alternative would be to
+ group files files according to the program they belong to, i.e.,
+ all Emacs files would be in one directory, all TeX in another,
+ and so on. The problem with the latter approach is that it
+ makes it difficult to share files (the program directory often
+ contains both static and shareable and changing and
+ non-shareable files), and sometimes to even find the files
+ (e.g., manual pages in a huge number of places, and making the
+ manual page programs find all of them is a maintenance
+ nightmare).</P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x94.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x267.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Major services in a UNIX system</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>The root filesystem</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/c2187.html b/sag-0.6.1-www/sag-0.6.1.html/c2187.html
new file mode 100644
index 0000000..c8d5512
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/c2187.html
@@ -0,0 +1,318 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Backups</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="Disabling a user temporarily"
+HREF="x2166.html"><LINK
+REL="NEXT"
+TITLE="Selecting the backup medium"
+HREF="x2206.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2166.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2206.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="BACKUPS"
+>Chapter 10. Backups</A
+></H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="c2187.html#AEN2193"
+>On the importance of being backed up</A
+></DT
+><DT
+><A
+HREF="x2206.html"
+>Selecting the backup medium</A
+></DT
+><DT
+><A
+HREF="x2216.html"
+>Selecting the backup tool</A
+></DT
+><DT
+><A
+HREF="x2240.html"
+>Simple backups</A
+></DT
+><DT
+><A
+HREF="x2315.html"
+>Multilevel backups</A
+></DT
+><DT
+><A
+HREF="x2405.html"
+>What to back up</A
+></DT
+><DT
+><A
+HREF="x2417.html"
+>Compressed backups</A
+></DT
+></DL
+></DIV
+><BLOCKQUOTE
+><P
+><P
+CLASS="LITERALLAYOUT"
+>Hardware&nbsp;is&nbsp;indeterministically&nbsp;reliable.&nbsp;<br>
+Software&nbsp;is&nbsp;deterministically&nbsp;unreliable.<br>
+People&nbsp;are&nbsp;indeterministically&nbsp;unreliable.<br>
+Nature&nbsp;is&nbsp;deterministically&nbsp;reliable.</P
+></P
+></BLOCKQUOTE
+><P
+> This chapter explains about why, how, and when to make
+ backups, and how to restore things from backups.</P
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2193"
+>On the importance of being backed up</A
+></H1
+><P
+> Your data is valuable. It will cost you time and effort
+ re-create it, and that costs money or at least personal grief
+ and tears; sometimes it can't even be re-created, e.g., if it
+ is the results of some experiments. Since it is an investment,
+ you should protect it and take steps to avoid losing it. </P
+><P
+> There are basically four reasons why you might lose data:
+ hardware failures, software bugs, human action, or natural
+ disasters.
+
+ <A
+NAME="AEN2197"
+HREF="#FTN.AEN2197"
+>[1]</A
+>
+
+ Although modern hardware tends to be quite reliable, it can
+ still break seemingly spontaneously. The most critical piece
+ of hardware for storing data is the hard disk, which relies on
+ tiny magnetic fields remaining intact in a world filled with
+ electromagnetic noise. Modern software doesn't even tend to
+ be reliable; a rock solid program is an exception, not a rule.
+ Humans are quite unreliable, they will either make a mistake, or
+ they will be malicious and destroy data on purpose. Nature might
+ not be evil, but it can wreak havoc even when being good. All in
+ all, it is a small miracle that anything works at all. </P
+><P
+> Backups are a way to protect the investment in data.
+ By having several copies of the data, it does not matter as much
+ if one is destroyed (the cost is only that of the restoration
+ of the lost data from the backup). </P
+><P
+> It is important to do backups properly. Like everything
+ else that is related to the physical world, backups will fail
+ sooner or later. Part of doing backups well is to make sure
+ they work; you don't want to notice that your backups didn't work.
+
+ <A
+NAME="AEN2201"
+HREF="#FTN.AEN2201"
+>[2]</A
+>
+
+ Adding insult to injury, you might have a bad crash just as
+ you're making the backup; if you have only one backup medium,
+ it might destroyed as well, leaving you with the smoking ashes
+ of hard work.
+
+ <A
+NAME="AEN2203"
+HREF="#FTN.AEN2203"
+>[3]</A
+>
+
+ Or you might notice, when trying to restore, that you forgot to
+ back up something important, like the user database on a 15000
+ user site. Best of all, all your backups might be working
+ perfectly, but the last known tape drive reading the kind of
+ tapes you used was the one that now has a bucketful of water
+ in it. </P
+><P
+> When it comes to backups, paranoia is in the job
+ description. </P
+></DIV
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN2197"
+HREF="c2187.html#AEN2197"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>The fifth reason is ``something
+ else''.</P
+></TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN2201"
+HREF="c2187.html#AEN2201"
+>[2]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Don't laugh. This has happened to
+ several people.</P
+></TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN2203"
+HREF="c2187.html#AEN2203"
+>[3]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Been there, done that...</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2166.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2206.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Disabling a user temporarily</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Selecting the backup medium</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/c2432.html b/sag-0.6.1-www/sag-0.6.1.html/c2432.html
new file mode 100644
index 0000000..35c06e5
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/c2432.html
@@ -0,0 +1,272 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Keeping Time</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="Compressed backups"
+HREF="x2417.html"><LINK
+REL="NEXT"
+TITLE="The hardware and software clocks"
+HREF="x2451.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2417.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2451.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="AEN2432"
+>Chapter 11. Keeping Time</A
+></H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="c2432.html#AEN2438"
+>Time zones</A
+></DT
+><DT
+><A
+HREF="x2451.html"
+>The hardware and software clocks</A
+></DT
+><DT
+><A
+HREF="x2457.html"
+>Showing and setting time</A
+></DT
+><DT
+><A
+HREF="x2504.html"
+>When the clock is wrong</A
+></DT
+></DL
+></DIV
+><BLOCKQUOTE
+><P
+>&#8220;Time is an illusion. Lunchtime double
+ so.&#8221; (Douglas Adams.)</P
+></BLOCKQUOTE
+><P
+> This chapter explains how a Linux system keeps time,
+ and what you need to do to avoid causing trouble. Usually,
+ you don't need to do anything about time, but it is good to
+ understand it.</P
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2438"
+>Time zones</A
+></H1
+><P
+> Time measurement is based on mostly regular natural
+ phenomena, such as alternating light and dark periods caused
+ by the rotation of the planet. The total time taken by two
+ successive periods is constant, but the lengths of the light
+ and dark period vary. One simple constant is noon. </P
+><P
+> Noon is the time of the day when the Sun is at its
+ highest position. Since the Earth is round,
+
+ <A
+NAME="AEN2442"
+HREF="#FTN.AEN2442"
+>[1]</A
+>
+
+ noon happens at different times in different places. This leads
+ to the concept of <I
+CLASS="GLOSSTERM"
+>local time</I
+>. Humans
+ measure time in many units, most of which are tied to natural
+ phenomena like noon. As long as you stay in the same place,
+ it doesn't matter that local times differ. </P
+><P
+> As soon as you need to communicate with distant places,
+ you'll notice the need for a common time. In modern times,
+ most of the places in the world communicate with most other
+ places in the world, so a global standard for measuring time
+ has been defined. This time is called <I
+CLASS="GLOSSTERM"
+>universal
+ time</I
+> (UT or UTC, formerly known as Greenwich Mean Time
+ or GMT, since it used to be local time in Greenwich, England).
+ When people with different local times need to communicate,
+ they can express times in universal time, so that there is no
+ confusion about when things should happen. </P
+><P
+> Each local time is called a time zone. While geography
+ would allow all places that have noon at the same time have the
+ same time zone, politics makes it difficult. For various reasons,
+ many countries use <I
+CLASS="GLOSSTERM"
+>daylight savings time</I
+>,
+ that is, they move their clocks to have more natural light
+ while they work, and then move the clocks back during winter.
+ Other countries do not do this. Those that do, do not agree when
+ the clocks should be moved, and they change the rules from year
+ to year. This makes time zone conversions definitely non-trivial.
+ </P
+><P
+> Time zones are best named by the location or by telling
+ the difference between local and universal time. In the US
+ and some other countries, the local time zones have a name and
+ a three letter abbreviation. The abbreviations are not unique,
+ however, and should not be used unless the country is also named.
+ It is better to talk about the local time in, say, Helsinki,
+ than about East European time, since not all countries in Eastern
+ Europe follow the same rules. </P
+><P
+> Linux has a time zone package that knows about all
+ existing time zones, and that can easily be updated when the
+ rules change. All the system administrator needs to do is to
+ select the appropriate time zone. Also, each user can set his
+ own time zone; this is important since many people work with
+ computers in different countries over the Internet. When the
+ rules for daylight savings time change in your local time zone,
+ make sure you'll upgrade at least that part of your Linux system.
+ Other than setting the system time zone and upgrading the time
+ zone data files, there is little need to bother about time.
+ </P
+></DIV
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN2442"
+HREF="c2432.html#AEN2442"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>According to
+ recent research.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2417.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2451.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Compressed backups</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>The hardware and software clocks</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/c31.html b/sag-0.6.1-www/sag-0.6.1.html/c31.html
new file mode 100644
index 0000000..9b9ea63
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/c31.html
@@ -0,0 +1,337 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Introduction</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="Source and pre-formatted versions available"
+HREF="f26.html"><LINK
+REL="NEXT"
+TITLE="Overview of a Linux System"
+HREF="c63.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="f26.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="c63.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="AEN31"
+>Chapter 1. Introduction</A
+></H1
+><BLOCKQUOTE
+><P
+>&#8220;In the beginning, the file was without
+ form, and void; and emptiness was upon the face of the bits.
+ And the Fingers of the Author moved upon the face of the
+ keyboard. And the Author said, Let there be words, and there
+ were words.&#8221;</P
+></BLOCKQUOTE
+><P
+>This manual, the Linux System Administrators' Guide,
+ describes the system administration aspects of using Linux.
+ It is intended for people who know next to nothing about system
+ administration (as in ``what is it?''), but who have already
+ mastered at least the basics of normal usage. This manual also
+ doesn't tell you how to install Linux; that is described in the
+ Installation and Getting Started document. See below for more
+ information about Linux manuals.</P
+><P
+>System administration is all the things that one has to
+ do to keep a computer system in a useable shape. It includes
+ things like backing up files (and restoring them if necessary),
+ installing new programs, creating accounts for users (and deleting
+ them when no longer needed), making certain that the filesystem
+ is not corrupted, and so on. If a computer were, say, a house,
+ system administration would be called maintenance, and would
+ include cleaning, fixing broken windows, and other such things.
+ System administration is not called maintenance, because that
+ would be too simple.
+
+ <A
+NAME="AEN38"
+HREF="#FTN.AEN38"
+>[1]</A
+>
+
+ </P
+><P
+>The structure of this manual is such that many of the
+ chapters should be usable independently, so that if you need
+ information about, say, backups, you can read just that chapter.
+ This hopefully makes the book easier to use as a reference manual,
+ and makes it possible to read just a small part when needed,
+ instead of having to read everything. However, this manual is
+ first and foremost a tutorial, and a reference manual only as
+ a lucky coincidence.</P
+><P
+>This manual is not intended to be used completely by itself.
+ Plenty of the rest of the Linux documentation is also important
+ for system administrators. After all, a system administrator is
+ just a user with special privileges and duties. A very important
+ resource are the manual pages, which should always be consulted
+ when a command is not familiar.</P
+><P
+>While this manual is targeted at Linux, a general principle
+ has been that it should be useful with other UNIX based operating
+ systems as well. Unfortunately, since there is so much variance
+ between different versions of UNIX in general, and in system
+ administration in particular, there is little hope to cover
+ all variants. Even covering all possibilities for Linux is
+ difficult, due to the nature of its development.</P
+><P
+>There is no one official Linux distribution, so different
+ people have different setups, and many people have a setup they
+ have built up themselves. This book is not targeted at any
+ one distribution, even though I use the Debian GNU/Linux system
+ almost exclusively. When possible, I have tried to point out
+ differences, and explain several alternatives.</P
+><P
+>I have tried to describe how things work, rather than just
+ listing ``five easy steps'' for each task. This means that there
+ is much information here that is not necessary for everyone,
+ but those parts are marked as such and can be skipped if you
+ use a preconfigured system. Reading everything will, naturally,
+ increase your understanding of the system and should make using
+ and administering it more pleasant.</P
+><P
+>Like all other Linux related development, the work was
+ done on a volunteer basis: I did it because I thought it might
+ be fun and because I felt it should be done. However, like all
+ volunteer work, there is a limit to how much effort I have been
+ able to spend, and also on how much knowledge and experience
+ I have. This means that the manual is not necessarily as good
+ as it would be if a wizard had been paid handsomely to write it
+ and had spent a few years to perfect it. I think, of course,
+ that it is pretty nice, but be warned.</P
+><P
+>One particular point where I have cut corners is that I
+ have not covered very thoroughly many things that are already
+ well documented in other freely available manuals. This applies
+ especially to program specific documentation, such as all the
+ details of using <B
+CLASS="COMMAND"
+>mkfs</B
+>}. I only describe the
+ purpose of the program, and as much of its usage as is necessary
+ for the purposes of this manual. For further information,
+ I refer the gentle reader to these other manuals. Usually,
+ all of the referred to documentation is part of the full Linux
+ documentation set.</P
+><P
+>While I have tried to make this manual as good as possible,
+ I would really like to hear from you if you have any ideas on
+ how to make it better. Bad language, factual errors, ideas for
+ new areas to cover, rewritten sections, information about how
+ various UNIX versions do things, I am interested in all of it. My
+ contact information is available via the World Wide Web at <A
+HREF="http://www.iki.fi/liw/mail-to-lasu.html"
+TARGET="_top"
+>http://www.iki.fi/liw/mail-to-lasu.html</A
+>.
+ </P
+><P
+>Many people have helped me with this book, directly or
+ indirectly. I would like to especially thank Matt Welsh for
+ inspiration and LDP leadership, Andy Oram for getting me to work
+ again with much-valued feedback, Olaf Kirch for showing me that it
+ can be done, and Adam Richter at Yggdrasil and others for showing
+ me that other people can find it interesting as well.</P
+><P
+>Stephen Tweedie, H.~Peter Anvin, R\'emy Card, Theodore
+ Ts'o, and Stephen Tweedie have let me borrow their work (and
+ thus make the book look thicker and much more impressive):
+ a comparison between the xia and ext2 filesystems, the device
+ list and a description of the ext2 filesystem. These aren't
+ part of the book any more. I am most grateful for this, and
+ very apologetic for the earlier versions that sometimes lacked
+ proper attribution.</P
+><P
+>In addition, I would like to thank Mark Komarinski for
+ sending his material in 1993 and the many system administration
+ columns in Linux Journal. They are quite informative and
+ inspirational.</P
+><P
+>Many useful comments have been sent by a large number
+ of people. My miniature black hole of an archive doesn't let
+ me find all their names, but some of them are, in alphabetical
+ order: Paul Caprioli, Ales Cepek, Marie-France Declerfayt,
+ Dave Dobson, Olaf Flebbe, Helmut Geyer, Larry Greenfield and
+ his father, Stephen Harris, Jyrki Havia, Jim Haynes, York Lam,
+ Timothy Andrew Lister, Jim Lynch, Michael J. Micek, Jacob Navia,
+ Dan Poirier, Daniel Quinlan, Jouni K Seppänen, Philippe Steindl,
+ G.B.\ Stotte. My apologies to anyone I have forgotten.</P
+><P
+>META need to add typographical conventsions and LDP blurb
+ here.</P
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN56"
+>The Linux Documentation Project</A
+></H1
+><P
+>The Linux Documentation Project, or LDP, is a loose team
+ of writers, proofreaders, and editors who are working together
+ to provide complete documentation for the Linux operating system.
+ The overall coordinator of the project is Greg Hankins.</P
+><P
+>This manual is one in a set of several being
+ distributed by the LDP, including a Linux Users' Guide,
+ System Administrators' Guide, Network Administrators' Guide,
+ and Kernel Hackers' Guide. These manuals are all available
+ in source format, .dvi format, and postscript output
+ by anonymous FTP from sunsite.unc.edu, in the directory
+ <TT
+CLASS="FILENAME"
+>/pub/Linux/docs/LDP</TT
+>.</P
+><P
+>We encourage anyone with a penchant for writing or editing
+ to join us in improving Linux documentation. If you have
+ Internet e-mail access, you can contact Greg Hankins at
+ <TT
+CLASS="EMAIL"
+>&#60;<A
+HREF="mailto:gregh@sunsite.unc.edu"
+>gregh@sunsite.unc.edu</A
+>&#62;</TT
+>.</P
+></DIV
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN38"
+HREF="c31.html#AEN38"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>There are some people who
+ <I
+CLASS="EMPHASIS"
+>do</I
+> call it that, but that's
+ just because they have never read this manual, poor
+ things.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="f26.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="c63.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Source and pre-formatted versions available</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Overview of a Linux System</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/c63.html b/sag-0.6.1-www/sag-0.6.1.html/c63.html
new file mode 100644
index 0000000..215276b
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/c63.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Overview of a Linux System</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="Introduction"
+HREF="c31.html"><LINK
+REL="NEXT"
+TITLE="Important parts of the kernel"
+HREF="x83.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="c31.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x83.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="AEN63"
+>Chapter 2. Overview of a Linux System</A
+></H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="c63.html#AEN69"
+>Various parts of an operating system</A
+></DT
+><DT
+><A
+HREF="x83.html"
+>Important parts of the kernel</A
+></DT
+><DT
+><A
+HREF="x94.html"
+>Major services in a UNIX system</A
+></DT
+></DL
+></DIV
+><BLOCKQUOTE
+><P
+>&#8220;God looked over everything he
+ had made, and saw that it was very good. &#8221; (Genesis
+ 1:31)</P
+></BLOCKQUOTE
+><P
+>This chapter gives an overview of a Linux system. First,
+ the major services provided by the operating system are described.
+ Then, the programs that implement these services are described
+ with a considerable lack of detail. The purpose of this chapter
+ is to give an understanding of the system as a whole, so that
+ each part is described in detail elsewhere.</P
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN69"
+>Various parts of an operating system</A
+></H1
+><P
+>A UNIX operating system consists
+ of a <I
+CLASS="GLOSSTERM"
+>kernel</I
+> and some
+ <I
+CLASS="GLOSSTERM"
+>system programs</I
+>. There are also some
+ <I
+CLASS="GLOSSTERM"
+>application</I
+> programs} for doing work.
+ The kernel is the heart of the operating system.
+
+ <A
+NAME="AEN75"
+HREF="#FTN.AEN75"
+>[1]</A
+>
+
+ It keeps track of files on the disk, starts programs and runs
+ them concurrently, assigns memory and other resources to various
+ processes, receives packets from and sends packets to the network,
+ and so on. The kernel does very little by itself, but it provides
+ tools with which all services can be built. It also prevents
+ anyone from accessing the hardware directly, forcing everyone
+ to use the tools it provides. This way the kernel provides
+ some protection for users from each other. The tools provided
+ by the kernel are used via <I
+CLASS="GLOSSTERM"
+>system calls<I
+CLASS="GLOSSTERM"
+>;
+ see manual page section 2 for more information on these. </I
+></I
+></P
+><P
+>The system programs use the tools provided by the kernel to
+ implement the various services required from an operating system.
+ System programs, and all other programs, run `on top of the
+ kernel', in what is called the <I
+CLASS="GLOSSTERM"
+>user mode</I
+>.
+ The difference between system and application programs is
+ one of intent: applications are intended for getting useful
+ things done (or for playing, if it happens to be a game),
+ whereas system programs are needed to get the system working.
+ A word processor is an application; <B
+CLASS="COMMAND"
+>telnet</B
+>
+ is a system program. The difference is often somewhat blurry,
+ however, and is important only to compulsive categorizers.</P
+><P
+>An operating system can also contain compilers and their
+ corresponding libraries (GCC and the C library in particular under
+ Linux), although not all programming languages need be part of
+ the operating system. Documentation, and sometimes even games,
+ can also be part of it. Traditionally, the operating system has
+ been defined by the contents of the installation tape or disks;
+ with Linux it is not as clear since it is spread all over the
+ FTP sites of the world.</P
+></DIV
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN75"
+HREF="c63.html#AEN75"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>In fact, it is often mistakenly considered
+ to be the operating system itself, but it is not.
+ An operating system provides many more services than a
+ plain kernel.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="c31.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x83.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Introduction</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Important parts of the kernel</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/c701.html b/sag-0.6.1-www/sag-0.6.1.html/c701.html
new file mode 100644
index 0000000..0e9b325
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/c701.html
@@ -0,0 +1,385 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Using Disks and Other Storage Media</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="The /proc filesystem"
+HREF="x595.html"><LINK
+REL="NEXT"
+TITLE="Hard disks"
+HREF="x747.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x595.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x747.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="AEN701"
+>Chapter 4. Using Disks and Other Storage Media</A
+></H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="c701.html#AEN721"
+>Two kinds of devices</A
+></DT
+><DT
+><A
+HREF="x747.html"
+>Hard disks</A
+></DT
+><DT
+><A
+HREF="x787.html"
+>Floppies</A
+></DT
+><DT
+><A
+HREF="x801.html"
+>CD-ROM's</A
+></DT
+><DT
+><A
+HREF="x811.html"
+>Tapes</A
+></DT
+><DT
+><A
+HREF="x817.html"
+>Formatting</A
+></DT
+><DT
+><A
+HREF="x876.html"
+>Partitions</A
+></DT
+><DT
+><A
+HREF="x1029.html"
+>Filesystems</A
+></DT
+><DT
+><A
+HREF="x1366.html"
+>Disks without filesystems</A
+></DT
+><DT
+><A
+HREF="x1384.html"
+>Allocating disk space</A
+></DT
+></DL
+></DIV
+><BLOCKQUOTE
+><P
+>&#8220;On a clear disk you can seek forever.
+ &#8221;</P
+></BLOCKQUOTE
+><P
+>When you install or upgrade your system, you need to do a
+ fair amount of work on your disks. You have to make filesystems
+ on your disks so that files can be stored on them and reserve
+ space for the different parts of your system.</P
+><P
+>This chapter explains all these initial activities. Usually,
+ once you get your system set up, you won't have to go through
+ the work again, except for using floppies. You'll need to come
+ back to this chapter if you add a new disk or want to fine-tune
+ your disk usage.</P
+><P
+>&#13; </P
+><P
+>The basic tasks in administering disks are:
+
+ <P
+></P
+><UL
+><LI
+><P
+> Format your disk. This does various things to prepare it for
+ use, such as checking for bad sectors. (Formatting is nowadays
+ not necessary for most hard disks.)</P
+></LI
+><LI
+><P
+> Partition a hard disk, if you want to use it for several
+ activities that aren't supposed to interfere with one another.
+ One reason for partitioning is to store different operating
+ systems on the same disk. Another reason is to keep user
+ files separate from system files, which simplifies back-ups
+ and helps protect the system files from corruption.
+ </P
+></LI
+><LI
+><P
+> Make a filesystem (of a suitable type) on each disk or partition.
+ The disk means
+ nothing to Linux until you make a filesystem; then files can
+ be created and accessed on it.
+ </P
+></LI
+><LI
+><P
+> Mount different filesystems to form a single tree structure, either
+ automatically, or manually as needed. (Manually mounted filesystems
+ usually need to be unmounted manually as well.)
+ </P
+></LI
+></UL
+>
+
+ </P
+><P
+><A
+HREF="c1450.html"
+>Chapter 5</A
+> contains information
+ about virtual memory and disk caching, of which you also need
+ to be aware when using disks.</P
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN721"
+>Two kinds of devices</A
+></H1
+><P
+>UNIX, and therefore Linux, recognizes two different
+ kinds of device: random-access block devices (such as disks),
+ and character devices (such as tapes and serial lines),
+ some of which may be serial, and some random-access. Each
+ supported device is represented in the filesystem as a
+ <I
+CLASS="GLOSSTERM"
+>device file</I
+>.
+ When you read or write a device file, the
+ data comes from or goes to the device it represents. This way
+ no special programs (and no special application programming
+ methodology, such as catching interrupts or polling a serial
+ port) are necessary to access devices; for example, to send a
+ file to the printer, one could just say
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>cat filename &gt; /dev/lp1</B
+></TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ and the contents of the file are printed (the file must, of
+ course, be in a form that the printer understands). However,
+ since it is not a good idea to have several people cat their
+ files to the printer at the same time, one usually uses a special
+ program to send the files to be printed (usually <B
+CLASS="COMMAND"
+>lpr</B
+>).
+ This program makes sure that only one file is being printed
+ at a time, and will automatically send files to the printer as
+ soon as it finishes with the previous file. Something similar
+ is needed for most devices. In fact, one seldom needs to worry
+ about device files at all.</P
+><P
+>Since devices show up as files in the filesystem (in the
+ <TT
+CLASS="FILENAME"
+>/dev</TT
+> directory), it is easy
+ to see just what device files exist, using <B
+CLASS="COMMAND"
+>ls</B
+> or
+ another suitable command. In the output of <B
+CLASS="COMMAND"
+>ls -l</B
+>, the
+ first column contains the type of the file and its
+ permissions. For example, inspecting a serial device
+ gives on my system
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>ls -l /dev/cua0</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>crw-rw-rw- 1 root uucp 5, 64 Nov 30 1993 /dev/cua0</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ The first character in the first column, i.e.,
+ `<TT
+CLASS="LITERAL"
+>c</TT
+>' in <TT
+CLASS="LITERAL"
+>crw-rw-rw-</TT
+>
+ above, tells an informed user the type of the file, in this
+ case a character device. For ordinary files, the first
+ character is `<TT
+CLASS="LITERAL"
+>-</TT
+>', for directories
+ it is `<TT
+CLASS="LITERAL"
+>d</TT
+>', and for block devices
+ `<TT
+CLASS="LITERAL"
+>b</TT
+>'; see the <B
+CLASS="COMMAND"
+>ls</B
+> man page
+ for further information.</P
+><P
+>Note that usually all device files exist even though the
+ device itself might be not be installed. So just because you
+ have a file <TT
+CLASS="FILENAME"
+>/dev/sda</TT
+>, it doesn't mean that you really do
+ have an SCSI hard disk. Having all the device files makes the
+ installation programs simpler, and makes it easier to add new
+ hardware (there is no need to find out the correct parameters
+ for and create the device files for the new device).</P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x595.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x747.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>The <TT
+CLASS="FILENAME"
+>/proc</TT
+> filesystem</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Hard disks</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/f23.html b/sag-0.6.1-www/sag-0.6.1.html/f23.html
new file mode 100644
index 0000000..16f113f
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/f23.html
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Dedication</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="NEXT"
+TITLE="Source and pre-formatted versions available"
+HREF="f26.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="book1.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="f26.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="PREFACE"
+><H1
+><A
+NAME="AEN23"
+>Dedication</A
+></H1
+><P
+>This place is dedicated to a future dedication.</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="f26.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>The Linux System Administrators' Guide</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Source and pre-formatted versions available</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/f26.html b/sag-0.6.1-www/sag-0.6.1.html/f26.html
new file mode 100644
index 0000000..3eb674f
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/f26.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Source and pre-formatted versions available</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="Dedication"
+HREF="f23.html"><LINK
+REL="NEXT"
+TITLE="Introduction"
+HREF="c31.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="f23.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="c31.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="PREFACE"
+><H1
+><A
+NAME="AEN26"
+>Source and pre-formatted versions available</A
+></H1
+><P
+>The source code and and other machine readable formats
+ of this book can be found on the Internet via anonymous
+ FTP at the Linux Documentation Project home page <A
+HREF="http://sunsite.unc.edu/LDP/"
+TARGET="_top"
+>http://sunsite.unc.edu/LDP/</A
+>,
+ or at the home page of this book at <A
+HREF="http://www.iki.fi/liw/linux/sag/"
+TARGET="_top"
+>http://www.iki.fi/liw/linux/sag/</A
+>.
+ Available are at least PostScript and TeX .DVI formats.</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="f23.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="c31.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Dedication</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Introduction</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/fstree.gif b/sag-0.6.1-www/sag-0.6.1.html/fstree.gif
new file mode 100644
index 0000000..fbd9e7d
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/fstree.gif
Binary files differ
diff --git a/sag-0.6.1-www/sag-0.6.1.html/g2516.html b/sag-0.6.1-www/sag-0.6.1.html/g2516.html
new file mode 100644
index 0000000..8fb0f7c
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/g2516.html
@@ -0,0 +1,236 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Glossary (DRAFT)</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="When the clock is wrong"
+HREF="x2504.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2504.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="GLOSSARY"
+><H1
+><A
+NAME="AEN2516"
+>Glossary (DRAFT)</A
+></H1
+><BLOCKQUOTE
+><P
+>&#8220;The Librarian of the Unseen University
+ had unilaterally decided to aid comprehension
+ by producing an Orang-utan/Human Dictionary.
+ He'd been working on it for three months.
+ It wasn't easy. He'd got as far as `Oook.'&#8221;
+ (Terry Pratchett, ``Men At Arms'')</P
+></BLOCKQUOTE
+><P
+> This is a short list of word definitions for concepts
+ relating to Linux and system administration. </P
+><DL
+><DT
+><B
+>ambition</B
+></DT
+><DD
+><P
+> The act of writing funny sentences in the hope of getting them
+ into the Linux cookie file.
+ </P
+></DD
+><DT
+><B
+>application program</B
+></DT
+><DD
+><P
+> Software that does something useful. The results of using an
+ application program is what the computer was bought for.
+ See also system program, operating system.
+ </P
+></DD
+><DT
+><B
+>daemon</B
+></DT
+><DD
+><P
+> A process lurking in the background, usually unnoticed, until
+ something triggers it into action. For example, the \cmd{update}
+ daemon wakes up every thirty seconds or so to flush the buffer
+ cache, and the \cmd{sendmail} daemon awakes whenever someone sends
+ mail.
+ </P
+></DD
+><DT
+><B
+>file system</B
+></DT
+><DD
+><P
+> The methods and data structures that an operating
+ system uses to keep track of files on a disk or partition;
+ the way the files are organized on the disk. Also used about
+ a partition or disk that is used to store the files
+ or the type of the filesystem.
+ </P
+></DD
+><DT
+><B
+>glossary</B
+></DT
+><DD
+><P
+> A list of words and explanations of what they do. Not
+ to be confused with a dictionary, which is also a list of
+ words and explanations.
+ </P
+></DD
+><DT
+><B
+>kernel</B
+></DT
+><DD
+><P
+> Part of an operating system that implements the interaction with
+ hardware and the sharing of resources. See also system program.
+ </P
+></DD
+><DT
+><B
+>operating system</B
+></DT
+><DD
+><P
+> Software that shares a computer system's resources (processor,
+ memory, disk space, network bandwidth, and so on) between
+ users and the application programs they run. Controls access
+ to the system to provide security. See also kernel, system program,
+ application program.
+ </P
+></DD
+><DT
+><B
+>system call</B
+></DT
+><DD
+><P
+> The services provided by the kernel to application programs,
+ and the way in which they are invoked. See section 2 of the
+ manual pages.
+ </P
+></DD
+><DT
+><B
+>system program</B
+></DT
+><DD
+><P
+> Programs that implement high level functionality of an operating
+ system, i.e., things that aren't directly dependent on the
+ hardware. May sometimes require special privileges to run
+ (e.g., for delivering electronic mail), but often just commonly
+ thought of as part of the system (e.g., a compiler). See also
+ application program, kernel, operating system.
+ </P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2504.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>When the clock is wrong</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/hd-layout.gif b/sag-0.6.1-www/sag-0.6.1.html/hd-layout.gif
new file mode 100644
index 0000000..8d476e2
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/hd-layout.gif
Binary files differ
diff --git a/sag-0.6.1-www/sag-0.6.1.html/hd-mount-mounted.gif b/sag-0.6.1-www/sag-0.6.1.html/hd-mount-mounted.gif
new file mode 100644
index 0000000..020e35e
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/hd-mount-mounted.gif
Binary files differ
diff --git a/sag-0.6.1-www/sag-0.6.1.html/hd-mount-separate.gif b/sag-0.6.1-www/sag-0.6.1.html/hd-mount-separate.gif
new file mode 100644
index 0000000..069034e
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/hd-mount-separate.gif
Binary files differ
diff --git a/sag-0.6.1-www/sag-0.6.1.html/hd-schematic.gif b/sag-0.6.1-www/sag-0.6.1.html/hd-schematic.gif
new file mode 100644
index 0000000..422049c
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/hd-schematic.gif
Binary files differ
diff --git a/sag-0.6.1-www/sag-0.6.1.html/index.html b/sag-0.6.1-www/sag-0.6.1.html/index.html
new file mode 100644
index 0000000..1b3b4d6
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/index.html
@@ -0,0 +1,833 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>The Linux System Administrators' Guide</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="NEXT"
+TITLE="Dedication"
+HREF="f23.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="BOOK"
+><DIV
+CLASS="TITLEPAGE"
+><H1
+CLASS="TITLE"
+><A
+NAME="AEN2"
+>The Linux System Administrators' Guide</A
+></H1
+><H2
+CLASS="SUBTITLE"
+>Version 0.6.1</H2
+><H3
+CLASS="AUTHOR"
+>Lars Wirzenius</H3
+><DIV
+CLASS="AFFILIATION"
+><P
+CLASS="LITERALLAYOUT"
+> <TT
+CLASS="EMAIL"
+>&#60;<A
+HREF="mailto:liw@iki.fi"
+>liw@iki.fi</A
+>&#62;</TT
+><br>
+ </P
+></DIV
+><DIV
+CLASS="ABSTRACT"
+><P
+>An introduction to system administration of a Linux
+ system for novices.</P
+></DIV
+><DIV
+CLASS="LEGALNOTICE"
+><P
+></P
+><P
+>Copyright 1993--1998 Lars Wirzenius.</P
+><P
+>Trademarks are owned by their owners.</P
+><P
+>Permission is granted to make and distribute verbatim
+ copies of this manual provided the copyright notice and this
+ permission notice are preserved on all copies.</P
+><P
+>Permission is granted to process the document source
+ code through TeX or other formatters and print the results,
+ and distribute the printed document, provided the printed
+ document carries copying permission notice identical to this one,
+ including the references to where the source code can be found
+ and the official home page.</P
+><P
+>Permission is granted to copy and distribute modified
+ versions of this manual under the conditions for verbatim
+ copying, provided that the entire resulting derived work is
+ distributed under the terms of a permission notice identical to
+ this one. </P
+><P
+>Permission is granted to copy and distribute translations
+ of this manual into another language, under the above conditions
+ for modified versions.</P
+><P
+>The author would appreciate a notification of modifications,
+ translations, and printed versions. Thank you.</P
+><P
+></P
+></DIV
+><HR></DIV
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="f23.html"
+>Dedication</A
+></DT
+><DT
+><A
+HREF="f26.html"
+>Source and pre-formatted versions available</A
+></DT
+><DT
+>1. <A
+HREF="c31.html"
+>Introduction</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c31.html#AEN56"
+>The Linux Documentation Project</A
+></DT
+></DL
+></DD
+><DT
+>2. <A
+HREF="c63.html"
+>Overview of a Linux System</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c63.html#AEN69"
+>Various parts of an operating system</A
+></DT
+><DT
+><A
+HREF="x83.html"
+>Important parts of the kernel</A
+></DT
+><DT
+><A
+HREF="x94.html"
+>Major services in a UNIX system</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="x94.html#AEN97"
+><B
+CLASS="COMMAND"
+>init</B
+></A
+></DT
+><DT
+><A
+HREF="x94.html#AEN117"
+>Logins from terminals</A
+></DT
+><DT
+><A
+HREF="x94.html#AEN129"
+>Syslog</A
+></DT
+><DT
+><A
+HREF="x94.html#AEN133"
+>Periodic command execution: <B
+CLASS="COMMAND"
+>cron</B
+> and
+<B
+CLASS="COMMAND"
+>at</B
+></A
+></DT
+><DT
+><A
+HREF="x94.html#AEN147"
+>Graphical user interface</A
+></DT
+><DT
+><A
+HREF="x94.html#AEN152"
+>Networking</A
+></DT
+><DT
+><A
+HREF="x94.html#AEN158"
+>Network logins</A
+></DT
+><DT
+><A
+HREF="x94.html#AEN171"
+>Network file systems</A
+></DT
+><DT
+><A
+HREF="x94.html#AEN176"
+>Mail</A
+></DT
+><DT
+><A
+HREF="x94.html#AEN191"
+>Printing</A
+></DT
+><DT
+><A
+HREF="x94.html#AEN200"
+>The filesystem layout</A
+></DT
+></DL
+></DD
+></DL
+></DD
+><DT
+>3. <A
+HREF="c212.html"
+>Overview of the Directory Tree</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c212.html#AEN218"
+>Background</A
+></DT
+><DT
+><A
+HREF="x267.html"
+>The root filesystem</A
+></DT
+><DT
+><A
+HREF="x338.html"
+>The <TT
+CLASS="FILENAME"
+>/etc</TT
+> directory</A
+></DT
+><DT
+><A
+HREF="x463.html"
+>The <TT
+CLASS="FILENAME"
+>/dev</TT
+> directory</A
+></DT
+><DT
+><A
+HREF="x472.html"
+>The <TT
+CLASS="FILENAME"
+>/usr</TT
+> filesystem</A
+></DT
+><DT
+><A
+HREF="x531.html"
+>The <TT
+CLASS="FILENAME"
+>/var</TT
+> filesystem</A
+></DT
+><DT
+><A
+HREF="x595.html"
+>The <TT
+CLASS="FILENAME"
+>/proc</TT
+> filesystem</A
+></DT
+></DL
+></DD
+><DT
+>4. <A
+HREF="c701.html"
+>Using Disks and Other Storage Media</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c701.html#AEN721"
+>Two kinds of devices</A
+></DT
+><DT
+><A
+HREF="x747.html"
+>Hard disks</A
+></DT
+><DT
+><A
+HREF="x787.html"
+>Floppies</A
+></DT
+><DT
+><A
+HREF="x801.html"
+>CD-ROM's</A
+></DT
+><DT
+><A
+HREF="x811.html"
+>Tapes</A
+></DT
+><DT
+><A
+HREF="x817.html"
+>Formatting</A
+></DT
+><DT
+><A
+HREF="x876.html"
+>Partitions</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="x876.html#AEN881"
+>The MBR, boot sectors and partition table</A
+></DT
+><DT
+><A
+HREF="x876.html#AEN905"
+>Extended and logical partitions</A
+></DT
+><DT
+><A
+HREF="x876.html#AEN920"
+>Partition types</A
+></DT
+><DT
+><A
+HREF="x876.html#AEN1008"
+>Partitioning a hard disk</A
+></DT
+><DT
+><A
+HREF="x876.html#AEN1024"
+>Device files and partitions</A
+></DT
+></DL
+></DD
+><DT
+><A
+HREF="x1029.html"
+>Filesystems</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="x1029.html#AEN1031"
+>What are filesystems?</A
+></DT
+><DT
+><A
+HREF="x1029.html#AEN1048"
+>Filesystems galore</A
+></DT
+><DT
+><A
+HREF="x1029.html#AEN1104"
+>Which filesystem should be used?</A
+></DT
+><DT
+><A
+HREF="x1029.html#AEN1107"
+>Creating a filesystem</A
+></DT
+><DT
+><A
+HREF="x1029.html#MOUNT-AND-UMOUNT"
+>Mounting and unmounting</A
+></DT
+><DT
+><A
+HREF="x1029.html#AEN1278"
+>Checking filesystem integrity with <B
+CLASS="COMMAND"
+>fsck</B
+></A
+></DT
+><DT
+><A
+HREF="x1029.html#AEN1301"
+>Checking for disk errors with <B
+CLASS="COMMAND"
+>badblocks</B
+></A
+></DT
+><DT
+><A
+HREF="x1029.html#AEN1315"
+>Fighting fragmentation</A
+></DT
+><DT
+><A
+HREF="x1029.html#AEN1321"
+>Other tools for all filesystems</A
+></DT
+><DT
+><A
+HREF="x1029.html#AEN1334"
+>Other tools for the ext2 filesystem</A
+></DT
+></DL
+></DD
+><DT
+><A
+HREF="x1366.html"
+>Disks without filesystems</A
+></DT
+><DT
+><A
+HREF="x1384.html"
+>Allocating disk space</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="x1384.html#AEN1386"
+>Partitioning schemes</A
+></DT
+><DT
+><A
+HREF="x1384.html#AEN1404"
+>Space requirements</A
+></DT
+><DT
+><A
+HREF="x1384.html#AEN1413"
+>Examples of hard disk allocation</A
+></DT
+><DT
+><A
+HREF="x1384.html#AEN1439"
+>Adding more disk space for Linux</A
+></DT
+><DT
+><A
+HREF="x1384.html#AEN1443"
+>Tips for saving disk space</A
+></DT
+></DL
+></DD
+></DL
+></DD
+><DT
+>5. <A
+HREF="c1450.html"
+>Memory Management</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c1450.html#AEN1456"
+>What is virtual memory?</A
+></DT
+><DT
+><A
+HREF="x1466.html"
+>Creating a swap space</A
+></DT
+><DT
+><A
+HREF="x1495.html"
+>Using a swap space</A
+></DT
+><DT
+><A
+HREF="x1529.html"
+>Sharing swap spaces with other operating systems</A
+></DT
+><DT
+><A
+HREF="x1532.html"
+>Allocating swap space</A
+></DT
+><DT
+><A
+HREF="x1551.html"
+>The buffer cache</A
+></DT
+></DL
+></DD
+><DT
+>6. <A
+HREF="c1582.html"
+>Boots And Shutdowns</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c1582.html#AEN1588"
+>An overview of boots and shutdowns</A
+></DT
+><DT
+><A
+HREF="x1602.html"
+>The boot process in closer look</A
+></DT
+><DT
+><A
+HREF="x1650.html"
+>More about shutdowns</A
+></DT
+><DT
+><A
+HREF="x1684.html"
+>Rebooting</A
+></DT
+><DT
+><A
+HREF="x1693.html"
+>Single user mode</A
+></DT
+><DT
+><A
+HREF="x1697.html"
+>Emergency boot floppies</A
+></DT
+></DL
+></DD
+><DT
+>7. <A
+HREF="c1705.html"
+><B
+CLASS="COMMAND"
+>init</B
+></A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c1705.html#AEN1717"
+><B
+CLASS="COMMAND"
+>init</B
+> comes first</A
+></DT
+><DT
+><A
+HREF="x1752.html"
+>Configuring <B
+CLASS="COMMAND"
+>init</B
+> to start <B
+CLASS="COMMAND"
+>getty</B
+>: the <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+> file</A
+></DT
+><DT
+><A
+HREF="x1812.html"
+>Run levels</A
+></DT
+><DT
+><A
+HREF="x1852.html"
+>Special configuration in <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+></A
+></DT
+><DT
+><A
+HREF="x1880.html"
+>Booting in single user mode</A
+></DT
+></DL
+></DD
+><DT
+>8. <A
+HREF="c1905.html"
+>Logging In And Out</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c1905.html#AEN1911"
+>Logins via terminals</A
+></DT
+><DT
+><A
+HREF="x1944.html"
+>Logins via the network</A
+></DT
+><DT
+><A
+HREF="x1956.html"
+>What <B
+CLASS="COMMAND"
+>login</B
+> does</A
+></DT
+><DT
+><A
+HREF="x1988.html"
+>X and xdm</A
+></DT
+><DT
+><A
+HREF="x1991.html"
+>Access control</A
+></DT
+><DT
+><A
+HREF="x2008.html"
+>Shell startup</A
+></DT
+></DL
+></DD
+><DT
+>9. <A
+HREF="c2018.html"
+>Managing user accounts</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c2018.html#AEN2024"
+>What's an account?</A
+></DT
+><DT
+><A
+HREF="x2031.html"
+>Creating a user</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="x2031.html#AEN2042"
+><TT
+CLASS="FILENAME"
+>/etc/passwd</TT
+> and other informative files</A
+></DT
+><DT
+><A
+HREF="x2031.html#AEN2072"
+>Picking numeric user and group ids</A
+></DT
+><DT
+><A
+HREF="x2031.html#AEN2077"
+>Initial environment: <TT
+CLASS="FILENAME"
+>/etc/skel</TT
+></A
+></DT
+><DT
+><A
+HREF="x2031.html#MANUAL-ADDUSER"
+>Creating a user by hand</A
+></DT
+></DL
+></DD
+><DT
+><A
+HREF="x2124.html"
+>Changing user properties</A
+></DT
+><DT
+><A
+HREF="x2152.html"
+>Removing a user</A
+></DT
+><DT
+><A
+HREF="x2166.html"
+>Disabling a user temporarily</A
+></DT
+></DL
+></DD
+><DT
+>10. <A
+HREF="c2187.html"
+>Backups</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c2187.html#AEN2193"
+>On the importance of being backed up</A
+></DT
+><DT
+><A
+HREF="x2206.html"
+>Selecting the backup medium</A
+></DT
+><DT
+><A
+HREF="x2216.html"
+>Selecting the backup tool</A
+></DT
+><DT
+><A
+HREF="x2240.html"
+>Simple backups</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="x2240.html#AEN2247"
+>Making backups with <B
+CLASS="COMMAND"
+>tar</B
+></A
+></DT
+><DT
+><A
+HREF="x2240.html#AEN2288"
+>Restoring files with <B
+CLASS="COMMAND"
+>tar</B
+></A
+></DT
+></DL
+></DD
+><DT
+><A
+HREF="x2315.html"
+>Multilevel backups</A
+></DT
+><DT
+><A
+HREF="x2405.html"
+>What to back up</A
+></DT
+><DT
+><A
+HREF="x2417.html"
+>Compressed backups</A
+></DT
+></DL
+></DD
+><DT
+>11. <A
+HREF="c2432.html"
+>Keeping Time</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="c2432.html#AEN2438"
+>Time zones</A
+></DT
+><DT
+><A
+HREF="x2451.html"
+>The hardware and software clocks</A
+></DT
+><DT
+><A
+HREF="x2457.html"
+>Showing and setting time</A
+></DT
+><DT
+><A
+HREF="x2504.html"
+>When the clock is wrong</A
+></DT
+></DL
+></DD
+><DT
+><A
+HREF="g2516.html"
+>Glossary (DRAFT)</A
+></DT
+></DL
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="f23.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Dedication</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/logins-via-terminals.gif b/sag-0.6.1-www/sag-0.6.1.html/logins-via-terminals.gif
new file mode 100644
index 0000000..66a5b98
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/logins-via-terminals.gif
Binary files differ
diff --git a/sag-0.6.1-www/sag-0.6.1.html/overview-kernel.gif b/sag-0.6.1-www/sag-0.6.1.html/overview-kernel.gif
new file mode 100644
index 0000000..eaff06b
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/overview-kernel.gif
Binary files differ
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1029.html b/sag-0.6.1-www/sag-0.6.1.html/x1029.html
new file mode 100644
index 0000000..74c5eb2
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1029.html
@@ -0,0 +1,1720 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Filesystems</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Using Disks and Other Storage Media"
+HREF="c701.html"><LINK
+REL="PREVIOUS"
+TITLE="Partitions"
+HREF="x876.html"><LINK
+REL="NEXT"
+TITLE="Disks without filesystems"
+HREF="x1366.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x876.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Using Disks and Other Storage Media</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1366.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1029"
+>Filesystems</A
+></H1
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1031"
+>What are filesystems?</A
+></H2
+><P
+>A <I
+CLASS="GLOSSTERM"
+>filesystem</I
+> is the methods and
+ data structures that an operating system uses to keep track
+ of files on a disk or partition; that is, the way the files
+ are organized on the disk. The word is also used to refer to a
+ partition or disk that is used to store the files or the type of
+ the filesystem. Thus, one might say ``I have two filesystems''
+ meaning one has two partitions on which one stores files, or
+ that one is using the ``extended filesystem'', meaning the type
+ of the filesystem.</P
+><P
+>The difference between a disk or partition and the filesystem
+ it contains is important. A few programs (including,
+ reasonably enough, programs that create filesystems) operate
+ directly on the raw sectors of a disk or partition; if there
+ is an existing file system there it will be destroyed or
+ seriously corrupted. Most programs operate on a filesystem,
+ and therefore won't work on a partition that doesn't contain
+ one (or that contains one of the wrong type).</P
+><P
+>Before a partition or disk can be used as a filesystem, it
+ needs to be initialized, and the bookkeeping data structures need
+ to be written to the disk. This process is called
+ <I
+CLASS="GLOSSTERM"
+>making a filesystem</I
+>.</P
+><P
+>Most UNIX filesystem types have a similar general
+ structure, although the exact details vary quite a bit.
+ The central concepts are <I
+CLASS="GLOSSTERM"
+>superblock</I
+>,
+ <I
+CLASS="GLOSSTERM"
+>inode</I
+>, <I
+CLASS="GLOSSTERM"
+>data block</I
+>,
+ <I
+CLASS="GLOSSTERM"
+>directory block</I
+>, and <I
+CLASS="GLOSSTERM"
+>indirection
+ block</I
+>. The superblock contains information
+ about the filesystem as a whole, such as its size (the exact
+ information here depends on the filesystem). An inode contains
+ all information about a file, except its name. The name is
+ stored in the directory, together with the number of the inode.
+ A directory entry consists of a filename and the number of
+ the inode which represents the file. The inode contains the
+ numbers of several data blocks, which are used to store the
+ data in the file. There is space only for a few data block
+ numbers in the inode, however, and if more are needed, more
+ space for pointers to the data blocks is allocated dynamically.
+ These dynamically allocated blocks are indirect blocks; the name
+ indicates that in order to find the data block, one has to find
+ its number in the indirect block first.</P
+><P
+>UNIX filesystems usually allow one to create a
+ <I
+CLASS="GLOSSTERM"
+>hole</I
+> in a file (this is done with
+ <TT
+CLASS="FUNCTION"
+>lseek</TT
+>; check the manual page), which means
+ that the filesystem just pretends that at a particular place in
+ the file there is just zero bytes, but no actual disk sectors are
+ reserved for that place in the file (this means that the file
+ will use a bit less disk space). This happens especially often
+ for small binaries, Linux shared libraries, some databases, and
+ a few other special cases. (Holes are implemented by storing a
+ special value as the address of the data block in the indirect
+ block or inode. This special address means that no data block
+ is allocated for that part of the file, ergo, there is a hole
+ in the file.)</P
+><P
+>Holes are moderately useful. On the author's system,
+ a simple measurement showed a potential for about 4 MB of
+ savings through holes of about 200 MB total used disk space.
+ That system, however, contains relatively few programs and no
+ database files.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1048"
+>Filesystems galore</A
+></H2
+><P
+>Linux supports several types of filesystems. As of this
+ writing the most important ones are:
+
+ <DIV
+CLASS="GLOSSLIST"
+><DL
+><DT
+><B
+>minix</B
+></DT
+><DD
+><P
+> The oldest, presumed to be the most reliable, but quite
+ limited in features (some time stamps are missing, at
+ most 30 character filenames) and restricted in
+ capabilities (at most 64 MB per filesystem).
+ </P
+></DD
+><DT
+><B
+>xia</B
+></DT
+><DD
+><P
+> A modified version of the minix filesystem that lifts
+ the limits on the filenames and filesystem sizes,
+ but does not otherwise introduce new features. It is
+ not very popular, but is reported to work very well.
+ </P
+></DD
+><DT
+><B
+>ext2</B
+></DT
+><DD
+><P
+> The most featureful of the native Linux filesystems,
+ currently also the most popular one. It is designed to
+ be easily upwards compatible, so that new versions
+ of the filesystem code do not require re-making the
+ existing filesystems.
+ </P
+></DD
+><DT
+><B
+>ext</B
+></DT
+><DD
+><P
+> An older version of ext2 that wasn't upwards
+ compatible. It is hardly ever used in new installations
+ any more, and most people have converted to ext2.
+ </P
+></DD
+></DL
+></DIV
+>
+ </P
+><P
+>In addition, support for several foreign filesystem exists,
+ to make it easier to exchange files with other operating
+ systems. These foreign filesystems work just like native
+ ones, except that they may be lacking in some usual UNIX
+ features, or have curious limitations, or other oddities.
+
+ <DIV
+CLASS="GLOSSLIST"
+><DL
+><DT
+><B
+>msdos</B
+></DT
+><DD
+><P
+> Compatibility with MS-DOS (and OS/2 and Windows NT)
+ FAT filesystems.
+ </P
+></DD
+><DT
+><B
+>usmdos</B
+></DT
+><DD
+><P
+> Extends the msdos filesystem driver under
+ Linux to get long filenames, owners,
+ permissions, links, and device files. This allows a normal
+ msdos filesystem to be used as if it were a
+ Linux one, thus removing the need for a separate
+ partition for Linux.
+ </P
+></DD
+><DT
+><B
+>iso9660</B
+></DT
+><DD
+><P
+> The standard CD-ROM filesystem; the popular Rock Ridge
+ extension to the CD-ROM standard that allows longer file
+ names is supported automatically.
+ </P
+></DD
+><DT
+><B
+>nfs</B
+></DT
+><DD
+><P
+> A networked filesystem that allows sharing a filesystem
+ between many computers to allow easy access to the
+ files from all of them.
+ </P
+></DD
+><DT
+><B
+>hpfs</B
+></DT
+><DD
+><P
+> The OS/2 filesystem.
+ </P
+></DD
+><DT
+><B
+>sysv</B
+></DT
+><DD
+><P
+> SystemV/386, Coherent, and Xenix filesystems.
+ </P
+></DD
+></DL
+></DIV
+>
+ </P
+><P
+>The choice of filesystem to use depends on the situation. If
+ compatibility or other reasons make one of the non-native
+ filesystems necessary, then that one must be used. If one can
+ choose freely, then it is probably wisest to use ext2, since
+ it has all the features but does not suffer from lack of
+ performance.</P
+><P
+>There is also the proc filesystem, usually accessible as
+ the <TT
+CLASS="FILENAME"
+>/proc</TT
+> directory, which is not really a
+ filesystem at all, even though it looks like one. The
+ proc filesystem makes it easy to access certain kernel
+ data structures, such as the process list (hence the name).
+ It makes these
+ data structures look like a filesystem, and that filesystem
+ can be manipulated with all the usual file tools. For example,
+ to get a listing of all processes one might use the
+ command
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>ls -l /proc</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>total 0
+dr-xr-xr-x 4 root root 0 Jan 31 20:37 1
+dr-xr-xr-x 4 liw users 0 Jan 31 20:37 63
+dr-xr-xr-x 4 liw users 0 Jan 31 20:37 94
+dr-xr-xr-x 4 liw users 0 Jan 31 20:37 95
+dr-xr-xr-x 4 root users 0 Jan 31 20:37 98
+dr-xr-xr-x 4 liw users 0 Jan 31 20:37 99
+-r--r--r-- 1 root root 0 Jan 31 20:37 devices
+-r--r--r-- 1 root root 0 Jan 31 20:37 dma
+-r--r--r-- 1 root root 0 Jan 31 20:37 filesystems
+-r--r--r-- 1 root root 0 Jan 31 20:37 interrupts
+-r-------- 1 root root 8654848 Jan 31 20:37 kcore
+-r--r--r-- 1 root root 0 Jan 31 11:50 kmsg
+-r--r--r-- 1 root root 0 Jan 31 20:37 ksyms
+-r--r--r-- 1 root root 0 Jan 31 11:51 loadavg
+-r--r--r-- 1 root root 0 Jan 31 20:37 meminfo
+-r--r--r-- 1 root root 0 Jan 31 20:37 modules
+dr-xr-xr-x 2 root root 0 Jan 31 20:37 net
+dr-xr-xr-x 4 root root 0 Jan 31 20:37 self
+-r--r--r-- 1 root root 0 Jan 31 20:37 stat
+-r--r--r-- 1 root root 0 Jan 31 20:37 uptime
+-r--r--r-- 1 root root 0 Jan 31 20:37 version</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ (There will be a few extra files that don't correspond to
+ processes, though. The above example has been shortened.)</P
+><P
+>Note that even though it is called a filesystem, no part of
+ the proc filesystem touches any disk. It exists only in the
+ kernel's imagination. Whenever anyone tries to look at any
+ part of the proc filesystem, the kernel makes it look as if
+ the part existed somewhere, even though it doesn't. So, even
+ though there is a multi-megabyte <TT
+CLASS="FILENAME"
+>/proc/kcore</TT
+> file,
+ it doesn't take any disk space.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1104"
+>Which filesystem should be used?</A
+></H2
+><P
+>There is usually little point in using many different
+ filesystems. Currently, ext2fs is the most popular one, and
+ it is probably the wisest choice. Depending on the overhead
+ for bookkeeping structures, speed, (perceived) reliability,
+ compatibility, and various other reasons, it may be advisable
+ to use another file system. This needs to be decided on a
+ case-by-case basis.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1107"
+>Creating a filesystem</A
+></H2
+><P
+>Filesystems are created, i.e., initialized, with the <B
+CLASS="COMMAND"
+>mkfs</B
+>
+ command. There is actually a separate program for each filesystem
+ type. <B
+CLASS="COMMAND"
+>mkfs</B
+> is just a front end that runs the appropriate
+ program depending on the desired filesystem type. The type is
+ selected with the <SPAN
+CLASS="OPTION"
+>-t fstype</SPAN
+> option.</P
+><P
+>The programs called by <B
+CLASS="COMMAND"
+>mkfs</B
+> have slightly
+ different command line interfaces. The common and most important
+ options are summarized below; see the manual pages for more.
+
+ <DIV
+CLASS="GLOSSLIST"
+><DL
+><DT
+><B
+><SPAN
+CLASS="OPTION"
+>-t fstype</SPAN
+></B
+></DT
+><DD
+><P
+> Select the type of the filesystem.
+ </P
+></DD
+><DT
+><B
+><SPAN
+CLASS="OPTION"
+>-c</SPAN
+></B
+></DT
+><DD
+><P
+> Search for bad blocks and initialize the bad
+ block list accordingly.
+ </P
+></DD
+><DT
+><B
+>-l filename</B
+></DT
+><DD
+><P
+> Read the initial bad block list from the name file.
+ </P
+></DD
+></DL
+></DIV
+>
+ </P
+><P
+>To create an ext2 filesystem on a floppy, one would give the
+ following commands:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>fdformat -n /dev/fd0H1440</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.
+Formatting ... done</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>badblocks /dev/fd0H1440 1440 $&#62;$ bad-blocks</B
+></TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>mkfs -t ext2 -l bad-blocks /dev/fd0H1440</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>mke2fs 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10
+360 inodes, 1440 blocks
+72 blocks (5.00%) reserved for the super user
+First data block=1
+Block size=1024 (log=0)
+Fragment size=1024 (log=0)
+1 block group
+8192 blocks per group, 8192 fragments per group
+360 inodes per group
+
+Writing inode tables: done
+Writing superblocks and filesystem accounting information: done</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ First, the floppy was formatted (the <SPAN
+CLASS="OPTION"
+>-n</SPAN
+> option
+ prevents validation, i.e., bad block checking). Then bad blocks
+ were searched with <B
+CLASS="COMMAND"
+>badblocks</B
+>, with the output
+ redirected to a file, <TT
+CLASS="FILENAME"
+>bad-blocks</TT
+>. Finally,
+ the filesystem was created, with the bad block list initialized
+ by whatever <B
+CLASS="COMMAND"
+>badblocks</B
+> found.</P
+><P
+>The <SPAN
+CLASS="OPTION"
+>-c</SPAN
+> option could have been used with
+ <B
+CLASS="COMMAND"
+>mkfs</B
+> instead of <B
+CLASS="COMMAND"
+>badblocks</B
+>
+ and a separate file. The example below does that.
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>mkfs -t ext2 -c /dev/fd0H1440</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>mke2fs 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10
+360 inodes, 1440 blocks
+72 blocks (5.00%) reserved for the super user
+First data block=1
+Block size=1024 (log=0)
+Fragment size=1024 (log=0)
+1 block group
+8192 blocks per group, 8192 fragments per group
+360 inodes per group
+
+Checking for bad blocks (read-only test): done
+Writing inode tables: done
+Writing superblocks and filesystem accounting information: done</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ The <SPAN
+CLASS="OPTION"
+>-c</SPAN
+> option is more convenient than a separate use of
+ <B
+CLASS="COMMAND"
+>badblocks</B
+>, but <B
+CLASS="COMMAND"
+>badblocks</B
+> is necessary for checking
+ after the filesystem has been created.</P
+><P
+>The process to prepare filesystems on hard disks or
+ partitions is the same as for floppies, except that the formatting
+ isn't needed.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="MOUNT-AND-UMOUNT"
+>Mounting and unmounting</A
+></H2
+><P
+>Before one can use a filesystem, it has to be <I
+CLASS="GLOSSTERM"
+>mounted</I
+>.
+ The operating system then does various bookkeeping things to
+ make sure that everything works. Since all files in UNIX are
+ in a single directory tree, the mount operation will make it
+ look like the contents of the new filesystem are the contents of
+ an existing subdirectory in some already mounted filesystem.</P
+><P
+>For example, <A
+HREF="x1029.html#HD-MOUNT-ROOT"
+>Figure 4-3</A
+> shows three
+ separate filesystems, each with their own root directory.
+ When the last two filesystems are mounted below <TT
+CLASS="FILENAME"
+>/home</TT
+>
+ and <TT
+CLASS="FILENAME"
+>/usr</TT
+>, respectively, on the first filesystem, we
+ can get a single directory tree, as in
+ <A
+HREF="x1029.html#HD-MOUNT-ALL"
+>Figure 4-4</A
+>.</P
+><DIV
+CLASS="FIGURE"
+><P
+><B
+><A
+NAME="HD-MOUNT-ROOT"
+>Figure 4-3. Three separate filesystems.</A
+></B
+></P
+><P
+><IMG
+SRC="hd-mount-separate.gif"></P
+></DIV
+><DIV
+CLASS="FIGURE"
+><P
+><B
+><A
+NAME="HD-MOUNT-ALL"
+>Figure 4-4. <TT
+CLASS="FILENAME"
+>/home</TT
+> and <TT
+CLASS="FILENAME"
+>/usr</TT
+> have been mounted.</A
+></B
+></P
+><P
+><IMG
+SRC="hd-mount-mounted.gif"></P
+></DIV
+><P
+>The mounts could be done as in the following example:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>mount /dev/hda2 /home</B
+></TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>mount /dev/hda3 /usr</B
+></TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ The <B
+CLASS="COMMAND"
+>mount</B
+> command takes two arguments.
+ The first one is the device file corresponding to the disk
+ or partition containing the filesystem. The second one is
+ the directory below which it will be mounted. After these
+ commands the contents of the two filesystems look just
+ like the contents of the <TT
+CLASS="FILENAME"
+>/home</TT
+> and
+ <TT
+CLASS="FILENAME"
+>/usr</TT
+> directories, respectively. One would
+ then say that ``<TT
+CLASS="FILENAME"
+>/dev/hda2</TT
+> <I
+CLASS="GLOSSTERM"
+>is
+ mounted on</I
+> <TT
+CLASS="FILENAME"
+>/home</TT
+>'', and
+ similarly for <TT
+CLASS="FILENAME"
+>/usr</TT
+>. To look at either
+ filesystem, one would look at the contents of the directory
+ on which it has been mounted, just as if it were any other
+ directory. Note the difference between the device file,
+ <TT
+CLASS="FILENAME"
+>/dev/hda2</TT
+>, and the mounted-on directory,
+ <TT
+CLASS="FILENAME"
+>/home</TT
+>. The device file gives access to the
+ raw contents of the disk, the mounted-on directory gives access
+ to the files on the disk. The mounted-on directory is called
+ the <I
+CLASS="GLOSSTERM"
+>mount point</I
+>.</P
+><P
+>Linux supports many filesystem types. <B
+CLASS="COMMAND"
+>mount</B
+> tries to
+ guess the type of the filesystem. You can also use the
+ <SPAN
+CLASS="OPTION"
+>-t fstype</SPAN
+> option to specify the type directly;
+ this is sometimes necessary, since the heuristics <B
+CLASS="COMMAND"
+>mount</B
+>
+ uses do not always work. For example, to mount an MS-DOS
+ floppy, you could use the following command:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>mount -t msdos /dev/fd0 /floppy</B
+></TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+ </P
+><P
+>The mounted-on directory need not be empty, although it
+ must exist. Any files in it, however, will be inaccessible by
+ name while the filesystem is mounted. (Any files that have
+ already been opened will still be accessible. Files that
+ have hard links from other directories can be accessed using
+ those names.) There is no harm done with this, and it can even
+ be useful. For instance, some people like to have <TT
+CLASS="FILENAME"
+>/tmp</TT
+>
+ and <TT
+CLASS="FILENAME"
+>/var/tmp</TT
+> synonymous, and make <TT
+CLASS="FILENAME"
+>/tmp</TT
+> be a symbolic
+ link to <TT
+CLASS="FILENAME"
+>/var/tmp</TT
+>. When the system is booted, before
+ the <TT
+CLASS="FILENAME"
+>/var</TT
+> filesystem is mounted, a <TT
+CLASS="FILENAME"
+>/var/tmp</TT
+> directory
+ residing on the root filesystem is used instead. When <TT
+CLASS="FILENAME"
+>/var</TT
+>
+ is mounted, it will make the <TT
+CLASS="FILENAME"
+>/var/tmp</TT
+> directory on the root
+ filesystem inaccessible. If <TT
+CLASS="FILENAME"
+>/var/tmp</TT
+> didn't exist on the
+ root filesystem, it would be impossible to use temporary files
+ before mounting <TT
+CLASS="FILENAME"
+>/var</TT
+>.</P
+><P
+>If you don't intend to write anything to the filesystem, use
+ the <SPAN
+CLASS="OPTION"
+>-r</SPAN
+> switch for <B
+CLASS="COMMAND"
+>mount</B
+> to do a <I
+CLASS="GLOSSTERM"
+>readonly
+ mount</I
+>. This will make the kernel stop any attempts at
+ writing to the filesystem, and will also stop the kernel from
+ updating file access times in the inodes. Read-only mounts
+ are necessary for unwritable media, e.g., CD-ROM's.</P
+><P
+>The alert reader has already noticed a slight
+ logistical problem. How is the first filesystem (called the <I
+CLASS="GLOSSTERM"
+>root
+ filesystem</I
+>, because it contains the root directory) mounted,
+ since it obviously can't be mounted on another filesystem?
+ Well, the answer is that it is done by magic.
+
+ <A
+NAME="AEN1217"
+HREF="#FTN.AEN1217"
+>[1]</A
+>
+
+ The root filesystem is magically mounted at boot time,
+ and one can rely on it to always be mounted. If the
+ root filesystem can't be mounted, the system does not boot.
+ The name of the filesystem that is magically mounted as root
+ is either compiled into the kernel, or set using LILO or
+ <B
+CLASS="COMMAND"
+>rdev</B
+>.</P
+><P
+>The root filesystem is usually first mounted readonly.
+ The startup scripts will then run <B
+CLASS="COMMAND"
+>fsck</B
+>
+ to verify its validity, and if there are no problems, they
+ will <I
+CLASS="GLOSSTERM"
+>re-mount</I
+> it so that writes will
+ also be allowed. <B
+CLASS="COMMAND"
+>fsck</B
+> must not be run on a
+ mounted filesystem, since any changes to the filesystem while
+ <B
+CLASS="COMMAND"
+>fsck</B
+> is running <I
+CLASS="EMPHASIS"
+>will</I
+>
+ cause trouble. Since the root filesystem is mounted readonly
+ while it is being checked, <B
+CLASS="COMMAND"
+>fsck</B
+> can fix any
+ problems without worry, since the remount operation will flush
+ any metadata that the filesystem keeps in memory.</P
+><P
+>On many systems there are other filesystems that should
+ also be mounted automatically at boot time. These are specified
+ in the <TT
+CLASS="FILENAME"
+>/etc/fstab</TT
+> file; see the fstab man
+ page for details on the format. The details of exactly when the
+ extra filesystems are mounted depend on many factors, and can be
+ configured by each administrator if need be; see
+ <A
+HREF="c1582.html"
+>Chapter 6</A
+>.</P
+><P
+>When a filesystem no longer needs to be mounted, it can be
+ unmounted with <B
+CLASS="COMMAND"
+>umount</B
+>.
+
+ <A
+NAME="AEN1232"
+HREF="#FTN.AEN1232"
+>[2]</A
+>
+
+ <B
+CLASS="COMMAND"
+>umount</B
+> takes one argument:
+ either the device file or the mount point.
+ For example, to unmount the directories of
+ the previous example, one could use the commands
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>umount /dev/hda2</B
+></TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>umount /usr</B
+></TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+ </P
+><P
+>See the man page for further instructions on how to
+ use the command. It is imperative that you always unmount a
+ mounted floppy. <I
+CLASS="EMPHASIS"
+>Don't just pop the floppy out of
+ the drive!</I
+> Because of disk caching, the data is
+ not necessarily written to the floppy until you unmount it,
+ so removing the floppy from the drive too early might cause the
+ contents to become garbled. If you only read from the floppy,
+ this is not very likely, but if you write, even accidentally,
+ the result may be catastrophic.</P
+><P
+>Mounting and unmounting requires super user privileges, i.e.,
+ only root can do it. The reason for this is that if any
+ user can mount a floppy on any directory, then it is rather easy
+ to create a floppy with, say, a Trojan horse disguised as
+ <TT
+CLASS="FILENAME"
+>/bin/sh</TT
+>, or any other often used program. However, it is
+ often necessary to allow users to use floppies, and there are
+ several ways to do this:
+
+ <P
+></P
+><UL
+><LI
+><P
+>Give the users the root password. This is
+ obviously bad security, but is the easiest solution. It works
+ well if there is no need for security anyway, which is the case
+ on many non-networked, personal systems.</P
+></LI
+><LI
+><P
+>Use a program such as <B
+CLASS="COMMAND"
+>sudo</B
+> to allow users to
+ use mount. This is still bad security, but doesn't
+ directly give super user privileges to
+ everyone.
+ <A
+NAME="AEN1252"
+HREF="#FTN.AEN1252"
+>[3]</A
+>
+ </P
+></LI
+><LI
+><P
+>Make the users use <B
+CLASS="COMMAND"
+>mtools</B
+>, a package for manipulating
+ MS-DOS filesystems, without mounting them. This works
+ well if MS-DOS floppies are all that is needed,
+ but is rather awkward otherwise.
+ </P
+></LI
+><LI
+><P
+>List the floppy devices and their allowable mount points
+ together with the suitable options in <TT
+CLASS="FILENAME"
+>/etc/fstab</TT
+>.
+
+ </P
+></LI
+></UL
+>
+
+ The last alternative can be implemented by adding a line like
+ the following to the \fn{/etc/fstab} file:
+
+<PRE
+CLASS="SCREEN"
+>/dev/fd0 /floppy msdos user,noauto 0 0</PRE
+>
+
+ The columns are: device file to mount, directory to mount
+ on, filesystem type, options, backup frequency (used by
+ <B
+CLASS="COMMAND"
+>dump</B
+>), and <B
+CLASS="COMMAND"
+>fsck</B
+> pass number
+ (to specify the order in which filesystems should be checked
+ upon boot; 0 means no check).</P
+><P
+>The <SPAN
+CLASS="OPTION"
+>noauto</SPAN
+> option stops this mount to be done
+ automatically when the system is started (i.e., it stops
+ <B
+CLASS="COMMAND"
+>mount -a</B
+> from mounting it). The <SPAN
+CLASS="OPTION"
+>user</SPAN
+> option
+ allows any user to mount the filesystem, and, because of security
+ reasons, disallows execution of programs (normal or setuid)
+ and interpretation of device files from the mounted filesystem.
+ After this, any user can mount a floppy with an msdos
+ filesystem with the following command:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>mount /floppy</B
+></TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ The floppy can (and needs to, of course) be unmounted with
+ the corresponding \cmd{umount} command.</P
+><P
+>If you want to provide access to several types of floppies,
+ you need to give several mount points. The settings can be
+ different for each mount point. For example, to give access
+ to both MS-DOS and ext2 floppies, you could have the following
+ to lines in <TT
+CLASS="FILENAME"
+>/etc/fstab</TT
+>:
+
+<PRE
+CLASS="SCREEN"
+>/dev/fd0 /dosfloppy msdos user,noauto 0 0
+/dev/fd0 /ext2floppy ext2 user,noauto 0 0</PRE
+>
+
+ For MS-DOS filesystems (not just floppies), you probably want
+ to restrict access to it by using the <SPAN
+CLASS="OPTION"
+>uid</SPAN
+>,
+ <SPAN
+CLASS="OPTION"
+>gid</SPAN
+>, and <SPAN
+CLASS="OPTION"
+>umask</SPAN
+> filesystem
+ options, described in detail on the <B
+CLASS="COMMAND"
+>mount</B
+>
+ manual page. If you aren't careful, mounting an MS-DOS filesystem
+ gives everyone at least read access to the files in it, which
+ is not a good idea.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1278"
+>Checking filesystem integrity with <B
+CLASS="COMMAND"
+>fsck</B
+></A
+></H2
+><P
+>Filesystems are complex creatures, and as such, they
+ tend to be somewhat error-prone. A filesystem's correctness and
+ validity can be checked using the <B
+CLASS="COMMAND"
+>fsck</B
+> command.
+ It can be instructed to repair any minor problems it finds, and to
+ alert the user if there any unrepairable problems. Fortunately,
+ the code to implement filesystems is debugged quite effectively,
+ so there are seldom any problems at all, and they are usually
+ caused by power failures, failing hardware, or operator errors;
+ for example, by not shutting down the system properly.</P
+><P
+>Most systems are setup to run <B
+CLASS="COMMAND"
+>fsck</B
+>
+ automatically at boot time, so that any errors are detected
+ (and hopefully corrected) before the system is used. Use of
+ a corrupted filesystem tends to make things worse: if the
+ data structures are messed up, using the filesystem will
+ probably mess them up even more, resulting in more data loss.
+ However, <B
+CLASS="COMMAND"
+>fsck</B
+> can take a while to run on big
+ filesystems, and since errors almost never occur if the system
+ has been shut down properly, a couple of tricks are used to
+ avoid doing the checks in such cases. The first is that if
+ the file <TT
+CLASS="FILENAME"
+>/etc/fastboot</TT
+> exists, no checks
+ are made. The second is that the ext2 filesystem has a special
+ marker in its superblock that tells whether the filesystem
+ was unmounted properly after the previous mount. This allows
+ <B
+CLASS="COMMAND"
+>e2fsck</B
+> (the version of <B
+CLASS="COMMAND"
+>fsck</B
+>
+ for the ext2 filesystem) to avoid checking the filesystem if
+ the flag indicates that the unmount was done (the assumption
+ being that a proper unmount indicates no problems). Whether the
+ <TT
+CLASS="FILENAME"
+>/etc/fastboot</TT
+> trick works on your system
+ depends on your startup scripts, but the ext2 trick works
+ every time you use <B
+CLASS="COMMAND"
+>e2fsck</B
+>. It has to be
+ explicitly bypassed with an option to <B
+CLASS="COMMAND"
+>e2fsck</B
+>
+ to be avoided. (See the <B
+CLASS="COMMAND"
+>e2fsck</B
+> man page for
+ details on how.)</P
+><P
+>The automatic checking only works for the
+ filesystems that are mounted automatically at boot time.
+ Use <B
+CLASS="COMMAND"
+>fsck</B
+> manually to check other filesystems,
+ e.g., floppies.</P
+><P
+>If <B
+CLASS="COMMAND"
+>fsck</B
+> finds unrepairable problems,
+ you need either in-depth knowlege of how filesystems work in
+ general, and the type of the corrupt filesystem in particular,
+ or good backups. The latter is easy (although sometimes tedious)
+ to arrange, the former can sometimes be arranged via a friend,
+ the Linux newsgroups and mailing lists, or some other source of
+ support, if you don't have the know-how yourself. I'd like to
+ tell you more about it, but my lack of education and experience
+ in this regard hinders me. The <B
+CLASS="COMMAND"
+>debugfs</B
+>
+ program by Theodore T'so should be useful.</P
+><P
+><B
+CLASS="COMMAND"
+>fsck</B
+> must only be run on unmounted
+ filesystems, never on mounted filesystems (with the exception of
+ the read-only root during startup). This is because it accesses
+ the raw disk, and can therefore modify the filesystem without the
+ operating system realizing it. There <I
+CLASS="EMPHASIS"
+>will</I
+>
+ be trouble, if the operating system is confused.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1301"
+>Checking for disk errors with <B
+CLASS="COMMAND"
+>badblocks</B
+></A
+></H2
+><P
+>It can be a good idea to periodically check for bad blocks.
+ This is done with the <B
+CLASS="COMMAND"
+>badblocks</B
+> command. It outputs
+ a list of the numbers of all bad blocks it can find. This list
+ can be fed to <B
+CLASS="COMMAND"
+>fsck</B
+> to be recorded
+ in the filesystem data structures so that the operating system
+ won't try to use the bad blocks for storing data.
+ The following example will show how this could be done.
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>badblocks /dev/fd0H1440 1440 &gt; bad-blocks</B
+></TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>fsck -t ext2 -l bad-blocks /dev/fd0H1440</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Parallelizing fsck version 0.5a (5-Apr-94)
+e2fsck 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Check reference counts.
+Pass 5: Checking group summary information.
+
+/dev/fd0H1440: ***** FILE SYSTEM WAS MODIFIED *****
+/dev/fd0H1440: 11/360 files, 63/1440 blocks</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ If badblocks reports a block that was already used,
+ <B
+CLASS="COMMAND"
+>e2fsck</B
+> will try to move the block to another
+ place. If the block was really bad, not just marginal, the
+ contents of the file may be corrupted.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1315"
+>Fighting fragmentation</A
+></H2
+><P
+>When a file is written to disk, it can't always be written
+ in consecutive blocks. A file that is not stored in
+ consecutive blocks is <I
+CLASS="GLOSSTERM"
+>fragmented</I
+>. It takes longer
+ to read a fragmented file, since the disk's read-write head
+ will have to move more. It is desireable to avoid fragmentation,
+ although it is less of a problem in a system with a good buffer
+ cache with read-ahead.</P
+><P
+>The ext2 filesystem attempts to keep fragmentation at a
+ minimum, by keeping all blocks in a file close together, even if
+ they can't be stored in consecutive sectors. Ext2 effectively
+ always allocates the free block that is nearest to other blocks
+ in a file. For ext2, it is therefore seldom necessary to worry
+ about fragmentation. There is a program for defragmenting an
+ ext2 filesystem, see XXX (ext2-defrag) in the bibliography.</P
+><P
+>There are many MS-DOS defragmentation programs that
+ move blocks around in the filesystem to remove fragmentation.
+ For other filesystems, defragmentation must be done by backing
+ up the filesystem, re-creating it, and restoring the files
+ from backups. Backing up a filesystem before defragmening is
+ a good idea for all filesystems, since many things can go wrong
+ during the defragmentation.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1321"
+>Other tools for all filesystems</A
+></H2
+><P
+>Some other tools are also useful for managing filesystems.
+ <B
+CLASS="COMMAND"
+>df</B
+> shows the free disk space on one or more
+ filesystems; <B
+CLASS="COMMAND"
+>du</B
+> shows how much disk space a
+ directory and all its files contain. These can be used to hunt
+ down disk space wasters.</P
+><P
+><B
+CLASS="COMMAND"
+>sync</B
+> forces all unwritten blocks
+ in the buffer cache (see <A
+HREF="x1551.html"
+>the section called <I
+>The buffer cache</I
+> in Chapter 5</A
+>) to
+ be written to disk. It is seldom necessary to do this by
+ hand; the daemon process <B
+CLASS="COMMAND"
+>update</B
+> does
+ this automatically. It can be useful in catastrophies,
+ for example if <B
+CLASS="COMMAND"
+>update</B
+> or its helper
+ process <B
+CLASS="COMMAND"
+>bdflush</B
+> dies, or if you must
+ turn off power <I
+CLASS="EMPHASIS"
+>now</I
+> and can't wait for
+ <B
+CLASS="COMMAND"
+>update</B
+> to run.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1334"
+>Other tools for the ext2 filesystem</A
+></H2
+><P
+>In addition to the filesystem creator (<B
+CLASS="COMMAND"
+>mke2fs</B
+>) and
+ checker (<B
+CLASS="COMMAND"
+>e2fsck</B
+>) accessible directly or via the
+ filesystem type independent front ends, the ext2
+ filesystem has some additional tools that can be useful.</P
+><P
+><B
+CLASS="COMMAND"
+>tune2fs</B
+> adjusts filesystem parameters. Some of the
+ more interesting parameters are:
+
+ <P
+></P
+><UL
+><LI
+><P
+> A maximal mount count. <B
+CLASS="COMMAND"
+>e2fsck</B
+> enforces a check when
+ filesystem has been mounted too many times, even if
+ the clean flag is set. For a system that is used for
+ developing or testing the system, it might be a good
+ idea to reduce this limit.
+ </P
+></LI
+><LI
+><P
+> A maximal time between checks. <B
+CLASS="COMMAND"
+>e2fsck</B
+> can also enforce
+ a maximal time between two checks, even if the clean
+ flag is set, and the filesystem hasn't been mounted very
+ often. This can be disabled, however.
+ </P
+></LI
+><LI
+><P
+> Number of blocks reserved for root. Ext2
+ reserves some blocks for root so that if the
+ filesystem fills up, it is still possible to do system
+ administration without having to delete anything. The
+ reserved amount is by default 5 percent, which on most disks
+ isn't enough to be wasteful. However, for floppies there
+ is no point in reserving any blocks.
+ </P
+></LI
+></UL
+>
+
+ See the <B
+CLASS="COMMAND"
+>tune2fs</B
+> manual page for more
+ information.</P
+><P
+><B
+CLASS="COMMAND"
+>dumpe2fs</B
+> shows information about an ext2 filesystem, mostly
+ from the superblock. <A
+HREF="x1029.html#DUMPE2FS-OUTPUT"
+>Figure 4-5</A
+> shows
+ a sample output. Some of the information in the output is
+ technical and requires understanding of how the filesystem
+ works (see appendix XXX ext2fspaper), but much of
+ it is readily understandable even for layadmins.</P
+><DIV
+CLASS="FIGURE"
+><P
+><B
+><A
+NAME="DUMPE2FS-OUTPUT"
+>Figure 4-5. Sample output from <B
+CLASS="COMMAND"
+>dumpe2fs</B
+></A
+></B
+></P
+><P
+CLASS="LITERALLAYOUT"
+>dumpe2fs&nbsp;0.5b,&nbsp;11-Mar-95&nbsp;for&nbsp;EXT2&nbsp;FS&nbsp;0.5a,&nbsp;94/10/23<br>
+Filesystem&nbsp;magic&nbsp;number:&nbsp;&nbsp;0xEF53<br>
+Filesystem&nbsp;state:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clean<br>
+Errors&nbsp;behavior:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Continue<br>
+Inode&nbsp;count:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;360<br>
+Block&nbsp;count:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1440<br>
+Reserved&nbsp;block&nbsp;count:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;72<br>
+Free&nbsp;blocks:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1133<br>
+Free&nbsp;inodes:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;326<br>
+First&nbsp;block:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br>
+Block&nbsp;size:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1024<br>
+Fragment&nbsp;size:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1024<br>
+Blocks&nbsp;per&nbsp;group:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8192<br>
+Fragments&nbsp;per&nbsp;group:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8192<br>
+Inodes&nbsp;per&nbsp;group:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;360<br>
+Last&nbsp;mount&nbsp;time:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tue&nbsp;Aug&nbsp;&nbsp;8&nbsp;01:52:52&nbsp;1995<br>
+Last&nbsp;write&nbsp;time:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tue&nbsp;Aug&nbsp;&nbsp;8&nbsp;01:53:28&nbsp;1995<br>
+Mount&nbsp;count:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3<br>
+Maximum&nbsp;mount&nbsp;count:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20<br>
+Last&nbsp;checked:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tue&nbsp;Aug&nbsp;&nbsp;8&nbsp;01:06:31&nbsp;1995<br>
+Check&nbsp;interval:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br>
+Reserved&nbsp;blocks&nbsp;uid:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;(user&nbsp;root)<br>
+Reserved&nbsp;blocks&nbsp;gid:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;(group&nbsp;root)<br>
+<br>
+Group&nbsp;0:<br>
+&nbsp;&nbsp;Block&nbsp;bitmap&nbsp;at&nbsp;3,&nbsp;Inode&nbsp;bitmap&nbsp;at&nbsp;4,&nbsp;Inode&nbsp;table&nbsp;at&nbsp;5<br>
+&nbsp;&nbsp;1133&nbsp;free&nbsp;blocks,&nbsp;326&nbsp;free&nbsp;inodes,&nbsp;2&nbsp;directories<br>
+&nbsp;&nbsp;Free&nbsp;blocks:&nbsp;307-1439<br>
+&nbsp;&nbsp;Free&nbsp;inodes:&nbsp;35-360</P
+></DIV
+><P
+><B
+CLASS="COMMAND"
+>debugfs</B
+> is a filesystem debugger.
+ It allows direct access to the filesystem data structures
+ stored on disk and can thus be used to repair a disk that is so
+ broken that <B
+CLASS="COMMAND"
+>fsck</B
+> can't fix it automatically.
+ It has also been known to be used to recover deleted files.
+ However, <B
+CLASS="COMMAND"
+>debugfs</B
+> very much requires that
+ you understand what you're doing; a failure to understand can
+ destroy all your data.</P
+><P
+><B
+CLASS="COMMAND"
+>dump</B
+> and <B
+CLASS="COMMAND"
+>restore</B
+> can be used to back up an
+ ext2 filesystem. They are ext2 specific versions of the
+ traditional UNIX backup tools. See <A
+HREF="c2187.html"
+>Chapter 10</A
+>
+ for more information on backups.</P
+></DIV
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN1217"
+HREF="x1029.html#AEN1217"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>For more
+ information, see the kernel source or the Kernel Hackers'
+ Guide.</P
+></TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN1232"
+HREF="x1029.html#AEN1232"
+>[2]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>It should of course be
+ <B
+CLASS="COMMAND"
+>unmount</B
+>, but the n mysteriously disappeared in
+ the 70's, and hasn't been seen since. Please return it to Bell
+ Labs, NJ, if you find it.</P
+></TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN1252"
+HREF="x1029.html#AEN1252"
+>[3]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>It requires several seconds of hard
+ thinking on the users' behalf.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x876.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1366.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Partitions</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c701.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Disks without filesystems</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1366.html b/sag-0.6.1-www/sag-0.6.1.html/x1366.html
new file mode 100644
index 0000000..f2a6c73
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1366.html
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Disks without filesystems</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Using Disks and Other Storage Media"
+HREF="c701.html"><LINK
+REL="PREVIOUS"
+TITLE="Filesystems"
+HREF="x1029.html"><LINK
+REL="NEXT"
+TITLE="Allocating disk space"
+HREF="x1384.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1029.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Using Disks and Other Storage Media</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1384.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1366"
+>Disks without filesystems</A
+></H1
+><P
+>Not all disks or partitions are used as filesystems.
+ A swap partition, for example, will not have a filesystem on it.
+ Many floppies are used in a tape-drive emulating fashion, so that
+ a <B
+CLASS="COMMAND"
+>tar</B
+> or other file is written directly on
+ the raw disk, without a filesystem. Linux boot floppies don't
+ contain a filesystem, only the raw kernel.</P
+><P
+>Avoiding a filesystem has the advantage of making more of
+ the disk usable, since a filesystem always has some bookkeeping
+ overhead. It also makes the disks more easily compatible
+ with other systems: for example, the <B
+CLASS="COMMAND"
+>tar</B
+>
+ file format is the same on all systems, while filesystems are
+ different on most systems. You will quickly get used to disks
+ without filesystems if you need them. Bootable Linux floppies
+ also do not necessarily have a filesystem, although that is
+ also possible.</P
+><P
+>One reason to use raw disks is to make image copies of them.
+ For instance, if the disk contains a partially damaged filesystem,
+ it is a good idea to make an exact copy of it before trying to
+ fix it, since then you can start again if your fixing breaks things
+ even more. One way to do this is to use <B
+CLASS="COMMAND"
+>dd</B
+>:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>dd if=/dev/fd0H1440 of=floppy-image</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>2880+0 records in
+2880+0 records out</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>dd if=floppy-image of=/dev/fd0H1440</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>2880+0 records in
+2880+0 records out</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ The first <B
+CLASS="COMMAND"
+>dd</B
+> makes an exact image of the
+ floppy to the file <TT
+CLASS="FILENAME"
+>floppy-image</TT
+>, the second
+ one writes the image to the floppy. (The user has presumably
+ switched the floppy before the second command. Otherwise the
+ command pair is of doubtful usefulness.)</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1029.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1384.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Filesystems</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c701.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Allocating disk space</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1384.html b/sag-0.6.1-www/sag-0.6.1.html/x1384.html
new file mode 100644
index 0000000..677cfa2
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1384.html
@@ -0,0 +1,460 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Allocating disk space</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Using Disks and Other Storage Media"
+HREF="c701.html"><LINK
+REL="PREVIOUS"
+TITLE="Disks without filesystems"
+HREF="x1366.html"><LINK
+REL="NEXT"
+TITLE="Memory Management"
+HREF="c1450.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1366.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Using Disks and Other Storage Media</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="c1450.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1384"
+>Allocating disk space</A
+></H1
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1386"
+>Partitioning schemes</A
+></H2
+><P
+>It is not easy to partition a disk in the best possible way.
+ Worse, there is no universally correct way to do it; there are
+ too many factors involved.</P
+><P
+>The traditional way is to have a (relatively) small
+ root filesystem, which contains <TT
+CLASS="FILENAME"
+>/bin</TT
+>,
+ <TT
+CLASS="FILENAME"
+>/etc</TT
+>, <TT
+CLASS="FILENAME"
+>/dev</TT
+>,
+ <TT
+CLASS="FILENAME"
+>/lib</TT
+>, <TT
+CLASS="FILENAME"
+>/tmp</TT
+>, and other
+ stuff that is needed to get the system up and running. This way,
+ the root filesystem (in its own partition or on its own disk)
+ is all that is needed to bring up the system. The reasoning is
+ that if the root filesystem is small and is not heavily used,
+ it is less likely to become corrupt when the system crashes, and
+ you will therefore find it easier to fix any problems caused by
+ the crash. Then you create separate partitions or use separate
+ disks for the directory tree below <TT
+CLASS="FILENAME"
+>/usr</TT
+>, the
+ users' home directories (often under <TT
+CLASS="FILENAME"
+>/home</TT
+>),
+ and the swap space. Separating the home directories (with the
+ users' files) in their own partition makes backups easier, since
+ it is usually not necessary to backup programs (which reside
+ below <TT
+CLASS="FILENAME"
+>/usr</TT
+>). In a networked environment it
+ is also possible to share <TT
+CLASS="FILENAME"
+>/usr</TT
+> among several
+ machines (e.g., by using NFS), thereby reducing the total disk
+ space required by several tens or hundreds of megabytes times
+ the number of machines.</P
+><P
+>The problem with having many partitions is that it splits
+ the total amount of free disk space into many small pieces.
+ Nowadays, when disks and (hopefully) operating systems are
+ more reliable, many people prefer to have just one partition
+ that holds all their files. On the other hand, it can be less
+ painful to back up (and restore) a small partition.</P
+><P
+>For a small hard disk (assuming you don't do kernel
+ development), the best way to go is probably to have just one
+ partition. For large hard disks, it is probably
+ better to have a few large partitions, just in case
+ something does go wrong. (Note that `small' and `large' are
+ used in a relative sense here; your needs for disk space
+ decide what the threshold is.)</P
+><P
+>If you have several disks, you might wish to have the
+ root filesystem (including <TT
+CLASS="FILENAME"
+>/usr</TT
+>) on one,
+ and the users' home directories on another.</P
+><P
+>It is a good idea to be prepared to experiment a bit
+ with different partitioning schemes (over time, not just
+ while first installing the system). This is a bit of work,
+ since it essentially requires you to install the system from
+ scratch several times, but it is the only way to be sure you do
+ it right.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1404"
+>Space requirements</A
+></H2
+><P
+>The Linux distribution you install will give some indication
+ of how much disk space you need for various configurations.
+ Programs installed separately may also do the same. This will
+ help you plan your disk space usage, but you should prepare
+ for the future and reserve some extra space for things you will
+ notice later that you need.</P
+><P
+>The amount you need for user files depends on what your
+ users wish to do. Most people seem to need as much space for
+ their files as possible, but the amount they will live happily
+ with varies a lot. Some people do only light text processing
+ and will survive nicely with a few megabytes, others do heavy
+ image processing and will need gigabytes.</P
+><P
+>By the way, when comparing file sizes given in
+ kilobytes or megabytes and disk space given in megabytes, it
+ can be important to know that the two units can be different.
+ Some disk manufacturers like to pretend that a kilobyte is 1000
+ bytes and a megabyte is 1000 kilobytes, while all the rest of
+ the computing world uses 1024 for both factors. Therefore,
+ my 345 MB hard disk was really a 330 MB hard disk.
+
+ <A
+NAME="AEN1409"
+HREF="#FTN.AEN1409"
+>[1]</A
+>
+ </P
+><P
+>Swap space allocation is discussed in <A
+HREF="x1532.html"
+>the section called <I
+>Allocating swap space</I
+> in Chapter 5</A
+>.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1413"
+>Examples of hard disk allocation</A
+></H2
+><P
+>I used to have a 109 MB hard disk. Now I am using a 330 MB
+ hard disk. I'll explain how and why I partitioned these
+ disks.</P
+><P
+>The 109 MB disk I partitioned in a lot of ways, when my
+ needs and the operating systems I used changed; I'll explain
+ two typical scenarios. First, I used to run MS-DOS together
+ with Linux. For that, I needed about 20 MB of hard disk, or
+ just enough to have MS-DOS, a C compiler, an editor, a few other
+ utilities, the program I was working on, and enough free disk
+ space to not feel claustrophobic. For Linux, I had a 10 MB swap
+ partition, and the rest, or 79 MB, was a single partition with all
+ the files I had under Linux. I experimented with having separate
+ root, <TT
+CLASS="FILENAME"
+>/usr</TT
+>, and <TT
+CLASS="FILENAME"
+>/home</TT
+>
+ partitions, but there was never enough free disk space in one
+ piece to do much interesting.</P
+><P
+>When I didn't need MS-DOS anymore, I repartitioned the
+ disk so that I had a 12 MB swap partition, and again had the
+ rest as a single filesystem.</P
+><P
+>The 330 MB disk is partitioned into several partitions, like
+ this:
+
+ <DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="1"
+CLASS="CALSTABLE"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>5 MB</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>root filesystem</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+> 10 MB</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>swap partition</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>180 MB</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>\fn{/usr} filesystem</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>120 MB</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>\fn{/home} filesystem</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+> 15 MB</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>scratch partition</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+>
+
+ The scratch partition is for playing around with things that
+ require their own partition, e.g., trying different Linux
+ distributions, or comparing speeds of filesystems. When not
+ needed for anything else, it is used as swap space (I like to
+ have a lot of open windows).</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1439"
+>Adding more disk space for Linux</A
+></H2
+><P
+>Adding more disk space for Linux is easy, at least after the
+ hardware has been properly installed (the hardware installation
+ is outside the scope of this book). You format it if necessary,
+ then create the partitions and filesystem as described above,
+ and add the proper lines to <TT
+CLASS="FILENAME"
+>/etc/fstab</TT
+>
+ so that it is mounted automatically.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1443"
+>Tips for saving disk space</A
+></H2
+><P
+>The best tip for saving disk space is to avoid installing
+ unnecessary programs. Most Linux distributions have an
+ option to install only part of the packages they contain,
+ and by analyzing your needs you might notice that you don't
+ need most of them. This will help save a lot of disk space,
+ since many programs are quite large. Even if you do need a
+ particular package or program, you might not need all of it.
+ For example, some on-line documentation might be unnecessary,
+ as might some of the Elisp files for GNU Emacs, some of the
+ fonts for X11, or some of the libraries for programming.</P
+><P
+>If you cannot uninstall packages, you might look into
+ compression. Compression programs such as <B
+CLASS="COMMAND"
+>gzip</B
+>
+ or <B
+CLASS="COMMAND"
+>zip</B
+> will compress (and uncompress)
+ individual files or groups of files. The <B
+CLASS="COMMAND"
+>gzexe</B
+>
+ system will compress and uncompress programs invisibly to the
+ user (unused programs are compressed, then uncompressed as they
+ are used). The experimental DouBle system will compress all
+ files in a filesystem, invisibly to the programs that use them.
+ (If you are familiar with products such as Stacker for MS-DOS,
+ the principle is the same.)</P
+></DIV
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN1409"
+HREF="x1384.html#AEN1409"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Sic transit discus mundi.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1366.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="c1450.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Disks without filesystems</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c701.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Memory Management</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1466.html b/sag-0.6.1-www/sag-0.6.1.html/x1466.html
new file mode 100644
index 0000000..c41cecd
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1466.html
@@ -0,0 +1,290 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Creating a swap space</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Memory Management"
+HREF="c1450.html"><LINK
+REL="PREVIOUS"
+TITLE="Memory Management"
+HREF="c1450.html"><LINK
+REL="NEXT"
+TITLE="Using a swap space"
+HREF="x1495.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="c1450.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 5. Memory Management</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1495.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1466"
+>Creating a swap space</A
+></H1
+><P
+>A swap file is an ordinary file; it is in no way special
+ to the kernel. The only thing that matters to the kernel is
+ that it has no holes, and that it is prepared for use with
+ <B
+CLASS="COMMAND"
+>mkswap</B
+>. It must reside on a local disk,
+ however; it can't reside in a filesystem that has been mounted
+ over NFS due to implementation reasons.</P
+><P
+>The bit about holes is important. The swap file reserves
+ the disk space so that the kernel can quickly swap out a page
+ without having to go through all the things that are necessary
+ when allocating a disk sector to a file. The kernel merely
+ uses any sectors that have already been allocated to the file.
+ Because a hole in a file means that there are no disk sectors
+ allocated (for that place in the file), it is not good for the
+ kernel to try to use them.</P
+><P
+>One good way to create the swap file without holes is through
+ the following command:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>dd if=/dev/zero of=/extra-swap bs=1024 count=1024</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>1024+0 records in
+1024+0 records out</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ where <TT
+CLASS="FILENAME"
+>/extra-swap</TT
+> is the name of the swap
+ file and the size of is given after the <TT
+CLASS="LITERAL"
+>count=</TT
+>.
+ It is best for the size to be a multiple of 4, because the
+ kernel writes out <I
+CLASS="GLOSSTERM"
+>memory pages</I
+>, which
+ are 4 kilobytes in size. If the size is not a multiple of 4,
+ the last couple of kilobytes may be unused.</P
+><P
+>A swap partition is also not special in any way. You create
+ it just like any other partition; the only difference is that
+ it is used as a raw partition, that is, it will not contain any
+ filesystem at all. It is a good idea to mark swap partitions
+ as type 82 (Linux swap); this will the make partition listings
+ clearer, even though it is not strictly necessary to the
+ kernel.</P
+><P
+>After you have created a swap file or a swap partition, you
+ need to write a signature to its beginning; this contains some
+ administrative information and is used by the kernel. The
+ command to do this is \cmd{mkswap}, used like this:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>mkswap /extra-swap 1024</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Setting up swapspace, size = 1044480 bytes</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ Note that the swap space is still not in use yet: it exists,
+ but the kernel does not use it to provide virtual memory.</P
+><P
+>You should be very careful when using
+ <B
+CLASS="COMMAND"
+>mkswap</B
+>, since it does not check that the
+ file or partition isn't used for anything else. <I
+CLASS="EMPHASIS"
+>You
+ can easily overwrite important files and partitions with
+ <B
+CLASS="COMMAND"
+>mkswap</B
+>!</I
+> Fortunately, you should
+ only need to use <B
+CLASS="COMMAND"
+>mkswap</B
+> when you install
+ your system.</P
+><P
+>The Linux memory manager limits the size of each swap space to
+ about 127 MB (for various technical reasons, the actual limit
+ is (4096-10) * 8 * 4096 = 133890048$ bytes, or
+ 127.6875 megabytes). You can, however, use up to
+ 16 swap spaces simultaneously, for a total of almost
+ 2 GB.
+
+ <A
+NAME="AEN1493"
+HREF="#FTN.AEN1493"
+>[1]</A
+>
+
+ </P
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN1493"
+HREF="x1466.html#AEN1493"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>A gigabyte here, a gigabyte there, pretty
+ soon we start talking about real memory.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="c1450.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1495.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Memory Management</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1450.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Using a swap space</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1495.html b/sag-0.6.1-www/sag-0.6.1.html/x1495.html
new file mode 100644
index 0000000..ef14a84
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1495.html
@@ -0,0 +1,287 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Using a swap space</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Memory Management"
+HREF="c1450.html"><LINK
+REL="PREVIOUS"
+TITLE="Creating a swap space"
+HREF="x1466.html"><LINK
+REL="NEXT"
+TITLE="Sharing swap spaces with other operating systems"
+HREF="x1529.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1466.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 5. Memory Management</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1529.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1495"
+>Using a swap space</A
+></H1
+><P
+>An initialized swap space is taken into use with
+ <B
+CLASS="COMMAND"
+>swapon</B
+>. This command tells the kernel that
+ the swap space can be used. The path to the swap space is given
+ as the argument, so to start swapping on a temporary swap file
+ one might use the following command.
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>swapon /extra-swap</B
+></TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ Swap spaces can be used automatically by listing them in
+ the <TT
+CLASS="FILENAME"
+>/etc/fstab</TT
+> file.
+
+<PRE
+CLASS="SCREEN"
+>/dev/hda8 none swap sw 0 0
+/swapfile none swap sw 0 0</PRE
+>
+
+ The startup scripts will run the command <B
+CLASS="COMMAND"
+>swapon
+ -a</B
+>, which will start swapping on all the swap
+ spaces listed in <B
+CLASS="COMMAND"
+>/etc/fstab</B
+>. Therefore,
+ the <B
+CLASS="COMMAND"
+>swapon</B
+> command is usually used only when
+ extra swap is needed.</P
+><P
+>You can monitor the use of swap spaces with
+ <B
+CLASS="COMMAND"
+>free</B
+>. It will tell the total amount of swap
+ space used.
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>free</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+> total used free shared buffers
+Mem: 15152 14896 256 12404 2528
+-/+ buffers: 12368 2784
+Swap: 32452 6684 25768</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ The first line of output (<TT
+CLASS="LITERAL"
+>Mem:</TT
+>) shows the
+ physical memory. The total column does not show the physical
+ memory used by the kernel, which is usually about a megabyte.
+ The used column shows the amount of memory used (the second
+ line does not count buffers). The free column shows completely
+ unused memory. The shared column shows the amount of memory
+ shared by several processes; the more, the merrier. The buffers
+ column shows the current size of the disk buffer cache.</P
+><P
+>That last line (<TT
+CLASS="LITERAL"
+>Swap:</TT
+>) shows similar
+ information for the swap spaces. If this line is all zeroes,
+ your swap space is not activated.</P
+><P
+>The same information is available via
+ <B
+CLASS="COMMAND"
+>top</B
+>, or using the proc filesystem in file
+ <TT
+CLASS="FILENAME"
+>/proc/meminfo</TT
+>. It is currently difficult
+ to get information on the use of a specific swap space.</P
+><P
+>A swap space can be removed from use with
+ <B
+CLASS="COMMAND"
+>swapoff</B
+>. It is usually not necessary to do it,
+ except for temporary swap spaces. Any pages in use in the swap
+ space are swapped in first; if there is not sufficient physical
+ memory to hold them, they will then be swapped out (to some other
+ swap space). If there is not enough virtual memory to hold all
+ of the pages Linux will start to thrash; after a long while it
+ should recover, but meanwhile the system is unusable. You should
+ check (e.g., with <B
+CLASS="COMMAND"
+>free</B
+>) that there is enough
+ free memory before removing a swap space from use.</P
+><P
+>All the swap spaces that are used automatically
+ with <B
+CLASS="COMMAND"
+>swapon -a</B
+> can be removed from use
+ with <B
+CLASS="COMMAND"
+>swapoff -a</B
+>; it looks at the file
+ <TT
+CLASS="FILENAME"
+>/etc/fstab</TT
+> to find what to remove.
+ Any manually used swap spaces will remain in use.</P
+><P
+>Sometimes a lot of swap space can be in use even though
+ there is a lot of free physical memory. This can happen for
+ instance if at one point there is need to swap, but later a big
+ process that occupied much of the physical memory terminates
+ and frees the memory. The swapped-out data is not automatically
+ swapped in until it is needed, so the physical memory may remain
+ free for a long time. There is no need to worry about this,
+ but it can be comforting to know what is happening. </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1466.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1529.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Creating a swap space</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1450.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Sharing swap spaces with other operating systems</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1529.html b/sag-0.6.1-www/sag-0.6.1.html/x1529.html
new file mode 100644
index 0000000..e8c5b80
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1529.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Sharing swap spaces with other operating systems</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Memory Management"
+HREF="c1450.html"><LINK
+REL="PREVIOUS"
+TITLE="Using a swap space"
+HREF="x1495.html"><LINK
+REL="NEXT"
+TITLE="Allocating swap space"
+HREF="x1532.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1495.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 5. Memory Management</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1532.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1529"
+>Sharing swap spaces with other operating systems</A
+></H1
+><P
+>Virtual memory is built into many operating systems.
+ Since they each need it only when they are running, i.e., never at
+ the same time, the swap spaces of all but the currently running
+ one are being wasted. It would be more efficient for them to
+ share a single swap space. This is possible, but can require a
+ bit of hacking. The Tips-HOWTO contains some advice on how to
+ implement this. </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1495.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1532.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Using a swap space</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1450.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Allocating swap space</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1532.html b/sag-0.6.1-www/sag-0.6.1.html/x1532.html
new file mode 100644
index 0000000..0740351
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1532.html
@@ -0,0 +1,231 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Allocating swap space</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Memory Management"
+HREF="c1450.html"><LINK
+REL="PREVIOUS"
+TITLE="Sharing swap spaces with other operating systems"
+HREF="x1529.html"><LINK
+REL="NEXT"
+TITLE="The buffer cache"
+HREF="x1551.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1529.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 5. Memory Management</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1551.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="SWAP-ALLOCATION"
+>Allocating swap space</A
+></H1
+><P
+>Some people will tell you that you should allocate twice as much
+ swap space as you have physical memory, but this is a bogus rule.
+ Here's how to do it properly:
+
+ <P
+></P
+><UL
+><LI
+><P
+> Estimate your total memory needs. This is the largest
+ amount of memory you'll probably need at a time, that is the
+ sum of the memory requirements of all the programs you want to
+ run at the same time. This can be done by running at the same
+ time all the programs you are likely to ever be running at the
+ same time. </P
+><P
+>For instance, if you want to run X, you should allocate
+ about 8 MB for it, gcc wants several megabytes (some
+ files need an unusually large amount, up to tens of
+ megabytes, but usually about four should do), and so on.
+ The kernel will use about a megabyte by itself, and the
+ usual shells and other small utilities perhaps a few
+ hundred kilobytes (say a megabyte together). There is
+ no need to try to be exact, rough estimates are fine,
+ but you might want to be on the pessimistic side.</P
+><P
+>Remember that if there are going to be several people
+ using the system at the same time, they are all going
+ to consume memory. However, if two people run the same
+ program at the same time, the total memory consumption
+ is usually not double, since code pages and shared
+ libraries exist only once.</P
+><P
+>The <B
+CLASS="COMMAND"
+>free</B
+> and <B
+CLASS="COMMAND"
+>ps</B
+>
+ commands are useful for estimating the memory needs.
+
+ </P
+></LI
+><LI
+><P
+>Add some security to the estimate in step 1. This is because
+ estimates of program sizes will probably be wrong, because
+ you'll probably forget some programs you want to run, and to
+ make certain that you have some extra space just in case. A
+ couple of megabytes should be fine. (It is better to allocate
+ too much than too little swap space, but there's no need to
+ over-do it and allocate the whole disk, since unused swap space
+ is wasted space; see later about adding more swap.) Also,
+ since it is nicer to deal with even numbers, you can round the
+ value up to the next full megabyte.</P
+></LI
+><LI
+><P
+>Based on the computations above, you know how much memory
+ you'll be needing in total. So, in order to allocate swap
+ space, you just need to subtract the size of your physical
+ memory from the total memory needed, and you know how much
+ swap space you need. (On some versions of UNIX, you need to
+ allocate space for an image of the physical memory as well, so
+ the amount computed in step 2 is what you need and you shouldn't
+ do the subtraction.)</P
+></LI
+><LI
+><P
+>If your calculated swap space is very much larger than your
+ physical memory (more than a couple times larger), you should
+ probably invest in more physical memory, otherwise performance
+ will be too low.</P
+></LI
+></UL
+>
+
+ </P
+><P
+>It's a good idea to have at least some swap space, even if
+ your calculations indicate that you need none. Linux uses
+ swap space somewhat aggressively, so that as much physical
+ memory as possible can be kept free. Linux will swap out
+ memory pages that have not been used, even if the memory
+ is not yet needed for anything. This avoids waiting for
+ swapping when it is needed: the swapping can be done
+ earlier, when the disk is otherwise idle.</P
+><P
+>Swap space can be divided among several disks. This
+ can sometimes improve performance, depending on the
+ relative speeds of the disks and the access patterns
+ of the disks. You might want to experiment with a few
+ schemes, but be aware that doing the experiments
+ properly is quite difficult. You should not believe
+ claims that any one scheme is superior to any other,
+ since it won't always be true.
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1529.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1551.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Sharing swap spaces with other operating systems</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1450.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>The buffer cache</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1551.html b/sag-0.6.1-www/sag-0.6.1.html/x1551.html
new file mode 100644
index 0000000..4bd5990
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1551.html
@@ -0,0 +1,308 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>The buffer cache</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Memory Management"
+HREF="c1450.html"><LINK
+REL="PREVIOUS"
+TITLE="Allocating swap space"
+HREF="x1532.html"><LINK
+REL="NEXT"
+TITLE="Boots And Shutdowns"
+HREF="c1582.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1532.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 5. Memory Management</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="c1582.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="BUFFER-CACHE"
+>The buffer cache</A
+></H1
+><P
+>Reading from a disk
+
+ <A
+NAME="AEN1554"
+HREF="#FTN.AEN1554"
+>[1]</A
+>
+
+ is very slow compared to accessing (real) memory. In addition,
+ it is common to read the same part of a disk several times
+ during relatively short periods of time. For example, one
+ might first read an e-mail message, then read the letter into
+ an editor when replying to it, then make the mail program read
+ it again when copying it to a folder. Or, consider how often
+ the command <B
+CLASS="COMMAND"
+>ls</B
+> might be run on a system with
+ many users. By reading the information from disk only once
+ and then keeping it in memory until no longer needed, one can
+ speed up all but the first read. This is called <I
+CLASS="GLOSSTERM"
+>disk
+ buffering</I
+>, and the memory used for the purpose is
+ called the <I
+CLASS="GLOSSTERM"
+>buffer cache</I
+>.</P
+><P
+>Since memory is, unfortunately, a finite, nay, scarce
+ resource, the buffer cache usually cannot be big enough (it
+ can't hold all the data one ever wants to use). When the cache
+ fills up, the data that has been unused for the longest time
+ is discarded and the memory thus freed is used for the new
+ data.</P
+><P
+>Disk buffering works for writes as well. On the one hand,
+ data that is written is often soon read again (e.g., a source
+ code file is saved to a file, then read by the compiler),
+ so putting data that is written in the cache is a good idea.
+ On the other hand, by only putting the data into the cache, not
+ writing it to disk at once, the program that writes runs quicker.
+ The writes can then be done in the background, without slowing
+ down the other programs.</P
+><P
+>Most operating systems have buffer caches (although
+ they might be called something else), but not all of
+ them work according to the above principles. Some are
+ <I
+CLASS="GLOSSTERM"
+>write-through</I
+>: the data is written to disk
+ at once (it is kept in the cache as well, of course). The cache
+ is called <I
+CLASS="GLOSSTERM"
+>write-back</I
+> if the writes are done
+ at a later time. Write-back is more efficient than write-through,
+ but also a bit more prone to errors: if the machine crashes,
+ or the power is cut at a bad moment, or the floppy is removed
+ from the disk drive before the data in the cache waiting to be
+ written gets written, the changes in the cache are usually lost.
+ This might even mean that the filesystem (if there is one) is
+ not in full working order, perhaps because the unwritten data
+ held important changes to the bookkeeping information.</P
+><P
+>Because of this, you should never turn off the
+ power without using a proper shutdown procedure (see <A
+HREF="c1582.html"
+>Chapter 6</A
+>), or remove a floppy from the
+ disk drive until it has been unmounted (if it was mounted)
+ or after whatever program is using it has signaled that it
+ is finished and the floppy drive light doesn't shine anymore.
+ The <B
+CLASS="COMMAND"
+>sync</B
+> command <I
+CLASS="GLOSSTERM"
+>flushes</I
+>
+ the buffer, i.e., forces all unwritten data to be written to disk,
+ and can be used when one wants to be sure that everything is
+ safely written. In traditional UNIX systems, there is a program
+ called <B
+CLASS="COMMAND"
+>update</B
+> running in the background
+ which does a <B
+CLASS="COMMAND"
+>sync</B
+> every 30 seconds, so
+ it is usually not necessary to use <B
+CLASS="COMMAND"
+>sync</B
+>.
+ Linux has an additional daemon, <B
+CLASS="COMMAND"
+>bdflush</B
+>,
+ which does a more imperfect sync more frequently to avoid the
+ sudden freeze due to heavy disk I/O that <B
+CLASS="COMMAND"
+>sync</B
+>
+ sometimes causes.</P
+><P
+>Under Linux, <B
+CLASS="COMMAND"
+>bdflush</B
+> is started by
+ <B
+CLASS="COMMAND"
+>update</B
+>. There is usually no reason to worry
+ about it, but if <B
+CLASS="COMMAND"
+>bdflush</B
+> happens to die for
+ some reason, the kernel will warn about this, and you should
+ start it by hand (<B
+CLASS="COMMAND"
+>/sbin/update</B
+>).</P
+><P
+>The cache does not actually buffer files, but blocks, which
+ are the smallest units of disk I/O (under Linux, they are usually
+ 1 kB). This way, also directories, super blocks, other filesystem
+ bookkeeping data, and non-filesystem disks are cached.</P
+><P
+>The effectiveness of a cache is primarily decided by its
+ size. A small cache is next to useless: it will hold so little
+ data that all cached data is flushed from the cache before it
+ is reused. The critical size depends on how much data is read
+ and written, and how often the same data is accessed. The only
+ way to know is to experiment.</P
+><P
+>If the cache is of a fixed size, it is not very good to have
+ it too big, either, because that might make the free memory too
+ small and cause swapping (which is also slow). To make the most
+ efficient use of real memory, Linux automatically uses all free
+ RAM for buffer cache, but also automatically makes the cache
+ smaller when programs need more memory.</P
+><P
+>Under Linux, you do not need to do anything to make use
+ of the cache, it happens completely automatically. Except for
+ following the proper procedures for shutdown and removing
+ floppies, you do not need to worry about it. </P
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN1554"
+HREF="x1551.html#AEN1554"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Except a RAM disk, for obvious
+ reasons.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1532.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="c1582.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Allocating swap space</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1450.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Boots And Shutdowns</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1602.html b/sag-0.6.1-www/sag-0.6.1.html/x1602.html
new file mode 100644
index 0000000..5ca2228
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1602.html
@@ -0,0 +1,398 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>The boot process in closer look</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Boots And Shutdowns"
+HREF="c1582.html"><LINK
+REL="PREVIOUS"
+TITLE="Boots And Shutdowns"
+HREF="c1582.html"><LINK
+REL="NEXT"
+TITLE="More about shutdowns"
+HREF="x1650.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="c1582.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 6. Boots And Shutdowns</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1650.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1602"
+>The boot process in closer look</A
+></H1
+><P
+>You can boot Linux either from a floppy or from the hard
+ disk. The installation section in the Installation and
+ Getting Started guide (XXX citation)
+ tells you how to install Linux so you can boot it the way
+ you want to.</P
+><P
+>When a PC is booted, the BIOS will do various tests to
+ check that everything looks all right,
+
+ <A
+NAME="AEN1606"
+HREF="#FTN.AEN1606"
+>[1]</A
+>
+
+ and will then start the actual booting. It will choose a disk
+ drive (typically the first floppy drive, if there is a floppy
+ inserted, otherwise the first hard disk, if one is installed
+ in the computer; the order might be configurable, however)
+ and will then read its very first sector. This is called the
+ <I
+CLASS="GLOSSTERM"
+>boot sector</I
+>; for a hard disk, it is also
+ called the <I
+CLASS="GLOSSTERM"
+>master boot record</I
+>, since a
+ hard disk can contain several partitions, each with their own
+ boot sectors.</P
+><P
+>The boot sector contains a small program (small enough to
+ fit into one sector) whose responsibility is to read the actual
+ operating system from the disk and start it. When booting Linux
+ from a floppy disk, the boot sector contains code that just reads
+ the first few hundred blocks (depending on the actual kernel
+ size, of course) to a predetermined place in memory. On a Linux
+ boot floppy, there is no filesystem, the kernel is just stored
+ in consecutive sectors, since this simplifies the boot process.
+ It is possible, however, to boot from a floppy with a filesystem,
+ by using LILO, the LInux LOader.</P
+><P
+>When booting from the hard disk, the code in the master
+ boot record will examine the partition table (also in the master
+ boot record), identify the active partition (the partition that is
+ marked to be bootable), read the boot sector from that partition,
+ and then start the code in that boot sector. The code in the
+ partition's boot sector does what a floppy disk's boot sector
+ does: it will read in the kernel from the partition and start it.
+ The details vary, however, since it is generally not useful to
+ have a separate partition for just the kernel image, so the
+ code in the partition's boot sector can't just read the disk
+ in sequential order, it has to find the sectors wherever the
+ filesystem has put them. There are several ways around this
+ problem, but the most common way is to use LILO. (The details
+ about how to do this are irrelevant for this discussion, however;
+ see the LILO documentation for more information; it is most
+ thorough.)</P
+><P
+>When booting with LILO, it will normally go right ahead
+ and read in and boot the default kernel. It is also possible
+ to configure LILO to be able to boot one of several kernels,
+ or even other operating systems than Linux, and it is possible
+ for the user to choose which kernel or operating system is to
+ be booted at boot time. LILO can be configured so that if one
+ holds down the <B
+CLASS="KEYCAP"
+>alt</B
+>, <B
+CLASS="KEYCAP"
+>shift</B
+>, or
+ <B
+CLASS="KEYCAP"
+>ctrl</B
+> key at boot time (when LILO is loaded),
+ LILO will ask what is to be booted and not boot the default
+ right away. Alternatively, LILO can be configured so that it
+ will always ask, with an optional timeout that will cause the
+ default kernel to be booted.</P
+><P
+>With LILO, it is also possible to give a <I
+CLASS="GLOSSTERM"
+>kernel
+ command line argument</I
+>, after the name of the kernel
+ or operating system.</P
+><P
+>Booting from floppy and from hard disk have both their
+ advantages, but generally booting from the hard disk is nicer,
+ since it avoids the hassle of playing around with floppies.
+ It is also faster. However, it can be more troublesome to install
+ the system to boot from the hard disk, so many people will first
+ boot from floppy, then, when the system is otherwise installed
+ and working well, will install LILO and start booting from the
+ hard disk.</P
+><P
+>After the Linux kernel has been read into the memory, by
+ whatever means, and is started for real, roughly the following
+ things happen:
+
+ <P
+></P
+><UL
+><LI
+><P
+> The Linux kernel is installed compressed, so it will first
+ uncompress itself. The beginning of the kernel image
+ contains a small program that does this.
+ </P
+></LI
+><LI
+><P
+> If you have a super-VGA card that Linux
+ recognizes and that has some special text modes (such as 100
+ columns by 40 rows), Linux asks you which mode
+ you want to use. During the kernel compilation, it is
+ possible to preset a video mode, so that this is never asked.
+ This can also be done with LILO or <B
+CLASS="COMMAND"
+>rdev</B
+>.
+ </P
+></LI
+><LI
+><P
+> After this, the kernel checks what other hardware there is
+ (hard disks, floppies, network adapters, etc), and configures
+ some of its device drivers appropriately; while it does this,
+ it outputs messages about its findings. For example, when I
+ boot, I it looks like this:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="COMPUTEROUTPUT"
+>LILO boot:
+Loading linux.
+Console: colour EGA+ 80x25, 8 virtual consoles
+Serial driver version 3.94 with no serial options enabled
+tty00 at 0x03f8 (irq = 4) is a 16450
+tty01 at 0x02f8 (irq = 3) is a 16450
+lp_init: lp1 exists (0), using polling driver
+Memory: 7332k/8192k available (300k kernel code, 384k reserved, 176k data)
+Floppy drive(s): fd0 is 1.44M, fd1 is 1.2M
+Loopback device init
+Warning WD8013 board not found at i/o = 280.
+Math coprocessor using irq13 error reporting.
+Partition check:
+ hda: hda1 hda2 hda3
+VFS: Mounted root (ext filesystem).
+Linux version 0.99.pl9-1 (root@haven) 05/01/93 14:12:20</TT
+></PRE
+>
+
+ The exact texts are different on different systems, depending
+ on the hardware, the version of Linux being used, and how
+ it has been configured.
+ </P
+></LI
+><LI
+><P
+> Then the kernel will try to mount the root
+ filesystem. The place is configurable at compilation time, or
+ any time with <B
+CLASS="COMMAND"
+>rdev</B
+> or LILO. The filesystem
+ type is detected automatically. If the mounting of the root
+ filesystem fails, for example because you didn't remember to
+ include the corresponding filesystem driver in the kernel, the
+ kernel panics and halts the system (there isn't much it can do,
+ anyway). </P
+><P
+>The root filesystem is usually mounted read-only (this can
+ be set in the same way as the place). This makes it possible
+ to check the filesystem while it is mounted; it is not a good
+ idea to check a filesystem that is mounted read-write.
+ </P
+></LI
+><LI
+><P
+> After this, the kernel starts
+ the program <B
+CLASS="COMMAND"
+>init</B
+> (located in
+ <TT
+CLASS="FILENAME"
+>/sbin/init</TT
+>) in the background (this will
+ always become process number 1). <B
+CLASS="COMMAND"
+>init</B
+> does
+ various startup chores. The exact things it does depends on how
+ it is configured; see <A
+HREF="c1705.html"
+>Chapter 7</A
+> for more information
+ (not yet written). It will at least start some essential
+ background daemons. </P
+></LI
+><LI
+><P
+> <B
+CLASS="COMMAND"
+>init</B
+> then switches to
+ multi-user mode, and starts a <B
+CLASS="COMMAND"
+>getty</B
+> for virtual
+ consoles and serial lines. <B
+CLASS="COMMAND"
+>getty</B
+> is the
+ program which lets people log in via virtual consoles and serial
+ terminals. <B
+CLASS="COMMAND"
+>init</B
+> may also start some other
+ programs, depending on how it is configured. </P
+></LI
+><LI
+><P
+> After this, the boot is complete, and the system
+ is up and running normally. </P
+></LI
+></UL
+>
+ </P
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN1606"
+HREF="x1602.html#AEN1606"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>This is called
+ the <I
+CLASS="GLOSSTERM"
+>power on self test</I
+>, or
+ <I
+CLASS="GLOSSTERM"
+>POST</I
+> for short.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="c1582.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1650.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Boots And Shutdowns</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1582.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>More about shutdowns</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1650.html b/sag-0.6.1-www/sag-0.6.1.html/x1650.html
new file mode 100644
index 0000000..341f578
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1650.html
@@ -0,0 +1,321 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>More about shutdowns</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Boots And Shutdowns"
+HREF="c1582.html"><LINK
+REL="PREVIOUS"
+TITLE="The boot process in closer look"
+HREF="x1602.html"><LINK
+REL="NEXT"
+TITLE="Rebooting"
+HREF="x1684.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1602.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 6. Boots And Shutdowns</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1684.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1650"
+>More about shutdowns</A
+></H1
+><P
+>It is important to follow the correct procedures when you shut
+ down a Linux system. If you fail do so, your filesystems probably
+ will become trashed and the files probably will become scrambled.
+ This is because Linux has a disk cache that won't write things
+ to disk at once, but only at intervals. This greatly improves
+ performance but also means that if you just turn off the power
+ at a whim the cache may hold a lot of data and that what is on
+ the disk may not be a fully working filesystem (because only
+ some things have been written to the disk).</P
+><P
+>Another reason against just flipping the power switch is that
+ in a multi-tasking system there can be lots of things going on
+ in the background, and shutting the power can be quite
+ disastrous. By using the proper shutdown sequence, you ensure
+ that all background processes can save their data.</P
+><P
+>The command for properly shutting down a Linux system
+ is <B
+CLASS="COMMAND"
+>shutdown</B
+>. It is usually used in one of
+ two ways.</P
+><P
+>If you are running a system where you are the only user,
+ the usual way of using <B
+CLASS="COMMAND"
+>shutdown</B
+> is to quit
+ all running programs, log out on all virtual consoles, log
+ in as root on one of them (or stay logged in as root if you
+ already are, but you should change to root's home directory or
+ the root directory, to avoid problems with unmounting), then
+ give the command <B
+CLASS="COMMAND"
+>shutdown -h now</B
+> (substitute
+ <TT
+CLASS="LITERAL"
+>now</TT
+> with a plus sign and a number in minutes
+ if you want a delay, though you usually don't on a single user
+ system).</P
+><P
+>Alternatively, if your system has many users, use the command
+ <B
+CLASS="COMMAND"
+>shutdown -h +time message</B
+>, where <TT
+CLASS="LITERAL"
+>time</TT
+>
+ is the
+ time in minutes until the system is halted, and <TT
+CLASS="LITERAL"
+>message</TT
+>
+ is a short explanation of why the system is shutting down.
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>#</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>shutdown -h +10 'We will install a new disk. System should
+&#62; be back on-line in three hours.'</B
+></TT
+>
+<TT
+CLASS="PROMPT"
+>#</TT
+></PRE
+>
+
+ This will warn everybody that the system will shut down in
+ ten minutes, and that they'd better get lost or lose data.
+ The warning is printed to every terminal on which someone is
+ logged in, including all <B
+CLASS="COMMAND"
+>xterm</B
+>s:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="COMPUTEROUTPUT"
+>Broadcast message from root (ttyp0) Wed Aug 2 01:03:25 1995...
+
+We will install a new disk. System should
+be back on-line in three hours.
+The system is going DOWN for system halt in 10 minutes !!</TT
+></PRE
+>
+
+ The warning is automatically repeated a few times before the boot,
+ with shorter and shorter intervals as the time runs out.</P
+><P
+>When the real shutting down starts after any delays, all
+ filesystems (except the root one) are unmounted, user processes
+ (if anybody is still logged in) are killed, daemons are shut down,
+ all filesystem are unmounted, and generally everything settles
+ down. When that is done, <B
+CLASS="COMMAND"
+>init</B
+> prints out a
+ message that you can power down the machine. Then, and only then,
+ should you move your fingers towards the power switch.</P
+><P
+>Sometimes, although rarely on any good system, it is
+ impossible to shut down properly. For instance, if the kernel
+ panics and crashes and burns and generally misbehaves, it might
+ be completely impossible to give any new commands, hence shutting
+ down properly is somewhat difficult, and just about everything
+ you can do is hope that nothing has been too severely damaged
+ and turn off the power. If the troubles are a bit less severe
+ (say, somebody hit your keyboard with an axe), and the kernel
+ and the <B
+CLASS="COMMAND"
+>update</B
+> program still run normally,
+ it is probably a good idea to wait a couple of minutes to give
+ <B
+CLASS="COMMAND"
+>update</B
+> a chance to flush the buffer cache,
+ and only cut the power after that.</P
+><P
+>Some people like to shut down using the command
+ <B
+CLASS="COMMAND"
+>sync</B
+>
+
+ <A
+NAME="AEN1678"
+HREF="#FTN.AEN1678"
+>[1]</A
+>
+
+ three times, waiting for the disk I/O to stop, then turn off
+ the power. If there are no running programs, this is about
+ equivalent to using <B
+CLASS="COMMAND"
+>shutdown</B
+>. However, it
+ does not unmount any filesystems and this can lead to problems
+ with the ext2fs ``clean filesystem'' flag. The triple-sync
+ method is <I
+CLASS="EMPHASIS"
+>not recommended</I
+>.</P
+><P
+>(In case you're wondering: the reason for three syncs is
+ that in the early days of UNIX, when the commands were
+ typed separately, that usually gave sufficient time for most
+ disk I/O to be finished.)
+ </P
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN1678"
+HREF="x1650.html#AEN1678"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+><B
+CLASS="COMMAND"
+>sync</B
+> flushes the
+ buffer cache. </P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1602.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1684.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>The boot process in closer look</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1582.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Rebooting</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1684.html b/sag-0.6.1-www/sag-0.6.1.html/x1684.html
new file mode 100644
index 0000000..bde94bd
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1684.html
@@ -0,0 +1,164 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Rebooting</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Boots And Shutdowns"
+HREF="c1582.html"><LINK
+REL="PREVIOUS"
+TITLE="More about shutdowns"
+HREF="x1650.html"><LINK
+REL="NEXT"
+TITLE="Single user mode"
+HREF="x1693.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1650.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 6. Boots And Shutdowns</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1693.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1684"
+>Rebooting</A
+></H1
+><P
+>Rebooting means booting the system again. This can be
+ accomplished by first shutting it down completely, turning
+ power off, and then turning it back on. A simpler way is to
+ ask <B
+CLASS="COMMAND"
+>shutdown</B
+> to reboot the system, instead
+ of merely halting it. This is accomplished by using the
+ <SPAN
+CLASS="OPTION"
+>-r</SPAN
+> option to <B
+CLASS="COMMAND"
+>shutdown</B
+>,
+ for example, by giving the command <B
+CLASS="COMMAND"
+>shutdown -r
+ now</B
+>.</P
+><P
+>Most Linux systems run <B
+CLASS="COMMAND"
+>shutdown -r now</B
+>
+ when ctrl-alt-del is pressed on the keyboard. This reboots the
+ system. The action on ctrl-alt-del is configurable, however, and
+ it might be better to allow for some delay before the reboot on
+ a multiuser machine. Systems that are physically accessible to
+ anyone might even be configured to do nothing when ctrl-alt-del
+ is pressed. </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1650.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1693.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>More about shutdowns</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1582.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Single user mode</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1693.html b/sag-0.6.1-www/sag-0.6.1.html/x1693.html
new file mode 100644
index 0000000..b8c3485
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1693.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Single user mode</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Boots And Shutdowns"
+HREF="c1582.html"><LINK
+REL="PREVIOUS"
+TITLE="Rebooting"
+HREF="x1684.html"><LINK
+REL="NEXT"
+TITLE="Emergency boot floppies"
+HREF="x1697.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1684.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 6. Boots And Shutdowns</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1697.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1693"
+>Single user mode</A
+></H1
+><P
+>The <B
+CLASS="COMMAND"
+>shutdown</B
+> command can also be used
+ to bring the system down to single user mode, in which no one
+ can log in, but root can use the console. This is useful for
+ system administration tasks that can't be done while the system is
+ running normally.</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1684.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1697.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Rebooting</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1582.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Emergency boot floppies</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1697.html b/sag-0.6.1-www/sag-0.6.1.html/x1697.html
new file mode 100644
index 0000000..59049a7
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1697.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Emergency boot floppies</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Boots And Shutdowns"
+HREF="c1582.html"><LINK
+REL="PREVIOUS"
+TITLE="Single user mode"
+HREF="x1693.html"><LINK
+REL="NEXT"
+TITLE="init"
+HREF="c1705.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1693.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 6. Boots And Shutdowns</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="c1705.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1697"
+>Emergency boot floppies</A
+></H1
+><P
+>It is not always possible to boot a computer from the hard disk.
+ For example, if you make a mistake in configuring LILO, you might
+ make your system unbootable. For these situations, you need an
+ alternative way of booting that will always work (as long as the
+ hardware works). For typical PC's, this means booting from the
+ floppy drive.</P
+><P
+>Most Linux distributions allow one to create an
+ <I
+CLASS="GLOSSTERM"
+>emergency boot floppy</I
+> during installation.
+ It is a good idea to do this. However, some such boot disks
+ contain only the kernel, and assume you will be using the programs
+ on the distribution's installation disks to fix whatever problem
+ you have. Sometimes those programs aren't enough; for example,
+ you might have to restore some files from backups made with
+ software not on the installation disks.</P
+><P
+>Thus, it might be necessary to create a custom root floppy
+ as well. The <I
+CLASS="CITETITLE"
+>Bootdisk HOWTO</I
+> by Graham
+ Chapman (XXX citation) contains instructions for doing this.
+ You must, of course, remember to keep your emergency boot and
+ root floppies up to date.</P
+><P
+>You can't use the floppy drive you use to mount the root
+ floppy for anything else. This can be inconvenient if you only
+ have one floppy drive. However, if you have enough memory, you
+ can configure your boot floppy to load the root disk to a ramdisk
+ (the boot floppy's kernel needs to be specially configured for
+ this). Once the root floppy has been loaded into the ramdisk,
+ the floppy drive is free to mount other disks. </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1693.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="c1705.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Single user mode</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1582.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><B
+CLASS="COMMAND"
+>init</B
+></TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1752.html b/sag-0.6.1-www/sag-0.6.1.html/x1752.html
new file mode 100644
index 0000000..eeabdb9
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1752.html
@@ -0,0 +1,402 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Configuring init to start getty: the /etc/inittab file</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="init"
+HREF="c1705.html"><LINK
+REL="PREVIOUS"
+TITLE="init"
+HREF="c1705.html"><LINK
+REL="NEXT"
+TITLE="Run levels"
+HREF="x1812.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="c1705.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 7. <B
+CLASS="COMMAND"
+>init</B
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1812.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1752"
+>Configuring <B
+CLASS="COMMAND"
+>init</B
+> to start <B
+CLASS="COMMAND"
+>getty</B
+>: the <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+> file</A
+></H1
+><P
+>When it starts up, <B
+CLASS="COMMAND"
+>init</B
+> reads the <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+>
+ configuration file. While the system is running, it will
+ re-read it, if sent the HUP signal;
+
+ <A
+NAME="AEN1760"
+HREF="#FTN.AEN1760"
+>[1]</A
+>
+
+ this feature makes it unnecessary to boot the system to make
+ changes to the <B
+CLASS="COMMAND"
+>init</B
+> configuration take
+ effect.</P
+><P
+>The <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+> file is
+ a bit complicated. We'll start with the simple case
+ of configuring <B
+CLASS="COMMAND"
+>getty</B
+> lines. Lines in
+ <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+> consist of four colon-delimited
+ fields:
+
+<PRE
+CLASS="SCREEN"
+>id:runlevels:action:process</PRE
+>
+
+ The fields are described below. In addition,
+ <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+> can contain empty lines, and
+ lines that begin with a number sign (`<TT
+CLASS="LITERAL"
+>#</TT
+>');
+ these are both ignored.
+
+ <DIV
+CLASS="GLOSSLIST"
+><DL
+><DT
+><B
+>id</B
+></DT
+><DD
+><P
+> This identifies the line in the file. For
+ <B
+CLASS="COMMAND"
+>getty</B
+> lines, it specifies the terminal
+ it runs on (the characters after <TT
+CLASS="FILENAME"
+>/dev/tty</TT
+>
+ in the device file name). For other lines,
+ it doesn't matter (except for length restrictions),
+ but it should be unique.
+ </P
+></DD
+><DT
+><B
+>runlevels</B
+></DT
+><DD
+><P
+> The run levels the line should be considered
+ for. The run levels are given as single digits,
+ without delimiters. (Run levels are described
+ in the next section.)
+ </P
+></DD
+><DT
+><B
+>action</B
+></DT
+><DD
+><P
+> What action should be taken by the line, e.g.,
+ <TT
+CLASS="LITERAL"
+>respawn</TT
+> to run the command in the
+ next field again, when it exits, or <TT
+CLASS="LITERAL"
+>once</TT
+>
+ to run it just once.
+ </P
+></DD
+><DT
+><B
+>process</B
+></DT
+><DD
+><P
+> The command to run.
+ </P
+></DD
+></DL
+></DIV
+>
+
+ To start a <B
+CLASS="COMMAND"
+>getty</B
+> on the first virtual terminal
+ (<TT
+CLASS="FILENAME"
+>/dev/tty1</TT
+>}), in all the normal multi-user
+ run levels (2-5), one would write the following line:
+
+<PRE
+CLASS="SCREEN"
+>1:2345:respawn:/sbin/getty 9600 tty1</PRE
+>
+
+ The first field says that this is the line for <TT
+CLASS="FILENAME"
+>/dev/tty1</TT
+>.
+ The second field says that it applies to run levels 2, 3, 4,
+ and 5. The third field means that the command should be run
+ again, after it exits (so that one can log in, log out, and
+ then log in again). The last field is the command that runs
+ <B
+CLASS="COMMAND"
+>getty</B
+> on the first virtual terminal.
+
+ <A
+NAME="AEN1797"
+HREF="#FTN.AEN1797"
+>[2]</A
+>
+ </P
+><P
+>If you wanted to add terminals or dial-in modem lines to a
+ system, you'd add more lines to <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+>,
+ one for each terminal or dial-in line. For more details, see the
+ manual pages <B
+CLASS="COMMAND"
+>init</B
+>, <TT
+CLASS="FILENAME"
+>inittab</TT
+>,
+ and <B
+CLASS="COMMAND"
+>getty</B
+>.</P
+><P
+>If a command fails when it starts,
+ and <B
+CLASS="COMMAND"
+>init</B
+> is configured to
+ <TT
+CLASS="LITERAL"
+>restart</TT
+> it, it will use a lot of
+ system resources: <B
+CLASS="COMMAND"
+>init</B
+> starts it,
+ it fails, <B
+CLASS="COMMAND"
+>init</B
+> starts it, it fails,
+ <B
+CLASS="COMMAND"
+>init</B
+> starts it, it fails, and so on, ad
+ infinitum. To prevent this, <B
+CLASS="COMMAND"
+>init</B
+> will keep
+ track of how often it restarts a command, and if the frequency
+ grows to high, it will delay for five minutes before restarting
+ again. </P
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN1760"
+HREF="x1752.html#AEN1760"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Using the command <B
+CLASS="COMMAND"
+>kill -HUP
+ 1</B
+> as root, for example </P
+></TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN1797"
+HREF="x1752.html#AEN1797"
+>[2]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Different versions of
+ <B
+CLASS="COMMAND"
+>getty</B
+> are run differently. Consult
+ your manual page, and make sure it is the correct
+ manual page.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="c1705.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1812.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><B
+CLASS="COMMAND"
+>init</B
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1705.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Run levels</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1812.html b/sag-0.6.1-www/sag-0.6.1.html/x1812.html
new file mode 100644
index 0000000..6938e7b
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1812.html
@@ -0,0 +1,302 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Run levels</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="init"
+HREF="c1705.html"><LINK
+REL="PREVIOUS"
+TITLE="Configuring init to start getty: the /etc/inittab file"
+HREF="x1752.html"><LINK
+REL="NEXT"
+TITLE="Special configuration in /etc/inittab"
+HREF="x1852.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1752.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 7. <B
+CLASS="COMMAND"
+>init</B
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1852.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1812"
+>Run levels</A
+></H1
+><P
+>A <I
+CLASS="GLOSSTERM"
+>run level</I
+> is a state of
+ <B
+CLASS="COMMAND"
+>init</B
+> and the whole system that defines what
+ system services are operating. Run levels are identified by
+ numbers, see <A
+HREF="x1812.html#RUN-LEVELS"
+>Table 7-1</A
+>. There is no consensus of how to use the
+ user defined run levels (2 through 5). Some system administrators
+ use run levels to define which subsystems are working, e.g.,
+ whether X is running, whether the network is operational, and
+ so on. Others have all subsystems always running or start and
+ stop them individually, without changing run levels, since run
+ levels are too coarse for controlling their systems. You need
+ to decide for yourself, but it might be easiest to follow the
+ way your Linux distribution does things.</P
+><DIV
+CLASS="TABLE"
+><P
+><B
+><A
+NAME="RUN-LEVELS"
+>Table 7-1. Run level numbers</A
+></B
+></P
+><TABLE
+BORDER="1"
+CLASS="CALSTABLE"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>0</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Halt the system.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Single-user mode (for special administration).</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>2-5</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Normal operation (user defined).</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>6</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Reboot.</TD
+></TR
+></TABLE
+></DIV
+><P
+>Run levels are configured in <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+> by lines like
+ the following:
+
+<PRE
+CLASS="SCREEN"
+>l2:2:wait:/etc/init.d/rc 2</PRE
+>
+
+ The first field is an arbitrary label, the second one means
+ that this applies for run level 2. The third field means
+ that <B
+CLASS="COMMAND"
+>init</B
+> should run the command in the
+ fourth field once, when the run level is entered, and that
+ <B
+CLASS="COMMAND"
+>init</B
+> should wait for it to complete. The
+ <TT
+CLASS="FILENAME"
+>/etc/init.d/rc</TT
+> command runs whatever
+ commands are necessary to start and stop services to enter run
+ level 2.</P
+><P
+>The command in the fourth field does all the hard work of
+ setting up a run level. It starts services that aren't already
+ running, and stops services that shouldn't be running in the
+ new run level any more. Exactly what the command is, and how run
+ levels are configured, depends on the Linux distribution.</P
+><P
+>When <B
+CLASS="COMMAND"
+>init</B
+> starts, it looks for a line
+ in <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+> that specifies the default
+ run level:
+
+<PRE
+CLASS="SCREEN"
+>id:2:initdefault:</PRE
+>
+
+ You can ask <B
+CLASS="COMMAND"
+>init</B
+> to go to a non-default run
+ level at startup by giving the kernel a command line argument
+ of <TT
+CLASS="LITERAL"
+>single</TT
+> or <TT
+CLASS="LITERAL"
+>emergency</TT
+>.
+ Kernel command line arguments can be given via LILO, for example.
+ This allows you to choose the single user mode (run level 1).</P
+><P
+>While the system is running, the <B
+CLASS="COMMAND"
+>telinit</B
+>
+ command can change the run level. When the run level is
+ changed, <B
+CLASS="COMMAND"
+>init</B
+> runs the relevant command from
+ <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+>. </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1752.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1852.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Configuring <B
+CLASS="COMMAND"
+>init</B
+> to start <B
+CLASS="COMMAND"
+>getty</B
+>: the <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+> file</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1705.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Special configuration in <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+></TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1852.html b/sag-0.6.1-www/sag-0.6.1.html/x1852.html
new file mode 100644
index 0000000..ad096cb
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1852.html
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Special configuration in /etc/inittab</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="init"
+HREF="c1705.html"><LINK
+REL="PREVIOUS"
+TITLE="Run levels"
+HREF="x1812.html"><LINK
+REL="NEXT"
+TITLE="Booting in single user mode"
+HREF="x1880.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1812.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 7. <B
+CLASS="COMMAND"
+>init</B
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1880.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1852"
+>Special configuration in <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+></A
+></H1
+><P
+>The <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+> has some special
+ features that allow <B
+CLASS="COMMAND"
+>init</B
+> to react to special
+ circumstances. These special features are marked by special
+ keywords in the third field. Some examples:
+
+ <DIV
+CLASS="GLOSSLIST"
+><DL
+><DT
+><B
+><TT
+CLASS="LITERAL"
+>powerwait</TT
+></B
+></DT
+><DD
+><P
+> Allows <B
+CLASS="COMMAND"
+>init</B
+> to shut the system
+ down, when the power fails. This assumes the use of
+ a UPS, and software that watches the UPS and informs
+ <B
+CLASS="COMMAND"
+>init</B
+> that the power is off.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="LITERAL"
+>ctrlaltdel</TT
+></B
+></DT
+><DD
+><P
+> Allows <B
+CLASS="COMMAND"
+>init</B
+> to reboot the system, when
+ the user presses ctrl-alt-del on the console keyboard.
+ Note that the system administrator can configure the
+ reaction to ctrl-alt-del to be something else instead,
+ e.g., to be ignored, if the system is in a public
+ location. (Or to start <B
+CLASS="COMMAND"
+>nethack</B
+>.)
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="LITERAL"
+>sysinit</TT
+></B
+></DT
+><DD
+><P
+> Command to be run when the system is booted. This command
+ usually cleans up <TT
+CLASS="FILENAME"
+>/tmp</TT
+>, for example.
+ </P
+></DD
+></DL
+></DIV
+>
+
+ The list above is not exhaustive. See your
+ <TT
+CLASS="FILENAME"
+>inittab</TT
+> manual page for all possibilities,
+ and for details on how to use the above ones. </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1812.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1880.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Run levels</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1705.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Booting in single user mode</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1880.html b/sag-0.6.1-www/sag-0.6.1.html/x1880.html
new file mode 100644
index 0000000..ceb8431
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1880.html
@@ -0,0 +1,261 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Booting in single user mode</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="init"
+HREF="c1705.html"><LINK
+REL="PREVIOUS"
+TITLE="Special configuration in /etc/inittab"
+HREF="x1852.html"><LINK
+REL="NEXT"
+TITLE="Logging In And Out"
+HREF="c1905.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1852.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 7. <B
+CLASS="COMMAND"
+>init</B
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="c1905.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1880"
+>Booting in single user mode</A
+></H1
+><P
+>An important run level is <I
+CLASS="GLOSSTERM"
+>single user mode</I
+> (run level 1),
+ in which only the system administrator is using the machine
+ and as few system services, including logins, as possible are
+ running. Single user mode is necessary for a few administrative
+ tasks,
+
+ <A
+NAME="AEN1884"
+HREF="#FTN.AEN1884"
+>[1]</A
+>
+
+ such as running <B
+CLASS="COMMAND"
+>fsck</B
+> on a
+ <TT
+CLASS="FILENAME"
+>/usr</TT
+> partition, since this requires that
+ the partition be unmounted, and that can't happen, unless just
+ about all system services are killed.</P
+><P
+>A running system can be taken to single user mode by using
+ <B
+CLASS="COMMAND"
+>telinit</B
+> to request run level 1. At bootup,
+ it can be entered by giving the word <TT
+CLASS="LITERAL"
+>single</TT
+>
+ or <TT
+CLASS="LITERAL"
+>emergency</TT
+> on the kernel command line: the
+ kernel gives the command line to <B
+CLASS="COMMAND"
+>init</B
+> as well,
+ and <B
+CLASS="COMMAND"
+>init</B
+> understands from that word that it
+ shouldn't use the default run level. (The kernel command line is
+ entered in a way that depends on how you boot the system.)</P
+><P
+>Booting into single user mode is sometimes necessary so
+ that one can run <B
+CLASS="COMMAND"
+>fsck</B
+> by hand, before anything
+ mounts or otherwise touches a broken <TT
+CLASS="FILENAME"
+>/usr</TT
+>
+ partition (any activity on a broken filesystem is likely to
+ break it more, so <B
+CLASS="COMMAND"
+>fsck</B
+> should be run as soon
+ as possible).</P
+><P
+>The bootup scripts <B
+CLASS="COMMAND"
+>init</B
+> runs
+ will automatically enter single user mode, if the automatic
+ <B
+CLASS="COMMAND"
+>fsck</B
+> at bootup fails. This is an attempt to
+ prevent the system from using a filesystem that is so broken that
+ <B
+CLASS="COMMAND"
+>fsck</B
+> can't fix it automatically. Such breakage
+ is relatively rare, and usually involves a broken hard disk or an
+ experimental kernel release, but it's good to be prepared.</P
+><P
+>As a security measure, a properly configured system
+ will ask for the root password before starting the shell in
+ single user mode. Otherwise, it would be simple to just enter
+ a suitable line to LILO to get in as root. (This will break if
+ <TT
+CLASS="FILENAME"
+>/etc/passwd</TT
+> has been broken by filesystem
+ problems, of course, and in that case you'd better have a boot
+ floppy handy.)</P
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN1884"
+HREF="x1880.html#AEN1884"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>It probably shouldn't be used for playing
+ <B
+CLASS="COMMAND"
+>nethack</B
+>.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1852.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="c1905.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Special configuration in <TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1705.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Logging In And Out</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1944.html b/sag-0.6.1-www/sag-0.6.1.html/x1944.html
new file mode 100644
index 0000000..e4169cf
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1944.html
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Logins via the network</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Logging In And Out"
+HREF="c1905.html"><LINK
+REL="PREVIOUS"
+TITLE="Logging In And Out"
+HREF="c1905.html"><LINK
+REL="NEXT"
+TITLE="What login does"
+HREF="x1956.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="c1905.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 8. Logging In And Out</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1956.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1944"
+>Logins via the network</A
+></H1
+><P
+>Two computers in the same network are usually linked via a
+ single physical cable. When they communicate over the network,
+ the programs in each computer that take part in the communication
+ are linked via a <I
+CLASS="GLOSSTERM"
+>virtual connection</I
+>, a sort
+ of imaginary cable. As far as the programs at either end of the
+ virtual connection are concerned, they have a monopoly on their
+ own cable. However, since the cable is not real, only imaginary,
+ the operating systems of both computers can have several virtual
+ connections share the same physical cable. This way, using just
+ a single cable, several programs can communicate without having
+ to know of or care about the other communications. It is even
+ possible to have several computers use the same cable; the virtual
+ connections exist between two computers, and the other computers
+ ignore those connections that they don't take part in. </P
+><P
+> That's a complicated and over-abstracted description of
+ the reality. It might, however, be good enough to understand
+ the important reason why network logins are somewhat different
+ from normal logins. The virtual connections are established
+ when there are two programs on different computers that wish
+ to communicate. Since it is in principle possible to login
+ from any computer in a network to any other computer, there is
+ a huge number of potential virtual communications. Because of
+ this, it is not practical to start a <B
+CLASS="COMMAND"
+>getty</B
+>
+ for each potential login. </P
+><P
+> There is a single process inetd (corresponding to
+ <B
+CLASS="COMMAND"
+>getty</B
+>) that handles all network logins.
+ When it notices an incoming network login (i.e., it notices
+ that it gets a new virtual connection to some other computer),
+ it starts a new process to handle that single login. The original
+ process remains and continues to listen for new logins. </P
+><P
+> To make things a bit more complicated, there is
+ more than one communication protocol for network logins.
+ The two most important ones are <B
+CLASS="COMMAND"
+>telnet</B
+> and
+ <B
+CLASS="COMMAND"
+>rlogin</B
+>. In addition to logins, there are many
+ other virtual connections that may be made (for FTP, Gopher, HTTP,
+ and other network services). It would be ineffective to have a
+ separate process listening for a particular type of connection,
+ so instead there is only one listener that can recognize the type
+ of the connection and can start the correct type of program to
+ provide the service. This single listener is called \cmd{inetd};
+ see the <I
+CLASS="CITETITLE"
+>Linux Network Administrators' Guide</I
+>
+ for more information. </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="c1905.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1956.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Logging In And Out</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1905.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>What <B
+CLASS="COMMAND"
+>login</B
+> does</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1956.html b/sag-0.6.1-www/sag-0.6.1.html/x1956.html
new file mode 100644
index 0000000..6996cc7
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1956.html
@@ -0,0 +1,274 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>What login does</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Logging In And Out"
+HREF="c1905.html"><LINK
+REL="PREVIOUS"
+TITLE="Logins via the network"
+HREF="x1944.html"><LINK
+REL="NEXT"
+TITLE="X and xdm"
+HREF="x1988.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1944.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 8. Logging In And Out</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1988.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1956"
+>What <B
+CLASS="COMMAND"
+>login</B
+> does</A
+></H1
+><P
+>The <B
+CLASS="COMMAND"
+>login</B
+> program takes care of
+ authenticating the user (making sure that the username and
+ password match), and of setting up an initial environment for
+ the user by setting permissions for the serial line and starting
+ the shell. </P
+><P
+> Part of the initial setup is outputting the contents of
+ the file <TT
+CLASS="FILENAME"
+>/etc/motd</TT
+> (short for message of the
+ day) and checking for electronic mail. These can be disabled
+ by creating a file called <TT
+CLASS="FILENAME"
+>.hushlogin</TT
+> in
+ the user's home directory. </P
+><P
+> If the file <TT
+CLASS="FILENAME"
+>/etc/nologin</TT
+>
+ exists, logins are disabled. That file is typically
+ created by <B
+CLASS="COMMAND"
+>shutdown</B
+> and relatives.
+ <B
+CLASS="COMMAND"
+>login</B
+> checks for this file, and will
+ refuse to accept a login if it exists. If it does exist,
+ <B
+CLASS="COMMAND"
+>login</B
+> outputs its contents to the terminal
+ before it quits. </P
+><P
+> <B
+CLASS="COMMAND"
+>login</B
+> logs all failed login attempts in
+ a system log file (via <B
+CLASS="COMMAND"
+>syslog</B
+>). It also logs
+ all logins by root. Both of these can be useful when tracking
+ down intruders. </P
+><P
+> Currently logged in people are listed in
+ <TT
+CLASS="FILENAME"
+>/var/run/utmp</TT
+>. This file is valid only
+ until the system is next rebooted or shut down; it is cleared
+ when the system is booted. It lists each user and the terminal
+ (or network connection) he is using, along with some other useful
+ information. The <B
+CLASS="COMMAND"
+>who</B
+>, <B
+CLASS="COMMAND"
+>w</B
+>,
+ and other similar commands look in <TT
+CLASS="FILENAME"
+>utmp</TT
+>
+ to see who are logged in. </P
+><P
+> All successful logins are recorded into
+ <TT
+CLASS="FILENAME"
+>/var/log/wtmp</TT
+>. This file will grow without
+ limit, so it must be cleaned regularly, for example by having
+ a weekly <B
+CLASS="COMMAND"
+>cron</B
+> job to clear it.
+
+ <A
+NAME="AEN1980"
+HREF="#FTN.AEN1980"
+>[1]</A
+>
+
+ The <B
+CLASS="COMMAND"
+>last</B
+> command browses
+ <TT
+CLASS="FILENAME"
+>wtmp</TT
+>. </P
+><P
+> Both <TT
+CLASS="FILENAME"
+>utmp</TT
+> and
+ <TT
+CLASS="FILENAME"
+>wtmp</TT
+> are in a binary format (see the
+ <TT
+CLASS="FILENAME"
+>utmp</TT
+> manual page); it is unfortunately not
+ convenient to examine them without special programs. </P
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN1980"
+HREF="x1956.html#AEN1980"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Good Linux distributions do this out
+ of the box.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1944.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1988.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Logins via the network</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1905.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>X and xdm</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1988.html b/sag-0.6.1-www/sag-0.6.1.html/x1988.html
new file mode 100644
index 0000000..4b76a8c
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1988.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>X and xdm</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Logging In And Out"
+HREF="c1905.html"><LINK
+REL="PREVIOUS"
+TITLE="What login does"
+HREF="x1956.html"><LINK
+REL="NEXT"
+TITLE="Access control"
+HREF="x1991.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1956.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 8. Logging In And Out</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1991.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1988"
+>X and xdm</A
+></H1
+><P
+> XXX X implements logins via xdm; also: xterm -ls </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1956.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1991.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>What <B
+CLASS="COMMAND"
+>login</B
+> does</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1905.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Access control</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1991.html b/sag-0.6.1-www/sag-0.6.1.html/x1991.html
new file mode 100644
index 0000000..b8184e9
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x1991.html
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Access control</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Logging In And Out"
+HREF="c1905.html"><LINK
+REL="PREVIOUS"
+TITLE="X and xdm"
+HREF="x1988.html"><LINK
+REL="NEXT"
+TITLE="Shell startup"
+HREF="x2008.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1988.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 8. Logging In And Out</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2008.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1991"
+>Access control</A
+></H1
+><P
+> The user database is traditionally contained in the
+ <TT
+CLASS="FILENAME"
+>/etc/passwd</TT
+> file. Some systems use
+ <I
+CLASS="GLOSSTERM"
+>shadow passwords</I
+>, and have moved the
+ passwords to <B
+CLASS="COMMAND"
+>/etc/shadow</B
+>. Sites with many
+ computers that share the accounts use NIS or some other method
+ to store the user database; they might also automatically copy
+ the database from one central location to all other computers.
+ </P
+><P
+> The user database contains not only the passwords, but
+ also some additional information about the users, such as their
+ real names, home directories, and login shells. This other
+ information needs to be public, so that anyone can read it.
+ Therefore the password is stored encrypted. This does have
+ the drawback that anyone with access to the encrypted password
+ can use various cryptographical methods to guess it, without
+ trying to actually log into the computer. Shadow passwords try
+ to avoid this by moving the password into another file, which
+ only root can read (the password is still stored encrypted).
+ However, installing shadow passwords later onto a system that
+ did not support them can be difficult. </P
+><P
+> With or without passwords, it is important to make
+ sure that all passwords in a system are good, i.e., not easily
+ guessable. The <B
+CLASS="COMMAND"
+>crack</B
+> program can be used
+ to crack passwords; any password it can find is by definition
+ not a good one. While <B
+CLASS="COMMAND"
+>crack</B
+> can be run
+ by intruders, it can also be run by the system adminstrator
+ to avoid bad passwords. Good passwords can also be enforced
+ by the <B
+CLASS="COMMAND"
+>passwd</B
+> program; this is in fact more
+ effective in CPU cycles, since cracking passwords requires quite
+ a lot of computation. </P
+><P
+> The user group database is kept in
+ <TT
+CLASS="FILENAME"
+>/etc/group</TT
+>; for systems with shadow
+ passwords, there can be a <TT
+CLASS="FILENAME"
+>/etc/shadow.group</TT
+>.
+ </P
+><P
+> root usually can't login via most terminals
+ or the network, only via terminals listed in the
+ <TT
+CLASS="FILENAME"
+>/etc/securetty</TT
+> file. This makes it necessary
+ to get physical access to one of these terminals. It is, however,
+ possible to log in via any terminal as any other user, and use
+ the <B
+CLASS="COMMAND"
+>su</B
+> command to become root. </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1988.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2008.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>X and xdm</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1905.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Shell startup</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x2008.html b/sag-0.6.1-www/sag-0.6.1.html/x2008.html
new file mode 100644
index 0000000..3b91cac
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x2008.html
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Shell startup</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Logging In And Out"
+HREF="c1905.html"><LINK
+REL="PREVIOUS"
+TITLE="Access control"
+HREF="x1991.html"><LINK
+REL="NEXT"
+TITLE="Managing user accounts"
+HREF="c2018.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x1991.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 8. Logging In And Out</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="c2018.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2008"
+>Shell startup</A
+></H1
+><P
+> When an interactive login shell starts, it automatically
+ executes one or more pre-defined files. Different shells execute
+ different files; see the documentation of each shell for further
+ information. </P
+><P
+> Most shells first run some global file, for example, the
+ Bourne shell (<B
+CLASS="COMMAND"
+>/bin/sh</B
+>) and its derivatives
+ execute <TT
+CLASS="FILENAME"
+>/etc/profile</TT
+>; in addition,
+ they execute <TT
+CLASS="FILENAME"
+>.profile</TT
+> in the user's
+ home directory. <TT
+CLASS="FILENAME"
+>/etc/profile</TT
+> allows the
+ system administrator to have set up a common user environment,
+ especially by setting the <TT
+CLASS="ENVAR"
+>PATH</TT
+> to include local
+ command directories in addition to the normal ones. On the other
+ hand, <TT
+CLASS="FILENAME"
+>.profile</TT
+> allows the user to customize
+ the environment to his own tastes by overriding, if necessary,
+ the default environment. </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x1991.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="c2018.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Access control</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c1905.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Managing user accounts</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x2031.html b/sag-0.6.1-www/sag-0.6.1.html/x2031.html
new file mode 100644
index 0000000..8d4adf5
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x2031.html
@@ -0,0 +1,537 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Creating a user</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Managing user accounts"
+HREF="c2018.html"><LINK
+REL="PREVIOUS"
+TITLE="Managing user accounts"
+HREF="c2018.html"><LINK
+REL="NEXT"
+TITLE="Changing user properties"
+HREF="x2124.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="c2018.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 9. Managing user accounts</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2124.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2031"
+>Creating a user</A
+></H1
+><P
+> The Linux kernel itself treats users are mere numbers.
+ Each user is identified by a unique integer, the <I
+CLASS="GLOSSTERM"
+>user
+ id</I
+> or <I
+CLASS="GLOSSTERM"
+>uid</I
+>, because numbers are
+ faster and easier for a computer to process than textual names.
+ A separate database outside the kernel assigns a textual name,
+ the <I
+CLASS="GLOSSTERM"
+>username</I
+>, to each user id. The database
+ contains additional information as well. </P
+><P
+> To create a user, you need to add information about
+ the user to the user database, and create a home directory for
+ him. It may also be necessary to educate the user, and set up
+ a suitable initial environment for him. </P
+><P
+> Most Linux distributions come with a program for
+ creating accounts. There are several such programs available.
+ Two command line alternatives are <B
+CLASS="COMMAND"
+>adduser</B
+>
+ and <B
+CLASS="COMMAND"
+>useradd</B
+>; there may be a GUI tool as well.
+ Whatever the program, the result is that there is little if
+ any manual work to be done. Even if the details are many and
+ intricate, these programs make everything seem trivial. However,
+ <A
+HREF="x2031.html#MANUAL-ADDUSER"
+>the section called <I
+>Creating a user by hand</I
+></A
+> describes how to do it by hand.
+ </P
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN2042"
+><TT
+CLASS="FILENAME"
+>/etc/passwd</TT
+> and other informative files</A
+></H2
+><P
+> The basic user database in a Unix system is the text file,
+ <TT
+CLASS="FILENAME"
+>/etc/passwd</TT
+> (called the <I
+CLASS="GLOSSTERM"
+>password
+ file</I
+>), which lists all valid usernames and their
+ associated information. The file has one line per username,
+ and is divided into seven colon-delimited fields:
+
+ <P
+></P
+><UL
+><LI
+><P
+>Username.</P
+></LI
+><LI
+><P
+>Password, in an encrypted form.</P
+></LI
+><LI
+><P
+>Numeric user id.</P
+></LI
+><LI
+><P
+>Numeric group id.</P
+></LI
+><LI
+><P
+>Full name or other description of account.</P
+></LI
+><LI
+><P
+>Home directory.</P
+></LI
+><LI
+><P
+>Login shell (program to run at login).</P
+></LI
+></UL
+>
+
+ The format is explained in more detail on the
+ <TT
+CLASS="FILENAME"
+>passwd</TT
+> manual page. </P
+><P
+> Any user on the system may read the password file,
+ so that they can, for example, learn the name of another user.
+ This means that the password (the second field) is also available
+ to everyone. The password file encrypts the password, so in
+ theory there is no problem. However, the encryption is breakable,
+ especially if the password is weak (e.g., it is short or it can
+ be found in a dictionary). Therefore it is not a good idea to
+ have the password in the password file. </P
+><P
+> Many Linux systems have <I
+CLASS="GLOSSTERM"
+>shadow passwords</I
+>. This is
+ an alternative way of storing the password: the encrypted
+ password is stored in a separate file, <TT
+CLASS="FILENAME"
+>/etc/shadow</TT
+>,
+ which only root can read. The <TT
+CLASS="FILENAME"
+>/etc/passwd</TT
+>
+ file only contains a special marker in the second field.
+ Any program that needs to verify a user is setuid, and
+ can therefore access the shadow password file. Normal
+ programs, which only use the other fields in the password
+ file, can't get at the password.
+
+ <A
+NAME="AEN2069"
+HREF="#FTN.AEN2069"
+>[1]</A
+>
+
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN2072"
+>Picking numeric user and group ids</A
+></H2
+><P
+> On most systems it doesn't matter what the numeric user
+ and group ids are, but if you use the Network filesystem (NFS),
+ you need to have the same uid and gid on all systems. This
+ is because NFS also identifies users with the numeric uids.
+ If you aren't using NFS, you can let your account creation tool
+ pick them automatically. </P
+><P
+> If you are using NFS, you'll have to be invent a mechanism
+ for synchronizing account information. One alternative is to
+ the NIS system (see XXX network-admin-guide). </P
+><P
+> However, you should try to avoid re-using numeric uid's
+ (and textual usernames), because the new owner of the uid (or
+ username) may get access to the old owner's files (or mail,
+ or whatever). </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN2077"
+>Initial environment: <TT
+CLASS="FILENAME"
+>/etc/skel</TT
+></A
+></H2
+><P
+> When the home directory for a new user is created, it is
+ initialized with files from the <TT
+CLASS="FILENAME"
+>/etc/skel</TT
+>
+ directory. The system administrator can create files in
+ <TT
+CLASS="FILENAME"
+>/etc/skel</TT
+> that will provide a nice
+ default environment for users. For example, he might create a
+ <TT
+CLASS="FILENAME"
+>/etc/skel/.profile</TT
+> that sets the EDITOR
+ environment variable to some editor that is friendly towards
+ new users. </P
+><P
+> However, it is usually best to try to keep
+ <TT
+CLASS="FILENAME"
+>/etc/skel</TT
+> as small as possible, since it
+ will be next to impossible to update existing users' files. For
+ example, if the name of the friendly editor changes, all existing
+ users would have to edit their <TT
+CLASS="FILENAME"
+>.profile</TT
+>. The
+ system administrator could try to do it automatically, with a
+ script, but that is almost certain going to break someone's file.
+ </P
+><P
+> Whenever possible, it is better to put global configuration
+ into global files, such as <TT
+CLASS="FILENAME"
+>/etc/profile</TT
+>. This
+ way it is possible to update it without breaking users'
+ own setups. </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="MANUAL-ADDUSER"
+>Creating a user by hand</A
+></H2
+><P
+> To create a new account manually, follow these steps:
+
+
+ <P
+></P
+><UL
+><LI
+><P
+> Edit <TT
+CLASS="FILENAME"
+>/etc/passwd</TT
+> with
+ <B
+CLASS="COMMAND"
+>vipw</B
+> and add a new line for the new account. Be
+ careful with the syntax. <I
+CLASS="EMPHASIS"
+>Do not edit directly with an
+ editor!</I
+> <B
+CLASS="COMMAND"
+>vipw</B
+> locks the file, so
+ that other commands won't try to update it at the same time. You
+ should make the password field be `<TT
+CLASS="LITERAL"
+>*</TT
+>', so
+ that it is impossible to log in. </P
+></LI
+><LI
+><P
+> Similarly, edit <TT
+CLASS="FILENAME"
+>/etc/group</TT
+>
+ with <B
+CLASS="COMMAND"
+>vigr</B
+>, if you need to create a new group
+ as well. </P
+></LI
+><LI
+><P
+> Create the home directory of the user with
+ <B
+CLASS="COMMAND"
+>mkdir</B
+>. </P
+></LI
+><LI
+><P
+> Copy the files from
+ <TT
+CLASS="FILENAME"
+>/etc/skel</TT
+> to the new home directory.
+ </P
+></LI
+><LI
+><P
+> Fix ownerships and permissions with
+ <B
+CLASS="COMMAND"
+>chown</B
+> and <B
+CLASS="COMMAND"
+>chmod</B
+>. The
+ <SPAN
+CLASS="OPTION"
+>-R</SPAN
+> option is most useful. The correct
+ permissions vary a little from one site to another, but usually
+ the following commands do the right thing:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="USERINPUT"
+><B
+>cd /home/newusername
+chown -R username.group .
+chmod -R go=u,go-w .
+chmod go= .</B
+></TT
+></PRE
+>
+
+ </P
+></LI
+><LI
+><P
+> Set the password with <B
+CLASS="COMMAND"
+>passwd</B
+>.
+ </P
+></LI
+></UL
+>
+ </P
+><P
+> After you set the password in the last step, the account
+ will work. You shouldn't set it until everything else has been
+ done, otherwise the user may inadvertently log in while you're
+ still copying the files. </P
+><P
+> It is sometimes necessary to create dummy
+ accounts
+
+ <A
+NAME="AEN2122"
+HREF="#FTN.AEN2122"
+>[2]</A
+>
+
+ that are not used by people. For example, to set up an anonymous
+ FTP server (so that anyone can download files from it, without
+ having to get an account first), you need to create an account
+ called ftp. In such cases, it is usually not necessary to set
+ the password (last step above). Indeed, it is better not to, so
+ that no-one can use the account, unless they first become root,
+ since root can become any user. </P
+></DIV
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN2069"
+HREF="x2031.html#AEN2069"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Yes, this means that the
+ password file has all the information about a user
+ <I
+CLASS="EMPHASIS"
+>except</I
+> his password. The wonder
+ of development.</P
+></TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN2122"
+HREF="x2031.html#AEN2122"
+>[2]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Surreal users?</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="c2018.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2124.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Managing user accounts</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c2018.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Changing user properties</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x2124.html b/sag-0.6.1-www/sag-0.6.1.html/x2124.html
new file mode 100644
index 0000000..774ea19
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x2124.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Changing user properties</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Managing user accounts"
+HREF="c2018.html"><LINK
+REL="PREVIOUS"
+TITLE="Creating a user"
+HREF="x2031.html"><LINK
+REL="NEXT"
+TITLE="Removing a user"
+HREF="x2152.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2031.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 9. Managing user accounts</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2152.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2124"
+>Changing user properties</A
+></H1
+><P
+> There are a few commands for changing various
+ properties of an account (i.e., the relevant field
+ in <TT
+CLASS="FILENAME"
+>/etc/passwd</TT
+>):
+
+ <DIV
+CLASS="GLOSSLIST"
+><DL
+><DT
+><B
+><B
+CLASS="COMMAND"
+>chfn</B
+></B
+></DT
+><DD
+><P
+> Change the full name field.
+ </P
+></DD
+><DT
+><B
+><B
+CLASS="COMMAND"
+>chsh</B
+></B
+></DT
+><DD
+><P
+> Change the login shell.
+ </P
+></DD
+><DT
+><B
+><B
+CLASS="COMMAND"
+>passwd</B
+></B
+></DT
+><DD
+><P
+>Change the password.
+ </P
+></DD
+></DL
+></DIV
+>
+
+ The super-user may use these commands to change the properties
+ of any account. Normal users can only change the properties
+ of their own account. It may sometimes be necessary to disable
+ these commands (with <B
+CLASS="COMMAND"
+>chmod</B
+>) for normal users,
+ for example in an environment with many novice users. </P
+><P
+> Other tasks need to be done by hand. For example, to
+ change the username, you need to edit <TT
+CLASS="FILENAME"
+>/etc/passwd</TT
+>
+ directly (with <B
+CLASS="COMMAND"
+>vipw</B
+>, remember). Likewise, to add
+ or remove the user to more groups, you need to edit
+ <TT
+CLASS="FILENAME"
+>/etc/group</TT
+> (with <B
+CLASS="COMMAND"
+>vigr</B
+>). Such tasks tend to
+ be rare, however, and should be done with caution: for
+ example, if
+ you change the username, e-mail will no longer reach the
+ user, unless you also create a mail alias.
+
+ <A
+NAME="AEN2150"
+HREF="#FTN.AEN2150"
+>[1]</A
+>
+
+ </P
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN2150"
+HREF="x2124.html#AEN2150"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>The user's name might change due to
+ marriage, for example, and he might want to have his
+ username reflect his new name.} </P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2031.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2152.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Creating a user</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c2018.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Removing a user</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x2152.html b/sag-0.6.1-www/sag-0.6.1.html/x2152.html
new file mode 100644
index 0000000..f8a626a
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x2152.html
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Removing a user</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Managing user accounts"
+HREF="c2018.html"><LINK
+REL="PREVIOUS"
+TITLE="Changing user properties"
+HREF="x2124.html"><LINK
+REL="NEXT"
+TITLE="Disabling a user temporarily"
+HREF="x2166.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2124.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 9. Managing user accounts</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2166.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2152"
+>Removing a user</A
+></H1
+><P
+> To remove a user, you first remove all
+ his files, mailboxes, mail aliases, print jobs,
+ <B
+CLASS="COMMAND"
+>cron</B
+> and <B
+CLASS="COMMAND"
+>at</B
+> jobs,
+ and all other references to the user. Then you remove the
+ relevant lines from <TT
+CLASS="FILENAME"
+>/etc/passwd</TT
+> and
+ <TT
+CLASS="FILENAME"
+>/etc/group</TT
+> (remember to remove the username
+ from all groups it's been added to). It may be a good idea to
+ first disable the account (see below), before you start removing
+ stuff, to prevent the user from using the account while it is
+ being removed. </P
+><P
+> Remember that users may have files outside their home
+ directory. The <B
+CLASS="COMMAND"
+>find</B
+> command can find them:
+
+<PRE
+CLASS="SCREEN"
+>find / -user username</PRE
+>
+
+ However, note that the above command will take a
+ <I
+CLASS="EMPHASIS"
+>long</I
+> time, if you have large disks. If you
+ mount network disks, you need to be careful so that you won't
+ trash the network or the server. </P
+><P
+> Some Linux distributions come with special
+ commands to do this; look for <B
+CLASS="COMMAND"
+>deluser</B
+> or
+ <B
+CLASS="COMMAND"
+>userdel</B
+>. However, it is easy to do it by
+ hand as well, and the commands might not do everything. </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2124.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2166.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Changing user properties</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c2018.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Disabling a user temporarily</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x2166.html b/sag-0.6.1-www/sag-0.6.1.html/x2166.html
new file mode 100644
index 0000000..7ad2623
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x2166.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Disabling a user temporarily</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Managing user accounts"
+HREF="c2018.html"><LINK
+REL="PREVIOUS"
+TITLE="Removing a user"
+HREF="x2152.html"><LINK
+REL="NEXT"
+TITLE="Backups"
+HREF="c2187.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2152.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 9. Managing user accounts</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="c2187.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2166"
+>Disabling a user temporarily</A
+></H1
+><P
+> It is sometimes necessary to temporarily disable an
+ account, without removing it. For example, the user might not
+ have paid his fees, or the system administrator may suspect that
+ a cracker has got the password of that account. </P
+><P
+> The best way to disable an account is to change its shell
+ into a special program that just prints a message. This way,
+ whoever tries to log into the account, will fail, and will
+ know why. The message can tell the user to contact the system
+ administrator so that any problems may be dealt with. </P
+><P
+> It would also be possible to change the username
+ or password to something else, but then the user
+ won't know what is going on. Confused users mean more
+ work.
+
+ <A
+NAME="AEN2171"
+HREF="#FTN.AEN2171"
+>[1]</A
+>
+
+ </P
+><P
+> A simple way to create the special programs is to write
+ `tail scripts':
+
+<PRE
+CLASS="SCREEN"
+>#!/usr/bin/tail +2
+This account has been closed due to a security breach.
+Please call 555-1234 and wait for the men in black to arrive.</PRE
+>
+
+ The first two characters (`<TT
+CLASS="LITERAL"
+>#!</TT
+>') tell the
+ kernel that the rest of the line is a command that needs to be
+ run to interpret this file. The <B
+CLASS="COMMAND"
+>tail</B
+> command
+ in this case outputs everything except the first line to the
+ standard output. </P
+><P
+> If user billg is suspected of a security breach,
+ the system administrator would do something like this:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>#</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>chsh -s /usr/local/lib/no-login/security billg</B
+></TT
+>
+<TT
+CLASS="PROMPT"
+>#</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>su - tester</B
+></TT
+>
+This account has been closed due to a security breach.
+Please call 555-1234 and wait for the men in black to arrive.
+<TT
+CLASS="PROMPT"
+>#</TT
+></PRE
+>
+
+ The purpose of the <B
+CLASS="COMMAND"
+>su</B
+> is to test that the
+ change worked, of course. </P
+><P
+> Tail scripts should be kept in a separate directory,
+ so that their names don't interfere with normal user commands.
+ </P
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN2171"
+HREF="x2166.html#AEN2171"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>But they can be <I
+CLASS="EMPHASIS"
+>so</I
+>
+ fun, if you're a BOFH.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2152.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="c2187.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Removing a user</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c2018.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Backups</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x2206.html b/sag-0.6.1-www/sag-0.6.1.html/x2206.html
new file mode 100644
index 0000000..39d7063
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x2206.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Selecting the backup medium</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Backups"
+HREF="c2187.html"><LINK
+REL="PREVIOUS"
+TITLE="Backups"
+HREF="c2187.html"><LINK
+REL="NEXT"
+TITLE="Selecting the backup tool"
+HREF="x2216.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="c2187.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 10. Backups</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2216.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2206"
+>Selecting the backup medium</A
+></H1
+><P
+> The most important decision regarding backups is the choice
+ of backup medium. You need to consider cost, reliability, speed,
+ availability, and usability. </P
+><P
+> Cost is important, since you should preferably have
+ several times more backup storage than what you need for the data.
+ A cheap medium is usually a must. </P
+><P
+> Reliability is extremely important, since a broken
+ backup can make a grown man cry. A backup medium must be able
+ to hold data without corruption for years. The way you use the
+ medium affects it reliability as a backup medium. A hard disk
+ is typically very reliable, but as a backup medium it is not
+ very reliable, if it is in the same computer as the disk you
+ are backing up. </P
+><P
+> Speed is usually not very important, if backups can be done
+ without interaction. It doesn't matter if a backup takes two
+ hours, as long as it needs no supervision. On the other hand,
+ if the backup can't be done when the computer would otherwise
+ be idle, then speed is an issue. </P
+><P
+> Availability is obviously necessary, since you can't
+ use a backup medium if it doesn't exist. Less obvious is the
+ need for the medium to be available even in the future, and on
+ computers other than your own. Otherwise you may not be able
+ to restore your backups after a disaster. </P
+><P
+> Usability is a large factor in how often backups are made.
+ The easier it is to make backups, the better. A backup medium
+ mustn't be hard or boring to use. </P
+><P
+> The typical alternatives are floppies and tapes.
+ Floppies are very cheap, fairly reliable, not very fast,
+ very available, but not very usable for large amounts of data.
+ Tapes are cheap to somewhat expensive, fairly reliable, fairly
+ fast, quite available, and, depending on the size of the tape,
+ quite comfortable. </P
+><P
+> There are other alternatives. They are usually not very
+ good on availability, but if that is not a problem, they can
+ be better in other ways. For example, magneto-optical disks
+ can have good sides of both floppies (they're random access,
+ making restoration of a single file quick) and tapes (contain
+ a lot of data). </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="c2187.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2216.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Backups</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c2187.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Selecting the backup tool</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x2216.html b/sag-0.6.1-www/sag-0.6.1.html/x2216.html
new file mode 100644
index 0000000..d64dca4
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x2216.html
@@ -0,0 +1,226 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Selecting the backup tool</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Backups"
+HREF="c2187.html"><LINK
+REL="PREVIOUS"
+TITLE="Selecting the backup medium"
+HREF="x2206.html"><LINK
+REL="NEXT"
+TITLE="Simple backups"
+HREF="x2240.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2206.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 10. Backups</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2240.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2216"
+>Selecting the backup tool</A
+></H1
+><P
+> There are many tools that can be used to make
+ backups. The traditional UNIX tools used for backups
+ are <B
+CLASS="COMMAND"
+>tar</B
+>, <B
+CLASS="COMMAND"
+>cpio</B
+>, and
+ <B
+CLASS="COMMAND"
+>dump</B
+>. In addition, there are large number
+ of third party packages (both freeware and commercial) that
+ can be used. The choice of backup medium can affect the choice
+ of tool. </P
+><P
+> <B
+CLASS="COMMAND"
+>tar</B
+> and <B
+CLASS="COMMAND"
+>cpio</B
+> are
+ similar, and mostly equivalent from a backup point of view.
+ Both are capable of storing files on tapes, and retrieving
+ files from them. Both are capable of using almost any media,
+ since the kernel device drivers take care of the low level
+ device handling and the devices all tend to look alike to user
+ level programs. Some UNIX versions of <B
+CLASS="COMMAND"
+>tar</B
+>
+ and <B
+CLASS="COMMAND"
+>cpio</B
+> may have problems with unusual files
+ (symbolic links, device files, files with very long pathnames, and
+ so on), but the Linux versions should handle all files correctly.
+ </P
+><P
+> <B
+CLASS="COMMAND"
+>dump</B
+> is different in that it reads
+ the filesystem directly and not via the filesystem. It is
+ also written specifically for backups; <B
+CLASS="COMMAND"
+>tar</B
+>
+ and <B
+CLASS="COMMAND"
+>cpio</B
+> are really for archiving files,
+ although they work for backups as well. </P
+><P
+> Reading the filesystem directly has some advantages.
+ It makes it possible to back files up without affecting their time
+ stamps; for <B
+CLASS="COMMAND"
+>tar</B
+> and <B
+CLASS="COMMAND"
+>cpio</B
+>,
+ you would have to mount the filesystem read-only first.
+ Directly reading the filesystem is also more effective, if
+ everything needs to be backed up, since it can be done with
+ much less disk head movement. The major disadvantage is that
+ it makes the backup program specific to one filesystem type;
+ the Linux <B
+CLASS="COMMAND"
+>dump</B
+> program understands the ext2
+ filesystem only. </P
+><P
+> <B
+CLASS="COMMAND"
+>dump</B
+> also directly supports
+ backup levels (which we'll be discussing below); with
+ <B
+CLASS="COMMAND"
+>tar</B
+> and <B
+CLASS="COMMAND"
+>cpio</B
+> this has to
+ be implemented with other tools. </P
+><P
+> A comparison of the third party backup tools is beyond
+ the scope of this book. The Linux Software Map lists many of
+ the freeware ones. </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2206.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2240.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Selecting the backup medium</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c2187.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Simple backups</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x2240.html b/sag-0.6.1-www/sag-0.6.1.html/x2240.html
new file mode 100644
index 0000000..da40352
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x2240.html
@@ -0,0 +1,493 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Simple backups</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Backups"
+HREF="c2187.html"><LINK
+REL="PREVIOUS"
+TITLE="Selecting the backup tool"
+HREF="x2216.html"><LINK
+REL="NEXT"
+TITLE="Multilevel backups"
+HREF="x2315.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2216.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 10. Backups</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2315.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2240"
+>Simple backups</A
+></H1
+><P
+> A simple backup scheme is to back up everything once,
+ then back up everything that has been modified since the
+ previous backup. The first backup is called a <I
+CLASS="GLOSSTERM"
+>full
+ backup</I
+>, the subsequent ones are <I
+CLASS="GLOSSTERM"
+>incremental
+ backups</I
+>. A full backup is often more laborius
+ than incremental ones, since there is more data to write to the
+ tape and a full backup might not fit onto one tape (or floppy).
+ Restoring from incremental backups can be many times more work
+ than from a full one. Restoration can be optimized so that
+ you always back up everything since the previous full backup;
+ this way, backups are a bit more work, but there should never
+ be a need to restore more than a full backup and an incremental
+ backup. </P
+><P
+> If you want to make backups every day and have six
+ tapes, you could use tape~1 for the first full backup (say, on
+ a Friday), and tapes 2 to 5 for the incremental backups (Monday
+ through Thursday). Then you make a new full backup on tape 6
+ (second Friday), and start doing incremental ones with tapes 2
+ to 5 again. You don't want to overwrite tape 1 until you've got
+ a new full backup, lest something happens while you're making
+ the full backup. After you've made a full backup to tape 6,
+ you want to keep tape 1 somewhere else, so that when your other
+ backup tapes are destroyed in the fire, you still have at least
+ something left. When you need to make the next full backup,
+ you fetch tape 1 and leave tape 6 in its place. </P
+><P
+> If you have more than six tapes, you can use the extra
+ ones for full backups. Each time you make a full backup, you
+ use the oldest tape. This way you can have full backups from
+ several previous weeks, which is good if you want to find an old,
+ now deleted file, or an old version of a file. </P
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN2247"
+>Making backups with <B
+CLASS="COMMAND"
+>tar</B
+></A
+></H2
+><P
+> A full backup can easily be made with <B
+CLASS="COMMAND"
+>tar</B
+>:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>#</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>tar --create --file /dev/ftape /usr/src</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>tar: Removing leading / from absolute path names in the archive</TT
+>
+<TT
+CLASS="PROMPT"
+>#</TT
+></PRE
+>
+
+ The example above uses the GNU version of <B
+CLASS="COMMAND"
+>tar</B
+>
+ and its long option names. The traditional version of
+ <B
+CLASS="COMMAND"
+>tar</B
+> only understands single character
+ options. The GNU version can also handle backups that don't
+ fit on one tape or floppy, and also very long paths; not all
+ traditional versions can do these things. (Linux only uses
+ GNU <B
+CLASS="COMMAND"
+>tar</B
+>.) </P
+><P
+> If your backup doesn't fit on one tape, you need to use
+ the <SPAN
+CLASS="OPTION"
+>--multi-volume</SPAN
+> (<SPAN
+CLASS="OPTION"
+>-M</SPAN
+>) option:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>#</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>tar -cMf /dev/fd0H1440 /usr/src</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>tar: Removing leading / from absolute path names in the archive
+Prepare volume \#2 for /dev/fd0H1440 and hit return:</TT
+>
+<TT
+CLASS="PROMPT"
+>#</TT
+></PRE
+>
+
+ Note that you should format the floppies before you begin the
+ backup, or else use another window or virtual terminal and do
+ it when <B
+CLASS="COMMAND"
+>tar</B
+> asks for a new floppy. </P
+><P
+> After you've made a backup, you should check that it is OK,
+ using the <SPAN
+CLASS="OPTION"
+>--compare</SPAN
+> (<SPAN
+CLASS="OPTION"
+>-d</SPAN
+>) option:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>#</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>tar --compare --verbose -f /dev/ftape</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>usr/src/
+usr/src/linux
+usr/src/linux-1.2.10-includes/
+....</TT
+>
+<TT
+CLASS="PROMPT"
+>#</TT
+></PRE
+>
+
+ Failing to check a backup means that you will not notice that your
+ backups aren't working until after you've lost the original data.
+ </P
+><P
+> An incremental backup can be done with
+ <B
+CLASS="COMMAND"
+>tar</B
+> using the <SPAN
+CLASS="OPTION"
+>--newer</SPAN
+>
+ (<SPAN
+CLASS="OPTION"
+>-N</SPAN
+>) option:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>#</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>tar --create --newer '8 Sep 1995' --file /dev/ftape /usr/src --verbose</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>tar: Removing leading / from absolute path names in the archive
+usr/src/
+usr/src/linux-1.2.10-includes/
+usr/src/linux-1.2.10-includes/include/
+usr/src/linux-1.2.10-includes/include/linux/
+usr/src/linux-1.2.10-includes/include/linux/modules/
+usr/src/linux-1.2.10-includes/include/asm-generic/
+usr/src/linux-1.2.10-includes/include/asm-i386/
+usr/src/linux-1.2.10-includes/include/asm-mips/
+usr/src/linux-1.2.10-includes/include/asm-alpha/
+usr/src/linux-1.2.10-includes/include/asm-m68k/
+usr/src/linux-1.2.10-includes/include/asm-sparc/
+usr/src/patch-1.2.11.gz</TT
+>
+<TT
+CLASS="PROMPT"
+>#</TT
+></PRE
+>
+
+ Unfortunately, <B
+CLASS="COMMAND"
+>tar</B
+> can't notice when a file's
+ inode information has changed, for example, that it's permission
+ bits have been changed, or when its name has been changed.
+ This can be worked around using <B
+CLASS="COMMAND"
+>find</B
+> and
+ comparing current filesystem state with lists of files that have
+ been previously backed up. Scripts and programs for doing this
+ can be found on Linux ftp sites. </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN2288"
+>Restoring files with <B
+CLASS="COMMAND"
+>tar</B
+></A
+></H2
+><P
+> The <SPAN
+CLASS="OPTION"
+>--extract</SPAN
+> (<SPAN
+CLASS="OPTION"
+>-x</SPAN
+>)
+ option for <B
+CLASS="COMMAND"
+>tar</B
+> extracts files:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>#</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>tar --extract --same-permissions --verbose --file /dev/fd0H1440</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>usr/src/
+usr/src/linux
+usr/src/linux-1.2.10-includes/
+usr/src/linux-1.2.10-includes/include/
+usr/src/linux-1.2.10-includes/include/linux/
+usr/src/linux-1.2.10-includes/include/linux/hdreg.h
+usr/src/linux-1.2.10-includes/include/linux/kernel.h
+...</TT
+>
+<TT
+CLASS="PROMPT"
+>#</TT
+></PRE
+>
+
+ You also extract only specific files or directories (which
+ includes all their files and subdirectories) by naming on the
+ command line:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>#</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>tar xpvf /dev/fd0H1440 usr/src/linux-1.2.10-includes/include/linux/hdreg.h</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>usr/src/linux-1.2.10-includes/include/linux/hdreg.h</TT
+>
+<TT
+CLASS="PROMPT"
+>#</TT
+></PRE
+>
+
+ Use the <SPAN
+CLASS="OPTION"
+>--list</SPAN
+> (<SPAN
+CLASS="OPTION"
+>-t</SPAN
+>) option,
+ if you just want to see what files are on a backup volume:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>#</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>tar --list --file /dev/fd0H1440</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>usr/src/
+usr/src/linux
+usr/src/linux-1.2.10-includes/
+usr/src/linux-1.2.10-includes/include/
+usr/src/linux-1.2.10-includes/include/linux/
+usr/src/linux-1.2.10-includes/include/linux/hdreg.h
+usr/src/linux-1.2.10-includes/include/linux/kernel.h
+...</TT
+>
+<TT
+CLASS="PROMPT"
+>#</TT
+></PRE
+>
+
+ Note that <B
+CLASS="COMMAND"
+>tar</B
+> always reads the backup volume
+ sequentially, so for large volumes it is rather slow. It is not
+ possible, however, to use random access database techniques when
+ using a tape drive or some other sequential medium. </P
+><P
+> <B
+CLASS="COMMAND"
+>tar</B
+> doesn't handle deleted files
+ properly. If you need to restore a filesystem from a full and
+ an incremental backup, and you have deleted a file between
+ the two backups, it will exist again after you have done the
+ restore. This can be a big problem, if the file has sensitive
+ data that should no longer be available. </P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2216.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2315.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Selecting the backup tool</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c2187.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Multilevel backups</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x2315.html b/sag-0.6.1-www/sag-0.6.1.html/x2315.html
new file mode 100644
index 0000000..334111b
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x2315.html
@@ -0,0 +1,474 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Multilevel backups</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Backups"
+HREF="c2187.html"><LINK
+REL="PREVIOUS"
+TITLE="Simple backups"
+HREF="x2240.html"><LINK
+REL="NEXT"
+TITLE="What to back up"
+HREF="x2405.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2240.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 10. Backups</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2405.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2315"
+>Multilevel backups</A
+></H1
+><P
+> The simple backup method outlined in the previous section
+ is often quite adequate for personal use or small sites. For more
+ heavy duty use, multilevel backups are more appropriate. </P
+><P
+> The simple method has two backup levels: full and
+ incremental backups. This can be generalized to any number of
+ levels. A full backup would be level 0, and the different levels
+ of incremental backups levels 1, 2, 3, etc. At each incremental
+ backup level you back up everything that has changed since the
+ previous backup at the same or a previous level. </P
+><P
+> The purpose for doing this is that it allows a longer
+ <I
+CLASS="GLOSSTERM"
+>backup history</I
+> cheaply. In the example in
+ the previous section, the backup history went back to the previous
+ full backup. This could be extended by having more tapes, but
+ only a week per new tape, which might be too expensive. A longer
+ backup history is useful, since deleted or corrupted files are
+ often not noticed for a long time. Even a version of a file that
+ is not very up to date is better than no file at all. </P
+><P
+> With multiple levels the backup history can be extended
+ more cheaply. For example, if we buy ten tapes, we could use
+ tapes 1 and 2 for monthly backups (first Friday each month),
+ tapes 3 to 6 for weekly backups (other Fridays; note that there
+ can be five Fridays in one month, so we need four more tapes),
+ and tapes 7 to 10 for daily backups (Monday to Thursday).
+ With only four more tapes, we've been able to extend the backup
+ history from two weeks (after all daily tapes have been used)
+ to two months. It is true that we can't restore every version
+ of each file during those two months, but what we can restore
+ is often good enough. </P
+><P
+><A
+HREF="x2315.html#BACKUP-HISTORY-TIMELINE"
+>Figure 10-1</A
+> shows which backup
+ level is used each day, and which backups can be restored from
+ at the end of the month. </P
+><DIV
+CLASS="FIGURE"
+><P
+><B
+><A
+NAME="BACKUP-HISTORY-TIMELINE"
+>Figure 10-1. A sample multilevel backup schedule.</A
+></B
+></P
+><P
+><IMG
+SRC="backup-timeline.gif"></P
+></DIV
+><P
+> Backup levels can also be used to keep filesystem
+ restoration time to a minimum. If you have many incremental
+ backups with monotonously growing level numbers, you need to
+ restore all of them if you need to rebuild the whole filesystem.
+ Instead you can use level numbers that aren't monotonous, and
+ keep down the number of backups to restore. </P
+><P
+> To minimize the number of tapes needed to restore, you
+ could use a smaller level for each incremental tape. However,
+ then the time to make the backups increases (each backup copies
+ everything since the previous full backup). A better scheme is
+ suggested by the <B
+CLASS="COMMAND"
+>dump</B
+> manual page and described
+ by the table XX (efficient-backup-levels). Use the following
+ succession of backup levels: 3, 2, 5, 4, 7, 6, 9, 8, 9, etc.
+ This keeps both the backup and restore times low. The most you
+ have to backup is two day's worth of work. The number of tapes
+ for a restore depends on how long you keep between full backups,
+ but it is less than in the simple schemes. </P
+><DIV
+CLASS="TABLE"
+><P
+><B
+><A
+NAME="EFFICIENT-BACKUP-LEVELS"
+>Table 10-1. Efficient backup scheme using many backup levels</A
+></B
+></P
+><TABLE
+BORDER="1"
+CLASS="CALSTABLE"
+><TR
+><TH
+ALIGN="LEFT"
+VALIGN="TOP"
+>Tape</TH
+><TH
+ALIGN="LEFT"
+VALIGN="TOP"
+>Level</TH
+><TH
+ALIGN="LEFT"
+VALIGN="TOP"
+>Backup (days)</TH
+><TH
+ALIGN="LEFT"
+VALIGN="TOP"
+>Restore tapes</TH
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>0</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>n/a</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>2</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>3</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1, 2</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>3</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>2</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>2</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1, 3</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>4</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>5</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1, 2, 4</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>5</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>4</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>2</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1, 2, 5</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>6</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>7</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1, 2, 5, 6</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>7</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>6</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>2</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1, 2, 5, 7</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>8</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>9</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1, 2, 5, 7, 8</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>9</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>8</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>2</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1, 2, 5, 7, 9</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>10</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>9</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1, 2, 5, 7, 9, 10</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>11</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>9</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1, 2, 5, 7, 9, 10, 11</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>...</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>9</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1, 2, 5, 7, 9, 10, 11, ...</TD
+></TR
+></TABLE
+></DIV
+><P
+> A fancy scheme can reduce the amount of labor needed, but
+ it does mean there are more things to keep track of. You must
+ decide if it is worth it. </P
+><P
+> <B
+CLASS="COMMAND"
+>dump</B
+> has built-in support for backup
+ levels. For <B
+CLASS="COMMAND"
+>tar</B
+> and <B
+CLASS="COMMAND"
+>cpio</B
+>
+ it must be implemented with shell scripts. </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2240.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2405.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Simple backups</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c2187.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>What to back up</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x2405.html b/sag-0.6.1-www/sag-0.6.1.html/x2405.html
new file mode 100644
index 0000000..451495e
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x2405.html
@@ -0,0 +1,202 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>What to back up</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Backups"
+HREF="c2187.html"><LINK
+REL="PREVIOUS"
+TITLE="Multilevel backups"
+HREF="x2315.html"><LINK
+REL="NEXT"
+TITLE="Compressed backups"
+HREF="x2417.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2315.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 10. Backups</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2417.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2405"
+>What to back up</A
+></H1
+><P
+> You want to back up as much as possible. The major
+ exception is software that can be easily reinstalled,
+
+ <A
+NAME="AEN2408"
+HREF="#FTN.AEN2408"
+>[1]</A
+>
+
+ but even they may have configuration files that it is
+ important to back up, lest you need to do all the work to
+ configure them all over again. Another major exception is
+ the <TT
+CLASS="FILENAME"
+>/proc</TT
+> filesystem; since that only
+ contains data that the kernel always generates automatically,
+ it is never a good idea to back it up. Expecially the
+ <TT
+CLASS="FILENAME"
+>/proc/kcore</TT
+> file is unnecessary, since it
+ is just an image of your current physical memory; it's pretty
+ large as well. </P
+><P
+> Gray areas include the news spool, log files, and many
+ other things in <TT
+CLASS="FILENAME"
+>/var</TT
+>. You must decide what
+ you consider important. </P
+><P
+> The obvious things to back up are user files
+ (<TT
+CLASS="FILENAME"
+>/home</TT
+>) and system configuration files
+ (<TT
+CLASS="FILENAME"
+>/etc</TT
+>, but possibly other things scattered
+ all over the filesystem). </P
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN2408"
+HREF="x2405.html#AEN2408"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>You get to decide what's easy.
+ Some people consider installing from dozens of floppies
+ easy.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2315.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2417.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Multilevel backups</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c2187.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Compressed backups</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x2417.html b/sag-0.6.1-www/sag-0.6.1.html/x2417.html
new file mode 100644
index 0000000..5d01dd0
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x2417.html
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Compressed backups</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Backups"
+HREF="c2187.html"><LINK
+REL="PREVIOUS"
+TITLE="What to back up"
+HREF="x2405.html"><LINK
+REL="NEXT"
+TITLE="Keeping Time"
+HREF="c2432.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2405.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 10. Backups</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="c2432.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2417"
+>Compressed backups</A
+></H1
+><P
+> Backups take a lot of space, which can cost quite
+ a lot of money. To reduce the space needed, the backups
+ can be compressed. There are several ways of doing this.
+ Some programs have support for for compression built in; for
+ example, the <SPAN
+CLASS="OPTION"
+>--gzip</SPAN
+> (<SPAN
+CLASS="OPTION"
+>-z</SPAN
+>)
+ option for GNU <B
+CLASS="COMMAND"
+>tar</B
+> pipes the whole backup
+ through the <B
+CLASS="COMMAND"
+>gzip</B
+> compression program, before
+ writing it to the backup medium. </P
+><P
+> Unfortunately, compressed backups can cause trouble.
+ Due to the nature of how compression works, if a single bit is
+ wrong, all the rest of the compressed data will be unusable.
+ Some backup programs have some built in error correction, but no
+ method can handle a large number of errors. This means that if
+ the backup is compressed the way GNU <B
+CLASS="COMMAND"
+>tar</B
+> does
+ it, with the whole output compressed as a unit, a single error
+ makes all the rest of the backup lost. Backups must be reliable,
+ and this method of compression is not a good idea. </P
+><P
+> An alternative way is to compress each file separately.
+ This still means that the one file is lost, but all other files
+ are unharmed. The lost file would have been corrupted anyway,
+ so this situation is not much worse than not using compression
+ at all. The <B
+CLASS="COMMAND"
+>afio</B
+> program (a variant of
+ <B
+CLASS="COMMAND"
+>cpio</B
+>) can do this. </P
+><P
+> Compression takes some time, which may make the backup program
+ unable to write data fast enough for a tape drive.
+
+ <A
+NAME="AEN2430"
+HREF="#FTN.AEN2430"
+>[1]</A
+>
+
+ This can be avoided by buffering the output (either internally, if
+ the backup program if smart enough, or by using another program),
+ but even that might not work well enough. This should only be
+ a problem on slow computers. </P
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN2430"
+HREF="x2417.html#AEN2430"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>If a tape drive doesn't data fast enough,
+ it has to stop; this makes backups even slower, and can
+ be bad for the tape and the drive.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2405.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="c2432.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>What to back up</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c2187.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Keeping Time</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x2451.html b/sag-0.6.1-www/sag-0.6.1.html/x2451.html
new file mode 100644
index 0000000..d03cfa5
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x2451.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>The hardware and software clocks</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Keeping Time"
+HREF="c2432.html"><LINK
+REL="PREVIOUS"
+TITLE="Keeping Time"
+HREF="c2432.html"><LINK
+REL="NEXT"
+TITLE="Showing and setting time"
+HREF="x2457.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="c2432.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 11. Keeping Time</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2457.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2451"
+>The hardware and software clocks</A
+></H1
+><P
+> A personal computer has a battery driven hardware clock.
+ The battery ensures that the clock will work even if the rest of
+ the computer is without electricity. The hardware clock can be
+ set from the BIOS setup screen or from whatever operating system
+ is running. </P
+><P
+> The Linux kernel keeps track of time independently from
+ the hardware clock. During the boot, Linux sets its own clock
+ to the same time as the hardware clock. After this, both clocks
+ run independently. Linux maintains its own clock because looking
+ at the hardware is slow and complicated. </P
+><P
+> The kernel clock always shows universal time. This way,
+ the kernel does not need to know about time zones at all. The
+ simplicity results in higher reliability and makes it easier
+ to update the time zone information. Each process handles time
+ zone conversions itself (using standard tools that are part of
+ the time zone package). </P
+><P
+> The hardware clock can be in local time or in universal
+ time. It is usually better to have it in universal time,
+ because then you don't need to change the hardware clock when
+ daylight savings time begins or ends (UTC does not have DST).
+ Unfortunately, some PC operating systems, including MS-DOS,
+ Windows, and OS/2, assume the hardware clock shows local time.
+ Linux can handle either, but if the hardware clock shows local
+ time, then it must be modified when daylight savings time begins
+ or ends (otherwise it wouldn't show local time). </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="c2432.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2457.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Keeping Time</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c2432.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Showing and setting time</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x2457.html b/sag-0.6.1-www/sag-0.6.1.html/x2457.html
new file mode 100644
index 0000000..427c375
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x2457.html
@@ -0,0 +1,354 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Showing and setting time</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Keeping Time"
+HREF="c2432.html"><LINK
+REL="PREVIOUS"
+TITLE="The hardware and software clocks"
+HREF="x2451.html"><LINK
+REL="NEXT"
+TITLE="When the clock is wrong"
+HREF="x2504.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2451.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 11. Keeping Time</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2504.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2457"
+>Showing and setting time</A
+></H1
+><P
+> In the Debian system, the system time zone is determined
+ by the symbolic link <TT
+CLASS="FILENAME"
+>/etc/localtime</TT
+>.
+ This link points at a time zone data file that describes
+ the local time zone. The time zone data files are stored in
+ <TT
+CLASS="FILENAME"
+>/usr/lib/zoneinfo</TT
+>. Other Linux distributions
+ may do this differently. </P
+><P
+> A user can change his private time zone by setting the
+ TZ environment variable. If it is unset, the system time zone
+ is assumed. The syntax of the TZ variable is described in the
+ <TT
+CLASS="FUNCTION"
+>tzset</TT
+> manual page. </P
+><P
+> The <B
+CLASS="COMMAND"
+>date</B
+> command shows the current date and
+ time.
+
+ <A
+NAME="AEN2466"
+HREF="#FTN.AEN2466"
+>[1]</A
+>
+
+ For example:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>date</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Sun Jul 14 21:53:41 EET DST 1996</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ That time is Sunday, 14th of July, 1996, at about ten before
+ ten at the evening, in the time zone called ``EET DST''
+ (which might be East European Daylight Savings Time).
+ <B
+CLASS="COMMAND"
+>date</B
+> can also show the univeral time:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>date -u</B
+></TT
+>
+Sun Jul 14 18:53:42 UTC 1996
+<TT
+CLASS="COMPUTEROUTPUT"
+>Sun Jul 14 18:53:42 UTC 1996</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ <B
+CLASS="COMMAND"
+>date</B
+> is also used to set the kernel's software
+ clock:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>#</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>date 07142157</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Sun Jul 14 21:57:00 EET DST 1996</TT
+>
+<TT
+CLASS="PROMPT"
+>#</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>date</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Sun Jul 14 21:57:02 EET DST 1996</TT
+>
+<TT
+CLASS="PROMPT"
+>#</TT
+></PRE
+>
+
+ See the <B
+CLASS="COMMAND"
+>date</B
+> manual page for more details;
+ the syntax is a bit arcane. Only root can set the time.
+ While each user can have his own time zone, the clock is the
+ same for everyone. </P
+><P
+> <B
+CLASS="COMMAND"
+>date</B
+> only shows or sets the software
+ clock. The <B
+CLASS="COMMAND"
+>clock</B
+> commands syncronizes
+ the hardware and software clocks. It is used when the system
+ boots, to read the hardware clock and set the software clock.
+ If you need to set both clocks, you first set the software clock
+ with <B
+CLASS="COMMAND"
+>date</B
+>, and then the hardware clock with
+ <B
+CLASS="COMMAND"
+>clock -w</B
+>. </P
+><P
+> The <SPAN
+CLASS="OPTION"
+>-u</SPAN
+> option to <B
+CLASS="COMMAND"
+>clock</B
+>
+ tells it that the hardware clock is in universal time.
+ You <I
+CLASS="EMPHASIS"
+>must</I
+> use the <SPAN
+CLASS="OPTION"
+>-u</SPAN
+>
+ option correctly. If you don't, your computer will be quite
+ confused about what the time is. </P
+><P
+> The clocks should be changed with care. Many parts of a
+ Unix system require the clocks to work correctly. For example,
+ the <B
+CLASS="COMMAND"
+>cron</B
+> daemon runs commands periodically.
+ If you change the clock, it can be confused of whether
+ it needs to run the commands or not. On one early Unix
+ system, someone set the clock twenty years into the future,
+ and <B
+CLASS="COMMAND"
+>cron</B
+> wanted to run all the periodic
+ commands for twenty years all at once. Current versions of
+ <B
+CLASS="COMMAND"
+>cron</B
+> can handle this correctly, but you should
+ still be careful. Big jumps or backward jumps are more dangeours
+ than smaller or forward ones. </P
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN2466"
+HREF="x2457.html#AEN2466"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Beware of the <B
+CLASS="COMMAND"
+>time</B
+> command, which does
+ not show the current time.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2451.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2504.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>The hardware and software clocks</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c2432.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>When the clock is wrong</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x2504.html b/sag-0.6.1-www/sag-0.6.1.html/x2504.html
new file mode 100644
index 0000000..5611eea
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x2504.html
@@ -0,0 +1,180 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>When the clock is wrong</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Keeping Time"
+HREF="c2432.html"><LINK
+REL="PREVIOUS"
+TITLE="Showing and setting time"
+HREF="x2457.html"><LINK
+REL="NEXT"
+TITLE="Glossary (DRAFT)"
+HREF="g2516.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2457.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 11. Keeping Time</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="g2516.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2504"
+>When the clock is wrong</A
+></H1
+><P
+> The Linux software clock is not always accurate. It is
+ kept running by a periodic <I
+CLASS="GLOSSTERM"
+>timer interrupt</I
+>
+ generated by PC hardware. If the system has too many processes
+ running, it may take too long to service the timer interrupt, and
+ the software clock starts slipping behind. The hardware clock
+ runs independently and is usually more accurate. If you boot
+ your computer often (as is the case for most systems that aren't
+ servers), it will usually keep fairly accurate time. </P
+><P
+> If you need to adjust the hardware clock, it is usually
+ simplest to reboot, go into the BIOS setup screen, and do it
+ from there. This avoids all trouble that changing system time
+ might cause. If doing it via BIOS is not an option, set the new
+ time with <B
+CLASS="COMMAND"
+>date</B
+> and <B
+CLASS="COMMAND"
+>clock</B
+>
+ (in that order), but be prepared to reboot, if some part of the
+ system starts acting funny. </P
+><P
+> A networked computer (even if just over the modem) can
+ check its own clock automatically, by comparing it to some other
+ computer's time. If the other computer is known to keep very
+ accurate time, then both computers will keep accurate time.
+ This can be done by using the <B
+CLASS="COMMAND"
+>rdate</B
+> and
+ <B
+CLASS="COMMAND"
+>netdate</B
+> commands. Both check the time of a
+ remote computer (<B
+CLASS="COMMAND"
+>netdate</B
+> can handle several
+ remote computers), and set the local computer's time to that.
+ By running one these commands regularly, your computer will keep
+ as accurate time as the remote computer. </P
+><P
+> XXX say something intelligent about NTP </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2457.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="g2516.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Showing and setting time</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c2432.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Glossary (DRAFT)</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x267.html b/sag-0.6.1-www/sag-0.6.1.html/x267.html
new file mode 100644
index 0000000..9b0cf50
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x267.html
@@ -0,0 +1,338 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>The root filesystem</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Overview of the Directory Tree"
+HREF="c212.html"><LINK
+REL="PREVIOUS"
+TITLE="Overview of the Directory Tree"
+HREF="c212.html"><LINK
+REL="NEXT"
+TITLE="The /etc directory"
+HREF="x338.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="c212.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 3. Overview of the Directory Tree</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x338.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN267"
+>The root filesystem</A
+></H1
+><P
+>The root filesystem should generally be small, since
+ it contains very critical files and a small, infrequently
+ modified filesystem has a better chance of not getting corrupted.
+ A corrupted root filesystem will generally mean that the system
+ becomes unbootable except with special measures (e.g., from a
+ floppy), so you don't want to risk it.</P
+><P
+>The root directory generally doesn't contain any files, except
+ perhaps the standard boot image for the system, usually called
+ <TT
+CLASS="FILENAME"
+>/vmlinuz</TT
+>. All other files are in subdirectories in the
+ root filesystems:
+
+ <DIV
+CLASS="GLOSSLIST"
+><DL
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/bin</TT
+></B
+></DT
+><DD
+><P
+>Commands needed during bootup
+ that might be used by normal users (probably after
+ bootup).</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/sbin</TT
+></B
+></DT
+><DD
+><P
+>Like <TT
+CLASS="FILENAME"
+>/bin</TT
+>,
+ but the commands are not intended for normal
+ users, although they may use them if necessary and
+ allowed.</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc</TT
+></B
+></DT
+><DD
+><P
+>Configuration files specific to the
+ machine.</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/root</TT
+></B
+></DT
+><DD
+><P
+>The home directory for user
+ \texttt{root}.</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/lib</TT
+></B
+></DT
+><DD
+><P
+>Shared libraries needed by the programs
+ on the root filesystem.</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/lib/modules</TT
+></B
+></DT
+><DD
+><P
+>Loadable kernel modules, especially
+ those that are needed to boot the system when
+ recovering from disasters (e.g., network and filesystem
+ drivers).</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/dev</TT
+></B
+></DT
+><DD
+><P
+>Device files.</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/tmp</TT
+></B
+></DT
+><DD
+><P
+>Temporary files. Programs running after
+ bootup should use <TT
+CLASS="FILENAME"
+>/var/tmp</TT
+>, not
+ <TT
+CLASS="FILENAME"
+>/tmp</TT
+>, since the former is probably
+ on a disk with more space.</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/boot</TT
+></B
+></DT
+><DD
+><P
+>Files used by the bootstrap loader,
+ e.g., LILO. Kernel images are often kept here instead
+ of in the root directory. If there are many kernel
+ images, the directory can easily grow rather big, and it
+ might be better to keep it in a separate filesystem.
+ Another reason would be to make sure the kernel
+ images are within the first 1024 cylinders of an IDE
+ disk.</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/mnt</TT
+></B
+></DT
+><DD
+><P
+>Mount point for temporary mounts by
+ the system administrator. Programs aren't supposed
+ to mount on <TT
+CLASS="FILENAME"
+>/mnt</TT
+> automatically.
+ <TT
+CLASS="FILENAME"
+>/mnt</TT
+> might be divided into
+ subdirectories (e.g., <TT
+CLASS="FILENAME"
+>/mnt/dosa</TT
+>
+ might be the floppy drive using an MS-DOS filesystem,
+ and <TT
+CLASS="FILENAME"
+>/mnt/exta</TT
+> might be the same
+ with an ext2 filesystem).</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc</TT
+>, <TT
+CLASS="FILENAME"
+>/usr</TT
+>, <TT
+CLASS="FILENAME"
+>/var</TT
+>, <TT
+CLASS="FILENAME"
+>/home</TT
+></B
+></DT
+><DD
+><P
+>Mount points for the other
+ filesystems.</P
+></DD
+></DL
+></DIV
+>
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="c212.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x338.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Overview of the Directory Tree</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c212.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>The <TT
+CLASS="FILENAME"
+>/etc</TT
+> directory</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x338.html b/sag-0.6.1-www/sag-0.6.1.html/x338.html
new file mode 100644
index 0000000..82b4d7f
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x338.html
@@ -0,0 +1,524 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>The /etc directory</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Overview of the Directory Tree"
+HREF="c212.html"><LINK
+REL="PREVIOUS"
+TITLE="The root filesystem"
+HREF="x267.html"><LINK
+REL="NEXT"
+TITLE="The /dev directory"
+HREF="x463.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x267.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 3. Overview of the Directory Tree</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x463.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN338"
+>The <TT
+CLASS="FILENAME"
+>/etc</TT
+> directory</A
+></H1
+><P
+>The <TT
+CLASS="FILENAME"
+>/etc</TT
+> directory contains a lot
+ of files. Some of them are described below. For others, you
+ should determine which program they belong to and read the manual
+ page for that program. Many networking configuration files are
+ in <TT
+CLASS="FILENAME"
+>/etc</TT
+> as well, and are described in the
+ <I
+CLASS="CITETITLE"
+>Networking Administrators' Guide</I
+>.
+
+ <DIV
+CLASS="GLOSSLIST"
+><DL
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/rc</TT
+> or <TT
+CLASS="FILENAME"
+>/etc/rc.d</TT
+> or <TT
+CLASS="FILENAME"
+>/etc/rc?.d</TT
+></B
+></DT
+><DD
+><P
+>Scripts or directories of scripts
+ to run at startup or when changing the run level.
+ See the chapter on <B
+CLASS="COMMAND"
+>init</B
+> for further
+ information. </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/passwd</TT
+></B
+></DT
+><DD
+><P
+>The user database, with fields giving
+ the username, real name, home directory, encrypted
+ password, and other information about each user.
+ The format is documented in the \man{passwd} manual page.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/fdprm</TT
+></B
+></DT
+><DD
+><P
+>Floppy disk parameter table.
+ Describes what different floppy disk formats look
+ like. Used by <B
+CLASS="COMMAND"
+>setfdprm</B
+>. See the
+ <B
+CLASS="COMMAND"
+>setfdprm</B
+> manual page for more
+ information. </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/fstab</TT
+></B
+></DT
+><DD
+><P
+>Lists the filesystems mounted
+ automatically at startup by the <B
+CLASS="COMMAND"
+>mount
+ -a</B
+> command (in <TT
+CLASS="FILENAME"
+>/etc/rc</TT
+>
+ or equivalent startup file). Under Linux, also contains
+ information about swap areas used automatically by
+ <B
+CLASS="COMMAND"
+>swapon -a</B
+>. See <A
+HREF="x1029.html#MOUNT-AND-UMOUNT"
+>the section called <I
+>Mounting and unmounting</I
+> in Chapter 4</A
+> and the
+ <B
+CLASS="COMMAND"
+>mount</B
+> manual page for more information.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/group</TT
+></B
+></DT
+><DD
+><P
+>Similar to
+ <TT
+CLASS="FILENAME"
+>/etc/passwd</TT
+>, but
+ describes groups instead of users. See the
+ <B
+CLASS="COMMAND"
+>group</B
+> manual page for more information.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/inittab</TT
+></B
+></DT
+><DD
+><P
+>Configuration file for
+ <B
+CLASS="COMMAND"
+>init</B
+>. </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/issue</TT
+></B
+></DT
+><DD
+><P
+>Output by <B
+CLASS="COMMAND"
+>getty</B
+> before
+ the login prompt. Usually contains a short description or
+ welcoming message to the system. The contents are up to
+ the system administrator. </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/magic</TT
+></B
+></DT
+><DD
+><P
+>The configuration file
+ for <B
+CLASS="COMMAND"
+>file</B
+>. Contains the
+ descriptions of various file formats based on
+ which <B
+CLASS="COMMAND"
+>file</B
+> guesses the type of
+ the file. See the <TT
+CLASS="FILENAME"
+>magic</TT
+> and
+ <B
+CLASS="COMMAND"
+>file</B
+> manual pages for more information.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/motd</TT
+></B
+></DT
+><DD
+><P
+>The message of the day, automatically
+ output after a successful login. Contents are up to the
+ system administrator. Often used for getting information
+ to every user, such as warnings about planned downtimes.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/mtab</TT
+></B
+></DT
+><DD
+><P
+>List of currently mounted filesystems.
+ Initially set up by the bootup scripts, and updated
+ automatically by the <B
+CLASS="COMMAND"
+>mount</B
+>
+ command. Used when a list of mounted filesystems is
+ needed, e.g., by the <B
+CLASS="COMMAND"
+>df</B
+> command.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/shadow</TT
+></B
+></DT
+><DD
+><P
+>Shadow password file on systems
+ with shadow password software installed.
+ Shadow passwords move the encrypted password
+ from <TT
+CLASS="FILENAME"
+>/etc/passwd</TT
+> into
+ <TT
+CLASS="FILENAME"
+>/etc/shadow</TT
+>; the latter is not
+ readable by anyone except root. This makes it harder
+ to crack passwords. </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/login.defs</TT
+></B
+></DT
+><DD
+><P
+>Configuration file for
+ the <B
+CLASS="COMMAND"
+>login</B
+> command.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/printcap</TT
+></B
+></DT
+><DD
+><P
+>Like <TT
+CLASS="FILENAME"
+>/etc/termcap</TT
+>,
+ but intended for printers. Different syntax.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/profile</TT
+>, <TT
+CLASS="FILENAME"
+>/etc/csh.login</TT
+>, <TT
+CLASS="FILENAME"
+>/etc/csh.cshrc</TT
+></B
+></DT
+><DD
+><P
+>Files executed at login or startup time
+ by the Bourne or C shells. These allow the system
+ administrator to set global defaults for all users.
+ See the manual pages for the respective shells.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/securetty</TT
+></B
+></DT
+><DD
+><P
+>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. </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/shells</TT
+></B
+></DT
+><DD
+><P
+>Lists trusted shells. The
+ <B
+CLASS="COMMAND"
+>chsh</B
+> command allows users to change
+ their login shell only to shells listed in this file.
+ <B
+CLASS="COMMAND"
+>ftpd</B
+>, the server process that provides
+ FTP services for a machine, will check that the user's
+ shell is listed in <TT
+CLASS="FILENAME"
+>/etc/shells</TT
+>
+ and will not let people log in unles the shell is
+ listed there. </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/etc/termcap</TT
+></B
+></DT
+><DD
+><P
+>The terminal capability database.
+ Describes by what ``escape sequences'' various terminals
+ can be controlled. Programs are written so that instead
+ of directly outputting an escape sequence that only
+ works on a particular brand of terminal, they look up
+ the correct sequence to do whatever it is they want to
+ do in <TT
+CLASS="FILENAME"
+>/etc/termcap</TT
+>. As a result
+ most programs work with most kinds of terminals.
+ See the <TT
+CLASS="FILENAME"
+>termcap</TT
+>, curs_termcap,
+ and <TT
+CLASS="FILENAME"
+>terminfo</TT
+> manual pages for
+ more information. </P
+></DD
+></DL
+></DIV
+>
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x267.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x463.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>The root filesystem</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c212.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>The <TT
+CLASS="FILENAME"
+>/dev</TT
+> directory</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x463.html b/sag-0.6.1-www/sag-0.6.1.html/x463.html
new file mode 100644
index 0000000..702ffe8
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x463.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>The /dev directory</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Overview of the Directory Tree"
+HREF="c212.html"><LINK
+REL="PREVIOUS"
+TITLE="The /etc directory"
+HREF="x338.html"><LINK
+REL="NEXT"
+TITLE="The /usr filesystem"
+HREF="x472.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x338.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 3. Overview of the Directory Tree</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x472.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN463"
+>The <TT
+CLASS="FILENAME"
+>/dev</TT
+> directory</A
+></H1
+><P
+>The <TT
+CLASS="FILENAME"
+>/dev</TT
+> directory contains
+ the special device files for all the devices. The device
+ files are named using special conventions; these are
+ described in the <I
+CLASS="CITETITLE"
+>Device list</I
+> (see
+ XXX). The device files are created during installation,
+ and later with the <B
+CLASS="COMMAND"
+>/dev/MAKEDEV</B
+> script.
+ The <B
+CLASS="COMMAND"
+>/dev/MAKEDEV.local</B
+> is a script written
+ by the system administrator that creates local-only device
+ files or links (i.e., those that are not part of the standard
+ <B
+CLASS="COMMAND"
+>MAKEDEV</B
+>, such as device files for some
+ non-standard device driver).</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x338.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x472.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>The <TT
+CLASS="FILENAME"
+>/etc</TT
+> directory</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c212.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>The <TT
+CLASS="FILENAME"
+>/usr</TT
+> filesystem</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x472.html b/sag-0.6.1-www/sag-0.6.1.html/x472.html
new file mode 100644
index 0000000..d983633
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x472.html
@@ -0,0 +1,315 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>The /usr filesystem</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Overview of the Directory Tree"
+HREF="c212.html"><LINK
+REL="PREVIOUS"
+TITLE="The /dev directory"
+HREF="x463.html"><LINK
+REL="NEXT"
+TITLE="The /var filesystem"
+HREF="x531.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x463.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 3. Overview of the Directory Tree</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x531.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN472"
+>The <TT
+CLASS="FILENAME"
+>/usr</TT
+> filesystem</A
+></H1
+><P
+>The <TT
+CLASS="FILENAME"
+>/usr</TT
+> filesystem is often
+ large, since all programs are installed there. All files
+ in <TT
+CLASS="FILENAME"
+>/usr</TT
+> usually come from a Linux
+ distribution; locally installed programs and other stuff goes
+ below <TT
+CLASS="FILENAME"
+>/usr/local</TT
+>. This makes it possible
+ to update the system from a new version of the distribution,
+ or even a completely new distribution, without having to
+ install all programs again. Some of the subdirectories of
+ <TT
+CLASS="FILENAME"
+>/usr</TT
+> are listed below (some of the less
+ important directories have been dropped; see the FSSTND for
+ more information).
+
+ <DIV
+CLASS="GLOSSLIST"
+><DL
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/usr/X11R6</TT
+></B
+></DT
+><DD
+><P
+>The X Window System, all files.
+ To simplify the development and installation of
+ X, the X files have not been integrated into the
+ rest of the system. There is a directory tree
+ below <TT
+CLASS="FILENAME"
+>/usr/X11R6</TT
+> similar
+ to that below <TT
+CLASS="FILENAME"
+>/usr</TT
+> itself.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/usr/X386</TT
+></B
+></DT
+><DD
+><P
+>Similar to
+ <TT
+CLASS="FILENAME"
+>/usr/X11R6</TT
+>, but for X11 Release 5.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/usr/bin</TT
+></B
+></DT
+><DD
+><P
+>Almost all user commands.
+ Some commands are in <TT
+CLASS="FILENAME"
+>/bin</TT
+>
+ or in <TT
+CLASS="FILENAME"
+>/usr/local/bin</TT
+>.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/usr/sbin</TT
+></B
+></DT
+><DD
+><P
+>System administration commands that are
+ not needed on the root filesystem, e.g., most server
+ programs. </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/usr/man</TT
+>, <TT
+CLASS="FILENAME"
+>/usr/info</TT
+>, <TT
+CLASS="FILENAME"
+>/usr/doc</TT
+></B
+></DT
+><DD
+><P
+>Manual pages, GNU Info documents, and
+ miscellaneous other documentation files, respectively.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/usr/include</TT
+></B
+></DT
+><DD
+><P
+>Header files for the C
+ programming language. This should actually be below
+ <TT
+CLASS="FILENAME"
+>/usr/lib</TT
+> for consistency, but the
+ tradition is overwhelmingly in support for this name.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/usr/lib</TT
+></B
+></DT
+><DD
+><P
+>Unchanging data files for programs and
+ subsystems, including some site-wide configuration
+ files. The name <TT
+CLASS="FILENAME"
+>lib</TT
+> comes from library;
+ originally libraries of programming subroutines
+ were stored in <TT
+CLASS="FILENAME"
+>/usr/lib</TT
+>.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/usr/local</TT
+></B
+></DT
+><DD
+><P
+>The place for locally installed software
+ and other files. </P
+></DD
+></DL
+></DIV
+></P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x463.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x531.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>The <TT
+CLASS="FILENAME"
+>/dev</TT
+> directory</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c212.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>The <TT
+CLASS="FILENAME"
+>/var</TT
+> filesystem</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x531.html b/sag-0.6.1-www/sag-0.6.1.html/x531.html
new file mode 100644
index 0000000..13eda2d
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x531.html
@@ -0,0 +1,342 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>The /var filesystem</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Overview of the Directory Tree"
+HREF="c212.html"><LINK
+REL="PREVIOUS"
+TITLE="The /usr filesystem"
+HREF="x472.html"><LINK
+REL="NEXT"
+TITLE="The /proc filesystem"
+HREF="x595.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x472.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 3. Overview of the Directory Tree</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x595.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN531"
+>The <TT
+CLASS="FILENAME"
+>/var</TT
+> filesystem</A
+></H1
+><P
+>The <TT
+CLASS="FILENAME"
+>/var</TT
+> contains data that is changed when the system is
+ running normally. It is specific for each system, i.e., not
+ shared over the network with other computers.
+
+ <DIV
+CLASS="GLOSSLIST"
+><DL
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/var/catman</TT
+></B
+></DT
+><DD
+><P
+>A cache for man pages that are formatted
+ on demand. The source for manual pages is usually
+ stored in <TT
+CLASS="FILENAME"
+>/usr/man/man*</TT
+>; some
+ manual pages might come with a pre-formatted version,
+ which is stored in <TT
+CLASS="FILENAME"
+>/usr/man/cat*</TT
+>.
+ Other manual pages need to be formatted when they are
+ first viewed; the formatted version is then stored
+ in <TT
+CLASS="FILENAME"
+>/var/man</TT
+> so that the next
+ person to view the same page won't have to wait for
+ it to be formatted. (<TT
+CLASS="FILENAME"
+>/var/catman</TT
+>
+ is often cleaned in the same way temporary directories
+ are cleaned.)</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/var/lib</TT
+></B
+></DT
+><DD
+><P
+>Files that change while the system is
+ running normally.</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/var/local</TT
+></B
+></DT
+><DD
+><P
+>Variable data for programs that are
+ installed in <TT
+CLASS="FILENAME"
+>/usr/local</TT
+> (i.e.,
+ programs that have been installed by the system
+ administrator). Note that even locally installed
+ programs should use the other <TT
+CLASS="FILENAME"
+>/var</TT
+>
+ directories if they are appropriate, e.g.,
+ <TT
+CLASS="FILENAME"
+>/var/lock</TT
+>.</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/var/lock</TT
+></B
+></DT
+><DD
+><P
+>Lock files. Many programs
+ follow a convention to create a lock file in
+ <TT
+CLASS="FILENAME"
+>/var/lock</TT
+> to indicate that they
+ are using a particular device or file. Other programs
+ will notice the lock file and won't attempt to use the
+ device or file.</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/var/log</TT
+></B
+></DT
+><DD
+><P
+>Log files from various
+ programs, especially <B
+CLASS="COMMAND"
+>login</B
+>
+ (<TT
+CLASS="FILENAME"
+>/var/log/wtmp</TT
+>, which logs all logins
+ and logouts into the system) and <B
+CLASS="COMMAND"
+>syslog</B
+>
+ (<TT
+CLASS="FILENAME"
+>/var/log/messages</TT
+>, where all
+ kernel and system program message are usually stored).
+ Files in <TT
+CLASS="FILENAME"
+>/var/log</TT
+> can often grow
+ indefinitely, and may require cleaning at regular
+ intervals.</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/var/run</TT
+></B
+></DT
+><DD
+><P
+>Files that contain information about the
+ system that is valid until the system is next booted.
+ For example, <TT
+CLASS="FILENAME"
+>/var/run/utmp</TT
+>
+ contains information about people currently logged
+ in.</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/var/spool</TT
+></B
+></DT
+><DD
+><P
+>Directories for mail,
+ news, printer queues, and other queued work.
+ Each different spool has its own subdirectory
+ below <TT
+CLASS="FILENAME"
+>/var/spool</TT
+>,
+ e.g., the mailboxes of the users are in
+ <TT
+CLASS="FILENAME"
+>/var/spool/mail</TT
+>.</P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/var/tmp</TT
+></B
+></DT
+><DD
+><P
+>Temporary files that are large
+ or that need to exist for a longer time than
+ what is allowed for <TT
+CLASS="FILENAME"
+>/tmp</TT
+>.
+ (Although the system administrator might not allow
+ very old files in <TT
+CLASS="FILENAME"
+>/var/tmp</TT
+>
+ either.)</P
+></DD
+></DL
+></DIV
+></P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x472.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x595.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>The <TT
+CLASS="FILENAME"
+>/usr</TT
+> filesystem</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c212.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>The <TT
+CLASS="FILENAME"
+>/proc</TT
+> filesystem</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x595.html b/sag-0.6.1-www/sag-0.6.1.html/x595.html
new file mode 100644
index 0000000..6a06c25
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x595.html
@@ -0,0 +1,425 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>The /proc filesystem</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Overview of the Directory Tree"
+HREF="c212.html"><LINK
+REL="PREVIOUS"
+TITLE="The /var filesystem"
+HREF="x531.html"><LINK
+REL="NEXT"
+TITLE="Using Disks and Other Storage Media"
+HREF="c701.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x531.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 3. Overview of the Directory Tree</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="c701.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN595"
+>The <TT
+CLASS="FILENAME"
+>/proc</TT
+> filesystem</A
+></H1
+><P
+>The <TT
+CLASS="FILENAME"
+>/proc</TT
+> filesystem contains
+ a illusionary filesystem. It does not exist on a disk.
+ Instead, the kernel creates it in memory. It is used to provide
+ information about the system (originally about processes, hence
+ the name). Some of the more important files and directories are
+ explained below. The <TT
+CLASS="FILENAME"
+>/proc</TT
+> filesystem is
+ described in more detail in the <TT
+CLASS="FILENAME"
+>proc</TT
+> manual page.
+
+ <DIV
+CLASS="GLOSSLIST"
+><DL
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/1</TT
+></B
+></DT
+><DD
+><P
+>A directory with information about
+ process number 1. Each process has a directory below
+ <TT
+CLASS="FILENAME"
+>/proc</TT
+> with the name being its process
+ identification number. </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/cpuinfo</TT
+></B
+></DT
+><DD
+><P
+>Information about the processor,
+ such as its type, make, model, and perfomance.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/devices</TT
+></B
+></DT
+><DD
+><P
+>List of device drivers configured into the
+ currently running kernel. </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/dma</TT
+></B
+></DT
+><DD
+><P
+>Shows which DMA channels are being used
+ at the moment. </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/filesystems</TT
+></B
+></DT
+><DD
+><P
+>Filesystems configured into the kernel.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/interrupts</TT
+></B
+></DT
+><DD
+><P
+>Shows which interrupts are
+ in use, and how many of each there have been.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/ioports</TT
+></B
+></DT
+><DD
+><P
+>Which I/O ports are in use at the moment.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/kcore</TT
+></B
+></DT
+><DD
+><P
+>An image of the physical memory of
+ the system. This is exactly the same size as your
+ physical memory, but does not really take up that much
+ memory; it is generated on the fly as programs access it.
+ (Remember: unless you copy it elsewhere, nothing under
+ <TT
+CLASS="FILENAME"
+>/proc</TT
+> takes up any disk space
+ at all.) </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/kmsg</TT
+></B
+></DT
+><DD
+><P
+>Messages output by the kernel.
+ These are also routed to <B
+CLASS="COMMAND"
+>syslog</B
+>.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/ksyms</TT
+></B
+></DT
+><DD
+><P
+>Symbol table for the kernel.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/loadavg</TT
+></B
+></DT
+><DD
+><P
+>The `load average' of the system; three
+ meaningless indicators of how much work the system has
+ to do at the moment. </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/meminfo</TT
+></B
+></DT
+><DD
+><P
+>Information about memory usage, both
+ physical and swap. </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/modules</TT
+></B
+></DT
+><DD
+><P
+>Which kernel modules are loaded at
+ the moment. </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/net</TT
+></B
+></DT
+><DD
+><P
+>Status information about network
+ protocols. </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/self</TT
+></B
+></DT
+><DD
+><P
+>A symbolic link to the process
+ directory of the program that is looking at
+ <TT
+CLASS="FILENAME"
+>/proc</TT
+>. When two processes look at
+ <TT
+CLASS="FILENAME"
+>/proc</TT
+>, they get different links.
+ This is mainly a convenience to make it easier
+ for programs to get at their process directory.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/stat</TT
+></B
+></DT
+><DD
+><P
+>Various statistics about the system, such
+ as the number of page faults since the system was booted.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/uptime</TT
+></B
+></DT
+><DD
+><P
+>The time the system has been up.
+ </P
+></DD
+><DT
+><B
+><TT
+CLASS="FILENAME"
+>/proc/version</TT
+></B
+></DT
+><DD
+><P
+>The kernel version.
+ </P
+></DD
+></DL
+></DIV
+></P
+><P
+>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 <B
+CLASS="COMMAND"
+>free</B
+>
+ program reads <TT
+CLASS="FILENAME"
+>/proc/meminfo</TT
+> and converts
+ the amounts given in bytes to kilobytes (and adds a little more
+ information, as well).</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x531.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="c701.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>The <TT
+CLASS="FILENAME"
+>/var</TT
+> filesystem</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c212.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Using Disks and Other Storage Media</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x747.html b/sag-0.6.1-www/sag-0.6.1.html/x747.html
new file mode 100644
index 0000000..1efe4a4
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x747.html
@@ -0,0 +1,406 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Hard disks</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Using Disks and Other Storage Media"
+HREF="c701.html"><LINK
+REL="PREVIOUS"
+TITLE="Using Disks and Other Storage Media"
+HREF="c701.html"><LINK
+REL="NEXT"
+TITLE="Floppies"
+HREF="x787.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="c701.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Using Disks and Other Storage Media</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x787.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN747"
+>Hard disks</A
+></H1
+><P
+>This subsection introduces terminology related to hard
+ disks. If you already know the terms and concepts, you can skip
+ this subsection.</P
+><P
+>See <A
+HREF="x747.html#HD-SCHEMATIC"
+>Figure 4-1</A
+> for a schematic picture
+ of the important parts in a hard disk. A hard disk consists of
+ one or more circular <I
+CLASS="GLOSSTERM"
+>platters</I
+>,
+
+ <A
+NAME="AEN753"
+HREF="#FTN.AEN753"
+>[1]</A
+>
+
+ of which either or both <I
+CLASS="GLOSSTERM"
+>surfaces</I
+> are coated
+ with a magnetic substance used for recording the data. For each
+ surface, there is a <I
+CLASS="GLOSSTERM"
+>read-write head</I
+> that
+ examines or alters the recorded data. The platters rotate on
+ a common axis; a typical rotation speed is 3600 rotations per
+ minute, although high-performance hard disks have higher speeds.
+ The heads move along the radius of the platters; this movement
+ combined with the rotation of the platters allows the head to
+ access all parts of the surfaces.</P
+><P
+>The processor (CPU) and the actual disk communicate through
+ a <I
+CLASS="GLOSSTERM"
+>disk controller</I
+>. This relieves the rest of the computer
+ from knowing how to use the drive, since the controllers for
+ different types of disks can be made to use the same interface
+ towards the rest of the computer. Therefore, the computer can
+ say just ``hey disk, gimme what I want'', instead of a long and
+ complex series of electric signals to move the head to the proper
+ location and waiting for the correct position to come under
+ the head and doing all the other unpleasant stuff necessary.
+ (In reality, the interface to the controller is still complex,
+ but much less so than it would otherwise be.) The controller
+ can also do some other stuff, such as caching, or automatic bad
+ sector replacement.</P
+><P
+>The above is usually all one needs to understand about the
+ hardware. There is also a bunch of other stuff, such as the
+ motor that rotates the platters and moves the heads, and the
+ electronics that control the operation of the mechanical
+ parts, but that is mostly not relevant for understanding the
+ working principle of a hard disk.</P
+><P
+>The surfaces are usually divided into concentric rings,
+ called <I
+CLASS="GLOSSTERM"
+>tracks</I
+>, and these in turn are
+ divided into <I
+CLASS="GLOSSTERM"
+>sectors</I
+>. This division
+ is used to specify locations on the hard disk and to allocate
+ disk space to files. To find a given place on the hard disk,
+ one might say ``surface 3, track 5, sector 7''. Usually the
+ number of sectors is the same for all tracks, but some hard disks
+ put more sectors in outer tracks (all sectors are of the same
+ physical size, so more of them fit in the longer outer tracks).
+ Typically, a sector will hold 512 bytes of data. The disk itself
+ can't handle smaller amounts of data than one sector.</P
+><DIV
+CLASS="FIGURE"
+><P
+><B
+><A
+NAME="HD-SCHEMATIC"
+>Figure 4-1. A schematic picture of a hard disk.</A
+></B
+></P
+><P
+><IMG
+SRC="hd-schematic.gif"></P
+></DIV
+><P
+>Each surface is divided into tracks (and sectors) in
+ the same way. This means that when the head for one surface
+ is on a track, the heads for the other surfaces are also on
+ the corresponding tracks. All the corresponding tracks taken
+ together are called a <I
+CLASS="GLOSSTERM"
+>cylinder</I
+>. It takes
+ time to move the heads from one track (cylinder) to another,
+ so by placing the data that is often accessed together (say, a
+ file) so that it is within one cylinder, it is not necessary to
+ move the heads to read all of it. This improves performance.
+ It is not always possible to place files like this; files
+ that are stored in several places on the disk are called
+ <I
+CLASS="GLOSSTERM"
+>fragmented</I
+>.</P
+><P
+>The number of surfaces (or heads, which is the same thing),
+ cylinders, and sectors vary a lot; the specification of the
+ number of each is called the <I
+CLASS="GLOSSTERM"
+>geometry</I
+> of a hard disk. The
+ geometry is usually stored in a special, battery-powered memory
+ location called the <I
+CLASS="GLOSSTERM"
+>CMOS RAM</I
+>, from where the operating
+ system can fetch it during bootup or driver initialization.</P
+><P
+>Unfortunately, the BIOS
+
+ <A
+NAME="AEN773"
+HREF="#FTN.AEN773"
+>[2]</A
+>
+
+ has a design limitation, which makes it
+ impossible to specify a track number that is larger than 1024 in
+ the CMOS RAM,
+ which is too little for a large hard disk. To overcome this,
+ the hard disk controller lies about the geometry, and
+ <I
+CLASS="GLOSSTERM"
+>translates the addresses</I
+> given by the computer into something
+ that fits reality. For example, a hard disk might have 8 heads,
+ 2048 tracks, and 35 sectors per track.
+
+ <A
+NAME="AEN776"
+HREF="#FTN.AEN776"
+>[3]</A
+>
+
+ Its controller could lie to the computer and claim that it
+ has 16 heads, 1024 tracks, and 35 sectors per track, thus not
+ exceeding the limit on tracks, and translates the address that
+ the computer gives it by halving the head number, and doubling
+ the track number. The math can be more complicated in reality,
+ because the numbers are not as nice as here (but again, the
+ details are not relevant for understanding the principle).
+ This translation distorts the operating system's view of how
+ the disk is organized, thus making it impractical to use the
+ all-data-on-one-cylinder trick to boost performance.</P
+><P
+>The translation is only a problem for IDE disks. SCSI disks
+ use a sequential sector number (i.e., the controller translates
+ a sequential sector number to a head, cylinder, and sector
+ triplet), and a completely different method for the CPU to talk
+ with the controller, so they are insulated from the problem.
+ Note, however, that the computer might not know the real geometry
+ of an SCSI disk either.</P
+><P
+>Since Linux often will not know the real geometry of a disk,
+ its filesystems don't even try to keep files within a single
+ cylinder. Instead, it tries to assign sequentially numbered
+ sectors to files, which almost always gives similar performance.
+ The issue is further complicated by on-controller caches, and
+ automatic prefetches done by the controller.</P
+><P
+>Each hard disk is represented by a separate device
+ file. There can (usually) be only two or four IDE hard
+ disks. These are known as <TT
+CLASS="FILENAME"
+>/dev/hda</TT
+>,
+ <TT
+CLASS="FILENAME"
+>/dev/hdb</TT
+>, <TT
+CLASS="FILENAME"
+>/dev/hdc</TT
+>,
+ and <TT
+CLASS="FILENAME"
+>/dev/hdd</TT
+>, respectively. SCSI
+ hard disks are known as <TT
+CLASS="FILENAME"
+>/dev/sda</TT
+>,
+ <TT
+CLASS="FILENAME"
+>/dev/sdb</TT
+>, and so on. Similar naming
+ conventions exist for other hard disk types; see XXX (device
+ list) for more information. Note that the device files for
+ the hard disks give access to the entire disk, with no regard
+ to partitions (which will be discussed below), and it's easy to
+ mess up the partitions or the data in them if you aren't careful.
+ The disks' device files are usually used only to get access to the
+ master boot record (which will also be discussed below).</P
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN753"
+HREF="x747.html#AEN753"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>The platters are made of a hard
+ substance, e.g., aluminium, which gives the hard disk
+ its name.</P
+></TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN773"
+HREF="x747.html#AEN773"
+>[2]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>The BIOS is some built-in software stored on
+ ROM chips. It takes care, among other things, of the
+ initial stages of booting.</P
+></TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN776"
+HREF="x747.html#AEN776"
+>[3]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>The numbers are completely
+ imaginary.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="c701.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x787.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Using Disks and Other Storage Media</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c701.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Floppies</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x787.html b/sag-0.6.1-www/sag-0.6.1.html/x787.html
new file mode 100644
index 0000000..11593f2
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x787.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Floppies</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Using Disks and Other Storage Media"
+HREF="c701.html"><LINK
+REL="PREVIOUS"
+TITLE="Hard disks"
+HREF="x747.html"><LINK
+REL="NEXT"
+TITLE="CD-ROM's"
+HREF="x801.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x747.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Using Disks and Other Storage Media</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x801.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN787"
+>Floppies</A
+></H1
+><P
+>A floppy disk consists of a flexible membrane covered on one
+ or both sides with similar magnetic substance as a hard disk.
+ The floppy disk itself doesn't have a read-write head, that is
+ included in the drive. A floppy corresponds to one platter in
+ a hard disk, but is removable and one drive can be used to
+ access different floppies, whereas the hard disk is one
+ indivisible unit.</P
+><P
+>Like a hard disk, a floppy is divided into tracks and sectors
+ (and the two corresponding tracks on either side of a floppy
+ form a cylinder), but there are many fewer of them than on a
+ hard disk.</P
+><P
+>A floppy drive can usually use several different types of disks;
+ for example, a 3.5 inch drive can use both 720 kB and
+ 1.44 MB disks. Since the drive has to operate a bit differently
+ and the operating system must know how big the disk is, there
+ are many device files for floppy drives, one per combination of
+ drive and disk type.
+ Therefore, <TT
+CLASS="FILENAME"
+>/dev/fd0H1440</TT
+> is the first floppy drive (fd0),
+ which must be a 3.5 inch drive,
+ using a 3.5 inch, high density disk (H) of
+ size 1440 kB (1440), i.e., a normal 3.5 inch HD floppy.
+ For more information on the naming conventions for the floppy
+ devices, see XXX (device list).</P
+><P
+>The names for floppy drives are complex, however, and Linux
+ therefore has a special floppy device type that automatically
+ detects the type of the disk in the drive. It works by
+ trying to read the first sector of a newly inserted floppy
+ using different floppy types until it finds the correct one.
+ This naturally requires that the floppy is formatted first.
+ The automatic devices are called <TT
+CLASS="FILENAME"
+>/dev/fd0</TT
+>,
+ <TT
+CLASS="FILENAME"
+>/dev/fd1</TT
+>, and so on.</P
+><P
+>The parameters the automatic device uses to access a disk can
+ also be set using the program \cmd{setfdprm}. This can be
+ useful if you need to use disks that do not follow any usual
+ floppy sizes, e.g., if they have an unusual number of sectors,
+ or if the autodetecting for some reason fails and the proper
+ device file is missing.</P
+><P
+>Linux can handle many nonstandard floppy disk formats
+ in addition to all the standard ones. Some of these require
+ using special formatting programs. We'll skip these disk
+ types for now, but in the mean time you can examine the
+ <TT
+CLASS="FILENAME"
+>/etc/fdprm</TT
+> file. It specifies the settings
+ that <B
+CLASS="COMMAND"
+>setfdprm</B
+> recognizes.</P
+><P
+>The operating system must know when a disk has been changed in
+ a floppy drive, for example, in order to avoid using cached
+ data from the previous disk. Unfortunately, the signal line
+ that is used for this is sometimes broken, and worse, this won't
+ always be noticeable when using the drive from within MS-DOS.
+ If you are experiencing weird problems using floppies, this might
+ be the reason. The only way to correct it is to repair the
+ floppy drive.</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x747.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x801.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Hard disks</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c701.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>CD-ROM's</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x801.html b/sag-0.6.1-www/sag-0.6.1.html/x801.html
new file mode 100644
index 0000000..e8d51b7
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x801.html
@@ -0,0 +1,218 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>CD-ROM's</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Using Disks and Other Storage Media"
+HREF="c701.html"><LINK
+REL="PREVIOUS"
+TITLE="Floppies"
+HREF="x787.html"><LINK
+REL="NEXT"
+TITLE="Tapes"
+HREF="x811.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x787.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Using Disks and Other Storage Media</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x811.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN801"
+>CD-ROM's</A
+></H1
+><P
+>A CD-ROM drive uses an optically read, plastic coated disk.
+ The information is recorded on the surface of the
+ disk
+
+ <A
+NAME="AEN804"
+HREF="#FTN.AEN804"
+>[1]</A
+>
+
+ in small `holes' aligned along a spiral from the center to the
+ edge. The drive directs a laser beam along the spiral to read
+ the disk. When the laser hits a hole, the laser is reflected in
+ one way; when it hits smooth surface, it is reflected in another
+ way. This makes it easy to code bits, and therefore information.
+ The rest is easy, mere mechanics.</P
+><P
+>CD-ROM drives are slow compared to hard disks. Whereas a
+ typical hard disk will have an average seek time less than
+ 15 milliseconds, a fast CD-ROM drive can use tenths of a second
+ for seeks. The actual data transfer rate is fairly high at
+ hundreds of kilobytes per second. The slowness means that
+ CD-ROM drives are not as pleasant to use instead of hard disks
+ (some Linux distributions provide `live' filesystems on CD-ROM's,
+ making it unnecessary to copy the files to the hard disk, making
+ installation easier and saving a lot of hard disk space), although
+ it is still possible. For installing new software, CD-ROM's are
+ very good, since it maximum speed is not essential during
+ installation.</P
+><P
+>There are several ways to arrange data on a CD-ROM. The most
+ popular one is specified by the international standard ISO 9660.
+ This standard specifies a very minimal filesystem, which is
+ even more crude than the one MS-DOS uses. On the other hand,
+ it is so minimal that every operating system should be able to
+ map it to its native system.</P
+><P
+>For normal UNIX use, the ISO 9660 filesystem is not usable, so
+ an extension to the standard has been developed, called
+ the Rock Ridge extension. Rock Ridge allows longer filenames,
+ symbolic links, and a lot of other goodies, making a CD-ROM
+ look more or less like any contemporary UNIX filesystem.
+ Even better, a Rock Ridge filesystem is still a valid ISO 9660
+ filesystem, making it usable by non-UNIX systems as well.
+ Linux supports both ISO 9660 and the Rock Ridge extensions;
+ the extensions are recognized and used automatically.</P
+><P
+>The filesystem is only half the battle, however. Most CD-ROM's
+ contain data that requires a special program to access, and
+ most of these programs do not run under Linux (except, possibly,
+ under dosemu, the Linux MS-DOS emulator).</P
+><P
+>A CD-ROM drive is accessed via the corresponding device file.
+ There are several ways to connect a CD-ROM drive to the computer:
+ via SCSI, via a sound card, or via EIDE. The hardware hacking
+ needed to do this is outside the scope of this book, but the
+ type of connection decides the device file. See XXX (device-list)
+ for enlightment.</P
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN804"
+HREF="x801.html#AEN804"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>That is, the surface inside
+ the disk, on the metal disk inside the plastic
+ coating.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x787.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x811.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Floppies</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c701.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Tapes</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x811.html b/sag-0.6.1-www/sag-0.6.1.html/x811.html
new file mode 100644
index 0000000..d9e9965
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x811.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Tapes</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Using Disks and Other Storage Media"
+HREF="c701.html"><LINK
+REL="PREVIOUS"
+TITLE="CD-ROM's"
+HREF="x801.html"><LINK
+REL="NEXT"
+TITLE="Formatting"
+HREF="x817.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x801.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Using Disks and Other Storage Media</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x817.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN811"
+>Tapes</A
+></H1
+><P
+>A tape drive uses a tape, similar
+
+ <A
+NAME="AEN814"
+HREF="#FTN.AEN814"
+>[1]</A
+>
+
+ to cassettes used for music. A tape is serial in nature, which
+ means that in order to get to any given part of it, you first have
+ to go through all the parts in between. A disk can be accessed
+ randomly, i.e., you can jump directly to any place on the disk.
+ The serial access of tapes makes them slow.</P
+><P
+>On the other hand, tapes are relatively cheap to make,
+ since they do not need to be fast. They can also easily be made
+ quite long, and can therefore contain a large amount of data.
+ This makes tapes very suitable for things like archiving and
+ backups, which do not require large speeds, but benefit from
+ low costs and large storage capacities.</P
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN814"
+HREF="x811.html#AEN814"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>But completely
+ different, of course.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x801.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x817.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>CD-ROM's</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c701.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Formatting</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x817.html b/sag-0.6.1-www/sag-0.6.1.html/x817.html
new file mode 100644
index 0000000..e7184cc
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x817.html
@@ -0,0 +1,411 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Formatting</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Using Disks and Other Storage Media"
+HREF="c701.html"><LINK
+REL="PREVIOUS"
+TITLE="Tapes"
+HREF="x811.html"><LINK
+REL="NEXT"
+TITLE="Partitions"
+HREF="x876.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x811.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Using Disks and Other Storage Media</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x876.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN817"
+>Formatting</A
+></H1
+><P
+><I
+CLASS="GLOSSTERM"
+>Formatting</I
+> is the process of writing marks on the
+ magnetic media that are used to mark tracks and sectors.
+ Before a disk is formatted, its magnetic surface is a complete
+ mess of magnetic signals. When it is formatted, some order is
+ brought into the chaos by essentially drawing lines where the
+ tracks go, and where they are divided into sectors. The
+ actual details are not quite exactly like this, but that is
+ irrelevant. What is important is that a disk cannot be used
+ unless it has been formatted.</P
+><P
+>The terminology is a bit confusing here: in MS-DOS, the word
+ formatting is used to cover also the process of creating a
+ filesystem (which will be discussed below). There, the two
+ processes are often combined, especially for floppies. When
+ the distinction needs to be made, the real formatting is
+ called <I
+CLASS="GLOSSTERM"
+>low-level formatting</I
+>, while making the filesystem
+ is called <I
+CLASS="GLOSSTERM"
+>high-level formatting</I
+>. In UNIX circles,
+ the two are called formatting and making a filesystem, so
+ that's what is used in this book as well.</P
+><P
+>For IDE and some SCSI disks the formatting is actually
+ done at the factory and doesn't need to be repeated; hence most
+ people rarely need to worry about it. In fact, formatting a
+ hard disk can cause it to work less well, for example because
+ a disk might need to be formatted in some very special way to
+ allow automatic bad sector replacement to work.</P
+><P
+>Disks that need to be or can be formatted often require a
+ special program anyway, because the interface to the formatting
+ logic inside the drive is different from drive to drive.
+ The formatting program is often either on the controller BIOS,
+ or is supplied as an MS-DOS program; neither of these can easily
+ be used from within Linux.</P
+><P
+>During formatting one might encounter bad spots on the
+ disk, called <I
+CLASS="GLOSSTERM"
+>bad blocks</I
+> or <I
+CLASS="GLOSSTERM"
+>bad
+ sectors</I
+>. These are sometimes handled by the drive
+ itself, but even then, if more of them develop, something needs
+ to be done to avoid using those parts of the disk. The logic to
+ do this is built into the filesystem; how to add the information
+ into the filesystem is described below. Alternatively, one
+ might create a small partition that covers just the bad part of
+ the disk; this approach might be a good idea if the bad spot is
+ very large, since filesystems can sometimes have trouble with
+ very large bad areas.</P
+><P
+>Floppies are formatted with <B
+CLASS="COMMAND"
+>fdformat</B
+>. The floppy device
+ file to use is given as the parameter. For example, the
+ following command would format a high density,
+ 3.5 inch floppy in the first floppy drive:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>fdformat /dev/fd0H1440</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.</TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Formatting ... done</TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Verifying ... done</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ Note that if you want to use an autodetecting device (e.g.,
+ <TT
+CLASS="FILENAME"
+>/dev/fd0</TT
+>), you <I
+CLASS="EMPHASIS"
+>must</I
+> set the parameters of the device
+ with <B
+CLASS="COMMAND"
+>setfdprm</B
+> first. To achieve the same effect as
+ above, one would have to do the following:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>setfdprm /dev/fd0 1440/1440</B
+></TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>fdformat /dev/fd0</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.</TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Formatting ... done</TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Verifying ... done</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ It is usually more convenient to choose the correct device file
+ that matches the type of the floppy. Note that it is unwise to
+ format floppies to contain more information than what they are
+ designed for.</P
+><P
+><B
+CLASS="COMMAND"
+>fdformat</B
+> will also validate the floppy, i.e., check it
+ for bad blocks. It will try a bad block several times (you
+ can usually hear this, the drive noise changes dramatically).
+ If the floppy is only marginally bad (due to dirt on the
+ read/write head, some errors are false signals), <B
+CLASS="COMMAND"
+>fdformat</B
+> won't
+ complain, but a real error will abort the validation process.
+ The kernel will print log messages for each I/O error it
+ finds; these will go to the console or, if <B
+CLASS="COMMAND"
+>syslog</B
+>
+ is being used, to the file <TT
+CLASS="FILENAME"
+>/usr/log/messages</TT
+>. <B
+CLASS="COMMAND"
+>fdformat</B
+>
+ itself won't tell where the error is (one usually doesn't care,
+ floppies are cheap enough that a bad one is automatically thrown
+ away).
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>fdformat /dev/fd0H1440</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.</TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Formatting ... done</TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Verifying ... read: Unknown error</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ The <B
+CLASS="COMMAND"
+>badblocks</B
+> command can be used to search any disk or
+ partition for bad blocks (including a floppy). It does not
+ format the disk, so it can be used to check even existing
+ filesystems. The example below checks a 3.5 inch
+ floppy with two bad blocks.
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>badblocks /dev/fd0H1440 1440</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>718</TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>719</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>
+
+ <B
+CLASS="COMMAND"
+>badblocks</B
+> outputs the block numbers of the bad
+ blocks it finds. Most filesystems can avoid such bad blocks. They
+ maintain a list of known bad blocks, which is initialized when the
+ filesystem is made, and can be modified later. The initial search
+ for bad blocks can be done by the <B
+CLASS="COMMAND"
+>mkfs</B
+> command
+ (which initializes the filesystem), but later checks should be
+ done with <B
+CLASS="COMMAND"
+>badblocks</B
+> and the new blocks should
+ be added with <B
+CLASS="COMMAND"
+>fsck</B
+>. We'll describe \cmd{mkfs}
+ and <B
+CLASS="COMMAND"
+>fsck</B
+> later.</P
+><P
+>Many modern disks automatically notice bad blocks, and attempt
+ to fix them by using a special, reserved good block instead.
+ This is invisible to the operating system. This feature should
+ be documented in the disk's manual, if you're curious if it
+ is happening. Even such disks can fail, if the number of bad
+ blocks grows too large, although chances are that by then the disk
+ will be so rotten as to be unusable.</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x811.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x876.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Tapes</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c701.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Partitions</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x83.html b/sag-0.6.1-www/sag-0.6.1.html/x83.html
new file mode 100644
index 0000000..8f1face
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x83.html
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Important parts of the kernel</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Overview of a Linux System"
+HREF="c63.html"><LINK
+REL="PREVIOUS"
+TITLE="Overview of a Linux System"
+HREF="c63.html"><LINK
+REL="NEXT"
+TITLE="Major services in a UNIX system"
+HREF="x94.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="c63.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 2. Overview of a Linux System</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x94.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN83"
+>Important parts of the kernel</A
+></H1
+><P
+>The Linux kernel consists of several important parts: process
+ management, memory management, hardware device drivers, filesystem
+ drivers, network management, and various other bits and pieces.
+ <A
+HREF="x83.html#KERNELOVERVIEW"
+>Figure 2-1</A
+>
+ shows some of them.</P
+><DIV
+CLASS="FIGURE"
+><P
+><B
+><A
+NAME="KERNELOVERVIEW"
+>Figure 2-1. Some of the more important parts of the Linux kernel</A
+></B
+></P
+><P
+><IMG
+SRC="overview-kernel.gif"></P
+></DIV
+><P
+>Probably the most important parts of the kernel (nothing else
+ works without them) are memory management and
+ process management. Memory management takes care of assigning
+ memory areas and swap space areas to processes, parts of the
+ kernel, and for the buffer cache. Process management creates
+ processes, and implements multitasking by switching the
+ active process on the processor.</P
+><P
+>At the lowest level, the kernel contains a hardware device
+ driver for each kind of hardware it supports. Since the world is
+ full of different kinds of hardware, the number of hardware device
+ drivers is large. There are often many otherwise similar pieces
+ of hardware that differ in how they are controlled by software.
+ The similarities make it possible to have general classes of
+ drivers that support similar operations; each member of the class
+ has the same interface to the rest of the kernel but differs in
+ what it needs to do to implement them. For example, all disk
+ drivers look alike to the rest of the kernel, i.e., they all
+ have operations like `initialize the drive', `read sector N',
+ and `write sector N'.</P
+><P
+>Some software services provided by the kernel itself have
+ similar properties, and can therefore be abstracted into classes.
+ For example, the various network protocols have been abstracted
+ into one programming interface, the BSD socket library. Another
+ example is the <I
+CLASS="GLOSSTERM"
+>virtual filesystem</I
+> (VFS)
+ layer that abstracts the filesystem operations away from their
+ implementation. Each filesystem type provides an implementation
+ of each filesystem operation. When some entity tries to use
+ a filesystem, the request goes via the VFS, which routes the
+ request to the proper filesystem driver.</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="c63.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x94.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Overview of a Linux System</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c63.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Major services in a UNIX system</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x876.html b/sag-0.6.1-www/sag-0.6.1.html/x876.html
new file mode 100644
index 0000000..6b53efb
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x876.html
@@ -0,0 +1,812 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Partitions</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Using Disks and Other Storage Media"
+HREF="c701.html"><LINK
+REL="PREVIOUS"
+TITLE="Formatting"
+HREF="x817.html"><LINK
+REL="NEXT"
+TITLE="Filesystems"
+HREF="x1029.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x817.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Using Disks and Other Storage Media</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x1029.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN876"
+>Partitions</A
+></H1
+><P
+>A hard disk can be divided into several
+ <I
+CLASS="GLOSSTERM"
+>partitions</I
+>. Each partition functions as if
+ it were a separate hard disk. The idea is that if you have one
+ hard disk, and want to have, say, two operating systems on it,
+ you can divide the disk into two partitions. Each operating
+ system uses its partition as it wishes and doesn't touch the
+ other one's. This way the two operating systems can co-exist
+ peacefully on the same hard disk. Without partitions one would
+ have to buy a hard disk for each operating system.</P
+><P
+>Floppies are not partitioned. There is no technical reason
+ against this, but since they're so small, partitions would be
+ useful only very rarely. CD-ROM's are usually also not
+ partitioned, since it's easier to use them as one big
+ disk, and there is seldom a need to have several operating
+ systems on one.</P
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN881"
+>The MBR, boot sectors and partition table</A
+></H2
+><P
+>The information about how a hard disk has been partitioned
+ is stored in its first sector (that is, the first sector of the
+ first track on the first disk surface). The first sector is the
+ <I
+CLASS="GLOSSTERM"
+>master boot record</I
+> (MBR) of the disk; this
+ is the sector that the BIOS reads in and starts when the machine
+ is first booted. The master boot record contains a small program
+ that reads the partition table, checks which partition is active
+ (that is, marked bootable), and reads the first sector of that
+ partition, the partition's <I
+CLASS="GLOSSTERM"
+>boot sector</I
+>
+ (the MBR is also a boot sector, but it has a special status and
+ therefore a special name). This boot sector contains another
+ small program that reads the first part of the operating system
+ stored on that partition (assuming it is bootable), and then
+ starts it.</P
+><P
+>The partitioning scheme is not built into the hardware, or
+ even into the BIOS. It is only a convention that many
+ operating systems follow. Not all operating systems do follow
+ it, but they are the exceptions. Some operating
+ systems support partitions, but they occupy one partition on
+ the hard disk, and use their internal partitioning method
+ within that partition. The latter type exists peacefully
+ with other operating systems (including Linux), and does not
+ require any special measures, but an operating system
+ that doesn't support partitions cannot co-exist on the same
+ disk with any other operating system.</P
+><P
+>As a safety precaution, it is a good idea to write down the
+ partition table on a piece of paper, so that if it ever corrupts
+ you don't have to lose all your files. (A bad partition table
+ can be fixed with <B
+CLASS="COMMAND"
+>fdisk</B
+>). The relevant information
+ is given by the <B
+CLASS="COMMAND"
+>fdisk -l</B
+> command:
+
+<PRE
+CLASS="SCREEN"
+><TT
+CLASS="PROMPT"
+>$</TT
+> <TT
+CLASS="USERINPUT"
+><B
+>fdisk -l /dev/hda</B
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Disk /dev/hda: 15 heads, 57 sectors, 790 cylinders</TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>Units = cylinders of 855 * 512 bytes</TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+></TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+> Device Boot Begin Start End Blocks Id System</TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>/dev/hda1 1 1 24 10231+ 82 Linux swap</TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>/dev/hda2 25 25 48 10260 83 Linux native</TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>/dev/hda3 49 49 408 153900 83 Linux native</TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>/dev/hda4 409 409 790 163305 5 Extended</TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>/dev/hda5 409 409 744 143611+ 83 Linux native</TT
+>
+<TT
+CLASS="COMPUTEROUTPUT"
+>/dev/hda6 745 745 790 19636+ 83 Linux native</TT
+>
+<TT
+CLASS="PROMPT"
+>$</TT
+></PRE
+>&#13;</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN905"
+>Extended and logical partitions</A
+></H2
+><P
+>The original partitioning scheme for PC hard disks allowed
+ only four partitions. This quickly turned out to be too little
+ in real life, partly because some people want more than four
+ operating systems (Linux, MS-DOS, OS/2, Minix, FreeBSD, NetBSD, or
+ Windows/NT, to name a few), but primarily because sometimes it
+ is a good idea to have several partitions for one
+ operating system. For example, swap space is usually best put
+ in its own partition for Linux instead of in the main
+ Linux partition for reasons of speed (see below).</P
+><P
+>To overcome this design problem, <I
+CLASS="GLOSSTERM"
+>extended partitions</I
+> were
+ invented. This trick allows partitioning a <I
+CLASS="GLOSSTERM"
+>primary
+ partition</I
+> into sub-partitions. The
+ primary partition thus subdivided is the <I
+CLASS="GLOSSTERM"
+>extended partition</I
+>; the
+ subpartitions are <I
+CLASS="GLOSSTERM"
+>logical partitions</I
+>. They behave
+ like primary
+
+ <A
+NAME="AEN913"
+HREF="#FTN.AEN913"
+>[1]</A
+>
+
+ partitions, but are created differently. There is no speed
+ difference between them.</P
+><P
+>The partition structure of a hard disk might look like that
+ in <A
+HREF="x876.html#HARD-DISK-LAYOUT"
+>Figure 4-2</A
+>. The disk is divided into
+ three primary partitions, the second of which is divided into
+ two logical partitions. Part of the disk is not partitioned
+ at all. The disk as a whole and each primary partition has a
+ boot sector.</P
+><DIV
+CLASS="FIGURE"
+><P
+><B
+><A
+NAME="HARD-DISK-LAYOUT"
+>Figure 4-2. A sample hard disk partitioning.</A
+></B
+></P
+><P
+><IMG
+SRC="hd-layout.gif"></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN920"
+>Partition types</A
+></H2
+><P
+>The partition tables (the one in the MBR, and the ones for
+ extended partitions) contain one byte per partition that
+ identifies the type of that partition. This attempts to
+ identify the operating system that uses the partition, or what
+ it uses it for. The purpose is to make it possible to avoid
+ having two operating systems accidentally using the same
+ partition. However, in reality, operating systems do not
+ really care about the partition type byte; e.g., Linux
+ doesn't care at all what it is. Worse, some of them use it
+ incorrectly; e.g., at least some versions of DR-DOS ignore the
+ most significant bit of the byte, while others don't.</P
+><P
+>There is no standardization agency to specify what each byte
+ value means, but some commonly accepted ones are included in
+ in <A
+HREF="x876.html#PARTITION-IDS"
+>Table 4-1</A
+>. The same list is
+ available in the Linux <B
+CLASS="COMMAND"
+>fdisk</B
+> program.</P
+><DIV
+CLASS="TABLE"
+><P
+><B
+><A
+NAME="PARTITION-IDS"
+>Table 4-1. Partition types (from the Linux <B
+CLASS="COMMAND"
+>fdisk</B
+> program).</A
+></B
+></P
+><TABLE
+BORDER="1"
+CLASS="CALSTABLE"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>0</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Empty</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>40</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Venix 80286</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>94</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Amoeba BBT</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>DOS 12-bit FAT</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>51</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Novell?</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>a5</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>BSD/386</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>2</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>XENIX root</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>52</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Microport</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>b7</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>BSDI fs</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>3</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>XENIX usr</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>63</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>GNU HURD</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>b8</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>BSDI swap</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>4</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>DOS 16-bitf &lt;32M</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>64</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Novell</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>c7</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Syrinx</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>5</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Extended</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>75</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>PC/IX</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>db</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>CP/M</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>6</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>DOS 16-bit &gt;=32M</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>80</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Old MINIX</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>e1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>DOS access</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>7</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>OS/2 HPFS</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>81</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Linux/MINIX</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>e3</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>DOS R/O</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>8</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>AIX</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>82</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Linux swap</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>f2</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>DOS secondary</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>9</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>AIX bootable</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>83</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Linux native</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>ff</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>BBT</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>a</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>OS/2 Boot Manag</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>93</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Amoeba</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1008"
+>Partitioning a hard disk</A
+></H2
+><P
+>There are many programs for creating and removing
+ partitions. Most operating systems have their own, and it
+ can be a good idea to use each operating system's own, just
+ in case it does something unusual that the others can't.
+ Many of the programs are called <B
+CLASS="COMMAND"
+>fdisk</B
+>,
+ including the Linux one, or variations thereof. Details on
+ using the Linux <B
+CLASS="COMMAND"
+>fdisk</B
+> are given on its
+ man page. The <B
+CLASS="COMMAND"
+>cfdisk</B
+> command is similar
+ to <B
+CLASS="COMMAND"
+>fdisk</B
+>, but has a nicer (full screen)
+ user interface.</P
+><P
+>When using IDE disks, the boot partition (the partition
+ with the bootable kernel image files) must be completely
+ within the first 1024 cylinders. This is because the disk is
+ used via the BIOS during boot (before the system goes into
+ protected mode), and BIOS can't handle more than 1024 cylinders.
+ It is sometimes possible to use a boot partition that is only
+ partly within the first 1024 cylinders. This works as long
+ as all the files that are read with the BIOS are within the
+ first 1024 cylinders. Since this is difficult to arrange,
+ it is <I
+CLASS="EMPHASIS"
+>a very bad idea</I
+> to do it; you never know when
+ a kernel update or disk defragmentation will result in an
+ unbootable system. Therefore, make sure your boot partition
+ is completely within the first 1024 cylinders.</P
+><P
+>Some newer versions of the BIOS and IDE disks can, in fact,
+ handle disks with more than 1024 cylinders. If you have such
+ a system, you can forget about the problem; if you aren't quite
+ sure of it, put it within the first 1024 cylinders.</P
+><P
+>Each partition should have an even number of sectors,
+ since the Linux filesystems use a 1 kilobyte block size, i.e.,
+ two sectors. An odd number of sectors will result in the
+ last sector being unused. This won't result in any problems,
+ but it is ugly, and some versions of <B
+CLASS="COMMAND"
+>fdisk</B
+>
+ will warn about it.</P
+><P
+>Changing a partition's size usually requires first backing up
+ everything you want to save from that partition (preferably the
+ whole disk, just in case), deleting the partition, creating
+ new partition, then restoring everything to the new partition.
+ If the partition is growing, you may need to adjust the sizes
+ (and backup and restore) of the adjoining partitions as well.</P
+><P
+>Since changing partition sizes is painful, it is preferable to
+ get the partitions right
+ the first time, or have an effective and easy to use backup
+ system. If you're installing from a media that does not require
+ much human intervention (say, from CD-ROM, as opposed to floppies),
+ it is often easy to play with different configuration at first.
+ Since you don't already have data to back up, it is not so
+ painful to modify partition sizes several times.</P
+><P
+>There is a program for MS-DOS, called
+ <B
+CLASS="COMMAND"
+>fips</B
+>, which resizes an MS-DOS partition without
+ requiring the backup and restore, but for other filesystems it
+ is still necessary.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1024"
+>Device files and partitions</A
+></H2
+><P
+>Each partition and extended partition has its own
+ device file. The naming convention for these files is that a
+ partition's number is appended after the name of the whole disk,
+ with the convention that 1-4 are primary partitions (regardless
+ of how many primary partitions there are) and 5-8 are logical
+ partitions (regardless of within which primary partition
+ they reside). For example, <TT
+CLASS="FILENAME"
+>/dev/hda1</TT
+>
+ is the first primary partition on the first IDE hard disk, and
+ <TT
+CLASS="FILENAME"
+>/dev/sdb7</TT
+> is the third extended partition on
+ the second SCSI hard disk. The device list in XXX (device list)
+ gives more information.</P
+></DIV
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN913"
+HREF="x876.html#AEN913"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Illogical?</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x817.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x1029.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Formatting</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c701.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Filesystems</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x94.html b/sag-0.6.1-www/sag-0.6.1.html/x94.html
new file mode 100644
index 0000000..f42055e
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x94.html
@@ -0,0 +1,687 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Major services in a UNIX system</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Overview of a Linux System"
+HREF="c63.html"><LINK
+REL="PREVIOUS"
+TITLE="Important parts of the kernel"
+HREF="x83.html"><LINK
+REL="NEXT"
+TITLE="Overview of the Directory Tree"
+HREF="c212.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x83.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 2. Overview of a Linux System</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="c212.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN94"
+>Major services in a UNIX system</A
+></H1
+><P
+>This section describes some of the more important UNIX
+ services, but without much detail. They are described more
+ thoroughly in later chapters.</P
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN97"
+><B
+CLASS="COMMAND"
+>init</B
+></A
+></H2
+><P
+>The single most important service in a UNIX system is
+ provided by <B
+CLASS="COMMAND"
+>init</B
+>. <B
+CLASS="COMMAND"
+>init</B
+>
+ is started as the first process of every UNIX system, as the last
+ thing the kernel does when it boots. When <B
+CLASS="COMMAND"
+>init</B
+>
+ starts, it continues the boot process by doing various startup
+ chores (checking and mounting filesystems, starting daemons,
+ etc).</P
+><P
+>The exact list of things that <B
+CLASS="COMMAND"
+>init</B
+>
+ does depends on which flavor it is; there are several to choose
+ from. <B
+CLASS="COMMAND"
+>init</B
+> usually provides the concept of
+ <I
+CLASS="GLOSSTERM"
+>single user mode</I
+>, in which no one can
+ log in and root uses a shell at the console; the usual mode is
+ called <I
+CLASS="GLOSSTERM"
+>multiuser mode</I
+>. Some flavors
+ generalize this as <I
+CLASS="GLOSSTERM"
+>run levels</I
+>; single
+ and multiuser modes are considered to be two run levels, and
+ there can be additional ones as well, for example, to run X on
+ the console.</P
+><P
+>In normal operation, <B
+CLASS="COMMAND"
+>init</B
+> makes sure
+ <B
+CLASS="COMMAND"
+>getty</B
+> is working (to allow users to log in),
+ and to adopt orphan processes (processes whose parent has died; in
+ UNIX <I
+CLASS="EMPHASIS"
+>all</I
+> processes <I
+CLASS="EMPHASIS"
+>must</I
+>
+ be in a single tree, so orphans must be adopted).</P
+><P
+>When the system is shut down, it is <B
+CLASS="COMMAND"
+>init</B
+>
+ that is in charge of killing all other processes, unmounting all
+ filesystems and stopping the processor, along with anything else
+ it has been configured to do.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN117"
+>Logins from terminals</A
+></H2
+><P
+>Logins from terminals (via serial lines) and the console
+ (when not running X) are provided by the <B
+CLASS="COMMAND"
+>getty</B
+>
+ program. <B
+CLASS="COMMAND"
+>init</B
+> starts a separate instance
+ of <B
+CLASS="COMMAND"
+>getty</B
+> for each terminal for which
+ logins are to be allowed. <B
+CLASS="COMMAND"
+>getty</B
+> reads
+ the username and runs the <B
+CLASS="COMMAND"
+>login</B
+> program,
+ which reads the password. If the username and password
+ are correct, <B
+CLASS="COMMAND"
+>login</B
+> runs the shell.
+ When the shell terminates, i.e., the user logs out, or when
+ <B
+CLASS="COMMAND"
+>login</B
+> terminated because the username
+ and password didn't match, <B
+CLASS="COMMAND"
+>init</B
+> notices
+ this and starts a new instance of <B
+CLASS="COMMAND"
+>getty</B
+>.
+ The kernel has no notion of logins, this is all handled by the
+ system programs.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN129"
+>Syslog</A
+></H2
+><P
+>The kernel and many system programs produce error, warning, and
+ other messages. It is often important that these messages can
+ be viewed later, even much later, so they should be written to
+ a file. The program doing this is <B
+CLASS="COMMAND"
+>syslog</B
+>. It can be
+ configured to sort the messages to different files according to
+ writer or degree of importance. For example, kernel messages
+ are often directed to a separate file from the others, since
+ kernel messages are often more important and need to be read
+ regularly to spot problems.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN133"
+>Periodic command execution: <B
+CLASS="COMMAND"
+>cron</B
+> and
+<B
+CLASS="COMMAND"
+>at</B
+></A
+></H2
+><P
+>Both users and system administrators often need
+ to run commands periodically. For example, the system
+ administrator might want to run a command to clean the
+ directories with temporary files (<TT
+CLASS="FILENAME"
+>/tmp</TT
+>
+ and <TT
+CLASS="FILENAME"
+>/var/tmp</TT
+>) from old files, to keep the
+ disks from filling up, since not all programs clean up after
+ themselves correctly.</P
+><P
+>The <B
+CLASS="COMMAND"
+>cron</B
+> service is set up to do this.
+ Each user has a <TT
+CLASS="FILENAME"
+>crontab</TT
+> file, where he
+ lists the commands he wants to execute and the times they should
+ be executed. The <B
+CLASS="COMMAND"
+>cron</B
+> daemon takes care of
+ starting the commands when specified.</P
+><P
+>The <B
+CLASS="COMMAND"
+>at</B
+> service is similar to
+ <B
+CLASS="COMMAND"
+>cron</B
+>, but it is once only: the command is
+ executed at the given time, but it is not repeated.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN147"
+>Graphical user interface</A
+></H2
+><P
+>UNIX and Linux don't incorporate the user interface
+ into the kernel; instead, they let it be implemented by user
+ level programs. This applies for both text mode and graphical
+ environments.</P
+><P
+>This arrangement makes the system more flexible, but has
+ the disadvantage that it is simple to implement a different
+ user interface for each program, making the system harder to
+ learn.</P
+><P
+>The graphical environment primarily used with Linux
+ is called the X Window System (X for short). X also does
+ not implement a user interface; it only implements a window
+ system, i.e., tools with which a graphical user interface can
+ be implemented. The three most popular user interface styles
+ implemented over X are Athena, Motif, and Open Look.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN152"
+>Networking</A
+></H2
+><P
+>Networking is the act of connecting two or more computers
+ so that they can communicate with each other. The actual methods
+ of connecting and communicating are slightly complicated, but
+ the end result is very useful.</P
+><P
+>UNIX operating systems have many networking features.
+ Most basic services (filesystems, printing, backups, etc) can
+ be done over the network. This can make system administration
+ easier, since it allows centralized administration, while
+ still reaping in the benefits of microcomputing and distributed
+ computing, such as lower costs and better fault tolerance.</P
+><P
+>However, this book merely glances at networking; see the
+ <I
+CLASS="CITETITLE"
+>Linux Network Administrators' Guide</I
+> for
+ more information, including a basic description of how networks
+ operate.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN158"
+>Network logins</A
+></H2
+><P
+>Network logins work a little differently than normal logins.
+ There is a separate physical serial line for each terminal via
+ which it is possible to log in. For each person logging in via
+ the network, there is a separate virtual network connection,
+ and there can be any number of these.
+
+ <A
+NAME="AEN161"
+HREF="#FTN.AEN161"
+>[1]</A
+>
+
+ It is therefore not possible to run a separate
+ <B
+CLASS="COMMAND"
+>getty</B
+> for each possible virtual connection.
+ There are also several different ways to log in via a network,
+ <B
+CLASS="COMMAND"
+>telnet</B
+> and <B
+CLASS="COMMAND"
+>rlogin</B
+> being
+ the major ones in TCP/IP networks.</P
+><P
+>Network logins have, instead of a herd of
+ <B
+CLASS="COMMAND"
+>getty</B
+>s, a single daemon per way of logging in
+ (<B
+CLASS="COMMAND"
+>telnet</B
+> and <B
+CLASS="COMMAND"
+>rlogin</B
+> have
+ separate daemons) that listens for all incoming login attempts.
+ When it notices one, it starts a new instance of itself to
+ handle that single attempt; the original instance continues to
+ listen for other attempts. The new instance works similarly
+ to <B
+CLASS="COMMAND"
+>getty</B
+>.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN171"
+>Network file systems</A
+></H2
+><P
+>One of the more useful things that can be done with
+ networking services is sharing files via a <I
+CLASS="GLOSSTERM"
+>network
+ file system</I
+>. The one usually used is called the
+ Network File System, or NFS, developed by Sun.</P
+><P
+>With a network file system any file operations done by
+ a program on one machine are sent over the network to another
+ computer. This fools the program to think that all the files
+ on the other computer are actually on the computer the program
+ is running on. This makes information sharing extremely simple,
+ since it requires no modifications to programs.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN176"
+>Mail</A
+></H2
+><P
+>Electronic mail is usually the most important method for
+ communicating via computer. An electronic letter is stored in a
+ file using a special format, and special mail programs are used
+ to send and read the letters.</P
+><P
+>Each user has an <I
+CLASS="GLOSSTERM"
+>incoming mailbox</I
+>
+ (a file in the special format), where all new mail is stored.
+ When someone sends mail, the mail program locates the receiver's
+ mailbox and appends the letter to the mailbox file. If the
+ receiver's mailbox is in another machine, the letter is sent to
+ the other machine, which delivers it to the mailbox as it best
+ sees fit.</P
+><P
+>The mail system consists of many programs. The
+ delivery of mail to local or remote mailboxes is done by one
+ program (the <I
+CLASS="GLOSSTERM"
+>mail transfer agent</I
+> or
+ <I
+CLASS="GLOSSTERM"
+>MTA</I
+>, e.g., <B
+CLASS="COMMAND"
+>sendmail</B
+>
+ or <B
+CLASS="COMMAND"
+>smail</B
+>), while the programs users use
+ are many and varied (<I
+CLASS="GLOSSTERM"
+>mail user agent</I
+>
+ or <I
+CLASS="GLOSSTERM"
+>MUA</I
+>, e.g., <B
+CLASS="COMMAND"
+>pine</B
+>
+ or <B
+CLASS="COMMAND"
+>elm</B
+>). The mailboxes are usually stored
+ in <TT
+CLASS="FILENAME"
+>/var/spool/mail</TT
+>.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN191"
+>Printing</A
+></H2
+><P
+>Only one person can use a printer at one time, but it is
+ uneconomical not to share printers between users. The printer is
+ therefore managed by software that implements a <I
+CLASS="GLOSSTERM"
+>print
+ queue</I
+>: all print jobs are put into a queue and
+ whenever the printer is done with one job, the next one is sent
+ to it automatically. This relieves the users from organizing
+ the print queue and fighting over control of the printer.
+
+ <A
+NAME="AEN195"
+HREF="#FTN.AEN195"
+>[2]</A
+>
+
+ </P
+><P
+>The print queue software also <I
+CLASS="GLOSSTERM"
+>spools</I
+>
+ the printouts on disk, i.e., the text is kept in a file while
+ the job is in the queue. This allows an application program
+ to spit out the print jobs quickly to the print queue software;
+ the application does not have to wait until the job is actually
+ printed to continue. This is really convenient, since it
+ allows one to print out one version, and not have to wait for
+ it to be printed before one can make a completely revised new
+ version.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN200"
+>The filesystem layout</A
+></H2
+><P
+>The filesystem is divided into many parts;
+ usually along the lines of a root filesystem with
+ <TT
+CLASS="FILENAME"
+>/bin</TT
+>, <TT
+CLASS="FILENAME"
+>/lib</TT
+>,
+ <TT
+CLASS="FILENAME"
+>/etc</TT
+>, <TT
+CLASS="FILENAME"
+>/dev</TT
+>, and
+ a few others; a <TT
+CLASS="FILENAME"
+>/usr</TT
+> filesystem with
+ programs and unchanging data; a <TT
+CLASS="FILENAME"
+>/var</TT
+>
+ filesystem with changing data (such as log files); and a
+ <TT
+CLASS="FILENAME"
+>/home</TT
+> filesystem for everyone's personal
+ files. Depending on the hardware configuration and the decisions
+ of the system administrator, the division can be different;
+ it can even be all in one filesystem.</P
+><P
+><A
+HREF="c212.html"
+>Chapter 3</A
+> describes the filesystem
+ layout in some detail; the Linux Filesystem Standard covers it
+ in somewhat more detail.</P
+></DIV
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN161"
+HREF="x94.html#AEN161"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Well, at least there can be many. Network
+ bandwidth still being a scarce resource, there is still
+ some practical upper limit to the number of concurrent
+ logins via one network connection. </P
+></TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN195"
+HREF="x94.html#AEN195"
+>[2]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Instead, they form a new queue
+ <I
+CLASS="EMPHASIS"
+>at</I
+> the printer, waiting for their
+ printouts, since no one ever seems to be able to get the
+ queue software to know exactly when anyone's printout is
+ really finished. This is a great boost to intra-office
+ social relations.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x83.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="c212.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Important parts of the kernel</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c63.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Overview of the Directory Tree</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file