diff options
author | Lars Wirzenius <liw@liw.fi> | 2019-11-02 10:51:03 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2019-11-02 10:51:03 +0200 |
commit | bcfbda98605a9e5c94f472c8b2c8c55ee2585a5c (patch) | |
tree | 58bdc33b3630e7ff59d0732b7a5da350f91979b9 /sag-0.6.1-www/sag-0.6.1.html | |
download | linux-sysadmin-guide-old-master.tar.gz |
Diffstat (limited to 'sag-0.6.1-www/sag-0.6.1.html')
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 Binary files differnew file mode 100644 index 0000000..ba477dc --- /dev/null +++ b/sag-0.6.1-www/sag-0.6.1.html/backup-timeline.gif 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" +><<A +HREF="mailto:liw@iki.fi" +>liw@iki.fi</A +>></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" +> </TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +> </TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="f23.html" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +> </TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +> </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 +>“Minnet, jag har tappat mitt minne, + är jag svensk eller finne, kommer inte ihåg...” + (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" +> </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 me up<br> +Ah... you've got to... you've got to<br> +Never, never never stop<br> +Start it up<br> +Ah... start it up, never, never, never<br> + You make a grown man cry,<br> + you make a grown man cry<br> +(Rolling 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" +> </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 +> <BLOCKQUOTE +><P +>“Uuno on numero yksi” + (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" +> </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 +>“I don't care to belong to a club + that accepts people like me as a member.” + (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" +> </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 +>“The similarities of sysadmins and drug + dealers: both measure stuff in K's, and both have users.” + (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" +> </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 +>“ Two days later, there was Pooh, sitting + on his branch, dangling his legs, and there, beside him, were + four pots of honey...” (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" +> </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 is indeterministically reliable. <br> +Software is deterministically unreliable.<br> +People are indeterministically unreliable.<br> +Nature is deterministically 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" +> </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 +>“Time is an illusion. Lunchtime double + so.” (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" +> </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 +>“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.”</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" +><<A +HREF="mailto:gregh@sunsite.unc.edu" +>gregh@sunsite.unc.edu</A +>></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" +> </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 +>“God looked over everything he + had made, and saw that it was very good. ” (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" +> </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 +>“On a clear disk you can seek forever. + ”</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 +> </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 > /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" +> </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" +> </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" +> </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 Binary files differnew file mode 100644 index 0000000..fbd9e7d --- /dev/null +++ b/sag-0.6.1-www/sag-0.6.1.html/fstree.gif 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" +> </TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="GLOSSARY" +><H1 +><A +NAME="AEN2516" +>Glossary (DRAFT)</A +></H1 +><BLOCKQUOTE +><P +>“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.'” + (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" +> </TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>When the clock is wrong</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +> </TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +> </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 Binary files differnew file mode 100644 index 0000000..8d476e2 --- /dev/null +++ b/sag-0.6.1-www/sag-0.6.1.html/hd-layout.gif 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 Binary files differnew file mode 100644 index 0000000..020e35e --- /dev/null +++ b/sag-0.6.1-www/sag-0.6.1.html/hd-mount-mounted.gif 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 Binary files differnew file mode 100644 index 0000000..069034e --- /dev/null +++ b/sag-0.6.1-www/sag-0.6.1.html/hd-mount-separate.gif 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 Binary files differnew file mode 100644 index 0000000..422049c --- /dev/null +++ b/sag-0.6.1-www/sag-0.6.1.html/hd-schematic.gif 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" +><<A +HREF="mailto:liw@iki.fi" +>liw@iki.fi</A +>></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" +> </TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +> </TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="f23.html" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +> </TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +> </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 Binary files differnew file mode 100644 index 0000000..66a5b98 --- /dev/null +++ b/sag-0.6.1-www/sag-0.6.1.html/logins-via-terminals.gif 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 Binary files differnew file mode 100644 index 0000000..eaff06b --- /dev/null +++ b/sag-0.6.1-www/sag-0.6.1.html/overview-kernel.gif 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 $>$ 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 > 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 0.5b, 11-Mar-95 for EXT2 FS 0.5a, 94/10/23<br> +Filesystem magic number: 0xEF53<br> +Filesystem state: clean<br> +Errors behavior: Continue<br> +Inode count: 360<br> +Block count: 1440<br> +Reserved block count: 72<br> +Free blocks: 1133<br> +Free inodes: 326<br> +First block: 1<br> +Block size: 1024<br> +Fragment size: 1024<br> +Blocks per group: 8192<br> +Fragments per group: 8192<br> +Inodes per group: 360<br> +Last mount time: Tue Aug 8 01:52:52 1995<br> +Last write time: Tue Aug 8 01:53:28 1995<br> +Mount count: 3<br> +Maximum mount count: 20<br> +Last checked: Tue Aug 8 01:06:31 1995<br> +Check interval: 0<br> +Reserved blocks uid: 0 (user root)<br> +Reserved blocks gid: 0 (group root)<br> +<br> +Group 0:<br> + Block bitmap at 3, Inode bitmap at 4, Inode table at 5<br> + 1133 free blocks, 326 free inodes, 2 directories<br> + Free blocks: 307-1439<br> + Free inodes: 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 +> 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 +> </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 <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 >=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" +> </TD +><TD +ALIGN="LEFT" +VALIGN="TOP" +> </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 |