Editing of new "Linux-Networking" guide. This copy is not to be distributed. Its just a draft to give people an idea as to the format of the new document and a backup just in case my laptop dies. Removed 8021X.xml, IRC.xml, PSTN.xml, Quota.xml, and RAID.xml

Binh.
This commit is contained in:
binh 2004-12-13 10:00:42 +00:00
parent 0387372ba2
commit 28f03af05a
8 changed files with 26 additions and 10409 deletions

File diff suppressed because it is too large Load Diff

View File

@ -52,6 +52,7 @@
University of Wales Swansea (United Kingdom),
University of Ulster (Ireland),
Universität Duisburg-Essen (Germany),
Universidad Rey Juan Carlos (Spain),
and Universiti Sains Malaysia (Malaysia)).
</para>

View File

@ -930,5 +930,21 @@ YP
TCP-IP
Transmission Control Protocol/Internet Protocol. It is the data
communication protocol most often used on Unix machines.
PSTN (Public Service Telephone Network)
is the telephone system that is used thoughout the U.S. and many other
countries. Although never intended for networking, telephone lines can
be used for communications for computers.
A modem (modulator/demodulator) is used to interface between a computer and
the telephone system. Modems can convert data into audible tones and back.
The fastest two-way modems currently available support a speed of 33.6 Kbps
(kilobits per second).
Current modems advertise speeds up to 56 Kbps per second. These modems rely
on digital equipment being used in the phone company's central office and in
the facility (such as the Internet Service Provider) you are dialling into.
The 56 Kbps speed also works in only one direction; the other direction supports
33.6 Kbps.
</glossary>

View File

@ -1,579 +0,0 @@
<sect1 id="IRC">
<title>IRC</title>
<para>
This document aims to describe the basics of IRC and respective applications
for Linux.
1. Introduction
This document is still WIP, and should be treated as such. I'll do my best to
keep it updated and accurate.
The following bibles shouldn't be ignored:
  * RFC1459 by Jarkko Oikarinen and Darren Reed was the first about the
Internet Relay Chat Protocol. It can be found at [http://ftp.isi.edu/
in-notes/rfc1459.txt] http://ftp.isi.edu/in-notes/rfc1459.txt.
  * RFC2810 by Christophe Kalt updates RFC1459 and describes the Architecture
of the Internet Relay Chat. It can be found at [http://ftp.isi.edu/
in-notes/rfc2810.txt] http://ftp.isi.edu/in-notes/rfc2810.txt.
  * RFC2811 by Christophe Kalt updates RFC1459 and describes the Channel
Management of the Internet Relay Chat. It can be found at [http://
ftp.isi.edu/in-notes/rfc2811.txt] http://ftp.isi.edu/in-notes/
rfc2811.txt.
  * RFC2812 by Christophe Kalt updates RFC1459 and describes the Client
Protocol of the Internet Relay Chat. It can be found at [http://
ftp.isi.edu/in-notes/rfc2812.txt] http://ftp.isi.edu/in-notes/
rfc2812.txt.
  * RFC2813 by Christophe Kalt updates RFC1459 and describes the Server
Protocol of the Internet Relay Chat. It can be found at [http://
ftp.isi.edu/in-notes/rfc2813.txt] http://ftp.isi.edu/in-notes/
rfc2813.txt.
Also be sure to check the following links:
[http://www.irchelp.org/] http://www.irchelp.org/.
-----------------------------------------------------------------------------
1.1. Objectives
Among others, the objectives of this mini-HOWTO are:
  * Link important resources about IRC;
  * Avoid common misuses of IRC by writing an IRC Etiquette;
  * List popular clients, servers, bots, and bouncers, along with their
maintainers, #channel, small description, download location, home page,
and hints;
  * List IRC tools available in the latest release of all major
distributions.
-----------------------------------------------------------------------------
2. About IRC
Excerpt from RFC2810:
The IRC (Internet Relay Chat) protocol is for use with text based
conferencing. It has been developed since 1989 when it was originally
implemented as a mean for users on a BBS to chat amongst themselves.
First formally documented in May 1993 by RFC 1459 [IRC], the protocol has
kept evolving.
The IRC Protocol is based on the client-server model, and is well suited to
running on many machines in a distributed fashion. A typical setup involves a
single process (the server) forming a central point for clients (or other
servers) to connect to, performing the required message delivery/multiplexing
and other functions.
This distributed model, which requires each server to have a copy of the
global state information, is still the most flagrant problem of the protocol
as it is a serious handicap, which limits the maximum size a network can
reach. If the existing networks have been able keep growing at an incredible
pace, we must thank hardware manufacturers for giving us ever more powerful
systems.
-----------------------------------------------------------------------------
3. Beginner's guide on using IRC
The standard IRC client is the original ircII client. It's part of most Linux
distributions.
-----------------------------------------------------------------------------
3.1. Running the ircII program
It's easy to use ircII. Let's say you want to connect to irc.freenode.net as
mini-HOWTO.
At the command line, type:
$ irc mini-HOWTO irc.freenode.net
You can also export variables, so you won't need to use them at the command
line:
$ export IRCNICK=mini-HOWTO IRCSERVER=irc.freenode.net
Add them to your shell profile (e.g. ~/.bash_profile or ~/.zprofile) when
you're done.
Other common variables are IRCNAME and IRCUSER, to respectively set the
ircname part of a /whois and username as seen at the first line 'mini-HOWTO
is ~username@hostname (ircname)'. Keep in mind that IRCUSER won't work if you
run an ident daemon (default on most distributions). If you still need to
change your username (not recommended, and I hope you're not using IRC logged
as root !), install oidentd from [http://ojnk.sourceforge.net/] http://
ojnk.sourceforge.net/. To configure, read the oidentd.conf man page. Finally
run '/usr/local/sbin/oidentd -g nobody -u nobody'. Add this to your startup
scripts (e.g. /etc/rc.d/rc.local) when you're done.
If not set, IRCNICK, IRCUSER, and IRCNAME will be retrieved from /etc/passwd
.
-----------------------------------------------------------------------------
3.2. Commands
Use /help to get a list on all available commands (/help help is a good
start). Replace nick by any IRCNICK.
  * First, /set NOVICE off
  * /nick IRC-mini-HOWTO changes your IRCNICK to IRC-mini-HOWTO
  * /set realname The Linux IRC mini-HOWTO changes your IRCNAME to The Linux
IRC mini-HOWTO (doesn't change on the same connection)
  * /j #mini-HOWTO joins channel #mini-HOWTO
  * /j #unmaintained-HOWTO joins channel #unmaintained-HOWTO
  * /j #mini-HOWTO changes the active current channel to #mini-HOWTO
  * /msg nick Hi. sends a private message to nick containing Hi.
  * /notice nick (or #mini-HOWTO) Hi. sends a notice to nick (or #mini-HOWTO)
containing Hi.
  * /query nick starts a private conversation with nick. /query ends the
private conversation
  * /me loves Linux. sends an action to the current channel or query
containing IRC-mini-HOWTO loves Linux.
  * /dcc chat nick starts a chat with nick. Use /msg =nick (notice the =) to
send messages over the chat
  * /dcc send nick /etc/HOSTNAME sends the given file to nick
  * /dcc get nick receives the file offered by nick
  * /part leaves the active current channel
  * /part #unmaintained-HOWTO leaves channel #unmaintained-HOWTO
  * /discon disconnects from current IRCSERVER
  * /server irc.us.freenet.net connects to IRCSERVER irc.us.freenet.net
  * /quit Bye. quits your IRC session with a reason Bye.
-----------------------------------------------------------------------------
3.3. IRC Etiquette
WARNING WARNING WARNING WARNING WARNING
  * Never use IRC logged as root or any user with excessive privileges. Bad
things may happen sooner or later. You were warned. It's safe if you
create 2 users, one of them to only use IRC.
$ man adduser
On Linux channels you shouldn't:
  * Act as an idiot. If you want to be respected, then first respect each
other.
  * Use colors (^C). Most Linux users don't tolerate such mIRC crazes, and
ircII doesn't really support them. The same should apply for ANSI.
  * Use full CAPS, bold (^B), reverse (^V), underline (^_), blink (^F), and
bell (^G). The first 4 are here to emphasize words, not the whole text.
The last 2 are just very annoying.
  * Ask if you can ask a question. Just ask, but first read all documentation
available on the subject. Start looking at [file:/usr/doc/] /usr/doc/ ,
otherwise go to [http://www.tldp.org/] http://www.tldp.org/ or [http://
www.ibiblio.org/pub/Linux/docs/] http://www.ibiblio.org/pub/Linux/docs/.
And don't repeat your question immediately. Wait at least 10 minutes. If
you don't get any answer it's because nobody knows or wants to help.
Respect their choice, they're not your personal assistant. Also never
send mass private messages. It's like SPAM.
-----------------------------------------------------------------------------
4. Console IRC Clients
4.1. ircII
Maintainer: ircII project (<ircii @ eterna.com.au>)
IRC Channel: #ircII (official channel ?) on [http://www.efnet.org/
servers.html] EFNet
Originally written by Michael Sandrof, ircII comes with most Linux
distributions. It uses termcap and shouldn't be a choice for most users, but
is a standard. Mathusalem and other gurus will use it. Less ventured will
regret to have it installed.
You can get the latest version of ircII from [ftp://ircftp.au.eterna.com.au/
pub/ircII/] ftp://ircftp.au.eterna.com.au/pub/ircII/. Homepage at [http://
www.eterna.com.au/ircii/] http://www.eterna.com.au/ircii/.
-----------------------------------------------------------------------------
4.2. EPIC
Maintainer: EPIC Software Labs (<ircii-epic @ concentric.net>)
IRC Channel: #EPIC on EFNet
Based on ircII, EPIC (Enhanced Programmable ircII Client) is meant for real
scripters and users searching freedom. When you start it for the first time
you'll notice that you should really learn the basics of scripting.
You can get the latest version of EPIC from [ftp://ftp.epicsol.org/pub/epic/]
ftp://ftp.epicsol.org/pub/epic/. Homepage at [http://www.epicsol.org/] http:/
/www.epicsol.org/.
-----------------------------------------------------------------------------
4.3. BitchX
Maintainer: Colten Edwards (<edwards @ bitchx.dimension6.com>)
IRC Channel: #BitchX on EFNet
Based on ircII and EPIC, BitchX could be compared to the Pine MUA. Bloatware
(doesn't mean you shouldn't use it) and widely used. The choice for users
that want a client with built-in facilities. It can be compiled with the
GNOME libraries by using the configure option --with-gtk. Don't be surprised
if all you get is a XTerm-BitchX instead.
You can get the latest version of BitchX from [ftp://ftp.bitchx.org/pub/
BitchX/source/] ftp://ftp.bitchx.org/pub/BitchX/source/. Homepage at [http://
www.bitchx.com/] http://www.bitchx.com/. Homepage of gtkBitchX at [http://
www.bitchx.org/gtk/] http://www.bitchx.org/gtk/.
-----------------------------------------------------------------------------
4.4. irssi
Maintainer: Timo Sirainen (<tss @ iki.fi>)
IRC Channel: #irssi on [http://freenode.net/irc_servers.shtml] freenode and
[http://www.ircnet.org/] IRCnet
Timo released yagIRC ~3 years ago. It was a GUI client using the GTK+
toolkit. The army called on him, and the new maintainers wouldn't do the job.
yagIRC passed away and he started irssi as a replacement. It used GTK+. GNOME
and curses versions would appear later. As of 0.7.90 it's only a modular text
mode client. Supports Perl scripting.
You can get the latest version of irssi from [http://irssi.org/?page=
download] http://irssi.org/?page=download. Homepage at [http://irssi.org/]
http://irssi.org/.
-----------------------------------------------------------------------------
4.5. Other Console IRC Clients
There are a few others ircII based clients.
Blackened [http://www.blackened.com/blackened/] http://www.blackened.com/
blackened/.
Ninja [http://ninja.qoop.org/] http://ninja.qoop.org/.
ScrollZ [http://www.scrollz.com/] http://www.scrollz.com/.
-----------------------------------------------------------------------------
5. X Window IRC Clients
5.1. Zircon
Maintainer: Lindsay F. Marshall (<Lindsay.Marshall @ ncl.ac.uk>)
IRC Channel: None ?
Written in Tcl/Tk, uses the native network communications of Tcl.
You can get the latest version of Zircon from [ftp://catless.ncl.ac.uk/pub/]
ftp://catless.ncl.ac.uk/pub/. Homepage at [http://catless.ncl.ac.uk/Programs/
Zircon/] http://catless.ncl.ac.uk/Programs/Zircon/.
-----------------------------------------------------------------------------
5.2. KVIrc
Maintainer: Szymon Stefanek (<stefanek @ tin.it>)
IRC Channel: #KVIrc on freenode
Also written with the Qt toolkit, KVIrc is a beast. Supports DCC Voice,
built-in scripting language, and plugins.
You can get the latest version of KVIrc from [http://www.kvirc.net/?id=
download] http://www.kvirc.net/?id=download. Homepage at [http://
www.kvirc.net/] http://www.kvirc.net/.
-----------------------------------------------------------------------------
5.3. X-Chat
Maintainer: Peter Zelezny (<zed @ linux.com>)
IRC Channel: #Linux on [http://www.chatjunkies.org/servers.html] ChatJunkies
Using GTK+ and optionally GNOME, supports Perl and Python scripting.
You can get the latest version of X-Chat from [http://xchat.org/
download.html] http://xchat.org/download.html. Homepage at [http://xchat.org
/] http://xchat.org/.
-----------------------------------------------------------------------------
5.4. QuIRC
Maintainer: Patrick Earl (<quirc @ patearl.net>)
IRC Channel: #QuIRC on [http://www.dal.net/servers/] DALnet
Using Tk, supports Tcl for scripting.
You can get the latest version of QuIRC from his Homepage at [http://
quirc.org/] http://quirc.org/.
-----------------------------------------------------------------------------
6. IRC Servers
6.1. IRCD
Maintainer: ircd developers(<ircd-dev @ irc.org>)
IRC Channel: #ircd on IRCnet
The original IRC daemon, mainly used by IRCnet.
You can get the latest version of IRCD from [ftp://ftp.irc.org/irc/server/]
ftp://ftp.irc.org/irc/server/. Homepage at [http://www.irc.org/] http://
www.irc.org/.
-----------------------------------------------------------------------------
6.2. IRCD-Hybrid
Maintainer: (<ircd-hybrid @ the-project.org>)
IRC Channel: None ?
Mainly used by EFNet.
You can get the latest version of IRCD-Hybrid from [ftp://ftp.blackened.com/
pub/irc/hybrid/] ftp://ftp.blackened.com/pub/irc/hybrid/. Homepage at [http:/
/www.ircd-hybrid.org/] http://www.ircd-hybrid.org/.
-----------------------------------------------------------------------------
6.3. ircu
Maintainer: Undernet Coder Committee (<coder-com @ undernet.org>)
IRC Channel: #ircu on [http://www.undernet.org/servers.php] Undernet
Mainly used by Undernet.
You can get the latest version of ircu from [http://ftp1.sourceforge.net/
undernet-ircu/] http://ftp1.sourceforge.net/undernet-ircu/. Homepage at
[http://coder-com.undernet.org/] http://coder-com.undernet.org/.
-----------------------------------------------------------------------------
6.4. Bahamut
Maintainer: DALnet Coding Team (<bahamut @ bahamut.net>)
IRC Channel: #Bahamut on DALnet
Based on DreamForge and Hybrid, Bahamut is the DALnet server.
You can get the latest version of Bahamut from [http://bahamut.dal.net/
download/] http://bahamut.dal.net/download/. Homepage at [http://
bahamut.dal.net/] http://bahamut.dal.net/.
-----------------------------------------------------------------------------
7. IRC Bots
7.1. eggdrop
Maintainer: (<eggdev @ eggheads.org>)
IRC Channel: #eggdrop on Undernet
eggdrop is the most known Tcl enabled application on the Net. It's a channel
robot for IRC that can be tailored to any situation.
You can get the latest version of eggdrop from [ftp://ftp.eggheads.org/pub/
eggdrop/source/] ftp://ftp.eggheads.org/pub/eggdrop/source/. Homepage at
[http://www.eggheads.org/] http://www.eggheads.org/.
-----------------------------------------------------------------------------
8. IRC Bouncers (IRC Proxy)
8.1. bnc
Maintainer: None ?
IRC Channel: None ?
bnc is the original bouncer.
You can get the latest version of bnc from [http://gotbnc.com/cgi-bin/
download.cgi] http://gotbnc.com/cgi-bin/download.cgi. Homepage at [http://
gotbnc.com/] http://gotbnc.com/.
-----------------------------------------------------------------------------
8.2. muh
Maintainer: Sebastian Kienzl (<zap @ riot.org>)
IRC Channel: None ?
muh is a smart and versatile irc-bouncing tool that will also go on IRC as
soon as it's launched, guarding or attempting to get your nick.
You can get the latest version of muh from [http://ftp1.sourceforge.net/muh/]
http://ftp1.sourceforge.net/muh/. Homepage at [http://mind.riot.org/muh/]
http://mind.riot.org/muh/.
-----------------------------------------------------------------------------
8.3. ezbounce
Maintainer: Murat Deligönül (<druglord @ freelsd.org>)
IRC Channel: None ?
ezbounce's basic features include password protection, remote administration,
logging and listening on multiple ports.
You can get the latest version of ezbounce from his Homepage at [http://
druglord.freelsd.org/ezbounce/] http://druglord.freelsd.org/ezbounce/.
-----------------------------------------------------------------------------
9. Installation
9.1. Clients
All popular clients use GNU autoconf and GNU automake, thus come with a
configure script. Read the installation instructions after you unpack the
sources. Be sure you have the required libraries in order to compile. Doing
cd sources; mkdir objdir; cd objdir; ../configure --help; ../configure
your_options_here; make; make install (or make install_strip) > ~/
sources_install.log is the right procedure. Also note that for ircII, EPIC,
and BitchX you should really edit include/config.h to suit your needs.
-----------------------------------------------------------------------------
9.2. Servers
Do you really need help to set up a server ?
~$ vim ircd.conf
-----------------------------------------------------------------------------
10. But what's already included in my distribution ? (Linux on x86)
10.1. Debian
IRC Channel: #Debian on freenode (irc.debian.org -> irc.freenode.net)
[http://www.debian.org/] Debian includes too many IRC tools to list. You can
find them at the following places:
  * Debian [http://ftp.debian.org/debian/dists/stable/main/binary-i386/]
stable.
  * Debian [http://ftp.debian.org/debian/dists/unstable/main/binary-i386/]
unstable (didn't receive enough testing).
  * Also be sure to check the [http://ftp.debian.org/debian/dists/
proposed-updates/] proposed updates. It may contain IRC clients as well.
-----------------------------------------------------------------------------
10.2. Red Hat
IRC Channel: #RedHat on freenode (irc.redhat.com -> irc.freenode.net)
[http://www.redhat.com/] Red Hat 8.0 includes the following clients:
  * [ftp://ftp.redhat.com/pub/redhat/linux/8.0/en/os/i386/RedHat/RPMS/
epic-1.0.1-8.i386.rpm] EPIC 1.0.1.
  * [ftp://ftp.redhat.com/pub/redhat/linux/8.0/en/os/i386/RedHat/RPMS/
ksirc-3.0.3-3.i386.rpm] KSirc from KDE Network 3.0.3.
  * [ftp://ftp.redhat.com/pub/redhat/linux/8.0/en/os/i386/RedHat/RPMS/
xchat-1.8.10-8.i386.rpm] X-Chat 1.8.10.
  * Red Hat Raw Hide (current development)
  * [ftp://rawhide.redhat.com/pub/redhat/linux/rawhide/] ftp://
rawhide.redhat.com/pub/redhat/linux/rawhide/. Use at your own risk.
-----------------------------------------------------------------------------
10.3. Slackware
IRC Channel: #Slackware on freenode
[http://www.slackware.com/] Slackware 8.1 includes the following clients:
  * [ftp://ftp.slackware.com/pub/slackware/slackware-8.1/slackware/n/
bitchx-1.0c19-i386-1.tgz] BitchX 1.0c19
  * [ftp://ftp.slackware.com/pub/slackware/slackware-8.1/slackware/n/
epic4-1.0.1-i386-2.tgz] EPIC4 1.0.1
  * KSirc from [ftp://ftp.slackware.com/pub/slackware/slackware-8.1/slackware
/kde/kdenetwork-3.0.1-i386-2.tgz] KDE Network 3.0.1.
  * [ftp://ftp.slackware.com/pub/slackware/slackware-8.1/slackware/gnome/
xchat-1.8.9-i386-1.tgz] X-Chat 1.8.9.
  * Slackware -current (current development)
  * [ftp://ftp.slackware.com/pub/slackware/slackware-current/] ftp://
ftp.slackware.com/pub/slackware/slackware-current/. Use at your own risk.
-----------------------------------------------------------------------------
11. Hell and Paradise
11.1. Gods (developers)
  * Thanks to all authors. Without their hard and volunteer work I'd never
write it, and we'd never get our hands on Linux nor IRC.
-----------------------------------------------------------------------------
11.2. Saints (contributors)
  * See [http://www.pervalidus.net/documentation/IRC-mini-HOWTO/] http://
www.pervalidus.net/documentation/IRC-mini-HOWTO/.
-----------------------------------------------------------------------------
11.3. Angels (feedback)
  * See above.
-----------------------------------------------------------------------------
11.4. Devils
  * Khaled Mardam-Bey must be stopped :-)
  * 'If idiots could fly, IRC would be an airport'. I don't know who wrote
that, but it makes sense. For those of you using IRC to annoy people I
ordered a /kill.
-----------------------------------------------------------------------------
12. Revision History
  * 20021121 - v0.3, fourth draft
</sect1>

View File

@ -1,26 +0,0 @@
<sect1 id="PSTN">
<title>PSTN</title>
<para>
PSTN (Public Service Telephone Network) is the telephone system that is used
thoughout the U.S. and many other countries. Although never intended for
networking, telephone lines can be used for communications for computers.
</para>
<para>
A modem (modulator/demodulator) is used to interface between a computer and
the telephone system. Modems can convert data into audible tones and back.
The fastest two-way modems currently available support a speed of 33.6 Kbps
(kilobits per second).
</para>
<para>
Current modems advertise speeds up to 56 Kbps per second. These modems rely
on digital equipment being used in the phone company's central office and in
the facility (such as the Internet Service Provider) you are dialling into.
The 56 Kbps speed also works in only one direction; the other direction supports
33.6 Kbps.
</para>
</sect1>

View File

@ -1,451 +0,0 @@
<sect1 id="Quota">
<title>Quota</title>
<para>
This section describes how to enable file system quota on a Linux
host, assigning quota for users and groups, as well as the usage of
miscellaneous quota commands. It is intended for users running kernel
2.x (recently tested on kernel 2.4.21).
</para>
1. What is quota?
1.1. What is quota for?
<para>
Quota allows you to specify limits on two aspects of disk storage: the
number of inodes a user or a group of users may possess; and the
number of disk blocks that may be allocated to a user or a group of
users.
</para>
<para>
The idea behind quota is that users are forced to stay under their
disk consumption limit, taking away their ability to consume unlimited
disk space on a system. Quota is handled on a per user, per file
system basis. If there is more than one file system which a user is
expected to create files, then quota must be set for each file system
separately. Various tools are available for you to administer and
automate quota policies on your system.
</para>
1.2. Current Status of Quota on Linux
<para>
Currently, there are some major changes in the way quota works. There
are two different setups. The tools works the same, but there's a
difference in used files. This document describes the setup and
operation of the _new_ quota setup. As the new setup of quota is not
in the regular kernel source, this setup needs some patching. We will
describe this patching and installation of the linuxquota package. If
you already have the quota software installed on your system, you may
or may not have to install this patch and package. You can email me if
you have any questions about this. I'll try to include a overview of
Linux distro's and it's implications in a later version of this
document.
</para>
2. Requirements for quota
2.1. Kernel
<para>
The 2.x kernel source is available from http://www.kernel.org
<http://www.kernel.org/> Please use an available mirror close to your
location to save bandwidth. If you have a recent version of tar, you
can download the .bz2 compressed file.
</para>
<para>
Untar the kernel:
</para>
<para>
<screen>
______________________________________________________________________
cd /usr/src
tar jxvf /path/to/linux-2.4.21-tar.bz2 - for bzip2 kernel -
tar zxvf /path/to/linux-2.4.21-tar.gz - for gzip kernel -
ln -s /usr/src/linux-2.4.21 /usr/src/linux
______________________________________________________________________
</screen>
</para>
2.2. Quota software
<para>
Depending on the Linux distribution you have, you may, or may not have
the quota softwares installed on your system. The most recent version
of quota is available through SourceForge and is in active
development. You can reach the homepage of the quota-development at
http://www.sourceforge.net/projects/linuxquota
<http://www.sourceforge.net/project/linuxquota>.
</para>
3. Quota setup: installation and configuration
3.1. Patch the kernel
<para>
Download the patch for your kernel at:
</para>
<para>
ftp::/atrey.karlin.mff.cuni.cz/pub/local/jack/quota/
<ftp://atrey.karlin.mff.cuni.cz/pub/local/jack/quota/>.
</para>
<para>
Choose your kernel version and download the patch(es). Patch your
kernel with the 'patch' command. If there is more than 1 patch for
your kernel version, be sure to apply the patches in the correct
order.
</para>
<para>
You can use this script ( I assume the downloaded patches are in
/tmp/quota/ and the kernel has been untarred to /usr/src/linux) :
</para>
<para>
<screen>
______________________________________________________________________
#!/bin/sh
gunzip /tmp/quota/*.gz
cd /usr/src/linux
COUNT=`ls -1 /tmp/quota/*.diff | wc -l`
for I in `seq 1 $COUNT`
do
patch -p1 < /tmp/quota/quota-2.4.21-$I-*.diff
done
______________________________________________________________________
</screen>
</para>
3.2. Reconfigure your kernel
<para>
Reconfigure your kernel and add quota support.
</para>
<para>
Via `make menuconfig` or `make xconfig` you can find the option to
support quota under the Filesystems-menu. You can specify extra
options if you need them, like 32-bit UID support.
</para>
<para>
Save the configuration and compile the kernel. Make sure the new
kernel will be used when rebooting the system.
</para>
3.3. Compile and install the quota softwares
<para>
To be able to use all the features of the new quota system, you'll
probably need to download the new quota-package. Download the new
quota software via the URL provided above.
</para>
<para>
When downloaded do:
</para>
<para>
<screen>
______________________________________________________________________
$ gzip -dc <downloaded file> | tar xvf
$ cd quota-tools (or whatever directory the software is put in)
$ ./configure
$ make
$ su
# make install
______________________________________________________________________
</screen>
</para>
<para>
3.4. time Modify your system init script to check quota and turn
quota on at boot
</para>
<para>
Here's an example:
</para>
<para>
<screen>
______________________________________________________________________
# Check quota and then turn quota on.
if [ -x /usr/sbin/quotacheck ]
then
echo "Checking quotas. This may take some time."
/usr/sbin/quotacheck -avug
echo " Done."
fi
if [ -x /usr/sbin/quotaon ]
then
echo "Turning on quota."
/usr/sbin/quotaon -avug
fi
______________________________________________________________________
</screen>
</para>
<para>
The golden rule is that always turn quota on after your file systems
in /etc/fstab have been mounted, otherwise quota will fail to work. I
recommend turning quota on right after the part where file systems are
mounted in your system init script.
</para>
3.5. Modify /etc/fstab
<para>
Partitions that you have not yet enabled quota normally look something
like:
</para>
<para>
<screen>
______________________________________________________________________
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr ext2 defaults 1 1
______________________________________________________________________
</screen>
</para>
<para>
To enable user quota support on a file system, add "usrquota" to the
fourth field containing the word "defaults" (man fstab for details).
</para>
<para>
<screen>
______________________________________________________________________
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr ext2 defaults,usrquota 1 1
______________________________________________________________________
</screen>
</para>
<para>
Replace "usrquota" with "grpquota", should you need group quota
support on a file system.
</para>
<para>
<screen>
______________________________________________________________________
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr ext2 defaults,grpquota 1 1
______________________________________________________________________
</screen>
</para>
<para>
Need both user quota and group quota support on a file system?
</para>
<para>
<screen>
______________________________________________________________________
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr ext2 defaults,usrquota,grpquota 1 1
______________________________________________________________________
</screen>
</para>
3.6. Activate the quota system
<para>
To activate the quota software you have to reboot the system for the
changes you have made to take effect. The new kernel with quota
support will be loaded and the startup scripts you've just created
will be executed. At first run, quotacheck will generate the
appropiate files to maintain the quota databases.
</para>
3.7. Add quotacheck to crontab
<para>
Although quota should work with periodical checks, it sometimes helps
to run quotacheck periodically, e.g. weekly. Add the following line to
your root's crontab:
</para>
<para>
<screen>
______________________________________________________________________
0 3 * * 0 /sbin/quotacheck -avug
______________________________________________________________________
</screen>
</para>
4. Quota setup: tools
<para>
This operation is performed with the edquota command (`man edquota`
for details).
</para>
4.1. Assigning quota for a particular user
<para>
Here's an example. I have a user with the login id bob on my system.
The command "edquota -u bob" takes me into vi (or editor specified in
my $EDITOR environment variable) to edit quota for user bob on each
partition that has quota enabled:
</para>
<para>
<screen>
______________________________________________________________________
Quotas for user bob:
/dev/hda3: blocks in use: 2594, limits (soft = 5000, hard = 6500)
inodes in use: 356, limits (soft = 1000, hard = 1500)
______________________________________________________________________
</screen>
</para>
<para>
"blocks in use" is the total number of blocks (in kilobytes) a user
has consumed on a partition.
</para>
<para>
"inodes in use" is the total number of inodes a user has consumed on a
partition.
</para>
4.2. Assigning quota for a particular group
<para>
Now I have a group games on my system. "edquota -g games" takes me
into the vi editor again to edit quota for the group games:
</para>
<para>
<screen>
______________________________________________________________________
Quotas for group games:
/dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000)
inodes in use: 1454, limits (soft = 3000, hard = 4000)
______________________________________________________________________
</screen>
</para>
4.3. Assigning quota for a bunch of users with the same value
<para>
To rapidly set quotas for, say 100 users, on my system to the same
value as my user bob, I would first edit bob's quota information by
hand, then execute:
</para>
<para>
<screen>
______________________________________________________________________
edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd`
______________________________________________________________________
</screen>
</para>
<para>
assuming that you are using csh, and that you assign your user UID's
starting with 500.
</para>
<para>
In addition to edquota, there are 3 terms which you should familiarize
yourself with: Soft Limit, Hard Limit, and Grace Period.
</para>
4.4. Soft Limit
<para>
_Soft limit_ indicates the maximum amount of disk usage a quota user
has on a partition. When combined with grace period, it acts as the
border line, which a quota user is issued warnings about his impending
quota violation when passed.
</para>
4.5. Hard Limit
<para>
Hard limit works only when grace period is set. It specifies the
absolute limit on the disk usage, which a quota user can't go beyond
his hard limit.
</para>
4.6. Grace Period
<para>
Executed with the command "edquota -t", grace period is a time limit
before the soft limit is enforced for a file system with quota
enabled. Time units of sec(onds), min(utes), hour(s), day(s), week(s),
and month(s) can be used. This is what you'll see with the command
"edquota -t":
</para>
<para>
<screen>
______________________________________________________________________
Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/dev/hda2: block grace period: 0 days, file grace period: 0 days
______________________________________________________________________
</screen>
</para>
<para>
Change the 0 days part to any length of time you feel reasonable. I
personally would choose 7 days (or 1 week).
</para>
5. Miscellaneous Quota Commands
5.1. Quotacheck
<para>
Quotacheck is used to scan a file system for disk usages, and updates
the quota record file "aquota.user" to the most recent state. I
recommend running quotacheck at system bootup, and via cronjob
periodically (say, every week?).
</para>
5.2. Repquota
<para>
Repquota produces a summarized quota information for a file system.
Here is a sample output repquota gives:
</para>
<para>
<screen>
______________________________________________________________________
# repquota -a
Block limits File limits
User used soft hard grace used soft hard grace
root -- 175419 0 0 14679 0 0
bin -- 18000 0 0 735 0 0
uucp -- 729 0 0 23 0 0
man -- 57 0 0 10 0 0
user1 -- 13046 15360 19200 806 1500 2250
user2 -- 2838 5120 6400 377 1000 1500
______________________________________________________________________
</screen>
</para>
5.3. Quotaon and Quotaoff
<para>
Quotaon is used to turn on quota accounting; quotaoff to turn it off.
Actually both files are similar. They are executed at system startup
and shutdown.
</para>
</sect1>

File diff suppressed because it is too large Load Diff

View File

@ -50,8 +50,9 @@ http://www.sangoma.com/fguide.htm
www.citap.com/documents/tcp-ip/tcpip012.htm
and of course in the TCP/IP Request For Comments (RFC) publication
<para>
Layer 1 and 2 - Network Access
<para>
These two layers (Physical/Datalink) deal with pure hardware (ie. wires,
satellite links, NICs, hubs.....) and is roughly synonymous with that of
the Physical layer of the OSI Network Layer Model. The protocols in this
@ -70,8 +71,9 @@ delivering data between two devices on the same network. Node physical
addresses are used to accomplish delivery on the local network.
</para>
<para>
Layer 3 - Internet
<para>
The Internetwork Layer it is the heart of TCP/IP and the most important protocol.
IP provides the basic packet delivery service on which TCP/IP networks are built.
All protocols, in the layers above and below IP, use the Internet Protocol to
@ -91,8 +93,9 @@ internetwork routing. The Address Resolution Protocol (ARP) enable IP to identif
physical address that matches a given IP address.
</para>
<para>
Layer 4 - Transport
<para>
The transport layer is similar to the OSI transport model, but with elements
of the OSI session layer functionality. This layer provides an application
layer delivery service. The two protocols found at the transport layer are
@ -158,8 +161,9 @@ The delivering of information from an application on one computer to an
application on another computer.
</para>
<para>
Layer 5 - Process/Application
<para>
This layer is broadly equivalent to the application, presentation,
session layers of the OSI model. It includes all processes that use the
transport layer protocols to deliver data. There are many applications