summaryrefslogtreecommitdiffstats
path: root/share/doc
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1997-05-23 12:55:14 +0000
committerpeter <peter@FreeBSD.org>1997-05-23 12:55:14 +0000
commit2f3b1873a166e82848aee73ec3720da31bc6e7d6 (patch)
treed17bd9e4e2ca709a023b5a7b030ba3cdde39d6bf /share/doc
parent09b6e2858e64c29ae617a610a0fff7c22cd35968 (diff)
downloadFreeBSD-src-2f3b1873a166e82848aee73ec3720da31bc6e7d6.zip
FreeBSD-src-2f3b1873a166e82848aee73ec3720da31bc6e7d6.tar.gz
Disconnect the FAQ and handbook from the makefiles and remove the files.
The FAQ and handbook have been repository copied to their own top-level ("doc") directory in the cvs tree which will not be branched so as to avoid the syncing problems. At some point, the sgml text will require formatting tools that will be from ports rather than the main source tree. Requested by: jfieber, jkh
Diffstat (limited to 'share/doc')
-rw-r--r--share/doc/FAQ/FAQ.sgml4086
-rw-r--r--share/doc/FAQ/Makefile6
-rw-r--r--share/doc/Makefile20
-rw-r--r--share/doc/handbook/Makefile19
-rw-r--r--share/doc/handbook/authors.sgml489
-rw-r--r--share/doc/handbook/basics.sgml96
-rw-r--r--share/doc/handbook/bibliography.sgml334
-rw-r--r--share/doc/handbook/boothelp.sgml50
-rw-r--r--share/doc/handbook/booting.sgml173
-rw-r--r--share/doc/handbook/contrib.sgml502
-rw-r--r--share/doc/handbook/crypt.sgml78
-rw-r--r--share/doc/handbook/ctm.sgml201
-rw-r--r--share/doc/handbook/current.sgml162
-rw-r--r--share/doc/handbook/cvsup.sgml574
-rw-r--r--share/doc/handbook/cyclades.sgml57
-rw-r--r--share/doc/handbook/development.sgml106
-rw-r--r--share/doc/handbook/dialout.sgml249
-rw-r--r--share/doc/handbook/dialup.sgml810
-rw-r--r--share/doc/handbook/diskless.sgml163
-rw-r--r--share/doc/handbook/dma.sgml535
-rw-r--r--share/doc/handbook/eresources.sgml459
-rw-r--r--share/doc/handbook/esdi.sgml421
-rw-r--r--share/doc/handbook/firewalls.sgml528
-rw-r--r--share/doc/handbook/glossary.sgml5
-rw-r--r--share/doc/handbook/goals.sgml25
-rw-r--r--share/doc/handbook/handbook.sgml181
-rw-r--r--share/doc/handbook/history.sgml91
-rw-r--r--share/doc/handbook/hw.sgml1486
-rw-r--r--share/doc/handbook/install.sgml819
-rw-r--r--share/doc/handbook/isdn.sgml226
-rw-r--r--share/doc/handbook/kerberos.sgml480
-rw-r--r--share/doc/handbook/kernelconfig.sgml1285
-rw-r--r--share/doc/handbook/kerneldebug.sgml525
-rw-r--r--share/doc/handbook/kernelopts.sgml149
-rw-r--r--share/doc/handbook/linuxemu.sgml700
-rw-r--r--share/doc/handbook/lists.sgml67
-rw-r--r--share/doc/handbook/mail.sgml430
-rw-r--r--share/doc/handbook/memoryuse.sgml50
-rw-r--r--share/doc/handbook/mirrors.sgml702
-rw-r--r--share/doc/handbook/nfs.sgml86
-rw-r--r--share/doc/handbook/nutshell.sgml151
-rw-r--r--share/doc/handbook/pgpkeys.sgml364
-rw-r--r--share/doc/handbook/policies.sgml230
-rw-r--r--share/doc/handbook/porting.sgml1422
-rw-r--r--share/doc/handbook/ports.sgml847
-rw-r--r--share/doc/handbook/ppp.sgml427
-rw-r--r--share/doc/handbook/printing.sgml3876
-rw-r--r--share/doc/handbook/quotas.sgml208
-rw-r--r--share/doc/handbook/relnotes.sgml587
-rw-r--r--share/doc/handbook/routing.sgml279
-rw-r--r--share/doc/handbook/russian.sgml195
-rw-r--r--share/doc/handbook/scsi.sgml891
-rw-r--r--share/doc/handbook/sections.sgml62
-rw-r--r--share/doc/handbook/serial.sgml64
-rw-r--r--share/doc/handbook/sio.sgml207
-rw-r--r--share/doc/handbook/skey.sgml302
-rw-r--r--share/doc/handbook/slipc.sgml193
-rw-r--r--share/doc/handbook/slips.sgml509
-rw-r--r--share/doc/handbook/stable.sgml108
-rw-r--r--share/doc/handbook/submitters.sgml619
-rw-r--r--share/doc/handbook/sup.sgml163
-rw-r--r--share/doc/handbook/synching.sgml50
-rw-r--r--share/doc/handbook/term.sgml539
-rw-r--r--share/doc/handbook/uart.sgml1108
-rw-r--r--share/doc/handbook/userppp.sgml751
-rw-r--r--share/doc/ja_JP.EUC/Makefile6
-rw-r--r--share/doc/ja_JP.EUC/handbook/Makefile26
-rw-r--r--share/doc/ja_JP.EUC/handbook/authors.sgml490
-rw-r--r--share/doc/ja_JP.EUC/handbook/basics.sgml93
-rw-r--r--share/doc/ja_JP.EUC/handbook/bibliography.sgml429
-rw-r--r--share/doc/ja_JP.EUC/handbook/boothelp.sgml51
-rw-r--r--share/doc/ja_JP.EUC/handbook/booting.sgml183
-rw-r--r--share/doc/ja_JP.EUC/handbook/contrib.sgml499
-rw-r--r--share/doc/ja_JP.EUC/handbook/crypt.sgml79
-rw-r--r--share/doc/ja_JP.EUC/handbook/ctm.sgml217
-rw-r--r--share/doc/ja_JP.EUC/handbook/current.sgml161
-rw-r--r--share/doc/ja_JP.EUC/handbook/cvsup.sgml576
-rw-r--r--share/doc/ja_JP.EUC/handbook/cyclades.sgml58
-rw-r--r--share/doc/ja_JP.EUC/handbook/development.sgml103
-rw-r--r--share/doc/ja_JP.EUC/handbook/dialout.sgml264
-rw-r--r--share/doc/ja_JP.EUC/handbook/dialup.sgml821
-rw-r--r--share/doc/ja_JP.EUC/handbook/diskless.sgml164
-rw-r--r--share/doc/ja_JP.EUC/handbook/dma.sgml501
-rw-r--r--share/doc/ja_JP.EUC/handbook/eresources.sgml454
-rw-r--r--share/doc/ja_JP.EUC/handbook/esdi.sgml418
-rw-r--r--share/doc/ja_JP.EUC/handbook/firewalls.sgml579
-rw-r--r--share/doc/ja_JP.EUC/handbook/glossary.sgml6
-rw-r--r--share/doc/ja_JP.EUC/handbook/goals.sgml33
-rw-r--r--share/doc/ja_JP.EUC/handbook/handbook.sgml195
-rw-r--r--share/doc/ja_JP.EUC/handbook/history.sgml114
-rw-r--r--share/doc/ja_JP.EUC/handbook/hw.sgml1519
-rw-r--r--share/doc/ja_JP.EUC/handbook/install.sgml846
-rw-r--r--share/doc/ja_JP.EUC/handbook/isdn.sgml231
-rw-r--r--share/doc/ja_JP.EUC/handbook/jcontrib.sgml74
-rw-r--r--share/doc/ja_JP.EUC/handbook/jmembers.sgml132
-rw-r--r--share/doc/ja_JP.EUC/handbook/kerberos.sgml492
-rw-r--r--share/doc/ja_JP.EUC/handbook/kernelconfig.sgml1252
-rw-r--r--share/doc/ja_JP.EUC/handbook/kerneldebug.sgml523
-rw-r--r--share/doc/ja_JP.EUC/handbook/kernelopts.sgml153
-rw-r--r--share/doc/ja_JP.EUC/handbook/linuxemu.sgml714
-rw-r--r--share/doc/ja_JP.EUC/handbook/lists.sgml66
-rw-r--r--share/doc/ja_JP.EUC/handbook/mail.sgml585
-rw-r--r--share/doc/ja_JP.EUC/handbook/memoryuse.sgml61
-rw-r--r--share/doc/ja_JP.EUC/handbook/mirrors.sgml703
-rw-r--r--share/doc/ja_JP.EUC/handbook/nfs.sgml88
-rw-r--r--share/doc/ja_JP.EUC/handbook/nutshell.sgml153
-rw-r--r--share/doc/ja_JP.EUC/handbook/pgpkeys.sgml370
-rw-r--r--share/doc/ja_JP.EUC/handbook/policies.sgml257
-rw-r--r--share/doc/ja_JP.EUC/handbook/porting.sgml1416
-rw-r--r--share/doc/ja_JP.EUC/handbook/ports.sgml862
-rw-r--r--share/doc/ja_JP.EUC/handbook/ppp.sgml429
-rw-r--r--share/doc/ja_JP.EUC/handbook/printing.sgml4179
-rw-r--r--share/doc/ja_JP.EUC/handbook/quotas.sgml226
-rw-r--r--share/doc/ja_JP.EUC/handbook/relnotes.sgml575
-rw-r--r--share/doc/ja_JP.EUC/handbook/routing.sgml269
-rw-r--r--share/doc/ja_JP.EUC/handbook/russian.sgml192
-rw-r--r--share/doc/ja_JP.EUC/handbook/scsi.sgml958
-rw-r--r--share/doc/ja_JP.EUC/handbook/sections.sgml64
-rw-r--r--share/doc/ja_JP.EUC/handbook/serial.sgml76
-rw-r--r--share/doc/ja_JP.EUC/handbook/sio.sgml198
-rw-r--r--share/doc/ja_JP.EUC/handbook/skey.sgml355
-rw-r--r--share/doc/ja_JP.EUC/handbook/slipc.sgml205
-rw-r--r--share/doc/ja_JP.EUC/handbook/slips.sgml514
-rw-r--r--share/doc/ja_JP.EUC/handbook/stable.sgml108
-rw-r--r--share/doc/ja_JP.EUC/handbook/submitters.sgml694
-rw-r--r--share/doc/ja_JP.EUC/handbook/sup.sgml162
-rw-r--r--share/doc/ja_JP.EUC/handbook/synching.sgml52
-rw-r--r--share/doc/ja_JP.EUC/handbook/term.sgml527
-rw-r--r--share/doc/ja_JP.EUC/handbook/uart.sgml1093
-rw-r--r--share/doc/ja_JP.EUC/handbook/userppp.sgml791
130 files changed, 2 insertions, 60259 deletions
diff --git a/share/doc/FAQ/FAQ.sgml b/share/doc/FAQ/FAQ.sgml
deleted file mode 100644
index 61d6da1..0000000
--- a/share/doc/FAQ/FAQ.sgml
+++ /dev/null
@@ -1,4086 +0,0 @@
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-<!-- $Id: FAQ.sgml,v 1.53 1997/05/07 16:32:31 wosch Exp $ -->
-
- <article>
-
-<title>Frequently Asked Questions for FreeBSD 2.X
-<author>Maintainer: Peter da Silva <tt><htmlurl url='mailto:pds@FreeBSD.ORG'
- name='&lt;pds@FreeBSD.ORG&gt;'></tt>
-<date>$Date: 1997/05/07 16:32:31 $</date>
-
-<abstract>
-This is the FAQ for FreeBSD systems version 2.X All entries are
-assumed to be relevant to FreeBSD 2.0.5+, unless otherwise noted.
-Any entries with a &lt;XXX&gt; are under construction.
-
-
-</abstract>
-
- <toc>
-
- <sect>
- <heading>Preface</heading>
- <p>
- Welcome to the FreeBSD 2.X FAQ!
-
- <sect1>
- <heading>What is the purpose of this FAQ?</heading>
- <p>
- As is usual with Usenet FAQs, this document aims to cover the most
- frequently asked questions concerning the FreeBSD operating system
- (and of course answer them!). Although originally intended to reduce
- bandwidth and avoid the same old questions being asked over and over
- again, FAQs have become recognized as valuable information resources.
-
- Every effort has been made to make this FAQ as informative as
- possible; if you have any suggestions as to how it may be improved,
- please feel free to mail them to the <url
- url="mailto:pds@FreeBSD.ORG" name="FAQ maintainer">.
-
- <sect1>
- <heading>What is FreeBSD?</heading>
- <p>
- Briefly, FreeBSD 2.X is a UN*X-like operating system based on
- U.C. Berkeley's 4.4BSD-lite release for the i386 platform. It is
- also based indirectly on William Jolitz's port of U.C. Berkeley's
- Net/2 to the i386, known as 386BSD, though very little of the 386BSD
- code remains. A fuller description of what FreeBSD is and how
- it can work for you may be found in the <url url="../../welcome.html"
- name="Welcome Document">.
-
- FreeBSD is used by companies, Internet Service Providers, researchers,
- computer professionals, students and home users all over the world
- in their work, education and recreation. See some of them in the
- <url url="http://www.freebsd.org/gallery.html" name="FreeBSD Gallery.">
-
- For more detailed information on FreeBSD, please see the
- <url url="../handbook/handbook.html" name="FreeBSD Handbook.">
-
- <sect1>
- <heading>What are the goals of FreeBSD?</heading>
- <p>
- The goals of the FreeBSD Project are to provide software that may
- be used for any purpose and without strings attached. Many of us
- have a significant investment in the code (and project) and would
- certainly not mind a little financial renumeration now and then,
- but we're definitely not prepared to insist on it. We believe
- that our first and foremost "mission" is to provide code to any
- and all comers, and for whatever purpose, so that the code gets
- the widest possible use and provides the widest possible benefit.
- This is, we believe, one of the most fundamental goals of Free
- Software and one that we enthusiastically support.
-
- That code in our source tree which falls under the GNU Public License
- (GPL) or GNU Library Public License (GLPL) comes with slightly more
- strings attached, though at least on the side of enforced
- access rather than the usual opposite. Due to the additional
- complexities that can evolve in the commercial use of GPL software,
- we do, however, endeavor to replace such software with submissions
- under the more relaxed BSD copyright whenever possible.
-
- <sect1>
- <heading>Why is it called FreeBSD?</heading>
- <p>
- <itemize>
- <item>It may be used free of charge, even by commercial users.
- <item>Full source for the operating system is freely available, and
- the minimum possible restrictions have been placed upon its
- use, distribution and incorporation into other work (commercial
- or non-commercial).
- <item>Anyone who has an improvement and/or bug fix is free to submit
- their code and have it added to the source tree (subject to
- one or two obvious provisos).
- </itemize>
-
- For those of our readers whose first language is not English, it may be
- worth pointing out that the word ``free'' is being used in two ways here,
- one meaning ``at no cost'', the other meaning ``you can do whatever you
- like''. Apart from one or two things you <tt /cannot/ do with the
- FreeBSD code, for example pretending you wrote it, you really can do
- whatever you like with it.
-
- <sect1>
- <heading>What is the latest version of FreeBSD?</heading>
- <p>
- Version <url url="ftp://ftp.freebsd.org/pub/FreeBSD/2.1.7.1-RELEASE" name="2.1.7">
- is the latest <em>stable</em> version; it was released in February, 1997.
- Version <url url="ftp://ftp.freebsd.org/pub/FreeBSD/2.2.1-RELEASE" name="2.2.1">
- is the latest <em>release</em> version; it was released in March, 1997.
- Briefly explained, <bf>-stable</bf> is aimed at the ISP or other
- corporate user who wants stability and a low change count over
- the wizzy new features of the latest release (which is <bf>2.2.1</bf>).
-
- <p>This is not to say that 2.2.1 is unusable for business services,
- and many people who need some 2.2 specific feature (newer
- compiler technology, faster networking code, etc) have decided to take
- a chance with it with very good results. We simply do not wish to
- "certify" 2.2 as mission-worthy until it's run another release or two
- down its branch and been better shaken-out.
-
- <sect1>
- <heading>What is FreeBSD-current?</heading>
- <p>
- <url url="../handbook/current.html" name="FreeBSD-current"> is the
- development version of the operating system, which will in due
- course become 3.0-RELEASE. As such, it is really only of interest
- to developers working on the system and die-hard hobbiests.
- See the <url url="../handbook/current.html" name="relevant section">
- in the <url url="../handbook/handbook.html" name="handbook"> for
- details on running -current.
-
- <sect1>
- <heading> What are ``snapshots''?<label id="snapshots"></heading>
- <p>
- Every now and again, a <url url="../releases/snapshots.html"
- name="snapshot"> is taken of the development code and prepared
- more or less as if it were an official release; recently,
- CDROMs have even been cut from the snapshots. The intention is to:-
-
- <itemize>
- <item>Test the latest version of the installation software.
- <item>Allow people who would like to run -current, but who don't
- have the time and/or bandwidth to follow it on a day-to-day
- basis, an easy way to bootstrap it onto their systems.
- <item>
- Preserve a fixed reference point for the code in question,
- in case we really break something badly later.
-
- <item>Ensure that a new feature in need of testing has the
- greatest possible number of potential testers.
- </itemize>
-
- No claim is made that a snapshot is regarded as being of
- ``production quality'' for any purpose. For that, you will
- have to stick to full releases.
-
- <sect1>
- <heading> What about FreeBSD-stable?</heading>
- <p>
- Back when FreeBSD 2.0.5 was released, we branched FreeBSD
- development into two parts. One branch was named <url
- url="../handbook/stable.html" name="-stable">, with the
- intention that only well-tested bug fixes and small incremental
- enhancements would be made to it (for Internet Service Providers
- and other commercial enterprises for whom sudden shifts or
- experimental features are quite undesirable). The other branch was
- 3.0-current, which essentially has been one unbroken line leading
- towards 3.0-RELEASE since 2.0 was released. If a little ASCII art
- would help, this is how it looks:
-<verb>
- 2.0
- |
- |
- |
- 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7 [2.1-stable ends]
- | (Feb 1997)
- |
- [3.0-current] 2.2-SNAPs
- |
- |
- 2.2-ALPHA -> -BETA -> -GAMMA -> 2.2-RELEASE -> [2.2-stable]
- | (Mar 1997)
- |
- 3.0-SNAPs (Q1 1997)
- |
- |
- \|/
- +
-
- [future 3.x releases]
-</verb>
- <p>
- The -current branch is slowly progressing towards 3.0 and beyond,
- whereas the existing -stable branch will be terminated by the
- release of 2.2, resurrecting itself as 2.2-stable after the
- 2.2-RELEASE is out.
-
- <sect1>
- <heading>Why is the -stable branch ending with 2.1.7? </heading>
- <p>
- While we'd certainly like to be able to continue both branches of
- development, we've found that the version control tools available to
- us are not particularly well-suited for this; in fact, they quickly
- result in a maintenance nightmare for any branch which lives much
- beyond 2-3 months. The -stable branch has, by contrast, lasted for
- well over a year and what little sanity the FreeBSD developers have
- left would be in serious jeopardy if we continued in this way.
- Perhaps in the future we'll figure out another model which gives
- everyone what they want, and we are working on such a model, but in
- the meantime it's probably best to think of -stable coming to an end
- with <url url="ftp://ftp.freebsd.org/pub/FreeBSD/pub/2.1.7.1-RELEASE"
- name="2.1.7.1-RELEASE"> (the final point release after 2.1.7).
-
- <sect1>
- <heading> When are FreeBSD releases made?</heading>
- <p>
- As a general principle, the FreeBSD core team only release a new
- version of FreeBSD when they believe that there are sufficient new
- features and/or bug fixes to justify one, and are satisfied that the
- changes made have settled down sufficiently to avoid compromising the
- stability of the release. Many users regard this caution as one of
- the best things about FreeBSD, although it can be a little
- frustrating when waiting for all the latest goodies to become
- available...
- <p>
- Releases are made about every 6 months on average.
-
- <sect1>
- <heading>How do I make my own custom release?<label id="custrel"></heading>
- <p>
- To make a release you need to do three things: First, you need to
- be running a kernel with the <tt/vn/ driver configured in. Add
- this to your kernel config file and build a new kernel:
-
- <verb>
-pseudo-device vn #Vnode driver (turns a file into a device)
- </verb>
-
- Second, you have to have the whole CVS repository at hand.
- To get this you can use
- <url url="../handbook/cvsup.html" name="CVSUP">
- but your tag value, if any, should be `.' and your release name
- should be cvs:
-
- <verb>
-*default prefix=/home/ncvs base=/a host=cvsup.FreeBSD.org release=cvs delete compress use-rel=suffix
-
-## Main Source Tree
-src-all
-src-eBones
-src-secure
-
-# Other stuff
-ports-all
-www
- </verb>
-
- Then run <tt/cvsup -g supfile/ to suck all the good bits into your
- box...
-
- Finally, you need a chunk of empty space to build into. Let's
- say it's in <tt>/some/big/filesystem</tt>, and from the example
- above you've got the CVS repository in <tt>/home/ncvs</tt>:
-
- <verb>
-setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs
-cd /usr/src/release
-make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release
- </verb>
-
- An entire release will be built in
- <tt>/some/big/filesystem/release</tt>
- and you will have a full FTP-type installation in
- <tt>/some/big/filesystem/release/R/ftp</tt>
- when you're done. If you want to build your SNAP along some other
- branch than -current, you can also add <tt/RELEASETAG=SOMETAG/ to
- the make release command line above, e.g. <tt/RELEASETAG=RELENG_2_2/
- would build an up-to-the- minute 2.2 GAMMA snapshot.
-
- <sect1>
- <heading> Is FreeBSD only available for PCs?</heading>
- <p>
- At present, yes, though a port to the DEC Alpha architecture
- is planned. If your machine has a different architecture and
- you need something right now, we suggest you look at
- <url url="http://www.netbsd.org/" name="NetBSD"> or
- <url url="http://www.openbsd.org/" name="OpenBSD">.
-
- <sect1>
- <heading> Who is responsible for FreeBSD?</heading>
- <p>
- The key decisions concerning the FreeBSD project, such as the
- overall direction of the project and who is allowed to add code to
- the source tree, are made by a <url url="../handbook/contrib:core.html"
- name="core team"> of some 17 people. There is a much larger
- team of around 70+ <url url="../handbook/contrib:committers.html"
- name="committers"> who are authorized to make changes directly to the
- FreeBSD source tree.
- <p>
- However, most non-trivial changes are discussed in advance in the
- mailing lists, and there are no restrictions on who may take part
- in the discussion.
-
- <sect1>
- <heading>Where can I get FreeBSD?<label id="where-get"></heading>
- <p>
- The distribution is available via anonymous ftp from:
- <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/" name="the FreeBSD FTP site">
-
- For the current stable release, 2.1.7.1R, look in:
- <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.1.7.1-RELEASE/"
- name="FreeBSD 2.1.7.1-RELEASE">
-
- For the current 2.2 branch release, 2.2.1R, look in:
- <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.2.1-RELEASE/"
- name="FreeBSD 2.2.1-RELEASE">
-
- <url url="ftp://releng22.freebsd.org/pub/FreeBSD/" name="SNAPshot releases">
- are also made once a day along the RELENG_2_2 branch (2.2.1 -> 2.2.x)
- as it winds its way towards the next point release on the 2.2 branch
- (2.2.3, possibly, or maybe 2.2.5 depending on the change delta). With
- the occasional exception of accidental breakage, the RELENG_2_2
- branch is being carefully maintained (no experimental changes, fixes only
- after testing in -current) and these snapshots of it may be considered
- "2.2.1+" for all intents and purposes and more desirable than 2.2.1 for new
- installations.
-
- FreeBSD is also available via CDROM, from the following place(s):
-
- Walnut Creek CDROM<newline>
- 4041 Pike Lane, Suite D-386<newline>
- Concord, CA 94520 USA<newline>
- Orders: (800)-786-9907<newline>
- Questions: (510)-674-0783<newline>
- FAX: (510)-674-0821<newline>
- email: <url url="mailto:orders@cdrom.com"
- name="WC Orders address"> <newline>
- WWW: <url url="http://www.cdrom.com/" name="WC Home page"><newline>
-
- In Australia, you may find it at:
-
- Advanced Multimedia Distributors<newline>
- Factory 1/1 Ovata Drive<newline>
- Tullamarine, Melbourne<newline>
- Victoria<newline>
- Australia<newline>
-
- Voice: +61 3 9338 67777<newline>
-
- CDROM Support BBS<newline>
- 17 Irvine St<newline>
- Peppermint Grove WA 6011<newline>
-
- Voice: +61 9 385-3793<newline>
- Fax: +61 9 385-2360<newline>
-
- And in the UK:
-
- The Public Domain &amp; Shareware Library<newline>
- Winscombe House, Beacon Rd<newline>
- Crowborough<newline>
- Sussex. TN6 1UL<newline>
-
- Voice: +44 01892 663298<newline>
- Fax: +44 01892 667473<newline>
- (Do not dial the leading zero if calling from outside the UK).
-
-
-
- <sect1>
- <heading>Where do I find info on the mailing lists?</heading>
- <p>
- You can find full information in the
- <url url="../handbook/eresources:mail.html"
- name="Handbook entry on mailing-lists.">
- <p>
-
- <sect1>
- <heading>What FreeBSD news groups are available?</heading>
- <p>
- You can find full information in the
- <url url="../handbook/eresources:news.html"
- name="Handbook entry on newsgroups.">
-
- <sect1>
- <heading>Is there anything about FreeBSD on IRC (Internet Relay Chat) ?</heading>
- <p>
- There are two channels about FreeBSD on IRC:
- <enum>
- <item>The main channel is &num;FreeBSD on the EFNET. You can
- use your regular IRC server for it.
- <item>You can point your IRC client to <tt/irc.FreeBSD.org/
- This server is on BSDnet and hosts &num;FreeBSD. This
- is not the same channel.
- </enum>
- <sect1>
- <heading>Books on FreeBSD</heading>
- <p>
- Greg Lehey's book ``Installing and Running FreeBSD'' is available
- from Walnut Creek and ships with the 2.1.7 CDROM. There is also
- a larger book entitled ``The Complete FreeBSD'', which comes with
- additional printed manpages amd includes the 2.1.7 CDROM set. It
- should be available in most good bookshops now.
-
- There is a FreeBSD Documentation Project which you may contact (or
- even better, join) on the <tt>doc</tt> mailing list:
- <url url="mailto:doc@FreeBSD.ORG" name="&lt;doc@FreeBSD.ORG&gt;">.
-
- A FreeBSD ``handbook'' is available, and can be found as:
- <url url="../handbook/handbook.html" name="the FreeBSD Handbook">.
- Note that this is a work in progress, and so parts may be incomplete.
-
- However, as FreeBSD 2.X is based upon Berkeley 4.4BSD-Lite, most
- of the 4.4BSD manuals are applicable to FreeBSD 2.X. O'Reilly
- and Associates publishes these manuals:
-
- 4.4BSD System Manager's Manual <newline>
- By Computer Systems Research Group, UC Berkeley <newline>
- 1st Edition June 1994, 804 pages <newline>
- ISBN: 1-56592-080-5 <NEWLINE>
-
- 4.4BSD User's Reference Manual <newline>
- By Computer Systems Research Group, UC Berkeley <newline>
- 1st Edition June 1994, 905 pages <newline>
- ISBN: 1-56592-075-9 <NEWLINE>
-
- 4.4BSD User's Supplementary Documents <newline>
- By Computer Systems Research Group, UC Berkeley <newline>
- 1st Edition July 1994, 712 pages <newline>
- ISBN: 1-56592-076-7 <NEWLINE>
-
- 4.4BSD Programmer's Reference Manual <newline>
- By Computer Systems Research Group, UC Berkeley <newline>
- 1st Edition June 1994, 886 pages <newline>
- ISBN: 1-56592-078-3 <NEWLINE>
-
- 4.4BSD Programmer's Supplementary Documents <newline>
- By Computer Systems Research Group, UC Berkeley <newline>
- 1st Edition July 1994, 596 pages <newline>
- ISBN: 1-56592-079-1 <NEWLINE>
-
- A description of these can be found via WWW as:
-
- <url url="http://gnn.com/gnn/bus/ora/category/bsd.html"
- name="4.4BSD books description">
-
- For a more in-depth look at the 4.4BSD kernel organization,
- you can't go wrong with:
-
- McKusick, Marshall Kirk, Keith Bostic, Michael J Karels,
- and John Quarterman.<newline>
- <em>The Design and Implementation of the 4.4BSD Operating
- System</em>. Reading, Mass. : Addison-Wesley, 1996.<newline>
- ISBN 0-201-54979-4<newline>
-
- A good book on system administration is:
-
- Evi Nemeth, Garth Snyder, Scott Seebass &amp; Trent R. Hein,<newline>
- ``Unix System Administration Handbook'', Prentice-Hall, 1995<newline>
- ISBN: 0-13-151051-7<newline>
-
- <bf/NOTE/ make sure you get the second edition, with a red cover,
- instead of the first edition.
-
- This book covers the basics, as well as TCP/IP, DNS, NFS,
- SLIP/PPP, sendmail, INN/NNTP, printing, etc.. It's expensive
- (approx. US&dollar;45-&dollar;55), but worth it. It also
- includes a CDROM with the sources for various tools; most of
- these, however, are also on the FreeBSD 2.1.7R CDROM (and the
- FreeBSD CDROM often has newer versions).
-
- <sect1>
- <heading>I have heard about the Problem Report database.
- Is there an easy way to accesss it ?</heading>
- <p>
- The Problem Report database, filled with all the problems, bugs
- and changes requested by users with help of the <url
- url="http://www.freebsd.org/send-pr.html" name="send-pr">
- command can be reached at
- <url url="http://www.freebsd.org/cgi-bin/query-pr-summary.cgi"
- name="PR Database Summary">
-
- <sect1>
- <heading>Other sources of information.</heading>
- <p>
- The following newsgroups contain pertinent discussion for FreeBSD
- users:
-
- <itemize>
- <item><url url="comp.unix.bsd.freebsd.announce" name="comp.unix.bsd.freebsd.announce">
- <item><url url="comp.unix.bsd.freebsd.misc" name="comp.unix.bsd.freebsd.misc">
- <item><url url="comp.unix.bsd.misc" name="comp.unix.bsd.misc">
- </itemize>
-
- If you have WWW access, please visit <url url="http://www.freebsd.org/"
- name="the FreeBSD home page">.
-
- The FreeBSD handbook has a pretty complete
- <url url="../handbook/bibliography.html" name="Bibliography">
-
- <label id="pao">There's also a wealth of information about using
- FreeBSD on laptops at
- <url url="http://www.jp.FreeBSD.org/PAO/"
- name="Tatsumi Hosokawa's Mobile Computing page"> in Japan.
-
- <sect>
- <heading>Installation</heading>
- <p>
- <sect1>
- <heading>Which file do I download to get FreeBSD?</heading>
- <p>
- You generally need just one floppy image, the <em>floppies/boot.flp</em>
- file, which you image-copy onto a 1.44MB floppy and then boot it
- in order to download the rest (and the installation will manage your TCP/IP
- collection, deal with tapes, CDROMs, floppies, DOS partitions, whatever's
- necessary to get the reset of the bits installed).
-
- Full instructions on this procedure and a little bit more about installation
- issues in general can be found in the <url url="../handbook/install.html"
- name="Handbook entry on installing FreeBSD.">
-
- <sect1>
- <heading>Where are the instructions for installing FreeBSD?</heading>
- <p>
- Installation instructions can be found in the
- <url url="../handbook/install.html"
- name="Handbook entry on installing FreeBSD.">
-
- <sect1>
- <heading>What do I need in order to run FreeBSD?</heading>
- <p>
- You'll need a 386 or better PC, with 5 MB or more of RAM and at
- least 60 MB of hard disk space. It can run with a low end MDA
- card but to run X11R6, a VGA or better video card is needed.
-
- See also the section on <ref id="hardware" name="Hardware compatibility">
-
- <sect1>
- <heading>I have only 4 MB of RAM. Can I install FreeBSD?</heading>
- <p>
- FreeBSD 2.1.7 was the last version of FreeBSD that could be installed on
- a 4MB system. Newer versions of FreeBSD, like 2.2, need at least
- 5MB to install on a new system.
-
- All versions of FreeBSD, including 2.2, will RUN in 4MB of ram, they
- just can't run the installation program in 4MB. You can add
- extra memory for the install process, if you like, and then
- after the system is up and running, go back to 4MB. Or you could
- always just swap your disk into a system which has >4MB, install onto
- it and then swap it back.
-
- There are also situations in which FreeBSD 2.1.7 will not install
- in 4 MB. To be exact: it does not install with 640 kB base + 3 MB
- extended memory. If your motherboard can remap some of the ``lost''
- memory out of the 640kB to 1MB region, then you may still be able
- to get FreeBSD 2.1.7 up.
-
- Try to go into your BIOS setup and look for a ``remap'' option.
- Enable it. You may also have to disable ROM shadowing.
-
- It may be easier to get 4 more MB just for the install. Build a
- custom kernel with only the options you need and then get the 4
- MB out again.
-
- You may also install 2.0.5 and then upgrade your system to 2.1.7
- with the ``upgrade'' option of the 2.1.7 installation program.
-
- After the installation, if you build a custom kernel, it will run
- in 4 MB. Someone has even succeeded in booting with 2 MB (the
- system was almost unusable though :-))
-
- <sect1>
- <heading>I've got some other special requirements, can I make my own
- custom install floppy?</heading>
- <p>
- Currently there's no way to *just* make a custom install floppy.
- You have to cut a whole new release, which will include your
- install floppy. There's some code in
- <TT>/usr/src/release/floppies/Makefile</TT> that's supposed to let
- you *just* make those floppies, but it's not really gelled yet.
-
- To make a custom release, follow the instructions
- <ref id="custrel" name="here">.
-
- <sect1>
- <heading>Can Windows 95 co-exist with FreeBSD?</heading>
-
- <p>
- Install Windows 95 first, after that FreeBSD. FreeBSD's boot
- manager will then manage to boot Win95 and FreeBSD. If you
- install Windows 95 second, it will boorishly overwrite your
- boot manager without even asking. If that happens, see
- the next section.
-
- <sect1>
- <heading>Help, Windows 95 killed my boot manager! How do I get
- it back?</heading>
-
- <p>You can reinstall the boot manager FreeBSD comes with in one of
- two ways:
-
- <itemize>
- <item>Running DOS, go into the tools/ directory of your FreeBSD
- distribution and look for <bf>bootinst.exe</bf>. You run it like so:
- <p><bf>bootinst.exe boot.bin</bf>
- <p>And the boot manager will be reinstalled.
-
- <item>Boot the FreeBSD boot floppy again and go to the Custom
- installation menu item. Choose Partition. Select the drive which
- used to contain your boot manager (likely the first one) and when you
- come to the partition editor for it, as the very first thing (e.g.
- do not make any changes) select (W)rite. This will ask for
- confirmation, say yes, and when you get the Boot Manager selection
- prompt, be sure to select "Boot Manager."
- This will re-write the boot manager to disk. Now quit out of the
- installation menu and reboot off the hard disk as normal.
- </itemize>
-
- <sect1>
- <heading>How can I have more than one operating system on my PC?</heading>
- <p>
- Have a look at <url url="http://www.in.net/~jayrich/doc/multios.html"
- name="The multi-OS page.">
-
- <sect1>
- <heading>Can I install on an IDE disk with bad blocks?</heading>
- <p>
- FreeBSD's bad block (the ``<tt/bad144/'' command) handling is
- still not 100&percnt; (to put it charitably) and it must
- unfortunately be said that if you've got an IDE or ESDI drive
- with lots of bad blocks, then FreeBSD is probably not for you!
- That said, it does work on thousands of IDE based systems, so
- you'd do well to try it first before simply giving up.
-
- <sect1>
- <heading>Strange things happen when I boot the install floppy!</heading>
- <p>
- If you're seeing things like the machine grinding to a halt or
- spontaneously rebooting when you try to boot the install floppy,
- here are three questions to ask yourself:-
- <enum>
- <item>Did you use a new, freshly-formatted, error-free floppy
- (preferably a brand-new one straight out of the box, as
- opposed to the magazine coverdisk that's been lying under
- the bed for the last three years)?
- <item>Did you download the floppy image in binary (or image) mode?
- (don't be embarrassed, even the best of us have made this
- mistake at least once when FTP'ing things!)
- shell in the GUI can cause this problem.
- </enum>
-
- There have also been reports of Netscape causing problems when
- downloading the boot floppy, so it's probably best to use a different
- FTP client if you can.
-
- <sect1>
- <heading>Help! I can't install from tape!</heading>
- <p>
- If you are installing 2.1.7R from tape, you must create the tape
- using a tar blocksize of 10 (5120 bytes). The default tar
- blocksize is 20 (10240 bytes), and tapes created using this
- default size cannot be used to install 2.1.7R; with these tapes,
- you will get an error that complains about the record size being
- too big.
-
- <sect1>
- <heading>Can I install on my laptop over PLIP (Parallel Line IP)?</heading>
- <p>
- Connect the two computers using a Laplink parallel cable to use
- this feature:
-
- <verb>
- +----------------------------------------+
- |A-name A-End B-End Descr. Port/Bit |
- +----------------------------------------+
- |DATA0 2 15 Data 0/0x01 |
- |-ERROR 15 2 1/0x08 |
- +----------------------------------------+
- |DATA1 3 13 Data 0/0x02 |
- |+SLCT 13 3 1/0x10 |
- +----------------------------------------+
- |DATA2 4 12 Data 0/0x04 |
- |+PE 12 4 1/0x20 |
- +----------------------------------------+
- |DATA3 5 10 Strobe 0/0x08 |
- |-ACK 10 5 1/0x40 |
- +----------------------------------------+
- |DATA4 6 11 Data 0/0x10 |
- |BUSY 11 6 1/0x80 |
- +----------------------------------------+
- |GND 18-25 18-25 GND - |
- +----------------------------------------+
- </verb>
-
- See also <ref id="pao" name="this note"> on the Mobile Computing page.
-
- <sect1>
- <heading>Which geometry should I use for a disk drive?<label id="geometry"></heading>
- <p>
- (By the "geometry" of a disk, we mean the number of cylinders,
- heads and sectors/track on a disk - I'll refer to this as
- C/H/S for convenience. This is how the PC's BIOS works out
- which area on a disk to read/write from).
-
- This seems to cause a lot of confusion for some reason. First
- of all, the <tt /physical/ geometry of a SCSI drive is totally
- irrelevant, as FreeBSD works in term of disk blocks. In fact, there
- is no such thing as "the" physical geometry, as the sector density
- varies across the disk - what manufacturers claim is the "true"
- physical geometry is usually the geometry that they've worked out
- results in the least wasted space. For IDE disks, FreeBSD does
- work in terms of C/H/S, but all modern drives will convert this
- into block references internally as well.
-
- All that matters is the <tt /logical/ geometry - the answer that the
- BIOS gets when it asks "what is your geometry" and then uses to access
- the disk. As FreeBSD uses the BIOS when booting, it's very important
- to get this right. In particular, if you have more than one operating
- system on a disk, they must all agree on the geometry, otherwise you
- will have serious problems booting!
-
- For SCSI disks, the geometry to use depends on whether extended
- translation support is turned on in your controller (this is
- often referred to as "support for DOS disks &gt;1GB" or something
- similar). If it's turned off, then use N cylinders, 64 heads
- and 32 sectors/track, where 'N' is the capacity of the disk in
- MB. For example, a 2GB disk should pretend to have 2048 cylinders,
- 64 heads and 32 sectors/track.
-
- If it <tt /is/ turned on (it's often supplied this way to get around
- certain limitations in MSDOS) and the disk capacity is more than 1GB,
- use M cylinders, 63 heads (*not* 64), and 255 sectors per track, where
- 'M' is the disk capacity in MB divided by 7.844238 (!). So our
- example 2GB drive would have 261 cylinders, 63 heads and 255 sectors
- per track.
-
- If you are not sure about this, or FreeBSD fails to detect the
- geometry correctly during installation, the simplest way around
- this is usually to create a small DOS partition on the disk. The
- correct geometry should then be detected (and you can always remove
- the DOS partition in the partition editor if you don't want to keep
- it, or leave it around for programming network cards and the like).
-
- Alternatively, there is a freely available utility distributed with
- FreeBSD called ``<tt/pfdisk.exe/'' (located in the <tt>tools</tt>
- subdirectory on the FreeBSD CDROM or on the various FreeBSD
- ftp sites) which can be used to work out what geometry the other
- operating systems on the disk are using. You can then enter this
- geometry in the partition editor.
-
- <sect1>
- <heading>Any restrictions on how I divide the disk up?</heading>
-
- <p>
- Yes. You must make sure that your root partition is below 1024
- cylinders so the BIOS can boot the kernel from it. (Note that this
- is a limitation in the PC's BIOS, not FreeBSD).
-
- For a SCSI drive, this will normally imply that the root partition
- will be in the first 1024MB (or in the first 4096MB if extended
- translation is turned on - see previous question). For IDE, the
- corresponding figure is 504MB.
-
- <sect1><heading>What about disk managers? My BIOS doesn't support large drives!</heading>
- <p>
- FreeBSD recognises the Ontrack Disk Manager and makes allowances
- for it. Other disk managers are not supported.
-
- If you just want to use the disk with FreeBSD you don't need a
- disk manager. Just configure the disk for as much space as the
- BIOS can deal with (usually 504 megabytes), and FreeBSD
- should figure out how much space you really have. If you're using
- an old disk with an MFM controller, you may need to explicitly
- tell FreeBSD how many cylinders to use.
-
- If you want to use the disk with FreeBSD and another operating
- system, you may be able to do without a disk manager: just make sure
- the the FreeBSD boot partition and the slice for the other
- operating system are in the first 1024 cylinders.
-
- <sect1>
- <heading>When I boot FreeBSD I get ``Missing Operating System''.</heading>
- <p>
- This is classically a case of FreeBSD and DOS or some other OS
- conflicting over their ideas of disk <ref id="geometry"
- name="geometry."> You will have to reinstall FreeBSD, but obeying the
- instructions given above will almost always get you going.
-
- <sect1>
- <heading>I can't get past the boot manager's `F?' prompt.</heading>
-
- <p>
- This is another symptom of the problem described in the preceding
- question. Your BIOS geometry and FreeBSD geometry settings do
- not agree! If your controller or BIOS supports cylinder
- translation (often marked as ``&gt;1GB drive support''), try
- toggling its setting and reinstalling FreeBSD.
-
- <sect1>
- <heading>How can I add my new hard disk to my FreeBSD system?</heading>
- <p>
- The easiest way to do this is from the installation program. You
- can start the installation program by running
- <tt>/stand/sysinstall</tt> as root.
- <p>
- Alternatively, if you still have the install floppy, you can just
- reboot from that and use the partition & label editors while
- the system is totally quiescent.
- <p>
- <label id="2_1-disklabel-fix">
- If the above does not work for you, or if you're a total masochist
- who likes arcane interfaces, this is how to use disklabel(8) manually:
- <p>
- <em>WARNING: There is no substitute for reading carefully
- &amp; understanding what you are doing! Things described here may
- DESTROY your system. Proceed with caution! Remember, a BACKUP is your
- friend!</em>
- <p>
- <tt /sysinstall/ used to be broken up to 2.1.5-RELEASE and will
- insist on mounting something at / in the disklabel editor. You will
- have to manually run <tt /disklabel(8)/ before you can run
- <tt /newfs(8)/. This means doing the math for partitions
- yourself. This is rumoured to be easy :-) See if you can obtain a
- skeletal label with ''<tt>disklabel -r &lt;diskname&gt;</tt>''
- <em>(eg. </em>''<tt>disklabel -r /dev/rwd0s2</tt>''<em>, assuming
- that your new disk is wd0, the first IDE drive, and the FreeBSD
- slice is the second one, s2)</em>. You should see something
- like:-
-
-<verb>
-# /dev/rwd0s2:
-type: ESDI
-disk: wd0s2
-label:
-flags:
-bytes/sector: 512
-sectors/track: 63
-tracks/cylinder: 64
-sectors/cylinder: 4032
-cylinders: 610
-sectors/unit: 2459520
-rpm: 3600
-interleave: 1
-trackskew: 0
-cylinderskew: 0
-headswitch: 0 # milliseconds
-track-to-track seek: 0 # milliseconds
-drivedata: 0
-
-8 partitions:
-# size offset fstype [fsize bsize bps/cpg]
- c: 2459520 0 unused 0 0 # (Cyl. 0 - 609)
- e: 2459520 0 4.2BSD 0 0 0 # (Cyl. 0 - 609)
-</verb>
-
- Make sure that the size is correct, in this case, 2459520
- sectors/unit x 512 bytes/sector / 2**20 (1 Megabyte) = 1200
- Megabytes. The rest of the stuff (b/s, t/c, s/c, interleave, etc.)
- should get suitable defaults from <tt /disklabel/, but see
- <ref id="ESDI" name="this note"> for older disks. 'fsize' is the
- <ref id="fsize" name="Fragment size"> for the filesystem,
- and 'bsize' is the <ref id="bsize" name="Block size">. 'c' is
- the partition covering the entire slice (or entire disk for a
- non-sliced disk), and must remain as it is. <em>It should not be
- used for a filesystem</em>. The 'c' partition is magic in that it
- is faked by the kernel even if no disklabel exists.
- <p>
- In the trivial case, where you want a single filesystem spanning
- the whole slice, the entry for 'e' has to be corrected. Setting fsize
- to 1024 and bsize to 8192 (8 fragments/block), which are reasonable
- values for a filesystem, the correct entry for 'e' would be:-
-
-<verb>
- e: 2459520 0 4.2BSD 1024 8192
-</verb>
-
- <p>
- Now, the (slightly) harder case, where we want 2 partitions for 2
- filesystems. Following the <ref id="fsname" name="BSD naming
- conventions">, the partitions will be <tt /wd0s2e/ &amp;
- <tt /wd0s2f/. Suppose we split up the 1200 MB into 300 MB for
- 'e' and the remaining 900 MB for 'f'. The partition entries would
- be:-
-
-<verb>
-8 partitions:
-# size offset fstype [fsize bsize bps/cpg]
- c: 2459520 0 unused 0 0 # (Cyl. 0 - 609)
- e: 614400 0 4.2BSD 1024 8192
- f: 1843200 614400 4.2BSD 1024 8192
-</verb>
-
- <p>
- <bf /Note:/ You can directly edit the disklabel with
- ''<tt>disklabel -e wd0s2</tt>''. See <tt /disklabel(8)/.
- <p>
- If you have at least FreeBSD 2.1.5, and you want to dedicate
- an entire disk to FreeBSD without any care for other
- systems, you might shorten the steps above to something like:
-<verb>
-# dd if=/dev/zero of=/dev/rwd0 count=100
-# disklabel -Brw wd0 auto
-# disklabel -e wd0
-</verb>
-
- The first <tt/dd/ command ensures there is no old junk at
- the beginning of the disk that might confuse the disk code
- in the kernel. Following is an automatic skeleton label
- generation using the defaults that have been probed from the
- disk at boot time. Editing this label continues as described
- above.
- <p>
- You're done! Time to initialise the filesystems with something
- like:-
-
- <verb>
- newfs -d0 /dev/rwd0s2e
- newfs -d0 /dev/rwd0s2f
- </verb>
-
- Depending on the disk name and slice number, it might be
- required that you run the script <tt>/dev/MAKEDEV</tt>
- before in order to create the desired device nodes.
-
- And mount your new filesystems (See <tt /mount(8)/):-
-
- <verb>
- mount /dev/wd0s2e /mnt/foo
- mount /dev/wd0s2f /mnt/bar
- </verb>
-
- You may wish to edit <tt>/etc/fstab</tt> to automatically mount
- the filesystems at boot time.
-
- <p>
- <bf /Glossary:/
- <descrip>
- <tag><label id="fsize"><bf>Fragment Size (fsize)</bf></tag>
- The basic unit of storage for <tt /ffs/. See
- M. McKusick, W. Joy, S. Leffler, and R. Fabry,
- "A Fast File System for UNIX",
- ACM Transactions on Computer Systems 2, 3, pp 181-197, August
- 1984, (reprinted in the BSD System Manager's Manual, SMM:5) or
- <url url="file:/usr/share/doc/smm/05.fastfs/paper.ascii.gz"
- name="/usr/share/doc/smm/05.fastfs/paper.ascii.gz">
- on your system.
- <tag><label id="bsize"><bf>Block Size (bsize)</bf></tag>
- A block comprises one or more fragments. See the
- reference above and
- <url url="file:/usr/include/sys/disklabel.h"
- name="&lt;sys/disklabel.h&gt;">
- <tag><label id="ESDI">
- <bf>Disklabel Characteristics for Older Disks (ESDI)</bf></tag>
- You may need to provide more information to <tt /disklabel/
- if you happen to own a ``true disk'', i.e. one with a
- uniform geometry, real heads, sectors, and cylinders,
- such as an old ESDI drive. All of this should be easily
- obtainable from the drive case, owner's manual, fellow
- sufferers, etc. :-)
- <tag><label id="fsname">
- <bf>BSD Filesystem Naming Conventions</bf></tag>
- Partition 'a' is by convention reserved for a bootable
- partition, and partition 'b' for swap space. Regular
- partition names should start with 'd'. ('d' used to be
- magic in 386BSD 0.1 through FreeBSD 2.0, thus partition
- 'e' is often used for the first non-bootable partition
- containing a filesystem.)
- <tag><label id="swap">
- <bf>Warning about swap space</bf></tag>
- The space required by the BSD partition table is allowed
- for in the file system. It's not allowed for by the swap
- partition. So don't start swap at cylinder 0, either offset
- it or put a file system in partition 'a'.
- </descrip>
-
- <sect1>
- <heading>I have bad blocks on my hard drive!</heading>
- <p>
- With SCSI drives, the drive should be capable of re-mapping
- these automatically. However, many drives are shipped with
- this feature disabled, for some mysterious reason...
-
- To enable this, you'll need to edit the first device page mode,
- which can be done on FreeBSD by giving the command (as root)
-
-<verb>
- scsi -f /dev/rsd0c -m 1 -e -P 3
-</verb>
-
- and changing the values of AWRE and ARRE from 0 to 1:-
-<verb>
- AWRE (Auto Write Reallocation Enbld): 1
- ARRE (Auto Read Reallocation Enbld): 1
-</verb>
-
- For other drive types, you are dependent on support from the
- operating system. Unfortunately, the ``bad144'' command that
- FreeBSD supplies for this purpose needs a considerable amount
- of work done on it...
-
- IDE drives are <em/supposed/ to come with built-in bad-block
- remapping; if you have documentation for your drive, you may want
- to see if this feature has been disabled on your drive. However,
- ESDI, RLL, and ST-506 drives normally do not do this.
-
- <sect1>
- <heading>I have &gt;16MB of RAM. Will this cause any problems?<label id="bigram"></heading>
-
- <p>
- No. FreeBSD 2.X comes with bounce buffers which allows your bus
- mastering controller access to greater than 16MB. (Note that this
- should only be required if you are using ISA devices, although
- one or two broken EISA and VLB devices may need it as well).
-
- Also look at the section on <ref id="reallybigram"
- name="&gt;64M machines"> if you have that much memory,
- or if you're using a Compaq or other BIOS that lies about
- the available memory.
-
- <sect1>
- <heading>I keep seeing messages like ``<tt/ed1: timeout/''.</heading>
- <p>
- This is usually caused by an interrupt conflict (e.g., two boards
- using the same IRQ). FreeBSD prior to 2.0.5R used to be tolerant
- of this, and the network driver would still function in the
- presence of IRQ conflicts. However, with 2.0.5R and later, IRQ
- conflicts are no longer tolerated. Boot with the -c option and
- change the ed0/de0/... entry to match your board.
-
- <sect1>
- <heading>Do I need to install the complete sources?</heading>
-
- <p> In general, no. However, we would strongly recommend that you
- install, at a minimum, the ``<tt/base/'' source kit, which
- includes several of the files mentioned here, and the
- ``<tt/sys/'' (kernel) source kit, which includes sources for the
- kernel. There is nothing in the system which requires the
- presence of the sources to operate, however, except for the
- kernel-configuration program <tt/config(8)/. With the exception
- of the kernel sources, our build structure is set up so that you
- can read-only mount the sources from elsewhere via NFS and still
- be able to make new binaries. (Because of the kernel-source
- restriction, we recommend that you not mount this on
- <tt>/usr/src</tt> directly, but rather in some other location
- with appropriate symbolic links to duplicate the top-level
- structure of the source tree.)
-
- Having the sources on-line and knowing how to build a system with
- them will make it much easier for you to upgrade to future
- releases of FreeBSD.
-
-
- <sect1>
- <heading>I live outside the US. Can I use DES encryption?</heading>
-
- <p> If it is not absolutely imperative that you use DES style
- encryption, you can use FreeBSD's default encryption for even
- <bf/better/ security, and with no export restrictions. FreeBSD
- 2.0's password default scrambler is now <bf/MD5/-based, and is
- more CPU-intensive to crack with an automated password cracker
- than DES, and allows longer passwords as well.
-
- Since the DES encryption algorithm cannot legally be exported
- from the US, non-US users should not download this software (as
- part of the <tt/secrdist/ from US FTP sites.
-
- There is however a replacement libcrypt available, based on
- sources written in Australia by David Burren. This code is now
- available on some non-US FreeBSD mirror sites. Sources for the
- unencumbered libcrypt, and binaries of the programs which use it,
- can be obtained from the following FTP sites:
-
- <descrip>
- <tag/South Africa/
- <tt>ftp://ftp.internat.freebsd.org/pub/FreeBSD</tt><newline>
- <tt>ftp://storm.sea.uct.ac.za/pub/FreeBSD</tt>
- <tag/Brazil/
- <tt>ftp://ftp.iqm.unicamp.br/pub/FreeBSD</tt>
- <tag/Finland/
- <tt>ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt</tt>
- </descrip>
-
- The non-US <tt/securedist/ can be used as a direct replacement
- for the encumbered US <tt/securedist/. This <tt/securedist/
- package is installed the same way as the US package (see
- installation notes for details). If you are going to install DES
- encryption, you should do so as soon as possible, before
- installing other software.
-
- Non-US users should please not download any encryption software
- from the USA. This can get the maintainers of the sites from
- which the software is downloaded into severe legal difficulties.
-
- A non-US distribution of Kerberos is also being developed, and
- current versions can generally be obtained by anonymous FTP from
- <tt>braae.ru.ac.za</tt>.
-
- There is a mailing list for the discussion of non-US encryption
- software. For more information, send an email message with a
- single line saying ``<tt/help/'' in the body of your message to
- <tt>&lt;majordomo@braae.ru.ac.za&gt;</tt>.
-
- </sect1>
- </sect>
- <sect>
- <heading>Hardware compatibility <label id="hardware"></heading>
- <p>
- <sect1>
- <heading>What kind of hard drives does FreeBSD run on?</heading>
-
- <p>
- IDE and SCSI hard drives are supported. FreeBSD also
- supports ST-506 (sometimes called ``MFM''), RLL, and ESDI
- drives, which are usually connected to WD-1002, WD-1003, or
- WD-1006/7 controllers (although clones should also work).
-
- <sect1>
- <heading>What SCSI controllers are supported?</heading>
-
- <p>
- FreeBSD supports the following SCSI controllers:
-
- <descrip>
- <tag/Adaptec/
- AH-1505 &lt;ISA&gt; <newline>
- AH-152x Series &lt;ISA&gt; <newline>
- AH-154x Series &lt;ISA&gt; <newline>
- AH-174x Series &lt;EISA&gt; <newline>
- Sound Blaster SCSI (AH-152x compat) &lt;ISA&gt; <newline>
- AH-2742/2842 Series &lt;ISA/EISA&gt; <newline>
- AH-2820/2822/2825 Series (Narrow/Twin/Wide) &lt;VLB&gt; <newline>
- AH-294x and aic7870 MB controllers (Narrow/Twin/Wide) &lt;PCI&gt;<newline>
- AH-394x (Narrow/Twin/Wide)
- <tag/Buslogic/
- BT-445 Series &lt;VLB&gt; (but see section <ref id="bigram"
- name="on &gt;16 MB machines">) <newline>
- BT-545 Series &lt;ISA&gt; <newline>
- BT-742 Series &lt;EISA&gt;<newline>
- BT-747 Series &lt;EISA&gt;<newline>
- BT-946 Series &lt;PCI&gt; <newline>
- BT-956 Series &lt;PCI&gt; <newline>
- <tag/Future Domain/
- TMC-950 Series &lt;ISA&gt; <newline>
- <tag/PCI Generic/
- NCR 53C81x based controllers &lt;PCI&gt; <newline>
- NCR 53C82x based controllers &lt;PCI&gt; <newline>
- NCR 53C860/75 based controllers &lt;PCI&gt; <newline>
- <tag/ProAudioSpectrum/
- Zilog 5380 based controllers &lt;ISA&gt; <newline>
- Trantor 130 based controllers &lt;ISA&gt; <newline>
- <tag/DTC/
- DTC 3290 EISA SCSI in AHA-154x emulation.<newline>
- <tag/Seagate/
- ST-01/02 Series &lt;ISA&gt;<newline>
- <tag/UltraStor/
- UH-14f Series &lt;ISA&gt;<newline>
- UH-24f Series &lt;EISA&gt; <newline>
- UH-34f Series &lt;VLB&gt;<newline>
- <tag/Western Digital/
- WD7000 &lt;ISA&gt; &lt;No scatter/gather&gt;
- </descrip>
-
- <sect1>
- <heading>What CD-ROM drives are supported by FreeBSD?</heading>
-
- <p>
- Any SCSI drive connected to a supported controller.
-
- <itemize>
- <item>Mitsumi LU002 (8bit), LU005 (16bit) and FX001D (16bit 2x
- Speed).
- <item>Sony CDU 31/33A<newline>
- <item>Sound Blaster Non-SCSI CD-ROM<newline>
- <item>Matsushita/Panasonic CD-ROM<newline>
- <item>ATAPI compatible IDE CD-ROMs (should be considered
- <bf/experimental/)
- </itemize>
- All non-SCSI cards are known to be extremely slow compared to
- SCSI drives.
-
- <sect1>
- <heading>How about ZIP drives?</heading>
-
- <p>
- FreeBSD supports the SCSI ZIP drive out of the box, of course. The
- ZIP drive can only be set to run at SCSI target IDs 5 or 6, but if
- your SCSI host adapter's BIOS supports it you can even boot from
- it. I don't know which host adapters let you boot from targets
- other than 0 or 1... look at your docs (and let me know if it works
- out for you).
-
- There is no built in support for the parallel ZIP drive, and if you
- haven't bought your ZIP drive already I recommend you get the SCSI
- one... the price is the same, and the performance is much better,
- and you're unlikely to ever be able to boot from the parallel port.
-
- If you already have a parallel ZIP, there is a port of the Linux
- driver available at
- <url url="http://www.prism.uvsq.fr/~son/ppa3.html"
- name="Nicolas Souchu's home page"> in France.
-
- Also check out <ref id="jaz" name="this note on removable drives">.
-
- <sect1>
- <heading>And how about JAZ, EZ, and other removable drives?</heading>
-
- <p>
- Apart from the IDE version of the EZ drive, these are all SCSI
- devices, so the should all look like SCSI disks to FreeBSD, and
- the IDE EZ should look like an IDE drive.
-
- <label id="jaz">
- I'm not sure how well FreeBSD supports changing the media out
- while running. You will of course need to dismount the drive
- before swapping media, and make sure that any external units are
- powered on when you boot the system so FreeBSD can see them.
-
- <sect1>
- <heading>What multi-port serial cards are supported by FreeBSD?</heading>
-
- <p>
- <itemize>
- <item>AST/4 in shared IRQ mode,
- <item>ARNET 8 port in shared IRQ mode,
- <item>BOCA 4/8/16 port cards in shared IRQ mode,
- <item>Cyclades 8/16 port &lt;Alpha&gt;,
- <item>Cronyx/Sigfgma multiport sync/async,
- <item>RISCom/8 multiport card,
- <item>SCCSI Usenet II in shared IRQ mode,
- <item>STB 4 port i shared IRQ mode,
- </itemize>
-
- Some unnamed clone cards have also been known to work, especially
- those that claim to be AST compatible.
-
- A Digiboard driver is currently in alpha stage. If you want to
- test it, take the file in
- <url url="ftp://freefall.FreeBSD.ORG/pub/incoming"
- name="the incoming directory">
-
- Check the <tt/sio(4)/ man page to get more information on
- configuring such cards.
-
- <sect1>
- <heading>Does FreeBSD support Adaptec's AHA-2xxx SCSI adapters?</heading>
-
- <p>
- FreeBSD supports the AHA-2xxx line of adapters. The GPL portions
- of the old drivers have been re-written and they are now fully
- under the Berkeley style copyright. However, the 2920 is <bf /not/
- currently supported.
-
- <sect1>
- <heading>I have a Mumbleco bus mouse. How do I set it up?</heading>
-
- <p>
- FreeBSD supports the Logitech and ATI Inport bus mice. You need
- to add the following line to the kernel config file and recompile
- for the Logitech and ATI mice:
- <verb>
- device mse0 at isa? port 0x23c tty irq5 vector mseintr
- </verb>
-
- <sect1>
- <heading>I have a PS/2 mouse (``keyboard'' mouse) How do I use it?<label id="ps2mouse"></heading>
- <p>
- You'll have to add the following lines to your kernel
- configuration file and recompile:
-<verb>
-device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
-# Options for psm:
-options PSM_CHECKSYNC #checks the header byte for sync.
-</verb>
-
- <p>
- See the <url url="../handbook/kernelconfig.html"
- name="Handbook entry on configuring the kernel">
- if you've no experience with building kernels.
-
- If you're running FreeBSD 2.1.6 or later, the psm0 device
- line is already there, but it's disabled. Remove the keyword
- <tt/disable/ from the device line to enable it, or if you
- don't want to compile a kernel just boot with the "-c" flag
- and enable it from there.
-
- Once you have a kernel detecting psm0 correctly at boot time,
- make sure that an entry for psm0 exists in /dev. You can do this
- by typing:
-<verb>
- cd /dev; sh MAKEDEV psm0
-</verb>
- When logged in as root.
-
- <sect1>
- <heading>I have a laptop with a track-ball mouse.</heading>
-
- <p>
- Please refer to <ref id="ps2mouse" name="the answer to the previous question">.
- And check out <ref id="pao" name="this note"> on the Mobile Computing page.
-
- <sect1>
- <heading>What types of tape drives are supported under FreeBSD?</heading>
-
- <p>
- FreeBSD supports SCSI, QIC-02 and QIC-40/80 (Floppy based) tape
- drives. This includes 8-mm (aka Exabyte) and DAT drives.
- The QIC-40/80 drives are known to be slow.
-
- Some of the early 8-mm drives are not quite compatible with
- SCSI-2, and may not work well with FreeBSD.
- </sect1>
-
- <sect1>
- <heading>How about tape changers?</heading>
-
- <p>FreeBSD 2.2 supports SCSI changers using the <tt/ch/ device and the
- <tt/chio/ command. The details of how you actually control the
- changer can be found in the <tt/chio(1)/ man page.
-
- If you're not using <tt/AMANDA/ or some other product that already
- understands changers, remember that they're only know how to move a
- tape from one point to another, so you need to keep track of which
- slot a tape is in, and which slot the tape currently in the drive
- needs to go back to.
- </sect1>
-
- <sect1>
- <heading>What sound cards are supported by FreeBSD?</heading>
-
- <p>
- FreeBSD supports the SoundBlaster, SoundBlaster Pro, SoundBlaster
- 16, Pro Audio Spectrum 16, AdLib and Gravis UltraSound sound
- cards. There is also limited support for MPU-401 and compatible
- MIDI cards. The SoundBlaster 16 ASP cards are not yet
- supported. The Microsoft Sound System is also supported.
-
- <bf/NOTE/ This is only for sound! This driver does not support
- CD-ROMs, SCSI or joysticks on these cards.
-
- <sect1>
- <heading>What network cards does FreeBSD support?</heading>
-
- <p>
- There is support for the following cards:
-
- <descrip>
- <tag/``de'' driver/
- DEC DC21x40 and compatible PCI controllers<newline>
- (including 21140 100bT cards) <newline>
- <tag/``ed'' driver/
- NE2000 and 1000<newline>
- WD/SMC 8003, 8013 and Elite Ultra (8216)<newline>
- 3Com 3c503 <newline>
- HP 27247B and 27252A <newline>
- And clones of the above <newline>
- <tag/``le'' driver/
- DEC EtherWORKS II and EtherWORKS III controllers. <newline>
- <tag/``ie'' driver/
- AT&amp;T EN100/StarLAN 10 <newline>
- 3COM 3c507 Etherlink 16/TP<newline>
- NI5210 <newline>
- <tag/``is'' driver/
- Isolan AT 4141-0 <newline>
- Isolink 4110 <newline>
- <tag/``el'' driver/
- 3com 3c501 (does not support Multicast or DMA)
- <tag/``eg'' driver/
- 3com 3c505 Etherlink/+
- <tag/``ze'' driver/
- IBM PCMCIA credit card adapter
- <tag/``lnc'' drive/
- Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL)(*)
- <tag/``ep'' driver/
- 3com 3c509 (Must disable PNP support on card)
- <tag/``ix'' driver/
- Intel InterExpress
- <tag/``cx'' driver/
- Cronyx/Sigma multiport Sync/Async (Cisco and PPP framing)
- <tag/``zp'' driver/
- 3Com PCMCIA Etherlink III (aka 3c589)
- <tag/``fea'' driver/
- DEC DEFEA EISA FDDI controller
- <tag/``fpa'' driver/
- DEC DEFPA PCI FDDI controller
- <tag/``fe'' driver/
- Fujitsu MB86960A/MB86965A Ethernet cards
- </descrip>
-
- <bf/NOTE/ PCMCIA Ethernet cards from IBM and National
- Semiconductor.
-
- <bf/NOTE/ Drivers marked with (*) are known to have problems.
-
- <bf/NOTE/ We also support TCP/IP over parallel lines. At this point
- we are incompatible with other versions, but we hope to correct
- this in the near future.
-
- <bf/NOTE/ Some of these cards require a DOS partition on your hard
- drive to run the configuration software. Software configured cards
- may also need to be hard-reset after running another operating
- system that uses manufacturer-supplied drivers.
-
- <sect1>
- <heading>I don't have a math co-processor.</heading>
-
- <p>
- <tt /Note/ This will only affect 386/486SX/486SLC owners - other
- machines will have one built into the CPU.
- <p>
- In general this will not cause any problems, but there are
- circumstances where you will take a hit, either in performance or
- accuracy of the math emulation code (see the section <ref id="emul"
- name="on FP emulation">). In particular, drawing arcs in X will be
- VERY slow. It is highly recommended that you buy a math
- co-processor; it's well worth it.
-
- <bf/NOTE/ Some math co-processors are better than others. It pains
- us to say it, but nobody ever got fired for buying Intel. Unless
- you're sure it works with FreeBSD, beware of clones.
-
- <sect1>
- <heading>What other devices does 2.X support?</heading>
-
- <p>
- Here is a listing of drivers that do not fit into any of the
- above areas.
-
- <descrip>
- <tag><tt/b004.c/</tag>
- Driver for B004 compatible Transputer boards <newline>
- <tag>``ctx'' driver</tag>
- Driver for CORTEX-I Frame grabber <newline>
- <tag>``gp'' driver</tag>
- Driver for National Instruments AT-GPIB and<newline>
- AT-GPIB/TNT boards
- <tag>``pca'' driver</tag>
- Driver for PC speakers to allow the playing of audio files
- <tag>``spigot'' driver</tag>
- Driver for the Creative Labs Video Spigot
- <tag>``gsc'' driver</tag>
- Driver for the Genuis GS-4500 Hand scanner
- <tag>``joy'' driver</tag>
- Driver for a joystick
- <tag/``labpc'' driver/
- Driver for National Instrument's Lab-PC and Lab-PC+
- <tag/``uart'' driver/
- Stand-alone 6850 UART for MIDI
- <tag/``nic'' driver/
- Dr Neuhaus NICCY 3008, 3009 &amp; 5000 ISDN cards
- <tag/``psm'' driver/
- PS/2 mouse port
- <tag><tt/tw.c/</tag>
- Driver for the X-10 POWERHOUSE <newline>
- </descrip>
-<!--
- <sect1>
- <heading>I am about to buy a new machine. What do you recommend?</heading>
-
- <p>
- See the <url url="../handbook/hw.html" name="hardware section">
- of the handbook.
--->
- <sect1>
- <heading>I have a lap-top with power management.</heading>
- <p>
- FreeBSD supports APM on certain machines. Please look in the
- <tt/LINT/ kernel config file under <tt/APM/.
-
- <sect1>
- <heading>FreeBSD does not recognise my Bustek 742a EISA SCSI.</heading>
- <p>
- This info is specific to the 742a but may also cover other
- Buslogic cards. (Bustek = Buslogic)
-
- There are 2 general ``versions'' of the 742a card. They are
- hardware revisions A-G, and revisions H - onwards. The revision
- letter is located after the Assembly number on the edge of the
- card. The 742a has 2 ROM chips on it, one is the BIOS chip and
- the other is the Firmware chip. FreeBSD doesn't care what
- version of BIOS chip you have but it does care about what version
- of firmware chip. Buslogic will send upgrade ROMS out if you
- call their tech support dept. The BIOS and Firmware chips are
- shipped as a matched pair. You must have the most current
- Firmware ROM in your adapter card for your hardware revision.
-
- The REV A-G cards can only accept BIOS/Firmware sets up to
- 2.41/2.21. The REV H- up cards can accept the most current
- BIOS/Firmware sets of 4.70/3.37. The difference between the
- firmware sets is that the 3.37 firmware supports ``round robin''
-
- The Buslogic cards also have a serial number on them. If you
- have a old hardware revision card you can call the Buslogic RMA
- department and give them the serial number and attempt to
- exchange the card for a newer hardware revision. If the card is
- young enough they will do so.
-
- FreeBSD 2.1 only supports Firmware revisions 2.21 onward. If you
- have a Firmware revision older than this your card will not be
- recognized as a Buslogic card. It may be recognized as an
- Adaptec 1540, however. The early Buslogic firmware contains an
- AHA1540 ``emulation'' mode. This is not a good thing for an EISA
- card, however.
-
- If you have an old hardware revision card and you obtain the 2.21
- firmware for it, you will need to check the position of jumper W1
- to B-C, the default is A-B.
-
- The 742a EISA cards never had the ``&gt;16MB'' problem mentioned in
- the section <ref id="bigram" name="on &gt;16 MB machines">. This is a
- problem that occurs with the Vesa-Local Buslogic SCSI cards.
-
- <sect1>
- <heading>FreeBSD does not recognise my on-board AIC-7xxx EISA SCSI in an HP Netserver</heading>
- <p>
- This is basically a known problem. The EISA on-board SCSI controller
- in the HP Netserver machines occupies EISA slot number 11, so all
- the ``true'' EISA slots are in front of it. Alas, the address space
- for EISA slots >= 10 collides with the address space assigned to PCI,
- and FreeBSD's auto-configuration currently cannot handle this
- situation very well.
-
- So now, the best you can do is to pretend there were no address
- range clash :), by bumping the kernel option <tt/EISA_SLOTS/
- to a value of 12.
- Configure and compile a kernel, as described in the
- <url url="http://www.freebsd.org/handbook/kernelconfig.html"
- name="Handbook entry on configuring the kernel">.
-
- Of course, this does present you a chicken-and-egg problem when
- installing on such a machine. In order to work around this
- problem, a special hack is available inside <em>UserConfig</em>.
- Do not use the ``visual'' interface, but the plain command-line
- interface there. Simply type
-<verb>
-eisa 12
-quit
-</verb>
-
- at the prompt, and install your system as usual. While it's
- recommendable to compile and install a custom kernel anyway,
- <tt/dset(8)/ now also understands to save this value.
-
- Hopefully, future version will have a proper fix for this problem.
-
- <sect1>
- <heading>What's up with this CMD640 IDE controller?</heading>
-
- <p>It's broken. It cannot handle commands on both channels
- simultaneously.
-
- <p>There's a workaround available now, but as of FreeBSD 2.2,
- we felt it was still not long enough in the source tree to
- shake out any potential bugs. Hence it is disabled by default.
- To enable it, you have to reconfigure and recompile your kernel
- with
-<verb>
-options "CMD640"
-</verb>
-
- in the config file.
-
- <p>In order to install the system, you must however ensure
- that only one channel of this controller will be used. Don't
- forget about ATAPI CD-ROM drives here -- if you are using one,
- it must be the slave on the primary channel. Once your new
- kernel is in place, you can rearrange the machine as you like.
-
- <p>The workaround is likely to be enabled by default in future
- versions.
-
- <sect>
- <heading>Commercial Applications</heading>
-
- <p>
- <bf/NOTE/ This section is still very sparse, though we're hoping, of
- course, that companies will add to it! :) The FreeBSD group has no
- financial interest in any of the companies listed here but simply
- lists them as a public service (and feels that commercial interest
- in FreeBSD can have very positive effects on FreeBSD's long-term
- viability). We encourage commercial software vendors to send their
- entries here for inclusion.
-
-
- <sect1>
- <heading>Where can I get Motif for FreeBSD?</heading>
- <p>Contact <ref id="xig" name="Xi Graphics"> for a Motif 2.0
- distribution for FreeBSD.
-
- This distribution includes:
- <itemize>
- <item>OSF/Motif manager, xmbind, panner, wsm.
- <item>Development kit with uil, mrm, xm, xmcxx, include and Imake files.
- <item>Static and dynamic libraries.
- <item>Demonstration applets.
- <item>Preformatted man pages.
- </itemize>
-
- <p>Be sure to specify that you want the FreeBSD version of Motif
- when ordering! Versions for BSDI and Linux are also sold by
- <em>Xi Graphics</em>. This is currently a 4 diskette set... in the
- future this will change to a unified CD distribution like their CDE.</p>
-
- <sect1>
- <heading>Where can I get CDE for FreeBSD?</heading>
- <p>Contact <ref id="xig" name="Xi Graphics"> for a CDE 1.0.10
- distribution for FreeBSD. This includes Motif 1.2.5, and can
- be used with Motif 2.0.
-
- <p>This is a unified CDROM distribution for FreeBSD and Linux.</p>
-
- <sect1>
- <heading>Are there any commercial high-performance X servers?<label id="xig"></heading>
- <p>
- Yes, <url url="http://www.xig.com" name="Xi Graphics">
- sells their Accelerated-X product for FreeBSD and other Intel
- based systems.
-
- This high performance X Server offers easy configuration, support
- for multiple concurrent video boards and is distributed in binary
- form only, in a unified diskette distribution for FreeBSD and Linux.
-
- There is a free "compatibility demo" of version 3.1 available.
-
- Xi Graphics also sells Motif and CDE for FreeBSD (see above).
-
- <descrip>
- <tag/More info/
- <url url="http://www.xig.com/" name="Xi Graphics WWW page">
- <tag/or/
- <url url="mailto:sales@xig.com" name="Sales"> or
- <url url="mailto:support@xig.com" name="Support">
- email addresses.
- <tag/or/
- phone (800) 946 7433 or +1 303 298-7478.
- </descrip>
-
- <sect1>
- <heading>Are there any Database systems for FreeBSD?</heading>
- <p>
- Yes! Conetic Software Systems has ported their C/base and C/books
- database systems to FreeBSD 2.0.5 and higher.
-
- <descrip>
- <tag/For more information/
- <url url="http://www.conetic.com/" name="Conetic Software Systems">
- <tag/or mail/
- <url url="mailto:info@conetic.com" name="Information E-mail address">
- </descrip>
-
- <sect1>
- <heading>Any other applications I might be interested in?</heading>
-
- <p>
- RenderMorphics, Ltd. sells a high-speed 3D rendering package for
- FreeBSD called ``Reality Lab'' (tm).
-
- Send email to <url url="mailto:info@render.com"
- name="info@render.com">
-
- or call: +44(0)71-251-4411 / FAX: +44(0)71-251-0939
-
- This package is also for FreeBSD 1.1.5 but has been tested and
- shown to run under FreeBSD 2.0 with the ``<tt/compat1xdist/''
- installed.
-
- Thanks must be extended to all of these companies for showing
- enough faith in FreeBSD to port their products to it. While we
- get no direct benefit from the sales of these products, the
- indirect benefits of FreeBSD proving itself to be a successful
- platform for such commercial interests will be immense! We wish
- these companies every measure of success, and can only hope that
- others are encouraged to follow suit.
-
- </sect1>
-
- <sect>
- <heading>User Applications</heading>
-
- <sect1>
- <heading>I want to run X, how do I go about it?</heading>
-
- <p>
- First, get the XFree86(tm) distribution of X11R6 from
- <tt/XFree86.cdrom.com/ The version you want for FreeBSD 2.X and
- later is <tt/XFree86 3.1.1/. Follow the instructions for
- installation carefully. You may then wish to read the
- documentation for the <tt/ConfigXF86/ tool, which assists you in
- configuring XFree86(tm) for your particular graphics
- card/mouse/etc.
-
- You may also wish to investigate the Xaccel server, which is
- available at a very reasonable price. See section
- <ref id="xig" name="on Xi Graphics"> for more details.
-
- <sect1>
- <heading>Why doesn't my mouse work with X</heading>
-
- <p>
- If you are using syscons (the default console driver), you can
- configure FreeBSD to support a mouse pointer on each virtual
- screen. In order to avoid conflicting with X, syscons supports
- a virtual device called ``<tt>sysmouse</tt>''. All mouse events
- received from the real mouse device are written to the sysmouse
- device, using the MouseSystems protocol. If you wish to use your
- mouse on one or more virtual consoles, <bf/and/ use X, the
- following configuration is recommended:
-
- <verb>
- /etc/sysconfig:
- mousedtype=ps/2 # or whatever your actual type is
- mousedport=/dev/psm0 # or whatever your real port is
-
- /etc/XF86Config
- Section Pointer
- Protocol "MouseSystems"
- Device "/dev/sysmouse"
- .....
- </verb>
-
- <p>
- Some people prefer to use ``<tt>/dev/mouse</tt>'' under X. To
- make this work, ``<tt>/dev/mouse</tt>'' should be linked to
- ``<tt>/dev/sysmouse</tt>'':
-
- <verb>
- cd /dev
- rm -f mouse
- ln -s sysmouse mouse
- </verb>
-
- <sect1>
- <heading>ghostscript gives lots of errors with my 386/486SX.<label id="emul"></heading>
-
- <p>
- You don't have a math co-processor, right?
- You will need to add the alternative math emulator to your kernel;
- you do this by adding the following to your kernel config file
- and it will be compiled in.
-
- <verb>
- options GPL_MATH_EMULATE
- </verb>
-
- <bf/NOTE/ You will need to remove the <tt/MATH&lowbar;EMULATE/
- option when you do this.
-
- <sect1>
- <heading>Is there an easy way to get hold of applications?</heading>
-
- <p>
- Yes. Please take a look at <url
- url="http://www.FreeBSD.ORG/ports/" name="the ports page">
- for software ported to FreeBSD. The list is growing daily,
- so come back to check often. All ports here should work for
- systems on either the 2.2 or 3.0 branch, and most of them
- work for 2.1.x systems as well. CDROM people will have a
- snapshot of this tree at the time of release in the
- <tt>ports/</tt> directory on the CD.
-
- We also support the concept of a ``package'', which is
- essentially a gzipped binary distribution with a little extra
- intelligence embedded in it for doing any custom installation
- work required. Packages can also be installed or uninstalled
- again easily without having to know the gory details. CDROM
- people will have a <tt>packages/</tt> directory on their CD,
- others can get the currently available packages from:
-
- <descrip>
- <tag>for 2.1.x-release</tag>
- <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.1.7/"
- name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.1.7/">
- <tag>for 2.2.1-release/2.2-stable</tag>
- <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2/"
- name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2/">
- <tag>for 3.0-current</tag>
- <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-3.0/"
- name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-3.0/">
- </descrip>
-
- or your nearest mirror site.
-
- Note that all ports may not be available as packages, and that
- new packages are constantly being added. It is always a good
- idea to check periodically to see which packages are available.
- A <tt/README/ file in the packages directory provides more
- details on the care and feeding of the package software, so no
- explicit details will be given here.
-
- <sect1>
- <heading>Where do I find libc.so.3.0?</heading>
- <p>
- You are trying to run a package for 2.2/3.0 on a 2.1.x
- system. Please take a look at the previous section and get
- the correct port/package for your system.
-
- <sect1>
- <heading>When I run a SCO/iBCS2 application, it bombs on <tt/socksys/.</heading>
-
- <p>
- You first need to edit the <tt>/etc/sysconfig</tt> in the last
- section to change the following variable to <tt/YES/:
- <verb>
- # Set to YES if you want ibcs2 (SCO) emulation loaded at startup
- ibcs2=NO
- </verb>
- It will load the <tt/ibcs2/ kernel module at startup.
-
- You'll then need to set up /compat/ibcs2/dev to look like:
-
- <verb>
-lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null
-lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys
--rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null
-lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null
-crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx
- </verb>
- You just need socksys to go to <tt>/dev/null</tt> to fake the
- open &amp; close. The code in -current will handle the rest.
- This is much cleaner than the way it was done before. If you
- want the <tt/spx/ driver for a local socket X connection, define
- <tt/SPX&lowbar;HACK/ when you compile the system.
-
- <sect1>
- <heading>How do I configure INN (Internet News) for my machine?</heading>
-
- <p>After installing the inn package or port, the
- <url url="http://www.math.psu.edu/barr/INN.html"
- name="Dave Barr's INN Page">
- where you'll find the INN FAQ may be an excellent place to start.
-
- <sect>
- <heading>Miscellaneous Questions</heading>
- <p>
-
- <sect1>
- <heading>Why does FreeBSD consume far more swap space than Linux?</heading>
-
- <p>
- It doesn't. You might mean ``why does my swap seem full?''. If
- that is what you really meant, it's because putting stuff in swap
- rather than discarding it makes it faster to recover than if the
- pager had to go through the file system to pull in clean
- (unmodified) blocks from an executable.
-
- The actual amount of dirty pages that you can have in core at
- once is not reduced; the clean pages are displaced as necessary.
-
- <sect1>
- <heading>How can I add more swap space?</heading>
-
- <p>The best way is to increase the size of your swap partition, or
- take advantage of this convenient excuse to add another disk (and
- see <ref id="swap" name="this note"> if you do), but
- <bf/Werner Griessl/ has provided these instructions for setting FreeBSD
- up for swapping to a file:
-
- <p>Here is an example for 64Mb vn-swap (<tt>/usr/swap0</tt>)
- <p>
- <enum>
- <item>
- create a vn-device
- <verb>
-cd /dev; sh ./MAKEDEV vn0
- </verb>
- <item>
- create a swapfile (<tt>/usr/swap0</tt>)
- <verb>
-dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
- </verb>
- <item>
- put into /etc/rc.local the line
- <verb>
-vnconfig -ce /dev/vn0c /usr/swap0 swap
- </verb>
- <item>
- reboot the machine
- </enum>
-
- <p>
- You must also have a kernel with the line
- <verb>
-pseudo-device vn #Vnode driver (turns a file into a device)
- </verb>
- in your config-file.
-
- </sect1>
-
- <sect1>
- <heading>What is FreeBSD's a.out executable format, and why not ELF?</heading>
- <p>To understand why FreeBSD uses the <tt>a.out</tt> format, you must
- first know a little about the 3 currently "dominant" executable
- formats for UNIX:
-
- <itemize>
- <item><bf>a.out</bf>
- <p>The oldest and `classic' unix object format. It uses a
- short and compact header with a magic number at the beginning
- that's often used to characterize the format (see the
- <tt>a.out</tt>(5) for more details). It contains three loaded
- segments: .text, .data, and .bss plus a symbol table and a
- string table.
- </item>
-
-
- <item><bf>COFF</bf>
- <p>The SVR3 object format. The header now comprises a section
- table, so you can have more than just .text, .data, and .bss
- sections.</item>
-
- <item><bf>ELF</bf>
- <p>The successor to <tt/COFF/, featuring Multiple sections
- and 32-bit or 64-bit possible values. One major drawback:
- <tt/ELF/ was also designed with the assumption that there
- would be only one ABI per system architecture. That
- assumption is actually quite incorrect, and not even in the
- commercial SYSV world (which has at least three ABIs: SVR4,
- Solaris, SCO) does it hold true.
-
- FreeBSD tries to work around this problem somewhat by
- providing a utility for <em>branding</em> a known <tt/ELF/
- executable with information about the ABI it's compliant with.
- See the man page for brandelf(1) for more information.</item>
- </itemize>
-
- <p>FreeBSD comes from the "classic" camp and uses the
- <tt/a.out/ format, a technology tried and proven through
- many generations of BSD releases. Though it has also been possible
- for some time to build and run native <tt/ELF/ binaries (and
- kernels) on a FreeBSD system, no official "push" to switch to
- ELF as the default format has, as yet, been made. Why? Well,
- when the Linux camp made their painful transition to <tt/ELF/, it
- was not so much to flee the <tt/a.out/ executable format
- as it was their inflexible jump-table based shared library
- mechanism, which made the construction of shared libraries
- very difficult for vendors and developers alike. Since the <tt/ELF/
- tools available offered a solution to the shared library
- problem and were generally seen as "the way forward" anyway, the
- migration cost was accepted as necessary and the transition
- made.
-
- <p>In FreeBSD's case, it's not quite so simple since our shared
- library mechanism is based more closely on Sun's
- <tt>SunOS</tt>-style shared library mechanism and, as such, is very
- easy to use. The only thing we actually lack with <tt/a.out/
- which <tt/ELF/ would give us is cleaner support for C++ constructors
- and destructors, among other similarly esoteric things, and it
- simply hasn't become much of a problem yet (and there is quite
- a bit of C++ code in FreeBSD's source tree). Should that change,
- a migration may, at some point, be more seriously contemplated.
- </sect1>
-
- <sect1>
- <heading>Why doesn't chmod change the permissions on symlinks?</heading>
- <p>
- You have to use either ``<tt/-H/'' or ``<tt/-L/'' together with
- the ``<tt/-R/'' option to make this work. See the <tt/chmod(1)/
- and <tt/symlink(7)/ man pages for more info.
-
- <bf/WARNING/ the ``<tt/-R/'' option does a <bf/RECURSIVE/
- <tt/chmod/. Be careful about specifying directories or symlinks
- to directories to <tt/chmod/. If you want to change the
- permissions of a directory referenced by a symlink, use
- <tt/chmod(1)/ without any options and follow the symlink with a
- trailing slash (``<tt>/</tt>''). For example, if ``<tt/foo/'' is
- a symlink to directory ``<tt/bar/'', and you want to change the
- permissions of ``<tt/foo/'' (actually ``<tt/bar/''), you would do
- something like:
- <verb>
- chmod 555 foo/
- </verb>
-
- With the trailing slash, <tt/chmod/ will follow the symlink,
- ``<tt/foo/'', to change the permissions of the directory,
- ``<tt/bar/''.
- </sect1>
-
- <sect1>
- <heading>Why are login names <bf/still/ resticted to 8 characters</heading>
-
- <p>You'd think it'd be easy enough to change <bf/UT_NAMESIZE/ and rebuild
- the whole world, and everything would just work. Unfortunately there's
- scads of applications and utilities (including system tools) that have
- hard-coded small numbers (not always "8" or "9", but oddball ones
- like "15" and "20") in structures and buffers... and it would break
- Sun's NIS clients and no doubt cause other problems in interacting
- with other UNIX systems.
- </sect1>
-
- <sect1>
- <heading>When I mount a CDROM, I get ``Incorrect super block''.</heading>
- <p>
- You have to tell <tt/mount(8)/ the type of the device that you
- want to mount. By default, <tt/mount(8)/ will assume the
- filesystem is of type ``<tt/ufs/''. You want to mount a CDROM
- filesystem, and you do this by specifying the ``<tt/-t cd9660/''
- option to <tt/mount(8)/. This does, of course, assume that the
- CDROM contains an ISO 9660 filesystem, which is what most CDROMs
- have. As of 1.1R, FreeBSD automatically understands the Rock Ridge
- (long filename) extensions as well.
-
- As an example, if you want to mount the CDROM device,
- ``<tt>/dev/cd0c</tt>'', under <tt>/mnt</tt>, you would execute:
-
- <verb>
- mount -t cd9660 /dev/cd0c /mnt
- </verb>
-
- Note that your device name (``<tt>/dev/cd0c</tt>'' in this
- example) could be different, depending on the CDROM interface.
- Note that the ``<tt/-t cd9660/'' option just causes the
- ``<tt/mount&lowbar;cd9660/'' command to be executed, and so the
- above example could be shortened to:
- <verb>
- mount_cd9660 /dev/cd0c /mnt
- </verb>
-
- <sect1>
- <heading>When I mount a CDROM, I get ``Device not configured''.</heading>
- <p>
- This generally means that there is no CDROM in the CDROM drive,
- or the drive is not visible on the bus. Feed the drive
- something, and/or check its master/slave status if it is
- IDE (ATAPI). It can take a couple of seconds for a CDROM drive
- to notice that it's been fed, so be patient.
-
- Sometimes a SCSI CD-ROM may be missed because it hadn't enough time
- to answer the bus reset. In you have a SCSI CD-ROM please try to
- add the following symbol into your kernel configuration file
- and recompile.
-
- <verb>
- options "SCSI_DELAY=15"
- </verb>
-
- <sect1>
- <heading>How do I mount a secondary DOS partition?</heading>
-
- <p>
- The secondary DOS partitions are found after ALL the primary
- partitions. For example, if you have an "E" partition as the
- second DOS partition on the second SCSI drive, you need to create
- the special files for "slice 5" in /dev, then mount /dev/sd1s5:
-
- <verb>
- % cd /dev
- % ./MAKEDEV sd1s5
- % mount -t msdos /dev/sd1s5 /dos/e
- </verb>
-
- <sect1>
- <heading>Can I mount other foreign filesystems under FreeBSD?</heading> <p>
- <bf/ Digital UNIX/ UFS CDROMs can be mounted directly on FreeBSD.
- Mounting disk partitions from Digital UNIX and other systems
- that support UFS may be more complex, depending on the details
- of the disk partitioning for the operating system in question.
- <p>
- <bf/ Linux/: 2.2 and later have support for <bf/ext2fs/ partitions.
- See mount_ext2fs(8) for more information.
-
- Any other information on this subject would be appreciated.
-
- <sect1>
- <heading>How can I use the NT loader to boot FreeBSD?</heading>
- <p>
- The general idea is that you copy the first sector of your
- native root FreeBSD or Linux partition into a file in the DOS/NT
- partition. Assuming you name that file something like
- <tt>c:&bsol;bootsect.bsd</tt> or <tt>c:&bsol;bootsect.lnx</tt>
- (inspired by <tt>c:&bsol;bootsect.dos</tt>) you can then edit the
- <tt>c:&bsol;boot.ini</tt> file to come up with something like
- this:
- <verb>
- [boot loader]
- timeout=30
- default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
- [operating systems]
- multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
- C:\BOOTSECT.BSD="FreeBSD"
- C:\BOOTSECT.LNX="Linux"
- C:\="DOS"
- </verb>
- This procedure assumes that DOS, NT, Linux, FreeBSD, or whatever
- have been installed into their respective fdisk partitions on the
- <bf/same/ disk. In my case DOS &amp; NT are in the first fdisk
- partition, FreeBSD in the second, and Linux in the third. I also
- installed FreeBSD and Linux to boot from their native partitions,
- not the disk MBR, and without delay.
-
- Mount a DOS-formatted floppy (if you've converted to NTFS) or the
- FAT partition, under, say, <tt>/mnt</tt>.
-
- In FreeBSD:
- <verb>
- dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1
- </verb>
-
- In Linux:
- <verb>
- dd if=/dev/sda2 of=/mnt/bootsect.lnx bs=512 count=1
- </verb>
-
- Reboot into DOS or NT. NTFS users copy the <tt/bootsect.bsd/
- and/or the <tt/bootsect.lnx/ file from the floppy to
- <tt/C:&bsol;/. Modify the attributes (permissions) on
- <tt/boot.ini/ with:
-
- <verb>
- attrib -s -r c:\boot.ini
- </verb>
-
- Edit to add the appropriate entries from the example
- <tt/boot.ini/ above, and restore the attributes:
-
- <verb>
- attrib -r -s c:\boot.ini
- </verb>
-
- If FreeBSD or Linux are booting from the MBR, restore it with the
- DOS ``<tt>fdisk /mbr</tt>'' command after you reconfigure them to
- boot from their native partitions.
-
- <sect1>
- <heading>My printer is ridiculously slow. What can I do ?</heading>
- <p>
- If it's parallel, and the only problem is that it's terribly
- slow, try setting your printer port into ``polled'' mode:
-
- <verb>
- lptcontrol -p
- </verb>
-
- Some newer HP printers are claimed not to work correctly in
- interrupt mode, apparently due to some (not yet exactly
- understood) timing problem.
-
- <sect1>
- <heading>Can I run DOS binaries under FreeBSD?</heading>
-
- <p>
- Not yet, though BSDI has just donated their <tt/rundos/ DOS emulation
- subsystem which we're now working on integrating and enhancing.
- Send mail to
- <url url="mailto:emulation@freebsd.org"
- name="The FreeBSD emulation discussion list">
- if you're interested in joining this effort!
-
- For now, there is a neat utility called ``<tt/pcemu/'' in the
- ports collection which emulates an 8088 and enough BIOS services
- to run DOS text mode applications. It requires the X Window
- System (provided as XFree86 3.1.2).
-
- <sect1>
- <heading>My programs occasionally die with ``Signal 11'' errors.</heading>
- <p>
- This can be caused by bad hardware (memory, motherboard, etc.).
- Try running a memory-testing program on your PC. Note that, even
- though every memory testing program you try will report your
- memory as being fine, it's possible for slightly marginal memory
- to pass all memory tests, yet fail under operating conditions
- (such as during busmastering DMA from a SCSI controller like the
- Adaptec 1542, when you're beating on memory by compiling a kernel,
- or just when the system's running particularly hot).
-
- The SIG11 FAQ (listed below) points up slow memory as being the
- most common problem. Increase the number of wait states in your
- BIOS setup, or get faster memory.
-
- For me the guilty party has been bad cache RAM or a bad on-board
- cache controller. Try disabling the on-board (secondary) cache in
- the BIOS setup and see if that solves the problem.
-
- There's an extensive FAQ on this at
- <url url="http://www.bitwizard.nl/sig11/"
- name="the SIG11 problem FAQ">
-
- <sect1>
- <heading>Help! X Window menus and dialog boxes don't work right!</heading>
- <p>
- Try turning off the Num Lock key.
-
- If your Num Lock key is on by default at boot-time, you may add
- the following line in the ``<tt/Keyboard/'' section of the
- <tt/XF86config/ file.
-
-<verb>
-# Let the server do the NumLock processing. This should only be required
-# when using pre-R6 clients
- ServerNumLock
-</verb>
-
- <sect1>
- <heading>When I boot, the screen goes black and loses sync!</heading>
- <p>
- This is a known problem with the ATI Mach 64 video card.
- The problem is that this card uses address <tt/2e8/, and
- the fourth serial port does too. Due to a bug (feature?) in the
- sio.c driver it will touch this port even if you don't have the
- fourth serial port, and <bf/even/ if you disable sio3 (the fourth
- port) which normally uses this address.
-
- Until the bug has been fixed, you can use this workaround:
- <enum>
- <item> Enter <tt/-c/ at the bootprompt.
- (This will put the kernel into configuration mode).
- <item> Disable <tt/sio0/, <tt/sio1/, <tt/sio2/ and <tt/sio3/
- (all of them). This way the sio driver doesn't get activated
- -> no problems.
- <item> Type exit to continue booting.
- </enum>
-
- If you want to be able to use your serial ports,
- you'll have to build a new kernel with the following
- modification: in <tt>/usr/src/sys/i386/isa/sio.c</tt> find the
- one occurrence of the string <tt/0x2e8/ and remove that string
- and the preceding comma (keep the trailing comma). Now follow
- the normal procedure of building a new kernel.
-
- Even after applying these workarounds, you may still find that
- X Window does not work properly. Some newer ATI Mach 64 video
- cards (notably ATI Mach Xpression) do not run with the current
- version of <tt/XFree86/; the screen goes black when you start
- X Window, or it works with strange problems. You can get
- a beta-version of a new X-server that works better, by looking at
- <url url="http://www.xfree86.org" name="the XFree86 site">
- and following the links to the new beta release. Get the
- following files:
-
- <tt>AccelCards, BetaReport, Cards, Devices, FILES, README.ati,
- README.FreeBSD, README.Mach64, RELNOTES, VGADriver.Doc,
- X312BMa64.tgz</tt>
-
- Replace the older files with the new versions and make sure you
- run <tt/xf86config/ again.
-
- <sect1>
- <heading>What is a virtual console?</heading>
- <p>
- Virtual consoles, put simply, enable you to have several
- simultaneous sessions on the same machine without doing anything
- complicated like setting up a network or running X.
- <p>
- When the system starts, it will display a login prompt on
- the monitor after displaying all the boot messages. You can
- then type in your login name and password and start working (or
- playing!) on the first virtual console.
- <p>
- At some point, you will probably wish to start another
- session, perhaps to look at documentation for a program
- you are running or to read your mail while waiting for an
- FTP transfer to finish. Just do Alt-F2 (hold down the Alt
- key and press the F2 key), and you will find a login prompt
- waiting for you on the second ``virtual console''! When you
- want to go back to the original session, do Alt-F1.
- <p>
- The default FreeBSD installation has three virtual consoles
- enabled, and Alt-F1, Alt-F2, and Alt-F3 will switch between
- these virtual consoles.
-
- <sect1>
- <heading>How do I access the virtual consoles from X?</heading>
- <p>
- If the console is currently displaying X Window, you can use
- Ctrl-Alt-F1, etc. to switch to a virtual console. Note, however,
- that once you've switched away from X Window to a virtual
- terminal, you use only the Alt- function key to switch to another
- virtual terminal or back to X Window. You do not also press the
- Ctrl key; the Ctrl-Alt-function key combination is used only when
- switching from X Window to a virtual terminal. If you insist on
- using the control key to switch back to X you can find your
- text console stuck in ``control-lock'' mode. Tap the control
- key to wake it up again.
-
- <sect1>
- <heading>How do I increase the number of virtual consoles?</heading>
- <p>
- Edit <tt>/etc/ttys</tt> and add entries for ``<tt/ttyv4/'' to
- ``<tt/ttyvc/'' after the comment on ``Virtual terminals'' (delete
- the leading whitespace in the following example):
-
- <verb>
- # Edit the existing entry for ttyv3 in /etc/ttys and change
- # "off" to "on".
- ttyv3 "/usr/libexec/getty Pc" cons25 on secure
- ttyv4 "/usr/libexec/getty Pc" cons25 on secure
- ttyv5 "/usr/libexec/getty Pc" cons25 on secure
- ttyv6 "/usr/libexec/getty Pc" cons25 on secure
- ttyv7 "/usr/libexec/getty Pc" cons25 on secure
- ttyv8 "/usr/libexec/getty Pc" cons25 on secure
- ttyv9 "/usr/libexec/getty Pc" cons25 on secure
- ttyva "/usr/libexec/getty Pc" cons25 on secure
- ttyvb "/usr/libexec/getty Pc" cons25 on secure
- </verb>
-
- Use as many or as few as you want. The more virtual terminals
- you have, the more resources that are used; this can be important
- if you have 8MB RAM or less. You may also want to change the
- ``<tt/secure/'' to ``<tt/insecure/''.
-
- <bf/IMPORTANT NOTE/ if you want to run X Window, you <bf/MUST/
- leave a virtual terminal unused (or turned off). For example, if
- you want to attach a virtual terminal to all of your twelve
- Alt-function keys, you can only attach virtual terminals to
- eleven of them. The last must be left unused, because
- X Window System
- will use it, and you will use the last Alt-function key to switch
- back to X Window (after you have switched from X Window to a
- virtual console via a Ctrl-Alt-function key). The easiest way to
- do this is to disable a console by turning it off. For example,
- if you have a keyboard with twelve function keys, you would
- change settings for virtual terminal 12 from:
-
- <verb>
- ttyvb "/usr/libexec/getty Pc" cons25 on secure
- </verb>
- to:
- <verb>
- ttyvb "/usr/libexec/getty Pc" cons25 off secure
- </verb>
-
- If your keyboard has only ten function keys, you would end up with:
- <verb>
- ttyv9 "/usr/libexec/getty Pc" cons25 off secure
- ttyva "/usr/libexec/getty Pc" cons25 off secure
- ttyvb "/usr/libexec/getty Pc" cons25 off secure
- </verb>
- (You could also just delete these lines.)
-
- Once you have edited <tt>/etc/ttys</tt>, the next step is to make
- sure that you have enough virtual terminal devices. The easiest
- way to do this is:
- <verb>
- cd /dev
- ./MAKEDEV vty12 # For 12 devices
- </verb>
-
- Next, the easiest (and cleanest) way to activate the virtual
- consoles is to reboot. However, if you really don't want to
- reboot, you can just shut down the X Window system and execute (as
- <tt/root/):
- <verb>
- kill -HUP 1
- </verb>
-
- It's imperative that you completely shut down X Window if it is
- running, before running this command. If you don't, your system
- will probably appear to hang/lock up after executing the kill
- command.
-
- <sect1>
- <heading>How do I start XDM from the <tt>/etc/ttys</tt> file ?</heading>
- <p>
- Starting xdm via /etc/ttys is a Bad Thing. I don't know why this
- crept into some README file.
-
- Start it from your <tt/rc.local/, and be explicit about how it
- has to start. If this is your last action in <tt/rc.local/, put
- a ``<tt/sleep 1/'' behind, to allow <tt/xdm/ to properly
- daemonize before the <tt/rc/ shell exits.
-
- <tt/xdm/ should be started without any arguments (i.e., as a
- daemon).
-
- <bf/NOTE:/ A previos version of this FAQ told you to add the
- <tt/vt/ you want X to use to the
- <tt>/usr/X11R6/lib/X11/xdm/Xservers</tt> file. This is not necessary:
- X will use the first free <tt/vt/ it finds.
-
- <sect1>
- <heading>What is this thing called ``<tt/sup/'', and how do I use it?</heading>
-
- <p>
- SUP stands for Software Update Protocol, and was developed by CMU
- for keeping their development trees in sync. We used it to keep
- remote sites in sync with our central development sources.
-
- SUP is not bandwidth friendly, and has been retired. The current
- recommended method to keep your sources up to date is
- <url url="../handbook/cvsup.html" name="Handbook entry on CVSup">
-
- <sect1>
- <heading>How cool is FreeBSD?</heading>
- <p>
- Q. Has anyone done any temperature testing while running FreeBSD?
- I know Linux runs cooler than dos, but have never seen a mention of
- FreeBSD. It seems to run really hot.
- <p>
- A. No, but we have done numerous taste tests on blindfolded
- volunteers who have also had 250 micrograms of LSD-25
- administered beforehand. 35% of the volunteers said that FreeBSD
- tasted sort of orange, whereas Linux tasted like purple haze.
- Neither group mentioned any particular variances in temperature
- that I can remember. We eventually had to throw the results of
- this survey out entirely anyway when we found that too many
- volunteers were wandering out of the room during the tests, thus
- skewing the results. I think most of the volunteers are at Apple
- now, working on their new ``scratch and sniff'' GUI. It's a
- funny old business we're in!
-
- Seriously, both FreeBSD and Linux uses the ``<tt/HLT/'' (halt)
- instruction when the system is idle thus lowering its energy
- consumption and therefore the heat it generates. Also if you
- have APM (automatic power management) configured, then FreeBSD
- can also put the CPU into a low power mode.
-
- <sect1>
- <heading>Who's scratching in my memory banks??</heading>
- <p>
- Q. Is there anything "odd" that FreeBSD does when compiling the
- kernel which would cause the memory to make a scratchy sound? When
- compiling (and for a brief moment after recognizing the floppy drive
- upon startup, as well), a strange scratchy sound emanates from what
- appears to be the memory banks.
- <p>
- A. Yes! You'll see frequent references to ``daemons'' in the BSD
- documentation, and what most people don't know is that this
- refers to genuine, non-corporeal entities that now possess your
- computer. The scratchy sound coming from your memory is actually
- high-pitched whispering exchanged among the daemons as they best
- decide how to deal with various system administration tasks.
-
- If the noise gets to you, a good ``<tt>fdisk /mbr</tt>'' from DOS
- will get rid of them, but don't be surprised if they react
- adversely and try to stop you. In fact, if at any point during
- the exercise you hear the satanic voice of Bill Gates coming from
- the built-in speaker, take off running and don't ever look back!
- Freed from the counterbalancing influence of the BSD daemons, the
- twin demons of DOS and Windows are often able to re-assert total
- control over your machine to the eternal damnation of your soul.
- Given a choice, I think I'd prefer to get used to the scratchy
- noises, myself!
-
- <sect1>
- <heading>How do I create customized installation disks?</heading>
- <p>
- The entire process of creating installation disks and source and
- binary archives is automated by various targets in
- <tt>/usr/src/release/Makefile</tt>. The information there should
- be enough to get you started. However, it should be said that this
- involves doing a ``make world'' and will therefore take up a lot of
- time and disk space.
-
- <sect1>
- <heading>``make world'' clobbers my existing installed binaries.</heading>
-
- <p>
- Yes, this is the general idea; as its name might suggest,
- ``make world'' rebuilds every system binary from scratch, so
- you can be certain of having a clean and consistent
- environment at the end (which is why it takes so long).
- <p>
- If the environment variable <tt/DESTDIR/ is defined while running
- ``<tt/make world/'' or ``<tt/make install/'', the newly-created
- binaries will be deposited in a directory tree identical to the
- installed one, rooted at <tt>&dollar;&lcub;DESTDIR&rcub;</tt>.
- Some random combination of shared libraries modifications and
- program rebuilds can cause this to fail in ``<tt/make world/'',
- however.
-
-
- <sect1>
- <heading>When my system boots, it says ``(bus speed defaulted)''.</heading>
-
- <p>
- The Adaptec 1542 SCSI host adapters allow the user to configure
- their bus access speed in software. Previous versions of the
- 1542 driver tried to determine the fastest usable speed and set
- the adapter to that. We found that this breaks some users'
- systems, so you now have to define the ``<tt/TUNE&lowbar;1542/'' kernel
- configuration option in order to have this take place. Using it
- on those systems where it works may make your disks run faster,
- but on those systems where it doesn't, your data could be
- corrupted.
-
- <sect1>
- <heading>Can I follow current with limited Internet access?<label id="ctm"></heading>
-
- <p>
- Yes, you can do this <tt /without/ downloading the whole source tree
- by using the
- <url
- url="../handbook/ctm.html"
- name="CTM facility.">
-
- <sect1>
- <heading>How did you split the distribution up into 240k files?</heading>
-
- <p>
- Newer BSD based systems have a ``<tt/-b/'' option to split that
- allows them to split files on arbitrary byte boundaries.
-
- Here is an example from <tt>/usr/src/Makefile</tt>.
-
- <verb>
- bin-tarball:
- (cd $&lcub;DISTDIR&rcub;; \
- tar cf - . \
- gzip --no-name -9 -c | \
- split -b 240640 - \
- $&lcub;RELEASEDIR&rcub;/tarballs/bindist/bin_tgz.)
- </verb>
-
- <sect1>
- <heading>I've written a kernel extension, who do I send it to?</heading>
- <p>
- Please take a look at:
-
- <url url="../handbook/submitters.html"
- name="The Handbook entry on how to submit code.">
-
- And thanks for the thought!
-
- <sect1>
- <heading>When I run xconsole, I get ``Couldn't open console''.</heading>
- <p>
- If you start X with 'startx', the permissions on /dev/console will
- <tt /not/ get changed, resulting in things like ``xterm -C'' and
- ``xconsole'' not working.
-
- <p>
- This is because of the way console permissions are set by default.
- On a multi-user system, one doesn't necessarily want just any user
- to be able to write on the system console. For users who are logging
- directly onto a machine with a VTY, the <tt/fbtab(5)/ file exists
- to solve such problems.
-
- In a nutshell, make sure an uncommented line of the form
-
- <verb>
- /dev/ttyv0 0600 /dev/console
- </verb>
-
- is in <tt>/etc/fbtab</tt> and it will ensure that whomever logs
- in on <tt>/dev/ttyv0</tt> will own the console.
-
- </sect1>
-
- <sect1>
- <heading>How are Plug N Play ISA cards detected and initialised?</heading>
- <p>
- By: Frank Durda IV <tt>&lt;uhclem@nemesis.lonestar.org&gt;</tt>
-
- In a nutshell, there a few I/O ports that all of the PnP boards
- respond to when the host asks if anyone is out there. So when
- the PnP probe routine starts, he asks if there are any PnP boards
- present, and all the PnP boards respond with their model &num; to
- a I/O read of the same port, so the probe routine gets a wired-OR
- ``yes'' to that question. At least one bit will be on in that
- reply. Then the probe code is able to cause boards with board
- model IDs (assigned by Microsoft/Intel) lower than X to go
- ``off-line''. It then looks to see if any boards are still
- responding to the query. If the answer was ``<tt/0/'', then
- there are no boards with IDs above X. Now probe asks if there
- are any boards below ``X''. If so, probe knows there are boards
- with a model numbers below X. Probe then asks for boards greater
- than X-(limit/4) to go off-line. If repeats the query. By
- repeating this semi-binary search of IDs-in-range enough times,
- the probing code will eventually identify all PnP boards present
- in a given machine with a number of iterations that is much lower
- than what 2^64 would take.
-
- The IDs are two 32-bit fields (hence 2&circ;64) + 8 bit checksum.
- The first 32 bits are a vendor identifier. They never come out
- and say it, but it appears to be assumed that different types of
- boards from the same vendor could have different 32-bit vendor
- ids. The idea of needing 32 bits just for unique manufacturers
- is a bit excessive.
-
- The lower 32 bits are a serial &num;, ethernet address, something
- that makes this one board unique. The vendor must never produce
- a second board that has the same lower 32 bits unless the upper
- 32 bits are also different. So you can have multiple boards of
- the same type in the machine and the full 64 bits will still be
- unique.
-
- The 32 bit groups can never be all zero. This allows the
- wired-OR to show non-zero bits during the initial binary search.
-
- Once the system has identified all the board IDs present, it will
- reactivate each board, one at a time (via the same I/O ports),
- and find out what resources the given board needs, what interrupt
- choices are available, etc. A scan is made over all the boards
- to collect this information.
-
- This info is then combined with info from any ECU files on the
- hard disk or wired into the MLB BIOS. The ECU and BIOS PnP
- support for hardware on the MLB is usually synthetic, and the
- peripherals don't really do geniune PnP. However by examining
- the BIOS info plus the ECU info, the probe routines can cause the
- devices that are PnP to avoid those devices the probe code cannot
- relocate.
-
- Then the PnP devices are visited once more and given their I/O,
- DMA, IRQ and Memory-map address assignments. The devices will
- then appear at those locations and remain there until the next
- reboot, although there is nothing that says you can't move them
- around whenever you want.
-
- There is a lot of oversimplification above, but you should get
- the general idea.
-
- Microsoft took over some of the primary printer status ports to
- do PnP, on the logic that no boards decoded those addresses for
- the opposing I/O cycles. I found a genuine IBM printer board
- that did decode writes of the status port during the early PnP
- proposal review period, but MS said ``tough''. So they do a
- write to the printer status port for setting addresses, plus that
- use that address + <tt/0x800/, and a third I/O port for reading
- that can be located anywhere between <tt/0x200/ and <tt/0x3ff/.
-
- <sect1>
- <heading>My PS/2 mouse doesn't behave properly under X Window.</heading>
- <p>
- Your mouse and the mouse driver have somewhat become out of
- synchronization. Switching away from X to a virtual terminal
- and getting back to X again may make them re-synchronized.
- If the problem occurs often, you may add the following option
- in your kernel configuration file and recompile it.
- <verb>
- options PSM_CHECKSYNC
- </verb>
-
- See the section on <ref id="make-kernel" name="building a
- kernel"> if you've no experience with building kernels.
-
- With this option, there should be less chance of synchronization
- problem between the mouse and the driver. If, however, you
- still see the problem, click any mouse button while holding
- the mouse still to re-synchronize the mouse and the driver.
-
- Note that unfortunately this option may not work with all the
- systems and voids the ``tap'' feature of the ALPS GlidePoint
- device attached to the PS/2 mouse port.
-
- <sect>
- <heading>Kernel Configuration</heading>
- <p>
- <sect1>
- <heading>I'd like to customize my kernel. Is it difficult?<label id="make-kernel"></heading>
- <p>
- Not at all! First, you need either the complete
- <tt/srcdist/ or, at the minimum, the <tt/kerndist/ loaded on your
- system. This provides the necessary sources for building the
- kernel, as, unlike most commercial UNIX vendors, we have a policy
- of <bf/NOT/ shipping our kernel code in binary object form.
- Shipping the source takes a bit more space, but it also means
- that you can refer to the actual kernel sources in case of
- difficulty or to further your understanding of what's
- <bf/really/ happening.
-
- Once you have the <tt/kerndist/ or <tt/srcdist/ loaded, do this:
-
- <enum>
- <item> <tt>cd /usr/src/sys/i386/conf</tt>
- <item> <tt/cp GENERIC MYKERNEL/
- <item> <tt/vi MYKERNEL/
- <item> <tt/config MYKERNEL/
- <item> <tt>cd ../../compile/MYKERNEL</tt>
- <item> <tt/make depend/
- <item> <tt/make all/
- <item> <tt/make install/
- <item> <tt/reboot/
- </enum>
-
- Step 2 may not be necessary if you already have a kernel
- configuration file from a previous release of FreeBSD 2.X. -
- simply bring your old one over and check it carefully for any
- drivers that may have changed boot syntax or been rendered
- obsolete.
-
- A good kernel config file to look into is <tt/LINT/, which
- contains entries for <bf/all/ possible kernel options and
- documents them fairly well. The <tt/GENERIC/ kernel config file
- is used to build the initial release you probably loaded (unless
- you upgraded in-place) and contains entries for the most common
- configurations. It's a pretty good place to start from.
-
- If you don't need to make any changes to <tt/GENERIC/, you can
- also skip step 3, where you customize the kernel for your
- configuration. Step 8 should only be undertaken if steps 6 and 7
- succeed. This will copy the new kernel image to
- <tt>/kernel</tt> and <bf/BACK UP YOUR OLD ONE IN/
- <tt>/kernel.old</tt>! It's very important to remember this in
- case the new kernel fails to work for some reason - you can still
- select <tt>/kernel.old</tt> at the boot prompt to boot the old
- one. When you reboot, the new kernel will boot by default.
-
- If the compile in step 7 falls over for some reason, then it's
- recommended that you start from step 4 but substitute
- <tt/GENERIC/ for <tt/MYKERNEL/. If you can generate a
- <tt/GENERIC/ kernel, then it's likely something in your special
- configuration file that's bad (or you've uncovered a bug!). If
- the build of the <tt/GENERIC/ kernel does <bf/NOT/ succeed, then
- it's very likely that your sources are somehow corrupted.
-
- Finally, if you need to see your original boot messages again to
- compile a new kernel that's better tailored to your hardware, try
- the <tt/dmesg(8)/ command. It should print out all the boot-time
- messages printed by your old kernel, some of which may be quite
- helpful in configuring the new one.
-
- <bf/NOTE:/ I recommend making a dated snapshot of your kernel
- in <tt/kernel.YYMMDD/ after you get it all working, that way if
- you do something dire the next time you play with your configuration
- you can boot that kernel instead of having to go all the way back
- to <tt/kernel.GENERIC/. This is particularly important if you're
- now booting off a controller that isn't supported in the GENERIC
- kernel (yes, personal experience).
-
- <sect1>
- <heading>My kernel compiles fail because <tt/&lowbar;hw&lowbar;float/ is missing.</heading>
-
- <p>
- Let me guess. You removed <tt/npx0/ from your kernel configuration
- file because you don't have a math co-processor, right? Wrong! :-)
- The <tt/npx0/ is <bf/MANDATORY/. Even if you don't have a
- mathematic co-processor, you <bf/must/ include the <tt/npx0/
- device.
-
- <sect1>
- <heading>Interrupt conflicts with multi-port serial code.</heading>
- <p>
- Q. When I compile a kernel with multi-port serial code, it tells me
- that only the first port is probed and the rest skipped due to
- interrupt conflicts. How do I fix this?
-
- <p>
- A. The problem here is that FreeBSD has code built-in to keep the
- kernel from getting trashed due to hardware or software
- conflicts. The way to fix this is to leave out the IRQ settings
- on all but one port. Here is a example:
-
-<verb>
-#
-# Multiport high-speed serial line - 16550 UARTS
-#
-device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr
-device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr
-device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
-device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr
-</verb>
-
- <sect1>
- <heading>How do I enable support for QIC-40/80 drives?</heading>
-
- <p>
- You need to uncomment the following line in the generic config
- file (or add it to your config file), add a ``<tt/flags 0x1/''
- on the <tt/fdc/ line and recompile.
-
-<verb>
-controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr
-disk fd0 at fdc0 drive 0 ^^^^^^^^^
-disk fd1 at fdc0 drive 1
-#tape ft0 at fdc0 drive 2
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-</verb>
-
- Next, you create a device called <tt>/dev/ft0</tt> by going into
- <tt>/dev</tt> and run the following command:
-
- <verb>
- sh MAKEDEV ft0
- </verb>
-
- for the first device. <tt/ft1/ for a second one and so on.
-
- You will have a device called <tt>/dev/ft0</tt>, which you can
- write to through a special program to manage it called
- ``<tt/ft/'' - see the man page on <tt/ft/ for further details.
- Versions previous to <tt/-current/ also had some trouble dealing
- with bad tape media; if you have trouble where <tt/ft/ seems to
- go back and forth over the same spot, try grabbing the latest
- version of <tt/ft/ from <tt>/usr/src/sbin/ft</tt> in
- <tt/-current/ and try that.
-
-
- <sect1>
- <heading>Does FreeBSD support System V IPC primitives?</heading>
-
- <p>
- Yes, FreeBSD supports System V-style IPC. This includes shared
- memory, messages and semaphores. You need to add the following
- lines to your kernel config to enable them.
-
- <verb>
- options SYSVSHM
- options "SHMMAXPGS=64" # 256Kb of sharable memory
- options SYSVSEM # enable for semaphores
- options SYSVMSG # enable for messaging
- </verb>
-
- Recompile and install.
-
- <bf/NOTE:/ You may need to increase SHMMAXPGS to some
- ridiculous number like 4096 (16M!) if you want to run
- GIMP. 256Kb is plenty for X11R6 shared memory.
-
- <sect1>
- <heading>I have 128 MB of RAM but the system only uses 64 MB.<label id="reallybigram"></heading>
-
- <p>
- Due to the manner in which FreeBSD gets the memory size from the
- BIOS, it can only detect 16 bits worth of Kbytes in size (65535
- Kbytes = 64MB). If you have more than 64MB, FreeBSD will only see
- the first 64MB (or less... some BIOSes peg the memory size to 16M).
-
- To work around this problem, you need to use the
- kernel option specified below. There is a way to get complete
- memory information from the BIOS, but we don't have room in the
- bootblocks to do it. Someday when lack of room in the bootblocks
- is fixed, we'll use the extended BIOS functions to get the full
- memory information...but for now we're stuck with the kernel
- option.
-
- <tt>
- options "MAXMEM=&lt;n>"
- </tt>
-
- Where <tt/n/ is your memory in Kilobytes. For a 128 MB machine,
- you'd want to use <tt/131072/.
-
- <sect1>
- <heading>FreeBSD 2.0 panics with ``kmem_map too small!''</heading>
-
- <p>
- <tt /Note/ The message may also be ``mb_map too small!''
- <p>
- The panic indicates that the system ran out of virtual memory for
- network buffers (specifically, mbuf clusters). You can increase
- the amount of VM available for mbuf clusters by adding:
-
- <tt>
- options "NMBCLUSTERS=&lt;n>"
- </tt>
-
- to your kernel config file, where &lt;n&gt; is a number in the
- range 512-4096, depending on the number of concurrent TCP
- connections you need to support. I'd recommend trying 2048 - this
- should get rid of the panic completely. You can monitor the
- number of mbuf clusters allocated/in use on the system with
- <tt/netstat -m/.
-
-
- <sect1>
- <heading>Will FreeBSD ever support other architectures?</heading>
-
- <p>
- Several different groups have expressed interest in working on
- multi-architecture support for FreeBSD. If you are interested in
- doing so, please contact the developers at
- <tt>&lt;platforms@FreeBSD.ORG&gt;</tt> for more information on our
- strategy for porting.
-
- <sect1>
- <heading>I need a major number for a device driver I've written.</heading>
-
- <p>
- This depends on whether or not you plan on making the driver
- publicly available. If you do, then please send us a copy of the
- driver source code, plus the appropriate modifications to
- <tt>files.i386</tt>, a sample configuration file entry, and the
- appropriate <tt>MAKEDEV</tt> code to create any special files
- your device uses. If you do not, or are unable to because of
- licensing restrictions, then character major number 32 and block
- major number 8 have been reserved specifically for this purpose;
- please use them. In any case, we'd appreciate hearing about your
- driver on <tt>&lt;hackers@FreeBSD.ORG&gt;</tt>.
-
- </sect1>
-
- <sect>
- <heading>System Administration</heading>
-
- <sect1>
- <heading>What's with all these SNAPshot, RELENG and RELEASE releases?</heading>
-
- <p>
- There are currently three active/semi-active branches in the FreeBSD
- <url url="http://www.freebsd.org/cgi/cvsweb.cgi" name="CVS Repository">:
-
- <itemize>
- <item><bf/RELENG_2_1_0/ AKA <bf/2.1-stable/ AKA <bf/"2.1 branch"/</item>
- <item><bf/RELENG_2_2/ AKA <bf/2.2-stable/ AKA <bf/"2.2 branch"/</item>
- <item><bf/HEAD/ AKA <bf/-current/ AKA <bf/3.0-current/</item>
- </itemize>
-
- <p><bf/HEAD/ is not an actual branch tag, like the other two, it's
- simply a symbolic constant for
- <em/"the current, non-branched development stream"/
- which we simply refer to as <bf/-current/.
-
- Right now, <bf/-current/ is the 3.0 development stream and the
- <bf/2.2-stable/ branch, <bf/RELENG_2_2/, forked off from
- <bf/-current/ in November 1996.
-
- The <bf/2.1-stable/ branch, <bf/RELENG_2_1_0/,departed -current in
- September of 1994.
-
- <itemize>
- <item><bf/Fine, so what are SNAPshots?/
-
- <p>"SNAPs" are made from -current, that is to say 3.0, and they happen
- infrequently, basically whenever I feel like doing one (e.g. I or
- someone else wants something tested), and this generally doesn't
- happen more than 3-4 times a year.</item>
-
- <item><bf/And what constitutes a full "RELEASE" then?/
-
- <p>A full release generally occurs along a branch, divorced from
- the <bf/-current/ mainline and its associated instabilities as people
- work on new mechanisms or generally do renovation on FreeBSD. A
- release, unless it's perhaps the very first one on a new branch,
- is meant to be of slightly better and more tested stuff, and the
- release date is chosen to coincide with a point in time when the
- sources are the most stable, following ALPHA and BETA test periods
- along the branch (during which time the addition of new functionality
- is discouraged and the testing of existing functionality strongly
- encouraged). </item>
-
- <item><bf/Makes sense so far - so, what's a "RELENG?" release?/
-
- <p>The RELENG releases are a new thing, sort of a "release of the day"
- mechanism which is automated and set to run along a given branch,
- in the current case that being <bf/RELENG_2_2/.
-
- The URL <url url="ftp://releng22.freebsd.org/pub/FreeBSD"
- name="ftp://releng22.freebsd.org/pub/FreeBSD"> points to a machine
- which builds a full 2.2 branch release <em/every day/ from wherever
- the RELENG_2_2 tag happens to be pointing at 3am. If the new
- build succeeds, the release is moved into the anonymous FTP area
- for transfer by others. If it fails, jkh gets a mail telling him
- "Hey, somebody broke the 2.2 branch! Bad hacker, no caffeine!"
- and he goes off to investigate. The 2.2 branch is not supposed to
- break since people are only supposed to be committing bug fixes and
- well-tested enhancements to that branch, nothing experimental
- or untried (sometimes they do anyway, but hey - this is a
- volunteer-driven project and we try to take that in stride :-).
- </item>
- </itemize>
- </sect1>
-
- <sect1>
- <heading>Where are the system start-up configuration files?</heading>
-
- <p>
- From 2.0.5R to 2.2.1R, the primary configuration file is
- <tt>/etc/sysconfig</tt>. All the options are to be specified in
- this file and other files such as <tt>/etc/rc</tt> and
- <tt>/etc/netstart</tt> just include it.
-
- Look in the <tt>/etc/sysconfig</tt> file and change the value to
- match your system. This file is filled with comments to show what
- to put in there.
-
- In post-2.2.1 and 3.0, <tt>/etc/sysconfig</tt> was renamed
- to a more self-describing <tt>rc.conf</tt> file and the syntax
- cleaned up a bit in the process. <tt>/etc/netstart</tt> was also
- renamed to <tt>/etc/rc.network</tt> so that all files could be
- copied with a <tt>cp /usr/src/etc/rc* /etc</tt> command.
-
- <tt>/etc/rc.local</tt> is here as always and is the place to
- start up additional local services like <tt/INN/ or set custom
- options.
-
- The <tt>/etc/rc.serial</tt> is for serial port initialization
- (e.g. locking the port characteristics, and so on.).
-
- The <tt>/etc/rc.i386</tt> is for Intel-specifics settings, such
- as iBCS2 emulation or the PC system console configuration.
-
- Starting with 2.1.0R, you can also have "local" startup files in a
- directory specified in <tt>/etc/sysconfig</tt> (or
- <tt>/etc/rc.conf</tt>):
- <verb>
- # Location of local startup files.
- local_startup=/usr/local/etc/rc.local.d
- </verb>
- Each file ending in <tt/.sh/ will be executed in alphabetical
- order.
-
- If you want to ensure a certain execution order without changing all
- the file names, you can use a scheme similar to the following with
- digits prepended to each file name to insure the ordering:
- <verb>
- 10news.sh
- 15httpd.sh
- 20ssh.sh
- </verb>
- It can be seen as ugly (or SysV :-)) but it provides a simple and
- regular scheme for locally-added packages without resorting to
- magical editing of <tt>/etc/rc.local</tt>.
-
- <sect1>
- <heading>How do I add a user easily?</heading>
-
- <p>
- Use the <tt/adduser/ command.
-
- There is another package called ``<tt/new-account/'' also written
- in Perl by Ollivier Robert. Ask
- <tt>&lt;roberto@FreeBSD.ORG&gt;</tt> about it. It is currently
- undergoing further development.
-
- To remove the user again, use the <tt/rmuser/ command.
-
- <sect1>
- <heading>I'm having problems setting up my printer.</heading>
- <p>
- Please have a look at the Handbook entry on printing. It
- should cover most of your problem. See the
- <url
- url="../handbook/printing.html"
- name="Handbook entry on printing.">
- </sect1>
-
- <sect1>
- <heading>The keyboard mappings are wrong for my system.</heading>
- <p>
- The kbdcontrol program has an option to load a keyboard map file.
- Under <tt>/usr/share/syscons/keymaps</tt> are a number of map
- files. Choose the one relevant to your system and load it.
-
- <verb>
- kbdcontrol -l uk.iso
- </verb>
-
- Both the <tt>/usr/share/syscons/keymaps</tt> and the <tt/.kbd/
- extension are assumed by <tt/kbdcontrol(1)/.
-
- This can be configured in <tt>/etc/sysconfig</tt>. See the
- appropriate comments in this file.
-
- In 2.0.5R and later, everything related to text fonts, keyboard
- mapping is in <tt>/usr/share/examples/syscons</tt>.
-
- The following mappings are currently supported:
- <itemize>
- <!-- automatically created by `kbdmap -p' -->
-
- <item>Brazilian 275 keyboard Codepage 850
- <item>Brazilian 275 keyboard ISO-8859-1
- <item>Danish Codepage 865
- <item>Danish ISO-8859-1
- <item>French ISO-8859-1
- <item>German Codepage 850
- <item>German ISO-8859-1
- <item>Italian ISO-8859-1
- <item>Japanese 106
- <item>Japanese 106x
- <item>Norwegian ISO-8859-1
- <item>Russian Codepage 866 (alternative)
- <item>Russian koi8-r (shift)
- <item>Russian koi8-r
- <item>Spanish ISO-8859-1
- <item>Swedish Codepage 850
- <item>Swedish ISO-8859-1
- <item>United Kingdom Codepage 850
- <item>United Kingdom ISO-8859-1
- <item>United States of America ISO-8859-1
- <item>United States of America dvorak
- <item>United States of America dvorakx
- </itemize>
- </sect1>
-
- <sect1>
- <heading>``CMAP busy panic'' when rebooting with a new kernel.</heading>
- <p>
- The logic that attempts to detect an out of data
- <tt>/var/db/kvm_*.db</tt> files sometimes fails and using a
- mismatched file can sometimes lead to panics.
-
- If this happens, reboot single-user and do:
- <verb>
- rm /var/db/kvm_*.db
- </verb>
-
- <sect1>
- <heading>I can't get user quotas to work properly.</heading>
- <p>
- <enum>
- <item>Don't turn on quotas on '/',
- <item>Put the quota file on the file system that the quotas are
- to be enforced on. ie:
- <verb>
- FS QUOTA FILE
- /usr /usr/admin/quotas
- /home /home/admin/quotas
- ...
- </verb>
- </enum>
-
- <sect1>
- <heading>What's inappropriate about my ccd?</heading>
- <p>
- The symptom of this is:
- <verb>
- host# ccdconfig -C
- ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format
- host#
- </verb>
-
- <p>
- This usually happens when you are trying to concatenate the
- `c' partitions, which default to type `unused'. The ccd
- driver requires the underlying partition type to be
- FS_BSDFFS. Edit the disklabel of the disks you are trying
- to concatenate and change the types of partitions to
- `4.2BSD'.
-
- <sect1>
- <heading>Why can't I edit the disklabel on my ccd?</heading>
- <p>
- The symptom of this is:
- <verb>
- host# disklabel ccd0
- (it prints something sensible here, so let's try to edit it)
- host# disklabel -e ccd0
- (edit, save, quit)
- disklabel: ioctl DIOCWDINFO: No disk label on disk;
- use "disklabel -r" to install initial label
- host#
- </verb>
-
- <p>
- This is because the disklabel returned by ccd is actually a
- `fake' one that is not really on the disk. You can solve
- this problem by writing it back explicitly, as in:
- <verb>
- host# disklabel ccd0 > /tmp/disklabel.tmp
- host# disklabel -Rr ccd0 /tmp/disklabel.tmp
- host# disklabel -e ccd0
- (this will work now)
- </verb>
-
- <sect>
- <heading>Networking</heading>
-
- <sect1>
- <heading>Where can I get information on ``diskless booting''?</heading>
-
- <p>
- ``Diskless booting'' means that the FreeBSD box is booted over a
- network, and reads the necessary files from a server instead of
- its hard disk. For full details, please read
-
- <url url="../handbook/diskless.html"
- name="the Handbook entry on diskless booting">
-
- <sect1>
- <heading>Can a FreeBSD box be used as a dedicated network router?</heading>
-
- <p>
- Internet standards and good engineering practice prohibit us from
- providing packet forwarding by default in FreeBSD. You can
- however enable this feature by changing the following variable to
- <tt/YES/ in <tt>/etc/sysconfig</tt>:
- <verb>
- # If you want this host to be a gateway, set to YES.
- gateway=YES
- </verb>
-
- This option will put the <tt/sysctl/ variable
- <tt/net.inet.ip.forwarding/ to <tt/1/.
-
- In most cases, you will also need to run a routing process to
- tell other systems on your network about your router; FreeBSD
- comes with the standard BSD routing daemon <tt/routed(8)/, or for
- more complex situations you may want to try <em/GaTeD/ (available
- by FTP from <tt/ftp.gated.Merit.EDU/) which supports FreeBSD as
- of 3_5Alpha7.
-
- It is our duty to warn you that, even when FreeBSD is configured
- in this way, it does not completely comply with the Internet
- standard requirements for routers; however, it comes close enough
- for ordinary usage.
-
- <sect1>
- <heading>I want to recompile the latest BIND from ISC. It blows up during the compilation on some types conflicts. What can I do ? </heading>
- <p>
- There is a conflict between the ``<tt/cdefs.h/'' file in the
- distribution and the one shipped with FreeBSD. Just remove
- <tt>compat/include/sys/cdefs.h</tt>.
-
- <sect1>
- <heading>Can I connect my Win95 box to the Internet via FreeBSD?</heading>
- <p>
- Typically, people who ask this question have two PC's at home, one
- with FreeBSD and one with Win95; the idea is to use the FreeBSD
- box to connect to the Internet and then be able to access the
- Internet from the Windows95 box through the FreeBSD box. This
- is really just a special case of the previous question.
-
- There's a useful document available which explains how to set
- FreeBSD up as a <url url="http://www.ssimicro.com/~jeremyc/ppp.html"
- name="PPP Dialup Router">
-
- <bf/NOTE:/ This requires having at least two fixed IP addresses
- available, and possibly three or more, depending on how much
- work you want to go through to set up the Windows box. As an
- alternative, if you don't have a fixed IP, you can use one of
- the private IP subnets and install <bf/proxies/ such as
- <url url="http://squid.nlanr.net/Squid/" name="SQUID"> and
- <url url="http://www.tis.com/" name="the TIS firewall toolkit">
- on your FreeBSD box.
-
- <sect1>
- <heading>Does FreeBSD support SLIP and PPP?</heading>
-
- <p>
- Yes. See the man pages for <tt/slattach(8)/ and/or <tt/pppd(8)/
- if you're using FreeBSD to connect to another site. If you're
- using FreeBSD as a server for other machines, look at the man
- page for <tt/sliplogin(8)/.
-
- You can also have a look at the SLIP/PPP/Use PPP sections of the
- handbook in <tt>/usr/share/doc/handbook</tt> or use the following
- links:
-
- <url url="../handbook/slips.html"
- name="Handbook entry on SLIP (server side)">
- <url url="../handbook/slipc.html"
- name="Handbook entry on SLIP (client side)">
- <url url="../handbook/ppp.html"
- name="Handbook entry on PPP (kernel version)">
- <url url="../handbook/userppp.html"
- name="Handbook entry on PPP (user-mode version)">
-
- <sect1>
- <heading>I can connect with IJPPP but it doesn't work right!</heading>
-
- <p>
- A possible cause for this is IJPPPs' use of predictor1
- compression. One way of determining if you have this problem
- is to look at your log and if you have protocol errors then this is
- most likely it.
- These can be shut off with:
-<verb>
-deny pred1
-disable pred1
-</verb>
- Use these two before you dial out and it should work.
-
- <sect1>
- <heading>I can't create a <tt>/dev/ed0</tt> device!</heading>
-
- <p>
- In the Berkeley networking framework, network interfaces are only
- directly accessible by kernel code. Please see the
- <tt>/etc/netstart</tt> file and the manual pages for the various
- network programs mentioned there for more information. If this
- leaves you totally confused, then you should pick up a book
- describing network administration on another BSD-related
- operating system; with few significant exceptions, administering
- networking on FreeBSD is basically the same as on SunOS 4.0 or
- Ultrix.
-
- <sect1>
- <heading>How can I setup Ethernet aliases?</heading>
- <p>
- Add ``<tt/netmask 0xffffffff/'' to your <tt/ifconfig/
- command-line like the following:
- <verb>
- ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff
- </verb>
-
- <sect1>
- <heading>How do I get my 3C503 to use the other network port?</heading>
-
- <p>
- If you want to use the other ports, you'll have to specify an
- additional parameter on the <tt/ifconfig(1)/ command line. The
- default port is ``<tt/link0/''. To use the AUI port instead of
- the BNC one, use ``<tt/link2/''.
-
- <sect1>
- <heading>I'm having problems with NFS to/from FreeBSD.</heading>
-
- <p>
- Certain PC network cards are better than others (to put it
- mildly) and can sometimes cause problems with network intensive
- applications like NFS.
-
- See
- <url
- url="../handbook/nfs.html"
- name="the Handbook entry on NFS">
-
- for more information on
- this topic.
-
- <sect1>
- <heading>Why can't I NFS-mount from a Linux box?</heading>
-
- <p>
- Some versions of the Linux NFS code only accept mount requests
- from a privileged port; try
- <verb>
- mount -o -P linuxbox:/blah /mnt
- </verb>
- <sect1>
- <heading>Why can't I NFS-mount from a Sun box?</heading>
-
- <p>
- Sun workstations running SunOS 4.X only accept mount requests
- from a privileged port; try
- <verb>
- mount -o -P sunbox:/blah /mnt
- </verb>
- <sect1><heading>I'm having problems talking PPP to NeXTStep machines.</heading>
-
- <p>
- Try disabling the TCP extensions in <tt>/etc/sysconfig</tt> by
- changing the following variable to NO:
- <verb>
- tcp_extensions=NO
- </verb>
-
- Xylogic's Annex boxes are also broken in this regard and you must
- use the above change to connect thru them.
-
- <sect1>
- <heading>How do I enable IP multicast support?</heading>
-
- <p>
- Multicast host operations are fully supported in FreeBSD 2.0 by
- default. If you want your box to run as a multicast router, you
- will need to load the <tt/ip_mroute_mod/ loadable kernel module
- and run <tt/mrouted/.
-
-For more information:
-<verb>
-Product Description Where
---------------- ----------------------- ---------------------------------------
-faq.txt Mbone FAQ ftp.isi.edu:/mbone/faq.txt
-imm/immserv IMage Multicast ftp.hawaii.edu:/paccom/imm.src.tar.Z
- for jpg/gif images.
-nv Network Video. ftp.parc.xerox.com:
- /pub/net-reseach/exp/nv3.3alpha.tar.Z
-vat LBL Visual Audio Tool. ftp.ee.lbl.gov:
- /conferencing/vat/i386-vat.tar.Z
-wb LBL White Board. ftp.ee.lbl.gov:
- /conferencing/wb/i386-wb.tar.Z
-mmcc MultiMedia Conference ftp.isi.edu:
- Control program /confctrl/mmcc/mmcc-intel.tar.Z
-rtpqual Tools for testing the ftp.psc.edu:/pub/net_tools/rtpqual.c
- quality of RTP packets.
-vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
- and nv.
-</verb>
-
- </sect1>
- <sect1>
- <heading>Which network cards are based on the DEC PCI chipset?</heading>
-
- <p>
- Here is a list compiled by Glen Foster
- <tt/&lt;gfoster@driver.nsta.org&gt;/:
-<verb>
-Vendor Model
-- --------------------------------------------------------
-ASUS PCI-L101-TB
-Accton ENI1203
-Cogent EM960PCI
-Compex ENET32-PCI
-D-Link DE-530
-DEC DE435
-Danpex EN-9400P3
-JCIS Condor JC1260
-Linksys EtherPCI
-Mylex LNP101
-SMC EtherPower 10/100 (Model 9332)
-SMC EtherPower (Model 8432)
-TopWare TE-3500P
-Zynx ZX342
-</verb>
- </sect1>
- <sect1>
- <heading>Why do I have to use the FQDN for hosts on my site?</heading>
- <p>
- You will probably find that the host is actually in a different
- domain; for example, if you are in foo.bar.edu and you wish to reach
- a host called ``mumble'' in the bar.edu domain, you will have to
- refer to it by the fully-qualified domain name, ``mumble.bar.edu'',
- instead of just ``mumble''.
- <p>
- Traditionally, this was allowed by BSD BIND resolvers. However
- the current version of <em>BIND</em> that ships with FreeBSD
- no longer provides default abbreviations for non-fully
- qualified domain names other than the domain you are in.
- So an unqualified host <tt>mumble</tt> must either be found
- as <tt>mumble.foo.bar.edu</tt>, or it will be searched for
- in the root domain.
- <p>
- This is different from the previous behaviour, where the
- search continued across <tt>mumble.bar.edu</tt>, and
- <tt>mumble.edu</tt>. Have a look at RFC 1535 for why this
- was considered bad practice, or even a security hole.
- <p>
- As a good workaround, you can place the line
-<p><tt>
-search foo.bar.edu bar.edu
-</tt><p>
- instead of the previous
-
-<p><tt>
-domain foo.bar.edu
-</tt><p>
- into your <tt>/etc/resolv.conf</tt>. However, make sure
- that the search order does not go beyond the ``boundary
- between local and public administration'', as RFC 1535
- calls it.
-
- </sect1>
-
- <sect1><heading>Sendmail says ``mail loops back to myself''</heading>
- <p>
- This is answered in the sendmail FAQ as follows:-
- <verb>
- * I'm getting "Local configuration error" messages, such as:
-
- 553 relay.domain.net config error: mail loops back to myself
- 554 <user@domain.net>... Local configuration error
-
- How can I solve this problem?
-
- You have asked mail to the domain (e.g., domain.net) to be
- forwarded to a specific host (in this case, relay.domain.net)
- by using an MX record, but the relay machine doesn't recognize
- itself as domain.net. Add domain.net to /etc/sendmail.cw
- (if you are using FEATURE(use_cw_file)) or add "Cw domain.net"
- to /etc/sendmail.cf.
- </verb>
- <p>
- The sendmail FAQ is in <tt>/usr/src/usr.sbin/sendmail</tt>
- and is recommended reading if you want to do any
- ``tweaking'' of your mail setup.
-
- <sect1>
- <heading>How do I use sendmail for mail delivery with UUCP?</heading>
-
- <p>
- The sendmail configuration that ships with FreeBSD is
- suited for sites that connect directly to the Internet.
- Sites that wish to exchange their mail via UUCP must install
- another sendmail configuration file.
-
- <p>
- Tweaking <tt>/etc/sendmail.cf</tt> manually is considered
- something for purists. Sendmail version 8 comes with a
- new approach of generating config files via some <tt>m4</tt>
- preprocessing, where the actual hand-crafted configuration
- is on a higher abstraction level. You should use the
- configuration files under
-
-<verb>
- /usr/src/usr.sbin/sendmail/cf
-</verb>
-
- If you didn't install your system with full sources,
- the sendmail config stuff has been
- broken out into a separate source distribution tarball just
- for you. Assuming you've got your CD-ROM mounted, do:
-
-<verb>
- cd /usr/src
- tar -xvzf /cdrom/dists/src/ssmailcf.aa
-</verb>
-
- Don't panic, this is only a few hundred kilobytes in size.
- The file <tt>README</tt> in the <tt>cf</tt> directory can
- serve as a basic introduction to m4 configuration.
-
- <p>
- For UUCP delivery, you are best advised to use the
- <em>mailertable</em> feature. This constitutes a database
- that sendmail can use to base its routing decision upon.
-
- <p>
- First, you have to create your <tt>.mc</tt> file. The
- directory <tt>/usr/src/usr.sbin/sendmail/cf/cf</tt> is the
- home of these files. Look around, there are already a few
- examples. Assuming you have named your file <tt>foo.mc</tt>,
- all you need to do in order to convert it into a valid
- <tt>sendmail.cf</tt> is:
-
-<verb>
- cd /usr/src/usr.sbin/sendmail/cf/cf
- make foo.cf
- cp foo.cf /etc/sendmail.cf
-</verb>
-
- A typical <tt>.mc</tt> file might look like:
-
-<verb>
- include(`../m4/cf.m4')
- VERSIONID(`Your version number')
- OSTYPE(bsd4.4)
-
- FEATURE(nodns)
- FEATURE(nocanonify)
- FEATURE(mailertable)
-
- define(`UUCP_RELAY', your.uucp.relay)
- define(`UUCP_MAX_SIZE', 200000)
-
- MAILER(local)
- MAILER(smtp)
- MAILER(uucp)
-
- Cw your.alias.host.name
- Cw youruucpnodename.UUCP
-</verb>
-
- The <em>nodns</em> and <em>nocanonify</em> features will
- prevent any usage of the DNS during mail delivery. The
- <em>UUCP_RELAY</em> clause is needed for bizarre reasons,
- don't ask. Simply put an Internet hostname there that
- is able to handle .UUCP pseudo-domain addresses; most likely,
- you will enter the mail relay of your ISP there.
-
- <p>
- Once you've got this, you need this file called
- <tt>/etc/mailertable</tt>. A typical example of this
- gender again:
-
-<verb>
- #
- # makemap hash /etc/mailertable.db < /etc/mailertable
- #
- horus.interface-business.de uucp-dom:horus
- .interface-business.de uucp-dom:if-bus
- interface-business.de uucp-dom:if-bus
- .heep.sax.de smtp8:%1
- horus.UUCP uucp-dom:horus
- if-bus.UUCP uucp-dom:if-bus
- . uucp-dom:sax
-</verb>
-
- As you can see, this is part of a real-life file. The first
- three lines handle special cases where domain-addressed mail
- should not be sent out to the default route, but instead to
- some UUCP neighbour in order to ``shortcut'' the delivery
- path. The next line handles mail to the local Ethernet
- domain that can be delivered using SMTP. Finally, the UUCP
- neighbours are mentioned in the .UUCP pseudo-domain notation,
- to allow for a ``uucp-neighbour!recipient'' override of the
- default rules. The last line is always a single dot, matching
- everything else, with UUCP delivery to a UUCP neighbour that
- serves as your universal mail gateway to the world. All of
- the node names behind the <tt>uucp-dom:</tt> keyword must
- be valid UUCP neighbours, as you can verify using the
- command <tt>uuname</tt>.
-
- <p>
- As a reminder that this file needs to be converted into a
- DBM database file before being usable, the command line to
- accomplish this is best placed as a comment at the top of
- the mailertable. You always have to execute this command
- each time you change your mailertable.
-
- <p>
- Final hint: if you are uncertain whether some particular
- mail routing would work, remember the <tt>-bt</tt> option to
- sendmail. It starts sendmail in <em>address test mode</em>;
- simply enter ``0 '', followed by the address you wish to
- test for the mail routing. The last line tells you the used
- internal mail agent, the destination host this agent will be
- called with, and the (possibly translated) address. Leave
- this mode by typing Control-D.
-
-<verb>
- j@uriah 191% sendmail -bt
- ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
- Enter <ruleset> <address>
- > 0 foo@interface-business.de
- rewrite: ruleset 0 input: foo @ interface-business . de
- ...
- rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \
- < @ interface-business . de >
- > ^D
- j@uriah 192%
-</verb>
-
-
- </sect1>
-
- <sect1>
- <heading>``Permission denied'' for all networking operations.</heading>
- <p>
- If you have compiled your kernel with the <tt/IPFIREWALL/
- option, you need to be aware that the default policy as of
- 2.1.7R (this actually changed during 2.1-STABLE development)
- is to deny all packets that are not explicitly allowed.
-
- <p>
- If you had unintentionally misconfigured your system for
- firewalling, you can restore network operability by typing
- the following while logged in as root:
-
- <verb>
- ipfw add 65534 allow all from any to any
- </verb>
-
- For further information on configuring a FreeBSD firewall,
- see the <url url="../handbook/handbook.html" name="FreeBSD Handbook.">
-
- </sect1>
-
- <sect>
- <heading>Serial Communications</heading>
- <p>
- This section answers common questions about serial communications
- with FreeBSD.
-
- <sect1>
- <heading>How do I tell if FreeBSD found my serial ports?</heading>
- <p>
- As the FreeBSD kernel boots, it will probe for the serial ports
- in your system for which the kernel was configured. You can
- either watch your system closely for the messages it prints or
- run the command
- <verb>
- dmesg | grep sio
- </verb>
- after your system's up and running.
-
- Here's some example output from the above command:
- <verb>
- sio0 at 0x3f8-0x3ff irq 4 on isa
- sio0: type 16550A
- sio1 at 0x2f8-0x2ff irq 3 on isa
- sio1: type 16550A
- </verb>
-
- This shows two serial ports. The first is on irq 4, is using
- port address <tt/0x3f8/, and has a 16550A-type UART chip. The
- second uses the same kind of chip but is on irq 3 and is at port
- address <tt/0x2f8/. Internal modem cards are treated just like
- serial ports---except that they always have a modem ``attached''
- to the port.
-
- The <tt/GENERIC/ kernel includes support for two serial ports
- using the same irq and port address settings in the above
- example. If these settings aren't right for your system, or if
- you've added modem cards or have more serial ports than your
- kernel is configured for, just reconfigure your kernel. See
- section <ref id="make-kernel" name="about building a kernel"> for
- more details.
-
- <sect1>
- <heading>How do I tell if FreeBSD found my modem cards?</heading>
- <p>
- Please refer to the answer to the previous question.
-
- <sect1>
- <heading>I just upgraded to 2.0.5 and my <tt/tty0X/ are missing!</heading>
- <p>
- Don't worry, they have been merged with the <tt/ttydX/ devices.
- You'll have to change any old configuration files you have, though.
-
- <sect1>
- <heading>How do I access the serial ports on FreeBSD?</heading>
- <p>
- The third serial port, <tt/sio2/ (known as COM3 in DOS), is on
- <tt>/dev/cuaa2</tt> for dial-out devices, and on
- <tt>/dev/ttyd2</tt> for dial-in devices. What's the difference
- between these two classes of devices?
-
- You use <tt/ttydX/ for dial-ins. When opening
- <tt>/dev/ttydX</tt> in blocking mode, a process will wait for the
- corresponding <tt/cuaaX/ device to become inactive, and then wait
- for the carrier detect line to go active. When you open the
- <tt/cuaaX/ device, it makes sure the serial port isn't already in
- use by the <tt/ttydX/ device. If the port's available, it
- ``steals'' it from the <tt/ttydX/ device. Also, the <tt/cuaXX/
- device doesn't care about carrier detect. With this scheme and
- an auto-answer modem, you can have remote users log in and you
- can still dialout with the same modem and the system will take
- care of all the conflicts.
-
- <sect1>
- <heading>How do I enable support for a multiport serial card?</heading>
- <p>
- Again, the section on kernel configuration provides information
- about configuring your kernel. For a multiport serial card,
- place an <tt/sio/ line for each serial port on the card in the
- kernel configuration file. But place the irq and vector
- specifiers on only one of the entries. All of the ports on the
- card should share one irq. For consistency, use the last serial
- port to specify the irq. Also, specify the
- <tt/COM&lowbar;MULTIPORT/ option.
-
- The following example is for an AST 4-port serial card on irq 7:
- <verb>
- options "COM_MULTIPORT"
- device sio4 at isa? port 0x2a0 tty flags 0x781
- device sio5 at isa? port 0x2a8 tty flags 0x781
- device sio6 at isa? port 0x2b0 tty flags 0x781
- device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr
- </verb>
- The flags indicate that the master port has minor number 7
- (<tt/0x700/), diagnostics enabled during probe (<tt/0x080/), and
- all the ports share an irq (<tt/0x001/).
-
- <sect1>
- <heading>Can FreeBSD handle multiport serial cards sharing irqs?</heading>
- <p>
- Not yet. You'll have to use a different irq for each card.
-
- <sect1>
- <heading>How can I set the default serial parameters for a port?</heading>
- <p>
- The <tt/ttydX/ (or <tt/cuaaX/) device is the regular device
- you'll want to open for your applications. When a process opens
- the device, it'll have a default set of terminal I/O settings.
- You can see these settings with the command
- <verb>
- stty -a -f /dev/ttyd1
- </verb>
-
- When you change the settings to this device, the settings are in
- effect until the device is closed. When it's reopened, it goes
- back to the default set. To make changes to the default set, you
- can open and adjust the settings of the ``initial state'' device.
- For example, to turn on <tt/CLOCAL/ mode, 8 bits, and
- <tt>XON/XOFF</tt> flow control by default for ttyd5, do:
- <verb>
- stty -f /dev/ttyid5 clocal cs8 ixon ixoff
- </verb>
-
- A good place to do this is in <tt>/etc/rc.serial</tt>. Now, an
- application will have these settings by default when it opens
- <tt/ttyd5/. It can still change these settings to its liking,
- though.
-
- You can also prevent certain settings from being changed by an
- application by making adjustments to the ``lock state'' device.
- For example, to lock the speed of <tt/ttyd5/ to 57600 bps, do
- <verb>
- stty -f /dev/ttyld5 57600
- </verb>
-
- Now, an application that opens <tt/ttyd5/ and tries to change the
- speed of the port will be stuck with 57600 bps.
-
- Naturally, you should make the initial state and lock state
- devices writable only by <tt/root/. The <tt/MAKEDEV/ script does
- <bf/NOT/ do this when it creates the device entries.
-
- <sect1>
- <heading>How can I enable dialup logins on my modem?</heading>
- <p>
- So you want to become an Internet service provider, eh? First,
- you'll need one or more modems that can auto-answer. Your modem
- will need to assert carrier-detect when it detects a carrier and
- not assert it all the time. It will need to hang up the phone
- and reset itself when the data terminal ready (<tt/DTR/) line
- goes from on to off. It should probably use <tt>RTS/CTS</tt>
- flow control or no local flow control at all. Finally, it must
- use a constant speed between the computer and itself, but (to be
- nice to your callers) it should negotiate a speed between itself
- and the remote modem.
-
- For many Hayes command-set--compatible modems, this command will
- make these settings and store them in nonvolatile memory:
- <verb>
- AT &amp;C1 &amp;D3 &amp;K3 &amp;Q6 S0=1 &amp;W
- </verb>
- See the section <ref id="direct-at" name="on sending AT
- commands"> below for information on how to make these settings
- without resorting to an MS-DOS terminal program.
-
- Next, make an entry in <tt>/etc/ttys</tt> for the modem. This
- file lists all the ports on which the operating system will await
- logins. Add a line that looks something like this:
- <verb>
- ttyd1 "/usr/libexec/getty std.57600" dialup on insecure
- </verb>
- This line indicates that the second serial port
- (<tt>/dev/ttyd1</tt>) has a modem connected running at 57600 bps
- and no parity (<tt/std.57600/, which comes from the file
- <tt>/etc/gettytab</tt>). The terminal type for this port is
- ``dialup.'' The port is ``on'' and is ``insecure''---meaning
- root logins on the port aren't allowed. For dialin ports like
- this one, use the <tt/ttydX/ entry.
-
- It's common practice to use ``dialup'' as the terminal type.
- Many users set up in their .profile or .login files a prompt for
- the actual terminal type if the starting type is dialup. The
- example shows the port as insecure. To become root on this port,
- you have to login as a regular user, then ``<tt/su/'' to
- <tt/root/. If you use ``secure'' then <tt/root/ can login in
- directly.
-
- After making modifications to <tt>/etc/ttys</tt>, you need to
- send a hangup or <tt/HUP/ signal to the <tt/init/ process:
- <verb>
- kill -1 1
- </verb>
- This forces the init process to reread <tt>/etc/ttys</tt>. The
- init process will then start getty processes on all ``on'' ports.
- You can find out if logins are available for your port by typing
- <verb>
- ps -ax | grep '[t]tyd1'
- </verb>
-
- You should see something like:
- <verb>
- 747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1
- </verb>
-
- <sect1>
- <heading>How can I connect a dumb terminal to my FreeBSD box?</heading>
- <p>
- If you're using another computer as a terminal into your FreeBSD
- system, get a null modem cable to go between the two serial
- ports. If you're using an actual terminal, see its accompanying
- instructions.
-
- Then, modify <tt>/etc/ttys</tt>, like above. For example, if
- you're hooking up a WYSE-50 terminal to the fifth serial port,
- use an entry like this:
- <verb>
- ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure
- </verb>
- This example shows that the port on <tt>/dev/ttyd4</tt> has a
- wyse50 terminal connected at 38400 bps with no parity
- (<tt/std.38400/ from <tt>/etc/gettytab</tt>) and <tt/root/ logins
- are allowed (secure).
-
- <sect1>
- <heading>Why can't I run <tt/tip/ or <tt/cu/?</heading>
- <p>
- On your system, the programs <tt/tip/ and <tt/cu/ are probably
- executable only by <tt/uucp/ and group <tt/dialer/. You can use
- the group <tt/dialer/ to control who has access to your modem or
- remote systems. Just add yourself to group dialer.
-
- Alternatively, you can let everyone on your system run <tt/tip/
- and <tt/cu/ by typing:
- <verb>
- chmod 4511 /usr/bin/tip
- </verb>
- You don't have to run this command for <tt/cu/, since <tt/cu/ is
- just a hard link to <tt/tip/.
-
- <sect1>
- <heading>My stock Hayes modem isn't supported---what can I do?</heading>
- <p>
- Actually, the man page for <tt/tip/ is out of date. There is a
- generic Hayes dialer already built in. Just use
- ``<tt/at=hayes/'' in your <tt>/etc/remote</tt> file.
-
- The Hayes driver isn't smart enough to recognize some of the
- advanced features of newer modems---messages like <tt/BUSY/,
- <tt/NO DIALTONE/, or <tt/CONNECT 115200/ will just confuse it.
- You should turn those messages off when you use <tt/tip/ (using
- <tt/ATX0&amp;W/).
-
- Also, the dial timeout for <tt/tip/ is 60 seconds. Your modem
- should use something less, or else tip will think there's a
- communication problem. Try <tt/ATS7=45&amp;W/.
-
- Actually, as shipped <tt/tip/ doesn't yet support it fully. The
- solution is to edit the file <tt/tipconf.h/ in the directory
- <tt>/usr/src/usr.bin/tip/tip</tt> Obviously you need the source
- distribution to do this.
-
- Edit the line ``<tt/#define HAYES 0/'' to ``<tt/#define HAYES
- 1/''. Then ``<tt/make/'' and ``<tt/make install/''. Everything
- works nicely after that.
-
- <sect1>
- <heading>How am I expected to enter these AT commands?<label id="direct-at"></heading>
- <p>
- Make what's called a ``<tt/direct/'' entry in your
- <tt>/etc/remote</tt> file. For example, if your modem's hooked
- up to the first serial port, <tt>/dev/cuaa0</tt>, then put in the
- following line:
- <verb>
- cuaa0:dv=/dev/cuaa0:br#19200:pa=none
- </verb>
- Use the highest bps rate your modem supports in the br
- capability. Then, type ``<tt/tip cuaa0/'' and you'll be
- connected to your modem.
-
- If there is no <tt>/dev/cuaa0</tt> on your system, do this:
- <verb>
- cd /dev
- MAKEDEV cuaa0
- </verb>
- <p>
- Or use cu as root with the following command:
- <verb>
- cu -l``line'' -s``speed''
- </verb>
- with line being the serial port (e.g.<tt>/dev/cuaa0</tt>)
- and speed being the speed (e.g.<tt>57600</tt>).
- When you are done entering the AT commands hit <tt>~.</tt> to exit.
-
- <sect1>
- <heading>The <tt/@/ sign for the pn capability doesn't work!</heading>
- <p>
- The <tt/@/ sign in the phone number capability tells tip to look in
- <tt>/etc/phones</tt> for a phone number. But the <tt/@/ sign is
- also a special character in capability files like
- <tt>/etc/remote</tt>. Escape it with a backslash:
- <verb>
- pn=\@
- </verb>
-
- <sect1>
- <heading>How can I dial a phone number on the command line?</heading>
- <p>
- Put what's called a ``<tt/generic/'' entry in your
- <tt>/etc/remote</tt> file. For example:
- <verb>
- tip115200|Dial any phone number at 115200 bps:\
- :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
- tip57600|Dial any phone number at 57600 bps:\
- :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
- </verb>
-
- Then you can things like ``<tt/tip -115200 5551234/''. If you
- prefer <tt/cu/ over <tt/tip/, use a generic cu entry:
- <verb>
- cu115200|Use cu to dial any number at 115200bps:\
- :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
- </verb>
- and type ``<tt/cu 5551234 -s 115200/''.
-
- <sect1>
- <heading>Do I have to type in the bps rate every time I do that?</heading>
- <p>
- Put in an entry for <tt/tip1200/ or <tt/cu1200/, but go ahead and
- use whatever bps rate is appropriate with the br
- capability. <tt/tip/ thinks a good default is 1200 bps which is
- why it looks for a ``<tt/tip1200/'' entry. You don't have to use
- 1200 bps, though.
-
- <sect1>
- <heading>I access a number of hosts through a terminal server.</heading>
- <p>
- Rather than waiting until you're connected and typing
- ``<tt/CONNECT &lt;host&gt;/'' each time, use tip's <tt/cm/
- capability. For example, these entries in
- <tt>/etc/remote</tt>:
- <verb>
- pain|pain.deep13.com|Forrester's machine:\
- :cm=CONNECT pain\n:tc=deep13:
- muffin|muffin.deep13.com|Frank's machine:\
- :cm=CONNECT muffin\n:tc=deep13:
- deep13:Gizmonics Institute terminal server:\
- :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234:
- </verb>
-
- will let you type ``<tt/tip pain/'' or ``<tt/tip muffin/'' to
- connect to the hosts pain or muffin; and ``<tt/tip deep13/'' to
- get to the terminal server.
-
- <sect1>
- <heading>Can tip try more than one line for each site?</heading>
- <p>
- This is often a problem where a university has several modem lines
- and several thousand students trying to use them...
- <p>
- Make an entry for your university in <tt>/etc/remote</tt>
- and use <tt>\@</tt> for the <tt/pn/ capability:
- <verb>
- big-university:\
- :pn=\@:tc=dialout
- dialout:\
- :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
- </verb>
-
- Then, list the phone numbers for the university in
- <tt>/etc/phones</tt>:
- <verb>
- big-university 5551111
- big-university 5551112
- big-university 5551113
- big-university 5551114
- </verb>
-
- <tt/tip/ will try each one in the listed order, then give up. If
- you want to keep retrying, run <tt/tip/ in a while loop.
-
- <sect1>
- <heading>Why do I have to hit CTRL+P twice to send CTRL+P once?</heading>
- <p>
- CTRL+P is the default ``force'' character, used to tell <tt/tip/
- that the next character is literal data. You can set the force
- character to any other character with the <tt/~s/ escape, which
- means ``set a variable.''
-
- Type ``<tt/~sforce=&lt;single-char&gt;/'' followed by a newline.
- <tt/&lt;single-char&gt;/ is any single character. If you leave
- out <tt/&lt;single-char&gt;/, then the force character is the nul
- character, which you can get by typing CTRL+2 or CTRL+SPACE. A
- pretty good value for <tt/&lt;single-char&gt;/ is SHIFT+CTRL+6,
- which I've seen only used on some terminal servers.
-
- You can have the force character be whatever you want by
- specifying the following in your <tt>&dollar;HOME/.tiprc</tt>
- file:
- <verb>
- force=<single-char>
- </verb>
-
- <sect1>
- <heading>Suddenly everything I type is in UPPER CASE??</heading>
- <p>
- You must've pressed CTRL+A, <tt/tip/'s ``raise character,''
- specially designed for people with broken caps-lock keys. Use
- <tt/~s/ as above and set the variable ``raisechar'' to something
- reasonable. In fact, you can set it to the same as the force
- character, if you never expect to use either of these features.
-
- Here's a sample .tiprc file perfect for Emacs users who need to
- type CTRL+2 and CTRL+A a lot:
- <verb>
- force=^^
- raisechar=^^
- </verb>
- The ^^ is SHIFT+CTRL+6.
-
- <sect1>
- <heading>How can I do file transfers with <tt/tip/?</heading>
- <p>
- If you're talking to another UNIX system, you can send and
- receive files with <tt/~p/ (put) and <tt/~t/ (take). These
- commands run ``<tt/cat/'' and ``<tt/echo/'' on the remote system
- to accept and send files. The syntax is:
- <verb>
- ~p <local-file> [<remote-file>]
- ~t <remote-file> [<local-file>]
- </verb>
-
- There's no error checking, so you probably should use another
- protocol, like zmodem.
-
- <sect1>
- <heading>How can I run zmodem with <tt/tip/?</heading>
- <p>
- To receive files, start the sending program on the remote end.
- Then, type ``<tt/~C rz/'' to begin receiving them locally.
-
- To send files, start the receiving program on the remote end.
- Then, type ``<tt/~C sz &lt;files&gt;/'' to send them to the
- remote system.
-
- </sect>
-
- <sect>
- <heading>ACKNOWLEDGMENTS</heading>
-
- <p>
- <verb>
- If you see a problem with this FAQ, or wish to submit an entry,
- please mail us at <FAQ@FreeBSD.ORG>. We appreciate your
- feedback, and cannot make this a better FAQ without your help!
-
-
- FreeBSD Core Team
- </verb>
-
- <descrip>
- <tag/Gary Clark II/
- FreeBSD Doc Team
- <tag/Jordan Hubbard/
- Janitorial services (I don't do windows)
- <tag/Doug White/
- Services above and beyond the call of duty on freebsd-questions
- <tag/Joerg Wunsch/
- Services above and beyond the call of duty on Usenet
- <tag/Garrett Wollman/
- Networking and formatting
- <tag/Jim Lowe/
- Multicast information
- <tag/Peter da Silva/
- FreeBSD FAQ typing machine slavey
- <tag/The FreeBSD Team/
- Kvetching, moaning, submitting data
- </descrip>
-
- And to any others we've forgotten, apologies and heartfelt thanks!
- </article>
diff --git a/share/doc/FAQ/Makefile b/share/doc/FAQ/Makefile
deleted file mode 100644
index c1781ee..0000000
--- a/share/doc/FAQ/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# $Id$
-
-DOC= FAQ
-SRCS= FAQ.sgml
-
-.include <bsd.sgml.mk>
diff --git a/share/doc/Makefile b/share/doc/Makefile
index 746569d..993d1aa 100644
--- a/share/doc/Makefile
+++ b/share/doc/Makefile
@@ -1,23 +1,7 @@
# From: @(#)Makefile 8.1 (Berkeley) 6/5/93
-# $Id$
+# $Id: Makefile,v 1.12 1997/02/22 12:57:48 peter Exp $
-SUBDIR= FAQ handbook psd smm usd papers
-
-# List of all language-specific subdirs.
-LANGSUBDIR= ja_JP.EUC
-
-# If ALLLANG is defined, descend to all language-specific subdirs too.
-# If ALLLANG is not defined, but LANG is defined and a subdirectory with
-# that name exists, descend to that directory too.
-# In either case, the default subdirectories are always traversed.
-
-.if defined(ALLLANG)
-SUBDIR+= ${LANGSUBDIR}
-.elif defined(LANG)
-.if exists(${.CURDIR}/${LANG})
-SUBDIR+= ${LANG}
-.endif
-.endif
+SUBDIR= psd smm usd papers
# Default output formats are ascii for troff documents, and
# ascii and html for sgml documents.
diff --git a/share/doc/handbook/Makefile b/share/doc/handbook/Makefile
deleted file mode 100644
index 0cce683..0000000
--- a/share/doc/handbook/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# $Id: Makefile,v 1.25 1997/05/02 02:20:25 ache Exp $
-
-SGMLOPTS=-links
-SRCS= authors.sgml basics.sgml bibliography.sgml boothelp.sgml
-SRCS+= booting.sgml contrib.sgml crypt.sgml ctm.sgml current.sgml cvsup.sgml
-SRCS+= cyclades.sgml development.sgml dialup.sgml dialout.sgml
-SRCS+= diskless.sgml dma.sgml eresources.sgml esdi.sgml
-SRCS+= firewalls.sgml glossary.sgml goals.sgml
-SRCS+= handbook.sgml history.sgml hw.sgml install.sgml isdn.sgml
-SRCS+= kerberos.sgml kernelconfig.sgml kerneldebug.sgml kernelopts.sgml
-SRCS+= lists.sgml mail.sgml memoryuse.sgml
-SRCS+= mirrors.sgml nfs.sgml nutshell.sgml pgpkeys.sgml policies.sgml
-SRCS+= porting.sgml ports.sgml ppp.sgml printing.sgml
-SRCS+= quotas.sgml relnotes.sgml routing.sgml russian.sgml
-SRCS+= serial.sgml scsi.sgml sections.sgml sio.sgml skey.sgml slipc.sgml
-SRCS+= slips.sgml stable.sgml submitters.sgml sup.sgml synching.sgml
-SRCS+= term.sgml userppp.sgml uart.sgml linuxemu.sgml
-
-.include <bsd.sgml.mk>
diff --git a/share/doc/handbook/authors.sgml b/share/doc/handbook/authors.sgml
deleted file mode 100644
index 45377bf..0000000
--- a/share/doc/handbook/authors.sgml
+++ /dev/null
@@ -1,489 +0,0 @@
-<!-- $Id: authors.sgml,v 1.68 1997/05/19 15:54:36 joerg Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!--
-Names and email address of contributing authors and CVS committers.
-Use these entities when referencing people. Please note the use of single
-and double quotes.
-Please keep this list in alphabetical order by entity names.
--->
-
-<!ENTITY a.ache "Andrey A. Chernov
- <tt><htmlurl url='mailto:ache@FreeBSD.ORG'
- name='&lt;ache@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.adam "Adam David
- <tt><htmlurl url='mailto:adam@FreeBSD.ORG'
- name='&lt;adam@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.alex "Alex Nash
- <tt><htmlurl url='mailto:alex@freebsd.org'
- name='&lt;alex@freebsd.org&gt;'></tt>">
-
-<!ENTITY a.amurai "Atsushi Murai
- <tt><htmlurl url='mailto:amurai@FreeBSD.ORG'
- name='&lt;amurai@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.andreas "Andreas Klemm
- <tt><htmlurl url='mailto:andreas@FreeBSD.ORG'
- name='&lt;andreas@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.asami "Satoshi Asami
- <tt><htmlurl url='mailto:asami@FreeBSD.ORG'
- name='&lt;asami@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.ats "Andreas Schulz
- <tt><htmlurl url='mailto:ats@FreeBSD.ORG'
- name='&lt;ats@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.awebster "Andrew Webster
- <tt><htmlurl url='mailto:awebster@pubnix.net'
- name='&lt;awebster@pubnix.net&gt;'></tt>">
-
-<!ENTITY a.bde "Bruce Evans
- <tt><htmlurl url='mailto:bde@FreeBSD.ORG'
- name='&lt;bde@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.brian "Brian Somers
- <tt><htmlurl url='mailto:brian@awfulhak.org'
- name='&lt;brian@awfulhak.org&gt;'></tt>">
-
-<!ENTITY a.cawimm "Charles A. Wimmer
- <tt><htmlurl url='mailto:cawimm@FreeBSD.ORG'
- name='&lt;cawimm@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.charnier "Philippe Charnier
- <tt><htmlurl url='mailto:charnier@FreeBSD.ORG'
- name='&lt;charnier@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.chuck "Chuck Robey
- <tt><htmlurl url='mailto:chuckr@glue.umd.edu'
- name='&lt;chuckr@glue.umd.edu&gt;'></tt>">
-
-<!ENTITY a.chuckr "Chuck Robey
- <tt><htmlurl url='mailto:chuckr@FreeBSD.ORG'
- name='&lt;chuckr@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.cracauer "Martin Cracauer
- <tt><htmlurl url='mailto:cracauer@FreeBSD.ORG'
- name='&lt;cracauer@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.csgr "Geoff Rehmet
- <tt><htmlurl url='mailto:csgr@FreeBSD.ORG'
- name='&lt;csgr@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.danny "Daniel O'Callaghan
- <tt><htmlurl url='mailto:danny@FreeBSD.ORG'
- name='&lt;danny@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.darrenr "Darren Reed
- <tt><htmlurl url='mailto:darrenr@FreeBSD.ORG'
- name='&lt;darrenr@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.dave "Dave Cornejo
- <tt><htmlurl url='mailto:dave@FreeBSD.ORG'
- name='&lt;dave@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.davidg "David Greenman
- <tt><htmlurl url='mailto:davidg@FreeBSD.ORG'
- name='&lt;davidg@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.davidn "David Nugent
- <tt><htmlurl url='mailto:davidn@blaze.net.au'
- name='&lt;davidn@blaze.net.au&gt;'></tt>">
-
-<!ENTITY a.dfr "Doug Rabson
- <tt><htmlurl url='mailto:dfr@FreeBSD.ORG'
- name='&lt;dfr@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.dima "Dima Ruban
- <tt><htmlurl url='mailto:dima@FreeBSD.ORG'
- name='&lt;dima@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.dirkvangulik "Dirk-Willem van Gulik
- <tt><htmlurl url='mailto:Dirk.vanGulik@jrc.it'
- name='&lt;Dirk.vanGulik@jrc.it&gt;'></tt>">
-
-<!ENTITY a.dufault "Peter Dufault
- <tt><htmlurl url='mailto:dufault@FreeBSD.ORG'
- name='&lt;dufault@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.dyson "John Dyson
- <tt><htmlurl url='mailto:dyson@FreeBSD.ORG'
- name='&lt;dyson@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.eivind "Eivind Eklund
- <tt><htmlurl url='mailto:perhaps@yes.no'
- name='&lt;perhaps@yes.no&gt;'></tt>">
-
-<!ENTITY a.erich "Eric L. Hernes
- <tt><htmlurl url='mailto:erich@FreeBSD.ORG'
- name='&lt;erich@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.fenner "Bill Fenner
- <tt><htmlurl url='mailto:fenner@FreeBSD.ORG'
- name='&lt;fenner@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.fsmp "Steve Passe
- <tt><htmlurl url='mailto:fsmp@FreeBSD.ORG'
- name='&lt;fsmp@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.gclarkii "Gary Clark II
- <tt><htmlurl url='mailto:gclarkii@FreeBSD.ORG'
- name='&lt;gclarkii@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.gena "Gennady B. Sorokopud
- <tt><htmlurl url='mailto:gena@NetVision.net.il'
- name='&lt;gena@NetVision.net.il&gt;'></tt>">
-
-<!ENTITY a.ghelmer "Guy Helmer
- <tt><htmlurl url='mailto:ghelmer@alpha.dsu.edu'
- name='&lt;ghelmer@alpha.dsu.edu&gt;'></tt>">
-
-<!ENTITY a.gibbs "Justin T. Gibbs
- <tt><htmlurl url='mailto:gibbs@FreeBSD.ORG'
- name='&lt;gibbs@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.gj "Gary Jennejohn
- <tt><htmlurl url='mailto:gj@FreeBSD.ORG'
- name='&lt;gj@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.gpalmer "Gary Palmer
- <tt><htmlurl url='mailto:gpalmer@FreeBSD.ORG'
- name='&lt;gpalmer@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.graichen "Thomas Graichen
- <tt><htmlurl url='mailto:graichen@FreeBSD.ORG'
- name='&lt;graichen@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.gryphon "Coranth Gryphon
- <tt><htmlurl url='mailto:gryphon@healer.com'
- name='&lt;gryphon@healer.com&gt;'></tt>">
-
-<!ENTITY a.guido "Guido van Rooij
- <tt><htmlurl url='mailto:guido@FreeBSD.ORG'
- name='&lt;guido@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.hanai "Hiroyuki HANAI
- <tt><htmlurl url='mailto:hanai@FreeBSD.ORG'
- name='&lt;hanai@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.handy "Brian N. Handy
- <tt><htmlurl url='mailto:handy@sxt4.physics.montana.edu'
- name='&lt;handy@sxt4.physics.montana.edu&gt;'></tt>">
-
-<!ENTITY a.hm "Hellmuth Michaelis
- <tt><htmlurl url='mailto:hm@kts.org'
- name='&lt;hm@kts.org&gt;'></tt>">
-
-<!ENTITY a.hsu "Jeffrey Hsu
- <tt><htmlurl url='mailto:hsu@FreeBSD.ORG'
- name='&lt;hsu@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.imp "Warner Losh
- <tt><htmlurl url='mailto:imp@FreeBSD.ORG'
- name='&lt;imp@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jb "John Birrell
- <tt><htmlurl url='mailto:jb@cimlogic.com.au'
- name='&lt;jb@cimlogic.com.au&gt;'></tt>">
-
-<!ENTITY a.jdp "John Polstra
- <tt><htmlurl url='mailto:jdp@FreeBSD.ORG'
- name='&lt;jdp@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jehamby "Jake Hamby
- <tt><htmlurl url='mailto:jehamby@lightside.com'
- name='&lt;jehamby@lightside.com&gt;'></tt>">
-
-<!ENTITY a.jfieber "John Fieber
- <tt><htmlurl url='mailto:jfieber@FreeBSD.ORG'
- name='&lt;jfieber@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jfitz "James FitzGibbon
- <tt><htmlurl url='mailto:james@nexis.net'
- name='&lt;james@nexis.net&gt;'></tt>">
-
-<!ENTITY a.jgreco "Joe Greco
- <tt><htmlurl url='mailto:jgreco@FreeBSD.ORG'
- name='&lt;jgreco@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jhay "John Hay
- <tt><htmlurl url='mailto:jhay@FreeBSD.ORG'
- name='&lt;jhay@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jkh "Jordan K. Hubbard
- <tt><htmlurl url='mailto:jkh@FreeBSD.ORG'
- name='&lt;jkh@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jlind "John Lind
- <tt><htmlurl url='mailto:john@starfire.MN.ORG'
- name='&lt;john@starfire.MN.ORG&gt;'></tt>">
-
-<!ENTITY a.jlrobin "James L. Robinson
- <tt><htmlurl url='mailto:jlrobin@FreeBSD.ORG'
- name='&lt;jlrobin@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jmacd "Joshua Peck Macdonald
- <tt><htmlurl url='mailto:jmacd@FreeBSD.ORG'
- name='&lt;jmacd@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jmb "Jonathan M. Bresler
- <tt><htmlurl url='mailto:jmb@FreeBSD.ORG'
- name='&lt;jmb@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jmg "John-Mark Gurney
- <tt><htmlurl url='mailto:jmg@FreeBSD.ORG'
- name='&lt;jmg@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jmz "Jean-Marc Zucconi
- <tt><htmlurl url='mailto:jmz@FreeBSD.ORG'
- name='&lt;jmz@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.joerg "J&ouml;rg Wunsch
- <tt><htmlurl url='mailto:joerg@FreeBSD.ORG'
- name='&lt;joerg@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.john "John Cavanaugh
- <tt><htmlurl url='mailto:john@FreeBSD.ORG'
- name='&lt;john@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jraynard "James Raynard
- <tt><htmlurl url='mailto:jraynard@freebsd.org'
- name='&lt;jraynard@freebsd.org&gt;'></tt>">
-
-<!ENTITY a.julian "Julian Elischer
- <tt><htmlurl url='mailto:julian@FreeBSD.ORG'
- name='&lt;julian@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jvh "Johannes Helander
- <tt><htmlurl url='mailto:jvh@FreeBSD.ORG'
- name='&lt;jvh@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.karl "Karl Strickland
- <tt><htmlurl url='mailto:karl@FreeBSD.ORG'
- name='&lt;karl@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.kato "Takenori KATO
- <tt><htmlurl url='mailto:kato@FreeBSD.ORG'
- name='&lt;kato@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.kelly "Sean Kelly
- <tt><htmlurl url='mailto:kelly@fsl.noaa.gov'
- name='&lt;kelly@fsl.noaa.gov&gt;'></tt>">
-
-<!ENTITY a.kjc "Kenjiro Cho
- <tt><htmlurl url='mailto:kjc@FreeBSD.ORG'
- name='&lt;kjc@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.lars "Lars Fredriksen
- <tt><htmlurl url='mailto:lars@FreeBSD.ORG'
- name='&lt;lars@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.ljo "L Jonas Olsson
- <tt><htmlurl url='mailto:ljo@FreeBSD.ORG'
- name='&lt;ljo@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.markm "Mark Murray
- <tt><htmlurl url='mailto:markm@FreeBSD.ORG'
- name='&lt;markm@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.martin "Martin Renters
- <tt><htmlurl url='mailto:martin@FreeBSD.ORG'
- name='&lt;martin@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.max "Masafumi NAKANE
- <tt><htmlurl url='mailto:max@FreeBSD.ORG'
- name='&lt;max@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.mayo "Mark Mayo
- <tt><htmlurl url='mailto:mayo@quickweb.com'
- name='&lt;mayo@quickweb.com&gt;'></tt>">
-
-<!ENTITY a.mbarkah "Ade Barkah
- <tt><htmlurl url='mailto:mbarkah@FreeBSD.ORG'
- name='&lt;mbarkah@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.mckay "Stephen McKay
- <tt><htmlurl url='mailto:mckay@FreeBSD.ORG'
- name='&lt;mckay@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.md "Mark Dapoz
- <tt><htmlurl url='mailto:md@bsc.no'
- name='&lt;md@bsc.no&gt;'></tt>">
-
-<!ENTITY a.mpp "Mike Pritchard
- <tt><htmlurl url='mailto:mpp@FreeBSD.ORG'
- name='&lt;mpp@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.msmith "Michael Smith
- <tt><htmlurl url='mailto:msmith@FreeBSD.ORG'
- name='&lt;msmith@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.nate "Nate Williams
- <tt><htmlurl url='mailto:nate@FreeBSD.ORG'
- name='&lt;nate@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.nik "Nik Clayton
- <tt><htmlurl url='mailto:nik@blueberry.co.uk'
- name='&lt;nik@blueberry.co.uk&gt;'></tt>">
-
-<!ENTITY a.nsj "Nate Johnson
- <tt><htmlurl url='mailto:nsj@FreeBSD.ORG'
- name='&lt;nsj@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.obrien "David O'Brien
- <tt><htmlurl url='mailto:obrien@cs.ucdavis.edu'
- name='&lt;obrien@cs.ucdavis.edu&gt;'></tt>">
-
-<!ENTITY a.olah "Andras Olah
- <tt><htmlurl url='mailto:olah@FreeBSD.ORG'
- name='&lt;olah@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.opsys "Chris Watson
- <tt><htmlurl url='mailto:opsys@open-systems.net'
- name='&lt;opsys@open-systems.net&gt;'></tt>">
-
-<!ENTITY a.paul "Paul Richards
- <tt><htmlurl url='mailto:paul@FreeBSD.ORG'
- name='&lt;paul@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.pds "Peter da Silva
- <tt><htmlurl url='mailto:pds@FreeBSD.ORG'
- name='&lt;pds@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.peter "Peter Wemm
- <tt><htmlurl url='mailto:peter@FreeBSD.ORG'
- name='&lt;peter@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.phk "Poul-Henning Kamp
- <tt><htmlurl url='mailto:phk@FreeBSD.ORG'
- name='&lt;phk@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.pjc "Peter Childs
- <tt><htmlurl url='mailto:pjchilds@imforei.apana.org.au'
- name='&lt;pjchilds@imforei.apana.org.au&gt;'></tt>">
-
-<!ENTITY a.proven "Chris Provenzano
- <tt><htmlurl url='mailto:proven@FreeBSD.ORG'
- name='&lt;proven@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.pst "Paul Traina
- <tt><htmlurl url='mailto:pst@FreeBSD.ORG'
- name='&lt;pst@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.rgrimes "Rodney Grimes
- <tt><htmlurl url='mailto:rgrimes@FreeBSD.ORG'
- name='&lt;rgrimes@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.rhuff "Robert Huff
- <tt><htmlurl url='mailto:rhuff@cybercom.net'
- name='&lt;rhuff@cybercom.net&gt;'></tt>">
-
-<!ENTITY a.ricardag "Ricardo AG
- <tt><htmlurl url='mailto:ricardag@ag.com.br'
- name='&lt;ricardag@ag.com.br&gt;'></tt>">
-
-<!ENTITY a.rich "Rich Murphey
- <tt><htmlurl url='mailto:rich@FreeBSD.ORG'
- name='&lt;rich@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.roberto "Ollivier Robert
- <tt><htmlurl url='mailto:roberto@FreeBSD.ORG'
- name='&lt;roberto@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.scrappy "Marc G. Fournier
- <tt><htmlurl url='mailto:scrappy@FreeBSD.ORG'
- name='&lt;scrappy@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.se "Stefan Esser
- <tt><htmlurl url='mailto:se@FreeBSD.ORG'
- name='&lt;se@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.sef "Sean Eric Fagan
- <tt><htmlurl url='mailto:sef@FreeBSD.ORG'
- name='&lt;sef@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.smace "Scott Mace
- <tt><htmlurl url='mailto:smace@FreeBSD.ORG'
- name='&lt;smace@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.smpatel "Sujal Patel
- <tt><htmlurl url='mailto:smpatel@FreeBSD.ORG'
- name='&lt;smpatel@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.sos "S&oslash;ren Schmidt
- <tt><htmlurl url='mailto:sos@FreeBSD.ORG'
- name='&lt;sos@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.stark "Gene Stark
- <tt><htmlurl url='mailto:stark@FreeBSD.ORG'
- name='&lt;stark@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.stb "Stefan Bethke
- <tt><htmlurl url='mailto:stb@FreeBSD.ORG'
- name='&lt;stb@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.steve "Steve Price
- <tt><htmlurl url='mailto:steve@FreeBSD.ORG'
- name='&lt;steve@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.swallace "Steven Wallace
- <tt><htmlurl url='mailto:swallace@FreeBSD.ORG'
- name='&lt;swallace@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.tedm "Ted Mittelstaedt
- <tt><htmlurl url='mailto:tedm@FreeBSD.ORG'
- name='&lt;tedm@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.tegge "Tor Egge
- <tt><htmlurl url='mailto:tegge@FreeBSD.ORG'
- name='&lt;tegge@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.tg "Thomas Gellekum
- <tt><htmlurl url='mailto:tg@FreeBSD.ORG'
- name='&lt;tg@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.torstenb "Torsten Blum
- <tt><htmlurl url='mailto:torstenb@FreeBSD.ORG'
- name='&lt;torstenb@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.ugen "Ugen J.S.Antsilevich
- <tt><htmlurl url='mailto:ugen@FreeBSD.ORG'
- name='&lt;ugen@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.uhclem "Frank Durda IV
- <tt><htmlurl url='mailto:uhclem@FreeBSD.ORG'
- name='&lt;uhclem@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.ulf "Ulf Zimmermann
- <tt><htmlurl url='mailto:ulf@FreeBSD.ORG'
- name='&lt;ulf@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.whiteside "Don Whiteside
- <tt><htmlurl url='mailto:whiteside@acm.org'
- name='&lt;whiteside@acm.org&gt;'></tt>">
-
-<!ENTITY a.wilko "Wilko Bulte
- <tt><htmlurl url='mailto:wilko@yedi.iaf.nl'
- name='&lt;wilko@yedi.iaf.nl&gt;'></tt>">
-
-<!ENTITY a.wlloyd "Bill Lloyd
- <tt><htmlurl url='mailto:wlloyd@mpd.ca'
- name='&lt;wlloyd@mpd.ca&gt;'></tt>">
-
-<!ENTITY a.wollman "Garrett Wollman
- <tt><htmlurl url='mailto:wollman@FreeBSD.ORG'
- name='&lt;wollman@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.wosch "Wolfram Schneider
- <tt><htmlurl url='mailto:wosch@FreeBSD.ORG'
- name='&lt;wosch@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.wpaul "Bill Paul
- <tt><htmlurl url='mailto:wpaul@FreeBSD.ORG'
- name='&lt;wpaul@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.yokota "Kazutaka YOKOTA
- <tt><htmlurl url='mailto:yokota@FreeBSD.ORG'
- name='&lt;yokota@FreeBSD.ORG&gt;'></tt>">
diff --git a/share/doc/handbook/basics.sgml b/share/doc/handbook/basics.sgml
deleted file mode 100644
index d7cf497..0000000
--- a/share/doc/handbook/basics.sgml
+++ /dev/null
@@ -1,96 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<chapt><heading>Unix Basics<label id="basics"></heading>
-
- <sect>
- <heading>The online manual<label id="basics:man"></heading>
-
- <p>The most comprehensive documentation on FreeBSD is in
- the form of <em>man pages</em>. Nearly every program
- on the system comes with a short reference manual
- explaining the basic operation and various arguments.
- These manuals can be view with the
- <tt><bf>man</bf></tt> command. Use of the
- <tt><bf>man</bf></tt> command is simple:
- <tscreen>
- <bf>man</bf> <it>command</it>
- </tscreen>
- where <it>command</it> is the name of the command
- you wish to learn about. For example, to learn more about
- <tt><bf>ls</bf></tt> command type:
- <tscreen>
- % <bf>man ls</bf>
- </tscreen>
-
- <p>The online manual is divided up into numbered
- sections:
- <enum>
- <item>User commands</item>
- <item>System calls and error numbers</item>
- <item>Functions in the C libraries</item>
- <item>Device drivers</item>
- <item>File formats</item>
- <item>Games and other diversions</item>
- <item>Miscellaneous information</item>
- <item>System maintenance and operation commands</item>
- </enum>
- in some cases, the same topic may appear in more than
- one section of the on-line manual. For example, there
- is a <tt><bf>chmod</bf></tt> user command and a
- <tt><bf>chmod()</bf></tt> system call. In this case,
- you can tell the <tt><bf>man</bf></tt> command which
- one you want by specifying the section:
- <tscreen>
- % <bf>man 1 chmod</bf>
- </tscreen>
- which will display the manual page for the user command
- <tt><bf>chmod</bf></tt>. References to a particular
- section of the on-line manual are traditionally placed
- in parenthesis in written documentation, so
- <tt><bf>chmod(1)</bf></tt> refers to the <tt><bf>chmod
- </bf></tt> user command and <tt><bf>chmod(2)</bf></tt>
- refers to the system call.
-
- <p>This is fine if you know the name of the command and
- simply wish to know how to use it, but what if you cannot recall the
- command name? You can use <tt><bf>man</bf></tt> to
- search for keywords in the command <em>descriptions</em> by
- using the <tt><bf>-k</bf></tt> switch:
- <tscreen>
- % <bf>man -k mail</bf>
- </tscreen>
- With this command you will be presented with a list of
- commands that have the keyword `mail' in their
- descriptions. This is actually functionally equivalent to
- using the <tt><bf>apropos</bf></tt> command.
-
- <p>So, you are looking at all those fancy commands in <tt>
- /usr/bin</tt> but do not even have the faintest idea
- what most of them actually do? Simply do a
- <tscreen>
- % <bf>cd /usr/bin; man -f *</bf>
- </tscreen>
- or
- <tscreen>
- % <bf>cd /usr/bin; whatis *</bf>
- </tscreen>
- which does the same thing.
-
- <sect>
- <heading>GNU Info files<label id="basics:info"></heading>
-
- <p>FreeBSD includes many applications and utilities
- produced by the Free Software Foundation (FSF). In
- addition to man pages, these programs come with more
- extensive hypertext documents called <em>info</em>
- files which can be viewed with the <tt>info</tt>
- command or, if you installed <tt>emacs</tt>, the info
- mode of <tt>emacs</tt>.
-
- To use the <tt>info(1)</tt> command, simply type:
- <tscreen>% <bf>info</bf></tscreen> For a brief
- introduction, type <tt><bf>h</bf></tt>. For a quick
- command reference, type <tt><bf>?</bf></tt>.
-
-
diff --git a/share/doc/handbook/bibliography.sgml b/share/doc/handbook/bibliography.sgml
deleted file mode 100644
index 9ffe676..0000000
--- a/share/doc/handbook/bibliography.sgml
+++ /dev/null
@@ -1,334 +0,0 @@
-<!-- $Id: bibliography.sgml,v 1.25 1997/03/19 07:59:19 obrien Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
- <chapt>
- <heading>Bibliography<label id="bibliography"></heading>
-
- <p>While the manual pages provide the definitive reference
- for individual pieces of the FreeBSD operating system,
- they are notorious for not illustrating how to put the
- pieces together to make the whole operating system run
- smoothly. For this, there is no substitute for a good
- book on UNIX system administration and a good users'
- manual.
-
- <sect>
- <heading>Books & magazines specific to FreeBSD</heading>
-
- <p><bf>International books & Magazines:</bf>
-
- <p><itemize>
- <item><htmlurl url="http://freebsd.csie.nctu.edu.tw/~jdli/book.html"
- name="Using FreeBSD"> (in Chinese).
- <item>FreeBSD for PC 98'ers (in Japanese), published by SHUWA
- System Co, LTD. ISBN4-87966-468-5 C3055 P2900E.
- <item>FreeBSD (in Japanese), published by CUTT.
- ISBN4-906391-22-2 C3055 P2400E.
- </itemize>
-
- <p><bf>English language books & Magazines:</bf>
-
- <p><itemize>
- <item><htmlurl url="http://www.cdrom.com/titles/os/bsdbook2.htm"
- name="The Complete FreeBSD">, published by <htmlurl
- url="http://www.cdrom.com" name="Walnut Creek CDROM">.
- </itemize>
-
- <sect>
- <heading>Users' guides</heading>
-
- <p><itemize>
- <item>Computer Systems Research Group, UC Berkeley.
- <sl>4.4BSD User's Reference Manual</sl>.
- O'Reilly &amp; Associates, Inc., 1994.
- <newline>ISBN 1-56592-075-9</item>
-
- <item>Computer Systems Research Group, UC Berkeley.
- <sl>4.4BSD User's Supplementary Documents</sl>.
- O'Reilly &amp; Associates, Inc., 1994.
- <newline>ISBN 1-56592-076-7</item>
-
- <item><sl>UNIX in a Nutshell</sl>.
- O'Reilly &amp; Associates, Inc., 1990.
- <newline>ISBN 093717520X</item>
-
- <item>Mui, Linda.
- <em>What You Need To Know When You Can't Find Your UNIX
- System Administrator</em>.
- O'Reilly &amp; Associates, Inc., 1995.
- <newline>ISBN 1-56592-104-6 </item>
-
- <item><htmlurl url="http://www-wks.acs.ohio-state.edu/"
- name="Ohio State University"> has written
- a <htmlurl
- url="http://www-wks.acs.ohio-state.edu/unix_course/unix.html"
- name="UNIX Introductory Course"> which is available online
- in HTML and postscript format.</item>
- </itemize>
-
- <sect>
- <heading>Administrators' guides</heading>
-
- <p><itemize>
-
- <item>Albitz, Paul and Liu, Cricket. <em>DNS and
- BIND</em>, 2nd Ed.
- O'Reilly &amp; Associates, Inc., 1997.
- <newline>ISBN 1-56592-236-0 </item>
-
- <item>Computer Systems Research Group, UC Berkeley.
- <sl>4.4BSD System Manager's Manual</sl>.
- O'Reilly &amp; Associates, Inc., 1994.
- <newline>ISBN 1-56592-080-5</item>
-
- <item>Costales, Brian, et al.
- <em>Sendmail</em>, 2nd Ed. O'Reilly &amp;
- Associates, Inc., 1997.
- <newline>ISBN 1-56592-222-0 </item>
-
- <item>Frisch, &AElig;leen. <em>Essential System
- Administration</em>, 2nd Ed. O'Reilly &amp;
- Associates, Inc., 1995. <newline>ISBN 1-56592-127-5 </item>
-
- <item>Hunt, Craig. <em>TCP/IP Network Administration</em>.
- O'Reilly &amp; Associates, Inc., 1992.
- <newline>ISBN 0-937175-82-X</item>
-
- <item>Nemeth, Evi. <em>UNIX System Administration
- Handbook</em>. 2nd ed. Prentice Hall, 1995.
- <newline>ISBN 0131510517</item>
-
- <item>Stern, Hal <em>Managing NFS and NIS</em>
- O'Reilly &amp; Associates, Inc., 1991.
- <newline>ISBN 1-937175-75-7 </item>
-
- </itemize>
-
-
-
- <sect>
- <heading>Programmers' guides</heading>
-
- <p><itemize>
-
- <item>Asente, Paul. <em>X Window System
- Toolkit</em>. Digital Press.
- <newline>ISBN 1-55558-051-3</item>
-
- <item>Computer Systems Research Group, UC Berkeley.
- <sl>4.4BSD Programmer's Reference Manual</sl>.
- O'Reilly &amp; Associates, Inc., 1994.
- <newline>ISBN 1-56592-078-3</item>
-
- <item>Computer Systems Research Group, UC Berkeley.
- <sl>4.4BSD Programmer's Supplementary Documents</sl>.
- O'Reilly &amp; Associates, Inc., 1994.
- <newline>ISBN 1-56592-079-1</item>
-
- <item>Ellis, Margaret A. and Stroustrup,
- Bjarne. <em>The Annotated C++ Reference
- Manual</em>. Addison-Wesley, 1990.
- <newline>ISBN 0-201-51459-1</item>
-
- <item>Harbison, Samuel P. and Steele, Guy
- L. Jr. <em>C: A Reference Manual</em>. 4rd ed. Prentice
- Hall, 1995. <newline>ISBN 0-13-326224-3</item>
-
- <item>Kernighan, Brian and Dennis M. Ritchie.
- <em>The C Programming Language.</em>.
- PTR Prentice Hall, 1988.
- <newline>ISBN 0-13-110362-9</item>
-
- <item>Lehey, Greg.
- <em>Port UNIX Software</em>.
- O'Reilly &amp; Associates, Inc., 1995.
- <newline>ISBN 1-56592-126-7</item>
-
- <item>Plauger, P. J. <em>The Standard C
- Library</em>. Prentice Hall, 1992.
- <newline>ISBN 0-13-131509-9</item>
-
- <item>Stevens, W. Richard. <em>Advanced
- Programming in the UNIX Environment</em>.
- Reading, Mass. : Addison-Wesley, 1992
- <newline>ISBN 0-201-56317-7</item>
-
- <item>Stevens, W. Richard. <em>UNIX Network
- Programming</em>. PTR Prentice Hall, 1990.
- <newline>ISBN 0-13-949876-1</item>
-
- <item>Wells, Bill. "Writing Serial Drivers for UNIX".
- <em>Dr. Dobb's Journal</em>. 19(15), December
- 1994. pp68-71, 97-99.</item>
-
- </itemize>
-
- <sect>
- <heading>Operating System Internals</heading>
-
- <p><itemize>
-
- <item>Andleigh, Prabhat K. <em>UNIX System Architecture</em>.
- Prentice-Hall, Inc., 1990.
- <newline>ISBN 0-13-949843-5</item>
-
- <item>Jolitz, William. "Porting UNIX to the
- 386". <em>Dr. Dobb's Journal</em>. January
- 1991-July 1992.</item>
-
- <item>Leffler, Samuel J., Marshall Kirk McKusick,
- Michael J Karels and John Quarterman <em>The Design and
- Implementation of the 4.3BSD UNIX Operating
- System</em>. Reading, Mass. : Addison-Wesley, 1989.
- <newline>ISBN 0-201-06196-1</item>
-
- <item>Leffler, Samuel J., Marshall Kirk McKusick,
- <em>The Design and Implementation of the 4.3BSD
- UNIX Operating System: Answer Book</em>.
- Reading, Mass. : Addison-Wesley, 1991.
- <newline>ISBN 0-201-54629-9</item>
-
- <item>McKusick, Marshall Kirk, Keith Bostic, Michael J Karels,
- and John Quarterman. <em>The Design and
- Implementation of the 4.4BSD Operating
- System</em>. Reading, Mass. : Addison-Wesley, 1996.
- <newline>ISBN 0-201-54979-4</item>
-
- <item>Stevens, W. Richard. <em>TCP/IP Illustrated,
- Volume 1: The Protocols</em>.
- Reading, Mass. : Addison-Wesley, 1996.
- <newline>ISBN 0-201-63346-9</item>
-
- <item>Stevens, W. Richard. <em>TCP/IP Illustrated,
- Volume 3: TCP for Transactions, HTTP, NNTP
- and the UNIX Domain Protocols</em>.
- Reading, Mass. : Addison-Wesley, 1996.
- <newline>ISBN 0-201-63495-3</item>
-
- <item>Vahalia, Uresh. <em>UNIX Internals -- The New Frontiers</em>.
- Prentice Hall, 1996.
- <newline>ISBN 0-13-101908-2</item>
-
- <item>Wright, Gary R. and W. Richard Stevens.
- <em>TCP/IP Illustrated, Volume 2:
- The Implementation</em>.
- Reading, Mass. : Addison-Wesley, 1995.
- <newline>ISBN 0-201-63354-X</item>
-
- </itemize>
-
-
- <sect>
- <heading>Security reference</heading>
-
- <p><itemize>
-
- <item>Cheswick, William R. and Steven M. Bellovin.
- <em>Firewalls and Internal Security:
- Repelling the Wily Hacker</em>.
- Reading, Mass. : Addison-Wesley, 1995.
- <newline>ISBN 1-201-63357-4 </item>
-
- <item>Garfinkel, Simson and Gene Spafford.
- <em>Practical UNIX Security</em>. 2nd Ed.
- O'Reilly &amp; Associates, Inc., 1996.
- <newline>ISBN 1-56592-148-8 </item>
-
- <item>Garfinkel, Simson.
- <em>PGP Pretty Good Privacy</em>
- O'Reilly &amp; Associates, Inc., 1995.
- <newline>ISBN 1-56592-098-8 </item>
-
- </itemize>
-
- <sect>
- <heading>Hardware reference</heading>
-
- <p><itemize>
-
- <item>Anderson, Don and Tom Shanley.
- <em>Pentium Processor System Architecture</em>.
- 2nd ed. Reading, Mass. : Addison-Wesley, 1995.
- <newline>ISBN 0-201-40992-5</item>
-
- <item>Ferraro, Richard F. <em>Programmer's Guide
- to the EGA, VGA, and Super VGA Cards</em>.
- 3rd ed. Reading, Mass. : Addison-Wesley, 1995.
- <newline>ISBN 0-201-62490-7</item>
-
- <item>Shanley, Tom. <em>80486 System
- Architecture</em>. 3rd ed. Reading, Mass. :
- Addison-Wesley, 1995. <newline>ISBN
- 0-201-40994-1</item>
-
- <item>Shanley, Tom. <em>ISA System
- Architecture</em>. 3rd ed. Reading, Mass. :
- Addison-Wesley, 1995.
- <newline>ISBN 0-201-40996-8</item>
-
- <item>Shanley, Tom. <em>PCI System
- Architecture</em>. 3rd ed. Reading, Mass. :
- Addison-Wesley, 1995. <newline>ISBN
- 0-201-40993-3</item>
-
- <item>Van Gilluwe, Frank. <em>The Undocumented PC</em>.
- Reading, Mass: Addison-Wesley Pub. Co., 1994.
- <newline>ISBN 0-201-62277-7</item>
-
- </itemize>
-
- <sect>
- <heading>UNIX history</heading>
-
- <p><itemize>
-
- <item>Lion, John <em>Lion's Commentary on UNIX, 6th Ed.
- With Source Code</em>.
- ITP Media Group, 1996.
- <newline>ISBN 1573980137</item>
-
- <item>Raymond, Eric s. <em>The New Hacker's Dictonary,
- 3rd edition</em>. MIT Press, 1996.
- <newline>ISBN 0-262-68092-0
- <newline>Also known as the
- <htmlurl url="http://www.ccil.org/jargon/jargon.html"
- name="Jargon File"></item>
-
- <item>Salus, Peter H. <em>A quarter century of UNIX</em>.
- Addison-Wesley Publishing Company, Inc., 1994.
- <newline>ISBN 0-201-54777-5</item>
-
- <item>Simon Garfinkel, Daniel Weise, Steven Strassmann.
- <em>The UNIX-HATERS Handbook</em>.
- IDG Books Worldwide, Inc., 1994.
- <newline>ISBN 1-56884-203-1</item>
-
- <item>Don Libes, Sandy Ressler <em>Life with UNIX</em> - special
- edition. Prentice-Hall, Inc., 1989.
- <newline>ISBN 0-13-536657-7</item>
-
- <item><em>The BSD family tree</em>. 1997.
- <newline>
- <htmlurl url="http://www.de.freebsd.org/de/ftp/unix-stammbaum"
- name="http://www.de.freebsd.org/de/ftp/unix-stammbaum">
- or <url url="file:/usr/share/misc/bsd-family-tree"
- name="local"> on a FreeBSD-current machine.
- </item>
-
- </itemize>
-
- <sect>
- <heading>Magazines and journals</heading>
-
- <p><itemize>
-
- <item><em>The C/C++ Users Journal</em>. R&amp;D Publications
- Inc. ISSN 1075-2838</item>
-
- <item><em>Sys Admin - The Journal for UNIX System
- Administrators</em> Miller Freeman, Inc., ISSN 1061-2688</item>
-
- </itemize>
-
- </sect>
-
diff --git a/share/doc/handbook/boothelp.sgml b/share/doc/handbook/boothelp.sgml
deleted file mode 100644
index c10c536..0000000
--- a/share/doc/handbook/boothelp.sgml
+++ /dev/null
@@ -1,50 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
-
-<!-- Conditional flags for this version of the document -->
-<!ENTITY % boothelp.only "INCLUDE">
-<!ENTITY % handbook.only "IGNORE">
-
-<!-- Entity shorthand for authors' names and email addresses -->
-<!ENTITY % authors SYSTEM "authors.sgml">
-%authors;
-
-<!-- Entity definitions for all the parts -->
-<!ENTITY % sections SYSTEM "sections.sgml">
-%sections;
-
-]>
-
-<linuxdoc>
- <book>
-
- <title>FreeBSD Installation
- <author>
- <name></name>
- </author>
-
- <abstract>Welcome to FreeBSD! This guide describes the
- FreeBSD installation process. To navigate through the
- sections in this guide using the <bf>up</bf> and
- <bf>down</bf> arrow keys to select the section you wish to
- read. Then use the <bf>right arrow</bf> or the <bf>enter
- key</bf> to view the section. You can backtrack through
- sections you have read by using the <bf>left arrow</bf>.
- </abstract>
-
- <chapt><heading>General information</heading>
- &nutshell;
- &history;
- &relnotes;
-
- &install;
- &troubleshooting;
- &bibliography;
- &eresources;
- &hw;
- &contrib;
-
- </book>
-</linuxdoc>
diff --git a/share/doc/handbook/booting.sgml b/share/doc/handbook/booting.sgml
deleted file mode 100644
index ff34296..0000000
--- a/share/doc/handbook/booting.sgml
+++ /dev/null
@@ -1,173 +0,0 @@
-<!-- This is a SGML version of the text on FreeBSD boot procedures
- made by Poul-Henning Kamp <phk@FreeBSD.ORG>
-
- This conversion has been made by Ollivier Robert.
-
- $Id$
-
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-
- <article>
-
- <title>Boot overview</title>
- <author>Poul-Henning Kamp, <tt/&lt;phk@login.dknet.dk&gt;/</author>
- <date>v1.1, April 26th</date>
- <abstract>
- Booting FreeBSD is essentially a three step: Load the kernel,
- determine the root filesystem and initialize user-land things. This
- leads to some interesting possibilities as shown below...
- </abstract>
-
- <toc>
--->
-
- <sect><heading>The FreeBSD Booting Process<label id="booting"></heading>
-
- <p><em>Contributed by &a.phk;. v1.1, April 26th.</em>
-
- Booting FreeBSD is essentially a three step: Load the kernel,
- determine the root filesystem and initialize user-land things. This
- leads to some interesting possibilities shown below.
-
- <sect1><heading>Loading a kernel</heading>
- <p>
- We presently have three basic mechanisms for loading the
- kernel as described below:
- They all pass some
- information to the kernel to help the kernel decide what to do
- next.
-
- <descrip>
- <tag>Biosboot</tag>
-
- Biosboot is our ``bootblocks'', it consists of two files, which
- will be installed in the first 8Kbytes of the floppy or hard-disk
- slice to be booted from.
-
- Biosboot can load a kernel from a FreeBSD filesystem.
-
- <tag>Dosboot</tag>
-
- Dosboot was written by DI. Christian Gusenbauer, and is
- unfortunately at this time one of the few pieces of code that
- will not compile under FreeBSD itself because it is written for
- Microsoft compilers.
-
- Dosboot will boot the kernel from a MS-DOS file or from a FreeBSD
- filesystem partition on the disk. It attempts to negotiate with
- the various and strange kinds of memory manglers that lurk in
- high memory on MS/DOS systems and usually wins them for its
- case.
-
- <tag>Netboot</tag>
-
- Netboot will try to find a supported Ethernet card, and use
- BOOTP, TFTP and NFS to find a kernel file to boot.
-</descrip>
-
-
- <sect1><heading>Determine the root filesystem</heading>
- <p>
- Once the kernel is loaded and the boot-code jumps to it, the kernel
- will initialize itself, trying to determine what hardware is
- present and so on, and then it needs to find a root filesystem.
-
- Presently we support the following types of root filesystems:
-
-<descrip>
- <tag>UFS</tag>
-
- This is the most normal type of root filesystem. It can reside on
- a floppy or on hard disk.
-
- <tag>MSDOS</tag>
-
- While this is technically possible, it is not particular useful,
- because of ``FAT'' filesystems inability to make links, device
- nodes and such ``UNIXisms''.
-
- <tag>MFS</tag>
-
- This is actually a UFS filesystem which has been compiled into
- the kernel. That means that the kernel does not really need any
- disks/floppies or other HW to function.
-
- <tag>CD9660</tag>
-
- This is for using a CD-ROM as root filesystem.
-
- <tag>NFS</tag>
-
- This is for using a fileserver as root filesystem, basically
- making it a diskless machine.
-</descrip>
-
-
- <sect1><heading>Initialize user-land things</heading>
- <p>
- To get the user-land going, when the kernel has finished
- initialization, it will create a process with ``<tt/pid == 1/'' and execute
- a program on the root filesystem, this program is normally
- ``<tt>/sbin/init</tt>''.
-
- You can substitute any program for /sbin/init, as long as you keep
- in mind that:
-
- there is no stdin/out/err unless you open it yourself, if you exit,
- the machine panics, signal handling is special for ``<tt/pid ==
- 1/''.
-
- An example of this is the ``<tt>/stand/sysinstall</tt>''
- program on the installation floppy.
-
-
- <sect1><heading>Interesting combinations</heading>
- <p>
- Boot a kernel with a MFS in it with a special <tt>/sbin/init</tt>
- which...
- <descrip>
- <tag/A -- Using DOS/
- <itemize>
- <item>mounts your <tt/C:/ as <tt>/C:</tt>
- <item>Attaches <tt>C:/freebsd.fs</tt> on <tt>/dev/vn0</tt>
- <item>mounts <tt>/dev/vn0</tt> as <tt>/rootfs</tt>
- <item>makes symlinks<newline>
- <tt>/rootfs/bin -&gt; /bin</tt><newline>
- <tt>/rootfs/etc -&gt; /etc</tt><newline>
- <tt>/rootfs/sbin -&gt; /sbin</tt><newline>
- (etc...)<newline>
- </itemize>
-
- Now you run FreeBSD without repartitioning your hard disk...
-
- <tag/B -- Using NFS/
-
- NFS mounts your <tt>server:&tilde;you/FreeBSD</tt> as
- <tt>/nfs</tt>, chroots to <tt>/nfs</tt> and executes
- <tt>/sbin/init</tt> there
-
- Now you run FreeBSD diskless, even though you do not control
- the NFS server...
-
- <tag/C -- Start an X-server/
-
- Now you have an X-terminal, which is better than that dingy
- X-under-windows-so-slow-you-can-see-what-it-does thing that
- your boss insist is better than forking our money on HW.
-
- <tag/D -- Using a tape/
- Takes a copy of <tt>/dev/rwd0</tt> and writes it to a remote tape
- station or fileserver.
-
- Now you finally got that backup you should have made a year
- ago...
-
- <tag>E -- Acts as a firewall/web-server/what do I know...</tag>
-
- This is particular interesting since you can boot from a write-
- protected floppy, but still write to your root filesystem...
- </descrip>
-
-
-
diff --git a/share/doc/handbook/contrib.sgml b/share/doc/handbook/contrib.sgml
deleted file mode 100644
index ad67152..0000000
--- a/share/doc/handbook/contrib.sgml
+++ /dev/null
@@ -1,502 +0,0 @@
-<!-- $Id: contrib.sgml,v 1.248 1997/05/21 03:27:15 asami Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!-- Please try to keep the file 'avail' (from CVSROOT)
- in sync with the list of FreeBSD Developers -->
-
-
-<chapt><heading>FreeBSD Project Staff<label id="staff"></heading>
-
-<p>The FreeBSD Project is managed and operated by the following
-groups of people:
-
- <sect><heading>The FreeBSD core team<label id="contrib:core"></heading>
-
- <p>The FreeBSD core team constitutes the project's ``Board of Directors'',
- responsible for deciding the project's overall goals and direction
- as well as managing <ref id="contrib:who" name="specific areas"> of
- the FreeBSD project landscape.
-
- <p>(in alphabetical order by last name):
-
- <itemize>
- <item>&a.asami;
- <item>&a.jmb;
- <item>&a.ache;
- <item>&a.dyson;
- <item>&a.bde;
- <item>&a.gibbs;
- <item>&a.davidg;
- <item>&a.jkh;
- <item>&a.phk;
- <item>&a.rich;
- <item>&a.gpalmer;
- <item>&a.jdp;
- <item>&a.guido;
- <item>&a.sos;
- <item>&a.peter;
- <item>&a.wollman;
- <item>&a.joerg;
- </itemize>
-
- <sect><heading>The FreeBSD Developers<label id="contrib:committers"></heading>
-
- <p>These are the people who have commit privileges and do the engineering
- work on the FreeBSD source tree. All core team members and most
- FreeBSD Documentation project personnel are also developers.
-
- <itemize>
- <item>&a.mbarkah;
- <item>&a.stb;
- <item>&a.jb;
- <item>&a.torstenb;
- <item>&a.danny;
- <item>&a.charnier;
- <item>&a.kjc;
- <item>&a.gclarkii;
- <item>&a.cracauer;
- <item>&a.adam;
- <item>&a.dufault;
- <item>&a.uhclem;
- <item>&a.tegge;
- <item>&a.eivind;
- <item>&a.sef;
- <item>&a.julian;
- <item>&a.se;
- <item>&a.fenner;
- <item>&a.jfieber;
- <item>&a.jfitz;
- <item>&a.lars;
- <item>&a.scrappy;
- <item>&a.tg;
- <item>&a.graichen;
- <item>&a.jgreco;
- <item>&a.rgrimes;
- <item>&a.jmg;
- <item>&a.jhay;
- <item>&a.hsu;
- <item>&a.ugen;
- <item>&a.gj;
- <item>&a.nsj;
- <item>&a.ljo;
- <item>&a.darrenr;
- <item>&a.kato;
- <item>&a.andreas;
- <item>&a.erich;
- <item>&a.imp;
- <item>&a.smace;
- <item>&a.mckay;
- <item>&a.tedm;
- <item>&a.amurai;
- <item>&a.markm;
- <item>&a.max;
- <item>&a.alex;
- <item>&a.davidn;
- <item>&a.obrien;
- <item>&a.fsmp;
- <item>&a.smpatel;
- <item>&a.wpaul;
- <item>&a.jmacd;
- <item>&a.steve;
- <item>&a.mpp;
- <item>&a.dfr;
- <item>&a.jraynard;
- <item>&a.csgr;
- <item>&a.martin;
- <item>&a.paul;
- <item>&a.roberto;
- <item>&a.chuckr;
- <item>&a.dima;
- <item>&a.wosch;
- <item>&a.ats;
- <item>&a.msmith;
- <item>&a.brian;
- <item>&a.stark;
- <item>&a.karl;
- <item>&a.pst;
- <item>&a.swallace;
- <item>&a.nate;
- <item>&a.yokota;
- <item>&a.jmz;
- <item>&a.hanai;
- </itemize>
-
- <sect><heading>The FreeBSD Documentation Project<label id="contrib:doc">
- </heading>
-
- <p>The <url url="../docproj.html" name="FreeBSD Documentation
- Project"> is responsible for a number of different services, each
- service being run by an individual and his <em>deputies</em> (if any):
-
- <p><descrip>
- <tag/Documentation Project Manager/ &a.jfieber
- <tag/Webmaster/ &a.mbarkah;<p><em>Deputy:</em> &a.paul
- <tag/Handbook & FAQ Editor/ &a.pds
- <tag/Build Engineer/ &a.paul;<p><em>Deputy:</em> &a.dave
- <tag/Mirror Manager/ &a.ulf;<p><em>Deputy:</em> &a.john
- <tag/News Editor/ &a.nsj;<p><em>Deputy:</em> &a.john;
- <tag/Gallery and Commercial Editor/ &a.nsj;<p><em>Deputy:</em> &a.cawimm
- <tag/Style Police & Art Director/ &a.dave;<p><em>Deputy:</em> &a.opsys
- <tag/Database Engineer/ &a.mayo;<p><em>Deputy:</em> &a.cracauer
- <tag/CGI Engineer/ &a.cracauer;<p><em>Deputy:</em> &a.stb
- <tag/Bottle Washing/ &a.nsj
- </descrip>
-
- <sect><heading>Who is responsible for what<label id="contrib:who"></heading>
-
- <p><descrip>
- <tag/Principal Architect/ &a.davidg
- <tag/Documentation Project Manager/ &a.jfieber
- <tag/Internationalization/ &a.ache
- <tag/Networking/ &a.wollman
- <tag/Postmaster/ &a.jmb;
- <tag/Release Coordinator/ &a.jkh
- <tag/Public Relations & Corporate Liaison/ &a.jkh
- <tag/Security Officer/ &a.guido
- <tag/Source Repository Manager/ &a.peter
- <tag/Ports Manager/ &a.asami
- <tag/XFree86 Project, Inc. Liaison/ &a.rich
- <tag/Usenet Support/ &a.joerg;
- </descrip>
-
-
-<chapt><heading>FreeBSD contributor list<label id="contrib"></heading>
-
- <sect><heading>Derived software contributors</heading>
-
- <p>This software was originally derived from William
- F. Jolitz's 386BSD release 0.1, though almost none of the
- original 386BSD specific code remains. This software has
- been essentially re-implemented from the 4.4BSD-Lite
- release provided by the Computer Science Research Group
- (CSRG) at the University of California, Berkeley and
- associated academic contributors.
-
- There are also portions of NetBSD that have been integrated
- into FreeBSD as well, and we would therefore like to thank
- all the contributors to NetBSD for their work. Despite
- some occasionally rocky moments in relations between the
- two groups, we both want essentially the same thing: More
- BSD based operating systems on people's computers! We wish
- the NetBSD group every success in their endeavors.
-
- <sect><heading>Additional FreeBSD contributors<label
- id="contrib:additional"></heading>
-
- <p>(in alphabetical order by first name):
-
- <itemize>
- <item>A JOSEPH KOSHY &lt;koshy@india.hp.com&gt;
- <item>ABURAYA Ryushirou &lt;pcs51674@asciinet.or.jp&gt;
- <item>Adam Glass &lt;glass@postgres.berkeley.edu&gt;
- <item>Adrian T. Filipi-Martin &lt;atf3r@agate.cs.virginia.edu&gt;
- <item>Akito Fujita &lt;fujita@zoo.ncl.omron.co.jp&gt;
- <item>Alain Kalker &lt;A.C.P.M.Kalker@student.utwente.nl&gt;
- <item>Alan Cox &lt;alc@cs.rice.edu&gt;
- <item>Andreas Kohout &lt;shanee@rabbit.augusta.de&gt;
- <item>Andreas Lohr &lt;andreas@marvin.RoBIN.de&gt;
- <item>Andrew Gordon &lt;andrew.gordon@net-tel.co.uk&gt;
- <item>Andrew Herbert &lt;andrew@werple.apana.org.au&gt;
- <item>Andrew McRae &lt;amcrae@cisco.com&gt;
- <item>Andrew Moore &lt;alm@FreeBSD.org&gt;
- <item>Andrew Stevenson &lt;andrew@ugh.net.au&gt;
- <item>Andrew V. Stesin &lt;stesin@elvisti.kiev.ua&gt;
- <item>Andrey Zakhvatov &lt;andy@cgu.chel.su&gt;
- <item>Andy Whitcroft &lt;andy@sarc.city.ac.uk&gt;
- <item>Anthony Yee-Hang Chan &lt;yeehang@netcom.com&gt;
- <item>Brent J. Nordquist &lt;bjn@visi.com&gt;
- <item>Bernd Rosauer &lt;br@schiele-ct.de&gt;
- <item>Bill Kish &lt;kish@osf.org&gt;
- <item>&a.wlloyd
- <item>Bob Wilcox &lt;bob@obiwan.uucp&gt;
- <item>Boyd Faulkner &lt;faulkner@mpd.tandem.com&gt;
- <item>Brent J. Nordquist &lt;bjn@visi.com&gt;
- <item>Brian Clapper &lt;bmc@willscreek.com&gt;
- <item>Brian Handy &lt;handy@lambic.space.lockheed.com&gt;
- <item>Brian Tao &lt;taob@risc.org&gt;
- <item>Carey Jones &lt;mcj@acquiesce.org&gt;
- <item>Charles Hannum &lt;mycroft@ai.mit.edu&gt;
- <item>Charles Mott &lt;cmott@srv.net&gt;
- <item>Chet Ramey &lt;chet@odin.INS.CWRU.Edu&gt;
- <item>Chris Dabrowski &lt; chris@vader.org&gt;
- <item>Chris G. Demetriou &lt;cgd@postgres.berkeley.edu&gt;
- <item>Chris Stenton &lt;jacs@gnome.co.uk&gt;
- <item>Chris Timmons &lt;skynyrd@opus.cts.cwu.edu&gt;
- <item>Chris Torek &lt;torek@ee.lbl.gov&gt;
- <item>Christian Gusenbauer &lt;cg@fimp01.fim.uni-linz.ac.at&gt;
- <item>Christian Haury &lt;Christian.Haury@sagem.fr&gt;
- <item>Christoph Robitschko &lt;chmr@edvz.tu-graz.ac.at&gt;
- <item>Choi Jun Ho &lt;junker@jazz.snu.ac.kr&gt;
- <item>Chuck Hein &lt;chein@cisco.com&gt;
- <item>Conrad Sabatier &lt;conrads@neosoft.com&gt;
- <item>Cornelis van der Laan &lt;nils@guru.ims.uni-stuttgart.de&gt;
- <item>Craig Struble &lt;cstruble@vt.edu&gt;
- <item>Cristian Ferretti &lt;cfs@riemann.mat.puc.cl&gt;
- <item>Curt Mayer &lt;curt@toad.com&gt;
- <item>Dan Cross &lt;tenser@spitfire.ecsel.psu.edu&gt;
- <item>Daniel Baker &lt;dbaker@crash.ops.neosoft.com&gt;
- <item>Daniel M. Eischen &lt;deischen@iworks.InterWorks.org&gt;
- <item>Danny J. Zerkel &lt;dzerkel@feephi.phofarm.com&gt;
- <item>Dave Bodenstab &lt;imdave@synet.net&gt;
- <item>Dave Burgess &lt;burgess@hrd769.brooks.af.mil&gt;
- <item>Dave Chapeskie &lt;dchapes@zeus.leitch.com&gt;
- <item>Dave Edmondson &lt;davided@sco.com&gt;
- <item>Dave Rivers &lt;rivers@ponds.uucp&gt;
- <item>David Dawes &lt;dawes@physics.su.OZ.AU&gt;
- <item>David Leonard &lt;d@scry.dstc.edu.au&gt;
- <item>Dean Huxley &lt;dean@fsa.ca&gt;
- <item>Dirk Froemberg &lt;dirk@hal.in-berlin.de&gt;
- <item>Dmitrij Tejblum &lt;dima@tejblum.dnttm.rssi.ru&gt;
- <item>Dmitry Kohmanyuk &lt;dk@farm.org&gt;
- <item>&a.whiteside;
- <item>Don Yuniskis &lt;dgy@rtd.com&gt;
- <item>Donald Burr &lt;d_burr@ix.netcom.com&gt;
- <item>Doug Ambrisko &lt;ambrisko@ambrisko.roble.com&gt;
- <item>Eric Blood &lt;eblood@cs.unr.edu&gt;
- <item>Frank Bartels &lt;knarf@camelot.de&gt;
- <item>Frank Maclachlan &lt;fpm@crash.cts.com&gt;
- <item>Frank Nobis &lt;fn@trinity.radio-do.de&gt;
- <item>FURUSAWA Kazuhisa &lt;furusawa@com.cs.osakafu-u.ac.jp&gt;
- <item>Gary A. Browning &lt;gab10@griffcd.amdahl.com&gt;
- <item>Greg Ungerer &lt;gerg@stallion.oz.au&gt;
- <item>Harlan Stenn &lt;Harlan.Stenn@pfcs.com&gt;
- <item>Havard Eidnes &lt;Havard.Eidnes@runit.sintef.no&gt;
- <item>Hideaki Ohmon &lt;ohmon@tom.sfc.keio.ac.jp&gt;
- <item>Hidekazu Kuroki &lt;hidekazu@cs.titech.ac.jp&gt;
- <item>Hidetoshi Shimokawa &lt;simokawa@sat.t.u-tokyo.ac.jp&gt;
- <item>Holger Veit &lt;Holger.Veit@gmd.de&gt;
- <item>Hung-Chi Chu &lt;hcchu@r350.ee.ntu.edu.tw&gt;
- <item>Igor Vinokurov &lt;igor@zynaps.ru&gt;
- <item>Ikuo Nakagawa &lt;ikuo@isl.intec.co.jp&gt;
- <item>IMAMURA Tomoaki &lt;tomoak-i@is.aist-nara.ac.jp&gt;
- <item>Ishii Masahiro &lt;?&gt;
- <item>Itsuro Saito &lt;saito@miv.t.u-tokyo.ac.jp&gt;
- <item>J. David Lowe &lt;lowe@saturn5.com&gt;
- <item>J.T. Conklin &lt;jtc@cygnus.com&gt;
- <item>James Clark &lt;jjc@jclark.com&gt;
- <item>James da Silva &lt;jds@cs.umd.edu&gt; et al
- <item>Janusz Kokot &lt;janek@gaja.ipan.lublin.pl&gt;
- <item>Jason Thorpe &lt;thorpej@nas.nasa.gov&gt;
- <item>Javier Martin Rueda &lt;jmrueda@diatel.upm.es&gt;
- <item>Jeffrey Wheat &lt;jeff@cetlink.net&gt;
- <item>Jian-Da Li &lt;jdli@csie.NCTU.edu.tw&gt;
- <item>Jim Lowe &lt;james@cs.uwm.edu&gt;
- <item>Jim Wilson &lt;wilson@moria.cygnus.com&gt;
- <item>Johann Tonsing &lt;jtonsing@mikom.csir.co.za&gt;
- <item>Joel Sutton &lt;suttonj@interconnect.com.au&gt;
- <item>John Capo &lt;jc@irbs.com&gt;
- <item>John Perry &lt;perry@vishnu.alias.net&gt;
- <item>Juergen Lock &lt;nox@jelal.hb.north.de&gt;
- <item>Juha Inkari &lt;inkari@cc.hut.fi&gt;
- <item>Julian Assange &lt;proff@suburbia.net&gt;
- <item>Julian Jenkins &lt;kaveman@magna.com.au&gt;
- <item>Julian Stacey &lt;jhs@freebsd.org&gt;
- <item>Jun-ichiro Itoh &lt;itojun@csl.sony.co.jp&gt;
- <item>Justin M. Seger &lt;jseger@scds.ziplink.net&gt;
- <item>Kazuhiko Kiriyama &lt;kiri@kiri.toba-cmt.ac.jp&gt;
- <item>Kazutaka YOKOTA &lt;yokota@zodiac.mech.utsunomiya-u.ac.jp&gt;
- <item>Keith Bostic &lt;bostic@bostic.com&gt;
- <item>Keith Moore &lt;?&gt;
- <item>Kenneth Monville &lt;desmo@bandwidth.org&gt;
- <item>Kent Vander Velden &lt;graphix@iastate.edu&gt;
- <item>Kirk McKusick &lt;mckusick@mckusick.com&gt;
- <item>Kiroh HARADA &lt;kiroh@kh.rim.or.jp&gt;
- <item>Koichi Sato &lt;copan@ppp.fastnet.or.jp&gt;
- <item>Kostya Lukin &lt;lukin@okbmei.msk.su&gt;
- <item>Kurt Olsen &lt;kurto@tiny.mcs.usu.edu&gt;
- <item>Lars Koeller &lt;Lars_Koeller@odie.physik2.uni-rostock.de&gt;
- <item>Lucas James &lt;Lucas.James@ldjpc.apana.org.au&gt;
- <item>Luigi Rizzo &lt;luigi@iet.unipi.it&gt;
- <item>Makoto Matsushita &lt;matusita@ics.es.osaka-u.ac.jp&gt;
- <item>Manu Iyengar &lt;iyengar@grunthos.pscwa.psca.com&gt;
- <item>Marc Frajola &lt;marc@dev.com&gt;
- <item>Marc Ramirez &lt;mrami@mramirez.sy.yale.edu&gt;
- <item>Marc Slemko &lt;marcs@znep.com&gt;
- <item>Marc van Kempen &lt;wmbfmk@urc.tue.nl&gt;
- <item>Mark Huizer &lt;xaa@stack.nl&gt;
- <item>Mark J. Taylor &lt;mtaylor@cybernet.com&gt;
- <item>Mark Tinguely &lt;tinguely@plains.nodak.edu&gt;
- &lt;tinguely@hookie.cs.ndsu.NoDak.edu&gt;
- <item>Martin Birgmeier
- <item>Masachika ISHIZUKA &lt;ishizuka@isis.min.ntt.jp&gt;
- <item>Mats Lofkvist &lt;mal@algonet.se&gt;
- <item>Matt Bartley &lt;mbartley@lear35.cytex.com&gt;
- <item>Matt Thomas &lt;thomas@lkg.dec.com&gt;
- <item>Matt White &lt;mwhite+@CMU.EDU&gt;
- <item>Matthew Hunt &lt;mph@pobox.com&gt;
- <item>Matthew N. Dodd &lt;winter@jurai.net&gt;
- <item>Matthew Stein &lt;matt@bdd.net&gt;
- <item>Michael Butschky &lt;butsch@computi.erols.com&gt;
- <item>Michael Elbel &lt;me@FreeBSD.ORG&gt;
- <item>Michael Searle &lt;searle@longacre.demon.co.uk&gt;
- <item>Miguel Angel Sagreras &lt;msagre@cactus.fi.uba.ar&gt;
- <item>Mikael Hybsch &lt;micke@dynas.se&gt;
- <item>Mikhail Teterin &lt;mi@aldan.ziplink.net&gt;
- <item>Mike McGaughey &lt;mmcg@cs.monash.edu.au&gt;
- <item>Mike Peck &lt;mike@binghamton.edu&gt;
- <item>MITA Yoshio &lt;mita@jp.FreeBSD.ORG&gt;
- <item>MOROHOSHI Akihiko &lt;moro@race.u-tokyo.ac.jp&gt;
- <item>Naoki Hamada &lt;nao@tom-yam.or.jp&gt;
- <item>Narvi &lt;narvi@haldjas.folklore.ee&gt;
- <item>NIIMI Satoshi &lt;sa2c@and.or.jp&gt;
- <item>Nick Sayer &lt;nsayer@quack.kfu.com&gt;
- <item>Nisha Talagala &lt;nisha@cs.berkeley.edu&gt;
- <item>Nobuhiro Yasutomi &lt;nobu@psrc.isac.co.jp&gt;
- <item>Nobuyuki Koganemaru &lt;kogane@kces.koganemaru.co.jp&gt;
- <item>Noritaka Ishizumi &lt;graphite@jp.FreeBSD.ORG&gt;
- <item>Oliver Laumann &lt;net@informatik.uni-bremen.de&gt;
- <item>Oliver Oberdorf &lt;oly@world.std.com&gt;
- <item>Paul Fox &lt;pgf@foxharp.boston.ma.us&gt;
- <item>Paul Kranenburg &lt;pk@cs.few.eur.nl&gt;
- <item>Paul Mackerras &lt;paulus@cs.anu.edu.au&gt;
- <item>Paulo Menezes &lt;paulo@isr.uc.pt&gt;
- <item>Pedro Giffuni &lt;pgiffuni@fps.biblos.unal.edu.co&gt;
- <item>Pedro A M Vazquez &lt;vazquez@IQM.Unicamp.BR&gt;
- <item>Peter Stubbs &lt;PETERS@staidan.qld.edu.au&gt;
- <item>R. Kym Horsell &lt;?&gt;
- <item>Ralf S. Engelschall &lt;rse@engelschall.com&gt;
- <item>Randall Hopper &lt;rhh@stealth.ct.picker.com&gt;
- <item>Richard Stallman &lt;rms@gnu.ai.mit.edu&gt;
- <item>Richard Wiwatowski &lt;rjwiwat@adelaide.on.neti&gt;
- <item>Rob Mallory &lt;rmallory@csusb.edu&gt;
- <item>Rob Shady &lt;rls@id.net&gt;
- <item>Rob Snow &lt;rsnow@txdirect.net&gt;
- <item>Robert Sanders &lt;rsanders@mindspring.com&gt;
- <item>Robert Withrow &lt;witr@rwwa.com&gt;
- <item>Ronald Kuehn &lt;kuehn@rz.tu-clausthal.de&gt;
- <item>Samuel Lam &lt;skl@ScalableNetwork.com&gt;
- <item>Sander Vesik &lt;sander@haldjas.folklore.ee&gt;
- <item>Sandro Sigala &lt;ssigala@globalnet.it&gt;
- <item>Sascha Blank &lt;blank@fox.uni-trier.de&gt;
- <item>Sascha Wildner &lt;swildner@channelz.GUN.de&gt;
- <item>Scott Blachowicz &lt;scott@sabami.seaslug.org&gt;
- <item>Serge V. Vakulenko &lt;vak@zebub.msk.su&gt;
- <item>Simon Marlow &lt;simonm@dcs.gla.ac.uk&gt;
- <item>Slaven Rezic (Tomic) &lt;eserte@cs.tu-berlin.de&gt;
- <item>Soren Dayton &lt;csdayton@midway.uchicago.edu&gt;
- <item>Stefan Moeding &lt;moeding@bn.DeTeMobil.de&gt;
- <item>Steve Gerakines &lt;steve2@genesis.tiac.net&gt;
- <item>Suzuki Yoshiaki &lt;zensyo@ann.tama.kawasaki.jp&gt;
- <item>Tadashi Kumano &lt;kumano@strl.nhk.or.jp&gt;
- <item>Taguchi Takeshi &lt;taguchi@tohoku.iij.ad.jp&gt;
- <item>Tatsumi Hosokawa &lt;hosokawa@mt.cs.keio.ac.jp&gt;
- <item>Terry Lambert &lt;terry@lambert.org&gt;
- <item>Terry Lee &lt;terry@uivlsi.csl.uiuc.edu&gt;
- <item>Theo Deraadt &lt;deraadt@fsa.ca&gt;
- <item>Thomas K&ouml;nig &lt;Thomas.Koenig@ciw.uni-karlsruhe.de&gt;
- <item>Tim Kientzle &lt;kientzle@netcom.com&gt;
- <item>Tim Vanderhoek &lt;ac199@freenet.hamilton.on.ca&gt;
- <item>Tom Samplonius &lt;tom@misery.sdf.com&gt;
- <item>Torbjorn Granlund &lt;tege@matematik.su.se&gt;
- <item>Toshihiro Kanda &lt;candy@fct.kgc.co.jp&gt;
- <item>Vanill Ice &lt;vanilla@Minje.Com.TW&gt;
- <item>Ville Eerola &lt;ve@sci.fi&gt;
- <item>Werner Griessl &lt;werner@btp1da.phy.uni-bayreuth.de&gt;
- <item>Wes Santee &lt;wsantee@wsantee.oz.net&gt;
- <item>Wolfgang Stanglmeier &lt;wolf@kintaro.cologne.de&gt;
- <item>Yoshiro Mihira &lt;sanpei@yy.cs.keio.ac.jp&gt;
- <item>Yukihiro Nakai &lt;nakai@mlab.t.u-tokyo.ac.jp&gt;
- <item>Yuval Yarom &lt;yval@cs.huji.ac.il&gt;
- <item>Yves Fonk &lt;yves@cpcoup5.tn.tudelft.nl&gt;
- </itemize>
-
- <sect><heading>386BSD Patch kit patch contributors</heading>
-
- <p>(in alphabetical order by first name):
-
- <itemize>
- <item>Adam Glass &lt;glass@postgres.berkeley.edu&gt;
- <item>Adrian Hall &lt;adrian@ibmpcug.co.uk&gt;
- <item>Andrey A. Chernov &lt;ache@astral.msk.su&gt;
- <item>Andrew Herbert &lt;andrew@werple.apana.org.au&gt;
- <item>Andrew Moore &lt;alm@netcom.com&gt;
- <item>Andy Valencia &lt;ajv@csd.mot.com&gt; &lt;jtk@netcom.com&gt;
- <item>Arne Henrik Juul &lt;arnej@Lise.Unit.NO&gt;
- <item>Bakul Shah &lt;bvs@bitblocks.com&gt;
- <item>Barry Lustig &lt;barry@ictv.com&gt;
- <item>Bob Wilcox &lt;bob@obiwan.uucp&gt;
- <item>Branko Lankester
- <item>Brett Lymn &lt;blymn@mulga.awadi.com.AU&gt;
- <item>Charles Hannum &lt;mycroft@ai.mit.edu&gt;
- <item>Chris G. Demetriou &lt;cgd@postgres.berkeley.edu&gt;
- <item>Chris Torek &lt;torek@ee.lbl.gov&gt;
- <item>Christoph Robitschko &lt;chmr@edvz.tu-graz.ac.at&gt;
- <item>Daniel Poirot &lt;poirot@aio.jsc.nasa.gov&gt;
- <item>Dave Burgess &lt;burgess@hrd769.brooks.af.mil&gt;
- <item>Dave Rivers &lt;rivers@ponds.uucp&gt;
- <item>David Dawes &lt;dawes@physics.su.OZ.AU&gt;
- <item>David Greenman &lt;davidg@Root.COM&gt;
- <item>Eric J. Haug &lt;ejh@slustl.slu.edu&gt;
- <item>Felix Gaehtgens &lt;felix@escape.vsse.in-berlin.de&gt;
- <item>Frank Maclachlan &lt;fpm@crash.cts.com&gt;
- <item>Gary A. Browning &lt;gab10@griffcd.amdahl.com&gt;
- <item>Geoff Rehmet &lt;csgr@alpha.ru.ac.za&gt;
- <item>Goran Hammarback &lt;goran@astro.uu.se&gt;
- <item>Guido van Rooij &lt;guido@gvr.win.tue.nl&gt;
- <item>Guy Harris &lt;guy@auspex.com&gt;
- <item>Havard Eidnes &lt;Havard.Eidnes@runit.sintef.no&gt;
- <item>Herb Peyerl &lt;hpeyerl@novatel.cuc.ab.ca
- <item>Holger Veit &lt;Holger.Veit@gmd.de&gt;
- <item>Ishii Masahiro, R. Kym Horsell
- <item>J.T. Conklin &lt;jtc@cygnus.com&gt;
- <item>Jagane D Sundar &lt; jagane@netcom.com &gt;
- <item>James Clark &lt;jjc@jclark.com&gt;
- <item>James Jegers &lt;jimj@miller.cs.uwm.edu&gt;
- <item>James W. Dolter
- <item>James da Silva &lt;jds@cs.umd.edu&gt; et al
- <item>Jay Fenlason &lt;hack@datacube.com&gt;
- <item>Jim Wilson &lt;wilson@moria.cygnus.com&gt;
- <item>J&ouml;rg Lohse &lt;lohse@tech7.informatik.uni-hamburg.de&gt;
- <item>J&ouml;rg Wunsch &lt;joerg_wunsch@uriah.heep.sax.de&gt;
- <item>John Dyson - &lt;formerly dyson@ref.tfs.com&gt;
- <item>John Polstra &lt;jdp@polstra.com&gt;
- <item>John Woods &lt;jfw@eddie.mit.edu&gt;
- <item>Jordan K. Hubbard &lt;jkh@whisker.hubbard.ie&gt;
- <item>Julian Elischer &lt;julian@dialix.oz.au&gt;
- <item>Julian Stacey &lt;jhs@freebsd.org&gt;
- <item>Karl Lehenbauer &lt;karl@NeoSoft.com&gt;
- &lt;karl@one.neosoft.com&gt;
- <item>Keith Bostic &lt;bostic@toe.CS.Berkeley.EDU&gt;
- <item>Ken Hughes
- <item>Kent Talarico &lt;kent@shipwreck.tsoft.net&gt;
- <item>Kevin Lahey &lt;kml%rokkaku.UUCP@mathcs.emory.edu&gt;
- &lt;kml@mosquito.cis.ufl.edu&gt;
- <item>Marc Frajola &lt;marc@dev.com&gt;
- <item>Mark Tinguely &lt;tinguely@plains.nodak.edu&gt;
- &lt;tinguely@hookie.cs.ndsu.NoDak.edu&gt;
- <item>Martin Renters &lt;martin@tdc.on.ca&gt;
- <item>Michael Clay &lt;mclay@weareb.org&gt;
- <item>Michael Galassi &lt;nerd@percival.rain.com&gt;
- <item>Mike Durkin &lt;mdurkin@tsoft.sf-bay.org&gt;
- <item>Naoki Hamada &lt;nao@tom-yam.or.jp&gt;
- <item>Nate Williams &lt;nate@bsd.coe.montana.edu&gt;
- <item>Nick Handel &lt;nhandel@NeoSoft.com&gt;
- &lt;nick@madhouse.neosoft.com&gt;
- <item>Pace Willisson &lt;pace@blitz.com&gt;
- <item>Paul Kranenburg &lt;pk@cs.few.eur.nl&gt;
- <item>Paul Mackerras &lt;paulus@cs.anu.edu.au&gt;
- <item>Paul Popelka &lt;paulp@uts.amdahl.com&gt;
- <item>Peter da Silva &lt;peter@NeoSoft.com&gt;
- <item>Phil Sutherland &lt;philsuth@mycroft.dialix.oz.au&gt;
- <item>Poul-Henning Kamp&lt;phk@FreeBSD.ORG&gt;
- <item>Ralf Friedl &lt;friedl@informatik.uni-kl.de&gt;
- <item>Rick Macklem &lt;root@snowhite.cis.uoguelph.ca&gt;
- <item>Robert D. Thrush &lt;rd@phoenix.aii.com&gt;
- <item>Rodney W. Grimes &lt;rgrimes@cdrom.com&gt;
- <item>Sascha Wildner &lt;swildner@channelz.GUN.de&gt;
- <item>Scott Burris &lt;scott@pita.cns.ucla.edu&gt;
- <item>Scott Reynolds &lt;scott@clmqt.marquette.mi.us&gt;
- <item>Sean Eric Fagan &lt;sef@kithrup.com&gt;
- <item>Simon J Gerraty &lt;sjg@melb.bull.oz.au&gt;
- &lt;sjg@zen.void.oz.au&gt;
- <item>Stephen McKay &lt;syssgm@devetir.qld.gov.au&gt;
- <item>Terry Lambert &lt;terry@icarus.weber.edu&gt;
- <item>Terry Lee &lt;terry@uivlsi.csl.uiuc.edu&gt;
- <item>Tor Egge &lt;Tor.Egge@idi.ntnu.no&gt;
- <item>Warren Toomey &lt;wkt@csadfa.cs.adfa.oz.au&gt;
- <item>Wiljo Heinen &lt;wiljo@freeside.ki.open.de&gt;
- <item>William Jolitz &lt;withheld&gt;
- <item>Wolfgang Solfrank &lt;ws@tools.de&gt;
- <item>Wolfgang Stanglmeier &lt;wolf@dentaro.GUN.de&gt;
- <item>Yuval Yarom &lt;yval@cs.huji.ac.il&gt;
- </itemize>
diff --git a/share/doc/handbook/crypt.sgml b/share/doc/handbook/crypt.sgml
deleted file mode 100644
index 410d6ac..0000000
--- a/share/doc/handbook/crypt.sgml
+++ /dev/null
@@ -1,78 +0,0 @@
-<!-- $Id: crypt.sgml,v 1.3 1997/02/22 12:58:13 peter Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect><heading>DES, MD5, and Crypt<label id="crypt"></heading>
-
-<p><em>Contributed by &a.wollman;<newline>24 September 1995.</em>
-
-<p>In order to protect the security of passwords on UN*X systems from
-being easily exposed, passwords have traditionally been scrambled in
-some way. Starting with Bell Labs' Seventh Edition Unix, passwords
-were encrypted using what the security people call a ``one-way hash
-function''. That is to say, the password is transformed in such a way
-that the original password cannot be regained except by brute-force
-searching the space of possible passwords. Unfortunately, the only
-secure method that was available to the AT&amp;T researchers at the
-time was based on DES, the Data Encryption Standard. This causes only
-minimal difficulty for commercial vendors, but is a serious problem
-for an operating system like FreeBSD where all the source code is
-freely available, because national governments in many places like to
-place restrictions on cross-border transport of DES and other
-encryption software.
-
-<p>So, the FreeBSD team was faced with a dilemma: how could we provide
-compatibility with all those UNIX systems out there while still not
-running afoul of the law? We decided to take a dual-track approach:
-we would make distributions which contained only a non-regulated
-password scrambler, and then provide as a separate add-on library the
-DES-based password hash. The password-scrambling function was moved
-out of the C library to a separate library, called `<tt>libcrypt</tt>'
-because the name of the C function to implement it is
-`<tt>crypt</tt>'. In FreeBSD 1.x and some pre-release 2.0 snapshots,
-the non-regulated scrambler uses an insecure function written by Nate
-Williams; in subsequent releases this was replaced by a mechanism
-using the RSA Data Security, Inc., MD5 one-way hash function. Because
-neither of these functions involve encryption, they are believed to be
-exportable from the US and importable into many other countries.
-
-<p>Meanwhile, work was also underway on the DES-based password hash
-function. First, a version of the `<tt>crypt</tt>' function which was
-written outside the US was imported, thus synchronizing the US and
-non-US code. Then, the library was modified and split into two; the
-DES `<tt>libcrypt</tt>' contains only the code involved in performing
-the one-way password hash, and a separate `<tt>libcipher</tt>' was
-created with the entry points to actually perform encryption. The
-code was partitioned in this way to make it easier to get an export
-license for the compiled library.
-
-<sect1><heading>Recognizing your `<tt>crypt</tt>' mechanism</heading>
-
-<p>It is fairly easy to recognize whether a particular password
-string was created using the DES- or MD5-based hash function.
-MD5 password strings always begin with the characters
-`<tt>&dollar;1&dollar;</tt>'. DES password strings do not have
-any particular identifying characteristics, but they are shorter
-than MD5 passwords, and are coded in a 64-character alphabet
-which does not include the `<tt>&dollar;</tt>' character, so a
-relatively short string which doesn't begin with a dollar sign is
-very likely a DES password.
-
-<p>Determining which library is being used on your system is fairly
-easy for most programs, except for those like `<tt>init</tt>' which
-are statically linked. (For those programs, the only way is to try
-them on a known password and see if it works.) Programs which use
-`<tt>crypt</tt>' are linked against `<tt>libcrypt</tt>', which for
-each type of library is a symbolic link to the appropriate
-implementation. For example, on a system using the DES versions:
-
-<tscreen><verb>
-$ cd /usr/lib
-$ ls -l /usr/lib/libcrypt*
-lrwxr-xr-x 1 bin bin 13 Sep 5 12:50 libcrypt.a -> libdescrypt.a
-lrwxr-xr-x 1 bin bin 18 Sep 5 12:50 libcrypt.so.2.0 -> libdescrypt.so.2.0
-lrwxr-xr-x 1 bin bin 15 Sep 5 12:50 libcrypt_p.a -> libdescrypt_p.a
-</verb></tscreen>
-
-On a system using the MD5-based libraries, the same links will be
-present, but the target will be `<tt>libscrypt</tt>' rather than
-`<tt>libdescrypt</tt>'.
diff --git a/share/doc/handbook/ctm.sgml b/share/doc/handbook/ctm.sgml
deleted file mode 100644
index 8e62940..0000000
--- a/share/doc/handbook/ctm.sgml
+++ /dev/null
@@ -1,201 +0,0 @@
-<!--
-# This is the sgml version of the ctm.FAQ file.
-#
-# Converted by Ollivier Robert <roberto@FreeBSD.ORG>
-#
-# $Id: ctm.sgml,v 1.16 1997/04/19 10:40:45 gpalmer Exp $
-#
-# ----------------------------------------------------------------------------
-# "THE BEER-WARE LICENSE" (Revision 42):
-# <phk@login.dknet.dk> wrote this file. As long as you retain this notice you
-# can do whatever you want with this stuff. If we meet some day, and you think
-# this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
-# ----------------------------------------------------------------------------
-#
--->
-
-<sect1><heading>CTM<label id="ctm"></heading>
-
-<p><em>Contributed by &a.phk;. Updated 16-Mar-1995.</em>
-
- <tt/CTM/ is a method for keeping a remote directory tree in sync with a
- central one. It has been developed for usage with FreeBSD's source
- trees, though other people may find it useful for other purposes as
- time goes by. Little, if any, documentation currently exists at
- this time on the process of creating deltas, so talk to &a.phk;
- for more information should you wish to use <tt/CTM/ for other things.
-
- <sect2><heading>Why should I use <tt/CTM/?</heading>
- <p><tt/CTM/ will give you a local copy of the ``FreeBSD-current''
- sources. If you are an active developer on FreeBSD, but have lousy
- or non-existent TCP/IP connectivity, <tt/CTM/ was made for you.
- You will need to transfer up to four deltas per day (or you can
- have them arrive in email automatically), the sizes for which are
- always kept as small as possible. This is typically less than 5K,
- with the occasional (one in ten) being 10-50K and every now and
- then a biggie of 100K+ or more coming around.
-
- You will also need to make yourself aware of the various caveats in
- running ``current'' sources, and for this it is recommended that
- you read <ref id="current" name="Staying current with FreeBSD">.
-
- <sect2><heading>What do I need to use <tt/CTM/?</heading>
-
- <p>You will need two things: The ``<tt/CTM/'' program and the initial
- deltas to feed it (to get up to ``current'' levels).
-
- The <tt/CTM/ program has been part of FreeBSD ever since version 2.0
- was released, and lives in <tt>/usr/src/usr.sbin/<tt/CTM/</tt> if you
- have a copy of the source online.
-
- If you are running a pre-2.0 version of FreeBSD, you can fetch the
- current <tt/CTM/ sources directly from:
-
- <url
- url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current/src/usr.sbin/ctm">
-
- The ``deltas'' you feed <tt/CTM/ can be had two ways, FTP or e-mail.
- If you have general FTP access to the Internet then the following
- FTP sites support access to <tt/CTM/:
-
- <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/CTM">
-
- or see section <ref id="mirrors-ctm" name="mirrors">.
-
- FTP the relevant directory and fetch the <tt/README/ file,
- starting from there.
-
- If you only have access to electronic mail or are otherwise blocked
- from using FTP then you may wish to get your deltas via email:
-
- Send email to &a.majordomo to subscribe to
- the list ``ctm-src-cur''. (If you do not know how to subscribe
- yourself using majordomo, send a message first containing the
- word ``help'' - it will send you back usage instructions.)
-
- When you begin receiving your <tt/CTM/ updates in the mail, you may
- use the <tt/ctm_rmail/ program to unpack and apply them. You
- can actually use the <tt/ctm_rmail/ program directly from a entry
- in <tt>/etc/aliases</tt> if you want to have the process run in a
- fully automated fashion. Check the <tt/ctm_rmail/ man page for more
- details.
-
- <bf/NOTE/: No matter what method you use to get the <tt/CTM/
- deltas, you should subscribe to the <tt/ctm-announce@FreeBSD.ORG/
- mailing list. In the future, this will be the only place where
- announcements concerning the operations of the <tt/CTM/ system will be
- posted. Send an email to &a.majordomo with a single
- line of ``<tt/subscribe ctm-announce/'' to get added to the list.
-
- <sect2><heading>Starting off with <tt/CTM/ for the first time</heading>
- <p>Before you can start using <tt/CTM/ deltas, you will need to get a
- special ``base'' delta that provides the starting point for all
- deltas produced subsequently to it.
-
- You can recognize a base delta by the ``<tt/A/'' appended to the
- number (<tt/src-cur.0341A.gz/ for instance). As a rule a base
- delta is produced every 100 deltas, the next one will be
- <tt/src-cur.0400A.gz/. By the way, they are large! 25 to 30
- Megabytes of <tt/gzip/'ed data is common for a base delta.
-
- If you do have the 2.0-RELEASE <tt/srcdist/, you can instead
- retrieve the <tt/src-cur.0372R20.gz/ file, it is only 4Mb and it
- will take you to current from the 2.0-RELEASE sources.
-
- Once you've picked a base delta to start from, you will also need
- all deltas with higher numbers following it.
-
- <sect2><heading>Using <tt/CTM/ in your daily life</heading>
- <p>To apply the deltas, simply say
- <verb>
- cd /where/ever/you/want/the/stuff
- ctm -v -v /where/you/store/your/deltas/src-cur.*
- </verb>
- <tt/CTM/ understands deltas which have been put through <tt/gzip/,
- so you do not need to gunzip them first, this saves disk space.
-
- Unless it feels very secure about the entire process, <tt/CTM/ will
- not touch your tree. To verify a delta you can also use the
- ``<tt/-c/'' flag and <tt/CTM/ will not actually touch your tree; it will
- merely verify the integrity of the delta and see if it would apply
- cleanly to your current tree.
-
- There are other options to <tt/CTM/ as well, look in the sources
- for more details.
-
- I would also be very happy if somebody could help with the ``user
- interface'' portions, as I have realized that I cannot make up my
- mind on what options should do what, how and when...
-
- That's really all there is to it. Every time you get a new delta,
- just run it through <tt/CTM/ to keep your sources up to date.
-
- Do not remove the deltas if they are hard to download again. You
- just might want to keep them around in case something bad happens.
- Even if you only have floppy disks, consider using <tt/fdwrite/ to
- make a copy.
-
-
- <sect2><heading>Future plans for <tt/CTM/</heading>
- <p>
- Tons of them:
- <itemize>
- <item>
- Make local modifications to the tree possible. One way to do
- it could be this:<p> When <tt/CTM/ wants to edit the file
- ``<tt>foo/bar.c</tt>'', it would first check for the existence
- of <tt>foo/bar.c&num;CTM</tt> If this file exists, the delta is
- applied to it instead. This way the <tt>foo/bar.c</tt> file
- can be edited to suit local needs.
- <item>
- Make a ``restore file(s)'' option to <tt/CTM/, something like:
- <verb>
- ctm -r src/sys/i386/wd.c /here/are/my/deltas/src-cur.*
- </verb>
- would restore <tt/wd.c/ to the current status from the files.
- <item>
- Clean up the options to <tt/CTM/, they became confusing and
- counter intuitive.
- </itemize>
-
- The bad news is that I am very busy, so any help in doing this will
- be most welcome. And do not forget to tell me what you want also...
-
- <sect2><heading>Miscellaneous stuff</heading>
- <p>
- All the ``DES infected'' (e.g. export controlled) source is not
- included. You will get the ``international'' version only. If
- sufficient interest appears, we will set up a ``<tt/sec-cur/''
- sequence too.
-
- If you are a frequent or valuable contributor to FreeBSD, I will be
- willing to arrange special services, one option is delivery via
- <tt/ftp/ or <tt/rcp/ to a machine closer to you. You need to have
- earned this, since it takes time to do, but I will be all the more
- happy to do it for you then.
-
- There is a sequence of deltas for the <tt/ports/ collection too,
- but interest has not been all that high yet. Tell me if you want
- an email list for that too and we will consider setting it up.
-
- If you have commit privileges or are similarly authorized by the
- FreeBSD core team, you can also get access to the CVS repository
- tree by the same means. Contact &a.phk;
- for details.
-
-
- <sect2><heading>Thanks!</heading>
- <p>
- <descrip>
- <tag/&a.bde;/
- for his pointed pen and invaluable comments.
- <tag/&a.sos;/
- for patience.
- <tag/Stephen McKay/
- wrote <tt/ctm_&lsqb;rs&rsqb;mail/, much appreciated.
- <tag/&a.jkh;/
- for being so stubborn that I had to make it better.
- <tag/All the users/
- I hope you like it...
- </descrip>
-
diff --git a/share/doc/handbook/current.sgml b/share/doc/handbook/current.sgml
deleted file mode 100644
index 906885e..0000000
--- a/share/doc/handbook/current.sgml
+++ /dev/null
@@ -1,162 +0,0 @@
-<!-- $Id: current.sgml,v 1.20 1997/05/02 14:15:34 jfieber Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-
-<sect><heading>Staying current with FreeBSD<label id="current"></heading>
-
-<p><em>Contributed by &a.jkh;.</em>
-
-<!--
-
- THE FREEBSD CURRENT POLICY
-
-Last updated: $Date: 1997/05/02 14:15:34 $
-
-This document attempts to explain the rationale behind
-FreeBSD-current, what you should expect should you decide to run it,
-and states some prerequisites for making sure the process goes as
-smoothly as possible.
--->
-
-<sect1><heading>What is FreeBSD-current?</heading>
-
-<p>FreeBSD-current is, quite literally, nothing more than a daily
-snapshot of the working sources for FreeBSD. These include work in
-progress, experimental changes and transitional mechanisms that may or
-may not be present in the next official release of the software.
-While many of us compile almost daily from FreeBSD-current sources,
-there are periods of time when the sources are literally un-compilable.
-These problems are generally resolved as expeditiously as possible,
-but whether or not FreeBSD-current sources bring disaster or greatly
-desired functionality can literally be a matter of which part of any
-given 24 hour period you grabbed them in!
-
-Under certain circumstances we will sometimes make binaries for parts
-of FreeBSD-current available, but only because we are interested in
-getting something tested, not because we are in the business of
-providing binary releases of current. If we do not offer, please do not
-ask! It takes far too much time to do this as a general task.
-
-<sect1><heading>Who needs FreeBSD-current?</heading>
-
-<p>FreeBSD-current is made generally available for 3 primary interest groups:
-<enum>
- <item> Members of the FreeBSD group who are actively working on some
- part of the source tree and for whom keeping `current' is an
- absolute requirement.
-
- <item> Members of the FreeBSD group who are active testers,
- willing to spend time working through problems in order to
- ensure that FreeBSD-current remains as sane as possible. These
- are also people who wish to make topical suggestions on changes
- and the general direction of FreeBSD.
-
- <item> Peripheral members of the FreeBSD (or some other) group who merely
- wish to keep an eye on things and use the current sources for
- reference purposes (e.g. for <em>reading</em>, not running). These
- people also make the occasional comment or contribute code.
-</enum>
-
-<sect1><heading>What is FreeBSD-current <em>NOT</em>?</heading>
-
-<p><enum>
- <item> A fast-track to getting pre-release bits because you heard there is
- some cool new feature in there and you want to be the first on
- your block to have it.
-
- <item> A quick way of getting bug fixes.
-
- <item> In any way ``officially supported'' by us.
-
- We do our best to help people genuinely in one of the 3
- ``legitimate'' FreeBSD-current categories, but we simply <em>do not
- have the time</em> to provide tech support for it.
- This is not because we are mean and nasty people who do not like
- helping people out (we would not even be doing FreeBSD if we were),
- it is literally because we cannot answer 400 messages a day
- <em>and</em> actually work on FreeBSD! I am sure that, if given
- the choice between having us answer lots of questions or continuing to
- improve FreeBSD, most of you would vote for us improving it.
-</enum>
-
-<sect1><heading>Using FreeBSD-current</heading>
-
-<p><enum> <item> Join the &a.current and the &a.cvsall .
- This is not just a good idea, it is <em>essential</em>.
- If you are not on the <em>FreeBSD-current</em> mailing list you
- will not see the comments that people are making about the
- current state of the system and thus will probably end up stumbling
- over a lot of problems that others have already found and
- solved. Even more importantly, you will miss out on
- potentially critical information (e.g. ``Yo, Everybody!
- Before you rebuild <tt>/usr/src</tt>, you <em>must</em>
- rebuild the kernel or your system will crash horribly!").
-
- The <em>cvs-all</em> mailing list will allow you to see the commit log
- entry for each change as it is made along with any pertinent
- information on possible side-effects.
-
- To join these lists, send mail to &a.majordomo and specify:
-<verb>
-subscribe freebsd-current
-subscribe cvs-all
-</verb>
- In the body of your message. Optionally, you can also say `help'
- and Majordomo will send you full help on how to subscribe and
- unsubscribe to the various other mailing lists we support.
-
- <item> Grab the sources from ftp.FreeBSD.ORG. You can do this in
- three ways:
-
- <enum>
- <item> Use the <ref id="ctm" name="CTM"> facility. Unless you
- have a good TCP/IP connection at a flat rate, this is
- the way to do it.
-
- <item> Use the <ref id="cvsup" name="cvsup"> program with
- <url url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/standard-supfile" name="this supfile">.
- This is the second most recommended method, since it allows
- you to grab the entire collection once and then only what has
- changed from then on. Many people run cvsup from cron
- and keep their sources up-to-date automatically.
-
- <item> Use ftp. The source tree for FreeBSD-current is always
- "exported" on:
- <htmlurl url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current"
- name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current">
- We also use `wu-ftpd' which allows compressed/tar'd grabbing
- of whole trees. e.g. you see:
-<verb>
- usr.bin/lex
-</verb>
- You can do:
-<verb>
- ftp> cd usr.bin
- ftp> get lex.tar.Z
-</verb>
- And it will get the whole directory for you as a compressed
- tar file.
- </enum>
-
- <item> Essentially, if you need rapid on-demand access to the source and
- communications bandwidth is not a consideration, use cvsup or ftp.
- Otherwise, use CTM.
-
- <item> If you are grabbing the sources to run, and not just look at,
- then grab <em>all</em> of current, not just selected portions. The
- reason for this is that various parts of the source depend on
- updates elsewhere, and trying to compile just a subset is almost
- guaranteed to get you into trouble.
-
- <item> Before compiling current, read the Makefile in /usr/src
- carefully. You should at least run a `make world' the first time
- through as part of the upgrading process.
- Reading the &a.current will keep you up-to-date on other
- bootstrapping procedures that sometimes become necessary as we move
- towards the next release.
-
- <item> Be active! If you are running FreeBSD-current, we want to know
- what you have to say about it, especially if you have suggestions
- for enhancements or bug fixes. Suggestions with accompanying code
- are received most enthusiastically!
-</enum>
diff --git a/share/doc/handbook/cvsup.sgml b/share/doc/handbook/cvsup.sgml
deleted file mode 100644
index fe48abb..0000000
--- a/share/doc/handbook/cvsup.sgml
+++ /dev/null
@@ -1,574 +0,0 @@
-<!-- $Id: cvsup.sgml,v 1.18 1997/05/19 17:39:20 jdp Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect1><heading>CVSup<label id="cvsup"></heading>
-
-<p><em>Contributed by &a.jdp;</em>.
-
-<sect2><heading>Introduction<label id="cvsup:intro"></heading>
-
-<p>CVSup is a software package for distributing and updating source
-trees from a master CVS repository on a remote server host. The
-FreeBSD sources are maintained in a CVS repository on a central
-development machine in California. With CVSup, FreeBSD users can
-easily keep their own source trees up to date.
-
-<p>CVSup uses the so-called "pull" model of updating. Under the pull
-model, each client asks the server for updates, if and when they are
-wanted. The server waits passively for update requests from its
-clients. Thus all updates are instigated by the client. The server
-never sends unsolicited updates. Users must either run the CVSup client
-manually to get an update, or they must set up a cron job to run it
-automatically on a regular basis.
-
-<p>The term "CVSup", capitalized just so, refers to the entire software
-package. Its main components are the client "cvsup" which runs on each
-user's machine, and the server "cvsupd" which runs at each of the
-FreeBSD mirror sites.
-
-<p>As you read the FreeBSD documentation and mailing lists, you may
-see references to <ref id="sup">. Sup was the predecessor to CVSup,
-and it served a similar purpose. CVSup is in used in much the same
-way as sup and, in fact, uses configuration files which are
-backward-compatible with sup's. Sup is no longer used in the FreeBSD
-project, however, because CVSup is both faster and more flexible.
-
-<sect2><heading>Installation<label id="cvsup:install"></heading>
-
-<p>The easiest way to install CVSup if you are running FreeBSD 2.2 or
-later is to use either <url
-url="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/net/cvsup.tar.gz"
-name="the port"> from the FreeBSD <ref id="ports" name="ports
-collection"> or the corresponding <url
-url="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/net/cvsup-14.1.1.tgz"
-name="binary package">, depending on whether you prefer to roll your
-own or not.
-
-<p>If you are running FreeBSD-2.1.6 or 2.1.7, you unfortunately cannot use the
-binary package versions due to the fact that it requires a version of
-the C library that does not yet exist in FreeBSD-2.1.{6,7}. You can easily
-use <url url="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/net/cvsup.tar.gz"
-name="the port">, however, just as with FreeBSD 2.2. Simply unpack
-the tar file, cd to the cvsup subdirectory and type "make install"
-
-<p>Because CVSup is written in <url
-url="http://www.research.digital.com/SRC/modula-3/html/home.html"
-name="Modula-3">, both the package and the port require that the
-Modula-3 runtime libraries be installed. These are available as the
-<url
-url="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/lang/modula-3-lib.tar.gz"
-name="lang/modula-3-lib"> port and the <url
-url="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/lang/modula-3-lib-3.6.tgz"
-name="lang/modula-3-lib-3.6"> package. If you follow the same
-directions as for cvsup, these libraries will be compiled and/or
-installed automatically when you install the CVSup port or package.
-
-<p>The Modula-3 libraries are rather large, and fetching and compiling
-them is not an instantaneous process. For that reason, a third option
-is provided. You can get <em>statically linked</em> FreeBSD
-executables for CVSup from either the USA distribution site:
-
-<itemize>
- <item><url url="ftp://hub.freebsd.org/pub/CVSup/cvsup-bin-14.1.1.tar.gz"
- name="ftp://hub.freebsd.org/pub/CVSup/cvsup-bin-14.1.1.tar.gz">
- (client).
- <item><url url="ftp://hub.freebsd.org/pub/CVSup/cvsupd-bin-14.1.1.tar.gz"
- name="ftp://hub.freebsd.org/pub/CVSup/cvsupd-bin-14.1.1.tar.gz">
- (server).
-</itemize>
-
-or the German mirror:
-
-<itemize>
- <item><url url="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsup-bin-14.1.1.tar.gz"
- name="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsup-bin-14.1.1.tar.gz">
- (client).
- <item><url url="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsupd-bin-14.1.1.tar.gz"
- name="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsupd-bin-14.1.1.tar.gz">
- (server).
-</itemize>
-
-<p>Most users will need only the client. These executables are entirely
-self-contained, and they will run on any version of FreeBSD from
-FreeBSD-2.1.0 to FreeBSD-current.
-
-<p>In summary, your options for installing CVSup are:
-
-<itemize>
- <item>FreeBSD-2.2 or later: static binary, port, or package
- <item>FreeBSD-2.1.6, 2.1.7: static binary or port
- <item>FreeBSD-2.1.5 or earlier: static binary
-</itemize>
-
-<sect2><heading>Configuration<label id="cvsup:config"></heading>
-
-<p>CVSup's operation is controlled by a configuration file called the
-"supfile". Beginning with FreeBSD-2.2, there are some sample supfiles
-in the directory <url url="file:/usr/share/examples/cvsup"
-name="/usr/share/examples/cvsup">. These examples are also available
-from <url url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/" name="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/"> if you are on a pre-2.2 system.
-
-<p>The information in a supfile answers the following questions for cvsup:
-
-<itemize>
- <item><ref id="cvsup:config:files" name="Which files do you want to receive?">
- <item><ref id="cvsup:config:vers" name="Which versions of them do you want?">
- <item><ref id="cvsup:config:where" name="Where do you want to get them from?">
- <item><ref id="cvsup:config:dest" name="Where do you want to put them on your own machine?">
- <item><ref id="cvsup:config:status" name="Where do you want to put your status files?">
-</itemize>
-
-<p>In the following sections, we will construct a typical supfile by
-answering each of these questions in turn. First, we describe the
-overall structure of a supfile.
-
-<p>A supfile is a text file. Comments begin with "#" and extend to
-the end of the line. Lines that are blank and lines that contain only
-comments are ignored.
-
-<p>Each remaining line describes a set of files that the user wishes
-to receive. The line begins with the name of a "collection", a
-logical grouping of files defined by the server. The name of the
-collection tells the server which files you want. After the
-collection name come zero or more fields, separated by white space.
-These fields answer the questions listed above. There are two types
-of fields: flag fields and value fields. A flag field consists of a
-keyword standing alone, e.g., "delete" or "compress". A value field
-also begins with a keyword, but the keyword is followed without
-intervening white space by "=" and a second word. For example,
-"release=cvs" is a value field.
-
-<p>A supfile typically specifies more than one collection to receive.
-One way to structure a supfile is to specify all of the relevant
-fields explicitly for each collection. However, that tends to make
-the supfile lines quite long, and it is inconvenient because most
-fields are the same for all of the collections in a supfile. CVSup
-provides a defaulting mechanism to avoid these problems. Lines
-beginning with the special pseudo-collection name "*default" can be
-used to set flags and values which will be used as defaults for the
-subsequent collections in the supfile. A default value can be
-overridden for an individual collection, by specifying a different
-value with the collection itself. Defaults can also be changed or
-augmented in mid-supfile by additional "*default" lines.
-
-<p>With this background, we will now proceed to construct a supfile
-for receiving and updating the main source tree of <ref id="current"
-name="FreeBSD-current">.
-
-<itemize>
-<item>Which files do you want to receive?<label id="cvsup:config:files">
-
-<p>As with sup, the files available via CVSup are organized into named
-groups called "collections". The collections that are available are
-described <ref id="cvsup:collec" name="here">.
-In this example, we wish to receive the
-entire main source tree for the FreeBSD system. There is a single
-large collection "src-all" which will give us all of that, except the
-export-controlled cryptography support. Let us assume for this
-example that we are in the USA or Canada. Then we can get the
-cryptography code with one additional collection, "cvs-crypto".
-As a first step toward constructing our supfile, we
-simply list these collections, one per line:
-
-<verb>
- src-all
- cvs-crypto
-</verb>
-
-<p><item>Which version(s) of them do you want?<label id="cvsup:config:vers">
-
-<p>With CVSup, you can receive virtually any version of the sources
-that ever existed. That is possible because the cvsupd server works
-directly from the CVS repository, which contains all of the versions.
-You specify which one of them you want using the "tag=" and "date="
-value fields.
-
-<p>The "tag=" field names a symbolic tag in the repository. There are
-two kinds of tags, revision tags and branch tags. A revision tag
-refers to a specific revision. Its meaning stays the same from day to
-day. A branch tag, on the other hand, refers to the latest revision
-on a given line of development, at any given time. Because a branch
-tag does not refer to a specific revision, it may mean something
-different tomorrow than it means today.
-
-<p>Here are the branch tags that users might be interested in:
-
-<descrip>
- <tag/tag=./
- The main line of development, also known as FreeBSD-current.
- Note: the "." is not punctuation; it is the name of the tag.
- <tag/tag=RELENG_2_2/
- The line of development for FreeBSD-2.2.x.
- <tag/tag=RELENG_2_1_0/
- The line of development for FreeBSD-2.1.x, also known as
- FreeBSD-stable.
-</descrip>
-
-<p>Here are the revision tags that users might be interested in:
-
-<descrip>
- <tag/tag=RELENG_2_2_1_RELEASE/
- FreeBSD-2.2.1.
- <tag/tag=RELENG_2_2_0_RELEASE/
- FreeBSD-2.2.0.
- <tag/tag=RELENG_2_1_7_RELEASE/
- FreeBSD-2.1.7.
- <tag/tag=RELENG_2_1_6_1_RELEASE/
- FreeBSD-2.1.6.1.
- <tag/tag=RELENG_2_1_6_RELEASE/
- FreeBSD-2.1.6.
- <tag/tag=RELENG_2_1_5_RELEASE/
- FreeBSD-2.1.5.
- <tag/tag=RELENG_2_1_0_RELEASE/
- FreeBSD-2.1.0.
-</descrip>
-
-<p>Be very careful to type the tag name exactly as shown. CVSup cannot
-distinguish between valid and invalid tags. If you misspell the tag,
-CVSup will behave as though you had specified a valid tag which happens
-to refer to no files at all. It will delete your existing sources in
-that case.
-
-<p>When you specify a branch tag, you normally receive the latest versions
-of the files on that line of development. If you wish to receive some
-past version, you can do so by specifying a date with the "date=" value
-field. The cvsup(1) manual page explains how to do that.
-
-<p>For our example, we wish to receive FreeBSD-current. We add this line
-at the beginning of our supfile:
-
-<verb>
- *default tag=.
-</verb>
-
-<p>There is an important special case that comes into play if you specify
-neither a "tag=" field nor a "date=" field. In that case, you receive
-the actual RCS files directly from the server's CVS repository, rather
-than receiving a particular version. Developers generally prefer this
-mode of operation. By maintaining a copy of the repository itself on
-their systems, they gain the ability to browse the revision histories
-and examine past versions of files. This gain is achieved at a large
-cost in terms of disk space, however.
-
-<p><item>Where do you want to get them from?<label id="cvsup:config:where">
-
-<p>We use the "host=" field to tell cvsup where to obtain its updates.
-Any of the <ref id="mirrors-cvsup" name="CVSup mirror sites"> will do,
-though you should try to select one that's near to you.
-In this example, we'll use the primary FreeBSD distribution site,
-"cvsup.FreeBSD.org":
-
-<verb>
- *default host=cvsup.FreeBSD.org
-</verb>
-
-<p>On any particular run of cvsup, you can override this setting on the
-command line, with "-h hostname".
-
-<p><item>Where do you want to put them on your own machine?<label id="cvsup:config:dest">
-
-<p>The "prefix=" field tells cvsup where to put the files it receives.
-In this example, we will put the source files directly into our main
-source tree, "/usr/src". The "src" directory is already implicit in the
-collections we have chosen to receive, so this is the correct
-specification:
-
-<verb>
- *default prefix=/usr
-</verb>
-
-<p><item>Where should cvsup maintain its status files?<label id="cvsup:config:status">
-
-<p>The cvsup client maintains certain status files in what is called
-the "base" directory. These files help CVSup to work more
-efficiently, by keeping track of which updates you have already
-received. We will use the standard base directory,
-"/usr/local/etc/cvsup":
-
-<verb>
- *default base=/usr/local/etc/cvsup
-</verb>
-
-<p>This setting is used by default if it is not specified in the
-supfile, so we actually do not need the above line.
-
-<p>If your base directory does not already exist, now would be a good
-time to create it. The cvsup client will refuse to run if the base
-directory does not exist.
-
-<p><item>Miscellaneous supfile settings:
-
-<p>There is one more line of boiler plate that normally needs to be
-present in the supfile:
-
-<verb>
- *default release=cvs delete use-rel-suffix compress
-</verb>
-
-<p>"release=cvs" indicates that the server should get its information
-out of the main FreeBSD CVS repository. This is virtually always the
-case, but there are other possibilities which are beyond the scope of
-this discussion.
-
-<p>"delete" gives CVSup permission to delete files. You should always
-specify this, so that CVSup can keep your source tree fully up to
-date. CVSup is careful to delete only those files for which it is
-responsible. Any extra files you happen to have will be left strictly
-alone.
-
-<p>"use-rel-suffix" is ... arcane. If you really want to know about
-it, see the cvsup(1) manual page. Otherwise, just specify it and
-do not worry about it.
-
-<p>"compress" enables the use of gzip-style compression on the
-communication channel. If your network link is T1 speed or faster,
-you probably should not use compression. Otherwise, it helps
-substantially.
-
-<p><item>Putting it all together:
-
-<p>Here is the entire supfile for our example:
-
-<verb>
- *default tag=.
- *default host=cvsup.FreeBSD.org
- *default prefix=/usr
- *default base=/usr/local/etc/cvsup
- *default release=cvs delete use-rel-suffix compress
- src-all
- cvs-crypto
-</verb>
-</itemize>
-
-<sect2><heading>Running CVSup</heading>
-
-<p>You are now ready to try an update. The command line for doing this is
-quite simple:
-
-<verb>
- cvsup supfile
-</verb>
-
-<p>where "supfile" is of course the name of the supfile you have just created.
-Assuming you are running under X11, cvsup will display a GUI window with
-some buttons to do the usual things. Press the "go" button, and watch
-it run.
-
-<p>Since you are updating your actual "/usr/src" tree in this example, you
-will need to run the program as root so that cvsup has the permissions
-it needs to update your files. Having just created your configuration
-file, and having never used this program before, that might
-understandably make you nervous. There is an easy way to do a trial run
-without touching your precious files. Just create an empty directory
-somewhere convenient, and name it as an extra argument on the command
-line:
-
-<verb>
- mkdir /var/tmp/dest
- cvsup supfile /var/tmp/dest
-</verb>
-
-<p>The directory you specify will be used as the destination directory
-for all file updates. CVSup will examine your usual files in
-"/usr/src", but it will not modify or delete any of them. Any file
-updates will instead land in "/var/tmp/dest/usr/src". CVSup will also
-leave its base directory status files untouched when run this way.
-The new versions of those files will be written into the specified
-directory. As long as you have read access to "/usr/src", you do not
-even need to be root to perform this kind of trial run.
-
-<p>If you are not running X11 or if you just do not like GUIs, you
-should add a couple of options to the command line when you run cvsup:
-
-<verb>
- cvsup -g -L 2 supfile
-</verb>
-
-<p>The "-g" tells cvsup not to use its GUI. This is automatic if you are
-not running X11, but otherwise you have to specify it.
-
-<p>The "-L 2" tells cvsup to print out the details of all the file updates
-it is doing. There are three levels of verbosity, from "-L 0" to "-L 2".
-The default is 0, which means total silence except for error messages.
-
-<p>There are plenty of other options available. For a brief list of them,
-type "cvsup -H". For more detailed descriptions, see the manual page.
-
-<p>Once you are satisfied with the way updates are working, you can arrange
-for regular runs of cvsup using cron(8). Obviously, you should not let
-cvsup use its GUI when running it from cron.
-
-<sect2><heading>CVSup File Collections<label id="cvsup:collec"></heading>
-
-<p>The file collections available via CVSup are organized
-hierarchically. There are a few large collections, and they are
-divided into smaller sub-collections. Receiving a large collection
-is equivalent to receiving each of its sub-collections.
-The hierarchical relationships among collections are reflected by
-the use of indentation in the list below.
-
-<p> The most commonly used collections are <tt/src-all/,
-<tt/cvs-crypto/, and <tt/ports-all/. The other collections are used
-only by small groups of people for specialized purposes, and some mirror
-sites may not carry all of them.
-
-<descrip>
-<tag><tt>cvs-all release=cvs</tt></tag>
-The main FreeBSD CVS repository, excluding the export-restricted
-cryptography code.
- <p>
- <descrip>
- <tag><tt>distrib release=cvs</tt></tag>
- Files related to the distribution and mirroring of FreeBSD.
- <tag><tt>doc-all release=cvs</tt></tag>
- Sources for the FreeBSD handbook and other documentation.
- <tag><tt>ports-all release=cvs</tt></tag>
- The FreeBSD ports collection.
- <p>
- <descrip>
- <tag><tt>ports-archivers release=cvs</tt></tag>
- Archiving tools.
- <tag><tt>ports-astro release=cvs</tt></tag>
- Astronomical ports.
- <tag><tt>ports-audio release=cvs</tt></tag>
- Sound support.
- <tag><tt>ports-base release=cvs</tt></tag>
- Miscellaneous files at the top of /usr/ports.
- <tag><tt>ports-benchmarks release=cvs</tt></tag>
- Benchmarks.
- <tag><tt>ports-cad release=cvs</tt></tag>
- Computer aided design tools.
- <tag><tt>ports-chinese release=cvs</tt></tag>
- Chinese language support.
- <tag><tt>ports-comms release=cvs</tt></tag>
- Communication software.
- <tag><tt>ports-converters release=cvs</tt></tag>
- character code converters.
- <tag><tt>ports-databases release=cvs</tt></tag>
- Databases.
- <tag><tt>ports-devel release=cvs</tt></tag>
- Development utilities.
- <tag><tt>ports-editors release=cvs</tt></tag>
- Editors.
- <tag><tt>ports-emulators release=cvs</tt></tag>
- Emulators for other operating systems.
- <tag><tt>ports-games release=cvs</tt></tag>
- Games.
- <tag><tt>ports-graphics release=cvs</tt></tag>
- Graphics utilities.
- <tag><tt>ports-japanese release=cvs</tt></tag>
- Japanese language support.
- <tag><tt>ports-korean release=cvs</tt></tag>
- Korean language support.
- <tag><tt>ports-lang release=cvs</tt></tag>
- Programming languages.
- <tag><tt>ports-mail release=cvs</tt></tag>
- Mail software.
- <tag><tt>ports-math release=cvs</tt></tag>
- Numerical computation software.
- <tag><tt>ports-mbone release=cvs</tt></tag>
- MBone applications.
- <tag><tt>ports-misc release=cvs</tt></tag>
- Miscellaneous utilities.
- <tag><tt>ports-net release=cvs</tt></tag>
- Networking software.
- <tag><tt>ports-news release=cvs</tt></tag>
- USENET news software.
- <tag><tt>ports-plan9 release=cvs</tt></tag>
- Various programs from Plan9.
- <tag><tt>ports-print release=cvs</tt></tag>
- Printing software.
- <tag><tt>ports-russian release=cvs</tt></tag>
- Russian language support.
- <tag><tt>ports-security release=cvs</tt></tag>
- Security utilities.
- <tag><tt>ports-shells release=cvs</tt></tag>
- Command line shells.
- <tag><tt>ports-sysutils release=cvs</tt></tag>
- System utilities.
- <tag><tt>ports-textproc release=cvs</tt></tag>
- text processing utilities (does not include desktop publishing).
- <tag><tt>ports-vietnamese release=cvs</tt></tag>
- Vietnamese language support.
- <tag><tt>ports-www release=cvs</tt></tag>
- Software related to the World Wide Web.
- <tag><tt>ports-x11 release=cvs</tt></tag>
- X11 software.
- </descrip>
- <tag><tt>src-all release=cvs</tt></tag>
- The main FreeBSD sources, excluding the export-restricted cryptography
- code.
- <p>
- <descrip>
- <tag><tt>src-base release=cvs</tt></tag>
- Miscellaneous files at the top of <tt>/usr/src</tt>.
- <tag><tt>src-bin release=cvs</tt></tag>
- User utilities that may be needed in single-user mode
- (<tt>/usr/src/bin</tt>).
- <tag><tt>src-contrib release=cvs</tt></tag>
- Utilities and libraries from outside the FreeBSD project, used
- relatively unmodified (<tt>/usr/src/contrib</tt>).
- <tag><tt>src-etc release=cvs</tt></tag>
- System configuration files (<tt>/usr/src/etc</tt>).
- <tag><tt>src-games release=cvs</tt></tag>
- Games (<tt>/usr/src/games</tt>).
- <tag><tt>src-gnu release=cvs</tt></tag>
- Utilities covered by the GNU Public License (<tt>/usr/src/gnu</tt>).
- <tag><tt>src-include release=cvs</tt></tag>
- Header files (<tt>/usr/src/include</tt>).
- <tag><tt>src-lib release=cvs</tt></tag>
- Libraries (<tt>/usr/src/lib</tt>).
- <tag><tt>src-libexec release=cvs</tt></tag>
- System programs normally executed by other programs
- (<tt>/usr/src/libexec</tt>).
- <tag><tt>src-release release=cvs</tt></tag>
- Files required to produce a FreeBSD release (<tt>/usr/src/release</tt>).
- <tag><tt>src-sbin release=cvs</tt></tag>
- System utilities for single-user mode (<tt>/usr/src/sbin</tt>).
- <tag><tt>src-share release=cvs</tt></tag>
- Files that can be shared across multiple systems (<tt>/usr/src/share</tt>).
- <tag><tt>src-sys release=cvs</tt></tag>
- The kernel (<tt>/usr/src/sys</tt>).
- <tag><tt>src-tools release=cvs</tt></tag>
- Various tools for the maintenance of FreeBSD (<tt>/usr/src/tools</tt>).
- <tag><tt>src-usrbin release=cvs</tt></tag>
- User utilities (<tt>/usr/src/usr.bin</tt>).
- <tag><tt>src-usrsbin release=cvs</tt></tag>
- System utilities (<tt>/usr/src/usr.sbin</tt>).
- </descrip>
- <tag><tt>www release=cvs</tt></tag>
- The sources for the World Wide Web data.
- </descrip>
-<tag><tt>cvs-crypto release=cvs</tt></tag>
-The export-restricted cryptography code.
-<p>
- <descrip>
- <tag><tt>src-contrib-crypto release=cvs</tt></tag>
- Export-restricted utilities and libraries from outside the FreeBSD
- project, used relatively unmodified (<tt>/usr/src/contrib-crypto</tt>).
- <tag><tt>src-eBones release=cvs</tt></tag>
- Kerberos and DES (<tt>/usr/src/eBones</tt>).
- <tag><tt>src-secure release=cvs</tt></tag>
- DES (<tt>/usr/src/secure</tt>).
- </descrip>
-<tag><tt>distrib release=self</tt></tag>
-The CVSup server's own configuration files. Used by CVSup mirror sites.
-<tag><tt>gnats release=current</tt></tag>
-The GNATS bug-tracking database.
-<tag><tt>src-sys release=lite2</tt></tag>
-The CVS repository for the lite2 kernel merge.
-<tag><tt>src-sys release=smp</tt></tag>
-The CVS repository for the SMP project.
-<tag><tt>www release=current</tt></tag>
-The installed World Wide Web data. Used by WWW mirror sites.
-</descrip>
-
-<sect2><heading>Announcements, Questions, and Bug Reports</heading>
-
-<p>Most FreeBSD-related discussion of CVSup takes place on the
-&a.hackers;. New versions of the software are announced there, as
-well as on the &a.announce;.
-
-<p>Questions and bug reports should be addressed to the author of the
-program at <url url="mailto:cvsup-bugs@polstra.com"
-name="cvsup-bugs@polstra.com">.
diff --git a/share/doc/handbook/cyclades.sgml b/share/doc/handbook/cyclades.sgml
deleted file mode 100644
index 09365b6..0000000
--- a/share/doc/handbook/cyclades.sgml
+++ /dev/null
@@ -1,57 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!--
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
-
-<!ENTITY % authors SYSTEM "authors.sgml">
-%authors;
-
-]>
--->
-<sect2><heading>Configuring the <tt>cy</tt> driver<label id="cy"></heading>
-
- <p><em>Contributed by &a.alex;.<newline>6 June 1996.</em>
-
- The Cyclades multiport cards are based on the <tt>cy</tt>
- driver instead of the usual <tt>sio</tt> driver used by
- other multiport cards. Configuration is a simple matter
- of:
-
- <enum>
- <item>Add the <tt>cy</tt> device to your
- <ref id="kernelconfig:config" name="kernel configuration">
- (note that your irq and iomem settings may differ).
-
-<tscreen><verb>
-device cy0 at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintr
-</verb></tscreen>
-
- <item><ref id="kernelconfig:building" name="Rebuild and install">
- the new kernel.
-
- <item>Make the <ref id="kernelconfig:nodes" name="device nodes">
- by typing (the following example assumes an 8-port board):
-
-<tscreen><verb>
-# cd /dev
-# for i in 0 1 2 3 4 5 6 7;do ./MAKEDEV cuac$i ttyc$i;done
-</verb></tscreen>
-
- <item>If appropriate, add <ref id="dialup" name="dialup">
- entries to <ref id="dialup:ttys" name="/etc/ttys"> by
- duplicating serial device (<tt>ttyd</tt>) entries and
- using <tt>ttyc</tt> in place of <tt>ttyd</tt>. For
- example:
-
-<tscreen><verb>
-ttyc0 "/usr/libexec/getty std.38400" unknown on insecure
-ttyc1 "/usr/libexec/getty std.38400" unknown on insecure
-ttyc2 "/usr/libexec/getty std.38400" unknown on insecure
-[...]
-ttyc7 "/usr/libexec/getty std.38400" unknown on insecure
-</verb></tscreen>
-
- <item>Reboot with the new kernel.
-
- </enum>
diff --git a/share/doc/handbook/development.sgml b/share/doc/handbook/development.sgml
deleted file mode 100644
index ab3f1ea..0000000
--- a/share/doc/handbook/development.sgml
+++ /dev/null
@@ -1,106 +0,0 @@
-<!-- $Id: development.sgml,v 1.11 1997/02/22 12:58:19 peter Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect><heading>The FreeBSD development model<label id="development"></heading>
-
-<p><em>Contributed by &a.asami;</em>.
-
-<p>The development of FreeBSD is a very open and flexible process,
-FreeBSD being literally built from the contributions of hundreds of
-people around the world, as can be seen from our <ref id="contrib"
-name="list of contributors">. We are constantly on the lookout for
-new developers and ideas, and those interested in becoming more
-closely involved with the project need simply contact us at the
-&a.hackers;. Those who prefer to work more independently are also
-accommodated, and they are free to use our FTP facilities at <htmlurl
-url="ftp://ftp.freebsd.org/pub/FreeBSD/incoming"
-name="ftp.freebsd.org"> to distribute their own patches or work-in-progress
-sources. The &a.announce; is also available to those wishing
-to make other FreeBSD users aware of major areas of work.
-
-Useful things to know about the FreeBSD project and its development process,
-whether working independently or in close cooperation:
-
-<descrip>
-<tag><bf>The CVS repository</bf><label id="development:cvs-repository"></tag>
-
-<p>The central source tree for FreeBSD is maintained by <htmlurl
-url="http://www.cyclic.com/cyclic-pages/CVS-sheet.html" name="CVS">
-(Concurrent Version System), a freely available source code control
-tool which comes bundled with FreeBSD. The primary <htmlurl
-url="http://www.freebsd.org/cgi/cvsweb.cgi" name="CVS repository">
-resides on a machine in Concord CA, USA from where it is replicated
-to numerous mirror machines throughout the world. The CVS tree, as well
-as the <ref id="current" name="-current"> and <ref id="stable"
-name="-stable"> trees which are checked out of it, can be easily
-replicated to your own machine as well. Please refer to the
-<ref id="synching" name="Synchronizing your source tree">
-section for more information on doing this.</p>
-
-<tag><bf>The committers list</bf><label id="development:committers"></tag>
-
-<p>The <ref id="contrib:committers" name="committers"> are the people
-who have <em>write</em> access to the CVS tree, and are thus
-authorized to make modifications to the FreeBSD source (the term
-``committer'' comes from the <tt>cvs(1)</tt> ``<tt>commit</tt>''
-command, which is used to bring new changes into the CVS repository).
-The best way of making submissions for review by the committers list
-is to use the <htmlurl url="http://www.freebsd.org/send-pr.html"
-name="send-pr(1)"> command, though if something appears to be jammed
-in the system then you may also reach them by sending mail to <htmlurl
-url="mailto:committers@freebsd.org" name="committers@freebsd.org">.</p>
-
-<tag><bf>The FreeBSD core team</bf><label id="development:core"></tag>
-
-<p>The <ref id="contrib:core" name="FreeBSD core team"> would be
-equivalent to the board of directors if the FreeBSD Project were a
-company. The primary task of the core team is to make sure the
-project, as a whole, is in good shape and is heading in the right
-directions. Inviting dedicated and responsible developers to join our
-group of committers is one of the functions of the core team, as is
-the recruitment of new core team members as others move on. Most
-current members of the core team started as committers who's addiction
-to the project got the better of them.</p>
-
-<p>Some core team members also have specific <ref id="contrib:who"
-name="areas of responsibility">, meaning that they are committed to
-ensuring that some large portion of the system works as advertised.
-Note that most members of the core team are volunteers when it comes
-to FreeBSD development and do not benefit from the project
-financially, so "commitment" should also not be misconstrued as
-meaning "guaranteed support." The ``board of directors'' analogy
-above is not actually very accurate, and it may be more suitable to
-say that these are the people who gave up their lives in favor of
-FreeBSD against their better judgement! <tt>;)</tt></p>
-
-<tag><bf>Outside contributors</bf></tag>
-
-<p>Last, but definitely not least, the largest group of developers are
-the users themselves who provide feedback and bug-fixes to us on an
-almost constant basis. The primary way of keeping in touch with FreeBSD's
-more non-centralized development is to subscribe to the &a.hackers;
-(see <ref id="eresources:mail" name="mailing list info">) where such
-things are discussed.</p>
-
-<p><ref id="contrib:additional" name="The list"> of those who have
-contributed something which made its way into our source tree is
-a long and growing one, so why not join it by contributing something
-back to FreeBSD today? <tt>:-)</tt></p>
-
-<p>Providing code is not the only way of contributing to the project;
-for a more complete list of things that need doing, please refer to the <ref
-id="submitters" name="how to contribute"> section in this handbook.</p>
-
-</descrip>
-
-In summary, our development model is organized as a loose set of
-concentric circles. The centralized model is designed for the
-convenience of the <em>users</em> of FreeBSD, who are thereby provided
-with an easy way of tracking one central code base, not to keep
-potential contributors out! Our desire is to present a stable
-operating system with a large set of coherent <ref id="ports"
-name="application programs"> that the users can easily install and
-use, and this model works very well in accomplishing that.
-
-All we ask of those who would join us as FreeBSD developers is some of
-the same dedication its current people have to its continued success!
diff --git a/share/doc/handbook/dialout.sgml b/share/doc/handbook/dialout.sgml
deleted file mode 100644
index d5171ec..0000000
--- a/share/doc/handbook/dialout.sgml
+++ /dev/null
@@ -1,249 +0,0 @@
-<!-- This is an SGML document in the linuxdoc DTD of the Tutorial for
- Configuring a FreeBSD for Dialout Services.
- $Id$
-
- The FreeBSD Documentation Project
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-
-<linuxdoc>
- <article>
- <title>Dialout
- <author>FAQ
- <date>24 Nov 1996, (c) 1996
-
- <abstract> This section contains some basic information on being able to dialout from your FreeBSD box with a modem. This information is really a stepping stone into PPP.
- </abstract>
-
- <toc>
--->
-
-<sect><heading>Dialout service<label id="dialout"></heading>
-
-<p><em>Information integrated from FAQ.</em>
-
-The following are tips to getting your host to be able to connect over the modem to another computer. This is appropriate for establishing a terminal session with a remote host.
-<p>This is useful to log onto a BBS.
-<p>This kind of connection can be extremely helpful to get a file on the Internet if you have problems with PPP. If you need to ftp something and PPP is broken, use the terminal session to ftp it. Then use zmodem to transfer it to your machine.
-<sect1>
- <heading>Why cannot I run <tt/tip/ or <tt/cu/?</heading>
- <p>
- On your system, the programs <tt/tip/ and <tt/cu/ are probably
- executable only by <tt/uucp/ and group <tt/dialer/. You can use
- the group <tt/dialer/ to control who has access to your modem or
- remote systems. Just add yourself to group dialer.
-
- Alternatively, you can let everyone on your system run <tt/tip/
- and <tt/cu/ by typing:
- <verb>
- chmod 4511 /usr/bin/tip
- </verb>
- You do not have to run this command for <tt/cu/, since <tt/cu/ is
- just a hard link to <tt/tip/.
-
- <sect1>
- <heading>My stock Hayes modem is not supported, what can I do?</heading>
- <p>
- Actually, the man page for <tt/tip/ is out of date. There is a
- generic Hayes dialer already built in. Just use
- ``<tt/at=hayes/'' in your <tt>/etc/remote</tt> file.
-
- The Hayes driver is not smart enough to recognize some of the
- advanced features of newer modems&mdash;messages like <tt/BUSY/,
- <tt/NO DIALTONE/, or <tt/CONNECT 115200/ will just confuse it.
- You should turn those messages off when you use <tt/tip/ (using
- <tt/ATX0&amp;W/).
-
- Also, the dial timeout for <tt/tip/ is 60 seconds. Your modem
- should use something less, or else tip will think there is a
- communication problem. Try <tt/ATS7=45&amp;W/.
-
- Actually, as shipped <tt/tip/ does not yet support it fully. The
- solution is to edit the file <tt/tipconf.h/ in the directory
- <tt>/usr/src/usr.bin/tip/tip</tt> Obviously you need the source
- distribution to do this.
-
- Edit the line ``<tt/#define HAYES 0/'' to ``<tt/#define HAYES
- 1/''. Then ``<tt/make/'' and ``<tt/make install/''. Everything
- works nicely after that.
-
- <sect1>
- <heading>How am I expected to enter these AT commands?<label id="direct-at"></heading>
- <p>
- Make what is called a ``<tt/direct/'' entry in your
- <tt>/etc/remote</tt> file. For example, if your modem is hooked
- up to the first serial port, <tt>/dev/cuaa0</tt>, then put in the
- following line:
- <verb>
- cuaa0:dv=/dev/cuaa0:br#19200:pa=none
- </verb>
- Use the highest bps rate your modem supports in the br
- capability. Then, type ``<tt/tip cuaa0/'' and you will be
- connected to your modem.
-
- If there is no <tt>/dev/cuaa0</tt> on your system, do this:
- <verb>
- cd /dev
- MAKEDEV cuaa0
- </verb>
- <p>
- Or use cu as root with the following command:
- <verb>
- cu -l``line'' -s``speed''
- </verb>
- with line being the serial port (e.g.<tt>/dev/cuaa0</tt>)
- and speed being the speed (e.g.<tt>57600</tt>).
- When you are done entering the AT commands hit <tt>~.</tt> to exit.
-
- <sect1>
- <heading>The <tt/@/ sign for the pn capability does not work!</heading>
- <p>
- The <tt/@/ sign in the phone number capability tells tip to look in
- <tt>/etc/phones</tt> for a phone number. But the <tt/@/ sign is
- also a special character in capability files like
- <tt>/etc/remote</tt>. Escape it with a backslash:
- <verb>
- pn=\@
- </verb>
-
- <sect1>
- <heading>How can I dial a phone number on the command line?</heading>
- <p>
- Put what is called a ``<tt/generic/'' entry in your
- <tt>/etc/remote</tt> file. For example:
- <verb>
- tip115200|Dial any phone number at 115200 bps:\
- :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
- tip57600|Dial any phone number at 57600 bps:\
- :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
- </verb>
-
- Then you can things like ``<tt/tip -115200 5551234/''. If you
- prefer <tt/cu/ over <tt/tip/, use a generic cu entry:
- <verb>
- cu115200|Use cu to dial any number at 115200bps:\
- :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
- </verb>
- and type ``<tt/cu 5551234 -s 115200/''.
-
- <sect1>
- <heading>Do I have to type in the bps rate every time I do that?</heading>
- <p>
- Put in an entry for <tt/tip1200/ or <tt/cu1200/, but go ahead and
- use whatever bps rate is appropriate with the br
- capability. <tt/tip/ thinks a good default is 1200 bps which is
- why it looks for a ``<tt/tip1200/'' entry. You do not have to use
- 1200 bps, though.
-
- <sect1>
- <heading>I access a number of hosts through a terminal server.</heading>
- <p>
- Rather than waiting until you are connected and typing
- ``<tt/CONNECT &lt;host&gt;/'' each time, use tip's <tt/cm/
- capability. For example, these entries in
- <tt>/etc/remote</tt>:
- <verb>
- pain|pain.deep13.com|Forrester's machine:\
- :cm=CONNECT pain\n:tc=deep13:
- muffin|muffin.deep13.com|Frank's machine:\
- :cm=CONNECT muffin\n:tc=deep13:
- deep13:Gizmonics Institute terminal server:\
- :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234:
- </verb>
-
- will let you type ``<tt/tip pain/'' or ``<tt/tip muffin/'' to
- connect to the hosts pain or muffin; and ``<tt/tip deep13/'' to
- get to the terminal server.
-
- <sect1>
- <heading>Can tip try more than one line for each site?</heading>
- <p>
- This is often a problem where a university has several modem lines
- and several thousand students trying to use them...
- <p>
- Make an entry for your university in <tt>/etc/remote</tt>
- and use <tt>@</tt> for the <tt/pn/ capability:
- <verb>
- big-university:\
- :pn=\@:tc=dialout
- dialout:\
- :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
- </verb>
-
- Then, list the phone numbers for the university in
- <tt>/etc/phones</tt>:
- <verb>
- big-university 5551111
- big-university 5551112
- big-university 5551113
- big-university 5551114
- </verb>
-
- <tt/tip/ will try each one in the listed order, then give up. If
- you want to keep retrying, run <tt/tip/ in a while loop.
-
- <sect1>
- <heading>Why do I have to hit CTRL+P twice to send CTRL+P once?</heading>
- <p>
- CTRL+P is the default ``force'' character, used to tell <tt/tip/
- that the next character is literal data. You can set the force
- character to any other character with the <tt/~s/ escape, which
- means ``set a variable.''
-
- Type ``<tt/~sforce=&lt;single-char&gt;/'' followed by a newline.
- <tt/&lt;single-char&gt;/ is any single character. If you leave
- out <tt/&lt;single-char&gt;/, then the force character is the nul
- character, which you can get by typing CTRL+2 or CTRL+SPACE. A
- pretty good value for <tt/&lt;single-char&gt;/ is SHIFT+CTRL+6,
- which I have seen only used on some terminal servers.
-
- You can have the force character be whatever you want by
- specifying the following in your <tt>&dollar;HOME/.tiprc</tt>
- file:
- <verb>
- force=<single-char>
- </verb>
-
- <sect1>
- <heading>Suddenly everything I type is in UPPER CASE??</heading>
- <p>
- You must have pressed CTRL+A, <tt/tip/'s ``raise character,''
- specially designed for people with broken caps-lock keys. Use
- <tt/~s/ as above and set the variable ``raisechar'' to something
- reasonable. In fact, you can set it to the same as the force
- character, if you never expect to use either of these features.
-
- Here is a sample .tiprc file perfect for Emacs users who need to
- type CTRL+2 and CTRL+A a lot:
- <verb>
- force=^^
- raisechar=^^
- </verb>
- The ^^ is SHIFT+CTRL+6.
-
- <sect1>
- <heading>How can I do file transfers with <tt/tip/?</heading>
- <p>
- If you are talking to another UNIX system, you can send and
- receive files with <tt/~p/ (put) and <tt/~t/ (take). These
- commands run ``<tt/cat/'' and ``<tt/echo/'' on the remote system
- to accept and send files. The syntax is:
- <verb>
- ~p <local-file> [<remote-file>]
- ~t <remote-file> [<local-file>]
- </verb>
-
- There is no error checking, so you probably should use another
- protocol, like zmodem.
-
- <sect1>
- <heading>How can I run zmodem with <tt/tip/?</heading>
- <p>
- To receive files, start the sending program on the remote end.
- Then, type ``<tt/~C rz/'' to begin receiving them locally.
-
- To send files, start the receiving program on the remote end.
- Then, type ``<tt/~C sz &lt;files&gt;/'' to send them to the
- remote system.
-
- </sect>
diff --git a/share/doc/handbook/dialup.sgml b/share/doc/handbook/dialup.sgml
deleted file mode 100644
index c0e032b..0000000
--- a/share/doc/handbook/dialup.sgml
+++ /dev/null
@@ -1,810 +0,0 @@
-<!-- This is an SGML document in the linuxdoc DTD of the Tutorial for
- Configuring a FreeBSD for Dialup Services by Guy Helmer.
- $Id$
-
-<!DOCTYPE linuxdoc PUBLIC "-//Linux//DTD linuxdoc//EN">
-
-
-<article>
-
-<title>
-Configuring FreeBSD for Dialup Services
-<author>Guy Helmer, <tt/ghelmer@alpha.dsu.edu/
-<date>v0.1, 28 March 1995
-<abstract>
-
--->
-
-<sect><heading>Dialin service<label id="dialup"></heading>
-
-<p><em>Contributed by &a.ghelmer;.</em>
-
-This document provides suggestions for configuring a FreeBSD system to
-handle dialup modems. This document is written based on the author's
-experience with FreeBSD versions 1.0, 1.1, and 1.1.5.1 (and experience
-with dialup modems on other UNIX-like operating systems); however,
-this document may not answer all of your questions or provide examples
-specific enough to your environment. The author cannot be responsible
-if you damage your system or lose data due to attempting to follow the
-suggestions here.
-
-<sect1><heading>Prerequisites<label id="dialup:prereqs"></>
-<p>
-
-To begin with, the author assumes you have some basic knowledge of
-FreeBSD. You need to have FreeBSD installed, know how to edit files
-in a UNIX-like environment, and how to look up manual pages on the
-system. As discussed below, you will need certain versions of FreeBSD,
-and knowledge of some terminology &amp; modem and cabling.
-
-<sect2><heading>FreeBSD Version</heading>
-<p>
-
-First, it is assumed that you are using FreeBSD version 1.1 or higher
-(including versions 2.x). FreeBSD version 1.0 included two different
-serial drivers, which complicates the situation. Also, the serial
-device driver (<tt/sio/) has improved in every release of FreeBSD, so
-more recent versions of FreeBSD are assumed to have better and more
-efficient drivers than earlier versions.
-
-<sect2><heading>Terminology</heading>
-<p>
-
-A quick rundown of terminology:
-
-<descrip>
-
-<tag/bps/ Bits per Second - the rate at which data is transmitted
-
-<tag/DTE/ Data Terminal Equipment - for example, your computer
-
-<tag/DCE/ Data Communications Equipment - your modem
-
-<tag/RS-232/ EIA standard for serial communications via hardware
-
-</descrip>
-
-If you need more information about these terms and data communications
-in general, the author remembers reading that <em/The RS-232 Bible/
-(anybody have an ISBN?) is a good reference.
-
-When talking about communications data rates, the author does not use
-the term <bf/baud/. Baud refers to the number of electrical state
-transitions that may be made in a period of time, while <bf/bps/ (bits
-per second) is the ``correct'' term to use (at least it does not seem
-to bother the curmudgeons quite a much).
-
-<sect2><heading>External vs. Internal Modems</heading>
-<p>
-
-External modems seem to be more convenient for dialup, because
-external modems often can be semi-permanently configured via
-parameters stored in non-volatile RAM and they usually provide lighted
-indicators that display the state of important RS-232 signals.
-Blinking lights impress visitors, but lights are also very useful to
-see whether a modem is operating properly.
-
-Internal modems usually lack non-volatile RAM, so their configuration
-may be limited only to setting DIP switches. If your internal modem
-has any signal indicator lights, it is probably difficult to view the
-lights when the system's cover is in place.
-
-<sect2><heading>Modems and Cables</heading>
-<p>
-
-A background knowledge of these items is assumed
-
-<itemize>
-
-<item> You know how to connect your modem to your computer so that the
-two can communicate (unless you have an internal modem, which does not
-need such a cable)
-
-<item> You are familiar with your modem's command set, or know where
-to look up needed commands
-
-<item> You know how to configure your modem (probably via a terminal
-communications program) so you can set the non-volatile RAM
-parameters
-
-</itemize>
-
-The first, connecting your modem, is usually simple - most
-straight-through serial cables work without any problems. You need to
-have a cable with appropriate connectors (DB-25 or DB-9, male or
-female) on each end, and the cable must be a DCE-to-DTE cable with
-these signals wired:
-
-<itemize>
-<item> Transmitted Data (<tt/SD/)
-<item> Received Data (<tt/RD/)
-<item> Request to Send (<tt/RTS/)
-<item> Clear to Send (<tt/CTS/)
-<item> Data Set Ready (<tt/DSR/)
-<item> Data Terminal Ready (<tt/DTR/)
-<item> Carrier Detect (<tt/CD/)
-<item> Signal Ground (<tt/SG/)
-</itemize>
-
-FreeBSD needs the <tt/RTS/ and <tt/CTS/ signals for flow-control at
-speeds above 2400bps, the <tt/CD/ signal to detect when a call has
-been answered or the line has been hung up, and the <tt/DTR/ signal to
-reset the modem after a session is complete. Some cables are wired
-without all of the needed signals, so if you have problems, such as
-a login session not going away when the line hangs up, you may have a
-problem with your cable.
-
-The second prerequisite depends on the modem(s) you use. If you do not
-know your modem's command set by heart, you will need to have the
-modem's reference book or user's guide handy. Sample commands for USR
-Sportster 14,400 external modems will be given, which you may be able
-to use as a reference for your own modem's commands.
-
-Lastly, you will need to know how to setup your modem so that it will
-work well with FreeBSD. Like other UNIX-like operating systems,
-FreeBSD uses the hardware signals to find out when a call has been
-answered or a line has been hung up and to hangup and reset the modem
-after a call. FreeBSD avoids sending commands to the modem or
-watching for status reports from the modem. If you are familiar with
-connecting modems to PC-based bulletin board systems, this may seem
-awkward.
-
-<sect2><heading>Serial Interface Considerations</heading>
-<p>
-
-FreeBSD supports NS8250-, NS16450-, NS16550-, and NS16550A-based EIA
-RS-232C (CCITT V.24) communications interfaces. The 8250 and 16450
-devices have single-character buffers. The 16550 device provides a
-16-character buffer, which allows for better system performance.
-(Bugs in plain 16550's prevent the use of the 16-character buffer, so
-use 16550A's if possible). Because single-character-buffer devices
-require more work by the operating system than the 16-character-buffer
-devices, 16550A-based serial interface cards are much prefered. If
-the system has many active serial ports or will have a heavy load,
-16550A-based cards are better for low-error-rate communications.
-
-<sect1><heading>Quick Overview</heading>
-<p>
-
-Here is the process that FreeBSD follows to accept dialup logins. A
-<tt/getty/ process, spawned by <tt/init/, patiently waits to open the
-assigned serial port (<tt>/dev/ttyd0</tt>, for our example). The
-command <tt/ps ax/ might show this:
-
-<tscreen><verb>
- 4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyd0
-</verb></tscreen>
-
-When a user dials the modem's line and the modems connect, the <tt/CD/
-line is asserted by the modem. The kernel notices that carrier has
-been detected and completes <tt/getty/'s open of the port. <tt/getty/
-sends a <tt/login:/ prompt at the specified initial line speed.
-<tt/getty/ watches to see if legitimate characters are received, and,
-in a typical configuration, if it finds junk (probably due to the
-modem's connection speed being different than <tt/getty/'s speed),
-<tt/getty/ tries adjusting the line speeds until it receives
-reasonable characters.
-
-We hope <tt/getty/ finds the correct speed and the user sees a
-<tt/login:/ prompt. After the user enters his/her login name,
-<tt/getty/ executes <tt>/usr/bin/login</tt>, which completes the login
-by asking for the user's password and then starting the user's shell.
-
-Let's dive into the configuration...
-
-<sect1><heading>Kernel Configuration</heading>
-<p>
-
-FreeBSD kernels typically come prepared to search for four serial
-ports, known in the PC-DOS world as <tt/COM1:/, <tt/COM2:/,
-<tt/COM3:/, and <tt/COM4:/. FreeBSD can presently also handle
-``dumb'' multiport serial interface cards, such as the Boca Board
-1008 and 2016 (please see the manual page <tt/sio(4)/ for kernel
-configuration information if you have a multiport serial card). The
-default kernel only looks for the standard COM ports, though.
-
-To see if your kernel recognizes any of your serial ports, watch for
-messages while the kernel is booting, or use the
-<tt>/sbin/dmesg</tt> command to replay the kernel's boot messages. In
-particular, look for messages that start with the characters <tt/sio/.
-Hint: to view just the messages that have the word <tt/sio/, use the
-command:
-
-<tscreen><verb>
-/sbin/dmesg | grep 'sio'
-</verb></tscreen>
-
-For example, on a system with four serial ports, these are the
-serial-port specific kernel boot messages:
-
-<tscreen><verb>
-sio0 at 0x3f8-0x3ff irq 4 on isa
-sio0: type 16550A
-sio1 at 0x2f8-0x2ff irq 3 on isa
-sio1: type 16550A
-sio2 at 0x3e8-0x3ef irq 5 on isa
-sio2: type 16550A
-sio3 at 0x2e8-0x2ef irq 9 on isa
-sio3: type 16550A
-</verb></tscreen>
-
-If your kernel does not recognize all of your serial ports, you will
-probably need to configure a custom FreeBSD kernel for your system.
-
-Please see the BSD System Manager's Manual chapter on ``Building
-Berkeley Kernels with Config'' &lsqb;the source for which is in
-<tt>/usr/src/share/doc/smm</tt>&rsqb; and ``FreeBSD Configuration
-Options'' &lsqb;in <tt>/sys/conf/options</tt> and in
-<tt>/sys/<em>arch</em>/conf/options.<em>arch</em></tt>, with
-<em>arch</em> for example being <tt>i386</tt>&rsqb; for more
-information on configuring and building kernels. You may have to
-unpack the kernel source distribution if have not installed the system
-sources already (<tt>srcdist/srcsys.??</tt> in FreeBSD 1.1,
-<tt>srcdist/sys.??</tt> in FreeBSD 1.1.5.1, or the entire source
-distribution in FreeBSD 2.0) to be able to configure and build
-kernels.
-
-Create a kernel configuration file for your system (if you have not
-already) by <tt/cd/ing to <tt>/sys/i386/conf</tt>. Then, if you are
-creating a new custom configuration file, copy the file GENERICAH (or
-GENERICBT, if you have a BusTek SCSI controller on FreeBSD 1.x) to
-<em/YOURSYS/, where <em/YOURSYS/ is the name of your system, but in
-upper-case letters. Edit the file, and change the device lines:
-
-<tscreen><verb>
-device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
-device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr
-device sio2 at isa? port "IO_COM3" tty irq 5 vector siointr
-device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr
-</verb></tscreen>
-
-You can comment-out or completely remove lines for devices you do not
-have. If you have a multiport serial board, such as the Boca Board
-BB2016, please see the <tt/sio(4)/ man page for complete information
-on how to write configuration lines for multiport boards. Be careful
-if you are using a configuration file that was previously used for a
-different version of FreeBSD because the device flags have changed
-between versions.
-
-Note that <tt/port "IO_COM1"/ is a substitution for <tt/port 0x3f8/,
-<tt/IO_COM2/ is <tt/0x2f8/, <tt/IO_COM3/ is <tt/0x3e8/, and
-<tt/IO_COM4/ is <tt/0x2e8/, which are fairly common port addresses for
-their respective serial ports; interrupts 4, 3, 5, and 9 are fairly
-common interrupt request lines. Also note that regular serial ports
-<bf>cannot</bf> share interrupts on ISA-bus PCs (multiport boards have
-on-board electronics that allow all the 16550A's on the board to share
-one or two interrupt request lines).
-
-When you are finished adjusting the kernel configuration file, use the
-program <tt/config/ as documented in ``Building Berkeley Kernels with
-Config'' and the <tt/config(8)/ manual page to prepare a kernel
-building directory, then build, install, and test the new kernel.
-
-<sect1><heading>Device Special Files</heading>
-<p>
-
-Most devices in the kernel are accessed through ``device special
-files'', which are located in the <tt>/dev</tt> directory. The
-<tt/sio/ devices are accessed through the <tt>/dev/ttyd?</tt>
-(dial-in) and <tt>/dev/cua0?</tt> (call-out) devices. On FreeBSD
-version 1.1.5 and higher, there are also initialization devices
-(<tt>/dev/ttyid?</tt> and <tt>/dev/cuai0?</tt>) and locking devices
-(<tt>/dev/ttyld?</tt> and <tt>/dev/cual0?</tt>). The initialization
-devices are used to initialize communications port parameters each
-time a port is opened, such as <tt>crtscts</tt> for modems which use
-<tt>CTS/RTS</tt> signaling for flow control. The locking devices are
-used to lock flags on ports to prevent users or programs changing
-certain parameters; see the manual pages <tt/termios(4)/, <tt/sio(4)/,
-and <tt/stty(1)/ for information on the terminal settings, locking
-&amp; initializing devices, and setting terminal options,
-respectively.
-
-<sect2><heading>Making Device Special Files</heading>
-<p>
-
-A shell script called <tt/MAKEDEV/ in the <tt>/dev</tt> directory
-manages the device special files. (The manual page for
-<tt/MAKEDEV(8)/ on FreeBSD 1.1.5 is fairly bogus in its discussion of
-<tt/COM/ ports, so ignore it.) To use <tt/MAKEDEV/ to make dialup
-device special files for <tt/COM1:/ (port 0), <tt/cd/ to <tt>/dev</tt>
-and issue the command <tt/MAKEDEV ttyd0/. Likewise, to make dialup
-device special files for <tt/COM2:/ (port 1), use <tt/MAKEDEV ttyd1/.
-
-<tt/MAKEDEV/ not only creates the <tt>/dev/ttyd?</tt> device special
-files, but also creates the <tt>/dev/cua0?</tt> (and all of the
-initializing and locking special files under FreeBSD 1.1.5 and up) and
-removes the hardwired terminal special file <tt>/dev/tty0?</tt>, if it
-exists.
-
-After making new device special files, be sure to check the
-permissions on the files (especially the <tt>/dev/cua*</tt> files) to
-make sure that only users who should have access to those device
-special files can read &amp; write on them - you probably do not want
-to allow your average user to use your modems to dialout. The default
-permissions on the <tt>/dev/cua*</tt> files should be sufficient:
-
-<tscreen><verb>
-crw-rw---- 1 uucp dialer 28, 129 Feb 15 14:38 /dev/cua01
-crw-rw---- 1 uucp dialer 28, 161 Feb 15 14:38 /dev/cuai01
-crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cual01
-</verb></tscreen>
-
-These permissions allow the user <tt/uucp/ and users in the group
-<tt/dialer/ to use the call-out devices.
-
-<sect1><heading>Configuration Files</heading>
-<p>
-
-There are three system configuration files in the <tt>/etc</tt>
-directory that you will probably need to edit to allow dialup access to
-your FreeBSD system. The first, <tt>/etc/gettytab</tt>, contains
-configuration information for the <tt>/usr/libexec/getty</tt> daemon.
-Second, <tt>/etc/ttys</tt> holds information that tells
-<tt>/sbin/init</tt> what <tt/tty/ devices should have <tt/getty/
-processes running on them. Lastly, you can place port initialization
-commands in the <tt>/etc/rc.serial</tt> script if you have FreeBSD
-1.1.5.1 or higher; otherwise, you can initialize ports in the
-<tt>/etc/rc.local</tt> script.
-
-There are two schools of thought regarding dialup modems on UNIX. One
-group likes to configure their modems and system so that no matter at
-what speed a remote user dials in, the local computer-to-modem RS-232
-interface runs at a locked speed. The benefit of this configuration
-is that the remote user always sees a system login prompt immediately.
-The downside is that the system does not know what a user's true data
-rate is, so full-screen programs like Emacs will not adjust their
-screen-painting methods to make their response better for slower
-connections.
-
-The other school configures their modems' RS-232 interface to vary its
-speed based on the remote user's connection speed. For example,
-V.32bis (14.4 Kbps) connections to the modem might make the modem run
-its RS-232 interface at 19.2 Kbps, while 2400 bps connections make the
-modem's RS-232 interface run at 2400 bps. Because <tt/getty/ does not
-understand any particular modem's connection speed reporting,
-<tt/getty/ gives a <tt/login:/ message at an initial speed and watches
-the characters that come back in response. If the user sees junk,
-it is assumed that they know they should press the
-<tt>&lt;Enter&gt;</tt> key until they see a recognizable prompt. If
-the data rates do not match, <tt/getty/ sees anything the user types as
-``junk'', tries going to the next speed and gives the <tt/login:/
-prompt again. This procedure can continue ad nauseum, but normally
-only takes a keystroke or two before the user sees a good prompt.
-Obviously, this login sequence does not look as clean as the former
-``locked-speed'' method, but a user on a low-speed connection should
-receive better interactive response from full-screen programs.
-
-The author will try to give balanced configuration information, but is
-biased towards having the modem's data rate follow the connection
-rate.
-
-<sect2><heading>/etc/gettytab</heading>
-<p>
-
-<tt>/etc/gettytab</tt> is a <tt/termcap(5)/-style file of
-configuration information for <tt/getty(8)/. Please see the
-<tt/gettytab(4)/ manual page for complete information on the format of
-the file and the list of capabilities.
-
-<sect3><heading>Locked-Speed Config</heading>
-<p>
-
-If you are locking your modem's data communications rate at a
-particular speed, you probably will not need to make any changes to
-<tt>/etc/gettytab</tt>.
-
-<sect3><heading>Matching-Speed Config</heading>
-<p>
-
-You will need to setup an entry in <tt>/etc/gettytab</tt> to give
-<tt/getty/ information about the speeds you wish to use for your
-modem. If you have a 2400 bps modem, you can probably use the
-existing <tt/D2400/ entry. This entry already exists in the FreeBSD
-1.1.5.1 <tt/gettytab/ file, so you do not need to add it unless it is
-missing under your version of FreeBSD:
-
-<tscreen><verb>
-#
-# Fast dialup terminals, 2400/1200/300 rotary (can start either way)
-#
-D2400|d2400|Fast-Dial-2400:\
- :nx=D1200:tc=2400-baud:
-3|D1200|Fast-Dial-1200:\
- :nx=D300:tc=1200-baud:
-5|D300|Fast-Dial-300:\
- :nx=D2400:tc=300-baud:
-</verb></tscreen>
-
-If you have a higher speed modem, you will probably need to add an entry
-in <tt>/etc/gettytab</tt>; here is an entry you could use for a 14.4
-Kbps modem with a top interface speed of 19.2 Kbps:
-
-<tscreen><verb>
-#
-# Additions for a V.32bis Modem
-#
-um|V300|High Speed Modem at 300,8-bit:\
- :nx=V19200:tc=std.300:
-un|V1200|High Speed Modem at 1200,8-bit:\
- :nx=V300:tc=std.1200:
-uo|V2400|High Speed Modem at 2400,8-bit:\
- :nx=V1200:tc=std.2400:
-up|V9600|High Speed Modem at 9600,8-bit:\
- :nx=V2400:tc=std.9600:
-uq|V19200|High Speed Modem at 19200,8-bit:\
- :nx=V9600:tc=std.19200:
-</verb></tscreen>
-
-On FreeBSD 1.1.5 and later, this will result in 8-bit, no parity
-connections. Under FreeBSD 1.1, add <tt/:np:/ parameters to the
-<tt>std.<em/xxx/</tt> entries at the top of the file for 8 bits, no
-parity; otherwise, the default is 7 bits, even parity.
-
-The example above starts the communications rate at 19.2 Kbps (for a
-V.32bis connection), then cycles through 9600 bps (for V.32), 2400
-bps, 1200 bps, 300 bps, and back to 19.2 Kbps. Communications rate
-cycling is implemented with the <tt/nx=/ (<bf/next table/) capability.
-Each of the lines uses a <tt/tc=/ (<bf/table continuation/) entry to
-pick up the rest of the ``standard'' settings for a particular data
-rate.
-
-If you have a 28.8 Kbps modem and/or you want to take advantage of
-compression on a 14.4 Kbps modem, you need to use a higher
-communications rate than 19.2 Kbps. Here is an example of a
-<tt/gettytab/ entry starting a 57.6 Kbps:
-
-<tscreen><verb>
-#
-# Additions for a V.32bis or V.34 Modem
-# Starting at 57.6 Kbps
-#
-vm|VH300|Very High Speed Modem at 300,8-bit:\
- :nx=VH57600:tc=std.300:
-vn|VH1200|Very High Speed Modem at 1200,8-bit:\
- :nx=VH300:tc=std.1200:
-vo|VH2400|Very High Speed Modem at 2400,8-bit:\
- :nx=VH1200:tc=std.2400:
-vp|VH9600|Very High Speed Modem at 9600,8-bit:\
- :nx=VH2400:tc=std.9600:
-vq|VH57600|Very High Speed Modem at 57600,8-bit:\
- :nx=VH9600:tc=std.57600:
-</verb></tscreen>
-
-If you have a slow CPU or a heavily loaded system and you do not have
-16550A-based serial ports, you may receive sio ``silo'' errors at 57.6
-Kbps.
-
-<sect2><heading>/etc/ttys<label id="dialup:ttys"></heading>
-<p>
-
-<tt>/etc/ttys</tt> is the list of <tt/ttys/ for <tt/init/ to monitor.
-<tt>/etc/ttys</tt> also provides security information to <tt/login/
-(user <tt/root/ may only login on ttys marked <tt/secure/). See the
-manual page for <tt/ttys(5)/ for more information.
-
-You will need to either modify existing lines in <tt>/etc/ttys</tt> or
-add new lines to make <tt/init/ run <tt/getty/ processes automatically
-on your new dialup ports. The general format of the line will be the
-same, whether you are using a locked-speed or matching-speed
-configuration:
-
-<tscreen><verb>
-ttyd0 "/usr/libexec/getty xxx" dialup on
-</verb></tscreen>
-
-The first item in the above line is the device special file for this
-entry - <tt/ttyd0/ means <tt>/dev/ttyd0</tt> is the file that this
-<tt/getty/ will be watching. The second item, <tt>"/usr/libexec/getty
-<em/xxx/"</tt> (<em/xxx/ will be replaced by the initial <tt/gettytab/
-capability) is the process <tt/init/ will run on the device. The
-third item, <tt/dialup/, is the default terminal type. The fourth
-parameter, <tt/on/, indicates to <tt/init/ that the line is
-operational. There can be a fifth parameter, <tt>secure</tt>, but it
-should only be used for terminals which are physically secure (such as
-the system console).
-
-The default terminal type (<tt/dialup/ in the example above) may
-depend on local preferences. <tt/dialup/ is the traditional default
-terminal type on dialup lines so that users may customize their login
-scripts to notice when the terminal is <tt/dialup/ and automatically
-adjust their terminal type. However, the author finds it easier at
-his site to specify <tt/vt102/ as the default terminal type, since the
-users just use VT102 emulation on their remote systems.
-
-After you have made changes to <tt>/etc/ttys</tt>, you may send the
-<tt/init/ process a <tt/HUP/ signal to re-read the file. You can use
-the command
-
-<tscreen><verb>
-kill -1 1
-</verb></tscreen>
-
-to send the signal. If this is your first time setting up the system,
-though, you may want to wait until your modem(s) are properly
-configured and connected before signaling <tt/init/.
-
-<sect3><heading>Locked-Speed Config</heading>
-<p>
-
-For a locked-speed configuration, your <tt/ttys/ entry needs to
-have a fixed-speed entry provided to <tt/getty/. For a modem whose
-port speed is locked at 19.2 Kbps, the <tt/ttys/ entry might look like
-this:
-
-<tscreen><verb>
-ttyd0 "/usr/libexec/getty std.19200" dialup on
-</verb></tscreen>
-
-If your modem is locked at a different data rate, substitute the
-appropriate name for the <tt>std.<em/speed/</tt> entry for
-<tt/std.19200/ from <tt>/etc/gettytab</tt> for your modem's data rate.
-
-<sect3><heading>Matching-Speed Config</heading>
-<p>
-
-In a matching-speed configuration, your <tt/ttys/ entry needs to
-reference the appropriate beginning ``auto-baud'' (sic) entry in
-<tt>/etc/gettytab</tt>. For example, if you added the above suggested
-entry for a matching-speed modem that starts at 19.2 Kbps (the
-<tt/gettytab/ entry containing the <tt/V19200/ starting point), your
-<tt/ttys/ entry might look like this:
-
-<tscreen><verb>
-ttyd0 "/usr/libexec/getty V19200" dialup on
-</verb></tscreen>
-
-<sect2><heading>/etc/rc.serial or /etc/rc.local</heading>
-<p>
-
-High-speed modems, like V.32, V.32bis, and V.34 modems, need to use
-hardware (<tt>RTS/CTS</tt>) flow control. You can add <tt/stty/
-commands to <tt>/etc/rc.serial</tt> on FreeBSD 1.1.5.1 and up, or
-<tt>/etc/rc.local</tt> on FreeBSD 1.1, to set the hardware flow
-control flag in the FreeBSD kernel for the modem ports.
-
-For example, on a sample FreeBSD 1.1.5.1 system,
-<tt>/etc/rc.serial</tt> reads:
-
-<tscreen><verb>
-#!/bin/sh
-#
-# Serial port initial configuration
-
-stty -f /dev/ttyid1 crtscts
-stty -f /dev/cuai01 crtscts
-</verb></tscreen>
-
-which sets the <tt/termios/ flag <tt/crtscts/ on serial port &num;1's
-(<tt/COM2:/) dialin and dialout initialization devices.
-
-On an old FreeBSD 1.1 system, these entries were added to
-/etc/rc.local to set the <tt/crtscts/ flag on the devices:
-
-<tscreen><verb>
-# Set serial ports to use RTS/CTS flow control
-stty -f /dev/ttyd0 crtscts
-stty -f /dev/ttyd1 crtscts
-stty -f /dev/ttyd2 crtscts
-stty -f /dev/ttyd3 crtscts
-</verb></tscreen>
-
-Since there is no initialization device special file on FreeBSD
-1.1, one has to just set the flags on the sole device special file and
-hope the flags are not cleared by a miscreant.
-
-<sect1><heading>Modem Settings</heading>
-<p>
-
-If you have a modem whose parameters may be permanently set in
-non-volatile RAM, you will need to use a terminal program (such as Telix
-under PC-DOS or <tt/tip/ under FreeBSD) to set the parameters.
-Connect to the modem using the same communications speed as the
-initial speed <tt/getty/ will use and configure the modem's
-non-volatile RAM to match these requirements:
-
-<itemize>
-
-<item> <tt/CD/ asserted when connected
-
-<item> <tt/DTR/ asserted for operation; dropping DTR hangs up line
-&amp; resets modem
-
-<item> <tt/CTS/ transmitted data flow control
-
-<item> Disable <tt>XON/XOFF</tt> flow control
-
-<item> <tt/RTS/ received data flow control
-
-<item> Quiet mode (no result codes)
-
-<item> No command echo
-
-</itemize>
-
-Please read the documentation for your modem to find out what commands
-and/or DIP switch settings you need to give it.
-
-For example, to set the above parameters on a USRobotics Sportster
-14,400 external modem, one could give these commands to the modem:
-
-<tscreen><verb>
-ATZ
-AT&amp;C1&amp;D2&amp;H1&amp;I0&amp;R2&amp;W
-</verb></tscreen>
-
-You might also want to take this opportunity to adjust other settings
-in the modem, such as whether it will use V.42bis and/or MNP5
-compression.
-
-The USR Sportster 14,400 external modem also has some DIP switches
-that need to be set; for other modems, perhaps you can use these
-settings as an example:
-
-<itemize>
-
-<item> Switch 1: UP - DTR Normal
-
-<item> Switch 2: Do not care (Verbal Result Codes/Numeric Result Codes)
-
-<item> Switch 3: UP - Suppress Result Codes
-
-<item> Switch 4: DOWN - No echo, offline commands
-
-<item> Switch 5: UP - Auto Answer
-
-<item> Switch 6: UP - Carrier Detect Normal
-
-<item> Switch 7: UP - Load NVRAM Defaults
-
-<item> Switch 8: Do not care (Smart Mode/Dumb Mode)
-
-</itemize>
-
-Result codes should be disabled/suppressed for dialup modems to avoid
-problems that can occur if <tt/getty/ mistakenly gives a <tt/login:/
-prompt to a modem that is in command mode and the modem echoes the
-command or returns a result code. I have heard this sequence can result
-in a extended, silly conversation between <tt/getty/ and the modem.
-
-<sect2><heading>Locked-speed Config</heading>
-<p>
-
-For a locked-speed configuration, you will need to configure the modem
-to maintain a constant modem-to-computer data rate independent of the
-communications rate. On a USR Sportster 14,400 external modem, these
-commands will lock the modem-to-computer data rate at the speed used
-to issue the commands:
-
-<tscreen><verb>
-ATZ
-AT&amp;B1&amp;W
-</verb></tscreen>
-
-<sect2><heading>Matching-speed Config</heading>
-<p>
-
-For a variable-speed configuration, you will need to configure your
-modem to adjust its serial port data rate to match the incoming call
-rate. On a USR Sportster 14,400 external modem, these commands will
-lock the modem's error-corrected data rate to the speed used to issue
-the commands, but allow the serial port rate to vary for
-non-error-corrected connections:
-
-<tscreen><verb>
-ATZ
-AT&amp;B2&amp;W
-</verb></tscreen>
-
-<sect2><heading>Checking the Modem's Configuration</heading>
-<p>
-
-Most high-speed modems provide commands to view the modem's current
-operating parameters in a somewhat human-readable fashion. On the USR
-Sportster 14,400 external modems, the command <tt/ATI5/ displays the
-settings that are stored in the non-volatile RAM. To see the true
-operating parameters of the modem (as influenced by the USR's DIP
-switch settings), use the commands <tt/ATZ/ and then <tt/ATI4/.
-
-If you have a different brand of modem, check your modem's manual to
-see how to double-check your modem's configuration parameters.
-
-<sect1><heading>Troubleshooting</heading>
-<p>
-
-Here are a few steps you can follow to check out the dialup modem on
-your system.
-
-<sect2><heading>Checking out the FreeBSD system</heading>
-<p>
-
-Hook up your modem to your FreeBSD system, boot the system, and, if
-your modem has status indication lights, watch to see whether the
-modem's <tt/DTR/ indicator lights when the <tt/login:/ prompt appears
-on the system's console - if it lights up, that should mean that
-FreeBSD has started a <tt/getty/ process on the appropriate
-communications port and is waiting for the modem to accept a call.
-
-If the <tt/DTR/ indicator doesn't light, login to the FreeBSD system
-through the console and issue a <tt/ps ax/ to see if FreeBSD is trying
-to run a <tt/getty/ process on the correct port. You should see a
-lines like this among the processes displayed:
-
-<tscreen><verb>
- 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd0
- 115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd1
-</verb></tscreen>
-
-If you see something different, like this:
-
-<tscreen><verb>
- 114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyd0
- ^^
-</verb></tscreen>
-
-and the modem has not accepted a call yet, this means that <tt/getty/
-has completed its open on the communications port. This could
-indicate a problem with the cabling or a mis-configured modem, because
-<tt/getty/ should not be able to open the communications port until
-<tt/CD/ (carrier detect) has been asserted by the modem.
-
-If you do not see any <tt/getty/ processes waiting to open the desired
-<tt/ttyd?/ port, double-check your entries in <tt>/etc/ttys</tt> to
-see if there are any mistakes there. Also, check the log file
-<tt>/var/log/messages</tt> to see if there are any log messages from
-<tt/init/ or <tt/getty/ regarding any problems. If there are any
-messages, triple-check the configuration files <tt>/etc/ttys</tt> and
-<tt>/etc/gettytab</tt>, as well as the appropriate device special
-files <tt>/dev/ttyd?</tt>, for any mistakes, missing entries, or
-missing device special files.
-
-<sect2><heading>Try Dialing In</heading>
-<p>
-
-Try dialing into the system; be sure to use 8 bits, no parity, 1 stop
-bit on the remote system. If you do not get a prompt right away, or
-get garbage, try pressing <tt>&lt;Enter&gt;</tt> about once per
-second. If you still do not see a <tt/login:/ prompt after a while,
-try sending a <tt>BREAK</tt>. If you are using a high-speed modem to
-do the dialing, try dialing again after locking the dialing modem's
-interface speed (via <tt>AT&amp;B1</tt> on a USR Sportster, for
-example).
-
-If you still cannot get a <tt/login:/ prompt, check
-<tt>/etc/gettytab</tt> again and double-check that
-
-<itemize>
-<item> The initial capability name specified in <tt>/etc/ttys</tt> for
-the line matches a name of a capability in <tt>/etc/gettytab</tt>
-
-<item> Each <tt/nx=/ entry matches another <tt/gettytab/ capability
-name
-
-<item> Each <tt/tc=/ entry matches another <tt/gettytab/ capability
-name
-
-</itemize>
-
-If you dial but the modem on the FreeBSD system will not answer, make
-sure that the modem is configured to answer the phone when <tt/DTR/ is
-asserted. If the modem seems to be configured correctly, verify that
-the <tt/DTR/ line is asserted by checking the modem's indicator lights
-(if it has any).
-
-If you have gone over everything several times and it still does not work,
-take a break and come back to it later. If it still does not work,
-perhaps you can send an electronic mail message to the &a.questions
-describing your modem and your problem, and the good folks on the list will
-try to help.
-
-<sect1><heading>Acknowledgments</heading>
-<p>
-
-Thanks to these people for comments and advice:
-
-<descrip>
-
-<tag>&a.kelly</tag> for a number of good suggestions
-
-</descrip>
-
-
diff --git a/share/doc/handbook/diskless.sgml b/share/doc/handbook/diskless.sgml
deleted file mode 100644
index ad64c3c..0000000
--- a/share/doc/handbook/diskless.sgml
+++ /dev/null
@@ -1,163 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect><heading>Diskless operation<label id="diskless"></heading>
-
-<p><em>Contributed by &a.martin;.</em>
-
- <tt>netboot.com/netboot.rom</tt> allow you to boot your
- FreeBSD machine over the network and run FreeBSD without
- having a disk on your client. Under 2.0 it is now
- possible to have local swap. Swapping over NFS is also
- still supported.
-
- Supported Ethernet cards include: Western Digital/SMC
- 8003, 8013, 8216 and compatibles; NE1000/NE2000 and
- compatibles (requires recompile)
-
- <sect1>
- <heading>Setup Instructions</heading>
-
- <p><enum>
- <item> Find a machine that will be your server. This
- machine will require enough disk space to hold the
- FreeBSD 2.0 binaries and have bootp, tftp and NFS
- services available.
-
- Tested machines:
- <itemize>
- <item>HP9000/8xx running HP-UX 9.04 or later (pre
- 9.04 doesn't work)</item>
- <item>Sun/Solaris 2.3. (you may need to get
- bootp)</item>
- </itemize>
-
- <item>Set up a bootp server to provide the client with
- IP, gateway, netmask.
-<tscreen><verb>
-diskless:\
- :ht=ether:\
- :ha=0000c01f848a:\
- :sm=255.255.255.0:\
- :hn:\
- :ds=192.1.2.3:\
- :ip=192.1.2.4:\
- :gw=192.1.2.5:\
- :vm=rfc1048:
-</verb></tscreen></item>
-
- <item>Set up a TFTP server (on same machine as bootp
- server) to provide booting information to client.
- The name of this file is <tt>cfg.X.X.X.X</tt> (or
- <tt>/tftpboot/cfg.X.X.X.X</tt>, it will try both)
- where <tt>X.X.X.X</tt> is the IP address of the
- client. The contents of this file can be any valid
- netboot commands. Under 2.0, netboot has the
- following commands:
-<tscreen><verb>
-help - print help list
-ip <X.X.X.X> - print/set client's IP address
-server <X.X.X.X> - print/set bootp/tftp server address
-netmask <X.X.X.X> - print/set netmask
-hostname <name> - print/set hostname
-kernel <name> - print/set kernel name
-rootfs <ip:/fs> - print/set root filesystem
-swapfs <ip:/fs> - print/set swap filesystem
-swapsize <size> - set diskless swapsize in Kbytes
-diskboot - boot from disk
-autoboot - continue boot process
-trans <on|off> - turn transceiver on|off
-flags [bcdhsv] - set boot flags
-</verb></tscreen>
- A typical completely diskless cfg file might contain:
-<tscreen><verb>
-rootfs 192.1.2.3:/rootfs/myclient
-swapfs 192.1.2.3:/swapfs
-swapsize 20000
-hostname myclient.mydomain
-</verb></tscreen>
- A cfg file for a machine with local swap might contain:
-<tscreen><verb>
-rootfs 192.1.2.3:/rootfs/myclient
-hostname myclient.mydomain
-</verb></tscreen>
-
- <item>Ensure that your NFS server has exported the root
- (and swap if applicable) filesystems to your client,
- and that the client has root access to these
- filesystems
-
- A typical <tt>/etc/exports</tt> file on FreeBSD might
- look like:
-<tscreen><verb>
-/rootfs/myclient -maproot=0:0 myclient.mydomain
-/swapfs -maproot=0:0 myclient.mydomain
-</verb></tscreen>
-
- And on HP-UX:
-<tscreen><verb>
-/rootfs/myclient -root=myclient.mydomain
-/swapfs -root=myclient.mydomain
-</verb></tscreen>
-
- <item>If you are swapping over NFS (completely diskless
- configuration) create a swap file for your client
- using <tt>dd</tt>. If your <tt>swapfs</tt> command has the
- arguments <tt>/swapfs</tt> and the size 20000 as in the
- example above, the swapfile for myclient will be called
- <tt>/swapfs/swap.X.X.X.X</tt> where <tt>X.X.X.X</tt>
- is the client's IP addr, eg:
-<tscreen><verb>
-# dd if=/dev/zero of=/swapfs/swap.192.1.2.4 bs=1k count=20000
-</verb></tscreen>
-
- Also, the client's swap space might contain sensitive
- information once swapping starts, so make sure to
- restrict read and write access to this file to prevent
- unauthorized access:
-<tscreen><verb>
-# chmod 0600 /swapfs/swap.192.1.2.4
-</verb></tscreen>
-
- <item> Unpack the root filesystem in the directory the
- client will use for its root filesystem
- (<tt>/rootfs/myclient</tt> in the example above).
-
- <itemize>
-
- <item> On HP-UX systems: The server should be
- running HP-UX 9.04 or later for HP9000/800 series
- machines. Prior versions do not allow the
- creation of device files over NFS.
-
- <item> When extracting <tt>/dev</tt> in
- <tt>/rootfs/myclient</tt>, beware that some
- systems (HPUX) will not create device files that
- FreeBSD is happy with. You may have to go to
- single user mode on the first bootup (press
- control-c during the bootup phase), cd
- <tt>/dev</tt> and do a "<tt>sh ./MAKEDEV
- all</tt>" from the client to fix this.
- </itemize>
-
- <item>Run <tt>netboot.com</tt> on the client or make an EPROM
- from the <tt>netboot.rom</tt> file
- </enum>
-
- <sect1>
- <heading>Using Shared <tt>/</tt> and <tt>/usr</tt> filesystems</heading>
-
- <p>At present there isn't an officially sanctioned way of
- doing this, although I have been using a shared <tt>/usr</tt>
- filesystem and individual <tt>/</tt> filesystems for each client.
- If anyone has any suggestions on how to do this cleanly,
- please let me and/or the &a.core; know.
-
- <sect1>
- <heading>Compiling netboot for specific setups</heading>
-
- <p>Netboot can be compiled to support NE1000/2000 cards by
- changing the configuration in
- <tt>/sys/i386/boot/netboot/Makefile</tt>. See the
- comments at the top of this file.
-
diff --git a/share/doc/handbook/dma.sgml b/share/doc/handbook/dma.sgml
deleted file mode 100644
index 9893229..0000000
--- a/share/doc/handbook/dma.sgml
+++ /dev/null
@@ -1,535 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!--
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
-
-<!ENTITY % authors SYSTEM "authors.sgml">
-%authors;
-
-]>
--->
- <sect><heading>DMA: What it is and how it works<label id="dma"></heading>
-
- <p><em>Copyright &copy; 1995 &a.uhclem;, All Rights Reserved.<newline>
- 10 December 1996.</em>
-
-<!-- Version 1(3) -->
-
- Direct Memory Access (DMA) is a method of allowing data to
- be moved from one location to another in a computer without
- intervention from the central processor (CPU).
-
- The way that the DMA function is implemented varies between
- computer architectures, so this discussion will limit
- itself to the implementation and workings of the DMA
- subsystem on the IBM Personal Computer (PC), the IBM PC/AT
- and all of its successors and clones.
-
- The PC DMA subsystem is based on the Intel 8237 DMA
- controller. The 8237 contains four DMA channels that can
- be programmed independently and any one of the channels may be
- active at any moment. These channels are numbered 0, 1, 2
- and 3. Starting with the PC/AT, IBM added a second 8237
- chip, and numbered those channels 4, 5, 6 and 7.
-
- The original DMA controller (0, 1, 2 and 3) moves one byte
- in each transfer. The second DMA controller (4, 5, 6, and
- 7) moves 16-bits from two adjacent memory locations in each
- transfer, with the first byte always coming from an even-numbered
- address. The two controllers are identical components and the
- difference in transfer size is caused by the way the second
- controller is wired into the system.
-
- The 8237 has two electrical signals for each channel, named
- DRQ and -DACK. There are additional signals with the
- names HRQ (Hold Request), HLDA (Hold Acknowledge), -EOP
- (End of Process), and the bus control signals -MEMR (Memory
- Read), -MEMW (Memory Write), -IOR (I/O Read), and -IOW (I/O
- Write).
-
- The 8237 DMA is known as a ``fly-by'' DMA controller. This
- means that the data being moved from one location to
- another does not pass through the DMA chip and is not
- stored in the DMA chip. Subsequently, the DMA can only
- transfer data between an I/O port and a memory address, but
- not between two I/O ports or two memory locations.
-
- <quote><em>Note:</em> The 8237 does allow two channels to
- be connected together to allow memory-to-memory DMA
- operations in a non-``fly-by'' mode, but nobody in the PC
- industry uses this scarce resource this way since it is
- faster to move data between memory locations using the
- CPU.</quote>
-
- In the PC architecture, each DMA channel is normally
- activated only when the hardware that uses that DMA
- requests a transfer by asserting the DRQ line for that
- channel.
-
-
- <sect1><heading>A Sample DMA transfer</heading>
-
- <p>Here is an example of the steps that occur to cause a
- DMA transfer. In this example, the floppy disk
- controller (FDC) has just read a byte from a diskette and
- wants the DMA to place it in memory at location
- 0x00123456. The process begins by the FDC asserting the
- DRQ2 signal to alert the DMA controller.
-
- The DMA controller will note that the DRQ2 signal is asserted.
- The DMA controller will then make sure that DMA channel 2
- has been programmed and is enabled. The DMA controller
- also makes sure that none of the other DMA channels are active
- or have a higher priority. Once these checks are
- complete, the DMA asks the CPU to release the bus so that
- the DMA may use the bus. The DMA requests the bus by
- asserting the HRQ signal which goes to the CPU.
-
- The CPU detects the HRQ signal, and will complete
- executing the current instruction. Once the processor
- has reached a state where it can release the bus, it
- will. Now all of the signals normally generated by the
- CPU (-MEMR, -MEMW, -IOR, -IOW and a few others) are
- placed in a tri-stated condition (neither high or low)
- and then the CPU asserts the HLDA signal which tells the
- DMA controller that it is now in charge of the bus.
-
- Depending on the processor, the CPU may be able to
- execute a few additional instructions now that it no
- longer has the bus, but the CPU will eventually have to
- wait when it reaches an instruction that must read
- something from memory that is not in the internal
- processor cache or pipeline.
-
- Now that the DMA ``is in charge'', the DMA activates its
- -MEMR, -MEMW, -IOR, -IOW output signals, and the address
- outputs from the DMA are set to 0x3456, which will be
- used to direct the byte that is about to transferred to a
- specific memory location.
-
- The DMA will then let the device that requested the DMA
- transfer know that the transfer is commencing. This is
- done by asserting the -DACK signal, or in the case of the
- floppy disk controller, -DACK2 is asserted.
-
- The floppy disk controller is now responsible for placing
- the byte to be transferred on the bus Data lines. Unless
- the floppy controller needs more time to get the data
- byte on the bus (and if the peripheral does need more time it
- alerts the DMA via the READY signal), the DMA will wait
- one DMA clock, and then de-assert the -MEMW and -IOR
- signals so that the memory will latch and store the byte
- that was on the bus, and the FDC will know that the byte
- has been transferred.
-
- Since the DMA cycle only transfers a single byte at a
- time, the FDC now drops the DRQ2 signal, so that the DMA
- knows it is no longer needed. The DMA will de-assert the
- -DACK2 signal, so that the FDC knows it must stop placing
- data on the bus.
-
- The DMA will now check to see if any of the other DMA
- channels have any work to do. If none of the channels
- have their DRQ lines asserted, the DMA controller has
- completed its work and will now tri-state the -MEMR,
- -MEMW, -IOR, -IOW and address signals.
-
- Finally, the DMA will de-assert the HRQ signal. The CPU
- sees this, and de-asserts the HOLDA signal. Now the CPU
- activates its -MEMR, -MEMW, -IOR, -IOW and address lines,
- and it resumes executing instructions and accessing main
- memory and the peripherals.
-
- For a typical floppy disk sector, the above process is
- repeated 512 times, once for each byte. Each time a byte
- is transferred, the address register in the DMA is
- incremented and the counter that shows how many bytes are
- to be transferred is decremented.
-
- When the counter reaches zero, the DMA asserts the EOP
- signal, which indicates that the counter has reached zero
- and no more data will be transferred until the DMA
- controller is reprogrammed by the CPU. This event is
- also called the Terminal Count (TC). There is only one
- EOP signal, because only one DMA channel can be active at
- any instant.
-
- If a peripheral wants to generate an interrupt when the
- transfer of a buffer is complete, it can test for its
- -DACK signal and the EOP signal both being asserted at
- the same time. When that happens, it means the DMA will not
- transfer any more information for that peripheral without
- intervention by the CPU. The peripheral can then assert
- one of the interrupt signals to get the processors'
- attention. The DMA chip itself is not capable of
- generating an interrupt. The peripheral and its
- associated hardware is responsible for generating any
- interrupt that occurs.
-
- It is important to understand that although the CPU
- always releases the bus to the DMA when the DMA makes the
- request, this action is invisible to both applications
- and the operating systems, except for slight changes in
- the amount of time the processor takes to execute
- instructions when the DMA is active. Subsequently, the
- processor must poll the peripheral, poll the registers in
- the DMA chip, or receive an interrupt from the peripheral
- to know for certain when a DMA transfer has completed.
-
-
-<sect1><heading>DMA Page Registers and 16Meg address space limitations</heading>
-
- <p>You may have noticed earlier that instead of the DMA
- setting the address lines to 0x00123456 as we said
- earlier, the DMA only set 0x3456. The reason for this
- takes a bit of explaining.
-
- When the original IBM PC was designed, IBM elected to use
- both DMA and interrupt controller chips that were
- designed for use with the 8085, an 8-bit processor with
- an address space of 16 bits (64K). Since the IBM PC
- supported more than 64K of memory, something had to be
- done to allow the DMA to read or write memory locations
- above the 64K mark. What IBM did to solve this problem
- was to add a latch for each DMA channel that holds the
- upper bits of the address to be read to or written from.
- Whenever a DMA channel is active, the contents of that
- latch are written to the address bus and kept there until
- the DMA operation for the channel ends. These latches
- are called ``Page Registers''.
-
- So for our example above, the DMA would put the 0x3456
- part of the address on the bus, and the Page Register for
- DMA channel 2 would put 0x0012xxxx on the bus. Together,
- these two values form the complete address in memory that
- is to be accessed.
-
- Because the Page Register latch is independent of the DMA
- chip, the area of memory to be read or written must not
- span a 64K physical boundary. If the DMA accesses memory
- location 0xffff, after the transfer the DMA will then increment
- the address register and the DMA will access the next byte at
- location 0x0000, not 0x10000. The results of letting this
- happen are probably not intended.
-
- <quote><em>Note:</em> ``Physical'' 64K boundaries should
- not be confused with 8086-mode 64K ``Segments'', which
- are created by adding a segment register with an offset
- register. Page Registers have no address overlap.</quote>
-
- To further complicate matters, the external DMA address
- latches on the PC/AT hold only eight bits, so that gives
- us 8+16=24 bits, which means that the DMA can only point
- at memory locations between 0 and 16Meg. For newer
- computers that allow more than 16Meg of memory, the
- PC-compatible DMA cannot access memory locations above 16Meg.
-
- To get around this restriction, operating systems will
- reserve a buffer in an area below 16Meg that also does not
- span a physical 64K boundary. Then the DMA will be
- programmed to transfer data from the peripheral and into that
- buffer. Once the DMA has moved the data into this buffer,
- the operating system will then copy the data from the buffer
- to the address where the data is really supposed to be stored.
-
- When writing data from an address above 16Meg to a
- DMA-based peripheral, the data must be first copied from
- where it resides into a buffer located below 16Meg, and
- then the DMA can copy the data from the buffer to the
- hardware. In FreeBSD, these reserved buffers are called
- ``Bounce Buffers''. In the MS-DOS world, they are
- sometimes called ``Smart Buffers''.
-
-
- <sect1><heading>DMA Operational Modes and Settings</heading>
-
- <p>The 8237 DMA can be operated in several modes. The main
- ones are:
-
-<descrip>
-
- <tag/Single/ A single byte (or word) is transferred.
- The DMA must release and re-acquire the bus for each
- additional byte. This is commonly-used by devices
- that cannot transfer the entire block of data
- immediately. The peripheral will request the DMA
- each time it is ready for another transfer.
-
- The floppy disk controller only has a one-byte
- buffer, so it uses this mode.
-
-
- <tag>Block/Demand</tag> Once the DMA acquires the
- system bus, an entire block of data is transferred,
- up to a maximum of 64K. If the peripheral needs
- additional time, it can assert the READY signal to
- suspend the transfer briefly. READY should not be
- used excessively, and for slow peripheral transfers,
- the Single Transfer Mode should be used instead.
-
- The difference between Block and Demand is that once a
- Block transfer is started, it runs until the transfer
- count reaches zero. DRQ only needs to be asserted
- until -DACK is asserted. Demand Mode will transfer
- one more bytes until DRQ is de-asserted and the DMA
- pauses the transfer and releases the bus back to the CPU.
- When DRQ is asserted later, the transfer resumes where
- it was suspended.
-
- Older hard disk controllers used Demand Mode until
- CPU speeds increased to the point that it was more
- efficient to transfer the data using the CPU, particularly
- if the memory locations used in the transfer were above the
- 16Meg mark.
-
-
- <tag>Cascade</tag> This mechanism allows a DMA channel
- to request the bus, but then the attached peripheral
- device is responsible for placing the addressing
- information on the bus instead of the DMA. This is also
- known as ``Bus Mastering''.
-
- When a DMA channel in Cascade Mode receives control
- of the bus, the DMA does not place addresses and I/O
- control signals on the bus like the DMA normally does
- when it is active. Instead, the DMA only asserts the
- -DACK signal for this channel.
-
- At this point it is up to the device connected to that DMA
- channel to provide address and bus control signals.
- The peripheral has complete control over the system
- bus, and can do reads and/or writes to any address
- below 16Meg. When the peripheral is finished with
- the bus, it de-asserts the DRQ line, and the DMA
- controller can return control to the CPU or to some
- other DMA channel.
-
- Cascade Mode can be used to chain multiple DMA
- controllers together, and this is exactly what DMA
- Channel 4 is used for in the PC. When a peripheral
- requests the bus on DMA channels 0, 1, 2 or 3, the
- slave DMA controller asserts HLDREQ, but this wire is
- actually connected to DRQ4 on the primary DMA
- controller. The primary DMA controller then requests
- the bus from the CPU using HLDREQ. Once the bus is
- granted, -DACK4 is asserted, and that wire is
- actually connected to the HLDA signal on the slave
- DMA controller. The slave DMA controller then
- transfers data for the DMA channel that requested it,
- or the slave DMA may grant the bus to a peripheral
- that wants to perform its own bus-mastering, such as
- a SCSI controller.
-
- Because of this wiring arrangement, only DMA channels
- 0, 1, 2, 3, 5, 6 and 7 are usable on PC/AT systems.
-
- <quote><em>Note:</em> DMA channel 0 was reserved for
- refresh operations in early IBM PC computers, but
- is generally available for use by peripherals in
- modern systems.</quote>
-
- When a peripheral is performing Bus Mastering, it is
- important that the peripheral transmit data to or
- from memory constantly while it holds the system bus.
- If the peripheral cannot do this, it must release the
- bus frequently so that the system can perform refresh
- operations on main memory.
-
- The Dynamic RAM used in all PCs for main memory must be
- accessed frequently to keep the bits stored in the
- components "charged". Dynamic RAM essentially consists
- of millions of capacitors with each one holding one bit
- of data. These capacitors are charged with power to
- represent a "1" or drained to represent a "0". Because
- all capacitors leak, power must be added at regular intervals
- to keep the "1" values intact. The RAM chips actually handle
- the task of pumping power back into all of the appropriate
- locations in RAM, but they must be told when to do it by
- the rest of the computer so that the refresh activity won't
- interfere with the computer wanting to access RAM normally.
- If the computer is unable to refresh memory, the contents
- of memory will become corrupted in just a few milliseconds.
-
- Since memory read and write cycles ``count'' as refresh
- cycles (a dynamic RAM refresh cycle is actually an incomplete
- memory read cycle), as long as the peripheral
- controller continues reading or writing data to
- sequential memory locations, that action will refresh
- all of memory.
-
- Bus-mastering is found in some SCSI host interfaces and
- other high-performance peripheral controllers.
-
-
- <tag>Autoinitialize</tag> This mode causes the DMA to
- perform Byte, Block or Demand transfers, but when the
- DMA transfer counter reaches zero, the counter and
- address are set back to where they were when the DMA
- channel was originally programmed. This means that
- as long as the peripheral requests transfers, they will
- be granted. It is up to the CPU to move new data
- into the fixed buffer ahead of where the DMA is about
- to transfer it when doing output operations, and read new
- data out of the buffer behind where the DMA is writing
- when doing input operations.
-
- This technique is frequently used on audio devices that
- have small or no hardware ``sample'' buffers. There is
- additional CPU overhead to manage this ``circular'' buffer,
- but in some cases this may be the only way to eliminate the
- latency that occurs when the DMA counter reaches zero
- and the DMA stops transfers until it is reprogrammed.
- </descrip>
-
- <sect1><heading>Programming the DMA</heading>
-
- <p>The DMA channel that is to be programmed should always
- be ``masked'' before loading any settings. This is because
- the hardware might unexpectedly assert DRQ, and the DMA might
- respond, even though not all of the parameters have been
- loaded or updated.
-
- Once masked, the host must specify the direction of the
- transfer (memory-to-I/O or I/O-to-memory), what mode of
- DMA operation is to be used for the transfer (Single,
- Block, Demand, Cascade, etc), and finally the address and
- length of the transfer are loaded. The length that is
- loaded is one less than the amount you expect the DMA to
- transfer. The LSB and MSB of the address and length are
- written to the same 8-bit I/O port, so another port must
- be written to first to guarantee that the DMA accepts the
- first byte as the LSB and the second byte as the MSB of
- the length and address.
-
- Then, be sure to update the Page Register, which is
- external to the DMA and is accessed through a different
- set of I/O ports.
-
- Once all the settings are ready, the DMA channel can be
- un-masked. That DMA channel is now considered to be
- ``armed'', and will respond when DRQ is asserted.
-
- Refer to a hardware data book for precise programming
- details for the 8237. You will also need to refer to the
- I/O port map for the PC system, which describes where
- the DMA and Page Register ports are located. A complete
- table is located below.
-
-
- <sect1><heading>DMA Port Map</heading>
-
- <p>All systems based on the IBM-PC and PC/AT have the DMA
- hardware located at the same I/O ports. The complete
- list is provided below. Ports assigned to DMA Controller
- &num;2 are undefined on non-AT designs.
-
-<sect2><heading>0x00 - 0x1f DMA Controller &num;1 (Channels 0, 1, 2 and 3)</heading>
-
-<p>DMA Address and Count Registers
-
-<verb>
-0x00 write Channel 0 starting address
-0x00 read Channel 0 current address
-0x02 write Channel 0 starting word count
-0x02 read Channel 0 remaining word count
-
-0x04 write Channel 1 starting address
-0x04 read Channel 1 current address
-0x06 write Channel 1 starting word count
-0x06 read Channel 1 remaining word count
-
-0x08 write Channel 2 starting address
-0x08 read Channel 2 current address
-0x0a write Channel 2 starting word count
-0x0a read Channel 2 remaining word count
-
-0x0c write Channel 3 starting address
-0x0c read Channel 3 current address
-0x0e write Channel 3 starting word count
-0x0e read Channel 3 remaining word count
-</verb>
-
-DMA Command Registers
-
-<verb>
-0x10 write Command Register
-0x10 read Status Register
-0x12 write Request Register
-0x12 read -
-0x14 write Single Mask Register Bit
-0x14 read -
-0x16 write Mode Register
-0x16 read -
-0x18 write Clear LSB/MSB Flip-Flop
-0x18 read -
-0x1a write Master Clear/Reset
-0x1a read Temporary Register
-0x1c write Clear Mask Register
-0x1c read -
-0x1e write Write All Mask Register Bits
-0x1e read -
-</verb>
-
-<sect2><heading>0xc0 - 0xdf DMA Controller &num;2 (Channels 4, 5, 6 and 7)</heading>
-
-<p>DMA Address and Count Registers
-
-<verb>
-0xc0 write Channel 4 starting address
-0xc0 read Channel 4 current address
-0xc2 write Channel 4 starting word count
-0xc2 read Channel 4 remaining word count
-
-0xc4 write Channel 5 starting address
-0xc4 read Channel 5 current address
-0xc6 write Channel 5 starting word count
-0xc6 read Channel 5 remaining word count
-
-0xc8 write Channel 6 starting address
-0xc8 read Channel 6 current address
-0xca write Channel 6 starting word count
-0xca read Channel 6 remaining word count
-
-0xcc write Channel 7 starting address
-0xcc read Channel 7 current address
-0xce write Channel 7 starting word count
-0xce read Channel 7 remaining word count
-</verb>
-
-DMA Command Registers
-
-<verb>
-0xd0 write Command Register
-0xd0 read Status Register
-0xd2 write Request Register
-0xd2 read -
-0xd4 write Single Mask Register Bit
-0xd4 read -
-0xd6 write Mode Register
-0xd6 read -
-0xd8 write Clear LSB/MSB Flip-Flop
-0xd8 read -
-0xda write Master Clear/Reset
-0xda read Temporary Register
-0xdc write Clear Mask Register
-0xdc read -
-0xde write Write All Mask Register Bits
-0xde read -
-</verb>
-
-<sect2><heading>0x80 - 0x9f DMA Page Registers</heading>
-
-<p><verb>
-0x87 r/w DMA Channel 0
-0x83 r/w DMA Channel 1
-0x81 r/w DMA Channel 2
-0x82 r/w DMA Channel 3
-
-0x8b r/w DMA Channel 5
-0x89 r/w DMA Channel 6
-0x8a r/w DMA Channel 7
-
-0x8f Refresh
-</verb>
-
diff --git a/share/doc/handbook/eresources.sgml b/share/doc/handbook/eresources.sgml
deleted file mode 100644
index 3de5724..0000000
--- a/share/doc/handbook/eresources.sgml
+++ /dev/null
@@ -1,459 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<chapt>
- <heading>Resources on the Internet<label id="eresources"></heading>
-
- <p><em>Contributed by &a.jkh;.</em>
-
- <p>The rapid pace of FreeBSD progress makes print media impractical as a
- means of following the latest developments. Electronic resources are
- the best, if not often the only, way stay informed of the latest advances.
- Since FreeBSD is a volunteer effort, the user community itself also
- generally serves as a `technical support department' of sorts, with
- electronic mail and USENET news being the most effective way of reaching
- that community.
-
- The most important points of contact with the FreeBSD
- user community are outlined below. If you are aware of other
- resources not mentioned here, please send them to the &a.doc
- so that they may also be included.
-
- <sect>
- <heading>Mailing lists<label id="eresources:mail"></heading>
-
-<p>Though many of the FreeBSD development members read USENET, we cannot
-always guarantee that we will get to your questions in a timely fashion
-(or at all) if you post them only to one of the comp.unix.bsd.freebsd.*
-groups. By addressing your questions to the appropriate mailing list
-you will reach both us and a concentrated FreeBSD audience, invariably
-assuring a better (or at least faster) response.
-
-<p>The charters for the various lists are given at the bottom of this
-document. <bf>Please read the charter before joining or sending
-mail to any list</bf>. Most of our list subscribers now receive many hundreds
-of FreeBSD related messages every day, and by setting down charters
-and rules for proper use we are striving to keep the signal-to-noise ratio
-of the lists high. To do less would see the mailing lists ultimately fail
-as an effective communications medium for the project.
-
-Archives are kept for all of the mailing lists and can be searched
-using the <url url="http://www.FreeBSD.ORG/search.html"
-name="FreeBSD World Wide Web server">. The keyword searchable archive
-offers an excellent way of finding answers to frequently asked
-questions and should be consulted before posting a question.
-
-<sect1><heading>List summary<label id="eresources:summary"></heading>
-
-<p><bf>General lists:</bf> The following are general lists which
-anyone is free to join:
-<verb>
-List Purpose
-----------------------------------------------------------------------
-freebsd-announce Important events and project milestones
-freebsd-bugs Bug reports
-freebsd-chat Non-technical items related to the FreeBSD community
-freebsd-current Discussion concerning the use of FreeBSD-current
-freebsd-stable Discussion concerning the use of FreeBSD-stable
-freebsd-isp Issues for Internet Service Providers using FreeBSD
-freebsd-questions User questions
-</verb>
-
-<bf>Technical lists:</bf> The following lists are for technical discussion.
-You should read the charter for each list carefully before joining or
-sending mail to one as there are firm guidelines for their use and content.
-<verb>
-List Purpose
-----------------------------------------------------------------------
-freebsd-doc The FreeBSD Documentation project
-freebsd-emulation Emulation of other systems such as Linux/DOS/Windows
-freebsd-fs Filesystems
-freebsd-hackers General technical discussion
-freebsd-hardware General discussion of hardware for running FreeBSD
-freebsd-mobile Discussions about mobile computing
-freebsd-multimedia Multimedia discussion
-freebsd-platforms Concerning ports to non-Intel architecture platforms
-freebsd-ports Discussion of the ports collection
-freebsd-security Security issues
-freebsd-security-notifications
- Security notifications (moderated mailing list)
-freebsd-scsi The SCSI subsystem
-freebsd-smp Design discussions for [A]Symmetric MultiProcessing
-</verb>
-
-<bf>Limited lists:</bf> The following lists require approval from
-<url url="mailto:core@freebsd.org" name="core@FreeBSD.ORG"> to join,
-though anyone is free to send messages to them which fall within the
-scope of their charters. It is also a good idea establish a presence
-in the technical lists before asking to join one of these limited lists.
-<verb>
-List Purpose
-----------------------------------------------------------------------
-freebsd-admin Administrative issues
-freebsd-arch Architecture and design discussions
-freebsd-core FreeBSD core team
-freebsd-hubs People running mirror sites (infrastructural support)
-freebsd-install Installation development
-freebsd-user-groups User group coordination
-</verb>
-
-<bf>CVS lists:</bf> The following lists are for people interested in
-seeing the log messages for changes to various areas of the source tree.
-They are <bf>Read-Only</bf> lists and should not have mail sent to them.
-
-<verb>
-List name Source area Area Description (source for)
-----------------------------------------------------------------------
-cvs-CVSROOT /usr/src/[A-Z]* Top level /usr/src file changes
-cvs-all /usr/src All changes to the tree (superset)
-cvs-bin /usr/src/bin System binaries
-cvs-etc /usr/src/etc System files
-cvs-games /usr/src/games Games
-cvs-gnu /usr/src/gnu GPL'd utilities
-cvs-include /usr/src/include Include files
-cvs-kerberosIV /usr/src/kerberosIV Kerberos encryption code
-cvs-lib /usr/src/lib System libraries
-cvs-libexec /usr/src/libexec System binaries
-cvs-ports /usr/ports Ported software
-cvs-sbin /usr/src/sbin System binaries
-cvs-share /usr/src/share System shared files
-cvs-sys /usr/src/sys Kernel
-cvs-usrbin /usr/src/usr.bin Use binaries
-cvs-usrsbin /usr/src/usr.sbin System binaries
-</verb>
-
-<sect1><heading>How to subscribe<label id="eresources:subscribe"></heading>
-
-<p>All mailing lists live on <tt>FreeBSD.ORG</tt>, so to post to a
-given list you simply mail to <em>listname</em><tt>@FreeBSD.ORG</tt>. It
-will then be redistributed to mailing list members world-wide.
-
-To subscribe to a list, send mail to &a.majordomo and include
-<tscreen><verb>
-subscribe <listname> [<optional address>]
-</verb></tscreen>
-In the body of your message. For example, to subscribe yourself to
-freebsd-announce, you'd do:
-<tscreen><verb>
-% mail majordomo@FreeBSD.ORG
-subscribe freebsd-announce
-^D
-</verb></tscreen>
-If you want to subscribe yourself under a different name, or submit a
-subscription request for a local mailing list (note: this is more efficient
-if you have several interested parties at one site, and highly appreciated by
-us!), you would do something like:
-<tscreen><verb>
-% mail majordomo@FreeBSD.ORG
-subscribe freebsd-announce local-announce@somesite.com
-^D
-</verb></tscreen>
-Finally, it is also possible to unsubscribe yourself from a list, get a
-list of other list members or see the list of mailing lists again by
-sending other types of control messages to majordomo. For a complete
-list of available commands, do this:
-<tscreen><verb>
-% mail majordomo@FreeBSD.ORG
-help
-^D
-</verb></tscreen>
-Again, we would like to request that you keep discussion in the technical mailing
-lists on a technical track. If you are only interested in the "high points"
-then it is suggested that you join freebsd-announce, which is intended only
-for infrequent traffic.
-
-<sect1><heading>List charters<label id="eresources:charters"></heading>
-
-<p><bf>All</bf>FreeBSD mailing lists have certain basic rules
-which must be adhered to by anyone using them. Failure to comply
-with these guidelines will result in two (2) written warnings from the
-FreeBSD <url url="mailto:postmaster@freebsd.org" name="Postmaster">,
-after which, on a third offense, the poster will removed from all
-FreeBSD mailing lists and filtered from further posting to them.
-We regret that such rules and measures are necessary at all, but
-today's Internet is a pretty harsh environment, it would seem, and
-many fail to appreciate just how fragile some of its mechanisms are.
-
-<p>Rules of the road:
-<itemize>
-<item>The topic of any posting should adhere to the basic charter of the list
- it is posted to, e.g. if the list is about technical issues then your
- posting should contain technical discussion. Ongoing irrelevant chatter
- or flaming only detracts from the value of the mailing list for everyone
- on it and will not be tolerated. For free-form discussion on no
- particular topic, the <url url="mailto:freebsd-chat@freebsd.org"
- name="freebsd-chat"> mailing list is freely available and should
- be used instead.</item>
-
-<item>No posting should be made to more than 2 mailing lists, and only
- to 2 when a clear and obvious need to post to both lists exists.
- For most lists, there is already a great deal of subscriber overlap
- and except for the most esoteric mixes (say "-stable & -scsi"), there
- really is no reason to post to more than one list at a time.
- If a message is sent to you in such a way that multiple mailing lists
- appear on the Cc line then the cc line should also be trimmed before
- sending it out again.
- <em>You are <bf>still</bf> responsible for your own cross-postings, no
- matter who the originator might have been.</em></item>
-
-<item>Personal attacks and profanity (in the context of an argument) are
- not allowed, and that includes users and developers alike. Gross
- breaches of netiquette, like excerpting or reposting private mail
- when permission to do so was not and would not be forthcoming,
- are frowned upon but not specifically enforced. <bf>However</bf>,
- there are also very few cases where such content would fit within the
- charter of a list and it would therefore probably rate a warning
- (or ban) on that basis alone.</item>
-
-<item>Advertising of non-FreeBSD related products or services is
- strictly prohibited and will result in an immediate ban if it
- is clear that the offender is advertising by spam.</item>
-
-</itemize>
-
-<p><bf>Individual list charters:</bf>
-
-<p>
-<descrip>
-<tag/FREEBSD-ADMIN/ <em>Administrative issues</em><newline>
-This list is purely for discussion of freebsd.org related issues
-and to report problems or abuse of project resources. It is a closed
-list, though anyone may report a problem (with our systems!) to it.
-
-<tag/FREEBSD-ANNOUNCE/ <em>Important events / milestones</em><newline>
-This is the mailing list for people interested only in occasional
-announcements of significant freebsd events. This includes
-announcements about snapshots and other releases. It contains
-announcements of new FreeBSD capabilities. It may contain calls
-for volunteers etc. This is a low volume, strictly moderated mailing list.
-
-<tag/FREEBSD-ARCH/ <em>Architecture and design discussions</em><newline>
-This is the mailing list for people discussing FreeBSD architectural
-issues. It is a closed list, and not for general subscription.
-
-<tag/FREEBSD-BUGS/ <em>Bug reports</em><newline>
-This is the mailing list for reporting bugs in FreeBSD
-Whenever possible, bugs should be submitted using the "send-pr(1)"
-command or the <url url="http://www.freebsd.org/send-pr.html"
-name="WEB interface"> to it.
-
-<tag/FREEBSD-CHAT/ <em>Non technical items related to the
- FreeBSD community</em><newline>
-This list contains the overflow from the other lists about
-non-technical, social information. It includes discussion about
-whether Jordan looks like a toon ferret or not, whether or not to
-type in capitals, who is drinking too much coffee, where the best
-beer is brewed, who is brewing beer in their basement, and so on.
-Occasional announcements of important events (such as upcoming
-parties, weddings, births, new jobs, etc) can be made to the
-technical lists, but the follow ups should be directed to this
--chat list.
-
-<tag/FREEBSD-CORE/ <em>FreeBSD core team</em><newline>
-This is an internal mailing list for use by the core members.
-Messages can be sent to it when a serious FreeBSD-related matter
-requires arbitration or high-level scrutiny.
-
-<tag/FREEBSD-CURRENT/ <em>Discussions about the use of
-FreeBSD-current</em><newline> This is the mailing list for users
-of freebsd-current. It includes warnings about new features
-coming out in -current that will affect the users, and
-instructions on steps that must be taken to remain -current.
-Anyone running "current" must subscribe to this list.
-This is a technical mailing list for which strictly technical
-content is expected.
-
-<tag/FREEBSD-CURRENT-DIGEST/ <em>Discussions about the use of
-FreeBSD-current</em><newline> This is the digest version of the
-freebsd-current mailing list. The digest consists of all
-messages sent to freebsd-current bundled together and mailed out
-as a single message. The average digest size is about 40kB.
-This list is <bf>Read-Only</bf> and should not be posted to.
-
-<tag/FREEBSD-STABLE/ <em>Discussions about the use of
-FreeBSD-stable</em><newline> This is the mailing list for users
-of freebsd-stable. It includes warnings about new features
-coming out in -stable that will affect the users, and
-instructions on steps that must be taken to remain -stable.
-Anyone running ``stable'' should subscribe to this list.
-This is a technical mailing list for which strictly technical
-content is expected.
-
-<tag/FREEBSD-DOC/ <em>Documentation project</em><newline>
-This mailing list belongs to the FreeBSD Doc Project and is for
-the discussion of documentation related issues and projects.
-
-<tag/FREEBSD-FS/ <em>Filesystems</em><newline>
-Discussions concerning FreeBSD filesystems.
-This is a technical mailing list for which strictly technical
-content is expected.
-
-<tag/FREEBSD-HACKERS/ <em>Technical discussions</em><newline>
-This is a forum for technical discussions related to FreeBSD. This
-is the primary technical mailing list. It
-is for individuals actively working on FreeBSD, to bring up problems
-or discuss alternative solutions. Individuals interested in
-following the technical discussion are also welcome.
-This is a technical mailing list for which strictly technical
-content is expected.
-
-<tag/FREEBSD-HACKERS-DIGEST/ <em>Technical
-discussions</em><newline> This is the digest version of the
-freebsd-hackers mailing list. The digest consists of all
-messages sent to freebsd-hackers bundled together and mailed out
-as a single message. The average digest size is about 40kB.
-This list is <bf>Read-Only</bf> and should not be posted to.
-
-<tag/FREEBSD-HARDWARE/ <em>General discussion of FreeBSD
-hardware</em><newline> General discussion about the types of
-hardware that FreeBSD runs on, various problems and suggestions
-concerning what to buy or avoid.
-
-<tag/FREEBSD-INSTALL/ <em>Installation discussion</em><newline>
-This mailing list is for discussing FreeBSD installation
-development for the future releases and is closed.
-
-<tag/FREEBSD-ISP/ <em>Issues for Internet Service Providers</em><newline>
-This mailing list is for discussing topics relevant to Internet
-Service Providers (ISPs) using FreeBSD.
-This is a technical mailing list for which strictly technical
-content is expected.
-
-<tag/FREEBSD-MULTIMEDIA/ <em>Multimedia discussions</em><newline>
-This is a forum about multimedia applications using FreeBSD.
-Discussion center around multimedia applications, their installation, their
-development and their support within FreeBSD
-This is a technical mailing list for which strictly technical
-content is expected.
-
-<tag/FREEBSD-PLATFORMS/ <em>Porting to Non-Intel
-platforms</em><newline> Cross-platform freebsd issues, general
-discussion and proposals for non-Intel FreeBSD ports.
-This is a technical mailing list for which strictly technical
-content is expected.
-
-<tag/FREEBSD-PORTS/ <em>Discussion of "ports"</em><newline>
-Discussions concerning FreeBSD's "ports collection" (/usr/ports), proposed
-ports, modifications to ports collection infrastructure and general
-coordination efforts.
-This is a technical mailing list for which strictly technical
-content is expected.
-
-<tag/FREEBSD-QUESTIONS/ <em>User questions</em><newline>
-This is the mailing list for questions about FreeBSD. You should not
-send "how to" questions to the technical lists unless you consider the
-question to be pretty technical.
-
-<tag/FREEBSD-QUESTIONS-DIGEST/ <em>User questions</em><newline>
-This is the digest version of the freebsd-questions mailing list.
-The digest consists of all messages sent to freebsd-questions
-bundled together and mailed out as a single message. The average
-digest size is about 40kB.
-
-<tag/FREEBSD-SCSI/ <em>SCSI subsystem</em><newline>
-This is the mailing list for people working on the scsi subsystem
-for FreeBSD.
-This is a technical mailing list for which strictly technical
-content is expected.
-
-<tag/FREEBSD-SECURITY/ <em>Security issues</em><newline>
-FreeBSD computer security issues (DES, Kerberos, known security holes and
-fixes, etc).
-This is a technical mailing list for which strictly technical
-content is expected.
-
-<tag/FREEBSD-SECURITY-NOTIFICATIONS/ <em>Security Notifications</em><newline>
-Notifications of FreeBSD security problems and fixes. This is not
-a discussion list. The discussion list is FreeBSD-security.
-
-<tag/FREEBSD-USER-GROUPS/ <em>User Group Coordination List</em><newline>
-This is the mailing list for the coordinators from each of the
-local area Users Groups to discuss matters with each other and a
-designated individual from the Core Team. This mail list should
-be limited to meeting synopsis and coordination of projects that span
-User Groups. It is a closed list.
-
-</descrip>
-
- <sect>
- <heading>Usenet newsgroups<label id="eresources:news"></heading>
-
- <p>In addition to two FreeBSD specific newsgroups, there
- are many others in which FreeBSD is discussed or are
- otherwise relevant to FreeBSD users. <url
- url="http://minnie.cs.adfa.oz.au/BSD-info/bsdnews&lowbar;search.html"
- name="Keyword searchable archives"> are available for
- some of these newsgroups from courtesy of Warren Toomey
- <tt>&lt;wkt@cs.adfa.oz.au&gt;</tt>.
-
- <sect1>
- <heading>BSD specific newsgroups</heading>
-
- <p><itemize>
- <item><url url="news:comp.unix.bsd.freebsd.announce"
- name="comp.unix.bsd.freebsd.announce"></item>
- <item><url url="news:comp.unix.bsd.freebsd.misc"
- name="comp.unix.bsd.freebsd.misc"></item>
- </itemize>
-
- <sect1>
- <heading>Other Unix newsgroups of interest</heading>
-
- <p><itemize>
- <item><url url="news:comp.unix" name="comp.unix"></item>
- <item><url url="news:comp.unix.questions" name="comp.unix.questions"></item>
- <item><url url="news:comp.unix.admin" name="comp.unix.admin"></item>
- <item><url url="news:comp.unix.programmer" name="comp.unix.programmer"></item>
- <item><url url="news:comp.unix.shell" name="comp.unix.shell"></item>
- <item><url url="news:comp.unix.user-friendly" name="comp.unix.user-friendly"></item>
- <item><url url="news:comp.security.unix" name="comp.security.unix"></item>
- <item><url url="news:comp.sources.unix" name="comp.sources.unix"></item>
- <item><url url="news:comp.unix.advocacy" name="comp.unix.advocacy"></item>
- <item><url url="news:comp.unix.misc" name="comp.unix.misc"></item>
- <item><url url="news:comp.os.386bsd.announc" name="comp.os.386bsd.announc"></item>
- <item><url url="news:comp.os.386bsd.app" name="comp.os.386bsd.app"></item>
- <item><url url="news:comp.os.386bsd.bugs" name="comp.os.386bsd.bugs"></item>
- <item><url url="news:comp.os.386bsd.development" name="comp.os.386bsd.development"></item>
- <item><url url="news:comp.os.386bsd.misc" name="comp.os.386bsd.misc"></item>
- <item><url url="news:comp.os.386bsd.questions" name="comp.os.386bsd.questions"></item>
- <item><url url="news:comp.bugs.4bsd" name="comp.bugs.4bsd"></item>
- <item><url url="news:comp.bugs.4bsd.ucb-fixes" name="comp.bugs.4bsd.ucb-fixes"></item>
- <item><url url="news:comp.unix.bsd" name="comp.unix.bsd"></item>
- </itemize>
-
- <sect1>
- <heading>X Window System</heading>
-
- <p><itemize>
- <item><url url="news:comp.windows.x.i386unix" name="comp.windows.x.i386unix"></item>
- <item><url url="news:comp.windows.x" name="comp.windows.x"></item>
- <item><url url="news:comp.windows.x.apps" name="comp.windows.x.apps"></item>
- <item><url url="news:comp.windows.x.announce" name="comp.windows.x.announce"></item>
- <item><url url="news:comp.windows.x.intrinsics" name="comp.windows.x.intrinsics"></item>
- <item><url url="news:comp.windows.x.motif" name="comp.windows.x.motif"></item>
- <item><url url="news:comp.windows.x.pex" name="comp.windows.x.pex"></item>
- <item><url url="news:comp.emulators.ms-windows.wine" name="comp.emulators.ms-windows.wine"></item>
- </itemize>
-
- <sect>
- <heading>World Wide Web servers<label id="eresources:web"></heading>
-
- <p><itemize>
- <item><url url="http://www.FreeBSD.ORG/"> <bf>- Central Server</bf>.</item>
- <item><url url="http://www.au.freebsd.org/FreeBSD/"> <bf>- Australia</bf>.</item>
- <item><url url="http://www.br.freebsd.org/"> <bf>- Brazil</bf>.</item>
- <item><url url="http://www.ca.freebsd.org/"> <bf>- Canada</bf>.</item>
- <item><url url="http://sunsite.mff.cuni.cz/www.freebsd.org/"><bf>- Czech Republic</bf>.</item>
- <item><url url="http://sunsite.auc.dk/www.freebsd.org/"> <bf>- Denmark</bf>.</item>
- <item><url url="http://www.ee.freebsd.org/"> <bf>- Estonia</bf>.</item>
- <item><url url="http://www.fi.freebsd.org/"> <bf>- Finland</bf>.</item>
- <item><url url="http://www.de.freebsd.org/"> <bf>- Germany</bf>.</item>
- <item><url url="http://www.ie.freebsd.org/"> <bf>- Ireland</bf>.</item>
- <item><url url="http://www.jp.freebsd.org/"> <bf>- Japan</bf>.</item>
- <item><url url="http://www.kr.freebsd.org/"> <bf>- Korea</bf>.</item>
- <item><url url="http://www.nl.freebsd.org/"> <bf>- Netherlands</bf>.</item>
- <item><url url="http://www.pt.freebsd.org/"> <bf>- Portugal</bf>.</item>
- <item><url url="http://www.se.freebsd.org/www.freebsd.org/"> <bf>- Sweden</bf>.</item>
- <item><url url="http://www.tw.freebsd.org/freebsd.html"> <bf>- Taiwan</bf>.</item>
- </itemize>
- </sect>
diff --git a/share/doc/handbook/esdi.sgml b/share/doc/handbook/esdi.sgml
deleted file mode 100644
index a7ca386..0000000
--- a/share/doc/handbook/esdi.sgml
+++ /dev/null
@@ -1,421 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!--
- <title>An introduction to ESDI hard disks and their use with FreeBSD</title>
- <author>(c) 1995, Wilko Bulte, <tt/wilko@yedi.iaf.nl/
- <date>Tue Sep 12 20:48:44 MET DST 1995</date>
-
- Copyright 1995, Wilko C. Bulte, Arnhem, The Netherlands
-
- <abstract>
- This document describes the use of ESDI disks in combination
- with the FreeBSD operating system. Contrary to popular
- belief, this is possible and people are using ESDI based
- systems successfully! This document tries to explain you
- how to do this.
-
- If you find something missing, plain wrong or have useful
- comments on how to improve
- the document please send mail to <tt/wilko@yedi.iaf.nl/
- </abstract>
--->
-
- <sect1><heading>Using ESDI hard disks<label id="esdi"></heading>
-
- <p><em>Copyright &copy; 1995, &a.wilko;.<newline>24 September 1995.</em>
-
- ESDI is an acronym that means Enhanced Small Device Interface.
- It is loosely based on the good old ST506/412 interface originally
- devised by Seagate Technology, the makers of the first affordable
- 5.25" winchester disk.
-
- The acronym says Enhanced, and rightly so. In the first place
- the speed of the interface is higher, 10 or 15 Mbits/second
- instead of the 5 Mbits/second of ST412 interfaced drives.
- Secondly some higher level commands are added, making the ESDI
- interface somewhat 'smarter' to the operating system driver
- writers. It is by no means as smart as SCSI by the way. ESDI
- is standardized by ANSI.
-
- Capacities of the drives are boosted by putting more sectors
- on each track. Typical is 35 sectors per track, high capacity
- drives I have seen were up to 54 sectors/track.
-
- Although ESDI has been largely obsoleted by IDE and SCSI interfaces,
- the availability of free or cheap surplus drives makes them
- ideal for low (or now) budget systems.
-
- <sect2><heading>Concepts of ESDI</heading>
- <p>
- <sect3><heading>Physical connections</heading>
- <p>
- The ESDI interface uses two cables connected to each drive.
- One cable is a 34 pin flat cable edge connector that carries
- the command and status signals from the controller to the
- drive and vice-versa. The command cable is daisy chained
- between all the drives. So, it forms a bus onto which all
- drives are connected.
-
- The second cable is a 20 pin flat cable edge connector that
- carries the data to and from the drive. This cable is radially
- connected, so each drive has its own direct connection to the
- controller.
-
- To the best of my knowledge PC ESDI controllers are limited
- to using a maximum of 2 drives per controller. This is
- compatibility feature(?) left over from the WD1003 standard
- that reserves only a single bit for device addressing.
-
- <sect3><heading>Device addressing</heading>
- <p>
- On each command cable a maximum of 7 devices and 1 controller
- can be present. To enable the controller to uniquely
- identify which drive it addresses, each ESDI device is equipped
- with jumpers or switches to select the devices address.
-
- On PC type controllers the first drive is set to address 0,
- the second disk to address 1. <it>Always make sure</it> you
- set each disk to an unique address! So, on a PC with its
- two drives/controller maximum the first drive is drive 0, the
- second is drive 1.
-
- <sect3><heading>Termination</heading>
- <p>
- The daisy chained command cable (the 34 pin cable remember?)
- needs to be terminated at the last drive on the chain.
- For this purpose ESDI drives come with a termination resistor
- network that can be removed or disabled by a jumper when it
- is not used.
-
- So, one and <it>only</it> one drive, the one at
- the farthest end of the command
- cable has its terminator installed/enabled. The controller
- automatically terminates the other end of the cable.
- Please note that this implies that the controller must be
- at one end of the cable and <it>not</it> in the middle.
-
- <sect2><heading>Using ESDI disks with FreeBSD</heading>
- <p>
- Why is ESDI such a pain to get working in the first place?
-
- People who tried ESDI disks with FreeBSD are known to have
- developed a profound sense of frustration. A combination of
- factors works against you to produce effects that are
- hard to understand when you have never seen them before.
-
- This has also led to the popular legend ESDI and FreeBSD
- is a plain NO-GO.
- The following sections try to list all the pitfalls and
- solutions.
-
- <sect3><heading>ESDI speed variants</heading>
- <p>
- As briefly mentioned before, ESDI comes in two speed flavors.
- The older drives and controllers use a 10 Mbits/second
- data transfer rate. Newer stuff uses 15 Mbits/second.
-
- It is not hard to imagine that 15 Mbits/second drive cause
- problems on controllers laid out for 10 Mbits/second.
- As always, consult your controller <it>and</it> drive
- documentation to see if things match.
-
- <sect3><heading>Stay on track</heading>
- <p>
- Mainstream ESDI drives use 34 to 36 sectors per track.
- Most (older) controllers cannot handle more than this
- number of sectors.
- Newer, higher capacity, drives use higher numbers of sectors
- per track. For instance, I own a 670 Mb drive that has
- 54 sectors per track.
-
- In my case, the controller could not handle this number
- of sectors. It proved to work well except that it only
- used 35 sectors on each track. This meant losing a
- lot of disk space.
-
- Once again, check the documentation of your hardware for
- more info. Going out-of-spec like in the example might
- or might not work. Give it a try or get another more
- capable controller.
-
- <sect3><heading>Hard or soft sectoring</heading>
- <p>
- Most ESDI drives allow hard or soft sectoring to be
- selected using a jumper. Hard sectoring means that the
- drive will produce a sector pulse on the start of each
- new sector. The controller uses this pulse to tell when
- it should start to write or read.
-
- Hard sectoring allows a selection of sector size (normally
- 256, 512 or 1024 bytes per formatted sector). FreeBSD uses
- 512 byte sectors. The number of sectors per track also varies
- while still using the same number of bytes per formatted sector.
- The number of <em>unformatted</em> bytes per sector varies,
- dependent on your controller it needs more or less overhead
- bytes to work correctly. Pushing more sectors on a track
- of course gives you more usable space, but might give
- problems if your controller needs more bytes than the
- drive offers.
-
- In case of soft sectoring, the controller itself determines
- where to start/stop reading or writing. For ESDI
- hard sectoring is the default (at least on everything
- I came across). I never felt the urge to try soft sectoring.
-
- In general, experiment with sector settings before you install
- FreeBSD because you need to re-run the low-level format
- after each change.
-
- <sect3><heading>Low level formatting</heading>
- <p>
- ESDI drives need to be low level formatted before they
- are usable. A reformat is needed whenever you figgle
- with the number of sectors/track jumpers or the
- physical orientation of the drive (horizontal, vertical).
- So, first think, then format.
- The format time must not be underestimated, for big
- disks it can take hours.
-
- After a low level format, a surface scan is done to
- find and flag bad sectors. Most disks have a
- manufacturer bad block list listed on a piece of paper
- or adhesive sticker. In addition, on most disks the
- list is also written onto the disk.
- Please use the manufacturer's list. It is much easier
- to remap a defect now than after FreeBSD is installed.
-
- Stay away from low-level formatters that mark all
- sectors of a track as bad as soon as they find one
- bad sector. Not only does this waste space, it also
- and more importantly causes you grief with bad144
- (see the section on bad144).
-
- <sect3><heading>Translations</heading>
- <p>
- Translations, although not exclusively a ESDI-only problem,
- might give you real trouble.
- Translations come in multiple flavors. Most of them
- have in common that they attempt to work around the
- limitations posed upon disk geometries by the original
- IBM PC/AT design (thanks IBM!).
-
- First of all there is the (in)famous 1024 cylinder limit.
- For a system to be able to boot, the stuff (whatever
- operating system) must be in the first 1024 cylinders
- of a disk. Only 10 bits are available to encode the
- cylinder number. For the number of sectors the limit
- is 64 (0-63).
- When you combine the 1024 cylinder limit with the 16 head
- limit (also a design feature) you max out at fairly limited
- disk sizes.
-
- To work around this problem, the manufacturers of ESDI
- PC controllers added a BIOS prom extension on their boards.
- This BIOS extension handles disk I/O for booting (and for
- some operating systems <it>all</it> disk I/O) by using
- translation. For instance, a big drive might be presented
- to the system as having 32 heads and 64 sectors/track.
- The result is that the number of cylinders is reduced to
- something below 1024 and is therefore usable by the system
- without problems.
- It is noteworthy to know that FreeBSD does not use the
- BIOS after its kernel has started. More on this later.
-
- A second reason for translations is the fact that most
- older system BIOSes could only handle drives with 17 sectors
- per track (the old ST412 standard). Newer system BIOSes
- usually have a user-defined drive type (in most cases this is
- drive type 47).
-
- <em>Whatever you do to translations after reading this document,
- keep in mind that if you have multiple operating systems on the
- same disk, all must use the same translation</em>
-
- While on the subject of translations, I have seen one controller
- type (but there are probably more like this) offer the option
- to logically split a drive in multiple partitions as a BIOS
- option. I had select 1 drive == 1 partition because this
- controller wrote this info onto the disk. On power-up it
- read the info and presented itself to the system based on
- the info from the disk.
-
- <sect3><heading>Spare sectoring</heading>
- <p>
- Most ESDI controllers offer the possibility to remap bad sectors.
- During/after the low-level format of the disk bad sectors are
- marked as such, and a replacement sector is put in place
- (logically of course) of the bad one.
-
- In most cases the remapping is done by using N-1 sectors on
- each track for actual data storage, and sector N itself is
- the spare sector. N is the total number of sectors physically
- available on the track.
- The idea behind this is that the operating system sees
- a 'perfect' disk without bad sectors. In the case of
- FreeBSD this concept is not usable.
-
- The problem is that the translation from <it>bad</it> to <it>good</it>
- is performed by the BIOS of the ESDI controller. FreeBSD,
- being a true 32 bit operating system, does not use the BIOS
- after it has been booted. Instead, it has device drivers that
- talk directly to the hardware.
-
- <em>So: don't use spare sectoring, bad block remapping or
- whatever it may be called by the controller manufacturer when you
- want to use the disk for FreeBSD.</em>
-
- <sect3><heading>Bad block handling</heading>
- <p>
- The preceding section leaves us with a problem. The controller's
- bad block handling is not usable and still FreeBSD's filesystems
- assume perfect media without any flaws.
- To solve this problem, FreeBSD use the <it>bad144</it> tool.
- Bad144 (named after a Digital Equipment standard for bad block
- handling) scans a FreeBSD slice for bad blocks. Having found
- these bad blocks, it writes a table with the offending block
- numbers to the end of the FreeBSD slice.
-
- When the disk is in operation, the disk accesses are checked
- against the table read from the disk. Whenever a block number
- is requested that is in the bad144 list, a replacement block
- (also from the end of the FreeBSD slice) is used.
- In this way, the bad144 replacement scheme presents 'perfect'
- media to the FreeBSD filesystems.
-
- There are a number of potential pitfalls associated with
- the use of bad144.
- First of all, the slice cannot have more than 126 bad sectors.
- If your drive has a high number of bad sectors, you might need
- to divide it into multiple FreeBSD slices each containing less
- than 126 bad sectors. Stay away from low-level format programs
- that mark <em>every</em> sector of a track as bad when
- they find a flaw on the track. As you can imagine, the
- 126 limit is quickly reached when the low-level format is done
- this way.
-
- Second, if the slice contains the root filesystem, the slice
- should be within the 1024 cylinder BIOS limit. During the
- boot process the bad144 list is read using the BIOS and this
- only succeeds when the list is within the 1024 cylinder limit.
- <em>Note</em> that the restriction is not that only the root
- <em>filesystem</em> must be within the 1024 cylinder limit, but
- rather the entire <em>slice</em> that contains the root filesystem.
-
-
- <sect3><heading>Kernel configuration</heading>
- <p>
- ESDI disks are handled by the same <it>wd</it>driver as
- IDE and ST412 MFM disks. The <it>wd</it> driver should work
- for all WD1003 compatible interfaces.
-
- Most hardware is jumperable for one of two different I/O
- address ranges and IRQ lines. This allows you to have
- two wd type controllers in one system.
-
- When your hardware allows non-standard strappings, you
- can use these with FreeBSD as long as you enter the
- correct info into the kernel config file.
- An example from the kernel config file (they live in
- <tt>/sys/i386/conf</tt> BTW).
-
-<tscreen><verb>
-# First WD compatible controller
-controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
-disk wd0 at wdc0 drive 0
-disk wd1 at wdc0 drive 1
-
-# Second WD compatible controller
-controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
-disk wd2 at wdc1 drive 0
-disk wd3 at wdc1 drive 1
-</verb></tscreen>
-
-<!--
- <sect3><heading>Tuning your ESDI kernel setup</heading>
- <p>
--->
-
- <sect2><heading>Particulars on ESDI hardware</heading>
- <p>
- <sect3><heading>Adaptec 2320 controllers</heading>
- <p>
- I successfully installed FreeBSD onto a ESDI disk controlled by a
- ACB-2320. No other operating system was present on the disk.
-
- To do so I low level formatted the disk using NEFMT.EXE
- (<it>ftp</it>able from <it>www.adaptec.com</it>) and answered NO
- to the question whether the disk should be formatted with a
- spare sector on each track. The BIOS on the ACD-2320 was
- disabled. I used the 'free configurable' option in the system
- BIOS to allow the BIOS to boot it.
-
- Before using NEFMT.EXE I tried to format the disk using the
- ACB-2320 BIOS builtin formatter. This proved to be a show stopper,
- because it did not give me an option to disable spare sectoring.
- With spare sectoring enabled the FreeBSD installation
- process broke down on the bad144 run.
-
- Please check carefully which ACB-232xy variant you have. The
- x is either 0 or 2, indicating a controller without or with
- a floppy controller on board.
-
- The y is more interesting. It can either be a blank,
- a "A-8" or a "D". A blank indicates a plain 10 Mbits/second
- controller. An "A-8" indicates a 15 Mbits/second controller
- capable of handling 52 sectors/track.
- A "D" means a 15 Mbits/second controller that can also
- handle drives with > 36 sectors/track (also 52 ?).
-
- All variations should be capable of using 1:1 interleaving. Use 1:1,
- FreeBSD is fast enough to handle it.
-
- <sect3><heading>Western Digital WD1007 controllers</heading>
- <p>
- I successfully installed FreeBSD onto a ESDI disk controlled by a
- WD1007 controller. To be precise, it was a WD1007-WA2. Other
- variations of the WD1007 do exist.
-
- To get it to work, I had to disable the sector translation and
- the WD1007's onboard BIOS. This implied I could not use
- the low-level formatter built into this BIOS. Instead, I grabbed
- WDFMT.EXE from www.wdc.com Running this formatted my drive
- just fine.
-
- <sect3><heading>Ultrastor U14F controllers</heading>
- <p>
- According to multiple reports from the net, Ultrastor ESDI
- boards work OK with FreeBSD. I lack any further info on
- particular settings.
-
-<!--
-
- <sect2><heading>Tracking down problems</heading>
- <p>
--->
-
- <sect2><heading>Further reading<label id="esdi:further-reading"></>
- <p>
- If you intend to do some serious ESDI hacking, you might want to
- have the official standard at hand:
-
- The latest ANSI X3T10 committee document is:
- <itemize>
-<item>Enhanced Small Device Interface (ESDI) &lsqb;X3.170-1990/X3.170a-1991&rsqb;
- &lsqb;X3T10/792D Rev 11&rsqb;
- </itemize>
- On Usenet the newsgroup <htmlurl url="news:comp.periphs"
- name="comp.periphs"> is a noteworthy place to look
- for more info.
-
- The World Wide Web (WWW) also proves to be a very handy info source:
- For info on Adaptec ESDI controllers see <htmlurl
- url="http://www.adaptec.com/">.
- For info on Western Digital controllers see <htmlurl
- url="http://www.wdc.com/">.
-
- <sect2>Thanks to...
- <p>
- Andrew Gordon for sending me an Adaptec 2320 controller and ESDI disk
- for testing.
-
diff --git a/share/doc/handbook/firewalls.sgml b/share/doc/handbook/firewalls.sgml
deleted file mode 100644
index 125b8ce..0000000
--- a/share/doc/handbook/firewalls.sgml
+++ /dev/null
@@ -1,528 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect><heading>Firewalls<label id="firewalls"></heading>
-
-<p><em>Contributed by &a.gpalmer; and &a.alex;.</em>
-
-Firewalls are an area of increasing interest for people who are
-connected to the Internet, and are even finding applications on
-private networks to provide enhanced security. This section will
-hopefully explain what firewalls are, how to use them, and how to use
-the facilities provided in the FreeBSD kernel to implement them.
-
-<quote><bf>Note</bf>: People often think that having a firewall between
-your companies internal network and the ``Big Bad Internet'' will
-solve all your security problems. It may help, but a poorly setup
-firewall system is more of a security risk than not having one at all.
-A firewall can only add another layer of security to your systems, but
-they will not be able to stop a really determined hacker from
-penetrating your internal network. If you let internal security lapse
-because you believe your firewall to be impenetrable, you have just
-made the hackers job that bit easier.</quote>
-
-<sect1><heading>What is a firewall?</heading>
-
-<p>There are currently two distinct types of firewalls in common
-use on the Internet today. The first type is more properly called
-a <bf>packet filtering router</bf>, where the kernel on a
-multi-homed machine chooses whether to forward or block packets
-based on a set of rules. The second type, known as <bf>proxy
-servers</bf>, rely on daemons to provide authentication and to
-forward packets, possibly on a multi-homed machine which has
-kernel packet forwarding disabled.
-
-<p>Sometimes sites combine the two types of firewalls, so that only a
-certain machine (known as a <bf>bastion host</bf>) is allowed to send
-packets through a packet filtering router onto an internal
-network. Proxy services are run on the bastion host, which are
-generally more secure than normal authentication mechanisms.
-
-<p>FreeBSD comes with a kernel packet filter (known as <tt>IPFW</tt>),
-which is what the rest of this section will concentrate on. Proxy
-servers can be built on FreeBSD from third party software, but there
-is such a variety of proxy servers available that it would be
-impossible to cover them in this document.
-
-<sect2><heading>Packet filtering routers<label id="firewalls:packet_filters"></heading>
-
-<p>A router is a machine which forwards packets between two or more
-networks. A packet filtering router has an extra piece of code in its
-kernel, which compares each packet to a list of rules before deciding
-if it should be forwarded or not. Most modern IP routing software has
-packet filtering code in it, which defaults to forwarding all
-packets. To enable the filters, you need to define a set of rules for
-the filtering code, so that it can decide if the packet should be
-allowed to pass or not.
-
-<p>To decide if a packet should be passed on or not, the code looks
-through its set of rules for a rule which matches the contents of
-this packets headers. Once a match is found, the rule action is
-obeyed. The rule action could be to drop the packet, to forward the
-packet, or even to send an ICMP message back to the originator. Only
-the first match counts, as the rules are searched in order. Hence, the
-list of rules can be referred to as a ``rule chain''.
-
-<p>The packet matching criteria varies depending on the software used,
-but typically you can specify rules which depend on the source IP
-address of the packet, the destination IP address, the source port
-number, the destination port number (for protocols which support
-ports), or even the packet type (UDP, TCP, ICMP, etc).
-
-<sect2><heading>Proxy servers<label id="firewalls:proxy_servers"></heading>
-
-<p>Proxy servers are machines which have had the normal system daemons
-(telnetd, ftpd, etc) replaced with special servers. These servers are
-called <bf>proxy servers</bf> as they normally only allow onward
-connections to be made. This enables you to run (for example) a proxy
-telnet server on your firewall host, and people can telnet in to your
-firewall from the outside, go through some authentication mechanism,
-and then gain access to the internal network (alternatively, proxy
-servers can be used for signals coming from the internal network and
-heading out).
-
-<p>Proxy servers are normally more secure than normal servers, and
-often have a wider variety of authentication mechanisms available,
-including ``one-shot'' password systems so that even if someone
-manages to discover what password you used, they will not be able to use
-it to gain access to your systems as the password instantly
-expires. As they do not actually give users access to the host machine,
-it becomes a lot more difficult for someone to install backdoors
-around your security system.
-
-<p>Proxy servers often have ways of restricting access further, so
-that only certain hosts can gain access to the servers, and often they
-can be set up so that you can limit which users can talk to which
-destination machine. Again, what facilities are available depends
-largely on what proxy software you choose.
-
-<sect1><heading>What does IPFW allow me to do?</heading>
-
-<p><tt>IPFW</tt>, the software supplied with FreeBSD, is a packet
-filtering and accounting system which resides in the kernel, and has a
-user-land control utility, <tt>ipfw(8)</tt>. Together, they
-allow you to define and query the rules currently used by the kernel
-in its routing decisions.
-
-<p>There are two related parts to <tt>IPFW</tt>. The firewall section
-allows you to perform packet filtering. There is also an IP accounting
-section which allows you to track usage of your router, based on
-similar rules to the firewall section. This allows you to see (for
-example) how much traffic your router is getting from a certain
-machine, or how much WWW (World Wide Web) traffic it is forwarding.
-
-<p>As a result of the way that <tt>IPFW</tt> is designed, you can use
-<tt>IPFW</tt> on non-router machines to perform packet filtering on
-incoming and outgoing connections. This is a special case of the more
-general use of <tt>IPFW</tt>, and the same commands and techniques
-should be used in this situation.
-
-<sect1><heading>Enabling IPFW on FreeBSD</heading>
-
-<p>As the main part of the <tt>IPFW</tt> system lives in the kernel, you will
-need to add one or more options to your kernel configuration
-file, depending on what facilities you want, and recompile your kernel. See
-<ref id="kernelconfig" name="reconfiguring the kernel"> for more
-details on how to recompile your kernel.
-
-<p>There are currently three kernel configuration options
-relevant to IPFW:
-
-<descrip>
-<tag/options IPFIREWALL/ Compiles into the kernel the code for packet
-filtering.
-
-<tag/options IPFIREWALL_VERBOSE/ Enables code to allow logging of
-packets through <tt>syslogd(8)</tt>. Without this option, even if you
-specify that packets should be logged in the filter rules, nothing
-will happen.
-
-<tag/options IPFIREWALL_VERBOSE_LIMIT=10/ Limits the number of
-packets logged through <tt>syslogd(8)</tt> on a per entry basis.
-You may wish to use this option in hostile environments in which
-you want to log firewall activity, but do not want to be open to
-a denial of service attack via syslog flooding.
-
-<p>When a chain entry reaches the packet limit specified, logging
-is turned off for that particular entry. To resume logging, you
-will need to reset the associated counter using the <tt>ipfw(8)</tt>
-utility:
-
-<tscreen><verb>
-ipfw zero 4500
-</verb></tscreen>
-
-Where 4500 is the chain entry you wish to continue logging.
-
-</descrip>
-
-Previous versions of FreeBSD contained an <tt>IPFIREWALL_ACCT</tt>
-option. This is now obsolete as the firewall code automatically
-includes accounting facilities.
-
-<sect1><heading>Configuring IPFW</heading>
-
-<p>The configuration of the <tt>IPFW</tt> software is done through the
-<tt>ipfw(8)</tt> utility. The syntax for this command looks
-quite complicated, but it is relatively simple once you understand
-its structure.
-
-<p>There are currently four different command categories used by the
-utility: addition/deletion, listing, flushing, and clearing.
-Addition/deletion is used to build the rules that control how packets
-are accepted, rejected, and logged. Listing is used to examine the
-contents of your rule set (otherwise known as the chain) and packet
-counters (accounting). Flushing is used to remove all entries from
-the chain. Clearing is used to zero out one or more accounting
-entries.
-
-<sect2><heading>Altering the IPFW rules</heading>
-
-<p>The syntax for this form of the command is:
-<tscreen>
-ipfw &lsqb;-N&rsqb; <em>command</em> &lsqb;<em>index</em>&rsqb;
-<em>action</em> &lsqb;log&rsqb; <em>protocol</em> <em>addresses</em>
-&lsqb;<em>options</em>&rsqb;
-</tscreen>
-
-<p>There is one valid flag when using this form of the command:
-
-<descrip>
-<tag/-N/Resolve addresses and service names in output.
-</descrip>
-
-The <em>command</em> given can be shortened to the shortest unique
-form. The valid <em>commands</em> are:
-
-<descrip>
-
-<tag/add/Add an entry to the firewall/accounting rule list
-
-<tag/delete/Delete an entry from the firewall/accounting rule list
-
-</descrip>
-
-Previous versions of <tt>IPFW</tt> used separate firewall and
-accounting entries. The present version provides packet accounting
-with each firewall entry.
-
-<p>If an <tt>index</tt> value is supplied, it used to place the entry
-at a specific point in the chain. Otherwise, the entry is placed at
-the end of the chain at an index 100 greater than the last chain
-entry (this does not include the default policy, rule 65535, deny).
-
-<p>The <bf>log</bf> option causes matching rules to be output to the
-system console if the kernel was compiled with <bf>IPFIREWALL_VERBOSE</bf>.
-
-<p>Valid <em>actions</em> are:
-
-<descrip>
-
-<tag/reject/Drop the packet, and send an ICMP host or port
-unreachable (as appropriate) packet to the source.
-
-<tag/allow/Pass the packet on as normal. (aliases: <bf>pass</bf> and
-<bf>accept</bf>)
-
-<tag/deny/Drop the packet. The source is not notified via an ICMP
-message (thus it appears that the packet never arrived at the
-destination).
-
-<tag/count/Update packet counters but do not allow/deny the packet
-based on this rule. The search continues with the next chain entry.
-
-</descrip>
-
-<p>Each <em>action</em> will be recognized by the shortest unambiguous
-prefix.
-
-The <em>protocols</em> which can be specified are:
-
-<descrip>
-
-<tag/all/Matches any IP packet
-
-<tag/icmp/Matches ICMP packets
-
-<tag/tcp/Matches TCP packets
-
-<tag/udp/Matches UDP packets
-
-</descrip>
-
-<p>The <em>address</em> specification is:
-<tscreen>
-<bf>from</bf> &lt;<em>address/mask</em>&gt;&lsqb;<em>port</em>&rsqb; <bf>to</bf>
- &lt;<em>address/mask</em>&gt;&lsqb;<em>port</em>&rsqb &lsqb;<bf>via</bf> &lt;<em>interface</em>&gt;&rsqb;
-</tscreen>
-
-<p>You can only specify <em>port</em> in conjunction with
-<em>protocols</em> which support ports (UDP and TCP).
-
-<p>The <bf>via</bf> is optional and may specify the IP address or
-domain name of a local IP interface, or an interface name (e.g.
-<tt>ed0</tt>) to match only packets coming through this interface.
-Interface unit numbers can be specified with an optional wildcard.
-For example, <tt>ppp*</tt> would match all kernel PPP interfaces.
-
-<p>The syntax used to specify an <tt>&lt;address/mask&gt;</tt> is:
-<tscreen>
-&lt;address&gt;
-</tscreen>
-or
-<tscreen>
-&lt;address&gt;/mask-bits
-</tscreen>
-or
-<tscreen>
-&lt;address&gt;:mask-pattern
-</tscreen>
-
-<p>A valid hostname may be specified in place of the IP
-address. <tt>mask-bits</tt> is a decimal number representing how many
-bits in the address mask should be set. e.g. specifying
-<tscreen>
-192.216.222.1/24
-</tscreen>
-will create a mask which will allow any address in a class C subnet
-(in this case, 192.216.222) to be matched. <tt>mask-pattern</tt> is an IP
-address which will be logically AND'ed with the address given. The
-keyword <tt>any</tt> may be used to specify ``any IP address''.
-<p>The port numbers to be blocked are specified as:
-<tscreen>
-port&lsqb;,port&lsqb;,port&lsqb;...&rsqb;&rsqb;&rsqb;
-</tscreen>
-to specify either a single port or a list of ports, or
-<tscreen><verb>
-port-port
-</verb></tscreen>
-to specify a range of ports. You may also combine a single range with a
-list, but the range must always be specified first.
-
-<p>The <em>options</em> available are:
-
-<descrip>
-
-<tag/frag/Matches if the packet is not the first fragment of the datagram.
-
-<tag/in/Matches if the packet is on the way in.
-
-<tag/out/Matches if the packet is on the way out.
-
-<tag/ipoptions <em>spec</em>/Matches if the IP header contains the
-comma separated list of options specified in <em>spec</em>. The
-supported list of IP options are: <bf>ssrr</bf> (strict source route),
-<bf>lsrr</bf> (loose source route), <bf>rr</bf> (record packet route),
-and <bf>ts</bf> (timestamp). The absence of a particular option may
-be denoted with a leading '!'.
-
-<tag/established/Matches if the packet is part of an already established
-TCP connection (i.e. it has the RST or ACK bits set). You can optimize
-the performance of the firewall by placing <em>established</em> rules
-early in the chain.
-
-<tag/setup/Matches if the packet is an attempt to establish a TCP connection
-(the SYN bit set is set but the ACK bit is not).
-
-<tag/tcpflags <em>flags</em>/Matches if the TCP header contains
-the comma separated list of <em>flags</em>. The supported flags
-are <bf>fin</bf>, <bf>syn</bf>, <bf>rst</bf>, <bf>psh</bf>, <bf>ack</bf>,
-and <bf>urg</bf>. The absence of a particular flag may be indicated
-by a leading '!'.
-
-<tag/icmptypes <em>types</em>/Matches if the ICMP type is present in
-the list <em>types</em>. The list may be specified as any combination
-of ranges and/or individual types separated by commas. Commonly used
-ICMP types are: <bf>0</bf> echo reply (ping reply), <bf>5</bf>
-redirect, <bf>8</bf> echo request (ping request), and <bf>11</bf>
-time exceeded (used to indicate TTL expiration as with
-<tt>traceroute(8)</tt>).
-
-</descrip>
-
-<sect2><heading>Listing the IPFW rules</heading>
-
-<p>The syntax for this form of the command is:
-<tscreen>
-ipfw &lsqb;-atN&rsqb; l
-</tscreen>
-
-<p>There are three valid flags when using this form of the command:
-
-<descrip>
-
-<tag/-a/While listing, show counter values. This option is the only
-way to see accounting counters.
-
-<tag/-t/Display the last match times for each chain entry. The time
-listing is incompatible with the input syntax used by the
-<tt>ipfw(8)</tt> utility.
-
-<tag/-N/Attempt to resolve given addresses and service names.
-
-</descrip>
-
-<sect2><heading>Flushing the IPFW rules</heading>
-
-<p>The syntax for flushing the chain is:
-<tscreen>
-ipfw flush
-</tscreen>
-
-<p>This causes all entries in the firewall chain to be removed except
-the fixed default policy enforced by the kernel (index 65535). Use
-caution when flushing rules, the default deny policy will leave your
-system cut off from the network until allow entries are added to the
-chain.
-
-<sect2><heading>Clearing the IPFW packet counters</heading>
-
-<p>The syntax for clearing one or more packet counters is:
-<tscreen>
-ipfw zero &lsqb;index&rsqb;
-</tscreen>
-
-<p>When used without an <em>index</em> argument, all packet counters
-are cleared. If an <em>index</em> is supplied, the clearing operation
-only affects a specific chain entry.
-
-<sect1><heading>Example commands for ipfw</heading>
-
-<p>This command will deny all packets from the host
-<bf>evil.hacker.org</bf> to the telnet port of the host
-<bf>nice.people.org</bf> by being forwarded by the router:
-
-<tscreen><verb>
-ipfw add deny tcp from evil.hacker.org to nice.people.org 23
-</verb></tscreen>
-
-<p>The next example denies and logs any TCP traffic from the entire
-<bf>hacker.org</bf> network (a class C) to the <bf>nice.people.org</bf>
-machine (any port).
-
-<tscreen><verb>
-ipfw add deny log tcp from evil.hacker.org/24 to nice.people.org
-</verb></tscreen>
-
-If you do not want people sending X sessions to your internal network
-(a subnet of a class C), the following command will do the necessary
-filtering:
-
-<tscreen><verb>
-ipfw add deny from any to my.org/28 6000 setup
-</verb></tscreen>
-
-To allow access to the SUP server on <bf>sup.FreeBSD.ORG</bf>, use the
-following command:
-
-<tscreen><verb>
-ipfw add accept from any to sup.FreeBSD.ORG 871
-</verb></tscreen>
-
-To see the accounting records:
-<tscreen><verb>
-ipfw -a list
-</verb></tscreen>
-or in the short form
-<tscreen><verb>
-ipfw -a l
-</verb></tscreen>
-You can also see the last time a chain entry was matched with
-<tscreen><verb>
-ipfw -at l
-</verb></tscreen>
-
-<sect1><heading>Building a packet filtering firewall</heading>
-
-<p><quote><bf>Note:</bf> The following suggestions are just that:
-suggestions. The requirements of each firewall are different and I
-cannot tell you how to build a firewall to meet your particular
-requirements.</quote>
-
-<p>When initially setting up your firewall, unless you have a test
-bench setup where you can configure your firewall host in a controlled
-environment, I strongly recommend you use the logging version of the
-commands and enable logging in the kernel. This will allow you to
-quickly identify problem areas and cure them without too much
-disruption. Even after the initial setup phase is complete, I
-recommend using the logging for of `deny' as it allows tracing of
-possible attacks and also modification of the firewall rules if your
-requirements alter.
-
-<quote><bf>Note:</BF> If you use the logging versions of the
-<bf>accept</bf> command, it can generate <em>large</em> amounts
-of log data as one log line will be generated for every packet
-that passes through the firewall, so large ftp/http transfers,
-etc, will really slow the system down. It also increases the
-latencies on those packets as it requires more work to be done by
-the kernel before the packet can be passed on. syslogd with also
-start using up a lot more processor time as it logs all the extra
-data to disk, and it could quite easily fill the partition
-<tt>/var/log</tt> is located on.</quote>
-
-<p>As currently supplied, FreeBSD does not have the ability to
-load firewall rules at boot time. My suggestion is to put a call
-to a shell script in the <tt>/etc/netstart</tt> script. Put the
-call early enough in the netstart file so that the firewall is
-configured before any of the IP interfaces are configured. This
-means that there is no window during which time your network is
-open.
-
-<p>The actual script used to load the rules is entirely up to
-you. There is currently no support in the <tt>ipfw</tt> utility for
-loading multiple rules in the one command. The system I use is to use
-the command:
-
-<tscreen><verb>
-# ipfw list
-</verb></tscreen>
-
-to write a list of the current rules out to a file, and then use a
-text editor to prepend ``<tt>ipfw </tt>'' before all the lines. This
-will allow the script to be fed into /bin/sh and reload the rules into
-the kernel. Perhaps not the most efficient way, but it works.
-
-<p>The next problem is what your firewall should actually <bf>DO</bf>!
-This is largely dependent on what access to your network you want to
-allow from the outside, and how much access to the outside world you
-want to allow from the inside. Some general rules are:
-
-<itemize>
-
- <item>Block all incoming access to ports below 1024 for TCP. This is
-where most of the security sensitive services are, like finger, SMTP
-(mail) and telnet.
-
- <item>Block <bf>all</bf> incoming UDP traffic. There are very few
-useful services that travel over UDP, and what useful traffic there is
-is normally a security threat (e.g. Suns RPC and NFS protocols). This
-has its disadvantages also, since UDP is a connectionless protocol,
-denying incoming UDP traffic also blocks the replies to outgoing UDP
-traffic. This can cause a problem for people (on the inside)
-using external archie (prospero) servers. If you want to allow access
-to archie, you'll have to allow packets coming from ports 191 and 1525
-to any internal UDP port through the firewall. ntp is another service
-you may consider allowing through, which comes from port 123.
-
- <item>Block traffic to port 6000 from the outside. Port 6000 is the
-port used for access to X11 servers, and can be a security threat
-(especially if people are in the habit of doing <tt>xhost +</tt> on
-their workstations). X11 can actually use a range of ports starting at
-6000, the upper limit being how many X displays you can run on the
-machine. The upper limit as defined by RFC 1700 (Assigned Numbers) is
-6063.
-
- <item>Check what ports any internal servers use (e.g. SQL servers,
-etc). It is probably a good idea to block those as well, as they
-normally fall outside the 1-1024 range specified above.
-
-</itemize>
-
-<p>Another checklist for firewall configuration is available from CERT
-at <htmlurl url="ftp://ftp.cert.org/pub/tech&lowbar;tips/packet&lowbar;filtering"
-name="ftp://ftp.cert.org/pub/tech&lowbar;tips/packet&lowbar;filtering">
-
-<p>As I said above, these are only <em>guidelines</em>. You will have
-to decide what filter rules you want to use on your firewall
-yourself. I cannot accept ANY responsibility if someone breaks into
-your network, even if you follow the advice given above.
diff --git a/share/doc/handbook/glossary.sgml b/share/doc/handbook/glossary.sgml
deleted file mode 100644
index 80c38e1..0000000
--- a/share/doc/handbook/glossary.sgml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<chapt><heading>* Glossary<label id="glossary"></heading>
-
diff --git a/share/doc/handbook/goals.sgml b/share/doc/handbook/goals.sgml
deleted file mode 100644
index 6469469..0000000
--- a/share/doc/handbook/goals.sgml
+++ /dev/null
@@ -1,25 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect><heading>FreeBSD Project goals<label id="goals"></heading>
-
-<p><em>Contributed by &a.jkh;</em>.
-
-<p>The goals of the FreeBSD Project are to provide software that may
-be used for any purpose and without strings attached. Many of us
-have a significant investment in the code (and project) and would
-certainly not mind a little financial renumeration now and then,
-but we're definitely not prepared to insist on it. We believe
-that our first and foremost "mission" is to provide code to any
-and all comers, and for whatever purpose, so that the code gets
-the widest possible use and provides the widest possible benefit.
-This is, I believe, one of the most fundamental goals of Free
-Software and one that we enthusiastically support.
-
-<p>That code in our source tree which falls under the GNU Public License
-(GPL) or GNU Library Public License (GLPL) comes with slightly more
-strings attached, though at least on the side of enforced
-access rather than the usual opposite. Due to the additional
-complexities that can evolve in the commercial use of GPL software,
-we do, however, endeavor to replace such software with submissions
-under the more relaxed BSD copyright whenever possible.
diff --git a/share/doc/handbook/handbook.sgml b/share/doc/handbook/handbook.sgml
deleted file mode 100644
index b06a473..0000000
--- a/share/doc/handbook/handbook.sgml
+++ /dev/null
@@ -1,181 +0,0 @@
-<!-- $Id: handbook.sgml,v 1.75 1997/05/09 06:19:03 max Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
-
-<!-- Conditional flags for this version of the document -->
-<!ENTITY % boothelp.only "IGNORE">
-<!ENTITY % handbook.only "INCLUDE">
-
-<!-- Entity shorthand for authors' names and email addresses -->
-<!ENTITY % authors SYSTEM "authors.sgml">
-%authors;
-
-<!-- Entity shorthand for mailing list email addresses -->
-<!ENTITY % lists SYSTEM "lists.sgml">
-%lists;
-
-<!-- Entity definitions for all the parts -->
-<!ENTITY % sections SYSTEM "sections.sgml">
-%sections;
-
-<!-- The currently released version of FreeBSD -->
-<!ENTITY rel.current CDATA "2.2.2">
-
-]>
-
-<linuxdoc>
- <book>
-
- <title>FreeBSD Handbook</title>
- <author>
- <name>The FreeBSD Documentation Project</name>
- </author>
- <date>May 1997</date>
-
-<abstract>Welcome to FreeBSD! This handbook covers the
-installation and day to day use of <bf>FreeBSD Release
-&rel.current;</bf>.
-
-This manual is a <bf>work in progress</bf> and is the
-work of many individuals. Many sections do not yet exist
-and some of those that do exist need to be updated. If
-you are interested in helping with this project, send
-email to the &a.doc; The latest version of this
-document is always available from
-the <url url="http://www.FreeBSD.ORG/" name="FreeBSD World Wide
-Web server">. It may also be downloaded in plain text, postscript
-or HTML from the <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/docs"
-name="FreeBSD FTP server"> or one of the numerous
-<ref id="mirrors-ftp" name="mirror sites">. You may also want to
-<url url="/search.html" name="Search the Handbook">.
-
-</abstract>
- <toc>
-
-<!-- ************************************************************ -->
-
- <part><heading>Getting Started</heading>
-
- <chapt><heading>Introduction</heading>
- <p>FreeBSD is a 4.4BSD-Lite based operating system for Intel
- architecture (x86) based PCs. For an overview of FreeBSD, see
- <ref id="nutshell" name="FreeBSD in a nutshell">. For a
- history of the project, read <ref id="history"
- name="a brief history of FreeBSD">. To see a description of the
- latest release, read <ref id="relnotes"
- name="about the current release">. If you're interested
- in contributing something to the FreeBSD project (code, equipment,
- sacks of unmarked bills), please see about <ref id="submitters"
- name="contributing to FreeBSD">.
-
- &nutshell;
- &history;
- &goals;
- &development;
- &relnotes;
-
- &install;
- &basics;
-
- &ports;
-
-<!-- ************************************************************ -->
-
- <part><heading>System Administration</heading>
-
- &kernelconfig;
- <chapt><heading>Security</heading>
- &crypt;
- &skey;
- &kerberos;
- &firewalls;
-
- &printing;
-
- &quotas;
- <chapt><heading>The X Window System</heading>
- <p>Pending the completion of this section, please refer to
- documentation supplied by the <url url="http://www.xfree86.org/"
- name="The XFree86 Project, Inc">.
-
- &hw;
-
- <chapt><heading>Localization<label id="l10n"></heading>
- &russian;
-
-<!-- ************************************************************ -->
-
- <part><heading>Network Communications</heading>
-
- <chapt><heading>Serial Communications</heading>
- &serial;
- &term;
- &dialup;
- &dialout;
-
- <chapt><heading>PPP and SLIP</heading>
-
- <p>If your connection to the Internet is through a modem, or
- you wish to provide other people with dialup connections to
- the Internet using FreeBSD, you have the option of using PPP
- or SLIP. Furthermore, two varieties of PPP are provided:
- <em>user</em> (sometimes referred to as iijppp) and
- <em>kernel</em>. The procedures for configuring both types
- of PPP, and for setting up SLIP are described in this
- chapter.
-
- &userppp;
- &ppp;
- &slipc;
- &slips;
-
- <chapt><heading>Advanced networking</heading>
- &routing;
- &nfs;
- &diskless;
- &isdn;
-
- &mail;
-
-<!-- ************************************************************ -->
-
- <part><heading>Advanced topics</heading>
- <chapt><heading>The Cutting Edge: FreeBSD-current and FreeBSD-stable</heading>
- <p>FreeBSD is under constant development between releases. For
- people who want to be on the cutting edge, there are several
- easy mechanisms for keeping your system in sync with the latest
- developments. Be warned: the cutting edge is not for everyone!
- This chapter will help you decide if you want to track the development
- system, or stick with one of the released versions.</p>
-
- &current;
- &stable;
- &synching;
- </chapt>
-
- &submitters;
- &policies;
- &kernelopts;
- &kerneldebug;
- &linuxemu;
- <chapt><heading>FreeBSD internals</heading>
- &booting;
- &memoryuse;
- &dma;
-
-
-<!-- ************************************************************ -->
-
- <part><heading>Appendices</heading>
-
- &mirrors;
- &bibliography;
- &eresources;
- &contrib;
- &pgpkeys;
-
-<!-- &glossary; -->
-
- </book>
-</linuxdoc>
diff --git a/share/doc/handbook/history.sgml b/share/doc/handbook/history.sgml
deleted file mode 100644
index f7f9279..0000000
--- a/share/doc/handbook/history.sgml
+++ /dev/null
@@ -1,91 +0,0 @@
-<!-- $Id: history.sgml,v 1.21 1997/02/22 12:58:35 peter Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect><heading>A brief history of FreeBSD<label id="history"></heading>
-
-<p><em>Contributed by &a.jkh;</em>.
-
-The FreeBSD project had its genesis in the early part of 1993,
-partially as an outgrowth of the "Unofficial 386BSD Patchkit" by the
-patchkit's last 3 coordinators: Nate Williams, Rod Grimes and myself.
-
-Our original goal was to produce an intermediate snapshot of 386BSD in
-order to fix a number of problems with it that the patchkit mechanism
-just was not capable of solving. Some of you may remember the early
-working title for the project being "386BSD 0.5" or "386BSD Interim"
-in reference to that fact.
-
-386BSD was Bill Jolitz's operating system, which had been up to that
-point suffering rather severely from almost a year's worth of neglect.
-As the patchkit swelled ever more uncomfortably with each passing day,
-we were in unanimous agreement that something had to be done and
-decided to try and assist Bill by providing this interim "cleanup"
-snapshot. Those plans came to a rude halt when Bill Jolitz suddenly
-decided to withdraw his sanction from the project and without any
-clear indication of what would be done instead.
-
-It did not take us long to decide that the goal remained worthwhile,
-even without Bill's support, and so we adopted the name "FreeBSD",
-coined by David Greenman. Our initial objectives were set after
-consulting with the system's current users and, once it became clear
-that the project was on the road to perhaps even becoming a reality,
-I contacted Walnut Creek CDROM with an eye towards improving
-FreeBSD's distribution channels for those many unfortunates without
-easy access to the Internet. Walnut Creek CDROM not only supported
-the idea of distributing FreeBSD on CD but went so far as to provide
-the project with a machine to work on and a fast Internet connection.
-Without Walnut Creek CDROM's almost unprecedented degree of faith in
-what was, at the time, a completely unknown project, it is quite
-unlikely that FreeBSD would have gotten as far, as fast, as it
-has today.
-
-The first CDROM (and general net-wide) distribution was FreeBSD 1.0,
-released in December of 1993. This was based on the 4.3BSD-Lite
-("Net/2") tape from U.C. Berkeley, with many components also provided by
-386BSD and the Free Software Foundation. It was a fairly reasonable
-success for a first offering, and we followed it with the highly successful
-FreeBSD 1.1 release in May of 1994.
-
-Around this time, some rather unexpected storm clouds formed on the
-horizon as Novell and U.C. Berkeley settled their long-running lawsuit
-over the legal status of the Berkeley Net/2 tape. A condition of that
-settlement was U.C. Berkeley's concession that large parts of Net/2
-were "encumbered" code and the property of Novell, who had in turn acquired
-it from AT&amp;T some time previously. What Berkeley got in return was
-Novell's "blessing" that the 4.4BSD-Lite release, when it was finally
-released, would be declared unencumbered and all existing Net/2 users
-would be strongly encouraged to switch. This included FreeBSD, and the
-project was given until the end of July 1994 to stop shipping its own
-Net/2 based product. Under the terms of that agreement, the project
-was allowed one last release before the deadline, that release being
-FreeBSD 1.1.5.1.
-
-FreeBSD then set about the arduous task of literally re-inventing itself
-from a completely new and rather incomplete set of 4.4BSD-Lite bits. The
-"Lite" releases were light in part because Berkeley's CSRG had removed
-large chunks of code required for actually constructing a bootable running
-system (due to various legal requirements) and the fact that the Intel
-port of 4.4 was highly incomplete. It took the project until December of 1994
-to make this transition, and in January of 1995 it released FreeBSD 2.0 to
-the net and on CDROM. Despite being still more than a little rough around
-the edges, the release was a significant success and was followed by the more
-robust and easier to install FreeBSD 2.0.5 release in June of 1995.
-
-<em>Where to from here?</em>
-
-We released FreeBSD 2.1.5 in August of 1996, and it appeared to be
-popular enough among the ISP and commercial communities that another
-release along the 2.1-stable branch was merited. This was FreeBSD 2.1.7.1,
-released in February 1997 and capping the end of mainstream development
-on 2.1-stable. Now in maintenance mode, only security enhancements and other
-critical bug fixes will be done on this branch (RELENG_2_1_0).
-
-FreeBSD 2.2 was branched from the development mainline ("-current") in
-November 1996 as the RELENG_2_2 branch, and the first full release
-(2.2.1) was released in April, 1997. Further releases along the 2.2 branch
-are planned throughout the Summer and Fall of '97 and into early
-Winter, at which point the first 3.0 release will appear.
-
-Long term development projects for everything from SMP to DEC ALPHA support
-will continue to take place in the 3.0-current branch and SNAPshot releases
-of 3.0 on CDROM (and, of course, on the net) will begin to appear in May, 1997.
diff --git a/share/doc/handbook/hw.sgml b/share/doc/handbook/hw.sgml
deleted file mode 100644
index fafad0b..0000000
--- a/share/doc/handbook/hw.sgml
+++ /dev/null
@@ -1,1486 +0,0 @@
-<!-- $Id: hw.sgml,v 1.65 1997/03/21 01:36:18 obrien Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!--
-<!DOCTYPE chapt PUBLIC "-//FreeBSD//DTD linuxdoc//EN"> -->
-
-<chapt><heading>PC Hardware compatibility<label id="hw"></heading>
-
- <p>Issues of hardware compatibility are among the most
- troublesome in the computer industry today and FreeBSD is by
- no means immune to trouble. In this respect, FreeBSD's
- advantage of being able to run on inexpensive commodity PC
- hardware is also its liability when it comes to support for
- the amazing variety of components on the market. While it
- would be impossible to provide a exhaustive listing of
- hardware that FreeBSD supports, this section serves as a
- catalog of the device drivers included with FreeBSD and the
- hardware each drivers supports. Where possible and
- appropriate, notes about specific products are included.
-
- As FreeBSD is a volunteer project without a funded testing
- department, we depend on you, the user, for much of the
- information contained in this catalog. If you have direct
- experience of hardware that does or does not work with
- FreeBSD, please let us know by sending e-mail to the &a.doc;.
- Questions about supported hardware
- should be directed to the &a.questions (see
- <ref id="eresources:mail" name="Mailing Lists"> for more
- information). When submitting information or asking a
- question, please remember to specify exactly what version of
- FreeBSD you are using and include as many details of your
- hardware as possible.
-
-<sect><heading>Resources on the Internet</heading>
-<p>The following links have proven useful in selecting hardware.
-Though some of what you see won't necessarily be specific (or even
-applicable) to FreeBSD, most of the hardware information out there
-is OS independent. Please check with the FreeBSD hardware guide
-to make sure that your chosen configuration is supported before
-making any purchases.</p>
-
- <p>
- <itemize>
- <item><htmlurl url="http://sysdoc.pair.com/"
- name="The Pentium Systems Hardware Performance Guide"></item>
- </itemize>
-
-<sect><heading>Sample Configurations<label id="hw:configs"></heading>
-<p>The following list of sample hardware configurations by no means
-constitutes an endorsement of a given hardware vendor or product by
-<em>The FreeBSD Project</em>. This information is provided only as a public
-service and merely catalogs some of the experiences that various individuals
-have had with different hardware combinations. Your mileage may vary.
-Slippery when wet. Beware of dog.
-
- <sect1><heading>Jordan's Picks</heading>
- <p>I have had fairly good luck building workstation and server
- configurations with the following components. I can't guarantee that
- you will too, nor that any of the companies here will remain "best buys"
- forever. I will try, when I can, to keep this list up-to-date but
- cannot obviously guarantee that it will be at any given time.
-
- <sect2><heading>Motherboards<label id="hw:mb"></heading>
- <p>The <htmlurl url="http://asustek.asus.com.tw/" name="ASUS">
- <htmlurl url="http://asustek.asus.com.tw/FTP/ASUS/Info/Spec/pi-p55tp4.txt"
- name="P55T2P4">
- motherboard appears to be a good choice for mid-to-high range Pentium
- server and workstation systems. You might also wish to investigate ASUS's
- <htmlurl url="http://asustek.asus.com.tw/FTP/ASUS/Info/Spec/pvi-486sp3.txt"
- name="486SP3G"> offering if it's a 486-class motherboard you're looking
- for (Note: These have become increasingly hard to get as ASUS apparently
- no longer manufactures them).
-
- Those wishing to build more fault-tolerant systems should also be sure to
- use Parity memory or, for truly 24/7 applications, ECC memory. Note
- that ECC memory does involve a slight performance trade-off (which may
- or may not be noticable depending on your application) but buys you
- significantly increased fault-tolerance to memory errors.
-
- <p>At the higher end, the Intel/Venus Pro (<ref id="hw:mb:pci"
- name="VS440FX">) motherboard appears to work very well with FreeBSD,
- as does its accompanying 200Mhz P6 (Pentium Pro) CPU. Recent price
- drops have dropped P6 systems into a very affordable price bracket,
- at least in the United States, and for serious server applications you
- may wish to look no further than the Pentium Pro. My personal
- `make world' times dropped from 3 hours and 40 minutes with a P5/166
- to 1 hour and 22 minutes when I upgraded to a P6/200 machine - not
- a fair comparison, to be sure, but just to note that in terms of
- increased productivity, the P6/200 has definitely been worth the upgrade
- for me.
-
- NOTE: The Intel motherboards are designed to a different form-factor
- and hence require <em>an entirely different PC case</em>, the so-called
- "ATX" case design. Consider this fact carefully if you're thinking of
- upgrading an existing system - all the commonly available ATX cases
- I've seen so far have been in the "midi-tower" class, with limited space
- for drives or other internal peripherals available. On the plus side,
- most ATX cases appear to be of much higher quality than their typical PC
- counterparts.
-
- The only known interoperability problem with the
- <ref id="hw:mb:pci" name="VS440FX"> chipset (also known as ``Natoma'')
- is that the Matrox Meteor frame-grabber board will lock up your system
- if used in one of these motherboards. Matrox blames Intel, Intel
- blames Matrox, all we know is that it definitely doesn't work. That is
- the only card I've had any troubles with in my P6 system and the card
- works just fine in my older Triton chipset based motherboard.
-
- <sect2><heading>Disk Controllers</heading>
- <p>This one is a bit trickier, and while I used to recommend the
- <htmlurl url="http://www.buslogic.com" name="Buslogic"> controllers
- unilaterally for everything from ISA to PCI, now I tend to lean
- towards the <htmlurl url="http://www.adaptec.com" name="Adaptec">
- 1542CF for ISA, Buslogic Bt747c for EISA and Adaptec 2940 for PCI.
-
- The NCR/Symbios cards for PCI have also worked well for me, though
- you need to make sure that your motherboard supports the BIOS-less
- model if you're using one of those (if your card has nothing which
- looks even vaguely like a ROM chip on it, you've probably got one
- which expects its BIOS to be on your motherboard).
-
- <p>If you should find that you need more than one SCSI controller in a
- PCI machine, you may wish to consider conserving your scarce PCI
- bus resources by buying the Adaptec 3940 card, which puts two SCSI
- controllers (and internal busses) in a single slot.
-
- <sect2><heading>Disk drives<label id="hw:disks"></heading>
- <p>In this particular game of Russian roulette, I'll make few specific
- recommendations except to say "SCSI over IDE whenever you can afford it."
- Even in small desktop configurations, SCSI often makes more sense since it
- allows you to easily migrate drives from server to desktop as falling drive
- prices make it economical to do so. If you have more than one machine
- to administer then think of it not simply as storage, think of it as a
- food chain!
-
- <p>I do not currently see SCSI WIDE drives as a necessary expense unless
- you're putting together an NFS or NEWS server that will be doing a lot
- of multiuser disk I/O.
-
- <sect2><heading>CDROM drives<label id="hw:cdrom"></heading>
- <p>My SCSI preferences extend to SCSI CDROM drives as well, and while
- the <htmlurl url="http://www.toshiba.com" name="Toshiba"> XM-3501B (also
- released in a caddy-less model called the XM-5401B) drive has always
- performed well for me, I'm now a great fan of the <htmlurl
- url="http://www.plextor.com" name="Plextor"> PX-12CS drive. It's
- a 12 speed drive with excellent performance and reliability.
-
- <p>Generally speaking, most SCSI CDROM drives I've seen have been of
- pretty solid construction and you probably won't go wrong with an HP or
- NEC SCSI CDROM drive either. SCSI CDROM prices also appear to have
- dropped considerably in the last few months and are now quite competitive
- with IDE CDROMs while remaining a technically superior solution. I now see
- no reason whatsoever to settle for an IDE CDROM drive if given a choice
- between the two.
-
-
- <sect2><heading>CD Recordable (WORM) drives<label id="hw:worm"></heading>
- <p>At the time of this writing, FreeBSD supports 3 types of CDR drives
- (though I believe they all ultimately come from Phillips anyway):
- The Phillips CDD 522 (Acts like a Plasmon), the PLASMON RF4100 and
- the HP 4020i. I myself use the HP 4020i for burning CDROMs (with
- 2.2-current - it does not work with 2.1.5 or earlier releases of the
- SCSI code) and it works very well. See <htmlurl
- url="file:/usr/share/examples/worm" name="/usr/share/examples/worm">
- on your 2.2 system for example scripts used to created ISO9660
- filesystem images (with RockRidge extensions) and burn them onto an
- HP4020i CDR.
-
- <sect2><heading>Tape drives<label id="hw:tape"></heading>
- <p>I've had pretty good luck with both
- <htmlurl url="http://www.Exabyte.COM:80/Products/8mm/8505XL/Rfeatures.html"
- name="8mm drives"> from <htmlurl url="http://www.exabyte.com"
- name="Exabyte"> and
- <htmlurl url="http://www-dmo.external.hp.com:80/tape/_cpb0001.htm"
- name="4mm (DAT)"> drives from <htmlurl url="http://www.hp.com" name="HP">.
-
- <p>For backup purposes, I'd have to give the higher recommendation to the
- Exabyte due to the more robust nature (and higher storage capacity) of
- 8mm tape.
-
- <sect2><heading>Video Cards<label id="hw:video"></heading>
- <p>If you can also afford to buy a commercial X server for US&dollar;99
- from <htmlurl url="http://www.xig.com/"
- name="Xi Graphics, Inc. (formerly X Inside, Inc)"> then I can heartily
- recommend the <htmlurl url="http://www.matrox.com/" name="Matrox">
- <htmlurl url="http://www.matrox.com/mgaweb/brochure.htm"
- name="Millenium"> card. Note that support for this card is also
- getting better with the <htmlurl url="http://www.xfree86.org"
- name="XFree86"> server, which is available free of charge, though it's
- still a fair bit slower than the XiG product at this time. I'm told that
- support is also a fair bit better in the 3.2A release of XFree86, but
- it's not yet available for general release.
-
- You also certainly can't go wrong with one of
- <htmlurl url="http://www.nine.com/" name="Number 9's"> cards -
- their S3 Vision 868 and 968 based cards (the 9FX series) also being
- quite fast and very well supported by XFree86's S3 server.
-
- <sect2><heading>Monitors<label id="hw:monitors"></heading>
- <p>I have had very good luck with the <htmlurl url="http://cons3.sel.sony.com/SEL/ccpg/display/ms17se2.html"
- name="Sony Multiscan 17SE monitors">, as have I with
- the Viewsonic offering in the same (trinitron) tube. For larger than
- 17", all I can recommend at the time of this writing is to not spend
- any less than U.S. &dollar;2,500 for a 21" monitor if that's what you really
- need. There are good monitors available in the >=20" range and there
- are also cheap monitors in the >=20" range. Unfortunately, very few are
- both cheap and good!
-
- <sect2><heading>Networking<label id="hw:networking"></heading>
- <p>I can recommend the <htmlurl url="http://www.smc.com/" name="SMC">
- Ultra 16 controller for any ISA application and the SMC EtherPower
- or Compex ENET32 cards for any serious PCI based networking. Both of
- the PCI cards are based around DEC's DC21041 Ethernet controller
- chip and other cards using it, such as the Zynx ZX342 or DEC DE435,
- will generally work as well. For 100Mbit networking, either the
- SMC SMC9332DST 10/100MB or Intel EtherExpress Pro/100B cards will do
- a fine job.
-
- If what you're looking for is, on the other hand, the cheapest possible
- solution which will still work reasonably well, then almost any NE2000
- clone is a good choice.
-
-
- <sect2><heading>Serial<label id="hw:serial"></heading>
- <p>If you're looking for high-speed serial networking solutions, then
- <htmlurl url="http://www.dgii.com/" name="Digi International">
- makes the <htmlurl url="http://www.dgii.com/prodprofiles/profiles-prices/digiprofiles/digispecs/sync570.html" name="SYNC/570"> series, with drivers now in
- FreeBSD-current. <htmlurl url="http://www.etinc.com"
- name="Emerging Technologies"> also manufactures a board with T1/E1
- capabilities, using software they provide. I have no direct experience
- using either product, however.
-
- <p>Multiport card options are somewhat more numerous, though it has to be
- said that FreeBSD's support for <htmlurl url="http://www.cyclades.com/"
- name="Cyclades">'s products is probably the tightest, primarily as a result
- of that company's commitment to making sure that we are adequately supplied
- with evaluation boards and technical specs. I've heard that the Cyclom-16Ye
- offers the best price/performance, though I've not checked the prices lately.
- Other multiport cards I've heard good things about are the BOCA and AST
- cards, and <htmlurl url="http://www.stallion.com/" name="Stallion
- Technologies"> apparently offers an unofficial driver for their
- cards at <htmlurl url="ftp://ftp.stallion.com/drivers/unsupported/freebsd/stalbsd-0.0.4.tar.gz" name="this"> location.
-
- <sect2><heading>Audio<label id="hw:audio"></heading>
- <p>I currently use the <htmlurl url="http://www.gravis.com/" name="Gravis">
- Ultrasound MAX due to its high sound quality and full-duplex audio
- capabilities (dual DMA channels). Support for Windows NT and OS/2 is
- fairly anemic, however, so I'm not sure that I can recommend it as an
- all-around card for a machine that will be running both FreeBSD and NT
- or OS/2. In such a scenario, I might recommend the <htmlurl url="http://www.creaf.com/" name="Creative Labs"> AWE32 instead.
-
- <sect2><heading>Video<label id="hw:vgrabbers"></heading>
- <p>For video capture, there's really only once choice - the
- <htmlurl url="http://www.matrox.com/" name="Matrox">
- <htmlurl url="http://www.matrox.com/imgweb/meteor.htm" name="Meteor">
- card. FreeBSD also supports the older video spigot card from
- Creative Labs, but those are getting somewhat difficult to find
- and the Meteor is a more current generation frame-grabber with
- a higher-speed PCI interface. Note that this card <em>will not work</em>
- with motherboards based on the VS440FX chipset! See the
- <ref id="hw:mb" name="motherboard reference"> section for details.
-
-<sect><heading>Core/Processing<label id="hw:core"></heading>
-
-<sect1><heading>Motherboards, busses, and chipsets</heading>
- <sect2><heading>* ISA</heading>
- <sect2><heading>* EISA</heading>
- <sect2><heading>* VLB</heading>
- <sect2><heading>PCI<label id="hw:mb:pci"></heading>
- <p><em>Contributed by &a.rgrimes;.<newline>25 April 1995.</em></p>
- <p><em>Continuing updates by &a.jkh;.</em><newline>Last update on
- <em>26 August 1996.</em></p>
- <p>Of the Intel PCI chip sets, the following list describes
- various types of known-brokenness and the degree of
- breakage, listed from worst to best.
- </p>
-
- <p><descrip>
-
- <tag>Mercury:</tag> Cache coherency problems,
- especially if there are ISA bus masters behind
- the ISA to PCI bridge chip. Hardware flaw, only
- known work around is to turn the cache
- off.
-
- <tag>Saturn-I <em>(ie, 82424ZX at rev 0, 1 or 2)</em>:</tag>
- Write back cache coherency
- problems. Hardware flaw, only known work around
- is to set the external cache to write-through
- mode. Upgrade to Saturn-II.
-
- <tag>Saturn-II <em>(ie, 82424ZX at rev 3 or 4)</em>:</tag>
- Works fine, but many MB
- manufactures leave out the external dirty bit
- SRAM needed for write back operation. Work
- arounds are either run it in write through mode,
- or get the dirty bit SRAM installed. (I have
- these for the ASUS PCI/I-486SP3G rev 1.6 and
- later boards).
-
- <tag>Neptune:</tag> Can not run more than 2 bus
- master devices. Admitted Intel design flaw.
- Workarounds include do not run more than 2 bus
- masters, special hardware design to replace the
- PCI bus arbiter (appears on Intel Altair board
- and several other Intel server group MB's). And
- of course Intel's official answer, move to the
- Triton chip set, we ``fixed it there''.
-
- <tag>Triton:</tag> No known cache coherency or bus
- master problems, chip set does not implement
- parity checking. Workaround for parity issue.
- Use Triton-II based motherboards if you have the choice.
-
- <tag>Triton-II:</tag> All reports on motherboards using
- this chipset have been favorable so far. No known
- problems.
-
- <tag>Orion:</tag> Early versions of this chipset suffered from
- a PCI write-posting bug which can cause noticeable performance
- degradation in applications where large amounts of PCI bus
- traffic is involved. B0 stepping or later revisions of the
- chipset fixed this problem.
-
- <tag><htmlurl
- url="http://www-cs.intel.com/oem_developer/motherbd/vs_index.htm"
- name="VS440FX">:</tag>This <htmlurl
- url="http://www.intel.com/procs/ppro/intro/index.htm"
- name="Pentium Pro"> support chipset seems to work well,
- and does not suffer from any of the early Orion chipset
- problems. It also supports a wider variety of memory,
- including ECC and parity. The only known problem with it
- is that the Matrox Meteor frame grabber card doesn't like it.
- </descrip>
- </p>
-
-<sect1><heading>CPUs/FPUs</heading>
- <sect2><heading>* Pentium Pro class</heading>
- <sect2><heading>Pentium class</heading>
- <sect3><heading>Clock speeds</heading>
- <p><em>Contributed by &a.rgrimes;.<newline>1 October 1996.</em></p>
- <p>Pentium class machines use different clock speeds for the various
- parts of the system. These being the speed of the CPU, external
- memory bus, and the PCI bus. It is not always true that a "faster"
- processor will make a system faster than a "slower" one, due to
- the various clock speeds used.
- Below is a table showing the differences:
- <p>
- <tscreen><verb>
- Rated External Clock External to PCI Bus
- CPU and Memory Bus Internal Clock Clock
- MHZ MHZ** Multiplier MHZ
-
- 60 60 1.0 30
- 66 66 1.0 33
- 75 50 1.5 25
- 90 60 1.5 30
- 100 50* 2 25
- 100 66 1.5 33
- 120 60 2 30
- 133 66 2 33
- 150 60 2.5 30
- 166 66 2.5 33
- 180 60 3 30
- 200 66 3 33
-
- * The Pentium 100 can be run at either 50MHz external clock with
- a multiplier of 2 or at 66MHz and a multiplier of 1.5.
- ** 66 Mhz may actually be 66.667 MHz, but don't assume so.
- </verb></tscreen>
- <p>As can be seen the best parts to be using are the 100, 133, 166
- and 200, with the exception that at a mulitplier of 3 the CPU
- starves for memory.
- <sect2><heading>* 486 class</heading>
- <sect2><heading>* 386 class</heading>
- <sect2><heading>286 class</heading>
- <p>Sorry, FreeBSD does not run on 80286 machines. It is nearly
- impossible to run today's large full-featured UNIXes on such
- hardware.
-
-<sect1><heading>* Memory</heading>
- <p>The mininum amount of memory you must have to install FreeBSD is 5 MB.
- Once your system is up and running you can <ref id="kernelconfig:building"
- name="build a custom kernel"> that will use less memory.
- If you use the boot4.flp you can get away with having only 4 MB.
-
-<sect1><heading>* BIOS</heading>
-
-<sect><heading>Input/Output Devices<label id="hw:io"></heading>
-
-<sect1><heading>* Video cards</heading>
-<sect1><heading>* Sound cards</heading>
-<sect1><heading>Serial ports and multiport cards</heading>
-
- &uart;
- &sio;
- &cy;
-
-<sect1><heading>* Parallel ports</heading>
-<sect1><heading>* Modems</heading>
-<sect1><heading>* Network cards</heading>
-<sect1><heading>* Keyboards</heading>
-<sect1><heading>* Mice</heading>
-<sect1><heading>* Other</heading>
-
-<sect><heading>Storage Devices<label id="hw:storage"></heading>
-&esdi;
-&scsi;
-
-<sect1><heading>* Disk/tape controllers
- <label id="hw:storage:controllers"></heading>
- <sect2><heading>* SCSI</heading>
- <sect2><heading>* IDE</heading>
- <sect2><heading>* Floppy</heading>
-
-<sect1><heading>* Hard drives</heading>
-<sect1><heading> Tape drives</heading>
- <p><em>Contributed by &a.jmb;.<newline>2 July 1996.</em></p>
- <sect2><heading> General tape access commands</heading>
- <p><tt>mt(1)</tt> provides generic access to the tape
-drives. Some of the more common commands are <tt>rewind</tt>,
-<tt>erase</tt>, and <tt>status</tt>. See the <tt>mt(1)</tt>
-manual page for a detailed description.
-
- <sect2><heading> Controller Interfaces</heading>
- <p>There are several different interfaces that support
-tape drives. The interfaces are SCSI, IDE, Floppy and Parallel
-Port. A wide variety of tape drives are available for these
-interfaces. Controllers are discussed in
- <ref id="hw:storage:controllers" name="Disk/tape controllers">
-
- <sect2><heading> SCSI drives</heading>
- <p>The <tt>st(4)</tt> driver provides support for 8mm
- (Exabyte), 4mm (DAT: Digital Audio Tape), QIC (Quarter-Inch
- Cartridge), DLT (Digital Linear Tape), QIC Minicartridge
- and 9-track (remember the big reels that you see spinning
- in Hollywood computer rooms) tape drives. See the
- <tt>st(4)</tt> manual page for a detailed description.
-
- <p>The drives listed below are currently being used by
-members of the FreeBSD community. They are not the only drives
-that will work with FreeBSD. They just happen to be the ones
-that we use.
-
- <sect3><heading> 4mm (DAT: Digital Audio Tape)</heading>
- <p><ref id="hw:storage:python" name="Archive Python"
- <p><ref id="hw:storage:hp1533a" name="HP C1533A">
- <p><ref id="hw:storage:hp1534a" name="HP C1534A">
- <p><ref id="hw:storage:hp35450a" name="HP 35450A">
- <p><ref id="hw:storage:hp35470a" name="HP 35470A">
- <p><ref id="hw:storage:hp35480a" name="HP 35480A">
- <p><ref id="hw:storage:sdt5000" name="SDT-5000">
- <p><ref id="hw:storage:wangtek6200" name="Wangtek 6200"
-
- <sect3><heading> 8mm (Exabyte)</heading>
- <p><ref id="hw:storage:exb8200" name="EXB-8200">
- <p><ref id="hw:storage:exb8500" name="EXB-8500">
- <p><ref id="hw:storage:exb8505" name="EXB-8505">
-
- <sect3><heading> QIC (Quarter-Inch Cartridge)</heading>
- <p><ref id="hw:storage:anaconda" name="Archive Ananconda 2750"
- <p><ref id="hw:storage:viper60" name="Archive Viper 60"
- <p><ref id="hw:storage:viper150" name="Archive Viper 150"
- <p><ref id="hw:storage:viper2525" name="Archive Viper 2525"
- <p><ref id="hw:storage:tandberg3600" name="Tandberg TDC 3600"
- <p><ref id="hw:storage:tandberg3620" name="Tandberg TDC 3620"
- <p><ref id="hw:storage:tandberg4222" name="Tandberg TDC 4222"
- <p><ref id="hw:storage:wangtek5525es" name="Wangtek 5525ES"
- <sect3><heading> DLT (Digital Linear Tape)</heading>
- <p><ref id="hw:storage:dectz87" name="Digital TZ87"
- <sect3><heading> Mini-Cartridge</heading>
- <p><ref id="hw:storage:ctms3200" name="Conner CTMS 3200"
- <p><ref id="hw:storage:exb2501" name="Exabyte 2501"
- <sect3><heading> Autoloaders/Changers</heading>
- <p><ref id="hw:storage:hp1553a" name="Hewlett-Packard HP
-C1553A Autoloading DDS2">
-
- <sect2><heading>* IDE drives</heading>
- <sect2><heading> Floppy drives</heading>
- <p><ref id="hw:storage:conner420r" name="Conner 420R"
- <sect2><heading>* Parallel port drives</heading>
- <sect2><heading> Detailed Information </heading>
-
- <sect3><heading><label id="hw:storage:anaconda">
-Archive Ananconda 2750</heading>
- <p>The boot message identifier for this drive is "ARCHIVE
-ANCDA 2750 28077 -003 type 1 removable SCSI 2"
- <p>This is a QIC tape drive.
- <p>Native capacity is 1.35GB when using QIC-1350 tapes.
-This drive will read and write QIC-150 (DC6150), QIC-250
-(DC6250), and QIC-525 (DC6525) tapes as well.
- <p>Data transfer rate is 350kB/s using <tt>dump(8)</tt>.
-Rates of 530kB/s have been reported when using <ref
-id="hw:storage:amanda" name="Amanda">
- <p>Production of this drive has been discontinued.
- <p>The SCSI bus connector on this tape drive is reversed
-from that on most other SCSI devices. Make sure that you have
-enough SCSI cable to twist the cable one-half turn before and
-after the Archive Anaconda tape drive, or turn your other SCSI
-devices upside-down.
- <p>Two kernel code changes are required to use this
-drive. This drive will not work as delivered.
- <p>If you have a SCSI-2 controller, short jumper 6.
-Otherwise, the drive behaves are a SCSI-1 device. When operating
-as a SCSI-1 device, this drive, "locks" the SCSI bus during some
-tape operations, including: fsf, rewind, and rewoffl.
- <p>If you are using the NCR SCSI controllers, patch the
-file /usr/src/sys/pci/ncr.c (as shown below). Build and install
-a new kernel.
-
-<tscreen><verb>
-*** 4831,4835 ****
- };
-
-! if (np->latetime>4) {
- /*
- ** Although we tried to wake it up,
---- 4831,4836 ----
- };
-
-! if (np->latetime>1200) {
- /*
- ** Although we tried to wake it up,
-
-</verb></tscreen>
- <p>Reported by: &a.jmb;
-
-
- <sect3><heading><label id="hw:storage:python">
-Archive Python</heading>
- <p>The boot message identifier for this drive is "ARCHIVE
-Python 28454-XXX4ASB" "type 1 removable SCSI 2" "density code
-0x8c, 512-byte blocks"
- <p>This is a DDS-1 tape drive.
- <p>Native capacity is 2.5GB on 90m tapes.
- <p>Data transfer rate is XXX.
- <p>This drive was repackaged by Sun Microsystems as model 411.
- <p>Reported by: Bob Bishop rb@gid.co.uk
-
- <sect3><heading><label id="hw:storage:viper60">
-Archive Viper 60</heading>
- <p>The boot message identifier for this drive is "ARCHIVE
-VIPER 60 21116 -007" "type 1 removable SCSI 1"
- <p>This is a QIC tape drive.
- <p>Native capacity is 60MB.
- <p>Data transfer rate is XXX.
- <p>Production of this drive has been discontinued.
- <p>Reported by: Philippe Regnauld regnauld@hsc.fr
-
- <sect3><heading><label id="hw:storage:viper150">
-Archive Viper 150</heading>
- <p>The boot message identifier for this drive is "ARCHIVE
-VIPER 150 21531 -004" "Archive Viper 150 is a known rogue" "type
-1 removable SCSI 1". A multitude of firmware revisions exist
-for this drive. Your drive may report different numbers (e.g
-"21247 -005".
- <p>This is a QIC tape drive.
- <p>Native capacity is 150/250MB. Both 150MB (DC6150)
-and 250MB (DC6250) tapes have the recording format. The 250MB
-tapes are approximately 67% longer than the 150MB tapes. This
-drive can read 120MB tapes as well. It can not write 120MB tapes.
- <p>Data transfer rate is 100kB/s
- <p>This drive reads and writes DC6150 (6150MB) and DC6250
-(250MB) tapes.
- <p>This drives quirks are known and pre-compiled into the
-scsi tape device driver (<tt>st(4)</tt>).
- <p>Under FreeBSD 2.2-current, use <tt>mt blocksize
-512</tt> to set the blocksize. (The particular drive had
-firmware revision 21247 -005. Other firmware revisions may
-behave differently) Previous versions of FreeBSD did not have
-this problem.
- <p>Production of this drive has been discontinued.
- <p>Reported by: Pedro A M Vazquez vazquez@IQM.Unicamp.BR
- <p> Mike Smith msmith@atrad.adelaide.edu.au
-
- <sect3><heading><label id="hw:storage:viper2525">
-Archive Viper 2525</heading>
- <p>The boot message identifier for this drive is "ARCHIVE
-VIPER 2525 25462 -011" "type 1 removable SCSI 1"
- <p>This is a QIC tape drive.
- <p>Native capacity is 525MB.
- <p>Data transfer rate is 180kB/s at 90 inches/sec.
- <p>The drive reads QIC-525, QIC-150, QIC-120 and QIC-24 tapes.
-Writes QIC-525, QIC-150, and QIC-120.
- <p>Firmware revisions prior to "25462 -011" are bug
-ridden and will not function properly.
- <p>Production of this drive has been discontinued.
- <p>Reported by: &a.hm;
-
- <sect3><heading><label id="hw:storage:conner420r">
-Conner 420R</heading>
- <p>The boot message identifier for this drive is "Conner tape".
- <p>This is a floppy controller, minicartridge tape drive.
- <p>Native capacity is XXXX
- <p>Data transfer rate is XXX
- <p>The drive uses QIC-80 tape cartridges.
- <p>Reported by: Mark Hannon mark@seeware.DIALix.oz.au
-
- <sect3><heading><label id="hw:storage:ctms3200">
-Conner CTMS 3200</heading>
- <p>The boot message identifier for this drive is "CONNER
-CTMS 3200 7.00" "type 1 removable SCSI 2".
- <p>This is a minicartridge tape drive.
- <p>Native capacity is XXXX
- <p>Data transfer rate is XXX
- <p>The drive uses QIC-3080 tape cartridges.
- <p>Reported by: Thomas S. Traylor tst@titan.cs.mci.com
-
- <sect3><heading><label id="hw:storage:dectz87">
- <htmlurl
-url="http://www.digital.com/info/Customer-Update/931206004.txt.html"
-name="DEC TZ87"></heading>
- <p>The boot message identifier for this drive is "DEC
-TZ87 (C) DEC 9206" "type 1 removable SCSI 2" "density code 0x19"
- <p>This is a DLT tape drive.
- <p>Native capacity is 10GB.
- <p>This drive supports hardware data compression.
- <p>Data transfer rate is 1.2MB/s.
- <p>This drive is identical to the Quantum DLT2000. The
-drive firmware can be set to emulate several well-known drives,
-including an Exabyte 8mm drive.
- <p>Reported by: &a.wilko;
-
- <sect3><heading><label id="hw:storage:exb2501">
- <htmlurl
-url="http://www.Exabyte.COM:80/Products/Minicartridge/2501/Rfeatures.html"
-name="Exabyte EXB-2501"></heading>
- <p>The boot message identifier for this drive is "EXABYTE
-EXB-2501"
- <p>This is a mini-cartridge tape drive.
- <p>Native capacity is 1GB when using MC3000XL minicartridges.
- <p>Data transfer rate is XXX
- <p>This drive can read and write DC2300 (550MB), DC2750
-(750MB), MC3000 (750MB), and MC3000XL (1GB) minicartridges.
- <p>WARNING: This drive does not meet the SCSI-2
-specifications. The drive locks up completely in response to a
-SCSI MODE_SELECT command unless there is a formatted tape in the
-drive. Before using this drive, set the tape blocksize with
-
- <verb>mt -f /dev/st0ctl.0 blocksize 1024</verb>
-
-Before using a minicartridge for the first time, the minicartridge
-must be formated. FreeBSD 2.1.0-RELEASE and earlier:
-
- <verb>/sbin/scsi -f /dev/rst0.ctl -s 600 -c "4 0 0 0 0 0"</verb>
-
-(Alternatively, fetch a copy of the <tt>scsiformat</tt> shell script
-from FreeBSD 2.1.5/2.2.) FreeBSD 2.1.5 and later:
-
- <verb>/sbin/scsiformat -q -w /dev/rst0.ctl</verb>
-
- <p>Right now, this drive cannot really be recommended for FreeBSD.
- <p>Reported by: Bob Beaulieu ez@eztravel.com
-
- <sect3><heading><label id="hw:storage:exb8200"> Exabyte
-EXB-8200</heading>
- <p>The boot message identifier for this drive is "EXABYTE
-EXB-8200 252X" "type 1 removable SCSI 1"
- <p>This is an 8mm tape drive.
- <p>Native capacity is 2.3GB.
- <p>Data transfer rate is 270kB/s.
- <p>This drive is fairly slow in responding to the SCSI
-bus during boot. A custom kernel may be required (set SCSI_DELAY
-to 10 seconds).
- <p>There are a large number of firmware configurations
-for this drive, some have been customized to a particular
-vendor's hardware. The firmware can be changed via EPROM
-replacement.
- <p>Production of this drive has been discontinued.
- <p>Reported by: Mike Smith msmith@atrad.adelaide.edu.au
-
- <sect3><heading><label id="hw:storage:exb8500">
-Exabyte EXB-8500</heading>
- <p>The boot message identifier for this drive is "EXABYTE
-EXB-8500-85Qanx0 0415" "type 1 removable SCSI 2"
- <p>This is an 8mm tape drive.
- <p>Native capacity is 5GB.
- <p>Data transfer rate is 300kB/s.
- <p>Reported by: Greg Lehey grog@lemis.de
-
- <sect3><heading><label id="hw:storage:exb8505">
- <htmlurl
-url="http://www.Exabyte.COM:80/Products/8mm/8505XL/Rfeatures.html"
-name="Exabyte EXB-8505"></Heading>
- <p>The boot message identifier for this drive is "EXABYTE
-EXB-85058SQANXR1 05B0" "type 1 removable SCSI 2"
- <p>This is an 8mm tape drive which supports compression, and is
- upward compatible with the EXB-5200 and EXB-8500.
- <p>Native capacity is 5GB.
- <p>The drive supports hardware data compression.
- <p>Data transfer rate is 300kB/s.
- <p>Reported by: Glen Foster gfoster@gfoster.com
-
- <sect3><heading><label id="hw:storage:hp1533a">
-Hewlett-Packard HP C1533A</heading>
- <p>The boot message identifier for this drive is "HP
-C1533A 9503" "type 1 removable SCSI 2".
- <p>This is a DDS-2 tape drive. DDS-2 means hardware data
-compression and narrower tracks for increased data capacity.
- <p>Native capacity is 4GB when using 120m tapes. This drive
-supports hardware data compression.
- <p>Data transfer rate is 510kB/s.
- <p>This drive is used in Hewlett-Packard's SureStore
-6000eU and 6000i tape drives and C1533A DDS-2 DAT drive.
- <p>The drive has a block of 8 dip switches. The proper
-settings for FreeBSD are: 1 ON; 2 ON; 3 OFF; 4 ON; 5 ON; 6 ON; 7
-ON; 8 ON.
-<tscreen><verb>
-switch 1 2 Result
- ON ON Compression enabled at power-on, with host control
- ON OFF Compression enabled at power-on, no host
-control
- OFF ON Compression disabled at power-on; the
-host is allowed to control compression
- OFF OFF Compression disabled at power-on, no host
-control
-</verb></tscreen>
- <p>Switch 3 controls MRS (Media Recognition System). MRS
-tapes have stripes on the transparent leader. These identify the
-tape as DDS (Digital Data Storage) grade media. Tapes
-that do not have the stripes will be treated as write-protected.
-Switch 3 OFF enables MRS. Switch 3 ON disables MRS.
- <p><em>Warning:</em> Quality control on these drives
-varies greatly. One FreeBSD core-team member has returned 2 of
-these drives. Neither lasted more than 5 months.
- <p>Reported by: &a.se;
-
- <sect3><heading><label id="hw:storage:hp1534a">
-Hewlett-Packard HP 1534A</heading>
- <p>The boot message identifier for this drive is "HP
-HP35470A T503" type 1 removable SCSI 2" "Sequential-Access
-density code 0x13, variable blocks".
- <p>This is a DDS-1 tape drive. DDS-1 is the original DAT
-tape format.
- <p>Native capacity is 2GB when using 90m tapes.
- <p>Data transfer rate is 183kB/s.
- <p>The same mechanism is used in Hewlett-Packard's
-SureStore <htmlurl url="http://www.dmo.hp.com/tape/sst2000.htm"
-name="2000i"> tape drive, C35470A DDS format DAT drive, C1534A DDS
-format DAT drive and HP C1536A DDS format DAT drive.
- <p>The HP C1534A DDS format DAT drive has two indicator
-lights, one green and one amber. The green one indicates tape
-action: slow flash during load, steady when loaded, fast flash
-during read/write operations. The amber one indicates warnings:
-slow flash when cleaning is required or tape is nearing the end
-of its useful life, steady indicates an hard fault. (factory
-service required?)
- <p>Reported by Gary Crutcher gcrutchr@nightflight.com
-
- <sect3><heading><label id="hw:storage:hp1553a">
-Hewlett-Packard HP C1553A Autoloading DDS2</heading>
- <p>The boot message identifier for this drive is "".
- <p>This is a DDS-2 tape drive. DDS-2 means hardware data
-compression and narrower tracks for increased data capacity.
- <p>Native capacity is 24GB when using 120m tapes. This
-drive supports hardware data compression.
- <p>Data transfer rate is 510kB/s (native).
- <p>This drive is used in Hewlett-Packard's SureStore
-<htmlurl url="http://www.dmo.hp.com/tape/sst12000.htm"
-name="12000e"> tape drive.
- <p>The drive has two selectors on the rear panel. The
-selector closer to the fan is SCSI id. The other selector should
-be set to 7.
- <p>There are four internal switches. These should be
-set: 1 ON; 2 ON; 3 ON; 4 OFF.
- <p>At present the kernel drivers do not automatically
-change tapes at the end of a volume. This shell script can be
-used to change tapes:
-
-<tscreen><verb>
-#!/bin/sh
-PATH="/sbin:/usr/sbin:/bin:/usr/bin"; export PATH
-
-usage()
-{
- echo "Usage: dds_changer [123456ne] raw-device-name
- echo "1..6 = Select cartridge"
- echo "next cartridge"
- echo "eject magazine"
- exit 2
-}
-
-if [ $# -ne 2 ] ; then
- usage
-fi
-
-cdb3=0
-cdb4=0
-cdb5=0
-
-case $1 in
- [123456])
- cdb3=$1
- cdb4=1
- ;;
- n)
- ;;
- e)
- cdb5=0x80
- ;;
- ?)
- usage
- ;;
-esac
-
-scsi -f $2 -s 100 -c "1b 0 0 $cdb3 $cdb4 $cdb5"
-</verb></tscreen>
-
- <sect3><heading><label id="hw:storage:hp35450a">
-Hewlett-Packard HP 35450A</heading>
- <p>The boot message identifier for this drive is "HP
-HP35450A -A C620" "type 1 removable SCSI 2" "Sequential-Access
-density code 0x13"
- <p>This is a DDS-1 tape drive. DDS-1 is the original DAT
-tape format.
- <p>Native capacity is 1.2GB.
- <p>Data transfer rate is 160kB/s.
- <p>Reported by: mark thompson mark.a.thompson@pobox.com
-
- <sect3><heading><label id="hw:storage:hp35470a">
-Hewlett-Packard HP 35470A</heading>
- <p>The boot message identifier for this drive is "HP
-HP35470A 9 09" type 1 removable SCSI 2"
- <p>This is a DDS-1 tape drive. DDS-1 is the original DAT
-tape format.
- <p>Native capacity is 2GB when using 90m tapes.
- <p>Data transfer rate is 183kB/s.
- <p>The same mechanism is used in Hewlett-Packard's
-SureStore <htmlurl url="http://www.dmo.hp.com/tape/sst2000.htm"
-name="2000i"> tape drive, C35470A DDS format DAT drive, C1534A
-DDS format DAT drive, and HP C1536A DDS format DAT drive.
- <p><em>Warning:</em> Quality control on these drives
-varies greatly. One FreeBSD core-team member has returned 5 of
-these drives. None lasted more than 9 months.
- <p>Reported by: David Dawes dawes@rf900.physics.usyd.edu.au (9 09)
-
- <Sect3><heading><label id="hw:storage:hp35480a">
-Hewlett-Packard HP 35480A</heading>
- <p>The boot message identifier for this drive is "HP
-HP35480A 1009" "type 1 removable SCSI 2" "Sequential-Access
-density code 0x13".
- <p>This is a DDS-DC tape drive. DDS-DC is DDS-1 with
-hardware data compression. DDS-1 is the original DAT tape
-format.
- <p>Native capacity is 2GB when using 90m tapes. This
-drive supports hardware data compression
- <p>Data transfer rate is 183kB/s.
- <p>This drive is used in Hewlett-Packard's SureStore
-<htmlurl url="http://www.dmo.hp.com/tape/sst5000.htm" name=
-"5000eU"> and <htmlurl
-url="http://www.dmo.hp.com/tape/sst5000.htm" name="5000i"> tape
-drives and C35480A DDS format DAT drive..
- <p>This drive will occasionally hang during a tape eject
-operation (<tt>mt offline</tt>). Pressing the front panel button
-will eject the tape and bring the tape drive back to life.
- <p>WARNING: HP 35480-03110 only. On at least two
-occasions this tape drive when used with FreeBSD 2.1.0, an IBM
-Server 320 and an 2940W SCSI controller resulted in all SCSI disk
-partitions being lost. The problem has not be analyzed or
-resolved at this time.
-
- <sect3><heading><label id="hw:storage:sdt5000">
- <htmlurl
-url="http://www.sel.sony.com/SEL/ccpg/storage/tape/t5000.html"
-name="Sony SDT-5000"</heading>
- <p>There are at least two significantly different models: one is
-a DDS-1 and the other DDS-2. The DDS-1 version is "SDT-5000 3.02". The
-DDS-2 version is "SONY SDT-5000 327M". The DDS-2 version has a
-1MB cache. This cache is able to keep the tape streaming in almost any
-circumstances.
- <p>The boot message identifier for this drive is "SONY
-SDT-5000 3.02" "type 1 removable SCSI 2" "Sequential-Access
-density code 0x13"
- <p>Native capacity is 4GB when using 120m tapes. This
-drive supports hardware data compression.
- <p>Data transfer rate is depends upon the model or
- the drive. The rate is 630kB/s for the "SONY SDT-5000 327M"
- while compressing the data. For the "SONY SDT-5000 3.02", the
- data transfer rate is 225kB/s.
- <p>In order to get this drive to stream, set the
-blocksize to 512 bytes (<tt>mt blocksize 512</tt>) reported by
-Kenneth Merry ken@ulc199.residence.gatech.edu"
- <p>"SONY SDT-5000 327M" information reported by Charles Henrich
- henrich@msu.edu
- <p>Reported by: &a.jmz;
-
- <sect3><heading><label id="hw:storage:tandberg3600">
-Tandberg TDC 3600</heading>
- <p>The boot message identifier for this drive is
-"TANDBERG TDC 3600 =08:" "type 1 removable SCSI 2"
- <p>This is a QIC tape drive.
- <p>Native capacity is 150/250MB.
- <p>This drive has quirks which are known and work around
-code is present in the scsi tape device driver (<tt>st(4)</tt>).
-Upgrading the firmware to XXX version will fix the quirks and
-provide SCSI 2 capabilities.
- <p>Data transfer rate is 80kB/s.
- <p>IBM and Emerald units will not work. Replacing the
-firmware EPROM of these units will solve the problem.
- <p>Reported by: Michael Smith msmith@atrad.adelaide.edu.au
-
- <sect3><heading><label id="hw:storage:tandberg3620">
-Tandberg TDC 3620</heading>
- <p>This is very similar to the <ref
- id="hw:storage:tandberg3600" name="Tandberg TDC 3600"> drive.
- <p>Reported by: &a.joerg;
-
- <sect3><heading><label id="hw:storage:tandberg4222">
-Tandberg TDC 4222</heading>
- <p>The boot message identifier for this drive is
-"TANDBERG TDC 4222 =07" "type 1 removable SCSI 2"
- <p>This is a QIC tape drive.
- <p>Native capacity is 2.5GB. The drive will read all
-cartridges from the 60 MB (DC600A) upwards, and write 150 MB
-(DC6150) upwards. Hardware compression is optionally supported
-for the 2.5 GB cartridges.
- <p>This drives quirks are known and pre-compiled into the
-scsi tape device driver (<tt>st(4)</tt>) beginning with FreeBSD
-2.2-current. For previous versions of FreeBSD, use <tt>mt</tt>
-to read one block from the tape, rewind the tape, and then
-execute the backup program (<tt>mt fsr 1; mt rewind; dump ...</tt>)
- <p>Data transfer rate is 600kB/s (vendor claim with compression),
- 350 KB/s can even be reached in start/stop mode. The rate
- decreases for smaller cartridges.
- <p>Reported by: &a.joerg;
-
- <sect3><heading><label id="hw:storage:wangtek5525es">
-Wangtek 5525ES</heading>
- <p>The boot message identifier for this drive is "WANGTEK
-5525ES SCSI REV7 3R1" "type 1 removable SCSI 1" "density code 0x11, 1024-byte
-blocks"
- <p>This is a QIC tape drive.
- <p>Native capacity is 525MB.
- <p>Data transfer rate is 180kB/s.
- <p>The drive reads 60, 120, 150, and 525MB tapes. The
-drive will not write 60MB (DC600 cartridge) tapes. In order to
-overwrite 120 and 150 tapes reliably, first erase (<tt>mt
-erase</tt>) the tape. 120 and 150 tapes used a wider track
-(fewer tracks per tape) than 525MB tapes. The "extra" width of
-the previous tracks is not overwritten, as a result the new data
-lies in a band surrounded on both sides by the previous data
-unless the tape have been erased.
- <p>This drives quirks are known and pre-compiled into the
-scsi tape device driver (<tt>st(4)</tt>).
- <p>Other firmware revisions that are known to work are: M75D
- <p>Reported by: Marc van Kempen marc@bowtie.nl "REV73R1"
- Andrew Gordon Andrew.Gordon@net-tel.co.uk "M75D"
-
- <sect3><heading><label id="hw:storage:wangtek6200">
-Wangtek 6200</heading>
- <p>The boot message identifier for this drive is "WANGTEK
-6200-HS 4B18" "type 1 removable SCSI 2" "Sequential-Access density code 0x13"
- <p>This is a DDS-1 tape drive.
- <p>Native capacity is 2GB using 90m tapes.
- <p>Data transfer rate is 150kB/s.
- <p>Reported by: Tony Kimball alk@Think.COM
-
- <sect2><heading>* Problem drives</heading>
-
-<sect1><heading>* CD-ROM drives</heading>
-<sect1><heading>* Other</heading>
-
-<sect1><heading>* Adding and reconfiguring disks</heading>
-<sect1><heading> Tapes and backups<label id="hw:storage:tapebackups"></heading>
- <sect2><heading>* What about backups to floppies?</heading>
- <sect2><heading> Tape Media</heading>
- <sect3><heading><label id="hw:storage:tapebackups:4mm">
- 4mm (DDS: Digital Data Storage)</heading>
-<!--gen-->
- <p>4mm tapes are replacing QIC as the workstation backup
-media of choice. This trend accelerated greatly when Conner
-purchased Archive, a leading manufacturer of QIC drives, and then
-stopped production of QIC drives. 4mm drives are small and quiet
-but do not have the reputation for reliability that is enjoyed by 8mm drives.
-The cartridges are less expensive and smaller (3 x 2 x 0.5
-inches, 76 x 51 x 12 mm) than 8mm cartridges. 4mm, like 8mm, has
-comparatively short head life for the same reason, both use
-helical scan.
-
-<!--spec-->
- <p>Data thruput on these drives starts ~150kB/s, peaking
-at ~500kB/s. Data capacity starts at 1.3 GB and ends at 2.0 GB.
-Hardware compression, available with most of these drives,
-approximately doubles the capacity. Multi-drive tape library
-units can have 6 drives in a single cabinet with automatic tape
-changing. Library capacities reach 240 GB.
-
-<!--tech-->
- <p>4mm drives, like 8mm drives, use helical-scan. All
-the benefits and drawbacks of helical-scan apply to both 4mm and
-8mm drives.
-
- <p>Tapes should be retired from use after 2,000 passes or
-100 full backups.
-
- <sect3><heading><label id="hw:storage:tapebackups:8mm">
-8mm (Exabyte)</heading>
-
-<!--gen-->
- <p>8mm tapes are the most common SCSI tape drives; they
-are the best choice of exchanging tapes. Nearly every site has
-an exabyte 2 GB 8mm tape drive. 8mm drives are reliable,
-convenient and quiet. Cartridges are inexpensive and small (4.8 x
-3.3 x 0.6 inches; 122 x 84 x 15 mm). One downside of 8mm tape is
-relatively short head and tape life due to the high rate of
-relative motion of the tape across the heads.
-
-<!--spec-->
- <p>Data thruput ranges from ~250kB/s to ~500kB/s. Data
-sizes start at 300 MB and go up to 7 GB. Hardware compression,
-available with most of these drives, approximately doubles the
-capacity. These drives are available as single units or
-multi-drive tape libraries with 6 drives and 120 tapes in a
-single cabinet. Tapes are changed automatically by the unit.
-Library capacities reach 840+ GB.
-
-<!--tech-->
- <p>Data is recorded onto the tape using helical-scan, the
-heads are positioned at an angle to the media (approximately 6
-degrees). The tape wraps around 270 degrees of the spool that
-holds the heads. The spool spins while the tape slides over the
-spool. The result is a high density of data and closely packed
-tracks that angle across the tape from one edge to the other.
-
-
- <sect3><heading><label id="hw:storage:tapebackups:qic">
-QIC</heading>
-<!--gen-->
- <p>QIC-150 tapes and drives are, perhaps, the most common
-tape drive and media around. QIC tape drives are the least
-expensive "serious" backup drives. The downside is the cost of
-media. QIC tapes are expensive compared to 8mm or 4mm tapes, up
-to 5 times the price per GB data storage. But, if your needs can
-be satisfied with a half-dozen tapes, QIC may be the correct
-choice. QIC is the <em>most</em> common tape drive. Every site
-has a QIC drive of some density or another. Therein lies the
-rub, QIC has a large number of densities on physically similar
-(sometimes identical) tapes. QIC drives are not quiet. These
-drives audibly seek before they begin to record data and are
-clearly audible whenever reading, writing or seeking. QIC tapes
-measure (6 x 4 x 0.7 inches; 15.2 x 10.2 x 1.7 mm). <ref
-id="hw:storage:tapebackups:mini" name="Mini-cartridges">, which also
-use 1/4" wide tape are discussed separately. Tape libraries and
-changers are not available.
-
-<!--spec-->
- <p>Data thruput ranges from ~150kB/s to ~500kB/s. Data
-capacity ranges from 40 MB to 15 GB. Hardware compression is
-available on many of the newer QIC drives. QIC drives are less
-frequently installed; they are being supplanted by DAT drives.
-
-<!--tech-->
- <p>Data is recorded onto the tape in tracks. The tracks
-run along the long axis of the tape media from one end to the
-other. The number of tracks, and therefore the width of a track,
-varies with the tape's capacity. Most if not all newer drives
-provide backward-compatibility at least for reading (but often
-also for writing). QIC has a good reputation regarding the
-safety of the data (the mechanics are simpler and more robust
-than for helical scan drives).
-
- <p>Tapes should be retired from use after 5,000 backups.
-
- <sect3><heading><label id="hw:storage:tapebackups:mini">
-* Mini-Cartridge</heading>
-
- <sect3><heading><label id="hw:storage:tapebackups:dlt">
-DLT</heading>
-<!--gen-->
- <p>DLT has the fastest data transfer rate of all the drive
-types listed here. The 1/2" (12.5mm) tape is contained in a
-single spool cartridge (4 x 4 x 1 inches; 100 x 100 x 25 mm). The
-cartridge has a swinging gate along one entire side of the
-cartridge. The drive mechanism opens this gate to extract the
-tape leader. The tape leader has an oval hole in it which the
-drive uses to "hook" the tape. The take-up spool is located
-inside the tape drive. All the other tape cartridges listed here
-(9 track tapes are the only exception) have both the supply and
-take-up spools located inside the tape cartridge itself.
-
-<!--spec-->
- Data thruput is approximately 1.5MB/s, three times the
-thruput of 4mm, 8mm, or QIC tape drives. Data capacities range
-from 10GB to 20GB for a single drive. Drives are available in
-both multi-tape changers and multi-tape, multi-drive tape
-libraries containing from 5 to 900 tapes over 1 to 20 drives,
-providing from 50GB to 9TB of storage.
-
-<!--tech-->
- Data is recorded onto the tape in tracks parallel to the
-direction of travel (just like QIC tapes). Two tracks are written
-at once. Read/write head lifetimes are relatively long; once the
-tape stops moving, there is no relative motion between the heads
-and the tape.
-
- <sect2><heading> Using a new tape for the first time</heading>
- <p>The first time that you try to read or write a new,
-completely blank tape, the operation will fail. The console
-messages should be similar to:
-<tscreen><verb>
- st0(ncr1:4:0): NOT READY asc:4,1
- st0(ncr1:4:0): Logical unit is in process of becoming ready
-</verb></tscreen>
-
-The tape does not contain an Identifier Block (block number
-0). All QIC tape drives since the adoption of QIC-525 standard
-write an Identifier Block to the tape. There are two
-solutions:
- <p><tt>mt fsf 1</tt> causes the tape drive to write an
-Identifier Block to the tape.
- <p>Use the front panel button to eject the tape.
- <p>Re-insert the tape and <tt>dump(8)</tt> data to the
-tape.
- <p><tt>dump(8)</tt> will report <tt>DUMP: End of tape
-detected</tt> and the console will show: <tt>HARDWARE FAILURE
-info:280 asc:80,96</tt>
- <p>rewind the tape using: <tt>mt rewind</tt>
-
- <p>Subsequent tape operations are successful.
-
- <sect2><heading> Backup Programs</heading>
- <p>The three major programs are <tt>dump(8)</tt>,
-<tt>tar(1)</tt>, and <tt>cpio(1)</tt>.
-
- <sect3><heading> Dump and Restore</heading>
-<!--gen-->
- <p><tt>dump(8)</tt> and <tt>restore(8)</tt> are the
-traditional Unix backup programs. They operate on the drive as a
-collection of disk blocks, below the abstractions of files, links
-and directories that are created by the filesystems.
-<tt>dump(8)</tt> backs up devices, entire filesystems, not parts
-of a filesystem and not directory trees that span more than one
-filesystem, using either soft links <tt>ln(1)</tt> or mounting
-one filesystem onto another. <tt>dump(8)</tt> does not write
-files and directories to tape, but rather writes the data blocks
-that are the building blocks of files and directories.
-<tt>dump(8)</tt> has quirks that remain from its early days in
-Version 6 of ATT Unix (circa 1975). The default parameters are
-suitable for 9-track tapes (6250 bpi), not the high-density media
-available today (up to 62,182 ftpi). These defaults must be
-overridden on the command line to utilize the capacity of current
-tape drives.
-
- <p><tt>rdump(8)</tt> and <tt>rrestore(8)</tt> backup data
-across the network to a tape drive attached to another computer.
-Both programs rely upon <tt>rcmd(3)</tt> and <tt>ruserok(3)</tt>
-to access the remote tape drive. Therefore, the user performing
-the backup must have <tt>rhosts</tt> access to the remote
-computer. The arguments to <tt>rdump(8)</tt> and
-<tt>rrestore(8)</tt> must suitable to use on the remote computer.
-(e.g. When <tt>rdump</tt>'ing from a FreeBSD computer to an
-Exabyte tape drive connected to a Sun called komodo, use: <tt>/sbin/rdump
-0dsbfu 54000 13000 126 komodo:/dev/nrst8 /dev/rsd0a 2>&amp;1</tt>)
-Beware: there are security implications to allowing
-<tt>rhosts</tt> commands. Evaluate your situation carefully.
-
-
-
- <sect3><heading> Tar</heading>
-<!--gen-->
- <p><tt>tar(1)</tt> also dates back to Version 6 of ATT
-Unix (circa 1975). <tt>tar(1)</tt> operates in cooperation with
-the filesystem; <tt>tar(1)</tt> writes files and directories to
-tape. <tt>tar(1)</tt> does not support the full range of options
-that are available from <tt>cpio(1)</tt>, but <tt>tar(1)</tt>
-does not require the unusual command pipeline that
-<tt>cpio(1)</tt> uses.
-
- <p><tt>tar(1)</tt> does not support backups across the
-network. You can use a pipeline and <tt>rsh(1)</tt> to send the
-data to a remote tape drive. (XXX add an example command)
-
- <sect3><heading> Cpio</heading>
-<!--gen-->
- <p><tt>cpio(1)</tt> is the original Unix file interchange
-tape program for magnetic media. <tt>cpio(1)</tt> has options (among
-many others) to perform byte-swapping, write a number of
-different archives format, and pipe the data to other programs.
-This last feature makes <tt>cpio(1)</tt> and excellent choice for
-installation media. <tt>cpio(1)</tt> does not know how to walk
-the directory tree and a list of files must be provided thru <tt>STDIN</tt>.
-
- <p><tt>cpio(1)</tt> does not support backups across the
-network. You can use a pipeline and <tt>rsh(1)</tt> to send the
-data to a remote tape drive. (XXX add an example command)
-
- <sect3><heading><label id="hw:storage:amanda"><htmlurl
-url="http://www.freebsd.org/ports/misc.html#amanda-2.2.6.5"
-name="Amanda"></heading>
- <p>Amanda (Advanced Maryland Network Disk Archiver) is a
-client/server backup system, rather than a single program. An
-Amanda server will backup to a single tape drive any number of
-computers that have Amanda clients and network communications
-with the Amanda server. A common problem at locations with a
-number of large disks is the length of time required to backup to
-data directly to tape exceeds the amount of time available for
-the task. Amanda solves this problem. Amanda can use a "holding
-disk" to backup several filesystems at the same time. Amanda
-creates "archive sets": a group of tapes used over a period of
-time to create full backups of all the filesystems listed in
-Amanda's configuration file. The "archive set" also contains
-nightly incremental (or differential) backups of all the
-filesystems. Restoring a damaged filesystem requires the most
-recent full backup and the incremental backups.
-
- <p>The configuration file provides fine control backups
-and the network traffic that Amanda generates. Amanda will use
-any of the above backup programs to write the data to tape.
-Amanda is available as either a port or a package, it is not
-installed by default.
-
- <sect3><heading> Do nothing</heading>
- <p>"Do nothing" is not a computer program, but it is the
-most widely used backup strategy. There are no initial costs.
-There is no backup schedule to follow. Just say no. If
-something happens to your data, grin and bear it!
-
- <p>If your time and your data is worth little to nothing,
-then "Do nothing" is the most suitable backup program for your
-computer. But beware, Unix is a useful tool, you may find that
-within six months you have a collection of files that are
-valuable to you.
-
- <p>"Do nothing" is the correct backup method for
-<tt>/usr/obj</tt> and other directory trees that can be exactly
-recreated by your computer. An example is the files that
-comprise these handbook pages-they have been generated from
-<tt>SGML</tt> input files. Creating backups of these
-<tt>HTML</tt> files is not necessary. The <tt>SGML</tt> source
-files are backed up regularly.
-
- <sect3><heading> Which Backup Program is Best?</heading>
- <p><tt>dump(8)</tt> <em>Period.</em> Elizabeth D. Zwicky
-torture tested all the backup programs discussed here. The clear
-choice for preserving all your data and all the peculiarities of
-Unix filesystems is <tt>dump(8)</tt>. Elizabeth created
-filesystems containing a large variety of unusual conditions (and
-some not so unusual ones) and tested each program by do a backup
-and restore of that filesystems. The peculiarities included:
-files with holes, files with holes and a block of nulls, files
-with funny characters in their names, unreadable and unwriteable
-files, devices, files that change size during the backup, files
-that are created/deleted during the backup and more. She
-presented the results at LISA V in Oct. 1991.
-
- <sect2><heading>Emergency Restore Procedure</heading>
- <sect3><heading> Before the Disaster</heading>
- <p>There are only four steps that you need to perform in
-preparation for any disaster that may occur.
-
- <p>First, print the disklabel from each of your disks
-(<tt>e.g. disklabel sd0 | lpr</tt>), your filesystem table
-(<tt>/etc/fstab</tt>) and all boot messages, two copies of each.
-
- <p>Second, determine the boot and fixit floppies
-(boot.flp and fixit.flp) have all your devices. The easiest way
-to check is to reboot your machine with the boot floppy in the
-floppy drive and check the boot messages. If all your devices
-are listed and functional, skip on to step three.
-
- <p>Otherwise, you have to create two custom bootable
-floppies which has a kernel that can mount your all of your disks
-and access your tape drive. These floppies must contain:
-<tt>fdisk(8)</tt>, <tt>disklabel(8)</tt>, <tt>newfs(8)</tt>,
-<tt>mount(8)</tt>, and whichever backup program you use. These
-programs must be statically linked. If you use <tt>dump(8)</tt>,
-the floppy must contain <tt>restore(8)</tt>.
-
- <p>Third, create backup tapes regularly.
-Any changes that you make after your last backup may be
-irretrievably lost. Write-protect the backup tapes.
-
- <p>Fourth, test the floppies (either boot.flp and
-fixit.flp or the two custom bootable floppies you made in step
-two.) and backup tapes. Make notes of the procedure. Store
-these notes with the bootable floppy, the printouts and the
-backup tapes. You will be so distraught when restoring that the
-notes may prevent you from destroying your backup tapes (How? In
-place of <tt>tar xvf /dev/rst0</tt>, you might accidently type
-<tt> tar cvf /dev/rst0</tt> and over-write your backup tape).
-
- <p>For an added measure of security, make bootable
-floppies and two backup tapes each time. Store one of each at a
-remote location. A remote location is NOT the basement of the
-same office building. A number of firms in the World Trade Center
-learned this lesson the hard way. A remote location should be
-physically separated from your computers and disk drives by a
-significant distance.
-
- <p>An example script for creating a bootable floppy:
-<tscreen><verb>
- #!/bin/sh
- #
- # create a restore floppy
- #
- # format the floppy
- #
- PATH=/bin:/sbin:/usr/sbin:/usr/bin
-
- fdformat -q fd0
- if [ $? -ne 0 ]
- then
- echo "Bad floppy, please use a new one"
- exit 1
- fi
-
- # place boot blocks on the floppy
- #
- disklabel -w -B -b /usr/mdec/fdboot -s /usr/mdec/bootfd /dev/rfd0c fd1440
-
- #
- # newfs the one and only partition
- #
- newfs -t 2 -u 18 -l 1 -c 40 -i 5120 -m 5 -o space /dev/rfd0a
-
- #
- # mount the new floppy
- #
- mount /dev/fd0a /mnt
-
- #
- # create required directories
- #
- mkdir /mnt/dev
- mkdir /mnt/bin
- mkdir /mnt/sbin
- mkdir /mnt/etc
- mkdir /mnt/root
- mkdir /mnt/mnt # for the root partition
- mkdir /mnt/tmp
- mkdir /mnt/var
-
- #
- # populate the directories
- #
- if [ ! -x /sys/compile/MINI/kernel ]
- then
- cat << EOM
- The MINI kernel does not exist, please create one.
- Here is an example config file:
- #
- # MINI -- A kernel to get FreeBSD on onto a disk.
- #
- machine "i386"
- cpu "I486_CPU"
- ident MINI
- maxusers 5
-
- options INET # needed for _tcp _icmpstat _ipstat
- # _udpstat _tcpstat _udb
- options FFS #Berkeley Fast File System
- options FAT_CURSOR #block cursor in syscons or pccons
- options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device
- options NCONS=2 #1 virtual consoles
- options USERCONFIG #Allow user configuration with -c XXX
-
- config kernel root on sd0 swap on sd0 and sd1 dumps on sd0
-
- controller isa0
- controller pci0
-
- controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
- disk fd0 at fdc0 drive 0
-
- controller ncr0
-
- controller scbus0
-
- device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
- device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
-
- device sd0
- device sd1
- device sd2
-
- device st0
-
- pseudo-device loop # required by INET
- pseudo-device gzip # Exec gzipped a.out's
- EOM
- exit 1
- fi
-
- cp -f /sys/compile/MINI/kernel /mnt
-
- gzip -c -best /sbin/init > /mnt/sbin/init
- gzip -c -best /sbin/fsck > /mnt/sbin/fsck
- gzip -c -best /sbin/mount > /mnt/sbin/mount
- gzip -c -best /sbin/halt > /mnt/sbin/halt
- gzip -c -best /sbin/restore > /mnt/sbin/restore
-
- gzip -c -best /bin/sh > /mnt/bin/sh
- gzip -c -best /bin/sync > /mnt/bin/sync
-
- cp /root/.profile /mnt/root
-
- cp -f /dev/MAKEDEV /mnt/dev
- chmod 755 /mnt/dev/MAKEDEV
-
- chmod 500 /mnt/sbin/init
- chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
- chmod 555 /mnt/bin/sh /mnt/bin/sync
- chmod 6555 /mnt/sbin/restore
-
- #
- # create the devices nodes
- #
- cd /mnt/dev
- ./MAKEDEV std
- ./MAKEDEV sd0
- ./MAKEDEV sd1
- ./MAKEDEV sd2
- ./MAKEDEV st0
- ./MAKEDEV pty0
- cd /
-
- #
- # create minimum filesystem table
- #
- cat > /mnt/etc/fstab <<EOM
- /dev/fd0a / ufs rw 1 1
- EOM
-
- #
- # create minimum passwd file
- #
- cat > /mnt/etc/passwd <<EOM
- root:*:0:0:Charlie &:/root:/bin/sh
- EOM
-
- cat > /mnt/etc/master.passwd <<EOM
- root::0:0::0:0:Charlie &:/root:/bin/sh
- EOM
-
- chmod 600 /mnt/etc/master.passwd
- chmod 644 /mnt/etc/passwd
- /usr/sbin/pwd_mkdb -d/mnt/etc /mnt/etc/master.passwd
-
- #
- # umount the floppy and inform the user
- #
- /sbin/umount /mnt
-</verb></tscreen>
-
- <sect3><heading>After the Disaster</heading>
- <p>The key question is: did your hardware survive? You
-have been doing regular backups so there is no need to worry
-about the software.
-
- <p>If the hardware has been damaged. First, replace
-those parts that have been damaged.
-
- <p>If your hardware is okay, check your floppies. If you
-are using a custom boot floppy, boot single-user (type "-s" at
-the "boot:" prompt). Skip the following paragraph.
-
- <p>If you are using the boot.flp and fixit.flp floppies,
-keep reading. Insert the boot.flp floppy in the first floppy drive
-and boot the computer. The original install menu will be displayed
-on the screen. Select the "Fixit--Repair mode with CDROM or floppy."
-option. Insert the fixit.flp when prompted. <tt>restore</tt> and
-the other programs that you need are located in <tt>/mnt2/stand</tt>.
-
- <p>Recover each filesystem separately.
-
- <p>Try to <tt>mount(8) (e.g. mount /dev/sd0a /mnt) </tt>
-the root partition of your first disk. If the disklabel was
-damaged, use <tt>disklabel(8)</tt> to re-partition and label the
-disk to match the label that your printed and saved. Use
-<tt>newfs(8)</tt> to re-create the filesystems. Re-mount the
-root partition of the floppy read-write ("<tt>mount -u -o rw
-/mnt</tt>"). Use your backup program and backup tapes to recover
-the data for this filesystem (e.g. <tt>restore vrf
-/dev/st0</tt>). Unmount the filesystem (e.g. <tt>umount
-/mnt</tt>) Repeat for each filesystem that was damaged.
-
- <p>Once your system is running, backup your data onto new
-tapes. Whatever caused the crash or data loss may strike again.
-An another hour spent now, may save you from further distress later.
-
- <sect3><heading>* I did not prepare for the Disaster, What Now?</heading>
-<sect1><heading>* Serial ports</heading>
-<sect1><heading>* Sound cards</heading>
-<sect1><heading>* PCMCIA</heading>
-<sect1><heading>* Other<label id="hw:other"></heading>
-
diff --git a/share/doc/handbook/install.sgml b/share/doc/handbook/install.sgml
deleted file mode 100644
index 59bbcd6..0000000
--- a/share/doc/handbook/install.sgml
+++ /dev/null
@@ -1,819 +0,0 @@
-<!-- $Id: install.sgml,v 1.52 1997/03/07 12:35:57 jkh Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!--
-<!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'>
--->
-<chapt><heading>Installing FreeBSD<label id="install"></heading>
-
- <p>So, you would like to try out FreeBSD on your system?
- This section is a quick-start guide for what you need to
- do. FreeBSD can be installed from a variety of media
- including CD-ROM, floppy disk, magnetic tape, an MS-DOS
- partition, and if you have a network connection, via
- anonymous ftp or NFS.
-
- Regardless of the installation media you choose, you can
- get started by downloading the <bf>installation disk</bf>
- as described below. Booting your computer with disk will
- provide important information about compatibility between
- FreeBSD and your hardware which could dictate which
- installation options are possible. It can also provide
- early clues to compatibility problems that could prevent
- FreeBSD running on your system at all. If you plan on
- installing via anonymous FTP, then this installation disk
- is all you need to download.
-
- For more information on obtaining the FreeBSD distribution
- itself, please see <ref id="mirrors" name="Obtaining
- FreeBSD"> in the Appendix.
-
- So, to get the show on the road, follow these steps:
- <enum>
-
- <item>Review the <ref id="install:hw" name="supported
- configurations"> section of this installation guide to
- be sure that your hardware is supported by FreeBSD. It
- may be helpful to make a list of any special cards you
- have installed, such as SCSI controllers, Ethernet
- adapters or sound cards. This list should include
- relevant configuration parameters such as interrupts
- (IRQ) and IO port addresses.<P></P></item>
-
- <item>Download the <url
- url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/&rel.current;-RELEASE/floppies/boot.flp"
- name="installation boot disk image"> file to your hard
- drive, and be sure to tell your browser to
- <em>save</em> rather than <em>display</em>.
- <bf>Note:</bf> This disk image can only be used with
- 1.44 megabyte 3.5 inch floppy disks.<P></P></item>
-
- <item>Make the installation boot disk from the image file:
- <itemize>
- <item>If you are using MS-DOS download
- <url
-url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/tools/fdimage.exe"
- name="fdimage.exe">, then run it like so:
-<tscreen><verb>
-E:\> tools\fdimage floppies\boot.flp a:
-</verb></tscreen> The
- program will format the A: drive and then copy the
- boot.flp image onto it (assuming that you're at the top
- level of a FreeBSD distribution and the floppy images
- live in the floppies subdirectory).<P></P></item>
-
- <item>If you are using a UNIX system:
-<tscreen>
-% dd if=boot.flp of=<em>disk&lowbar;device</em>
-</tscreen>
- where <em>disk&lowbar;device</em> is the <tt>/dev</tt>
- entry for the floppy drive. On FreeBSD systems, this
- is <tt>/dev/fd0</tt> for the A: drive and
- <tt>/dev/fd1</tt> for the B: drive.<P></P></item>
- </itemize>
- <P></P></item>
-
- <item>With the installation disk in the A: drive, reboot your
- computer. You should get a boot prompt something like this:
- <tscreen>
-&gt;&gt; FreeBSD BOOT ...<newline>
-Usage: &lsqb;&lsqb;&lsqb;0:&rsqb;&lsqb;wd&rsqb;(0,a)&rsqb;/kernel&rsqb;&lsqb;-abcCdhrsv&rsqb;<newline>
-Use 1:sd(0,a)kernel to boot sd0 if it is BIOS drive 1<newline>
-Use ? for file list or press Enter for defaults<newline>
-Boot:
- </tscreen>
- If you do <em>not</em> type anything, FreeBSD will automatically boot
- with its default configuration after a delay of about
- five seconds. As FreeBSD boots, it probes your computer
- to determine what hardware is installed. The results of
- this probing is displayed on the screen.<P></P></item>
-
- <item>When the booting process is finished, The main FreeBSD
- installation menu will be displayed.</item>
-
- </enum>
-
- <p><bf>If something goes wrong...</bf>
-
- <p>Due to limitations of the PC architecture, it is
- impossible for probing to be 100 percent reliable. In the event
- that your hardware is incorrectly identified, or that the
- probing causes your computer to lock up, first check the
- <ref id="install:hw" name="supported
- configurations"> section of this installation guide to be
- sure that your hardware is indeed supported by FreeBSD.
-
- <p>If your hardware is supported, reset the computer and when
- the <tt>Boot:</tt> prompt comes up, type <bf>-c</bf>. This puts
- FreeBSD into a configuration mode where you can supply
- hints about your hardware. The FreeBSD kernel on the
- installation disk is configured assuming that most hardware
- devices are in their factory default configuration in terms
- of IRQs, IO addresses and DMA channels. If your hardware
- has been reconfigured, you will most likely need to use the
- <bf>-c</bf> option at boot to tell FreeBSD where things are.
-
- <p>It is also possible that a probe for a device not present
- will cause a later probe for another device that is present
- to fail. In that case, the probes for the conflicting
- driver(s) should be disabled.
-
- <p>In the configuration mode, you can:
-
- <itemize>
- <item>List the device drivers installed in the kernel.</item>
- <item>Disable device drivers for hardware not present in your
- system.</item>
- <item>Change the IRQ, DRQ, and IO port addresses used by a
- device driver.</item>
- </itemize>
-
- <p>While at the <tt>config&gt;</tt> prompt, type
- <tt>help</tt> for more information on the available
- commands. After adjusting the kernel to match how you have
- your hardware configured, type <tt>quit</tt> at the
- <tt>config&gt;</tt> prompt to continue booting with the new
- settings.
-
- After FreeBSD has been installed, changes made in the
- configuration mode will be permanent so you do not have
- to reconfigure every time you boot. Even so, it is likely
- that you will want to build a custom kernel to optimize the
- performance of your system. See <ref id="kernelconfig"
- name="Kernel configuration"> for more information on
- creating custom kernels.
-
- <sect><heading>Supported Configurations<label id="install:hw"></heading>
-
- <p>FreeBSD currently runs on a wide variety of ISA, VLB,
- EISA and PCI bus based PC's, ranging from 386sx to
- Pentium class machines (though the 386sx is not
- recommended). Support for generic IDE or ESDI drive
- configurations, various SCSI controller, network and
- serial cards is also provided.
-
- A minimum of four megabytes of RAM is required to run FreeBSD.
- To run the X Window System, eight megabytes of RAM is the
- recommended minimum.
-
- Following is a list of all disk controllers and Ethernet
- cards currently known to work with FreeBSD. Other
- configurations may very well work, and we have simply not
- received any indication of this.
-
- <sect1><heading>Disk Controllers</heading>
-
- <p>
- <itemize>
- <item>WD1003 (any generic MFM/RLL)
- <item>WD1007 (any generic IDE/ESDI)
- <item>IDE
- <item>ATA
-
- <item>Adaptec 1505 ISA SCSI controller
- <item>Adaptec 152x series ISA SCSI controllers
- <item>Adaptec 1535 ISA SCSI controllers
- <item>Adaptec 154x series ISA SCSI controllers
- <item>Adaptec 174x series EISA SCSI controller in
- standard and enhanced mode.
- <item>Adaptec 274x/284x/2940/2940U/3940
- (Narrow/Wide/Twin)
- series EISA/VLB/PCI SCSI controllers
- <item>Adaptec AIC7850 on-board SCSI controllers
- <item>Adaptec
- <!-- AIC-6260 and - actually not working, joerg -->
- AIC-6360 based boards,
- which includes the AHA-152x and SoundBlaster SCSI
- cards.
-
- <bf>Note:</bf> You cannot boot from the
- SoundBlaster cards as they have no on-board BIOS,
- which is necessary for mapping the boot device into
- the system BIOS I/O vectors. They are perfectly
- usable for external tapes, CDROMs, etc, however.
- The same goes for any other AIC-6x60 based card
- without a boot ROM. Some systems DO have a boot
- ROM, which is generally indicated by some sort of
- message when the system is first powered up or
- reset. Check your system/board documentation for
- more details.
-
- <item>Buslogic 545S &amp; 545c
- <bf>Note:</bf> that Buslogic was formerly known as "Bustek".
- <item>Buslogic 445S/445c VLB SCSI controller
- <item>Buslogic 742A/747S/747c EISA SCSI controller.
- <item>Buslogic 946c PCI SCSI controller
- <item>Buslogic 956c PCI SCSI controller
-
- <item>NCR 53C810/53C815/53C825/53C860/53C875 PCI SCSI controller.
- <item>NCR5380/NCR53400 (``ProAudio Spectrum'') SCSI controller.
-
- <item>DTC 3290 EISA SCSI controller in 1542 emulation mode.
-
- <item>UltraStor 14F/24F/34F SCSI controllers.
-
- <item>Seagate ST01/02 SCSI controllers.
-
- <item>Future Domain 8xx/950 series SCSI controllers.
-
- <item>WD7000 SCSI controllers.
-
- </itemize>
-
- With all supported SCSI controllers, full support is
- provided for SCSI-I &amp; SCSI-II peripherals,
- including Disks, tape drives (including DAT) and CD ROM
- drives.
-
- The following CD-ROM type systems are supported at this
- time:
-
- <itemize>
- <item>SoundBlaster SCSI and ProAudio Spectrum SCSI (<tt>cd</tt>)
- <item>Mitsumi (all models) proprietary interface (<tt>mcd</tt>)
- <item>Matsushita/Panasonic (Creative)
- CR-562/CR-563 proprietary interface (<tt>matcd</tt>)
- <item>Sony proprietary interface (<tt>scd</tt>)
- <item>ATAPI IDE interface
- (experimental and should be considered ALPHA quality!)
- (<tt>wcd</tt>)
- </itemize>
-
- <sect1><heading>Ethernet cards</heading>
-
- <p>
- <itemize>
-
- <item>Allied-Telesis AT1700 and RE2000 cards
-
- <item>SMC Elite 16 WD8013 Ethernet interface, and
- most other WD8003E, WD8003EBT, WD8003W, WD8013W,
- WD8003S, WD8003SBT and WD8013EBT based clones. SMC
- Elite Ultra is also supported.
-
- <item>DEC EtherWORKS III NICs (DE203, DE204, and DE205)
- <item>DEC EtherWORKS II NICs (DE200, DE201, DE202, and DE422)
- <item>DEC DC21040/DC21041/DC21140 based NICs:
- <itemize>
- <item>ASUS PCI-L101-TB
- <item>Accton ENI1203
- <item>Cogent EM960PCI
- <item>Compex CPXPCI/32C
- <item>D-Link DE-530
- <item>DEC DE435
- <item>Danpex EN-9400P3
- <item>JCIS Condor JC1260
- <item>Linksys EtherPCI
- <item>Mylex LNP101
- <item>SMC EtherPower 10/100 (Model 9332)
- <item>SMC EtherPower (Model 8432)
- <item>SMC EtherPower (2)
- <item>Zynx ZX342
- </itemize>
- <item>DEC FDDI (DEFPA/DEFEA) NICs
-
- <item>Fujitsu FMV-181 and FMV-182
-
- <item>Fujitsu MB86960A/MB86965A
-
- <item>Intel EtherExpress
-
- <item>Intel EtherExpress Pro/100B 100Mbit.
-
- <item>Isolan AT 4141-0 (16 bit)
- <item>Isolink 4110 (8 bit)
-
- <item>Novell NE1000, NE2000, and NE2100 ethernet interface.
-
- <item>3Com 3C501 cards
-
- <item>3Com 3C503 Etherlink II
-
- <item>3Com 3c505 Etherlink/+
-
- <item>3Com 3C507 Etherlink 16/TP
-
- <item>3Com 3C509, 3C579, 3C589 (PCMCIA) Etherlink III
-
- <item>3Com 3C590, 3C595 Etherlink III
-
- <item>HP PC Lan Plus (27247B and 27252A)
-
- <item>Toshiba ethernet cards
-
- <item>PCMCIA ethernet cards from IBM and National
- Semiconductor are also supported.
- </itemize>
-
- <p><em>Note:</em> FreeBSD does not currently support
- PnP (plug-n-play) features present on some ethernet
- cards. If your card has PnP and is giving you problems,
- try disabling its PnP features.
-
- <sect1><heading>Miscellaneous devices</heading>
-
- <p>
- <itemize>
- <item>AST 4 port serial card using shared IRQ.
-
- <item>ARNET 8 port serial card using shared IRQ.
-
- <item>BOCA IOAT66 6 port serial card using shared IRQ.
-
- <item>BOCA 2016 16 port serial card using shared IRQ.
-
- <item>Cyclades Cyclom-y Serial Board.
-
- <item>STB 4 port card using shared IRQ.
-
- <item>SDL Communications Riscom/8 Serial Board.
-
- <item>SDL Communications RISCom/N2 and N2pci sync serial cards.
-
- <item>Digiboard Sync/570i high-speed sync serial card.
-
- <item>Decision-Computer Intl. "Eight-Serial" 8 port serial cards
- using shared IRQ.
-
- <item>Adlib, SoundBlaster, SoundBlaster Pro,
- ProAudioSpectrum, Gravis UltraSound, Gravis UltraSound MAX
- and Roland MPU-401 sound cards.
-
- <item>Matrox Meteor video frame grabber.
-
- <item>Creative Labs Video spigot frame grabber.
-
- <item>Omnimedia Talisman frame grabber.
-
- <item>X-10 power controllers.
-
- <item>PC joystick and speaker.
- </itemize>
-
- FreeBSD does not currently support IBM's microchannel (MCA) bus.
-
- <sect><heading>Preparing for the installation</heading>
-
- <p>There are a number of different methods by which FreeBSD
- can be installed. The following describes what
- preparation needs to be done for each type.
-
- <sect1><heading>Before installing from CDROM</heading>
-
- <p>If your CDROM is of an unsupported type, then please
- skip to <ref id="install:msdos" name="MS-DOS Preparation">.
-
- There is not a lot of preparatory work that needs to be done to
- successfully install from one of Walnut Creek's FreeBSD CDROMs (other
- CDROM distributions may work as well, though we cannot say for certain
- as we have no hand or say in how they are created). You can either
- boot into the CD installation directly from DOS using Walnut Creek's
- supplied ``install.bat'' batch file or you can make a boot floppy with
- the ``makeflp.bat'' command. [NOTE: If you are running
- FreeBSD 2.1-RELEASE and have an IDE CDROM, use the
- inst&lowbar;ide.bat or atapiflp.bat batch files instead].
-
- For the easiest interface of all (from DOS), type
- ``view''. This will bring up a DOS menu utility that
- leads you through all the available options.
-
- If you are creating the boot floppy from a UNIX machine,
- see <ref id="install" name="the beginning of this
- guide"> for examples. of how to create the boot floppy.
-
- Once you have booted from DOS or floppy, you should then
- be able to select CDROM as the media type in the Media
- menu and load the entire distribution from CDROM. No
- other types of installation media should be required.
-
- After your system is fully installed and you have rebooted
- from the hard disk, you can mount the CDROM at any time by
- typing: <tt>mount /cdrom</tt>
-
- Before removing the CD again, also note that it is necessary to first
- type: <tt>umount /cdrom</tt>. Do not just remove it from the drive!
-
- <quote><bf>Special note:</bf> Before invoking the
- installation, be sure that the CDROM is in the drive
- so that the install probe can find it. This is also
- true if you wish the CDROM to be added to the default
- system configuration automatically during the install
- (whether or not you actually use it as the
- installation media).
- </quote>
-
- Finally, if you would like people to be able to FTP
- install FreeBSD directly from the CDROM in your
- machine, you will find it quite easy. After the machine
- is fully installed, you simply need to add the
- following line to the password file (using the vipw
- command):
-
-<tscreen><verb>
-ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
-</verb></tscreen>
-
- Anyone with network connectivity to your machine (and permission
- to log into it) can now chose a Media type of FTP and type
- in: <tt>ftp://<em>your machine</em></tt> after picking ``Other''
- in the ftp sites menu.
-
- <sect1><heading>Before installing from Floppy</heading>
-
- <p>If you must install from floppy disks, either due to
- unsupported hardware or simply because you enjoy doing
- things the hard way, you must first prepare some
- floppies for the install.
-
- You will need, at minimum, as many 1.44MB or 1.2MB floppies as
- it takes to hold all files in the bin (binary distribution)
- directory. If you are preparing these floppies under DOS, then
- THESE floppies *must* be formatted using the MS-DOS FORMAT
- command. If you are using Windows, use the Windows File
- Manager format command.
-
- Do <em>not</em> trust Factory Preformatted floppies! Format
- them again yourself, just to make sure. Many problems
- reported by our users in the past have resulted from the use
- of improperly formatted media, which is why I am taking such
- special care to mention it here!
-
- If you are creating the floppies from another FreeBSD machine,
- a format is still not a bad idea though you do nott need to put
- a DOS filesystem on each floppy. You can use the `disklabel'
- and `newfs' commands to put a UFS filesystem on them instead,
- as the following sequence of commands (for a 3.5" 1.44MB floppy
- disk) illustrates:
-
-<tscreen><verb>
- fdformat -f 1440 fd0.1440
- disklabel -w -r fd0.1440 floppy3
- newfs -t 2 -u 18 -l 1 -i 65536 /dev/rfd0
-
-(Use "fd0.1200" and "floppy5" for 5.25" 1.2MB disks).
-</verb></tscreen>
-
- Then you can mount and write to them like any other file
- system.
-
- After you have formatted the floppies, you will need to copy
- the files onto them. The distribution files are split into
- chunks conveniently sized so that 5 of them will fit on a
- conventional 1.44MB floppy. Go through all your floppies,
- packing as many files as will fit on each one, until you have
- got all the distributions you want packed up in this fashion.
- Each distribution should go into a subdirectory on the
- floppy, e.g.: <bf>a:&bsol;bin&bsol;bin.aa</bf>,
- <bf>a:&bsol;bin&bsol;bin.ab</bf>, and so on.
-
- Once you come to the Media screen of the install,
- select ``Floppy'' and you will be prompted for the rest.
-
-
-
- <sect1><heading>Before installing from a MS-DOS partition<label id="install:msdos"></heading>
-
- <p>To prepare for installation from an MS-DOS partition,
- copy the files from the distribution into a directory
- called <tt>C:&bsol;FREEBSD</tt>. The directory tree structure
- of the CDROM must be partially reproduced within this directory
- so we suggest using the DOS <tt>xcopy</tt>
- command. For example, to prepare for a minimal installation of
- FreeBSD:
-<tscreen><verb>
-C> MD C:\FREEBSD
-C> XCOPY /S E:\BIN C:\FREEBSD\BIN\
-C> XCOPY /S E:\MANPAGES C:\FREEBSD\MANPAGES\
-</verb></tscreen>
- assuming that <tt>C:</tt> is where you have free space
- and <tt>E:</tt> is where your CDROM is mounted.
-
- For as many `DISTS' you wish to install from MS-DOS
- (and you have free space for), install each one under
- <tt>C:&bsol;FREEBSD</tt> - the <tt>BIN</tt> dist is only the
- minimal requirement.
-
- <sect1><heading>Before installing from QIC/SCSI Tape</heading>
-
- <p>Installing from tape is probably the easiest method,
- short of an on-line install using FTP or a CDROM
- install. The installation program expects the files to
- be simply tar'ed onto the tape, so after getting all of
- the files for distribution you are interested in, simply
- tar them onto the tape with a command like:
-<tscreen>
-cd /freebsd/distdir<newline>
-tar cvf /dev/rwt0 (or /dev/rst0) dist1 .. dist2
-</tscreen>
-
- When you go to do the installation, you should also
- make sure that you leave enough room in some temporary
- directory (which you will be allowed to choose) to
- accommodate the <bf>full</bf> contents of the tape you have
- created. Due to the non-random access nature of tapes,
- this method of installation requires quite a bit of
- temporary storage. You should expect to require as
- much temporary storage as you have stuff written on
- tape.
-
- <quote><bf>Note:</bf> When going to do the
- installation, the tape must be in the drive
- <em>before</em> booting from the boot floppy. The
- installation probe may otherwise fail to find it.</quote>
-
-
-<sect1><heading>Before installing over a network</heading>
-
- <p>You can do network installations over 3 types of
- communications links:
- <descrip>
- <tag>Serial port</tag> SLIP or PPP
- <tag>Parallel port</tag> PLIP (laplink cable)
- <tag>Ethernet</tag> A
- standard ethernet controller (includes some PCMCIA).
- </descrip>
-
- SLIP support is rather primitive, and limited primarily
- to hard-wired links, such as a serial cable running
- between a laptop computer and another computer. The
- link should be hard-wired as the SLIP installation
- does not currently offer a dialing capability; that
- facility is provided with the PPP utility, which should
- be used in preference to SLIP whenever possible.
-
- If you are using a modem, then PPP is almost certainly
- your only choice. Make sure that you have your service
- provider's information handy as you will need to know it
- fairly soon in the installation process. You will need
- to know, at the minimum, your service provider's IP
- address and possibly your own (though you can also
- leave it blank and allow PPP to negotiate it with your
- ISP). You also need to know how to use the various ``AT
- commands'' to dial the ISP with your particular modem as
- the PPP dialer provides only a very simple terminal
- emulator.
-
- If a hard-wired connection to another FreeBSD (2.0R or
- later) machine is available, you might also consider
- installing over a ``laplink'' parallel port cable. The
- data rate over the parallel port is much higher than
- what is typically possible over a serial line (up to
- 50k/sec), thus resulting in a quicker installation.
-
- Finally, for the fastest possible network installation,
- an ethernet adaptor is always a good choice! FreeBSD
- supports most common PC ethernet cards, a table of
- supported cards (and their required settings) is
- provided in <ref id="install:hw" name="Supported
- Hardware">. If you are using one of the supported
- PCMCIA ethernet cards, also be sure that it is plugged
- in <em>before</em> the laptop is powered on! FreeBSD
- does not, unfortunately, currently support hot
- insertion of PCMCIA cards during installation.
-
- You will also need to know your IP address on the
- network, the netmask value for your address class,
- and the name of your machine. Your system
- administrator can tell you which values to use for your
- particular network setup. If you will be referring to
- other hosts by name rather than IP address, you will also
- need a name server and possibly the address of a
- gateway (if you are using PPP, it is your provider's IP
- address) to use in talking to it. If you do not know
- the answers to all or most of these questions, then you
- should really probably talk to your system
- administrator <em>first</em> before trying this type of
- installation.
-
- Once you have a network link of some sort working, the
- installation can continue over NFS or FTP.
-
- <sect2><heading>Preparing for NFS installation</heading>
-
- <p>NFS installation is fairly straight-forward: Simply
- copy the FreeBSD distribution files you want onto a
- server somewhere and then point the NFS media
- selection at it.
-
- If this server supports only ``privileged port'' access
- (as is generally the default for Sun workstations),
- you will need to set this option in the Options menu
- before installation can proceed.
-
- If you have a poor quality ethernet card which
- suffers from very slow transfer rates, you may also
- wish to toggle the appropriate Options flag.
-
- In order for NFS installation to work, the server
- must support subdir mounts, e.g., if your FreeBSD
- &rel.current; distribution directory lives on:
- <bf>ziggy:/usr/archive/stuff/FreeBSD</bf> Then ziggy will have
- to allow the direct mounting of
- <bf>/usr/archive/stuff/FreeBSD</bf>, not just <bf>/usr</bf> or
- <bf>/usr/archive/stuff</bf>.
-
- In FreeBSD's <bf>/etc/exports</bf> file, this is controlled by
- the ``<tt>-alldirs</tt>'' option. Other NFS servers may have
- different conventions. If you are getting
- `Permission Denied' messages from the server then
- it is likely that you do not have this enabled
- properly.
-
- <sect2><heading>Preparing for FTP Installation</heading>
-
- <p>FTP installation may be done from any mirror site
- containing a reasonably up-to-date version of FreeBSD
- &rel.current;. A full menu of reasonable choices from almost
- anywhere in the world is provided by the FTP site
- menu.
-
- If you are installing from some other FTP site not
- listed in this menu, or you are having troubles
- getting your name server configured properly, you can
- also specify your own URL by selecting the ``Other''
- choice in that menu. A URL can also be a direct IP
- address, so the following would work in the absence
- of a name server:
-
-<tscreen><verb>
-ftp://192.216.222.4/pub/FreeBSD/&rel.current;-RELEASE
-</verb></tscreen>
-
- There are two FTP installation modes you can use:
-
- <descrip>
- <tag>FTP Active</tag>
-
- For all FTP transfers, use ``Active'' mode. This
- will not work through firewalls, but will often
- work with older ftp servers that do not support
- passive mode. If your connection hangs with
- passive mode (the default), try active!
-
- <tag>FTP Passive</tag>
-
- For all FTP transfers, use ``Passive'' mode. This
- allows the user to pass through firewalls that do
- not allow incoming connections on random port
- addresses.
-
- </descrip>
-
- <quote><bf>Note:</bf> Active and passive modes are
- not the same as a `proxy' connection, where a proxy
- FTP server is listening and forwarding FTP requests!</quote>
-
- For a proxy FTP server, you should usually give name of
- the server you really want as a part of the username,
- after an @-sign. The proxy server then 'fakes' the real
- server. An example: Say you want to install from
- ftp.freebsd.org, using the proxy FTP server foo.bar.com,
- listening on port 1234.
-
- In this case, you go to the options menu, set the FTP
- username to ftp@ftp.freebsd.org, and the password to your
- e-mail address. As your installation media, you specify
- FTP (or passive FTP, if the proxy support it), and the URL
-<tscreen><verb>
-ftp://foo.bar.com:1234/pub/FreeBSD
-</verb></tscreen>
- /pub/FreeBSD from ftp.freebsd.org is proxied under
- foo.bar.com, allowing you to install from _that_ machine
- (which fetch the files from ftp.freebsd.org as your
- installation requests them).
-
- <sect><heading>Installing FreeBSD</heading>
-
- <p>Once you have taken note of the appropriate
- preinstallation steps, you should be able to install
- FreeBSD without any further trouble.
-
- Should this not be true, then you may wish to go back and
- re-read the relevant preparation section above
- for the installation media type you are trying to use,
- perhaps there is a helpful hint there that you missed the
- first time? If you are having hardware trouble, or
- FreeBSD refuses to boot at all, read the Hardware Guide
- provided on the boot floppy for a list of possible
- solutions.
-
- The FreeBSD boot floppy contains all the on-line
- documentation you should need to be able to navigate
- through an installation and if it does not then we would
- like to know what you found most confusing. Send your
- comments to the &a.doc;.
- It is the objective of the
- FreeBSD installation program (sysinstall) to be
- self-documenting enough that painful ``step-by-step''
- guides are no longer necessary. It may take us a little
- while to reach that objective, but that is the objective!
-
- Meanwhile, you may also find the following ``typical
- installation sequence'' to be helpful:
-
- <enum>
- <item>Boot the boot floppy. After a boot sequence
- which can take anywhere from 30 seconds to 3
- minutes, depending on your hardware, you should be
- presented with a menu of initial choices. If the
- floppy does not boot at all, or the boot hangs at some
- stage, go read the Q&amp;A section of the Hardware Guide
- for possible causes.
-
- <item>Press F1. You should see some basic usage
- instructions on the menu system and general
- navigation. If you have not used this menu system
- before then PLEASE read this thoroughly!
-
- <item>Select the Options item and set any special
- preferences you may have.
-
- <item>Select a Novice, Custom or Express install, depending on
- whether or not you would like the installation to help
- you through a typical installation, give you a high degree of
- control over each step of the installation or simply whizz
- through it (using reasonable defaults when possible) as fast
- as possible. If you have never used FreeBSD before then the
- Novice installation method is most recommended.
-
- <item>The final configuration menu choice allows you to
- further configure your FreeBSD installation by giving you
- menu-driven access to various system defaults. Some
- items, like networking, may be especially important
- if you did a CDROM/Tape/Floppy installation and have
- not yet configured your network interfaces (assuming
- you have any). Properly configuring such interfaces
- here will allow FreeBSD to come up on the network
- when you first reboot from the hard disk.
- </enum>
-
- <sect><heading>MS-DOS user's Questions and Answers</heading>
-
- <p>Many FreeBSD users wish to install FreeBSD on PCs inhabited
- by MS-DOS. Here are some commonly asked questions about
- installing FreeBSD on such systems.
-
- <p><bf>Help! I have no space! Do I need to delete
- everything first?</bf>
-
- If your machine is already running MS-DOS and has little
- or no free space available for FreeBSD's installation,
- all is not lost! You may find the FIPS utility, provided
- in the <tt>tools</tt> directory on the FreeBSD CDROM or
- on the various FreeBSD ftp sites, to be quite useful.
-
- FIPS allows you to split an existing MS-DOS partition
- into two pieces, preserving the original partition and
- allowing you to install onto the second free piece. You
- first defragment your MS-DOS partition, using the DOS
- 6.xx DEFRAG utility or the Norton Disk tools, then run
- FIPS. It will prompt you for the rest of the information
- it needs. Afterwards, you can reboot and install FreeBSD
- on the new free slice. See the <em>Distributions</em>
- menu for an estimation of how much free space you will need
- for the kind of installation you want.
-
-
- <bf>Can I use compressed MS-DOS filesystems from
- FreeBSD?</bf>
-
- No. If you are using a utility such as Stacker(tm) or
- DoubleSpace(tm), FreeBSD will only be able to use
- whatever portion of the filesystem you leave
- uncompressed. The rest of the filesystem will show up as
- one large file (the stacked/dblspaced file!). <bf>Do not
- remove that file!</bf> You will probably regret it
- greatly!
-
- It is probably better to create another uncompressed
- MS-DOS primary partition and use this for communications
- between MS-DOS and FreeBSD.
-
-
- <bf>Can I mount my MS-DOS extended partitions?</bf>
-
- Yes. DOS extended partitions are mapped in at the end of the other
- ``slices'' in FreeBSD, e.g. your D: drive might be /dev/sd0s5,
- your E: drive /dev/sd0s6, and so on. This example assumes, of
- course, that your extended partition is on SCSI drive 0. For IDE drives,
- substitute ``wd'' for ``sd'' appropriately. You otherwise mount extended
- partitions exactly like you would mount any other DOS drive, e.g.:
-
-<tscreen><verb>
-mount -t msdos /dev/sd0s5 /dos_d
-</verb></tscreen>
-
- <bf>Can I run MS-DOS binaries under FreeBSD?</bf>
-
- Not yet! We would like to add support for this someday, but
- are still lacking anyone to actually do the work. BSDI has
- also donated their DOS emulator to the BSD world and this is slowly
- being ported to FreeBSD-current.
-
- Send mail to the &a.emulation if you're interested in joining
- this effort!
-
- In the interim, there is a nice application available in the
- <ref id="ports" name="The Ports Collection"> called pcemu
- which allows you to run many basic MS-DOS text-mode binaries
- by entirely emulating an 8088 CPU.
diff --git a/share/doc/handbook/isdn.sgml b/share/doc/handbook/isdn.sgml
deleted file mode 100644
index f3f51bf..0000000
--- a/share/doc/handbook/isdn.sgml
+++ /dev/null
@@ -1,226 +0,0 @@
-<!-- $Id$-->
-<!-- The FreeBSD Documentation Project -->
-
-<sect><heading>ISDN<label id="isdn"></heading>
-
-<p><em>Last modified by &a.wlloyd;</em>.
-
-<p>A good resource for information on ISDN technology and hardware is
-<url url="http://alumni.caltech.edu/~dank/isdn/" name="Dan Kegel's
-ISDN Page">.
-
-A quick simple roadmap to ISDN follows:
-<itemize>
-<item>If you live in Europe I suggest you investigate the ISDN card
-section.
-
-<item>If you are planning to use ISDN primarily to connect to the
-Internet with an Internet Provider on a dialup non-dedicated basis, I
-suggest you look into Terminal Adapters. This will give you the most
-flexibility, with the fewest problems, if you change providers.
-
-<item>If you are connecting two lans together, or connecting to the
-Internet with a dedicated ISDN connection, I suggest you consider the
-stand alone router/bridge option.
-</itemize>
-
-<p>Cost is a significant factor in determining what solution you will
-choose. The following options are listed from least expensive to most
-expensive.
-
-<sect1><heading>ISDN Cards</heading>
-
-<p><em>Original Contribution by &a.hm;.</em>
-
-<p>This section is really only relevant to European ISDN users. The
-cards supported are not yet(?) available for North American ISDN
-standards.
-
-<p>You should be aware that this code is largely under development.
-Specifically, drivers have only been written for two manufacturers
-cards.
-
-<p>PC ISDN cards support the full bandwidth of ISDN, 128Kbs. These
-cards are often the least expensive type of ISDN equipment.
-
-<p>Under FreeBSD 2.1.0 and 2.1.5, there is early unfinished ISDN code
-under /usr/src/gnu/isdn. This code is out of date and should not be
-used. If you want to go this route, get the bisdn stuff. This code
-has been removed from the main source tree starting with FreeBSD 2.2.
-
-<p>There is the bisdn ISDN package available from
-<url url="ftp://ftp.muc.ditec.de/isdn" name="ftp.muc.ditec.de">
-supporting FreeBSD 2.1R, FreeBSD-current and NetBSD.
-The latest source can be found on the above mentioned ftp server under
-directory isdn as file bisdn-097.tar.gz.
-
-There are drivers for the following cards:
-<itemize>
-<item>Currently all (passive) Teles cards and their clones are supported
-for the EuroISDN (DSS1) and 1TR6 protocols.
-<item>Dr. Neuhaus - Niccy 1016
-</itemize>
-
-There are several limitations with the bisdn stuff. Specifically the
-following features usually associated with ISDN are not supported.
-
-<itemize>
-<item>No PPP support, only raw hdlc. This means you cannot connect to most
-standalone routers.
-<item>Bridging Control Protocol not supported.
-<item>Multiple cards are not supported.
-<item>No bandwidth on demand.
-<item>No channel bundling.
-</itemize>
-
-A majordomo maintained mailing list is available, to subscribe, send the
-usual majordomo requests to
-<htmlurl url="mailto:isdn-request@muc.ditec.de"
-name="isdn-request@muc.ditec.de">.
-
-<sect1><heading>ISDN Terminal Adapters</heading>
-
-<p>Terminal adapters(TA), are to ISDN what modems are to regular phone
-lines.
-<p>Most TA's use the standard hayes modem AT command set, and can be
-used as a drop in replacement for a modem.
-
-A TA will operate basically the same as a modem except connection and
-throughput speeds will be much faster than your old modem. You will
-need to configure <ref id="ppp" name="PPP"> exactly the same as for a
-modem setup. Make sure you set your serial speed as high as possible.
-
-The main advantage of using a TA to connect to an Internet Provider is
-that you can do Dynamic PPP. As IP address space becomes more and more
-scarce, most providers are not willing to provide you with a static IP
-anymore. Most standalone routers are not able to accommodate dynamic IP
-allocation.
-
-TA's completely rely on the PPP daemon that you are running for their
-features and stability of connection. This allows you to upgrade easily
-from using a modem to ISDN on a FreeBSD machine, if you already have PPP
-setup. However, at the same time any problems you experienced with the
-PPP program and are going to persist.
-
-If you want maximum stability, use the kernel <ref id="ppp" name="PPP">
-option, not the user-land <ref id="userppp" name="iijPPP">.
-<p>The following TA's are know to work with FreeBSD.
-
-<itemize>
-<item>Motorola BitSurfer and Bitsurfer Pro
-<item>Adtran
-</itemize>
-
-Most other TA's will probably work as well, TA vendors try to make sure
-their product can accept most of the standard modem AT command set.
-
-The real problem with external TA's is like modems you need a good
-serial card in your computer.
-
-You should read the <ref id="uart" name="serial ports"> section in the
-handbook for a detailed understanding of serial devices, and the
-differences between asynchronous and synchronous serial ports.
-
-A TA running off a standard PC serial port (asynchronous) limits you to
-115.2Kbs, even though you have a 128Kbs connection. To fully utilize
-the 128Kbs that ISDN is capable of, you must move the TA to a
-synchronous serial card.
-
-Do not be fooled into buying an internal TA and thinking you have
-avoided the synchronous/asynchronous issue. Internal TA's simply have a
-standard PC serial port chip built into them. All this will do, is save
-you having to buy another serial cable, and find another empty
-electrical socket.
-
-A synchronous card with a TA is at least as fast as a standalone router,
-and with a simple 386 FreeBSD box driving it, probably more flexible.
-
-The choice of sync/TA vs standalone router is largely a religious
-issue. There has been some discussion of this in the mailing lists. I
-suggest you search the <url url="http://www.freebsd.org/search.html"
-name="archives"> for the complete discussion.
-
-<sect1><heading>Standalone ISDN Bridges/Routers</heading>
-
-<p>ISDN bridges or routers are not at all specific to FreeBSD or any
-other operating system. For a more complete description of routing and
-bridging technology, please refer to a Networking reference book.
-
-In the context of this page, I will use router and bridge
-interchangeably.
-
-<p>As the cost of low end ISDN routers/bridges comes down, it will
-likely become a more and more popular choice. An ISDN router is a small
-box that plugs directly into your local Ethernet network(or card), and
-manages its own connection to the other bridge/router. It has all the
-software to do PPP and other protocols built in.
-
-A router will allow you much faster throughput that a standard TA, since
-it will be using a full synchronous ISDN connection.
-
-The main problem with ISDN routers and bridges is that interoperability
-between manufacturers can still be a problem. If you are planning to
-connect to an Internet provider, I recommend that you discuss your needs
-with them.
-
-<p>If you are planning to connect two lan segments together, ie: home
-lan to the office lan, this is the simplest lowest maintenance
-solution. Since you are buying the equipment for both sides of the
-connection you can be assured that the link will work.
-
-For example to connect a home computer or branch office network to a
-head office network the following setup could be used.
-
-<em>Branch office or Home network</em>
-
-Network is 10 Base T Ethernet. Connect router to network cable with
-AUI/10BT transceiver, if necessary.
-
-<verb>
----Sun workstation
-|
----FreeBSD box
-|
----Windows 95 (Do not admit to owning it)
-|
-Standalone router
- |
-ISDN BRI line
-</verb>
-If your home/branch office is only one computer you can use a twisted
-pair crossover cable to connect to the standalone router directly.
-
-<em>Head office or other lan</em>
-
-Network is Twisted Pair Ethernet.
-<verb>
- -------Novell Server
- | H |
- | ---Sun
- | |
- | U ---FreeBSD
- | |
- | ---Windows 95
- | B |
- |___---Standalone router
- |
- ISDN BRI line
-</verb>
-
-One large advantage of most routers/bridges is that they allow you to
-have 2 SEPARATE INDEPENDENT PPP connections to 2 separate sites at the
-SAME time. This is not supported on most TA's, except for
-specific(expensive) models that have two serial ports. Do not confuse
-this with channel bonding, MPP etc.
-
-This can be very useful feature, for example if you have an dedicated
-internet ISDN connection at your office and would like to tap into it,
-but don't want to get another ISDN line at work. A router at the office
-location can manage a dedicated B channel connection (64Kbs) to the
-internet, as well as a use the other B channel for a separate data connection.
-The second B channel can be used for dialin, dialout or dynamically
-bond(MPP etc.) with the first B channel for more bandwidth.
-
-<p>An Ethernet bridge will also allow you to transmit more than just
-IP traffic, you can also send IPX/SPX or whatever other protocols you
-use.</p>
diff --git a/share/doc/handbook/kerberos.sgml b/share/doc/handbook/kerberos.sgml
deleted file mode 100644
index e2c264e..0000000
--- a/share/doc/handbook/kerberos.sgml
+++ /dev/null
@@ -1,480 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect><heading>Kerberos<label id="kerberos"></heading>
-
-<p><em>Contributed by &a.markm; (based on contribution by &a.md;).</em>
-
- Kerberos is a network add-on system/protocol that allows users to
- authenticate themselves through the services of a secure server.
- Services such as remote login, remote copy, secure inter-system
- file copying and other high-risk tasks are made considerably safer
- and more controllable.
-
- The following instructions can be used as a guide on how to
- set up Kerberos as distributed for FreeBSD. However, you should refer
- to the relevant manual pages for a complete description.
-
- In FreeBSD, the Kerberos is not that from the original 4.4BSD-Lite,
- distribution, but eBones, which had been previously ported to
- FreeBSD 1.1.5.1, and was sourced from outside the USA/Canada,
- and is thus available to system owners outside those countries.
-
- For those needing to get a legal foreign distribution of this
- software, please <em>DO NOT</em> get it from a USA or Canada site.
- You will get that site in <em>big</em> trouble! A legal copy of this is
- available from <tt>skeleton.mikom.csir.co.za</tt>, which is in South
- Africa.
-
- <sect1>
- <heading>Creating the initial database</heading>
-
- <p>This is done on the Kerberos server only. First make sure that your
- do not have any old Kerberos databases around. You should change to the
- directory <tt>/etc/kerberosIV</tt> and check that only the following
- files are present:
-
-<tscreen><verb>
-grunt# cd /etc/kerberosIV
-grunt# ls
-README krb.conf krb.realms
-</verb></tscreen>
-
- <p>If any additional files (such as <tt>principal.*</tt> or
- <tt>master_key</tt>) exist, then use the <tt>kdb_destroy</tt>
- command to destroy the old Kerberos database, of if Kerberos
- is not running, simply delete the extra files with <tt>rm</tt>.
-
- You should now edit the <tt>krb.conf</tt> and <tt>krb.realms</tt>
- files to define your Kerberos realm. In this case the realm will
- be <it>GRONDAR.ZA</it> and the server is <it>grunt.grondar.za</it>.
- We edit or create the <tt>krb.conf</tt> file:
-
-<tscreen><verb>
-grunt# cat krb.conf
-GRONDAR.ZA
-GRONDAR.ZA grunt.grondar.za admin server
-CS.BERKELEY.EDU okeeffe.berkeley.edu
-ATHENA.MIT.EDU kerberos.mit.edu
-ATHENA.MIT.EDU kerberos-1.mit.edu
-ATHENA.MIT.EDU kerberos-2.mit.edu
-ATHENA.MIT.EDU kerberos-3.mit.edu
-LCS.MIT.EDU kerberos.lcs.mit.edu
-TELECOM.MIT.EDU bitsy.mit.edu
-ARC.NASA.GOV trident.arc.nasa.gov
-</verb></tscreen>
-
- <p>In this case, the other realms do not need to be there.
- They are here as an example of how a machine may be made aware
- of multiple realms. You may wish to not include them for simplicity.
-
- The first line names the realm in which this system works. The other
- lines contain realm/host entries. The first item on a line is a realm,
- and the second is a host in that realm that is acting as a ``key
- distribution centre''. The words ``admin server'' following a hosts
- name means that host also provides an administrative database server.
- For further explanation of these terms, please consult the Kerberos
- man pages.
-
- Now we have to add <it>grunt.grondar.za</it> to the <it>GRONDAR.ZA</it>
- realm and also add an entry to put all hosts in the <it>.grondar.za</it>
- domain in the <it>GRONDAR.ZA</it> realm. The <tt>krb.realms</tt> file
- would be updated as follows:
-
-<tscreen><verb>
- grunt# cat krb.realms
- grunt.grondar.za GRONDAR.ZA
- .grondar.za GRONDAR.ZA
- .berkeley.edu CS.BERKELEY.EDU
- .MIT.EDU ATHENA.MIT.EDU
- .mit.edu ATHENA.MIT.EDU
-</verb></tscreen>
-
- <p>Again, the other realms do not need to be there.
- They are here as an example of how a machine may be made aware
- of multiple realms. You may wish to remove them to simplify things.
-
- The first line puts the <it>specific</it> system into the named
- realm. The rest of the lines show how to default systems of a
- particular subdomain to a named realm.
-
- Now we are ready to create the database. This only needs to run on
- the Kerberos server (or Key Distribution Centre). Issue the
- <tt>kdb_init</tt> command to do this:
-
-<tscreen><verb>
-grunt# kdb_init
-Realm name [default ATHENA.MIT.EDU ]: GRONDAR.ZA
-You will be prompted for the database Master Password.
-It is important that you NOT FORGET this password.
-
-Enter Kerberos master key:
-</verb></tscreen>
-
- <p>Now we have to save the key so that servers on the local
- machine can pick it up. Use the <tt>kstash</tt> command to
- do this.
-
-<tscreen><verb>
-grunt# kstash
-
-Enter Kerberos master key:
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-</verb></tscreen>
-
- <p>This saves the encrypted master password in
- <tt>/etc/kerberosIV/master_key</tt>.
-
- <sect1>
- <heading>Making it all run</heading>
-
- <p>Two principals need to be added to the database for <it>each</it>
- system that will be secured with Kerberos. Their names are
- <tt>kpasswd</tt> and <tt>rcmd</tt> These two principals are
- made for each system, with the instance being the name of the
- individual system.
-
- These daemons, <tt>kpasswd</tt> and <tt>rcmd</tt> allow other systems
- to change Kerberos passwords and run commands like <tt>rcp</tt>,
- <tt>rlogin</tt> and <tt>rsh</tt>.
-
- Now lets add these entries:
-
-<tscreen><verb>
-grunt# kdb_edit
-Opening database...
-
-Enter Kerberos master key:
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-Previous or default values are in [brackets] ,
-enter return to leave the same, or new value.
-
-Principal name: passwd
-Instance: grunt
-
-<Not found>, Create [y] ? y
-
-Principal: passwd, Instance: grunt, kdc_key_ver: 1
-New Password: <---- enter RANDOM here
-Verifying password
-
-New Password: <---- enter RANDOM here
-
-Random password [y] ? y
-
-Principal's new key version = 1
-Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
-Max ticket lifetime (*5 minutes) [ 255 ] ?
-Attributes [ 0 ] ?
-Edit O.K.
-Principal name: rcmd
-Instance: grunt
-
-<Not found>, Create [y] ?
-
-Principal: rcmd, Instance: grunt, kdc_key_ver: 1
-New Password: <---- enter RANDOM here
-Verifying password
-
-New Password: <---- enter RANDOM here
-
-Random password [y] ?
-
-Principal's new key version = 1
-Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
-Max ticket lifetime (*5 minutes) [ 255 ] ?
-Attributes [ 0 ] ?
-Edit O.K.
-Principal name: <---- null entry here will cause an exit
-</verb></tscreen>
-
- <sect1>
- <heading>Creating the server file</heading>
-
- <p>We now have to extract all the instances which define the services
- on each machine. For this we use the <tt>ext_srvtab</tt> command.
- This will create a file which must be copied or moved <it>by secure
- means</it> to each Kerberos client's /etc/kerberosIV directory. This
- file must be present on each server and client, and is crucial to the
- operation of Kerberos.
-
-<tscreen><verb>
-grunt# ext_srvtab grunt
-
-Enter Kerberos master key:
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-Generating 'grunt-new-srvtab'....
-</verb></tscreen>
-
- <p>Now, this command only generates a temporary file
- which must be renamed to <tt>srvtab</tt> so that all the
- server can pick it up. Use the <tt>mv</tt> command to move it
- into place on the original system:
-
-<tscreen><verb>
-grunt# mv grunt-new-srvtab srvtab
-</verb></tscreen>
-
- <p>If the file is for a client system, and the network is not
- deemed safe, then copy the <tt>&lt;client&gt;-new-srvtab</tt> to
- removable media and transport it by secure physical means. Be
- sure to rename it to <tt>srvtab</tt> in the client's
- <tt>/etc/kerberosIV</tt> directory, and make sure it is mode 600:
-
-<tscreen><verb>
-grumble# mv grumble-new-srvtab srvtab
-grumble# chmod 600 srvtab
-</verb></tscreen>
-
- <sect1>
- <heading>Populating the database</heading>
-
- <p>We now have to add some user entries into the database.
- First lets create an entry for the user <it>jane</it>. Use
- the <tt>kdb_edit</tt> command to do this:
-
-<tscreen><verb>
-grunt# kdb_edit
-Opening database...
-
-Enter Kerberos master key:
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-Previous or default values are in [brackets] ,
-enter return to leave the same, or new value.
-
-Principal name: jane
-Instance:
-
-<Not found>, Create [y] ? y
-
-Principal: jane, Instance: , kdc_key_ver: 1
-New Password: <---- enter a secure password here
-Verifying password
-
-New Password: <---- re-enter the password here
-
-Principal's new key version = 1
-Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
-Max ticket lifetime (*5 minutes) [ 255 ] ?
-Attributes [ 0 ] ?
-Edit O.K.
-Principal name: <---- null entry here will cause an exit
-</verb></tscreen>
-
- <sect1>
- <heading>Testing it all out</heading>
-
- <p>First we have to start the Kerberos daemons. NOTE that if you have
- correctly edited your <tt>/etc/sysconfig</tt> then this will happen
- automatically when you reboot. This is only necessary on the Kerberos
- server. Kerberos clients will automagically get what they need from
- the <tt>/etc/kerberosIV</tt> directory.
-
-<tscreen><verb>
-grunt# kerberos &
-grunt# Kerberos server starting
- Sleep forever on error
- Log file is /var/log/kerberos.log
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-
-Current Kerberos master key version is 1
-Local realm: GRONDAR.ZA
-grunt# kadmind -n &
-grunt# KADM Server KADM0.0A initializing
-Please do not use 'kill -9' to kill this job, use a
-regular kill instead
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-</verb></tscreen>
-
- <p>Now we can try using the <tt>kinit</tt> command to get a ticket for
- the id <it>jane</it> that we created above:
-
-<tscreen><verb>
-grunt$ kinit jane
-MIT Project Athena (grunt.grondar.za)
-Kerberos Initialization for "jane"
-Password:
-</verb></tscreen>
-
- <p>Try listing the tokens using <tt>klist</tt> to see if we really have them:
-
-<tscreen><verb>
-grunt$ klist
-Ticket file: /tmp/tkt245
-Principal: jane@GRONDAR.ZA
-
- Issued Expires Principal
-Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.GRONDAR.ZA@GRONDAR.ZA
-</verb></tscreen>
-
- <p>Now try changing the password using <tt>passwd</tt> to check if the
- kpasswd daemon can get authorization to the Kerberos database:
-
-<tscreen><verb>
-grunt$ passwd
-realm GRONDAR.ZA
-Old password for jane:
-New Password for jane:
-Verifying password
-New Password for jane:
-Password changed.
-</verb></tscreen>
-
- <sect1>
- <heading>Adding <tt>su</tt> privileges</heading>
-
- <p>Kerberos allows us to give <it>each</it> user who needs root
- privileges their own <it>separate</it> <tt>su</tt>password. We
- could now add an id which is authorized to <tt>su</tt> to <it>root</it>.
- This is controlled by having an instance of <it>root</it> associated
- with a principal. Using <tt>kdb_edit</tt> we can create the entry
- <it>jane.root</it> in the Kerberos database:
-
-<tscreen><verb>
-grunt# kdb_edit
-Opening database...
-
-Enter Kerberos master key:
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-Previous or default values are in [brackets] ,
-enter return to leave the same, or new value.
-
-Principal name: jane
-Instance: root
-
-<Not found>, Create [y] ? y
-
-Principal: jane, Instance: root, kdc_key_ver: 1
-New Password: <---- enter a SECURE password here
-Verifying password
-
-New Password: <---- re-enter the password here
-
-Principal's new key version = 1
-Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
-Max ticket lifetime (*5 minutes) [ 255 ] ? 12 <--- Keep this short!
-Attributes [ 0 ] ?
-Edit O.K.
-Principal name: <---- null entry here will cause an exit
-</verb></tscreen>
-
- <p>Now try getting tokens for it to make sure it works:
-
-<tscreen><verb>
-grunt# kinit jane.root
-MIT Project Athena (grunt.grondar.za)
-Kerberos Initialization for "jane.root"
-Password:
- </verb></tscreen>
-
- <p>Now we need to add the user to root's <tt>.klogin</tt> file:
-
-<tscreen><verb>
-grunt# cat /root/.klogin
-jane.root@GRONDAR.ZA
-</verb></tscreen>
-
- <p>Now try doing the <tt>su</tt>:
-
-<tscreen><verb>
-[jane@grunt 10407] su
-Password:
-grunt#
- </verb></tscreen>
-
- and take a look at what tokens we have:
-
-<tscreen><verb>
-grunt# klist
-Ticket file: /tmp/tkt_root_245
-Principal: jane.root@GRONDAR.ZA
-
- Issued Expires Principal
-May 2 20:43:12 May 3 04:43:12 krbtgt.GRONDAR.ZA@GRONDAR.ZA
-</verb></tscreen>
-
- <sect1>
- <heading>Using other commands</heading>
-
- <p>In an earlier example, we created a principal called <tt>jane</tt>
- with an instance <tt>root</tt>. This was based on a user with the
- same name as the principal, and this is a Kerberos default; that a
- <em>&lt;principal&gt;.&lt;instance&gt;</em> of the form
- <em>&lt;username&gt;.</em><tt>root</tt> will allow that
- <em>&lt;username&gt;</em> to <tt>su</tt> to root if the necessary
- entries are in the <tt>.klogin</tt> file in <tt>root</tt>'s home
- directory:
-
-<tscreen><verb>
-grunt# cat /root/.klogin
-jane.root@GRONDAR.ZA
-</verb></tscreen>
-
- <p>Likewise, if a user has in their own home directory lines of the
- form:
-
-<tscreen><verb>
-[jane@grunt 10543] cat ~/.klogin
-jane@GRONDAR.ZA
-jack@GRONDAR.ZA
-</verb></tscreen>
-
- <p>This allows anyone in the <em>GRONDAR.ZA</em> realm who has
- authenticated themselves to <em>jane</em> or <em>jack</em> (via
- <tt>kinit</tt>, see above) access to <tt>rlogin</tt> to <em>jane</em>'s
- account or files on this system (<em>grunt</em>) via <tt>rlogin</tt>,
- <tt>rsh</tt> or <tt>rcp</tt>.
-
- For example, Jane now logs into another system, using Kerberos:
-
-<tscreen><verb>
-[jane@grumble 573] kinit
-MIT Project Athena (grunt.grondar.za)
-Password:
-[jane@grumble 574] rlogin grunt
-Last login: Mon May 1 21:14:47 from grumble
-Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
- The Regents of the University of California. All rights reserved.
-
-FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
-
-[jane@grunt 10567]
-</verb></tscreen>
-
- <p>Or Jack logs into Jane's account on the same machine (Jane having set up
- the <tt>.klogin</tt> file as above, and the person in charge of Kerberos
- having set up principal <em>jack</em> with a null instance:
-
-<tscreen><verb>
-[jack@grumble 573] kinit
-[jack@grumble 574] rlogin grunt -l jane
-MIT Project Athena (grunt.grondar.za)
-Password:
-Last login: Mon May 1 21:16:55 from grumble
-Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
- The Regents of the University of California. All rights reserved.
-
-FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
-
-[jane@grunt 10578]
-</verb></tscreen>
diff --git a/share/doc/handbook/kernelconfig.sgml b/share/doc/handbook/kernelconfig.sgml
deleted file mode 100644
index 4310d28..0000000
--- a/share/doc/handbook/kernelconfig.sgml
+++ /dev/null
@@ -1,1285 +0,0 @@
-<!-- $Id: kernelconfig.sgml,v 1.27 1997/02/22 12:58:42 peter Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-<!-- <!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'> -->
- <chapt><heading>Configuring the FreeBSD Kernel<label id="kernelconfig"></heading>
-
- <p><em>Contributed by &a.jehamby;.<newline>6 October 1995.</em>
-
- This large section of the handbook discusses the basics of
- building your own custom kernel for FreeBSD. This section
- is appropriate for both novice system administrators and
- those with advanced Unix experience.
-
- <sect><heading>Why build a custom kernel?</heading>
-
- <p>Building a custom kernel is one of the most important
- rites of passage every Unix system administrator must
- learn. This process, while time-consuming, will provide
- many benefits to your FreeBSD system. Unlike the GENERIC
- kernel, which must support every possible SCSI and
- network card, along with tons of other rarely used
- hardware support, a custom kernel only contains support
- for <em>your</em> PC's hardware. This has a number of
- benefits:
-
- <itemize>
-
- <item>It will take less time to boot because it does not
- have to spend time probing for hardware which you
- do not have.
-
- <item>A custom kernel often uses less memory, which is
- important because the kernel is the one process which
- must always be present in memory, and so all of that
- unused code ties up pages of RAM that your programs
- would otherwise be able to use. Therefore, on a
- system with limited RAM, building a custom kernel is
- of critical importance.
-
- <item>Finally, there are several kernel options which
- you can tune to fit your needs, and device driver
- support for things like sound cards which you can
- include in your kernel but are <em>not</em> present
- in the GENERIC kernel.
-
- </itemize></p>
-
- <sect><heading>Building and Installing a Custom Kernel<label id="kernelconfig:building"></heading>
-
- <p>First, let us take a quick tour of the kernel build
- directory. All directories mentioned will be relative to
- the main <tt>/usr/src/sys</tt> directory, which is also
- accessible through <tt>/sys</tt>. There are a number of
- subdirectories here representing different parts of the
- kernel, but the most important, for our purposes, are
- <tt>i386/conf</tt>, where you will edit your custom
- kernel configuration, and <tt>compile</tt>, which is the
- staging area where your kernel will be built. Notice the
- logical organization of the directory tree, with each
- supported device, filesystem, and option in its own
- subdirectory. Also, anything inside the <tt>i386</tt>
- directory deals with PC hardware only, while everything
- outside the <tt>i386</tt> directory is common to all
- platforms which FreeBSD could potentially be ported to.
-
- <quote><em/Note:/ If there is <em>not</em> a
- <tt>/usr/src/sys</tt> directory on your system, then the
- kernel source has not been been installed. Follow the
- instructions for installing packages to add this package
- to your system.</quote>
-
- Next, move to the <tt>i386/conf</tt> directory and copy
- the GENERIC configuration file to the name you want to
- give your kernel. For example:
-<tscreen><verb>
-# cd /usr/src/sys/i386/conf
-# cp GENERIC MYKERNEL
-</verb></tscreen>
- Traditionally, this name is in all capital letters and,
- if you are maintaining multiple FreeBSD machines with
- different hardware, it is a good idea to name it after
- your machine's hostname. We will call it MYKERNEL for
- the purpose of this example.
-
- <quote><em/Note:/ You must execute these and all of the
- following commands under the root account or you will get
- ``permission denied'' errors.</quote>
-
- Now, edit MYKERNEL with your favorite text editor. If
- you are just starting out, the only editor available will
- probably be <tt>vi</tt>, which is too complex to explain
- here, but is covered well in many books in the <ref
- id="bibliography" name="bibliography">. Feel free to change the
- comment lines at the top to reflect your configuration or the
- changes you have made to differentiate it from GENERIC.
-
- If you have build a kernel under SunOS or some other BSD
- operating system, much of this file will be very familiar
- to you. If you are coming from some other operating
- system such as DOS, on the other hand, the GENERIC
- configuration file might seem overwhelming to you, so
- follow the descriptions in the <ref
- id="kernelconfig:config" name="Configuration File">
- section slowly and carefully.
-
- <quote><em/Note:/ If you are trying to upgrade your kernel from an
- older version of FreeBSD, you will probably have to get a new
- version of <tt>config(8)</tt> from the same place you got the new
- kernel sources. It is located in <tt>/usr/src/usr.sbin</tt>, so
- you will need to download those sources as well. Re-build and install
- it before running the next commands.</quote>
-
- When you are finished, type the following to compile and
- install your kernel:
-<tscreen><verb>
-# /usr/sbin/config MYKERNEL
-# cd ../../compile/MYKERNEL
-# make depend
-# make
-# make install
-</verb></tscreen>
- The new kernel will be copied to the root directory as
- <tt>/kernel</tt> and the old kernel will be moved to
- <tt>/kernel.old</tt>. Now, shutdown the system and
- reboot to use your kernel. In case something goes wrong,
- there are some <ref id="kernelconfig:trouble" name=
- "troubleshooting"> instructions at the end of this
- document. Be sure to read the section which explains how
- to recover in case your new kernel <ref
- id="kernelconfig:noboot" name="does not boot">.
-
- <quote><em/Note:/ If you have added any new devices (such
- as sound cards) you may have to add some <ref
- id="kernelconfig:nodes" name="device nodes"> to your
- <tt>/dev</tt> directory before you can use them.</quote>
-
- <sect><heading>The Configuration File<label id="kernelconfig:config"></heading>
-
- <p>The general format of a configuration file is quite simple.
- Each line contains a keyword and one or more arguments. For
- simplicity, most lines only contain one argument. Anything
- following a <tt>#</tt> is considered a comment and ignored.
- The following sections describe each keyword, generally in the
- order they are listed in GENERIC, although some related
- keywords have been grouped together in a single section (such
- as Networking) even though they are actually scattered
- throughout the GENERIC file. <label id="kernelconfig:options">
- An exhaustive list of options and more detailed explanations
- of the device lines is present in the LINT configuration file,
- located in the same directory as GENERIC. If you are in doubt
- as to the purpose or necessity of a line, check first in LINT.
-
- <p>The kernel is currently being moved to a better organization
- of the option handling. Traditionally, each option in the
- config file was simply converted into a <tt>-D</tt> switch
- for the <tt>CFLAGS</tt> line of the kernel Makefile. Naturally,
- this caused a creeping optionism, with nobody really knowing
- which option has been referenced in what files.
-
- <p>In the new scheme, every <tt>#ifdef</tt> that is intended to
- be dependent upon an option gets this option out of an
- <tt>opt_<em>foo</em>.h</tt> declaration file created in the
- compile directory by <tt>config</tt>. The list of valid options
- for <tt>config</tt> lives in two files: options that do not
- depend on the architecture are listed in
- <tt>/sys/conf/options</tt>, architecture-dependent ones
- in <tt>/sys/<em>arch</em>/conf/options.<em>arch</em></tt>,
- with <em>arch</em> being for example <tt>i386</tt>.
-
- <sect1><heading>Mandatory Keywords</heading>
-
- <p>These keywords are required in every kernel you build.
-
- <descrip>
-
- <tag>machine ``i386''</tag>
-
- <p>The first keyword is <tt>machine</tt>, which,
- since FreeBSD only runs on Intel 386 and compatible
- chips, is i386.
-
- <quote><em>Note:</em> that any keyword which
- contains numbers used as text must be enclosed in
- quotation marks, otherwise <tt>config</tt> gets
- confused and thinks you mean the actual number
- 386.</quote>
-
- <tag>cpu ``<em>cpu_type</em>''</tag>
-
- <p>The next keyword is <tt>cpu</tt>, which includes
- support for each CPU supported by FreeBSD. The
- possible values of <tt><em>cpu_type</em></tt>
- include:
- <itemize>
- <item>I386_CPU
- <item>I486_CPU
- <item>I586_CPU
- <item>I686_CPU
- </itemize>
- and multiple instances of the <tt>cpu</tt> line may
- be present with different values of
- <tt><em>cpu_type</em></tt> as are present in the
- GENERIC kernel. For a custom kernel, it is best to
- specify only the cpu you have. If, for example,
- you have an Intel Pentium, use <tt>I586_CPU</tt>
- for <tt><em>cpu_type</em></tt>.
-
- <tag>ident <em>machine_name</em></tag>
-
- <p>Next, we have <tt>ident</tt>, which is the
- identification of the kernel. You should change
- this from GENERIC to whatever you named your
- kernel, in this example, MYKERNEL. The value you
- put in <tt>ident</tt> will print when you boot up
- the kernel, so it is useful to give a kernel a
- different name if you want to keep it separate from
- your usual kernel (if you want to build an
- experimental kernel, for example). Note that, as
- with <tt>machine</tt> and <tt> cpu</tt>, enclose
- your kernel's name in quotation marks if it
- contains any numbers.
-
- Since this name is passed to the C compiler as a
- <tt>-D</tt> switch, do not use names like <tt>
- DEBUG</tt>, or something that could be confused
- with another machine or CPU name, like <tt>vax</tt>.
-
- <tag>maxusers <em>number</em></tag>
-
- <p>This file sets the size of a number of important
- system tables. This number is supposed to be
- roughly equal to the number of simultaneous users
- you expect to have on your machine. However, under
- normal circumstances, you will want to set
- <tt>maxusers</tt> to at least four, especially if
- you are using the X Window System or compiling software. The
- reason is that the most important table set by
- <tt>maxusers</tt> is the maximum number of
- processes, which is set to <bf><tt>20 + 16 *
- maxusers</tt></bf>, so if you set <tt>maxusers</tt>
- to one, then you can only have 36 simultaneous
- processes, including the 18 or so that the system
- starts up at boot time, and the 15 or so you will
- probably create when you start the X Window System. Even a
- simple task like reading a <tt>man</tt> page will
- start up nine processes to filter, decompress, and
- view it. Setting <tt>maxusers</tt> to 4 will allow
- you to have up to 84 simultaneous processes, which
- should be enough for anyone. If, however, you see
- the dreaded ``proc table full'' error when trying
- to start another program, or are running a server
- with a large number of simultaneous users (like
- Walnut Creek CDROM's FTP site), you can always
- increase this number and rebuild.
-
- <quote><em/Note:/ <tt>maxuser</tt> does
- <em>not</em> limit the number of users which can
- log into your machine. It simply sets various
- table sizes to reasonable values considering the
- maximum number of users you will likely have on
- your system and how many processes each of them
- will be running. One keyword which
- <em>does</em> limit the number of simultaneous
- <em>remote logins</em> is <ref
- id="kernelconfig:ptys" name="pseudo-device pty
- 16">.</quote>
-
- <tag>config <em>kernel_name</em> root on <em>root_device</em></tag>
-
- <p>This line specifies the location and name of the
- kernel. Traditionally the kernel is called
- <tt>vmunix</tt> but in FreeBSD, it is aptly named
- <tt>kernel</tt>. You should always use
- <tt>kernel</tt> for <em>kernel_name</em> because
- changing it will render numerous system utilities
- inoperative. The second part of the line specifies
- the disk and partition where the root filesystem
- and kernel can be found. Typically this will be
- <tt>wd0</tt> for systems with non-SCSI drives, or
- <tt>sd0</tt> for systems with SCSI drives.
-
- </descrip>
-
- <sect1><heading>General Options</heading>
-
- <p>These lines provide kernel support for various
- filesystems and other options.
-
- <descrip>
-
- <label id="kernelconfig:mathemu">
-
- <tag>options MATH_EMULATE</tag>
-
- <p>This line allows the kernel to simulate a math
- co-processor if your computer does not have one (386
- or 486SX). If you have a Pentium, a 486DX, or a
- 386 or 486SX with a separate 387 or 487 chip, you
- can comment this line out.
-
- <quote><em>Note:</em> The normal math co-processor
- emulation routines that come with FreeBSD are
- <em>not</em> very accurate. If you do not have a
- math co-processor, and you need the best accuracy,
- I recommend that you change this option to
- <tt>GPL_MATH_EMULATE</tt> to use the superior GNU
- math support, which is not included by default
- for licensing reasons.</quote>
-
- <tag>options ``COMPAT_43''</tag>
-
- <p>Compatibility with 4.3BSD. Leave this in; some
- programs will act strangely if you comment this
- out.
-
- <tag>options BOUNCE_BUFFERS</tag>
-
- <p>ISA devices and EISA devices operating in an ISA
- compatibility mode can only perform DMA (Direct
- Memory Access) to memory below 16 megabytes. This
- option enables such devices to work in systems with
- more than 16 megabytes of memory.
-
- <tag>options UCONSOLE</tag>
-
- <p>Allow users to grab the console, useful for X
- Windows. For example, you can create a console
- xterm by typing <tt>xterm -C</tt>, which will
- display any `write', `talk', and other messages you
- receive, as well as any console messages sent by the
- kernel.
-
- <tag>options SYSVSHM</tag>
-
- <p>This option
- provides for System V shared memory. The most
- common use of this is the XSHM extension in X
- Windows, which many graphics-intensive programs
- (such as the movie player XAnim, and Linux DOOM)
- will automatically take advantage of for extra
- speed. If you use the X Window System, you will definitely
- want to include this.
-
- <tag>options SYSVSEM</tag>
-
- <p>Support for System V
- semaphores. Less commonly used but only adds a few
- hundred bytes to the kernel.
-
- <tag>options SYSVMSG</tag>
-
- <p>Support for System V
- messages. Again, only adds a few hundred bytes to
- the kernel.
-
- <quote><em/Note:/ The <tt>ipcs(1)</tt> command will
- tell will list any processes using each of
- these System V facilities.</quote>
-
- </descrip>
-
- <sect1><heading>Filesystem Options</heading>
-
- <p>These options add support for various filesystems.
- You must include at least one of these to support the
- device you boot from; typically this will be
- <tt>FFS</tt> if you boot from a hard drive, or
- <tt>NFS</tt> if you are booting a diskless workstation
- from Ethernet. You can include other commonly-used
- filesystems in the kernel, but feel free to comment out
- support for filesystems you use less often (perhaps the
- MS-DOS filesystem?), since they will be dynamically
- loaded from the Loadable Kernel Module directory
- <tt>/lkm</tt> the first time you mount a partition of
- that type.
-
- <descrip>
-
- <tag>options FFS</tag>
-
- <p>The basic hard drive
- filesystem; leave it in if you boot from the hard
- disk.
-
- <tag>options NFS</tag>
-
- <p>Network Filesystem. Unless
- you plan to mount partitions from a Unix file
- server over Ethernet, you can comment this out.
-
- <tag>options MSDOSFS</tag>
-
- <p>MS-DOS Filesystem. Unless
- you plan to mount a DOS formatted hard drive
- partition at boot time, you can safely comment this
- out. It will be automatically loaded the first
- time you mount a DOS partition, as described above.
- Also, the excellent <tt>mtools</tt> software (in
- the ports collection) allows you to access DOS
- floppies without having to mount and unmount them
- (and does not require MSDOSFS at all).
-
- <tag>options ``CD9660''</tag>
-
- <p>ISO 9660 filesystem for
- CD-ROMs. Comment it out if you do not have a
- CD-ROM drive or only mount data CD's occasionally
- (since it will be dynamically loaded the first time
- you mount a data CD). Audio CD's do not need this
- filesystem.
-
- <tag>options PROCFS</tag>
-
- <p>Process filesystem. This
- is a pretend filesystem mounted on /proc which
- allows programs like <tt>ps(1)</tt> to give you
- more information on what processes are running.
-
- <tag>options MFS</tag>
-
- <p>Memory-mapped file system.
- This is basically a RAM disk for fast storage of
- temporary files, useful if you have a lot of swap
- space that you want to take advantage of. A
- perfect place to mount an MFS partition is on the
- <tt>/tmp</tt> directory, since many programs store
- temporary data here. To mount an MFS RAM disk on
- <tt>/tmp</tt>, add the following line to
- <tt>/etc/fstab</tt> and then reboot or type
- <tt>mount /tmp</tt>:
-<tscreen><verb>
-/dev/wd1s2b /tmp mfs rw 0 0
-</verb></tscreen>
-
- <quote><em/Note:/ Replace the <tt>/dev/wd1s2b</tt>
- with the name of your swap partition, which will
- be listed in your <tt>/etc/fstab</tt> as follows:
-<tscreen><verb>
-/dev/wd1s2b none swap sw 0 0
-</verb></tscreen>
- </quote>
-
- <quote><em/Note:/ <!-- MFS is currently a bit
- limited (for example, I noticed that two programs
- can not access the <tt>/tmp</tt> device
- simultaneously). As such, you may want to avoid
- it for now. --> Also, the <tt>MFS</tt> filesystem
- can <em>not</em> be dynamically loaded, so you
- <em>must</em> compile it into your kernel if you
- want to experiment with it.</quote>
-
- <tag>options QUOTA</tag>
-
- <p>Enable disk quotas. If you
- have a public access system, and do not want users
- to be able to overflow the <tt>/home</tt>
- partition, you can establish disk quotas for each
- user. Refer to the
- <ref id="quotas" name="Disk Quotas">
- section for more information.
-
- </descrip>
-
- <sect1><heading>Basic Controllers and Devices</heading>
-
- <p>These sections describe the basic disk, tape, and
- CD-ROM controllers supported by FreeBSD. There are
- separate sections for <ref id="kernelconfig:scsi"
- name="SCSI"> controllers and <ref
- id="kernelconfig:network" name="network"> cards.
-
- <descrip>
-
- <tag>controller isa0</tag>
-
- <p>All PC's supported by
- FreeBSD have one of these. If you have an IBM PS/2
- (Micro Channel Architecture), then you cannot run
- FreeBSD at this time.
-
- <tag>controller pci0</tag>
-
- <p>Include this if you have a
- PCI motherboard. This enables auto-detection of
- PCI cards and gatewaying from the PCI to the ISA
- bus.
-
- <tag>controller fdc0</tag>
-
- <p>Floppy drive controller:
- <tt>fd0</tt> is the ``A:'' floppy drive, and
- <tt>fd1</tt> is the ``B:'' drive. <tt>ft0</tt> is
- a QIC-80 tape drive attached to the floppy
- controller. Comment out any lines corresponding to
- devices you do not have.
-
- <quote><em/Note:/ QIC-80 tape support requires a
- separate filter program called <tt>ft(8)</tt>, see
- the manual page for details.</quote>
-
- <tag>controller wdc0</tag>
-
- <p>This is the primary IDE
- controller. <tt>wd0</tt> and <tt>wd1</tt> are the
- master and slave hard drive, respectively.
- <tt>wdc1</tt> is a secondary IDE controller where
- you might have a third or fourth hard drive, or an
- IDE CD-ROM. Comment out the lines which do not
- apply (if you have a SCSI hard drive, you will
- probably want to comment out all six lines, for
- example).
-
- <tag>device wcd0<label id="kernelconfig:atapi"></tag>
-
- <p>This device
- provides IDE CD-ROM support. Be sure to leave
- <tt>wdc0</tt> uncommented, and <tt/wdc1/ if you have
- more than one IDE controller and your CD-ROM is on
- the second one card. To use this, you must
- also include the line <tt>options ATAPI</tt>.
-
- <tag>device npx0 at isa? port ``IO_NPX'' irq 13 vector npxintr</tag>
-
- <p><tt>npx0</tt> is the interface to the floating point math
- unit in FreeBSD, either the hardware co-processor or the
- software math emulator. It is <em/NOT/ optional.
-
- <tag>device wt0 at isa? port 0x300 bio irq 5 drq 1 vector wtintr</tag>
-
- <p>Wangtek and Archive
- QIC-02/QIC-36 tape drive support
-
- <tag>Proprietary CD-ROM support</tag>
-
- <p>The following
- drivers are for the so-called <em>proprietary</em>
- CD-ROM drives. These drives have their own
- controller card or might plug into a sound card
- such as the SoundBlaster 16. They are <em>not</em>
- IDE or SCSI. Most older single-speed and
- double-speed CD-ROMs use these interfaces, while
- newer quad-speeds are likely to be <ref
- id="kernelconfig:atapi" name="IDE"> or <ref
- id="kernelconfig:scsi" name="SCSI">.
-
- <descrip>
-
- <tag>device mcd0 at isa? port 0x300 bio irq 10 vector mcdintr</tag>
-
- <p>Mitsumi CD-ROM (LU002,
- LU005, FX001D).
-
- <tag>device scd0 at isa? port 0x230 bio</tag>
-
- <p>Sony CD-ROM (CDU31, CDU33A).
-
- <tag>controller matcd0 at isa? port ? bio</tag>
-
- <p>Matsushita/Panasonic CD-ROM (sold by Creative
- Labs for SoundBlaster).
-
- </descrip>
-
- </descrip>
-
- <sect1><heading>SCSI Device Support<label id="kernelconfig:scsi"></heading>
-
- <p>This section describes the various SCSI controllers
- and devices supported by FreeBSD.
-
- <descrip>
-
- <tag>SCSI Controllers</tag>
-
- <p>The next ten or so lines include support for
- different kinds of SCSI controllers. Comment out
- all except for the one(s) you have:
-
- <descrip>
-
- <tag>controller bt0 at isa? port ``IO_BT0'' bio irq ? vector btintr</tag>
-
- <p>Most Buslogic controllers
-
- <tag>controller uha0 at isa? port ``IO_UHA0'' bio irq ? drq 5 vector uhaintr</tag>
-
- <p>UltraStor 14F and 34F
-
- <tag>controller ahc0</tag>
-
- <p>Adaptec 274x/284x/294x
-
- <tag>controller ahb0 at isa? bio irq ? vector ahbintr</tag>
-
- <p>Adaptec 174x
-
- <tag>controller aha0 at isa? port ``IO_AHA0'' bio irq ? drq 5 vector ahaintr</tag>
-
- <p>Adaptec 154x
-
- <tag>controller aic0 at isa? port 0x340 bio irq 11 vector aicintr
-</tag>
-
- <p>Adaptec 152x and sound cards using Adaptec AIC-6360 (slow!)
-
- <tag>controller nca0 at isa? port 0x1f88 bio irq 10 vector ncaintr
-</tag>
-
- <p>ProAudioSpectrum cards using NCR 5380 or Trantor T130
-
- <tag>controller sea0 at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr</tag>
-
- <p>Seagate ST01/02 8 bit controller (slow!)
-
- <tag>controller wds0 at isa? port 0x350 bio irq 15 drq 6 vector wdsintr</tag>
-
- <p>Western Digital WD7000 controller
-
- <tag>controller ncr0</tag>
-
- <p>NCR 53C810, 53C815, 53C825, 53C860, 53C875 PCI SCSI controller
-
- </descrip>
-
- <tag>options ``SCSI_DELAY=15''</tag>
-
- <p>This causes the
- kernel to pause 15 seconds before probing each SCSI
- device in your system. If you only have IDE hard
- drives, you can ignore this, otherwise you will
- probably want to lower this number, perhaps to 5
- seconds, to speed up booting. Of course if you do
- this, and FreeBSD has trouble recognizing your SCSI
- devices, you will have to raise it back up.
-
- <tag>controller scbus0</tag>
-
- <p>If you have any SCSI
- controllers, this line provides generic SCSI
- support. If you do not have SCSI, you can comment
- this, and the following three lines, out.
-
- <tag>device sd0</tag>
-
- <p>Support for SCSI hard
- drives.
-
- <tag>device st0</tag>
-
- <p>Support for SCSI tape
- drives.
-
- <tag>device cd0</tag>
-
- <p>Support for SCSI CD-ROM
- drives.
-
- <p>Note that the number <bf>0</bf> in the above entries
- is slightly misleading: all these devices are
- automatically configured as they are found, regardless
- of how many of them are hooked up to the SCSI bus(es),
- and which target IDs they have.
-
- If you want to ``wire down'' specific target IDs to
- particular devices, refer to the appropriate section
- of the LINT kernel config file.
-
- </descrip>
-
- <sect1><heading>Console, Bus Mouse, and X Server Support</heading>
-
- <p>You must choose one of these two console types, and, if you plan
- to use the X Window System with the vt220 console, enable the
- XSERVER option and optionally, a bus mouse or PS/2 mouse device.
-
- <descrip>
-
- <tag>device sc0 at isa? port ``IO_KBD' tty irq 1 vector scintr</tag>
-
- <p><tt>sc0</tt> is the default
- console driver, which resembles an SCO console.
- Since most full-screen programs access the console
- through a terminal database library like
- <em>termcap</em>, it should not matter much whether
- you use this or <tt>vt0</tt>, the VT220 compatible
- console driver. When you log in, set your TERM
- variable to ``scoansi'' if full-screen programs
- have trouble running under this console.
-
- <tag>device vt0 at isa? port ``IO_KBD'' tty irq 1 vector pcrint</tag>
-
- <p>This is a VT220-compatible
- console driver, backwards compatible to VT100/102.
- It works well on some laptops which have hardware
- incompatibilities with <tt>sc0</tt>. Also, set
- your TERM variable to ``vt100'' or ``vt220'' when
- you log in. This driver might also prove useful
- when connecting to a large number of different
- machines over the network, where the <em>termcap</em>
- or <em>terminfo</em> entries for the <tt>sc0</tt>
- device are often not available -- ``vt100'' should be
- available on virtually any platform.
-
- <descrip>
-
- <tag>options ``PCVT_FREEBSD=210''</tag>
-
- <p>Required
- with the <tt>vt0</tt> console driver.
-
- <tag>options XSERVER</tag>
-
- <p>Only applicable with the <tt>vt0</tt> console driver.
- This includes code
- required to run the <tt>XFree86</tt> X Window
- Server under the <tt>vt0</tt> console driver.
-
- </descrip>
-
- <tag>device mse0 at isa? port 0x23c tty irq 5 vector ms</tag>
-
- <p>Use this device if you have a Logitech or
- ATI InPort bus mouse card.
-
- <quote><em/Note:/ If you have a serial mouse,
- ignore these two lines, and instead, make sure
- the appropriate <ref id="kernelconfig:serial"
- name="serial"> port is enabled (probably
- COM1).</quote>
-
- <tag>device psm0 at isa? port ``IO_KBD'' conflicts tty irq 12 vector psmintr</tag>
-
- <p>Use this device if your
- mouse plugs into the PS/2 mouse port.
-
- </descrip>
-
- <sect1><heading>Serial and Parallel Ports</heading>
-
- <p>Nearly all systems have these. If you are attaching a
- printer to one of these ports, the <ref id="printing"
- name="Printing"> section of the handbook is very
- useful. If you are using modem, <ref id="dialup"
- name="Dialup access"> provides extensive detail on
- serial port configuration for use with such devices.
-
- <descrip>
-
- <tag>device sio0 at isa? port ``IO_COM1'' tty irq 4 vector siointr<label id="kernelconfig:serial"></tag>
-
- <p><tt>sio0</tt>
- through <tt>sio3</tt> are the four serial ports
- referred to as COM1 through COM4 in the MS-DOS
- world. Note that if you have an internal modem on
- COM4 and a serial port at COM2 you will have to
- change the IRQ of the modem to 2 (for obscure
- technical reasons IRQ 2 = IRQ 9) in order to access
- it from FreeBSD. If you have a multiport serial
- card, check the manual page for <tt>sio(4)</tt> for
- more information on the proper values for these
- lines. Some video cards (notably
- those based on S3 chips) use IO addresses of the
- form <tt>0x*2e8</tt>, and since many cheap serial
- cards do not fully decode the 16-bit IO address
- space, they clash with these cards, making the
- COM4 port practically unavailable.
-
- Each serial port is required to have a unique
- IRQ (unless you are using one of the multiport cards
- where shared interrupts are supported), so the default
- IRQs for COM3 and COM4 cannot be used.
-
- <tag>device lpt0 at isa? port? tty irq 7 vector lptintr</tag>
-
- <p><tt>lpt0</tt> through <tt>lpt2</tt>
- are the three printer ports you could conceivably
- have. Most people just have one, though, so feel
- free to comment out the other two lines if you do
- not have them.
-
- </descrip>
-
- <sect1><heading>Networking<label id="kernelconfig:network"></heading>
-
- <p>FreeBSD, as with Unix in general, places a
- <em>big</em> emphasis on networking. Therefore, even
- if you do not have an Ethernet card, pay attention to
- the mandatory options and the dial-up networking
- support.
-
- <descrip>
-
- <tag>options INET</tag>
- Networking support. Leave it in even if you do not plan
- to be connected to a network. Most programs require at least
- loopback networking (i.e. making network connections within your
- PC) so this is essentially mandatory.
-
- <tag>Ethernet cards</tag>
-
- <p>The next lines enable support for various Ethernet
- cards. If you do not have a network card, you can
- comment out all of these lines. Otherwise, you will
- want to leave in support for your particular
- Ethernet card(s):
-
- <descrip>
-
- <tag>device de0</tag>
-
- <p>Ethernet adapters based on Digital Equipment DC21040,
- DC21041 or DC21140 chips
-
- <tag>device fxp0</tag>
-
- <p>Intel EtherExpress Pro/100B
-
- <tag>device vx0</tag>
-
- <p>3Com 3C590 and 3C595 (buggy)
-
- <tag>device cx0 at isa? port 0x240 net irq 15 drq 7 vector cxintr</tag>
-
- <p>Cronyx/Sigma multiport
- sync/async (with Cisco or PPP framing)
-
- <tag>device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr</tag>
-
- <p>Western Digital and SMC 80xx and 8216; Novell NE1000
- and NE2000; 3Com 3C503; HP PC Lan Plus (HP27247B and HP27252A)
-
- <tag>device el0 at isa? port 0x300 net irq 9 vector elintr</tag>
-
- <p>3Com 3C501 (slow!)
-
- <tag>device eg0 at isa? port 0x310 net irq 5 vector egintr</tag>
-
- <p>3Com 3C505
-
- <tag>device ep0 at isa? port 0x300 net irq 10 vector epintr</tag>
-
- <p>3Com 3C509 (buggy)
-
- <tag>device fe0 at isa? port 0x240 net irq ? vector feintr</tag>
-
- <p>Fujitsu MB86960A/MB86965A Ethernet
-
- <tag>device fea0 at isa? net irq ? vector feaintr</tag>
-
- <p>DEC DEFEA EISA FDDI adapter
-
- <tag>device ie0 at isa? port 0x360 net irq 7 iomem 0xd0000 vector ieintr</tag>
-
- <p>AT&amp;T StarLAN 10 and EN100; 3Com 3C507;
- unknown NI5210
-
- <tag>device ix0 at isa? port 0x300 net irq 10 iomem 0xd0000 iosiz 32768 vector ixintr</tag>
-
- <p>Intel EtherExpress 16
-
- <tag>device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr</tag>
-
- <p>Digital Equipment EtherWorks 2 and EtherWorks
- 3 (DEPCA, DE100, DE101, DE200, DE201, DE202,
- DE203, DE204, DE205, DE422)
-
- <tag>device lnc0 at isa? port 0x300 net irq 10 drq 0 vector lncintr</tag>
-
- <p>Lance/PCnet cards (Isolan, Novell NE2100,
- NE32-VL)
-
- <tag>device ze0 at isa? port 0x300 net irq 5 iomem 0xd8000 vector zeintr</tag>
-
- <p>IBM/National Semiconductor PCMCIA ethernet
- controller.
-
- <tag>device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr</tag>
-
- <p>3Com PCMCIA Etherlink III
-
- </descrip>
-
- <quote><em/Note:/ With certain cards (notably the
- NE2000) you will have to change the port and/or IRQ
- since there is no ``standard'' location for these
- cards.</quote>
-
- <tag>pseudo-device loop</tag>
-
- <p><tt>loop</tt> is the
- generic loopback device for TCP/IP. If you telnet
- or FTP to <em>localhost</em>
- (a.k.a. <tt>127.0.0.1</tt>) it will come back at
- you through this pseudo-device. Mandatory.
-
- <tag>pseudo-device ether</tag>
-
- <p><tt>ether</tt> is only
- needed if you have an Ethernet card and includes
- generic Ethernet protocol code.
-
- <tag>pseudo-device sl <em>number</em></tag>
-
- <p><tt>sl</tt> is for SLIP (Serial Line Internet
- Protocol) support. This has been almost entirely
- supplanted by PPP, which is easier to set up,
- better suited for modem-to-modem connections, as
- well as more powerful. The <em>number</em> after
- <tt>sl</tt> specifies how many simultaneous SLIP
- sessions to support. This handbook has more
- information on setting up a SLIP <ref id="slipc"
- name="client"> or <ref id="slips" name="server">.
-
- <tag>pseudo-device ppp <em>number</em></tag>
-
- <p><tt>ppp</tt> is for kernel-mode PPP (Point-to-Point
- Protocol) support for dial-up Internet connections.
- There is also version of PPP implemented as a user
- application that uses the <tt>tun</tt> and offers
- more flexibility and features such as demand
- dialing. If you still want to use this PPP driver,
- read the <ref id="ppp" name="kernel-mode PPP">
- section of the handbook. As with the <tt>sl</tt>
- device, <em>number</em> specifies how many
- simultaneous PPP connections to support.
-
- <tag>pseudo-device tun <em>number</em></tag>
-
- <p><tt>tun</tt> is used by the user-mode PPP software.
- This program is easy to set up and very fast. It
- also has special features such as automatic
- dial-on-demand. The number after <tt>tun</tt>
- specifies the number of simultaneous PPP sessions
- to support. See the <ref id="userppp"
- name="user-mode PPP"> section of the handbook for
- more information.
-
- <tag>pseudo-device bpfilter <em>number</em></tag>
-
- <p>Berkeley packet filter. This pseudo-device allows
- network interfaces to be placed in promiscuous
- mode, capturing every packet on a broadcast network
- (e.g. an ethernet). These packets can be captured
- to disk and/or examined with the
- <tt>tcpdump(1)</tt> program. Note that
- implementation of this capability can seriously
- compromise your overall network security.
- The <em>number</em> after bpfilter is the number of
- interfaces that can be examined
- simultaneously. Optional, not recommended except
- for those who are fully aware of the potential
- pitfalls. Not all network cards support this
- capability.
-
- </descrip>
-
- <sect1><heading>Sound cards</heading>
-
- <p>This is the first section containing lines that are
- not in the GENERIC kernel. To include sound card
- support, you will have to copy the appropriate lines from
- the LINT kernel (which contains support for
- <em>every</em> device) as follows:
-
- <descrip>
-
- <tag>controller snd0</tag>
-
- <p>Generic sound driver code.
- Required for all of the following sound cards
- except <tt>pca</tt>.
-
- <tag>device pas0 at isa? port 0x388 irq 10 drq 6 vector pasintr</tag>
-
- <p>ProAudioSpectrum digital audio and MIDI.
-
- <tag>device sb0 at isa? port 0x220 irq 7 conflicts drq 1 vector sbintr</tag>
-
- <p>SoundBlaster digital audio.
-
- <quote><em/Note:/ If your SoundBlaster is on a
- different IRQ (such as 5), change <tt>irq 7</tt>
- to, for example, <tt>irq 5</tt> and remove the
- <tt>conflicts</tt> keyword. Also, you must add
- the line: <tt>options ``SBC_IRQ=5''</tt></quote>
-
- <tag>device sbxvi0 at isa? drq 5</tag>
-
- <p>SoundBlaster 16 digital 16-bit audio.
-
- <quote><em/Note:/ If your SB16 is on a different
- 16-bit DMA channel (such as 6 or 7), change the
- <tt>drq 5</tt> keyword appropriately, and then
- add the line: <tt>options
- "SB16_DMA=6"</tt></quote>
-
- <tag>device sbmidi0 at isa? port 0x330</tag>
-
- <p>SoundBlaster 16 MIDI interface. If you have a
- SoundBlaster 16, you must include this line, or the
- kernel will not compile.
-
- <tag>device gus0 at isa? port 0x220 irq 10 drq 1 vector gusintr</tag>
-
- <p>Gravis Ultrasound.
-
- <tag>device mss0 at isa? port 0x530 irq 10 drq 1 vector adintr</tag>
-
- <p>Microsoft Sound System.
-
- <tag>device opl0 at isa? port 0x388 conflicts</tag>
-
- <p>AdLib FM-synthesis audio. Include this line for
- AdLib, SoundBlaster, and ProAudioSpectrum users, if
- you want to play MIDI songs with a program such as
- <tt>playmidi</tt> (in the ports collection).
-
- <tag>device mpu0 at isa? port 0x330 irq 6 drq 0</tag>
-
- <p>Roland MPU-401 stand-alone card.
-
- <tag>device uart0 at isa? port 0x330 irq 5 vector ``m6850intr''</tag>
-
- <p>Stand-alone 6850 UART for MIDI.
-
- <tag>device pca0 at isa? port ``IO_TIMER1'' tty<label id="kernelconfig:pcaudio"></tag>
-
- <p>Digital audio through PC speaker. This is going to
- be very poor sound quality and quite CPU-intensive,
- so you have been warned (but it does not require a
- sound card).
-
- </descrip>
-
- <quote><em/Note:/ There is some additional
- documentation in
- <tt>/usr/src/sys/i386/isa/sound/sound.doc</tt>.
- Also, if you add any of these devices, be sure to
- create the sound <ref id="kernelconfig:nodes"
- name="device nodes">.</quote>
-
- <sect1><heading>Pseudo-devices</heading>
-
- <p>Pseudo-device drivers are parts of the kernel that act
- like device drivers but do not correspond to any actual
- hardware in the machine. The <ref
- id="kernelconfig:network" name="network-related">
- pseudo-devices are in that section, while the remainder
- are here.
-
- <descrip>
-
- <tag>pseudo-device gzip</tag>
-
- <p><tt>gzip</tt> allows you to run FreeBSD programs
- that have been compressed with <tt>gzip</tt>. The
- programs in <tt>/stand</tt> are compressed so it
- is a good idea to have this option in your kernel.</p>
-
- <tag>pseudo-device log</tag>
-
- <p><tt>log</tt> is used for logging of kernel error
- messages. Mandatory.
-
-
- <tag>pseudo-device pty <em>number</em><label id="kernelconfig:ptys"></tag>
-
- <p><tt>pty</tt> is a ``pseudo-terminal'' or simulated
- login port. It is used by incoming <bf>telnet</bf>
- and <bf>rlogin</bf> sessions, xterm, and some other
- applications such as emacs. The <em>number</em>
- indicates the number of <tt>pty</tt>s to create.
- If you need more than GENERIC default of 16
- simultaneous xterm windows and/or remote logins, be
- sure to increase this number accordingly, up to a
- maximum of 64.
-
- <tag>pseudo-device snp <em>number</em></tag>
-
- <p>Snoop device. This pseudo-device allows one
- terminal session to watch another using the
- <tt>watch(8)</tt> command. Note that
- implementation of this capability has important
- security and privacy implications. The
- <em>number</em> after snp is the total number of
- simultaneous snoop sessions. Optional.
-
- <tag>pseudo-device vn</tag>
-
- <p>Vnode driver. Allows a file to be treated as a
- device after being set up with the
- <tt>vnconfig(8)</tt> command. This driver can be
- useful for manipulating floppy disk images and
- using a file as a swap device (e.g. an MS Windows
- swap file). Optional.
-
- <tag>pseudo-device ccd <em>number</em></tag>
-
- <p>Concatenated disks. This pseudo-device allows you to
- concatenate multiple disk partitions into one large
- ``meta''-disk. The <em>number</em> after ccd is the
- total number of concatenated disks (not total number of
- disks that can be concatenated) that can be created.
- (See <tt>ccd(4)</tt> and <tt>ccdconfig(8)</tt> man pages
- for more details.) Optional.
-
- </descrip>
-
- <sect1><heading>Joystick, PC Speaker, Miscellaneous</heading>
-
- <p>This section describes some miscellaneous hardware
- devices supported by FreeBSD. Note that none of these
- lines are included in the GENERIC kernel, you will have
- to copy them from this handbook or the LINT kernel
- (which contains support for <em>every</em> device):
-
- <descrip>
-
- <tag>device joy0 at isa? port ``IO_GAME''</tag>
-
- <p>PC joystick device.
-
- <tag>pseudo-device speaker</tag>
-
- <p>Supports IBM BASIC-style noises through the PC
- speaker. Some fun programs which use this are
- <tt>/usr/sbin/spkrtest</tt>, which is a shell
- script that plays some simple songs, and
- <tt>/usr/games/piano</tt> which lets you play songs
- using the keyboard as a simple piano (this file
- only exists if you have installed the <em>games</em>
- package). Also, the excellent text role-playing
- game NetHack (in the ports collection) can be
- configured to use this device to play songs when
- you play musical instruments in the game.
-
- <p>See also the <ref id="kernelconfig:pcaudio"
- name="pca0"> device.
-
- </descrip>
-
- <sect><heading>Making Device Nodes<label id="kernelconfig:nodes"></heading>
-
- <p>Almost every device in the kernel has a corresponding
- ``node'' entry in the <tt>/dev</tt> directory. These
- nodes look like regular files, but are actually special
- entries into the kernel which programs use to access the
- device. The shell script <tt>/dev/MAKEDEV</tt>, which is
- executed when you first install the operating system,
- creates nearly all of the device nodes supported.
- However, it does not create <em>all</em> of them, so when
- you add support for a new device, it pays to make sure
- that the appropriate entries are in this directory, and
- if not, add them. Here is a simple example:
-
- Suppose you add the IDE CD-ROM support to the kernel.
- The line to add is:
-<tscreen><verb>
-controller wcd0
-</verb></tscreen>
- This means that you should look for some entries that
- start with <tt>wcd0</tt> in the <tt>/dev</tt> directory,
- possibly followed by a letter, such as `c', or preceded
- by the letter 'r', which means a `raw' device. It turns
- out that those files are not there, so I must change to
- the <tt>/dev</tt> directory and type:
-<tscreen><verb>
-# sh MAKEDEV wcd0
-</verb></tscreen>
- When this script finishes, you will find that there are
- now <tt>wcd0c</tt> and <tt>rwcd0c</tt> entries in
- <tt>/dev</tt> so you know that it executed correctly.
-
- For sound cards, the command:
-<tscreen><verb>
-# sh MAKEDEV snd0
-</verb></tscreen>
- creates the appropriate entries. Note: when creating device
- nodes for devices such as sound cards, if other people have
- access to your machine, it may be desirable to
- protect the devices from outside access by adding them to the
- <tt>/etc/fbtab</tt> file. See <tt>man fbtab</tt> for
- more information.
-
- Follow this simple procedure for any other non-GENERIC
- devices which do not have entries.
-
- <quote><em/Note:/ All SCSI controllers use the same set
- of <tt>/dev</tt> entries, so you do not need to create
- these. Also, network cards and SLIP/PPP pseudo-devices
- do not have entries in <tt>/dev</tt> at all, so you do
- not have to worry about these either.</quote>
-
-<sect><heading>If Something Goes Wrong<label id="kernelconfig:trouble"></heading>
-
- <p>There are four categories of trouble that can occur when
- building a custom kernel. They are:
-
- <descrip>
-
- <tag>Config command fails</tag>
-
- <p>If the <tt>config</tt>
- command fails when you give it your kernel
- description, you have probably made a simple error
- somewhere. Fortunately, <tt>config</tt> will print
- the line number that it had trouble with, so you can
- quickly skip to it with <tt>vi</tt>. For example, if
- you see:
-<tscreen><verb>
-config: line 17: syntax error
-</verb></tscreen>
- you can skip to the problem in <tt>vi</tt> by typing
- ``17G'' in command mode. Make sure the keyword is
- typed correctly, by comparing it to the GENERIC
- kernel or another reference.
-
- <tag>Make command fails</tag>
-
- <p>If the <tt>make</tt>
- command fails, it usually signals an error in your
- kernel description, but not severe enough for
- <tt>config</tt> to catch it. Again, look over your
- configuration, and if you still cannot resolve the
- problem, send mail to the &a.questions with your kernel
- configuration, and it should be diagnosed very
- quickly.
-
- <tag>Kernel will not boot<label id="kernelconfig:noboot"></tag>
-
- <p>If your new kernel
- does not boot, or fails to recognize your devices,
- do not panic! Fortunately, BSD has an excellent
- mechanism for recovering from incompatible kernels.
- Simply type the name of the kernel you want to boot
- from (i.e. ``kernel.old'') at the FreeBSD boot
- prompt instead of pressing return. When
- reconfiguring a kernel, it is always a good idea to
- keep a kernel that is known to work on hand.
-
- After booting with a good kernel you can check over
- your configuration file and try to build it again.
- One helpful resource is the
- <tt>/var/log/messages</tt> file which records, among
- other things, all of the kernel messages from every
- successful boot. Also, the <tt>dmesg(8)</tt> command
- will print the kernel messages from the current boot.
-
- <quote><em/Note:/ If you are having trouble building
- a kernel, make sure to keep a GENERIC, or some
- other kernel that is known to work on hand as a
- different name that will not get erased on the next
- build. You cannot rely on <tt>kernel.old</tt>
- because when installing a new kernel,
- <tt>kernel.old</tt> is overwritten with the last
- installed kernel which may be non-functional.
- Also, as soon as possible, move the working kernel
- to the proper ``kernel'' location or commands such
- as <tt>ps(1)</tt> will not work properly. The
- proper command to ``unlock'' the kernel file that
- <tt>make</tt> installs (in order to move another
- kernel back permanently) is:
-<tscreen><verb>
-# chflags noschg /kernel
-</verb></tscreen>
- And, if you want to ``lock'' your new kernel into place, or any file
- for that matter, so that it cannot be moved or tampered with:
-<tscreen><verb>
-# chflags schg /kernel
-</verb></tscreen>
- </quote>
-
- <tag>Kernel works, but <tt>ps</tt> does not work any more!</tag>
-
- <p>If you have installed a different version
- of the kernel from the one that the system utilities
- have been built with, for example, an experimental
- ``2.2.0'' kernel on a 2.1.0-RELEASE system, many
- system-status commands like <tt>ps(1)</tt> and
- <tt>vmstat(8)</tt> will not work any more. You must
- recompile the <tt>libkvm</tt> library as well as
- these utilities. This is one reason it is not
- normally a good idea to use a different version of
- the kernel from the rest of the operating system.
-
- </descrip>
diff --git a/share/doc/handbook/kerneldebug.sgml b/share/doc/handbook/kerneldebug.sgml
deleted file mode 100644
index dd617a4..0000000
--- a/share/doc/handbook/kerneldebug.sgml
+++ /dev/null
@@ -1,525 +0,0 @@
-<!-- $Id: kerneldebug.sgml,v 1.13 1997/03/18 00:42:36 joerg Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<chapt><heading>Kernel Debugging<label id="kerneldebug"></heading>
-
-<p><em>Contributed by &a.paul; and &a.joerg;</em>
-
-<sect><heading>Debugging a kernel crash dump with kgdb</heading>
-
- <p>Here are some instructions for getting kernel debugging
- working on a crash dump, it assumes that you have enough swap
- space for a crash dump. If you have multiple swap
- partitions and the first one is too small to hold the dump,
- you can configure your kernel to use an alternate dump device
- (in the <tt>config kernel</tt> line), or
- you can specify an alternate using the dumpon(8) command.
- Dumps to non-swap devices,
- tapes for example, are currently not supported. Config your
- kernel using <tt>config -g</tt>.
- See <ref id="kernelconfig" name="Kernel Configuration"> for
- details on configuring the FreeBSD kernel.
-
- Use the <tt>dumpon(8)</tt> command to tell the kernel where to dump
- to (note that this will have to be done after configuring the
- partition in question as swap space via <tt>swapon(8)</tt>). This is
- normally arranged via <tt>/etc/sysconfig</tt> and <tt>/etc/rc</tt>.
- Alternatively, you can
- hard-code the dump device via the `dump' clause in the `config' line
- of your kernel config file. This is deprecated, use only if you
- want a crash dump from a kernel that crashes during booting.
-
- <em><bf>Note:</bf> In the following, the term `<tt>kgdb</tt>' refers
- to <tt>gdb</tt> run in `kernel debug mode'. This can be accomplished by
- either starting the <tt>gdb</tt> with the option <tt>-k</tt>, or by linking
- and starting it under the name <tt>kgdb</tt>. This is not being
- done by default, however, and the idea is basically deprecated since
- the GNU folks do not love it if their tools behave differently when
- called by another name. This feature might as well be discontinued
- in further releases.</em>
-
- When the kernel has been built make a copy of it, say
- <tt>kernel.debug</tt>, and then run <tt>strip -d</tt> on the
- original. Install the original as normal. You may also install
- the unstripped kernel, but symbol table lookup time for some
- programs will drastically increase, and since
- the whole kernel is loaded entirely at boot time and cannot be
- swapped out later, several megabytes of
- physical memory will be wasted.
-
- If you are testing a new kernel, for example by typing the new
- kernel's name at the boot prompt, but need to boot a different
- one in order to get your system up and running again, boot it
- only into single user state using the <tt>-s</tt> flag at the
- boot prompt, and then perform the following steps:
-<tscreen><verb>
- fsck -p
- mount -a -t ufs # so your file system for /var/crash is writable
- savecore -N /kernel.panicked /var/crash
- exit # ...to multi-user
-</verb></tscreen>
- This instructs <tt>savecore(8)</tt> to use another kernel for symbol name
- extraction. It would otherwise default to the currently running kernel
- and most likely not do anything at all since the crash dump and the
- kernel symbols differ.
-
- Now, after a crash dump, go to <tt>/sys/compile/WHATEVER</tt> and run
- <tt>kgdb</tt>. From <tt>kgdb</tt> do:
-<tscreen><verb>
- symbol-file kernel.debug
- exec-file /var/crash/kernel.0
- core-file /var/crash/vmcore.0
-</verb></tscreen>
- and voila, you can debug the crash dump using the kernel sources
- just like you can for any other program.
-
- Here is a script log of a <tt>kgdb</tt> session illustrating the
- procedure. Long
- lines have been folded to improve readability, and the lines are
- numbered for reference. Despite this, it is a real-world error
- trace taken during the development of the pcvt console driver.
-<tscreen><verb>
- 1:Script started on Fri Dec 30 23:15:22 1994
- 2:uriah # cd /sys/compile/URIAH
- 3:uriah # kgdb kernel /var/crash/vmcore.1
- 4:Reading symbol data from /usr/src/sys/compile/URIAH/kernel...done.
- 5:IdlePTD 1f3000
- 6:panic: because you said to!
- 7:current pcb at 1e3f70
- 8:Reading in symbols for ../../i386/i386/machdep.c...done.
- 9:(kgdb) where
- 10:#0 boot (arghowto=256) (../../i386/i386/machdep.c line 767)
- 11:#1 0xf0115159 in panic ()
- 12:#2 0xf01955bd in diediedie () (../../i386/i386/machdep.c line 698)
- 13:#3 0xf010185e in db_fncall ()
- 14:#4 0xf0101586 in db_command (-266509132, -266509516, -267381073)
- 15:#5 0xf0101711 in db_command_loop ()
- 16:#6 0xf01040a0 in db_trap ()
- 17:#7 0xf0192976 in kdb_trap (12, 0, -272630436, -266743723)
- 18:#8 0xf019d2eb in trap_fatal (...)
- 19:#9 0xf019ce60 in trap_pfault (...)
- 20:#10 0xf019cb2f in trap (...)
- 21:#11 0xf01932a1 in exception:calltrap ()
- 22:#12 0xf0191503 in cnopen (...)
- 23:#13 0xf0132c34 in spec_open ()
- 24:#14 0xf012d014 in vn_open ()
- 25:#15 0xf012a183 in open ()
- 26:#16 0xf019d4eb in syscall (...)
- 27:(kgdb) up 10
- 28:Reading in symbols for ../../i386/i386/trap.c...done.
- 29:#10 0xf019cb2f in trap (frame={tf_es = -260440048, tf_ds = 16, tf_\
- 30:edi = 3072, tf_esi = -266445372, tf_ebp = -272630356, tf_isp = -27\
- 31:2630396, tf_ebx = -266427884, tf_edx = 12, tf_ecx = -266427884, tf\
- 32:_eax = 64772224, tf_trapno = 12, tf_err = -272695296, tf_eip = -26\
- 33:6672343, tf_cs = -266469368, tf_eflags = 66066, tf_esp = 3072, tf_\
- 34:ss = -266427884}) (../../i386/i386/trap.c line 283)
- 35:283 (void) trap_pfault(&amp;frame, FALSE);
- 36:(kgdb) frame frame->tf_ebp frame->tf_eip
- 37:Reading in symbols for ../../i386/isa/pcvt/pcvt_drv.c...done.
- 38:#0 0xf01ae729 in pcopen (dev=3072, flag=3, mode=8192, p=(struct p\
- 39:roc *) 0xf07c0c00) (../../i386/isa/pcvt/pcvt_drv.c line 403)
- 40:403 return ((*linesw[tp->t_line].l_open)(dev, tp));
- 41:(kgdb) list
- 42:398
- 43:399 tp->t_state |= TS_CARR_ON;
- 44:400 tp->t_cflag |= CLOCAL; /* cannot be a modem (:-) */
- 45:401
- 46:402 #if PCVT_NETBSD || (PCVT_FREEBSD >= 200)
- 47:403 return ((*linesw[tp->t_line].l_open)(dev, tp));
- 48:404 #else
- 49:405 return ((*linesw[tp->t_line].l_open)(dev, tp, flag));
- 50:406 #endif /* PCVT_NETBSD || (PCVT_FREEBSD >= 200) */
- 51:407 }
- 52:(kgdb) print tp
- 53:Reading in symbols for ../../i386/i386/cons.c...done.
- 54:$1 = (struct tty *) 0x1bae
- 55:(kgdb) print tp->t_line
- 56:$2 = 1767990816
- 57:(kgdb) up
- 58:#1 0xf0191503 in cnopen (dev=0x00000000, flag=3, mode=8192, p=(st\
- 59:ruct proc *) 0xf07c0c00) (../../i386/i386/cons.c line 126)
- 60: return ((*cdevsw[major(dev)].d_open)(dev, flag, mode, p));
- 61:(kgdb) up
- 62:#2 0xf0132c34 in spec_open ()
- 63:(kgdb) up
- 64:#3 0xf012d014 in vn_open ()
- 65:(kgdb) up
- 66:#4 0xf012a183 in open ()
- 67:(kgdb) up
- 68:#5 0xf019d4eb in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi =\
- 69: 2158592, tf_esi = 0, tf_ebp = -272638436, tf_isp = -272629788, tf\
- 70:_ebx = 7086, tf_edx = 1, tf_ecx = 0, tf_eax = 5, tf_trapno = 582, \
- 71:tf_err = 582, tf_eip = 75749, tf_cs = 31, tf_eflags = 582, tf_esp \
- 72:= -272638456, tf_ss = 39}) (../../i386/i386/trap.c line 673)
- 73:673 error = (*callp->sy_call)(p, args, rval);
- 74:(kgdb) up
- 75:Initial frame selected; you cannot go up.
- 76:(kgdb) quit
- 77:uriah # exit
- 78:exit
- 79:
- 80:Script done on Fri Dec 30 23:18:04 1994
-</verb></tscreen>
- Comments to the above script:
-
-<descrip>
-<tag/line 6:/ This is a dump taken from within DDB (see below), hence the
- panic comment ``because you said to!'', and a rather long
- stack trace; the initial reason for going into DDB has been
- a page fault trap though.
-<tag/line 20:/ This is the location of function <tt>trap()</tt>
- in the stack trace.
-<tag/line 36:/ Force usage of a new stack frame; this is no longer
- necessary now. The stack frames are supposed to point to
- the right locations now, even in case of a trap.
- (I do not have a new core dump handy &lt;g&gt;, my kernel
- did not panic for ia rather long time.)
- From looking at the code in source line 403,
- there is a high probability that either the pointer
- access for ``tp'' was messed up, or the array access was
- out of bounds.
-<tag/line 52:/ The pointer looks suspicious, but happens to be a valid
- address.
-<tag/line 56:/ However, it obviously points to garbage, so we have found our
- error! (For those unfamiliar with that particular piece
- of code: <tt>tp-&gt;t_line</tt> refers to the line discipline
- of the console device here, which must be a rather small integer
- number.)
-</descrip>
-
-
-<sect><heading>Post-mortem analysis of a dump</heading>
-
-<p>What do you do if a kernel dumped core but you did not expect
- it, and it is therefore not compiled using <tt>config -g</tt>?
- Not everything is lost here. Do not panic!
-
- Of course, you still need to enable crash dumps. See above
- on the options you have to specify in order to do this.
-
- Go to your kernel compile directory, and edit the line
- containing <tt>COPTFLAGS?=-O</tt>. Add the <tt>-g</tt> option
- there (but <em>do not</em> change anything on the level of
- optimization). If you do already know roughly the probable
- location of the failing piece of code (e.g., the <tt>pcvt</tt>
- driver in the example above), remove all the object files for
- this code. Rebuild the kernel. Due to the time stamp change on
- the Makefile, there will be some other object files rebuild,
- for example <tt>trap.o</tt>. With a bit of luck, the added
- <tt>-g</tt> option will not change anything for the generated
- code, so you will finally get a new kernel with similar code to
- the faulting one but some debugging symbols. You should at
- least verify the old and new sizes with the <tt>size(1)</tt> command. If
- there is a mismatch, you probably need to give up here.
-
- Go and examine the dump as described above. The debugging
- symbols might be incomplete for some places, as can be seen in
- the stack trace in the example above where some functions are
- displayed without line numbers and argument lists. If you need
- more debugging symbols, remove the appropriate object files and
- repeat the <tt>kgdb</tt> session until you know enough.
-
- All this is not guaranteed to work, but it will do it fine in
- most cases.
-
-<sect><heading>On-line kernel debugging using DDB</heading>
-
-<p>While <tt>kgdb</tt> as an offline debugger provides a very
- high level of user interface, there are some things it cannot do.
- The most important ones being breakpointing and single-stepping
- kernel code.
-
- If you need to do low-level debugging on your kernel, there is
- an on-line debugger available called DDB. It allows to
- setting breakpoints, single-steping kernel functions, examining
- and changing kernel variables, etc. However, it cannot not
- access kernel source files, and only has access to the global
- and static symbols, not to the full debug information like
- <tt>kgdb</tt>.
-
- To configure your kernel to include DDB, add the option line
-<tscreen><verb>
- options DDB
-</verb></tscreen>
- to your config file, and rebuild. (See <ref id="kernelconfig"
- name="Kernel Configuration"> for details on configuring the
- FreeBSD kernel. Note that if you have an older version of the
- boot blocks, your debugger symbols might not be loaded at all.
- Update the boot blocks, the recent ones do load the DDB symbols
- automagically.)
-
- Once your DDB kernel is running, there are several ways to
- enter DDB. The first, and earliest way is to type the boot
- flag <tt>-d</tt> right at the boot prompt. The kernel will
- start up in debug mode and enter DDB prior to any device
- probing. Hence you are able to even debug the device
- probe/attach functions.
-
- The second scenario is a hot-key on the keyboard, usually
- Ctrl-Alt-ESC. For syscons, this can be remapped, and some of
- the distributed maps do this, so watch out.
- There is an option
- available for serial consoles
- that allows the use of a serial line BREAK on the console line to
- enter DDB (``<tt>options BREAK_TO_DEBUGGER</tt>''
- in the kernel config file). It is not the default since there are a lot of
- crappy serial adapters around that gratuitously generate a
- BREAK condition for example when pulling the cable.
-
- The third way is that any panic condition will branch to DDB if
- the kernel is configured to use it.
- For this reason, it is not wise to
- configure a kernel with DDB for a machine running unattended.
-
- The DDB commands roughly resemble some <tt>gdb</tt> commands. The first you
- probably need is to set a breakpoint:
-<tscreen><verb>
- b function-name
- b address
-</verb></tscreen>
-
- Numbers are taken hexadecimal by default, but to make them
- distinct from symbol names, hexadecimal numbers starting with the
- letters <tt>a</tt>-<tt>f</tt> need to be preceded with
- <tt>0x</tt> (for other numbers, this is optional). Simple
- expressions are allowed, for example: <tt>function-name + 0x103</tt>.
-
- To continue the operation of an interrupted kernel, simply type
-<tscreen><verb>
- c
-</verb></tscreen>
- To get a stack trace, use
-<tscreen><verb>
- trace
-</verb></tscreen>
- Note that when entering DDB via a hot-key, the kernel is currently
- servicing an interrupt, so the stack trace might be not of much use
- for you.
-
- If you want to remove a breakpoint, use
-<tscreen><verb>
- del
- del address-expression
-</verb></tscreen>
- The first form will be accepted immediately after a breakpoint hit,
- and deletes the current breakpoint. The second form can remove any
- breakpoint, but you need to specify the exact address, as it can be
- obtained from
-<tscreen><verb>
- show b
-</verb></tscreen>
- To single-step the kernel, try
-<tscreen><verb>
- s
-</verb></tscreen>
- This will step into functions, but you can make DDB trace them until
- the matching return statement is reached by
-<tscreen><verb>
- n
-</verb></tscreen>
- <bf>Note:</bf> this is different from <tt>gdb</tt>'s `next' statement, it is like
- <tt>gdb</tt>'s `finish'.
-
- To examine data from memory, use (for example):
-<tscreen><verb>
- x/wx 0xf0133fe0,40
- x/hd db_symtab_space
- x/bc termbuf,10
- x/s stringbuf
-</verb></tscreen>
- for word/halfword/byte access, and hexadecimal/decimal/character/
- string display. The number after the comma is the object count.
- To display the next 0x10 items, simply use
-<tscreen><verb>
- x ,10
-</verb></tscreen>
- Similarly, use
-<tscreen><verb>
- x/ia foofunc,10
-</verb></tscreen>
- to disassemble the first 0x10 instructions of <tt>foofunc</tt>, and display
- them along with their offset from the beginning of <tt>foofunc</tt>.
-
- To modify the memory, use the write command:
-<tscreen><verb>
- w/b termbuf 0xa 0xb 0
- w/w 0xf0010030 0 0
-</verb></tscreen>
- The command modifier (<tt>b</tt>/<tt>h</tt>/<tt>w</tt>)
- specifies the size of the data to be written, the first
- following expression is the address to write to, the remainder
- is interpreted as data to write to successive memory locations.
-
- If you need to know the current registers, use
-<tscreen><verb>
- show reg
-</verb></tscreen>
- Alternatively, you can display a single register value by e.g.
-<tscreen><verb>
- p $eax
-</verb></tscreen>
- and modify it by
-<tscreen><verb>
- set $eax new-value
-</verb></tscreen>
-
- Should you need to call some kernel functions from DDB, simply
- say
-<tscreen><verb>
- call func(arg1, arg2, ...)
-</verb></tscreen>
- The return value will be printed.
-
- For a <tt>ps(1)</tt> style summary of all running processes, use
-<tscreen><verb>
- ps
-</verb></tscreen>
-
- Now you have now examined why your kernel failed, and you wish to
- reboot. Remember that, depending on the severity of previous
- malfunctioning, not all parts of the kernel might still be working
- as expected. Perform one of the following actions to shut down and
- reboot your system:
-<tscreen><verb>
- call diediedie()
-</verb></tscreen>
-
- will cause your kernel to dump core and reboot, so you can
- later analyze the core on a higher level with kgdb. This
- command usually must be followed by another
- `<tt>continue</tt>' statement.
- There is now an alias for this: `<tt>panic</tt>'.
-
-<tscreen><verb>
- call boot(0)
-</verb></tscreen>
- might be a good way to cleanly shut down the running system, <tt>sync()</tt>
- all disks, and finally reboot. As long as the disk and file system
- interfaces of the kernel are not damaged, this might be a good way
- for an almost clean shutdown.
-
-<tscreen><verb>
- call cpu_reset()
-</verb></tscreen>
- is the final way out of disaster and almost the same as hitting
- the Big Red Button.
-
- If you need a short command summary, simply type
-<tscreen><verb>
- help
-</verb></tscreen>
- However, it is highly recommended to have a printed copy of the
- <tt>ddb(4)</tt> manual page ready for a debugging session.
- Remember that it is hard to read the on-line manual while
- single-stepping the kernel.
-
-<sect><heading>On-line kernel debugging using remote GDB</heading>
-
-<p>This feature is supported since FreeBSD 2.2, and it's actually
- a very neat one.
-
- GDB used to support <em/remote debugging/ for a long time
- already. This is done using a very simple protocol along a
- serial line. Obviously, and opposed to the other methods
- described above, you need two machines for doing this. One is
- the host providing the debugging environment, including all
- the sources, and a copy of the kernel binary with all the
- symbols in it, and the other one is the target machine that
- simply runs a similar copy of the very same kernel (but stripped
- off the debugging information).
-
- You should configure the kernel in question with <tt>config -g</tt>,
- include <em/DDB/ into the configuration, and compile it as usual.
- This gives a large blurb of a binary, due
- to the debugging information. Copy this kernel to the target
- machine, strip the debugging symbols off with <tt>strip -x</tt>,
- and boot it using the <tt/-d/ boot option. Connect the first
- serial line of the target machine to any serial line of the
- debugging host. Now, on the debugging machine, go to the compile
- directory of the target kernel, and start gdb:
-<tscreen><verb>
-% gdb -k kernel
-GDB is free software and you are welcome to distribute copies of it
- under certain conditions; type "show copying" to see the conditions.
-There is absolutely no warranty for GDB; type "show warranty" for details.
-GDB 4.16 (i386-unknown-freebsd),
-Copyright 1996 Free Software Foundation, Inc...
-(kgdb)
-</verb></tscreen>
-
- Initialize the remote debugging session (assuming the first serial
- port is being used) by:
-<tscreen><verb>
-(kgdb) target remote /dev/cuaa0
-</verb></tscreen>
-
- Now, on the target host (that entered DDB right before even starting
- the device probe), type:
-<tscreen><verb>
-Debugger("Boot flags requested debugger")
-Stopped at Debugger+0x35: movb $0, edata+0x51bc
-db> gdb
-</verb></tscreen>
-
- DDB will respond with:
-<tscreen><verb>
-Next trap will enter GDB remote protocol mode
-</verb></tscreen>
-
- Every time you type ``gdb'', the mode will be toggled between
- remote GDB and local DDB. In order to force a next trap
- immediately, simply type ``s'' (step). Your hosting GDB will
- now gain control over the target kernel:
-<tscreen><verb>
-Remote debugging using /dev/cuaa0
-Debugger (msg=0xf01b0383 "Boot flags requested debugger")
- at ../../i386/i386/db_interface.c:257
-(kgdb)
-</verb></tscreen>
-
- You can use this session almost as any other GDB session, including
- full access to the source, running it in gud-mode inside an Emacs
- window (which gives you an automatic source code display in another
- Emacs window) etc.
-
-<p>Remote GDB can also be used to debug LKMs. First build the LKM
- with debugging symbols:
-<tscreen><verb>
-# cd /usr/src/lkm/linux
-# make clean; make COPTS=-g
-</verb></tscreen>
-
- Then install this version of the module on the target machine, load it
- and use <tt>modstat</tt> to find out where it was loaded:
-<tscreen><verb>
-# linux
-# modstat
-Type Id Off Loadaddr Size Info Rev Module Name
-EXEC 0 4 f5109000 001c f510f010 1 linux_mod
-</verb></tscreen>
-
- Take the load address of the module and add 0x20 (probably to account
- for the a.out header). This is the address that the module code was
- relocated to. Use the <tt>add-symbol-file</tt> command in GDB to tell the
- debugger about the module:
-<tscreen><verb>
-(kgdb) add-symbol-file /usr/src/lkm/linux/linux_mod.o 0xf5109020
-add symbol table from file "/usr/src/lkm/linux/linux_mod.o" at
-text_addr = 0xf5109020?
-(y or n) y
-(kgdb)
-</verb></tscreen>
-
- You now have access to all the symbols in the LKM.
-
-<sect><heading>Debugging a console driver</heading>
-
-<p>Since you need a console driver to run DDB on, things are more
- complicated if the console driver itself is failing. You might
- remember the use of a serial console (either with modified boot
- blocks, or by specifying <tt><bf>-h</bf></tt> at the <tt>Boot:</tt>
- prompt), and hook up a standard
- terminal onto your first serial port. DDB works on any configured
- console driver, of course also on a serial console.
-
-
diff --git a/share/doc/handbook/kernelopts.sgml b/share/doc/handbook/kernelopts.sgml
deleted file mode 100644
index 7319eb6..0000000
--- a/share/doc/handbook/kernelopts.sgml
+++ /dev/null
@@ -1,149 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-<!-- <!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'> -->
-
-<chapt><heading>Adding New Kernel Configuration Options<label id="kernelopts"></heading>
-
-<p><em>Contributed by &a.joerg;</em>
-
-<em/Note:/ You should be familiar with the section about <ref
-id="kernelconfig" name="kernel configuration"> before reading here.
-
-<sect><heading>What's a <em>kernel option</em>, anyway?</heading>
-
- <p>The use of kernel options is basically described in the <ref
- id="kernelconfig:options" name="kernel configuration"> section.
- There's also an explanation about ``historic'' and ``new-style''
- options. The ultimate goal is to eventually turn all the supported
- options in the kernel into new-style ones, so for people who
- correctly did a <tt/make depend/ in their kernel compile directory
- after running <tt/config(8)/, the build process will automatically
- pick up modified options, and only recompile those files where it is
- necessary. Wiping out the old compile directory on each run of
- <tt/config(8)/ as it is still done now can then be eliminated again.
-
- <p>Basically, a kernel option is nothing else than the definition of
- a C preprocessor macro for the kernel compilation process. To make
- the build truly optional, the corresponding part of the kernel
- source (or kernel <tt/.h/ file) must be written with the option
- concept in mind, i. e. the default must have been made overridable
- by the config option. This is usually done with something like:
-
-<verb>
-#ifndef THIS_OPTION
-#define THIS_OPTION (some_default_value)
-#endif /* THIS_OPTION */
-</verb>
- <p>This way, an administrator mentioning another value for the
- option in his config file will take the default out of effect, and
- replace it with his new value. Apparently, the new value will be
- substituted into the source code during the preprocessor run, so it
- must be a valid C expression in whatever context the default value
- would have been used.
-
- <p>It is also possible to create value-less options that simply
- enable or disable a particular piece of code by embracing it in
-
-<verb>
-#ifdef THAT_OPTION
-
-[your code here]
-
-#endif
-</verb>
- <p>Simply mentioning <tt/THAT_OPTION/ in the config file (with or
- without any value) will then turn on the corresponding piece of
- code.
-
- <p>People familiar with the C language will immediately recognize
- that everything could be counted as a ``config option'' where
- there is at least a single <tt/#ifdef/ referencing it... Now only
- few people probably would try to say
-
-<verb>
- options notyet,notdef
-</verb>
- <p>in their config file however, and watch the kernel compilation
- fall over. :-)
-
- <p>Apparently, using arbitrary names for the options makes it very
- hard to track their usage throughout the kernel source tree. That is
- the rationale behind the <em/new-style/ option scheme, where each
- option goes into a separate <tt/.h/ file in the kernel compile
- directory, which is by convention named <tt>opt_<em>foo</em>.h</tt>.
- This way, the usual Makefile dependencies could be applied, and
- <tt/make/ can determine what needs to be recompiled once an option
- has been changed.
-
- <p>The old-style option mechanism still has one advantage for local
- options or maybe experimental options that have a short anticipated
- lifetime: since it is easy to add a new <tt/#ifdef/ to the kernel
- source, this has already made it a kernel config option.
- In this case, the administrator using such an
- option is responsible himself for knowing about its implications
- (and maybe manually forcing the recompilation of parts of his
- kernel). Once the transition of all supported options has been
- done, <tt/config(8)/ will warn whenever an unsupported option
- appears in the config file, but it will nevertheless include it into
- the kernel Makefile.
-
-
-<sect><heading>Now what do I have to do for it?</heading>
-
- <p>First, edit <tt>sys/conf/options</tt> (or
- <tt>sys/i386/conf/options.<em>&lt;arch&gt;</em></tt>, e. g.
- <tt>sys/i386/conf/options.i386</tt>), and select an
- <tt>opt_<em>foo</em>.h</tt> file where your new option would best go
- into.
-
- <p>If there is already something that comes close to the purpose of
- the new option, pick this. For example, options modifying the
- overall behaviour of the SCSI subsystem can go into <tt/opt_scsi.h/.
- By default, simply mentioning an option in the appropriate option
- file, say <tt/FOO/, implies its value will go into the
- corresponding file <tt/opt_foo.h/. This can be overridden on the
- right-hand side of a rule by specifying another filename.
-
- <p>If there is no <tt>opt_<em>foo</em>.h</tt> already available for
- the intended new option, invent a new name. Make it meaningful, and
- comment the new section in the
- <tt>options[<em>.&lt;arch&gt;</em>]</tt> file. <tt/config(8)/ will
- automagically pick up the change, and create that file next time it
- is run. Most options should go in a header file by themselves..
-
- <p>Packing too many options into a single
- <tt>opt_<em>foo</em>.h</tt> will cause too many kernel files to be
- rebuilt when one of the options has been changed in the config file.
-
- <p>Finally, find out which kernel files depend on the new option.
- Unless you have just invented your option, and it does not exist
- anywhere yet,
-
-<verb>
- find /usr/src/sys -name type f | xargs fgrep NEW_OPTION
-</verb>
- <p>is your friend in finding them. Go and edit all those files, and
- add
-
-<verb>
-#include "opt_foo.h"
-</verb>
- <p><em>on top</em>, before all the <tt/#include &lt;xxx.h&gt;/
- stuff. The sequence is most important in case the options will
- override some defaults from the regular include files, where the
- defaults are protected by
-
-<verb>
-#ifndef NEW_OPTION
-#define NEW_OPTION (something)
-#endif
-</verb>
- <p>in the regular header.
-
- <p>Adding an option that overrides something in a system header file
- (i. e., a file sitting in <tt>/usr/include/sys/</tt>) is almost
- always a mistake. <tt>opt_<em>foo</em>.h</tt> cannot be included
- into those files since it would break the headers more seriously,
- but if it is not included, then places that include it may get an
- inconsistent value for the option. Yes, there are precedents for
- this right now, but that does not make them more correct.
diff --git a/share/doc/handbook/linuxemu.sgml b/share/doc/handbook/linuxemu.sgml
deleted file mode 100644
index cca6541..0000000
--- a/share/doc/handbook/linuxemu.sgml
+++ /dev/null
@@ -1,700 +0,0 @@
-<!-- $Id: linuxemu.sgml,v 1.18 1997/03/19 03:15:43 obrien Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<chapt><heading>Linux Emulation<label id="linuxemu"></heading>
-
-<p><em>Contributed by &a.handy and &a.rich;</em>
-
-<sect><heading>How to install the Linux emulator</heading>
-
-<p>Linux emulation in FreeBSD has reached a point where it is possible
-to run a large fraction of Linux binaries in both a.out and ELF
-format. The linux emulation in the 2.1-STABLE branch is capable of
-running Linux DOOM and Mathematica; the version present in
-FreeBSD-2.2-RELEASE is vastly more capable and runs all these as well as
-Quake, Abuse, IDL, netrek for Linux and a whole host of other
-programs.
-
-There are some Linux-specific operating system features that are not
-supported on FreeBSD. Linux binaries will not work on FreeBSD if they
-use the Linux /proc filesystem (which is different from the optional
-FreeBSD /proc filesystem) or i386-specific calls, such as enabling
-virtual 8086 mode.
-
-<p>To tell whether your kernel is configured for Linux
-compatibility simply run any Linux binary. If it
-prints the error message
-<tscreen>
-<verb>
-linux-executable: Exec format error. Wrong Architecture.
-</verb>
-</tscreen>
-then you do not have linux compatibility support and
-you need to configure and install a new kernel.
-
-Depending on which version of FreeBSD you are running, how you get
-Linux-emulation up will vary slightly:
-
-<sect1><heading>Installing Linux Emulation in 2.1-STABLE</heading>
-
-<p>The GENERIC kernel in 2.1-STABLE is not configured for linux
-compatibility so you must reconfigure your kernel for it. There
-are two ways to do this: 1. linking the emulator statically in the
-kernel itself and 2. configuring your kernel to dynamically load the
-linux loadable kernel module (LKM).
-
-<p>To enable the emulator, add the following to your configuration file
-(c.f. /sys/i386/conf/LINT):
-<tscreen>
-<verb>
-options COMPAT_LINUX
-</verb>
-</tscreen>
-If you want to run doom or other applications
-that need shared memory
-also add the following.
-<tscreen>
-<verb>
-options SYSVSHM
-</verb>
-</tscreen>
-The linux system calls require 4.3BSD system call compatibility. So
-make sure you have the following.
-<tscreen>
-<verb>
-options "COMPAT_43"
-</verb>
-</tscreen>
-
-If you prefer to statically link the emulator in the kernel rather than
-use the loadable kernel module (LKM), then add
-<tscreen>
-<verb>
-options LINUX
-</verb>
-</tscreen>
-Then run config and install the new kernel as described in the
-<ref id="kernelconfig" name="kernel configuration"> section.
-
-If you decide to use the LKM you must also install the loadable
-module. A mismatch of versions between the kernel and loadable
-module can cause the kernel to crash, so the safest thing to do is to
-reinstall the LKM when you install the kernel.
-<tscreen>
-<verb>
-% cd /usr/src/lkm/linux
-% make all install
-</verb>
-</tscreen>
-Once you have installed the kernel and the LKM, you can invoke
-`linux' as root to load the LKM.
-<tscreen>
-<verb>
-% linux
-Linux emulator installed
-Module loaded as ID 0
-%
-</verb>
-</tscreen>
-To see whether the LKM is loaded, run `modstat'.
-<tscreen>
-<verb>
-% modstat
-Type Id Off Loadaddr Size Info Rev Module Name
-EXEC 0 3 f0baf000 0018 f0bb4000 1 linux_emulator
-%
-</verb>
-</tscreen>
-You can cause the LKM to be loaded when the system boots in either of
-two ways. On FreeBSD 2.2-RELEASE and 2.1-STABLE enable it in
-/etc/sysconfig
-<tscreen>
-<verb>
-linux=YES
-</verb>
-</tscreen>
-by changing it from NO to YES. FreeBSD 2.1 RELEASE and earlier do not
-have such a line and on those you will need to edit /etc/rc.local to
-add the following line.
-<tscreen>
-<verb>
-linux
-</verb>
-</tscreen>
-
-<sect1><heading>Installing Linux Emulation in 2.2-RELEASE and later</heading>
-
-<p>It is no longer necessary to specify ``options LINUX''
-or ``options COMPAT_LINUX''. Linux emulation is done with an LKM
-(``Loadable Kernel Module'') so it can be installed on the fly without
-having to reboot. You will need the following things in your startup files,
-however:
-<enum>
-<item> In /etc/sysconfig, you need the following line:
-<tscreen>
-<verb>
-linux=YES
-</verb>
-</tscreen>
-<item> This, in turn, triggers the following action in /etc/rc.i386:
-<tscreen>
-<verb>
-# Start the Linux binary emulation if requested.
-if [ "X${linux}" = X"YES" ]; then
- echo -n ' '; linux
- # XXX BOGUS - Linux script shouldn't make any output on success
-fi
-</verb>
-</tscreen>
-</enum>
-
-<p>If you want to verify it is running, modstat will do that:
-<tscreen>
-<verb>
-% modstat
-Type Id Off Loadaddr Size Info Rev Module Name
-EXEC 0 4 f09e6000 001c f09ec010 1 linux_mod
-%
-</verb>
-</tscreen>
-However, there have been reports that this fails on some 2.2-RELEASE and
-later systems. If for some reason you cannot load the linux
-LKM, then statically link the emulator in the kernel by adding
-<tscreen>
-<verb>
-options LINUX
-</verb>
-</tscreen>
-to your kernel config file. Then run config and install the new
-kernel as described in the <ref id="kernelconfig" name="kernel
-configuration"> section.
-
-<sect1><heading>Installing Linux Runtime Libraries</heading>
-
-<sect2><heading>Installing using the linux_lib port</heading>
-
-<p>Most linux applications use shared libraries, so you are still not
-done until you install the shared libraries. It is possible to do
-this by hand, however, it is vastly simpler to just grab the
-linux_lib port:
-<tscreen>
-<verb>
-% cd /usr/ports-current/emulators/linux_lib
-% make all install
-</verb>
-</tscreen>
-
-and you should have a working linux emulator. Legend (and the mail
-archives :-) seems to hold that Linux emulation works best with
-linux binaries linked against the ZMAGIC libraries; QMAGIC libraries
-(such as those used in Slackware V2.0) may tend to give the
-Linuxulator heartburn. As of this writing (March 1996) ELF emulation
-is still in the formulative stages but seems to work pretty well. Also,
-expect some programs to complain about incorrect minor versions. In
-general this does not seem to be a problem.
-
-<sect2><heading>Installing libraries manually</heading>
-
-<p>If you do not have the ``ports'' distribution, you can install the
-libraries by hand instead. You will need the Linux shared libraries
-that the program depends on and the runtime linker. Also, you will
-need to create a "shadow root" directory, /compat/linux, for Linux
-libraries on your FreeBSD system. Any shared libraries opened by
-Linux programs run under FreeBSD will look in this tree first. So, if
-a Linux program loads, for example, /lib/libc.so, FreeBSD will first
-try to open /compat/linux/lib/libc.so, and if that does not exist then
-it will try /lib/libc.so. Shared libraries should be installed in the
-shadow tree /compat/linux/lib rather than the paths that the Linux
-ld.so reports.
-
-
-FreeBSD-2.2-RELEASE and later works slightly differently with respect to
-/compat/linux. On -CURRENT, all files, not just libraries, are
-searched for from the ``shadow root'' /compat/linux.
-
-Generally, you will need to look for the shared libraries that Linux
-binaries depend on only the first few times that you install a Linux
-program on your FreeBSD system. After a while, you will have a sufficient
-set of Linux shared libraries on your system to be able to run newly
-imported Linux binaries without any extra work.
-
-<sect2><heading>How to install additional shared libraries</heading>
-
-<p>What if you install the linux_lib port and your application still
-complains about missing shared libraries? How do you know which
-shared libraries Linux binaries need, and where to get them?
-Basically, there are 2 possibilities (when following these
-instructions: you will need to be root on your FreeBSD system to do
-the necessary installation steps).
-
-<p>If you have access to a Linux system, see what shared libraries
-it needs, and copy them to your FreeBSD system. Example: you have
-just ftp'ed the Linux binary of Doom. Put it on the Linux
-system you have access to, and check which shared libraries it
-needs by running `ldd linuxxdoom':
-
-<tscreen>
-<verb>
-% ldd linuxxdoom
-libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
-libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0
-libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29
-</verb>
-</tscreen>
-
-<p>You would need go get all the files from the last column, and
-put them under /compat/linux, with the names in the first column
-as symbolic links pointing to them. This means you eventually have
-these files on your FreeBSD system:
-<tscreen>
-<verb>
-/compat/linux/usr/X11/lib/libXt.so.3.1.0
-/compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0
-/compat/linux/usr/X11/lib/libX11.so.3.1.0
-/compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0
-/compat/linux/lib/libc.so.4.6.29
-/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
-</verb>
-</tscreen>
-
-<p>Note that if you already have a Linux shared library with a
-matching major revision number to the first column of the 'ldd'
-output, you will not need to copy the file named in the last column to
-your system, the one you already have should work. It is advisable to
-copy the shared library anyway if it is a newer version, though. You
-can remove the old one, as long as you make the symbolic link point to
-the new one. So, if you have these libraries on your system:
-<tscreen>
-<verb>
-/compat/linux/lib/libc.so.4.6.27
-/compat/linux/lib/libc.so.4 -> libc.so.4.6.27
-</verb>
-</tscreen>
-
-and you find a new binary that claims to require a later version
-according to the output of ldd:
-<tscreen>
-<verb>
-libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29
-</verb>
-</tscreen>
-
-If it is only one or two versions out of date in the in the trailing
-digit then do not worry about copying /lib/libc.so.4.6.29 too, because
-the program should work fine with the slightly older version.
-However, if you like you can decide to replace the libc.so anyway, and
-that should leave you with:
-<tscreen>
-<verb>
-/compat/linux/lib/libc.so.4.6.29
-/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
-</verb>
-</tscreen>
-
-<p>Please note that the symbolic link mechanism is <em>only</em>
-needed for Linux binaries, the FreeBSD runtime linker takes care of
-looking for matching major revision numbers itself, you do not need to
-worry about that.
-
-<sect2><heading>Configuring the ld.so -- for FreeBSD 2.2-RELEASE only</heading>
-
-<p>This section applies only to FreeBSD 2.2-RELEASE and later. Those running
-2.1-STABLE should skip this section.
-
-<p>Finally, if you run FreeBSD 2.2-RELEASE you must make sure that you
-have the Linux runtime linker and its config files on your system. You
-should copy these files from the Linux system to their appropriate
-place on your FreeBSD system (to the /compat/linux tree):
-<tscreen>
-<verb>
-/compat/linux/lib/ld.so
-/compat/linux/etc/ld.so.config
-</verb>
-</tscreen>
-
-<p>If you do not have access to a Linux system, you should get the
-extra files you need from various ftp sites. Information on where to
-look for the various files is appended below. For now, let us assume
-you know where to get the files.
-
-<p>
-Retrieve the following files (all from the same ftp site to avoid any
-version mismatches), and install them under /compat/linux
-(i.e. /foo/bar is installed as /compat/linux/foo/bar):
-<tscreen>
-<verb>
-/sbin/ldconfig
-/usr/bin/ldd
-/lib/libc.so.x.y.z
-/lib/ld.so
-</verb>
-</tscreen>
-
-<p>ldconfig and ldd do not necessarily need to be under /compat/linux,
-you can install them elsewhere in the system too. Just make sure they
-do not conflict with their FreeBSD counterparts. A good idea would be
-to install them in /usr/local/bin as ldconfig-linux and ldd-linux.
-<p>
-Create the file /compat/linux/etc/ld.so.conf, containing the
-directories in which the Linux runtime linker should look
-for shared libs. It is a plain text file, containing a directory
-name on each line. /lib and /usr/lib are standard, you could
-add the following:
-<tscreen>
-<verb>
-/usr/X11/lib
-/usr/local/lib
-</verb>
-</tscreen>
-
-<p>When a linux binary opens a library such as /lib/libc.so the
-emulator maps the name to /compat/linux/lib/libc.so internally. All
-linux libraries should be installed under /compat/linux (e.g.
-/compat/linux/lib/libc.so, /compat/linux/usr/X11/lib/libX11.so, etc.)
-in order for the emulator to find them.
-
-<p>Those running FreeBSD 2.2-RELEASE should run the Linux ldconfig program.
-<tscreen>
-<verb>
-% cd /compat/linux/lib
-% /compat/linux/sbin/ldconfig
-</verb>
-</tscreen>
-
-<p>Ldconfig is statically linked, so it does not need any shared
-libraries to run. It creates the file /compat/linux/etc/ld.so.cache
-which contains the names of all the shared libraries. It should rerun
-to recreate this file whenever you install additional shared
-libraries.
-
-On 2.1-STABLE do not install /compat/linux/etc/ld.so.cache or run
-ldconfig because in 2.1-STABLE the syscalls are implemented
-differently and ldconfig is not needed or used.
-
-<p>You should now be set up for Linux binaries which only need a
-shared libc. You can test this by running the Linux ldd on
-itself. Suppose that you have it installed as ldd-linux, it should
-produce something like:
-<tscreen>
-<verb>
-% ldd-linux `which ldd-linux`
-libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29
-</verb>
-</tscreen>
-
-<p>This being done, you are ready to install new Linux binaries.
-Whenever you install a new Linux program, you should check if it needs
-shared libraries, and if so, whether you have them installed in the
-/compat/linux tree. To do this, you run the Linux version ldd on the
-new program, and watch its output. ldd (see also the manual page for
-ldd(1)) will print a list of shared libraries that the program depends
-on, in the form majorname (jumpversion) => fullname.
-
-<p>If it prints "not found" instead of fullname it means that you
-need an extra library. Which library this is, is shown in majorname,
-which will be of the form libXXXX.so.N You will need to find a
-libXXXX.so.N.mm on a Linux ftp site, and install it on your
-system. The XXXX (name) and N (major revision number) should match;
-the minor number(s) mm are less important, though it is advised to
-take the most recent version.
-
-<sect1><heading>Configuring the host name resolver</heading>
-
-<p>If DNS does not work or you get the messages
-<tscreen>
-<verb>
-resolv+: "bind" is an invalid keyword
-resolv+: "hosts" is an invalid keyword
-</verb>
-</tscreen>
-
-then you need to configure a /compat/linux/etc/host.conf file
-containing:
-<tscreen>
-<verb>
-order hosts, bind
-multi on
-</verb>
-</tscreen>
-
-where the order here specifies that /etc/hosts is searched first and
-DNS is searched second. When /compat/linux/etc/host.conf is not
-installed linux applications find FreeBSD's /etc/host.conf and
-complain about the incompatible FreeBSD syntax. You should remove
-`bind,' if you have not configured a name-server using the
-/etc/resolv.conf file.
-
-<p>Lastly, those who run 2.1-STABLE need to set an the
-RESOLV_HOST_CONF environment variable so that applications will know
-how to search the host tables. If you run FreeBSD 2.2-RELEASE can
-skip this. For the /bin/csh shell use:
-<tscreen>
-<verb>
-setenv RESOLV_HOST_CONF /compat/linux/etc/host.conf
-</verb>
-</tscreen>
-
-For /bin/sh use:
-<tscreen>
-<verb>
-RESOLV_HOST_CONF=/compat/linux/etc/host.conf; export RESOLV_HOST_CONF
-</verb>
-</tscreen>
-
-<sect1><heading>Finding the necessary files</heading>
-
-<p>Note: the information below is valid as of the time this document
-was written, but certain details such as names of ftp sites,
-directories and distribution names may have changed by the time you
-read this.
-
-<p>Linux is distributed by several groups that make their own set
-of binaries that they distribute. Each distribution has its own
-name, like ``Slackware'' or ``Yggdrasil''. The distributions are
-available on a lot of ftp sites. Sometimes the files are unpacked,
-and you can get the individual files you need, but mostly they
-are stored in distribution sets, usually consisting of subdirectories
-with gzipped tar files in them. The primary ftp sites for the
-distributions are:
-<verb>
-sunsite.unc.edu:/pub/Linux/distributions
-tsx-11.mit.edu:/pub/linux/distributions
-</verb>
-
-<p>
-Some European mirrors:
-<verb>
-ftp.luth.se:/pub/linux/distributions
-ftp.demon.co.uk:/pub/linux/distributions
-src.doc.ic.ac.uk:/packages/linux/distributions
-</verb>
-
-<p>For simplicity, let us concentrate on Slackware here. This
-distribution consists of a number of subdirectories, containing
-separate packages. Normally, they are controlled by an install
-program, but you can retrieve files "by hand" too. First of all, you
-will need to look in the "contents" subdir of the distribution. You
-will find a lot of small text files here describing the contents of the
-separate packages. The fastest way to look something up is to retrieve
-all the files in the contents subdirectory, and grep through them for
-the file you need. Here is an example of a list of files that you
-might need, and in which contents-file you will find it by grepping
-through them:
-<tabular ca=ll>
-Library <colsep>Package <rowsep>
-ld.so <colsep>ldso <rowsep>
-ldconfig <colsep>ldso <rowsep>
-ldd <colsep>ldso <rowsep>
-libc.so.4 <colsep>shlibs <rowsep>
-libX11.so.6.0 <colsep>xf_lib <rowsep>
-libXt.so.6.0 <colsep>xf_lib <rowsep>
-libX11.so.3 <colsep>oldlibs <rowsep>
-libXt.so.3 <colsep>oldlibs <rowsep>
-</tabular>
-
-<p>So, in this case, you will need the packages ldso, shlibs, xf_lib
-and oldlibs. In each of the contents-files for these packages, look
-for a line saying ``PACKAGE LOCATION'', it will tell you on which `disk'
-the package is, in our case it will tell us in which subdirectory we
-need to look. For our example, we would find the following locations:
-<tabular ca=ll>
-Package <colsep>Location <rowsep>
-ldso <colsep>diska2 <rowsep>
-shlibs <colsep>diska2 <rowsep>
-oldlibs <colsep>diskx6 <rowsep>
-xf_lib <colsep>diskx9 <rowsep>
-</tabular>
-
-<p>The locations called ``diskXX'' refer to the ``slakware/XX''
-subdirectories of the distribution, others may be found in the
-``contrib'' subdirectory. In this case, we could now retrieve the
-packages we need by retrieving the following files (relative to
-the root of the Slackware distribution tree):
-<tscreen>
-<verb>
-slakware/a2/ldso.tgz
-slakware/a2/shlibs.tgz
-slakware/x6/oldlibs/tgz
-slakware/x9/xf_lib.tgz
-</verb>
-</tscreen>
-
-<p>Extract the files from these gzipped tarfiles in your
-/compat/linux directory (possibly omitting or afterwards
-removing files you do not need), and you are done.
-
-<p><bf>See also:</bf>
-<verb>
-ftp.freebsd.org:pub/FreeBSD/2.0.5-RELEASE/xperimnt/linux-emu/README
-
-/usr/src/sys/i386/ibcs2/README.iBCS2
-</verb>
-
-<sect><heading>How to Install Mathematica on FreeBSD<label id="mathematica"></heading>
-
-<p><em>Contributed by &a.rich and &a.chuck</em>
-
-This document shows how to install the Linux binary
-distribution of Mathematica 2.2 on FreeBSD 2.1.
-
-<p>Mathematica supports Linux but not FreeBSD as it stands. So once
-you have configured your system for Linux compatibility you have most
-of what you need to run Mathematica.
-
-<p>For those who already have the student edition of
-Mathematica for DOS the cost of upgrading to the Linux
-version at the time this was written, March 1996, was
-&dollar;45.00. It can be ordered directly from Wolfram at
-(217) 398-6500 and paid for by credit card.
-
-<sect1><heading>Unpacking the Mathematica distribution</heading>
-<p>The binaries are currently distributed by Wolfram on CDROM.
-The CDROM has about a dozen tar files, each of which is a binary
-distribution for one of the supported architectures. The one
-for Linux is named LINUX.TAR. You can, for example, unpack this
-into /usr/local/Mathematica:
-<tscreen>
-<verb>
-% cd /usr/local
-% mkdir Mathematica
-% cd Mathematica
-% tar -xvf /cdrom/LINUX.TAR
-</verb>
-</tscreen>
-
-<sect1><heading>Obtaining your Mathematica Password</heading>
-<p>Before you can run Mathematica you will have to obtain
-a password from Wolfram that corresponds to your
-`machine ID.'
-
-<p>Once you have installed the linux compatibility runtime
-libraries and unpacked the mathematica you can obtain
-the `machine ID' by running the program `mathinfo' in
-the Install directory.
-<tscreen>
-<verb>
-% cd /usr/local/Mathematica/Install
-% mathinfo
-LINUX: 'ioctl' fd=5, typ=0x89(), num=0x27 not implemented
-richc.isdn.bcm.tmc.edu 9845-03452-90255
-%
-</verb>
-</tscreen>
-So, for example, the `machine ID' of `richc' is `9845-03452-90255'.
-You can ignore the message about the ioctl that is not
-implemented. It will not prevent Mathematica from running
-in any way and you can safely ignore it, though you
-will see the message every time you run Mathematica.
-
-<p>When you register with Wolfram, either by email, phone
-or fax, you will give them the 'machine ID' and they will
-respond with a corresponding password consisting of
-groups of numbers. You need to add them both along
-with the machine name and license number in your
-mathpass file.
-
-You can do this by invoking:
-<tscreen>
-<verb>
-% cd /usr/local/Mathematica/Install
-% math.install
-</verb>
-</tscreen>
-It will ask you to enter your license number and the
-Wolfram supplied password. If you get them mixed up or
-for some reason the math.install fails, That is OK,
-because you can simply edit the file 'mathpass' in this
-same directory to correct the info manually.
-
-<p>After getting past the password, math.install will ask
-you if you accept their canned install defaults, or if
-you want to use your own. If you are like us and
-distrust all install programs, you probably want to
-specify the actual directories. Beware. Although the
-math.install program asks you to specify directories,
-it will not create them for you, so you should perhaps
-have a second window open with another shell so that
-you can create them before you give them to the install
-program. Or, if it fails, you
-can create the directories and then restart the
-math.install program. The directories we chose to
-create beforehand and specify to math.install were:
-<tscreen>
-<verb>
-/usr/local/Mathematica/bin for binaries
-/usr/local/Mathematica/man/man1 for man pages
-/usr/local/Mathematica/lib/X11 for the XKeysymb file
-</verb>
-</tscreen>
-You can also tell it to use /tmp/math.record for the
-system record file, where it puts logs of sessions.
-After this math.install will continue on to
-unpacking things and placing everything where it should
-go.
-
-<p>The Mathematica Notebook feature is included separately,
-as the X Front End, and you have to install it separately.
-To get the X Front End stuff correctly installed, cd
-into the /usr/local/Mathematica/FrontEnd directory and
-executed the ./xfe.install shell script. You will have
-to tell it where to put things, but you do not have to
-create any directories because it uses all the same
-directories that had been created for math.install.
-When it finished, there should be a new shell script in
-/usr/local/Mathematica/bin called "mathematica".
-
-<p>Lastly, you need to modify each of the shell scripts that
-Mathematica has installed. At the beginning of every shell script in
-/usr/local/Mathematica/bin add the following line:
-<tscreen>
-<verb>
-XKEYSYMDB=/usr/local/Mathematica/lib/X11/XKeysymDB; export XKEYSYMDB
-</verb>
-</tscreen>
-This tells Mathematica were to find its own version of the key
-mapping file XKeysymDB. Without this you will get pages of error
-messages about missing key mappings.
-
-On 2.1-STABLE you need to add the following as well:
-<tscreen>
-<verb>
-RESOLV_HOST_CONF=/compat/linux/etc/host.conf; export RESOLV_HOST_CONF
-</verb>
-</tscreen>
-This tells Mathematica to use the linux version of host.conf. This
-file has a different syntax from FreeBSD's host.conf, so you will get an
-error message about /etc/host.conf if you leave this out.
-
-<p>You might want to also modify your /etc/manpath.config file
-to read the new man directory, and you may need to edit your
-~/.cshrc file to add /usr/local/Mathematica/bin
-to your path.
-
-<p>That is about all it takes, With this you should be able
-to type "mathematica" and get a really slick looking
-Mathematica Notebook screen up. Mathematica has included
-the Motif user interfaces, but it is compiled in statically,
-so you do not need the Motif libraries. Good luck doing this
-yourself!
-
-<sect1><heading>Bugs</heading>
-
-<p>The Notebook front end is known to hang sometimes when reading
-notebook files with an error messages similar to:
-<tscreen>
-<verb>
-File .../Untitled-1.mb appears to be broken for OMPR.257.0
-</verb>
-</tscreen>
-
-We have not found the cause for this, but it only affects the
-Notebook's X Window front end, not the mathematica engine itself. So
-the command line interface invoked by 'math' is unaffected by this
-bug.
-
-<sect1><heading>Acknowledgments</heading>
-
-<p>A well-deserved thanks should go to &a.sos; and &a.peter;
-who made linux emulation what it is today, and Michael Smith who
-drove these two guys like dogs to get it to the point where it runs
-Linux binaries better than linux! :-)
diff --git a/share/doc/handbook/lists.sgml b/share/doc/handbook/lists.sgml
deleted file mode 100644
index 6ff7f9e..0000000
--- a/share/doc/handbook/lists.sgml
+++ /dev/null
@@ -1,67 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!--
-Names and email address of contributing authors and CVS committers
-and some of the common FreeBSD mailing lists. Use these
-entities when referencing people or mailing lists. Please
-note the use of single
-and double quotes.
--->
-
-<!ENTITY a.announce "FreeBSD announcements mailing list
- <tt><htmlurl url='mailto:freebsd-announce@FreeBSD.ORG'
- name='&lt;freebsd-announce@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.cvsall "FreeBSD CVS commit message mailing list
- <tt><htmlurl url='mailto:cvs-all@FreeBSD.ORG'
- name='&lt;cvs-all@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.doc "FreeBSD documentation project mailing list
- <tt><htmlurl url='mailto:freebsd-doc@FreeBSD.ORG'
- name='&lt;freebsd-doc@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.bugs "FreeBSD problem reports mailing list
- <tt><htmlurl url='mailto:freebsd-bugs@FreeBSD.ORG'
- name='&lt;freebsd-bugs@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.current "FreeBSD-current mailing list
- <tt><htmlurl url='mailto:freebsd-current@FreeBSD.ORG'
- name='&lt;freebsd-current@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.emulation "FreeBSD-emulation mailing list
- <tt><htmlurl url='mailto:freebsd-emulation@FreeBSD.ORG'
- name='&lt;freebsd-emulation@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.fs "FreeBSD filesystem project mailing list
- <tt><htmlurl url='mailto:freebsd-fs@FreeBSD.ORG'
- name='&lt;freebsd-fs@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.hackers "FreeBSD technical discussions mailing list
- <tt><htmlurl url='mailto:freebsd-hackers@FreeBSD.ORG'
- name='&lt;freebsd-hackers@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.ports "FreeBSD ports mailing list
- <tt><htmlurl url='mailto:freebsd-ports@FreeBSD.ORG'
- name='&lt;freebsd-ports@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.questions "FreeBSD general questions mailing list
- <tt><htmlurl url='mailto:freebsd-questions@FreeBSD.ORG'
- name='&lt;freebsd-questions@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.scsi "FreeBSD SCSI subsystem mailing list
- <tt><htmlurl url='mailto:freebsd-scsi@FreeBSD.ORG'
- name='&lt;freebsd-scsi@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.stable "FreeBSD-stable mailing list
- <tt><htmlurl url='mailto:freebsd-stable@FreeBSD.ORG'
- name='&lt;freebsd-stable@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.majordomo "<tt><htmlurl url='mailto:majordomo@FreeBSD.ORG'
- name='&lt;majordomo@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.core "FreeBSD core team
- <tt><htmlurl url='mailto:freebsd-core@FreeBSD.ORG'
- name='&lt;freebsd-core@FreeBSD.ORG&gt;'></tt>">
-
-
diff --git a/share/doc/handbook/mail.sgml b/share/doc/handbook/mail.sgml
deleted file mode 100644
index 2a076a3..0000000
--- a/share/doc/handbook/mail.sgml
+++ /dev/null
@@ -1,430 +0,0 @@
-<!-- $Id$
- The FreeBSD Documentation Project
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-
-<linuxdoc>
- <article>
- <title> Mail
- <author> &a.wlloyd;
- <date> 24 Nov 1996, (c) 1996
-
- <abstract> This section contains basic information on setting up Electronic Mail on your new FreeBSD box.
- </abstract>
-
- <toc>
--->
-
-<chapt><heading>Electronic Mail<label id="mail"></heading>
-
-<p><em>Contributed by &a.wlloyd;.</em>
-
-<p> Electronic Mail configuration is the subject of many <ref name="System Administration" id="bibliography"> books. If you plan on doing anything beyond setting up one mailhost for your network, you need industrial strength help.
-
-Some parts of E-Mail configuration are controlled in the Domain Name System (DNS). If you are going to run your own own DNS server check out <bf> <tt> /etc/namedb </tt></bf> and ' <bf><tt>man -k named </tt></bf> ' for more information.
-
-<sect><heading>Basic Information</heading>
-
- <p>
- These are the major programs involved in an E-Mail exchange.
-A <tt/mailhost/ is a server that is responsible for delivering and receiving all email for your host, and possibly your network.
-
- <sect1><heading>User program</heading>
- <p> This is a program like <tt /elm, pine, mail/ , or something more sophisticated like a WWW browser. This program will simply pass off all e-mail transactions to the local <tt/mailhost/ , either by calling <tt>sendmail</tt> or delivering it over TCP.
-
- <sect1><heading>Mailhost Server Daemon</heading>
- <p> Usually this program is <tt /sendmail or smail/ running in the background. Turn it off or change the command line options in <tt> /etc/sysconfig </tt>. It is best to leave it on, unless you have a specific reason to want it off. Example: You are building a <ref name="Firewall" id="firewalls">.
-
-<p>You should be aware that <tt>sendmail</tt> is a potential weak link in a secure site. Some versions of <tt>sendmail</tt> have known security problems.
-
-<p> <tt><bf> sendmail </bf></tt> does two jobs. It looks after delivering and receiving mail.
-
-If <bf><tt/sendmail/ </bf> needs to delivery mail off your site it will look up in the DNS to determine the actual host that will receive mail for the destination.
-
-<p> If it is acting as a delivery agent <tt/sendmail/ will take the message from the local queue and deliver it across the Internet to another sendmail on the receivers computer.
-
- <sect1><heading>DNS - Name Service</heading>
- <p>The Domain Name System and its daemon <tt/named/ , contain the database mapping hostname to IP address, and hostname to mailhost. The IP address is specified in an "A" record. The "MX" record specifies the mailhost that will receive mail for you. If you do not have a "MX" record mail for your hostname, the mail will be delivered to your host directly.
-
-Unless you are running your own DNS server, you will not be able to change any information in the DNS yourself. If you are using an Internet Provider, speak to them.
-
- <sect1><heading>POP Servers</heading>
- <p> This program gets the mail from your mailbox and gives it to your browser. If you want to run a POP server on your computer, you will need to do 2 things.
-<itemize>
-<item>Get pop software from the <url url="../ports/mail.html" name="Ports collection"> that can be found in <tt><bf>/usr/ports </bf></tt>
- or packages collection. This handbook section has a complete reference on the <ref name="Ports" id="ports"> system.
-<item>Modify <bf><tt>/etc/inetd.conf</tt></bf> to load the POP server.
-</itemize>
-
-The pop program will have instructions with it. Read them.
-
-</sect>
-
-<sect><heading>Configuration</heading>
-
- <sect1><heading>Basic</heading>
-<p>
-As your FreeBSD system comes "out of the box"[TM], you should be able to send E-mail to external hosts as long as you have <bf><tt>/etc/resolv.conf</tt> </bf> setup or are running a name server.
- If you want to have mail for your host delivered to your specific host,there are two methods:
-<p>
-- Run a name server ( <tt><bf>man -k named</></> ) and have your own domain <tt>smallminingco.com </tt>
-<p>
-- Get mail delivered to the current DNS name for your host. Ie: <tt>dorm6.ahouse.school.edu </tt>
-<p>
-No matter what option you choose, to have mail delivered directly to your host, you must be a full Internet host. You must have a permanent IP address. IE: NO dynamic PPP. If you are behind a firewall, the firewall must be passing on smtp traffic to you. From <bf><tt> /etc/services </tt></bf>
-<verb>
-smtp 25/tcp mail #Simple Mail Transfer
-</verb>
-If you want to receive mail at your host itself, you must make sure that the DNS MX entry points to your host address, or there is no MX entry for your DNS name.
-
-Try this
-<verb>
-newbsdbox# hostname
-newbsdbox.freebsd.org
-newbsdbox# host newbsdbox.freebsd.org
-newbsdbox.freebsd.org has address 204.216.27.xx
-</verb>
-
-If that is all that comes out for your machine, mail directory to <tt><bf>root@newbsdbox.freebsd.org </bf></tt> will work no problems.
-
-If instead, you have this
-<verb>
-newbsdbox# host newbsdbox.freebsd.org
-newbsdbox.FreeBSD.org has address 204.216.27.xx
-newbsdbox.FreeBSD.org mail is handled (pri=10) by freefall.FreeBSD.org
-</verb>
-All mail sent to your host directly will end up on freefall, under the same username.
-
-This information is setup in your domain name server. This should be the same host that is listed as your primary nameserver in <bf><tt> /etc/resolv.conf</tt></bf>
-
-The DNS record that carries mail routing information is the Mail eXchange entry. If no MX entry exists, mail will be delivered directly to the host by way of the Address record.
-
-The MX entry for freefall.freebsd.org at one time.
-<verb>
- freefall MX 30 mail.crl.net
- freefall MX 40 agora.rdrop.com
- freefall HINFO Pentium FreeBSD
- freefall MX 10 freefall.FreeBSD.org
- freefall MX 20 who.cdrom.com
- freefall A 204.216.27.xx
- freefall CNAME www.FreeBSD.org
-</verb>
-
-Freefall has many MX entries. The lowest MX number gets the mail in the end. The others will queue mail temporarily, if freefall is busy or down.
-
-Alternate MX sites should have separate connections to the Internet, to be most useful. An Internet Provider or other friendly site can provide this service.
-
-<bf><tt>dig, nslookup, </tt></bf>and<bf><tt> host </tt></bf>are your friends.
-
- <sect1><heading>Mail for your Domain (Network).<label id="mail:domain"></heading>
-<p>
-To setup up a network mailhost, you need to direct the mail from arriving at all the workstations. In other words, you want to hijack all mail for <tt> *.smallminingco.com </tt> and divert it to one machine, your mailhost.
-
-The network users on their workstations will most likely pick up their mail over POP or telnet.
-
-A user account with the SAME USERNAME should exist on both machines. Please use <tt/adduser/ to do this as required. If you set the <tt/shell/ to <tt>/nonexistent</tt> the user will not be allowed to login.
-
-The mailhost that you will be using must be designated the Mail eXchange for each workstation. This must be arranged in DNS (ie BIND, named). Please refer to a Networking book for in-depth information.
-
-You basically need to add these lines in your DNS server.
-<verb>
-pc24.smallminingco.com A xxx.xxx.xxx.xxx ; Workstation ip
- MX 10 smtp.smallminingco.com ; Your mailhost
-</verb>
-
-You cannot do this yourself unless you are running a DNS server. If you do not want to run a DNS server, get somebody else like your Internet Provider to do it.
-
-This will redirect mail for the workstation to the Mail eXchange host. It does not matter what machine the A record points to, the mail will be sent to the MX host.
-<p>
-This feature is used to implement Virtual E-Mail Hosting.
-<p>Example
-<p>
-I have a customer with domain foo.bar and I want all mail for foo.bar to be sent to my machine smtp.smalliap.com. You must make an entry in your DNS server like:
-<verb>
-foo.bar MX 10 smtp.smalliap.com ; your mailhost
-</verb>
-The A record is not needed if you only want E-Mail for the domain. IE: Don't expect <bf><tt>ping foo.bar</tt></bf> to work unless an Address record for <tt>foo.bar</tt> exists as well.
-
-On the mailhost that actually accepts mail for final delivery to a mailbox, sendmail must be told what hosts it will be accepting mail for.
-
-<p>Add pc24.smallminingco.com to /etc/sendmail.cw (if you are using FEATURE(use_cw_file)), or add a "Cw myhost.smalliap.com" line to <bf><tt>/etc/sendmail.cf</tt></bf>
-<p>
-If you plan on doing anything serious with <tt/sendmail/ you should install the sendmail source. The source has plenty of documentation with it. You will find information on getting <tt/sendmail/ source from <ref name="the UUCP information" id="sendmailuucp">.
-
-
-<sect1>
- <heading> Setting up UUCP.<label id="sendmailuucp"></heading>
-<p><em>Stolen from the FAQ.</em>
- <p>
- The sendmail configuration that ships with FreeBSD is
- suited for sites that connect directly to the Internet.
- Sites that wish to exchange their mail via UUCP must install
- another sendmail configuration file.
-
- <p>
- Tweaking <tt>/etc/sendmail.cf</tt> manually is considered
- something for purists. Sendmail version 8 comes with a
- new approach of generating config files via some <tt>m4</tt>
- preprocessing, where the actual hand-crafted configuration
- is on a higher abstraction level. You should use the
- configuration files under
-
-<verb>
- /usr/src/usr.sbin/sendmail/cf
-</verb>
-
- If you did not install your system with full sources,
- the sendmail config stuff has been
- broken out into a separate source distribution tarball just
- for you. Assuming you have your CD-ROM mounted, do:
-
-<verb>
- cd /usr/src
- tar -xvzf /cdrom/dists/src/ssmailcf.aa
-</verb>
-
- Do not panic, this is only a few hundred kilobytes in size.
- The file <tt>README</tt> in the <tt>cf</tt> directory can
- serve as a basic introduction to m4 configuration.
-
- <p>
- For UUCP delivery, you are best advised to use the
- <em>mailertable</em> feature. This constitutes a database
- that sendmail can use to base its routing decision upon.
-
- <p>
- First, you have to create your <tt>.mc</tt> file. The
- directory <tt>/usr/src/usr.sbin/sendmail/cf/cf</tt> is the
- home of these files. Look around, there are already a few
- examples. Assuming you have named your file <tt>foo.mc</tt>,
- all you need to do in order to convert it into a valid
- <tt>sendmail.cf</tt> is:
-
-<verb>
- cd /usr/src/usr.sbin/sendmail/cf/cf
- make foo.cf
- cp foo.cf /etc/sendmail.cf
-</verb>
-
- A typical <tt>.mc</tt> file might look like:
-
-<verb>
- include(`../m4/cf.m4')
- VERSIONID(`Your version number')
- OSTYPE(bsd4.4)
-
- FEATURE(nodns)
- FEATURE(nocanonify)
- FEATURE(mailertable)
-
- define(`UUCP_RELAY', your.uucp.relay)
- define(`UUCP_MAX_SIZE', 200000)
-
- MAILER(local)
- MAILER(smtp)
- MAILER(uucp)
-
- Cw your.alias.host.name
- Cw youruucpnodename.UUCP
-</verb>
-
- The <em>nodns</em> and <em>nocanonify</em> features will
- prevent any usage of the DNS during mail delivery. The
- <em>UUCP_RELAY</em> clause is needed for bizarre reasons,
- do not ask. Simply put an Internet hostname there that
- is able to handle .UUCP pseudo-domain addresses; most likely,
- you will enter the mail relay of your ISP there.
-
- <p>
- Once you have this, you need this file called
- <tt>/etc/mailertable</tt>. A typical example of this
- gender again:
-
-<verb>
- #
- # makemap hash /etc/mailertable.db < /etc/mailertable
- #
- horus.interface-business.de uucp-dom:horus
- .interface-business.de uucp-dom:if-bus
- interface-business.de uucp-dom:if-bus
- .heep.sax.de smtp8:%1
- horus.UUCP uucp-dom:horus
- if-bus.UUCP uucp-dom:if-bus
- . uucp-dom:sax
-</verb>
-
- As you can see, this is part of a real-life file. The first
- three lines handle special cases where domain-addressed mail
- should not be sent out to the default route, but instead to
- some UUCP neighbor in order to ``shortcut'' the delivery
- path. The next line handles mail to the local Ethernet
- domain that can be delivered using SMTP. Finally, the UUCP
- neighbors are mentioned in the .UUCP pseudo-domain notation,
- to allow for a ``uucp-neighbor!recipient'' override of the
- default rules. The last line is always a single dot, matching
- everything else, with UUCP delivery to a UUCP neighbor that
- serves as your universal mail gateway to the world. All of
- the node names behind the <tt>uucp-dom:</tt> keyword must
- be valid UUCP neighbors, as you can verify using the
- command <tt>uuname</tt>.
-
- <p>
- As a reminder that this file needs to be converted into a
- DBM database file before being usable, the command line to
- accomplish this is best placed as a comment at the top of
- the mailertable. You always have to execute this command
- each time you change your mailertable.
-
- <p>
- Final hint: if you are uncertain whether some particular
- mail routing would work, remember the <tt>-bt</tt> option to
- sendmail. It starts sendmail in <em>address test mode</em>;
- simply enter ``0 '', followed by the address you wish to
- test for the mail routing. The last line tells you the used
- internal mail agent, the destination host this agent will be
- called with, and the (possibly translated) address. Leave
- this mode by typing Control-D.
-
-<verb>
- j@uriah 191% sendmail -bt
- ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
- Enter <ruleset> <address>
- > 0 foo@interface-business.de
- rewrite: ruleset 0 input: foo @ interface-business . de
- ...
- rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \
- < @ interface-business . de >
- > ^D
- j@uriah 192%
-</verb>
-</sect>
-
-<sect><heading>FAQ<label id="mailfaq"></heading>
-
-<p><em>Migration from FAQ.</em>
-
- <sect1>
-
- <heading>Why do I have to use the FQDN for hosts on my site?</heading>
- <p>
- You will probably find that the host is actually in a different
- domain; for example, if you are in foo.bar.edu and you wish to reach
- a host called ``mumble'' in the bar.edu domain, you will have to
- refer to it by the fully-qualified domain name, ``mumble.bar.edu'',
- instead of just ``mumble''.
- <p>
- Traditionally, this was allowed by BSD BIND resolvers. However
- the current version of <em>BIND</em> that ships with FreeBSD
- no longer provides default abbreviations for non-fully
- qualified domain names other than the domain you are in.
- So an unqualified host <tt>mumble</tt> must either be found
- as <tt>mumble.foo.bar.edu</tt>, or it will be searched for
- in the root domain.
- <p>
- This is different from the previous behavior, where the
- search continued across <tt>mumble.bar.edu</tt>, and
- <tt>mumble.edu</tt>. Have a look at RFC 1535 for why this
- was considered bad practice, or even a security hole.
- <p>
- As a good workaround, you can place the line
-<p><tt>
-search foo.bar.edu bar.edu
-</tt><p>
- instead of the previous
-
-<p><tt>
-domain foo.bar.edu
-</tt><p>
- into your <tt>/etc/resolv.conf</tt>. However, make sure
- that the search order does not go beyond the ``boundary
- between local and public administration'', as RFC 1535
- calls it.
-
- </sect1>
-
- <sect1><heading>Sendmail says ``mail loops back to myself''</heading>
- <p>
- This is answered in the sendmail FAQ as follows:-
- <verb>
- * I am getting "Local configuration error" messages, such as:
-
- 553 relay.domain.net config error: mail loops back to myself
- 554 <user@domain.net>... Local configuration error
-
- How can I solve this problem?
-
- You have asked mail to the domain (e.g., domain.net) to be
- forwarded to a specific host (in this case, relay.domain.net)
- by using an MX record, but the relay machine does not recognize
- itself as domain.net. Add domain.net to /etc/sendmail.cw
- (if you are using FEATURE(use_cw_file)) or add "Cw domain.net"
- to /etc/sendmail.cf.
- </verb>
- <p>
- The sendmail FAQ is in <tt>/usr/src/usr.sbin/sendmail</tt>
- and is recommended reading if you want to do any
- ``tweaking'' of your mail setup.
-
-
-<sect1><heading>How can I do E-Mail with a dialup PPP host?</heading>
-<p>
-You want to connect a FreeBSD box on a lan, to the Internet. The FreeBSD box will be a mail gateway for the lan. The PPP connection is non-dedicated.
-
-There are at least two way to do this.
-
-The other is to use UUCP.
-
-The key is to get a Internet site to provide secondary MX services for your domain.
-For example:
-<verb>
-bigco.com. MX 10 bigco.com.
- MX 20 smalliap.com.
-</verb>
-
-Only one host should be specified as the final recipient ( add ``Cw bigco.com'' in <tt>/etc/sendmail.cf</tt> on bigco.com).
-
-When the senders sendmail is trying to deliver the mail it will try to connect to you over the modem link. It will most likely time out because you are not online. Sendmail will automatically deliver it to the secondary MX site, ie your Internet provider. The secondary MX site will try every (<tt>sendmail_flags = "-bd -q15m"</tt> in <tt>/etc/sysconfig</tt> ) 15 minutes to connect to your host to deliver the mail to the primary MX site.
-
-You might wat to use something like this as a login script.
-<verb>
-#!/bin/sh
-# Put me in /usr/local/bin/pppbigco
-( sleep 60 ; /usr/sbin/sendmail -q ) &
-/usr/sbin/ppp -direct pppbigco
-</verb>
-If you are going to create a separate login script for a user you could use <tt>sendmail -qRbigco.com</tt> instead in the script above. This will force all mail in your queue for bigco.com to be processed immediately.
-
-
-A further refinement of the situation is as follows.
-
-Message stolen from the freebsd-isp mailing list.
-<verb>
-> we provide the secondary mx for a customer. The customer connects to
-> our services several times a day automatically to get the mails to
-> his primary mx (We do not call his site when a mail for his domains
-> arrived). Our sendmail sends the mailqueue every 30 minutes. At the
-> moment he has to stay 30 minutes online to be sure that all mail is
-> gone to the primary mx.
->
-> Is there a command that would initiate sendmail to send all the mails
-> now? The user has not root-privileges on our machine of course.
-
-In the 'privacy flags' section of sendmail.cf, there is a definition
-Opgoaway,restrictqrun
-
-Remove restrictqrun to allow non-root users to start the queue processing.
-You might also like to rearrange the MXs. We are the 1st MX for our
-customers like this, and we have defined:
-
-# If we are the best MX for a host, try directly instead of generating
-# local config error.
-OwTrue
-
-That way a remote site will deliver straight to you, without trying
-the customer connection. You then send to your customer. Only works for
-"hosts", so you need to get your customer to name their mail machine
-"customer.com" as well as "hostname.customer.com" in the DNS. Just put
-an A record in the DNS for "customer.com".
-</verb>
-
- </sect1>
diff --git a/share/doc/handbook/memoryuse.sgml b/share/doc/handbook/memoryuse.sgml
deleted file mode 100644
index 9e62d22..0000000
--- a/share/doc/handbook/memoryuse.sgml
+++ /dev/null
@@ -1,50 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect><heading>PC memory utilization<label id="memoryuse"></heading>
-
-<p><em>Contributed by &a.joerg;.<newline>
- 16 Apr 1995.</em>
-
-<em>A short description of how FreeBSD uses the memory on the i386
-platform</em>
-
-The boot sector will be loaded at <tt>0:0x7c00</tt>, and relocates itself
-immediately to <tt>0x7c0:0</tt>. (This is nothing magic, just an adjustment
-for the <tt>%cs</tt> selector, done by an <tt>ljmp</tt>.)
-
-It then loads the first 15 sectors at <tt>0x10000</tt> (segment BOOTSEG in the
-biosboot Makefile), and sets up the stack to work below <tt>0x1fff0</tt>.
-After this, it jumps to the entry of boot2 within that code. I.e., it
-jumps over itself and the (dummy) partition table, and it is going to
-adjust the %cs selector---we are still in 16-bit mode there.
-
-boot2 asks for the boot file, and examines the <tt>a.out</tt> header. It masks
-the file entry point (usually <tt>0xf0100000</tt>) by <tt>0x00ffffff</tt>, and loads the
-file there. Hence the usual load point is 1 MB (<tt>0x00100000</tt>). During
-load, the boot code toggles back and forth between real and protected
-mode, to use the BIOS in real mode.
-
-The boot code itself uses segment selectors <tt>0x18</tt> and <tt>0x20</tt> for <tt>%cs</tt> and
-<tt>%ds/%es</tt> in protected mode, and <tt>0x28</tt> to jump back into real mode. The
-kernel is finally started with <tt>%cs</tt> <tt>0x08</tt> and <tt>%ds/%es/%ss</tt> <tt>0x10</tt>, which
-refer to dummy descriptors covering the entire address space.
-
-The kernel will be started at its load point. Since it has been linked
-for another (high) address, it will have to execute PIC until the page
-table and page directory stuff is setup properly, at which point
-paging will be enabled and the kernel will finally run at the address
-for which it was linked.
-
-
-<em>Contributed by &a.davidg;.<newline>
- 16 Apr 1995.</em>
-
-The physical pages immediately following the kernel BSS contain
-proc0's page directory, page tables, and upages. Some time later
-when the VM system is initialized, the physical memory between
-<tt>0x1000-0x9ffff</tt> and the physical memory after the kernel
-(text+data+bss+proc0 stuff+other misc) is made available in the
-form of general VM pages and added to the global free page list.
-
-
diff --git a/share/doc/handbook/mirrors.sgml b/share/doc/handbook/mirrors.sgml
deleted file mode 100644
index c8557d3..0000000
--- a/share/doc/handbook/mirrors.sgml
+++ /dev/null
@@ -1,702 +0,0 @@
-<!-- $Id: mirrors.sgml,v 1.55 1997/04/25 20:03:48 max Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!--
-<!doctype linuxdoc public "-//FreeBSD//DTD linuxdoc//EN">
--->
-
-<chapt><heading>Obtaining FreeBSD<label id="mirrors"></heading>
-
-<sect><heading>CD-ROM Publishers</heading>
-
-<p>FreeBSD is available on CD-ROM from Walnut Creek CDROM:
-<quote>
- Walnut Creek CDROM<newline>
- 1547 Palos Verdes Mall, Suite 260<newline>
- Walnut Creek CA 94596 USA<newline>
- Phone: +1 510 674-0783<newline>
- Fax: +1 510 674-0821<newline>
- Email: <url url="mailto:info@cdrom.com" name="info@cdrom.com"><newline>
- WWW: <url url="http://www.cdrom.com/" name="http://www.cdrom.com/">
-</quote>
-
-<sect><heading>FTP Sites<label id="mirrors-ftp"></heading>
-
-<p>The official sources for FreeBSD are available via anonymous FTP from:
-<quote>
-<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD"
-name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD">.
-</quote>
-
-<p>Additionally, FreeBSD is available via anonymous FTP from the
- following mirror sites. If you choose to obtain FreeBSD via
- anonymous FTP, please try to use a site near you.
-
-<ref id="mirrors-ar" name="Argentina">,
-<ref id="mirrors-au" name="Australia">,
-<ref id="mirrors-br" name="Brazil">,
-<ref id="mirrors-ca" name="Canada">,
-<ref id="mirrors-cz" name="Czech Republic">,
-<ref id="mirrors-dk" name="Denmark">,
-<ref id="mirrors-ee" name="Estonia">,
-<ref id="mirrors-fi" name="Finland">,
-<ref id="mirrors-fr" name="France">,
-<ref id="mirrors-de" name="Germany">,
-<ref id="mirrors-hk" name="Hong Kong">,
-<ref id="mirrors-ie" name="Ireland">,
-<ref id="mirrors-il" name="Israel">,
-<ref id="mirrors-jp" name="Japan">,
-<ref id="mirrors-kr" name="Korea">,
-<ref id="mirrors-nl" name="Netherlands">,
-<ref id="mirrors-pl" name="Poland">,
-<ref id="mirrors-pt" name="Portugal">,
-<ref id="mirrors-ru" name="Russia">,
-<ref id="mirrors-za" name="South Africa">,
-<ref id="mirrors-se" name="Sweden">,
-<ref id="mirrors-tw" name="Taiwan">,
-<ref id="mirrors-th" name="Thailand">,
-<ref id="mirrors-us" name="USA">,
-<ref id="mirrors-uk" name="UK">.
-
-<descrip>
-<tag><label id="mirrors-ar">Argentina</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@ar.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.ar.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.ar.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-au">Australia</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@au.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.au.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.au.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.au.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.au.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.au.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp3.au.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp4.au.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp4.au.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-br">Brazil</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@br.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-<item>
-<url url="ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.br.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.br.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.br.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp3.br.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp4.br.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp4.br.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp5.br.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp5.br.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp6.br.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp6.br.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp7.br.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp7.br.FreeBSD.ORG/pub/FreeBSD"><newline>
-</itemize>
-
-<tag><label id="mirrors-ca">Canada</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@ca.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.ca.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.ca.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-cz">Czech Republic</tag>
-
-<itemize>
-
-<item>
-<url url="ftp://sunsite.mff.cuni.cz/OS/FreeBSD"
- name="ftp://sunsite.mff.cuni.cz/OS/FreeBSD"><newline>
- Contact: <url url="mailto:jj@sunsite.mff.cuni.cz"
- name="jj@sunsite.mff.cuni.cz">.
-
-</itemize>
-
-
-<tag><label id="mirrors-dk">Denmark</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@dk.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.dk.freeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.dk.freeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-ee">Estonia</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@ee.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.ee.freebsd.ORG/pub/FreeBSD"
- name="ftp://ftp.ee.freebsd.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-fi">Finland</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@fi.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.fi.freebsd.ORG/pub/FreeBSD"
- name="ftp://ftp.fi.freebsd.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-fr">France</tag>
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.ibp.fr/pub/FreeBSD"
- name="ftp://ftp.ibp.fr/pub/FreeBSD"><newline>
- Contact: <url url="mailto:Remy.Card@ibp.fr"
- name="Remy.Card@ibp.fr">.
-
-</itemize>
-
-<tag><label id="mirrors-de">Germany</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@de.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.de.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.de.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.de.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.de.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.de.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp3.de.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp4.de.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp4.de.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp5.de.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp5.de.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp6.de.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp6.de.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp7.de.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp7.de.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-hk">Hong Kong</tag>
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.hk.super.net/pub/FreeBSD"
- name="ftp://ftp.hk.super.net/pub/FreeBSD"><newline>
- Contact: <url url="mailto:ftp-admin@HK.Super.NET"
- name="ftp-admin@HK.Super.NET">.
-
-</itemize>
-
-<tag><label id="mirrors-ie">Ireland</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@ie.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.ie.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.ie.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-il">Israel</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@il.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.il.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.il.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.il.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.il.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-jp">Japan</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@jp.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.jp.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.jp.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.jp.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp3.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp4.jp.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp4.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp5.jp.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp5.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp6.jp.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp6.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-kr">Korea</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@kr.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.kr.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.kr.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.kr.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.kr.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-nl">Netherlands</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@nl.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.nl.freebsd.ORG/pub/FreeBSD"
- name="ftp://ftp.nl.freebsd.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-pl">Poland</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@pl.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.pl.freebsd.ORG/pub/FreeBSD"
- name="ftp://ftp.pl.freebsd.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-pt">Portugal</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@pt.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.pt.freebsd.org/pub/FreeBSD"
- name="ftp://ftp.pt.freebsd.org/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.pt.freebsd.org/pub/FreeBSD"
- name="ftp://ftp2.pt.freebsd.org/pub/FreeBSD"><newline>
-</itemize>
-
-<tag><label id="mirrors-ru">Russia</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@ru.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.ru.freebsd.org/pub/FreeBSD"
- name="ftp://ftp.ru.freebsd.org/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.ru.freebsd.org/pub/FreeBSD"
- name="ftp://ftp2.ru.freebsd.org/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.ru.freebsd.org/pub/FreeBSD"
- name="ftp://ftp3.ru.freebsd.org/pub/FreeBSD"><newline>
-</itemize>
-
-<tag><label id="mirrors-za">South Africa</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@za.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.za.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.za.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.za.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.za.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.za.FreeBSD.ORG/FreeBSD"
- name="ftp://ftp3.za.FreeBSD.ORG/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-se">Sweden</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@se.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.se.freebsd.ORG/pub/FreeBSD"
- name="ftp://ftp.se.freebsd.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-tw">Taiwan</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@tw.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.tw.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.tw.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.tw.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.tw.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.tw.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp3.tw.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-th">Thailand</tag>
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.nectec.or.th/pub/FreeBSD"
- name="ftp://ftp.nectec.or.th/pub/FreeBSD"><newline>
- Contact: <url url="mailto:ftpadmin@ftp.nectec.or.th"
- name="ftpadmin@ftp.nectec.or.th">.
-
-</itemize>
-
-<tag><label id="mirrors-us">USA</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp3.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp4.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp4.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp5.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp5.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp6.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp6.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-uk">UK</tag>
-
-In case of problems, please contact the
-<url url="mailto:hostmaster@uk.FreeBSD.ORG" name="hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.uk.FreeBSD.ORG/packages/unix/FreeBSD"
- name="ftp://ftp.uk.FreeBSD.ORG/packages/unix/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.uk.FreeBSD.ORG/pub/walnut.creek/FreeBSD"
- name="ftp://ftp2.uk.FreeBSD.ORG/pub/walnut.creek/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.uk.FreeBSD.ORG/pub/unix/FreeBSD"
- name="ftp://ftp3.uk.FreeBSD.ORG/pub/unix/FreeBSD"><newline>
-
-</itemize>
-
-</descrip>
-
-The latest versions of export-restricted code for FreeBSD (2.0C or later)
-(eBones and secure) are being made available at the following locations.
-If you are outside the U.S. or Canada, please get secure (DES) and
-eBones (Kerberos) from one of the following foreign distribution sites:
-
-<descrip>
-
-<tag>South Africa</tag>
-
-<url url="mailto:hostmaster@internat.FreeBSD.ORG" name="Hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.internat.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.internat.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-<item>
-<url url="ftp://ftp2.internat.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.internat.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag>Brazil</tag>
-
-<url url="mailto:hostmaster@br.FreeBSD.ORG" name="Hostmaster">
-for this domain.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag>Finland</tag>
-
-<itemize>
-
-<item>
-<url url="ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt"
- name="ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt"><newline>
- Contact: <url url="mailto:count@nic.funet.fi"
- name="count@nic.funet.fi">.
-
-</itemize>
-
-</descrip>
-
-<sect><heading>CTM Sites<label id="mirrors-ctm"></heading>
-
-<p><ref id="ctm" name="CTM">/FreeBSD is available via anonymous FTP from the
- following mirror sites. If you choose to obtain CTM via
- anonymous FTP, please try to use a site near you.
-
-In case of problems, please contact &a.phk;.
-
-<descrip>
-<tag>California, Bay Area, official source</tag>
-<itemize>
-<item>
-<url url="ftp://freefall.freebsd.org/pub/CTM"
- name="ftp://freefall.freebsd.org/pub/CTM"><newline>
-</itemize>
-
-
-<tag>Germany, Berlin</tag>
-<itemize>
-<item>
-<url url="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CTM"
- name="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CTM"><newline>
-</itemize>
-
-
-<tag>Germany, Trier</tag>
-<itemize>
-<item>
-<url url="ftp://ftp.uni-trier.de/pub/unix/systems/BSD/FreeBSD/CTM"
- name="ftp://ftp.uni-trier.de/pub/unix/systems/BSD/FreeBSD/CTM"><newline>
-</itemize>
-
-
-<tag>South Africa, backup server for old deltas</tag>
-<itemize>
-<item>
-<url url="ftp://ftp.internat.freebsd.org/pub/FreeBSD/CTM"
- name="ftp://ftp.internat.freebsd.org/pub/FreeBSD/CTM"><newline>
-</itemize>
-
-
-<tag>Taiwan/R.O.C, Chiayi</tag>
-<itemize>
-<item>
-<url url="ftp://ftp.ccu.edu.tw/pub/freebsd/CTM"
- name="ftp://ftp.ccu.edu.tw/pub/freebsd/CTM"><newline>
-</itemize>
-
-</descrip>
-
-
-If you did not find a mirror near to you or the mirror is incomplete,
-try
-<url url="http://ftpsearch.ntnu.no/" name="FTP search"> at
-<url url="http://ftpsearch.ntnu.no/ftpsearch/"
- name="http://ftpsearch.ntnu.no/ftpsearch">.
-FTP search is a great free archie server in Trondheim, Norway.
-
-<sect><heading>CVSup Sites<label id="mirrors-cvsup"></heading>
-
-<p><ref id="cvsup" name="CVSup"> servers for FreeBSD are running at
-the following sites:
-
-<descrip>
-
-<tag>Argentina</tag>
-<itemize>
-<item>cvsup.ar.FreeBSD.ORG
-(<url url="mailto:msagre@cactus.fi.uba.ar" name="maintainer">)
-</itemize>
-
-<tag>Australia</tag>
-<itemize>
-<item>cvsup.au.FreeBSD.ORG
-(<url url="mailto:dawes@physics.usyd.edu.au" name="maintainer">)
-</itemize>
-
-<tag>Germany</tag>
-<itemize>
-<item>cvsup.de.FreeBSD.ORG
-(<url url="mailto:wosch@cs.tu-berlin.de" name="maintainer">)
-</itemize>
-
-<tag>Japan</tag>
-<itemize>
-<item>cvsup.jp.FreeBSD.ORG
-(<url url="mailto:simokawa@sat.t.u-tokyo.ac.jp" name="maintainer">)
-</itemize>
-
-<tag>Netherlands</tag>
-<itemize>
-<item>cvsup.nl.FreeBSD.ORG
-(<url url="mailto:xaa@stack.nl" name="maintainer">)
-</itemize>
-
-<tag>Norway</tag>
-<itemize>
-<item>cvsup.no.FreeBSD.ORG
-(<url url="mailto:Tor.Egge@idt.ntnu.no" name="maintainer">)
-</itemize>
-
-<tag>South Africa</tag>
-<itemize>
-<item>cvsup.za.FreeBSD.ORG
-(<url url="mailto:markm@FreeBSD.ORG" name="maintainer">)
-</itemize>
-
-<tag>Taiwan</tag>
-<itemize>
-<item>sup.tw.FreeBSD.ORG
-(<url url="mailto:jdli@freebsd.csie.nctu.edu.tw" name="maintainer">)
-</itemize>
-
-<tag>USA</tag>
-<itemize>
-<item>cvsup.FreeBSD.ORG
-(<url url="mailto:jdp@FreeBSD.ORG" name="maintainer">)
-<item>cvsup2.FreeBSD.ORG
-(<url url="mailto:jdp@FreeBSD.ORG" name="maintainer">)
-<item>cvsup4.FreeBSD.ORG
-(<url url="mailto:jdp@FreeBSD.ORG" name="maintainer">)
-<item>cvsup5.FreeBSD.ORG
-(<url url="mailto:skynyrd@opus.cts.cwu.edu" name="maintainer">)
-</itemize>
-
-</descrip>
-
-The export-restricted code for FreeBSD (eBones and secure) is
-available via CVSup at the following international repository.
-Please use this site to get the export-restricted code, if you are
-outside the USA or Canada.
-
-<descrip>
-
-<tag>South Africa</tag>
-<itemize>
-<item>cvsup.internat.FreeBSD.ORG
-(<url url="mailto:markm@FreeBSD.ORG" name="maintainer">)
-</itemize>
-
-</descrip>
diff --git a/share/doc/handbook/nfs.sgml b/share/doc/handbook/nfs.sgml
deleted file mode 100644
index 0be71bb..0000000
--- a/share/doc/handbook/nfs.sgml
+++ /dev/null
@@ -1,86 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect><heading>NFS<label id="nfs"></heading>
-
-<p><em>Contributed by &a.jlind;.</em>
-
-Certain Ethernet adapters for ISA PC systems have limitations which
-can lead to serious network problems, particularly with NFS. This
-difficulty is not specific to FreeBSD, but FreeBSD systems are affected
-by it.
-
-The problem nearly always occurs when (FreeBSD) PC systems are networked
-with high-performance workstations, such as those made by Silicon Graphics,
-Inc., and Sun Microsystems, Inc. The NFS mount will work fine, and some
-operations may succeed, but suddenly the server will seem to become
-unresponsive to the client, even though requests to and from other systems
-continue to be processed. This happens to the client system, whether the
-client is the FreeBSD system or the workstation. On many systems, there is
-no way to shut down the client gracefully once this problem has manifested
-itself. The only solution is often to reset the client, because the NFS
-situation cannot be resolved.
-
-Though the "correct" solution is to get a higher performance and capacity
-Ethernet adapter for the FreeBSD system, there is a simple workaround that
-will allow satisfactory operation. If the FreeBSD system is the SERVER,
-include the option "-w=1024" on the mount from the client. If the
-FreeBSD system is the CLIENT, then mount the NFS file system with the
-option "-r=1024". These options may be specified using the fourth
-field of the fstab entry on the client for automatic mounts, or by using
-the "-o" parameter of the mount command for manual mounts.
-
-It should be noted that there is a different problem,
-sometimes mistaken for this one,
-when the NFS servers and clients are on different networks.
-If that is the case, make CERTAIN that your routers are routing the
-necessary UDP information, or you will not get anywhere, no matter
-what else you are doing.
-
-In the following examples, "fastws" is the host (interface) name of a
-high-performance workstation, and "freebox" is the host (interface) name of
-a FreeBSD system with a lower-performance Ethernet adapter. Also,
-"/sharedfs" will be the exported NFS filesystem (see "man exports"), and
-"/project" will be the mount point on the client for the exported file
-system. In all cases, note that additional options, such as "hard" or
-"soft" and "bg" may be desirable in your application.
-
-Examples for the FreeBSD system ("freebox") as the client:
- in <tt>/etc/fstab</tt> on freebox:
-fastws:/sharedfs /project nfs rw,-r=1024 0 0
- as a manual mount command on freebox:
-mount -t nfs -o -r=1024 fastws:/sharedfs /project
-
-Examples for the FreeBSD system as the server:
- in <tt>/etc/fstab</tt> on fastws:
-freebox:/sharedfs /project nfs rw,-w=1024 0 0
- as a manual mount command on fastws:
-mount -t nfs -o -w=1024 freebox:/sharedfs /project
-
-Nearly any 16-bit Ethernet adapter will allow operation without the above
-restrictions on the read or write size.
-
-For anyone who cares, here is what happens when the failure occurs, which
-also explains why it is unrecoverable. NFS typically works with a "block"
-size of 8k (though it may do fragments of smaller sizes). Since the maximum
-Ethernet packet is around 1500 bytes, the NFS "block" gets split into
-multiple Ethernet packets, even though it is still a single unit to the
-upper-level code, and must be received, assembled, and ACKNOWLEDGED as a
-unit. The high-performance workstations can pump out the packets which
-comprise the NFS unit one right after the other, just as close together as
-the standard allows. On the smaller, lower capacity cards, the later
-packets overrun the earlier packets of the same unit before they can be
-transferred to the host and the unit as a whole cannot be reconstructed or
-acknowledged. As a result, the workstation will time out and try again,
-but it will try again with the entire 8K unit, and the process will be
-repeated, ad infinitum.
-
-By keeping the unit size below the Ethernet packet size limitation, we
-ensure that any complete Ethernet packet received can be acknowledged
-individually, avoiding the deadlock situation.
-
-Overruns may still occur when a high-performance workstations is slamming
-data out to a PC system, but with the better cards, such overruns are
-not guaranteed on NFS "units". When an overrun occurs, the units affected
-will be retransmitted, and there will be a fair chance that they will be
-received, assembled, and acknowledged.
diff --git a/share/doc/handbook/nutshell.sgml b/share/doc/handbook/nutshell.sgml
deleted file mode 100644
index b763564..0000000
--- a/share/doc/handbook/nutshell.sgml
+++ /dev/null
@@ -1,151 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect><heading>FreeBSD in a nutshell<label id="nutshell"></heading>
-
- <p>FreeBSD is a state of the art operating system for
- personal computers based on the Intel CPU architecture, which
- includes the 386, 486 and Pentium processors (both SX and DX versions).
- Intel compatible CPUs from AMD and Cyrix are supported as well.
- FreeBSD provides you with many advanced features previously available
- only on much more expensive computers. These features include:
-
- <itemize>
- <item><bf>Preemptive multitasking</bf> with dynamic priority
- adjustment to ensure smooth and fair sharing of the
- computer between applications and users.</item>
- <item><bf>Multiuser</bf> access means that many people can use a
- FreeBSD system simultaneously for a variety of things. System
- peripherals such as printers and tape drives are also properly
- SHARED BETWEEN ALL users on the system.</item>
- <item>Complete <bf>TCP/IP networking</bf> including SLIP, PPP, NFS
- and NIS support. This means that your FreeBSD machine can
- inter-operate easily with other systems as well act as an enterprise
- server, providing vital functions such as NFS (remote file access) and
- e-mail services or putting your organization on the Internet
- with WWW, ftp, routing and firewall (security) services.</item>
- <item><bf>Memory protection</bf> ensures that applications (or
- users) cannot interfere with each other. One application
- crashing will not affect others in any way.</item>
- <item>FreeBSD is a <bf>32-bit</bf> operating system and was designed
- as such from the ground up.</item>
- <item>The industry standard <bf>X Window System</bf> (X11R6)
- provides a graphical user interface (GUI) for the cost of a
- common VGA card and monitor and comes with full sources.</item>
- <item><bf>Binary compatibility</bf> with many programs built for SCO,
- BSDI, NetBSD, Linux and 386BSD.</item>
- <item>Hundreds of <bf>ready-to-run</bf> applications are
- available from the
- FreeBSD <bf>ports</bf> and <bf>packages</bf>
- collection. Why search the net when you can find it all
- right here?</item>
- <item>Thousands of additional and <bf>easy-to-port</bf> applications
- available on the Internet. FreeBSD is source code compatible
- with most popular commercial Unix systems and thus most
- applications require few, if any, changes to compile.</item>
- <item>Demand paged <bf>virtual memory</bf> and `merged VM/buffer cache'
- design efficiently satisfies applications with large appetites
- for memory while still maintaining interactive response to other
- users.</item>
- <item><bf>Shared libraries</bf> (the Unix equivalent of
- MS-Windows DLLs) provide for efficient use of disk space
- and memory.</item>
- <item>A full compliment of <bf>C</bf>, <bf>C++</bf> and
- <bf>Fortran</bf> development tools. Many additional
- languages for advanced research and development are
- also available in the ports and packages collection.</item>
- <item><bf>Source code</bf> for the entire system means you have
- the greatest degree of control over your environment. Why be
- locked into a proprietary solution and at the mercy of your vendor
- when you can have a truly Open System?</item>
- <item>Extensive <bf>on-line documentation</bf>.</item>
- <item><bf>And many more!</bf></item>
- </itemize>
-
- FreeBSD is based on the 4.4BSD-Lite release from Computer
- Systems Research Group (CSRG) at the University of
- California at Berkeley, and carries on the distinguished
- tradition of BSD systems development. In addition to the
- fine work provided by CSRG, the FreeBSD Project has put in
- many thousands of hours in fine tuning the system for
- maximum performance and reliability in real-life load
- situations. As many of the commercial giants struggle to
- field PC operating systems with such features, performance
- and reliability, FreeBSD can offer them <bf>now</bf>!
-
- The applications to which FreeBSD can be put are truly
- limited only by your own imagination. From software
- development to factory automation, inventory control to
- azimuth correction of remote satellite antennae; if it can
- be done with a commercial UNIX product then it is more than
- likely that you can do it with FreeBSD, too! FreeBSD also
- benefits significantly from the literally thousands of high
- quality applications developed by research centers and
- universities around the world, often available at little
- to no cost. Commercial applications are also available
- and appearing in greater numbers every day.
-
- Because the source code for FreeBSD itself is generally
- available, the system can also be customized to an almost
- unheard of degree for special applications or projects, and
- in ways not generally possible with operating systems from
- most major commercial vendors. Here is just a sampling of
- some of the applications in which people are currently
- using FreeBSD:
-
- <itemize>
- <item><bf>Internet Services:</bf> The robust TCP/IP networking
- built into FreeBSD makes it an ideal platform for a
- variety of Internet services such as:
- <itemize>
- <item>FTP servers</item>
- <item>World Wide Web servers</item>
- <item>Gopher servers</item>
- <item>Electronic Mail servers</item>
- <item>USENET News</item>
- <item>Bulletin Board Systems</item>
- <item>And more...</item>
- </itemize>
- You can easily start out small with an inexpensive 386
- class PC and upgrade as your enterprise grows.</item>
- <item><bf>Education:</bf> Are you a student of computer science
- or a related engineering field? There is no better way
- of learning about operating systems, computer
- architecture and networking than the hands on, under the
- hood experience that FreeBSD can provide. A number of
- freely available CAD, mathematical and graphic design
- packages also make it highly useful to those who's
- primary interest in a computer is to get <em>other</em>
- work done!</item>
- <item><bf>Research:</bf> With source code for the entire system
- available, FreeBSD is an excellent platform for research
- in operating systems as well as other branches of
- computer science. FreeBSD's freely available nature also
- makes it possible for remote groups to collaborate on
- ideas or shared development without having to worry about
- special licensing agreements or limitations on what
- may be discussed in open forums.</item>
- <item><bf>Networking:</bf> Need a new router? A name server
- (DNS)? A firewall to keep people out of your internal
- network? FreeBSD can easily turn that unused 386 or 486 PC
- sitting in the corner into an advanced router with
- sophisticated packet filtering capabilities. </item>
- <item><bf>X Window workstation:</bf> FreeBSD is a fine
- choice for an inexpensive X terminal solution, either
- using the freely available XFree86 server or one
- of the excellent commercial servers provided by X Inside.
- Unlike an X
- terminal, FreeBSD allows many applications to be run
- locally, if desired, thus relieving the burden on a
- central server. FreeBSD can even boot
- "diskless", making individual workstations even cheaper
- and easier to administer.</item>
- <item><bf>Software Development:</bf> The basic FreeBSD system
- comes with a full compliment of development tools
- including the renowned GNU C/C++ compiler and
- debugger. </item>
- </itemize>
-
-FreeBSD is available in both source and binary form on CDROM and
-via anonymous ftp. See <ref id="mirrors" name="Obtaining FreeBSD">
-for more details.
diff --git a/share/doc/handbook/pgpkeys.sgml b/share/doc/handbook/pgpkeys.sgml
deleted file mode 100644
index 4e5bf79..0000000
--- a/share/doc/handbook/pgpkeys.sgml
+++ /dev/null
@@ -1,364 +0,0 @@
-<!-- $Id: pgpkeys.sgml,v 1.19 1997/04/25 22:54:33 ache Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<chapt><heading>PGP keys<label id="pgpkeys"></heading>
- <p> In case you need to verify a signature or send encrypted
- email to one of the officers or core team members a
- number of keys are provided here for your convenience.
- <sect><heading>Officers</heading>
- <sect1><heading>
-FreeBSD Security Officer &lt;security-officer@freebsd.org&gt;
- </heading> <p>
-<tscreen><verb>
-FreeBSD Security Officer &lt;security-officer@freebsd.org&gt;
-Fingerprint = 41 08 4E BB DB 41 60 71 F9 E5 0E 98 73 AF 3F 11
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3i
-
-mQCNAzF7MY4AAAEEAK7qBgPuBejER5HQbQlsOldk3ZVWXlRj54raz3IbuAUrDrQL
-h3g57T9QY++f3Mot2LAf5lDJbsMfWrtwPrPwCCFRYQd6XH778a+l4ju5axyjrt/L
-Ciw9RrOC+WaPv3lIdLuqYge2QRC1LvKACIPNbIcgbnLeRGLovFUuHi5z0oilAAUR
-tDdGcmVlQlNEIFNlY3VyaXR5IE9mZmljZXIgPHNlY3VyaXR5LW9mZmljZXJAZnJl
-ZWJzZC5vcmc+iQCVAwUQMX6yrOJgpPLZnQjrAQHyowQA1Nv2AY8vJIrdp2ttV6RU
-tZBYnI7gTO3sFC2bhIHsCvfVU3JphfqWQ7AnTXcD2yPjGcchUfc/EcL1tSlqW4y7
-PMP4GHZp9vHog1NAsgLC9Y1P/1cOeuhZ0pDpZZ5zxTo6TQcCBjQA6KhiBFP4TJql
-3olFfPBh3B/Tu3dqmEbSWpuJAJUDBRAxez3C9RVb+45ULV0BAak8A/9JIG/jRJaz
-QbKom6wMw852C/Z0qBLJy7KdN30099zMjQYeC9PnlkZ0USjQ4TSpC8UerYv6IfhV
-nNY6gyF2Hx4CbEFlopnfA1c4yxtXKti1kSN6wBy/ki3SmqtfDhPQ4Q31p63cSe5A
-3aoHcjvWuqPLpW4ba2uHVKGP3g7SSt6AOYkAlQMFEDF8mz0ff6kIA1j8vQEBmZcD
-/REaUPDRx6qr1XRQlMs6pfgNKEwnKmcUzQLCvKBnYYGmD5ydPLxCPSFnPcPthaUb
-5zVgMTjfjS2fkEiRrua4duGRgqN4xY7VRAsIQeMSITBOZeBZZf2oa9Ntidr5PumS
-9uQ9bvdfWMpsemk2MaRG9BSoy5Wvy8VxROYYUwpT8Cf2iQCVAwUQMXsyqWtaZ42B
-sqd5AQHKjAQAvolI30Nyu3IyTfNeCb/DvOe9tlOn/o+VUDNJiE/PuBe1s2Y94a/P
-BfcohpKC2kza3NiW6lLTp00OWQsuu0QAPc02vYOyseZWy4y3Phnw60pWzLcFdemT
-0GiYS5Xm1o9nAhPFciybn9j1q8UadIlIq0wbqWgdInBT8YI/l4f5sf6JAJUDBRAx
-ezKXVS4eLnPSiKUBAc5OBACIXTlKqQC3B53qt7bNMV46m81fuw1PhKaJEI033mCD
-ovzyEFFQeOyRXeu25Jg9Bq0Sn37ynISucHSmt2tUD5W0+p1MUGyTqnfqejMUWBzO
-v4Xhp6a8RtDdUMBOTtro16iulGiRrCKxzVgEl4i+9Z0ZiE6BWlg5AetoF5n3mGk1
-lw==
-=ipyA
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
- <sect><heading>Core team members</heading>
- <sect1><heading>&a.jkh</heading><p>
-
-<tscreen><verb>
-Jordan K. Hubbard &lt;jkh@FreeBSD.org&gt;
-Fingerprint = 3C F2 27 7E 4A 6C 09 0A 4B C9 47 CD 4F 4D 0B 20
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.2i
-
-mQCNAzFjX0IAAAEEAML+nm9/kDNPp43ZUZGjYkm2QLtoC1Wxr8JulZXqk7qmhYcQ
-jvX+fyoriJ6/7ZlnLe2oG5j9tZOnRLPvMaz0g9CpW6Dz3nkXrNPkmOFV9B8D94Mk
-tyFeRJFqnkCuqBj6D+H8FtBwEeeTecSh2tJ0bZZTXnAMhxeOdvUVW/uOVC1dAAUR
-tCNKb3JkYW4gSy4gSHViYmFyZCA8amtoQEZyZWVCU0Qub3JnPokAlQMFEDF75D1r
-WmeNgbKneQEBXtcD+gJIv8JzZRKlDZyTCQanK8iRgE+zMhxptI0kDObaGxT1BrpY
-4/EPyiUN10G4k2Jb+DOc8Lg2xDQ3xmvgipFf9NMNV/ThaEuZ3wA31I6tW/arQEqB
-Tp8u6T3v20m62t7Afo9HaoE6MBpHQUk2TilxgAd5P57sporL3pgW9YojIO9ziQCV
-AwUQMXyV2h9/qQgDWPy9AQEMfgP/RmbSg2WlesATUQ4WuanjcdREduKPyfQatrXD
-2xt+jg9X78dTyiNN1YvLqvT6msfs04MKSC0hA2mou6ozw8Xak+1QmP0fBOZKp9pP
-8szO188Do9ByzJPvHF1eXT7jFMOXVq8ZIl9iwjxcIDLzlxOz49DC7LO6AT+LKQk7
-UGeP+lqJAJUDBRAxe+UG9RVb+45ULV0BAXZ9A/9F9gLpGukVNkeOjaqxQdJGTS+a
-xh/Abk0c/nKhAEyxpAl5JyQ3ifYk6BHhPvlTi9LrZoXGA8sk/eU4eRTZVzvGEC4G
-+xsavlE/xzku8855QTLPpkCunUpQeu1wzaIrUUE6Zjh05imFbJYyQOBgTFpuqWsC
-rsUpl+2mr8IGIxG5rA==
-=LW9i
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
- <sect1><heading>&a.phk</heading><p>
-
-<tscreen><verb>
-Poul-Henning Kamp &lt;phk@FreeBSD.org&gt;
-Fingerprint = A3 F3 88 28 2F 9B 99 A2 49 F4 E2 FA 5A 78 8B 3E
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3ia
-
-mQCNAzAdpMIAAAEEALHDgrFUwhZtb7PbXg3upELoDVEUPFRwnmpJH1rRqyROUGcI
-ooVe7u+FQlIs5OsXK8ECs/5Wpe2UrZSzHvjwBYOND5H42YtI5UULZLRCo5bFfTVA
-K9Rpo5icfTsYihrzU2nmnycwFMk+jYXyT/ZDYWDP/BM9iLjj0x9/qQgDWPy9AAUR
-tCNQb3VsLUhlbm5pbmcgS2FtcCA8cGhrQEZyZWVCU0Qub3JnPokAlQMFEDMGK9qz
-WmLrWZ8yPQEB4iED/18bQVhV2gUYFSxIUTaUtO2HVPi7GRpSzmXoTfS+FJyRR0ED
-zTqTHstoBe2PeWgTsOf9cUub5UKcJkRQp7VrJv4Kncyuq7pX69a+QMveCzuUwAur
-nDbt/emOL6NU8g9Uk50QuOuipb5rULQLRRoF5TkViy/VES83ERXdYQ9Ml3fWiQCV
-AwUQMX6NfWtaZ42Bsqd5AQEKsgP+L+uLz95dRdEmnZ+omrO+tYZM/0jHU7i8yC5q
-H0gguKOCljI4liR7NkqKONUJWYtfsTB81d9iSosBZRrTx6i/hB8l8kOB975n/f9S
-hftFwmjLYCNMFlDM4j0kySvMV20UZjAyv9BeE51VWlIZ5n/oeSuzul3Znow02tF/
-zVnInJiJAJUDBRAxfJXn9RVb+45ULV0BAXJ8A/9K6NT6VLZZC5q3g7bBk5DWuzBS
-3oK2Ebww6xzsD2R9edltoz1J3GPngK0CWpHh4kw5iTaRWoC2YJYRNG6icnGvlMAl
-1/urqQHJVhxATINm8oljDKsj1RBJ6VKBzNbCJIHTVpX0AJoqUQX2Idi8goFr0fAm
-7cD2CBb1JhoAdzEfO4kAlQMFEDFLHlwff6kIA1j8vQEBj5MD/1hA8hJdhpL7mvQj
-rTAIn6Ldr08Lr1lqTaKSBMdCL3suGlW0Sw/dIBgicPDhgxLahT3DVfGiIst32FSl
-xmWY7wine80X4TZkJ9Hiw3Mpqtjl92j6zHNq0ZZE+CceNubpEdYLDqokAIMPdWlo
-WPHZcPxCs5PKI5udseFYF2gQAjI2iQCVAwUQMTlDoO9huekR1Y7VAQGy+AP/Rzp+
-UGtJavbSiPx5EnXOXxkA/+ulXQgQG9vdkWwewkvxDNOzHW3KkUWCGtPtIMENznbF
-j3QlYB+USIaf1ogvlD5EdXGPDfTINpE8CX2WXzajfgYFpYETDzduwjoWDZfEN9zZ
-fQqQS62VgAReOIz3k9BL708z/+WUO0++RLGCmImJAJUDBRAw5q8kAPLZCeu7G0EB
-AT3bBACwo+r9TgbiSyyU5cZpq5KgGT1c7eUHXjtxKmtrXD1nFNJ6j7x2DM2XGe6B
-YOfDWbFq4UkEAyAeXviuuUP4enQu1v2g7JGXeuI8bRM519pLdPzDq/DnbA4rNStn
-/SkH7awMfNSplcFuE6rc5ezVkw17eOHzDrYmwsFavL9gxZEycg==
-=Q45T
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
- <sect1><heading>&a.joerg</heading><p>
-
-<tscreen><verb>
-J&ouml;rg Wunsch &lt;joerg_wunsch@uriah.heep.sax.de&gt;
-Key fingerprint = DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3ia
-
-mQCNAzGCFeAAAAEEAKmRBU2Nvc7nZy1Ouid61HunA/5hF4O91cXm71/KPaT7dskz
-q5sFXvPJPpawwvqHPHfEbAK42ZaywyFp59L1GaYj87Pda+PlAYRJyY2DJl5/7JPe
-ziq+7B8MdvbX6D526sdmcR+jPXPbHznASjkx9DPmK+7TgFujyXW7bjh2o/exAAUR
-tC1Kb2VyZyBXdW5zY2ggPGpvZXJnX3d1bnNjaEB1cmlhaC5oZWVwLnNheC5kZT6J
-AJUDBRAyCIWZdbtuOHaj97EBAVMzA/41VIph36l+yO9WGKkEB+NYbYOz2W/kyi74
-kXLvLdTXcRYFaCSZORSsQKPGNMrPZUoLoAKxE25AoCgl5towqr/sCcu0A0MMvJdd
-UvlQ2T+ylSpGmWchqoXCN7FdGyxrZ5zzxzLIvtcio6kaHd76XxyJpltCASupdD53
-nEtxnu8sRrQxSm9lcmcgV3Vuc2NoIDxqb2VyZ193dW5zY2hAaW50ZXJmYWNlLWJ1
-c2luZXNzLmRlPokAlQMFEDIIhfR1u244dqP3sQEBWoID/RhBm+qtW+hu2fqAj9d8
-CVgEKJugrxZIpXuCKFvO+bCgQtogt9EX+TJh4s8UUdcFkyEIu8CT2C3Rrr1grvck
-fxvrTgzSzvtYyv1072X3GkVY+SlUMBMArdl1qNW23oT7Q558ajnsaL065XJ5m7Ha
-cgTTikiofYG8i1s7TrsEeq6PtCJKb2VyZyBXdW5zY2ggPGpAdXJpYWguaGVlcC5z
-YXguZGU+iQCVAwUQMaS91D4gHQUlG9CZAQGYOwQAhPpiobK3d/fz+jWrbQgjkoO+
-j39glYGXb22+6iuEprFRs/ufKYtjljNTNK3B4DWSkyIPawcuO4Lotijp6jke2bsj
-FSSashGWcsJlpnwsv7EeFItT3oWTTTQQItPbtNyLW6M6xB+jLGtaAvJqfOlzgO9B
-LfHuA2LY+WvbVW447SWJAJUDBRAxqWRsdbtuOHaj97EBAXDBA/49rzZB5akkTSbt
-/gNd38OJgC+H8N5da25vV9dD3KoAvXfWfw7OxIsxvQ/Ab+rJmukrrWxPdsC+1WU1
-+1rGa4PvJp/VJRDes2awGrn+iO7/cQoSIVziC27JpcbvjLvLVcBIiy1yT/RvJ+87
-a3jPRHt3VFGcpFh4KykxxSNiyGygl4kAlQMFEDGCUB31FVv7jlQtXQEB5KgD/iIJ
-Ze5lFkPr2B/Cr7BKMVBot1/JSu05NsHgJZ3uK15w4mVtNPZcFi/dKbn+qRM6LKDF
-e/GF0HZD/ZD1FJt8yQjzF2w340B+F2GGEOwnClqZDtEAqnIBzM/ECQQqH+6Bi8gp
-kFZrFgg5eON7ikqmusDnOlYStM/CBfgpSbR8kDmFtCZKb2VyZyBXdW5zY2ggPGpA
-aW50ZXJmYWNlLWJ1c2luZXNzLmRlPokAlQMFEDMF5M3HZvEPv7z0SQEBAOEEAIDT
-V9RxYF6zHrQ2/sOshBkA5CQgwGPW+pgNhzXii0AIbKGZeB8ANforkGgoKN5chQvt
-Un9PezlE7O+M+V9bwnnalaBcPQsSN8bnLbd6SQm2zevH5TpZ6tFnWKLllhpRcC5Y
-eTxMv/1bcF/ZaoLIs5Yc4rfn1+gU+AYCouW2g4a1iQCVAwUQMgir3g/XgicV+IVJ
-AQHmzAP/ZkT8uiuou019kY1CkpdqeaGK1z5NdmbMOIo7pLbJcc0ITgsjEghitlBA
-uFDPTF6dR9SWUMTfw3H5zO1WlLflXtMGegwvYAUhydYSlcR3uV049upiK+K3Fzct
-lxAzCvULJwcSAGZwVU40ji3YaqkjKd1CyzqQZUS9kWK6otuyF6+JAJUDBRAxqW53
-dbtuOHaj97EBASZ0A/0VUgM4H+LqK7936W6LCNCxNy1LnwGBgUiTSZ7JHisrnWZD
-ZCOcxhg8FZ3h/3EpCk+DkaKHqnEwcSnjGjLlz1Zd9EGoYDcFo37k75eTmfKK7EBh
-liJ+RYamF7CpIxBsSDgTn775VUNFG3EdDdvuRejG+Rqq12aSHrJ+4xSaZECj1A==
-=ItLi
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
- <sect1><heading>&a.ache</heading><p>
-
-<tscreen><verb>
-Andrey A. Chernov &lt;ache@FreeBSD.org&gt;
- aka &lt;ache@nagual.pp.ru&gt;
-Key fingerprint = 33 03 9F 48 33 7B 4A 15 63 48 88 0A C4 97 FD 49
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3ia
-
-mQCNAiqUMGQAAAEEAPGhcD6A2Buey5LYz0sphDLpVgOZc/bb9UHAbaGKUAGXmafs
-Dcb2HnsuYGgX/zrQXuCi/wIGtXcZWB97APtKOhFsZnPinDR5n/dde/mw9FnuhwqD
-m+rKSL1HlN0z/Msa5y7g16760wHhSR6NoBSEG5wQAHIMMq7Q0uJgpPLZnQjrAAUT
-tCVBbmRyZXkgQS4gQ2hlcm5vdiA8YWNoZUBuYWd1YWwucHAucnU+iQCVAwUQM2Ez
-u+JgpPLZnQjrAQEyugP8DPnS8ixJ5OeuYgPFQf5sy6l+LrB6hyaS+lgsUPahWjNY
-cnaDmfda/q/BV5d4+y5rlQe/pjnYG7/yQuAR3jhlXz8XDrqlBOnW9AtYjDt5rMfJ
-aGFTGXAPGZ6k6zQZE0/YurT8ia3qjvuZm3Fw4NJrHRx7ETHRvVJDvxA6Ggsvmr20
-IkFuZHJleSBBLiBDaGVybm92IDxhY2hlQG5hZ3VhbC5ydT6JAJUDBRAxybkd4mCk
-8tmdCOsBAfC9A/0Z2YB/WB1y5rIcSA2RzXWZpw8fXVzBaNiPMDZih5wUwZXuKoor
-xBiuvUyNsZd/wMAbxRt+bRBsjwuPyIbc2Coiu7RzvZS4cZKf8A98YYbQC09flQr+
-TsGAjQJramjo0DmetKny0Ox0TP/iDJ5rzhFeXamu1N/kmPTuF+VtGy0ZcrQyQW5k
-cmV5IEEuIENoZXJub3YsIEJsYWNrIE1hZ2UgPGFjaGVAYXN0cmFsLm1zay5zdT6J
-AJUDBRAwKwCjn+savKgvyHcBAerVBACJ3I0WoD2G+uYxyOljtywlUWUa+PnvhaPg
-Y9qjell65BowGaxappctidZT8CV1vqRPPr6dFxBfnTMUfRMdI98CnARbvLJtJMjl
-qkmZZPeqEo3a+Ys2DbI3OGotPMcsPWUfeLWl9CrxZ6+s1+MtRyjlL9W56ROZr+iy
-fMILDt9DMIkAlQMFEDAq/ChrWmeNgbKneQEBGKEEAKhevep8brmEULIokhKaM69q
-gatqfFQiR4NLTJB1MfOFD53AHU6GErXkTQ3CvQwpqMsyb3Sfr5l1vnL8UiOk+uK7
-x0iuUetZmV7Brzx4QMz5D83FPWJiD4dooMATXvWOYulKkIvQyIm07SLfovd6RUPs
-e/y9985kc9IeKsjMk5lNiQCVAwUQMBq7rMUtR20Nv5BtAQFBfwP8DHCRh4VpjFlg
-wU4Mci9KTbeECyMKZQDZSKXUV5YC6xv6jzFF88NztOeiysiJ8mpsXn59wcIblVJM
-aWEGF3XxhZR5pt/+H07YGxBfnnJZG4HbHd2InXEj9VV0b6vGUwKYThlHVOX3H4y2
-6f0qopWkHf1WWQIFhDeGWA239MlRjiuJAJUDBRAwEcybIlGW2WZtAFEBAVCTA/9g
-LdqGzdkwyiuI6W3dnEY1RQ9MXusgRHeP5zuaoYbjp0ScMHmxSuTNpymgtfmyPW0Z
-Hdu/P1ri+aTUC/coU02+tlnf8FkUamreYJOIAL3OzI1hDwvQB8YhQ7mCgIiOrA5M
-1AgA6k2wnlL6cwCRAHhiaY2UjoZNvcPXzN+E9nq5yIkAlQIFEDAPSyXi5bvh+14V
-GQEBawAD/01ioFEEpuaW1AOnIrj6MEBiORcEmYBEVcolhOWdOA4cylmqhXJb3rGd
-prkzPESK7tlabmgvXRAMinWSuQE/Ypya99IwwdvloYIJBzb8/w2V9cC4e00bNiIj
-RQAjCLyKH9LWWJV++eoX25Xd3eSgTtWxD04DhCjRkvaCBb7+ARpgiQCVAwUQMA7P
-qrH8jId7euXhAQEi9gP+Mivxeqj/YjmCdyCFJ4VHTWfS8QsUi9oXhweh8bPLMGli
-x8D7qmAUjUgz4tQXeRtSQBj/a5J/1TkQJxowJNYLBWAlU76gbTvlIcQzhu6GvO61
-mIzV1PJNp6lo+lPJExRTH1kwxgmzuxuosh3V4PCsnFQ+GsE29//DZbaxgdJjxx2J
-AJUDBRAwDOqAdx2Srolyx8EBAZPHBAC2B4sWLauFI52WWkNdTDP5JLpsSMVNaBGx
-YUzL1Cc5yqvLDsvK4WZZ6KfiNqyNjTfcmw4N9ZA+I9U0DdQSddWD36fwC80w87wm
-RG8KfV42DRVonL0nfry4CuKj3dqB3Zh/9Hmv5AS4+MiyxWTyF1zL+W4SFKJdZ/ps
-sxUcQDQn44kAlQMFEDANSL7iYKTy2Z0I6wEBq0EEAIcH6q1bzzSx5EINkuOX9tPV
-vXjmmjrRTu7prc8QGRjQ0Dva1YNC5E8X8Kf/T5V0U3FBSyCStvBolY6iLQpCy+U6
-bdGuzEpuf268QovETHIofenGnvqS/P+URbAR4q8Er7zg9vWXOkbdbu7ZcN+LdVA9
-OLflJkwAdzoLQK3+aM2ViQCVAwUQMAys8PvCP42xMxQ5AQElyQP+KThaxnObao7H
-0XB6sartnByFz4mrVh43k/GnOpJ/gAbv7t0Uif6h7pfYVwjOBthj4h+aAkgcRWMM
-cfn64BfJvqXiIpzz15BrA7e3zyl8cslZtPOae+DPZwyvG33gdG+CQd+9ykYSBvKV
-2roQHfc66drMVx9kVEhxeTWx/IsO9gQ=
-=YGYK
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
- <sect1><heading>&a.rich</heading><p>
-
-<tscreen><verb>
-Rich Murphey &lt;rich@FreeBSD.org&gt;
-fingerprint = AF A0 60 C4 84 D6 0C 73 D1 EF C0 E9 9D 21 DB E4
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.2
-
-mQCNAy97V+MAAAEEALiNM3FCwm3qrCe81E20UOSlNclOWfZHNAyOyj1ahHeINvo1
-FBF2Gd5Lbj0y8SLMno5yJ6P4F4r+x3jwHZrzAIwMs/lxDXRtB0VeVWnlj6a3Rezs
-wbfaTeSVyh5JohEcKdoYiMG5wjATOwK/NAwIPthB1RzRjnEeer3HI3ZYNEOpAAUR
-tCRSaWNoIE11cnBoZXkgPHJpY2hAbGFtcHJleS51dG1iLmVkdT6JAJUDBRAve15W
-vccjdlg0Q6kBAZTZBACcNd/LiVnMFURPrO4pVRn1sVQeokVX7izeWQ7siE31Iy7g
-Sb97WRLEYDi686osaGfsuKNA87Rm+q5F+jxeUV4w4szoqp60gGvCbD0KCB2hWraP
-/2s2qdVAxhfcoTin/Qp1ZWvXxFF7imGA/IjYIfB42VkaRYu6BwLEm3YAGfGcSw==
-=QoiM
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
- <sect1><heading>&a.peter</heading><p>
-
-<tscreen><verb>
-Peter Wemm &lt;peter@FreeBSD.org&gt;
- aka &lt;peter@spinner.dialix.com&gt;
- aka &lt;peter@haywire.dialix.com&gt;
- aka &lt;peter@perth.dialix.oz.au&gt;
-Key fingerprint = 47 05 04 CA 4C EE F8 93 F6 DB 02 92 6D F5 58 8A
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3ia
-
-mQCNAy9/FJwAAAEEALxs9dE9tFd0Ru1TXdq301KfEoe5uYKKuldHRBOacG2Wny6/
-W3Ill57hOi2+xmq5X/mHkapywxvy4cyLdt31i4GEKDvxpDvEzAYcy2n9dIup/eg2
-kEhRBX9G5k/LKM4NQsRIieaIEGGgCZRm0lINqw495aZYrPpO4EqGN2HYnOMZAAUT
-tCVQZXRlciBXZW1tIDxwZXRlckBoYXl3aXJlLmRpYWxpeC5jb20+iQCVAwUQMwWT
-cXW7bjh2o/exAQEFkQP+LIx5zKlYp1uR24xGApMFNrNtjh+iDIWnxxb2M2Kb6x4G
-9z6OmbUCoDTGrX9SSL2Usm2RD0BZfyv9D9QRWC2TSOPkPRqQgIycc11vgbLolJJN
-eixqsxlFeKLGEx9eRQCCbo3dQIUjc2yaOe484QamhsK1nL5xpoNWI1P9zIOpDiGJ
-AJUDBRAxsRPqSoY3Ydic4xkBAbWLA/9q1Fdnnk4unpGQsG31Qbtr4AzaQD5m/JHI
-4gRmSmbj6luJMgNG3fpO06Gd/Z7uxyCJB8pTst2a8C/ljOYZxWT+5uSzkQXeMi5c
-YcI1sZbUpkHtmqPW623hr1PB3ZLA1TIcTbQW+NzJsxQ1Pc6XG9fGkT9WXQW3Xhet
-AP+juVTAhLQlUGV0ZXIgV2VtbSA8cGV0ZXJAcGVydGguZGlhbGl4Lm96LmF1PokA
-lQMFEDGxFCFKhjdh2JzjGQEB6XkD/2HOwfuFrnQUtdwFPUkgtEqNeSr64jQ3Maz8
-xgEtbaw/ym1PbhbCk311UWQq4+izZE2xktHTFClJfaMnxVIfboPyuiSF99KHiWnf
-/Gspet0S7m/+RXIwZi1qSqvAanxMiA7kKgFSCmchzas8TQcyyXHtn/gl9v0khJkb
-/fv3R20btB5QZXRlciBXZW1tIDxwZXRlckBGcmVlQlNELm9yZz6JAJUDBRAxsRJd
-SoY3Ydic4xkBAZJUA/4i/NWHz5LIH/R4IF/3V3LleFyMFr5EPFY0/4mcv2v+ju9g
-brOEM/xd4LlPrx1XqPeZ74JQ6K9mHR64RhKR7ZJJ9A+12yr5dVqihe911KyLKab9
-4qZUHYi36WQu2VtLGnw/t8Jg44fQSzbBF5q9iTzcfNOYhRkSD3BdDrC3llywO7Ql
-UGV0ZXIgV2VtbSA8cGV0ZXJAc3Bpbm5lci5kaWFsaXguY29tPokAlQMFEDGxEi1K
-hjdh2JzjGQEBdA4EAKmNFlj8RF9HQsoI3UabnvYqAWN5wCwEB4u+Zf8zq6OHic23
-TzoK1SPlmSdBE1dXXQGS6aiDkLT+xOdeewNs7nfUIcH/DBjSuklAOJzKliXPQW7E
-kuKNwy4eq5bl+j3HB27i+WBXhn6OaNNQY674LGaR41EGq44Wo5ATcIicig/z
-=gv+h
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
-<sect1><heading>&a.jmb</heading><p>
-
-<tscreen><verb>
-Jonathan M. Bresler &lt;jmb@FreeBSD.org&gt;
-Key fingerprint = 31 57 41 56 06 C1 40 13 C5 1C E3 E5 DC 62 0E FB
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.2
-
-mQCNAzG2GToAAAEEANI6+4SJAAgBpl53XcfEr1M9wZyBqC0tzpie7Zm4vhv3hO8s
-o5BizSbcJheQimQiZAY4OnlrCpPxijMFSaihshs/VMAz1qbisUYAMqwGEO/T4QIB
-nWNo0Q/qOniLMxUrxS1RpeW5vbghErHBKUX9GVhxbiVfbwc4wAHbXdKX5jjdAAUR
-tCVKb25hdGhhbiBNLiBCcmVzbGVyIDxqbWJARnJlZUJTRC5PUkc+iQCVAwUQMqyL
-0LNaYutZnzI9AQF25QP9GFXhBrz2tiWz2+0gWbpcGNnyZbfsVjF6ojGDdmsjJMyW
-CGw49XR/vPKYIJY9EYo4t49GIajRkISQNNiIz22fBAjT2uY9YlvnTJ9NJleMfHr4
-dybo7oEKYMWWijQzGjqf2m8wf9OaaofEKwBX6nxcRbKsxm/BVLKczGYl3Xtjkcu0
-E0pvbmF0aGFuIE0uIEJyZXNsZXKJAJUDBRAxti1hAdtd0pfmON0BAcQfA/98RpCh
-OLvMoPVT/mRbZg8gFTIxOkuI71A6viy1iMm+EeHgSPB8a8wiFsWs8q3FI0fWzebi
-MBcpeJAEMLPXsgjMvifx2W6fE0YTkwdyyalbOCDIiDjNs+o85yDiAsURawSSvajR
-qTDMgZre1sK8L4hNpf+t2VZXWNpCNOpI3I9kEw==
-=6F5u
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
- <sect1><heading>&a.jdp</heading><p>
-
-<tscreen><verb>
-John D. Polstra &lt;jdp@polstra.com&gt;
-Fingerprint = 54 3A 90 59 6B A4 9D 61 BF 1D 03 09 35 8D F6 0D
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.2
-
-mQCNAzMElMEAAAEEALizp6ZW9QifQgWoFmG3cXhzQ1+Gt+a4S1adC/TdHdBvw1M/
-I6Ok7TC0dKF8blW3VRgeHo4F3XhGn+n9MqIdboh4HJC5Iiy63m98sVLJSwyGO4oM
-dkEGyyCLxqP6h/DU/tzNBdqFzetGtYvU4ftt3RO0a506cr2CHcdm8Q+/vPRJAAUR
-tCFKb2huIEQuIFBvbHN0cmEgPGpkcEBwb2xzdHJhLmNvbT6JAJUDBRAzBNBE9RVb
-+45ULV0BAWgiA/0WWO3+c3qlptPCHJ3DFm6gG/qNKsY94agL/mHOr0fxMP5l2qKX
-O6a1bWkvGoYq0EwoKGFfn0QeHiCl6jVi3CdBX+W7bObMcoi+foqZ6zluOWBC1Jdk
-WQ5/DeqQGYXqbYjqO8voCScTAPge3XlMwVpMZTv24u+nYxtLkE0ZcwtY9IkAlQMF
-EDMEt/DHZvEPv7z0SQEBXh8D/2egM5ckIRpGz9kcFTDClgdWWtlgwC1iI2p9gEhq
-aufy+FUJlZS4GSQLWB0BlrTmDC9HuyQ+KZqKFRbVZLyzkH7WFs4zDmwQryLV5wkN
-C4BRRBXZfWy8s4+zT2WQD1aPO+ZsgRauYLkJgTvXTPU2JCN62Nsd8R7bJS5tuHEm
-7HGmiQCVAwUQMwSvHB9/qQgDWPy9AQFAhAQAgJ1AlbKITrEoJ0+pLIsov3eQ348m
-SVHEBGIkU3Xznjr8NzT9aYtq4TIzt8jplqP3QoV1ka1yYpZf0NjvfZ+ffYp/sIaU
-wPbEpgtmHnVWJAebMbNs/Ad1w8GDvxEt9IaCbMJGZnHmfnEqOBIxF7VBDPHHoJxM
-V31K/PIoYsHAy5w=
-=cHFa
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
- <sect1><heading>&a.guido</heading><p>
-
-<tscreen><verb>
-Guido van Rooij &lt;guido@gvr.win.tue.nl&gt;
-Fingerprint = 16 79 09 F3 C0 E4 28 A7 32 62 FA F6 60 31 C0 ED
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.2
-
-mQCNAzGeO84AAAEEAKKAY91Na//DXwlUusr9GVESSlVwVP6DyH1wcZXhfN1fyZHq
-SwhMCEdHYoojQds+VqD1iiZQvv1RLByBgj622PDAPN4+Z49HjGs7YbZsUNuQqPPU
-wRPpP6ty69x1hPKq1sQIB5MS4radpCM+4wbZbhxv7l4rP3RWUbNaYutZnzI9AAUR
-tCZHdWlkbyB2YW4gUm9vaWogPGd1aWRvQGd2ci53aW4udHVlLm5sPokAlQMFEDMG
-Hcgff6kIA1j8vQEBbYgD/jm9xHuUuY+iXDkOzpCXBYACYEZDV913MjtyBAmaVqYo
-Rh5HFimkGXe+rCo78Aau0hc57fFMTsJqnuWEqVt3GRq28hSK1FOZ7ni9/XibHcmN
-rt2yugl3hYpClijo4nrDL1NxibbamkGW/vFGcljS0jqXz6NDVbGx5Oo7HBByxByz
-iQCVAwUQMhmtVjt/x7zOdmsfAQFuVQQApsVUTigT5YWjQA9Nd5Z0+a/oVtZpyw5Z
-OljLJP3vqJdMa6TidhfcatjHbFTve5x1dmjFgMX/MQTd8zf/+Xccy/PX4+lnKNpP
-eSf1Y4aK+E8KHmBGd6GzX6CIboyGYLS9e3kGnN06F2AQtaLyJFgQ71wRaGuyKmQG
-FwTn7jiKb1aJAJUDBRAyEOLXPt3iN6QQUSEBATwQA/9jqu0Nbk154+Pn+9mJX/YT
-fYR2UqK/5FKCqgL5Nt/Deg2re0zMD1f8F9Dj6vuAAxq8hnOkIHKlWolMjkRKkzJi
-mSPEWl3AuHJ31k948J8it4f8kq/o44usIA2KKVMlI63Q/rmNdfWCyiYQEVGcRbTm
-GTdZIHYCOgV5dOo4ebFqgYkAlQMFEDIE1nMEJn15jgpJ0QEBW6kEAKqN8XSgzTqf
-CrxFXT07MlHhfdbKUTNUoboxCGCLNW05vf1A8F5fdE5i14LiwkldWIzPxWD+Sa3L
-fNPCfCZTaCiyGcLyTzVfBHA18MBAOOX6JiTpdcm22jLGUWBf/aJK3yz/nfbWntd/
-LRHysIdVp29lP5BF+J9/Lzbb/9LxP1taiQCVAwUQMgRXZ44CzbsJWQz9AQFf7gP/
-Qa2FS5S6RYKG3rYanWADVe/ikFV2lxuM1azlWbsmljXvKVWGe6cV693nS5lGGAjx
-lbd2ADwXjlkNhv45HLWFm9PEveO9Jjr6tMuXVt8N2pxiX+1PLUN9CtphTIU7Yfjn
-s6ryZZfwGHSfIxNGi5ua2SoXhg0svaYnxHxXmOtH24iJAJUDBRAyAkpV8qaAEa3W
-TBkBARfQBAC+S3kbulEAN3SI7/A+A/dtl9DfZezT9C4SRBGsl2clQFMGIXmMQ/7v
-7lLXrKQ7U2zVbgNfU8smw5h2vBIL6f1PyexSmc3mz9JY4er8KeZpcf6H0rSkHl+i
-d7TF0GvuTdNPFO8hc9En+GG6QHOqbkB4NRZ6cwtfwUMhk2FHXBnjF4kAlQMFEDH5
-FFukUJAsCdPmTQEBe74EAMBsxDnbD9cuI5MfF/QeTNEG4BIVUZtAkDme4Eg7zvsP
-d3DeJKCGeNjiCWYrRTCGwaCWzMQk+/+MOmdkI6Oml+AIurJLoHceHS9jP1izdP7f
-N2jkdeJSBsixunbQWtUElSgOQQ4iF5kqwBhxtOfEP/L9QsoydRMR1yB6WPD75H7V
-iQCVAwUQMZ9YNGtaZ42Bsqd5AQH0PAQAhpVlAc3ZM/KOTywBSh8zWKVlSk3q/zGn
-k7hJmFThnlhH1723+WmXE8aAPJi+VXOWJUFQgwELJ6R8jSU2qvk2m1VWyYSqRKvc
-VRQMqT2wjss0GE1Ngg7tMrkRHT0il7E2xxIb8vMrIwmdkbTfYqBUhhGnsWPHZHq7
-MoA1/b+rK7CJAJUDBRAxnvXh3IDyptUyfLkBAYTDA/4mEKlIP/EUX2Zmxgrd/JQB
-hqcQlkTrBAaDOnOqe/4oewMKR7yaMpztYhJs97i03Vu3fgoLhDspE55ooEeHj0r4
-cOdiWfYDsjSFUYSPNVhW4OSruMA3c29ynMqNHD7hpr3rcCPUi7J2RncocOcCjjK2
-BQb/9IAUNeK4C9gPxMEZLokAlQMFEDGeO86zWmLrWZ8yPQEBEEID/2fPEUrSX3Yk
-j5TJPFZ9MNX0lEo7AHYjnJgEbNI4pYm6C3PnMlsYfCSQDHuXmRQHAOWSdwOLvCkN
-F8eDaF3M6u0urgeVJ+KVUnTz2+LZoZs12XSZKCte0HxjbvPpWMTTrYyimGezH79C
-mgDVjsHaYOx3EXF0nnDmtXurGioEmW1J
-=mSvM
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
diff --git a/share/doc/handbook/policies.sgml b/share/doc/handbook/policies.sgml
deleted file mode 100644
index 094de26..0000000
--- a/share/doc/handbook/policies.sgml
+++ /dev/null
@@ -1,230 +0,0 @@
-<!-- $Id: policies.sgml,v 1.13 1997/04/03 01:07:38 max Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<chapt><heading>Source Tree Guidelines and Policies
-<label id="policies">
-</heading>
-
-<p><em>Contributed by &a.phk;.</em>
-
-This chapter documents various guidelines and policies in force
-for the FreeBSD source tree.
-
-<sect><heading>MAINTAINER on Makefiles
-<label id="policies:maintainer">
-</heading>
-
-<p>June 1996.
-
-<p>If a particular portion of the FreeBSD distribution is being maintained by a
-person or group of persons, they can communicate this fact to the
-world by adding a
-
-<verb>
- MAINTAINER= email-addresses
-</verb>
-
-<p>line to the makefiles covering this portion of the source tree.
-
-<p>The semantics of this are as follows:
-
-<p>The maintainer owns and is responsible for that code. This means
-that he is responsible for fixing bugs and answer problem reports
-pertaining to that piece of the code, and in the case of contributed
-software, for tracking new versions, as appropriate.
-
-<p>Changes to directories which have a maintainer defined shall be
-sent to the
-maintainer for review before being committed. Only if the maintainer does not respond
-for an unacceptable period of time, to several emails, will it be
-acceptable to commit changes without review by the maintainer.
-However, it is suggested that you try and have the changes reviewed
-by someone else if at all possible.
-
-<p>It is of course not acceptable to add a person or group as maintainer
-unless they agree to assume this duty. On the other hand it doesn't
-have to be a committer and it can easily be a group of people.
-
-<sect><heading>Contributed software</heading>
-
-<p>June 1996.
-
-<p>Some parts of the FreeBSD distribution consist of software that
-is actively being maintained outside the FreeBSD project. For
-historical reasons, we call this <em>contributed</em> software. Some
-examples are perl, gcc and patch.
-
-<p>Over the last couple of years, various methods have been used in
-dealing with this type of software and all have some number of
-advantages and drawbacks. No clear winner has emerged.
-
-<p>Since this is the case, after some debate one of these methods has
-been selected as the "official" method and will be required for
-future imports of software of this kind. Furthermore, it is strongly
-suggested that existing contributed software converge on this model
-over time, as it has significant advantages over the old method,
-including the ability to easily obtain diffs relative to the
-"official" versions of the source by everyone (even without cvs
-access). This will make it significantly easier to return changes
-to the primary developers of the contributed software.
-
-<p>Ultimately, however, it comes down to the people actually doing
-the work. If using this model is particularly unsuited to the
-package being dealt with, exceptions to these rules may be granted
-only with the approval of the core team and with the general
-consensus of the other developers. The ability to maintain the
-package in the future will be a key issue in the decisions.
-
-<p>The <tt>Tcl</tt> embedded programming language will be used as example
-of how this model works:
-
-<p><verb>src/contrib/tcl</verb> contains the source as distributed by the maintainers
-of this package. Parts that are entirely not applicable for FreeBSD
-can be removed. In the case of Tcl, the "mac", "win" and "compat"
-subdirectories were eliminated before the import
-
-<p><verb>src/lib/libtcl</verb> contains only a "bmake style" Makefile that uses
-the standard bsd.lib.mk makefile rules to produce the library and
-install the documentation.
-
-<p><verb>src/usr.bin/tclsh</verb> contains only a bmake style Makefile which will
-produce and install the "tclsh" program and its associated man-pages
-using the standard bsd.prog.mk rules.
-
-<p><verb>src/tools/tools/tcl_bmake</verb> contains a couple of shell-scripts that can be of help
-when the tcl software needs updated, these are not part of the
-build or installed software.
-
-<p>The important thing here is that the "src/contrib/tcl" directory
-is created according to the rules: It is supposed to contain the
-sources as distributed (on a proper CVS vendor-branch) with as few
-FreeBSD-specific changes as possible. The 'easy-import' tool on
-freefall will assist in doing the import, but if there are any
-doubts on how to go about it, it is imperative that you ask first
-and not blunder ahead and hope it "works out". CVS is not forgiving
-of import accidents and a fair amount of effort is required to back
-out major mistakes.
-
-<p>Because of some unfortunate design limitations with CVS's vendor
-branches, it is required that "official" patches from the vendor
-be applied to the original distributed sources and the result
-re-imported onto the vendor branch again. Official patches should
-never be patched into the FreeBSD checked out version and
-"committed", as this destroys the vendor branch coherency and makes
-importing future versions rather difficult as there will be conflicts.
-
-<p>Since many packages contain files that are meant for compatibility
-with other architectures and environments that FreeBSD, it is
-permissible to remove parts of the distribution tree that are of no interest
-to FreeBSD in order to save space. Files containing copyright
-notices and release-note kind of information applicable to the
-remaining files shall <em>not</em> be removed.
-
-<p>If it seems easier, the "bmake" makefiles can be produced from the
-dist tree automatically by some utility, something which would
-hopefully make it even easier to upgrade to a new version. If this
-is done, be sure to check in such utilities (as necessary) in the
-src/tools directory along with the port itself so that it is available
-to future maintainers.
-
-<p>In the src/contrib/tcl level directory, a file called FREEBSD-upgrade
-should be added and it should states things like:
-
-<itemize>
- <item> Which files have been left out
- <item> Where the original distribution was obtained from and/or the official
- master site.
- <item> Where to send patches back to the original authors
- <item> Perhaps an overview of the FreeBSD-specific changes that have been made.
-</itemize>
-
-<p>However, please do not import FREEBSD-upgrade with the contributed source.
-Rather you should ``cvs add FREEBSD-upgrade ; cvs ci'' after the
-initial import. Example wording from ``src/contrib/cpio'' is below:
-
-<verb>This directory contains virgin sources of the original distribution files
-on a "vendor" branch. Do not, under any circumstances, attempt to upgrade
-the files in this directory via patches and a cvs commit. New versions or
-official-patch versions must be imported.
-
-For the import of GNU cpio 2.4.2, the following files were removed:
-
- INSTALL cpio.info mkdir.c
- Makefile.in cpio.texi mkinstalldirs
-
-To upgrade to a newer version of cpio, when it is available:
- 1. Unpack the new version into an empty directory.
- [Do not make ANY changes to the files.]
-
- 2. Remove the files listed above and any others that don't apply to
- FreeBSD.
-
- 3. Use the command:
- cvs import -m 'Virgin import of GNU cpio v<version>' \
- src/contrib/cpio GNU v<version>
-
- For example, to do the import of version 2.4.2, I typed:
- cvs import -m 'Virgin import of GNU v2.4.2' \
- src/contrib/cpio GNU v2.4.2
-
- 4. Follow the instructions printed out in step 3 to resolve any
- conflicts between local FreeBSD changes and the newer version.
-
-Do not, under any circumstances, deviate from this procedure.
-
-To make local changes to cpio, simply patch and commit to the main
-branch (aka HEAD). Never make local changes on the GNU branch.
-
-All local changes should be submitted to "cpio@gnu.ai.mit.edu" for
-inclusion in the next vendor release.
-
-obrien@freebsd.org - 30 March 1997</verb>
-
-
-<sect><heading>Shared libraries
-<label id="policies:shlib">
-</heading>
-
-<p><em>Contributed by &a.asami;, &a.peter;, and &a.obrien;.
- <newline>9 December 1996.</em></p>
-
- <p>If you are adding shared library support to a port or other piece
- of software that doesn't have one, the version numbers should
- follow these rules. Generally, the resulting numbers will have
- nothing to do with the release version of the software.
-
- <p>The three principles of shared library building are:
-
- <itemize>
- <item>Start from 1.0
- <item>If there is a change that is backwards compatible, bump
- minor number
- <item>If there is an incompatible change, bump major number
- </itemize>
-
- <p>For instance, added functions and bugfixes result in the minor
- version number being bumped, while deleted functions, changed
- function call syntax etc. will force the major version number
- to change.
-
- <p>Stick to version numbers of the form major.minor (x.y). Our dynamic
- linker does not handle version numbers of the form x.y.z well. Any
- version number after the ``y'' (ie. the third digit) is totally ignored
- when comparing shared lib version numbers to decide which library to
- link with. Given two shared libraries that differ only in the `micro'
- revision, ld.so will link with the higher one. Ie: if you link with
- libfoo.so.3.3.3, the linker only records 3.3 in the headers, and will
- link with anything starting with libfoo.so.3.(anything >= 3).(highest
- available).
- <p>Note that ld.so will always use the highest "minor" revision.
- Ie: it will use libc.so.2.2 in preference to libc.so.2.0, even if the
- program was initially linked with libc.so.2.0.
-
- <p>For non-port libraries, it is also our policy to change the
- shared library version number only once between releases. When
- you make a change to a system library that requires the version
- number to be bumped, check the Makefile's commit logs. It is the
- responsibility of the committer to ensure that the first such
- change since the release will result in the shared library version
- number in the Makefile to be updated, and any subsequent changes
- will not.
diff --git a/share/doc/handbook/porting.sgml b/share/doc/handbook/porting.sgml
deleted file mode 100644
index de29944..0000000
--- a/share/doc/handbook/porting.sgml
+++ /dev/null
@@ -1,1422 +0,0 @@
-<!-- $Id: porting.sgml,v 1.70 1997/05/18 03:35:01 asami Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect1><heading>Porting an existing piece of free software<label id="porting"></heading>
-
-<p><em>Contributed by &a.jkh;, &a.gpalmer; and
- &a.asami;.<newline>28 August 1996.</em>
-<p><em>Contributed by &a.jkh;, &a.gpalmer;, &a.asami; and
- &a.obrien;.<newline>28 August 1996.</em>
-
-<p>The porting of freely available software, while perhaps not as
-gratifying as developing your own from scratch, is still a vital part
-of FreeBSD's growth and of great usefulness to those who would not
-otherwise know where to turn for it. All ported software is organized
-into a carefully organized hierarchy know as ``the ports collection''.
-The collection enables a new user to get a quick and complete overview
-of what is available for FreeBSD in an easy-to-compile form. It also
-saves considerable space by not actually containing the majority
-of the sources being ported, but merely those differences required for
-running under FreeBSD.
-
-<p>What follows are some guidelines for creating a new port for
-FreeBSD 3.x. The bulk of the work is done by
-<tt>/usr/share/mk/bsd.port.mk</tt>, which all port Makefiles include.
-Please refer to that file for more details on the inner workings of
-the ports collection. Even if you don't hack Makefiles daily, it is
-well commented, and you will still gain much knowledge from it.
-
- <sect2>
- <heading>Before Starting the Port<label id="porting:starting"></heading>
-
- <p>Note: Only a fraction of the overridable variables
- (<tt>&dollar;{..}</tt>) are mentioned in this document. Most
- (if not all) are documented at the start of
- <tt>bsd.port.mk</tt>. This file uses a non-standard tab
- setting. <tt>Emacs</tt> and <tt>Vim</tt> should recognize the setting
- on loading the file. <tt>vi</tt> or <tt>ex</tt> can be set to
- using the correct value by typing `<tt>:set tabstop=4</tt>'
- once the file has been loaded.
-
- <p>You may come across code that needs modifications or
- conditional compilation based upon what version of UNIX it is
- running under. If you need to make such changes to the code
- for conditional compilation, make sure you make the changes as
- general as possible so that we can back-port code to FreeBSD
- 1.x systems and cross-port to other BSD systems such as 4.4BSD
- from CSRG, BSD/386, 386BSD, NetBSD, and OpenBSD.
-
- <p>The preferred way to tell 4.3BSD/Reno (1990) and newer versions of
- the BSD code apart is by using the `<tt>BSD</tt>' macro
- defined in <tt>&lt;sys/param.h&gt;</tt>. Hopefully that file
- is already included; if not, add the code:
-
-<tscreen><verb>
-#ifdef (defined(__unix__) || defined(unix)) && !defined(USG)
-#include <sys/param.h>
-#endif
-</verb></tscreen>
-
- <p>to the proper place in the <tt>.c</tt> file. We believe that every
- system that defines these to symbols has sys/param.h. If you find
- a system that doesn't, we would like to know. Please send mail to
- <htmlurl url='mailto:ports@FreeBSD.org' name='ports@FreeBSD.org'>.
-
- <p>Another way is to use the GNU Autoconf style of doing this:
-
-<tscreen><verb>
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-</verb></tscreen>
-
- Don't forget to add <tt>-DHAVE_SYS_PARAM_H</tt> to the <tt>CFLAGS</tt>
- in the Makefile for this method.
-
- Once you have <tt>&lt;sys/param.h&gt;</tt> included, you may use:
-
-<tscreen><verb>
-#if (defined(BSD) && (BSD >= 199103))
-</verb></tscreen>
-
- to detect if the code is being compiled on a 4.3 Net2 code
- base or newer (e.g. FreeBSD 1.x, 4.3/Reno, NetBSD 0.9, 386BSD,
- BSD/386 1.1 and below).
-
- Use:
-
-<tscreen><verb>
-#if (defined(BSD) && (BSD >= 199306))
-</verb></tscreen>
-
- to detect if the code is being compiled on a 4.4 code base or
- newer (e.g. FreeBSD 2.x, 4.4, NetBSD 1.0, BSD/386 2.0 or
- above).
-
- The value of the BSD macro is 199506 for the 4.4BSD-Lite2 code
- base. This is stated for informational purposes only. It should
- not be used to distinguish between version of FreeBSD based only
- on 4.4-Lite vs. versions that have merged in changes from 4.4-Lite2.
- The __FreeBSD__ macro should be used instead.
-
- <p>Use sparingly:
-
- <itemize>
- <item><tt>__FreeBSD__</tt> is defined in all versions of
- FreeBSD. Use it if the change you are making ONLY affects
- FreeBSD. Porting gotchas like the use of
- <tt>sys_errlist[]</tt> vs <tt>strerror()</tt> are
- Berkeleyisms, not FreeBSD changes.
-
- <item>In FreeBSD 2.x, <tt>__FreeBSD__</tt> is defined to be
- <tt>2</tt>. In earlier versions, it is <tt>1</tt>. Later
- versions will bump it to match their major version number.
-
- <item>If you need to tell the difference between a FreeBSD 1.x
- system and a FreeBSD 2.x or 3.x system, usually the right answer is
- to use the <tt>BSD</tt> macros described above. If there
- actually is a FreeBSD specific change (such as special
- shared library options when using `<tt>ld</tt>') then it is
- OK to use <tt>__FreeBSD__</tt> and `<tt>#if __FreeBSD__ &gt;
- 1</tt>' to detect a FreeBSD 2.x and later system.
-
- If you need more granularity in detecting FreeBSD systems since
- 2.0-RELEASE you can use the following:
-
-<tscreen><verb>
-#if __FreeBSD__ >= 2
-#include <osreldate.h>
-# if __FreeBSD_version >= 199504
- /* 2.0.5+ release specific code here */
-# endif
-#endif
-</verb></tscreen>
-<tt>__FreeBSD_version</tt> values:
-<tscreen><verb>
-2.0-RELEASE: 199411
-2.1-current's: 199501, 199503
-2.0.5-RELEASE: 199504
-2.2-current before 2.1: 199508
-2.1.0-RELEASE: 199511
-2.2-current before 2.1.5: 199512
-2.1.5-RELEASE: 199607
-2.2-current before 2.1.6: 199608
-2.1.6-RELEASE: 199612
-2.1.7-RELEASE: 199612
-2.2-RELEASE: 220000
-2.2.1-RELEASE: 220000 (yes, no change)
-2.2-STABLE after 2.2.1-RELEASE: 220000 (yes, still no change)
-2.2-STABLE after texinfo-3.9: 221001
-2.2-STABLE after top: 221002
-2.2.2-RELEASE: 222000
-3.0-current as of May 1997: 300000
-</verb></tscreen>
- The pattern used to be year followed by the month, but we
- decided to change it to a more straightforward major/minor
- system starting from 2.2. This is because the parallel
- development on several branches made it infeasible to
- classify the releases simply by their real release dates.
- (Note that if you are making a port now, you don't have to
- worry about old -current's; they are listed here just for
- your reference.)
-
- </itemize>
-
- <p>In the hundreds of ports that have been done, there have
- only been one or two cases where <tt>__FreeBSD__</tt>
- should have been used. Just because an earlier port
- screwed up and used it in the wrong place does not mean
- you should do so too.
-
- <sect2>
- <heading>Quick Porting</heading>
-
- <p>This section tells you how to do a quick port. In many
- cases, it is not enough, but we will see.
-
- <p>First, get the original tarball and put it into
- <tt>&dollar;{DISTDIR}</tt>, which defaults to
- <tt>/usr/ports/distfiles</tt>.
-
- <p>Note: The following assumes that the software compiled
- out-of-the-box, i.e., there was absolutely no change required
- for the port to work on your FreeBSD box. If you needed to
- change something, you will have to refer to the next section
- too.
-
- <sect3>
- <heading>Writing the Makefile</heading>
-
- <p>The minimal <tt>Makefile</tt> would look something like this:
-
-<tscreen><verb>
- # New ports collection makefile for: oneko
- # Version required: 1.1b
- # Date created: 5 December 1994
- # Whom: asami
- #
- # &dollar;Id&dollar;
- #
-
- DISTNAME= oneko-1.1b
- CATEGORIES= games
- MASTER_SITES= ftp://ftp.cs.columbia.edu/archives/X11R5/contrib/
-
- MAINTAINER= asami@FreeBSD.ORG
-
- USE_IMAKE= yes
-
- .include <bsd.port.mk>
-</verb></tscreen>
-
- <p>See if you can figure it out. Do not worry about the contents
- of the <tt>&dollar;Id&dollar;</tt> line, it will be filled in
- automatically by CVS when the port is imported to our main
- ports tree. You can find a more detailed example in the <ref
- id="porting:samplem" name="sample Makefile"> section.
-
- <sect3>
- <heading>Writing the description files</heading>
-
- <p>There are three required description files that are
- required for any port, whether they actually package or not.
- They are <tt>COMMENT</tt>, <tt>DESCR</tt>, and
- <tt>PLIST</tt>, and reside in the <tt>pkg</tt> subdirectory.
-
- <sect4>
- <heading>COMMENT</heading>
-
- <p>This is the one-line description of the port. <em>PLEASE
- do not include the package name (or version number of the
- software) in the comment.</em>
- Here is an example:
-<tscreen><verb>
-A cat chasing a mouse all over the screen.
-</verb></tscreen>
-
- <sect4>
- <heading>DESCR</heading>
-
- <p>This is a longer description of the port. One to a few
- paragraphs concisely explaining what the port does is
- sufficient. Note: This is <em>not</em> a manual nor an
- in-depth description on how to use or compile the port.
- In particular, <em>please do not just copy the <tt>README</tt>
- file here</em>, unless, of course, it is a concise description
- of the port.
-
- <p>It is recommended that you sign the name at the end of
- this file, as in:
-
-<tscreen><verb>
-This is a port of oneko, in which a cat chases a poor mouse all over
-the screen.
- :
-(etc.)
-
-- Satoshi
-asami@cs.berkeley.edu
-</verb></tscreen>
-
- <sect4>
- <heading>PLIST</heading>
-
- <p>This file lists all the files installed by the port. It
- is also called the `packing list' because the package is
- generated by packing the files listed here. The pathnames
- are relative to the installation prefix (usually
- <tt>/usr/local</tt> or <tt>/usr/X11R6</tt>) Also it is assumed
- the manpages will be compressed.
-
- <p>Here is a small example:
-
-<tscreen><verb>
-bin/oneko
-man/man1/oneko.1.gz
-lib/X11/app-defaults/Oneko
-lib/X11/oneko/cat1.xpm
-lib/X11/oneko/cat2.xpm
-lib/X11/oneko/mouse.xpm
-</verb></tscreen>
-
- <p>Refer to the <tt>pkg_create(1)</tt> man page for details
- on the packing list.
-
- <sect3>
- <heading>Creating the checksum file</heading>
-
- <p>Just type `<tt>make makesum</tt>'. The ports make rules
- will automatically generate the file <tt>files/md5</tt>.
-
- <sect3>
- <heading>Testing the port</heading>
-
- <p>You should make sure that the port rules do exactly what
- you want it to do, including packaging up the port. Try
- doing `<tt>make install</tt>', `<tt>make package</tt>' and
- then `<tt>pkg_delete -d &lt;pkgname&gt;</tt>' and see if all
- the files are correctly deleted. Then do a `<tt>pkg_add
- &lt;pkgname&gt;.tgz</tt>' and see if everything re-appears
- and works correctly.
-
- <sect3>
- <heading>Submitting the port<label id="porting:submitting"></heading>
-
- <p>Now that you are happy with your port, the only thing
- remaining is to put it in the main FreeBSD ports tree and
- make everybody else happy about it too. To accomplish this,
- pack the necessary files (everything described in this
- section -- in particular do <em>not</em> include the
- original source tarball, the `<tt>work</tt>' subdirectory or
- the package) into a <tt>.tar.gz</tt> file, stick it in the
- directory
-<tscreen><verb>
-ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/
-</verb></tscreen>
- and send mail to us using <tt>send-pr(1)</tt> (please
- classify it as category `ports' and class `change-request').
- We will take a look, get back to you if necessary, and put
- it in the tree. Your name will also appear in the list of
- `Additional FreeBSD contributors' on the FreeBSD Handbook
- and other files. Isn't that great?!? <tt>:)</tt>
-
- <sect2>
- <heading>Slow Porting</heading>
-
- <p>Ok, so it was not that simple, and the port required some
- modifications to get it to work. In this section, we will
- explain, step by step, how to modify it to get it to work with
- the ports paradigm.
-
- <sect3>
- <heading>How things work</heading>
-
- <p>First, this is the sequence of events which occurs when the
- user first types `<tt>make</tt>' in your port's directory,
- and you may find that having <tt>bsd.port.mk</tt> in another
- window while you read this really helps to understand it.
-
- <p>But do not worry if you do not really understand what
- <tt>bsd.port.mk</tt> is doing, not many people
- do... <tt>:&gt;</tt>
-
- <enum>
- <item>The fetch target is run. The fetch target is
- responsible for making sure that the tarball exists
- locally in <tt>&dollar;{DISTDIR}</tt>. If fetch cannot
- find the required files in <tt>&dollar;{DISTDIR}</tt> it
- will look up the URL <tt>&dollar;{MASTER_SITES}</tt>,
- which is set in the Makefile, as well as our main ftp
- site at <htmlurl
- url="ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/"
- name="ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/,">
- where we put sanctioned distfiles as backup. It will then
- attempt to
- fetch the named distribution file with
- <tt>&dollar;{FETCH}</tt>, assuming that the requesting
- site has direct access to the Internet. If that succeeds,
- it will save the file in <tt>&dollar;{DISTDIR}</tt> for
- future use and proceed.
-
- <item>The extract target is run. It looks for your ports'
- distribution file in <tt>&dollar;{DISTDIR}</tt> (typically
- a gzip'd tarball) and unpacks it into a temporary
- subdirectory specified by <tt>&dollar;{WRKDIR}</tt>
- (defaults to <tt>work</tt>).
-
- <item>The patch target is run. First, any patches defined
- in <tt>&dollar;{PATCHFILES}</tt> are applied. Second, if
- any patches are found in <tt>&dollar;{PATCHDIR}</tt>
- (defaults to the <tt>patches</tt> subdirectory), they are
- applied at this time in alphabetical order.
-
- <item>The configure target is run. This can do any one of
- many different things.
-
- <enum>
-
- <item>If it exists, <tt>scripts/configure</tt> is run.
-
- <item>If <tt>&dollar;{HAS_CONFIGURE}</tt> or
- <tt>&dollar;{GNU_CONFIGURE}</tt> is set,
- <tt>&dollar;{WRKSRC}/configure</tt> is run.
-
- <item>If <tt>&dollar;{USE_IMAKE}</tt> is set,
- <tt>&dollar;{XMKMF}</tt> (default: `<tt>xmkmf
- -a</tt>') is run.
-
- </enum>
-
- <item>The build target is run. This is responsible for
- descending into the ports' private working directory
- (<tt>&dollar;{WRKSRC}</tt>) and building it. If
- <tt>&dollar;{USE_GMAKE}</tt> is set, GNU <tt>make</tt>
- will be used, otherwise the system <tt>make</tt> will be
- used.
-
- </enum>
-
- <p>The above are the default actions. In addition, you can
- define targets `<tt>pre-&lt;something&gt;</tt>' or
- `<tt>post-&lt;something&gt;</tt>', or put scripts with those
- names, in the <tt>scripts</tt> subdirectory, and they will
- be run before or after the default actions are done.
-
- <p>For example, if you have a <tt>post-extract</tt> target
- defined in your Makefile, and a file <tt>pre-build</tt> in
- the <tt>scripts</tt> subdirectory, the
- <tt>post-extract</tt> target will be called after the
- regular extraction actions, and the <tt>pre-build</tt>
- script will be executed before the default build rules are
- done. It is recommended that you use Makefile targets if
- the actions are simple enough, because it will be easier for
- someone to figure out what kind of non-default action the
- port requires.
-
- <p>The default actions are done by the <tt>bsd.port.mk</tt>
- targets `<tt>do-&lt;something&gt;</tt>'. For example, the
- commands to extract a port are in the target
- `<tt>do-extract</tt>'. If you are not happy with the
- default target, you can fix it by redefining the
- `<tt>do-&lt;something&gt;</tt>' target in your Makefile.
-
- <p>Note that the `main' targets (e.g., <tt>extract</tt>,
- <tt>configure</tt>, etc.) do nothing more than make sure all
- the stages up to that one is completed and call the real
- targets or scripts, and they are not intended to be
- changed. If you want to fix the extraction, fix
- <tt>do-extract</tt>, but never ever touch <tt>extract</tt>!
-
- <p>Now that you understand what goes on when the user types
- `<tt>make</tt>', let us go through the recommended steps to
- create the perfect port.
-
- <sect3>
- <heading>Getting the original sources</heading>
-
- <p>Get the original sources (normally) as a compressed tarball
- (<tt>&lt;foo&gt;.tar.gz</tt> or <tt>&lt;foo&gt;.tar.Z</tt>)
- and copy it into <tt>&dollar;{DISTDIR}</tt>. Always use
- <em>mainstream</em> sources when and where you can.
-
- <p>If you cannot find a ftp/http site that is well-connected
- to the net, or can only find sites that have irritatingly
- non-standard formats, we can `house' it ourselves by putting
- it on
-<tscreen><verb>
-ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/LOCAL_PORTS/
-</verb></tscreen>
- as the last resort. Please refer to this localation as
- <tt>&dollar;{MASTER_SITE_LOCAL}</tt>. Send mail to the &a.ports
- if you are not sure what to do.
-
- <p>If your port requires some additional `patches' that are
- available on the Internet, fetch them too and put them in
- <tt>&dollar;{DISTDIR}</tt>. Do not worry if they come from
- site other than where you got the main source tarball,
- we have a way to handle these situations (see the
- description of <ref id="porting:patchfiles"
- name="&dollar;{PATCHFILES}"> below).
-
- <sect3>
- <heading>Modifying the port</heading>
-
- <p>Unpack a copy of the tarball in a private directory and
- make whatever changes are necessary to get the port to
- compile properly under the current version of FreeBSD. Keep
- <em>careful track</em> of everything you do, as you will be
- automating the process shortly. Everything, including the
- deletion, addition or modification of files should be doable
- using an automated script or patch file when your port is
- finished.
-
- <p>If your port requires significant user
- interaction/customization to compile or install, you should
- take a look at one of Larry Wall's classic Configure scripts
- and perhaps do something similar yourself. The goal of the
- new ports collection is to make each port as `plug-and-play'
- as possible for the end-user while using a minimum of disk
- space.
-
- <p>Note: Unless explicitly stated, patch files, scripts, and
- other files you have created and contributed to the FreeBSD
- ports collection are assumed to be covered by the standard
- BSD copyright conditions.
-
- <sect3>
- <heading>Patching</heading>
-
- <p>In the preparation of the port, files that have been added
- or changed can be picked up with a recursive diff for later
- feeding to patch. Each set of patches you wish to apply
- should be collected into a file named
- `<tt>patch-&lt;xx&gt;</tt>' where <tt>&lt;xx&gt;</tt>
- denotes the sequence in which the patches will be applied --
- these are done in <em>alphabetical order</em>, thus
- `<tt>aa</tt>' first, `<tt>ab</tt>' second and so on. These
- files should be stored in <tt>&dollar;{PATCHDIR}</tt>, from
- where they will be automatically applied. All patches
- should be relative to <tt>&dollar;{WRKSRC}</tt> (generally
- the directory your port's tarball unpacks itself into, that
- being where the make is done). To make fixes and upgrades
- easier you should avoid having more than one patch fix the
- same file (e.g., patch-aa and patch-ab both changing
- <tt>&dollar;{WRKSRC}</tt>/foobar.c).
-
- <sect3>
- <heading>Configuring</heading>
-
- <p>Include any additional customization commands to your
- <tt>configure</tt> script and save it in the
- `<tt>scripts</tt>' subdirectory. As mentioned above, you
- can also do this as Makefile targets and/or scripts with the
- name <tt>pre-configure</tt> or <tt>post-configure</tt>.
-
- <sect3>
- <heading>Handling user input</heading>
-
- <p>If your port requires user input to build, configure or
- install, then set <tt>IS_INTERACTIVE</tt> in your Makefile.
- This will allow `overnight builds' to skip your port if the
- user sets the variable <tt>BATCH</tt> in his environment
- (and if the user sets the variable <tt>INTERACTIVE</tt>,
- then <em>only</em> those ports requiring interaction are
- built).
-
- <sect2>
- <heading>Configuring the Makefile</heading>
-
- <p>Configuring the Makefile is pretty simple, and again we
- suggest that you look at existing examples before starting.
- Also, there is a <ref id="porting:samplem" name="sample
- Makefile"> in this handbook, so take a look and please follow
- the ordering of variables and sections in that template to
- make your port easier for others to read.
-
- <p>Now, consider the following problems in sequence as you
- design your new Makefile:
-
- <sect3>
- <heading>The original source</heading>
-
- <p>Does it live in <tt>&dollar;{DISTDIR}</tt> as a standard
- gzip'd tarball? If so, you can go on to the next step. If
- not, you should look at overriding any of the
- <tt>&dollar;{EXTRACT_CMD}</tt>,
- <tt>&dollar;{EXTRACT_BEFORE_ARGS}</tt>,
- <tt>&dollar;{EXTRACT_AFTER_ARGS}</tt>,
- <tt>&dollar;{EXTRACT_SUFX}</tt>, or
- <tt>&dollar;{DISTFILES}</tt> variables, depending on how
- alien a format your port's distribution file is. (The most
- common case is `<tt>EXTRACT_SUFX=.tar.Z</tt>', when the
- tarball is condensed by regular compress, not gzip.)
-
- <p>In the worst case, you can simply create your own
- `<tt>do-extract</tt>' target to override the default, though
- this should be rarely, if ever, necessary.
-
- <sect3>
- <heading>DISTNAME</heading>
-
- <p>You should set <tt>&dollar;{DISTNAME}</tt> to be the base
- name of your port. The default rules expect the
- distribution file list (<tt>&dollar;{DISTFILES}</tt>) to be
- named
- <tt>&dollar;{DISTNAME}&dollar;{EXTRACT_SUFX}</tt>
- by default which, if it is a normal tarball, is going to be
- something like:
-<tscreen><verb>
-foozolix-1.0.tar.gz
-</verb></tscreen>
- for a setting of `<tt>DISTNAME=foozolix-1.0</tt>'.
-
- The default rules also expect the tarball(s) to extract into
- a subdirectory called <tt>work/&dollar;{DISTNAME}</tt>, e.g.
-<tscreen><verb>
-work/foozolix-1.0/
-</verb></tscreen>
-
- All this behavior can be overridden, of course, it simply
- represents the most common time-saving defaults. For a port
- requiring multiple distribution files, simply set
- <tt>&dollar;{DISTFILES}</tt> explicitly. If only a subset
- of <tt>&dollar;{DISTFILES}</tt> are actual extractable
- archives, then set them up in
- <tt>&dollar;{EXTRACT_ONLY}</tt>, which will override the
- <tt>&dollar;{DISTFILES}</tt> list when it comes to
- extraction, and the rest will be just left in
- <tt>&dollar;{DISTDIR}</tt> for later use.
-
- <sect3>
- <heading>CATEGORIES</heading>
-
- <p>When a package is created, it is put under
- <tt>/usr/ports/packages/All</tt> and links are made from one
- or more subdirectories of <tt>/usr/ports/packages</tt>. The
- names of these subdirectories are specified by the variable
- <tt>&dollar;{CATEGORIES}</tt>. It is intended to make life
- easier for the user when he is wading through the pile of
- packages on the ftp site or the CD-ROM. Please take a look
- at the existing categories (you can find them in <htmlurl
- url="http://www.freebsd.org/ports/" name="the ports
- page">) and pick the ones that are suitable for your port.
- If your port truly belongs to something that is different
- from all the existing ones, you can even create a new
- category name.
-
- <sect3>
- <heading>MASTER_SITES</heading>
-
- <p>Record the directory part of the ftp/http-URL pointing at
- the original tarball in <tt>&dollar;{MASTER_SITES}</tt>.
- Do not forget the trailing slash (<tt>/</tt>)!
-
- <p>The make macros will try to use this specification for
- grabbing the distribution file with <tt>&dollar;{FETCH}</tt>
- if they cannot find it already on the system.
-
- <p>It is recommended that you put multiple sites on this list,
- preferably from different continents. This will safeguard
- against wide-area network problems, and we are even planning
- to add support for automatically determining the closest
- master site and fetching from there!
-
- <p>If the original tarball is part of one of the following
- popular archives: X-contrib, GNU, Perl CPAN, TeX CTAN, or
- Linux Sunsite, you refer to those sites in an easy compact
- form using MASTER_SITE_XCONTRIB, MASTER_SITE_GNU,
- MASTER_SITE_PERL_CPAN, MASTER_SITE_TEX_CTAN, and
- MASTER_SITE_SUNSITE. Simply set MASTER_SITE_SUBDIR to the path
- with in the archive. Here is an example:
-<tscreen><verb>
-MASTER_SITES= ${MASTER_SITE_XCONTRIB}
-MASTER_SITE_SUBDIR= applications
-</verb></tscreen>
- <p>The user can also set the MASTER_SITE_* variables in
- <tt>/etc/make.conf</tt> to override our choices, and use their
- favorite mirrors of these popular archives instead.
-
- <sect3>
- <heading>PATCHFILES<label id="porting:patchfiles"></heading>
-
- <p>If your port requires some additional patches that are
- available by ftp or http, set <tt>&dollar;{PATCHFILES}</tt>
- to the names of the files and <tt>&dollar;{PATCH_SITES}</tt>
- to the URL of the directory that contains them (the format
- is the same as <tt>&dollar;{MASTER_SITES}</tt>).
-
- <p>If the patch is not relative to the top of the source tree
- (i.e., <tt>&dollar;{WKRSRC}</tt>) because it contains some
- extra pathnames, set <tt>&dollar;{PATCH_DIST_STRIP}</tt>
- accordingly. For instance, if all the pathnames in the
- patch has an extra `<tt>foozolix-1.0/</tt>' in front of the
- filenames, then set `<tt>PATCH_DIST_STRIP=-p1</tt>'.
-
- <p>Do not worry if the patches are compressed, they will be
- decompressed automatically if the filenames end with
- `<tt>.gz</tt>' or `<tt>.Z</tt>'.
-
- <p>If the patch is distributed with some other files, such as
- documentation, in a gzip'd tarball, you can't just use
- <tt>&dollar;{PATCHFILES}</tt>. If that is the case, add the
- name and the location of the patch tarball to
- <tt>&dollar;{DISTFILES}</tt> and
- <tt>&dollar;{MASTER_SITES}</tt>. Then, from the
- <tt>pre-patch</tt> target, apply the patch either by running
- the patch command from there, or copying the patch file into
- the <tt>&dollar;{PATCHDIR}</tt> directory and calling it
- <tt>patch-&lt;xx&gt;</tt>. (Note the tarball will have been
- extracted alongside the regular source by then, so there is
- no need to explicitly extract it if it is a regular gzip'd
- or compress'd tarball.) If you do the latter, take extra
- care not to overwrite something that already exists in that
- directory. Also do not forget to add a command to remove
- the copied patch in the <tt>pre-clean</tt> target.
-
- <sect3>
- <heading>MAINTAINER</heading>
-
- <p>Set your mail-address here. Please. <tt>:)</tt>
-
- <p>For detailed description of the responsibility of maintainers,
- refer to <ref id="policies:maintainer"
- name="MAINTAINER on Makefiles"> section.
-
- <sect3>
- <heading>Dependencies</heading>
-
- <p>Many ports depend on other ports. There are five
- variables that you can use to ensure that all the required
- bits will be on the user's machine.
-
- <sect4>
- <heading>LIB_DEPENDS</heading>
-
- <p>This variable specifies the shared libraries this port
- depends on. It is a list of `<tt>lib:dir</tt>' pairs
- where <tt>lib</tt> is the name of the shared library, and
- <tt>dir</tt> is the directory in which to find it in case
- it is not available. For example,
-<tscreen><verb>
-LIB_DEPENDS= jpeg\\.6\\.:${PORTSDIR}/graphics/jpeg
-</verb></tscreen>
- will check for a shared jpeg library with major version 6,
- and descend into the <tt>graphics/jpeg</tt> subdirectory
- of your ports tree to build and install it if it is not
- found.
-
- Note that the <tt>lib</tt> part is just an argument given
- to `<tt>ldconfig -r | grep</tt>', so periods should be
- escaped by two backslashes like in the example above.
-
- The dependency is checked from within the <tt>extract</tt>
- target. Also, the name of the dependency is put in to the
- package so that <tt>pkg_add</tt> will automatically
- install it if it is not on the user's system.
-
- <sect4>
- <heading>RUN_DEPENDS</heading>
-
- <p>This variable specifies executables or files this port
- depends on during run-time. It is a list of
- `<tt>path:dir</tt>' pairs where <tt>path</tt> is the name
- of the executable or file, and <tt>dir</tt> is the
- directory in which to find it in case it is not
- available. If <tt>path</tt> starts with a slash
- (<tt>/</tt>), it is treated as a file and its existence is
- tested with `<tt>test -e</tt>'; otherwise, it is assumed
- to be an executable, and `<tt>which -s</tt>' is used to
- determine if the program exists in the user's search path.
-
- <p>For example,
-<tscreen><verb>
-RUN_DEPENDS= ${PREFIX}/etc/innd:${PORTSDIR}/news/inn \
- wish:${PORTSDIR}/x11/tk
-</verb></tscreen>
- will check if the file `<tt>/usr/local/etc/innd</tt>'
- exists, and build and install it from the
- <tt>news/inn</tt> subdirectory of the ports tree if it is
- not found. It will also see if an executable called
- `<tt>wish</tt>' is in your search path, and descend into
- the <tt>x11/tk</tt> subdirectory of your ports tree to
- build and install it if it is not found. (Note that in
- this case, `<tt>innd</tt>' is actually an executable; if
- an executable is in a place that is not expected to be in
- a normal user's search path, you should use the full
- pathname.)
-
- The dependency is checked from within the <tt>install</tt>
- target. Also, the name of the dependency is put in to the
- package so that <tt>pkg_add</tt> will automatically
- install it if it is not on the user's system.
-
- <sect4>
- <heading>BUILD_DEPENDS</heading>
-
- <p>This variable specifies executables or files this port
- requires to build. Like <tt>RUN_DEPENDS</tt>, it is a
- list of `<tt>path:dir</tt>' pairs. For example,
-<tscreen><verb>
-BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip
-</verb></tscreen>
- will check for an executable called `<tt>unzip</tt>', and
- descend into the <tt>archivers/unzip</tt> subdirectory of
- your ports tree to build and install it if it is not found.
-
- Note that `build' here means everything from extracting to
- compilation. The dependency is checked from within the
- <tt>extract</tt> target.
-
- <sect4>
- <heading>FETCH_DEPENDS</heading>
-
- <p>This variable specifies executables or files this port
- requires to fetch. Like the previous two, it is a list of
- `<tt>path:dir</tt>' pairs. For example,
-<tscreen><verb>
-FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2
-</verb></tscreen>
- will check for an executable called `<tt>ncftp2</tt>', and
- descend into the <tt>net/ncftp2</tt> subdirectory of
- your ports tree to build and install it if it is not found.
-
- The dependency is checked from within the <tt>fetch</tt>
- target.
-
- <sect4>
- <heading>DEPENDS</heading>
-
- <p>If there is a dependency that does not fall into either of
- the above four categories, or your port requires to have
- the source of the other port extracted (i.e., having them
- installed is not enough), then use this variable. This is
- just a list of directories, as there is nothing to check,
- unlike the previous four.
-
- <sect3>
- <heading>Building mechanisms</heading>
-
- <p>If your package uses GNU <tt>make</tt>, set
- `<tt>USE_GMAKE=yes</tt>'. If your package uses GNU
- <tt>configure</tt>, set `<tt>GNU_CONFIGURE=yes</tt>'. If
- you want to give some extra arguments to GNU
- <tt>configure</tt> (other than the default
- `<tt>--prefix=&dollar;{PREFIX}</tt>'),
- set those extra arguments in
- <tt>&dollar;{CONFIGURE_ARGS}</tt>.
-
- <p>If your package is an X application that creates Makefiles
- from Imakefiles using <tt>imake</tt>, then set
- `<tt>USE_IMAKE=yes</tt>'. This will cause the configure
- stage to automatically do an <tt>xmkmf -a</tt>. If the
- `<tt>-a</tt>' flag is a problem for your port, set
- `<tt>XMKMF=xmkmf</tt>'.
-
- <p>If your port's source Makefile has something else than
- `<tt>all</tt>' as the main build target, set
- <tt>&dollar;{ALL_TARGET}</tt> accordingly. Same goes for
- `<tt>install</tt>' and <tt>&dollar;{INSTALL_TARGET}</tt>.
-
- <sect3>
- <heading>NO_INSTALL_MANPAGES</heading>
-
- <p>If the port uses imake but does not understand the
- `<tt>install.man</tt>' target,
- `<tt>NO_INSTALL_MANPAGES=yes</tt>' should be set. In
- addition, the author of the original port should be
- shot. <tt>:&gt;</tt>
-
- <sect2>
- <heading>Ports that require Motif</heading>
-
- <p>There are many programs that require a Motif library
- (available from several commercial vendors, while there is (at
- least) one effort to create a free clone) to compile. Since
- it is a popular toolkit and their licenses usually permit
- redistribution of statically linked binaries, we have made
- special provisions for handling ports that require Motif in a
- way that we can easily compile binaries linked either
- dynamically or statically.
-
- <sect3>
- <heading>REQUIRES_MOTIF</heading>
-
- <p>If your port requires Motif, define this variable in the
- Makefile. This will prevent people who don't own a copy of
- Motif from even attempting to build it.
-
- <sect3>
- <heading>&dollar;{MOTIFLIB}</heading>
-
- <p>This variable will be set by <tt>bsd.port.mk</tt> to be the
- appropriate reference to the Motif library. Please patch
- the source to use this wherever the Motif library is
- referenced in the Makefile or Imakefile.
-
- <p>There are two common cases:
- <enum>
- <item>If the port refers to the Motif library as
- `<tt>-lXm</tt>' in its Makefile or Imakefile, simply
- substitute `<tt>&dollar;{MOTIFLIB}</tt>' for it.
-
- <item>If the port uses `<tt>XmClientLibs</tt>' in its
- Imakefile, change it to `<tt>&dollar;{MOTIFLIB}
- &dollar;{XTOOLLIB} &dollar;{XLIB}</tt>'.
- </enum>
-
- <p>Note that <tt>&dollar;{MOTIFLIB}</tt> (usually) expands to
- `<tt>-L/usr/X11R6/lib -lXm</tt>' or
- `<tt>/usr/X11R6/lib/libXm.a</tt>', so there is no need to
- add `<tt>-L</tt>' or `<tt>-l</tt>' in front.
-
- <sect2>
- <heading>Licensing Problems</heading>
-
- <p>Some software packages have restrictive licenses or are in
- violation to the law (PKP's patent on public key crypto,
- ITAR (export of crypto software) to name just two of them).
- What we can do with them vary a lot, depending on the exact
- wordings of the respective licenses.
-
- <p>Note that it is your responsibility as a porter to read the
- licensing terms of the software and make sure that the FreeBSD
- project will not be held accountable of violating them by
- redistributing the source or compiled binaries either via ftp
- or CD-ROM. If in doubt, please contact the &a.ports;.
-
- <p>There are two variables you can set in the Makefile to handle
- the situations that arise frequently:
-
- <enum>
- <item>If the port has a `do not sell for profit' type of
- license, set the variable <tt>NO_CDROM</tt>. We will make
- sure such ports won't go into the CD-ROM come release time.
- The distfile and package will still be available via ftp.
-
- <item>If the resulting package needs to be built uniquely for
- each site, or the resulting binary package can't be distributed
- due to licensing; set the variable <tt>NO_PACKAGE</tt>.
- We will make sure such packages won't go on the ftp site, nor
- into the CD-ROM come release time. The distfile will still be
- included on both however.
-
- <item>If the port has legal restrictions on who can use it
- (e.g., crypto stuff) or has a `no commercial use' license,
- set the variable <tt>RESTRICTED</tt> to be the string
- describing the reason why. For such ports, the
- distfiles/packages will not be available even from our ftp
- sites.
- </enum>
-
- <p>Note: The GNU General Public License (GPL), both version 1
- and 2, should not be a problem for ports.
-
- <p>Note: If you are a committer, make sure you update the
- <tt>ports/LEGAL</tt> file too.
-
- <sect2>
- <heading>Upgrading</heading>
-
- <p>When you notice that a port is out of date compared to the
- latest version from the original authors, first make sure you
- have the latest port. You can find them in the
- <tt>ports-current</tt> directory of the ftp mirror sites.
-
- <p>The next step is to send a mail to the maintainer, if one is
- listed in the port's Makefile. That person may already be
- working on an upgrade, or have a reason to not upgrade the
- port right now (because of, for example, stability problems
- of the new version).
-
- <p>If the maintainer asks you to do the upgrade or there isn't
- any such person to begin with, please make the upgrade and
- send the recursive diff of the new and old ports directories
- to us (i.e., if your modified ports directory is called
- `<tt>superedit</tt>' and the original as in our tree is
- `<tt>superedit.bak</tt>', then send us the result of `<tt>diff
- -ruN superedit.bak superedit</tt>'). Please examine the output
- to make sure all the changes make sense. The best way to send
- us the diff is by including it to <tt>send-pr(1)</tt> (category
- `ports'). Please
- mention any added or deleted files in the message, as they
- have to be explicitly specified to CVS when doing a commit.
-
- <sect2>
- <heading>Do's and Dont's</heading>
-
- <p>Here is a list of common do's and dont's that you encounter
- during the porting process.
-
- <sect3>
- <heading>WRKDIR</heading>
-
- <p>Do not leave anything valuable lying around in the
- <tt>work</tt> subdirectory, `<tt>make clean</tt>' will
- <em>nuke</em> it completely! If you need auxiliary files
- that are not scripts or patches, put them in the
- <tt>&dollar;{FILESDIR}</tt> subdirectory (files/ by default)
- and use the <tt>post-extract</tt> target to
- copy them to the <tt>work</tt> subdirectory.
-
- <sect3>
- <heading>Package information</heading>
-
- <p>Do include package information, i.e. COMMENT, DESCR, and PLIST, in
- <tt>pkg</tt>. Note that these files are not used only for
- packaging anymore, and are <em>mandatory</em> now, even if
- <tt>&dollar;{NO_PACKAGE}</tt> is set.
-
- <sect3>
- <heading>Compress manpages, strip binaries</heading>
-
- <p>Do compress manpages and strip binaries. If the original
- source already strips the binary, fine; otherwise, you can add a
- <tt>post-install</tt> rule to do it yourself. Here is an example:
-<tscreen><verb>
- post-install:
- strip ${PREFIX}/bin/xdl
-</verb></tscreen>
- <p>Use the <tt>file</tt> command on the installed executable
- to check whether the binary is stripped or not. If it
- does not say `not stripped', it is stripped.
-
- <p>To automagically compress the manpages, use the MAN[1-9LN]
- variables. They will check the variable
- <tt>NOMANCOMPRESS</tt> that the user can set in
- <tt>/etc/make.conf</tt> to disable man page compression.
- Place them last in the section below the
- <tt>MAINTAINER</tt> variable. Here is an example:
-<tscreen><verb>
-MAN1= foo.1 bar.1
-MAN5= foo.conf.5
-MAN8= baz.8
-</verb></tscreen>
- <p>Note that this is not usually necessary with ports that are X
- applications and use Imake to build.
-
- <p>If your port anchors its man tree somewhere other than
- <tt>PREFIX</tt>, you can use the <tt>MANPREFIX</tt> to set it.
- Also, if only manpages in certain section go in a
- non-standard place, such as many Perl modules ports, you
- can set individual man paths using
- <tt>MAN<em>sect</em>PREFIX</tt> (where <em>sect</em> is one
- of 1-9, L or N).
-
- <sect3>
- <heading>INSTALL_* macros</heading>
- <p>Do use the macros provided in <tt>bsd.port.mk</tt> to
- ensure correct modes and ownership of files in your own
- *-install targets. They are:
-
- <itemize>
- <item><tt>${INSTALL_PROGRAM}</tt> is a command to install
- binary executables.
- <item><tt>${INSTALL_SCRIPT}</tt> is a command to install
- executable scripts.
- <item><tt>${INSTALL_DATA}</tt> is a command to install
- sharable data.
- <item><tt>${INSTALL_MAN}</tt> is a command to install
- manpages and other documentation (it doesn't compress anything).
- </itemize>
-
- <p>These are basically the <tt>install</tt> command with all
- the appropriate flags. See below for an example on how to
- use them.
-
- <sect3>
- <heading>INSTALL package script</heading>
- <p>If your port needs execute commands when the binary package
- is installed with pkg_add you can do with via the pkg/INSTALL
- script. This script will automatically be added to the
- package, and will be run twice by pkg_add. The first time
- will as `<tt>INSTALL ${PKGNAME} PRE-INSTALL</tt>'
- and the second time as `<tt>INSTALL ${PKGNAME} POST-INSTALL</tt>'.
- `<tt>&dollar;2</tt>' can be tested to determine which mode
- the script is being run in.
- The `<tt>PKG_PREFIX</tt>' environmental variable will be set to
- the package installation directory. See man <tt>pkg_add(1)</tt>
- for additional information.
- Note, that this script is not run automatically if you install
- the port with `<tt>make install</tt>'. If you are depending
- on it being run, you will have to explicitly call it on your
- port's Makefile.
-
- <sect3>
- <heading>REQ package script</heading>
- <p>If your needs to determine if it should install or not, you
- can create a pkg/REQ ``requirements'' script. It will be invoked
- automatically at installation/deinstallation time to determine
- whether or not installation/deinstallation should proceed.
- See man <tt>pkg_create(1)</tt> and man <tt>pkg_add(1)</tt> for
- more information.
-
- <sect3>
- <heading>Install additional documentation</heading>
-
- <p>If your software has some documentation other than the
- standard man and info pages that you think is useful for the
- user, install it under <tt>&dollar;{PREFIX}/share/doc</tt>.
- This can be done, like the previous item, in the
- <tt>post-install</tt> target.
-
- <p>Create a new directory for your port. The directory name
- should reflect what the port is. This usually means
- <tt>&dollar;{PKGNAME}</tt> minus the version part. However,
- if you think the user might want different versions of the
- port to be installed at the same time, you
- can use the whole <tt>&dollar;{PKGNAME}</tt>.
-
- <p>Make the installation dependent to the variable
- <tt>NOPORTDOCS</tt> so that users can disable it in
- <tt>/etc/make.conf</tt>, like this:
-<tscreen><verb>
- post-install:
- .if !defined(NOPORTDOCS)
- ${MKDIR} ${PREFIX}/share/doc/xv
- ${INSTALL_MAN} ${WRKSRC}/docs/xvdocs.ps ${PREFIX}/share/doc/xv
- .endif
-</verb></tscreen>
-
- <p>Do not forget to add them to <tt>pkg/PLIST</tt> too! (Do not
- worry about <tt>NOPORTDOCS</tt> here; there is currently no
- way for the packages to read variables from
- <tt>/etc/make.conf</tt>.)
-
- <p>If you need to display a message to the installer, you may
- place the message in <tt>pkg/MESSAGE</tt>. This capibility
- is often useful to display additional installation steps to
- be taken after a pkg_add, or to display licensing information.
- (note: the MESSAGE file does not need to be added to pkg/PLIST).
-
-
- <sect3>
- <heading>DIST_SUBDIR</heading>
-
- <p>Do not let your port clutter <tt>/usr/ports/distfiles</tt>. If
- your port requires a lot of files to be
- fetched, or contains a file that has a name that might conflict
- with other ports (e.g., `Makefile'), set
- <tt>&dollar;{DIST_SUBDIR}</tt> to the name of the port
- (<tt>&dollar;{PKGNAME}</tt> without the version part should work
- fine). This will change <tt>&dollar;{DISTDIR}</tt> from the
- default <tt>/usr/ports/distfiles</tt> to
- <tt>/usr/ports/distfiles/&dollar;{DIST_SUBDIR}</tt>, and in
- effect puts everything that is required for your port into that
- subdirectory.
-
- <p>It will also look at the subdirectory with the same name on the
- backup master site at <tt>ftp.freebsd.org</tt>. (Setting
- <tt>&dollar;{DISTDIR}</tt> explicitly in your Makefile will not
- accomplish this, so please use <tt>&dollar;{DIST_SUBDIR}</tt>.)
-
- <p>Note this does not affect the <tt>&dollar;{MASTER_SITES}</tt>
- you define in your Makefile.
-
- <sect3>
- <heading>Feedback</heading>
-
- <p>Do send applicable changes/patches to the original
- author/maintainer for inclusion in next release of the code.
- This will only make your job that much easier for the next
- release.
-
- <sect3>
- <heading>RCS strings</heading>
-
- <p>Do not put RCS strings in patches. CVS will mangle them
- when we put the files into the ports tree, and when we check
- them out again, they will come out different and the patch
- will fail. RCS strings are surrounded by dollar
- (`<tt>&dollar;</tt>') signs, and typically start with
- `<tt>&dollar;Id</tt>' or `<tt>&dollar;RCS</tt>'.
-
- <sect3>
- <heading>Recursive diff</heading>
-
- <p>Using the recurse (`<tt>-r</tt>') option to <tt>diff</tt>
- to generate patches is fine, but please take a look at the
- resulting patches to make sure you don't have any
- unnecessary junk in there. In particular, diffs between two
- backup files, Makefiles when the port uses Imake or GNU
- configure, etc., are unnecessary and should be deleted.
- Also, if you had to delete a file, then you can do it in the
- <tt>post-extract</tt> target rather than as part of the
- patch. Once you are happy with the resuling diff, please
- split it up into one source file per patch file.
-
- <sect3>
- <heading>PREFIX</heading>
-
- <p>Do try to make your port install relative to
- <tt>&dollar;{PREFIX}</tt>. (The value of this variable will be
- set to <tt>&dollar;{LOCALBASE}</tt> (default
- <tt>/usr/local</tt>), unless <tt>&dollar;{USE_IMAKE}</tt> or
- <tt>&dollar;{USE_X11}</tt> is set, in which case it will be
- <tt>&dollar;{X11BASE}</tt> (default <tt>/usr/X11R6</tt>).)
-
- <p>Not hard-coding `<tt>/usr/local</tt>' or `<tt>/usr/X11R6</tt>'
- anywhere in the source will make the port much more flexible and
- able to cater to the needs of other sites. For X ports that use
- imake, this is automatic; otherwise, this can often be done by
- simply replacing the occurrences of `<tt>/usr/local</tt>' (or
- `<tt>/usr/X11R6</tt>' for X ports that do not use imake) in the
- various scripts/Makefiles in the port to read
- `<tt>&dollar;{PREFIX}</tt>', as this variable is automatically
- passed down to every stage of the build and install processes.
-
- <p>The variable <tt>&dollar;{PREFIX}</tt> can be reassigned in your
- Makefile or in the user's environment. However, it is strongly
- discouraged for individual ports to set this variable explicitly
- in the Makefiles. (If your port is an X port but does not use
- imake, set <tt>USE_X11=yes</tt>; this is quite different from
- setting <tt>PREFIX=/usr/X11R6</tt>.)
-
- <p>Also, refer to programs/files from other ports with the
- variables mentioned above, not explicit pathnames. For instance,
- if your port requires a macro <tt>PAGER</tt> to be the full
- pathname of <tt>less</tt>, use the compiler flag:
- <verb>-DPAGER=\"&dollar;{PREFIX}/bin/less\"</verb> or
- <verb>-DPAGER=\"&dollar;{LOCALBASE}/bin/less\"</verb> if this is an
- X port, instead of <verb>-DPAGER=\"/usr/local/bin/less\"</verb>.
- This way it will have a better chance of working if the system
- administrator has moved the whole `/usr/local' tree somewhere
- else.
-
- <sect3>
- <heading>Subdirectories</heading>
-
- <p>Try to let the port put things in the right subdirectories
- of <tt>&dollar;{PREFIX}</tt>. Some ports lump everything
- and put it in the subdirectory with the port's name, which is
- incorrect. Also, many ports put everything except binaries,
- header files and manual pages in the a subdirectory of
- `<tt>lib</tt>', which does not bode well with the BSD
- paradigm. Many of the files should be moved to one of the
- following: `<tt>etc</tt>' (setup/configuration files),
- `<tt>libexec</tt>' (executables started internally),
- `<tt>sbin</tt>' (executables for superusers/managers),
- `<tt>info</tt>' (documentation for info browser) or
- `<tt>share</tt>' (architecture independent files). See man
- <tt>hier(7)</tt> for details, the rule governing
- <tt>/usr</tt> pretty much applies to <tt>/usr/local</tt>
- too. The exception are ports dealing with USENET `news'.
- They may use <tt>&dollar;{PREFIX}/news</tt> as a destination
- for their files.
-
- <sect3>
- <heading>ldconfig</heading>
-
- <p>If your port installs a shared library, add a
- <tt>post-install</tt> target to your Makefile that runs
- `<tt>/sbin/ldconfig -m</tt>' on the directory where the new
- library is installed (usually <tt>&dollar;{PREFIX}/lib</tt>)
- to register it into the shared library cache.
-
- <p>Also, add an <tt>@exec</tt> line to your <tt>pkg/PLIST</tt>
- file so that a user who installed the package can start
- using the shared library immediately. This line should
- immediately follow the line for the shared library itself,
- as in:
-<tscreen><verb>
-lib/libtcl.so.7.3
-@exec /sbin/ldconfig -m %D/lib
-</verb></tscreen>
-
- <p>Never, ever, <em>ever</em> add a line that says
- `<tt>ldconfig</tt>' without any arguments to your Makefile
- or pkg/PLIST. This will reset the shared library cache to
- the contents of <tt>/usr/lib</tt> only, and will royally
- screw up the user's machine ("Help, xinit does not run
- anymore after I install this port!"). Anybody who does this
- will be shot and cut into 65,536 pieces by a rusty knife and
- have his liver chopped out by a bunch of crows and will
- eternally rot to death in the deepest bowels of hell (not
- necessarily in that order)....
-
- <sect3>
- <heading>If you are stuck....</heading>
-
- <p>Do look at existing examples and the <tt>bsd.port.mk</tt>
- file before asking us questions! <tt>;)</tt>
-
- <p>Do ask us questions if you have any trouble! Do not just
- beat your head against a wall! <tt>:)</tt>
-
- <sect2>
- <heading>A Sample Makefile<label id="porting:samplem"></heading>
-
- <p>Here is a sample Makefile that you can use to create a new
- port. Make sure you remove all the extra comments (ones
- between brackets)!
-
- <p>It is recommended that you follow this format (ordering of
- variables, empty lines between sections, etc.). Not all of
- the existing Makefiles are in this format (mostly old ones),
- but we are trying to uniformize how they look. This format is
- designed so that the most important information is easy to
- locate.
-
-<tscreen><verb>
- [the header...just to make it easier for us to identify the ports]
- # New ports collection makefile for: xdvi
- # Version required: pl18 [things like "1.5alpha" are fine here too]
- # Date created: 26 May 1995
- [this is the person who did the original port to FreeBSD, in particular, the
- person who wrote this Makefile]
- # Whom: Satoshi Asami <asami@FreeBSD.ORG>
- #
- # &dollar;Id&dollar;
- [ ^^^^ This will be automatically replaced with RCS ID string by CVS
- when it is committed to our repository.]
- #
-
- [section to describe the port itself and the master site - DISTNAME
- is always first, followed by PKGNAME (if necessary), CATEGORIES,
- and then MASTER_SITES, which can be followed by MASTER_SITE_SUBDIR.
- After those, one of EXTRACT_SUFX or DISTFILES can be specified too.]
- DISTNAME= xdvi
- PKGNAME= xdvi-pl18
- CATEGORIES= print
- [do not forget the trailing slash ("/")!
- if you aren't using MASTER_SITE_* macros]
- MASTER_SITES= ${MASTER_SITE_XCONTRIB}
- MASTER_SITE_SUBDIR= applications
- [set this if the source is not in the standard ".tar.gz" form]
- EXTRACT_SUFX= .tar.Z
-
- [section for distributed patches -- can be empty]
- PATCH_SITES= ftp://ftp.sra.co.jp/pub/X11/japanese/
- PATCHFILES= xdvi-18.patch1.gz xdvi-18.patch2.gz
-
- [maintainer; *mandatory*! This is the person (preferably with commit
- privileges) who a user can contact for questions and bug reports - this
- person should be the porter or someone who can forward questions to the
- original porter reasonably promptly. If you really do not want to have
- your address here, set it to "ports@FreeBSD.ORG".]
- MAINTAINER= asami@FreeBSD.ORG
-
- [dependencies -- can be empty]
- RUN_DEPENDS= gs:${PORTSDIR}/print/ghostscript
- LIB_DEPENDS= Xpm\\.4\\.:${PORTSDIR}/graphics/xpm
-
- [this section is for other standard bsd.port.mk variables that do not
- belong to any of the above]
- [If it asks questions during configure, build, install...]
- IS_INTERACTIVE= yes
- [If it extracts to a directory other than ${DISTNAME}...]
- WRKSRC= ${WRKDIR}/xdvi-new
- [If the distributed patches were not made relative to ${WRKSRC}, you
- may need to tweak this]
- PATCH_DIST_STRIP= -p1
- [If it requires a "configure" script generated by GNU autoconf to be run]
- GNU_CONFIGURE= yes
- [If it requires GNU make, not /usr/bin/make, to build...]
- USE_GMAKE= yes
- [If it is an X application and requires "xmkmf -a" to be run...]
- USE_IMAKE= yes
- [et cetera.]
-
- [non-standard variables to be used in the rules below]
- MY_FAVORITE_RESPONSE= "yeah, right"
-
- [then the special rules, in the order they are called]
- pre-fetch:
- i go fetch something, yeah
-
- post-patch:
- i need to do something after patch, great
-
- pre-install:
- and then some more stuff before installing, wow
-
- [and then the epilogue]
- .include <bsd.port.mk>
-</verb></tscreen>
-
- <sect2>
- <heading>Package Names</heading>
-
- <p>The following are the conventions you should follow in
- naming your packages. This is to have our package directory
- easy to scan, as there are already lots and lots of packages
- and users are going to turn away if they hurt their eyes!
-
- <p>The package name should look like
-
-<tscreen><verb>
-[<language>-]<name>[[-]<compiled.specifics>]-<version.string.numbers>;
-</verb></tscreen>
-
- If your <tt>&dollar;{DISTNAME}</tt> doesn't look like that,
- set <tt>&dollar;{PKGNAME}</tt> to something in that format.
-
- <enum>
- <item>FreeBSD strives to support the native language of its
- users. The `&lt;language&gt;' part should be a two letter
- abbreviation of the natural language if the port is specific
- to a certain language. Examples are `jp' for Japanese,
- `ru' for Russian, `vn' for Vietnamese, `cn' for Chinese,
- and `kr' for Korean.
-
- <item>The `<tt>&lt;name&gt;</tt>' part should be all
- lowercases, except for a really large package (with lots of
- programs in it). Things like XFree86 (yes there really is a
- package of it, check it out) and ImageMagick fall into this
- category. Otherwise, convert the name (or at least the
- first letter) to lowercase. If the software in question
- really is called that way, you can have numbers, hyphens and
- underscores in the name too (like `kinput2').
-
- <item>If the port can be built with different hardcoded
- defaults (usually specified as environment variables or on
- the <tt>make</tt> command line), the
- `&lt;compiled.specifics&gt;' part should state the
- compiled-in defaults (the hyphen is optional). Examples are
- papersize and font units.
-
- <item>The version string should be a period-separated list of
- integers and single lowercase alphabets. The only exception
- is the string `pl' (meaning `patchlevel'), which can be used
- <em>only</em> when there are no major and minor version
- numbers in the software.
- </enum>
-
- <p>Here are some (real) examples on how to convert a
- <tt>&dollar;{DISTNAME}</tt> into a suitable
- <tt>&dollar;{PKGNAME}</tt>:
-
-<tscreen><verb>
-DISTNAME PKGNAME Reason
-mule-2.2.2 mule-2.2.2 no prob at all
-XFree86-3.1.2 XFree86-3.1.2 ditto
-EmiClock-1.0.2 emiclock-1.0.2 no uppercase names for single programs
-gmod1.4 gmod-1.4 need hyphen after `<name>'
-xmris.4.02 xmris-4.02 ditto
-rdist-1.3alpha rdist-1.3a no strings like `alpha' allowed
-es-0.9-beta1 es-0.9b1 ditto
-v3.3beta021.src tiff-3.3 what the heck was that anyway? ;)
-tvtwm tvtwm-pl11 version string always required
-piewm piewm-1.0 ditto
-xvgr-2.10pl1 xvgr-2.10.1 `pl' allowed only when no maj/minor numbers
-gawk-2.15.6 jp-gawk-2.15.6 Japanese language version
-psutils-1.13 psutils-letter-1.13 papersize hardcoded at package build time
-pkfonts pkfonts300-1.0 package for 300dpi fonts
-</verb></tscreen>
-
- <p>If there is absolutely no trace of version information in the
- original source and it is unlikely that the original author
- will ever release another version, just set the version string
- to `1.0' (like the piewm example above). Otherwise, ask the
- original author or use the date string (`yy.mm.dd') as the
- version.
-
- <sect2>
- <heading>That is It, Folks!</heading>
-
- <p>Boy, this sure was a long tutorial, wasn't it? Thanks for
- following us to here, really.
-
- <p>Well, now that you know how to do a port, let us go at it and
- convert everything in the world into ports! That is the
- easiest way to start contributing to the FreeBSD Project!
- <tt>:)</tt>
diff --git a/share/doc/handbook/ports.sgml b/share/doc/handbook/ports.sgml
deleted file mode 100644
index 09cd781..0000000
--- a/share/doc/handbook/ports.sgml
+++ /dev/null
@@ -1,847 +0,0 @@
-<!-- $Id: ports.sgml,v 1.24 1997/03/08 11:44:08 jkh Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<chapt><heading>Installing Applications: The Ports collection<label id="ports"></heading>
-
-<p><em>Contributed by &a.jraynard;.</em>
-
-The FreeBSD Ports collection allows you to compile and install a very
-wide range of applications with a minimum of effort.
-
-<p> For all the hype about open standards, getting a program to work
-on different versions of Unix in the real world can be a tedious and
-tricky business, as anyone who has tried it will know. You may be lucky
-enough to find that the program you want will compile cleanly on your
-system, install itself in all the right places and run flawlessly
-``out of the box'', but this is unfortunately rather rare. With most
-programs, you will find yourself doing a fair bit of head-scratching,
-and there are quite a few programs that will result in premature
-greying, or even chronic alopecia...
-
-<p> Some software distributions have attacked this problem by
-providing configuration scripts. Some of these are very clever, but
-they have an unfortunate tendency to triumphantly announce that your
-system is something you have never heard of and then ask you lots of
-questions that sound like a final exam in system-level Unix
-programming (``Does your system's gethitlist function return a const
-pointer to a fromboz or a pointer to a const fromboz? Do you have
-Foonix style unacceptable exception handling? And if not, why not?'').
-
-<p> Fortunately, with the Ports collection, all the hard work involved
-has already been done, and you can just type 'make install' and get a
-working program.
-
-<sect><heading>Why have a Ports Collection?</heading>
-
-<p>The base FreeBSD system comes with a very wide range of tools and
-system utilities, but a lot of popular programs are not in the base
-system, for good reasons:-
-
-<enum>
-<item>``I can not live without x y and z on my system'' type programs
-(eg a certain Lisp-based editor, or the mtools set of programs for
-dealing with DOS floppy disks), because it is too subjective (many
-people can not stand Emacs and/or never use DOS floppies and seem none
-the worse for it).
-
-<item>Too specialised to put in the base system (CAD, databases).
-
-<item>Programs which fall into the ``I would not mind having a look at
-that when I get a spare minute'' category, rather than system-critical
-ones (some languages, perhaps).
-
-<item>``Wow fab this is way cool'' fun type programs that could not
-possibly be supplied with a serious operating system like FreeBSD ;-)
-
-<item>However many programs you put in the base system, people will
-always want more, and a line has to be drawn somewhere (otherwise
-FreeBSD distributions would become absolutely enormous).
-</enum>
-
-<p> Obviously it would be unreasonable to expect everyone to port their
-favourite programs by hand (not to mention a tremendous amount of
-duplicated work), so the FreeBSD Project came up with an ingenious
-way of using standard tools that would automate the process.
-
-<p> Incidentally, this is an excellent illustration of how ``the Unix way''
-works in practice by combining a set of simple but very flexible tools
-into something very powerful.
-
-<sect><heading> How does the Ports collection work?</heading>
-<p>
-Programs are typically distributed on the Internet as a
-<ref id="ports:tarball" name="tarball"> consisting of
-a Makefile and the source code for the program and usually
-some instructions (which are unfortunately not always as instructive
-as they could be), with perhaps a configuration script.
-<p>
-The standard scenario is that you FTP down the tarball, extract it
-somewhere, glance through the instructions, make any changes that seem
-necessary, run the configure script to set things up and use the standard
-`make' program to compile and install the program from the source.
-<p>
-FreeBSD ports still use the tarball mechanism, but use a
-<ref id="ports:skeleton" name="skeleton"> to hold the &quot;knowledge&quot;
-of how to get the program working on FreeBSD, rather than expecting the
-user to be able to work it out. They also supply their own customised
-<ref id="ports:makefile" name="Makefile">, so that almost every port
-can be built in the same way.
-<p>
-If you look at a port skeleton (either on <htmlurl
-url="file://localhost/usr/ports/shells/bash" name="your FreeBSD
-system"> or <htmlurl
-url="ftp://ftp.freebsd.org/pub/FreeBSD/ports/shells/bash" name="the
-FTP site">) and expect to find all sorts of pointy-headed rocket
-science lurking there, you may be disappointed by the one or two
-rather unexciting-looking files and directories you find there.
-(We will discuss in a minute how to go about <ref id="ports:getting"
-name="Getting a port">).
-
-<p>``How on earth can this do anything?'' I hear you cry. ``There
-is not even any source code there!''
-
-<p> Fear not, gentle reader, all will become clear (hopefully). Let's
-see what happens if we try and install a port. I have chosen `bash', also
-known as the Bourne-Again Shell, as that seems fairly typical.
-
-<em>Note</em> if you are trying this at home, you will need to be root.
-
-<verb>
- # cd /usr/ports/shells/bash
- # make install
- Checksums OK.
- ===> Extracting for bash-1.14.5
- ===> Patching for bash-1.14.5
- ===> Applying FreeBSD patches for bash-1.14.5
- ===> Configuring for bash-1.14.5
- ===> Building for bash-1.14.5
- [lots and lots of compiler output here...]
- ===> Installing for bash-1.14.5
- make -f bash-Makefile bindir=/usr/local/bin prefix=/usr/local install
- (cd ./documentation/; make )
- rm -f builtins.txt
- nroff -man builtins.1 > builtins.txt
- install -c -o bin -g bin -m 555 bash /usr/local/bin/bash
- install -c -o bin -g bin -m 555 bashbug /usr/local/bin/bashbug
- ( cd ./documentation/ ; make mandir=/usr/local/man/man1 man3dir=/usr/local/man/man3 infodir=/usr/local/info install )
- [ -d /usr/local/man/man1 ] || mkdir /usr/local/man/man1
- [ -d /usr/local/info ] || mkdir /usr/local/info
- ../support/install.sh -c -m 644 bash.1 /usr/local/man/man1
- ../support/install.sh -c -m 644 builtins.1 /usr/local/man/man1/bash_builtins.1
- ../support/install.sh -c -m 644 features.info /usr/local/info/bash.info
- gzip -9nf /usr/local/man/man1/bash.1 /usr/local/man/man1/bash_builtins.1
- ===> Registering installation for bash-1.14.5
-</verb>
-
-<p> To avoid confusing the issue, I have slightly pruned the install
-output, as well as completely removing the build output. If you tried
-this yourself, you may well have got something like this at the start:-
-
-<label id="ports:fetch">
-<verb>
- >> bash-1.14.5.tar.gz doesn't seem to exist on this system.
- >> Attempting to fetch from ftp://slc2.ins.cwru.edu/pub/dist/.
-</verb>
-
-<p> The `make' program has noticed that you did not have a local copy
-of the source code and tried to FTP it down so it could get the job
-done (are you starting to feel impressed? 8-)). I already had the
-source handy in my example, so it did not need to fetch it.
-
-<p> Let's go through this and see what the `make' program was doing.
-
-<enum>
-<item> Locate the source code <ref id="ports:tarball"
-name="tarball."> If it is not available locally, try to grab it from an
-FTP site.
-
-<item> Run a <ref id="ports:checksum" name="checksum"> test on the
-tarball to make sure it has not been tampered with, accidentally
-truncated, struck by neutrinos while in transit, etc.
-
-<item> Extract the tarball into a temporary work directory.
-
-<item> Apply any <ref id="ports:patch" name="patches"> needed to get
-the source to compile and run under FreeBSD.
-
-<item> Run any configuration script required by the build process and
-correctly answer any questions it asks.
-
-<item> (Finally!) Compile the code.
-
-<item> Install the program executable and other supporting files, man
-pages, etc. under the /usr/local hierarchy, where they will not get mixed
-up with system programs. This also makes sure that all the ports you
-install will go in the same place, instead of being flung all over
-your system.
-
-<item> Register the installation in a database. This means
-that, if you do not like the program, you can cleanly <ref
-id="ports:remove" name="remove"> all traces of it from your system.
-
-</enum>
-
-<p> See if you can match these steps to the make output. And if you
-were not impressed before, you should be by now!
-
-<sect><heading>Getting a FreeBSD Port<label id="ports:getting"></heading>
-<p>
-There are two ways of getting hold of the FreeBSD port for a
-program. One requires a <ref id="ports:cd" name="FreeBSD
-CDROM">, the other involves using an <ref id="ports:inet"
-name="Internet Connection.">
-
-<sect1><heading>Compiling ports from CDROM<label id="ports:cd"></heading>
-<p>
-If you answered yes to the question ``Do you want to link the ports
-collection to your CDROM'' during the FreeBSD installation, the initial
-setting up will already have been done for you.
-<p>
-If not, make sure the <em /FreeBSD/ CDROM is in the drive and mounted on,
-say, /cdrom. Then do
-
-<verb>
- # mkdir /usr/ports
- # cd /usr/ports
- # ln -s /cdrom/ports/distfiles distfiles
-</verb>
-
-to enable the ports make mechanism to find the tarballs (it expects to
-find them in /usr/ports/distfiles, which is why we sym-linked the
-CDROM's tarball directory to there).
-<p>
-Now, suppose you want to install the gnats program from the databases
-directory. Here is how to do it:-
-
-<verb>
- # cd /usr/ports
- # mkdir databases
- # cp -R /cdrom/ports/databases/gnats databases
- # cd databases/gnats
- # make install
-</verb>
-
-Or if you are a serious database user and you want to compare all the
-ones available in the Ports collection, do
-
-<verb>
- # cd /usr/ports
- # cp -R /cdrom/ports/databases .
- # cd databases
- # make install
-</verb>
-
-(yes, that really is a dot on its own after the cp command and not a
-mistake. It is Unix-ese for ``the current directory'')
-<p>
-and the ports make mechanism will automatically compile and install
-all the ports in the databases directory for you!
-<p>
-If you do not like this method, here is a completely different way of
-doing it:-
-<p>
-Create a "link tree" to it using the <tt>lndir(1)</tt> command that
-comes with the <em>XFree86</em> distribution. Find a location with
-some free space, create a directory there and then cd to it. Then
-invoke the <tt>lndir(1)</tt> command with the full pathname of the ``ports''
-directory on the CDROM as the first argument and . (the current directory)
-as the second. This might be, for example, something like:
-<verb>
- lndir /cdrom/ports .
-</verb>
-<p>Then you can build ports directly off the CDROM by building them in the
-link tree you have created.
-<p>
-Note that there are some ports for which we cannot provide the original
-source in the CDROM due to licensing limitations. In that case,
-you will need to look at the section on <ref id="ports:inet"
-name="Compiling ports using an Internet connection.">
-
-<sect1><heading>Compiling ports from the Internet<label
-id="ports:inet"></heading>
-<p>
-If you do not have a CDROM, or you want to make sure you get the very
-latest version of the port you want, you will need to download the
-<ref id="ports:skeleton" name="skeleton"> for the port. Now this
-might sound like rather a fiddly job
-full of pitfalls, like downloading the patches into the pkg
-sub-directory by mistake, but it is actually very easy.
-<p>
-The key to it is that the FreeBSD FTP server can create on-the-fly
-<ref id="ports:tarball" name="tarballs"> for you. Here is how it works,
-with the gnats program in the databases directory as an example (the
-bits in square brackets are comments, do not type them in if you are
-trying this yourself!):-
-
-<verb>
- # cd /usr/ports
- # mkdir databases
- # cd databases
- # ftp ftp.freebsd.org
- [log in as `ftp' and give your email address when asked for a
- password. Remember to use binary (aka image) mode!]
- > cd /pub/FreeBSD/ports/databases
- > get gnats.tar.gz [tarballs up the gnats skeleton for us]
- > quit
- # tar xzf gnats.tar.gz [extract the gnats skeleton]
- # cd gnats
- # make install [build and install gnats]
-</verb>
-
-What happened here? We connected to the FTP server in the usual way
-and went to its databases sub-directory. When we gave it the command
-`get gnats.tar.gz', the FTP server <ref id="ports:tarball"
-name="tarballed"> up the gnats directory for us and even went to the
-trouble of compressing it before sending it so we could get our hands
-on it a little quicker.
-<p>
-We then extracted the gnats skeleton and went into the gnats directory
-to build the port. As we explained <ref id="ports:fetch"
-name="earlier">, the make process noticed we did not have a copy of the
-source locally, so it fetched one before extracting, patching and
-building it.
-<p>
-Let's try something more ambitious now. Instead of getting a single
-port skeleton, let's get a whole sub-directory, for example all the
-database skeletons in the ports collection. It looks almost the same:-
-
-<verb>
- # cd /usr/ports
- # ftp ftp.freebsd.org
- [log in as `ftp' and give your email address when asked for a
- password. Remember to use binary (aka image) mode!]
- > cd /pub/FreeBSD/ports
- > get databases.tar.gz [tarballs up the databases directory for us]
- > quit
- # tar xzf databases.tar.gz [extract all the database skeletons]
- # cd databases
- # make install [build and install all the database ports]
-</verb>
-
-With half a dozen straightforward commands, we have now got a set of
-database programs on our FreeBSD machine! All we did that was
-different from getting a single port skeleton and building it was that
-we got a whole directory at once, and compiled everything in it at
-once. Pretty impressive, no?
-<p>
-If you expect to be installing more than one or two ports, it is
-probably worth downloading all the ports directories - this involves
-downloading 2 or 3MB, when they are compressed. However, don't get
-carried away and type 'get ports.tar.gz' unless you are prepared to
-download the distfiles directory as well - this contains the source
-code for every single port and will take a very long time to download!
-
-<sect><heading>Skeletons<label id="ports:skeleton"></heading>
-<p>
-A team of compulsive hackers who have forgotten to eat in a frantic
-attempt to make a deadline? Something unpleasant lurking in the FreeBSD
-attic? No, a skeleton here is a minimal framework that supplies everything
-needed to make the ports magic work.
-
-<sect1><heading>Makefile<label id="ports:makefile"></heading>
-<p>
-The most important component of a skeleton is the Makefile. This contains
-various statements that specify how the port should be compiled and
-installed. Here is the Makefile for bash:-
-
-<verb>
- # New ports collection makefile for: bash
- # Version required: 1.14.5
- # Date created: 21 August 1994
- # Whom: jkh
- #
- # Makefile,v 1.13 1995/10/04 14:45:01 asami Exp
- #
-
- DISTNAME= bash-1.14.5
- CATEGORIES= shells
- MASTER_SITES= ftp://slc2.ins.cwru.edu/pub/dist/
-
- MAINTAINER= ache@FreeBSD.ORG
-
- post-install:
- .if !defined(NOMANCOMPRESS)
- gzip -9nf ${PREFIX}/man/man1/bash.1 ${PREFIX}/man/man1/bash_builtins.1
- .endif
-
- .include &lt;bsd.port.mk>
-</verb>
-
-The lines beginning with a &quot;#&quot; sign are comments for the benefit
-of human readers (as in most Unix script files).
-<p>
-`DISTNAME&quot; specifies the name of the <ref id="ports:tarball"
-name="tarball">, but without the extension.
-<p>
-`CATEGORIES&quot; states what kind of program this is.
-<p>
-`MASTER_SITES&quot; is the URL(s) of the master FTP site, which is
-used to retrieve the <ref id="ports:tarball" name="tarball"> if it is not
-available on the local system. This is a site which is regarded as
-reputable, and is normally the one from which the program is officially
-distributed (in so far as any software is &quot;officially&quot; distributed
-on the Internet).
-<p>
-`MAINTAINER&quot; is the email address of the person who is
-responsible for updating the skeleton if, for example a new version
-of the program comes out. (Note: The title of &quot;maintainer&quot;
-is mainly an administrative one; it does <em /not/ mean the person
-concerned is responsible for supporting the program. If you have any
-<ref id="ports:kaput" name="problems with a port,"> please mail
-&a.ports; and <em /not/ the maintainer. Thank you!)
-<p>
-Skipping over the next few lines for a minute, the line
-<verb>
- .include <bsd.port.mk>
-</verb>
-says that the other statements and commands
-needed for this port are in a standard file called
-`bsd.port.mk&quot;. As these are the same for all ports, there is
-no point in duplicating them all over the place, so they are kept in a
-single standard file.
-<p>
-This is probably not the place to go into a detailed examination of
-how Makefiles work; suffice it to say that the lines starting with
-`post-install&quot; over-ride the instructions in bsd.port.mk
-about what to do after installing the program, so that the man pages
-can be compressed after they have been put in their final destination.
-
-<sect1><heading>The files directory</heading>
-<p>
-The file containing the <ref id="ports:checksum" name="checksum"> for
-the port is called &quot;md5&quot;, after the MD5 algorithm
-used for ports checksums. It lives in a directory with the slightly
-confusing name of &quot;files&quot;.
-<p>
-This directory can also contain other miscellaneous files that are required
-by the port and do not belong anywhere else.
-
-<sect1><heading>The patches directory</heading>
-<p>
-This directory contains the <ref id="ports:patch" name="patches"> needed
-to make everything work properly under FreeBSD.
-
-<sect1><heading>The pkg directory</heading>
-<p>
-This program contains three quite useful files:-
-
-<itemize>
-<item>
-COMMENT - a one-line description of the program.
-
-<item>
-DESCR - a more detailed description.
-
-<item>
-PLIST - a list of all the files that will be created when the program is installed.
-</itemize>
-
-<sect><heading>It does not work?!<label id="ports:kaput"></heading>
-
-<p>Oh. You can do one of four (4) things :
-
-<enum>
-<item> Fix it yourself. Technical details can be found in
- <ref id="porting" name="Porting applications.">
-<item> Gripe. This is done by e-mail *ONLY*! The people at Walnut Creek are
- in no way responsible for the functionality (or lack thereof) of the
- FreeBSD system as a whole, and especially the ports system, which
- is mainly contributed by 3rd parties. (If you do not believe me, check
- the catalogue, especially the line saying "We cannot offer tech-support
- on this product")
-
- The e-mail address is the &a.ports;. Please include
- details of the port, where you got both the port source &amp;
- distfile(s) from, and what the error was.
-
- Note: At time of writing, lang/Sather does not seem to work on Pentium
- machines due to the Intel Curse (aka the Floating Point Division Bug).
- Please do not tell us about this - gripe to Intel instead - it is their
- bug!
-
-<item> Forget it. This is the easiest for most - very few of the programs in
- ports can be classified as `essential'!
-
-<item> Grab the pre-compiled package from a ftp server. The ``master'' package
- collection is on FreeBSD's FTP server in the <htmlurl
- url="ftp://ftp.FreeBSD.org/pub/FreeBSD/packages/"
-name="packages directory.">
-
- though check your local mirror first, please!
-
- These are more likely to work (on the whole) than trying to compile from
- source, and a lot faster! Use the <tt>pkg_add(1)</tt>
-dddprogram to install them to your system.
-
-</enum>
-
-<sect><heading>I have this program that I would like to make into a port...</heading>
-
-<p>Great! Please see the <ref id="porting:starting" name="guidelines">
-for detailed instructions on how to do this.
-
-<sect><heading>Some Questions and Answers</heading>
-<p>
-<itemize>
-<item>
-Q. I thought this was going to be a discussion about modems??!
-<p>
-A. Ah. You must be thinking of the serial ports on the back of your
-computer. We are using `port' here to mean the result of `porting' a
-program from one version of Unix to another. (It is an unfortunate bad
-habit of computer people to use the same word to refer to several
-completely different things).
-
-<item>
-Q. I thought you were supposed to use packages to install extra
-programs?
-<p>
-A. Yes, that is usually the quickest and easiest way of doing it.
-
-<item>
-Q. So why bother with ports then?
-<p>
-A. Several reasons:-
-
-<enum>
-<item> The licensing conditions on some software distributions
-require that they be distributed as source code, not binaries.
-
-<item> Some people do not trust binary distributions. At least with
-source code you can (in theory) read through it and look for potential
-problems yourself.
-
-<item> If you have some local patches, you will need the source to add
-them yourself.
-
-<item> You might have opinions on how a program should be compiled
-that differ from the person who did the package - some people have
-strong views on what optimisation setting should be used, whether to
-build debug versions and then strip them or not, etc. etc.
-
-<item> Some people like having code around, so they can read it if
-they get bored, hack around with it, borrow from it (licence terms
-permitting, of course!) and so on.
-
-<item> If you ain't got the source, it ain't software! ;-)
-</enum>
-
-<item><label id="ports:patch">
-Q. What is a patch?
-<p>
-A. A patch is a small (usually) file that specifies how to go from one
-version of a file to another. It contains text that says, in effect,
-things like ``delete line 23'', ``add these two lines after line 468''
-or ``change line 197 to this''. Also known as a `diff', since it is
-generated by a program of that name.
-
-<item><label id="ports:tarball">
-Q. What is all this about tarballs?
-<p>
-A. It is a file ending in .tar.gz (with variations like .tar.Z, or
-even .tgz if you are trying to squeeze the names into a DOS filesystem).
-<p>
-Basically, it is a directory tree that has been archived into a single
-file (.tar) and then compressed (.gz). This technique was originally
-used for <em /T/ape <em /AR/chives (hence the name `tar'), but it is a
-widely used way of distributing program source code around the
-Internet.
-<p>
-You can see what files are in them, or even extract them yourself, by
-using the standard Unix tar program, which comes with the base FreeBSD
-system, like this:-
-
-<verb>
- tar tvzf foobar.tar.gz # View contents of foobar.tar.gz
- tar xzvf foobar.tar.gz # Extract contents into the current directory
-</verb>
-
-<item><label id="ports:checksum">
-Q. And a checksum?
-<p>
-A. It is a number generated by adding up all the data in the file you
-want to check. If any of the characters change, the checksum will no
-longer be equal to the total, so a simple comparison will allow you to
-spot the difference. (In practice, it is done in a more complicated way
-to spot problems like position-swapping, which will not show up with a
-simplistic addition).
-
-<item>
-Q. I did what you said for <ref id="ports:cd" name="compiling ports
-from a CDROM"> and it worked great until I tried to install the kermit
-port:-
-
-<verb>
- # make install
- >> cku190.tar.gz doesn't seem to exist on this system.
- >> Attempting to fetch from ftp://kermit.columbia.edu/kermit/archives/.
-</verb>
-
-Why can it not be found? Have I got a dud CDROM?
-<p>
-A. The licensing terms for kermit do not allow us to put the tarball
-for it on the CDROM, so you will have to fetch it by hand - sorry!
-The reason why you got all those error messages was because you
-were not connected to the Internet at the time. Once you have downloaded
-it from any of the sites above, you can re-start the process (try and
-choose the nearest site to you, though, to save your time and the
-Internet's bandwidth).
-
-<item>
-Q. I did that, but when I tried to put it into /usr/ports/distfiles I
-got some error about not having permission.
-<p>
-A. The ports mechanism looks for the tarball in /usr/ports/distfiles,
-but you will not be able to copy anything there because it is sym-linked
-to the CDROM, which is read-only. You can tell it to look somewhere
-else by doing
-
-<verb>
- DISTDIR=/where/you/put/it make install
-</verb>
-
-<item>
-Q. Does the ports scheme only work if you have everything in
-/usr/ports? My system administrator says I must put everything under
-/u/people/guests/wurzburger, but it does not seem to work.
-<p>
-A. You can use the PORTSDIR and PREFIX variables to tell the ports
-mechanism to use different directories. For instance,
-
-<verb>
- PORTSDIR=/u/people/guests/wurzburger/ports make install
-</verb>
-
-will compile the port in /u/people/guests/wurzburger/ports and install
-everything under /usr/local.
-
-<verb>
- PREFIX=/u/people/guests/wurzburger/local make install
-</verb>
-
-will compile it in /usr/ports and install it in
-/u/people/guests/wurzburger/local.
-
-And of course
-
-<verb>
- PORTSDIR=.../ports PREFIX=.../local make install
-</verb>
-
-will combine the two (it is too long to fit on the page if I write it
-in full, but I am sure you get the idea).
-<p>
-If you do not fancy typing all that in every time you install a port
-(and to be honest, who would?), it is a good idea to put these variables
-into your environment.
-
-<item>
-Q. I do not have a FreeBSD CDROM, but I would like to have all the tarballs
-handy on my system so I do not have to wait for a download every time I
-install a port. Is there an easy way to get them all at once?
-<p>
-A. To get every single tarball for the ports collection, do
-
-<verb>
- # cd /usr/ports
- # make fetch
-</verb>
-
-For all the tarballs for a single ports directory, do
-
-<verb>
- # cd /usr/ports/directory
- # make fetch
-</verb>
-
-and for just one port - well, I think you have guessed already.
-
-<item>
-Q. I know it is probably faster to fetch the tarballs from one of the
-FreeBSD mirror sites close by. Is there any way to tell the port to
-fetch them from servers other than ones listed in the MASTER_SITES?
-<p>
-A. Yes. If you know, for example, ftp.FreeBSD.ORG is much closer than
-sites listed in MASTER_SITES, do as following example.
-<verb>
- # cd /usr/ports/directory
- # make MASTER_SITE_OVERRIDE=ftp://ftp.FreeBSD.ORG/pub/FreeBSD/distfiles/ fetch
-</verb>
-
-<item>
-Q. I want to know what files make is going to need before it tries to
-pull them down.
-<p>
-A. 'make fetch-list' will display a list of the files needed for a port.
-
-<item>
-Q. Is there any way to stop the port from compiling? I want to do some
-hacking on the source before I install it, but it is a bit tiresome having
-to watch it and hit control-C every time.
-<p>
-A. Doing 'make extract' will stop it after it has fetched and
-extracted the source code.
-
-<item>
-Q. I am trying to make my own port and I want to be able to stop it
-compiling until I have had a chance to see if my patches worked properly.
-Is there something like 'make extract', but for patches?
-<p>
-A. Yep, 'make patch' is what you want. And by the way, thank you for
-your efforts!
-
-<item>
-Q. I have heard that some compiler options can cause bugs. Is this true?
-How can I make sure that I compile ports with the right settings?
-<p>
-A. Yes, with version 2.6.3 of gcc (the version shipped with FreeBSD
-2.1.0 and 2.1.5), the -O2 option could result in buggy code unless you
-used the -fno-strength-reduce option as well. (Most of the ports don't
-use -O2). You <em /should/ be able to specify the compiler options
-used by something like
-
-<verb>
- # CFLAGS='-O2 -fno-strength-reduce' make install
-</verb>
-
-or by editing /etc/make.conf, but this does not always seem to get
-picked up. The surest way is to do 'make configure', then go into the
-source directory and inspect the Makefiles by hand, but this can get
-tedious if the source has lots of sub-directories, each with their own
-Makefiles.
-
-<item>
-Q. There are so many ports it is hard to find the one I want. Is there a
-list anywhere of what ports are available?
-<p>
-A. Look in the INDEX file in /usr/ports.
-
-<item>
-Q. I went to install the 'foo' port but the system suddenly stopped
-and starting compiling the 'bar' port. What's going on?
-<p>
-A. The 'foo' port needs something that is supplied with 'bar' - for
-instance, if 'foo' uses graphics, 'bar' might have a library with
-useful graphics processing routines. Or 'bar' might be a tool that is
-needed to compile the 'foo' port.
-
-<item><label id="ports:remove">
-Q. I installed the grizzle program from the ports and frankly it is a
-complete waste of disk space. I want to delete it but I do not know
-where it put all the files. Any clues?
-<p>
-A. No problem, just do
-
-<verb>
- pkg_delete grizzle-6.5
-</verb>
-<item>
-
-Q. Hang on a minute, you have to know the version number to use that
-command. You do not seriously expect me to remember that, do you??
-<p>
-A. Not at all, you can find it out by doing
-
-<verb>
- pkg_info -a | grep grizzle
-</verb>
-
-And it will tell you:-
-
-<verb>
- Information for grizzle-6.5:
- grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arcade game.
-</verb>
-
-<item>
-Q. Talking of disk space, the ports directory seems to be taking up
-an awful lot of room. Is it safe to go in there and delete things?
-<p>
-A. Yes, if you have installed the program and are fairly certain you
-will not need the source again, there is no point in keeping it hanging
-around. The best way to do this is
-
-<verb>
- # cd /usr/ports
- # make clean
-</verb>
-
-which will go through all the ports subdirectories and delete
-everything except the skeletons for each port.
-<item>
-Q. I tried that and it still left all those tarballs or whatever you
-called them in the distfiles directory. Can I delete those as well?
-<p>
-A. Yes, if you are sure you have finished with them, those can go as
-well.
-
-<item>
-Q. I like having lots and lots of programs to play with. Is there any
-way of installing all the ports in one go?
-<p>
-A. Just do
-
-<verb>
- # cd /usr/ports
- # make install
-</verb>
-
-<item>
-Q. OK, I tried that, but I thought it would take a very long time so I
-went to bed and left it to get on with it. When I looked at the
-computer this morning, it had only done three and a half ports. Did
-something go wrong?
-<p>
-A. No, the problem is that some of the ports need to ask you questions
-that we can not answer for you (eg ``Do you want to print on A4 or US
-letter sized paper?'') and they need to have someone on hand to answer
-them.
-
-<item>
-Q. I really do not want to spend all day staring at the monitor. Any
-better ideas?
-<p>
-A. OK, do this before you go to bed/work/the local park:-
-
-<verb>
- # cd /usr/ports
- # make -DBATCH install
-</verb>
-
-This will install every port that does <em /not/ require user
-input. Then, when you come back, do
-
-<verb>
- # cd /usr/ports
- # make -DIS_INTERACTIVE install
-</verb>
-
-to finish the job.
-
-<item>
-Q. At work, we are using frobble, which is in your ports collection,
-but we have altered it quite a bit to get it to do what we need. Is
-there any way of making our own packages, so we can distribute it more
-easily around our sites?
-<p>
-A. No problem, assuming you know how to make patches for your changes:-
-
-<verb>
- # cd /usr/ports/somewhere/frobble
- # make extract
- # cd work/frobble-2.8
- [Apply your patches]
- # cd ../..
- # make package
-</verb>
-
-<item>
-Q. This ports stuff is really clever. I am desperate to find out how
-you did it. What is the secret?
-<p>
-A. Nothing secret about it at all, just look at the bsd.ports.mk and
-bsd.ports.subdir.mk files in your <htmlurl
-url="file://localhost/usr/share/mk/" name="makefiles directory.">
-(Note: readers with an aversion to intricate shell-scripts are advised
-not to follow this link...)
-</itemize>
diff --git a/share/doc/handbook/ppp.sgml b/share/doc/handbook/ppp.sgml
deleted file mode 100644
index 958fe88..0000000
--- a/share/doc/handbook/ppp.sgml
+++ /dev/null
@@ -1,427 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect><heading>Setting up kernel PPP<label id="ppp"></heading>
-
-<p><em>Contributed by &a.gena;.</em>
-
-Before you start setting up PPP on your machine make
-sure that pppd is located in /usr/sbin and directory /etc/ppp
-exists.
-
-pppd can work in two modes:
-<enum>
-<item> as a "client" , i.e. you want to connect your machine to outside
-world via PPP serial connection or modem line.
-
-<item> as a "server" , i.e. your machine is located on the network and
-used to connect other computers using PPP.
-</enum>
-In both cases you will need to set up an options file (<tt>/etc/ppp/options</tt>
-or <tt>~/.ppprc</tt> if you have more then one user on your machine that uses
-PPP).
-
-You also will need some modem/serial software ( preferably kermit )
-so you can dial and establish connection with remote host.
-
-<sect1><heading>Working as a PPP client</heading>
-
-<p>I used the following <tt>/etc/ppp/options</tt> to connect to CISCO terminal
-server PPP line.
-<verb>
-crtscts # enable hardware flow control
-modem # modem control line
-noipdefault # remote PPP server must supply your IP address.
- # if the remote host doesn't send your IP during IPCP
- # negotiation , remove this option
-passive # wait for LCP packets
-domain ppp.foo.com # put your domain name here
-
-:<remote_ip> # put the IP of remote PPP host here
- # it will be used to route packets via PPP link
- # if you didn't specified the noipdefault option
- # change this line to <local_ip>:<remote_ip>
-
-defaultroute # put this if you want that PPP server will be your
- # default router
-</verb>
-
-To connect:
-<enum>
-<item> Dial to the remote host using kermit ( or other modem program )
-enter your user name and password ( or whatever is needed to enable PPP
-on the remote host )
-
-<item> Exit kermit. ( without hanging up the line )
-
-<item> enter:
-<verb>
-/usr/src/usr.sbin/pppd.new/pppd /dev/tty01 19200
-</verb>
-( put the appropriate speed and device name )
-</enum>
-
-Now your computer is connected with PPP. If the connection fails for some
-reasons you can add the "debug" option to the <tt>/etc/ppp/options</tt> file
-and check messages on the console to track the problem
-
-Following <tt>/etc/ppp/pppup</tt> script will make all 3 stages automatically:
-<verb>
-#!/bin/sh
-ps ax |grep pppd |grep -v grep
-pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing pppd, PID=' ${pid}
- kill ${pid}
-fi
-ps ax |grep kermit |grep -v grep
-pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing kermit, PID=' ${pid}
- kill -9 ${pid}
-fi
-
-ifconfig ppp0 down
-ifconfig ppp0 delete
-
-kermit -y /etc/ppp/kermit.dial
-pppd /dev/tty01 19200
-</verb>
-
-<tt>/etc/ppp/kermit.dial</tt> is kermit script that dials and makes all
-necessary authorization on the remote host.
-( Example of such script is attached to the end of this document )
-
-Use the following <tt>/etc/ppp/pppdown</tt> script to disconnect the PPP line:
-<verb>
-#!/bin/sh
-pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
-if [ X${pid} != "X" ] ; then
- echo 'killing pppd, PID=' ${pid}
- kill -TERM ${pid}
-fi
-
-ps ax |grep kermit |grep -v grep
-pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing kermit, PID=' ${pid}
- kill -9 ${pid}
-fi
-
-/sbin/ifconfig ppp0 down
-/sbin/ifconfig ppp0 delete
-kermit -y /etc/ppp/kermit.hup
-/etc/ppp/ppptest
-</verb>
-
-Check if PPP is still running (<tt>/usr/etc/ppp/ppptest</tt>):
-<verb>
-#!/bin/sh
-pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'`
-if [ X${pid} != "X" ] ; then
- echo 'pppd running: PID=' ${pid-NONE}
-else
- echo 'No pppd running.'
-fi
-set -x
-netstat -n -I ppp0
-ifconfig ppp0
-</verb>
-
-Hangs up modem line (<tt>/etc/ppp/kermit.hup</tt>):
-<verb>
-set line /dev/tty01 ; put your modem device here
-set speed 19200
-set file type binary
-set file names literal
-set win 8
-set rec pack 1024
-set send pack 1024
-set block 3
-set term bytesize 8
-set command bytesize 8
-set flow none
-
-pau 1
-out +++
-inp 5 OK
-out ATH0\13
-echo \13
-exit
-</verb>
-
-
-<p>Here is an alternate method using <tt>chat</tt> instead of
-<tt>kermit</tt>.
-
-<em>Contributed by &a.rhuff;.</em>
-
-<p>The following two files are sufficient to accomplish a pppd
-connection.
-
-<p><tt>/etc/ppp/options</tt>:
-<verb>
- /dev/cuaa1 115200
-
-crtscts # enable hardware flow control
-modem # modem control line
-connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
-noipdefault # remote PPP server must supply your IP address.
- # if the remote host doesn't send your IP during
- # IPCP negotiation, remove this option
-passive # wait for LCP packets
-domain <your.domain> # put your domain name here
-
-: # put the IP of remote PPP host here
- # it will be used to route packets via PPP link
- # if you didn't specified the noipdefault option
- # change this line to <local_ip>:<remote_ip>
-
-defaultroute # put this if you want that PPP server will be
- # your default router
-</verb>
-
-
-<p><tt>/etc/ppp/login.chat.script</tt>:
-
-(This should actually go into a single line.)
-
-<verb>
-ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number>
- CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <login-id>
- TIMEOUT 5 sword: <password>
-</verb>
-
-
-Once these are installed and modified correctly, all you need to
-do is
-
-<p><tt>pppd</tt>.
-
-
-<em> This sample based primarily on information provided by: Trev Roydhouse
-&lt;Trev.Roydhouse@f401.n711.z3.fidonet.org&gt; and used by
-permission.</em>
-
-
-<sect1><heading>Working as a PPP server</heading>
-
-<p><tt>/etc/ppp/options</tt>:
-<verb>
-crtscts # Hardware flow control
-netmask 255.255.255.0 # netmask ( not required )
-192.114.208.20:192.114.208.165 # ip's of local and remote hosts
- # local ip must be different from one
- # you assigned to the ethernet ( or other )
- # interface on your machine.
- # remote IP is ip address that will be
- # assigned to the remote machine
-domain ppp.foo.com # your domain
-passive # wait for LCP
-modem # modem line
-</verb>
-
-Following <tt>/etc/ppp/pppserv</tt> script will enable ppp server on your
-machine
-<verb>
-#!/bin/sh
-ps ax |grep pppd |grep -v grep
-pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing pppd, PID=' ${pid}
- kill ${pid}
-fi
-ps ax |grep kermit |grep -v grep
-pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing kermit, PID=' ${pid}
- kill -9 ${pid}
-fi
-
-# reset ppp interface
-ifconfig ppp0 down
-ifconfig ppp0 delete
-
-# enable autoanswer mode
-kermit -y /etc/ppp/kermit.ans
-
-# run ppp
-pppd /dev/tty01 19200
-</verb>
-
-Use this <tt>/etc/ppp/pppservdown</tt> script to stop ppp server:
-<verb>
-#!/bin/sh
-ps ax |grep pppd |grep -v grep
-pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing pppd, PID=' ${pid}
- kill ${pid}
-fi
-ps ax |grep kermit |grep -v grep
-pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing kermit, PID=' ${pid}
- kill -9 ${pid}
-fi
-ifconfig ppp0 down
-ifconfig ppp0 delete
-
-kermit -y /etc/ppp/kermit.noans
-</verb>
-
-Following kermit script will enable/disable autoanswer mode
-on your modem (<tt>/etc/ppp/kermit.ans</tt>):
-<verb>
-set line /dev/tty01
-set speed 19200
-set file type binary
-set file names literal
-set win 8
-set rec pack 1024
-set send pack 1024
-set block 3
-set term bytesize 8
-set command bytesize 8
-set flow none
-
-pau 1
-out +++
-inp 5 OK
-out ATH0\13
-inp 5 OK
-echo \13
-out ATS0=1\13 ; change this to out ATS0=0\13 if you want to disable
- ; autoanswer mod
-inp 5 OK
-echo \13
-exit
-</verb>
-
-This <tt>/etc/ppp/kermit.dial</tt> script is used for dialing and authorizing
-on remote host. You will need to customize it for your needs.
-Put your login and password in this script , also you will need
-to change input statement depending on responses from your modem
-and remote host.
-<verb>
-;
-; put the com line attached to the modem here:
-;
-set line /dev/tty01
-;
-; put the modem speed here:
-;
-set speed 19200
-set file type binary ; full 8 bit file xfer
-set file names literal
-set win 8
-set rec pack 1024
-set send pack 1024
-set block 3
-set term bytesize 8
-set command bytesize 8
-set flow none
-set modem hayes
-set dial hangup off
-set carrier auto ; Then SET CARRIER if necessary,
-set dial display on ; Then SET DIAL if necessary,
-set input echo on
-set input timeout proceed
-set input case ignore
-def \%x 0 ; login prompt counter
-goto slhup
-
-:slcmd ; put the modem in command mode
-echo Put the modem in command mode.
-clear ; Clear unread characters from input buffer
-pause 1
-output +++ ; hayes escape sequence
-input 1 OK\13\10 ; wait for OK
-if success goto slhup
-output \13
-pause 1
-output at\13
-input 1 OK\13\10
-if fail goto slcmd ; if modem doesn't answer OK, try again
-
-:slhup ; hang up the phone
-clear ; Clear unread characters from input buffer
-pause 1
-echo Hanging up the phone.
-output ath0\13 ; hayes command for on hook
-input 2 OK\13\10
-if fail goto slcmd ; if no OK answer, put modem in command mode
-
-:sldial ; dial the number
-pause 1
-echo Dialing.
-output atdt9,550311\13\10 ; put phone number here
-assign \%x 0 ; zero the time counter
-
-:look
-clear ; Clear unread characters from input buffer
-increment \%x ; Count the seconds
-input 1 {CONNECT }
-if success goto sllogin
-reinput 1 {NO CARRIER\13\10}
-if success goto sldial
-reinput 1 {NO DIALTONE\13\10}
-if success goto slnodial
-reinput 1 {\255}
-if success goto slhup
-reinput 1 {\127}
-if success goto slhup
-if < \%x 60 goto look
-else goto slhup
-
-:sllogin ; login
-assign \%x 0 ; zero the time counter
-pause 1
-echo Looking for login prompt.
-
-:slloop
-increment \%x ; Count the seconds
-clear ; Clear unread characters from input buffer
-output \13
-;
-; put your expected login prompt here:
-;
-input 1 {Username: }
-if success goto sluid
-reinput 1 {\255}
-if success goto slhup
-reinput 1 {\127}
-if success goto slhup
-if < \%x 10 goto slloop ; try 10 times to get a login prompt
-else goto slhup ; hang up and start again if 10 failures
-
-:sluid
-;
-; put your userid here:
-;
-output ppp-login\13
-input 1 {Password: }
-;
-; put your password here:
-;
-output ppp-password\13
-input 1 {Entering SLIP mode.}
-echo
-quit
-
-:slnodial
-echo \7No dialtone. Check the telephone line!\7
-exit 1
-
-; local variables:
-; mode: csh
-; comment-start: "; "
-; comment-start-skip: "; "
-; end:
-</verb>
-
-<!--
-###################################################################
-Gennady B. Sorokopud ( gena@NetVision.net.il ) 24/10/94 12:00
--->
-
diff --git a/share/doc/handbook/printing.sgml b/share/doc/handbook/printing.sgml
deleted file mode 100644
index 4dfda87..0000000
--- a/share/doc/handbook/printing.sgml
+++ /dev/null
@@ -1,3876 +0,0 @@
-<!-- This is an SGML document in the linuxdoc DTD describing
- Printing with FreeBSD. By Sean Kelly, 1995.
-
- $Id$
-
- The FreeBSD Documentation Project
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-
- <article>
- <title> Printing with FreeBSD
- <author> Sean Kelly <tt/kelly@fsl.noaa.gov/
- <date> 30 September 1995, (c) 1995
-
- <abstract> This document describes printing with FreeBSD. It
- tells how to set up printer hardware, how to configure FreeBSD
- to use printers, and how to control the print queue and print
- a variety of file formats. </abstract>
-
- <toc>
--->
-
- <chapt><heading>Printing<label id="printing"></heading>
-
- <p><em>Contributed by &a.kelly;<newline>30 September 1995</em>
-
- In order to use printers with FreeBSD, you will need to set
- them up to work with the Berkeley line printer spooling
- system, also known as the LPD spooling system. It is the
- standard printer control system in FreeBSD. This section
- introduces the LPD spooling system, often simply called LPD.
-
- If you are already familiar with LPD or another printer
- spooling system, you may wish to skip to section <ref
- id="printing:intro:setup" name="Setting up the spooling
- system">.
-
- <sect><heading>What the Spooler Does<label
- id="printing:intro:spooler"></heading>
-
- <p> LPD controls everything about a host's printers. It is
- responsible for a number of things:
-
- <itemize>
- <item>It controls access to attached printers and
- printers attached to other hosts on the network.
-
- <item>It enables users to submit files to be printed;
- these submissions are known as <em/jobs/.
-
- <item>It prevents multiple users from accessing a printer
- at the same time by maintaining a <em/queue/ for each
- printer.
-
- <item>It can print <em/header pages/ (also known as
- <em/banner/ or <em/burst/ pages) so users can easily
- find jobs they have printed in a stack of printouts.
-
- <item>It takes care of communications parameters for
- printers connected on serial ports.
-
- <item>It can send jobs over the network to another LPD
- spooler on another host.
-
- <item>It can run special filters to format jobs to be
- printed for various printer languages or printer
- capabilities.
-
- <item>It can account for printer usage.
- </itemize>
-
- Through a configuration file, and by providing the special
- filter programs, you can enable the LPD system to do all or
- some subset of the above for a great variety of printer
- hardware.
-
- <sect><heading>Why You Should Use the Spooler<label
- id="printing:intro:why"></heading>
-
- <p> If you are the sole user of your system, you may be
- wondering why you should bother with the spooler when you
- do not need access control, header pages, or printer
- accounting. While it is possible to enable direct access to
- a printer, you should use the spooler anyway since
-
- <itemize>
- <item>LPD prints jobs in the background; you do not have
- to wait for data to be copied to the printer.
-
- <item>LPD can conveniently run a job to be printed
- through filters to add date/time headers or convert a
- special file format (such as a TeX DVI file) into a
- format the printer will understand. You will not have to do
- these steps manually.
-
- <item>Many free and commercial programs that provide a
- print feature usually expect to talk to the spooler on
- your system. By setting up the spooling system, you will
- more easily support other software you may later add or
- already have.
- </itemize>
-
- <sect><heading>Setting Up the Spooling System<label
- id="printing:intro:setup"></heading>
-
- <p> To use printers with the LPD spooling system, you will need
- to set up both your printer hardware and the LPD software.
- This document describes two levels of setup:
-
- <itemize>
- <item>See section <ref name="Simple Printer Setup"
- id="printing:simple"> to learn how to connect a
- printer, tell LPD how to communicate with it, and
- print plain text files to the printer.
-
- <item>See section <ref name="Advanced Printer Setup"
- id="printing:advanced"> to find out how to print a
- variety of special file formats, to print header
- pages, to print across a network, to control access to
- printers, and to do printer accounting.
- </itemize>
-
-
- <sect><heading>Simple Printer Setup<label
- id="printing:simple"></heading>
-
- <p> This section tells how to configure printer hardware and the
- LPD software to use the printer. It teaches the basics:
-
- <itemize>
- <item>Section <ref id="printing:hardware" name="Hardware
- Setup"> gives some hints on connecting the printer to a
- port on your computer.
-
- <item>Section <ref id="printing:software" name="Software
- Setup"> shows how to setup the LPD spooler configuration
- file <tt>/etc/printcap</tt>.
- </itemize>
-
- If you are setting up a printer that uses a network protocol
- to accept data to print instead of a serial or parallel interface,
- see <ref id="printing:advanced:network:net-if" name="Printers
- With Networked Data Stream Interaces">.
-
- Although this section is called ``Simple Printer Setup,'' it is
- actually fairly complex. Getting the printer to work with
- your computer and the LPD spooler is the hardest part. The
- advanced options like header pages and accounting are fairly
- easy once you get the printer working.
-
- <sect1><heading>Hardware Setup<label id="printing:hardware"></heading>
-
- <p> This section tells about the various ways you can connect a
- printer to your PC. It talks about the kinds of ports and
- cables, and also the kernel configuration you may need to
- enable FreeBSD to speak to the printer.
-
- If you have already connected your printer and have
- successfully printed with it under another operating system,
- you can probably skip to section <ref id="printing:software"
- name="Software Setup">.
-
- <sect2><heading>Ports and Cables<label
- id="printing:ports"></heading>
-
- <p> Nearly all printers you can get for a PC today support
- one or both of the following interfaces:
-
- <itemize>
- <item><em/Serial/ interfaces use a serial port on your
- computer to send data to the printer. Serial
- interfaces are common in the computer industry and
- cables are readily available and also easy to
- construct. Serial interfaces sometimes need special
- cables and might require you to configure somewhat
- complex communications options.
-
- <item><em/Parallel/ interfaces use a parallel port on
- your computer to send data to the printer. Parallel
- interfaces are common in the PC market. Cables are
- readily available but more difficult to construct by
- hand. There are usually no communications options
- with parallel interfaces, making their configuration
- exceedingly simple.
-
- <p> Parallel interfaces are sometimes known as
- ``Centronics'' interfaces, named after the connector
- type on the printer.
- </itemize>
-
- In general, serial interfaces are slower than parallel
- interfaces. Parallel interfaces usually offer just
- one-way communication (computer to printer) while serial
- gives you two-way. Many newer parallel ports can also
- receive data from the printer, but only few printers need
- to send data back to the computer. And FreeBSD does not
- support two-way parallel communication yet.
-
- Usually, the only time you need two-way communication with
- the printer is if the printer speaks PostScript.
- PostScript printers can be very verbose. In fact,
- PostScript jobs are actually programs sent to the printer;
- they need not produce paper at all and may return results
- directly to the computer. PostScript also uses
- two-way communication to tell the computer about problems,
- such as errors in the PostScript program or paper jams.
- Your users may be appreciative of such information.
- Furthermore, the best way to do effective accounting with
- a PostScript printer requires two-way communication: you
- ask the printer for its page count (how many pages it has
- printed in its lifetime), then send the user's job, then
- ask again for its page count. Subtract the two values and
- you know how much paper to charge the user.
-
- So, which interface should you use?
-
- <itemize>
- <item>If you need two-way communication, use a serial
- port. FreeBSD does not yet support two-way
- communication over a parallel port.
-
- <item>If you do not need two-way communication and can
- pick parallel or serial, prefer the parallel
- interface. It keeps a serial port free for other
- peripherals---such as a terminal or a modem---and is
- faster most of the time. It is also easier to
- configure.
-
- <item>Finally, use whatever works.
- </itemize>
-
-
- <sect2><heading>Parallel Ports<label id="printing:parallel"></heading>
-
- <p> To hook up a printer using a parallel interface, connect
- the Centronics cable between the printer and the
- computer. The instructions that came with the printer, the
- computer, or both should give you complete guidance.
-
- Remember which parallel port you used on the computer. The
- first parallel port is /dev/lpt0 to FreeBSD; the second is
- /dev/lpt1, and so on.
-
- <sect2><heading>Serial Ports<label id="printing:serial"></heading>
-
- <p> To hook up a printer using a serial interface, connect
- the proper serial cable between the printer and the
- computer. The instructions that came with the printer,
- the computer, or both should give you complete guidance.
-
- If you are unsure what the ``proper serial cable'' is, you
- may wish to try one of the following alternatives:
- <itemize>
- <item>A <em/modem/ cable connects each pin of the
- connector on one end of the cable straight through to
- its corresponding pin of the connector on the other
- end. This type of cable is also known as a DTE-to-DCE
- cable.
-
- <item>A <em/null-modem/ cable connects some pins
- straight through, swaps others (send data to receive
- data, for example), and shorts some internally in each
- connector hood. This type of cable is also known as a
- DTE-to-DTE cable.
-
- <item>A <em/serial printer/ cable, required for some
- unusual printers, is like the null modem cable, but
- sends some signals to their counterparts instead of
- being internally shorted.
- </itemize>
-
- You should also set up the communications parameters for
- the printer, usually through front-panel controls or DIP
- switches on the printer. Choose the highest bps (bits per
- second, sometimes <em/baud rate/) rate that both your
- computer and the printer can support. Choose 7 or 8 data
- bits; none, even, or odd parity; and 1 or 2 stop bits.
- Also choose a flow control protocol: either none, or
- XON/XOFF (also known as <em/in-band/ or <em/software/)
- flow control. Remember these settings for the software
- configuration that follows.
-
- <sect1><heading>Software Setup<label id="printing:software"></heading>
-
- <p> This section describes the software setup necessary to
- print with the LPD spooling system in FreeBSD.
-
- Here is an outline of the steps involved:
- <enum>
- <item>Configure your kernel, if necessary, for the port
- you are using for the printer; section <ref
- id="printing:kernel" name="Kernel Configuration"> tells
- you what you need to do.
-
- <item>Set the communications mode for the parallel port,
- if you are using a parallel port; section <ref
- id="printing:parallel-port-mode" name = "Setting the
- Communication Mode for the Parallel Port"> gives
- details.
-
- <item>Test if the operating system can send data to the
- printer. Section <ref id="printing:testing"
- name="Checking Printer Communications"> gives some
- suggestions on how to do this.
-
- <item>Set up LPD for the printer by modifying the file
- <tt>/etc/printcap</tt>. Section <ref
- id="printing:printcap" name="The /etc/printcap File">
- shows you how.
- </enum>
-
- <sect2><heading>Kernel Configuration<label
- id="printing:kernel"></heading>
-
- <p> The operating system kernel is compiled to work with a
- specific set of devices. The serial or parallel interface
- for your printer is a part of that set. Therefore, it
- might be necessary to add support for an additional serial
- or parallel port if your kernel is not already configured
- for one.
-
- To find out if the kernel you are currently using supports a serial
- interface, type
-<tscreen>
-<tt>dmesg &verbar; grep sio</tt><it/N/
-</tscreen>
- where <it/N/ is the number of the serial port, starting
- from zero. If you see output similar to the following
-<tscreen><verb>
-sio2 at 0x3e8-0x3ef irq 5 on isa
-sio2: type 16550A
-</verb></tscreen>
- then the kernel supports the port.
-
- To find out if the kernel supports a parallel interface,
- type
-<tscreen>
-<tt>dmesg &verbar; grep lpt</tt><it/N/
-</tscreen>
- where <it/N/ is the number of the parallel port, starting
- from zero. If you see output similar to the following
-<tscreen><verb>
-lpt0 at 0x378-0x37f on isa
-</verb></tscreen>
- then the kernel supports the port.
-
- You might have to reconfigure your kernel in order for the
- operating system to recognize and use the parallel or
- serial port you are using for the printer.
-
- To add support for a serial port, see the section on
- kernel configuration. To add support for a parallel port,
- see that section <em/and/ the section that follows.
-
- <sect3><heading>Adding <tt>/dev</tt> Entries for the Ports
- <label id="printing:dev-ports"></heading>
-
- <p> Even though the kernel may support communication along
- a serial or parallel port, you will still need a software
- interface through which programs running on the system
- can send and receive data. That is what entries in the
- <tt>/dev</tt> directory are for.
-
- <bf>To add a <tt>/dev</tt> entry for a port:</bf>
- <enum>
- <item>Become root with the <tt/su/ command. Enter
- the root password when prompted.
-
- <item>Change to the <tt>/dev</tt> directory:
-<tscreen><verb>
-cd /dev
-</verb></tscreen>
-
- <item>Type
-<tscreen>
-<tt> ./MAKEDEV</tt> <it/port/
-</tscreen>
- where <it/port/ is the device entry for the port you
- want to make. Use <tt/lpt0/ for the first parallel
- port, <tt/lpt1/ for the second, and so on; use
- <tt/ttyd0/ for the first serial port, <tt/ttyd1/ for
- the second, and so on.
-
- <item>Type
-<tscreen>
-<tt>ls -l</tt> <it/port/
-</tscreen>
- to make sure the device entry got created.
- </enum>
-
- <sect3><heading>Setting the Communication Mode for the Parallel Port
- <label id="printing:parallel-port-mode"></heading>
-
- <p> When you are using the parallel interface, you can
- choose whether FreeBSD should use interrupt-driven or
- polled communication with the printer.
-
- <itemize>
- <item>The <em/interrupt-driven/ method is the default
- with the GENERIC kernel. With this method, the
- operating system uses an IRQ line to determine when
- the printer is ready for data.
-
- <item>The <em/polled/ method directs the operating
- system to repeatedly ask the printer if it is ready
- for more data. When it responds ready, the kernel
- sends more data.
- </itemize>
-
- The interrupt-driven method is somewhat faster but uses
- up a precious IRQ line. You should use whichever one
- works.
-
- You can set the communications mode in two ways: by
- configuring the kernel or by using the <tt/lptcontrol/
- program.
-
- <bf>To set the communications mode by configuring the
- kernel:</bf>
- <enum>
- <item>Edit your kernel configuration file. Look for
- or add an <tt/lpt0/ entry. If you are setting up the
- second parallel port, use <tt/lpt1/ instead. Use
- <tt/lpt2/ for the third port, and so on.
- <itemize>
- <item>If you want interrupt-driven mode, add the <tt/irq/
- specifier:
-<tscreen>
-<tt>device lpt0 at isa? port? tty irq <it/N/ vector lptintr</tt>
-</tscreen>
- where <it/N/ is the IRQ number for your
- computer's parallel port.
-
- <item>If you want polled mode, do not add the
- <tt/irq/ specifier:
-<tscreen>
-<tt>device lpt0 at isa? port? tty vector lptintr</tt>
-</tscreen>
- </itemize>
- <item>Save the file. Then configure, build, and
- install the kernel, then reboot. See <ref id="kernelconfig"
- name="kernel configuration"> for more details.
- </enum>
-
- <bf>To set the communications mode with
- <tt/lptcontrol/:</bf>
- <itemize>
- <item>
- Type
-<tscreen>
-<tt>lptcontrol -i -u <it/N/</tt>
-</tscreen>
- to set interrupt-driven mode for <tt/lpt<it/N//.
-
- <item>
- Type
-<tscreen>
-<tt>lptcontrol -p -u <it/N/</tt>
-</tscreen>
- to set polled-mode for <tt/lpt<it/N//.
- </itemize>
- You could put these commands in your
- <tt>/etc/rc.local</tt> file to set the mode each time
- your system boots. See lptcontrol(8) for more
- information.
-
- <sect3><heading>Checking Printer Communications<label
- id="printing:testing"></heading>
-
- <p> Before proceeding to configure the spooling system,
- you should make sure the operating system can
- successfully send data to your printer. It is a lot
- easier to debug printer communication and the spooling
- system separately.
-
- To test the printer, we will send some text to it. For
- printers that can immediately print characters sent to
- them, the program <tt/lptest/ is perfect: it generates
- all 96 printable ASCII characters in 96 lines.
-
- For a PostScript (or other language-based) printer,
- we will need a more sophisticated test. A small
- PostScript program, such as the following, will suffice:
-<code>
-%!PS
-100 100 moveto 300 300 lineto stroke
-310 310 moveto
-/Helvetica findfont 12 scalefont setfont
-(Is this thing working?) show
-showpage
-</code>
- <em/Note:/ When this document refers to a printer
- language, I am assuming a language like PostScript, and
- not Hewlett Packard's PCL. Although PCL has great
- functionality, you can intermingle plain text with its
- escape sequences. PostScript cannot directly print
- plain text, and that is the kind of printer language for
- which we must make special accommodations.
-
- <sect4><heading>Checking a Parallel Printer<label
- id="printing:checking:parallel"></heading>
-
- <p> This section tells you how to check if FreeBSD can
- communicate with a printer connected to a parallel port.
-
- <bf>To test a printer on a parallel port:</bf>
- <enum>
- <item>Become root with <tt/su/.
- <item>Send data to the printer.
- <itemize>
- <item>If the printer can print plain text, then
- use <tt/lptest/. Type:
-<tscreen>
-<tt>lptest > /dev/lpt<it/N/</tt>
-</tscreen>
- where <it/N/ is the number of the parallel
- port, starting from zero.
-
- <item>If the printer understands PostScript or
- other printer language, then send a small
- program to the printer. Type
-<tscreen>
-<tt>cat > /dev/lpt<it/N/</tt>
-</tscreen>
- Then, line by line, type the program
- <em/carefully/ as you cannot edit a line once
- you have pressed RETURN or ENTER. When you have
- finished entering the program, press
- CONTROL+D, or whatever your end of file key
- is.
-
- <p> Alternatively, you can put the program in
- a file and type
-<tscreen>
-<tt>cat <it/file/ > /dev/lpt<it/N/</tt>
-</tscreen>
- where <it/file/ is the name of the file
- containing the program you want to send to
- the printer.
- </itemize>
- </enum>
-
- You should see something print. Do not worry if the
- text does not look right; we will fix such things later.
-
- <sect4><heading>Checking a Serial Printer<label
- id="printing:checking:serial"></heading>
-
- <p> This section tells you how to check if FreeBSD can
- communicate with a printer on a serial port.
-
- <bf>To test a printer on a serial port:</bf>
- <enum>
- <item>Become root with <tt/su/.
-
- <item>Edit the file <tt>/etc/remote</tt>. Add the
- following entry:
-<tscreen>
-<tt>printer:dv=/dev/<it/port/:br&num;<it/bps-rate/:pa=<it/parity/</tt>
-</tscreen>
- where <it/port/ is the device entry for the serial
- port (<tt/ttyd0/, <tt/ttyd1/, etc.), <it/bps-rate/
- is the bits-per-second rate at which the printer
- communicates, and <it/parity/ is the parity
- required by the printer (either <tt/even/,
- <tt/odd/, <tt/none/, or <tt/zero/).
- <p>
- Here is a sample entry for a printer connected
- via a serial line to the third serial port at
- 19200 bps with no parity:
-<code>
-printer:dv=/dev/ttyd2:br#19200:pa=none
-</code>
-
- <item>Connect to the printer with <tt/tip/. Type:
-<tscreen><verb>
-tip printer
-</verb></tscreen>
- If this step does not work, edit the file
- <tt>/etc/remote</tt> again and try using
- <tt>/dev/cuaa<it/N/</tt> instead of
- <tt>/dev/ttyd<it/N/</tt>.
-
- <item>Send data to the printer.
- <itemize>
- <item>If the printer can print plain text, then
- use <tt/lptest/. Type:
-<tscreen><verb>
-~$lptest
-</verb></tscreen>
-
- <item>If the printer understands PostScript or
- other printer language, then send a small
- program to the printer. Type the program,
- line by line, <em/very carefully/ as
- backspacing or other editing keys may be
- significant to the printer. You may also need
- to type a special end-of-file key for the
- printer so it knows it received the whole
- program. For PostScript printers, press
- CONTROL+D.
-
- <p> Alternatively, you can put the program in
- a file and type
-<tscreen>
-<tt>&tilde;&gt;<it/file/</tt>
-</tscreen>
- where <it/file/ is the name of the file
- containing the program. After <tt/tip/
- sends the file, press any required
- end-of-file key.
- </itemize>
- </enum>
-
- You should see something print. Do not worry if the
- text does not look right; we will fix that later.
-
- <sect2><heading>Enabling the Spooler: The <tt>/etc/printcap</tt> File
- <label id="printing:printcap"></heading>
-
- <p> At this point, your printer should be hooked up, your
- kernel configured to communicate with it (if necessary),
- and you have been able to send some simple data to the
- printer. Now, we are ready to configure LPD to control
- access to your printer.
-
- You configure LPD by editing the file
- <tt>/etc/printcap</tt>. The LPD spooling system reads
- this file each time the spooler is used, so updates to the
- file take immediate effect.
-
- The format of the <tt/printcap/ file is straightforward.
- Use your favorite text editor to make changes to
- <tt>/etc/printcap</tt>. The format is identical to other
- capability files like <tt>/usr/share/misc/termcap</tt> and
- <tt>/etc/remote</tt>. For complete information about the
- format, see the cgetent(3).
-
- The simple spooler configuration consists of the following steps:
- <enum>
- <item>Pick a name (and a few convenient aliases) for
- the printer, and put them in the
- <tt>/etc/printcap</tt> file; see <ref
- id="printing:naming" name="Naming the Printer">.
-
- <item>Turn off header pages (which are on by default)
- by inserting the <tt/sh/ capability; see <ref
- id="printing:no-header-pages" name="Suppressing Header
- Pages">.
-
- <item>Make a spooling directory, and specify its
- location with the <tt/sd/ capability; see <ref
- id="printing:spooldir" name="Making the Spooling
- Directory">.
-
- <item>Set the <tt>/dev</tt> entry to use for the
- printer, and note it in <tt>/etc/printcap</tt> with
- the <tt/lp/ capability; see <ref id="printing:device"
- name="Identifying the Printer Device">. Also, if the
- printer is on a serial port, set up the communication
- parameters with the <tt/fs/, <tt/fc/, <tt/xs/, and
- <tt/xc/ capabilities; see <ref id="printing:commparam"
- name="Configuring Spooler Communications Parameters">.
-
- <item>Install a plain text input filter; see <ref
- id="printing:textfilter" name="Installing the Text
- Filter">
-
- <item>Test the setup by printing something with the
- <tt/lpr/ command; see <ref id="printing:trying"
- name="Trying It Out"> and <ref
- id="printing:troubleshooting" name="Troubleshooting">.
- </enum>
-
- <em/Note:/ Language-based printers, such as PostScript
- printers, cannot directly print plain text. The simple
- setup outlined above and described in the following
- sections assumes that if you are installing such a printer
- you will print only files that the printer can understand.
-
- Users often expect that they can print plain text to any
- of the printers installed on your system. Programs that
- interface to LPD to do their printing usually make the
- same assumption. If you are installing such a printer and
- want to be able to print jobs in the printer language
- <em/and/ print plain text jobs, you are strongly urged to
- add an additional step to the simple setup outlined above:
- install an automatic plain-text--to--PostScript (or other
- printer language) conversion program. Section <ref
- id="printing:advanced:if-conversion" name="Accommodating
- Plain Text Jobs on PostScript Printers"> tells how to do
- this.
-
- <sect3><heading>Naming the Printer<label
- id="printing:naming"></heading>
-
- <p> The first (easy) step is to pick a name for your
- printer. It really does not matter whether you choose
- functional or whimsical names since you can also provide
- a number aliases for the printer.
-
- At least one of the printers specified in the
- <tt>/etc/printcap</tt> should have the alias
- <tt/lp/. This is the default printer's name. If users
- do not have the PRINTER environment variable nor
- specify a printer name on the command line of any of the
- LPD commands, then <tt/lp/ will be the default printer
- they get to use.
-
- Also, it is common practice to make the last alias for a
- printer be a full description of the printer, including
- make and model.
-
- Once you have picked a name and some common aliases, put
- them in the <tt>/etc/printcap</tt> file. The name of
- the printer should start in the leftmost column.
- Separate each alias with a vertical bar and put a colon
- after the last alias.
-
- In the following example, we start with a skeletal
- <tt>/etc/printcap</tt> that defines two printers (a
- Diablo 630 line printer and a Panasonic KX-P4455
- PostScript laser printer):
-<code>
-#
-# /etc/printcap for host rose
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:
-</code>
- In this example, the first printer is named <tt/rattan/
- and has as aliases <tt/line/, <tt/diablo/, <tt/lp/, and
- <tt/Diablo 630 Line Printer/. Since it has the alias
- <tt/lp/, it is also the default printer. The second is
- named <tt/bamboo/, and has as aliases <tt/ps/, <tt/PS/,
- <tt/S/, <tt/panasonic/, and <tt/Panasonic KX-P4455
- PostScript v51.4/.
-
- <sect3><heading>Suppressing Header Pages<label
- id="printing:no-header-pages"></heading>
-
- <p> The LPD spooling system will by default print a
- <em/header page/ for each job. The header page contains
- the user name who requested the job, the host from which
- the job came, and the name of the job, in nice large
- letters. Unfortunately, all this extra text gets in the
- way of debugging the simple printer setup, so we will
- suppress header pages.
-
- To suppress header pages, add the <tt/sh/ capability to
- the entry for the printer in
- <tt>/etc/printcap</tt>. Here is the example
- <tt>/etc/printcap</tt> with <tt/sh/ added:
-<code>
-#
-# /etc/printcap for host rose - no header pages anywhere
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:
-</code>
- Note how we used the correct format: the first line
- starts in the leftmost column, and subsequent lines are
- indented with a single TAB. Every line in an entry
- except the last ends in a backslash character.
-
- <sect3><heading>Making the Spooling Directory<label
- id="printing:spooldir"></heading>
-
- <p> The next step in the simple spooler setup is to make a
- <em/spooling directory/, a directory where print jobs
- reside until they are printed, and where a number of
- other spooler support files live.
-
- Because of the variable nature of spooling directories,
- it is customary to put these directories under
- <tt>/var/spool</tt>. It is not necessary to backup the
- contents of spooling directories, either. Recreating
- them is as simple as running <tt/mkdir/.
-
- It is also customary to make the directory with a name
- that is identical to the name of the printer, as shown
- below:
-<tscreen>
-<tt>mkdir /var/spool/<it>printer-name</it></tt>
-</tscreen>
- However, if you have a lot of printers on your network,
- you might want to put the spooling directories under a
- single directory that you reserve just for printing with
- LPD. We will do this for our two example printers
- <tt/rattan/ and <tt/bamboo/:
-<tscreen><verb>
-mkdir /var/spool/lpd
-mkdir /var/spool/lpd/rattan
-mkdir /var/spool/lpd/bamboo
-</verb></tscreen>
-
- <em/Note:/ If you are concerned about the privacy of jobs
- that users print, you might want to protect the spooling
- directory so it is not publicly accessible. Spooling
- directories should be owned and be readable, writable,
- and searchable by user daemon and group daemon, and no
- one else. We will do this for our example printers:
-
-<tscreen><verb>
-chown daemon.daemon /var/spool/lpd/rattan
-chown daemon.daemon /var/spool/lpd/bamboo
-chmod 770 /var/spool/lpd/rattan
-chmod 770 /var/spool/lpd/bamboo
-</verb></tscreen>
-
- Finally, you need to tell LPD about these directories
- using the <tt>/etc/printcap</tt> file. You specify the
- pathname of the spooling directory with the <tt/sd/
- capability:
-<code>
-#
-# /etc/printcap for host rose - added spooling directories
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:sd=/var/spool/lpd/rattan:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:
-</code>
- Note that the name of the printer starts in the first
- column but all other entries describing the printer
- should be indented with a tab and each line escaped with
- a backslash.
-
- If you do not specify a spooling directory with <tt/sd/,
- the spooling system will use <tt>/var/spool/lpd</tt> as
- a default.
-
- <sect3><heading>Identifying the Printer Device<label
- id="printing:device"></heading>
-
- <p> In section <ref id="printing:dev-ports" name="Adding
- /dev Entries for the Ports">, we identified which
- entry in the <tt>/dev</tt> directory FreeBSD will use
- to communicate with the printer. Now, we tell LPD
- that information. When the spooling system has a job
- to print, it will open the specified device on behalf
- of the filter program (which is responsible for
- passing data to the printer).
-
- List the <tt>/dev</tt> entry pathname in the
- <tt>/etc/printcap</tt> file using the <tt/lp/
- capability.
-
- In our running example, let us assume that <tt/rattan/ is
- on the first parallel port, and <tt/bamboo/ is on a
- sixth serial port; here are the additions to
- <tt>/etc/printcap</tt>:
-<code>
-#
-# /etc/printcap for host rose - identified what devices to use
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:\
- :lp=/dev/ttyd5:
-</code>
-
- If you do not specify the <tt/lp/ capability for a
- printer in your <tt>/etc/printcap</tt> file, LPD uses
- <tt>/dev/lp</tt> as a default. <tt>/dev/lp</tt>
- currently does not exist in FreeBSD.
-
- If the printer you are installing is connected to a
- parallel port, skip to the section <ref name="Installing
- the Text Filter" id="printing:textfilter">. Otherwise,
- be sure to follow the instructions in the next section.
-
- <sect3><heading>Configuring Spooler Communication
- Parameters<label id="printing:commparam"></heading>
-
- <p> For printers on serial ports, LPD can set up the bps
- rate, parity, and other serial communication parameters
- on behalf of the filter program that sends data to the
- printer. This is advantageous since
- <itemize>
- <item>It lets you try different communication
- parameters by simply editing the
- <tt>/etc/printcap</tt> file; you do not have to
- recompile the filter program.
-
- <item>It enables the spooling system to use the same
- filter program for multiple printers which may have
- different serial communication settings.
- </itemize>
-
- The following <tt>/etc/printcap</tt> capabilities
- control serial communication parameters of the device
- listed in the <tt/lp/ capability:
- <descrip>
- <tag/<tt>br&num;<it/bps-rate/</tt>/
-
- Sets the communications speed of the device to
- <it/bps-rate/, where <it/bps-rate/ can be 50, 75,
- 110, 134, 150, 200, 300, 600, 1200, 1800, 2400,
- 4800, 9600, 19200, or 38400 bits-per-second.
-
- <tag/<tt>fc&num;<it/clear-bits/</tt>/
-
- Clears the flag bits <it/clear-bits/ in the
- <tt/sgttyb/ structure after opening the device.
-
- <tag/<tt>fs&num;<it/set-bits/</tt>/
-
- Sets the flag bits <it/set-bits/ in the <tt/sgttyb/
- structure.
-
- <tag/<tt>xc&num;<it/clear-bits/</tt>/
-
- Clears local mode bits <it/clear-bits/ after opening
- the device.
-
- <tag/<tt>xs&num;<it/set-bits/</tt>/
-
- Sets local mode bits <it/set-bits/.
- </descrip>
- For more information on the bits for the <tt/fc/,
- <tt/fs/, <tt/xc/, and <tt/xs/ capabilities, see the file
- <tt>/usr/include/sys/ioctl_compat.h</tt>.
-
- When LPD opens the device specified by the <tt/lp/
- capability, it reads the flag bits in the <tt/sgttyb/
- structure; it clears any bits in the <tt/fc/ capability,
- then sets bits in the <tt/fs/ capability, then applies
- the resultant setting. It does the same for the local
- mode bits as well.
-
- Let us add to our example printer on the sixth serial
- port. We will set the bps rate to 38400. For the flag
- bits, we will set the TANDEM, ANYP, LITOUT, FLUSHO, and
- PASS8 flags. For the local mode bits, we will set the
- LITOUT and PASS8 flags:
-<tscreen><verb>
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:\
- :lp=/dev/ttyd5:fs#0x82000c1:xs#0x820:
-</verb></tscreen>
-
-
- <sect3><heading>Installing the Text Filter<label
- id="printing:textfilter"></heading>
-
- <p> We are now ready to tell LPD what text filter to use to
- send jobs to the printer. A <em/text filter/, also
- known as an <em/input filter/, is a program that LPD
- runs when it has a job to print. When LPD runs the text
- filter for a printer, it sets the filter's standard
- input to the job to print, and its standard output to
- the printer device specified with the <tt/lp/
- capability. The filter is expected to read the job from
- standard input, perform any necessary translation for the
- printer, and write the results to standard output, which
- will get printed. For more information on the text
- filter, see section <ref id="printing:advanced:filters"
- name="Filters">.
-
- For our simple printer setup, the text filter can be a
- small shell script that just executes <tt>/bin/cat</tt>
- to send the job to the printer. FreeBSD comes with
- another filter called <tt/lpf/ that handles backspacing
- and underlining for printers that might not deal with
- such character streams well. And, of course, you can
- use any other filter program you want. The filter
- <tt/lpf/ is described in detail in section <ref
- id="printing:advanced:lpf" name="lpf: a Text Filter">.
-
- First, let uss make the shell script
- <tt>/usr/local/libexec/if-simple</tt> be a simple text
- filter. Put the following text into that file with your
- favorite text editor:
-<code>
-#!/bin/sh
-#
-# if-simple - Simple text input filter for lpd
-# Installed in /usr/local/libexec/if-simple
-#
-# Simply copies stdin to stdout. Ignores all filter arguments.
-
-/bin/cat &amp;&amp; exit 0
-exit 2
-</code>
- Make the file executable:
-<tscreen><verb>
-chmod 555 /usr/local/libexec/if-simple
-</verb></tscreen>
-
- And then tell LPD to use it by specifying it with the
- <tt/if/ capability in <tt>/etc/printcap</tt>. We will add
- it to the two printers we have so far in the example
- <tt>/etc/printcap</tt>:
-<code>
-#
-# /etc/printcap for host rose - added text filter
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:\
- :if=/usr/local/libexec/if-simple:
-</code>
-
- <sect3><heading>Trying It Out<label id="printing:trying"></heading>
-
- <p> You have reached the end of the simple LPD setup.
- Unfortunately, congratulations are not quite yet in
- order, since we still have to test the setup and
- correct any problems. To test the setup, try printing
- something. To print with the LPD system, you use the
- command <tt/lpr/, which submits a job for printing.
-
- You can combine <tt/lpr/ with the <tt/lptest/ program,
- introduced in section <ref id="printing:testing"
- name="Checking Printer Communications"> to generate some
- test text.
-
- <bf>To test the simple LPD setup:</bf>
-
- <p> Type:
-<tscreen>
-<tt>lptest 20 5 | lpr -P<it/printer-name/</tt>
-</tscreen>
- where <it/printer-name/ is a the name of a printer (or
- an alias) specified in <tt>/etc/printcap</tt>. To test
- the default printer, type <tt/lpr/ without any <tt/-P/
- argument. Again, if you are testing a printer that
- expects PostScript, send a PostScript program in that
- language instead of using <tt/lptest/. You can do so by
- putting the program in a file and typing <tt/lpr
- <it/file//.
-
- For a PostScript printer, you should get the results
- of the program. If you are using <tt/lptest/, then your
- results should look like the following:
-
-<tscreen><verb>
-!"#$%&amp;'()*+,-./01234
-"#$%&amp;'()*+,-./012345
-#$%&amp;'()*+,-./0123456
-$%&amp;'()*+,-./01234567
-%&amp;'()*+,-./012345678
-</verb></tscreen>
-
- To further test the printer, try downloading larger
- programs (for language-based printers) or running
- <tt/lptest/ with different arguments. For example,
- <tt/lptest 80 60/ will produce 60 lines of 80 characters
- each.
-
- If the printer did not work, see the next section, <ref
- id="printing:troubleshooting" name="Troubleshooting">.
-
- <sect3><heading>Troubleshooting<label
- id="printing:troubleshooting"></heading>
-
- <p> After performing the simple test with <tt/lptest/, you
- might have gotten one of the following results instead of
- the correct printout:
- <descrip>
- <tag/It worked, after awhile; or, it did not eject a full sheet./
-
- The printer printed the above, but it sat for awhile
- and did nothing. In fact, you might have needed to
- press a PRINT REMAINING or FORM FEED button on the
- printer to get any results to appear.
-
- If this is the case, the printer was probably
- waiting to see if there was any more data for your
- job before it printed anything. To fix this
- problem, you can have the text filter send a FORM
- FEED character (or whatever is necessary) to the
- printer. This is usually sufficient to have the
- printer immediately print any text remaining in its
- internal buffer. It is also useful to make sure each
- print job ends on a full sheet, so the next job
- does not start somewhere on the middle of the last
- page of the previous job.
-
- The following replacement for the shell script
- <tt>/usr/local/libexec/if-simple</tt> prints a form
- feed after it sends the job to the printer:
-<code>
-#!/bin/sh
-#
-# if-simple - Simple text input filter for lpd
-# Installed in /usr/local/libexec/if-simple
-#
-# Simply copies stdin to stdout. Ignores all filter arguments.
-# Writes a form feed character (\f) after printing job.
-
-/bin/cat &amp;&amp; printf "\f" &amp;&amp; exit 0
-exit 2
-</code>
-
- <tag/It produced the ``staircase effect.''/
-
- You got the following on paper:
-<tscreen><verb>
-!"#$%&amp;'()*+,-./01234
- "#$%&amp;'()*+,-./012345
- #$%&amp;'()*+,-./0123456
-</verb></tscreen>
- You have become another victim of the <em/staircase
- effect/, caused by conflicting interpretations of
- what characters should indicate a new-line.
- UNIX-style operating systems use a single character:
- ASCII code 10, the line feed (LF). MS-DOS, OS/2,
- and others uses a pair of characters, ASCII code 10
- <em/and/ ASCII code 13 (the carriage return or CR).
- Many printers use the MS-DOS convention for
- representing new-lines.
-
- When you print with FreeBSD, your text used just the
- line feed character. The printer, upon seeing a
- line feed character, advanced the paper one line,
- but maintained the same horizontal position on the
- page for the next character to print. That is what
- the carriage return is for: to move the location of
- the next character to print to the left edge of the
- paper.
-
- Here is what FreeBSD wants your printer to do:
-<tscreen><verb>
-Printer received CR Printer prints CR
-Printer received LF Printer prints CR + LF
-</verb></tscreen>
-
- Here are some ways to achieve this:
- <itemize>
- <item>Use the printer's configuration switches or
- control panel to alter its interpretation of
- these characters. Check your printer's manual
- to find out how to do this.
-
- <p> <em/Note:/ If you boot your system into
- other operating systems besides FreeBSD, you
- may have to <em/reconfigure/ the printer to
- use a an interpretation for CR and LF
- characters that those other operating systems
- use. You might prefer one of the other
- solutions, below.
-
- <item>Have FreeBSD's serial line driver
- automatically convert LF to CR+LF. Of course,
- this works with printers on serial ports
- <em/only/. To enable this feature, set the
- CRMOD bit in <tt/fs/ capability in the
- <tt>/etc/printcap</tt> file for the printer.
-
- <item>Send an <em/escape code/ to the printer to
- have it temporarily treat LF characters
- differently. Consult your printer's manual for
- escape codes that your printer might support.
- When you find the proper escape code, modify the
- text filter to send the code first, then send
- the print job.
-
- <p> Here is an example text filter for printers
- that understand the Hewlett-Packard PCL escape
- codes. This filter makes the printer treat LF
- characters as a LF and CR; then it sends the
- job; then it sends a form feed to eject the
- last page of the job. It should work with
- nearly all Hewlett Packard printers.
-
-<code>
-#!/bin/sh
-#
-# hpif - Simple text input filter for lpd for HP-PCL based printers
-# Installed in /usr/local/libexec/hpif
-#
-# Simply copies stdin to stdout. Ignores all filter arguments.
-# Tells printer to treat LF as CR+LF. Writes a form feed character
-# after printing job.
-
-printf "\033&amp;k2G" &amp;&amp; cat &amp;&amp; printf "\f" &amp;&amp; exit 0
-exit 2
-</code>
-
- Here is an example <tt>/etc/printcap</tt> from
- a host called orchid. It has a single printer
- attached to its first parallel port, a Hewlett
- Packard LaserJet 3Si named <tt/teak/. It is
- using the above script as its text filter:
-<code>
-#
-# /etc/printcap for host orchid
-#
-teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
- :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
- :if=/usr/local/libexec/hpif:
-</code>
- </itemize>
-
- <tag/It overprinted each line./
-
- The printer never advanced a line. All of the lines
- of text were printed on top of each other on one
- line.
-
- This problem is the ``opposite'' of the staircase
- effect, described above, and is much rarer.
- Somewhere, the LF characters that FreeBSD uses to
- end a line are being treated as CR characters to
- return the print location to the left edge of the
- paper, but not also down a line.
-
- Use the printer's configuration switches or control
- panel to enforce the following interpretation of LF
- and CR characters:
-<tscreen><verb>
-Printer received CR Printer prints CR
-Printer received LF Printer prints CR + LF
-</verb></tscreen>
-
- <tag/The printer lost characters./
-
- While printing, the printer did nott print a few
- characters in each line. The problem might have
- gotten worse as the printer ran, losing more and
- more characters.
-
- The problem is that the printer cannot keep up with
- the speed at which the computer sends data over a
- serial line. (This problem should not occur with
- printers on parallel ports.) There are two ways to
- overcome the problem:
- <itemize>
- <item>If the printer supports XON/XOFF flow
- control, have FreeBSD use it by specifying the
- TANDEM bit in the <tt/fs/ capability.
-
- <item>If the printer supports carrier flow
- control, specify the MDMBUF bit in the <tt/fs/
- capability. Make sure the cable connecting the
- printer to the computer is correctly wired for
- carrier flow control.
-
- <item>If the printer does not support any flow
- control, use some combination of the NLDELAY,
- TBDELAY, CRDELAY, VTDELAY, and BSDELAY bits in
- the <tt/fs/ capability to add appropriate delays
- to the stream of data sent to the printer.
- </itemize>
-
- <tag/It printed garbage./
-
- The printer printed what appeared to be random
- garbage, but not the desired text.
-
- This is usually another symptom of incorrect
- communications parameters with a serial printer.
- Double-check the bps rate in the <tt/br/ capability,
- and the parity bits in the <tt/fs/ and <tt/fc/
- capabilities; make sure the printer is using the
- same settings as specified in the
- <tt>/etc/printcap</tt> file.
-
- <tag/Nothing happened./
-
- If nothing happened, the problem is probably within
- FreeBSD and not the hardware. Add the log file
- (<tt/lf/) capability to the entry for the printer
- you are debugging in the <tt>/etc/printcap</tt> file.
- For example, here is the entry for <tt/rattan/, with
- the <tt/lf/ capability:
-<tscreen><verb>
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:\
- :lf=/var/log/rattan.log
-</verb></tscreen>
- Then, try printing again. Check the log file (in
- our example, <tt>/var/log/rattan.log</tt>) to see
- any error messages that might appear. Based on the
- messages you see, try to correct the problem.
-
- If you do not specify a <tt/lf/ capability, LPD uses
- <tt>/dev/console</tt> as a default.
- </descrip>
-
- <sect><heading>Using Printers<label id="printing:using"></heading>
-
- <p> This section tells you how to use printers you have setup with
- FreeBSD. Here is an overview of the user-level commands:
- <descrip>
- <tag/<tt/lpr//
- Print jobs
-
- <tag/<tt/lpq//
- Check printer queues
-
- <tag/<tt/lprm//
- Remove jobs from a printer's queue
-
- </descrip>
-
- There is also an administrative command, <tt/lpc/, described in
- the section <ref id="printing:lpc" name="Administrating the
- LPD Spooler">, used to control printers and their queues.
-
- All three of the commands <tt/lpr/, <tt/lprm/, and <tt/lpq/
- accept an option ``<tt/-P/ <it/printer-name/'' to specify on
- which printer/queue to operate, as listed in the
- <tt>/etc/printcap</tt> file. This enables you to submit,
- remove, and check on jobs for various printers. If you do not
- use the <tt/-P/ option, then these commands use the printer
- specified in the PRINTER environment variable. Finally, if
- you do not have a PRINTER environment variable, these commands
- default to the printer named <tt/lp/.
-
- Hereafter, the terminology <em/default printer/ means the
- printer named in the PRINTER environment variable, or the
- printer named <tt/lp/ when there is no PRINTER environment
- variable.
-
- <sect1><heading>Printing Jobs<label id="printing:lpr"></heading>
- <p>
-
- To print files, type
-<tscreen>
-<tt>lpr <it/filename.../</tt>
-</tscreen>
- This prints each of the listed files to the default printer.
- If you list no files, <tt/lpr/ reads data to print from
- standard input. For example, this command prints some
- important system files:
-<tscreen><verb>
-lpr /etc/host.conf /etc/hosts.equiv
-</verb></tscreen>
- To select a specific printer, type
-<tscreen>
-<tt>lpr -P <it/printer-name/ <it/filename.../</tt>
-</tscreen>
- This example prints a long listing of the current directory
- to the printer named <tt/rattan/:
-<tscreen><verb>
-ls -l | lpr -P rattan
-</verb></tscreen>
- Because no files were listed for the <tt/lpr/ command,
- <tt/lpr/ read the data to print from standard input, which
- was the output of the <tt/ls -l/ command.
-
- The <tt/lpr/ command can also accept a wide variety of
- options to control formatting, apply file conversions,
- generate multiple copies, and so forth. For more
- information, see the section <ref id="printing:lpr:options"
- name="Printing Options">.
-
- <sect1><heading>Checking Jobs<label id="printing:lpq"></heading>
-
- <p> When you print with <tt/lpr/, the data you wish to print
- is put together in a package called a <em/print job/, which
- is sent to the LPD spooling system. Each printer has a
- queue of jobs, and your job waits in that queue along with
- other jobs from yourself and from other users. The printer
- prints those jobs in a first-come, first-served order.
-
- To display the queue for the default printer, type <tt/lpq/.
- For a specific printer, use the <tt/-P/ option. For
- example, the command
-<tscreen><verb>
-lpq -P bamboo
-</verb></tscreen>
- shows the queue for the printer named <tt/bamboo/. Here is
- an example of the output of the <tt/lpq/ command:
-<tscreen><verb>
-bamboo is ready and printing
-Rank Owner Job Files Total Size
-active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes
-2nd kelly 10 (standard input) 1635 bytes
-3rd mary 11 ... 78519 bytes
-</verb></tscreen>
- This shows three jobs in the queue for <tt/bamboo/. The
- first job, submitted by user kelly, got assigned <em/job
- number/ 9. Every job for a printer gets a unique job
- number. Most of the time you can ignore the job number, but
- you will need it if you want to cancel the job; see section
- <ref id="printing:lprm" name="Removing Jobs"> for details.
-
- Job number nine consists of two files; multiple files given
- on the <tt/lpr/ command line are treated as part of a single
- job. It is the currently active job (note the word
- <tt/active/ under the ``Rank'' column), which means the
- printer should be currently printing that job. The second
- job consists of data passed as the standard input to the
- <tt/lpr/ command. The third job came from user mary; it is a
- much larger job. The pathname of the files she's trying to
- print is too long to fit, so the <tt/lpq/ command just shows
- three dots.
-
- The very first line of the output from <tt/lpq/ is also
- useful: it tells what the printer is currently doing (or at
- least what LPD thinks the printer is doing).
-
- The <tt/lpq/ command also support a <tt/-l/ option to
- generate a detailed long listing. Here is an example of
- <tt/lpq -l/:
-<tscreen><verb>
-waiting for bamboo to become ready (offline ?)
-
-kelly: 1st [job 009rose]
- /etc/host.conf 73 bytes
- /etc/hosts.equiv 15 bytes
-
-kelly: 2nd [job 010rose]
- (standard input) 1635 bytes
-
-mary: 3rd [job 011rose]
- /home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes
-</verb></tscreen>
-
- <sect1><heading>Removing Jobs<label
- id="printing:lprm"></heading>
-
- <p> If you change your mind about printing a job, you can
- remove the job from the queue with the <tt/lprm/ command.
- Often, you can even use <tt/lprm/ to remove an active job,
- but some or all of the job might still get printed.
-
- To remove a job from the default printer, first use <tt/lpq/
- to find the job number. Then type
-<tscreen>
-<tt/lprm <it/job-number//
-</tscreen>
- To remove the job from a specific printer, add the <tt/-P/
- option. The following command removes job number 10 from
- the queue for the printer <tt/bamboo/:
-<tscreen><verb>
-lprm -P bamboo 10
-</verb></tscreen>
- The <tt/lprm/ command has a few shortcuts:
- <descrip>
- <tag/lprm -/
-
- Removes all jobs (for the default printer) belonging to
- you.
-
- <tag/lprm <it/user//
-
- Removes all jobs (for the default printer) belonging to
- <it/user/. The superuser can remove other users' jobs;
- you can remove only your own jobs.
-
- <tag/lprm/
-
- With no job number, user name, or ``<tt/-/'' appearing
- on the command line, <tt/lprm/ removes the currently
- active job on the default printer, if it belongs to
- you. The superuser can remove any active job.
- </descrip>
-
- Just use the <tt/-P/ option with the above shortcuts to
- operate on a specific printer instead of the default. For
- example, the following command removes all jobs for the
- current user in the queue for the printer named <tt/rattan/:
-
-<tscreen><verb>
-lprm -P rattan -
-</verb></tscreen>
-
- <em/Note:/ If you are working in a networked environment,
- <tt/lprm/ will let you remove jobs only from the host from
- which the jobs were submitted, even if the same printer is
- available from other hosts. The following command sequence
- demonstrates this:
-<code>
-rose% lpr -P rattan myfile
-rose% rlogin orchid
-orchid% lpq -P rattan
-Rank Owner Job Files Total Size
-active seeyan 12 ... 49123 bytes
-2nd kelly 13 myfile 12 bytes
-orchid% lprm -P rattan 13
-rose: Permission denied
-orchid% logout
-rose% lprm -P rattan 13
-dfA013rose dequeued
-cfA013rose dequeued
-rose%
-</code>
-
- <sect1><heading>Beyond Plain Text: Printing Options<label
- id="printing:lpr:options"></heading>
-
- <p> The <tt/lpr/ command supports a number of options that
- control formatting text, converting graphic and other file
- formats, producing multiple copies, handling of the job, and
- more. This section describes the options.
-
- <sect2><heading>Formatting and Conversion Options<label
- id="printing:lpr:options:format"></heading>
-
- <p> The following <tt/lpr/ options control formatting of the
- files in the job. Use these options if the job does not
- contain plain text or if you want plain text formatted
- through the <tt/pr/ utility.
-
- For example, the following command prints a DVI file (from
- the TeX typesetting system) named <tt/fish-report.dvi/
- to the printer named <tt/bamboo/:
-<tscreen><verb>
-lpr -P bamboo -d fish-report.dvi
-</verb></tscreen>
- These options apply to every file in the job, so you cannot
- mix (say) DVI and ditroff files together in a job.
- Instead, submit the files as separate jobs, using a
- different conversion option for each job.
-
- <em/Note:/ All of these options except <tt/-p/ and <tt/-T/
- require conversion filters installed for the destination
- printer. For example, the <tt/-d/ option requires the DVI
- conversion filter. Section <ref
- id="printing:advanced:convfilters" name="Conversion
- Filters"> gives details.
-
- <descrip>
- <tag/<tt/-c// Print cifplot files.
-
- <tag/<tt/-d// Print DVI files.
-
- <tag/<tt/-f// Print FORTRAN text files.
-
- <tag/<tt/-g// Print plot data.
-
- <tag/<tt/-i <it/number///
-
- Indent the output by <it/number/ columns; if you omit
- <it/number/, indent by 8 columns. This option works
- only with certain conversion filters.
-
- <em/Note:/ Do not put any space between the <tt/-i/ and
- the number.
-
- <tag/<tt/-l//
-
- Print literal text data, including control characters.
-
- <tag/<tt/-n// Print ditroff (device independent troff) data.
-
- <tag/-p/
-
- Format plain text with <tt/pr/ before printing. See
- pr(1) for more information.
-
- <tag/<tt/-T <it/title///
-
- Use <it/title/ on the <tt/pr/ header instead of the
- file name. This option has effect only when used with
- the <tt/-p/ option.
-
- <tag/<tt/-t// Print troff data.
-
- <tag/<tt/-v// Print raster data.
-
- </descrip>
-
- Here is an example: this command prints a nicely
- formatted version of the <tt/ls/ manual page on the
- default printer:
-<tscreen><verb>
-zcat /usr/share/man/man1/ls.1.gz | troff -t -man | lpr -t
-</verb></tscreen>
- The <tt/zcat/ command uncompresses the source of the
- <tt/ls/ manual page and passes it to the <tt/troff/
- command, which formats that source and makes GNU troff
- output and passes it to <tt/lpr/, which submits the job to
- the LPD spooler. Because we used the <tt/-t/ option to
- <tt/lpr/, the spooler will convert the GNU troff output
- into a format the default printer can understand when it
- prints the job.
-
- <sect2><heading>Job Handling Options<label
- id="printing:lpr:options:job-handling"></heading>
-
- <p> The following options to <tt/lpr/ tell LPD to handle the
- job specially:
-
- <descrip>
- <tag/-&num; <it/copies//
-
- Produce a number of <it/copies/ of each file in the
- job instead of just one copy. An administrator may
- disable this option to reduce printer wear-and-tear
- and encourage photocopier usage. See section <ref
- id="printing:advanced:restricting:copies"
- name="Restricting Multiple Copies">.
-
- <p> This example prints three copies of <tt/parser.c/
- followed by three copies of <tt/parser.h/ to the
- default printer:
-<tscreen><verb>
-lpr -#3 parser.c parser.h
-</verb></tscreen>
-
- <tag/-m/
-
- Send mail after completing the print job. With this
- option, the LPD system will send mail to your account
- when it finishes handling your job. In its message,
- it will tell you if the job completed successfully or
- if there was an error, and (often) what the error was.
-
- <tag/-s/ Do not copy the files to the spooling directory,
- but make symbolic links to them instead.
-
- If you are printing a large job, you probably want to
- use this option. It saves space in the spooling
- directory (your job might overflow the free space on
- the filesystem where the spooling directory resides).
- It saves time as well since LPD will not have to copy
- each and every byte of your job to the spooling
- directory.
-
- There is a drawback, though: since LPD will refer to
- the original files directly, you cannot modify or
- remove them until they have been printed.
-
- <em/Note:/ If you are printing to a remote printer, LPD
- will eventually have to copy files from the local host
- to the remote host, so the <tt/-s/ option will save
- space only on the local spooling directory, not the
- remote. It is still useful, though.
-
- <tag/-r/
-
- Remove the files in the job after copying them to the
- spooling directory, or after printing them with the
- <tt/-s/ option. Be careful with this option!
-
- </descrip>
-
- <sect2><heading>Header Page Options<label
- id="printing:lpr:options:misc"></heading>
-
- <p> These options to <tt/lpr/ adjust the text that normally
- appears on a job's header page. If header pages are
- suppressed for the destination printer, these options have
- no effect. See section <ref name="Header Pages"
- id="printing:advanced:header-pages"> for information about
- setting up header pages.
-
- <descrip>
- <tag/-C <it/text//
-
- Replace the hostname on the header page with
- <it/text/. The hostname is normally the name of the
- host from which the job was submitted.
-
- <tag/-J <it/text//
-
- Replace the job name on the header page with
- <it/text/. The job name is normally the name of the
- first file of the job, or ``stdin'' if you are printing
- standard input.
-
- <tag/-h/
-
- Do not print any header page. <em/Note:/ At some
- sites, this option may have no effect due to the way
- header pages are generated. See <ref name="Header
- Pages" id="printing:advanced:header-pages"> for
- details.
-
- </descrip>
-
- <sect1><heading>Administrating Printers<label
- id="printing:lpc"></heading>
-
- <p> As an administrator for your printers, you have had to
- install, set up, and test them. Using the <tt/lpc/ command,
- you can interact with your printers in yet more ways. With
- <tt/lpc/, you can
-
- <itemize>
- <item>Start and stop the printers
-
- <item>Enable and disable their queues
-
- <item>Rearrange the order of the jobs in each queue.
- </itemize>
-
- First, a note about terminology: if a printer is
- <em/stopped/, it will not print anything in its queue. Users
- can still submit jobs, which will wait in the queue until
- the printer is <em/started/ or the queue is cleared.
-
- If a queue is <em/disabled/, no user (except root) can
- submit jobs for the printer. An <em/enabled/ queue allows
- jobs to be submitted. A printer can be <em/started/ for a
- disabled queue, in which case it will continue to print jobs
- in the queue until the queue is empty.
-
- In general, you have to have root privileges to use the
- <tt/lpc/ command. Ordinary users can use the <tt/lpc/
- command to get printer status and to restart a hung printer
- only.
-
- Here is a summary of the <tt/lpc/ commands. Most of the
- commands takes a <it/printer-name/ argument to tell on which
- printer to operate. You can use <tt/all/ for the
- <it/printer-name/ to mean all printers listed in
- <tt>/etc/printcap</tt>.
-
- <descrip>
- <tag/<tt/abort <it/printer-name///
-
- Cancel the current job and stop the printer. Users can
- still submit jobs if the queue's enabled.
-
- <tag/<tt/clean <it/printer-name///
-
- Remove old files from the printer's spooling directory.
- Occasionally, the files that make up a job are not
- properly removed by LPD, particularly if there have been
- errors during printing or a lot of administrative
- activity. This command finds files that do not belong in
- the spooling directory and removes them.
-
- <tag/<tt/disable <it/printer-name///
-
- Disable queuing of new jobs. If the printer's started,
- it will continue to print any jobs remaining in the
- queue. The superuser (root) can always submit jobs,
- even to a disabled queue.
-
- This command is useful while you are testing a new
- printer or filter installation: disable the queue and
- submit jobs as root. Other users will not be able to
- submit jobs until you complete your testing and re-enable
- the queue with the <tt/enable/ command.
-
- <tag/<tt/down <it/printer-name/ <it/message...///
-
- Take a printer down. Equivalent to <tt/disable/
- followed by <tt/stop/. The <it/message/ appears as the
- printer's status whenever a user checks the printer's
- queue with <tt/lpq/ or status with <tt/lpc status/.
-
- <tag/<tt/enable <it/printer-name///
-
- Enable the queue for a printer. Users can submit jobs
- but the printer will not print anything until it is started.
-
- <tag/<tt/help <it/command-name///
-
- Print help on the command <it/command-name/. With no
- <it/command-name/, print a summary of the commands
- available.
-
- <tag/<tt/restart <it/printer-name///
-
- Start the printer. Ordinary users can use this command
- if some extraordinary circumstance hangs LPD, but they
- cannot start a printer stopped with either the <tt/stop/
- or <tt/down/ commands. The <tt/restart/ command is
- equivalent to <tt/abort/ followed by <tt/start/.
-
- <tag/<tt/start <it/printer-name///
-
- Start the printer. The printer will print jobs in its
- queue.
-
- <tag/<tt/stop <it/printer-name///
-
- Stop the printer. The printer will finish the current
- job and will not print anything else in its queue. Even
- though the printer is stopped, users can still submit
- jobs to an enabled queue.
-
- <tag/<tt/topq <it/printer-name/ <it/job-or-username...///
-
- Rearrange the queue for <it/printer-name/ by placing the
- jobs with the listed <it/job/ numbers or the jobs
- belonging to <it/username/ at the top of the queue. For
- this command, you cannot use <tt/all/ as the
- <it/printer-name/.
-
- <tag/<tt/up <it/printer-name///
-
- Bring a printer up; the opposite of the <tt/down/
- command. Equivalent to <tt/start/ followed by
- <tt/enable/.
-
- </descrip>
-
- <tt/lpc/ accepts the above commands on the command line. If
- you do not enter any commands, <tt/lpc/ enters an interactive
- mode, where you can enter commands until you type <tt/exit/,
- <tt/quit/, or end-of-file.
-
- <sect><heading>Advanced Printer Setup<label
- id="printing:advanced"></heading>
-
- <p> This section describes filters for printing specially
- formatted files, header pages, printing across networks, and
- restricting and accounting for printer usage.
-
- <sect1><heading>Filters<label
- id="printing:advanced:filter-intro"></heading>
-
- <p> Although LPD handles network protocols, queuing, access
- control, and other aspects of printing, most of the
- <em/real/ work happens in the <em/filters/. Filters are
- programs that communicate with the printer and handle its
- device dependencies and special requirements. In the simple
- printer setup, we installed a plain text filter---an
- extremely simple one that should work with most printers
- (section <ref id="printing:textfilter" name="Installing the
- Text Filter">).
-
- However, in order to take advantage of format conversion,
- printer accounting, specific printer quirks, and so on, you
- should understand how filters work. It will ultimately be
- the filter's responsibility to handle these aspects. And the
- bad news is that most of the time <em/you/ have to provide
- filters yourself. The good news is that many are generally
- available; when they are not, they are usually easy to write.
-
- Also, FreeBSD comes with one, <tt>/usr/libexec/lpr/lpf</tt>,
- that works with many printers that can print plain text.
- (It handles backspacing and tabs in the file, and does
- accounting, but that is about all it does.) There are also
- several filters and filter components in the FreeBSD ports
- collection.
-
- Here is what you will find in this section:
-
- <itemize>
- <item>Section <ref id="printing:advanced:filters"
- name="How Fitlers Work">, tries to give an overview of a
- filter's role in the printing process. You should read
- this section to get an understanding of what is happening
- ``under the hood'' when LPD uses filters. This
- knowledge could help you anticipate and debug problems
- you might encounter as you install more and more filters
- on each of your printers.
-
- <item>LPD expects every printer to be able to print plain
- text by default. This presents a problem for PostScript
- (or other language-based printers) which cannot directly
- print plain text. Section <ref
- id="printing:advanced:if-conversion" name="Accommodating
- Plain Text Jobs on PostScript Printers"> tells you what
- you should do to overcome this problem. I recommend
- reading this section if you have a PostScript printer.
-
- <item>PostScript is a popular output format for many
- programs. Even some people (myself included) write
- PostScript code directly. But PostScript printers are
- expensive. Section <ref id="printing:advanced:ps"
- name="Simulating PostScript on Non-PostScript Printers">
- tells how you can further modify a printer's text filter
- to accept and print PostScript data on a
- <em/non-PostScript/ printer. I recommend reading this
- section if you do not have a PostScript printer.
-
- <item>Section <ref id="printing:advanced:convfilters"
- name="Conversion Filters"> tells about a way you can
- automate the conversion of specific file formats, such
- as graphic or typesetting data, into formats your
- printer can understand. After reading this section,
- you should be able to set up your printers such that
- users can type <tt/lpr -t/ to print troff data, or
- <tt/lpr -d/ to print TeX DVI data, or <tt/lpr -v/ to
- print raster image data, and so forth. I recommend
- reading this section.
-
- <item>Section <ref id="printing:advanced:of" name="Output
- Filters"> tells all about a not often used feature of
- LPD: output filters. Unless you are printing header
- pages (see <ref id="printing:advanced:header-pages"
- name="Header Pages">), you can probably skip that
- section altogether.
-
- <item>Section <ref id="printing:advanced:lpf" name="lpf:
- a Text Filter"> describes <tt/lpf/, a fairly complete
- if simple text filter for line printers (and laser
- printers that act like line printers) that comes with
- FreeBSD. If you need a quick way to get printer
- accounting working for plain text, or if you have a
- printer which emits smoke when it sees backspace
- characters, you should definitely consider <tt/lpf/.
- </itemize>
-
- <sect2><heading>How Filters Work<label
- id="printing:advanced:filters"></heading>
-
- <p> As mentioned before, a filter is an executable program
- started by LPD to handle the device-dependent part of
- communicating with the printer.
-
- When LPD wants to print a file in a job, it starts a
- filter program. It sets the filter's standard input to
- the file to print, its standard output to the printer, and
- its standard error to the error logging file (specified in
- the <tt/lf/ capability in <tt>/etc/printcap</tt>, or
- <tt>/dev/console</tt> by default).
-
- Which filter LPD starts and the filter's arguments depend
- on what is listed in the <tt>/etc/printcap</tt> file and
- what arguments the user specified for the job on the
- <tt/lpr/ command line. For example, if the user typed
- <tt/lpr -t/, LPD would start the troff filter, listed in
- the <tt/tf/ capability for the destination printer. If
- the user wanted to print plain text, it would start the
- <tt/if/ filter (this is mostly true: see <ref
- id="printing:advanced:of" name="Output Filters"> for
- details).
-
- There are three kinds filters you can specify in
- <tt>/etc/printcap</tt>:
- <itemize>
- <item>The <em/text filter/, confusingly called the
- <em/input filter/ in LPD documentation, handles
- regular text printing. Think of it as the default
- filter. LPD expects every printer to be able to print
- plain text by default, and it is the text filter's job
- to make sure backspaces, tabs, or other special
- characters do not confuse the printer.
-
- If you are in an environment where you have to account
- for printer usage, the text filter must also account
- for pages printed, usually by counting the number of
- lines printed and comparing that to the number of
- lines per page the printer supports.
-
- The text filter is started with the following argument
- list:
-<tscreen>
-<tt>[-c] -w<it/width/ -l<it/length/ -i<it/indent/ -n <it/login/ -h <it/host/ <it/acct-file/</tt>
-</tscreen>
- where
- <descrip>
- <tag/<tt/-c//
-
- appears if the job's submitted with <tt/lpr -l/
-
- <tag/<tt/<it/width///
-
- is the value from the <tt/pw/ (page width)
- capability specified in <tt>/etc/printcap</tt>,
- default 132
-
- <tag/<tt/<it/length///
-
- is the value from the <tt/pl/ (page length)
- capability, default 66
-
- <tag/<tt/<it/indent///
-
- is the amount of the indentation from <tt/lpr -i/,
- default 0
-
- <tag/<tt/<it/login///
-
- is the account name of the user printing the file
-
- <tag/<tt/<it/host///
-
- is the host name from which the job was submitted
-
- <tag/<tt/<it/acct-file///
-
- is the name of the accounting file from the <tt/af/
- capability.
-
- </descrip>
-
- <item>A <em/conversion filter/ converts a specific file
- format into one the printer can render onto paper.
- For example, ditroff typesetting data cannot be
- directly printed, but you can install a conversion
- filter for ditroff files to convert the ditroff data
- into a form the printer can digest and print. Section
- <ref id="printing:advanced:convfilters"
- name="Conversion Filters"> tells all about them.
- Conversion filters also need to do accounting, if you
- need printer accounting.
-
- Conversion filters are started with the following
- arguments:
-<tscreen>
-<tt>-x<it/pixel-width/ -y<it/pixel-height/ -n <it/login/ -h <it/host/ <it/acct-file/</tt>
-</tscreen>
- where <it/pixel-width/ is the value from the <tt/px/
- capability (default 0) and <it/pixel-height/ is the
- value from the <tt/py/ capability (default 0).
-
- <item>The <em/output filter/ is used only if there is no
- text filter, or if header pages are enabled. In my
- experience, output filters are rarely used. Section
- <ref id="printing:advanced:of" name="Output Filters">
- describe them. There are only two arguments to an
- output filter:
-<tscreen>
-<tt>-w<it/width/ -l<it/length/</tt>
-</tscreen>
- which are identical to the text filters <tt/-w/ and
- <tt/-l/ arguments.
- </itemize>
-
- Filters should also <em/exit/ with the following exit
- status:
- <descrip>
- <tag/exit 0/
-
- If the filter printed the file successfully.
-
- <tag/exit 1/
-
- If the filter failed to print the file but wants LPD
- to try to print the file again. LPD will restart a
- filter if it exits with this status.
-
- <tag/exit 2/
-
- If the filter failed to print the file and does not
- want LPD to try again. LPD will throw out the file.
- </descrip>
-
- The text filter that comes with the FreeBSD release,
- <tt>/usr/libexec/lpr/lpf</tt>, takes advantage of the page
- width and length arguments to determine when to send a
- form feed and how to account for printer usage. It uses
- the login, host, and accounting file arguments to make the
- accounting entries.
-
- If you are shopping for filters, see if they are
- LPD-compatible. If they are, they must support the
- argument lists described above. If you plan on writing
- filters for general use, then have them support the same
- argument lists and exit codes.
-
- <sect2><heading>Accommodating Plain Text Jobs on PostScript Printers
- <label id="printing:advanced:if-conversion"></heading>
-
- <p> If you are the only user of your computer and PostScript
- (or other language-based) printer, and you promise to
- never send plain text to your printer and to never use
- features of various programs that will want to send plain
- text to your printer, then you do not need to worry about
- this section at all.
-
- But, if you would like to send both PostScript and plain
- text jobs to the printer, then you are urged to augment
- your printer setup. To do so, we have the text filter
- detect if the arriving job is plain text or PostScript.
- All PostScript jobs must start with <tt/&percnt;!/ (for
- other printer languages, see your printer documentation).
- If those are the first two characters in the job, we have
- PostScript, and can pass the rest of the job directly. If
- those are not the first two characters in the file, then
- the filter will convert the text into PostScript and print
- the result.
-
- How do we do this?
-
- If you have got a serial printer, a great way to do it is to
- install <tt/lprps/. <tt/lprps/ is a PostScript printer
- filter which performs two-way communication with the
- printer. It updates the printer's status file with
- verbose information from the printer, so users and
- administrators can see exactly what the state of the
- printer is (such as ``toner low'' or ``paper jam''). But
- more importantly, it includes a program called <tt/psif/
- which detects whether the incoming job is plain text and
- calls <tt/textps/ (another program that comes with
- <tt/lprps/) to convert it to PostScript. It then uses
- <tt/lprps/ to send the job to the printer.
-
- <tt/lprps/ is part of the FreeBSD ports collection
- (see <ref id="ports" name="The Ports Collection">).
- You can fetch, build and install it
- yourself, of course. After installing <tt/lprps/, just
- specify the pathname to the <tt/psif/ program that is part
- of <tt/lprps/. If you installed <tt/lprps/ from the ports
- collection, use the following in the serial PostScript
- printer's entry in <tt>/etc/printcap</tt>:
-<tscreen><verb>
- :if=/usr/local/libexec/psif:
-</verb></tscreen>
- You should also specify the <tt/rw/ capability; that tells
- LPD to open the printer in read-write mode.
-
- If you have a parallel PostScript printer (and therefore
- cannot use two-way communication with the printer, which
- <tt/lprps/ needs), you can use the following shell script
- as the text filter:
-<code>
-#!/bin/sh
-#
-# psif - Print PostScript or plain text on a PostScript printer
-# Script version; NOT the version that comes with lprps
-# Installed in /usr/local/libexec/psif
-#
-
-read first_line
-first_two_chars=`expr "$first_line" : '\(..\)'`
-
-if [ "$first_two_chars" = "%!" ]; then
- #
- # PostScript job, print it.
- #
- echo $first_line &amp;&amp; cat &amp;&amp; printf "\004" &amp;&amp; exit 0
- exit 2
-else
- #
- # Plain text, convert it, then print it.
- #
- ( echo $first_line; cat ) | /usr/local/bin/textps &amp;&amp; printf "\004" &amp;&amp; exit 0
- exit 2
-fi
-</code>
- In the above script, <tt/textps/ is a program we installed
- separately to convert plain text to PostScript. You can
- use any text-to-PostScript program you wish. The FreeBSD
- ports collection (see <ref id="ports" name="The Ports
- Collection">) includes a full featured text-to-PostScript
- program called <tt/a2ps/ that you might want to
- investigate.
-
- <sect2><heading>Simulating PostScript on Non-PostScript Printers
- <label id="printing:advanced:ps"></heading>
-
- <p> PostScript is the <it/de facto/ standard for high
- quality typesetting and printing. PostScript is, however,
- an <em/expensive/ standard. Thankfully, Alladin
- Enterprises has a free PostScript work-alike called
- <it/Ghostscript/ that runs with FreeBSD. Ghostscript can
- read most PostScript files and can render their pages onto
- a variety of devices, including many brands of
- non-PostScript printers. By installing Ghostscript and
- using a special text filter for your printer, you can make
- your non-PostScript printer act like a real PostScript
- printer.
-
- Ghostscript should be in the FreeBSD ports collection, if
- you would like to install it from there. You can fetch,
- build, and install it quite easily yourself, as well.
-
- To simulate PostScript, we have the text filter detect if
- it is printing a PostScript file. If it is not, then the
- filter will pass the file directly to the printer;
- otherwise, it will use Ghostscript to first convert the
- file into a format the printer will understand.
-
- Here is an example: the following script is a text filter
- for Hewlett Packard DeskJet 500 printers. For other
- printers, substitute the <tt/-sDEVICE/ argument to the
- <tt/gs/ (Ghostscript) command. (Type <tt/gs -h/ to get a
- list of devices the current installation of Ghostscript
- supports.)
-<code>
-#!/bin/sh
-#
-# ifhp - Print Ghostscript-simulated PostScript on a DeskJet 500
-# Installed in /usr/local/libexec/hpif
-
-#
-# Treat LF as CR+LF:
-#
-printf "\033&amp;k2G" || exit 2
-
-#
-# Read first two characters of the file
-#
-read first_line
-first_two_chars=`expr "$first_line" : '\(..\)'`
-
-if [ "$first_two_chars" = "%!" ]; then
- #
- # It is PostScript; use Ghostscript to scan-convert and print it
- #
- /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 -sOutputFile=- - \
- &amp;&amp; exit 0
-
-else
- #
- # Plain text or HP/PCL, so just print it directly; print a form
- # at the end to eject the last page.
- #
- echo $first_line &amp;&amp; cat &amp;&amp; printf "\f" &amp;&amp; exit 2
-fi
-
-exit 2
-</code>
- Finally, you need to notify LPD of the filter via the
- <tt/if/ capability:
-<tscreen><verb>
- :if=/usr/local/libexec/hpif:
-</verb></tscreen>
- That is it. You can type <tt/lpr plain.text/ and <tt/lpr
- whatever.ps/ and both should print successfully.
-
-
- <sect2><heading>Conversion Filters<label
- id="printing:advanced:convfilters"></heading>
-
- <p> After completing the simple setup described in <ref
- name="Simple Printer Setup" id="printing:simple">, the
- first thing you will probably want to do is install
- conversion filters for your favorite file formats
- (besides plain ASCII text).
-
- <sect3><heading>Why Install Conversion Filters?</heading>
-
- <p> Conversion filters make printing various kinds of
- files easy. As an example, suppose we do a lot of work
- with the TeX typesetting system, and we have a
- PostScript printer. Every time we generate a DVI file
- from TeX, we cannot print it directly until we convert
- the DVI file into PostScript. The command sequence
- goes like this:
-<tscreen><verb>
-dvips seaweed-analysis.dvi
-lpr seaweed-analysis.ps
-</verb></tscreen>
- By installing a conversion filter for DVI files, we can
- skip the hand conversion step each time by having LPD do
- it for us. Now, each time we get a DVI file, we are just
- one step away from printing it:
-<tscreen><verb>
-lpr -d seaweed-analysis.dvi
-</verb></tscreen>
- We got LPD to do the DVI file conversion for us by
- specifying the <tt/-d/ option. Section <ref
- id="printing:lpr:options:format" name="Formatting and
- Conversion Options"> lists the conversion options.
-
- For each of the conversion options you want a printer to
- support, install a <em/conversion filter/ and specify
- its pathname in <tt>/etc/printcap</tt>. A conversion
- filter is like the text filter for the simple printer
- setup (see section <ref id="printing:textfilter"
- name="Installing the Text Filter">) except that instead
- of printing plain text, the filter converts the file
- into a format the printer can understand.
-
- <sect3><heading>Which Conversions Filters Should I Install?
- </heading>
-
- <p> You should install the conversion filters you expect
- to use. If you print a lot of DVI data, then a DVI
- conversion filter is in order. If you have got plenty of
- troff to print out, then you probably want a troff
- filter.
-
- The following table summarizes the filters that LPD
- works with, their capability entries for the
- <tt>/etc/printcap</tt> file, and how to invoke them with
- the <tt/lpr/ command:
-<code>
- /etc/printcap
-File type Capability lpr option
------------- ------------- ----------
-cifplot cf -c
-DVI df -d
-plot gf -g
-ditroff nf -n
-FORTRAN text rf -f
-troff tf -t
-raster vf -v
-plain text if none, -p, or -l
-</code>
-
- In our example, using <tt/lpr -d/ means the printer
- needs a <tt/df/ capability in its entry in
- <tt>/etc/printcap</tt>.
-
- Despite what others might contend, formats like FORTRAN
- text and plot are probably obsolete. At your site, you
- can give new meanings to these or any of the formatting
- options just by installing custom filters. For example,
- suppose you would like to directly print Printerleaf files
- (files from the Interleaf desktop publishing program),
- but will never print plot files. You could install a
- Printerleaf conversion filter under the <tt/gf/
- capability and then educate your users that <tt/lpr -g/
- mean ``print Printerleaf files.''
-
- <sect3><heading>Installing Conversion Filters</heading>
-
- <p> Since conversion filters are programs you install
- outside of the base FreeBSD installation, they should
- probably go under <tt>/usr/local</tt>. The directory
- <tt>/usr/local/libexec</tt> is a popular location, since
- they are specialized programs that only LPD will
- run; regular users should not ever need to run them.
-
- To enable a conversion filter, specify its pathname
- under the appropriate capability for the destination
- printer in <tt>/etc/printcap</tt>.
-
- In our example, we will add the DVI conversion filter to
- the entry for the printer named <tt/bamboo/. Here is the
- example <tt>/etc/printcap</tt> file again, with the new
- <tt/df/ capability for the printer <tt/bamboo/
-<code>
-#
-# /etc/printcap for host rose - added df filter for bamboo
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\
- :if=/usr/local/libexec/psif:\
- :df=/usr/local/libexec/psdf:
-</code>
- The DVI filter is a shell script named
- <tt>/usr/local/libexec/psdf</tt>. Here is that script:
-<code>
-#!bin/sh
-#
-# psdf - DVI to PostScript printer filter
-# Installed in /usr/local/libexec/psdf
-#
-# Invoked by lpd when user runs lpr -d
-#
-exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"
-</code>
- This script runs <tt/dvips/ in filter mode (the <tt/-f/
- argument) on standard input, which is the job to print.
- It then starts the PostScript printer filter <tt/lprps/
- (see section <ref id="printing:advanced:if-conversion"
- name="Accommodating Plain Text Jobs on PostScript
- Printers">) with the arguments LPD passed to this script.
- <tt/lprps/ will use those arguments to account for the
- pages printed.
-
- <sect3><heading>More Conversion Filter Examples</heading>
-
- <p> Since there is no fixed set of steps to install
- conversion filters, let me instead provide more
- examples. Use these as guidance to making your own
- filters. Use them directly, if appropriate.
-
- This example script is a raster (well, GIF file,
- actually) conversion filter for a Hewlett Packard
- LaserJet III-Si printer:
-<code>
-#!/bin/sh
-#
-# hpvf - Convert GIF files into HP/PCL, then print
-# Installed in /usr/local/libexec/hpvf
-
-PATH=/usr/X11R6/bin:$PATH; export PATH
-
-giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \
- && exit 0 \
- || exit 2
-</code>
- It works by converting the GIF file into a portable
- anymap, converting that into a portable graymap,
- converting that into a portable bitmap, and converting
- that into LaserJet/PCL-compatible data.
-
- Here is the <tt>/etc/printcap</tt> file with an entry for
- a printer using the above filter:
-<code>
-#
-# /etc/printcap for host orchid
-#
-teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
- :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
- :if=/usr/local/libexec/hpif:\
- :vf=/usr/local/libexec/hpvf:
-</code>
-
- The following script is a conversion filter for troff
- data from the groff typesetting system for the
- PostScript printer named <tt/bamboo/:
-<code>
-#!/bin/sh
-#
-# pstf - Convert groff's troff data into PS, then print.
-# Installed in /usr/local/libexec/pstf
-#
-exec grops | /usr/local/libexec/lprps "$@"
-</code>
- The above script makes use of <tt/lprps/ again to handle
- the communication with the printer. If the printer were
- on a parallel port, we would use this script instead:
-<code>
-#!/bin/sh
-#
-# pstf - Convert groff's troff data into PS, then print.
-# Installed in /usr/local/libexec/pstf
-#
-exec grops
-</code>
- That is it. Here is the entry we need to add to
- <tt>/etc/printcap</tt> to enable the filter:
-<tscreen><verb>
- :tf=/usr/local/libexec/pstf:
-</verb></tscreen>
-
- Here is an example that might make old hands at FORTRAN
- blush. It is a FORTRAN-text filter for any printer that
- can directly print plain text. We will install it for the
- printer <tt/teak/:
-<code>
-#!/bin/sh
-#
-# hprf - FORTRAN text filter for LaserJet 3si:
-# Installed in /usr/local/libexec/hprf
-#
-
-printf "\033&amp;k2G" &amp;&amp; fpr &amp;&amp; printf "\f" &amp;&amp; exit 0
-exit 2
-</code>
- And we will add this line to the <tt>/etc/printcap</tt>
- for the printer <tt/teak/ to enable this filter:
-<tscreen><verb>
- :rf=/usr/local/libexec/hprf:
-</verb></tscreen>
-
- Here is one final, somewhat complex example. We will add a
- DVI filter to the LaserJet printer <tt/teak/ introduced
- earlier. First, the easy part: updating
- <tt>/etc/printcap</tt> with the location of the DVI
- filter:
-<tscreen><verb>
- :df=/usr/local/libexec/hpdf:
-</verb></tscreen>
-
- Now, for the hard part: making the filter. For that, we
- need a DVI-to-LaserJet/PCL conversion program. The
- FreeBSD ports collection (see <ref id="ports" name="The
- Ports Collection">) has one: <tt/dvi2xx/ is the name of
- the package. Installing this package gives us the
- program we need, <tt/dvilj2p/, which converts DVI into
- LaserJet IIp, LaserJet III, and LaserJet 2000 compatible
- codes.
-
- <tt/dvilj2p/ makes the filter <tt/hpdf/ quite complex
- since <tt/dvilj2p/ cannot read from standard input. It
- wants to work with a filename. What is worse, the
- filename has to end in <tt/.dvi/ so using
- <tt>/dev/fd/0</tt> for standard input is problematic.
- We can get around that problem by linking (symbolically)
- a temporary file name (one that ends in <tt/.dvi/) to
- <tt>/dev/fd/0</tt>, thereby forcing <tt/dvilj2p/ to read
- from standard input.
-
- The only other fly in the ointment is the fact that we
- cannot use /tmp for the temporary link. Symbolic links
- are owned by user and group <tt/bin/. The filter runs
- as user <tt/daemon/. And the <tt>/tmp</tt> directory
- has the sticky bit set. The filter can create the link,
- but it will not be able clean up when done and remove it
- since the link will belong to a different user.
-
- Instead, the filter will make the symbolic link in the
- current working directory, which is the spooling
- directory (specified by the <tt/sd/ capability in
- <tt>/etc/printcap</tt>). This is a perfect place for
- filters to do their work, especially since there is
- (sometimes) more free disk space in the spooling directory
- than under <tt>/tmp</tt>.
-
- Here, finally, is the filter:
-<code>
-#!/bin/sh
-#
-# hpdf - Print DVI data on HP/PCL printer
-# Installed in /usr/local/libexec/hpdf
-
-PATH=/usr/local/bin:$PATH; export PATH
-
-#
-# Define a function to clean up our temporary files. These exist
-# in the current directory, which will be the spooling directory
-# for the printer.
-#
-cleanup() {
- rm -f hpdf$$.dvi
-}
-
-#
-# Define a function to handle fatal errors: print the given message
-# and exit 2. Exiting with 2 tells LPD to do not try to reprint the
-# job.
-#
-fatal() {
- echo "$@" 1>&amp;2
- cleanup
- exit 2
-}
-
-#
-# If user removes the job, LPD will send SIGINT, so trap SIGINT
-# (and a few other signals) to clean up after ourselves.
-#
-trap cleanup 1 2 15
-
-#
-# Make sure we are not colliding with any existing files.
-#
-cleanup
-
-#
-# Link the DVI input file to standard input (the file to print).
-#
-ln -s /dev/fd/0 hpdf$$.dvi || fatal "Cannot symlink /dev/fd/0"
-
-#
-# Make LF = CR+LF
-#
-printf "\033&amp;k2G" || fatal "Cannot initialize printer"
-
-#
-# Convert and print. Return value from dvilj2p does not seem to be
-# reliable, so we ignore it.
-#
-dvilj2p -M1 -q -e- dfhp$$.dvi
-
-#
-# Clean up and exit
-#
-cleanup
-exit 0
-</code>
-
- <sect3><heading>Automated Conversion: An Alternative To Conversion Filters
- <label id="printing:advanced:autoconv"></heading>
-
- <p> All these conversion filters accomplish a lot for your
- printing environment, but at the cost forcing the user
- to specify (on the <tt/lpr/ command line) which one to
- use. If your users are not particularly computer
- literate, having to specify a filter option will become
- annoying. What is worse, though, is that an incorrectly
- specified filter option may run a filter on the wrong
- type of file and cause your printer to spew out hundreds
- of sheets of paper.
-
- Rather than install conversion filters at all, you might
- want to try having the text filter (since it is the
- default filter) detect the type of file it has been asked to
- print and then automatically run the right conversion
- filter. Tools such as <tt/file/ can be of help here.
- Of course, it will be hard to determine the differences
- between <em/some/ file types---and, of course, you can
- still provide conversion filters just for them.
-
- The FreeBSD ports collection has a text filter that
- performs automatic conversion called <tt/apsfilter/. It
- can detect plain text, PostScript, and DVI files, run
- the proper conversions, and print.
-
- <sect2><heading>Output Filters<label
- id="printing:advanced:of"></heading>
-
- <p> The LPD spooling system supports one other type of
- filter that we have not yet explored: an output filter. An
- output filter is intended for printing plain text only,
- like the text filter, but with many simplifications. If
- you are using an output filter but no text filter, then
- <itemize>
- <item>LPD starts an output filter once for the entire
- job instead of once for each file in the job.
-
- <item>LPD does not make any provision to identify the
- start or the end of files within the job for the
- output filter.
-
- <item>LPD does not pass the user's login or host to
- the filter, so it is not intended to do accounting. In
- fact, it gets only two arguments:
-<tscreen>
-<tt>-w<it/width/ -l<it/length/</tt>
-</tscreen>
- where <it/width/ is from the <tt/pw/ capability and
- <it/length/ is from the <tt/pl/ capability for the
- printer in question.
- </itemize>
-
- Do not be seduced by an output filter's simplicity. If
- you would like each file in a job to start on a different page
- an output filter <em/will not work/. Use a text filter (also
- known as an input filter); see section <ref
- id="printing:textfilter" name="Installing the Text
- Filter">. Furthermore, an output filter is actually
- <em/more complex/ in that it has to examine the byte
- stream being sent to it for special flag characters and
- must send signals to itself on behalf of LPD.
-
- However, an output filter is <em/necessary/ if you want
- header pages and need to send escape sequences or other
- initialization strings to be able to print the header
- page. (But it is also <em/futile/ if you want to charge
- header pages to the requesting user's account, since LPD
- does not give any user or host information to the output
- filter.)
-
- On a single printer, LPD allows both an output filter and
- text or other filters. In such cases, LPD will start the
- output filter to print the header page (see section <ref
- id="printing:advanced:header-pages" name="Header Pages">)
- only. LPD then expects the output filter to <em/stop
- itself/ by sending two bytes to the filter: ASCII 031
- followed by ASCII 001. When an output filter sees these
- two bytes (031, 001), it should stop by sending SIGSTOP to
- itself. When LPD's done running other filters, it will
- restart the output filter by sending SIGCONT to it.
-
- If there is an output filter but <em/no/ text filter and
- LPD is working on a plain text job, LPD uses the output
- filter to do the job. As stated before, the output filter
- will print each file of the job in sequence with no
- intervening form feeds or other paper advancement, and
- this is probably <em/not/ what you want. In almost all
- cases, you need a text filter.
-
- The program <tt/lpf/, which we introduced earlier as a text
- filter, can also run as an output filter. If you need a
- quick-and-dirty output filter but do not want to write the
- byte detection and signal sending code, try <tt/lpf/. You
- can also wrap <tt/lpf/ in a shell script to handle any
- initialization codes the printer might require.
-
- <sect2><heading><tt/lpf/: a Text Filter<label
- id="printing:advanced:lpf"></heading>
-
- <p> The program <tt>/usr/libexec/lpr/lpf</tt> that comes
- with FreeBSD binary distribution is a text filter (input
- filter) that can indent output (job submitted with <tt/lpr
- -i/), allow literal characters to pass (job submitted with
- <tt/lpr -l/), adjust the printing position for backspaces
- and tabs in the job, and account for pages printed. It
- can also act like an output filter.
-
- <tt/lpf/ is suitable for many printing environments. And
- although it has no capability to send initialization
- sequences to a printer, it is easy to write a shell script
- to do the needed initialization and then execute <tt/lpf/.
-
- In order for <tt/lpf/ to do page accounting correctly, it
- needs correct values filled in for the <tt/pw/ and <tt/pl/
- capabilities in the <tt>/etc/printcap</tt> file. It uses
- these values to determine how much text can fit on a page
- and how many pages were in a user's job. For more
- information on printer accounting, see <ref
- id="printing:advanced:acct" name="Accounting for Printer
- Usage">.
-
- <sect1><heading>Header Pages<label
- id="printing:advanced:header-pages"></heading>
-
- <p> If you have <em/lots/ of users, all of them using
- various printers, then you probably want to consider
- <em/header pages/ as a necessary evil.
-
- Header pages, also known as <em/banner/ or <em/burst pages/
- identify to whom jobs belong after they are printed. They are
- usually printed in large, bold letters, perhaps with
- decorative borders, so that in a stack of printouts they
- stand out from the real documents that comprise users' jobs.
- They enable users to locate their jobs quickly. The obvious
- drawback to a header page is that it is yet one more sheet
- that has to be printed for every job, their ephemeral
- usefulness lasting not more than a few minutes, ultimately
- finding themselves in a recycling bin or rubbish heap.
- (Note that header pages go with each job, not each file in a
- job, so the paper waste might not be that bad.)
-
- The LPD system can provide header pages automatically for
- your printouts <em/if/ your printer can directly print plain
- text. If you have a PostScript printer, you will need an
- external program to generate the header page; see <ref
- id="printing:advanced:header-pages:ps" name="Header Pages on
- PostScript Printers">.
-
- <sect2><heading>Enabling Header Pages<label
- id="printing:advanced:header-pages:enabling"></heading>
-
- <p> In the <ref id="printing:simple" name="Simple Printer
- Setup">, we turned off header pages by specifying
- <tt/sh/ (meaning ``suppress header'') in the
- <tt>/etc/printcap</tt> file. To enable header pages for
- a printer, just remove the <tt/sh/ capability.
-
- Sounds too easy, right?
-
- You are right. You <em/might/ have to provide an output
- filter to send initialization strings to the printer.
- Here is an example output filter for Hewlett Packard
- PCL-compatible printers:
-<code>
-#!/bin/sh
-#
-# hpof - Output filter for Hewlett Packard PCL-compatible printers
-# Installed in /usr/local/libexec/hpof
-
-
-printf "\033&amp;k2G" || exit 2
-exec /usr/libexec/lpr/lpf
-</code>
- Specify the path to the output filter in the <tt/of/
- capability. See <ref id="printing:advanced:of"
- name="Output Filters"> for more information.
-
- Here is an example <tt>/etc/printcap</tt> file for the printer
- <tt/teak/ that we introduced earlier; we enabled header
- pages and added the above output filter:
-<code>
-#
-# /etc/printcap for host orchid
-#
-teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
- :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\
- :if=/usr/local/libexec/hpif:\
- :vf=/usr/local/libexec/hpvf:\
- :of=/usr/local/libexec/hpof:
-</code>
- Now, when users print jobs to <tt/teak/, they get a header
- page with each job. If users want to spend time searching
- for their printouts, they can suppress header pages by
- submitting the job with <tt/lpr -h/; see <ref
- id="printing:lpr:options:misc" name="Header Page Options">
- for more <tt/lpr/ options.
-
- <tt/Note:/ LPD prints a form feed character after the
- header page. If your printer uses a different character
- or sequence of characters to eject a page, specify them
- with the <tt/ff/ capability in <tt>/etc/printcap</tt>.
-
- <sect2><heading>Controlling Header Pages<label
- id="printing:advanced:header-pages:controlling"></heading>
-
- <p> By enabling header pages, LPD will produce a <em/long
- header/, a full page of large letters identifying the
- user, host, and job. Here is an example (kelly printed
- the job named outline from host rose):
-<tscreen><verb>
-k ll ll
-k l l
-k l l
-k k eeee l l y y
-k k e e l l y y
-k k eeeeee l l y y
-kk k e l l y y
-k k e e l l y yy
-k k eeee lll lll yyy y
- y
- y y
- yyyy
-
-
- ll
- t l i
- t l
- oooo u u ttttt l ii n nnn eeee
-o o u u t l i nn n e e
-o o u u t l i n n eeeeee
-o o u u t l i n n e
-o o u uu t t l i n n e e
- oooo uuu u tt lll iii n n eeee
-
-
-
-
-
-
-
-
-
-r rrr oooo ssss eeee
-rr r o o s s e e
-r o o ss eeeeee
-r o o ss e
-r o o s s e e
-r oooo ssss eeee
-
-
-
-
-
-
-
- Job: outline
- Date: Sun Sep 17 11:04:58 1995
-</verb></tscreen>
- LPD appends a form feed after this text so the job starts
- on a new page (unless you have <tt/sf/ (suppress form
- feeds) in the destination printer's entry in
- <tt>/etc/printcap</tt>).
-
- If you prefer, LPD can make a <em/short header/; specify
- <tt/sb/ (short banner) in the <tt>/etc/printcap</tt> file.
- The header page will look like this:
-<tscreen><verb>
-rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995
-</verb></tscreen>
- Also by default, LPD prints the header page first, then
- the job. To reverse that, specify <tt/hl/ (header last)
- in <tt>/etc/printcap</tt>.
-
- <sect2><heading>Accounting for Header Pages<label
- id="printing:advanced:header-pages:accounting"></heading>
-
- <p> Using LPD's built-in header pages enforces a particular
- paradigm when it comes to printer accounting: header pages
- must be <em/free of charge/.
-
- Why?
-
- Because the output filter is the only external program
- that will have control when the header page is printed
- that could do accounting, and it is not provided with any
- <em/user or host/ information or an accounting file, so it
- has no idea whom to charge for printer use. It is also not
- enough to just ``add one page'' to the text filter or any
- of the conversion filters (which do have user and host
- information) since users can suppress header pages with
- <tt/lpr -h/. They could still be charged for header pages
- they did not print. Basically, <tt/lpr -h/ will be the
- preferred option of environmentally-minded users, but you
- cannot offer any incentive to use it.
-
- It is <em/still not enough/ to have each of the filters
- generate their own header pages (thereby being able to
- charge for them). If users wanted the option of
- suppressing the header pages with <tt/lpr -h/, they will
- still get them and be charged for them since LPD does not
- pass any knowledge of the <tt/-h/ option to any of the
- filters.
-
- So, what are your options?
-
- You can
- <itemize>
- <item>Accept LPD's paradigm and make header pages free.
-
- <item>Install an alternative to LPD, such as LPDng or
- PLP. Section <ref name="Alternatives to the Standard
- Spooler" id="printing:lpd-alternatives"> tells more
- about other spooling software you can substitute for
- LPD.
-
- <item>Write a <em/smart/ output filter. Normally, an
- output filter is not meant to do anything more than
- initialize a printer or do some simple character
- conversion. It is suited for header pages and plain
- text jobs (when there is no text (input) filter).
-
- But, if there is a text filter for the plain text
- jobs, then LPD will start the output filter only for
- the header pages. And the output filter can parse the
- header page text that LPD generates to determine what
- user and host to charge for the header page. The only
- other problem with this method is that the output
- filter still does not know what accounting file to use
- (it is not passed the name of the file from the <tt/af/
- capability), but if you have a well-known accounting
- file, you can hard-code that into the output filter.
-
- To facilitate the parsing step, use the <tt/sh/ (short
- header) capability in <tt>/etc/printcap</tt>.
-
- Then again, all that might be too much trouble, and
- users will certainly appreciate the more generous
- system administrator who makes header pages free.
- </itemize>
-
- <sect2><heading>Header Pages on PostScript Printers<label
- id="printing:advanced:header-pages:ps"></heading>
-
- <p> As described above, LPD can generate a plain text header
- page suitable for many printers. Of course, PostScript
- cannot directly print plain text, so the header page
- feature of LPD is useless---or mostly so.
-
- One obvious way to get header pages is to have every
- conversion filter and the text filter generate the header
- page. The filters should should use the user and host
- arguments to generate a suitable header page. The
- drawback of this method is that users will always get a
- header page, even if they submit jobs with <tt/lpr -h/.
-
- Let us explore this method. The following script takes
- three arguments (user login name, host name, and job name)
- and makes a simple PostScript header page:
-<code>
-#!/bin/sh
-#
-# make-ps-header - make a PostScript header page on stdout
-# Installed in /usr/local/libexec/make-ps-header
-#
-
-#
-# These are PostScript units (72 to the inch). Modify for A4 or
-# whatever size paper you are using:
-#
-page_width=612
-page_height=792
-border=72
-
-#
-# Check arguments
-#
-if [ $# -ne 3 ]; then
- echo "Usage: `basename $0` <user> <host> <job>" 1>&amp;2
- exit 1
-fi
-
-#
-# Save these, mostly for readability in the PostScript, below.
-#
-user=$1
-host=$2
-job=$3
-date=`date`
-
-#
-# Send the PostScript code to stdout.
-#
-exec cat <<EOF
-%!PS
-
-%
-% Make sure we do not interfere with user's job that will follow
-%
-save
-
-%
-% Make a thick, unpleasant border around the edge of the paper.
-%
-$border $border moveto
-$page_width $border 2 mul sub 0 rlineto
-0 $page_height $border 2 mul sub rlineto
-currentscreen 3 -1 roll pop 100 3 1 roll setscreen
-$border 2 mul $page_width sub 0 rlineto closepath
-0.8 setgray 10 setlinewidth stroke 0 setgray
-
-%
-% Display user's login name, nice and large and prominent
-%
-/Helvetica-Bold findfont 64 scalefont setfont
-$page_width ($user) stringwidth pop sub 2 div $page_height 200 sub moveto
-($user) show
-
-%
-% Now show the boring particulars
-%
-/Helvetica findfont 14 scalefont setfont
-/y 200 def
-[ (Job:) (Host:) (Date:) ] {
- 200 y moveto show /y y 18 sub def
-} forall
-
-/Helvetica-Bold findfont 14 scalefont setfont
-/y 200 def
-[ ($job) ($host) ($date) ] {
- 270 y moveto show /y y 18 sub def
-} forall
-
-%
-% That is it
-%
-restore
-showpage
-EOF
-</code>
- Now, each of the conversion filters and the text filter
- can call this script to first generate the header page,
- and then print the user's job. Here is the DVI conversion
- filter from earlier in this document, modified to make a
- header page:
-<code>
-#!/bin/sh
-#
-# psdf - DVI to PostScript printer filter
-# Installed in /usr/local/libexec/psdf
-#
-# Invoked by lpd when user runs lpr -d
-#
-
-orig_args="$@"
-
-fail() {
- echo "$@" 1>&amp;2
- exit 2
-}
-
-while getopts "x:y:n:h:" option; do
- case $option in
- x|y) ;; # Ignore
- n) login=$OPTARG ;;
- h) host=$OPTARG ;;
- *) echo "LPD started `basename $0` wrong." 1>&amp;2
- exit 2
- ;;
- esac
-done
-
-[ "$login" ] || fail "No login name"
-[ "$host" ] || fail "No host name"
-
-( /usr/local/libexec/make-ps-header $login $host "DVI File"
- /usr/local/bin/dvips -f ) | eval /usr/local/libexec/lprps $orig_args
-</code>
- Notice how the filter has to parse the argument list in
- order to determine the user and host name. The parsing
- for the other conversion filters is identical. The text
- filter takes a slightly different set of arguments, though
- (see section <ref id="printing:advanced:filters" name="How
- Filters Work">).
-
- As we have mentioned before, the above scheme, though fairly
- simple, disables the ``suppress header page'' option (the
- <tt/-h/ option) to <tt/lpr/. If users wanted to save a
- tree (or a few pennies, if you charge for header pages),
- they would not be able to do so, since every filter's going
- to print a header page with every job.
-
- To allow users to shut off header pages on a per-job
- basis, you will need to use the trick introduced in section
- <ref id="printing:advanced:header-pages:accounting"
- name="Accounting for Header Pages">: write an output
- filter that parses the LPD-generated header page and
- produces a PostScript version. If the user submits the
- job with <tt/lpr -h/, then LPD will not generate a header
- page, and neither will your output filter. Otherwise,
- your output filter will read the text from LPD and send
- the appropriate header page PostScript code to the
- printer.
-
- If you have a PostScript printer on a serial line, you
- can make use of <tt/lprps/, which comes with an output
- filter, <tt/psof/, which does the above. Note that
- <tt/psof/ does not charge for header pages.
-
- <sect1><heading>Networked Printing<label
- id="printing:advanced:network-printers"></heading>
-
- <p> FreeBSD supports networked printing: sending jobs to
- remote printers. Networked printing generally refers to two
- different things:
- <itemize>
- <item>Accessing a printer attached to a remote host. You
- install a printer that has a conventional serial or
- parallel interface on one host. Then, you set up LPD to
- enable access to the printer from other hosts on the
- network. Section <ref id="printing:advanced:network:rm"
- name="Printers Installed on Remote Hosts"> tells how to
- do this.
-
- <item>Accessing a printer attached directly to a network.
- The printer has a network interface in addition (or in
- place of) a more conventional serial or parallel
- interface. Such a printer might work as follows:
-
- <itemize>
- <item>It might understand the LPD protocol and can
- even queue jobs from remote hosts. In this case, it
- acts just like a regular host running LPD. Follow
- the same procedure in section <ref
- id="printing:advanced:network:rm" name="Printers
- Installed on Remote Hosts"> to set up such a
- printer.
-
- <item>It might support a data stream network
- connection. In this case, you ``attach'' the
- printer to one host on the network by making that
- host responsible for spooling jobs and sending them
- to the printer. Section <ref
- id="printing:advanced:network:net-if" name="Printers
- with Networked Data Stream Interfaces"> gives some
- suggestions on installing such printers.
- </itemize>
- </itemize>
-
- <sect2><heading>Printers Installed on Remote Hosts<label
- id="printing:advanced:network:rm"></heading>
-
- <p> The LPD spooling system has built-in support for sending
- jobs to other hosts also running LPD (or are compatible
- with LPD). This feature enables you to install a printer
- on one host and make it accessible from other hosts. It
- also works with printers that have network interfaces that
- understand the LPD protocol.
-
- To enable this kind of remote printing, first install a
- printer on one host, the <em/printer host/, using the
- simple printer setup described in <ref
- id="printing:simple" name="Simple Printer Setup">. Do any
- advanced setup in <ref id="printing:advanced"
- name="Advanced Printer Setup"> that you need. Make sure
- to test the printer and see if it works with the features
- of LPD you have enabled.
-
- If you are using a printer with a network interface that is
- compatible with LPD, then the <em/printer host/ in the
- discussion below is the printer itself, and the
- <em/printer name/ is the name you configured for the
- printer. See the documentation that accompanied your
- printer and/or printer-network interface.
-
- Then, on the other hosts you want to have access to the
- printer, make an entry in their <tt>/etc/printcap</tt>
- files with the following:
- <enum>
- <item>Name the entry anything you want. For
- simplicity, though, you probably want to use the same
- name and aliases as on the printer host.
-
- <item>Leave the <tt/lp/ capability blank, explicitly
- (<tt/:lp=:/).
-
- <item>Make a spooling directory and specify its
- location in the <tt/sd/ capability. LPD will store
- jobs here before they get sent to the printer host.
-
- <item>Place the name of the printer host in the <tt/rm/
- capability.
-
- <item>Place the printer name on the <em/printer host/ in
- the <tt/rp/ capability.
- </enum>
- That is it. You do not need to list conversion filters,
- page dimensions, or anything else in the
- <tt>/etc/printcap</tt> file.
-
- Here is an example. The host rose has two printers,
- <tt/bamboo/ and <tt/rattan/. We will enable users on the
- host orchid to print to those printers. Here is the
- <tt>/etc/printcap</tt> file for orchid (back from section
- <ref id="printing:advanced:header-pages:enabling"
- name="Enabling Header Pages">). It already had the entry
- for the printer <tt/teak/; we have added entries for the two
- printers on the host rose:
-<code>
-#
-# /etc/printcap for host orchid - added (remote) printers on rose
-#
-
-#
-# teak is local; it is connected directly to orchid:
-#
-teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
- :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\
- :if=/usr/local/libexec/ifhp:\
- :vf=/usr/local/libexec/vfhp:\
- :of=/usr/local/libexec/ofhp:
-
-#
-# rattan is connected to rose; send jobs for rattan to rose:
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:
-
-#
-# bamboo is connected to rose as well:
-#
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:
-</code>
- Then, we just need to make spooling directories on orchid:
-<tscreen><verb>
-mkdir -p /var/spool/lpd/rattan /var/spool/lpd/bamboo
-chmod 770 /var/spool/lpd/rattan /var/spool/lpd/bamboo
-chown daemon.daemon /var/spool/lpd/rattan /var/spool/lpd/bamboo
-</verb></tscreen>
-
- Now, users on orchid can print to <tt/rattan/ and
- <tt/bamboo/. If, for example, a user on orchid typed
-<tscreen><verb>
-lpr -P bamboo -d sushi-review.dvi
-</verb></tscreen>
- the LPD system on orchid would copy the job to the
- spooling directory <tt>/var/spool/lpd/bamboo</tt> and note
- that it was a DVI job. As soon as the host rose has room
- in its <tt/bamboo/ spooling directory, the two
- LPDs would transfer the file to rose. The file would wait
- in rose's queue until it was finally printed. It would be
- converted from DVI to PostScript (since bamboo is a
- PostScript printer) on rose.
-
- <sect2><heading>Printers with Networked Data Stream Interfaces<label
- id="printing:advanced:network:net-if"></heading>
-
- <p> Often, when you buy a network interface card for a
- printer, you can get two versions: one which emulates a
- spooler (the more expensive version), or one which just
- lets you send data to it as if you were using a serial or
- parallel port (the cheaper version). This section tells
- how to use the cheaper version. For the more expensive
- one, see the previous section <ref name="Printers
- Installed on Remote Hosts" id="printing:advanced:network:rm">.
-
- The format of the <tt>/etc/printcap</tt> file lets you
- specify what serial or parallel interface to use, and (if
- you are using a serial interface), what baud rate, whether
- to use flow control, delays for tabs, conversion of
- newlines, and more. But there is no way to specify a
- connection to a printer that is listening on a TCP/IP or
- other network port.
-
- To send data to a networked printer, you need to develop a
- communications program that can be called by the text and
- conversion filters. Here is one such example: the script
- <tt/netprint/ takes all data on standard input and sends
- it to a network-attached printer. We specify the hostname
- of the printer as the first argument and the port number
- to which to connect as the second argument to
- <tt/netprint/. Note that this supports one-way
- communication only (FreeBSD to printer); many network
- printers support two-way communication, and you might want
- to take advantage of that (to get printer status, perform
- accounting, etc.).
-<code>
-#!/usr/bin/perl
-#
-# netprint - Text filter for printer attached to network
-# Installed in /usr/local/libexec/netprint
-#
-
-$#ARGV eq 1 || die "Usage: $0 <printer-hostname> <port-number>";
-
-$printer_host = $ARGV[0];
-$printer_port = $ARGV[1];
-
-require 'sys/socket.ph';
-
-($ignore, $ignore, $protocol) = getprotobyname('tcp');
-($ignore, $ignore, $ignore, $ignore, $address)
- = gethostbyname($printer_host);
-
-$sockaddr = pack('S n a4 x8', &amp;AF_INET, $printer_port, $address);
-
-socket(PRINTER, &amp;PF_INET, &amp;SOCK_STREAM, $protocol)
- || die "Can't create TCP/IP stream socket: $!";
-connect(PRINTER, $sockaddr) || die "Can't contact $printer_host: $!";
-while (<STDIN>) { print PRINTER; }
-exit 0;
-</code>
- We can then use this script in various filters. Suppose
- we had a Diablo 750-N line printer connected to the
- network. The printer accepts data to print on port number
- 5100. The host name of the printer is scrivener. Here is
- the text filter for the printer:
-<code>
-#!/bin/sh
-#
-# diablo-if-net - Text filter for Diablo printer `scrivener' listening
-# on port 5100. Installed in /usr/local/libexec/diablo-if-net
-#
-
-exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100
-</code>
-
-
- <sect1><heading>Restricting Printer Usage<label
- id="printing:advanced:restricting"></heading>
-
- <p> This section gives information on restricting printer
- usage. The LPD system lets you control who can access a
- printer, both locally or remotely, whether they can print
- multiple copies, how large their jobs can be, and how large
- the printer queues can get.
-
- <sect2><heading>Restricting Multiple Copies<label
- id="printing:advanced:restricting:copies"></heading>
-
- <p> The LPD system makes it easy for users to print multiple
- copies of a file. Users can print jobs with <tt/lpr -&num;5/
- (for example) and get five copies of each file in the job.
- Whether this is a good thing is up to you.
-
- If you feel multiple copies cause unnecessary wear and
- tear on your printers, you can disable the <tt/-&num;/ option
- to <tt/lpr/ by adding the <tt/sc/ capability to the
- <tt>/etc/printcap</tt> file. When users submit jobs
- with the <tt/-&num;/ option, they will see
-<tscreen><verb>
-lpr: multiple copies are not allowed
-</verb></tscreen>
-
- Note that if you have set up access to a printer remotely
- (see section <ref name="Printers Installed on Remote
- Hosts" id="printing:advanced:network:rm">), you need the
- <tt/sc/ capability on the remote <tt>/etc/printcap</tt>
- files as well, or else users will still be able to submit
- multiple-copy jobs by using another host.
-
- Here is an example. This is the <tt>/etc/printcap</tt>
- file for the host rose. The printer <tt/rattan/ is quite
- hearty, so we will allow multiple copies, but the laser
- printer <tt/bamboo/'s a bit more delicate, so we will
- disable multiple copies by adding the <tt/sc/ capability:
-<code>
-#
-# /etc/printcap for host rose - restrict multiple copies on bamboo
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:sc:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\
- :if=/usr/local/libexec/psif:\
- :df=/usr/local/libexec/psdf:
-</code>
- Now, we also need to add the <tt/sc/ capability on the
- host orchid's <tt>/etc/printcap</tt> (and while we are at
- it, let us disable multiple copies for the printer
- <tt/teak/):
-<code>
-#
-# /etc/printcap for host orchid - no multiple copies for local
-# printer teak or remote printer bamboo
-
-teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
- :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:sc:\
- :if=/usr/local/libexec/ifhp:\
- :vf=/usr/local/libexec/vfhp:\
- :of=/usr/local/libexec/ofhp:
-
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:sc:
-</code>
- By using the <tt/sc/ capability, we prevent the use of
- <tt/lpr -&num;/, but that still does not prevent users from
- running <tt/lpr/ multiple times, or from submitting the
- same file multiple times in one job like this:
-<tscreen><verb>
-lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign
-</verb></tscreen>
- There are many ways to prevent this abuse (including
- ignoring it) which you are free to explore.
-
- <sect2><heading>Restricting Access To Printers<label
- id="printing:advanced:restricting:access"></heading>
-
- <p> You can control who can print to what printers by using
- the UNIX group mechanism and the <tt/rg/ capability in
- <tt>/etc/printcap</tt>. Just place the users you want to
- have access to a printer in a certain group, and then name
- that group in the <tt/rg/ capability.
-
- Users outside the group (including root) will be greeted
- with
-<tscreen><verb>
-lpr: Not a member of the restricted group
-</verb></tscreen>
- if they try to print to the controlled printer.
-
- As with the <tt/sc/ (suppress multiple copies) capability,
- you need to specify <tt/rg/ on remote hosts that also have
- access to your printers, if you feel it is appropriate (see
- section <ref name="Printers Installed on Remote Hosts"
- id="printing:advanced:network:rm">).
-
- For example, we will let anyone access the printer
- <tt/rattan/, but only those in group <tt/artists/ can use
- <tt/bamboo/. Here is the familiar <tt>/etc/printcap</tt>
- for host rose:
-<code>
-#
-# /etc/printcap for host rose - restricted group for bamboo
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\
- :if=/usr/local/libexec/psif:\
- :df=/usr/local/libexec/psdf:
-</code>
- Let us leave the other example <tt>/etc/printcap</tt> file
- (for the host orchid) alone. Of course, anyone on orchid
- can print to <tt/bamboo/. It might be the case that we
- only allow certain logins on orchid anyway, and want them
- to have access to the printer. Or not.
-
- <em/Note:/ there can be only one restricted group per
- printer.
-
- <sect2><heading>Controlling Sizes of Jobs Submitted<label
- id="printing:advanced:restricting:sizes"></heading>
-
- <p> If you have many users accessing the printers, you
- probably need to put an upper limit on the sizes of the
- files users can submit to print. After all, there is only
- so much free space on the filesystem that houses the
- spooling directories, and you also need to make sure
- there is room for the jobs of other users.
-
- LPD enables you to limit the maximum byte size a file in a
- job can be with the <tt/mx/ capability. The units are in
- BUFSIZ blocks, which are 1024 bytes. If you put a zero
- for this capability, there will be no limit on file size.
- Note that the limit applies to <em/files/ in a job, and
- <em/not/ the total job size.
-
- LPD will not refuse a file that is larger than the limit you
- place on a printer. Instead, it will queue as much of the
- file up to the limit, which will then get printed. The
- rest will be discarded. Whether this is correct behavior
- is up for debate.
-
- Let us add limits to our example printers <tt/rattan/ and
- <tt/bamboo/. Since those artists' PostScript files tend
- to be large, we will limit them to five megabytes. We will
- put no limit on the plain text line printer:
-<code>
-#
-# /etc/printcap for host rose
-#
-
-#
-# No limit on job size:
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:
-
-#
-# Limit of five megabytes:
-#
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\
- :if=/usr/local/libexec/psif:\
- :df=/usr/local/libexec/psdf:
-</code>
- Again, the limits apply to the local users only. If
- you have set up access to your printers remotely, remote
- users will not get those limits. You will need to specify the
- <tt/mx/ capability in the remote <tt>/etc/printcap</tt>
- files as well. See section <ref name="Printers Installed
- on Remote Hosts" id="printing:advanced:network:rm"> for
- more information on remote printing.
-
- There is another specialized way to limit job sizes from
- remote printers; see section <ref
- id="printing:advanced:restricting:remote"
- name="Restricting Jobs from Remote Printers">.
-
- <sect2><heading>Restricting Jobs from Remote Printers<label
- id="printing:advanced:restricting:remote"></heading>
-
- <p> The LPD spooling system provides several ways to restrict
- print jobs submitted from remote hosts:
-
- <descrip>
- <tag/Host restrictions/
-
- You can control from which remote hosts a local LPD
- accepts requests with the files
- <tt>/etc/hosts.equiv</tt> and <tt>/etc/hosts.lpd</tt>.
- LPD checks to see if an incoming request is from a
- host listed in either one of these files. If not, LPD
- refuses the request.
-
- The format of these files is simple: one host name per
- line. Note that the file <tt>/etc/hosts.equiv</tt> is
- also used by the ruserok(3) protocol, and affects
- programs like <tt/rsh/ and <tt/rcp/, so be careful.
-
- For example, here is the <tt>/etc/hosts.lpd</tt> file
- on the host rose:
-<code>
-orchid
-violet
-madrigal.fishbaum.de
-</code>
- This means rose will accept requests from the hosts
- orchid, violet, and madrigal.fishbaum.de. If any
- other host tries to access rose's LPD, LPD will
- refuse them.
-
- <tag/Size restrictions/
-
- You can control how much free space there needs to
- remain on the filesystem where a spooling directory
- resides. Make a file called <tt/minfree/ in the
- spooling directory for the local printer. Insert in
- that file a number representing how many disk blocks
- (512 bytes) of free space there has to be for a remote
- job to be accepted.
-
- This lets you insure that remote users will not fill your
- filesystem. You can also use it to give a certain
- priority to local users: they will be able to queue jobs
- long after the free disk space has fallen below the
- amount specified in the <tt/minfree/ file.
-
- For example, let us add a <tt/minfree/ file for the
- printer <tt/bamboo/. We examine
- <tt>/etc/printcap</tt> to find the spooling directory
- for this printer; here is <tt/bamboo/'s entry:
-<tscreen><verb>
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:mx#5000:\
- :if=/usr/local/libexec/psif:\
- :df=/usr/local/libexec/psdf:
-</verb></tscreen>
- The spooling directory is the given in the <tt/sd/
- capability. We will make three megabytes (which is 6144
- disk blocks) the amount of free disk space that must
- exist on the filesystem for LPD to accept remote jobs:
-<tscreen><verb>
-echo 6144 > /var/spool/lpd/bamboo/minfree
-</verb></tscreen>
- <tag/User restrictions/
-
- You can control which remote users can print to local
- printers by specifying the <tt/rs/ capability in
- <tt>/etc/printcap</tt>. When <tt/rs/ appears in the
- entry for a locally-attached printer, LPD will accept
- jobs from remote hosts <em/if/ the user submitting the
- job also has an account of the same login name on the
- local host. Otherwise, LPD refuses the job.
-
- This capability is particularly useful in an
- environment where there are (for example) different
- departments sharing a network, and some users
- transcend departmental boundaries. By giving them
- accounts on your systems, they can use your printers
- from their own departmental systems. If you would rather
- allow them to use <em/only/ your printers and not your
- compute resources, you can give them ``token''
- accounts, with no home directory and a useless shell
- like <tt>/usr/bin/false</tt>.
- </descrip>
-
- <sect1><heading>Accounting for Printer Usage<label
- id="printing:advanced:acct"></heading>
-
- <p> So, you need to charge for printouts. And why not? Paper
- and ink cost money. And then there are maintenance
- costs---printers are loaded with moving parts and tend to
- break down. You have examined your printers, usage patterns,
- and maintenance fees and have come up with a per-page (or
- per-foot, per-meter, or per-whatever) cost. Now, how do you
- actually start accounting for printouts?
-
- Well, the bad news is the LPD spooling system does not
- provide much help in this department. Accounting is highly
- dependent on the kind of printer in use, the formats being
- printed, and <em/your/ requirements in charging for printer
- usage.
-
- To implement accounting, you have to modify a printer's text
- filter (to charge for plain text jobs) and the conversion
- filters (to charge for other file formats), to count pages
- or query the printer for pages printed. You cannot get away
- with using the simple output filter, since it cannot do
- accounting. See section <ref name="Filters"
- id="printing:advanced:filter-intro">.
-
- Generally, there are two ways to do accounting:
- <itemize>
- <item><em/Periodic accounting/ is the more common way,
- possibly because it is easier. Whenever someone prints a
- job, the filter logs the user, host, and number of pages
- to an accounting file. Every month, semester, year, or
- whatever time period you prefer, you collect the
- accounting files for the various printers, tally up the
- pages printed by users, and charge for usage. Then you
- truncate all the logging files, starting with a clean
- slate for the next period.
-
- <item><em/Timely accounting/ is less common, probably
- because it is more difficult. This method has the
- filters charge users for printouts as soon as they use
- the printers. Like disk quotas, the accounting is
- immediate. You can prevent users from printing when
- their account goes in the red, and might provide a way
- for users to check and adjust their ``print quotas.''
- But this method requires some database code to track
- users and their quotas.
- </itemize>
-
- The LPD spooling system supports both methods easily: since
- you have to provide the filters (well, most of the time),
- you also have to provide the accounting code. But there is
- a bright side: you have enormous flexibility in your
- accounting methods. For example, you choose whether to use
- periodic or timely accounting. You choose what information
- to log: user names, host names, job types, pages printed,
- square footage of paper used, how long the job took to
- print, and so forth. And you do so by modifying the filters
- to save this information.
-
- <sect2><heading>Quick and Dirty Printer Accounting</heading>
-
- <p> FreeBSD comes with two programs that can get you set up
- with simple periodic accounting right away. They are the
- text filter <tt/lpf/, described in section <ref
- id="printing:advanced:lpf" name="lpf: a Text Filter">, and
- <tt/pac/, a program to gather and total entries from
- printer accounting files.
-
- As mentioned in the section on filters (<ref
- id="printing:advanced:filters" name="Filters">), LPD
- starts the text and the conversion filters with the name
- of the accounting file to use on the filter command
- line. The filters can use this argument to know where
- to write an accounting file entry. The name of this
- file comes from the <tt/af/ capability in
- <tt>/etc/printcap</tt>, and if not specified as an
- absolute path, is relative to the spooling directory.
-
- LPD starts <tt/lpf/ with page width and length arguments
- (from the <tt/pw/ and <tt/pl/ capabilities). <tt/lpf/
- uses these arguments to determine how much paper will be
- used. After sending the file to the printer, it then
- writes an accounting entry in the accounting file. The
- entries look like this:
-<tscreen><verb>
- 2.00 rose:andy
- 3.00 rose:kelly
- 3.00 orchid:mary
- 5.00 orchid:mary
- 2.00 orchid:zhang
-</verb></tscreen>
- You should use a separate accounting file for each
- printer, as <tt/lpf/ has no file locking logic built into
- it, and two <tt/lpf/s might corrupt each other's entries
- if they were to write to the same file at the same time.
- A easy way to insure a separate accounting file for each
- printer is to use <tt/af=acct/ in <tt>/etc/printcap</tt>.
- Then, each accounting file will be in the spooling directory
- for a printer, in a file named <tt/acct/.
-
- When you are ready to charge users for printouts, run the
- <tt/pac/ program. Just change to the spooling directory
- for the printer you want to collect on and type <tt/pac/.
- You will get a dollar-centric summary like the following:
-<code>
- Login pages/feet runs price
-orchid:kelly 5.00 1 $ 0.10
-orchid:mary 31.00 3 $ 0.62
-orchid:zhang 9.00 1 $ 0.18
-rose:andy 2.00 1 $ 0.04
-rose:kelly 177.00 104 $ 3.54
-rose:mary 87.00 32 $ 1.74
-rose:root 26.00 12 $ 0.52
-
-total 337.00 154 $ 6.74
-</code>
- These are the arguments <tt/pac/ expects:
- <descrip>
- <tag/<tt/-P<it/printer///
-
- Which <it/printer/ to summarize. This option works
- only if there is an absolute path in the <tt/af/
- capability in <tt>/etc/printcap</tt>.
-
- <tag/<tt/-c//
-
- Sort the output by cost instead of alphabetically by
- user name.
-
- <tag/<tt/-m//
-
- Ignore host name in the accounting files. With this
- option, user smith on host alpha is the same user
- smith on host gamma. Without, they are different users.
-
- <tag/<tt/-p<it/price///
-
- Compute charges with <it/price/ dollars per page or
- per foot instead of the price from the <tt/pc/
- capability in <tt>/etc/printcap</tt>, or two cents (the
- default). You can specify <it/price/ as a floating
- point number.
-
- <tag/<tt/-r//
-
- Reverse the sort order.
-
- <tag/<tt/-s//
-
- Make an accounting summary file and truncate the
- accounting file.
-
- <tag/<tt/<it/names...///
-
- Print accounting information for the given user
- <it/names/ only.
- </descrip>
-
- In the default summary that <tt/pac/ produces, you see the
- number of pages printed by each user from various hosts.
- If, at your site, host does not matter (because users can
- use any host), run <tt/pac -m/, to produce the following
- summary:
-<code>
- Login pages/feet runs price
-andy 2.00 1 $ 0.04
-kelly 182.00 105 $ 3.64
-mary 118.00 35 $ 2.36
-root 26.00 12 $ 0.52
-zhang 9.00 1 $ 0.18
-
-total 337.00 154 $ 6.74
-</code>
- To compute the dollar amount due, <tt/pac/ uses the
- <tt/pc/ capability in the <tt>/etc/printcap</tt> file
- (default of 200, or 2 cents per page). Specify, in
- hundredths of cents, the price per page or per foot you
- want to charge for printouts in this capability. You can
- override this value when you run <tt/pac/ with the <tt/-p/
- option. The units for the <tt/-p/ option are in dollars,
- though, not hundredths of cents. For example,
-<tscreen><verb>
-pac -p1.50
-</verb></tscreen>
- makes each page cost one dollar and fifty cents. You can
- really rake in the profits by using this option.
-
- Finally, running <tt/pac -s/ will save the summary
- information in a summary accounting file, which is named
- the same as the printer's accounting file, but with
- <tt/_sum/ appended to the name. It then truncates the
- accounting file. When you run <tt/pac/ again, it rereads
- the summary file to get starting totals, then adds
- information from the regular accounting file.
-
-
- <sect2><heading>How Can You Count Pages Printed?</heading>
-
- <p> In order to perform even remotely accurate accounting,
- you need to be able to determine how much paper a job
- uses. This is the essential problem of printer
- accounting.
-
- For plain text jobs, the problem's not that hard to solve:
- you count how many lines are in a job and compare it to
- how many lines per page your printer supports. Do not
- forget to take into account backspaces in the file which
- overprint lines, or long logical lines that wrap onto one
- or more additional physical lines.
-
- The text filter <tt/lpf/ (introduced in <ref
- id="printing:advanced:lpf" name="lpf: a Text Filter">)
- takes into account these things when it does accounting.
- If you are writing a text filter which needs to do
- accounting, you might want to examine <tt/lpf/'s source
- code.
-
- How do you handle other file formats, though?
-
- Well, for DVI-to-LaserJet or DVI-to-PostScript conversion,
- you can have your filter parse the diagnostic output of
- <tt/dvilj/ or <tt/dvips/ and look to see how many pages
- were converted. You might be able to do similar things
- with other file formats and conversion programs.
-
- But these methods suffer from the fact that the printer
- may not actually print all those pages. For example, it
- could jam, run out of toner, or explode---and the user
- would still get charged.
-
- So, what can you do?
-
- There is only one <em/sure/ way to do <em/accurate/
- accounting. Get a printer that can tell you how much
- paper it uses, and attach it via a serial line or a
- network connection. Nearly all PostScript printers
- support this notion. Other makes and models do as well
- (networked Imagen laser printers, for example). Modify
- the filters for these printers to get the page usage after
- they print each job and have them log accounting
- information based on that value <em/only/. There is no
- line counting nor error-prone file examination required.
-
- Of course, you can always be generous and make all
- printouts free.
-
- <sect><heading>Alternatives to the Standard Spooler<label
- id="printing:lpd-alternatives"></heading>
-
- <p> If you have been reading straight through this manual, by now
- you have learned just about everything there is to know about
- the LPD spooling system that comes with FreeBSD. You can
- probably appreciate many of its shortcomings, which naturally
- leads to the question: ``What other spooling systems are out
- there (and work with FreeBSD)?''
-
- Unfortunately, I have located only <em/two/ alternatives---and
- they are almost identical to each other! They are:
- <descrip>
- <tag/PLP, the Portable Line Printer Spooler System/
-
- PLP was based on software developed by Patrick Powell and
- then maintained by an Internet-wide group of developers.
- The main site for the software is at <htmlurl
- url="ftp://ftp.iona.ie/pub/plp"
- name="ftp://ftp.iona.ie/pub/plp">. There is also a <htmlurl
- url="http://www.iona.ie:8000/www/hyplan/jmason/plp.html"
- name="web page">.
-
- It is quite similar to the BSD LPD spooler, but boasts a
- host of features, including:
- <itemize>
- <item>Better network support, including built-in support
- for networked printers, NIS-maintained printcaps, and
- NFS-mounted spooling directories
-
- <item>Sophisticated queue management, allowing multiple
- printers on a queue, transfer of jobs between queues,
- and queue redirection
-
- <item>Remote printer control functions
-
- <item>Prioritization of jobs
-
- <item>Expansive security and access options
- </itemize>
-
- <tag/LPRng/
-
- LPRng, which purportedly means ``LPR: the Next
- Generation'' is a complete rewrite of PLP. Patrick Powell
- and Justin Mason (the principal maintainer of PLP)
- collaborated to make LPRng. The main site for LPRng is
- <htmlurl url="ftp://dickory.sdsu.edu/pub/LPRng"
- name="ftp://dickory.sdsu.edu/pub/LPRng">.
- </descrip>
-
-
- <sect><heading>Acknowledgments</heading>
-
- <p> I would like to thank the following people who have assisted in
- the development of this document:
-
- <descrip>
- <tag/Daniel Eischen <tt/&lt;deischen@iworks.interworks.org&gt;//
-
- For providing a plethora of HP filter programs for perusal.
-
- <tag/&a.jehamby;/
-
- For the Ghostscript-to-HP filter.
-
- <tag/My wife, Mary Kelly <tt/&lt;urquhart@argyre.colorado.edu&gt;//
-
- For allowing me to spend more time with FreeBSD than with her.
-
- </descrip>
diff --git a/share/doc/handbook/quotas.sgml b/share/doc/handbook/quotas.sgml
deleted file mode 100644
index f1bbcfb..0000000
--- a/share/doc/handbook/quotas.sgml
+++ /dev/null
@@ -1,208 +0,0 @@
-<!-- This is an SGML document in the linuxdoc DTD describing
- disk quotas under FreeBSD. By Mike Pritchard, 1996.
-
- $Id: quotas.sgml,v 1.5 1997/02/22 12:59:12 peter Exp $
-
- The FreeBSD Documentation Project
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-
- <article>
- <title> Disk quotas
- <author> Mike Pritchard <tt/mpp@FreeBSD.org/
- <date> 26 February 1996, (c) 1996
-
- <abstract> This document describes configuration and administration
- of disk quotas under FreeBSD. </abstract>
-
- <toc>
--->
-
- <chapt><heading>Disk quotas<label id="quotas"></heading>
-
- <p><em>Contributed by &a.mpp;.<newline>26 February 1996</em>
-
- Quotas are an optional feature of the operating system that allow
- you to limit the amount of disk space and/or the number of files
- a user, or members of a group, may allocate on a per-file system basis.
- This is used most often on timesharing systems where it is desirable
- to limit the amount of resources any one user or group of users may
- allocate. This will prevent one user from consuming all of
- the available disk space.
-
-<sect><heading>Configuring your system to enable disk quotas</heading>
-
- <p>Before attempting to use disk quotas it is
- necessary to make sure that quotas are configured in your kernel.
- This is done by adding the following line to your kernel configuration file:
-<verb>
-options QUOTA
-</verb>
- The stock GENERIC kernel does not have this enabled by default, so you
- will have to configure, build and install a custom kernel in order to use
- disk quotas. Please refer to the
- <ref id="kernelconfig" name="Configuring the FreeBSD Kernel">
- section for more information on kernel configuration.
-
- <p>Next you will need to enable disk quotas in <tt>/etc/sysconfig</tt>.
- This is done by changing the line:
-<verb>
-quotas=NO
-</verb>
-to:
-<verb>
-quotas=YES
-</verb>
-
- <p>Finally you will need to edit <tt>/etc/fstab</tt> to enable
- disk quotas on a per-file system basis. This is where you can
- either enable user or group quotas or both for all of your file
- systems.
-
- <p>To enable per-user quotas on a file system, add the
- <tt>userquota</tt> option to the options field in the
- <tt>/etc/fstab</tt> entry for the file system you want to
- to enable quotas on. For example:
-<verb>
-/dev/sd1s2g /home ufs rw,userquota 1 2
-</verb>
-
- <p>Similarly, to enable group quotas, use the <tt>groupquota</tt>
- option instead of the <tt>userquota</tt> keyword. To enable both
- user and group quotas, change the entry as follows:
-<verb>
-/dev/sd1s2g /home ufs rw,userquota,groupquota 1 2
-</verb>
-
- <p>By default the quota files are stored in the root directory of the file
- system with the names <tt>quota.user</tt> and <tt>quota.group</tt>
- for user and group quotas respectively. See <tt>man fstab</tt> for more
- information. Even though that man page says that you can specify an
- alternate location for the quota files, this is not recommended since
- all of the various quota utilities do not seem to handle this
- properly.
-
- <p>At this point you should reboot your system with your new kernel.
- <tt>/etc/rc</tt> will automatically run the appropriate commands to
- create the initial quota files for all of the quotas you enabled
- in <tt>/etc/fstab</tt>, so there is no need to manually create any
- zero length quota files.
-
- <p>In the normal course of operations you should not be required
- to run the <tt>quotacheck</tt>, <tt>quotaon</tt>, or <tt>quotaoff</tt>
- commands manually. However, you may want to read their man pages
- just to be familiar with their operation.
-
-<sect><heading>Setting quota limits</heading>
-
- <p>Once you have configured your system to enable quotas, verify that
- they really are enabled. An easy way to do this is to run
- <tt>quota -v</tt>. You should see a one line summary of disk
- usage and current quota limits for each file system that
- quotas are enabled on.
-
- <p>You are now ready to start assigning quota limits
- with the <tt>edquota</tt> command.
-
- <p>You have several options on how to enforce limits on the amount of
- disk space a user or group may allocate, and how many files they may create.
- You may limit allocations based on disk space (block quotas) or
- number of files (inode quotas) or a combination of both.
- Each of these limits are further broken down into two categories: hard and
- soft limits.
-
- <p>A hard limit may not be exceeded. Once a user reaches their hard
- limit they may not make any further allocations on the file system
- in question. For example, if the user has a hard limit of 500 blocks
- on a file system and is currently using 490 blocks, the user can only allocate
- an additional 10 blocks. Attempting to allocate an additional 11 blocks
- will fail.
-
- <p>Soft limits on the other hand can be exceeded for a limited amount
- of time. This period of time is known as the grace period, which is
- one week by default. If a user stays over his or her soft limit longer
- than their grace period, the soft limit will turn into a hard limit
- and no further allocations will be allowed. When the user drops
- back below the soft limit, the grace period will be reset.
-
- <p>The following is an example of what you might see when
- you run then <tt>edquota</tt> command. When the <tt>edquota</tt>
- command is invoked, you are placed into the editor specified by the
- <tt>EDITOR</tt> environment variable, or in the <tt>vi</tt> editor
- if the <tt>EDITOR</tt> variable is not set, to
- allow you to edit the quota limits.
-<verb>
-# edquota -u test
-Quotas for user test:
-/usr: blocks in use: 65, limits (soft = 50, hard = 75)
- inodes in use: 7, limits (soft = 50, hard = 60)
-/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
- inodes in use: 0, limits (soft = 50, hard = 60)
-</verb>
- You will normally see two lines for each file system that has
- quotas enabled. One line for the block limits, and one line
- for inode limits. Simply change the value you want updated
- to modify the quota limit. For example, to raise this users
- block limit from a soft limit of 50 and a hard limit of 75
- to a soft limit of 500 and a hard limit of 600, change:
-<verb>
-/usr: blocks in use: 65, limits (soft = 50, hard = 75)
-</verb>
-to:
-<verb>
-/usr: blocks in use: 65, limits (soft = 500, hard = 600)
-</verb>
- The new quota limits will be in place when you exit the editor.
-
- <p>Sometimes it is desirable to set quota limits on a range
- of uids. This can be done by use of the <tt>-p</tt> option
- on the <tt>edquota</tt> command. First, assign the desired
- quota limit to a user, and then run
- <tt>edquota -p protouser startuid-enduid</tt>.
- For example, if user <tt>test</tt> has the desired quota
- limits, the following command can be used to duplicate
- those quota limits for uids 10,000 through 19,999:
-<verb>
-edquota -p test 10000-19999
-</verb>
-
- <p>The ability to specify uid ranges was added to the system
- after 2.1 was released. If you need this feature on a 2.1
- system, you will need to obtain a newer copy of edquota.
-
- <p>See <tt>man edquota</tt> for more detailed information.
-
-<sect><heading>Checking quota limits and disk usage</heading>
-
- <p>You can use either the <tt>quota</tt> or the <tt>repquota</tt>
- commands to check quota limits and disk usage. The <tt>quota</tt>
- command can be used to check individual user and group quotas and
- disk usage. Only the super-user may examine quotas and usage for
- other users, or for groups that they are not a member of.
- The <tt>repquota</tt> command can be used to get a summary of all
- quotas and disk usage for file systems with quotas enabled.
-
- <p>The following is some sample output from the <tt>quota -v</tt>
- command for a user that has quota limits on two file systems.
-
-<verb>
-Disk quotas for user test (uid 1002):
- Filesystem blocks quota limit grace files quota limit grace
- /usr 65* 50 75 5days 7 50 60
- /usr/var 0 50 75 0 50 60
-</verb>
- On the /usr file system in the above example this user is
- currently 15 blocks over their soft limit of 50 blocks and has 5 days of
- their grace period left. Note the asterisk (*) which indicates that
- the user is currently over their quota limit.
-
- <p>Normally file systems that the user is not using any disk space
- on will not show up in the output from the <tt>quota</tt> command,
- even if they have a quota limit assigned for that file system.
- The <tt>-v</tt> option will display those file systems, such as
- the <tt>/usr/var</tt> file system in the above example.
-
-<sect><heading>* Quotas over NFS</heading>
-
- <p>This section is still under development.
-
diff --git a/share/doc/handbook/relnotes.sgml b/share/doc/handbook/relnotes.sgml
deleted file mode 100644
index 6c339ca..0000000
--- a/share/doc/handbook/relnotes.sgml
+++ /dev/null
@@ -1,587 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!--
-<!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'>
-<linuxdoc><book><chapt>foo
--->
- <sect><heading>About the current release<label id="relnotes"></heading>
-
- <p>FreeBSD is a freely available, full source 4.4BSD-Lite
- based release for Intel i386/i486/Pentium/PentiumPro (or
- compatible) based PC's. It is based primarily on
- software from U.C. Berkeley's CSRG group, with some
- enhancements from NetBSD, 386BSD, and the Free Software
- Foundation.
-
- Since our release of FreeBSD 2.0 in January of 95, the
- performance, feature set, and stability of FreeBSD has
- improved dramatically. The largest change is a
- revamped VM system with a merged VM/file buffer cache
- that not only increases performance, but reduces
- FreeBSD's memory footprint, making a 5MB configuration
- a more acceptable minimum. Other enhancements include
- full NIS client and server support, transaction TCP
- support, dial-on-demand PPP, an improved SCSI
- subsystem, early ISDN support, support for FDDI and
- Fast Ethernet (100Mbit) adapters, improved support for
- the Adaptec 2940 (WIDE and narrow) and many hundreds of
- bug fixes.
-
- We have also taken the comments and suggestions of many
- of our users to heart and have attempted to provide
- what we hope is a more sane and easily understood
- installation process. Your feedback on this
- (constantly evolving) process is especially welcome!
-
- In addition to the base distributions, FreeBSD offers a
- new ported software collection with hundreds of commonly
- sought-after programs. At the beginning of December 96 there were
- more than 700 ports ! The list of ports ranges from
- http (WWW) servers, to games, languages, editors and
- almost everything in between. The entire ports collection
- requires only 10MB of storage, all ports being expressed
- as ``deltas'' to their original sources. This makes it
- much easier for us to update ports, and greatly reduces
- the disk space demands made by the older 1.0 ports
- collection. To compile a port, you simply change to the
- directory of the program you wish to install, type ``make
- all'' followed by ``make install'' after successful
- compilation and let the system do the rest. The full
- original distribution for each port you build is retrieved
- dynamically off of CDROM or a local ftp site, so you need
- only enough disk space to build the ports you want.
- (Almost) every port is also provided as a pre-compiled
- "package" which can be installed with a simple command
- (pkg_add) by those who do not wish to compile their own
- ports from source.
-
- A number of additional documents which you may find
- very helpful in the process of installing and using
- FreeBSD may now also be found in the
- <bf>/usr/share/doc</bf> directory on any machine running
- FreeBSD 2.1 or later. You may view the
- manuals with any HTML capable browser with the
- following URLs:
-
- <descrip>
- <tag>The FreeBSD handbook</tag>
- <htmlurl url="file:/usr/share/doc/handbook/handbook.html">
-
- <tag>The FreeBSD FAQ</tag>
- <htmlurl url="file:/usr/share/doc/FAQ/FAQ.html">
- </descrip>
-
- You can also visit the master (and most frequently
- updated) copies at <htmlurl
- url="http://www.freebsd.org"
- name="http://www.freebsd.org">.
-
- The core of FreeBSD does not contain DES code which
- would inhibit its being exported outside the United
- States. There is an add-on package to the core
- distribution, for use only in the United States, that
- contains the programs that normally use DES. The
- auxiliary packages provided separately can be used by
- anyone. A freely (from outside the U.S.) exportable
- European distribution of DES for our non-U.S. users
- also exists and is described in the <htmlurl
- url="../FAQ/FAQ.html" name="FreeBSD FAQ">.
-
- If password security for FreeBSD is all you need, and
- you have no requirement for copying encrypted passwords
- from different hosts (Suns, DEC machines, etc) into
- FreeBSD password entries, then FreeBSD's MD5 based
- security may be all you require! We feel that our
- default security model is more than a match for DES,
- and without any messy export issues to deal with. If
- you are outside (or even inside) the U.S., give it a
- try!
-
-<![ IGNORE [
- <p>Since our first release of FreeBSD 1.0 nearly two
- years ago, FreeBSD has changed dramatically. Since
- release 2.0, FreeBSD has been based on the Berkeley
- 4.4BSD-Lite code rather than the Net2 code used for
- previous versions. In addition to clearing the legal
- issues that surrounded the Net2 code, the port to 4.4
- has also brought in numerous new features, filesystems
- and enhanced driver support.
-
- Since our release of FreeBSD 2.0 in November of 1994,
- the performance, feature set, and stability of FreeBSD
- has improved dramatically. The largest change is a
- revamped Virtual Memory (VM) system with a merged
- virtual memory and file buffer cache. This increases
- performance while reducing FreeBSD's memory footprint,
- making a system with 4 megabytes of RAM a more
- acceptable minimum. Other enhancements include full
- NIS client and server support, transaction TCP support,
- dial on demand PPP, an improved SCSI subsystem, early
- support for ISDN, support for FDDI and 100Mbit Fast
- Ethernet adapters, improved support for the Adaptec
- 2940 and hundreds of bug fixes.
-
- We have also taken the comments and suggestions of many
- of our users to heart and have attempted to provide
- what we hope is a more sane and easily understood
- installation process. Your feedback on this constantly
- evolving process is especially welcome!
-
- In addition to the base distributions, FreeBSD offers a
- new ported software collection with some 270 commonly
- sought-after programs. The list of ports ranges from
- World Wide Web (http) servers, to games, languages,
- editors and almost everything in between. The entire
- ports collection requires only 10MB of storage because
- each port contains only the changes required for the
- source code to compile on FreeBSD and the information
- necessary to automatically retrieve the original
- sources. The original distribution for each port you
- build is automatically retrieved off of CD-ROM or a via
- anonymous ftp, so you need only enough disk space to
- build the ports you want. Each port is also provided
- as a pre-compiled package which can be installed with
- the <tt>pkg_add(1)</tt> command for those who do not
- wish to compile their own ports from source. See <ref
- id="ports" name="The Ports Collection"> for a more
- complete description.
-
-<!-- XXX make xref
- For a list of contributors and a general project
- description, please see the file "CONTRIB.FreeBSD"
- which should be bundled with your binary distribution.
-
- Also see the "REGISTER.FreeBSD" file for information on
- registering with the "Free BSD user counter". This
- counter is for ALL freely available variants of BSD,
- not just FreeBSD, and we urge you to register yourself
- with it.
--->
-
- The core of FreeBSD does not contain DES code which
- would inhibit its being exported outside the United
- States. An add-on package, for use only in the United
- States, contains the programs that normally use DES.
- The auxiliary packages provided separately can be used
- by anyone. A freely exportable European distribution
- of DES for our non-U.S. users also exists and is
- described in the <url
- url="http://www.freebsd.org/FAQ" name="FreeBSD
- FAQ">. If password security for FreeBSD is all you
- need, and you have no requirement for copying encrypted
- passwords from other hosts using DES into FreeBSD
- password entries, then FreeBSD's MD5 based security may
- be all you require. We feel that our default security
- model is more than a match for DES, and without any
- messy export issues to deal with.
-
- FreeBSD 2.0.5 represents the culmination of 2 years of
- work and many thousands of man hours put in by an
- international development team. We hope you enjoy it!
-
- <sect1><heading>New feature highlights</heading>
-
- <p>The following features were added or substantially
- improved between the release of 2.0 and this 2.0.5
- release. In order to facilitate better
- communication, the person, or persons, responsible
- for each enhancement is noted. Any questions
- regarding the new functionality should be directed to
- them first.
-
- <sect2><heading>Kernel</heading>
-
- <p>
- <descrip>
-
- <tag>Merged VM-File Buffer Cache</tag> A merged
- VM/buffer cache design greatly enhances overall
- system performance and makes it possible to do
- a number of more optimal memory allocation
- strategies that were not possible before.
-
- Owner: &a.davidg; and &a.dyson;
-
- <tag>Network PCB hash optimization</tag> For
- systems with a great number of active TCP
- connections (WEB and ftp servers, for example),
- this greatly speeds up the lookup time required
- to match an incoming packet up to its
- associated connection.
-
- Owner: &a.davidg;
-
- <tag>Name cache optimization</tag> The name-cache
- would cache all files of the same name to the
- same bucket, which would put for instance all
- ".." entries in the same bucket. We added the
- parent directory version to frustrate the hash,
- and improved the management of the cache in
- various other ways while we were at it.
-
- Owner: &a.phk; and &a.davidg;
-
- <tag>Less restrictive swap-spaces</tag> The need
- to compile the names of the swap devices into
- the kernel has been removed. Now
- <tt>swapon(8)</tt> will accept any block
- devices, up to the maximum number of swap
- devices configured in the kernel.
-
- Owner: &a.phk; and &a.davidg;
-
- <tag>Hard Wired SCSI Devices</tag> Prior to
- 2.0.5, FreeBSD performed dynamic assignment of
- unit numbers to SCSI devices as they were
- probed, allowing a SCSI device failure to
- possibly change unit number assignment. This
- could cause filesystems other disks in the
- system to be incorrectly mounted, or not
- mounted at all. Hard wiring allows static
- allocation of unit numbers (and hence device
- names) to scsi devices based on SCSI ID and
- bus. SCSI configuration occurs in the kernel
- config file. Samples of the configuration
- syntax can be found in the <tt>scsi(4)</tt> man
- page or the LINT kernel config file.
-
- Owner: &a.dufault;
-
- Sources involved: <tt>sys/scsi/*</tt>
- <tt>usr.sbin/config/*</tt>
-
- <tag>Slice Support</tag> FreeBSD now supports a
- <em>slice</em> abstraction which enhances
- FreeBSD's ability to share disks with other
- operating systems. This support will allow
- FreeBSD to inhabit DOS extended partitions.
-
- Owner: &a.bde;
-
- Sources involved: <tt>sys/disklabel.h</tt>
- <tt>sys/diskslice.h</tt> <tt>sys/dkbad.h</tt>
- <tt>kern/subr_diskslice.c</tt> <tt>kern/subr_dkbad.c</tt>
- <tt>i386/isa/diskslice_machdep.c</tt> <tt>i386/isa/wd.c</tt>
- <tt>scsi/sd.c</tt> <tt>dev/vn/vn.c</tt>
-
- <tag>Support for Ontrack Disk Manager Version 6.0</tag>
- Support has been added for disks
- which use Ontrack Disk Manager. The fdisk
- program does <em>not</em> know about it
- however, so make all changes using the install
- program on the boot.flp or the Ontrack Disk
- Manager tool under MS-DOS.
-
- Owner: &a.phk;
-
- <tag>Bad144 is back and working</tag> Bad144
- works again, though the semantics are slightly
- different than before in that the bad-spots are
- kept relative to the slice rather than absolute
- on the disk.
-
- Owner: &a.bde; and &a.phk;
-
- </descrip>
-
- <sect2><heading>New device support</heading>
-
- <sect3><heading>SCSI and CDROM devices</heading>
-
- <p><descrip>
-
- <tag>Matsushita/Panasonic (Creative) CD-ROM driver</tag>
- The Matsushita/Panasonic CR-562 and
- CR-563 drives are now supported when connected to
- a Sound Blaster or 100% compatible host adapter.
- Up to four host adapters are supported for a
- total of 16 CD-ROM drives. The audio functions
- are supported with the Karoke variable speed
- playback.
-
- Owner: &a.uhclem;
-
- Sources involved: <tt>isa/matcd</tt>
-
- <tag>Adaptec 2742/2842/2940 SCSI driver</tag> The
- original 274x/284x driver has evolved
- considerably since the 2.0 release of FreeBSD.
- We now offer full support for the 2940 series as
- well as the Wide models of these cards. The
- arbitration bug that caused problems with fast
- devices has been corrected and
- <em>experimental</em> tagged queuing support has
- been added (kernel option
- <tt>AHC_TAGENABLE</tt>). John Aycock has also
- released the sequencer code under a Berkeley
- style copyright making the driver entirely clean
- of the GPL.
-
- Owner: &a.gibbs;
-
- Sources involved: <tt>isa/aic7770.c</tt> <tt>pci/aic7870.c</tt>
- <tt>i386/scsi/*</tt> <tt>sys/dev/aic7xxx/*</tt>
-
- <tag>NCR5380/NCR53400 SCSI (ProAudio Spectrum) driver</tag>
- Owner: &a.core;
-
- Submitted by: Serge Vakulenko (vak@cronyx.ru)
-
- Sources involved: <tt>isa/ncr5380.c</tt>
-
- <tag>Sony CDROM driver</tag> Owner: &a.core;
-
- Submitted by: Mikael Hybsch (micke@dynas.se)
-
- Sources involved: <tt>isa/scd.c</tt>
-
- </descrip>
-
- <sect3><heading>Serial devices</heading>
-
- <p><descrip>
-
- <tag>SDL Communications Riscom/8 Serial Board Driver</tag>
- Owner: &a.ache;
-
- Sources involved: <tt>isa/rc.c</tt> <tt>isa/rcreg.h</tt>
-
- <tag>Cyclades Cyclom-y Serial Board Driver</tag>
- Owner: &a.bde;
-
- Submitted by: Andrew Werple
- (andrew@werple.apana.org.au) and Heikki Suonsivu
- (hsu@cs.hut.fi)
-
- Obtained from: NetBSD
-
- Sources involved: <tt>isa/cy.c</tt>
-
- <tag>Cronyx/Sigma sync/async serial driver</tag>
- Owner: &a.core;
-
- Submitted by: Serge Vakulenko
-
- Sources involved: <tt>isa/cronyx.c</tt>
-
- </descrip>
-
- <sect2><heading>Networking</heading>
-
- <p><descrip>
-
- <tag>Diskless booting</tag> Diskless booting in 2.0.5
- is much improved over previous releases. The boot
- program is in <tt>src/sys/i386/boot/netboot</tt>,
- and can be run from an MS-DOS system or burned into
- an EPROM. WD, SMC, 3COM and Novell ethernet cards
- are currently supported. Local swapping is also
- supported.
-
- <tag>DEC DC21140 Fast Ethernet driver</tag> This
- driver supports any of the numerous NICs using the
- DC21140 chipset including the 100Mb DEC DE-500-XA
- and SMC 9332.
-
- Owner: &a.core;
-
- Submitted by: Matt Thomas (thomas@lkg.dec.com)
-
- Sources involved: <tt>pci/if_de.c</tt> <tt>pci/dc21040.h</tt>
-
-
- <tag>DEC FDDI (DEFPA/DEFEA) driver</tag> Owner: &a.core;
-
- Submitted by: Matt Thomas (thomas@lkg.dec.com)
-
- Sources involved: <tt>pci/if_pdq.c</tt> <tt>pci/pdq.c</tt>
- <tt>pci/pdq_os.h</tt> <tt>pci/pdqreg.h</tt>
-
-
- <tag>3Com 3c505 (Etherlink/+) NIC driver</tag> Owner:
- &a.core;
-
- Submitted by: Dean Huxley (dean@fsa.ca)
-
- Obtained from: NetBSD
-
- Sources involved: <tt>isa/if_eg.c</tt>
-
-
- <tag>Fujitsu MB86960A family of NICs driver</tag>
- Owner: &a.core;
-
- Submitted by: M.S. (seki@sysrap.cs.fujitsu.co.jp)
-
- Sources involved: <tt>isa/if_fe.c</tt>
-
-
- <tag>Intel EtherExpress driver</tag> Owner: Rodney
- W. Grimes (rgrimes@FreeBSD.org)
-
- Sources involved: <tt>isa/if_ix.c</tt> <tt>isa/if_ixreg.h</tt>
-
-
- <tag>3Com 3c589 driver</tag> Owner: &a.core;
-
- Submitted by: "HOSOKAWA Tatsumi"
- (hosokawa@mt.cs.keio.ac.jp), Seiji Murata
- (seiji@mt.cs.keio.ac.jp) and Noriyuki Takahashi
- (hor@aecl.ntt.jp)
-
- Sources involved: <tt>isa/if_zp.c</tt>
-
-
- <tag>IBM Credit Card Adapter driver</tag> Owner: &a.core;
-
- Submitted by: "HOSOKAWA Tatsumi"
- (hosokawa@mt.cs.keio.ac.jp),
-
- Sources involved: <tt>isa/pcic.c</tt> <tt>isa/pcic.h</tt>
-
-
- <tag>EDSS1 and 1TR6 ISDN interface driver</tag>
- Owner: &a.core;
-
- Submitted by: Dietmar Friede
- (dfriede@drnhh.neuhaus.de) and Juergen Krause
- (jkr@saarlink.de)
-
- Sources involved: <tt>gnu/isdn/*</tt>
-
- </descrip>
-
- <sect2><heading>Miscellaneous drivers</heading>
-
- <p><descrip>
-
- <tag>Joystick driver</tag> Owner: &a.jmz;
-
- Sources involved: <tt>isa/joy.c</tt>
-
- <tag>National Instruments ``LabPC'' driver</tag> Owner:
- &a.dufault;
-
- Sources involved: <tt>isa/labpc.c</tt>
-
- <tag>WD7000 driver</tag> Owner: Olof Johansson
- (offe@ludd.luth.se)
-
- <tag>Pcvt Console driver</tag> Owner: &a.joerg;
-
- Submitted by: &a.hm;
-
- Sources involved: <tt>isa/pcvt/*</tt>
-
- <tag>BSD-audio emulator for VAT driver</tag> Owner:
- Amancio Hasty (ahasty@FreeBSD.org) and
- &a.pst;
-
- Sources involved: <tt>isa/sound/vat_audio.c</tt>
- <tt>isa/sound/vat_audioio.h</tt>
-
- <tag>National Instruments AT-GPIB and AT-GPIB/TNT GPIB driver</tag>
- Owner: &a.core;
-
- Submitted by: Fred Cawthorne
- (fcawth@delphi.umd.edu)
-
- Sources involved: <tt>isa/gpib.c</tt> <tt>isa/gpib.h</tt>
- <tt>isa/gpibreg.h</tt>
-
- <tag>Genius GS-4500 hand scanner driver</tag> Owner:
- &a.core;
-
- Submitted by: Gunther Schadow
- (gusw@fub46.zedat.fu-berlin.de)
-
- Sources involved: <tt>isa/gsc.c</tt> <tt>isa/gscreg.h</tt>
-
- <tag>CORTEX-I Frame Grabber</tag> Owner: &a.core;
-
- Submitted by: Paul S. LaFollette, Jr. (
-
- Sources involved: <tt>isa/ctx.c</tt> <tt>isa/ctxreg.h</tt>
-
-
- <tag>Video Spigot video capture card</tag> Owner: Jim
- Lowe
-
- </descrip>
-
- <sect1><heading>Experimental features</heading>
-
- <p><descrip>
-
- <tag>UNIONFS and LFS</tag> The unionfs and LFS file
- systems are known to be severely broken in FreeBSD
- 2.0.5. This is in part due to old bugs that we
- have not had time to resolve yet and the need to
- update these file systems to deal with the new VM
- system. We hope to address these issues in a later
- release of FreeBSD.
-
- <tag>iBCS2 Support</tag> FreeBSD now supports running
- iBCS2 compatible binaries. Currently SCO UNIX 3.2.2
- and 3.2.4, and ISC 2.2 COFF are supported. The iBCS2
- emulator is in its early stages and has not been
- extensively tested, but it is functional. Most of
- SCO's 3.2.2 binaries work, as does an old
- INFORMIX-2.10 for SCO. Further testing is necessary
- to complete this project. There is also work under
- way for ELF and XOUT loaders, and most of the svr4
- syscall wrappers are written.
-
- Owner: &a.sos; and &a.sef;
-
- Sources involved: <tt>sys/i386/ibcs2/*</tt> and misc
- kernel changes.
-
- </descrip>
-<!--
- <sect1><heading>Reporting problems, making suggestions, submitting code</heading>
-
- <p>Your suggestions, bug reports and contributions of code
- are always valued - please do not hesitate to report any
- problems you may find (preferably with a fix attached if
- you can!).
-
- The preferred method to submit bug reports from a machine
- with Internet mail connectivity is to use the send-pr
- command. Bug reports will be dutifully filed by our
- faithful bug-filer program and you can be sure that we will
- do our best to respond to all reported bugs as soon as
- possible.
-
- If, for some reason, you are unable to use the send-pr
- command to submit a bug report, you can try to send it
- to: <tscreen>bugs@FreeBSD.org</tscreen> Otherwise, for
- any questions or suggestions, please send mail to:
- <tscreen>questions@FreeBSD.org</tscreen>
-
- Additionally, being a volunteer effort, we are always
- happy to have extra hands willing to help - there are
- already far more enhancements to be done than we can ever
- manage to do by ourselves! To contact us on technical
- matters, or with offers of help, you may send mail to:
- <tscreen>hackers@FreeBSD.org</tscreen>
-
- Since these mailing lists can experience significant
- amounts of traffic, if you have slow or expensive mail
- access and you are only interested in keeping up with
- significant FreeBSD events, you may find it preferable to
- subscribe to: <tscreen>announce@FreeBSD.org</tscreen>
-
- All but the freebsd-bugs groups can be freely joined by
- anyone wishing to do so. Send mail to &a.majordomo
- and include the keyword `help' on a
- line by itself somewhere in the body of the message.
- This will give you more information on joining the
- various lists, accessing archives, etc. There are a
- number of mailing lists targeted at special interest
- groups not mentioned here, so send mail to majordomo and
- ask about them!
-
--->
-]]>
diff --git a/share/doc/handbook/routing.sgml b/share/doc/handbook/routing.sgml
deleted file mode 100644
index 4b20bf1..0000000
--- a/share/doc/handbook/routing.sgml
+++ /dev/null
@@ -1,279 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-<!-- <!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'> -->
-
- <sect><heading>Gateways and routes<label id="routing"></heading>
-
- <p><em>Contributed by &a.gryphon;.<newline>6 October 1995.</em>
-
- For one machine to be able to find another, there must be a
- mechanism in place to describe how to get from one to the
- other. This is called Routing. A ``route'' is a defined
- pair of addresses: a <bf>destination</bf> and a
- <bf>gateway</bf>. The pair indicates that if you are
- trying to get to this <em>destination</em>, send along
- through this <em>gateway</em>. There are three types of
- destinations: individual hosts, subnets, and ``default''. The
- ``default route'' is used if none of the other routes
- apply. We will talk a little bit more about default routes
- later on. There are also three types of gateways:
- individual hosts, interfaces (also called ``links''), and
- ethernet hardware addresses.
-
- <sect1><heading>An example</heading>
-
- <p>To illustrate different aspects of routing, we will use
- the following example which is the output of the command
- <tt>netstat -r</tt>:
-
-<tscreen><verb>
-Destination Gateway Flags Refs Use Netif Expire
-
-default outside-gw UGSc 37 418 ppp0
-localhost localhost UH 0 181 lo0
-test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77
-10.20.30.255 link#1 UHLW 1 2421
-foobar.com link#1 UC 0 0
-host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0
-host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 =>
-host2.foobar.com link#1 UC 0 0
-224 link#1 UC 0 0
-</verb></tscreen>
-
- The first two lines specify the default route (which we
- will cover in the next section) and the <tt>localhost</tt> route.
-
- The interface (<tt>Netif</tt> column) that it specifies to use
- for <tt>localhost</tt> is <tt>lo0</tt>, also known as the
- loopback device. This says to keep all traffic for this
- destination internal, rather than sending it out over the
- LAN, since it will only end up back where it started
- anyway.
-
- The next thing that stands out are the
- ``<tt>0:e0:...</tt>'' addresses. These are ethernet
- hardware addresses. FreeBSD will automatically identify any
- hosts (<tt>test0</tt> in the example) on the local ethernet and
- add a route for that host, directly to it over the ethernet
- interface, <tt>ed0</tt>. There is also a timeout
- (<tt>Expire</tt> column) associated with this type of route,
- which is used if we fail to hear from the host in a
- specific amount of time. In this case the route will be
- automatically deleted. These hosts are identified using a
- mechanism known as RIP (Routing Information Protocol),
- which figures out routes to local hosts based upon a
- shortest path determination.
-
- FreeBSD will also add subnet routes for the local subnet
- (<tt>10.20.30.255</tt> is the broadcast address for the subnet
- <tt>10.20.30</tt>, and <tt>foobar.com</tt> is the domain name
- associated with that subnet). The designation <tt>link&num;1</tt>
- refers to the first ethernet card in the machine. You will
- notice no additional interface is specified for those.
-
- Both of these groups (local network hosts and local
- subnets) have their routes automatically configured by a
- daemon called <tt>routed</tt>. If this is not run, then only
- routes which are statically defined (ie. entered
- explicitly) will exist.
-
- The <tt>host1</tt> line refers to our host, which it knows by
- ethernet address. Since we are the sending host, FreeBSD
- knows to use the loopback interface (<tt>lo0</tt>) rather than
- sending it out over the ethernet interface.
-
- The two <tt>host2</tt> lines are an example of what happens
- when we use an ifconfig alias (see the section of ethernet
- for reasons why we would do this). The <tt>=&gt</tt>
- symbol after the <tt>lo0</tt> interface says that not only are
- we using the loopback (since this is address also refers to
- the local host), but specifically it is an alias. Such
- routes only show up on the host that supports the alias;
- all other hosts on the local network will simply have a
- <tt>link&num;1</tt> line for such.
-
- The final line (destination subnet <tt>224</tt>) deals with
- MultiCasting, which will be covered in a another section.
-
- The other column that we should talk about are the
- <tt>Flags</tt>. Each route has different attributes that are
- described in the column. Below is a short table of some of
- these flags and their meanings:
-
- <descrip>
-
- <tag/U/ <bf/Up:/ The route is active.
-
- <tag/H/ <bf/Host:/ The route destination is a single host.
-
- <tag/G/ <bf/Gateway:/ Send anything for this destination
- on to this remote system, which will figure out from
- there where to send it.
-
- <tag/S/ <bf/Static:/ This route was configured manually,
- not automatically generated by the system.
-
- <tag/C/ <bf/Clone:/ Generates a new route based upon this
- route for machines we connect to. This type of route is
- normally used for local networks.
-
- <tag/W/ <bf/WasCloned/ Indicated a route that was
- auto-configured based upon a local area network (Clone)
- route.
-
- <tag/L/ <bf/Link:/ Route involves references to ethernet
- hardware.
-
- </descrip>
-
-
- <sect1><heading>Default routes</heading>
-
- <p>When the local system needs to make a connection to
- remote host, it checks the routing table to determine if
- a known path exists. If the remote host falls into a
- subnet that we know how to reach (Cloned routes), then
- the system checks to see if it can connect along that
- interface.
-
- If all known paths fail, the system has one last option:
- the <bf>default</bf> route. This route is a special type
- of gateway route (usually the only one present in the
- system), and is always marked with a ``<tt>c</tt>'' in
- the flags field. For hosts on a local area network, this
- gateway is set to whatever machine has a direct
- connection to the outside world (whether via PPP link, or
- your hardware device attached to a dedicated data line).
-
- If you are configuring the default route for a machine
- which itself is functioning as the gateway to the outside
- world, then the default route will be the gateway machine
- at your Internet Service Provider's (ISP) site.
-
- Let us look at an example of default routes. This is a
- common configuration:
-<tscreen><verb>
-[Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW]
-</verb></tscreen>
-
- The hosts <tt>Local1</tt> and <tt>Local2</tt> are at your
- site, with the formed being your PPP connection to your
- ISP's Terminal Server. Your ISP has a local network at
- their site, which has, among other things, the server
- where you connect and a hardware device (T1-GW) attached
- to the ISP's Internet feed.
-
- The default routes for each of your machines will be:
-
-<tscreen><verb>
-host default gateway interface
----- --------------- ---------
-Local2 Local1 ethernet
-Local1 T1-GW PPP
-</verb></tscreen>
-
- A common question is ``Why (or how) would we set the
- T1-GW to be the default gateway for Local1, rather than
- the ISP server it is connected to?''.
-
- Remember, since the PPP interface is using an address on
- the ISP's local network for your side of the connection,
- routes for any other machines on the ISP's local network
- will be automatically generated. Hence, you will already
- know how to reach the T1-GW machine, so there is no need
- for the intermediate step of sending traffic to the ISP
- server.
-
- As a final note, it is common to use the address ``<tt>...1</tt>''
- as the gateway address for your local network. So (using
- the same example), if your local class-C address space
- was <tt>10.20.30</tt> and your ISP was using <tt>10.9.9</tt> then the
- default routes would be:
-
-<tscreen><verb>
-Local2 (10.20.30.2) --> Local1 (10.20.30.1)
-Local1 (10.20.30.1, 10.9.9.30) --> T1-GW (10.9.9.1)
-</verb></tscreen>
-
- <sect1><heading>Dual homed hosts</heading>
-
- <p>There is one other type of configuration that we should
- cover, and that is a host that sits on two different
- networks. Technically, any machine functioning as a
- gateway (in the example above, using a PPP connection)
- counts as a dual-homed host. But the term is really only
- used to refer to a machine that sits on two local-area
- networks.
-
- In one case, the machine as two ethernet cards, each
- having an address on the separate subnets. Alternately,
- the machine may only have one ethernet card, and be using
- ifconfig aliasing. The former is used if two physically
- separate ethernet networks are in use, the latter if
- there is one physical network segment, but two logically
- separate subnets.
-
- Either way, routing tables are set up so that each subnet
- knows that this machine is the defined gateway (inbound
- route) to the other subnet. This configuration, with the
- machine acting as a Bridge between the two subnets, is
- often used when we need to implement packet filtering or
- firewall security in either or both directions.
-
- <sect1><heading>Routing propagation</heading>
-
- <p>We have already talked about how we define our routes to
- the outside world, but not about how the outside world
- finds us.
-
- We already know that routing tables can be set up so that
- all traffic for a particular address space (in our
- examples, a class-C subnet) can be sent to a particular
- host on that network, which will forward the packets
- inbound.
-
- When you get an address space assigned to your site, your
- service provider will set up their routing tables so that
- all traffic for your subnet will be sent down your PPP
- link to your site. But how do sites across the country
- know to send to your ISP?
-
- There is a system (much like the distributed DNS
- information) that keeps track of all assigned
- address-spaces, and defines their point of connection to
- the Internet Backbone. The ``Backbone'' are the main
- trunk lines that carry Internet traffic across the
- country, and around the world. Each backbone machine has
- a copy of a master set of tables, which direct traffic
- for a particular network to a specific backbone carrier,
- and from there down the chain of service providers until
- it reaches your network.
-
- It is the task of your service provider to advertise to
- the backbone sites that they are the point of connection
- (and thus the path inward) for your site. This is known
- as route propagation.
-
-<!--
- <sect1><heading>Multicast Routing</heading>
--->
-
- <sect1><heading>Troubleshooting</heading>
-
- <p>Sometimes, there is a problem with routing propagation,
- and some sites are unable to connect to you. Perhaps the
- most useful command for trying to figure out where a
- routing is breaking down is the <tt>traceroute(8)</tt>
- command. It is equally useful if you cannot seem to make
- a connection to a remote machine (ie. <tt>ping(8)</tt>
- fails).
-
- The <tt>traceroute(8)</tt> command is run with the name
- of the remote host you are trying to connect to. It will
- show the gateway hosts along the path of the attempt,
- eventually either reaching the target host, or
- terminating because of a lack of connection.
-
- For more information, see the manual page for
- <tt>traceroute(8)</tt>.
-
diff --git a/share/doc/handbook/russian.sgml b/share/doc/handbook/russian.sgml
deleted file mode 100644
index 32b4b02..0000000
--- a/share/doc/handbook/russian.sgml
+++ /dev/null
@@ -1,195 +0,0 @@
-<!-- $Id: russian.sgml,v 1.3 1997/05/02 08:07:35 ache Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect><heading>Russian Language (KOI8-R encoding)<label id="russian"></heading>
-<p><em>Contributed by &a.ache;<newline>
-1 May 1997</em>.
-<p>See more info about KOI8-R encoding at
-<htmlurl url="http://www.nagual.pp.ru/~ache/koi8.html"
-name="KOI8-R References (Russian Net Character Set)">.
-
-<sect1><heading>Console Setup<label id="russian:console"></heading>
-<p>
-<enum>
-<item>Russian console entry in <tt>/etc/rc.conf</tt> should looks like
-<verb>
-keymap=ru.koi8-r
-keychange="61 ^[[K"
-scrnmap=koi8-r2cp866
-font8x16=cp866b-8x16
-font8x14=cp866-8x14
-font8x8=cp866-8x8
-</verb>
-<p>
-<it>NOTE:</it> ^[ means that real ESC character must be entered into
-<tt>/etc/rc.conf</tt>,
-not just ^[ string.
-<p>
-This tuning means KOI8-R keyboard with Alternative
-screen font mapped to KOI8-R encoding to
-preserve pseudographics, <it>Gray Delete</it> key remapped to match Russian
-<tt>termcap(5)</tt> entry for FreeBSD console.
-<p>
-RUS/LAT switch will be <bf>CapsLock</bf>. Old CapsLock function still
-available via <bf>Shift+CapsLock</bf>. CapsLock LED will
-indicate RUS mode, not CapsLock mode.
-
-<item>For each <tt>ttyv?</tt> entry in <tt>/etc/ttys</tt>
-change terminal type from <tt>cons25</tt> to
-<tt>cons25r</tt>, i.e. each entry should looks like
-<verb>
-ttyv0 "/usr/libexec/getty Pc" cons25r on secure
-</verb>
-</enum>
-
-<sect1><heading>Locale Setup<label id="russian:locale"></heading>
-<p><label id="russian:env">
-There is two environment variables for locale setup:
-<itemize>
-<item><tt>LANG</tt>
-for POSIX <tt>setlocale(3)</tt> family functions;
-<item><tt>MM_CHARSET</tt>
-for applications MIME chararter set.
-</itemize>
-<p>
-The best way is using <tt>/etc/login.conf</tt>
-<tt>russian</tt> user's login class
-in <tt>passwd(5)</tt> entry login class position.
-See <tt>login.conf(5)</tt> for details.
-
-<sect2><heading>Login Class Method<label id="russian:class"></heading>
-<p>
-First of all check your <tt>/etc/login.conf</tt> have
-<tt>russian</tt> login class, this entry may looks like:
-<verb>
-russian:Russian Users Accounts:\
- :charset=KOI8-R:\
- :lang=ru_RU.KOI8-R:\
- :tc=default:
-</verb>
-
-<sect3><heading>How to do it with vipw(8)</heading>
-<p>
-If you use <tt>vipw(8)</tt> for adding new users,
-<tt>/etc/master.passwd</tt>
-entry should looks like:
-<verb>
-user:password:1111:11:russian:0:0:User Name:/home/user:/bin/csh
-</verb>
-
-<sect3><heading>How to do it with adduser(8)</heading>
-<p>
-If you use <tt>adduser(8)</tt> for adding new users:
-<itemize>
-<item>Set
-<verb>
-defaultclass = russian
-</verb>
-in <tt>/etc/adduser.conf</tt>
-(you must enter <tt>default</tt> class for all non-Russian
-users in this case);
-<newline><newline>
-
-<item>Alternative variant will be answering <tt>russian</tt>
-each time when you see
-<verb>
-Enter login class: default []:
-</verb>
-prompt from <tt>adduser(8)</tt>;
-<newline><newline>
-
-<item>Another variant: call
-<verb>
-# adduser -class russian
-</verb>
-for each Russian user you want to add.
-</itemize>
-
-<sect3><heading>How to do it with pw(8)</heading>
-<p>
-If you use <tt>pw(8)</tt> for adding new users, call it in this form:
-<verb>
-# pw useradd user_name -L russian
-</verb>
-
-<sect2><heading>Shell Startup Files Method</heading>
-<p>
-If you don't want to use
-<ref id="russian:class" name="login class method">
-for some reasons, just set
-this
-<ref id="russian:env" name="two environment variables">
-in the following shell startup files:
-<itemize>
-<item><tt>/etc/profile</tt>:
-<verb>
-LANG=ru_RU.KOI8-R; export LANG
-MM_CHARSET=KOI8-R; export MM_CHARSET
-</verb>
-
-<item><tt>/etc/csh.login</tt>:
-<verb>
-setenv LANG ru_RU.KOI8-R
-setenv MM_CHARSET KOI8-R
-</verb>
-</itemize>
-<p>
-Alternatively you can add this instructions to
-<itemize>
-<item><tt>/usr/share/skel/dot.profile</tt>:
-<p>
-(similar to <tt>/etc/profile</tt> above);
-
-<item><tt>/usr/share/skel/dot.login</tt>:
-<p>
-(similar to <tt>/etc/csh.login</tt> above).
-</itemize>
-
-<sect1><heading>X Window Setup<label id="russian:xwindow"></heading>
-<p>
-Step by step instructions:
-<enum>
-<item>Do
-<ref id="russian:locale" name="locale setup"> first as described.
-<p>
-<it>NOTE:</it><label id="russian:note">
-Russian KOI8-R locale may not work with old XFree86 versions
-(lower than 3.2.1 + locale/keyboard patches).
-XFree86 port from <tt>/usr/ports/x11/XFree86</tt> already have
-all neccessary patches, so it will work, if you install XFree86
-from this port.
-Basically, XFree86 version shipped with latest FreeBSD distribution should
-work too unless somebody forget to apply port patches to it.
-
-<item>Go to <tt>/usr/ports/russian/X.language</tt> directory and say
-<verb>
-# make all install
-</verb>
-there. This port install latest version of KOI8-R fonts.
-<p>
-Check find <tt>"Files"</tt> section in your <tt>/etc/XF86Config</tt>,
-following lines must be before any other <tt>FontPath</tt> entries:
-<verb>
- FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
- FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
- FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"
-</verb>
-<p>
-If you use high resolution video mode, swap 75 dpi and
-100 dpi lines.
-
-<item>To activate Russian keyboard add
-<verb>
- XkbKeymap "xfree86(ru)"
-</verb>
-line into <tt>"Keyboard"</tt> section in your <tt>/etc/XF86Config</tt>,
-also make sure that <tt>XkbDisable</tt> is turned off (commented out)
-there.
-<p>
-RUS/LAT switch will be <bf>CapsLock</bf>. Old CapsLock function still
-available via <bf>Shift+CapsLock</bf> (in LAT mode only).
-<p>
-<it>NOTE:</it>
-Russian XKB keyboard may not work with old XFree86 versions,
-see <ref id="russian:note" name="locale note"> for more info.
-</enum>
diff --git a/share/doc/handbook/scsi.sgml b/share/doc/handbook/scsi.sgml
deleted file mode 100644
index a0d2ee1..0000000
--- a/share/doc/handbook/scsi.sgml
+++ /dev/null
@@ -1,891 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!--
- <title>An introduction to SCSI and its use with FreeBSD</title>
- <author>(c) 1995-1996, Wilko Bulte, <tt/wilko@yedi.iaf.nl/
- <date>Sat Jul 6 20:57:39 MET DST 1996</date>
- Copyright 1995-1996, Wilko C. Bulte, Arnhem, The Netherlands
-
- <abstract>
- This document attempts to describe the background of SCSI, its
- (mis)use with FreeBSD and some common pitfalls.
- </abstract>
-
--->
- <sect1><heading>What is SCSI?<label id="scsi"></heading>
-
- <p><em>Copyright &copy; 1995, &a.wilko;.<newline>July 6, 1996.</em>
-
- SCSI is an acronym for Small Computer Systems Interface. It is an
- ANSI standard that has become one of the leading I/O buses in the
- computer industry. The foundation of the SCSI standard was laid by
- Shugart Associates (the same guys that gave the world the first
- mini floppy disks) when they introduced the SASI bus (Shugart Associates
- Standard Interface).
-
- After some time an industry effort was started to come to a more strict
- standard allowing devices from different vendors to work together.
- This effort was recognized in the ANSI SCSI-1 standard. The SCSI-1
- standard (approx 1985) is rapidly becoming obsolete. The current
- standard is SCSI-2 (see <ref id="scsi:further-reading" name="Further
- reading">), with SCSI-3 on the drawing boards.
-
- In addition to a physical interconnection standard, SCSI defines a
- logical (command set) standard to which disk devices must adhere.
- This standard is called the Common Command Set (CCS) and was
- developed more or less in parallel with ANSI SCSI-1. SCSI-2
- includes the (revised) CCS as part of the standard itself. The
- commands are dependent on the type of device at hand. It does not
- make much sense of course to define a Write command for a
- scanner.
-
- The SCSI bus is a parallel bus, which comes in a number of
- variants. The oldest and most used is an 8 bit wide bus, with
- single-ended signals, carried on 50 wires. (If you do not know what
- single-ended means, do not worry, that is what this document is all
- about.) Modern designs also use 16 bit wide buses, with
- differential signals. This allows transfer speeds of
- 20Mbytes/second, on cables lengths of up to 25 meters. SCSI-2
- allows a maximum bus width of 32 bits, using an additional cable.
- Quickly emerging are Ultra SCSI (also called Fast-20) and Ultra2
- (also called Fast-40). Fast-20 is 20 mega-transfers per second
- (20 Mbytes/sec on a 8 bit bus), Fast-40 is 40 mega-transfers per
- second (40 Mbytes/sec on a 8 bit bus).
-
- Of course the SCSI bus not only has data lines, but also a number
- of control signals. A very elaborate protocol is part of the
- standard to allow multiple devices to share the bus in an efficient
- manner. In SCSI-2, the data is always checked using a separate
- parity line. In pre-SCSI-2 designs parity was optional.
-
- In SCSI-3 even faster bus types are introduced, along with a serial
- SCSI busses that reduces the cabling overhead and allows a higher
- maximum bus length. You might see names like SSA and Fiberchannel
- in this context. None of the serial buses are currently in widespread
- use (especially not in the typical FreeBSD environment). For
- this reason the serial bus types are not discussed any further.
-
- As you could have guessed from the description above, SCSI devices
- are intelligent. They have to be to adhere to the SCSI standard
- (which is over 2 inches thick BTW). So, for a hard disk drive for
- instance you do not specify a head/cylinder/sector to address a
- particular block, but simply the number of the block you want.
- Elaborate caching schemes, automatic bad block replacement etc
- are all made possible by this 'intelligent device' approach.
-
- On a SCSI bus, each possible pair of devices can communicate. Whether
- their function allows this is another matter, but the standard does
- not restrict it. To avoid signal contention, the 2 devices have to
- arbitrate for the bus before using it.
-
- The philosophy of SCSI is to have a standard that allows
- older-standard devices to work with newer-standard ones. So, an
- old SCSI-1 device should normally work on a SCSI-2 bus. I say
- Normally, because it is not absolutely sure that the implementation
- of an old device follows the (old) standard closely enough to be
- acceptable on a new bus. Modern devices are usually more
- well-behaved, because the standardization has become more strict
- and is better adhered to by the device manufacturers.
-
- Generally speaking, the chances of getting a working set of
- devices on a single bus is better when all the devices are SCSI-2
- or newer. This implies that you do not have to dump all your old
- stuff when you get that shiny 2Gb disk: I own a system on which a
- pre-SCSI-1 disk, a SCSI-2 QIC tape unit, a SCSI-1 helical scan
- tape unit and 2 SCSI-1 disks work together quite happily. From
- a performance standpoint you might want to separate your older
- and newer (=faster) devices however.
-
- <sect2><heading>Components of SCSI</heading>
- <p>
-<!-- <sect3><heading>A <it>smart</it> interface</heading>
- <p> -->
- As said before, SCSI devices are smart. The idea is to put the
- knowledge about intimate hardware details onto the SCSI device
- itself. In this way, the host system does not have to worry
- about things like how many heads are hard disks has, or how many
- tracks there are on a specific tape device. If you are curious,
- the standard specifies commands with which you can query your
- devices on their hardware particulars. FreeBSD uses this
- capability during boot to check out what devices are connected
- and whether they need any special treatment.
-
- The advantage of intelligent devices is obvious: the device
- drivers on the host can be made in a much more generic fashion,
- there is no longer a need to change (and qualify!) drivers for
- every odd new device that is introduced.
-
-<!-- <sect3><heading>Do's and don't's on interconnections</heading>
- <p> -->
- For cabling and connectors there is a golden rule: get good
- stuff. With bus speeds going up all the time you will save
- yourself a lot of grief by using good material.
-
- So, gold plated connectors, shielded cabling, sturdy connector
- hoods with strain reliefs etc are the way to go. Second golden
- rule: do no use cables longer than necessary. I once spent 3 days
- hunting down a problem with a flaky machine only to discover that
- shortening the SCSI bus by 1 meter solved the problem. And the
- original bus length was well within the SCSI specification.
-
- <sect2><heading>SCSI bus types</heading>
- <p>
- From an electrical point of view, there are two incompatible bus
- types: single-ended and differential. This means that there are
- two different main groups of SCSI devices and controllers, which
- cannot be mixed on the same bus. It is possible however to use
- special converter hardware to transform a single-ended bus into a
- differential one (and vice versa). The differences between the
- bus types are explained in the next sections.
-
- In lots of SCSI related documentation there is a sort of jargon
- in use to abbreviate the different bus types. A small list:
-
- <itemize>
- <item>FWD: Fast Wide Differential
- <item>FND: Fast Narrow Differential
- <item>SE: Single Ended
- <item>FN: Fast Narrow
- <item>etc.
- </itemize>
-
- With a minor amount of imagination one can usually imagine what
- is meant.
-
- Wide is a bit ambiguous, it can indicate 16 or 32 bit buses. As
- far as I know, the 32 bit variant is not (yet) in use, so wide
- normally means 16 bit.
-
- Fast means that the timing on the bus is somewhat different, so
- that on a narrow (8 bit) bus 10 Mbytes/sec are possible instead
- of 5 Mbytes/sec for 'slow' SCSI. As discussed before, bus
- speeds of 20 and 40 megatransfers/second are also emerging
- (Fast-20 == Ultra SCSI and Fast-40 == Ultra2 SCSI).
-
- It should be noted that the data lines &gt; 8 are only used for
- data transfers and device addressing. The transfers of commands
- and status messages etc are only performed on the lowest 8
- data lines. The standard allows narrow devices to operate on
- a wide bus. The usable bus width is negotiated
- between the devices. You have to watch your device addressing
- closely when mixing wide and narrow.
-
- <sect3><heading>Single ended buses</heading>
- <p>
- A single-ended SCSI bus uses signals that are either 5 Volts or
- 0 Volts (indeed, TTL levels) and are relative to a COMMON
- ground reference. A singled ended 8 bit SCSI bus has
- approximately 25 ground lines, who are all tied to a single
- `rail' on all devices. A standard single ended bus has a
- maximum length of 6 meters. If the same bus is used with
- fast-SCSI devices, the maximum length allowed drops to 3
- meters. Fast-SCSI means that instead of 5Mbytes/sec the bus
- allows 10Mbytes/sec transfers.
-
- Fast-20 (Ultra SCSI) and Fast-40 allow for 20 and 40
- megatransfers/second respectively. So, F20 is 20 Mbytes/second
- on a 8 bit bus, 40 Mbytes/second on a 16 bit bus etc.
- For F20 the max bus length is 1.5 meters, for F40 it
- becomes 0.75 meters. Be aware that F20 is pushing
- the limits quite a bit, so you will quickly find out if your
- SCSI bus is electrically sound.
-
- Please note that this means that
- if some devices on your bus use 'fast' to communicate your
- bus must adhere to the length restrictions for fast buses!
-
- It is obvious that with the newer fast-SCSI devices the
- bus length can become a real bottleneck. This is why the
- differential SCSI bus was introduced in the SCSI-2 standard.
-
- For connector pinning and connector types please refer to the
- SCSI-2 standard (see <ref id="scsi:further-reading" name="Further
- reading">) itself, connectors etc are listed there in
- painstaking detail.
-
- Beware of devices using non-standard cabling. For instance
- Apple uses a 25pin D-type connecter (like the one on serial
- ports and parallel printers). Considering
- that the official SCSI bus needs 50 pins you can imagine
- the use of this connector needs some 'creative cabling'.
- The reduction of the number of ground wires they used
- is a bad idea, you better stick to 50 pins cabling
- in accordance with the SCSI standard. For Fast-20 and 40
- do not even think about buses like this.
-
- <sect3><heading>Differential buses</heading>
- <p>
- A differential SCSI bus has a maximum length of 25
- meters. Quite a difference from the 3 meters for a single-ended
- fast-SCSI bus. The idea behind differential signals is that
- each bus signal has its own return wire. So, each signal is
- carried on a (preferably twisted) pair of wires. The voltage
- difference between these two wires determines whether the
- signal is asserted or de-asserted. To a certain extent the
- voltage difference between ground and the signal wire pair is
- not relevant (do not try 10 kVolts though).
-
- It is beyond the scope of this document to explain why this
- differential idea is so much better. Just accept that
- electrically seen the use of differential signals gives a much
- better noise margin. You will normally find differential buses
- in use for inter-cabinet connections. Because of the lower cost
- single ended is mostly used for shorter buses like inside
- cabinets.
-
- There is nothing that stops you from using differential stuff
- with FreeBSD, as long as you use a controller that has device
- driver support in FreeBSD. As an example, Adaptec marketed the
- AHA1740 as a single ended board, whereas the AHA1744 was differential.
- The software interface to the host is identical for both.
-
- <sect3><heading>Terminators</heading>
- <p>
- Terminators in SCSI terminology are resistor networks that are
- used to get a correct impedance matching. Impedance matching
- is important to get clean signals on the bus, without
- reflections or ringing. If you once made a long distance
- telephone call on a bad line you probably know what reflections
- are. With 20Mbytes/sec traveling over your SCSI bus, you
- do not want signals echoing back.
-
- Terminators come in various incarnations, with more or less
- sophisticated designs. Of course, there are internal and
- external variants. Almost every SCSI device comes with a
- number of sockets in which a number of resistor networks can
- (must be!) installed. If you remove terminators from a device,
- carefully store them. You will need them when you ever decide to
- reconfigure your SCSI bus. There is enough variation in even
- these simple tiny things to make finding the exact replacement
- a frustrating business. There are also SCSI devices that have
- a single jumper to enable or disable a built-in terminator.
- There are special terminators you can stick onto a flat cable
- bus. Others look like external connectors, or a connector hood
- without a cable. So, lots of choice as you can see.
-
- There is much debate going on if and when you should switch
- from simple resistor (passive) terminators to active
- terminators. Active terminators contain slightly more elaborate
- circuit to give cleaner bus signals. The general consensus
- seems to be that the usefulness of active termination increases
- when you have long buses and/or fast devices. If you ever have
- problems with your SCSI buses you might consider trying an
- active terminator. Try to borrow one first, they reputedly are
- quite expensive.
-
- Please keep in mind that terminators for differential and
- single-ended buses are not identical. You should <bf>not
- mix</bf> the two variants.
-
- OK, and now where should you install your terminators? This is
- by far the most misunderstood part of SCSI. And it is by far
- the simplest. The rule is: <bf>every SCSI bus has 2 (two)
- terminators, one at each end of the bus.</bf> So, two and not
- one or three or whatever. Do yourself a favor and stick to
- this rule. It will save you endless grief, because wrong
- termination has the potential to introduce highly mysterious
- bugs.
-
- A common pitfall is to have an internal (flat)cable in a
- machine and also an external cable attached to the
- controller. It seems almost everybody forgets to remove the
- terminators from the controller. The terminator must now be on
- the last external device, and not on the controller! In
- general, every reconfiguration of a SCSI bus must pay attention
- to this.
-
- What I did myself is remove all terminators from my SCSI
- devices and controllers. I own a couple of external
- terminators, for both the Centronics-type external cabling and
- for the internal flat cable connectors. This makes
- reconfiguration much easier.
-
- On modern devices, sometimes integrated terminators are
- used. These things are special purpose integrated circuits that
- can be dis/en-abled with a control pin. It is not necessary to
- physically remove them from a device. You may find them on
- newer host adapters, sometimes they even are software
- configurable, using some sort of setup tool. Consult you
- documentation!
-
- <sect3><heading>Terminator power</heading>
- <p>
- The terminators discussed in the previous chapter need power to
- operate properly. On the SCSI bus, a line is dedicated to this
- purpose. So, simple huh?
-
- Not so. Each device can provide its own terminator power to
- the terminator sockets it has on-device. But if you have
- external terminators, or when the device supplying the
- terminator power to the SCSI bus line is switched off you are
- in trouble.
-
- The idea is that initiators (these are devices that initiate
- actions on the bus, a discussion follows) must supply
- terminator power. All SCSI devices are allowed (but not
- required) to supply terminator power.
-
- To allow for un-powered devices on a bus, the terminator
- power must be supplied to the bus via a diode. This prevents
- the backflow of current to un-powered devices.
-
- To prevent all kinds of nastiness, the terminator power is
- usually fused. As you can imagine, fuses might blow. This can,
- but does not have to, lead to a non functional bus. If multiple
- devices supply terminator power, a single blown fuse will not
- put you out of business. A single supplier with a blown fuse
- certainly will. Clever external terminators sometimes have a
- LED indication that shows whether terminator power is present.
-
- In newer designs auto-restoring fuses that 'reset'
- themselves after some time are sometimes used.
-
- <sect3><heading>Device addressing</heading>
- <p>
- Because the SCSI bus is, ehh, a bus there must be a way to
- distinguish or address the different devices connected to it.
-
- This is done by means of the SCSI or target ID. Each device has
- a unique target ID. You can select the ID to which a device
- must respond using a set of jumpers, or a dip switch, or
- something similar. Consult the documentation of your device for
- more information.
-
- Beware of multiple devices configured to use the same ID. Chaos
- normally reigns in this case. A pitfall is that one of the
- devices sharing the same ID sometimes even manages to answer
- to I/O requests!
-
- For an 8 bit bus, a maximum of 8 targets is possible. The
- maximum is 8 because the selection is done bitwise using the 8
- data lines on the bus. For wide buses this increases to the
- number of data lines.
-
- The higher the SCSI target ID, the higher the priority the
- devices has. When it comes to arbitration between devices that
- want to use the bus at the same time, the device that has the
- highest SCSI ID will win. This also means that the SCSI
- host adapter usually uses target ID 7 (for narrow buses).
-
- For a further subdivision, the standard allows for Logical
- Units or LUNs for short. A single target ID may have multiple
- LUNs. For example, a tape device including a tape changer may
- have LUN 0 for the tape device itself, and LUN 1 for the
- tape changer. In this way, the host system can address each of
- the functional units of the tape changer as desired.
-
- <sect3><heading>Bus layout</heading>
- <p>
- SCSI buses are linear. So, not shaped like Y-junctions, star
- topologies, cobwebs or whatever else people might want to
- invent.
-
- You might notice that the terminator issue discussed earlier
- becomes rather hairy if your bus is not linear.
-
- The electrical characteristics, its noise margins and
- ultimately the reliability of it all are tightly related to
- linear bus rule.
-
- <bf>Stick to the linear bus rule!</bf>
-
- <sect2><heading>Using SCSI with FreeBSD</heading>
- <p>
- <sect3><heading>About translations, BIOSes and magic...</heading>
- <p>
- As stated before, you should first make sure that you have a
- electrically sound bus.
-
- When you want to use a SCSI disk on your PC as boot disk, you
- must aware of some quirks related to PC BIOSes. The PC BIOS in
- its first incarnation used a low level physical interface to the
- hard disk. So, you had to tell the BIOS (using a setup tool or a
- BIOS built-in setup) how your disk physically looked like. This
- involved stating number of heads, number of cylinders, number of
- sectors per track, obscure things like precompensation and
- reduced write current cylinder etc.
-
- One might be inclined to think that since SCSI disks are smart
- you can forget about this. Alas, the arcane setup issue is still
- present today. The system BIOS needs to know how to access your
- SCSI disk with the head/cyl/sector method in order to load the
- FreeBSD kernel during boot.
-
- The SCSI host adapter or SCSI controller you have put in your
- AT/EISA/PCI/whatever bus to connect your disk therefore has its
- own on-board BIOS. During system startup, the SCSI BIOS takes over
- the hard disk interface routines from the system BIOS. To fool the
- system BIOS, the system setup is normally set to No hard disk
- present. Obvious, isn't it?
-
- The SCSI BIOS itself presents to the system a so called
- <bf>translated</bf> drive. This means that a fake drive table is
- constructed that allows the PC to boot the drive. This
- translation is often (but not always) done using a pseudo drive
- with 64 heads and 32 sectors per track. By varying the number of
- cylinders, the SCSI BIOS adapts to the actual drive size. It is
- useful to note that 32 * 64 / 2 = the size of your drive in
- megabytes. The division by 2 is to get from disk blocks that are
- normally 512 bytes in size to Kbytes.
-
- Right. All is well now?! No, it is not. The system BIOS has
- another quirk you might run into. The number of cylinders of a
- bootable hard disk cannot be greater than 1024. Using the
- translation above, this is a show-stopper for disks greater than
- 1 Gb. With disk capacities going up all the time this is causing
- problems.
-
- Fortunately, the solution is simple: just use another
- translation, e.g. with 128 heads instead of 32. In most cases new
- SCSI BIOS versions are available to upgrade older SCSI host
- adapters. Some newer adapters have an option, in the form of a
- jumper or software setup selection, to switch the translation the
- SCSI BIOS uses.
-
- It is very important that <bf>all</bf> operating systems on the
- disk use the <bf>same translation</bf> to get the right idea about
- where to find the relevant partitions. So, when installing
- FreeBSD you must answer any questions about heads/cylinders
- etc using the translated values your host adapter uses.
-
- Failing to observe the translation issue might lead to
- un-bootable systems or operating systems overwriting each
- others partitions. Using fdisk you should be able to see
- all partitions.
-
- You might have heard some talk of 'lying' devices?
- Older FreeBSD kernels used to report the geometry
- of SCSI disks when booting. An example from one of my systems:
-
- <verb>
- aha0 targ 0 lun 0: <MICROP 1588-15MB1057404HSP4>
- sd0: 636MB (1303250 total sec), 1632 cyl, 15 head, 53 sec, bytes/sec 512
- </verb>
- Newer kernels usually do not report this information. e.g.
- <verb>
- (bt0:0:0): "SEAGATE ST41651 7574" type 0 fixed SCSI 2
- sd0(bt0:0:0): Direct-Access 1350MB (2766300 512 byte sectors)
- </verb>
-
- Why has this changed?
-
- This info is retrieved from the SCSI disk itself. Newer disks
- often use a technique called zone bit recording. The idea is that
- on the outer cylinders of the drive there is more space so more
- sectors per track can be put on them. This results in disks that
- have more tracks on outer cylinders than on the inner cylinders
- and, last but not least, have more capacity. You can imagine that
- the value reported by the drive when inquiring about the geometry
- now becomes suspect at best, and nearly always misleading. When
- asked for a geometry , it is nearly always better to supply the
- geometry used by the BIOS, or <em>if the BIOS is never going to know
- about this disk</em>, (e.g. it is not a booting disk) to supply a
- fictitious geometry that is convenient.
-
- <sect3><heading>SCSI subsystem design</heading>
- <p>
- FreeBSD uses a layered SCSI subsystem. For each different
- controller card a device driver is written. This driver
- knows all the intimate details about the hardware it
- controls. The driver has a interface to the upper layers of the
- SCSI subsystem through which it receives its commands and
- reports back any status.
-
- On top of the card drivers there are a number of more generic
- drivers for a class of devices. More specific: a driver for
- tape devices (abbreviation: st), magnetic disks (sd), cdroms (cd)
- etc. In case you are wondering where you can find this stuff, it
- all lives in <tt>/sys/scsi</tt>. See the man pages in section 4
- for more details.
-
- The multi level design allows a decoupling of low-level bit
- banging and more high level stuff. Adding support for another
- piece of hardware is a much more manageable problem.
-
- <sect3><heading>Kernel configuration</heading>
- <p>
- Dependent on your hardware, the kernel configuration file must
- contain one or more lines describing your host adapter(s).
- This includes I/O addresses, interrupts etc.
- Consult the man page for your
- adapter driver to get more info. Apart from that, check out
- /sys/i386/conf/LINT for an overview of a kernel config file.
- LINT contains every possible option you can dream of. It
- does <em>not</em> imply LINT will actually get you to a
- working kernel at all.
-
- Although it is probably stating the obvious: the kernel config
- file should reflect your actual hardware setup. So, interrupts,
- I/O addresses etc must match the kernel config file. During
- system boot messages will be displayed to indicate whether
- the configured hardware was actually found.
-
- An example loosely based on the FreeBSD 2.0.5-Release kernel config
- file LINT with some added comments (between &lsqb;&rsqb;):
-
- <verb>
-
-# SCSI host adapters: `aha', `ahb', `aic', `bt', `nca'
-#
-# aha: Adaptec 154x
-# ahb: Adaptec 174x
-# ahc: Adaptec 274x/284x/294x
-# aic: Adaptec 152x and sound cards using the Adaptec AIC-6360 (slow!)
-# bt: Most Buslogic controllers
-# nca: ProAudioSpectrum cards using the NCR 5380 or Trantor T130
-# uha: UltraStore 14F and 34F
-# sea: Seagate ST01/02 8 bit controller (slow!)
-# wds: Western Digital WD7000 controller (no scatter/gather!).
-#
-
-&lsqb;For an Adaptec AHA274x, 284x etc controller&rsqb;
-controller ahc0 at isa? bio irq ? vector ahcintr # port??? iomem?
-
-&lsqb;For an Adaptec AHA174x controller&rsqb;
-controller ahb0 at isa? bio irq ? vector ahbintr
-
-&lsqb;For an Ultrastor adapter&rsqb;
-controller uha0 at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr
-
-# Map SCSI buses to specific SCSI adapters
-controller scbus0 at ahc0
-controller scbus2 at ahb0
-controller scbus1 at uha0
-
-# The actual SCSI devices
-disk sd0 at scbus0 target 0 unit 0 [SCSI disk 0 is at scbus 0, LUN 0]
-disk sd1 at scbus0 target 1 [implicit LUN 0 if omitted]
-disk sd2 at scbus1 target 3 [SCSI disk on the uha0]
-disk sd3 at scbus2 target 4 [SCSI disk on the ahb0]
-tape st1 at scbus0 target 6 [SCSI tape at target 6]
-device cd0 at scbus? [the first ever CDROM found, no wiring]
-
- </verb>
-
- The example above tells the kernel to look for a ahc (Adaptec 274x)
- controller, then for an Adaptec 174x board, and
- so on. The lines following the controller specifications
- tell the kernel to configure specific devices but
- <em>only</em> attach them when they match the target ID and
- LUN specified on the corresponding bus.
-
- Wired down devices get 'first shot' at the unit numbers
- so the first non 'wired down' device, is allocated the unit number
- one greater than the highest 'wired down' unit number
- for that kind of device.
- So, if you had a SCSI tape at target ID 2 it would be
- configured as st2, as the tape at target ID 6 is wired down
- to unit number 1. Note that <em>wired down devices need not
- be found</em>
- to get their unit number. The unit number for a wired down device
- is reserved for that device, even if it is turned off at boot
- time. This allows the device to be turned on and brought
- on-line at a later time, without rebooting. Notice that a device's
- unit number has <em>no</em> relationship with its target ID on
- the SCSI bus.
-
- Below is another example of a kernel config file as used by
- FreeBSD version < 2.0.5. The difference with the first example is
- that devices are not 'wired down'. 'Wired down' means
- that you specify which SCSI target belongs to which device.
-
- A kernel built to the config file below will attach
- the first SCSI disk it finds to sd0, the second disk to sd1
- etc. If you ever removed or added a disk, all other devices
- of the same type (disk in this case) would 'move around'.
- This implies you have to change <tt>/etc/fstab</tt> each time.
-
- Although the old style still works, you
- are <em>strongly</em> recommended to use this new feature.
- It will save you a lot of grief whenever you shift your
- hardware around on the SCSI buses. So, when you re-use
- your old trusty config file after upgrading from a
- pre-FreeBSD2.0.5.R system check this out.
-
- <verb>
-&lsqb;driver for Adaptec 174x&rsqb;
-controller ahb0 at isa? bio irq 11 vector ahbintr
-&lsqb;for Adaptec 154x&rsqb;
-controller aha0 at isa? port "IO_AHA0" bio irq 11 drq 5 vector ahaintr
-&lsqb;for Seagate ST01/02&rsqb;
-controller sea0 at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr
-controller scbus0
-
-device sd0 &lsqb;support for 4 SCSI harddisks, sd0 up sd3&rsqb;
-
-device st0 &lsqb;support for 2 SCSI tapes&rsqb;
-
-&lsqb;for the cdrom&rsqb;
-device cd0 #Only need one of these, the code dynamically grows
- </verb>
-
-
- Both examples support SCSI disks. If during boot more
- devices of a specific type (e.g. sd disks) are found than are
- configured in the booting kernel, the system will simply allocate
- more devices, incrementing the unit number starting at the last
- number 'wired down'. If there are no 'wired down' devices
- then counting starts at unit 0.
-
- Use <tt>man 4 scsi</tt> to check for the latest info on the SCSI
- subsystem. For more detailed info on host adapter drivers use eg
- <tt>man 4 aha</tt> for info on the Adaptec 154x driver.
-
- <sect3><heading>Tuning your SCSI kernel setup</heading>
- <p>
- Experience has shown that some devices are slow to respond to INQUIRY
- commands after a SCSI bus reset (which happens at boot time).
- An INQUIRY command is sent by the kernel on boot to see what
- kind of device (disk, tape, CDROM etc) is connected to a
- specific target ID. This process is called device probing by the way.
-
- To work around the 'slow response' problem, FreeBSD allows a
- tunable delay time
- before the SCSI devices are probed following a SCSI bus reset.
- You can set this delay time in your kernel configuration file
- using a line like:
-
- <verb>
-options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device
- </verb>
- This line sets the delay time to 15 seconds. On my own system I had to
- use 3 seconds minimum to get my trusty old CDROM drive to be recognized.
- Start with a high value (say 30 seconds or so) when you have problems
- with device recognition. If this helps, tune it back until it just stays
- working.
-
- <sect3><heading>Rogue SCSI devices</heading>
- <p>
- Although the SCSI standard tries to be complete and concise, it is
- a complex standard and implementing things correctly is no easy task.
- Some vendors do a better job then others.
-
- This is exactly where the 'rogue' devices come into view. Rogues are
- devices that are recognized by the FreeBSD kernel as behaving slightly
- (...) non-standard. Rogue devices are reported by the kernel when
- booting. An example for two of my cartridge tape units:
-
- <verb>
-Feb 25 21:03:34 yedi /kernel: ahb0 targ 5 lun 0: <TANDBERG TDC 3600 -06:>
-Feb 25 21:03:34 yedi /kernel: st0: Tandberg tdc3600 is a known rogue
-
-Mar 29 21:16:37 yedi /kernel: aha0 targ 5 lun 0: <ARCHIVE VIPER 150 21247-005>
-Mar 29 21:16:37 yedi /kernel: st1: Archive Viper 150 is a known rogue
- </verb>
-
- For instance, there are devices that respond to
- all LUNs on a certain target ID, even if they are actually only one
- device. It is easy to see that the kernel might be fooled into
- believing that there are 8 LUNs at that particular target ID. The
- confusion this causes is left as an exercise to the reader.
-
- The SCSI subsystem of FreeBSD recognizes devices with bad habits by
- looking at the INQUIRY response they send when probed. Because the
- INQUIRY response also includes the version number of the device
- firmware, it is even possible that for different firmware versions
- different workarounds are used. See e.g. /sys/scsi/st.c and
- /sys/scsi/scsiconf.c for more info on how this is done.
-
- This scheme works fine, but keep in mind that it of course only
- works for devices that are KNOWN to be weird. If you are the first
- to connect your bogus Mumbletech SCSI CDROM you might be the one
- that has to define which workaround is needed.
-
- After you got your Mumbletech working, please send the required
- workaround to the FreeBSD development team for inclusion in the
- next release of FreeBSD. Other Mumbletech owners will be grateful
- to you.
-
- <sect3><heading>Multiple LUN devices</heading>
- <p>
- In some cases you come across devices that use multiple
- logical units (LUNs) on a single SCSI ID. In most cases
- FreeBSD only probes devices for LUN 0. An example are
- so called bridge boards that connect 2 non-SCSI harddisks
- to a SCSI bus (e.g. an Emulex MD21 found in old Sun systems).
-
- This means that any devices with LUNs != 0 are not normally
- found during device probe on system boot. To work around this
- problem you must add an appropriate entry in /sys/scsi/scsiconf.c
- and rebuild your kernel.
-
- Look for a struct that is initialised like below:
- <verb>
- {
- T_DIRECT, T_FIXED, "MAXTOR", "XT-4170S", "B5A",
- "mx1", SC_ONE_LU
- }
- </verb>
-
- For you Mumbletech BRIDGE2000 that has more than one LUN,
- acts as a SCSI disk
- and has firmware revision 123 you would add something like:
-
- <verb>
- {
- T_DIRECT, T_FIXED, "MUMBLETECH", "BRIDGE2000", "123",
- "sd", SC_MORE_LUS
- }
- </verb>
-
- The kernel on boot scans the inquiry data it receives against
- the table and acts accordingly. See the source for more info.
-
- <sect3><heading>Tagged command queueing</heading>
- <p>
- Modern SCSI devices, particularly magnetic disks, support
- what is called tagged command queuing (TCQ).
-
- In a nutshell, TCQ allows the device to have multiple I/O
- requests outstanding at the same time. Because the device
- is intelligent, it can optimise its operations (like
- head positioning) based on its own request queue. On
- SCSI devices like RAID (Redundant Array of Independent
- Disks) arrays the TCQ function is indispensable to take
- advantage of the device's inherent parallelism.
-
- Each I/O request is uniquely identified by a 'tag' (hence
- the name tagged command queuing) and this tag is used by
- FreeBSD to see which I/O in the device drivers queue is
- reported as complete by the device.
-
- It should be noted however that TCQ requires device driver
- support and that some devices implemented it 'not quite
- right' in their firmware. This problem bit me once, and
- it leads to highly mysterious problems. In such cases,
- try to disable TCQ.
-
- <sect3><heading>Busmaster host adapters</heading>
- <p>
- Most, but not all, SCSI host adapters are bus mastering controllers.
- This means that they can do I/O on their own without putting load onto
- the host CPU for data movement.
-
- This is of course an advantage for a multitasking operating system like
- FreeBSD. It must be noted however that there might be some rough edges.
-
- For instance an Adaptec 1542 controller can be set to use different
- transfer speeds on the host bus (ISA or AT in this case). The controller
- is settable to different rates because not all motherboards can handle
- the higher speeds. Problems like hangups, bad data etc might be the
- result of using a higher data transfer rate then your motherboard
- can stomach.
-
- The solution is of course obvious: switch to a lower data transfer rate
- and try if that works better.
-
- In the case of a Adaptec 1542, there is an option that can be put
- into the kernel config file to allow dynamic determination of the
- right, read: fastest feasible, transfer rate. This option is
- disabled by default:
-
- <verb>
-options "TUNE_1542" #dynamic tune of bus DMA speed
- </verb>
-
- Check the man pages for the host adapter that you use. Or better
- still, use the ultimate documentation (read: driver source).
-
- <sect2><heading>Tracking down problems</heading>
- <p>
- The following list is an attempt to give a guideline for the most
- common SCSI problems and their solutions. It is by no means
- complete.
-
- <itemize>
- <item>
- Check for loose connectors and cables.
- <item>
- Check and double check the location and number of your terminators.
- <item>
- Check if your bus has at least one supplier of terminator power
- (especially with external terminators.
- <item>
- Check if no double target IDs are used.
- <item>
- Check if all devices to be used are powered up.
- <item>
- Make a minimal bus config with as little devices as possible.
- <item>
- If possible, configure your host adapter to use slow bus speeds.
- <item>
- Disable tagged command queuing to make things as simple as
- possible (for a NCR hostadapter based system see man
-ncrcontrol)
- <item>
- If you can compile a kernel, make one with the SCSIDEBUG option,
- and try accessing the device with debugging turned on for
- that device. If your device does not even probe at startup,
- you may have to define the address of the device that
- is failing, and the desired debug level in
- <tt>/sys/scsi/scsidebug.h</tt>.
- If it probes but just does not work, you can use the
- <tt>scsi(8)</tt> command to dynamically set a debug level to
- it in a running kernel (if SCSIDEBUG is defined).
- This will give you COPIOUS debugging output with which to confuse
- the gurus. see <tt>man 4 scsi</tt> for more exact information.
- Also look at <tt>man 8 scsi</tt>.
- </itemize>
-
- <sect2><heading>Further reading<label id="scsi:further-reading"></heading>
- <p>
- If you intend to do some serious SCSI hacking, you might want to
- have the official standard at hand:
-
- Approved American National Standards can be purchased from ANSI at
- 11 West 42nd Street, 13th Floor, New York, NY 10036, Sales Dept:
- (212) 642-4900. You can also buy many ANSI standards and most
- committee draft documents from Global Engineering Documents, 15
- Inverness Way East, Englewood, CO 80112-5704, Phone: (800)
- 854-7179, Outside USA and Canada: (303) 792-2181, FAX: (303) 792-
- 2192.
-
- Many X3T10 draft documents are available electronically on the SCSI
- BBS (719-574-0424) and on the ncrinfo.ncr.com anonymous ftp site.
-
- Latest X3T10 committee documents are:
- <itemize>
-<item>AT Attachment (ATA or IDE) &lsqb;X3.221-1994&rsqb; (<em>Approved</em>)
-<item>ATA Extensions (ATA-2) &lsqb;X3T10/948D Rev 2i&rsqb;
-<item>Enhanced Small Device Interface (ESDI) &lsqb;X3.170-1990/X3.170a-1991&rsqb; (<em>Approved</em>)
-<item>Small Computer System Interface - 2 (SCSI-2) &lsqb;X3.131-1994&rsqb; (<em>Approved</em>)
-<item>SCSI-2 Common Access Method Transport and SCSI Interface Module (CAM)
- &lsqb;X3T10/792D Rev 11&rsqb;
- </itemize>
- Other publications that might provide you with additional information are:
-<itemize>
-<item>"SCSI: Understanding the Small Computer System Interface", written by NCR
-Corporation. Available from: Prentice Hall, Englewood Cliffs, NJ, 07632
-Phone: (201) 767-5937 ISBN 0-13-796855-8
-
-<item>"Basics of SCSI", a SCSI tutorial written by Ancot Corporation
-Contact Ancot for availability information at:
-Phone: (415) 322-5322 Fax: (415) 322-0455
-
-<item>"SCSI Interconnection Guide Book", an AMP publication (dated 4/93, Catalog
-65237) that lists the various SCSI connectors and suggests cabling schemes.
-Available from AMP at (800) 522-6752 or (717) 564-0100
-
-<item>"Fast Track to SCSI", A Product Guide written by Fujitsu.
-Available from: Prentice Hall, Englewood Cliffs, NJ, 07632
-Phone: (201) 767-5937 ISBN 0-13-307000-X
-
-<item>"The SCSI Bench Reference", "The SCSI Encyclopedia", and the "SCSI Tutor",
-ENDL Publications, 14426 Black Walnut Court, Saratoga CA, 95070
-Phone: (408) 867-6642
-
-<item>"Zadian SCSI Navigator" (quick ref. book) and "Discover the Power of SCSI"
-(First book along with a one-hour video and tutorial book), Zadian Software,
-Suite 214, 1210 S. Bascom Ave., San Jose, CA 92128, (408) 293-0800
- </itemize>
-
- On Usenet the newsgroups <htmlurl
- url="news:comp.periphs.scsi" name="comp.periphs.scsi">
- and <htmlurl url="news:comp.periphs" name="comp.periphs">
- are noteworthy places to look for more info. You can also
- find the SCSI-Faq there, which is posted periodically.
-
- Most major SCSI device and host adapter suppliers operate ftp sites
- and/or BBS systems. They may be valuable sources of information
- about the devices you own.
diff --git a/share/doc/handbook/sections.sgml b/share/doc/handbook/sections.sgml
deleted file mode 100644
index dbe1db7..0000000
--- a/share/doc/handbook/sections.sgml
+++ /dev/null
@@ -1,62 +0,0 @@
-<!-- $Id: sections.sgml,v 1.23 1997/05/01 03:06:32 jfieber Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!-- Entities containing all the pieces of the handbook are -->
-<!-- defined here -->
-
-<!ENTITY bibliography SYSTEM "bibliography.sgml">
-<!ENTITY basics SYSTEM "basics.sgml">
-<!ENTITY booting SYSTEM "booting.sgml">
-<!ENTITY contrib SYSTEM "contrib.sgml">
-<!ENTITY ctm SYSTEM "ctm.sgml">
-<!ENTITY cvsup SYSTEM "cvsup.sgml">
-<!ENTITY current SYSTEM "current.sgml">
-<!ENTITY stable SYSTEM "stable.sgml">
-<!ENTITY crypt SYSTEM "crypt.sgml">
-<!ENTITY development SYSTEM "development.sgml">
-<!ENTITY dialup SYSTEM "dialup.sgml">
-<!ENTITY dialout SYSTEM "dialout.sgml">
-<!ENTITY diskless SYSTEM "diskless.sgml">
-<!ENTITY dma SYSTEM "dma.sgml">
-<!ENTITY eresources SYSTEM "eresources.sgml">
-<!ENTITY esdi SYSTEM "esdi.sgml">
-<!ENTITY firewalls SYSTEM "firewalls.sgml">
-<!ENTITY goals SYSTEM "goals.sgml">
-<!ENTITY glossary SYSTEM "glossary.sgml">
-<!ENTITY history SYSTEM "history.sgml">
-<!ENTITY hw SYSTEM "hw.sgml">
-<!ENTITY install SYSTEM "install.sgml">
-<!ENTITY term SYSTEM "term.sgml">
-<!ENTITY isdn SYSTEM "isdn.sgml">
-<!ENTITY kerberos SYSTEM "kerberos.sgml">
-<!ENTITY kernelconfig SYSTEM "kernelconfig.sgml">
-<!ENTITY kerneldebug SYSTEM "kerneldebug.sgml">
-<!ENTITY kernelopts SYSTEM "kernelopts.sgml">
-<!ENTITY linuxemu SYSTEM "linuxemu.sgml">
-<!ENTITY mail SYSTEM "mail.sgml">
-<!ENTITY memoryuse SYSTEM "memoryuse.sgml">
-<!ENTITY mirrors SYSTEM "mirrors.sgml">
-<!ENTITY nfs SYSTEM "nfs.sgml">
-<!ENTITY nutshell SYSTEM "nutshell.sgml">
-<!ENTITY pgpkeys SYSTEM "pgpkeys.sgml">
-<!ENTITY policies SYSTEM "policies.sgml">
-<!ENTITY porting SYSTEM "porting.sgml">
-<!ENTITY ports SYSTEM "ports.sgml">
-<!ENTITY ppp SYSTEM "ppp.sgml">
-<!ENTITY printing SYSTEM "printing.sgml">
-<!ENTITY quotas SYSTEM "quotas.sgml">
-<!ENTITY relnotes SYSTEM "relnotes.sgml">
-<!ENTITY routing SYSTEM "routing.sgml">
-<!ENTITY russian SYSTEM "russian.sgml">
-<!ENTITY serial SYSTEM "serial.sgml">
-<!ENTITY scsi SYSTEM "scsi.sgml">
-<!ENTITY sio SYSTEM "sio.sgml">
-<!ENTITY cy SYSTEM "cyclades.sgml">
-<!ENTITY skey SYSTEM "skey.sgml">
-<!ENTITY slipc SYSTEM "slipc.sgml">
-<!ENTITY slips SYSTEM "slips.sgml">
-<!ENTITY submitters SYSTEM "submitters.sgml">
-<!ENTITY sup SYSTEM "sup.sgml">
-<!ENTITY synching SYSTEM "synching.sgml">
-<!ENTITY uart SYSTEM "uart.sgml">
-<!ENTITY userppp SYSTEM "userppp.sgml">
diff --git a/share/doc/handbook/serial.sgml b/share/doc/handbook/serial.sgml
deleted file mode 100644
index 90ac6ee..0000000
--- a/share/doc/handbook/serial.sgml
+++ /dev/null
@@ -1,64 +0,0 @@
-<!-- This is an SGML document in the linuxdoc DTD of the Tutorial for
- Configuring a FreeBSD for Dialup Services by Guy Helmer.
- $Id$
-
- The FreeBSD Documentation Project
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-
-<linuxdoc>
- <article>
- <title> Serial Basics
- <author> FAQ
- <date> 24 Nov 1996, (c) 1996
-
- <abstract> This section outlines some of the basics to get your serial ports working. This is really just a stepping stone into the section on PPP or Dialout if you are interested in modems.
- </abstract>
-
- <toc>
--->
-
-<sect><heading>Serial Basics<label id="serial"></heading>
-
-<p><em>Assembled from FAQ.</em>
-
-This section should give you some general information about serial ports. If you do not find what you want here, check into the Terminal and Dialup sections of the handbook.
-
-
- <p>
- The <tt/ttydX/ (or <tt/cuaaX/) device is the regular device
- you will want to open for your applications. When a process opens
- the device, it will have a default set of terminal I/O settings.
- You can see these settings with the command
- <verb>
- stty -a -f /dev/ttyd1
- </verb>
-
- When you change the settings to this device, the settings are in
- effect until the device is closed. When it is reopened, it goes
- back to the default set. To make changes to the default set, you
- can open and adjust the settings of the ``initial state'' device.
- For example, to turn on <tt/CLOCAL/ mode, 8 bits, and
- <tt>XON/XOFF</tt> flow control by default for ttyd5, do:
- <verb>
- stty -f /dev/ttyid5 clocal cs8 ixon ixoff
- </verb>
-
- A good place to do this is in <tt>/etc/rc.serial</tt>. Now, an
- application will have these settings by default when it opens
- <tt/ttyd5/. It can still change these settings to its liking,
- though.
-
- You can also prevent certain settings from being changed by an
- application by making adjustments to the ``lock state'' device.
- For example, to lock the speed of <tt/ttyd5/ to 57600 bps, do
- <verb>
- stty -f /dev/ttyld5 57600
- </verb>
-
- Now, an application that opens <tt/ttyd5/ and tries to change the
- speed of the port will be stuck with 57600 bps.
-
- Naturally, you should make the initial state and lock state
- devices writable only by <tt/root/. The <tt/MAKEDEV/ script does
- <bf/NOT/ do this when it creates the device entries.
diff --git a/share/doc/handbook/sio.sgml b/share/doc/handbook/sio.sgml
deleted file mode 100644
index ac85b76..0000000
--- a/share/doc/handbook/sio.sgml
+++ /dev/null
@@ -1,207 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!--
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
-
-<!ENTITY % authors SYSTEM "authors.sgml">
-%authors;
-
-]>
--->
-<sect2><heading>Configuring the <tt>sio</tt> driver<label id="sio"></heading>
-
- <p>The <tt>sio</tt> driver provides support for NS8250-,
- NS16450-, NS16550 and NS16550A-based EIA RS-232C (CCITT
- V.24) communications interfaces. Several multiport
- cards are supported as well. See the <tt>sio(4)</tt>
- manual page for detailed technical documentation.
-
-<sect3><heading>Digi International (DigiBoard) PC/8</heading>
-
- <p><em>Contributed by &a.awebster;.<newline>26 August
- 1995.</em>
-
- Here is a config snippet from a machine with
- a Digi International PC/8 with 16550. It has 8 modems connected
- to these 8 lines, and they work just great. Do not
- forget to add <tt>options COM_MULTIPORT</tt> or it
- will not work very well!
-
-<tscreen><verb>
-device sio4 at isa? port 0x100 tty flags 0xb05
-device sio5 at isa? port 0x108 tty flags 0xb05
-device sio6 at isa? port 0x110 tty flags 0xb05
-device sio7 at isa? port 0x118 tty flags 0xb05
-device sio8 at isa? port 0x120 tty flags 0xb05
-device sio9 at isa? port 0x128 tty flags 0xb05
-device sio10 at isa? port 0x130 tty flags 0xb05
-device sio11 at isa? port 0x138 tty flags 0xb05 irq 9 vector siointr
-</verb></tscreen>
-
- The trick in setting this up is that the MSB of the
- flags represent the last SIO port, in this case 11 so
- flags are 0xb05.
-
-<sect3><heading>Boca 16</heading>
-
- <p><em>Contributed by &a.whiteside;.<newline>26 August
- 1995.</em>
-
- The procedures to make a Boca 16 pord board with
- FreeBSD are pretty straightforward, but you will need
- a couple things to make it work:
-
- <enum>
- <item>You either need the kernel sources installed
- so you can recompile the necessary options or
- you will need someone else to compile it for you.
- The 2.0.5 default kernel does <bf>not</bf> come with
- multiport support enabled and you will need to add
- a device entry for each port anyways.
- </item>
- <item>Two, you will need to know the interrupt and IO
- setting for your Boca Board so you can set these
- options properly in the kernel.</item>
- </enum>
-
- One important note - the actual UART chips for the
- Boca 16 are in the connector box, not on the internal
- board itself. So if you have it unplugged, probes of
- those ports will fail. I have never tested booting with
- the box unplugged and plugging it back in, and I
- suggest you do not either.
-
- If you do not already have a custom kernel
- configuration file set up, refer to <ref
- id="kernelconfig" name="Kernel Configuration"> for
- general procedures. The following are the specifics
- for the Boca 16 board and assume you are using the
- kernel name MYKERNEL and editing with vi.
-
- <enum>
- <item>Add the line
-<tscreen><verb>
-options COM_MULTIPORT
-</verb></tscreen>
-to the config file.
-</item>
-
- <item>Where the current <tt>device sio
- <em>xxx</em></tt> lines are, you will need to add
- 16 more devices. <em>Only the last device
- includes the interrupt vector for the
- board</em>. (See the <tt>sio(4)</tt> manual page
- for detail as to why.)
-
- The following example is for a Boca Board with an
- interrupt of 3, and a base IO address 100h. The
- IO address for Each port is +8 hexadecimal from
- the previous port, thus the 100h, 108h, 110h...
- addresses.
-
-<tscreen><verb>
-device sio1 at isa? port 0x100 tty flags 0x1005
-device sio2 at isa? port 0x108 tty flags 0x1005
-device sio3 at isa? port 0x110 tty flags 0x1005
-device sio4 at isa? port 0x118 tty flags 0x1005
-[...]
-device sio15 at isa? port 0x170 tty flags 0x1005
-device sio16 at isa? port 0x178 tty flags 0x1005 irq 3 vector siointr
-</verb></tscreen>
-
- The flags entry <em>must</em> be changed from
- this example unless you are using the exact same
- sio assignments. Flags are set according to
- 0x<em>MYY</em> where <em>M</em> indicates the
- minor number of the master port (the last port on
- a Boca 16) and <em>YY</em> indicates if FIFO is
- enabled or disabled(enabled), IRQ sharing is
- used(yes) and if there is an AST/4 compatible IRQ
- control register(no).
-
- In this example,
-<tscreen><verb>
-flags 0x1005
-</verb></tscreen>
-
- indicates that the master port is sio16. If I
- added another board and assigned sio17 through
- sio28, the flags for all 16 ports on
- <em>that</em> board would be 0x1C05, where 1C
- indicates the minor number of the master port.
- Do not change the 05 setting.</item>
-
- <item>Save and complete the kernel configuration,
- recompile, install and reboot.
-
- Presuming you have successfully installed the
- recompiled kernel and have it set to the correct
- address and IRQ, your boot message should
- indicate the successful probe of the Boca ports
- as follows: (obviously the sio numbers, IO and
- IRQ could be different)
-
-<tscreen><verb>
-sio1 at 0x100-0x107 flags 0x1005 on isa
-sio1: type 16550A (multiport)
-sio2 at 0x108-0x10f flags 0x1005 on isa
-sio2: type 16550A (multiport)
-sio3 at 0x110-0x117 flags 0x1005 on isa
-sio3: type 16550A (multiport)
-sio4 at 0x118-0x11f flags 0x1005 on isa
-sio4: type 16550A (multiport)
-sio5 at 0x120-0x127 flags 0x1005 on isa
-sio5: type 16550A (multiport)
-sio6 at 0x128-0x12f flags 0x1005 on isa
-sio6: type 16550A (multiport)
-sio7 at 0x130-0x137 flags 0x1005 on isa
-sio7: type 16550A (multiport)
-sio8 at 0x138-0x13f flags 0x1005 on isa
-sio8: type 16550A (multiport)
-sio9 at 0x140-0x147 flags 0x1005 on isa
-sio9: type 16550A (multiport)
-sio10 at 0x148-0x14f flags 0x1005 on isa
-sio10: type 16550A (multiport)
-sio11 at 0x150-0x157 flags 0x1005 on isa
-sio11: type 16550A (multiport)
-sio12 at 0x158-0x15f flags 0x1005 on isa
-sio12: type 16550A (multiport)
-sio13 at 0x160-0x167 flags 0x1005 on isa
-sio13: type 16550A (multiport)
-sio14 at 0x168-0x16f flags 0x1005 on isa
-sio14: type 16550A (multiport)
-sio15 at 0x170-0x177 flags 0x1005 on isa
-sio15: type 16550A (multiport)
-sio16 at 0x178-0x17f irq 3 flags 0x1005 on isa
-sio16: type 16550A (multiport master)
-</verb></tscreen>
-
- If the messages go by too fast to see, <tt>dmesg
- &gt; more</tt> will show you the boot
- messages.</item>
-
- <item>Next, appropriate entries in <tt>/dev</tt> for the devices
- must be made using the <tt>/dev/MAKEDEV</tt>
- script. After becoming root:
-<tscreen>
-# cd /dev<newline>
-# ./MAKEDEV tty1<newline>
-# ./MAKEDEV cua1<newline>
-<em>(everything in between)</em><newline>
-# ./MAKEDEV ttyg<newline>
-# ./MAKEDEV cuag
-</tscreen>
-
- If you do not want or need callout devices for some
- reason, you can dispense with making the <tt>cua*</tt>
- devices.</item>
-
- <item>If you want a quick and sloppy way to make
- sure the devices are working, you can simply plug
- a modem into each port and (as root) <tt>echo at
- &gt; ttyd*</tt> for each device you have
- made. You <em>should</em> see the RX lights flash
- for each working port.</item>
- </enum>
-
diff --git a/share/doc/handbook/skey.sgml b/share/doc/handbook/skey.sgml
deleted file mode 100644
index ec80aed..0000000
--- a/share/doc/handbook/skey.sgml
+++ /dev/null
@@ -1,302 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-<!--
-Copyright 1995 Massachusetts Institute of Technology
-
-Permission to use, copy, modify, and distribute this software and
-its documentation for any purpose and without fee is hereby
-granted, provided that both the above copyright notice and this
-permission notice appear in all copies, that both the above
-copyright notice and this permission notice appear in all
-supporting documentation, and that the name of M.I.T. not be used
-in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission. M.I.T. makes
-no representations about the suitability of this software for any
-purpose. It is provided "as is" without express or implied
-warranty.
-
-THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''. M.I.T. DISCLAIMS
-ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT
-SHALL M.I.T. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
--->
-
-<sect><heading>S/Key<label id="skey"></heading>
-
-<p><em>Contributed by &a.wollman;<newline>25 September 1995.</em>
-
-<p>S/Key is a one-time password scheme based on a one-way hash function
-(in our version, this is MD4 for compatibility; other versions have
-used MD5 and DES-MAC). S/Key has been a standard part of all FreeBSD
-distributions since version 1.1.5, and is also implemented on a large
-and growing number of other systems. S/Key is a registered trademark
-of Bell Communications Research, Inc.
-
-<!-- XXX - is there a better word to use than UNIX? -->
-<p>There are three different sorts of passwords which we will talk about
-in the discussion below. The first is your usual UNIX-style or Kerberos
-password; we will call this a ``UNIX password''. The second sort is the
-one-time password which is generated by the S/Key `<tt/key/' program and
-accepted by the `<tt/keyinit/' program and the login prompt; we will call
-this a ``one-time password''. The final sort of password is the
-secret password which you give to the `<tt/key/' program (and sometimes the
-`<tt/keyinit/' program) which it uses to generate one-time passwords; we will
-call it a ``secret password'' or just unqualified ``password''.
-
-<p>The secret password does not necessarily have anything to do with your
-UNIX password (while they can be the same, this is not recommended).
-While UNIX passwords are limited to eight characters in length, your
-S/Key secret password can be as long as you like; I use seven-word
-phrases. In general, the S/Key system operates completely
-independently of the UNIX password system.
-
-<p>There are in addition two other sorts of data involved in the S/Key
-system; one is called the ``seed'' or (confusingly) ``key'', and
-consists of two letters and five digits, and the other is the
-``iteration count'' and is a number between 100 and 1. S/Key
-constructs a one-time password from these components by concatenating
-the seed and the secret password, then applying a one-way hash (the
-RSA Data Security, Inc., MD4 secure hash function) iteration-count
-times, and turning the result into six short English words. The
-`<tt/login/' and `<tt/su/' programs keep track of the last one-time
-password used, and the user is authenticated if the hash of the
-user-provided password is equal to the previous password. Because a
-one-way hash function is used, it is not possible to generate future
-one-time passwords having overheard one which was successfully used;
-the iteration count is decremented after each successful login to keep
-the user and login program in sync. (When you get the iteration count
-down to 1, it is time to reinitialize S/Key.)
-
-<p>There are four programs involved in the S/Key system which we will
-discuss below. The `<tt/key/' program accepts an iteration count, a
-seed, and a secret password, and generates a one-time password. The
-`<tt/keyinit/' program is used to initialized S/Key, and to change
-passwords, iteration counts, or seeds; it takes either a secret
-password, or an iteration count, seed, and one-time password. The
-`<tt/keyinfo/' program examines the <tt>/etc/skeykeys</tt> file and
-prints out the invoking user's current iteration count and seed.
-Finally, the `<tt/login/' and `<tt/su/' programs contain the necessary
-logic to accept S/Key one-time passwords for authentication. The
-`<tt/login/' program is also capable of disallowing the use of UNIX
-passwords on connections coming from specified addresses.
-
-<p>There are four different sorts of operations we will cover. The first
-is using the `<tt/keyinit/' program over a secure connection to set up
-S/Key for the first time, or to change your password or seed. The
-second operation is using the `<tt/keyinit/' program over an insecure
-connection, in conjunction with the `<tt/key/' program over a secure
-connection, to do the same. The third is using the `<tt/key/' program to
-log in over an insecure connection. The fourth is using the `<tt/key/'
-program to generate a number of keys which can be written down or
-printed out to carry with you when going to some location without
-secure connections to anywhere (like at a conference).
-
-<sect1><heading>Secure connection initialization</heading>
-
-<p>To initialize S/Key, change your password, or change your seed while
-logged in over a secure connection (e.g., on the console of a machine),
-use the `<tt/keyinit/' command without any parameters while logged in as
-yourself:
-
-<tscreen><verb>
-$ keyinit
-Updating wollman: ) these will not appear if you
-Old key: ha73895 ) have not used S/Key before
-Reminder - Only use this method if you are directly connected.
-If you are using telnet or rlogin exit with no password and use keyinit -s.
-Enter secret password: ) I typed my pass phrase here
-Again secret password: ) I typed it again
-
-ID wollman s/key is 99 ha73896 ) discussed below
-SAG HAS FONT GOUT FATE BOOM )
-</verb></tscreen>
-
-<p>There is a lot of information here. At the `Enter secret password:'
-prompt, you should enter some password or phrase (I use phrases of
-minimum seven words) which will be needed to generate login keys. The
-line starting `ID' gives the parameters of your particular S/Key
-instance: your login name, the iteration count, and seed. When
-logging in with S/Key, the system will remember these parameters and
-present them back to you so you do not have to remember them. The last
-line gives the particular one-time password which corresponds to those
-parameters and your secret password; if you were to re-login
-immediately, this one-time password is the one you would use.
-
-<sect1><heading>Insecure connection initialization</heading>
-
-<p>To initialize S/Key or change your password or seed over an insecure
-connection, you will need to already have a secure connection to some
-place where you can run the `<tt/key/' program; this might be in the form
-of a desk accessory on a Macintosh, or a shell prompt on a machine you
-trust (we will show the latter). You will also need to make up an
-iteration count (100 is probably a good value), and you may make up
-your own seed or use a randomly-generated one. Over on the insecure
-connection (to the machine you are initializing), use the `<tt/keyinit -s/'
-command:
-
-<tscreen><verb>
-$ keyinit -s
-Updating wollman:
-Old key: kh94741
-Reminder you need the 6 English words from the skey command.
-Enter sequence count from 1 to 9999: 100 ) I typed this
-Enter new key [default kh94742]:
-s/key 100 kh94742
-</verb></tscreen>
-
-To accept the default seed (which the `keyinit' program confusingly
-calls a `key'), press return. Then move over to your secure
-connection or S/Key desk accessory, and give it the same parameters:
-
-<tscreen><verb>
-$ key 100 kh94742
-Reminder - Do not use this program while logged in via telnet or rlogin.
-Enter secret password: ) I typed my secret password
-HULL NAY YANG TREE TOUT VETO
-</verb></tscreen>
-
-Now switch back over to the insecure connection, and copy the one-time
-password generated by `<tt/key/' over to the `<tt/keyinit/' program:
-
-<tscreen><verb>
-s/key access password: HULL NAY YANG TREE TOUT VETO
-
-ID wollman s/key is 100 kh94742
-HULL NAY YANG TREE TOUT VETO
-</verb></tscreen>
-
-The rest of the description from the previous section applies here as
-well.
-
-<sect1><heading>Diversion: a login prompt</heading>
-
-<p>Before explaining how to generate one-time passwords, we should go
-over an S/Key login prompt:
-
-<tscreen><verb>
-$ telnet himalia
-Trying 18.26.0.186...
-Connected to himalia.lcs.mit.edu.
-Escape character is '^]'.
-s/key 92 hi52030
-Password:
-</verb></tscreen>
-
-Note that, before prompting for a password, the login program
-prints out the iteration number and seed which you will need in order
-to generate the appropriate key. You will also find a useful feature
-(not shown here): if you press return at the password prompt, the
-login program will turn echo on, so you can see what you are typing.
-This can be extremely useful if you are attempting to type in an S/Key
-by hand, such as from a printout.
-
-<p>If this machine were configured to disallow UNIX passwords over a
-connection from my machine, the prompt would have also included the
-annotation `<tt>(s/key required)</tt>', indicating that only S/Key one-time
-passwords will be accepted.
-
-<sect1><heading>Generating a single one-time password</heading>
-
-<p>Now, to generate the one-time password needed to answer this login
-prompt, we use a trusted machine and the `<tt/key/' program. (There are
-versions of the `<tt/key/' program from DOS and Windows machines, and there
-is an S/Key desk accessory for Macintosh computers as well.) The
-command-line `<tt/key/' program takes as its parameters the iteration count
-and seed; you can cut-and-paste right from the login prompt starting
-at ``<tt/key/'' to the end of the line. Thus:
-
-<tscreen><verb>
-$ key 92 hi52030 ) pasted from previous section
-Reminder - Do not use this program while logged in via telnet or rlogin.
-Enter secret password: ) I typed my secret password
-ADEN BED WOLF HAW HOT STUN
-</verb></tscreen>
-
-And in the other window:
-
-<tscreen><verb>
-s/key 92 hi52030 ) from previous section
-Password:
- (turning echo on)
-Password:ADEN BED WOLF HAW HOT STUN
-Last login: Wed Jun 28 15:31:00 from halloran-eldar.l
-[etc.]
-</verb></tscreen>
-
-This is the easiest mechanism <em/if/ you have a trusted machine.
-
-<sect1><heading>Generating multiple one-time passwords</heading>
-
-<p>Sometimes we have to go places where no trusted machines or
-connections are available. In this case, it is possible to use the
-`<tt/key/' command to generate a number of one-time passwords in the same
-command; these can then be printed out. For example:
-
-<tscreen><verb>
-$ key -n 25 57 zz99999
-Reminder - Do not use this program while logged in via telnet or rlogin.
-Enter secret password:
-33: WALT THY MALI DARN NIT HEAD
-34: ASK RICE BEAU GINA DOUR STAG
-[...]
-56: AMOS BOWL LUG FAT CAIN INCH
-57: GROW HAYS TUN DISH CAR BALM
-</verb></tscreen>
-
-The `<tt/-n 25/' requests twenty-five keys in sequence; the `<tt/57/' indicates
-the <em/ending/ iteration number; and the rest is as before. Note that
-these are printed out in <em/reverse/ order of eventual use. If you are
-really paranoid, you might want to write the results down by hand;
-otherwise you can cut-and-paste into `<tt/lpr/'. Note that each line shows
-both the iteration count and the one-time password; you may still find
-it handy to scratch off passwords as you use them.
-
-<sect1><heading>Restricting use of UNIX passwords</heading>
-
-<p>The configuration file <tt>/etc/skey.access</tt> can be used to
-configure restrictions on the use of UNIX passwords based on the host
-name, user name, terminal port, or IP address of a login session. The
-complete format of the file is documented in the <em/skey.access/(5)
-manual page; there are also some security cautions there which should
-be read before depending on this file for security.
-
-<p>If there is no <tt>/etc/skey.access</tt> file (which is the default
-state as FreeBSD is shipped), then all users will be allowed to use
-UNIX passwords. If the file exists, however, then all users will be
-required to use S/Key unless explicitly permitted to do otherwise by
-configuration statements in the <tt/skey.access/ file. In all cases,
-UNIX passwords are permitted on the console.
-
-<p>Here is a sample configuration file which illustrates the three most
-common sorts of configuration statements:
-
-<tscreen><verb>
-permit internet 18.26.0.0 255.255.0.0
-permit user jrl
-permit port ttyd0
-</verb></tscreen>
-
-The first line (`<tt/permit internet/') allows users whose IP source
-address (which is vulnerable to spoofing) matches the specified value
-and mask, to use UNIX passwords. This should not be considered a
-security mechanism, but rather, a means to remind authorized users
-that they are using an insecure network and need to use S/Key for
-authentication.
-
-<p>The second line (`<tt/permit user/') allows the specified user to
-use UNIX passwords at any time. Generally speaking, this should only
-be used for people who are either unable to use the `<tt/key/'
-program, like those with dumb terminals, or those who are uneducable.
-
-<p>The third line (`<tt/permit port/') allows all users logging in on
-the specified terminal line to use UNIX passwords; this would be used
-for dial-ups.
-
diff --git a/share/doc/handbook/slipc.sgml b/share/doc/handbook/slipc.sgml
deleted file mode 100644
index 31183f3..0000000
--- a/share/doc/handbook/slipc.sgml
+++ /dev/null
@@ -1,193 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect><heading>Setting up a SLIP client<label id="slipc"></heading>
-
-<p><em>Contributed by &a.asami;<newline>8 Aug 1995.</em>
-
-The following is one way to set up a FreeBSD machine for SLIP on a
-static host network. For dynamic hostname assignments (i.e., your
-address changes each time you dial up), you probably need to do
-something much fancier.
-
-<!--
-This is just "what I did, and it worked for me". I am sharing this
-just for your reference, I am no expert in SLIP nor networking so your
-mileage may vary.
--->
-
-First, determine which serial port your modem is connected to. I have
-a symbolic link <tt>/dev/modem -&gt; cuaa1</tt>, and only use the modem name in my
-configuration files. It can become quite cumbersome when you need to
-fix a bunch of files in <tt>/etc</tt> and <tt>.kermrc</tt>'s all over the system! (Note
-that <tt>/dev/cuaa0</tt> is COM1, <tt>cuaa1</tt> is COM2, etc.)
-
-Make sure you have
-<verb>
-pseudo-device sl 1
-</verb>
-in your kernel's config file. It is included in the GENERIC kernel,
-so this will not be a problem unless you deleted it.
-
-<sect1><heading>Things you have to do only once</heading>
-
-<p><enum>
-<item>Add your home machine, the gateway and nameservers to your
- <tt>/etc/hosts</tt> file. Mine looks like this:
-<verb>
-127.0.0.1 localhost loghost
-136.152.64.181 silvia.HIP.Berkeley.EDU silvia.HIP silvia
-
-136.152.64.1 inr-3.Berkeley.EDU inr-3 slip-gateway
-128.32.136.9 ns1.Berkeley.edu ns1
-128.32.136.12 ns2.Berkeley.edu ns2
-</verb>
- By the way, silvia is the name of the car that I had when I was
- back in Japan (it is called 2?0SX here in U.S.).
-
-<item>Make sure you have "hosts" before "bind" in your <tt>/etc/host.conf</tt>.
- Otherwise, funny things may happen.
-
-<item>Edit the file <tt>/etc/sysconfig</tt>.
-<enum>
-<item>Set your hostname by editing the line that says:
-<verb>
-hostname=myname.my.domain
-</verb>
- You should give it your full Internet hostname.
-
-<item>Add sl0 to the list of network interfaces by changing the line
-that says:
-<verb>
-network_interfaces="lo0"
-</verb>
-to:
-<verb>
-network_interfaces="lo0 sl0"
-</verb>
-
-<item>Set the startup flags of sl0 by adding a line:
-<verb>
-ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"
-</verb>
-
-<item>Designate the default router by changing the line:
-<verb>
-defaultrouter=NO
-</verb>
-to:
-<verb>
-defaultrouter=slip-gateway
-</verb>
-</enum>
-
-<item>Make a file <tt>/etc/resolv.conf</tt> which contains:
-<verb>
-domain HIP.Berkeley.EDU
-nameserver 128.32.136.9
-nameserver 128.32.136.12
-</verb>
- As you can see, these set up the nameserver hosts. Of course, the
- actual domain names and addresses depend on your environment.
-
-<item>Set the password for root and toor (and any other accounts that
- does not have a password). Use passwd, do not edit the <tt>/etc/passwd</tt>
- or <tt>/etc/master.passwd</tt> files!
-
-<item>Reboot your machine and make sure it comes up with the correct
- hostname.
-</enum>
-
-<sect1><heading>Making a SLIP connection</heading>
-
-<p><enum>
-<item>Dial up, type "slip" at the prompt, enter your machine name and
- password. The things you need to enter depends on your
- environment. I use kermit, with a script like this:
-<verb>
-# kermit setup
-set modem hayes
-set line /dev/modem
-set speed 115200
-set parity none
-set flow rts/cts
-set terminal bytesize 8
-set file type binary
-# The next macro will dial up and login
-define slip dial 643-9600, input 10 =>, if failure stop, -
-output slip\x0d, input 10 Username:, if failure stop, -
-output silvia\x0d, input 10 Password:, if failure stop, -
-output ***\x0d, echo \x0aCONNECTED\x0a
-</verb>
- (of course, you have to change the hostname and password to fit
- yours). Then you can just type "slip" from the kermit prompt to
- get connected.
-
- <bf>Note</bf>: leaving your password in plain text anywhere in the
- filesystem is generally a BAD idea. Do it at your own risk. I am
- just too lazy.
-
-<item>Leave the kermit there (you can suspend it by "z") and as root,
- type
-<verb>
-slattach -h -c -s 115200 /dev/modem
-</verb>
- if you are able to "ping" hosts on the other side of the router,
- you are connected! If it does not work, you might want to try "-a"
- instead of "-c" as an argument to slattach.
-</enum>
-
-<sect1><heading>How to shutdown the connection</heading>
-
- <p>Type "kill -INT `cat /var/run/slattach.modem.pid`" (as root) to
- kill slattach. Then go back to kermit ("fg" if you suspended it)
- and exit from it ("q").
-
- The slattach man page says you have to use "ifconfig sl0 down" to
- mark the interface down, but this does not seem to make any
- difference for me. ("ifconfig sl0" reports the same thing.)
-
- Some times, your modem might refuse to drop the carrier (mine
- often does). In that case, simply start kermit and quit it again.
- It usually goes out on the second try.
-
-<sect1><heading>Troubleshooting</heading>
-
-<p>If it does not work, feel free to ask me. The things that people
-tripped over so far:
-<itemize>
-<item>Not using "-c" or "-a" in slattach (I have no idea why this can be
- fatal, but adding this flag solved the problem for at least one
- person)
-
-<item>Using "s10" instead of "sl0" (might be hard to see the difference on
- some fonts).
-
-<item>Try "ifconfig sl0" to see your interface status. I get:
-<verb>
-silvia# ifconfig sl0
-sl0: flags=10<POINTOPOINT>
- inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00
-</verb>
-
-<item>Also, <tt>netstat -r</tt> will give the routing table, in case you get
-the "no route to host" messages from ping. Mine looks like:
-<verb>
-silvia# netstat -r
-Routing tables
-Destination Gateway Flags Refs Use IfaceMTU Rtt
-Netmasks:
-(root node)
-(root node)
-
-Route Tree for Protocol Family inet:
-(root node) =>
-default inr-3.Berkeley.EDU UG 8 224515 sl0 - -
-localhost.Berkel localhost.Berkeley UH 5 42127 lo0 - 0.438
-inr-3.Berkeley.E silvia.HIP.Berkele UH 1 0 sl0 - -
-silvia.HIP.Berke localhost.Berkeley UGH 34 47641234 lo0 - 0.438
-(root node)
-</verb>
-(this is after transferring a bunch of files, your numbers should be
-smaller).
-</itemize>
diff --git a/share/doc/handbook/slips.sgml b/share/doc/handbook/slips.sgml
deleted file mode 100644
index b93be74..0000000
--- a/share/doc/handbook/slips.sgml
+++ /dev/null
@@ -1,509 +0,0 @@
-<!-- $Id$
- This is an SGML version in the linuxdoc DTD of the SLIP Server
- FAQ by Guy Helmer.
-
- This guide provides instruction in configuring and preparing
- a FreeBSD system to be a dialup SLIP server.
-
-<title>
-Setting up FreeBSD as a SLIP Server
-<author>Guy Helmer, <tt/ghelmer@alpha.dsu.edu/
-<date>v1.0, 15 May 1995
-
--->
-
-<sect><heading>Setting up a SLIP server<label id="slips"></heading>
-<p><em>Contributed by &a.ghelmer;.<newline>
-v1.0, 15 May 1995.</em>
-
-This document provides suggestions for setting up SLIP Server services
-on a FreeBSD system, which typically means configuring your system to
-automatically startup connections upon login for remote SLIP clients.
-The author has written this document based on his experience;
-however, as your system and needs may be different, this document may
-not answer all of your questions, and the author cannot be responsible
-if you damage your system or lose data due to attempting to follow the
-suggestions here.
-
-This guide was originally written for SLIP Server services on a
-FreeBSD 1.x system. It has been modified to reflect changes in the
-pathnames and the removal of the SLIP interface compression flags in
-early versions of FreeBSD 2.X, which appear to be the only major
-changes between FreeBSD versions. If you do encounter mistakes in
-this document, please email the author with enough information to
-help correct the problem.
-
-<sect1><heading>Prerequisites<label id="slips:prereqs"></>
-
-<p>
-This document is very technical in nature, so background knowledge is
-required. It is assumed that you are familiar with the TCP/IP network
-protocol, and in particular, network and node addressing, network
-address masks, subnetting, routing, and routing protocols, such as
-RIP. Configuring SLIP services on a dial-up server requires a
-knowledge of these concepts, and if you are not familiar with them,
-please read a copy of either Craig Hunt's <em>TCP/IP Network
-Administration</em> published by O'Reilly &amp; Associates, Inc. (ISBN
-Number 0-937175-82-X), or Douglas Comer's books on the TCP/IP
-protocol.
-
-It is further assumed that you have already setup your modem(s) and
-configured the appropriate system files to allow logins through your
-modems. If you have not prepared your system for this yet, please see
-the tutorial for configuring dialup services; if you have a World-Wide
-Web browser available, browse the list of tutorials at
-<tt>http://www.freebsd.org/</tt>; otherwise, check the place
-where you found this document for a document named <tt/dialup.txt/ or
-something similar. You may also want to check the manual pages for
-<tt/sio(4)/ for information on the serial port device driver and
-<tt/ttys(5)/, <tt/gettytab(5)/, <tt/getty(8)/, &amp; <tt/init(8)/ for
-information relevant to configuring the system to accept logins on
-modems, and perhaps <tt/stty(1)/ for information on setting serial
-port parameters &lsqb;such as <tt/clocal/ for directly-connected
-serial interfaces&rsqb;.
-
-<sect1><heading>Quick Overview</heading>
-<p>
-
-In its typical configuration, using FreeBSD as a SLIP server works as
-follows: a SLIP user dials up your FreeBSD SLIP Server system and logs
-in with a special SLIP login ID that uses <tt>/usr/sbin/sliplogin</tt>
-as the special user's shell. The <tt/sliplogin/ program browses the
-file <tt>/etc/sliphome/slip.hosts</tt> to find a matching line for
-the special user, and if it finds a match, connects the serial line to
-an available SLIP interface and then runs the shell script
-<tt>/etc/sliphome/slip.login</tt> to configure the SLIP interface.
-
-<sect2><heading>An Example of a SLIP Server Login</heading>
-<p>
-
-For example, if a SLIP user ID were <tt>Shelmerg</tt>, <tt/Shelmerg/'s
-entry in <tt>/etc/master.passwd</tt> would look something like this
-(except it would be all on one line):
-
-<tscreen><verb>
-Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:
- /usr/users/Shelmerg:/usr/sbin/sliplogin
-</verb></tscreen>
-
-and, when <tt/Shelmerg/ logs in, <tt>sliplogin</tt> will search
-<tt>/etc/sliphome/slip.hosts</tt> for a line that had a matching user
-ID; for example, there may be a line in
-<tt>/etc/sliphome/slip.hosts</tt> that reads:
-
-<tscreen><verb>
-Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
-</verb></tscreen>
-
-<tt/sliplogin/ will find that matching line, hook the serial line into
-the next available SLIP interface, and then execute
-<tt>/etc/sliphome/slip.login</tt> like this:
-
-<tscreen><verb>
-/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
-</verb></tscreen>
-
-If all goes well, <tt>/etc/sliphome/slip.login</tt> will issue an
-<tt>ifconfig</tt> for the SLIP interface to which <tt/sliplogin/
-attached itself (slip interface 0, in the above example, which was the
-first parameter in the list given to <tt>slip.login</tt>) to set the
-local IP address (<tt>dc-slip</tt>), remote IP address
-(<tt>sl-helmer</tt>), network mask for the SLIP interface
-(<tt>0xfffffc00</tt>), and any additional flags (<tt>autocomp</tt>).
-If something goes wrong, <tt/sliplogin/ usually logs good
-informational messages via the daemon syslog facility, which usually
-goes into <tt>/var/log/messages</tt> (see the manual pages for
-<tt>syslogd(8)</tt> and <tt>syslog.conf(5)</tt>, and perhaps check
-<tt>/etc/syslog.conf</tt> to see to which files <tt>syslogd</tt> is
-logging).
-
-OK, enough of the examples -- let us dive into setting up the system.
-
-<sect1><heading>Kernel Configuration</heading>
-<p>
-FreeBSD's default kernels usually come with two SLIP interfaces
-defined (<tt>sl0</tt> and <tt>sl1</tt>); you can use <tt>netstat
--i</tt> to see whether these interfaces are defined in your kernel.
-
-Sample output from <tt>netstat -i</tt>:
-
-<tscreen><verb>
-Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
-ed0 1500 <Link>0.0.c0.2c.5f.4a 291311 0 174209 0 133
-ed0 1500 138.247.224 ivory 291311 0 174209 0 133
-lo0 65535 <Link> 79 0 79 0 0
-lo0 65535 loop localhost 79 0 79 0 0
-sl0* 296 <Link> 0 0 0 0 0
-sl1* 296 <Link> 0 0 0 0 0
-</verb></tscreen>
-
-The <tt>sl0</tt> and <tt>sl1</tt> interfaces shown in <tt>netstat
--i</tt>'s output indicate that there are two SLIP interfaces built
-into the kernel. (The asterisks after the <tt>sl0</tt> and
-<tt>sl1</tt> indicate that the interfaces are ``down''.)
-
-However, FreeBSD's default kernels do not come configured to forward
-packets (ie, your FreeBSD machine will not act as a router) due to
-Internet RFC requirements for Internet hosts (see RFC's 1009
-&lsqb;Requirements for Internet Gateways&rsqb;, 1122
-&lsqb;Requirements for Internet Hosts -- Communication Layers&rsqb;,
-and perhaps 1127 &lsqb;A Perspective on the Host Requirements
-RFCs&rsqb;), so if you want your FreeBSD SLIP Server to act as a
-router, you will have to edit the <tt>/etc/sysconfig</tt> file and change
-the setting of the <bf>gateway</bf> variable to <tt>YES</tt>. If you
-have an older system which does not have the <tt>/etc/sysconfig</tt>
-file, then add the following command:
-<verb>
-sysctl -w net.inet.ip.forwarding = 1
-</verb>
-to your <tt>/etc/rc.local</tt> file.
-
-<p>You will then need to reboot for the new settings to take effect.
-
-<p>You will notice that near the end of the default kernel configuration
-file (<tt>/sys/i386/conf/GENERIC</tt>) is a line that reads:
-
-<tscreen><verb>
-pseudo-device sl 2
-</verb></tscreen>
-
-which is the line that defines the number of SLIP devices available in
-the kernel; the number at the end of the line is the maximum number of
-SLIP connections that may be operating simultaneously.
-
-Please refer to <ref id="kernelconfig" name="Configuring the FreeBSD Kernel">
-for help in reconfiguring your kernel.
-
-<sect1><heading>Sliplogin Configuration</heading>
-
-<p>
-
-As mentioned earlier, there are three files in the
-<tt>/etc/sliphome</tt> directory that are part of the configuration
-for <tt>/usr/sbin/sliplogin</tt> (see <tt>sliplogin(8)</tt> for the
-actual manual page for <tt>sliplogin</tt>): <tt>slip.hosts</tt>, which
-defines the SLIP users &amp; their associated IP addresses;
-<tt>slip.login</tt>, which usually just configures the SLIP interface;
-and (optionally) <tt>slip.logout</tt>, which undoes
-<tt>slip.login</tt>'s effects when the serial connection is
-terminated.
-
-<sect2><heading>slip.hosts Configuration</heading>
-
-<p>
-
-<tt>/etc/sliphome/slip.hosts</tt> contains lines which have at least
-four items, separated by whitespace:
-
-<itemize>
-<item> SLIP user's login ID
-<item> Local address (local to the SLIP server) of the SLIP link
-<item> Remote address of the SLIP link
-<item> Network mask
-</itemize>
-
-The local and remote addresses may be host names (resolved to IP
-addresses by <tt>/etc/hosts</tt> or by the domain name service,
-depending on your specifications in <tt>/etc/host.conf</tt>), and I
-believe the network mask may be a name that can be resolved by a
-lookup into <tt>/etc/networks</tt>. On a sample system,
-<tt>/etc/sliphome/slip.hosts</tt> looks like this:
-
-<tscreen><verb>
------ begin /etc/sliphome/slip.hosts -----
-#
-# login local-addr remote-addr mask opt1 opt2
-# (normal,compress,noicmp)
-#
-Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp
------ end /etc/sliphome/slip.hosts ------
-</verb></tscreen>
-
-At the end of the line is one or more of the options.
-
-<itemize>
-<item> <tt>normal</tt> - no header compression
-<item> <tt>compress</tt> - compress headers
-<item> <tt>autocomp</tt> - compress headers if the remote end allows it
-<item> <tt>noicmp</tt> - disable ICMP packets (so any ``ping'' packets will be
- dropped instead of using up your bandwidth)
-</itemize>
-
-Note that <tt/sliplogin/ under early releases of FreeBSD 2 ignored
-the options that FreeBSD 1.x recognized, so the options
-<tt/normal/, <tt/compress/, <tt/autocomp/, and <tt/noicmp/ had no effect
-until support was added in FreeBSD 2.2 (unless your <tt/slip.login/ script
-included code to make use of the flags).
-
-Your choice of local and remote addresses for your SLIP links depends
-on whether you are going to dedicate a TCP/IP subnet or if you are
-going to use ``proxy ARP'' on your SLIP server (it is not ``true''
-proxy ARP, but that is the terminology used in this document to
-describe it). If you are not sure which method to select or how to
-assign IP addresses, please refer to the TCP/IP books referenced in
-the <ref id="slips:prereqs"> section and/or consult your IP network manager.
-
-If you are going to use a separate subnet for your SLIP clients, you
-will need to allocate the subnet number out of your assigned IP
-network number and assign each of your SLIP client's IP numbers out of
-that subnet. Then, you will probably either need to configure a
-static route to the SLIP subnet via your SLIP server on your nearest
-IP router, or install <tt>gated</tt> on your FreeBSD SLIP server and
-configure it to talk the appropriate routing protocols to your other
-routers to inform them about your SLIP server's route to the SLIP
-subnet.
-
-Otherwise, if you will use the ``proxy ARP'' method, you will need to
-assign your SLIP client's IP addresses out of your SLIP server's
-Ethernet subnet, and you will also need to adjust your
-<tt>/etc/sliphome/slip.login</tt> and
-<tt>/etc/sliphome/slip.logout</tt> scripts to use <tt>arp(8)</tt> to
-manage the proxy-ARP entries in the SLIP server's ARP table.
-
-<sect2><heading>slip.login Configuration</heading>
-
-<p>
-The typical <tt>/etc/sliphome/slip.login</tt> file looks like this:
-
-<tscreen><verb>
------ begin /etc/sliphome/slip.login -----
-#!/bin/sh -
-#
-# @(#)slip.login 5.1 (Berkeley) 7/1/90
-
-#
-# generic login file for a slip line. sliplogin invokes this with
-# the parameters:
-# 1 2 3 4 5 6 7-n
-# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
-#
-/sbin/ifconfig sl$1 inet $4 $5 netmask $6
------ end /etc/sliphome/slip.login -----
-</verb></tscreen>
-
-This <tt>slip.login</tt> file merely ifconfig's the appropriate SLIP
-interface with the local and remote addresses and network mask of the
-SLIP interface.
-
-If you have decided to use the ``proxy ARP'' method (instead of using
-a separate subnet for your SLIP clients), your
-<tt>/etc/sliphome/slip.login</tt> file will need to look something
-like this:
-
-<tscreen><verb>
------ begin /etc/sliphome/slip.login for "proxy ARP" -----
-#!/bin/sh -
-#
-# @(#)slip.login 5.1 (Berkeley) 7/1/90
-
-#
-# generic login file for a slip line. sliplogin invokes this with
-# the parameters:
-# 1 2 3 4 5 6 7-n
-# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
-#
-/sbin/ifconfig sl$1 inet $4 $5 netmask $6
-# Answer ARP requests for the SLIP client with our Ethernet addr
-/usr/sbin/arp -s $5 00:11:22:33:44:55 pub
------ end /etc/sliphome/slip.login for "proxy ARP" -----
-</verb></tscreen>
-
-The additional line in this <tt>slip.login</tt>, <tt>arp -s &dollar;5
-00:11:22:33:44:55 pub</tt>, creates an ARP entry in the SLIP server's
-ARP table. This ARP entry causes the SLIP server to respond with the
-SLIP server's Ethernet MAC address whenever a another IP node on the
-Ethernet asks to speak to the SLIP client's IP address.
-
-When using the example above, be sure to replace the Ethernet MAC
-address (<tt>00:11:22:33:44:55</tt>) with the MAC address of your
-system's Ethernet card, or your ``proxy ARP'' will definitely not work!
-You can discover your SLIP server's Ethernet MAC address by looking at
-the results of running <tt>netstat -i</tt>; the second line of the output
-should look something like:
-
-<tscreen><verb>
-ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116
- ^^^^^^^^^^^^^^^
-</verb></tscreen>
-
-which indicates that this particular system's Ethernet MAC address is
-<tt>00:02:c1:28:5f:4a</tt> -- the periods in the Ethernet MAC address
-given by <tt>netstat -i</tt> must be changed to colons and leading zeros
-should be added to each single-digit hexadecimal number to convert the
-address into the form that <tt>arp(8)</tt> desires; see the manual page on
-<tt>arp(8)</tt> for complete information on usage.
-
-Note that when you create <tt>/etc/sliphome/slip.login</tt> and
-<tt>/etc/sliphome/slip.logout</tt>, the ``execute'' bit (ie,
-<tt>chmod 755 /etc/sliphome/slip.login
-/etc/sliphome/slip.logout</tt>) must be set, or <tt>sliplogin</tt>
-will be unable to execute it.
-
-<sect2><heading>slip.logout Configuration</heading>
-
-<p>
-
-<tt>/etc/sliphome/slip.logout</tt> is not strictly needed (unless you
-are implementing ``proxy ARP''), but if you decide to create it, this
-is an example of a basic <tt>slip.logout</tt> script:
-
-<tscreen><verb>
------ begin /etc/sliphome/slip.logout -----
-#!/bin/sh -
-#
-# slip.logout
-
-#
-# logout file for a slip line. sliplogin invokes this with
-# the parameters:
-# 1 2 3 4 5 6 7-n
-# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
-#
-/sbin/ifconfig sl$1 down
------ end /etc/sliphome/slip.logout -----
-</verb></tscreen>
-
-If you are using ``proxy ARP'', you will want to have
-<tt>/etc/sliphome/slip.logout</tt> remove the ARP entry for the SLIP
-client:
-
-<tscreen><verb>
------ begin /etc/sliphome/slip.logout for "proxy ARP" -----
-#!/bin/sh -
-#
-# @(#)slip.logout
-
-#
-# logout file for a slip line. sliplogin invokes this with
-# the parameters:
-# 1 2 3 4 5 6 7-n
-# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
-#
-/sbin/ifconfig sl$1 down
-# Quit answering ARP requests for the SLIP client
-/usr/sbin/arp -d $5
------ end /etc/sliphome/slip.logout for "proxy ARP" -----
-</verb></tscreen>
-
-The <tt>arp -d &dollar;5</tt> removes the ARP entry that the ``proxy ARP''
-<tt>slip.login</tt> added when the SLIP client logged in.
-
-It bears repeating: make sure <tt>/etc/sliphome/slip.logout</tt> has
-the execute bit set for after you create it (ie, <tt>chmod 755
-/etc/sliphome/slip.logout</tt>).
-
-<sect1><heading>Routing Considerations</heading>
-
-<p>
-If you are not using the ``proxy ARP'' method for routing packets
-between your SLIP clients and the rest of your network (and perhaps
-the Internet), you will probably either have to add static routes to
-your closest default router(s) to route your SLIP client subnet via
-your SLIP server, or you will probably need to install and configure
-<tt>gated</tt> on your FreeBSD SLIP server so that it will tell your
-routers via appropriate routing protocols about your SLIP subnet.
-
-<sect2><heading>Static Routes</heading>
-
-<p>
-Adding static routes to your nearest default routers can be
-troublesome (or impossible, if you do not have authority to do so...).
-If you have a multiple-router network in your organization, some
-routers, such as Cisco and Proteon, may not only need to be configured
-with the static route to the SLIP subnet, but also need to be told
-which static routes to tell other routers about, so some expertise and
-troubleshooting/tweaking may be necessary to get static-route-based
-routing to work.
-
-<sect2><heading>Running gated</heading>
-
-<p>
-An alternative to the headaches of static routes is to install
-<tt>gated</tt> on your FreeBSD SLIP server and configure it to use the
-appropriate routing protocols (RIP/OSPF/BGP/EGP) to tell other routers
-about your SLIP subnet. <tt/gated/ is available via anonymous ftp
-from <tt>ftp.gated.cornell.edu</tt> in the directory
-<tt>/pub/gated</tt>; I believe the current version as of this writing
-is <tt>gated-R3_5Alpha_8.tar.Z</tt>, which includes support for
-FreeBSD ``out-of-the-box''. Complete information and documentation on
-<tt>gated</tt> is available on the Web starting at
-<tt>http://www.gated.cornell.edu/</tt>. Compile and install it, and
-then write a <tt>/etc/gated.conf</tt> file to configure your gated;
-here is a sample, similar to what the author used on a FreeBSD SLIP
-server:
-
-<tscreen><verb>
------ begin sample /etc/gated.conf for gated version 3.5Alpha5 -----
-#
-# gated configuration file for dc.dsu.edu; for gated version 3.5alpha5
-# Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface
-#
-#
-# tracing options
-#
-traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;
-
-rip yes {
- interface sl noripout noripin ;
- interface ed ripin ripout version 1 ;
- traceoptions route ;
-} ;
-
-#
-# Turn on a bunch of tracing info for the interface to the kernel:
-kernel {
- traceoptions remnants request routes info interface ;
-} ;
-
-#
-# Propagate the route to xxx.xxx.yy out the Ethernet interface via RIP
-#
-
-export proto rip interface ed {
- proto direct {
- xxx.xxx.yy mask 255.255.252.0 metric 1; # SLIP connections
- } ;
-} ;
-
-#
-# Accept routes from RIP via ed Ethernet interfaces
-
-import proto rip interface ed {
- all ;
-} ;
-
------ end sample /etc/gated.conf -----
-</verb></tscreen>
-
-The above sample <tt>gated.conf</tt> file broadcasts routing
-information regarding the SLIP subnet <tt>xxx.xxx.yy</tt> via RIP onto
-the Ethernet; if you are using a different Ethernet driver than the
-<tt/ed/ driver, you will need to change the references to the <tt/ed/
-interface appropriately. This sample file also sets up tracing to
-<tt>/var/tmp/gated.output</tt> for debugging <tt>gated</tt>'s
-activity; you can certainly turn off the tracing options if
-<tt>gated</tt> works OK for you. You will need to change the
-<tt>xxx.xxx.yy</tt>'s into the network address of your own SLIP subnet
-(be sure to change the net mask in the <tt>proto direct</tt> clause as
-well).
-
-When you get <tt>gated</tt> built and installed and create a
-configuration file for it, you will need to run <tt>gated</tt> in place
-of <tt>routed</tt> on your FreeBSD system; change the
-<tt>routed/gated</tt> startup parameters in <tt>/etc/netstart</tt> as
-appropriate for your system. Please see the manual page for
-<tt>gated</tt> for information on <tt>gated</tt>'s command-line
-parameters.
-
-<sect1><heading>Acknowledgments</heading>
-
-<p>
-Thanks to these people for comments and advice regarding this tutorial:
-
-<descrip>
-<tag/&a.wilko;/
-
-<tag/Piero Serini/ &lt;Piero@Strider.Inet.IT&gt;
-</descrip>
-
-<!-- </article> -->
diff --git a/share/doc/handbook/stable.sgml b/share/doc/handbook/stable.sgml
deleted file mode 100644
index 8bb5b1d..0000000
--- a/share/doc/handbook/stable.sgml
+++ /dev/null
@@ -1,108 +0,0 @@
-<!-- $Id: stable.sgml,v 1.11 1997/05/02 14:15:34 jfieber Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-
-<sect><heading>Staying stable with FreeBSD<label id="stable"></heading>
-
-<p><em>Contributed by &a.jkh;.</em>
-
-<!--
-
- THE FREEBSD STABLE POLICY
-
-Last updated: $Date: 1997/05/02 14:15:34 $
-
-This document attempts to explain the rationale behind
-FreeBSD-stable, what you should expect should you decide to run it,
-and states some prerequisites for making sure the process goes as
-smoothly as possible.
--->
-
-<sect1><heading>What is FreeBSD-stable?</heading>
-
-<p>FreeBSD-stable is our development branch for a more low-key and
-conservative set of changes intended for our next mainstream release.
-Changes of an experimental or untested nature do not go into this
-branch (see <ref id="current" name="FreeBSD-current">).
-
-<sect1><heading>Who needs FreeBSD-stable?</heading>
-
-<p>If you are a commercial user or someone who puts maximum stability of
-their FreeBSD system before all other concerns, you should consider tracking
-<em>stable</em>. This is especially true if you have installed the most
-recent release (<url url="ftp://ftp.freebsd.org/pub/FreeBSD/2.1.7-RELEASE"
-name="2.1.7-RELEASE"> at the time of this writing) since the <em>stable</em>
-branch is effectively a bug-fix stream relative to the previous release.
-
-<p>Please note that the <em>stable</em> tree endeavors, above all, to
-be fully compilable and stable at all times, but we do occasionally
-make mistakes (these are still active sources with quickly-transmitted
-updates, after all). We also do our best to thoroughly test fixes in
-<em>current</em> before bringing them into <em>stable</em>, but sometimes
-our tests fail to catch every case. If something breaks for you in
-<em>stable</em>, please let us know <em>immediately!</em> (see
-next section).
-
-<sect1><heading>Using FreeBSD-stable</heading>
-
- <p><enum><item> Join the &a.stable . This will
- keep you informed of build-dependencies that may appear in
- <em>stable</em> or any other issues requiring special attention.
- Developers will also make announcements in this mailing list when
- they are contemplating some contraversal fix or update, giving
- the users a chance to respond if they have any issues to raise concerning
- the proposed change.
-
- To join this list, send mail to &a.majordomo and say:
-<verb>
- subscribe freebsd-stable
-</verb>
- In the body of your message. Optionally, you can also say `help'
- and Majordomo will send you full help on how to subscribe and
- unsubscribe to the various other mailing lists we support.
-
- <item> Grab the sources from ftp.FreeBSD.ORG. You can do this in
- three ways:
-
- <enum>
- <item> Use the <ref id="ctm" name="CTM"> facility. Unless you
- have a good TCP/IP connection at a flat rate, this is
- the way to do it.
-
- <item> Use the <ref id="cvsup" name="cvsup"> program with
- <url url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/stable-supfile" name="this supfile">.
- This is the second most recommended method, since it allows
- you to grab the entire collection once and then only what has
- changed from then on. Many people run cvsup from cron
- to keep their sources up-to-date automatically.
-
- <item> Use ftp. The source tree for FreeBSD-stable is always
- "exported" on:
- <htmlurl url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-stable"
- name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-stable">
-
- <p>We also use `wu-ftpd' which allows compressed/tar'd grabbing
- of whole trees. e.g. you see:
-<verb>
- usr.bin/lex
-</verb>
- You can do:
-<verb>
- ftp> cd usr.bin
- ftp> get lex.tar.Z
-</verb>
- And it will get the whole directory for you as a compressed
- tar file.
- </enum>
-
- <item> Essentially, if you need rapid on-demand access to the source and
- communications bandwidth is not a consideration, use cvsup or ftp.
- Otherwise, use CTM.
-
- <item> Before compiling stable, read the Makefile in /usr/src
- carefully. You should at least run a `make world' the first time
- through as part of the upgrading process.
- Reading the &a.stable will keep you up-to-date on other bootstrapping
- procedures that sometimes become necessary as we move towards the next
- release.
-</enum>
diff --git a/share/doc/handbook/submitters.sgml b/share/doc/handbook/submitters.sgml
deleted file mode 100644
index 33b5ebf..0000000
--- a/share/doc/handbook/submitters.sgml
+++ /dev/null
@@ -1,619 +0,0 @@
-<!-- $Id: submitters.sgml,v 1.52 1997/04/23 18:36:37 jkh Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<chapt><heading>Contributing to FreeBSD<label id="submitters"></heading>
-
-<p><em>Contributed by &a.jkh;.</em>
-
-<p>So you want to contribute something to FreeBSD? That is great!
-We can always use the help, and FreeBSD is one of those systems
-that <em>relies</em> on the contributions of its user base in order
-to survive. Your contributions are not only appreciated, they are
-vital to FreeBSD's continued growth!
-
-<p>Contrary to what some people might also have you believe, you do not
-need to be a hot-shot programmer or a close personal friend of the
-FreeBSD core team in order to have your contributions accepted. The
-FreeBSD Project's development is done by a large and growing number of
-international contributors who's ages and areas of technical expertise
-vary greatly, and there is always more work to be done than there are
-people available to do it.
-
-<p>Since the FreeBSD project is responsible for an entire operating
-system environment (and its installation) rather than just a kernel or
-a few scattered utilities, our "TODO" list also spans a very wide
-range of tasks, from documentation, beta testing and presentation to
-highly specialized types of kernel development. No matter what your
-skill level, there is almost certainly something you can do to help the
-project!
-
-<p>Commercial entities engaged in FreeBSD-related enterprises are
-also encouraged to contact us. Need a special extension to make your
-product work? You will find us receptive to your requests, given that
-they are not too outlandish. Working on a value-added product? Please
-let us know! We may be able to work cooperatively on some aspect of
-it. The free software world is challenging a lot of existing
-assumptions about how software is developed, sold, and maintained
-throughout its life cycle, and we urge you to at least give it a
-second look.
-
-<sect><heading>What is needed</heading>
-
-<p>The following list of tasks and sub-projects represents something
-of an amalgam of the various core team TODO lists and user requests
-we have collected over the last couple of months. Where possible, tasks
-have been ranked by degree of urgency. If you are interested in
-working on one of the tasks you see here, send mail to the coordinator
-listed by clicking on their names. If no coordinator has been
-appointed, maybe you would like to volunteer?
-
-<sect1><heading>High priority tasks</heading>
-<p>The following tasks are considered to be urgent, usually because
-they represent something that is badly broken or sorely needed:
-<enum>
-<item>3-stage boot issues. Overall coordination:
-&a.hackers
-<p><itemize>
-<item>Autodetect memory over 64MB properly.
-<item>Move userconfig (-c) into 3rd stage boot.
-<item>Do WinNT compatible drive tagging so that the 3rd stage can
-provide an accurate mapping of BIOS geometries for disks.
-</itemize>
-<item>Filesystem problems. Overall coordination:
-&a.fs
-<itemize>
-<item>Fix the MSDOS file system.
-<item>Clean up and document the nullfs filesystem code. Coordinator: &a.gibbs
-<item>Fix the union file system. Coordinator: &a.dyson
-<item>Fix the LFS file system. Coordinator: &a.dyson
-</itemize>
-<item>Implement kernel and user vm86 support. Coordinator: &a.hackers
-<item>Implement Int13 vm86 disk driver. Coordinator: &a.hackers
-<item>SCSI driver issues. Overall coordination: &a.hackers
-<p><itemize>
-<item>Support tagged queuing generically. Requires a rewrite of how we do
-our command queuing, but we need this anyway to for prioritized I/O
-(CD-R writers/scanners).
-<item>Better error handling (Busy status and retries).
-<item>Merged Scatter-Gather list creation code.
-</itemize>
-<item>Kernel issues. Overall coordination:
-&a.hackers
-<p><itemize>
-<item>Complete the eisaconf conversion of all existing drivers.
-<item>Change all interrupt routines to take a (void *) instead of
-using unit numbers.
-<item>Merge EISA/PCI/ISA interrupt registration code.
-<item>Split PCI/EISA/ISA probes out from drivers like bt742a.c (WIP)
-<item>Fix the syscons ALT-TAB/vt switching hangs. Coordinator: &a.sos
-<item>Mouse support for syscons.
-<item>Merged keyboard code for all console drivers.
-<item>Rewrite the Intel Etherexpress 16 driver.
-<item>Merge the 3c509 and 3c590 drivers (essentially provide a PCI probe for
-ep.c).
-<item>Support Adaptec 3985 (first as a simple 3 channel SCSI card)
-Coordinator: &a.gibbs
-<item>Support Advansys SCSI controller products. Coordinator: &a.gibbs
-</itemize>
-</enum>
-
-<sect1><heading>Medium priority tasks</heading>
-<p>The following tasks need to be done, but not with any particular
-urgency:
-<enum>
-<item>DOS emulator (for DOS executables) Coordinator: <tt><url
-url="mailto:jr@jrw.org" name="J.R. Westmoreland"></tt>
-<item>Port AFS (Andrew File System) to FreeBSD Coordinator: <tt><url
-url="mailto:ajones@ctron.com" name="Alexander Seth Jones"></tt>
-
-<item>MCA support? This should be finalized one way or the other.
-<item>Full LKM based driver support/Configuration Manager.
-<p><itemize>
-<item>Devise a way to do all LKM registration without ld. This means
-some kind of symbol table in the kernel.
-<item>Write a configuration manager (in the 3rd stage boot?) that probes
-your hardware in a sane manner, keeps only the LKMs required for
-your hardware, etc.
-</itemize>
-<item>PCMCIA/PCCARD. Coordinators: &a.nate and &a.phk
-<itemize>
-<item>Documentation!
-<item>Reliable operation of the pcic driver (needs testing).
-<item>Recognizer and handler for sio.c (mostly done).
-<item>Recognizer and handler for ed.c (mostly done).
-<item>Recognizer and handler for ep.c (mostly done).
-<item>User-mode recognizer and handler (partially done).
-</itemize>
-<item>Advanced Power Management. Coordinators: &a.nate and &a.phk
-<itemize>
-<item>APM sub-driver (mostly done).
-<item>IDE/ATA disk sub-driver (partially done).
-<item>syscons/pcvt sub-driver.
-<item>Integration with the PCMCIA/PCCARD drivers (suspend/resume).
-</itemize>
-</enum>
-
-<sect1><heading>Low priority tasks</heading>
-<p>The following tasks are purely cosmetic or represent such an
-investment of work that it is not likely that anyone will get them done
-anytime soon:
-
-<p>The first 20 items are from Terry Lambert &lt;terry@lambert.org&gt
-<enum>
-<item>Ability to make BIOS calls from protected mode using V86 mode
-on the processor and return the results via a mapped interrupt
-IPC mechanism to the protected mode caller.
-
-<item>Drivers built into the kernel that use the BIOS call mechanism
-to allow them to be independent of the actual underlying hardware
-the same way that DOS is independent of the underlying hardware.
-This includes NetWork and ASPI drivers loaded in DOS prior to
-BSD being loaded by a DOS-based loader program, which means
-potential polling, which means DOS-not-busy interrupt generation
-for V86 machines by the protected mode kernel.
-
-<item>An image format that allows tagging of such drivers data and
-text areas in the default kernel executable so that that portion
-of the kernel address space may be recovered at a later time,
-after hardware specific protected mode drivers have been loaded
-and activated. This includes separation of BIOS based drivers
-from each other, since it is better to run with a BIOS based
-driver in all cases than to not run at all.
-
-<item>Abstraction of the bus interface mechanism. Currently, PCMCIA,
-EISA, and PCI busses are assumed to be bridged from ISA. This
-is not something which should be assumed.
-
-<item>A configuration manager that knows about PNP events, including
-power management events, insertion, extraction, and bus (PNP ISA
-and PCMCIA bridging chips) vs. card level event management.
-
-<item>A topological sort mechanism for assigning reassignable addresses
-that do not collide with other reassignable and non-reassignable
-device space resource usage by fixed devices.
-
-<item>A registration based mechanism for hardware services registration.
-Specifically, a device centric registration mechanism for timer
-and sound and other system critical service providers. Consider
-Timer2 and Timer0 and speaker services as one example of a single
-monolithic service provider.
-
-<item>A kernel exported symbol space in the kernel data space accessible
-by an LKM loader mechanism that does relocation and symbol space
-manipulation. The intent of this interface is to support the
-ability to demand load and unload kernel modules.
-
-<item>NetWare Server (protected mode ODI driver) loader and subservices
-to allow the use of ODI card drivers supplied with network cards.
-The same thing for NDIS drivers and NetWare SCSI drivers.
-
-<item>An "upgrade system" option that works on Linux boxes instead
-of just previous rev FreeBSD boxes.
-
-<item>Splitting of the console driver into abstraction layers, both to
-make it easier to port and to kill the X and ThinkPad and PS/2
-mouse and LED and console switching and bouncing NumLock problems
-once and for all.
-
-<item>Other kernel emulation environments for other foreign drivers
-as opportunity permits. SCO and Solaris are good candidates,
-followed by UnixWare, etc.
-
-<item>Processor emulation environments for execution of foreign binaries.
-This is easier than it sounds if the system call interface does not
-change much.
-
-<item>Streams to allow the use of commercial streams drivers.
-
-<item>Kernel multithreading (requires kernel preemption).
-
-<item>Symmetric Multiprocessing with kernel preemption (requires kernel
-preemption).
-
-<item>A concerted effort at support for portable computers. This is
-somewhat handled by changing PCMCIA bridging rules and power
-management event handling. But there are things like detecting
-internal vs. external display and picking a different screen
-resolution based on that fact, not spinning down the disk if
-the machine is in dock, and allowing dock-based cards to disappear
-without affecting the machines ability to boot (same issue for
-PCMCIA).
-
-<item>Reorganization of the source tree for multiple platform ports.
-
-<item>A "make world" that "makes the world" (rename the current one
-to "make regress" if that is all it is good for).
-
-<item>A 4M (preferably smaller!) memory footprint.
-
-</enum>
-
-<sect><heading>How to contribute</heading>
-
-<p>Contributions to the system generally fall into one or more of
-the following 6 categories:
-
-<sect1><heading>Bug reports and general commentary</heading>
-<p>If you have a bug to report or a suggestion to make:
-
-<itemize>
- <item>An idea or suggestion of general technical interest should be
- mailed to the &a.hackers;.
- Likewise, people with an interest
- in such things (and a tolerance for a <em>high</em>
- volume of mail!) may
- subscribe to the hackers mailing list by sending mail to
- &a.majordomo;.
- See <ref id="eresources:mail" name="mailing lists">
- for more information about this and other mailing lists.
-
- <item>An actual bug report should be filed by using the send-pr(1)
- program or its <url url="http://www.freebsd.org/send-pr.html"
- name="WEB based equivalent">. This will prompt you for various
- fields to fill in. In the send-pr(1) case, simply go to the
- fields surrounded by <tt>&lt;&gt;</tt>'s and fill in your own
- information in place of what is suggested there. With the
- WEB based interface, you simply select the appropriate items from
- various option menus and fill in the various fields shown there.
-
- <p>You should receive confirmation of your bug report along with
- a tracking number. Please keep this tracking number and refer to
- it in any subsequent correspondence so that people can find the
- details of your problem quickly. You may also send mail to
- <url url="mailto:bug-followup@freebsd.org"
- name="bug-followup@freebsd.org"> with your PR# in the subject
- line to append further information to an existing bug report.
-
- If you do not receive confirmation in a timely fashion (3 days to
- a week, depending on your email connection) or are, for some
- reason, unable to use the <tt>send-pr(1)</tt> command,
- then you may also file a bug report by sending mail to the &a.bugs;.
-</itemize>
-
-<sect1><heading>Changes to the documentation</heading>
-
-<p>Changes to the documentation are overseen by the &a.doc;.
-This does not generally include
-changes to manual pages, which should be considered under the category
-of "changes to existing source code."
-
-<sect1><heading>Changes to existing source code</heading>
-
-<p>An addition or change to the existing source code is a somewhat trickier
- affair and depends a lot on how far out of date you are with the current
- state of the core FreeBSD development. There is a special on-going release
- of FreeBSD known as ``FreeBSD-current'' which is made available in
- a variety of ways for the convenience of developers working
- actively on the system. See <ref id="current" name="Staying
- current with FreeBSD"> for more information about getting and using
- FreeBSD-current.
-
- Working from older sources unfortunately means that your changes may
- sometimes be too obsolete or too divergent for easy re-integration into
- FreeBSD. Chances of this can be minimized somewhat by subscribing to the
- &a.announce and the &a.current lists, where discussions
- on the current state of the system take place.
-
- Assuming that you can manage to secure fairly up-to-date sources to base
- your changes on, the next step is to produce a set of diffs to send to the
- FreeBSD maintainers. This is done with the <tt>diff(1)</tt> command,
- with the `context diff' form being preferred. For example:
-<tscreen><verb>
-diff -c oldfile newfile
-</verb></tscreen>
-or
-<tscreen><verb>
-diff -c -r olddir newdir
-</verb></tscreen>
- would generate such a set of context diffs for the given source file
- or directory hierarchy. See the man page for <tt>diff(1)</tt> for more
- details.
-
- Once you have a set of diffs (which you may test with the
- <tt>patch(1)</tt> command), you should bundle them up in an
- email message and send it, along with a brief description of
- what the diffs are for, to the &a.hackers;.
- Someone will very
- likely get back in touch with you in 24 hours or less,
- assuming of course that your diffs are interesting! :-)
-
- If your changes do not express themselves well as diffs alone
- (e.g. you have perhaps added, deleted or renamed files as well)
- then you may be better off bundling any new files, diffs and
- instructions for deleting/renaming others into a <tt>tar</tt>
- file and running the <tt>uuencode(1)</tt> program on it before
- sending the output of that to the &a.hackers;.
- See the man pages on <tt>tar(1)</tt> and <tt>uuencode(1)</tt> for more
- information on bundling files this way.
-
- If your change is of a potentially sensitive nature, e.g.
- you are unsure of copyright issues governing its further distribution
- or you are simply not ready to release it without a tighter review first,
- then you should send it to &a.core; rather than the &a.hackers
- The core mailing list
- reaches a much smaller group of people who do much of the
- day-to-day work on FreeBSD. Note that this group is also
- <em>very busy</em> and so you should only send mail to them
- in cases where mailing to hackers is truly impractical.
-
- Please refer to <tt>man 9 intro</tt> and <tt>man 9 style</tt>
- for some information on coding style. We would appreciate
- it if you were at least aware of this information before
- submitting code.
-
-<sect1><heading>New code or major value-added packages</heading>
-
-<p>In the case of a significant contribution of a large body
- work, or the addition of an important new feature to FreeBSD,
- it becomes almost always necessary to either send changes as
- uuencode'd tar files or upload them to our ftp site <url
- url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming">.
-
- When working with large amounts of code, the touchy subject of
- copyrights also invariably comes up. Acceptable copyrights
- for code included in FreeBSD are:
-
-<enum>
- <item>The BSD copyright. This copyright is most preferred
- due to its ``no strings attached'' nature and general
- attractiveness to commercial enterprises. Far from
- discouraging such commercial use, the FreeBSD Project
- actively encourages such participation by commercial interests
- who might eventually be inclined to invest something of their own
- into FreeBSD.
-
- <item>The GNU Public License, or ``GPL''. This license is not quite
- as popular with us due to the amount of extra effort demanded
- of anyone using the code for commercial purposes, but given
- the sheer quantity of GPL'd code we currently require (compiler,
- assembler, text formatter, etc) it would be silly to refuse
- additional contributions under this license. Code under the GPL
- also goes into a different part of the tree, that being
- <tt>/sys/gnu</tt> or <tt>/usr/src/gnu</tt>, and is therefore
- easily identifiable to anyone for whom the GPL presents a problem.
-</enum>
-
-<p>Contributions coming under any other type of copyright must be
- carefully reviewed before their inclusion into FreeBSD will
- be considered. Contributions for which particularly restrictive
- commercial copyrights apply are generally rejected, though the
- authors are always encouraged to make such changes available
- through their own channels.
-
- To place a ``BSD-style'' copyright on your work, include the following
- text at the very beginning of every source code file you wish
- to protect, replacing the text between the `<tt>%%</tt>' with
- the appropriate information.
-<tscreen><verb>
-Copyright (c) %%proper_years_here%%
- %%your_name_here%%, %%your_state%% %%your_zip%%. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer as
- the first lines of this file unmodified.
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY %%your_name_here%% ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL %%your_name_here%% BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- &dollar;Id&dollar;
-</verb></tscreen>
-For your convenience, a copy of this text can be found in
-<tt>/usr/share/examples/etc/bsd-style-copyright</tt>.
-
- &porting;
-
-<sect1><heading>Money, Hardware or Internet access</heading>
-<p>We are always very happy to accept donations to further the cause of
-the FreeBSD Project and, in a volunteer effort like ours, a little can go
-a long way! Donations of hardware are also very important to expanding
-our list of supported peripherals since we generally lack the funds to
-buy such items ourselves.
-
-<sect2><heading>Donating funds</heading>
-<p>While the FreeBSD Project is not a 501(C3) (non-profit) corporation and
-hence cannot offer special tax incentives for any donations made, any such
-donations will be gratefully accepted on behalf of the project by
-FreeBSD, Inc.
-
-<p>FreeBSD, Inc. was founded in early 1995 by &a.jkh and &a.davidg with the
-goal of furthering the aims of the FreeBSD Project and giving it a minimal
-corporate presence. Any and all funds donated (as well as any profits
-that may eventually be realized by FreeBSD, Inc.) will be used exclusively
-to further the project's goals.
-
-Please make any checks payable to FreeBSD, Inc., sent in care of the
-following address:
-
-<tscreen><verb>
-FreeBSD, Inc.
-c/o Jordan Hubbard
-4041 Pike Lane, suite #D.
-Concord CA, 94520
-
-[temporarily using the Walnut Creek CDROM address until a PO box can be
-opened]
-</verb></tscreen>
-
-Wire transfers may also be sent directly to:
-
-<tscreen><verb>
-Bank Of America
-Concord Main Office
-P.O. Box 37176
-San Francisco CA, 94137-5176
-
-Routing #: 121-000-358
-Account #: 01411-07441 (FreeBSD, Inc.)
-</verb></tscreen>
-
-If you do not wish to be listed in our <ref id="donors" name="donors">
-section, please specify this when making your donation. Thanks!
-
-<sect2><heading>Donating hardware</heading>
-
-<p>Donations of hardware in any of the 3 following categories are also gladly
-accepted by the FreeBSD Project:
-
-<itemize>
-<item>General purpose hardware such as disk drives, memory or complete
-systems should be sent to the FreeBSD, Inc. address listed in the
-<em>donating funds</em> section.
-
-<item>Hardware for which ongoing compliance testing is desired.
-We are currently trying to put together a testing lab of all components
-that FreeBSD supports so that proper regression testing can be done with
-each new release. We are still lacking many important pieces (network cards,
-motherboards, etc) and if you would like to make such a donation, please contact
-&a.davidg for information on which items are still required.
-
-<item>Hardware currently unsupported by FreeBSD for which you would like to
-see such support added. Please contact the &a.core; before sending
-such items as we will need to find a developer willing to take on the task
-before we can accept delivery of new hardware.
-</itemize>
-
-<sect2><heading>Donating Internet access</heading>
-
-<p>We can always use new mirror sites for FTP, WWW or cvsup.
-If you would like to be such a mirror, please contact
-<url url="mailto:admin@FreeBSD.ORG" name="the FreeBSD project
-administrators"> for more information.
-
-<sect><heading>Donors Gallery<label id="donors"></heading>
-
-<p>The FreeBSD Project is indebted to the following donors and would
-like to publically thank them here!
-
-<itemize>
-<item><bf>Contributors to the central server project:</bf>
- <p>The following individuals and businesses made it possible for
- the FreeBSD Project to build a new central server machine to eventually
- replace <em>freefall.freebsd.org</em> by donating the following items:
-
- <itemize>
- <item><url url="mailto:mbarkah@freebsd.org" name="Ade Barkah">
- and his employer, <url url="http://www.hemi.com"
- name="Hemisphere Online">, donated a <bf>Pentium Pro (P6) 200Mhz CPU
- </bf>
-
- <item><url url="http://www.asacomputers.com" name="ASA Computers">
- donated a <bf>Tyan 1662 motherboard</bf>.
-
- <item><url url="mailto:joe@via.net" name="Joe McGuckin"> of
- <url url="http://www.via.net" name="ViaNet Communications">
- donated a <bf>Kingston ethernet controller.</bf>
-
- <item><url url="mailto:jack@diamond.xtalwind.net"
- name="Jack O'Neill"> donated an <bf>NCR 53C875 SCSI
- controller card</bf>.
-
- <item><url url="mailto:ulf@Alameda.net" name="Ulf Zimmermann">
- of <url url="http://www.Alameda.net" name="Alameda Networks">
- donated <bf>128MB of memory</bf>, a <bf>4 Gb disk drive
- and the case.</bf>
- </itemize>
-
-<item><bf>Direct funding:</bf>
- <p>The following individuals and businesses have generously contributed
- direct funding to the project:
-
- <itemize>
- <item><url url="mailto:ANDRSN@HOOVER.STANFORD.EDU"
- name="Annelise Anderson">
-
- <item><url url="http://www.epilogue.com/" name="Epilogue
- Technology Corporation">
-
- <item>Sean Eric Fagan
-
- <item><url url="mailto:gmarco@masternet.it"
- name="Gianmarco Giovannelli">
-
- <item><url url="mailto:joeg@truenorth.org" name="Josef C. Grosch">
-
- <item><url url="mailto:chuckr@freebsd.org" name="Chuck Robey">
-
- <item><url url="mailto:ken@stox.sa.enteract.com"
- name="Kenneth P. Stox"> of <url url="http://www.imagescape.com"
- name="Imaginary Landscape, LLC.">
-
- <item><url url="mailto:dk@dog.farm.org"
- name="Dmitry S. Kohmanyuk">
-
- <item><url url="http://www.iijnet.or.jp/laser5/" name="Laser5">
- of Japan (a portion of the profits from sales of their
- <em>FreeBSD for PC98'ers</em> CD, a port of FreeBSD to
- the NEC PC98).
- </itemize>
-
-<item><bf>Hardware contributors:</bf>
- <p>
- The following individuals and businesses have generously contributed
- hardware for testing and device driver development/support:
-
- <itemize>
- <item>Walnut Creek CDROM for providing the Pentium P5-90 and
- 486/DX2-66 EISA/VL systems that are being used for our development
- work, to say nothing of the network access and other donations of
- hardware resources.
-
- <item>TRW Financial Systems, Inc. provided 130 PCs, three 68 GB
- fileservers, twelve Ethernets, two routers and an ATM
- switch for debugging the diskless code. They also keep a
- couple of FreeBSD hackers alive and busy. Thanks!
-
- <item>Dermot McDonnell donated the Toshiba XM3401B CDROM drive
- currently used in freefall.
-
- <item>&a.chuck; contributed his floppy tape streamer for experimental
- work.
-
- <item>Larry Altneu &lt;larry@ALR.COM&gt;, and &a.wilko;,
- provided Wangtek and Archive QIC-02 tape drives in order to
- improve the <tt>wt</tt> driver.
-
- <item>Ernst Winter &lt;ewinter@lobo.muc.de&gt; contributed a 2.88 MB
- floppy drive to the project. This will hopefully increase the
- pressure for rewriting the floppy disk driver. ;-)
-
- <item><url url="mailto:kuku@freebsd.org" name="Christoph Kukulies">
- donated an FX120 12 speed Mitsumi CDROM drive for IDE CDROM driver
- development.
-
- </itemize>
-
-<item><bf>Special contributors:</bf>
- <p>
- <itemize>
- <item><url url="http://www.cdrom.com" name="Walnut Creek CDROM">
- has donated almost more than we can say (see the
- <ref id="history" name="history"> document for more details).
- In particular, we would like to thank them for the original hardware
- used for <em>freefall.FreeBSD.ORG</em>, our primary development
- machine, and for <em>thud.FreeBSD.ORG</em>, a testing and build box.
- We are also indebted to them for funding various contributors over
- the years and providing us with unrestricted use of their T1
- connection to the Internet.</item>
-
- <item>The <url url="http://www.interface-business.de"
- name="interface business GmbH, Dresden"> has been patiently
- supporting &a.joerg; who has often preferred FreeBSD work over
- paywork, and used to fall back to their (quite expensive) EUnet
- Internet connection whenever his private connection became too
- slow or flakey to work with it...</item>
- </itemize>
-</itemize>
diff --git a/share/doc/handbook/sup.sgml b/share/doc/handbook/sup.sgml
deleted file mode 100644
index 19c3144..0000000
--- a/share/doc/handbook/sup.sgml
+++ /dev/null
@@ -1,163 +0,0 @@
-<!-- $Id: sup.sgml,v 1.28 1997/04/27 00:32:37 asami Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-
-<sect1><heading>SUP<label id="sup"></heading>
-
-<p><em>Contributed by &a.jkh; and &a.gclarkii;.</em>
-
-SUP is a network based software update tool developed at CMU. The
-purpose of this document is get the beginner up and running with sup.
-
-<sect2><heading>Configuration<label id="sup:setup"></heading>
-
-<p>SUP gets the information it needs to run from a configuration file
-called a supfile. There are different example supfiles provided
-for different source releases of FreeBSD. The
-<url url="file:/usr/share/examples/sup/standard-supfile"
-name="/usr/share/examples/sup/standard-supfile"> file, for example,
-contains sup information for the latest standard FreeBSD source
-distributions - it tells sup what collections it will be updating
-and/or installing and where they go. Someone using this particular
-supfile is said to be supping <ref id="current" name="-current">.
-<p>For ports, please have a look at
-<url url="file:/usr/share/examples/sup/ports-supfile"
-name="/usr/share/examples/sup/ports-supfile">.<p>
-If you are interested in obtaining the
-<url url="http://www.freebsd.org/cgi/cvsweb.cgi" name="CVS"> files
-that make up the source tree, refer to
-<url url="file:/usr/share/examples/sup/cvs-supfile"
-name="/usr/share/examples/sup/cvs-supfile">.<p>
-If you would rather track changes to the -stable branch, refer to
-<url url="file:/usr/share/examples/sup/stable-supfile"
-name="/usr/share/examples/sup/stable-supfile"> instead.
-
-If you are inside the United States, you may also uncomment
-the `secure' and `eBones' collection lines to grab the DES code.
-If you are outside the
-U.S., you should NOT sup this code from sup.FreeBSD.ORG as this will
-violate U.S. export restrictions. Instead you should use the
-<url url="file:/usr/share/examples/sup/secure-supfile"
-name="secure-supfile"> in the sup examples directory. This will
-connect you to the international sup site that contains a secure distribution.
-Any distributions you do not wish to receive can be commented out
-with a &num; at the beginning of the distribution line.
-
-Please consult the file
-<url url="file:/usr/share/examples/sup/README"
-name="/usr/share/examples/sup/README">
-for a list of alternate sup servers. The default sup server (sup.FreeBSD.ORG)
-listed in the above example files is currently overloaded and any traffic
-that can be transfered to a different host will help relieve some of
-the strain.
-
-Once this is setup, you are ready to go. To start sup type:
-<verb>
- sup supfile
-</verb>
-If you wish to see what sup is doing "verbosely", give it the -v option,
-like so:
-<verb>
- sup -v supfile
-</verb>
-Thats all there is to it! Remember that if you are running current,
-which is what you will have if you sup with the standard-supfile, please
-join the &a.current . You should also be sure to read
-<ref id="current" name="Staying current with FreeBSD">
-for important information on just what we can and cannot do for you as
-a -current user. If you are using the stable-supfile, please
-join the &a.stable and read
-<ref id="stable" name="Staying stable with FreeBSD">.
-
-<sect2><heading>Distributions<label id="sup:dists">
-</heading>
-
-<p>For the main FreeBSD distribution using the standard-supfile:
-<verb>
-src-base: /usr/src/... misc files at the top of /usr/src
-src-bin: /usr/src/bin user and system binaries
-src-contrib: /usr/src/contrib contributed software
-src-secure: /usr/src/secure DES Sources (US/Canada ONLY)
-src-eBones: /usr/src/eBones Kerberos and DES (US/Canada ONLY)
-src-etc: /usr/src/etc system files
-src-games: /usr/src/games games
-src-gnu: /usr/src/gnu sources under the GNU Public License
-src-include: /usr/src/include include files
-src-sys: /usr/src/sys kernel sources
-src-lib: /usr/src/lib libraries
-src-libexec: /usr/src/libexec system binaries
-src-release: /usr/src/release sources required to build a release
-src-share: /usr/src/share various shared resources
-src-sbin: /usr/src/sbin single user system binaries
-src-tools: /usr/src/tools various management tools
-src-usrbin: /usr/src/usr.bin user binaries
-src-usrsbin: /usr/src/usr.sbin system binaries
-</verb>
-
-<p>For the international FreeBSD distribution using the secure-supfile:
-<verb>
-src-secure: /usr/src/secure DES Sources
-src-eBones: /usr/src/eBones Kerberos and DES
-</verb>
-
-<p>There is also a collection including all of the above, except for
-either (domestic or international) versions of the export-restricted
-software (i.e., <tt>src-secure</tt> and <tt>src-eBones</tt>
-collections):
-<verb>
-src-all: /usr/src the whole operating system (almost)
-</verb>
-
-<p>And for the ports collection:
-<verb>
-ports-base: /usr/ports/... misc files at the top of /usr/ports
-ports-archivers: /usr/ports/archivers archiving tools
-ports-astro: /usr/ports/astro astronomical ports
-ports-audio: /usr/ports/audio sound support
-ports-benchmarks: /usr/ports/benchmarks benchmarks
-ports-cad: /usr/ports/cad CAD tools
-ports-chinese: /usr/ports/chinese Chinese support
-ports-comms: /usr/ports/comms communication software
-ports-converters: /usr/ports/converters character code converters
-ports-databases: /usr/ports/databases databases
-ports-devel: /usr/ports/devel development utilities
-ports-editors: /usr/ports/editors editors
-ports-emulators: /usr/ports/emulators emulators for other OSes
-ports-games: /usr/ports/games games
-ports-graphics: /usr/ports/graphics various graphics utilities
-ports-japanese: /usr/ports/japanese Japanese support
-ports-korean: /usr/ports/korean Korean support
-ports-lang: /usr/ports/lang programming languages
-ports-mail: /usr/ports/mail mail software
-ports-math: /usr/ports/math numerical computation software
-ports-mbone: /usr/ports/mbone MBone applications
-ports-misc: /usr/ports/misc miscellaneous utilities
-ports-net: /usr/ports/net networking software
-ports-news: /usr/ports/news USENET news software
-ports-plan9: /usr/ports/plan9 various programs from Plan9
-ports-print: /usr/ports/print printing software
-ports-russian: /usr/ports/russian Russian support
-ports-security: /usr/ports/security ``security'' utilities, for better or for worse
-ports-shells: /usr/ports/shells various UN*X shells
-ports-sysutils: /usr/ports/sysutils system utilities
-ports-textproc: /usr/ports/textproc text processing utilities (does not include desktop publishing)
-ports-vietnamese: /usr/ports/vietnamese Vietnamese support
-ports-www: /usr/ports/www software related to the world wide web
-ports-x11: /usr/ports/x11 X11 software
-</verb>
-
-<p>There is also a collection including all of the above:
-<verb>
-ports-all: /usr/ports the whole ports tree
-</verb>
-
-<!-- The following is currently not available (and probably will never return)
-<p>If you want to keep updated on the original source of the ports,
-you can also add this to your supfile. But note that this collection
-is <em>enormous</em>, and unless you are an ftp site mirroring the
-entire FreeBSD tree (but cannot use ``mirror'' for some reason), you
-(and us) are much better off not using sup to collect these:
-<verb>
-ports-distfiles: /usr/ports/distfiles original tarballs
-</verb>
--->
diff --git a/share/doc/handbook/synching.sgml b/share/doc/handbook/synching.sgml
deleted file mode 100644
index fe5e566..0000000
--- a/share/doc/handbook/synching.sgml
+++ /dev/null
@@ -1,50 +0,0 @@
-<!-- $Id: synching.sgml,v 1.9 1997/02/22 12:59:32 peter Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect><heading>Synchronizing source trees over the Internet<label id="synching"></heading>
-
-<p><em>Contributed by &a.jkh;.</em>
-
-<!--
-
-Last updated: $Date: 1997/02/22 12:59:32 $
-
-This document tries to describe the various ways in which a user may
-use the internet to keep development sources in synch.
--->
-
-<p>There are various ways of using an Internet (or email) connection
-to stay up-to-date with any given area of the FreeBSD project sources,
-or all areas, depending on what interests you. The primary
-services we offer are CVSup and CTM.
-
-<p><bf>CVSup</bf> is the new kid on the block, it does everything that sup
-did and more, doing it also far more efficiently in terms of its demands
-on server disk space and network resources. Because of this, CVSup has
-largely replaced <ref id="sup"> in the FreeBSD Project. Like sup, it also
-operates on a <em>pull</em> synchronization model.
-
-<p><bf>CTM</bf>, on the other hand, does not interactively compare
-the sources you have with those on the master archive. Instead, a script
-which identifies changes in files since its previous run is executed several
-times a day on the master archive, any detected changes being compressed,
-stamped with a sequence-number and encoded for transmission over email
-(printable ASCII only). Once received, these "CTM deltas" can then be
-handed to the ctm_rmail(1) utility which will automatically decode, verify
-and apply the changes to the user's copy of the sources. This process is
-far more efficient than CVSup, and places less strain on our server resources
-since it is a <em>push</em> rather than a <em>pull</em> model.
-
-<p>There are other trade-offs, of course. With CVSup, you can also
-inadvertently wipe out portions of your archive and CVSup will detect
-and rebuild the damaged portions for you. CTM won't do this, and if
-you wipe some portion of your source tree out (and don't have it backed
-up) then you will have to start from scratch (from the most recent CVS
-"base delta") and rebuild it all.
-
-For more information on CTM, CVSup or the now largely-obsolete sup, please
-see one of the following sections:
-
- &ctm;
- &cvsup;
- &sup;
diff --git a/share/doc/handbook/term.sgml b/share/doc/handbook/term.sgml
deleted file mode 100644
index d84c2ce..0000000
--- a/share/doc/handbook/term.sgml
+++ /dev/null
@@ -1,539 +0,0 @@
-<!-- This is an SGML document in the linuxdoc DTD describing
- hardwired terminals with FreeBSD. By Sean Kelly, (c) 1996.
-
- $Id$
-
- The FreeBSD Documentation Project
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-
-<linuxdoc>
- <article>
- <title> Hardwired Terminals
- <author> Sean Kelly <tt/kelly@fsl.noaa.gov/
- <date> 24 June 1996, (c) 1996
-
- <abstract> This document describes using hardwired terminals
- attached to computers running FreeBSD. It describes how to
- set up the terminal hardware (including cabling), how to
- configure FreeBSD to provide login sessions to those
- terminals, and how to troubleshoot problems with terminals.
- </abstract>
-
- <toc>
--->
-
-<sect><heading>Terminals<label id="term"></heading>
-
- <p><em>Contributed by &a.kelly;<newline>28 July 1996</em>
-
- Terminals provide a convenient and low-cost way to access the
- power of your FreeBSD system when you are not at the computer's
- console or on a connected network. This section describes how
- to use terminals with FreeBSD.
-
- <sect1><heading>Uses and Types of Terminals<label
- id="term:uses"></heading>
-
- <p>The original Unix systems did not have consoles. Instead,
- people logged in and ran programs through terminals that were
- connected to the computer's serial ports. It is quite similar
- to using a modem and some terminal software to dial into a
- remote system to do text-only work.
-
- Today's PCs have consoles capable of high quality graphics,
- but the ability to establish a login session on a serial port
- still exists in nearly every Unix-style operating system
- today; FreeBSD is no exception. By using a terminal attached
- to a unused serial port, you can log in and run any text
- program that you would normally run on the console or in an
- <tt/xterm/ window in the X Window System.
-
- For the business user, you can attach many terminals to a
- FreeBSD system and place them on your employees' desktops.
- For a home user, a spare computer such as an older IBM PC or a
- Macintosh can be a terminal wired into a more powerful
- computer running FreeBSD. You can turn what might otherwise
- be a single-user computer into a powerful multiple user
- system.
-
- For FreeBSD, there are three kinds of terminals:
-
- <itemize>
- <item><ref name="Dumb terminals" id="term:dumb">
- <item><ref name="PCs acting as terminals" id="term:pcs">
- <item><ref name="X terminals" id="term:x">
- </itemize>
-
- The remaining subsections describe each kind.
-
- <sect2><heading>Dumb Terminals<label id="term:dumb"></heading>
-
- <p>Dumb terminals are specialized pieces of hardware that let
- you connect to computers over serial lines. They are called
- ``dumb'' because they have only enough computational power
- to display, send, and receive text. You cannot run any
- programs on them. It is the computer to which you connect
- them that has all the power to run text editors, compilers,
- email, games, and so forth.
-
- There are hundreds of kinds of dumb terminals made by
- many manufacturers, including Digital Equipment
- Corporation's VT-100 and Wyse's WY-75. Just about any kind
- will work with FreeBSD. Some high-end terminals can even
- display graphics, but only certain software packages can
- take advantage of these advanced features.
-
- Dumb terminals are popular in work environments where
- workers do not need access to graphic applications such as
- those provided by the X Window System.
-
- <sect2><heading>PCs Acting As Terminals<label
- id="term:pcs"></heading>
-
- <p>If a <ref name="dumb terminal" id="term:dumb"> has just
- enough ability to display, send, and receive text, then
- certainly any spare personal computer can be a dumb
- terminal. All you need is the proper cable and some
- <em/terminal emulation/ software to run on the computer.
-
- Such a configuration is popular in homes. For example, if
- your spouse is busy working on your FreeBSD system's
- console, you can do some text-only work at the same time
- from a less powerful personal computer hooked up as a
- terminal to the FreeBSD system.
-
- <sect2><heading>X Terminals<label id="term:x"></heading>
-
- <p>X terminals are the most sophisticated kind of terminal
- available. Instead of connecting to a serial port, they
- usually connect to a network like Ethernet. Instead of
- being relegated to text-only applications, they can display
- any X application.
-
- We introduce X terminals just for the sake of completeness.
- However, this chapter does <em/not/ cover setup,
- configuration, or use of X terminals.
-
- <sect1><heading>Cables and Ports<label
- id="term:cables-ports"></heading>
-
- <p>To connect a terminal to your FreeBSD system, you need the
- right kind of cable and a serial port to which to connect it.
- This section tells you what to do. If you are already
- familiar with your terminal and the cable it requires, skip to
- <ref name="Configuration" id="term:config">.
-
- <sect2><heading>Cables<label id="term:cables"></heading>
-
- <p>Because terminals use serial ports, you need to use
- serial---also known as RS-232C---cables to connect the
- terminal to the FreeBSD system.
-
- There are a couple of kinds of serial cables. Which one
- you'll use depends on the terminal you want to connect:
-
- <itemize>
- <item>If you are connecting a personal computer to act as
- a terminal, use a <ref name="null-modem" id="term:null">
- cable. A null-modem cable connects two computers or
- terminals together.
-
- <item>If you have an actual terminal, your best source of
- information on what cable to use is the documentation
- that accompanied the terminal. If you do not have the
- documentation, then try a <ref name="null-modem"
- id="term:null"> cable. If that does not work, then try
- a <ref name="standard" id="term:std"> cable.
- </itemize>
-
- Also, the serial port on <em/both/ the terminal and your
- FreeBSD system must have connectors that will fit the cable
- you are using.
-
- <sect3><heading>Null-modem cables<label id="term:null"></heading>
-
- <p>A null-modem cable passes some signals straight through,
- like ``signal ground,'' but switches other signals. For
- example, the ``send data'' pin on one end goes to the
- ``receive data'' pin on the other end.
-
- If you like making your own cables, here is a table
- showing a recommended way to construct a null-modem cable
- for use with terminals. This table shows the RS-232C
- signal names and the pin numbers on a DB-25 connector.
-<tscreen><verb>
- Signal Pin# Pin# Signal
- TxD 2 ----------------------- 3 RxD
- RxD 3 ----------------------- 2 TxD
- DTR 20 ----------------------- 6 DSR
- DSR 6 ----------------------- 20 DTR
- SG 7 ----------------------- 7 SG
- DCD 8 ----------------------+ 4 RTS*
- *RTS 4 + + 5 CTS*
- *CTS 5 +---------------------- 8 DCD
-
-* Connect pins 4 to 5 internally in the connector hood, and then to
- pin 8 in the remote hood.
-</verb></tscreen>
-
- <sect3><heading>Standard RS-232C Cables<label
- id="term:std"></heading>
-
- <p>A standard serial cable passes all the RS-232C signals
- straight-through. That is, the ``send data'' pin on one
- end of the cable goes to the ``send data'' pin on the
- other end. This is the type of cable to connect a modem
- to your FreeBSD system, and the type of cable needed for
- some terminals.
-
- <sect2><heading>Ports<label id="term:ports"></heading>
-
- <p>Serial ports are the devices through which data is
- transferred between the FreeBSD host computer and the
- terminal. This section describes the kinds of ports that
- exist and how they are addressed in FreeBSD.
-
- <sect3><heading>Kinds of Ports<label
- id="term:portkinds"></heading>
-
- <p>Several kinds of serial ports exist. Before you purchase
- or construct a cable, you need to make sure it will fit
- the ports on your terminal and on the FreeBSD system.
-
- Most terminals will have DB25 ports. Personal computers,
- including PCs running FreeBSD, will have DB25 or DB9
- ports. If you have a multiport serial card for your PC,
- you may have RJ-12 or RJ-45 ports.
-
- See the documentation that accompanied the hardware for
- specifications on the kind of port in use. A visual
- inspection of the port often works, too.
-
- <sect3><heading>Port Names<label
- id="term:portnames"></heading>
-
- <p>In FreeBSD, you access each serial port through an entry
- in the <tt>/dev</tt> directory. There are two different
- kinds of entries:
- <itemize>
- <item>Callin ports are named <tt>/dev/ttyd<it/X/</tt>
- where <it/X/ is the port number, starting from zero.
- Generally, you use the callin port for terminals.
- Callin ports require that the serial line assert the
- data carrier detect (DCD) signal to work.
-
- <item>Callout ports are named <tt>/dev/cuaa<it/X/</tt>.
- You usually do not use the callout port for terminals,
- just for modems. You may use the callout port if the
- serial cable or the terminal does not support the
- carrier detect signal.
- </itemize>
-
- See the sio(4) manual page for more information.
-
- If you have connected a terminal to the first serial port
- (COM1 in DOS parlance), then you want to use
- <tt>/dev/ttyd0</tt> to refer to the terminal. If it is on
- the second serial port (also known as COM2), it is
- <tt>/dev/ttyd1</tt>, and so forth.
-
- Note that you may have to configure your kernel to support
- each serial port, especially if you have a multiport
- serial card. See <ref name="Configuring the FreeBSD
- Kernel" id="kernelconfig"> for more information.
-
- <sect1><heading>Configuration<label id="term:config"></heading>
-
- <p>This section describes what you need to configure on your
- FreeBSD system to enable a login session on a terminal. It
- assumes you have already configured your kernel to support the
- serial port to which the terminal is connected---and that you
- have connected it.
-
- In a nutshell, you need to tell the <tt/init/ process, which is
- responsible for process control and initialization, to start a
- <tt/getty/ process, which is responsible for reading a login
- name and starting the <tt/login/ program.
-
- To do so, you have to edit the <tt>/etc/ttys</tt> file.
- First, use the <tt/su/ command to become root. Then, make the
- following changes to <tt>/etc/ttys</tt>:
- <enum>
- <item>Add an line to <tt>/etc/ttys</tt> for the entry in the
- <tt>/dev</tt> directory for the serial port if it is not
- already there.
-
- <item>Specify that <tt>/usr/libexec/getty</tt> be run on the
- port, and specify the appropriate <tt/getty/ type from the
- <tt>/etc/gettytab</tt> file.
-
- <item>Specify the default terminal type.
-
- <item>Set the port to ``on.''
-
- <item>Specify whether the port should be ``secure.''
-
- <item>Force <tt/init/ to reread the <tt>/etc/ttys</tt> file.
- </enum>
-
- As an optional step, you may wish to create a custom
- <tt/getty/ type for use in step 2 by making an entry in
- <tt>/etc/gettytab</tt>. This document does not explain how to
- do so; you are encouraged to see the gettytab(5) and the
- getty(8) manual pages for more information.
-
- The remaining sections detail how to do these steps. We will
- use a running example throughout these sections to illustrate
- what we need to do. In our example, we will connect two
- terminals to the system: a Wyse-50 and a old 286 IBM PC
- running Procomm terminal software emulating a VT-100 terminal.
- We connect the Wyse to the second serial port and the 286 to
- the sixth serial port (a port on a multiport serial card).
-
- For more information on the <tt>/etc/ttys</tt> file, see the
- ttys(5) manual page.
-
- <sect2><heading>Adding an Entry to <tt>/etc/ttys</tt><label
- id="term:etcttys"></heading>
- <p>First, you need to add an entry to the <tt>/etc/ttys</tt>
- file, unless one is already there.
-
- The <tt>/etc/ttys</tt> file lists all of the ports on your
- FreeBSD system where you want to allow logins. For example,
- the first virtual console <tt>ttyv0</tt> has an entry in
- this file. You can log in on the console using this entry.
- This file contains entries for the other virtual consoles,
- serial ports, and pseudo-ttys. For a hardwired terminal,
- just list the serial port's <tt>/dev</tt> entry without the
- <tt>/dev</tt> part.
-
- When you installed your FreeBSD system, the
- <tt>/etc/ttys</tt> file included entries for the first four
- serial ports: <tt/ttyd0/ through <tt/ttyd3/. If you are
- attaching a terminal on one of those ports, you do not need
- to add an entry.
-
- In our example, we attached a Wyse-50 to the second serial
- port, <tt/ttyd1/, which is already in the file. We need to
- add an entry for the 286 PC connected to the sixth serial
- port. Here is an excerpt of the <tt>/etc/ttys</tt> file
- after we add the new entry:
-<tscreen><verb>
-ttyd1 "/usr/libexec/getty std.9600" unknown off secure
-ttyd5
-</verb></tscreen>
-
- <sect2><heading>Specifying the <tt/getty/ Type<label
- id="term:getty"></heading>
- <p>Next, we need to specify what program will be run to handle
- the logins on a terminal. For FreeBSD, the standard program
- to do that is <tt>/usr/libexec/getty</tt>. It is what
- provides the <tt>login:</tt> prompt.
-
- The program <tt/getty/ takes one (optional) parameter on its
- command line, the <em/<tt/getty/ type/. A <tt/getty/ type
- tells about characteristics on the terminal line, like bps
- rate and parity. The <tt/getty/ program reads these
- characteristics from the file <tt>/etc/gettytab</tt>.
-
- The file <tt>/etc/gettytab</tt> contains lots of entries for
- terminal lines both old and new. In almost all cases, the
- entries that start with the text <tt/std/ will work for
- hardwired terminals. These entries ignore parity. There is
- a <tt/std/ entry for each bps rate from 110 to 115200. Of
- course, you can add your own entries to this file. The
- manual page gettytab(5) provides more information.
-
- When setting the <tt/getty/ type in the <tt>/etc/ttys</tt>
- file, make sure that the communications settings on the
- terminal match.
-
- For our example, the Wyse-50 uses no parity and connects at
- 38400 bps. The 286 PC uses no parity and connects at 19200
- bps. Here is the <tt>/etc/ttys</tt> file so far (showing
- just the two terminals in which we are interested):
-<tscreen><verb>
-ttyd1 "/usr/libexec/getty std.38400" unknown off secure
-ttyd5 "/usr/libexec/getty std.19200"
-</verb></tscreen>
- Note that the second field---where we specify what program
- to run---appears in quotes. This is important, otherwise
- the type argument to <tt/getty/ might be interpreted as the
- next field.
-
- <sect2><heading>Specifying the Default Terminal Type<label
- id="term:deftermtype"></heading>
-
- <p>The third field in the <tt>/etc/ttys</tt> file lists the
- default terminal type for the port. For dialup ports, you
- typically put <tt/unknown/ or <tt/dialup/ in this field
- because users may dial up with practically any kind of
- terminal or software. For hardwired terminals, the terminal
- type does not change, so you can put a real terminal type in
- this field.
-
- Users will usually use the <tt/tset/ program in
- their <tt/.login/ or <tt/.profile/ files to check the terminal
- type and prompt for one if necessary. By setting a terminal
- type in the <tt>/etc/ttys</tt> file, users can forego such
- prompting.
-
- To find out what terminal types FreeBSD supports, see the
- file <tt>/usr/share/misc/termcap</tt>. It lists about 600
- terminal types. You can add more if you wish. See the
- termcap(5) manual page for information.
-
- In our example, the Wyse-50 is a Wyse-50 type of terminal
- (although it can emulate others, we will leave it in Wyse-50
- mode). The 286 PC is running Procomm which will be set to
- emulate a VT-100. Here are the pertinent yet unfinished
- entries from the <tt>/etc/ttys</tt> file:
-<tscreen><verb>
-ttyd1 "/usr/libexec/getty std.38400" wy50 off secure
-ttyd5 "/usr/libexec/getty std.19200" vt100
-</verb></tscreen>
-
- <sect2><heading>Enabling the Port<label
- id="term:enable"></heading>
- <p>The next field in <tt>/etc/ttys</tt>, the fourth field,
- tells whether to enable the port. Putting <tt/on/ here will
- have the <tt/init/ process start the program in the second
- field, <tt/getty/, which will prompt for a login. If you
- put <tt/off/ in the fourth field, there will be no
- <tt/getty/, and hence no logins on the port.
-
- So, naturally, you want an <tt/on/ in this field. Here
- again is the <tt>/etc/ttys</tt> file. We have turned each
- port <tt/on/.
-<tscreen><verb>
-ttyd1 "/usr/libexec/getty std.38400" wy50 on secure
-ttyd5 "/usr/libexec/getty std.19200" vt100 on
-</verb></tscreen>
-
-
- <sect2><heading>Specifying Secure Ports<label
- id="term:secure"></heading>
- <p>We have arrived at the last field (well, almost: there is
- an optional <tt/window/ specifier, but we will ignore that).
- The last field tells whether the port is secure.
-
- What does ``secure'' mean?
-
- It means that the root account (or any account with a user
- ID of 0) may login on the port. Insecure ports do not
- allow root to login.
-
- How do you use secure and insecure ports?
-
- By marking a port as insecure, the terminal to which it is
- connected will not allow root to login. People who know
- the root password to your FreeBSD system will first have to
- login using a regular user account. To gain superuser
- privileges, they will then have to use the <tt/su/ command.
-
- Because of this, you will have two records to help track
- down possible compromises of root privileges: both the login
- and the <tt/su/ command make records in the system log (and
- logins are also recorded in the <tt/wtmp/ file).
-
- By marking a port as secure, the terminal will allow root
- in. People who know the root password will just login as
- root. You will not have the potentially useful login and
- <tt/su/ command records.
-
- Which should you use?
-
- Just use ``insecure.'' Use ``insecure'' <em/even/ for
- terminals <em/not/ in public user areas or behind locked
- doors. It is quite easy to login and use <tt/su/ if you
- need superuser privileges.
-
- Here finally are the completed entries in the
- <tt>/etc/ttys</tt> file, with comments added to describe
- where the terminals are:
-<tscreen><verb>
-ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure # Kitchen
-ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure # Guest bathroom
-</verb></tscreen>
-
- <sect2><heading>Force <tt/init/ to Reread
- <tt>/etc/ttys</tt><label id="term:hup"></heading>
- <p>When you boot FreeBSD, the first process, <tt/init/, will
- read the <tt>/etc/ttys</tt> file and start the programs
- listed for each enabled port to prompt for logins.
-
- After you edit <tt>/etc/ttys</tt>, you do not want to have
- to reboot your system to get <tt/init/ to see the changes.
- So, <tt/init/ will reread <tt>/etc/ttys</tt> if it receives
- a SIGHUP (hangup) signal.
-
- So, after you have saved your changes to <tt>/etc/ttys</tt>,
- send SIGHUP to <tt/init/ by typing:
-<tscreen><verb>
-kill -HUP 1
-</verb></tscreen>
- (The <tt/init/ process <em/always/ has process ID 1.)
-
- If everything is set up correctly, all cables are in place,
- and the terminals are powered up, you should see login
- prompts. Your terminals are ready for their first logins!
-
- <sect1><heading>Debugging your connection<label
- id="term:debug"></heading>
- <p>Even with the most meticulous attention to detail, something
- could still go wrong while setting up a terminal. Here is a
- list of symptoms and some suggested fixes.
-
- <descrip>
- <tag/No login prompt appears/
-
- Make sure the terminal is plugged in and powered up. If
- it is a personal computer acting as a terminal, make sure
- it is running terminal emulation software on the correct
- serial port.
-
- Make sure the cable is connected firmly to both the
- terminal and the FreeBSD computer. Make sure it is the
- right kind of cable.
-
- Make sure the terminal and FreeBSD agree on the bps rate
- and parity settings. If you have a video display
- terminal, make sure the contrast and brightness controls
- are turned up. If it is a printing terminal, make sure
- paper and ink are in good supply.
-
- Make sure that a <tt/getty/ process is running and serving
- the terminal. Type
-<tscreen><verb>
-ps -axww|grep getty
-</verb></tscreen>
- to get a list of running <tt/getty/ processes. You should
- see an entry for the terminal. For example, the display
-<tscreen><verb>
-22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1
-</verb></tscreen>
- shows that a <tt/getty/ is running on the second serial
- port <tt/ttyd1/ and is using the <tt/std.38400/ entry in
- <tt>/etc/gettytab</tt>.
-
- If no <tt/getty/ process is running, make sure you have
- enabled the port in <tt>/etc/ttys</tt>. Make sure you
- have run <tt/kill -HUP 1/.
-
- <tag/Garbage appears instead of a login prompt/
-
- Make sure the terminal and FreeBSD agree on the bps rate
- and parity settings. Check the getty processes to make
- sure the correct <tt/getty/ type is in use. If not, edit
- <tt>/etc/ttys</tt> and run <tt/kill -HUP 1/.
-
- <tag/Characters appear doubled; the password appears when typed/
-
- Switch the terminal (or the terminal emulation software)
- from ``half duplex'' or ``local echo'' to ``full duplex.''
-
- </descrip>
-
-
-
diff --git a/share/doc/handbook/uart.sgml b/share/doc/handbook/uart.sgml
deleted file mode 100644
index 0701096..0000000
--- a/share/doc/handbook/uart.sgml
+++ /dev/null
@@ -1,1108 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!--
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
-
-<!ENTITY % authors SYSTEM "authors.sgml">
-%authors;
-
-]>
--->
-<sect2><heading>The UART: What it is and how it works<label id="uart"></heading>
-
-<p><em>Copyright &copy; 1996 &a.uhclem;, All Rights Reserved.<newline>
-13 January 1996.</em>
-
-<!-- Version 1(2) 13-Jan-96 -->
-
- The Universal Asynchronous Receiver/Transmitter (UART) controller
- is the key component of the serial communications subsystem of a
- computer. The UART takes bytes of data and transmits the individual
- bits in a sequential fashion. At the destination, a second UART
- re-assembles the bits into complete bytes.
-
- Serial transmission is commonly used with modems and for
- non-networked communication between computers, terminals
- and other devices.
-
- There are two primary forms of serial transmission: Synchronous and
- Asynchronous. Depending on the modes that are supported by the
- hardware, the name of the communication sub-system will usually
- include a "A" if it supports Asynchronous communications, and a
- "S" if it supports Synchronous communications. Both forms are
- described below.
-
- Some common acronyms are:
-<quote>UART Universal Asynchronous Receiver/Transmitter</quote>
-<quote>USART Universal Synchronous-Asynchronous Receiver/Transmitter</quote>
-
-
-<sect3><heading>Synchronous Serial Transmission</heading>
-
- <p>Synchronous serial transmission requires that the sender and
- receiver share a clock with one another, or that the sender provide
- a strobe or other timing signal so that the receiver knows when to
- "read" the next bit of the data. In most forms of serial
- Synchronous communication, if there is no data available at a given
- instant to transmit, a fill character must be sent instead so that
- data is always being transmitted. Synchronous communication is
- usually more efficient because only data bits are transmitted
- between sender and receiver, and synchronous communication can be
- more more costly if extra wiring and circuits are required to
- share a clock signal between the sender and receiver.
-
- A form of Synchronous transmission is used with printers and
- fixed disk devices in that the data is sent on one set of wires
- while a clock or strobe is sent on a different wire. Printers and
- fixed disk devices are not normally serial devices because most
- fixed disk interface standards send an entire word of data for each
- clock or strobe signal by using a separate wire for each bit of the
- word. In the PC industry, these are known as Parallel devices.
-
- The standard serial communications hardware in the PC does not
- support Synchronous operations. This mode is described here for
- comparison purposes only.
-
-
-<sect3><heading>Asynchronous Serial Transmission</heading>
-
- <p>Asynchronous transmission allows data to be transmitted without
- the sender having to send a clock signal to the receiver. Instead,
- the sender and receiver must agree on timing parameters in advance
- and special bits are added to each word which are used to
- synchronize the sending and receiving units.
-
- When a word is given to the UART for Asynchronous transmissions,
- a bit called the "Start Bit" is added to the beginning of each word
- that is to be transmitted. The Start Bit is used to alert the
- receiver that a word of data is about to be sent, and to force the
- clock in the receiver into synchronization with the clock in the
- transmitter. These two clocks must be accurate enough to not
- have the frequency drift by more than 10% during the transmission
- of the remaining bits in the word. (This requirement was set in
- the days of mechanical teleprinters and is easily met by modern
- electronic equipment.)
-
- After the Start Bit, the individual bits of the word of data are
- sent, with the Least Significant Bit (LSB) being sent first. Each
- bit in the transmission is transmitted for exactly the same
- amount of time as all of the other bits, and the receiver "looks"
- at the wire at approximately halfway through the period assigned
- to each bit to determine if the bit is a "1" or a "0". For example,
- if it takes two seconds to send each bit, the receiver will examine
- the signal to determine if it is a "1" or a "0" after one second
- has passed, then it will wait two seconds and then examine the value
- of the next bit, and so on.
-
- The sender does not know when the receiver has "looked" at the
- value of the bit. The sender only knows when the clock says to
- begin transmitting the next bit of the word.
-
- When the entire data word has been sent, the transmitter may add
- a Parity Bit that the transmitter generates. The Parity Bit may
- be used by the receiver to perform simple error checking. Then at
- least one Stop Bit is sent by the transmitter.
-
- When the receiver has received all of the bits in the data word,
- it may check for the Parity Bits (both sender and receiver must
- agree on whether a Parity Bit is to be used), and then the receiver
- looks for a Stop Bit. If the Stop Bit does not appear when it is
- supposed to, the UART considers the entire word to be garbled and
- will report a Framing Error to the host processor when the data
- word is read. The usual cause of a Framing Error is that the sender
- and receiver clocks were not running at the same speed, or that
- the signal was interrupted.
-
- Regardless of whether the data was received correctly or not, the
- UART automatically discards the Start, Parity and Stop bits. If the
- sender and receiver are configured identically, these bits are not
- passed to the host.
-
- If another word is ready for transmission, the Start Bit for the new
- word can be sent as soon as the Stop Bit for the previous
- word has been sent.
-
- Because asynchronous data is "self synchronizing", if there is no
- data to transmit, the transmission line can be idle.
-
-
-<sect3><heading>Other UART Functions</heading>
-
- <p>In addition to the basic job of converting data from parallel to
- serial for transmission and from serial to parallel on reception,
- a UART will usually provide additional circuits for signals that
- can be used to indicate the state of the transmission media, and
- to regulate the flow of data in the event that the remote device
- is not prepared to accept more data. For example, when the
- device connected to the UART is a modem, the modem may report the
- presence of a carrier on the phone line while the computer may be
- able to instruct the modem to reset itself or to not take calls
- by asserting or deasserting one more more of these extra signals.
- The function of each of these additional signals is defined in
- the EIA RS232-C standard.
-
-
-<sect3><heading>The RS232-C and V.24 Standards</heading>
-
- <p>In most computer systems, the UART is connected to circuitry that
- generates signals that comply with the EIA RS232-C specification.
- There is also a CCITT standard named V.24 that mirrors the
- specifications included in RS232-C.
-
-<sect4><heading>RS232-C Bit Assignments (Marks and Spaces)</heading>
-
- <p>In RS232-C, a value of "1" is called a "Mark" and a value of "0"
- is called a "Space". When a communication line is idle, the line
- is said to be "Marking", or transmitting continuous "1" values.
-
- The Start bit always has a value of "0" (a Space). The Stop Bit
- always has a value of "1" (a Mark). This means that there will
- always be a Mark (1) to Space (0) transition on the line at the
- start of every word, even when multiple word are
- transmitted back to back. This guarantees that sender and
- receiver can resynchronize their clocks regardless of the content
- of the data bits that are being transmitted.
-
- The idle time between Stop and Start bits does not have
- to be an exact multiple (including zero) of the bit rate of the
- communication link, but most UARTs are designed this way for
- simplicity.
-
- In RS232-C, the "Marking" signal (a "1") is represented by a voltage
- between -2 VDC and -12 VDC, and a "Spacing" signal (a "0") is
- represented by a voltage between 0 and +12 VDC. The transmitter
- is supposed to send +12 VDC or -12 VDC, and the receiver is supposed
- to allow for some voltage loss in long cables. Some transmitters
- in low power devices (like portable computers) sometimes use only
- +5 VDC and -5 VDC, but these values are still acceptable to a
- RS232-C receiver, provided that the cable lengths are short.
-
-
-<sect4><heading>RS232-C Break Signal</heading>
-
- <p>RS232-C also specifies a signal called a "Break", which is caused
- by sending continuous Spacing values (no Start or Stop bits). When
- there is no electricity present on the data circuit, the line is
- considered to be sending "Break".
-
- The "Break" signal must be of a duration longer than the time
- it takes to send a complete byte plus Start, Stop and Parity bits.
- Most UARTs can distinguish between a Framing Error and a
- Break, but if the UART cannot do this, the Framing Error detection
- can be used to identify Breaks.
-
- In the days of teleprinters, when numerous printers around the
- country were wired in series (such as news services), any unit
- could cause a "Break" by temporarily opening the entire circuit
- so that no current flowed. This was used to allow a location with
- urgent news to interrupt some other location that was currently
- sending information.
-
- In modern systems there are two types of Break signals. If the
- Break is longer than 1.6 seconds, it is considered a "Modem Break",
- and some modems can be programmed to terminate the conversation and
- go on-hook or enter the modems' command mode when the modem detects
- this signal. If the Break is smaller than 1.6 seconds, it signifies
- a Data Break and it is up to the remote computer to respond to
- this signal. Sometimes this form of Break is used as an Attention
- or Interrupt signal and sometimes is accepted as a substitute for
- the ASCII CONTROL-C character.
-
- Marks and Spaces are also equivalent to "Holes" and "No Holes"
- in paper tape systems.
-
- Note that Breaks cannot be generated from paper tape or from any
- other byte value, since bytes are always sent with Start and Stop
- bit. The UART is usually capable of generating the continuous
- Spacing signal in response to a special command from the host
- processor.
-
-<sect4><heading>RS232-C DTE and DCE Devices</heading>
-
- <p>The RS232-C specification defines two types of equipment: the Data
- Terminal Equipment (DTE) and the Data Carrier Equipment (DCE).
- Usually, the DTE device is the terminal (or computer), and the DCE
- is a modem. Across the phone line at the other end of a
- conversation, the receiving modem is also a DCE device and the
- computer that is connected to that modem is a DTE device. The DCE
- device receives signals on the pins that the DTE device transmits on,
- and vice versa.
-
- When two devices that are both DTE or both DCE must be connected
- together without a modem or a similar media translater between them,
- a NULL modem must be used. The NULL modem electrically re-arranges
- the cabling so that the transmitter output is connected to the
- receiver input on the other device, and vice versa. Similar
- translations are performed on all of the control signals so that
- each device will see what it thinks are DCE (or DTE) signals from
- the other device.
-
- The number of signals generated by the DTE and DCE devices are
- not symmetrical. The DTE device generates fewer signals for
- the DCE device than the DTE device receives from the DCE.
-
-<sect4><heading>RS232-C Pin Assignments</heading>
-
- <p>The EIA RS232-C specification (and the ITU equivalent, V.24) calls
- for a twenty-five pin connector (usually a DB25) and defines the
- purpose of most of the pins in that connector.
-
- In the IBM Personal Computer and similar systems, a subset of
- RS232-C signals are provided via nine pin connectors (DB9).
- The signals that are not included on the PC connector deal mainly
- with synchronous operation, and this transmission mode is not
- supported by the UART that IBM selected for use in the IBM PC.
-
- Depending on the computer manufacturer, a DB25, a DB9, or
- both types of connector may be used for RS232-C communications.
- (The IBM PC also uses a DB25 connector for the parallel printer
- interface which causes some confusion.)
-
- Below is a table of the RS232-C signal assignments in the DB25
- and DB9 connectors.
-
-<verb>
-DB25 DB9 EIA CCITT Common Signal Description
-RS232-C IBM PC Circuit Circuit Name Source
-Pin Pin Symbol Symbol
-
-1 - AA 101 PG/FG --- Frame/Protective Ground
-2 3 BA 103 TD DTE Transmit Data
-3 2 BB 104 RD DCE Receive Data
-4 7 CA 105 RTS DTE Request to Send
-5 8 CB 106 CTS DCE Clear to Send
-6 6 CC 107 DSR DCE Data Set Ready
-7 5 AV 102 SG/GND --- Signal Ground
-8 1 CF 109 DCD/CD DCE Data Carrier Detect
-9 - - - - - Reserved for Test
-10 - - - - - Reserved for Test
-11 - - - - - Unassigned
-12 - CI 122 SRLSD DCE Sec. Recv. Line Signal Detector
-13 - SCB 121 SCTS DCE Secondary Clear To Send
-14 - SBA 118 STD DTE Secondary Transmit Data
-15 - DB 114 TSET DCE Trans. Sig. Element Timing
-16 - SBB 119 SRD DCE Secondary Received Data
-17 - DD 115 RSET DCE Receiver Signal Element Timing
-18 - - 141 LOOP DTE Local Loopback
-19 - SCA 120 SRS DTE Secondary Request to Send
-20 4 CD 108.2 DTR DTE Data Terminal Ready
-21 - - - RDL DTE Remote Digital Loopback
-22 9 CE 125 RI DCE Ring Indicator
-23 - CH 111 DSRS DTE Data Signal Rate Selector
-24 - DA 113 TSET DTE Trans. Sig. Element Timing
-25 - - 142 - DCE Test Mode
-</verb>
-
-
- <sect3><heading>Bits, Baud and Symbols</heading>
-
- <p>Baud is a measurement of transmission speed in asynchronous
- communication. Because of advances in modem communication
- technology, this term is frequently misused when describing
- the data rates in newer devices.
-
- Traditionally, a Baud Rate represents the number of bits that are
- actually being sent over the media, not the amount of data
- that is actually moved from one DTE device to the other. The
- Baud count includes the overhead bits Start, Stop and Parity
- that are generated by the sending UART and removed by the
- receiving UART. This means that seven-bit words of data
- actually take 10 bits to be completely transmitted.
- Therefore, a modem capable of moving 300 bits per second from one
- place to another can normally only move 30 7-bit words if
- Parity is used and one Start and Stop bit are present.
-
- If 8-bit data words are used and Parity bits are also used, the
- data rate falls to 27.27 words per second, because it now
- takes 11 bits to send the eight-bit words, and the modem still
- only sends 300 bits per second.
-
- The formula for converting bytes per second into a baud rate
- and vice versa was simple until error-correcting modems
- came along. These modems receive the serial stream of bits
- from the UART in the host computer (even when internal modems
- are used the data is still frequently serialized) and converts
- the bits back into bytes. These bytes are then combined into
- packets and sent over the phone line using a Synchronous
- transmission method. This means that the Stop, Start, and Parity
- bits added by the UART in the DTE (the computer) were removed by
- the modem before transmission by the sending modem. When these
- bytes are received by the remote modem, the remote modem adds
- Start, Stop and Parity bits to the words, converts them to a
- serial format and then sends them to the receiving UART in the remote
- computer, who then strips the Start, Stop and Parity bits.
-
- The reason all these extra conversions are done is so that the
- two modems can perform error correction, which means that the
- receiving modem is able to ask the sending modem to resend a
- block of data that was not received with the correct checksum.
- This checking is handled by the modems, and the DTE devices are
- usually unaware that the process is occurring.
-
- By striping the Start, Stop and Parity bits, the additional bits of
- data that the two modems must share between themselves to perform
- error-correction are mostly concealed from the effective
- transmission rate seen by the sending and receiving DTE equipment.
- For example, if a modem sends ten 7-bit words to another modem
- without including the Start, Stop and Parity bits, the sending
- modem will be able to add 30 bits of its own information that
- the receiving modem can use to do error-correction without
- impacting the transmission speed of the real data.
-
- The use of the term Baud is further confused by modems that perform
- compression. A single 8-bit word passed over the telephone
- line might represent a dozen words that were transmitted to
- the sending modem. The receiving modem will expand the data back
- to its original content and pass that data to the receiving DTE.
-
- Modern modems also include buffers that allow the rate that
- bits move across the phone line (DCE to DCE) to be a different speed
- than the speed that the bits move between the DTE and DCE on both
- ends of the conversation. Normally the speed between the DTE and
- DCE is higher than the DCE to DCE speed because of the use of
- compression by the modems.
-
- Because the number of bits needed to describe a byte varied
- during the trip between the two machines plus the differing
- bits-per-seconds speeds that are used present on the DTE-DCE and
- DCE-DCE links, the usage of the term Baud to describe the
- overall communication speed causes problems and can misrepresent
- the true transmission speed. So Bits Per Second (bps) is the correct
- term to use to describe the transmission rate seen at the
- DCE to DCE interface and Baud or Bits Per Second are acceptable
- terms to use when a connection is made between two systems with a
- wired connection, or if a modem is in use that is not performing
- error-correction or compression.
-
- Modern high speed modems (2400, 9600, 14,400, and 19,200bps) in
- reality still operate at or below 2400 baud, or more accurately,
- 2400 Symbols per second. High speed modem are able to encode more
- bits of data into each Symbol using a technique called Constellation
- Stuffing, which is why the effective bits per second rate of the
- modem is higher, but the modem continues to operate within the
- limited audio bandwidth that the telephone system provides.
- Modems operating at 28,800 and higher speeds have variable Symbol
- rates, but the technique is the same.
-
- <sect3><heading>The IBM Personal Computer UART</heading>
-
- <p>Starting with the original IBM Personal Computer, IBM selected
- the National Semiconductor INS8250 UART for use in the IBM PC
- Parallel/Serial Adapter. Subsequent generations of compatible
- computers from IBM and other vendors continued to use the INS8250
- or improved versions of the National Semiconductor UART family.
-
-
-<sect4><heading>National Semiconductor UART Family Tree</heading>
-
- <p>There have been several versions and subsequent generations of
- the INS8250 UART. Each major version is described below.
-
-<verb>
- INS8250 -> INS8250B
- \
- \
- \-> INS8250A -> INS82C50A
- \
- \
- \-> NS16450 -> NS16C450
- \
- \
- \-> NS16550 -> NS16550A -> PC16550D
-</verb>
-
-<descrip>
- <tag>INS8250</tag>This part was used in the original IBM PC and
- IBM PC/XT. The original name for this part was the INS8250 ACE
- (Asynchronous Communications Element) and it is made from NMOS
- technology.
-
- The 8250 uses eight I/O ports and has a one-byte send and
- a one-byte receive buffer. This original UART has several
- race conditions and other flaws. The original IBM BIOS
- includes code to work around these flaws, but this made
- the BIOS dependent on the flaws being present, so subsequent
- parts like the 8250A, 16450 or 16550 could not be used in
- the original IBM PC or IBM PC/XT.
-
- <tag>INS8250-B</tag>This is the slower speed of the INS8250 made
- from NMOS technology. It contains the same problems as the original
- INS8250.
-
- <tag>INS8250A</tag>An improved version of the INS8250 using XMOS
- technology with various functional flaws corrected. The INS8250A
- was used initially in PC clone computers by vendors who used
- "clean" BIOS designs. Because of the corrections in the chip, this
- part could not be used with a BIOS compatible with the INS8250
- or INS8250B.
-
- <tag>INS82C50A</tag>This is a CMOS version (low power consumption)
- of the INS8250A and has similar functional characteristics.
-
- <tag>NS16450</tag>Same as NS8250A with improvements so it can be
- used with faster CPU bus designs. IBM used this part in the IBM AT
- and updated the IBM BIOS to no longer rely on the bugs in the
- INS8250.
-
- <tag>NS16C450</tag>This is a CMOS version (low power consumption)
- of the NS16450.
-
- <tag>NS16550</tag>Same as NS16450 with a 16-byte send and receive
- buffer but the buffer design was flawed and could not be reliably
- be used.
-
- <tag>NS16550A</tag>Same as NS16550 with the buffer flaws corrected.
- The 16550A and its successors have become the most popular UART
- design in the PC industry, mainly due it its ability to reliably
- handle higher data rates on operating systems with sluggish interrupt
- response times.
-
- <tag>NS16C552</tag>This component consists of two NS16C550A CMOS
- UARTs in a single package.
-
- <tag>PC16550D</tag>Same as NS16550A with subtle flaws corrected. This
- is revision D of the 16550 family and is the latest design available
- from National Semiconductor.
-</descrip>
-
-<sect4><heading>The NS16550AF and the PC16550D are the same thing</heading>
-
- <p>National reorganized their part numbering system a few years ago,
- and the NS16550AFN no longer exists by that name. (If you
- have a NS16550AFN, look at the date code on the part, which is a
- four digit number that usually starts with a nine. The first two
- digits of the number are the year, and the last two digits are the
- week in that year when the part was packaged. If you have a
- NS16550AFN, it is probably a few years old.)
-
- The new numbers are like PC16550DV, with minor differences in the
- suffix letters depending on the package material and its shape.
- (A description of the numbering system can be found below.)
-
- It is important to understand that in some stores, you may pay
- &dollar;15(US) for a NS16550AFN made in 1990 and in the next bin are the
- new PC16550DN parts with minor fixes that National has made since the
- AFN part was in production, the PC16550DN was probably made in the
- past six months and it costs half (as low as &dollar;5(US) in volume) as
- much as the NS16550AFN because they are readily available.
-
- As the supply of NS16550AFN chips continues to shrink, the price will
- probably continue to increase until more people discover and accept
- that the PC16550DN really has the same function as the old part
- number.
-
-<sect4><heading>National Semiconductor Part Numbering System</heading>
-
- <p>The older NS<em>nnnnnrqp</em> part numbers are now of the
- format PC<em>nnnnnrgp</em>.
-
- The "<em>r</em>" is the revision field. The current revision of
- the 16550 from National Semiconductor is "D".
-
- The "<em>p</em>" is the package-type field. The types are:
-<verb> "F" QFP (quad flat pack) L lead type
- "N" DIP (dual inline package) through hole straight lead type
- "V" LPCC (lead plastic chip carrier) J lead type</verb>
-
- The "<em>g</em>" is the product grade field. If an "I" precedes
- the package-type letter, it indicates an "industrial" grade part,
- which has higher specs than a standard part but not as high as
- Military Specification (Milspec) component. This is an optional field.
-
- So what we used to call a NS16550AFN (DIP Package) is now called a
- PC16550DN or PC16550DIN.
-
-
- <sect3><heading>Other Vendors and Similar UARTs</heading>
-
- <p>Over the years, the 8250, 8250A, 16450 and 16550 have been licensed
- or copied by other chip vendors. In the case of the 8250, 8250A
- and 16450, the exact circuit (the "megacell") was licensed to many
- vendors, including Western Digital and Intel. Other vendors
- reverse-engineered the part or produced emulations that had similar
- behavior.
-
- In internal modems, the modem designer will frequently emulate the
- 8250A/16450 with the modem microprocessor, and the emulated UART will
- frequently have a hidden buffer consisting of several hundred bytes.
- Because of the size of the buffer, these emulations can be as
- reliable as a 16550A in their ability to handle high speed data.
- However, most operating systems will still report that
- the UART is only a 8250A or 16450, and may not make effective use
- of the extra buffering present in the emulated UART unless special
- drivers are used.
-
- Some modem makers are driven by market forces to abandon a design
- that has hundreds of bytes of buffer and instead use a 16550A UART
- so that the product will compare favorably in market comparisons
- even though the effective performance may be lowered by this action.
-
- A common misconception is that all parts with "16550A" written on
- them are identical in performance. There are differences, and in
- some cases, outright flaws in most of these 16550A clones.
-
- When the NS16550 was developed, the National Semiconductor obtained
- several patents on the design and they also limited licensing, making
- it harder for other vendors to provide a chip with similar features.
- Because of the patents, reverse-engineered designs and emulations
- had to avoid infringing the claims covered by the patents.
- Subsequently, these copies almost never perform exactly the same as
- the NS16550A or PC16550D, which are the parts most computer and
- modem makers want to buy but are sometimes unwilling to pay the
- price required to get the genuine part.
-
- Some of the differences in the clone 16550A parts are unimportant,
- while others can prevent the device from being used at all with a
- given operating system or driver. These differences may show up
- when using other drivers, or when particular combinations of events
- occur that were not well tested or considered in the Windows driver.
- This is because most modem vendors and 16550-clone makers use the
- Microsoft drivers from Windows for Workgroups 3.11 and the Microsoft
- MSD utility as the primary tests for compatibility with the
- NS16550A. This over-simplistic criteria means that if a different
- operating system is used, problems could appear due to subtle
- differences between the clones and genuine components.
-
- National Semiconductor has made available a program named COMTEST
- that performs compatibility tests independent of any OS drivers.
- It should be remembered that the purpose of this type of program is
- to demonstrate the flaws in the products of the competition, so the
- program will report major as well as extremely subtle differences in
- behavior in the part being tested.
-
- In a series of tests performed by the author of this document in
- 1994, components made by National Semiconductor, TI, StarTech, and
- CMD as well as megacells and emulations embedded in internal modems
- were tested with COMTEST. A difference count for some of these
- components is listed below. Because these tests were performed in
- 1994, they may not reflect the current performance of the given
- product from a vendor.
-
- It should be noted that COMTEST normally aborts when an excessive
- number or certain types of problems have been detected. As part of
- this testing, COMTEST was modified so that it would not abort no
- matter how many differences were encountered.
-
-
-<verb>Vendor Part number Errors aka "differences" reported
-National (PC16550DV) 0 *
-
-National (NS16550AFN) 0
-
-National (NS16C552V) 0 *
-
-TI (TL16550AFN) 3
-
-CMD (16C550PE) 19
-
-StarTech (ST16C550J) 23
-
-Rockwell reference modem
- with internal 16550 or an
- emulation (RC144DPi/C3000-25) 117
-
-Sierra modem with an internal
- 16550 (SC11951/SC11351) 91</verb>
-
- <p>It is important to understand that a simple count of differences
- from COMTEST does not reveal a lot about what differences are
- important and which are not. For example, about half of the
- differences reported in the two modems listed above that have
- internal UARTs were caused by the clone UARTs not supporting
- five- and six-bit character modes. The real 16550, 16450, and
- 8250 UARTs all support these modes and COMTEST checks the
- functionality of these modes so over fifty differences are
- reported. However, almost no modern modem supports five- or
- six-bit characters, particularly those with error-correction
- and compression capabilities. This means that the differences
- related to five- and six-bit character modes can be discounted.
-
- Many of the differences COMTEST reports have to do with timing. In
- many of the clone designs, when the host reads from one port, the
- status bits in some other port may not update in the same amount
- of time (some faster, some slower) as a <em>real</em> NS16550AFN
- and COMTEST looks for these differences. This means that the number
- of differences can be misleading in that one device may only have
- one or two differences but they are extremely serious, and some
- other device that updates the status registers faster or slower
- than the reference part (that would probably never affect the
- operation of a properly written driver) could have dozens of
- differences reported.
-
- * To date, the author of this document has not found any non-National
- parts that report zero differences using the COMTEST program. It
- should also be noted that National has had five versions of the
- 16550 over the years and the newest parts behave a bit differently
- than the classic NS16550AFN that is considered the benchmark for
- functionality. COMTEST appears to turn a blind eye to the
- differences within the National product line and reports no errors
- on the National parts (except for the original 16550) even when
- there are official erratas that describe bugs in the A, B and C
- revisions of the parts, so this bias in COMTEST must be taken into
- account.
-
- COMTEST can be used as a screening tool to alert the administrator
- to the presence of potentially incompatible components
- that might cause problems or have to be handled as a special case.
-
- If you run COMTEST on a 16550 that is in a modem or a modem is
- attached to the serial port, you need to first issue a ATE0&amp;W
- command to the modem so that the modem will not echo any of the test
- characters. If you forget to do this, COMTEST will report at least
- this one difference:
- <quote>Error (6)...Timeout interrupt failed: IIR = c1 LSR = 61</quote>
-
-
- <sect3><heading>8250/16450/16550 Registers</heading>
-
- <p>The 8250/16450/16550 UART occupies eight contiguous I/O port
- addresses. In the IBM PC, there are two defined locations for
- these eight ports and they are known collectively as COM1 and COM2.
- The makers of PC-clones and add-on cards have created two additional
- areas known as COM3 and COM4, but these extra COM ports conflict
- with other hardware on some systems. The most common conflict is
- with video adapters that provide IBM 8514 emulation.
-
-<verb>
-COM1 is located from 0x3f8 to 0x3ff and normally uses IRQ 4
-COM2 is located from 0x2f8 to 0x2ff and normally uses IRQ 3
-COM3 is located from 0x3e8 to 0x3ef and has no standardized IRQ
-COM4 is located from 0x2e8 to 0x2ef and has no standardized IRQ
-</verb>
-<p>A description of the I/O ports of the 8250/16450/16550 UART is
-provided below.
-
-<verb>
-I/O Access Description
-Port Allowed
-
-+0x00 write Transmit Holding Register (THR)
- (DLAB==0) Information written to this port are treated
- as data words and will be transmitted by the
- UART.
-
-+0x00 read Receive Buffer Register (RBR)
- (DLAB==0) Any data words received by the UART from the
- serial link are accessed by the host by
- reading this port.
-
-
-+0x00 write/read Divisor Latch LSB (DLL)
- (DLAB==1) This value will be divided from the master
- input clock (in the IBM PC, the master
- clock is 1.8432MHz) and the resulting clock
- will determine the baud rate of the UART.
- This register holds bits 0 thru 7 of the
- divisor.
-
-
-+0x01 write/read Divisor Latch MSB (DLH)
- (DLAB==1) This value will be divided from the master
- input clock (in the IBM PC, the master
- clock is 1.8432MHz) and the resulting clock
- will determine the baud rate of the UART.
- This register holds bits 8 thru 15 of the
- divisor.
-
-
-+0x01 write/read Interrupt Enable Register (IER)
- (DLAB==0) The 8250/16450/16550 UART classifies events into
- one of four categories. Each category can be
- configured to generate an interrupt when any of
- the events occurs. The 8250/16450/16550 UART
- generates a single external interrupt signal
- regardless of how many events in the enabled
- categories have occurred. It is up to the host
- processor to respond to the interrupt and then
- poll the enabled interrupt categories (usually
- all categories have interrupts enabled) to
- determine the true cause(s) of the interrupt.
-
- Bit 7 Reserved, always 0.
-
- Bit 6 Reserved, always 0.
-
- Bit 5 Reserved, always 0.
-
- Bit 4 Reserved, always 0.
-
- Bit 3 Enable Modem Status Interrupt (EDSSI)
- Setting this bit to "1" allows the UART
- to generate an interrupt when a
- change occurs on one or more of the
- status lines.
-
- Bit 2 Enable Receiver Line Status
- Interrupt (ELSI)
- Setting this bit to "1" causes the UART
- to generate an interrupt when the
- an error (or a BREAK signal) has been
- detected in the incoming data.
-
- Bit 1 Enable Transmitter Holding Register
- Empty Interrupt (ETBEI)
- Setting this bit to "1" causes the UART
- to generate an interrupt when the
- UART has room for one or more
- additional characters that are to
- be transmitted.
-
- Bit 0 Enable Received Data Available
- Interrupt (ERBFI)
- Setting this bit to "1" causes the UART
- to generate an interrupt when the UART
- has received enough characters to exceed
- the trigger level of the FIFO, or the
- FIFO timer has expired (stale data), or
- a single character has been received
- when the FIFO is disabled.
-
-
-+0x02 write FIFO Control Register (FCR)
- (This port does not exist on the 8250 and 16450
- UART.)
-
- Bit 7 Receiver Trigger Bit #1
- Bit 6 Receiver Trigger Bit #0
- These two bits control at what point the
- receiver is to generate an interrupt when
- the FIFO is active.
-
- 7 6 How many words are received
- before an interrupt is generated.
- 0 0 1
-
- 0 1 4
-
- 1 0 8
-
- 1 1 14
-
- Bit 5 Reserved, always 0.
-
- Bit 4 Reserved, always 0.
-
- Bit 3 DMA Mode Select
- If Bit 0 is set to "1" (FIFOs enabled),
- setting this bit changes the operation
- of the -RXRDY and -TXRDY signals from
- Mode 0 to Mode 1.
-
- Bit 2 Transmit FIFO Reset
- When a "1" is written to this bit,
- the contents of the FIFO are discarded.
- Any word currently being transmitted
- will be sent intact. This function is
- useful in aborting transfers.
-
- Bit 1 Receiver FIFO Reset
- When a "1" is written to this bit,
- the contents of the FIFO are discarded.
- Any word currently being assembled
- in the shift register will be received
- intact.
-
- Bit 0 16550 FIFO Enable
- When set, both the transmit and receive
- FIFOs are enabled. Any contents in the
- holding register, shift registers or
- FIFOs are lost when FIFOs are enabled or
- disabled.
-
-
-+0x02 read Interrupt Identification Register (IIR)
-
- Bit 7 FIFOs enabled.
- On the 8250/16450 UART, this bit is zero.
-
- Bit 6 FIFOs enabled.
- On the 8250/16450 UART, this bit is zero.
-
- Bit 5 Reserved, always 0.
-
- Bit 4 Reserved, always 0.
-
- Bit 3 Interrupt ID Bit #2
- On the 8250/16450 UART, this bit is zero.
- Bit 2 Interrupt ID Bit #1
- Bit 1 Interrupt ID Bit #0
- These three bits combine to report
- the category of event that caused the
- interrupt that is in progress. These
- categories have priorities, so if
- multiple categories of events occur at
- the same time, the UART will report the
- more important events first and the host
- must resolve the events in the order they
- are reported. All events that caused the
- current interrupt must be resolved before
- any new interrupts will be generated.
- (This is a limitation of the PC
- architecture.)
-
- 2 1 0 Priority Description
-
- 0 1 1 First Receiver Error
- (OE, PE, BI or FE)
-
- 0 1 0 Second Received Data
- Available
-
- 1 1 0 Second Trigger level
- identification
- (Stale data in
- receive buffer)
-
- 0 0 1 Third Transmitter has
- room for more
- words (THRE)
-
- 0 0 0 Fourth Modem Status
- Change (-CTS,
- -DSR, -RI, or
- -DCD)
-
- Bit 0 Interrupt Pending Bit
- If this bit is set to "0", then at least
- one interrupt is pending.
-
-
-+0x03 write/read Line Control Register (LCR)
-
- Bit 7 Divisor Latch Access Bit (DLAB)
- When set, access to the data
- transmit/receive register (THR/RBR) and
- the Interrupt Enable Register (IER) is
- disabled. Any access to these ports is
- now redirected to the Divisor Latch
- Registers. Setting this bit, loading
- the Divisor Registers, and clearing
- DLAB should be done with interrupts
- disabled.
-
- Bit 6 Set Break
- When set to "1", the transmitter begins
- to transmit continuous Spacing until
- this bit is set to "0". This overrides
- any bits of characters that are being
- transmitted.
-
- Bit 5 Stick Parity
- When parity is enabled, setting this
- bit causes parity to always be "1" or
- "0", based on the value of Bit 4.
-
- Bit 4 Even Parity Select (EPS)
- When parity is enabled and Bit 5 is "0",
- setting this bit causes even parity
- to be transmitted and expected.
- Otherwise, odd parity is used.
-
- Bit 3 Parity Enable (PEN)
- When set to "1", a parity bit is
- inserted between the last bit of the
- data and the Stop Bit. The UART will
- also expect parity to be present in
- the received data.
-
- Bit 2 Number of Stop Bits (STB)
- If set to "1" and using 5-bit data words,
- 1.5 Stop Bits are transmitted and
- expected in each data word. For 6, 7
- and 8-bit data words, 2 Stop Bits are
- transmitted and expected. When this bit
- is set to "0", one Stop Bit is used on
- each data word.
-
- Bit 1 Word Length Select Bit #1 (WLSB1)
- Bit 0 Word Length Select Bit #0 (WLSB0)
- Together these bits specify the number
- of bits in each data word.
-
- 1 0 Word Length
-
- 0 0 5 Data Bits
- 0 1 6 Data Bits
- 1 0 7 Data Bits
- 1 1 8 Data Bits
-
-
-+0x04 write/read Modem Control Register (MCR)
-
- Bit 7 Reserved, always 0.
-
- Bit 6 Reserved, always 0.
-
- Bit 5 Reserved, always 0.
-
- Bit 4 Loop-Back Enable
- When set to "1", the UART transmitter
- and receiver are internally connected
- together to allow diagnostic operations.
- In addition, the UART modem control
- outputs are connected to the UART modem
- control inputs. CTS is connected to RTS,
- DTR is connected to DSR, OUT1 is
- connected to RI, and OUT 2 is connected
- to DCD.
-
- Bit 3 OUT 2
- An auxiliary output that the host
- processor may set high or low.
- In the IBM PC serial adapter (and most
- clones), OUT 2 is used to tri-state
- (disable) the interrupt signal from the
- 8250/16450/16550 UART.
-
- Bit 2 OUT 1
- An auxiliary output that the host
- processor may set high or low.
- This output is not used on the IBM PC
- serial adapter.
-
- Bit 1 Request to Send (RTS)
- When set to "1", the output of the UART
- -RTS line is Low (Active).
-
- Bit 0 Data Terminal Ready (DTR)
- When set to "1", the output of the UART
- -DTR line is Low (Active).
-
-
-+0x05 write/read Line Status Register (LSR)
-
- Bit 7 Error in Receiver FIFO
- On the 8250/16450 UART, this bit is zero.
- This bit is set to "1" when any of
- the bytes in the FIFO have one or more
- of the following error conditions: PE,
- FE, or BI.
-
- Bit 6 Transmitter Empty (TEMT)
- When set to "1", there are no words
- remaining in the transmit FIFO or the
- transmit shift register. The
- transmitter is completely idle.
-
- Bit 5 Transmitter Holding Register Empty (THRE)
- When set to "1", the FIFO (or holding
- register) now has room for at least one
- additional word to transmit. The
- transmitter may still be transmitting
- when this bit is set to "1".
-
- Bit 4 Break Interrupt (BI)
- The receiver has detected a Break signal.
-
- Bit 3 Framing Error (FE)
- A Start Bit was detected but the Stop
- Bit did not appear at the expected time.
- The received word is probably garbled.
-
- Bit 2 Parity Error (PE)
- The parity bit was incorrect for the
- word received.
-
- Bit 1 Overrun Error (OE)
- A new word was received and there
- was no room in the receive buffer. The
- newly-arrived word in the shift
- register is discarded. On 8250/16450
- UARTs, the word in the holding
- register is discarded and the newly-
- arrived word is put in the holding
- register.
-
- Bit 0 Data Ready (DR)
- One or more words are in the
- receive FIFO that the host may read.
- A word must be completely received
- and moved from the shift register into
- the FIFO (or holding register for
- 8250/16450 designs) before this bit is
- set.
-
-
-+0x06 write/read Modem Status Register (MSR)
-
- Bit 7 Data Carrier Detect (DCD)
- Reflects the state of the DCD line
- on the UART.
-
- Bit 6 Ring Indicator (RI)
- Reflects the state of the RI line on
- the UART.
-
- Bit 5 Data Set Ready (DSR)
- Reflects the state of the DSR line on
- the UART.
-
- Bit 4 Clear To Send (CTS)
- Reflects the state of the CTS line on
- the UART.
-
- Bit 3 Delta Data Carrier Detect (DDCD)
- Set to "1" if the -DCD line has changed
- state one more more times since the last
- time the MSR was read by the host.
-
- Bit 2 Trailing Edge Ring Indicator (TERI)
- Set to "1" if the -RI line has had a
- low to high transition since the last
- time the MSR was read by the host.
-
- Bit 1 Delta Data Set Ready (DDSR)
- Set to "1" if the -DSR line has changed
- state one more more times since the last
- time the MSR was read by the host.
-
- Bit 0 Delta Clear To Send (DCTS)
- Set to "1" if the -CTS line has changed
- state one more more times since the last
- time the MSR was read by the host.
-
-
-+0x07 write/read Scratch Register (SCR)
- This register performs no function in the
- UART. Any value can be written by the host to
- this location and read by the host later on.
-</verb>
-
- <sect3><heading>Beyond the 16550A UART</heading>
-
- <p>Although National Semiconductor has not offered any components
- compatible with the 16550 that provide additional features,
- various other vendors have. Some of these components are described
- below. It should be understood that to effectively utilize these
- improvements, drivers may have to be provided by the chip vendor
- since most of the popular operating systems do not support features
- beyond those provided by the 16550.
-
-<descrip>
-<tag>ST16650</tag>By default this part is similar to the NS16550A, but an
- extended 32-byte send and receive buffer can be optionally
- enabled. Made by Startech.
-
-<tag>TIL16660</tag>By default this part behaves similar to the NS16550A,
- but an extended 64-byte send and receive buffer can be
- optionally enabled. Made by Texas Instruments.
-
-<tag>Hayes ESP</tag>This proprietary plug-in card contains a 2048-byte
- send and receive buffer, and supports data rates
- to 230.4Kbit/sec. Made by Hayes.
-</descrip>
-
- <p>In addition to these "dumb" UARTs, many vendors produce
- intelligent serial communication boards. This type of design
- usually provides a microprocessor that interfaces with several
- UARTs, processes and buffers the data, and then alerts the main
- PC processor when necessary. Because the UARTs are not directly
- accessed by the PC processor in this type of communication system,
- it is not necessary for the vendor to use UARTs that are compatible
- with the 8250, 16450, or the 16550 UART. This leaves the
- designer free to components that may have better performance
- characteristics.
-
-<!-- 601131 ? -->
-
diff --git a/share/doc/handbook/userppp.sgml b/share/doc/handbook/userppp.sgml
deleted file mode 100644
index 1bc7aae..0000000
--- a/share/doc/handbook/userppp.sgml
+++ /dev/null
@@ -1,751 +0,0 @@
-<!-- $Id: userppp.sgml,v 1.16 1997/05/12 16:29:48 brian Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<sect>Setting up user PPP<label id="userppp">
-
-<!-- This FAQ/HowTo is intended to get you up and running with
- iijppp, also known as <em>user level ppp</em> or just
- simply <em>ppp</em> for FreeBSD 2.0.5 and above.
-
-<p>It also outlines how to use iijppp as a ppp server.
-
-<p>This document has originally written by Nik Clayton, and has
- turned into a collaborative effort over the years.
-
--->
-
-<p>User PPP was introduced to FreeBSD in release 2.0.5 as an
- addition to the existing kernel implementation of PPP. So,
- what is different about this new PPP that warrants its
- addition? To quote from the manual page:
-
-<quote>
- This is a user process PPP software package. Normally, PPP is
- implemented as a part of the kernel (e.g. as managed by pppd) and
- it is thus somewhat hard to debug and/or modify its behavior. However,
- in this implementation PPP is done as a user process with the help of
- the tunnel device driver (tun).
-</quote>
-
- In essence, this means that rather than running a PPP daemon, the ppp
- program can be run as and when desired. No PPP interface needs to be
- compiled into the kernel, as the program can use the generic tunnel
- device to get data into and out of the kernel.
-
- From here on out, user ppp will be referred to simply as ppp unless a
- distinction needs to be made between it and any other PPP client/server
- software. Unless otherwise stated, all commands in this section should
- be executed as root.
-
-<sect1><heading>Before you start</heading>
-
-<p>This document assumes you are in roughly this position:
-
- You have an account with an Internet Service Provider (ISP) which lets you
- use PPP. Further, you have a modem (or other device) connected and
- configured correctly which allows you to connect to your ISP.
-
- You are going to need the following information to hand:
-
-<itemize>
- <item>The IP address of your ISP's gateway. The gateway is the
- machine to which you will connect and will
- be set up as your <tt>default route</tt>.
-
- <item>Your ISP's netmask setting. If you can't determine this,
- assume a netmask of 0xffffff00.
-
- <item>The IP addresses of one or more nameservers. Normally, you
- will be given two IP numbers.
-
- <item>If your ISP allocates you a static IP address and/or hostname
- then you will need that as well. If not, you will need to know
- from what range of IP addresses your allocated IP address will
- belong. If you havn't been given this range, you can accept
- any IP number (as explained later).
-</itemize>
-
- If you do not have any of this information then contact your ISP and make
- sure they provide it to you.
-
- In addition, it is assumed that because your connection to the
- Internet is not full time you are not running a name server
- (<tt>named(8)</tt>). If this is not the case, ignore any
- information on setting up the <tt>/etc/resolv.conf</tt> file.
-
-<sect1><heading>Building a ppp ready kernel</heading>
-
-<p>As the description states, ``ppp'' uses the kernel ``tun'' device.
- It is necessary to make sure that your kernel has support for this
- device compiled in.
-
- To check this, go to your kernel compile directory (probably
- /sys/i386/conf) and examine your kernel configuration file.
- It needs to have the line
-
-<tscreen><verb>
- pseudo-device tun 1
-</verb></tscreen>
-
- in it somewhere. The stock GENERIC kernel has this as standard, so
- if you have not installed a custom kernel or you do not have a /sys
- directory, you do not have to change anything.
- If your kernel configuration file does not have this line in it, or
- you need to configure more than one tun device (for example, if
- you are setting up a server and could have 16 dialup ppp connections
- at any one time then you will need to use ``16'' instead of ``1''),
- then you should add the line, re-compile, re-install and boot the new
- kernel. Please refer to the
- <ref id="kernelconfig" name="Configuring the FreeBSD Kernel">
- section for more information on kernel configuration.
-
-<p>You can check how many tunnel devices your current kernel has by
- typing the following:
-
-<tscreen><verb>
- # ifconfig -a
- tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
- inet 200.10.100.1 --> 203.10.100.24 netmask 0xffffffff
- tun1: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 576
- tun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
- inet 203.10.100.1 --> 203.10.100.20 netmask 0xffffffff
- tun3: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500
-</verb></tscreen>
-
- which in this case shows four tunnel devices, two of which are
- currently configured and being used.
-
-<p>If you have a kernel without the tun device, and you can not
- rebuild it for some reason, all is not lost. You should be
- able to dynamically load the code. Refer to the appropriate
- modload(8) and lkm(4) pages for further details.
-
-<p>You may also wish to take this opportunity to configure a firewall.
- Details can be found in the <ref id="firewalls" name="Firewalls">
- section.
-
-<sect1><heading>Check the tun device</heading>
-
-<p>Most users will only require one ``tun'' device (tun0). If you have
- used more (i.e., a number other than `1' in the pseudo-device line
- in the kernel configuration file) then alter all references to ``tun0''
- below to reflect whichever device number you are using.
-
- The easiest way to make sure that the tun0 device is configured correctly
- is to re-make it. To this end, execute the following commands:
-
-<tscreen><verb>
- # cd /dev
- # ./MAKEDEV tun0
-</verb></tscreen>
-
-<p>If you require 16 tunnel devices in your kernel, you will need to
- create more than just tun0:
-
-<tscreen><verb>
- # cd /dev
- # ./MAKEDEV tun0 tun1 tun2 tun3 tun4 tun5 tun6 tun7 tun8 tun9
- # ./MAKEDEV tun10 tun11 tun12 tun13 tun14 tun15
-</verb></tscreen>
-
-<p>Also, to confirm that the kernel is configured correctly,
- the following command should give the indicated output:
-
-<tscreen><verb>
- $ ifconfig tun0
- tun0: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500
- $
-</verb></tscreen>
-
-<sect1><heading>PPP Name Resolution Configuration</heading>
-
-<p>The resolver is the part of the networking system that turns IP
- addresses into hostnames and vice versa. It can be configured
- to look for maps that describe IP to hostname mappings in one
- of two places. The first is a file called <tt>/etc/hosts</tt>
- (<tt>man 5 hosts</tt>). The second is the Internet Domain Name
- Service (DNS), a distributed data base, the discussion of which
- is beyond the scope of this document.
-
-<p>This section describes briefly how to configure your resolver. If
- you are already running a DNS, this section may be skipped.
-
-<p>The resolver is a set of system calls that do the name mappings, but
- you have to tell them where to get their information from. You do
- this by first editing the file <tt>/etc/host.conf</tt>. Do
- <bf>not</bf> call this file <tt>/etc/hosts.conf</tt> (note the extra
- ``s'') as the results can be confusing.
-
-<sect2><heading>Edit the /etc/host.conf file</heading>
-
-<p>This file should contain the following two lines:
-
-<tscreen><verb>
- hosts
- bind
-</verb></tscreen>
- which instructs the resolver to first look in the file
- <tt>/etc/hosts</tt>, and then to consult the DNS if the
- name was not found.
-
-<sect2><heading>Edit the /etc/hosts(5) file</heading>
-
-<p>This file should contain the IP addresses and names of machines on your
- network. At a bare minimum it should contain entries for the machine
- which will be running ppp. Assuming that your machine is called
- foo.bar.com with the IP address 10.0.0.1, <tt>/etc/hosts</tt> should
- contain:
-
-<tscreen><verb>
- 127.0.0.1 localhost
- 10.0.0.1 foo.bar.com foo
-</verb></tscreen>
-
- The first line defines the alias ``localhost'' as a synonym for the
- current machine. Regardless of your own IP address, the IP address for
- this line should always be 127.0.0.1. The second line maps the name
- ``foo.bar.com'' (and the shorthand ``foo'') to the IP address 10.0.0.1.
-
- If your provider allocates you a static IP address then use this in place
- of 10.0.0.1.
-
-<sect2><heading>Edit the /etc/resolv.conf file</heading>
-
-<p><tt>/etc/resolv.conf</tt> contains some extra information required when
- you are not running a nameserver. It points the resolver routines at real
- nameservers, and specifies some other information.
-
- At the very least, <tt>/etc/resolv.conf</tt> should contain one line with
- a nameserver which can be queried, but two nameservers are preferable.
- You should enter these as IP addresses, for example:
-
-<tscreen><verb>
- nameserver 1.2.3.4
- nameserver 1.2.3.5
-</verb></tscreen>
-
- Add as many ``nameserver'' lines as your ISP provides nameservers.
- Refer to the resolv.conf manual page for further details of entries
- in this file.
-
-<sect1><heading>PPP Configuration</heading>
-
-<p>Both user ppp and pppd (the kernel level implementation of PPP)
- use configuration files located in the <tt>/etc/ppp</tt> directory.
- The sample configuration files provided are a good reference for
- user ppp, so don't delete them.
-
-<p>Configuring ppp requires that you edit up to three files, depending
- on your requirements. What you put in them depends to some extent
- on whether your ISP allocates IP addresses statically (i.e., you get
- given one IP address, and always use that one) or dynamically (i.e.,
- your IP address can be different during different PPP sessions).
-
-<sect2><heading>PPP and static IP addresses</heading>
-
-<p>You will need to create three files in the <tt>/etc/ppp</tt>
- directory.
-
-<p>The first of these files is <tt>ppp.conf</tt>. It should look
- similar to the example below. Note that lines that end in a
- ``:'' start in column 1, all other lines should be indented as
- shown using spaces or tabs.
-
- <tt>/etc/ppp/ppp.conf</tt>
-<tscreen><verb>
-1 default:
-2 set device /dev/cuaa0
-3 set speed 38400
-4 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0 OK-AT-OK
-\\dATDT\\T TIMEOUT 40 CONNECT"
-5 provider:
-6 set phone 01234567890
-7 set login "TIMEOUT 10 gin:-BREAK-gin: foo word: bar col: ppp"
-8 set timeout 120
-9 set ifaddr x.x.x.x y.y.y.y
-10 delete ALL
-11 add 0 0 y.y.y.y
-12 set openmode active
-</verb></tscreen>
- Do not include the line numbers, they are just for reference in
- this discussion.
-
-<descrip>
-<tag/Line 1:/ Identifies the default entry. Commands in this entry are
- executed automatically when ppp is run.
-
-<tag/Line 2:/ Identifies the device to which the modem is connected.
- COM1: is <tt>/dev/cuaa0</tt> and COM2: is <tt>/dev/cuaa1</tt>.
-
-<tag/Line 3:/ Sets the speed you want to connect at.
-
-<tag/Line 4:/ The dial string. User ppp uses an expect-send syntax similar
- to the <tt>chat(8)</tt> program. Refer to the manual page
- for information on the features of this language.
-
-<tag/Line 5:/ Identifies an entry for a provider called ``provider''.
-
-<tag/Line 6:/ Sets the phone number for this provider. Multiple phone
- numbers may be specified using the `:' character as a
- seperator.
-
-<tag/Line 7:/ The login string. The login string is of the same
- syntax as the dial string. In this example, the string is
- for a service who's login session looks like
-
-<tscreen><verb>
- J. Random Provider
- login: foo
- password: bar
- protocol: ppp
-</verb></tscreen>
-
- You will need to alter this script to suit your own needs.
-
-<tag/Line 8:/ Sets the default timeout (in seconds) for the connection.
- Here, the connection will be closed automatically after
- 120 seconds of inactivity.
-
-<tag/Line 9:/ Sets the interface addresses. The string x.x.x.x should be
- replaced by the IP address that your provider allocates you.
- The string y.y.y.y should be replaced by the IP address that
- your ISP indicated for their gateway (the machine to which
- you connect).
-
-<tag/Line 10:/ Deletes all existing routing table entries for the
- acquired tun device.
-
-<tag/Line 11:/ Adds a default route to your ISPs IP number. The IP
- number should always be that of your ISPs gateway.
-
-<tag/Line 12:/ Tells our side to begin negotiation. This is not always
- necessary, but it does no harm to have both sides initiating
- the Line Control Protocol (LCP).
-</descrip>
-
-<p>The second of these files is <tt>/etc/ppp/ppp.linkup</tt>:
-
-<tscreen><verb>
- x.x.x.x:
- delete ALL
- add 0 0 HISADDR
-</verb></tscreen>
-
-<p>Replace x.x.x.x with your IP address as before. This file is used to
- automatically delete all existing routes for the acquired line and
- add a default route from your ISP (who's address is automatically
- inserted with the HISADDR macro) to you.
-
-<p>With a static IP number assigned by your ISP, you don't actually
- need an entry in <tt>/etc/ppp.linkup</tt>, but again, it doesn't
- do any harm to have it.
-
-<p>Finally, the third of these files is <tt>/etc/ppp/ppp.secret</tt>.
- This file allows you to set some passwords to control access to
- your ppp server. You may or may not want to configure this file,
- depending on how many people have access to your ppp system.
-
-<p>Examples can be found in the <tt>/etc/ppp</tt> directory.
-
-<sect2><heading>PPP and Dynamic IP addresses</heading>
-
-<p>If your service provider does not assign static IP numbers,
- <tt>ppp</tt> can be configured to negotiate the local and
- remote addresses. This is done by "guessing" an IP number
- and allowing ppp to set it up correctly using the LCP at
- connection time. Otherwise, the configuration is the same as
- that of a static IP configuration.
-
-<p>Put the following lines in your <tt>ppp.conf</tt> file:
-
-<tscreen><verb>
- ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0
- delete ALL
- add 0 0 10.0.0.2
-</verb></tscreen>
-
-<p>You should NOT use 0 as either IP address. If you do, ppp will not be
- able to set up the correct initial entries in the routing table.
-
-<p>The number after the ``/'' character is the number of bits of
- the address that ppp will insist on.
-
-<p>Note also that the HISADDR macro is not yet available in
- <tt>ppp.conf</tt>, only in <tt>ppp.linkup</tt>.
-
-<p>See the pmdemand entry in the files <tt>/etc/ppp/ppp.conf.sample</tt> and
- <tt>/etc/ppp/ppp.linkup.sample</tt> for a detailed example.
-
-<sect2><heading>Receiving incoming calls with PPP</heading>
-
-<p>This section describes setting up iijppp in a server role.
-
-<p>When you configure <tt>ppp</tt> to receive incoming calls, you
- must decide whether you wish to forward packets for just
- <tt>ppp</tt> connections, for all interfaces, or not at all.
- To forward for just ppp connections, include the line
-
-<tscreen><verb>
- enable proxy
-</verb></tscreen>
-
- in your <tt>ppp.conf</tt> file. If you wish to forward packets on all
- interfaces, use the
-
-<tscreen><verb>
- gateway=YES
-</verb></tscreen>
-
- option in <tt>/etc/rc.conf</tt> (this file used to be called
- <tt>/etc/sysconfig</tt>).
-
-<sect3><heading>Which getty?</heading>
-
-<p><ref id="dialup" name="Configuring FreeBSD for Dialup Services">
- provides a good description on enabling dialup services using getty.
-
-<p>An alternative to getty is
- <url url="http://www.leo.org/~doering/mgetty/index.html" name="mgetty">,
- a smarter version of getty designed with dialup lines in mind.
-
-<p>The advantages of using mgetty is that it actively <em>talks</em> to
- modems, meaning if port is turned off in <tt>/etc/ttys</tt> then
- your modem won't answer the phone.
-
-<p>Later versions of mgetty (from 0.99beta onwards) also support the
- automatic detection of PPP streams, allowing your clients script-less
- access to your server.
-
-<p>Obtaining and configuring mgetty correctly is beyond the scope of
- this document.
-
-<sect3><heading>Setting up a PPP shell for dynamic-IP users</heading>
-
-<p>Create a file called <tt>/etc/ppp/ppp-shell</tt> containing the
- following:
-
-<tscreen><verb>
- #!/bin/sh
- IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
- CALLEDAS="$IDENT"
- TTY=`tty`
-
- if [ x$IDENT = xdialup ]; then
- IDENT=`basename $TTY`
- fi
-
- echo "PPP for $CALLEDAS on $TTY"
- echo "Starting PPP for $IDENT"
-
- exec /usr/sbin/ppp -direct $IDENT
-</verb></tscreen>
-
-<p>This script should be executable. Now make a symbolic link called
- <tt>ppp-dialup</tt> to this script using the following commands:
-
-<tscreen><verb>
- # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-dialup
-</verb></tscreen>
-
-<p>You should use this script as the <em>shell</em> for all your dialup
- ppp users. This is an example from <tt>/etc/password</tt>
- for a dialup PPP user with username pchilds. (remember don't directly
- edit the password file, use <tt>vipw</tt>)
-
-<tscreen><verb>
- pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup
-</verb></tscreen>
-
-<p>Create a <tt>/home/ppp</tt> directory that is world readable
- containing the following 0 byte files
-
-<tscreen><verb>
- -r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin
- -r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts
-</verb></tscreen>
-
- which prevents <tt>/etc/motd</tt> from being displayed.
-
-<sect3><heading>Setting up a PPP shell for static-IP users</heading>
-
-<p>Create the <tt>ppp-shell</tt> file as above and for each account with
- statically assigned IPs create a symbolic link to <tt>ppp-shell</tt>.
-
-<p>For example, if you have three dialup customers fred, sam, and mary,
- that you route class C networks for, you would type the following:
-
-<tscreen><verb>
- # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
- # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
- # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary
-</verb></tscreen>
-
-<p>Each of these users dialup accounts should have their shell set
- to the symbolic link created above. (ie. mary's shell should be
- <tt>/etc/ppp/ppp-mary</tt>).
-
-<sect3><heading>Setting up ppp.conf for dynamic-IP users</heading>
-
-<p>The <tt>/etc/ppp/ppp.conf</tt> file should contain something along
- the lines of
-
-<tscreen><verb>
- default:
- set debug phase lcp chat
- set timeout 0
-
- ttyd0:
- set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
- enable proxy
-
- ttyd1:
- set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
- enable proxy
-</verb></tscreen>
-
-<p>Note the indenting is important.
-
-<p>The <tt>default:</tt> section is loaded for each session. For each
- dialup line enabled in <tt>/etc/ttys</tt> create an entry similar
- to the one for <tt>ttyd0:</tt> above. Each line should get a unique
- IP from your pool of ip address for dynamic users.
-
-<sect3><heading>Setting up ppp.conf for static-IP users</heading>
-
-<p>Along with the contents of the sample <tt>/etc/ppp/ppp.conf</tt>
- above you should add a section for each of the statically assigned
- dialup users. We will continue with our fred, sam, and mary example.
-
-<tscreen><verb>
- fred:
- set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255
-
- sam:
- set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255
-
- mary:
- set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255
-</verb></tscreen>
-
-<p>The file <tt>/etc/ppp/ppp.linkup</tt> should also contain routing
- information for each static IP user if required. The line below
- would add a route for the <tt>203.14.101.0</tt> class C via
- the client's ppp link.
-
-<tscreen><verb>
- fred:
- add 203.14.101.0 netmask 255.255.255.0 HISADDR
-
- sam:
- add 203.14.102.0 netmask 255.255.255.0 HISADDR
-
- mary:
- add 203.14.103.0 netmask 255.255.255.0 HISADDR
-</verb></tscreen>
-
-<sect3><heading>More on mgetty, AutoPPP, and MS extensions</heading>
-
-<sect4><heading>Mgetty and AutoPPP</heading>
-
-<p>Configuring and compiling mgetty with the AUTO_PPP option enabled
- allows mgetty to detect the LCP phase of PPP connections and automatically
- spawn off a ppp shell. However, since the default login/password sequence
- does not occur it is necessary to authenticate users using either PAP
- or CHAP.
-
-<p>This section assumes the user has successfully configured, compiled, and
- installed a version of mgetty with the AUTO_PPP option (v0.99beta or later)
-
-<p>Make sure your <tt>/usr/local/etc/mgetty+sendfax/login.config</tt> file
- has the following in it:
-
-<tscreen><verb>
- /AutoPPP/ - - /etc/ppp/ppp-pap-dialup
-</verb></tscreen>
-
-<p>This will tell mgetty to run the <tt>ppp-pap-dialup</tt> script for
- detected PPP connections.
-
-<p>Create a file called <tt>/etc/ppp/ppp-pap-dialup</tt> containing the
- following (the file should be executable):
-
-<tscreen><verb>
- #!/bin/sh
- TTY=`tty`
- IDENT=`basename $TTY`
- exec /usr/sbin/ppp -direct pap$IDENT
-</verb></tscreen>
-
-<p>For each dialup line enabled in <tt>/etc/ttys</tt> create a corresponding
- entry in <tt>/etc/ppp/ppp.conf</tt>. This will happily co-exist with
- the definitions we created above.
-
-<tscreen><verb>
- papttyd0:
- enable pap
- set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
- enable proxy
-
- papttyd1:
- enable pap
- set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
- enable proxy
-</verb></tscreen>
-
-<p>Each user logging in with this method will need to have a username/password
- in <tt>/etc/ppp/ppp.secret</tt> file, or alternatively add the
-
-<tscreen><verb>
- enable passwdauth
-</verb></tscreen>
-
- option to authenticate users via pap from the <tt>/etc/password</tt>d
- file. (*)
-
-<p>(*) Note this option only available in 2.2-961014-SNAP or later, or by
- getting the updated ppp code for 2.1.x. (see MS extensions below for details)
-
-<sect4><heading>MS extentions</heading>
-
-<p>From 2.2-961014-SNAP onwards it is possible to allow the automatic
- negotiation of DNS and NetBIOS name servers with clients supporting
- this feature (namely Win95/NT clients). See RFC1877 for more details
- on the protocol.
-
-<p>An example of enabling these extensions in your
- <tt>/etc/ppp/ppp.conf</tt> file is illustrated below.
-
-<tscreen><verb>
- default:
- set debug phase lcp chat
- set timeout 0
- enable msext
- set ns 203.14.100.1 203.14.100.2
- set nbns 203.14.100.5
-</verb></tscreen>
-
-<p>This will tell the clients the primary and secondary
- name server addresses, and a netbios nameserver host.
-
-<sect1><heading>Final system configuration</heading>
-
-<p>You now have PPP configured, but there are a few more things to
- do before it is ready to work. They all involve editing the
- <tt>/etc/rc.conf</tt> file (was <tt>/etc/sysconfig</tt>).
-
- Working from the top down in this file, make sure the ``hostname='' line
- is set, e.g.:
-
-<tscreen><verb>
- hostname=foo.bar.com
-</verb></tscreen>
-
-<p>Look for the network_interfaces variable. If you want to configure
- your system to dial your ISP on demand, make sure the tun0 device is
- added to the list, otherwise remove it.
-
-<tscreen><verb>
- network_interfaces="lo0 tun0"
- ifconfig_tun0=
-</verb></tscreen>
-
- Note, the <tt>ifconfig_tun0</tt> variable should be empty, and
- a file called /etc/start_if.tun0 should be created. This file
- should contain the line
-
-<tscreen><verb>
- ppp -auto mysystem
-</verb></tscreen>
-
- This script is executed at network configuration time, starting
- your ppp daemon in automatic mode.
-
-<p>Set the router program to ``NO'' with the line
-
-<tscreen><verb>
- router_enable=NO (/etc/rc.conf)
- router=NO (/etc/sysconfig)
-</verb></tscreen>
-
- It is important that the <tt>routed</tt> daemon is not started
- (the default) as <tt>routed</tt> tends to delete the default
- routing table entries created by ppp.
-
-<p>It is probably worth your while ensuring that the ``sendmail_flags'' line
- does not include the ``-q'' option, otherwise sendmail will attempt to do
- a network lookup every now and then, possibly causing your machine to dial
- out. You may try:
-
-<tscreen><verb>
- sendmail_flags="-bd"
-</verb></tscreen>
-
- The upshot of this is that you must force sendmail to re-examine the
- mail queue whenever the ppp link is up by typing:
-
-<tscreen><verb>
- # /usr/sbin/sendmail -q
-</verb></tscreen>
-
- If you don't like this, it is possible to set up a "dfilter" to block
- SMTP traffic. Refer to the sample files for further details. You
- can also use a script in the <tt>ppp.linkup</tt> file to execute this
- command.
-
- All that is left is to reboot the machine.
-
- You can now either type
-<tscreen><verb>
- # ppp
-</verb></tscreen>
-
- and then ``dial provider'' to start the PPP session, or, if you
- want ppp to establish sessions automatically when there is outbound
- traffic (and you havn't created the start_if.tun0 script) , type
-
-<tscreen><verb>
- # ppp -auto provider
-</verb></tscreen>
-
-<sect1><heading>Summary</heading>
-
-<p>To recap, the following steps are necessary when setting up ppp
- for the first time:
-
-<p>Client side:
-
-<itemize>
- <item>Ensure that the tun device is built into your kernel.
- <item>Ensure that the tunX device file is available in the
- <tt>/dev</tt> directory.
- <item>Create an entry in <tt>/etc/ppp.conf</tt>. The
- <tt>pmdemand</tt> example should suffice for most
- ISPs.
- <item>Create an entry in <tt>/etc/ppp.linkup</tt>.
- <item>Update your rc.conf (or sysconfig) file.
- <item>Create a start_if.tun0 script if you require demand
- dialing.
-</itemize>
-
-<p>Server side:
-<itemize>
- <item>Ensure that the tun device is built into your kernel.
- <item>Ensure that the tunX device file is available in the
- <tt>/dev</tt> directory.
- <item>Create an entry in /etc/passwd (using the vipw(8)
- program).
- <item>Create a profile in this users home directory that
- runs ``ppp -direct direct-server'' or similar.
- <item>Create an entry in <tt>/etc/ppp.conf</tt>. The
- <tt>direct-server</tt> example should suffice.
- <item>Create an entry in <tt>/etc/ppp.linkup</tt>.
- <item>Update your rc.conf (or sysconfig) file.
-</itemize>
-
-<sect1><heading>Acknowledgments</heading>
-
-<p>Thanks to the following for their comments & suggestions:
-
-<p>&a.nik
-<p>&a.dirkvangulik
-<p>&a.pjc
diff --git a/share/doc/ja_JP.EUC/Makefile b/share/doc/ja_JP.EUC/Makefile
deleted file mode 100644
index ec80e0c..0000000
--- a/share/doc/ja_JP.EUC/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# From: @(#)Makefile 8.1 (Berkeley) 6/5/93
-# $Id$
-
-SUBDIR= handbook
-
-.include <bsd.subdir.mk>
diff --git a/share/doc/ja_JP.EUC/handbook/Makefile b/share/doc/ja_JP.EUC/handbook/Makefile
deleted file mode 100644
index 5cd4b51..0000000
--- a/share/doc/ja_JP.EUC/handbook/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# $Id: Makefile,v 1.9 1997/05/09 23:09:56 max Exp $
-# Original revision: 1.22
-# The FreeBSD Japanese Documentation Project
-
-DOC= handbook
-DOCDIR=${SHAREDIR}/doc/ja_JP.EUC
-FORMATS= html roff
-SGMLOPTS+=-e EUC-JP
-
-SRCS= authors.sgml basics.sgml bibliography.sgml boothelp.sgml
-SRCS+= booting.sgml contrib.sgml crypt.sgml ctm.sgml current.sgml cvsup.sgml
-SRCS+= cyclades.sgml development.sgml dialup.sgml dialout.sgml
-SRCS+= diskless.sgml dma.sgml eresources.sgml esdi.sgml
-SRCS+= firewalls.sgml glossary.sgml goals.sgml
-SRCS+= handbook.sgml history.sgml hw.sgml install.sgml isdn.sgml
-SRCS+= kerberos.sgml kernelconfig.sgml kerneldebug.sgml kernelopts.sgml
-SRCS+= lists.sgml mail.sgml memoryuse.sgml
-SRCS+= mirrors.sgml nfs.sgml nutshell.sgml pgpkeys.sgml policies.sgml
-SRCS+= porting.sgml ports.sgml ppp.sgml printing.sgml
-SRCS+= quotas.sgml relnotes.sgml routing.sgml russian.sgml
-SRCS+= serial.sgml scsi.sgml sections.sgml sio.sgml skey.sgml slipc.sgml
-SRCS+= slips.sgml stable.sgml submitters.sgml sup.sgml synching.sgml
-SRCS+= term.sgml userppp.sgml uart.sgml linuxemu.sgml
-SRCS+= jcontrib.sgml jmembers.sgml
-
-.include <bsd.sgml.mk>
diff --git a/share/doc/ja_JP.EUC/handbook/authors.sgml b/share/doc/ja_JP.EUC/handbook/authors.sgml
deleted file mode 100644
index d93ca80..0000000
--- a/share/doc/ja_JP.EUC/handbook/authors.sgml
+++ /dev/null
@@ -1,490 +0,0 @@
-<!-- $Id: authors.sgml,v 1.22 1997/05/13 22:57:43 max Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.69 -->
-
-<!--
-Names and email address of contributing authors and CVS committers.
-Use these entities when referencing people. Please note the use of single
-and double quotes.
-Please keep this list in alphabetical order by entity names.
--->
-
-<!ENTITY a.ache "Andrey A. Chernov
- <tt><htmlurl url='mailto:ache@FreeBSD.ORG'
- name='&lt;ache@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.adam "Adam David
- <tt><htmlurl url='mailto:adam@FreeBSD.ORG'
- name='&lt;adam@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.alex "Alex Nash
- <tt><htmlurl url='mailto:alex@freebsd.org'
- name='&lt;alex@freebsd.org&gt;'></tt>">
-
-<!ENTITY a.amurai "Atsushi Murai
- <tt><htmlurl url='mailto:amurai@FreeBSD.ORG'
- name='&lt;amurai@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.andreas "Andreas Klemm
- <tt><htmlurl url='mailto:andreas@FreeBSD.ORG'
- name='&lt;andreas@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.asami "浅見 賢
- <tt><htmlurl url='mailto:asami@FreeBSD.ORG'
- name='&lt;asami@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.ats "Andreas Schulz
- <tt><htmlurl url='mailto:ats@FreeBSD.ORG'
- name='&lt;ats@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.awebster "Andrew Webster
- <tt><htmlurl url='mailto:awebster@pubnix.net'
- name='&lt;awebster@pubnix.net&gt;'></tt>">
-
-<!ENTITY a.bde "Bruce Evans
- <tt><htmlurl url='mailto:bde@FreeBSD.ORG'
- name='&lt;bde@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.brian "Brian Somers
- <tt><htmlurl url='mailto:brian@awfulhak.org'
- name='&lt;brian@awfulhak.org&gt;'></tt>">
-
-<!ENTITY a.cawimm "Charles A. Wimmer
- <tt><htmlurl url='mailto:cawimm@FreeBSD.ORG'
- name='&lt;cawimm@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.charnier "Philippe Charnier
- <tt><htmlurl url='mailto:charnier@FreeBSD.ORG'
- name='&lt;charnier@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.chuck "Chuck Robey
- <tt><htmlurl url='mailto:chuckr@glue.umd.edu'
- name='&lt;chuckr@glue.umd.edu&gt;'></tt>">
-
-<!ENTITY a.chuckr "Chuck Robey
- <tt><htmlurl url='mailto:chuckr@FreeBSD.ORG'
- name='&lt;chuckr@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.cracauer "Martin Cracauer
- <tt><htmlurl url='mailto:cracauer@FreeBSD.ORG'
- name='&lt;cracauer@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.csgr "Geoff Rehmet
- <tt><htmlurl url='mailto:csgr@FreeBSD.ORG'
- name='&lt;csgr@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.danny "Daniel O'Callaghan
- <tt><htmlurl url='mailto:danny@FreeBSD.ORG'
- name='&lt;danny@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.darrenr "Darren Reed
- <tt><htmlurl url='mailto:darrenr@FreeBSD.ORG'
- name='&lt;darrenr@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.dave "Dave Cornejo
- <tt><htmlurl url='mailto:dave@FreeBSD.ORG'
- name='&lt;dave@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.davidg "David Greenman
- <tt><htmlurl url='mailto:davidg@FreeBSD.ORG'
- name='&lt;davidg@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.davidn "David Nugent
- <tt><htmlurl url='mailto:davidn@blaze.net.au'
- name='&lt;davidn@blaze.net.au&gt;'></tt>">
-
-<!ENTITY a.dfr "Doug Rabson
- <tt><htmlurl url='mailto:dfr@FreeBSD.ORG'
- name='&lt;dfr@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.dima "Dima Ruban
- <tt><htmlurl url='mailto:dima@FreeBSD.ORG'
- name='&lt;dima@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.dirkvangulik "Dirk-Willem van Gulik
- <tt><htmlurl url='mailto:Dirk.vanGulik@jrc.it'
- name='&lt;Dirk.vanGulik@jrc.it&gt;'></tt>">
-
-<!ENTITY a.dufault "Peter Dufault
- <tt><htmlurl url='mailto:dufault@FreeBSD.ORG'
- name='&lt;dufault@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.dyson "John Dyson
- <tt><htmlurl url='mailto:dyson@FreeBSD.ORG'
- name='&lt;dyson@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.eivind "Eivind Eklund
- <tt><htmlurl url='mailto:perhaps@yes.no'
- name='&lt;perhaps@yes.no&gt;'></tt>">
-
-<!ENTITY a.erich "Eric L. Hernes
- <tt><htmlurl url='mailto:erich@FreeBSD.ORG'
- name='&lt;erich@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.fenner "Bill Fenner
- <tt><htmlurl url='mailto:fenner@FreeBSD.ORG'
- name='&lt;fenner@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.fsmp "Steve Passe
- <tt><htmlurl url='mailto:fsmp@FreeBSD.ORG'
- name='&lt;fsmp@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.gclarkii "Gary Clark II
- <tt><htmlurl url='mailto:gclarkii@FreeBSD.ORG'
- name='&lt;gclarkii@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.gena "Gennady B. Sorokopud
- <tt><htmlurl url='mailto:gena@NetVision.net.il'
- name='&lt;gena@NetVision.net.il&gt;'></tt>">
-
-<!ENTITY a.ghelmer "Guy Helmer
- <tt><htmlurl url='mailto:ghelmer@alpha.dsu.edu'
- name='&lt;ghelmer@alpha.dsu.edu&gt;'></tt>">
-
-<!ENTITY a.gibbs "Justin T. Gibbs
- <tt><htmlurl url='mailto:gibbs@FreeBSD.ORG'
- name='&lt;gibbs@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.gj "Gary Jennejohn
- <tt><htmlurl url='mailto:gj@FreeBSD.ORG'
- name='&lt;gj@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.gpalmer "Gary Palmer
- <tt><htmlurl url='mailto:gpalmer@FreeBSD.ORG'
- name='&lt;gpalmer@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.graichen "Thomas Graichen
- <tt><htmlurl url='mailto:graichen@FreeBSD.ORG'
- name='&lt;graichen@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.gryphon "Coranth Gryphon
- <tt><htmlurl url='mailto:gryphon@healer.com'
- name='&lt;gryphon@healer.com&gt;'></tt>">
-
-<!ENTITY a.guido "Guido van Rooij
- <tt><htmlurl url='mailto:guido@FreeBSD.ORG'
- name='&lt;guido@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.hanai "花井浩之
- <tt><htmlurl url='mailto:hanai@FreeBSD.ORG'
- name='&lt;hanai@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.handy "Brian N. Handy
- <tt><htmlurl url='mailto:handy@sxt4.physics.montana.edu'
- name='&lt;handy@sxt4.physics.montana.edu&gt;'></tt>">
-
-<!ENTITY a.hm "Hellmuth Michaelis
- <tt><htmlurl url='mailto:hm@kts.org'
- name='&lt;hm@kts.org&gt;'></tt>">
-
-<!ENTITY a.hsu "Jeffrey Hsu
- <tt><htmlurl url='mailto:hsu@FreeBSD.ORG'
- name='&lt;hsu@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.imp "Warner Losh
- <tt><htmlurl url='mailto:imp@FreeBSD.ORG'
- name='&lt;imp@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jb "John Birrell
- <tt><htmlurl url='mailto:jb@cimlogic.com.au'
- name='&lt;jb@cimlogic.com.au&gt;'></tt>">
-
-<!ENTITY a.jdp "John Polstra
- <tt><htmlurl url='mailto:jdp@FreeBSD.ORG'
- name='&lt;jdp@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jehamby "Jake Hamby
- <tt><htmlurl url='mailto:jehamby@lightside.com'
- name='&lt;jehamby@lightside.com&gt;'></tt>">
-
-<!ENTITY a.jfieber "John Fieber
- <tt><htmlurl url='mailto:jfieber@FreeBSD.ORG'
- name='&lt;jfieber@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jfitz "James FitzGibbon
- <tt><htmlurl url='mailto:james@nexis.net'
- name='&lt;james@nexis.net&gt;'></tt>">
-
-<!ENTITY a.jgreco "Joe Greco
- <tt><htmlurl url='mailto:jgreco@FreeBSD.ORG'
- name='&lt;jgreco@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jhay "John Hay
- <tt><htmlurl url='mailto:jhay@FreeBSD.ORG'
- name='&lt;jhay@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jkh "Jordan K. Hubbard
- <tt><htmlurl url='mailto:jkh@FreeBSD.ORG'
- name='&lt;jkh@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jlind "John Lind
- <tt><htmlurl url='mailto:john@starfire.MN.ORG'
- name='&lt;john@starfire.MN.ORG&gt;'></tt>">
-
-<!ENTITY a.jlrobin "James L. Robinson
- <tt><htmlurl url='mailto:jlrobin@FreeBSD.ORG'
- name='&lt;jlrobin@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jmacd "Joshua Peck Macdonald
- <tt><htmlurl url='mailto:jmacd@FreeBSD.ORG'
- name='&lt;jmacd@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jmb "Jonathan M. Bresler
- <tt><htmlurl url='mailto:jmb@FreeBSD.ORG'
- name='&lt;jmb@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jmg "John-Mark Gurney
- <tt><htmlurl url='mailto:jmg@FreeBSD.ORG'
- name='&lt;jmg@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jmz "Jean-Marc Zucconi
- <tt><htmlurl url='mailto:jmz@FreeBSD.ORG'
- name='&lt;jmz@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.joerg "J&ouml;rg Wunsch
- <tt><htmlurl url='mailto:joerg@FreeBSD.ORG'
- name='&lt;joerg@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.john "John Cavanaugh
- <tt><htmlurl url='mailto:john@FreeBSD.ORG'
- name='&lt;john@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jraynard "James Raynard
- <tt><htmlurl url='mailto:jraynard@freebsd.org'
- name='&lt;jraynard@freebsd.org&gt;'></tt>">
-
-<!ENTITY a.julian "Julian Elischer
- <tt><htmlurl url='mailto:julian@FreeBSD.ORG'
- name='&lt;julian@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.jvh "Johannes Helander
- <tt><htmlurl url='mailto:jvh@FreeBSD.ORG'
- name='&lt;jvh@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.karl "Karl Strickland
- <tt><htmlurl url='mailto:karl@FreeBSD.ORG'
- name='&lt;karl@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.kato "Takenori KATO
- <tt><htmlurl url='mailto:kato@FreeBSD.ORG'
- name='&lt;kato@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.kelly "Sean Kelly
- <tt><htmlurl url='mailto:kelly@fsl.noaa.gov'
- name='&lt;kelly@fsl.noaa.gov&gt;'></tt>">
-
-<!ENTITY a.kjc "Kenjiro Cho
- <tt><htmlurl url='mailto:kjc@FreeBSD.ORG'
- name='&lt;kjc@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.lars "Lars Fredriksen
- <tt><htmlurl url='mailto:lars@FreeBSD.ORG'
- name='&lt;lars@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.ljo "L Jonas Olsson
- <tt><htmlurl url='mailto:ljo@FreeBSD.ORG'
- name='&lt;ljo@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.markm "Mark Murray
- <tt><htmlurl url='mailto:markm@FreeBSD.ORG'
- name='&lt;markm@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.martin "Martin Renters
- <tt><htmlurl url='mailto:martin@FreeBSD.ORG'
- name='&lt;martin@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.max "中根 雅文
- <tt><htmlurl url='mailto:max@FreeBSD.ORG'
- name='&lt;max@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.mayo "Mark Mayo
- <tt><htmlurl url='mailto:mayo@quickweb.com'
- name='&lt;mayo@quickweb.com&gt;'></tt>">
-
-<!ENTITY a.mbarkah "Ade Barkah
- <tt><htmlurl url='mailto:mbarkah@FreeBSD.ORG'
- name='&lt;mbarkah@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.mckay "Stephen McKay
- <tt><htmlurl url='mailto:mckay@FreeBSD.ORG'
- name='&lt;mckay@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.md "Mark Dapoz
- <tt><htmlurl url='mailto:md@bsc.no'
- name='&lt;md@bsc.no&gt;'></tt>">
-
-<!ENTITY a.mpp "Mike Pritchard
- <tt><htmlurl url='mailto:mpp@FreeBSD.ORG'
- name='&lt;mpp@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.msmith "Michael Smith
- <tt><htmlurl url='mailto:msmith@FreeBSD.ORG'
- name='&lt;msmith@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.nate "Nate Williams
- <tt><htmlurl url='mailto:nate@FreeBSD.ORG'
- name='&lt;nate@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.nik "Nik Clayton
- <tt><htmlurl url='mailto:nik@blueberry.co.uk'
- name='&lt;nik@blueberry.co.uk&gt;'></tt>">
-
-<!ENTITY a.nsj "Nate Johnson
- <tt><htmlurl url='mailto:nsj@FreeBSD.ORG'
- name='&lt;nsj@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.obrien "David O'Brien
- <tt><htmlurl url='mailto:obrien@cs.ucdavis.edu'
- name='&lt;obrien@cs.ucdavis.edu&gt;'></tt>">
-
-<!ENTITY a.olah "Andras Olah
- <tt><htmlurl url='mailto:olah@FreeBSD.ORG'
- name='&lt;olah@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.opsys "Chris Watson
- <tt><htmlurl url='mailto:opsys@open-systems.net'
- name='&lt;opsys@open-systems.net&gt;'></tt>">
-
-<!ENTITY a.paul "Paul Richards
- <tt><htmlurl url='mailto:paul@FreeBSD.ORG'
- name='&lt;paul@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.pds "Peter da Silva
- <tt><htmlurl url='mailto:pds@FreeBSD.ORG'
- name='&lt;pds@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.peter "Peter Wemm
- <tt><htmlurl url='mailto:peter@FreeBSD.ORG'
- name='&lt;peter@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.phk "Poul-Henning Kamp
- <tt><htmlurl url='mailto:phk@FreeBSD.ORG'
- name='&lt;phk@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.pjc "Peter Childs
- <tt><htmlurl url='mailto:pjchilds@imforei.apana.org.au'
- name='&lt;pjchilds@imforei.apana.org.au&gt;'></tt>">
-
-<!ENTITY a.proven "Chris Provenzano
- <tt><htmlurl url='mailto:proven@FreeBSD.ORG'
- name='&lt;proven@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.pst "Paul Traina
- <tt><htmlurl url='mailto:pst@FreeBSD.ORG'
- name='&lt;pst@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.rgrimes "Rodney Grimes
- <tt><htmlurl url='mailto:rgrimes@FreeBSD.ORG'
- name='&lt;rgrimes@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.rhuff "Robert Huff
- <tt><htmlurl url='mailto:rhuff@cybercom.net'
- name='&lt;rhuff@cybercom.net&gt;'></tt>">
-
-<!ENTITY a.ricardag "Ricardo AG
- <tt><htmlurl url='mailto:ricardag@ag.com.br'
- name='&lt;ricardag@ag.com.br&gt;'></tt>">
-
-<!ENTITY a.rich "Rich Murphey
- <tt><htmlurl url='mailto:rich@FreeBSD.ORG'
- name='&lt;rich@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.roberto "Ollivier Robert
- <tt><htmlurl url='mailto:roberto@FreeBSD.ORG'
- name='&lt;roberto@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.scrappy "Marc G. Fournier
- <tt><htmlurl url='mailto:scrappy@FreeBSD.ORG'
- name='&lt;scrappy@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.se "Stefan Esser
- <tt><htmlurl url='mailto:se@FreeBSD.ORG'
- name='&lt;se@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.sef "Sean Eric Fagan
- <tt><htmlurl url='mailto:sef@FreeBSD.ORG'
- name='&lt;sef@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.smace "Scott Mace
- <tt><htmlurl url='mailto:smace@FreeBSD.ORG'
- name='&lt;smace@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.smpatel "Sujal Patel
- <tt><htmlurl url='mailto:smpatel@FreeBSD.ORG'
- name='&lt;smpatel@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.sos "S&oslash;ren Schmidt
- <tt><htmlurl url='mailto:sos@FreeBSD.ORG'
- name='&lt;sos@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.stark "Gene Stark
- <tt><htmlurl url='mailto:stark@FreeBSD.ORG'
- name='&lt;stark@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.stb "Stefan Bethke
- <tt><htmlurl url='mailto:stb@FreeBSD.ORG'
- name='&lt;stb@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.steve "Steve Price
- <tt><htmlurl url='mailto:steve@FreeBSD.ORG'
- name='&lt;steve@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.swallace "Steven Wallace
- <tt><htmlurl url='mailto:swallace@FreeBSD.ORG'
- name='&lt;swallace@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.tedm "Ted Mittelstaedt
- <tt><htmlurl url='mailto:tedm@FreeBSD.ORG'
- name='&lt;tedm@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.tegge "Tor Egge
- <tt><htmlurl url='mailto:tegge@FreeBSD.ORG'
- name='&lt;tegge@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.tg "Thomas Gellekum
- <tt><htmlurl url='mailto:tg@FreeBSD.ORG'
- name='&lt;tg@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.torstenb "Torsten Blum
- <tt><htmlurl url='mailto:torstenb@FreeBSD.ORG'
- name='&lt;torstenb@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.ugen "Ugen J.S.Antsilevich
- <tt><htmlurl url='mailto:ugen@FreeBSD.ORG'
- name='&lt;ugen@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.uhclem "Frank Durda IV
- <tt><htmlurl url='mailto:uhclem@FreeBSD.ORG'
- name='&lt;uhclem@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.ulf "Ulf Zimmermann
- <tt><htmlurl url='mailto:ulf@FreeBSD.ORG'
- name='&lt;ulf@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.whiteside "Don Whiteside
- <tt><htmlurl url='mailto:whiteside@acm.org'
- name='&lt;whiteside@acm.org&gt;'></tt>">
-
-<!ENTITY a.wilko "Wilko Bulte
- <tt><htmlurl url='mailto:wilko@yedi.iaf.nl'
- name='&lt;wilko@yedi.iaf.nl&gt;'></tt>">
-
-<!ENTITY a.wlloyd "Bill Lloyd
- <tt><htmlurl url='mailto:wlloyd@mpd.ca'
- name='&lt;wlloyd@mpd.ca&gt;'></tt>">
-
-<!ENTITY a.wollman "Garrett Wollman
- <tt><htmlurl url='mailto:wollman@FreeBSD.ORG'
- name='&lt;wollman@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.wosch "Wolfram Schneider
- <tt><htmlurl url='mailto:wosch@FreeBSD.ORG'
- name='&lt;wosch@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.wpaul "Bill Paul
- <tt><htmlurl url='mailto:wpaul@FreeBSD.ORG'
- name='&lt;wpaul@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.yokota "Kazutaka YOKOTA
- <tt><htmlurl url='mailto:yokota@FreeBSD.ORG'
- name='&lt;yokota@FreeBSD.ORG&gt;'></tt>">
diff --git a/share/doc/ja_JP.EUC/handbook/basics.sgml b/share/doc/ja_JP.EUC/handbook/basics.sgml
deleted file mode 100644
index 6f1e252..0000000
--- a/share/doc/ja_JP.EUC/handbook/basics.sgml
+++ /dev/null
@@ -1,93 +0,0 @@
-<!-- $Id: basics.sgml,v 1.4 1997/02/22 13:00:36 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.9 -->
-
-<chapt><heading>Unix の基礎知識<label id="basics"></heading>
-
-<p><em>訳: &a.nakai;<newline>12 October 1996.</em>
-
- <sect>
- <heading>オンラインマニュアル<label id="basics:man"></heading>
-
- <p>FreeBSD についてのもっとも包括的なドキュメントは
- <em>マニュアルページ</em>の形式になっているものです.
- FreeBSD システム上のほとんどすべてのプログラムには基本的な
- 操作方法とさまざまな引数を説明しているリファレンスマニュアル
- がついています。これらのマニュアルは
- <tt><bf>man</bf></tt> コマンドで見ることができます。
- <tt><bf>man</bf></tt> コマンドの使い方は簡単です :
- <tscreen>
- <bf>man</bf> <it>コマンド名</it>
- </tscreen>
- <it>コマンド名</it>のところには知りたいコマンドの名前を入れます。
- たとえば、<tt><bf>ls</bf></tt> コマンドについて知りたい場合には
- 次のように入力します :
- <tscreen>
- % <bf>man ls</bf>
- </tscreen>
-
- <p>オンラインマニュアルは数字のついたセクションに分けられています :
- <enum>
- <item>ユーザコマンド</item>
- <item>システムコールとエラー番号</item>
- <item>C のライブラリ関数</item>
- <item>デバイスドライバ</item>
- <item>ファイル形式</item>
- <item>ゲームとほかのお楽しみ</item>
- <item>そのほかの情報</item>
- <item>システムの管理と操作のためのコマンド</item>
- </enum>
- 場合によっては, 同じことがらでもオンラインマニュアルでは
- 複数のセクションに記載されていることがあります。たとえば、
- <tt><bf>chmod</bf></tt> ユーザコマンドと <tt><bf>chmod()</bf></tt>
- システムコールがあります。この場合、<tt><bf>man</bf></tt>
- コマンドでどちらを参照したいかをセクションで指定することが
- できます :
- <tscreen>
- % <bf>man 1 chmod</bf>
- </tscreen>
- とすればユーザコマンドとしての <tt><bf>chmod</bf></tt>
- のマニュアルページが表示されます。オンラインマニュアル上の特定の
- セクションへの参照は通常、書かれているドキュメントの
- 括弧の中に示されています。ですから、<tt><bf>chmod(1)</bf></tt> は
- <tt><bf>chmod</bf></tt> ユーザコマンドを、
- <tt><bf>chmod(2)</bf></tt> はシステムコールの方を示しています。
-
- <p>コマンドの名前を知っていて, 単純にその使い方が分かる場合は
- よいのですが、もしコマンドの名前を思い出せない場合には
- どうしたらいいのでしょう? <tt><bf>man</bf></tt> に
- <tt><bf>-k</bf></tt> スイッチをつければ,
- コマンドデスクリプション中のキーワードから検索することができます :
- <tscreen>
- % <bf>man -k mail</bf>
- </tscreen>
- このコマンドを使うことで, 「mail」というキーワードを含むコマンドの
- 一覧を参照することができます。実を言うと <tt><bf>apropos</bf></tt>
- コマンドを使うのと機能的には同じです。
-
- <p>それから、<tt>/usr/bin</tt> にある優れたコマンドすべてを目にしても、
- それらの大半がどういった働きをするのかまったく見当もつかないときは
- どうしたらよいでしょう。単純に、
- <tscreen>
- % <bf>cd /usr/bin; man -f *</bf>
- </tscreen>
- あるいは同じ働きをする
- <tscreen>
- % <bf>cd /usr/bin; whatis *</bf>
- </tscreen>
- としましょう。
-
- <sect>
- <heading>GNU の Info ファイル<label id="basics:info"></heading>
-
- <p>FreeBSD には Free Software Foundation (FSF) によるアプリケーションや
- ユーティリティがたくさんあります。こうしたプログラムには
- manページに加えて、<em>info</em> ファイルと呼ばれる
- ハイパーテキスト形式のドキュメントが付属になっていて、<tt>info</tt>
- コマンドや、<tt>emacs</tt> をインストールしているなら
- <tt>emacs</tt> の info モードで見ることができます。
-
- <tt>info(1)</tt> コマンドを使うには, 単にこう入力します。
- <tscreen>% <bf>info</bf></tscreen> おおまかなイントロダクションを
- 見るには、<tt><bf>h</bf></tt> と入力します。
- クイックコマンドリファレンスは <tt><bf>?</bf></tt> とします。
diff --git a/share/doc/ja_JP.EUC/handbook/bibliography.sgml b/share/doc/ja_JP.EUC/handbook/bibliography.sgml
deleted file mode 100644
index 6bac1f6..0000000
--- a/share/doc/ja_JP.EUC/handbook/bibliography.sgml
+++ /dev/null
@@ -1,429 +0,0 @@
-<!-- $Id: bibliography.sgml,v 1.7 1997/03/21 09:46:34 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.26 -->
-
- <chapt>
- <heading>参考図書<label id="bibliography"></heading>
-
- <p><em>訳: &a.nakai;<newline>12 October 1996.</em>
-
- <p>FreeBSD オペレーティングシステムの個々の部分については
- マニュアルページで定義のような説明がなされていますが,
- それらにはどうやってその部分どうしをつなぎあわせて
- オペレーティングシステム全体を円滑に動作させるかを
- 説明していないという欠点がよく指摘されます.
- それを補うためには UNIX システム管理についてのよい本や,
- すぐれた利用者向けのマニュアルが欠かせません.
-
- <sect>
- <heading>FreeBSDのためだけの書籍 & 雑誌</heading>
-
- <p><bf>非英語文化圏の 書籍 & 雑誌:</bf>
-
- <p><itemize>
- <item><htmlurl url="http://freebsd.csie.nctu.edu.tw/~jdli/book.html"
- name="FreeBSD 入門與應用"> (in Chinese).
- <item>FreeBSD入門キット 98版第二版. 宮嵜忠臣 著.
- 秀和システム. ISBN4-87966-535-5 C3055 2900円.
- <item>FreeBSD入門キット AT互換機版 第二版. 宮嵜忠臣 著.
- 秀和システム. ISBN4-87966-535-5 C3055 2900円.
- <item>ここまでできる FreeBSD パワーガイド.
- 霜山 滋 仲道 嘉夫 山中右次 著. 秀和システム.
- ISBN 4-87966-637-8 2600円.
- </itemize>
-
- <p><bf>英語の書籍 & 雑誌:</bf>
-
- <p><itemize>
- <item><htmlurl url="http://www.cdrom.com/titles/os/bsdbook2.htm"
- name="The Complete FreeBSD">, published by <htmlurl
- url="http://www.cdrom.com" name="Walnut Creek CDROM">.
- </itemize>
-
- <sect>
- <heading>利用者向けのガイド</heading>
-
- <p><itemize>
- <item>Computer Systems Research Group, UC Berkeley.
- <sl>4.4BSD User's Reference Manual</sl>.
- O'Reilly &amp; Associates, Inc., 1994.
- <newline>ISBN 1-56592-075-9</item>
-
- <item>Computer Systems Research Group, UC Berkeley.
- <sl>4.4BSD User's Supplementary Documents</sl>.
- O'Reilly &amp; Associates, Inc., 1994.
- <newline>ISBN 1-56592-076-7</item>
-
- <item><sl>UNIX in a Nutshell</sl>.
- O'Reilly &amp; Associates, Inc., 1990.
- <newline>ISBN 093717520X</item>
-
- <item>Mui, Linda.
- <em>What You Need To Know When You Can't Find Your UNIX
- System Administrator</em>.
- O'Reilly &amp; Associates, Inc., 1995.
- <newline>ISBN 1-56592-104-6 </item>
-
- <item><htmlurl url="http://www-wks.acs.ohio-state.edu/"
- name="Ohio State University"> has written
- a <htmlurl
- url="http://www-wks.acs.ohio-state.edu/unix_course/unix.html"
- name="UNIX Introductory Course"> which is available online
- in HTML and postscript format.</item>
- </itemize>
-
- <sect>
- <heading>管理者向けのガイド</heading>
-
- <p><itemize>
-
- <item>Albitz, Paul and Liu, Cricket. <em>DNS and
- BIND</em>, 2nd Ed.
- O'Reilly &amp; Associates, Inc., 1997.
- <newline>ISBN ISBN 1-56592-236-0
- <newline>(訳注: 第一版の邦訳は以下のものが出版されています.
- <newline>浅羽登志也 / 上水流由香 監訳. <em>DNS & BIND</em>.
- アスキー, 1995.
- <newline>ISBN 4-7561-0314-6)
- </item>
-
- <item>Computer Systems Research Group, UC Berkeley.
- <sl>4.4BSD System Manager's Manual</sl>.
- O'Reilly &amp; Associates, Inc., 1994.
- <newline>ISBN 1-56592-080-5</item>
-
- <item>Costales, Brian, et al.
- <em>Sendmail</em>, 2nd Ed. O'Reilly &amp;
- Associates, Inc., 1997.
- <newline>ISBN 1-56592-222-0
- <newline>(訳注: 第一版の邦訳は以下のものが出版されています.
- <newline>村井純 監訳. <em>sendmail 解説</em>.
- インターナショナル・トムソン・パブリッシング・ジャパン, 1994.
- <newline>ISBN 4-900718-07-6)
- </item>
-
- <item>Frisch, &AElig;leen. <em>Essential System
- Administration</em>, 2nd Ed. O'Reilly &amp;
- Associates, Inc., 1995. <newline>ISBN 1-56592-127-5
- <newline>(訳注: 第一版の邦訳は以下のものが出版されています.
- <newline>榊正憲 訳. <em>UNIX システム管理入門</em>.
- アスキー, 1995.
- <newline>ISBN 4-7561-0313-8)
- </item>
-
- <item>Hunt, Craig. <em>TCP/IP Network Administration</em>.
- O'Reilly &amp; Associates, Inc., 1992.
- <newline>ISBN 0-937175-82-X
- <newline>(訳注: 邦訳は以下のものが出版されています.
- <newline>村井純 監訳. <em>TCP/IP ネットワーク管理</em>.
- インターナショナル・トムソン・パブリッシング・ジャパン, 1994.
- <newline>ISBN 4-900718-01-7)
- </item>
-
- <item>Nemeth, Evi. <em>UNIX System Administration
- Handbook</em>. 2nd ed. Prentice Hall, 1995.
- <newline>ISBN 0131510517
- <newline>(訳注: 邦訳は以下のものが出版されています.
- <newline>井上尚司監訳. <em>UNIX システム管理入門</em>.
- ソフトバンク, 1992.
- <newline>ISBN 4-89052-362-6
- <newline>原本は第2版だが、訳出は第1版のみ)
- </item>
-
- <item>Stern, Hal <em>Managing NFS and NIS</em>
- O'Reilly &amp; Associates, Inc., 1991.
- <newline>ISBN 1-937175-75-7 </item>
-
- </itemize>
-
- <sect>
- <heading>プログラマ向けのガイド</heading>
-
- <p><itemize>
-
- <item>Asente, Paul. <em>X Window System
- Toolkit</em>. Digital Press.
- <newline>ISBN 1-55558-051-3</item>
-
- <item>Computer Systems Research Group, UC Berkeley.
- <sl>4.4BSD Programmer's Reference Manual</sl>.
- O'Reilly &amp; Associates, Inc., 1994.
- <newline>ISBN 1-56592-078-3</item>
-
- <item>Computer Systems Research Group, UC Berkeley.
- <sl>4.4BSD Programmer's Supplementary Documents</sl>.
- O'Reilly &amp; Associates, Inc., 1994.
- <newline>ISBN 1-56592-079-1</item>
-
- <item>Ellis, Margaret A. and Stroustrup,
- Bjarne. <em>The Annotated C++ Reference
- Manual</em>. Addison-Wesley, 1990.
- <newline>ISBN 0-201-51459-1
- <newline>(訳注: 邦訳は以下のものが出版されています.
- <newline>足立高徳 / 小山裕司 訳.
- <em>注解 C++ リファレンスマニュアル</em>.
- トッパン, 1992.
- <newline>ISBN 4-8101-8027-1)
- </item>
-
- <item>Harbison, Samuel P. and Steele, Guy
- L. Jr. <em>C: A Reference Manual</em>. 4rd ed. Prentice
- Hall, 1995. <newline>ISBN 0-13-326224-3
- <newline>(訳注: 邦訳は以下のものが出版されています.
- <newline>斎藤信男監訳.
- <em>新・詳説C言語リファレンス[H&amp;Sリファレンス]</em>.
- ソフトバンク, 1994.
- <newline>ISBN 4-89052-506-8
- <newline>原本は第4版だが、訳出は第3版のみ。)
- </item>
-
- <item>Kernighan, Brian and Dennis M. Ritchie.
- <em>The C Programming Language.</em>.
- PTR Prentice Hall, 1988.
- <newline>ISBN 0-13-110362-9
- <newline>(訳注: 邦訳は以下のものが出版されています.
- <newline>石田晴久 訳.
- <em>プログラミング言語 C 第2版(訳書訂正版)</em>
- 共立出版, 1989.
- <newline>ISBN 4-320-02692-6)
- </item>
-
- <item>Lehey, Greg.
- <em>Port UNIX Software</em>.
- O'Reilly &amp; Associates, Inc., 1995.
- <newline>ISBN 1-56592-126-7</item>
-
- <item>Plauger, P. J. <em>The Standard C
- Library</em>. Prentice Hall, 1992.
- <newline>ISBN 0-13-131509-9
- <newline>(訳注: 邦訳は以下のものが出版されています.
- <newline>福富寛 / 門倉明彦 / 清水恵介 訳.
- <em>標準 C ライブラリ ANSI/ISO/JIS C規格</em>.
- トッパン, 1995.
- <newline>ISBN 4-8101-8541-9)
- </item>
-
- <item>Stevens, W. Richard. <em>Advanced
- Programming in the UNIX Environment</em>.
- Reading, Mass. : Addison-Wesley, 1992
- <newline>ISBN 0-201-56317-7
- <newline>(訳注: 邦訳は以下のものが出版されています.
- <newline>大木敦雄 訳.
- <em>詳解 UNIX プログラミング</em>. トッパン, 1994.
- <newline>ISBN 4-89052-524-6)
- </item>
-
- <item>Stevens, W. Richard. <em>UNIX Network
- Programming</em>. PTR Prentice Hall, 1990.
- <newline>ISBN 0-13-949876-1
- <newline>(訳注: 邦訳は以下のものが出版されています.
- <newline>篠田陽一 訳.
- <em>UNIX ネットワークプログラミング</em>.
- トッパン,1992.
- <newline>ISBN 4-8101-8509-5)
- </item>
-
- <item>Wells, Bill. "Writing Serial Drivers for UNIX".
- <em>Dr. Dobb's Journal</em>. 19(15), December
- 1994. pp68-71, 97-99.</item>
-
- </itemize>
-
- <sect>
- <heading>オペレーティングシステム内部</heading>
-
- <p><itemize>
-
- <item>Andleigh, Prabhat K. <em>UNIX System Architecture</em>.
- Prentice-Hall, Inc., 1990.
- <newline>ISBN 0-13-949843-5</item>
-
- <item>Jolitz, William. "Porting UNIX to the
- 386". <em>Dr. Dobb's Journal</em>. January
- 1991-July 1992.
- </item>
-
- <item>Leffler, Samuel J., Marshall Kirk McKusick,
- Michael J Karels and John Quarterman <em>The Design and
- Implementation of the 4.3BSD UNIX Operating
- System</em>. Reading, Mass. : Addison-Wesley, 1989.
- <newline>ISBN 0-201-06196-1
- <newline>(訳注: 邦訳は以下のものが出版されています.
- <newline>中村明 / 相田仁 / 計宇生 / 小池汎平 訳.
- <em>UNIX 4.3BSDの設計と実装</em>. 丸善, 1991.
- <newline>ISBN 4-621-03607-6)
- </item>
-
- <item>Leffler, Samuel J., Marshall Kirk McKusick,
- <em>The Design and Implementation of the 4.3BSD
- UNIX Operating System: Answer Book</em>.
- Reading, Mass. : Addison-Wesley, 1991.
- <newline>ISBN 0-201-54629-9
- <newline>(訳注: 邦訳は以下のものが出版されています.
- <newline>相田仁 / 計宇生 / 小池汎平 訳.
- <em>UNIX 4.3BSDの設計と実装</em>.
- アンサーブック, トッパン, 1991.
- <newline>ISBN 4-8101-8039-5)
- </item>
-
- <item>McKusick, Marshall Kirk, Keith Bostic, Michael J Karels,
- and John Quarterman. <em>The Design and
- Implementation of the 4.4BSD Operating
- System</em>. Reading, Mass. : Addison-Wesley, 1996.
- <newline>ISBN 0-201-54979-4</item>
-
- <item>Stevens, W. Richard. <em>TCP/IP Illustrated,
- Volume 1: The Protocols</em>.
- Reading, Mass. : Addison-Wesley, 1996.
- <newline>ISBN 0-201-63346-9</item>
-
- <item>Stevens, W. Richard. <em>TCP/IP Illustrated,
- Volume 3: TCP for Transactions, HTTP, NNTP
- and the UNIX Domain Protocols</em>.
- Reading, Mass. : Addison-Wesley, 1996.
- <newline>ISBN 0-201-63495-3</item>
-
- <item>Vahalia, Uresh. <em>UNIX Internals -- The New Frontiers</em>.
- Prentice Hall, 1996.
- <newline>ISBN 0-13-101908-2</item>
-
- <item>Wright, Gary R. and W. Richard Stevens.
- <em>TCP/IP Illustrated, Volume 2:
- The Implementation</em>.
- Reading, Mass. : Addison-Wesley, 1995.
- <newline>ISBN 0-201-63354-X</item>
-
- </itemize>
-
-
- <sect>
- <heading>セキュリティの参考資料</heading>
-
- <p><itemize>
-
- <item>Cheswick, William R. and Steven M. Bellovin.
- <em>Firewalls and Internal Security:
- Repelling the Wily Hacker</em>.
- Reading, Mass. : Addison-Wesley, 1995.
- <newline>ISBN 1-201-63357-4
- <newline>(訳注: 邦訳は以下のものが出版されています.
- <newline>川副博 監訳. <em>ファイアウォール</em>.
- ソフトバンク, 1995.
- <newline>ISBN 4-89052-672-2)
- </item>
-
- <item>Garfinkel, Simson and Gene Spafford.
- <em>Practical UNIX Security</em>. 2nd Ed.
- O'Reilly &amp; Associates, Inc., 1996.
- <newline>ISBN 1-56592-148-8
- <newline>(訳注: 邦訳は以下のものが出版されています.
- <newline>山口英監訳. <em>UNIX セキュリティ</em>.
- アスキー, 1993.
- <newline>ISBN 4-7561-0274-3
- <newline>原本は第2版だが、訳出は第1版のみ)
- </item>
-
- <item>Garfinkel, Simson.
- <em>PGP Pretty Good Privacy</em>
- O'Reilly &amp; Associates, Inc., 1995.
- <newline>ISBN 1-56592-098-8 </item>
-
- </itemize>
-
- <sect>
- <heading>ハードウェアの参考資料</heading>
-
- <p><itemize>
-
- <item>Anderson, Don and Tom Shanley.
- <em>Pentium Processor System Architecture</em>.
- 2nd ed. Reading, Mass. : Addison-Wesley, 1995.
- <newline>ISBN 0-201-40992-5</item>
-
- <item>Ferraro, Richard F. <em>Programmer's Guide
- to the EGA, VGA, and Super VGA Cards</em>.
- 3rd ed. Reading, Mass. : Addison-Wesley, 1995.
- <newline>ISBN 0-201-62490-7</item>
-
- <item>Shanley, Tom. <em>80486 System
- Architecture</em>. 3rd ed. Reading, Mass. :
- Addison-Wesley, 1995. <newline>ISBN
- 0-201-40994-1</item>
-
- <item>Shanley, Tom. <em>ISA System
- Architecture</em>. 3rd ed. Reading, Mass. :
- Addison-Wesley, 1995.
- <newline>ISBN 0-201-40996-8</item>
-
- <item>Shanley, Tom. <em>PCI System
- Architecture</em>. 3rd ed. Reading, Mass. :
- Addison-Wesley, 1995. <newline>ISBN
- 0-201-40993-3</item>
-
- <item>Van Gilluwe, Frank. <em>The Undocumented PC</em>.
- Reading, Mass: Addison-Wesley Pub. Co., 1994.
- <newline>ISBN 0-201-62277-7</item>
-
- </itemize>
-
- <sect>
- <heading>UNIX の歴史</heading>
-
- <p><itemize>
-
- <item>Lion, John <em>Lion's Commentary on UNIX, 6th Ed.
- With Source Code</em>.
- ITP Media Group, 1996.
- <newline>ISBN 1573980137</item>
-
- <item>Raymond, Eric s. <em>The New Hacker's Dictonary,
- 3rd edition</em>. MIT Press, 1996.
- <newline>ISBN 0-262-68092-0
- <newline>Also known as the
- <htmlurl url="http://www.ccil.org/jargon/jargon.html"
- name="Jargon File"></item>
-
- <item>Saulus, Peter H. <em>A quarter century of UNIX</em>.
- Addison-Wesley Publishing Company, Inc., 1994.
- <newline>ISBN 0-201-54777-5</item>
-
- <item>Simon Garfinkel, Daniel Weise, Steven Strassmann.
- <em>The UNIX-HATERS Handbook</em>.
- IDG Books Worldwide, Inc., 1994.
- <newline>ISBN 1-56884-203-1</item>
-
- <item>Don Libes, Sandy Ressler <em>Life with UNIX</em> - special
- edition. Prentice-Hall, Inc., 1989.
- <newline>ISBN 0-13-536657-7
- <newline>(訳注: 邦訳は以下のものが出版されています.
- <newline>坂本文 監訳. <em>Life with UNIX</em>.
- アスキー, 1990.
- <newline>ISBN 4-7561-0783-4
- <newline>邦訳がSpecial 版の訳出か否かは不明)
- </item>
-
- <item><em>BSD 系 OS の系譜図</em>. 1997年.
- <newline>
- <htmlurl url="http://www.de.freebsd.org/de/ftp/unix-stammbaum"
- name="http://www.de.freebsd.org/de/ftp/unix-stammbaum">
- または, FreeBSD-current マシンの<url
- url="file:/usr/share/misc/bsd-family-tree" name="ローカルファイル">.
- </item>
-
- </itemize>
-
- <sect>
- <heading>雑誌とジャーナル</heading>
-
- <p><itemize>
-
- <item><em>The C/C++ Users Journal</em>. R&amp;D Publications
- Inc. ISSN 1075-2838</item>
-
- <item><em>Sys Admin - The Journal for UNIX System
- Administrators</em> Miller Freeman, Inc., ISSN 1061-2688</item>
-
- </itemize>
-
- </sect>
-
diff --git a/share/doc/ja_JP.EUC/handbook/boothelp.sgml b/share/doc/ja_JP.EUC/handbook/boothelp.sgml
deleted file mode 100644
index 38ce140..0000000
--- a/share/doc/ja_JP.EUC/handbook/boothelp.sgml
+++ /dev/null
@@ -1,51 +0,0 @@
-<!-- $Id: boothelp.sgml,v 1.4 1997/02/22 13:00:38 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.4 -->
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
-
-<!-- Conditional flags for this version of the document -->
-<!ENTITY % boothelp.only "INCLUDE">
-<!ENTITY % handbook.only "IGNORE">
-
-<!-- Entity shorthand for authors' names and email addresses -->
-<!ENTITY % authors SYSTEM "authors.sgml">
-%authors;
-
-<!-- Entity definitions for all the parts -->
-<!ENTITY % sections SYSTEM "sections.sgml">
-%sections;
-
-]>
-
-<linuxdoc>
- <book>
-
- <title>FreeBSD のインストール
- <author>
- <name></name>
- </author>
-
- <abstract>FreeBSD の世界へようこそ! このガイドは FreeBSD の
- インストール方法について説明しています.
- 矢印キーの<bf>上</bf>と<bf>下</bf>を使って
- このガイドの読みたいセクションに移動し,
- <bf>右矢印キー</bf>か<bf>リターンキー</bf>を使ってお読みください.
- 一度読んだことのあるセクションは<bf>左矢印キー</bf>で
- 戻って読みなおすことができます.
- </abstract>
-
- <chapt><heading>一般的な情報</heading>
- &nutshell;
- &history;
- &relnotes;
-
- &install;
- &troubleshooting;
- &bibliography;
- &eresources;
- &hw;
- &contrib;
-
- </book>
-</linuxdoc>
diff --git a/share/doc/ja_JP.EUC/handbook/booting.sgml b/share/doc/ja_JP.EUC/handbook/booting.sgml
deleted file mode 100644
index 9625515..0000000
--- a/share/doc/ja_JP.EUC/handbook/booting.sgml
+++ /dev/null
@@ -1,183 +0,0 @@
-<!-- $Id: booting.sgml,v 1.4 1997/02/22 13:00:39 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.13 -->
-
-<!-- This is a SGML version of the text on FreeBSD boot procedures
- made by Poul-Henning Kamp <phk@FreeBSD.ORG>
-
- This conversion has been made by Ollivier Robert.
-
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-
- <article>
-
- <title>ブートの概要</title>
- <author>Poul-Henning Kamp, <tt/&lt;phk@login.dknet.dk&gt;/</author>
- <date>v1.1, April 26th</date>
- <abstract>
- FreeBSDのブートには基本的に3つの段階があります:
- カーネルの読み込み、ルートのファイルシステムの決定、そして
- ユーザ領域にあるものの初期化です。このことは下に述べる
- いくつかの興味深い可能性につながっているのです...
- </abstract>
-
- <toc>
--->
-
- <sect><heading>FreeBSDのブート処理の流れ<label id="booting"></heading>
-
- <p><em>原作: &a.phk;. v1.1, April 26th.</em>
- <p><em>訳: &a.nakai; September 6 1996.</em>
-
- FreeBSDのブートには基本的に3つの段階があります:
- カーネルの読み込み, ルートのファイルシステムの決定, そして
- ユーザ領域にあるものの初期化です. このことは下に述べる
- いくつかの興味深い可能性につながっています。
-
- <sect1><heading>カーネルの読み込み</heading>
- <p>
- 現在, カーネルの読み込みには基本的に下に挙げる3つの方法が
- あります:
- これらはカーネルが次に何をしたらいいのかという情報をカーネルに
- 与えます.
-
- <descrip>
- <tag>Biosboot</tag>
-
- Biosbootは「ブートブロック」に相当するもので, 2つのファイル
- から構成されており, フロッピーディスクやハードディスクのブートを
- 開始する側の 8K バイトにインストールされています。
-
- Biosboot は FreeBSD のファイルシステムからカーネルを
- 読み込むことができます.
-
- <tag>Dosboot</tag>
-
- Dosbootは DI. Christian Gusenbauerによって書かれましたが,
- 不幸にしてこの場合には、コードのある一部分がマイクロソフトの
- コンパイラ向けに書かれているため、FreeBSD 単体ではコンパイル
- することはできません.
-
- Dosboot は MS-DOS のファイルから、またはディスクの
- FreeBSD ファイルシステムのパーティションからカーネルをブートします。
- これは MS-DOS システムのハイメモリ領域に潜んでいるメモリマネージャ等の
- さまざまな怪しい代物とメモリの取り合いをして、なんとかブートしています.
-
- <tag>Netboot</tag>
-
- Netboot はサポートされているイーサネットカードを検出し、
- BOOTP や TFTP、NFS を使ってブートするカーネルを探そうとします。
-
-</descrip>
-
-
- <sect1><heading>ルートファイルシステムの決定</heading>
- <p>
- カーネルが読み込まれ、ブートプログラムがカーネルに移行したら,
- カーネルは自身の初期化をし, どんなハードウェアが組み込まれいるか
- を決定し、それからルートファイルシステムを探さなくてはなりません。
-
- 現在サポートされているルートファイルシステムは次の通りです :
-
-<descrip>
- <tag>UFS</tag>
-
- UFS は, もっとも一般的なタイプのルートシステムです。
- フロッピーディスクやハードディスク上に存在します。
-
- <tag>MSDOS</tag>
-
- 技術的に可能ですが、あまり有用ではありません。なぜならば、
- ``FAT''ファイルシステムではリンクやデバイスノードなどの
- ``UNIX 主義''を実現できないからです。
-
- <tag>MFS</tag>
-
- MFS はカーネル内部に組み込みになっている UFS
- ファイルシステムです。つまり MFS を機能させるのに
- ディスクやフロッピーディスクなどのハードウェアは
- 必要ではありません.
-
-
- <tag>CD9660</tag>
-
- CD9660 は CD-ROM をルートファイルシステムに使用したものです。
-
- <tag>NFS</tag>
-
- これはルートシステムにファイルサーバを使用していて、基本的に
- ディスクレスのマシンのためにあります。
-</descrip>
-
-
- <sect1><heading>ユーザ領域にあるものの初期化</heading>
- <p>
-
- ユーザ領域で動作させるようにするために、カーネルが初期化を終えると、
- カーネルは``<tt/pid == 1/''のプロセスを生成し、ルートファイルシステム
- 上のプログラムを実行します。このプログラムは通常``<tt>/sbin/init</tt>''
- です。
-
- /sbin/init を別なプログラム置き換えてしまうことは可能ですが、そのプロセス
- には以下のような制約があります:
-
- pid が 1 のプロセスには stdin/stdout/stderr は割り当てられていませんので、
- プログラムは自分でこれらをオープンしないとなりません。
- このプロセスが終了するとカーネルはパニックメッセージを表示して
- 停止します。
- また、このプロセスに対するシグナル処理は特殊です。
-
- この例として、インストール用のフロッピーディスクにある
- ``<tt>/stand/sysinstall</tt>''があります。
-
-
- <sect1><heading>興味深い連係</heading>
- <p>
- カーネルを MFS でブートするのには次のような特別の<tt>/sbin/init</tt>
- を使います。
- <descrip>
- <tag/A -- DOS を使う場合/
- <itemize>
- <item><tt/C:/ を <tt>/C:</tt> にマウントします。
- <item><tt>C:/freebsd.fs</tt> を <tt>/dev/vn0</tt> にアタッチします。
- <item><tt>/dev/vn0</tt> を <tt>/rootfs</tt> にマウントします。
- <item>シンボリックリンクを作ります。<newline>
- <tt>/rootfs/bin -&gt; /bin</tt><newline>
- <tt>/rootfs/etc -&gt; /etc</tt><newline>
- <tt>/rootfs/sbin -&gt; /sbin</tt><newline>
- (etc...)<newline>
- </itemize>
-
- これでハードディスクのパーティションを切り直さずに FreeBSD を
- 使うことができます。
-
- <tag/B -- NFS を使う場合/
-
- NFS は<tt>サーバ:&tilde;you/FreeBSD</tt> を
- <tt>/nfs</tt>にマウントし、ルートディレクトリを <tt>/nfs</tt> に変更して,
- そこで<tt>/sbin/init</tt>を実行します。
-
- これで FreeBSD をディスクレスで実行できますが、NFS サーバを
- コントロールできないままです...
-
- <tag/C -- X-server を起動する場合/
-
- これで Xターミナルが手に入りました. これは, これでハードウェア
- に費用を割いたりするよりはいい, と上司が主張した, Windows で
- 動作する遅くて何がおこなわれているのか見ることができるような
- すすけた X Window エミュレータなんかよりよいものです.
-
- <tag/D -- テープを使う場合/
- <tt>/dev/rwd0</tt> のコピーを取って、リモートにあるテープ
- ステーションやファイルサーバに書き込んでください。
-
- これで一年前に取っておくべきだったバックアップをやっと
- 取ることができました。
-
- <tag>E -- ファイアウォール/Web サーバとして動作させる場合 (私の知っている範囲で...)</tag>
-
- これは特に面白いもので、書き込み禁止のフロッピーディスクから
- ブートができて、ルートのファイルシステムに書き込むことができる
- というものです。
- </descrip>
diff --git a/share/doc/ja_JP.EUC/handbook/contrib.sgml b/share/doc/ja_JP.EUC/handbook/contrib.sgml
deleted file mode 100644
index 89ab09c..0000000
--- a/share/doc/ja_JP.EUC/handbook/contrib.sgml
+++ /dev/null
@@ -1,499 +0,0 @@
-<!-- $Id: contrib.sgml,v 1.57 1997/05/20 14:25:19 max Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.249 -->
-
-<!-- Please try to keep the file 'avail' (from CVSROOT)
- in sync with the list of FreeBSD Developers -->
-
-<chapt><heading>FreeBSDプロジェクトスタッフ<label id="staff"></heading>
-
-<p><em>訳: &a.hanai;<newline>28 August 1996.</em>
-
-<p>FreeBSDプロジェクトは, 以下の人々によって管理運営されています.
-
- <sect><heading>FreeBSD コアチーム<label id="contrib:core"></heading>
- <p>FreeBSD コアチームは, プロジェクトの運用委員会を形成し, FreeBSD
- プロジェクトの全般的な目的や方針の決定を行います. さらに,
- FreeBSDプロジェクトの<ref id="contrib:who" name="特定の分野">の
- 運用も行っています.
-
- <p>(姓でアルファベット順):
-
- <itemize>
- <item>&a.asami;
- <item>&a.jmb;
- <item>&a.ache;
- <item>&a.dyson;
- <item>&a.bde;
- <item>&a.gibbs;
- <item>&a.davidg;
- <item>&a.jkh;
- <item>&a.phk;
- <item>&a.rich;
- <item>&a.gpalmer;
- <item>&a.jdp;
- <item>&a.guido;
- <item>&a.sos;
- <item>&a.peter;
- <item>&a.wollman;
- <item>&a.joerg;
- </itemize>
-
- <sect><heading>FreeBSD の開発者たち<label id="contrib:committers"></heading>
-
- <p>(CVSの)commitする権利を持っていて, FreeBSD のソースツリーについて
- 作業をおこなっている人々がいます. すべてのコアチームのメンバと
- ほとんどの FreeBSDドキュメンテーションプロジェクトのスタッフはま
- た 開発者でもあります.
-
- <itemize>
- <item>&a.mbarkah;
- <item>&a.stb;
- <item>&a.jb;
- <item>&a.torstenb;
- <item>&a.danny;
- <item>&a.charnier;
- <item>&a.kjc;
- <item>&a.gclarkii;
- <item>&a.cracauer;
- <item>&a.adam;
- <item>&a.dufault;
- <item>&a.uhclem;
- <item>&a.tegge;
- <item>&a.eivind;
- <item>&a.sef;
- <item>&a.julian;
- <item>&a.se;
- <item>&a.fenner;
- <item>&a.jfieber;
- <item>&a.jfitz;
- <item>&a.lars;
- <item>&a.scrappy;
- <item>&a.tg;
- <item>&a.graichen;
- <item>&a.jgreco;
- <item>&a.rgrimes;
- <item>&a.jmg;
- <item>&a.jhay;
- <item>&a.hsu;
- <item>&a.ugen;
- <item>&a.gj;
- <item>&a.nsj;
- <item>&a.ljo;
- <item>&a.darrenr;
- <item>&a.kato;
- <item>&a.andreas;
- <item>&a.erich;
- <item>&a.imp;
- <item>&a.smace;
- <item>&a.mckay;
- <item>&a.tedm;
- <item>&a.amurai;
- <item>&a.markm;
- <item>&a.max;
- <item>&a.alex;
- <item>&a.davidn;
- <item>&a.obrien;
- <item>&a.fsmp;
- <item>&a.smpatel;
- <item>&a.wpaul;
- <item>&a.jmacd;
- <item>&a.steve;
- <item>&a.mpp;
- <item>&a.dfr;
- <item>&a.jraynard;
- <item>&a.csgr;
- <item>&a.martin;
- <item>&a.paul;
- <item>&a.roberto;
- <item>&a.chuckr;
- <item>&a.dima;
- <item>&a.wosch;
- <item>&a.ats;
- <item>&a.msmith;
- <item>&a.brian;
- <item>&a.stark;
- <item>&a.karl;
- <item>&a.pst;
- <item>&a.swallace;
- <item>&a.nate;
- <item>&a.yokota;
- <item>&a.jmz;
- <item>&a.hanai;
- </itemize>
-
- <sect><heading>FreeBSD ドキュメンテーションプロジェクト<label
- id="contrib:doc"></heading>
-
- <p>FreeBSD ドキュメンテーションプロジェクトは複数のサービスを提供
- しています. それぞれのサービスは, 以下の担当者とその
- <em>副担当者</em>によって運用されています.
-
- <p><descrip>
- <tag/ドキュメンテーションプロジェクト担当/ &a.jfieber
- <tag/Web 管理責任者/ &a.mbarkah; <p><em>副責任者:</em> &a.paul
- <tag/ハンドブックおよび FAQ 編集担当/ &a.pds
- <tag/ドキュメント構築環境の技術責任者/ &a.paul; <p><em>副責任者:</em> &a.dave
- <tag/Mirror 担当/ &a.ulf; <p><em>副担当</em>&a.john
- <tag/ニュースフラッシュ編集担当/ &a.nsj; <p><em>副担当:</em>&a.john;
- <tag/FreeBSD ギャラリーおよび商用ベンダ情報ページ担当/ &a.nsj; <p><em>副担当</em>&a.cawimm
- <tag/WEB ページデザイン等の美術担当/ &a.dave; <p><em>副担当:</em>&a.opsys
- <tag/データベース技術担当/ &a.mayo; <p><em>副担当:</em>&a.cracauer
- <tag/CGI 技術担当/ &a.cracauer;<p><em>副担当:</em> &a.stb
- <tag/雑務担当/ &a.nsj
- </descrip>
-
- <sect><heading>担当者<label id="contrib:who"></heading>
-
- <p><descrip>
- <tag/最高技術責任者/ &a.davidg
- <tag/ドキュメンテーションプロジェクト担当/ &a.jfieber
- <tag/国際化/ &a.ache
- <tag/ネットワーク/ &a.wollman
- <tag/ポストマスタ/ &a.jmb;
- <tag/リリースコーディネータ/ &a.jkh
- <tag/広報および渉外担当/ &a.jkh
- <tag/セキュリティ担当/ &a.guido
- <tag/CVS ツリー管理者/ &a.peter
- <tag/ports コレクション担当/ &a.asami
- <tag/XFree86 Project, Inc. との渉外担当/ &a.rich
- <tag/Usenet サポート/ &a.joerg;
- </descrip>
-
-<chapt><heading>FreeBSDへのコントリビュータ<label id="contrib"></heading>
-
- <sect><heading>BSD派生ソフトウェアへのコントリビュータ</heading>
-
- <p>このソフトウェアは最初は William F. Jolitz の 386BSD release 0.1
- から派生しましたが, オリジナルの 386BSD に固有のコードはほとんど
- 残っていません. このソフトウェアは基本的にはカリフォルニア大学
- バークレイ校の Computer Science Research Group (CSRG) とその共同研究者
- たちによる 4.4BSD-Lite リリースから再実装されました.
-
- また, NetBSD の一部も FreeBSD に取り込まれています. したがって私たちは
- NetBSD へ貢献した人々すべてに感謝します.二つのグループの関係が
- ギクシャクすることも時にはありますが, 私たちは基本的には共に同じ目的
- を持っています. すなわち, 人々のコンピュータにもっと BSD をベースに
- したオペレーティングシステムを! ということです. 私たちは NetBSD
- の努力が常に成功してほしいと思っています.
-
- <sect><heading>その他の FreeBSD へのコントリビュータ<label
- id="contrib:additional"></heading>
-
- <p>(名前でアルファベット順に):
-
- <itemize>
- <item>A JOSEPH KOSHY &lt;koshy@india.hp.com&gt;
- <item>ABURAYA Ryushirou &lt;pcs51674@asciinet.or.jp&gt;
- <item>Adam Glass &lt;glass@postgres.berkeley.edu&gt;
- <item>Adrian T. Filipi-Martin &lt;atf3r@agate.cs.virginia.edu&gt;
- <item>Akito Fujita &lt;fujita@zoo.ncl.omron.co.jp&gt;
- <item>Alain Kalker &lt;A.C.P.M.Kalker@student.utwente.nl&gt;
- <item>Alan Cox &lt;alc@cs.rice.edu&gt;
- <item>Andreas Kohout &lt;shanee@rabbit.augusta.de&gt;
- <item>Andreas Lohr &lt;andreas@marvin.RoBIN.de&gt;
- <item>Andrew Gordon &lt;andrew.gordon@net-tel.co.uk&gt;
- <item>Andrew Herbert &lt;andrew@werple.apana.org.au&gt;
- <item>Andrew McRae &lt;amcrae@cisco.com&gt;
- <item>Andrew Moore &lt;alm@FreeBSD.org&gt;
- <item>Andrew Stevenson &lt;andrew@ugh.net.au&gt;
- <item>Andrew V. Stesin &lt;stesin@elvisti.kiev.ua&gt;
- <item>Andrey Zakhvatov &lt;andy@cgu.chel.su&gt;
- <item>Andy Whitcroft &lt;andy@sarc.city.ac.uk&gt;
- <item>Anthony Yee-Hang Chan &lt;yeehang@netcom.com&gt;
- <item>Brent J. Nordquist &lt;bjn@visi.com&gt;
- <item>Bernd Rosauer &lt;br@schiele-ct.de&gt;
- <item>Bill Kish &lt;kish@osf.org&gt;
- <item>&a.wlloyd
- <item>Bob Wilcox &lt;bob@obiwan.uucp&gt;
- <item>Boyd Faulkner &lt;faulkner@mpd.tandem.com&gt;
- <item>Brent J. Nordquist &lt;bjn@visi.com&gt;
- <item>Brian Clapper &lt;bmc@willscreek.com&gt;
- <item>Brian Handy &lt;handy@lambic.space.lockheed.com&gt;
- <item>Brian Tao &lt;taob@risc.org&gt;
- <item>Carey Jones &lt;mcj@acquiesce.org&gt;
- <item>Charles Hannum &lt;mycroft@ai.mit.edu&gt;
- <item>Charles Mott &lt;cmott@srv.net&gt;
- <item>Chet Ramey &lt;chet@odin.INS.CWRU.Edu&gt;
- <item>Chris Dabrowski &lt; chris@vader.org&gt;
- <item>Chris G. Demetriou &lt;cgd@postgres.berkeley.edu&gt;
- <item>Chris Stenton &lt;jacs@gnome.co.uk&gt;
- <item>Chris Timmons &lt;skynyrd@opus.cts.cwu.edu&gt;
- <item>Chris Torek &lt;torek@ee.lbl.gov&gt;
- <item>Christian Gusenbauer &lt;cg@fimp01.fim.uni-linz.ac.at&gt;
- <item>Christian Haury &lt;Christian.Haury@sagem.fr&gt;
- <item>Christoph Robitschko &lt;chmr@edvz.tu-graz.ac.at&gt;
- <item>Choi Jun Ho &lt;junker@jazz.snu.ac.kr&gt;
- <item>Chuck Hein &lt;chein@cisco.com&gt;
- <item>Conrad Sabatier &lt;conrads@neosoft.com&gt;
- <item>Cornelis van der Laan &lt;nils@guru.ims.uni-stuttgart.de&gt;
- <item>Craig Struble &lt;cstruble@vt.edu&gt;
- <item>Cristian Ferretti &lt;cfs@riemann.mat.puc.cl&gt;
- <item>Curt Mayer &lt;curt@toad.com&gt;
- <item>Dan Cross &lt;tenser@spitfire.ecsel.psu.edu&gt;
- <item>Daniel Baker &lt;dbaker@crash.ops.neosoft.com&gt;
- <item>Daniel M. Eischen &lt;deischen@iworks.InterWorks.org&gt;
- <item>Danny J. Zerkel &lt;dzerkel@feephi.phofarm.com&gt;
- <item>Dave Bodenstab &lt;imdave@synet.net&gt;
- <item>Dave Burgess &lt;burgess@hrd769.brooks.af.mil&gt;
- <item>Dave Chapeskie &lt;dchapes@zeus.leitch.com&gt;
- <item>Dave Edmondson &lt;davided@sco.com&gt;
- <item>Dave Rivers &lt;rivers@ponds.uucp&gt;
- <item>David Dawes &lt;dawes@physics.su.OZ.AU&gt;
- <item>David Leonard &lt;d@scry.dstc.edu.au&gt;
- <item>Dean Huxley &lt;dean@fsa.ca&gt;
- <item>Dirk Froemberg &lt;dirk@hal.in-berlin.de&gt;
- <item>Dmitrij Tejblum &lt;dima@tejblum.dnttm.rssi.ru&gt;
- <item>Dmitry Kohmanyuk &lt;dk@farm.org&gt;
- <item>&a.whiteside;
- <item>Don Yuniskis &lt;dgy@rtd.com&gt;
- <item>Donald Burr &lt;d_burr@ix.netcom.com&gt;
- <item>Doug Ambrisko &lt;ambrisko@ambrisko.roble.com&gt;
- <item>Eric Blood &lt;eblood@cs.unr.edu&gt;
- <item>Frank Bartels &lt;knarf@camelot.de&gt;
- <item>Frank Maclachlan &lt;fpm@crash.cts.com&gt;
- <item>Frank Nobis &lt;fn@trinity.radio-do.de&gt;
- <item>FURUSAWA Kazuhisa &lt;furusawa@com.cs.osakafu-u.ac.jp&gt;
- <item>Gary A. Browning &lt;gab10@griffcd.amdahl.com&gt;
- <item>Greg Ungerer &lt;gerg@stallion.oz.au&gt;
- <item>Harlan Stenn &lt;Harlan.Stenn@pfcs.com&gt;
- <item>Havard Eidnes &lt;Havard.Eidnes@runit.sintef.no&gt;
- <item>Hideaki Ohmon &lt;ohmon@tom.sfc.keio.ac.jp&gt;
- <item>Hidekazu Kuroki &lt;hidekazu@cs.titech.ac.jp&gt;
- <item>Hidetoshi Shimokawa &lt;simokawa@sat.t.u-tokyo.ac.jp&gt;
- <item>Holger Veit &lt;Holger.Veit@gmd.de&gt;
- <item>Hung-Chi Chu &lt;hcchu@r350.ee.ntu.edu.tw&gt;
- <item>Igor Vinokurov &lt;igor@zynaps.ru&gt;
- <item>Ikuo Nakagawa &lt;ikuo@isl.intec.co.jp&gt;
- <item>IMAMURA Tomoaki &lt;tomoak-i@is.aist-nara.ac.jp&gt;
- <item>Ishii Masahiro &lt;?&gt;
- <item>Itsuro Saito &lt;saito@miv.t.u-tokyo.ac.jp&gt;
- <item>J. David Lowe &lt;lowe@saturn5.com&gt;
- <item>J.T. Conklin &lt;jtc@cygnus.com&gt;
- <item>James Clark &lt;jjc@jclark.com&gt;
- <item>James da Silva &lt;jds@cs.umd.edu&gt; et al
- <item>Janusz Kokot &lt;janek@gaja.ipan.lublin.pl&gt;
- <item>Jason Thorpe &lt;thorpej@nas.nasa.gov&gt;
- <item>Javier Martin Rueda &lt;jmrueda@diatel.upm.es&gt;
- <item>Jeffrey Wheat &lt;jeff@cetlink.net&gt;
- <item>Jian-Da Li &lt;jdli@csie.NCTU.edu.tw&gt;
- <item>Jim Lowe &lt;james@cs.uwm.edu&gt;
- <item>Jim Wilson &lt;wilson@moria.cygnus.com&gt;
- <item>Johann Tonsing &lt;jtonsing@mikom.csir.co.za&gt;
- <item>Joel Sutton &lt;suttonj@interconnect.com.au&gt;
- <item>John Capo &lt;jc@irbs.com&gt;
- <item>John Perry &lt;perry@vishnu.alias.net&gt;
- <item>Juergen Lock &lt;nox@jelal.hb.north.de&gt;
- <item>Juha Inkari &lt;inkari@cc.hut.fi&gt;
- <item>Julian Assange &lt;proff@suburbia.net&gt;
- <item>Julian Jenkins &lt;kaveman@magna.com.au&gt;
- <item>Julian Stacey &lt;jhs@freebsd.org&gt;
- <item>Jun-ichiro Itoh &lt;itojun@csl.sony.co.jp&gt;
- <item>Justin M. Seger &lt;jseger@scds.ziplink.net&gt;
- <item>Kazuhiko Kiriyama &lt;kiri@kiri.toba-cmt.ac.jp&gt;
- <item>Kazutaka YOKOTA &lt;yokota@zodiac.mech.utsunomiya-u.ac.jp&gt;
- <item>Keith Bostic &lt;bostic@bostic.com&gt;
- <item>Keith Moore &lt;?&gt;
- <item>Kenneth Monville &lt;desmo@bandwidth.org&gt;
- <item>Kent Vander Velden &lt;graphix@iastate.edu&gt;
- <item>Kirk McKusick &lt;mckusick@mckusick.com&gt;
- <item>Kiroh HARADA &lt;kiroh@kh.rim.or.jp&gt;
- <item>Koichi Sato &lt;copan@ppp.fastnet.or.jp&gt;
- <item>Kostya Lukin &lt;lukin@okbmei.msk.su&gt;
- <item>Kurt Olsen &lt;kurto@tiny.mcs.usu.edu&gt;
- <item>Lars Koeller &lt;Lars_Koeller@odie.physik2.uni-rostock.de&gt;
- <item>Lucas James &lt;Lucas.James@ldjpc.apana.org.au&gt;
- <item>Luigi Rizzo &lt;luigi@iet.unipi.it&gt;
- <item>Makoto Matsushita &lt;matusita@ics.es.osaka-u.ac.jp&gt;
- <item>Manu Iyengar &lt;iyengar@grunthos.pscwa.psca.com&gt;
- <item>Marc Frajola &lt;marc@dev.com&gt;
- <item>Marc Ramirez &lt;mrami@mramirez.sy.yale.edu&gt;
- <item>Marc Slemko &lt;marcs@znep.com&gt;
- <item>Marc van Kempen &lt;wmbfmk@urc.tue.nl&gt;
- <item>Mark Huizer &lt;xaa@stack.nl&gt;
- <item>Mark J. Taylor &lt;mtaylor@cybernet.com&gt;
- <item>Mark Tinguely &lt;tinguely@plains.nodak.edu&gt;
- &lt;tinguely@hookie.cs.ndsu.NoDak.edu&gt;
- <item>Martin Birgmeier
- <item>Masachika ISHIZUKA &lt;ishizuka@isis.min.ntt.jp&gt;
- <item>Mats Lofkvist &lt;mal@algonet.se&gt;
- <item>Matt Bartley &lt;mbartley@lear35.cytex.com&gt;
- <item>Matt Thomas &lt;thomas@lkg.dec.com&gt;
- <item>Matt White &lt;mwhite+@CMU.EDU&gt;
- <item>Matthew Hunt &lt;mph@pobox.com&gt;
- <item>Matthew N. Dodd &lt;winter@jurai.net&gt;
- <item>Matthew Stein &lt;matt@bdd.net&gt;
- <item>Michael Butschky &lt;butsch@computi.erols.com&gt;
- <item>Michael Elbel &lt;me@FreeBSD.ORG&gt;
- <item>Michael Searle &lt;searle@longacre.demon.co.uk&gt;
- <item>Miguel Angel Sagreras &lt;msagre@cactus.fi.uba.ar&gt;
- <item>Mikael Hybsch &lt;micke@dynas.se&gt;
- <item>Mikhail Teterin &lt;mi@aldan.ziplink.net&gt;
- <item>Mike McGaughey &lt;mmcg@cs.monash.edu.au&gt;
- <item>Mike Peck &lt;mike@binghamton.edu&gt;
- <item>MITA Yoshio &lt;mita@jp.FreeBSD.ORG&gt;
- <item>MOROHOSHI Akihiko &lt;moro@race.u-tokyo.ac.jp&gt;
- <item>Naoki Hamada &lt;nao@tom-yam.or.jp&gt;
- <item>Narvi &lt;narvi@haldjas.folklore.ee&gt;
- <item>NIIMI Satoshi &lt;sa2c@and.or.jp&gt;
- <item>Nick Sayer &lt;nsayer@quack.kfu.com&gt;
- <item>Nisha Talagala &lt;nisha@cs.berkeley.edu&gt;
- <item>Nobuhiro Yasutomi &lt;nobu@psrc.isac.co.jp&gt;
- <item>Nobuyuki Koganemaru &lt;kogane@kces.koganemaru.co.jp&gt;
- <item>Noritaka Ishizumi &lt;graphite@jp.FreeBSD.ORG&gt;
- <item>Oliver Laumann &lt;net@informatik.uni-bremen.de&gt;
- <item>Oliver Oberdorf &lt;oly@world.std.com&gt;
- <item>Paul Fox &lt;pgf@foxharp.boston.ma.us&gt;
- <item>Paul Kranenburg &lt;pk@cs.few.eur.nl&gt;
- <item>Paul Mackerras &lt;paulus@cs.anu.edu.au&gt;
- <item>Paulo Menezes &lt;paulo@isr.uc.pt&gt;
- <item>Pedro Giffuni &lt;pgiffuni@fps.biblos.unal.edu.co&gt;
- <item>Pedro A M Vazquez &lt;vazquez@IQM.Unicamp.BR&gt;
- <item>Peter Stubbs &lt;PETERS@staidan.qld.edu.au&gt;
- <item>R. Kym Horsell &lt;?&gt;
- <item>Ralf S. Engelschall &lt;rse@engelschall.com&gt;
- <item>Randall Hopper &lt;rhh@stealth.ct.picker.com&gt;
- <item>Richard Stallman &lt;rms@gnu.ai.mit.edu&gt;
- <item>Richard Wiwatowski &lt;rjwiwat@adelaide.on.neti&gt;
- <item>Rob Mallory &lt;rmallory@csusb.edu&gt;
- <item>Rob Shady &lt;rls@id.net&gt;
- <item>Rob Snow &lt;rsnow@txdirect.net&gt;
- <item>Robert Sanders &lt;rsanders@mindspring.com&gt;
- <item>Robert Withrow &lt;witr@rwwa.com&gt;
- <item>Ronald Kuehn &lt;kuehn@rz.tu-clausthal.de&gt;
- <item>Samuel Lam &lt;skl@ScalableNetwork.com&gt;
- <item>Sander Vesik &lt;sander@haldjas.folklore.ee&gt;
- <item>Sandro Sigala &lt;ssigala@globalnet.it&gt;
- <item>Sascha Blank &lt;blank@fox.uni-trier.de&gt;
- <item>Sascha Wildner &lt;swildner@channelz.GUN.de&gt;
- <item>Scott Blachowicz &lt;scott@sabami.seaslug.org&gt;
- <item>Serge V. Vakulenko &lt;vak@zebub.msk.su&gt;
- <item>Simon Marlow &lt;simonm@dcs.gla.ac.uk&gt;
- <item>Slaven Rezic (Tomic) &lt;eserte@cs.tu-berlin.de&gt;
- <item>Soren Dayton &lt;csdayton@midway.uchicago.edu&gt;
- <item>Stefan Moeding &lt;moeding@bn.DeTeMobil.de&gt;
- <item>Steve Gerakines &lt;steve2@genesis.tiac.net&gt;
- <item>Suzuki Yoshiaki &lt;zensyo@ann.tama.kawasaki.jp&gt;
- <item>Tadashi Kumano &lt;kumano@strl.nhk.or.jp&gt;
- <item>Taguchi Takeshi &lt;taguchi@tohoku.iij.ad.jp&gt;
- <item>Tatsumi Hosokawa &lt;hosokawa@mt.cs.keio.ac.jp&gt;
- <item>Terry Lambert &lt;terry@lambert.org&gt;
- <item>Terry Lee &lt;terry@uivlsi.csl.uiuc.edu&gt;
- <item>Theo Deraadt &lt;deraadt@fsa.ca&gt;
- <item>Thomas K&ouml;nig &lt;Thomas.Koenig@ciw.uni-karlsruhe.de&gt;
- <item>Tim Kientzle &lt;kientzle@netcom.com&gt;
- <item>Tim Vanderhoek &lt;ac199@freenet.hamilton.on.ca&gt;
- <item>Tom Samplonius &lt;tom@misery.sdf.com&gt;
- <item>Torbjorn Granlund &lt;tege@matematik.su.se&gt;
- <item>Toshihiro Kanda &lt;candy@fct.kgc.co.jp&gt;
- <item>Vanill Ice &lt;vanilla@Minje.Com.TW&gt;
- <item>Ville Eerola &lt;ve@sci.fi&gt;
- <item>Werner Griessl &lt;werner@btp1da.phy.uni-bayreuth.de&gt;
- <item>Wes Santee &lt;wsantee@wsantee.oz.net&gt;
- <item>Wolfgang Stanglmeier &lt;wolf@kintaro.cologne.de&gt;
- <item>Yoshiro Mihira &lt;sanpei@yy.cs.keio.ac.jp&gt;
- <item>Yukihiro Nakai &lt;nakai@mlab.t.u-tokyo.ac.jp&gt;
- <item>Yuval Yarom &lt;yval@cs.huji.ac.il&gt;
- <item>Yves Fonk &lt;yves@cpcoup5.tn.tudelft.nl&gt;
- </itemize>
-
- <sect><heading>386BSD パッチキットへのパッチ提供者</heading>
-
- <p>(名前でアルファベット順):
-
- <itemize>
- <item>Adam Glass &lt;glass@postgres.berkeley.edu&gt;
- <item>Adrian Hall &lt;adrian@ibmpcug.co.uk&gt;
- <item>Andrey A. Chernov &lt;ache@astral.msk.su&gt;
- <item>Andrew Herbert &lt;andrew@werple.apana.org.au&gt;
- <item>Andrew Moore &lt;alm@netcom.com&gt;
- <item>Andy Valencia &lt;ajv@csd.mot.com&gt; &lt;jtk@netcom.com&gt;
- <item>Arne Henrik Juul &lt;arnej@Lise.Unit.NO&gt;
- <item>Bakul Shah &lt;bvs@bitblocks.com&gt;
- <item>Barry Lustig &lt;barry@ictv.com&gt;
- <item>Bob Wilcox &lt;bob@obiwan.uucp&gt;
- <item>Branko Lankester
- <item>Brett Lymn &lt;blymn@mulga.awadi.com.AU&gt;
- <item>Charles Hannum &lt;mycroft@ai.mit.edu&gt;
- <item>Chris G. Demetriou &lt;cgd@postgres.berkeley.edu&gt;
- <item>Chris Torek &lt;torek@ee.lbl.gov&gt;
- <item>Christoph Robitschko &lt;chmr@edvz.tu-graz.ac.at&gt;
- <item>Daniel Poirot &lt;poirot@aio.jsc.nasa.gov&gt;
- <item>Dave Burgess &lt;burgess@hrd769.brooks.af.mil&gt;
- <item>Dave Rivers &lt;rivers@ponds.uucp&gt;
- <item>David Dawes &lt;dawes@physics.su.OZ.AU&gt;
- <item>David Greenman &lt;davidg@Root.COM&gt;
- <item>Eric J. Haug &lt;ejh@slustl.slu.edu&gt;
- <item>Felix Gaehtgens &lt;felix@escape.vsse.in-berlin.de&gt;
- <item>Frank Maclachlan &lt;fpm@crash.cts.com&gt;
- <item>Gary A. Browning &lt;gab10@griffcd.amdahl.com&gt;
- <item>Geoff Rehmet &lt;csgr@alpha.ru.ac.za&gt;
- <item>Goran Hammarback &lt;goran@astro.uu.se&gt;
- <item>Guido van Rooij &lt;guido@gvr.win.tue.nl&gt;
- <item>Guy Harris &lt;guy@auspex.com&gt;
- <item>Havard Eidnes &lt;Havard.Eidnes@runit.sintef.no&gt;
- <item>Herb Peyerl &lt;hpeyerl@novatel.cuc.ab.ca
- <item>Holger Veit &lt;Holger.Veit@gmd.de&gt;
- <item>Ishii Masahiro, R. Kym Horsell
- <item>J.T. Conklin &lt;jtc@cygnus.com&gt;
- <item>Jagane D Sundar &lt; jagane@netcom.com &gt;
- <item>James Clark &lt;jjc@jclark.com&gt;
- <item>James Jegers &lt;jimj@miller.cs.uwm.edu&gt;
- <item>James W. Dolter
- <item>James da Silva &lt;jds@cs.umd.edu&gt; et al
- <item>Jay Fenlason &lt;hack@datacube.com&gt;
- <item>Jim Wilson &lt;wilson@moria.cygnus.com&gt;
- <item>J&ouml;rg Lohse &lt;lohse@tech7.informatik.uni-hamburg.de&gt;
- <item>J&ouml;rg Wunsch &lt;joerg_wunsch@uriah.heep.sax.de&gt;
- <item>John Dyson - &lt;formerly dyson@ref.tfs.com&gt;
- <item>John Polstra &lt;jdp@polstra.com&gt;
- <item>John Woods &lt;jfw@eddie.mit.edu&gt;
- <item>Jordan K. Hubbard &lt;jkh@whisker.hubbard.ie&gt;
- <item>Julian Elischer &lt;julian@dialix.oz.au&gt;
- <item>Julian Stacey &lt;jhs@freebsd.org&gt;
- <item>Karl Lehenbauer &lt;karl@NeoSoft.com&gt;
- &lt;karl@one.neosoft.com&gt;
- <item>Keith Bostic &lt;bostic@toe.CS.Berkeley.EDU&gt;
- <item>Ken Hughes
- <item>Kent Talarico &lt;kent@shipwreck.tsoft.net&gt;
- <item>Kevin Lahey &lt;kml%rokkaku.UUCP@mathcs.emory.edu&gt;
- &lt;kml@mosquito.cis.ufl.edu&gt;
- <item>Marc Frajola &lt;marc@dev.com&gt;
- <item>Mark Tinguely &lt;tinguely@plains.nodak.edu&gt;
- &lt;tinguely@hookie.cs.ndsu.NoDak.edu&gt;
- <item>Martin Renters &lt;martin@tdc.on.ca&gt;
- <item>Michael Clay &lt;mclay@weareb.org&gt;
- <item>Michael Galassi &lt;nerd@percival.rain.com&gt;
- <item>Mike Durkin &lt;mdurkin@tsoft.sf-bay.org&gt;
- <item>Naoki Hamada &lt;nao@tom-yam.or.jp&gt;
- <item>Nate Williams &lt;nate@bsd.coe.montana.edu&gt;
- <item>Nick Handel &lt;nhandel@NeoSoft.com&gt;
- &lt;nick@madhouse.neosoft.com&gt;
- <item>Pace Willisson &lt;pace@blitz.com&gt;
- <item>Paul Kranenburg &lt;pk@cs.few.eur.nl&gt;
- <item>Paul Mackerras &lt;paulus@cs.anu.edu.au&gt;
- <item>Paul Popelka &lt;paulp@uts.amdahl.com&gt;
- <item>Peter da Silva &lt;peter@NeoSoft.com&gt;
- <item>Phil Sutherland &lt;philsuth@mycroft.dialix.oz.au&gt;
- <item>Poul-Henning Kamp&lt;phk@FreeBSD.ORG&gt;
- <item>Ralf Friedl &lt;friedl@informatik.uni-kl.de&gt;
- <item>Rick Macklem &lt;root@snowhite.cis.uoguelph.ca&gt;
- <item>Robert D. Thrush &lt;rd@phoenix.aii.com&gt;
- <item>Rodney W. Grimes &lt;rgrimes@cdrom.com&gt;
- <item>Sascha Wildner &lt;swildner@channelz.GUN.de&gt;
- <item>Scott Burris &lt;scott@pita.cns.ucla.edu&gt;
- <item>Scott Reynolds &lt;scott@clmqt.marquette.mi.us&gt;
- <item>Sean Eric Fagan &lt;sef@kithrup.com&gt;
- <item>Simon J Gerraty &lt;sjg@melb.bull.oz.au&gt;
- &lt;sjg@zen.void.oz.au&gt;
- <item>Stephen McKay &lt;syssgm@devetir.qld.gov.au&gt;
- <item>Terry Lambert &lt;terry@icarus.weber.edu&gt;
- <item>Terry Lee &lt;terry@uivlsi.csl.uiuc.edu&gt;
- <item>Tor Egge &lt;Tor.Egge@idi.ntnu.no&gt;
- <item>Warren Toomey &lt;wkt@csadfa.cs.adfa.oz.au&gt;
- <item>Wiljo Heinen &lt;wiljo@freeside.ki.open.de&gt;
- <item>William Jolitz &lt;withheld&gt;
- <item>Wolfgang Solfrank &lt;ws@tools.de&gt;
- <item>Wolfgang Stanglmeier &lt;wolf@dentaro.GUN.de&gt;
- <item>Yuval Yarom &lt;yval@cs.huji.ac.il&gt;
- </itemize>
diff --git a/share/doc/ja_JP.EUC/handbook/crypt.sgml b/share/doc/ja_JP.EUC/handbook/crypt.sgml
deleted file mode 100644
index 9bace51..0000000
--- a/share/doc/ja_JP.EUC/handbook/crypt.sgml
+++ /dev/null
@@ -1,79 +0,0 @@
-<!-- $Id: crypt.sgml,v 1.6 1997/02/25 04:54:28 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.4 -->
-
-<sect><heading>DES, MD5, と Crypt<label id="crypt"></heading>
-
-<p><em>原作: &a.wollman;<newline>24 September 1995.</em>
-
-<p><em>訳: &a.hanai;<newline>12 September 1996.</em>
-
-<p>UN*X システムにおいてパスワードを保護し, 簡単に覗かれるのを防
-ぐために, 従来パスワードはある方法によりスクランブルされてきました.
-ベル研の Unix 第7版に始まって以来, パスワードはセキュリティの専門家がい
-うところの「一方向ハッシュ関数」というものを用いることにより暗号化されるようになりました.
-つまり, 可能な限りのパスワード空間を検索するという強引な
-方法以外にそのオリジナルを得ることができない, といった方法でパスワードは変換
-されるのです. 不幸なことに, その当時 AT&amp;T の研究者たちが手に入れることができ
-た唯一の暗号化方法は DES(Data Encryption Standard) に基づいたものでし
-た. これは営利企業にとっては大して問題ではありませんが, FreeBSDのよ
-うにすべてのソースコードが自由に手に入るオペレーティングシステムにとっ
-ては重大な問題となります. なぜなら, 多くの政府は DES やその他の暗号化ソフ
-トウェアが国境を越えることに制限をつけようとしているからです.
-
-<p>ここで, FreeBSD チームは一つのジレンマに直面しました. つまり, どうす
-れば法に触れることなく国外にあるそれらの UNIX システムのすべてに互換性を持
-たせることができるか, ということです. 私たちは ``dual track approach'' を
-取ることに決めました. 規制されていないパスワードスクランブラのみを含む
-配布用物件を作り, DES に基づいたパスワードハッシュを付加ライブラリ
-として分けて供給するのです. パスワードをスクランブルさせる関数は, C ライブラリから
-`<tt>libcrypt</tt>' と呼ばれる(それを実行する C 関数が `<tt>crypt</tt>' と
-いう名前だからです)別のライブラリへ移されました. FreeBSD 1.x 及び
-2.0 のリリース前のスナップショットでは, その規制されていないスクランブラは
-Nate Williams によって書かれた安全でない関数を使っていますが, 次の
-リリースでは RSA Data Security 社の一方向ハッシュ関数の MD5 を使う方法
-に置き換えられました. これらの関数はどれも暗号化を含んでいないため,
-合衆国から持ち出し, 他の多くの国へ持ち込めるものであるとされています.
-
-<p>一方, DES に基づいたパスワードハッシュ関数に関する作業もまた進行中
-でした, まず, 合衆国及び他の国で書かれたコードの同期をとりながら,
-合衆国の外で書かれた `<tt>crypt</tt>' のあるバージョンが持ち込まれました.
-そしてライブラリは修正され, 二つにわけられました. すなわち
-DES `<tt>libcrypt</tt>' は一方向パスワードハッシュをおこなうのに必要なコード
-のみを含み, それとは別の `<tt>libcipher</tt>' は実際に暗号化をおこなう
-ためのエントリポイントとして生成されました. コンパイルされたライブラリに対
-して国外に持ち出す許可を得るのを簡単にするために, コードはこのように分け
-られたのです.
-
-<sect1><heading>`<tt>crypt</tt>' メカニズムを理解する</heading>
-
-<p>あるパスワード文字列を作るのに, DES に基づいたハッシュ関数を使っ
-たのか, MD5に基づいたハッシュ関数を使ったのかは非常に簡単にわかります.
-MD5 を使ったパスワード文字列は必ず `<tt>&dollar;1&dollar;</tt>' という文字
-で始まります. DESを使ったパスワード文字列はどんな特定の文字も持っていま
-せんが, MD5を使ったパスワードよりも短く, `<tt>&dollar;</tt>' という文字
-を持たない64文字のアルファベットで構成されています. したがって, ドル記号で
-始まっていない比較的短い文字列は DES を使ったパスワードである可能性が非常
-に高いです.
-
-<p>あなたのシステムで, どちらのライブラリが使われているかを決めるの
-は, スタティックにリンクされている `<tt>init</tt>' のようなもの(その
-ようなプログラムに対する唯一の方法はわかっているパスワードを試してみ
-て動くかどうかを確認することです.)を除いたほとんどのプログラムについ
-ては非常に簡単なことです. `<tt>crypt</tt>' を使うようなプログラムは
-`<tt>libcrypt</tt>' にリンクされています. そしてそれぞれのライブラリに
-対する `<tt>libcrypt</tt>' は適切な実装へのシンボリックリンクとなってい
-ます. 例えば, DES 版を使っているようなシステムにおいては次のようになって
-います:
-
-<tscreen><verb>
-$ cd /usr/lib
-$ ls -l /usr/lib/libcrypt*
-lrwxr-xr-x 1 bin bin 13 Sep 5 12:50 libcrypt.a -> libdescrypt.a
-lrwxr-xr-x 1 bin bin 18 Sep 5 12:50 libcrypt.so.2.0 -> libdescrypt.so.2.0
-lrwxr-xr-x 1 bin bin 15 Sep 5 12:50 libcrypt_p.a -> libdescrypt_p.a
-</verb></tscreen>
-
-MD5 に基づいたライブラリを使っているシステムにおいては, 同じようなリンクが
-見られるでしょうが, そのターゲットは `<tt>libdescrypt</tt>' ではなく
-`<tt>libscrypt</tt>' になっているでしょう.
diff --git a/share/doc/ja_JP.EUC/handbook/ctm.sgml b/share/doc/ja_JP.EUC/handbook/ctm.sgml
deleted file mode 100644
index f5f47af..0000000
--- a/share/doc/ja_JP.EUC/handbook/ctm.sgml
+++ /dev/null
@@ -1,217 +0,0 @@
-<!-- $Id: ctm.sgml,v 1.7 1997/04/25 07:24:02 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.17 -->
-<!--
-# This is the sgml version of the ctm.FAQ file.
-#
-# Converted by Ollivier Robert <roberto@FreeBSD.ORG>
-#
-#
-# ----------------------------------------------------------------------------
-# "THE BEER-WARE LICENSE" (Revision 42):
-# <phk@login.dknet.dk> wrote this file. As long as you retain this notice you
-# can do whatever you want with this stuff. If we meet some day, and you think
-# this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
-# ----------------------------------------------------------------------------
-#
--->
-
-<sect1><heading>CTM<label id="ctm"></heading>
-
-<p><em>原作: &a.phk;. 更新: 16-Mar-1995.</em>
-
-<p><em>訳: &a.hanai;<newline>5 November 1996.</em>
-
- <tt/CTM/ はリモートのディレクトリツリーを中央のツリーに同期させるための
- 手段です. これはFreeBSDのソースツリーの配布を行なうために開発されまし
- たが, 時が経つにつれて別の目的にも有用であることがわかるかも
- しれません. デルタを作り出す処理に関するドキュメントは現在ほとんど
- ありません。従って, もしあなたが<tt/CTM/ を他のことに使いたいなら
- &a.phk;にさらなる情報を問い合わせてください.
-
- <sect2><heading>なぜ<tt/CTM/を使うの?</heading>
- <p><tt/CTM/ を使うことにより``FreeBSD-current''のローカルコピーを得ることが
- できます. もしあなたがFreeBSDのアクティブな開発者であるにもかかわらず
- お粗末なTCP/IP接続しか持っていなかったり, またはTCP/IP接続が
- 行なえないとしたら, <tt/CTM/はそんなあなたのために作られたのです.
- あなたは一日あたり四つまでのデルタを転送する必要があるでしょう
- (またはそれを自動的にメールで受けとることができます).
- デルタのサイズは常にできるだけ小さく保たれています.
- 大抵の場合5KBよりも小さく,
- たまに(10回に1回程度)10-50KBになり, ときおり100KBかもっと大きくなる
- でしょう.
-
- ``current''のソースを追いかけるのに,
- 様々な注意に気を付けておく必要もあるでしょう. そのためには
- <ref id="current" name="最新のカレントを追いかける">を読むことを
- お勧めします.
-
- <sect2><heading><tt/CTM/を使うには何が必要?</heading>
-
- <p>二つのものが必要でしょう: ``<tt/CTM/'' プログラムとそれに与える
- (``current''レベルを得るための)最初のデルタです.
-
- <tt/CTM/ プログラムはバージョン2.0のリリース以来FreeBSDの一部にな
- りました. もしソースのコピーを持っているなら
- <tt>/usr/src/usr.sbin/<tt/CTM/</tt>にあります.
-
- もしFreeBSDの2.0以前のバージョンなら, 最新の<tt/CTM/のソースを直接
-
- <url
- url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current/src/usr.sbin/ctm">
-
- から入手できます.
- <tt/CTM/に与える「デルタ」は二つの方法, FTPまたはe-mail, で得ること
- ができます.
- もしインターネットにFTPアクセスできるなら, 次のFTPサイト:
-
- <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/CTM">
-
- または、その<ref id="mirrors-ctm" name="ミラーサイト">が<tt/CTM/
- へのアクセスをサポートします.
- 適切なディレクトリにFTPして<tt/README/ファイルを入手し, そこから
- スタートしてください.
-
- もし電子メールにしかアクセスできない もしくはFTPの使用が制限され
- ているなら, e-mailでデルタを入手したいと思うかもしれません.
-
- メーリングリスト``ctm-src-cur''に参加するために&a.majordomo
- へメールを送ってください. (もしmajordomoを使って参加する方法を知らない
- のであれば, 最初に``help''という語を含むメッセージを送ってください.
- - 使い方の説明が送られてくるでしょう.)
-
- メールで<tt/CTM/による更新ファイルを受け取り始めると, 中身を取り出して使用
- するために<tt/ctm_rmail/プログラムを使うかもしれません. それを完全
- に自動で行ないたいなら, <tt>/etc/aliases</tt>から<tt/ctm_rmail/プロ
- グラムを直接使うこともできます.
- さらに詳しいことは<tt/ctm_rmail/ manページを御覧ください.
-
- <bf/注/: <tt/CTM/デルタを得るためにどの方法を使うのであっても,
- <tt/ctm-announce@FreeBSD.ORG/メーリングリストに参加するべきです.
- このメーリングリストは将来的には<tt/CTM/システムの操作に関する
- アナウンスがポストされる唯一の場になるでしょう.
- メーリングリストに加わるためには``<tt/subscribe ctm-announce/''
- と書いた一行だけのメールを &a.majordomo へ送ってください.
-
- <sect2><heading>はじめて<tt/CTM/を使い始める</heading>
- <p><tt/CTM/ デルタを使い始めるためには, 特別な「ベース」デルタを
- 入手する必要があるでしょう. これは以降作られる全てのデルタの
- 出発点となるものです.
-
- ベースデルタは数字に付け加えられた``<tt/A/''によって認識することが
- 出来ます(例えば, <tt/src-cur.0341A.gz/).
- 規則としてベースデルタは100デルタ毎に作られるので, 次のベースデルタ
- は<tt/src-cur.0400A.gz/となるでしょう. ところで, ベースデルタは
- とても大きいです! 25MBから30 MB の<tt/gzip/されたデータ, というのが
- ベースデルタとしては普通です.
-
- もし2.0-RELEASEの<tt/srcdist/を持っているのなら, 代わりに
- <tt/src-cur.0372R20.gz/ファイルを見つけることができるでしょう. これは
- たったの4MBしかなく, これにより2.0-RELEASEのソースからcurrentを
- 得ることができます.
-
- 一度スタートするためのベースデルタを得ると, それに続く多数の
- 全てのデルタも必要になるでしょう.
-
- <sect2><heading><tt/CTM/を日常で使う</heading>
- <p>デルタを適用するためには, 単に
- <verb>
- cd /where/ever/you/want/the/stuff??
- ctm -v -v /where/you/store/your/deltas/src-cur.*??
- </verb>
- とします.
- <tt/CTM/ はどれが<tt/gzip/されているか理解します. 従って最初に
- gunzipしておく必要はありません. ディスクの節約にもなります.
-
- 全体の処理に関して確信するまでは<tt/CTM/は(ソース)ツリーに対して
- 何もしません.
- また, デルタを確かめるためには``<tt/-c/''フラグを使うことができます.
- このフラグがあると<tt/CTM/はツリーに対して実際には何も行ないません.
- 単にデルタの完全性を確認し, 現在のツリーに問題なく使用できるかを確認
- するだけです.
-
- <tt/CTM/には他にもオプションがあります. 詳細に関してはソースを
- 見てください.
-
- もし誰かが「ユーザ インターフェース」の部分に関して助けてくれるなら
- 私はとても嬉しいです. なぜならどういうオプションが何を, どのよう
- に, いつ行なうようにするべきか決めかねているからです.
-
- 以上でやることは本当に全部です. 新しいデルタを入手した時には,
- ソースを最新のものにするためにそれを<tt/CTM/に通すだけです.
-
- もしデルタを再ダウンロードするのが骨の折れる作業であれば, デルタを
- 消さないでおいてください.
- なにかおかしなことが起こった場合には置いておけば良かった
- と思うかもしれません. もしフロッピーディスクしか持っていない状況
- であってもコピーを取るのに<tt/fdwrite/を使うことを考えてください.
-
-
- <sect2><heading><tt/CTM/の将来計画</heading>
- <p>
- 重要なもの
- <itemize>
- <item>
- ソースツリーへのローカルな修正を可能にすること. これを実現
- する一つの方法は次のようなものでしょう:
- <p> <tt/CTM/が``<tt>foo/bar.c</tt>''というファイルを変更しようと
- する時, 最初に<tt>foo/bar.c&num;CTM</tt>というファイルがあるか
- どうかチェックします. もしこのファイルがあれば, それに
- デルタを適用します. このようにして<tt>foo/bar.c</tt>
- ファイルをローカルな要求に合うように変更しておくことができます.
- <item>
- 「ファイル復活」のオプションを<tt/CTM/に付ける. これは
- 次のようなものです.
- <verb>
- ctm -r src/sys/i386/wd.c /here/are/my/deltas/src-cur.*
- </verb>
- これは src-cur ファイルから<tt/wd.c/を復旧して現在の状態に戻します.
- <item>
- <tt/CTM/へのオプションを整理する. さもないと混乱し, 直観に反したもの
- になります.
- </itemize>
-
- 残念なことに私は非常に忙しいです. 従ってこれを行なうどんな手助け
- でも歓迎します. その際, 自分が何をやりたいかを私に
- 言うのを忘れずに.
-
- <sect2><heading>その他</heading>
- <p>
- 「DESに染まった」(例えば, 国外への持ち出しが規制された)ソースは
- まったく含まれません. 手に入るのは「国際」バージョンだけです.
- もし興味のある人が多いようであれば, 我々は``<tt/sec-cur/''シーケンスも
- セットアップするつもりです.
-
- もしあなたがFreeBSDに対して頻繁なまたは価値のある貢献をしている
- のであれば, 私は特別なサービス, 一つには<tt/ftp/か<tt/rcp/によるあなた
- の近くのマシンへの配布, をしたいと思うでしょう.
- これには時間がかかるので, あなたがこれを受けるに値する必要があります.
- しかし, あなたにその価値があるなら, 私は喜んでそうするでしょう.
-
- <tt/ports/コレクションに対するデルタのシーケンスもあります. しかし,
- まだあまり興味は持たれていないようです. もしこれに対するメーリング
- リストが欲しい時も私に言ってください. 我々はセットアップすることを
- 考えます.
-
- もしあなたがコミット特権を持っているか, または同様にFreeBSDコアチーム
- からその必要ありと認められていれば, CVSリポジトリツリーへの
- アクセスも同じ手段で得ることができます. 詳細は&a.phk;へ聞いてください.
-
-
- <sect2><heading>ありがとう!</heading>
- <p>
- <descrip>
- <tag/&a.bde;/
- 辛辣なペンと価値のないコメントに対して.
- <tag/&a.sos;/
- よく辛抱してくれました.
- <tag/Stephen McKay/
- <tt/ctm_&lsqb;rs&rsqb;mail/を書いてくれました. とても感謝して
- います.
- <tag/&a.jkh/
- 彼が頑固として譲らなかったため, 私もこの <tt/CTM/ をもっと良いものに
- しないわけにはいきませんでした. 彼の頑固さに感謝します.
- <tag/ユーザの人みんな/
- 気に入ってくれることを願っています...
- </descrip>
-
diff --git a/share/doc/ja_JP.EUC/handbook/current.sgml b/share/doc/ja_JP.EUC/handbook/current.sgml
deleted file mode 100644
index ceaae1c..0000000
--- a/share/doc/ja_JP.EUC/handbook/current.sgml
+++ /dev/null
@@ -1,161 +0,0 @@
-<!-- $Id: current.sgml,v 1.6 1997/02/25 04:54:41 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.21 -->
-
-<sect><heading>最新のFreeBSDを追いかける<label id="current"></heading>
-
-<p><em>原作: &a.jkh;.</em>
-
-<p><em>訳: &a.hanai;<newline>6 November 1996.</em>
-
-<!--
-
- THE FREEBSD CURRENT POLICY
-
-Last updated: $Date: 1997/02/25 04:54:41 $
-
-This document attempts to explain the rationale behind
-FreeBSD-current, what you should expect should you decide to run it,
-and states some prerequisites for making sure the process goes as
-smoothly as possible.
--->
-
-<sect1><heading>FreeBSD-currentってなに?</heading>
-
-<p>FreeBSD-currentとは,文字通りに,日々変更されているFreeBSDのソース
-のスナップショット以外の何ものでもありません.中には現在開発途上の
-ソフトウェア, 実験的な変更、あるいは過渡的な機能などが含まれています.
-また, この中に入っている機能がすべて次の公式リリースに入るとはかぎりません.
-FreeBSD-currentをソースからほとんど毎日コンパイルしている人はたくさん
-いますが, 時期によってはFreeBSD-currentはコンパイルさえできない状態に
-なっていることもあります. これらの問題は一般的には可能な限り素早く解決
-されますが, FreeBSD-currentのソースが不幸をもたらすか, それとも非常に
-素晴らしい機能をもたらすかというのは文字通り, ある与えられた24時間の間
-のどの部分であなたがソースを手に入れたか, による場合もあります.
-
-必要があるときには, 時折 FreeBSD-current の一部をバイナリとして提供する
-こともありますが, それはただ何かをテストしてほしいためであって,
-我々が current をバイナリリリースとして提供することにしたわけではありません.
-我々が提供していないならば, 要求しないで下さい!
-これは普段から行なうにはあまりにも時間がかかり過ぎるのです.
-
-<sect1><heading>誰がFreeBSD-currentを必要としてるの?</heading>
-
-<p>FreeBSD-currentは次の3つのどれかにあてはまる人のために一般に公開してい
-ます.
-<enum>
- <item> ソースツリーの,ある部分または別の部分に関して活発に作業して
- いるFreeBSDグループのメンバ.彼らにとっては`最新のもの'に維持して
- おくことは絶対的な要求なのです.
-
- <item> FreeBSD-currentが出来るだけ健全である時間の割合を増やすために
- 様々な問題と戦うのに時間を費やすのを厭わず活発にテストを行なっている
- FreeBSDグループのメンバ.彼らはまた様々な変更に関する提案やFreeBSD
- の大まかな方向付けを行ないたいと思っている人々でもあります.
-
- <item> 単に,様々な事に目を向け,参考のために(例えば,動かすためではなく
- <em>読むため</em>に)最新のソースを使いたいと思っているFreeBSD(または
- 他の)グループのまわりにいるメンバ.これらの人々はまた時によってコメ
- ントをしたりコードを寄稿したりします.
-</enum>
-
-<sect1><heading>FreeBSD-currentに期待しては<em>いけない</em>ことは?</heading>
-
-<p><enum>
- <item> あなたが何か新しいカッコイイモノがあると聞き, あなたの
- 周りで最初にそれを持ちたいためにリリース前のコードの断片を
- 追いかけること.
-
- <item> バグを修正するための素早い方法.
-
- <item> いずれにしても我々によって``公式にサポートされている''.
-
- 私たちは3つの「公式な」FreeBSD-currentのグループの一つに実際に属する
- 人々を助けるのにベストを尽くしますが, 技術的なサポートを行なうには
- 単に「時間が足りない」のです.
- これは我々が外の人を助けるのが好きではないケチで意地悪い人間だと
- いうことではなく(もしそうなら FreeBSD なんかやっていません), 文字通り
- 我々は一日に400ものメッセージに答え<em>かつ</em> FreeBSD の作業をする
- ことなど出来ない! ということなのです. もし, たくさんの質問に答えるか
- それとも FreeBSD を良くする作業を続けるかという選択が与えられた場合,
- あなた方のほとんどは後者を支持する, と私は確信しています.
-</enum>
-
-<sect1><heading>FreeBSD-currentを使う</heading>
-
-<p><enum> <item> &a.current;と&a.cvsall;に加わって下さい.
- これは単に良い考えであるというだけでなく, <em>必須の</em>ことなのです.
- もし<em>FreeBSD-current</em>メーリングリストに入っていなければ,
- 様々な人がシステムの現在の状態について述べているコメントを決して見ることは
- ありませんし, 従って他の人が既に見つけて解決している多くの問題に戸惑っ
- てあきらめてしまうでしょう. さらに言うと, 非常に不可欠な情報
- (例えば, 「やぁ, みんな! <tt>/usr/src</tt>を作り直す前にカーネルの
- 再構築を<em>やらないといけないよ</em>, さもないととんでもないクラッシュが起きるぜ!」)を見逃してしまうでしょう.
-
- <em>cvs-all</em>メーリングリストはそれぞれの変更についてそれに関して起
- こり得る情報を見ることが出来ます.
-
- これらのメーリングリストに入るには, &a.majordomo;へ
-<verb>
-subscribe freebsd-current
-subscribe cvs-all
-</verb>
- と書いたメールを送って下さい.
- オプションとして本文に`help'と書けば Majordomo はあなたへ我々がサポ
- ートする様々なメーリングリストに参加/脱退する方法に関する詳しい
- ヘルプを送ります.
-
- <item> ftp.FreeBSD.ORGからのソースの入手. 以下の3つの方法で行なうこと
- が出来ます.
-
- <enum>
- <item> 下に述べられている<ref id="ctm" name="CTM">を用いる.
- 均一なレートの, 良質の TCP/IP 接続を持っていない人には,
- これが一番いい方法でしょう.
-
- <item> <ref id="cvsup" name="cvsup"> を
- <url url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/standard-supfile" name="この supfile">
- を用いて使用する.
- これは2番目に推薦される方法です. なぜなら, cvssupによって一度全体
- を入手し, 後は変更されたところだけを入手することが出来るからです.
- たくさんの人がvsupをcronから起動し, 自動的にソースを最新のもの
- に保っています.
-
- <item> ftpを使う. FreeBSD-currentのソースツリーは常に
- <htmlurl url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current"
- name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current">
- に公開されています.
- 我々はまた全体をcompress/tarして入手できる `wu-ftpd' を使ってい
- ます. 例えば,
-<verb>
- usr.bin/lex
-</verb>
- があったとすると,
-<verb>
- ftp> cd usr.bin
- ftp> get lex.tar.Z
-</verb>
- とすることにより, ディレクトリ全体(この場合, usr.bin/lex以下全体)
- をcompressされたtarファイルとして入手することができます.
- </enum>
-
- <item> 以上のことをまとめると, 必要に応じて迅速なアクセスをする必要があり,
- 接続のバンド幅が問題ではなければcvsupかftpを使いましょう. そうではなければ
- CTMを使いましょう.
-
- <item> もしソースを, 眺めるだけでなく走らせるために入手しているので
- あれば, 一部だけ選ぶのではなく,
- current の<em>全体</em>を手に入れてください.
- なぜなら, ソースの様々な部分が他の部分の更新に依存しており, 一部のみを
- コンパイルしようとすると, ほぼ間違いなくトラブルを起こすからです.
-
- <item> current をコンパイルする前に /usr/src にある Makefile
- をよく読んでください. アップグレードの処理の一部として,
- 少なくとも一回は最初に `make world' を行なうべきでしょう.
- &a.current;を読めば, 次のリリースへ向けて, 時々必要になる
- 他のブートストラップの方法に関して常に最新情報を得ることが出来ます.
-
- <item> アクティブになって下さい! もしFreeBSD-currentを走らせているなら
- 我々はそれに関するコメント, 特に拡張やバグ潰しに関する提案, を欲して
- います. コードを伴う提案はもっとも歓迎されるものです!
-</enum>
diff --git a/share/doc/ja_JP.EUC/handbook/cvsup.sgml b/share/doc/ja_JP.EUC/handbook/cvsup.sgml
deleted file mode 100644
index d585763..0000000
--- a/share/doc/ja_JP.EUC/handbook/cvsup.sgml
+++ /dev/null
@@ -1,576 +0,0 @@
-<!-- $Id: cvsup.sgml,v 1.18 1997/05/20 01:53:11 max Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.19 -->
-
-<sect1><heading>CVSup<label id="cvsup"></heading>
-
-<p><em>原作: &a.jdp;</em>.
-<p><em>訳: &a.iwasaki;.<newline>27 February 1997.</em>
-
-<sect2><heading>CVSup の紹介<label id="cvsup:intro"></heading>
-
-<p>CVSup は, リモートのサーバホストにあるマスタ CVS リポジトリから
-ソースツリーを配布し更新するためのソフトウェアパッケージです. FreeBSD
-のソースは, カリフォルニアにある中心的な開発マシンの CVS リポジトリの
-中でメンテナンスしています. CVSup を使用することで, FreeBSD ユーザは
-簡単に自分のソースツリーを最新の状態にしておくことができます.
-
-<p>CVSup は "pull" モデルとよばれる更新のモデルを採用しています.
-pull モデルでは, 各クライアントが更新したい場合に更新したい時点で,
-サーバに更新の問い合わせをおこないます. サーバはクライアントからの
-更新の要求を受け身の状態で待ちます. したがって, すべての更新は
-クライアント主導でおこなわれます. サーバは頼まれもしない更新情報を
-送るようなことはしません. ユーザは CVSup クライアントを手動で実行して
-更新をおこなうか, cron ジョブを設定して定期的に自動実行する必要があります.
-
-<p>用語 "CVSup" のように大文字で表記しているものは, ソフトウェアパッケージ
-全体を指します. 主な構成物は, 各ユーザマシンで実行するクライアントである
-"cvsup", FreeBSD の各ミラーサイトで実行するサーバ "cvsupd" です.
-
-<p>FreeBSD の文書やメーリングリストを読んだ際に, sup についての言及を
-見かけたかもしれません. sup は CVSup の前に存在していたもので, 同様の
-目的で使われていました. CVSup は sup と同じように使用されており, 実際,
-sup と互換性のあるコンフィグレーションファイルを使用します. しかし,
-CVSup の方がより高速で柔軟性もあるので, もはや sup は FreeBSD
-プロジェクトでは使用されていません.
-
-<sect2><heading>CVSup のインストール<label id="cvsup:install"></heading>
-
-<p>FreeBSD 2.2 以降を使用している場合, CVSup をインストールするもっとも
-簡単な方法は, FreeBSD <ref id="ports" name="ports コレクション"> の
-<url
-url="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/net/cvsup.tar.gz"
-name="port"> または対応する <url
-url="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/net/cvsup-14.1.1.tgz"
-name="バイナリ package"> を使うことです. どちらを使うかは,
-CVSupを自分で作りたいかどうかによります.
-
-<p>FreeBSD-2.1.6 または 2.1.7 を使用している場合は, 残念ながら
-FreeBSD-2.1.{6,7} には存在しないバージョンの C ライブラリが必要となるため
-バイナリ package は使用できません.
-しかし, <url
-url="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/net/cvsup.tar.gz"
-name="port"> は FreeBSD 2.2 とまったく同じように簡単に使うことができます.
-単に tar ファイルを展開し, cvsup ディレクトリへ cd して "make install"
-とタイプするだけです.
-
-<p>CVSup は <url
-url="http://www.research.digital.com/SRC/modula-3/html/home.html"
-name="Modula-3"> で書かれているため, package と port 両方とも Modula-3
-ランタイムライブラリがインストールされていることが必要です. これらは
-port の <url
-url="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/lang/modula-3-lib.tar.gz"
-name="lang/modula-3-lib"> および package の <url
-url="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/lang/modula-3-lib-3.6.tgz"
-name="lang/modula-3-lib-3.6"> にあります. これらのライブラリの port
-や package に対して cvsup と同じ管理方法を取っていれば, CVSup の
-port や package をインストールする際に, これらのライブラリも自動的に
-コンパイルそして/またはインストールされます.
-
-<p>Modula-3 ライブラリはかなり大きく, これらの転送やコンパイルはすぐに
-終わるものではありません. この理由から, 三つめの選択肢が提供されています.
-以下のアメリカ合衆国にある配布サイトのどちらからでも, FreeBSD 用の
-<em>スタティックリンクされた</em> CVSup 実行形式が入手可能です:
-
-<itemize>
- <item><url url="ftp://hub.freebsd.org/pub/CVSup/cvsup-bin-14.1.1.tar.gz"
- name="ftp://hub.freebsd.org/pub/CVSup/cvsup-bin-14.1.1.tar.gz">
- (クライアント).
- <item><url url="ftp://hub.freebsd.org/pub/CVSup/cvsupd-bin-14.1.1.tar.gz"
- name="ftp://hub.freebsd.org/pub/CVSup/cvsupd-bin-14.1.1.tar.gz">
- (サーバ).
-</itemize>
-
-また, ドイツのミラーサイトは以下の通りです:
-
-<itemize>
- <item><url url="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsup-bin-14.1.1.tar.gz"
- name="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsup-bin-14.1.1.tar.gz">
- (クライアント).
- <item><url url="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsupd-bin-14.1.1.tar.gz"
- name="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsupd-bin-14.1.1.tar.gz">
- (サーバ).
-</itemize>
-
-訳注: 日本国内のミラーサイトは以下の通りです:
-
-<itemize>
- <item><url url="ftp://jaz.jp.freebsd.org/pub/FreeBSD-freefall/CVSup/cvsup-bin-14.1.1.tar.gz"
- name="ftp://jaz.jp.freebsd.org/pub/FreeBSD-freefall/CVSup/cvsup-bin-14.1.1.tar.gz">
- (クライアント).
- <item><url url="ftp://jaz.jp.freebsd.org/pub/FreeBSD-freefall/CVSup/cvsupd-bin-14.1.1.tar.gz"
- name="ftp://jaz.jp.freebsd.org/pub/FreeBSD-freefall/CVSup/cvsupd-bin-14.1.1.tar.gz">
- (サーバ).
-</itemize>
-
-<p>ほとんどのユーザはクライアントのみが必要になるでしょう. これらの
-実行形式は完全に自己完結しており, FreeBSD-2.1.0 から FreeBSD-current
-までの, どのバージョンでも動作します.
-
-<p>まとめると, CVSup をインストールするための選択肢は以下の通りです:
-
-<itemize>
- <item>FreeBSD-2.2以降: スタティックバイナリ, port, package
- <item>FreeBSD-2.1.6, 2.1.7: スタティックバイナリ, port
- <item>FreeBSD-2.1.5 以前: スタティックバイナリ
-</itemize>
-
-<sect2><heading>CVSup のコンフィグレーション<label id="cvsup:config"></heading>
-
-<p>CVSup の動作は, "supfile" と呼ばれるコンフィグレーションファイルで
-制御します. FreeBSD-2.2 からは, supfile のサンプルがディレクトリ <url
-url="file:/usr/share/examples/cvsup" name="/usr/share/examples/cvsup">
-の下にあります. 2.2 以前のシステムを使用している場合は, これらの
-サンプルを <url
-url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/"
-name="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/">
-から入手することができます.
-
-<p>supfile には以下の cvsup に関する質問への答えを記述します:
-
-<itemize>
- <item><ref id="cvsup:config:files" name="どのファイルを受け取りたいのか?">
- <item><ref id="cvsup:config:vers" name="どのバージョンのものが欲しいのか?">
- <item><ref id="cvsup:config:where" name="どこから入手したいのか?">
- <item><ref id="cvsup:config:dest" name="自分のマシンのどこに置きたいのか?">
- <item><ref id="cvsup:config:status" name="どこに status ファイルを置きたいのか?">
-</itemize>
-
-<p>次のセクションで, これらの質問に順番に答えながら典型的な supfile
-を組み立てていきます. 最初に supfile の全体構造を説明します.
-
-<p>supfile はテキストファイルです. コメントは "#" から行末までです.
-空行とコメントだけの行は無視します.
-
-<p>残りの各行には, ユーザが受け取りたいファイル群について記述します.
-行の始めは, サーバ側で定義した論理的なファイルのグループである
-「コレクション」の名称です. コレクションの名称を指定して, 欲しいファイル群を
-サーバに伝えます. コレクション名の後には, ホワイトスペースで区切られた
-0個以上のフィールドが続きます. これらのフィールドが上記の質問に対する
-答えになります. フィールドには 2種類あります: flag フィールドと value
-フィールドです. flag フィールドは "delete" や "compress" のような
-単独のキーワードから成ります. また, value フィールドもキーワードで
-始まりますが, キーワードの後にはホワイトスペースは入らず, "=" と
-二つめの単語が続きます. 例えば, "release=cvs" は value フィールドです.
-
-<p>通常, supfile には受け取りたいコレクションを一つ以上指定します.
-supfile を組み立てる一つの方法として, コレクション毎にすべての関係の
-あるフィールドを明示的に指定する方法があります. しかし, これでは supfile
-のすべてのコレクションに対してほとんどのフィールドが同じになるため,
-行が非常に長くなってしまい不便になります. これらの問題を避けるため,
-CVSup ではデフォルトを指定することのできるメカニズムが提供されています.
-特殊な擬似コレクション名 "*default" で始まる行は, supfile 中の後続の
-コレクションに対して使用する flag フィールドと value フィールドの
-デフォルトを設定するために利用できます. 個々のコレクションで固有の値を
-指定すると, デフォルト値を無効にできます. また "*default" 行を追加すると,
-supfile の途中からデフォルト値の変更や追加が可能になります.
-
-<p>これまでの予備知識を基に, <ref id="current" name="FreeBSD-current">
-のメインのソースツリーを受け取って更新するための supfile を
-組み立ててみましょう.
-
-<itemize>
-<item>どのファイルを受け取りたいのか?<label id="cvsup:config:files">
-
-<p>sup の場合と同様に, CVSup を通して入手できるファイルは
-「コレクション」と呼ばれる名前の付けられたグループにまとめられています.
-利用可能なコレクションについては<ref id="cvsup:collec" name="ここ">
-で説明しています. ここでは, FreeBSD システムのメインのソースツリー全体
-を受け取るための設定例を紹介します.
-輸出規制されている暗号化サポートのコード以外のすべてを含む "src-all" という
-単一の大きなコレクションがあります. この例では私たちがアメリカ合衆国か
-カナダにいるものと仮定します. その場合, "cvs-crypto" という一つの付化的な
-コレクションで暗号化コードを入手することができます. supfile
-を組み立てる最初のステップとして, これらのコレクションを一行に一つづつ
-記述します:
-
-<verb>
- src-all
- cvs-crypto
-</verb>
-
-<p><item>どのバージョンのものが欲しいのか?<label id="cvsup:config:vers">
-
-<p>CVSup を使用すると, かつて存在していたことのある, 事実上どのバージョンの
-ソースでも受け取ることができます. これは cvsupd サーバがすべてのバージョンを含む
-CVS リポジトリに基づいて動作することにより, 実現されています.
-"tag=" および "date=" の value フィールドを使用して, 欲しいバージョンの
-一つを指定します.
-
-<p>"tag=" フィールドはリポジトリ中のシンボリックタグを指定します.
-tag には revision tag と branch tag の二種類があります. revision tag
-は特定のリビジョンを指します. これは, 毎日同じ状態に保つことになります.
-一方 branch tag は, ある時点での開発分流の最新のリビジョンを指します.
-branch tag は特定のリビジョンを指定している訳ではないので, 今日と明日では
-異なるリビジョンを参照することになるかもしれません.
-
-<p>以下はユーザが興味を持っていると思われる branch tag です:
-
-<descrip>
- <tag/tag=./
- メインの開発分流であり, FreeBSD-current として知られています.
- 注意: "." は句読点ではありません. tag の名称です.
- <tag/tag=RELENG_2_2/
- FreeBSD-2.2 の先頭の開発分流です.
- <tag/tag=RELENG_2_1_0/
- FreeBSD-2.1.x 用の開発分流であり, FreeBSD-stable として知られています.
-</descrip>
-
-<p>以下はユーザが興味を持っていると思われる revision tag です:
-
-<descrip>
- <tag/tag=RELENG_2_2_1_RELEASE/
- FreeBSD-2.2.1.
- <tag/tag=RELENG_2_2_0_RELEASE/
- FreeBSD-2.2.0.
- <tag/tag=RELENG_2_1_7_RELEASE/
- FreeBSD-2.1.7.
- <tag/tag=RELENG_2_1_6_1_RELEASE/
- FreeBSD-2.1.6.1.
- <tag/tag=RELENG_2_1_6_RELEASE/
- FreeBSD-2.1.6.
- <tag/tag=RELENG_2_1_5_RELEASE/
- FreeBSD-2.1.5.
- <tag/tag=RELENG_2_1_0_RELEASE/
- FreeBSD-2.1.0.
-</descrip>
-
-<p>tag 名を示した通りにタイプされているか十分注意してください. CVSup
-は tag 名が正しいかどうかを見分けることはできません.
-tag が間違っていた場合, たまたまファイルがまったく存在しない正しい tag
-が指定されたものとしてCVSup は動作します. その場合は, 現在あるソースが
-削除されるでしょう.
-
-<p>branch tag を指定した際には, 通常はその開発分流の最新バージョンの
-ファイルを受け取ります. いくらか前のバージョンを受け取りたい場合は,
-"date=" の value フィールドを使って日付を指定することで, これを実現することが
-できます. cvsup(1) のマニュアルページで, その方法を説明しています.
-
-<p>例として, FreeBSD-current を受け取りたいとします. 次の行を supfile
-の始めに追加します:
-
-<verb>
- *default tag=.
-</verb>
-
-<p>"tag=" フィールドも "date=" フィールドも指定しなかった場合に
-動き出す重要な特殊なケースがあります. そのケースでは, 特定のバージョンの
-ファイルを受け取るのではなく, サーバの CVS リポジトリから実際の RCS
-ファイルを直接受け取ります. 一般的に開発者はこの処理のモードが
-好きなようです. 彼らのシステム上にリポジトリそのもののコピーを維持することで,
-リビジョン履歴を閲覧し過去のバージョンのファイルを検査できるようになります.
-しかし, これには大きなディスクスペースが必要になります.
-
-<p><item>どこから入手したいのか?<label id="cvsup:config:where">
-
-<p>更新情報をどこから入手するかを cvsup に伝えるために "host="
-フィールドを使用します。<ref id="mirrors-cvsup" name="CVSup ミラーサイト">
-のどこからでも入手できますが、最寄りのサイトを選ぶべきでしょう。
-この例では、第一の FreeBSD 配布サイト "cvsup.FreeBSD.org" を使用します:
-
-<verb>
- *default host=cvsup.FreeBSD.org
-</verb>
-
-<p>どのように cvsup を実行しても, この設定は "-h hostname" を
-使用してコマンドラインで変更することができます.
-
-<p><item>自分のマシンのどこに置きたいのか?<label id="cvsup:config:dest">
-
-<p>"prefix=" フィールドは, cvsup に受け取ったファイルをどこに置くかを
-伝えます. この例では, ソースファイルを直接メインのソースツリー
-"/usr/src" に置きます. "src" ディレクトリはすでにファイルを受け取るために
-選択したコレクションで暗黙に指定しているので, これは正しい仕様となります:
-
-<verb>
- *default prefix=/usr
-</verb>
-
-<p><item>どこに status ファイルを置きたいのか?<label id="cvsup:config:status">
-
-<p>cvsup クライアントは "base" ディレクトリと呼ばれる場所に, ある
-status ファイルを維持しています. すでに受け取った更新情報を追従し続け
-ることで, これらのファイルは CVSup がより効果的に動作することを支援し
-ます. 標準の base ディレクトリ "/usr/local/etc/cvsup" を使用します:
-
-<verb>
- *default base=/usr/local/etc/cvsup
-</verb>
-
-<p>supfile に指定がない場合は, この設定をデフォルトで使用しますので,
-実際には上の行は必要ありません.
-
-<p>base ディレクトリが存在しない場合は作成しておきましょう. base
-ディレクトリが存在しない場合, cvsup クライアントは実行を拒否します.
-
-<p><item>その他もろもろの supfileの設定:
-
-<p>通常 supfile に入れておくべき行がもう一つあります:
-
-<verb>
- *default release=cvs delete use-rel-suffix compress
-</verb>
-
-<p>"release=cvs" は, サーバがメインの FreeBSD CVS リポジトリから
-その情報を取得するように指示します. ほとんどの場合はこのようにしておきますが,
-ここでの説明の範疇をこえるような状況では他の指定をすることも可能です.
-
-<p>"delete" は CVSup にファイルを削除することを許可します. CVSup が
-ソースツリーを完全に最新の状態に保てるようにするためには, これは常に
-指定しておくべきでしょう. CVSup は, これらの責任範囲のファイルだけを
-慎重に削除します. たまたま存在する他の余分なファイルについては,
-まったく手をつけずに残しておきます.
-
-<p>"use-rel-suffix" は ... 神秘的なものです. これについて本当に
-知りたい人は, cvsup(1) のマニュアルページをご覧ください. でなければ,
-何も考えずに指定してみてください.
-
-<p>"compress" は通信チャネルで gzip 形式の圧縮の使用を有効にします.
-ご使用のネットワーク接続が T1 speed 以上である場合, この圧縮を
-使用しない方がよいかもしれません. そうでない場合は十分に役に立ちます.
-
-<p><item>supfile の例のまとめ:
-
-<p>以下は supfile の例の全体です:
-
-<verb>
- *default tag=.
- *default host=cvsup.FreeBSD.org
- *default prefix=/usr
- *default base=/usr/local/etc/cvsup
- *default release=cvs delete use-rel-suffix compress
- src-all
- cvs-crypto
-</verb>
-</itemize>
-
-<sect2><heading>CVSup の実行</heading>
-
-<p>さて, 更新の準備ができました. これを実行するコマンドラインは
-実に簡単です:
-
-<verb>
- cvsup supfile
-</verb>
-
-<p>もちろん, ここでの "supfile" は作成したばかりの supfile
-のファイル名です. X11 環境で実行するものと仮定して, cvsup は
-通常の操作に必要なボタンを持つ GUI ウィンドウを表示します.
-"go" ボタンを押して, 実行を監視してください.
-
-<p>この例では実際の "/usr/src" ツリーを更新しているので, cvsup
-にファイルを更新するのに必要なパーミッションを与えるために, ユーザ root
-で実行する必要があります. コンフィグレーションファイルを作ったばかりで,
-しかも以前にこのプログラムを実行したことがないので, 神経質になるのは
-無理もない話だと思います. 大切なファイルに触らずに試しに実行する簡単な
-方法があります. どこか適当な場所に空のディレクトリを作成して,
-コマンドラインの引数で指定するだけです:
-
-<verb>
- mkdir /var/tmp/dest
- cvsup supfile /var/tmp/dest
-</verb>
-
-<p>指定したディレクトリは, すべての更新されるファイルの
-更新先ディレクトリとして使用します. CVSup は "/usr/src" の下の
-ファイルを検査しますが, 変更や削除はまったくおこないません.
-かわりに "/var/tmp/dest/usr/src" に更新されたすべてのファイルが
-置かれるようになります. この方法で実行した場合は, CVSup は base
-ディレクトリの status ファイルを更新せずにそのままにします.
-これらのファイルの新しいバージョンは指定されたディレクトリ
-に書き込まれます. "/usr/src" の読み取り許可がある限り, このような
-試し実行のためにユーザ root になる必要はありません.
-
-<p>X11 を利用していないとか単に GUI が気に入らない場合は, cvsup
-起動時にコマンドラインに二つほどオプションを追加する必要があります:
-
-<verb>
- cvsup -g -L 2 supfile
-</verb>
-
-<p>"-g" オプションは cvsup に GUI を使用しないように伝えます. X11
-を利用していない場合には自動的に指定されますが, そうでない場合は
-明示的に指定します.
-
-<p>"-L 2" オプションは cvsup にファイル更新中の詳細情報をプリントアウト
-するように伝えます. 冗長性には "-L 0" から "-L 2" までの三つのレベル
-があります. デフォルトは 0 であり, エラーメッセージ以外はまったく出力
-しません.
-
-<p>たくさんの他のオプション変数があります. それらの簡単な一覧は
-"cvsup -H" で表示されます. より詳しい説明はマニュアルページをご覧ください.
-
-<p>動作している更新の方法に満足したら, cron(8) を使って cvsup を定期的に
-実行させる準備をすることができます. cron から起動する際には, 明示的に
-cvsup が GUI を使わないようにする必要があります.
-
-<sect2><heading>CVSup ファイルコレクション<label id="cvsup:collec"></heading>
-
-<p>CVSup 経由で入手できるファイルコレクションは階層的に組織化されています.
-いくつか大きなコレクションがあり, それらは小さなサブコレクションに
-分割されています. 大きなコレクションは, そのサブコレクション毎に
-受信することと同じことになります. 下の一覧ではコレクション間の階層関係を
-字下げして表現します.
-
-<p> 最も一般的に使用するコレクションは <tt/src-all/, <tt/cvs-crypto/,
-そして <tt/ports-all/ です. 他のコレクションは特別な目的を持つ人達だけが
-使用しており, ミラーサイトはそれらのすべてを持っていないかもしれません.
-
-<descrip>
-<tag><tt>cvs-all release=cvs</tt></tag>
-メインの FreeBSD CVS リポジトリであり, 輸出規制された暗号化コードは含まれていません.
- <p>
- <descrip>
- <tag><tt>distrib release=cvs</tt></tag>
- FreeBSD の配布とミラーに関連するファイルです.
- <tag><tt>doc-all release=cvs</tt></tag>
- FreeBSD ハンドブックおよびその他のドキュメントのソースです.
- <tag><tt>ports-all release=cvs</tt></tag>
- FreeBSD の ports コレクションです.
- <p>
- <descrip>
- <tag><tt>ports-archivers release=cvs</tt></tag>
- アーカイビングのツール.
- <tag><tt>ports-astro release=cvs</tt></tag>
- 天文学関連の ports.
- <tag><tt>ports-audio release=cvs</tt></tag>
- サウンドサポート.
- <tag><tt>ports-base release=cvs</tt></tag>
- <tt>/usr/ports</tt> のトップにあるその他のファイル.
- <tag><tt>ports-benchmarks release=cvs</tt></tag>
- ベンチマークプログラム.
- <tag><tt>ports-cad release=cvs</tt></tag>
- CAD ツール.
- <tag><tt>ports-chinese release=cvs</tt></tag>
- 中国語サポート.
- <tag><tt>ports-comms release=cvs</tt></tag>
- 通信ソフトウェア.
- <tag><tt>ports-converters release=cvs</tt></tag>
- 文字コードコンバータ.
- <tag><tt>ports-databases release=cvs</tt></tag>
- データベース.
- <tag><tt>ports-devel release=cvs</tt></tag>
- 開発ユーティリティ.
- <tag><tt>ports-editors release=cvs</tt></tag>
- エディタ.
- <tag><tt>ports-emulators release=cvs</tt></tag>
- 他の OS のエミュレータ.
- <tag><tt>ports-games release=cvs</tt></tag>
- ゲーム.
- <tag><tt>ports-graphics release=cvs</tt></tag>
- グラフィックユーティリティ.
- <tag><tt>ports-japanese release=cvs</tt></tag>
- 日本語サポート.
- <tag><tt>ports-korean release=cvs</tt></tag>
- 韓国語サポート.
- <tag><tt>ports-lang release=cvs</tt></tag>
- プログラミング言語.
- <tag><tt>ports-mail release=cvs</tt></tag>
- メールソフトウェア.
- <tag><tt>ports-math release=cvs</tt></tag>
- 数値計算ソフトウェア.
- <tag><tt>ports-mbone release=cvs</tt></tag>
- MBone アプリケーション.
- <tag><tt>ports-misc release=cvs</tt></tag>
- 色々なユーティリティ.
- <tag><tt>ports-net release=cvs</tt></tag>
- ネットワーキングソフトウェア.
- <tag><tt>ports-news release=cvs</tt></tag>
- USENET ニュースのソフトウェア.
- <tag><tt>ports-plan9 release=cvs</tt></tag>
- Plan9 からの色々なプログラム.
- <tag><tt>ports-print release=cvs</tt></tag>
- 印刷ソフトウェア.
- <tag><tt>ports-russian release=cvs</tt></tag>
- ロシア語サポート.
- <tag><tt>ports-security release=cvs</tt></tag>
- セキュリティユーティリティ.
- <tag><tt>ports-shells release=cvs</tt></tag>
- コマンドラインシェル.
- <tag><tt>ports-sysutils release=cvs</tt></tag>
- システムユーティリティ.
- <tag><tt>ports-textproc release=cvs</tt></tag>
- 文書処理ユーティリティ(デスクトップパブリッシングは含まない).
- <tag><tt>ports-vietnamese release=cvs</tt></tag>
- ベトナム語サポート.
- <tag><tt>ports-www release=cvs</tt></tag>
- World Wide Web 関連のソフトウェア.
- <tag><tt>ports-x11 release=cvs</tt></tag>
- X11 のソフトウェア.
- </descrip>
- <tag><tt>src-all release=cvs</tt></tag>
- メインの FreeBSD ソース群であり, 輸出規制された暗号化コードは含まれていません.
- <p>
- <descrip>
- <tag><tt>src-base release=cvs</tt></tag>
- <tt>/usr/src</tt> のトップにあるその他のファイル.
- <tag><tt>src-bin release=cvs</tt></tag>
- シングルユーザモードで必要なユーザユーティリティ
- (<tt>/usr/src/bin</tt>).
- <tag><tt>src-contrib release=cvs</tt></tag>
- FreeBSD プロジェクト外部からのユーティリティおよびライブラリ,
- 比較的無修正 (<tt>/usr/src/contrib</tt>).
- <tag><tt>src-etc release=cvs</tt></tag>
- システムコンフィグレーションファイル (<tt>/usr/src/etc</tt>).
- <tag><tt>src-games release=cvs</tt></tag>
- ゲーム(<tt>/usr/src/games</tt>).
- <tag><tt>src-gnu release=cvs</tt></tag>
- GNU Public License 下にあるユーティリティ (<tt>/usr/src/gnu</tt>).
- <tag><tt>src-include release=cvs</tt></tag>
- ヘッダファイル (<tt>/usr/src/include</tt>).
- <tag><tt>src-lib release=cvs</tt></tag>
- ライブラリ (<tt>/usr/src/lib</tt>).
- <tag><tt>src-libexec release=cvs</tt></tag>
- システムプログラムであり, 通常は他のプログラムから実行される
- (<tt>/usr/src/libexec</tt>).
- <tag><tt>src-release release=cvs</tt></tag>
- FreeBSD の release を構築するために必要なファイル (<tt>/usr/src/release</tt>).
- <tag><tt>src-sbin release=cvs</tt></tag>
- シングルユーザモード用のシステムユーティリティ(<tt>/usr/src/sbin</tt>).
- <tag><tt>src-share release=cvs</tt></tag>
- 多様なシステム間で共有可能なファイル (<tt>/usr/src/share</tt>).
- <tag><tt>src-sys release=cvs</tt></tag>
- カーネル (<tt>/usr/src/sys</tt>).
- <tag><tt>src-tools release=cvs</tt></tag>
- FreeBSD の保守用の色々なツール (<tt>/usr/src/tools</tt>).
- <tag><tt>src-usrbin release=cvs</tt></tag>
- ユーザユーティリティ (<tt>/usr/src/usr.bin</tt>).
- <tag><tt>src-usrsbin release=cvs</tt></tag>
- システムユーティリティ (<tt>/usr/src/usr.sbin</tt>).
- </descrip>
- <tag><tt>www release=cvs</tt></tag>
- World Wide Web のデータ用のソースです.
- </descrip>
-<tag><tt>cvs-crypto release=cvs</tt></tag>
-輸出規制された暗号化コードです.
-<p>
- <descrip>
- <tag><tt>src-contrib-crypto release=cvs</tt></tag>
- 輸出規制された FreeBSD プロジェクト外部からのユーティリティおよび
- ライブラリ, 比較的無修正 (<tt>/usr/src/contrib-crypto</tt>).
- <tag><tt>src-eBones release=cvs</tt></tag>
- Kerberos および DES (<tt>/usr/src/eBones</tt>).
- <tag><tt>src-secure release=cvs</tt></tag>
- DES (<tt>/usr/src/secure</tt>).
- </descrip>
-<tag><tt>distrib release=self</tt></tag>
-CVSup サーバ自身のコンフィグレーションファイルです. CVSup ミラーサイトが使用します.
-<tag><tt>gnats release=current</tt></tag>
-GNATS バグトラッキングデータベースです.
-<tag><tt>src-sys release=lite2</tt></tag>
-lite2 kernel のマージ用の CVS リポジトリです.
-<tag><tt>src-sys release=smp</tt></tag>
-SMP プロジェクト用の CVS リポジトリです.
-<tag><tt>www release=current</tt></tag>
-インストールされた World Wide Web のデータです. WWW ミラーサイトが使用します.
-</descrip>
-
-<sect2><heading>CVSup のアナウンス, 質問およびバグ報告</heading>
-
-<p>CVSup のほとんどの FreeBSD 関連の議論は &a.hackers; で
-おこなわれています. ソフトウェアの新しいバージョンは &a.announce; で
-アナウンスされます.
-
-<p>質問とバグ報告はプログラムの作者, <url
-url="mailto:cvsup-bugs@polstra.com" name="cvsup-bugs@polstra.com"> へ
-送ってください.
diff --git a/share/doc/ja_JP.EUC/handbook/cyclades.sgml b/share/doc/ja_JP.EUC/handbook/cyclades.sgml
deleted file mode 100644
index 53d89ff..0000000
--- a/share/doc/ja_JP.EUC/handbook/cyclades.sgml
+++ /dev/null
@@ -1,58 +0,0 @@
-<!-- $Id: cyclades.sgml,v 1.4 1997/02/22 13:00:49 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.3 -->
-
-<!--
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
-
-<!ENTITY % authors SYSTEM "authors.sgml">
-%authors;
-
-]>
--->
-<sect2><heading><tt>cy</tt> ドライバのコンフィグ<label id="cy"></heading>
-
- <p><em>原作: &a.alex;.<newline>6 June 1996.</em>
- <p><em>訳: &a.yuki;.<newline>6 September 1996.</em>
-
- Cyclades社のマルチポートカードは, 他のマルチポートカードが
- 使う<tt>sio</tt>の代わりに<tt>cy</tt>ドライバを使います.
- コンフィグレーションは非常に簡単で,
-
- <enum>
- <item><tt>cy</tt> デバイスをあなたの
- <ref id="kernelconfig:config"
- name="カーネルのコンフィグレーション">に足します.
- (注意. あなたのirqやiomemの設定がが違っているかもしれません)
-
-<tscreen><verb>
-device cy0 at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintr
-</verb></tscreen>
-
- <item>新しいカーネルの<ref id="kernelconfig:building"
- name="再構成とインストール"> をします.
-
- <item><ref id="kernelconfig:nodes" name="デバイスノード">
- を次(8ポートと仮定しています.)のように打って作ります:
-
-<tscreen><verb>
-# cd /dev
-# for i in 0 1 2 3 4 5 6 7;do ./MAKEDEV cuac$i ttyc$i;done
-</verb></tscreen>
-
- <item>もし, 必要なら
- シリアルデバイス(<tt>ttyd</tt>)とそっくりにコピーして
- <ref id="dialup" name="dialup">エントリを作り, <tt>ttyd</tt>
- <tt>ttyd</tt>の代わりに<tt>ttyc</tt>を使います. 例:
-
-<tscreen><verb>
-ttyc0 "/usr/libexec/getty std.38400" unknown on insecure
-ttyc1 "/usr/libexec/getty std.38400" unknown on insecure
-ttyc2 "/usr/libexec/getty std.38400" unknown on insecure
-[...]
-ttyc7 "/usr/libexec/getty std.38400" unknown on insecure
-</verb></tscreen>
-
- <item>新しいカーネルで立ち上げます.
-
- </enum>
diff --git a/share/doc/ja_JP.EUC/handbook/development.sgml b/share/doc/ja_JP.EUC/handbook/development.sgml
deleted file mode 100644
index 01a40e2..0000000
--- a/share/doc/ja_JP.EUC/handbook/development.sgml
+++ /dev/null
@@ -1,103 +0,0 @@
-<!-- $Id: development.sgml,v 1.7 1997/02/25 04:54:57 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.12 -->
-
-<sect><heading>FreeBSDの開発モデル<label id="development"></heading>
-
-<p><em>原作: &a.asami;.
-<newline>18 October 1996.</em>
-
-<p><em>訳: &a.asami;.
-<newline>31 October 1996.</em>
-
-<p>FreeBSDの開発は非常に開かれた, 柔軟性のあるプロセスです. <ref
-id="contrib" name="コントリビュータのリスト">を見ていただければわかる
-とおり, FreeBSDは文字通り世界中の何百という人々の努力によって開発され
-ています. 新しい開発者はいつでも大歓迎ですので, &a.hackers; にメールを
-送ってください. また, 大勢で議論するよりは一人で静かに開発にふけりた
-いという人は私たちのFTPサイト<htmlurl
-url="ftp://ftp.freebsd.org/pub/FreeBSD/incoming"
-name="ftp.freebsd.org">を使ってパッチや開発中のソースを公開してくださっ
-て結構です. &a.announce; もありますので, 他のFreeBSDユーザに自分のやっ
-ていることを宣伝したい時にはどうぞ使ってください.
-
-あと, FreeBSDプロジェクトとその開発プロセスについて, どなたにも知って
-いていただきたいのは以下のようなことです.
-
-<descrip>
-
-<tag><bf>CVSリポジトリ</bf><label id="development:cvs-repository"></tag>
-
-<p>FreeBSDのソースツリーは<htmlurl
-url="http://www.cyclic.com/cyclic-pages/CVS-sheet.html" name="CVS">
-(Concurrent Version System)によってメンテナンスされています. CVSはソー
-スコード管理用のフリーソフトウェアで, FreeBSDのリリースにも含まれてい
-ます. FreeBSDの<htmlurl url="http://www.freebsd.org/cgi/cvsweb"
-name="メインのCVSリポジトリ">は米国カリフォルニア州のコンコルド市に存在
-し, そこから世界中のたくさんのミラーサイトにコピーされています. CVSツ
-リーそのもの, そしてそのチェックアウトされたバージョンである<ref
-id="current" name="-current">と<ref id="stable" name="-stable">はあな
-たのマシンにも簡単に取ってくることができます. これについては<ref
-id="synching" name="ソースツリーの同期">の章をご覧ください.</p>
-
-<tag><bf>ソースツリー管理者</bf><label id="development:committers"></tag>
-
-<p><ref id="contrib:committers" name="ソースツリー管理者">はCVSツリー
-への書き込み権限を持っている人, つまりFreeBSDのソースに変更を加えるこ
-とができる人です. (CVSでリポジトリに変更を加えるには<tt>cvs(1)</tt>
-``<tt>commit</tt>'' というコマンドを使うので, これらの人々は英語では
-``committers'' と呼ばれます.) 開発者にコードを送って見てもらうのに一
-番いい方法は<htmlurl url="http://www.freebsd.org/send-pr.html"
-name="send-pr(1)">コマンドを使うことです. もし, 何か問題があって
-<tt>send-pr</tt>が使えないなら<htmlurl
-url="mailto:committers@freebsd.org" name="committers@freebsd.org">にメー
-ルを送っていただいても結構です.</p>
-
-<tag><bf>FreeBSDコアチーム</bf><label id="development:core"></tag>
-
-<p><ref id="contrib:core" name="FreeBSDコアチーム">はFreeBSDプロジェク
-トが会社だとすると取締役会にあたるものです. コアチームとして一番重要
-な役割はFreeBSDプロジェクトが全体としてよい方向に向かっていることを確
-認することです. 責任感あふれる開発者を上記のソースツリー管理者として
-招くこと, また仕事上の都合などでコアチームをやめた人たちの後任を見つけ
-ることもコアチームの役割です. 現在のコアチームのほとんどは最初は単な
-る一開発者としてプロジェクトに関わりはじめ, ずるずるといつのまにか深み
-にはまってしまった人です.</p>
-
-<p>コアチームのうち何人かは特定の<ref id="contrib:who" name="担当分野">
-を持っており, システムのうち一部に特に重点をおいて面倒を見ています.
-また, 忘れてほしくないのはコアチームのほとんどはFreeBSDについてはボラ
-ンティアであり, FreeBSDプロジェクトからは何ら金銭的な支援を受けていな
-いということです. ですから, ここでの「責任」は「保証されたサポート」
-ではありません. そういう意味で, 上記の取締役会という例えはあまりよく
-ないかもしれません. むしろ, FreeBSDのために人生を棒に振ってしまった人
-の集まりといった方が正しいかも.... <tt>;)</tt></p>
-
-<tag><bf>その他のコントリビュータ</bf></tag>
-
-<p>最後になりますが, もっとも重要で多数をしめる開発者はフィードバック
-やバグフィクスをどんどん送ってくれるユーザ自身です. FreeBSDの開発に外
-郭から関わっていきたいという人は &a.hackers; (<ref id="eresources:mail"
-name="メーリングリスト情報">を見てください) に参加するといいでしょう.</p>
-
-<p>FreeBSDのソースツリーに入っている何かを書いた人の<ref
-id="contrib:additional" name="リスト">は日に日に長くなっています. あ
-なたも今日, 何か送ることからはじめてみませんか? <tt>:-)</tt></p>
-
-<p>もちろんFreeBSDに貢献するにはコードを書くほかにもいろいろな方法があ
-ります. 助けが求められている分野については, このハンドブックの<ref
-id="submitters" name="貢献の仕方">の節を見てください.</p>
-
-</descrip>
-
-ひとことで言うと, FreeBSDの開発組織はゆるやかな同心円状になっています.
-ともすると中央集権的に見えがちなこの組織は, FreeBSDの<em>ユーザ</em>が
-きちんと管理されたコードベースを容易に追いかけられるようにデザインされ
-ているもので, 貢献したいという人を締め出す意図は全くありません! 私た
-ちの目標は安定したオペレーティングシステムと簡単にインストールして使う
-ことのできる<ref id="ports" name="アプリケーション">を提供することであ
-り, この方法は結構うまくはたらくのです.
-
-これからFreeBSDの開発にたずさわろうという人に, 私たちが望むことはただ
-一つです: FreeBSDの成功を継続的なものにするために, 現在の開発者と同じ
-ような情熱を持って接してください!
diff --git a/share/doc/ja_JP.EUC/handbook/dialout.sgml b/share/doc/ja_JP.EUC/handbook/dialout.sgml
deleted file mode 100644
index a4247eb..0000000
--- a/share/doc/ja_JP.EUC/handbook/dialout.sgml
+++ /dev/null
@@ -1,264 +0,0 @@
-<!-- $Id: dialout.sgml,v 1.4 1997/02/22 13:00:51 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.5 -->
-
-<!-- This is an SGML document in the Linuxdoc DTD of the Tutorial for
- Configuring a FreeBSD for Dialout Services.
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-
-<linuxdoc>
- <article>
- <title>Dialout
- <author>FAQ
- <date>24 NOV 1996, (c) 1996
-
- <abstract>この章は FreeBSD に接続しているモデムからダイアルアウトするための
- 基本的な情報について説明しています. この情報は将来 PPP 接続をおこなう場合の
- 第一のステップとなります.
- </abstract>
-
- <toc>
--->
-
-<sect><heading>ダイアルアウトサービス<label id="dialout"></heading>
-
-<p><em>原作: FAQ からの情報</em>
-<p><em>訳: 丸山剛司 <url url="mailto:tmaruya@nnc.or.jp"
-name="<tmaruya@nnc.or.jp>">.
-<newline>31 December 1996.</em>
-
-以下はモデムを利用して他のコンピュータと接続する方法を説明しています.
-これはリモートホストとターミナル接続を確立するための適切な方法です.
-<p>これは BBS に接続するときによく使います.
-<p>この種の接続は PPP 接続に問題がある場合, Internet 上にあるファイルを
-転送するのに非常に役に立ちます. FTP で何らかのファイルを転送したいのに
-PPP 接続を確立できない場合は, ファイルを FTP 転送するためにターミナルセッション
-を利用します. そして ZMODEM を利用してファイルを転送します.
-<sect1>
- <heading><tt/tip/ や <tt/cu/ が実行できないはなぜ?</heading>
- <p>
- あなたのシステムで <tt/tip/ や <tt/cu/ というプログラムは
- <tt/uucp/ や <tt/dialer/ というグループに所属しているユーザのみが
- 実行できるようになっているのでしょう. リモートホストやモデムを
- 利用できる <tt/dialer/ のグループにあなたのアカウントを
- 加えましょう.
-
- もしくは下記のコマンドを使うことによって, そのシステムで
- <tt/tip/ や <tt/cu/ を誰でも使えるようになります:
- <verb>
- chmod 4511 /usr/bin/tip
- </verb>
- このコマンドは <tt/cu/ に対しておこなう必要はありません, それは
- <tt/cu/ は <tt/tip/ に対するハードリンクだからです.
-
- <sect1>
- <heading>私の Hayes モデムはサポートされていません, どうしよう?
- </heading>
- <p>
- 実際, <tt/tip/ の マニュアルページは古くなっています. 既に Hayes
- ダイアラが組み込まれています. <tt>/etc/remote</tt> ファイル中で
- ``<tt/at=hayes/'' を使ってください.
-
- Hayes ドライバは, 最近のモデムの新しい機能である
- <tt/BUSY/, <tt/NO DIALTONE/, <tt/CONNECT 115200/などのメッセージを
- 認識できるほど賢くはなく, 単に混乱を起こすだけです.
- <tt/tip/を使う場合には, (<tt/ATX0&amp;W/ とするなどして) これらの
- メッセージを表示させないようにしなくてはいけません.
-
- また, <tt/tip/ のダイアルのタイムアウトは 60秒です. モデムの
- タイムアウト設定はそれより短くすべきであり, そうしないと
- <tt/tip/ は通信に問題があると判断するでしょう. <tt/ATS7=45&amp;W/
- を実行してください.
-
- 実際, デフォルトの <tt/tip/ は Hayes の完全なサポートを
- しているわけではありません. 解決方法は
- <tt>/usr/src/usr.bin/tip/tip</tt> の下の <tt/tipconf.h/
- を変更することです. もちろんこれにはソース配布ファイルが必要です.
-
- ``<tt/#define HAYES 0/'' と記述されている行を ``<tt/#define HAYES 1/''
- と変更し, そして ``<tt/make/'', ``<tt/make install/'' を実行します.
- これでうまく動作するでしょう.
-
- <sect1>
- <heading>これらの AT コマンドを入力するには?<label id="direct-at">
- </heading>
- <p>
- <tt>/etc/remote</tt> ファイルの中で ``<tt/direct/'' エントリを作ります.
- たとえばモデムが 1番目のシリアルポートである <tt>/dev/cuaa0</tt>
- に接続されている場合, 次のようにします:
- <verb>
- cuaa0:dv=/dev/cuaa0:br#19200:pa=none
- </verb>
- モデムがサポートする最大の bps レートを br フィールドに使います.
- そして ``<tt/tip cuaa0/'' を実行すると, モデムが利用できるようになります.
-
- <tt>/dev/cuaa0</tt>がシステムに存在しない場合は, 次のようにします:
- <verb>
- cd /dev
- ./MAKEDEV cuaa0
- </verb>
- <p>
- または root になって以下のように cu コマンドを実行します:
- <verb>
- cu -l ``line'' -s ``speed''
- </verb>
- line にはシリアルポートを指定します (例えば <tt>/dev/cuaa0</tt>).
- そして speed には接続する速度を指定します (例えば <tt>57600</tt>).
- その後 AT コマンドを実行したら, <tt>~.</tt> と入力すれば終了します.
-
- <sect1>
- <heading>pn 機能の <tt/@/ 記号が使えません!</heading>
- <p>
- 電話番号 (pn) 機能の中での <tt/@/ 記号は, tip に
- <tt>/etc/phone</tt> にある電話番号を参照するように伝えます.
- しかし <tt/@/ の文字は <tt>/etc/remote</tt> のような
- 設定ファイルの中では特殊文字となります.
- バックスラッシュを使ってエスケープをおこないます:
- <verb>
- pn=\@
- </verb>
-
- <sect1>
- <heading>コマンドラインから電話番号を指定するには?</heading>
- <p>
- ``<tt/generic/'' エントリと呼ばれるものを <tt>/etc/remote</tt>
- に追加します. 例えば次のようにします:
- <verb>
- tip115200|Dial any phone number at 115200 bps:\
- :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
- tip57600|Dial any phone number at 57600bps:\
- :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
- </verb>
-
- そして ``<tt/tip -115200 5551234/'' のように利用できます.
- <tt/tip/ より <tt/cu/ を使いたい場合,
- <tt/cu/ の generic エントリを使います:
- <verb>
- cu115200|Use cu to dial any number at 115200bps:\
- :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
- </verb>
- そして ``<tt/cu 5551234 -s 115200/'' と実行します.
-
- <sect1>
- <heading>毎回 bps レートを入力しなければいけませんか?</heading>
- <p>
- <tt/tip1200/ や <tt/cu1200/ 用のエントリを記述し,
- 適切な通信速度を br フィールドに設定します.
- <tt/tip/ は 1200 bps が正しいデフォルト値であるとみなすので,
- ``<tt/tip1200/'' エントリを参照します. もちろん 1200 bps
- を使わなければならないわけではありません.
-
- <sect1>
- <heading>ターミナルサーバを経由して複数のホストへアクセスしたいんです.
- </heading>
- <p>
- 毎回接続されるのを待って ``<tt/CONNECT &lt;host&gt;/'' と入力する
- かわりに, tip の <tt/cm/ 機能を使います.
- 例えば, <tt>/etc/remote</tt> に次のようなエントリを追加します:
- <verb>
- pain|pain.deep13.com|Forrester's machine:\
- :cm=CONNECT pain\n:tc=deep13:
- muffin|muffin.deep13.com|Frank's machine:\
- :cm=CONNECT muffin\n:tc=deep13:
- deep13:Gizmonics Institute terminal server:\
- :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234:
- </verb>
-
- これで, ``<tt/tip pain/'' や ``<tt/tip muffin/'' と実行すると
- pain や muffin のホストに接続することができ,
- <tt/tip deep13/ を実行するとターミナルサーバに接続します.
-
- <sect1>
- <heading>tip を使ってそれぞれのサイトの複数の回線に接続できますか?
- </heading>
- <p>
- これは大学に電話回線がいくつかあって数千人の学生が接続しようとする
- 場合によくある問題です.
- <p>
- あなたの大学のエントリを <tt>/etc/remote</tt> ファイルに作成して,
- <tt/pn/ のフィールドには <tt>@</tt> を使います:
- <verb>
- big-university:\
- :pn=\@:tc=dialout
- dialout:\
- :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
- </verb>
-
- そして <tt>/etc/phone</tt> ファイルに大学の電話番号の一覧を書きます:
- <verb>
- big-university 5551111
- big-university 5551112
- big-university 5551113
- big-university 5551114
- </verb>
-
- <tt/tip/ は一連の電話番号を試みて, 最終的に接続できなければあきらめます.
- リトライを続けさせたい場合は, <tt/tip/ を while ループに入れて
- 実行します.
-
- <sect1>
- <heading>CTRL+P を 1回送るために 2度押す必要があるのはなぜ?
- </heading>
- <p>
- CTRL+P は通常 ``force (強制)'' 文字であり, <tt/tip/ に次の文字が
- リテラルデータであることを伝えます. force 文字は「変数の設定」
- を意味する <tt/~s/ エスケープによって他の文字にすることができます.
-
- ``<tt/~sforce=&lt;single-char&gt;/'' と入力して改行します.
- <tt/&lt;single-char&gt;/ は, 任意の 1バイト文字です.
- <tt/&lt;single-char&gt;/ を省略すると NUL 文字になり,
- これは CTRL+2 や CTRL+SPACE を押しても入力できます.
- いくつかのターミナルサーバで使われているのを
- 見ただけですが, <tt/&lt;single-char&gt;/ に SHIFT+CTRL+6
- に割り当てるのもよいでしょう.
-
- <tt>&dollar;HOME/.tiprc</tt> に次のように定義することで,
- 任意の文字を force 文字として利用できます:
- <verb>
- force=<single-char>
- </verb>
-
- <sect1>
- <heading>打ち込んだ文字が突然すべて大文字になりました??</heading>
- <p>
- CTRL+A を押してしまい、caps-lock キーが壊れている場合のために設計された
- tip の ``raise character'' モードに入ったのでしょう.
- 既に述べたように <tt/~s/ を使って, ``raisechar'' をより適切な値に
- 変更してください. もしこれら両方の機能を使用しないのであれば,
- force 文字と同じ設定にすることもできます.
-
- 以下は CTRL+2 や CTRL+A などを頻繁に使う必要のある Emacs
- ユーザにうってつけの. tiprc ファイルのサンプルです:
- <verb>
- force=^^
- raisechar=^^
- </verb>
- ^^ は SHIFT+CTRL+6 です.
-
- <sect1>
- <heading><tt/tip/ でファイルを転送するには?</heading>
- <p>
- もし他の UNIX のシステムと接続しているなら, <tt/~p/(put) や
- <tt/~t/(take) でファイルの送受信ができます. これらのコマンドは
- 相手のシステムの上で ``<tt/cat/'' や ``<tt/echo/'' を実行することで
- 送受信をします. 書式は以下のようになります:
- <verb>
- ~p <ローカルのファイル名> [<リモートのファイル名>]
- ~t <リモートのファイル名> [<ローカルのファイル名>]
- </verb>
-
- この方法ではエラーチェックをおこないませんので, zmodem
- などの他のプロトコルを使った方がよいでしょう.
-
- <sect1>
- <heading><tt/tip/ から zmodem を実行するには?</heading>
- <p>
- ファイルを受信するには, リモート側で送信プログラムを起動します.
- そして ``<tt/~C rz/'' と入力すると, ローカル側へのファイルの受信が
- 始まります.
-
- ファイルを送信するには, リモート側で受信プログラムを起動します.
- そして ``<tt/~C sz &lt;files&gt;/'' と入力すると, リモート側への
- ファイルの送信が始まります.
-</sect>
diff --git a/share/doc/ja_JP.EUC/handbook/dialup.sgml b/share/doc/ja_JP.EUC/handbook/dialup.sgml
deleted file mode 100644
index 16daf77..0000000
--- a/share/doc/ja_JP.EUC/handbook/dialup.sgml
+++ /dev/null
@@ -1,821 +0,0 @@
-<!-- $Id: dialup.sgml,v 1.6 1997/02/22 13:00:53 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.17 -->
-<!-- This is an SGML document in the linuxdoc DTD of the Tutorial for
- Configuring a FreeBSD for Dialup Services by Guy Helmer.
-<!DOCTYPE linuxdoc PUBLIC "-//Linux//DTD linuxdoc//EN">
-
-
-<article>
-
-<title>
-FreeBSD でダイアルアップ サービスを行うための設定
-<author>Guy Helmer, <tt/ghelmer@alpha.dsu.edu/
-<date>v0.1, 28 March 1995
-<abstract>
-
--->
-
-<sect><heading>ダイアルインサービス<label id="dialup"></heading>
-
-<p><em>原作: &a.ghelmer;.</em>
-<p><em>訳: &a.max;.<newline>6 September 1996.</em>
-
-このドキュメントでは, FreeBSD で外部からのモデムによるアクセスを受け付
-けるための設定に関してまとめてあります. このドキュメントは筆者が
-FreeBSD 1.0, 1.1 および 1.1.5.1 での経験と, 他の UNIX 系 OS での経験を
-基に書いたものですが, 必ずしも十分な内容でないかもしれませんし, 掲載し
-た実例もあなたが今お使いの環境とは一致しないかもしれません. また, 筆者
-はこのドキュメントに従って行われた作業でデータが失われたりシステムが破
-壊されるようなことがあっても, 一切責任をとれません.
-
-<sect1><heading>設定を始める前に<label id="dialup:prereqs"></>
-<p>
-
-筆者は, 読者が FreeBSD に関する基本的な知識をもっていることを仮定して
-このドキュメントをまとめました. まず, FreeBSD が既にインストールされ
-ていて, UNIX 系環境においてファイルの編集の方法やシステムに付属のマニュ
-アルを参照する方法を知っている必要があります. また, 以下に示すように,
- FreeBSD の特定のバージョンが必要となりますし, いくつかの用語に関する
-知識, そしてモデムや多少の配線に関する知識も必要となります.
-
-<sect2><heading>FreeBSD のバージョン</heading>
-<p>
-
-まず, FreeBSD のバージョンは 1.1 以上を使用してください (バージョン
-2.x でもかまいません. ). FreeBSD 1.0 には, 2種類のシリアル ドライバ
-が含まれているので, 混乱の元となり得ます. また, FreeBSD のシリアル
-ディバイス ドライバ (<tt/sio/) は, バージョンを追う毎に改善されてき
-ていますので, より新しいバージョンの FreeBSD を使用することで, よりよ
-い, より効率の高いドライバを利用することができるはずです.
-
-<sect2><heading>用語解説</heading>
-<p>
-
-以下, 簡単にいくつかの用語について解説しておきます.
-
-<descrip>
-
-<tag/bps/ Bits per Second の略で, データの転送速度を表す単位.
-
-<tag/DTE/ Data Terminal Equipment の略. たとえばコンピュータ本体のこと.
-
-<tag/DCE/ Data Communications Equipment の略で, 具体的にはモデムのこと.
-
-<tag/RS-232/ EIA (米電気産業協会) のハードウェア間シリアル通信の標準規
-格.
-
-</descrip>
-
-これらの用語やデータ通信一般に関して, より詳しい情報が必要な場合は,
-<em/The RS-232 Bible/ という本 (誰か ISBN 分かる方いませんか?) が参考
-になると思います.
-
-通信においてのデータ転送速度に関して, このドキュメントでは <bf/ボーレー
-ト/ (baud rate) ではなく, <bf/bps/ (bits per second) をその単位として
-使うことにします. これは, ボーというのは一定時間に生じる電気的状態の変
-化の数を表す単位にすぎず, <bf/bps/ という単位の方が実体に即しているか
-らです. (少なくとも, こういう表現をしておけば, 意地の悪い人に怒られる
-こともないのではないかと思います. )
-
-<sect2><heading>外づけモデムと内蔵モデムについて</heading>
-<p>
-
-ダイアルアップのサービスに関していえば, 外づけのモデムの方が適している
-ようです. これは, 多くの外づけのモデムは設定を不揮発ラムに書き込んで半
-永久的に保存することができますし, また RS-232 に関する重要な情報を知る
-ための点滅するライトによるインディケータが搭載されているからです. 点滅
-するライトは, システムを見に来た訪問者に強い印象を与えるという効果だけ
-でなく, モデムが適切に動作しているかどうかを知るためにも有効です.
-
-一方, たいていの内蔵型のモデムには不揮発性ラムが搭載されていないため,
-ディップ スイッチの変更以外に設定を保存する方法がありません. また, も
-しインディケータがついていても, おそらくコンピュータのケース カバーが
-外されていなければその状態を確認するのは難しいでしょう.
-
-<sect2><heading>モデムとケーブル</heading>
-<p>
-
-以下のことに関して, 予め知っておく必要があります.
-
-<itemize>
-
-<item> コンピュータとモデムの間での通信が行えるようにするための接続方
-法. (内蔵型の場合は接続の必要はありません)
-
-<item> お使いのモデムのコマンドについての知識, あるいはコマンドの解説
-の在処
-
-<item> (通信ソフトを使っての) モデムの不揮発ラムに保存可能な設定の変更
-方法
-
-</itemize>
-
-1番目のモデムの接続はたいてい簡単に行えるはずです. ほとんどのストレー
-ト シリアル ケーブルが使えるでしょう. 使用すべきケーブルは, 両端に適
-切なコネクタ (DB-25 または DB-9 の雄または雌) のついた, DCE-DTE 間接
-続用のもので, 以下の信号線が接続されていなければなりません.
-
-<itemize>
-<item> Transmitted Data (<tt/SD/)
-<item> Received Data (<tt/RD/)
-<item> Request to Send (<tt/RTS/)
-<item> Clear to Send (<tt/CTS/)
-<item> Data Set Ready (<tt/DSR/)
-<item> Data Terminal Ready (<tt/DTR/)
-<item> Carrier Detect (<tt/CD/)
-<item> Signal Ground (<tt/SG/)
-</itemize>
-
-FreeBSD で 2400bps 以上の転送速度を利用する場合には, フロー制御のため
-に <tt/RTS/ 信号と <tt/CTS/ 信号が必要です. また, 接続の確立と回線の切
-断を検出するために <tt/CD/ 信号を利用します. さらに, <tt/DTR/ 信号を使っ
-て回線切断後のモデムのリセットを行います. ケーブルの中には, 総ての必要
-な信号線が接続されていないものもありますので, たとえば, 回線切断後でも
-ログイン セッションが残ってしまうといった問題が発生した場合などには,
-ケーブルに問題がある可能性もあります.
-
-次に, お使いのモデムにもよりますが, もしモデムのコマンドをよく覚えてい
-ない場合は, モデムのマニュアルをすぐに参照できるようにしておいてくださ
-い. このドキュメントでは例として USR Sportstar の 14,400 bps の外づけ型
-モデムのコマンドを示しておきます. 他の種類のモデムをお使いの場合も, 参
-考になるかもしれません.
-
-最後に, FreeBSDで快適にモデムを使うためにも, モデムの設定方法を知って
-おく必要があります. FreeBSD も他の UNIX 系 OS と同様, 回線の接続およ
-び切断の検出や回線の切断および回線切断後のモデムの初期化にハードウェア
-シグナルを利用します. FreeBSD は, モデムに対するコマンドの送信やモデ
-ムの状態の監視を行いません. パソコンで運用されている BBS への接続に慣
-れている方にとっては, ちょっとめんどうかもしれませんね.
-
-<sect2><heading>シリアル インタフェースについて</heading>
-<p>
-
-FreeBSD では, NS8250-, NS16450-, NS16550- および NS16550A- に基づ
-いた EIA RS-232C (CCITT V.24) 規格のシリアル インタフェースをサポート
-しています. 8250 および 16450 ベースのディバイスには1文字のキャラクタ
-バッファが搭載されています. また, 16550 系のディバイスには, 16文字分
-のバッファが搭載されていて, はるかによいパフォーマンスを得られます.
-(ただし, 無印の 16550 では, バグがあって 16 文字バッファが利用できませ
-んので, 可能であれば 16550A 系のディバイスを利用してください. ) 1文字
-のバッファの物は, 16550 系のものと比べて OS にかける負荷が大きいので,
-16550A 系ディバイスの利用を強く推奨します. 多数のシリアル ポートを利
-用する場合や, 負荷の高いシステムにおいては, 16550A 系ディバイスを使う
-ことで, エラー発生率を低く押さえることができます.
-
-<sect1><heading>概要</heading>
-<p>
-
-FreeBSD は以下の手順でモデムからのログインを受付ます. <tt/init/ から起
-動された <tt/getty/ のプロセスが, 割り当てられたシリアル ポート (この
-例では <tt>/dev/ttyd0</tt>) がオープンされるのを辛抱強く待ちます.
-<tt/ps ax/ コマンドを実行すると, 以下のような出力が得られるはずです.
-
-<tscreen><verb>
- 4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyd0
-</verb></tscreen>
-
-ユーザがモデムに電話をかけ, モデム同士が接続されると, モデムの <tt/CD/
-が検出されます. その結果, kernel がキャリア信号を検出して,
-<tt/getty/ によるポートのオープンの処理が終了します. <tt/getty/ は,
-<tt/login:/ プロンプトを指定されている初期回線速度で送信します.
-<tt/getty/ は, 正常に文字列を受信できるかどうか監視し, 通常の設定では,
-もし以上な文字列を検出した場合 (理由としては, <tt/getty/ の速度とモデ
-ムの接続速度が異なっているような場合が考えられます. ), 正常に文字列が
-受信できるまで, <tt/getty/ は速度を変え続けます.
-
-<tt/getty/ が正しい速度を検出すれば, ユーザに対して <tt/login:/ プロン
-プトが表示されるはずです. ユーザがログイン名を入力すると, <tt/getty/
-は <tt>/usr/bin/login</tt> を起動して, パスワードの入力を要求し, その
-後ユーザのシェルを起動します.
-
-それでは, 続いて設定についての解説です.
-
-<sect1><heading>Kernel の設定</heading>
-<p>
-
-通常, FreeBSD の kernel は, PC-DOS の世界で <tt/COM1:/, <tt/COM2:/
-, <tt/COM3:/ および <tt/COM4:/ と呼ばれる四つのシリアル ポートを探す
-ように設定されています. また, FreeBSD では, 現在のところ Boca の 1008
-や 2016 のような, 単純なマルチポートのシリアル インタフェースもサポー
-トしています. (マルチポートのシリアル ボードに関しての kernel の設定
-については, <tt/sio(4)/ のマニュアルを参照してください. ) デフォルト
-の kernel は, COM ポートだけを探します.
-
-搭載されているシリアル ポートのいずれかを, kernel が認識しているかどう
-か確認したい場合は, kernel 起動時のメッセージを注意深く見ているか, あ
-るいは <tt>/sbin/dmesg</tt> コマンドを使って, ブート時の出力メッセージ
-を確認してください. 特に, <tt/sio/ で始まるメッセージをよく見てくださ
-い. 参考までに, 以下のコマンドで <tt/sio/ という文字列を含むメッセージ
-だけを表示することができます.
-
-<tscreen><verb>
-/sbin/dmesg | grep 'sio'
-</verb></tscreen>
-
-たとえば, シリアル ポートを四つ持つシステムの場合は, 以下のようなシリ
-アル ポートに関するメッセージが kernel によって表示されます.
-
-<tscreen><verb>
-sio0 at 0x3f8-0x3ff irq 4 on isa
-sio0: type 16550A
-sio1 at 0x2f8-0x2ff irq 3 on isa
-sio1: type 16550A
-sio2 at 0x3e8-0x3ef irq 5 on isa
-sio2: type 16550A
-sio3 at 0x2e8-0x2ef irq 9 on isa
-sio3: type 16550A
-</verb></tscreen>
-
-もし, kernel に正常に認識されないポートがある場合は, おそらくカスタマ
-イズした kernel を構築する必要があるでしょう.
-
-kernel 構築と構築のための設定に関しては, BSD System Manager's Manual
-の ``Building Berkeley Kernels with Config (config コマンドによる BSD
-kernel の構築) '' &lsqb;ソース ファイルは
-<tt>/usr/src/share/doc/smm</tt> にあります&rsqb;と ``FreeBSD
-Configuration Options'' &lsqb; <tt>/sys/conf/options</tt> および
-<tt>/sys/<em>arch</em>/conf/options.<em>arch</em></tt> の
-<em>arch</em>の部分をたとえば<tt>i386</tt>としたファイル &rsqb; を参照
-してください.
-
-kernel の設定と構築をするためには, kernel のソース
- (FreeBSD 1.1 では <tt>srcdist/srcsys.??</tt>, FreeBSD 1.1.5.1 では
-<tt>srcdist/sys.??</tt>, またFreeBSD 2.0 では総てのソース)を展開
-する必要があります.
-
-まだ自分のシステムの kernel 用のコンフィギュレーション ファイルを作っ
-ていない場合は, <tt>/sys/i386/conf</tt> に <tt/cd/ して作成してくださ
-い. 初めてコンフィギュレーション ファイルを作る場合は, まず GENRICAH
-(FreeBSD 1.x で BusTek の SCSI コントローラを使っている場合は
-GENERICBT) というファイルを, <em/YOURSYS/ にコピーしてください. ここ
-で, <em/YOURSYS/ はあなたのシステム名で, 大文字である必要があります.
-このファイルを編集して, ディバイスに関する記述を変更します.
-
-<tscreen><verb>
-device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
-device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr
-device sio2 at isa? port "IO_COM3" tty irq 5 vector siointr
-device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr
-</verb></tscreen>
-
-システムに搭載されていないディバイスに関する記述は, コメントアウトまた
-は削除してしまってかまいません. Boca の BB2016 のようなマルチポートの
-シリアル ボードをお持ちの場合は, <tt/sio(4)/ のマニュアルを見て, マ
-ルチポートのボードのためのコンフィギュレーション ファイルの記述のし方
-に関して確認してください. ディバイスのフラグの指定方法がバージョンによっ
-て異なりますので, 別のバージョンの FreeBSD で利用していたコンフィギュ
-レーション ファイルを流用する場合には十分注意してください.
-
-なお, <tt/port "IO_COM1"/, <tt/"IO_COM2"/, <tt/"IO_COM3"/ および
-<tt/"IO_COM4"/ は, それぞれのポートの一般的なアドレスである <tt/0x3f8/,
-
-<tt/0x2f8/, <tt/0x3e8/ および <tt/0x2e8/ を表します. また, 割り込
-み番号 4, 3, 5 と 9 は, それぞれ <tt/COM1:/ から <tt/COM4:/ のポー
-トで一般的に使用される IRQ です. また, ISA バスのコンピュータの場合,
-一般的なシリアルポートは複数のポートで一つの IRQ を共有することが <bf>
-できません</bf>ので注意が必要です. (マルチポートのシリアル ボードの
-場合は, 複数の 16550A ベースのポートで一つまたは二つの IRQ を共有する
-ための機構を備えています. )
-
-コンフィギュレーション ファイルの編集が終わったら, ``Building
-Berkeley Kernels with Config (config コマンドによる BSD kernel の構築)''
-および <tt/config(8)/ のマニュアルにしたがって, <tt/config/ コマンド
-を使って kernel 構築のためのディレクトリを作成した後, kernel の構築,
-インストールおよびテストを行ってください.
-
-<sect1><heading>ディバイス スペシャル ファイル</heading>
-<p>
-
-kernel に組み込まれているほとんどのディバイスは, <tt>/dev</tt> ディレ
-クトリにある, 「ディバイス スペシャル ファイル」を介してアクセスされ
-ます. <tt/sio/ ディバイスの場合は, 着信用の <tt>/dev/ttyd?</tt> およ
-び, 発信用の <tt>/dev/cua0?</tt> が利用されます. さらに, FreeBSD の
-1.1.5 以降では, 初期化ディバイス (<tt>/dev/ttyi?</tt> と
-<tt>/dev/cuai0?</tt>)およびロッキング ディバイス (<tt>/dev/ttyld?</tt> と
-<tt>/dev/cual0?</tt>) も合わせて利用されます. 初期化ディバイスは, 通信
-ポートがオープンされる度に, そのポートの初期設定を行うために使われます.
-たとえば, <tt>CTS/RTS</tt> によるフロー制御を行うモデムが接続されてい
-る場合の <tt/crtscts/ などのパラメータの初期化が行われます. ロッキング
-ディバイスは, ポートの設定をロックし, 他のユーザやプログラムにこれらを
-変更されることのないようにするために利用されます. 通信ポートの設定, 初
-期化とロックおよび設定の変更に関しては, それぞれ <tt/termios(4)/,
-<tt/sio(4)/ と <tt/stty(1)/ のマニュアルをご覧ください.
-
-<sect2><heading>ディバイス スペシャル ファイルの作成</heading>
-<p>
-
-ディバイス スペシャル ファイルの管理は, ディレクトリ <tt>/dev</tt>
-にあるシェル スクリプト <tt/MAKEDEV/ によって行います. (FreeBSD
-1.1.5 の <tt/MAKEDEV(8)/ のマニュアルの <tt/COM/ ポートに関する記述は,
-かなりいい加減なので無視してください. ) <tt/MAKEDEV/ を使って,
-<tt/COM1:/ (ポート 0) をダイアルアップのポートとして利用するためのディ
-バイス スペシャル ファイルを作るには, <tt>/dev</tt> に <tt/cd/ して
-から, <tt/MAKEDEV ttyd0/ と実行してください. 同様に, <tt/MAKEDEV
-ttyd1/ とすることで, <tt/COM2:/ (ポート 1) 用のディバイス スペシャル ファイル
-を作成することができます.
-
-<tt/MAKEDEV/ は, <tt>/dev/ttyd?</tt> のディバイス ファイルだけでなく,
-<tt>/dev/cua0?</tt> (および FreeBSD 1.1.5 以降では総ての初期化ディバイ
-スとロッキング ディバイスのスペシャル ファイル) も作成します. さらに,
-もしシリアル端末用のスペシャル ファイル<tt>/dev/tty0?</tt> が存在すれ
-ば, それらの削除も行います.
-
-ディバイス スペシャル ファイルの作成後, これらのファイルのパーミション
-が適切に設定されていて, これらのディバイスを利用してもよいユーザのみが
-読み書きできるようになっていることを確認してください. (特に
-<tt>/dev/cua*</tt> のパーミションには注意を払ってください. ) この確認
-を怠ると, 一般のユーザがあなたのモデムを使うことができるようなことにな
-りかねません. デフォルトの <tt>/dev/cua*</tt> のパーミションは, 以下の
-ようになっていて, たいていの場合適切なものだと思います.
-
-<tscreen><verb>
-crw-rw---- 1 uucp dialer 28, 129 Feb 15 14:38 /dev/cua01
-crw-rw---- 1 uucp dialer 28, 161 Feb 15 14:38 /dev/cuai01
-crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cual01
-</verb></tscreen>
-
-上の設定では, ユーザ <tt/uucp/ と, グループ <tt/dialer/ に属するユーザ
-が発信用のディバイスを利用できます.
-
-<sect1><heading>設定ファイル</heading>
-<p>
-
-FreeBSD のシステムへのダイアル アップによるアクセスを実現するために編
-集が必要と思われる設定ファイルが, <tt>/etc</tt> ディレクトリに三つあ
-ります. まず, <tt>/etc/gettytab</tt> には,
-<tt>/usr/libexec/getty</tt> デーモンの設定を記述します. つぎに,
-<tt>/etc/ttys</tt> に保存されている情報から, <tt>/sbin/init</tt> はど
-の <tt/tty/ ディバイスに対して <tt/getty/ のプロセスを実行するべきか判
-断します. 最後に, お使いの FreeBSD が 1.1.5.1 以降のものならば
-<tt>/etc/rc.serial</tt> スクリプトに, それ以前のものならば
-<tt>/etc/rc.local</tt> スクリプトにシリアル ポートの初期化のためのコマ
-ンドを記述することができます.
-
-UNIX にダイアル アップ モデムを接続する方法には, 二つの考え方がありま
-す. 一つの方法は, ダイアル インしてくるユーザの接続速度に関係なく, 常
-にモデムとローカルのコンピュータの RS-232 インタフェースの接続速度を一
-定に保つように設定する方法です. この設定の長所は, ユーザがダイアル イ
-ンして接続されると, 即座にシステムからのログイン プロンプトが送信され
-るということです. 短所は, システムが実際のモデム間の速度を知ることがで
-きないために, Emacs のようなフル スクリーンのプログラムが, 端末との接
-続速度が遅い場合でも, そのような場合に効果的な方法で画面出力を行わない
-点です.
-
-もう一つは, モデムの RS-232 インタフェースとコンピュータの接続速度を,
-モデム間の接続速度に応じて変化させるような設定です. たとえば, モデム間
-の接続が V.32bis (14.4 Kbps) ならば, モデムとコンピュータの間の接続を
-19.2 Kbps とし, モデム間の接続が 2400 bps の時には, モデムとコンピュー
-タ間も 2400 bps で接続するような設定をします. この場合, <tt/getty/ は,
-モデムが返すリザルト コードからモデムとコンピュータの接続速度を認識す
-ることができませんので, <tt/getty/ は, まず初期速度で <tt/login:/ とい
-う文字列を送信して, それに対する応答の文字列を監視します. ここで, ユー
-ザ側の端末に無意味な文字列が表示された場合, ユーザは意味のある文字列を
-受信するまで <tt>&lt;Enter&gt;</tt> キーを繰り返し押さなければならない
-ということを知っていると仮定しています. もし接続速度が間違っている場合,
-<tt/getty/ は, ユーザから送られた文字を無意味な文字列として扱い, 次の
-速度を試します. そして, ここで再度 <tt/login:/ プロンプトを送信します.
-この一連の動作が異常な回数繰り返されることも考えられますが, 普通は1度
-か2度のキー入力があれば, ユーザはまともなプロンプトを受信できます. こ
-のログインの動作が前者の固定速度による方法に比べて美しくないのは明らか
-ですが, この方法では, 低速度で接続しているユーザに対するフル スクリー
-ンのプログラムからのレスポンスが改善されます.
-
-このドキュメントでは, 両方の設定方法について解説しますが, どちらかとい
-うとモデム間の速度に応じて RS-232 インタフェースの速度が変化するような
-設定の方に偏った説明になってしまうと思います.
-
-<sect2><heading>/etc/gettytab</heading>
-<p>
-
-<tt>/etc/gettytab</tt> は, <tt/getty(8)/ の設定ファイルで,
-<tt/termcap(5)/ と同様の形式で記述されます. ファイルのフォーマットや定
-義できる機能についての詳細については, <tt/gettytab(4)/ のマニュアルを
-ご覧ください.
-
-<sect3><heading>固定速度の設定</heading>
-<p>
-
-モデムとコンピュータ間の通信速度を固定して使う場合, おそらく
-<tt>/etc/gettytab</tt> に特に変更を加える必要はないはずです.
-
-<sect3><heading>可変速度の設定</heading>
-<p>
-
-<tt/getty/ が利用するモデムとコンピュータの接続速度に関する情報を
-<tt>/etc/gettytab</tt> に記述する必要があります. もし, 2400 bps のモ
-デムをお使いになるのであれば, 既存の <tt/D2400/ のエントリがそのまま利
-用できるでしょう. このエントリは FreeBSD の 1.1.5.1 の <tt/gettytab/
-には既に含まれていますので, あなたの FreeBSD のバージョンでこのエント
-リが存在しているのであれば, 新たに追加する必要はありません.
-
-<tscreen><verb>
-#
-# Fast dialup terminals, 2400/1200/300 rotary (can start either way)
-#
-D2400|d2400|Fast-Dial-2400:\
- :nx=D1200:tc=2400-baud:
-3|D1200|Fast-Dial-1200:\
- :nx=D300:tc=1200-baud:
-5|D300|Fast-Dial-300:\
- :nx=D2400:tc=300-baud:
-</verb></tscreen>
-
-高速モデムをお使いの場合は, おそらく <tt>/etc/gettytab</tt> に新たなエ
-ントリを追加する必要があります. 以下の例は, 14.4 Kbps のモデムを, 最
-大インタフェース速度を 19.2 Kbps として利用するためのエントリです.
-
-<tscreen><verb>
-#
-# Additions for a V.32bis Modem
-#
-um|V300|High Speed Modem at 300,8-bit:\
- :nx=V19200:tc=std.300:
-un|V1200|High Speed Modem at 1200,8-bit:\
- :nx=V300:tc=std.1200:
-uo|V2400|High Speed Modem at 2400,8-bit:\
- :nx=V1200:tc=std.2400:
-up|V9600|High Speed Modem at 9600,8-bit:\
- :nx=V2400:tc=std.9600:
-uq|V19200|High Speed Modem at 19200,8-bit:\
- :nx=V9600:tc=std.19200:
-</verb></tscreen>
-
-上記の例を利用した場合, FreeBSD 1.1.5 以降ではパリティなし, 8ビットの
-接続が行われます. FreeBSD 1.1 では, <tt/:np:/ パラメータをファイルの
-先頭の <tt/std.<em/xxx/</tt> のエントリに追加することで, パリティなし,
-8ビットの接続が行われますが, このパラメータを追加しなければ接続は偶数
-パリティ, 7ビットになります.
-
-上記の例では, まず 19.2 Kbps (V.32bis) によるモデムとコンピュータ間の
-接続を試み, 続いて 9600 bps (V.32), 2400 bps, 1200 bps, 300 bpsと順に
-試み, 再び 19.2 Kbps による接続を試みるという循環に入ります. この接続
-速度の循環は, <tt/nx=/(<bf/next table/) の機能で実現されています. ま
-た, 各行はそれぞれ <tt/tc=/(<bf/table continuation/) の機能を使って,
-その他の接続速度に依存した「標準的な」設定を取り込んでいます.
-
-もし, お使いのモデムが 28.8 Kbps であったり, 14.4 Kbps の圧縮転送の機
-能を有効に利用したい場合は, 19.2 Kbps よりも速い速度を利用するように
-設定する必要があります. 以下に 57.6 Kbps から接続を試みる
-<tt/gettytab/ の設定例を示しておきます.
-
-<tscreen><verb>
-#
-# Additions for a V.32bis or V.34 Modem
-# Starting at 57.6 Kbps
-#
-vm|VH300|Very High Speed Modem at 300,8-bit:\
- :nx=VH57600:tc=std.300:
-vn|VH1200|Very High Speed Modem at 1200,8-bit:\
- :nx=VH300:tc=std.1200:
-vo|VH2400|Very High Speed Modem at 2400,8-bit:\
- :nx=VH1200:tc=std.2400:
-vp|VH9600|Very High Speed Modem at 9600,8-bit:\
- :nx=VH2400:tc=std.9600:
-vq|VH57600|Very High Speed Modem at 57600,8-bit:\
- :nx=VH9600:tc=std.57600:
-</verb></tscreen>
-
-もし, お使いの CPU が低速のものであったり, CPU に対する負荷が高い場合
-で, 16650A 系のシリアル ポートをお使いでない場合, 57.6 Kbps の接続に
-おいて, sio の ``slio'' エラーが発生するかもしれません.
-
-<sect2><heading>/etc/ttys<label id="dialup:ttys"></heading>
-<p>
-
-<tt>/etc/ttys</tt> には, <tt/init/ が監視すべき <tt/tty/ のリストを記
-述します. さらに, <tt>/etc/ttys</tt> は, <tt/login/ に対してセキュリ
-ティに関する情報を提供します. (ユーザ <tt/root/ は, <tt/secure/ とマー
-クされている <tt/tty/ のみからログインできます. ) 詳しくは
-<tt/ttys(5)/ のマニュアルをご覧ください.
-
-<tt>/etc/ttys</tt> の既存の行を変更するか, あるいは新しい行を追加して,
-<tt/init/ が自動的に新しいダイアル アップ サービス用のポートに対して
-<tt/getty/ プロセスを起動するようにしてください. 書式は, 固定速度の設
-定か可変速度の設定かに関わらず, 以下のとおりです.
-
-<tscreen><verb>
-ttyd0 "/usr/libexec/getty xxx" dialup on
-</verb></tscreen>
-
-1番目の項目は, このエントリで対象とするディバイス スペシャル ファイル
-です. 上の例では <tt/ttyd0/ として, <tt>/dev/ttyd0</tt> を <tt/getty/
-に監視させることを表しています. 2番目の項目 <tt>"/usr/libexec/getty
-<em/xxx/"</tt> (<em/xxx/ は初期段階で使われる <tt/gettytab/ のエントリ
-に置き換えてください. ) が, <tt/init/ がこのディバイスに対して起動する
-プロセスです. 3番目の <tt/dialup/ は, デフォルトのターミナル タイプで
-す. 4番目の <tt/on/ は, この行が有効であることを <tt/init/ に対して示
-しています. 5番目の項目に <tt/secure/ を指定することもできますが, これ
-は, たとえばシステムのコンソールのように, 物理的に安全な端末に対しての
-み指定するようにしてください.
-
-デフォルトのターミナル タイプ (上記の例では <tt/dialup/) は, ローカル
-のユーザの好みによって異なってきます. ユーザがログイン スクリプトをカ
-スタマイズして, ターミナル タイプが <tt/dialup/ の時には自動的に他のター
-ミナル タイプを設定できるように, ダイアル アップのポートのデフォルトの
-ターミナル タイプには <tt/dialup/ が伝統的に用いられています. しかし,
-筆者のサイトでは, ほとんどのユーザが VT102 エミュレイションを使ってい
-るので, ダイアル アップのポートのデフォルト ターミナル タイプとして
-<tt/vt102/ を指定しています.
-
-<tt>/etc/ttys</tt> の修正がすんだら, 以下のようなコマンドを使って
-<tt/init/ プロセスに <tt/HUP/ シグナルを送り, <tt>/etc/ttys</tt> を
-読み込み直させてください.
-
-<tscreen><verb>
-kill -1 1
-</verb></tscreen>
-
-ただ, もし初めてシステムを設定しているのであれば, モデムが適切に設定さ
-れて接続されるまでは, <tt/init/ に対してシグナルを送らない方がいいか
-もしれません.
-
-<sect3><heading>固定速度の設定</heading>
-<p>
-
-速度を固定する設定では, <tt>/etc/ttys</tt> の中で, <tt/getty/ に対し
-て固定速度のエントリを指定する必要があります. たとえば, 以下の例はポー
-トのスピードが 19.2 Kbps に固定されたモデムのための <tt/ttys/ のエント
-リです.
-
-<tscreen><verb>
-ttyd0 "/usr/libexec/getty std.19200" dialup on
-</verb></tscreen>
-
-別の速度でモデムのポートのスピードを固定したい場合は,
-<tt>/etc/gettytab</tt> から適切なエントリを選んで, 上の例の
-<tt/std.19200/ の部分を <tt>std.<em/speed/</tt> として, 適切な速度のも
-のに置き換えてください.
-
-<sect3><heading>可変速度の設定</heading>
-<p>
-
-可変速度の設定では, <tt/ttys/ のエントリが, <tt>/etc/gettytab</tt>
-の中の適切な「自動速度調整」の初期設定のエントリを参照していなければな
-りません. たとえば, もし前述の 19.2 Kbps から接続を試みる可変速度の設
-定例 (<tt/V19200/ の <tt/gettytab/ エントリ)をそのまま <tt/ttys/ に追
-加したのであれば, <tt/ttys/ エントリは以下のようになります.
-
-<tscreen><verb>
-ttyd0 "/usr/libexec/getty V19200" dialup on
-</verb></tscreen>
-
-<sect2><heading>/etc/rc.serial または /etc/rc.local</heading>
-<p>
-
-V.32, V.32bis または V.34 モデムのような高速モデムを利用する場合, ハー
-ドウェア (<tt>RTS/CTS</tt>) フロー制御を行う必要があります. FreeBSD
-kernel のモデム ポートにハードウェア フロー制御のフラグを設定するため
-の <tt/stty/ コマンドを, FreeBSD 1.1.5.1 以降では
-<tt>/etc/rc.serial</tt> に, FreeBSD 1.1 では <tt>/etc/rc.local</tt> に
-記述できます.
-
-たとえば, FreeBSD 1.1.5.1 の <tt>/etc/rc.serial</tt> のサンプルは以下
-のとおりです.
-
-<tscreen><verb>
-#!/bin/sh
-#
-# Serial port initial configuration
-
-stty -f /dev/ttyid1 crtscts
-stty -f /dev/cuai01 crtscts
-</verb></tscreen>
-
-この例では, <tt/termio/ のフラグ <tt/crtscts/ をシリアル ポート &num;1
-(<tt/com2:/) のダイアル インおよびダイアル アウトの初期化ディバイスに
-設定しています.
-
-古い FreeBSD 1.1 では, 以下のエントリが <tt/crtscts/ フラグを設定する
-ために <tt>/etc/rc.local</tt> に追加されていました.
-
-<tscreen><verb>
-# Set serial ports to use RTS/CTS flow control
-stty -f /dev/ttyd0 crtscts
-stty -f /dev/ttyd1 crtscts
-stty -f /dev/ttyd2 crtscts
-stty -f /dev/ttyd3 crtscts
-</verb></tscreen>
-
-FreeBSD 1.1 には初期化のためのディバイス スペシャル ファイルがないので,
-ディバイス ファイルそのものにフラグを設定して, その後はフラグをクリア
-してしまうような極悪人が現れないことを願うしかありません.
-
-<sect1><heading>モデムの設定</heading>
-<p>
-
-もし, あなたのモデムがパラメータを不揮発ラムに保存できるタイプならば,
-PC-DOS 上の Telix や FreeBSD 上の <tt/tip/ などのような通信プログラム
-を使って, パラメータを設定してください.
-<tt/getty/ が利用する初期速度でモデムに接続して, 以下の条件を満たすよ
-うに不揮発ラムの設定を変更してください.
-
-<itemize>
-
-<item> 接続時に <tt/CD/ 信号がオンになる
-
-<item> 接続時に <tt/DTR/ がオンになり, <tt/DTR/ オフで回線を切断しモ
-デムをリセットする.
-
-<item> 送信時フロー制御には <tt/CTS/ を利用.
-
-<item> <tt>XON/XOFF</tt> によるフロー制御を行わない.
-
-<item> 受信時のフロー制御は <tt/RTS/ を使用.
-
-<item> Quiet mode (リザルト コードを返さない)
-
-<item> コマンド エコーを返さない.
-
-</itemize>
-
-これらを実現するためのコマンドやディップ スイッチの設定に関しては, モ
-デムのマニュアルを参照してください.
-
-以下に, USRobotics Sportster の 14,400 bps の外づけモデムの設定例を示
-しておきます.
-
-<tscreen><verb>
-ATZ
-AT&amp;C1&amp;D2&amp;H1&amp;I0&amp;R2&amp;W
-</verb></tscreen>
-
-ことのついでに, たとえば, V42.bis や MNP5 のデータ圧縮を使用するかど
-うかなどのモデムの他の設定について確認, 調整しておくのもよいかもしれま
-せん.
-
-さらに, USRobotics Sportster の 14,400 bps の外づけモデムでは, 以下の
-ようなディップ スイッチの設定も必要です. 他のモデムをお使いの方も, 以
-下の例を設定の参考にしてください.
-
-<itemize>
-
-<item> スイッチ1: UP - DTR 標準
-
-<item> スイッチ2: 無視 (リザルト コードを単語形式にするか数値形式にす
-るか)
-
-<item> スイッチ3: UP - リザルト コードを返さない
-
-<item> スイッチ4: DOWN - コマンド エコーを返さない
-
-<item> スイッチ5: UP - 自動着信
-
-<item> スイッチ6: UP - CD 標準
-
-<item> スイッチ7: UP - 不揮発ラムからデフォルト値をロードする
-
-<item> スイッチ8: 無視 (Smart Mode/Dumb Mode)
-
-</itemize>
-
-リザルト コードを返さないように設定しておかないと, <tt/getty/ が誤っ
-て <tt/login:/ プロンプトをコマンド モードのモデムに送信してしまった場
-合に, モデムがこの入力をエコーしたり, この入力に対するリザルト コード
-を返してしまったりすることになります. この結果として, モデムと
-<tt/getty/ の間で延々と無意味なやりとりが続いたというケースを聞いたこ
-とがあります.
-
-<sect2><heading>固定速度の設定</heading>
-<p>
-
-固定速度の設定では, モデムとコンピュータ間の通信速度をモデムとモデム間
-の接続速度に関係なく, 常に一定に保つように, モデムを設定する必要があり
-ます. USRobotics Sportster の 14,400 bps 外づけモデムの場合, 以下のコ
-マンドで, モデムとコンピュータ間の速度が, コマンド送信時の速度に固定さ
-れます.
-
-<tscreen><verb>
-ATZ
-AT&amp;B1&amp;W
-</verb></tscreen>
-
-<sect2><heading>可変速度の設定</heading>
-<p>
-
-可変速度の設定では, シリアル ポートの速度が, 着信速度に応じて変化する
-ように設定しなければいけません. USRobotics Sporster の 14,400 bps 外
-づけモデムの場合, 以下のコマンドで, エラー訂正機能を利用した通信の場合
-は, コマンドを送信した時の通信速度にシリアル ポートの速度を固定し, エ
-ラー訂正機能を利用しない接続では, シリアル ポートの速度が変化するよう
-に設定されます.
-
-<tscreen><verb>
-ATZ
-AT&amp;B2&amp;W
-</verb></tscreen>
-
-<sect2><heading>モデムの設定の確認</heading>
-<p>
-
-ほとんどの高速モデムには, 現在の設定をある程度人間にも理解できる形式に
-して表示させるコマンドがあります. USRobotics Sporster の 14,400 bps
-外づけモデムの場合は, <tt/ATI5/ コマンドで, 現在の不揮発ラムの設定を
-表示することができます. さらに, ディップ スイッチの設定も含めた現在の
-設定を確認するためには, <tt/ATZ/ コマンドを送信してから, <tt/ATI4/
-コマンドを送信してください.
-
-他のメーカーのモデムをお使いの場合は, モデムのマニュアルで設定値の確認
-方法を確認してください.
-
-<sect1><heading>トラブルシューティング</heading>
-<p>
-
-以下の手順でダイアル アップ モデムの動作を確認することができます.
-
-<sect2><heading> FreeBSD システムの動作確認</heading>
-<p>
-
-モデムを FreeBSD システムに接続し, システムをブートします. あなたのモ
-デムにモデムの状態を確認するためのインジケータがあれば, <tt/DTR/ のイ
-ンジケータの状態に注目してください. もし, システムのコンソールに
-<tt/login:/ プロンプトが表示された時に, <tt/DTR/ のインジケータが点灯
-すれば, FreeBSD が適切なポートに対して <tt/getty/ を起動し, モデムへ
-の着信を待っている状態であることを意味しています.
-
-もし <tt/DTR/ のインジケータが点灯しない場合は, システムのコンソールか
-ら FreeBSD にログインして, <tt/ps ax/ を実行し, FreeBSD が 適切なポー
-トに対して<tt/getty/ プロセスを起動しようとしているのかどうか確認して
-ください. プロセスに関する情報の中に, 以下のような行が表示されるはずで
-す.
-
-<tscreen><verb>
- 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd0
- 115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd1
-</verb></tscreen>
-
-モデムにまだ着信がない状態の時に, 以下のように上とは異なる出力があった
-場合, <tt/getty/ は既にモデム ポートのオープンを終了したということに
-なります.
-
-<tscreen><verb>
- 114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyd0
- ^^
-</verb></tscreen>
-
-<tt/getty/ は, <tt/CD/ (carrier detect) 信号がオンの状態になるまで,
-ポートのオープンを完了することはできませんので, この場合は接続に問題が
-あるか, あるいはモデムの設定に問題があることが考えられます.
-
-もし, 適切なポートをオープンしようとしている <tt/getty/ が見あたらない
-場合は, 再度 <tt>/etc/ttys</tt> の内容を確認し, 書式などに誤りがないか
-調べてみてください. また, ログ ファイル <tt>/var/log/messages</tt> に
-<tt/init/ および <tt/getty/ から何か出力がないかどうかも確認してみてく
-ださい. もし何かメッセージが記録されていたら, 再度 <tt>/etc/ttys</tt> ,
-<tt>/etc/gettytab</tt> の二つの設定ファイルと, ディバイス スペシャル
-ファイル <tt>/dev/ttyd?</tt> を確認し, 記述に誤りがないか, 足りないエ
-ントリがないか, 足りないディバイス スペシャルファイルがないかといった
-点について調べてみてください.
-
-<sect2><heading>モデムで接続してみる</heading>
-<p>
-
-実際にモデムを使って別のコンピュータから接続してみてください. この時,
-8ビット, パリティなし, 1ストップ ビットで接続するようにしてください.
-接続後すぐにプロンプトが返ってこない場合や, 無意味な文字列が表示される
-場合は, 1秒に1回くらいの割合で <tt>&lt;Enter&gt;</tt> キーを押してみて
-ください. しばらくたって, なおも <tt/login:/ プロンプトが現れない場合
-は, <tt>BREAK</tt> 信号を送信してみてください. この時, 端末側で使って
-いるモデムが高速モデムならば, このモデムのインタフェースの接続速度を固
-定してから, 再度ダイアル インしてみてください. (たとえば, USRobotics
-Sportster の場合は, <tt>AT&amp;B1</tt>)
-
-それでもまだ <tt/login:/ プロンプトが表示されない場合は,
-<tt>/etc/gettytab</tt> の以下の点について再度確認してみてください.
-
-<itemize>
-<item> <tt>/etc/ttys</tt> の対応する行の 2番目の項目で,
-<tt>/etc/gettytab</tt> の中で定義されているエントリが指定されているか
-
-<item> 各 <tt/nx=/ で <tt>/etc/gettytab</tt> の中で定義されているもの
-が指定されているか
-
-<item> 各 <tt/tc=/ で <tt>/etc/gettytab</tt> の中で定義されているもの
-が指定されているか
-
-</itemize>
-
-もしダイアル インしても, FreeBSD システム側のモデムが応答しない場合は,
-FreeBSD 側のモデムが <tt/DTR/ がオンになった時に電話にでるように設定さ
-れているかを確認してください. もしモデムの設定に問題がなさそうならば,
-モデムのインジケータ (がもしあれば) で, <tt/DTR/ がオンになっているか
-を確認してください.
-
-この確認のステップを数回繰り返してもうまくいかない場合は, 一度休憩して,
-しばらくたってから挑戦してみましょう. それでもだめなら, おそらく
-&a.questions にあなたのモデムについての情報と問題を書いたメールを送れ
-ば, メーリング リストのメンバーが問題の解決を助けるべく努力してくれる
-でしょう.
-
-<sect1><heading>謝辞</heading>
-<p>
-
-以下の方々から, 多くのコメントやアドバイスをいただきました. ここに謝意
-を表します.
-
-<descrip>
-
-<tag/Sean Kelly/ &lt;kelly@fsl.noaa.gov&gt; 多くのすばらしい助言をいた
-だきました
-
-</descrip>
diff --git a/share/doc/ja_JP.EUC/handbook/diskless.sgml b/share/doc/ja_JP.EUC/handbook/diskless.sgml
deleted file mode 100644
index d46bfb7..0000000
--- a/share/doc/ja_JP.EUC/handbook/diskless.sgml
+++ /dev/null
@@ -1,164 +0,0 @@
-<!-- $Id: diskless.sgml,v 1.5 1997/02/22 13:00:54 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.9 -->
-<!-- 日本語訳 Y.Suzuki(yasu@hike.te.chiba-u.ac.jp)-->
-
-<sect><heading>Diskless operation<label id="diskless"></heading>
-
-<p><em>原作: &a.martin;</em>
-<p><em>訳: &a.yasu;</em>
-
- <tt>netboot.com/netboot.rom</tt>によって、
- ディスクのないクライアントで
- ネットワーク経由でFreeBSDマシンのブートを行い
- FreeBSDを走らせることができます。
- 2.0ではローカルなスワップを持つことができます。
- NFS経由のスワッピングもサポートされています。
-
- サポートされているイーサネットカード:
- Western Digital/SMC 8003, 8013, 8216 とその互換ボード,
- NE1000/NE2000 とその互換カード (再コンパイルが必要)
-
- <sect1>
- <heading>セットアップの手順</heading>
-
- <p><enum>
- <item>サーバにするマシンを見つけます。
- このマシンには、FreeBSD 2.0のバイナリとbootpを
- 記憶するだけの十分なディスクスペースが必要です。
- tftp と NFS も使えます。
-
- テストしたマシン:
- <itemize>
- <item>HP9000/8xx / HP-UX 9.04以降
- (9.04以前では動きません)</item>
- <item>Sun/Solaris 2.3. (bootpが必要)</item>
- </itemize>
-
- <item>クライアントにIP,gateway,netmaskを提供する
- bootpサーバをセットアップします。
-<tscreen><verb>
-diskless:\
- :ht=ether:\
- :ha=0000c01f848a:\
- :sm=255.255.255.0:\
- :hn:\
- :ds=192.1.2.3:\
- :ip=192.1.2.4:\
- :gw=192.1.2.5:\
- :vm=rfc1048:
-</verb></tscreen></item>
-
- <item>クライアントにブート情報を提供するTFTPサーバを
- (bootpサーバと同じマシンに)セットアップします。
- このファイルの名前は、<tt>cfg.X.X.X.X</tt> (もしくは
- <tt>/tftpboot/cfg.X.X.X.X</tt>)で、
- ここで<tt>X.X.X.X</tt> はクライアントのIPアドレスです。
- このファイルの内容は netbootコマンドで有効です。
- 2.0では、netboot は以下のようなコマンドを持ちます:
-<tscreen><verb>
-help - helpリストの表示
-ip <X.X.X.X> - クライアントのIPアドレスの表示/セット
-server <X.X.X.X> - bootp/tftp サーバのアドレスの表示/セット
-netmask <X.X.X.X> - netmaskの表示/セット
-hostname <name> - hostnameの表示/セット
-kernel <name> - カーネル名の表示/セット
-rootfs <ip:/fs> - root ファイルシステムの表示/セット
-swapfs <ip:/fs> - swap ファイルシステムの表示/セット
-swapsize <size> - diskless swapsize を Kbytes単位でセット
-diskboot - ディスクからのブート
-autoboot - ブートプロセスの続行
-trans <on|off> - トランシーバのオン|オフ
-flags [bcdhsv] - ブートフラグの設定
-</verb></tscreen>
- 完全にディスクレスな場合の一般的なcfgファイルは以下のようになります:
-<tscreen><verb>
-rootfs 192.1.2.3:/rootfs/myclient
-swapfs 192.1.2.3:/swapfs
-swapsize 20000
-hostname myclient.mydomain
-</verb></tscreen>
- ローカルにswapを持つマシンについては以下のようになります:
-<tscreen><verb>
-rootfs 192.1.2.3:/rootfs/myclient
-hostname myclient.mydomain
-</verb></tscreen>
-
- <item>NFS サーバがクライアントにroot(必要ならswapも)
- ファイルシステムをexportしているか、また、
- クライアントがこれらのファイルシステムに
- ルートアクセスできるか確認します。
-
- FreeBSDにおける一般的な <tt>/etc/exports</tt> ファイルは
- 以下のようになります:
-<tscreen><verb>
-/rootfs/myclient -maproot=0:0 myclient.mydomain
-/swapfs -maproot=0:0 myclient.mydomain
-</verb></tscreen>
-
- そして、HP-UX側では以下のようになります:
-<tscreen><verb>
-/rootfs/myclient -root=myclient.mydomain
-/swapfs -root=myclient.mydomain
-</verb></tscreen>
-
- <item>NFS経由でスワッピングを行う場合
- (完全にディスクレスな場合の設定)、
- クライアントが <tt>dd</tt> で使用する swap ファイルを作成します。
- もし、<tt>swapfs</tt> コマンドが上記の例のように
- 引数 <tt>/swapfs</tt>を持ちそのサイズが 20000 である場合、
- myclientに対するスワップファイルは
- <tt>/swapfs/swap.X.X.X.X</tt> で呼び出されます。
- ここで <tt>X.X.X.X</tt> はクライアントのIPアドレスです。
-
- 例:
-<tscreen><verb>
-# dd if=/dev/zero of=/swapfs/swap.192.1.2.4 bs=1k count=20000
-</verb></tscreen>
-
- また、スワッピングが開始されるとクライアントのスワップスペースは
- センシティブな情報を含むようになるので、不正なアクセスを防止するため、
- このファイルへの読み書きのアクセス制限がなされていることを確認して下さい:
-<tscreen><verb>
-# chmod 0600 /swapfs/swap.192.1.2.4
-</verb></tscreen>
-
- <item>クライアントがそれぞれのrootファイルシステムとして使う
- ディレクトリにrootファイルシステムを展開します。
- (上記の例では<tt>/rootfs/myclient</tt>).
-
- <itemize>
-
- <item> HP-UX システム: サーバはHP9000/800 シリーズのマシンで、
- HP-UX 9.04 以降が必要です。
- これ以前のバージョンではNFSを経由するデバイスファイルが
- 作成ができません。
-
- <item> <tt>/rootfs/myclient</tt> に <tt>/dev</tt> を
- 展開する際に、いくつかのシステム(HPUX)ではFreeBSDに合った
- デバイスファイルが作成されないので注意してください。
- その際には最初の起動時にシングルユーザモードに移行して
- (ブートの段階でCtrl-Cを押す)、<tt>/dev</tt> に移って
- "<tt>sh ./MAKEDEV all</tt>" として、クライアントからこれを
- 修正してください。
- </itemize>
-
- <item>クライアントで <tt>netboot.com</tt> を実行するか、
- <tt>netboot.rom</tt> ファイルから EPROMを作成します。
- </enum>
-
- <sect1>
- <heading><tt>/</tt> および <tt>/usr</tt> ファイルシステムを共有して使用する</heading>
-
- <p>今のところ、これを行う公式に認められた方法はありませんが、
- 私はそれぞれのクライアントで <tt>/usr</tt> ファイルシステムと
- 個々の <tt>/</tt> ファイルシステム を共有して使っています。
- どなたかこれをきちんと行うやり方の提案がありましたら、
- 私に、もしくは &a.core; グループに知らせてください。
-
- <sect1>
- <heading>特定の設定についてnetbootをコンパイルする</heading>
-
- <p><tt>/sys/i386/boot/netboot/Makefile</tt> の中の設定を変更して
- コンパイルすることで、netbootでNE1000/2000 カードをサポートします。
- このファイルの先頭にあるコメントを見てください。
diff --git a/share/doc/ja_JP.EUC/handbook/dma.sgml b/share/doc/ja_JP.EUC/handbook/dma.sgml
deleted file mode 100644
index d975d59..0000000
--- a/share/doc/ja_JP.EUC/handbook/dma.sgml
+++ /dev/null
@@ -1,501 +0,0 @@
-<!-- $Id: dma.sgml,v 1.5 1997/02/22 13:00:55 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.7 -->
-<!-- 日本語訳 鈴木康修 (yasu@hike.te.chiba-u.ac.jp) -->
-<!--
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
-
-<!ENTITY % authors SYSTEM "authors.sgml">
-%authors;
-
-]>
--->
-<sect><heading>DMAとはどういったものでどういう働きをするのか <label id="dma"></heading>
-
-<p><em>原作: &a.uhclem;<newline>
-<newline>訳: &a.yasu;<newline>
-10 December 1996.</em>
-
-<!-- Version 1(3) -->
-
- Direct Memory Access (DMA)は, 中央演算処理装置 (CPU)からの干渉なく
- データを計算機中である場所から別の場所に動かすための手法です.
-
- DMA機能の実装の方法はそれぞれの計算機アーキテクチャ間で異なるもので
- あるため, ここでの議論はIBMパーソナルコンピュータ(PC),
- PC/ATとその互換機におけるDMAサブシステムの実装と働きに限定します.
-
- PCの DMAサブシステムは, Intelの 8237 DMAコントローラをベースにして
- います. 8237はそれぞれ独立にプログラムできる4つのDMAチャネルを持ち,
- それぞれどのチャネルもいつでもアクティブにできます.
- これらのチャネルは順に 0, 1, 2, 3となっています.
- PC/ATからは, セカンド 8237 チップが追加され,それらは 4, 5, 6, 7と
- なっています.
-
- オリジナルの DMAコントローラ(0, 1, 2, 3)は, 1回の転送で1バイト
- 転送します.
- セカンドDMAコントローラ(4, 5, 6, 7)は1回で 隣接する2つのメモリ番地から
- 16ビット転送します.
- ここで, 最初のバイトは通常偶数のアドレスになります.
- 2つのコントローラは全く同じものであり, 転送量が異なるのは
- セカンドコントローラがシステムに直結しているためです.
-
- 8237 は個々のチャネルについて, DRQと-DACKという2つの電気信号を
- 持っています. その他に, HRQ (Hold Request), HLDA (Hold Acknowledge),
- -EOP (End of Process)があり, バス制御信号として -MEMR (Memory Read),
- -MEMW (Memory Write), -IOR (I/O Read), and -IOW (I/O Write)があります.
-
- 8237 DMACは, いわゆる``fly-by'' DMAコントローラです.
- これは, データの移動を行う際に, データは DMACチップを通過せず,
- DMACチップに格納されないことを意味します.
- また, DMACはI/Oポートとメモリアドレス間でのみデータを
- 転送することができますが, 2つのI/Oポートもしくは2つのメモリアドレス
- 間ではできません.
-
- <quote><em>注:</em> 8237は, 非``fly-by''モードでは, 互いに接続された
- 2つのチャネルでのメモリ-メモリ間でのDMA操作を許可します.
- しかし, PCメーカは, ただでさえ乏しいこのリソースをこんなふうに
- 使ったりしません。
- なぜなら, CPUを使用してメモリ間のデータを動かす方が早いからです.
- </quote>
-
- PCアーキテクチャでは, それぞれのDMAチャネルは, 通常そのDMAを
- 使用するハードウェアがそのチャネルについてDRQを使って
- 転送を要求した時のみ動作します.
-
-
- <sect1><heading>DMA転送の例</heading>
-
- <p>これはDMA転送の手順の例です.
- この例では, フロッピーディスクコントローラ (FDC)が
- ディスケットから1バイト読み込んで, DMAを使って,メモリの0x00123456番地に
- 格納したいとします. 処理は, FDCによって, DRQ2信号を有効にして
- DMAコントローラに要求を伝えることで開始します.
-
- DMAコントローラはDRQ2シグナルが有効になったことを記録します.
- するとDMAコントローラはDMAチャネル2がプログラムされ, 有効に
- なっていることを確認します.
- DMAコントローラはまた, 他のDMAチャネルがアクティブでないか, または
- より高い優先度を持っていないかを確認します.
- 一旦これらのチェックが完了すると, DMACはDMACがバスを使うために
- バスを開放するようにCPUに要求します.
- DMACはCPUにHRQ信号を送ってバスを要求します.
-
- CPUはHRQ信号を検出し, 現在の指示の実行を完了します.
- 一旦プロセッサがバスを開放することができる状態になると, 解放を
- 行います.
- 通常は CPU により駆動される信号 (-MEMR, -MEMW, -IOR, -IOW, その他)を
- すべてハイインピーダンス (ハイともローとも指定しない)状態にした後,
- CPUは HLDA信号を有効にして DMAコントローラにバスを明け渡したことを
- 伝えます.
-
- プロセッサによっては, CPUはバスを使用しないいくつかの
- 命令を追加して実行することもできますが,
- しかし,プロセッサの内部キャッシュやパイプライン以外のメモリから
- 何か読み出すといった指示に到達したら結局CPUは待たなくてはなりません.
-
- ここで,DMACが バスを「託される」と,
- DMACはその -MEMR, -MEMW, -IOR, -IOW 出力信号をアクティブにし,
- DMACから出力されるアドレスは 0x3456にセットされます.これは
- 転送しようとする特定のメモリ番地をバイトで指示するのに使われます.
-
- するとDMACはDMA転送をリクエストしたデバイスに転送が始まることを
- 知らせます.これは -DACK信号をアクティブにすることで行われます.
- フロッピーディスクコントローラの場合は, -DACK2を
- アクティブにすることで行われます.
-
- バスのデータ線に転送されるバイトにを出力することについては
- フロッピーディスクコントローラが責任をもつことになります.
- もし,フロッピーディスクコントローラがバス上にバイトデータを
- 出力するのに余計な時間を必要としなければ
- (もし周辺装置がもっと時間を必要とする場合には, READY信号を
- 経由してDMACに通知します), DMAは 1 DMAクロック待ち,
- メモリにバス上のバイトデータを格納するために
- -MEMW および -IOR 信号を解除します. そして
- FDCはバイトデータが転送されたことを認識します.
-
- DMAサイクルは1度に1バイトしか転送しないので,
- FDCはDRQ2信号を止めて, DMACに転送の終了を知らせます.
- DMACは-DACK2信号を解除して, FDCはバス上へのデータ出力を
- 停止しなくてはならないことを知らせます.
-
- 次にDMACは他のDMAチャネルのいずれかに要求がきていないか
- チェックを行います. もしどのチャネルのDRQも有効になっていなければ,
- DMAコントローラは処理を完了して, -MEMR, -MEMW, -IOR, -IOW および
- アドレス信号をハイインピーダンス状態にします.
-
- 最後に, DMAはHRQ信号を解除します. CPUはこれを見ると,HOLDA信号を
- 解除します. そしてCPUは自らの -MEMR, -MEMW, -IOR, -IOW 信号および
- アドレス線を有効にし, 命令の実行やメインメモリや周辺機器へのアクセスを
- 再開します.
-
- 典型的なフロッピーディスクの1セクタについては, 上記のプロセスが
- それぞれのバイトについて1回行われ, 全部で512回繰り返されます.
- 1バイト転送される毎に,DMAC内のアドレスレジスタはインクリメントされ,
- 何バイト転送すればよいかを示すカウンタがデクリメントされます.
-
- カウンタが0になると, DMAはカウンタが0になったことを示すEOP信号を
- 送り, DMAコントローラがCPUによって再びプログラムされるまで
- これ以上データは転送されなくなります.
-
- このイベントはターミナルカウント(TC)とも呼ばれます.
- EOP信号は1本しかありません. なぜならどんな時もただ1つのDMAチャネル
- のみをアクティブにすることができるためです.
-
- もし, バッファの転送が完了した時に周辺機器から割り込みを発生させたい
- とき, 周辺機器は -DACK信号およびEOP信号の両方が同時に発信されたか
- どうかをテストします. それが生じると, DMACはCPUの介在がなければ
- これ以上はその周辺機器についての情報を転送しないことを意味します.
- すると周辺機器はプロセッサの注意を得るために割り込み信号のうちの1つを
- 発信します. DMAチップ自身は割り込みを生じさせる能力は持っていません.
- 周辺機器とそれに関連するハードウェアが割り込みを生成する責任を
- 持ちます.
-
- DMACが要求を出したときにはCPUは常にバスをDMACに開放しますが,
- この動作は, DMACがアクティブになった時にプロセッサが命令を実行するのに
- かかる時間がわずかに変化することを除いては, アプリケーション,
- オペレーティングシステムの両方からはわからないということを
- 理解することが重要です.
- そのため, プロセッサが確かにDMA転送が完了したことを知るためには,
- 周辺装置やDMAチップ中のレジスタを調べたり,周辺装置からの割り込みを
- 受け取る必要があります.
-
-
-<sect1><heading>DMA ページレジスタ および 16メガ アドレス空間制限</heading>
-
- <p>これまで述べたのとは異なり, DMACはアドレス線を 0x0123456 にセットする
- 代わりに 0x3456 だけをセットすることにあなたは気づいたかも
- しれません. この理由について少し説明します.
-
- オリジナルのIBM PCがデザインされた時, IBMは, DMACと割込み制御チップの
- 両方を, 8085(8ビットプロセッサで, 16ビットのアドレス空間(64k)を持つ)と
- 組み合わせて使うように設計されたチップを使うことを選びました.
- IBM PCが64k以上のメモリをサポートしていたため,
- DMACが64kを越えるメモリ番地に読み込み又は書き込みを行うために
- 変更を行う必要が生じました.
- この問題を解決するためにIBMが行ったのは, それぞれのDMAチャネルに
- ついてラッチを追加することでした. つまり, 読み込む又は書き込む先の
- アドレスの上位ビットに保持するためのものです.
- DMAチャネルがアクティブな時はいつでも,
- このラッチの内容はアドレスバスに書かれて, そのチャネルのDMA操作が
- 終了するまでそこに保持されます.
- これらのラッチは「ページレジスタ」と呼ばれます.
-
- そのため上記に示した例では, DMACはアドレスの0x3456の部分をバス上に
- 置き, DMAチャネル2に対するページレジスタは, 0x0012xxxxをバス上に
- 置きます. これらの2つの値が組み合わされてアクセスされるメモリ中の完全な
- アドレスを形成します.
-
- ページレジスタのラッチはDMAチップとは独立であるので,
- 読み込まれる又は書き込まれるメモリ領域は, 64kの物理的境界を
- またいではなりません.
- DMACがメモリの0xffff番地をアクセスすると, データの転送後,
- DMACはアドレスレジスタをインクリメントし, 0x0000番地にある次のバイトを
- アクセスします. 0x10000番地ではありません.
- これはおそらく意図されたものとは異なっているでしょう.
-
- <quote><em>注:</em> 「物理的な」 64Kの境界を 8086モードの
- 64k「セグメント」と混同してはいけません. セグメントは, セグメント
- レジスタにオフセットレジスタを加算して作られるものです.
- ページレジスタにはアドレスのオーバーラップはありません. </quote>
-
- さらに複雑なことには, PC/ATでは外部のDMAアドレスのラッチは
- 8ビットしか保持しません. よって8+16で24ビットになり, これは
- DMAが0から16メガの間のメモリ番地しか指し示せないことを
- 意味します. 16メガ以上のメモリを持ったより新しいマシンにおいても,
- PCコンパチブルなDMAでは16メガ以上のメモリ番地にはアクセスできません.
-
- この制限を避けるために, オペレーティングシステムは
- 16メガ以下にある物理的な64kの境界をまたがない領域にバッファを
- 予約します. そして, DMACはデータを周辺機器からそのバッファに
- 転送するようにプログラムされます. 一旦DMACがこのバッファに
- データを動かすと, オペレーティングシステムは本当にデータを
- 格納したいアドレスにバッファからデータをコピーします.
-
- 16メガを越えるアドレスからDMAベースの周辺機器にデータを
- 書き込む際には, データは16メガ以下に位置したバッファから最初に
- コピーされなくてはならず, その後, DMACはバッファからハードウェアに
- データをコピーすることができます. FreeBSDでは, これらの予約バッファは
- 「バウンスバッファ」と呼ばれます. MS-DOSの世界では,
- これらは「スマートバッファ」などと呼ばれます.
-
-
- <sect1><heading>DMA操作モードとその設定</heading>
-
- <p>8237 DMA はいくつかのモードで動作します. 主なモードは,
- 以下のとおりです.
-
-<descrip>
-
- <tag>シングル転送モード</tag>
- シングルバイト(もしくはワード)が転送されます.
- DMAは1バイト毎にバスを開放し,
- 再び要求しなくてはなくてはなりません.
- これは一般に, すぐにはデータのブロック全てを転送できないデバイスに
- よって使用されます.
- 周辺装置は次の転送の準備ができる毎にDMAを要求します.
-
- フロッピーディスクコントローラは1バイトのバッファしか持たないので,
- このモードを使用します.
-
-
- <tag>ブロック/デマンド転送モード</tag>
- 一旦DMACがシステムバスを取得すると, 最大64kまでのデータブロック
- 全体が転送されます.
- もし周辺装置が余分に時間を必要とするときは,
- 転送を一時中断するためにREADY信号を有効にします.
- READY信号は過度に使われるべきではなく, 遅い周辺装置の転送の場合は
- シングル転送モードを代わりに使うべきです.
-
- ブロック転送モードとデマンド転送モードの違いは, 一旦ブロック転送が
- 始まると,転送カウンタか0になるまでそれが行われるところです.
- 1バイト転送するにはDRQが -DACK が有効になるまでの間だけ
- 有効であれば充分です.
- デマンドモードはDRQが有効な間は転送が続けられます.
- DMACが転送を一時中止した場合はバスを解放してCPUに返します.
- その後、DRQが有効になると, 転送は中断したところから再開されます.
-
- データの転送, 特に転送に使われるメモリ番地が16Mを越える場合に,
- CPUを使った方が効率がよくなるまでCPUの速度が向上する以前の
- 古いハードディスクコントローラはデマンドモードを使っていました.
-
-
- <tag>カスケード転送モード</tag>
- このメカニズムはDMAチャネルがバスを要求することを許可する
- ものですが, 接続されたデバイスはバス上のアドレス情報の配置に
- ついてDMACに代わって責任を持ちます.
- これはいわゆる「バスマスタ」というものです.
-
- カスケードモードのDMAチャネルがバスのコントロールを受け取ると,
- DMAは通常行われるようなバス上のアドレスとI/Oコントロール信号の
- 出力を行いません. 代わりに, DMAはこのチャネルの -DACK信号を
- 有効にします.
-
- この時点で, アドレスとバスコントロール信号の供給は
- DMAチャネルに接続されたデバイスが担当します.
- 周辺機器はシステムバスの完全なコントロールを行い,
- 16メガ以下の任意のアドレスの読み込みおよび書き込みを行うことが
- できます. 周辺機器はバスの使用を終えると, DRQ線を無効にして,
- DMAコントローラはCPUもしくは他のDMAチャネルに制御を返します.
-
- カスケードモードは複数のDMAコントローラを相互接続するのに
- 使われます. PC内ではDMAチャネル4がまさにこの用途に使われています.
- 周辺機器がDMAチャネル0, 1, 2, 3でバスを要求すると,
- スレーブDMAコントローラは HLDREQ を有効にしますが,
- この線は実際にはプライマリDMAコントローラのDRQ4に接続されています.
- プライマリのDMAコントローラはその後 HLDREQ を使ってCPUにバスを
- 要求します. バスが与えられると, -DACK4が有効になり,
- この線は実際にはスレーブDMAコントローラの HLDA信号に
- 接続されています.
- スレーブDMAコントローラはその後要求したDMAチャネルに対して
- データを転送するか, SCSIコントローラのような
- バスマスタリングを要求する周辺機器にバスを許可します.
-
- このような配線がおこなわれているため, PC/ATシステムでは
- DMAチャネルは
- 0, 1, 2, 3, 5, 6, 7のみが使用できます.
-
- <quote><em>注:</em>
- 初期のIBM PCコンピュータでは, DMAチャネル0は操作の
- リフレッシュのために予約されていますが,
- 最近のシステムでは通常, 周辺機器によって使用することができます.
- </quote>
-
- 周辺機器がバスマスタリングを行っている時は,
- システムバスを保持している間絶えずメモリにもしくはメモリから
- データを転送することが重要です.もし, 周辺機器がこのように
- できないときは, システムがメインメモリのリフレッシュを
- 行なえるようにしばしばバスを開放しなくてはなりません.
-
- 全てのPCでメインメモリとして使われるダイナミックRAMは,
- 中身が「満たされている」ビットを保持するため
- 頻繁にアクセスされなくてはなりません.
- ダイナミックRAMは, それぞれが1ビットのデータを記憶するコンデンサが
- たくさん集まって構成されています. これらのコンデンサは充電された
- 状態で"1", 充電されていない状態で"0"を表します.
- 全てのコンデンサは放電するため, "1"の値を保持するために,
- 一定の間隔で電力を加える必要があります.
- 実際にRAMチップはRAMの適切な場所に電力を送る作業を行ないますが,
- メモリのリフレッシュ作業がRAMを普通にアクセスする時と
- 衝突しないように, それをいつ行なうかを
- コンピュータが休止状態の時に知らせなくてはなりません.
- もしコンピュータがメモリのリフレッシュを行なえない場合は,
- メモリの中身はわずか数ミリ秒で壊れてしまいます。
-
- メモリの読み込みと書き込みのサイクルはリフレッシュサイクルとして
- カウントされる(ダイナミックRAMのリフレッシュサイクルは
- 実際には不完全なメモリ読み込みサイクルになります)ので,
- 周辺機器のコントローラが連続するメモリ番地からデータの読み込み
- または書き込みを行う間は, メモリの全てがリフレッシュされます.
-
- バスマスタリングはいくつかのSCSIホストインターフェースやその他の
- ハイパフォーマンスな周辺機器コントローラに見られます.
-
-
- <tag>自動初期化転送モード</tag>
- このモードにおいてDMAはバイト, ブロック, デマンド転送を行いますが,
- DMA転送カウンタが0になると, カウンタとアドレスはDMAチャネルが
- もともとプログラムされた時のものに戻されます.
- これは, 周辺機器が転送を要求している間は転送が続けられることを
- 意味します.
- 転送領域としてDMACにプログラムされた固定バッファの中で,
- 出力操作でDMACがデータを読み出す前もって新しいデータを
- 書き込んだり入力操作でDMACが書き込んだあとに,
- そこから新しいデータを読み出す作業はCPUが受け持ちます.
-
- このテクニックは, サンプリング用のバッファが小さいもしくは
- それを持たないオーディオデバイスによく使われます.
- この「環状」バッファの管理は更なるCPUオーバーヘッドになりますが,
- DMAカウンタが0になり, 再プログラムされるまでDMAが停止してしまう
- ことによって起きる遅延は, この方法でしかなくす事ができない
- 場合もあります.
- </descrip>
-
- <sect1><heading>DMAのプログラミング</heading>
-
- <p>プログラムされるDMAチャネルは, 通常, 設定を行う前に
- 「マスクする」べきです.
- これはハードウェアが予期せずDRQを有効にすると, たとえ全てのパラメータが
- 満たされてない場合や更新されていない場合でも, DMACは
- それに応答してしまうからです.
-
- マスクを行ってから,ホストは転送の方向(メモリからI/O,
- もしくはI/Oからメモリ)と, 転送に使用するDMA操作のモード
- (シングル, ブロック, デマンド, カスケードなど)を設定し, 最後に
- アドレスや転送の長さを設定します.
- 設定される長さはDMACに転送させたい量よりも1少なくなります.
- アドレスや転送長のLSBとMSBは同じ8ビットI/Oポートに書き込まれます.
- そのためDMACが最初のバイトをLSBとして, 2番目のバイトをMSBとして
- 受け取ることを保証するために, 最初に別のポートに書き込みを行なって
- LSBとMSBの判別を行なうフリップフロップをクリアしておく必要があります.
-
- そして,DMAのページレジスタを更新します. これはDMACの外部にあり
- I/Oポートの別のセットを通してアクセスされます.
-
- すべての設定ができると, DMAチャネルはマスクを解除することができます.
- そのDMAチャネルは「準備ができた」とみなされ, DRQが有効になると
- 応答します.
-
- 8237のプログラミングの正確な詳細については,
- ハードウェアデータブックを参照してください.
- PCシステムにおけるI/Oマップについても参照する必要があるでしょう.
- このマップにはDMAおよびページレジスタのポートがどこに位置するのかを
- 書いてあります. 以下に完全な表を示します.
-
-
- <sect1><heading>DMAポートのマップ</heading>
-
- <p>IBM-PCとPC/ATに基づくすべてのシステムでは, 同じI/Oポートに配置された
- DMAハードウェアを持っています. その完全なリストを以下に示します.
- DMAコントローラ2に割り当てられたポートは, AT以外のデザインでは
- 未定義になっています.
-
-<sect2><heading>0x00 - 0x1f DMA コントローラ &num;1 (Channels 0, 1, 2 and 3)</heading>
-
-<p>DMA アドレス および カウントレジスタ
-
-<verb>
-0x00 write Channel 0 starting address
-0x00 read Channel 0 current address
-0x02 write Channel 0 starting word count
-0x02 read Channel 0 remaining word count
-
-0x04 write Channel 1 starting address
-0x04 read Channel 1 current address
-0x06 write Channel 1 starting word count
-0x06 read Channel 1 remaining word count
-
-0x08 write Channel 2 starting address
-0x08 read Channel 2 current address
-0x0a write Channel 2 starting word count
-0x0a read Channel 2 remaining word count
-
-0x0c write Channel 3 starting address
-0x0c read Channel 3 current address
-0x0e write Channel 3 starting word count
-0x0e read Channel 3 remaining word count
-</verb>
-
-DMA コマンドレジスタ
-
-<verb>
-0x10 write Command Register
-0x10 read Status Register
-0x12 write Request Register
-0x12 read -
-0x14 write Single Mask Register Bit
-0x14 read -
-0x16 write Mode Register
-0x16 read -
-0x18 write Clear LSB/MSB Flip-Flop
-0x18 read -
-0x1a write Master Clear/Reset
-0x1a read Temporary Register
-0x1c write Clear Mask Register
-0x1c read -
-0x1e write Write All Mask Register Bits
-0x1e read -
-</verb>
-
-<sect2><heading>0xc0 - 0xdf DMA コントローラ &num;2 (Channels 4, 5, 6 and 7)</heading>
-
-<p>DMA アドレス および カウントレジスタ
-
-<verb>
-0xc0 write Channel 4 starting address
-0xc0 read Channel 4 current address
-0xc2 write Channel 4 starting word count
-0xc2 read Channel 4 remaining word count
-
-0xc4 write Channel 5 starting address
-0xc4 read Channel 5 current address
-0xc6 write Channel 5 starting word count
-0xc6 read Channel 5 remaining word count
-
-0xc8 write Channel 6 starting address
-0xc8 read Channel 6 current address
-0xca write Channel 6 starting word count
-0xca read Channel 6 remaining word count
-
-0xcc write Channel 7 starting address
-0xcc read Channel 7 current address
-0xce write Channel 7 starting word count
-0xce read Channel 7 remaining word count
-</verb>
-
-DMA コマンドレジスタ
-
-<verb>
-0xd0 write Command Register
-0xd0 read Status Register
-0xd2 write Request Register
-0xd2 read -
-0xd4 write Single Mask Register Bit
-0xd4 read -
-0xd6 write Mode Register
-0xd6 read -
-0xd8 write Clear LSB/MSB Flip-Flop
-0xd8 read -
-0xda write Master Clear/Reset
-0xda read Temporary Register
-0xdc write Clear Mask Register
-0xdc read -
-0xde write Write All Mask Register Bits
-0xde read -
-</verb>
-
-<sect2><heading>0x80 - 0x9f DMA ページレジスタ</heading>
-
-<p><verb>
-0x87 r/w DMA Channel 0
-0x83 r/w DMA Channel 1
-0x81 r/w DMA Channel 2
-0x82 r/w DMA Channel 3
-
-0x8b r/w DMA Channel 5
-0x89 r/w DMA Channel 6
-0x8a r/w DMA Channel 7
-
-0x8f Refresh
-</verb>
-
diff --git a/share/doc/ja_JP.EUC/handbook/eresources.sgml b/share/doc/ja_JP.EUC/handbook/eresources.sgml
deleted file mode 100644
index 733d338..0000000
--- a/share/doc/ja_JP.EUC/handbook/eresources.sgml
+++ /dev/null
@@ -1,454 +0,0 @@
-<!-- $Id: eresources.sgml,v 1.5 1997/02/22 13:00:56 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.34 -->
-
-<chapt>
- <heading>インターネット上のリソース<label id="eresources"></heading>
-
- <p><em>原作: &a.jkh;.</em>
-
- <p><em>訳: &a.yuki;.<newline>28 August 1996</em>
-
- <p>FreeBSDの進歩が急速であるため, 最新の開発をフォローするためには,
- 印刷したメディアは実用的でなくなっています.
- 大抵の場合, 最新情報を入手する方法としては, 電子的なリソースが
- ベストです. FreeBSDはボランティアの努力によって,
- ユーザコミュニティ自体が, 一種の「テクニカルサポート部門」としての
- 役割も通常果たしており, 電子メールやUsenetのニュースがこれらのコミュ
- ニティにたどり着く最も効果的な方法になっています.
-
- 以下に, FreeBSD ユーザコミュニティに連絡を取る場合の最も重要な点についての
- 概略を示します. もしここに書かれていない他のリソースに気がついた場合は,
- それらを &a.doc に送って頂ければ, それらをここに含めるかもしれません.
-
- <sect>
- <heading>メーリングリスト<label id="eresources:mail"></heading>
-<p>多くのFreeBSDの開発メンバはUSENETを読むことができますが,
-もし, comp.unix.bsd.freebsd.*のグループの一つに質問を投稿したとしても
-タイムリにその質問を受け取るということは保証できません.
-質問を適切なメーリングリストに投稿すれば, 私たちかFreeBSDの関係者から,
-よりよい (そして少なくともより早い) 反応がいつでも得られることでしょう.
-
-<P>さまざまなメーリングリストの憲章をこのドキュメントの最後に記載しま
-す. <bf>私たちは, メーリングリストの質, 特に技術面に関する質を高く保つ
-ために努力しているので, メーリングリストに参加する前にその憲章を読んで
-ください. </bf>私たちのメーリングリストの参加者のほとんどは, 現在非常
-にたくさんのFreeBSDに関連したメッセージを毎日受け取っており, メーリン
-グリストに対するふさわしい用いられ方をするための憲章やルールを決めるこ
-とによって, メーリングリストのS/N比を高くする保つように励んでいます.
-そうしないと, 結果的に, メーリングリストがプロジェクトにとって
-事実上のコミュニケーションの手段になってしまうでしょう.
-
-メーリングリストはいずれもアーカイブされており, それらは
-<url url="http://www.FreeBSD.ORG/search.html"
-name="FreeBSD World Wide Web server"> で検索することができます.
-キーワード検索可能なアーカイブの提供は,
-良くある質問に対する回答を見つけるすぐれた方法ですから,
-質問を投稿する前に調べてみるべきでしょう.
-
-<sect1><heading>メーリングリストの概説<label id="eresources:summary"></heading>
-
-<p><bf>一般的なメーリングリスト:</bf> 以下のものは誰でも自由に参加できる
-一般的なものです:
-<verb>
-リスト 目的
-----------------------------------------------------------------------
-freebsd-announce 重要なイベントやプロジェクトのマイルストン
-freebsd-bugs バグレポート
-freebsd-chat FreeBSDコミュニティに関連する技術的ではない話題
-freebsd-current FreeBSD-currentの使用に関連する議論
-freebsd-stable FreeBSD-stableの使用に関連する議論
-freebsd-isp FreeBSDを用いているインターネットサービスプロバイダの話題
-freebsd-questions ユーザからの質問
-</verb>
-
-<bf>技術的なメーリングリスト:</bf> 以下のメーリングリストは, 技術的な
-議論のためのものです. それらの利用や内容のためにしっかりとしたガイドラ
-インがあるので, これらのメーリングリストに入ったり, どれか一つにメール
-を送ったりする前には, それらのメーリングリストの憲章を注意深く読むべきで
-す.
-<verb>
-リスト 目的
-----------------------------------------------------------------------
-freebsd-doc FreeBSDのドキュメンテーションプロジェクト
-freebsd-emulation Linux/DOS/Windowsのような他のシステムのエミュレーション
-freebsd-fs ファイルシステム
-freebsd-hackers 一般的な技術の議論
-freebsd-hardware FreeBSDの走るハードウェアの一般的な議論
-freebsd-mobile モーバイルコンピューティングについての議論
-freebsd-multimedia マルチメディアの議論
-freebsd-platforms Intel以外のアーキテクチャのプラットフォームへの移植
-freebsd-ports portsコレクションに関する議論
-freebsd-security セキュリティに関する話題
-freebsd-security-notifications
- セキュリティに関する通知 (モデレーテッドメーリングリスト)
-freebsd-scsi SCSIサブシステム
-freebsd-smp 対称/非対称のマルチプロセッシングの設計に関する議論
-</verb>
-
-<bf>制限されているメーリングリスト:</bf> 以下のメーリングリストは参加
-するには<url url="mailto:core@freebsd.org" name="core@FreeBSD.ORG">の
-認可が必要ですが, それぞれの憲章の範囲内であれば, 提案やコメントは誰で
-も自由に投稿することができます.
-<verb>
-メーリングリスト 目的
-----------------------------------------------------------------------
-freebsd-admin 管理に関する話題
-freebsd-arch アーキテクチャや設計の議論
-freebsd-core FreeBSDコアチーム
-freebsd-hubs ミラーサイトを運営している人達 (基盤のサポート)
-freebsd-install インストール関係の開発
-freebsd-user-groups ユーザグループの調整
-</verb>
-
-<bf>CVSメーリングリスト:</bf> 以下のメーリングリストはソースツリーの
-さまざまな場所の変更のログメッセージを見ることに興味のある人向けです.
-これらは<bf>読み専用</bf>のリストで, これらにメールを送る事は出来ません.
-<verb>
-メーリングリスト ソースの範囲 (ソースの) 範囲の説明
-----------------------------------------------------------------------
-cvs-CVSROOT /usr/src/[A-Z]* /usr/src/ 以下のトップレベルのファイルの変更
-cvs-all /usr/src ツリーのすべての変更 (スーパーセット)
-cvs-bin /usr/src/bin システムバイナリ
-cvs-etc /usr/src/etc システムファイル
-cvs-games /usr/src/games ゲーム
-cvs-gnu /usr/src/gnu GPLにしたがったユーティリティ
-cvs-include /usr/src/include インクルードファイル
-cvs-kerberosIV /usr/src/kerberosIV Kerberos暗号化コード
-cvs-lib /usr/src/lib システムライブラリ
-cvs-libexec /usr/src/libexec システムバイナリ
-cvs-ports /usr/ports 移植済みソフトウェア
-cvs-sbin /usr/src/sbin システムバイナリ
-cvs-share /usr/src/share システム共有ファイル
-cvs-sys /usr/src/sys カーネル
-cvs-usrbin /usr/src/usr.bin ユーザバイナリ
-cvs-usrsbin /usr/src/usr.sbin システムバイナリ
-</verb>
-
-<sect1><heading>参加方法<label id="eresources:subscribe"></heading>
-
-<p>どのメーリングリストも<tt>FreeBSD.ORG</tt>にあるので,
-メーリングリストにメールを送るには, ただ
-<em>listname</em><tt>@FreeBSD.ORG</tt> にメールを送るだけです.
-すると, メーリングリストに登録されている世界中のメンバに再配布されます.
-
-メーリングリストに参加するには,
-<tscreen><verb>
-subscribe <listname> [<optional address>]
-</verb></tscreen>
-という内容をメッセージの本文に含むメールを &a.majordomo に送ります.
-例えば, freebsd-announce に参加したい場合は次のようにします:
-<tscreen><verb>
-% mail majordomo@FreeBSD.ORG
-subscribe freebsd-announce
-^D
-</verb></tscreen>
-もし, あなたが, 自分自身を違う名前 (メールアドレス) で登録したい場合,
-あるいは, ローカルなメーリングリスト (注意:もしあなたのサイトに,
-興味を持った仲間がいるなら, これはより有効ですし,
-私たちにとっても非常に嬉しいことです.)
-を登録する申し込みをおこないたいのであれば, 次のようにします:
-<tscreen><verb>
-% mail majordomo@FreeBSD.ORG
-subscribe freebsd-announce local-announce@somesite.com
-^D
-</verb></tscreen>
-最後に, majordomoに対して
-他のタイプのコントロールメッセージを送ることで
-メーリングリストから脱退したり, メーリングリストの他のメンバのリストを
-得たり, 再びメーリングリストのリストを見たりすることも可能です.
-利用できるコマンドの完全なリストを入手するには, 次のようにします:
-<tscreen><verb>
-% mail majordomo@FreeBSD.ORG
-help
-^D
-</verb></tscreen>
-再度言いますが, 私たちは技術的なメーリングリストでは技術的な議論を保つよう
-要求します. もし, 「高いレベル」にのみ興味があるなら, freebsd-announce
-に参加するように勧めます. これは少ないトラフィックの予定です.
-
-<sect1><heading>メーリングリストの憲章<label id="eresources:charters"></heading>
-
-<p><bf>全て</bf>FreeBSDメーリングリストは誰でもそれらを利用することに
-固守しなければいけないという一定の簡単なルールがあります. これらのルー
-ルに従わないと, 結果としてFreeBSDの<url
-url="mailto:postmaster@freebsd.org" name="Postmaster">から2回までは警
-告を受けます. 3回違反すると, 投稿者は全てのFreeBSDのメーリングリストか
-ら削除され, そのメーリングリストへのさらなる投稿から締め出されるでしょ
-う. これらのルールや対策が必要なのは残念です. しかし,今日のインターネッ
-トはずいぶんいやらしい環境になっており, 一般の人々は, その(対策の)メカ
-ニズムがいかにもろいかという事すら認識する事が出来ていないと思われます.
-
-<p>道標
-<itemize>
-<item>いかなる投稿記事もそのメーリングリストの基本的な憲章を守るべきで
- す. 例えば, そのメーリングリストが技受的な問題に関するものであ
- れば, 技術的な議論を含む投稿でなければなりません. 現在継続中の
- 不適切な憲章やフレイムは, 所属している全ての人に対してメーリングリスト
- の価値を下げてしまうだけですし, 許される行為ではないでしょう.
- とくに話題のない自由形式の議論に対しては<url
- url="mailto:freebsd-chat@freebsd.org" name="freebsd-chat">メーリ
- ングリストが自由に認可されているので, かわりに使うべきでしょう.</item>
-
-<item>2つのメーリングリストに送るはっきりとした明確な必要性が存在する
- 時, 2つ以上のメーリングリストに投稿すべきではありません. どのリ
- ストに対しても, (メーリングリストの)参加者は(複数のメーリングリ
- ストに)重複して参加しており, 関連する部分が少ない(例えば,
- "-stable と - scsi")メーリングリストを除いては, 一度に複数のメー
- リングリストに投稿する理由は全くありません. もし, Ccに複数の
- メーリングリストがそのような形で現れて, あなたに届いたのであれば,
- 再びそのメールに返事を出す前に, ccの部分もまた編集するべきです.
- <em>元記事を書いたのが誰であっても, あなた自身のクロスポストに
- <bf>まだ</bf>責任があります. </em>
-
-<item>ユーザであれ開発者であれ, (議論の中で) 個人を攻撃したり冒涜した
- りすることは許されません. 個人的なメールを引用したり再投稿したり
- する許可をもらえなかったり, もらえそうにない時に, それをおこなう
- ようなネチケット (訳注: ネットワークにおけるエチケット) に対する
- ひどい違反は好まれませんが, してはならないと特別に定められている
- わけではありません. <bf>しかしながら</bf>, そのような内容がメー
- リングリストの憲章に沿う場合はほとんどありません。このため、メー
- リングリストの憲章に違反しているということだけで警告(または禁止)
- に値するものと考えていいでしょう。
-
-<item>FreeBSD以外の関連する製品やサービスの広告は, 絶対に禁止し, spam
- による違反者が宣伝していることが明確であったら, すぐに禁止しま
- す. </item>
-
-</itemize>
-
-<p><bf>個々のメーリングリストの憲章:</bf>
-
-<p>
-<descrip>
-<tag/FREEBSD-ADMIN/ <em>管理上の話題</em><newline>
-このリストは, 純粋にfreebsd.org関係の議論のためのメーリングリストで,プ
-ロジェクトの資源の問題や乱用の報告を行ないます. これはクローズドなリ
-ストですが, 誰でも問題(私達のシステムを含みます!)を報告できます.
-
-<tag/FREEBSD-ANNOUNCE/ <em>重要なイベント/マイルストン</em><newline>
-これは, 単にたまに発表される重要なfreebsdのイベントに関心がある人のた
-めのメーリングリストです. これは, スナップショットやその他のリリースに
-ついてのアナウンスを含みます. そのアナウンスは新しいFreeBSDの機能のア
-ナウンスを含んでいます. ボランティア等の呼びかけがあるかもしれませ
-ん. これは流通量の少ないメーリングリストで, 完全なのモデレートメーリン
-グリストです.
-
-<tag/FREEBSD-ARCH/ <em>アーキテクチャと設計の議論</em><newline>
-これは, FreeBSDの設計に関する議論をする人向けのメーリングリストです.
-これは, クローズドなリストで, 一般的には参加できません.
-
-<tag/FREEBSD-BUGS/ <em>バグレポート</em><newline>
-これは, FreeBSDのバグレポートのためのメーリングリストです. 可能である
-場合はいつでも, バグは ``send-pr(1)'' を使うか, <url
-url="http://www.freebsd.org/send-pr.html" name="WEB interface">を用い
-て送られる必要があります.
-
-<tag/FREEBSD-CHAT/ <em>FreeBSDのコミュニティに関する
- 技術的ではない話題</em><newline>
-このメーリングリストは技術的ではなく, 社会的な情報について,
-他のメーリングリストでは取り扱わない話題を含みます.
-これは, Jordanがシロイタチに似ているかどうか,
-大文字で打つかどうか, 誰がたくさんコーヒーを飲むか,
-どこのビールが一番うまいか, 誰が地下室でビールを作っているか,
-などについての議論を含みます. 時々重要なイベント (将来開催されるパーティーや,
-結婚式, 誕生日, 新しい仕事など) のお知らせが, 技術的なメーリングリストから
-でてきます. しかし, フォローは直接 -chatメーリングリストにするべきです.
-
-<tag/FREEBSD-CORE/ <em>FreeBSDコアチーム</em><newline>
-これは, コアメンバが使う内部メーリングリストです. FreeBSDに関連する深
-刻なやっかい事の裁定やハイレベルな綿密な調査を要求するときに, このメー
-リングリストにメッセージを送る事が出来ます.
-
-<tag/FREEBSD-CURRENT/ <em>FreeBSD-currentの使用に関する議論
-</em><newline>これは freebsd-current のユーザのためのメーリングリストです.
-メーリングリストでの話題は, -current で登場した新しい機能について,
-その新機能によってユーザに影響することについての注意, および -current
-のままでいるために必要な手順についての説明を含みます.
-"current" を走らせている人はこのメーリングリストに登録しなくてはなりません.
-これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
-
-<tag/FREEBSD-CURRENT-DIGEST/ <em>FreeBSD-currentの使用に関する議論
-</em><newline> freebsd-currentメーリングリストのダイジェスト版です. こ
-のダイジェストはfreebsd-currentに送られたすべてのメッセージをまとめた
-ものを, 1つのメールにして送り出します. 平均のサイズは約40kbyteです. こ
-のメーリングリストは<bf>読み専用</bf>で, メールを送るような事はしない
-で下さい.
-
-<tag/FREEBSD-STABLE/ <em>FreeBSD-stableの使用に関する議論
-</em><newline>これは freebsd-stable のユーザ用のメーリングリストです.
-メーリングリストでの話題は, -stable で登場した新しい機能について, そ
-の新機能によってユーザに影響することについての注意, および -stable
-のままでいるために必要な手順についての説明を含みます.
-"stable" を走らせている人はこのメーリングリストに登録すべきです.
-これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
-
-<tag/FREEBSD-DOC/ <em>ドキュメンテーションプロジェクト</em><newline>
-このメーリングリストはFreeBSD Doc Projectに属し,
-ドキュメンテーションに関連する問題やプロジェクトの議論のためのものです.
-
-<tag/FREEBSD-FS/ <em>ファイルシステム</em><newline>
-FreeBSDのファイルシステムに関する議論
-これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
-
-<tag/FREEBSD-HACKERS/ <em>技術的な議論</em><newline>
-これはFreeBSDに関する技術的な議論のためのフォーラムです.
-これは最もテクニカルなメーリングリストです.
-このメーリングリストは, FreeBSD 上でアクティブに活動をしている人のためのもので,
-問題を持ち出したり, 代わりの解決法を議論します.
-技術的な議論をフォローするのに興味がある人も歓迎します.
-これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
-
-<tag/FREEBSD-HACKERS-DIGEST/ <em>技術的な議論</em><newline>
-freebsd-hackersメーリングリストのダイジェスト版です. このダイジェスト
-はfreebsd-hackersに送られたすべてのメッセージをまとめたものを, 1つのメー
-ルにして送り出します. 平均のサイズは約40kbyteです. このメーリングリス
-トは<bf>読み専用</bf>で, メールを送るような事はしないで下さい.
-
-<tag/FREEBSD-HARDWARE/ <em>FreeBSDのハードウェアの一般的な議論
-</em><newline> FreeBSDが走っているハードウェアのタイプや,
-何を買ったり避けたりするかに関する様々な問題や, 提案に関する議論.
-
-<tag/FREEBSD-INSTALL/ <em>インストールに関する議論</em><newline>
-このメーリングリストは将来のリリースのインストールに関する開発の
-議論のためのもので, クローズドなメーリングリストです.
-
-<tag/FREEBSD-ISP/ <em>インターネットサービスプロバイダのについての話題
-</em><newline>このメーリングリストは, FreeBSDを用いたインターネット
-サービスプロバイダ (ISP) に関する話題の議論のためのものです.
-これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
-
-<tag/FREEBSD-MULTIMEDIA/ <em>マルチメディアについての議論</em><newline>
-このメーリングリストはFreeBSD上を用いたマルチメディアアプリケーションについてのフォーラムです.
-マルチメディアアプリケーションをとりまく議論の中心は, それらのインストール,
-開発, そしてFreeBSDにおけるサポートについてです.
-これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
-
-<tag/FREEBSD-PLATFORMS/ <em>Intel以外のプラットフォームへの移植
-</em><newline>クロスプラットフォームのFreeBSDの問題.
-Intel以外のプラットフォームへのFreeBSDの移植についての一般的な議論や提案.
-これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
-
-<tag/FREEBSD-PORTS/ <em>``ports'' の議論</em><newline>
-FreeBSD の ``ports コレクション'' (/usr/ports) や, 移植の提案,
-ports コレクションの基盤の変更, 一般的な整合化活動についての議論.
-これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
-
-<tag/FREEBSD-QUESTIONS/ <em>ユーザからの質問</em><newline>
-FreeBSDに関する質問のためののメーリングリストです.
-その質問がかなり技術的だと思わないのであれば,
-「どのようにして」という質問を技術的なメーリングリストに送るべきではありません.
-
-<tag/FREEBSD-QUESTIONS-DIGEST/ <em>ユーザからの質問</em><newline>
-freebsd-questionsメーリングリストのダイジェスト版です.
-このダイジェストはfreebsd-questionsに送られたすべてのメッセージをまとめたものを,
-1つのメールにして送り出します. 平均のサイズは約40kbyteです.
-
-<tag/FREEBSD-SCSI/ <em>SCSIサブシステム</em><newline>
-これはFreeBSDのためのscsiサブシステムについて作業している人向けです.
-これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
-
-<tag/FREEBSD-SECURITY/ <em>セキュリティの関連の話題</em><newline>
-FreeBSDコンピュータのセキュリティの話題 (DES, Kerberos, よく知られている
-セキュリティホールや, それらのふさぎ方など)
-これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
-
-<tag/FREEBSD-SECURITY-NOTIFICATIONS/ <em>セキュリティ関連の通知</em><newline>
-FreeBSD のセキュリティ問題や, 修正に関する通知を行ないます.
-このメーリングリストは議論を行なうためのメーリングリストではありません.
-議論は FreeBSD-security で行ないます.
-
-<tag/FREEBSD-USER-GROUPS/ <em>ユーザグループの調整のメーリングリスト</em><newline>
-これは, ローカルなユーザグループがお互いに, または,
-コアチームが指定した個人と問題を議論する,
-それぞれのローカルエリアのユーザグループからの調整人向けの
-メーリングリストです.
-このメーリングリストはユーザグループ間の
-ミーティングの概要やプロジェクトの調整に制限されるべきです.
-これはクローズドなメーリングリストです.
-
-</descrip>
-
- <sect>
- <heading>Usenet ニュースグループ<label id="eresources:news"></heading>
-
- <p>2つのFreeBSD用のニュースグループがあります. ここでは
- FreeBSDの議論をするたくさんの様々な人がおり,
- 他にもFreeBSD関連するユーザがいます.
- これらのいくつかのニュースグループは Warren Toomey
- <tt>&lt;wkt@cs.adfa.oz.au&gt;</tt> によって <url
- url="http://minnie.cs.adfa.oz.au/BSD-info/bsdnews&lowbar;search.html"
- name="Keyword searchable archives"> で,
- 検索できるようになっています.
-
- <sect1>
- <heading>BSD用のニュースグループ</heading>
-
- <p><itemize>
- <item><url url="news:comp.unix.bsd.freebsd.announce"
- name="comp.unix.bsd.freebsd.announce"></item>
- <item><url url="news:comp.unix.bsd.freebsd.misc"
- name="comp.unix.bsd.freebsd.misc"></item>
- </itemize>
-
- <sect1>
- <heading>関連する他のUnixのニュースグループ</heading>
-
- <p><itemize>
- <item><url url="news:comp.unix" name="comp.unix"></item>
- <item><url url="news:comp.unix.questions" name="comp.unix.questions"></item>
- <item><url url="news:comp.unix.admin" name="comp.unix.admin"></item>
- <item><url url="news:comp.unix.programmer" name="comp.unix.programmer"></item>
- <item><url url="news:comp.unix.shell" name="comp.unix.shell"></item>
- <item><url url="news:comp.unix.user-friendly" name="comp.unix.user-friendly"></item>
- <item><url url="news:comp.security.unix" name="comp.security.unix"></item>
- <item><url url="news:comp.sources.unix" name="comp.sources.unix"></item>
- <item><url url="news:comp.unix.advocacy" name="comp.unix.advocacy"></item>
- <item><url url="news:comp.unix.misc" name="comp.unix.misc"></item>
- <item><url url="news:comp.os.386bsd.announc" name="comp.os.386bsd.announc"></item>
- <item><url url="news:comp.os.386bsd.app" name="comp.os.386bsd.app"></item>
- <item><url url="news:comp.os.386bsd.bugs" name="comp.os.386bsd.bugs"></item>
- <item><url url="news:comp.os.386bsd.development" name="comp.os.386bsd.development"></item>
- <item><url url="news:comp.os.386bsd.misc" name="comp.os.386bsd.misc"></item>
- <item><url url="news:comp.os.386bsd.questions" name="comp.os.386bsd.questions"></item>
- <item><url url="news:comp.bugs.4bsd" name="comp.bugs.4bsd"></item>
- <item><url url="news:comp.bugs.4bsd.ucb-fixes" name="comp.bugs.4bsd.ucb-fixes"></item>
- <item><url url="news:comp.unix.bsd" name="comp.unix.bsd"></item>
- </itemize>
-
- <sect1>
- <heading>X Window システム</heading>
-
- <p><itemize>
- <item><url url="news:comp.windows.x.i386unix" name="comp.windows.x.i386unix"></item>
- <item><url url="news:comp.windows.x" name="comp.windows.x"></item>
- <item><url url="news:comp.windows.x.apps" name="comp.windows.x.apps"></item>
- <item><url url="news:comp.windows.x.announce" name="comp.windows.x.announce"></item>
- <item><url url="news:comp.windows.x.intrinsics" name="comp.windows.x.intrinsics"></item>
- <item><url url="news:comp.windows.x.motif" name="comp.windows.x.motif"></item>
- <item><url url="news:comp.windows.x.pex" name="comp.windows.x.pex"></item>
- <item><url url="news:comp.emulators.ms-windows.wine" name="comp.emulators.ms-windows.wine"></item>
- </itemize>
-
- <sect>
- <heading>World Wide Web サイト<label id="eresources:web"></heading>
-
- <p><itemize>
- <item><url url="http://www.FreeBSD.ORG/"> <bf>- 本家のサーバ</bf>.</item>
- <item><url url="http://www.au.freebsd.org/FreeBSD/"> <bf>- オーストラリア</bf>.</item>
- <item><url url="http://www.br.freebsd.org/"> <bf>- ブラジル</bf>.</item>
- <item><url url="http://www.ca.freebsd.org/"> <bf>- カナダ</bf>.</item>
- <item><url url="http://sunsite.mff.cuni.cz/www.freebsd.org/"><bf>- チェコ</bf>.</item>
- <item><url url="http://sunsite.auc.dk/www.freebsd.org/"> <bf>- デンマーク</bf>.</item>
- <item><url url="http://www.ee.freebsd.org/"> <bf>- エストニア</bf>.</item>
- <item><url url="http://www.fi.freebsd.org/"> <bf>- フィンランド</bf>.</item>
- <item><url url="http://www.de.freebsd.org/"> <bf>- ドイツ</bf>.</item>
- <item><url url="http://www.ie.freebsd.org/"> <bf>- アイルランド</bf>.</item>
- <item><url url="http://www.jp.freebsd.org/"> <bf>- 日本</bf>.</item>
- <item><url url="http://www.kr.freebsd.org/"> <bf>- 韓国</bf>.</item>
- <item><url url="http://www.nl.freebsd.org/"> <bf>- ニュージーランド</bf>.</item>
- <item><url url="http://www.pt.freebsd.org/"> <bf>- ポルトガル</bf>.</item>
- <item><url url="http://www.se.freebsd.org/www.freebsd.org/"> <bf>- スウェーデン</bf>.</item>
- <item><url url="http://www.tw.freebsd.org/freebsd.html"> <bf>- 台湾</bf>.</item>
- </itemize>
- </sect>
diff --git a/share/doc/ja_JP.EUC/handbook/esdi.sgml b/share/doc/ja_JP.EUC/handbook/esdi.sgml
deleted file mode 100644
index 35b999c..0000000
--- a/share/doc/ja_JP.EUC/handbook/esdi.sgml
+++ /dev/null
@@ -1,418 +0,0 @@
-<!-- $Id: esdi.sgml,v 1.4 1997/02/22 13:00:58 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.10 -->
-
-<!--
- <title>ESDIハードディスクの紹介と FreeBSDでの利用</title>
- <author>(c) 1995, Wilko Bulte, <tt/wilko@yedi.iaf.nl/
- <date>Tue Sep 12 20:48:44 MET DST 1995</date>
-
- Copyright 1995, Wilko C. Bulte, Arnhem, The Netherlands
-
-<abstract>
-この文書で解説するのは, ESDIハードディスクを FreeBSDオペレーティングシ
-ステムとの組み合わせで利用することについてです. 一般的に信じられている
-こととは違い, ESDIハードディスクを FreeBSDで利用することは可能です. 実
-際, ESDIを利用したシステムをうまく使っている人たちが存在します! この
-文書をとおして, ESDIハードディスクをいかに使うのかを紹介していきたいと
-思います.
-
-この文書のなかで, もし欠落しているものや単純な間違い, あるいは文書をよ
-りよいものにするための有効なご意見がございましたら, ぜひ
-<tt/wilko@yedi.iaf.nl/ までメールにてお知らせください.
-</abstract>
--->
-
-<sect1><heading>ESDIハードディスクの使い方<label id="esdi"></heading>
-
-<p><em>原作および Copyright &copy; 1995, &a.wilko;.<newline>24 September 1995.</em>
-
-<p><em>訳: &a.ts;<newline>2 September 1996.</em>
-
-ESDIとは Enhanced Small Device Interfaceの略語です. この技術は, 馴染み
-深い ST506や ST412といったインタフェースに基づくものであり, 世界初の普
-及型 5.25インチのウィンチェスタディスクを造ったSeagate Technology社に
-よって最初に作られました.
-
-ESDIの Eは拡張 (Enhanced) を表しており, 実際そのとおりです. まず, イン
-タフェースの速度は速く, 10 ないし 15Mビット/秒であり, ST412インタフェー
-スに接続したドライブの 5Mビット/秒よりも高速です. また, 上位レベルのコ
-マンドがいくつか追加されて, オペレーティングシステムレベルのドライバ作
-成者にとって, ESDIインタフェースはある程度インテリジェントなものとなり
-ました. ただし SCSIほどにインテリジェントではありません. ESDIは ANSIが
-標準化をおこなっています.
-
-トラックごとのセクタ数を増やすことで, ESDIドライブの記憶容量は引き上げ
-られました. 通常, トラックあたり 35セクタですが, 今までに筆者がみたド
-ライブの中で大容量のものは, トラックあたり 54セクタもありました.
-
-ESDIは IDEや SCSIといったインタフェースの普及によって消えつつあります
-が, 無料あるいは在庫処分の格安なドライブが入手可能であることを考えると,
-少ない (もしくは現状の) 予算で縛られたシステムにとって, ESDIドライブは
-理想的です.
-
-<sect2><heading>ESDIのコンセプト</heading>
-<p>
-<sect3><heading>物理的な接続</heading>
-<p>
-ESDIインタフェースでは, ドライブごとに2つのケーブルを接続します. 第 1
-のケーブルは34ピンのフラットケーブルエッジコネクタで, コントローラとド
-ライブ間のコマンドおよびステータスの両信号のやりとりのためのものです.
-コマンド用ケーブルは, すべての ESDIドライブをデイジーチェーンで結び
-ますから, すべてのドライブを接続したバスを構成することになります.
-
-第2のケーブルは20ピンのフラットケーブルエッジコネクタで, ドライブへの
-データ入出力に使います. このケーブルは放射状に接続しますから, ドライブ
-ごとにコントローラへの専用接続を持つことになるわけです.
-
-筆者の経験によれば, PC向け ESDIコントローラには, コントローラあたり最
-大 2 台までのデバイス接続が可能という制限がありました. これは, ドライ
-ブのアドレス割り当てのために, 単一ビットだけを用意したという WD1003か
-ら持ち越された互換 (?) 機能なのだと思われます.
-
-<sect3><heading>デバイスのアドレス指定</heading>
-<p>
-1本のコマンドケーブルには最大で 7つのデバイスと 1つのコントローラを接
-続することができます. どのドライブをコントローラがアドレスしているのか
-を個別に認識できるようにするために, ESDIデバイスは, デバイスアドレスを
-設定するためのジャンパかスイッチを備えています.
-
-PC向けコントローラでは, 最初のドライブにはアドレス0を設定し, 第2番目の
-ディスクへはアドレス1を設定します. <it>いつも留意すべきことは, </it>
-ディスクごとに固有のアドレスを必ず設定するということです! つまり, コン
-トローラあたり最大2台のドライブというような PC向けのものでは, 第1 ドラ
-イブは第0番ドライブで, 第2ドライブは第1番ドライブだということです.
-
-<sect3><heading>ターミネート処理 (termination)</heading>
-<p>
-デイジーチェーン接続用コマンドケーブル (34ピンのケーブルであることを覚
-えていますか? ) では, 最後のチェーン接続ドライブでターミネートしなけれ
-ばなりません. このために, ESDIドライブにはターミネート用抵抗ネットワー
-クが付属しており, ターミネートする必要がないときにはその抵抗をドライブ
-から外したり, またはジャンパで無効 (disable) にすることができるようになっ
-ています.
-
-したがって, ひとつのドライブ, すなわちコマンドケーブルの最終端に位置す
-るドライブだけが, そのターミネート用抵抗を有効 (installまたは enable)
-にすることができます. コントローラは自動的にコマンドケーブルのもう一方
-の端のターミネート用抵抗を有効にします. ご注意いただきたいのは, コント
-ローラは必ずコマンドケーブルのいずれかの端に位置しなければならず, けっ
-して途中に位置するようにしては <it>いけない</it> ということです.
-
-<sect2><heading>ESDIディスクの FreeBSDでの使い方</heading>
-<p>
-ESDIを初めて動かすようにすることが, どうしてこうも大変なことなのでしょ
-うか ?
-
-ESDIディスクを FreeBSDで動かそうと試みた人たちが激烈なイライラを募らせ
-たことは知られています. 今までまったく ESDIを知らない場合には, 複数の
-要因の組み合わせが悪く働いて, ESDIへの理解を妨げることになるかもしれま
-せん.
-
-このことは, ESDIと FreeBSDの組み合わせは選んではいけないという俗説も生
-み出しました. 以下の節において, 落し穴のすべてとその解決策を
-述べてみようと思います.
-
-<sect3><heading>ESDI速度の違い</heading>
-<p>
-すでに簡単に紹介したように, ESDIは2種類の速度を持っています. 旧式のド
-ライブとコントローラは 10Mビット/秒のデータ転送速度ですが, 新しいもの
-では 15Mビット/秒が利用できます.
-
-仮に 10Mビット/秒のコントローラへ 15Mビット/秒のドライブを接続したよ
-うな場合に問題が生じることを予想することは簡単です. したがって必ず, コ
-ントローラ <it>および</it> ドライブのマニュアルを参照して, それぞれの
-転送速度が一致しているかどうかを調べるようにしてください.
-
-<sect3><heading>トラックについて</heading>
-<p>
-主流の ESDIドライブは, トラックあたり34ないし36個のセクタを持ちます.
-しかし大部分の (古い) コントローラは36個以上のセクタを扱うことができま
-せん.
-
-新しい大容量のドライブでは, トラックごとにさらに多くの数のセクタを持つ
-ことができます. たとえば筆者の 670MBのドライブは, トラックあたり 54セ
-クタも持たせることができます.
-
-筆者のコントローラは54セクタ数をサポートしていませんでしたが, トラック
-あたり35セクタという設定で, 問題なく動作しました. しかし, これが意味す
-るのは大量のディスク容量を失うということです.
-
-もう一度, 詳しい情報についてハードウェアのドキュメントを調べてください.
-この例のような仕様からはずれた設定をしたときには, うまく動くかもしれま
-せんが, 動かないこともあります. そのようなときには, 別のより多くの機能
-をもつコントローラで試してみるようにしてください.
-
-<sect3><heading>ハードセクタとソフトセクタ</heading>
-<p>
-多くの ESDIドライブでは, ハードセクタまたはソフトセクタによる処理を,
-ジャンパ設定で指定することができます. ハードセクタとは, 新しいセクタの
-開始位置において, ESDIドライブにセクタパルス (sector pulse) を発生させ
-ることです. コントローラはこのパルスを利用して, 書き込みや読み取りのタ
-イミングを指示します.
-
-ハードセクタではセクタのサイズを選ぶことができます (通常はフォーマット
-後セクタあたり256, 512, および1024バイト). FreeBSDは512バイトのセクタ
-サイズを使います. トラックあたりのセクタ数は, 同じように選択に幅があり
-ますが, フォーマット後のセクタのバイト数はすべて同じです. セクタごとの
-<em>未フォーマット</em> のバイト数は, コントローラがどの程度の調整用の
-バイト数を必要とするかによって異なります. トラックあたりのセクタ数を多
-くすれば記憶容量は増えますが, もしドライブから与えられるバイト数よりも
-多くのものをコントローラが必要とするのであれば, 問題を生じることがあり
-ます.
-
-ソフトセクタでは, コントローラ自身が読み書きの始まりと終りの位置を決め
-ます. なお, ESDI (筆者が知り得たものすべて) では, ハードセクタがデフォ
-ルトのようです. ソフトセクタを試みる必要性は感じたことがありません.
-
-通常, FreeBSDをインストールする以前に, まずセクタ処理の設定を試される
-ことをおすすめします. というのも, セクタ処理の設定を変えるたびに, 物理
-フォーマット (low-level format) をしなければならないからです.
-
-<sect3><heading>物理フォーマット処理</heading>
-<p>
-ESDIドライブは, 使い始める前に, 物理フォーマットをおこなう必要があります.
-もしトラックあたりのセクタ数を変えたり, ドライブの物理的な設置方法 (水
-平や垂直方向) を変えたときには, ふたたびフォーマットする必要があります
-から, よく検討した後でフォーマットしてください. フォーマット処理の所要
-時間を短く予想してはいけません. 大容量のディスクでは数時間を要します.
-
-物理フォーマットが終わったならば, サーフィススキャン (surface scan) を
-おこない, バッドセクタの検出とフラグの処理をします. ほとんどのディスクには,
-メーカが作成したバッドブロックリストを記録した用紙またはステッカーが付
-いています. さらに, ほとんどのディスク内にもバッドブロックリストが記録
-されています. メーカが作成したリストを利用するようにしてください. この
-時点で不良部分をマップし直す方が, FreeBSDのインストール後におこなうよりも,
-はるかに簡単です.
-
-物理フォーマットプログラムのなかでも, トラックの中にひとつでもバッドセ
-クタがあれば, 同じトラック内の残りのすべてのセクタを不良とするようなプ
-ログラムがありますから, そのようなものは利用しないようにしてください.
-ディスクスペースの浪費だけでなく, より重大な bad144と関連した悲劇の原
-因にもなるからです (bad144の節を参照のこと).
-
-<sect3><heading>トランスレーション</heading>
-<p>
-トランスレーションが, ESDIだけに限定された問題ではないにもかかわらず,
-重大な困難になることがあります. トランスレーションにはいくつかの側面が
-あります. 多くに共通なものは, IBM PC/ATのオリジナルの設計に起因するディ
-スクジオメトリに関する制限を, うまく回避するような調整を試みるものです
-(IBM に感謝 ! ).
-
-まずはじめに, 1024シリンダに関する (悪) 名高い制限があります. すなわ
-ち, ブート可能なシステムについて, システム関連ファイルは (オペレーティ
-ングシステムがどのようなものであっても) , ディスクの先頭部分の 1024シ
-リンダ内になければいけない, という制限です. シリンダ番号を表すためには
-10ビットしか与えられていません. セクタの総数については, 上限は 64 (0か
-ら 63) です. この1024シリンダの制限を, 16ヘッドの制限 (これも ATの仕様
-による) と組み合わせると, かなり限定されたディスク容量しか利用できませ
-ん.
-
-この難点を解消するために, PC 向け ESDIコントローラのメーカは, 自社のコ
-ントローラボードへ BIOS PROM拡張を施しました. この BIOS拡張の内容は,
-ブート時のディスクI/Oを (OSによっては <it>すべて</it> のディスクI/Oも)
-, トランスレーションを用いておこなうというものです. すなわち, 大容量のディ
-スクを, あたかも32ヘッドかつトラックあたり64セクタであるようなデバイス
-として OSへ知らせるのです. この結果, 総シリンダー数は 1024よりも少なく
-なりますから, 上記の難点などなかったものとして大容量ディスクを使うこと
-ができるようになります. なお, 注目いただきたいことは, FreeBSDカーネル
-の起動以降, FreeBSDはこの BIOS拡張機能を使わないということです. 詳しく
-は後ほどご説明いたします.
-
-トランスレーションの第2の存在理由は, 多くの旧いシステムBIOSが, トラッ
-クあたり17セクタのドライブだけしか扱えない (ST412という古い仕様) から,
-というものです. 比較的新しい BIOSは通常, 自由な値を設定できるドライブ
-タイプ (多くの場合ドライブタイプ47) を持っています.
-
-<em>この文書を読み終えられた後で, どのようにトランスレーションを利用す
-るにせよ, ぜひご留意いただきたいことがあります. もし複数の OSをひとつ
-のディスクにインストールするときには, 必ず同じトランスレーションを使わ
-なければなりません. </em>
-
-トランスレーションに関して, 筆者が使用したコントローラは, ひとつのドラ
-イブを複数のパーティションに論理的に分けることができる機能を BIOSのオ
-プションとして持っていました (このような製品はいくつかあると思われる).
-しかし, ひとつのドライブにはひとつのパーティションに限定しました. なぜ
-なら, このコントローラはパーティション情報をディスクへ書き出すからです.
-つまり, 電源を入れると, コントローラはこの情報を読み取り, OSに対してディ
-スクから読みとった情報に基づくデバイスとして知らせるからです.
-
-<sect3><heading>代替セクタ処理</heading>
-<p>
-多くの ESDIコントローラはバッドセクタを取り替える機能を備えています.
-ディスクの物理フォーマット処理の途中もしくは終了時に, バッドセクタであ
-ることを記録して, 代わりのセクタを壊れたセクタの位置へ (論理的に) 置き
-ます.
-
-通常この置き換え処理は, トラック内のN-1個のセクタを実際のデータ記録に
-使い, 第N番目のセクタだけを代替セクタとすることで実現します. ここでNと
-いう値はトラック内の物理的セクタの総数です. このアイデアが生まれた背景
-は, オペレーティングシステムが壊れたセクタを持たない「完全」なディスク
-を想定している, というものです. しかし FreeBSDではこのアイデアを使うこ
-とはできません.
-
-理由は, <it>使用不可 (bad)</it> から <it>使用可能</it> への変換をおこなう
-のが ESDIコントローラ上の BIOSだからなのです. FreeBSDは, 真の 32ビット
-のオペレーティングシステムであるために, ブート後には BIOSを使いません.
-代わりに FreeBSDが使うのは, ハードウェアと直接「対話」するデバイスドラ
-イバというものです.
-
-<em>結論: 代替セクタ処理やバッドブロックマッピングなど, コントローラ・
-メーカがなんと呼ぶかは判りませんが, それらに似た機能を FreeBSDのディス
-クへは使わないでください. </em>
-
-<sect3><heading>バッドブロックの取り扱い</heading>
-<p>
-前節から残された問題があります. すなわち, コントローラによるバッドブロッ
-ク処理は利用できない状況であるにもかかわらず, FreeBSDのファイルシステ
-ムが想定しているのはあくまで完全無欠なディスクである, という問題で
-す. これを解消するために, FreeBSDは <it>bad144</it> というツールを採用
-しています. この bad144 (この名前は DEC社の標準となったバッドブロック
-処理に由来している) は, FreeBSDのスライスごとにバッドブロックを調べま
-す. バッドブロックを見つけ出すと, bad144は傷ついたブロック番号によるテー
-ブルを FreeBSDスライスの末尾へ書き込みます.
-
-ディスクが動作し始めると, ディスクから読みとられたテーブルを基に, ディ
-スクアクセスを調べます. この bad144リストに記録されたブロック番号への
-要求が起こると, 代わりのブロック (同じく FreeBSDスライスの末尾に位置す
-る) を使います. このように, bad144による置換手続きによって「完全」なディ
-スクを FreeBSDファイルシステムへ提供しているのです.
-
-Bad144の使用により陥るかもしれない落し穴があります. まず, ひとつのス
-ライスには126個以上のバッドセクタを持てません. もしドライブに126個以上
-のバッドセクタがあったときには, 複数の FreeBSDのスライスに分けて, 各ス
-ライスのバッドセクタが126個以下となるようにする必要があります. くれぐ
-れも, ひとつのトラック内にたったひとつの欠陥セクタが見つかっただけで,
-そのトラック内セクタ <em>すべて</em> を傷ついたものとして記録するよう
-な物理フォーマットプログラムを使わないようにしてください. 簡単にお解り
-いただけると思いますが, このような物理フォーマットをおこなえば, 126個の制
-限は短時間で達成してしまいます.
-
-次に, もしスライスが rootファイルシステムを含んでいるときには, 1024シ
-リンダ以内という BIOSの制限を守っていなければなりません. ブート処理の
-ときですから, bad144リストは BIOSを使って読み取りますので, このリスト
-が1024シリンダ限界以内に位置していなければ読みとれません. <em>注意
-</em> いただきたいのは, この制限は root <em>ファイルシステム</em> だけ
-が1024シリンダ限界以内にあれば十分ということではなく, rootシステムを含
-んだ <em>スライス</em> 全体が1024シリンダ限界以内におさまっている必要
-があります.
-
-<sect3><heading>カーネルのコンフィグレーション</heading>
-<p>
-ESDIディスクを扱うドライバは, IDEや ST412 MFMディスクなどと同じ
-<it>wd</it> ドライバです. この <it>wd</it> ドライバは, すべての WD1003
-互換インタフェースにも利用できるはずです.
-
-大部分のハードウェアは, ジャンパの設定によって, ふたつの I/Oアドレス範
-囲と IRQ値のうちから, それぞれひとつを選ぶことができます. したがって,
-wdタイプのふたつのコントローラをひとつのシステムで使うことができます.
-
-もし設定しようとしているハードウェアが標準以外の割り当てをサポートして
-いれば, 適切な設定情報をカーネルのコンフィグレーションファイルに記述す
-ることで, この非標準割り当てを利用できます. 次にカーネルのコンフィグレー
-ションファイルの例を示します (このファイルがあるディレクトリは
-<tt>/sys/i386/conf</tt> である).
-
-<tscreen><verb>
-# First WD compatible controller
-controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
-disk wd0 at wdc0 drive 0
-disk wd1 at wdc0 drive 1
-
-# Second WD compatible controller
-controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
-disk wd2 at wdc1 drive 0
-disk wd3 at wdc1 drive 1
-</verb></tscreen>
-
-<!--
-<sect3><heading>Tuning your ESDI kernel setup</heading>
-<p>
--->
-
-<sect2><heading>ESDIハードウェアの例</heading>
-<p>
-<sect3><heading>Adaptec 2320コントローラ</heading>
-<p>
-筆者は, ACB-2320でコントロールされた ESDIディスクへ, FreeBSDをインストー
-ルすることができました. なお, このディスクには他のオペレーティングシス
-テムをインストールしていません.
-
-インストールするために, まず, NEFMT.EXE (<it>www.adaptec.com</it> から
-<it>ftp</it>可能) でディスクを物理フォーマットし, かつトラックを代替セ
-クタとともにフォーマットするかどうかの設問に NOと答えました. また
-ACB-2320の BIOSは使わないように設定しました. そしてシステム BIOSがブー
-トできるように, システム BIOSの「自由に設定可能」オプションを使いまし
-た.
-
-実は, NEFMT.EXEを使う以前に, まず ACB-2320 の BIOSに組み込まれているフォー
-マットプログラムでディスクをフォーマットしてみましたが, 使えないことが
-判りました. なぜなら, 代替セクタの処理をおこなわないようにするオプションが
-用意されていないからです. 代替セクタ処理をおこなうようにすると, FreeBSDの
-インストール作業は bad144の実行の段階で失敗しました.
-
-もし ACB-232xyをお持ちであれば, そのバージョン番号に注意してください.
-文字 xには0か2が入りまして, ボード上にフロッピーコントローラがあるかど
-うかを見分けることができます.
-
-文字 yはさらに興味深いもので, ブランクか, A-8か, または Dのいずれかで
-す. ブランクは, 単純な10Mビット/秒のコントローラであることを表します.
-A-8は, 15Mビット/秒のコントローラで, かつ 52セクタ/トラックをサポート
-しているものであることを表します. Dは, 15Mビット/秒のコントローラで,
-かつ 36セクタ/トラック以上 (52セクタも可能か?) のドライブをサポートし
-ているものであることを表します.
-
-このコントローラのすべてのバージョンはインターリーブ比 1:1に対応してい
-るはずです. FreeBSDは充分高速なので, ぜひ 1:1と指定してください.
-
-<sect3><heading>Western Digital WD1007コントローラ</heading>
-<p>
-筆者は, WD1007でコントロールされた ESDIディスクへ, FreeBSDをインストー
-ルすることができました. 正確には WD1007-WA2というコントローラでした.
-これ以外の複数のバージョンも WD1007にあります.
-
-利用できるようにするために, セクタトランスレーションとWD1007の BIOSと
-を使わないように設定しました. この設定の意味は, BIOSに組み込まれた物理
-フォーマットプログラムを使えないようにしたということです. 代わりに,
-<it>www.wdc.com</it>から WDFMT.EXEを入手して, ディスクをフォーマットし
-ました. 以後, 順調に動いています.
-
-<sect3><heading>Ultrastor U14Fコントローラ</heading>
-<p>
-ネットに流れたいくつかの報告によれば, Ultrastorの ESDIボードも FreeBSD
-で動作するようです. 実際の設定についての詳しい情報はありません.
-
-
-<!--
-
-<sect2><heading>Tracking down problems</heading>
-<p>
--->
-
-<sect2><heading>追加資料<label id="esdi:further-reading"></>
-<p>
-本格的に ESDIのプログラミングを計画している方は, 次の公式規格仕様書を
-入手なさることをおすすめします.
-
-最新の ANSI X3T10 委員会の文書は次のものです:
-
-<itemize>
-<item>Enhanced Small Device Interface (ESDI) &lsqb;X3.170-1990/X3.170a-1991&rsqb;
- &lsqb;X3T10/792D Rev 11&rsqb;
- </itemize>
-
-USENETのニュースグループ <htmlurl url="news:comp.periphs"
-name="comp.periphs"> は, 詳しい情報を得ることができる注目すべきもので
-す.
-
-World Wide Web (WWW) もまた便利な情報源です. Adaptec社の ESDIコントロー
-ラについては <htmlurl url="http://www.adaptec.com/">を参照ください.
-Western Digital社のコントローラについては <htmlurl
-url="http://www.wdc.com/"> を参照ください.
-
-<sect2>感謝
-<p>
-Andrew Gordon氏より, テスト用の Adaptec 2320コントローラと ESDIディス
-クを送っていただきました.
-
-
diff --git a/share/doc/ja_JP.EUC/handbook/firewalls.sgml b/share/doc/ja_JP.EUC/handbook/firewalls.sgml
deleted file mode 100644
index b82715d..0000000
--- a/share/doc/ja_JP.EUC/handbook/firewalls.sgml
+++ /dev/null
@@ -1,579 +0,0 @@
-<!-- $Id: firewalls.sgml,v 1.5 1997/02/22 13:00:59 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.17 -->
-
-<sect><heading> ファイアウォール <label id="firewalls"></heading>
-
-<p><em>原作: &a.gpalmer;, &a.alex;.</em>
-<p><em>訳: &a.saeki;.<newline>
-11 November 1996.</em>
-
-ファイアウォールは, インターネットに参加している人はもちろんのこと,
-プライベートネットワークのセキュリティ向上のためのアプリケーションを
-探している人にとっても, ますます興味深くなりつつある分野です.
-このセクションではファイアウォールとは何か, ファイアウォールの使用法,
-そしてファイアウォールを構築するために FreeBSD のカーネルで
-提供されているファシリティ (機能) の使用法について説明したいと思います.
-
-<quote><bf> 注: </bf> 社内のネットワークと「巨大かつ信頼のおけない
-インターネット」との間にファイアウォールを構築することで
-セキュリティ上のすべての問題が解決できると考える人がいます.
-ファイアウォールはセキュリティ上の問題を解決する助けになる場合もありますが,
-充分な設定がなされていないファイアウォールは, まったくファイアウォールを
-持たない場合よりもセキュリティ上の危険を増大させてしまいます.
-<!-- (訳注: 増大させてしまう可能性がある程度だと思いますが、十分に理解した
-上でファイアウォールを構築することが非常に重要です). -->
-ファイアウォールにできることは, あなたのシステムにもう一つのセキュリティ層を
-追加することだけで, 本気でアタックをしかけてくるクラッカーが内部ネットワークに
-侵入するのを妨げることはできません.
-ファイアウォールを侵入不可能と過信して
-内部のセキュリティをおろそかにすることは,
-単にクラッカーの仕事を少し簡単にするだけでしかありません. </quote>
-
-<sect1><heading> ファイアウォールとは何か ? </heading>
-
-<p> 現在インターネットで普通に使用されているファイアウォールには
-二つの異なるタイプがあります.
-一つは, 厳密には <bf> パケットフィルタリングルータ </bf> と
-呼ばれるタイプのものです. これはマルチホームのホストマシン (複数の
-ネットワークに接続されているマシン) のカーネルが, ある規則にしたがって
-パケットを転送したりブロックしたりするものです.
-もう一つは, <bf> proxy (代理) サーバ </bf> として知られているタイプのものです.
-これは, おそらくはマルチホームのホストマシン上で, カーネルによるパケット転送を
-禁止して, デーモンにより認証の提供とパケットの転送とをおこなうものです.
-
-<p> 二つのタイプのファイアウォールを組み合わせて使用して,
-特定のマシン (<bf> 要塞ホスト </bf> と呼ばれる) だけが
-パケットフィルタリングルータを通して内部ネットワークへ
-パケットを送ることができるよう設定しているサイトがしばしば存在します.
-proxy (代理) サービスは通常の認証メカニズムよりもセキュリティを強化してある
-要塞ホストで動作させます.
-<!-- (訳注: proxy サービスをおこなうアプリケーションなど,
-おそらくはあまり実績のないアプリケーションプログラムを利用したサービスを
-要塞ホスト上で提供するのは避けた方がよいでしょう.
-proxy サービスを提供する場合には, 要塞ホストとは別の, バリアセグメント上の
-ホストで proxy サービスを提供し, パケットフィルタリングを利用して
-サービスの利用を制限するようにした方が安全です.) -->
-
-<p>FreeBSD は (<tt>IPFW</tt> として知られる) カーネルパケットフィルタ込みで
-提供されています. このセクションの後の方では, このフィルタについての
-説明を集中しておこないます.
-サードパーティから提供されるソフトウェアを使用することにより, Proxy サーバを
-FreeBSD 上に構築することができます. しかし, 現在入手可能な proxy サーバは
-たいへんバラエティに富んでいるので, このドキュメントでそれらすべてを
-カバーすることは不可能です.
-
-<sect2><heading> パケットフィルタリングルータ <label id="firewalls:packet_filters"></heading>
-
-<p> ルータとは, 二つまたはそれ以上のネットワークの間でパケットの転送をおこなう
-マシンのことです. パケットフィルタリングルータは, そのカーネルの内部に,
-一つ一つのパケットをルールリストと比較して転送するかしないかを決める
-特別なコードを持っています.
-最近の IP ルーティングソフトウェアのほとんどは, 内部に
-パケットのフィルタリングをおこなうためのコードを持っていて, デフォルトでは
-すべてのパケットを転送するようになっています.
-このフィルタを有効にするためには, パケットの通過を許すべきかどうかを決める
-ルールを自分で定義する必要があります.
-
-<p> パケットを通すべきか通すべきでないかを決めるために,
-パケットヘッダの内容にマッチするものがルールリストから探されます.
-マッチするルールが見つかると, ルールアクションが実行されます.
-ルールアクションには, パケットを捨てる, パケットを転送する,
-またはパケットの発信元に ICMP メッセージを送り返すというものがあります.
-ルールの検索は先頭から順番におこなわれ, 通常は最初にマッチしたものだけが
-適用されます.
-そのため, このルールリストは「ルールチェーン」と呼ばれることもあります.
-
-<p> パケットマッチングの基準は使用するソフトウェアによって異なりますが,
-通常はパケットの発信元 IP アドレス, 宛先 IP アドレス, 発信元ポート番号,
-宛先ポート番号 (ポート番号はポートをサポートするプロトコルの場合のみ),
-パケットタイプ (UDP, TCP, ICMP など) に基づくルールを指定することができます.
-
-<sect2><heading>Proxy サーバ <label id="firewalls:proxy_servers"></heading>
-
-<p>Proxy サーバとは通常のシステムデーモン (telnetd, ftpd など) を
-特別なサーバで置き換えたマシンのことです.
-これらのサーバは, 通常は中継をおこなって特定方向への接続だけを許すため,
-<bf>proxy サーバ </bf> と呼ばれます.
- (例えば) proxy telnet サーバをファイアウォールホストで走らせておきます.
-外部からユーザがファイアウォールに対して telnet を実行すると,
-proxy telnet サーバが応答して, 何らかの認証メカニズムを実行します.
-これを通過した後で, 内部ネットワークへのアクセスがおこなえるように
-なるのです. (内部ネットワークからの信号は proxy サーバがかわりに受け取り,
-外へ向けて送り出します.)
-
-<p>Proxy サーバは通常, 普通のサーバより堅固に構築されていて,
-しばしば「使い捨て」パスワードシステムなどを含む,
-多様な認証メカニズムを持っています.
-「使い捨て」パスワードシステムとは, どういうものなのでしょうか.
-仮に誰かが何らかの方法で, あなたが使用したパスワードを手に入れたとします.
-しかし, 一度使用したことで, そのパスワードは既に無効になっているのです.
-ですから, そのパスワードをもう一度使用したとしても, あなたのシステムへ
-アクセスすることはできないというわけです.
-これらのサーバは中継をおこなうだけで, 実際のところサーバホスト自身への
-アクセスをユーザに許してはいません. そのため, 何者かがセキュリティシステムに
-侵入用の裏口を取り付けることは, より困難になっています.
-
-<p>proxy サーバはアクセス制限の方法をいくつも持っていて, 特定のホスト
-だけがサーバへのアクセス権を得ることができるようになっていることがあり
-ます. そして目的のマシンと通信できるユーザを制限するように
-設定することもできます.
-もう一度言いますが, どんなファシリティ (機能) が使えるかは,
-どんな proxy サービスをおこなうソフトウェアを選ぶかに大きく依存します.
-
-<sect1><heading> IPFW で何ができるか </heading>
-
-<p>FreeBSD とともに配布されている <tt>IPFW</tt> は, カーネル内部にあって
-パケットのフィルタリングとアカウンティングをおこなうシステムであり,
-ユーザ側のコントロールユーティリティである <tt>ipfw(8)</tt> を
-含んでいます. ルーティングの決定をおこなう際に, これらは互いに協力して,
-カーネルで使用されるルールを定義したり, 現在使用されているルールを
-問い合わせたりすることができます.
-
-<p><tt>IPFW</tt> は互いに関連する二つの部分からなっています.
-ファイアウォールセクションはパケットフィルタリングをおこないます.
-また, IP アカウンティングセクションはファイアウォールセクションのものと
-似たルールに基づいてルータの使用を追跡します.
-これにより, (例えば) 特定のマシンからルータへのトラフィックがどのくらい
-発生しているか調べたり, どれだけの WWW (World Wide Web) トラフィックが
-フォワードされているかを知ることができます.
-
-<p><tt>IPFW</tt> は, ルータではないマシンにおいても入出力コネクションの
-パケットフィルタリングのために使用することができるように設計されています.
-これは一般的な <tt>IPFW</tt> の使用法とは異なる特別な使い方ですが,
-こういった状況でも同じコマンドとテクニックが使用されます.
-
-<sect1><heading>FreeBSD で IPFW を有効にする </heading>
-
-<p><tt>IPFW</tt> システムの中心となる部分はカーネル内部にあります.
-そのため, どのファシリティ (機能) を必要とするかによって, 一つまたは
-それ以上のオプションをカーネルコンフィグレーションファイルに追加し,
-カーネルを再コンパイルする必要があるでしょう.
-カーネルの再コンパイル方法の詳細については,
-<ref id="kernelconfig" name="カーネルコンフィグレーション"> を参照してください.
-
-<p>現在, IPFW に関係するカーネルコンフィグレーションオプションは
-三つあります:
-
-<descrip>
-<tag/options IPFIREWALL/ パケットフィルタリングのためのコードを
-カーネルに組み込みます.
-
-<tag/options IPFIREWALL_VERBOSE/<tt>syslogd(8)</tt> を通じて
-パケットのログを取るためのコードを有効にします.
-フィルタルールでパケットのログを取るように指定しても,
-このオプションが指定されていなければ, ログを取ることはできません.
-
-<tag/options IPFIREWALL_VERBOSE_LIMIT=10/<tt>syslogd(8)</tt> を通じて
-ログを取るパケットの数をエントリ毎に制限します.
-敵対的な環境においてファイアウォールの動作のログを取りたいけれど,
-syslog の洪水によるサービス拒絶攻撃に対し無防備でありたくないという場合に,
-このオプションを使用したいと思うことがあるかもしれません.
-
-<p> チェーンエントリのログが指定された制限数に達すると,
-そのエントリに関するログ取りは停止されます.
-ログ取りを再開するには, <tt>ipfw(8)</tt> ユーティリティを使用して
-関連するカウンタをリセットする必要があります:
-
-<tscreen><verb>
-ipfw zero 4500
-</verb></tscreen>
-
-4500 とは, ログ取りを続行したいチェーンエントリの番号です.
-
-</descrip>
-
-以前のバージョンの FreeBSD は <tt>IPFIREWALL_ACCT</tt> というオプションを
-持っていました.
-しかし, ファイアウォールコードがアカウンティングファシリティ (機能) を
-自動的に含むようになったため, 現在では使用されることはなくなっています.
-
-<sect1><heading>IPFW の設定 </heading>
-
-<p><tt>IPFW</tt> ソフトウェアの設定は <tt>ipfw(8)</tt> ユーティリティを
-通じておこないます. このコマンドの構文は非常に複雑に見えますが,
-一旦その構造を理解すれば比較的単純です.
-
-<p> このユーティリティでは今のところ四つの異なるコマンドカテゴリが
-使用されています: それは追加 / 削除, 表示, フラッシュ, およびクリアです.
-追加 / 削除はパケットの受け入れ, 拒絶, ログ取りをどのようにおこなうか
-というルールを構築するのに使用します.
-表示はルールリスト (またはチェーン) と (アカウンティング用) パケットカウンタの
-内容を調べるのに使用します.
-フラッシュはチェーンからすべてのエントリを取り除くのに使用します.
-クリアは一つまたはそれ以上のアカウンティングエントリをゼロにするのに
-使用します.
-
-<sect2><heading>IPFW ルールの変更 </heading>
-
-<p> この形式での使用法は:
-<tscreen>
-ipfw &lsqb;-N&rsqb; <em> コマンド </em> &lsqb;<em>index</em>&rsqb;
-<em> アクション </em> &lsqb;log&rsqb; <em> プロトコル </em><em> アドレス </em>
-&lsqb;<em> オプション </em>&rsqb;
-</tscreen>
-
-<p> この形式で使用する際に有効なフラグは一つだけです:
-
-<descrip>
-<tag/-N/ アドレスやサービス名を文字列に変換して表示します.
-</descrip>
-
-<em> コマンド </em> は一意である限り短縮可能です.
-有効な <em> コマンド </em> は:
-
-<descrip>
-
-<tag/add/ ファイアウォール / アカウンティングルールリストに
-エントリを追加します.
-
-<tag/delete/ ファイアウォール / アカウンティングルールリストから
-エントリを削除します.
-
-</descrip>
-
-以前のバージョンの <tt>IPFW</tt> では, ファイアウォールエントリと
-パケットアカウンティングエントリが別々に利用されていました.
-現在のバージョンでは, それぞれのファイアウォールエントリ毎に
-パケットアカウンティングエントリが備えられています.
-
-<p><tt>index</tt> が指定されていると, エントリはチェーン中の
-<tt>index</tt> で示される位置に置かれます. <tt>index</tt> が指定されて
-いなければ, エントリは (65535 番のデフォルトルールである
-パケット拒絶を別にして) 最後のチェーンエントリの index に 100 を足した
-位置 (チェーンの最後) に置かれます.
-
-<p> カーネルが <bf>IPFIREWALL_VERBOSE</bf> つきでコンパイルされている場合,
-<bf>log</bf> オプションはマッチしたルールをシステムコンソールに出力させます.
-
-<p>有効な <em> アクション </em> は:
-
-<descrip>
-
-<tag/reject/ パケットを捨てます, ICMP ホスト / ポート到達不能パケットを
- (適切な方を) 発信元へ送ります.
-
-<tag/allow/ 通常通りパケットを通過させます. (別名: <bf>pass</bf> および
-<bf>accept</bf>)
-
-<tag/deny/ パケットを捨てます. 発信元は ICMP メッセージによる
-通知を受けません (そのためパケットが宛先に到達しなかったように見えます).
-
-<tag/count/ このルールはパケットカウンタを更新するだけで, パケットを
-通過させたり拒絶したりしません. 検索は次のチェーンエントリから続けられます.
-
-</descrip>
-
-<p> それぞれの <em> アクション </em> は一意な先頭部分だけでも認識されます.
-
-指定可能な <em> プロトコル </em> は以下の通り:
-
-<descrip>
-
-<tag/all/ 任意の IP パケットにマッチします.
-
-<tag/icmp/ICMP パケットにマッチします.
-
-<tag/tcp/TCP パケットにマッチします.
-
-<tag/udp/UDP パケットにマッチします.
-
-</descrip>
-
-<p><em> アドレス </em> の指定は:
-<tscreen>
-<bf>from</bf> &lt;<em>address/mask</em>&gt;&lsqb;<em>port</em>&rsqb; <bf>to</bf>
- &lt;<em>address/mask</em>&gt;&lsqb;<em>port</em>&rsqb &lsqb;<bf>via</bf> &lt;<em>interface</em>&gt;&rsqb;
-</tscreen>
-
-<p><em>port</em> はポートをサポートする <em> プロトコル </em> (UDP と TCP) の
-場合にだけ指定可能です.
-
-<p><bf>via</bf> は必須ではなく, 特定のインターフェースを通ってきたパケット
-だけにマッチするように, IP アドレスまたはローカル IP インターフェースの
-ドメイン名, またはインターフェース名 (例えば <tt>ed0</tt>) を
-指定することができます.
-インターフェースユニット番号はオプションで, ワイルドカードで指定することが
-できます. 例えば, <tt>ppp*</tt> はすべてのカーネル PPP インターフェースに
-マッチします.
-
-<p><tt>&lt;address/mask&gt;</tt> の指定は:
-<tscreen>
-&lt;address&gt;
-</tscreen>
-または
-<tscreen>
-&lt;address&gt;/mask-bits
-</tscreen>
-または
-<tscreen>
-&lt;address&gt;:mask-pattern
-</tscreen>
-
-<p>IP アドレスのかわりに有効なホスト名を指定することも可能です.
-<tt>mask-bits</tt> はアドレスマスクで上位何ビットを1にするべきかを
-示す十進数値です. 例えば次の指定,
-<tscreen>
-192.216.222.1/24
-</tscreen>
-はクラス C のサブネット (この場合 192.216.222) の任意のアドレスにマッチする
-マスクを作成します. <tt>mask-pattern</tt> は与えられたアドレスと
-論理 AND される IP アドレスです.
-キーワード <tt>any</tt> は「任意の IP アドレス」を指定するために
-使用することができます.
-<p> ブロックするポート番号は以下のように指定します:
-<tscreen>
-port&lsqb;,port&lsqb;,port&lsqb;...&rsqb;&rsqb;&rsqb;
-</tscreen>
-のように単独のポートまたはポートのリストを指定します. または
-<tscreen><verb>
-port-port
-</verb></tscreen>
-のようにポートの範囲を指定します. 単独のポートとポートのリストを
-組み合わせて指定することも可能ですが, その場合は常に範囲の方を
-最初に指定しなければなりません.
-
-<p> 使用可能な <em> オプション </em> は:
-
-<descrip>
-
-<tag/frag/ データグラムの最初のフラグメントでなければマッチします.
-
-<tag/in/ 入力途中のパケットであればマッチします.
-
-<tag/out/ 出力途中のパケットであればマッチします.
-
-<tag/ipoptions <em>spec</em>/IP ヘッダが <em>spec</em> に指定された
-カンマで区切られたオプションのリストを含んでいればマッチします.
-サポートされている IP オプションのリストは:
-<bf>ssrr</bf> (ストリクトソースルート),
-<bf>lsrr</bf> (ルーズソースルート), <bf>rr</bf> (レコードパケットルート),
-そして <bf>ts</bf> (タイムスタンプ) です.
-特定のオプションを含まないことを指定するには '!' を先頭につけます.
-
-<tag/established/ パケットが既に確立されている TCP コネクションの一部であれば
- (つまり RST または ACK ビットがセットされていれば) マッチします.
-<em>established</em> ルールをチェーンの最初の方に置くことで,
-ファイアウォールのパフォーマンスを向上させることができます.
-
-<tag/setup/ パケットが TCP コネクションを確立しようとするものであれば
- (SYN ビットがセットされ ACK ビットはセットされていなければ) マッチします.
-
-<tag/tcpflags <em>flags</em>/TCP ヘッダが <em>flags</em> に指定された
-カンマで区切られたフラグのリストを含んでいればマッチします.
-サポートされているフラグは, <bf>fin</bf>, <bf>syn</bf>, <bf>rst</bf>,
-<bf>psh</bf>, <bf>ack</bf> と <bf>urg</bf> です.
-特定のフラグを含まないことを指定するには '!' を先頭につけます.
-
-<tag/icmptypes <em>types</em>/ICMP タイプが <em>types</em> リストに
-存在していればマッチします. リストはタイプの範囲または個々のタイプを
-カンマで区切った任意の組合せで指定できます.
-一般的に使用されている ICMP タイプは:
-<bf>0</bf> エコーリプライ (ping リプライ),
-<bf>5</bf> リダイレクト, <bf>8</bf> エコーリクエスト (ping リクエスト),
-そして <bf>11</bf> 時間超過 (<tt>traceroute(8)</tt> で使用されているように,
-TTL 満了を示すのに使用されます) です.
-
-</descrip>
-
-<sect2><heading> IPFW ルールリストの表示 </heading>
-
-<p> この形式での使用法は:
-<tscreen>
-ipfw &lsqb;-atN&rsqb; l
-</tscreen>
-
-<p>この形式で使用する際に有効なフラグは三つあります:
-
-<descrip>
-
-<tag/-a/ リスト表示の際にカウンタの値も表示します. このオプションは
-アカウンティングカウンタの内容を見る唯一の手段です.
-
-<tag/-t/ 各チェーンエントリが最後にマッチした時刻を表示します.
-この時刻表示は <tt>ipfw(8)</tt> ユーティリティで使用される入力形式と
-互換性がありません.
-
-<tag/-N/ (可能であれば) アドレスやサービス名を文字列に変換して表示します.
-
-</descrip>
-
-<sect2><heading>IPFW ルールのフラッシュ </heading>
-
-<p> チェーンをフラッシュするには:
-<tscreen>
-ipfw flush
-</tscreen>
-
-<p> カーネルに固定されているデフォルトルール (インデックス 65535 番)
-以外の, ファイアウォールチェーンの中のすべてのエントリを削除します.
-デフォルトではすべてのパケットが拒絶されるので, 一旦これを実行すると,
-パケットを許可するエントリがチェーンに追加されるまで,
-あなたのシステムがネットワークから切り放されてしまいます.
-そのため, ルールのフラッシュをおこなうときは注意が必要です.
-
-<sect2><heading> IPFW パケットカウンタのクリア </heading>
-
-<p> 一つまたはそれ以上のパケットカウンタをクリアするためには:
-<tscreen>
-ipfw zero &lsqb;index&rsqb;
-</tscreen>
-
-<p><em>index</em> が指定されていなければ, すべてのパケットカウンタが
-クリアされます.
-<em>index</em> が指定されていれば, 特定のチェーンエントリだけが
-クリアされます.
-
-<sect1><heading> ipfw に対するコマンドの例 </heading>
-
-<p> このコマンドはルータを介して転送される,
-ホスト <bf>evil.hacker.org</bf> から
-ホスト <bf>nice.people.org</bf> の telnet ポートへの
-すべてのパケットを拒絶します:
-
-<tscreen><verb>
-ipfw add deny tcp from evil.hacker.org to nice.people.org 23
-</verb></tscreen>
-
-<p> 次の例は, ネットワーク <bf>hacker.org</bf> (クラス C) 全体から
-マシン <bf>nice.people.org</bf> (の任意のポート) への
-任意の TCP トラフィックを拒絶し, ログを取ります.
-
-<tscreen><verb>
-ipfw add deny log tcp from evil.hacker.org/24 to nice.people.org
-</verb></tscreen>
-
-あなたの内部ネットワーク (クラス C のサブネット) に対する X セッションを
-張れないようにする場合, 以下のコマンドで必要なフィルタリングがおこなえます:
-
-<tscreen><verb>
-ipfw add deny from any to my.org/28 6000 setup
-</verb></tscreen>
-
-<bf>sup.FreeBSD.ORG</bf> の SUP サーバへのアクセスを許可するためには,
-以下のコマンドを使用します:
-
-<tscreen><verb>
-ipfw add accept from any to sup.FreeBSD.ORG 871
-</verb></tscreen>
-
-アカウンティングレコードを見るには:
-<tscreen><verb>
-ipfw -a list
-</verb></tscreen>
-または短縮形式で
-<tscreen><verb>
-ipfw -a l
-</verb></tscreen>
-最後にチェーンエントリがマッチした時刻を見ることもできます.
-<tscreen><verb>
-ipfw -at l
-</verb></tscreen>
-
-<sect1><heading> パケットフィルタリングファイアウォールの構築 </heading>
-
-<p><quote><bf> 注: </bf> 以下の提案は, ただの提案にすぎません:
-必要な処理はそれぞれのファイアウォールで異なるため,
-あなた独自の要求にあったファイアウォールを構築する方法を
-ここで述べることはできないのです. </quote>
-
-<p> 最初にファイアウォールをセットアップするとき,
-コントロールされた環境でファイアウォールホストの設定がおこなえるような
-テストベンチセットアップが用意できない場合には, カーネルのログ取りを
-有効にしてログ取り版のコマンドを使用することを強くおすすめします.
-そうすることで, 大した混乱や中断なしに問題となる範囲の特定と処置を
-素早くおこなうことができます.
-初期セットアップフェーズが完了してからであっても,
-アタックの可能性のあるアクセスをトレースしたり,
-要求の変化に応じてファイアウォールルールを変更したりできるので,
-`deny' に対するログ取りをおこなうことをおすすめします.
-
-<quote><bf> 注: </BF><bf>accept</bf> コマンドのログ取りをおこなっていると,
-ファイアウォールをパケットが一つ通過する毎に 1 行のログが生成されるため
-<em>大量の</em> ログデータが発生します.
-そのため, 大規模な ftp/http 転送などをおこなうと, システムが非常に
-遅くなってしまいます.
-また, パケットが通過するまでにカーネルにより多くの仕事を要求するため,
-パケットのレイテンシ (latency) を増加させてしまいます.
-syslogd もログをディスクに記録するなど, より多くの CPU タイムを
-使用し始め, 実に容易に <tt>/var/log</tt> が置かれているパーティションを
-パンクさせてしまう可能性があります. </quote>
-
-<p> 現状では, FreeBSD はブート時にファイアウォールルールをロードする
-能力を持っていません.
-私は <tt>/etc/netstart</tt> スクリプトにロードをおこなうスクリプトを
-追加することをおすすめします. IP インターフェースの設定がおこなわれる前に
-ファイアウォールの設定がおこなわれるように, netstart ファイル中の
-充分に早い位置にルールをロードするスクリプトを配置してください.
-こうすることで, ネットワークがオープンな間は常に抜け道が塞がれている
-ことになります.
-
-<p> ルールをロードするために使用するスクリプトは,
-あなたが作成しなければなりません.
-現在のところ <tt>ipfw</tt> は 1 コマンドで複数のルールを
-ロードするユーティリティをサポートしていません.
-私が使用しているシステムでは以下のようにしています:
-
-<tscreen><verb>
-# ipfw list
-</verb></tscreen>
-
-ファイルに現在のルールリストを出力し, テキストエディタを使用して
-すべての行の前に ``<tt>ipfw </tt>'' と書き足します.
-こうすることで, このスクリプトを /bin/sh に与えてルールをカーネルに再読み込み
-させることができます. これは最も効率的な方法とはいえないかもしれませんが,
-きちんと動作しています.
-
-<p> 次の問題は, ファイアウォールが実際には何を <bf> する </bf> べきかです !
-これは外部からそのネットワークへのどんなアクセスを許したいか,
-また内部から外界へのアクセスをどのくらい許したいかに大きく依存します.
-いくつか一般的なルールを挙げると:
-
-<itemize>
-
- <item> 1024 番以下のポートへのすべての TCP 入力アクセスをブロックします.
-ここは finger, SMTP (mail) そして telnet など, 最もセキュリティに敏感な
-サービスが存在する場所だからです.
-
- <item><bf> すべての </bf> 入力 UDP トラフィックをブロックします.
-これは UDP を使用しているサービスで有用なものは極めて少ないうえ,
-有用なトラフィック (例えば Sun の RPC と NFS プロトコル) は,
-通常セキュリティに対する脅威となるためです.
-UDP はコネクションレスプロトコルであるため,
-入力 UDP トラフィックを拒絶することは
-すなわち出力 UDP トラフィックに対する返答をも
-ブロックすることになるので, このことはそれなりの不利益をもたらします.
-たとえば外部の archie (prospero) サーバを使用している (内部の) ユーザに
-とって問題となる可能性があります.
-もし archie へのアクセスを許したければ, 191 番と 1525 番のポートから
-任意の UDP ポートへ来るパケットがファイアウォールを通過することを
-許可しなければなりません.
-123 番のポートから来るパケットは ntp パケットで,
-これも通過の許可を考慮する必要があるもう一つのサービスです.
-
- <item> 外部から 6000 番のポートへのトラフィックをブロックします.
-6000 番のポートは X11 サーバへのアクセスに使用されるポートで,
-セキュリティに対する脅威となりえます. (特に自分のワークステーションで
-<tt>xhost +</tt> をおこなう癖を持っている人がいればなおさらです).
-X11 は実際に 6000 番以降のポートを使用する可能性があるため, 通過許可に
-上限を定めると, そのマシンで走らせることのできる X ディスプレイの
-個数が制限されます.
-RFC 1700 (Assigned Numbers) で定義されているように, 上限は 6063 です.
-
- <item> 内部のサーバ (例えば SQL サーバなど) がどのポートを使用するかを
-チェックします.
-それらのポートは通常, 上で指定した 1-1024 番の範囲から外れていますので,
-これらも同様にブロックしておくことはおそらく良い考えです.
-
-</itemize>
-
-<p> これとは別のファイアウォール設定に関するチェックリストが CERT から
-入手可能です.
-<htmlurl url="ftp://ftp.cert.org/pub/tech&lowbar;tips/packet&lowbar;filtering"
-name="ftp://ftp.cert.org/pub/tech&lowbar;tips/packet&lowbar;filtering">
-
-<p> 前にも述べたように, これはただの <em> ガイドライン </em> にすぎません.
-ファイアウォールでどのようなフィルタルールを使用するかは, あなた自身が
-決めなければなりません.
-これまでのアドバイスにしたがったにも関わらず, 誰かがあなたのネットワークに
-侵入してきたとしても, 私は「いかなる」責任もとることはできません.
diff --git a/share/doc/ja_JP.EUC/handbook/glossary.sgml b/share/doc/ja_JP.EUC/handbook/glossary.sgml
deleted file mode 100644
index 8a0d476..0000000
--- a/share/doc/ja_JP.EUC/handbook/glossary.sgml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!-- $Id: glossary.sgml,v 1.4 1997/02/22 13:01:03 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.5 -->
-
-<chapt><heading>* Glossary<label id="glossary"></heading>
-
diff --git a/share/doc/ja_JP.EUC/handbook/goals.sgml b/share/doc/ja_JP.EUC/handbook/goals.sgml
deleted file mode 100644
index 3205098..0000000
--- a/share/doc/ja_JP.EUC/handbook/goals.sgml
+++ /dev/null
@@ -1,33 +0,0 @@
-<!-- $Id: goals.sgml,v 1.4 1997/02/22 13:01:05 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.4 -->
-
-<sect><heading>FreeBSDプロジェクトの目的<label id="goals"></heading>
-
-<p><em>原作: &a.jkh;</em>
-<p><em>訳: &a.kiroh;<newline>24 September 1996.</em>
-<p>
-FreeBSDプロジェクトの目的は、いかなる用途にも使用でき、何ら制限のない
-ソフトウェアを供給することです。私たちの多くは、コード(そしてプロジェ
-クト)に対してかなりの投資をしてきており、これからも多少の無駄はあって
-も投資を続けて行くつもりです。ただ、他の人達にも同じような負担をするよ
-うに主張しているわけではありません。FreeBSD に興味を持っている一人の残
-らず全ての人々に、目的を限定しないでコードを提供すること。これが、私た
-ちの最初のそして最大の``任務''であると信じています。そうすれば、コード
-は可能な限り広く使われ、最大の恩恵をもたらすことができるでしょう。これ
-が、私たちが熱烈に支持しているフリーソフトウェアの最も基本的な目的であ
-ると、私は信じています。
-
-<p>
-私たちのソースツリーに含まれるソースのうち、GNU一般公有使用許諾(GPL)ま
-たはGNUライブラリ一般公有使用許諾(GLPL)に従っているものについては、多
-少制限が科されています。ただし、ソースコードへのアクセスの保証という、
-一般の制限とはいわば逆の制限(訳注1)です。ただしGPLソフトウェアを商用で
-利用する場合、さらに複雑になるのは避けられません。そのため、それらのソ
-フトウェアを、より制限の少ないBSD著作権に従ったソフトウェアで置き換え
-る努力を、可能な限り日々続けています。
-
-<p>
-(訳注1) GPL では、「ソースコードを実際に受け取るか、あるいは、希望しさ
-えすればそれを入手することが可能であること」を求めています。
-
diff --git a/share/doc/ja_JP.EUC/handbook/handbook.sgml b/share/doc/ja_JP.EUC/handbook/handbook.sgml
deleted file mode 100644
index 4904849..0000000
--- a/share/doc/ja_JP.EUC/handbook/handbook.sgml
+++ /dev/null
@@ -1,195 +0,0 @@
-<!-- $Id: handbook.sgml,v 1.17 1997/05/18 02:30:50 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.76 -->
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
-
-<!-- Conditional flags for this version of the document -->
-<!ENTITY % boothelp.only "IGNORE">
-<!ENTITY % handbook.only "INCLUDE">
-
-<!-- Entity shorthand for authors' names and email addresses -->
-<!ENTITY % authors SYSTEM "authors.sgml">
-%authors;
-
-<!-- Entity shorthand for translator's names and email addresses -->
-<!ENTITY % jmembers SYSTEM "jmembers.sgml">
-%jmembers;
-
-<!-- Entity shorthand for mailing list email addresses -->
-<!ENTITY % lists SYSTEM "lists.sgml">
-%lists;
-
-<!-- Entity definitions for all the parts -->
-<!ENTITY % sections SYSTEM "sections.sgml">
-%sections;
-
-<!-- The currently released version of FreeBSD -->
-<!ENTITY rel.current CDATA "2.2.2">
-
-]>
-
-<linuxdoc>
- <book>
-
- <title>FreeBSD ハンドブック</title>
- <author>
- <name>FreeBSD ドキュメンテーションプロジェクト</name>
- </author>
- <date>1997年5月</date>
-
-<abstract>FreeBSD へようこそ! このハンドブックは<bf>FreeBSD Release
-&rel.current;</bf>のインストールおよび, 日常での使い方について記述したもので,
-FreeBSD ドキュメンテーションプロジェクトによって編集されています.
-
-日本語版の作成は FreeBSD 日本語ドキュメンテーションプロジェクトがおこなって
-います. 本書は<bf>現在進行中の作業</bf>であって, 多くの個人の手からなる
-仕事です. 多くのセクションはまだ存在しませんし, いま存在するセクションの
-いくつかはアップデートが必要です. この FreeBSD ドキュメンテーション
-プロジェクトに協力したいと思ったら, &a.doc; まで (英語で) 電子メールを
-送ってください. ハンドブックそのものに関する議論は, こちらで
-おこなわれています. (もちろん英語でです.)
-日本語訳および, 日本語版のみに関することは &a.doc-jp; において日本語で
-議論されています. 必要に応じて日本語ドキュメンテーションプロジェクトから
-本家ドキュメンテーションプロジェクトに対してフィードバックをおこないますので,
-英語が得意でない方は &a.doc-jp; まで日本語でコメントをお寄せください.
-このドキュメントの最新バージョンは, いつでも
-<url url="http://www.jp.FreeBSD.ORG/"
-name="日本国内版 FreeBSD World Wide Web サーバ">や
-<url url="http://www.FreeBSD.ORG/" name="FreeBSD World Wide Web サーバ">
-から入手できますし,
-<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/docs" name="FreeBSD FTP サーバ">
-や, たくさんある<ref id="mirrors" name="ミラーサイト">からプレインテキスト,
-postscript, HTML などの形式でダウンロードすることもできます.
-また, <url url="/search.html" name="ハンドブックの検索">も可能です.
-
-</abstract>
- <toc>
-
-<!-- ************************************************************ -->
-
- <part><heading>導入</heading>
-
- <chapt><heading>はじめに</heading>
-<p>FreeBSD は, Intel アーキテクチャ (x86) ベースの PC のための
-4.4BSD-Lite をベースとしたオペレーティングシステムです.
-FreeBSD の概要については,
-<ref id="nutshell" name="FreeBSD とは">をご覧ください.
-このプロジェクトの歴史については, <ref id="history" name="FreeBSD 小史">
-をご覧ください. 最新のリリースについての記述は,
-<ref id="relnotes" name="現在のリリースについて">をご覧ください.
-FreeBSD プロジェクトへの何らかの貢献 (ソースコード, 機器, 資金の提供など)
-について興味があれば, <ref id="submitters" name="FreeBSD への貢献">
-の章をご覧ください.
-
- &nutshell;
- &history;
- &goals;
- &development;
- &relnotes;
-
- &install;
- &basics;
-
- &ports;
-
-<!-- ************************************************************ -->
-
- <part><heading>システム管理</heading>
-
- &kernelconfig;
- <chapt><heading>セキュリティ</heading>
- &crypt;
- &skey;
- &kerberos;
- &firewalls;
-
- &printing;
-
- &quotas;
- <chapt><heading>X ウィンドウシステム</heading>
-<p>この節の完成は保留にしてあります.
- <url url="http://www.xfree86.org/" name="The XFree86 Project, Inc">
- から提供されるドキュメントを参考にしてください.
-
- &hw;
-
- <chapt><heading>ローカル化<label id="l10n"></heading>
- &russian;
-
-<!-- ************************************************************ -->
-
- <part><heading>ネットワーク通信</heading>
-
- <chapt><heading>シリアル通信</heading>
- &serial;
- &term;
- &dialup;
- &dialout;
-
- <chapt><heading>PPP と SLIP</heading>
-
-<p>もしあなたがモデムを使ってインターネットに接続したり,
-他の人々に FreeBSD によるインターネットへのダイヤルアップ接続を
-提供しようとしているのでしたら, PPP または SLIP 接続を選択することができます.
-PPP 接続には, 2 種類の方法が提供されています:
-<em>ユーザ</em>PPP (iijppp とも呼ばれます) と<em>カーネル</em>PPP です.
-両方の PPP の設定手順と, SLIP の設定方法については以下の章に書かれています.
-
- &userppp;
- &ppp;
- &slipc;
- &slips;
-
- <chapt><heading>高度なネットワーク</heading>
- &routing;
- &nfs;
- &diskless;
- &isdn;
-
- &mail;
-
-<!-- ************************************************************ -->
-
- <part><heading>さらに進んだ話題</heading>
- <chapt><heading>開発の最前線: FreeBSD-current と FreeBSD-stable</heading>
- <p>あるリリースから次のリリースまでの期間にも, FreeBSD の開発は
- 休みなく続けられています. この開発の最前線に興味を持っている人のために,
- 手元のシステムを最新の開発ツリーに同期させておくための,
- とても使いやすい仕掛けが何種類も用意されています.
- 注意: 開発の最前線は, 誰でもが扱えるという性質のものではありません!
- もしもあなたが, 開発途中のシステムを追いかけようか, それともリリース
- バージョンのどれかを使い続けようかと迷っているのなら,
- きっとこの章が参考になるでしょう. </p>
-
- &current;
- &stable;
- &synching;
- </chapt>
-
- &submitters;
- &policies;
- &kernelopts;
- &kerneldebug;
- &linuxemu;
- <chapt><heading>FreeBSD の内部</heading>
- &booting;
- &memoryuse;
- &dma;
-
-
-<!-- ************************************************************ -->
-
- <part><heading>付録</heading>
-
- &mirrors;
- &bibliography;
- &eresources;
- &contrib;
- &pgpkeys;
- &jcontrib;
-
-<!-- &glossary; -->
-
- </book>
-</linuxdoc>
diff --git a/share/doc/ja_JP.EUC/handbook/history.sgml b/share/doc/ja_JP.EUC/handbook/history.sgml
deleted file mode 100644
index be71a07..0000000
--- a/share/doc/ja_JP.EUC/handbook/history.sgml
+++ /dev/null
@@ -1,114 +0,0 @@
-<!-- $Id: history.sgml,v 1.6 1997/02/25 04:55:50 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.22 -->
-<!-- 和訳: masaki@po.iijnet.or.jp + hino@nwk.cl.nec.co.jp 1997/5/13 -->
-
-<sect><heading>FreeBSD 小史<label id="history"></heading>
-
-<p><em>原作: &a.jkh;</em>.
-
-<p><em>訳: &a.masaki;, &a.hino;.<newline>19 December 1996.</em>
-
-FreeBSD プロジェクトは 1993年の始めに ``Unofficial 386BSD Patchkit''
-の最後の 3人のまとめ役によって, 部分的に patchkit から派生する形で開始
-されました. ここでの 3人のまとめ役というのは, Nate Williams と, Rod
-Grimes と, 私 (Jordan K. Hubbard) です.
-
-私たちのもともとの目標は, patchkit という仕組みではもう十分に解
-決できなくなってしまった 386BSD の数多くの問題を修正するための, 386BSD
-の暫定的なスナップショットを作成することでした. こういった経緯を経てい
-るので, このプロジェクトの初期の頃の名前が ``386BSD 0.5'' や ``386BSD
-暫定版 (Interim)'' であったということを覚えている人もいるでしょう.
-
-386BSD は, Bill Jolitz が (訳注: バークレイ Net/2 テープを基に) 作成し
-たオペレーティングシステムです. 当時の 386BSD は, ほぼ一年にわたって放っ
-ておかれていた (訳注: 作者がバグの報告を受けても何もしなかった) という
-ひどい状況に苦しんでいました. 作者の代わりに問題を修正し続けていた
-patchkit は日を追うごとに不快なまでに膨張してしまっていました. このよ
-うな状況に対して, このままではいけない, 何か行動を起こさなければ, とい
-うことで異議を唱えるものは私たちのなかにはいませんでした. そして私たち
-は挑戦することを決断し, 暫定的な「クリーンアップ」スナップショットを作
-成することで Bill を手助けしようと決めたのです. しかし, この計画は唐突
-に終了してしまいました. Bill Jolitz が, このプロジェクトに対する受け
-入れ支持を取り下げることを突然決意し, なおかつこのプロジェクトの代わり
-に何をするのかを一切言明しなかったのです.
-
-たとえ Bill が支持してくれないとしても, われわれの目標には依然としてや
-る価値があると決心するのにさしたる時間はかかりませんでした. そこで
-David Greenman が考案した名称 ``FreeBSD'' を私たちのプロジェクトの名前
-に採用し, 新たなスタートを切りました. この時点でのプロジェクトの初期目
-標は, すでにこのシステム (訳注: 386BSD + Patchkit) を使っていた利用者
-たちと相談して決められました. プロジェクトが実現に向けて軌道に乗ってき
-たことが明確になった時点で, 私は Walnut Creek CDROM 社に連絡してみまし
-た. CDROM を使って FreeBSD を配布することによって, インターネットに容
-易に接続できない多くの人々が FreeBSD を簡単に入手できるようになると考
-えたからです. Walnut Creek CDROM 社は FreeBSD を CD で配布するというア
-イデアを採用してくれたばかりか, 作業するためのマシンと高速なインターネッ
-ト回線を私たちのプロジェクトに提供してくれました. 当時は海のものとも山
-のものともわからなかった私たちのプロジェクトに対して, Walnut Creek
-CDROM 社が信じられないほどの信頼を寄せてくれたおかげで, FreeBSD は短期
-間のうちにここまで大きく成長したのです.
-
-CDROM による最初の配布 (そしてネットでの, ベータ版ではない最初の一般向
-け配布) は FreeBSD 1.0 で, 1993年 12月に公開されました. これは カリフォ
-ルニア大学バークレイ校の 4.3BSD-Lite (``Net/2'') を基とし, 386BSD や
-Free Software Foundation からも多くの部分を取り入れたものです. これは
-初めて公開したものとしては十分に成功しました. 続けて 1994年 5月に
-FreeBSD 1.1 を公開し, 非常に大きな成功を収めました.
-
-この時期, あまり予想していなかった嵐が遠くから接近してきていました. バー
-クレイ Net/2 テープの法的な位置づけについて, Novell 社と カリフォルニ
-ア大学バークレイ校との間の長期にわたる法廷論争において和解が成立したの
-です. 和解の内容は, Net/2 のかなりの部分が「権利つき (encumbered)」コー
-ドであり, それは Novell 社の所有物である, というバークレイ校側が譲歩し
-たものでした. なお, Novell 社はこれらの権利を裁判が始まる少し前に
-AT&amp;T 社から買収していました. 和解における譲歩の見返りにバークレイ
-校が得たのは, 4.4BSD-Lite が最終的に発表された時点で, 4.4BSD-Lite は権
-利つきではないと公式に宣言されること, そしてすべての既存の Net/2 の利
-用者が 4.4BSD-Lite の利用へと移行することが強く奨励されること, という
-Novell 社からの「ありがたき天からの恵み」でした. (訳注: 4.4BSD-Lite は
-その後 Novell 社のチェックを受けてから公開された.) FreeBSD も Net/2 を利
-用していましたから, 1994年の 7月の終わりまでに Net/2 ベースの FreeBSD
-の出荷を停止するように言われました. ただし, このときの合意によって, 私
-たちは締め切りまでに一回だけ最後の公開をすることを許されました. そして
-それは FreeBSD 1.1.5.1 となりました.
-
-それから FreeBSD プロジェクトは, まっさらでかなり不完全な 4.4BSD-Lite
-を基に, 文字どおり一から再度作り直すという, 難しくて大変な作業の準備を始めまし
-た. ``Lite'' バージョンは, 部分的には本当に軽くて, 中身がなかったので
-す. 起動し, 動作できるシステムを実際に作り上げるために必要となるプログ
-ラムコードのかなりの部分がバークレイ校 の CSRG (訳注: BSDを作っている
-グループ) によって (いろいろな法的要求のせいで) 削除されてしまっていた
-ということと, 4.4BSD の Intel アーキテクチャ対応が元々かなり不完全であっ
-たということがその理由です. この移行作業は結局 1994年の 12月までかかり
-ました. そして 1995年の 1月に FreeBSD 2.0 をネットと CDROM を通じて公
-開しました. これは, かなり粗削りなところが残っていたにもかかわらず, か
-なりの成功を収めました. そしてその後に, より信頼性が高く, そしてインス
-トールが簡単になった FreeBSD 2.0.5 が 1995年の 6月に公開されました.
-
-
-<em>これからのことについて</em>
-
-私たちは 1996年の 8月に FreeBSD 2.1.5 を公開しました. この出来が非常に
-良く, 特に業務で運用しているサイトや ISP での人気が高かったので, 私た
-ちは 2.1-STABLE 開発分流から更に公開をおこなうことにメリットがあると考
-えました. それが FreeBSD 2.1.7.1 で, 2.1-STABLE 開発分流の最後を締めく
-くるものとして, 1997年の 2月に公開されました. 2.1-STABLE 開発分流
-(RELENG_2_1_0) は現在, 保守のみをおこなう状態になっており, 今後は, セ
-キュリティの改善や他の何か重要なバグフィックスのみがおこなわれるでしょ
-う.
-
-FreeBSD 2.2 の開発は, RELENG_2_2 開発分流として, 開発の本流
-(``-current'') から 1996年 11月に分岐し, そして 1997年 4月に最初の公開
-(2.2.1) がおこなわれました. RELENG_2_2 開発分流に関する今後の計画では,
-97年の夏から秋の間に数回の公開をおこなうことが予定されています. そして
-97年の冬のはじめ頃には, FreeBSD 3.0 の最初の公開をおこなう予定です.
-<!-- 訳者覚書:Jordan氏は最後の文に関する質問に対し以下の回答をくれた. -->
-<!-- What I meant to say was: -->
-<!-- o Several releases of 2.2.x during Summer and Fall of 1997. -->
-<!-- o The first official release of 3.0.x in Winter of 1997. -->
-
-SMP のサポートから DEC ALPHA のサポートまでのすべての長期的な開発プロ
-ジェクトは, 3.0-CURRENT 開発分流において継続しています. CDROM (もちろ
-ん, ネットワーク上でも) による 3.0 のスナップショット公開は, 1997年
-5月頃から開始される予定です.
diff --git a/share/doc/ja_JP.EUC/handbook/hw.sgml b/share/doc/ja_JP.EUC/handbook/hw.sgml
deleted file mode 100644
index c39d437..0000000
--- a/share/doc/ja_JP.EUC/handbook/hw.sgml
+++ /dev/null
@@ -1,1519 +0,0 @@
-<!-- $Id: hw.sgml,v 1.13 1997/03/24 02:56:52 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.66 -->
-
-<!--
-<!DOCTYPE chapt PUBLIC "-//FreeBSD//DTD linuxdoc//EN"> -->
-
-<!--
-<p><em>原作: The FreeBSD Documentation Project .</em>
--->
-
-<chapt><heading>PC ハードウェアコンパチビリティ<label id="hw"></heading>
-<p><em>訳: &a.yoshiaki; . <newline> 1 March 1997. </em>
-
- <p>ハードウェアコンパチビリティの問題は現在のコンピュータ業界でもっ
- とも多く起きる種類の問題であり, FreeBSDもこれに無縁ではありません.
- 市場にある驚くほど多様な種類の製品をサポートしたことで,安価に普及し
- ている PCハードウェアで動かすことができるという FreeBSDの利点はこの
- 点では不利でもあります.
- FreeBSDのサポートするハードウェアを徹底的に調べて提供することは不
- 可能ですが, このセクションでは FreeBSDに含まれるデバイスドライバとそ
- のドライバがサポートするハードウェアのカタログを示します. 可能で適切
- なものについては特定の製品についての注釈を含めました.
-
- FreeBSD はボランティアプロジェクトでテスト部門には資金がありません
- から, より多くの情報をこのカタログに載せるにはあなたがたユーザに
- 頼らなければなりません. あなた自身の経験により, あるハードウェアが
- FreeBSDで動くか動かないかがわかったとしたら&a.doc;
- へ e-mailして知らせてください. サポートされているハードウェアについて
- の質問は, &a.questions;(詳しいことは
- <ref id="eresources:mail" name="メーリングリスト">を参照してください) へ
- 宛ててください. 情報を提供したり質問をする時は FreeBSDのバージョンと使っ
- ているハードウェアのできるだけ詳しい情報を含めることを忘れないでくだ
- さい.
-
-<sect><heading>インターネット上のリソース</heading>
-<p> 以下のリンクはハードウェアを選ぶのに役に立ちます. FreeBSDに対して
-は必要のない (あるいは適用できない) ように見えるかもしれませんが, ここ
-からのハードウェアの情報のほとんどは OSに依存しないものです.
-購入をする前にはあなたの選んだものがサポートされているか FreeBSDハード
-ウェアガイドを注意して読んでください. </p>
-
- <p>
- <itemize>
- <item><htmlurl url="http://sysdoc.pair.com"
- name="Toms's Hardware &amp; Performance Guide"></item>
- </itemize>
-
-
- <p>訳注: 日本国内でFreeBSDの動くハードウェアの情報を提供してい
-るWWWサーバがあります.
-
-<itemize>
-<htmlurl url="http://freebsd.chem.nagoya-u.ac.jp/~ugoita/"
-name="FreeBSD POWERED hardwares">
-</itemize>
-
-これ以外にも情報を提供しているサーバはあります. いくつかの URLについて
-は<htmlurl url="http://www.jp.freebsd.org" name="FreeBSD Japan.">
-からたどることができます.
-
-<sect><heading>組合せの見本<label id="hw:configs"></heading>
-<p>以下のハードウェアの組合せのサンプルリストはハードウェアベンダや
-<em>FreeBSD プロジェクト</em>が保証するものではありません. この情
-報は公共の利益のために公開しているものであり, 極めて数多くあるであろう
-異なったハードウェアの組合せの中からのある経験のカタログに過ぎません.
-やり方はいろいろあります.
-場合によってはうまく行かないこともあります. 十分気をつけてください.
-
- <sect1><heading>Jordan氏の選んだ組合せ</heading>
- <p>私の作ったワークステーションとサーバの構成はまずまずうまく行っ
- ています. 私はこれを保証できるわけでもありませんし, ここにあげた組
- 合せがずっと "best buys"であるわけではありません. 私はできればリス
- トを更新して行きますがそれがいつになるかはわかりません.
-
-訳注: &a.jkh; 氏は FreeBSDプロジェクト<ref id="contrib:core"
- name="FreeBSDコアチーム">のメンバです.
-
- <sect2><heading>マザーボード<label id="hw:mb"></heading>
- <p> <htmlurl url="http://asustek.asus.com.tw/" name="ASUS">
- <htmlurl
- url="http://asustek.asus.com.tw/FTP/ASUS/Info/Spec/pi-p55tp4.txt"
- name="P55T2P4">
- はミッドレンジからハイエンドの Pentiumサーバあるいはワークステーショ
- ンシステムにはよい選択です.
- 486クラスのマザーボードを探しているなら ASUSの <htmlurl
- url="http://asustek.asus.com.tw/FTP/ASUS/Info/Spec/pvi-486sp3.txt"
- name="486SP3G"> を調べてみることをおすすめします (注: ASUSはこれら
- を既に製造していないのは明らかなのでこれらのものはだんだん手に入
- りにくくなっています).
-
- フォルトトレラントシステムを構築したいのであればパリティメモリを
- 使い, 真に24時間/週7日間動作させ続けるアプリケーションであれば
- ECCメモリを使うべきでしょう. ECCメモリはいくらか性能のトレードオ
- フがあります (それが重要なものであるかそうでないかはあなたのアプ
- リケーションによりますが). しかし, メモリエラーに対しては明らかに
- フォルトトレランス性が強化されます.
-
- <p>ハイエンドにおいては FreeBSDでは 200MHzの P6 (Pentium Pro) CPU
- を使ったIntel/Venus Pro (<ref id="hw:mb:pci" name="VS440FX">) マ
- ザーボードが非常によいようです. 最近の価格の下落
- で最近の米国内では P6システムは十分購入の候補に
- なる程度に価格が下がっています. また, 本格的なサーバ用途には
- Pentium Pro を考えていいでしょう.
- 私が個人的に使用しているシステムでは, `make world' にかかる時間が
- P5/166で3時間40分かかっていたものが, P6/200にアップグレードしたら
- 1時間22分にまで短くなりました - もちろん正当な比較ではありません
- が,私にとっては生産性の点で P6/200は明らかな価値があるということ
- を述べておきます.
-
- 注: Intel のマザーボードは従来とは異る形状で, "ATX" ケースデザイン
- と呼ばれる<em>従来とはまったく異る PCケース</em>が必要になっています.
- 今あるシステムをアップグレードしようと考えているならこのことを十分
- 考えましょう - 私のこれまでに知る限りでは, 現在入手可能な ATXケース
- はすべて 「ミドルタワー (midi-tower)」で, ドライブなどの内蔵周辺機器
- を格納するスペースに制限があります. 利点としては, ほとんどの ATXケー
- スは一般的な PCケースに比較して非常に品質の高いもののようであるとい
- うことがあります.
-
- <ref id="hw:mb:pci" name="VS440FX">チップセット (``Natoma''と呼
- ばれています) で唯一知られているコンパチビリティの問題は Matrox
- Meteorビデオキャプチャー (frame-grabber) ボードを使うとシステムが
- 停止してしまうことです. Matrox は Intel を非難し, Intel は
- Matrox を非難しています. 私たちにわかることは動かないということだ
- けです. 私の P6システムで問題が起きたのはこのカードだけであり, こ
- のカードは古い Triton チップセットベースのマザーボードでは問題な
- く動いています.
-
- 訳注: 実際には他社の frame-grabberボードでも Natoma チップセット
- のマシンで問題が起きるものがあります. ただし FreeBSDのドライバ
- があり, FreeBSD上で利用できるものでは Matrox Mentor のみというこ
- とになります. なお Matrox 社は新製品という形で Natoma に対応する
- というコメントを出しています.
-
- <sect2><heading>ディスクコントローラ</heading>
- <p>これはいくらかトリッキーです. 私は ISAから PCIまですべてコンパチブ
- ルな <htmlurl url="http://www.buslogic.com" name="Buslogic"> コント
- ローラを使うようにすすめていましたが, 現在では ISAでは
- <htmlurl url="http://www.adaptec.com" name="Adaptec"> 1542CF, EISA
- では Bt747c, PCIでは Adaptec 2940 をすすめるよう変わってきています.
-
- NCR/Symbios の PCIカードも私のところではうまく動いています, ただ
- し BIOS-less モデルのボード(SCSI ボード上に ROMらしいものがない
- 場合は, マザーボード上に SCSIアダプタのための BIOSが必要な
- ボードである可能性があります 訳注: SC-200など) を使うのであれば
- マザーボードがそれをサポートしているかどうか注意しなくてはなりま
- せん.
-
- <p>PCIマシンで2つ以上の SCSIコントローラが必要となるのであれば,
- PCIバスの不足を防ぐために Adaptec 3940 カードを考えてもいいでしょ
- う. これは1つのスロットで2台の SCSIコントローラ(と内部バス)を持ち
- ます.
-
- <sect2><heading>ディスクドライブ<label id="hw:disks"></heading>
- <p>私は,極々特殊な状況を除いて 「それだけのお金をかけることができる
- なら SCSIは IDEよりもよい」 と言っています. 小規模なデスクトップ構成
- のシステムでも, SCSIであればディスクが安くなっていった時にサーバの
- (古い入れ換えた) ディスクを比較的簡単に移し替えることができます. あ
- なたが複数のマシンの管理をしているのであれば単純に容量について考え
- るのではなく, 食物連鎖のように考えましょう.
-
- <p>私は今のところは NFSサーバや NEWSサーバのようにマルチユーザに
- よる激しいディスク disk I/Oがおこなわれる用途以外ではお金をかけてま
- で SCSI WIDEドライブにする必要はないと考えています.
-
-<sect2><heading>CDROM ドライブ<label id="hw:cdrom"></heading>
- <p>私は SCSIの方が好みであるのでもちろん SCSI CDROMを選びました.
- <htmlurl url="http://www.toshiba.com" name="東芝"> XM-3501B (現
- 在はキャディレスモデルの XM-5401Bがリリースされています)ドライブは
- どんな時もうまく動いてくれていますが, 最近は<htmlurl
- url="http://www.plextor.com" name="Plextor"> の PX-12CS ドライブを
- すっかり気に入っています. これは 12倍速のドライブで, 高性能で信頼
- 性も高いものです.
-
- <p>一般的には, 大部分の SCSI CDROM ドライブは私の見た限りではほと
- んどしっかりした構造ですので 多分 HPや NECの SCSI CDROMでも問題が起き
- ることはないでしょう. SCSI CDROM の価格はここ数ヶ月でかなり下落したよ
- うで, 技術的に 優れた方法でありながら 現在では IDE CDROMと同じ程度の価
- 格になって います. もし IDE と SCSI の CDROM ドライブの間で選択す
- ることができるのなら, 特に IDE を選ぶ理由はないでしょう.
-
- <sect2><heading>CD-R (CD Recordable: WORM) ドライブ<label
- id="hw:worm"></heading>
- <p>この原稿を書いている時点で, FreeBSDは 3種類の CDRドライブ
- (私は これらすべては結局は Phillips社のドライブであるのではない
- かと考えているのですが) をサポートしています : Phillips CDD 522
- (Plasmon のドライブと同様の動作をします), PLASMON RF4100, HP 4020i
- です. 私は HP 4020i を CDROMを焼くのに使っています(2.2-current で
- 使っています - 2.1.5以前のリリースの SCSIコードでは動きません).
- 非常に調子よく動いています. 2.2 システムの <htmlurl
- url="file:/usr/share/examples/worm" name="/usr/share/examples/worm">
- を見てください. ISO9660ファイルシステムイメージ (RockRidge拡張) を作
- るスクリプトと それをHP4020i CDR で焼くためのスクリプトの例があり
- ます.
-
- <sect2><heading>テープドライブ<label id="hw:tape"></heading>
- <p>私はたまたま <htmlurl url="http://www.exabyte.com"
- name="Exabyte"> の
- <htmlurl url="http://www.Exabyte.COM:80/Products/8mm/8505XL/Rfeatures.html"
- name="8mm drives"> と <htmlurl url="http://www.hp.com" name="HP">の
- <htmlurl url="http://www-dmo.external.hp.com:80/tape/_cpb0001.htm"
- name="4mm (DAT)"> を持っています.
-
- <p>バックアップのためであれば, より本質的に丈夫な (また, より容量が大きい)
- Exabyteの 8mmテープの方がおすすめできます.
-
- <sect2><heading>ビデオカード<label id="hw:video"></heading>
- <p>もし (米国では) 99USドルをかけて商品の Xサーバを<htmlurl
- url="http://www.xig.com/" name="Xi Graphics, Inc. (以前の X
- Inside, Inc.)">から買うことができる
- なら間違いなく <htmlurl url="http://www.matrox.com/" name="Matrox">
- <htmlurl url="http://www.matrox.com/mgaweb/brochure.htm"
- name="Millenium">カードをおすすめします. このカードは無償提供されている <htmlurl
- url="http://www.xfree86.org" name="XFree86"> でもサポートされて
- いますが現時点では依然 XiGの製品に比べるといくらか遅いと言えます.
- XFree86 3.2Aではいくらか改善されていますが, 一般リリースとしては
- まだ使えません(訳注: 3.2A は試験的リリースです).
-
- <htmlurl url="http://www.nine.com/" name="Number 9">の
- S3 Vision 868と 968 ベースのカード (the 9FX series) はわりあいと速く,
- <htmlurl url="http://www.xfree86.org" name="XFree86">の S3サーバで
- うまくサポートされており, きっと問題も起きないでしょう.
-
- <sect2><heading>モニタ<label id="hw:monitors"></heading>
- <p>私の持っている <htmlurl
- url="http://cons3.sel.sony.com/SEL/ccpg/display/ms17se2.html"
- name="Sony Multiscan 17SE monitors"> は非常に調子がいいので, 同じ (トリ
- ニトロン) ブラウン管を使っている Viewsonicをおすすめします. 17"よりも
- 大きなモニタ, 例えば 21"のモニタが実際に必要だとしたらこの文章の執
- 筆時点では 2,500USドル以下のものはまったくすすめられません. 20"以上のク
- ラスでよいモニタは(いくつも)ありますし, 20"クラスで安いモニタもあり
- ます. うまくいかないことに安くてよいモニタはほとんどありません!
-
- <sect2><heading>ネットワーキング<label id="hw:networking"></heading>
- <p>私は ISAカードでは <htmlurl url="http://www.smc.com/"
- name="SMC"> Ultra 16 コントローラを, PCIベースのカードでは SMC
- EtherPower と Compex ENET32カードをおすすめできます. この2種類の PCI
- カードは DECの DC21041イーサネットコントローラチップを使っています.
- また, このチップを使っている Zynx ZX342 や DEC DE435 などのカードも
- 一般的にはうまく動くでしょう. 100Mbit/sec のネットワークカードで
- は SMC SMC9332DST 10/100MB や Intel EtherExpress Pro/100B カードは
- 利用できるでしょう.
-
- もう一方, できるだけ低コストでそこその性能で動くものを探しているな
- ら, ほとんどの NE2000のクローンはよい選択です.
-
- <sect2><heading>(特殊な) シリアル<label id="hw:serial"></heading>
- <p>高速のシリアル ネットワーク インタフェース (同期シリアルカード)
- を探しているのであれば <htmlurl url="http://www.dgii.com/"
- name="Digi International">製の <htmlurl
- url="http://www.dgii.com/prodprofiles/profiles-prices/di
- giprofiles/digispecs/sync570.html" name="SYNC/570"> シリーズのド
- ライバが今の FreeBSD-currentにあります. <htmlurl
- url="http://www.etinc.com" name="Emerging Technologies"> も 提供
- するソフトウェアによりT1/E1の性能が得られるボードを製造しています.
- もっとも私が直接これらの製品を動かした経験があるわけではありません.
-
- 訳注:Emerging TechnologiesのWebページを見るとカードのスペックに
- Operating Systems: MS-DOS, MS-WINDOWS, System V UNIX, BSD/OS,
- FreeBSD, NetBSD and Linux と書いてあります. また
- "BSD/OS, FreeBSD and LINUX Router Card Solutions" というページ
- もあってサポートは良さそうです.
-
- <p>マルチポートカードの選択の幅はかなり広いですが, FreeBSDがサポー
- トするいう点では <htmlurl url="http://www.cyclades.com/"
- name="Cyclades">の製品が最も信頼できるでしょう. この最大の理由はこ
- の会社が私たちに十分な評価用ボードとスペックを供給することを約束し
- てくれているからです. 私は Cyclom-16Y が最高の性能価格比であると聞
- いていましたが最近は価格のチェックはしていません.
-
- 訳注: cycladesの WWWサーバでも Supported Operating Systemsに
- Linuxや BSDi, FreeBSD が明記されています.
-
- 他のマルチポートカードで評判がよいのは BOCAおよび ASTのカードと
- <htmlurl url="http://www.stallion.com/" name="Stallion
- Technologies">で, このカードには <htmlurl
- url="ftp://ftp.stallion.com/drivers/unsupported/freebsd/s
- talbsd-0.0.4.tar.gz" name="ここ">で非公式なドライバが提供されてい
- るようです.
-
- <sect2><heading>オーディオ<label id="hw:audio"></heading>
- <p>私は現在,高音質で全二重のオーディオ機能 (2DMAチャネル) を持つという
- 点から <htmlurl url="http://www.gravis.com/" name="Gravis">
- Ultrasound MAX を使っています. Windows NTや OS/2でのサポートはあま
- りよくありませんので, FreeBSD, NT, OS/2のすべてで使うには推薦できま
- せん. そのような場合には <htmlurl url="http://www.creaf.com/"
- name="クリエィティブ ラボ">の AWE32 がいいでしょう.
-
- <sect2><heading>ビデオキャプチャー<label id="hw:vgrabbers"></heading>
- <p>ビデオキャプチャーについては事実上一つしか選択の余地がありません.
- <htmlurl url="http://www.matrox.com/" name="Matrox">
- <htmlurl url="http://www.matrox.com/imgweb/meteor.htm" name="Meteor">
- カードです. FreeBSDはクリエィティブ ラボの古い video spigotカードの
- サポートはしていますがこれは手に入りにくくなっていますし, Meteor は
- 高速のPCIインタフェースを持った新しい世代の画像取り込みボードです.
- このカードは VS440FX チップセットベースのマザーボードでは<em>動かな
- い</em>ことに注意してください. 詳細は<ref id="hw:mb" name="マザー
- ボード">の節を参照してください.
-
-<sect><heading>中心部/プロセッサ<label id="hw:core"></heading>
-
-<sect1><heading>マザーボード, バス, チップセット</heading>
- <sect2><heading>* ISA</heading>
- <sect2><heading>* EISA</heading>
- <sect2><heading>* VLB</heading>
- <sect2><heading>PCI<label id="hw:mb:pci"></heading>
-
- <p><em>原作: &a.rgrimes;.<newline>25 April 1995.</em></p>
- <p><em>更新: &a.jkh;.</em><newline>最終更新
- <em>26 August 1996.</em></p>
- <p><em>訳: &a.yoshiaki;.<newline>12 October 1996.</em></p>
-
- <p>Intelの PCIチップセットについて, 以下にさまざまな種類
- の既知の不具合と問題の程度のリストを示します.
- </p>
-
- <p><descrip>
-
- <tag>Mercury:</tag> ISAバスマスタがISAとPCIブリッジの向
- こう側にある場合は,キャッシュコヒーレンシ(一貫性)の
- 問題があります. このハードウェア欠陥に対処してうま
- く動かす方法はキャッシュを offにする以外にはありません.
-
- <tag>Saturn-I <em> (82424ZX の rev 0, 1 ,2)</em>:</tag>
- ライトバックキャッシュのコヒーレンシに問題があります.
- このハードウェア欠陥に対処してうまく動かす方法は外部キャッ
- シュをライトスルーにすること以外にはありませ
- ん. Saturn-IIにアップデートしましょう.
-
- <tag>Saturn-II <em>(82424ZX の rev 3 or 4)</em>:</tag>
- 問題なく動きます. ただし多くのマザーボードではライトバッ
- ク動作に必要な 外部ダーティビット SRAMが実装されていま
- せん. 対策としてはライトスルーモードで動かすか, ダーティ
- ビット SRAMをインストールするかがあります.
- (これは ASUS PCI/I-486SP3G の rev 1.6 以降で使われています)
-
- <tag>Neptune:</tag> 2つより多くの(3台以上の)バスマスタデ
- バイスを動かすことができません. Intelは設計の欠陥を
- 認めています. 2つを越えるバスマスタを許さない, 特別な
- 設計のハードウェアで PCIバスアービタを置き換えることに
- より解決されています. (Intelの Altair boardや他にはい
- くつかの Intelサーバグループマザーボードに見られます). そして,
- もちろん Intelの公式の回答は Triton チップセットへの
- 移行で, 「こちらでは修整した」ということです.
-
- <tag>Triton:</tag> 知られているキャッシュコヒーレンシ
- やバスマスタの問題はありませんがパリティチェック機能が
- ありません. パリティを使いたいような場合は, 可能であ
- れば Triton-II ベースのマザーボードを選びましょう.
-
- <tag>Triton-II:</tag> このチップセット
- を使っているマザーボードに関するすべての報告によれば今の
- ところ好評です. 既知の問題はありません.
-
- <tag>Orion:</tag> このチップセットの初期のバージョンでは
- PCI write-posting にバグがあり, 大量の PCIバストラフィッ
- クのあるアプリケーションでは性能の著しい低下があるとい
- う障害がありました. B0以降のリビジョンのチップセットで
- は問題は解決されています.
-
- <tag><htmlurl
- url="http://www-cs.intel.com/oem_developer/motherbd/vs_index.htm"
- name="VS440FX">:</tag>これは<htmlurl
- url="http://www.intel.com/procs/ppro/intro/index.htm"
- name="Pentium Pro"> に対応したチップセットで, 初期の
- Orionチップセットにあったような問題は見られず, 問題なく動
- いているようです. また, これは ECCやパリティを含んだ広い
- 種類のメモリに対応しています. 既知の問題は Matrox Meteor
- ビデオキャプチャカードに関するものだけです.
- </descrip>
- </p>
-
-<sect1><heading>CPU/FPU</heading>
- <sect2><heading>* Pentium Pro クラス</heading>
- <sect2><heading>Pentium クラス</heading>
- <sect3><heading>クロックスピード</heading>
- <p><em>原作 &a.rgrimes;.<newline>1 October 1996.</em></p>
- <p>Pentium クラスのマシンはシステムのいくつかの部分で異なったク
- ロックスピードを使っています. これは CPU, 外部メモリバス, PCI
- バスです. 別々のクロックスピードが使われるために 「高速な」
- CPUを使ったシステムが 「低速な」システムよりも必ず
- しも速いとは限りません.
- それぞれの場合の違いを以下の表に示します.
- <p>
- <tscreen><verb>
- CPUクロック 外部クロック 外部クロックと PCIバス
- とメモリバス 内部クロック クロック
- MHZ MHZ** の比 MHZ
-
- 60 60 1.0 30
- 66 66 1.0 33
- 75 50 1.5 25
- 90 60 1.5 30
- 100 50* 2 25
- 100 66 1.5 33
- 120 60 2 30
- 133 66 2 33
- 150 60 2.5 30
- 166 66 2.5 33
- 180 60 3 30
- 200 66 3 33
-
- * Pentium 100 は 50MHzの外部クロックの 2倍または
- 66MHz の 1.5倍の両方で動かすことができます.
- ** 66 Mhz はおそらく実際には 66.667 MHzでしょう.
- しかし, そうだと決めつけてはいけません.
- </verb></tscreen>
- <p>3倍クロックの CPUではメモリアクセス速度が不足気味であるとい
- う点を考えなければ 100, 133, 166, 200 MHzを使うのが最良でしょ
- う.
- <sect2><heading>* 486 クラス</heading>
- <sect2><heading>* 386 クラス</heading>
- <sect2><heading>286 クラス</heading>
- <p>FreeBSDは 80286マシンでは動きません. 現在の巨大なフ
- ルスペックの UNIXをこのようなハードウェアで動かすことはほとんど
- 不可能でしょう.
-
-<sect1><heading>メモリ</heading>
- <p>FreeBSDをインストールするのに最低限必要なメモリ量は 5 MBです.
- いったんシステムが起動して<ref id="kernelconfig:building"
- name="カスタムカーネルを作る">ことができるならば, もっと少ないメモリ
- で動かすこともできます. boot4.flp を使えば 4 MB しかメモリがなく
- てもインストールできます.
-
-<sect1><heading>* BIOS</heading>
-
-<sect><heading>入力/出力デバイス<label id="hw:io"></heading>
-
-<sect1><heading>* ビデオカード</heading>
-<sect1><heading>* サウンドカード</heading>
-<sect1><heading>シリアルポートとマルチポートカード</heading>
-
- &uart;
- &sio;
- &cy;
-
-<sect1><heading>* パラレルカード</heading>
-<sect1><heading>* モデム</heading>
-<sect1><heading>* ネットワークカード</heading>
-<sect1><heading>* キーボード</heading>
-<sect1><heading>* マウス</heading>
-<sect1><heading>* その他</heading>
-
-<sect><heading>記憶装置<label id="hw:storage"></heading>
-&esdi;
-&scsi;
-
-<sect1><heading>* ディスク/テープ コントローラ
- <label id="hw:storage:controllers"></heading>
- <sect2><heading>* SCSI</heading>
- <sect2><heading>* IDE</heading>
- <sect2><heading>* フロッピー</heading>
-
-<sect1><heading>* ハードディスクドライブ</heading>
-<sect1><heading> テープドライブ</heading>
- <p><em>原作: &a.jmb;.<newline>2 July 1996.</em></p>
- <p><em>訳: &a.yoshiaki;.<newline>13 October 1996.</em></p>
-
- <sect2><heading> 一般的なテープアクセスコマンド</heading>
- <p><tt>mt(1)</tt> はテープドライブへの一般的なアクセス方法を提
- 供します. <tt>rewind</tt>, <tt>erase</tt>, <tt>status</tt>など
- の共通コマンドがあります. マニュアルページの <tt>mt(1)</tt>を見
- てください. より詳しい解説があります.
-
- <sect2><heading> コントローラインタフェース</heading>
- <p>テープドライブにはいくつかの異なったインタフェースがあり
- ます. SCSI, IDE, フロッピー, パラレルポートのインタフェース
- です. 非常に多くの種類のテープドライブがこれらのインタフェー
- スで使えます. コントローラについての議論は<ref
- id="hw:storage:controllers" name="ディスク/テープ のコントロー
- ラ ">にあります(訳注:現在未完成です).
-
- <sect2><heading> SCSI ドライブ</heading>
- <p><tt>st(4)</tt> ドライバは 8mm (Exabyte), 4mm (DAT: Digital
- Audio Tape), QIC (1/4インチカートリッジ), DLT (デジタルリニアテー
- プ), QIC ミニカートリッジ, 9トラック (大きなリールがハリウッドの
- コンピュータルームで回っているのを見たことがあるでしょう)をサポー
- トします.
- <tt>st(4)</tt> マニュアルページにより詳しい解説があります.
-
- <p>以下のドライブリストは現在 FreeBSDコミュニティのメンバが
- 使っているものです. これらだけが FreeBSDで動くドライブという
- わけではありません. これらは単にたまたま私たちのうちの誰かが使っ
- ているというだけです.
-
- <sect3><heading> 4mm (DAT: Digital Audio Tape )</heading>
- <p><ref id="hw:storage:python" name="Archive Python"
- <p><ref id="hw:storage:hp1533a" name="HP C1533A">
- <p><ref id="hw:storage:hp1534a" name="HP C1534A">
- <p><ref id="hw:storage:hp35450a" name="HP 35450A">
- <p><ref id="hw:storage:hp35470a" name="HP 35470A">
- <p><ref id="hw:storage:hp35480a" name="HP 35480A">
- <p><ref id="hw:storage:sdt5000" name="SDT-5000">
- <p><ref id="hw:storage:wangtek6200" name="Wangtek 6200"
-
- <sect3><heading> 8mm (Exabyte)</heading>
- <p><ref id="hw:storage:exb8200" name="EXB-8200">
- <p><ref id="hw:storage:exb8500" name="EXB-8500">
- <p><ref id="hw:storage:exb8505" name="EXB-8505">
-
- <sect3><heading> QIC (1/4 インチカートリッジ)</heading>
- <p><ref id="hw:storage:anaconda" name="Archive Ananconda 2750"
- <p><ref id="hw:storage:viper60" name="Archive Viper 60"
- <p><ref id="hw:storage:viper150" name="Archive Viper 150"
- <p><ref id="hw:storage:viper2525" name="Archive Viper 2525"
- <p><ref id="hw:storage:tandberg3600" name="Tandberg TDC 3600"
- <p><ref id="hw:storage:tandberg3620" name="Tandberg TDC 3620"
- <p><ref id="hw:storage:tandberg4222" name="Tandberg TDC 4222"
- <p><ref id="hw:storage:wangtek5525es" name="Wangtek 5525ES"
- <sect3><heading> DLT (Digital Linear Tape)</heading>
- <p><ref id="hw:storage:dectz87" name="Digital TZ87"
- <sect3><heading> Mini-Cartridge</heading>
- <p><ref id="hw:storage:ctms3200" name="Conner CTMS 3200"
- <p><ref id="hw:storage:exb2501" name="Exabyte 2501"
- <sect3><heading> Autoloaders/Changers</heading>
- <p><ref id="hw:storage:hp1553a" name="Hewlett-Packard HP
-C1553A Autoloading DDS2">
-
- <sect2><heading>* IDE ドライブ</heading>
- <sect2><heading> フロッピードライブ</heading>
- <p><ref id="hw:storage:conner420r" name="Conner 420R"
- <sect2><heading>* パラレルポートドライブ</heading>
- <sect2><heading> 詳細な情報 </heading>
-
- <sect3><heading><label id="hw:storage:anaconda">
-Archive Ananconda 2750</heading>
- <p>このドライブのブートメッセージの識別子は "ARCHIVE
-ANCDA 2750 28077 -003 type 1 removable SCSI 2"です.
- <p>これは QIC テープドライブです.
- <p>QIC-1350テープを利用した場合の標準の容量は 1.35GBです.
-このドライブは QIC-150 (DC6150), QIC-250 (DC6250), QIC-525 (DC6525) の
-テープを問題なく読み書きすることができます.
- <p><tt>dump(8)</tt>を使った時のデータ転送レートは 350kB/sです.
- <ref id="hw:storage:amanda" name="Amanda">における転送レートは
-530kB/sと報告されています.
- <p>このドライブは既に生産中止になっています.
- <p>このテープドライブの SCSIバスコントローラは他のほとんどの
- SCSIドライブとピン配置が逆です. Anaconda テープドライブの前後でSCSIケー
-ブルを1/2ひねることができるくらいSCSIケーブルが長いことを確認しておく
-か, 他の SCSIデバイスのピン配置を入れ換えておく必要
-があります.
- <p>そして, このドライブではカーネルコードの変更が 2箇所必要です. そ
-のままではうまく動かないでしょう.
- <p>SCSI-2コントローラを持っているなら, ジャンパの 6番をショート
-してください. そうしないとこのドライブは SCSI-1として働きます. SCSI-1の
-デバイスとして動作する時, このドライブはテープのfsf (早送り), rewind (巻
-戻し),rewoffl (巻戻してオフラインにする) 等を含む操作を行っている間,
-SCSIバスをロックします.
- <p>NCR SCSIコントローラを使う場合, /usr/src/sys/pci/ncr.c (以
-下を参照してください)にパッチを行って, カーネルを作り直し, 新しいカーネ
-ルをインストールしてください.
-
-<tscreen><verb>
-*** 4831,4835 ****
- };
-
-! if (np->latetime>4) {
- /*
- ** Although we tried to wake it up,
---- 4831,4836 ----
- };
-
-! if (np->latetime>1200) {
- /*
- ** Although we tried to wake it up,
-
-</verb></tscreen>
- <p>報告者: &a.jmb;
-
-
- <sect3><heading><label id="hw:storage:python">
-Archive Python</heading>
- <p>このドライブのブートメッセージの識別子は "ARCHIVE
-Python 28454-XXX4ASB" "type 1 removable SCSI 2" "density code
-0x8c, 512-byte blocks" です.
- <p>これは DDS-1 テープドライブです.
- <p>90m テープを使った場合の標準容量は 2.5GBです.
- <p>データ転送速度は不明です.
- <p>このドライブは Sun マイクロシステムが再パッケージして model
- 411として出しています.
- <p>報告者: Bob Bishop rb@gid.co.uk
-
- <sect3><heading><label id="hw:storage:viper60">
-Archive Viper 60</heading>
- <p>このドライブのブートメッセージ識別子は "ARCHIVE
-VIPER 60 21116 -007" "type 1 removable SCSI 1"です.
- <p>これは QICテープドライブです.
- <p>標準の容量は 60MB です.
- <p>データ転送レートは不明です.
- <p>このドライブは生産中止になっています.
- <p>報告者: Philippe Regnauld regnauld@hsc.fr
-
- <sect3><heading><label id="hw:storage:viper150">
-Archive Viper 150</heading>
- <p>このドライブのブートメッセージの識別子は "ARCHIVE
-VIPER 150 21531 -004" "Archive Viper 150 is a known rogue" "type
-1 removable SCSI 1"です. このドライブのファームウェアには多くのリビジョ
-ンがあります. あなたのドライブではことなった数字が表示されるかもしれま
-せん(例えば "21247 -005").
- <p>これは QICテープドライブです.
- <p>標準容量は 150/250MBです. 150MB (DC6150) テープと
- 250MB (DC6250)テープの記録フォーマットがあります. 250MBテープは
-およそ67% 150MBテープより長いです. このドライブは 120MBのテープを問題
-なく読むことができます. 120MBテープに書き込むことはできません.
- <p>データ転送レートは100kB/sです.
- <p>このドライブは DC6150 (150MB) と DC6250 (250MB) テープの読み
-書きができます.
- <p>このドライブの奇妙な癖は SCSIテープデバイスドライバはあら
-かじめ (<tt>st(4)</tt>) にあらかじめ組み込まれています.
- <p>FreeBSD 2.2-currentでは, ブロックサイズの設定を設定するため<tt>mt
-blocksize 512</tt>としてください. (ファームウェアリビジョンが
-21247 -005 である場合の問題です. 他のリビジョンのファームウェアでは異
-なる場合があります.) これ以前の FreeBSDバージョンにはこの問題はありません.
- <p>このドライブは生産中止になっています.
- <p>報告者: Pedro A M Vazquez vazquez@IQM.Unicamp.BR
- <p> Mike Smith msmith@atrad.adelaide.edu.au
-
- <sect3><heading><label id="hw:storage:viper2525">
-Archive Viper 2525</heading>
- <p>このドライブのブートメッセージの識別子は "ARCHIVE
-VIPER 2525 25462 -011" "type 1 removable SCSI 1"です.
- <p>これは QICテープドライブです.
- <p>標準容量は 525MBです.
- <p>データ転送レートは 90inch/secの場合で 180kB/sです.
- <p>QIC-525, QIC-150, QIC-120, QIC-24のテープを読むことができま
-す. QIC-525, QIC-150, QIC-120 に書き込むことができます.
- <p>ファームウェアのリビジョンが "25462 -011" 以前の物はバグが
-多く, 正しく機能しません.
- <p>このドライブは生産中止になっています.
- <p>報告者: &a.hm;
-
- <sect3><heading><label id="hw:storage:conner420r">
-Conner 420R</heading>
- <p>このドライブのブートメッセージの識別子は "Conner tape" です.
- <p>これはフロッピーコントローラを使うミニカートリッジテープド
-ライブです.
- <p>標準容量は不明です.
- <p>データ転送レートは不明です.
- <p>このドライブは QIC-80テープドライブを使います.
- <p>報告者: Mark Hannon mark@seeware.DIALix.oz.au
-
- <sect3><heading><label id="hw:storage:ctms3200">
-Conner CTMS 3200</heading>
- <p>このドライブのブートメッセージの識別子は "CONNER
-CTMS 3200 7.00" "type 1 removable SCSI 2" です.
- <p>これはミニカートリッジテープドライブです.
- <p>標準容量は不明です.
- <p>データ転送レートは不明です.
- <p>このドライブは QIC-3080テープカートリッジを使います.
- <p>報告者: Thomas S. Traylor tst@titan.cs.mci.com
-
- <sect3><heading><label id="hw:storage:dectz87">
- <htmlurl
-url="http://www.digital.com/info/Customer-Update/931206004.txt.html"
-name="DEC TZ87"></heading>
- <p>このドライブのブートメッセージの識別子は "DEC
-TZ87 (C) DEC 9206" "type 1 removable SCSI 2" "density code 0x19" です.
- <p>これは DLTテープドライブです.
- <p>標準容量は 10GBです.
- <p>このドライブはハードウェアデータ圧縮の機能があります.
- <p>データ転送レートは 1.2MB/sです.
- <p>このドライブは Quantum DLT2000と同一の物です. このドライブ
-のファームウェアは Exabyteの 8mmドライブ等のよく知られたいくつかのドラ
-イブのエミュレートをおこなうよう設定ができます.
- <p>報告者: &a.wilko;
-
- <sect3><heading><label id="hw:storage:exb2501">
- <htmlurl
-url="http://www.Exabyte.COM:80/Products/Minicartridge/2501/Rfeatures.html"
-name="Exabyte EXB-2501"></heading>
- <p>このドライブのブートメッセージ識別子は "EXABYTE
-EXB-2501"です.
- <p>これはミニカートリッジテープドライブです.
- <p>MC3000XLミニカートリッジを使った時の標準容量は 1GBです.
- <p>データ転送レートは不明です.
- <p>このドライブは DC2300 (550MB), DC2750 (750MB), MC3000
-(750MB), MC3000XL (1GB) ミニカートリッジの読み書きができます.
- <p>注意: このドライブは SCSI-2の仕様に適合していません.
-このドライブは, フォーマット済みのテープ以外を入れた場合, SCSI
-MODE_SELCTコマンドで完全にロックアップしてしまいます. このドライブを使
-う前に, テープブロックサイズを次のように設定します.
-
- <verb>mt -f /dev/st0ctl.0 blocksize 1024</verb>
-
-ミニカートリッジは最初に使う前にフォーマットしなければなりません.
-FreeBSD 2.1.0-RELEASE およびそれ以前の場合は
-
- <verb>/sbin/scsi -f /dev/rst0.ctl -s 600 -c "4 0 0 0 0 0"</verb>
-
-(あるいは, FreeBSD 2.1.5/2.2から <tt>scsiformat</tt>シェルスクリプトを
-コピーして持ってきた場合と) FreeBSD 2.1.5およびそれ以降の場合は
-
- <verb>/sbin/scsiformat -q -w /dev/rst0.ctl</verb>
-
-とします.
- <p>今のところ, FreeBSDではこのドライブはあまりおすすめできません.
- <p>報告者: Bob Beaulieu ez@eztravel.com
-
- <sect3><heading><label id="hw:storage:exb8200"> Exabyte
-EXB-8200</heading>
- <p>このドライブのブートメッセージの識別子は "EXABYTE
-EXB-8200 252X" "type 1 removable SCSI 1"です.
- <p>これは8mmテープドライブです.
- <p>標準容量は 2.3GBです.
- <p>データ転送レートは 270kB/sです.
- <p>このドライブはブート時の SCSIバスへの応答はわりあい遅いです.
-カスタムカーネルが必要かもしれません (SCSI_DELAYを 10秒に設定しましょう).
-訳注: GENERICカーネルの設定では 15秒になっています.
- <p>このドライブには非常に多くのファームウェアの構成があります.
-あるドライブでは特定のベンダのハードウェアにカスタマイズしてあります.
-ファームウェアは EPROMを置き換えることで変更できます.
- <p>このドライブは生産中止になっています.
- <p>報告者: Mike Smith msmith@atrad.adelaide.edu.au
-
- <sect3><heading><label id="hw:storage:exb8500">
-Exabyte EXB-8500</heading>
- <p>このドライブのブートメッセージの識別子は "EXABYTE
-EXB-8500-85Qanx0 0415" "type 1 removable SCSI 2" です.
- <p>これは 8mmテープドライブです.
- <p>標準容量は 5GBです.
- <p>データ転送レートは 300kB/sです.
- <p>報告者: Greg Lehey grog@lemis.de
-
- <sect3><heading><label id="hw:storage:exb8505">
- <htmlurl
-url="http://www.Exabyte.COM:80/Products/8mm/8505XL/Rfeatures.html"
-name="Exabyte EXB-8505"></Heading>
- <p>このドライブのブートメッセージ識別子は "EXABYTE
-EXB-85058SQANXR1 05B0" "type 1 removable SCSI 2"です.
- <p>これは 圧縮機能を持った 8mmテープドライブで, EXB-5200 と
- EXB-8500に対する上位互換品です.
- <p>標準容量は 5GBです.
- <p>このドライブはハードウェアデータ圧縮機能があります.
- <p>データ転送レートは 300kB/sです.
- <p>報告者: Glen Foster gfoster@gfoster.com
-
- <sect3><heading><label id="hw:storage:hp1533a">
-Hewlett-Packard HP C1533A</heading>
- <p>このドライブのブートメッセージの識別子は "HP
-C1533A 9503" "type 1 removable SCSI 2"です.
- <p>これはDDS-2テープドライブです. DDS-2 とはデータ容量を増や
-すためにハードウェア圧縮と狭いトラックを採用したものです.
- <p>120mテープを使った場合の標準容量は4GBです. このドライブは
-ハードウェアデータ圧縮機能があります.
- <p>データ転送レートは510kB/sです.
- <p>このドライブはヒューレットパッカード社の6000eUおよび6000iテー
-プドライブ, C1533A DDS-2 DAT ドライブに使われています.
- <p>このドライブは 8接点のディップスイッチがあります. FreeBSDで
-の適切な設定は 1 ON; 2 ON; 3 OFF; 4 ON; 5 ON; 6 ON; 7 ON; 8 ON です.
-<tscreen><verb>
-スイッチ 1 2 結果
- ON ON 電源投入時に圧縮ON, ホストによるコントロール可能
- ON OFF 電源投入時に圧縮ON, ホストによるコントロール不可
- OFF ON 電源投入時に圧縮OFF, ホストによるコントロール可能
- OFF OFF 電源投入時に圧縮OFF, ホストによるコントロール不可
-</verb></tscreen>
- <p>スイッチ3は MRS (Media Recognition System :メディア認識システ
-ム) をコントロールします. MRS テープは透明なテープリーダ部分にしま模
-様があります. これはテープが DDS (Digital Data Storage) グレードである
-ことを示します. しま模様のないテープはライトプロテクトされたものとして
-扱います. スイッチ3をOFFにすると MRSが有効になります. スイッチ3をONに
-すると MRSは無効になります.
-
-訳注: 安価な音楽用のDATテープを使うには MRSをOFFにしておきます
-
- <p><em>注意:</em> これらのドライブの品質管理は非常に幅がありま
-す. ある FreeBSDコアチームのメンバは このドライブを2つ返品しました.
- <p>報告者: &a.se;
-
- <sect3><heading><label id="hw:storage:hp1534a">
-Hewlett-Packard HP 1534A</heading>
- <p>このドライブのブートメッセージの識別子は "HP
-HP35470A T503" type 1 removable SCSI 2" "Sequential-Access
-density code 0x13, variable blocks"です.
- <p>これは DDS-1テープドライブです. DDS-1 は最初の DAT
-テープフォーマットです.
- <p>90m テープを使った場合の標準容量は 2GBです.
- <p>データ転送レートは 183kB/sです.
- <p>ヒューレットパッカード社の
-SureStore <htmlurl url="http://www.dmo.hp.com/tape/sst2000.htm"
-name="2000i"> テープドライブ, C35470A DDS フォーマット DATドライブ, C1534A DDS
-フォーマット DATドライブ, HP C1536A DDS フォーマット DATドライブと
-同じ機構を使用しています.
- <p>HP C1534A DDSフォーマット DATドライブはグリーンと黄色(アンバー)
-の2つの表示ランプがあります. グリーンのランプは動作状
-態を示し, ローディング中はゆっくり点滅, ローディングが終了すると点灯,
-read/write動作中は速く点滅します. 黄色のランプは警告灯で, クリーニング
-が必要であるかまたはテープが寿命に近くなるとゆっくり点滅, 致命的なエラー
-の場合は点灯します(工場での修理が必要かもしれません).
- <p>報告者:Gary Crutcher gcrutchr@nightflight.com
-
- <sect3><heading><label id="hw:storage:hp1553a">
-Hewlett-Packard HP C1553A Autoloading DDS2</heading>
- <p>このドライブのブートメッセージの識別子は未確認です.
- <p>これは DDS-2テープドライブです. DDS-2 とはデータ容量を増や
-すためにハードウェア圧縮と狭いトラックを採用したものです.
- <p>120mテープを使用した場合の標準容量は 24GB です.
-このドライブはハードウェアデータ圧縮機能があります.
- <p>データ転送レートは510kB/s (標準) です.
- <p>このドライブはヒューレットパッカード社の SureStore
-<htmlurl url="http://www.dmo.hp.com/tape/sst12000.htm"
-name="12000e">テープドライブに使われています.
- <p>このドライブはリアパネルに2つの選択スイッチがあります.
-ファンに近いスイッチは SCSI IDです. もうひとつは 7に設定しておきます.
- <p>内部に 4個のスイッチがあります. これらは 1 ON; 2 ON; 3 ON;
-4 OFF に設定しておきましょう.
- <p>現在のカーネルドライバはボリュームの終りで自動的にテープを
-交換しません. ここに示す shellスクリプトでテープを交換できます.
-
-<tscreen><verb>
-#!/bin/sh
-PATH="/sbin:/usr/sbin:/bin:/usr/bin"; export PATH
-
-usage()
-{
- echo "Usage: dds_changer [123456ne] raw-device-name
- echo "1..6 = Select cartridge"
- echo "next cartridge"
- echo "eject magazine"
- exit 2
-}
-
-if [ $# -ne 2 ] ; then
- usage
-fi
-
-cdb3=0
-cdb4=0
-cdb5=0
-
-case $1 in
- [123456])
- cdb3=$1
- cdb4=1
- ;;
- n)
- ;;
- e)
- cdb5=0x80
- ;;
- ?)
- usage
- ;;
-esac
-
-scsi -f $2 -s 100 -c "1b 0 0 $cdb3 $cdb4 $cdb5"
-</verb></tscreen>
-
- <sect3><heading><label id="hw:storage:hp35450a">
-Hewlett-Packard HP 35450A</heading>
- <p>このドライブのブートメッセージの識別子は"HP
-HP35450A -A C620" "type 1 removable SCSI 2" "Sequential-Access
-density code 0x13" です.
- <p>これは DDS-1テープドライブです. DDS-1 は最初の DAT
-テープフォーマットです.
- <p>標準容量は 1.2GBです.
- <p>データ転送レートは 160kB/sです.
- <p>報告者: mark thompson mark.a.thompson@pobox.com
-
- <sect3><heading><label id="hw:storage:hp35470a">
-Hewlett-Packard HP 35470A</heading>
- <p>このドライブのブートメッセージの識別子は "HP
-HP35470A 9 09" type 1 removable SCSI 2"です.
- <p>これは DDS-1テープドライブです. DDS-1は最初の DAT
-テープフォーマットです.
- <p>90mテープを使用した時の標準容量は 2GBです.
- <p>データ転送レートは 183kB/sです.
- <p>これはヒューレットパッカード社の
-SureStore <htmlurl url="http://www.dmo.hp.com/tape/sst2000.htm"
-name="2000i"> テープドライブ, C35470A DDSフォーマットDATドライブ, C1534A
-DDSフォーマットDATドライブ, HP C1536A DDS フォーマットDATドライブと同
-じ機構が使われています.
- <p><em>注意:</em> これらのドライブの品質管理には非常に大き
-な幅があります. ある FreeBSDコアチームのメンバは 5台のドライブを返品し
-ました. 9ヶ月以上もったものはありません.
- <p>報告者: David Dawes dawes@rf900.physics.usyd.edu.au (9 09)
-
- <Sect3><heading><label id="hw:storage:hp35480a">
-Hewlett-Packard HP 35480A</heading>
- <p>このドライブのブートメッセージの識別子は
-"HP HP35480A 1009" "type 1 removable SCSI 2" "Sequential-Access
-density code 0x13" です.
- <p>これは DDS-DCテープドライブです. DDS-DCはハードウェアデータ
-圧縮のついたDDS-1です. DDS-1は最初のDATテープフォーマットです.
- <p>90mテープを使った場合の標準容量は 2GBです. このドライブはハー
-ドウェア圧縮機能があります.
- <p>データ転送レートは 183kB/sです.
- <p>このドライブはヒューレットパッカード社の SureStore
-<htmlurl url="http://www.dmo.hp.com/tape/sst5000.htm" name=
-"5000eU"> , <htmlurl
-url="http://www.dmo.hp.com/tape/sst5000.htm" name="5000i"> テープドラ
-イブ, C35480A DDS フォーマット DAT ドライブと同じ機構を使っています.
- <p>このドライブは時々, テープの eject操作 (<tt>mt offline</tt>)
-を行っている時にハングアップすることがあります. テープをejectさせたり,
-ドライブを回復させるにはフロントパネルのボタンを押してください.
- <p>注意: HP 35480-03110 では特有の問題がありました.
-少なくとも2回, FreeBSD 2.1.0 で IBM Server 320に 2940W SCSIコントローラ
-をつけてこのドライブを使っている時にすべての SCSIディスクのパーティショ
-ンが失われたことがあります. この問題は解析も解決もできていません.
-
- <sect3><heading><label id="hw:storage:sdt5000">
- <htmlurl
-url="http://www.sel.sony.com/SEL/ccpg/storage/tape/t5000.html"
-name="Sony SDT-5000"</heading>
- <p>これらには少なくとも DDS-1のものと DDS-2のものの2つのモデルが
-あります. DDS-1のものは "SDT-5000 3.02"です. DDS-2のものは "SONY
-SDT-5000 327M" です. DDS-2バージョンには 1MBのキャッシュがあります. この
-キャッシュによりあらゆる状況でテープのデータの流れを途切れさせません.
- <p>このドライブのブートメッセージの識別子は "SONY
-SDT-5000 3.02" "type 1 removable SCSI 2" "Sequential-Access
-density code 0x13"です.
- <p>120mテープを使用した場合の標準容量は 4GBです. このドライブ
-はハードウェアデータ圧縮機能があります.
- <p>データ転送レートはドライブのモデルによります.
- "SONY SDT-5000 327M" でデータ圧縮を行った場合のレートは 630kB/s
-です. "SONY SDT-5000 3.02"では 225kB/sです.
- <p>Kenneth Merry ken@ulc199.residence.gatech.eduの報告によれば
-このドライブからデータを読むためには, ブロックサイズを 512バイトにしま
-す (<tt>mt blocksize 512</tt>).
- <p>"SONY SDT-5000 327M" の情報は Charles Henrich
- henrich@msu.edu による報告です.
- <p>報告者: &a.jmz;
-
- <sect3><heading><label id="hw:storage:tandberg3600">
-Tandberg TDC 3600</heading>
- <p>このドライブのブートメッセージの識別子は
-"TANDBERG TDC 3600 =08:" "type 1 removable SCSI 2"です.
- <p>このドライブはQIC テープドライブです.
- <p>標準容量は150/250MBです.
- <p>このドライブには奇妙な癖があることが知られていますが,
- SCSIテープドライバ (<tt>st(4)</tt>) には問題なく動くコードが含まれてい
-ます. 問題の修整とSCSI 2へのコンパチビリティを得るためにファームウェ
-アをある (具体的には不明の) バージョンより上にしてください.
- <p>データ転送レートは80kB/sです.
- <p>IBMと Emerald製品のユニットは動かないでしょう.
-問題を解決するためにファームウェア EPROMを交換してください.
- <p>報告者: Michael Smith msmith@atrad.adelaide.edu.au
-
- <sect3><heading><label id="hw:storage:tandberg3620">
-Tandberg TDC 3620</heading>
- <p>これは<ref
- id="hw:storage:tandberg3600" name="Tandberg TDC 3600">ドライ
-ブに非常によく似ています.
- <p>報告者: &a.joerg;
-
- <sect3><heading><label id="hw:storage:tandberg4222">
-Tandberg TDC 4222</heading>
- <p>このドライブのブートメッセージの識別子は
-"TANDBERG TDC 4222 =07" "type 1 removable SCSI 2"です.
- <p>これは QICテープドライブです.
- <p>標準容量は2.5GBです. このドライブは 60M (DC600A) 以上のすべての
-カートリッジを読むことができ, 150MB (DC6150) 以上のすべてのカートリッジを
-読み書きできます. ハードウェア圧縮は 2.5GBカートリッジを使用した時のオプションとしてサポートされています.
- <p>このドライブには奇妙な癖がありますが, FreeBSDの2.2-current以降の
-SCSIテープデバイスドライバ (<tt>st(4)</tt>) には対応が組み込まれています.
-それ以前のバージョンの FreeBSDでは<tt>mt</tt>を用いてテープから1ブロッ
-ク読み, テープを巻戻してからバックアッププログラムを実行してください.
-(<tt>mt fsr 1; mt rewind; dump ...</tt>).
- <p>データ転送レートは 600kB/s (データ圧縮時のベンダによる公称)
- で, start/stop モードでも 350kB/s にはなります. 容量の小さいカー
- トリッジを使った場合にはレートは下がります.
- <p>報告者: &a.joerg;
-
- <sect3><heading><label id="hw:storage:wangtek5525es">
-Wangtek 5525ES</heading>
- <p>このドライブのブートメッセージの識別子は "WANGTEK
-5525ES SCSI REV7 3R1" "type 1 removable SCSI 1" "density code 0x11, 1024-byte
-blocks"です.
- <p>これは QICテープドライブです.
- <p>標準容量は 525MBです.
- <p>データ転送レートは 180kB/sです.
- <p>60, 120, 150, 525MB のテープを読むことができます.
-60MB (DC600カートリッジ) には書き込むことはできません. 120および150テー
-プに確実に上書きするには, 先にテープを消去 (<tt>mt erase</tt>) します.
-120および 150のテープは 525MBのテープより幅の広いトラックを使用してい
-ます(テープ当たりのトラック数は少なくなります).
-トラックの幅の「外側」には上書きされませんので, テープが消去されない限り
-両側に古いデータが残ったまま新しいデータが置かれることになります.
- <p>このドライブの奇妙な癖は知られていて, SCSIテープドライバ
- (<tt>st(4)</tt>) に組み込まれています.
- <p>他のファームウェアのリビジョンで動くことが確認されているも
- のは M75Dです.
-
- <p>報告者: Marc van Kempen marc@bowtie.nl "REV73R1"
- Andrew Gordon Andrew.Gordon@net-tel.co.uk "M75D"
-
- <sect3><heading><label id="hw:storage:wangtek6200">
-Wangtek 6200</heading>
- <p>このドライブのブートメッセージの識別子は "WANGTEK
-6200-HS 4B18" "type 1 removable SCSI 2" "Sequential-Access density
-code 0x13"です.
- <p>これは DDS-1テープドライブです.
- <p>90mテープを使用した場合の標準容量は 2GBです.
- <p>データ転送レートは 150kB/sです.
- <p>報告者: Tony Kimball alk@Think.COM
-
- <sect2><heading>* 問題のあるドライブ </heading>
-
-<sect1><heading>* CD-ROM ドライブ</heading>
-<sect1><heading>* その他</heading>
-
-<sect1><heading>* ディスクの追加と再設定</heading>
-<sect1><heading> テープとバックアップ<label id="hw:storage:tapebackups"></heading>
- <sect2><heading>* フロッピーへのバックアップはいかが?</heading>
- <sect2><heading> テープメディア</heading>
- <sect3><heading><label id="hw:storage:tapebackups:4mm">
- 4mm (DDS: Digital Data Storage)</heading>
-<!--gen-->
- <p>4mm テープはワークステーションのバックアップメディアとして
-QICから置き換えられつつあります. この流れは QICドライブの製造のリーダ
-であった Archiveを Connerが買収し QICドライブの製造を中止したことで加
-速しました. 4mmドライブは小型で静かですが
-8mmドライブの持っているような信頼性の評判はありません.
-カートリッジは 8mmカートリッジよりも安価で小型 (3 x 2 x 0.5 インチ
-; 76 x 51 x 12 mm) です. 4mmドライブ は 8mm同様にヘリカルスキャン (訳
-注: VTRと同様の回転ヘッドを使う方式) を使用しているという理由でヘッド
-の寿命は短いです.
-
-<!--spec-->
- <p>これらのドライブのデータスループットは 150kB/s程度から
-500kB/s程度の範囲です. データ容量は 1.3GBから 2.0GBです. ハードウェア
-圧縮が多くのドライブで可能で, およそ 2倍の容量になります. マルチドライ
-ブテープライブラリユニットは1つの筐体に 6ドライブを持つことができ自動的
-にテープを交換します. ライブラリの容量は 240GBに達します.
-
-<!--tech-->
- <p> 4mmドライブは 8mmドライブ同様にヘリカルスキャンを使います.
-ヘリカルスキャンの利点と欠点は 4mmドライブ と 8mmドライブ共通です.
-
- <p>テープの寿命は 2000回のパスあるいは 100回のフルパックアップ
-です.
-
- <sect3><heading><label id="hw:storage:tapebackups:8mm">
-8mm (Exabyte)</heading>
-
-<!--gen-->
- <p>8mmテープは SCSIテープドライブとして最もよく使われているもの
-で, データ交換用として最良の選択です. ほとんどのサイトには Exabyteの
-2GB 8mmテープドライブがあるでしょう (訳注: Unixワークステーションを何
-台も置いているようなサイトには1台くらいはあるというような意味です).
-8mmドライブは信頼性が高く, 使いやすく, 静かです. カートリッジは安価で
-小型です (4.8 x3.3 x 0.6 インチ; 122 x 84 x 15 mm). ひとつの欠点は
-, テープとヘッドの相対的な速度が高速なために比較的ヘッドとテープの寿命
-が短いことです.
-
-<!--spec-->
- <p>データスループットは 250kB/s程度から 500kB/s程度の範囲です.
-データ容量は 300MBから 7GBです. ハードウェア圧縮が多くのドライブで可
-能で,およそ 2倍の容量になります. 単一のユニットおよび,1つの筐体に6台の
-ドライブと 120巻のテープを持ったマルチドライブテープライブラリが利用可
-能です. テープはユニットにより自動的に交換されます. ライブラリの容量は
-840GB以上に達します.
-
-<!--tech-->
- <p>データはヘッドがメディアに対してある傾き (約6度) を持って配置
-されているヘッドによるヘリカルスキャンを使ってテープに記録されます. テープは
-ヘッドのある円筒の周の 270度にわたって接触します. テープが円筒面を走行
-する間, 円筒は回転しています. この結果, トラックはテープの上端と下端の間に
-角度を持って横切り, データは高密度に詰められることになります.
-
- <sect3><heading><label id="hw:storage:tapebackups:qic">
-QIC</heading>
-<!--gen-->
- <p>QIC-150テープとドライブはたぶん最も一般的に使われているドライブとメ
-ディアでしょう。QICテープドライブは現実的なバックアップドライブとして
-少なくとも高価なものではありません. 欠点はメディアのコストです. QICテー
-プは 8mmや 4mmテープに比較して GBのデータの保存には5倍ほど高価です.
-しかしあなたの必要とする量が半ダース程のテープで十分であれば, QICは正
-しい選択となるかもしれません. QICは <em>最も</em>一般的なテープドライ
-ブです. すべてのサイトに QICドライブのどれかの容量のものがあります.
-問題は, QICは同じようなテープ (まったく同じ場合もある) に多様な記録密度
-があることです. QICドライブは静かではありません. これらのドライブはデー
-タ記録を開始する前に音をたててシークしますし, リード, ライト, シークの
-時にはっきりと聞こえる音を出します.
- QICテープの大きさは (6 x 4 x 0.7 インチ;
-152 x 102 x 17 mm). <ref id="hw:storage:tapebackups:mini"
-name="ミニカートリッジ"> で使われている 1/4インチ幅のテープについては別に
-議論します. テープライブラリやチェンジャはありません.
-
-<!--spec-->
- <p>データスループットは 150kB/sから 500kB/sの範囲です. データ容量
-の範囲は 40MBから 15GBです. ハードウェア圧縮が最近の多くのドライブで使
-えるようになっています. QICドライブは DATドライブに置き換えられつつあ
-り,あまり多くインストールされなくなっています.
-
-<!--tech-->
- <p>データは複数のトラックにわかれてテープに記録されます.
-トラックはテープメディアの長さ方向に沿っていて, 一端からもう一方の端ま
-でです. トラックの
-数とそれにしたがうトラックの幅はテープの容量によって変わります. すべてではあ
-りませんがほとんどの最近のドライブは少なくとも読み出しについては (場合
-によっては書き込みも) 下位互換性があります. QICはデータの安全性につ
-いてはよいといわれています (ヘリカルスキャンドライブに比べて機構は単純
-でより丈夫です).
-
- <p>テープは 5000回のバックアップで寿命となるでしょう.
-
- <sect3><heading><label id="hw:storage:tapebackups:mini">
-* ミニカートリッジ</heading>
-
- <sect3><heading><label id="hw:storage:tapebackups:dlt">
-DLT</heading>
-<!--gen-->
- <p>DLTはここに示したドライブのタイプの中で最高速のデータ転送レー
-トです. 1/2インチ (12.5mm) テープが単リールのカートリッジ (4 x 4 x 1 イン
-チ; 100 x 100 x 25 mm) に入っています. カートリッジのひとつの側面全体が
-スイングゲートになっています. ドライブの機構がこのゲートを開け, テープ
-リーダを引き出します. テープリーダには楕円形の穴があり, ドライブ
-がテープを引っ掛けるのに使います. 巻き取りのためのリールはドライブの中
-にあります. ここに挙げた他のカートリッジはすべて (9トラックテープはただ
-1つの例外です) 送りだしリールと巻き取りリールの両方がカートリッジの中
-にあります.
-
-<!--spec-->
- データスループットは約1.5MB/sで, 4mm, 8mm, QIC テープドライブ
-の3倍です. データ容量は単一のドライブで 10GBから 20GBの範囲です.
-マルチテープチェンジャ,マルチテープドライブ,5から 900巻のテープを1から
-20ドライブで扱うマルチドライブテープライブラリがあり, 50GBから 9TBの容量が得
-られます.
-
-<!--tech-->
- データは (QICテープのように) テープの走行方向に並列なトラックに
-記録されます. 2つのトラックが同時に書かれます. Read/Writeヘッドの寿命
-は比較的長いと言えます. テープの走行が止まればヘッドとテープの間の相対
-運動はありません.
-
- <sect2><heading> 新品のテープを最初に使う場合</heading>
- <p>新品の完全な空テープを読もうとしたり書き込もうとすると処理
-は失敗するでしょう. 次のようなコンソールメッセージが出るでしょう.
-<tscreen><verb>
- st0(ncr1:4:0): NOT READY asc:4,1
- st0(ncr1:4:0): Logical unit is in process of becoming ready
-</verb></tscreen>
-
-テープに識別ブロック (Identifire Block:block number 0) がありません.
-QIC-525標準の採用されている QICテープドライブのすべてで識別ブロックをテー
-プに書きます. 2つの解決方法があります.
-
- <p>(訳注: 方法1)<tt>mt fsf 1</tt> によってテープドライブは識別
- ブロックをテープに書きます.
-
- <p>(訳注: 方法2)フロントパネルのボタンを押してテープをとりだします.
- <p>再びテープを入れ,データをテープに <tt>dump(8)</tt>します.
- <p><tt>dump(8)</tt> はそのうちに <tt>DUMP: End of tape
-detected</tt> と表示し, コンソールには <tt>HARDWARE FAILURE
-info:280 asc:80,96</tt>と表示されるでしょう.
- <p> <tt>mt rewind</tt>を使ってテープを巻戻します.
- <p>この次からはテープの操作は成功するでしょう.
-
- <sect2><heading>バックアッププログラム</heading>
- <p>よく使われる3つのプログラムは<tt>dump(8)</tt>,
-<tt>tar(1)</tt>, <tt>cpio(1)</tt>です.
-
- <sect3><heading> ダンプとリストア</heading>
-<!--gen-->
- <p><tt>dump(8)</tt> と <tt>restore(8)</tt> は伝統的な Unixのバッ
-クアッププログラムです. これらはドライブのファイルシステムによって作ら
-れたファイル,リンク,ディレクトリをディスクブロックの集まりとして処理し
-ます. <tt>dump(8)</tt>はデバイスやファイルシステム全体をバックアップし,
-一部分のバックアップや, <tt>ln(1)</tt>によるソフトリンクや他のファイル
-システムをマウントを行った, 1つ以上のファイルシステムにまたがるディレ
-クトリツリーのバックアップはできません.
-<tt>dump(8)</tt>はファイルやディレクトリを構成するデータブロックをテー
-プに書くだけで, ファイルやディレクトリをテープに書くことはありません.
-<tt>dump(8)</tt>には初期の ATT UNIXのバージョン 6 (1975年ごろ) に由来する
-癖が残っています. デフォルトのパラメタは 9トラックテープ (6250 bpi) に
-適したものになっていて現在の高密度メディア (最大 62,182 ftpi) に適してい
-ません. 現在のテープドライブの容量を有効に利用するため, デフォルト値を
-コマンドラインで置き換えなければなりません.
-
- <p><tt>rdump(8)</tt> と <tt>rrestore(8)</tt> は他のコンピュー
-タに接続されているテープドライブにネットワーク経由でバックアップをしま
-す.どちらのプログラムもリモートテープドライブにアクセスするために
-<tt>rcmd(3)</tt>と <tt>ruserok(3)</tt>に依存しています. このためユーザ
-がバックアップを実行するためには <tt>rhosts</tt>によるリモートアクセス
-が必要です. <p><tt>rdump(8)</tt> と <tt>rrestore(8)</tt>の引数はリモー
-トコンピュータに適切なものを用います.
-
-<tt>rrestore(8)</tt>はリモートコンピュータから使うのに適しています.
-(例えば FreeBSDコンピュータより komodoという名前の Sunに接続されている
-Exabyteテープドライブへ
-<tt>/sbin/rdump
-0dsbfu 54000 13000 126 komodo:/dev/nrst8 /dev/rsd0a 2>&amp;1</tt>
-として <tt>rdump</tt>したような場合の restoreに使います)
-警告: セキュリティは <tt>rhosts</tt>の管理にかかっています.
-あなたの状況を注意深く調べてください.
-
- <sect3><heading> Tar</heading>
-<!--gen-->
- <p><tt>tar(1)</tt> ATT Unix のバージョン 6 (1975ごろ) にさかのぼ
-る事ができます. <tt>tar(1)</tt>はファイルシステムと協調して機能し, ファ
-イルやディレクトリをテープに書きます. <tt>tar(1)</tt>は
-<tt>cpio(1)</tt>で使えるようなフルレンジのオプションは持ちませんが
-<tt>cpio(1)</tt>で使うような奇妙なコマンドパイプラインは必要ありません.
-
- <p><tt>tar(1)</tt> はネットワーク経由のバックアップの機能はあ
-りません. リモートテープドライブにはパイプラインと <tt>rsh(1)</tt>を使っ
-て送る事ができます. (コマンド使用例はまだです)
-
- <sect3><heading> Cpio</heading>
-<!--gen-->
- <p><tt>cpio(1)</tt> は本来の Unixファイルを磁気メディアへ移すた
-めのプログラムです. <tt>cpio(1)</tt>はバイトスワッピング, 多くの異な
-るアーカイブフォーマットの書き込みのオプション(それ以外にも多数のオプ
-ションがあります)がありパイプで他のプログラムにデータを渡す事もできま
-す. この最後に挙げた特徴により, <tt>cpio(1)</tt>はインストールメディア
-にとっては優れた選択です. <tt>cpio(1)</tt>は<tt>STDIN</tt>からの入力で
-なければならず,ディレクトリツリーの探索やファイルリストについての機能
-はありません.
- <p><tt>cpio(1)</tt>はネットワーク経由のバックアップの機能はあ
-りません. リモートテープドライブにはパイプラインと <tt>rsh(1)</tt>を使っ
-て送る事ができます. (コマンド使用例はまだです)
-
- <sect3><heading><label id="hw:storage:amanda"><htmlurl
-url="http://www.freebsd.org/ports/misc.html#amanda-2.2.6.5"
-name="Amanda"></heading>
- <p>Amanda (Advanced Maryland Network Disk Archiver) は単一のプ
-ログラムではなくクライアント/サーバ型のバックアップシステムです. Amanda サー
-バは, Amandaクライアントであるネットワークでサーバに接続された複数のコン
-ピュータから一つのテープドライブへバックアップをおこないます.
-このような場合の一般的な問題はいくつもの大容量のディスクからデータディ
-レクトリをテープにバックアップするには時間がかかりすぎてしまうという事
-です. Amanda はこの問題を解決します. Amandaは同時に複数のファイルシス
-テムのバックアップをおこなう時に 「ホールディングディスク」を使う事ができます.
-Amandaの設定ファイルに書いたすべてのファイルシステムのフルバックアップを
-ある間隔でとるためのテープグループである 「アーカイブセット」を作ります.
-これは Amandaの設定ファイルに書かれているすべてのファイルシステムが, ある
-期間で作られるフルバックアップのテープのグループです. 「アーカイブセッ
-ト」には夜間に作られるすべてのファイルシステムの増分 (あるいは差分として
-) のバックアップも含みます. 障害の起きたファイルシステムの回復に
-は最も新しいフルバックアップと増分のバックアップが必要です.
-
- <p>設定ファイルでバックアップのコントロールと Amandaによるネッ
-トワークトラフィック量を設定します. Amandaはデータをテープに書くのに
-バックアッププログラムのどれかを使うでしょう. Amandaはその一部分でも
-パッケージでも利用可能ですが, デフォルトではインストールされません.
-
- <sect3><heading>何もしない</heading>
- <p>「何もしない」というのはコンピュータのプログラムではありませ
-んが, バックアップの戦略として最も広く採用されている物です. これには初
-期投資が必要ありません. したがわなければならないバックアップスケジュールも
-ありません. ただ何もしないだけです. もしデータに何かが起きたら, 苦笑い
-して耐えてください.
-
- <p>あなたにとって時間やデータの価値が少ないかあるいはまったくない
-のであれば「何もしない」のはあなたのコンピュータに最も適したバックアッ
-ププログラムでしょう. しかし注意してください. Unixは便利なツールです.
-6ヶ月も使っていれば価値のあるファイルの山ができ上がっているでしょう.
-
- <p>「何もしない」は <tt>/usr/obj</tt> やその他の, コンピュータに
-よってつくり出されたディレクトリツリーについては適切な方法です. 一つの
-例はこのハンドブックのファイルで, これらは <tt>SGML</tt>のファイルより
-生成された物です. <tt>HTML</tt>ファイルのバックアップを作る必要はあ
-りません. <tt>SGML</tt>のソースファイルは定期的にバックアップされます.
-
- <sect3><heading>どのバックアッププログラムが最適でしょう?</heading>
- <p><em>定期的に </em><tt>dump(8)</tt>しましょう. Elizabeth
-D. Zwicky はここで検討したプログラムすべてについて拷問的なテストをおこないま
-した. すべてのデータと Unixファイルシステムの状態すべてを保存するには明ら
-かに <tt>dump(8)</tt>でしょう. Elizabethは大きく変化に富んだ異常な状態
-(いくつかはあまり異常でもない状態のものもあります) になっているファイ
-ルシステムで, それぞれのプログラムでファイルシステムのバックアップとリ
-ストアを行ってテストしました. 特色のある状態には, ホールを持つファイル,
-ホールとヌルブロックを持つファイル, 奇妙な文字をファイル名に持つファイ
-ル, 読み出し不可, 書き込み不可のファイル, デバイスファイル, バックアッ
-プ中にファイルのサイズを変更する, バックアップ中にファイルの作成/削除
-をおこなうなどがあります. 彼女は1991年10月の LISA Vで結果の発表をしていま
-す.
-
- <sect2><heading>緊急時のリストア手順</heading>
- <sect3><heading> 災難の起きる前に</heading>
- <p>起き得るどのような災難に対しても以下の4ステップだけが必要な
-準備です.
-
- <p>ステップ 1では, ファイルシステムテーブル(<tt>/etc/fstab</tt>)
-やブートメッセージで示されるすべてのディスクの disklabelをそれぞれ2コピー
-づつプリント (<tt>例えば disklabel sd0 | lpr とする</tt>) します.
-
- <p>ステップ 2では, boot と fixitフロッピーにそのシステムのすべ
-てのデバイスドライバが含まれているか確認します. 最も簡単な確認の方法は, フロッ
-ピーをドライブに入れてリブートし, ブートメッセージを確認することです. あなた
-のシステムのデバイスがすべて含まれ, 機能していれば, step 3へ飛んでください.
-
- <p>そうでないなら, そのシステムのすべてのディスクをマウントでき,
-テープドライブにもアクセスできる 2種類のカスタムブートフロッピーディスクを作る必要
-があります. これらのフロッピーには <tt>fdisk(8)</tt>,
-<tt>disklabel(8)</tt>, <tt>newfs(8)</tt>, <tt>mount(8)</tt>, と利用したい
-バックアッププログラムが入っていなければなりません. これらのプログラム
-はスタティックリンクされたプログラムである必要があります.
-<tt>dump(8)</tt>を使うのであればフロッピーに <tt>restore(8)</tt>を入れ
-る必要があります.
-
- <p>ステップ 3では, 通常の方法でバックアップを作ります.
-最新のバックアップの後でおこなわれた変更は回復することはできません.
-バックアップテープにライトプロテクトをしてください.
-
- <p>ステップ 4では, フロッピー (boot.flp と fixit.flp あるいは
-ステップ 2で作った2枚のカスタムブートフロッピーディスクです) とバックアップテー
-プのテストをします.
- 手順のノートを作りましょう. このノートはブートフロッピーディスク,バックアッ
-プテープに入れておきプリントアウトしておきます. あなたがリストアをおこなう
-ような時はおそらく錯乱状態でしょうからこのノートはバックアップを破壊し
-てしまうようなことを防ぐのに役立つでしょう (どのようにして破壊するって?
-<tt>tar xvf /dev/rst0</tt>とする替りに偶然 <tt>tar cvf /dev/rst0</tt>
-とタイプしてバックアップテープに上書きしてしまうかもしれません).
-
-訳注: 上書きはライトプロテクトをしておけば防げますが, なんらかの原因で
-プロテクトがはずれているかもしれません.
-ちなみに訳者の経験から言えば上のようなミスタイプは結構起きます.
-
- <p>安全性を増すために, 毎回ブートフロッピーディスクを作り,2巻のバック
-アップテープを取ります. 一方を離れた場所に保管します. 離れた場所は同じ
-建物の地下室ではいけません. 世界貿易センタービルにあった数多くの会社は
-苦い経験よりこの教訓を得ました. 離れた場所とはコンピュータやディスク
-ドライブからかなり離れていて物理的に分離されていなければなりません.
-
- <p>ブートフロッピーディスクを作るスクリプトの一例
-<tscreen><verb>
- #!/bin/sh
- #
- # create a restore floppy リストアフロッピーの作成
- #
- # format the floppy フロッピーのフォーマット
- #
- PATH=/bin:/sbin:/usr/sbin:/usr/bin
-
- fdformat -q fd0
- if [ $? -ne 0 ]
- then
- echo "Bad floppy, please use a new one"
- exit 1
- fi
-
- # place boot blocks on the floppy フロッピーにブートブロックを書く
- #
- disklabel -w -B -b /usr/mdec/fdboot -s /usr/mdec/bootfd /dev/rfd0c fd1440
-
- #
- # newfs the one and only partition ただ1つのパーティションを newfs
- #
- newfs -t 2 -u 18 -l 1 -c 40 -i 5120 -m 5 -o space /dev/rfd0a
-
- #
- # mount the new floppy 新しいフロッピーをマウント
- #
- mount /dev/fd0a /mnt
-
- #
- # create required directories 必要なディレクトリの作成
- #
- mkdir /mnt/dev
- mkdir /mnt/bin
- mkdir /mnt/sbin
- mkdir /mnt/etc
- mkdir /mnt/root
- mkdir /mnt/mnt # for the root partition
- mkdir /mnt/tmp
- mkdir /mnt/var
-
- #
- # populate the directories
- #
- # MINIカーネルがない場合は作ります
- if [ ! -x /sys/compile/MINI/kernel ]
- then
- cat << EOM
- The MINI kernel does not exist, please create one.
- Here is an example config file:
- # MINIカーネルの config fileの例
- # MINI -- A kernel to get FreeBSD on onto a disk.
- #
- machine "i386"
- cpu "I486_CPU"
- ident MINI
- maxusers 5
-
- options INET # needed for _tcp _icmpstat _ip
-stat
- # _udpstat _tcpstat _udb
- options FFS #Berkeley Fast File System
- options FAT_CURSOR #block cursor in syscons or pcc
-ons
- options SCSI_DELAY=15 #Be pessimistic about Joe SCSI
-device
- options NCONS=2 #1 virtual consoles
- options USERCONFIG #Allow user configuration with
--c XXX
-
- config kernel root on sd0 swap on sd0 and sd1 dumps on sd0
-
- controller isa0
- controller pci0
-
- controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
- disk fd0 at fdc0 drive 0
-
- controller ncr0
-
- controller scbus0
-
- device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
- device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
-
- device sd0
- device sd1
- device sd2
-
- device st0
-
- pseudo-device loop # required by INET
- pseudo-device gzip # Exec gzipped a.out's
- EOM
- exit 1
- fi
-
- cp -f /sys/compile/MINI/kernel /mnt
-
- gzip -c -best /sbin/init > /mnt/sbin/init
- gzip -c -best /sbin/fsck > /mnt/sbin/fsck
- gzip -c -best /sbin/mount > /mnt/sbin/mount
- gzip -c -best /sbin/halt > /mnt/sbin/halt
- gzip -c -best /sbin/restore > /mnt/sbin/restore
-
- gzip -c -best /bin/sh > /mnt/bin/sh
- gzip -c -best /bin/sync > /mnt/bin/sync
-
- cp /root/.profile /mnt/root
-
- cp -f /dev/MAKEDEV /mnt/dev
- chmod 755 /mnt/dev/MAKEDEV
-
- chmod 500 /mnt/sbin/init
- chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
- chmod 555 /mnt/bin/sh /mnt/bin/sync
- chmod 6555 /mnt/sbin/restore
-
- #
- # create the devices nodes デバイスノードを作る
- #
- cd /mnt/dev
- ./MAKEDEV std
- ./MAKEDEV sd0
- ./MAKEDEV sd1
- ./MAKEDEV sd2
- ./MAKEDEV st0
- ./MAKEDEV pty0
- cd /
-
- #
- # create minimum filesystem table 最小限のファイルシステムテーブル
- #
- cat > /mnt/etc/fstab <<EOM
- /dev/fd0a / ufs rw 1 1
- EOM
-
- #
- # create minimum passwd file 最小限のパスワードファイル
- #
- cat > /mnt/etc/passwd <<EOM
- root:*:0:0:Charlie &:/root:/bin/sh
- EOM
-
- cat > /mnt/etc/master.passwd <<EOM
- root::0:0::0:0:Charlie &:/root:/bin/sh
- EOM
-
- chmod 600 /mnt/etc/master.passwd
- chmod 644 /mnt/etc/passwd
- /usr/sbin/pwd_mkdb -d/mnt/etc /mnt/etc/master.passwd
-
- #
- # umount the floppy and inform the user フロッピーを unmount
- #
- /sbin/umount /mnt
-</verb></tscreen>
-
- <sect3><heading>災難の後に</heading>
- <p>重要な問題は, ハードウェアが生き残ったかどうかです.
-定期的なバックアップを取っていればソフトウェアについて心配する必要はあ
-りません.
-
- <p>ハードウェアがダメージを受けていたら, 最初にそのダメージを
-受けた部品を交換してください.
-
- <p>ハードウェアに問題がなければ, フロッピーをチェックしてくださ
-い.カスタムブートフロッピーディスクを使っているのであればシングルユーザ
-("boot:"プロンプトの出た時に "-s" とタイプしてください) でブートしてくださ
-い. それから次の「ファイルシステムを1つずつ回復する」を読んでください。
-
- <p>boot.flp と fixit.flp を使っているのであればこのまま読み続けてくださ
-い. boot.flp を入れてブートしてください. 本来のインストールメニューが表
-示されるはずです. (ここで) "fixit XXX"オプションを選びます. 指示の通り
-fixit.flp を入れてください. <tt>restore</tt>とその他の必要なプログラムは
-<tt>/mnt2/stand</tt>に置かれています.
-
- <p>ファイルシステムを一つずつ回復する
-
- <p>最初のディスクのrootパーティションを<tt>mount(8) (例えば mount
-/dev/sd0a /mntのように) </tt>マウントして見てください. ディスクラベルが
-破壊されている場合は <tt>disklabel(8)</tt>を使ってあらかじめプリントし
-ておいた通りにパーティションを作り直しラベルをつけてセーブしてください.
-<tt>newfs(8)</tt>を使いファイルシステムを作り直します. ルー
-トパーティションを読み書き可能にマウント ("<tt>mount -u -o rw
-/mnt</tt>") しなおします. バックアッププログラムとバックアップテープを
-使ってこのファイルシステムのデータを回復します (例えば <tt>restore vrf
-/dev/st0</tt>とします). ファイルシステムをアンマウント (<tt>umount
-/mnt</tt>など) して, 障害を受けたファイルシステムそれぞれについて繰り返
-してください.
-
- <p>システムが動き出したら, 新しいテープにデータをバックアップ
-してください. どのような理由で再び事故が起きたりデータが失われるかはわか
-りません. これに時間を費す事で, 後々の災難から救われる事になります.
-
- <sect3><heading>* 災難対策をしていませんでした. どうしたらいいでしょ
-う?</heading>
-<sect1><heading>* シリアルポート</heading>
-<sect1><heading>* サウンドカード</heading>
-<sect1><heading>* PCMCIA</heading>
-<sect1><heading>* その他<label id="hw:other"></heading>
diff --git a/share/doc/ja_JP.EUC/handbook/install.sgml b/share/doc/ja_JP.EUC/handbook/install.sgml
deleted file mode 100644
index cbbfa0a..0000000
--- a/share/doc/ja_JP.EUC/handbook/install.sgml
+++ /dev/null
@@ -1,846 +0,0 @@
-<!-- $Id: install.sgml,v 1.14 1997/04/01 02:38:01 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.53 -->
-
-<!--
-<!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'>
--->
-<chapt><heading>FreeBSDのインストール<label id="install"></heading>
-
-<p><em>原作: 不明</em>
-
-<p><em>訳: &a.mita;, <newline>&a.hanai;, <newline>&a.iwasaki;.
-<newline>26 January 1997.</em>
-
- <p>それでは, FreeBSD のインストールに挑戦してみましょう.
- この章には, あなたが何をする必要があるかの簡単なガイドが
- 書いてあります. FreeBSD は, CD-ROM, フロッピーディスク, 磁気テープ,
- MS-DOSのパーティション, ネットワーク接続しているところでは
- anonymous FTP や NFS を通じてインストールすることができます.
-
- どのインストールメディアを利用する場合も, まず<bf>インストールディスク</bf>
- をダウンロードするところから始まります. このディスクであなたの
- コンピュータを立ち上げることで, FreeBSD とあなたのハードウェアとの
- 相性に関する重要な情報を手に入れることができ, このハードウェアでは
- どんなインストールオプションが使えるかを指定することができます.
- もしもあなたが anonymous FTP を使用してインストールする予定なら,
- インストールディスクだけをダウンロードすればOKです.
-
- FreeBSDの配布に関する情報は, 付録の <ref id="mirrors" name="FreeBSD の入手方法">
- をご覧ください.
-
- 仕事にとりかかるには, 以下のような手順を踏みます.
- <enum>
-
- <item>このインストールガイドの <ref id="install:hw"
- name="サポートされている設定一覧"> の節を読んで, あなたのハードウェアが
- FreeBSD でサポートされていることを確認します. SCSI コントローラだとか,
- イーサネットアダプタだとか, サウンドカードだとかの, あなたのマシンが
- 装備している特別なカードのリストを作っておくと便利です. この
- リストには, 割り込み番号 (IRQ) とか, IO ポートのアドレスとかの, カードに
- 関係する設定も書いておきましょう.<P></P></item>
- <item><url
- url="ftp://ftp.freebsd.org/pub/FreeBSD/&rel.current;-RELEASE/floppies/boot.flp"
- name="ブートディスクのイメージ"> ファイルをあなたの
- ハードディスクにダウンロードしてきます. ブラウザのコマンドでは,
- <em>display</em> ではなくて <em>save</em> を選ぶことに注意してください.
-
- <bf>注意:</bf> このディスクイメージは, 1.44 メガバイトの 3.5 インチフロッピーディスクのみで使用可能です.<P></P></item>
-
- <item>このイメージファイルからブートディスクを作成します,
- <itemize>
- <item>MS-DOSを使っている場合:
- <url
-url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/tools/fdimage.exe"
- name="fdimage.exe"> をダウンロードして, これを実行します.
-<tscreen><verb>
-E:\> tools\fdimage floppies\boot.flp a:
-</verb></tscreen>
-このプログラムは, A: ドライブをフォーマットした後 boot.flp の内容を書き込みます
-(ここでは FreeBSD の配布物のトップレベルディレクトリにおり, フロッピーイメージ
-は floppies ディレクトリにあると仮定しています).<P></P></item>
-
- <item>UNIX システムを使っている場合:
-<tscreen>
-% dd if=boot.flp of=<em>disk&lowbar;device</em>
-</tscreen>
-を実行します. ここで, <em>disk&lowbar;device</em> はフロッピードライブに
-対応する <tt>/dev</tt>の中のエントリです. FreeBSD では,
-<tt>/dev/fd0</tt> が A:ドライブに, <tt>/dev/fd1</tt> が B:ドライブに
-対応しています.<P></P></item>
- </itemize>
- <P></P></item>
-
- <item>インストールディスクを A:ドライブに入れて, コンピュータを
-立ち上げ直します. そうすると次のようなプロンプトが出てくるはずです.
- <tscreen>
-&gt;&gt; FreeBSD BOOT ...<newline>
-Usage: &lsqb;&lsqb;&lsqb;0:&rsqb;&lsqb;wd&rsqb;(0,a)&rsqb;/kernel&rsqb;&lsqb;-abcCdhrsv&rsqb;<newline>
-Use 1:sd(0,a)kernel to boot sd0 if it is BIOS drive 1<newline>
-Use ? for file list or press Enter for defaults<newline>
-Boot:
- </tscreen>
- ここで何もタイプしない場合, 5秒間の待ち時間の後に FreeBSD は
- 自動的にデフォルトの設定で立ち上がります. 立ち上げの際, どんな
- ハードウェアが装備されているかを検出 (プローブ) します. この結果は
- スクリーン上に表示されます.<P></P></item>
-
- <item>立ち上げプロセスが終了したら, FreeBSD インストールメニューが
- 表示されます.
- </item>
- </enum>
-
- <p><bf>もしも問題が起こった場合</bf>
-
- <p>PC アーキテクチャの制限のため, 100パーセントの信頼をもって検出する
- ことは不可能です. もしもあなたのハードウェアが間違って認識されたり,
- 検出途中でコンピュータが固まってしまうようなことが起こった場合,
- まずこのガイドの <ref id="install:hw" name="サポートされている設定一覧">
- の節を読んで, あなたのハードウェアが本当に
- FreeBSD でサポートされているかどうかを確かめてください.
-
- <p>ハードウェアがサポートされていた場合, リセットして
- <tt>Boot:</tt> プロンプトが出てきたところで, <bf>-c</bf> と打ち込んで
- ください. こうすると, FreeBSD はコンフィグレーションモードになり,
- ハードウェアに関する情報を FreeBSD に与えることができるようになります.
- インストールディスクの FreeBSD カーネルは, 多くのデバイスの IRQ,
- IO アドレスが工場出荷時の値に設定されているものと仮定して作られています.
- もしもあなたのハードウェアの設定を変更したなら, <bf> -c</bf>
- オプションで立ち上げて, 設定がどうなっているかを指定してあげること
- が必要になるでしょう.
-
- <p>存在しないデバイスを検出すると, 実際に存在している他のデバイスの
- 検出に失敗することが考えられます. そのような場合は, 衝突している
- デバイスを無効にしなくてはなりません.
-
- <p>コンフィグレーションモードでは,
- <itemize>
- <item>カーネルに組み込まれているデバイスドライバの一覧を表示する</item>
- <item>あなたのシステムにないハードウェアのデバイスドライバを無効にする</item>
- <item>デバイスドライバの IRQ, DRQ, IO ポートアドレスなどの変更する</item>
- </itemize>
- などができます.
- <p> <tt>config&gt;</tt> プロンプトが出ているところで, <tt>help</tt>
- と打ち込むと, 使用可能なコマンドについての詳しい説明が出てきます.
- あなたのマシンのハードウェア設定に合うようにカーネルを変更したら,
- <tt>config&gt;</tt> プロンプトが出たところで <tt>quit</tt> と打ち込んで,
- 新しい設定でマシンを立ち上げます.
-
- FreeBSD のインストールがひとたび終了した後は, コンフィグレーションモード
- での変更はずっと保持されますので, 立ち上げのたびに設定変更をする必要は
- なくなりますが, あなたのシステムの性能を高めるために,
- カスタムカーネルを作るのが好ましいでしょう. カスタムカーネルの作成に関しては,
- <ref id="kernelconfig" name="FreeBSD カーネルのコンフィグレーション">
- の章をご覧ください.
-
- <sect><heading>サポートされている設定一覧<label id="install:hw"></heading>
-
- <p>現在 FreeBSD は, ISA, VL, EISA, PCI バスや, 386SX から Pentium クラス
- までのさまざまな種類の PC で動作します (386SXはおすすめではありません).
- IDE, ESDIドライブや, さまざまな SCSI コントローラ, ネットワークカードや
- シリアルカードにも対応しています.
-
- FreeBSD を走らせるには, 最低 4メガバイトの RAM が必要です. X Window System を
- 走らせるには最低でも 8メガバイトの RAM が推奨されます.
-
- 以下のリストでは, FreeBSD で動作が確認されているディスクコントローラ
- やイーサネットカードです. 他の設定でもうまく動いてくれると
- 思いますが, 私たちのところには情報は入ってきていません.
-
- <sect1><heading>ディスクコントローラ</heading>
-
- <p>
- <itemize>
- <item>WD1003 (あらゆる MFM/RLL)
- <item>WD1007 (あらゆる IDE/ESDI)
- <item>IDE
- <item>ATA
-
- <item>Adaptec 1505 ISA SCSI コントローラ
- <item>Adaptec 152x シリーズ ISA SCSI コントローラ
- <item>Adaptec 1535 ISA SCSI コントローラ
- <item>Adaptec 154x シリーズ ISA SCSI コントローラ
- <item>Adaptec 174x シリーズ EISA SCSI コントローラ
- (スタンダード, エンハンスドモード)
- <item>Adaptec 274x/284x/2940/2940U/3940
- (Narrow/Wide/Twin)
- シリーズ EISA/VLB/PCI SCSI コントローラ
- <item>Adaptec AIC7850 オンボード SCSI コントローラ
- <item>Adaptec
- <!-- AIC-6260 and - 実際のところ動いていません, joerg -->
- AIC-6360系のボード
- AHA-152x や SoundBlaster SCSI などがこれにあたります.
-
- <bf>注意:</bf> Soundblaster カードには, オンボード BIOS
- が載っていないので, このカードからは FreeBSD を起動できません.
- オンボード BIOS とは, システム BIOS の I/O ベクタにブートデバイスを
- 登録するときに必要なものです. このカードは外部テープであるとか,
- CD-ROM であるとかその他の場合には十分利用可能です.
- 同じことは, ブート ROM の載っていない AIC-6x60 系のカードにもいえます.
- いくつかのシステムでは実際にブート ROM を持っています.
- それは電源を入れるかリセットしたとき, 最初に表示されます.
- 詳しくはあなたのシステムやボードの解説書をご覧ください.
-
-
- <item>Buslogic 545S &amp; 545c
- <bf>注意:</bf> Buslogic社は古くは Bustek社といっていました.
- <item>Buslogic 445S/445c VLバス SCSI コントローラ
- <item>Buslogic 742A, 747S, 747c EISA SCSI コントローラ.
- <item>Buslogic 946c PCI SCSI コントローラ
- <item>Buslogic 956c PCI SCSI コントローラ
-
- <item>NCR 53C810 , 53C825 PCI SCSI コントローラ.
- <item>NCR5380/NCR53400 (``ProAudio Spectrum'') SCSI コントローラ.
-
- <item>DTC 3290 EISA SCSI コントローラ (1542 エミュレーション)
-
- <item>UltraStor 14F, 24F, 34F SCSI コントローラ.
-
- <item>Seagate ST01/02 SCSI コントローラ.
-
- <item>Future Domain 8xx/950 シリーズ SCSI コントローラ.
-
- <item>WD7000 SCSI コントローラ.
-
- </itemize>
-
- サポートされている SCSI コントローラのすべてで, ディスク, テープドライブ
- (含む DAT), CD-ROM ドライブなどの周辺機器との通信に SCSI-I,
- SCSI-II が利用可能です.
-
- 現在, 次にあげるタイプの CD-ROM ドライブがサポートされてます.
- <itemize>
- <item>Soundblaster SCSI , ProAudio Spectrum SCSI (<tt>cd</tt>)
- <item>ミツミ (全モデル) 独自のインタフェース (<tt>mcd</tt>)
- <item>松下 / Panasonic (Creative)
- CR-562/CR-563 インタフェース (<tt>matcd</tt>)
- <item>ソニー インタフェース (<tt>scd</tt>)
- <item>ATAPI IDE インタフェース
- (まだまだお試し段階で, クオリティは低いです)
- (<tt>wcd</tt>)
- </itemize>
-
- <sect1><heading>イーサネットカード</heading>
-
- <p>
- <itemize>
-
- <item>Allied-Telesis AT1700, RE2000 カード
-
- <item>SMC Elite 16 WD8013 Ethernet インタフェース,
- その他多くの WD8003E, WD8003EBT, WD8003W, WD8013W,
- WD8003S, WD8003SBT や WD8013EBTなどの互換品.
- SMC Elite Ultra もサポートされています.
-
- <item>DEC EtherWORKS III ネットワークインタフェースカード (DE203, DE204, DE205)
- <item>DEC EtherWORKS II ネットワークインタフェースカード (DE200, DE201, DE202, DE422)
- <item>DEC DC21040/DC21041/DC21140 ベースのネットワークインタフェースカード:
- <itemize>
- <item>ASUS PCI-L101-TB
- <item>Accton ENI1203
- <item>Cogent EM960PCI
- <item>Compex CPXPCI/32C
- <item>D-Link DE-530
- <item>DEC DE435
- <item>Danpex EN-9400P3
- <item>JCIS Condor JC1260
- <item>Linksys EtherPCI
- <item>Mylex LNP101
- <item>SMC EtherPower 10/100 (Model 9332)
- <item>SMC EtherPower (Model 8432)
- <item>SMC EtherPower (2)
- <item>Zynx ZX342
- </itemize>
- <item>DEC FDDI (DEFPA/DEFEA) ネットワークインタフェースカード
-
- <item>富士通 FMV-181, FMV-182
-
- <item>富士通 MB86960A/MB86965A
-
- <item>Intel EtherExpress
-
- <item>Intel EtherExpress Pro/100B 100Mbit.
-
- <item>Isolan AT 4141-0 (16 bit)
- <item>Isolink 4110 (8 bit)
-
- <item>Novell NE1000, NE2000, NE2100 イーサネットインタフェース
-
- <item>3Com 3C501 カード
-
- <item>3Com 3C503 Etherlink II
-
- <item>3Com 3c505 Etherlink/+
-
- <item>3Com 3C507 Etherlink 16/TP
-
- <item>3Com 3C509, 3C579, 3C589 (PCMCIA) Etherlink III
-
- <item>3Com 3C590, 3C595 Etherlink III
-
- <item>HP PC Lan Plus (27247B と 27252A)
-
- <item>東芝 イーサネットカード
-
- <item>IBM , National Semiconductor社 PCMCIA
- イーサネットカードもサポートされています.
- </itemize>
-
- <p><em>注意:</em> FreeBSD は今のところ, いくつかのイーサネットカードの
- PnP (プラグ&amp;プレイ) 機能には対応していません. もし PnP で問題が起こる
- ようでしたら, PnP 機能を無効にしてください.
-
- <sect1><heading>その他のデバイス</heading>
-
-<p>
- <itemize>
- <item> AST 4 ポート シリアルカード (シェアード IRQ 使用)
-
- <item> ARNET 8 ポート シリアルカード (シェアード IRQ 使用)
-
- <item> BOCA IOAT66 6 ポート シリアルカード (シェアード IRQ 使用)
-
- <item> BOCA 2016 16 ポート シリアルカード (シェアード IRQ 使用)
-
- <item> Cyclades Cyclom-y シリアルボード
-
- <item> STB 4 ポート カード (シェアード IRQ 使用)
-
- <item> SDL Communications Riscom/8 シリアルボード
-
- <item> SDL Communications RISCom/N2 と N2pci 同期シリアルカード
-
- <item> Digiboard Sync/570i high-speed 同期シリアルカード
-
- <item>Decision-Computer Intl. "Eight-Serial" 8 ポートシリアルカード
- (シェアード IRQ 使用)
-
- <item> Adlib, SoundBlaster, SoundBlaster Pro,
- ProAudioSpectrum, Gravis UltraSound, Gravis UltraSound MAX
- Roland MPU-401 などのサウンドカード
-
- <item>Matrox Meteor video フレームグラバー
-
- <item>Creative Labs Video spigot フレームグラバー
-
- <item>Omnimedia Talisman フレームグラバー
-
- <item>X-10 power コントローラ
-
- <item>PC ジョイスティックおよびスピーカ
- </itemize>
- FreeBSD は今のところ, IBM社のマイクロチャネルアーキテクチャ (MCA) バスには
- 対応していません.
-
- <sect><heading>インストールの下準備</heading>
-
- <p>FreeBSD のインストール方法はさまざまあります. それぞれの
- インストール方法に対して, どのような下準備が必要かをこれから説明します.
-
- <sect1><heading>CD-ROM からインストールする前に</heading>
-
- <p>あなたの CD-ROM ドライブがサポートされていないタイプの場合は,
- <ref id="install:msdos"
- name="ハードディスクの MS-DOS パーティションからインストールする前に">
- に飛んでください.
- Walnut Creek の FreeBSD CD-ROM からインストールする場合は, 大した下準備
- をしないでもうまくインストールできることでしょう (その他の CD-ROM
- でもうまくいくでしょうが, その CD-ROM がどうやって作られているか, 私たち
- はわかりませんので確実なことは言えません).
- Walnut Creek の CD-ROM に収録されている, ``install.bat'' で直接 FreeBSD
- を立ち上げることもできますし, ``makeflp.bat'' でブートフロッピーディスクを
- つくることもできます. [注意: もし FreeBSD 2.1-RELEASE を使っていて
- IDE CD-ROM ドライブを持っている場合, install.bat のかわりに
- inst&lowbar;ide.bat もしくは atapiflp.bat を使ってください. ]
-
- DOS から最も楽なインタフェースを使いたい場合は ``view'' と打ち込みます.
- そうすると DOS でのメニューが立ち上がって, 可能なオプション
- すべてを選択できます.
-
- あなたが UNIX マシンでブートフロッピーディスクを作成している場合は,
- <ref id="install" name="FreeBSD のインストール"> を参考にしてください.
-
- DOS から, もしくはフロッピーディスクから起動をおこなうと,
- メニュー ``Media'' から, インストールメディアとして CDROM を
- 選択することで, 配布ファイルをロードすることができるようになります.
- 他の種類のインストールメディアは不要なはずです.
-
- システムインストールがすべて終了して, ハードディスクから起動
- しなおしてからは, <tt>mount /cdrom</tt> とタイプする
- ことでいつでも CD-ROM のマウントをすることができるようになります.
-
- CD-ROM を取り出す前には <tt>umount /cdrom</tt> と打ち込まなくてはならない
- ことを覚えておいてください. 単純にドライブから取り出さないように!
-
- <quote><bf>特別な注意:</bf> インストールに入る前に,
- CD-ROM をドライブに入れておいて, インストールフロッピーディスクが立ち上がる
- ときに CD-ROM を見つけられるようにしておくようにしましょう. CD-ROM を
- デフォルトでシステムにつけ加えたい場合も CD-ROM を入れておきます
- (インストールメディアとして実際に CDROM を選択しない場合も同様).
- </quote>
-
- おわりに, あなたのマシンの CD-ROM を直接使って, FTP 経由で別のマシンに
- FreeBSD をインストールさせたいとします. やり方は簡単です.
- あなたのマシンのインストールが終了した後に, vipw コマンドを使って,
- passwd ファイルに以下の行を追加します.
-
-<tscreen><verb>
-ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
-</verb></tscreen>
-
- こうするとあなたのマシンにネットワーク接続できる人 (そして,
- login 許可を持っている人) は, メディアタイプとして FTP を選択できるように
- なります. 具体的には, FTP サイトの選択メニューから ``Other'' を選択して,
- <tt>ftp://<em>あなたのマシンのアドレス</em></tt>
- を入力します.
-
- <sect1><heading>フロッピーディスクからのインストールの前に</heading>
-
- <p>あなたがフロッピーディスクからのインストールをしなくては
- ならない場合, その理由はハードウェアがサポートされてなかったためか,
- 単にいばらの道を通ることを楽しんでいるからでしょうが, インストール用の
- フロッピーディスクを用意する必要があります.
-
- 最低でも bin (基本配布ファイル) ディレクトリ内のすべてのファイル
- を入れられるだけの 1.44 メガバイトか 1.2 メガバイトのフロッピーディスク
- が必要です. これらのフロッピーディスクを DOS で作成している場合は,
- フロッピーディスクは「MS-DOS の FORMAT コマンドでフォーマット」
- されなくてはなりません. Windows をお使いの場合は, Windowsの
- ファイルマネージャの初期化コマンドを使用してください.
-
- 工場での初期化済みディスクを「信用しないでください」. 念のためにあなた
- 自身でフォーマットし直してください. ユーザからのトラブル報告の多くは
- ちゃんと初期化されていないディスクを使用していたことが原因となっています.
- 私が特にフォーマットし直してくださいと述べているのも, この理由からです.
-
- 他の FreeBSD マシンでフロッピーディスクを作成している場合,
- フォーマットすることは悪いことではありません. いちいち DOS
- ファイルシステムのフロッピーディスクを作成する必要はありませんので,
- `disklabel' コマンドと `newfs' コマンドを使って, 次のような手順で
- (3.5 インチ 1.44 メガバイトディスク用の) UFS ファイルシステムを
- 作成することもできます.
-
-<tscreen><verb>
- fdformat -f 1440 fd0.1440
- disklabel -w -r fd0.1440 floppy3
- newfs -t 2 -u 18 -l 1 -i 65536 /dev/rfd0
-
-(5.25 インチの 1.2 メガバイトディスクの場合は "fd0.1200" と "floppy5" にしてください)
-</verb></tscreen>
-
- これで他のファイルシステムと同様に mount して書き込むことができます.
-
- フォーマットされたフロッピーディスクを用意したら, それらにファイル
- をコピーしなくてはなりません. 配布ファイルはいくつかのかたまり
- にわかれていて, これらのかたまり五つで一般的な 1.44 メガバイトの
- フロッピーディスクに収まるようになっています. フロッピーディスクに
- 入るだけファイルを入れていって, 配布ファイルをすべてコピーしてください.
- それぞれの配布ファイルはサブディレクトリにコピーする必要があります. 例えば,
- <bf>a:&bsol;bin&bsol;bin.aa</bf>とか,
- <bf>a:&bsol;bin&bsol;bin.ab</bf>といった感じです.
-
- インストールメディアの選択場面になったら, ``Floppy'' を選択して,
- 残りの指定をやってください.
-
- <sect1><heading>ハードディスクの MS-DOS パーティションからインストールする前に
-<label id="install:msdos"></heading>
-
- <p>
-
- ハードディスクの MS-DOS パーティションからインストールするときは,
- まずファイルを <tt>C:&bsol;FREEBSD</tt> にコピーします.
- CD-ROM にあるディレクトリ構造を反映してコピーしなくてはなりません.
- DOS の <tt>xcopy</tt> コマンドの使用をおすすめします.
-
- 例えば, FreeBSD の最低限のインストールをするには, このような手順で
- コピーします.
-<tscreen><verb>
-C> MD C:\FREEBSD
-C> XCOPY /S E:\BIN C:\FREEBSD\BIN\
-C> XCOPY /S E:\MANPAGES C:\FREEBSD\MANPAGES\
-</verb></tscreen>
-
- ここで, <tt>C:</tt>ドライブには十分なディスクスペースが残っており,
- CD-ROM は <tt> E:</tt>ドライブに接続されているものとします.
-
- MS-DOS からたくさんの `配布ファイル (DISTS)' をインストールしたい
- (そしてディスクの余裕がある) 場合は, それぞれ <tt>C:&bsol;FREEBSD</tt>
- ディレクトリにコピーします - <tt>BIN</tt> 配布ファイルは,
- 最低限必要なものです.
-
- <sect1><heading>QIC/SCSI テープからのインストールの前に</heading>
-
- <p>テープからのインストールは, おそらく FTP を利用したオンライン
- インストールか, CD-ROM を利用したインストールができない場合の,
- もっとも簡単な方法でしょう. インストールプログラムは, 以下のような
- コマンドを使用して, 単純に配布ファイルがテープ上に tar されていることを
- 期待しています.
-
-<tscreen>
-cd /freebsd/distdir<newline>
-tar cvf /dev/rwt0 (または /dev/rst0) dist1 .. dist2
-</tscreen>
-
- インストールに入る前に, テンポラリ (一時使用) ディレクトリに
- 十分なディスクスペースを確保して, 作成したテープの<bf>すべての</bf>
- ファイルを格納できることを確認してください (テンポラリディレクトリは
- 自分で選ぶことができます). テープの特性上, ランダムにアクセスするこ
- とができませんので, 一時的に極めて大量の容量を必要とします.
- テープに準備しただけの量のディスクスペースを一時的に使用することに
- 留意してください.
-
-
- <quote><bf>注意:</bf> インストールに入るときは, ブートフロッピーディスク
- から立ち上げる<bf>前</bf>にテープをドライブに入れておかなくてはなりません.
- さもないとインストール時のデバイス検出のときにテープを見つけられません. </quote>
-
-
-<sect1><heading>ネットワーク経由のインストールの前に</heading>
-
- <p>三つの物理的な接続形態で, ネットワーク経由のインストールを
- おこなうことができます.
- <descrip>
- <tag>シリアルポート</tag> SLIP もしくは PPP 方式.
- <tag>パラレルポート</tag> PLIP (laplink ケーブル使用)
- <tag>イーサネット</tag> 標準的なイーサネットコントローラ
- (いくつかの PCMCIA カードにも対応)
- </descrip>
-
- SLIP のサポートはまだまだ原始的とも呼べる方法なので, ラップトップと
- 他のコンピュータをシリアルケーブルで接続するといった具合いに,
- 直接接続してなくてはいけません. SLIP インストールは, ダイヤル機能を
- 持っていませんので, インストールするためには直接接続しなくてはなりません.
- PPP インストールではダイヤルアップ接続が可能ですので, できれば PPP 接続の
- 方を選択しましょう.
-
- もしもあなたがモデムを使用しているなら, あなたに残された選択肢は
- ほぼ間違いなく PPP インストールでしょう. インストール時に必要になりますので,
- サービスプロバイダ (ISP) に関する情報を用意しておきましょう.
- 少なくともプロバイダと, 可能ならあなたの IP アドレスを知っておかなくては
- なりません (IP アドレスの欄を空白にしておいて, PPP に IP アドレスの
- 割り当て処理をさせてもかまいません). PPP ダイヤルの際は, とても
- シンプルな端末エミュレータで作業することになりますので, お手持ちのモデムで
- ISP にダイヤルするために, ``ATコマンド'' の使い方を知っておく必要があります.
-
- FreeBSD (2.0R 以降) の動いている別のマシンと直接接続が可能でしたら,
- ``laplink'' パラレルポートケーブルで接続することを考えてみましょう.
- パラレルポート経由のデータ転送スピードは, シリアルラインでの
- 一般的なスピード (最高 50kbit/sec) よりもずっと高速ですので,
- 高速にインストールすることができます.
-
- 最後になりますが, ネットワークインストールのうちでもっとも高速なものとしては
- イーサネットアダプタを使用するのがあげられます. FreeBSD ではきわめて多くの
- PC イーサネットカードをサポートしています. サポートされている
- カードの表 (と, 必要な設定) は,
- <ref id="install:hw" name="サポートされている設定一覧"> に書いてあります.
- サポートされている PCMCIA カードを使っている場合には, ラップトップの電源を
- 入れる「前」に差し込んでおくことにも注意してください. 残念ながら今の
- FreeBSD は, インストール時の活線挿抜には対応していません.
-
- ネットワークでの IP アドレス, あなたのアドレスクラスに対応した
- ネットマスク, マシン名を知っておくことも必要です. ネットワーク管理者の方に
- たずねればどんな値を使ったらよいかを教えてくれるでしょう. もしも他のホストを
- IP アドレスではなくて名前で引きたい場合, ネームサーバとゲートウェイ
- のアドレスも知らなくてはなりません (PPP をご使用の場合は, プロバイダの
- IP アドレスになります). これらのうちのすべて, またはいくつかを
- 知らない場合は, イーサネット経由でのインストールを始める前に「まず」
- ネットワーク管理者に相談してください.
-
- 何らかのネットワーク接続ができたら, 続けてインストールを NFS か
- FTP 経由でおこないます.
-
- <sect2><heading>NFS インストールのための下準備</heading>
-
- <p>NFS インストールはまったく単純明解です. FreeBSD の配布ファイルを
- サーバの好きな場所にコピーしておいて, メディア選択で NFS を選択します.
-
- もしサーバが ``privileged (特権) ポート'' へのアクセスのみをサポート
- している場合, (Sun ワークステーションの標準ではこうなっています)
- インストールを進める前に Options メニューを選択して, ``privileged
- port'' オプションを選択してください.
-
- イーサネットカードの性能が悪くて, 転送速度が遅くて困っている場合も,
- 適当な Options を選択するとよいでしょう.
-
- NFS 経由でインストールするためには, サブディレクトリも
- 含めたマウントにサーバが対応している必要があります. 例えば,
- FreeBSD &rel.current; の配布ファイルが
- <bf>ziggy:/usr/archive/stuff/FreeBSD</bf>
- にあるとすると, マシン ziggy では <bf>/usr</bf> や
- <bf>/usr/archive/stuff</bf> だけではなく,
- <bf>/usr/archive/stuff/FreeBSD</bf> の直接マウントが可能に
- なっていなければなりません.
-
- FreeBSD の <bf>/etc/exports</bf> ファイルでは, このことは
- ``<tt>-alldirs</tt>'' オプションによって制御されています.
- 他の NFS サーバの場合だとまた話が違ってくるかもしれません.
- もしもサーバから `Permission Denied' というメッセージが
- 返ってくるようでしたら, サブディレクトリマウントをちゃんと
- 有効にできていないことが考えられます.
-
- <sect2><heading>FTP インストールのための下準備</heading>
-
- <p>FTP 経由のインストールは, FreeBSD &rel.current; の最新バージョンを
- ミラーしているどのサイトからでも可能です. 世界中の妥当な FTP サイトの
- 選択肢をメニューに並べておきました.
-
- このメニューに出ていない他の FTP サイトからインストール
- する場合や, ネームサーバの設定に問題が生じた場合は,
- メニューでサイト ``Other'' を選ぶところで, お好みの
- URL でサイトを指定することができます. URL として直接 IP
- アドレスで指定してもよく, 直接指定した場合はネームサーバ
- がなくても FTP インストールが可能になります. 例えば,
-<tscreen><verb>
-ftp://192.216.222.4/pub/FreeBSD/&rel.current;-RELEASE
-</verb></tscreen>
- のような感じですね.
-
- FTP 経由のインストールモードとして, このようなものが
- 使用可能です:
-
- <descrip>
- <tag>FTP Active</tag>
-
- すべての FTP 転送の際に ``Active'' モードを使用します.
- ファイアウォール内部のマシンではうまく動きませんが,
- passive モードをサポートしていない古い FTP サーバでも
- 動作します. passive モードでの FTP 転送 (こちらが
- デフォルトです) が失敗した場合は, active を使ってください.
-
- <tag>FTP Passive</tag>
-
- すべての FTP 転送の際に ``Passive'' モードを使用します.
- このモードを使用することで, ランダムポートアクセスインを
- 許さないファイアウォールを越えることができるようになります.
-
- </descrip>
-
- <quote><bf>注意:</bf> Active, passive モードは `proxy'
- 接続と同じではありません! proxy FTP サーバは FTP 要求
- を受け付け実際の FTP サーバへ転送します. </quote>
-
- 通常 proxy FTP サーバ に対しては, ユーザ名の一部として
- @ 記号に続いて実際に接続したいサーバの名称を与える必要が
- あります. そうすると proxy サーバは本当のサーバの「ふり」
- をするようになります. 例えば: ftp.freebsd.org から ポート番号
- 1234 で要求を待つ proxy FTP サーバ foo.bar.com を使って
- インストールしたいとします.
-
- この場合では, 「オプション」メニューで FTP username を
- ftp@ftp.freebsd.org, パスワードとして自分の電子メールアドレス
- を指定します. インストールメディアとして FTP (または proxy
- サーバがサポートしていれば passive FTP), URL を以下のようにします:
-<tscreen><verb>
-ftp://foo.bar.com:1234/pub/FreeBSD
-</verb></tscreen>
- ftp.freebsd.org の /pub/FreeBSD に対する FTP 要求については
- foo.bar.com が代理で処理をおこなうことになり, 「むこう」
- のマシンからインストールすることができます (インストール時
- の要求により ftp.freebsd.org からファイルをもってきます).
-
- <sect><heading>FreeBSD のインストール</heading>
-
- <p>インストールの下準備を適切に書き留めておけば, なんの
- 問題もなく FreeBSD のインストールができることと思います.
-
- 何かうまくいかなかった場合は, あなたが使おうとしている
- インストールメディアのことが書いてある箇所まで戻って
- もう一度読むとよいでしょう. おそらく最初読んだときに
- 見落していた, 有効なヒントがあるものと思います.
- ハードウェアの問題が出てきたとか, FreeBSD がまったく
- 立ち上がらない場合は, boot フロッピーディスクに提供されている
- Hardware Guide を読んで, 何か解決方法はないか探してください.
-
- FreeBSD のブートフロッピーディスクには, インストールをおこなうために
- 必要と思われるすべてのオンラインドキュメントを用意してあります.
- もしもそのドキュメントがお望みのものでないようでしたら,
- 私たちはあなたが何にもっとも困っているのかを知りたいと思います.
- コメントを &a.doc; にお送りください. FreeBSD のインストールプログラム
- (sysinstall) を, うっとうしい ``step-by-step'' ガイドなしに,
- プログラム自身で使用方法がわかるようにするのが最終目標です.
- 目標達成までには時間がかかりそうですが, ともかくそれが
- 目標なのであります.
-
-
- 閑話休題. ここに, 「典型的なインストールの手順」を
- まとめてみましたので, お役にたてるものと思います.
- <enum>
- <item>ブートフロッピーディスクから起動します. ハードウェアの性能に
- よりますが, 起動には 30秒から 3分かかります. 起動したら
- 初期選択画面が出てくるでしょう, もしもフロッピーディスクから
- まったく起動しなかったり, どこかの段階で起動が止まってしまった
- 場合は, ハードウェアガイドの Q&amp;A を読んで, 理由を
- 探ってみます.
-
- <item>F1 キーを叩きます. メニューシステムとインストールプログラム
- 全般に対しての使い方が表示されます. このメニューシステムを
- 使ったことがない場合は, 「徹底的に」読んでください.
-
- <item>Options を選択し, 他に必要な特別な選択を
- おこないます.
-
- <item>典型的なインストールでおまかせしたい方は Novice を,
- インストールのそれぞれの段階をいちいちコントロールしたい方は Custom を,
- (可能であれば適切なデフォルトを使用して) 簡単にさっさと済ませたい方は
- Express を, それぞれ好みに応じて選んでください.
- FreeBSD を初めて使う方には, Novice を一番におすすめします.
-
- <item>final configuration メニューからは, メニュー形式のさらに
- 進んだ設定をおこなうことができます. ネットワーク周りの
- 設定は, 特に CD-ROM / テープ / フロッピーディスクから
- インストールして, まだネットワーク設定をおこなっていない
- 人にとっては特に重要でしょう. インストールの時点できちんと
- 設定しておけば, ハードディスクからシステムを立ち上げ直した
- 時点でネットワーク接続ができるようになっていることでしょう.
- </enum>
-
-<!-- なぜか最近の install.sgml では, 削除されてます. もったいない... -->
-<!--
- <sect1><heading>Express インストール</heading>
-
- <p>Express インストールは Custom インストールとそんなに変わる
- ところはないのですが, 必要な作業を流れに沿って順番に提示
- してくれて, それぞれの段階で便利なガイドが表示されるところが
- ことなっています.
-
- <enum>
- <item>インストールは `Partition Editor' から始まります.
- ここでどのドライブを FreeBSD で使うかを指定します.
- もしもドライブ全体を使いたい場合は, `A' コマンド
- だけを打ち込めばよいはずです.
-
- <item>次に `Label Editor' に進みます. 確保した FreeBSD の
- パーティションをどのように使うか, または DOS のような
- FreeBSD 以外のパーティションをどこにマウントするかなどを
- 指定します. 標準のままの使い方でよければ単に `A' と
- 打ち込みます.
-
- <item>次は `Distributions' メニューに進みます.
- ここでは何をインストールしたいかを選択します.
- 小規模システムにしたい場合は ``User'' を選択しますし,
- FreeBSD からの何らかの拡張をしようと思っている場合は
- ``Developer'' を選択します.
- どの選択肢も気に入らない場合は Custom を選んでください.
-
- <item>次に, `Media' メニューで, どのメディアから
- インストールしたいかを指定します. もしも望みのメディアが
- 選ばれており, 自動的に設定されていた場合は, ただメニュー
- から戻ってくるだけで OK です. そうでない場合はメディアタイプ
- の細かい指定をおこないます.
-
- <item>おわりに, これまでのすべての指定で GO サインを出すか
- どうか求められてきます (これまでの段階ではまだ
- ディスクに書き込まれていませんし, GO サインを
- 出すまで書き込まれません). GO サインを出すと
- いよいよインストールが始まります. 新しく
- 作ったパーティションや, 変更したパーティションの
- 情報が書き出され, 新しいファイルシステムが
- 作られたり, ファイルシステムはそのままでラベル
- されたりします (新しいファイルシステムを作るか,
- 既存のものにラベルするかは, Label Editor の
- newfs オプションをどう設定したかで決まります).
- ファイルシステムができると選択した配布ファイルが
- すべて展開されます.
- </enum>
-
- ここまでくれば, sysinstall プログラムでの作業は大体おしまいです.
- `Quit' を選択できます. sysinstall プログラムを
- インストーラとして使用している場合 (システムのインストール
- が完了する直前) は, 最後の行でリターンキーを打って
- `Quit' を選択すると, システムは再起動します (訳注:再起動した
- ときにはブートフロッピーディスクを抜きとります). インストールの
- 際にブートマネージャオプションを選択していたなら, `F?'
- プロンプトのついたブートメニューが現れるでしょう. 表示され
- ているとおりにファンクションキーを押して FreeBSD を選択する
- と, ハードディスクから FreeBSD が立ち上がることでしょう.
-
- 何らかの理由でうまくいかなかった場合は, ハードウェアガイドの
- Q&amp;Aを読んで, 問題解決の手がかりを探してください.
-
- <sect1><heading>Custom インストール</heading>
-
- <p>このメニューを使えば, ``Commit'' しない限り, あなたの
- システムを変更することなくすべての設定ができます. ``Commit''
- することですでに指定しておいた, システム変更の要求を実際に
- おこないます. メニューのなかの, いくつかのオプションでは,
- 変更点をその場で書き込めるように `Write' コマンドが用意
- されていますが, 本当に必要があると確信を持っている場合のみ
- 使用するべきでしょう. 変更点を最後まで実際に書き込まないで
- おいて, 最後の瞬間まで気が変わったときにオプションを変更
- できるようにしておくべきでしょう.
-
- もしも混乱したときは大抵, F1 キーを押すと表示される
- スクリーンに関する正しい情報が得られると思います.
-
--->
-<!-- ここまでコメントアウトしてます -->
-
- <sect><heading>MS-DOS ユーザのためのQ&amp;A</heading>
-
- <p>多くのFreeBSD ユーザは, MS-DOS が入っている PC に FreeBSD を
- インストールしたいと考えます. そのようなシステムに
- FreeBSD をインストールする際によく聞かれる質問を集めて
- あります.
-
- <p><bf>助けて! ディスクスペースが余ってないのです.
- 最初に MS-DOS のファイルを全部削除しないといけませんか? </bf>
-
- もしあなたのマシンですでに MS-DOS が走っていて, FreeBSD の
- インストール用の空きスペースが少ないか, まったくない場合でも
- 大丈夫です. FreeBSD の CD-ROM や, FTP サイトの <tt>tools</tt>
- ディレクトリに FIPS プログラムというのがありますが,
- これが非常に役立ちます.
-
- FIPS を使えば, すでに存在している MS-DOS のパーティションを
- 二つに分けることができ, さらにもともとのパーティションは
- 残してくれて, 二つめのパーティションを FreeBSD の
- インストールに使用することができるようになります.
- まず DOS6.xx についてくる DEFRAG か, Norton Disk ツールを使って,
- MS-DOS パーティションからフラグメント情報を取り去って, その後に
- FIPS を走らせます. FIPS ユーティリティから必要な情報が
- 手に入ります. その後マシンを立ち上げ直して, 空いた場所に
- FreeBSD をインストールします. どのくらいの空きスペースが
- インストールに必要かは, <em>Distributions</em> メニューを
- 参考にしてください.
-
- <bf>FreeBSD で MS-DOS の圧縮ファイルシステムにアクセス
- できますか? </bf>
-
- いいえ. もし Stacker(tm) や DoubleSpace(tm) のような
- ユーティリティをお使いの場合, FreeBSD は非圧縮の部分にしか
- アクセスできません. 残りの場所は一つの大きなファイルとして
- (stack された, もしくは doublespace されたファイルとして)
- 見えます. <bf>そのファイルを削除しないでください!!</bf>
- 削除してしまうと後できっと後悔します.
-
- 非圧縮の MS-DOS の基本区画を作って, そちらを MS-DOS と
- FreeBSD とのやり取りに使うのがよろしいでしょう.
-
- <bf>MS-DOS 拡張フォーマットをマウントできますか?</bf>
-
- はい. DOS 拡張パーティションは FreeBSD の他の「スライス」の最後に
- マップされます. 例えば D:ドライブ が /dev/sd0s5, E:ドライブが
- /dev/sd0s6, といった具合いです. もちろん, この例では拡張
- パーティションが SCSI ドライブ 0 にあることを仮定しています.
- IDE ドライブでは当然, ``sd'' が ``wd'' となります. 他の DOS ドライブを
- マウントするのと同様に, 次のようにして拡張パーティションもちゃんと
- マウントできます:
-
-<tscreen><verb>
-mount -t msdos /dev/sd0s5 /dos_d
-</verb></tscreen>
-
- <bf>MS-DOS のバイナリを FreeBSD で実行できますか?</bf>
-
- まだです. この機能を実現するためのサポートを期待しているのですが,
- いまのところ実際にこの作業をしている人間はいません. BSDI には
- 寄贈された BSD 用の DOS エミュレータがあり, 徐々に FreeBSD-current
- に移植されつつあります.
-
- もしあなたがこの作業に加わりたいと思いましたら &a.emulation
- にご連絡ください.
-
- それまでの間, <ref id="ports" name="ports コレクション"> には, pcemu
- という素晴らしいアプリケーションがあり, これをつかうことで多くの
- MS-DOS のテキストモードで動くプログラムを完全な 8088CPU の
- エミュレーション環境で走らせることができます.
diff --git a/share/doc/ja_JP.EUC/handbook/isdn.sgml b/share/doc/ja_JP.EUC/handbook/isdn.sgml
deleted file mode 100644
index 458ffaf..0000000
--- a/share/doc/ja_JP.EUC/handbook/isdn.sgml
+++ /dev/null
@@ -1,231 +0,0 @@
-<!-- $Id: isdn.sgml,v 1.7 1997/02/22 13:01:15 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.11 -->
-
-<sect><heading>ISDN<label id="isdn"></heading>
-
-<p><em>最終更新: &a.wlloyd;</em>.
-<p><em>訳: &a.kiroh;.<newline>11 December 1996.</em>
-
-<p>ISDN 技術とハードウェアに関しては,
-<url url="http://alumni.caltech.edu/~dank/isdn/" name="Dan Kegel's
-ISDN Page"> がよい参考になるでしょう.
-
-ISDN の導入手順は, 簡単にいって以下のようになります.
-<itemize>
-<item>ヨーロッパ在住の方は, ISDN カードの節に進んでください.
-
-<item>ISDN を使って, インターネットプロバイダに(専用線は使用せず), ダ
-イアルアップ接続しようとしている場合は, ターミナルアダプタの使用を考え
-てみてください. この方法はもっとも柔軟性があり, プロバイダを変更した場
-合の問題も少ないでしょう.
-
-<item>2つの LAN の間を接続しようする場合や, ISDN 専用線を使用する場合
-には, スタンドアローンルータ/ブリッジの使用を勧めます.
-
-</itemize>
-
-<p>どの方法を用いるかを決定するには, 費用が重要な要素になってきます.
-以下に, 最も安価な方法から, 高価な方法まで順に説明していきます.
-
-<sect1><heading>ISDN カード</heading>
-
-<p><em>原著者:&a.hm;.</em>
-
-<p>このセクションの記述は, ヨーロッパの ISDN ユーザにのみ有効です.
-サポートされているカードは, まだ北米の ISDN 標準には適合していないかもしれ
-ません(?).
-
-<p>このコードは, まだ大部分が開発段階にあります. とくにドライバに関し
-ては, 二つのメーカーのカードしかサポートしていません.
-
-<p>PC ISDN カードは, ISDN の最大のバンド幅 128Kbs をサポートします. こ
-れらのカードは, ISDN 機器のうちもっとも安価な部類に入ります.
-
-<p>FreeBSD 2.1.0 および 2.1.5 では, 初期の未完成の ISDN のためのコード
-が /usr/src/gnu/isdn に含まれていますが, 古いバージョンのものですの
-で使用しないでください. カーネルから ISDN をサポートしたい場合は,
-bisdn パッケージを入手してください. このコードは, FreeBSD 2.2 からメイ
-ンソースツリーから削除されています.
-
-<p>bisdn という ISDN パッケージが以下のURLから入手できます.
-<htmlurl url="ftp://ftp.muc.ditec.de/isdn" name="ftp.muc.ditec.de">
-FreeBSD 2.1R, FreeBSD-current, NetBSDがサポートされています.
-最新のソースは, 上記のftpサーバの isdn ディレクトリから,
-bisdn-097.tar.gz という名前で入手できます.
-
-以下のカードのドライバが存在します:
-<itemize>
-<item>EuroISDN (DSS1)および1TR6プロトコル用には, 現在すべての(passive) Teles
-カードおよびそのクローンがサポートされています.
-<item>Dr. Nauhaus - Niccy 1016
-</itemize>
-
-bisdn には, いくつかの制限があります.
-特に ISDN に関連する機能のうち, 以下の機能はサポートされません.
-<itemize>
-<item>PPP はサポートされません. raw hdlc のみです. すなわち, Cisco 製
-など, ほとんどのスタンドアロンーンルータ等とは接続できません.
-<item>ブリッジングコントロールプロトコルはサポートされません.
-<item>複数のカードは同時に使用できません.
-<item>動的なバンド幅の変更はできません.
-<item>チャンネルのバンドリングはできません.
-</itemize>
-
-majordomoによるメーリングリストが利用できます. 参加するには, 通常の
-majordomo リクエストを以下のメールアドレスまで送ってください.
-<htmlurl url="mailto:isdn-request@muc.ditec.de"
-name="isdn-request@muc.ditec.de">.
-
-<sect1><heading>ISDN ターミナルアダプタ</heading>
-
-<p>ターミナルアダプタ (TA) はISDN に対して, 通常の電話線に対するモデ
-ムに相当するものです.
-
-<p>ほとんどの TA は, 標準のヘイズ AT コマンドセットを使用しているので,
-単にモデムと置き換えて使うことができます.
-
-TA は, 基本的にはモデムと同じように動作しますが, 接続方法は異なり, 通
-信速度も古いモデムよりはるかに速くなります. <ref id="ppp" name="PPP">
-の設定を, モデムの場合と同じように行ってください. とくにシリアル速度を
-使用できる最高速度に設定するのを忘れないでください.
-
-プロバイダへの接続に TA を使用する最大のメリットは, 動的 PPP を行える
-ことです. 最近 IP アドレスが不足してきているため, ほとんどのプロバイダ
-は, 専用の IP アドレスを割り当てないようになっています. ほとんどのスタ
-ンドアローンルータは, 動的 IP アドレスに対応していません.
-
-訳注: 最近の ISDN ルータでは, IP アドレスの動的割り当てに対応している
-ものも多いようです. ただし制限がある場合もありますので, 詳しくはメーカ
-に問い合わせてください.
-
-TA を使用した場合の機能や接続の安定性は, 使用している PPP デーモンに完
-全に依存します. そのため, FreeBSD で PPP の設定が完了していれば, 使用
-している既存のモデムを ISDN の TA に簡単にアップグレードすることができ
-ます. ただし, それまでの PPP のプログラムに問題があった場合, その問題
-は TA に置き換えてもそのまま残ります.
-
-最高の安定性を求めるのであれば, ユーザープロセス<ref id="userppp"
-name="iijPPP"> ではなく, カーネル<ref id="ppp" name="PPP">を使用してく
-ださい.
-
-<p>以下の TA は, FreeBSD で動作確認ずみです.
-
-<itemize>
-<item>Motorola BitSurfer および Bitsurfer Pro
-<item>Adtran
-</itemize>
-
-他の TA もほとんどの場合うまく動作するでしょう. TA のメーカーでは, TA
-がほとんどの標準モデム AT コマンドセットを受け付けるようにするよう, 努
-力しているようです.
-
-外部 TA を使う際の最大の問題点は, モデムの場合と同じく良いシリアルカー
-ドが必要であるということです.
-
-シリアルデバイスの詳細, そして非同期シリアルポートと同期シリアルポート
-の差については, ハンドブックの<ref id="uart" name="シリアルポート"> の
-節を参照してください.
-
-標準の PC シリアルポート(非同期)に接続された TA は, 128Kbs の接続を行っ
-ていても, 最大通信速度が 115.2Kbs に制限されてしまいます. 128Kbs の
-ISDN の性能を最大限に生かすためには, TA を同期シリアルカードに接続しな
-ければなりません.
-
-内蔵 TA を購入して, 同期/非同期問題を片付けてしまおうとは思わないでく
-ださい. 内蔵 TA には, 単に標準 PC シリアルポートのチップが内蔵されてい
-るだけです. 内蔵 TA の利点といえば, シリアルケーブルを買わなくていいと
-いうことと, 電源コンセントが一つ少なくて済むということくらいでしょう.
-
-同期カードと TA の組合せは 386 の FreeBSD マシンの場合でも, スタンドア
-ローンのルータと同程度の速度は確保できます. またこの組合せでは, ルータ
-より柔軟な設定が可能です.
-
-同期カード/TA を選ぶか, スタンドアローンルータを選ぶかは, 多分に宗教的
-な問題です. メーリングリストでもいくつか議論がありました. 議論の内容に
-ついては, <url url="http://www.freebsd.org/search.html" name="archives">
-を参照してください.
-
-<sect1><heading>スタンドアローン ISDN ブリッジ/ルータ</heading>
-
-<p>ISDN ブリッジやルータは, OS 特有のものではありません. もちろん
-FreeBSD 特有のものでもありません. ルーティングやブリッジング技術に関す
-る詳細は, ネットワークの参考書をご覧ください.
-
-このページでは, ルータとブリッジにどちらでもあてはまるように記述します.
-
-<p>ISDN ルータ/ブリッジは, ローエンドの製品のコストが下がってきている
-こともあり, より一般的に使用されるようになるでしょう. ISDN ルータは,
-外見は小さな箱で, ローカルのイーサネットネットワーク(もしくはカード)と
-直接, 接続します. また, 自身で他のブリッジ/ルータとの接続を制御します.
-PPP や他のプロトコルを使用するためのソフトウェアは, すべて組み込まれて
-います.
-
-ルータは, 完全な同期 ISDN 接続を使用するため, 通常の TA と比較してスルー
-プットが大幅に向上します.
-
-ISDN ルータ/ブリッジを使用する場合の最大の問題点は, 各メーカーの製品間
-に相性の問題がまだ存在することです. インターネットプロバイダとの接続を
-考えている場合には, プロバイダと相談することをお勧めします.
-
-<p>事務所の LAN と家庭の LAN の間など, 二つの LAN セグメントの間を接続
-しようとしている場合は, ブリッジ/ルータの使用がもっともメンテナンスが
-簡単で, 努力が少なくてすむ方法です. 両側の機材を購入するのであれば, メー
-カー間の接続性の問題もないでしょう.
-
-たとえば家庭の LAN や出張所の LAN を本社のネットワークに接続するために
-は, 以下のような設定が使用できます.
-
-<em>出張所 LAN または 家庭 LAN</em>
-
-ネットワークは, 10 Base T イーサネットです. ルータとネットワークの間は,
-必要に応じて AUI/10BT トランシーバを使って接続します.
-
-<verb>
----Sun ワークステーション
-|
----FreeBSD マシン
-|
----Windows 95 (別に勧めているわけじゃありません)
-|
-スタンドアローンルータ
- |
-ISDN BRI ライン
-</verb>
-家庭/出張所 LAN で, 一台しかコンピュータを接続しないのであれば, クロス
-のツイストペアケーブルを使用して, スタンドアローンルータと直結も可能で
-す.
-
-<em>本社 LAN や他の LAN</em>
-
-ネットワークは, ツイストペアイーサネットです.
-<verb>
- -------Novell サーバ
- | |
- |ハ ---Sun
- | |
- | ---FreeBSD
- | |
- |ブ ---Windows 95
- | |
- |___---スタンドアローンルータ
- |
- ISDN BRI ライン
-</verb>
-
-ほとんどのルータ/ブリッジでは, 別々の二つのサイトに対して, 同時にそれ
-ぞれ独立した二つの PPP 接続が可能です. これは, 通常の TA ではサポート
-されない機能で, ルータ/ブリッジ接続の大きな利点です (シリアルポートを
-二つもつ特殊(そして高価な) TA では可能です). チャンネル割り当てや MPP
-などと混同しないでください.
-
-これは, 大変便利な機能です. たとえば事務所で専用線インターネット ISDN
-接続を使用していて, 別の ISDN ラインを購入したくないとします. この場合,
-事務所のルータは, 一つの専用線 B チャンネル接続(64Kbs)を維持しつつ, 別
-の B チャンネルを他の用途に使用することができます. たとえば, 他の場所
-とのダイアルイン, ダイアルアウトに使用したり, バンド幅を増やすために,
-インターネットとの接続への動的に割り当て(MPP など)に使用したりすること
-が可能です.
-
-<p>またイーサネットブリッジは, IP パケットだけでなく IPX/SPX などすべての
-プロトコルのパケットを中継することが可能です. </p>
diff --git a/share/doc/ja_JP.EUC/handbook/jcontrib.sgml b/share/doc/ja_JP.EUC/handbook/jcontrib.sgml
deleted file mode 100644
index f3f38ee..0000000
--- a/share/doc/ja_JP.EUC/handbook/jcontrib.sgml
+++ /dev/null
@@ -1,74 +0,0 @@
-<!-- $Id: jcontrib.sgml,v 1.6 1997/03/03 04:56:30 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-
-<chapt><heading>FreeBSD Handbook 日本語化について<label id="jcontrib"></heading>
-
- <p>FreeBSD 日本語ドキュメンテーションプロジェクトは, FreeBSD 関係の日本語
- ドキュメントが少ないことを嘆いた数人の FreeBSD ユーザの提唱によって
- 1996年2月26日にスタートし, その最初の作業として, FreeBSD Handbook
- の日本語への翻訳を始めました.
- 当初の予定から大幅に遅れながらもなんとか完成することができましたが,
- これで終りではありません.
- オリジナルの FreeBSD Handbook は日毎に更新されており, 私たちもまた
- これに追い付くために作業を続けていきます. もちろん, 新しいメンバも大歓迎
- です.
- 日本語翻訳版について, 何かお気づきの点がありましたら, &a.doc-jp;
-までご連絡ください.
- また, もし私たちの作業を手伝ってくれるなら,
- <url url="http://www.astec.co.jp/~hanai/FreeBSD/" name="FreeBSD 日本語ドキュメンテーションプロジェクトのページ">をご覧の上, 是非参加してください.
-
- <sect><heading>翻訳者 (五十音順)</heading>
-
- <p>
- <itemize>
- <item>&a.asami
- <item>&a.arimura
- <item>&a.graphite
- <item>&a.iwasaki
- <item>&a.yoshiaki
- <item>&a.candy
- <item>&a.kimura
- <item>&a.masaki
- <item>&a.motoyuki
- <item>&a.saeki
- <item>&a.simokawa
- <item>&a.yasu
- <item>&a.mihoko
- <item>&a.ts
- <item>&a.nakai
- <item>&a.ikuo
- <item>&a.max
- <item>&a.hanai
- <item>&a.kiroh
- <item>&a.hino
- <item>&a.yuki
- <item>&a.maruyama
- <item>&a.mita
- <item>&a.kmiyakoda
- <item>&a.tomo
- </itemize>
-
- <sect><heading>査読者 (五十音順)</heading>
-
- <p>
- <itemize>
- <item>&a.asami
- <item>&a.iwasaki
- <item>&a.yoshiaki
- <item>&a.kanou
- <item>&a.koga
- <item>&a.saeki
- <item>&a.hanai
- <item>&a.nao
- <item>&a.kiroh
- <item>&a.hino
- <item>&a.yuki
- </itemize>
-
- <sect><heading>ツール作成者</heading>
-
- <p>
- <itemize>
- <item>&a.katsu
- <item>&a.iwasaki
- </itemize>
diff --git a/share/doc/ja_JP.EUC/handbook/jmembers.sgml b/share/doc/ja_JP.EUC/handbook/jmembers.sgml
deleted file mode 100644
index 219c109..0000000
--- a/share/doc/ja_JP.EUC/handbook/jmembers.sgml
+++ /dev/null
@@ -1,132 +0,0 @@
-<!-- $Id: jmembers.sgml,v 1.7 1997/03/03 04:56:31 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-
-<!--
-翻訳者及び査読者の名前及び電子メールアドレス
--->
-
-<!ENTITY a.doc-jp "FreeBSD 日本語ドキュメンテーションプロジェクト
- <tt><htmlurl url='mailto:doc-jp@jp.FreeBSD.ORG'
- name='&lt;doc-jp@jp.FreeBSD.ORG&gt;'></tt>">
-
-<!--
-<!ENTITY a.asami "浅見 賢
- <tt><htmlurl url='mailto:asami@FreeBSD.ORG'
- name='&lt;asami@FreeBSD.ORG&gt;'></tt>">
-浅見さんは既に authors.sgml に入っているのでコメントアウト ;-)
--->
-
-<!ENTITY a.nakai "中井 幸博
- <tt><htmlurl url='mailto:nakai@mlab.t.u-tokyo.ac.jp'
- name='&lt;nakai@mlab.t.u-tokyo.ac.jp&gt;'></tt>">
-
-<!ENTITY a.koga "こがよういちろう
- <tt><htmlurl url='mailto:y-koga@ccs.mt.nec.co.jp'
- name='&lt;y-koga@ccs.mt.nec.co.jp&gt;'></tt>">
-
-<!ENTITY a.iwasaki "岩崎 満
- <tt><htmlurl url='mailto:iwasaki@jp.FreeBSD.org'
- name='&lt;iwasaki@jp.FreeBSD.org&gt;'></tt>">
-
-<!ENTITY a.yuki "前田 幸範
- <tt><htmlurl url='mailto:yuki@jp.FreeBSD.org'
- name='&lt;yuki@jp.FreeBSD.org&gt;'></tt>">
-
-<!--
-<!ENTITY a.max "中根 雅文
- <tt><htmlurl url='mailto:max@FreeBSD.ORG'
- name='&lt;max@FreeBSD.ORG&gt;'></tt>">
-中根さんは既に authors.sgml に入っているのでコメントアウト ;-)
--->
-
-<!ENTITY a.yasu "鈴木 康修
- <tt><htmlurl url='mailto:yasu@hike.te.chiba-u.ac.jp'
- name='&lt;yasu@hike.te.chiba-u.ac.jp&gt;'></tt>">
-
-<!ENTITY a.katsu "勝間田 淳
- <tt><htmlurl url='mailto:katsu@baum.kiyose.tokyo.jp'
- name='&lt;katsu@baum.kiyose.tokyo.jp&gt;'></tt>">
-
-<!ENTITY a.ts "冨田 重成
- <tt><htmlurl url='mailto:ts@icu.ac.jp'
- name='&lt;ts@icu.ac.jp&gt;'></tt>">
-
-<!ENTITY a.saeki "佐伯 隆司
- <tt><htmlurl url='mailto:saeki@jp.FreeBSD.org'
- name='&lt;saeki@jp.FreeBSD.org&gt;'></tt>">
-
-<!ENTITY a.kiroh "はらだ きろう
- <tt><htmlurl url='mailto:kiroh@kh.rim.or.jp'
- name='&lt;kiroh@kh.rim.or.jp&gt;'></tt>">
-
-<!ENTITY a.masaki "櫛田 昌希
- <tt><htmlurl url='mailto:masaki@po.iijnet.or.jp'
- name='&lt;masaki@po.iijnet.or.jp&gt;'></tt>">
-
-<!ENTITY a.hino "日野 浩志
- <tt><htmlurl url='mailto:hino@nwk.cl.nec.co.jp'
- name='&lt;hino@nwk.cl.nec.co.jp&gt;'></tt>">
-
-<!ENTITY a.mita "三田 吉郎
- <tt><htmlurl url='mailto:mita@jp.FreeBSD.org'
- name='&lt;mita@jp.FreeBSD.org&gt;'></tt>">
-
-<!ENTITY a.yoshiaki "内川 喜章
- <tt><htmlurl url='mailto:yoshiaki@kt.rim.or.jp'
- name='&lt;yoshiaki@kt.rim.or.jp&gt;'></tt>">
-
-<!ENTITY a.arimura "有村 光晴
- <tt><htmlurl url='mailto:arimura@jp.FreeBSD.org'
- name='&lt;arimura@jp.FreeBSD.org&gt;'></tt>">
-
-<!ENTITY a.hanai "花井 浩之
- <tt><htmlurl url='mailto:hanai@jp.FreeBSD.org'
- name='&lt;hanai@jp.FreeBSD.org&gt;'></tt>">
-
-<!ENTITY a.tomo "渡辺 智雄
- <tt><htmlurl url='mailto:tomo@jp.FreeBSD.org'
- name='&lt;tomo@jp.FreeBSD.org&gt;'></tt>">
-
-<!ENTITY a.mihoko "田中 美穂子
- <tt><htmlurl url='mailto:mihoko@pa.yokogawa.co.jp'
- name='&lt;mihoko@pa.yokogawa.co.jp&gt;'></tt>">
-
-<!ENTITY a.simokawa "下川 英敏
- <tt><htmlurl url='mailto:simokawa@jp.FreeBSD.org'
- name='&lt;simokawa@jp.FreeBSD.org&gt;'></tt>">
-
-<!ENTITY a.graphite "石墨 紀孝
- <tt><htmlurl url='mailto:graphite@jp.FreeBSD.org'
- name='&lt;graphite@jp.FreeBSD.org&gt;'></tt>">
-
-<!ENTITY a.kimura "木村 成伴
- <tt><htmlurl url='mailto:kimura@netlab.is.tsukuba.ac.jp'
- name='&lt;kimura@netlab.is.tsukuba.ac.jp&gt;'></tt>">
-
-<!ENTITY a.ikuo "中川 郁夫
- <tt><htmlurl url='mailto:ikuo@jp.FreeBSD.org'
- name='&lt;ikuo@jp.FreeBSD.org&gt;'></tt>">
-
-<!ENTITY a.kmiyakoda "都田 克郎
- <tt><htmlurl url='mailto:kmiyakoda@ctn.co.jp'
- name='&lt;kmiyakoda@ctn.co.jp&gt;'></tt>">
-
-<!ENTITY a.kanou "狩野 宏樹
- <tt><htmlurl url='mailto:g92k0323@cfi.waseda.ac.jp'
- name='&lt;g92k0323@cfi.waseda.ac.jp&gt;'></tt>">
-
-<!ENTITY a.nao "浜田 直樹
- <tt><htmlurl url='mailto:nao@tom-yam.or.jp'
- name='&lt;nao@tom-yam.or.jp&gt;'></tt>">
-
-<!ENTITY a.maruyama "丸山 剛司
- <tt><htmlurl url='mailto:tmaruya@nnc.or.jp'
- name='&lt;tmaruya@nnc.or.jp&gt;'></tt>">
-
-<!ENTITY a.candy "神田敏広
- <tt><htmlurl url='mailto:candy@fct.kgc.co.jp'
- name='&lt;candy@fct.kgc.co.jp&gt;'></tt>">
-
-<!ENTITY a.motoyuki "今野 元之
- <tt><htmlurl url='mailto:motoyuki@st.rim.or.jp'
- name='&lt;motoyuki@st.rim.or.jp&gt;'></tt>">
diff --git a/share/doc/ja_JP.EUC/handbook/kerberos.sgml b/share/doc/ja_JP.EUC/handbook/kerberos.sgml
deleted file mode 100644
index 7cd7eeb..0000000
--- a/share/doc/ja_JP.EUC/handbook/kerberos.sgml
+++ /dev/null
@@ -1,492 +0,0 @@
-<!-- $Id: kerberos.sgml,v 1.4 1997/02/22 13:01:19 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.10 -->
-
-<sect><heading>Kerberos<label id="kerberos"></heading>
-
-<p><em>原作: &a.markm; (&a.md; からの寄稿に基づいています).</em>
-
- <em>訳: &a.arimura;.</em>
-
- Kerberosは, サーバのサービスによってユーザが安全に認証を受けられる
- ようにするための, ネットワークの付加システム及びプロトコルです.
- リモートログイン, リモートコピー, システム間での安全なファイルのコピ
- ーやその他のリスクの高い仕事がかなり安全に, そしてこれまでより制御
- できるようになります.
-
- 以下の文章は, FreeBSD用として配布されているKerberosをセットアップ
- する際のガイドとして読むことができます.
- しかし, 完全な説明が必要な場合には, マニュアルページを読んだ方がよい
- でしょう.
-
- FreeBSDのKerberosは, オリジナルの4.4BSD-Liteの配布に含まれている
- ものではなく, FreeBSD 1.1.5.1のときに移植されたeBonesです.
- これはアメリカ/カナダの外で作成されており, これら以外の国の人々にも
- 手に入れられるものです.
-
- このソフトウェアを合法的な配布物として得るために, アメリカも
- しくはカナダのサイトから<em>持ってこないでください</em>.
- でないと, そのサイトが<em>大変な</em>問題に巻き込まれます.
- 合法的な配布は, 南アフリカの<tt>skeleton.mikom.csir.co.za</tt>から
- 入手することができます.
-
- <sect1>
- <heading>初期データベースの作成</heading>
-
- <p>この作業はKerberosサーバだけでおこないます. まず, 古いKerberosの
- データベースが存在しないことを確認してください.
- ディレクトリ<tt>/etc/kerberosIV</tt>に移って, 次のファイルだけが
- 存在することをチェックします:
-
-<tscreen><verb>
-grunt# cd /etc/kerberosIV
-grunt# ls
-README krb.conf krb.realms
-</verb></tscreen>
-
- <p>もし他のファイル (<tt>principal.*</tt>や<tt>master_key</tt>) が
- 存在する場合には, <tt>kdb_destroy</tt>というコマンドで古い
- Kerberosデータベースを消してください.
- Kerberosが走っていなければ, 単に<tt>rm</tt>で余計なファイルを消せ
- ばよいです.
-
- まず, <tt>krb.conf</tt>と<tt>krb.realms</tt>を編集してKerberosの
- 管理領域 (realm) を定義してください. ここでは管理領域が<it>GRONDAR.ZA</it>
- で, サーバ名が<it>grunt.grondar.za</it>であるとします.
- <tt>krb.conf</tt>というファイルを次のように編集してください:
-
-<tscreen><verb>
-grunt# cat krb.conf
-GRONDAR.ZA
-GRONDAR.ZA grunt.grondar.za admin server
-CS.BERKELEY.EDU okeeffe.berkeley.edu
-ATHENA.MIT.EDU kerberos.mit.edu
-ATHENA.MIT.EDU kerberos-1.mit.edu
-ATHENA.MIT.EDU kerberos-2.mit.edu
-ATHENA.MIT.EDU kerberos-3.mit.edu
-LCS.MIT.EDU kerberos.lcs.mit.edu
-TELECOM.MIT.EDU bitsy.mit.edu
-ARC.NASA.GOV trident.arc.nasa.gov
-</verb></tscreen>
-
- <p>この例にあるような他の管理領域は, 実際には必要ありません.
- この例は複数の管理領域を認識する方法を示したものですので,
- これらの行は含めなくても結構です.
-
- 1行目はこのシステムが動いている管理領域の名前です.
- 他の行は管理領域とホスト名のエントリです.
- 行の1つめの単語が管理領域で, 2つめがその管理領域の中で
- ``鍵配布センター''(Key Distribution Center) として働くホスト名です.
- ホスト名の次に ``admin server'' と書いてある場合には, そのホストが
- ``管理データベースサーバ''(Administrative Database Server) も提供
- することを意味します.
- これらの単語について詳しく知りたい場合にはKerberosのマニュアル
- ページをご覧ください.
-
- ここで, <it>GRONDAR.ZA</it>という管理領域に<it>grunt.grondar.za</it>
- およびその他の<it>.grondar.za</it>ドメインのすべてのホストを追加し
- なければなりません. <tt>krb.realms</tt>は次のようになります:
-
-<tscreen><verb>
- grunt# cat krb.realms
- grunt.grondar.za GRONDAR.ZA
- .grondar.za GRONDAR.ZA
- .berkeley.edu CS.BERKELEY.EDU
- .MIT.EDU ATHENA.MIT.EDU
- .mit.edu ATHENA.MIT.EDU
-</verb></tscreen>
-
- <p>もう一度注意しますが, 他の管理領域を書く必要はありません.
- これらは複数の管理領域を認識できるようにマシンを設定する方法を
- 示した例ですので, これらの行は消して構いません.
-
- 1行目は名前をつけた管理領域に<it>特定の</it>システムを含めるための
- ものです. 残りの行は名前をつけた管理領域にサブドメインのデフォルトの
- システムを含めるためのものです.
-
- これでデータベースを作成する準備ができました. この操作はKerberos
- サーバ (鍵配布センター) を起動するだけです. <tt>kdb_init</tt>コ
- マンドを次のように実行してください:
-
-<tscreen><verb>
-grunt# kdb_init
-Realm name [default ATHENA.MIT.EDU ]: GRONDAR.ZA
-You will be prompted for the database Master Password.
-It is important that you NOT FORGET this password.
-
-Enter Kerberos master key:
-</verb></tscreen>
-
- <p>ここで鍵を保存して, ローカルのマシンにあるサーバが取り出せるように
- します. それには<tt>kstash</tt>コマンドを使用します.
-
-<tscreen><verb>
-grunt# kstash
-
-Enter Kerberos master key:
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-</verb></tscreen>
-
- <p>これで暗号化されたマスタパスワードが
- <tt>/etc/kerberosIV/master_key</tt>に保存されました.
-
- <sect1>
- <heading>すべてが動くようにするための設定</heading>
-
- <p>Kerberosを導入する<it>それぞれの</it>システムのデータベースに, 2つ
- のprincipal (主体名) を追加する必要があります. その名前は
- <tt>kpasswd</tt>と<tt>rcmd</tt>です. これら2つのprincipalは, 個々
- のシステムにおいて, システム名と同じ名前のインスタンスと組にして作成
- されます.
-
- これらの<tt>kpasswd</tt>と<tt>rcmd</tt>というデーモンによって, 他の
- システムからKerberosのパスワードを変更したり, <tt>rcp</tt>や
- <tt>rlogin</tt>, <tt>rsh</tt>といったコマンドを実行したりできるよ
- うになります.
-
- それでは実際にこれらのエントリを追加しましょう:
-
-<tscreen><verb>
-grunt# kdb_edit
-Opening database...
-
-Enter Kerberos master key:
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-Previous or default values are in [brackets] ,
-enter return to leave the same, or new value.
-
-Principal name: passwd
-Instance: grunt
-
-<Not found>, Create [y] ? y
-
-Principal: passwd, Instance: grunt, kdc_key_ver: 1
-New Password: <---- ここは「RANDOM」と入力してください
-Verifying password
-
-New Password: <---- ここは「RANDOM」と入力してください
-
-Random password [y] ? y
-
-Principal's new key version = 1
-Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
-Max ticket lifetime (*5 minutes) [ 255 ] ?
-Attributes [ 0 ] ?
-Edit O.K.
-Principal name: rcmd
-Instance: grunt
-
-<Not found>, Create [y] ?
-
-Principal: rcmd, Instance: grunt, kdc_key_ver: 1
-New Password: <---- ここは「RANDOM」と入力してください
-Verifying password
-
-New Password: <---- ここは「RANDOM」と入力してください
-
-Random password [y] ?
-
-Principal's new key version = 1
-Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
-Max ticket lifetime (*5 minutes) [ 255 ] ?
-Attributes [ 0 ] ?
-Edit O.K.
-Principal name: <---- 何も入力しないと終了します
-</verb></tscreen>
-
- <sect1>
- <heading>サーバファイルの作成</heading>
-
- <p>次に, 各マシンにおけるサービスを定義している, すべてのインスタンス
- を展開します. これには<tt>ext_srvtab</tt>というコマンドを使用しま
- す. このコマンドで作成されるファイルは, Kerberosの各クライアン
- トの/etc/kerberosIVディレクトリに<it>安全な方法で</it>コピーまたは
- 移動する必要があります. このファイルはそれぞれのサーバとクラ
- イアントに存在しなければならず, またKerberosの運用において重要なも
- のです.
-
-<tscreen><verb>
-grunt# ext_srvtab grunt
-
-Enter Kerberos master key:
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-Generating 'grunt-new-srvtab'....
-</verb></tscreen>
-
- <p>このコマンドは一時的なファイルを作成するだけです. ファイル名をすべ
- てのサーバが読めるような<tt>srvtab</tt>という名前に変更しな
- ければなりません. <tt>mv</tt>コマンドを用いてシステムの場所に移動
- してください.
-
-<tscreen><verb>
-grunt# mv grunt-new-srvtab srvtab
-</verb></tscreen>
-
- <p>そのファイルがクライアントに配るためのもので, ネットワークが安全で
- はないと思われる場合には, <tt>&lt;client&gt;-new-srvtab</tt>を移動
- 可能なメディアにコピーして物理的に安全な方法で運んでください. クラ
- イアントの<tt>/etc/kerberosIV</tt>ディレクトリで, 名前を
- <tt>srvtab</tt>に変更し, modeを600にするのを忘れないでください:
-
-<tscreen><verb>
-grumble# mv grumble-new-srvtab srvtab
-grumble# chmod 600 srvtab
-</verb></tscreen>
-
- <sect1>
- <heading>データベースへのユーザの追加</heading>
-
- <p>ここで, ユーザのエントリをデータベースに追加する必要があります.
- 始めに, ユーザ<it>jane</it>のエントリを作成してみましょう.
- <tt>kdb_edit</tt>を用いて次のように作成してください:
-
-<tscreen><verb>
-grunt# kdb_edit
-Opening database...
-
-Enter Kerberos master key:
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-Previous or default values are in [brackets] ,
-enter return to leave the same, or new value.
-
-Principal name: jane
-Instance:
-
-<Not found>, Create [y] ? y
-
-Principal: jane, Instance: , kdc_key_ver: 1
-New Password: <---- 安全なパスワードを入れてください
-Verifying password
-
-New Password: <---- もう一度パスワードを入れてください
-
-Principal's new key version = 1
-Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
-Max ticket lifetime (*5 minutes) [ 255 ] ?
-Attributes [ 0 ] ?
-Edit O.K.
-Principal name: <---- 何も入力しないと終了します
-</verb></tscreen>
-
- <sect1>
- <heading>すべてのテスト</heading>
-
- <p>まず始めにKerberosデーモンを起動する必要があります.
- <tt>/etc/sysconfig</tt>ファイルを正しく編集してあれば, マシンを再
- 起動することでに自動的にデーモンが起動します. これはKerberosサー
- バでのみ必要です. Kerberosクライアントは<tt>/etc/kerberosIV</tt>か
- ら必要なものを自動的に入手します.
-
-<tscreen><verb>
-grunt# kerberos &
-grunt# Kerberos server starting
- Sleep forever on error
- Log file is /var/log/kerberos.log
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-
-Current Kerberos master key version is 1
-Local realm: GRONDAR.ZA
-grunt# kadmind -n &
-grunt# KADM Server KADM0.0A initializing
-Please do not use 'kill -9' to kill this job, use a
-regular kill instead
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-</verb></tscreen>
-
- <p>さあ, これで上で作成した<it>jane</it>というIDのチケットを
- <tt>kinit</tt>コマンドで得ることができます:
-
-<tscreen><verb>
-grunt$ kinit jane
-MIT Project Athena (grunt.grondar.za)
-Kerberos Initialization for "jane"
-Password:
-</verb></tscreen>
-
- <p><tt>klist</tt>コマンドを用いてトークンを見て, きちんとチケットを持って
- いるかどうか確認してください:
-
-<tscreen><verb>
-grunt$ klist
-Ticket file: /tmp/tkt245
-Principal: jane@GRONDAR.ZA
-
- Issued Expires Principal
-Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.GRONDAR.ZA@GRONDAR.ZA
-</verb></tscreen>
-
- <p><tt>passwd</tt>コマンドを用いてパスワードを変更して, kpasswdデーモ
- ンがKerberosデータベースに対して認証されるかどうかチェックして
- ください:
-
-
-<tscreen><verb>
-grunt$ passwd
-realm GRONDAR.ZA
-Old password for jane:
-New Password for jane:
-Verifying password
-New Password for jane:
-Password changed.
-</verb></tscreen>
-
- <sect1>
- <heading><tt>su</tt>特権の追加</heading>
-
- <p>root権限が必要なユーザは<it>誰でも</it>, <tt>su</tt>コマンドのパス
- ワードをユーザ毎に<it>別のもの</it>として持つことができます.
- <it>root</it>に<tt>su</tt>できる権利を与えられたidを追加します.
- これは, principalに付いている<it>root</it>というインスタンスに
- よって制御されています. <tt>kdb_edit</tt>を用いて
- <it>jane.root</it>というエントリをKerberosデータベースに作成します:
-
-<tscreen><verb>
-grunt# kdb_edit
-Opening database...
-
-Enter Kerberos master key:
-
-Current Kerberos master key version is 1.
-
-Master key entered. BEWARE!
-Previous or default values are in [brackets] ,
-enter return to leave the same, or new value.
-
-Principal name: jane
-Instance: root
-
-<Not found>, Create [y] ? y
-
-Principal: jane, Instance: root, kdc_key_ver: 1
-New Password: <---- 安全なパスワードを入れます
-Verifying password
-
-New Password: <---- もう一回パスワードを入れます
-
-Principal's new key version = 1
-Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
-Max ticket lifetime (*5 minutes) [ 255 ] ? 12 <--- ここは短くしてください
-Attributes [ 0 ] ?
-Edit O.K.
-Principal name: <---- 何も入力しないと終了します
-</verb></tscreen>
-
- <p>実際にトークンをもらって, ちゃんと働いているかどうか確認しましょう:
-
-<tscreen><verb>
-grunt# kinit jane.root
-MIT Project Athena (grunt.grondar.za)
-Kerberos Initialization for "jane.root"
-Password:
- </verb></tscreen>
-
- <p>ここでrootユーザの<tt>.klogin</tt>ファイルにユーザを追加する必要が
- あります.
-
-<tscreen><verb>
-grunt# cat /root/.klogin
-jane.root@GRONDAR.ZA
-</verb></tscreen>
-
- <p><tt>su</tt>してみましょう:
-
-<tscreen><verb>
-[jane@grunt 10407] su
-Password:
-grunt#
-</verb></tscreen>
-
- どのトークンを持っているか見てみましょう:
-
-<tscreen><verb>
-grunt# klist
-Ticket file: /tmp/tkt_root_245
-Principal: jane.root@GRONDAR.ZA
-
- Issued Expires Principal
-May 2 20:43:12 May 3 04:43:12 krbtgt.GRONDAR.ZA@GRONDAR.ZA
-</verb></tscreen>
-
- <sect1>
- <heading>他のコマンドの使用</heading>
-
- <p>ここまでの例では, <tt>jane</tt>というprincipalを<tt>root</tt>とい
- うインスタンス付きで作成しました. これはユーザと同じ名前をprincipalと
- しており, Kerberosのデフォルトの値です;
- <em>&lt;username&gt;.</em><tt>root</tt>という形式の
- <em>&lt;principal&gt;.&lt;instance&gt;</em>で, 必要なエント
- リが<tt>root</tt>のホームディレクトリの<tt>.klogin</tt>ファイルに
- あれば, <em>&lt;username&gt;</em>がrootに<tt>su</tt>することができま
- す.
-
-<tscreen><verb>
-grunt# cat /root/.klogin
-jane.root@GRONDAR.ZA
-</verb></tscreen>
-
- <p>同様に, ユーザのホームディレクトリの<tt>.klogin</tt>ファイルに次の
- ような行がある場合には:
-
-<tscreen><verb>
-[jane@grunt 10543] cat ~/.klogin
-jane@GRONDAR.ZA
-jack@GRONDAR.ZA
-</verb></tscreen>
-
- <p><em>jane</em>または<em>jack</em>という名前で (前述の<tt>kinit</tt>
- によって) 認証されている<em>GRONDAR.ZA</em>という管理領域のユーザ
- なら誰でも<tt>rlogin</tt>や<tt>rsh</tt>, <tt>rcp</tt>等によってこ
- のシステム (<em>grunt</em>) の<em>jane</em>のアカウントまたはファ
- イルにアクセスできます.
-
- 例えば, Janeが他のシステムにKerberosを用いてloginします:
-
-<tscreen><verb>
-[jane@grumble 573] kinit
-MIT Project Athena (grunt.grondar.za)
-Password:
-[jane@grumble 574] rlogin grunt
-Last login: Mon May 1 21:14:47 from grumble
-Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
- The Regents of the University of California. All rights reserved.
-
-FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
-
-[jane@grunt 10567]
-</verb></tscreen>
-
- <p>次の例では, Jackが同じマシンのJaneのアカウントにloginします. Janeは
- <tt>.klogin</tt>ファイルを前述のように設定しており,
- Kerberosでは<em>jack</em>というprincipalをインスタンスなしで設定してあ
- ります.
-
-<tscreen><verb>
-[jack@grumble 573] kinit
-[jack@grumble 574] rlogin grunt -l jane
-MIT Project Athena (grunt.grondar.za)
-Password:
-Last login: Mon May 1 21:16:55 from grumble
-Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
- The Regents of the University of California. All rights reserved.
-
-FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
-
-[jane@grunt 10578]
-</verb></tscreen>
diff --git a/share/doc/ja_JP.EUC/handbook/kernelconfig.sgml b/share/doc/ja_JP.EUC/handbook/kernelconfig.sgml
deleted file mode 100644
index 36dd1f1..0000000
--- a/share/doc/ja_JP.EUC/handbook/kernelconfig.sgml
+++ /dev/null
@@ -1,1252 +0,0 @@
-<!-- $Id: kernelconfig.sgml,v 1.12 1997/02/25 04:56:24 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.28 -->
-<!-- <!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'> -->
- <chapt><heading>FreeBSDカーネルのコンフィグレーション <label id="kernelconfig"></heading>
-
- <p><em>原作: &a.jehamby;. <newline>6 October 1995.</em>
-
- <p><em>訳:
- &a.tomo;,
- &a.yoshiaki;. <newline>
- 2 November 1996. </em>
-
- この章はシステムに合わせたカーネルの再構築の基礎について
- 述べたものです. この章は, システム管理の初心者から
- Unixシステム管理に十分な経験を積んだ人までを対象としています.
-
- <sect><heading>なぜカスタムカーネルを作るか?</heading>
-
- <p>システムに合わせたカーネルの構築はすべての
- Unixシステム管理者が
- 避けて通ることのできない最も重要な通過儀礼の1つです.
- この作業は, 多くの時間を必要としますが, あなたの FreeBSD
- システムに多くの利益をもたらします. GENERICカーネルは,
- めったに使われることのないハードウェアをサポートするとともに,
- 考えられるすべての SCSIカードやネットワークカードをサポート
- しなければなりませんが, システムに合わせたカーネルは
- <em>あなたの</em> PC のハードウェアのみをサポートします.
- これは, 次にあげるような利益をもたらします.
-
- <itemize>
-
- <item>あなたが持っていないハードウェアについては検出をおこなわな
- いので, ブートにかかる時間が短くなります.
-
- <item>システムに合わせたカーネルは多くの場合メモリ使用量が
- 減ります. カーネルはいつもメモリ上に存在するので,
- 不必要なコードがあると本来プログラムが利用できるはずの
- RAM (実メモリ) を占めてしまいますのでこれは重要なことだ
- といえます.
- したがって, メモリが少ないシステムでは,
- カーネルの再構築は大変重要です.
-
- <item>必要に応じていくつかのカーネルオプションは調整すること
- ができ, またサウンドカードのような GENERICカーネルには
- <em>ない</em>デバイスドライバをカーネルに含めることが
- できます.
-
- </itemize></p>
-
- <sect><heading>カスタムカーネルの構築とインストール<label id="kernelconfig:building"></heading>
-
- <p>まず, カーネル再構築に必要なディレクトリをざっと見てみましょう.
- ここではディレクトリはすべて <tt>/usr/src/sys</tt>以下の相対位
- 置で示します. また, <tt>/sys</tt>からもアクセス可能です.
- ここには, カーネルの各部分を構成するサブディレクトリが
- いくつもあります. しかし, 私たちの目的では
- 最も重要なのは <tt>i386/conf</tt>です. ここで, あなたの
- システムに合わせてカーネル コンフィグレーションを編集します.
- それから <tt>compile</tt>ディレクトリ, ここはカーネルが作られる
- 場所です. サポートされているデバイスやファイルシステムのディレ
- クトリツリーがオプション毎にサブディレクトリに分かれている論理
- 的構成に注意してください. また, <tt>i386</tt>のディレクトリは
- PCのハードウェアのみを扱い, <tt>i386</tt>以外のディレクトリは
- FreeBSDが他のプラットフォームに移植される際には共有されるコー
- ドです.
-
- <quote><em/注:/ もし, あなたのシステムに<tt>/usr/src/sys</tt>
- 以下のディレクトリが<em>なければ</em>, カーネルのソースが
- インストールされていません. パッケージのインストール手順にしたがっ
- て, システムにインストールしてください. </quote>
-
- つぎに, <tt>i386/conf</tt>に移動して, GENERIC
- コンフィグレーションファイルをカーネルに与えたい名前に
- コピーしてください. たとえば:
-<tscreen><verb>
-# cd /usr/src/sys/i386/conf
-# cp GENERIC MYKERNEL
-</verb></tscreen>
- 慣習として, この名前はすべて大文字でつづられます. もし,
- いくつかの異なるハードウェアの FreeBSDマシンを扱うなら,
- この名前にホスト名を含めるとよいでしょう.
- ここでは, 例として MYKERNEL と呼ぶことにします.
-
- <quote><em/注:/ この作業は root権限でおこなう必要があります.
- そうでなければ, ``permission denied''というエラーが出ます.
- </quote>
-
- では, MYKERNELをあなたの好きなエディタで編集してください.
- もし, システムをインストールしたばかりならば, 利用できる
- エディタは <tt>vi</tt>だけかもしれません. ここでは使い方
- の説明はしませんが, <ref id="bibliography"
- name="参考図書">にあるような多くの本で詳しく説明
- されていますので, そちらを参照してください.
- まずファイルの最初の方のコメント行を編集し, あなたのコンフィグ
- レーションに合せて変更した点などを記述して GENERICと区別がつく
- ようにしておきましょう.
-
- もし SunOSや他の BSDオペレーティングシステムでカーネルの
- 再構築をしたことがあれば, このファイルはとても親しみ
- やすいでしょう. しかし, DOSのようなその他の
- オペレーティングシステムしか知らない人から見れば,
- GENERICコンフィグレーションファイルはとても
- なじみにくいものかもしれません. そのような場合は, <ref
- id="kernelconfig:config" name="コンフィグレーションファイル">
- の節をゆっくりと注意深く読んでください.
-
- <quote><em/注:/ 古いバージョンの FreeBSDからアップグレードを
- おこなう場合, 新しいカーネルソースを得た場所より新しいバージョンの
- <tt>config(8)</tt>を取ってくる必要があるかもしれません. これは
- <tt>/usr/src/usr. sbin</tt>にあります. したがってこれらのソースをダ
- ウンロードする必要があります. 次のコマンドを実行する前に
- (configを)作りインストールをしておいてください. </quote>
-
- 編集し終ったら, 次のコマンドによってコンパイル, インストール
- を行ってください.
-<tscreen><verb>
-# /usr/sbin/config MYKERNEL
-# cd ../../compile/MYKERNEL
-# make depend
-# make
-# make install
-</verb></tscreen>
- 新しいカーネルはルートディレクトリに <tt>/kernel</tt>という
- 名前でコピーされ, 今までのカーネルは <tt>/kernel.old</tt>
- という名前へ変更されます. では, システムをシャットダウン, リブー
- トして新しいカーネルを使ってください. うまく行かない場合は,
- この章の終りの
- <ref id="kernelconfig:trouble" name= "問題が起きた場合には">
- を参照してください. この章の新しい
- <ref id="kernelconfig:noboot" name="カーネルがブートしない">
- 場合のリカバリの方法を注意深く読んでおいてください.
-
- <quote><em/注:/ (サウンドカードのような)新しいデバイスを
- 追加した場合は, 使う前に <tt>/dev</tt>ディレクトリで
- デバイスノードを追加しなければならないかもしれません.
- 詳しくは, <ref id="kernelconfig:nodes"
- name="デバイスノード">を読んでください. </quote>
-
- <sect><heading>コンフィグレーション ファイル<label id="kernelconfig:config"></heading>
- <p>コンフィグレーション ファイルの一般的なフォーマット
- はとてもシンプルです. 各行は1つのキーワードと1つ以上の
- 引数を含んでいます. 見やすくするために, ほとんどのキーワードは
- 引数を1つしか書いてありません.
- <tt>#</tt>に続くものはすべてコメントとして扱われ,
- 無視されます. ここでは, それぞれのキーワードについて
- だいたい GENERICに出てくる順番で説明します. しかし,
- お互いに関係のあるキーワードは, 実際には GENERICファイル上に
- バラバラに現れていても, (ネットワーキングのように)1つにまとめ
- てあります. <label id="kernelconfig:options"> おびただしい数の
- オプションの一覧が GENERICと同じディレクトリの LINTコンフィグ
- レーションファイルにあります. もし, ある行の目的や必要性に疑
- 問を持ったら最初に LINTをチェックしてください.
-
- <p>カーネルは現在, オプションを扱う方法をよりよい機構に移行しよ
- うとしています. 従来は, 各々のオプションは単純にカーネルの
- Makefile中の <tt>CFLAGS</tt>行の <tt>-D</tt>スイッチに変換されて
- いました. 自然とオプションは際限なく増えて行きます. だれも実際に
- はどのオプションがどのファイルで参照されているかは知りません.
-
- <p>新しい方法では、すべてのオプション依存の <tt> #ifdef</tt>は当該オプショ
- ンを <tt>opt_<em>foo</em>.h</tt> (これらのファイルはconfigによって compileディレ
- クトリに作られます) から読み込むように変わりました.
- <tt>config</tt> の有効なオプションのリストは2つのファイルにお
- かれます. アーキテクチャに依存しないオプションは
- <tt>/sys/conf/options</tt>に置かれ, アーキテクチャ依存のオプショ
- ンは<tt>/sys/<em>arch</em>/conf/options</tt>に置かれま
- す. <em>arch</em>の部分は例えば <tt>i386</tt>となります.
-
-
- <sect1><heading>必須キーワード</heading>
-
- <p>ここにあるキーワードはカーネルの構築に必要不可欠です.
-
- <descrip>
-
- <tag>machine ``i386''</tag>
-
- <p>最初のキーワードは <tt>machine</tt>です.
- FreeBSDは Intelの 386とその互換チップ上でしか
- 動かないので, i386を指定します.
-
- <quote><em>注:</em> 数字を含むキーワードはすべて
- クォーテーションマークで囲む必要があります.
- そうしないと, <tt>config</tt>は混乱し,
- 386を実際の数値として扱ってしまいます. </quote>
-
- <tag>cpu ``<em>cpu_type</em>''</tag>
-
- <p>次のキーワードは <tt>cpu</tt>です.
- FreeBSDでサポートしている CPUの中から記述します.
- <tt><em>cpu_type</em></tt>として指定可能な値は
- 次の通りです.
- <itemize>
- <item>I386_CPU
- <item>I486_CPU
- <item>I586_CPU
- <item>I686_CPU
- </itemize>
- GENERICカーネルのように <tt>cpu</tt>の行の
- <tt><em>cpu_type</em></tt>が異なった値を持つものが
- 複数あってもかまいません. カスタムカーネルでは,
- あなたが持っている cpuを1つだけ指定するのが
- 一番です. 例えば, もし Intelの Pentiumを持っていれば,
- <tt><em>cpu_type</em></tt>には, <tt>I586_CPU</tt>
- を使ってください.
-
- <tag>ident <em>machine_name</em></tag>
-
- <p>次は, カーネルの識別名となる<tt>ident</tt>です.
- GENERICからあなたがカーネルに与えたい名前に
- 変えてください. ここでは, MYKERNELとします.
- <tt>ident</tt>に与えた名前はカーネルの
- ブート時に表示されるので, 普段のカーネルとは別に
- カーネルに違う名前を与えたいとき(例えば,
- 実験用のカーネルを作りたい時など), 便利でしょう.
- 数字を含む名前にしたい場合は <tt>machine</tt>や
- <tt>cpu</tt>の時と同じようにクォーテーションマークで
- 囲む必要があります.
-
- Cコンパイラに <tt>-D</tt>スイッチで渡されるので,
- <tt>DEBUG</tt>のような名前にしたり, <tt>vax</tt>
- といった他のCPUの名前など紛らわしい名前にしないで
- ください.
-
- <tag>maxusers <em>number</em></tag>
-
- <p>これは, 重要なシステムテーブルのサイズを決めます. ここ
- で与えられる数字はマシンに同時にログインすると考えられ
- るおよそのユーザ数です. しかし, 通常の使用環境であれば,
- 特に X Window System を立ち上げたり, ソフトウェアを
- コンパイルするような使用であれば <tt>maxusers</tt>には少
- なくとも4以上を指定したほうがいいでしょう. その理由は,
- <tt>maxusers</tt>で決るテーブルで最も重要なものはプロセス
- の最大数であるからです. プロセス最大数は <bf><tt>20 +
- 16 * maxusers</tt></bf>で与えられ, <tt>maxusers</tt>を1
- にすると36プロセスしか同時には持てません. この中にはブー
- ト時にシステムによって起動する18個ぐらいのプロセス, Xを
- 起動する時の15程度のプロセスも含みます.
- <tt>man</tt>ページを読むという1つのタスクでさえ, フィ
- ルタやファイル伸長や表示のために9つのプロセスを起動し
- ます. <tt>maxusers</tt>を4にすれば, 同時に84個のプロセ
- スを持つことができるのでどんな人でも十分な数だといえる
- でしょう.
- それでも他のプログラムを起動した場合に, あるいは,
- (Walnut Creek CDROMのFTPサイトのように) 同時に多くの
- ユーザを抱えるサーバを走らせた場合に ``proc table
- full''というおぞましいエラーが起きる場合はこの値を増や
- し, カーネルを再構築してください.
-
- <quote><em/注:/ <tt>maxuser</tt>はあなたのマシン
- にログインできるユーザの数を制限するものでは
- <em>ありません</em>. 単に, あなたのシステムに
- ログインするユーザ数の最大値と各々のユーザが
- いくつのプロセスを走らせるかを考慮することに
- よってさまざまなテーブルの値を適切な値に設定
- するだけです. これに対し, <ref
- id="kernelconfig:ptys" name="pseudo-device pty
- 16">の <em>remote logins</em>というキーワードは
- 同時にリモートログインできるユーザ数を制限
- <em>します</em>. </quote>
-
- <tag>config <em>kernel_name</em> root on <em>root_device</em></tag>
-
- <p>これはカーネルの位置と名前を特定します.
- 伝統的にカーネルは <tt>vmunix</tt>と呼ばれますが,
- FreeBSDでは <tt>kernel</tt>とふさわしい名前になりました.
- <em>kernel_name</em>にはいつも <tt>kernel</tt>を
- 使ってください. 名前を変えると多くのシステム
- ユーティリティが使えなくなります. 2番目の部分は
- ルートファイルシステムとカーネルのあるディスクと
- パーティションを指定してください.
- SCSIドライブでなければ, <tt>wd0</tt>を,
- SCSIドライブならば <tt>sd0</tt>です.
- </descrip>
-
- <sect1><heading>一般的なオプション</heading>
-
- <p>以下はカーネルのサポートするさまざまなファイルシステムおよ
- びその他のオプションです.
-
- <descrip>
-
- <label id="kernelconfig:mathemu">
-
- <tag>options MATH_EMULATE</tag>
-
- <p>これは, 数値演算コプロセッサがない
- コンピュータ (386や486SX) で数値演算コプロセッサ
- のエミュレーションを可能にします. もし, Pentiumや
- 486DX, あるいは387や487があれば, コメントアウト
- できます.
-
- <quote><em>注:</em> FreeBSD付属の数値演算
- コプロセッサエミュレータはあまり正確では
- <em>ありません</em>. 非常に正確な計算をおこないたい
- ならば, より優れた GNUのエミュレータである
- <tt>GPL_MATH_EMULATE</tt>に変えることを
- おすすめします. これはライセンスの関係でデフォルトでは
- 含まれていません. </quote>
-
- <tag>options ``COMPAT_43''</tag>
-
- <p>4.3BSDとの互換性のためのオプションです.
- そのままにしておいてください. コメントアウトすると,
- いくつかのプログラムで動作がおかしくなります.
-
- <tag>options BOUNCE_BUFFERS</tag>
-
- <p>ISAデバイスやISA互換モードで動作する EISAデバイス
- では DMA (Direct Memory Access) は16MB以下のメモリに対し
- てのみ動作します. このオプションによりメモリが16MB以上
- のシステムでDMAを使うデバイスを動作させることができます.
-
- <tag>options UCONSOLE</tag>
-
- <p>ユーザがコンソールを横取り (grab) できるようにします.
- これは X Window System 上で便利です. 例えば, コ
- ンソール xtermを <tt>xterm -C</tt>とタイプして作ると,
- そこに `write', `talk'などのメッセージがカーネルからコ
- ンソールへ送られるメッセージと同じように表示されます.
-
- <tag>options SYSVSHM</tag>
-
- <p>このオプションは System V の共有メモリを提供します.
- X Window System の XSHM拡張での利用がもっとも一般に見
- られる例で, 多くのグラフィックを多用したプログラム
- (movie player の Xanimや Linux DOOMなど) ではこれを
- 利用することで速度が増加するというメリットがあります.
- X Window System を利用するのであればこれは間違いな
- く含めたくなるでしょう.
-
- <tag>options SYSVSEM</tag>
-
- <p>System V のセマフォをサポートします. 一般的に利用される
- ことは少ないですがカーネルサイズの増加は数百バイトだ
- けです.
- <tag>options SYSVMSG</tag>
-
- <p>System V のメッセージをサポートします. これを指定した場
- 合もカーネルサイズの増加は数百バイトだけです.
-
- <quote><em/注:/ <tt>ipcs(1)</tt> コマンドは
- これらの System V の機構を利用しているプロセスを表示し
- ます.
- </quote>
- <quote><em>訳注: </em>共有メモリ, セマフォ, メッセージ(メッ
- セージキュー) は System V系 で一般的なプロセス間通信の機
- 構です. くわしくは System Vのプロセス間通信に関する文
- 献, 「詳解 UNIXプログラミング」 (ソフトバンク) , 「UNIXネッ
- トワークプログラミング」 (トッパン) などを参照してくださ
- い.
- </quote>
-
- </descrip>
-
- <sect1><heading>ファイルシステムオプション</heading>
-
- <p>これらのオプションはさまざまなファイルシステムへのサポート
- を追加します. 少なくともブートするためのデバイスのサポートを含
- める必要があります. 標準的にはハードディスクからブートするので
- あれば <tt>FFS</tt> , ディスクレスワークステーションとしてイー
- サネットからブートするのであれば <tt>NFS</tt>です.
- 一般的に利用される他のファイルシステムをカーネルに含め, あまり
- 利用しないファイルシステム (多分 MS-DOSファイルシステム?) のサポー
- トをコメントアウトすることができます. これは Loadable Kernel
- Module ディレクトリ <tt>/lkm</tt> から, 最初にそのタイプのファイ
- ルシステムがマウントされる時に動的にドライバがロードされるからです.
-
- <descrip>
-
- <tag>options FFS</tag>
-
- <p>基本的なハードドライブ ファイルシステムです. ハードディ
- スクからブートする場合は残しておいてください.
-
- <tag>options NFS</tag>
-
- <p>ネットワーク ファイルシステムです. Ethernet経由で Unixファ
- イルサーバからパーティションをマウントする予定がない場
- 合はコメントアウトすることができます.
-
- <tag>options MSDOSFS</tag>
-
- <p>MS-DOS ファイルシステムです. ブート時に DOSフォーマット
- のハード ドライブをマウントする予定のない場合はコメン
- トアウトしても安全です. 先に示したように, DOSパーティ
- ションをマウントする時に自動的にロードされます. また
- (ports コレクションにある) <tt>mtools</tt> という素晴
- らしいソフトウェアにより mount , unmountなしで DOSフロッ
- ピーにアクセスすることができます (これは MSDOSFSも必要
- ありません).
-
- <tag>options ``CD9660''</tag>
-
- <p> CD-ROMのための ISO 9660 ファイルシステムです. CD-ROMを
- 持っていないか, 時々 データ CDをマウントするだけならコ
- メントアウトしましょう (データ CDを最初にマウントする
- 時に動的にロードされます). オーディオ CDはこのファイル
- システムは必要ありません.
-
- <tag>options PROCFS</tag>
-
- <p>プロセス ファイルシステムです. これは疑似的なファイルシ
- ステムで /procにマウントされ, <tt>ps(1)</tt>などのプロ
- グラムがプロセスに関してより詳しい情報を与えてくれるよ
- うになります.
-
- <tag>options MFS</tag>
-
- <p>メモリマップド ファイルシステムです. これは基本的に一時
- ファイルを記憶するための高速な RAMディスクで, 大きな
- swap領域がある場合に有効です. MFSパーティションをマウ
- ントするに適した場所は多くのプログラムが一時ファイルを
- 置く <tt>/tmp</tt>です. MFS RAMディスクを <tt>/tmp</tt>
- にマウントするには以下の内容を <tt>/etc/fstab</tt>に追
- 加してリブートするか <tt>mount /tmp</tt>とタイプします.
-
-<tscreen><verb>
-/dev/wd1s2b /tmp mfs rw 0 0
-</verb></tscreen>
-
- <quote><em/注:/ <tt>/dev/wd1s2b</tt>をあなたが使用して
- いるswap パーティションに置き換えてください. これは以
- 下のように <tt>/etc/fstab</tt>に書かれているでしょう.
-<tscreen><verb>
-/dev/wd1s2b none swap sw 0 0
-</verb></tscreen>
- </quote>
-
- <quote><em/注:/ <!-- MFS は現在のところ少しの制限があ
- ります (例えば, 2つのプログラムが同時に <tt>/tmp</tt>デ
- バイスにアクセスすることはできません). そのためいまの
- ところは使わない方が無難です. --> また, <tt>MFS</tt>ファ
- イルシステムは動的にロードすることは<em>できません
- </em>. したがって使いたい場合はコンパイル時に
- カーネルに<em>含める必要があります</em>.
- </quote>
-
- <tag>options QUOTA</tag>
-
- <p>ディスククォータを有効にします. アクセスが公開されてい
- るシステムで (一人のユーザが) <tt>/home</tt>パーティショ
- ン (全体) をあふれさせることができないようにそれぞれのユーザ
- にディスククォータを発行することができます.
- ディスククォータについての詳しい内容は<ref id="quotas"
- name="ディスク クォータ">の章を見てください.
- </descrip>
-
- <sect1><heading>基本的なコントローラとデバイス</heading>
-
- <p>この節では FreeBSDでサポートされているディスク, テー
- プ, CD-ROMコントローラについて示します.
- <ref id="kernelconfig:scsi" name="SCSI"> コントローラと <ref
- id="kernelconfig:network" name="ネットワーク"> カードについ
- ては別の節になっています.
-
- <descrip>
-
- <tag>controller isa0</tag>
- <p> FreeBSDのサポートするすべての PCで必要です. IBM PS/2 (マイ
- クロチャネルアーキテクチャ) では現時点では FreeBSDは動
- きません.
-
- <tag>controller pci0</tag>
-
- <p>PCIバスを持つマザーボードの場合は含めます. これにより
- PCIカードの自動認識と PCIから ISAバスへのゲートウェイが
- 可能になります.
-
- <tag>controller fdc0</tag>
-
- <p>フロッピードライブコントローラです.
- <tt>fd0</tt> は ``A:'' ドライブで
- <tt>fd1</tt> は ``B:'' ドライブです. <tt>ft0</tt> は
- フロッピーコントローラに接続する QIC-80 テープドライブで
- す. 対応するデバイスがない場合はそれぞれの行をコメント
- アウトしてください.
-
- <quote><em/注:/QIC-80テープのサポートは別に
- <tt>ft(8)</tt>というフィルタプログラムが必要です.
- くわしくはマニュアルページを見てください. </quote>
-
- <tag>controller wdc0</tag>
-
- <p>プライマリIDEコントローラです. <tt>wd0</tt> と
- <tt>wd1</tt>はそれぞれマスタ, スレーブドライブで
- す. <tt>wdc1</tt> は セカンダリの IDEコントローラで3台
- 目, 4台目のハードディスクまたは IDE CD-ROMのある場合に
- 使います. 利用しない行はコメントアウトしてください (例え
- ば, SCSIハードディスクのみを使う場合は6行全部をコメント
- アウトしてもよいかもしれません).
-
- <tag>device wcd0<label id="kernelconfig:atapi"></tag>
-
- <p>このデバイスは IDE CD-ROMのサポートをします.
- <tt>wdc0</tt>を有効にしておく必要があり, もし 2つ以上の IDE
- コントローラがあり, そのうちの 2つ目のカードに CD-ROMを接
- 続する場合 <tt/wdc1/ も必要です.
- また <tt>options ATAPI</tt>を書いておく必要もあります.
-
- <tag>device npx0 at isa? port ``IO_NPX'' irq 13 vector npxintr</tag>
-
- <p><tt>npx0</tt>はFreeBSDハードウェアコプロセッサとソフト
- ウェアエミュレータ両方の浮動小数点演算ユニットへのインタ
- フェースです. これは <em/不可欠/ です.
-
- <tag>device wt0 at isa? port 0x300 bio irq 5 drq 1 vector wtintr</tag>
-
- <p>Wangtek と Archive の
- QIC-02/QIC-36 テープドライブのサポートです.
-
- <tag>Proprietary CD-ROM support</tag>
-
- <p>以下のようなドライブを <em>proprietary</em>(独自の)
- CD-ROMドライブと呼ぶことにします. これらのドライブは専
- 用のコントローラを持つか, サウンドブラスタ16などのサウ
- ンドカードに接続します. これらは IDEでも SCSIでも<em>あ
- りません</em>. 多くの標準速や2倍速の古い CD-ROMはこれら
- のインタフェースを持っていますが, より新しい四倍速の
- ものは <ref id="kernelconfig:atapi" name="IDE"> か <ref
- id="kernelconfig:scsi" name="SCSI">でしょう.
-
-
- <descrip>
-
- <tag>device mcd0 at isa? port 0x300 bio irq 10 vector mcdintr</tag>
-
- <p>ミツミ製 CD-ROM (LU002,
- LU005, FX001D)です.
-
- <tag>device scd0 at isa? port 0x230 bio</tag>
-
- <p>ソニー製 CD-ROM (CDU31,CDU33A)です.
-
- <tag>controller matcd0 at isa? port ? bio</tag>
-
- <p>松下/パナソニック製 CD-ROM (サウンドブラスタ用
- クリエィティブ ラボ製として販売されていました) です.
-
- </descrip>
-
- </descrip>
-
- <sect1><heading>SCSI デバイスのサポート<label id="kernelconfig:scsi"></heading>
-
- <p>この節では FreeBSDのサポートするいろいろな SCSIコント
- ローラとデバイスのサポートについて書きます.
-
- <descrip>
-
- <tag>SCSI コントローラ</tag>
-
- <p>以下の十数行は異る種類の SCSIコントローラのサポートです.
- 使用しているもの以外の部分はコメントアウトしてください.
-
- <descrip>
-
- <tag>controller bt0 at isa? port ``IO_BT0'' bio irq ? vector btintr</tag>
-
- <p>ほとんどの Buslogic社のコントローラです.
-
- <tag>controller uha0 at isa? port ``IO_UHA0'' bio irq ? drq 5 vector uhaintr</tag>
-
- <p>UltraStor 14F と 34F です.
-
- <tag>controller ahc0</tag>
-
- <p>Adaptec 274x/284x/294x です.
-
- <tag>controller ahb0 at isa? bio irq ? vector ahbintr</tag>
-
- <p>Adaptec 174x です.
-
- <tag>controller aha0 at isa? port ``IO_AHA0'' bio irq ? drq 5 vector ahaintr</tag>
-
- <p>Adaptec 154x です.
-
- <tag>controller aic0 at isa? port 0x340 bio irq 11 vector aicintr
-</tag>
-
- <p>Adaptec 152x や サウンドカードなどに使われている Adaptec
- AIC-6360 チップです. (slow!)
-
- <tag>controller nca0 at isa? port 0x1f88 bio irq 10 vector ncaintr
-</tag>
-
- <p>NCR 5380を使っている ProAudioSpectrum や Trantor T130 で
- す.
-
- <tag>controller sea0 at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr</tag>
-
- <p>Seagate ST01/02 8 ビットコントローラです. (slow!)
-
- <tag>controller wds0 at isa? port 0x350 bio irq 15 drq 6 vector wdsintr</tag>
-
- <p>Western Digital WD7000コントローラです.
-
- <tag>controller ncr0</tag>
-
- <p>NCR 53C810, 53C815, 53C825, 53C860, 53C875 チップを使った
- PCI SCSI コントローラです.
-
- </descrip>
-
- <tag>options ``SCSI_DELAY=15''</tag>
-
- <p> このオプションによりカーネルはそれぞれの SCSIデバイスを
- プローブする前に 15秒間待ちます. IDEドライブのみを使用
- している場合は無視して構いません. ブートを速くするため
- にこの数値を 5秒ぐらいまで小さくしたいでしょう. そうし
- た場合, FreeBSDが SCSIデバイスを認識しにくくなるかもし
- れません. その時は、もちろんこのオプションの値は元に戻
- さないといけません.
-
-
- <tag>controller scbus0</tag>
-
- <p>SCSIコントローラがある場合, この行で SCSI全般のサポー
- トを与えます. SCSIのない場合, この行と以下の3つの行をコメ
- ントにすることができます.
-
- <tag>device sd0</tag>
-
- <p>SCSIハードディスクのサポートです.
-
- <tag>device st0</tag>
-
- <p>SCSIテープドライブのサポートです.
-
- <tag>device cd0</tag>
-
- <p>SCSI CD-ROM のサポートです.
-
- <p> 上のエントリについている <bf>0</bf>はいくらか誤解を招き
- やすいかもしれません. これらのデバイスはすべてカーネルが
- 見つけた時に割り当てがおこなわれ, SCSIバスに何台つながってい
- るか, ターゲット IDが何番であるかはここの記述とは関係あ
- りません.
-
- 明示的に「固定的な」ターゲット IDの特定のデバイスへの
- 割り当てをおこないたい場合は LINT カーネルコンフィグレーションファイルの
- 該当する部分の説明を参照してください.
-
- </descrip>
-
- <sect1><heading>コンソール, バスマウス, Xサーバのサポート</heading>
-
- <p>2つのタイプのコンソールからどちらか1つを選ぶ必要があります.
- 標準ではない方の vt220 コンソールを選んだ場合, X Window System
- を利用するには XSERVER オプションを有効にする必要があります
- (訳注: sc0 には XSERVER オプション相当の機能が始めから入っています).
- またバスマウスとPS/2マウスのオプションもあります.
-
- <descrip>
-
- <tag>device sc0 at isa? port ``IO_KBD' tty irq 1 vector scintr</tag>
-
- <p><tt>sc0</tt> はデフォルトのコンソールドライバで SCOコン
- ソールに似ています. このデバイス, あるいは VT220コンパ
- チブルドライバの <tt>vt0</tt>いずれを使う場合もほとんど
- のフルスクリーンプログラムは <em>termcap</em>などのターミ
- ナルデータベースライブラリを通してアクセスしますので,
- あまり違いはないでしょう.
- このコンソールを使う場合でフルスクリーンプログラムでト
- ラブルが起きる場合にはログインした時に TERM変数の値を
- ``scoansi''にしてください.
-
- <tag>device vt0 at isa? port ``IO_KBD'' tty irq 1 vector pcrint</tag>
-
- <p>これはVT-220コンパチブルコンソールドライバで VT100/102の
- 上位互換です. これは <tt>sc0</tt>の使えない種類のラッ
- プトップ機でもうまく動きます. ログイン時に TERM変数の値
- を``vt100'' か ``vt220''にしてください. また, このドラ
- イバはネットワークを介して多くの異るマシンから接続する
- 場合も便利です. <tt>sc0</tt>デバイスのための
- <em>termcap</em>や <em>terminfo</em>エントリは必ずしも
- 利用できるわけではありませんが -- ``vt100''はいずれの
- プラットフォームでも利用可能でしょう.
-
- <descrip>
-
- <tag>options ``PCVT_FREEBSD=210''</tag>
-
- <p><tt>vt0</tt> コンソールドライバを使う場合に必要で
- す.
-
- <tag>options XSERVER</tag>
-
- <p> <tt>vt0</tt> コンソールドライバを使う時のみ有効です.
- これは <tt>vt0</tt> コンソールドライバのもとで
- <tt>XFree86</tt> X サーバを動かすのに必要なコードを含めます.
-
- </descrip>
-
- <tag>device mse0 at isa? port 0x23c tty irq 5 vector ms</tag>
-
- <p> Logitech や ATIのバスマウス入力カードを利用する場合のデ
- バイスです.
-
- <quote><em/注:/ シリアルマウスを使う場合にはこれら2つ
- の行(バスマウスとPS/2マウスに関する行)
- は無視して, 代わりに <ref id="kernelconfig:serial"
- name="シリアル"> ポート(おそらくはCOM1)を有効にしてくだ
- さい. </quote>
-
- <tag>device psm0 at isa? port ``IO_KBD'' conflicts tty irq 12 vector psmintr</tag>
-
- <p>このデバイスは PS/2マウスポートにマウスを接続する場合に
- 使います.
-
- </descrip>
-
- <sect1><heading>シリアル, パラレルポート</heading>
-
- <p>ほとんどすべてのシステムにこれらはあります. プリンタを接続す
- る場合は <ref id="printing" name="プリンタの利用">の章が非常
- に役に立つでしょう. モデムを使う場合は <ref id="dialup"
- name="ダイヤルアップ アクセス"> に非常に詳しいシリアルポートの設定とデ
- バイスの使い方があります.
-
- <descrip>
-
- <tag>device sio0 at isa? port ``IO_COM1'' tty irq 4 vector siointr<label id="kernelconfig:serial"></tag>
-
- <p><tt>sio0</tt>から<tt>sio3</tt>は MS-DOSにおける COM1から
- COM4に相当する4本のシリアルポートです.
- COM4に内蔵モデムがあり COM2を使う場合, FreeBSDからアク
- セスするためにはモデムのIRQを2へ変更する必要があるとい
- うことを注意しておきます (技術的な理由より IRQ 2 = IRQ
- 9となります).
- マルチポートシリアルカードを使う場合にマニュアルページ
- の<tt>sio(4)</tt>にはこのオプションで使う値などのよ
- り多くの情報があります. ビデオカードの中には (特に S3
- チップベースのものには) IOアドレスの <tt>0x*2e8</tt>から
- を利用するものがあり, また多くの安価なシリアルカードは
- IOアドレス空間を16-bitフルデコードしていませんので, こ
- れらのカードは衝突します. この場合 COM4ポートは実質上
- 利用できません.
-
- それぞれのシリアルポートは (割込みの共有をサポートした
- マルチポートカードを利用していないのであれば) 別々の IRQ
- を割り当てる必要がありますので COM3と COM4のデフォルトの
- IRQは利用できません.
-
- <tag>device lpt0 at isa? port? tty irq 7 vector lptintr</tag>
-
- <p><tt>lpt0</tt> から <tt>lpt2</tt>は利用可能な3本のプリン
- タポートです. 多くの場合は1本のみですので他の2本はない
- のであればコメントアウトして構いません.
-
- </descrip>
-
- <sect1><heading>ネットワーク<label id="kernelconfig:network"></heading>
-
- <p> FreeBSDでは他の一般的な Unixと同様にネットワークが<em>
- 非常に</em> 重視されています. イーサネットカードが
- なくても必須のオプションとダイヤルアップ ネットワークのサポー
- トに注意してください.
-
- <descrip>
-
- <tag>options INET</tag>
- ネットワーキングのサポートです. ネットワークに接続する予定がな
- くても残しておいてください. 多くのプログラムは少なくともループ
- バックネットワーキングが必要です(つまり, PCの中でネットワーク
- コネクションをおこないます). したがってこのオプションは本質的
- に不可欠です.
-
- <tag>Ethernet cards</tag>
-
- <p>以下にさまざまなイーサネットカードを有効にするオプショ
- ンを示します. ネットワークカードがなければこれらすべてを
- コメントアウトすることができます. そうでなければ利用す
- る特定のイーサネットカードをサポートするオプションを残
- しておきます.
-
- <descrip>
-
- <tag>device de0</tag>
-
- <p>DECの DC21040, DC21041, DC21140チップを使った PCIイー
- サネットアダプタです.
-
-
- <tag>device fxp0
-
- <p>Intel EtherExpress Pro/100B 高速イーサネットカード
- です.
-
- <tag>device vx0
-
- <p>3Com の 3C590, 3C595です (いくらか bugがあります).
-
- <tag>device cx0 at isa? port 0x240 net irq 15 drq 7 vector cxintr</tag>
-
- <p>Cronyx/Sigma の マルチポート同期/非同期カードです.
- (with Cisco or PPP framing)
-
- <tag>device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr</tag>
-
- <p>Western Digital と SMC の 80xx, 8216 Elite Ultra ;
- ノベル NE1000, NE2000; 3Com の 3C503; HPの PC Lan Plus
- (HP27247B とHP27252A) です.
-
- <tag>device el0 at isa? port 0x300 net irq 9 vector elintr</tag>
-
- <p>3Com の 3C501 です. (slow!)
-
- <tag>device eg0 at isa? port 0x310 net irq 5 vector egintr</tag>
-
- <p>3Com の 3C505です.
-
- <tag>device ep0 at isa? port 0x300 net irq 10 vector epintr</tag>
-
- <p>3Com の 3C509 です(バグがあります).
-
- <tag>device fe0 at isa? port 0x240 net irq ? vector feintr</tag>
-
- <p>富士通 MB86960A/MB86965A ベースのイーサネットカード
- です.
-
- <tag>device fea0 at isa? net irq ? vector feaintr</tag>
-
- <p>DEC DEFEA EISA FDDI アダプタです.
-
- <tag>device ie0 at isa? port 0x360 net irq 7 iomem 0xd0000 vector ieintr</tag>
-
- <p>AT&amp;T StarLAN 10 と EN100; 3Com の 3C507;
- NI5210 です.
-
- <tag>device ix0 at isa? port 0x300 net irq 10 iomem 0xd0000 iosiz 32768 vector ixintr</tag>
-
- <p>Intel の EtherExpress 16です.
-
- <tag>device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr</tag>
-
- <p>DEC の EtherWorks 2 and EtherWorks
- 3 (DEPCA, DE100, DE101, DE200, DE201, DE202,
- DE203, DE204, DE205, DE422)です.
-
- <tag>device lnc0 at isa? port 0x300 net irq 10 drq 0 vector lncintr</tag>
-
- <p>Lance/PCnet カード (Isolan, Novell NE2100,
- NE32-VL)です.
-
- <tag>device ze0 at isa? port 0x300 net irq 5 iomem 0xd8000 vector zeintr</tag>
-
- <p>IBM/ナショナルセミコンダクタの PCMCIA イーサネット
- コントローラです.
-
- <tag>device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr</tag>
-
- <p>3Com の PCMCIA Etherlink III です.
-
- </descrip>
-
- <quote><em/注:/ いくつかのカードでは (特に NE2000では)
- 「標準値」がありませんので IOポートやIRQの値を変更す
- る必要がある場合があります. </quote>
-
- <tag>pseudo-device loop</tag>
-
- <p><tt>loop</tt> は TCP/IPの一般的なループバックデバイスで
- す. telnet や FTPを <em>localhost</em> (<tt>127.0.0.1</tt>)
- に対して行なうとこの疑似デバイスを通して帰ってきます.
- 不可欠です.
-
- <tag>pseudo-device ether</tag>
-
- <p><tt>ether</tt>はイーサネットカードがある場合のみ必要で
- 一般的なイーサネットプロトコルを含めます.
-
- <tag>pseudo-device sl <em>number</em></tag>
-
- <p><tt>sl</tt> は SLIP (Serial Line Internet Protocol) をサポー
- トします. これはほとんど完全に, より簡単に設定ができ, モ
- デム to モデム接続に適した, よりパワフルな PPPに取って代
- わられています. <tt>sl</tt>の後の <em>number</em> は同
- 時にいくつの SLIPセッションをサポートするかを示します.
- SLIPの設定のより詳しい情報はこのハンドブックの
- 「PPPとSLIP」の章の
- <ref id="slipc" name="SLIPクライアントのセットアップ">
- と <ref id="slips" name="SLIPサーバのセットアップ方法
- ">について書かれた節にあります。
-
- <tag>pseudo-device ppp <em>number</em></tag>
-
- <p><tt>ppp</tt>はダイヤルアップ インターネット接続のための
- カーネルモード PPP (Point-to-Point Protocol) をサポート
- します. ユーザアプリケーションとして <tt>tun</tt> を
- 利用する PPPの実装もあり, こちらはより柔軟性がありデマ
- ンドダイアリング(プログラムが接続要求を出した時に自動
- 的にダイヤルをおこなう)などの機能もあります. それでもこ
- の PPPドライバを利用したい場合は <ref id="ppp"
- name="カーネル PPPの設定"> の節を読んでください.
- <tt>sl</tt>デバイスと同じように <em>number</em>は同時
- に PPP接続できる数を示します.
-
- <tag>pseudo-device tun <em>number</em></tag>
-
- <p><tt>tun</tt> はユーザモード PPPソフトウェアが利用しま
- す. このプログラムは設定が簡単で非常に高速です.
- また自動ダイヤル オン デマンドなどの機能を持ちます.
- <tt>tun</tt>の後のnumber は同時におこなうことのできる
- PPPセッションの数を示します. <ref id="userppp"
- name="ユーザ PPP のセットアップ"> の節により多くの情報があ
- ります.
-
- <tag>pseudo-device bpfilter <em>number</em></tag>
-
- <p>バークレイ パケットフィルタです. この疑似デバイスはネッ
- トワークインタフェースを無差別 (promiscuous) モードにし
- てネットワーク (例えば単一のイーサネット) にブロードキャス
- トされるすべてのパケットを取り入れることを可能にします. こ
- れらのパケットはディスクに取り入れられたり
- <tt>tcpdump(1)</tt> によって検査されます. この機能の実現
- はネットワーク全体のセキュリティとの微妙な妥協点であるこ
- とに注意してください.
- bpffilter の後の <em>number</em>は同時に検査することの
- できるインタフェースの数を示します.
- 危険の可能性について十分解っている場合を除いてこのオプ
- ションは奨めません. すべてのネットワークカードでこの機能
- をサポートをしてはいません.
-
- </descrip>
-
- <sect1><heading>サウンドカード</heading>
-
- <p>ここは GENERICカーネルに含まれていない最初のセクションです.
- サウンドカードのサポートをするためには LINTコンフィグレーショ
- ンファイル(これには<em>すべての</em>デバイスが含まれています)か
- ら以下のような適切な行をコピーする必要があります.
-
- <descrip>
-
- <tag>controller snd0</tag>
-
- <p>サウンドドライバ一般のコードです.
- <tt>pca</tt>を除く以下のすべてのサウンドカードで必要で
- す.
-
- <tag>device pas0 at isa? port 0x388 irq 10 drq 6 vector pasintr</tag>
-
- <p>ProAudioSpectrum のオーディオ と MIDI です.
-
- <tag>device sb0 at isa? port 0x220 irq 7 conflicts drq 1 vector sbintr</tag>
-
- <p>SoundBlaster です.
-
- <quote><em/注:/ SoundBlaster の IRQが標準と異る値,
- 例えば 5になっている場合, <tt>irq 7</tt>を<tt>irq
- 5</tt>に書き換え, キーワード <tt>conflicts</tt>を削除し
- てください. さらに <tt>options ``SBC_IRQ=5''</tt>の行を
- 加える必要があります. </quote>
-
- <tag>device sbxvi0 at isa? drq 5</tag>
-
- <p>SoundBlaster 16 の 16-bit オーディオです.
-
- <quote><em/注:/ SB16の DMAチャネルが標準と異っている(
- 例えば 6か7)キーワード <tt>drq 5</tt>を適切な値に書き直
- して, (DMA 6の場合) <tt>options "SB16_DMA=6"</tt>を付け
- 加えてください. </quote>
-
- <tag>device sbmidi0 at isa? port 0x330</tag>
-
- <p>SoundBlaster 16 の MIDI インタフェースです.
- SoundBlaster 16を使う場合必ずこの行を含めてコンパイル
- してください.
-
- <tag>device gus0 at isa? port 0x220 irq 10 drq 1 vector gusintr</tag>
-
- <p>Gravis Ultrasound です.
-
- <tag>device mss0 at isa? port 0x530 irq 10 drq 1 vector adintr</tag>
-
- <p>Microsoft Sound System です.
-
- <tag>device opl0 at isa? port 0x388 conflicts</tag>
-
- <p>AdLib FMシンセサイザオーディオです.
- AdLib, SoundBlaster, ProAudioSpectrum を使い
- <tt>playmidi</tt> (ports にあります) などのプログラムで
- MIDIの演奏をしたい場合にこの行を含めます.
-
- <tag>device mpu0 at isa? port 0x330 irq 6 drq 0</tag>
-
- <p>Roland MPU-401 カードです.
-
- <tag>device uart0 at isa? port 0x330 irq 5 vector ``m6850intr''</tag>
-
- <p>MIDIインタフェースの 6850 UART です.
-
- <tag>device pca0 at isa? port ``IO_TIMER1'' tty<label id="kernelconfig:pcaudio"></tag>
-
- <p>PC のスピーカーを使ったオーディオです. これは非常に品質
- が悪く, CPUの性能, 負荷に強く依存します, と言っておき
- ます (サウンドカードは必要ありませんが).
-
- </descrip>
-
- <quote><em/注:/ 追加のドキュメントが
- <tt>/usr/src/sys/i386/isa/sound/sound.doc</tt>にあります.
- また, これらのデバイスを追加する場合は, サウンド<ref
- id="kernelconfig:nodes" name="デバイスノード">を作る必要があり
- ます. </quote>
-
- <sect1><heading>疑似デバイス</heading>
-
- <p>疑似デバイスドライバはデバイスドライバと同様に働きますがマ
- シン上に対応する実際のハードウェアがないカーネルの部分です.
- <ref id="kernelconfig:network" name="ネットワーク">関連の
- 疑似デバイスはそちらのセクションに示しました. ここでは残りにつ
- いて示します.
-
- <descrip>
-
- <tag>pseudo-device gzip</tag>
-
- <p><tt>gzip</tt>は <tt>gzip</tt>によって圧縮された FreeBSDの
- プログラムを実行できるようにします. /standにあるプログ
- ラムは圧縮されているのでカーネルにこのオプションをつけ
- ておくのはいい考えでしょう.
-
- <tag>pseudo-device log</tag>
-
- <p><tt>log</tt> はカーネルエラーのログを取るのに使います.
- 不可欠です.
-
- <tag>pseudo-device pty <em>number</em><label id="kernelconfig:ptys"></tag>
-
- <p><tt>pty</tt> は「仮想ターミナル」や仮想ログインポート
- です. 外部からの <bf>telnet</bf>や <bf>rlogin</bf>セッ
- ション, xterm, emacsなどのアプリケーションが使います.
- <em>number</em>は作ることのできる <tt>pty</tt>の数を示
- します.
- GENERICのデフォルトは16で, 同時の xtermウィンドウやリモー
- トログインのために増やす場合は最大で 64までです.
-
- <tag>pseudo-device snp <em>number</em></tag>
-
- <p>スヌープデバイスです. この疑似デバイスはあるターミナル
- セッションが <tt>watch(8)</tt> commandによって他のター
- ミナルを監視することを可能にします. この機能の実現はセ
- キュリティとプライバシに対して極めて微妙な関係があり
- ます. snpの後の <em>number</em>は同時におこなうことのでき
- るスヌープセッションの総数です. 選択可能です.
-
- <tag>pseudo-device vn</tag>
-
- <p>Vノードドライバです. ファイルを <tt>vnconfig(8)</tt>コマ
- ンドによってデバイスとして取り扱うことを可能にします.
- このドライバによりフロッピーディスクイメージを操作したりファ
- イルをスワップデバイスとして (MS Windowsのスワッ
- プファイルなどを)用いることができます. 選択可能です.
-
-
- <tag>pseudo-device ccd <em>number</em></tag>
-
- <p>ccd (concatenated disk)デバイスはいくつかのディスクパーティ
- ションを融合して大きなディスクのように見せることができます.
- ccdの後の <em>number</em>は同時に作ることのできる疑似ディスクの数です.
- (詳しいことは <tt>ccd(4)</tt>と <tt>ccdconfig(8)</tt>のマニュ
- アルを参照してください.) 選択可能です.
-
- </descrip>
-
- <sect1><heading>ジョイスティック, スピーカー, その他</heading>
-
- <p>この節は FreeBSDのここまでに示した以外のハードウェア
- デバイスへのサポートについて示します. これらは GENERICカーネル
- には含まれませんのでこのハンドブックや LINT (このファイルには
- <em>すべての</em>デバイスのサポートが含まれます) からコピーする必
- 要があります.
-
- <descrip>
-
- <tag>device joy0 at isa? port ``IO_GAME''</tag>
-
- <p>PC のジョイスティックです.
-
- <tag>pseudo-device speaker</tag>
-
- <p> IBM BASIC スタイルの PC内蔵スピーカーのサポートです.
- シェルスクリプトで簡単な演奏をする
- <tt>/usr/sbin/spkrtest</tt> やキーボードを使って単純なピ
- アノのように演奏することができる
- <tt>/usr/games/piano</tt> (<em>games</em>パッケージをイ
- ンストールした場合にはあります) のようないくつかのプロ
- グラムで使われます. また素晴らしいテキストロールプレイ
- ングゲームである NetHack (ports コレクションにあります)
- はゲーム中の楽器の演奏でこのデバイスを使うように設定を
- することができます (訳注:日本語化されたJNetHackもportsに
- あります).
-
- <p><ref id="kernelconfig:pcaudio" name="pca0"> デバイスの
- 項も参照してください.
-
- </descrip>
-
- <sect><heading>デバイスノードを作る<label id="kernelconfig:nodes"></heading>
-
- <p>カーネル内のほとんどすべてのデバイスは対応する ``node'' エント
- リが <tt>/dev</tt> ディレクトリにあります. これらのノードは普
- 通のファイルのように見えますが, 実際にはプログラムがデバイスに
- アクセスするのに用いるカーネル内への特別なエントリです.
- シェルスクリプトである <tt>/dev/MAKEDEV</tt>はオペレーティング
- システムを最初にインストールする時に実行され, サポートされてい
- る大部分のデバイスのノードを作ります.
- しかし, <em>すべての</em>ノードが作られるわけではありませんので
- 新しいデバイスのサポートを加える時は対応するエントリがこのディ
- レクトリにあるかどうか確認してもしなければ, 作ってください.
- 以下に例を示します.
-
- IDE CD-ROMのサポートをカーネルに加えるとします. 次の行
- を加えます.
-
-<tscreen><verb>
-controller wcd0
-</verb></tscreen>
-
- これにしたがって, <tt>/dev</tt>ディレクトリに <tt>wcd0</tt>で始ま
- るエントリを捜してください. 1文字が後ろにつくかもしれません. 後
- ろについた文字が `c'であるか先に `r'のつくエントリは `raw'デバ
- イスを示します.
- それらのファイルがないことが明らかになったとします. そこで
- <tt>/dev</tt> ディレクトリに移動して次のようにタイプします.
-
-
-<tscreen><verb>
-# sh MAKEDEV wcd0
-</verb></tscreen>
-
- スクリプトの実行が終ったら <tt>/dev</tt>に <tt>wcd0c</tt> と
- <tt>rwcd0c</tt> エントリがあることを確認してください. これによ
- り正しく実行されたことがわかります.
-
-
- サウンドカードの場合のコマンドは次の通りです.
-<tscreen><verb>
-# sh MAKEDEV snd0
-</verb></tscreen>
-
- これにより対応するエントリが作られます.
- 注: サウンドカードのようなデバイスのノードを作る場合で, もし他
- の人がマシンにアクセスするようであれば, そのデバイスを
- <tt>/etc/fbtab</tt>ファイルに追加して外部からのアクセスから
- 保護するのが望ましいでしょう. このファイルの詳細については
- <tt>man fbtab</tt> を参照してください.
-
- GENERICに含まれていないデバイスはエントリがありませんから,以上
- の簡単な手順をおこなうことになります.
-
- <quote><em/注:/ すべての SCSIコントローラは同じ <tt>/dev</tt>の
- エントリを使用しますのでノードを作る必要はありません. またネッ
- トワークカードと SLIP/PPP疑似デバイスは <tt>/dev</tt>にはエント
- リがありませんのでこれらについても作る必要がありません.
- </quote>
-
-<sect><heading>問題が起きた場合には<label id="kernelconfig:trouble"></heading>
-
- <p>カスタムカーネルを作る場合に起きるトラブルは4種類に分けられま
- す.
-
- <descrip>
-
- <tag>Config コマンドの失敗</tag>
-
- <p> カーネルにあなたの設定をおこなった場合で <tt>config</tt>コ
- マンドが失敗したのであれば, 多分どこかで単純な間違いを
- やっているのでしょう. さいわい, <tt>config</tt>はトラ
- ブルの起きた行番号を出力しますので <tt>vi</tt>で素早く
- 見つけることができます. 例えばもし次のように出力されれ
- ば,
-
-
-<tscreen><verb>
-config: line 17: syntax error
-</verb></tscreen>
-
- <tt>vi</tt>のコマンドモードで ``17G''とタイプすればあな
- たは問題のところへ飛ぶことができます. GENERIC カーネル
- のファイルや他のリファレンスと比較して注意深く修正して
- ください.
-
-
- <tag>Make コマンドの失敗</tag>
-
- <p> <tt>make</tt> コマンドが失敗した場合には, カーネル設定で
- <tt>config</tt>がとらえられなかったような間違いをして
- いることが多いようです. ふたたびコン
- フィグレーションを見直してください. それでも問題を解決
- することができなければ &a.questions
- へあなたのカーネルのコンフィグレーションをつけてメー
- ルしてください. 誰かが素早く間違いを見つけてくれるで
- しょう.
-
- <tag>カーネルがブートしない<label id="kernelconfig:noboot"></tag>
-
- <p>新しいカーネルがブートしなかったり, デバイスの認識をしな
- い場合でもあわてないでください! さいわい, BSDは利用で
- きないカーネルから復帰する優れたメカニズムがあります.
- FreeBSDの bootプロンプトでリターンキーを押すかわりに
- 単にブートさせたいカーネルの名前 (例えば
- ``kernel.old'') をタイプするだけです. カーネルの再設定
- をおこなう場合に現在のカーネルを利用できるように取ってお
- くのはよい考えです.
-
- 問題のないカーネルでブートした後にあなたのコンフィグレー
- ションファイルを調べ, 再び構築を試みてください.
- <tt>/var/log/messages</tt> ファイルにはすべての成功した
- ブートのカーネルのメッセージやその他の記録があり, これ
- は助けになる情報の一つでしょう. また,
- <tt>dmesg(8)</tt>コマンドは現在のブート時のカーネルメッ
- セージを出力します.
-
- <quote><em/注:/ カーネルの構築中にトラブルが起きた時に使
- うために GENERICや他のカーネルを次の構築で消されない
- ように異る名前で保存するようにしてください.
- <tt>kernel. old</tt>は新しいカーネルをインストールする
- 時に, その一つ前にインストールしたうまく動かないかもしれ
- ないカーネルで上書きされてしまいますので当てにできませ
- ん. またできる限り早く動作しているカーネルを本来の
- ``kernel''の位置に移動させてください. そうしないと
- <tt>ps(1)</tt>のようなコマンドが正しく動きません.
- <tt>make</tt> でインストールされたカーネルのファイルを
- (別のカーネルに戻すために) 「アンロック」するための特別
- のコマンドは
-<tscreen><verb>
-# chflags noschg /kernel
-</verb></tscreen>
- です. また, 新しい置き換えたカーネルあるいは重要ファイ
- ルを動かしたり変更されないように「ロック」するには
- 次のようにします.
-<tscreen><verb>
-# chflags schg /kernel
-</verb></tscreen>
- </quote>
-
- <tag>カーネルは動くが <tt>ps</tt> は動かない!</tag>
-
- <p>システムユーティリティと異るバージョンのカーネルをインス
- トールした場合, 例えば 実験的に ``2.2.0''のカーネルを
- 2.1.0-RELEASEシステム上にインストールするような場合,
- <tt>ps(1)</tt>や <tt>vmstat(8)</tt>のような多くのシ
- ステムステータスコマンドは動かなくなります. <tt>libkvm</tt> を
- 再コンパイルしてこれらのユーティリティを作りなおす必要がありま
- す. これは, オペレーティングシステムのそれ以外の部分と異るバージョ
- ンのカーネルを使うことが普通はあまりよくない理由の一つです.
-
- </descrip>
diff --git a/share/doc/ja_JP.EUC/handbook/kerneldebug.sgml b/share/doc/ja_JP.EUC/handbook/kerneldebug.sgml
deleted file mode 100644
index 3b6566d..0000000
--- a/share/doc/ja_JP.EUC/handbook/kerneldebug.sgml
+++ /dev/null
@@ -1,523 +0,0 @@
-<!-- $Id: kerneldebug.sgml,v 1.6 1997/03/25 06:31:27 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.14 -->
-
-<chapt><heading>カーネルデバッグ<label id="kerneldebug"></heading>
-
-<p><em>原作 &a.paul; and &a.joerg;</em>
-<p><em>訳: &a.yoshiaki;. <newline>
- 18 March 1997. </em>
-
-<sect><heading>kgdbによるカーネルのクラッシュダンプのデバッグ</heading>
-
- <p>ここではクラッシュダンプ (crash dump : 訳注 この文脈では kernel 自身
- の異常によって停止した場合に出力されるイメージを指します) によるカー
- ネルデバッグの方法を示します.
-
- ここではダンプするための十分なスワップ (swap) の容量があるものとし
- ます.
- もし複数のスワップパーティションを持ち, 最初のパーティションがダンプ
- を保持するのに十分な大きさを持たない場合は別のダンプデバイスを使うよ
- うに (<tt>config kernel</tt> 行で) カーネルのコンフィグをおこなうか,
- dumpon(8)コマンドを使って別のデバイスを示すことができます. スワップ
- をおこなわないデバイスへのダンプ, 例えばテープへのダンプは現在サポートさ
- れていません. カーネルのコンフィグは <tt>config -g</tt> によって行っ
- てください.
- <ref id="kernelconfig" name="FreeBSDカーネルのコンフィグレーション">
- には FreeBSDのカーネルの設定の詳細がありますので参照してください.
-
- <tt>dumpon(8)</tt>コマンドを使ってどこへダンプするかカーネルに伝えて
- ください(swapon(8)によってそのパーティションがスワップとして設定された
- 後でなければならないことに注意してください). これは普通は
- <tt>/etc/sysconfig</tt> や <tt>/etc/rc</tt>で設定されます. あるいは
- 別の方法としてカーネルコンフィグレーションファイルの `config'行の `dump'節 で
- ダンプデバイスをハードコードすることができます. この方法はあまりよくは
- ありません. カーネルがブート時に crash する場合のクラッシュダンプを取り
- たい時だけ使うべきです.
-
- <em><bf>Note:</bf> 以下では `<tt>kgdb</tt>'という用語は <tt>gdb</tt>を
- カーネルデバッグモードで動かしていることを意味します. <tt>gdb</tt>を
- <tt>-k</tt>オプションをつけて起動するか <tt>kgdb</tt>という名前でリン
- クして起動することでこのモードになります. デフォルトでは このリンク
- は作られていません. また, このアイデアは GNU関係者たちが彼らのツール
- を別の名前で呼び出した時に異なった動作をするということを好まない, と
- いう点で不評です. あるいは将来この機能を廃止することになるかもしれません. </em>
-
- カーネルを作った時にそのコピーを <tt>kernel.debug</tt>という名前で作
- りましょう. また, オリジナルに対して <tt>strip -d</tt>を実行します.
- オリジナルを普通にインストールします. また strip していないカーネル
- も同様にインストールすることができますが, シンボルテーブルの参照時間
- がいくつかのプログラムでは劇的に増加するでしょう. また, カーネル全体
- はブート時に読み込まれスワップアウトされないため数メガバイトの物理メ
- モリが無駄になります.
-
- 例えばブートプロンプトで新しいカーネルの名前をタイプすることによって,
- 新しいカーネルをテストした場合で, 再びシステムを動かすのに別のカーネ
- ルで立ち上げることが必要な場合はブートプロンプトで <tt>-s</tt>フラグ
- を使いシングルユーザの状態にしてください. そして以下のような操作をおこな
- います.
-<tscreen><verb>
- fsck -p
- mount -a -t ufs # /var/crash 用のファイルシステムを書き込み可能にする
- savecore -N /kernel.panicked /var/crash
- exit # ...マルチユーザモードへ移行
-</verb></tscreen>
- ここに示した <tt>savecore(8)</tt>は (現在動いているものとは別の) カー
- ネルのシンボル名の抽出をおこなうために使っています. 抽出はデフォルトで
- は現在動いているカーネルに対しておこなわれ, クラッシュダンプとカーネルシンボ
- ルのくい違いのためにまったく何もしません (訳注:そのためにオプション
- で実際にダンプをおこしたカーネルを指定します).
-
- クラッシュダンプの起きた後に <tt>/sys/compile/WHATEVER</tt>へ行き
-<tt>kgdb</tt>を動かします. <tt>kgdb</tt> より次のようにします.
-<tscreen><verb>
- symbol-file kernel.debug
- exec-file /var/crash/kernel.0
- core-file /var/crash/vmcore.0
-</verb></tscreen>
- こうすると, クラッシュダンプを使ってカーネルソースを他のプログラムと同様に
-デバッグすることができます.
-
- 次に <tt>kgdb</tt> での手順のセッションのログを示します. 長い行は読
- みやすくするために改行しました. また, 参照のために行番号を入れてあり
- ます. ただし, これは実際の pcvtコンソールドライバの開発中の実際のエ
- ラーのトレースです.
-<tscreen><verb>
- 1:Script started on Fri Dec 30 23:15:22 1994
- 2:uriah # cd /sys/compile/URIAH
- 3:uriah # kgdb kernel /var/crash/vmcore.1
- 4:Reading symbol data from /usr/src/sys/compile/URIAH/kernel...done.
- 5:IdlePTD 1f3000
- 6:panic: because you said to!
- 7:current pcb at 1e3f70
- 8:Reading in symbols for ../../i386/i386/machdep.c...done.
- 9:(kgdb) where
- 10:#0 boot (arghowto=256) (../../i386/i386/machdep.c line 767)
- 11:#1 0xf0115159 in panic ()
- 12:#2 0xf01955bd in diediedie () (../../i386/i386/machdep.c line 698)
- 13:#3 0xf010185e in db_fncall ()
- 14:#4 0xf0101586 in db_command (-266509132, -266509516, -267381073)
- 15:#5 0xf0101711 in db_command_loop ()
- 16:#6 0xf01040a0 in db_trap ()
- 17:#7 0xf0192976 in kdb_trap (12, 0, -272630436, -266743723)
- 18:#8 0xf019d2eb in trap_fatal (...)
- 19:#9 0xf019ce60 in trap_pfault (...)
- 20:#10 0xf019cb2f in trap (...)
- 21:#11 0xf01932a1 in exception:calltrap ()
- 22:#12 0xf0191503 in cnopen (...)
- 23:#13 0xf0132c34 in spec_open ()
- 24:#14 0xf012d014 in vn_open ()
- 25:#15 0xf012a183 in open ()
- 26:#16 0xf019d4eb in syscall (...)
- 27:(kgdb) up 10
- 28:Reading in symbols for ../../i386/i386/trap.c...done.
- 29:#10 0xf019cb2f in trap (frame={tf_es = -260440048, tf_ds = 16, tf_\
- 30:edi = 3072, tf_esi = -266445372, tf_ebp = -272630356, tf_isp = -27\
- 31:2630396, tf_ebx = -266427884, tf_edx = 12, tf_ecx = -266427884, tf\
- 32:_eax = 64772224, tf_trapno = 12, tf_err = -272695296, tf_eip = -26\
- 33:6672343, tf_cs = -266469368, tf_eflags = 66066, tf_esp = 3072, tf_\
- 34:ss = -266427884}) (../../i386/i386/trap.c line 283)
- 35:283 (void) trap_pfault(&amp;frame, FALSE);
- 36:(kgdb) frame frame->tf_ebp frame->tf_eip
- 37:Reading in symbols for ../../i386/isa/pcvt/pcvt_drv.c...done.
- 38:#0 0xf01ae729 in pcopen (dev=3072, flag=3, mode=8192, p=(struct p\
- 39:roc *) 0xf07c0c00) (../../i386/isa/pcvt/pcvt_drv.c line 403)
- 40:403 return ((*linesw[tp->t_line].l_open)(dev, tp));
- 41:(kgdb) list
- 42:398
- 43:399 tp->t_state |= TS_CARR_ON;
- 44:400 tp->t_cflag |= CLOCAL; /* cannot be a modem (:-) */
- 45:401
- 46:402 #if PCVT_NETBSD || (PCVT_FREEBSD >= 200)
- 47:403 return ((*linesw[tp->t_line].l_open)(dev, tp));
- 48:404 #else
- 49:405 return ((*linesw[tp->t_line].l_open)(dev, tp, flag));
- 50:406 #endif /* PCVT_NETBSD || (PCVT_FREEBSD >= 200) */
- 51:407 }
- 52:(kgdb) print tp
- 53:Reading in symbols for ../../i386/i386/cons.c...done.
- 54:$1 = (struct tty *) 0x1bae
- 55:(kgdb) print tp->t_line
- 56:$2 = 1767990816
- 57:(kgdb) up
- 58:#1 0xf0191503 in cnopen (dev=0x00000000, flag=3, mode=8192, p=(st\
- 59:ruct proc *) 0xf07c0c00) (../../i386/i386/cons.c line 126)
- 60: return ((*cdevsw[major(dev)].d_open)(dev, flag, mode, p));
- 61:(kgdb) up
- 62:#2 0xf0132c34 in spec_open ()
- 63:(kgdb) up
- 64:#3 0xf012d014 in vn_open ()
- 65:(kgdb) up
- 66:#4 0xf012a183 in open ()
- 67:(kgdb) up
- 68:#5 0xf019d4eb in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi =\
- 69: 2158592, tf_esi = 0, tf_ebp = -272638436, tf_isp = -272629788, tf\
- 70:_ebx = 7086, tf_edx = 1, tf_ecx = 0, tf_eax = 5, tf_trapno = 582, \
- 71:tf_err = 582, tf_eip = 75749, tf_cs = 31, tf_eflags = 582, tf_esp \
- 72:= -272638456, tf_ss = 39}) (../../i386/i386/trap.c line 673)
- 73:673 error = (*callp->sy_call)(p, args, rval);
- 74:(kgdb) up
- 75:Initial frame selected; you cannot go up.
- 76:(kgdb) quit
- 77:uriah # exit
- 78:exit
- 79:
- 80:Script done on Fri Dec 30 23:18:04 1994
-</verb></tscreen>
- 上の出力についてのコメントをします.
-
-<descrip>
-<tag/line 6:/ これは DDB (後述) からのダンプです. このため ``because you
- said to!'' という panicコメントがつき, ページフォルトのト
- ラップによって DDBに入ったことが原因の, やや長いスタックトレー
- スがあります.
-<tag/line 20:/ スタックトレースでのこれは <tt>trap()</tt>関数の位置で
- す.
-<tag/line 36:/ 新しいスタックフレームの使用を指定しています. これは現
- 在は必要ありません. trapの場合ではスタックフレームは正
- しい場所を指していると考えられます. (私は新しいコアダンプ
- を持っていません. 私のカーネルは長い間 panicを起こしていま
- せん.) ソースコードの 403行を見ると,``tp''ポインタのアク
- セスが失敗しているか配列のアクセスが範囲外である可能性が高
- いことがわかります.
-<tag/line 52:/ 怪しいポインタですが, アクセスは正常におこなえました.
-<tag/line 56:/ ところが, 明らかにポインタはゴミを指しています. これで
- エラーを見つけました! (ここのコードの部分からはよくわかり
- ませんが, <tt>tp-&gt;t_line</tt>はコンソールデバイスの規定
- する行を参照しているので, もっと小さな整数でなければなりませ
- ん. )
-</descrip>
-
-<sect><heading>突然ダンプした場合の解析</heading>
-
-<p>カーネルが予想もしない時にコアダンプして <tt>config -g</tt>
- を行ってコンパイルされていなかった場合にはどうしたらよいでしょう.
- すべてが失われるわけではありません. パニックを起こさないでください.
-
- もちろん, クラッシュダンプを使えるようにする必要があります.
- 使い方は前述の部分を見てください.
-
- カーネルのコンパイルディレクトリで, (Makefileの)
- <tt>COPTFLAGS?=-O</tt>とある行を編集します. <tt>-g</tt>オプショ
- ンをここに加えます(オプティマイズオプションのレベルは <em>変更しな
- いでください</em> ). もし大まかにコードのどこで問題が起きているか (例
- えば, 上の例では <tt>pcvt</tt>ドライバ) わかっているのでしたら, その部
- 分のコードについてのすべてのオブジェクトファイルを消してください. カーネ
- ルを再構築しましょう. Makefileのタイムスタンプの変更により, 例えば
- <tt> trap.o </tt>などのいくつかの他のオブジェクトファイルも作り直さ
- れます. 少しの幸運があれば, <tt>-g</tt>オプションが追加されても作ら
- れるコードは変更されず, いくらかのデバッグシンボル以外には問題を
- 起こしたコードとそっくりな新しいカーネルを手に入れることができます.
- 少なくとも <tt>size</tt>コマンドで古い方と新しい方のサイズを比較すべ
- きです. これが食い違っていれば, 多分あきらめなければならないでしょう.
-
- ダンプを使って前述のように動かして調べます. デバッグシンボルは
- 必ずしも十分ではありません. 上の例ではスタックトレースでいくつかの関
- 数の行番号や引数リストが表示されないかもしれません. もしより多くのデ
- バッグシンボルが必要であれば,十分になるまで適切なオブジェクトファイ
- ルを消して (makeして) <tt>kgdb</tt>セッションを繰り返してください.
-
- これは必ずしもうまく動くと保証はできません. しかしほとんどの場合でう
- まくいくでしょう.
-
-<sect><heading>DDBを使ったオンラインカーネルデバッグ</heading>
-
-<p> <tt>kgdb</tt> は非常に高レベルのユーザインタフェースを提
- 供するオフラインデバッガですが, いくつかのことはできません.
- (できないことの中で)極めて重要なことはカーネルコードへのブレークポイ
- ントの設定とシングルステップ実行です.
-
- カーネルの低レベルデバッグが必要であれば, DDBと呼ばれる on-lineデバッ
- ガが使えます. ブレークポイントの設定, シングルステップのカーネルの実
- 行, 変数の検査と変更などができます. ただし,これはカーネルのソースファ
- イルにアクセスすることはできません. <tt>kgdb</tt>のようにすべてのデ
- バッグ情報にはアクセスできず, globalと staticのシンボルにアクセス
- することができるだけです.
-
- カーネルに DDBを含めるためにはコンフィグファイルに次のようなオプショ
- ンを加えて,
-
-<tscreen><verb>
- options DDB
-</verb></tscreen>
-
- 再構築をおこないます. ( FreeBSDのカーネルの設定の詳細については<ref
- id="kernelconfig" name="FreeBSDカーネルのコンフィグレーション">を参照してくださ
- い. もしブートブロックが古いバージョンですと, デバッガのシンボルが完
- 全にはロードされないかもしれませんので注意してください. DDBシンボル
- がロードされるようにブートブロックを最新の物にアップデートしてくださ
- い)
-
- DDB カーネルの実行において, DDBに入るいくつかの方法があります. 最初
- の, 最も早い方法はブートプロンプトが出ている時に<tt>-d</tt>のブート
- フラグをタイプすることです. カーネルはデバッグモードで起動し, デバ
- イスのプローブ以前に DDBに入ります. したがって, デバイスのプローブ/初期
- 設定ファンクションのデバッグができます.
-
- 2つ目のシナリオはキーボードのホットキーで, 通常は Ctrl-Alt-ESCです.
- syscons ではホットキーは再設定することができ, 配付されているいくつかの
- キーマッピングでは別のキーに再設定されていますので確認しておいてください.
- シリアルラインの BREAKを使って シリアルコンソールから DDBへ入ることを可
- 能にするオプションもあります (カーネルコンフィグレーションファイルの
- ``<tt>options BREAK_TO_DEBUGGER</tt>''). これは 多くのつまらないシリ
- アルアダプタが, 例えばケーブルを引き抜いた時に BREAK状態を意味もなく
- 作り出してしまうのでデフォルトでは無効になっています.
-
- 3つ目は, DDBを使うようになっているカーネルがパニック状態になると DDB
- へ入るというものです. このため, 無人運転するマシンのカーネルにDDBを
- 入れるのは賢明ではありません.
-
- DDBのコマンドはおおまかには <tt>gdb</tt> のいくつかのコマンドと似て
- います。おそらく最初にブレークポイントを設定する必要があるでしょう。
-<tscreen><verb>
- b function-name
- b address
-</verb></tscreen>
-
- 数値はデフォルトでは16進数で, シンボル名とはまったく異ります. 16進数で
- <tt>a</tt>-<tt>f</tt> の文字で始まる場合は, 先頭に
- <tt>0x</tt>をつける必要があります(それ以外の数字の場合はどちらでもか
- まいません). <tt>function-name + 0x103</tt>のような単純な式を使うこ
- とができます.
-
- 割り込みされたカーネルから処理を続行するためには,
-<tscreen><verb>
- c
-</verb></tscreen>
- とタイプするだけです.
- スタックのトレースには
-<tscreen><verb>
- trace
-</verb></tscreen>
- とします.
-
- DDB にホットキーで入った場合は, カーネルはその (ホットキーの) 割り込み
- の処理を行っていますのでスタックトレースはあまり役にたたないことに注
- 意してください.
-
- ブレークポイントを削除したい場合は,
-<tscreen><verb>
- del
- del address-expression
-</verb></tscreen>
- とします. 最初の形式はブレークポイントにヒットしたすぐ後で使うことが
- でき, 現在のブレークポイントを削除します. 2番目の形式では任意のブレー
- クポイントを削除することができますが, 次の形式で得られるような正確な
- アドレスを与えることが必要です.
-<tscreen><verb>
- show b
-</verb></tscreen>
- カーネルをシングルステップ実行させるには
-<tscreen><verb>
- s
-</verb></tscreen>
- としてみてください. これは関数呼出し先までステップ実行 (step into
- function) するでしょう. 次のステートメントが終了するまでのDDBトレースは
-<tscreen><verb>
- n
-</verb></tscreen>
- によっておこなうことができます.
-
- <bf>Note:</bf> これは <tt>gdb</tt> の `next' 命令とは異ります.
- <tt>gdb</tt>の `finish'命令と似ています.
-
- メモリ上のデータを調べるには (例として) 次のようにします.
-<tscreen><verb>
- x/wx 0xf0133fe0,40
- x/hd db_symtab_space
- x/bc termbuf,10
- x/s stringbuf
-</verb></tscreen>
- word/halfword/byte 単位でアクセスをおこない, hex (16進) /dec (10進) /
-char (文字) /string (文字列) で表示します. カンマの後ろの数字はオブジェク
-トカウントです. 次の 0x10個の要素を表示するには, 単純に
-<tscreen><verb>
- x ,10
-</verb></tscreen>
- とします. 同様に次のように使うことができます.
-<tscreen><verb>
- x/ia foofunc,10
-</verb></tscreen>
- <tt>foofunc</tt>の最初の 0x10個の命令語をディスアセンブルし,
- <tt>foofunc</tt>の先頭からのオフセットとともに表示します.
-
- メモリの内容を変更するには writeコマンドを使います.
-<tscreen><verb>
- w/b termbuf 0xa 0xb 0
- w/w 0xf0010030 0 0
-</verb></tscreen>
- コマンドモディファイアの (<tt>b</tt>/<tt>h</tt>/<tt>w</tt>) はデータを
- 書くサイズを定義し, これに続く最初の式は書き込むアドレス, 残りがこれ
- に続く連続するメモリアドレスに書き込まれるデータになります.
-
- 現在のレジスタ群の内容を知りたい場合は
-<tscreen><verb>
- show reg
-</verb></tscreen>
- とします. また, 単一のレジスタの値を表示するには, 例えば
-<tscreen><verb>
- p $eax
-</verb></tscreen>
- とします. また値の変更は
-<tscreen><verb>
- set $eax new-value
-</verb></tscreen>
- とします.
-
- DDBからカーネルの関数を呼び出す必要がある場合は, 単に
-<tscreen><verb>
- call func(arg1, arg2, ...)
-</verb></tscreen>
- とします. return 値が出力されます.
-
- 動いているプロセスの <tt>ps(1)</tt>スタイルの概要は
-<tscreen><verb>
- ps
-</verb></tscreen>
- です.
-
- カーネルの失敗の原因の調査が終わったらリブートすべきです. それまでの
- 不具合によりカーネルのすべての部分が期待するような動作をしているわけ
- ではないということを忘れないでください. 以下のうちいずれかの方法でシ
- ステムのシャットダウンおよびリブートを行ってください.
-<tscreen><verb>
- call diediedie()
-</verb></tscreen>
-
- カーネルをコアダンプしてリブートしますので, 後で kgdbによってコアの高
- レベル解析をすることができます. このコマンドは通常
- `<tt>continue</tt>'命令にエイリアスされています.
- `<tt>panic</tt>'にエイリアスされている
-<tscreen><verb>
- call boot(0)
-</verb></tscreen>
- は動いているシステムを `clean' に shut downするよい方法です. すべて
- のディスクを <tt>sync()</tt>して最後にリブートします. ディスクとカー
- ネルのファイルシステムインタフェースが破損していない限り, ほぼ完全
- に `clean'にシャットダウンするよい方法でしょう.
-
-<tscreen><verb>
- call cpu_reset()
-</verb></tscreen>
- は大惨事を防ぐための最後の手段で「赤い大きなボタン」を押すのとほとんど
- 同じです.(訳注: リセットボタンを押すのとほぼ同じであるという意味です)
-
- 短いコマンドの要約は
-<tscreen><verb>
- help
-</verb></tscreen>
- をタイプします. ただし, デバッグセッションのために <tt>ddb(4)</tt> の
- マニュアルページのプリントアウトを用意しておくことを強くお奨めします.
- カーネルのシングルステップ中にオンラインマニュアルを読むことは難しい
- ということを覚えておいてください.
-
-<sect><heading>リモート GDB を使ったオンラインカーネルデバッグ</heading>
-
-<p>この機能は FreeBSD 2.2 からサポートされました. これは本当にすばらし
-い機能です.
-
- GDB はすでにかなり以前より <em/リモートデバッグ/ をサポートしてい
- ます. これはシリアル回線を使い非常に単純なプロトコルで行ないます.
- もちろん, この方法では今までに示した方法とは違い, 2台のマシンが必
- 要になります. 1台はデバッグ環境のためのホストで, すべてのソースとす
- べてのシンボルを含んだバイナリのコピーを持っています. もう 1台は
- ターゲットマシンで, 同一のカーネルのコピー (ただしデバッグ情報は
- 取り除いてあるもの) を単に実行するためのものです.
-
- この場合, カーネルのコンフィグレーションは <tt>config -g</tt> で行な
- い, <em/DDB/ を含めなくてはなりません. そうして通常通りコンパイルし
- ます. こうして作ったバイナリファイルはデバッグ情報のために非常に大き
- くなります. このカーネルをターゲットマシンにコピーして
- <tt>strip -x</tt> でデバッグシンボルを取り除きます. そして <tt/-d/
- ブートオプションを使いブートします. ターゲットマシンの 1番目の
- シリアル回線をデバッグホストのいずれかのシリアル回線につないでおきま
- しょう. それからデバッグ(訳注:ホスト)マシン上で, ターゲットとなって
- いるカーネルのコンパイルディレクトリで gdb を起動します:
-
-<tscreen><verb>
-% gdb -k kernel
-GDB is free software and you are welcome to distribute copies of it
- under certain conditions; type "show copying" to see the conditions.
-There is absolutely no warranty for GDB; type "show warranty" for details.
-GDB 4.16 (i386-unknown-freebsd),
-Copyright 1996 Free Software Foundation, Inc...
-(kgdb)
-</verb></tscreen>
-
- リモートデバッグセッションの初期化 (1番目のシリアルポートを使用する
- ことの設定) を以下のように行ないます.
-
-<tscreen><verb>
-(kgdb) target remote /dev/cuaa0
-</verb></tscreen>
-
- 次にターゲットマシン (デバイスのプローブ直前で DDB に入っています)
- で次のように入力します:
-
-<tscreen><verb>
-Debugger("Boot flags requested debugger")
-Stopped at Debugger+0x35: movb $0, edata+0x51bc
-db> gdb
-</verb></tscreen>
-
- DDB は次のような出力を返すでしょう.
-<tscreen><verb>
-Next trap will enter GDB remote protocol mode
-</verb></tscreen>
-
- ``gdb''と入力するたびに リモート GDB とローカル DDB が交互に切り替わ
- ります. トラップをすぐに起こすために単に ``s'' (step) と入力して下
- さい. そうするとホストの GDB はターゲットのカーネルの制御を行なうよ
- うになります.
-
-<tscreen><verb>
-Remote debugging using /dev/cuaa0
-Debugger (msg=0xf01b0383 "Boot flags requested debugger")
- at ../../i386/i386/db_interface.c:257
-(kgdb)
-</verb></tscreen>
-
- このセッションではソースコードへのフルアクセスや Emacs の window 上
- の gud-mode (これは別の Emacs window に自動的にソースコードを表示し
- ます) で動かすなど, 通常の GDB セッションでできることのほとんどのこ
- とができます.
-
-<p>リモート GDB は LKM のデバッグも行なうことができます. 最初に LKM を
- デバッグシンボルを含めた形で作ります.
-<tscreen><verb>
-# cd /usr/src/lkm/linux
-# make clean; make COPTS=-g
-</verb></tscreen>
-
- そしてターゲットマシン上でモジュールのこのバージョンをインストールし
- ます. これをロードしてから, <tt>modstat</tt> を使ってロードされている
- ことを確認してください:
-<tscreen><verb>
-# linux
-# modstat
-Type Id Off Loadaddr Size Info Rev Module Name
-EXEC 0 4 f5109000 001c f510f010 1 linux_mod
-</verb></tscreen>
-
-示されたロードアドレスに 0x20 (a.outのヘッダはおそらくこの大きさでしょ
-う) を加えます. それがモジュールコードの再配置されるアドレスです.
-GDB の <tt>add-symbol-file</tt> コマンドを使ってデバッガにモジュールの
-情報をつたえます.
-<tscreen><verb>
-(kgdb) add-symbol-file /usr/src/lkm/linux/linux_mod.o 0xf5109020
-add symbol table from file "/usr/src/lkm/linux/linux_mod.o" at
-text_addr = 0xf5109020?
-(y or n) y
-(kgdb)
-</verb></tscreen>
-
-これで LKM のすべてのシンボルにアクセスできるようになります.
-
-<sect><heading>コンソールドライバのデバッグ</heading>
-
-<p>DDBを動かすためにはコンソールドライバが必要ですから, コンソールドラ
- イバ自身に不具合のある場合は複雑になります. シリアルコンソールを利
- 用する方法 (ブートブロックを変更するか <tt>Boot:</tt>プロンプトで
- <tt><bf>-h</bf></tt>と入力する) を思い出してください. そして標準ター
- ミナルを最初のシリアルポートに設定します. DDBは, もちろんシリアルコ
- ンソールを含むいずれのコンソールドライバの設定でも動作します.
diff --git a/share/doc/ja_JP.EUC/handbook/kernelopts.sgml b/share/doc/ja_JP.EUC/handbook/kernelopts.sgml
deleted file mode 100644
index 21ceaec..0000000
--- a/share/doc/ja_JP.EUC/handbook/kernelopts.sgml
+++ /dev/null
@@ -1,153 +0,0 @@
-<!-- $Id: kernelopts.sgml,v 1.9 1997/02/22 13:01:22 peter Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-<!-- Original revision: 1.7 -->
-
-<!-- <!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'> -->
-
-<chapt><heading>カーネルコンフィグレーションの新しいオプションを追加する
-<label id="kernelopts"></heading>
-
-<p><em>原作: &a.joerg;</em>
-
-<p><em>訳: &a.yoshiaki; . <newline> 29 December 1996.</em>
-
-<em/注:/ この章をお読みになる前に <ref id="kernelconfig"
-name="FreeBSDカーネルのコンフィグレーション"> の章の内容を
-理解しておいてください.
-
-<sect><heading>そもそも<em>カーネル オプション</em>って何?</heading>
-
- <p>カーネルオプションの使い方は基本的には <ref
- id="kernelconfig:options" name="FreeBSDカーネルのコンフィグレーション">
- の章に書いてあります.
- そこには「伝統的な形式」と「新しい形式」のオプションの説明があります.
- すべてのカーネルのオプションを新しい形式のものに置き換え, コンフィグファイル
- を修正して <tt/config(8)/ を実行した後にカーネルのコンパイルディレクトリで
- <tt/make depend/ を実行すれば, ビルドプロセスが自動的に変更された
- オプションを検出し, 必要なファイルだけを再コンパイルするようにすることが
- 最終的な目的です. <tt/config(8)/ を実行するたびに古いコンパイルディレクトリ
- を消してしまう現在のやりかたは, やがておこなわれなくなるでしょう.
-
- <p>基本的に, カーネルオプションはカーネルのコンパイルプロセスの
- C プリプロセッサのマクロの定義にすぎません. 実際に選択的に make できる
- ようにするためには, 対応する部分のカーネルソース (またはカーネルの
- <tt/.h/ ファイル) がオプションを使えるようにあらかじめ書かれていなければ
- なりません. つまりデフォルト値をコンフィグファイルのオプションで置き換え
- られるようになっていなければなりません. これは普通は次のようになっています.
-
-<verb>
-#ifndef THIS_OPTION
-#define THIS_OPTION (some_default_value)
-#endif /* THIS_OPTION */
-</verb>
- <p>この場合, 管理者がコンフィグファイルのオプションに別の値を記述すれば,
- デフォルトの設定を打ち消して新しい値に置き換えられます. 当然,
- 新しい値はプリプロセッサによってソースコード中で置き換えられるため,
- デフォルトの値が使われていた場所において C の式として有効な値でなければ
- なりません.
-
- <p>また, 単に特定のコードを有効にするか無効にするかを設定するための
- 値を持たないオプションも作ることができます.
-
-<verb>
-#ifdef THAT_OPTION
-
-[あなたのコードが入ります]
-
-#endif
-</verb>
- <p>コンフィグファイルに <tt/THAT_OPTION/ と記述するだけで (値の有無
- にかかわらず) 対応する部分のコードが組み込まれます.
-
- <p>C 言語にくわしい人であれば「コンフィグオプション」とされているもの
- は少なくとも一つの <tt/#ifdef/ で参照されているということはすぐに理解
- できるでしょう. ところで, ごく一部の人たちは次のようなものを試して
- みようとするかもしれません.
-
-<verb>
- options notyet,notdef
-</verb>
- <p>このようにコンフィグファイルをしておくと, カーネルのコンパイルは
- うまく行きません. :-)
-
- <p> (訳注: たとえば MATH_EMULATE のように 有効/無効のためのパラメタを
- 持たないオプションの場合, 無効とするためのパラメタをつけて, オプション
- で「無効とする」と明示することはできないという意味です)
-
- <p>明らかに, 任意のオプション名がカーネルソースツリー全体でどのように
- 使われているかを追いかけることは非常に難しいことです. このことが
- <em/新しい形式/ のオプションの機構を採り入れる理由の背景です.
- ここではそれぞれのオプションはカーネルコンパイルディレクトリにある別々の
- <tt/.h/ ファイルとなり, <tt>opt_<em>foo</em>.h</tt> という名前に
- されます. この方法では, 通常の Makefile の依存関係が適用され,
- <tt/make/ プログラムはオプションが変更された時に再コンパイルが必要な
- ものを見つけることができます.
-
- <p>古い形式のオプションの機構は, 局部的なオプションや実験的なオプション
- のような一時的に利用されると考えられるオプションにおいては有効です.
- つまり <tt/#ifdef/ をカーネルのソースに追加するのは簡単であり,
- それがそのままカーネルコンフィグオプションになります.
- この場合, 管理者はオプションの利用において
- 依存関係を把握しておく責任があります (また, 手動でカーネルの一部分を
- 強制的に再コンパイルする必要があるかもしれません). サポートされている
- オプションのすべてについて一つでも変更があると, <tt/config(8)/ は
- サポートされていないオプションがコンフィグファイルの中にあるという警告
- を出しますが, カーネルの Makefile 内にはそれを含めます.
-
-<sect><heading>ではどのようにして追加するのでしょう?</heading>
-
- <p>最初に <tt>sys/conf/options</tt> (または
- <tt>sys/i386/conf/options.<em>&lt;arch&gt;</em></tt>, たとえば
- <tt>sys/i386/conf/options.i386</tt>) を編集し, 新しいオプション
- を含めるのに最適な <tt>opt_<em>foo</em>.h</tt> ファイルを選びます.
-
- <p>新しいオプションの必要がなくなったとしたら, これを取り除きます.
- たとえば, SCSI サブシステムに関するすべてのふるまいについてのオプション
- の変更は <tt/opt_scsi.h/ に入れられます. デフォルトでは, 適切
- なオプションファイルに単に記述されます. たとえば <tt/FOO/ であれば
- 値は対応するファイルの <tt/opt_foo.h/ に格納されます. これは右端に別
- のファイル名を書いて置き換えることができます.
-
- <p>新しいオプションを加えるのに使えそうな
- <tt>opt_<em>foo</em>.h</tt> がない場合は新しい名前を作ってください.
- 意味のある名前を作り <tt>options[<em>.&lt;arch&gt;</em>]</tt> ファイル
- に新しいセクションのコメントをつけてください. <tt/config(8)/ は自動的
- に変更を検出して, 次の実行からは (訳注: 新しい <tt/.h/) ファイル
- を作ります. ほとんどのオプションはヘッダファイルに入れられます.
-
- <p>大量のオプションを一つの <tt>opt_<em>foo</em>.h</tt> にまとめると
- コンフィグファイルの一つのオプションを変更したときに多くのファイルが
- 再コンパイルされる原因になります.
-
- <p>新しいオプションに依存するカーネルファイルは最終的には見つけ出
- されます. ただし, オプションを作っただけで対応するソースがどこにも
- ない場合は別です.
-
-<verb>
- find /usr/src/sys -name type f | xargs fgrep NEW_OPTION
-</verb>
- <p>オプションに対応するソースを見つけるのに上記のコマンドは便利です.
- 見つけたすべてのファイルで編集, 追加をおこないます.
-
-<verb>
-#include "opt_foo.h"
-</verb>
- <p><em>ファイルの先頭の</em>, すべての <tt/#include &lt;xxx.h&gt;/
- より前に入れます. この場合, オプションによって次のようにしてデフォルト値
- を持たせている標準のヘッダファイル内の値を置き換えるため, 順番は非常に
- 重要です.
-
-<verb>
-#ifndef NEW_OPTION
-#define NEW_OPTION (something)
-#endif
-</verb>
-
-
- <p>システムヘッダファイル (たとえば <tt>/usr/include/sys/</tt> にある
- ファイル) をオプションで置き換えることは, ほとんどの場合で失敗します.
- そうすると, ヘッダファイルを深刻な状態に破壊してしまうので, include
- しないとオプションの値によって不整合が起きてしまう場合を除き, それらの
- ファイルに <tt>opt_<em>foo</em>.h</tt> を include しないでください.
- そう, 現在このような例がいくつか存在していますが, 必ずしも正しい方法
- ではありません.
diff --git a/share/doc/ja_JP.EUC/handbook/linuxemu.sgml b/share/doc/ja_JP.EUC/handbook/linuxemu.sgml
deleted file mode 100644
index 4d4a60e..0000000
--- a/share/doc/ja_JP.EUC/handbook/linuxemu.sgml
+++ /dev/null
@@ -1,714 +0,0 @@
-<!-- $Id: linuxemu.sgml,v 1.7 1997/02/25 04:56:46 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.19 -->
-
-<chapt><heading>Linux エミュレーション<label id="linuxemu"></heading>
-
-<p><em>原作: &a.handy and &a.rich;</em>
-<p><em>訳: &a.kiroh;.<newline>24 September 1996.</em>
-
-<sect><heading>Linux エミュレータのインストール</heading>
-
-<p>
-FreeBSD での Linux エミュレーションは, 大部分の Linux バイナリ(a.out
-および ELF フォーマット)を実行できる状態になっています. 2.1-STABLE ブラン
-チでのエミュレーションでは, Linux DOOM や Mathematica が実行できます.
-FreeBSD 2.2-RELEASE でのエミュレーションは, さらに強化されており, Linux 用
-の Quake, Abuse, IDL, netrek など, 多数のソフトウェアが実行できます.
-
-Linux オペレーティングシステムには、特有の機能がいくつかあり, FreeBSD
-でサポートされていないものもあります. Linux の /proc ファイルシステム
-を使ったバイナリは, FreeBSD では実行できません (FreeBSD で使用可能な
-/proc ファイルシステムとは仕様が異なっているためです). また仮想8086モー
-ドを有効にするなど, i386 に特有なシステムコールを使っている場合も実行
-できません.
-
-<p>
-カーネルが Linux エミュレーションを使用するように構築されているかを調
-べるには, Linux のバイナリを実行してみるのが簡単です.
-<tscreen>
-<verb>
-linux-executable: Exec format error. Wrong Architecture.
-</verb>
-</tscreen>
-このようなエラーメッセージが表示されるようであれば, Linux との互換性は
-サポートされていません. カーネルを再構築してインストールする必要があり
-ます.
-
-Linux エミュレーションの設定方法は, 使用している FreeBSD のバージョン
-によって多少異なっています.
-
-<sect1><heading>2.1-STABLE への Linux エミュレーションのインストール</heading>
-
-<p>2.1-STABLE の GENERIC カーネルは, Linux との互換性を保つように構築
-されていません. カーネルの再構築が必要です. 再構築をおこなうには, 2つの方
-法があります. 1つは, エミュレータをカーネル自体にスタティックリンクす
-る方法. もう1つは, 動的に Linux ローダブルカーネルモジュール(LKM)をロー
-ドするようにする方法です.
-
-<p>エミュレータを有効にするには, 以下をコンフィグレーションファイル
- (/sys/i386/conf/LINT など) に追加します.
-<tscreen>
-<verb>
-options COMPAT_LINUX
-</verb>
-</tscreen>
-Linux DOOM などのアプリケーションを実行したい場合は, 共有メモリも有効
-にしておかなければなりません. 以下を追加します.
-<tscreen>
-<verb>
-options SYSVSHM
-</verb>
-</tscreen>
-Linux のシステムコールを使用するには, 4.3BSD のシステムコールとの互換
-性が保たれていることが必要です. 以下の行が含まれていることを確認してく
-ださい.
-<tscreen>
-<verb>
-options "COMPAT_43"
-</verb>
-</tscreen>
-
-LKM を使用せずエミュレータをカーネルにスタティックにリンクしたい場合は,
-以下の行を追加します.
-<tscreen>
-<verb>
-options LINUX
-</verb>
-</tscreen>
-<ref id="kernelconfig" name="FreeBSDカーネルのコンフィグレーション">の節の記述に
-したがって config と, 新しいカーネルのインストールをおこなってください.
-
-LKM を使用する場合は, ローダブルモジュールをインストールしなければなり
-ません. カーネルとローダブルモジュールのバージョンが異なると, カーネル
-がクラッシュする場合がありますので, 安全を期すためには, カーネルをイン
-ストールするごとに, LKM も再インストールしてください.
-<tscreen>
-<verb>
-% cd /usr/src/lkm/linux
-% make all install
-</verb>
-</tscreen>
-カーネルと LKM のインストールが終了したら, root で `linux' コマンドを
-実行することで LKM をロードできます.
-<tscreen>
-<verb>
-% linux
-Linux emulator installed
-Module loaded as ID 0
-%
-</verb>
-</tscreen>
-LKM がロードされたかどうかを確認するには, `modstat' を実行します.
-<tscreen>
-<verb>
-% modstat
-Type Id Off Loadaddr Size Info Rev Module Name
-EXEC 0 3 f0baf000 0018 f0bb4000 1 linux_emulator
-%
-</verb>
-</tscreen>
-システムブート時に, LKM をロードするようにするには, 2つの方法がありま
-す. FreeBSD 2.2-RELEASE または 2.1-STABLE では, /etc/sysconfig を,
-<tscreen>
-<verb>
-linux=YES
-</verb>
-</tscreen>
-のように, NO を YES に変更してください. FreeBSD 2.1 RELEASE およびそれ以
-前のバージョンでは, そのような行はありませんので, /etc/rc.local に以下
-の行を追加する必要があります.
-<tscreen>
-<verb>
-linux
-</verb>
-</tscreen>
-
-<sect1><heading>2.2-RELEASE への Linux エミュレーションのインストール
-</heading>
-
-<p>``options LINUX'' や ``options COMPAT_LINUX'' を指定する必要
-はなくなりました. Linux エミュレーションは LKM(「ローダブルカーネルモジュール」)
-を使用して, リブートせず簡単にインストールできます. スタートアッ
-プファイルで以下のように指定します.
-<enum>
-<item>/etc/sysconfig に以下の行が必要です.
-<tscreen>
-<verb>
-linux=YES
-</verb>
-</tscreen>
-<item> これは結果的に, /etc/rc.i386 の以下の指定を有効にします.
-<tscreen>
-<verb>
-# Start the Linux binary emulation if requested.
-if [ "X${linux}" = X"YES" ]; then
- echo -n ' '; linux
- # XXX BOGUS - Linux script shouldn't make any output on success
-fi
-</verb>
-</tscreen>
-</enum>
-
-<p>実行されたかどうかを確認するには, modstat を使用します.
-<tscreen>
-<verb>
-% modstat
-Type Id Off Loadaddr Size Info Rev Module Name
-EXEC 0 4 f09e6000 001c f09ec010 1 linux_mod
-%
-</verb>
-</tscreen>
-2.2-RELEASE とそれ以降のシステムの中には, modstat の実行がうまくいかない
-ものがあるという報告もあります. 何らかの理由で, Linux LKM がロードできな
-い場合は,
-<tscreen>
-<verb>
-options LINUX
-</verb>
-</tscreen>
-をカーネルの設定ファイルに指定して, エミュレータをスタティックにリンク
-してください. <ref id="kernelconfig" name="FreeBSDカーネルのコンフィグレーション">
-の節の記述にしたがって config と, 新しいカーネルのインストールをおこ
-なってください.
-
-<sect1><heading>Linux ランタイムライブラリのインストール</heading>
-
-<sect2><heading>linux_lib port を使用してのインストール</heading>
-
-<p>多くの Linux アプリケーションはシェアードライブラリを使用しますので,
-シェアードライブラリのインストールが終了しなければ, エミュレータのイン
-ストールは終わったことになりません. 手動でもインストールできますが,
-linux_lib port を使用するのが簡単です.
-<tscreen>
-<verb>
-% cd /usr/ports-current/emulators/linux_lib
-% make all install
-</verb>
-</tscreen>
-
-これで, Linux エミュレータが動作するようになったはずです. 伝説(とメー
-ルのアーカイブ :-) によれば, Linux エミュレーションは, ZMAGIC ライブラ
-リとリンクされている Linux バイナリに対して, 最もうまく動作するようで
-す. Slackware V2.0 などに使われている QMAGIC ライブラリだと, エミュレー
-タが胸やけするかもしれません. これを書いている時点(1996年5月)で, ELF
-エミュレーションは依然実験段階ですが, かなりうまく動作しているようです.
-マイナーバージョンの不一致などを報告するプログラムもありますが, 普通は
-問題にならないようです.
-
-<sect2><heading>手動でのライブラリのインストール</heading>
-
-<p>``ports'' ディストリビューションが手元にない場合は, 手動でライブラ
-リをインストールする必要があります. プログラムが必要とする Linux のシェ
-アードライブラリとラインタイムリンカが必要です. また Linux ライブラリ
-の用の``shadow root'' ディレクトリ, /compat/linux, を作成する必要があ
-ります. FreeBSD で動作する Linux のプログラムが使用するシェアードライ
-ブラリは,まずこのファイルツリーから検索されます. 例えば, Linux のプロ
-グラムが/lib/libc.so をロードしようとした場合には, FreeBSD は, まず
-/compat/linux/lib/libc.so を開こうとします. 存在にしなかった場合には,
-次に /lib/libc.so を試します. シェアードライブラリは, Linux の ld.so
-が参照するライブラリではなく, /compat/linux/lib 以下にインストールする
-必要があります.
-
-FreeBSD 2.2-RELEASE 以降では, /compat/linux にかかわる動作が多少異なりま
-す. -CURRENT では, ライブラリだけでなくすべてのファイルが, ``shadow
-root'' /compat/linux から検索されます.
-
-Linux のプログラムが必要とするシェアードライブラリを探す必要があるのは,
-FreeBSD のシステムに Linux のプログラムをインストールする最初の数回だ
-けでしょう. それが過ぎれば, 十分な Linux のシェアードライブラリがシス
-テムにインストールされ, 新しくインストールした Linux のバイナリも, 余
-計な作業をせずに動作させることができるようになります.
-
-<sect2><heading>シェアードライブラリの追加</heading>
-
-<p>
-linux_port をインストールした後に, アプリケーションが必要なライブラリ
-が存在しないというエラーを出したらどうしたらよいでしょうか? Linux のバ
-イナリがどのシェアードライブラリを必要とし, そしてどこで入手できるか,
-どのように探したらよいでしょうか? 基本的には, 以下の2種類の方法があり
-ます(以下の手順にしたがう場合には, 必要なインストール作業をおこなう FreeBSD シ
-ステム上で root として作業をおこなう必要があります).
-
-<p>Linux システムを使用でき, 必要なシェアードライブラリが調べられる場
-合には, 単に FreeBSD のシステムにそのライブラリをコピーするだけで
-す. 例えば, DOOM の Linux バイナリを ftp で持ってきたとします. 使用で
-きる Linux システムの上に転送して, `ldd linuxxdoom' とやれば, 必要とす
-るシェアードライブラリがチェックできます.
-
-<tscreen>
-<verb>
-% ldd linuxxdoom
-libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
-libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0
-libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29
-</verb>
-</tscreen>
-
-<p>
-最後のカラムに表示されているすべてのファイルを持って来て, /compat/linux の下
-に置き, 最初のカラムに示されるファイル名からシンボリックリンクを張る必
-要があります. すなわち, FreeBSD のシステムで, 以下のようなファイルが必
-要となります.
-<tscreen>
-<verb>
-/compat/linux/usr/X11/lib/libXt.so.3.1.0
-/compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0
-/compat/linux/usr/X11/lib/libX11.so.3.1.0
-/compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0
-/compat/linux/lib/libc.so.4.6.29
-/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
-</verb>
-</tscreen>
-
-<p>
-最初のカラムに表示されているファイルと, メジャーバージョンの同じ Linux
-シェアードライブラリを既にインストールしている場合は, 新たにコピーする
-必要はありません. 既にあるライブラリで動作するはずです. ただ, 新しいバー
-ジョンのシェアードライブラリがある場合は, 新しいものをコピーすることを
-お奨めします. 新しいライブラリにシンボリックリンクを変更したら, 古いラ
-イブラリは削除してかまいません.
-<tscreen>
-<verb>
-/compat/linux/lib/libc.so.4.6.27
-/compat/linux/lib/libc.so.4 -> libc.so.4.6.27
-</verb>
-</tscreen>
-以上のようなライブラリがインストールされており, 新しいバイナリに対する
-ldd の出力が以下のようになる場合を考えます。
-<tscreen>
-<verb>
-libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29
-</verb>
-</tscreen>
-
-このように最後の番号が1つか2つ古いだけならば, 普通は
-/lib/libc.so.4.6.29 をコピーする必要はありません. わずかに古いライブラ
-リでも, プログラムは動作するはずだからです. もちろん, 新しいライブラリ
-と置き換えて, 以下のようにしても構いません.
-<tscreen>
-<verb>
-/compat/linux/lib/libc.so.4.6.29
-/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
-</verb>
-</tscreen>
-
-<p>シンボリックリンクのメカニズムは, Linux バイナリに<em>のみ</em>必要
-なことに注意してください. FreeBSD のランタイムリンカは, メジャーリビジョ
-ン番号の一致したライブラリを検索しますから, ユーザが気にする必要はあり
-ません.
-
-<sect2><heading>ld.so の設定 -- FreeBSD 2.2-RELEASE のみ</heading>
-
-<p>このセクションは, FreeBSD 2.2-CURRENT 以降にのみ当てはまります.
-2.1-STABLE を使用している方は, 飛ばしてください.
-
-<p>
-最後に, FreeBSD 2.2-RELEASE を使われている場合は, Linux のランタイムリンカと
-その設定ファイルがシステムに導入されていることを確認してください.
-これらのファイルは, FreeBSD システムの適切な位置(/compat/linux ツリー以
-下)にコピーされている必要があります.
-
-<tscreen>
-<verb>
-/compat/linux/lib/ld.so
-/compat/linux/etc/ld.so.config
-</verb>
-</tscreen>
-
-<p>使用できる Linux システムがない場合は, 必要なファイルは近くの FTP サイ
-トから入手してください. 各種ファイルの入手先についての情報を, 後に付
-けておきます. ここでは, 必要なファイルの入手先がわかっているものとしま
-す.
-
-<p>
-以下のファイルを取得します(バージョンの不一致を避けるために, すべて同一
-の FTP サイトから入手してください). 取得したファイルを /compat/linux
-以下にインストールしてください(例えば, /foo/bar は,
-/compat/linux/foo/bar にインストールされます).
-
-<tscreen>
-<verb>
-/sbin/ldconfig
-/usr/bin/ldd
-/lib/libc.so.x.y.z
-/lib/ld.so
-</verb>
-</tscreen>
-
-<p>ldconfig と ldd は, /compat/linux の下にある必要はありません. システム
-のどこにあっても構いません. ただ, FreeBSD の同名のコマンドと間違えないように
-注意してください. /usr/local/bin の中に, ldconfig-linux, ldd-linux とし
-てインストールするのもよいアイディアでしょう.
-<p>
-/compat/linux/etc/ld.so.conf ファイルを作成し, Linux ラインタイムリンカ
-がシェアードライブラリを検索するディレクトリを記述してください. このファ
-イルはプレインテキストファイルで, それぞれの行にディレクトリ名を含みま
-す. /lib と /usr/lib は標準ですから, 以下のようなディレクトリが追加できま
-す.
-<tscreen>
-<verb>
-/usr/X11/lib
-/usr/local/lib
-</verb>
-</tscreen>
-
-<p>
-Linux バイナリが, /lib/libc.so というライブラリを開いた場合, エミュレー
-タは内部で, ファイル名を /compat/linux/lib/libc.so にマップします. エ
-ミュレータがライブラリを検索するために, すべての Linux のライブラリ
-(/compat/linux/lib/libc.so, /compat/linux/usr/X11/lib/libX11.so など)
-は, /compat/linux 以下にインストールされていなければなりません.
-
-<p>FreeBSD 2.2-RELEASE を使用している場合は, Linux の ldconfig プログラム
-を実行する必要があります.
-<tscreen>
-<verb>
-% cd /compat/linux/lib
-% /compat/linux/sbin/ldconfig
-</verb>
-</tscreen>
-
-<p>
-ldconfig はスタティックリンクされていますから, 実行するのにシェアードラ
-イブラリを必要としません. ldconfig は, /compat/linux/etc/ld.so.cache
-ファイルを作成し, すべてのシェアードライブラリの名前を格納します. ライ
-ブラリの追加をおこなった場合には, ldconfig を再実行して, このファイルを作り
-直さなければなりません.
-
-2.1-STABLE では, /compat/linux/etc/ld.so.cache をインストールしたり,
-ldconfig を実行したりしないでください. 2.1-STABLE では, システムコー
-ルの実装方法が異なるため, ldconfig は使用されません.
-
-<p>
-これで, libc シェアードライブラリを必要とする Linux バイナリを実行する設
-定が終了しました. ldd を ldd 自身に実行してテストしてください.
-ldd-linux としてインストールしている場合は, 以下のような結果になるはず
-です.
-
-<tscreen>
-<verb>
-% ldd-linux `which ldd-linux`
-libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29
-</verb>
-</tscreen>
-
-<p>ここまで終了すれば, 新しい Linux のバイナリをインストールできます.
-新しい Linux バイナリをインストールするときは, それがシェアードライブ
-ラリを必要とするかどうか確認してください. 必要とする場合は,
-/compat/linux 以下にインストールされているかどうか確認してください. こ
-れは, Linux の ldd を新しいプログラムに対して実行し, 出力を確認するこ
-とによりおこなえます. ldd(ldd(1)マニュアルページも参照してください)は, プ
-ログラムが必要とするシェアードライブラリのリストを, majorname
-(jumpversion) => fullname という形式で出力します.
-
-<p>
-fullname のかわりに ``not found'' と出力される場合は, ライブラリの追加をす
-る必要があります. 必要なライブラリの名前は, majorname に
-libXXXX.so.N.mm という形式で示されています. Linux の FTP サイトで
-libXXXX.so.N.mm を探し, インストールしてください. XXXX(名前)とN(メジャー
-リビジョン番号)は一致している必要があります. マイナー番号 mm は, それほ
-ど重要ではありませんが, なるべく最新のものをインストールするようにして
-ください.
-
-<sect1><heading>ホストネームリゾルバの設定</heading>
-
-<p>DNS がうまく動作しなかったり, 以下のようなエラーメッセージが表示され
-る場合は, /compat/linux/etc/host.conf ファイルを設定する必要があります.
-<tscreen>
-<verb>
-resolv+: "bind" is an invalid keyword
-resolv+: "hosts" is an invalid keyword
-</verb>
-</tscreen>
-ファイルの内容を以下のように設定してください.
-<tscreen>
-<verb>
-order hosts, bind
-multi on
-</verb>
-</tscreen>
-ここで, order は /etc/hosts を最初に検索し, 次にDNSを検索するように指定
-します. /compat/linux/etc/host.conf がインストールされていない場合は,
-Linux のアプリケーションは, FreeBSD の /etc/host.conf を使用しようとして,
-文法の違いによる警告を表示します. /etc/resolv.conf を使用してネームサー
-バを設定していない場合には, `bind' を削除してください.
-
-<p>最後になりますが, 2.1-STABLE を使用している場合は,
-RESOLV_HOST_CONF 環境変数を指定して, アプリケーションにホストテーブル
-の検索方法を指定する必要があります. FreeBSD 2.2-RELEASE を使用している場合
-は, スキップしてください. /bin/csh を使っている場合は, 以下のようにし
-ます.
-<tscreen>
-<verb>
-setenv RESOLV_HOST_CONF /compat/linux/etc/host.conf
-</verb>
-</tscreen>
-
-/bin/shの場合は, 以下のようにします.
-<tscreen>
-<verb>
-RESOLV_HOST_CONF=/compat/linux/etc/host.conf; export RESOLV_HOST_CONF
-</verb>
-</tscreen>
-
-<sect1><heading>必要なファイルを探すには</heading>
-
-<p>
-注意: 以下の情報は, この文書が書かれた時点では有効ですが, FTP サイトの
-名前, ディレクトリ, 配布ファイル名などは, 変更されている可能性がありま
-す.
-<p>
-訳注: ここに取り上げられている FTP サイトは, 日本国内にもミラーサイト
-が多数存在します。なるべく近くの FTP サイトからファイルを入手してくだ
-さい.
-
-<p>
-Linux は, いくつかのグループが, それぞれ独自のバイナリ配布セットを作成
-して配布しています. 配布セットは, ``Slackware'' や ``Yggdrasil'' など
-の名前がつけられています. これらの配布セットは, 多くの FTP サイトから
-入手できます. ファイルが展開されており, 必要なファイルのみを取得できる
-場合もありますが, 通常は圧縮された配布セットの形で入手できます. 配布
-セットは, いくつかのサブディレクトリに, gzip で圧縮された tar ファイル
-として格納されています. それぞれの配布セットの一次配布先は, 以下の通り
-です.
-<verb>
-sunsite.unc.edu:/pub/Linux/distributions
-tsx-11.mit.edu:/pub/linux/distributions
-</verb>
-
-<p>
-ヨーロッパのミラーサイトの例:
-<verb>
-ftp.luth.se:/pub/linux/distributions
-ftp.demon.co.uk:/pub/linux/distributions
-src.doc.ic.ac.uk:/packages/linux/distributions
-</verb>
-
-<p>
-混乱を避けるために, ここでは Slackware だけを取り上げます. この配布セッ
-トは, 多くのサブディレクトリ内にある別々のパッケージから構成されていま
-す. 通常, パッケージはインストールプログラムにより自動的に制御されま
-すが, ``手動で''おこなうことも可能です. まず配布セットの中の,
-``contents'' サブディレクトリの内容を書くにしてください. ここには多く
-の小さなテキストファイルが含まれおり, それぞれのパッケージの内容が記述
-されています. 必要なファイルを探している場合は, まず contents 内のテキ
-ストファイルを取得し, そのファイルの中から grep を使用して検索するのが,
-最も速い方法でしょう. 以下に必要となるであろうファイルを, grep を使用
-して検索した例を示します.
-<tabular ca=ll>
-Library <colsep>Package <rowsep>
-ld.so <colsep>ldso <rowsep>
-ldconfig <colsep>ldso <rowsep>
-ldd <colsep>ldso <rowsep>
-libc.so.4 <colsep>shlibs <rowsep>
-libX11.so.6.0 <colsep>xf_lib <rowsep>
-libXt.so.6.0 <colsep>xf_lib <rowsep>
-libX11.so.3 <colsep>oldlibs <rowsep>
-libXt.so.3 <colsep>oldlibs <rowsep>
-</tabular>
-
-<p>
-この場合は, ldso, shlibs, xf_lib, oldlibs というパッケージが必要なこと
-がわかります. それぞれのcontentsファイルの中で, ``PACKAGE LOCATION''
-と書いてある行を探してください. その行に, パッケージが含まれているディ
-スク, 今回の場合はサブディレクトリ名が書かれています. たとえば, 以下の
-ようになります.
-<tabular ca=ll>
-Package <colsep>Location <rowsep>
-ldso <colsep>diska2 <rowsep>
-shlibs <colsep>diska2 <rowsep>
-oldlibs <colsep>diskx6 <rowsep>
-xf_lib <colsep>diskx9 <rowsep>
-</tabular>
-
-<p>``diskXX'' というのは, 配布セットの ``slackware/XX'' サブディレクトリ
-を示します. それ以外の場合は, ``contrib'' サブディレクトリに格納されて
-います. 今回の場合は, 以下のファイルを取得すればいいことがわかります
-(ファイル名は, 配布セットのルートディレクトリからの相対パスで示してあ
-ります).
-<tscreen>
-<verb>
-slakware/a2/ldso.tgz
-slakware/a2/shlibs.tgz
-slakware/x6/oldlibs/tgz
-slakware/x9/xf_lib.tgz
-</verb>
-</tscreen>
-
-<p>
-gzip で圧縮された tar ファイルから必要なファイルを /compat/linux ディ
-レクトリに格納してください(必要なファイルのみを展開するか, あるいは必
-要でないファイルを後で削除してください). これで作業は終了です.
-
-<p><bf>参照:</bf>
-<verb>
-ftp.freebsd.org:pub/FreeBSD/2.0.5-RELEASE/xperimnt/linux-emu/README
-
-/usr/src/sys/i386/ibcs2/README.iBCS2
-</verb>
-
-<sect><heading>FreeBSD への Mathematica のインストール<label id="mathematica"></heading>
-
-<p><em>原作: &a.rich and &a.chuck</em>
-<p><em>訳: &a.kiroh;.</em>
-
-この文書は, Mathematica 2.2 の Linux バイナリディストリビューションを,
-FreeBSD 2.1 にインストールする方法について説明します.
-
-<p>
-Mathematica は, そのままでは FreeBSD をサポートしていませんが, Linux は
-サポートしています. ですから, Linux エミュレータの設定が終わってしまえ
-ば, Mathematica を動作させる環境はほとんど整ったことになります.
-
-<p>
-DOS 用のスチューデント版 Mathematica から Linux バージョンへのアップグレー
-ド価格は, 執筆時点 (1996年5月) では, &dollar;45.00 です.
-直接 Wolfram(電話番号(217) 398-6500)に注文して, 支払いはクレジットカー
-ドでおこなえます。
-
-<sect1><heading>Mathematica ディストリビューションの展開</heading>
-<p>
-バイナリは, Wolfram から CDROM で配布されています. CDROM には, 1ダー
-スほどの tar ファイルが含まれており, それぞれサポートされているアーキテ
-クチャに対応しています. Linux 用のファイルは, LINUX.TAR です. 例えば
-/usr/local/Mathematica 以下にインストールする場合は, 以下のようにしま
-す.
-<tscreen>
-<verb>
-% cd /usr/local
-% mkdir Mathematica
-% cd Mathematica
-% tar -xvf /cdrom/LINUX.TAR
-</verb>
-</tscreen>
-
-<sect1><heading>Mathematica パスワードの取得</heading>
-<p>
-Mathematica を実行する前に, 使用するマシンに対応した `machine ID' を
-Wolfram から取得する必要があります.
-
-<p>
-Linux 互換ランタイムライブラリがインストールされており, mathematica の展
-開が終了したら, Install ディレクトリで `mathinfo' プログラムを使用す
-ることで `machine ID' を得ることができます.
-<tscreen>
-<verb>
-% cd /usr/local/Mathematica/Install
-% mathinfo
-LINUX: 'ioctl' fd=5, typ=0x89(), num=0x27 not implemented
-richc.isdn.bcm.tmc.edu 9845-03452-90255
-%
-</verb>
-</tscreen>
-ここで, `richc' の `machine ID' は, `9845-03452-90255' となります.
-ioctl のメッセージは無視してください. まだ FreeBSD では実装されていません.
-Mathematica を実行するたびに同様のメッセージが表示されますが, 実際の使
-用に問題はありませんので, 無視してかまいません.
-
-<p>電子メールや電話, ファックスなどで Wolfram に `machine ID' を知らせ
-て登録すると, いくつかの番号のグループからなるパスワードが送り返されて
-きます. パスワードを, マシン名, ライセンス番号とともに, mathpass ファ
-イルに追加します.
-
-追加は, 以下のようにおこないます.
-<tscreen>
-<verb>
-% cd /usr/local/Mathematica/Install
-% math.install
-</verb>
-</tscreen>
-ライセンス番号と, Wolfram から送られてきたパスワードを入力を求めます.
-入力を間違えたりして, math.install の実行が失敗しても大丈夫です.
-`mathpass' ファイルを手動で編集して, 情報を訂正してください.
-
-<p>
-パスワードの入力後, math.install では, インストール方法を, デフォルト
-設定でのインストールか、自分で方法を指定するインストールから選ぶことが
-できます. 筆者のようにインストールプログラムを信用していない場合は, 自
-分でディレクトリを指定する方を選択するでしょう. 自分で指定するインストー
-ルを選んだ場合, math.install 自身ではディレクトリの作成はおこないません.
-注意してください. 別のウィンドウでシェルを開いて, 指定するディレクトリ
-を作成してください. 存在しないディレクトリを指定して, math.install が
-インストールに失敗した場合には, ディレクトリを作成し, math.install を
-再び実行してください. 筆者らがインストール先に選んだディレクトリは, 以
-下の通りです. くれぐれもあらかじめ作成してから, math.install で指定す
-るようにしてください.
-<tscreen>
-<verb>
-/usr/local/Mathematica/bin バイナリファイル
-/usr/local/Mathematica/man/man1 マニュアルページ
-/usr/local/Mathematica/lib/X11 XKeysymbファイル
-</verb>
-</tscreen>
-また, システムレコードファイルとして, /tmp/math.record を使用するように
-設定することもできます. このファイルには, セッションのログが記録されま
-す. この設定が終了すると, math.install は残りのファイルを展開して, 必
-要な場所に格納します.
-
-<p>
-Mathematica ノートブックの機能は, X フロントエンドとして本体とは別に含
-まれています. X フロントエンドを正しくインストールするには,
-/usr/local/Mathematica/FrontEnd ディレクトリに移動し, ./xfe.install シェ
-ルスクリプトを実行します. インストール先を指定しなければなりませんが,
-あらかじめ作成する必要はありません. 必要なディレクトリは, すべて
-math.install によって作成されているからです. インストールが終了したら,
-/usr/local/Mathematica/bin ディレクトリに, ``mathematica'' という名前の
-シェルスクリプトが新たに作成されているはずです.
-
-<p>最後に, Mathematica がインストールしたシェルスクリプトを修正する必要
-があります. /usr/local/Mathematica/bin に含まれるすべてのシェルスクリプ
-トの先頭部分に以下の行を追加します.
-<tscreen>
-<verb>
-XKEYSYMDB=/usr/local/Mathematica/lib/X11/XKeysymDB; export XKEYSYMDB
-</verb>
-</tscreen>
-これは, Mathematica が使用する Mathematica バージョンのキーマップファイル
-XKeysymDB の場所を指定するものです.
-
-2.1-STABLE を使用している場合は, 以下の行も追加してください.
-<tscreen>
-<verb>
-RESOLV_HOST_CONF=/compat/linux/etc/host.conf; export RESOLV_HOST_CONF
-</verb>
-</tscreen>
-これは, Mathematica に Linux バージョンの host.conf を使用するように指定し
-ます. FreeBSD の host.conf の文法は, Linux のものと異なっているため, この
-指定をおこなわないと, /etc/host.conf に関わるエラーが発生します.
-
-<p>
-新しいマニュアルページを利用したい場合は, さらに /etc/manpath.config ファイ
-ルを修正する必要があります. また自分の~/.cshrcを変更して,
-/usr/local/Mathematica/bin をパスに追加してください.
-
-<p>
-これでインストール作業はすべて終了です. ``mathematica'' とタイプすれば,
-見栄えのする Mathematica ノートブックが表示されるはずです. Mathematica
-には, Motif ユーザインタフェースが含まれますが, スタティックにリンクさ
-れているため, Motif のライブラリは必要ありあません. 頑張って
-Mathematica をインストールしてください.
-
-<sect1><heading>バグ</heading>
-
-<p>
-ノートブックフロントエンドは, 以下のようなエラーメッセージを表示して,
-ハングすることがあることが知られています.
-<tscreen>
-<verb>
-File .../Untitled-1.mb appears to be broken for OMPR.257.0
-</verb>
-</tscreen>
-
-今のところ原因はわかっていませんが, このバグが影響を及ぼすのは, ノートブッ
-クの X window フロントエンドのみです. Mathematica エンジン本体に影響は
-ありません. そのため, ``math'' によって起動されるコマンドラインのインタ
-フェースを使用している場合は, このバグは関係ありません.
-
-<sect1><heading>謝辞</heading>
-
-<p>&a.sosと&a.peterに深く感謝します. Linuxエミュレーションが現在の形に
-あるのは, 彼らのおかげです. そして, 彼ら二人にハッパをかけて, 犬のよう
-に働かせた Michael Smithに. 今やLinuxエミュレーションは, linuxよりうま
-くlinuxバイナリを実行できます! :-)
-
diff --git a/share/doc/ja_JP.EUC/handbook/lists.sgml b/share/doc/ja_JP.EUC/handbook/lists.sgml
deleted file mode 100644
index ea69ff2..0000000
--- a/share/doc/ja_JP.EUC/handbook/lists.sgml
+++ /dev/null
@@ -1,66 +0,0 @@
-<!-- $Id: lists.sgml,v 1.4 1997/02/22 13:01:25 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.8 -->
-
-<!--
-Names and email address of contributing authors and CVS committers
-and some of the common FreeBSD mailing lists. Use these
-entities when referencing people or mailing lists. Please
-note the use of single
-and double quotes.
--->
-
-<!ENTITY a.announce "FreeBSD アナウンスメーリングリスト
- <tt><htmlurl url='mailto:freebsd-announce@FreeBSD.ORG'
- name='&lt;freebsd-announce@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.cvsall "FreeBSD CVS commit メッセージメーリングリスト
- <tt><htmlurl url='mailto:cvs-all@FreeBSD.ORG'
- name='&lt;cvs-all@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.doc "FreeBSD ドキュメンテーションプロジェクトメーリングリスト
- <tt><htmlurl url='mailto:freebsd-doc@FreeBSD.ORG'
- name='&lt;freebsd-doc@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.bugs "FreeBSD 障害報告のメーリングリスト
- <tt><htmlurl url='mailto:freebsd-bugs@FreeBSD.ORG'
- name='&lt;freebsd-bugs@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.current "FreeBSD-current メーリングリスト
- <tt><htmlurl url='mailto:freebsd-current@FreeBSD.ORG'
- name='&lt;freebsd-current@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.emulation "FreeBSD-emulation メーリングリスト
- <tt><htmlurl url='mailto:freebsd-emulation@FreeBSD.ORG'
- name='&lt;freebsd-emulation@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.fs "FreeBSD ファイルシステムプロジェクトメーリングリスト
- <tt><htmlurl url='mailto:freebsd-fs@FreeBSD.ORG'
- name='&lt;freebsd-fs@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.hackers "FreeBSD の技術的な議論のメーリングリスト
- <tt><htmlurl url='mailto:freebsd-hackers@FreeBSD.ORG'
- name='&lt;freebsd-hackers@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.ports "FreeBSD 移植ソフトウエアメーリングリスト
- <tt><htmlurl url='mailto:freebsd-ports@FreeBSD.ORG'
- name='&lt;freebsd-ports@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.questions "FreeBSD 一般的な質問メーリングリスト
- <tt><htmlurl url='mailto:freebsd-questions@FreeBSD.ORG'
- name='&lt;freebsd-questions@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.scsi "FreeBSD SCSI サブシステムメーリングリスト
- <tt><htmlurl url='mailto:freebsd-scsi@FreeBSD.ORG'
- name='&lt;freebsd-scsi@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.stable "FreeBSD-stable メーリングリスト
- <tt><htmlurl url='mailto:freebsd-stable@FreeBSD.ORG'
- name='&lt;freebsd-stable@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.majordomo "<tt><htmlurl url='mailto:majordomo@FreeBSD.ORG'
- name='&lt;majordomo@FreeBSD.ORG&gt;'></tt>">
-
-<!ENTITY a.core "FreeBSD コアチーム
- <tt><htmlurl url='mailto:freebsd-core@FreeBSD.ORG'
- name='&lt;freebsd-core@FreeBSD.ORG&gt;'></tt>">
diff --git a/share/doc/ja_JP.EUC/handbook/mail.sgml b/share/doc/ja_JP.EUC/handbook/mail.sgml
deleted file mode 100644
index 02b8c7c..0000000
--- a/share/doc/ja_JP.EUC/handbook/mail.sgml
+++ /dev/null
@@ -1,585 +0,0 @@
-<!-- $Id: mail.sgml,v 1.7 1997/02/22 13:01:26 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.9 -->
-
-<!--
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-
-<linuxdoc>
- <article>
- <title> メール
- <author> &a.wlloyd;
- <date> 24 Nov 1996, (c) 1996
- <abstract> このセクションでは, FreeBSD 上での電子メールをセットアップするための基本的な情報について書かれています. </abstract>
-
- <toc>
--->
-
-<chapt><heading>電子メール<label id="mail"></heading>
-
-<p><em>原作: &a.wlloyd;.</em>
-<p><em>訳: &a.mihoko;14 January 1997.</em>
-
-<p> 電子メールのコンフィグレーションは,
-多くの <ref name="システム管理" id="bibliography"> の書籍で主題
-として取り上げられています.
-ネットワークに合わせたメールホスト構築の範疇を越えるようなことをする
-のは, 簡単にはいきません.
-
-電子メールのコンフィグレーションの一部は, ドメインネームシステム
-(DNS) によって制御されています. あなた自身で DNS サーバを
-立ち上げたい場合には, <bf><tt> /etc/namedb </tt></bf> ファイルを
-あなたのサーバに合うように変更してください.
-さらに詳しい情報が必要な場合には,'<bf><tt> man -k named </tt></bf>'
-コマンドを実行してください.
-
-<sect><heading>基本事項</heading>
-
- <p>
- 電子メール交換の主要なプログラムや構成要素を, 次に示します.
- <tt/メールホスト/ はあなたのホストやネットワークに対するすべて
- の電子メールを配送したり受け取ったりするサーバです.
-
- <sect1><heading>ユーザプログラム</heading>
- <p> これは, <tt /elm, pine, mail/ や, より洗練された WWW ブラウザ
- のようなプログラムです. このプログラムは, 単純に
- すべてのメールをローカルメールホスト転送します. この転送は,
- <tt>sendmail</tt> を呼び出すか, メールホストに対して TCP 上
- の通信を使ってメールを配送するかのいずれかによっておこないます.
-
- <sect1><heading>メールホストサーバデーモン</heading>
- <p> 通常, このプログラムはバックグラウンドで実行されている
- <tt /sendmail または smail/ です. 実行をやめたり,
- コマンドライン引数を変更するには,
- <tt> /etc/sysconfig </tt> ファイルを編集します.
- 特別な理由(<ref name="ファイアウォール" id="firewalls"> を
- 構築している場合など)がないかぎり, 実行する設定にしておくべきです.
-
-<p>
-<tt>sendmail</tt> は安全なサイト上であっても潜在的にセキュリティ上の
-弱点になることを覚えておいてください.
-<tt>sendmail</tt> のいくつかのバージョンでは, セキュリティ上の問題が
-知られています.
-
-<p><tt><bf> sendmail </bf></tt> は, 電子メールの配送,
-受信の二つの仕事をおこないます.
-
-<p><bf><tt/sendmail/ </bf> は, サイトの外側へメールを配送する必要が
-ある場合, DNS を参照して配送先のメールを受け取る実際のホストを決定します.
-
-<p> <tt/sendmail/ が配送エージェントとして動作する場合は,
-ローカルキューからメッセージを取り出し, 受信側
-コンピュータ上の sendmail へインターネットを介して配送します.
-
- <sect1><heading>DNS - ネームサービス</heading>
- <p> ドメインネームシステムとそのデーモン <tt/named/ は, ホストから
-IP アドレス, および ホスト名からメールホストへのマッピングをおこなう
-データベースを持っています.
-IP アドレスは "A" レコードで定義します. "MX" レコードでは,
-あなた宛のメールを受け取るメールホストを定義します.
-もし あなたのホスト宛のメールに対する "MX" レコードを持っていない場合には,
-メールはあなたのホストに直接配送されます.
-
-あなたが自分自身の DNS サーバを実行させていない場合には,
-DNS 上の情報を自分で変更することはできません.
-インターネットプロバイダを使用している場合には, プロバイダに依頼して
-変更してもらってください.
-
- <sect1><heading>POP サーバ</heading>
- <p> このプログラムはメールボックスからメールを取り出し,
- ブラウザにメールを渡します. POP サーバをあなたのマシン上で
- 動かしたい場合には, 次の二つの作業をする必要があります.
-<itemize>
-<item>pop ソフトウェアを
-<url url="../ports/mail.html" name="ports コレクション"> から入手
-します.
-pop ソフトウェアは, <tt><bf> /usr/ports </bf></tt>
-または パッケージコレクションにあります.
-このハンドブックには, <ref name="ポート" id="ports"> システム
-についての完全な解説のセクションがあります.
-<item>POP サーバを起動できるように,
-<bf><tt>/etc/inetd.conf</tt></bf>
-ファイルを編集します.
-</itemize>
-
-入手した pop プログラムには説明文が付属していますので, それを読んで
-ください.
-
-</sect>
-
-<sect><heading>コンフィグレーション</heading>
-
- <sect1><heading>基本事項</heading>
-<p>
-あなたのマシンに FreeBSD を普通にインストールして,
-<bf><tt> /etc/resolv.conf </tt></bf> ファイルを設定するか,
-またはネームサーバを走らせれば,
-他のホストへ電子メールを送ることができるようになります.
- あなたのホスト宛のメールを特定のホストに配送するようにしたい場合
-には, 次の二つの方法があります.
-<p>
-- ネームサーバ ( <tt><bf>man -k named</></> ) を実行し,
-あなた自身のドメイン <tt> smallminingco.com </tt> を定義する.
-<p>
-- あなたのホストに対する現在の DNS 名に配送されたメールを受け取る.
-つまり <tt> dorm6.ahouse.school.edu </tt> 宛に送られたメールを受け取る.
-<p>
-インターネットへ完全に接続されたあなたのホストに直接メールが配送される
-ためには,
-ネームサーバのどのオプションを使用するかはあまり重要なことではありません.
-大切なのは, あなたが恒久的な IP アドレスを持っていなくてはいけないと
-いうことです. ダイナミック PPP で得られる IP アドレスではダメです.
-もしあなたがファイアウォールの内側にいる場合は,
-ファイアウォールが smtp トラフィックを
-あなたのホストに渡すように設定されていなければいけません.
-そのためには, ファイアウォールとなるホストの
-<bf><tt> /etc/services </tt></bf> に
-<verb>
-smtp 25/tcp mail #Simple Mail Transfer
-</verb>
-と書いておきます.
-あなたのホスト上でメールを受けたい場合には, DNS の MX エントリが
-あなたのホストアドレスを指しているか,
-あなたのホストの DNS 名に対して MX エントリが存在しないことを
-確認してください.
-
-
-次のコマンドを実行してみてください.
-<verb>
-newbsdbox# hostname
-newbsdbox.freebsd.org
-newbsdbox# host newbsdbox.freebsd.org
-newbsdbox.freebsd.org has address 204.216.27.xx
-</verb>
-
-もしあなたのマシンが上記のメッセージだけを出力したならば,
-<tt><bf>root@newbsdbox.freebsd.org</bf></tt> へのメールは, 問題なく
-配送されるでしょう.
-
-上記のメッセージの代わりに,
-<verb>
-newbsdbox# host newbsdbox.freebsd.org
-newbsdbox.FreeBSD.org has address 204.216.27.xx
-newbsdbox.FreeBSD.org mail is handled (pri=10) by freefall.FreeBSD.org
-</verb>
-というメッセージが出力された場合は, あなたのマシンに直接配送された
-すべてのメールは, freefall 上の同じユーザ名に配送されてます.
-
-この情報は, あなたのドメインネームサーバ上で設定します.
-この設定をおこなうホストは, <bf><tt> /etc/resolv.conf </tt></bf>
-にプライマリネームサーバとして書いたホストと同じホストであるべきです.
-
-メールルーティング情報をもつ DNS レコードは, メールエクスチェンジャエントリ
-(MX エントリ) です. MX エントリが存在しない場合には,
-アドレスレコードにしたがって, 直接宛先ホストに配送されます.
-
-freefall.freebsd.org の現時点での MX エントリは, 次のようになっています.
-<verb>
- freefall MX 30 mail.crl.net
- freefall MX 40 agora.rdrop.com
- freefall HINFO Pentium FreeBSD
- freefall MX 10 freefall.FreeBSD.org
- freefall MX 20 who.cdrom.com
- freefall A 204.216.27.xx
- freefall CNAME www.FreeBSD.org
-</verb>
-
-freefall は多くの MX エントリを持っています.
-もっとも MX の値が小さいホストが, 最終的にメールを受け取ります.
-もし freefall が他の処理で忙しかったり, ダウンしているような場合には,
-他のホストが, 一時的にメールをキューにいれます.
-
-使い勝手をよくするためには, 代替の MX サイトは, それぞれ
-別の経路でインターネットへ接続しているとよいでしょう.
-インターネットプロバイダまたは他の関連サイトが, このサービスを
-提供することができます.
-
-<bf><tt>dig, nslookup, </tt></bf>や<bf><tt> host </tt></bf> コマンド
-を使うと, とても便利です.
-
- <sect1><heading>あなたのドメイン (ネットワーク) に対するメール設定<label id="mail:domain"></heading>
-<p>
-ネットワークメールホストをセットアップするためには, すべての
-ワークステーション宛のメールを直接受ける必要があります.
-言いかえれば, <tt> *.smallminingco.com </tt> 宛のすべてのメールを
-ハイジャックし, そのメールをあなたのメールホストである個々のマシンにに配送
-します.
-
-それらのワークステーション上のネットワークユーザは, たいていメールを
-POP や telnet 等で受け取ります.
-
-「同じユーザ名」のユーザアカウントが, 両方のマシンに存在しなければな
-りません. 必要ならば, アカウントを作成するために <tt/adduser/
-コマンドを使用してください. <tt/shell/ を <tt>/nonexistant</tt>
-に設定すると, ユーザはログインできなくなります.
-
-使用する予定のメールホストは, 各ワークステーションごとにメール交換が
-できるように設定されていなければなりません. これは, DNS (すなわち
-BIND や named) の設定が必要です. 詳細は, ネットワークの本を参照してください.
-
-基本的には, 以下の行を DNS サーバに追加する必要があります.
-<verb>
-pc24.smallminingco.com A xxx.xxx.xxx.xxx ; Workstation ip
- MX 10 smtp.smallminingco.com ; Your mailhost
-</verb>
-
-自前で DNS サーバを実行しているのでなければ, この作業は, 自分では
-おこなえません. 自分で DNS サーバを実行したくない場合は,
-インターネットプロバイダ等に依頼して, 作業をおこなってもらってください.
-
-この作業により, このワークステーション宛のメールは,
-MX (メールエクスチェンジャ) ホストに送られるようになります.
-A レコードがどのマシンを指しているかどいうことには関係なく,
-メールは MX ホストに送られます.
-<p>
-この機能は, 仮想電子メールホスト (Virtual Email Hosting)
-を実装するために使用されています.
-<p>例
-<p>
-foo.bar というドメインを持つ顧客がいて,
-foo.bar 宛のメールをすべて, わたしのマシン
-smtp.amalliap.com に送りたいと思っています.
-このような場合, あなたの DNS サーバ上で, 以下のようなエントリを作成
-しなければなりません:
-
-<verb>
-foo.bar MX 10 smtp.smalliap.com ; your mailhost
-</verb>
-
-そのドメインに対して電子メールを送りたいだけなら,
-A レコードは必要ありません.
-つまり, <tt>foo.bar</tt> に対するアドレスレコードが存在しない限り,
-'<bf><tt>ping foo.bar</tt></bf>' コマンドが動作することを期待しては
-いけません
-
-メールボックスへの最終的な配送が行われるメールを実際に受けている
-メールホスト上では, sendmail はメールを受け付けているホストを
-知っている必要があります.
-
-<p>そのためには, (FEATURE(use_cw_file) を使用している場合)
-/etc/sendmail.cw ファイルに pc24.smallminingco.com を追加するか,
-<bf><tt>/etc/sendmail.cf</tt></bf> ファイルに,
-"Cw myhost.smalliap.com" の行を追加してください.
-<p>
-もしあなたが本気で <tt/sendmail/ を使って何かしようと思うなら,
-sendmail のソースをインストールするべきです.
-ソースには, たくさんのドキュメントも付いています.
-<ref name="UUCP のセットアップ" id="sendmailuucp"> の節に <tt/sendmail/ の
-ソースを入手するのに必要な情報が掲載されています.
-
-
-<sect1>
- <heading> UUCP のセットアップ<label id="sendmailuucp"></heading>
-<p><em>よくある質問 (FAQ) より抜粋.</em>
- <p>
- <p>
- FreeBSD に付属する sendmail のコンフィグレーションは,
- 直接インターネット接続しているサイトに合うように作られてい
- ます. メールを UUCP 経由で交換するようにしたい場合には,
- 別の sendmail コンフィグレーションファイルをインストールし
- なければなりません.
- <p>
- <tt>/etc/sendmail.cf</tt> を手動で作成することは, 純正主義者
- がおこなうことだと考えられています. sendmail のバージョン 8
- では, <tt>m4</tt> プリプロセッサを使用して,
- コンフィグレーションファイルを生成する方法が取られています.
- この場合, 実際に手動で作成したコンフィグレーションは,
- 実際のコンフィグレーションより簡潔です.
- 以下の場所にあるコンフィグレーションファイルを使用してください.
-<verb>
- /usr/src/usr.sbin/sendmail/cf
-</verb>
-
- システム上にすべてのソースをインストールして
- いない場合, sendmail の設定ツールは不完全なままであり,
- それは個別のソース配布物の中にあります.
- CD-ROM をマウントしてあれば, 以下のようにします.
-
-<verb>
- cd /usr/src
- tar -xvzf /cdrom/dists/src/ssmailcf.aa
-</verb>
-
- 驚かないでください. これはたった数百キロバイトのサイズのファ
- イルです.
- <tt>cf</tt> ディレクトリ上にある <tt>README</tt> ファイル
- には, m4 コンフィグレーションの基本的な紹介が書かれてい
- ます.
-
- <p>
- UUCP での配送には, <em>mailertable</em> 機能を使用すること
- をおすすめします. これは sendamil が配送経路を決定するのに
- 使用するデータベースファイルです.
-
- <p>
- まずはじめに, <tt>.mc</tt> ファイルを作成します.
- <tt>/usr/src/usr.sbin/snemdail/cf/cf</tt> ディレクトリに
- これらのファイルを置きます. ここには既にいくつかの例が
- 置いてあるので, 見てください.
- <tt>foo.mc</tt> という名前で作成したと仮定すると,
- それを有効な <tt>sendmail.cf</tt> に変換するためには,
- 次のようにします:
-
-<verb>
- cd /usr/src/usr.sbin/sendmail/cf/cf
- make foo.cf
- cp foo.cf /etc/sendmail.cf
-</verb>
-
- 典型的な <tt>.mc</tt> ファイルは次のような内容です:
-
-<verb>
- include(`../m4/cf.m4')
- VERSIONID(`Your version number')
- OSTYPE(bsd4.4)
-
- FEATURE(nodns)
- FEATURE(nocanonify)
- FEATURE(mailertable)
-
- define(`UUCP_RELAY', your.uucp.relay)
- define(`UUCP_MAX_SIZE', 200000)
-
- MAILER(local)
- MAILER(smtp)
- MAILER(uucp)
-
- Cw your.alias.host.name
- Cw youruucpnodename.UUCP
-</verb>
-
- <em>nodns</em> と <em>nocanonify</em> は, メール配送をおこなう
- 際に, DNS を参照しないようにするための設定です.
- <em>UUCP_RELAY</em> は, 必要な設定ですが, ここでは理由を
- 説明できません. その理由について, ここでは質問しないでください.
- .UUCP 仮想ドメインアドレスを扱うことができるインターネット
- ホスト名を書いてください.
- おそらく, 使用する ISP のメール中継ホスト名をそこに記述する
- ことになります.
-
- <p>
- この設定が終了したら, <tt>/etc/mailertable</tt> と呼ばれる
- ファイルが必要になります. このファイルの典型的な例を示します:
-
-<verb>
- #
- # makemap hash /etc/mailertable.db < /etc/mailertable
- #
- horus.interface-business.de uucp-dom:horus
- .interface-business.de uucp-dom:if-bus
- interface-business.de uucp-dom:if-bus
- .heep.sax.de smtp8:%1
- horus.UUCP uucp-dom:horus
- if-bus.UUCP uucp-dom:if-bus
- . uucp-dom:sax
-</verb>
-
- 見て分かるように, これは実際に使用されているファイルの一部
- です. はじめの三行は, ドメインアドレスが指定されたメールが
- デフォルトルートに送信せずに, 配送パスを「短縮」して, 隣接
- UUCP サイトにメールを送るための設定です.
- 次の行は, メールを SMTP を使用して配送されているローカル
- イーサネットドメイン上のマシンに送信するための設定です.
- 最後に, UUCP 接続されているドメインが, .UUCP という仮想ド
- メイン表記されている場合です. これは,
- 「uucp-neighbor!recipient」をデフォルト規則で書換えるため
- です. 最終行は必ず シングルドット (.) を指定します.
- 上記のどのパターンにも当てはまらない送信先に対して, あなた
- のメールの世界中へのゲートウェイとして動作してくれる隣接
- UUCP サイトに, UUCP を使って配送します.
- <tt>uucp-dom:</tt> というキーワードの後に書かれたすべての
- ノード名は, 隣接 UUCP サイトでなければなりません.
- そのサイトと UUCP 接続を行っているかどうかは, コマンド
- <tt>uuname</tt> を使用して確かめることができます.
-
- <p>
- 実際に使用するには, このファイルを DBM データベースファイ
- ルに変換する必要があることを忘れないでください.
- これを実行するためのコマンド
- 行は, mailertable の先頭にコメントとして記述されています.
- 通常, このコマンドは, mailertable を変更するたびに実行しな
- ければなりません.
-
- <p>
- 最終ヒント: もしいくつかの特定のメール経路が正しく動作する
- かどうかが心配ならば, sendmail の <tt>-bt</tt> オプション
- を覚えておいてください. このオプションは sendmail
- を <em>アドレステストモード</em> で起動します.
- メールの経路をテストするには, 0 のあとにメール経路をテスト
- したいアドレスを入力してください. 最後の行にあなたが使用する
- インターネットメールエージェント (メール中継プログラム) と,
- このエージェントに呼び出される宛先のホスト名と,
- (翻訳可能な場合) アドレスがが表示されます. このモードを
- 終了するには, Control-D を入力します.
-
-<verb>
- j@uriah 191% sendmail -bt
- ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
- Enter <ruleset> <address>
- > 0 foo@interface-business.de
- rewrite: ruleset 0 input: foo @ interface-business . de
- ...
- rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \
- < @ interface-business . de >
- > ^D
- j@uriah 192%
-</verb>
-</sect>
-
-<sect><heading>よくある質問 (FAQ)<label id="mailfaq"></heading>
-
-<p><em>このセクションは, FAQ から移動してきました.</em>
-
- <sect1>
-
- <heading>どうして 同じサイトのホストに対して完全な形のドメイン名 (FQDN) を使わなければいけないの?</heading>
- <p>
- おそらく, そのホストは実際には違うドメインに属しているのでしょう.
- 例えば, もしあなたが foo.bar.edu ドメインにいて,
- bar.edu ドメインの中の「mumble」というホストに接続したいと
- します. その場合あなたは, 「mumble」ではなく
- 「mumble.bar.edu」という完全な形のドメイン名 (FQDN) によっ
- てそのホストを参照しなければなりません.
- <p>
- 伝統的に, これは BSD BIND リゾルバでは許されていました.
- しかしながら, FreeBSD に付属する現在の <em>BIND</em> の
- バージョンでは, 自分が属しているドメイン以外では,
- 完全な形でないドメイン名に対するデフォルトの省略形は
- 使用できません.
- ですから, 完全でないホスト名 <tt>mumble</tt> は,
- <tt>mumble.foo.bar.edu</tt> として解決されるか,
- ルートドメインに検索しにいくでしょう.
- <p>
- これは, <tt>mumble.bar.edu</tt>, <tt>mumble.edu</tt>
- というように検索し続けるような過去の動作とは異なります.
- なぜこれが悪い慣例, さらにはセキュリティーホールと考えられ
- るようになった理由については, RFC1535 を参照してください.
- <p>
- この問題を回避するには,
- <p><tt>
-search foo.bar.edu bar.edu
-</tt><p>
- という行を
-
-<p><tt>
-domain foo.bar.edu
-</tt>
- に置き換えます.
-
- <p>
- これを自分のマシン上の <tt>/etc/resolv.conf</tt> ファイルに
- 記述してください. しかしながら, 検索順序は, RFC 1535 に
- 書かれている, 「ローカル管理と公共の管理の間の境界線」
- を越えないことを, あらかじめ確認してください.
-
- </sect1>
-
- <sect1><heading>Sendmail が ``mail loops back to myself'' というエラーを出します</heading>
- <p>
- これについては, sendmail FAQ の中で, 次のように答えられて
- います:-
- <verb>
- * 次のような 「Local configuration error」というメッセージ
- が出ます:
-
- 553 relay.domain.net config error: mail loops back to myself
- 554 <user@domain.net>... Local configuration error
-
- この問題をどうやって解決すればよいでしょうか?
-
- MX レコードを使って, あるドメイン(例: domain.net)宛にメールを
- 特定のホスト (この場合, relay.domain.net) に転送しようと設定したと
- していますが, 中継ホストは自身が domain.net であるとは認識
- していません.
- (FEATURE(use_cs_file) を使用している場合は)
- /etc/sendmail.cw に, domain.net を追加してください.
- または, 「Cw domain.net」を /etc/sendmail.cf に追加してください.
- </verb>
- <p>
- sendmail FAQ は, <tt>/usr/src/usr.sbin/sendmail</tt> に
- あります. 「ちょっと凝った」メール設定
- をしたい場合は, FAQ を読むことをおすすめします.
-
-<sect1><heading>ダイアルアップ PPP ホストで電子メールを使うにはどうしたらいいの?</heading>
-<p>
-LAN 上にある FreeBSD マシンを, インターネットに接続したいと
-します. FreeBSD マシンは, その LAN でのメールゲートウェイになります.
-FreeBSD マシンは専用線接続ではありません (訳注:ダイアルアップ接続など).
-
-これには, 少なくとも二つの方法があります.
-
-一つは UUCP を使うことです.
-
-このとき鍵になるのは, あなたのドメインに対するセカンダリ MX サービス
-を提供してくれるインターネットサイトをみつけることです.
-
-例:
-<verb>
-bigco.com. MX 10 bigco.com.
- MX 20 smalliap.com.
-</verb>
-
-最終的なメール受信先としては, 一つのホストだけが定義されるべきです
-(bigco.com 上の <tt>/etc/sendmail.cf</tt> ファイルに, 「Cw bigco.com」
-を追加します).
-
-送信側の sendmail が, メールを配送しようとしている時, モデムの接続を
-介してあなたのところに接続しようとします.
-大抵の場合, あなたのマシンがオンラインでないために, 接続はタイムアウト
-してしまうでしょう. sendmail は自動的に, メールをセカンダリの MX サイト
-に (あなたのインターネットプロバイダ) に配送します.
-セカンダリ MX サイトは, (<tt>/etc/sysconfig</tt> ファイル
-に <tt>sendmail_flag = "-bd -q15m"</tt>と書かれている場合) 15 分ごとに,
-プライマリ MX サイトにメールを配送しようと, あなたのホストに接続しに
-いきます.
-
-ログインスクリプトとして, このようなものを使うとよいでしょう.
-<verb>
-#!/bin/sh
-# Put me in /usr/local/bin/pppbigco
-( sleep 60 ; /usr/sbin/sendmail -q ) &
-/usr/sbin/ppp -direct pppbigco
-</verb>
-ユーザごとにログインスクリプトを作りたい場合には, 上記
-のスクリプトの代わりに, <tt>sendmail -qRbigco.com</tt> を使用する
-こともできます. このようにすると, キューの中の bigco.com に対する
-すべてのメールは, すぐに強制的に処理されます.
-
-さらに, 次のような改良もできます.
-
-以下は, freebsd-isp メイリングリストから抜粋してきたメッセージです.
-<verb>
-> 私たちはお客様に対して, セカンダリ MX を提供しています. お客様は一日
-> に何回か私たちのサービスに接続し, メールを彼らのプライマリ MX に
-> 受け取ります (彼らのドメインに対するメールが到着した時には, 私たちは
-> 彼らのサイトを呼び出しません).
-> 私たちの sendmail は, 30 分ごとにメールキューに溜っているメールを
-> 配送します. ちょうどその時に, すべてのメールがプライマリ MX に送られ
-> たかどうかを確かめるためには, 彼らは 30 分は オンラインでいなけれ
-> ばなりません.
->
-> すべてのメールを今すぐ送るために sendmail を初期化するコマンドはあ
-> るでしょうか? もちろん私たちのマシン上には, ユーザはルート (root) 権限
-> を持っていません.
-
-sendmail.cf の 「privacy flags」 セクションに,
-「Opgoaway,restrictqrun」の定義があります.
-
-root 以外のユーザがキューを処理できるようにするには,
-restrictqrun を削除してください. また, MX を再調整が必要かもしれません.
-あなたがたは, 顧客のサイトに対する一番優先度の高い MX なので,
-次のように定義します:
-
-# If we are the best MX for a host, try directly instead of generating
-# local config error.
-OwTrue
-
-このようにすると, リモートサイトからのメールが, 顧客のマシンと接続し
-ようとせず, 直接あなたがたのホストマシンに配送されるようになります.
-ホストマシンに配送されたメールは, 続いて顧客のマシンに送られます.
-これはホスト名にのみ有効なので, 顧客のメールマシンに,
-「host.customer.com」とは別に, 「customer.com」も定義する必要があり
-ます. DNS 上で, 「customer.com」に対する A レコードを定義してください.
-</verb>
-
- </sect1>
diff --git a/share/doc/ja_JP.EUC/handbook/memoryuse.sgml b/share/doc/ja_JP.EUC/handbook/memoryuse.sgml
deleted file mode 100644
index 16fa5d4..0000000
--- a/share/doc/ja_JP.EUC/handbook/memoryuse.sgml
+++ /dev/null
@@ -1,61 +0,0 @@
-<!-- $Id: memoryuse.sgml,v 1.4 1997/02/22 13:01:27 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.9 -->
-
-<sect><heading>PC におけるメモリの利用<label id="memoryuse"></heading>
-
-<p><em>原作: &a.joerg;.<newline>
- 16 Apr 1995.</em>
-<p><em>訳: &a.tomo;. <newline>
- 29 Oct 1996.</em>
-
-<em>FreeBSDがi386プラットフォーム上でどのようにメモリを使うかに
-ついての説明です. </em>
-
-ブート部分は<tt>0:0x7c00</tt>にロードされ, すぐに自分自身を
-<tt>0x7c0:0</tt>に移します. (これは手品ではなく, 単なる<tt>%cs</tt>
-セレクタのための調節であり, <tt>ljmp</tt>により行われます. )
-
-それから最初の15セクタを<tt>0x10000</tt>(biosbootのMakefileのなかの
-BOOTSEG部分)にロードし, 作業領域のスタックを<tt>0x1fff0</tt>以下に
-セットします. このあと, boot2 に飛びます. つまり, boot1 自身と
-(ダミーの) DOS パーティションテーブルを飛び越えて, %csセレクタを
-調節します---この時点ではまだ16ビットモードです.
-
-boot2はブートファイルを要求し, <tt>a.out</tt>ヘッダを調べます.
-<tt>0x00ffffff</tt>によってファイルエントリポイントを
-(通常は<tt>0xf0100000</tt>に)マスクし, ロードします.
-このため, 通常のロードポイントは1MB(<tt>0x00100000</tt>)になります.
-ロードしている間, リアルモードでBIOSを使うため, ブートコードは,
-リアルモードとプロテクトモードの間を行ったり来たりします
-(訳注: これは, BIOSがリアルモード用に書かれていて,
-ロードすべき領域がリアルモードではアクセスできない1MBより上位の
-アドレスであることから, ブートコードがリアルモードと
-プロテクトモードを切り替えながら動作するためです).
-
-ブートコード自身はプロテクトモードで<tt>%cs</tt>と<tt>%ds/%es</tt>用に
-セグメントセレクタ<tt>0x18</tt>と<tt>0x20</tt>を使い,
-リアルモードに戻るのに<tt>0x28</tt>を使います.
-最終的にカーネルはアドレス空間全体をカバーできるようなダミーの
-ディスクリプタを参照して<tt>%cs</tt> <tt>0x08</tt>と
-<tt>%ds/%es/%ss</tt> <tt>0x10</tt>でスタートします.
-
-カーネルはそのロードポイントで起動されます.
-別の(高位)アドレスにリンクされるので,
-ページテーブルやページディレクトリなどが適切に設定され,
-ページングが有効になり, カーネルがリンクされたアドレスで
-動作するようになるまでは, カーネルはロードアドレスからの
-相対アドレス (PIC: position independent code) を用いて
-実行されなければなりません.
-
-<em>寄贈: &a.davidg;.<newline>
- 16 Apr 1995.</em>
-
-カーネルの BSS セグメントの直後の物理ページ (実メモリ) に
-proc0 (訳注: プロセス番号 0, swapper) のページディレクトリや
-ページテーブル, Uページが配置されます.
-仮想記憶機構が初期化された少しあと,
-<tt>0x1000-0x9ffff</tt>の実メモリとカーネル
-(text + data + bss + 上記の proc0 に関わるもの + その他)
-の後ろの実メモリは, 通常の仮想記憶ページの形で利用可能となり,
-グローバルな空きページリストに追加されます.
diff --git a/share/doc/ja_JP.EUC/handbook/mirrors.sgml b/share/doc/ja_JP.EUC/handbook/mirrors.sgml
deleted file mode 100644
index 3c4f8d9..0000000
--- a/share/doc/ja_JP.EUC/handbook/mirrors.sgml
+++ /dev/null
@@ -1,703 +0,0 @@
-<!-- $Id: mirrors.sgml,v 1.15 1997/04/25 20:09:23 max Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.56 -->
-
-<!--
-<!doctype linuxdoc public "-//FreeBSD//DTD linuxdoc//EN">
--->
-
-<chapt><heading>FreeBSD の入手方法<label id="mirrors"></heading>
-
-<sect><heading>CD-ROM 出版社</heading>
-
-<p>FreeBSD は Walnut Creek CDROM から出されている CD-ROM から入手できます:
-<quote>
- Walnut Creek CDROM<newline>
- 1547 Palos Verdes Mall, Suite 260<newline>
- Walnut Creek CA 94596 USA<newline>
- Phone: +1 510 674-0783<newline>
- Fax: +1 510 674-0821<newline>
- Email: <url url="mailto:info@cdrom.com" name="info@cdrom.com"><newline>
- WWW: <url url="http://www.cdrom.com/" name="http://www.cdrom.com/">
-</quote>
-
-<sect><heading>FTP サイト<label id="mirrors-ftp"></heading>
-
-<p>FreeBSD の公式な情報は anonymous FTP によって以下の場所から
-入手できます:
-<quote>
-<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD"
-name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD">.
-</quote>
-
-<p>さらに, FreeBSD は以下のミラーサイトから anonymous FTP によって
- 入手できます. もし FreeBSD を anonymous FTP によって手にいれる場合は,
- 近くのサイトを利用するようにしてください.
-
-<ref id="mirrors-ar" name="Argentina">,
-<ref id="mirrors-au" name="Australia">,
-<ref id="mirrors-br" name="Brazil">,
-<ref id="mirrors-ca" name="Canada">,
-<ref id="mirrors-cz" name="Czech Republic">,
-<ref id="mirrors-dk" name="Denmark">,
-<ref id="mirrors-ee" name="Estonia">,
-<ref id="mirrors-fi" name="Finland">,
-<ref id="mirrors-fr" name="France">,
-<ref id="mirrors-de" name="Germany">,
-<ref id="mirrors-hk" name="Hong Kong">,
-<ref id="mirrors-ie" name="Ireland">,
-<ref id="mirrors-il" name="Israel">,
-<ref id="mirrors-jp" name="Japan">,
-<ref id="mirrors-kr" name="Korea">,
-<ref id="mirrors-nl" name="Netherlands">,
-<ref id="mirrors-pl" name="Poland">,
-<ref id="mirrors-pt" name="Portugal">,
-<ref id="mirrors-ru" name="Russia">,
-<ref id="mirrors-za" name="South Africa">,
-<ref id="mirrors-se" name="Sweden">,
-<ref id="mirrors-tw" name="Taiwan">,
-<ref id="mirrors-th" name="Thailand">,
-<ref id="mirrors-us" name="USA">,
-<ref id="mirrors-uk" name="UK">.
-
-<descrip>
-<tag><label id="mirrors-ar">アルゼンチン</tag>
-
-何か問題がある場合は,このドメインの
-<url url="mailto:hostmaster@ar.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.ar.FreeBSD.ORG/pub/FreeBSD"
- name="ftp.ar.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-au">オーストラリア</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@au.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.au.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.au.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.au.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.au.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.au.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp3.au.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp4.au.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp4.au.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-br">ブラジル</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@br.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-<item>
-<url url="ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.br.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.br.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.br.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp3.br.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp4.br.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp4.br.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp5.br.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp5.br.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp6.br.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp6.br.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp7.br.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp7.br.FreeBSD.ORG/pub/FreeBSD"><newline>
-</itemize>
-
-<tag><label id="mirrors-ca">カナダ</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@ca.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.ca.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.ca.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-cz">チェコ</tag>
-
-<itemize>
-
-<item>
-<url url="ftp://sunsite.mff.cuni.cz/OS/FreeBSD"
- name="ftp://sunsite.mff.cuni.cz/OS/FreeBSD"><newline>
- 連絡先: <url url="mailto:jj@sunsite.mff.cuni.cz"
- name="jj@sunsite.mff.cuni.cz">.
-
-</itemize>
-
-<tag><label id="mirrors-dk">デンマーク</tag>
-
-何か問題がある場合は,このドメインの
-<url url="mailto:hostmaster@dk.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.dk.freeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.dk.freeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-ee">エストニア</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@ee.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.ee.freebsd.ORG/pub/FreeBSD"
- name="ftp://ftp.ee.freebsd.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-fi">フィンランド</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@fi.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.fi.freebsd.ORG/pub/FreeBSD"
- name="ftp://ftp.fi.freebsd.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-fr">フランス</tag>
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.ibp.fr/pub/FreeBSD"
- name="ftp://ftp.ibp.fr/pub/FreeBSD"><newline>
- 連絡先: <url url="mailto:Remy.Card@ibp.fr"
- name="Remy.Card@ibp.fr">.
-
-</itemize>
-
-<tag><label id="mirrors-de">ドイツ</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@de.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.de.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.de.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.de.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.de.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.de.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp3.de.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp4.de.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp4.de.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp5.de.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp5.de.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp6.de.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp6.de.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp7.de.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp7.de.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-hk">香港</tag>
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.hk.super.net/pub/FreeBSD"
- name="ftp://ftp.hk.super.net/pub/FreeBSD"><newline>
- 連絡先: <url url="mailto:ftp-admin@HK.Super.NET"
- name="ftp-admin@HK.Super.NET">.
-
-</itemize>
-
-<tag><label id="mirrors-ie">アイルランド</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@ie.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.ie.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.ie.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-il">イスラエル</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@il.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.il.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.il.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.il.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.il.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-jp">日本</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@jp.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.jp.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.jp.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.jp.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp3.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp4.jp.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp4.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp5.jp.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp5.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp6.jp.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp6.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-kr">韓国</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@kr.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.kr.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.kr.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.kr.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.kr.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-nl">オランダ</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@nl.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.nl.freebsd.ORG/pub/FreeBSD"
- name="ftp://ftp.nl.freebsd.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-pl">ポーランド</tag>
-
-何か問題がある場合は,このドメインの
-<url url="mailto:hostmaster@pl.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.pl.freebsd.ORG/pub/FreeBSD"
- name="ftp://ftp.pl.freebsd.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-pt">ポルトガル</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@pt.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.pt.freebsd.org/pub/FreeBSD"
- name="ftp://ftp.pt.freebsd.org/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.pt.freebsd.org/pub/FreeBSD"
- name="ftp://ftp2.pt.freebsd.org/pub/FreeBSD"><newline>
-</itemize>
-
-<tag><label id="mirrors-ru">ロシア</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@ru.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.ru.freebsd.org/pub/FreeBSD"
- name="ftp://ftp.ru.freebsd.org/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.ru.freebsd.org/pub/FreeBSD"
- name="ftp://ftp2.ru.freebsd.org/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.ru.freebsd.org/pub/FreeBSD"
- name="ftp://ftp3.ru.freebsd.org/pub/FreeBSD"><newline>
-</itemize>
-
-<tag><label id="mirrors-za">南アフリカ</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@za.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.za.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.za.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.za.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.za.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.za.FreeBSD.ORG/FreeBSD"
- name="ftp://ftp3.za.FreeBSD.ORG/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-se">スウェーデン</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@se.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.se.freebsd.ORG/pub/FreeBSD"
- name="ftp://ftp.se.freebsd.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-tw">台湾</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@tw.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.tw.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.tw.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.tw.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.tw.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.tw.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp3.tw.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-th">タイ</tag>
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.nectec.or.th/pub/FreeBSD"
- name="ftp://ftp.nectec.or.th/pub/FreeBSD"><newline>
- 連絡先: <url url="mailto:ftpadmin@ftp.nectec.or.th"
- name="ftpadmin@ftp.nectec.or.th">.
-
-</itemize>
-
-<tag><label id="mirrors-us">アメリカ</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp3.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp4.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp4.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp5.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp5.FreeBSD.ORG/pub/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp6.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp6.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag><label id="mirrors-uk">イギリス</tag>
-
-何か問題がある場合は, このドメインの
-<url url="mailto:hostmaster@uk.FreeBSD.ORG" name="hostmaster">
-に連絡してください.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.uk.FreeBSD.ORG/packages/unix/FreeBSD"
- name="ftp://ftp.uk.FreeBSD.ORG/packages/unix/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp2.uk.FreeBSD.ORG/pub/walnut.creek/FreeBSD"
- name="ftp://ftp2.uk.FreeBSD.ORG/pub/walnut.creek/FreeBSD"><newline>
-<item>
-<url url="ftp://ftp3.uk.FreeBSD.ORG/pub/unix/FreeBSD"
- name="ftp://ftp3.uk.FreeBSD.ORG/pub/unix/FreeBSD"><newline>
-
-</itemize>
-
-</descrip>
-
-FreeBSD (2.0C またはそれ以降) の輸出規制コード (eBones と secure) の
-最新のバージョンは以下の場所から入手できます.
-もしあなたがアメリカやカナダ以外にいるのであれば,
-secure (DES) と eBones (Kerberos) を
-以下の外国向けの配布サイトから手にいれてください:
-
-<descrip>
-
-<tag>南アフリカ</tag>
-
-このドメインの
-<url url="mailto:hostmaster@internat.FreeBSD.ORG" name="Hostmaster">
-.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.internat.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.internat.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-<item>
-<url url="ftp://ftp2.internat.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp2.internat.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag>ブラジル</tag>
-
-このドメインの
-<url url="mailto:hostmaster@br.FreeBSD.ORG" name="Hostmaster">
-.
-
-<itemize>
-
-<item>
-<url url="ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD"
- name="ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD"><newline>
-
-</itemize>
-
-<tag>フィンランド</tag>
-
-<itemize>
-
-<item>
-<url url="ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt"
- name="ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt"><newline>
- 連絡先: <url url="mailto:count@nic.funet.fi"
- name="count@nic.funet.fi">.
-
-</itemize>
-
-</descrip>
-
-<sect><heading>CTM サイト<label id="mirrors-ctm"></heading>
-
-<p><ref id="ctm" name="CTM">/FreeBSD は以下のミラーサイトから anonymous FTP
- によって入手できます. もし CTM を anonymous FTP によって手にいれる場合は,
- 近くのサイトを利用するようにしてください.
-
-何か問題がある場合は, &a.phk;に連絡してください.
-
-<descrip>
-<tag>カリフォルニア, サンフランシスコ近辺, 公式なソース</tag>
-<itemize>
-<item>
-<url url="ftp://freefall.freebsd.org/pub/CTM"
- name="ftp://freefall.freebsd.org/pub/CTM"><newline>
-</itemize>
-
-
-<tag>ドイツ, ベルリン</tag>
-<itemize>
-<item>
-<url url="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CTM"
- name="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CTM"><newline>
-</itemize>
-
-
-<tag>ドイツ, トリエル</tag>
-<itemize>
-<item>
-<url url="ftp://ftp.uni-trier.de/pub/unix/systems/BSD/FreeBSD/CTM"
- name="ftp://ftp.uni-trier.de/pub/unix/systems/BSD/FreeBSD/CTM"><newline>
-</itemize>
-
-
-<tag>南アフリカ, ctm, sup, CVSupなどの古い差分ファイルのバックアップサーバ</tag>
-<itemize>
-<item>
-<url url="ftp://ftp.internat.freebsd.org/pub/FreeBSD/CTM"
- name="ftp://ftp.internat.freebsd.org/pub/FreeBSD/CTM"><newline>
-</itemize>
-
-
-<tag>台湾/中華民国, チャーイー(嘉義)</tag>
-<itemize>
-<item>
-<url url="ftp://ftp.ccu.edu.tw/pub/freebsd/CTM"
- name="ftp://ftp.ccu.edu.tw/pub/freebsd/CTM"><newline>
-</itemize>
-
-</descrip>
-
-
-近くにミラーサイトがない場合やミラーが不完全な場合は,
-<url url="http://ftpsearch.ntnu.no/ftpsearch/"
- name="http://ftpsearch.ntnu.no/ftpsearch"> の
-<url url="http://ftpsearch.ntnu.no/" name="FTP search"> を試してください.
-FTP search はノルウェーの Trondheim にある, フリーの素晴らしい アーカイブサーバです.
-
-<sect><heading>CVSup サイト<label id="mirrors-cvsup"></heading>
-
-<p>FreeBSD の <ref id="cvsup" name="CVSup"> サーバは以下のサイトで稼働しています:
-
-<descrip>
-
-<tag>アルゼンチン</tag>
-<itemize>
-<item>cvsup.ar.FreeBSD.ORG
-(<url url="mailto:msagre@cactus.fi.uba.ar" name="maintainer">)
-</itemize>
-
-<tag>オーストラリア</tag>
-<itemize>
-<item>cvsup.au.FreeBSD.ORG
-(<url url="mailto:dawes@physics.usyd.edu.au" name="maintainer">)
-</itemize>
-
-<tag>ドイツ</tag>
-<itemize>
-<item>cvsup.de.FreeBSD.ORG
-(<url url="mailto:wosch@cs.tu-berlin.de" name="maintainer">)
-</itemize>
-
-<tag>日本</tag>
-<itemize>
-<item>cvsup.jp.FreeBSD.ORG
-(<url url="mailto:simokawa@sat.t.u-tokyo.ac.jp" name="maintainer">)
-</itemize>
-
-<tag>オランダ</tag>
-<itemize>
-<item>cvsup.nl.FreeBSD.ORG
-(<url url="mailto:xaa@stack.nl" name="maintainer">)
-</itemize>
-
-<tag>ノルウェー</tag>
-<itemize>
-<item>cvsup.no.FreeBSD.ORG
-(<url url="mailto:Tor.Egge@idt.ntnu.no" name="maintainer">)
-</itemize>
-
-<tag>南アフリカ</tag>
-<itemize>
-<item>cvsup.za.FreeBSD.ORG
-(<url url="mailto:markm@FreeBSD.ORG" name="maintainer">)
-</itemize>
-
-<tag>台湾</tag>
-<itemize>
-<item>sup.tw.FreeBSD.ORG
-(<url url="mailto:jdli@freebsd.csie.nctu.edu.tw" name="maintainer">)
-</itemize>
-
-<tag>アメリカ</tag>
-<itemize>
-<item>cvsup.FreeBSD.ORG
-(<url url="mailto:jdp@FreeBSD.ORG" name="maintainer">)
-<item>cvsup2.FreeBSD.ORG
-(<url url="mailto:jdp@FreeBSD.ORG" name="maintainer">)
-<item>cvsup4.FreeBSD.ORG
-(<url url="mailto:jdp@FreeBSD.ORG" name="maintainer">)
-<item>cvsup5.FreeBSD.ORG
-(<url url="mailto:skynyrd@opus.cts.cwu.edu" name="maintainer">)
-</itemize>
-
-</descrip>
-
-FreeBSD の輸出規制されたコード (eBones と secure) は CVSup 経由で以下
-の国際的なリポジトリから入手できます. アメリカ合衆国やカナダ以外に居る
-場合は, このサイトを使って輸出規制されたコードを入手してください.
-
-<descrip>
-
-<tag>南アフリカ</tag>
-<itemize>
-<item>cvsup.internat.FreeBSD.ORG
-(<url url="mailto:markm@FreeBSD.ORG" name="maintainer">)
-</itemize>
-
-</descrip>
diff --git a/share/doc/ja_JP.EUC/handbook/nfs.sgml b/share/doc/ja_JP.EUC/handbook/nfs.sgml
deleted file mode 100644
index 910c1b9..0000000
--- a/share/doc/ja_JP.EUC/handbook/nfs.sgml
+++ /dev/null
@@ -1,88 +0,0 @@
-<!-- $Id: nfs.sgml,v 1.5 1997/02/22 13:01:30 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.9 -->
-
-<sect><heading>NFS<label id="nfs"></heading>
-
-<p><em>原作: &a.jlind;.</em>
-<p><em>訳: &a.tomo;.<newline>6 September 1996.</em>
-
-ISA用のイーサネットアダプタの中には性能が悪いため, ネットワーク,
-特に NFS で深刻な問題がおきるものがあります. これは FreeBSD に限ったことでは
-ありませんが, FreeBSD でも起こり得ます.
-
-この問題は, (FreeBSDを使用した)PCがシリコン・グラフィックス社やサン・マイクロ
-システムズ社などの高性能なWSにネットワーク接続されている場合に頻繁に
-起こります. NFSマウントはうまく行きます. また, いくつかの操作もうまく
-働きますが, 他のシステム(WS)に対する要求や応答は続いていても, 突然サーバ
-がクライアントの要求に対して反応しなくなります.
-これは, クライアントがFreeBSDか上記のWSであるとき, にクライアント側に起きる
-現象です. 多くのシステムでは, いったんこの問題が起きたら解決できないので,
-行儀よくシャットダウンするしかありません.
-唯一の解決策は, この状況に陥る前にクライアントをリセットすることです.
-なぜなら, 一旦この状況に陥ると NFS を解除することさえできないからです.
-
-"正しい"解決法は, より高性能のイーサネットアダプタをFreeBSDシステムに
-インストールすることですが, 満足な操作ができるような簡単な方法があります.
-もし, FreeBSDシステムがサーバになるのなら, クライアントからのマウント時に
-"-w=1024"オプションをつけて下さい. もしFreeBSDシステムがクライアントになる
-のなら, NFSファイルシステムを"-r=1024"オプションつきでマウントして下さい.
-これらのオプションは自動的にマウントをおこなう場合には
-クライアントのfstabエントリの4番目のフィールドに指定してもよいですし,
-手動マウントの場合はmountコマンドの"-o"パラメータで指定してもよいでしょう.
-
-NFSサーバとクライアントが別々のネットワーク上にあるような場合,
-これと間違えやすい他の問題が起きることに注意して下さい. そのような場合は,
-ルータが必要なUDP情報をきちんとルーティングしているかを確かめて下さい.
-そうでなければ, たとえあなたが何をしようと解決できないでしょう.
-
-次の例では, "fastws"は高性能のWSのホスト
-(インタフェース)名で, "freebox"は低性能のイーサネットアダプタを備えた
-FreeBSDシステムのホスト(インタフェース)名です.
-
-また, "/sharedfs"はエクスポートされるNFSファイルシステムであり
-("man exports"を見て下さい), "/project"はエクスポートされたファイル
-システムのクライアント上のマウントポイントとなります.
-全ての場合において, "hard"や"soft", "bg"といった追加オプションが
-アプリケーションにより要求されるかもしれないことに注意して下さい.
-
-クライアント側FreeBSDシステム("freebox")の例は:
-freeboxの<tt>/etc/fstab</tt>に次のように書いて下さい:
-fastws:/sharedfs /project nfs rw,-r=1024 0 0
-freebox上で手動でmountコマンドを実行する場合は次のようにして下さい:
-mount -t nfs -o -r=1024 fastws:/sharedfs /project
-
-
-サーバ側FreeBSDシステムの例は:
-fastwsの<tt>/etc/fstab</tt>に次のように書いて下さい:
-freebox:/sharedfs /project nfs rw,-w=1024 0 0
-fastws上で手動でmountコマンドで実行する場合は次のようにして下さい:
-mount -t nfs -o -w=1024 freebox:/sharedfs /project
-
-近いうちにどのような16ビットのイーサネットアダプタでも上記の読み出し,
-書き込みサイズの制限なしの操作ができるようになるでしょう.
-
-失敗が発生したとき何が起きているか関心のある人に, なぜ回復不可能なのか
-も含めて説明します.
-NFSは通常 (より小さいサイズへ分割されるかもしれませんが) 8Kの"ブロック"
-サイズで働きます. イーサネットのパケットサイズは最大1500バイト程度なので,
-上位階層のコードにとっては1つのユニットのままなのですが, NFS"ブロック"は
-複数のイーサネットパケットに分割されます. そして受信され, 組み立て直されてから
-肯定応答されなければなりません. 高性能のWSは次々に
-NFSユニットを構成するパケットを, 基準の範囲内で間隔を詰めて
-次々に送り出すことができます. 小さく, 容量の低いカードでは, 同じユニットの
-前のパケットがホストに転送される前に, 後のパケットがそれを
-「踏みつぶし」てしまいます. このため全体としてのユニットは再構成もされないし,
-肯定応答もされません. その結果, WSはタイムアウトして再送を試みますが,
-8Kのユニット全体を再送しようとするので, このプロセスは
-際限無く繰り返されてしまいます.
-
-ユニットサイズをイーサネットのパケットサイズの制限以下に抑えることにより,
-受信された完全なイーサネットパケットは個々に肯定応答を受けられることが
-保証されるので, デッドロック状態を避けることができるようになります.
-
-高性能のカードを使っている場合でも, 高性能なWSが力任せに次々と
-PCシステムにデータを送ったときには「踏みつぶし」が起きるかもしれません.
-そのような「踏みつぶし」はNFS"ユニット"では保証されていません.
-「踏みつぶし」が起こったとき, 影響を受けたユニットは再送されます.
-そして受信され, 組み立てられ, 肯定応答される公平な機会が与えられるでしょう.
diff --git a/share/doc/ja_JP.EUC/handbook/nutshell.sgml b/share/doc/ja_JP.EUC/handbook/nutshell.sgml
deleted file mode 100644
index 979f515..0000000
--- a/share/doc/ja_JP.EUC/handbook/nutshell.sgml
+++ /dev/null
@@ -1,153 +0,0 @@
-<!-- $Id: nutshell.sgml,v 1.4 1997/02/22 13:01:31 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.12 -->
-
-<sect><heading>FreeBSD とは<label id="nutshell"></heading>
-
- <p><em>原作: 不明.</em>
-
- <p><em>訳: &a.tomo;.</em>
-
- <p>FreeBSDはIntel社の (SXやDXも含めた) 386や486, Pentiumプロセッサ
- といったCPUアーキテクチャに基づくパーソナルコンピュータ用としては
- 現在求めうる最高水準のオペレーティングシステムです.
- AMD社やCyrix社のIntel互換CPUもサポートされています.
- FreeBSDは, 以前は高価なコンピュータでしか利用できなかった多くの
- 高度な機能を提供します. FreeBSDには次のような機能があります:
-
- <itemize>
- <item>アプリケーションとユーザとの間で円滑かつ公平にコンピュータを
- 共有することを保証する, 優先度を動的に調節する機能を備えた
- <bf>プリエンプティブマルチタスキング</bf>. </item>
- <item>多くの人々が1つのFreeBSDシステムをさまざまな目的で同時に
- 使うことを可能にする<bf>マルチユーザ</bf>アクセス. また,
- プリンタやテープドライブのようなシステムの周辺機器も
- すべてのユーザ間で適切に共有されます. </item>
- <item>SLIPやPPP, NFS, NISのサポートを含んだ完全な
- <bf>TCP/IPネットワーキング</bf>. これによって,
- FreeBSDマシンが商用サーバと同じように相互に運用でき,
- NFS (リモートファイルアクセス) や電子メールサービスのような極めて
- 重要な機能を提供します. また, WWWやftp, ルーティング,
- ファイアウォール (セキュリティ) サービスを用いてインターネットと
- 接続できます. </item>
- <item>アプリケーション (あるいはユーザ) がお互いに干渉できない
- ようにする<bf>メモリ保護</bf>機能.
- アプリケーションがクラッシュしても, どのような場合でも
- 他のアプリケーションには影響を与えません. </item>
- <item>FreeBSDは<bf>32ビット</bf>のオペレーティングシステムであり,
- 最初からそのようにこつこつと設計されました. </item>
- <item>業界標準である<bf>X Windowシステム</bf> (X11R6) は,
- 普通のVGAカードやモニタでグラフィカルユーザ
- インタフェース (GUI) を提供し,
- すべてのソースコードも一緒に提供されます.
- </item>
- <item>SCOやBSDI, NetBSD, Linux, 386BSD用に作られた多くの
- プログラムにおける<bf>バイナリ互換性</bf>. </item>
- <item>何百もの<bf>すぐに実行可能な</bf>アプリケーションが
- FreeBSDの<bf>ports</bf>や<bf>packages</bf>コレクション
- で利用可能です. ここに用意されているものは
- ネットを探し回る必要がありません</item>
- <item>インターネット上で入手可能な, <bf>移植が容易な</bf>
- 何千ものアプリケーションを追加できます.
- FreeBSDは最も評判の
- よい商用のUnixシステムとソースコードレベルで互換性があります.
- このため, ほとんどのアプリケーションは, もしあったとしてもほんの
- 少しの変更でコンパイルすることができます. </item>
- <item>デマンドページング<bf>仮想メモリ</bf>とそれに`付随の
- VM/buffer キャッシュ'の設計は, 多くのメモリを要求する
- アプリケーションに対して効率よくメモリを与えるようにする一方で,
- 他のユーザに対しても対話的な応答を維持します. </item>
- <item><bf>共有ライブラリ</bf> (MS-WindowsのDLLと同等のUnixの
- 機能) によって, ディスクスペースとメモリを効果的に使用する
- ことができます. </item>
- <item>完全な<bf>C</bf>や<bf>C++</bf>, <bf>Fortran</bf>の
- 開発ツール. 進んだ研究や開発のための多くの他の言語も
- portsやpackagesコレクションで提供されています. </item>
- <item>システム全体の<bf>ソースコード</bf>が提供されているので,
- 要求に合わせて環境を最大限に適合させることができます.
- 真のオープンシステムが利用できるのですから, 所有権のある解決方法に
- 締めつけられ, ベンダのなすがままになる必要はありません. </item>
- <item>膨大な量の<bf>オンラインドキュメント</bf>. </item>
- <item><bf>もう書ききれません!</bf></item>
- </itemize>
- FreeBSDはカリフォルニア大学バークレイ校のComputer Systems
- Research Group (CSRG) による4.4BSD-Liteリリースを基にしており,
- BSDシステムの開発の優れた伝統を守り続けています.
- CSRGによる素晴らしい活動に加えて,
- FreeBSDプロジェクトは何千時間もの時間を注ぎ込んで,
- 実際の使用の場において最大の性能と信頼性を
- 発揮するためにシステムのチューニングをおこなっています.
- 多くの大企業がPCオペレーティングシステムの分野で
- 実現しようと奮闘しているそのような機能や性能, 信頼性を
- FreeBSDは<bf>今すぐ</bf>提供できます!
-
- あなたの思いつく限りのアプリケーションは,
- 何でもFreeBSDで 実行できます. ソフトウェア開発から
- ファクトリオートメーション, 在庫制御から遠く離れた人工衛星の
- アンテナの方向調整まで; 商用UNIX製品でできることは,
- FreeBSDでも十分にできるのです!
- また, FreeBSDは世界中の研究センターや大学によって開発される
- 文字通り何千もの高品質で, たいていはほとんど無料で利用できる
- アプリケーションによる恩恵を得ることができます.
- 商用のアプリケーションも提供されており, 日々増え続けています.
-
- FreeBSDのソースコードは広く提供されているので,
- システムも特別なアプリケーションやプロジェクトに合わせて,
- いくらでもカスタマイズすることができます. これは
- 有名な商業ベンダから出ているほとんどのオペレーティング
- システムでは不可能なことです. 以下に現在FreeBSDを
- 使っている人々のアプリケーションの例をいくつか上げます:
-
- <itemize>
- <item><bf>インターネットサービス:</bf> FreeBSDに組み込まれている
- 頑強なTCP/IPネットワーキング機能は次のようなさまざまなインターネット
- サービスの理想的なプラットフォームになります:
- <itemize>
- <item>FTP サーバ</item>
- <item>World Wide Web サーバ</item>
- <item>Gopher サーバ</item>
- <item>電子メールサーバ</item>
- <item>USENET ニュース</item>
- <item>電子掲示板システム</item>
- <item>さらにいろいろ...</item>
- </itemize>
- まずは高価ではない386クラスのPCで始めておいて,
- 仕事の成長に合わせてアップグレードできます. </item>
- <item><bf>教育:</bf> あなたは計算機科学または工学の学生ですか?
- オペレーティングシステムやコンピュータアーキテクチャ,
- ネットワーキングを学習するなら, FreeBSDを手に
- 経験するのが一番よい方法です. 自由に利用できるCADや数学,
- グラフィックデザインのパッケージもいくつもあり,
- コンピュータに関心を持った人が<em>他の人</em>の成果を
- 手に入れて利用するのにとても役に立ちます. </item>
- <item><bf>研究:</bf>システム全体のソースコードが利用できるため,
- FreeBSDはオペレーティングシステムの研究だけでなく,
- 計算機科学の他の部門においても優れたプラットフォームです.
- 自由に利用できるFreeBSDの特長は, オープンフォーラムで
- 議論される特別なライセンスの同意や制限について
- 心配することなく, 離れたグループでもアイディアや開発の共有に
- よる共同研究を可能にします.
- </item>
- <item><bf>ネットワーキング:</bf>新しいルータが必要?
- ネームサーバ (DNS) は? 内部のネットワークを人々から守る
- ファイアウォールは?
- FreeBSDはすみに眠っている使われていない386や486のPCを簡単に
- 洗練されたパケットフィルタリング機能を持つ高級なルータに
- 変えることができます. </item>
- <item><bf>X Windowワークステーション:</bf>
- 自由に利用できるXFree86サーバやX Inside社から提供される
- 優れた商業サーバを使うことによって, 安価なX端末
- としてFreeBSDを使うこともできます. X端末とは違ってFreeBSDは
- 多くのアプリケーションをローカルに走らせることもでき,
- 中心のサーバの負荷を軽減することも可能です.
- FreeBSDは"ディスクレス"でもブート可能であり,
- 個々のワークステーションを安価で, 容易に管理することさえ
- 可能にします. </item>
- <item><bf>ソフトウェア開発:</bf> 基本的なFreeBSDシステムには
- 有名なGNUのC/C++コンパイラやデバッガ含んだ完全な開発ツールが
- ついてきます. </item>
- </itemize>
-
-FreeBSDはCDROMまたはanonymous ftpによってソース, バイナリとも
-利用可能です. 詳しくは, <ref id="mirrors" name="FreeBSD の入手方法">
-を見てください.
diff --git a/share/doc/ja_JP.EUC/handbook/pgpkeys.sgml b/share/doc/ja_JP.EUC/handbook/pgpkeys.sgml
deleted file mode 100644
index baf843d..0000000
--- a/share/doc/ja_JP.EUC/handbook/pgpkeys.sgml
+++ /dev/null
@@ -1,370 +0,0 @@
-<!-- $Id: pgpkeys.sgml,v 1.9 1997/03/10 01:09:47 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.20 -->
-
-<chapt><heading>PGP 公開鍵<label id="pgpkeys"></heading>
-
- <p><em>原作: 不明.</em>
-
- <p><em>訳: &a.kiroh;.</em>
-
- <p> 署名を検証したり, コアチームメンバやオフィサに暗号メー
-ルを送りたい場合のために, PGPの公開鍵を添付します.
-
- <sect><heading>オフィサ</heading>
- <sect1><heading>
-FreeBSD Security Officer &lt;security-officer@freebsd.org&gt;
- </heading> <p>
-<tscreen><verb>
-FreeBSD Security Officer &lt;security-officer@freebsd.org&gt;
-Fingerprint = 41 08 4E BB DB 41 60 71 F9 E5 0E 98 73 AF 3F 11
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3i
-
-mQCNAzF7MY4AAAEEAK7qBgPuBejER5HQbQlsOldk3ZVWXlRj54raz3IbuAUrDrQL
-h3g57T9QY++f3Mot2LAf5lDJbsMfWrtwPrPwCCFRYQd6XH778a+l4ju5axyjrt/L
-Ciw9RrOC+WaPv3lIdLuqYge2QRC1LvKACIPNbIcgbnLeRGLovFUuHi5z0oilAAUR
-tDdGcmVlQlNEIFNlY3VyaXR5IE9mZmljZXIgPHNlY3VyaXR5LW9mZmljZXJAZnJl
-ZWJzZC5vcmc+iQCVAwUQMX6yrOJgpPLZnQjrAQHyowQA1Nv2AY8vJIrdp2ttV6RU
-tZBYnI7gTO3sFC2bhIHsCvfVU3JphfqWQ7AnTXcD2yPjGcchUfc/EcL1tSlqW4y7
-PMP4GHZp9vHog1NAsgLC9Y1P/1cOeuhZ0pDpZZ5zxTo6TQcCBjQA6KhiBFP4TJql
-3olFfPBh3B/Tu3dqmEbSWpuJAJUDBRAxez3C9RVb+45ULV0BAak8A/9JIG/jRJaz
-QbKom6wMw852C/Z0qBLJy7KdN30099zMjQYeC9PnlkZ0USjQ4TSpC8UerYv6IfhV
-nNY6gyF2Hx4CbEFlopnfA1c4yxtXKti1kSN6wBy/ki3SmqtfDhPQ4Q31p63cSe5A
-3aoHcjvWuqPLpW4ba2uHVKGP3g7SSt6AOYkAlQMFEDF8mz0ff6kIA1j8vQEBmZcD
-/REaUPDRx6qr1XRQlMs6pfgNKEwnKmcUzQLCvKBnYYGmD5ydPLxCPSFnPcPthaUb
-5zVgMTjfjS2fkEiRrua4duGRgqN4xY7VRAsIQeMSITBOZeBZZf2oa9Ntidr5PumS
-9uQ9bvdfWMpsemk2MaRG9BSoy5Wvy8VxROYYUwpT8Cf2iQCVAwUQMXsyqWtaZ42B
-sqd5AQHKjAQAvolI30Nyu3IyTfNeCb/DvOe9tlOn/o+VUDNJiE/PuBe1s2Y94a/P
-BfcohpKC2kza3NiW6lLTp00OWQsuu0QAPc02vYOyseZWy4y3Phnw60pWzLcFdemT
-0GiYS5Xm1o9nAhPFciybn9j1q8UadIlIq0wbqWgdInBT8YI/l4f5sf6JAJUDBRAx
-ezKXVS4eLnPSiKUBAc5OBACIXTlKqQC3B53qt7bNMV46m81fuw1PhKaJEI033mCD
-ovzyEFFQeOyRXeu25Jg9Bq0Sn37ynISucHSmt2tUD5W0+p1MUGyTqnfqejMUWBzO
-v4Xhp6a8RtDdUMBOTtro16iulGiRrCKxzVgEl4i+9Z0ZiE6BWlg5AetoF5n3mGk1
-lw==
-=ipyA
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
- <sect><heading>コアチームメンバ</heading>
- <sect1><heading>&a.jkh</heading><p>
-
-<tscreen><verb>
-Jordan K. Hubbard &lt;jkh@FreeBSD.org&gt;
-Fingerprint = 3C F2 27 7E 4A 6C 09 0A 4B C9 47 CD 4F 4D 0B 20
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.2i
-
-mQCNAzFjX0IAAAEEAML+nm9/kDNPp43ZUZGjYkm2QLtoC1Wxr8JulZXqk7qmhYcQ
-jvX+fyoriJ6/7ZlnLe2oG5j9tZOnRLPvMaz0g9CpW6Dz3nkXrNPkmOFV9B8D94Mk
-tyFeRJFqnkCuqBj6D+H8FtBwEeeTecSh2tJ0bZZTXnAMhxeOdvUVW/uOVC1dAAUR
-tCNKb3JkYW4gSy4gSHViYmFyZCA8amtoQEZyZWVCU0Qub3JnPokAlQMFEDF75D1r
-WmeNgbKneQEBXtcD+gJIv8JzZRKlDZyTCQanK8iRgE+zMhxptI0kDObaGxT1BrpY
-4/EPyiUN10G4k2Jb+DOc8Lg2xDQ3xmvgipFf9NMNV/ThaEuZ3wA31I6tW/arQEqB
-Tp8u6T3v20m62t7Afo9HaoE6MBpHQUk2TilxgAd5P57sporL3pgW9YojIO9ziQCV
-AwUQMXyV2h9/qQgDWPy9AQEMfgP/RmbSg2WlesATUQ4WuanjcdREduKPyfQatrXD
-2xt+jg9X78dTyiNN1YvLqvT6msfs04MKSC0hA2mou6ozw8Xak+1QmP0fBOZKp9pP
-8szO188Do9ByzJPvHF1eXT7jFMOXVq8ZIl9iwjxcIDLzlxOz49DC7LO6AT+LKQk7
-UGeP+lqJAJUDBRAxe+UG9RVb+45ULV0BAXZ9A/9F9gLpGukVNkeOjaqxQdJGTS+a
-xh/Abk0c/nKhAEyxpAl5JyQ3ifYk6BHhPvlTi9LrZoXGA8sk/eU4eRTZVzvGEC4G
-+xsavlE/xzku8855QTLPpkCunUpQeu1wzaIrUUE6Zjh05imFbJYyQOBgTFpuqWsC
-rsUpl+2mr8IGIxG5rA==
-=LW9i
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
- <sect1><heading>&a.phk</heading><p>
-
-<tscreen><verb>
-Poul-Henning Kamp &lt;phk@FreeBSD.org&gt;
-Fingerprint = A3 F3 88 28 2F 9B 99 A2 49 F4 E2 FA 5A 78 8B 3E
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3ia
-
-mQCNAzAdpMIAAAEEALHDgrFUwhZtb7PbXg3upELoDVEUPFRwnmpJH1rRqyROUGcI
-ooVe7u+FQlIs5OsXK8ECs/5Wpe2UrZSzHvjwBYOND5H42YtI5UULZLRCo5bFfTVA
-K9Rpo5icfTsYihrzU2nmnycwFMk+jYXyT/ZDYWDP/BM9iLjj0x9/qQgDWPy9AAUR
-tCNQb3VsLUhlbm5pbmcgS2FtcCA8cGhrQEZyZWVCU0Qub3JnPokAlQMFEDMGK9qz
-WmLrWZ8yPQEB4iED/18bQVhV2gUYFSxIUTaUtO2HVPi7GRpSzmXoTfS+FJyRR0ED
-zTqTHstoBe2PeWgTsOf9cUub5UKcJkRQp7VrJv4Kncyuq7pX69a+QMveCzuUwAur
-nDbt/emOL6NU8g9Uk50QuOuipb5rULQLRRoF5TkViy/VES83ERXdYQ9Ml3fWiQCV
-AwUQMX6NfWtaZ42Bsqd5AQEKsgP+L+uLz95dRdEmnZ+omrO+tYZM/0jHU7i8yC5q
-H0gguKOCljI4liR7NkqKONUJWYtfsTB81d9iSosBZRrTx6i/hB8l8kOB975n/f9S
-hftFwmjLYCNMFlDM4j0kySvMV20UZjAyv9BeE51VWlIZ5n/oeSuzul3Znow02tF/
-zVnInJiJAJUDBRAxfJXn9RVb+45ULV0BAXJ8A/9K6NT6VLZZC5q3g7bBk5DWuzBS
-3oK2Ebww6xzsD2R9edltoz1J3GPngK0CWpHh4kw5iTaRWoC2YJYRNG6icnGvlMAl
-1/urqQHJVhxATINm8oljDKsj1RBJ6VKBzNbCJIHTVpX0AJoqUQX2Idi8goFr0fAm
-7cD2CBb1JhoAdzEfO4kAlQMFEDFLHlwff6kIA1j8vQEBj5MD/1hA8hJdhpL7mvQj
-rTAIn6Ldr08Lr1lqTaKSBMdCL3suGlW0Sw/dIBgicPDhgxLahT3DVfGiIst32FSl
-xmWY7wine80X4TZkJ9Hiw3Mpqtjl92j6zHNq0ZZE+CceNubpEdYLDqokAIMPdWlo
-WPHZcPxCs5PKI5udseFYF2gQAjI2iQCVAwUQMTlDoO9huekR1Y7VAQGy+AP/Rzp+
-UGtJavbSiPx5EnXOXxkA/+ulXQgQG9vdkWwewkvxDNOzHW3KkUWCGtPtIMENznbF
-j3QlYB+USIaf1ogvlD5EdXGPDfTINpE8CX2WXzajfgYFpYETDzduwjoWDZfEN9zZ
-fQqQS62VgAReOIz3k9BL708z/+WUO0++RLGCmImJAJUDBRAw5q8kAPLZCeu7G0EB
-AT3bBACwo+r9TgbiSyyU5cZpq5KgGT1c7eUHXjtxKmtrXD1nFNJ6j7x2DM2XGe6B
-YOfDWbFq4UkEAyAeXviuuUP4enQu1v2g7JGXeuI8bRM519pLdPzDq/DnbA4rNStn
-/SkH7awMfNSplcFuE6rc5ezVkw17eOHzDrYmwsFavL9gxZEycg==
-=Q45T
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
- <sect1><heading>&a.joerg</heading><p>
-
-<tscreen><verb>
-J&ouml;rg Wunsch &lt;joerg_wunsch@uriah.heep.sax.de&gt;
-Key fingerprint = DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3ia
-
-mQCNAzGCFeAAAAEEAKmRBU2Nvc7nZy1Ouid61HunA/5hF4O91cXm71/KPaT7dskz
-q5sFXvPJPpawwvqHPHfEbAK42ZaywyFp59L1GaYj87Pda+PlAYRJyY2DJl5/7JPe
-ziq+7B8MdvbX6D526sdmcR+jPXPbHznASjkx9DPmK+7TgFujyXW7bjh2o/exAAUR
-tC1Kb2VyZyBXdW5zY2ggPGpvZXJnX3d1bnNjaEB1cmlhaC5oZWVwLnNheC5kZT6J
-AJUDBRAyCIWZdbtuOHaj97EBAVMzA/41VIph36l+yO9WGKkEB+NYbYOz2W/kyi74
-kXLvLdTXcRYFaCSZORSsQKPGNMrPZUoLoAKxE25AoCgl5towqr/sCcu0A0MMvJdd
-UvlQ2T+ylSpGmWchqoXCN7FdGyxrZ5zzxzLIvtcio6kaHd76XxyJpltCASupdD53
-nEtxnu8sRrQxSm9lcmcgV3Vuc2NoIDxqb2VyZ193dW5zY2hAaW50ZXJmYWNlLWJ1
-c2luZXNzLmRlPokAlQMFEDIIhfR1u244dqP3sQEBWoID/RhBm+qtW+hu2fqAj9d8
-CVgEKJugrxZIpXuCKFvO+bCgQtogt9EX+TJh4s8UUdcFkyEIu8CT2C3Rrr1grvck
-fxvrTgzSzvtYyv1072X3GkVY+SlUMBMArdl1qNW23oT7Q558ajnsaL065XJ5m7Ha
-cgTTikiofYG8i1s7TrsEeq6PtCJKb2VyZyBXdW5zY2ggPGpAdXJpYWguaGVlcC5z
-YXguZGU+iQCVAwUQMaS91D4gHQUlG9CZAQGYOwQAhPpiobK3d/fz+jWrbQgjkoO+
-j39glYGXb22+6iuEprFRs/ufKYtjljNTNK3B4DWSkyIPawcuO4Lotijp6jke2bsj
-FSSashGWcsJlpnwsv7EeFItT3oWTTTQQItPbtNyLW6M6xB+jLGtaAvJqfOlzgO9B
-LfHuA2LY+WvbVW447SWJAJUDBRAxqWRsdbtuOHaj97EBAXDBA/49rzZB5akkTSbt
-/gNd38OJgC+H8N5da25vV9dD3KoAvXfWfw7OxIsxvQ/Ab+rJmukrrWxPdsC+1WU1
-+1rGa4PvJp/VJRDes2awGrn+iO7/cQoSIVziC27JpcbvjLvLVcBIiy1yT/RvJ+87
-a3jPRHt3VFGcpFh4KykxxSNiyGygl4kAlQMFEDGCUB31FVv7jlQtXQEB5KgD/iIJ
-Ze5lFkPr2B/Cr7BKMVBot1/JSu05NsHgJZ3uK15w4mVtNPZcFi/dKbn+qRM6LKDF
-e/GF0HZD/ZD1FJt8yQjzF2w340B+F2GGEOwnClqZDtEAqnIBzM/ECQQqH+6Bi8gp
-kFZrFgg5eON7ikqmusDnOlYStM/CBfgpSbR8kDmFtCZKb2VyZyBXdW5zY2ggPGpA
-aW50ZXJmYWNlLWJ1c2luZXNzLmRlPokAlQMFEDMF5M3HZvEPv7z0SQEBAOEEAIDT
-V9RxYF6zHrQ2/sOshBkA5CQgwGPW+pgNhzXii0AIbKGZeB8ANforkGgoKN5chQvt
-Un9PezlE7O+M+V9bwnnalaBcPQsSN8bnLbd6SQm2zevH5TpZ6tFnWKLllhpRcC5Y
-eTxMv/1bcF/ZaoLIs5Yc4rfn1+gU+AYCouW2g4a1iQCVAwUQMgir3g/XgicV+IVJ
-AQHmzAP/ZkT8uiuou019kY1CkpdqeaGK1z5NdmbMOIo7pLbJcc0ITgsjEghitlBA
-uFDPTF6dR9SWUMTfw3H5zO1WlLflXtMGegwvYAUhydYSlcR3uV049upiK+K3Fzct
-lxAzCvULJwcSAGZwVU40ji3YaqkjKd1CyzqQZUS9kWK6otuyF6+JAJUDBRAxqW53
-dbtuOHaj97EBASZ0A/0VUgM4H+LqK7936W6LCNCxNy1LnwGBgUiTSZ7JHisrnWZD
-ZCOcxhg8FZ3h/3EpCk+DkaKHqnEwcSnjGjLlz1Zd9EGoYDcFo37k75eTmfKK7EBh
-liJ+RYamF7CpIxBsSDgTn775VUNFG3EdDdvuRejG+Rqq12aSHrJ+4xSaZECj1A==
-=ItLi
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
- <sect1><heading>&a.ache</heading><p>
-
-<tscreen><verb>
-Andrey A. Chernov &lt;ache@FreeBSD.org&gt;
- または &lt;ache@nagual.pp.ru&gt;
-Key fingerprint = 33 03 9F 48 33 7B 4A 15 63 48 88 0A C4 97 FD 49
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3ia
-
-mQCNAiqUMGQAAAEEAPGhcD6A2Buey5LYz0sphDLpVgOZc/bb9UHAbaGKUAGXmafs
-Dcb2HnsuYGgX/zrQXuCi/wIGtXcZWB97APtKOhFsZnPinDR5n/dde/mw9FnuhwqD
-m+rKSL1HlN0z/Msa5y7g16760wHhSR6NoBSEG5wQAHIMMq7Q0uJgpPLZnQjrAAUT
-tCVBbmRyZXkgQS4gQ2hlcm5vdiA8YWNoZUBuYWd1YWwucHAucnU+iQCVAwUQM2Ez
-u+JgpPLZnQjrAQEyugP8DPnS8ixJ5OeuYgPFQf5sy6l+LrB6hyaS+lgsUPahWjNY
-cnaDmfda/q/BV5d4+y5rlQe/pjnYG7/yQuAR3jhlXz8XDrqlBOnW9AtYjDt5rMfJ
-aGFTGXAPGZ6k6zQZE0/YurT8ia3qjvuZm3Fw4NJrHRx7ETHRvVJDvxA6Ggsvmr20
-IkFuZHJleSBBLiBDaGVybm92IDxhY2hlQG5hZ3VhbC5ydT6JAJUDBRAxybkd4mCk
-8tmdCOsBAfC9A/0Z2YB/WB1y5rIcSA2RzXWZpw8fXVzBaNiPMDZih5wUwZXuKoor
-xBiuvUyNsZd/wMAbxRt+bRBsjwuPyIbc2Coiu7RzvZS4cZKf8A98YYbQC09flQr+
-TsGAjQJramjo0DmetKny0Ox0TP/iDJ5rzhFeXamu1N/kmPTuF+VtGy0ZcrQyQW5k
-cmV5IEEuIENoZXJub3YsIEJsYWNrIE1hZ2UgPGFjaGVAYXN0cmFsLm1zay5zdT6J
-AJUDBRAwKwCjn+savKgvyHcBAerVBACJ3I0WoD2G+uYxyOljtywlUWUa+PnvhaPg
-Y9qjell65BowGaxappctidZT8CV1vqRPPr6dFxBfnTMUfRMdI98CnARbvLJtJMjl
-qkmZZPeqEo3a+Ys2DbI3OGotPMcsPWUfeLWl9CrxZ6+s1+MtRyjlL9W56ROZr+iy
-fMILDt9DMIkAlQMFEDAq/ChrWmeNgbKneQEBGKEEAKhevep8brmEULIokhKaM69q
-gatqfFQiR4NLTJB1MfOFD53AHU6GErXkTQ3CvQwpqMsyb3Sfr5l1vnL8UiOk+uK7
-x0iuUetZmV7Brzx4QMz5D83FPWJiD4dooMATXvWOYulKkIvQyIm07SLfovd6RUPs
-e/y9985kc9IeKsjMk5lNiQCVAwUQMBq7rMUtR20Nv5BtAQFBfwP8DHCRh4VpjFlg
-wU4Mci9KTbeECyMKZQDZSKXUV5YC6xv6jzFF88NztOeiysiJ8mpsXn59wcIblVJM
-aWEGF3XxhZR5pt/+H07YGxBfnnJZG4HbHd2InXEj9VV0b6vGUwKYThlHVOX3H4y2
-6f0qopWkHf1WWQIFhDeGWA239MlRjiuJAJUDBRAwEcybIlGW2WZtAFEBAVCTA/9g
-LdqGzdkwyiuI6W3dnEY1RQ9MXusgRHeP5zuaoYbjp0ScMHmxSuTNpymgtfmyPW0Z
-Hdu/P1ri+aTUC/coU02+tlnf8FkUamreYJOIAL3OzI1hDwvQB8YhQ7mCgIiOrA5M
-1AgA6k2wnlL6cwCRAHhiaY2UjoZNvcPXzN+E9nq5yIkAlQIFEDAPSyXi5bvh+14V
-GQEBawAD/01ioFEEpuaW1AOnIrj6MEBiORcEmYBEVcolhOWdOA4cylmqhXJb3rGd
-prkzPESK7tlabmgvXRAMinWSuQE/Ypya99IwwdvloYIJBzb8/w2V9cC4e00bNiIj
-RQAjCLyKH9LWWJV++eoX25Xd3eSgTtWxD04DhCjRkvaCBb7+ARpgiQCVAwUQMA7P
-qrH8jId7euXhAQEi9gP+Mivxeqj/YjmCdyCFJ4VHTWfS8QsUi9oXhweh8bPLMGli
-x8D7qmAUjUgz4tQXeRtSQBj/a5J/1TkQJxowJNYLBWAlU76gbTvlIcQzhu6GvO61
-mIzV1PJNp6lo+lPJExRTH1kwxgmzuxuosh3V4PCsnFQ+GsE29//DZbaxgdJjxx2J
-AJUDBRAwDOqAdx2Srolyx8EBAZPHBAC2B4sWLauFI52WWkNdTDP5JLpsSMVNaBGx
-YUzL1Cc5yqvLDsvK4WZZ6KfiNqyNjTfcmw4N9ZA+I9U0DdQSddWD36fwC80w87wm
-RG8KfV42DRVonL0nfry4CuKj3dqB3Zh/9Hmv5AS4+MiyxWTyF1zL+W4SFKJdZ/ps
-sxUcQDQn44kAlQMFEDANSL7iYKTy2Z0I6wEBq0EEAIcH6q1bzzSx5EINkuOX9tPV
-vXjmmjrRTu7prc8QGRjQ0Dva1YNC5E8X8Kf/T5V0U3FBSyCStvBolY6iLQpCy+U6
-bdGuzEpuf268QovETHIofenGnvqS/P+URbAR4q8Er7zg9vWXOkbdbu7ZcN+LdVA9
-OLflJkwAdzoLQK3+aM2ViQCVAwUQMAys8PvCP42xMxQ5AQElyQP+KThaxnObao7H
-0XB6sartnByFz4mrVh43k/GnOpJ/gAbv7t0Uif6h7pfYVwjOBthj4h+aAkgcRWMM
-cfn64BfJvqXiIpzz15BrA7e3zyl8cslZtPOae+DPZwyvG33gdG+CQd+9ykYSBvKV
-2roQHfc66drMVx9kVEhxeTWx/IsO9gQ=
-=YGYK
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
- <sect1><heading>&a.rich</heading><p>
-
-<tscreen><verb>
-Rich Murphey &lt;rich@FreeBSD.org&gt;
-fingerprint = AF A0 60 C4 84 D6 0C 73 D1 EF C0 E9 9D 21 DB E4
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.2
-
-mQCNAy97V+MAAAEEALiNM3FCwm3qrCe81E20UOSlNclOWfZHNAyOyj1ahHeINvo1
-FBF2Gd5Lbj0y8SLMno5yJ6P4F4r+x3jwHZrzAIwMs/lxDXRtB0VeVWnlj6a3Rezs
-wbfaTeSVyh5JohEcKdoYiMG5wjATOwK/NAwIPthB1RzRjnEeer3HI3ZYNEOpAAUR
-tCRSaWNoIE11cnBoZXkgPHJpY2hAbGFtcHJleS51dG1iLmVkdT6JAJUDBRAve15W
-vccjdlg0Q6kBAZTZBACcNd/LiVnMFURPrO4pVRn1sVQeokVX7izeWQ7siE31Iy7g
-Sb97WRLEYDi686osaGfsuKNA87Rm+q5F+jxeUV4w4szoqp60gGvCbD0KCB2hWraP
-/2s2qdVAxhfcoTin/Qp1ZWvXxFF7imGA/IjYIfB42VkaRYu6BwLEm3YAGfGcSw==
-=QoiM
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
- <sect1><heading>&a.peter</heading><p>
-
-<tscreen><verb>
-Peter Wemm &lt;peter@FreeBSD.org&gt;
- aka &lt;peter@spinner.dialix.com&gt;
- aka &lt;peter@haywire.dialix.com&gt;
- aka &lt;peter@perth.dialix.oz.au&gt;
-Key fingerprint = 47 05 04 CA 4C EE F8 93 F6 DB 02 92 6D F5 58 8A
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3ia
-
-mQCNAy9/FJwAAAEEALxs9dE9tFd0Ru1TXdq301KfEoe5uYKKuldHRBOacG2Wny6/
-W3Ill57hOi2+xmq5X/mHkapywxvy4cyLdt31i4GEKDvxpDvEzAYcy2n9dIup/eg2
-kEhRBX9G5k/LKM4NQsRIieaIEGGgCZRm0lINqw495aZYrPpO4EqGN2HYnOMZAAUT
-tCVQZXRlciBXZW1tIDxwZXRlckBoYXl3aXJlLmRpYWxpeC5jb20+iQCVAwUQMwWT
-cXW7bjh2o/exAQEFkQP+LIx5zKlYp1uR24xGApMFNrNtjh+iDIWnxxb2M2Kb6x4G
-9z6OmbUCoDTGrX9SSL2Usm2RD0BZfyv9D9QRWC2TSOPkPRqQgIycc11vgbLolJJN
-eixqsxlFeKLGEx9eRQCCbo3dQIUjc2yaOe484QamhsK1nL5xpoNWI1P9zIOpDiGJ
-AJUDBRAxsRPqSoY3Ydic4xkBAbWLA/9q1Fdnnk4unpGQsG31Qbtr4AzaQD5m/JHI
-4gRmSmbj6luJMgNG3fpO06Gd/Z7uxyCJB8pTst2a8C/ljOYZxWT+5uSzkQXeMi5c
-YcI1sZbUpkHtmqPW623hr1PB3ZLA1TIcTbQW+NzJsxQ1Pc6XG9fGkT9WXQW3Xhet
-AP+juVTAhLQlUGV0ZXIgV2VtbSA8cGV0ZXJAcGVydGguZGlhbGl4Lm96LmF1PokA
-lQMFEDGxFCFKhjdh2JzjGQEB6XkD/2HOwfuFrnQUtdwFPUkgtEqNeSr64jQ3Maz8
-xgEtbaw/ym1PbhbCk311UWQq4+izZE2xktHTFClJfaMnxVIfboPyuiSF99KHiWnf
-/Gspet0S7m/+RXIwZi1qSqvAanxMiA7kKgFSCmchzas8TQcyyXHtn/gl9v0khJkb
-/fv3R20btB5QZXRlciBXZW1tIDxwZXRlckBGcmVlQlNELm9yZz6JAJUDBRAxsRJd
-SoY3Ydic4xkBAZJUA/4i/NWHz5LIH/R4IF/3V3LleFyMFr5EPFY0/4mcv2v+ju9g
-brOEM/xd4LlPrx1XqPeZ74JQ6K9mHR64RhKR7ZJJ9A+12yr5dVqihe911KyLKab9
-4qZUHYi36WQu2VtLGnw/t8Jg44fQSzbBF5q9iTzcfNOYhRkSD3BdDrC3llywO7Ql
-UGV0ZXIgV2VtbSA8cGV0ZXJAc3Bpbm5lci5kaWFsaXguY29tPokAlQMFEDGxEi1K
-hjdh2JzjGQEBdA4EAKmNFlj8RF9HQsoI3UabnvYqAWN5wCwEB4u+Zf8zq6OHic23
-TzoK1SPlmSdBE1dXXQGS6aiDkLT+xOdeewNs7nfUIcH/DBjSuklAOJzKliXPQW7E
-kuKNwy4eq5bl+j3HB27i+WBXhn6OaNNQY674LGaR41EGq44Wo5ATcIicig/z
-=gv+h
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
-<sect1><heading>&a.jmb</heading><p>
-
-<tscreen><verb>
-Jonathan M. Bresler &lt;jmb@FreeBSD.org&gt;
-Key fingerprint = 31 57 41 56 06 C1 40 13 C5 1C E3 E5 DC 62 0E FB
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.2
-
-mQCNAzG2GToAAAEEANI6+4SJAAgBpl53XcfEr1M9wZyBqC0tzpie7Zm4vhv3hO8s
-o5BizSbcJheQimQiZAY4OnlrCpPxijMFSaihshs/VMAz1qbisUYAMqwGEO/T4QIB
-nWNo0Q/qOniLMxUrxS1RpeW5vbghErHBKUX9GVhxbiVfbwc4wAHbXdKX5jjdAAUR
-tCVKb25hdGhhbiBNLiBCcmVzbGVyIDxqbWJARnJlZUJTRC5PUkc+iQCVAwUQMqyL
-0LNaYutZnzI9AQF25QP9GFXhBrz2tiWz2+0gWbpcGNnyZbfsVjF6ojGDdmsjJMyW
-CGw49XR/vPKYIJY9EYo4t49GIajRkISQNNiIz22fBAjT2uY9YlvnTJ9NJleMfHr4
-dybo7oEKYMWWijQzGjqf2m8wf9OaaofEKwBX6nxcRbKsxm/BVLKczGYl3Xtjkcu0
-E0pvbmF0aGFuIE0uIEJyZXNsZXKJAJUDBRAxti1hAdtd0pfmON0BAcQfA/98RpCh
-OLvMoPVT/mRbZg8gFTIxOkuI71A6viy1iMm+EeHgSPB8a8wiFsWs8q3FI0fWzebi
-MBcpeJAEMLPXsgjMvifx2W6fE0YTkwdyyalbOCDIiDjNs+o85yDiAsURawSSvajR
-qTDMgZre1sK8L4hNpf+t2VZXWNpCNOpI3I9kEw==
-=6F5u
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
- <sect1><heading>&a.jdp</heading><p>
-
-<tscreen><verb>
-John D. Polstra &lt;jdp@polstra.com&gt;
-Fingerprint = 54 3A 90 59 6B A4 9D 61 BF 1D 03 09 35 8D F6 0D
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.2
-
-mQCNAzMElMEAAAEEALizp6ZW9QifQgWoFmG3cXhzQ1+Gt+a4S1adC/TdHdBvw1M/
-I6Ok7TC0dKF8blW3VRgeHo4F3XhGn+n9MqIdboh4HJC5Iiy63m98sVLJSwyGO4oM
-dkEGyyCLxqP6h/DU/tzNBdqFzetGtYvU4ftt3RO0a506cr2CHcdm8Q+/vPRJAAUR
-tCFKb2huIEQuIFBvbHN0cmEgPGpkcEBwb2xzdHJhLmNvbT6JAJUDBRAzBNBE9RVb
-+45ULV0BAWgiA/0WWO3+c3qlptPCHJ3DFm6gG/qNKsY94agL/mHOr0fxMP5l2qKX
-O6a1bWkvGoYq0EwoKGFfn0QeHiCl6jVi3CdBX+W7bObMcoi+foqZ6zluOWBC1Jdk
-WQ5/DeqQGYXqbYjqO8voCScTAPge3XlMwVpMZTv24u+nYxtLkE0ZcwtY9IkAlQMF
-EDMEt/DHZvEPv7z0SQEBXh8D/2egM5ckIRpGz9kcFTDClgdWWtlgwC1iI2p9gEhq
-aufy+FUJlZS4GSQLWB0BlrTmDC9HuyQ+KZqKFRbVZLyzkH7WFs4zDmwQryLV5wkN
-C4BRRBXZfWy8s4+zT2WQD1aPO+ZsgRauYLkJgTvXTPU2JCN62Nsd8R7bJS5tuHEm
-7HGmiQCVAwUQMwSvHB9/qQgDWPy9AQFAhAQAgJ1AlbKITrEoJ0+pLIsov3eQ348m
-SVHEBGIkU3Xznjr8NzT9aYtq4TIzt8jplqP3QoV1ka1yYpZf0NjvfZ+ffYp/sIaU
-wPbEpgtmHnVWJAebMbNs/Ad1w8GDvxEt9IaCbMJGZnHmfnEqOBIxF7VBDPHHoJxM
-V31K/PIoYsHAy5w=
-=cHFa
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
-
- <sect1><heading>&a.guido</heading><p>
-
-<tscreen><verb>
-Guido van Rooij &lt;guido@gvr.win.tue.nl&gt;
-Fingerprint = 16 79 09 F3 C0 E4 28 A7 32 62 FA F6 60 31 C0 ED
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.2
-
-mQCNAzGeO84AAAEEAKKAY91Na//DXwlUusr9GVESSlVwVP6DyH1wcZXhfN1fyZHq
-SwhMCEdHYoojQds+VqD1iiZQvv1RLByBgj622PDAPN4+Z49HjGs7YbZsUNuQqPPU
-wRPpP6ty69x1hPKq1sQIB5MS4radpCM+4wbZbhxv7l4rP3RWUbNaYutZnzI9AAUR
-tCZHdWlkbyB2YW4gUm9vaWogPGd1aWRvQGd2ci53aW4udHVlLm5sPokAlQMFEDMG
-Hcgff6kIA1j8vQEBbYgD/jm9xHuUuY+iXDkOzpCXBYACYEZDV913MjtyBAmaVqYo
-Rh5HFimkGXe+rCo78Aau0hc57fFMTsJqnuWEqVt3GRq28hSK1FOZ7ni9/XibHcmN
-rt2yugl3hYpClijo4nrDL1NxibbamkGW/vFGcljS0jqXz6NDVbGx5Oo7HBByxByz
-iQCVAwUQMhmtVjt/x7zOdmsfAQFuVQQApsVUTigT5YWjQA9Nd5Z0+a/oVtZpyw5Z
-OljLJP3vqJdMa6TidhfcatjHbFTve5x1dmjFgMX/MQTd8zf/+Xccy/PX4+lnKNpP
-eSf1Y4aK+E8KHmBGd6GzX6CIboyGYLS9e3kGnN06F2AQtaLyJFgQ71wRaGuyKmQG
-FwTn7jiKb1aJAJUDBRAyEOLXPt3iN6QQUSEBATwQA/9jqu0Nbk154+Pn+9mJX/YT
-fYR2UqK/5FKCqgL5Nt/Deg2re0zMD1f8F9Dj6vuAAxq8hnOkIHKlWolMjkRKkzJi
-mSPEWl3AuHJ31k948J8it4f8kq/o44usIA2KKVMlI63Q/rmNdfWCyiYQEVGcRbTm
-GTdZIHYCOgV5dOo4ebFqgYkAlQMFEDIE1nMEJn15jgpJ0QEBW6kEAKqN8XSgzTqf
-CrxFXT07MlHhfdbKUTNUoboxCGCLNW05vf1A8F5fdE5i14LiwkldWIzPxWD+Sa3L
-fNPCfCZTaCiyGcLyTzVfBHA18MBAOOX6JiTpdcm22jLGUWBf/aJK3yz/nfbWntd/
-LRHysIdVp29lP5BF+J9/Lzbb/9LxP1taiQCVAwUQMgRXZ44CzbsJWQz9AQFf7gP/
-Qa2FS5S6RYKG3rYanWADVe/ikFV2lxuM1azlWbsmljXvKVWGe6cV693nS5lGGAjx
-lbd2ADwXjlkNhv45HLWFm9PEveO9Jjr6tMuXVt8N2pxiX+1PLUN9CtphTIU7Yfjn
-s6ryZZfwGHSfIxNGi5ua2SoXhg0svaYnxHxXmOtH24iJAJUDBRAyAkpV8qaAEa3W
-TBkBARfQBAC+S3kbulEAN3SI7/A+A/dtl9DfZezT9C4SRBGsl2clQFMGIXmMQ/7v
-7lLXrKQ7U2zVbgNfU8smw5h2vBIL6f1PyexSmc3mz9JY4er8KeZpcf6H0rSkHl+i
-d7TF0GvuTdNPFO8hc9En+GG6QHOqbkB4NRZ6cwtfwUMhk2FHXBnjF4kAlQMFEDH5
-FFukUJAsCdPmTQEBe74EAMBsxDnbD9cuI5MfF/QeTNEG4BIVUZtAkDme4Eg7zvsP
-d3DeJKCGeNjiCWYrRTCGwaCWzMQk+/+MOmdkI6Oml+AIurJLoHceHS9jP1izdP7f
-N2jkdeJSBsixunbQWtUElSgOQQ4iF5kqwBhxtOfEP/L9QsoydRMR1yB6WPD75H7V
-iQCVAwUQMZ9YNGtaZ42Bsqd5AQH0PAQAhpVlAc3ZM/KOTywBSh8zWKVlSk3q/zGn
-k7hJmFThnlhH1723+WmXE8aAPJi+VXOWJUFQgwELJ6R8jSU2qvk2m1VWyYSqRKvc
-VRQMqT2wjss0GE1Ngg7tMrkRHT0il7E2xxIb8vMrIwmdkbTfYqBUhhGnsWPHZHq7
-MoA1/b+rK7CJAJUDBRAxnvXh3IDyptUyfLkBAYTDA/4mEKlIP/EUX2Zmxgrd/JQB
-hqcQlkTrBAaDOnOqe/4oewMKR7yaMpztYhJs97i03Vu3fgoLhDspE55ooEeHj0r4
-cOdiWfYDsjSFUYSPNVhW4OSruMA3c29ynMqNHD7hpr3rcCPUi7J2RncocOcCjjK2
-BQb/9IAUNeK4C9gPxMEZLokAlQMFEDGeO86zWmLrWZ8yPQEBEEID/2fPEUrSX3Yk
-j5TJPFZ9MNX0lEo7AHYjnJgEbNI4pYm6C3PnMlsYfCSQDHuXmRQHAOWSdwOLvCkN
-F8eDaF3M6u0urgeVJ+KVUnTz2+LZoZs12XSZKCte0HxjbvPpWMTTrYyimGezH79C
-mgDVjsHaYOx3EXF0nnDmtXurGioEmW1J
-=mSvM
------END PGP PUBLIC KEY BLOCK-----
-</verb></tscreen>
diff --git a/share/doc/ja_JP.EUC/handbook/policies.sgml b/share/doc/ja_JP.EUC/handbook/policies.sgml
deleted file mode 100644
index c832b54..0000000
--- a/share/doc/ja_JP.EUC/handbook/policies.sgml
+++ /dev/null
@@ -1,257 +0,0 @@
-<!-- $Id: policies.sgml,v 1.9 1997/04/07 04:56:51 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.14 -->
-
-<chapt><heading>ソースツリーのガイドラインおよび方針
-<label id="policies">
-</heading>
-
-<p><em>原作: &a.phk;</em><newline>.
-<p><em>訳者: &a.mihoko;<newline>
-6 September 1996 </em>.
-
-本章は, FreeBSD のソースツリーについてのさまざまなガイドラインや
-ポリシーについて書かれています.
-
-<sect><heading>Makefile 中の MAINTAINER
-<label id="policies:maintainer">
-</heading>
-
-<p>1996年6月.
-
-<p>FreeBSD 配布物の特定の部分が, 一人の人やグループによって保守
-されている場合は, ソースツリーの当該 Makefile に
-
-<verb>
- MAINTAINER= email-addresses
-</verb>
-
-<p>が付け加えられています. これを記述することによって, この部分が誰
-に保守管理されているかを世界中のユーザに伝えることができます.
-
-<p>この意味は次のとおりです:
-
-<p>保守担当者がそのコードを所有し, そのコードに対する責任を持っ
-ています. すなわち, その人がそのコードに関するバグの修正やトラブル報告
-に対する回答をします. また, そのコードが寄贈ソフトウェアの場合には,
-そのソフトウェアの新しいバージョンに適切に追従させる作業をその人が行い
-ます.
-
-<p>保守担当者が決められているディレクトリに対して変更をおこなう場合は,
-変更をおこなう前に, その変更内容を保守担当者に送って,
-保守担当者にレビューをしてもらってください.
-保守担当者が, 電子メールに一定期間応答しない場合にのみ,
-保守担当者がレビューすることなしに, 変更をおこなうことが認められます.
-しかしながら, そのような場合でも可能な限り, 変更点を第三者にレビュー
-してもらうようにしてください.
-
-<p>もちろん, この義務を引き受けることができない人やグループを
-保守管理者として追加することはできません.
-また, 保守管理者がソースツリー管理者 ("committer") である必要は
-ありません.
-
-<sect><heading>寄贈ソフトウェア</heading>
-
-<p>1996年6月.
-
-<p>FreeBSD 配布物のうちのいくつかのソフトウェアは FreeBSD プロジェクト
-以外のところで保守されています.
-歴史的な経緯から, 私たちはこれを <em> 寄贈 </em> ソフトウェアと
-呼んでいます. perl や gcc, patch などがその例です.
-
-<p>ここ数年来, この種のソフトウェアの取り扱いには, さまざまな方法が
-取られてきましたが, どの方法にもいくつかの利点と欠点があります.
-これまで欠点のない明確な方法はありませんでした.
-
-<p>
-議論した結果, これらの方法のうちの一つが「公式な」方法として選択され
-ました. その方法が, 今後, この種のソフトウェアを取り込む場合に, 使用
-されます.
-その上, この方法では, だれもが(cvs にアクセス権のない人でさえ)「公式」
-バージョンのソースに対する差分を簡単に得ることができます.
-これは古い方法にはなかった大きな利点です. ですから,
-既存の寄贈ソフトウェアも, この方法に収束していくことを強く望んでいます.
-この方法を使用することにより, 寄贈ソフトウェアの主な開発者に, 変更
-点を返すのがとても容易になります.
-
-<p>しかしながら結局, 寄贈ソフトウェアの取扱は, 実際に作業を行って
-いる人々に委ねられています.
-もしこの方法を使用することが, その人が扱っているパッケージには
-極端に合わないような場合には, コアチームの承認さえあれば, これらの
-ルールに反しても, 他の開発者の一般的な合意は得られるでしょう.
-将来にわたってパッケージを保守できるということは, 大変重要な事柄に
-なってきます.
-
-<p>プログラミング言語 <tt>Tcl</tt> は,
-この方法が活用されているよい例になっています:
-
-<p><verb>src/contrib/tcl</verb> には, このパッケージの保守管理者が
-配布したソースが含まれています. この中からは FreeBSD に完全には適用
-できない部分が削除されています. Tcl の場合は, "mac", "win",
-"compat" というサブディレクトリは, FreeBSD に取り込む前に削除されて
-いました.
-
-<p><verb>src/lib/libtcl</verb> には, ライブラリを生成したり, ドキュ
-メントをインストールする際に使用される, 標準の bsd.lib.mk の
-規則を使用した「bmake スタイル」の Makefile だけが 含まれています.
-
-<p><verb>src/usr.bin/tclsh</verb> には, bsd.prog.mk 規則 を使用して,
-"tclsh" プログラムや関連するマニュアルページを生成 /インストール
-する bmake スタイルの Makefile だけが含まれています.
-
-<p><verb>src/tools/tools/tcl_bmake</verb> には,
-tcl ソフトウェアを更新する必要が生じたときの助けになる2つのシェルス
-クリプトが含まれています. これらは, ソフトウェアを構築するのに使用し
-たり, インストール対象になるソフトウェアではありません.
-
-<p>ここ重要なのは, "src/contrib/tcl" ディレクトリが, 規則にしたがっ
-て作られているということです. つまり, できるだけ FreeBSD に特化した
-変更をおこなわないようにしたソースを(CVS のベンダブランチに)おくようにし
-ています.
-freefall 上の「簡易取り込み」ツールは, 寄贈ソフトウェアを取り込む
-手助けとなります. けれども, このツールの実行方法に疑問が生じた場合は,
-まずはじめに質問して, 失敗をしないようにしてください. そして,
-その疑問を「解決して」からツールを使用してください.
-CVS に寄贈ソフトウェアを取り込む際には, 事故があってはいけません.
-よくあるような間違いをおかさないように, 十分注意してください.
-
-<p>CVS には, 残念なことにベンダブランチという設計制限があります.
-このため, CVS に寄贈ソフトウェアを取り込むには, オリジナル配布ソースに
-適用されるベンダからの「公式」パッチと, ベンダブランチに逆輸入された
-結果が必要です.
-ベンダブランチの一貫性を破壊したり, 将来, 新しいバージョンを取り込む
-時に衝突を起こしてしまったりというような 困難な事態に陥らないように
-しなければなりません. そのために, FreeBSD が管理しているバージョンに
-対して, 公式パッチを決して当ててはいけませんし, 公式パッチを
-"commit" してはいけません.
-
-<p>多くのパッケージが, 他のアーキテクチャや他の環境と FreeBSD
-との互換性を保ためのファイルをいくつか含んでいます. そこで,
-スペースを節約するために, FreeBSD にとっては無意味な配布ツリー上の一
-部を削除することが許されています.
-けれども, 削除されずに残ったファイルに対する, 著作権の通知やリリース
-ノートのような情報を含んだファイルは, 決して削除しては <em> いけませ
-ん </em>.
-
-<p>"bmake" Makefile が何らかのユーティリティによって, 配布ツリー
-から自動的に生成できると, うまくいけば, 新しいバージョンへの
-アップグレードをより簡単におこなうことができます.
-もしこのようなユーティリティを作成できた場合には, 将来の管理者に
-とって便利になるように, 移植の際に, src/tools ディレクトリ上に,
-(必要に応じて)そのユーティリティを必ずチェックインしてください.
-
-<p> src/contrib/tcl レベルのディレクトリには, FREEBSD-upgrade と
-呼ばれるファイルが追加されており, そのファイルでは 次のような内容が
-記述されています.
-
-<itemize>
- <item> ディレクトリ上に存在するファイル
- <item> オリジナルの配布物をどこから入手すればよいか また, 公式配布
-サイトはどこか
- <item> オリジナルの作者にパッチを送り返すためには, どこに送ればよいか
- <item> FreeBSD に特化した変更点の概要
-</itemize>
-
-<p>しかしながら, 寄贈ソースと一緒に FREEBSD-upgrade ファイルを
-取り込まないでください.
-それよりむしろ, (訳注:このファイルを)初回に取り込んだ後は,
-コマンド ``cvs add FREEBSD-upgrade ; cvs ci'' を実行してください.
-``src/contrib/cpio'' を例にすると, 次のようになります:
-
-<verb>このディレクトリは「ベンダ」ブランチ上のオリジナル配布ファイル
-の初期ソースが含まれています. いかなる事情があっても,
-パッチや cvs コミットによってこのディレクトリ上のファイルを
-アップグレードしてはいけません.
-(訳注:ベンダから配布された)新しいバージョンや公式パッチだけが
-(訳注:このディレクトリに)取り込まれなくてはいけません.
-
-GNU cpio 2.4.2 を取り込むためには, 以下のファイルが削除されました:
-
- INSTALL cpio.info mkdir.c
- Makefile.in cpio.texi mkinstalldirs
-
-cpio を新しいバージョンにアップデートするためには, 次の作業を
-おこないます:
-
- 1. 空のディレクトリに新しいバージョンを取り出します.
- [ファイルに「いかなる変更」も加えてはいけません]
-
- 2. 上記にリストされたファイルと, FreeBSD には無意味な
- ファイルを削除します.
-
- 3. 次のコマンドを実行します:
- cvs import -m 'Virgin import of GNU cpio v<version>' \
- src/contrib/cpio GNU v<version>
-
- 例えば, バージョン 2.4.2 を取り込むためには, 次のように
- タイプします:
- cvs import -m 'Virgin import of GNU v2.4.2' \
- src/contrib/cpio GNU v2.4.2
-
- 4. FreeBSD に対するローカルな変更と, 新しいバージョンとの間での
- 矛盾を解消するために, ステップ 3 で出力された命令を実行します.
-
-いかなる事情があっても, この手順から外れてはいけません.
-
-cpio にローカルな変更を加えたい場合には, メインブランチ(別名 HEAD)に対して
-パッチを実行し, コミットしてください.
-決して GNU のブランチにローカルな変更を加えないでください.
-
-ローカルにおこなわれたすべての変更を次のリリースに含めるために,
-"cpio@gnu.ai.mit.edu" に提出してください.
-
-obrien@freebsd.org - 30 March 1997</verb>
-
-
-<sect><heading>共有ライブラリ
-<label id="policies:shlib">
-</heading>
-
-<p><em>Contributed by &a.asami;, &a.peter;, and &a.obrien;.
- <newline>9 December 1996.</em></p>
-
- <p>もしあなたが共有ライブラリをサポートする機能を port に追加した
- り, 共有ライブラリをサポートしていない他のソフトウェアに追加する
- 場合には, 共有ライブラリのバージョン番号を次の規則にしたがって
- つけてください.
- 一般的には, この規則は, ソフトウェアのリリースバージョンとは
- 全く関係ありません.
- <p>共有ライブラリを作成する三つの重要な規則は次の通りです:
-
- <itemize>
- <item>1.0 から始める
- <item>過去のバージョンに互換性のある変更の場合は, マイナー番号を増やす
- <item>互換性のない変更の場合は, メジャー番号を増やす
- </itemize>
-
- <p>例えば, 機能追加とバグ吸収の場合は, マイナー番号を増やします.
- 機能削除, 関数呼び出しのシンタックスなどが変更された場合は,
- 強制的にメジャー番号を変更します.
-
- <p>メジャー.マイナーー (x,y) の形式のバージョン番号を使用します.
- FreeBSD のダイナミックリンカは, x.y.z という形式のバージョン番号
- は扱えません.
- この場合, 「y」の後のバージョン番号(つまり三つ目の数字)は,
- どのライブラリがリンクされているかを決めるために, 共有ライブラ
- リ番号を比較する際に, すべて無視されます.
- 「小さな」リビジョンだけが異なる二つの共有ライブラリが指定
- されると, ld.so は, リビジョンの大きい方の共有ライブラリを
- リンクします. すなわち, もしあなたが libfoo.so.3.3.3 をリンク
- していたとすると, リンカは頭の 3.3 という部分だけを認識し,
- libfoo.so.3 ではじまり その後に 3 以上の数字が続くもののうち、
- 最も大きい番号の付いているライブラリをリンクします.
- <p>ld.so はいつも最も大きい「マイナー」リビジョンのものを使うことに
- 注意してください. 例えば, プログラムがはじめ libc.so.2.0 を
- リンクしていたとしても, libc.so.2.0 よりも libc.so.2.2 を優先
- して使用します.
-
- <p>移植されていないライブラリに対しては, リリースごとに共有ライブラリの
- バージョン番号を一度だけ変更するのが私たちのポリシーです.
- あなたがシステムライブラリのバージョン番号を上げた場合は,
- Makefile の commit ログを確認してください.
- 結果としてそのリリースには, 共有ライブラリのバージョン番号が
- アップデートされた Makefile に入るので、最初にその変更を
- 確かめるのがソースツリー管理者 ("committer") の責務です.
- その後のどんな変更も, そのリリースには入りません.
-
-
diff --git a/share/doc/ja_JP.EUC/handbook/porting.sgml b/share/doc/ja_JP.EUC/handbook/porting.sgml
deleted file mode 100644
index 32ea4d3..0000000
--- a/share/doc/ja_JP.EUC/handbook/porting.sgml
+++ /dev/null
@@ -1,1416 +0,0 @@
-<!-- $Id: porting.sgml,v 1.20 1997/05/18 12:16:02 max Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.70 -->
-
-<sect1><heading>フリーソフトウェアの移植<label id="porting"></heading>
-
-<p><em>原作: &a.jkh;, &a.gpalmer; &a.asami;.
-<newline>7 November 1996.</em>
-
-<p><em>訳: &a.simokawa;, &a.asami;.
-<newline>10 November 1996.</em>
-
-<p>フリーで手に入るソフトウェアを移植することは, 何かをゼロから自分で
-作ることほどは人に感謝されないにしても, どこに手を入れれば動くのかわから
-ないような人でも使えるようにするという意味で, FreeBSDの発展のためにとて
-も重要なことです. 移植されたすべてのソフトウェアは「Portsコレク
-ション」(the Ports Collection) と呼ばれ, 階層的に分類されて集められ
-ています. これによって, 新しいユーザでも, 何がすぐに簡単にコンパイルで
-きる状態で手に入るのか, についての概要をつかむことができます. また, 移植されるソー
-スコードについては, そのほとんどを実際には含まず, FreeBSDで動かすためのほんのちょっ
-との差分ファイルといくつかの定義ファイルだけをソースツリーに入れることで,
-かなりのディスクスペースが節約できます.
-
-<p>これから, FreeBSD 2.x用のportを作る際の, いくつかのガイドラインを
-説明します. 実際にportをコンパイルするときのほとんどの仕事は
-<tt>/usr/share/mk/bsd.port.mk</tt>というファイルでおこないます.
-Portsコレクションについてのさらに細かい内部の働きについては, そちらのファイルを
-参照してください.
-
- <sect2>
- <heading>移植を始める前に<label id="porting:starting"></heading>
-
- <p>注意: ここでは, 変更可能な変数の一部についてのみ記述してい
- ます. ほとんどの変数は<tt>bsd.port.mk</tt>の始めに記述があり
- ます. また, このファイルは非標準のタブの設定になっていま
- す. <tt>Emacs</tt>はファイルのロード時にこれを認識しますが,
- <tt>vi</tt>や<tt>ex</tt>では, ファイルをロードしたら
- `<tt>:set tabstop=4</tt>'のようにして正しい値を設定することがで
- きます.
-
- <p>Portの過程で, 修正や, どのバージョンのUNIXで動くかによる条件
- つきコンパイルなどが必要なコードに出会うかもしれません. その
- ような条件つきコンパイルなどのための変更をおこなうときには,
- FreeBSD 1.x システムへの移植や, CSRGの4.4BSD, BSD/386,
- 386BSD, NetBSDなどの他のBSDシステムへの移植が可能なように, でき
- るだけ普遍的な変更をおこなうことを心がけてください.
-
- <p>4.3BSD/Renoおよびそれより新しいBSD版を古いバージョンと区別す
- るには `<tt>BSD</tt>' マクロを利用するのがよいでしょう. これは
- <tt>&lt;sys/param.h&gt;</tt>で定義されています. このファイルが
- すでにインクルードされていればよいのですが, もしそうでない場合
- には以下のコードを, その<tt>.c</tt> ファイルの適当な場所に加
- えてください.
-
-<tscreen><verb>
-#ifdef (defined(__unix__) || defined(unix)) && !defined(USG)
-#include <sys/param.h>
-#endif
-</verb></tscreen>
-
- <p>これらのシンボルが定義されているすべてのシステムには
- sys/param.h があるはずです. もし, そうでないシステムを発見した
- ら我々にも教えてください.
- <htmlurl url='mailto:ports@FreeBSD.org' name='ports@FreeBSD.org'>
- までメールを送ってください.
-
- <p>あるいは, GNU の Autoconf のスタイルを使用することもできます,
-
-<tscreen><verb>
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-</verb></tscreen>
-
- この方法を使用するときには, Makefile 中の<tt>CFLAGS</tt>に
- <tt>-DHAVE_SYS_PARAM_H</tt> を加えることを忘れないようにしてく
- ださい.
-
- いったん<tt>&lt;sys/param.h&gt;</tt>がインクルードされると,
-
-<tscreen><verb>
-#if (defined(BSD) && (BSD >= 199103))
-</verb></tscreen>
-
- このようにしてそのコードが4.3 Net2コードベース, または
- それより新しいもの (例: FreeBSD 1.x, 4.3/Reno, NetBSD 0.9, 386BSD,
- BSD/386 1.1とそれ以前) の上でコンパイルされているかを検出できます.
-
-<tscreen><verb>
-#if (defined(BSD) && (BSD >= 199306))
-</verb></tscreen>
-
- これは, 4.4コードベース, またはそれより新しいもの (例: FreeBSD
- 2.x, 4.4, NetBSD 1.0, BSD/386 2.0とそれ以後) の上でコンパイルさ
- れているかどうかを検出するために使用します.
-
- 4.4BSD-Lite2 コードベースでは, BSD マクロの値は 199506 になっ
- ています. これは参考程度の意味合いしかありません.
- 4.4-Lite ベースの FreeBSD と 4.4-Lite2 での変更がマージされた
- バージョンとを区別するのに使用するべきものではありません.
- この目的のためには, __FreeBSD__ マクロをかわりに使用してくださ
- い.
-
- <p>以下は控え目に使ってください.
-
- <itemize>
- <item><tt>__FreeBSD__</tt> はFreeBSDのすべての版で定義されてい
- ます. 変更がFreeBSDだけに適用されるとき以外は使用しないでく
- ださい. Portでよくある, <tt>strerror()</tt> ではなく
- <tt>sys_errlist[]</tt> を使うなどは, FreeBSDでの変更ではなく,
- BSDの流儀です.
-
- <item>FreeBSD 2.xでは<tt>__FreeBSD__</tt>が2と定義されていま
- す. それ以前の版では1になっています.
-
- <item>もし, FreeBSD 1.xシステムとFreeBSD 2.xシステムを区別
- する必要があれば, 上で述べた<tt>BSD</tt>マクロを使用するのが,
- 大抵の場合において正しい答です. もし, FreeBSD特有の変更であ
- れば (`<tt>ld</tt>' を使うときのシェアードライブラリ用のな
- オプションなど), <tt>__FreeBSD__</tt>を使い
- `<tt>#if __FreeBSD__ &gt; 1</tt>' のようにFreeBSD 2.x
- システムを検出するのはかまいません.
-
- もし, 2.0-RELEASE以降のFreeBSDシステムを細かく検出したけれ
- ば, 以下を使用することができます.
-
-<tscreen><verb>
-#if __FreeBSD__ >= 2
-#include <osreldate.h>
-# if __FreeBSD_version >= 199504
- /* 2.0.5+ release specific code here */
-# endif
-#endif
-</verb></tscreen>
-<tt>__FreeBSD_version</tt> の値は以下の通りです:
-<tscreen><verb>
-2.0-RELEASE: 199411
-2.1-current's: 199501, 199503
-2.0.5-RELEASE: 199504
-2.2-current (2.1以前): 199508
-2.1.0-RELEASE: 199511
-2.2-current (2.1.5以前): 199512
-2.1.5-RELEASE: 199607
-2.2-current (2.1.6以前): 199608
-2.1.6-RELEASE: 199612
-2.1.7-RELEASE: 199612
-2.2-RELEASE: 220000
-2.2.1-RELEASE: 220000 (2.2-RELEASE と同じです)
-2.2-STABLE (2.2.1-RELEASE 以後): 220000 (これも同じです)
-2.2-STABLE (texinfo-3.9 以後): 221001
-2.2-STABLE (top 導入以後): 221002
-2.2-RELEASE: 222000
-3.0-current (1997年5月現在): 300000
-</verb></tscreen>
- 見ての通り, これは年・月というフォーマットになっていましたが,
- バージョン 2.2 から, より直接的にメジャー/マイナー番号を使う
- ように変更になりました. 並行していくつかのブランチ(枝分かれし
- たバージョン)を開発する場合には, リーリスされた日付でそれらの
- リリースを分類することが不可能だからです.
- (あなたが今 port を作成するときに, 古い -current 達について心配
- する必要はありません. これは参考のために挙げられているにすぎま
- せん.)
-
- </itemize>
-
- <p>これまで, 何百ものportが作られてきましたが,
- <tt>__FreeBSD__</tt>が正しく使われたのは, 1つか2つの場合だけで
- しょう. 以前のportが誤った場所でそのマクロが使っているからと
- いって, それをまねする理由はありません.
-
- <sect2>
- <heading>3分porting</heading>
-
- <p>この節では, 簡単なportの方法について説明します. 多くの場合これ
- では不十分ですが, まあうまくいくかどうか試してみて損はないでしょ
- う.
-
- <p>まず, 元のtarファイルを<tt>&dollar;{DISTDIR}</tt>に置きます.
- デフォルトは<tt>/usr/ports/distfiles</tt>です.
-
- <p>注: 以下では, ソフトウェアはそのままコンパイルされるとします.
- つまり, FreeBSDのマシンで動かすために, 変更がまったく必要ない
- とします. もしなにか変更が必要な場合には次の節も参照する必要
- があります.
-
- <sect3>
- <heading>Makefileの作成</heading>
-
- <p>最小限の<tt>Makefile</tt>は次のようなものです:
-
-<tscreen><verb>
- # New ports collection makefile for: oneko
- # Version required: 1.1b
- # Date created: 5 December 1994
- # Whom: asami
- #
- # &dollar;Id&dollar;
- #
-
- DISTNAME= oneko-1.1b
- CATEGORIES= games
- MASTER_SITES= ftp://ftp.cs.columbia.edu/archives/X11R5/contrib/
-
- MAINTAINER= asami@FreeBSD.ORG
-
- USE_IMAKE= yes
-
- .include <bsd.port.mk>
-</verb></tscreen>
-
- <p>おわかりになりますでしょうか. <tt>&dollar;Id&dollar;</tt>があ
- る行の内容については, 気にしないでください. これはこのファイル
- がportsツリーに書き込まれるときにCVSによって自動的に書
- き込まれます. もっと詳しい例が見たければ, <ref
- id="porting:samplem" name="Makefileのお手本">の節をご覧ください.
-
- <sect3>
- <heading>Package記述ファイルの作成</heading>
-
- <p>どのようなportでも, packageにするしないに関わらず, 3つ
- の記述ファイルが必要です. <tt>pkg</tt>サブディレクトリにある,
- <tt>COMMENT</tt>, <tt>DESCR</tt>, それに<tt>PLIST</tt>です.
-
- <sect4>
- <heading>COMMENT</heading>
-
- <p>これには, そのportについての説明を1行で書きます. Package
- の名前, バージョン番号等は<em>含めない</em>でください.
- たとえば, こんな具合です:
-
-<tscreen><verb>
-A cat chasing a mouse all over the screen
-</verb></tscreen>
-
- <sect4>
- <heading>DESCR</heading>
-
- <p>これは, そのソフトウェアについての, すこし長い説明を記述しま
- す. そのportが何をするのかについての数段落程度の簡潔な解説があれば
- 十分です. 注: このファイルはマニュアルでもなければ, 使用方
- 法やコンパイル方法についての細かい説明書ではありません. 特
- に, <tt>README</tt>ファイルを何も考えずにここにコピーするような
- ことはしないでください. (もちろん, READMEがそのソフトウ
- ェアの簡潔な説明になっている場合は別ですが.)
-
- <p>このファイルの最後にあなたの名前を書くことが推奨されています.
- たとえば, こんな具合です.
-
-<tscreen><verb>
-This is a port of oneko, in which a cat chases a poor mouse all over
-the screen.
- :
-(うんぬん.)
-
-- Satoshi
-asami@cs.berkeley.edu
-</verb></tscreen>
-
- <sect4>
- <heading>PLIST</heading>
-
- <p>このファイルには, このportによってインストールされるファ
- イルが列挙されます. このファイルはpackageを作る際のリス
- トとして使われるため, `packing list' とも呼ばれます. ここ
- に書かれているファイル名は, インストール時のプレフィックス
- (普通は<tt>/usr/local</tt>か<tt>/usr/X11R6</tt>) からの
- 相対パスです.
-
- <p>簡単な例を載せておきましょう:
-
-<tscreen><verb>
-bin/oneko
-man/man1/oneko.1.gz
-lib/X11/app-defaults/Oneko
-lib/X11/oneko/cat1.xpm
-lib/X11/oneko/cat2.xpm
-lib/X11/oneko/mouse.xpm
-</verb></tscreen>
-
- <p> 'Packing list'の詳細については, <tt>pkg_create(1)</tt>の
- マニュアルを参照してください.
-
- <sect3>
- <heading>チェックサムファイルの作成</heading>
-
- <p>ただ, `<tt>make makesum</tt>' と入力するだけです.
- bsd.port.mkにルールがあるので, 自動的に<tt>files/md5</tt>が
- 生成されます.
-
- <sect3>
- <heading>Portのテスト</heading>
-
- <p>そのportが正しく動くことを, package化を含めて確認してく
- ださい. まず, `<tt>make install</tt>', `<tt>make
- package</tt>' を試してください. また, `<tt>pkg_delete -d
- &lt;pkgname&gt;</tt>' をして,すべてのファイルが正しく消去さ
- れているかどうかを確認してください. それから, `<tt>pkg_add
- &lt;pkgname&gt;.tgz</tt>' をおこない, すべてのファイルが再び現
- れ, 正しく動作することを確認してください.
-
- <sect3>
- <heading>Portの送付<label id="porting:submitting"></heading>
-
- <p>さあ, あなたのportに満足したら, あとはそれをFreeBSDのメイ
- ンのportsツリーに置いて, 皆に使ってもらうだけです. そのた
- めには, 必要なファイル (この節で述べたすべてのファイル -- た
- だし, オリジナルのソースファイル, `<tt>work</tt>' サブディレ
- クトリ, およびpackageは含みません) をまとめて
- <tt>.tar.gz</tt> ファイルにし,
-<tscreen><verb>
-ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/
-</verb></tscreen>
- へ置き, <tt>send-pr(1)</tt> を使って私たちのところにメールを送っ
- てください (categoryは `ports', classは `change-request' を
- 使ってください). 私たちは, 何か不明な点があったらあなたに確
- 認したのち, それをツリーへ置きます. あなたの名前は, FreeBSD
- ハンドブックやその他のファイルの `Additional FreeBSD
- contributors' のリストにも載るでしょう. う〜ん, 素晴らし
- い. <tt>:)</tt>
-
- <sect2>
- <heading>本格的なport</heading>
-
- <p>残念ながら, 移植がそう簡単ではなく, 動かすために多少の変更が
- 必要な場合も多いでしょう. この節では, portsコレクション
- の方法論にのっとって, そのような場合にどのように変更を施し, 動
- くようにしたらよいかを順を追って説明します.
-
- <sect3>
- <heading>port構築の詳細</heading>
-
- <p>まず, あなたがportのディレクトリで `<tt>make</tt>' とタイ
- プしてから起こる一連の出来事について,順を追って説明しま
- す. ここを読むときには, 他のウィンドウで同時に
- <tt>bsd.port.mk</tt>も開いておくとよいかもしれません.
-
- <p>しかし, <tt>bsd.port.mk</tt>が何をしているのか, 完全に理解
- できなくても心配する必要はありません. そう多くの人が理解して
- いるわけではないですから... <tt>f(^_^;)</tt>
-
- <enum>
- <item>まず, fetchというターゲットが実行されます. このfetchターゲッ
- トはローカルディスクの<tt>&dollar;{DISTDIR}</tt>に配布ファ
- イルがあるようにするのが役目です. もし, fetchが必要なファ
- イルを<tt>&dollar;{DISTDIR}</tt>に見つけることができなけ
- れば, Makefileに指定されているURL
- <tt>&dollar;{MASTER_SITES}</tt>, そして私たちのFTPサイトで
- ある <htmlurl
- url="ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/"
- name="ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/"> (ここ
- には, 私たちが取ってきたファイルをバックアップとして置いてあ
- ります) に探しにいきます. そして, ユーザのサイトがインター
- ネットに直接接続されている場合には,
- <tt>&dollar;{FETCH}</tt> を使って, その名前のファイルを取っ
- てきて, <tt>&dollar;{DISTDIR}</tt>に保存します.
-
- <item>次に実行されるのはextractターゲットです. これは,
- <tt>&dollar;{DISTDIR}</tt>にある, 配布ファイル (普通は
- gzipされたtarファイル) を読み, ソースを一時的な作業ディレ
- クトリ<tt>&dollar;{WRKDIR}</tt> (デフォルトは
- <tt>work</tt>) に展開します.
-
- <item>次に, patchというターゲットが実行されます. まず,
- <tt>&dollar;{PATCHFILES}</tt>に定義されている, すべてのパッ
- チをあてます. 次にもし<tt>&dollar;{PATCHDIR}</tt> (デフォ
- ルトは<tt>patches</tt> サブディレクトリ) にパッチが存在す
- れば, これらをアルファベット順にあてます.
-
- <item>次に実行されるターゲットはconfigureです. これには, い
- ろいろな場合があります.
-
- <enum>
-
- <item>もし存在すれば, <tt>scripts/configure</tt> が実行されます.
-
- <item>もし, <tt>&dollar;{HAS_CONFIGURE}</tt> あるいは
- <tt>&dollar;{GNU_CONFIGURE}</tt> がセットされていれば,
- <tt>&dollar;{WRKSRC}/configure</tt> が実行されます.
-
- <item>もし, <tt>&dollar;{USE_IMAKE}</tt> がセットされていれば,
- <tt>&dollar;{XMKMF}</tt> (デフォルト: `<tt>xmkmf
- -a</tt>') が実行されます.
-
- </enum>
-
- <item>最後に, buildというターゲットが実行されます. これは, そのport
- の専用の作業ディレクトリ (<tt>&dollar;{WRKSRC}</tt>) にい
- き, コンパイルするのが役目です. もし
- <tt>&dollar;{USE_GMAKE}</tt> がセットされていれば, GNU
- <tt>make</tt>が使用されます. さもなければFreeBSDの
- <tt>make</tt>が使用されます.
-
- </enum>
-
- <p>上記はデフォルトのルールです. さらに, `<tt>pre-&lt;何とか
- &gt;</tt>や `<tt>post-&lt;何とか&gt;</tt>' というターゲット
- が定義してあったり, そのような名前のスクリプトが
- <tt>scripts</tt> サブディレクトリに置いてある場合には, それ
- らはデフォルトの動作の前後に実行されます.
-
- <p>たとえば, <tt>post-extract</tt>というターゲットがMakefile
- で定義されていて, <tt>pre-build</tt>というファイルが,
- <tt>scripts</tt>サブディレクトリにあるとすると,
- <tt>post-extract</tt>ターゲットは, 通常の展開動作のあとに呼
- び出され, <tt>pre-build</tt>スクリプトはデフォルトのコンパイ
- ルのルールが実行される前に実行されます. もし動作が簡単であれ
- ば, Makefileのターゲットを使用することが推奨されています. な
- ぜならば, そのportが何らかのデフォルトではない動作を必要とす
- るのかどうかが一箇所にまとめて書いてあった方が他の人に理解しやす
- いからです.
-
- <p>デフォルトの動作は<tt>bsd.port.mk</tt> の
- `<tt>do-&lt;何とか&gt;</tt>' というターゲットでおこなわれます.
- たとえば, portを展開するコマンドは, `<tt>do-extract</tt>'
- というターゲットにあります. もし, デフォルトのターゲットに
- 不満があれば, `<tt>do-&lt;something&gt;</tt>' というターゲッ
- トを再定義することによって, どのようにでも直すことができます.
-
- <p>「メイン」のターゲット (例えば, <tt>extract</tt>,
- <tt>configure</tt>等) は, すべての前段階が実行されていること
- を確認して, 実際のターゲットやスクリプトを呼び出す以外のこと
- はしません. bsd.port.mkはこれらが変更されることは仮定してい
- ませんので, もし, 例えば, 展開の仕方を直したいときには,
- <tt>do-extract</tt> を直し, 絶対に<tt>extract</tt>には手を
- 触れないでください.
-
- <p>これで, ユーザが `<tt>make</tt>' と入力したときに何が起こ
- るのかが理解できたと思います. では, 完璧なportを手順を追っ
- て作ってみましょう.
-
- <sect3>
- <heading>オリジナルのソースの入手</heading>
-
- <p>オリジナルのソースを, (普通は) 圧縮されたtarファイルの形
- (<tt>&lt;foo&gt;.tar.gz</tt>あるいは
- <tt>&lt;foo&gt;.tar.Z</tt>) で入手して, それを
- <tt>&dollar;{DISTDIR}</tt> にコピーします. 可能なかぎり, 広
- く使われている<em>主流の</em>ソースを使用するようにしてください.
-
- <p>もし, ネットワークへの接続のよいFTP/HTTPサイトを見つけるこ
- とができなかったり, 頭にくるような非標準的な形式しか持ってい
- ないサイトしか見つけられないときには, 最後の手段として, 私たち
- 自身で,
-<tscreen><verb>
-ftp://freefall.FreeBSD.ORG/pub/FreeBSD/LOCAL_PORTS/
-</verb></tscreen>
- に置くことができます. これについての問い合わせのメールは
- は &a.ports へお願いします.
-
- <p>もし, あなたのportに必要ないくつかの追加パッチがインター
- ネット上で手に入るのならば, それらも取ってきて,
- <tt>&dollar;{DISTDIR}</tt> に置きます. もし, それらがメイン
- のソースのtarファイルとは別のサイトにあっても, 心配する必要
- はありません. そのような状況にはちゃんと対応できるようになっ
- ています. (以下の<ref id="porting:patchfiles"
- name="&dollar;{PATCHFILES}の記述">をご覧く
- ださい).
-
- <sect3>
- <heading>Portの修正</heading>
-
- <p>適当なディレクトリにtarファイルを展開して, FreeBSDの最新の
- バージョン上で, 正しくコンパイルできるために必要なあらゆる変
- 更を施します. 最終的に処理は自動化するわけですから, 何をおこなっ
- たかを<em>注意深く記録しておきましょう</em>. あなたのport
- が完成した暁には, ファイルの削除, 追加, 修正を含むすべての処
- 理が, 自動化されたスクリプトやパッチファイルでおこなえるようになっ
- ていないといけません.
-
- <p>もし, あなたのportのコンパイルやインストールのために必要
- な手作業があまりに多いようならば, Larry Wallの模範的な
- Configureスクリプトでも参考にしたほうがいいかもしれませ
- ん. 新しいportsコレクションは, 最小のディスクスペースで,
- 個々のportがエンドユーザにできるだけ「プラグ &amp; プレ
- イ」の状態でmakeできることをめざしています.
-
- <p>注意: あなたが作成しFreeBSDのportsに寄付されたパッチファイル,
- スクリプトおよびその他のファイルは,明示的に記述されている場合
- を除いては, BSDの標準的な著作権条件によりカバーされていると見な
- されます.
-
- <sect3>
- <heading>パッチをあてる</heading>
-
- <p>portの過程で追加されたり変更されたファイルは再帰的diffで変
- 更点を取り出すことができます. パッチは適当にまとめて,
- `<tt>patch-&lt;xx&gt;</tt>' という名前のファイルに入れてくだ
- さい. <tt>&lt;xx&gt;</tt>はパッチが適用される順番を示します --
- これらは, <em>アルファベット順</em>, つまり `<tt>aa</tt>' が
- 最初, つぎに `<tt>ab</tt>' などとなります. これらのファイル
- を<tt>&dollar;{PATCHDIR}</tt>に置いておくと, 自動的に適用さ
- れるようになっています. すべてのパッチは
- <tt>&dollar;{WRKSRC}</tt> (通常は, portのtarファイルが展
- 開されるところで, makeが実行されるところと同じです) からの相
- 対パスになります. 修正やアップグレードを容易にするため, 2つ
- 以上のパッチが同じファイルを修正するのは避けてください. (例,
- patch-aaとpatch-abが共に<tt>&dollar;{WRKSRC}</tt>/foobar.c
- を修正する, など.)
-
- <sect3>
- <heading>コンフィグレーション</heading>
-
- <p>カスタマイズのために追加したいコマンドがあれば,
- <tt>configure</tt>という名前のスクリプトに入れて
- `<tt>scripts</tt>' サブディレクトリに置きます. 上で述べたよ
- うに, <tt>pre-configure</tt> あるいは<tt>post-configure</tt>
- というMakefileのターゲットおよび/あるいはスクリプトで処理す
- ることもできます.
-
- <sect3>
- <heading>ユーザからの入力の扱い</heading>
-
- <p>もし, そのportがビルド, コンフィグレーション, インストー
- ルの際にユーザからの入力を必要とするならば, Makefileで
- <tt>IS_INTERACTIVE</tt>をセットしてください. これによって,
- 深夜, 自動的にたくさんのportをコンパイルすることが可能にな
- ります. 環境変数<tt>BATCH</tt>がセットされていると
- <tt>IS_INTERACTIVE</tt>の定義されているportはスキップされ
- ます (そして, ユーザが<tt>INTERACTIVE</tt>という変数をセッ
- トすると入力を必要とするport<em>のみ</em>コンパイルされま
- す).
-
- <sect2>
- <heading>Makefileの作成</heading>
-
- <p>Makefileの作成は非常に単純です. 繰り返しになりますが, 始める
- まえに, すでにある例を見てみることをお奨めします. またこのハ
- ンドブックには<ref id="porting:samplem" name="Makefileのお手本">
- があります. それを見て, Makefile内の変数の順番や空行を入れると
- ころなどの参考にしてください. そうすると他の人々にも読みやすい
- ものとなります.
-
- <p>では, Makefileをデザインするときに問題となるところを順に追っ
- て見てみましょう.
-
- <sect3>
- <heading>オリジナルのソース</heading>
-
- <p>ソースは<tt>&dollar;{DISTDIR}</tt>に, 標準的なgzipされた
- tarファイルとして置かれていますか? そうであれば, 次のステッ
- プに進めます. そうでなければ, 変数
- <tt>&dollar;{EXTRACT_CMD}</tt>,
- <tt>&dollar;{EXTRACT_BEFORE_ARGS}</tt>,
- <tt>&dollar;{EXTRACT_AFTER_ARGS}</tt>,
- <tt>&dollar;{EXTRACT_SUFX}</tt>,
- <tt>&dollar;{DISTFILES}</tt>を適当に書き換えないといけません.
- どれだけ変更しないといけないかは, あなたのportの
- 配布ファイルがどの程度標準からかけはなれているかによりま
- す. (最もよくある場合は, gzipではなく普通のcompressコマンド
- でtarファイルが圧縮されている場合で,
- `<tt>EXTRACT_SUFX=.tar.Z</tt>' とするだけです.)
-
- <p>最悪の場合には, 自分で `<tt>do-extract</tt>' ターゲットを作
- 成して, デフォルトを上書きすることもできます. しかし, そこま
- でする必要があることはめったにないでしょう.
-
- <sect3>
- <heading>DISTNAME</heading>
-
- <p><tt>&dollar;{DISTNAME}</tt>にはportの名前の基幹部分を入れ
- ます. デフォルトのルールでは, 配布ファイルのリスト
- (<tt>&dollar;{DISTFILES}</tt>) は
- <tt>&dollar;{DISTNAME}&dollar;{EXTRACT_SUFX}</tt>という名前
- になっています. 例えば, `<tt>DISTNAME=foozolix-1.0</tt>'の場
- 合, 通常のtarファイルだと,
-<tscreen><verb>
-foozolix-1.0.tar.gz
-</verb></tscreen>
- のようになります.
-
- さらにデフォルトのルールでは, tarファイルは
- <tt>work/&dollar;{DISTNAME}</tt>というサブディレクトリ
- に展開されることを仮定しています, 例えば
-<tscreen><verb>
-work/foozolix-1.0/
-</verb></tscreen>
- といった具合いです.
-
- これらの動作はもちろんすべて変更可能です. デフォルトのルー
- ルは最も標準的な場合を仮定しているだけです. まず, portが複
- 数の配布ファイルを必要とするときには, 単に明示的に
- <tt>&dollar;{DISTFILES}</tt>を設定してください. もし,
- <tt>&dollar;{DISTFILES}</tt>の一部だけが実際に展開される場合
- には, それらを<tt>&dollar;{EXTRACT_ONLY}</tt> に設定してくだ
- さい. この変数が定義されている場合には, 展開時に
- <tt>&dollar;{DISTFILES}</tt>に優先して利用されます. 残りのファ
- イルも<tt>&dollar;{DISTDIR}</tt>に取ってきますが, 展開時に
- はなにもせずに後で使うためにそのまま置いておかれます.
-
- <sect3>
- <heading>CATEGORIES (分類)</heading>
-
- <p>完成したpackageの実体は<tt>/usr/ports/packages/All</tt>
- に置かれます. また, 1つかそれ以上の
- <tt>/usr/ports/packages</tt>のサブディレクトリからのシンボリッ
- クリンクが作られます. それらのサブディレクトリの名前が
- <tt>&dollar;{CATEGORIES}</tt>という変数によって指定されます.
- これは, ユーザがFTPサイトやCD-ROMのpackageの山を渡り歩
- くことを容易にするためです. 現在存在するカテゴリを見て, そ
- のportに適したもを選んでください. (<htmlurl
- url="http://www.freebsd.org/ports/" name="Ports Collection
- のページ">などが参考になるでしょう). もしそのportが本当
- に現在存在するすべてのものとは異なっている場合には, 新しいカテ
- ゴリ名を作ることもできます.
-
- <sect3>
- <heading>MASTER_SITES</heading>
-
- <p>オリジナルの配布ファイルを指し示すFTPまたはHTTPのURLのディ
- レクトリ部分までを<tt>&dollar;{MASTER_SITES}</tt>に記録しま
- す. スラッシュ (<tt>/</tt>) を最後につけることをお忘れなく.
-
- <p>配布ファイルがシステム上に存在しないときに, makeマクロは
- <tt>&dollar;{FETCH}</tt>でこの変数に指定されたサイトから取っ
- てきます.
-
- <p>複数の, できれば異なる大陸のサイトをこのリストに入れておく
- ことが推奨されています. これによって, 広域ネットワークにトラ
- ブルがあった場合でも成功する可能性が高くなります. 私たちはさら
- に, 自動的に最も近いマスタサイトを検出して, そこから取って
- くるメカニズムの導入を計画しています.
-
- <p>オリジナルのtar ファイルが, X-contrib, GNU, Perl CPAN, TeX CTAN
- または Linux Sunsite などの有名なアーカイブにある場合には,
- MASTER_SITE_XCONTRIB, MASTER_SITE_GNU,
- MASTER_SITE_PERL_CPAN, MASTER_SITE_TEX_CTAN および
- MASTER_SITE_SUNSITE を利用することで, 簡単にこれらのサイトを
- 指定することができます. あとは MASTER_SITE_SUBDIR にアーカイ
- ブ内でのパスを指定するだけです. 以下に例を示します.
-<tscreen><verb>
-MASTER_SITES= ${MASTER_SITE_XCONTRIB}
-MASTER_SITE_SUBDIR= applications
-</verb></tscreen>
- <p>ユーザは<tt>/etc/make.conf</tt>中で MASTER_SITE_* 変数を設定
- することによって, デフォルトの FTP サイトではなく, これらの
- 有名なアーカイブのミラーの中で好みのものを使用することが可能
- です.
-
- <sect3>
- <heading>PATCHFILES<label id="porting:patchfiles"></heading>
-
- <p>もし, オリジナルの配布ファイル以外にもFTPかHTTPで手に入る
- パッチが必要な場合には, <tt>&dollar;{PATCHFILES}</tt>にファ
- イル名を, <tt>&dollar;{PATCH_SITES}</tt>にサイトとディレクト
- リの名前を<tt>&dollar;{MASTER_SITES}</tt>と同様に設定してく
- ださい.
-
- <p>そのパッチ内のファイル名ががソースツリーの一番上のディレク
- トリ (<tt>&dollar;{WKRSRC}</tt>) からの相対パスになっていな
- い場合には, <tt>&dollar;{PATCH_DIST_STRIP}</tt>を指定してく
- ださい. 例えば, パッチ内のファイル名にすべて余計な
- `<tt>foozolix-1.0/</tt>' がついている場合には,
- `<tt>PATCH_DIST_STRIP=-p1</tt>'としてください.
-
- <p>これらのパッチは圧縮されていても大丈夫です. ファイル名が
- `<tt>.gz</tt>' か `<tt>.Z</tt>' で終わる場合には自動的に復元
- されるようになっています.
-
- <p>もしパッチが, 文書などその他のファイルと一緒にgzipされた
- tarファイルで配布されている場合には,単純に
- <tt>&dollar;{PATCHFILES}</tt> を使うことはできません.
- このような場合には, このパッチの tar ファイルの名前と場所を
- <tt>&dollar;{DISTFILES}</tt> と <tt>&dollar;{MASTER_SITES}</tt>
- に加えます. それから, <tt>pre-patch</tt> ターゲットで,
- パッチコマンドを走らせるか, パッチファイルを
- <tt>&dollar;{PATCHDIR}</tt> ディレクトリに
- <tt>patch-&lt;xx&gt;</tt>という名前でコピーするかして,
- パッチを適用するようにします.(普通の gzip か compress された
- tar ファイルであれば,通常のソースファイルと一緒にその時までに
- 展開されていますので,明示的に展開する必要はありません.)
- もし,後者の方法を使用する場合には,すでにそのディレクトリにある
- なにかを上書きしないように, 注意する必要があります.
- さらに, <tt>pre-clean</tt> ターゲットにコピーしたパッチファイル
- を削除するコマンドを追加するのを忘れないでください.
-
- <sect3>
- <heading>MAINTAINER</heading>
-
- <p>あなたのメールアドレスをここに入れてください. お願いします.
- <tt>:)</tt>
-
- <p>保守担当者(maintainer)の責任についての詳細は,
- <ref id="policies:maintainer" name="Makefile 中の MAINTAINER">
- の節をご覧ください.
-
- <sect3>
- <heading>依存関係</heading>
-
- <p>このプログラムが他のportに依存する場合には, 必要なものが
- 自動的に作られるようにすることができます. そのために, 以下の
- 5つの変数が用意されています.
-
- <sect4>
- <heading>LIB_DEPENDS</heading>
-
- <p>Portが必要とする非標準の共有ライブラリをこの変数で指定
- します. これは `<tt>lib:dir</tt>' という組のリストで, うち
- <tt>lib</tt> が共有ライブラリの名前, そして<tt>dir</tt>
- がそのライブラリが見つからない場合にインストールするport
- のあるディレクトリです. 例えば,
-<tscreen><verb>
-LIB_DEPENDS= jpeg\\.6\\.:${PORTSDIR}/graphics/jpeg
-</verb></tscreen>
- と指定してあれば, まずメジャーバージョンが6のjpegライブ
- ラリがあるかどうか確認し, ない場合にはportsツリーの中の
- <tt>graphics/jpeg</tt> というサブディレクトリに移動し, そこ
- からインストールしようとします.
-
- 前半の<tt>lib</tt> 部分はそのまま `<tt>ldconfig -r |
- grep</tt>' へ引数として渡されることに注意してください. 特
- に, ピリオド (.) の前には上記の例のようにバックスラッシュ
- を連続してつける必要があります.
-
- この依存関係は<tt>extract</tt> ステージのはじめでチェック
- されます. また, packageを作るときに必要となるportのpackage名
- が記録され, <tt>pkg_add</tt>を使用すると自動的にそちら
- のpackageもインストールされるようになります.
-
- <sect4>
- <heading>RUN_DEPENDS</heading>
-
- <p>Portを使用する際に必要となるファイルまたはプログラムがある
- ときにはこの変数で指定します. これは`<tt>path:dir</tt>' とい
- う組のリストで, <tt>path</tt> がファイルまたはプログラムの
- 名前, そして<tt>dir</tt> がそれが見つからない場合に作成する
- ためのディレクトリ名です. <tt>Path</tt> の最初の文字がスラッ
- シュ (<tt>/</tt>) の場合にはファイルとみなし, その存在を
- `<tt>test -e</tt>' でチェックします; そうでない場合にはプ
- ログラムであると仮定し, `<tt>which -s</tt>' を使ってそのプ
- ログラムがユーザのサーチパス上にあるかどうか確認します.
-
- <p>例えばMakefileに以下のように書いてあるとします.
-<tscreen><verb>
-RUN_DEPENDS= ${PREFIX}/etc/innd:${PORTSDIR}/news/inn \
- wish:${PORTSDIR}/x11/tk
-</verb></tscreen>
- まず, `<tt>/usr/local/etc/innd</tt>' というファイルが存在
- するか確認し, ない場合にはportsツリーの中の
- <tt>news/inn</tt> というサブディレクトリから作られます. ま
- た, `<tt>wish</tt>' というプログラムがユーザのサーチパス中
- にあるかどうか探し, ない場合には同じくportsツリーの
- <tt>x11/tk</tt> というサブディレクトリから作られます.
- (この例で, `<tt>innd</tt>' は実際にはプログラムです; この
- ように, プログラムであっても標準のサーチパス以外のところに
- あるようなものの場合には, 絶対パスで指定してください.)
-
- この依存関係は<tt>install</tt> ステージのはじめでチェック
- されます. また, packageを作る際に必要となるportのpackage名
- が記録され, <tt>pkg_add</tt>を使用すると自動的にそちら
- のpackageもインストールされるようになります.
-
- <sect4>
- <heading>BUILD_DEPENDS</heading>
-
- <p>Portのコンパイルに必要なファイルまたはプログラムがある
- ときは, この変数で指定してください. <tt>RUN_DEPENDS</tt>と同
- 様に, これは `<tt>path:dir</tt>' という組のリストです. 例
- えば,
-<tscreen><verb>
-BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip
-</verb></tscreen>
- は `<tt>unzip</tt>' という名前のプログラムを探し, 見つから
- ない場合には<tt>archivers/unzip</tt> サブディレクトリで作
- れという意味になります.
-
- ここでは「コンパイル」と一口にいいましたが, この変数は実際
- にはファイルの展開から実際のコンパイル・リンクまで全部をま
- とめて面倒を見てくれます. この依存関係は<tt>extract</tt>
- ステージからチェックされます.
-
- <sect4>
- <heading>FETCH_DEPENDS</heading>
-
- <p>この変数は, portを取ってくるのに必要なファイルまたはプロ
- グラムを指定するのに使います. 上の二つと同様に, これは
- `<tt>path:dir</tt>' という組のリストです. 例えば,
-<tscreen><verb>
-FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2
-</verb></tscreen>
- としておけば, `<tt>ncftp2</tt>' という名前のプログラムを探
- し, 見つからない場合には<tt>net/ncftp2</tt> サブディレク
- トリにいってインストールします.
-
- この依存関係は<tt>fetch</tt>ステージからチェックされます.
-
- <sect4>
- <heading>DEPENDS</heading>
-
- <p>上の四つのいずれにもあてはまらないような依存関係がある場
- 合, または他のportのソースが展開されている必要がある場合
- (インストールされているだけでは不十分な場合) にはこの変数
- を使います. これはディレクトリ名のリストです (上の四つと違っ
- て特に「確認」するものがありませんので).
-
- <sect3>
- <heading>コンパイル時の特別な指定</heading>
-
- <p>GNUの<tt>make</tt>を使う場合には, `<tt>USE_GMAKE=yes</tt>'
- と指定してください. PortにGNUの<tt>configure</tt>が含まれ
- ている場合には, `<tt>GNU_CONFIGURE=yes</tt>' を使います. GNU
- <tt>configure</tt>にデフォルトの
- `<tt>--prefix=&dollar;{PREFIX}</tt>' 以外の引数を渡したい場
- 合には追加部分を<tt>&dollar;{CONFIGURE_ARGS}</tt>で指定して
- ください.
-
- <p>X Window Systemのアプリケーションなど, <tt>imake</tt>を
- 使ってImakefileからMakefileを作成するportの場合には
- `<tt>USE_IMAKE=yes</tt>' を指定してください. コンフィグレー
- ションステージで自動的に<tt>xmkmf -a</tt> が実行されます. も
- し `<tt>-a</tt>' フラグが問題をもたらすなら, さらに
- `<tt>XMKMF=xmkmf</tt>'としてください.
-
- <p>PortのMakefileが `<tt>all</tt>' 以外のものをメインのター
- ゲットとしている場合には, <tt>&dollar;{ALL_TARGET}</tt> でそ
- れを指定してください. `<tt>install</tt>' と
- <tt>&dollar;{INSTALL_TARGET}</tt> も同様です.
-
- <sect3>
- <heading>NO_INSTALL_MANPAGES</heading>
-
- <p>あなたのportがimakeは使うものの `<tt>install.man</tt>'
- ターゲットを持っていない場合,
- `<tt>NO_INSTALL_MANPAGES=yes</tt>' を指定してください. つい
- でに, 作者を探し出して八つ裂きにするといいでしょ
- う. <tt>(-_-#)</tt>
-
- <sect2>
- <heading>Motifを必要とするport</heading>
-
- <p>最近はコンパイルにMotifを必要とするアプリケーションが増えて
- きました. (Motif自体は有料のものがいくつかの会社から手に入りま
- すし, 無料の互換ライブラリを作ろうとしているグループが少なくと
- も一つあります.) Motifはかなり広く使われていますし, 製品のライ
- センスではライブラリを静的にリンクした実行形式は再配布が認めら
- れている場合が多いので, Motifを必要とするソフトウェアを簡単に
- 動的/静的にリンクできるようなしくみが用意されています.
-
- <sect3>
- <heading>REQUIRES_MOTIF</heading>
-
- <p>MotifがないとコンパイルできないportのMakefileではこの変
- 数を指定してください. これによって, Motifを持っていない人が
- このportをコンパイルしようとするのを未然に防ぎます.
-
- <sect3>
- <heading>&dollar;{MOTIFLIB}</heading>
-
- <p>この変数は<tt>bsd.port.mk</tt>によってMotifライブラリの指
- 定に置き換えられます. ソース内のMakefileやImakefileで
- Motifライブラリを指定しているところをこの変数に置き換えるよ
- うにパッチをあててください.
-
- <p>代表的な例としては以下の二つがあげられます:
- <enum>
- <item>MakefileかImakefileの中でMotifライブラリが
- `<tt>-lXm</tt>' として使われている場合には, かわりに
- `<tt>&dollar;{MOTIFLIB}</tt>' と書いてください.
-
- <item>Imakefileの中で `<tt>XmClientLibs</tt>' が使われている
- 場合には, それを `<tt>&dollar;{MOTIFLIB}
- &dollar;{XTOOLLIB} &dollar;{XLIB}</tt>' と書きかえてください.
- </enum>
-
- <p><tt>&dollar;{MOTIFLIB}</tt> は通常 `<tt>-L/usr/X11R6/lib
- -lXm</tt>' か `<tt>/usr/X11R6/lib/libXm.a</tt>' に置き換えら
- れます. したがって前に `<tt>-L</tt>' や `<tt>-l</tt>' をつけ
- る必要はありません.
-
- <sect2>
- <heading>ライセンス上の問題</heading>
-
- <p>ソフトウェアによっては制限の厳しいライセンスがついてきたり,
- 法律的に問題があるものがあります (PKPの公開鍵暗号化, ITAR (暗
- 号化ソフトウェアの輸出) などが例としてあげられます). それらを
- どう扱えばいいかはライセンスの文面によってさまざまな場合があり
- ます.
-
- <p>ソフトウェア移植者として, あなたにはライセンスをよく読み,
- FreeBSDプロジェクトがFTPまたはCD-ROMで配布してはいけないソフ
- トウェアを配布してしまうことのないよう, 注意する義務があります.
- なにか疑問がある場合には, &a.ports;に聞いてみてください.
-
- <p>よく見られるケースに対処するために, 二つの変数が用意されてい
- ます:
-
- <enum>
- <item>ソフトウェアに「有償再配布を禁ずる」という趣旨のライセン
- スがついてきた場合には<tt>NO_CDROM</tt>という変数をセットして
- ください. 私たちはこれがついているportはCD-ROMリリースに入
- れないようにしますが, オリジナルのソースファイルとpackage
- はFTPでは取れるようにしておきます.
-
- <item>もしも, 生成される package が個々のサイトで独自に構築さ
- れる必要があったり, ライセンスによって生成されるバイナリが
- 配布できない場合には, <tt>NO_PACKAGE</tt> 変数を設定してくだ
- さい. そのような package が FTP サイトに置かれたり, リリース
- 時の CD-ROM へ入らないようにします. ただし, いずれの場合も
- distfile は(FTP や CD-ROM に)含まれるようになります.
-
- <item>Portが, 使用者によっては法律上の問題が生じる時 (暗号化ソフ
- トウェアなど), または「商用利用を禁ずる」とライセンスに書い
- てある場合には<tt>RESTRICTED</tt>という変数にその理由を入れ
- てください. この場合には, ソースファイルやpackageは私たちの
- FTPサイトにも置かれません.
- </enum>
-
- <p>注: GNU一般公有使用許諾書 (GPL) はバージョン1, 2とも
- port作成上は何ら問題にはなりません.
-
- <p>注: もしあなたが,ソースツリー管理者 (committer) であれば,
- ソースツリーにこのようなportを入れる際に,
- <tt>ports/LEGAL</tt>ファイルを書き換えるのを忘れないようにし
- てください.
-
- <sect2>
- <heading>アップグレード</heading>
-
- <p>Portのバージョンが原作者からのものに比べて古いことに気がつ
- いたら, まずはあなたの持っているportが私たちの最新のもの (ミラー
- サイトの<tt>ports-current</tt>というディレクトリにあります)
- であることを確認してください.
-
- <p>次に, portのMakefileに<tt>MAINTAINER</tt> (保守担当者) の
- アドレスが書いてある場合には, その人にメールを出してみましょう.
- 保守担当者の人がすでにアップグレードの準備をしているかもしれま
- せんし, (新しいバージョンの安定度に問題があるなど) あえてアッ
- プグレードをしない理由があるのかもしれません.
-
- <p>保守担当者にアップグレードをしてくれと頼まれた場合, あるいは
- そもそもportのMakefileに保守担当者が書いてない場合などは, あ
- なたがアップグレードをしてくださると助かります. その場合にはアッ
- プグレードをしたのち, 変更前と変更後のディレクトリの再帰的diff
- をとって送ってください. (例えば, 変更前のディレクトリが
- `<tt>superedit.bak</tt>' という名前でとってあり, 変更後のもの
- が `<tt>superedit</tt>' に入っているなら, `<tt>diff -ru
- superedit.bak superedit</tt>' の結果を送ってください. )
- diff の出力を見て, すべての変更が正しくなされているか確認してください.
- 変更箇所については, <tt>send-pr</tt> に diff の出力結果を入れて私たち
- に送ってもらうのが一番よいです. commit する際に CVS に明確に記述しな
- ければならないので, 付け加えたり削除したりしたファイルがあったら,
- それについて書いておいてください.
-
- <sect2>
- <heading>やっていいことといけないこと</heading>
-
- <p>この節では, ソフトウェアをportする上でよくある落し穴などにつ
- いて説明します.
-
- <sect3>
- <heading>WRKDIR</heading>
-
- <p>大事なファイルを<tt>work</tt>サブディレクトリに置き忘れな
- いようにしてください. うっかり `<tt>make clean</tt>' とやっ
- たらこのディレクトリはその下のファイルとともに<em>あとかたも
- なく</em>消え去ってしまいます! スクリプトやパッチ以外に必要
- なファイルがある場合には, <tt>files</tt>というサブディレクト
- リに入れ, <tt>post-extract</tt>ターゲットで<tt>work</tt>サ
- ブディレクトリにコピーするようにしてください.
-
- <sect3>
- <heading>Package情報</heading>
-
- <p>Package情報, すなわち<tt>pkg</tt>ディレクトリ内の三つ
- のファイルは必ず用意してください. これらはpackageを作る以
- 外にもいろいろ使われていますので,
- <tt>&dollar;{NO_PACKAGE}</tt>が指定してあってpackageを作
- るのが禁止してあるportの場合でも<em>必ず</em>必要です.
-
- <sect3>
- <heading>マニュアルの圧縮, バイナリのstrip</heading>
-
- <p>マニュアルは圧縮し, バイナリはstripしてください. オリジナル
- のソースがバイナリを stripしてくれる場合は良いですが,
- そうでない場合には <tt>post-install</tt>ターゲットを指定して
- strip するようにするとよいでしょう. 例えば, こんな風になりま
- す:
-<tscreen><verb>
- post-install:
- strip ${PREFIX}/bin/xdl
-</verb></tscreen>
- <p>インストールされた実行形式がすでにstripされているかどうか
- は<tt>file</tt>コマンドで確認できます. これが`not stripped'
- と言わなければ, stripされているということです.
-
- <p>MAN[1-9LN] 変数を使用すると, マニュアルの圧縮を自動的に行う
- ことができます. この方法を使うと, ユーザが
- <tt>/etc/make.conf</tt>中で<tt>NOMANCOMPRESS</tt>を設定し,
- マニュアルの圧縮を無効にしているかどうかを確認できます.
- これらの変数の指定は, <tt>MAINTAINER</tt> の指定の後
- のセクションの一番最後で行ってください. こんな風に指定します:
-<tscreen><verb>
-MAN1= foo.1 bar.1
-MAN5= foo.conf.5
-MAN8= baz.8
-</verb></tscreen>
- <p>なお, 普通 Imake を使ってコンパイルされる X アプリケーショ
- ンの場合はこの指定は必要ありません.
-
- <p><tt>PREFIX</tt>以外のディレクトリの下にマニュアルを置く
- ようなportでは<tt>MANPREFIX</tt>を指定することが
- できます. さらに, 特定のセクションのマニュアルだけ, 標準では
- ない場所にインストールする場合(例えば多くの Perl のモ
- ジュールの ports の場合)には, 個々のマニュアルのパスを
- <tt>MAN<em>sect</em>PREFIX</tt> (<em>sect</em>は, 1 から 9
- または, L か N を表わします) によって指定できます.
-
- <sect3>
- <heading>INSTALL_* マクロ</heading>
- <p> あなた自身の *-install ターゲットでファイルの正しいモードと
- オーナを保証するために, 必ず<tt>bsd.port.mk</tt>で提供されて
- いるマクロを使用してください. マクロは以下のようなものがあります.
-
- <itemize>
- <item><tt>${INSTALL_PROGRAM}</tt> は実行可能なバイナリを
- インストールするコマンドです.
- <item><tt>${INSTALL_SCRIPT}</tt> は実行可能なスクリプトを
- インストールするコマンドです.
- <item><tt>${INSTALL_DATA}</tt> は共有可能なデータを
- インストールするコマンドです.
- <item><tt>${INSTALL_MAN}</tt> はマニュアルを
- インストールするコマンドです.(圧縮をしません)
- </itemize>
-
- <p>これらは基本的に<tt>install</tt>コマンドに適当なフラグを与え
- たものです. どのようにこれらを使用するかは以下の例を見てください.
-
- <sect3>
- <heading>INSTALL package スクリプト</heading>
- <p>バイナリパッケージが pkg_add でインストールされるときに, 実行
- される必要があるコマンドがあれば, pkg/INSTALL スクリプトを使っ
- て実行することができます. このスクリプトは自動的に package
- に加えられ, pkg_add によって2度実行されます. はじめは
- `<tt>INSTALL ${PKGNAME} PRE-INSTALL</tt>' と実行され, 2度目
- には, '`<tt>INSTALL ${PKGNAME} POST-INSTALL</tt>' と実行され
- ます. どちらのモードで実行されているかは, `<tt>&dollar;2</tt>'
- を調べることによってわかります.
- 環境変数 `<tt>PKG_PREFIX</tt>' には package がインストールさ
- れる directory が設定されます. 詳細は man
- <tt>pkg_add(1)</tt> を見てください.
- 注意すべきことは, port を `<tt>make install</tt>' で
- インストールするときには, このスクリプトは自動的に実行されな
- いということです. もし, 実行される必要があるならば, port の
- Makefile で明示的に呼ぶ必要があります.
-
- <sect3>
- <heading>REQ package スクリプト</heading>
- <p>パッケージが(インストールされるシステムの状態によって)
- インストールされるべきか, されないべきか区別する必要があると
- きには, 「要件(requirements)」スクリプト pkg/REQ を作ること
- ができます. これは, インストール及びデインストール
- (package の削除)の時に自動的に実行され, それらが処理されるべ
- きかを決定します. 詳細は, man <tt>pkg_create(1)</tt> と man
- <tt>pkg_add(1)</tt> を見てください.
-
- <sect3>
- <heading>付加的ドキュメント</heading>
-
- <p>普通のマニュアルやinfoファイルのほかにユーザにとって有用だ
- と思えるようなドキュメントがある場合には,
- <tt>&dollar;{PREFIX}/share/doc</tt>の下にインストールしてく
- ださい. これは前記と同様, <tt>post-install</tt>ターゲットの
- 中からするのがいいでしょう.
-
- <p>まず, あなたのportのために新しいディレクトリを作りま
- す. どのportのドキュメントか簡単にわかるような名前にする必
- 要がありますので, 普通は<tt>&dollar;{PKGNAME}</tt>からバージョ
- ン番号を除いた部分を使うといいでしょう. もちろん, ユーザが異
- なるバージョンのものを同時に使うことが予想されるportの場合
- には, <tt>&dollar;{PKGNAME}</tt>をそのまま使ってかまいません.
-
- <p>ユーザが<tt>/etc/make.conf</tt>でこの部分を禁止するために
- <tt>NOPORTDOCS</tt>という変数をセットしている場合には,
- これらのドキュメントがインストールされないようにしてください.
- こんな具合です.
-<tscreen><verb>
- post-install:
- .if !defined(NOPORTDOCS)
- ${MKDIR} -p ${PREFIX}/share/doc/xv
- ${INSTALL_DATA} ${WRKSRC}/docs/xvdocs.ps ${PREFIX}/share/doc/xv
- .endif
-</verb></tscreen>
-
- <p>これらのファイルを<tt>pkg/PLIST</tt>に入れるのを忘れないよ
- うにしてください. (packageが<tt>/etc/make.conf</tt>内の
- 変数を読む方法は今のところ存在しませんので,
- <tt>NOPORTDOCS</tt>については気にしないでください.)
-
- <p>(Packageの)インストールを行っているユーザに対してメッセージ
- を表示したい場合には, そのメッセージを <tt>pkg/MESSAGE</tt>
- に置くこともできます. この機能は, pkg_add したあとの
- 追加のインストール手順や, ライセンス情報を表示するのに便利で
- す. (注意: MESSAGE ファイルは pkg/PLIST に加える必要はありま
- せん.
-
- <sect3>
- <heading>DIST_SUBDIR</heading>
-
- <p><tt>/usr/ports/distfiles</tt>ディレクトリ内をあまり散らかさ
- ないようにしてください. たくさんのファイルを取ってくるport
- や, 数は少なくてもほかのportのファイルと混同されるおそれが
- あるファイル (`Makefile' など) がある場合には,
- <tt>&dollar;{DIST_SUBDIR}</tt>にportの名前
- (<tt>&dollar;{PKGNAME}</tt>からバージョン番号を取った部分を
- 使うといいでしょう) を入れてください. すると,
- <tt>&dollar;{DISTDIR}</tt>がデフォルトの
- <tt>/usr/ports/distfiles</tt>から
- <tt>/usr/ports/distfiles/&dollar;{DIST_SUBDIR}</tt>に変更さ
- れ, 取ってきたファイルはすべてそのサブディレクトリの中に置か
- れるようになります.
-
- <p>また, ファイルを取ってくるときにバックアップサイトとして使わ
- れる<tt>ftp.freebsd.org</tt>のディレクトリ名にもこの変数の
- 値が使われます. (<tt>&dollar;{DISTDIR}</tt>を明示的に指定し
- た場合には, ローカルのファイルを置くところは変わりますが, こ
- のサイトのディレクトリ名は変わりませんので, 必ず
- <tt>&dollar;{DIST_SUBDIR}</tt>を使うようにしてください.)
-
- <p>この変数はMakefile中で明示的に指定された
- <tt>&dollar;{MASTER_SITES}</tt>には影響しないことに注意して
- ください.
-
- <sect3>
- <heading>フィードバック</heading>
-
- <p>Portを作るためにソフトウェアに変更を加えたら, なるべく原
- 作者にその旨を伝えてパッチ等を送ってください. これらが次のリ
- リースに取り入れられれば, アップグレードが楽になります.
-
- <sect3>
- <heading>RCS文字列</heading>
-
- <p>RCSが特別な意味を与えている文字列をパッチ内に入れないように
- してください. ファイルを私たちのソースツリーに入れる時にこれら
- の文字列はCVSによって書き換えられてしまい, あとでまたパッチ
- を使おうとした時にうまくいかないことがあります. RCS文字列は
- ドル記号 (`<tt>&dollar;</tt>') で囲まれており,
- `<tt>&dollar;Id</tt>' や `<tt>&dollar;RCS</tt>' などで始まり
- ます.
-
- <sect3>
- <heading>パッチ作成上の注意</heading>
-
- <p><tt>diff</tt>の再帰 (`<tt>-r</tt>') フラグを使って再帰的なパッ
- チを作るのは大変結構なのですが, でき上がったパッチは必ず目で
- チェックして余計なゴミが入っていないことを確認してくださ
- い. よくあるのはバックアップファイル同士の変更点, あるいは
- imakeやGNU configureを使うソフトウェアのMakefileの変更点が
- 入っている場合などです. また, ファイルをまるごと消す場合には
- パッチを使わずに<tt>post-extract</tt>ターゲットで消す方が簡
- 単です.
-
- <sect3>
- <heading>PREFIX</heading>
-
- <p>なるべくportは<tt>&dollar;{PREFIX}</tt>に対する相対パス
- にインストールすることができるように心がけてください.
- この変数の値は<tt>&dollar;{USE_IMAKE}</tt>か
- <tt>&dollar;{USE_X11}</tt>が指定してある時には
- <tt>&dollar;{X11BASE}</tt> (デフォルト<tt>/usr/X11R6</tt>),
- そうでない場合には<tt>&dollar;{LOCALBASE}</tt>
- (デフォルト<tt>/usr/local</tt>) にセットされます.
-
- <p>サイトによってフリーソフトウェアがインストールされる場所が
- 違いますので, ソース内で `<tt>/usr/local</tt>' や
- `<tt>/usr/X11R6</tt>' を明示的に書かないようにしてくださ
- い. Xのプログラムでimakeを使うものについては, これは問題に
- はなりません. それ以外の場合には, ソース中のMakefileやスク
- リプトで `<tt>/usr/local</tt>' (imakeを使わないXのプログラ
- ムは `<tt>/usr/X11R6</tt>') と書いてあるところを
- `<tt>&dollar;{PREFIX}</tt>' に書き換えてください. この値は
- portのコンパイル, およびインストール時に自動的に環境変数として
- 下位makeに渡されます.
-
- <p>変数<tt>&dollar;{PREFIX}</tt>の値はportのMakefileやユー
- ザの環境で変更することもできます. しかし, 個々のportが
- Makefileでこの変数の値を明示的に設定することはなるべくしない
- でください. (X のプログラムでimakeを使用しないport
- の場合は, <tt>USE_X11=yes</tt>としてください; これは
- <tt>PREFIX=/usr/X11R6</tt>とするのとはかなり違います.)
-
- <p>また, 他のportからインストールされるプログラムやファイル
- を指定するときには, 上で述べた変数を使用してください. 例えば,
- <tt>less</tt>のフルパスを<tt>PAGER</tt>というマクロに入れた
- い場合は, コンパイラに
- <verb>-DPAGER=\"/usr/local/bin/less\"</verb>と渡すかわりに
- <verb>-DPAGER=\"&dollar;{PREFIX}/bin/less\"</verb> (Xを使う
- portの時は
- <verb>-DPAGER=\"&dollar;{LOCALBASE}/bin/less\"</verb>) を渡し
- てください. こうしておけば, `/usr/local' がまるごとどこか他
- の場所に移してあるサイトでも, あなたのportがそのまま使える
- 可能性が高くなります.
-
- <sect3>
- <heading>ディレクトリ構成</heading>
-
- <p>インストール時には<tt>&dollar;{PREFIX}</tt>の正しいサブディ
- レクトリにファイルを置くように心がけてください. ソフトウェア
- によっては新しいディレクトリを一つ作ってファイルを全部それに
- 入れてしまうものがありますが, それはよくありません. また, バ
- イナリ, ヘッダファイルとマニュアル以外のすべてを
- `<tt>lib</tt>'というディレクトリに入れてしまうportもあります
- が, これもBSD的なファイルシステム構成からいうと正しくありま
- せん. これは以下のように分散すべきです. `<tt>etc</tt>' にセッ
- トアップ/コンフィグレーションファイル, `<tt>libexec</tt>' に
- 内部で使用されるプログラム (コマンドラインから呼ばれることの
- ないコマンド), `<tt>sbin</tt>' に管理者用のコマンド,
- `<tt>info</tt>' に GNU Info 用のドキュメント, そして
- `<tt>share</tt>' にアーキテクチャに依存しないファイルが入り
- ます. 詳細については man <tt>hier(7)</tt> を見てくださ
- い. <tt>/usr</tt>の構成方針はほとんどそのまま
- <tt>/usr/local</tt>にもあてはまります.
-
- <sect3>
- <heading>ldconfig</heading>
-
- <p>共有ライブラリをインストールするときには, 共有ライブラリのキャッ
- シュを更新するためにportのMakefileの<tt>post-install</tt>
- target から`<tt>/sbin/ldconfig -m</tt>' を走らせてください.
- このコマンドの引数は共有ライブラリのインストールしてあるディ
- レクトリ (通常 <tt>&dollar;{PREFIX}/lib</tt>) です.
-
- <p>また, <tt>pkg/PLIST</tt>に<tt>@exec</tt>行を入れ, package
- をインストールした場合にも共有ライブラリがすぐ使えるように
- してください. この行は共有ライブラリを指定する行のすぐ後に書
- くのがいいでしょう:
-<tscreen><verb>
-lib/libtcl.so.7.3
-@exec /sbin/ldconfig -m %D/lib
-</verb></tscreen>
-
- <p><em>絶対に</em>引数なしでただ `<tt>ldconfig</tt>'とだけ書い
- てある行をMakefileやpkg/PLISTファイルに入れないでください.
- このコマンドを実行すると, 共有ライブラリのキャッシュが
- <tt>/usr/lib</tt>の内容のみとなり, ユーザのマシンにさまざま
- な問題をもたらします (「ぎゃぁ! このportをインストールした
- らxinitが使えなくなっちゃった!」). この掟を破った者は, 永久
- に地獄の底で苦しみ続けるように, 閻魔様に頼んでおきます.
-
- <sect3>
- <heading>困ったら....</heading>
-
- <p>私たちに質問を送る前に, 既存のportの例と<tt>bsd.port.mk</tt>を
- ちゃんと読んでください! <tt>;)</tt>
-
- <p>それでもわからないことがあったら, 一人で悩まないでどんどん
- 質問してください! <tt>:)</tt>
-
- <sect2>
- <heading>Makefileのお手本<label id="porting:samplem"></heading>
-
- <p>これはportのMakefileを作る際のお手本です. かぎかっこ
- ([])内のコメントは忘れずに取ってください.
-
- <p>変数の順番, 段落の間の空行など, Makefileを作るときはなるべくこ
- の形式にしたがってください. 既存のportのMakefileがすべてこの形
- 式にしたがっているわけではありませんが, 今後はなるべく統一していき
- たいと考えています. この形式は重要な情報が簡単に見つけられるよ
- うに設計されています.
-
-<tscreen><verb>
- [ヘッダ -- どのようなportのMakefileかすぐにわかるようになっています]
- # New ports collection makefile for: xdvi
- # Version required: pl18 ["1.5alpha" みたいなのでも結構です]
- # Date created: 26 May 1995
- [これはこのソフトウェアを最初にFreeBSDにportした人の名前, つまり,
- このMakefileを書いた人です]
- # Whom: Satoshi Asami <asami@FreeBSD.ORG>
- #
- # &dollar;Id&dollar;
- [ ^^^^ この部分は, CVS ツリーに入れる時に自動的に RCS の ID 文字列に
- 置き換えられます.]
- #
-
- [Port自体, およびオリジナルのソースを取ってくるところを記述する部分.
- 最初は必ずDISTNAME, そして必要ならPKGNAME, CATEGORIES, 続いて
- MASTER_SITESがおかれ, さらに MASTER_SITE_SUBDIR がおかれることもあり
- ます. そのあと, EXTRACT_SUFX か DISTFILES を指定することも可能です]
- DISTNAME= xdvi
- PKGNAME= xdvi-pl18
- CATEGORIES= print
- [最後のスラッシュを忘れないように ("/")!]
- MASTER_SITES= ${MASTER_SITE_XCONTRIB}
- MASTER_SITE_SUBDIR= applications
- [ソースファイルが標準の ".tar.gz" 形式でない時にこれを使いましょう]
- EXTRACT_SUFX= .tar.Z
-
- [配布パッチのセクション -- ない場合もあります]
- PATCH_SITES= ftp://ftp.sra.co.jp/pub/X11/japanese/
- PATCHFILES= xdvi-18.patch1.gz xdvi-18.patch2.gz
-
- [保守責任者 -- これは *必ず* 必要です. 担当者 (あなた) 自身, あるいは
- 担当者に素早く連絡をとれる人のアドレスを書いてください. どうしてもこ
- こに自分のアドレスを書くのがいやな人は "ports@FreeBSD.ORG" と書いて
- もいいです]
- MAINTAINER= asami@FreeBSD.ORG
-
- [依存するport -- ない場合もあります]
- RUN_DEPENDS= gs:${PORTSDIR}/print/ghostscript
- LIB_DEPENDS= Xpm\\.4\\.:${PORTSDIR}/graphics/xpm
-
- [ここには標準のbsd.port.mkの変数で, 上のどれにもあてはまらないものを
- 書きます]
- [コンフィグレーション, コンパイル, インストールなどの時に質問をする
- なら...]
- IS_INTERACTIVE=yes
- [${DISTNAME}以外のディレクトリにソースが展開されるなら...]
- WRKSRC= ${WRKDIR}/xdvi-new
- [配布されているパッチが ${WRKSRC} に対する相対パスで作られてい
-ない場合にこの変数の指定が必要かも...]
- PATCH_DIST_STRIP= -p1
- [GNU autoconfによって生成された "configure" スクリプトを走らせたいなら...]
- GNU_CONFIGURE= yes
- [/usr/bin/makeでなく, GNU makeを使わないといけないなら...]
- USE_GMAKE= yes
- [これがXのアプリケーションで "xmkmf -a" を走らせたいなら...]
- USE_IMAKE= yes
- [などなど]
-
- [下の方のルールで使う非標準の変数]
- MY_FAVORITE_RESPONSE= "yeah, right"
-
- [そして, 特別なターゲット, 使用順に]
- pre-fetch:
- i go fetch something, yeah
-
- post-patch:
- i need to do something after patch, great
-
- pre-install:
- and then some more stuff before installing, wow
-
- [最後には必ず]
- .include <bsd.port.mk>
-</verb></tscreen>
-
- <sect2>
- <heading>Packageの名前</heading>
-
- <p>Packageの名前は以下のルールにしたがってつけてください. こ
- れはpackageのディレクトリを見やすくするためで, 無秩序な名前
- がたくさん並んでいるとユーザが使いづらくなるのではという心配か
- らです. (FTPサイトなどにはたくさんpackageがありますからね.)
-
- <p>Packageの名前は以下のようにしてください.
-
-<tscreen><verb>
-[<言語>-]<名前>[[-]<オプション>]-<バージョン.番号>;
-</verb></tscreen>
-
- <tt>&dollar;{DISTNAME}</tt> が上記の形式になっていない場合に
- は, <tt>&dollar;{PKGNAME}</tt> をそのようにしてください.
-
- <enum>
- <item>FreeBSDはユーザの慣れ親しんだ言語のサポートに力を入れて
- います. 特定の言語のためのportのpackage名には
- `&lt;言語&gt;' に言語名の略称を入れてください. 例えば, 日本
- 語なら `jp', ロシア語なら `ru' といった具合です.
-
- <item>`<tt>&lt;名前&gt;</tt>' の部分は原則的にはすべて英小文字
- を使います. 例外はたくさんのプログラムが入っている巨大なport
- の場合で, XFree86 (ほんとにあるんですよ) やImageMagickな
- どがこれにあたります. そうでない場合には, 名前の大文字を小文
- 字に (少なくとも最初の一字だけは) 変えてください. また, その
- ソフトウェアの名前として通常使われるものに番号, ハイフン, あ
- るいは下線が入っている場合には, それらを使うことも構いません
- (`kinput2' など).
-
- <item>コンパイル時に環境変数や<tt>make</tt>の引数などでいくつ
- か別のオプションをつけてコンパイルできる場合,
- `&lt;compiled.specifics&gt;' にそのオプションを入れてくださ
- い (ハイフンはあってもなくてもかまいません). 用紙のサイズ,
- あるいはフォントの解像度などがこれにあたります.
-
- <item>バージョン番号は数字とアルファベットからなり, ピリオド
- (.) で区切ります. アルファベットは二文字以上続けてはいけませ
- ん. ただ一つの例外は「パッチレベル」を意味する `pl' で, それ
- 以外にバージョン番号がまったくついていない場合にのみ使うことがで
- きます.
- </enum>
-
- <p>では, <tt>&dollar;{DISTNAME}</tt>を正しい
- <tt>&dollar;{PKGNAME}</tt>に直す例を見てみましょう:
-
-<tscreen><verb>
-DISTNAME PKGNAME 理由
-mule-2.2.2 mule-2.2.2 まったく問題なし
-XFree86-3.1.2 XFree86-3.1.2 同上
-EmiClock-1.0.2 emiclock-1.0.2 プログラム一つだけの時は小文字のみ
-gmod1.4 gmod-1.4 `<名前>' のあとにハイフンが必要
-xmris.4.02 xmris-4.02 同上
-rdist-1.3alpha rdist-1.3a `alpha'のような文字列は使えない
-es-0.9-beta1 es-0.9b1 同上
-v3.3beta021.src tiff-3.3 なんなんでしょう ;)
-tvtwm tvtwm-pl11 バージョン番号は必ず必要
-piewm piewm-1.0 同上
-xvgr-2.10pl1 xvgr-2.10.1 `pl' が使えるのは他にバージョン番号がない場合のみ
-gawk-2.15.6 jp-gawk-2.15.6 日本語バージョン
-psutils-1.13 psutils-letter-1.13 コンパイル時に用紙のサイズを指定
-pkfonts pkfonts300-1.0 300dpiフォント用のpackage
-</verb></tscreen>
-
- <p>オリジナルのソースにまったくバージョン情報が見当たらず, また原作
- 者が新しいバージョンをリリースする可能性が低いときには, バージョ
- ン番号として `1.0' を使えばいいでしょう (上記のpiewmの例がこ
- れにあたります). そうでない場合には, 原作者に聞くか, 日付 (`年.
- 月.日') を使うなどしてください.
-
- <sect2>
- <heading>やっとおしまい!</heading>
-
- <p>いやはや, 長い文章ですみません. ここまで読んでくださった方に
- は感謝, 感謝でございます. <tt>(_ _)</tt>
-
- <p>さあ, portの作り方がわかったところで, 世界中のソフトウェア
- をport化しましょう. FreeBSDプロジェクトに貢献するには, それ
- がもっとも簡単な方法です! <tt>:)</tt>
diff --git a/share/doc/ja_JP.EUC/handbook/ports.sgml b/share/doc/ja_JP.EUC/handbook/ports.sgml
deleted file mode 100644
index bbf2551..0000000
--- a/share/doc/ja_JP.EUC/handbook/ports.sgml
+++ /dev/null
@@ -1,862 +0,0 @@
-<!-- $Id: ports.sgml,v 1.8 1997/03/10 01:09:48 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.25 -->
-
-<chapt><heading>アプリケーションのインストール : ports コレクション <label id="ports"></heading>
-
-<p><em>原作: &a.jraynard;.</em>
-<p><em>訳: &a.masaki;, &a.saeki;.<newline>
-11 November 1996.</em>
-
-FreeBSD の ports コレクションを利用すると, 最小限の労力で
-非常に幅広くのアプリケーションのコンパイルとインストールがおこなえます.
-
-<p> やってみたことのある方はよくご存知でしょうが, オープンな規格とは
-全くの誇大広告であって, あるプログラムを異なるバージョンの Unix 上で
-動作させることは退屈で手間のかかる仕事です.
-求めているプログラムが自分のシステムでうまくコンパイルでき,
-正しいところにインストールできて, 完璧に動作するとしたらとてもラッキーです.
-しかし, あいにくこれは滅多にないことなのです.
-ほとんどのプログラムについて, あなたは髪を掻きむしることになるでしょうし,
-かなりのプログラムでは, 白髪混じりの頭になってしまったり, あるいは慢性の
-脱毛症にすら なってしまうかもしれません...
-
-<p> いくつかのソフトウェアディストリビューションでは, 設定用のスクリプトを
-配布することでこの問題を解決しようとしています.
-これらのスクリプトの中には非常に精巧なものもありますが, 残念ながら,
-中にはこれまで聞いたこともないようなシステムの名前をしゃあしゃあと
-言い放ったうえに, まるでシステムレベルの Unix プログラミングに関する
-最終試験のような, たくさんの質問をしてくる場合があります.
- (例えば, 「このシステムの gethitlist 関数は fromboz への const ポインタを
-返しますか? それとも const fromboz へのポインタを返しますか?」,
-「このシステムには Foonix スタイルの, 容認できない例外処理をおこなう
-ルーチンがありますか? もしもないとしたら, それはなぜですか?」)
-
-<p> 幸いなことに, ports コレクションがあれば, これらのきつい作業はすべて
-完了しています. 'make install' とタイプするだけで, 動作するプログラムを
-入手することができるのです.
-
-<sect><heading> なぜ ports コレクションを作ったのか?</heading>
-
-<p>FreeBSD の基本システムは, 非常に多くのツールやユーティリティから
-構成されています. しかし, よく使われるプログラムのうち多くのものが,
-この基本システムには含まれていません. その理由は:-
-
-<enum>
-<item> 「私は x と y と z のプログラムがシステムにないと生きていけない」と
-いう類のプログラム (例えば Lisp ベースのエディタや DOS フロッピーを扱うための
-mtools など) は, 人によって全然違うから. (Emacs に我慢ならないという人や,
-DOS フロッピーをまったく使わないという人も大勢いるのです. そういう人は
-Emacs や mtools が基本システムに含まれていなくても何の問題もないでしょう.)
-
-<item> 基本システムに組み込むには特殊すぎるから. (CAD やデータベースなど)
-
-<item> 「時間があったら, ちょっと見てみようかな」というような類の,
-それがシステムに含まれていないことが致命的とは言えないプログラムだから.
- (おそらく, 何らかの言語などでしょう.)
-
-<item>お楽しみのためのプログラムは, FreeBSD のような真面目な
-オペレーティングシステムといっしょに配布するべきではないから. ;-)
-
-<item> たくさんのプログラムを基本システムに組み込んだとしても, もっともっと
-組み込みたいという要求が出てくるので, どこかで制限を引かなくてはならないため.
- (そうしなければ FreeBSD の配布物は, とてつもなく膨大になってしまうでしょう.)
-</enum>
-
-<p> すべての人が自分のお気に入りのプログラムを手作業で移植しなければ
-ならないとしたら, (途方もない膨大な作業の繰り返しをさておいたとしても)
-それは明らかに不合理な話です.
-そこで, FreeBSD プロジェクトでは, 標準のツールを使って移植のプロセスを
-自動化する巧妙な方法を考え出しました.
-
-<p> なお, これは単純ながら非常に柔軟なツールを組み合わせることで,
-非常に強力な働きをさせるという「Unix 流」の作業の優れた実例です.
-
-<sect><heading>ports コレクションはどのように動くのでしょうか?</heading>
-<p>
-インターネットでは通常, <ref id="ports:tarball" name="tarball"> の形で
-プログラムが配布されています. これは, Makefile とソースコードで構成され,
-普通は何らかの説明書 (あいにく, いつもわかりやすく書かれているとは
-限りませんが) が付属しています.
-ことによるとコンフィグレーションスクリプトも含まれているかもしれません.
-<p>
-標準的な手順では, FTP で tarball を入手して, 適当なディレクトリで展開します.
-次に説明書を読んで, 必要な変更をおこないます. そして, 設定スクリプトを実行し,
-標準の make コマンドを使ってソースのコンパイルとインストールをおこないます.
-<p>
-FreeBSD の ports も tarball の仕組みを利用していますが, これはユーザが
-苦労して作業することを期待したものではなく, どのようにすれば FreeBSD 上で
-そのプログラムが動くようになるかという「ノウハウ」を <ref id="ports:skeleton"
-name="スケルトン"> を使用して収めているものです.
-スケルトンは, カスタマイズ済みの <ref id="ports:makefile" name="Makefile"> も
-提供していますので, ほとんどすべての ports は同じ手順でインストールすることが
-できます.
-<p>
-もしあなたが (<htmlurl url="file://localhost/usr/ports/shells/bash"
-name="あなたの FreeBSD システム"> または
-<htmlurl url="ftp://ftp.freebsd.org/pub/FreeBSD/ports/shells/bash"
-name="FTP サイト"> にある) ports スケルトンを見ていて, そこに潜んでいる
-あらゆる種類の先端的なロケット工学的なものを見つけられると期待していると,
-つまらなそうなファイルやディレクトリがそこにあるだけなのを見て,
-がっかりするかもしれません.
- (ports を手に入れる方法については, すぐに <ref id="ports:getting"
-name="FreeBSD ports コレクションの入手方法"> の節でお話します.)
-
-<p>「一体どうしたらいいんだ? ここにはソースコードが全然ないじゃないか?」
-というあなたの叫びが聞こえるようです.
-
-<p> 心配いりません. おとなしく読んでいけば, すべてが (たぶん) 明らかに
-なるでしょう.
-試しに ports をインストールして, 何が起きるのかを見てみましょう.
-かなり典型的な例だと思いますので, ここでは `bash' (Bourne-Again Shell として
-知られています) を選びます.
-
-<em>Note</em> 自宅で試してみる場合には, root になる必要があるでしょう.
-
-<verb>
- # cd /usr/ports/shells/bash
- # make install
- Checksums OK.
- ===> Extracting for bash-1.14.5
- ===> Patching for bash-1.14.5
- ===> Applying FreeBSD patches for bash-1.14.5
- ===> Configuring for bash-1.14.5
- ===> Building for bash-1.14.5
- [とてもとても大量のメッセージをコンパイラが出力します...]
- ===> Installing for bash-1.14.5
- make -f bash-Makefile bindir=/usr/local/bin prefix=/usr/local install
- (cd ./documentation/; make )
- rm -f builtins.txt
- nroff -man builtins.1 > builtins.txt
- install -c -o bin -g bin -m 555 bash /usr/local/bin/bash
- install -c -o bin -g bin -m 555 bashbug /usr/local/bin/bashbug
- ( cd ./documentation/ ; make mandir=/usr/local/man/man1 man3dir=/usr/local/man/man3
-infodir=/usr/local/info install )
- [ -d /usr/local/man/man1 ] || mkdir /usr/local/man/man1
- [ -d /usr/local/info ] || mkdir /usr/local/info
- ../support/install.sh -c -m 644 bash.1 /usr/local/man/man1
- ../support/install.sh -c -m 644 builtins.1 /usr/local/man/man1/bash_builtins.1
- ../support/install.sh -c -m 644 features.info /usr/local/info/bash.info
- gzip -9nf /usr/local/man/man1/bash.1 /usr/local/man/man1/bash_builtins.1
- ===> Registering installation for bash-1.14.5
-</verb>
-
-<p> ここではあなたが混乱しないように, コンパイル時とインストール時の出力を
-多少省略してあります. もしもあなた自身で実行されたら, 最初にこのような
-出力結果を得るはずです:-
-
-<label id="ports:fetch">
-<verb>
- >> bash-1.14.5.tar.gz doesn't seem to exist on this system.
- >> Attempting to fetch from ftp://slc2.ins.cwru.edu/pub/dist/.
-</verb>
-
-<p> `make' プログラムは, あなたの手元にソースコードがないことを検出し,
-処理を続けられるようにソースを FTP でダウンロードしようとします.
- (結構すごいとは思いませんか? 8-))
-この例では, あらかじめ手動でソースコードを用意してあったので,
-持ってくる必要はありませんでした.
-
-<p> では, 続けて `make' プログラムが何をしているのか見てみましょう.
-
-<enum>
-<item> ソースコード <ref id="ports:tarball" name="tarball"> のありかを
-確認します.
-手元にファイルが存在しなければ, FTP サイトから入手しようとします.
-
-<item><ref id="ports:checksum" name="チェックサム"> テストを実行して,
-その tarball が事故か何かで途中で切れていたり, 転送中にニュートリノに
-よって傷められたりして改変されたりしていないかどうかを確認します.
-
-<item>tarball を一時的な作業用ディレクトリに展開します.
-
-<item>FreeBSD 上でコンパイルしたり, 動作させるのに必要な
-すべての <ref id="ports:patch" name="パッチ"> をソースコードに当てます.
-
-<item> 構築のために必要なコンフィグレーションスクリプトを実行します.
-コンフィグレーションスクリプトの質問には正確に答えてください.
-
-<item> (いよいよ!) ソースコードをコンパイルします.
-
-<item> 実行形式のプログラム, マニュアル, その他のサポートファイルを,
-システムのプログラムと混ざってしまわないように /usr/local 以下に
-インストールします. ports はすべて同じ場所にインストールされ,
-システムのあちこちにばらまかれることはありません.
-
-<item> インストール結果はデータベースに登録されます. これにより,
-インストールしたプログラムがもしも気に入らなかったときも, システムから
-すべての痕跡をきれいに <ref id="ports:remove" name="消去"> することができます.
-
-</enum>
-
-<p> 以上のステップが make の出力と一致するかどうか確認してください.
-今まで確認していなかったのなら, 今からするようにしてください!
-
-<sect<heading>FreeBSD ports コレクションの入手 <label id="ports:getting"></heading>
-<p>
-あるプログラムの FreeBSD port を入手するには二つの方法があります.
-ひとつは <ref id="ports:cd" name="FreeBSD CD-ROM"> を使う方法で,
-もうひとつは <ref id="ports:inet"name="インターネット接続"> を使う方法です.
-
-<sect1><heading>CD-ROM からコンパイルする <label id="ports:cd"></heading>
-<p>
-FreeBSD をインストールしたときに, ``Do you want to link the ports
-collection to your CDROM'' という質問に yes と答えていたら,
-初期設定は既に終わっています.
-<p>
-そうでない場合は, <em /FreeBSD/ CD-ROM がドライブに入っており,
-/cdrom にマウントされていることを確かめてください.
-そして次のコマンドを実行すると,
-
-<verb>
- # mkdir /usr/ports
- # cd /usr/ports
- # ln -s /cdrom/ports/distfiles distfiles
-</verb>
-
-ports の make メカニズムが tarball を見つけることができるようになります.
- (ports は /usr/ports/distfiles に tarball があることを期待していますので,
-そこから CD-ROM の tarball ディレクトリにシンボリックリンクを張ったのです.)
-<p>
-さて, データベースディレクトリから gnats プログラムをインストールしようと
-しているとします. 方法は次のとおりです:-
-
-<verb>
- # cd /usr/ports
- # mkdir databases
- # cp -R /cdrom/ports/databases/gnats databases
- # cd databases/gnats
- # make install
-</verb>
-
-もしもあなたがまじめなデータベースユーザであって, ports コレクションの中の
-すべてのデータベースを比較したいと思っているならば, 次のようにしてください.
-
-<verb>
- # cd /usr/ports
- # cp -R /cdrom/ports/databases .
- # cd databases
- # make install
-</verb>
-
- (cp コマンドの最後のドットはドットそのものであって, もちろんタイプミスでは
-ありません. Unix でドットは現在自分自身がいるカレントディレクトリを
-意味しています.)
-<p>
-ports make メカニズムは, データベースディレクトリのすべての ports を
-自動的にコンパイルし, インストールをおこなってくれます.
-<p>
-この方法が気に入らない場合は, まったく違うやり方もあります:-
-<p>
-<em>XFree86</em> の配布に含まれる <tt>lndir(1)</tt> コマンドを使用して
-「リンクツリー」を作ります. ディスクの空き領域を見つけてディレクトリを作成し,
-そこにカレントディレクトリを移します. そして CD-ROM 上の ``ports''
-ディレクトリのフルパス名を最初の引数とし, . (カレントディレクトリ) を
-2 番目の引数として <tt>lndir(1)</tt> コマンドを実行します.
-これは例えば以下のようになるでしょう:
-<verb>
- lndir /cdrom/ports .
-</verb>
-<p>そして, 作成したリンクツリーの中で ports を構築することで, CD-ROM から
-直接 ports を構築することができます.
-<p>
-ライセンスの制限により, いくつかの ports でオリジナルのソースコードを
-CD-ROM に入れることができなかったものがあることに注意してください. この場合,
-<ref id="ports:inet" name="インターネット経由で ports をコンパイルする"> の
-節を参照してください.
-
-<sect1><heading> インターネット経由で ports をコンパイルする <label id="ports:inet"></heading>
-<p>
-CD-ROM を持っていなかったり, その ports の最新バージョンを確実に入手したい
-場合は, その ports の <ref id="ports:skeleton" name="スケルトン"> を
-ダウンロードする必要があります.
-ところで, これは落し穴 (誤ってパッチを pkg サブディレクトリに
-ダウンロードしてしまうような失敗) が
-たくさんある作業に見えるかもしれませんが, 実際には非常に簡単です.
-<p>
-ここで鍵になるのは, FreeBSD の FTP サイトが
-その場で <ref id="ports:tarball" name="tarball"> を作成できるということです.
-どのように動作するのか, ここでは例として databases ディレクトリにある
-gnats プログラムを使って説明します. (角型かっこの中の文はコメントなので,
-実際に実行する場合には, これをタイプしないでください!):-
-
-<verb>
- # cd /usr/ports
- # mkdir databases
- # cd databases
- # ftp ftp.freebsd.org
- [ユーザ名 `ftp' でログインし, パスワードを要求されたら, あなたの電子メール
-アドレスを入力してください. バイナリモードを (イメージモードと呼ばれることも
-あります) 使うのをお忘れなく!]
- > cd /pub/FreeBSD/ports/databases
- > get gnats.tar.gz [gnats スケルトンの tarballs を取得]
- > quit
- # tar xzf gnats.tar.gz [gnats スケルトンの展開]
- # cd gnats
- # make install [gnats の構築とインストール]
-</verb>
-
-さて何が起きるでしょうか? FTP サイトにいつも通りに接続して, データベースの
-サブディレクトリに移動します. `get gnats.tar.gz' とコマンドを入力すると,
-FTP サイトでは gnats ディレクトリを <ref id="ports:tarball"
-name="tarball"> にして, 送信する前に圧縮までしてくれるのです.
-ですから, 圧縮をおこなわない場合よりも多少速く手に入ることでしょう.
-<p>
-gnats スケルトンを展開したら, gnats ディレクトリへ移動して ports を構築します.
-<ref id="ports:fetch" name="すでに"> 説明したように, make の過程で
-手元にソースコードがないことを検出すると, ソースコードを取得してから
-展開し, パッチ当てと構築をおこないます.
-<p>
-それでは, 少し冒険をしてみましょう. 一つの ports スケルトンを
-取得するかわりに, たとえば ports コレクションの中のデータベースの
-スケルトンをすべて, サブディレクトリ全体を取得してみましょう.
-やり方はほとんど同じです:-
-
-<verb>
- # cd /usr/ports
- # ftp ftp.freebsd.org
- [ユーザ名 `ftp' でログインし, パスワードを要求されたら, あなたの電子メール
-アドレスを入力してください. バイナリモードを (イメージモードと呼ばれることも
-あります) 使うのをお忘れなく!]
- > cd /pub/FreeBSD/ports
- > get databases.tar.gz [データベースディレクトリの tarballs を取得]
- > quit
- # tar xzf databases.tar.gz [すべてのスケルトンを展開]
- # cd databases
- # make install [データベース ports 全部の構築とインストール]
-</verb>
-
-わずかばかりの簡単なコマンドで, この FreeBSD マシン上にデータベース
-プログラムを一揃い手に入れてしまいました! 一つの ports スケルトンを取ってきて
-それを構築する場合との違いは, すべてのディレクトリを一度に取得して,
-全部を一度にコンパイルしたということだけです. かなり感動的だと思いませんか?
-<p>
-もし一つや二つの ports だけでなく, もっと多くの ports をインストールする
-つもりなら, おそらくすべての ports ディレクトリをダウンロードしておく
-価値があるでしょう. これは, 圧縮されていれば 2〜3 MB 程度の大きさです.
-しかし, distfiles ディレクトリの下にあるファイルも一緒にダウンロードする
-つもりがないのなら, 調子に乗って `get ports.tar.gz' とタイプしてはいけません.
-distfiles ディレクトリには, ほとんどすべての ports のソースコードが
-置かれているので, すべてをダウンロードするには非常に長い時間がかかるでしょう!
-
-<sect><heading> スケルトン <label id="ports:skeleton"></heading>
-<p>
-スケルトン (訳注: skeleton とは骸骨のことです) とは, 締め切りを守るため,
-食事をするのを忘れるほど仕事にのめり込んだハッカーたちのなれの果ての
-ことでしょうか? FreeBSD の屋根裏に潜む, なにか気持ちの悪いものでしょうか?
-いいえ, ここでスケルトンの意味するところは, ports の魔術を実現するのに
-必要とされるすべてのものを提供する最小の骨組みのことです.
-
-<sect1><heading>Makefile<label id="ports:makefile"></heading>
-<p>
-スケルトンのもっとも重要な要素は Makefile です. Makefile は ports を
-どのようにコンパイルし, インストールをおこなうかを指示する
-いろいろな命令を含んでいます. 以下に bash の Makefile を示します:-
-
-<verb>
- # New ports collection makefile for: bash
- # Version required: 1.14.5
- # Date created: 21 August 1994
- # Whom: jkh
- #
- # Makefile,v 1.13 1995/10/04 14:45:01 asami Exp
- #
-
- DISTNAME= bash-1.14.5
- CATEGORIES= shells
- MASTER_SITES= ftp://slc2.ins.cwru.edu/pub/dist/
-
- MAINTAINER= ache@FreeBSD.ORG
-
- post-install:
- .if !defined(NOMANCOMPRESS)
- gzip -9nf ${PREFIX}/man/man1/bash.1 ${PREFIX}/man/man1/bash_builtins.1
- .endif
-
- .include &lt;bsd.port.mk>
-</verb>
-
-&quot;#&quot; で始まる行は, 人間のためのコメント行です.
- (ほとんどの Unix のスクリプトと同じですね.)
-<p>
-`DISTNAME&quot; は <ref id="ports:tarball" name="tarball">
-の名前から拡張子を取ったものです.
-<p>
-`CATEGORIES&quot; はこのプログラムの種類を示します.
-<p>
-`MASTER_SITES&quot; はマスタ FTP サイトの URL です. もしローカルシステムに
-<ref id="ports:tarball" name="tarball"> がない場合には, ここから取得します.
-これは信頼できると考えられているサイトで, 通常はそのプログラムを
-インターネット上で公式に配布しているサイトです.
- (そのソフトウェアがインターネット上で「公式に」配布されているとしたら)
-<p>
-`MAINTAINER&quot; は, 例えば新しいバージョンのプログラムが出た場合に,
-必要であればスケルトンの更新をおこなう保守担当者の電子メールアドレスです.
- (注: 「保守担当者」というのは, スケルトンの管理者という意味であって,
-プログラムのサポートをおこなう責任は <em /負っていません/.
-もし <ref id="ports:kaput" name="ports の不具合"> を見つけた場合には,
-電子メールは &a.ports; に送ってください.
-保守担当者には <em /送らないで/ ください. よろしく!)
-<p>
-次の数行はとりあえず飛ばします.
-<verb>
- .include <bsd.port.mk>
-</verb>
-この行は, この ports に必要なその他の命令やコマンドは `bsd.port.mk&quot; に
-入っているということです. すべての ports で同じものなので, すべての Makefile に
-書いておく必要はありません. そのため単一の標準ファイルにまとめられています.
-<p>
-ここでは Makefile がどう働くかを詳細に調査するのが目的ではありませんので,
-`post-install&quot; で始まる行は, bsd.port.mk に書かれている, プログラムを
-インストールした後での処理を置き換えていて, 最終的な場所に man ページを
-置いた後で圧縮するように指示している, と言っておくだけで充分でしょう.
-
-<sect1><heading>files ディレクトリ </heading>
-<p>
-ports のチェックサム算出には MD5 アルゴリズムを使用しているので,
-この <ref id="ports:checksum" name="チェックサム"> を含んでいる
-ファイルは &quot;md5&quot; と呼ばれます.
-ちょっと混乱するかもしれませんが, このファイルは &quot;files&quot; という
-名前のディレクトリに置かれています.
-<p>
-このディレクトリは, ports に必要だけれども, 他のどこにも属さない
-雑多なファイルも含んでいます.
-
-<sect1><heading>patches ディレクトリ </heading>
-<p>
-このディレクトリには, FreeBSD ですべてを正常に動作させるのに
-必要な <ref id="ports:patch" name="パッチ"> が含まれています.
-
-<sect1><heading>pkg ディレクトリ </heading>
-<p>
-このディレクトリには, 非常に役立つ三つのファイルが含まれています:-
-<itemize>
-<item>
-COMMENT - プログラムについての 1 行の説明.
-
-<item>
-DESCR - より詳細な説明.
-
-<item>
-PLIST - プログラムのインストール時に作成される, すべてのファイルのリスト.
-</itemize>
-
-<sect><heading> あれ? 動かない!?<label id="ports:kaput"></heading>
-
-<p>おやおや. では, 次の四つのどれかをやってみてください:
-
-<enum>
-<item> 自分で修正する. 技術的な詳細については,
- <ref id="porting" name="アプリケーションの移殖方法">をご覧ください.
-
-<item> 苦情をいう. これは電子メールで * だけ * にしてください!
- Walnut Creekの人たちは, FreeBSD システムの機能 (あるいは欠陥) について,
- いっさい責任がありません.
- ほとんどサードパーティの貢献による ports システムなどは特にそうです.
- (これが信じられないならば, Walnut Creek のカタログをチェックしてください.
- 「このプロダクトに関するテクニカルサポートを提供することができません」と
- 明記してあります.)
-
- 電子メールのアドレスは &a.ports; です. あなたがどこから ports の
- ソースコードや配布ファイルを入手したのか, どんなエラーが発生したのかなど,
- 詳細を記述してください.
-
- 注: 執筆当時, lang/Sather は Pentium マシンでは, Intel の呪い
- (別名, 浮動小数点除算バグ) のために動作しません. 私たちは
- これについては関知しません. 苦情をいうなら Intel にどうぞ.
- これは彼らのバグなのですから!
-
-<item> 忘れてしまう. これはほとんどの場合最も簡単な方法です.
- ports のプログラムのうち必要不可欠な物はごくわずかです.
-
-<item> FTP サイトからコンパイル済みのパッケージを入手する.
- マスターパッケージコレクションは FreeBSD の FTP サイトの
- <htmlurl url="ftp://ftp.FreeBSD.org/pub/FreeBSD/packages/"
- name="パッケージディレクトリ"> に置いてありますが,
- まずあなたの近くのローカルミラーサイトを確認してください!
-
- ソースからコンパイルに挑戦するよりパッケージを使ったほうが,
- (ほとんど全部が) ずっと確実に動作するでしょうし,
- より手っ取り早い方法でもあります.
- プログラムをシステムにインストールするには, <tt>pkg_add(1)</tt>
-を使ってください.
-
-</enum>
-
-<sect><heading>ports 化したいプログラムがあるのですが...</heading>
-
-<p> すばらしい!具体的なやり方については
-<ref id="porting:starting" name="ガイドライン"> に, 詳細な手順がありますので
-ご覧ください.
-
-<sect><heading> 質問と回答集 </heading>
-<p>
-<itemize>
-<item>
-Q. 私はモデムについての議論をしているのかと思っていました??!
-<p>
-A.なるほど, あなたはきっとコンピュータの背面についている
-シリアルポートのことだと思ってしまったのでしょう.
-あるバージョンの Unixから別のバージョンの Unix へとプログラムを
-移殖することを `porting' というのですが, ここで我たちは `porting' の結果
-という意味で `port' を使っています.
-(コンピュータに関わる人々の悪しき習慣として, ひとつの同じ言葉を複数の
-まったく違う意味として使うことがあるのです.)
-
-<item>
-Q. 私は, 標準以外のプログラムのインストールには packages を使うと
-思っていたのですが.
-<p>
-A. そのとおり. 通常は packages が最も手早くて簡単な方法です.
-
-<item>
-Q. それではどうして面倒な ports があるのですか?
-<p>
-A. いくつかの理由があります:-
-
-<enum>
-<item> いくつかのソフトウェアのライセンス条件には,
-バイナリではなくソースコードでの配布を求めているものがあります.
-
-<item> バイナリ配布を信用していない人もいます. 少なくともソースコード
-があれば, ソースコードを読んで, (理論的には) 潜在的な問題点を自分で
-見つけ出すこともできるはずです.
-
-<item> ローカルなパッチを入手した場合, それを自分で追加するために
-ソースコードが必要になります.
-
-<item> プログラムがいかにコンパイルされるべきかについて,
-あなたはパッケージを作った人とは異なる見解を持っているかもしれません.
-どんな最適化オプションをつけるべきかとか, デバッグバージョンを作ってから
-それを strip するべきだとか, いや, そうするべきでない, などなど,
-確固たる見解を持っている人もいるでしょう.
-
-<item> ソースコードを手元に置いておきたい人たちもいます.
-彼らは, 退屈したときに眺めたり, あちこち解析してみたり, ソースコードを
-借用したり (もちろん, ライセンスが許せばの話ですが) するのです.
-
-<item> あなたがソースコードを持っていなければ, それはソフトウェアとは
-言えませんね! ;-)
-</enum>
-
-<item><label id="ports:patch">
-Q. パッチとは何ですか?
-<p>
-A. パッチとは, あるバージョンから他のバージョンへどのように変更するかを
-示す, (通常は) 小さなファイルです. 「23 行目を削除」, 「468 行目の後に
-これらの 2 行を追加」, または「197 行目をこのように変更」というような
-内容を含んでいます.
-これは, `diff' という名前のプログラムで生成されます.
-
-<item><label id="ports:tarball">
-Q. tarball とは一体何ですか?
-<p>
-A. .tar.gz という拡張子を持つファイルです. ( .tar.Z のようなバリエーションも
-ありますし, DOS のファイルシステム用に .tgz と短縮される場合もあります.)
-<p>
-これは基本的に, 一つのファイルに固めて (.tar) 圧縮した (.gz) ディレクトリ
-ツリーです.
-これは元々 <em /T/ape <em /AR/chives (訳注: テープアーカイブ)
- (このため `tar' という名前なのです) で使われていたものなのですが,
-インターネット上でプログラムのソースコードを配布するために
-広く使われている方法です.
-<p>
-これらのファイルの中身を見たり, 展開したりすることもできます.
-FreeBSD の基本システムに付属する Unix 標準の tar コマンドを使ってみると
-次のようになります:-
-
-<verb>
- tar tvzf foobar.tar.gz # foobar.tar.gz の内容を見る
- tar xzvf foobar.tar.gz # カレントディレクトリに内容を展開する
-</verb>
-
-<item><label id="ports:checksum">
-Q. チェックサムとは何ですか?
-<p>
-A. これは, チェックしたいファイル中のすべてのデータを加えて生成した
-数値です. 何か文字が書き換わっていたら, チェックサムが一致しなくなります.
-そのため, 単純な比較だけで違いを見つけることができるのです.
- (実際には, 文字の位置が入れ替わるなどの, 単純な加算ではわからない問題も
-見つけることができる複雑な方法で計算されています.)
-
-<item>
-Q. 私は, <ref id="ports:cd" name="CD-ROM から ports をコンパイルする">
-にしたがって ports をインストールしていました.
-kermit をインストールしようとするまではうまくいっていました:-
-
-<verb>
- # make install
- >> cku190.tar.gz doesn't seem to exist on this system.
- >> Attempting to fetch from ftp://kermit.columbia.edu/kermit/archives/.
-</verb>
-
-なぜ cku190.tar.gz が見つからないのでしょうか?
-不良品の CD-ROM を買ってしまったのでしょうか?
-<p>
-A. Kermit の権利を持つチームは, 私たちの CDROM に kermit の tarball を
-入れることを許可しませんでした. 申し分けありませんが, 手動でファイルを
-入手してください.
-このようなエラーメッセージが出たのは, あなたがそのときインターネットに
-接続していなかったためです. あらかじめ上記のサイトのいずれかからファイルを
-ダウンロードしておけば, プロセスを再開することができます.
- (ダウンロードの際には, あなたに最も近いサイトを選ぶようにしてください.
-そうすれば, 時間とインターネットの帯域の節約になります)
-
-<item>
-Q. kermit の tarball を入手しましたが, /usr/ports/distfiles に
-ファイルを置こうとすると, 書き込み権がないというエラーがでます.
-<p>
-A. ports のしくみは /usr/ports/distfiles から tarball を探します.
-しかし, これは read-only の CD-ROM へのシンボリックリンクなので,
-ここにファイルを置くことはできません.
-次のようにすれば, 他の場所を探すよう ports に指示することができます.
-<verb>
- DISTDIR=/where/you/put/it make install
-</verb>
-
-<item>
-Q. ports では, すべてを /usr/ports に置いたときだけ動作するのでしょうか?
-システムの管理者によると, 私の個人的なファイルは
-/u/people/guests/wurzburger に入れなければならないのですが,
-これでは うまくいかないように思います.
-<p>
-A. PORTSDIR 変数と PREFIX 変数を変更することで, 違うディレクトリを
-使用することができます. 例えば,
-
-<verb>
- PORTSDIR=/u/people/guests/wurzburger/ports make install
-</verb>
-
-とすると, ports は /u/people/guests/wurzburger/ports でコンパイルされ,
-すべて /usr/local 以下にインストールされます.
-
-<verb>
- PREFIX=/u/people/guests/wurzburger/local make install
-</verb>
-
-この場合, コンパイルは /usr/ports でおこない,
-/u/people/guests/wurzburger/local にインストールします.
-もちろん, 以下のように両者を組み合わせることも可能です.
-
-<verb>
- PORTSDIR=.../ports PREFIX=.../local make install
-</verb>
-
- (省略せずに記述したら, このページに収めるには長すぎるのですが,
-考え方は理解していただけたと思います)
-<p>
-もし ports をインストールするたびに, これらを毎回タイプするのが
-気に入らないのであれば, (正直に言って, 誰もそう思わないでしょう)
-これらを環境変数にセットしてしまうという手があります.
-
-<item>
-Q. 私は, FreeBSD の CD-ROM を持っていませんが, 私はすべての tarball を
-私のシステムに置いておきたいのです. そうすれば, 私は ports をインストール
-するたびに, 毎回ダウンロードが終わるのを待たなくてすむでしょう.
-これを一度におこなう簡単な方法はありませんか?
-
-<p>
-A. ports コレクション全体の tarball を持ってくるには, 次のようにしてください.
-
-<verb>
- # cd /usr/ports
- # make fetch
-</verb>
-
-ports の下のディレクトリひとつの tarball を持ってくるには, 次のように
-してください.
-
-<verb>
- # cd /usr/ports/directory
- # make fetch
-</verb>
-
-ports をひとつだけ持ってくる方法は, きっと既にご存知だと思います.
-
-<item>
-Q. マスタ FTP サイトから tarball を持ってくるより, 近くにある FreeBSD の
-ミラーサイトから持ってきた方が速いはずです. MASTER_SITES に書かれている
-サイト以外から持ってくるように ports に指示する方法はありませんか?
-<p>
-A. もちろんあります. 例えば ftp.FreeBSD.ORG が MASTER_SITES に書かれている
-サイトより近いとしたら, 以下のようにしてください.
-<verb>
- # cd /usr/ports/directory
- # make MASTER_SITE_OVERRIDE=ftp://ftp.FreeBSD.ORG/pub/FreeBSD/distfiles/ fetch
-</verb>
-
-<item>
-Q. ダウンロードをする前に, どんなファイルが必要なのか知りたいのですが.
-<p>
-A. 'make fetch-list' とすると, ports に必要なファイルの一覧を表示できます.
-
-<item>
-Q. ports のコンパイルを途中で止める方法はありますか?
-私はインストールをする前にいろいろとソースコードを解析したいのですが,
-毎回 control-C を打たなければならないのが少し面倒です.
-<p>
-A. 'make extract' を実行すると, ファイル転送とソースコードの展開まで
-おこなったところで停止します.
-
-<item>
-Q. 自分で ports を作ろうとしています. 私の作ったパッチが
-正しく処理できることを確認できるように, コンパイルを止めたいのです.
-パッチのための 'make extract' のようなものはありませんか?
-<p>
-A. あります. 'make patch' があなたのお望みのものです.
-ところで, あなたの努力に感謝いたします!!
-
-<item>
-Q. あるコンパイルオプションはバグの原因になるという話を聞きました.
-本当なのでしょうか? どうやったら正しい設定で ports をコンパイルできますか?
-<p>
-A. 本当です. gcc の バージョン 2.6.3 (FreeBSDの 2.1.0 と 2.1.5 に付属している
-バージョン) では, -O2 オプションを -fno-strength-reduce オプションなしで
-使うと, バグのあるコードを出力します (ほとんどの ports は -O2 オプションを
-使いません). コンバイラオプションは次のように定義 <em/ すべき / です.
-
-<verb>
- # CFLAGS='-O2 -fno-strength-reduce' make install
-</verb>
-
-/etc/make.conf を編集することもできますが, すべての場合でこれが反映される
-訳ではありません. もっとも確実なのは 'make configure' を実行し,
-ソースディレクトリの Makefile を見て手で修整することですが, ソースが
-多くのサブディレクトリにわかれていて, 各々に Makefile がある場合は
-大変な仕事になります.
-
-<item>
-Q. ports がたくさんありすぎて, 私の欲しいものがなかなか見つけられません.
-どんな ports が使えるのか, リストはどこかにありませんか?
-<p>
-A. INDEX ファイルは /usr/ports の中にあります.
-
-<item>
-Q. 'foo' ports をインストールしたいのですが, それはすぐに停止して,
-'bar' ports のコンパイルが始まってしまいます. 一体どうして?
-<p>
-A. 'foo' ports が, 'bar' ports の提供する何らかの機能を必要としているからです.
-例えば 'foo' が画像を使うとすると, 'bar' は画像処理に必要な
-ライブラリを持っている, などです.
-または, 'bar' は 'foo' をコンパイルするのに必要なツールなのかもしれません.
-
-<item><label id="ports:remove">
-Q. ports から grizzle プログラムをインストールしましたが, まったく
-ディスクスペースの浪費です. 削除したいのですが, すべてのファイルが
-どこへインストールされたのかわかりません. 何か手がかりはありませんか?
-<p>
-A. 大丈夫, 次のようにしてください.
-
-<verb>
- pkg_delete grizzle-6.5
-</verb>
-<item>
-
-Q. ちょっと待ってください. 削除しようとするコマンドのバージョン番号を
-知っていなくてはならないのでしょうか? あなたは, 私がバージョン番号を
-覚えていることを本気で当てにしているのでしょうか?
-<p>
-A. そんなことはありません. バージョン番号は次のようにすればわかります.
-
-<verb>
- pkg_info -a | grep grizzle
-</verb>
-
-そうすると次のように表示されます:-
-
-<verb>
- Information for grizzle-6.5:
- grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arcade game.
-</verb>
-
-<item>
-Q. ディスク容量のことなのですが, ports のディレクトリは非常に膨大な容量を
-使うように見えます. 残しておいた方がよいのでしょうか? 削除してしまっても
-よいのでしょうか?
-
-<p>
-A. はい. インストールが首尾よく終わり, もうソースコードが必要でないと思うなら,
-それらを残しておく理由はないでしょう. 一番よい方法は, 次の通りです.
-
-<verb>
- # cd /usr/ports
- # make clean
-</verb>
-
-これは, すべての ports のサブディレクトリを調べ,
-各 ports のスケルトン以外の削除をおこないます.
-
-<item>
-Q. これを試してみたのですが, tarball や ports で使われたファイルが
-distfiles ディレクトリに残っています. これも削除してしまっても大丈夫ですか?
-<p>
-A. はい. それを使った作業が終わったのであれば, 削除してしまっても大丈夫です.
-
-<item>
-Q. 私はとてもとてもたくさんのプログラムを楽しみたいのです.
-一度にすべての ports をインストールする方法はありませんか?
-<p>
-A. 次のようにしてください.
-
-<verb>
- # cd /usr/ports
- # make install
-</verb>
-
-<item>
-Q. やってみました. 時間がとてもかかるだろうと思ったので, そのまま実行を
-続けさせて, 私は寝ました. 翌朝コンピュータを見てみると, 三つ半の ports しか
-処理が終わっていませんでした. なにか悪かったのでしょうか?
-<p>
-A. これは ports の中には私たちの決められないこと (例えば, あなたが A4 の
-用紙に印刷したいのか, US レターサイズの用紙に印刷したいのかなど) について
-質問してくるものがあるからです. それらの質問には手動で答える必要があります.
-
-<item>
-Q. 私は一日中モニタの前に座って過ごしたりしたくないのですが.
-何かよいアイデアはありませんか?
-<p>
-A. では, あなたが寝に / 仕事に / 公園にいく前に以下を実行してください:-
-
-<verb>
- # cd /usr/ports
- # make -DBATCH install
-</verb>
-
-これでユーザの入力を要求しないすべての ports をインストールします.
-そして, 戻ってきてから, 次のように実行してください.
-
-<verb>
- # cd /usr/ports
- # make -DIS_INTERACTIVE install
-</verb>
-
-そして, 残りの作業を実行してください.
-
-<item>
-Q. 私たちは ports コレクションにある frobble を使っています.
-ですが, 私たちの必要に応じて ports を変更したところがあるのです.
-自分でパッケージを作って, それを私たちのサイトのまわりに
-簡単に配布できるような方法がありますか?
-<p>
-A. もちろんあります. 変更点をパッチにする方法は知っていますよね:-
-
-<verb>
- # cd /usr/ports/somewhere/frobble
- # make extract
- # cd work/frobble-2.8
- [あなたのパッチを当ててください]
- # cd ../..
- # make package
-</verb>
-
-<item>
-Q. この ports の技術は本当に賢いですね. どのようにして動いているのか
-私はどうしても知りたいと思います. その秘密は何ですか?
-<p>
-A. 秘密は一切ありません.
-<htmlurl url="file://localhost/usr/share/mk/" name="Makefiles ディレクトリ">
-にある bsd.ports.mk と bsd.ports.subdir.mk ファイルを見るだけです.
- (注: 複雑なシェルスクリプトを嫌う読者は, このリンクを追いかけないほうが
-よいでしょう.)
-</itemize>
diff --git a/share/doc/ja_JP.EUC/handbook/ppp.sgml b/share/doc/ja_JP.EUC/handbook/ppp.sgml
deleted file mode 100644
index da6e03c..0000000
--- a/share/doc/ja_JP.EUC/handbook/ppp.sgml
+++ /dev/null
@@ -1,429 +0,0 @@
-<!-- $Id: ppp.sgml,v 1.4 1997/02/22 13:01:41 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.10 -->
-
-<sect><heading>カーネル PPP の設定<label id="ppp"></heading>
-
-<p><em>原作: &a.gena;.</em>
-<p><em>訳: &a.graphite;.<newline>6 September 1996.</em>
-
-PPP の設定を始める前に, pppd が /usr/sbin にあり, また /etc/ppp という
-ディレクトリが存在することを確認してください.
-
-pppd はふたつのモードで動作します.
-<enum>
-<item> 「クライアント」モード. シリアル接続やモデムを利用して, そのマシンを
-外部のネットワークに PPP 接続したい場合に用います.
-
-<item> 「サーバ」モード. そのマシンがネットワーク上にあるときに, PPP を使って
-ほかのコンピュータを接続する際に用います.
-</enum>
-どちらの場合でも, オプションファイルを設定する必要があります
- (<tt>/etc/ppp/options</tt> または, そのマシン上で PPP を使用する人が
-複数いる場合には <tt>~/.ppprc</tt>).
-
-また, ダイヤルとリモートホストへの接続をおこなうために, シリアル接続やモデムを
-操作する, なんらかのソフトウェアが必要です (kermit が適しているでしょう).
-
-<sect1><heading>PPP クライアントとしての動作</heading>
-
-<p>私は, CISCO ターミナルサーバの PPP 回線に接続するために, 下記のような
- <tt>/etc/ppp/options</tt> を使用しています.
-<verb>
-crtscts # enable hardware flow control
-modem # modem control line
-noipdefault # remote PPP server must supply your IP address.
- # if the remote host doesn't send your IP during IPCP
- # negotiation , remove this option
-passive # wait for LCP packets
-domain ppp.foo.com # put your domain name here
-
-:<remote_ip> # put the IP of remote PPP host here
- # it will be used to route packets via PPP link
- # if you didn't specified the noipdefault option
- # change this line to <local_ip>:<remote_ip>
-
-defaultroute # put this if you want that PPP server will be your
- # default router
-</verb>
-
-接続方法:
-<enum>
-<item> kermit (またはその他のモデム操作プログラム) を使ってリモートホストに
-ダイヤルし, 接続してください. そして, あなたのユーザ名とパスワード (必要
-であれば, その他にもリモートホストで PPP を有効にするための操作) を入力
-します.
-
-<item> kermit を抜けてください. (回線を切断せずに)
-
-<item> 下記のように入力します:
-<verb>
-/usr/src/usr.sbin/pppd.new/pppd /dev/tty01 19200
-</verb>
-(通信速度とデバイス名には, あなたの環境に適したものを入れてください)
-</enum>
-
-これでこのコンピュータは PPP で接続されました. もし, なんらかの理由で
-接続に失敗したならば, <tt>/etc/ppp/options</tt> ファイルに "debug"
-オプションを追加して, 問題点を突き止めるために, コンソールに表示される
-メッセージを調べてください.
-
-下記の <tt>/etc/ppp/pppup</tt> スクリプトは, 上記の作業を
-すべて自動的におこないます:
-<verb>
-#!/bin/sh
-ps ax |grep pppd |grep -v grep
-pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing pppd, PID=' ${pid}
- kill ${pid}
-fi
-ps ax |grep kermit |grep -v grep
-pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing kermit, PID=' ${pid}
- kill -9 ${pid}
-fi
-
-ifconfig ppp0 down
-ifconfig ppp0 delete
-
-kermit -y /etc/ppp/kermit.dial
-pppd /dev/tty01 19200
-</verb>
-
-<tt>/etc/ppp/kermit.dial</tt> は kermit 用のスクリプトで, ダイヤルして,
-リモートホストでの認証に必要なすべての処理をおこないます.
-(そのようなスクリプトの例はこの文書の終わりに添付してあります)
-
-PPP 接続を切断するには, 下記のような <tt>/etc/ppp/pppdown</tt> スクリプトを
-使用します:
-<verb>
-#!/bin/sh
-pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
-if [ X${pid} != "X" ] ; then
- echo 'killing pppd, PID=' ${pid}
- kill -TERM ${pid}
-fi
-
-ps ax |grep kermit |grep -v grep
-pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing kermit, PID=' ${pid}
- kill -9 ${pid}
-fi
-
-/sbin/ifconfig ppp0 down
-/sbin/ifconfig ppp0 delete
-kermit -y /etc/ppp/kermit.hup
-/etc/ppp/ppptest
-</verb>
-
-PPP が動作中かどうかを調べます (<tt>/usr/etc/ppp/ppptest</tt>):
-<verb>
-#!/bin/sh
-pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'`
-if [ X${pid} != "X" ] ; then
- echo 'pppd running: PID=' ${pid-NONE}
-else
- echo 'No pppd running.'
-fi
-set -x
-netstat -n -I ppp0
-ifconfig ppp0
-</verb>
-
-モデム回線を切断します (<tt>/etc/ppp/kermit.hup</tt>):
-<verb>
-set line /dev/tty01 ; put your modem device here
-set speed 19200
-set file type binary
-set file names literal
-set win 8
-set rec pack 1024
-set send pack 1024
-set block 3
-set term bytesize 8
-set command bytesize 8
-set flow none
-
-pau 1
-out +++
-inp 5 OK
-out ATH0\13
-echo \13
-exit
-</verb>
-
-
-<p>次は <tt>kermit</tt> の代わりに <tt>chat</tt> を使う方法です.
-
-<em>原作: &a.rhuff;.</em>
-
-<p>pppd 接続を確立するためには, 次の二つのファイルの設定だけで十分です.
-
-<p><tt>/etc/ppp/options</tt>:
-<verb>
- /dev/cuaa1 115200
-
-crtscts # enable hardware flow control
-modem # modem control line
-connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
-noipdefault # remote PPP server must supply your IP address.
- # if the remote host doesn't send your IP during
- # IPCP negotiation, remove this option
-passive # wait for LCP packets
-domain <your.domain> # put your domain name here
-
-: # put the IP of remote PPP host here
- # it will be used to route packets via PPP link
- # if you didn't specified the noipdefault option
- # change this line to <local_ip>:<remote_ip>
-
-defaultroute # put this if you want that PPP server will be
- # your default router
-</verb>
-
-
-<p><tt>/etc/ppp/login.chat.script</tt>:
-
-(実際には一行になります.)
-
-<verb>
-ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number>
- CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <login-id>
- TIMEOUT 5 sword: <password>
-</verb>
-
-
-正しくインストールし編集した後は, 必要な事はこれだけです
-
-<p><tt>pppd</tt>.
-
-
-<em> このサンプルは主に Trev Roydhouse &lt;Trev.Roydhouse@f401.n711.z3.fidonet.org&gt;
-から寄せられた情報に基づいており, 承諾を得て使用しています.</em>
-
-
-<sect1><heading>PPP サーバとしての動作</heading>
-
-<p><tt>/etc/ppp/options</tt>:
-<verb>
-crtscts # Hardware flow control
-netmask 255.255.255.0 # netmask ( not required )
-192.114.208.20:192.114.208.165 # ip's of local and remote hosts
- # local ip must be different from one
- # you assigned to the ethernet ( or other )
- # interface on your machine.
- # remote IP is ip address that will be
- # assigned to the remote machine
-domain ppp.foo.com # your domain
-passive # wait for LCP
-modem # modem line
-</verb>
-
-下記のような <tt>/etc/ppp/pppserv</tt> スクリプトで, そのマシンを
-PPP サーバにすることができます.
-<verb>
-#!/bin/sh
-ps ax |grep pppd |grep -v grep
-pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing pppd, PID=' ${pid}
- kill ${pid}
-fi
-ps ax |grep kermit |grep -v grep
-pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing kermit, PID=' ${pid}
- kill -9 ${pid}
-fi
-
-# reset ppp interface
-ifconfig ppp0 down
-ifconfig ppp0 delete
-
-# enable autoanswer mode
-kermit -y /etc/ppp/kermit.ans
-
-# run ppp
-pppd /dev/tty01 19200
-</verb>
-
-PPP サーバを終了するには, この <tt>/etc/ppp/pppservdown</tt> スクリプト
-を使用します:
-<verb>
-#!/bin/sh
-ps ax |grep pppd |grep -v grep
-pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing pppd, PID=' ${pid}
- kill ${pid}
-fi
-ps ax |grep kermit |grep -v grep
-pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing kermit, PID=' ${pid}
- kill -9 ${pid}
-fi
-ifconfig ppp0 down
-ifconfig ppp0 delete
-
-kermit -y /etc/ppp/kermit.noans
-</verb>
-
-下記の kermit スクリプトは, モデムの自動応答機能を有効, または無効にします
-(<tt>/etc/ppp/kermit.ans</tt>):
-<verb>
-set line /dev/tty01
-set speed 19200
-set file type binary
-set file names literal
-set win 8
-set rec pack 1024
-set send pack 1024
-set block 3
-set term bytesize 8
-set command bytesize 8
-set flow none
-
-pau 1
-out +++
-inp 5 OK
-out ATH0\13
-inp 5 OK
-echo \13
-out ATS0=1\13 ; change this to out ATS0=0\13 if you want to disable
- ; autoanswer mode
-inp 5 OK
-echo \13
-exit
-</verb>
-
-この <tt>/etc/ppp/kermit.dial</tt> スクリプトは, リモートホストに
-ダイヤルし, 認証手続きをするのに使用します. あなたは必要に応じて, これを
-変更しないといけないでしょう. あなたのユーザ名とパスワードをこの
-スクリプトに書かなければいけませんし, モデムやリモートホストからの
-応答によっては, 入力待ちの文を変更する必要もあります.
-<verb>
-;
-; put the com line attached to the modem here:
-;
-set line /dev/tty01
-;
-; put the modem speed here:
-;
-set speed 19200
-set file type binary ; full 8 bit file xfer
-set file names literal
-set win 8
-set rec pack 1024
-set send pack 1024
-set block 3
-set term bytesize 8
-set command bytesize 8
-set flow none
-set modem hayes
-set dial hangup off
-set carrier auto ; Then SET CARRIER if necessary,
-set dial display on ; Then SET DIAL if necessary,
-set input echo on
-set input timeout proceed
-set input case ignore
-def \%x 0 ; login prompt counter
-goto slhup
-
-:slcmd ; put the modem in command mode
-echo Put the modem in command mode.
-clear ; Clear unread characters from input buffer
-pause 1
-output +++ ; hayes escape sequence
-input 1 OK\13\10 ; wait for OK
-if success goto slhup
-output \13
-pause 1
-output at\13
-input 1 OK\13\10
-if fail goto slcmd ; if modem doesn't answer OK, try again
-
-:slhup ; hang up the phone
-clear ; Clear unread characters from input buffer
-pause 1
-echo Hanging up the phone.
-output ath0\13 ; hayes command for on hook
-input 2 OK\13\10
-if fail goto slcmd ; if no OK answer, put modem in command mode
-
-:sldial ; dial the number
-pause 1
-echo Dialing.
-output atdt9,550311\13\10 ; put phone number here
-assign \%x 0 ; zero the time counter
-
-:look
-clear ; Clear unread characters from input buffer
-increment \%x ; Count the seconds
-input 1 {CONNECT }
-if success goto sllogin
-reinput 1 {NO CARRIER\13\10}
-if success goto sldial
-reinput 1 {NO DIALTONE\13\10}
-if success goto slnodial
-reinput 1 {\255}
-if success goto slhup
-reinput 1 {\127}
-if success goto slhup
-if < \%x 60 goto look
-else goto slhup
-
-:sllogin ; login
-assign \%x 0 ; zero the time counter
-pause 1
-echo Looking for login prompt.
-
-:slloop
-increment \%x ; Count the seconds
-clear ; Clear unread characters from input buffer
-output \13
-;
-; put your expected login prompt here:
-;
-input 1 {Username: }
-if success goto sluid
-reinput 1 {\255}
-if success goto slhup
-reinput 1 {\127}
-if success goto slhup
-if < \%x 10 goto slloop ; try 10 times to get a login prompt
-else goto slhup ; hang up and start again if 10 failures
-
-:sluid
-;
-; put your userid here:
-;
-output ppp-login\13
-input 1 {Password: }
-;
-; put your password here:
-;
-output ppp-password\13
-input 1 {Entering SLIP mode.}
-echo
-quit
-
-:slnodial
-echo \7No dialtone. Check the telephone line!\7
-exit 1
-
-; local variables:
-; mode: csh
-; comment-start: "; "
-; comment-start-skip: "; "
-; end:
-</verb>
-
-<!--
-###################################################################
-Gennady B. Sorokopud ( gena@NetVision.net.il ) 24/10/94 12:00
--->
-
diff --git a/share/doc/ja_JP.EUC/handbook/printing.sgml b/share/doc/ja_JP.EUC/handbook/printing.sgml
deleted file mode 100644
index 65e0180..0000000
--- a/share/doc/ja_JP.EUC/handbook/printing.sgml
+++ /dev/null
@@ -1,4179 +0,0 @@
-<!-- $Id: printing.sgml,v 1.9 1997/02/22 13:01:44 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.18 -->
-<!-- This is an SGML document in the linuxdoc DTD describing
- Printing with FreeBSD. By Sean Kelly, 1995.
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-
- <article>
- <title> FreeBSDでのプリンタの利用
- <author> Sean Kelly <tt/kelly@fsl.noaa.gov/
- <date> 30 September 1995, (c) 1995
-
- <abstract> 本ドキュメントは, FreeBSD でのプリンタの利用方法につ
- いて書かれたものです. プリンタ機器をセットアップする方法, プリン
- タを利用するために必要な FreeBSD での設定方法, プリンタキューの
- 制御方法や様々なファイル形式の印字方法について説明しています.
- </abstract>
-
- <toc>
--->
-
- <chapt><heading>プリンタの利用<label id="printing"></heading>
-
- <p><em>著者 &a.kelly;<newline>30 September 1995</em>
- <p><em>訳者 &a.kimura;<newline>3 September 1996</em>
-
- FreeBSD でプリンタを使用するためには, バークレイラインプリンタ
- スプーリングシステム (LPDスプーリングシステムとしても知られて
- います) が機能するようにプリンタをセットアップする必要がありま
- す. 本節では, LPDスプーリングシステム (大抵の場合, 単にLPDと呼
- ばれる) について紹介します.
-
- もし, LPDや他のプリンタスプーリングシステムについて既に詳しい
- 知識をお持ちの方は, 「<ref id="printing:intro:setup"
- name="スプーリングシステムのセットアップ">」から読み始めて
- も結構です.
-
-
- <sect><heading>スプーラは何をするか <label
- id="printing:intro:spooler"></heading>
-
- <p> LPDはあるホストのプリンタに関する制御の一切をおこないます. こ
- こで言う制御としては, 次のことが挙げられます.
-
- <itemize>
- <item> ホストに接続されたプリンタ, あるいはネットワーク
- 上の他ホストに接続されたプリンタに対するアクセスを制御しま
- す.
-
- <item> ファイルをプリントする要求に対して許可を与えます.
- この要求は特に <em/ジョブ/ と呼ばれています.
-
- <item> 各々のプリンタの <em/キュー/ を管理することにより,
- 複数のユーザがあるプリンタに対して同時にアクセスすることを
- 防ぎます.
-
- <item> <em/ヘッダページ/ (<em/バナー/ または <em/バースト/
- ページとしても知られています) をプリントすることができます.
- これにより, プリントアウトの山の中から自分がプリントしたジョ
- ブを見つけ易くなります.
-
- <item> シリアルポートに接続したプリンタ用に通信パラ
- メータを管理します.
-
- <item> ネットワーク経由で他のホスト上の, 別のLPDスプーラにジョ
- ブを送ることができます.
-
- <item> 様々なプリンタ言語やプリンタの能力に応じてジョブの
- 形式を整えるため, 特別なフィルタを起動することができます.
-
- <item> プリンタの使用に対して課金をおこなうことができます.
- </itemize>
-
- 設定ファイルを通して, また, 特別なフィルタプログラムを供給
- することにより, 多種多様なプリンタ機器に対して, 上述の機能の
- 全部または一部をLPDシステムにおこなわせることができます.
-
-
- <sect><heading>どうしてスプーラを使うべきなのか<label
- id="printing:intro:why"></heading>
-
- <p> あなたのシステムを利用するのがあなた一人だけだとしたら, ア
- クセス制御もヘッダページもプリンタ利用に対する課金も必要ないのに,
- なぜわざわざスプーラに煩わされなければならないのか疑問に思うか
- もしれません. プリンタに対する直接アクセスを許可することもできるので
- すが, とにかくスプーラを使用するべきです. その理由は,
-
- <itemize>
- <item> LPDはジョブをバックグラウンドで処理します. データが
- プリンタに送信されるまで待つ必要はありません.
-
- <item> LPDではジョブをフィルタを通してプリントすることが簡
- 単にできます. これにより, 印刷物のヘッダに時刻や日付を入れ
- たり, 特別なファイル形式 (TeX の DVI ファイルなど) をプリン
- タが処理できる形式に変更することができます. これらの作業を
- 手動でおこなう必要がなくなります.
-
- <item> プリント処理をおこなうフリーのまたは商用のプログラムの
- ほとんどは, システムのスプーラとやりとりするように作られて
- います. スプーリングシステムをセットアップすることで, 今後
- 加えるかもしれない, あるいは, 既に持っている別のソフトウエ
- アをより簡単にサポートすることができるでしょう.
- </itemize>
-
- <sect><heading>スプーリングシステムのセットアップ<label
- id="printing:intro:setup"></heading>
-
- <p> LPDスプーリングシステムを用いてプリンタを使用するためには,
- プリンタ機器とLPD用ソフトウェアの両方を準備する必要があります.
- 本ドキュメントでは次の2段階のレベルに分けて説明をします.
-
- <itemize>
- <item> プリンタを接続する方法, プリンタにどの
- ように通信するかをLPDに指示する方法や, プレインテキスト
- をプリンタで印字する方法については, 「<ref name="プリ
- ンタの簡単な設定" id="printing:simple">」をご覧ください.
-
- <item> 様々な形式のファイルを印字する方法, ヘッダページを
- 印字する方法, ネットワーク経由でプリンタに印字する方法,
- プリンタを制御する方法, プリンタの使用に対する課金をおこなう
- 方法については「<ref name="プリンタ設定上級編"
- id="printing:advanced">」をご覧ください.
- </itemize>
-
-
- <sect><heading> プリンタ設定導入編 <label
- id="printing:simple"></heading>
-
- <p> この節では, プリンタ機器やプリンタを使用するためのLPD用ソフ
- トウェアを設定する方法について述べます. この節の概要は次の通り
- です.
-
- <itemize>
- <item> 「<ref id="printing:hardware"
- name="プリンタ機器の設定">」では, プリンタをコンピュータに接
- 続するためのヒントがいくつか書かれています.
-
- <item> 「<ref id="printing:software"
- name="ソフトウェアの設定">」では, LPDのスプーラ設定ファイル
- <tt>/etc/printcap</tt>の設定方法について書かれています.
- </itemize>
-
- データをプリンタに送るためにシリアルまたはパラレルインタフェー
- スではなく, ネットワークプロトコルを使用する場合は, 「<ref
- id="printing:advanced:network:net-if" name="ネットワークにおけ
- るデータストリームのインタフェースを持つプリンタ">」をご覧くださ
- い.
-
- この節のタイトルは「プリンタ設定導入編」ですが, 実際の設定は
- かなり複雑です. プリンタをコンピュータに接続し, LPDスプーラを
- 起動させることは一番困難な作業です. ヘッダページを出力させたり,
- 課金したりするオプションの設定は, 一度プリンタがうまく動くよう
- になれば, とても簡単です.
-
-
- <sect1><heading>プリンタ機器の設定<label
- id="printing:hardware"></heading>
-
- <p> この節では, プリンタにPCを接続するための様々な方法について
- 説明しています. ここでは, ポートやケーブルの種類, FreeBSDが
- プリンタとの通信に必要なカーネルコンフィグレーションについて
- も言及しています.
-
- もし, プリンタが既に接続されていて, 他のオペレーティングシステ
- ム上でプリンタからの印字に成功している場合は, 「<ref
- id="printing:software" name="ソフトウェアの設定">」まで読み飛
- ばすことが多分できるでしょう.
-
-
- <sect2><heading>ポートとケーブル<label
- id="printing:ports"></heading>
-
- <p> 最近のPC用のプリンタほとんどには次のインタフェースの一つ
- もしくは両方がついています.
-
- <itemize>
- <item><em/シリアル/インタフェースでは, プリンタにデータを
- 送信するためにコンピュータにあるシリアルポートが使用され
- ます. シリアルインタフェースはコンピュータ業界で共通し
- て使用されています. そのケーブルは容易に手に入り, また,
- 簡単に自作することもできます. シリアルインタフェースには,
- 特別なケーブルが必要なことがときどきあり, また, 何か複
- 雑な通信方式選択の設定が必要になることがあります.
-
-
- <item><em/パラレル/インタフェースでは, プリンタにデータを
- 送信するためにコンピュータにあるパラレルポートを使用しま
- す. パラレルインタフェースはPC業界では共通して使われてい
- ます. ケーブルの入手は容易ですが, 自作するのはシリアルよ
- りも難しいです. パラレルインタフェースには通常, 通信方式の選
- 択はなく, このため, 設定が極めて単純になっています.
-
-
- <p> パラレルインタフェースは「セントロニクス」インタフェー
- スとして知られています. これは, プリンタ用のコネクタタ
- イプとして採用された後に名付けられました.
- </itemize>
-
- シリアルインタフェースはパラレルインタフェースより
- も普通はデータの伝送速度が遅くなります. パラレルインタフェースで
- は, 通常, (コンピュータからプリンタへの) 単方向通信のみをおこな
- うのに対して, シリアルインタフェースは双方向通信をおこないます.
- 最近のパラレルポートの多くはプリンタ側からデータを受けとる
- こともできますが, コンピュータ側にデータを送り返すことが必
- 要となるプリンタはほとんどありません. さらに, FreeBSDでは
- 双方向のパラレル通信をまだサポートしていません.
-
- 通常, プリンタで双方向通信が必要となるのは, プリンタが
- PostScript 言語に対応しているときだけです. PostScript プリ
- ンタは非常に冗長に動作させることができます. 事実,
- PostScript によるジョブでは, プログラムを本当にプリンタ
- に送信します. このことは, 印字作業を必ずしもする必要がない
- ことを意味し, また, プログラムの結果をコンピュータに直接返
- されるかもしれません. PostScript プリンタでは, 双方向
- 通信を使って, PostScript プログラムのエ
- ラーや紙づまりといった問題をコンピュータに報告します. ユー
- ザはそれらの情報を知りたいと思うかもしれません. さらに,
- PostScript プリンタで課金作業をもっとも効率よくおこなうため
- には双方向通信が必要となります. この方法では, まず, プ
- リンタの現在のページカウント (起動してから今まで何枚の紙を
- 印字したか) の情報を得ます. 次に, ユーザのジョブをおこない, 終
- 了後, 再びページカウントを得ます. この2数を差によって, 課
- 金対象となる紙の枚数を知ることができます.
-
- それでは, どちらのインタフェースを使うべきなのでしょうか.
-
-
- <itemize>
- <item> 双方向通信が必要なら, シリアルポートを使ってくださ
- い. FreeBSDではパラレルポート上での双方向通信はまだサポー
- トされていません.
-
- <item> 双方向通信の必要がなく, パラレルかシリアルかの選
- 択ができる場合はパラレルインタフェースを使うのが好ましい
- です. これにより, シリアルポートを他の周辺機器 (端末やモ
- デムのなど) のために残しておくことができます. また, パラ
- レルインタフェースの方がほとんどの場合高速であり, 設定も
- より簡単になっています.
-
- <item> 結局のところは動いてくれるものを使えばよいのです.
- </itemize>
-
-
- <sect2><heading>パラレルポート<label id="printing:parallel"></heading>
-
- <p> プリンタをパラレルインタフェースを使って接続する場合は,
- セントロニクスケーブルでプリンタとコンピュータをつないでくださ
- い. 詳しい説明はプリンタ, コンピュータ, あるいは両方に付属す
- る説明書に書かれているはずです.
-
- その際, どのパラレルポートを使用したかを覚えておいてください.
- FreeBSDでは最初のポートは /dev/lpt0, 2番目は /dev/lpt1 であ
- り, 3番目以降も同様に続きます.
-
-
- <sect2><heading>シリアルポート<label id="printing:serial"></heading>
-
- <p> シリアルインタフェースを使ってプリンタを使う場合は, 適切
- なシリアルケーブルでプリンタとコンピュータを接続してください.
- 詳しい説明はプリンタ, コンピュータ, あるいは両方に付属する説
- 明書に書かれているはずです.
-
- 「適切なシリアルケーブル」がよくわからないときは, 次のどれか
- を試してみてください.
-
- <itemize>
- <item> <em/モデム/用ケーブルでは, それぞれのピンは他方の
- コネクタの対応するピンと線でつながっています. このタイプ
- のケーブルは, DTE-DCE間ケーブルとしても知られています.
- (訳注:日本ではストレートケーブルという名前で売られています)
-
-
- <item> <em/ヌルモデム/用ケーブルでは, あるピンは対応するピ
- ント接続していますが, あるピン (例えば, データ送信用とデー
- タ受信用のピン) が交差して接続したり, いくつかのピンは内部
- で短絡していたりします. このタイプのケーブルは, DTE-DTE
- 間ケーブルと呼ばれています. (訳注:日本ではクロスケーブル
- という名前で売られています)
-
- <item>A <em/シリアルプリンタ/用ケーブルは, ある特定のプ
- リンタで必要とされ, ヌルモデムケーブルと似ていますが, 内
- 部で短絡させる代わりに, ある信号を他方側に送るために使用
- しています.
- </itemize>
-
- この他に, プリンタ用の通信パラメータを設定する必要がありま
- す. 通常, プリンタのフロントパネルやDIPスイッチによって制
- 御します. コンピュータとプリンタの双方で設定できる最高の通
- 信速度[bps] (ビット/秒. <em/ボーレート/と示されているときも
- ある) を選んでください. そして, データビット (7または8), パリ
- ティ (偶/奇/なし), ストップビット (1または2) を選んでください.
- そして, フローコントロールの有無 (制御なし, または
- XON/XOFF(<em/イン・バンド/または<em/ソフトウェア/フローコ
- ントロールとも呼ばれる)) を選びます. 以下に続くソフトウェア
- の設定のために, ここでの設定を覚えておいてください.
-
-
- <sect1><heading>ソフトウェアの設定<label id="printing:software">
- </heading>
-
- <p> 本節ではFreeBSDのLPDスプーリングシステムで印字をおこなうために
- 必要となるソフトウェアの設定について説明しています.
-
- 本節の概要は次のようになります.
-
- <enum>
- <item> プリンタで使用するポートのために, 必要があれば, カー
- ネルの書き変えをおこないます. 「<ref id="printing:kernel"
- name="カーネルの変更">」で, このためにしなくてはなら
- ないことを説明しています.
-
- <item> パラレルポートを使用している場合は, パラレルポートの
- ための通信モードの設定します. 詳細は, 「<ref
- id="printing:parallel-port-mode" name = "パラレルポート
- の通信モードを設定する">」で説明しています.
-
- <item> オペレーティングシステムからプリンタにデータが送ら
- れているかをテストします. 「<ref id="printing:testing"
- name="プリンタとの通信状況を調べる">」で, どのように
- テストするかの提案をいくつかおこなっています.
-
- <item> ファイル<tt>/etc/printcap</tt>を変更し, LPDの設定を
- おこないます. 「<ref id="printing:printcap"
- name="/etc/printcap ファイル">」で, どのように変更するかを
- 説明しています.
- </enum>
-
- <sect2><heading>カーネルの変更<label
- id="printing:kernel"></heading>
-
- <p> オペレーティングシステムのカーネルのコンパイルをおこなうこと
- によって, 指定されたのデバイスが機能するようになります. シリ
- アル, または, パラレルインタフェースをプリンタで使用する場合,
- 必要なデバイスがこの指定の中に含まれていなくてはなりません.
- したがって, 必要なデバイスがカーネルに組み込まれていない場合, 追
- 加のシリアル, または, パラレルポートをサポートするために, カー
- ネルの再コンパイルが必要となるかもしれません.
-
- シリアルポートが現在使用しているカーネルでサポートされている
- かどうかを調べるためには, 次のように入力します.
-
-<tscreen>
-<tt>dmesg &verbar; grep sio</tt><it/N/
-</tscreen>
-
- ここで, <it/N/ はシリアルポートの番号を示し, この番号は0から
- 始まります. 次のような出力があった場合, カーネルはそのポー
- トをサポートしています.
-
-<tscreen><verb>
-sio2 at 0x3e8-0x3ef irq 5 on isa
-sio2: type 16550A
-</verb></tscreen>
-
- パラレルポートが現在使用しているカーネルでサポートされている
- かどうかを調べるためには, 次のように入力します.
-
-<tscreen>
-<tt>dmesg &verbar; grep lpt</tt><it/N/
-</tscreen>
-
- ここで, <it/N/ はパラレルポートの番号を示し, この番号は0から
- 始まります. 次のような出力があった場合, カーネルはそのポー
- トをサポートしています.
-
-<tscreen><verb>
-lpt0 at 0x378-0x37f on isa
-</verb></tscreen>
-
- 上記の出力が得られない場合, プリンタを使うため, オペレーティ
- ングシステムにパラレル, または, シリアルポートを認識し, 使用
- できるようにするためにはカーネルを変更する必要があります.
-
- シリアルポートをサポートさせるには, 「<ref id="kernelconfig"
- name="FreeBSDカーネルのコンフィグレーション">」の節をご覧く
- ださい. パラレルポートをサポートさせる場合も, その節と, <em/あ
- わせて/, この節に続く節もご覧ください.
-
-
- <sect3><heading> ポート用エントリを <tt>/dev</tt> に追加する
- <label id="printing:dev-ports"></heading>
-
- <p> カーネルがシリアル, または, パラレルポートを通じての通
- 信をサポートしていたとしても, システム上で動いているプログ
- ラムがデータの送受信をおこなうためのソフトウェアインタフェース
- がさらに必要になります. そのインタフェースは,
- <tt>/dev</tt> ディレクトリにあるエントリに相当します.
-
-
- <bf> <tt>/dev</tt> エントリにポートを加えるために</bf>
- <enum>
- <item> <tt/su/ コマンドで root になります. suコマンド
- でパスワードを聞かれたら, ルート用のパスワードを入力し
- ます.
-
- <item> <tt>/dev</tt> ディレクトリに移動します.
-<tscreen><verb>
-cd /dev
-</verb></tscreen>
-
- <item> 次のように入力します.
-<tscreen>
-<tt> ./MAKEDEV</tt> <it/port/
-</tscreen>
- ここで, <it/port/ は, 作成するポート名です. 1番目
- のパラレルポートのときは <tt/lpt0/ に, 2番目のときは
- <tt/lpt1/ になり, 以降同様になります. 1番目のシリア
- ルポートのときは, <tt/ttyd0/ に, 2番目のときは
- <tt/ttyd1/ になり, これも以降同様となります.
-
- <item> 次を入力し, デバイスのエントリができたか確認し
- ます.
-<tscreen>
-<tt>ls -l</tt> <it/port/
-</tscreen>
- </enum>
-
- <sect3><heading> パラレルポートの通信モードを設定する
- <label id="printing:parallel-port-mode"></heading>
-
- <p> パラレルインタフェースを使用している場合, FreeBSDでは,
- 割り込み駆動型にするか, プリンタとの通信の状況をカーネルに監
- 視させるかのいずれかを選択できます.
-
- <itemize>
- <item> GENERIC カーネルでは<em/割り込み駆動/方式が,
- デフォルトになっています. この方式では, オペレーティングシ
- ステムはプリンタがデータを受け付けられるかどうかを調べ
- るために, IRQ ラインを一つ使用します.
-
- <item> <em/監視/方式では, オペレーティングシステムにプ
- リンタがもっとデータを受け付けられるかどうかを繰り返し
- 尋ねるように指示します. そして, 受け付けるという応答を
- 受けたとき, カーネルはさらなるデータを送信します.
- </itemize>
-
- 割り込み駆動方式は, いくらか高速になりますが, 貴重な IRQ
- ラインを一つ消費します. うまく機能するものをお使いください.
-
- 通信モードを設定するためには2つの方法があります. 1つはカー
- ネルを変更することで, もう一つは <tt/lptcontrol/ プログ
- ラムを使用する方法です.
-
-
- <bf> カーネルを設定することによって, 通信モードを変更す
- る. </bf>
-
- <enum>
- <item> カーネルコンフィグレーションファイルを変更しま
- す. <tt/lpt0/ のエントリを探すか追加してください. 2番目
- のパラレルポートを設定するときは, 代わりに <tt/lpt1/
- を使います. 以下, 3番目のポートは <tt/lpt2/ となってい
- きます.
-
- <itemize>
- <item> イベント駆動方式にする場合は, <tt/irq/ 指
- 定を追加します.
-
-<tscreen>
-<tt>device lpt0 at isa? port? tty irq <it/N/ vector lptintr</tt>
-</tscreen>
- ここで, <it/N/ はパラレルポート用の IRQ 番号で
- す.
-
- <item> 監視方式を使用する場合は, <tt/irq/ を追加
- してはいけません.
-
-<tscreen>
-<tt>device lpt0 at isa? port? tty vector lptintr</tt>
-</tscreen>
- </itemize>
- <item> ファイルをセーブし, config プログラムを起動
- し, カーネルの構築, インストールをおこないます. そして, リ
- ブートしてください. 詳細は, 「<ref id="kernelconfig"
- name="FreeBSDカーネルのコンフィグレーション">」を参照
- してください.
- </enum>
-
- <bf> <tt/lptcontrol/で通信モードを設定する場合 </bf>
- <itemize>
- <item>
- <tt/lpt<it/N// をイベント駆動方式に設定する場合は,
- 次のように入力します.
-<tscreen>
-<tt>lptcontrol -i -u <it/N/</tt>
-</tscreen>
-
- <item>
- <tt/lpt<it/N// を監視方式に設定する場合は, 次のよう
- に入力します.
-<tscreen>
-<tt>lptcontrol -p -u <it/N/</tt>
-</tscreen>
- </itemize>
- これらのコマンドを <tt>/etc/rc.local</tt> ファイルに追加
- しておくと, システムをブートする度に通信モードを設定する
- ことができます. 詳細については, lptcontrol(8) をご覧くだ
- さい.
-
- <sect3><heading> プリンタとの通信状況を調べる <label
- id="printing:testing"></heading>
-
- <p> スプーリングシステムの設定に進む前に, オペレーティング
- システムがプリンタにデータを送ることに成功しているかどうか
- を確かめるべきでしょう. これにより, 印字がうまくいかないと
- き, プリンタとの通信が問題なのか, スプーリングシステムが問
- 題なのかを分けて調べることがかなり容易になります.
-
- プリンタをテストするためには, プリンタに何かのテキストを送
- 信してみます. 送信した文字をすぐに印字してくれるプリンタに
- は, <tt/lptest/コマンドを使うと有用です. このコマンドは印
- 字可能な96文字のASCII文字すべてを96行生成します.
-
- PostScript (または他の言語に対応した) プリンタの場合
- は, もっと巧妙なテストが必要になります. 次のような, 簡単な
- PostScript プログラムを使えば十分でしょう.
-<code>
-%!PS
-100 100 moveto 300 300 lineto stroke
-310 310 moveto
-/Helvetica findfont 12 scalefont setfont
-(Is this thing working?) show
-showpage
-</code>
-
- <em/注意:/ このドキュメントでプリンタ用言語を参照するとき
- は, PostScript のような言語を仮定しており, Hewlett
- Packard の PCL は考慮していません. PCL は非常に機能的なの
- ですが, プレインテキストにエスケープシーケンスを混ぜること
- ができます. PostScript ではプレインテキストを直接印字
- することはできません. このような種類のプリンタ言語に対して
- は, 特別な対応をおこなわなければなりません.
-
-
- <sect4><heading> パラレルポートのプリンタとの接続を調べる
- <label id="printing:checking:parallel"></heading>
-
- <p> この節では, FreeBSDがパラレルポートに接続されたプリ
- ンタと通信できているかどうかを調べる方法について説明し
- ています.
-
- <bf> パラレルポートのプリンタをテストするために </bf>
- <enum>
- <item> <tt/su/ コマンドで root になります.
- <item> プリンタにデータを送ります.
- <itemize>
- <item> プリンタがプレインテキストを印字できる場
- 合, <tt/lptest/ コマンドを使います. 次のように入
- 力してください.
-<tscreen>
-<tt>lptest > /dev/lpt<it/N/</tt>
-</tscreen>
- ここで, <it/N/ はパラレルポートの番号で, 番号は
- 0から始まります.
-
- <item> プリンタが PostScript か他のプリンタ
- 言語を使用している場合, そのプリンタに簡単なプロ
- グラムを送信してください. 次のように入力します.
-<tscreen>
-<tt>cat > /dev/lpt<it/N/</tt>
-</tscreen>
- そして, 一行一行, プログラムを<em/慎重に/入力して
- 下さい. RETUREN または ENTER キーを入力してしま
- うと, その行は編集できなくなります. プログラムの
- 入力が終わったら, CONTROL+Dか, あなたが設定して
- いるファイル終了のキーを押してください.
-
- <p> もしくは, プログラムを入力したファイルがある
- 場合は, 次のように入力してください.
-<tscreen>
-<tt>cat <it/file/ > /dev/lpt<it/N/</tt>
-</tscreen>
- ここで, <it/file/ はプログラムが格納されていて,
- プリンタに送信するファイルの名前です.
- </itemize>
- </enum>
-
- これで何かがプリントされることでしょう. 印字されたテキ
- ストがおかしくても心配しなくても構いません. それについ
- ては, 後で修正します.
-
- <sect4><heading> シリアルポートのプリンタとの接続を調べる
- <label id="printing:checking:serial"></heading>
-
- <p> この節では, FreeBSDがシリアルポートに接続されたプリ
- ンタと通信できているかどうかを調べる方法について述べられ
- ています.
-
- <bf> シリアルポートのプリンタをテストするために </bf>
- <enum>
- <item> <tt/su/ コマンドで root になります.
- <item> <tt>/etc/remote</tt> ファイルを編集します. 次の
- エントリを加えてください.
-<tscreen>
-<tt>printer:dv=/dev/<it/port/:br&num;<it/bps-rate/:pa=<it/parity/</tt>
-</tscreen>
- ここで, <it/port/ シリアルポート (<tt/ttyd0/,
- <tt/ttyd1/ など) のデバイスエントリで, <it/bps-rate/は
- プリンタとの通信の転送速度[bit/秒], <it/parity/はプリ
- ンタとの通信で必要とされるパリティ (<tt/even/,
- <tt/odd/, <tt/none/, <tt/zero/のいずれか) を表わしていま
- す.
- <p>
- 次の例は, プリンタをシリアルケーブルでパリティなし,
- 転送速度19200bpsで第3番目のシリアルポートに接続した場
- 合です.
-
-<code>
-printer:dv=/dev/ttyd2:br#19200:pa=none
-</code>
-
- <item> <tt/tip/コマンドでプリンタと接続します. 次のよ
- うに入力してください.
-
-<tscreen><verb>
-tip printer
-</verb></tscreen>
-
- これがうまくいかなかった場合は, <tt>/etc/remote</tt>を
- 編集して, <tt>/dev/ttyd<it/N/</tt>の代わりに
- <tt>/dev/cuaa<it/N/</tt>を試してみてください.
-
- <item> プリンタにデータを送ります.
- <itemize>
- <item> プリンタがプレインテキストを印字できる場
- 合, <tt/lptest/ コマンドを使います. 次のように入
- 力してください.
-<tscreen><verb>
-~$lptest
-</verb></tscreen>
-
- <item> プリンタが PostScript か他のプリンタ
- 言語を使用している場合, そのプリンタに簡単なプロ
- グラムを入力します. 一行一行, プログラムを<em/慎
- 重に/入力してください. バックスペースキーや他の編
- 集用のキーは, プリンタの制御コードに割り当てられ
- ているかもしれません. プログラムが終了したことを
- プリンタに伝えるための特別なファイル終了キーを入
- 力する必要があるかもしれません. PostScript
- プリンタの場合, CONTROL+Dを入力します.
-
- <p> もしくは, プログラムを入力したファイルがある
- 場合は, 次のように入力してください.
-
-<tscreen>
-<tt>&tilde;&gt;<it/file/</tt>
-</tscreen>
- ここで, <it/file/ はプログラムが格納されている
- ファイル名です. <tt/tip/コマンドでファイルを送
- 信した後は, ファイル終了を表わすキーを入力する必要
- があります.
- </itemize>
- </enum>
-
- これで何かがプリントされることでしょう. 印字されたテキ
- ストがおかしくても心配しなくても構いません. それについ
- ては, 後で修正します.
-
- <sect2><heading> スプーラに許可を与える:
- <tt>/etc/printcap</tt> ファイル
- <label id="printing:printcap"></heading>
-
- <p> ここまでで, プリンタはコンピュータに接続され, (必要なら)
- プリンタと通信できるようにカーネルを変更し, 簡単なデータをプ
- リンタに送信することができているはずです. これで, LPDにプリ
- ンタへのアクセスを制御させる設定をおこなう準備が整いました.
-
- LPDの設定は <tt>/etc/printcap</tt> を編集することでおこないます.
- LPDスプーリングシステムはスプーラが使われる毎にこのファイル
- を参照します. そのため, ファイルを更新するとすぐにその変更が
- 反映されます.
-
- <tt/printcap/ ファイルの書式は簡単です.
- <tt>/etc/printcap</tt> の編集はお好みのテキストエディタをお
- 使いください. このファイルの書式は,
- <tt>/usr/share/misc/termcap</tt> や <tt>/etc/remote</tt>
- といった他のケイパビリティファイルと一致しています. この書式
- のついての詳細な情報については cgetent(3) をご覧ください.
-
- スプーラの単純な設定法は, 次のステップでおこないます.
-
- <enum>
- <item> プリンタに名前 (と簡単な別名2〜3個) を付け, それを
- <tt>/etc/printcap</tt> ファイルに記述します. これについ
- ては, 「<ref id="printing:naming"
- name="プリンタに名前を付ける">」 を参照してください.
-
- <item> <tt/sh/ の項目を追加することで, ヘッダページの出
- 力を禁止します (デフォルトは許可). これについては, 「<ref
- id="printing:no-header-pages" name="ヘッダページの印字
- を禁止する">」 を参照してください.
-
- <item> スプール用のディレクトリを作成し, その位置を
- <tt/sd/ 項目で指定します. これについては, 「<ref
- id="printing:spooldir" name="スプーリングディレクトリ
- の作成">」 を参照してください.
-
- <item> プリンタを使用するために <tt>/dev</tt> エントリを
- 設定し, <tt>/etc/printcap</tt> の <tt/lp/ 項目でそのエ
- ントリを指定します. これについては, 「<ref id="printing:device"
- name="プリンタデバイスの特定">」 を参照してください.
- プリンタをシリアルポートに接続した場合は, <tt/fs/,
- <tt/fc/, <tt/xs/, <tt/xc/ の項目を設定する必要があります.
- こちらについては, 「<ref id="printing:commparam"
- name="スプーラのための通信パラメータの設定">」
- を参照してください.
-
- <item> プレインテキスト用の入力フィルタのインストールを
- おこないます. 「<ref id="printing:textfilter"
- name="テキストフィルタのインストール">」 を参照してください.
-
- <item> <tt/lpr/ コマンドで何かを印字することで設定のテス
- トをおこないます. <ref id="printing:trying" name="印字して
- みよう"> と <ref id="printing:troubleshooting"
- name="トラブルシューティング"> を参照してください.
- </enum>
-
-
- <em/注意:/ PostScript プリンタのような, プリンタ言語を
- 使用しているプリンタには, プレインテキストを直接印字させる
- ことができません. 上にアウトラインを示し, 以下の節で説明す
- る簡単な設定方法の説明では, そのようなプリンタを設置してい
- る場合は, プリンタが認識できるファイルだけを印字の対象とし
- ているという仮定をしています.
-
-
- 多くの場合, 利用者はシステムに設置されているプリンタすべてでプ
- レインテキストが印字できることを期待しています. 印字作業を
- おこなうためにLPDのインタフェースを利用するプログラムでも, 通
- 常, そのような仮定を置きます. プリンタ言語を使用するプリン
- タを設置しており, そのプリンタ言語で記述されたジョブと,
- <em/これに加えて/, プレインテキストのジョブも印字できるよ
- うにしたいならば, 上で示した簡単な設定方法に加えて, さら
- なる設定をおこなうことを強くお勧めします. すなわち, 原始的なプ
- レインテキストから PostScript (もしくは, 他のプリンタ
- 言語) に変換するプログラムをインストールしてください. 「<ref
- id="printing:advanced:if-conversion" name="プレインテキス
- トのジョブを PostScript プリンタで印字する">」で, そ
- れをどのようにおこなえばよいのかが説明されています.
-
- <em/訳注:/ 日本語を印字したい場合は, プリンタ言語を使用し
- ていない「日本語プリンタ」についても, プリンタ固有のエスケー
- プシーケンスを送る必要があります. また, 漢字コードをプリン
- タが設定しているものに変換したりする必要があり, 各プリンタ
- 毎に, 日本語用のフィルタが必要になります.
- <!-- 時間があったらフィルタを調べることにしよう -->
-
- <sect3><heading> プリンタに名前を付ける <label
- id="printing:naming"></heading>
-
- <p> 最初の (簡単な) ステップで, プリンタの名前を考えます. プ
- リンタには別名をいくつか付けることもできるので, 機能的な名前
- でも風変わりな名前でもどちらを選んでもまったく問題はありません.
-
- 少なくとも1つのプリンタには, <tt>/etc/printcap</tt> の中
- で, <tt/lp/ という別名を持たせるべきでしょう. この名前は
- デフォルトのプリンタ名になっています. ユーザが環境変数 PRINTER
- を設定しておらず, かつ, LPDコマンドのコマンドラインでプリ
- ンタの名前が指定されていない場合, <tt/lp/ がデフォルトのプリ
- ンタ名となり, そのプリンタに出力されます.
-
- それから, これは共通の慣習ですが, プリンタの最後の別名には,
- メーカーやモデル名を含むプリンタの完全な名称をつけることに
- なっています.
-
- 名前と別名のいくつかを決めたら, <tt>/etc/printcap</tt> ファ
- イルに設定します. プリンタ名は一番左のカラムから書き始めま
- す. 別名はそれぞれ縦棒によって区切られ, 最後の別名の後ろに
- コロンを置きます.
-
- 次の例では, 2台のプリンタ (Diablo 630 ラインプリンタと
- Panasonic KX-P4455 PostScript レーザライタプリンタ) が定義
- されている <tt>/etc/printcap</tt> のスケルトンを記しています.
-
-<code>
-#
-# /etc/printcap for host rose
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:
-</code>
-
- この例では, 最初のプリンタに <tt/rattan/ という名前と別名
- として, <tt/line/, <tt/diablo/, <tt/lp/ そして
- <tt/Diablo 630 Line Printer/ が付けられています. 別名とし
- て <tt/lp/ があるので, このプリンタはデフォルトのプリンタとなっ
- ています. 2番目は <tt/bamboo/ と名付けられ, 別名として,
- <tt/ps/ と <tt/PS/, <tt/S/, <tt/panasonic/,
- <tt/Panasonic KX-P4455 PostScript v51.4/ が付けられていま
- す.
-
-
- <sect3><heading> ヘッダページの印字を禁止する<label
- id="printing:no-header-pages"></heading>
-
- <p> LPDスプーリングシステムでは, デフォルトでジョブ毎に<em/ヘッ
- ダページ/を印字します. ヘッダページにはジョブを要求したユー
- ザ名, ジョブが送られたホスト名, そして, ジョブの名前が素晴
- らしい大きな文字で印字されています. 残念なことに, この余分
- なテキストすべてが, 簡単なプリンタ設定法のデバッグの際に紛れ
- 込んできてしまいます. このため, ヘッダページの出力を禁止し
- ておきます.
-
- ヘッダページの出力を禁止するには, <tt>/etc/printcap</tt>
- にあるプリンタのエントリに <tt/sh/ の項目を追加します. 次
- に, <tt/sh/ を加えた <tt>/etc/printcap</tt> の例を示しま
- す.
-
-<code>
-#
-# /etc/printcap for host rose - no header pages anywhere
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:
-</code>
-
- この書式を正しく使うための注意をしておきます. 最初の行は左
- 端のカラムから始まります. それに続く行は TAB ひとつ分だけ
- 字下げします. 最後の行以外のすべての行は, 行末にバックスラッ
- シュを記述します.
-
-
- <sect3><heading>スプーリングディレクトリの作成<label
- id="printing:spooldir"></heading>
-
- <p> スプーラの簡単な設定の次のステップでは, <em/スプーリン
- グディレクトリ/を作成します. プリンタに送られるジョブ
- は, その印字が終了するまでこのディレクトリに置かれます.
- また, 他のたくさんのスプーラもこのディレクトリにファイ
- ルを置きます.
-
- 様々な事情によりスプーリングディレクトリは, 通常, 慣例
- として <tt>/var/spool</tt> の下に置きます.
- また, スプーリングディレクトリの内容はバックアップをす
- る必要はありません. <tt/mkdir/ によってディレクトリを
- 作るだけでスプーリングディレクトリの復旧は完了します.
-
-
- スプーリングディレクトリの名前は, これも慣例ですが, 次
- のようにプリンタの名前と同じにします.
-
-<tscreen>
-<tt>mkdir /var/spool/<it>printer-name</it></tt>
-</tscreen>
-
- しかしながら, ネットワーク上に使用可能なプリンタがたく
- さんあるならば, LPDで印字するための専用のディレクトリに
- スプーリングディレクトリを置きたいと思うかもしれません.
- 例に出てきたプリンタ <tt/rattan/ と <tt/bamboo/ につい
- て, この方式を採用すると, 次のようになります.
-
-<tscreen><verb>
-mkdir /var/spool/lpd
-mkdir /var/spool/lpd/rattan
-mkdir /var/spool/lpd/bamboo
-</verb></tscreen>
-
- <em/注意:/ 各ユーザが印字するジョブのプライバシを守りた
- いと考えているならば, スプーリングディレクトリを保護し
- て, これを誰からでもアクセスできないようにしたいと思う
- かもしれません. スプーリングディレクトリは, deamon ユー
- ザと daemon グループに所有され, 読み込み, 書き込み, 検
- 索可能であり, 他からはアクセスできないようにするべきで
- す. 例題のプリンタに対して, 次のようにすることにしましょ
- う.
-
-<tscreen><verb>
-chown daemon.daemon /var/spool/lpd/rattan
-chown daemon.daemon /var/spool/lpd/bamboo
-chmod 770 /var/spool/lpd/rattan
-chmod 770 /var/spool/lpd/bamboo
-</verb></tscreen>
-
- 最後に, <tt>/etc/printcap</tt> ファイルで, これらのディ
- レクトリの位置を LPD に伝える必要があります. スプーリ
- ングディレクトリのパス名は <tt/sd/ 項目で指定します.
-
-<code>
-#
-# /etc/printcap for host rose - added spooling directories
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:sd=/var/spool/lpd/rattan:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:
-</code>
-
- プリンタ名が最初のカラムから始まっており, そのプリンタ
- に関して記述される他のエントリは TAB で字下げされてい
- ること, 各行がバックスラッシュで終わっていることに注意
- してください.
-
- <tt/sd/ によりスプーリングディレクトリが指定されていな
- い場合, スプーリングシステムは <tt>/var/spool/lpd</tt>
- デフォルト値として使用します.
-
-
- <sect3><heading>プリンタデバイスの特定<label
- id="printing:device"></heading>
-
- <p> 「<ref id="printing:dev-ports" name="ポート用エントリ
- を<tt>/dev</tt> に追加する">」では, FreeBSD でプリン
- タとの通信に使用される <tt>/dev</tt> ディレクトリ内の
- エントリを特定します. そして, LPD にその情報を伝えま
- す. 印字するジョブを受け取ると, スプーリングシステムは,
- (プリンタにデータを渡す義務がある) フィルタプログラムに
- 代わって指定されたデバイスをオープンします.
-
- <tt>/etc/printcap</tt> ファイルで <tt/lp/ 項目を使って
- <tt>/dev</tt> エントリを記入します.
-
- ここでの例では, <tt/rattan/ は1番目のシリアルポートに,
- <tt/bamboo/ は6番目のシリアルポートに接続されているこ
- とにしましょう. このとき, <tt>/etc/printcap</tt> には
- 次のようになります.
-
-<code>
-#
-# /etc/printcap for host rose - identified what devices to use
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:\
- :lp=/dev/ttyd5:
-</code>
-
- <tt>/etc/printcap</tt> でプリンタの <tt/lp/ 項目が指定
- されていない場合は, LPD はデフォルトとして
- <tt>/dev/lp</tt> を使用します. <tt>/dev/lp</tt> は,
- 現在の FreeBSD には存在していません.
-
- 設置したプリンタがパラレルポートに接続されている場合は,
- 「<ref name="テキストフィルタのインストール"
- id="printing:textfilter">」まで読み飛ばしてください.
- そうでない場合は, 次節の説明に続いてください.
-
-
- <sect3><heading> スプーラのための通信パラメータの設定
- <label id="printing:commparam"></heading>
-
- <p> シリアルポートにプリンタを接続した場合, プリンタにデー
- タを送信するフィルタプログラムに代わり, 通信速度やパリ
- ティ, その他のシリアル通信パラメータを設定することがで
- きます. このことによる利点は,
-
- <itemize>
- <item> <tt>/etc/printcap</tt> を編集するだけで, 様々な
- 通信パラメータを試してみることができます. フィルタプロ
- グラムを再コンパイル必要はありません.
-
- <item> スプーリングシステムで, シリアル通信の設定が異
- なっているかもしれない複数のプリンタに同じフィルタプロ
- グラムを使うことが可能になります.
- </itemize>
-
- 次の <tt>/etc/printcap</tt> の項目で, <tt/lp/ で指定
- されたデバイスのシリアル通信パラメータを制御できます.
-
- <descrip>
- <tag/<tt>br&num;<it/bps-rate/</tt>/
-
- デバイスの通信速度を <it/bps-rate/ に設定します. ここ
- で, <it/bps-rate/ は 50, 75, 110, 134, 150, 200, 300,
- 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400[bit/秒]
- のいずれかです.
-
- <tag/<tt>fc&num;<it/clear-bits/</tt>/
-
- デバイスをオープンした後で, <tt/sgttyb/ 構造体の
- <it/clear-bits/ フラグビットをクリアします.
-
- <tag/<tt>fs&num;<it/set-bits/</tt>/
-
- <tt/sgttyb/ 構造体の <it/clear-bits/ フラグビットをセッ
- トします.
-
- <tag/<tt>xc&num;<it/clear-bits/</tt>/
-
- デバイスをオープンした後で, ローカルモードビット
- <it/clear-bits/ をクリアします.
-
- <tag/<tt>xs&num;<it/set-bits/</tt>/
-
- ローカルモードビット <it/set-bits/ をセットします.
-
- </descrip>
- <tt/fc/, <tt/fs/, <tt/xc/, そして <tt/xs/ のビットに関
- する詳しい情報については,
- <tt>/usr/include/sys/ioctl_compat.h</tt> を参照してく
- ださい.
-
- 項目 <tt/lp/ で指定されたデバイスを LPD がオープンする
- とき, LPD は <tt/sgttyb/ 構造体のフラグビットを読み出
- します. そして, 項目 <tt/fc/ の全ビットをクリアします.
- 次に, 項目 <tt/fs/ のビットをセットし, その結果を設定
- します. ローカルモードビットに関しても同様におこなわれます.
-
- 例題のプリンタで6番目のシリアルポートに接続されたプリ
- ンタの設定を追加してみましょう. 通信速度は38400bpsに設
- 定します. フラグビットとして, TANDEM, ANYP, LITOUT,
- FLUSHO, PASS8 をセットします. ローカルモードビットでは,
- LITOUT と PASS8 フラグをセットします.
-
-<tscreen><verb>
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:\
- :lp=/dev/ttyd5:fs#0x82000c1:xs#0x820:
-</verb></tscreen>
-
-
- <sect3><heading>テキストフィルタのインストール<label
- id="printing:textfilter"></heading>
-
- <p> ここまでで, プリンタにジョブを送るために使うテキストフィ
- ルタを LPD に設定する準備が整いました. <em/テキストフィ
- ルタ/とは, <em/入力フィルタ/としても知られていますが,
- 印字するジョブがあるときに LPD が起動するプログラムで
- す. LPD がプリンタのためにテキストフィルタを起動する
- とき, LPD はフィルタの標準入力からプリントするジョブ
- を入力し, フィルタの標準出力に項目 <tt/lp/ で指定され
- たプリンタデバイスを接続します. フィルタは, 標準入力か
- らジョブを読み込み, プリンタのための必要な変換をおこなった
- 後, その結果を標準出力に出力する, これにより印字がなさ
- れることを期待されています. テキストフィルタについての
- 更に詳しい情報については, 「<ref
- id="printing:advanced:filters" name="フィルタはどのよ
- うに機能しているか">」をご覧ください.
-
-
- ここでの簡単なプリンタ設定では, プリンタにジョブを送るため,
- <tt>/bin/cat</tt> を実行するだけの簡単なシェルスクリプ
- トで間に合います. FreeBSD に標準で付属している
- <tt/lpf/ というフィルタでは, バックスペース文字を使っ
- た下線引きの動作をおこなう文字ストリームをうまく扱うことが
- できないプリンタのための代替処理をおこなってくれます. もちろん,
- 他のどんなフィルタプログラムを使っても構いません.
- フィルタ <tt/lpf/ については, 「<ref
- id="printing:advanced:lpf" name="テキストフィルタ
- lpf">」で詳しく説明します.
-
-
- 最初に, 簡単なテキストフィルタであるシェルスクリプト
- <tt>/usr/local/libexec/if-simple</tt> を作ってみましょ
- う. 次のテキストをお好みのテキストエディタでファイルに
- 書き込んでください.
-
-<code>
-#!/bin/sh
-#
-# if-simple - Simple text input filter for lpd
-# Installed in /usr/local/libexec/if-simple
-#
-# Simply copies stdin to stdout. Ignores all filter arguments.
-
-/bin/cat &amp;&amp; exit 0
-exit 2
-</code>
- そして, このファイルを実行可能にします.
-<tscreen><verb>
-chmod 555 /usr/local/libexec/if-simple
-</verb></tscreen>
-
- LPD にこのテキストフィルタを使うことを設定するためには,
- <tt>/etc/printcap</tt> に <tt/if/ 項目を使って指定しま
- す. これまでの <tt>/etc/printcap</tt> の例のプリンタ
- 2台に, このフィルタを加えてみましょう.
-<code>
-#
-# /etc/printcap for host rose - added text filter
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:\
- :if=/usr/local/libexec/if-simple:
-</code>
-
- <sect3><heading>印字してみよう<label
- id="printing:trying"></heading>
-
-
- <p> 簡単な LPD 設定も終わりにたどり着きました. 残念ながら,
- 設定はこれでおしまいというわけではありません. なぜなら,
- さらに, 設定をテストし, すべての問題点を解決しなくては
- ならないからです. 設定をテストするために, 何かを印字し
- てみましょう. LPD システムで印字をするためには,
- <tt/lpr/ コマンドを使います. このコマンドは, 印字する
- ためのジョブを投入する働きをします.
-
- <tt/lpr/ コマンドを 「<ref id="printing:testing"
- name="プリンタとの通信状況を調べる">」で紹介した,
- あるテスト用のテキストを生成してくれる <tt/lptest/
- プログラムと一緒に使うこともできます.
-
- <bf> 簡単な LPD 設定をテストするために:</bf>
-
- <p> 次のように入力してください.
-<tscreen>
-<tt>lptest 20 5 | lpr -P<it/printer-name/</tt>
-</tscreen>
- ここで, <it/printer-name/ は <tt>/etc/printcap</tt>
- で指定したプリンタ名 (もしくはその別名) です. デフォルト
- のプリンタを使用する場合は, <tt/-P/ 引数を付けないで
- <tt/lpr/ を打ち込んでください. もう一度述べますが, ポス
- トスクリプトを期待しているプリンタをテストするならば,
- <tt/lptest/ を使う代わりに PostScript で書かれたプ
- ログラムをプリンタに送ってください. プログラムを送るた
- めには, プログラムをファイルに格納して, <tt/lpr
- <it/file// と打ち込みます.
-
- PostScript プリンタの場合, 送信したプログラムによ
- る結果が得られるでしょう. <tt/lptest/ を使った場合は,
- 以下のような結果が見られるでしょう.
-
-<tscreen><verb>
-!"#$%&amp;'()*+,-./01234
-"#$%&amp;'()*+,-./012345
-#$%&amp;'()*+,-./0123456
-$%&amp;'()*+,-./01234567
-%&amp;'()*+,-./012345678
-</verb></tscreen>
-
- 更にプリンタをテストしたい場合は, (言語ベースのプリン
- タのための) もっと大きなプログラムを送信するか, 引数を
- 変えて <tt/lptest/ を実行します. 例えば, <tt/lptest
- 80 60/ で それぞれ80文字の行を60行生成します.
-
- プリンタがうまく動かなかった場合は, 次の節, 「<ref
- id="printing:troubleshooting" name="トラブルシューティ
- ング">」をご覧ください.
-
- <sect3><heading>トラブルシューティング<label
- id="printing:troubleshooting"></heading>
-
- <p> <tt/lptest/ を使った簡単なテストをおこなった結果, 正しい出
- 力を得られずに, 以下に示すような出力が得られるかもしれ
- ません.
- <descrip>
- <tag/しばらくしたら出力される, または, 紙の全体が出て
- こない/
-
- プリンタは上で示されたような印字をおこなったのですが, しばら
- くして止まってしまい, 動かなくなってしまいました. 印字
- された結果をプリンタから取り出すためには,
- プリンタにある PRINT REMAINING ボタン, また
- は, FORM FEED ボタンを押す必要があるようです.
-
- この場合は, おそらくジョブはプリントをする前に更にデー
- タが送られてこないか待ち続けているのでしょう.
- この問題を解決するためには, プリンタに FORM FEED 文字
- (あるいは特定の必要な文字コード) を
- 送るテキストフィルタを使ってください. プリンタ内部に残っ
- たデータをプリンタにすぐに印字させるには, 普通は, これ
- で十分です. 次のジョブが前のジョブの最終ページの中央の
- どこかから印字を開始させないためにも, 紙の途中で印字の
- ジョブが終了したかどうかを確認するのは有益です.
-
- シェルスクリプト <tt>/usr/local/libexec/if-simple</tt>
- を次のように変更して, プリンタへジョブを送信した後に
- FROM FEED 文字を印字させるようにします.
-<code>
-#!/bin/sh
-#
-# if-simple - Simple text input filter for lpd
-# Installed in /usr/local/libexec/if-simple
-#
-# Simply copies stdin to stdout. Ignores all filter arguments.
-# Writes a form feed character (\f) after printing job.
-
-/bin/cat &amp;&amp; printf "\f" &amp;&amp; exit 0
-exit 2
-</code>
-
- <tag/「階段効果」が現れた/
-
- 次のような印字結果が得られた.
-<tscreen><verb>
-!"#$%&amp;'()*+,-./01234
- "#$%&amp;'()*+,-./012345
- #$%&amp;'()*+,-./0123456
-</verb></tscreen>
- あなたは<em/「階段効果」/の新たなる犠牲者になってしま
- いました. この原因は, 改行を表わすべき文字がなんであるか
- の解釈が混乱していることにあります. UNIX スタイルのオ
- ペレーティングシステムでは, 改行文字は ASCII コード10
- の line feed (LF) の1文字が使われています. MS-DOS や
- OS/2などは ASCII コード10の LF <em/と/, ASCII コード
- 13の文字 (carriage return または CR) をペアで使います.
- (訳注:Machintosh では CR のみで表現されています).
- 大抵のプリンタでは, 改行を表わすために MS-DOS の慣習にしたが
- います.
-
-
- FreeBSD で印字する場合, 印字したテキストは LF 文字だけ
- が使われていました. プリンタでは LF 文字を見つけると,
- 紙を1行分送り出しました. しかし, 次の文字を印字するた
- めの紙の水平方向の位置は維持されました. すなわち, CR
- 文字が意味することは, 次の文字を印字する位置を紙の左端
- に動かすことです.
-
-
- FreeBSD がプリンタに動作をして欲しいと思っている動作を
- 以下に示します.
-<tscreen><verb>
-プリンタが CR を受け取ったとき CR 動作 (復帰) をおこなう.
-プリンタが LF を受け取ったとき CR + LF 動作 (復帰, 改行) をおこなう.
-</verb></tscreen>
-
- このように動作させるための方法がいくつかあります.
-
- <itemize>
- <item> これらの文字の解釈を変えるために, プリンタ
- の設定スイッチかコントロールパネルを操作する方
- 法. どのようにして設定をするかはプリンタのマニュ
- アルを参照してください.
-
- <p> <em/注意:/ FreeBSD 以外のオペレーティン
- グシステムを切り替えて使う場合, CR と LF 文字
- の解釈をそのオペレーティングシステムで使われて
- いるようにプリンタを<em/再設定/する必要がある
- かもしれません. 以下に示す解決方法のいずれかを
- 選ぶのがよいかもしれませんね.
-
- <item> 自動的に LF を CR+LF に変換してくれる
- FreeBSD 用のシリアルドライバを入手する方法. も
- ちろん, このドライバはプリンタ専用に接続される
- シリアルポート<em/のみ/で動作します. この機能
- を許可するためには, <tt>/etc/printcap</tt> ファ
- イルで対象プリンタの <tt/fs/ 項目で CRMOD ビッ
- トをセットします.
-
- <item> LF 文字の扱いを一時的に変更するための<em/エ
- スケープコード/をプリンタに送る方法. プリンタ
- がサポートしているかもしれないエスケープコード
- については, プリンタのマニュアルを参照してくだ
- さい. 適切なエスケープコードが見つかったら, 最
- 初にそのコードを送り, 次にプリントジョブを送信
- するようにテキストフィルタを変更してください.
-
- <p> 次に, Hewlett Packard 社の PCL エスケープコー
- ドに対応しているプリンタのためのテキストフィル
- タの例を示します. このフィルタでは, プリンタ
- に LF 文字を LF と CR の2文字として扱わせます.
- その後に, プリンタにジョブを送ります. 最後に,
- ジョブの最終ページの紙を排出するため, FROM
- FEED 文字を送ります. このフィルタは Hewlett
- Packard 社のほとんどすべてのプリンタで機能するは
- ずです.
-
-<code>
-#!/bin/sh
-#
-# hpif - Simple text input filter for lpd for HP-PCL based printers
-# Installed in /usr/local/libexec/hpif
-#
-# Simply copies stdin to stdout. Ignores all filter arguments.
-# Tells printer to treat LF as CR+LF. Writes a form feed character
-# after printing job.
-
-printf "\033&amp;k2G" &amp;&amp; cat &amp;&amp; printf "\f" &amp;&amp; exit 0
-exit 2
-</code>
-
- ホスト orchid にある <tt>/etc/printcap</tt> の
- 例を以下に示します. ここには, 一番目のパラレル
- ポートにプリンタ (Hewlett Packard LaserJet 3Si)
- が一台接続されており, そのプリンタ名は
- <tt/teak/ です.
-<code>
-#
-# /etc/printcap for host orchid
-#
-teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
- :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
- :if=/usr/local/libexec/hpif:
-</code>
-
- <item> <em/訳注:/ LF を CR+LF に置き換える cat コマンド
- を作る方法も当然考えられます. そして, このコマ
- ンドと, <tt>if-simple</tt> の cat の部分
- を置き換えればよいわけです. 具体的にどのように
- するかは, 読者への練習問題としましょう.
- </itemize>
-
- <tag/各行が重ね書きされてしまった/
-
- プリンタは紙送りをまったくしませんでした. テキストすべての行
- がある行の上で重ねて印字されてしまいました.
-
- この問題は, 階段現象とは「正反対」な問題で, ほとんどま
- れにしか起こりません. FreeBSDでは行末として扱われる LF
- 文字が, 紙の左端に印字位置を復帰しますが, 紙送りはしな
- い CR 文字として扱われています.
-
- プリンタの設定スイッチかコントロールパネルを使って,
- LF と CR の文字を次のような解釈をするようにしてください.
-<tscreen><verb>
-プリンタが CR を受け取ったとき CR 動作 (復帰) をおこなう.
-プリンタが LF を受け取ったとき CR + LF 動作 (復帰, 改行) をおこなう.
-</verb></tscreen>
-
- <em/訳注:/ LF を CR+LF に置き換える cat コマンドを作る方法
- も当然考えられます. そして, このコマンドと,
- <tt>if-simple</tt> の cat の部分を置き換えればよいわけ
- です. 具体的にどのようにするかは, 読者への練習問題とし
- ましょう.
-
- <tag/プリンタが文字を紛失してしまう/
-
- 印字しているのですが, 各行の2〜3文字が印字されません.
- プリンタを動かせば動かすほど, もっとたくさんの文字が紛
- 失されていき, この問題は更に悪くなっていくかもしれませ
- んでした.
-
- この問題は, シリアルポートを通してコンピュータから送ら
- れてくるデータの速度に, プリンタがついていけないことに
- 起因します (この問題は, パラレルポートに接続されたプリ
- ンタでは発生することはありません). この問題を克服する
- 方法が2つあります.
- <itemize>
- <item> プリンタが XON/XOFF のフロー制御をサポート
- している場合は, 項目 <tt/fs/ で TANDEM ビット
- をセットして, FreeBSD にこの機能を使用させて
- ください.
-
- <item> プリンタがキャリアフロー制御をサポートして
- いる場合は, 項目 <tt/fs/ で MDMBUF ビットをセッ
- トして下さい. それから, プリンタとコンピュータ
- を接続しているシリアルケーブルがキャリアフロー
- 制御用に正しく配線されたものかどうかを確認して
- ください.
-
- <item> プリンタがフロー制御をまったくサポートしていな
- い場合は, 項目 <tt/fs/ の NLDELAY と
- TBDELAY, CRDELAY, VTDELAY, BSDELA のいくつかのビッ
- トを組み合わせて使い, プリンタへ送るデータの流
- れに適当な遅延を加えてください.
- </itemize>
-
- <tag/プリンタは意味不明な文字列を印字した/
-
- プリンタはランダムなゴミのように見えるものを印字しまし
- たが, 意図したテキストは印字してくれませんでした.
-
- この問題は, 通常, シリアルポートに接続したプリンタでの
- 通信パラメータの誤りからくる前項とは別の症状です.
- <tt/br/ 項目の通信速度と <tt/fs/ と <tt/fc/ 項目のパリ
- ティビットの設定を共に調べてみてください. また, プリン
- タでの設定が <tt>/etc/printcap</tt> ファイルで設定した
- 内容と一致しているかどうかも確認してください.
-
- <em/訳注:/ simple-if のような単純なフィルタだけの状態で, 日
- 本語を含むテキストを印字しようとした場合にも, シリアル
- ポート, パラレルポートの使用に関係なく, このような症状
- は見られます. 日本語プリンタの場合, 漢字コードそのもの
- を送信しただけでその漢字を印字してくれるものは, 少なく
- とも訳者は見たことがありません. 漢字を印字するための制御
- コードを別途送信するフィルタが必要となります. また, そ
- のようなフィルタを使用していても, そのフィルタが想定し
- てる漢字コードと異なった文書をプリントしようとしたとき
- もこのような症状は出ます. もちろん, これはプリンタ用の
- 言語を持たないプリンタの話で, PostScript プリンタ
- などにプレインテキストを送信しても, 日本語対応, 非対応
- に関らず, 意味不明な文字列が印字される (もしくは, 何も
- 印字されない) ことでしょう.
-
-
- <tag/何も起きない/
-
- もしプリンタが何の動作もしないのであれば, ハード的な問
- 題ではなく, 多分 FreeBSD の中に問題があります.
- <tt>/etc/printcap</tt> ファイルで, デバッグしているプ
- リンタのエントリに (<tt/lf/ 項目で) ログファイルを取るよ
- うに設定を追加してください. 例えば, プリンタ <tt/rattan/
- 用のエントリの項目 <tt/lf/ は次のようになります.
-<tscreen><verb>
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:\
- :lf=/var/log/rattan.log
-</verb></tscreen>
- 次に, もう一度印字をおこなってみます. そして, 発生したと思
- われるエラーメッセージを見るためにログファイル (上記の
- 例では, <tt>/var/log/rattan.log</tt>) を調べます. そこ
- で見られたメッセージを元に, 問題を解決してみてください.
-
- 項目 <tt/lf/ が指定されていない場合, LPD はデフォルト
- のログファイルとして <tt>/dev/console</tt> を使います.
- </descrip>
-
- <sect><heading>プリンタを使う<label id="printing:using"></heading>
-
- <p> この節では, FreeBSD で設定したプリンタを使う方法について説明
- します. ここでは, ユーザレベルでのコマンドを概説します.
- <descrip>
- <tag/<tt/lpr//
- 印字をおこないます.
-
- <tag/<tt/lpq//
- プリンタキューを調べます.
-
- <tag/<tt/lprm//
- プリンタキューにあるジョブを削除します.
-
- </descrip>
-
- 管理者用コマンド <tt/lpc/ もありますが, これは 「<ref
- id="printing:lpc" name="プリンタを管理する">」に記
- します. このコマンドは, プリンタやそのキューの制御のために用い
- られます.
-
- <tt/lpr/, <tt/lprm/, そして <tt/lpq/ の3コマンドは, 「<tt/-P/
- <it/printer-name/」オプションをとり, これによって,
- <tt>/etc/printcap</tt> のように操作の対象となるプリンタやキュー
- を指定します. これによって, 様々なプリンタに対してジョブを送る,
- 取り消す, 調査することができます. <tt/-P/ が使われなかった場
- 合は, これらのコマンドは PRINTER 環境変数で指定されたプリンタ
- を使用します. そして, PRINTER 環境変数がなかった場合は, これ
- らのコマンドはデフォルトのプリンタ <tt/lp/ を使います.
-
- 以下では, <em/デフォルトプリンタ/という用語が意味するプリンタ
- は, PRINTER 環境変数で指定されたプリンタ, もしくは, PRINTER
- 環境変数がない場合は, <tt/lp/ という名前のプリンタです.
-
- <sect1><heading> 印字する<label id="printing:lpr"></heading>
- <p>
-
- ファイルを印字するためには, 次のように入力してください.
-
-<tscreen>
-<tt>lpr <it/filename.../</tt>
-</tscreen>
- これにより, 入力されたファイルのそれぞれをデフォルトのプリンタ
- から印字します. ファイル名が与えられなかった場合, <tt/lpr/
- は標準入力から印字するデータを読み込みます. 例えば, 次のコマン
- ドにより, ある重要なシステムファイルが印字されます.
-<tscreen><verb>
-lpr /etc/host.conf /etc/hosts.equiv
-</verb></tscreen>
- 印字させるプリンタを選択するためには, 次のように入力します.
-<tscreen>
-<tt>lpr -P <it/printer-name/ <it/filename.../</tt>
-</tscreen>
- 次の例では, プリンタ <tt/rattan/ に, カレントディレクトリにあ
- るファイルの詳細なリストを印字しています. <tscreen>
-<verb>
-ls -l | lpr -P rattan
-</verb></tscreen>
- 上記の <tt/lpr/ コマンドではファイル名の指定がないので,
- <tt/lpr/ は標準入力から印字するデータ, この場合, <tt/ls -l/
- コマンドの出力, を読み込みます.
-
- <tt/lpr/ コマンドでは, 出力の整形を制御したり, ファイル変換を
- 適用したり, 複数部数のコピーを作成したり, などといた様々な幅広
- いオプションを受け付けることもできます. 詳細については, 「<ref
- id="printing:lpr:options" name="その他の印字オプション">」をご
- 覧ください.
-
- <sect1><heading>ジョブの処理状況を調べる<label id="printing:lpq">
- </heading>
-
- <p> <tt/lpr/ コマンドを使って印字をする場合, プリントしようと
- するデータは<em/プリントジョブ/と呼ばれる箱に一緒に置かれ, こ
- れが LPD スプーリングシステムに送られます. プリンタにはそれぞ
- れ, ジョブ用のキューがあり, 送られてきたジョブはあなたや他のユー
- ザからの別のジョブと一緒にそのキューで並んで, 処理される順番を
- 待ちます. プリンタは到着順にこれらのジョブの印字をおこないます.
-
- デフォルトプリンタのキューの状態を表示するには, <tt/lpq/ と入
- 力します. プリンタを指定するときは, <tt/-P/ オプションを使い
- ます. 例えば, 次のコマンド
-<tscreen><verb>
-lpq -P bamboo
-</verb></tscreen>
- は, プリンタ <tt/bamboo/ のキューの状態を表示します. この
- <tt/lpq/ コマンドの出力結果の例を次に示します.
-<tscreen><verb>
-bamboo is ready and printing
-Rank Owner Job Files Total Size
-active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes
-2nd kelly 10 (standard input) 1635 bytes
-3rd mary 11 ... 78519 bytes
-</verb></tscreen>
- この例では, <tt/bamboo/ のキューに3つのジョブがあることが分か
- ります. 最初のジョブはユーザ kelly からのものであり, <em/ジョ
- ブ番号/9が割り当てられています. プリンタのすべてのジョブには一意
- なジョブ番号が付けられています. ほとんどの場合, このジョブ番号
- は無視することができますが, ジョブをキャンセルするときにはこの
- 番号が必要になります. このことの詳細については, 「<ref
- id="printing:lprm" name="ジョブの削除"> 」をご覧ください.
-
- ジョブ番号9のジョブは2つのファイルを処理します. すなわち,
- <tt/lpr/ のコマンドラインに複数のファイル名が与えられたときは,
- 1つのジョブとして扱われるのです. このジョブは, 現在, アクティ
- ブジョブ (「Rank」の欄の <tt/active/ という後に注目) になってい
- ます. これは, プリンタからそのジョブが現在印字されているはずで
- あることを意味しています. 2番目のジョブでは, <tt/lpr/ コマン
- ドに標準入力からデータが与えられています. 3番目のジョブはユー
- ザ mary から与えられました. このジョブのサイズはとても大きくなっ
- ています. 彼女がプリントしようとしたファイルのパス名はここで表
- 示させるには長すぎるため, <tt/lpq/ コマンドはドットを3つだけ
- 表示しています.
-
- <tt/lpq/ からの出力で一番最初の行もまた有益な情報を与えていま
- す. この行から, プリンタが現在何をしているか (あるいは, 少なく
- とも LPD がプリンタがしていると思っていること) が分かります.
-
- <tt/lpq/ コマンドは <tt/-l/ オプションもサポートしています. こ
- れにより, 詳しい情報が表示されます. <tt/lpq -l/ の実行例を次
- に示します.
-<tscreen><verb>
-waiting for bamboo to become ready (offline ?)
-
-kelly: 1st [job 009rose]
- /etc/host.conf 73 bytes
- /etc/hosts.equiv 15 bytes
-
-kelly: 2nd [job 010rose]
- (standard input) 1635 bytes
-
-mary: 3rd [job 011rose]
- /home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes
-</verb></tscreen>
-
- <sect1><heading>ジョブの削除<label
- id="printing:lprm"></heading>
-
- <p> 印字するようジョブを送った後で印字を中断したくなったときは,
- <tt/lprm/ コマンドで, キューの中からそのジョブを削除することが
- できます. 大抵の場合, アクティブジョブでさえも <tt/lprm/ を使っ
- て削除することができますが, そのジョブの一部またはすべてが印字さ
- れてしまうかもしれません.
-
- デフォルトプリンタへのジョブを削除するためには, 最初に,
- <tt/lpq/ を使ってそのジョブ番号を調べます. すなわち, それから,
- 次のように入力して, ジョブを削除します.
-<tscreen>
-<tt/lprm <it/job-number//
-</tscreen>
- 特定のプリンタへのジョブを削除するときは, <tt/-P/ オプション
- を使ってそのプリンタを指定します. 例えば, プリンタ <tt/bamboo/
- のキューからジョブ番号10のジョブを削除するには次のようにします.
-<tscreen><verb>
-lprm -P bamboo 10
-</verb></tscreen>
- <tt/lprm/ コマンドには略記法がいくつかあります.
- <descrip>
- <tag/lprm -/
-
- あなたが (デフォルトプリンタへ) 送ったジョブをすべて削除し
- ます.
-
- <tag/lprm <it/user//
-
- ユーザ <it/user/ が (デフォルトプリンタへ) 送ったジョブ
- をすべて削除します. 他のユーザのジョブを削除できるのはスー
- パユーザだけです. あなたは, あなた自身のジョブしか削
- 除することはできません.
-
- <tag/lprm/
-
- ジョブ番号もユーザ名もシンボル「<tt/-/」も指定されない
- ときは, <tt/lprm/ は現在のアクティブジョブを, そのジョ
- ブを送ったのがあなた自身であるときに限り, デフォルトプ
- リンタから削除します. ただし, スーパユーザは任意のア
- クティブジョブを削除することができます.
- </descrip>
-
- 上記の略記法をデフォルトプリンタではなく特定のプリンタに対して
- おこなうときは, <tt/-P/ オプションでそのプリンタを指定するだけよ
- いのです. 例えば, プリンタ <tt/rattan/ のキューへあなたが送っ
- たジョブをすべて削除するためには次のようにします.
-
-<tscreen><verb>
-lprm -P rattan -
-</verb></tscreen>
-
- <em/注意:/ ネットワーク環境で作業をしている場合, あるホストか
- ら送られたプリンタジョブは, これを送ったホストで <tt/lprm/ を
- 使った場合に限って, これを削除することができます. 他のホストで
- 同じプリンタを使えたとしても, このジョブを削除することはできま
- せん. 次の例では, 他ホストからジョブを削除することを試みていま
- す.
-<code>
-rose% lpr -P rattan myfile
-rose% rlogin orchid
-orchid% lpq -P rattan
-Rank Owner Job Files Total Size
-active seeyan 12 ... 49123 bytes
-2nd kelly 13 myfile 12 bytes
-orchid% lprm -P rattan 13
-rose: Permission denied
-orchid% logout
-rose% lprm -P rattan 13
-dfA013rose dequeued
-cfA013rose dequeued
-rose%
-</code>
-
- <sect1><heading>その他の印字オプション
- <label id="printing:lpr:options"></heading>
-
- <p> <tt/lpr/ コマンドには, テキストの整形や, 図や他のファイル形
- 式の変換, 複数部コピーの生成, ジョブの扱いなどをを制御すること
- ができます. この節では, これに関するオプションについて記してい
- ます.
-
- <sect2><heading> 整形と変換に関するオプション <label
- id="printing:lpr:options:format"></heading>
-
- <p> 以下の <tt/lpr/ 用のオプションはジョブにおけるファイルの
- 整形の制御に関するものです. このオプションは, ジョブにプレイン
- テキストが含まれない場合や <tt/pr/ ユーティリティを使ってプレイ
- ンテキストを整形する場合に用いてください.
-
-
- 次の例では, プリンタ <tt/bamboo/ に (TeX 組版システムによる)
- DVI ファイル <tt/fish-report.dvi/ を印字しています.
-<tscreen><verb>
-lpr -P bamboo -d fish-report.dvi
-</verb></tscreen>
- このオプションは, ジョブに含まれるすべてのファイルに対して適用さ
- れます. したがって, 1つのジョブに (例えば) DVI ファイルと ditroff
- ファイルを混在させることはできません. その代わりに, ファイルを
- 形式毎に別々のジョブに分け, それぞれのジョブでその形式用の変換
- オプションを使って印字してください.
-
- <em/注意:/ <tt/-p/ と <tt/-T/ を除くすべてのオプションを使用
- するためには, 出力先プリンタ用の変換フィルタが必要です. 例えば,
- <tt/-d/ オプションを使用するには, DVI 用の変換フィルタが必要
- です. 詳細については, 「<ref id="printing:advanced:convfilters"
- name="変換フィルタ">」で説明しています.
-
-
- <descrip>
- <tag/<tt/-c// cifplot ファイルを印字します.
-
- <tag/<tt/-d// DVI ファイルを印字します.
-
- <tag/<tt/-f// FORTRAN プログラムを印字します.
-
- <tag/<tt/-g// plot のデータを印字します.
-
- <tag/<tt/-i <it/number///
-
- 出力に対して, <it/number/ カラム分の字下げをおこないます.
- <it/number/ が省略されると, 8カラム分字下げされます.
- このオプションはある変換フィルタと一緒の指定されたとき
- のみに機能します.
-
- <em/注意:/ <tt/-i/ と数字の間に空白を入れてはいけませ
- ん.
-
- <tag/<tt/-l//
-
- 制御文字を含む文字通りのテキストデータを印字します.
-
- <tag/<tt/-n// ditroff (device independent troff) データ
- を印字します.
-
- <tag/-p/
-
- 印字する前に <tt/pr/ によってプレインテキストを整形し
- ます. 詳細については pr(1) をご覧ください.
-
- <tag/<tt/-T <it/title///
-
- <tt/pr/ コマンドにより生成されるヘッダを, ファイル名の
- 代わりに <it/title/ とする. このオプションは, <tt/-p/
- と一緒に使ったときのみ機能する.
-
- <tag/<tt/-t// troff データを印字します.
-
- <tag/<tt/-v// ラスタのデータを印字します.
-
- </descrip>
-
- 次の例では, <tt/ls/ のマニュアルを美しく整形したものをデフォ
- ルトプリンタで印字しています.
-<tscreen><verb>
-zcat /usr/share/man/man1/ls.1.gz | troff -t -man | lpr -t
-</verb></tscreen>
- <tt/zcat/ コマンドで <tt/ls/ のマニュアルのソースファイルの圧
- 縮を復元し, これを <tt/troff/ コマンドに渡しています. これによ
- り, ソースファイルが整形され, GNU troff の形式となります. そ
- の結果は <tt/lpr/ に渡され, LPD スプーラへジョブの要求が発せ
- られます. <tt/lpr/ には <tt/-t/ オプションが使われているため,
- スプーラにて, GNU troff の形式からジョブを印字したときにデフォ
- ルトプリントが解釈できる形式へと変換されます.
-
- <sect2><heading> ジョブに関するオプション <label
- id="printing:lpr:options:job-handling"></heading>
-
- <p> 以下のオプションは, <tt/lpr/ によって, そのジョブを特殊
- な扱いにするよう LPD に指示するためのものである.
-
- <descrip>
- <tag/-&num; <it/copies//
-
- ジョブに含まれるファイルのそれぞれを1部だけ印字するの
- ではなく, <it/copies/ 部のコピーを生成させるものです.
- 管理者によっては, プリンタの消耗を避け, コピー機による
- 複製を奨励するためにこのオプションの使用が禁止されてい
- るかもしれません. これに関しては, 「<ref
- id="printing:advanced:restricting:copies"
- name="複数部のコピーの印字を制限する">」をご覧ください.
-
- <p> 次の例では, デフォルトプリンタで <tt/parser.c/ を3
- 部コピーし, 次に, <tt/parser.h/ を3部コピーしています.
-<tscreen><verb>
-lpr -#3 parser.c parser.h
-</verb></tscreen>
-
- <tag/-m/
-
- 印字ジョブが完了した後で, メールを送ります. このオプショ
- ンを付けると, LPD システムはジョブの扱いが終了したと
- きに, あなたのアカウントにメールを送ります. メールのメッ
- セージには, ジョブが正常終了したのか, あるいは, 何か異
- 常があり, (しばしば) その異常が何であったのかが書かれて
- います.
-
- <tag/-s/ 印字ファイルをスプールディレクトリにコピーせず,
- 代わりに, シンボリックリンクを作成するよう指示します.
-
- 印字させるジョブのサイズが大きいとき, このオプショ
- ンを使うと便利かもしれません. このオプションにより, スプー
- ルディレクトリの容量が節約されます (それに, 巨大なジョ
- ブのお陰でスプールディレクトリのあるファイルシステムの
- 空き容量がなくなってしまうかもしれません). さらに,
- LPD がいちいちすべてのデータをコピーする必要がなくなりま
- すので, 時間の節約にもなります.
-
- ただし, 欠点もあります. LPD はオリジナルのファイルを
- 直接参照するので, 印字が終了するまでそのファイルを変更
- したり削除することができません.
-
- <em/注意:/ リモートのプリンタで印字している場合, LPD
- は, 結局のところ, ローカルホストからリモートホストにファ
- イルをコピーする必要があります. したがって, <tt/-s/ オプ
- ションはローカルのスプーリングディレクトリの空き容量を
- 節約するだけで, リモート側では節約されません. それに
- も関わらず, このオプションはそれでも有用です.
-
- <tag/-r/
-
- ジョブに含まれるファイルを, スプーリングディレクトリに
- ファイルをコピーした後に削除します. もしくは, <tt/-s/
- オプションと一緒に使われた場合は, 印字終了後に削除され
- ます. このオプションの使用には十分注意して下さい.
- </descrip>
-
- <sect2><heading> ヘッダページ用オプション <label
- id="printing:lpr:options:misc"></heading>
-
- <p> 以下のオプションにより, ジョブのヘッダページに通常印字さ
- れるテキストを <tt/lpr/ に調整させることができます. 対象のプリ
- ンタからヘッダページが出力されない場合は, これらのオプションは
- 何の効力も持ちません. ヘッダページの設定に関する情報については,
- 「<ref name="ヘッダページ"
- id="printing:advanced:header-pages">」を参照してください.
-
- <descrip>
- <tag/-C <it/text//
-
- ヘッダページに印字されるホスト名を <it/text/ に置き換
- えます. なお, ホスト名の場所には, 通常, ジョブの要求が
- あったホストの名前が印字されます.
-
- <tag/-J <it/text//
-
- ヘッダページに印字されるジョブ名を <it/text/ に置き換
- えます. ジョブ名の場所には, 通常, ジョブの最初のファイ
- ル名, または, 標準入力からデータが印字されたときは
- 「stdin」が印字されます.
-
- <tag/-h/
-
- ヘッダページを出力を禁止します. <em/注意:/ サイトによっ
- ては, そのヘッダページの生成方法により, このオプション
- の効果が現れないかもしれません. 詳細は,
- 「<ref name="ヘッダページ"
- id="printing:advanced:header-pages">」をご覧ください.
- </descrip>
-
- <sect1><heading> プリンタを管理する <label
- id="printing:lpc"></heading>
-
- <p> プリンタの管理者として, プリンタの設置, 設定, そして, それ
- らのテストをおこなう必要がありました. <tt/lpc/ コマンドにより,
- これまでとは別な管理方法がプリンタと対話的におこなわれます.
- <tt/lpc/ により, 次のことが可能となります.
-
- <itemize>
- <item> プリンタの起動, 停止をおこなう.
-
- <item> キューへの入力の許可, 禁止をおこなう.
-
- <item> それぞれのキューにあるジョブの順番を変更する.
- </itemize>
-
- 最初に用語に関する注意をしておきます. プリンタが<em/停止してい
- る/とは, キューの中にあるどのジョブも印字されることがない状態
- を言います. この状態においても, ユーザはまだジョブの要求をおこなう
- ことができますが, これらのジョブはキューの中で, プリンタが<em/
- スタートする/状態になるまで, あるいは, キューの内容が削除され
- るまで待たされることになります.
-
- キューが<em/禁止状態にある/とは, (root 以外の) すべてのユーザが
- プリンタにジョブを要求することができない状態のことを言います.
- キューが<em/許可状態にある/場合は, ジョブの入力が許可されます.
- キューが<em/禁止状態にある/場合でも, プリンタを<em/スタートす
- る/状態にすることは可能です. この場合は, キューが空になるまで,
- キュー内のジョブの印字が続けられます.
-
- 一般的に, <tt/lpc/ コマンドを使用するには root の権限を持って
- いる必要があります. 一般のユーザも <tt/lpc/ コマンドを使うこと
- はできますが, プリンタの状態を取得することとハングしたプリンタ
- を再スタートすることだけに使用が制限されています.
-
- 以下に, <tt/lpc/ コマンドに関する説明の要約を述べます. ほとん
- どのコマンドでは, 操作対象となるプリンタを指定するため
- <it/printer-name/ 引数を与えます. <it/printer-name/ の代わり
- に <tt/all/ が与えられると, 操作は <tt>/etc/printcap</tt> 内に
- ある全プリンタに対しておこなわれることになります.
-
- <descrip>
- <tag/<tt/abort <it/printer-name///
-
- 現在のジョブをキャンセルし, プリンタを停止させます. キュー
- が許可状態にある場合は, ユーザはまだジョブを入力する
- ことができます.
-
- <tag/<tt/clean <it/printer-name///
-
- プリンタのスプーリングディレクトリから, ジョブの古いファ
- イルを削除します. 状況によって, とりわけ, 印字途中でエ
- ラーが発生していたり, 管理操作が頻発していた場合には,
- ジョブで作られたファイルを LPDが完全に削除しないことが
- あります. このコマンドでは, スプーリングディレクトリに
- 入っていないファイルを見つけ出し, それを削除しています.
-
- <tag/<tt/disable <it/printer-name///
-
- キューに新しいジョブを入れることを禁止します. プリンタ
- がスタート状態にあるときは, キューに残っているジョブの
- 印字は続けられます. ただし, キューが禁止状態にあったと
- しても, スーパーユーザ (root) は常にジョブを入力するこ
- とができます.
-
- このコマンドは, 新しいプリンタやフィルタを設置している
- 間に使用すると有用です. すなわち, キューを禁止状態にし
- ておくと, root によるジョブのみが入力されます. そして,
- その他のユーザは, テストが完了し, <tt/enable/ コマン
- ドでキューが再度許可状態になるまで, ジョブの入力はでき
- なくなります.
-
- <tag/<tt/down <it/printer-name/ <it/message...///
-
- プリンタをダウンさせます. これは, <tt/disable/ をおこなっ
- た後で, <tt/stop/ をおこなった場合と等価になります.
- <it/message/ は, ユーザが <tt/lpq/ コマンドでプリンタ
- のキューの状態を調べたり, <tt/lpc status/ でプリンタの
- 状態を調べたときに, プリンタの状況として表示されるメッ
- セージです.
-
- <tag/<tt/enable <it/printer-name///
-
- プリンタのキューを許可状態にします. ユーザはジョブの入
- 力ができるようになりますが, プリンタがスタートの状態に
- なるまでは, プリンタからは何も印字されません.
-
- <tag/<tt/help <it/command-name///
-
- <it/command-name/ コマンドのヘルプメッセージを表示しま
- す. <it/command-name/ が指定されなかった場合は, 利用
- できるコマンドの要約が表示されます.
-
- <tag/<tt/restart <it/printer-name///
-
- プリンタをスタートさせます. 通常のユーザは, LPD があ
- る異常な状況でハングしたときに限り, このコマンドを使用
- することができます. しかし, <tt/stop/ または
- <tt/down/ コマンドにより, 停止状態にあるプリンタをスター
- トさせることはできません. <tt/restart/ コマンドは,
- <tt/abort/ の後に <tt/start/ をおこなったことと同じになり
- ます.
-
- <tag/<tt/start <it/printer-name///
-
- プリンタをスタートさせます. プリンタのキューにあるジョ
- ブを印字することでしょう.
-
- <tag/<tt/stop <it/printer-name///
-
- プリンタを停止します. プリンタは, 現在のジョブを終了さ
- せ, そして, キューにあるその他のジョブは印字しません.
- プリンタが停止状態にあったとしても, まだ, 許可状態にあ
- るキューに対して, ジョブを送ることができます.
-
- <tag/<tt/topq <it/printer-name/ <it/job-or-username...///
-
- <it/printer-name/ のキューに対して, ジョブ番号
- <it/job/ のジョブ, または, ユーザ <it/username/ から送
- られたジョブを置き換えて, キューの先頭に持ってきます.
- このコマンドに関しては, <it/printer-name/ の代わりに
- <tt/all/ を使用することはできません.
-
- <tag/<tt/up <it/printer-name///
-
- プリンタをアップ状態にします. これの反対のコマンドが
- <tt/down/ です. <tt/start/ の次に <tt/enable/ をおこなっ
- たことと等しくなります.
- </descrip>
-
- コマンドラインから上記のコマンドを入力すると, <tt/lpc/ はこれ
- を受け付けます. コマンドが入力されなかった場合は, <tt/lpc/ は
- 対話モードに入り, <tt/exit/, <tt/quit/, または, ファイル終端
- 文字が入力されるまでコマンドの入力ができます.
-
-
- <sect><heading> プリンタ設定上級編 <label
- id="printing:advanced"></heading>
-
- <p> この節では, 特殊な形式のファイルを印字するためのフィルタ, ヘッ
- ダページ, ネットワーク越しのプリンタへの印字, そして, プリンタ
- 使用の制限や課金について説明しています.
-
- <sect1><heading> フィルタ <label
- id="printing:advanced:filter-intro"></heading>
-
- <p> LPD では, ネットワークプロトコル, キュー, アクセス制御, そ
- して, 印字のためのその他の側面について扱いますが, <em/実際の/
- 作業のほとんどは<em/フィルタ/によっておこなわれています. フィルタ
- は, プリンタと通信し, プリンタのデバイス依存性や特殊な要求を扱
- うプログラムです. 簡単なプリンタ設定では, プレインテキストのた
- めのフィルタをインストールしました. このプレインテキストフィル
- タは, ほとんどのプリンタで機能する極めて単純なものでした.
- (「<ref id="printing:textfilter"
- name="テキストフィルタのインストール">」を参照)
-
- しかしながら, 形式変換やプリンタ課金, 特定のプリンタの癖, など
- をうまく利用するためには, フィルタがどのように機能するかという
- ことを理解しておくべきです. これらの側面を扱うためには, 最終的
- には, フィルタの責任であるからです. そして, これは悪い情報です
- が, ほとんどの場合において, <em/あなた自身/がフィルタを供給す
- る必要があるということです. また都合のよいことには, たくさんのフィルタが
- 一般的に利用できるということです. もしフィルタがなかったとし
- ても, 普通は, フィルタを作るのは簡単です.
-
- FreeBSD にも, プレインテキストを印字させることができる
- <tt>/usr/libexec/lpr/lpf</tt> というフィルタが1つ付いています.
- (このフィルタはファイルに含まれるバックスペースやタブを扱いま
- す. また, 課金をすることもできますが, できることはこれだけしか
- ありません.) いくつかのフィルタとフィルタの構成要素が FreeBSD
- の ポート集にもあります.
-
- この節で述べることは次の通りです.
-
- <itemize>
- <item> 「<ref id="printing:advanced:filters" name="フィル
- タはどのように機能しているか">」では, 印字の過程におけ
- るフィルタの役割を概説します. この節を読むことで, LPD
- がフィルタを使うときに, 「見えないところで」何が起こっている
- かが理解できるでしょう. このことを知っておくと, プリン
- タそれぞれに様々なフィルタをインストールしたときに遭遇
- するかもしれない問題を予期したり, デバッグするときに役
- 立つでしょう.
-
- <item> LPD では, すべてのプリンタからデフォルトでプレインテ
- キストを印字できることを期待しています. このことは, プ
- レインテキストを直接印字できない PostScript (また
- は他の言語用の) プリンタでは問題を引き起こします. 「<ref
- id="printing:advanced:if-conversion" name="プレインテキス
- トのジョブを PostScript プリンタで印字する">」
- で, この問題を克服する方法について述べます. PostScript
- プリンタをお持ちの方は, この節をお読みになること
- をお薦めします.
-
- <item> PostScript は様々なプログラムのための有名な出
- 力形式です. ある人たちは (著者自身を含めて) PostScript
- のコードさえも直接書いてしまいます. しかし, PostScript
- プリンタは高価です. 「<ref id="printing:advanced:ps"
- name="非 PostScript プリンタで PostScript をシ
- ミュレートする">」では, PostScript データを<em/非
- PostScript プリンタ/に受けつけさせ, 印字させるために,
- どのようにしてプリンタ用のテキストフィルタをさらに変更
- すればよいのか, ということについて述べます. PostScript
- プリンタを持っていない方は, この節をお読みになる
- ことをお薦めします.
-
- <item> 「<ref id="printing:advanced:convfilters"
- name="変換フィルタ">」では, 図形や組版データといっ
- た特定のファイル形式を, プリンタが理解できる形式へ変換
- する作業を自動的におこなわせる方法について述べます. この節
- を読むと, troff のデータを印字するには <tt/lpr -t/,
- または, TeX DVI を印字するには <tt/lpr -d/, ラスタイ
- メージデータを印字するには <tt/lpr -v/, などといったよ
- うにユーザが入力することができるようにプリンタの設定を
- おこなうことができます. この節もお読みになることをお薦めし
- ます.
-
- <item> 「<ref id="printing:advanced:of" name="出力フィルタ">」
- では, あまり使われない LPD の機能のすべて,
- すなわち, 出力フィルタに関することが記述されています.
- ヘッダページ (「<ref id="printing:advanced:header-pages"
- name="ヘッダページ">」参照) を印字させていない場合は,
- 多分, この節は飛ばしても構わないでしょう.
-
- <item> 「<ref id="printing:advanced:lpf" name="テキストフィ
- ルタ lpf">」では, <tt/lpf/ についての説明が,
- ほぼ完全におこなわれています. これは FreeBSD に付属するラ
- インプリンタ (または, ラインプリンタのように動作するレー
- ザプリンタ) のための, 単純なテキストフィルタです. プレ
- インテキストを印字したことに対して課金をおこなう方法が至急
- 必要な場合, もしくは, バックスペース文字を印字しようと
- すると煙を発するプリンタを持っている場合は, 絶対に
- <tt/lpf/ を検討するべきです.
-
-<!--
- <item> 「<ref id="printing:advanced:kanji" name="日本語を
- 印字するために(訳者補足)">」では, 日本語を含むテキスト
- を印字するためのヒントを述べてます.
--->
- </itemize>
-
-
-
- <sect2><heading> フィルタはどのように機能しているか <label
- id="printing:advanced:filters"></heading>
-
- <p> 既に言及したように, フィルタとは, プリンタにデータを送る
- 際に, デバイスに依存した部分を取り扱うために LPD によって起動
- される実行プログラムです.
-
- LPD がジョブ中のファイルを印字しようとするとき, LPD はフィル
- タプログラムを起動します. このとき, フィルタの標準入力を印字す
- るファイルに, 標準出力をプリンタに, そして, 標準エラー出力をエ
- ラーログファイル (<tt>/etc/printcap</tt> 内の <tt/lf/ 項目で指
- 定されたファイル, または, 指定されていない場合は, デフォルトと
- して <tt>/dev/console</tt>) にセットします.
-
- LPD が起動するフィルタと, その引数が何であるかは,
- <tt>/etc/printcap</tt> ファイルの内容と, ジョブの起動時に
- ユーザが指定した <tt/lpr/ コマンドの引数に依存しています. 例え
- ば, ユーザが <tt/lpr -t/ と入力した場合は, LPD は出力先のプリ
- ンタ用の <tt/tf/ 項目で指定されている troff 用のフィルタを起動
- させるでしょう. ユーザがプレインテキストの印字を指示したときは,
- <tt/if/ で指定されたフィルタが起動されるでしょう (このことはほ
- とんどの場合にあてはまります. 詳細については, 「<ref
- id="printing:advanced:of" name="出力フィルタ">」をご覧ください).
-
- <tt>/etc/printcap</tt> で指定可能なフィルタは次の3種類がありま
- す.
- <itemize>
- <item> <em/テキストフィルタ/(LPD のドキュメントでは紛ら
- わしいことに<em/入力フィルタ/と呼んでいますが) は一般の
- テキストの印字を扱います. これはデフォルトのフィルタと
- 考えてください. LPD では, すべてのプリンタに対して, デフォ
- ルトでプレインテキストが印字できることを期待しています.
- さらに, バックスペースやタブを正しく扱い, また, 他の特
- 殊な文字が入力されてもプリンタに混乱を来さないようにす
- るのはテキストフィルタの仕事であると考えています.
-
- プリンタの使用に対して課金をしなくてはならない環境にあ
- るときは, テキストフィルタが印字したページ数を数える作
- 業もしなくてはなりません. この作業は, 通常, 印字した行
- 数を数え, これをプリンタが1ページ当たりに印字できる行
- 数と比較することでおこなわれます.
-
- テキストフィルタは, 次のような引数を付けて起動されます.
-<tscreen>
-<tt>[-c] -w<it/width/ -l<it/length/ -i<it/indent/ -n <it/login/ -h <it/host/ <it/acct-file/</tt>
-</tscreen>
- ここで,
- <descrip>
- <tag/<tt/-c//
-
- <tt/lpr -l/ によってジョブが入力されたときに与
- えられます.
-
- <tag/<tt/<it/width///
-
- <tt>/etc/printcap</tt> で指定された <tt/pw/
- (page width) 項目の値が与えられます. デフォル
- トは, 132です.
-
- <tag/<tt/<it/length///
-
- <tt/pl/ (page length) 項目で指定された値が与え
- られます. デフォルトは66です.
-
- <tag/<tt/<it/indent///
-
- <tt/lpr -i/ によって与えられた字下げの量で, デ
- フォルトは0です.
-
- <tag/<tt/<it/login///
-
- ファイルを印字したユーザのアカウント名が与えら
- れます.
-
- <tag/<tt/<it/host///
-
- ジョブが入力されたホスト名が与えられます.
-
- <tag/<tt/<it/acct-file///
-
- <tt/af/ 項目で指定されている課金データファイル
- の名前が与えられます.
- </descrip>
-
- <item> <em/変換フィルタ/は, 特定のファイル形式をプリンタ
- が紙に印字できるようなものに変換します. 例えば, プリン
- タで ditroff 組版データを直接印字することはできません.
- しかし, ditroff データをプリンタが消化し, 印字するこ
- とができる形式へ変換するために, ditroff ファイル用フィ
- ルタをインストールすることができます. 「<ref
- id="printing:advanced:convfilters" name="変換フィルタ">」
- で, これらに関するすべてについて説明します.
- プリンタの課金をする必要がある場合は, 変換フィルタでも
- 印字ページを数える作業が必要となります.
-
- 変換フィルタは次の引数をとって起動されます.
-<tscreen>
-<tt>-x<it/pixel-width/ -y<it/pixel-height/ -n <it/login/ -h <it/host/ <it/acct-file/</tt>
-</tscreen>
- ここで, <it/pixel-width/ は, <tt/px/ 項目で指定され
- た値 (デフォルトは0), <it/pixel-height/ は, <tt/py/ 項
- 目で指定された値 (デフォルトは0) です.
-
- <item> <em/出力フィルタ/は, テキストフィルタが指定されて
- おらず, かつ, ヘッダページの出力が許可されている場合に
- のみ使われます. 「<ref id="printing:advanced:of"
- name="出力フィルタ">」で, これらのことについて説明し
- ます. アウトプットフィルタに対する引数は次の2つだけです.
-<tscreen>
-<tt>-w<it/width/ -l<it/length/</tt>
-</tscreen>
- ここで, <tt/-w/ と <tt/-l/ は, テキストフィルタの場合
- と同じです.
- </itemize>
-
- フィルタは, 次に示すの終了状態をもってプログラムを <em/exit/
- するべきです.
- <descrip>
- <tag/exit 0/
-
- フィルタがファイルを正常に印字した場合.
-
- <tag/exit 1/
-
- フィルタはファイルの印字に失敗したが, LPD に再度ファ
- イルの印字を試みて欲しい場合. この終了状態で終了した場
- 合, LPD はフィルタを再スタートします.
-
- <tag/exit 2/
-
- フィルタはファイルの印字に失敗し, かつ, LPD に再出力
- を試みて欲しくない場合. この場合, LPD はそのファイル
- を放棄します.
- </descrip>
-
- FreeBSD に付属するテキストフィルタ
- <tt>/usr/libexec/lpr/lpf</tt> は, FROM FEED 文字が送られたと
- きやプリンタ使用に対する課金をどのようにするかを決定するために,
- ページ幅やページ長の引数を利用します. また, 課金用のエントリを
- 作成するため, ログイン名, ホスト名, 課金ファイル名の引数を利用
- します.
-
- もし, フィルタの購入を検討しているならば, LPD と互換性がある
- かどうかを確認してください. もしそうならば, 上述の引数リストをサ
- ポートしていなければなりません. 一般向けの使用のためにフィルタ
- を作成する計画をしている場合は, 同じ引数リストと終了コードをサ
- ポートしてください.
-
- <sect2><heading> プレインテキストのジョブを PostScript プリン
- タで印字する <label id="printing:advanced:if-conversion">
-
- </heading>
-
- <p> コンピュータと PostScript (または, 他の言語に対応し
- た) プリンタをあなたしか使用しない場合は, プリンタにプレ
- インテキストを絶対に送らない, そして, プリンタにプレインテキス
- トを送りたがっている様々なプログラムの機能を決して使わないこと
- にしてください. そうすれば, この節に書かれたことに心を煩わせる必
- 要はまったくなくなります.
-
- しかし, PostScript とプレインテキストの両方のジョブをプリン
- タへ送りたいと思っている場合は, プリンタ設定についての要求が増
- えるでしょう. 両者をプリンタへ送信するためには, 到着
- したジョブがプレインテキストであるか PostScript であるかを
- 検出するテキストフィルタが必要です. PostScript のジョブは
- すべて <tt/&percnt;!/ で始まらなければならないことになっています
- (他のプリンタ言語に関しては, プリンタのドキュメントをご覧くだ
- さい). ジョブの最初の2文字がこれならば, PostScript である
- ことが分かります. したがって, ジョブのそれ以降の部分をプリンタに直
- 接送ることができます (訳注:PostScript では, <tt/&percnt/
- 以降はコメントとして扱われるので, 最初の <tt/&percnt;!/ の行を
- 読み捨てても問題はない). 最初の2文字が <tt/&percnt;!/ でない場
- 合は, フィルタはテキストを PostScript に変換し, その結果を
- 使って印字をおこないます.
-
- この作業をどうやってやればよいのでしょうか.
-
- シリアルポートにプリンタを接続した場合は, <tt/lprps/ をインス
- トールすることをお勧めします. <tt/lprps/ は PostScript 用のフィルタで,
- プリンタとの双方向通信をおこないます. このフィルタでは, プリンタか
- らの冗長な情報を得ることで, プリンタの状況を示すファイルが更新
- されていきます. したがって, ユーザや管理者は (「トナー残量少」や
- 「紙詰まり」といった) プリンタの状況を正確に知ることができます.
- しかし, もっと重要なことは, <tt/psif/ と呼ばれるプログラムが
- 含まれているということです. このプログラムは, 入力されたジョブ
- がプレインテキストかどうかを検出し, これを PostScript に変
- 換するために, <tt/textps/ (<tt/lprps/ に付属する別のプログラ
- ム) を呼び出します. そして, このジョブをプリンタに送るために,
- <tt/lprps/ が使われます.
-
- <tt/lprps/ は FreeBSD のポート集に含まれています (「<ref
- id="ports" name="ポートコレクション">」を参照してください).
- もちろん,自分自身でプログラムを取ってきて, コンパイルし, インストールす
- ることもできます. <tt/lprps/ をインストールした後は,
- <tt/lprps/ の一部である <tt/psif/ プログラムのパス名を指定する
- だけです. ポート集から <tt/lprps/ をインストールしたときは,
- <tt>/etc/printcap</tt> の中のシリアル接続した PostScript
- プリンタのエントリに対して, 次を使ってください.
-<tscreen><verb>
- :if=/usr/local/libexec/psif:
-</verb></tscreen>
- LPD にプリンタをリード・ライトモードでオープンさせるために,
- <tt/rw/ 項目も指定すべきです.
-
- パラレルポートに接続したプリンタの場合 (すなわち, <tt/lprps/ が
- 必要としているプリンタとの双方向通信ができない), テキストフィ
- ルタとして次のシェルスクリプトを使うことができます.
-<code>
-#!/bin/sh
-#
-# psif - Print PostScript or plain text on a PostScript printer
-# Script version; NOT the version that comes with lprps
-# Installed in /usr/local/libexec/psif
-#
-
-read first_line
-first_two_chars=`expr "$first_line" : '\(..\)'`
-
-if [ "$first_two_chars" = "%!" ]; then
- #
- # PostScript job, print it.
- #
- echo $first_line &amp;&amp; cat &amp;&amp; printf "\004" &amp;&amp; exit 0
- exit 2
-else
- #
- # Plain text, convert it, then print it.
- #
- ( echo $first_line; cat ) | /usr/local/bin/textps &amp;&amp; printf "\004" &amp;&amp; exit 0
- exit 2
-fi
-</code>
- 上記のスクリプトにおいて, <tt/textps/ はプレインテキストから
- PostScript へ変換するために別にインストールしたプログラム
- です. テキストから PostScript へ変換するのには, お好みのどんなプロ
- グラムでも使うことができます. FreeBSD の ポート集 (「<ref
- id="ports" name="ポートコレクション">」を参照してください) には,
- <tt/a2ps/ と呼ばれるテキストから PostScript に変換するプログラムが
- 入っています.
-
- <em/訳注:/ 上記スクリプトでは, 先頭の行を読み込むために read
- を使っていますが, 困ったことに, read は読み込んだ文字列の先頭
- の空白文字を取り除いてしまいます. 従って, これらの空白文字は印
- 字されないことになり, 印字結果がファイルのイメージと異なる場合
- が出てきます. この事情は csh を利用した場合でも変わりません.
- 仮に, 先頭の空白文字を除去しない read コマンドを作ったとしても,
- 「echo $first_line」の $first_line 変数の内容をシェルが展開す
- る際に $first_line の先頭の空白文字が失われるため, 問題の解決
- にはなりません. 残念ながら, 訳者はこの問題をシェルプログラムだ
- けで解決する方法をしりません. perl か C 言語の力を借りないと解
- 決できないと思います.
-
-
- <sect2><heading> 非 PostScript プリンタで PostScript
- をシミュレートする <label id="printing:advanced:ps"></heading>
-
- <p> PostScript は質の高い組版と印字をおこなうための<em/事実
- 上の/標準です. しかしながら, PostScript は, <em/高価な/標
- 準です. ありがたいことに, Alladin Enterprises から
- <it/Ghostscript/ と呼ばれる, PostScript 互換の動作をするフリー
- のプログラムが出されていて, FreeBSDで動きます. Ghostscript
- はほとんどの PostScript ファイルを読むことができ, これらの
- 各ページをたくさんのブランドの非 PostScript プリンタを含む
- 様々なデバイス用に変換することができます. Ghostscript をイン
- ストールし, プリンタ用の特別なテキストフィルタを使うことによっ
- て, 非 PostScript プリンタをあたかも本物の PostScript
- プリンタであるかのように動作させることができます.
-
- Ghostscript はポート集に入っていますので, そこからインストール
- することができます. また,
- 自分でソースプログラムを持ってきて, コンパイルし, インストー
- ルすることもできます. この作業はとても簡単にできます.
-
- PostScript プリンタをシミュレートさせる場合は, テキストフィ
- ルタに PostScript ファイルを印字しようとしているかどうかを
- 検出させます. PostScript ファイルでない場合は, フィルタは
- そのファイルを直接プリンタに送ります (訳注:テキストファイルを直
- 接印字できない場合は, もちろん, 変換フィルタを通す必要がありま
- す). PostScript の場合は, まず, Ghostscript を使い, ファ
- イルをそのプリンタが理解できる形式へ変換します.
-
- 次の例のスクリプトは, Hewlett Packard DeskJet 500 プリンタ用
- のテキストフィルタです. 他のプリンタで用いるときは,
- <tt/-sDEVICE/ 引数を <tt/gs/ (Ghostscript) コマンドに変えてくだ
- さい. (<tt/gs -h/ と入力すると, 現在インストールされている
- Ghostscript でサポートされているデバイスのリストが得られます).
-<code>
-#!/bin/sh
-#
-# ifhp - Print Ghostscript-simulated PostScript on a DeskJet 500
-# Installed in /usr/local/libexec/hpif
-
-#
-# Treat LF as CR+LF:
-#
-printf "\033&amp;k2G" || exit 2
-
-#
-# Read first two characters of the file
-#
-read first_line
-first_two_chars=`expr "$first_line" : '\(..\)'`
-
-if [ "$first_two_chars" = "%!" ]; then
- #
- # It is PostScript; use Ghostscript to scan-convert and print it
- #
- /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 -sOutputFile=- - \
- &amp;&amp; exit 0
-
-else
- #
- # Plain text or HP/PCL, so just print it directly; print a form
- # at the end to eject the last page.
- #
- echo $first_line &amp;&amp; cat &amp;&amp; printf "\f" &amp;&amp; exit 2
-fi
-
-exit 2
-</code>
- 最後に, <tt/if/ 項目を通して, LPD にこのフィルタを教えてやる
- 必要があります.
-<tscreen><verb>
- :if=/usr/local/libexec/hpif:
-</verb></tscreen>
- これでおしまいです. <tt/lpr plain.text/ とか <tt/lpr
- whatever.ps/ と入力してみましょう. どちらも正常に印字されるは
- ずです.
-
- <em/訳注:/ 日本語を印字する場合は, 日本語対応の Ghostscript が必要で
- す. 日本語対応版の Ghostscript もポート集に入っているはずです.
-
- <sect2><heading> 変換フィルタ <label
- id="printing:advanced:convfilters"></heading>
-
- <p> 「<ref name="プリンタ設定導入編" id="printing:simple">」
- に書かれた簡単な設定が完了したら, 最初に, やってみたいと思
- うことは, 多分(プレイン ASCII テキストに加えて) 好みのファイル形式
- のための変換フィルタをインストールすることでしょう.
-
- <sect3><heading> なぜ, 変換フィルタをインストールするのか?
- </heading>
-
- <p> 変換フィルタによって, 様々な種類のファイルを印字するこ
- とが簡単になります. 例えば, TeX 組版システムでたくさんの仕事
- をしたと仮定しましょう. そして, PostScript プリンタが接続
- されているとします. すると, TeX で DVI ファイルを作成する度に,
- DVI ファイルを印字するために, これを PostScript ファイルに
- 変換する必要があります. このコマンドは次のようになるでしょう.
-<tscreen>
-<verb>
-dvips seaweed-analysis.dvi
-lpr seaweed-analysis.ps
-</verb></tscreen>
- DVI ファイル用の変換フィルタがインストールしてあると, LPD に
- 変換を肩代わりさせることで毎回毎回おこなわなければならなかった面倒
- な変換作業を省くことができます. つまり, DVI を生成したら,
- 次のような1回のコマンド入力だけで, これが印字されます.
-<tscreen><verb>
-lpr -d seaweed-analysis.dvi
-</verb></tscreen>
- LPD に DVI ファイルの変換をさせるためには, <tt/-d/ オプション
- を指定します. 変換オプションのリストは「<ref
- id="printing:lpr:options:format" name="整形と変換に関するオプ
- ション">」に載せてあります.
-
- 変化のオプションのそれぞれをプリンタにサポートさせるためには,
- <em/変換フィルタ/をインストールし, そのパス名を
- <tt>/etc/printcap</tt> の中で指定しなくてはなりません. 変換フィ
- ルタは, プレインテキストを印字する代わりに, フィルタはファイル
- をプリンタが理解できる形式に変換するところを除けば, 「プリンタ
- の簡単な設定」で説明したテキストファイル (「<ref
- id="printing:textfilter" name="テキストフィルタのインストール">」
- を見て下さい) に似ています.
-
-
- <sect3><heading> どの変換フィルタをインストールすべきか?
- </heading>
-
- <p> 使いたいと思う変換フィルタをインストールすべきです.
- DVI のデータを頻繁に印字するならば, DVI 変換フィルタ
- をインストールするのが適切でしょう. 印字しなくてはなら
- ない troff を大量に抱えている場合は, 多分, troff フィ
- ルタが欲しくなるはずです.
-
- 次の表は, LPD で動作するフィルタと,
- <tt>/etc/printcap</tt> ファイルでのエントリする項目,
- そして, <tt/lpr/ コマンドで呼び出す方法をまとめたもの
- です.
-<code>
- /etc/printcap
-ファイル形式 項目 lpr オプション
------------- ------------- ----------
-cifplot cf -c
-DVI df -d
-plot gf -g
-ditroff nf -n
-FORTRAN text rf -f
-troff tf -t
-raster vf -v
-プレインテキスト if なし, -p, または -l
-</code>
-
- 先の例のように, <tt/lpr -d/ を使うためには, 出力先の
- プリンタの <tt>/etc/printcap</tt> 内のエントリで,
- <tt/df/ 項目が必要であることが分かります.
-
- 反論はあるかも知れませんが,
- FORTRAN テキストや plot のような形式は, 多分, 廃れ
- てていくでしょう. あなたのサイトで, 自前のフィルタをイ
- ンストールするだけで, プリントオプションのいくつか, あ
- るいは, 全部に新しい意味を与えることができます. 例えば,
- Prinerleaf ファイル (Interleaf デスクトップパブリッシン
- グプログラムによるファイル) を直接印字したいとします.
- そして, Printerleaf 用の変換フィルタを <tt/gf/ 項目で
- 指定したパスにインストールすれば, <tt/lpr -g/ の意味
- は「Printerleaf ファイルを印字する」意味だとユーザに教
- えることができます.
-
-
- <sect3><heading> 変換フィルタのインストール</heading>
-
- <p> 変換フィルタは FreeBSD の基本システムのインストールとは別
- にインストールするプログラムなので, 変換フィルタは, 多
- 分, <tt>/usr/local</tt> ディレクトリの下に置くべ
- きです. フィルタは LPD だけが実行する特別なプログラム,
- すなわち, 一般ユーザが実行する必要すらない
- プログラムなので, <tt>/usr/local/libexec</tt> ディレ
- クトリに置くのが普通です.
-
- 変換フィルタを使用可能にするためには,
- <tt>/etc/printcap</tt> の目的のプリンタの適切な項目に
- フィルタがあるパス名を指定します.
-
- DVI 変換フィルタをプリンタ <tt/bamboo/ のエントリに加
- えてみましょう. プリンタ <tt/bamboo/ の <tt/df/ 項目を
- 新たに加えた<tt>/etc/printcap</tt> ファイルの例を以下
- に再掲します.
-<code>
-#
-# /etc/printcap for host rose - added df filter for bamboo
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\
- :if=/usr/local/libexec/psif:\
- :df=/usr/local/libexec/psdf:
-</code>
- DVI フィルタは <tt>/usr/local/libexec/psdf</tt> という
- 名前のシェルスクリプトです. このスクリプトは次のように
- なっています.
-<code>
-#!bin/sh
-#
-# psdf - DVI to PostScript printer filter
-# Installed in /usr/local/libexec/psdf
-#
-# Invoked by lpd when user runs lpr -d
-#
-exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"
-</code>
- このスクリプトでは, <tt/dvips/ をフィルタモード (引数
- <tt/-f/) で, 標準入力上で起動しています. 標準入力は印字
- するジョブです. それから, PostScript プリンタ用フィ
- ルタ <tt/lprps/ (これについては「<ref
- id="printing:advanced:if-conversion" name="プレインテキス
- トのジョブを PostScript プリンタで印字する">」
- を参照してください) を LPD に与えられた引数を付けて起動
- します. <tt/lprps/ はこれらの引数を印字されたページ分
- の課金をおこなうために使われます.
-
- <sect3><heading> 変換フィルタのその他の例 </heading>
-
- <p> 変換フィルタのインストールには決まったステップがないの
- で, その代わりに, 例をもっと挙げることにします. これを,
- 自分でフィルタを作る際のガイドにしてください. 適当な例が
- あったら, それをそのまま使ってください.
-
- 次のスクリプト例は, Hewlett Packard LaserJet III-Si の
- ための, raster (ええと・・実は, GIF ファイル) 用の変
- 換フィルタです.
-<code>
-#!/bin/sh
-#
-# hpvf - Convert GIF files into HP/PCL, then print
-# Installed in /usr/local/libexec/hpvf
-
-PATH=/usr/X11R6/bin:$PATH; export PATH
-
-giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \
- && exit 0 \
- || exit 2
-</code>
- ここでは, GIF ファイルから PNM (portable anymap) 形式
- に変換し, 次に PGM (portable graymap) 形式に変換してか
- ら, LaserJet/PCL-互換データに変換しています.
-
- 上記のフィルタを使うプリンタのためのエントリを付け加え
- た <tt>/etc/printcap</tt> ファイルは次のようになります.
-<code>
-#
-# /etc/printcap for host orchid
-#
-teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
- :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
- :if=/usr/local/libexec/hpif:\
- :vf=/usr/local/libexec/hpvf:
-</code>
-
- 次のスクリプトは, PostScript プリンタ <tt/bamboo/
- のための groff 組版システムの troff データのための変換
- フィルタです.
-<code>
-#!/bin/sh
-#
-# pstf - Convert groff's troff data into PS, then print.
-# Installed in /usr/local/libexec/pstf
-#
-exec grops | /usr/local/libexec/lprps "$@"
-</code>
- 上記のスクリプトではプリンタとの通信をおこなうため,
- <tt/lprps/ をまた利用しています. プリンタがパラレルポー
- トに接続されている場合は, 代わりに, 次のスクリプトを使
- うかもしれません.
-<code>
-#!/bin/sh
-#
-# pstf - Convert groff's troff data into PS, then print.
-# Installed in /usr/local/libexec/pstf
-#
-exec grops
-</code>
- これで完成しました. 次に, フィルタを使用可能にするため
- に <tt>/etc/printcap</tt> に加える必要があるエントリを
- 示します.
-<tscreen><verb>
- :tf=/usr/local/libexec/pstf:
-</verb></tscreen>
-
- 次の例をみたら, FORTRAN のベテランは赤面するかもしれ
- ません. この FORTRAN テキストフィルタは, プレインテキ
- ストを直接印字できるすべてのプリンタで利用できます. この
- フィルタをプリンタ <tt/teak/ にインストールすることに
- しましょう.
-<code>
-#!/bin/sh
-#
-# hprf - FORTRAN text filter for LaserJet 3si:
-# Installed in /usr/local/libexec/hprf
-#
-
-printf "\033&amp;k2G" &amp;&amp; fpr &amp;&amp; printf "\f" &amp;&amp; exit 0
-exit 2
-</code>
- そして, このフィルタを使用可能にするため, 以下の行を
- <tt>/etc/printcap</tt> のプリンタ <tt/teak/ のエントリ
- に加えます.
-<tscreen><verb>
- :rf=/usr/local/libexec/hprf:
-</verb></tscreen>
-
- これが最後の, そして, 若干複雑な例です. 前に紹介した
- LaserJet プリンタ <tt/teak/ に, DVI フィルタを加える
- ことにしましょう. 最初に, 簡単な部分をおこないます. すなわ
- ち, DVI フィルタの位置を <tt>/etc/printcap</tt> に書
- き加えます.
-<tscreen><verb>
- :df=/usr/local/libexec/hpdf:
-</verb></tscreen>
-
- さて, 難しい部分であるフィルタの作成をおこないます. このた
- めに, DVI から LaserJet/PCL への変換プログラムが必要
- です. FreeBSD のポート集 (「<ref id="ports" name="ポー
- トコレクション">」を参照してください) には, それがあ
- ります. <tt/dvi2xx/ というのがそのパッケージの名前で
- す. これをインストールすると, 必要なプログラム
- <tt/dvilj2p/ が使えます. このプログラムは DVI を
- LaserJet IIp, LaserJet III, そして LaserJet 2000 の互
- 換コードへ変換してくれます.
-
- <tt/dvilj2p/ はフィルタ <tt/hpdf/ を極めて複雑にしてい
- ます. なぜなら, <tt/dvilj2p/ は標準入力からデータを読
- み込むことができないからです. このプログラムを働かせる
- ためには, ファイル名が必要です. もっと悪いことに, ファ
- イル名は <tt/.dvi/ で終わっている必要があり, 標準入力
- の代わりに, <tt>/dev/fd/0</tt> を使うのは問題がありま
- す. この問題は, (<tt/.dvi/ で終わる) 一時的なファイル名
- から<tt>/dev/fd/0</tt> に (シンボリックな) リンクを張る
- ことで回避することができます. これで, <tt/dvilj2p/ に
- 強制的に標準入力からデータを読み込ませることができます.
-
- もう1つの問題は, 一時的なリンクを張るために /tmp ディ
- レクトリを使うことができないという事実です. シンボリッ
- クリンクはユーザ, グループが <tt/bin/ であるユーザに所
- 有されています. フィルタはユーザ <tt/daemon/ として起
- 動します. そして, <tt>/tmp</tt> ディレクトリはスティッ
- キービットが立っています. フィルタはリンクを作ることが
- できます. しかし, リンクは別のユーザに所有されているた
- め, 作業が終了したとき, このリンクを削除することができ
- ません.
-
- その代わりに, シンボリックリンクは現在の作業ディレクト
- リ, すなわち, スプーリングディレクトリ
- (<tt>/etc/printcap</tt> の <tt/sd/ 項目で指定する) に作
- ることにします. フィルタが作業するにはここの場所は完璧
- な場所で, なぜなら, 特に, スプーリングディレクトリのディ
- スクの空き容量は (ときどき) <tt>/tmp</tt> ディレクトリ
- よりもたくさんあるからです.
-
- 以下に示すのが最後のフィルタです.
-<code>
-#!/bin/sh
-#
-# hpdf - Print DVI data on HP/PCL printer
-# Installed in /usr/local/libexec/hpdf
-
-PATH=/usr/local/bin:$PATH; export PATH
-
-#
-# Define a function to clean up our temporary files. These exist
-# in the current directory, which will be the spooling directory
-# for the printer.
-#
-cleanup() {
- rm -f hpdf$$.dvi
-}
-
-#
-# Define a function to handle fatal errors: print the given message
-# and exit 2. Exiting with 2 tells LPD to do not try to reprint the
-# job.
-#
-fatal() {
- echo "$@" 1>&amp;2
- cleanup
- exit 2
-}
-
-#
-# If user removes the job, LPD will send SIGINT, so trap SIGINT
-# (and a few other signals) to clean up after ourselves.
-#
-trap cleanup 1 2 15
-
-#
-# Make sure we are not colliding with any existing files.
-#
-cleanup
-
-#
-# Link the DVI input file to standard input (the file to print).
-#
-ln -s /dev/fd/0 hpdf$$.dvi || fatal "Cannot symlink /dev/fd/0"
-
-#
-# Make LF = CR+LF
-#
-printf "\033&amp;k2G" || fatal "Cannot initialize printer"
-
-#
-# Convert and print. Return value from dvilj2p does not seem to be
-# reliable, so we ignore it.
-
-#
-dvilj2p -M1 -q -e- dfhp$$.dvi
-
-#
-# Clean up and exit
-#
-cleanup
-exit 0
-</code>
-
-
- <sect3><heading> 自動変換: その他の変換フィルタ
- <label id="printing:advanced:autoconv"></heading>
-
- <p> ここまでに述べてきたフィルタによって, 印字環境の能率が
- 上がったことと思います. しかし, これはどのフィルタを使
- うかを (<tt/lpr/ のコマンドライン上で) ユーザが指定しな
- くてはならないという代価を支払って実現されています. コ
- ンピュータの事情にあまり詳しくないユーザにとって, フィ
- ルタのオプションを指定させられるということはいらいらさ
- せられるものになるでしょう. 更に悪いことに, 間違ったフィ
- ルタオプションを指定されると, 間違った形式のファイルが
- そのフィルタに適用されることになり, その結果, 何百枚も
- の紙を掃き出すことになるかもしれません.
-
- そのような結果になるならば, 変換フィルタをインストール
- するよりもむしろ, テキストフィルタ (これがデフォルトフィ
- ルタなので) に印字するよう要求されたファイルの形式を検
- 出させ, 自動的に, 適切な変換フィルタを起動するようにし
- たいと思うかもしれません. ここでは <tt/file/ コマンド
- のようなツールを役立たせることができます. もちろん,
- <em/いくつかの/ファイル形式の違いを見分けることは難しい
- ことでしょう. そして, もちろん, それらのファイルに対し
- ては, 変換フィルタを提供するだけで済ますこともできるの
- です.
-
- FreeBSD のポート集には, <tt/apsfilter/ と呼ばれる自
- 動変換をおこなうテキストフィルタがあります. このフィルタは
- プレインテキスト, PostScript, DVI ファイルを検
- 出し, 適当な変換をおこなった後, データを印字することができ
- ます.
-
-
- <sect2><heading> 出力フィルタ <label
- id="printing:advanced:of"></heading>
-
- <p> LPD スプーリングシステムでは, ここまでにまだ取り上げていな
- いフィルタ形式, 出力フィルタをサポートしています. 出力
- フィルタは, テキストフィルタのように, プレインテキスト
- のみを印字するために意図されたものですが, 非常に簡単化
- されています. テキストフィルタを用いずに, 出力フィルタ
- を使っている場合は, 次のようになります.
- <itemize>
- <item> LPD はジョブ中の各ファイルに一度ではなく, ジョブ
- 全体に対して一度だけ出力フィルタを起動します.
-
- <item> LPD は出力フィルタに対し, ジョブ中のファイルの先
- 頭や末尾を特定するための対策を一切おこなっていません.
-
- <item> LPD はユーザのログイン名やホスト名をフィルタに渡
- しません. したがって, 課金の処理をおこなうことは考えてい
- ません. 実際, 出力フィルタには, 以下2つの引数しか与え
- られません.
-<tscreen>
-<tt>-w<it/width/ -l<it/length/</tt>
-</tscreen>
- ここで, <it/width/ は対象となるプリンタの <tt/pw/ 項
- 目, <it/length/ は <tt/pl/ 項目に指定された数です.
- </itemize>
-
- 出力フィルタの簡便さに誘惑されてはいけません. もし, ジョ
- ブ中のそれぞれのファイルに別のページ番号を付加しようと
- しても, 出力フィルタは<em/うまく動作しないでしょう/.
- そのような動作を期待しているならば, (入力フィルタとし
- ても知られている) テキストフィルタを使ってください. 詳
- しくは, 「<ref id="printing:textfilter" name="テキスト
- フィルタのインストール">」をご覧ください. さらに, 出力
- フィルタは, 実のところ, <em/もっと複雑/になっています.
- まず, 特殊なフラグ文字を検出するために, フィルタに送ら
- れてくるバイトストリームを検査する必要があります. また,
- LPD に代わって, 自分自身にシグナルを送らなければなりま
- せん.
-
- しかしながら, ヘッダページの印字をおこないたい場合, また,
- エスケープシーケンスやヘッダページを印字できるようにす
- るその他の初期化文字列を送信する必要がある場合, 出力ファ
- イルが<em/必要/です.
-
- 1台のプリンタに対し, LPD では出力フィルタとテキスト,
- または, 他のフィルタを両方使うことができます. このよう
- な場合, LPD はヘッダページ (「<ref
- id="printing:advanced:header-pages" name="ヘッダページ">」
- を参照してください) だけを印字させるために, 出
- 力フィルタを起動させます. それから LPD では, アウトプッ
- トフィルタに2バイトの文字 (ASCII 031 の次に ASCII 001)
- を送ることで, 出力フィルタが<em/自力で停止する/ことを
- 期待しています. 2バイト (031, 001) が出力フィルタに送られ
- たとき, 出力フィルタは自分自身にシグナル SIGSTOP を送
- ることによって停止するべきです. LPD がその他のフィル
- タの起動を完了したとき, LPD は出力フィルタにシグナル
- SIGCONT を送ることで, 出力フィルタを再起動させます.
-
- 出力フィルタがあり, テキストフィルタが<em/ない/場合,
- LPD はプレインテキストのジョブをおこなう際に, 出力フィル
- タを使います. 前述したように, 出力フィルタでは, ジョブ
- 中の各ファイルの並びの間に FROM FEED 文字や紙を排出す
- る他の文字を入れることはしません. この動作は多分, あな
- たが求めているものとは<em/異なっている/でしょう. ほと
- んどすべての場合において, テキストフィルタが必要とされる
- はずです.
-
- プログラム <tt/lpf/ は, テキストフィルタの項で既に紹介
- しましたが, 出力フィルタとしても動作させることができま
- す. もし, 簡便で極悪な出力フィルタが必要で, かつ, バイ
- トストリームを検査したりシグナルを送るコードを書きたく
- ないときには, <tt/lpf/ をお試しください. あるいは, プ
- リントが要求する初期化コードを送るために, <tt/lpf/ を
- シェルスクリプトに包んで使うこともできます.
-
-
- <sect2><heading> テキストフィルタ <tt/lpf/ <label
- id="printing:advanced:lpf"></heading>
-
- <p> プログラム <tt>/usr/libexec/lpr/lpf</tt> は, FreeBSD の
- バイナリ配布に付属しているテキストフィルタ (入力フィル
- タ) で, 出力を字下げしたり (<tt/lpr -i/ でジョブが入力さ
- れたとき), 文字を未処理のままプリンタに送ったり
- (<tt/lpr -l/ でジョブが入力されたとき), ジョブ中のバッ
- クスペースやタブの印字位置を調節したり, 印字したページ
- に対して課金したりすることができます. また, このフィル
- タは出力フィルタとしても動作させることができます.
-
- <tt/lpf/ は多くの印字環境において使用することに適して
- います. このフィルタには, プリンタに初期化文字列を送る
- 機能はありませんが, 必要とされる初期化をおこない, それから
- <tt/lpf/ を実行させるためのシェルスクリプトを作成する
- のはたやすいことです.
-
- <tt/lpf/ に対して, 印字ページへの課金を正確におこなわせる
- ためには, <tt>/etc/printcap</tt> ファイルの中の
- <tt/pw/ と <tt/pl/ の項目に正確な値を入れておく必要が
- あります. これらの値は, どのくらいの量のテキストがペー
- ジにフィットするか, また, ユーザのジョブが何ページある
- のかを調べるために使われます. プリンタの課金についての
- 詳しい情報については, 「<ref
- id="printing:advanced:acct" name="プリンタの利用に対す
- る課金">」をご覧ください.
-
-
-<!--
- <sect2><heading> 日本語を印字するために(訳者補足) <label
- id="printing:advanced:kanji" name="日本語を
- 印字するために(訳者補足)"></heading>
-
- <p> 日本語を印字するためには, 当然ながら, 日本語に対応
- したフィルタが必要になります. 本節では, 日本語対応フィ
- ルタについての情報を提供します.
-
- <itemize>
- <item> フィルタを準備する前に, 漢字コード変換フィルタ
- を準備する必要があります. ご存知の通り, 漢字コードの体
- 系は幾つか知られていますが, 大抵のフィルタではその内の
- 一種類にしか対応していない場合がほとんどです. どんな漢
- 字コードの入力があってもよいように, 漢字コード自動判別
- 機能を持った漢字コード変換フィルタを準備し, 印字するデー
- タをフィルタが想定している漢字コードに変換してください.
- このような漢字フィルタには, nkf や ack などがしられて
- います. この内, ・・・はポート集に含まれています.
-
- <item> 次に, 日本語対応フィルタを用意します. 日本語
-PostScript プリンタの場合は, ・・・などがあります. また, Canon の
-Lips 対応プリンタの場合は・・・などがあります.
-
- <item> 日本語用の GhostScript もあり, ポート集にも付
-属しています. ドライバの話・・・
-
- <item> そうでないとき. PC-201系と ESC/P系の場合. 自分
-で作れ. 練習問題としては最適?
- <item> あとは・・
- </itemize>
-, と. を変換する
--->
-
-
- <sect1><heading> ヘッダページ <label
- id="printing:advanced:header-pages"></heading>
-
- <p> あなたが管理するシステムのユーザが<em/たくさん/おり, ユー
- ザ全員が様々なプリンタを使用する場合, 多分, 必要悪である
- <em/ヘッダページ/を印字させることを検討したいと思うかもしれま
- せん.
-
- ヘッダページは, <em/バナー/とか<em/バーストページ/としても知ら
- れていますが, 出力されたジョブが誰によるものなのかを特定させる
- 働きがあります. 印字結果の山の中において, ユーザのジョブによっ
- て印字された本物のドキュメント部分よりも際立たせるために, ヘッ
- ダページは, 通常, 多分, 縁が装飾されている大きな太文字で印字さ
- れます. ヘッダページにより, ユーザは自分が出したジョブがどこに
- あるのかをすばやく見つけることができます. ヘッダページの欠点は,
- 明らかに, すべてのジョブに対して, 紙が1枚余分に印字されるという
- ことです. この紙の有効期間は短く, 2〜3分も続きません. 最終的に,
- これらの紙は再利用紙入れの中かくずの山に入れられることでしょう.
- (ヘッダページはジョブ中の各ファイル毎に印字されるのではなく,
- ジョブ毎に印字されるということに注意してください. したがって, 紙の
- 消費はそれほどひどくはないかもしれません).
-
- <em/もし/, プリンタがプレインテキストを直接印字できるならば,
- LPD システムは印字物に対して自動的にヘッダページを付けることが
- できます. PostScript プリンタを使っている場合は, ヘッダペー
- ジを生成する外部プログラムが必要になります. これについては,
- 「<ref id="printing:advanced:header-pages:ps" name="PostScript
- プリンタでのヘッダページ">」をご覧ください.
-
-
- <sect2><heading> ヘッダページの印字を許可する <label
- id="printing:advanced:header-pages:enabling"></heading>
-
- <p> 「<ref id="printing:simple" name="プリンタ設定導入編">」
- では, <tt>/etc/printcap</tt> ファイルの <tt/sh/ (``suppress
- header'' : ヘッダを供給しないという意味) を指定して, ヘッダペー
- ジの印字を止めていました. プリンタでのヘッダページの印字を許可
- するには, <tt/sh/ 項目を取り除くだけよい訳です.
-
- とても簡単そうに見えるけど, 本当かな?
-
- それは本当です. プリンタに初期化文字列を送るための出力フィ
- ルタを用意しなくてはならないかもしれません. 次に, Hewlett
- Packard PCL 互換プリンタの例を挙げます.
-<code>
-#!/bin/sh
-#
-# hpof - Output filter for Hewlett Packard PCL-compatible printers
-# Installed in /usr/local/libexec/hpof
-
-
-printf "\033&amp;k2G" || exit 2
-exec /usr/libexec/lpr/lpf
-</code>
- <tt/of/ 項目に出力フィルタのパス名を指定してください. 詳細につ
- いては, 「<ref id="printing:advanced:of" name="出力フィルタ">」
- をご覧ください.
-
- 次に, 以前紹介したプリンタ <tt/teak/ のための
- <tt>/etc/printcap</tt> ファイルの例を示します. ここでは, ヘッ
- ダページの印字を許可し, 上記の出力フィルタを追加しました.
-<code>
-#
-# /etc/printcap for host orchid
-#
-teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
- :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\
- :if=/usr/local/libexec/hpif:\
- :vf=/usr/local/libexec/hpvf:\
- :of=/usr/local/libexec/hpof:
-</code>
- さて, ユーザが <tt/teak/ からジョブを印字させたとき, それぞれ
- のジョブ毎にヘッダページが印字されます. もし, ユーザが印字物を
- 探すのに時間を費やしたいと思うなら, <tt/lpr -h/ によってジョ
- ブを入力することで, ヘッダページの印字を止めることができます.
- これ以外の <tt/lpr/ のオプションについては, 「<ref
- id="printing:lpr:options:misc" name="ヘッダページ用オプション">」
- をご覧ください.
-
- <em/注意:/ LPD では, ヘッダページの最後に, FROM FEED 文字が印
- 字されます. プリンタに紙排出をさせるために, 別な文字, もしくは,
- 別な文字列が利用されている場合は, <tt>/etc/printcap</tt> 中の
- <tt/ff/ 項目で指定することができます.
-
-
- <sect2><heading> ヘッダページを制御する <label
- id="printing:advanced:header-pages:controlling"></heading>
-
- <p> ヘッダページの印字が許可されていると, LPD は <em/長いヘッ
- ダ/を作ります. これには, 紙全面に大きな文字でユーザ名, ホスト
- 名, ジョブ名が書かれています. 次に, このヘッダページの例を示
- します (kelly が ジョブ名 outline を rose というホストから印字
- された場合).
-<tscreen><verb>
-k ll ll
-k l l
-k l l
-k k eeee l l y y
-k k e e l l y y
-k k eeeeee l l y y
-kk k e l l y y
-k k e e l l y yy
-k k eeee lll lll yyy y
- y
- y y
- yyyy
-
-
- ll
- t l i
- t l
- oooo u u ttttt l ii n nnn eeee
-o o u u t l i nn n e e
-o o u u t l i n n eeeeee
-o o u u t l i n n e
-o o u uu t t l i n n e e
- oooo uuu u tt lll iii n n eeee
-
-
-
-
-
-
-
-
-
-r rrr oooo ssss eeee
-rr r o o s s e e
-r o o ss eeeeee
-r o o ss e
-r o o s s e e
-r oooo ssss eeee
-
-
-
-
-
-
-
- Job: outline
- Date: Sun Sep 17 11:04:58 1995
-</verb></tscreen>
-
- LPD はこのテキストの終わりに FROM FEED 文字を加えます
- ので, ジョブは新しいページから開始されます (ただし,
- <tt>/etc/printcap</tt> で出力先のプリンタのエントリに
- <tt/sf/ (suppress form feeds) が指定されているときはこ
- の限りではありません).
-
- お望みならば, LPD に<em/短いヘッダページ/を出力させる
- こともできます. この場合は, <tt>/etc/printcap</tt> ファ
- イルの中で <tt/sb/ (short banner) を指定してください.
- ヘッダページは次のようになります.
-<tscreen><verb>
-rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995
-</verb></tscreen>
- デフォルトでは, LPD はヘッダページを最初に印字し, 次
- にジョブの印字をおこないます. この順番を逆にするときは,
- <tt>/etc/printcap</tt> で <tt/hl/ (header last) を指定
- してください.
-
- <sect2><heading> ヘッダページに対する課金 <label
- id="printing:advanced:header-pages:accounting"></heading>
-
- <p> LPD に備わっているヘッダページ出力機能を使うと, 入力され
- たジョブに対して課金をおこなうことができても, ヘッダページは<em/無
- 料/で提供しなくてはならない, という特有のやり方を強要されます.
-
- なぜでしょうか.
-
- 出力フィルタは単なる外部プログラムなので, 課金をするための制御
- をおこなうとすれば, それはヘッダページを印字するときですが, 出力フィ
- ルタには, <em/ユーザ名とホスト名/の情報や課金情報を格納するファ
- イルがどれな
- のかということが知らされません. それゆえ, 出力ファイルには, 誰
- にプリンタ利用の課金をおこなえばよいのかが分からないのです. テキス
- トフィルタやその他の変換フィルタ (これらのフィルタはユーザやホ
- ストの情報が知らされます) が出力ページの枚数に「1ページ分水増し
- する」だけでは十分ではありません. なぜなら, ユーザは <tt/lpr -h/ に
- よってヘッダページの出力を止めることができるからです. やみくも
- に1ページを水増しすると, 印字されてもいないヘッダページに対する
- 料金をとることになります. 基本的に, <tt/lpr -h/ は環境に優し
- い心を持つユーザに好まれるオプションですが, これを使うように奨
- 励することもできません.
-
- 各々のフィルタに独自のヘッダページを生成させる (その結果, ヘッ
- ダページに課金することができる) という方法<em/でも十分であると
- はいえません/. この場合, LPD はフィルタに <tt/-h/ の情報を送
- りませんので, <tt/lpr -h/ によってヘッダページを印字しないオ
- プションを選択したとしても, 依然としてヘッダページは印字され,
- その分の課金がおこなわれてしまいます.
-
- では, どのような選択肢があるのでしょうか.
-
- ヘッダページへの課金に関しては, 次のことができます.
-
- <itemize>
- <item> LPD のやり方を受け入れ, ヘッダページは無料とする.
-
- <item> LPDng や PLP といった LPD の代替品をインストール
- する. LPD と入れ替えが可能な他のスプーリングソフトウェ
- アに関しては, 「<ref name="標準スプーラの代替品"
- id="printing:lpd-alternatives">」をご覧ください.
-
- <item> <em/スマートな/出力フィルタを作成する. 通常, 出力
- フィルタはプリンタを初期化するか, 単純な文字列変換をす
- る程度の働きしかしません. (テキスト (入力) フィルタがな
- い場合) 出力フィルタはヘッダページとプレインテキストの
- 印字をおこなうのに適しています.
-
- プレインテキストを印字するためのテキストフィルタがない
- 場合, LPD はヘッダページを印字するためだけの目的で出
- 力フィルタを起動します. そして, LPD が生成するヘッダ
- ページのテキストを解析することにより, 出力フィルタはヘッ
- ダページに課金するために必要なユーザ名とホスト名を取得
- することができます. この方式の唯一の問題点は, 出力フィ
- ルタは課金情報を格納するデータファイルの名前を知ることが
- できないということです (<tt/af/ 項目で指定されたファイ
- ル名は出力ファイルに渡されません). しかし, 既知の
- 名前の課金データファイルを使うのならば, その名前を出
- 力フィルタのプログラム中に埋め込むことができます.
-
- 解析の手順を簡単にするためには,
- <tt>/etc/printcap</tt> で <tt/sh/ 項目 (短いヘッダを指
- 定) を使うとよいでしょう.
-
- そしてまた, ここまでの方法は少なからぬトラブルを生じさ
- せるかもしれません. そうなれば, もちろんユーザはヘッダペー
- ジを無料で
- 提供してくれる気前のよいシステム管理者に感謝することで
- しょう.
- </itemize>
-
- <sect2><heading> PostScript プリンタでのヘッダページ
- <label id="printing:advanced:header-pages:ps"></heading>
-
- <p> これまでに述べたように, LPD ではプレインテキストのヘッ
- ダページをたくさんのプリンタに合うように生成することができます.
- 残念ながら, PostScript プリンタは, プレインテキストを直接
- 印字することができません. ですから, LPD のヘッダページ機能は
- まったく役に立たない, あるいはほとんどの場合で役に立ちません.
-
- ヘッダページを出力するための自明な方法の1つに, すべての変換フィ
- ルタとテキストフィルタにヘッダページを生成させる方法があります.
- フィルタは, 適切なヘッダページを生成するために, ユーザ名とホス
- ト名の引数を使うべきです. この方法の欠点は, いつでも, <tt/lpr
- -h/ によってジョブが入力された場合でさえも, ヘッダページが印字
- されるということです.
-
- この方法で試してみましょう. 次のスクリプトは, 3つの引数 (ユーザ
- のログイン名, ホスト名, ジョブ名) をとり, 簡単な PostScript 用
- のヘッダページを生成します.
-
-<code>
-#!/bin/sh
-#
-# make-ps-header - make a PostScript header page on stdout
-# Installed in /usr/local/libexec/make-ps-header
-#
-
-#
-# These are PostScript units (72 to the inch). Modify for A4 or
-# whatever size paper you are using:
-#
-page_width=612
-page_height=792
-border=72
-
-#
-# Check arguments
-#
-if [ $# -ne 3 ]; then
- echo "Usage: `basename $0` <user> <host> <job>" 1>&amp;2
- exit 1
-fi
-
-#
-# Save these, mostly for readability in the PostScript, below.
-#
-user=$1
-host=$2
-job=$3
-date=`date`
-
-#
-# Send the PostScript code to stdout.
-#
-exec cat <<EOF
-%!PS
-
-%
-% Make sure we do not interfere with user's job that will follow
-%
-save
-
-%
-% Make a thick, unpleasant border around the edge of the paper.
-%
-$border $border moveto
-$page_width $border 2 mul sub 0 rlineto
-0 $page_height $border 2 mul sub rlineto
-currentscreen 3 -1 roll pop 100 3 1 roll setscreen
-$border 2 mul $page_width sub 0 rlineto closepath
-0.8 setgray 10 setlinewidth stroke 0 setgray
-
-%
-% Display user's login name, nice and large and prominent
-%
-/Helvetica-Bold findfont 64 scalefont setfont
-$page_width ($user) stringwidth pop sub 2 div $page_height 200 sub moveto
-($user) show
-
-%
-% Now show the boring particulars
-%
-/Helvetica findfont 14 scalefont setfont
-/y 200 def
-[ (Job:) (Host:) (Date:) ] {
- 200 y moveto show /y y 18 sub def
-} forall
-
-/Helvetica-Bold findfont 14 scalefont setfont
-/y 200 def
-[ ($job) ($host) ($date) ] {
- 270 y moveto show /y y 18 sub def
-} forall
-
-%
-% That is it
-%
-restore
-showpage
-EOF
-</code>
- そして, 変換フィルタやテキストフィルタがそれぞれ, 最初にこのス
- クリプトを起動することで, ヘッダページが出力され, それから, ユー
- ザのジョブの印字をおこないます. 次に, このドキュメントの始めのほう
- で紹介した DVI 変換フィルタを, ヘッダページを印字するように変
- 更したものを示します.
-<code>
-#!/bin/sh
-#
-# psdf - DVI to PostScript printer filter
-# Installed in /usr/local/libexec/psdf
-#
-# Invoked by lpd when user runs lpr -d
-#
-
-orig_args="$@"
-
-fail() {
- echo "$@" 1>&amp;2
- exit 2
-}
-
-while getopts "x:y:n:h:" option; do
- case $option in
- x|y) ;; # Ignore
- n) login=$OPTARG ;;
- h) host=$OPTARG ;;
- *) echo "LPD started `basename $0` wrong." 1>&amp;2
- exit 2
- ;;
- esac
-done
-
-[ "$login" ] || fail "No login name"
-[ "$host" ] || fail "No host name"
-
-( /usr/local/libexec/make-ps-header $login $host "DVI File"
- /usr/local/bin/dvips -f ) | eval /usr/local/libexec/lprps $orig_args
-</code>
- このフィルタがユーザ名やホスト名を決定するために引数リストをど
- のように解析しなくてはならないかという点に注意してください. こ
- の解析方法は他の変換フィルタに対しても同様です. しかしながら,
- テキストフィルタについては, 引数の設定が少し異なっています (こ
- れについては, 「<ref id="printing:advanced:filters" name="フィ
- ルタはどのように機能しているか">」をご覧ください).
-
- 前述の通り, 上記の手法は, 極めて単純なのにも関らず, <tt/lpr/
- で「ヘッダページを印字しない」オプション (<tt/-h/ オプション) が
- 使えなくなっています. ユーザが森林資源を (あるいは, ヘッダペー
- ジが課金されているならば, その僅かな金額を), 節約したいと望んでい
- る場合でも, すべてのフィルタがすべてのジョブ毎にヘッダページを印字
- することになっているので, 節約することはできません.
-
- ジョブ毎に印字されるヘッダページをユーザが抑制できるようにする
- ためには, 「<ref
- id="printing:advanced:header-pages:accounting" name="ヘッダペー
- ジに対する課金">」で紹介したトリックを使う必要があります. すな
- わち, LPD が生成するヘッダページの解析をおこない, PostScript
- 版のヘッダページを出力させる出力フィルタを作るのです. この場
- 合, ユーザが <tt/lpr -h/ でジョブを入力すると, LPD はヘッダペー
- ジを生成しなくなり, また, 出力フィルタも起動されません. そうで
- ないならば, 作成した出力フィルタが LPD からのテキストを読み込
- み, ヘッダページを印字する適当な PostScript のコードがプリ
- ンタに送られるでしょう.
-
- PostScript プリンタがシリアルポートに接続されている場合,
- 出力フィルタとして <tt/lprps/ を, 上記の動作をおこなうものとして
- <tt/psof/ を使うことができます. ただし, <tt/psof/ はヘッダペー
- ジに対して課金をおこないませんので注意してください.
-
-
- <sect1><heading> リモートプリンタからの出力 <label
- id="printing:advanced:network-printers"></heading>
-
- <p> FreeBSD では, ネットワーク越しの印字, すなわち, ジョブをリ
- モートプリンタに送ることをサポートしています. リモートプリンタ
- からの出力をするには, 一般に, 次の2つを参照してください.
- <itemize>
- <item> リモートホストに接続されたプリンタにアクセスする方
- 法. プリンタがあるホストのシリアル, または, パラレルイ
- ンタフェースに接続されている場合, ネットワーク上の他の
- ホストからこのプリンタにアクセスできるように LPD を設
- 定します. 「<ref id="printing:advanced:network:rm"
- name="リモートホストに接続されたプリンタ">」でどのよう
- にするかを説明します.
-
- <item> ネットワークに直接接続されているプリンタにアクセ
- スする方法. プリンタに, 旧来のシリアル, または, パラレ
- ルインタフェースに加えて (もしくは, これらに代わって) ネッ
- トワーク用のインタフェースがある場合. そのようなプリン
- タは次のように動作するでしょう.
-
- <itemize>
- <item> そのプリンタが LPD のプロトコルを理解でき, リモー
- トホストからのジョブをキューに入れることさえできる場合.
- この場合, プリンタは, LPD が起動している一般のホスト
- のように振る舞います. そのようなプリンタを設定するため
- に, 「<ref id="printing:advanced:network:rm"
- name="リモートホストに接続されたプリンタ">」と同様の手
- 順をおこなってください.
-
-
- <item> そのプリンタが, データストリームによるネットワー
- ク接続をサポートしている場合. この場合, ネットワーク上
- の1つのホストとしてプリンタを「接続」します. このホス
- トは, ジョブをスプーリングする責任を負い, スプーリング
- されたジョブはプリンタに送られます. そのようなプリンタ
- をインストールするためのいくつかの提案が「<ref
- id="printing:advanced:network:net-if" name="ネットワー
- クにおけるデータストリームのインタフェースを持つプリン
- タ">」にあります.
- </itemize>
- </itemize>
-
- <sect2><heading> リモートホストに接続されたプリンタ <label
- id="printing:advanced:network:rm"></heading>
-
- <p> LPD スプーリングシステムでは LPD (または LPD 互換のシス
- テム) が起動している他のホストへジョブを送る機能が始めからサポー
- トされています. この機能により, あるホストに接続されたプリンタ
- へ, 他のホストからアクセスできるようになります. また, LPD プ
- ロトコルを理解するネットワークインタフェースを持ったプリンタに
- 対しても, この機能は働きます.
-
- リモートプリンタへの出力を許可するためには, 最初に, あるホスト
- (これを, <em/プリンタホスト/と呼びます) にプリンタを接続します.
- そして, 「 <ref id="printing:simple" name="プリンタ設定導入編
- ">」に書かれた簡単なプリンタの設定をおこなってください. 必要ならば,
- 「<ref id="printing:advanced" name="プリンタ設定上級編">」にあ
- る, 更に進んだ設定をおこなってください. そして, そのプリンタをテス
- トしてうまく動作することを確認し, LPD に許可した機能がうまく働
- くかどうかを見てください.
-
- LPD 互換のネットワークインタフェースを持つプリンタを使用してい
- る場合は, そのプリンタ自身が以下で説明する<em/プリンタホスト/
- になります. そして, <em/プリンタ名/とは, そのプリンタに設定し
- た名前のことを指します. これについては, プリンタ, および (また
- は), プリンタのネットワークインタフェースに付属するドキュメン
- トを参照してください.
-
- 次に, そのプリンタにアクセスしたいと思っている他ホストにおいて,
- そのホストの <tt>/etc/printcap</tt> ファイルに次にあげるエント
- リを作ります.
- <enum>
- <item> 名前のエントリ. どんな名前でもよいのですが, 簡単
- のため, 多分, プリンタホストで設定されたプリンタ名や別
- 名と同じものを使いたいと思うでしょう.
-
- <item> <tt/lp/ 項目で指定されるデバイスは明示的に空にす
- る (<tt/:lp=:/ とする).
-
- <item> スプーリングディレクトリを作成し, <tt/sd/ 項目で
- その位置を指定する. LPD では, プリンタホストにジョブ
- を送信するまでの間, このディレクトリにジョブを格納しま
- す.
-
- <item> <tt/rm/ 項目でプリンタホストの名前を指定します.
-
- <item> <tt/rp/ 項目で<em/プリンタホスト/に接続したプリン
- タ名を指定します.
- </enum>
- これで終わりです. 変換フィルタやページの大きさやその他の事項を
- <tt>/etc/printcap</tt> に加える必要はありません.
-
- 次に, リモートホストに接続されたプリンタで印字するための設定例
- を示します. ホスト rose には2台のプリンタ <tt/bamboo/ と
- <tt/rattan/ が接続されています. これらのプリンタをホスト
- orchid のユーザが使えるようにしましょう. 最初に orchid の
- <tt>/etc/printcap</tt> を示します (このファイルは, 「<ref
- id="printing:advanced:header-pages:enabling" name="ヘッダペー
- ジの出力を許可する">」で参照することができます). このファイルには,
- 既に, プリンタ <tt/teak/ 用のエントリがありました. 以下では,
- これに, ホスト rose にある2台のプリンタ用のエントリが加えられ
- ています.
-<code>
-#
-# /etc/printcap for host orchid - added (remote) printers on rose
-#
-
-#
-# teak is local; it is connected directly to orchid:
-#
-teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
- :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\
- :if=/usr/local/libexec/ifhp:\
- :vf=/usr/local/libexec/vfhp:\
- :of=/usr/local/libexec/ofhp:
-
-#
-# rattan is connected to rose; send jobs for rattan to rose:
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:
-
-#
-# bamboo is connected to rose as well:
-#
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:
-</code>
- orchid で必要となる作業はスプーリングディレクトリを作ることだ
- けです.
-<tscreen>
-<verb>
-mkdir -p /var/spool/lpd/rattan /var/spool/lpd/bamboo
-chmod 770 /var/spool/lpd/rattan /var/spool/lpd/bamboo
-chown daemon.daemon /var/spool/lpd/rattan /var/spool/lpd/bamboo
-</verb></tscreen>
-
- これで, orchid のユーザが <tt/rattan/ と <tt/bamboo/ で印字す
- ることができるようになりました. 例えば, orchid のユーザが次の
- ように入力したとします.
-<tscreen><verb>
-lpr -P bamboo -d sushi-review.dvi
-</verb></tscreen>
- すると, orchid の LPD システムは, ジョブをスプーリングディレ
- クトリ <tt>/var/spool/lpd/bamboo</tt> にコピーし, これが DVI
- ファイルを印字するジョブであることを記録します. ホスト rose の
- <tt/bamboo/ 用のスプーリングディレクトリに十分な容量が確保でき
- 次第, 両者の LPD は, ジョブのファイルを rose に転送します. こ
- のファイルは, そのすべてが印字されるまで, rose のキューに留まり
- ます. (bamboo は PostScript プリンタなので) DVI から PostScript
- への変換は rose でおこなわれます.
-
-
- <sect2><heading> ネットワークにおけるデータストリームのインタ
- フェースを持つプリンタ <label id="printing:advanced:network:net-if">
- </heading>
-
- <p> プリンタのネットワークインタフェースカードは, 2種類に分
- 類することができます. 1つはスプーラをエミュレートするもの (高価)
- で, もう1つはシリアルやパラレルポートを使うようにプリンタにデー
- タを送ることができるだけのもの (安価) です. この節では, 後者の使
- い方を説明します. 前者のプリンタは, 前節「<ref name="リモート
- ホストに接続されたプリンタ" id="printing:advanced:network:rm">」
- の方法が適用できます.
-
- <tt>/etc/printcap</tt> ファイルでは, シリアルかパラレルのイン
- タフェースのどちらを使うのか, そして, (シリアルインタフェース
- を使う場合) そのボーレートはいくらであるか, フロー制御は使うのか,
- タブのための遅延を加えるのか, 改行文字を変換するかなどの指定を
- おこなうことができます. しかし, TCP/IP や他のネットワークポートか
- らデータを受け取るプリンタを接続するための指定をおこなうことはでき
- ません.
-
- ネットワーク接続されたプリンタにデータを送るためには, テキスト
- フィルタと変換フィルタから呼び出すことができる通信プログラムを
- 開発する必要があります. 以下に, そのようなプログラムの例を示し
- ます. スクリプト <tt/netprint/ では, 標準入力から印字データを
- すべて受け取り, ネットワーク接続されたプリンタにこれを送ります.
- <tt/netprint/ の最初の引数でプリンタのホスト名を, 2番目の引数
- で接続するポート番号を指定します. このプログラムでは単方向通信
- (FreeBSD からプリンタ) のみをサポートしていることに注意してくだ
- さい. ネットワークプリンタの多くは双方向通信をサポートしていま
- すので, その恩恵 (プリンタの状態を得たり, 課金をおこなうなど) にあず
- かりたいと思われるかもしれません.
-<code>
-#!/usr/bin/perl
-#
-# netprint - Text filter for printer attached to network
-# Installed in /usr/local/libexec/netprint
-#
-
-$#ARGV eq 1 || die "Usage: $0 <printer-hostname> <port-number>";
-
-$printer_host = $ARGV[0];
-$printer_port = $ARGV[1];
-
-require 'sys/socket.ph';
-
-($ignore, $ignore, $protocol) = getprotobyname('tcp');
-($ignore, $ignore, $ignore, $ignore, $address)
- = gethostbyname($printer_host);
-
-$sockaddr = pack('S n a4 x8', &amp;AF_INET, $printer_port, $address);
-
-socket(PRINTER, &amp;PF_INET, &amp;SOCK_STREAM, $protocol)
- || die "Can't create TCP/IP stream socket: $!";
-connect(PRINTER, $sockaddr) || die "Can't contact $printer_host: $!";
-while (<STDIN>) { print PRINTER; }
-exit 0;
-</code>
- このスクリプトは, 様々なフィルタが利用することができます. 仮に,
- Diablo 750-N ラインプリンタを持っており, これがネットワークに
- 接続されているとしましょう. プリンタはポート番号5100にて印字す
- るデータを受け取ります. プリンタのホスト名は scrivener としま
- す. このとき, このプリンタのテキストフィルタは次のようになりま
- す.
-<code>
-#!/bin/sh
-#
-# diablo-if-net - Text filter for Diablo printer `scrivener' listening
-# on port 5100. Installed in /usr/local/libexec/diablo-if-net
-#
-
-exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100
-</code>
-
-
- <sect1><heading> プリンタの利用に制約を与える <label
- id="printing:advanced:restricting"></heading>
-
- <p> 本節では, プリンタの利用に制約を与えるための情報を記して
- います. LPD システムでは, プリンタ (ローカル, リモートのいずれ
- に接続されていても) にアクセスできる人を制限する機能, 複数部の
- コピーの印字の可否を制御する機能, ジョブのサイズの最大値やプリ
- ンタキューに入るジョブの最大個数を制御する機能を提供しています.
-
-
- <sect2><heading> 複数部のコピーの印字を制限する <label
- id="printing:advanced:restricting:copies"></heading>
-
- <p> LPD システムではユーザが複数部のコピーの印字を簡単におこなう
- 機能を提供しています. ユーザが, (例えば) <tt/lpr -&num;5/ コマ
- ンドを使ってジョブを印字すると, ジョブのそれぞれのファイルのコ
- ピーを5部得ることができます. これがよい機能であると思うかどう
- かは人それぞれでしょう.
-
- 複数部のコピーの印字によってプリンタが必要以上に消耗してしまう
- と感じるならば, <tt>/etc/printcap</tt> ファイルに <tt/sc/ 項
- 目を加えてください. これにより, <tt/-&num;/ オプションの使用
- が禁止されます. このオプションが指定されているにも関らず,
- <tt/-&num;/ オプションを使うと, 次のようなメッセージが表示され,
- このオプションの利用できない旨を伝えます.
-<tscreen><verb>
-lpr: multiple copies are not allowed
-</verb></tscreen>
-
- リモートホストからプリンタをアクセスできる設定にしている場合 (この
- 設定については, 「<ref name="リモートホストに接続されたプリン
- タ" id="printing:advanced:network:rm">」をご覧ください), その
- リモートホストの <tt>/etc/printcap</tt> にも同じように <tt/sc/
- 項目を追加する必要があることに注意してください. そうしないと,
- ユーザは別なホストから複数部のコピーの印字することができてしま
- います.
-
- 例を使って説明しましょう. 次に示す <tt>/etc/printcap</tt> ファ
- イルは, ホスト rose のものです. プリンタ <tt/rattan/ は極めて
- 頑丈なので, 複数部のコピーの印字は許可されています. しかし, レー
- ザプリンタの <tt/bamboo/ はもう少しデリケートで, このプリンタ
- から複数部のコピーを印字することを <tt/sc/ 項目を追加すること
- で禁止しています.
-<code>
-#
-# /etc/printcap for host rose - restrict multiple copies on bamboo
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:sc:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\
- :if=/usr/local/libexec/psif:\
- :df=/usr/local/libexec/psdf:
-</code>
- さらに, orchid の <tt>/etc/printcap</tt> にも <tt/sc/ 項目を
- 追加する必要があります (orchid でこの編集をおこなっているときに, つ
- いでに, プリンタ <tt/teak/ でも複数部のコピーの印字を禁止する
- ことにしましょう).
-<code>
-#
-# /etc/printcap for host orchid - no multiple copies for local
-# printer teak or remote printer bamboo
-
-teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
- :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:sc:\
- :if=/usr/local/libexec/ifhp:\
- :vf=/usr/local/libexec/vfhp:\
- :of=/usr/local/libexec/ofhp:
-
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:sc:
-</code>
- <tt/sc/ 項目を指定することにより, <tt/lpr -&num;/ の使用を防
- ぐことができます. しかし, この状態では <tt/lpr/ を複数回起動し
- たり, 1回のジョブで次のように同じファイルを複数個指定すること
- を防ぐまでには至っていません.
-<tscreen><verb>
-lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign
-</verb></tscreen>
- このような悪用を防ぐ方法は (その指示を無視することも含めて) たく
- さんあります. 各自で調べてみてください.
-
-
- <sect2><heading> プリンタを使用できる人を限定する <label
- id="printing:advanced:restricting:access"></heading>
-
- <p> それぞれのプリンタを使用できる人を限定するには, UNIX の
- グループ権限のメカニズムを利用し, さらに,
- <tt>/etc/printcap</tt> で <tt/rg/ 項目を指定することでおこないます.
- あるプリンタにアクセスさせてもよいと思うユーザすべてをUNIXのある
- グループに入れてください. そして, そのグループ名を <tt/rg/ で
- 指定します.
-
- このとき, そのグループに含まれないユーザ (root も含む) が
- <tt/rg/ の指定がされたプリンタを使用すると, 次のようなメッセー
- ジが表示され, プリンタの使用はできません.
-
-<tscreen><verb>
-lpr: Not a member of the restricted group
-</verb></tscreen>
- <tt/sc/ (suppress multiple copies : 複数部のコピーの印字を禁止
- する) を指定するときと同様に, <tt/rg/ が指定されたプリンタがリ
- モートホストからもアクセスでき (この設定については, 「<ref
- name="リモートホストに接続されたプリンタ"
- id="printing:advanced:network:rm">」をご覧ください), かつ, そ
- のホストでもプリンタを使用できる人を限定するのが妥当であると思
- う場合は, そのホストの <tt>/etc/printcap</tt> にも <tt/rg/ 指
- 定をおこなう必要があります.
-
- 例えば, プリンタ <tt/rattan/ は誰でも利用できるが,
- <tt/bamboo/ はグループ <tt/artists/ に属している人のみが利用で
- きるようにしてみましょう. 以下に, もうお馴染みとなったホスト
- rose の <tt>/etc/printcap</tt> を示します.
-<code>
-#
-# /etc/printcap for host rose - restricted group for bamboo
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\
- :if=/usr/local/libexec/psif:\
- :df=/usr/local/libexec/psdf:
-</code>
- これ以外の <tt>/etc/printcap</tt> ファイル (ホスト orchidのもの)
- はそのままにしておくことにします. もちろん, orchid のユーザは
- 全員 <tt/bamboo/ を利用することができます. これは, orchid に
- は特定のユーザのみにしかアクセスさせておらず, そのユーザにはプ
- リンタを利用させたいと思っているからなのかもしれませんし, そう
- でないかもしれません.
-
- <em/注意:/ 1台のプリンタを複数グループのユーザに利用させること
- はできません.
-
- <sect2><heading> 入力可能なジョブのサイズを制限する <label
- id="printing:advanced:restricting:sizes"></heading>
-
- <p> たくさんのユーザからプリンタが利用される場合には, 多分,
- ユーザが印字要求を出すことができるファイルのサイズに上限値を置
- く必要が生じるでしょう. 結局のところ, スプーリングディレクトリ
- が置かれているファイルシステムの空き容量がその上限値になる訳で
- すが, あるユーザがこれを独占的に使用すること避けるために, 他ユー
- ザからのジョブ用の空き容量を確保する必要もあります.
-
- LPD では, <tt/mx/ 項目を指定することにより, ジョブ中の個々のファ
- イルのサイズの上限値を制限する機能を提供しています. 指定される
- ファイルサイズの単位は BUFSIZ ブロックで, 1 BUFSIZ ブロックは
- 1024バイトを表わします. この <tt/mx/ 項目の値として0が指定される
- と, ファイルサイズの制限はなくなります. この制限はジョブ中の各
- <em/ファイル/に対して適用されるものであり, ジョブ全体のサイズ
- を<em/制限するものではない/ことに注意してください.
-
- ところで, プリンタに設定された上限値を超えるファイルサイズのファ
- イルが入力された場合でも, LPD はこれを拒否しません. その代わ
- りに, このファイルは, その先頭から上限値のファイルサイズまでし
- かキューに入れられません. そして, その部分までが印字され, 残り
- の部分は捨てられます. これが正しい動作といえるのかどうかは議
- 論の余地があるところです.
-
- それでは, 設定例に登場しているプリンタ <tt/rattan/ と
- <tt/bamboo/ の印字可能なファイルサイズに制限を加えてみましょう.
- artists グループの人達が作る PostScript ファイルのサイズは
- 巨大になる傾向があるので, 上限値を5Mバイトとします. それから,
- プレインテキスト用のラインプリンタは無制限とします.
-<code>
-#
-# /etc/printcap for host rose
-#
-
-#
-# No limit on job size:
-#
-rattan|line|diablo|lp|Diablo 630 Line Printer:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:
-
-#
-# Limit of five megabytes:
-#
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\
- :if=/usr/local/libexec/psif:\
- :df=/usr/local/libexec/psdf:
-</code>
- この場合もそうですが, この制限はローカル (ホスト rose) のユーザ
- のみに適用されます. リモートホストからプリンタを利用できるよう
- に設定している場合は, そのリモートホストのユーザはこの制限を受
- けません. これらのユーザにも制限を加える場合は, リモートホスト
- の <tt>/etc/printcap</tt> の <tt/mx/ を指定する必要があります.
- リモートホストから印字するための詳しい情報については, 「<ref
- name="リモートホストに接続されたプリンタ"
- id="printing:advanced:network:rm">」を参照してください.
-
- リモートホストに接続されたプリンタへのジョブのサイズを制限する
- 特別な方法は他にもあります. これについては, 「<ref
- id="printing:advanced:restricting:remote" name="リモートホスト
- からのプリンタの利用を制限する">」を参照してください.
-
-
- <sect2><heading> リモートホストからのプリンタの利用を制限する
- <label id="printing:advanced:restricting:remote"></heading>
-
- <p> LPD スプーリングシステムでは, リモートホストから要求され
- たジョブの印字を制限するための方法がいくつか提供されています.
-
- <descrip>
- <tag/ホストの制限/
-
- ローカルの LPD が印字要求を受け付けるリモートホストは,
- ファイル <tt>/etc/hosts.equiv</tt> と
- <tt>/etc/hosts.lpd</tt> によって制御することができます.
- LPD では, あるホストから印字の要求がきたとき, このホス
- トの名前がこれら2つのファイルのどちらかに含まれている
- かどうかを調べます. これが含まれていない場合は, LPD
- はこの要求を拒否します.
-
- これらのファイルの形式は単純です. 各行にホストの名前を
- 1つずつ書いていきます. ファイル
- <tt>/etc/hosts.equiv</tt> の方は ruserok(3) プロトコル
- でも利用され, <tt/rsh/ や <tt/rcp/ といったプログラム
- の動作に影響するので注意が必要です.
- <tt>/etc/hosts.equiv</tt> の記述は慎重におこないましょう.
-
- 例として, 以下にホスト rose の <tt>/etc/hosts.lpd</tt>
- を示します.
-<code>
-orchid
-violet
-madrigal.fishbaum.de
-</code>
- この例では, rose はホスト orchid, violet, そして
- madrigal.fishbaum.de からの要求を受け付けることになり
- ます. その他のホストが rose の LPD にアクセスしようと
- しても, LPD はこれを拒否します (訳注:拒否されるのは,
- そのホストが <tt>/etc/hosts.equiv</tt> にも含まれてい
- ない場合です).
-
-
- <tag/サイズの制限/
-
- スプーリングディレクトリがあるファイルシステムに残して
- おく必要がある空き容量の大きさを制御することができます.
- ローカルプリンタ用のスプーリングディレクトリに
- <tt/minfree/ という名前のファイルを作成します. そして,
- そのファイルの中にリモートホストからのジョブの要求を受
- け付けるために必要な空き容量のディスクブロックサイズ (1
- ディスクブロック=512バイト) を記します.
-
- これで, リモートホストのユーザにファイルシステムを満杯
- にされないことが保証されます. この機能を使うと, ローカ
- ルホストのユーザに対してある種の優先権を与えることもで
- きます. ローカルホストのユーザは, <tt/minfree/ ファイ
- ルで指定された値よりもディスクの空き容量が下回った後で
- もずっと, ジョブをキューに入れることができるのです.
-
- 例えば, プリンタ <tt/bamboo/ 用の <tt/minfree/ を作っ
- てみましょう. このプリンタのスプーリングディレクトリを
- 調べるために, <tt>/etc/printcap</tt> を調べてみましょ
- う. 以下に, <tt/bamboo/ のエントリ部分を示します.
-<tscreen><verb>
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:mx#5000:\
- :if=/usr/local/libexec/psif:\
- :df=/usr/local/libexec/psdf:
-</verb></tscreen>
- スプーリングディレクトリは <tt/sd/ で指定されます.
- LPD がリモートホストからのジョブを受け付けるために必要
- なファイルシステムの空き容量を3Mバイト (=6144ディスクブ
- ロック) にすることにしましょう.
-<tscreen><verb>
-echo 6144 > /var/spool/lpd/bamboo/minfree
-</verb></tscreen>
-
- <tag/利用ユーザの制限/
-
- <tt>/etc/printcap</tt> の <tt/rs/ 項目を指定することで,
- ローカルプリンタを利用できるリモートホストのユーザを制
- 限することができます. ローカルホストに接続されたプリン
- タ用のエントリに <tt/rs/ 項目が指定されている場合,
- LPD は印字を要求したユーザのアカウントと同じログイン名
- がローカルホストに登録されている/em/場合に限り/, その
- ジョブが受け付けられます. そうでないユーザからのジョブ
- は LPD は拒否します.
-
- この機能は, (例えば) 複数の部署がネットワークを共有して
- おり, この内のあるユーザが部署の境界を越えて活動してい
- る場合には特に有用です. そのようなユーザに対して, シス
- テムのアカウントを与えるだけで, これらのユーザは自分が
- 所属する部署のシステムからそのシステムに接続されている
- プリンタを使用することができます. これらのユーザにはむ
- しろ, プリンタの使用<em/だけ/を認め, その他のコンピュー
- タ資源を利用させたくないときは, それらのユーザにはホー
- ムディレクトリを与えず, ログインシェルはシェルとしては
- 何の役にも立たない <tt>/usr/bin/false</tt> などを指定
- して, これらのユーザのアカウントはプリンタ用の「形式的
- な」ものとします.
- </descrip>
-
- <sect1><heading> プリンタの利用に対する課金 <label
- id="printing:advanced:acct"></heading>
-
- <p> という訳で, 印字するためには料金をとることが必要です. 取ら
- ない理由などありましょうか. 紙やインクにはお金がかかります. そ
- して, プリンタの維持費もかかります. プリンタには可動部分が搭載
- されており, これらの部分は壊れやすいという傾向があります. プリ
- ンタや, その利用形態, 維持費について調査をし, 1ページ (1フィー
- ト, 1メートルなど) 当たりにかかるコストを調べておいてください.
- これに基づき, プリンタの利用に対する課金を, 実際に, どのように
- 始めればよいのでしょうか.
-
- さて, 残念ながら, この部分に関しては LPD スプーリングシステム
- はほとんど役に立ちません. 課金は使用しているプリンタの種類, 印
- 字するもののファイルの形式, プリンタの利用に対する課金での<em/
- あなた自身の/要求に大きく左右されます.
-
- 課金システムを実現するためには, プリンタのテキストフィルタ (プ
- レインテキストのジョブに対して課金するため) と変換フィルタ (その
- 他のファイル形式に対して課金するため) を変更して, 印字したペー
- ジを数えたり, プリンタに印字したページ数を取得するための要求を
- 送る必要があります. ただし, 出力フィルタのみを利用している場合
- は, 課金をおこなうことができません. フィルタに関しては, 「<ref
- name="フィルタ" id="printing:advanced:filter-intro">」をご覧く
- ださい.
-
- 一般に, 課金方式には次の2つがあります.
- <itemize>
- <item><em/定期的に課金する方法/はよく利用される方法です.
- この理由は, 恐らく, 比較的簡単に実現できるからです. 誰
- かがジョブを印字する度に, フィルタはそのユーザ名, ホス
- ト名, 印字したページ数を課金データファイルに記録します.
- 毎月, 毎学期, 毎年, あるいは, お好みの時期に, 様々なプ
- リンタの課金用ファイルを集め, それぞれのユーザが印字し
- たページ数を合計し, その分の課金をおこないます. 次回の課金
- 時期のためのデータを0にして課金を再開するために, この
- 処理をおこなった後, すべてのログファイルを削除し,
-
- <item><em/利用毎に課金する方法/はあまり利用されていません.
- これは, 実現するのが比較的難しいからです. この方式では,
- プリンタを使用したらすぐに, フィルタがユーザにその利用
- に対する課金をおこないます. ディスククオータのように, 課金
- 作業は瞬時におこなわれます. この方式では, ユーザのアカウン
- トが赤字になる場合に, ユーザが印字をおこなうことを拒否する
- ことができます. また, ユーザに「プリンタ版 quota」を
- 調べたり, 調整したりする方法を提供したいと思うかもしれ
- ません. これを実現するためには, ユーザとその quota を
- 追跡するために, あるデータベース用のコードが必要となり
- ます.
- </itemize>
-
- LPD スプーリングシステムでは, 両方式を簡単にですがサポー
- トしています. これは, (ほとんどの場合で) 印字作業をフィ
- ルタがおこなっていたように, 課金作業もこのためのコードも用
- 意することで実現されています. しかし, 明るい面もありま
- す. それは, 課金方式に関して, 非常に大きな柔軟性が与え
- られたということです. 例えば, 「定期的に課金する方法」
- か, 「利用毎に課金する方法」のどちらかを選びまず, そし
- て, どんな情報 (ユーザ名, ホスト名, ジョブのタイプ, 印
- 字された頁数, 使用した紙の大きさ, 印字をするために要した
- 時間など) をログに記録するかを決めます. 以上のことをおこな
- うには, 上記の情報を保持するために, フィルタを変更しな
- くてはなりません.
-
-
-
- <sect2><heading> 手軽なプリンタ課金方法</heading>
-
- <p> FreeBSD には, 「定期的に課金する方法」による課金をすぐに
- 設定できるように, 2個のプログラムを添付しています. そ
- の内の1つはテキストフィルタ <tt/lpf/ で, これについて
- は, 「<ref id="printing:advanced:lpf" name="テキストフィ
- ルタ lpf">」をご覧ください. もう1つは, <tt/pac/ で,
- これはプリンタの課金データファイルからのエントリを集め,
- これを合計するプログラムです.
-
- 「<ref id="printing:advanced:filters" name="フィルタは
- どのように機能しているか">」で述べたように, LPD では
- テキストフィルタや変換フィルタを起動しますが, そのコマ
- ンドラインで使用している課金データファイルの名前が指定
- されます. 両フィルタはこの引数を使って, どの課金データ
- ファイルのエントリに書き込めばよいのかを知ることができ
- ます. このファイルの名前は <tt>/etc/printcap</tt> 中の
- <tt/af/ 項目によって指定されます. このファイルが絶対パ
- スで指定されない場合は, スプーリングディレクトリからの
- 相対パスとして扱われます.
-
- LPD は, 紙のページの幅と行数 (<tt/pw/ と <tt/pl/ 項目で
- 指定される) を引数として <tt/lpf/ を起動します.
- <tt/lpf/ では, 何ページ印字したかを決定するためにこれ
- らの引数を使用します. ファイルをプリンタに送った後, 課
- 金情報を課金データファイルに書き込みます. このファイル
- は次のようになります.
-<tscreen><verb>
- 2.00 rose:andy
- 3.00 rose:kelly
- 3.00 orchid:mary
- 5.00 orchid:mary
- 2.00 orchid:zhang
-</verb></tscreen>
- 課金データファイルはプリンタ毎に分けて作るべきです. こ
- れは, <tt/lpf/ にはデータファイルをロックする機構が組
- み込まれていないためです. したがって, <tt/lpf/ が2つ起動
- されたとき, 同じファイルに同時に書き込みをおこなった場合,
- お互いのエントリが破壊されてしまうかもしれません. 課金
- 用ファイルを各プリンタ毎に確実に分けるには,
- <tt>/etc/printcap</tt> 中の <tt/af=acct/ 項目を使いま
- す.
-
- プリンタの利用に対してユーザに課金する準備ができたら,
- スプーリングディレクトリに移動した後, <tt/pac/ と入力
- してください. 次のような, ドル中心主義の課金リストが表
- 示されます(訳注:ドル中心主義という表現は, 表示がドルで
- 出ることへの著者の皮肉でしょう. セントがあるので小数点
- 以下が表示されますが, この機能も日本では邪魔ですね).
-<code>
- Login pages/feet runs price
-orchid:kelly 5.00 1 $ 0.10
-orchid:mary 31.00 3 $ 0.62
-orchid:zhang 9.00 1 $ 0.18
-rose:andy 2.00 1 $ 0.04
-rose:kelly 177.00 104 $ 3.54
-rose:mary 87.00 32 $ 1.74
-rose:root 26.00 12 $ 0.52
-
-total 337.00 154 $ 6.74
-</code>
- <tt/pac/ が受け付ける引数には次のようなものがあります.
- <descrip>
- <tag/<tt/-P<it/printer///
-
- プリンタ <it/printer/ の利用に対する課金リストを作成し
- ます. このオプションは, <tt>/etc/printcap</tt> の
- <tt/af/ が絶対パスで指定されていた場合に限り, 動作しま
- す.
-
- <tag/<tt/-c//
-
- ユーザ名のアルファベット順ではなく, 課金額の低い順にリ
- ストを並べます.
-
- <tag/<tt/-m//
-
- 課金データファイルにあるホスト名を無視します. このオプショ
- ンを使用すると, ホスト alpha のユーザ smith とホスト
- gamma のユーザ smith は同一人物として扱われます. この
- オプションが指定されない場合は, 両者は別なユーザとして
- 扱います.
-
- <tag/<tt/-p<it/price///
-
-
- <tt>/etc/printcap</tt> の <tt/pc/ 項目で指定された値,
- または, デフォルトの値 (2セント) に代わり, 紙1ページ, ま
- たは, 1フィート当たりの価格を指定します. <it/price/
- として, 浮動小数点数を指定することができます.
-
- <tag/<tt/-r//
-
- リストの並べる順番を逆順にします.
-
- <tag/<tt/-s//
-
- 課金リストを作成し, 課金データファイルを削除します.
-
- <tag/<tt/<it/names...///
-
- ユーザ <it/names/ に対する課金情報のみを表示します.
- </descrip>
-
- <tt/pac/ が生成するデフォルトのリストには, 各ホストのユーザ別
- に印字ページ数が表示されます. (ユーザがサイト内のすべてのホスト
- を使用できるため) ホスト名の情報が意味を持たない場合,
- <tt/pac -m/ を実行してください. 次のようなリストが得られます.
-
-<code>
- Login pages/feet runs price
-andy 2.00 1 $ 0.04
-kelly 182.00 105 $ 3.64
-mary 118.00 35 $ 2.36
-root 26.00 12 $ 0.52
-zhang 9.00 1 $ 0.18
-
-total 337.00 154 $ 6.74
-</code>
- 課金額を決めるために, <tt/pac/ は <tt>/etc/printcap</tt> ファ
- イルの <tt/pc/ 項目で指定された値 (デフォルト値は200, すなわち1
- ページ当たり2セント) を使います. この項目で, 印字物に課金したい
- と思う1ページ当たり, または, 1フィート当たりの価格を100分の1セ
- ント単位で指定します. <tt/pac/ を <tt/-p/ オプション付きで起動
- すると, この値を置き換えることができます. この <tt/-p/ オプショ
- ンで指定する額の単位は, 100分の1セント単位ではなく, ドル単位で
- す. 例えば, 次の指定では, 1ページ当たりの単価が1ドル50セントに
- なります.
-<tscreen><verb>
-pac -p1.50
-</verb></tscreen>
- このオプションを使うと, 実際の課金額を集計することができます.
-
- 最後に, <tt/pac -s/ を起動すると, 課金情報は課金データ累計ファ
- イルに保存されます. このファイルの名前は, プリンタの課金データ
- ファイルの後ろに <tt/_sum/ を付けたものとなります. そして, 課
- 金データファイルは削除されます. 次に <tt/pac/ が起動されると,
- その時点までの累計金額を得るために, 課金データ累計ファイルが読
- み込まれ, 通常の課金データファイルからの情報に加算されます.
-
-
- <sect2><heading> 印字されたページ数をどのように数えるか?
- </heading>
-
- <p> 課金を, リモートホストからの印字でさえも, 正確におこなうため
- には, ジョブで使用された紙が何ページであるかを特定でき
- る必要があります. このことは, プリンタ利用に対する課金
- をおこなう上の根本的な問題です.
-
- プレインテキストのジョブの場合, 問題を解決するのはさほ
- ど難しくはありません. ジョブが何行であったかを数え, プ
- リンタがサポートしている紙1ページに印字できる最大の行
- 数と比較すればよいのです. 重ね打ちするために利用される
- ファイル中のバックスペース文字や, 物理的に複数の行に渡
- る長い論理行に対する取り扱いを忘れずにおこなってください.
-
- (「<ref id="printing:advanced:lpf" name="テキストフィ
- ルタ lpf">」で紹介した) テキストフィルタ <tt/lpf/ では,
- 課金をおこなうときに, これらの取り扱いをおこなってくれます. 課
- 金をおこなうために必要なテキストフィルタを作成している方は,
- <tt/lpf/ のソースコードが参考になるでしょう.
-
- これに対して, 他のファイル形式の処理はどのようにすれば
- よいのでしょうか.
-
- まず, DVI から LaserJet, または, DVI から PostScript
- への変換の場合, フィルタが <tt/dvilj/ や <tt/dvips/ の
- 出力メッセージを解析することで, 何ページ分の変換がおこなわ
- れたかを知ることができます. 他のファイル形式とその変換
- プログラムに関しても, 同様のことができるかもしれません.
-
- しかし, この方式には問題点があります. それは, 変換され
- たページがすべて印字されるとは限らないということです. 例
- えば, プリンタが紙詰まりを起こしたり, トナー切れになっ
- たり, はたまた, 爆発したりするかもしれません. そのよう
- な状況により印字が途中で中止されたとしても, この方式で
- は, ユーザは全ページ分の料金を課されてしまうのです.
-
- それでは, どのような対策をたてることができるのでしょう
- か.
-
- <em/正確な/課金をおこなうための唯一の<em/確実な/方法は, 何
- ページ印字したのかを知らせることができるプリンタを入手
- し, これをシリアルポートかネットワークに接続することで
- す. ほとんどすべての PostScript プリンタではこの概念
- がサポートされています. 他のプリンタも同様です (Imagen
- レーザプリンタをネットワーク接続するなど). それぞれの
- プリンタのフィルタを, ジョブを印字した後で印字ページ数
- を得るように, 変更してください. そして, 課金情報はここ
- で得られた値<em/のみに/基づいて記録してください. 行数
- を数えたり, エラーが生じやすいファイルの調査は必要とさ
- れません.
-
- もちろん, 気前よく印字料
- 金をすべて無料にすることもできます.
-
- <sect><heading> 標準スプーラの代替品 <label
- id="printing:lpd-alternatives"></heading>
-
- <p> このマニュアルを最初から通読されている方ならば, ここまでで,
- FreeBSD 付属の LPD スプーリングシステムに関して知っておくべき
- ことすべてを学ばれたことと思います. 多分, このシステムに
- あるたくさんの欠点について認識できたことでしょう. すると,
- 「(FreeBSD 上で動作する) スプーリングシステムには他にどのような
- ものがあるのか」という疑問が自然と湧いてきます.
-
- 残念ながら, 著者は代替のスプーラを<em/2つ/だけしか探し出すこと
- ができませんでした. そして, それぞれはほとんど同一のものです.
- 以下に, 両システムの紹介をおこないます.
- <descrip>
- <tag/PLP (Portable Line Printer スプーリングシステム) /
-
- PLP は Patrick Powell によって開発されたソフトウエアを
- ベースにされており, インタネット規模のグループの開発者
- によって管理されていました. このソフトの主要サイトは「
- <htmlurl
- url="ftp://ftp.iona.ie/pub/plp"
- name="ftp://ftp.iona.ie/pub/plp">」です.
- 「<htmlurl
- url="http://www.iona.ie:8000/www/hyplan/jmason/plp.html"
- name="web page">」にもあります.
-
-
- PLP は BSD LPD スプーラと極めて似ていますが, 以下のも
- のを含むホストの機能が自慢です.
- <itemize>
- <item> ネットワークサポートの強化. ネットワーク接続され
- るプリンタのサポートや NIS で管理可能な printcap ファ
- イル, NFS マウントされるスプーリングディレクトリの機
- 能が組み込まれています.
-
- <item> 洗練されたなキュー管理. 1つのキューで複数のプリン
- タに対応可能. キュー間でジョブを転送したり, キューのリ
- ダイレクトができます.
-
- <item> リモートプリンタの制御機能
-
- <item> ジョブの優先順位付け
-
- <item> 拡張性のあるセキュリティとアクセスオプション
- </itemize>
-
- <tag/LPRng/
-
- LPRng は, その称するところの意味は「LPR: the Next
- Generation」ですが, PLP を完全に書き換えたものになっ
- ています. Patrick Powell と Justin Mason (PLP の主要
- なの管理者) の共同で LPRng が作成されました. LPRng の
- 主要サイトは「
- <htmlurl url="ftp://dickory.sdsu.edu/pub/LPRng"
- name="ftp://dickory.sdsu.edu/pub/LPRng">」です.
- </descrip>
-
-
- <sect><heading> 謝辞 </heading>
-
- <p> このドキュメントの開発の手助けをして頂いた以下の方々に感謝の
- 意を表わしたいと思います.
-
- <descrip>
- <tag/Daniel Eischen <tt/&lt;deischen@iworks.interworks.org&gt;//
-
- 精読するためのあり余るほどの HP 用フィルタを提供してく
- れたことに.
-
- <tag/&a.jehamby;/
-
- 提供して頂いた Ghostscript から HP へのフィルタに.
-
- <tag/私の妻, Mary Kelly <tt/&lt;urquhart@argyre.colorado.edu&gt;//
-
- 彼女と一緒にいるよりもずっと長い時間を FreeBSD のため
- に費やすことを許してくれたことに.
-
- </descrip>
diff --git a/share/doc/ja_JP.EUC/handbook/quotas.sgml b/share/doc/ja_JP.EUC/handbook/quotas.sgml
deleted file mode 100644
index 9051a0e..0000000
--- a/share/doc/ja_JP.EUC/handbook/quotas.sgml
+++ /dev/null
@@ -1,226 +0,0 @@
-<!-- $Id: quotas.sgml,v 1.4 1997/02/22 13:01:46 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.6 -->
-
-<!-- This is an SGML document in the linuxdoc DTD describing
- disk quotas under FreeBSD. By Mike Pritchard, 1996.
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-
- <article>
- <title> ディスク クォータ
- <author> Mike Pritchard <tt/mpp@FreeBSD.org/
- <date> 26 February 1996, (c) 1996
-
- <abstract> このドキュメントは FreeBSD 上での ディスククォータ
- (ディスクスペースの使用量制限) についての設定/管理方法について
- 記述されています。</abstract>
-
- <toc>
--->
-
- <chapt><heading>ディスク クォータ<label id="quotas"></heading>
-
-<p><em>原作: &a.mpp;<newline>
-26 February 1996 </em>.
-
-<p><em>訳者: &a.mihoko;<newline>
-6 September 1996 </em>.
-
- クォータシステムは、オペレーティングシステムのオプション機能で、
- 各ファイルシステム上で ユーザやグループのメンバが使用するディスク
- スペースの総量を規制したり、作成できるファイルの個数を制限したりす
- ることができます。
- この機能は、各ユーザ、各グループごとに使用できる資源の総量を制限で
- きるようなタイムシェアリングシステム上でもっともよく使用されていま
- す。これは、一人のユーザが、使用可能な全てのディスクスペースを使い
- きってしまうことを防止できます。
-
-<sect><heading>ディスククォータを使用するための設定</heading>
-
- <p>ディスククォータを使用しようとする前に、あなたが使用しているカー
- ネルで、クォータが組み込まれているかどうかを確認する必要があります。
- クォータを使用できるカーネルを構築するためには、カーネルコンフィギュ
- レーションファイルに、次の行を追加してください:
-<verb>
-options QUOTA
-</verb>
- 標準のGENERIC カーネルでは、この機能は有効になっていません。
- したがって、ディスククォータを使用するためには、
- カーネルをコンフィグレーションして構築しなおし、そのカーネ
- ルをインストールしなければいけません。カーネルの構築方法について
- の詳細情報は、
- <ref id="kernelconfig" name="FreeBSD カーネルのコンフィグレーション">
- を参照してください。
-
- <p>次に、ファイル <tt>/etc/sysconfig</tt> の中で、ディスククォー
- タ機能を、使用可能に設定する必要があります。
- そのためには、以下の行を変更します:
-<verb>
-quotas=NO
-</verb>
-を次のように:
-<verb>
-quotas=YES
-</verb>
-
- <p>最後に、各ファイルシステム毎にディスククォータを設定する
- ために、ファイル <tt>/etc/fstab</tt> を編集する必要があります。
- 全てのファイルシステムに対して、ユーザ又はグループのいずれかのクォー
- タを設定することも、ユーザとグループの両方のクォータを設定すること
- もできます。
-
- <p>ファイルシステム上で、ユーザ毎のクォータを設定するためには、
- <tt>userquota</tt> オプションを、ファイル <tt>/etc/fstab</tt> の中
- で、クォータを設定したいファイルシステムのエントリののオプションフィー
- ルドに追加してください。 例えば:
-<verb>
-/dev/sd1s2g /home ufs rw,userquota 1 2
-</verb>
-
- <p>同様に、グループのクォータを設定するためには、
- <tt>groupquota</tt> オプションを <tt>userquota</tt> の代わりに使用
- してください。ユーザとグループの両方のクォータを設定するためには、
- 次のようにエントリを変更してください:
-<verb>
-/dev/sd1s2g /home ufs rw,userquota,groupquota 1 2
-</verb>
-
- <p>デフォルトでは、クォータファイルは ファイルシステムの root ディ
- レクトリ上に、ユーザとグループのクォータに対して それぞれ
- <tt>quota.user</tt> と <tt>quota.group</tt> という名前で置いてあり
- ます。詳細情報は、<tt>man fstab</tt> を御覧ください。
- man ページには、クォータファイルを別な場所に置くことができると書い
- てありますが、さまざまな クォータユーティリティのうち、この機能を
- 適切に処理できていないものがあるので、クォータファイルをデフォルト
- の場所以外に置くことは勧められません。
-
- <p>ここまで準備ができたら、新しいカーネルを使って、システムを立ち
- 上げ直してください。
- <tt>/etc/rc</tt> ファイルが、自動的に適切なコマンドを起動してくれ
- 、あなたが <tt>/etc/fstab</tt> ファイルで使用可能にした全てのクォー
- タに対して、初期クォータファイルを作成してくれます。
- したがって、手動で サイズ 0 のクォータファイルを作成する必要はあり
- ません。
-
- <p>通常の作業の流れでは、手動で <tt>quotacheck</tt>、
- <tt>quotaon</tt>、または <tt>quotaoff</tt> コマンドを起動すべきで
- はありません。しかしながら、それらの作業について詳しく知りたい場合に
- は、man ページを御覧ください。
-
-<sect><heading>クォータ制限の設定</heading>
-
- <p>一旦システムのクォータを有効に設定したら、
- 本当にクォータが使用可能になっていることを確かめてください。
- これを簡単に確かめるには、<tt>quota -v</tt> コマンドを実行してみて
- ください。ディスク使用量の総計と、クォータが設定されている各ファイ
- ルシステム毎の現在のクォータ制限が表示されます。
-
- <p>さてこれで、<tt>edquota</tt> コマンドによって、クォータ制限をか
- ける準備ができました。
-
- <p> ユーザまたはグループが使用できるディスクスペースの総計や、作成
- することのできるファイル数に制限をかけるためのオプションがいくつか
- あります。 ディスクスペース容量規制 (ブロッククォータ) または ファイ
- ル数制限 (iノードクォータ) またはその両方を行うことができます。
- これらの個々の制限は、二つのカテゴリ、すなわち ハード制限とソ
- フト制限、でもっと細かく分類できます。
-
- <p>ハード制限は越えることができません。ユーザがハード制限に到達す
- ると、該当するファイルシステム上でディスクスペースを確保することが
- できなくなります。 例えば、もしユーザがファイルシステム上で 500 ブ
- ロックのハード的制限をされていて、かつ、現在、490 ブロック使用して
- いたとすると、ユーザはあと 10 ブロックしか確保できません。
- 11ブロック目を確保しようとすると、失敗します。
-
- <p>一方、ソフト制限は、定められたある一定の期間以内ならば制限を越
- えることができます。この一定期間は、猶予期間と呼ばれています。
- 猶予期間のデフォルトは 1週間です。もし、ユーザが猶予期間を過ぎても
- ソフト制限を越えて使用し続けていた場合には、ソフト制限はハード制限
- に切り替わり、もはやこれ以上は、ディスクスペースを確保できなくなり
- ます。ユーザのディスク使用量がソフト制限以下に戻った時に、猶予期間
- がリセットされます。
-
- <p>以下は、<tt>edquota</tt> コマンドを実行した時の出力例です。
- <tt>edquota</tt> コマンドが起動されると、<tt>EDITOR</tt> 環境変数
- で定義されたエディタ、または、<tt>EDITOR</tt> 環境変数が設定されて
- いない場合には <tt>vi</tt> エディタが起動され、クォータ制限を編集
- することができます。
-<verb>
-# edquota -u test
-Quotas for user test:
-/usr: blocks in use: 65, limits (soft = 50, hard = 75)
- inodes in use: 7, limits (soft = 50, hard = 60)
-/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
- inodes in use: 0, limits (soft = 50, hard = 60)
-</verb>
- 通常は、クォータが設定されているファイルシステム毎に2行の表示が
- 行われます。1行は、ブロック制限に関する情報で、もう1行は、i ノード
- 制限に関する情報です。クォータ制限の値を変更したい値に書き換えてく
- ださい。例えば、ユーザのブロック制限を、50 ブロックまでのソ
- フト制限と 75 ブロックまでのハード制限から、500 ブロックまでのソフ
- ト制限と 600 ブロックまでのハード制限にしたい場合は、
- 次のように書き換えます:
-<verb>
-/usr: blocks in use: 65, limits (soft = 50, hard = 75)
-</verb>
-を次のように:
-<verb>
-/usr: blocks in use: 65, limits (soft = 500, hard = 600)
-</verb>
- 新しいクォータ制限は、エディタを終了した時に置き換えられます。
-
- <p>uid の範囲によってクォータを設定する個とも可能です。
- そのためには <tt>edquota</tt> コマンドで、<tt>-p</tt> オプションを
- 使用します。まずはじめに、かけたいクォータ制限を、一人のユーザに対
- して設定します。それから次のコマンドを実行します
- <tt>edquota -p protouser startuid-enduid</tt>。
- 例えば、もし、ユーザ <tt>test</tt> がクォータ制限をかけられていた
- とすると、次のコマンドは、同じ制限を、uid 10,000 から 19,999 まで
- のユーザにかけることができます:
-<verb>
-edquota -p test 10000-19999
-</verb>
-
- <p>uid の範囲によって制限をかけることができる機能は、2.1 がリリー
- スされたあとに追加されました。もし、2.1 のシステム上で、この機能を
- 必要とする場合には、新しい edquota を入手する必要があります。
-
- <p>詳細情報は <tt>man edquota</tt> を御覧ください。
-
-<sect><heading>クォータ制限およびディスク使用状況のチェック</heading>
-
- <p>クォータ制限およびディスク使用状況をチェックするには、
- <tt>quota</tt> または <tt>repquota</tt> コマンドを使用することがで
- きます。<tt>quota</tt> コマンドは、各ユーザ、各グループ毎のクォー
- タ制限およびディスク使用状況をチェックすることができます。
- スーパーユーザだけが、他のユーザまたは自分が所属していないグループに
- 関するクォータ制限とディスク使用状況を調べることができます。
- <tt>repquota</tt> コマンドは、クォータが設定されているファイルシス
- テムに対する、全てのクォータ制限およびディスク使用状況の総計を表示
- します。
-
- <p>以下は、2つのファイルシステム上でクォータ制限がかけられているユー
- ザに対して <tt>quota -v</tt> コマンドを実行した出力結果の例です。
-
-<verb>
-Disk quotas for user test (uid 1002):
- Filesystem blocks quota limit grace files quota limit grace
- /usr 65* 50 75 5days 7 50 60
- /usr/var 0 50 75 0 50 60
-</verb>
- 上の例では、/usr ファイルシステム上で、このユーザは現在
- 50 ブロックまでのソフト制限を 15 ブロック超過して使用しており、
- 残り 5 日間の猶予期間を設定されています。
- アスタリスク (*) は、ユーザが現在クォータ制限を越えていることを示
- しています。
-
- <p>通常、ユーザがディスクスペースを全く使用していないファイルシス
- テムは、 たとえ そのファイルシステムにクォータ制限が設定されていた
- としても、<tt>quota</tt> コマンドによる出力では表示されません。
- <tt>-v</tt> オプションを付けると、上の例の <tt>/usr/var</tt> ファ
- イルシステムのように、これらのファイルシステムも表示します。
-
-<sect><heading>* NFS ファイルシステム上でのクォータ</heading>
-
- <p>このセクションはまだ作成中です。
-
diff --git a/share/doc/ja_JP.EUC/handbook/relnotes.sgml b/share/doc/ja_JP.EUC/handbook/relnotes.sgml
deleted file mode 100644
index 370c7f2..0000000
--- a/share/doc/ja_JP.EUC/handbook/relnotes.sgml
+++ /dev/null
@@ -1,575 +0,0 @@
-<!-- $Id: relnotes.sgml,v 1.7 1997/02/22 13:01:47 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.21 -->
-
-<!--
-<!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'>
-<linuxdoc><book><chapt>foo
--->
- <sect><heading>現在のリリースについて<label id="relnotes"></heading>
-
- <p>FreeBSD は自由に利用でき Intel i386/i486/Pentium/PentiumPro
- (とその互換 CPU) の PCで動作する, 4.4BSD-Lite ベースの全ソー
- スつきのリリースです. これはもともとカリフォルニア大学バーク
- レイ校 CSRGグループのソフトウェアがベースとなっており,
- NetBSD, 386BSD, そして Free Software Foundation のソフトウェ
- アなどにより拡張されています.
-
- 95年1月の FreeBSD 2.0 のリリースからみると, FreeBSD は性能, 機能,
- 安定性の面で劇的に改善されました. もっとも大きな変化は VM システムに
- おける改良で, 統合化された VM/file バッファキャッシュを用いる
- ことで性能を向上させながらも FreeBSD のメモリの使用量を減らすことが
- できたことです. おかげで, 最低 5MB メモリという制約上でも動作する
- ようになりました. その他の拡張としては NIS のクライアントとサーバの
- 完全サポート, トランザクション TCP のサポート, ダイヤルオンデマンド
- PPP, 改良 SCSI サブシステム, ISDN の初期サポート,
- FDDI や Fast Ethernet (100Mbps) などのサポート,
- Adaptec 2940 (WIDE と narrow) のサポートの改良と数百件のバグの修正,
- などがあります.
-
- 私たちはたくさんのユーザからのコメントや提案をまじめに受け取り,
- 私たちが正しいと考え, かつ導入の手順が分かりやすいものを提供しようと
- 努力しています. この (継続的に進化する) プロセスに対するあなたの意見を
- 心からお待ちしています.
-
- FreeBSD では基本配布セットに加え, 移植されたソフトウェア集
- として 数百の人気の高いプログラムを提供しています. 96年12月
- 初旬の時点で 700 以上の ports (移植ソフトウェア) が存在します.
- ports には http (WWW) サーバから, ゲーム, 言語,
- エディタまでありとあらゆるものが含まれています. portsはオリジナル
- ソースに対する「差分」という形で表現されており, すべての portsを
- 集めても 10MB程度にしかなりません. こうすることで ports の更新を
- 容易にし, portsに必要なディスクスペースを小さくすることができます.
- portsをコンパイルするには, インストールしたいと思っているプログラムの
- ディレクトリに移動し, ``make all'' と実行してコンパイルが成
- 功したら, ``make install'' とすると, あとはすべてシステムが
- やってくれます. どの portsもオリジナルの配布セットを動的に
- CDROM または近くの FTP サーバから取ってくるので, ディスクは
- 構築したいと思っている portsの分だけを準備しておけば十分です.
- ほとんどの portsは, すでにコンパイルされた状態で ``package''
- として提供されており, ソースコードからコンパイルしたくない場
- 合, これを使うと (pkg_add というコマンドで) 簡単にインストー
- ルできます.
-
- FreeBSD 2.1 以降のマシンであれば, <bf>/usr/share/doc</bf>
- ディレクトリにインストールの手順や FreeBSD を利用する上で有用な
- ドキュメントがたくさんあります.
- これらのドキュメントは, HTML ブラウザを使って, 以下の URL から
- 参照することができます.
-
- <descrip>
- <tag>FreeBSD ハンドブック (英文オリジナル)</tag>
- <htmlurl url="file:/usr/share/doc/handbook/handbook.html">
-
- <tag>FreeBSD に関する FAQ</tag>
- <htmlurl url="file:/usr/share/doc/FAQ/FAQ.html">
- </descrip>
-
- また, <htmlurl
- url="http://www.freebsd.org"
- name="http://www.freebsd.org"> にはマスタ
- (かなり頻繁に更新されます) がありますので, こちらも参照してください.
-
- 合衆国の輸出規制のため, FreeBSD のコア配布セットには DES のコードは
- 含まれていません. 合衆国国内に限り, DES を使うプログラムなどが,
- コア配布セットに加えるパッケージとして提供されています.
- 誰でも使えるパッケージは, 別途, 合衆国国外で提供されています.
- 合衆国国外からも自由に取得可能な DES の配布セットに関する
- 詳細は, <htmlurl
- url="../FAQ/FAQ.html" name="FreeBSD FAQ"> にあります.
-
- FreeBSD 上で必要とされるセキュリティがパスワードだけであり, Sun や
- DEC などの別のホストから暗号化されたパスワードをコピーする必要が
- ないのであれば, FreeBSD の MD5 ベースのセキュリティで十分です.
- この標準のセキュリティモデルは DES よりも適していると私たちは思って
- いますし, また, やっかいな輸出規制にもひっかかることはありません.
- あなたが合衆国国外にいるなら (あるいは国内にいても) 一度試してみて
- ください!
-
-<![ IGNORE [
- <p>Since our first release of FreeBSD 1.0 nearly two
- years ago, FreeBSD has changed dramatically. Since
- release 2.0, FreeBSD has been based on the Berkeley
- 4.4BSD-Lite code rather than the Net2 code used for
- previous versions. In addition to clearing the legal
- issues that surrounded the Net2 code, the port to 4.4
- has also brought in numerous new features, filesystems
- and enhanced driver support.
-
- Since our release of FreeBSD 2.0 in November of 1994,
- the performance, feature set, and stability of FreeBSD
- has improved dramatically. The largest change is a
- revamped Virtual Memory (VM) system with a merged
- virtual memory and file buffer cache. This increases
- performance while reducing FreeBSD's memory footprint,
- making a system with 4 megabytes of RAM a more
- acceptable minimum. Other enhancements include full
- NIS client and server support, transaction TCP support,
- dial on demand PPP, an improved SCSI subsystem, early
- support for ISDN, support for FDDI and 100Mbit Fast
- Ethernet adapters, improved support for the Adaptec
- 2940 and hundreds of bug fixes.
-
- We have also taken the comments and suggestions of many
- of our users to heart and have attempted to provide
- what we hope is a more sane and easily understood
- installation process. Your feedback on this constantly
- evolving process is especially welcome!
-
- In addition to the base distributions, FreeBSD offers a
- new ported software collection with some 270 commonly
- sought-after programs. The list of ports ranges from
- World Wide Web (http) servers, to games, languages,
- editors and almost everything in between. The entire
- ports collection requires only 10MB of storage because
- each port contains only the changes required for the
- source code to compile on FreeBSD and the information
- necessary to automatically retrieve the original
- sources. The original distribution for each port you
- build is automatically retrieved off of CD-ROM or a via
- anonymous ftp, so you need only enough disk space to
- build the ports you want. Each port is also provided
- as a pre-compiled package which can be installed with
- the <tt>pkg_add(1)</tt> command for those who do not
- wish to compile their own ports from source. See <ref
- id="ports" name="The Ports Collection"> for a more
- complete description.
-
-<!-- XXX make xref
- For a list of contributors and a general project
- description, please see the file "CONTRIB.FreeBSD"
- which should be bundled with your binary distribution.
-
- Also see the "REGISTER.FreeBSD" file for information on
- registering with the "Free BSD user counter". This
- counter is for ALL freely available variants of BSD,
- not just FreeBSD, and we urge you to register yourself
- with it.
--->
-
- The core of FreeBSD does not contain DES code which
- would inhibit its being exported outside the United
- States. An add-on package, for use only in the United
- States, contains the programs that normally use DES.
- The auxiliary packages provided separately can be used
- by anyone. A freely exportable European distribution
- of DES for our non-U.S. users also exists and is
- described in the <url
- url="http://www.freebsd.org/FAQ" name="FreeBSD
- FAQ">. If password security for FreeBSD is all you
- need, and you have no requirement for copying encrypted
- passwords from other hosts using DES into FreeBSD
- password entries, then FreeBSD's MD5 based security may
- be all you require. We feel that our default security
- model is more than a match for DES, and without any
- messy export issues to deal with.
-
- FreeBSD 2.0.5 represents the culmination of 2 years of
- work and many thousands of man hours put in by an
- international development team. We hope you enjoy it!
-
- <sect1><heading>New feature highlights</heading>
-
- <p>The following features were added or substantially
- improved between the release of 2.0 and this 2.0.5
- release. In order to facilitate better
- communication, the person, or persons, responsible
- for each enhancement is noted. Any questions
- regarding the new functionality should be directed to
- them first.
-
- <sect2><heading>Kernel</heading>
-
- <p>
- <descrip>
-
- <tag>Merged VM-File Buffer Cache</tag> A merged
- VM/buffer cache design greatly enhances overall
- system performance and makes it possible to do
- a number of more optimal memory allocation
- strategies that were not possible before.
-
- Owner: &a.davidg; and &a.dyson;
-
- <tag>Network PCB hash optimization</tag> For
- systems with a great number of active TCP
- connections (WEB and ftp servers, for example),
- this greatly speeds up the lookup time required
- to match an incoming packet up to its
- associated connection.
-
- Owner: &a.davidg;
-
- <tag>Name cache optimization</tag> The name-cache
- would cache all files of the same name to the
- same bucket, which would put for instance all
- ".." entries in the same bucket. We added the
- parent directory version to frustrate the hash,
- and improved the management of the cache in
- various other ways while we were at it.
-
- Owner: &a.phk; and &a.davidg;
-
- <tag>Less restrictive swap-spaces</tag> The need
- to compile the names of the swap devices into
- the kernel has been removed. Now
- <tt>swapon(8)</tt> will accept any block
- devices, up to the maximum number of swap
- devices configured in the kernel.
-
- Owner: &a.phk; and &a.davidg;
-
- <tag>Hard Wired SCSI Devices</tag> Prior to
- 2.0.5, FreeBSD performed dynamic assignment of
- unit numbers to SCSI devices as they were
- probed, allowing a SCSI device failure to
- possibly change unit number assignment. This
- could cause filesystems other disks in the
- system to be incorrectly mounted, or not
- mounted at all. Hard wiring allows static
- allocation of unit numbers (and hence device
- names) to scsi devices based on SCSI ID and
- bus. SCSI configuration occurs in the kernel
- config file. Samples of the configuration
- syntax can be found in the <tt>scsi(4)</tt> man
- page or the LINT kernel config file.
-
- Owner: &a.dufault;
-
- Sources involved: <tt>sys/scsi/*</tt>
- <tt>usr.sbin/config/*</tt>
-
- <tag>Slice Support</tag> FreeBSD now supports a
- <em>slice</em> abstraction which enhances
- FreeBSD's ability to share disks with other
- operating systems. This support will allow
- FreeBSD to inhabit DOS extended partitions.
-
- Owner: &a.bde;
-
- Sources involved: <tt>sys/disklabel.h</tt>
- <tt>sys/diskslice.h</tt> <tt>sys/dkbad.h</tt>
- <tt>kern/subr_diskslice.c</tt> <tt>kern/subr_dkbad.c</tt>
- <tt>i386/isa/diskslice_machdep.c</tt> <tt>i386/isa/wd.c</tt>
- <tt>scsi/sd.c</tt> <tt>dev/vn/vn.c</tt>
-
- <tag>Support for Ontrack Disk Manager Version 6.0</tag>
- Support has been added for disks
- which use Ontrack Disk Manager. The fdisk
- program does <em>not</em> know about it
- however, so make all changes using the install
- program on the boot.flp or the Ontrack Disk
- Manager tool under MS-DOS.
-
- Owner: &a.phk;
-
- <tag>Bad144 is back and working</tag> Bad144
- works again, though the semantics are slightly
- different than before in that the bad-spots are
- kept relative to the slice rather than absolute
- on the disk.
-
- Owner: &a.bde; and &a.phk;
-
- </descrip>
-
- <sect2><heading>New device support</heading>
-
- <sect3><heading>SCSI and CDROM devices</heading>
-
- <p><descrip>
-
- <tag>Matsushita/Panasonic (Creative) CD-ROM driver</tag>
- The Matsushita/Panasonic CR-562 and
- CR-563 drives are now supported when connected to
- a Sound Blaster or 100% compatible host adapter.
- Up to four host adapters are supported for a
- total of 16 CD-ROM drives. The audio functions
- are supported with the Karoke variable speed
- playback.
-
- Owner: &a.uhclem;
-
- Sources involved: <tt>isa/matcd</tt>
-
- <tag>Adaptec 2742/2842/2940 SCSI driver</tag> The
- original 274x/284x driver has evolved
- considerably since the 2.0 release of FreeBSD.
- We now offer full support for the 2940 series as
- well as the Wide models of these cards. The
- arbitration bug that caused problems with fast
- devices has been corrected and
- <em>experimental</em> tagged queuing support has
- been added (kernel option
- <tt>AHC_TAGENABLE</tt>). John Aycock has also
- released the sequencer code under a Berkeley
- style copyright making the driver entirely clean
- of the GPL.
-
- Owner: &a.gibbs;
-
- Sources involved: <tt>isa/aic7770.c</tt> <tt>pci/aic7870.c</tt>
- <tt>i386/scsi/*</tt> <tt>sys/dev/aic7xxx/*</tt>
-
- <tag>NCR5380/NCR53400 SCSI (ProAudio Spectrum) driver</tag>
- Owner: &a.core;
-
- Submitted by: Serge Vakulenko (vak@cronyx.ru)
-
- Sources involved: <tt>isa/ncr5380.c</tt>
-
- <tag>Sony CDROM driver</tag> Owner: &a.core;
-
- Submitted by: Mikael Hybsch (micke@dynas.se)
-
- Sources involved: <tt>isa/scd.c</tt>
-
- </descrip>
-
- <sect3><heading>Serial devices</heading>
-
- <p><descrip>
-
- <tag>SDL Communications Riscom/8 Serial Board Driver</tag>
- Owner: &a.ache;
-
- Sources involved: <tt>isa/rc.c</tt> <tt>isa/rcreg.h</tt>
-
- <tag>Cyclades Cyclom-y Serial Board Driver</tag>
- Owner: &a.bde;
-
- Submitted by: Andrew Werple
- (andrew@werple.apana.org.au) and Heikki Suonsivu
- (hsu@cs.hut.fi)
-
- Obtained from: NetBSD
-
- Sources involved: <tt>isa/cy.c</tt>
-
- <tag>Cronyx/Sigma sync/async serial driver</tag>
- Owner: &a.core;
-
- Submitted by: Serge Vakulenko
-
- Sources involved: <tt>isa/cronyx.c</tt>
-
- </descrip>
-
- <sect2><heading>Networking</heading>
-
- <p><descrip>
-
- <tag>Diskless booting</tag> Diskless booting in 2.0.5
- is much improved over previous releases. The boot
- program is in <tt>src/sys/i386/boot/netboot</tt>,
- and can be run from an MS-DOS system or burned into
- an EPROM. WD, SMC, 3COM and Novell ethernet cards
- are currently supported. Local swapping is also
- supported.
-
- <tag>DEC DC21140 Fast Ethernet driver</tag> This
- driver supports any of the numerous NICs using the
- DC21140 chipset including the 100Mb DEC DE-500-XA
- and SMC 9332.
-
- Owner: &a.core;
-
- Submitted by: Matt Thomas (thomas@lkg.dec.com)
-
- Sources involved: <tt>pci/if_de.c</tt> <tt>pci/dc21040.h</tt>
-
-
- <tag>DEC FDDI (DEFPA/DEFEA) driver</tag> Owner: &a.core;
-
- Submitted by: Matt Thomas (thomas@lkg.dec.com)
-
- Sources involved: <tt>pci/if_pdq.c</tt> <tt>pci/pdq.c</tt>
- <tt>pci/pdq_os.h</tt> <tt>pci/pdqreg.h</tt>
-
-
- <tag>3Com 3c505 (Etherlink/+) NIC driver</tag> Owner:
- &a.core;
-
- Submitted by: Dean Huxley (dean@fsa.ca)
-
- Obtained from: NetBSD
-
- Sources involved: <tt>isa/if_eg.c</tt>
-
-
- <tag>Fujitsu MB86960A family of NICs driver</tag>
- Owner: &a.core;
-
- Submitted by: M.S. (seki@sysrap.cs.fujitsu.co.jp)
-
- Sources involved: <tt>isa/if_fe.c</tt>
-
-
- <tag>Intel EtherExpress driver</tag> Owner: Rodney
- W. Grimes (rgrimes@FreeBSD.org)
-
- Sources involved: <tt>isa/if_ix.c</tt> <tt>isa/if_ixreg.h</tt>
-
-
- <tag>3Com 3c589 driver</tag> Owner: &a.core;
-
- Submitted by: "HOSOKAWA Tatsumi"
- (hosokawa@mt.cs.keio.ac.jp), Seiji Murata
- (seiji@mt.cs.keio.ac.jp) and Noriyuki Takahashi
- (hor@aecl.ntt.jp)
-
- Sources involved: <tt>isa/if_zp.c</tt>
-
-
- <tag>IBM Credit Card Adapter driver</tag> Owner: &a.core;
-
- Submitted by: "HOSOKAWA Tatsumi"
- (hosokawa@mt.cs.keio.ac.jp),
-
- Sources involved: <tt>isa/pcic.c</tt> <tt>isa/pcic.h</tt>
-
-
- <tag>EDSS1 and 1TR6 ISDN interface driver</tag>
- Owner: &a.core;
-
- Submitted by: Dietmar Friede
- (dfriede@drnhh.neuhaus.de) and Juergen Krause
- (jkr@saarlink.de)
-
- Sources involved: <tt>gnu/isdn/*</tt>
-
- </descrip>
-
- <sect2><heading>Miscellaneous drivers</heading>
-
- <p><descrip>
-
- <tag>Joystick driver</tag> Owner: &a.jmz;
-
- Sources involved: <tt>isa/joy.c</tt>
-
- <tag>National Instruments ``LabPC'' driver</tag> Owner:
- &a.dufault;
-
- Sources involved: <tt>isa/labpc.c</tt>
-
- <tag>WD7000 driver</tag> Owner: Olof Johansson
- (offe@ludd.luth.se)
-
- <tag>Pcvt Console driver</tag> Owner: &a.joerg;
-
- Submitted by: &a.hm;
-
- Sources involved: <tt>isa/pcvt/*</tt>
-
- <tag>BSD-audio emulator for VAT driver</tag> Owner:
- Amancio Hasty (ahasty@FreeBSD.org) and
- &a.pst;
-
- Sources involved: <tt>isa/sound/vat_audio.c</tt>
- <tt>isa/sound/vat_audioio.h</tt>
-
- <tag>National Instruments AT-GPIB and AT-GPIB/TNT GPIB driver</tag>
- Owner: &a.core;
-
- Submitted by: Fred Cawthorne
- (fcawth@delphi.umd.edu)
-
- Sources involved: <tt>isa/gpib.c</tt> <tt>isa/gpib.h</tt>
- <tt>isa/gpibreg.h</tt>
-
- <tag>Genius GS-4500 hand scanner driver</tag> Owner:
- &a.core;
-
- Submitted by: Gunther Schadow
- (gusw@fub46.zedat.fu-berlin.de)
-
- Sources involved: <tt>isa/gsc.c</tt> <tt>isa/gscreg.h</tt>
-
- <tag>CORTEX-I Frame Grabber</tag> Owner: &a.core;
-
- Submitted by: Paul S. LaFollette, Jr. (
-
- Sources involved: <tt>isa/ctx.c</tt> <tt>isa/ctxreg.h</tt>
-
-
- <tag>Video Spigot video capture card</tag> Owner: Jim
- Lowe
-
- </descrip>
-
- <sect1><heading>Experimental features</heading>
-
- <p><descrip>
-
- <tag>UNIONFS and LFS</tag> The unionfs and LFS file
- systems are known to be severely broken in FreeBSD
- 2.0.5. This is in part due to old bugs that we
- have not had time to resolve yet and the need to
- update these file systems to deal with the new VM
- system. We hope to address these issues in a later
- release of FreeBSD.
-
- <tag>iBCS2 Support</tag> FreeBSD now supports running
- iBCS2 compatible binaries. Currently SCO UNIX 3.2.2
- and 3.2.4, and ISC 2.2 COFF are supported. The iBCS2
- emulator is in its early stages and has not been
- extensively tested, but it is functional. Most of
- SCO's 3.2.2 binaries work, as does an old
- INFORMIX-2.10 for SCO. Further testing is necessary
- to complete this project. There is also work under
- way for ELF and XOUT loaders, and most of the svr4
- syscall wrappers are written.
-
- Owner: &a.sos; and &a.sef;
-
- Sources involved: <tt>sys/i386/ibcs2/*</tt> and misc
- kernel changes.
-
- </descrip>
-<!--
- <sect1><heading>Reporting problems, making suggestions, submitting code</heading>
-
- <p>Your suggestions, bug reports and contributions of code
- are always valued - please do not hesitate to report any
- problems you may find (preferably with a fix attached if
- you can!).
-
- The preferred method to submit bug reports from a machine
- with Internet mail connectivity is to use the send-pr
- command. Bug reports will be dutifully filed by our
- faithful bug-filer program and you can be sure that we will
- do our best to respond to all reported bugs as soon as
- possible.
-
- If, for some reason, you are unable to use the send-pr
- command to submit a bug report, you can try to send it
- to: <tscreen>bugs@FreeBSD.org</tscreen> Otherwise, for
- any questions or suggestions, please send mail to:
- <tscreen>questions@FreeBSD.org</tscreen>
-
- Additionally, being a volunteer effort, we are always
- happy to have extra hands willing to help - there are
- already far more enhancements to be done than we can ever
- manage to do by ourselves! To contact us on technical
- matters, or with offers of help, you may send mail to:
- <tscreen>hackers@FreeBSD.org</tscreen>
-
- Since these mailing lists can experience significant
- amounts of traffic, if you have slow or expensive mail
- access and you are only interested in keeping up with
- significant FreeBSD events, you may find it preferable to
- subscribe to: <tscreen>announce@FreeBSD.org</tscreen>
-
- All but the freebsd-bugs groups can be freely joined by
- anyone wishing to do so. Send mail to &a.majordomo
- and include the keyword `help' on a
- line by itself somewhere in the body of the message.
- This will give you more information on joining the
- various lists, accessing archives, etc. There are a
- number of mailing lists targeted at special interest
- groups not mentioned here, so send mail to majordomo and
- ask about them!
-
--->
-]]>
diff --git a/share/doc/ja_JP.EUC/handbook/routing.sgml b/share/doc/ja_JP.EUC/handbook/routing.sgml
deleted file mode 100644
index 10c1246..0000000
--- a/share/doc/ja_JP.EUC/handbook/routing.sgml
+++ /dev/null
@@ -1,269 +0,0 @@
-<!-- $Id: routing.sgml,v 1.4 1997/02/22 13:01:48 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.5 -->
-
-<!-- <!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'> -->
-
- <sect><heading>ゲートウェイとルート<label id="routing"></heading>
-
- <p><em>原作: &a.gryphon;.<newline>6 October 1995.</em>
- <p><em>訳: &a.yuki;.<newline>6 September 1996.</em>
-
- ある計算機が他の計算機をみつけることができるようにするには, ある
- 計算機から他の計算機へ, どのようにたどり着くかを適切に記述するた
- めの仕組みが必要です. この仕組みをルーティングと呼びます. 「ルー
- ト(経路)」は <bf>destination (目的地) </bf>と <bf>gateway (ゲー
- トウェイ) </bf>の 2つのアドレスの組で定義します. あなたが
- <em>destination</em> へアクセスしようとした場合,
- <em>gateway</em> を通って送られることをこのペアは示しています.
- destination には個々のホスト, サブネット, 「デフォルト」の 3つの
- タイプがあります. 「デフォルトルート」は他への経路が適用できない
- 場合に使われます. のちほどデフォルトルートについて少し述べること
- するとして, ここでは, 個々のホスト, インタフェース (「リンク」と
- も呼ばれます), イーサネットハードウェアアドレスという 3つのタイ
- プのゲートウェイについて説明します.
-
- <sect1><heading>例</heading>
-
- <p>以下に示す <tt>netstat -r</tt> の出力の例を使って, ルーティン
- グがいろいろと異なっている様子を説明することにします.
-
-<tscreen><verb>
-Destination Gateway Flags Refs Use Netif Expire
-
-default outside-gw UGSc 37 418 ppp0
-localhost localhost UH 0 181 lo0
-test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77
-10.20.30.255 link#1 UHLW 1 2421
-foobar.com link#1 UC 0 0
-host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0
-host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 =>
-host2.foobar.com link#1 UC 0 0
-224 link#1 UC 0 0
-</verb></tscreen>
-
- 最初の2行はデフォルトルート(次の節で詳しく説明します)と,
- <tt>localhost</tt>への経路を示しています.
-
- <tt>localhost</tt>のためのインタフェース (<tt>Netif</tt>の欄)
- は<tt>lo0</tt>で, これはループバックデバイスとして知られています.
- 結局のところ戻るだけなので, この destinationへのすべてのトラフィ
- ックが内部的に処理されるのであって, LAN を経由して送られるのでは
- ありません.
-
- 次の行では``<tt>0:e0:...</tt>''というアドレスに注目しましょう.
- これはイーサネットハードウェアアドレスです. FreeBSDは自動的に
- ローカルなイーサネット上の任意のホスト (この例では<tt>test0</tt>)
- を見つけ, イーサネットインタフェース<tt>ed0</tt>の所にそのホスト
- への経路を直接つけ加えます. タイムアウト時間 (<tt>Expire</tt>の
- 欄) も経路のタイプと結びついており, 指定された時間が経過しても応
- 答がないときに使用します. この場合, 経路情報は自動的に削除されま
- す. これらのホストは, RIP(Routing Information Protocol) という,
- 最短パスの判定に基づいてローカルホストへの経路を決定する仕組みを
- 利用することで認識されます.
-
- 更に, FreeBSDではローカルサブネット (<tt>10.20.30.255</tt>は
- <tt>10.20.30</tt>というサブネットに対するブロードキャストアドレスで,
- <tt>foobar.com</tt>はこのサブネットに結びつけられているドメイン名)
- への経路情報も加えることができます. <tt>link&num;1</tt>というの
- は, この計算機の最初のイーサネットカードのことをさします. これら
- については, 何も追加インタフェースが指定されていないことに気づく
- でしょう.
-
- これらの2つのグループ(ローカルネットワークホストとローカルサブネット)
- の両方とも, <tt>routed</tt>と呼ばれるデーモンによって自動的に
- 経路が設定されます.
- <tt>routed</tt>を動かさなければ, 静的に定義した (つまり具体的に
- 設定した) 経路のみ存在することになります.
-
- <tt>host1</tt> の行は私たちのホストのことで,
- イーサネットアドレスで示されています.
- 送信側のホストの場合, FreeBSDはイーサネットインタフェースへ
- 送るのではなく, ループバックインタフェース
- (<tt>lo0</tt>)を使います.
-
- 2つある<tt>host2</tt>の行は, ifconfigのエイリアス (このようなこと
- をする理由については ethernetの章を参照してください) を使ったとき
- にどのようになるかを示す例です. <tt>lo0</tt>の後にある<tt>=&gt</tt>
- は, インタフェースが (このアドレスがローカルなホストを参照しているので)
- ループバックを使っているというだけでなく, エイリアスになっていることも
- 示しています. このような経路はエイリアスをサポートしている
- ホストにのみ現れます. ローカルネットワーク上の他のすべてのホストでは
- 単に<tt>link&num;1</tt>となります.
-
- 最後の行(destinationが<tt>224</tt>のサブネット)はマルチキャスト
- で扱うものですが, これは他の章で説明します.
-
- 他の欄については<tt>Flags</tt>について説明する必要があります.
- それぞれの経路は欄に示されているように違った属性をもっています.
- 以下にいくつかのフラグとこれらが何を意味しているかを示します.
-
- <descrip>
-
- <tag/U/ <bf/Up:/ この経路はアクティブです.
-
- <tag/H/ <bf/Host:/ 経路の destinationが単一のホストです.
-
- <tag/G/ <bf/Gateway:/ この destinationへ送られると, どこへ送れ
- ばよいかを明らかにして, そのリモートシステムへ送られます.
-
- <tag/S/ <bf/Static:/ この経路はシステムによって自動的に生成
- されたのではなく, 手動で作成されました.
-
- <tag/C/ <bf/Clone:/ マシンに接続したときにこの経路に基づく
- 新しい経路が作られます. このタイプの経路は通常は
- ローカルネットワークで使われます.
-
- <tag/W/ <bf/WasCloned:/ ローカルエリアネットワーク(Clone)
- の経路に基づいて自動的に生成された経路であることを示します.
-
- <tag/L/ <bf/Link:/ イーサネットハードウェアへの参照を含む
- 経路です.
-
- </descrip>
-
-
- <sect1><heading>デフォルトルート</heading>
-
- <p>ローカルシステムからリモートホストにコネクションを張る
- 必要がある場合, 既知のパスが存在するかどうかを確認するためにル
- ーティングテーブルをチェッ
- クします. 到達するためのパスを知っているサブネットの内部にリモ
- ートホストがある場合 (Cloned routes), システムはインタフェース
- から接続できるかどうかをチェックします.
-
- 知っているパスがすべて駄目だった場合でも, システムには
- 最後の切り札の <bf>デフォルト</bf>ルートがあります. このルートは
- ゲートウェイルート (普通はシステムに 1つしかありません)
- の特別なものです. そして, フラグフィールドは必ず ``<tt>c</tt>''
- がマークされています. このゲートウェイは, LAN 内のホストにとっ
- て, 外部 (PPPのリンクを経由する場合や, データラインに接続するハー
- ドウェアデバイスなど) へ直接接続するマシンすべてのためのものです.
-
- 外部に対するゲートウェイとして機能するマシンでデフォルトルート
- を設定する場合, デフォルトルートは
- インターネットサービスプロバイダ(ISP)のサイトのゲートウェ
- イマシンになるでしょう.
-
- それではデフォルトルートの一例を見てみましょう.
- 一般的な構成を示します.
-<tscreen><verb>
-[Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW]
-</verb></tscreen>
-
- ホスト<tt>Local1</tt>とホスト<tt>Local2</tt>をPPPでISPのターミナルサー
- バと接続されているあなたのサイトだとします. ISPはサイト内にロー
- カルなネットワークを持っていて, そこにはまざまなものがあり, あな
- たの接続するサーバやISPのインターネットへの接続点であるハード
- ウェアデバイス(T1-GW)などがあります.
-
- あなたのマシンのデフォルトルートはそれぞれ次のようになります.
-
-<tscreen><verb>
-host default gateway interface
----- --------------- ---------
-Local2 Local1 ethernet
-Local1 T1-GW PPP
-</verb></tscreen>
-
- 「なぜ (あるいは、どうやって) Local1 の
- デフォルトゲートウェイをISPのサーバでなく
- T1-GWにセットするのか」という質問がよくあります.
-
- コネクションのローカルの側については, PPPのインタフェースは
- ISPのローカルネットワーク上のアドレスを用いているため,
- ISPのローカルネットワーク上のすべてのマシンへの経路は
- 自動的に生成されています. つまり, あなたのマシンは, どのようにT1-GW
- まで届くかという経路を既に知っていることになりますから,
- ISPサーバに媒介的なトラフィックをかける必要はありません.
-
- 最後になりましたが, 一般的にローカルネットワークでは ``<tt>...1</tt>'
- というアドレスをゲートウェイアドレスとして使います.
- ですから (同じ例を用います), あなたのclass-Cのアドレス空間が
- <tt>10.20.30</tt>で ISPが<tt>10.9.9</tt>を用いている場合,
- デフォルトルートは次のようになります.
-
-<tscreen><verb>
-Local2 (10.20.30.2) --> Local1 (10.20.30.1)
-Local1 (10.20.30.1, 10.9.9.30) --> T1-GW (10.9.9.1)
-</verb></tscreen>
-
- <sect1><heading>マルチホームホスト</heading>
-
- <p>ここで扱うべき他のタイプの設定があります. それは2つの異なるネットワー
- クにまたがるホストです. 技術的にはゲートウェイとして機能するマシン (上
- の例では PPPコネクションを用いています) はマルチホームホストで
- す. しかし実際にはこの言葉は, 2つのローカルエリアネットワーク上のサ
- イトであるマシンを指す言葉としてのみ使われます.
-
- 2枚のイーサネットカードを持つマシンが, 別のサブネット
- 上にそれぞれアドレスを持っている場合があります.
- あるいは, イーサネットカードを1枚持っているマシンで,
- ifconfigのエイリアスを使っているかもしれません.
- 物理的に分かれている2つのイーサネットのネットワークが使われて
- いるならば前者が用いられます. 後者は, 物理的には1つのネットワ
- ークセグメントで, 論理的には分かれている 2つのサブネットとする
- 場合に用いられます.
-
- どちらにしても, このマシンがお互いのサブネットへのゲートウェイ
- (inbound route) として定義されていることが分かるように, おのお
- ののサブネットでルーティングテーブルを設定します. このマシンが
- 2 つのサブネットの間のブリッジとして動作するという構成は, パケ
- ットのフィルタリングを実装する必要がある場合や, 一方向または双
- 方向のファイアウォールを利用したセキュリティを構築する場合によ
- く用いられます.
-
- <sect1><heading>ルーティングの伝播</heading>
-
- <p>すでに外部との経路をどのように定義したらよいかは説明しました.
- しかし外部から私たちのマシンをどのようにして見
- つけるのかについては説明していません.
-
- ある特定のアドレス空間 (この例では class-C のサブネット) にお
- けるすべてのトラフィックが, 到着したパケットを内部で転送するネ
- ットワーク上の特定のホストに送られるようにルーティングテーブル
- を設定することができるのは分かっています.
-
- あなたのサイトにアドレス空間を割り当てる場合, あなたのサブネッ
- トへのすべてのトラフィックがすべて PPPリンクを通じてサイトに送
- ってくるようにサービスプロバイダはルーティングテーブルを設定し
- ます. しかし, 国境の向こう側のサイトはどのようにしてあなたの
- ISPへ送ることを知るのでしょうか?
-
- 割り当てられているすべてのアドレス空間の経路を維持する (分散し
- ている DNS 情報とよく似た) システムがあり, そのインターネット
- バックボーンへの接続点を定義しています. 「バックボーン」
- とは国を越え, 世界中のインターネットのトラフィックを運ぶ主要
- な信用できる幹線のことです. どのバックボーンマシンも, あるネット
- ワークから特定のバックボーンのマシンへ向かうトラフィックと,
- そのバックボーンのマシンからあなたのネットワークに届くサービス
- プロバイダまでのチェーンのマスタテーブルのコピーを持っていま
- す.
-
- あなたのサイトが接続(プロバイダからみて内側にある
- ことになります) したということを, プロバイダからバックボー
- ンサイトへ通知することはプロバイダの仕事です. これが経
- 路の伝搬です.
-
-<!--
- <sect1><heading>Multicast Routing</heading>
--->
-
- <sect1><heading>トラブルシューティング</heading>
-
- <p>ルーティングの伝搬に問題が生じて, いくつかのサイトが
- 接続をおこなうことができなくなることがあります.
- ルーティングがどこでおかしくなっているかを明らかにするのに
- 最も有効なコマンドはおそらく<tt>traceroute(8)</tt>コマンドでしょ
- う. このコマンドは, あなたがリモートマシンに対して接続をおこなう
- ことができない(例えば<tt>ping(8)</tt>に失敗するような場合)
- 場合も, 同じように有効です.
-
- <tt>traceroute(8)</tt>コマンドは, 接続を試みているリモートホスト
- を引数にして実行します. 試みているパスの経由する
- ゲートウェイホストを表示し, 最終的には目的のホストに
- たどり着くか, コネクションの欠如によって終ってしまうかのどちら
- かになります.
-
- より詳しい情報は, <tt>tracroute</tt>のマニュアルページをみてください.
-
diff --git a/share/doc/ja_JP.EUC/handbook/russian.sgml b/share/doc/ja_JP.EUC/handbook/russian.sgml
deleted file mode 100644
index 1ebbad5..0000000
--- a/share/doc/ja_JP.EUC/handbook/russian.sgml
+++ /dev/null
@@ -1,192 +0,0 @@
-<!-- $Id$ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.4 -->
-
-<sect><heading>ロシア語 (KOI8-R encoding)<label id="russian"></heading>
-<p><em>Contributed by &a.ache;<newline>
-1 May 1997</em>.
-<p><em>訳: &a.motoyuki;.<newline>12 May 1997.</em>
-<p>KOI8-R encoding についてのさらに詳しいことは,
-<htmlurl url="http://www.nagual.pp.ru/~ache/koi8.html"
-name="KOI8-R References (Russian Net Character Set)"> をご覧ください.
-
-<sect1><heading>コンソールのセットアップ<label id="russian:console"></heading>
-<p>
-<enum>
-<item><tt>/etc/rc.conf</tt> でのロシア語コンソールのエントリーは以下のようになります.
-<verb>
-keymap=ru.koi8-r
-keychange="61 ^[[K"
-scrnmap=koi8-r2cp866
-font8x16=cp866b-8x16
-font8x14=cp866-8x14
-font8x8=cp866-8x8
-</verb>
-<p>
-<it>注意:</it> ^[ は
-<tt>/etc/rc.conf</tt>,
-に ^[ の文字列ではなく本当の ESC キャラクターを入れることを意味します.
-<p>
-これは, KOI8-R キーボードで, KOI8-R encoding の代替スクリーンフォントを
-疑似グラフィックに割り当て, <it>灰色のデリート</it> キーを <tt>termcap</tt> の
-FreeBSD コンソールのロシア語エントリーに一致するように再配置する, ということです.
-<p>
-RUS/LAT スイッチは <bf>CapsLock</bf> に割り当てられます. 元の CapsLock の機能は
-<bf>Shift+CapsLock</bf> で使えます. CapsLock の LED は CapsLock のモードではなく RUS モードを示します.
-
-<item><tt>/etc/ttys</tt> の中の <tt>ttyv?</tt> の各エントリの
-ターミナルのタイプを <tt>cons25</tt> から <tt>cons25r</tt>
-に変更します, つまり各エントリは以下のようになります
-<verb>
-ttyv0 "/usr/libexec/getty Pc" cons25r on secure
-</verb>
-</enum>
-
-<sect1><heading>Locale のセットアップ<label id="russian:locale"></heading>
-<p><label id="russian:env">
-Locale のセットアップには二つの環境変数を使います:
-<itemize>
-<item><tt>LANG</tt>
-は POSIX <tt>setlocale(3)</tt> ファミリの関数に;
-<item><tt>MM_CHARSET</tt>
-はアプリケーションの MIME キャラクタセットに使われます.
-</itemize>
-<p>
-一番良い方法は <tt>passwd(5)</tt> エントリの login class の場所で
-<tt>/etc/login.conf</tt> の <tt>russian</tt> ユーザの login class
-を使うことです.
-詳しくは <tt>login.conf(5)</tt> を参照してください.
-
-<sect2><heading>Login Class の設定方法<label id="russian:class"></heading>
-<p>
-まず最初に <tt>/etc/login.conf</tt> に <tt>russian</tt> login class がある
-ことを確認してください, このエントリは以下のようになります:
-<verb>
-russian:Russian Users Accounts:\
- :charset=KOI8-R:\
- :lang=ru_RU.KOI8-R:\
- :tc=default:
-</verb>
-
-<sect3><heading>vipw(8) ではどうするのか</heading>
-<p>
-新しいユーザを追加するのに <tt>vipw(8)</tt> を使うのであれば,
-<tt>/etc/master.passwd</tt>
-のエントリは以下のようになります:
-<verb>
-user:password:1111:11:russian:0:0:User Name:/home/user:/bin/csh
-</verb>
-
-<sect3><heading>adduser(8) ではどうするのか</heading>
-<p>
-<tt>adduser(8)</tt> を使って新しいユーザを追加するには:
-<itemize>
-<item>
-<verb>
-defaultclass = russian
-</verb>
-を <tt>/etc/adduser.conf</tt> にセットする.
-(この場合, 全ての非ロシア語ユーザに <tt>default</tt> class を入力しなけ
-ればなりません);
-<newline><newline>
-
-<item>もう一つの方法は <tt>adduser(8)</tt> の
-<verb>
-Enter login class: default []:
-</verb>
-という表示に <tt>russian</tt> と答えるものです;
-
-<item>また, ロシア語ユーザを追加する際に:
-<verb>
-# adduser -class russian
-</verb>
-とする方法もあります.
-</itemize>
-
-<sect3><heading>pw(8) ではどうするのか</heading>
-<p>
-<tt>pw(8)</tt> を使って新しいユーザを追加するには, 次のようにします:
-<verb>
-# pw useradd user_name -L russian
-</verb>
-
-<sect2><heading>シェルのスタートアップファイルでの設定方法</heading>
-<p>
-何らかの理由で
-<ref id="russian:class" name="login class の設定方法">
-を使いたくない場合は, この
-<ref id="russian:env" name="二つの環境変数">
-をシェルのスタートアップファイルに設定します:
-<itemize>
-<item><tt>/etc/profile</tt>:
-<verb>
-LANG=ru_RU.KOI8-R; export LANG
-MM_CHARSET=KOI8-R; export MM_CHARSET
-</verb>
-
-<item><tt>/etc/csh.login</tt>:
-<verb>
-setenv LANG ru_RU.KOI8-R
-setenv MM_CHARSET KOI8-R
-</verb>
-</itemize>
-<p>
-もう一つの方法は, これらを以下のファイルに設定することです.
-<itemize>
-<item><tt>/usr/share/skel/dot.profile</tt>:
-<p>
-(上の <tt>/etc/profile</tt> と同様にします);
-
-<item><tt>/usr/share/skel/dot.login</tt>:
-<p>
-(上の <tt>/etc/csh.login</tt> と同様にします).
-</itemize>
-
-<sect1><heading>X Window System のセットアップ<label id="russian:xwindow"></heading>
-<p>
-以下の順序で設定します:
-<enum>
-<item>まず最初に
-<ref id="russian:locale" name="locale のセットアップ"> の通りに行います.
-<p>
-<it>注意:</it><label id="russian:note">
-ロシア語の KOI8-R locale は XFree86 の古いバージョン
-(3.2.1 + locale/keyboard patches より以前のもの) では動かないかもしれません.
-<tt>/usr/ports/x11/XFree86</tt> の XFree86 の port は既に全ての必要な
-パッチを含んでいます. したがってこの port から XFree86 をインストール
-したのならきちんと動くでしょう.
-基本的に, 最新の FreeBSD ディストリビューションに付属する XFree86
-のバージョンは誰かが port のパッチをあてるのを忘れない限り動くはずです.
-
-<item><tt>/usr/ports/russian/X.language</tt> ディレクトリに行き, ここで
-<verb>
-# make all install
-</verb>
-とします. このポートは最新バージョンの KOI8-R フォントをインストールします.
-<p>
-<tt>/etc/XF86Config</tt> の <tt>"Files"</tt> セクションに以下の行が
-他のどんな <tt>FontPath</tt> エントリよりも前にあることを確認します:
-<verb>
- FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
- FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
- FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"
-</verb>
-<p>
-高解像度のビデオモードを使っている場合は, 75 dpi と
-100 dpi の行を入れ替えます.
-
-<item>ロシア語キーボードを有効にするには
-<verb>
- XkbKeymap "xfree86(ru)"
-</verb>
-を <tt>/etc/XF86Config</tt> の <tt>"Keyboard"</tt> セクションに追加します,
-また <tt>XkbDisable</tt> が無効に (コメントアウト) されていることをここで
-確認します.
-<p>
-RUS/LAT スイッチは <bf>CapsLock</bf>に割り当てられます. 元の CapsLock の機能は
-<bf>Shift+CapsLock</bf> で使えます (LAT モード内でのみ).
-<p>
-<it>注意:</it>
-ロシア語 XKB キーボードは XFree86 の古いバージョンでは動かないかもしれません,
-詳しくは <ref id="russian:note" name="locale note"> を参照してください.
-</enum>
diff --git a/share/doc/ja_JP.EUC/handbook/scsi.sgml b/share/doc/ja_JP.EUC/handbook/scsi.sgml
deleted file mode 100644
index 8fc555b..0000000
--- a/share/doc/ja_JP.EUC/handbook/scsi.sgml
+++ /dev/null
@@ -1,958 +0,0 @@
-<!-- $Id: scsi.sgml,v 1.6 1997/02/22 13:01:49 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.22 -->
-
-<!--
- <title>SCSIの概要と FreeBSDでの使い方</title>
-
-
- <author>(c) 1995-1996, Wilko Bulte, <tt/wilko@yedi.iaf.nl/
- <date>Sat Jul 6 20:57:39 MET DST 1996</date>
- Copyright 1995-1996, Wilko C. Bulte, Arnhem, The Netherlands
-
-
- <abstract>
- このドキュメントはSCSIの背景, FreeBSDでの使い方,
- よくある落し穴について書いてあります.
- </abstract>
-
--->
-
- <sect1><heading>SCSIとは?<label id="scsi"></heading>
-
-<!--
- <p><em>Copyright &copy; 1995, &a.wilko;.<newline>July 6, 1996.</em>
--->
- <p><em>原作:&a.wilko;. <newline>July 6, 1996.</em>
-
- <p><em>訳: &a.yoshiaki;. <newline>
- 4 November 1996. </em>
-
- SCSI は Small Computer Systems Interface (小規模コンピュータシ
- ステムインタフェース) の頭文字をとったものです.
- これはANSI標準でコンピュータ業界においては最もよく使われるI/O
- バスの一つになっています. SCSIはシュガート社 (ミニフロッピーディ
- スクを世界で最初に販売しました) の開発した SASI (Shugart
- Associates Standard Interface) バスが元になって規格化されました.
-
- その後の業界の努力により,異なるベンダのデバイスが混在して使え
- るようにより厳密な規格へと規格化されました.この結果が ANSIの
- SCSI-1規格として認可されました. SCSI-1の仕様は (1985年ごろ
- に規格化されました 訳注: SCSI-1の最終案決定は1985年, ANSIの標準
- 規格としての認可は1986年です) すでに現在では時代遅れです.
- 現在の標準は SCSI-2 (<ref id="scsi:further-reading" name="さらに詳
- しい情報">を参照してください) で, SCSI-3へ移行していくでしょう.
-
- 物理的な相互接続の規格に加えて, SCSIではディスクドライブに不可欠な
- 論理的な規格 (コマンドセット) も定義しています.
- この規格は標準コマンドセット (CCS : Common Command Set) と呼ばれ,
- ANSIのSCSI-1とほぼ同時期に制定されました. SCSI-2には (改定された)
- CCSが規格の一部として組み込まれました. コマンドはデバイスの種
- 類によって変わります. 例えばスキャナでは Writeコマンドは意味が
- ありません.
-
- SCSIバスは多くの種類があるパラレルバスです. 最も古く, 最も利用
- されているのが 8 bit 幅, シングルエンド (不平衡) 信号, 50線の信号線
- のバスです. (もしシングルエンドの意味が分からなくても気にするこ
- とはありません. このドキュメントの中にその説明があります.) よ
- り新しい設計では 16 bit幅で平衡信号のバスを使います. この場合,
- 転送速度は 20Mbytes/second まで,ケーブルの長さは 25mまで可能です.
- SCSI-2では追加のケーブルを使った最大32 bitのバス幅までが含まれ
- ます.
- 早くも Ultra SCSI (Fast-20とも呼ばれます) と Ultra2 (Fast-40とも
- 呼ばれます) が現れています. Fast-20は1秒間に 2000万回の転送 (8bit
- バスで20Mbyte/sec), Fast-40は1秒間に 4000万回の転送 (8bitバスで
- 40Mbytes/sec) をおこないます.
-
- 訳注: ここでは電気的な用語としては平衡,不平衡を用いて,バ
- スの名称としては基本的にはシングルエンド,ディファレンシャルとしま
- した.
-
- もちろん SCSIバスにはデータ信号だけではなく, 多くのコントロール信
- 号線があります. 複数のデバイスがバスを効率よく共有するための複
- 雑なプロトコルも規格の一部です. SCSI-2ではデータは常に独立した
- パリティ信号を使ってチェックされます. SCSI-2以前ではパリティは
- オプションでした.
-
- SCSI-3ではさらに高速なバスタイプが導入され, それと共にケーブル
- の線数を減らし, より最大バス長を伸ばしたシリアルSCSIが導入されま
- す. SSAや Fiberchannelといった名前を聞いたことはありませんか?
- シリアルバスは現在ではまだいずれの方式も普及していません (特に一般的な
- FreeBSD環境では) . このためシリアルバスタイプについてはここでは
- これ以上は触れません.
-
- 今までの記述から想像されるように SCSIデバイスはインテリジェント
- です. これは SCSIの規格 (ところでこの文書は2インチ以上の厚さがあり
- ます) と切り離すことはできません. このため例えばハードディスク
- では特定のブロックをさすのに ヘッド/シリンダ/セクタ によって決
- めるのではなく単に必要なブロック番号を指定します.
- 巧妙なキャッシュ動作や,不正ブロックは自動置き換えなど
- の機能はこの 「インテリジェントデバイス」のアプローチによって可
- 能になっています.
-
- SCSIバスでは任意のデバイスの組で通信することが可能です.
- (訳注: 任意のデバイスがイニシエータになれるという意味です.)
- デバイスの機能がそれを許すかどうかは また別の問題ですが, 規格では
- 禁止されていません. 信号の衝突を防ぐために2つ
- のデバイスはバスを使う前に調停 (arbitrate) をおこなう必要があります.
-
- SCSIの考え方として古い規格のデバイスと新しい規格のデバイスが同
- じバスの上で動くように規格を作っています. したがって, 古い SCSI-1の
- デバイスは SCSI-2バスの上でも普通は動きます. 普通は, とことわった理
- 由は, ある古いデバイスが新しいバスでも問題ない程に (古い) 規格に
- 対して十分沿った実装になっているかどうかは絶対的に保証はできな
- いということです. 最近のデバイスは普通はよりうまく動作します. そ
- の理由は規格化はより厳密になり,デバイスの製造においてより支持
- されるものになって来ているからです.
-
- 一般的に言って, 単一のバス上で動かすデバイスは SCSI-2あるいはよ
- り新しいデバイスであればうまく動く可能性は高いと言えます.
- これは新しい 2GBのディスクを手に入れたとしたら古いデバイスを捨
- ててしまわなければならないという意味ではありません. 私のシステ
- ムでは SCSI-1以前のディスク, SCSI-2の QICテープユニット,SCSI-1
- のヘリカルスキャンテープユニット (訳注: VTRのような回転ヘッドを
- 持ったテープ装置のことです. DATテープドライブもその一つです) ,
- 2台の SCSI-1 ディスクが一緒に問題なく動いています. ただし効率
- の点から古いデバイスと新しい (= 速い) デバイスを分けたいかもしれ
- ません. (訳注: 古いデバイスの中には disconnectをサポートしな
- いために一連のコマンド実行中に SCSIバスを占有してしまうデバイス
- もあります.)
-
- <sect2><heading>SCSIの構成要素</heading>
- <p>
- <sect3><heading> <it>インテリジェント</it> インタフェース</heading>
- <p> (訳注:原文では smart interface です)
-
- 先に述べたように, SCSIデバイスはインテリジェントです.
- つまりハードウェア細部にからむ知識は SCSIデバイス自身に
- 持たせてしまおうという考え方です. この考
- え方では SCSIデバイスはそれ自身のハードウェアの詳細を知って
- います. この場合, ホストシステムはハードディスクがいくつのヘッ
- ドを持ち, テープデバイスがいくつのトラックを持つかというよう
- なことを知る必要がありません.
- もしあなたが知りたいのであれば, 規格で定義されているコマンド
- を使ってデバイスにハードウェアの詳細について質問することがで
- きます.
-
- インテリジェントデバイスの利点は明らかです. ホストのデバイス
- ドライバはより一般的に書くことができ, 新しいデバイスを導入す
- る場合でも変更の必要がありません.
-
- <sect3><heading>接続でおこなうべきこと, してはならないこと</heading>
- <p>
- ケーブルの接続には鉄則があります. よい部品を使うことです. バ
- スの速度を上げることができ, 多くの災難を防ぐことができます.
-
- ですから, 金メッキのコネクタ, シールドケーブル, 固定器具付き
- の頑丈なコネクタカバーなどを選ぶのは正しいことです. 2つ目の
- 鉄則は, ケーブルを必要以上に長くしないことです.
- 私は以前にあるマシンでトラブルの 原因を探すのに
- 3日間悩んでいましたが, SCSIバスを 1m短
- くすることで問題を解決したことがあります. もちろん, 元のバス
- の長さでもSCSIの仕様はきちんと満たしていたのですが.
-
- <sect2><heading>SCSI バスのタイプ</heading>
- <p>
- 電気的に互換性のない 2種類のバスのタイプがあります. シングルエ
- ンドとディファレンシャルのバスです. これは SCSI
- デバイスとコントローラは同一のバス上に混在することのできな
- い2つのグループにに大きく分けられるということを意味しています.
- しかし,特別なハードウェアを使えばシングルエンドバスをディファ
- レンシャルバスに (その逆も) 変換することはできます. これらのバ
- スのタイプの違いは次のセクションで説明します.
-
- SCSI関連のドキュメントでは異なるタイプのバスを一種の用語とし
- て略語で表します. これを次の表に示します.
-
- <itemize>
- <item>FWD: Fast Wide Differential (高速 ワイド 平衡)
- <item>FND: Fast Narrow Differential (高速 ナロー 平衡)
- <item>SE: Single Ended (不平衡)
- <item>FN: Fast Narrow (高速 ナロー)
- <item>etc.
- </itemize>
-
- 少し想像力を働かせればどのような意味であるかはわかるでしょう.
-
- ワイド (Wide) はいくらか曖昧で, 16 または 32 bitのバスを示しま
- す. 私の知る限りでは, 32 bit のインタフェースは (まだ) 使わ
- れていませんので Wide は通常 16 bitを意味します.
-
- 高速 (Fast) はバスのタイミングがいくつかの点で異なり, ナロー
- (8 bit) バスでは 低速 (slow) SCSIバスの 5 Mbytes/sec に対して 10
- Mbytes/sec の能力があります. 前にも述べたように, 20Mbytes/sec や
- 40Mbytes/sec のバス速度を持つものも現れてきています
- (Fast-20 == Ultra SCSI で Fast-40 == Ultra2 SCSI です).
-
- データ線の上位 (&gt; 8) はデータの転送とデバイスの指定だけに
- 利用されているという点を指摘しておきます. コマンドの送出とス
- テータスメッセージ等は下位側の 8 bitのデータ線のみを使います.
- この規格によりナローデバイスはワイドバス上でも動作する事がで
- きます. 利用できるバスの幅はデバイス間で調停 (ネゴシエーショ
- ン) されます. デバイスの IDについてはワイドとナローが混在する
- 時には気をつけなければなりません.
-
- <sect3><heading>シングルエンドバス (不平衡バス) </heading>
- <p>
- シングルエンド SCSIバスは 5Vと 0Vの電圧 (実際はTTLレベルです)
- を信号として使い,それらは共通のグラウンド (GND) レベルを基準
- にします. シングルエンド SCSI 8 bitバスは約25本のグラウンド線
- を持ち, すべてのデバイスを「直線状」に接続しま
- す. 基準ではシングルエンドバスは最大の長さは 6mです. これ
- は Fast-SCSIデバイスを使う場合は最大長さは 3mに短くなります.
- Fast-SCSIでは 5Mbytes/sec ではなく 10Mbytes/sec の転送速度
- が可能になります.
-
- Fast-20 (Ultra SCSI) と Fast-40ではそれぞれ1秒間に2000万 (20M)
- ないしは 4000万 (40M) 回の転送ができます. したがって, Fast-20では
- 8bitバスで 20Mbytes/sec, 16bitバスで 40Mbytes/secとなりま
- す. Fast-20ではバスの最大の長さは 1.5m, Fast-40では 0.75mに
- なります. Fast-20は限界を相当に広げるものなので SCSIバス
- に雑音が多い場合はその影響を即座に受けます.
-
- バス上のいずれかのデバイスが「高速の」転送を利用する場合は
- Fastバスの長さの制限を受けるということに注意してください.
-
- 最近の Fast-SCSI デバイスではバスの長さが実際の問題になり
- つつあるのが明らかになっています. これがデファレンシャル
- SCSIバスがSCSI-2の規格に導入された理由です.
-
- コネクタのピン配置やコネクタの種類については SCSI-2の規格
- (<ref id="scsi:further-reading" name="さらに詳しい情報">を
- ) を参照してください.コネクタ等について詳細なリ
- ストがあります.
-
- 非標準のケーブルを使うデバイスに気をつけてください. 例えば
- Apple (の Macintosh は) 25pin の D-type のコネクタ (シリア
- ルポートやパラレルプリンタに使われているコネクタ -- 訳注:
- 日本では一般的に D-sub 25pinと言っています) を使っています.
- 公式なSCSIバスでは50 pin が必要である事からこのコネクタで
- は 「独創的なピン配置」が必要な事が想像できるでしょう. ここ
- でおこなわれているようにグラウンド線の数を減らすことはよい考え
- ではありません. SCSIの規格通りの 50 pinの接続の方が望まし
- いです. Fast-20 や 40 でこのようなケーブルを使おうなんて
- 考えてはいけません.
-
- <sect3><heading>ディファレンシャル (平衡) バス</heading>
- <p>
- ディファレンシャル SCSIバスは最大長が 25m です. シングルエ
- ンド Fast-SCSIバスの 3mとはまったく違います. 平衡信号の背景と
- なっている考え方は, それぞれのバスの信号はそ
- れぞれ独立したリターン信号線を持つというものです. つまり,
- それぞれの信号は (できればより線の) ペアの信号線で伝えられま
- す. これら2つの信号線の差分の電圧で信号が「真」(assert) で
- あるか「偽」(de-assert) であるか判定されます. かなりの電圧
- がグラウンド電位と信号線ペアの間にかかったとしても影響があ
- りません (だからといって 10kVの電圧をかけてみたりしないでく
- ださい.. ).
-
- なぜ平衡信号がよいのかについての説明はこのドキュメントの範
- 囲を越えています. 電気的に平衡信号はノイズマージンの点で
- 非常に優れたものとして利用されているということを受け入れて
- ください. ディファレンシャルバスは普通は外部接続に利用さ
- れています. これは低コストのシングルエンドバスが筐体内の短
- い距離のバスでは非常に多く利用されているからです.
-
- FreeBSDを使うにおいて, FreeBSDでサポートされているデバイス
- ドライバがあるのであればディファレンシャルバスの利用で問題
- になることは何もありません. 例をあげれば, アダプテックの
- AHA1740はシングルエンドで, AHA1744はディファレンシャルで
- す. 双方のソフトウェアインタフェースはまったく同一です.
-
- <sect3><heading>ターミネータ</heading>
- <p>
- SCSIにおける用語でのターミネータとはインピーダンスの
- マッチングを正確におこなうための抵抗ネットワークです. インピーダンス
- マッチングは反射やリンギングを抑え, バスの信号をきれいにす
- る重要なものです. たとえば,あまり状態のよくない回線で長距
- 離の電話をかけた時にあなたは反射をどんなものか感じるかもしれません.
- 20Mbytes/sec で信号の伝わる SCSIバスでは信号のエコーはあ
- りがたくありません.
-
- 訳注: 電気信号に限らずすべての波で反射
- という現象は起きます. ここの例はあまり実感がわかないと思う
- ので簡単に書きますと, 3mのバスの端からパルスを入れた場合,
- 反対の端からの反射波は 20ns後 - 本当は電線中の信号の伝達は
- 光速よりも少し遅くなるのでもう少し時間がかかりますが -
- に帰ってきます. 10MHzのクロックは1:1のパルスだとすると幅
- 50nsのパルスで, 反射波がやってくる時間とそれほど変わりません.
- このため, 場合によっては反射波によってクロックや信号が異常
- になってしまう可能性があります.
-
-
- ターミネータはいろいろな - 洗練されたものもそうでないもの
- も - 実現方法があります. もちろん,内蔵のものと外部という
- 区別もあります. ほとんどすべての SCSIデバイスにはいくつかの
- ソケットがあり,その中には抵抗ネットワーク (集合抵抗) が入っ
- ているものもあるかもしれません (いや,おそらく間違いなくあ
- るでしょう). ターミネータを
- デバイスから外す時は大事にしまっておいてください. SCSIの接
- 続の変更をしようと思った時に必要になるかもしれません. ま
- た, それらしい抵抗ネットワークが見つからないこともあります.
- この場合, SCSIデバイスは内蔵ターミネータの有効と無効を切替
- えるジャンパがあります. フラットケーブルに取り付ける特別
- なターミネータもあります. 他には外部コネクタのような形をし
- たものやケーブルのないコネクタヘッドだけのものもあります.
- いろいろと見られるように多くの選択があります.
-
- どのような場合に単純な抵抗 (パッシブ) ターミネータからアクティ
- ブターミネータへ切替えるかという問題があります.アクティブ
- ターミネータはいくらか精巧な回路が信号をよりきれいにするた
- めに入っています. 一般的に一致する意見としては, 長いバス
- を使ったり 高速なデバイスを使う場合はアクティブターミネー
- タの有効性は増加すると言えます. SCSI バスですでに問題が起
- きているならアクティブターミネータを試すことを考えていいで
- しょう. まず借りることができないか探してみてください. ア
- クティブターミネータは非常に高価だそうですから.
-
- ディファレンシャルとシングルエンドバスのターミネータは互換
- 性がないということを覚えておいてください. これらの2つの種
- 類を <bf>混在させることはできません</bf>.
-
- OK, ではあなたはターミネータをどこに入れればいいでしょうか?
- これは SCSIで最も多く誤解されているところです. しかし, これ
- は極めて単純なことです.. ここでのルールは <bf>すべての SCSI
- バスは 2個のターミネータをそれぞれの両端に入れる</bf>とい
- うことです. つまり 2個であって1個でも3個でもありませ
- ん. このルールを受け入れてしたがってください. そうすれば終りの
- ない苦しみから救われるでしょう. なぜなら間違ったターミネー
- ションは不可解なバグを引き起こす可能性が非常に高いから
- です.
-
- よく陥りやすい落し穴はマシンの内部 (フラット) ケーブルと外部
- ケーブルがコントローラにつながっている場合です. よく見られ
- るのはコントローラのターミネータを外すのを忘れることで
- す. ターミネータは最後の外部デバイスで必要で, コントローラ
- には必要ありません! 一般的に, SCSIバスの接続の変更をする場
- 合はこのようなことに注意をしなければなりません.
-
- 私自身は, すべてのデバイスとコントローラのターミネータを外し
- ています. 2個の外部ターミネータをセントロニクスタイプ (訳注:
- 日本ではケーブルに対してこういう言い方はあまりしないのでは
- ないでしょうか) 外部ケーブルと内部フラットケーブルのコネク
- タの両端に接続しています. こうすることにより接続の変更はか
- なり簡単になります.
-
- 最近のデバイスは, ICターミネータが使われることもあります.
- コントロールピンにより無効/有効を設定できる特別のICがあり
- ます. これは物理的にデバイスから外す必要がありません. 新し
- いホストアダプタではセットアップツール等を使ってソフトウェ
- ア的に設定をおこなう場合があります. マニュアルを調べてくださ
- い.
-
- <sect3><heading>ターミネータの電源</heading>
- <p>
- ここまでの章で議論したターミネータは正常に動作するためには
- 電源が必要です. SCSIバス上にはこの目的のために利用される線
- があります. だから特に気にする必要はないと思いますか?
-
- ところがそうではないのです. それぞれのデバイスはデバイス上
- にあるターミネータソケットに電源を供給することはできま
- す. けれども外部ターミネータがある場合やSCSIバスにターミネー
- タの電源を供給するデバイスのスイッチがオフになっているよう
- な場合にはトラブルが起きるかもしれません.
-
- イニシエータ (ここではバスの動作を開始-initiate-させるデバ
- イスを指します -- 訳注: 簡単に言えばホスト側のアダプタです
- がSCSIの規格によれば, 例えばディスク側がコマンドを発行する
- ようなシステムがあってもかまわないことになっているのでこう
- いう言い方をしています) はターミネータ電源を供給しなければ
- なりません. すべてのSCSIデバイスはターミネータの電源を供給す
- ることができます (必ずしも供給しなければならないというわけ
- ではありません).
-
- スイッチがオフになっているデバイスがバス上に存在することを
- 許すために, ターミネータの電源はダイオードを通して供給され
- なければなりません. これはスイッチを切ったデバイスに電流
- が逆流することを防ぐためです.
-
- 最悪の事態を避けるために, ターミネータの電源は普通はヒュー
- ズが入っています. 当然ヒューズは飛ぶかもしれません. この
- 場合でもバスが機能停止するとは限りません. 複数のデバイスが
- ターミネータの電源を供給しているのであれば, ヒューズが一つ
- 飛んでも全体の機能には影響しません. ただ一つの供給線のヒュー
- ズが飛んだのであれば確かに問題になるでしょう. 外部ターミネー
- タによっては LEDでターミネータ電源が与えられていることを示
- すものもあります.
-
- 最新の設計ではある程度の時間がたつと 「リセット」され自動復
- 帰するヒューズが使われることもあります.
-
- <sect3><heading>デバイス アドレッシング</heading>
- <p>
- SCSIバスでは接続された異なるデバイスを区別して指定できなけ
- ればなりません.
-
- これには SCSIではターゲットIDが使われます. それぞれのデバイ
- スは特定のターゲットIDを持ちます. デバイスの IDはジャンパや
- DIPスイッチなどで設定できます. より詳しい情報はデバイスの
- マニュアルを見てください.
-
- 複数のデバイスを使う場合は IDの重複に気をつけてください. 重
- 複すると普通は混乱状態になります. 同じ IDを共有しているデバ
- イスがI/Oリクエストに答えようと処理をおこなうことが落し穴にな
- ります.
-
- 8 bitバスでは, 最大8台のターゲットまで可能です. 最大8台で
- ある理由は, バスの8本のデータ線がデバイスの選択に使われる
- からです. バス幅の広いバスでは使えるデバイスの数は増えます.
- 同時にバス使用の要求が発生した場合, 最も IDの大きいデバイス
- が優先されるという調停がおこなわれます. このことは (ナローバス
- では) SCSIホストアダプタの IDは通常7番が使われる理由でもあり
- ます.
-
- さらにサブユニットとして, 規格では ロジカルユニット,短縮形
- で LUNを持つことができます. 一つのターゲットIDが複数の LUNを
- 持つことができます. 例えば, テープチェンジャを持つテープ
- ドライブは LUN 0をテープドライブ自身, LUN 1をテープチェン
- ジャ に与えることができます. このようにして, ホストシス
- テムはテープチェンジャの目的のテープユニットの部分を指定す
- ることができます.
-
- <sect3><heading>バスレイアウト</heading>
- <p>
- SCSIバスは直線状です. つまり, Y接続, スター接続, クモの巣
- 状の接続などの直線以外の接続ではありません.
-
- 先に議論したターミネータの問題は直線状以外の場合ではより困
- 難になるだろうということに注意してください.
-
- 電気的特性はそのノイズマージンや全体の信頼性において,直線
- 状のバスのルールに強く依存しています.
-
- <bf>直線状バスであるというルールにしたがってください!</bf>
-
- <sect2><heading>FreeBSD で SCSIを使う</heading>
- <p>
- <sect3><heading>トランスレーション, BIOS, そしてマジック...</heading>
- <p>
- まず始める前に, 電気的に問題のないバスであるか調べておいてく
- ださい.
-
- SCSIディスクをPCでブートディスクとして使う場合に, PC BIOSに
- 関する気まぐれについて知っておく必要があります. PC BIOSは ハー
- ドディスクへの低レベル物理インタフェースを利用するように実
- 現されています. したがって, BIOSに (セットアップツールやBIOSビル
- トイン セットアップを使って) ディスクの物理パラメタを教えてや
- る必要があります. これはヘッドの数, シリンダの数, トラックあ
- たりのセクタなどがあり, プリコンペンセーションや書き込み電流を
- 減少させるトラック, などのあまりよく知られていないものもあります.
-
- SCSIディスクはこれらのことをユーザは気にする必要がないはず
- だと考えるかもしれません. しかし, 不思議なことに (これらの項
- 目の) セットアップはいまだにあるのです. システム BIOSはブート
- 時にFreeBSDのカーネルを読み込むためにSCSIディスクに
- /ヘッド/シリンダ/セクタ を指定する方法でアクセスするため,
- パラメタを知る必要があるのです.
-
- AT/EISA/PCIバスなどにあり,ディスクに接続される SCSI ホストア
- ダプタや SCSI コントローラは それ自身のオンボードBIOSを持っ
- ています. システムの起動時に, SCSI BIOSは システムBIOSのハー
- ドディスクのインタフェースルーチンを乗っ取ります. システ
- ム BIOSをごまかすために システムセットアップでは普通は
- `No hard disk' とします. 簡単ですね?
-
- SCSI BIOS はドライブの<bf>トランスレーション</bf>と呼ばれる機
- 能を持ちます. これはPCがブートするために作られたドライブテー
- ブルをごまかすものです. このトランスレーションは多くは (すべて
- の場合ではありません) トラックあたり64あるいは32個のヘッドを
- 持つ仮想的なドライブを使います. シリンダの数を変更することで
- SCSI BIOS は実際のドライブのサイズに適合させます. 総セクタ数
- を 32 * 64 / 2 で割った結果がメガバイト単位のドライブのサイズ
- になります. 2で割っているのは, 通常 512バイトのサイズのセク
- タを kByte 単位に変換するためです.
-
- ではこれですべてうまくいくのでしょうか. いいえ, そういう訳で
- はありません. ブート可能なハードディスクのシリンダ数は 1024よ
- り多くすることはできないのです. トランスレーションを使った
- 場合でもディスクの 1GB以上の領域は見えません. ディスクの容量
- がどんどん増加していくにつれこれは問題になってきました.
-
- 幸いにして, 単純な解決方法があります. 単に別のトランスレーショ
- ンを使えばよいのです. 例えば, 32個に代わり,128個のヘッドを使いま
- す. ほとんどの場合, 古いSCSIホストアダプタをアップグレードす
- るための新しいバージョンの SCSI BIOS が用意されています.
- 新しいアダプタではジャンパ
- やセットアップソフトによって SCSI BIOSの使うトランスレーショ
- ンが選択できる物もあります.
-
- ここで非常に重要なことは, ディスク上の<bf>すべての</bf>オペレー
- ティングシステムが <bf>同一のトランスレーション</bf>により正
- しいパーティションを得ることです. つまり FreeBSDをインストー
- ルする時に, ヘッド/シリンダなどについての質問にあなたのホスト
- アダプタが使用しているトランスレートされた値を使わなくてはな
- りません.
-
- トランスレーションによる失敗で見られるのは, ブートしないシス
- テムや他のパーティションを上書きしてしまうことです. すべてのシ
- ステムが見えるように fdiskを使うべきです.
-
- あなたはデバイスについてこれとは食い違った話を聞いたことがあ
- るかもしれません. 古い FreeBSDのカーネルはブートする時に SCSI
- ディスクのジオメトリ情報を報告していました. 私のシステムの
- 一つの例を示しましょう.
-
- <verb>
- aha0 targ 0 lun 0: <MICROP 1588-15MB1057404HSP4>
- sd0: 636MB (1303250 total sec), 1632 cyl, 15 head, 53 sec, bytes/sec 512
- </verb>
- 最近のカーネルは, 普通はこのような情報を報告しません. たとえば,
- このようになっています.
-
- <verb>
- (bt0:0:0): "SEAGATE ST41651 7574" type 0 fixed SCSI 2
- sd0(bt0:0:0): Direct-Access 1350MB (2766300 512 byte sectors)
- </verb>
-
- なぜこのように変わったのでしょう?
-
- この情報は SCSIディスク自身から得られます. 最近のディスクで
- はよくゾーンビット記録方式 (zone bit recording) という技術が使
- われています. これはドライブの外側のシリンダは内側よりもスペー
- スが広いのでトラックあたりのセクタ数を増やすことができるとい
- うアイディアです. この結果, 外側のシリンダ上のトラックの容量
- は内側のシリンダよりも大きくなり, 全体ではより大きな容量とな
- ります. この場合, ドライブにのジオメトリについての報告は,
- 最善のものかどうか疑わしく, ほとんどの場合誤解を招くものであ
- ることがわかるでしょう.
- ジオメトリを調べる場合, ほとんどの場合は BIOSの用い
- ている値を与える方がよい結果となり, <em>BIOSがそのディスクに
- ついてまったく関知しないのであれば</em> (例えばブートディスクで
- はないなら) 都合のよい仮想のジオメトリを与えればいいでしょう.
-
-
- <sect3><heading>SCSI サブシステムの設計</heading>
- <p>
- FreeBSDでは階層的な SCSIサブシステムを用いています. 各々異な
- るコントローラカードのデバイスドライバが書かれています. この
- ドライバはコントローラのハードウェアの詳細を知っています. ド
- ライバは SCSIサブシステムのより上位の階層のコマンドを受け取り,
- ステータスを報告するインタフェースを持ちます.
-
- カードのドライバの最上位には, デバイスのクラスのためのいくつ
- かの一般的なドライバがあります. 具体的にいうと, テープドライ
- ブのためのドライバ (略号は: st), 磁気ディスク (sd), CD-ROM
- (cd) などです. これらのソースコードは<tt>/sys/scsi</tt>にあり
- ます. マニュアルページ (man) のセクション 4 にはより詳しい内
- 容があるので見てください.
-
- 多階層の設計は低レベルとより高位のレベルを分離させることがで
- きます. 新たに他の種類のハードウェアのサポートを加えることを
- より処理しやすい問題にします.
-
- <sect3><heading>カーネルコンフィグレーション</heading>
- <p>
- あなたのハードウェア構成にしたがって, カーネルのコンフィグファイ
- ルにホストアダプタについて 1行あるいは数行程度の記述をする
- 必要があります.
- これには I/O アドレスや割り込みなどについての内容も含
- みます. あなたのアダプタのドライバについてのマニュアルページ
- にはより多くの情報があるのでよく読んでください. これとは別に
- /sys/i386/conf/LINT にはカーネルコンフィグファイルについての
- 概要があります. LINTには一般的なものについては可能なすべてのオ
- プションが含まれています. ただし, LINTでは実際に動作するカー
- ネルを作ることは <em>できません</em>.
-
- おそらく何をするかは明らかでしょう. カーネルコンフィグファイ
- ルは実際のハードウェア構成を反映すべきです. そのように割り込
- みやI/Oアドレス等に合わせてカーネルコンフィグファイルを書か
- なければなりません. システムのブート時のメッセージは実際に
- 見つけたハードウェアの設定を表示します.
-
- 例として FreeBSD 2.0.5-Releaseのいくつかのコメント
- (&lsqb;&rsqb;の中) をつけた LINTカーネルコンフィグファイルを示
- します.
-
-
- <verb>
-
-# SCSI host adapters: `aha', `ahb', `aic', `bt', `nca'
-#
-# aha: Adaptec 154x
-# ahb: Adaptec 174x
-# ahc: Adaptec 274x/284x/294x
-# aic: Adaptec 152x and sound cards using the Adaptec AIC-6360 (slow!)
-# bt: Most Buslogic controllers
-# nca: ProAudioSpectrum cards using the NCR 5380 or Trantor T130
-# uha: UltraStore 14F and 34F
-# sea: Seagate ST01/02 8 bit controller (slow!)
-# wds: Western Digital WD7000 controller (no scatter/gather!).
-#
-
-&lsqb; Adaptec AHA274x, 284x などのコントローラ&rsqb;
-controller ahc0 at isa? bio irq ? vector ahcintr # port??? iomem?
-
-&lsqb; Adaptec AHA174x コントローラ&rsqb;
-controller ahb0 at isa? bio irq ? vector ahbintr
-
-&lsqb;Ultrastor アダプタ&rsqb;
-controller uha0 at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr
-
-# Map SCSI buses to specific SCSI adapters
-controller scbus0 at ahc0
-controller scbus2 at ahb0
-controller scbus1 at uha0
-
-# The actual SCSI devices
-disk sd0 at scbus0 target 0 unit 0 [SCSI ディスク 0 は scbus 0, LUN 0]
-disk sd1 at scbus0 target 1 [unit を省略すると暗黙で LUN 0]
-disk sd2 at scbus1 target 3 [uha0 上の SCSIディスク]
-disk sd3 at scbus2 target 4 [ahb0 上の SCSIディスク]
-tape st1 at scbus0 target 6 [SCSI テープ は ターゲット (ID)6]
-device cd0 at scbus? [最初に見つけた CDROM, 固定にしない]
-
- </verb>
-
- 上の例では カーネルは ahc (Adaptec 274x) コントローラをまず
- 探し, その次に Adaptec 174x のボードというように順番に探して
- 行きます. その下の行の controller の記述ではデバイスの詳細
- を記述して, 対応するバスでターゲット ID と LUN が指定された
- ものと一致する場合<em>だけ </em>認識するようにカーネルに伝え
- ています.
-
- 固定された (Wired down) デバイスは 「最初に」ユニット番号が与え
- られるので, 「固定」されいないデバイスは同じ種類の「固定」され
- たユニット番号の最も大きい番号の1つ上の番号から割り当てられ
- ます.
- したがって, ターゲットID 2の SCSIテープを加えると, ターゲットID 6
- のテープがユニット番号1に固定されているので, それはst2に設定
- されるでしょう. ブート時に見つからなくても<em>固定されたデバ
- イスにはユニット番号が常に割り当てられる</em>ということに注
- 意してください. 固定のデバイスに
- 割り当てられたユニット番号は,もしそのデバイスのスイッチがブー
- ト時に切られていてもそのデバイスにリザーブされています.
- これは, 電源を入れて接続した時のユニット番号が与えられます.
- デバイスのユニット番号は SCSIバスのター
- ゲットIDとは <em>何の関係もない</em>ことに注意してください.
-
- 下の例は FreeBSDのバージョン 2.0.5 以前の カーネルコンフィ
- グファイルです. 最初の例との違いはデバイスの「固定 (wired
- down)」がないことです. 「固定」によりどのSCSIターゲットをどの
- デバイスに割り当てるかを記述できるようになりました.
-
- 下のコンフィグファイルにより構築されたカーネルでは最初に見つ
- けた SCSIディスクが sd0になり, 次に見つけたディスクが sd1に,
- という具合に割り当てられます. もしディスクの削除や追加をおこなう
- と, 他の同じタイプのデバイス (この場合はディスク) のすべてが
- 「移動して」しまうかもしれません. これによりそのたびに
- <tt>/etc/fstab</tt> を変更する必要があります.
-
- 古いスタイルでも動きますが, 新しいスタイルを使うことが<em>強
- く</em> 推奨されています. これにより SCSIバスのハードウェアを
- どのように変更した場合でもトラブルを避けることができます.
- ですから, 2.0.5.R以前の FreeBSDからアップグレードした後に古い
- 信頼できるコンフィグファイルを再利用する時はこの部分をチェッ
- クして直してください.
-
- <verb>
-&lsqb;Adaptec 174x用のドライバ&rsqb;
-controller ahb0 at isa? bio irq 11 vector ahbintr
-&lsqb;Adaptec 154x用のドライバ &rsqb;
-controller aha0 at isa? port "IO_AHA0" bio irq 11 drq 5 vector ahaintr
-&lsqb;Seagate ST01/02インタフェースのドライバ&rsqb;
-controller sea0 at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr
-controller scbus0
-
-device sd0 &lsqb;4台のSCSI ディスクのサポート, sd0 から sd3&rsqb;
-
-device st0 &lsqb;2台の SCSI テープのサポート&rsqb;
-
-&lsqb;cdromのドライバ&rsqb;
-device cd0 #Only need one of these, the code dynamically grows
- </verb>
-
-
- 両方の例で SCSIディスクがサポートされています. ブート中に
- 「固定」の記述がされているタイプ(例えば sd ディスク) のデバ
- イスで記述より多くのデバイスが見つかると,
- システムは単純に最後の「固定」のデバイスの番号より
- 1つずつ増加させた番号をデバイスに割り当てて行きます. もし
- 「固定」のデバイスがなければユニット番号は0から始まります.
-
- <tt>man 4 scsi</tt> によって SCSIサブシステムの最新の情報を
- チェックしてください. より詳細なホストアダプタドライバの使い
- 方は, たとえば Adaptec 154xドライバの場合は<tt>man 4
- aha</tt> にあります.
-
- <sect3><heading>カーネルセットアップでの SCSI チューニング</heading>
- <p>
- 経験的に SCSIバスリセット (ブート時におきます) 後のINQUIRYコマ
- ンドに対して応答が遅くなるデバイスがあります. INQUIRYコマン
- ドは ブート時にカーネルがどの種類のデバイス (ディスク, テープ,
- CDROMなど) がどのターゲットIDに接続されているかを調べるために
- 発行します. ちなみにこのプロセスをデバイスプロービング (デバ
- イス検出) と言います.
-
- 「応答の遅いデバイス」の問題を解決するために, FreeBSDは SCSIバ
- スをリセットした後に SCSIデバイスの検出をおこなうまでのディレ
- イタイムを調整することができます. カーネルコンフィグレーショ
- ンファイルの下に示すような行にディレイタイムを設定してくださ
- い.
-
- <verb>
-options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device
- </verb>
- この行ではディレイタイムは 15秒です. 私のシステムでは, 信頼
- できる古い CDROMが認識できるように3秒の値を使っています. もし
- デバイスの認識で問題が起きる時は大きな値 (30秒であるとか) から
- 始めてください. うまく動いたら,値を減らしてちょうどよい値に
- にチューニングしてください.
-
-
- <sect3><heading>Rogue な SCSI デバイス</heading>
- <p>
-
- (訳注: rogue は有名なゲーム, ではなくて 悪党, 群から離れた, 凶暴
- な, という意味)
-
- SCSIの規定は完全で簡潔なものにしようという努力はされましたが,
- 複雑な規定となり, 正確に実現するのは簡単なことではありません.
- いくつかのベンダは他よりもよい仕事をしています.
-
- ここで 「イカレた」デバイスが現れることになります. このような
- デバイスは FreeBSD のカーネルにいくらか標準的
- ではない振舞をするものと認識されます. 「イカレた」デバイスは
- ブート時にカーネルによって報告されます. 次の例は私の2つのカー
- トリッジテープユニットです.
-
- <verb>
-Feb 25 21:03:34 yedi /kernel: ahb0 targ 5 lun 0: <TANDBERG TDC 3600 -06:>
-Feb 25 21:03:34 yedi /kernel: st0: Tandberg tdc3600 is a known rogue
-
-Mar 29 21:16:37 yedi /kernel: aha0 targ 5 lun 0: <ARCHIVE VIPER 150 21247-005>
-Mar 29 21:16:37 yedi /kernel: st1: Archive Viper 150 is a known rogue
- </verb>
-
- 例えば, あるターゲットIDから実際には1つのデバイスしかないの
- にすべての LUNからの応答があるようなデバイスがあるとします. カー
- ネルはその特定のターゲットIDに8個の LUNがあると誤解してしまう
- かもしれません. このような混乱の起きる原因については読者へ
- の課題にしておきます.
-
- FreeBSDの SCSIサブシステムは 検出時の INQUIRYの応答を見て
- 悪い習慣を持つデバイスの認識をしています. INQUIRYの応答にはデ
- バイスのファームウェアのバージョン番号が含まれるため, 異なる
- 動作をするファームウェアのバージョンを区別することも可能です.
- 例えば, /sys/scsi/st.c や /sys/scsi/scsiconf.c を見てくださ
- い. どのように行っているか, より多くの情報があります.
-
- この方法はうまく行きますが, もちろん既知のデバイスがつながっ
- ている場合だけうまくいくということに気をつける必要があります.
- もしあなた以前に Mumbletech SCSI CDROM (訳注: 架空のメーカ
- のデバイスです) を接続した人がいないとしたら, どんな「ワザ」
- を使ってそれを使うか自分で見つけないといけないかもしれません.
-
- あなたの Mubletech を動かすことができたらその成果を FreeBSDの
- 次のリリースへ含めるために FreeBSD開発チームへ送ってくださ
- い. 他の Mumbletechの利用者たちはあなたに感謝するでしょう.
-
-
- <sect3><heading>複数の LUNを持つデバイス</heading>
- <p>
- 単一の SCSI ID上に複数の論理ユニット (LUN) を持つデバイスを使う
- ような場合もあるかもしれません. 多くの場合では FreeBSDは LUN 0
- のみを検出します. このような例としては2台の SCSIではないハード
- ディスクを SCSIバスにつなぐブリッジボード (例えば古い Sunシステ
- ムに見られる Emulex MD21) があります.
-
- LUN が0ではないデバイスは普通はシステムブート時の検出では
- 見つかりません. この問題にうまく対処するには
- /sys/scsi/scsiconf.c に適切なエントリを加えてカーネルを再構築
- しなければなりません.
-
- 以下のように初期化されている構造体を探します.
- <verb>
- {
- T_DIRECT, T_FIXED, "MAXTOR", "XT-4170S", "B5A",
- "mx1", SC_ONE_LU
- }
- </verb>
-
- LUNが複数あるあなたの Mumbletech BRIDGE2000 はハードディスク
- として働きます. またファームウェアのリビジョン123などを次のよ
- うに書き加えます.
-
- <verb>
- {
- T_DIRECT, T_FIXED, "MUMBLETECH", "BRIDGE2000", "123",
- "sd", SC_MORE_LUS
- }
- </verb>
-
- 訳注: 複数 LUNに対応するためには構造体の最後の要素を
- SC_MORE_LUSにします. エントリを作る必要がある場合は scsiconf.c
- にある MBR-7等のエントリを参考にするといいでしょう.
-
- カーネルは INQUIRYに一致するデータをブート時にテーブルから探し
- てこれにしたがって振舞います. より多くの情報はソースコードを見て
- ください.
-
- <sect3><heading>タグ コマンド キューイング</heading>
- <p>
- 最近の SCSI デバイス, 特に磁気ディスクではタグ コマンド キュー
- イング (tagged command queuing: TCQ) がサポートされています.
-
- 要約すれば, TCQは複数のI/Oリクエストを同時に受けることを可能
- にすることです. デバイスはインテリジェントですから,リクエスト
- キューにある処理 (ヘッドのポジショニングなど) の最適化をおこなうこ
- とができます. RAID (Redundant Array of Independent
- Disks) のようなSCSIデバイスではTCQ機能はデバイスの持つ並列性の
- 利点を生かすために不可欠です.
-
- 各々の I/O リクエストは単一の `tag' (タグ コマンド キューイン
- グの名前の由来) が与えられます. FreeBSDはこの tagによりデバ
- イスドライバのキューの中のどの I/Oリクエストが完了したかの識
- 別をおこないます.
-
- TQCのリクエストはデバイスドライバがサポートしていたとしても
- あるデバイスのファームウェアではインプリメントが正しくないかもし
- れません. このような問題に出会うと非常に不可解な問題につ
- ながります. このような場合は TCQ を無効にしてみてください.
-
- <sect3><heading>バスマスタ ホストアダプタ</heading>
- <p>
- すべてではありませんが多くの SCSIホストアダプタはバスマスタコ
- ントローラです. これはホストCPUにデータ転送の負荷をか
- けず, ボード自身がI/Oをおこないます.
-
- これは FreeBSDのようなマルチタスクのオペレーティングシステム
- では大きな利点になります. しかし, 何らかの問題の起きることも
- あります.
-
- 例えば Adaptec 1542 コントローラは ホストバス (ここではISAま
- たはATバス) を異なった転送速度に設定できます. コントローラが
- 異なるレートに設定できるのはすべてのマザーボードで高速な転送が
- できる訳ではないからです. マザーボードに合っていない高速の
- データ転送速度を用いた時には, ハングアップやデータの損傷等の
- 問題が起きるかもしれません.
-
-
- これを解決する方法は明らかです. より低いデータ転送速度に設定
- してうまく動くか確かめることです.
-
- Adaptec 1542の場合, 可能な限り高速な転送レートを動的に読み取って,
- 正しい決定をおこなうためのオプションをカーネルコンフィグファイルに
- 追加することができます. このオプションはデフォルトでは無効に
- なっています.
-
-
- <verb>
-options "TUNE_1542" #dynamic tune of bus DMA speed
- </verb>
-
- あなたの使うホストアダプタについてのマニュアルページをチェッ
- クしてください. また最終的な手段としては究極のドキュメントを
- 使ってください (つまりドライバのソースを読んでくださいというこ
- とです).
-
- 訳注: 2.1.5Rの時点ではすべてのドライバに関してマニュアルページ
- があるわけではありません. また上の例の TUNE_1542のオプション
- も <tt>man aha </tt>にはないようです. ソースのコメントだけで
- も一度見ておいてもいいかもしれません.
-
-
- <sect2><heading>問題を突き止める </heading>
- <p>
- 以下は SCSI で一般的に問題が起きた場合に解決をするためのチェッ
- クリストの試みです. これは完全な物ではありません.
-
- <itemize>
- <item>
- コネクタとケーブルがゆるんでいないかチェックする.
- <item>
- ターミネータの場所と数を念には念を入れてチェックする.
- <item>
- 少なくとも1つのターミネータの電源の供給源があるかチェック
- する (特に外部ターミネータを使う場合).
- <item>
- ターゲットIDが重複していないかチェックする.
- <item>
- 使用するすべてのデバイスの電源がONになっているかチェックする.
- <item>
- 必要最小限のデバイスだけの構成を試してみる.
- <item>
- 可能であれば, ホストアダプタのスピードを遅くする.
- <item>
- 問題をより単純にするために, タグコマンドキューイングを可能
- であれば無効にする. (NCRベースのホストアダプタについては
- man ncrcontrol を見てください)
- <item>
- カーネルのコンパイルができるのであれば, SCSIDEBUGオプショ
- ンをつけて makeして, デバイスをデバッグモードにしてアクセ
- スしてみてください. もしそれでも起動時にデバイスが検出
- されないのであれば, デバイスの設定アドレスが間違っている
- のかもしれません. また, <tt>/sys/scsi/scsidebug.h </tt>に
- あるデバッグレベルを変えてみてください. 検出はされるが
- 動かないのであれば, <tt>scsi(8)</tt>コマンドで (SCSIDEBUG
- をつけてmakeした) カーネルが動いている状態で動的にデバッグ
- レベルを設定することができます. これは guru (UNIXの達人) で
- も混乱してしまうほどの非常に大量のデバッグ情報を出すでしょ
- う. <tt>man 4 scsi
- </tt>にはより正確な情報があります. また<tt>man 8
- scsi</tt> も見てください.
- </itemize>
-
- <sect2><heading>さらに詳しい情報<label id="scsi:further-reading"></heading>
- <p>
- もしあなたがいくらかは本気で SCSIハッキングをする気があるなら
- たぶん正規の規格を持っていたくなるでしょう.
-
- 承認ずみのアメリカ工業規格は ANSI から購入できます. 住所と電話
- 番号は11 West 42nd Street, 13th Floor, New York, NY 10036,
- Sales Dept: (212) 642-4900 です.
- また, ANSIの規格および委員会の規格案 (ドラフト) のほとんどはGlobal
- Engineering Documentsより買うことができます. 連絡先は 15
- Inverness Way East, Englewood, CO 80112-5704, Phone: (800)
- 854-7179, Outside USA and Canada: (303) 792-2181, FAX: (303) 792-
- 2192です.
-
- X3T10のドラフトの多くは電子的に利用できる形で SCSI
- BBS (719-574-0424) と ncrinfo.ncr.com の Anonymous FTP (誰でも
- ファイルを取ってくることができるFTPサービス) サイトから得るこ
- とができます.
-
- 最新の X3T10委員会のドキュメントは:
- <itemize>
-<item>AT Attachment (ATA or IDE) &lsqb;X3.221-1994&rsqb; (<em>Approved</em>)
-<item>ATA Extensions (ATA-2) &lsqb;X3T10/948D Rev 2i&rsqb;
-<item>Enhanced Small Device Interface (ESDI) &lsqb;X3.170-1990/X3.170a-1991&rsqb; (<em>Approved</em>)
-<item>Small Computer System Interface - 2 (SCSI-2) &lsqb;X3.131-1994&rsqb; (<em>Approved</em>)
-<item>SCSI-2 Common Access Method Transport and SCSI Interface Module (CAM)
- &lsqb;X3T10/792D Rev 11&rsqb;
- </itemize>
- 追加情報を得ることのできる出版物は:
-<itemize>
-<item>"SCSI: Understanding the Small Computer System Interface", NCR社
-編. 出版: Prentice Hall, Englewood Cliffs, NJ, 07632
-Phone: (201) 767-5937 ISBN 0-13-796855-8
-
-<item>"Basics of SCSI", a SCSI tutorial, Ancot Corporation 編
- Ancot の連絡先:
-Phone: (415) 322-5322 Fax: (415) 322-0455
-
-<item>"SCSI Interconnection Guide Book", AMP社の出版物 (発行 4/93, カ
-タログ 65237) 色々な SCSI コネクタのリスト と ケーブル接続方法のガイド.
- AMP 社より入手可能. (800) 522-6752 または (717) 564-0100
-
-<item>"Fast Track to SCSI", 富士通によるプロダクトガイド,
-入手先: Prentice Hall, Englewood Cliffs, NJ, 07632
-電話: (201) 767-5937 ISBN 0-13-307000-X
-
-<item>"The SCSI Bench Reference", "The SCSI Encyclopedia", "SCSI Tutor",
-ENDL Publications, 14426 Black Walnut Court, Saratoga CA, 95070
-電話: (408) 867-6642
-
-<item>"Zadian SCSI Navigator" (クイックリファレンス) および "Discover the Power of SCSI"
-(最初の本は1時間のビデオとチュートリアルが付属), Zadian Software,
-Suite 214, 1210 S. Bascom Ave., San Jose, CA 92128, (408) 293-0800
- </itemize>
-
- Usenet のニュースグループ <htmlurl
- url="news:comp.periphs.scsi" name="comp.periphs.scsi">
- と <htmlurl url="news:comp.periphs" name="comp.periphs">
- は特により多くの情報を得るには注目すべき場所です. また定期的に
- ポストされる SCSI-FAQをここから得ることができます.
-
- 多くの主要な SCSIデバイスとホストアダプタの供給元は FTP サイト
- や BBSを開いています. これらはあなたの持っているデバイスに関す
- る貴重な情報源となるでしょう.
diff --git a/share/doc/ja_JP.EUC/handbook/sections.sgml b/share/doc/ja_JP.EUC/handbook/sections.sgml
deleted file mode 100644
index 560eac1..0000000
--- a/share/doc/ja_JP.EUC/handbook/sections.sgml
+++ /dev/null
@@ -1,64 +0,0 @@
-<!-- $Id: sections.sgml,v 1.8 1997/02/25 04:58:16 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.24 -->
-
-<!-- Entities containing all the pieces of the handbook are -->
-<!-- defined here -->
-
-<!ENTITY bibliography SYSTEM "bibliography.sgml">
-<!ENTITY basics SYSTEM "basics.sgml">
-<!ENTITY booting SYSTEM "booting.sgml">
-<!ENTITY contrib SYSTEM "contrib.sgml">
-<!ENTITY ctm SYSTEM "ctm.sgml">
-<!ENTITY cvsup SYSTEM "cvsup.sgml">
-<!ENTITY current SYSTEM "current.sgml">
-<!ENTITY stable SYSTEM "stable.sgml">
-<!ENTITY crypt SYSTEM "crypt.sgml">
-<!ENTITY development SYSTEM "development.sgml">
-<!ENTITY dialup SYSTEM "dialup.sgml">
-<!ENTITY dialout SYSTEM "dialout.sgml">
-<!ENTITY diskless SYSTEM "diskless.sgml">
-<!ENTITY dma SYSTEM "dma.sgml">
-<!ENTITY eresources SYSTEM "eresources.sgml">
-<!ENTITY esdi SYSTEM "esdi.sgml">
-<!ENTITY firewalls SYSTEM "firewalls.sgml">
-<!ENTITY goals SYSTEM "goals.sgml">
-<!ENTITY glossary SYSTEM "glossary.sgml">
-<!ENTITY history SYSTEM "history.sgml">
-<!ENTITY hw SYSTEM "hw.sgml">
-<!ENTITY install SYSTEM "install.sgml">
-<!ENTITY term SYSTEM "term.sgml">
-<!ENTITY isdn SYSTEM "isdn.sgml">
-<!ENTITY jcontrib SYSTEM "jcontrib.sgml">
-<!ENTITY kerberos SYSTEM "kerberos.sgml">
-<!ENTITY kernelconfig SYSTEM "kernelconfig.sgml">
-<!ENTITY kerneldebug SYSTEM "kerneldebug.sgml">
-<!ENTITY kernelopts SYSTEM "kernelopts.sgml">
-<!ENTITY linuxemu SYSTEM "linuxemu.sgml">
-<!ENTITY mail SYSTEM "mail.sgml">
-<!ENTITY memoryuse SYSTEM "memoryuse.sgml">
-<!ENTITY mirrors SYSTEM "mirrors.sgml">
-<!ENTITY nfs SYSTEM "nfs.sgml">
-<!ENTITY nutshell SYSTEM "nutshell.sgml">
-<!ENTITY pgpkeys SYSTEM "pgpkeys.sgml">
-<!ENTITY policies SYSTEM "policies.sgml">
-<!ENTITY porting SYSTEM "porting.sgml">
-<!ENTITY ports SYSTEM "ports.sgml">
-<!ENTITY ppp SYSTEM "ppp.sgml">
-<!ENTITY printing SYSTEM "printing.sgml">
-<!ENTITY quotas SYSTEM "quotas.sgml">
-<!ENTITY relnotes SYSTEM "relnotes.sgml">
-<!ENTITY routing SYSTEM "routing.sgml">
-<!ENTITY russian SYSTEM "russian.sgml">
-<!ENTITY serial SYSTEM "serial.sgml">
-<!ENTITY scsi SYSTEM "scsi.sgml">
-<!ENTITY sio SYSTEM "sio.sgml">
-<!ENTITY cy SYSTEM "cyclades.sgml">
-<!ENTITY skey SYSTEM "skey.sgml">
-<!ENTITY slipc SYSTEM "slipc.sgml">
-<!ENTITY slips SYSTEM "slips.sgml">
-<!ENTITY submitters SYSTEM "submitters.sgml">
-<!ENTITY sup SYSTEM "sup.sgml">
-<!ENTITY synching SYSTEM "synching.sgml">
-<!ENTITY uart SYSTEM "uart.sgml">
-<!ENTITY userppp SYSTEM "userppp.sgml">
diff --git a/share/doc/ja_JP.EUC/handbook/serial.sgml b/share/doc/ja_JP.EUC/handbook/serial.sgml
deleted file mode 100644
index 1f17890..0000000
--- a/share/doc/ja_JP.EUC/handbook/serial.sgml
+++ /dev/null
@@ -1,76 +0,0 @@
-<!-- $Id: serial.sgml,v 1.7 1997/02/22 13:01:52 peter Exp $ -->
-<!-- FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.3 -->
-
-<!-- This is an SGML document in the linuxdoc DTD of the Tutorial for
- Configuring a FreeBSD for Dialup Services by Guy Helmer.
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-
-<linuxdoc>
- <article>
- <title> シリアル接続の基礎
-
-<p><em>原作: FAQ</em>
-<date> 24 Nov 1996, (c) 1996
-<p><em>訳: &a.mihoko;9 December 1996.</em>
-
- <abstract> このセクションには, シリアルポートを使うための基本的
-な事柄についての概要が書かれています. もしあなたがモデムに興味がある
-なら, このセクションは PPP やダイアルアウトのセクションへの導入にな
-ります.
- </abstract>
-
- <toc>
--->
-
-<sect><heading>シリアル接続の基礎<label id="serial"></heading>
-
-<p><em>Assembled from FAQ.</em>
-
-このセクションには, シリアルポートについての一般的な情報が書かれていま
-す. あなたが求めている情報が, もしここで見つからなかった場合には, ハン
-ドブックの端末とダイアルアップのセクションを見てください.
-
- <p>
- <tt/ttydX/ (または <tt/cuaaX/) デバイスは, アプリケーション上
- でシリアルポートをオープンする時に使用する, 標準的なデバイスです.
- プロセスがデバイスをオープンする際, 端末 I/O 設定の
- デフォルトセットが使用されます.
- これらの設定内容は, 次のコマンドで確認することができます.
- <verb>
- stty -a -f /dev/ttyd1
- </verb>
-
- このデバイスの設定を変更した場合, その設定はデバイスが
- クローズされるまで有効です.
- デバイスが再びオープンされる時, デフォルトの設定値に戻ります.
- デフォルトの設定を変更するためには, 「初期状態」を設定した
- いデバイスをオープンして調節することができます.
- 例えば, ttyd5 というデバイスに対して, デフォルトで
- <tt/CLOCAL/ モードを ON にして, 8 bits の設定をおこない,
- <tt>XON/XOFF</tt> フロー制御を行うように設定したい場合は,
- 次のようにします.
- <verb>
- stty -f /dev/ttyid5 clocal cs8 ixon ixoff
- </verb>
-
- このコマンドを記述するのに適しているファイルは, <tt>/etc/rc.serial</tt>
- です. アプリケーションが<tt/ttyd5/ をオープンするときに,
- デフォルトでこの設定をおこなうようになります.
- これらの設定は, 好きなように変更することができます.
-
- また, 「固定状態」のデバイスに調節を行うことで, ある一定の設定が
- アプリケーションに変更されることを防ぐこともできます.
- 例えば, <tt/ttyd5/ のスピードを 57600 bps に固定したい場合には,
- 次のようにします.
- <verb>
- stty -f /dev/ttyld5 57600
- </verb>
-
- これで、<tt/ttyd5/ をオープンして, シリアルポートの転送スピードを
- 変更しようとするアプリケーションは 57600 bps に固定されるでしょう.
-
- 本来, デバイスの初期状態を変更したり設定を固定するのは,
- <tt/root/ だけが行うべきです.
- <tt/MAKEDEV/ スクリプトがデバイスエントリを作成する時は,
- これをおこない<bf/ません/.
diff --git a/share/doc/ja_JP.EUC/handbook/sio.sgml b/share/doc/ja_JP.EUC/handbook/sio.sgml
deleted file mode 100644
index 3e049ef..0000000
--- a/share/doc/ja_JP.EUC/handbook/sio.sgml
+++ /dev/null
@@ -1,198 +0,0 @@
-<!-- $Id: sio.sgml,v 1.4 1997/02/22 13:01:53 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.5 -->
-
-<!--
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
-
-<!ENTITY % authors SYSTEM "authors.sgml">
-%authors;
-
-]>
--->
-<sect2><heading> <tt>sio</tt>ドライバの設定<label id="sio"></heading>
-
-<p> <tt>sio</tt> ドライバは, NS8250-, NS16450-, NS16550とNS16550A
-ベースの EIA RS-232C(CCITT V.24) 通信用インタフェースをサポートします. ま
-た, いくつかのマルチポートシリアルカードもサポートされています. 技術的
-な詳細についてはマニュアル<tt>sio(4)</tt>を見てください.
-
-<sect3><heading>Digi International (DigiBoard) PC/8</heading>
-
-<p><em>原作: &a.awebster;.<newline> 1995年8月26日.</em>
-<p><em>訳: &a.masaki;.<newline>6 September 1996.</em>
-
-以下にDigi International PC/8Dと16550チップを動作させるための, カーネ
-ルconfigの部分を示します. このボードは, 8本の回線にすべてモデムを接続
-した場合でも良好に動作します.
-
-<tt>options COM_MULTIPORT</tt> を加えるのを忘れないでください. 忘れる
-とうまく動作しません!
-
-<tscreen><verb>
-device sio4 at isa? port 0x100 tty flags 0xb05
-device sio5 at isa? port 0x108 tty flags 0xb05
-device sio6 at isa? port 0x110 tty flags 0xb05
-device sio7 at isa? port 0x118 tty flags 0xb05
-device sio8 at isa? port 0x120 tty flags 0xb05
-device sio9 at isa? port 0x128 tty flags 0xb05
-device sio10 at isa? port 0x130 tty flags 0xb05
-device sio11 at isa? port 0x138 tty flags 0xb05 irq 9 vector siointr
-</verb></tscreen>
-
-ここで各 SIO ポートが割り込みを共有する一つのグループであることを表現
-するために, トリッキーな設定をしなければなりません. フラグ (flags の後
-ろの 16 進数) の下から 2 バイト目にこのグループの最後の SIO ポートの番
-号を設定します. この例では 11 (16進数では 0x0b) ですから, 各デバイスの
-フラグは 0xb05 となります.
-
-<sect3><heading>Boca 16</heading>
-
-<p><em>寄贈 &a.whiteside;.<newline> 1995年8月26日</em>
-
-FreeBSD で Boca 16pord のボードを動かすことは簡単ですが, そのた
-めにはいくつかの作業が必要です. :
-
-<enum>
-
-<item>2.0.5 のデフォルトのカーネルは, マルチポートのサポートを<bf>して
-いない</bf> ので, あなたは各ポート毎にデバイスエントリを追加する必要が
-あります. つまり必要なオプションを付けて, カーネルの再構築をしなければ
-なりません. そのためには, あなたのマシンにカーネルのソースコードが既に
-インストールされているか, あなたの替わりの誰かにカーネル再構築をやって
-もらう必要があります. </item>
-
- <item>2番目に, あなたはカーネルオプションを正しく設定するために, あな
-たのBoca BoardのIOと割り込みの値を知っている必要があります. </item>
-
-</enum>
-
-ひとつ重要なことがあります. Boca 16 に使われている実際の UART チップ
-は, Boca 16 のボードではなく, 外付けのコネクタボックスの中に存在します.
-コネクタボックスを接続しないと, ポートの検出に失敗するでしょう. 私は,
-接続しないまま起動したり, 後から接続しなおしたりした時にどうなるかをテ
-ストしていません. どちらも実行しないようお奨めします.
-
-もしあなたがカスタマイズ済みのカーネルコンフィグレーションファイルを持っ
-ていなければ, 一般的な事柄については, <ref id="kernelconfig"
-name="FreeBSDカーネルのコンフィグレーション">
-を参考にしてください. 以下にBoca 16のボード
-に関係する部分だけを記述します. この例では, あなたがMYKERNELという名前
-のカーネルを使っていて, エディタには viを使っていることを仮定していま
-す.
-
-<enum>
-<item>次の1行をconfigファイルに追加してください.
-<tscreen><verb>
-options COM_MULTIPORT
-</verb></tscreen>
-</item>
-
-<item>この <tt>device sio<em>xxx</em></tt>という行を, 必要に応じて 16
-個のデバイス分を追加してください. <em>最後のデバイスにだけ, このボード
-の割り込みベクタを記述します</em>. (詳細は <tt>sio(4)</tt> のマニュア
-ルページを参照してください.)
-
-以下の例は, 割り込み 3, ベース IO アドレス 100h の値を持つ Boca Board
-の場合です. 各ポートのための IO アドレスは, 100h, 108h, 110h, ... のよ
-うに 16 進法で 8 づつ加えていきます.
-
-<tscreen><verb>
-device sio1 at isa? port 0x100 tty flags 0x1005
-device sio2 at isa? port 0x108 tty flags 0x1005
-device sio3 at isa? port 0x110 tty flags 0x1005
-device sio4 at isa? port 0x118 tty flags 0x1005
-[...]
-device sio15 at isa? port 0x170 tty flags 0x1005
-device sio16 at isa? port 0x178 tty flags 0x1005 irq 3 vector siointr
-</verb></tscreen>
-
-フラグエントリは, あなたが全く同じsioの割り当てを使っていない限り <em>
-必ず</em> 上記の例から変更してください. フラグは, 次のように設定します.
-0x<em>MYY</em> の<em>M</em>は, マスタポート (Boca 16に搭載された最後
-のポート)のマイナー番号を指定します. さらに <em>YY</em> の部分はFIFOが
-有効または無効であること (この場合は有効), 割り込みを (ボード内で) 共
-有しているか (この場合はYES), そして, AST/4 と互換性のある持つ割り込み
-制御レジスタを持っているか (この場合はNO) を指定します.
-
-
-この例では,
-<tscreen><verb>
-flags 0x1005
-</verb></tscreen>
-
-というフラグによって, マスタポートが sio16 であることを示します. も
-し同じボードをもう一枚追加し, sio17 から sio28 を割り当てるなら, <em>
-新しい方の</em> ボードに対応する 16 個のポートのフラグはすべて 0x1C05 に
-なります. 28 (== 0x1C) は新しいボードのマスタポートのマイナー番号で
-す. フラグの 05 の部分は変更しないでください. </item>
-
-<item>カーネルコンフィグレーションファイルを保存してカーネルの設定を完了しま
-す. カーネルをコンパイル後, インストールし, 新しいカーネルでリブートし
-てください.
-
-再コンパイルされたカーネルがうまくインストールされて, そのカーネルに正
-しいアドレスと割り込みが設定されていたならば, ブートメッセージは次の
-ように Boca ポートの検出に成功するはずです:
-(sioの番号, IOとIRQの値は, この例とは異なっているでしょう)
-
-<tscreen><verb>
-sio1 at 0x100-0x107 flags 0x1005 on isa
-sio1: type 16550A (multiport)
-sio2 at 0x108-0x10f flags 0x1005 on isa
-sio2: type 16550A (multiport)
-sio3 at 0x110-0x117 flags 0x1005 on isa
-sio3: type 16550A (multiport)
-sio4 at 0x118-0x11f flags 0x1005 on isa
-sio4: type 16550A (multiport)
-sio5 at 0x120-0x127 flags 0x1005 on isa
-sio5: type 16550A (multiport)
-sio6 at 0x128-0x12f flags 0x1005 on isa
-sio6: type 16550A (multiport)
-sio7 at 0x130-0x137 flags 0x1005 on isa
-sio7: type 16550A (multiport)
-sio8 at 0x138-0x13f flags 0x1005 on isa
-sio8: type 16550A (multiport)
-sio9 at 0x140-0x147 flags 0x1005 on isa
-sio9: type 16550A (multiport)
-sio10 at 0x148-0x14f flags 0x1005 on isa
-sio10: type 16550A (multiport)
-sio11 at 0x150-0x157 flags 0x1005 on isa
-sio11: type 16550A (multiport)
-sio12 at 0x158-0x15f flags 0x1005 on isa
-sio12: type 16550A (multiport)
-sio13 at 0x160-0x167 flags 0x1005 on isa
-sio13: type 16550A (multiport)
-sio14 at 0x168-0x16f flags 0x1005 on isa
-sio14: type 16550A (multiport)
-sio15 at 0x170-0x177 flags 0x1005 on isa
-sio15: type 16550A (multiport)
-sio16 at 0x178-0x17f irq 3 flags 0x1005 on isa
-sio16: type 16550A (multiport master)
-</verb></tscreen>
-
-もしメッセージの表示が速くて読み取れないときは, <tt>dmesg | more</tt>
-とするとブート時のメッセージをゆっくり見ることができます. </item>
-
-<item>次に, root になってから, デバイスにあわせたエントリを <tt>/dev/MAKEDEV</tt>スクリプトを使って<tt>/dev</tt> に追加します.
-
-<tscreen>
-# cd /dev<newline>
-# ./MAKEDEV tty1<newline>
-# ./MAKEDEV cua1<newline>
-<em> (中略) </em><newline>
-# ./MAKEDEV ttyg<newline>
-# ./MAKEDEV cuag
-</tscreen>
-
-もし, 何らかの理由で発信するデバイスが不要な場合, <tt>cua*</tt> デバ
-イスを作らないで済ますこともできます.</item>
-
-<item>デバイスが確実に動作しているかどうか確認する手っ取り早い方法は,
-あなたが (rootになって) 各ポートにモデムを接続してみて, あなたが作成し
-た各デバイス毎に<tt>echo at&gt; ttyd*</tt>とやってみてください. 各ポー
-トが動作していればRXの表示が光るのが見える<em>はず</em> です. </item>
-
-</enum>
-
-
diff --git a/share/doc/ja_JP.EUC/handbook/skey.sgml b/share/doc/ja_JP.EUC/handbook/skey.sgml
deleted file mode 100644
index b3f46ed..0000000
--- a/share/doc/ja_JP.EUC/handbook/skey.sgml
+++ /dev/null
@@ -1,355 +0,0 @@
-<!-- $Id: skey.sgml,v 1.4 1997/02/22 13:01:54 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.7 -->
-<!-- 和訳: hino@nwk.CL.nec.co.jp 1996/09/24 -->
-
-<!--
-Copyright 1995 Massachusetts Institute of Technology
-
-Permission to use, copy, modify, and distribute this software and
-its documentation for any purpose and without fee is hereby
-granted, provided that both the above copyright notice and this
-permission notice appear in all copies, that both the above
-copyright notice and this permission notice appear in all
-supporting documentation, and that the name of M.I.T. not be used
-in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission. M.I.T. makes
-no representations about the suitability of this software for any
-purpose. It is provided "as is" without express or implied
-warranty.
-
-THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''. M.I.T. DISCLAIMS
-ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT
-SHALL M.I.T. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
--->
-
-<sect><heading>S/KEY<label id="skey"></heading>
-
-<p><em>原作: &a.wollman;<newline>25 September 1995.</em>
-<p><em>訳: &a.hino;.<newline>24 September 1996.</em>
-
-<p>S/KEY は一方向ハッシュ関数 (ここで述べているバージョンでは, 過去と
-の互換性を保つために MD4 を用いています. S/KEY の他のバージョンでは
-MD5 や DES-MAC を用いているものもあります) を基にしたワンタイムパスワー
-ド方式です. S/KEY は, バージョン 1.1.5 以降のすべての FreeBSD に標準的
-に含まれています. S/KEY は FreeBSD 以外の数多くのシステムの上でも利用
-可能であり, その実装の数も増えています. S/KEY ば Bell Communications
-Research, Inc. の登録商標です.
-
-<!-- XXX - UNIX以外のよい表現はないかな? -->
-<p>以下の説明では, 三種類の異なる「パスワード」が使われます. まず一つ
-目は, あなたが普段使っている普通の UNIX スタイルの, もしくは Kerberos
-でのパスワードです. ここではこれを ``UNIX パスワード'' と呼ぶことにし
-ます. 二つ目は, S/KEY の `<tt/key/' プログラムによって生成され,
-`<tt/keyinit/' プログラムとログインプロンプトが受け付ける, 一回限りの
-パスワードです. ここではこれを ``ワンタイムパスワード'' と呼ぶことにし
-ます. 三つ目のパスワードは, `<tt/key/' (と場合により `<tt/keyinit/')
-プログラムに対してユーザが入力する秘密のパスワードで, ワンタイムパスワー
-ドを生成するのに使われます. ここではこれを ``秘密のパスフレーズ'' もし
-くは単に ``パスフレーズ'' と呼ぶことにします. (訳注: ユーザが頭の中だ
-けにしまっておくべきものが, この秘密のパスフレーズです. なお, 原文では
-これをパスワードと表記していますが, 混乱を避けるために訳文ではすべて ``
-秘密のパスフレーズ'' に統一しています.)
-
-<p>秘密のパスフレーズは, UNIX パスワードと同じである必要はありませんし,
-また UNIX パスワードと何らかの関連性を持たなければならないということも
-ありません (両者を同一に設定することは可能ですが, お奨めしません).
-UNIX パスワードは長さが 8 文字に制限されています (訳注: FreeBSD で DES
-を導入していない場合はもっと長いパスワードも認識されます). これに対し,
-S/KEY では秘密のパスフレーズを好きなだけ長くすることができます (訳注:
-実装上, `<tt/key/' コマンドなどのバッファ長で制限されてしまう可能性が
-あります. 200文字程度に押えておいた方がよいでしょう :-). 筆者は 7 語か
-らなる文を使っています. 通常の設定では, S/KEY システムは UNIX のパスワー
-ドシステムと完全に独立して動作するようになっています.
-
-<p>S/KEY システムでは他に二種類のデータを使用します. 一つは ``シード
-(種)'' または (混乱を招きますが) ``キー'' と呼ばれるもので, (訳注: デ
-フォルトでは) 二つの文字と五つの数字で構成されます. もう一つは ``シー
-ケンス番号'' で, 1 以上の整数です. シーケンス番号は特に指定しなければ
-100以下です (訳注: ``<tt/keyinit/' プログラムでは 9999 まで指定できま
-す). S/KEY はここまでに述べたデータを利用してワンタイムパスワードを生
-成します. その方法は, まずシードと秘密のパスフレーズを連結し, それに対
-してシーケンス番号の回数だけ一方向ハッシュ (RSA Data Security, Inc. に
-よる MD4 セキュアハッシュ関数) を繰り返し計算します. そしてその結果を
-六つの英単語に変換します (訳注: ハッシュ計算の後, 64ビットに収まるよう
-にデータを処理したものが厳密な意味でのワンタイムパスワードです. 通常は
-ユーザの便宜のために, この 64ビットデータと六つの英単語との間で変換処
-理をおこなっています) . `<tt/login/' プログラムと `<tt/su/' プログラム
-は, 前回最後に受け付けられたワンタイムパスワードを記録しています. そし
-て, その前回のワンタイムパスワードと, ユーザが入力したワンタイムパスワー
-ドを一回ハッシュ関数にかけた結果とが一致した場合に, このユーザは認証さ
-れます. 一方向ハッシュ関数を使うことにより, もし (ログイン等に成功した)
-ワンタイムパスワードが一回盗聴されたとしても, 次回以降に使われる複数の
-ワンタイムパスワードを生成することは不可能です. シーケンス番号はログイ
-ン (等) が成功するたびに一つずつ減らされて, ユーザとログインプログラム
-の間で同期が取られます. (シーケンス番号が 1 になったら, S/KEY を再度初
-期化する必要があります.)
-
-<p>次に, S/KEY 関連の四つのプログラムについて説明します. `<tt/key/' プ
-ログラムは, シーケンス番号と, シードと, 秘密のパスフレーズを受け付けて,
-ワンタイムパスワードを生成します. `<tt/keyinit/' プログラムは, S/KEY
-を初期化するのに使用され, また秘密のパスフレーズやシーケンス番号やシー
-ドを変更するためにも使用されます. このプログラムを実行するには, 秘密の
-パスフレーズか, または, シーケンス番号とシードとワンタイムパスワードの
-一組かの, どちらかが必要になります. `<tt/keyinfo/' プログラムは,
-<tt>/etc/skeykeys</tt> というファイルを調べて, このプログラムを起動し
-たユーザの現在のシーケンス番号とシードを表示します. 最後に,
-`<tt/login/' と `<tt/su/' プログラムについてですが, これらは S/KEY の
-ワンタイムパスワードを, (訳注:システムが) ユーザを認証するものとして受
-理する処理をおこないます. `<tt/login/' プログラムは, 指定された特定の
-アドレスからの接続に対して, UNIX パスワードの使用を認めなくする機能,
-逆に言えば S/KEY の利用を強制する機能も持っています.
-
-<p>このドキュメントでは, 四種類の異なる操作について説明します. 一つ目
-は, `<tt/keyinit/' プログラムを信頼できる通信路上で利用する場合で, 一
-番始めに S/KEY を設定する操作や, 使い始めたあとで秘密のパスフレーズや
-シードを変更する操作です. 二つ目は, `<tt/keyinit/' プログラムを信頼で
-きない通信路上で利用する場合で, 操作の目的は一つ目と同じです. この場合
-には `<tt/key/' プログラムを併用する必要があります. 三つ目は,
-`<tt/key/' プログラムを使い, 信頼できない通信路を通じてログインする操
-作です. 四番目は, `<tt/key/' プログラムを使って, 複数のワンタイムパス
-ワードを一気に生成する操作です. ここで生成した複数のワンタイムパスワー
-ドは, メモしたり印刷したりして携帯し, 信頼できる通信路が一切ないところ
-(例えば展示会場など) で利用することができます. (訳注: ワンタイムパスワー
-ドを記録した紙をなくさないこと! 電話番号やIPアドレス, ユーザ名を一緒に
-メモしていたら最悪です!!)
-
-
-<sect1><heading>信頼できる通信路での初期化</heading>
-
-<p>信頼できる通信路 (例えばあるマシンのコンソール画面など) を利用して
-いるときに, S/KEY の初期化, S/KEY の秘密のパスフレーズの変更, またはシー
-ドの変更をおこなうことができます. そのためには, まずあなた自身がログイ
-ンし, `<tt/keyinit/' コマンドを以下のようにパラメタなしで実行します:
-
-<tscreen><verb>
-$ keyinit
-Updating wollman: ) この部分は始めて S/KEY を使
-Old key: ha73895 ) うときには表示されません.
-Reminder - Only use this method if you are directly connected.
-If you are using telnet or rlogin exit with no password and use keyinit -s.
- ) `keyinit' コマンドが出力する注意です. 訳すと,
- ) 注意 - この動作モードはマシンに直接入力しているときのみ利用
- ) すること. もし今 telnet や rlogin を使っているなら, 秘密のパ
- ) スフレーズを入力せずにこのままコマンドを終了し, かわりに
- ) keyinit -s を実行すること.
-Enter secret password: ) ここで秘密のパスフレーズを入力します.
-Again secret password: ) もう一回入力します.
-
-ID wollman s/key is 99 ha73896 ) あとで説明します.
-SAG HAS FONT GOUT FATE BOOM )
-</verb></tscreen>
-
-<p>上の例で出てきた事柄について説明しましょう. `Enter secret
-password:' というプロンプトに対してあなたが考えた秘密のパスフレーズを
-入力します (筆者は 7 単語以上の文を秘密のパスフレーズにしています). こ
-の秘密のパスフレーズは後でログインするために必要になるものです. `ID'
-から始まる行は, S/KEY における一回分のパラメタであり, あなたのログイ
-ン名とシーケンス番号とシードです. (訳注: `<tt/keyinit/' コマンドは次回
-にログインするときに使われるパラメタを参考のためにここで表示しま
-す. ) S/KEY を使ってログインするときには, システム側が自動的にこれらの
-パラメタを表示してくれますから, これらのパラメタを覚えておく必要は
-ありません. 最後の行が, 今述べたパラメタと入力された秘密のパスフレー
-ズから計算されたワンタイムパスワードです. この例を実行した後, 次にログ
-インするときに打ち込むべきワンタイムパスワードがこれです.
-
-<sect1><heading>信頼できない通信路での初期化</heading>
-
-<p>信頼できない通信路を使って S/KEY を初期化, または秘密のパスフレーズ
-やシードを変更するためには, 信頼できる通信路として, その信頼できない通
-信路とは別のものを用意する必要があります. その信頼できる通信路は
-`<tt/key/' プログラムを実行するために必要となるもので, 例えばそれは,
-あなたが信頼できる Macintosh のデスクアクセサリや信頼できるマシンのシェ
-ルプロンプトだったりするでしょう (そこでの操作に関しては後述します).
-(訳注: ここでの通信路とはマシンそのものになります. 信頼できるマシンと
-は, 信頼できる人がしっかり管理しているマシンということです.) 他に準備
-しておくものとして, シーケンス番号 (100は適切な値といえるでしょう) と,
-場合によっては自分で考えた, またはランダムに生成されたシードがあります.
-あなたが S/KEY を初期化しようとしているマシンへの通信路が, 信頼できな
-いものである場合には `<tt/keyinit -s/' コマンドを以下のように使用しま
-す:
-
-<tscreen><verb>
-$ keyinit -s
-Updating wollman:
-Old key: kh94741
-Reminder you need the 6 English words from the skey command.
- ) `keyinit' コマンドが出力する注意です. 訳すと,
- ) 注意 - skey コマンドの出力する 6 英単語が必要になります.
-Enter sequence count from 1 to 9999: 100 ) ここを入力.
-Enter new key [default kh94742]: ) リターンのみ入力.
-s/key 100 kh94742
-</verb></tscreen>
-
-デフォルトのシード (`keyinit' プログラムは困ったことにこれを `key' と
-読んでいるのですが, 混乱しないよう注意してください) で構わなければ, リ
-ターンキーを押してください. 次に, あらかじめ用意しておいた信頼できる通
-信路 (信頼できるマシンや信頼できる S/KEY デスクアクセサリなど) へ移っ
-て, 先ほどと同じパラメタを入力します.
-
-<tscreen><verb>
-$ key 100 kh94742
-Reminder - Do not use this program while logged in via telnet or rlogin.
-Enter secret password: ) ここで秘密のパスフレーズを入力します.
-HULL NAY YANG TREE TOUT VETO
-</verb></tscreen>
-
-ここで信頼できない通信路の方に戻って, `<tt/key/' コマンドが出力したワ
-ンタイムパスワードをコピーして `<tt/keyinit/' プログラムに入力します.
-
-<tscreen><verb>
-s/key access password: HULL NAY YANG TREE TOUT VETO
-
-ID wollman s/key is 100 kh94742
-HULL NAY YANG TREE TOUT VETO
-</verb></tscreen>
-
-後は, 前章で説明したことと同様です.
-
-<sect1><heading>ちょっと寄り道: ログインプロンプトについて</heading>
-
-<p>どうやってワンタイムパスワードを生成するかを説明する前に, S/KEY を
-使う場合のログインプロンプトを見ておいた方がよいでしょう.
-
-<tscreen><verb>
-$ telnet himalia
-Trying 18.26.0.186...
-Connected to himalia.lcs.mit.edu.
-Escape character is '^]'.
-s/key 92 hi52030
-Password:
-</verb></tscreen>
-
-パスワードを要求する前に, ログインプログラムがシーケンス番号とシードを
-表示していることがわかります. この二つのパラメタを使ってワンタイムパ
-スワードを計算することになります. ここではまだ使っていませんが, 便利な
-機能がログインプログラムに備わっています:パスワードプロンプトに対して,
-何も入力せずにリターンを押すとエコーモードに切り替わります. つまりタイ
-プした文字がそのまま見えるようになるのです. これは S/KEY のワンタイム
-パスワードを紙に印刷していた場合など, ワンタイムパスワードを手で入力し
-なければならない場合に特に役立つ機能です.
-
-<p>このログインしようとしてるマシンが, あなたが今使っているマシンから
-UNIX パスワードを使ってログインすることができないように設定されている
-場合があります. その場合には, ログインプロンプトには S/KEY のワンタイ
-ムパスワードの利用が必要であることを示す `<tt>(s/key required)</tt>'
-という注釈が表示されます.
-
-<sect1><heading>ワンタイムパスワードを生成する</heading>
-
-<p>次に前章のログインプロンプトに対して入力するためのワンタイムパスワー
-ドを生成しましょう. そのために, 信頼できるマシンと `<tt/key/' プログラ
-ムを使用します. (`<tt/key/' プログラムには DOS や Windows の上で動くも
-の, Macintoshのデスクアクセサリとして動くものなどもあります.) コマンド
-ラインで `<tt/key/' プログラムを起動するときには, シーケンス番号とシー
-ドを引数として指定します. 入力が面倒な人は, ログインプロンプトに表示さ
-れたもののうちで ``<tt/key/'' からその行の最後までを, そのままカットア
-ンドペーストすることもできます. ``<tt/key/' プログラムの実行は以下のよ
-うになります:
-
-<tscreen><verb>
-$ key 92 hi52030 ) 前章の例からペースト.
-Reminder - Do not use this program while logged in via telnet or rlogin.
-Enter secret password: ) 秘密のパスフレーズを入力.
-ADEN BED WOLF HAW HOT STUN
-</verb></tscreen>
-
-そして別のウィンドウで:
-
-<tscreen><verb>
-s/key 92 hi52030 ) 前章の例の続き.
-Password: ) ここでリターンキーを押した.
- (turning echo on)
-Password:ADEN BED WOLF HAW HOT STUN
-Last login: Wed Jun 28 15:31:00 from halloran-eldar.l
-[以下略.]
-</verb></tscreen>
-
-以上の手順は, 信頼できるマシンが利用できる場合 <em/のみに/ 使えるもっ
-とも簡単な方法です.
-
-<sect1><heading>複数のワンタイムパスワードを生成する</heading>
-
-<p>都合によっては, 信頼できるマシンや信頼できる通信路が一切確保できな
-いようなところで S/KEY を使う必要があるでしょう. このような場合には,
-`<tt/key/' コマンドを使って複数のワンタイムパスワードを一気に生成する
-ことが可能です. そして結果を紙に印刷して携帯していくことができます. 例
-えば:
-
-<tscreen><verb>
-$ key -n 25 57 zz99999
-Reminder - Do not use this program while logged in via telnet or rlogin.
-Enter secret password:
-33: WALT THY MALI DARN NIT HEAD
-34: ASK RICE BEAU GINA DOUR STAG
-[...]
-56: AMOS BOWL LUG FAT CAIN INCH
-57: GROW HAYS TUN DISH CAR BALM
-</verb></tscreen>
-
-`<tt/-n 25/' という引数によって 25 個のワンタイムパスワードの生成を要
-求します. ここで `<tt/57/' は, <em/最後に表示されている/ (もっとも大き
-い) シーケンス番号です. 残りのパラメタは前出の例と同様です. 出力は普
-通に使う順番とは <em/逆/ に出力されていることに注意してください (訳注:
-一番最初に使うワンタイムパスワードは一番最後に出力されたものです). こ
-の結果をカットアンドペーストして `<tt/lpr/' コマンドを使って印刷すると
-よいでしょう. もしあなたがセキュリティに偏執するなら, この結果を紙と鉛
-筆を使って手で書き移した方がよいかもしれません. ここで, 出力の各行はシー
-ケンス番号とそれに対応する一回分のワンタイムパスワードです. 消費済みの
-ワンタイムパスワードの行をペンで消していくと便利でしょう.
-
-<sect1><heading>UNIX パスワードの利用を制限する</heading>
-
-<p>設定ファイル <tt>/etc/skey.access</tt> を使って UNIX パスワードの利
-用を制限することができます. この場合の判断基準として, ログインを受け付
-ける際のホスト名, ユーザ名, 端末のポート, IP アドレスなどが利用できま
-す. この設定ファイルの詳細に関してはマニュアル <em/skey.access/ (5) を
-ご覧ください. マニュアルにはこの機能に関わるセキュリティについて, いく
-つかの警告が記述してあります. この機能を使ってセキュリティを高めようと
-するのならば絶対にこのマニュアルを読んでください.
-
-<p>もし <tt>/etc/skey.access</tt> ファイルが存在しないならば (FreeBSD
-をインストールした直後の状態では存在しません), すべてのユーザが UNIX
-パスワードを利用することができます. 逆に, もしファイルが存在するならば,
-<tt>/etc/skey.access</tt> ファイルに明示的に記述されていない限り, すべ
-てのユーザは S/KEY の利用を要求されます. どちらの場合においても, その
-マシンのコンソールからはいつでも UNIX パスワードを使ってログインするこ
-とが可能です.
-
-<p>以下によく使われるであろう三種類の設定を含む設定ファイルの例を示し
-ます:
-
-<tscreen><verb>
-permit internet 18.26.0.0 255.255.0.0
-permit user jrl
-permit port ttyd0
-</verb></tscreen>
-
-はじめの行 (`<tt/permit internet/') で, telnet などで接続するときの IP
-のソースアドレス (注意: これは偽造されるおそれがあります) が特定の値と
-マスクに一致している場合に, UNIX パスワードの利用を許可することを指定
-しています. この設定自体はセキュリティを高めるための機能ではありません.
-そうではなく, ログインの権利を持つ許可されたユーザに対して, 現在そのユー
-ザが使っているネットワークが信頼できないと考えられるので S/KEY を使う
-べきである, ということを気づかせるための機能であると考えてください.
-
-<p>二行目 (`<tt/permit user/') によって, ある特定のユーザに対して, い
-つでも UNIX パスワードの利用を許可するように指定しています. 一般的には
-この設定をおこなうべきではありません. `<tt/key/' プログラムがどうして
-も使えない環境にいる人や, ダム端末しかない環境にいる人, または何度教え
-ても聞く耳を持たないような人をサポートする必要がある場合にのみ設定をお
-こなってください.
-
-<p>三行目 (`<tt/permit port/') によって, ある特定の端末ポートからログ
-インしようとするすべてのユーザに対して UNIX パスワードの利用を許可する
-ように指定しています. この設定はダイヤルアップ回線に対する設定として利
-用できるでしょう.
diff --git a/share/doc/ja_JP.EUC/handbook/slipc.sgml b/share/doc/ja_JP.EUC/handbook/slipc.sgml
deleted file mode 100644
index 3bf9a14..0000000
--- a/share/doc/ja_JP.EUC/handbook/slipc.sgml
+++ /dev/null
@@ -1,205 +0,0 @@
-<!-- $Id: slipc.sgml,v 1.4 1997/02/22 13:01:56 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.9 -->
-
-<sect><heading>SLIPクライアントのセットアップ<label id="slipc"></heading>
-
-<p><em>原作: &a.asami;<newline>8 Aug 1995.</em>
-
-<p><em>訳: &a.hanai;<newline>8 August 1996.</em>
-
-ここにはFreeBSDマシンを静的アドレスのネットワークにつなげる場合の
-SLIPのセットアップの一つの方法を書いてあります.
-ホスト名を動的に割り当てる(つまり, ダイヤルアップするたびにアドレスが
-かわる)ためには, おそらくもっと凝ったことが必要です.
-
-<!--
-This is just "what I did, and it worked for me". I am sharing this
-just for your reference, I am no expert in SLIP nor networking so your
-mileage may vary.
--->
-
-まず, モデムがどのシリアルポートにつながっているか決めましょう. 私は
-<tt>/dev/modem -&gt; cuaa1</tt>というシンボリックリンクを張り,
-コンフィグレーションではその名前だけを使っています. <tt>/etc</tt>
-や<tt>.kermrc</tt>など、システム全体に散らばっているファイルを修正する
-必要がでるとまったく煩わしいのです!(ここで, <tt>/dev/cuaa0</tt>は
-COM1であり, <tt>cuaa1</tt>はCOM2です.)
-
-カーネルのコンフィグレーションファイルに
-<verb>
-pseudo-device sl 1
-</verb>
-という記述があるのを確認してください. これはGENERICカーネルに含まれている
-ので削除していない限り大丈夫でしょう.
-
-<sect1><heading>最初の設定</heading>
-
-<p><enum>
-<item><tt>/etc/hosts</tt>ファイルにあなたのマシンのゲートウェイとネームサーバ
- を加えてください. 私のは以下のようになっています.
-<verb>
-127.0.0.1 localhost loghost
-136.152.64.181 silvia.HIP.Berkeley.EDU silvia.HIP silvia
-
-136.152.64.1 inr-3.Berkeley.EDU inr-3 slip-gateway
-128.32.136.9 ns1.Berkeley.edu ns1
-128.32.136.12 ns2.Berkeley.edu ns2
-</verb>
- 余談ですが, silviaというのは私が日本にいた時に持っていた
- 車の名前です(米国では2?0SXと呼ばれています).
-
-<item><tt>/etc/host.conf</tt>ファイル中で"hosts"が"bind"よりも前にあること
- を確認してください. さもないとヘンなことが起こるかもしれません.
-
-
-<item><tt>/etc/sysconfig</tt>ファイルを編集してください.
-<enum>
-<item>行
-<verb>
-hostname=myname.my.domain
-</verb>
- を編集してホスト名をセットしてください.
- 完全なInternetホスト名を与えるべきです.
-
-<item>行
-<verb>
-network_interfaces="lo0"
-</verb>
-を
-<verb>
-network_interfaces="lo0 sl0"
-</verb>
-へ変更することによりネットワークインタフェースのリストにsl0を加えてください.
-
-<item>行
-<verb>
-ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"
-</verb>
-を加えてsl0のスタートアップフラグをセットしてください.
-
-<item>行
-<verb>
-defaultrouter=NO
-</verb>
-を
-<verb>
-defaultrouter=slip-gateway
-</verb>
-へ変更してデフォルトのルータを指定してください.
-</enum>
-
-<item> 次の
-<verb>
-domain HIP.Berkeley.EDU
-nameserver 128.32.136.9
-nameserver 128.32.136.12
-</verb>
- という内容を含むファイル <tt>/etc/resolv.conf</tt> を作ってください.
- 見ればわかるように, これらはネームサーバホストを設定しています.
- もちろん, 実際のドメイン名やアドレスはあなたの環境に依存します.
-
-<item>rootとtoor(及びパスワードを持っていない他のアカウントすべて)のパスワード
- を設定してください. passwdコマンドを使いましょう. <tt>/etc/passwd</tt>
- や <tt>/etc/master.passwd</tt> といったファイルを編集してはいけません!
-
-<item>マシンを再起動して正しいホスト名で立ち上がることを確認してください.
-</enum>
-
-<sect1><heading>SLIP接続をおこなう</heading>
-
-<p><enum>
-<item>モデムを起動、つながったらプロンプトで"slip"とタイプし, マシン名と
- パスワードを入力してください. 入力する必要があるものは環境に
- よって異なります. 私は次のようなスクリプトでkermitを使っています.
-<verb>
-# kermit setup
-set modem hayes
-set line /dev/modem
-set speed 115200
-set parity none
-set flow rts/cts
-set terminal bytesize 8
-set file type binary
-# The next macro will dial up and login
-define slip dial 643-9600, input 10 =>, if failure stop, -
-output slip\x0d, input 10 Username:, if failure stop, -
-output silvia\x0d, input 10 Password:, if failure stop, -
-output ***\x0d, echo \x0aCONNECTED\x0a
-</verb>
- (もちろん, ホスト名とパスワードは変える必要があります).
- 接続するためにはkermitのプロンプトで"slip"とタイプするだけです.
-
- <bf>注意</bf>: ファイルシステムのどんなところにもプレインテキスト
- にパスワードを書いておくのは一般的にはよくありません. 覚悟の上で
- やってください. 私は単に不精なだけです.
-
-<item>ここでkermitから抜け出し("z"でkermitをサスペンドできます), root
- で
-<verb>
-slattach -h -c -s 115200 /dev/modem
-</verb>
- と入力しましょう.
- もしルータの向う側のホストへ"ping"できるなら接続成功です! もしうまく
- いかなければslattachへの引数として"-c"の代わりに"-a"とやってみてください.
-</enum>
-
-<sect1><heading>接続の切り方</heading>
-
- <p>slattachを殺すためにrootで "kill -INT `cat /var/run/slattach.modem.pid`"
- とタイプしてください. そしてkermitに戻り(もしkermitをサスペンドしていたなら
- "fg"), kermitから抜けてください("q").
-
- slattachのマニュアルページにはインタフェースを落すために
- "ifconfig sl0 down"をしなければいけないと書いていますが,
- 私には差がないように見えます.
- ("ifconfig sl0"とやっても同じ結果が得られる.)
-
- 時にはモデムがキャリアを落すのを拒絶するかもしれません(私のは
- よくそうなります). その時は単にkermitをスタートしてまた終了
- してください.
- 普通は2回目で落ちます.
-
-<sect1><heading>トラブルシューティング</heading>
-
-<p>もし動かなければ自由に私に質問してください. 今までいろんな人がつまずいた
-のは次のようなことです.
-<itemize>
-<item>slattachで"-c"や"-a"を使わなかった(私はなぜこれが致命的になり得るのか
- わかりませんが, このフラグを付けることで少なくとも一人の問題は解決しました.)
-
-<item>"sl0"の代わりに"s10"を使った(いくつかのフォントでは見分けるのは難しい
- かもしれません).
-
-<item>インタフェースの状態を見るために"ifconfig sl0"をやってみてください.
- 私は,
-<verb>
-silvia# ifconfig sl0
-sl0: flags=10<POINTOPOINT>
- inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00
-</verb>
- となります.
-
-<item>また, pingが"no route to host"というメッセージを返す時には
- <tt>netstat -r</tt>でルーティングテーブルを確認しましょう。
- 私のは,
-<verb>
-silvia# netstat -r
-Routing tables
-Destination Gateway Flags Refs Use IfaceMTU Rtt
-Netmasks:
-(root node)
-(root node)
-
-Route Tree for Protocol Family inet:
-(root node) =>
-default inr-3.Berkeley.EDU UG 8 224515 sl0 - -
-localhost.Berkel localhost.Berkeley UH 5 42127 lo0 - 0.438
-inr-3.Berkeley.E silvia.HIP.Berkele UH 1 0 sl0 - -
-silvia.HIP.Berke localhost.Berkeley UGH 34 47641234 lo0 - 0.438
-(root node)
-</verb>
- となります.
-(これはたくさんのファイルを転送した後でのもので, あなたの見る数字はもっと小さいかも
-しれません).
-</itemize>
diff --git a/share/doc/ja_JP.EUC/handbook/slips.sgml b/share/doc/ja_JP.EUC/handbook/slips.sgml
deleted file mode 100644
index 74fb32f..0000000
--- a/share/doc/ja_JP.EUC/handbook/slips.sgml
+++ /dev/null
@@ -1,514 +0,0 @@
-<!-- $Id: slips.sgml,v 1.4 1997/02/22 13:01:58 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.13 -->
-
-<!-- This is an SGML version in the linuxdoc DTD of the SLIP Server
- FAQ by Guy Helmer.
-
- This guide provides instruction in configuring and preparing
- a FreeBSD system to be a dialup SLIP server.
-
-<title>
-FreeBSDを SLIPサーバとしてセットアップするには
-<author>Guy Helmer, <tt/ghelmer@alpha.dsu.edu/
-<date>v1.0, 15 May 1995
-
--->
-
-<sect><heading>SLIPサーバのセットアップ方法<label id="slips"></heading>
-<p><em>原作: &a.ghelmer;.<newline>
-v1.0, 15 May 1995.</em>
-<p><em>訳: &a.ts;.<newline>6 September 1996.</em>
-
-この文書の目的は, SLIPサーバ機能を FreeBSDシステムのもとで設定するため
-の助言を提供することです. SLIPサーバ機能を設定するということは, リモー
-トの SLIPクライアントがログインできるようにするために, 自動的に接続処
-理をおこなうようにすることです. この文書は著者の経験に基づいておりますが,
-実際のシステム構成や要望は異なりますから, すべての疑問にこの文書が答え
-ることはできません. なお, ここでの助言を試みた結果, あなたのシステムへ
-の悪影響やデータの損失が生じたとしても, 著者が責任を持つことはできませ
-んのでご了解をお願いします.
-
-当初この文書は, FreeBSD 1.xシステムでの SLIPサーバ機能のために書きまし
-た. その後, FreeBSD 2.xの初期バージョンでのパス名の変更や SLIPインタフェー
-ス向け圧縮フラグの削除といった変更点を反映するために, 書き換えをおこないま
-した. これらが FreeBSDのバージョン間の主要な変更点だったからです. もし
-この文書の間違いを見つけられましたら, ぜひ, 訂正に十分な情報とともに電
-子メールでお知らせいただければ助かります.
-
-<sect1><heading>前提<label id="slips:prereqs"></>
-
-<p>
-この文書の内容はテクニカルなものなので, 前提知識が必要です. すなわち,
-TCP/IPネットワークプロトコルについての知識, 特に, ネットワークとノード
-のアドレス指定をはじめ, ネットワークアドレスマスク, サブネット化, ルー
-ティング, および RIPなどのルーティングプロトコルなどに関する知識を前提
-としています. ダイヤルアップサーバで SLIP機能を設定するためには, これ
-らの概念についての知識が必要ですから, もし不案内であると思われる方は,
-O'Reilly &amp; Associates, Inc.から出版されている Craig Hunt氏の
-<em>TCP/IP Network Administration</em> (ISBN 0-937175-82-X)か, または
-Douglas Comer氏の TCP/IPプロトコルに関する一連の書籍をお読みください.
-
-前提知識に加え, さらに, モデムの設定が完了しており, そのモデムを経由し
-てログインできるように, システムファイル群が適切に記述できているものと
-仮定しています. もしモデムの準備ができていないときには, あらかじめダイヤ
-ルアップ機能の設定についてのチュートリアルをお読みください. Webブラ
-ウザが使えるのであれば<tt>http://www.freebsd.org/</tt> におけるチュー
-トリアルの一覧を調べてください. あるいは, この文書を見つけた場所を調べ
-て, <tt/dialup.txt/ やそれに類似した名前の文書をお読みください. 関連す
-るマニュアルページとしては, シリアルポート向けデバイスドライバについて
-の <tt/sio(4)/ をはじめ, モデムからのログインを受理できるようにシステ
-ムを設定するための <tt/ttys(5)/, <tt/gettytab(5)/, <tt/getty(8)/,
-<tt/init(8)/ など, さらには, シリアルポート関連パラメタ &lsqb; たと
-えば直接接続シリアルインタフェースの <tt/clocal/ &rsqb; についての
-<tt/stty(1)/ なども助けになるかもしれません.
-
-<sect1><heading>概要</heading>
-
-<p>
-一般的な設定内容で FreeBSDを SLIPサーバとして利用すると, その動作は次
-のようになります. まず, SLIPユーザが FreeBSD による SLIPサーバへ電話し
-て, SLIP専用IDでログインします. なお, このIDを持ったユーザはシェルとし
-て <tt>/usr/sbin/sliplogin</tt> を使います. この <tt/sliplogin/ は, ファ
-イル <tt>/etc/sliphome/slip.hosts</tt> の中から, ログインIDと一致する
-記述行を探します. もし一致する行があれば, ログインしたシリアル回線を,
-利用可能な SLIPインタフェースへ接続し, その後にシェルスクリプト
-<tt>/etc/sliphome/slip.login</tt> で SLIPインタフェースを設定します.
-
-<sect2><heading>SLIPサーバへのログイン例</heading>
-
-<p>
-仮に SLIPユーザIDが <tt>Shelmerg</tt> とします. すると,
-<tt>/etc/master.passwd</tt> における <tt/Shelmerg/ のエントリは次のよ
-うなものになります (実際には一つの行に続いている) .
-
-<tscreen><verb>
-Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:
- /usr/users/Shelmerg:/usr/sbin/sliplogin
-</verb></tscreen>
-
-<tt/Shelmerg/ がログインすると, <tt>sliplogin</tt> は, ファイル
-<tt>/etc/sliphome/slip.hosts</tt> からユーザIDと一致する行を探しま
-す. いま仮に, <tt>/etc/sliphome/slip.hosts</tt> に次のような記述がなさ
-れていたとします.
-
-<tscreen><verb>
-Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
-</verb></tscreen>
-
-<tt/sliplogin/ が上記のエントリを見つけると, <tt/Shelmerg/ が使用して
-いるシリアル回線を, 利用可能な SLIPインタフェースのなかの最初のものへ
-接続し, 次の内容の <tt>/etc/sliphome/slip.login</tt> を実行します.
-
-<tscreen><verb>
-/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
-</verb></tscreen>
-
-もし上記の手順が正常に処理されると, <tt>/etc/sliphome/slip.login</tt>
-は, <tt/sliplogin/ が割り当てた SLIPインタフェース (この例では
-<tt>slip.login</tt> で与えられたパラメタのうちで最初の値である SLIP
-インタフェース0である) に対して <tt>ifconfig</tt> を実行し, ローカル
-IPアドレス (<tt>dc-slip</tt>)をはじめ, リモート IPアドレス
-(<tt>sl-helmer</tt>), SLIPインタフェースへのネットワークマスク
-(<tt>0xfffffc00</tt>), およびその他のフラグ (<tt>autocomp</tt>)を設定
-します. 逆に, さきほどの手順が正常に終了しなかった場合, 通常は
-<tt/sliplogin/ は十分な情報を syslogデーモン機能経由で
-<tt>/var/log/messages</tt> へ記録します ( <tt>syslogd(8)</tt> や
-<tt>syslog.conf(5)</tt> のマニュアルページを参照のうえ, さらに
-<tt>/etc/syslog.conf</tt> を調べて <tt>syslogd</tt> がどのファイルへ記
-録するかを確認のこと) .
-
-例はこのくらいにして, さっそくシステムのセットアップを始めてみましょう.
-
-<sect1><heading>カーネルのコンフィグレーション</heading>
-
-<p>
-FreeBSDのデフォルトのカーネルには, 通常, 二つの SLIPインタフェースが
-準備されています (<tt>sl0</tt> と <tt>sl1</tt>) . これらのインタフェー
-スが使用中のカーネルに準備されているかどうかを調べるには,
-<tt>netstat -i</tt> を実行してください.
-
-<tt>netstat -i</tt> の出力例
-
-<tscreen><verb>
-Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
-ed0 1500 <Link>0.0.c0.2c.5f.4a 291311 0 174209 0 133
-ed0 1500 138.247.224 ivory 291311 0 174209 0 133
-lo0 65535 <Link> 79 0 79 0 0
-lo0 65535 loop localhost 79 0 79 0 0
-sl0* 296 <Link> 0 0 0 0 0
-sl1* 296 <Link> 0 0 0 0 0
-</verb></tscreen>
-
-<tt>netstat -i</tt> の出力に <tt>sl0</tt> と <tt>sl1</tt> のインタフェー
-スが含まれているということから, カーネルには二つの SLIPインタフェー
-スが組み込まれているということを示しています. (<tt>sl0</tt> と
-<tt>sl1</tt> に付いたアスタリスクは, <tt>netstat -i</tt> の実行時点で
-はインタフェースがダウンしていることを表しています. )
-
-なお, パケットのフォワード機能はFreeBSDのデフォルトのカーネルでは設定
-されていません (すなわちルータとしては動作しない) . もしインターネット
-接続ホストについての RFC要件 ( RFC 1009 &lsqb;Requirements for
-Internet Gateways&rsqb;, 1122 &lsqb;Requirements for Internet Hosts --
-Communication Layers&rsqb;, and perhaps 1127 &lsqb;A Perspective on
-the Host Requirements RFCs&rsqb; ) に準拠して, FreeBSDによる SLIPサー
-バをルータとして動作させたいときには, <tt>/etc/sysconfig</tt> ファイル
-の <bf>gateway</bf> 変数を <tt>YES</tt> としてください. もし古いシステ
-ムのために <tt>/etc/sysconfig</tt> ファイルがないときには, 次のコマン
-ドを <tt>/etc/rc.local</tt> へ追加してください.
-
-<verb>
-sysctl -w net.inet.ip.forwarding = 1
-</verb>
-
-
-<p>
-この新しい設定を有効とするには, リブートする必要があります.
-
-<p>
-デフォルトのカーネルコンフィグレーションファイル
-(<tt>/sys/i386/conf/GENERIC</tt>) の最後の部分に, 次のような行がありま
-す.
-
-<tscreen><verb>
-pseudo-device sl 2
-</verb></tscreen>
-
-この行によって, 使用可能な SLIPデバイスの総数が決まります. すなわち, 行
-末の数値が, 同時に動作可能な SLIP接続の最大数となります.
-
-カーネルの再構築については, <ref id="kernelconfig" name="FreeBSDカー
-ネルのコンフィグレーション"> を参照ください.
-
-<sect1><heading>Sliploginのコンフィグレーション</heading>
-
-<p>
-すでにご説明したように, <tt>/usr/sbin/sliplogin</tt> のコンフィグレー
-ションのために, 3種類のファイルが<tt>/etc/sliphome</tt> ディレクトリに
-あります (<tt>sliplogin</tt> についての実際のマニュアルページとしては
-<tt>sliplogin(8)</tt> を参照のこと) . ファイル <tt>slip.hosts</tt> は
-SLIPユーザおよびその IPアドレスを決めます. 通常, ファイル
-<tt>slip.login</tt> は, SLIPインタフェースを設定することだけに使
-用します. <tt>slip.logout</tt> はオプションのファイルで,
-<tt>slip.login</tt> で設定した内容を, シリアル接続が終了した時点で解除
-するときに使用します.
-
-<sect2><heading>slip.hostsのコンフィグレーション</heading>
-
-<p>
-<tt>/etc/sliphome/slip.hosts</tt> には, 少なくとも 4 つの項目をホワイ
-トスペース (スペースやタブ) で区切って指定します.
-
-<itemize>
-<item> SLIPユーザのログインID
-<item> SLIPリンクのローカル (SLIPサーバ側) アドレス
-<item> SLIPリンクのリモートアドレス
-<item> ネットワークマスク
-</itemize>
-
-ホスト名をローカルおよびリモートのアドレスとして記述できます (IPアドレ
-スの決定は, <tt>/etc/host.conf</tt> の指定内容に応じて,
-<tt>/etc/hosts</tt> か DNSのいずれかによって決定される) . また, ネット
-ワークマスクも <tt>/etc/networks</tt> ファイルに記述された名前を参照す
-ることで, 指定することもできると思います. これまでの例としてあげたシス
-テムでの <tt>/etc/sliphome/slip.hosts</tt> は次のようになります.
-
-<tscreen><verb>
------ begin /etc/sliphome/slip.hosts -----
-#
-# login local-addr remote-addr mask opt1 opt2
-# (normal,compress,noicmp)
-#
-Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp
------ end /etc/sliphome/slip.hosts ------
-</verb></tscreen>
-
-それぞれの行の最後には, 次に示すオプションを一つ以上指定できます.
-
-<itemize>
-<item> <tt>normal</tt> - ヘッダを圧縮しない
-<item> <tt>compress</tt> - ヘッダを圧縮する
-<item> <tt>autocomp</tt> - リモートの設定に応じて, ヘッダを圧縮する
-<item> <tt>noicmp</tt> - ICMPパケットを禁止する (pingパケットは送出されず, バンド幅を占有しない)
-</itemize>
-
-なお, FreeBSDバージョン2の初期リリースの <tt/sliplogin/ は, 旧
-FreeBSD 1.xでは有効であった上記のオプションを無視していましたので,
-<tt/normal/, <tt/compress/, <tt/autocomp/, そして <tt/noicmp/ などのオ
-プションは FreeBSD 2.2でサポートされるまでは効果がありませんでした (た
-だしこれらのフラグを使うためには <tt/slip.login/ スクリプトへ記述する
-必要がある) .
-
-SLIPリンクでのローカルとリモート向けのアドレスの選び方は, TCP/IPサブネッ
-トを専用に割り当てるか, または「プロキシ ARP」を SLIPサーバへ用いるかによっ
-て違います (プロキシ ARPという用語のここでの使い方は本来のものではない
-が, 説明のためにこの用語を使う) . もし, どちらの方式を選ぶべきか判らな
-かったり, IPアドレスの割り当て方が不明のときには, 上述の <ref
-id="slips:prereqs" name="前提"> の節で紹介した TCP/IP関連書籍を参考になさるか,
-またはあなたの IPネットワークを管理している方に相談なさるとよいでしょう.
-
-独立したサブネットを SLIPクライアントへ適用するときには, すでに割り当
-てられている IPネットワーク番号の範囲からサブネット番号を割り当て, 同
-時にそのサブネットの範囲内で有効な IPアドレスを SLIPクライアントの IP
-番号として割り当てる必要があります. さらに, この SLIPサブネットから
-SLIPサーバを経由して最も近い IPルータへの経路を静的に設定するか, また
-は <tt>gated</tt> を FreeBSDによる SLIPサーバへインストールして, 適当
-なルーティングプロトコルを使って, SLIPサーバ経由のサブネットへの経路情
-報をルータ群へ通知できるように設定するか, のいずれかをおこなう必要がありま
-す.
-
-「プロキシ ARP」方式を採用するときには, SLIPクライアント向けの IPアドレス
-として, SLIPサーバのサブネットの範囲から選んで割り当てるとともに,
-<tt>arp(8)</tt> コマンドを使うために <tt>/etc/sliphome/slip.login</tt>
-と<tt>/etc/sliphome/slip.logout</tt> のスクリプトを修正して, SLIPサー
-バにおける ARPテーブル内のプロキシ ARPエントリへ反映させる必要がありま
-す.
-
-<sect2><heading>slip.loginのコンフィグレーション</heading>
-
-<p>
-ファイル <tt>/etc/sliphome/slip.login</tt> の一般的な内容は次にように
-なります.
-
-<tscreen><verb>
------ begin /etc/sliphome/slip.login -----
-#!/bin/sh -
-#
-# @(#)slip.login 5.1 (Berkeley) 7/1/90
-
-#
-# generic login file for a slip line. sliplogin invokes this with
-# the parameters:
-# 1 2 3 4 5 6 7-n
-# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
-#
-/sbin/ifconfig sl$1 inet $4 $5 netmask $6
------ end /etc/sliphome/slip.login -----
-</verb></tscreen>
-
-この <tt>slip.login</tt> ファイルの役目は単に, SLIPインタフェースにつ
-いてのローカルとリモートのアドレス, およびそのネットワークマスクを
-<tt>ifconfig</tt> コマンドで設定することです.
-
-もしプロキシ ARP方式を採用する (SLIPクライアントへ独立したサブネットを
-使わない) ときには, ファイル <tt>/etc/sliphome/slip.login</tt> は次の
-ような内容になります.
-
-<tscreen><verb>
------ begin /etc/sliphome/slip.login for "proxy ARP" -----
-#!/bin/sh -
-#
-# @(#)slip.login 5.1 (Berkeley) 7/1/90
-
-#
-# generic login file for a slip line. sliplogin invokes this with
-# the parameters:
-# 1 2 3 4 5 6 7-n
-# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
-#
-/sbin/ifconfig sl$1 inet $4 $5 netmask $6
-# Answer ARP requests for the SLIP client with our Ethernet addr
-/usr/sbin/arp -s $5 00:11:22:33:44:55 pub
------ end /etc/sliphome/slip.login for "proxy ARP" -----
-</verb></tscreen>
-
-この <tt>slip.login</tt> で追加された行
-<tt>arp -s &dollar;5 00:11:22:33:44:55 pub</tt> は,
-SLIPサーバにおける ARPテーブルへ新たなエントリを作ります. SLIPサーバ
-は, この ARPエントリが作られると, SLIPクライアントの IPアドレスと話し
-たい他の IPノードが要求してきたときにはいつも, SLIPサーバ
-の Ethernet MACアドレスを返すようになります.
-
-上記の例を実際に流用なさるときには, 例にある Ethernet MACアドレス
-(<tt>00:11:22:33:44:55</tt>) を, あなたのシステムの実際のEthernetカー
-ドの MACアドレスと置き換えなければ「プロキシ ARP」はうまく動作しません!
-SLIPサーバの Ethernet MACアドレスを調べるには <tt>netstat -i</tt> コマ
-ンドを利用してください. 実行結果の第2行は次のようなものになるはずです.
-
-<tscreen><verb>
-ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116
- ^^^^^^^^^^^^^^^
-</verb></tscreen>
-
-この例での Ethernet MACアドレスは <tt>00:02:c1:28:5f:4a</tt> であると
-読みます. なお <tt>arp(8)</tt> における MACアドレスの指定に際しては,
-コマンド <tt>netstat -i</tt> が付けた Ethernet MACアドレスのピリオド記
-号をコロン記号と置き換え, かつ単一桁の 16 進数にはゼロを先頭に加える必
-要があります. この指定についての正確な情報は <tt>arp(8)</tt> を参照く
-ださい.
-
-ご注意いただきたいのは, <tt>/etc/sliphome/slip.login</tt> と
-<tt>/etc/sliphome/slip.logout</tt> を作成したならば, ファイル属性の実
-行ビット (すなわち
-<tt>chmod 755 /etc/sliphome/slip.login /etc/sliphome/slip.logout</tt>) を
-設定しなければならないということです. さもなければ <tt>sliplogin</tt> が
-うまく実行されません.
-
-<sect2><heading>slip.logoutのコンフィグレーション</heading>
-
-<p>
-ファイル <tt>/etc/sliphome/slip.logout</tt> は必ずしも必要なものではあ
-りません (ただし「プロキシ ARP」を利用する場合を除く) . もしこのファイルを
-作成するときには, 次に示す標準的な <tt>slip.logout</tt> スクリプト例を
-参考にしてください.
-
-<tscreen><verb>
------ begin /etc/sliphome/slip.logout -----
-#!/bin/sh -
-#
-# slip.logout
-
-#
-# logout file for a slip line. sliplogin invokes this with
-# the parameters:
-# 1 2 3 4 5 6 7-n
-# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
-#
-/sbin/ifconfig sl$1 down
------ end /etc/sliphome/slip.logout -----
-</verb></tscreen>
-
-「プロキシ ARP」を利用する場合, この <tt>/etc/sliphome/slip.logout</tt> を
-使って, 特定の SLIPクライアント向けの ARPエントリを削除したくなるよう
-なときがあります.
-
-<tscreen><verb>
------ begin /etc/sliphome/slip.logout for "proxy ARP" -----
-#!/bin/sh -
-#
-# @(#)slip.logout
-
-#
-# logout file for a slip line. sliplogin invokes this with
-# the parameters:
-# 1 2 3 4 5 6 7-n
-# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
-#
-/sbin/ifconfig sl$1 down
-# Quit answering ARP requests for the SLIP client
-/usr/sbin/arp -d $5
------ end /etc/sliphome/slip.logout for "proxy ARP" -----
-</verb></tscreen>
-
-コマンド <tt>arp -d &dollar;5</tt> は, SLIPクライアントがログインした
-際に, 「プロキシ ARP」を使った <tt>slip.login</tt> によって追加され
-た ARPエントリを削除します.
-
-これによって, 繰り返して利用することができるわけです. 必ず,
-<tt>/etc/sliphome/slip.logout</tt> を作成した後に, 実行ビットを設定し
-てください ( <tt>chmod 755 /etc/sliphome/slip.logout</tt> ) .
-
-<sect1><heading>ルーティングについての考慮点</heading>
-
-<p>
-「プロキシ ARP」方式を利用せずに SLIPクライアントとその他のネットワーク
-(Internetも含む) の構成要素との間でパケットをルーティングするときには,
-SLIPサーバ経由で SLIPクライアントが属するサブネットまでの経路を, 最も
-近いデフォルトのルータ群へ静的な経路情報として追加しなければならないか,
-または <tt>gated</tt> を FreeBSDによる SLIPサーバへインストールして,
-SLIP サブネットについての経路情報を, 適当なルーティングプロトコルでルー
-タ群へ通知できるように設定するか、のどちらかをおこなわなければなりません.
-
-<sect2><heading>静的な経路</heading>
-
-<p>
-静的な経路を最も近いデフォルトのルータ群へ追加することが困難なことがあ
-ります (経路情報を追加できる権限がなければそもそも不可能となる). もし
-あなたの組織に複数のルータで構成されたネットワークがあるならば, ある種
-のルータ (たとえば Ciscoや Proteonなど) は, 静的な経路を SLIPサブネッ
-トへ使うようにルータを設定しなければならないだけでなく, その静的経路を
-他のどのルータへ知らせるのかもあらかじめ指定しておく必要がありますから,
-静的経路に基づくルーティングを軌道に乗せるにはそれなりの専門的技術やト
-ラブルシューティングやコツが必要だと思います.
-
-<sect2><heading>gatedの稼働</heading>
-
-<p>
-静的経路についての頭痛への代替手段は, <tt>gated</tt> を FreeBSDによる SLIPサー
-バへインストールして, 適切なルーティングプロトコル (RIP/OSPF/BGP/EGP)
-を使って SLIPサブネットについての経路情報を他のルータへ知らせるように
-設定することです. <tt>gated</tt> は, 匿名FTPを使って,
-<tt>ftp.gated.cornell.edu</tt> の <tt>/pub/gated</tt> ディレクトリから
-入手できます. このチュートリアルを執筆時点の最新バージョンは
-<tt>gated-R3_5Alpha_8.tar.Z</tt> であり, このファイルだけで FreeBSDで
-動作させることができます. <tt>gated</tt> についてのすべての情報と文書
-は <tt>http://www.gated.cornell.edu/</tt> からはじまる Web上で入手でき
-ます. <tt>gated</tt> のコンパイルとインストールを行ったならば, 独自の
-設定のために <tt>/etc/gated.conf</tt> ファイルを記述してください. 次の
-例は, 筆者が FreeBSDによる SLIPサーバで使っている内容と類似のものです.
-
-<tscreen><verb>
------ begin sample /etc/gated.conf for gated version 3.5Alpha5 -----
-#
-# gated configuration file for dc.dsu.edu; for gated version 3.5alpha5
-# Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface
-#
-#
-# tracing options
-#
-traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;
-
-rip yes {
- interface sl noripout noripin ;
- interface ed ripin ripout version 1 ;
- traceoptions route ;
-} ;
-
-#
-# Turn on a bunch of tracing info for the interface to the kernel:
-kernel {
- traceoptions remnants request routes info interface ;
-} ;
-
-#
-# Propagate the route to xxx.xxx.yy out the Ethernet interface via RIP
-#
-
-export proto rip interface ed {
- proto direct {
- xxx.xxx.yy mask 255.255.252.0 metric 1; # SLIP connections
- } ;
-} ;
-
-#
-# Accept routes from RIP via ed Ethernet interfaces
-
-import proto rip interface ed {
- all ;
-} ;
-
------ end sample /etc/gated.conf -----
-</verb></tscreen>
-
-この <tt>gated.conf</tt> ファイルの例では, SLIPのサブネット
-<tt>xxx.xxx.yy</tt> についての経路情報を RIPを使って Ethernetへブロー
-ドキャストしています. もし <tt/ed/ ドライバ以外の Ethernetドライバを使
-うのであれば, <tt/ed/ インタフェースの記述を適切なものに置き換えてくだ
-さい. またこの例では, <tt>gated</tt>の動作をデバッグするために,
-<tt>/var/tmp/gated.output</tt> へトレース情報を出力するように指示して
-います. <tt>gated</tt> が希望通りに動作したならば, このトレースオプショ
-ンを止めることができます. なお, 例における <tt>xxx.xxx.yy</tt> を, あ
-なた自身の SLIPサブネットのネットワークアドレスに換えてください (また
-<tt>proto direct</tt> 部分のネットワークマスクも換えることを忘れないこ
-と) .
-
-<tt>gated</tt> のコンパイルとインストールが終了し, コンフィグレーショ
-ンファイルの作成も完了したら, FreeBSDシステムではデフォルトの
-<tt>routed</tt>に代わって <tt>gated</tt> を起動してください. そのため
-には, <tt>/etc/netstart</tt> の <tt>routed/gated</tt> 起動パラメタを
-適切な値に設定してください. <tt>gated</tt> のコマンドラインパラメタにつ
-いての情報は, <tt>gated</tt> のマニュアルページを参照してください.
-
-<sect1><heading>謝辞</heading>
-
-<p>
-このチュートリアルについてのコメントやアドバイスを寄せてくれた次の方々
-に感謝します.
-
-<descrip>
-<tag/&a.wilko;/
-
-<tag/Piero Serini/ &lt;Piero@Strider.Inet.IT&gt;
-</descrip>
-
-<!-- </article> -->
diff --git a/share/doc/ja_JP.EUC/handbook/stable.sgml b/share/doc/ja_JP.EUC/handbook/stable.sgml
deleted file mode 100644
index c1a9731..0000000
--- a/share/doc/ja_JP.EUC/handbook/stable.sgml
+++ /dev/null
@@ -1,108 +0,0 @@
-<!-- $Id: stable.sgml,v 1.7 1997/03/21 09:22:24 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.12 -->
-
-<sect><heading>FreeBSD の安定状態の持続<label id="stable"></heading>
-
-<p><em>原作: &a.jkh;.</em>
-<p><em>訳: &a.iwasaki;.</em>
-
-<!--
-
- THE FREEBSD STABLE POLICY
-
-Last updated: $Date: 1997/03/21 09:22:24 $
-
-This document attempts to explain the rationale behind
-FreeBSD-stable, what you should expect should you decide to run it,
-and states some prerequisites for making sure the process goes as
-smoothly as possible.
--->
-
-<sect1><heading>FreeBSD-stable ってなに?</heading>
-
-<p>FreeBSD-stable は, 次の本流のリリースを目指した新機能をあまり採り入
-れない保守的な変更のための開発の支流です. 実験的またはテスト未完の変更
-はこの支流には取り入れられません (<ref id="current" name="最新の
-FreeBSD を追いかける"> 参照).
-
-<sect1><heading>誰が FreeBSD-stable を必要としているの?</heading>
-
-<p>もしあなたが仕事で使用しているとか, なによりも FreeBSD システムの安
-定性を最重要視するなら, <em>stable</em> を追いかけることを考えるべきで
-しょう. <em>stable</em>の支流は前のリリースに関して効果的にバグフィッ
-クスされた流れであるため, 最新のリリース (<htmlurl
-url="ftp://ftp.freebsd.org/pub/FreeBSD/2.1.7-RELEASE"
-name="2.1.7-RELEASE"> 執筆時点) をインストールしているのであれば, 特に
-そうです.
-
-<p><em>stable</em> ツリーが常に完全に互換性があり安定するように努力し
-ていますが, たまに間違いがあることに注意してください (結局, 内容が吟味
-されずに素早く送られた変更を含むソースがまだあるのです). また,
-<em>current</em> を <em>stable</em> へ移行する前に完璧なテストフィック
-スに最善を尽くしますが, 私たちのテストはすべてのケースを十分に網羅して
-いるとは限りません. もし何か <em>stable</em> で不具合があるようでした
-ら, 私たちに<em>すぐに</em>教えてください (次の節参照).
-
-<sect1><heading>FreeBSD-stable を使う</heading>
-
- <p><enum><item> &a.stable へ加わってください. このメーリングリスト
- では, <em>stable</em> の構築に関連する事柄や, その他の注意すべき点
- に関する情報が流れています. また開発者は議論の余地がある修正や変更
- を考えている場合に, このメーリングリストで公表し, 提案された変更に
- 関して問題が生じるかどうかを返答する機会をユーザに与えます.
-
- メーリングリストに参加するには, &a.majordomo へメッセージの本文に
- 次のように書いたメールを送ってください:
-<verb>
- subscribe freebsd-stable
-</verb>
- オプションとして本文に `help' と書けば, Majordomo は私たちがサポー
- トする様々なメーリングリストに参加 / 脱退する方法に関する詳しいヘ
- ルプを送付します.
-
- <item> ftp.FreeBSD.ORG からのソースの入手. 以下の 3つの方法で
- おこなうことができます :
-
- <enum>
- <item> <ref id="ctm" name="CTM"> 機能を使用する. 転送レートが
- 安定している TCP/IP 接続でない場合は, この方法が適して
- います.
-
- <item> <ref id="cvsup" name="cvsup"> を
- <url url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/stable-supfile" name="この supfile">
- を用いて使用する. 一度コレクション全体を入手してしまえば,
- 前回からの変更部分だけですむので, 2番目に推奨される方法で
- す. 多くの人が cron から cvsup を実行し, 自動的にソースコー
- ドを最新の状態に保っています.
-
- <item> ftp を使用する. FreeBSD-stable 用のソースツリーは
- 常に次のところで「公開」されています :
- <htmlurl url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-stable"
- name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-stable">
-
- <p>私たちはまた, tar/compress でツリー全体を入手できる
- `wu-ftpd' を使用しています. 例えば :
-<verb>
- usr.bin/lex
-</verb>
- に対して:
-<verb>
- ftp> cd usr.bin
- ftp> get lex.tar.Z
-</verb>
- とすることにより, ディレクトリ全体を compress された tar
- ファイルとして入手することができます.
- </enum>
-
- <item> 基本的には, ソースに迅速でオンデマンドなアクセスが必要で,
- 接続のバンド幅が問題でなければ, cvsup か ftp を使いましょう. そうで
- ない場合は CTM を使いましょう.
-
- <item> stable をコンパイルする前に, /usr/src にある Makefile をよ
- く読んでください. 少なくとも一回はアップグレードの処理の一部として
- 最初に `make world' を実行するべきでしょう. &a.stable を読めば, 次
- のリリースに移行するに当たって時々必要となる既存システムからの新シ
- ステムの構築手順についての最新情報が得られるでしょう.
-
-</enum>
diff --git a/share/doc/ja_JP.EUC/handbook/submitters.sgml b/share/doc/ja_JP.EUC/handbook/submitters.sgml
deleted file mode 100644
index cc4bcab..0000000
--- a/share/doc/ja_JP.EUC/handbook/submitters.sgml
+++ /dev/null
@@ -1,694 +0,0 @@
-<!-- $Id: submitters.sgml,v 1.9 1997/04/30 06:43:05 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.53 -->
-
-<chapt><heading>FreeBSD への貢献<label id="submitters"></heading>
-
-<p><em>原作: &a.jkh;.</em>
-<p><em>訳: &a.iwasaki;.<newline>27 April 1997.</em>
-
-<p>あなたも何か FreeBSD のために貢献したくなりましたか? 素晴らしい!
-私たちは常に支援を受ける用意がありますし, FreeBSD は生き残るためにユー
-ザベースの貢献に<em>頼る</em>ようなシステムの一つです. あなたの貢献は
-感謝されるだけではなく, FreeBSD が成長し続けるために極めて重要なものな
-のです!
-
-<p>一部の人達が言っているのとは逆に, 貢献を受け付けてもらうために腕利
-きのプログラマーになるとか FreeBSD コアチームの人と親友になる必要はあ
-りません. FreeBSD プロジェクトの開発は, 多くのそして益々増加する世界中
-の貢献者達によってなされており, 彼らの年齢, 専門技術分野は多岐に渡りま
-す. そして手の空いている人よりも成されるべき仕事の方が常に多いのです.
-
-<p>FreeBSD プロジェクトがカーネルや散在しているユーティリティよりも,
-オペレーティングシステム環境 (と, そのインストール) に対して責任を持つ
-ようになったため, 私たちの「TODO」リストはドキュメンテーション, ベータテ
-スト, 高度に専門化されたタイプのカーネル開発の好例を紹介するなど非常に
-広い範囲のタスクに渡ります. あなたの技能レベルに関わらず, プロジェクト
-を支援できることが必ず何かあります!
-
-<p>FreeBSD 関連の事業に従事している商業団体が私たちにコンタクトすること
-も歓迎します. あなたの製品を (FreeBSD 上で) 動作させるには, 特別な拡張
-が必要ではありませんか? あまりにも風変わりな要求でなければ, それを受け
-入れる用意が私たちにあるとわかるはずです.
-付加価値のある製品ですか? 私たちに知らせてください! 多分私たちは, ある
-面において共同して作業をすることができるでしょう. フリーソフトウェア界
-は, ソフトウェアがそのライフサイクルを通してどのように開発され, 売られ,
-保守されていくかについて, 既存の仮説に挑戦しています. 少なくとももう一
-度考慮してみることを私たちは強くお奨めします.
-
-<sect><heading>何が必要?</heading>
-
-<p>次のタスクとサブプロジェクトのリストは, コアチームの色々な TODO リ
-ストと最近2ヶ月で集めたユーザリクエストを合わせたものです. 可能なとこ
-ろでは, 緊急度によってタスクがランクづけされています. もしここにあるタ
-スクの実行に興味があるのでしたら, コーディネータの名前をクリックしてメー
-ルを送ってください. もしコーディネータが決まっていなければ, あなたがボ
-ランティアしてみませんか?
-
-<sect1><heading>優先度の高いタスク</heading>
-<p>次のタスクは通常, ひどく壊れているとか, とても必要とされている何かを
-表しているため, 急務と考えられています:
-
-<enum>
-<item>第3ステージ・ブート問題. 全体コーディネーション:
-&a.hackers
-
-<p><itemize>
-<item>64MB を越えるメモリの正しい自動検出.
-
-<item>userconfig (-c) の 第3ステージ・ブートへの移動.
-
-<item>第3ステージがディスクの BIOS ジオメトリの正確なマッピングを提供
-できるように WinNT コンパチブルなドライブの追跡をおこなう.
-
-</itemize>
-<item>ファイルシステム問題. 全体コーディネーション:
-&a.fs
-
-<itemize>
-<item>MSDOS ファイルシステムの修正.
-
-<item>nullfs ファイルシステムコードのクリーンアップと
-ドキュメンテーション. コーディネータ: &a.gibbs
-
-<item>union ファイルシステムの修正. コーディネータ: &a.dyson
-
-<item>LFS ファイルシステムの修正. コーディネータ: &a.dyson
-
-</itemize>
-<item>カーネル vm86 及びユーザ vm86 サポート実装. コーディネータ:
-&a.hackers
-
-<item>Int13 vm86 ディスクドライバの実装. コーディネータ: &a.hackers
-
-<item>SCSI ドライバ問題. 全体コーディネーション: &a.hackers
-
-<p><itemize>
-<item>タグキューイングの一般的なサポート. 私たちのおこなっている
-コマンドキューイング方法の書換えが必要だが, とにかく優先度付けされた
-I/O にはこれが必要 (CD-R ライタ / スキャナ).
-
-<item>エラー処理の改善 (ビジー・ステータスおよびリトライ).
-
-<item>統合された Scatter-Gather リスト生成コード.
-
-</itemize>
-<item>カーネル問題. 全体コーディネーション:
-&a.hackers
-
-<p><itemize>
-<item>すべての現存ドライバの eisaconf 変換の達成.
-
-<item>すべての割り込みルーチンをユニット番号を使う代わりに (void *) を
-取るように変更.
-
-<item>EISA/PCI/ISAの割り込み登録コードの統合.
-
-<item>PCI/EISA/ISA デバイス検出を bt742a.c(WIP) のようなドライバから分割.
-
-<item>syscons の ALT-TAB/vt 切替えによるハングの修正. コーディネータ:
-&a.sos
-
-<item>syscons 用のマウスサポート.
-
-<item>すべてのコンソールドライバ用のキーボードコードの統合.
-
-<item>Intel Etherexpress 16 ドライバの書換え.
-
-<item>3c509と3c590 ドライバの統合 (本質的には PCI デバイス検出の ep.c
-への提供).
-
-<item> Adaptec 3985 (シンプルな3チャネル SCSI カードとしては最初のもの)
-のサポート. コーディネータ: &a.gibbs
-
-<item>Advansys SCSI コントローラ製品のサポート. コーディネータ:
-&a.gibbs
-
-</itemize>
-</enum>
-
-<sect1><heading>優先度がさほど高くないタスク</heading>
-<p>次のタスクはやっておくべきではありますが, 特にさし迫っているわけで
-はありません:
-
-<enum>
-<item>DOS エミュレータ (DOS の実行ファイル用) コーディネータ:
-<tt><url url="mailto:jr@jrw.org" name="J.R. Westmoreland"></tt>
-
-<item>AFS (Andrew ファイルシステム) の FreeBSD への移植 コーディネータ:
-<tt><url url="mailto:ajones@ctron.com" name="Alexander Seth
-Jones"></tt>
-
-<item>MCA サポート? これは続けるにしても止めてしまうにしても結論を出
-すべき.
-
-<item>完全な LKM ベースのドライバのサポート / コンフィグレーションマネー
-ジャ.
-
-<p><itemize>
-<item>ld なしですべての LKM の登録をおこなう方法を考案する. これは
-カーネル中にある種のシンボルテーブルを持たせることを意味します.
-
-<item>穏やかな方法でハードウェアを検知するコンフィグレーションマネージャ
-の作成 (第3ステージ・ブートの中に?). ハードウェアが必要とする LKM だけを
-残す等.
-
-</itemize>
-<item>PCMCIA/PCCARD. コーディネータ: &a.nate と &a.phk
-<itemize>
-<item>ドキュメンテーション!
-<item>pcic ドライバの信頼性のある操作 (テスト要).
-
-<item>sio.c のリコグナイザとハンドラ (ほぼ完了).
-
-<item>ed.c のリコグナイザとハンドラ (ほぼ完了).
-
-<item>ep.c のリコグナイザとハンドラ (ほぼ完了).
-
-<item>User-mode のリコグナイザとハンドラ (部分的に完了).
-
-</itemize>
-<item>先進的なパワーマネージメント. コーディネータ: &a.nate と
-&a.phk
-
-<itemize>
-<item>APM サブドライバ (ほぼ完了).
-
-<item>IDE/ATA ディスクサブドライバ (部分的に完了).
-
-<item>syscons/pcvt サブドライバ.
-
-<item>PCMCIA/PCCARD ドライバ群との統合 (サスペンド / レジューム).
-
-</itemize>
-</enum>
-
-<sect1><heading>優先度の低いタスク</heading>
-<p>次のタスクは全くのあら隠し, または誰もすぐにおこないそうもない投資
-のような仕事を表します:
-
-<p>最初の20項目は Terry Lambert &lt;terry@lambert.org&gt からのもので
-す.
-
-<enum>
-<item>プロセッサ上で V86 モードを使用して, プロテクトモードからの BIOS
-コールができるようにし, マップされた割り込み IPC 機構を経由してプロテ
-クトモードの呼出し元に結果を返すようにする.
-
-<item>DOS と同じように, 実際の下位ハードウェアから独立になるよう, BIOS
-コール機構を使用したカーネルの中に組み込まれたドライバ. これは DOS ベー
-スのローダプログラムで BSD がロードされる前に DOS にロードされていたネッ
-トワークドライバや ASPI ドライバも含みます. このことは潜在的なポーリン
-グ, つまりプロテクトモードカーネルによる V86 マシンのための
-DOS-not-busy 割り込みの生成を意味します.
-
-<item>ハードウェア固有のプロテクトモードのドライバがロードされて活性化
-された後で, デフォルトのカーネル実行形式の中の, そのようなドライバデー
-タとテキストエリアを追跡して, カーネルアドレス空間のその部分が回復され
-るようにするためのイメージ形式.
-これは個々の BIOS ベースのドライバを互いに分離することを含みます. なぜ
-なら全く実行しないよりも, すべてのケースにおいて BIOS ベースのドライバ
-と共に実行した方が良いためです.
-
-<item>バスインタフェース機構の抽象化. 現在のところ, PCMCIA, EISA そし
-て PCI バスはブリッジで ISA バスに接続されていると仮定しています. こう
-いった仮定はおこなうべきではありません.
-
-<item>パワーマネージメントイベント, カードの挿入, 取り出し, そしてバス
-(PNPISA と PCMCIA とのブリッジチップ) 対カードのレベルのイベント管理を
-含む PNP イベントを解釈するコンフィグレーションマネージャ.
-
-<item>固定デバイスによる他の再割当可・不可のデバイス空間リソースの使用
-と衝突しない, 再割当可能なアドレスの割り当てのためのトポロジカルソート
-機構.
-
-<item>ハードウェアサービス登録のための登録ベースの機構. 特にタイマ,
-サウンドおよび他のシステムクリティカルなサービス供給源のためのデバイス
-中心の登録機構. 単一の独立していないサービス供給源の一つの例として
-Timer2, Timer0 そしてスピーカサービスを考慮する必要があります.
-
-<item>配置転換とシンボル空間操作をおこなう LKM ローダ機構からアクセス
-可能な, カーネルのデータ空間内にあるエキスポートされたシンボル空間. こ
-のインタフェースの目的は, 必要な時にカーネルモジュールをロードして, 必
-要がなくなればアンロードできる能力をサポートすることです.
-
-<item>ネットワークカードと一緒に提供される ODI カードドライバを使用で
-きるようにする, NetWare サーバ (プロテクトモードの ODI ドライバ) ロー
-ダとサブサービス. NDIS ドライバと NetWare の SCSI ドライバについても同
-様.
-
-<item>前のリビジョンの FreeBSD マシンではなく, Linux マシンで動作する
-「アップグレード システム」オプション.
-
-<item>移植を簡単にするためと, X, ThinkPad, PS/2マウス, LED, コンソール
-スイッチング, しつこい NumLock などの問題を全部一度に片付けるためのコ
-ンソールドライバの抽象レイヤへの分割.
-
-<item>機会が許したら, 他の外部ドライバのための他のカーネルのエミュレー
-ション環境. SCO と Solaris は UnixWare などに続く良い候補です.
-
-<item>異なるアーキテクチャのバイナリの実行のためのプロセッサエミュレー
-ション環境. これはシステムコールインタフェースがあまり変わらなければ,
-思ったより簡単です.
-
-<item>商用のストリームドライバを使用可能にするためのストリーム機構.
-
-<item>カーネルのマルチスレッド化 (カーネルのプリエンプションが必要).
-
-<item>カーネルのプリエンプション付き対称マルチプロセッシング (カーネル
-のプリエンプションが必要).
-
-<item>ポータブルコンピュータのサポートにおける協調の試み.
-これは PCMCIA ブリッジング規則と電源管理イベント処理の変更により, いく
-らかは処理できます. しかし, 内蔵ディスプレイと外部ディスプレイの検出,
-この2種類のディスプレイがあるという事実に基づく異なる解像度の選択, マ
-シンがドックにある場合にはディスクのモータ停止を防止すること, マシンの
-ブート能力に影響を与えずにドックベースのカードの消滅を可能にすること
-(PCMCIA と同じ問題) などの問題があります.
-
-<item>マルチプラットフォームへの移植のためのソースツリーの再組織化.
-
-<item>「make world」できちんと「世界を創造する」ができるようにする.
-(もし「make regress 訳注: 後退する」と呼び方が適当であれば, そのように
-名前を変える)
-
-<item>最小必要メモリ 4MB 化 (もっと小さければなお良し!).
-
-</enum>
-
-<sect><heading>貢献の仕方</heading>
-
-<p>一般的に, システムへの貢献は次の6つのカテゴリの1つ以上に分類されま
-す:
-
-<sect1><heading>バグ報告と一般的な論評</heading>
-<p>報告するべきバグがあったり, 提案したいことがあれば:
-
-<itemize>
- <item>一般的な技術的関心事に関するアイデアや提案は
- &a.hackers; へメールしてください.
- 同様に, このような事柄に興味のある (そして<em>膨大な</em>メー
- ル! に耐えられる) 人は, &a.majordomo; へメールを送って hackers
- メーリングリストに参加すると良いでしょう. 情報については <ref
- id="eresources:mail" name="メーリングリスト"> を参照してください.
-
- <item>実際のバグ報告は send-pr(1) プログラムか <url
- url="http://www.freebsd.org/send-pr.html" name="WEB ベースの
- send-pr"> を使用して提出してください. これは色々な項目についての
- 問い合わせをします. send-pr(1) プログラムの場合は, 単に
- <tt>&lt;&gt;</tt> で囲まれて表示されているものをあなた固有の情報
- に置き換えて入力します. WEB ベースのインタフェースの場合は,
- そこで表示されているオプションメニューから適切な項目を選択し
- 必要項目を埋めるだけです.
-
- <p>あなたはバグ報告の確認とトラッキング番号をメールで受け取る
- はずです. このトラッキング番号を覚えておき後々の連絡に使用して,
- 他の人がその問題の詳細を素早く見つけられるようにしてください.
- また, <url url="mailto:bug-followup@freebsd.org"
- name="bug-followup@freebsd.org"> にサブジェクト行に PR# を付けた
- メールを送って, より詳しい情報を既存のバグ報告に追加することも
- できます.
-
- もしタイムリに (あなたの電子メール接続形態にもよりますが, 3日から
- 1週間) 確認を受けとれないとか, 何らかの理由で <tt>send-pr(1)</tt>
- コマンドが使用できない場合には, &a.bugs へメールを送ってバグ報告を
- 提出してください.
-
-</itemize>
-
-<sect1><heading>文書の変更</heading>
-
-<p>文書の変更は &a.doc; が監督しています. 一般的にこれは「現存のソース
-コードの変更」のカテゴリで考慮されるべきマニュアルページの変更は含ん
-でいません.
-
-<sect1><heading>現存のソースコードの変更</heading>
-<p>現存のソースコードへの追加または変更は, いくらかトリッキーな仕事で
- あり, core の FreeBSD 開発の現状にあなたがどれだけ通じているかに大
- きく依存します. 「FreeBSD-current」として知られる FreeBSD の特別な
- 継続的リリースがあります. FreeBSD-current は開発者の積極的な活動の
- 便宜のために, 色々な方法で利用可能になっています. FreeBSD-current
- の入手と使用方法についての詳しい情報については <ref id="current"
- name="最新の FreeBSD を追いかける"> を参照してください.
-
- 不幸にして古いソースをもとに仕事をすることは, 時々あなたの変更が時
- 代遅れ, または FreeBSD への簡単な再統合に合わなくなっていることを意
- 味します. システムの現状に関する議論がおこなわれている &a.announce と
- &a.current へ参加することで, この可能性を最小限にすることができます.
-
- 完全な最新のソースを変更のベースにできることが確実になったと仮定し
- て, 次のステップは FreeBSD の保守担当者へ送る差分ファイルの生成です.
- これは <tt>diff(1)</tt> コマンドを使用しておこないますが, 「context
- diff」形式が好まれるようです. 例えば:
-<tscreen><verb>
-diff -c oldfile newfile
-</verb></tscreen>
-または
-<tscreen><verb>
-diff -c -r olddir newdir
-</verb></tscreen>
-
- これで指定されたソースファイルまたはディレクトリ階層に対するコンテ
- キスト形式の差分が生成されます. 詳しい説明は <tt>diff(1)</tt> のマ
- ニュアルページを参照してください.
-
- 差分ファイル (<tt>patch(1)</tt> コマンドでテストできます) を作った
- ら, それらを電子メールのメッセージにバンドルして, 差分ファイルの目
- 的の簡単な説明と一緒に &a.hackers; へ送ってください. 誰かが24時間以
- 内にあなたにコンタクトを取ってくるでしょう. もちろん, あなたの差分
- ファイルが興味深いものであると仮定していますが! :-)
-
- あなたの変更が差分ファイル単独でそれ自身を良く表現できない場合は
- (例えば, ファイルの追加, 削除または名称変更が必要など), 新たなファ
- イルをまとめて出した方が良いでしょう. 差分ファイルと他のファイルの
- 削除 / 名称変更の指示を <tt>tar</tt> ファイルに格納し,
- <tt>uuencode(1)</tt> プログラムにかけてから &a.hackers; へ送ってく
- ださい. このファイルのバンドル方法に関する詳しい情報については,
- <tt>tar(1)</tt> と <tt>uuencode(1)</tt> のマニュアルページを参照し
- てください.
-
- 例えばあなたがそれ自身のさらなる配布を管理するコピーライト問題を良
- く分かっていないとか, 単に厳しいレビューをおこなっておらず, リリース
- する準備ができていないなど, あなたの変更が潜在的に不安定な性質をも
- つものである場合, &a.hackers よりむしろ &a.core;
- へ送ってください. コアチームメーリングリスト宛のメールは, 日々の仕
- 事のほとんどを FreeBSD でおこなっている人たちの, より小さなグルー
- プに届きます. このグループもまた<em>とても忙しい</em> ことに注意し
- て, hackers への投稿が本当に実際的でない場合に, コアチームの彼らに
- メールを送るだけにしてください.
-
- コーディングスタイルに関する情報は <tt>man 9 intro</tt> および
- <tt>man 9 style</tt> を参照してください. コードを提出する前には,
- 少なくともこの情報を意識しておいてくださるようお願いします.
-
-<sect1><heading>新たなコードやメジャーな付加価値の高いパッケージ</heading>
-
-<p>重要な大きい仕事の寄贈や, 重要な新しいフィーチャーを FreeBSD に追加
- する場合には, 変更点を tar/uuencode したファイルにして送るか, それ
- らを私たちの ftp サイト <url
- url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming"> へアップロードす
- ることのどちらかが通常必要になります.
-
- 大量のコードを伴った仕事の場合, コピーライトの神経過敏な問題が常に
- 出てきます. FreeBSD に含めるコードのコピーライトとして受け入れるこ
- とができるのは, 以下の二つです:
-
-<enum>
- <item>BSD コピーライト. このコピーライトは「権利に縛られない」性格
- と商用企業にとって一般的な魅力をもつために最も好まれま
- す. FreeBSD プロジェクトは商用利用を阻んだりせず, 何かを
- FreeBSD へ投資する気になった商業関係者による参加を積極的に奨励
- します.
-
- <item>GNU一般公有使用許諾, または「GPL」. このライセンスはコード
- を商用目的に使用する場合に余分な努力が求められるため, 私たち
- にあまり評判が良いというわけではありません. しかし, 私たちは
- 既に GPL 下の高品質なコード (コンパイラ, アセンブラ, テキスト
- フォーマッタ等) の提供を受けており, 私たちは現在それを必要と
- しています. そのため, このライセンスによる新たな貢献を拒絶す
- るというのは愚かなことでしょう. GPL 下のコードはソースツリー
- の別の部分, 現在のところ <tt>/sys/gnu</tt> か
- <tt>/usr/src/gnu</tt> に入っています. そのため, GPL が問題と
- なるような人は, 誰でも簡単にそれとわかるようになっています.
-</enum>
-
-<p>これ以外のタイプのコピーライトによる寄贈は, FreeBSD へ含めることを
- 考慮する前に, 注意深いレビューを受けなければなりません. 作者が独自
- のチャネルを通して配布しており, そのような変更をおこなうことを常に
- 奨励している場合でも, 特に限定的な商用のコピーライトが適用される寄
- 贈は一般に拒否されます.
-
- あなたの作品に「BSD-スタイル」のコピーライトを付けるには, 保護した
- いソースコードファイルすべての一番最初に以下のテキストを入れて,
- `<tt>%%</tt>' の間を適切な情報に置き換えください.
-
-<tscreen><verb>
-Copyright (c) %%適切な年%%
- %%あなたの名前%%, %%あなたの州%% %%郵便番号%%. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer as
- the first lines of this file unmodified.
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY %%あなたの名前%% ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL %%あなたの名前%% BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- &dollar;Id&dollar;
-</verb></tscreen>
-便宜をはかるため, このテキストのコピーは次の場所に置いてあります.
-<tt>/usr/share/examples/etc/bsd-style-copyright</tt>.
-
-(訳注: 以下は神田敏広氏より寄贈された bsd-style-copyright の日本語訳です.
-ソースファイルに含めるものは原文の方であることに注意してご利用ください.
-また, 原文との間に趣旨の差異が生じた場合, 原文の内容が FreeBSD プロジェクトの
-意思であるものとします.)
-
-<tscreen><verb>
-Copyright (C) [年]
- [あなたの名前] All rights reserved.
-
-ソースとバイナリ形式の再配布および使用は, 変更の有無にかかわらず以下の
-条件を満たす場合に限り許可される:
-1. ソースコードの再配布は, 上記の著作権表示・この条件のリスト・下記の
- 否認声明文を保持しなければならない.
-
-2. バイナリ形式の再配布は, 上記の著作権表示・この条件のリスト・下記の
- 否認声明文を, 配布物と共に提供される文書および/または他の資料の中に
- 含めなければならない.
-
-(訳注:ここから「否認声明文」です)
-
-このソフトウェアは[あなたの名前]および貢献者によって ``あるがままの状態''
-で提供され, 商品性と特定の目的に対する適合性についての暗黙の保証に留ま
-らず, いかなる明示および暗黙の保証を認めない. [あなたの名前]および貢献
-者は, あらゆる直接的・間接的・偶発的・特殊的・典型的・必然的な損害 (代
-替製品または代替サービスの獲得費; 効用・データ・利益の喪失; または業務
-中断を含み, またそれだけに留まらない損害) に対して, たとえどのようにし
-て生じたとしても, そしてこのソフトウェアの使用によってどのようにであれ
-生じる, 契約上であろうと, 厳密な責任内であろうと, あるいは不正行為 (過
-失やそうでない場合を含む) における場合であろうとも, いかなる責任論上も,
-たとえそのような損害の可能性が予見されていたとしても, 一切の責任を持た
-ない.
-
-翻訳: 神田敏広
-御協力 (五十音順・敬称略):
- 池田研二, 内川 喜章, 藤村 英治, むらたしゅういちろう
- 杢野 雅一, 横田@宇都宮
-</verb></tscreen>
-
- &porting;
-
-<sect1><heading>金銭, ハードウェアまたはインターネットアクセス</heading>
-<p>FreeBSD プロジェクトの目的を進めるための寄付や, 私たちと同じような
-ボランティアの細く長い ! 努力を, 私たちは常に喜んで受け入れています.
-また一般的に私たちは自分達で周辺機器を買う資金が不足しているため,
-周辺機器のサポートを充実させるのにハードウェアの寄付はとても重要です.
-
-<sect2><heading>資金の寄付</heading>
-<p>FreeBSD プロジェクトは501(C3) (非営利) 企業ではないため, いかなる寄
-付に対しても特別な税金の優遇措置を提供することができません. このような
-寄付はプロジェクトを代表して FreeBSD, Inc により感謝をもって受け入れら
-れるでしょう.
-
-<p>FreeBSD, Inc.は FreeBSD プロジェクトの推進とプロジェクトに企業とし
-ての最小限の体裁を持たせることを目的として, 1995年の初めに &a.jkh と
-&a.davidg により設立されました. 寄付されたすべての資金は (最終的に
-FreeBSD, Inc.によりもたらされるであろうすべての利益も同様に) プロジェク
-トの目標を推進するためだけに使われるでしょう.
-
-支払い先を FreeBSD, Inc. とした小切手を, 次の住所気付けで送ってください:
-<tscreen><verb>
-FreeBSD, Inc.
-c/o Jordan Hubbard
-4041 Pike Lane, suite #D.
-Concord CA, 94520
-
-[私書箱が開設されるまで一時的に Walnut Creek CDROM の住所を使用]
-</verb></tscreen>
-
-電信振替は次の所まで直接送れるでしょう:
-
-<tscreen><verb>
-Bank Of America
-Concord Main Office
-P.O. Box 37176
-San Francisco CA, 94137-5176
-
-Routing #: 121-000-358
-Account #: 01411-07441 (FreeBSD, Inc.)
-</verb></tscreen>
-
-もし <ref id="donors" name="寄贈者ギャラリー"> の節で匿名を希望される
-方は, 寄付の際にその旨お伝えください. Thanks!
-
-<sect2><heading>ハードウェアの寄贈</heading>
-
-<p>FreeBSD プロジェクトは, 次の3つのカテゴリのどんなハードウェアの寄贈
-も, 喜んで受け付けます:
-
-<itemize>
-<item>ディスクドライブ, メモリまたは完全なシステムといった一般用途のハー
-ドウェアは, <em>資金の寄付</em>の節にある FreeBSD, Inc. の住所まで送っ
-てください.
-
-<item>進行中の受け入れテストのためのハードウェアが必要とされていま
-す. 新たなリリース毎に適切な逆行テストができるように, 私たちは現在,
-FreeBSD がサポートするすべてのコンポーネントのテストラボを設置しよう
-としています. 私たちにはまだ, たくさんの重要な部品 (ネットワークカード,
-マザーボードなど) が不足していますので, このような寄贈をしたいと思って
-いるならば, &a.davidg へコンタクトしてどの部品がまだ必要とされているか
-の情報を得てください.
-
-<item>現在 FreeBSD にサポートされていないハードウェアで, サポートに追
-加して欲しいもの. 私たちが新しいハードウェアを受けとる前にそのタスクを
-引き受けてくれる開発者を探す必要があるため, その部品を送る前に &a.core;
-にコンタクトを取ってください.
-
-</itemize>
-
-<sect2><heading>インターネットアクセスの寄付</heading>
-
-<p>私たちは常に FTP, WWW や cvsup の新しいミラーサイトを募集しています.
-ミラーサイトになりたい場合には <url url="mailto:admin@FreeBSD.ORG"
-name="the FreeBSD project administrators"> にコンタクトを取って, 詳し
-い情報を手に入れてください.
-
-<sect><heading>寄贈者ギャラリー<label id="donors"></heading>
-
-<p>FreeBSD プロジェクトは次の寄贈者に恩義を受けており, ここに公表して
-感謝の意を表したいと思います.
-
-<itemize>
-<item><bf>セントラルサーバプロジェクトへの寄贈者:</bf>
- <p>次に挙げる個人および企業からは, セントラルサーバマシンのための
- 部品の寄贈を頂いており, それによって <em>freefall.freebsd.org</em>
- をリプレースして新たに FreeBSD プロジェクトのセントラルサーバマシンを
- 構築することができました:
-
- <itemize>
- <item><url url="mailto:mbarkah@freebsd.org" name="Ade Barkah">
- と彼の所属する <url url="http://www.hemi.com"
- name="Hemisphere Online"> は, <bf>Pentium Pro (P6) 200Mhz CPU</bf>
- を寄贈してくださいました.
-
- <item><url url="http://www.asacomputers.com" name="ASA Computers">
- は, <bf>Tyan 1662 マザーボード</bf> を寄贈してくださいました.
-
- <item><url url="http://www.via.net" name="ViaNet Communications">
- の <url url="mailto:joe@via.net" name="Joe McGuckin"> は,
- <bf>Kingston イーサネットコントローラ</bf>を寄贈してくださいました.
-
- <item><url url="mailto:jack@diamond.xtalwind.net"
- name="Jack O'Neill"> は, <bf>NCR 53C875 SCSI コントローラカード</bf>
- を寄贈してくださいました.
-
- <item><url url="http://www.Alameda.net" name="Alameda Networks"> の
- <url url="mailto:ulf@Alameda.net" name="Ulf Zimmermann"> は,
- <bf>128MB のメモリ</bf>, そして <bf>4 GB のディスクドライブと匡体</bf>
- を寄贈してくださいました.
- </itemize>
-
-<item><bf>直接的な資金提供:</bf>
- <p>次に挙げる個人および企業からは FreeBSD プロジェクトに対する直接的な
- 資金提供を頂いております:
-
- <itemize>
- <item><url url="mailto:ANDRSN@HOOVER.STANFORD.EDU"
- name="Annelise Anderson">
-
- <item><url url="http://www.epilogue.com/" name="Epilogue
- Technology Corporation">
-
- <item>Sean Eric Fagan
-
- <item><url url="mailto:gmarco@masternet.it"
- name="Gianmarco Giovannelli">
-
- <item><url url="mailto:joeg@truenorth.org" name="Josef C. Grosch">
-
- <item><url url="mailto:chuckr@freebsd.org" name="Chuck Robey">
-
- <item><url url="http://www.imagescape.com" name="Imaginary Landscape, LLC.">
- の <url url="mailto:ken@stox.sa.enteract.com" name="Kenneth P. Stox">
-
- <item><url url="mailto:dk@dog.farm.org"
- name="Dmitry S. Kohmanyuk">
-
- <item>日本の <url url="http://www.iijnet.or.jp/laser5/"
- name="Laser5"> (FreeBSD の NEC PC98 への移植である
- <em>FreeBSD for PC98</em> CD の販売利益の一部より寄付)
- </itemize>
-
-<item><bf>ハードウェアの寄贈者:</bf>
- <p>次に挙げる個人および企業からは, テストやデバイスドライバの開発 / サポート
- のためのハードウェアの寄贈を頂いております:
-
- <itemize>
- <item>Walnut Creek CDROM は, ネットワークへのアクセスおよび
- 他のハードウェアリソースの寄贈はいうまでもなく, 開発に使うための
- Pentium P5-90 と 486/DX2-66 EISA/VL のシステム数台を
- 提供してくださいました.
-
- <item>TRW Financial Sysytems社は, PC 130台, 68 GB のファイルサーバ 3台,
- 12のイーサネット, ディスクレスコードのデバッグをおこなうための
- ルータ 2台及び ATM スイッチを提供してくださいました.
- また, 彼らは 2, 3人の FreeBSD ハッカーを雇って, FreeBSD に専念させて
- くださっております. ありがとうございます!
-
- <item>Dermot McDonnell は, 東芝 XM3401B CD-ROM ドライブを
- 寄贈してくださいました. その CD-ROM ドライブは現在 freefall
- で使用されています.
-
- <item>&a.chuck; は, 実験用のフロッピーテープストリーマを
- 寄付してくださいました.
-
- <item> Larry Altneu &lt;larry@ALR.COM&gt; と &a.wilko;は,
- <tt>wt</tt> ドライバを改良するために Wangtek と Archive の
- QIC-02 テープドライブを提供してくださいました.
-
- <item>Ernst Winter &lt;ewinter@lobo.muc.de&gt; は, このプロジェクトへ
- 2.88 MB のフロッピードライブを提供してくださいました.
- うまくいけば, これでフロッピーディスクドライバを書き直すための
- プレッシャーが増えるでしょう. ;-)
-
- <item><url url="mailto:kuku@freebsd.org" name="Christoph Kukulies"> は,
- IDE CD-ROM ドライバ開発用の FX120 12 倍速 Mitsumi CD-ROM ドライブ
- を提供してくださいました.
- </itemize>
-
-<item><bf>特筆すべき寄贈者:</bf>
- <p>
- <itemize>
- <item><url url="http://www.cdrom.com" name="Walnut Creek CDROM">
- は, 言い表せないほど多くの寄付をしてくださいました (詳細は <ref
- id="history" name="FreeBSD 小史">を参照).
- 特に, 私たちのもともとのプライマリ開発マシンである
- <em>freefall.FreeBSD.ORG</em>, テストおよびビルドマシンである
- <em>thud.FreeBSD.ORG</em> で使用しているハードウェアに対し
- 感謝したいと思います.
- また彼らには, 数年にわたる色々な貢献者への資金提供や, インターネット
- への T1 コネクションの無制限使用を提供して頂いた恩義があります. </item>
-
- <item><url url="http://www.interface-business.de"
- name="interface business GmbH, Dresden"> は, &a.joerg; を根気よく
- サポートしてくださいました.
- 彼は本職より FreeBSD の仕事を好みがちであり, 彼個人の接続があまりに
- 遅くなったり途切れたりして仕事にならない時は必ず interface business の
- (非常に高価な) EUnet インターネット接続に頼ったものです...
- </item>
- </itemize>
-</itemize>
diff --git a/share/doc/ja_JP.EUC/handbook/sup.sgml b/share/doc/ja_JP.EUC/handbook/sup.sgml
deleted file mode 100644
index f44afec..0000000
--- a/share/doc/ja_JP.EUC/handbook/sup.sgml
+++ /dev/null
@@ -1,162 +0,0 @@
-<!-- $Id: sup.sgml,v 1.12 1997/04/30 06:41:51 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.29 -->
-
-<sect1><heading>SUP<label id="sup"></heading>
-
-<p><em>原作: &a.jkh; and &a.gclarkii;.</em>
-<p><em>訳: &a.iwasaki;.<newline>28 December 1996.</em>
-
-SUP は CMU で開発されたネットワークベースのソフトウェア更新ツールです.
-この文書の目的は初心者が sup を利用できるようにすることです.
-
-<sect2><heading>SUP のコンフィグレーション</heading>
-
-<p>SUP は supfile と呼ばれるコンフィグレーションファイルから, 実行す
-るのに必要な情報を取得します. FreeBSD のソースリリースによって提供さ
-れる異なる supfile の見本があります.
-<url url="file:/usr/share/examples/sup/standard-supfile"
-name="/usr/share/examples/sup/standard-supfile"> は最新の標準
-FreeBSD ソース配布ファイルの sup 情報を含んでいます - このファイルは
-sup に, 何のコレクションが更新かつ / またはインストールされるか, ど
-こにインストールされるかを伝えます. 特にこの supfile を使用している
-人は, <ref id="current" name="-current"> を sup することになります.
-<p>ports に関しては,
-<url url="file:/usr/share/examples/sup/ports-supfile"
-name="/usr/share/examples/sup/ports-supfile"> に目を通してください.
-<p>もしソースツリーを構築する
-<url url="http://www.freebsd.org/cgi/cvsweb" name="CVS"> files
-ファイルの入手に興味があるのでしたら,
-<url url="file:/usr/share/examples/sup/cvs-supfile"
-name="/usr/share/examples/sup/cvs-supfile"> を参照してください.
-<p>むしろ -stable 支流への変更を追いかけたいのであれば, 代わりに
-<url url="file:/usr/share/examples/sup/stable-supfile"
-name="/usr/share/examples/sup/stable-supfile"> を参照してください.
-
-アメリカ合衆国内に住んでいる方は, DES コードを持ってくるために
-`secure' と `eBones' コレクションの行のコメントを外してください.
-合衆国国外にいる方は, 合衆国の輸出規制を犯すことになるので, このコー
-ドをsup.FreeBSD.ORG から sup すべきではありません. この代わりに sup
-examples ディレクトリ内にある
-<url url="file:/usr/share/examples/sup/secure-supfile"
-name="secure-supfile"> を使用してください. これは secure 配布ファイ
-ルを含む国際的な sup サイトへ接続します. 受けとりたくない配布ファイ
-ルは, 配布ファイルの行の先頭にて &num でコメントアウトすることができ
-ます.
-
-代替の sup サーバの一覧は,
-<url url="file:/usr/share/examples/sup/README"
-name="/usr/share/examples/sup/README"> を参照してください. 現在, 上
-記の見本ファイルにあるデフォルトの sup サーバ (sup.FreeBSD.ORG) は超
-負荷の状態であるので, どんなトラフィックでも他のホストへ乗り換えられ
-れば, いくらか重荷が軽減できるでしょう.
-
-このセットアップが終れば準備完了です. sup の起動は:
-<verb>
- sup supfile
-</verb>とタイプします.
-sup が何をしているかを「冗長に」に見たいなら, 次のように -v を与えてください:
-<verb>
- sup -v supfile
-</verb>
-以上です! あなたが current を実行しているかどうか, standard-supfile で
-sup するときに得られるものが何かを覚えておき, &a.current へ参加して
-ください. -current ユーザとしてのあなたに対して, 私たちが何ができて
-何ができないかの重要な情報として,
-<ref id="current" name="最新の FreeBSD を追いかける">を
-読んでおいた方がよいでしょう. stable-supfile をお使いの方は,
-&a.stable へ参加し <ref id="stable" name="FreeBSD の安定状態の持続">を
-読んでください.
-
-<sect2><heading>SUP 配布ファイル<label id="sup:dists">
-</heading>
-
-<p>standard-supfile を使用したメインの FreeBSD 配布ファイルは:
-<verb>
-src-base: /usr/src/... /usr/src のトップにあるその他のファイル
-src-bin: /usr/src/bin ユーザとシステムのバイナリ
-src-contrib: /usr/src/contrib 寄贈ソフトウェア
-src-secure: /usr/src/secure DES のソース (US/Canada ONLY)
-src-eBones: /usr/src/eBones Kerberos と DES (US/Canada ONLY)
-src-etc: /usr/src/etc システムファイル
-src-games: /usr/src/games ゲーム
-src-gnu: /usr/src/gnu GNU Public License 下にあるソース
-src-include: /usr/src/include インクルードファイル
-src-sys: /usr/src/sys カーネルのソース
-src-lib: /usr/src/lib ライブラリ
-src-libexec: /usr/src/libexec システムバイナリ
-src-release: /usr/src/release release を構築するために必要なソース
-src-share: /usr/src/share 色々な共有リソース
-src-sbin: /usr/src/sbin シングルユーザのシステムバイナリ
-src-tools: /usr/src/tools 色々な管理ツール
-src-usrbin: /usr/src/usr.bin ユーザバイナリ
-src-usrsbin: /usr/src/usr.sbin システムバイナリ
-</verb>
-
-<p>secure-supfile を使用した国際的な FreeBSD 配布ファイルは:
-<verb>
-src-secure: /usr/src/secure DES のソース
-src-eBones: /usr/src/eBones Kerberos と DES
-</verb>
-
-<p>また, 輸出規制のあるソフトウェア (たとえば, <tt>src-secure</tt> と
-<tt>src-eBones</tt> コレクション) の両方のバージョン (合衆国内または
-国外) を除く, 上記すべてを含むコレクションがあります:
-<verb>
-src-all: /usr/src オペレーティングシステム全体 (ほぼすべて)
-</verb>
-
-<p>そして ports コレクションは:
-<verb>
-ports-base: /usr/ports/... /usr/ports のトップにあるその他のファイル
-ports-archivers: /usr/ports/archivers アーカイビングのツール
-ports-astro: /usr/ports/astro 天文学関連の ports
-ports-audio: /usr/ports/audio サウンドサポート
-ports-benchmarks: /usr/ports/benchmarks ベンチマークプログラム
-ports-cad: /usr/ports/cad CAD ツール
-ports-chinese: /usr/ports/chinese 中国語サポート
-ports-comms: /usr/ports/comms 通信ソフトウェア
-ports-converters: /usr/ports/converters 文字コードコンバータ
-ports-databases: /usr/ports/databases データベース
-ports-devel: /usr/ports/devel 開発ユーティリティ
-ports-editors: /usr/ports/editors エディタ
-ports-emulators: /usr/ports/emulators 他の OS のエミュレータ
-ports-games: /usr/ports/games ゲーム
-ports-graphics: /usr/ports/graphics 色々なグラフィックユーティリティ
-ports-japanese: /usr/ports/japanese 日本語サポート
-ports-korean: /usr/ports/korean 韓国語サポート
-ports-lang: /usr/ports/lang プログラミング言語
-ports-mail: /usr/ports/mail メールソフトウェア
-ports-math: /usr/ports/math 数値計算ソフトウェア
-ports-mbone: /usr/ports/mbone MBone アプリケーション
-ports-misc: /usr/ports/misc 色々なユーティリティ
-ports-net: /usr/ports/net ネットワーキングソフトウェア
-ports-news: /usr/ports/news USENET ニュースのソフトウェア
-ports-plan9: /usr/ports/plan9 Plan9 からの色々なプログラム
-ports-print: /usr/ports/print 印刷ソフトウェア
-ports-russian: /usr/ports/russian ロシア語サポート
-ports-security: /usr/ports/security よりよい (悪い?) 「セキュリティ」関連のユーティリティ
-ports-shells: /usr/ports/shells 色々な UN*X シェル
-ports-sysutils: /usr/ports/sysutils システムユーティリティ
-ports-textproc: /usr/ports/textproc 文書処理ユーティリティ(デスクトップパブリッシングは含まない)
-ports-vietnamese: /usr/ports/vietnamese ベトナム語サポート
-ports-www: /usr/ports/www WWW 関連のソフトウェア
-ports-x11: /usr/ports/x11 X11 のソフトウェア
-</verb>
-
-<p>また, 上記すべてを含むコレクションがあります:
-<verb>
-ports-all: /usr/ports ports ツリー全体
-</verb>
-
-<!-- The following is currently not available (and probably will never return)
-<p>ports のオリジナルソースを更新し続けたい場合は, 次の行を supfile へ
-追加することができます. ただしこのコレクションは<em>巨大</em>である
-ことに注意してください. そして, FreeBSD ツリー全体を (ある理由で
-``mirror'' は使用できませんが) ミラーリングしている FTP サイトでないので
-あれば, あなたは (そして私たちにとっても) これらを収集する sup を使用しな
-い方がずっといいでしょう:
-<verb>
-ports-distfiles: /usr/ports/distfiles original tarballs
-</verb>
--->
diff --git a/share/doc/ja_JP.EUC/handbook/synching.sgml b/share/doc/ja_JP.EUC/handbook/synching.sgml
deleted file mode 100644
index 2dab7b7..0000000
--- a/share/doc/ja_JP.EUC/handbook/synching.sgml
+++ /dev/null
@@ -1,52 +0,0 @@
-<!-- $Id: synching.sgml,v 1.9 1997/02/25 04:59:07 hanai Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.10 -->
-
-<sect><heading>インターネットを通じたソースツリーの同期<label id="synching"></heading>
-
-<p><em>原作: &a.jkh;.</em>
-<p><em>訳: &a.iwasaki;.<newline>28 December 1996.</em>
-
-<!--
-
-Last updated: $Date: 1997/02/25 04:59:07 $
-
-This document tries to describe the various ways in which a user may
-use the internet to keep development sources in synch.
--->
-
-<p>インターネット接続 (または電子メール) を使用して, あなたの興味の対
-象によって FreeBSD プロジェクトのソースのある一部分または全体の最新を
-追いかける方法は色々あります. 私たちが提供している基本的なサービスは
-CVSup と CTM です:
-
-<p><bf>CVSup</bf> は目下売り出し中で, sup のすべての機能プラスαをそな
-え, 要求するサーバのディスクスペースとネットワーク資源の観点からずっと
-効果的に動作します. このため, CVSup は FreeBSD プロジェクトにおいて
-<ref id="sup"> の大部分を置き換えました. また, sup のように
-<em>pull</em> 同期モデルで動作します.
-
-<p>一方, <bf>CTM</bf> はあなたが持っているソースとマスタアーカイブ上に
-あるそれとの対話的な比較をおこないません.
-そのかわりに, 前回の実行時からの変更を認識するスクリプトがマスタアーカ
-イブ上で一日に数回実行され, すべての変更を compress して通し番号を振り,
-さらに電子メールで転送できるようにエンコードします (印字可能な ASCII
-キャラクタのみです). 受信した後は, これらの「CTM のデルタ」は自動
-的にデコード, 検査してユーザのソースのコピーに変更を適用する
-ctm_rmail(1) によって処理可能となります. この処理は CVSup よりずっと効率
-的であり, <em>pull</em> モデルというよりむしろ <em>push</em> モデルで
-あるため, 私たちのサーバ資源の負荷は軽くなります.
-
-<p>もちろん他のトレードオフもあります. あなたが CVSup でうっかりアーカイブ
-の一部を消してしまっても, CVSup は壊れた部分を検出して再構築してくれます.
-CTM はこれをやってくれません. もしソースツリーの一部を消してしまったら,
-一からやり直して (最新の CVS 「ベースデルタ」から) すべてを再構築しなければ
-なりません.
-
-
-CVSup と CTM, あるいは今では時代遅れとなってしまった sup についての
-詳しい情報については, 以下の節を参照してください:
-
- &ctm;
- &cvsup;
- &sup;
diff --git a/share/doc/ja_JP.EUC/handbook/term.sgml b/share/doc/ja_JP.EUC/handbook/term.sgml
deleted file mode 100644
index b8deaa8..0000000
--- a/share/doc/ja_JP.EUC/handbook/term.sgml
+++ /dev/null
@@ -1,527 +0,0 @@
-<!-- $Id: term.sgml,v 1.5 1997/02/22 13:02:13 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.7 -->
-
-<!-- This is an SGML document in the linuxdoc DTD describing
- hardwired terminals with FreeBSD. By Sean Kelly, (c) 1996.
-
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-
-<linuxdoc>
- <article>
- <title> 端末
- <author> Sean Kelly <tt/kelly@fsl.noaa.gov/
- <date> 24 June 1996, (c) 1996
-
- <abstract> このドキュメントでは, FreeBSD が動作しているコンピュー
-タに接続されたシリアル端末の利用について説明します. 配線も含めたシリア
-ル端末のハードウェアの設定, FreeBSD に接続されたシリアル端末に対してロ
-グイン セッションを可能にするための設定方法, シリアル端末関連のト
-ラブルシューティングについてまとめています.
- </abstract>
-
- <toc>
--->
-
-<sect><heading>シリアル端末<label id="term"></heading>
-
- <p><em>原作: &a.kelly;<newline>28 July 1996</em>
- <p><em>訳: &a.max;</em>
-
-シリアル端末を利用することで, コンピュータのコンソールのそばにいないと
-きや, 手近にネットワーク接続されているコンピュータがないときでも,
-FreeBSD の機能を便利に, かつ安価に利用することができます. ここでは,
-FreeBSD にシリアル端末を接続する方法を解説します.
-
- <sect1><heading>端末の種類と利用方法<label
- id="term:uses"></heading>
-
- <p>もともと Unix システムにはコンソールがありませんでした. ユー
-ザはコンピュータのシリアル ポートに接続された端末からログインして
-プログラムを利用していました. ちょうどモデムと通信ソフトを使ってリモート
-のコンピュータにログインし, テキスト ベースのプログラムを利用するのと
-よく似ています.
-
- 最近の PC は, 高品質の画像を表示できるコンソールを搭載していま
-すが, ほとんどすべての Unix 系 OS には未だにシリアル ポートを使ってログ
-インするための機能があり, FreeBSD でもこの機能がサポートされています.
-現在使用されていないシリアル ポートに端末を接続することでシステムに
-ログインし, 通常はコンソールや Xウィンドウ システムの <tt/xterm/ のウィ
-ンドウ上で起動しているテキスト ベースのプログラムであれば何
-でも利用することができます.
-
-職場での利用ということで考えるならば, FreeBSDが動作しているコンピュー
-タに接続された何台ものシリアル端末を各社員の机に配置するというようなこ
-とが可能です. また, 家庭での利用方法としては, 余っている古い IBM PC や
-Macintosh を FreeBSD が動いているパワフルなコンピュータの端末として利
-用することができます. 普通ならシングルユーザのコンピュータを, パワフ
-ルなマルチユーザのシステムに変えることができるのです.
-
- FreeBSD では, 以下に挙げる3種類の端末が利用できます.
-
- <itemize>
- <item><ref name="ダム (dumb) 端末" id="term:dumb">
- <item><ref name="PCを利用した端末" id="term:pcs">
- <item><ref name="X 端末" id="term:x">
- </itemize>
-
- 以下は, それぞれについての解説です.
-
- <sect2><heading>ダム端末<label id="term:dumb"></heading>
-
- <p>ダム端末は, シリアルライン経由でのコンピュータとの接続専
-用のハードウェアです. ダム端末は, テキストの送受信および表示ができる
-程度の計算能力しかもっていないので, ``dumb'' (間抜け) というように呼ば
-れています. この端末上でプログラムを実行することはできません. テキスト
-エディタ, コンパイラ, E-mail, ゲームなどなどのプログラムを実行するのは,
-ダム端末を接続しているコンピュータの方です.
-
- Digital Equipment社の VT-100 や, Wyse社の WY-75 を初めとして,
-多くのメーカが何百種類もの ダム端末を作っています. ほとんどどんな種
-類のダム端末でも FreeBSD に接続して使用できます. さらに, 高性能の端
-末の中には画像を取り扱えるものもありますが, 限られた数のソフトウェア
-パッケージしかこういった機能には対応していません.
-
- ダム端末は, X ウィンドウ システムで提供されるようなグラ
-フィックアプリケーションを必要としない職場で広く用いられています.
-
- <sect2><heading>PC を端末として利用する<label
- id="term:pcs"></heading>
-
- <p><ref name="ダム端末" id="term:dumb"> がテキストの表示およ
-び送受信の機能をそなえただけのものならば, 言うまでもなく, どんなPC
-もダム端末になり得ます. 必要なものは適切なケーブルと, そのPCの上
-で動作する<em/端末エミュレーション/ を行うソフトウェアのみです.
-
-このような環境は, 家庭においてよく利用されます. たとえば, あなたの同居
-人が FreeBSD のコンソールを専有している時などに, あまりパワーのないコ
-ンピュータを FreeBSD システムにシリアル端末として接続し, その端末上で
-テキストだけを用いる作業をおこなうことができます.
-
- <sect2><heading>X 端末<label id="term:x"></heading>
-
- <p>X 端末は, 既存のものの中で最も洗練された種類の端末といえ
-ます. X 端末は, たいていの場合シリアル ポートで゜はなく, イーサネッ
-トのようなネットワークを利用した接続をおこないます. また, アプリケーション
-の利用においても, テキストベースのものだけでなく, X アプリケーション
-の利用が可能です.
-
- ここでは, 参考までに 端末について紹介しただけで, X 端
-末の設定や利用についての解説は<em/おこないません/.
-
- <sect1><heading>ケーブルとポート<label
- id="term:cables-ports"></heading>
-
- <p>シリアル端末を FreeBSD システムに接続するためには, 適切なケー
-ブルと, 端末を接続するためのシリアルポートが必要です. ここでは, これ
-らについて説明します. もし既にあなたの利用したい端末と, その端末
-を接続するためのケーブルについてよく理解していれば, <ref name="設定"
-id="term:config"> の章まで読み飛ばしてください.
-
- <sect2><heading>ケーブル<label id="term:cables"></heading>
-
- <p>端末の接続は, シリアルポートを利用します. そこで, 端末を
-FreeBSD システムに接続するためには, シリアルケーブル (RS-232C ケーブ
-ルとも呼ばれています) が必要となります.
-
- シリアルケーブルには2種類のケーブルがあります. どちらの種類の
-ケーブルを使わなければいけないかは, どんな端末を接続したいかによります.
-
- <itemize>
- <item>もし, PC を端末として利用したい場合は, <ref
-name="ヌルモデム" id="term:null"> ケーブル (リバースケーブルもしくは
-クロスケーブルと呼ばれることもしばしばあります) を使用してください.
-ヌルモデムケーブルは, コンピュータ同士や端末同士を接続するために用い
-られるケーブルです.
-
- <item>もし, 本物の端末を接続するのであれば, その端末につい
-てきたドキュメントからどのようなケーブルを使うべきか調べてください. も
-しドキュメントがない場合は, まず <ref name="ヌルモデム"
-id="term:null"> ケーブルを試してみて, うまくいかない場合は <ref name="
-スタンダード" id="term:std"> ケーブル (しばしばストレートケーブルと呼
-ばれます) を試してみてください.
- </itemize>
-
- また, 端末側と FreeBSD 側の <em/両方の/ シリア ポート
-の形状が, あなたが使用しようとしているケーブルについているコネクタの形
-状と一致していなければなりません.
-
- <sect3><heading>ヌルモデムケーブル<label id="term:null"></heading>
-
- <p>ヌルモデムケーブル (またはリバースケーブルあるいはクロ
-スケーブル) は, たとえば ``signal ground'' 信号のように, いくつかの信
-号はそのまま通しますが, 他の信号は途中で入れ替えて通します. たとえば,
-``send data'' 信号のピンは, 反対側のコネクタの ``receive data'' 信号の
-ピンと繋がっています.
-
- 自分で使うケーブルは自分で作りたいということであれば, 以下にター
-ミナルを接続する際に推奨されるヌルモデムケーブルの結線を示しておきま
-す. この表では, RS-232C の信号線の名前と, DB-25 コネクタ上のピンの番
-号を示しています.
-<tscreen><verb>
- Signal Pin# Pin# Signal
- TxD 2 ----------------------- 3 RxD
- RxD 3 ----------------------- 2 TxD
- DTR 20 ----------------------- 6 DSR
- DSR 6 ----------------------- 20 DTR
- SG 7 ----------------------- 7 SG
- DCD 8 ----------------------+ 4 RTS*
- *RTS 4 + + 5 CTS*
- *CTS 5 +---------------------- 8 DCD
-
-* まず, コネクタ内部でピン4を5に接続し, そして逆側のコネクタのピン8と接
-続します.
-</verb></tscreen>
-
- <sect3><heading>スタンダード RS-232C ケーブル<label
- id="term:std"></heading>
-
- <p>スタンダードシリアルケーブル (またはストレートケーブル)
-の場合は, すべての RS-232C 信号をそのまま通します. つまり, 片方の ``send
-data'' 信号のピンは, 逆側の ``send data'' 信号のピンと繋がっています.
-モデムを FreeBSD に接続するときや, 一部の端末を接続するときにこのタイプの
-ケーブルを使用します.
-
- <sect2><heading>ポート<label id="term:ports"></heading>
-
- <p>シリアルポートは, FreeBSDが動作しているホスト コンピュータと端
-末の間でデータのやりとりを行うために用いるデバイスです. ここでは,
-現在存在するポートの種類と FreeBSD でのポートのアクセス方法について解
-説します.
-
- <sect3><heading>ポートの種類<label
- id="term:portkinds"></heading>
-
- <p>シリアルポートには何種類かのものがあります. ケーブルを購
-入したり自作したりする前に, そのケーブルのコネクタの形状が端末および FreeBSD
-システムのポートの形状と一致していることを確認してください.
-
-ほとんどの端末は DB25 ポートを搭載しています. FreeBSDが動作しているも
-のを含めて, PCは DB25 または DB9 ポートを搭載しています. マルチポート
-のシリアルカードの場合は, RJ-12 や RJ-45 のポートを搭載しているかもし
-れません.
-
-利用されているポートの種類に関しては, ハードウェアについてきたドキュメ
-ントを参照してください. また, 多くの場合, ポートの形状から判断すること
-もできるでしょう.
-
- <sect3><heading>ポートの名前<label
- id="term:portnames"></heading>
-
- <p>FreeBSDでは, <tt>/dev</tt> ディレクトリ内のエントリを介
-してシリアルポートへのアクセスがおこなわれます. 2種類の異なったエン
-トリがあります.
- <itemize>
- <item>着信用のポートの名前は, <tt>/dev/ttyd<it/x/</tt>
-(<it/x/ は 0から始まるポート番号) となっています. 一般に端末の接続には
-着信用ポートを用います. 着信用のポートでは, シリアルラインのデータ
-キャリア検出 (DCD) 信号がオンになっている必要があります.
-
- <item>発信用のポートの名前は, <tt>/dev/cuaa<it/x/</tt>
-となっています. 発信用のポートは普通モデムの接続に用い, 端末の接続には
-利用しません. ただ, ケーブルまたは端末がキャリア検出信号を使えない
-タイプのものの場合は, 発信用のポートを使うとよいでしょう.
- </itemize>
-
-詳しくは, sio(4) のマニュアルをご覧ください.
-
-たとえば, 端末を一つ目のシリアルポート (DOS でいうところの COM1) に接
-続したとすると, <tt>/dev/ttyd0</tt> がこの端末を指すことになります.
-また, 二つ目のシリアルポート (COM2) ならば <tt>/dev/ttyd1</tt> となり,
-以下この形式のデバイスエントリを使います.
-
- 各シリアルポート, 特にマルチポートのシリアルカードを利用する
-ために, kernel の設定をおこなう必要がある場合がありますので, 注意してくだ
-さい. 詳しくは, <ref name="FreeBSDカーネルのコンフィグレーション"
-id="kernelconfig"> をご覧ください.
-
- <sect1><heading>設定<label id="term:config"></heading>
-
- <p>ここでは, 端末からのログインを可能にするために必要な FreeBSD
-側の設定について解説します. 既に端末を接続するポートが利用できるように
-kernel の設定をおこない, 端末が接続されているものと考えて, 解説を進め
-ます.
-
-簡単に言えば, プロセス管理や初期化をおこなっている <tt/init/ プロセス
-に対して, ログイン名を読み込み <tt/login/ プログラムを起動している
-<tt/getty/ を実行するように指示します.
-
-これをおこなうには, <tt>/etc/ttys</tt> の内容を編集する必要があります.
-まず, <tt/su/ コマンドで root になって, <tt>/etc/ttys</tt> に以下の
-変更を加えてください.
- <enum>
- <item>端末を接続するポートの <tt>/dev</tt> のエントリが含ま
-れている行がまだ存在しなければ, これを <tt>/etc/ttys</tt> に追加してく
-ださい.
-
- <item><tt>/usr/libexec/getty</tt> が対象となるポートに対して
-実行されるように指定してください. また, <tt>/etc/gettytab</tt> ファイ
-ル内の適切な <tt/getty/ タイプのエントリを指定してください.
-
- <item>デフォルトのターミナルタイプを指定してください.
-
- <item>対象となるポートを ``on'' に設定してください.
-
- <item>そのポートが ``secure'' であるかどうかを指定してくださ
-い.
-
- <item><tt/init/ に <tt>/etc/ttys</tt> を読み込みなおさせてく
-ださい.
- </enum>
-
-また, 必要に応じて <tt>/etc/gettytab</tt> を変更し, 上の 2で使用する
-<tt/getty/ のエントリを追加してください. このドキュメントではこの方
-法については特に解説しませんので, gettytab(5) および getty(8) のマニュ
-アルをご覧ください.
-
-以下では, 上のステップについて詳しく解説します. 実例を用いて, 何をす
-べきかを解説していきます. Wyse-50 と, 古い IBM の 286 マシン上で通信
-ソフト Procomm を使って VT-100 エミュレーションをおこなっているものを端
-末の例として紹介します. また, Wyse は 2番目のポートに, 286マシンは 6
-番目のポート (マルチポートのシリアルカード上のポート) に接続します.
-
-<tt>/etc/ttys</tt> について, より詳しくは, ttys(5) のマニュアルをご覧
-ください.
-
- <sect2><heading> <tt>/etc/ttys</tt> へのエントリの追加<label
- id="term:etcttys"></heading>
- <p>既にエントリがある場合を除いて, まず初めに
-<tt>/etc/ttys</tt> にエントリを追加しなければいけません.
-
-<tt>/etc/ttys</tt> には, FreeBSDシステム上のログインを許可するすべての
-ポートを記述します. たとえば, 一つ目の仮想コンソール <tt/ttyv0/ のエン
-トリもこのファイルにあります. このエントリのおかげで, コンソールからの
-ログインが可能になっています. このファイルには, 他の仮想コンソール, シ
-リアルポートおよび仮想端末のエントリも含まれています. 端末を接続する
-場合は, そのポートの <tt>/dev</tt> のエントリを, <tt>/dev</tt> の部分
-を省略して記述します.
-
-FreeBSD のインストール当初の状態では, <tt/ttyd0/ から <tt/ttyd3/ までの,
-初めの四つのシリアルポートのエントリが <tt>/etc/ttys</tt> に記述され
-ています. これらのポートのいずれかに端末を接続する場合は, 新たなエント
-リを追加する必要はありません.
-
-ここで紹介している例では, 既にファイルにエントリが存在する 2番目のシリ
-アルポート, <tt/ttyd0/ に Wyse-50 を接続しています. 一方, 6番目のシ
-リアルポートに接続する 286マシン用のエントリは, 新たに追加してやらな
-ければなりません. 以下に, エントリを追加した後の <tt>/etc/ttys</tt> か
-ら抜粋して示します.
-<tscreen><verb>
-ttyd1 "/usr/libexec/getty std.9600" unknown off secure
-ttyd5
-</verb></tscreen>
-
- <sect2><heading><tt/getty/ タイプの指定<label
- id="term:getty"></heading>
- <p>次に, 端末からのログインを処理するプログラムの指定をおこな
-います. FreeBSDでは, 標準的には <tt>/usr/libexec/getty</tt> をこの目的
-で利用しています. <tt/login:/ プロンプトを送り出しているのは, このプロ
-グラムです.
-
-<tt/getty/ プログラムは, コマンドラインパラメータとして,
-<em/<tt/getty/ タイプ/ をとります. ただし, このパラメータは必須ではあ
-りません. <tt/getty/ タイプは, ボーレートやパリティといった, 接続され
-た端末の特徴を表すものです. <tt/getty/ プログラムは, 与えられた
-<tt/getty/ タイプに対応したこれらの特徴を <tt>/etc/gettytab</tt> から
-読み込みます.
-
-ファイル <tt>/etc/gettytab</tt> には, 新旧の端末に関する多数のエントリ
-が記述されています. ほとんどの場合, <tt/std/ という文字列で始まる名前
-のエントリを使えば, 接続された端末に対してログインセッションを提供す
-ることができます. これらのエントリを利用した場合, パリティは無視されま
-す. 110 bps から 115200 bps までのボーレートに対応した <tt/std/ のエン
-トリがあります. 当然, 新たなエントリを追加することも可能です.
-gettytab(5) のマニュアルに, さらに詳しく解説されています.
-
-<tt>/etc/ttys</tt> の <tt/getty/ タイプの設定をする際は, 端末側の通信
-パラメータの設定が, <tt/getty/ タイプのものと一致していることを確認し
-てください.
-
-紹介している実例では, Wyse50 はパリティなし 38400 bps で接続していま
-す. また, 286 マシンの方は, パリティなし 19200 bps の接続です. 以下は,
-この段階でのこの二つの端末に関する <tt>/etc/ttys</tt> の設定です.
-<tscreen><verb>
-ttyd1 "/usr/libexec/getty std.38400" unknown off secure
-ttyd5 "/usr/libexec/getty std.19200"
-</verb></tscreen>
-ここで, 実行するプログラムを指定している 2番目のフィールドが, ダブルクォー
-テーションに囲まれていることに注意してください. こうしないと,
-<tt/getty/ のタイプの指定が, つぎのフィールドとして判断されてしまう可
-能性があるので, 十分注意することが必要です.
-
- <sect2><heading>デフォルトのターミナルタイプの指定<label
- id="term:deftermtype"></heading>
-
- <p><tt>/etc/ttys</tt> の 3番目のフィールドには, そのポートのター
-ミナルタイプのデフォルトを指定します. ダイアルアップ用のポートの場合
-は, ユーザがどのタイプの端末あるいは通信ソフトを利用してダイアルアップ
-してくるかは分からないので, <tt/unknown/ や <tt/dialup/ を記述するの
-が一般的です. 一方, 直結された端末の場合, ターミナルタイプが変わるこ
-とはありませんから, このフィールドには実際のターミナルタイプを記述し
-ます.
-
-一般に, ユーザは <tt/.login/ や <tt/.profile/ などのファイル内で
-<tt/tset/ コマンドを使って, ターミナルタイプをチェックし, 必要ならば
-ターミナルタイプの入力を求めるプロンプトを表示するようにします. この
-とき, <tt>/etc/ttys</tt> の中でターミナルタイプが指定されていれば,
-このプロンプトを表示せずに先に進むことが可能です.
-
-FreeBSD 上で, どのターミナルタイプを利用できるかは,
-<tt>/usr/share/misc/termcap</tt> をご覧ください. このファイルには, お
-よそ 600 のターミナルタイプが定義されています. 必要ならば, 新たなエン
-トリを追加することも可能です. 詳しくは termcap(5) のマニュアルをご覧く
-ださい.
-
-紹介している例では, Wyse-50 のターミナルタイプは Wyse-50 です (もっ
-とも他のタイプをエミュレートすることも可能ですが, ここでは Wyse-50 モー
-ドで使用します. ). また, 286マシン上では Procomm が VT-100 エミュレー
-ションをおこなうように設定されています. 以下が, まだ未完成の
-<tt>/etc/ttys</tt> の関連部分です.
-<tscreen><verb>
-ttyd1 "/usr/libexec/getty std.38400" wy50 off secure
-ttyd5 "/usr/libexec/getty std.19200" vt100
-</verb></tscreen>
-
- <sect2><heading>ポートを利用可能にする<label
- id="term:enable"></heading>
- <p><tt>/etc/ttys</tt> のつぎのフィールド, つまり 4番目のフィー
-ルドは, そのポートをアクティブにするかどうかの設定です. このフィールド
-に ``on'' を指定すると, <tt/init/ プロセスが2番目のフィールドに書かれ
-たプログラム, <tt/getty/ を実行し, ログインのためのプロンプトを送り出
-すようになります. このフィールドに ``off'' を記述すると, <tt/getty/
-は起動されず, よってこのポートからのログインもできなくなります.
-
-ということで, 当然このフィールドには <tt/on/ を指定します. 以下が
-<tt>/etc/ttys</tt> です. それぞれのポートを <tt/on/ にしました.
-<tscreen><verb>
-ttyd1 "/usr/libexec/getty std.38400" wy50 on secure
-ttyd5 "/usr/libexec/getty std.19200" vt100 on
-</verb></tscreen>
-
-
- <sect2><heading>``secure'' なポートの指定<label
- id="term:secure"></heading>
- <p>とうとう最後のフィールドの設定です. (実際にはここでは触れ
-ませんが, オプショナルな<tt/window/ の設定のフィールドも存在するので,
-ほぼ最後のフィールドといった方が正確かもしれません. ) 最後のフィールド
-では, そのポートが安全かどうかを指定します.
-
-ここで, 「安全」なポートとはどういうポートのことでしょう?
-
-これは, root のアカウント (または, ユーザ ID が 0 のアカウント) がロ
-グインしてもよいポートということです. 安全でないポートでは, root のロ
-グインは許可されません.
-
-では, どのように安全なポートとそうでないポートを使えばよいでしょう?
-
-ポートを安全ではないとすることで, そのポートに接続された端末からは,
-root のログインを禁止することができます. FreeBSDシステムの root のパス
-ワードを知っている人は, まず一般ユーザとしてログインしなければなりませ
-ん. スーパユーザの特権を得るためには, そのうえで <tt/su/ コマンドを
-利用しなければいけません.
-
-これによって, root アカウントが不正に利用された場合に, その経過を調査
-する上で二つの記録を利用できるようになります. ユーザのログインと
-<tt/su/ コマンドは, 共にシステムのログに記録を残します (また, ログイン
-は wtmp にも記録を残します. ).
-
-ポートを安全なものとして指定すると, その端末からの root のログインが可
-能になります. root のパスワードを知っている人は, 単に root としてログ
-インできます. この場合は, 当然ログインの記録や <tt/su/ コマンドのログ
-は残りません.
-
-では, どちらを使うべきでしょうか?
-
-単純に ``insecure'' を使うのがよいでしょう. 公共の場所にある訳では<em/な
-い/端末や, 鍵のかかったドアの内側にある端末<em/にも/ ``insecure'' を指
-定する方がよいでしょう. スーパユーザの特権が必要な場合でも, ログイ
-ンして <tt/su/ を実行するのは, ごく簡単なことなんですから.
-
-以下に, ようやく完成した <tt>/etc/ttys</tt> のエントリに端末の場所を表
-すコメントを追加したものを示します.
-<tscreen><verb>
-ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure # Kitchen
-ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure # Guest bathroom
-</verb></tscreen>
-
- <sect2><heading><tt/init/ にファイル <tt>/etc/ttys</tt> の再読み
-込みをさせる<label id="term:hup">
-</heading>
- <p>FreeBSD をブートすると, 最初に起動されるプロセス, <tt/init/が
-<tt>/etc/ttys</tt> を読み込んで, 記述されているプログラムを利用可能な
-ポートに対して実行し, ログインプロンプトを送り出させます.
-
-<tt>/etc/ttys</tt> の編集が終わった後, <tt/init/ に変更を認識させるた
-めに, わざわざ FreeBSD をブートしなおしたくはないでしょう. このような
-場合のために, <tt/init/ は, SIGHUP (hangup) シグナルを受信すると,
-<tt>/etc/ttys</tt> を読み込みなおすようになっています.
-
-<tt>/etc/ttys</tt> の変更を保存したら, 以下のようなコマンドを実行して,
-<tt/init/ に対して SIGHUP を送信します.
-<tscreen><verb>
-kill -HUP 1
-</verb></tscreen>
-(<tt/init/ プロセスのプロセス ID は <em/常に/ 1です. )
-
-すべての設定が正しくおこなわれ, すべてのケーブルがただしく接続されてい
-て, かつ端末の電源が入っていれば, 端末にはログインプロンプトが表示され
-ているはずです. これで, これらの端末からの最初のログインの準備が完了で
-す!
-
- <sect1><heading>トラブルシューティング<label
- id="term:debug"></heading>
- <p>細心の注意を払って設定をおこなっても, ときには端末の接続がう
-まくいかない場合があるでしょう. 以下に, よく見られる問題とその解決方法
-を示します.
-
- <descrip>
- <tag/ログインプロンプトが表示されない/
-
-端末の電源が接続され, スイッチが入っていることを確認してください. もし,
-PC を端末として利用している場合は, 通信ソフトが適切なシリアルポー
-トを利用する設定になっているかどうか確かめてください.
-
-ケーブルがしっかりと端末と FreeBSDが動作しているコンピュータの両方に接続され
-ていることを確認してください. また, 正しい種類のケーブルを利用している
-か確かめてください.
-
-端末と FreeBSD の間の通信速度とパリティの設定が一致していることを確認
-してください. 出力をモニタに表示するタイプの端末の場合は, モニタ
-のコントラストと明るさの設定を確認してください. また, 出力が印刷
-されるタイプの端末の場合は, 紙とインクが十分にあるかどうかを確かめてく
-ださい.
-
-<tt/getty/ が動いていて, 端末を認識していることを確認してください. 以
-下のコマンドで動作中の <tt/getty/ プロセスのリストを得ることができます。
-<tscreen><verb>
-ps -axww|grep getty
-</verb></tscreen>
-その端末に対する <tt/getty/ の情報が表示されるはずです. たとえば, 以下
-の表示例は, <tt/getty/ は 2番目のシリアルポート (<tt/ttyd1/) に対し
-て <tt>/etc/gettytab</tt> 中の <tt/std.38400/ のエントリを使って動作し
-ているということを示しています.
-<tscreen><verb>
-22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1
-</verb></tscreen>
-
-もし, <tt/getty/ プロセスが一つも動いていないようであれば,
-<tt>/etc/ttys</tt> の中で, そのポートを利用可能にする設定をしたかどう
-か確かめてください. また, <tt/kill -HUP 1/ を確実に実行してください.
-
- <tag/ログインプロンプトの代わりにゴミが表示される/
-
-端末と FreeBSDの間の通信速度およびパリティの設定が一致していることを確
-かめてください. また, <tt/getty/ プロセスの情報を調べて, 適切な
-<tt/getty/ のタイプが使用されていることを確認してください. 間違った
-<tt/getty/ タイプが使用されている場合は, <tt>/etc/ttys</tt> を修正し
-てから, <tt/kill -HUP 1/ を実行してください.
-
- <tag/文字が重複して表示される, 入力したパスワードが表示され
-る/
-
-端末または通信ソフトの設定で, 「半二重 (half duplex)」あるいは「ローカ
-ルエコー」となっているところを, 「全二重 (full duplex)」に変更してく
-ださい.
-
- </descrip>
diff --git a/share/doc/ja_JP.EUC/handbook/uart.sgml b/share/doc/ja_JP.EUC/handbook/uart.sgml
deleted file mode 100644
index f358ca9..0000000
--- a/share/doc/ja_JP.EUC/handbook/uart.sgml
+++ /dev/null
@@ -1,1093 +0,0 @@
-<!-- $Id: uart.sgml,v 1.4 1997/02/22 13:02:18 peter Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.5 -->
-
-<!--
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
-
-<!ENTITY % authors SYSTEM "authors.sgml">
-%authors;
-
-]>
--->
-<sect2><heading>UART とは何か, そしてどのように動作するか <label id="uart"></heading>
-
-<p><em>Copyright &copy; 1996 &a.uhclem;, All Rights Reserved.<newline>
-13 January 1996.</em>
-<p><em>訳: &a.saeki;, &a.iwasaki;.<newline>
-11 November 1996.</em>
-
-<!-- Version 1(2) 13-Jan-96 -->
-
-<p>( ここからは &a.saeki; が翻訳を担当)
-
- 汎用非同期送受信コントローラ (UART) はコンピュータのシリアル通信
- サブシステムの鍵となる部品です. UART は何バイトかのデータを受けとり,
- これを 1 ビットずつ順番に送信します. 受信側では, もう一つの UART が
- このビット列を完全なバイト列に組み立て直します.
-
- シリアル転送は, モデムやコンピュータ間の非ネットワーク型の通信,
- ターミナルその他のデバイスで広く使われています.
-
- シリアル転送には主に同期と非同期という二つの形式があります:
- 通信サブシステムの名前は, そのハードウェアでサポートされている
- 通信モードによって変化します.
- 通常, 非同期通信をサポートしているものは文字 "A" を含み,
- 同期通信をサポートしているものは文字 "S" を含みます.
- 以下で両方の形式について詳しく説明します.
-
- 通常使われている略号は以下の通りです:
-<quote>UART 汎用非同期送受信装置 (Universal Asynchronous Receiver/Transmitter)</quote>
-<quote>USART 汎用同期-非同期送受信装置 (Universal Synchronous-Asynchronous Receiver/Transmitter)</quote>
-
-
-<sect3><heading> 同期シリアル転送 </heading>
-
- <p> 同期シリアル転送では, 送信側と受信側がクロックを共有している
- 必要があります. さもなければ, 送信側がストローブまたは
- その他のタイミング信号を供給して, 受信側にデータの次のビットを
- いつ「読み込」めばよいのかを知らせる必要があります.
-
- ほとんどの同期シリアル通信では, 常に何らかのデータが転送され続けます.
- そのため, 転送のタイミングまでに送信データが用意できていなければ,
- 通常のデータのかわりに「埋め草」 (fill character) が送られます.
- 同期通信では, 送信側と受信側との間でデータビットのみが転送されるため,
- 同じビット速度の非同期シリアル通信に比べて効率的です.
- しかし, 送信側と受信側でクロック信号を共有するために余分な電線と
- 回路が必要となる場合には, よりコスト高となる可能性があります.
-
- プリンタやハードディスクでも同期転送の一種が使用されています.
- このときデータが 1 組みの電線で送られる一方, クロック信号または
- ストローブ信号が別の電線で送られます.
- プリンタやハードディスクは通常, シリアルデバイスではありません.
- ほとんどのハードディスクのインターフェース規格では, データを送るための
- 線とは別にクロックまたはストローブ信号を送るための線を持っていて,
- ストローブ 1 回毎に一つのデータ全体を送ります.
- PC 産業界では, これらはパラレルデバイスとして知られています.
-
- PC の標準的なシリアル通信ハードウェアは, 同期モードをサポートして
- いません. ここで同期モードについて述べたのは, 非同期モードとの
- 比較のために過ぎません.
-
-
-<sect3><heading> 非同期シリアル転送 </heading>
-
- <p> 非同期転送は, 送信側がクロック信号を受信側に送らなくても
- データを転送することができます. そのかわり, 送信側と受信側は
- あらかじめタイミングパラメータや同期のために追加される
- 特別なビットについて取り決めをおこなっておかなければなりません.
-
- 非同期転送をおこなうために UART にデータが与えられると,
- 「スタートビット」と呼ばれるビットが転送データの先頭に追加されます.
- スタートビットはデータの転送開始を受信側に知らせるために使われ,
- これにより受信側のクロックを送信側のクロックに同期させます.
- この二つのクロックは, 転送データの残りのビットを転送する間に
- 10% 以上ふらつかないように正確なものでなければなりません.
- (この条件は機械式テレタイプの時代に定められたものなので,
- 現代の電子装置であれば容易に満足させることができます).
-
- スタートビットが送られた後, データの各ビットが最下位 (LSB) から
- 順番に送られます. 転送されるビットの長さはすべて同じになっていて,
- 受信側はそれぞれのビットの中央部でそれが "1" か "0" かを判断します.
- 例えば, 仮に 1 ビットを送るのに 2 秒かかるとすると, 受信側は
- スタートビットの始まりを認識した 1 秒後に信号が "1" か "0" かを調べ,
- その後 2 秒ごとに次のビットの値を調べるという動作を繰り返します.
-
- 送信側は, いつ受信側がビットの値を「見た」のかはわかりません.
- 送信側はクロックにしたがって次々にビットを転送するだけです.
-
- 設定によっては, 1 ワードのデータ全体が送られたあとに
- 送信側が内部で生成したパリティビットを付加する場合があります.
- パリティビットは受信側で簡単なエラーチェックをするために使われます.
- その後に, 最低でも 1 ビットのストップビットが送られます.
-
- 1 ワードのすべてのビットを受信すると, 受信側がパリティビットの
- チェックをおこなうように設定することができます. (パリティビットを
- 使用するかどうか, 送信側と受信側であらかじめ取り決めておかなければ
- なりません). それから受信側はストップビットをチェックします.
- もしもストップビットが期待通りの位置に存在しなければ, UART は
- 転送エラーが発生したと判断して, ホストがデータを読もうとした時に
- フレーミングエラーが起きたと報告します. 通常, フレーミングエラーは
- 送信側と受信側のクロックが一致していなかったり, 信号に割り込みが
- 入った時に起こります.
-
- データが正しく受信されたかどうかにかかわらず,
- UART はスタート, パリティ, ストップビットを自動的に捨てます.
- 送信側と受信側で設定が正しく一致していれば, これらのビットが
- 誤ってホストに転送されることはありません.
-
- 1 回の転送が終了する前に次のデータの転送準備ができていれば,
- 前のデータのストップビットを送った後, 間を空けずに
- 次のデータのスタートビットを送ることができます.
-
- 非同期転送データは「自己同期」なので, 転送するべきデータがない場合は
- 転送路は空き状態になります.
-
-
-<sect3><heading>UART のその他の機能 </heading>
-
- <p> 転送のためにデータをパラレルからシリアルに変換し, 受信時に
- シリアルからパラレルに戻すという基本的な機能の他に, UART は通常,
- 転送路の状態を示したり, リモートデバイスで次のデータを受けとる準備が
- できていない場合にデータの流れを抑制するのに使われる信号のための
- 付加回路も持っています.
- 例えば UART に接続されているデバイスがモデムの場合, モデムは
- 回線上に搬送波 (carrier) が存在していることを報告するかもしれません.
- 一方, コンピュータはこれらの付加信号を操作することにより
- モデムのリセットをおこなったり, かかってきた電話を取らないように
- モデムに指示するかもしれません.
- これらの付加信号の機能はそれぞれ EIA RE232-C 規格で定義されています.
-
-<sect3><heading>RS-232C と V.24 規格 </heading>
-
- <p> ほとんどのコンピュータシステムでは, UART は EIA RS-232C 規格に
- 準拠した信号を生成するための回路に接続されています.
- また, RS-232C の仕様を反映した, V.24 という CCITT 規格に
- 準拠したシステムも存在しています.
-
-<sect4><heading>RS-232C のビット割り当て (マークとスペース) </heading>
-
- <p> RS-232C では, "1" の値を「マーク」, "0" の値を「スペース」と
- 呼びます. 通信路にデータが流れていない時, 回線は「マーキング」
- であるとか, "1" の値を連続して転送し続けているとか言われます.
-
- スタートビットは常に "0" (スペース) で,
- ストップビットは常に "1" (マーク) です.
- このことは, たとえ複数のデータが連続して転送されている場合でも,
- それぞれのデータの転送開始時には必ず, マーク (1) から
- スペース (0) への遷移が回線上で起こるということを意味しています.
-
- これによって, 転送されるデータビットの内容にかかわらず,
- 送信側と受信側のクロックを同期させることができるのです.
-
- ストップビットとスタートビットの間の空き時間は, その通信路で
- 1 ビットを転送するのに必要な時間の正確な倍数である必要はありません.
- (倍数にはゼロを含みます). しかし, ほとんどの UART では
- 設計の単純化のために, 倍数になるように設計されています.
-
- RS-232C では, 「マーク」信号 ("1") は -2V から -12V の間の電圧で,
- 「スペース」信号 ("0") は 0V から +12V の間の電圧で示されます.
- 送信部は +12V または -12V を送ることになっていて, 受信部では
- 長いケーブルによるいくらかの電圧ロスを許容するように定められています.
- (ポータブルコンピュータなどで使用されている) 低消費電力デバイスの
- 送信部では しばしば +5V と -5V のみを使用していますが,
- 短いケーブルを使用するならば, これらの電圧も RS-232C 受信部の
- 許容範囲に入っています.
-
-
-<sect4><heading>RS-232C のブレーク信号 </heading>
-
- <p>RS-232C は「ブレーク」と呼ばれる信号についても定めています.
- これは (スタートビットもストップビットも無しで) 連続して
- スペースの値を送ることで発生されます.
- データ回路に電流が流れていない場合は,
- 回線は「ブレーク」を送り続けているものと解釈されます.
-
- 「ブレーク」信号は完全な 1 バイトとスタート, ストップ, パリティ
- ビットを送るために必要な時間よりも長い間続かなければなりません.
- ほとんどの UART はフレーミングエラーとブレークを区別することが
- できますが, もしも これを区別できない UART があった場合,
- フレーミングエラーの検出をブレークの識別のために
- 使用することができます.
-
- テレタイプの時代には, 国中でおびただしい数のテレタイプが
- (ニュースサービスなどで) 電線で直列に接続されていました.
- 任意のテレタイプユニットは, 電流が流れないように一時的に回路を
- オープンにすることで「ブレーク」信号を発生させることができました.
- これは, 他のテレタイプが情報を送信している間に, 緊急ニュースを
- 送る必要のあるテレタイプが割り込みをかけるために使われました.
-
- 現在のシステムでは, ブレーク信号には二つのタイプがあります.
- もしブレーク信号が 1.6 秒よりも長ければ, それは
- 「モデムブレーク」であると解釈されます.
- モデムがこの信号を検出すると, 通信を終了して電話を切ったり,
- コマンドモードに入るようにプログラムされていることがあります.
- もしブレーク信号が 1.6 秒よりも短ければ, それはデータブレークを
- 示します. この信号に応答するのはリモートコンピュータの仕事です.
- この形のブレークは, しばしば注意喚起または割り込みのための信号として
- 使われ, ASCII の CONTROL-C 文字の代用とされることもあります.
-
- マークとスペースは紙テープシステムでの「穴空き」と「穴無し」に
- 相当しています.
-
- ブレーク信号は, 紙テープまたはその他のバイト列から生成できない
- ことに注意してください. なぜならバイト列は常にスタートビットや
- ストップビットとともに送られるからです.
- UART には通常, ホストプロセッサからの特別なコマンドにより
- 連続したスペース信号を生成する能力があります.
-
-<sect4><heading>RS-232C の DTE デバイスおよび DCE デバイス </heading>
-
- <p>RS-232C 規格は二つのタイプの装置を定めています:
- それはデータターミナル装置 (DTE) とデータキャリア装置 (DCE) です.
- 通常, DTE デバイスはターミナル (またはコンピュータ) で, DCE は
- モデムです. 電話回線を介した通信のもう一方の端である受信側のモデムも
- また DCE デバイスで, そのモデムに接続されているコンピュータは
- DTE デバイスです. DCE デバイスが信号を受け取るピンは DTE デバイスが
- 信号を送るピンであり, また逆も同様です.
-
- 二つのデバイスがともに DTE であったり, ともに DCE であって,
- モデムやそれに類似したメディア変換装置を介さずに接続する必要が
- ある場合, ヌルモデム (NULL modem) を使わなければなりません.
- ヌルモデムはケーブルを電気的に再配列し, 一方のデバイスの送信出力が
- もう一方のデバイスの受信入力に接続され, その逆もまた同様に
- 接続されるようにしてくれます.
- 同様の変換はすべての制御信号についておこなわれ, それぞれのデバイスが
- 他方のデバイスからの DCE (または DTE) 信号を受けとれるようになります.
-
- DTE デバイスと DCE デバイスで生成される信号の数は等しくありません.
- DTE デバイスが DCE デバイスのために生成する信号の数は,
- DTE デバイスが DCE デバイスから受けとる信号の数よりも
- 少なくなっています.
-
-<sect4><heading>RS-232C のピン割当て </heading>
-
- <p>EIA の RS-232C 規格 (およびこれに相当する ITU の V.24 規格) は
- 25 ピンのコネクタ (通常 DB25 が使われます) を要求し,
- そのコネクタのほとんどのピンの使用目的を定義しています.
-
- IBM PC および類似のシステムでは, RS-232C 信号のサブセットが
- 9 ピンのコネクタ (DB9) で提供されています.
- 主に同期モードで使用される信号は PC のコネクタには含まれていませんが,
- もともと この転送モードは IBM が IBM PC で使用することにした
- UART ではサポートされていません.
-
- メーカーによっては RS-232C 用のコネクタに DB25 か DB9,
- またはその両タイプのコネクタを使っている場合があります.
- (IBM PC はパラレルプリンタインターフェースにも DB25 コネクタを
- 使っているので, このことは しばしば混乱を引き起こします.)
-
- 以下は DB25 および DB9 コネクタにおける RS-232C 信号の割り当て表です.
-
-<verb>
-DB25 DB9 EIA CCITT 一般 信号源 説明
-RS-232C IBM PC 回路 回路 名称
-端子 端子 符号 符号
-
-1 - AA 101 PG/FG --- 保安用接地
-2 3 BA 103 TD DTE 送信データ
-3 2 BB 104 RD DCE 受信データ
-4 7 CA 105 RTS DTE 送信要求
-5 8 CB 106 CTS DCE 送信可
-6 6 CC 107 DSR DCE データセットレディ
-7 5 AV 102 SG/GND --- 信号用接地
-8 1 CF 109 DCD/CD DCE 受信キャリア検出
-9 - - - - - 予約 (テスト用)
-10 - - - - - 予約 (テスト用)
-11 - - - - - 未割当て
-12 - CI 122 SRLSD DCE 従局受信キャリア検出
-13 - SCB 121 SCTS DCE 従局送信可
-14 - SBA 118 STD DTE 従局送信データ
-15 - DB 114 TSET DCE 送信信号エレメントタイミング
-16 - SBB 119 SRD DCE 従局受信データ
-17 - DD 115 RSET DCE 受信信号エレメントタイミング
-18 - - 141 LOOP DTE ローカルループバック
-19 - SCA 120 SRS DTE 従局送信要求
-20 4 CD 108.2 DTR DTE データ端末レディ
-21 - - - RDL DTE リモートデジタルループバック
-22 9 CE 125 RI DCE 被呼表示
-23 - CH 111 DSRS DTE データ信号速度選択
-24 - DA 113 TSET DTE 送信信号エレメントタイミング
-25 - - 142 - DCE テストモード
-</verb>
-
-
- <sect3><heading> ビット, ボー, そしてシンボル </heading>
-
- <p> ボーとは非同期通信における転送速度の単位です.
- モデム通信技術の進歩により, 新しいデバイスのデータ速度を
- 表記するにあたって, この用語が しばしば誤って使われるようになりました.
-
- ボーレートは伝統的に, 通信路を通して実際に送られるビットの数を
- 表します. ある DTE デバイスからもう一方へと実際に移動した
- データの量を表すものではありません.
- ボーレートは, 送信側 UART で生成されて受信側 UART で取り除かれる
- スタート, ストップ, パリティといったオーバーヘッドビットをも
- 含んでいます.
- これは 1 ワード 7 ビットのデータを送るためには, 実際には 10 ビットの
- データが完全に転送される必要があるということを意味します.
- そのため, もしパリティを使い, スタートビットとストップビットが
- それぞれ 1 ビットずつ存在する場合には, 1 秒あたり 300 ビットの
- 転送能力を持つモデムでは, 7 ビットのワードを通常 30 個しか
- 転送することができません.
-
- もし 1 ワード 8 ビットのデータとパリティビットを使用する場合には,
- データ転送速度は 1 秒あたり 27.27 ワードまで低下します.
- なぜなら 8 ビットのワードを送るのに 11 ビットが必要で,
- このモデムは 1 秒間に 300 ビットしか送ることができないからです.
-
- 1 秒あたりの転送バイト数をボーレートに変換したり, その逆をおこなう
- 計算式は, エラー訂正をおこなうモデムが現れるまでは単純でした.
- エラー訂正をおこなうモデムは, ホストコンピュータの UART から
- シリアルのビット列を受けとり, それをバイト列に戻します.
- (内蔵モデムを使用している場合でさえ, データは今まで通り
- 頻繁にシリアル化されます)
- その後これらのバイトはパケットに変換され, 同期転送方式を用いて
- 電話回線を通じて送信されます.
- これは DTE (コンピュータ) 中の UART で追加されたストップ, スタート
- およびパリティビットは, モデムから送り出される前に, モデムによって
- 取り除かれるということを意味します.
- これらのバイト列がリモートモデムに受信されると, リモートモデムは
- スタート, ストップおよびパリティビットを追加して, それらを
- シリアル形式に変換し, リモートコンピュータの受信側 UART に送ります.
- そしてリモートコンピュータの UART はスタート, ストップおよび
- パリティビットを取り除きます.
-
- これらの特別な変換はすべて, 二つのモデムの間でエラー訂正が
- 実行できるようにするためおこなわれています.
- エラー訂正とは, 受信側のモデムが正しいチェックサムで
- 受信できなかったデータブロックの再送を,
- 送信側のモデムに要求することができるということです.
- この作業はモデムにより処理されて, DTE デバイスは
- このようなプロセスがおこなわれていることに, 通常気がつきません.
-
- スタート, ストップおよびパリティビットを取り除くことにより,
- エラー訂正のために二つのモデムの間で共有しなければならない
- 追加のビットを, 実効転送速度を低下させずに送ることができます.
- そのため, 送受信 DTE にはエラー訂正がおこなわれているかどうかが
- ほとんど見えなくなります.
- 例えば, もしモデムが 10 個の 7 ビットデータをもう一方のモデムに送る
- 際に, スタート, ストップ, およびパリティビットを送る必要がなければ,
- その分の 30 ビットの情報を, 真のデータの転送速度に影響を与えることなく
- エラー訂正のために追加することができるわけです.
-
- データ圧縮をおこなうモデムでは, ボーという言葉の使い方は
- さらに混乱することになります.
- 例えば電話回線を通じて送られた二つの 8 ビットデータは,
- 送信側モデムに送られた 12 バイトのデータを表すかもしれません.
- 受信側モデムはそのデータを本来の内容に展開し, 受信側の DTE に渡します.
-
- また, 最近のモデムはバッファを内蔵しており, (DCE から DCE へ) 電話線を
- 流れるデータの転送速度と, 両端の DTE と DCE の間で流れるデータの
- 転送速度とを別々に設定することができます.
- モデムによる圧縮を使用する場合, 通常は DTE と DCE の間の速度を
- DCE と DCE の間の速度より速くしておきます.
-
- 1 バイトを記述するのに必要なビットの数は, 二つのマシンの間でも
- DTE-DCE と DCE-DCE のリンクでそれぞれ変化する場合がありますし,
- そのうえ, それぞれのビット転送速度が異なる場合もあります. そのため,
- 全体としての通信速度を表現するためにボーという言葉を使うことは
- 問題でもありますし, 真の転送速度を正しく伝えない場合があります.
- 1 秒あたりの転送ビット数 (bps) は DCE と DCE の間のインターフェースに
- おける転送速度を記述するために使うなら正しい用語ですし,
- ボーまたは 1 秒あたりのビット数は, 二つのシステムが電線で直接
- 接続されていたり, エラー訂正や圧縮をおこなわないモデムが
- 使われている場合には, 許容可能な用語です.
-
- 最近の高速モデム (2400, 9600, 14,400, 19,200bps などのもの) も,
- 実際には 2,400 ボー (正確には 2,400 シンボル/秒) か, それ以下の
- 速度で通信しています. 高速モデムでは, 複数のビットを一つのシンボルで
- 伝送する技術 (多値符合化など) を用いて, シンボル速度 (シンボル/秒) よりも
- 高い通信速度 (ビット/秒) を達成しています.
- これが電話の限られた音声帯域で高い伝送速度を得られる理由です.
- 28,800bps やそれ以上のモデムでは, シンボル速度自体が
- 可変になっていますが, それ以外は同様の技術が用いられています.
-
- <sect3><heading>IBM PC の UART</heading>
-
- <p> 元祖 IBM PC を設計した際に, IBM はナショナル・セミコンダクタ社の
- INS8250 UART を IBM PC パラレル/シリアルアダプタで使用することに
- 決めました.
-
- IBM 自身やその他のベンダが作っている後継世代の AT 互換機でも,
- INS8250 そのものやナショナル・セミコンダクタの UART ファミリの
- 改良版を使い続けられています.
-
-<sect4><heading> ナショナル・セミコンダクタの UART ファミリ系統図 </heading>
-
- <p>INS8250 UART にはいくつかのバージョンと後継の部品があります.
- 主要なバージョンを以下に示します.
-
-<verb>
- INS8250 -> INS8250B
- \
- \
- \-> INS8250A -> INS82C50A
- \
- \
- \-> NS16450 -> NS16C450
- \
- \
- \-> NS16550 -> NS16550A -> PC16550D
-</verb>
-
-<descrip>
- <tag>INS8250</tag> この部品は元祖 IBM PC と IBM PC/XT で
- 使われていました.
- この部品は本来 INS8250 ACE (Asynchronous Communications Element) と
- いう名前で, NMOS 技術で作られていました.
-
- 8250 は八つの I/O ポートを占有し, 送信バッファ 1 バイトと
- 受信バッファ 1 バイトを持っています. この元祖の UART はいくつかの
- 競合状態などに関する欠陥を持っています.
- 元祖の IBM BIOS はこれらの欠陥を回避してうまく動くようなコードを
- 含んでいましたが, そのために BIOS が欠陥の存在に依存するように
- なってしまいました. このため, 元祖 IBM PC や IBM PC/XT では
- 8250A, 16450, または 16550 のような後継部品を使うことは
- できませんでした.
-
- <tag>INS8250-B</tag> これは NMOS 技術で作られた INS8250 の低速版です.
- これもオリジナルの INS8250 と同じ問題を含んでいます.
-
- <tag>INS8250A</tag> XMOS 技術を使い, さまざまな機能的欠陥を修正した
- INS8250 の改良版です. INS8250A は当初, 「クリーン」な BIOS を
- 使用したベンダの PC クローンで使用されていました.
- なぜなら欠陥が修正されたことにより, この部品は INS8250 や INS8250B の
- ために書かれた BIOS で使うことはできなかったからです.
-
- <tag>INS82C50A</tag> これは INS8250A の CMOS 版 (低消費電力版) で,
- INS8250A と同じ機能特性を持っています.
-
- <tag>NS16450</tag> より高速な CPU バスにも対応できるように
- 改良されたこと以外は NS8250A と同じです.
- IBM はこの部品を IBM AT で使うことに決め, もはや IBM BIOS が
- INS8250 のバグに依存しなくなるように変更をおこないました.
-
- <tag>NS16C450</tag> これは NS16450 の CMOS 版 (低消費電力版) です.
-
- <tag>NS16550</tag> 送信バッファと受信バッファをそれぞれ 16 バイトに
- 変更したこと以外は NS16450 と同じですが, バッファの設計に
- 欠陥があるため, 信頼して使用することはできません.
-
- <tag>NS16550A</tag> バッファの欠陥が修正されたこと以外は NS16550 と
- 同じです. 割り込みへの反応が遅い OS でも高い信頼性で高速なデータを
- 扱うことができることから, 16550A とその後継部品は PC 産業界で
- 最も一般的に使われる UART となりました.
-
- <tag>NS16C552</tag> これは 2 個の NS16C550A CMOS UARTを
- 一つのパッケージに入れた部品です.
-
- <tag>PC16550D</tag> ささいな欠陥が修正されたこと以外は NS16550A と
- 同じです. これは 16550 ファミリの D リビジョンで,
- ナショナル・セミコンダクタ社から提供されている最新の部品です.
-</descrip>
-
-<sect4><heading>NS16550AFとPC16550Dは同じもの</heading>
-<p>( ここからは &a.iwasaki; が翻訳を担当)
-
- <p>ナショナル・セミコンダクタは数年前に部品番号体系を再編成して
- おり, NS16550AFN という名称はもはや存在しません. (もしあなたが
- NS16550AFN を持っていたら, 部品の日付コードを見てください. それは
- 通常 9 から始まる4桁の数字です. 最初の2桁の数字は年度, 次の2桁
- は部品がパッケージされた年度の週です. あなたの持っている
- NS16550AFN は, おそらく数年前のものでしょう.)
-
- 新しい番号は PC16550DV の様に, パッケージ材料と形状により接尾辞
- に小さな違いがあります (番号体系についての記述は後述します).
-
- ここで注意しなければいけないことがあります. 例えば, ある店に行って
- 1990年製の NS16550AFN を15米ドルで売っているとします. ところが,
- そのすぐ隣には ナショナル・セミコンダクタが AFN を生産開始してから
- それにマイナーな変更を加えて作った PC16550DN があり, そちらは
- 最近 6ヶ月に作られたものなのに, 簡単に入手できるため NS16550AFN の
- 半額 (たくさん一度に買うと 5米ドルまで下がることもあります) 位で
- 買えたりすることがあるのです.
-
- NS16550AFN のチップ供給は減少し続けているため, PC16550DN が古い
- 部品番号のものとまったく同じ機能を持っていることに, より多くの人が
- 気付いて受け入れるまでは, 価格はおそらく上昇し続けるでしょう.
-
-<sect4><heading>ナショナル・セミコンダクタの部品番号体系</heading>
-
- <p> 古い NS<em>nnnnnrqp</em> の部品番号は, 現在
- PC<em>nnnnnrgp</em> というフォーマットになっています.
-
- 「<em>r</em>」はリビジョンのフィールドです. 現在のナショナルセ
- ミコンダクタの 16550 のリビジョンは「D」です.
-
- 「<em>p</em>」はパッケージタイプのフィールドです. タイプは以下
- の通りです:
-<verb> "F" QFP (quad flat pack) L lead type
- "N" DIP (dual inline package) through hole straight lead type
- "V" LPCC (lead plastic chip carrier) J lead type</verb>
-
- <p>訳注: 具体的なパッケージ形状についての情報は <htmlurl
- url="http://www.national.com/packaging/plastic.html"
- name="http://www.national.com/packaging/plastic.html" >を参照
- してください.
-
- 「<em>g</em>」は製品グレードのフィールドです. もしパッケージタイ
- プの文字の前に「I」があれば, 「工業用」グレード部品を表し, 標準
- 部品より高いスペックを持ちますが, Miltary 仕様 (Milspec) ほど高
- くはありません. これは付加的なフィールドです.
-
- 私たちがかつて NS16550AFN (DIP パッケージ) と呼んでいたものは, 現在
- は PC16550DN または PC16550DIN と呼ばれています.
-
- <sect3><heading>他のベンダと類似の UART</heading>
-
- <p>長年に渡り, 8250, 8250A, 16450 そして 16550 はライセンスされ,
- または他のチップベンダにコピーされてきました. 8250, 8250A そして
- 16450 の場合は, そのものの回路 (「megacell」: LSIの中に組み込む
- ことのできるライブラリ化された回路の大規模な物) が Western
- Digital と Intel を含むたくさんのベンダにライセンスされまし
- た. 他のベンダは部品をリバースエンジニアリングした物か同じように
- 動作する互換品を製造しました.
-
- 内蔵モデムにおいては, モデム設計者はモデムのマイクロプロセッサで
- 8250A/16450 をエミュレートすることはよくおこなわれます. このエミュレート
- による (互換の) UART は数百バイトの隠れたバッファを持つでしょう.
- バッファのサイズのため, このような互換品は高速データ処理の能力では
- 16550A と変わらない信頼性を持つことができます. しかし, それでも
- ほとんどのオペレーティングシステムは UART は 8250A か 16450 である
- と報告し, 特殊なドライバが使用されなければ エミュレートによる UART
- の余分に存在するバッファリングの効果的な使用はおこないません.
-
- 幾つかのモデムメーカーは, 市場における競争を有利にするために数百バ
- イトのバッファを持ち 16550A の置き換えができるはずの設計を, たとえ
- 性能が低下する事になったとしても棄てざるを得なくなるような市場の圧
- 力を受けています.
-
- 一般的にある誤解は, 「16550A」と書かれたすべての部品が同じ性能であると
- いうことです. それらは異なるものであり, 状況によってはまちがいなく
- 欠陥と呼べるものがこれらの 16550A クローンのほとんどにあります.
-
- NS16550 が開発された時に, ナショナル・セミコンダクタは設計に関する
- 幾つかの特許を取得し, 彼らはライセンスを制限して他のベンダが類似
- の特徴を持つチップを供給することを困難にしました. 特許のため, リバー
- スエンジニアリングによる設計とエミュレーションは, 特許がカバーする
- 請求権を侵害を回避しなくてはなりませんでした. 結果として, これらの
- コピーのほとんどは, 多くのコンピュータとモデムのメーカーは支払いた
- くはない程の価格であった本物の部品の NS16550A または PC16550D とまった
- く同じような動作をさせることはできませんでした.
-
- 16550A のクローン部品ののいくつかの相違点は, その相違点を除いた点だ
- けがオペレーティングシステムやドライバで使われるのであれば重要では
- ありません. これらの相違点は他のドライバを使用している時または, 良
- くテストされなかったとか Windows ドライバで考慮されなかった実際の
- イベントの組み合せが発生した時に出てくるでしょう.
- これはほとんどのモデムベンダと 16550 クローンメーカーが, NS16550A
- との互換性のプライマリテストとして Windows for Workgroups 3.11 と
- Microsoft MSD ユーティリティの Microsoft ドライバを使用しているか
- らです. この安易過ぎる規準は, もし異なるオペレーティングシステムが
- 使用されたらクローンと本物の部品の微妙な違いのために問題が発生し得
- る, ということを意味しています.
-
- ナショナル・セミコンダクタは, どんな OS のドライバからも独立した互
- 換性テストを実行する COMTEST という名前の入手可能なプログラムを作
- 成しました. このタイプのプログラムの目的は, 競合製品にある欠陥のデ
- モンストレーションであることをおぼえておくべきです. ですからそのプ
- ログラムは, テスト中の部品の動作の重要な問題と極めてささいな相違を
- 同じように報告するでしょう.
-
- この文書の著者が1994年に実行した一連のテストでは, ナショナルセミ
- コンダクタ, TI, StarTech そして CMD が製造した部品は megacell 及び
- COMTEST でテストされた内蔵モデムに埋め込まれたエミュレーションと同
- 等です. これらの部品のの幾つかで注目される相違点を以下に示します.
- これらのテストは1994年に実行されたので, これらはベンダから供給さ
- れた製品の現在の性能には反映されないでしょう.
-
- 極端に多くの問題やあるタイプの問題が検出された場合に, COMTEST は通
- 常は実行を中止することに注意してください. このテストの一部では, たと
- え何回相違点に遭遇しても中止しないように COMTEST を修正しました.
-
-
-<verb>ベンダ 部品番号 報告された「相違点」として知られるエラー
-National (PC16550DV) 0 *
-
-National (NS16550AFN) 0
-
-National (NS16C552V) 0 *
-
-TI (TL16550AFN) 3
-
-CMD (16C550PE) 19
-
-StarTech (ST16C550J) 23
-
-Rockwell reference modem
- with internal 16550 or an
- emulation (RC144DPi/C3000-25) 117
-
-Sierra modem with an internal
- 16550 (SC11951/SC11351) 91</verb>
-
- <p>COMTEST からの相違点の単純なカウントが, 何の相違点が重要であり
- どれがそうでないのかについて多くを明らかにしないことを理解すること
- が大切です. 例えば, 内蔵の UART を持つ上記の二つのモデムで報告され
- た相違点の約半分が, 5及び6ビットキャラクタモードをサポートしないク
- ローンの UART によって引き起こされました. 本物の 16550, 16450 そし
- て 8250 UART すべてはこれらのモードをサポートし, COMTEST はこれらの
- モードの機能性をチェックするので, 50を越える相違点が報告されました.
- しかし, 5及び6ビットキャラクタモードをサポートするモデムは殆どなく,
- 特ににこれらはエラー修正と圧縮機能付のものです. これは5及び6ビット
- キャラクタモードに関連した相違点は差し引いて考えることができること
- を意味しています.
-
- COMTEST が報告した相違点の多くは, タイミングに関する点でしょう.
- 多くのクローンの設計では, ホストが一つのポートから読み込んだ時に他
- のあるポートのステータスビットは, <em>本当の</em> NS16550AFN と同じ
- 長さの時間内で更新されない (あるものは速く, あるものは遅く) かもしれ
- ませんが, COMTEST はこれらの相違点を探します. これは相違点の数は誤
- 解を招き易いものです. あるデバイスには一つか二つの相違点しかありま
- せんがそれらは非常に重大かもしれません. また別のデバイスは基準部品
- と比べて速くまたは遅く status レジスタを更新するために (適切に書か
- れたドライバの操作にはまったく影響しないかもしれません) 多くの相違点を
- 報告されるかもしれません.
-
- * この文書の著者は今まで, COMTEST プログラムを使用して相違点がゼロ
- と報告されるナショナル・セミコンダクタ以外の部品を一つも発見しませ
- んでした. ナショナル・セミコンダクタは長年に渡り 16550 の五つのバー
- ジョンを持っており, 最新の部品は機能性のために, ベンチマークを考慮
- した古い NS16550AFN と少し異なる振る舞いをすることに注意するべきで
- す. COMTEST はナショナル・セミコンダクタの製品ラインの相違点につい
- ては見て見ぬふりをするようになり, 部品のリビジョン A, B そして C
- にあるバグが記述されている公式な正誤表がある時でも, (オリジナルの
- 16550 を除いては) ナショナル・セミコンダクタの部品についてエラーを
- 報告しなくなったので, この COMTEST のひいきを考慮にいれるべきです.
-
- COMTEST は問題を引き起こすかも知れない, または特殊なケースとして処
- 理しなければならない潜在的に矛盾した部品の存在に対して, 管理者に警
- 告を出すスクリーニングツールとして使用できます.
-
- もしモデムの中にある 16550 やシリアルポート接続されているモデムに
- 対して COMTEST を実行する場合, モデムがテストキャラクタをエコーし
- ないように最初に ATE0&amp;W コマンドをモデムに発行する必要がありま
- す. これをおこなうことを忘れた場合, COMTEST は少なくともこの相違点を
- 報告するでしょう:
- <quote>Error (6)...Timeout interrupt failed: IIR = c1 LSR = 61</quote>
-
- <sect3><heading>8250/16450/16550 のレジスタ</heading>
-
- <p>8250/16450/16550 UART は八つの連続する I/O ポートアドレスを予約
- しています. IBM PC ではこれらの八つのポートに対して二つの定義された
- 位置があり, それらは集合的に COM1 と COM2 として知られています. PC
- クローンとアドオンカードのメーカーは COM3 と COM4 として知られる二つ
- の付加的な領域を作成しましたが, 幾つかのシステムではこれらの余分な
- COM ポートは他のハードウェアと衝突します. 最もよく起きるものは IBM
- 8514 エミュレーションを提供するビデオアダプタとの衝突です.
-
-<verb>
-COM1 には 0x3f8 から 0x3ff が割り当てられ, 通常 IRQ 4 が使用されます
-COM2 には 0x2f8 から 0x2ff が割り当てられ, 通常 IRQ 3 が使用されます
-COM3 には 0x3e8 から 0x3ef が割り当てられ, IRQ は標準化されていません
-COM4 には 0x2e8 から 0x2ef が割り当てられ, IRQ は標準化されていません
-</verb>
-<p>8250/16450/16550 UART のI/Oポートの詳細は以下に提供されています.
-
-<verb>
-I/O 許可された 説明
-ポート アクセス
-
-+0x00 write Transmit Holding Register (THR)
- (DLAB==0) このポートに書き込まれた情報はデータ命令として
- 処理され, UART により送信されます.
-
-+0x00 read Receive Buffer Register (RBR)
- (DLAB==0) シリアル接続から UART によって受信されたすべての
- データ命令は, このポートを読むことによってホス
- トによりアクセスされます.
-
-+0x00 write/read Divisor Latch LSB (DLL)
- (DLAB==1) マスタ入力クロックの周波数をこのレジスタに入っ
- ている値で割ることにより, UART の周波数が決定
- されます (IBM PCでは, マスタクロックの周波数は
- 1.8432MHzです). このレジスタには上記の除数の下
- 位8ビットが入っています.
-
-
-+0x01 write/read Divisor Latch MSB (DLH)
- (DLAB==1) マスタ入力クロックの周波数をこのレジスタに入っ
- ている値で割ることにより, UART の周波数が決定
- されます (IBM PCでは, マスタクロックの周波数は
- 1.8432MHzです). このレジスタには上記の除数の上
- 位8ビットが入っています.
-
-+0x01 write/read Interrupt Enable Register (IER)
- (DLAB==0) 8250/16450/16550 の UART はイベントを四つのカテ
- ゴリの一つに分類します. それぞれのカテゴリは設
- 定可能です. それぞれのカテゴリは, どんな類のイ
- ベントの発生時に割り込みを生成するように設定可
- 能です. 8250/16450/16550 の UART は, 有効になっ
- ているカテゴリ内でいくつのイベントが発生してい
- るかに関わらず, 単一の外部割り込みシグナルを生
- 成します. 割り込みに応答し有効になっている割り
- 込みカテゴリ (通常すべてのカテゴリが有効になって
- いる割り込みを持ちます) を割り込みの本当の原因
- を決定するためにポーリングするかは, ホストのプ
- ロセッサ次第です.
-
- Bit 7 予約済み, 常に 0.
-
- Bit 6 予約済み, 常に 0.
-
- Bit 5 予約済み, 常に 0.
-
- Bit 4 予約済み, 常に 0.
-
- Bit 3 Enable Modem Status Interrupt (EDSSI)
- このビットを「1」に設定することで,
- 一つ以上の状態ラインで変更が発生した時
- に, UART が割り込みを生成可能となりま
- す.
-
- Bit 2 Enable Receiver Line Status
- Interrupt (ELSI)
- このビットを「1」に設定することで, 入っ
- てくるデータにエラー (または BREAK シ
- グナル) が検知された時に, UART が割り
- 込みを生成するようになります.
-
- Bit 1 Enable Transmitter Holding Register
- Empty Interrupt (ETBEI)
- このビットを「1」に設定することで,
- UART に送信される一つ以上の付加的な文
- 字に対する空きが生じた時に, UART が割
- り込みを生成するようになります.
-
- Bit 0 Enable Received Data Available
- Interrupt (ERBFI)
- このビットを「1」に設定することで,
- UART が FIFO のトリガーレベルを越え
- る十分な文字を受け取るか, FIFO のタイ
- マが期限切れとなるか (古くなったデータ),
- FIFO が無効の場合にシグナル文字が受信
- された時に, UART が割り込みを生成する
- ようになります.
-
-
-+0x02 write FIFO Control Register (FCR)
- (このポートは 8250 と 16450 の UART では
- 存在しません.)
-
- Bit 7 Receiver Trigger Bit #1
- Bit 6 Receiver Trigger Bit #0
- この二つのビットは FIFO が機能している
- 場合にレシーバがどの時点で割り込みを生
- 成するかを制御します.
-
- 7 6 割り込み生成前にいくつの命令が
- 受信されたか.
-
- 0 0 1
-
- 0 1 4
-
- 1 0 8
-
- 1 1 14
-
- Bit 5 予約済み, 常に 0.
-
- Bit 4 予約済み, 常に 0.
-
- Bit 3 DMA Mode Select
- Bit 0 が「1」 (FIFO 有効) に設定されて
- いる場合, このビットの設定は -RXRDY と
- -TXRDY の処理を Mode 0 から Mode 1 へ
- 変更します.
-
- Bit 2 Transmit FIFO Reset
- このビットに「1」が書き込まれている場
- 合, FIFO の内容は破棄されます. 現在送
- 信されているすべての命令は損なわれずに送
- られるでしょう. この機能は送信中止の場
- 合に役に立ちます.
-
- Bit 1 Receiver FIFO Reset
- このビットに「1」が書き込まれている場
- 合, FIFO の内容は破棄されます. 現在
- shift レジスタ内で組み立てられているすべ
- ての命令は損なわれずに受信されるでしょ
- う.
-
- Bit 0 16550 FIFO Enable
- 設定されている場合, 送信 / 受信両方の
- FIFO が有効になります. holding レジス
- タ, shift レジスタまたは FIFO 内のすべて
- の内容は, FIFO が有効または無効になっ
- た時点で失われます.
-
-
-+0x02 read Interrupt Identification Register (IIR)
-
- Bit 7 FIFO有効.
- 8250/16450 UART では, このビットはゼロ.
-
- Bit 6 FIFO有効.
- 8250/16450 UART では, このビットはゼロ.
-
- Bit 5 予約済み, 常に0.
-
- Bit 4 予約済み, 常に0.
-
- Bit 3 Interrupt ID Bit #2
- 8250/16450 UART では, このビットはゼロ.
- Bit 2 Interrupt ID Bit #1
- Bit 1 Interrupt ID Bit #0
- これらの3つのビットは進行中の割り込み
- を引き起こしたイベントのカテゴリを併せ
- て報告します. これらのカテゴリは優先度
- を持つため, イベントの複数のカテゴリが
- 同時に発生した場合, UART は最初に最も
- 重要なイベントを報告し, ホストは報告さ
- れた順に解決するでしょう. 現在の割り込
- みを引き起こしたすべてのイベントは, 新し
- い割り込みが生成される前に解決されなけ
- ればなりません (これは PC のアーキテク
- チャの制限です).
-
- 2 1 0 優先度 説明
-
- 0 1 1 First レシーバエラー
- (OE, PE, BI または
- FE)
-
- 0 1 0 Second 有効な受信データ
-
- 1 1 0 Second トリガーレベル
- 識別子
- (受信バッファ中の
- 古いデータ)
-
- 0 0 1 Third トランスミッタに
- 命令用の空きがある
- (THRE)
-
- 0 0 0 Fourth モデムの状態が
- 変わった (-CTS,
- -DSR, -RI, または
- -DCD)
-
- Bit 0 Interrupt Pending Bit
- このビットが「0」に設定されている場合,
- 少なくとも一つの割り込みがペンディング
- されています.
-
-+0x03 write/read Line Control Register (LCR)
-
- Bit 7 Divisor Latch Access Bit (DLAB)
- 設定されている場合, transmit/receive
- register (THR/RBR) と Interrupt Enable
- Register (IER) へのアクセスが無効にな
- ります. 現在これらのポートへのすべてのア
- クセスは Divisor Latch Register へリダ
- イレクトされます. このビットの設定,
- Divisor Register のローディング, そし
- て DLAB のクリアは割り込みが無効になっ
- ている状態でおこなわれるべきです.
-
- Bit 6 Set Break
- 「1」に設定されている場合, トランスミッ
- タはこのビットが「0」に設定されるまで
- スペースを切り目なく送信します. これは
- 送信されている文字のすべてのビットに優先
- します.
-
- Bit 5 Stick Parity
- parity が有効になっている場合, このビッ
- トの設定はビット4の値に基づき parity
- を常に「1」か「0」にします.
-
- Bit 4 Even Parity Select (EPS)
- parity が有効でビット5が「0」の場合,
- このビットの設定は偶数 parity が送信そ
- して要求されるようにします. そうでなけ
- れば奇数 parity が使用されます.
-
- Bit 3 Parity Enable (PEN)
- 「1」に設定されている場合, データの最
- 後のビットとストップビットの間に
- parity ビットが挿入されます. また UART
- は受信データに存在する parity を要求す
- るでしょう.
-
- Bit 2 Number of Stop Bits (STB)
- 「1」に設定されている場合, 5-bit デー
- タ命令を使用して, 1.5の Stop ビットが
- 送信され各データ命令内に要求されま
- す. 6, 7 そして 8-bit データ命令に対し
- ては, 2つの Stop ビットが送信され要求
- されます. このビットが「0」に設定され
- ている場合, 1つの Stop ビットが各デー
- タ命令で使用されます.
-
- Bit 1 Word Length Select Bit #1 (WLSB1)
-
- Bit 0 Word Length Select Bit #0 (WLSB0)
- これらのビットは共に各データ命令内のビッ
- トの数を指定します.
-
- 1 0 命令長
-
- 0 0 5 Data Bits
- 0 1 6 Data Bits
- 1 0 7 Data Bits
- 1 1 8 Data Bits
-
-+0x04 write/read Modem Control Register (MCR)
-
- Bit 7 予約済み, 常に 0.
-
- Bit 6 予約済み, 常に 0.
-
- Bit 5 予約済み, 常に 0.
-
- Bit 4 Loop-Back Enable
- 「1」に設定されている場合, UART のトラ
- ンスミッタとレシーバは診断処理のために
- 内部的に相互に接続されます. 付け加えて
- UART のモデム制御出力はモデム制御入力
- に接続されます. CTS は RTS へ, DTR は
- DSRへ, OUT 1 は R1 へ, OUT 2 は DCD へ
- 各々接続されます.
-
- Bit 3 OUT 2
- ホストのプロセッサが high または low
- に設定するであろう補助的な出力. IBM PC
- のシリアルアダプタ (とクローンの殆ど)
- では, OUT 2 は 8250/16450/16550 UART
- からの割り込み信号をハイインピーダンス
- (無効) にするのに使用されます.
-
- Bit 2 OUT 1
- ホストのプロセッサが high または low
- に設定するであろう補助的な出力. IBM PC
- のシリアルアダプタではこの出力は使用
- されません.
-
- Bit 1 Request to Send (RTS)
- 「1」に設定されている場合, UART の
- -RTS ラインの出力は Low (有効) となり
- ます.
-
- Bit 0 Data Terminal Ready (DTR)
- 「1」に設定されている場合, UART の
- -DTR ラインの出力は Low (有効) となり
- ます.
-
-
-+0x05 write/read Line Status Register (LSR)
-
- Bit 7 Error in Receiver FIFO
- 8250/16450 UART では, このビットはゼロ
- です. FIFOの中に次のエラー条件が一つ以
- 上含まれている場合, このビットは「1」
- に設定されます: PE, FE, または BI.
-
- Bit 6 Transmitter Empty (TEMT)
- 「1」に設定されている場合, 送信 FIFO
- または送信 shift レジスタ中に残ってい
- る命令はありません. トランスミッタは完
- 全に働いていません.
-
- Bit 5 Transmitter Holding Register Empty (THRE)
- 「1」に設定されている場合, 現在 FIFO
- (または holding レジスタ) には少なくと
- も一つの送信される付加的な命令に対する
- 空きあります. このビットが「1」に設定
- されている時は, 多分トランスミッタはま
- だ送信しています.
-
- Bit 4 Break Interrupt (BI)
- レシーバは Break シグナルを検知しました.
-
- Bit 3 Framing Error (FE)
- Start ビットが検知されましたが, Stop
- ビットは要求された時間内には現れません
- でした. 受信された命令はおそらく勝手に
- 解釈されます.
-
- Bit 2 Parity Error (PE)
- parity ビットが受信された命令に対して
- 不正です.
-
- Bit 1 Overrun Error (OE)
- 新しい命令が受信され, 受信バッファに空
- きがありませんでした. shift レジスタに
- 新たに到着した命令は破棄されます.
- 8250/16450 UART では, holding レジスタ
- 内の命令は破棄され新たに到着した命令は
- holding レジスタに置かれます.
-
- Bit 0 Data Ready (DR)
- 一つ以上の命令がホストが読むであろう受
- 信 FIFO にあります. このビットが設定さ
- れる前に, 命令は完全に受信され shift
- レジスタから FIFO (または 8250/16450
- の設計では holding レジスタ) へ移動さ
- れなければなりません.
-
-
-+0x06 write/read Modem Status Register (MSR)
-
- Bit 7 Data Carrier Detect (DCD)
- UART の DCD ラインの状態を反映します.
-
- Bit 6 Ring Indicator (RI)
- UART の RI ラインの状態を反映します.
-
- Bit 5 Data Set Ready (DSR)
- UART の DSR ラインの状態を反映します.
-
- Bit 4 Clear To Send (CTS)
- UART の CTS ラインの状態を反映します.
-
- Bit 3 Delta Data Carrier Detect (DDCD)
- ホストによって MSR が最後に読み込まれ
- た時点から, -DCD ラインが状態を一回以
- 上変えた場合に「1」に設定されます.
-
- Bit 2 Trailing Edge Ring Indicator (TERI)
- ホストによって MSR が最後に読み込まれ
- た時点から, -RI ラインが low から high
- へ移り変わった場合に「1」に設定されま
- す.
-
- Bit 1 Delta Data Set Ready (DDSR)
- ホストによって MSR が最後に読み込まれ
- た時点から, -DSR ラインが状態を一回以
- 上変えた場合に「1」に設定されます.
-
- Bit 0 Delta Clear To Send (DCTS)
- ホストによって MSR が最後に読み込まれ
- た時点から, -CTS ラインが状態を一回以
- 上変えた場合に「1」に設定されます.
-
-
-+0x07 write/read Scratch Register (SCR)
- このレジスタは UART では機能しません. この場所
- には どんな値でもホストによって書き込まれるこ
- とができ, その後ホストによって読み込むことが可
- 能です.
-</verb>
-
- <sect3><heading>16550A UART を越えて</heading>
-
- <p>ナショナル・セミコンダクタは付加的な機能を持つ 16550 と互換
- 性のある部品を提供していませんが, 色々な他のベンダがそれを持っ
- ています. これらの部品の幾つかは以下に記述されています. 効果的
- にこれらの改良を使用するためには, 殆どのポピュラーなオペレーティ
- ングシステムが 16550 が提供する機能以上のものをサポートしない
- ため, ドライバはチップベンダから提供されなければならないことを
- 理解しておく必要があります.
-
-<descrip>
-<tag>ST16650</tag>デフォルトではこの部品は NS16550A と似ていますが, 拡
- 張された32バイトの送受信バッファをオプションで有効にで
- きます. Startech により製造されました.
-
-<tag>TIL16660</tag>デフォルトではこの部品は NS16550A と類似した振舞いを
- しますが, 拡張された64バイトの送受信バッファをオプショ
- ンで有効にできます. Texas Instruments により製造されま
- した.
-
-<tag>Hayes ESP</tag>この専売特許のプラグインカードは, 2048バイトの送受
- 信バッファを含み, 230.4Kbit/sec のデータレートをサポー
- トします. Hayes により製造されました.
-
-</descrip>
-
- <p>これらの「ダム」UART に加え, たくさんのベンダがインテリジェ
- ントシリアルコミニュケーションボードを製造しています. こ
- のタイプの設計は通常マイクロプロセッサを提供しており, このマイ
- クロプロセッサは幾つかの UART へのインタフェースとなってデータ
- を処理 / バッファリングし, そして必要な時にメインの PC のプロセッ
- サへ警告を出します. UART はこのタイプのコミニュケーションシ
- ステムにおいて PC のプロセッサによって直接アクセスされないため,
- ベンダにとっては 8250, 16450, または 16550 UART と互換性のある
- UART を使用する必要はありません. これにより設計者は, より良い
- 性能特性を持つ部品が自由に利用できます.
-
-<!-- 601131 ? -->
-
diff --git a/share/doc/ja_JP.EUC/handbook/userppp.sgml b/share/doc/ja_JP.EUC/handbook/userppp.sgml
deleted file mode 100644
index 9f617ae..0000000
--- a/share/doc/ja_JP.EUC/handbook/userppp.sgml
+++ /dev/null
@@ -1,791 +0,0 @@
-<!-- $Id: userppp.sgml,v 1.7 1997/05/10 03:45:18 max Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.17 -->
-
-<sect>ユーザ PPP の設定<label id="userppp">
-
-<!-- この FAQ あるいは手引は, <em>ユーザレベル ppp</em>または
- 単に<em>ppp</em>としても知られている iijppp を,
- あなたの FreeBSD 2.0.5 (以降) で動くようにすることを目的としています.
-
-<p>また, iijppp を ppp サーバとして使う方法の概略についても述べています.
-
-<p>このドキュメントは もともと Nik Clayton によって書かれたものですが,
- 現在では何年にもわたる共同作業の成果となっています.
-
--->
-
-<p>ユーザ PPP は FreeBSD 2.0.5-RELEASE において,
- 既存のカーネル実装版の PPP に加えて導入されました.
- それでは, これまでの pppd との違い, すなわち
- この新しい PPP が追加された理由とは いったい何なのでしょうか?
- マニュアルから引用してみます:
-
-<quote>
- これはユーザプロセス PPP ソフトウェアパッケージです.
- 通常, PPP は (例えば pppd でそうなっているように) カーネルの一部として
- 実装されていますので, デバッグや動作の変更が少々困難です.
- しかし, この実装では, PPP はトンネルデバイスドライバ (tun) の
- 助けにより, ユーザプロセスとして実装されています.
-</quote>
-
- 本質として, これは常に PPP デーモンを実行しておかなくても,
- 必要な時に ppp プログラムを実行できるということを意味します.
- このプログラムはカーネルとのデータ送受のために一般のトンネルデバイスを
- 使うことができるため, PPP インターフェースをカーネルに組み込んでおく
- 必要がありません.
-
- 以降では, ユーザ ppp と他の PPP クライアント/サーバソフトウェアとを
- 区別する必要がありませんので, ユーザ ppp を単に ppp とだけ呼びます.
- 特に断らない限り, このセクションのすべてのコマンドは root 権限で
- 実行する必要があります.
-
- 訳者注: 以前の日本語ハンドブックでは, iij-ppp のオリジナルアーカイブに
- 附属する日本語ドキュメントの参照をおすすめしていました.
- しかし最近では FreeBSD 独自の拡張がいろいろと追加され, もともとの
- iij-ppp のドキュメントではカバーしきれなくなって来ています.
- ですが心配はいりません. 日本語マニュアルプロジェクトから
- FreeBSD の日本語版マニュアルページが配布されるようになりました.
- こちらもハンドブックとあわせて参照されることをおすすめします.
-
-<sect1><heading>スタートの前に</heading>
-
-<p>このドキュメントでは, あなたが
- およそ以下のような状況にあると仮定しています:
-
- PPP 接続の使えるインターネットサービスプロバイダ (ISP) のアカウントを
- 持っている. さらに, 接続済みのモデム (またはその他のデバイス) があり,
- プロバイダとの接続が可能なように正しく設定されている.
-
- 以下の情報を手に入れておく必要があるでしょう:
-
-<itemize>
- <item>プロバイダのゲートウェイの IP アドレス.
- ゲートウェイとは, あなたがそこに接続をおこなって,
- <tt>デフォルトルート</tt>として設定することになるマシンです.
-
- <item>プロバイダのネットマスク設定. もし不明な場合には,
- ネットマスクとして 0xffffff00 を仮定しておきます.
-
- <item>一つ以上のネームサーバの IP アドレス. 通常, 二つの IP アドレスが
- プロバイダから示されているはずです.
-
- <item>もしプロバイダが固定の IP アドレスとホスト名を割り当てているのなら,
- 同様にそれも必要になるでしょう. そうでなければ, どのアドレス範囲から
- IP アドレスの割り当てがおこなわれるかを知っておく必要があるでしょう.
- もし範囲が示されていないとしても, 任意の IP アドレスを
- 受け入れるようにすることが可能です (後で説明します).
-</itemize>
-
- もしこれらの情報のうち不明なものがあれば, プロバイダに連絡して
- 確認しておいてください.
-
- これに加えて, インターネットへの接続は常時おこなわれているわけではなく,
- そのためネームサーバ (<tt>named(8)</tt>) を立ち上げていないと仮定します.
- ネームサーバを立ち上げているのであれば, <tt>/etc/resolv.conf</tt>ファイルの
- 設定に関する情報は無視してください.
-
-<sect1><heading>ppp 対応カーネルの構築</heading>
-
-<p>説明でも述べているように, ``ppp'' はカーネルの ``tun'' デバイスを使います.
- そのため, このデバイスがカーネルに組み込まれているかどうか
- 確認しておかなくてはいけません.
-
- これを確認するには, カーネルコンパイルディレクトリ
- (おそらくは /sys/i386/conf) に移動して, カーネルコンフィグレーション
- ファイルを調べます. 以下の行がどこかに含まれている必要があります.
-
-<tscreen><verb>
- pseudo-device tun 1
-</verb></tscreen>
-
- 元々の GENERIC カーネルは標準でこれを含んでいますので,
- カスタムカーネルをインストールしているのではなかったり,
- /sys ディレクトリが存在しないのであれば, 何も変更する必要はありません.
- この行がカーネルコンフィグレーションファイルに含まれていなかったり,
- tun デバイスが一つでは足りない場合 (例えば, 同時に 16 本の
- ダイアルアップ ppp 接続を処理できるサーバを立ち上げるとしたら,
- ``1'' のかわりに ``16'' を指定する必要があるでしょう), この行を追加して
- カーネルの再コンパイルとインストールをおこなう必要があります.
- それからこの新しいカーネルを使ってブートしてください.
- カーネルコンフィグレーションの詳細については,
- <ref id="kernelconfig" name="FreeBSD カーネルのコンフィグレーション">
- を参照してください.
-
-<p>以下のコマンドを実行することで, 現在のカーネルに
- いくつのトンネルデバイスが組み込まれているかを調べることができます:
-
-<tscreen><verb>
- # ifconfig -a
- tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
- inet 200.10.100.1 --> 203.10.100.24 netmask 0xffffffff
- tun1: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 576
- tun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
- inet 203.10.100.1 --> 203.10.100.20 netmask 0xffffffff
- tun3: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500
-</verb></tscreen>
-
- この例ではトンネルデバイスが四つあって, うち二つに設定がおこなわれていて
- 現在使用中であることがわかります.
-
-<p>トンネルデバイスがカーネルに組み込まれておらず, 何らかの理由で
- カーネルの再構築ができない場合でも, 方法がないわけではありません.
- 動的にデバイスをロードすることができるはずです. 詳細については
- modload(8) や lkm(4) など, 適切なマニュアルを参照してください.
-
-<p>この機会にファイアウォールも設定したいと思っているのであれば,
- 詳細については<ref id="firewalls" name="ファイアウォール">セクションを
- 参照してください.
-
-<sect1><heading>tun デバイスの確認</heading>
-
-<p>ほとんどのユーザは ``tun'' デバイス (tun0) が一つあれば充分でしょう.
- より多くのデバイスを使う場合 (すなわち, カーネルコンフィグレーション
- ファイルで疑似デバイスの行に `1' 以外の数値を指定している場合),
- 以下の ``tun0'' に対する参照をすべて, あなたが使うデバイスの番号に
- あわせて読みかえてください.
-
- tun0 デバイスが正しく設定されていることを確認する最も簡単な方法は,
- それを作り直すことです. そのためには, 以下のコマンドを実行します:
-
-<tscreen><verb>
- # cd /dev
- # ./MAKEDEV tun0
-</verb></tscreen>
-
-<p>カーネルに 16 個のトンネルデバイスを組み込んだのであれば,
- tun0 だけでなく他の tun デバイスも作成しておく必要があるでしょう:
-
-<tscreen><verb>
- # cd /dev
- # ./MAKEDEV tun0 tun1 tun2 tun3 tun4 tun5 tun6 tun7 tun8 tun9
- # ./MAKEDEV tun10 tun11 tun12 tun13 tun14 tun15
-</verb></tscreen>
-
-<p>また, カーネルが正しく設定されているかどうか調べるために,
- 以下のコマンドで このような出力が得られるかどうかを確認します:
-
-<tscreen><verb>
- $ ifconfig tun0
- tun0: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500
- $
-</verb></tscreen>
-
-<sect1><heading>PPP の名前解決に関する設定</heading>
-
-<p>リゾルバ (resolver) はネットワーキングシステムの一部分で, IP アドレスと
- ホスト名との変換をおこないます. これは, IP アドレスとホスト名を
- 対応させるためのマップを, 二つの場所のうちの一つから探すように設定できます.
- 一つめは<tt>/etc/hosts</tt> (<tt>man 5 hosts</tt>) と呼ばれるファイルです.
- 二つめはインターネットドメインネームサービス (DNS) とよばれる
- 分散データベースですが, これに関する議論はこのドキュメントの扱える範囲を
- 越えていますので, これについての説明はおこないません.
-
-<p>このセクションではリゾルバの設定方法について簡単に説明します.
- 既に DNS を使用しているのであれば, このセクションは飛ばしてもかまいません.
-
-<p>リゾルバは名前のマッピングをおこなうシステムコールの集合体です. ただし
- どこからマッピング情報を得るのかは, あなたが指示する必要があります.
- これはまず<tt>/etc/host.conf</tt>ファイルを編集することでおこないます.
- 混乱の元ですので, このファイルを<tt>/etc/hosts.conf</tt>と
- 呼んだりしては<bf>いけません</bf> (余分な ``s'' がついていますね).
-
-<sect2><heading>/etc/host.conf ファイルの編集</heading>
-
-<p>このファイルは以下の 2 行を含んでいるはずです:
-
-<tscreen><verb>
- hosts
- bind
-</verb></tscreen>
- これは, 最初に<tt>/etc/hosts</tt>ファイルを調べ,
- 目指す名前が見つからなければ DNS を引きにいくようリゾルバに指示します.
-
-<sect2><heading>/etc/hosts(5) ファイルの編集</heading>
-
-<p>このファイルはローカルネットワーク上に存在するマシンの IP アドレスと
- ホスト名を含んでいるはずです. 最低でも ppp を動作させるマシンのエントリが
- 含まれている必要があります. そのマシンのホスト名が foo.bar.com で,
- IP アドレスが 10.0.0.1 であると仮定すると, <tt>/etc/hosts</tt>は
- 以下の行を含んでいなければいけません:
-
-<tscreen><verb>
- 127.0.0.1 localhost
- 10.0.0.1 foo.bar.com foo
-</verb></tscreen>
-
- 一つめの行は ``localhost'' を現在のマシンの別名として定義しています.
- マシン固有の IP アドレスが何であっても, この行の IP アドレスは
- 常に 127.0.0.1 でなければいけません. 二つめの行はホスト名 ``foo.bar.com''
- (と, その省略形 ``foo'') を IP アドレス 10.0.0.1 にマップします.
-
- もしプロバイダから固定の IP アドレスを割り当てられているのであれば,
- それを 10.0.0.1 のかわりに使ってください.
-
-<sect2><heading>/etc/resolv.conf ファイルの編集</heading>
-
-<p><tt>/etc/resolv.conf</tt> はネームサーバをそのマシンで走らせていない場合に
- 必要になる特別な情報を含んでいます. これは実際のネームサーバの位置を
- リゾルバルーチンに示したり, その他いくつかの情報を指定したりします.
-
- <tt>/etc/resolv.conf</tt>には問い合わせが可能なネームサーバを少なくとも
- 一つ指定しておく必要がありますが, できれば二つ指定するのが望ましいでしょう.
- これは (ホスト名ではなく) IP アドレスで書かなければいけません. 例えば:
-
-<tscreen><verb>
- nameserver 1.2.3.4
- nameserver 1.2.3.5
-</verb></tscreen>
-
- 接続するプロバイダの「ネームサーバ」指定をすべて書いてください.
- このファイルの各エントリの詳細については,
- resolv.conf のマニュアルページを参照してください.
-
-<sect1><heading>PPP の設定</heading>
-
-<p>ユーザ ppp と pppd (カーネルレベルの PPP 実装) は
- どちらも<tt>/etc/ppp</tt>ディレクトリに置かれた設定ファイルを使います.
- 設定ファイルのサンプルが提供されていて, ユーザ ppp の設定をおこなう際に
- 大変参考になりますので, 削除したりしないでください.
-
-<p>ppp の設定をするためには, 必要に応じて三つまでのファイルを編集する必要が
- あります. 書き込む内容は, プロバイダが静的に IP アドレスを割り当てる
- (つまり, 固定の IP アドレスを一つ与えられて, 常にそれを使う) か,
- または動的に IP アドレスを割り当てる (つまり, PPP セッションごとに
- IP アドレスが変化する可能性がある) かということに ある程度依存します.
-
-<sect2><heading>静的 IP アドレスによる PPP 接続</heading>
-
-<p><tt>/etc/ppp</tt>ディレクトリにファイルを三つ作成する必要があります.
-
-<p>一つめのファイルは<tt>ppp.conf</tt>です. 以下の例とほぼ同じようなものに
- なるでしょう. ``:'' で終る行は 1 カラム目から始まり, その他の行は
- スペースまたはタブで以下の例のように段をつける (インデントする) 必要が
- あることに注意してください.
-
- <tt>/etc/ppp/ppp.conf</tt>
-<tscreen><verb>
-1 default:
-2 set device /dev/cuaa0
-3 set speed 38400
-4 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0 OK-AT-OK
-\\dATDT\\T TIMEOUT 40 CONNECT"
-5 provider:
-6 set phone 01234567890
-7 set login "TIMEOUT 10 gin:-BREAK-gin: foo word: bar col: ppp"
-8 set timeout 120
-9 set ifaddr x.x.x.x y.y.y.y
-10 delete ALL
-11 add 0 0 y.y.y.y
-12 set openmode active
-</verb></tscreen>
- 行番号はファイルに書かないでください. これは, 解説の際に
- 参照する行を示すためにつけたものです.
-
-<descrip>
-<tag/Line 1:/ デフォルトエントリを指定します. このエントリ中のコマンドは
- ppp が起動された際に自動的に実行されます.
-
-<tag/Line 2:/ モデムが接続されているデバイスを指定します.
- COM1: は<tt>/dev/cuaa0</tt>に,
- COM2: は<tt>/dev/cuaa1</tt>になります.
-
-<tag/Line 3:/ 通信速度 (DTE 速度) を指定します.
-
-<tag/Line 4:/ ダイアルスクリプトを指定します.
- ユーザ ppp は<tt>chat(8)</tt>言語に似た, 受信待ち文字列と
- 送信文字列の対からなるスクリプトを使用します.
- この言語の機能に関しては, マニュアルページを参照してください.
-
-<tag/Line 5:/ 接続するプロバイダの名前 ``provider'' を
- エントリ名として指定します.
-
-<tag/Line 6:/ このプロバイダの電話番号を指定します.
- 複数の電話番号を `:' で区切って指定することができます.
-
-<tag/Line 7:/ ログインスクリプトを指定します. ログインスクリプトも
- ダイアルスクリプトと同様の記述方法になります.
- この例は, 以下のようなログインセッションを使用している
- プロバイダのためのものです.
-
-<tscreen><verb>
- J. Random Provider
- login: foo
- password: bar
- protocol: ppp
-</verb></tscreen>
-
- このスクリプトは必要に応じて書きかえる必要があるでしょう.
-
-<tag/Line 8:/ デフォルトの接続タイムアウト時間を (秒数で) 指定します.
- この例では, 120 秒間 通信がおこなわれなければ
- 自動的に接続を切るように指定しています.
-
-<tag/Line 9:/ インターフェースのアドレスを指定します. 文字列 x.x.x.x は
- プロバイダに割り当てられた IP アドレスで置きかえてください.
- 文字列 y.y.y.y はプロバイダから指示されたゲートウェイ
- (接続先となるマシン) の IP アドレスで置きかえてください.
-
-<tag/Line 10:/ この PPP 接続で使用する tun デバイスに関する,
- 既存のルーティングテーブルエントリをすべて削除します.
-
-<tag/Line 11:/ プロバイダ側の IP アドレスをデフォルトルートに指定します.
- この IP アドレスは常にプロバイダのゲートウェイの
- IP アドレスでなければいけません.
-
-<tag/Line 12:/ こちら側からネゴシエーションを開始するように指示します.
- これは接続相手が自分からネゴシエーションを開始するように
- 設定されている場合には必要ありませんが, 両側とも自分から
- Line Control Protocol (LCP) を開始するように設定されていても
- 何も問題はありません.
-</descrip>
-
-<p>二つめのファイルは<tt>/etc/ppp/ppp.linkup</tt>です:
-
-<tscreen><verb>
- x.x.x.x:
- delete ALL
- add 0 0 HISADDR
-</verb></tscreen>
-
-<p>先ほどと同じように, プロバイダに割り当てられた IP アドレスで x.x.x.x を
- 置きかえます. このファイルは, この PPP 接続に関する既存のルートをすべて
- 自動的に削除したり, プロバイダから このマシンへのルートを
- デフォルトルートとして追加するのに使われます.
- (HISADDR マクロは自動的にプロバイダ側のアドレスに置きかえられます)
-
-<p>プロバイダが静的な IP アドレスを割り当ててくれるなら,
- 実は<tt>/etc/ppp.linkup</tt>ファイルにエントリを書く必要はありません.
- しかし, 繰り返しになりますが, 書いてあっても何の問題もありません.
-
-<p>最後は, 三つめのファイル<tt>/etc/ppp/ppp.secret</tt>です.
- このファイルでは ppp サーバへのアクセスを制御するためのパスワードを
- 設定することができます. 複数の人がこの ppp システムを使うのであれば,
- パスワードを設定したいと思う場合があるかもしれません.
-
-<p>これらのファイルのサンプルが<tt>/etc/ppp</tt>ディレクトリに置かれています.
-
-<sect2><heading>動的 IP アドレスによる PPP 接続</heading>
-
-<p>プロバイダが静的な IP アドレスの割り当てをおこなっていない場合,
- <tt>ppp</tt>が相手側のホスト (ゲートウェイ) と交渉して,
- こちら側と相手側のアドレスを決めるように設定することができます.
- これは, 起動時には「仮」のアドレスを使っておいて,
- 接続時に LCP により ppp が IP アドレスを正しく設定できるようにすることで
- 実現されます. その他の設定は, 静的な IP アドレスを使う場合と同じです.
-
-<p>静的な IP アドレスを使う場合の<tt>ppp.conf</tt>ファイルの
- エントリの該当部分を以下のように変更します:
-
-<tscreen><verb>
- ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0
- delete ALL
- add 0 0 10.0.0.2
-</verb></tscreen>
-
-<p>こちら側と相手側, どちらの IP アドレスに対しても, 0 を指定するべきでは
- 「ありません」. もし 0 を指定すると, ppp が正しい初期エントリを
- ルーティングテーブルに設定することができなくなるでしょう.
-
-<p>``/'' 文字の後ろの数字は, アドレス交渉の際に固定しておきたいビット数です.
-
-<p><tt>ppp.conf</tt> を読み込んだ時点では, まだ HISADDR マクロが
- 使えないことにも注意してください.
- このマクロが使えるのは<tt>ppp.linkup</tt>の中でだけです.
-
-<p>詳細なサンプルについては,
- <tt>/etc/ppp/ppp.conf.sample</tt>ファイル中の pmdemand エントリと
- <tt>/etc/ppp/ppp.linkup.sample</tt>を参照してください.
-
-<sect2><heading>かかってきた電話を PPP で受けるには</heading>
-
-<p>このセクションでは iijppp をサーバとして設定する方法について説明します.
-
-<p>かかってきた電話を<tt>ppp</tt>が受けるように設定する場合,
- <tt>ppp</tt>接続についてだけパケットをフォワードするようにしたいのか,
- すべてのインターフェースについてフォワードするようにしたいのか,
- それともまったくフォワードをおこないたくないのかを決めなければいけません.
- ppp 接続についてだけフォワードをおこなうためには,
- 以下の行を<tt>ppp.conf</tt>ファイルに追加しておきます.
-
-<tscreen><verb>
- enable proxy
-</verb></tscreen>
-
- すべてのインターフェースについてパケットの転送をおこないたい場合は,
- 以下のオプションを<tt>/etc/rc.conf</tt>に設定してください. (このファイルは
- 以前のバージョンの FreeBSD では<tt>/etc/sysconfig</tt>と呼ばれていました)
-
-<tscreen><verb>
- gateway=YES
-</verb></tscreen>
-
-<sect3><heading>どの getty を使おうか?</heading>
-
-<p>getty を使ってダイアルアップサービスをおこなうための優れた解説が
- <ref id="dialup" name="FreeBSD でダイアルアップサービスをおこなうための設定">
- にあります.
-
-<p>getty に代わるものとしては,
- <url url="http://www.leo.org/~doering/mgetty/index.html" name="mgetty">
- があります. これは getty をより柔軟にしたもので,
- ダイアルアップ回線での使用を意図して設計されています.
-
-<p>mgetty を使う場合の利点は, mgetty が積極的にモデムと<em>通信する</em>
- ということです. つまり, もし<tt>/etc/ttys</tt>でポートを閉じた場合,
- モデムは電話をとらないようになります.
-
-<p>最近のバージョンの mgetty (0.99beta 以降) では, PPP ストリームの
- 自動検出もサポートされています. これにより, クライアント側で
- スクリプトを準備しなくともサーバにアクセスすることができます.
-
-<p>mgetty の入手方法と正しい設定については, このドキュメントの扱う範囲を
- 越えています.
- 訳者注: 最近の ports および packages には mgetty+sendfax が含まれています.
-
-<sect3><heading>動的 IP ユーザのための PPP シェルの設定</heading>
-
-<p><tt>/etc/ppp/ppp-shell</tt>という名前で, 以下のような内容のファイルを
- 作成します:
-
-<tscreen><verb>
- #!/bin/sh
- IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
- CALLEDAS="$IDENT"
- TTY=`tty`
-
- if [ x$IDENT = xdialup ]; then
- IDENT=`basename $TTY`
- fi
-
- echo "PPP for $CALLEDAS on $TTY"
- echo "Starting PPP for $IDENT"
-
- exec /usr/sbin/ppp -direct $IDENT
-</verb></tscreen>
-
-<p>このスクリプトには実行可能属性をつけておきます.
- 次に以下のコマンドを実行し, <tt>ppp-dialup</tt>という名前で
- このスクリプトへのリンクを作成します:
-
-<tscreen><verb>
- # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-dialup
-</verb></tscreen>
-
-<p>すべてのダイアルアップ ppp ユーザのログイン<em>シェル</em>として
- このスクリプトを使用します. 以下は pchilds というユーザ名の
- ダイアルアップユーザを<tt>/etc/password</tt>へ登録した場合の例です.
- (パスワードファイルを直接エディタで編集したりせず,
- <tt>vipw</tt>を使ってください)
-
-<tscreen><verb>
- pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup
-</verb></tscreen>
-
-<p>任意のユーザが読むことのできる, <tt>/home/ppp</tt>ディレクトリを
- 作成します. <tt>/etc/motd</tt>が表示されないようにするため,
- 以下のように大きさが 0 バイトのファイルを このディレクトリの下に
- 作成しておきます.
-
-<tscreen><verb>
- -r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin
- -r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts
-</verb></tscreen>
-
-<sect3><heading>静的 IP ユーザのための PPP シェルの設定</heading>
-
-<p>上記と同じように<tt>ppp-shell</tt>ファイルを作成し,
- 静的に IP アドレスを割り当てる それぞれのアカウントごとに
- <tt>ppp-shell</tt>へのシンボリックリンクを作成します.
-
-<p>例えば, クラス C のネットワークの経路制御を必要とする,
- 三人のダイアルアップ顧客 fred, sam, mary がいるとすると,
- 以下のコマンドを実行することになるでしょう:
-
-<tscreen><verb>
- # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
- # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
- # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary
-</verb></tscreen>
-
-<p>これらのユーザのダイアルアップアカウントでは, 上で作成した
- それぞれのシンボリックリンクをログインシェルとして設定しておきます.
- (つまり, ユーザ mary のログインシェルは<tt>/etc/ppp/ppp-mary</tt>に
- なります).
-
-<sect3><heading>動的 IP ユーザのための ppp.conf の設定</heading>
-
-<p><tt>/etc/ppp/ppp.conf</tt>ファイルは 大体以下のような内容になるでしょう:
-
-<tscreen><verb>
- default:
- set debug phase lcp chat
- set timeout 0
-
- ttyd0:
- set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
- enable proxy
-
- ttyd1:
- set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
- enable proxy
-</verb></tscreen>
-
-<p>上の例のように段をつける (インデントする) 必要があることに注意してください.
-
-<p><tt>default:</tt> セクションはセッションごとにロードされます.
- <tt>/etc/ttys</tt>で有効にしてある各ダイアルアップ回線ごとに一つ,
- 上記の<tt>ttyd0:</tt>のようなエントリを作成します.
- 各行の相手側アドレスとして, それぞれ別の IP アドレスを
- 動的 IP ユーザのための IP アドレスのプールから割り当てておく必要があります.
-
-<sect3><heading>静的 IP ユーザのための ppp.conf の設定</heading>
-
-<p>上のサンプルの<tt>/etc/ppp/ppp.conf</tt>の内容に加えて,
- 静的に IP を割り当てられたダイアルアップユーザ
- それぞれのためのセクションを追加する必要があります.
- ここでも fred, sam, mary の例を使うことにしましょう.
-
-<tscreen><verb>
- fred:
- set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255
-
- sam:
- set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255
-
- mary:
- set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255
-</verb></tscreen>
-
-<p>必要であれば, それぞれの静的 IP ユーザのための経路制御情報も
- <tt>/etc/ppp/ppp.linkup</tt>ファイルに含めておくべきでしょう.
- 以下の例ではクライアントの ppp リンクを経由する
- クラス C の<tt>203.14.101.0</tt>ネットワークへの経路を追加しています.
-
-<tscreen><verb>
- fred:
- add 203.14.101.0 netmask 255.255.255.0 HISADDR
-
- sam:
- add 203.14.102.0 netmask 255.255.255.0 HISADDR
-
- mary:
- add 203.14.103.0 netmask 255.255.255.0 HISADDR
-</verb></tscreen>
-
-<sect3><heading>mgetty, AutoPPP, マイクロソフト拡張について さらに詳しく</heading>
-
-<sect4><heading>Mgetty と AutoPPP</heading>
-
-<p>AUTO_PPP オプションつきでコンパイルした mgetty を使えば, mgetty が
- PPP 接続の LCP フェーズを検出して, 自動的に ppp シェルを起動するように
- 設定することができます.
- しかし この場合, デフォルトの login/password シーケンスは発生しないので,
- ユーザの認証は PAP または CHAP を使っておこなう必要があります.
-
-<p>このセクションでは, ユーザ (あなた) が問題なく
- AUTO_PPP オプションつきの mgetty (v0.99beta またはそれ以降) の設定,
- コンパイル, インストールができているものと仮定しています.
-
-<p><tt>/usr/local/etc/mgetty+sendfax/login.config</tt>ファイルが
- 以下の行を含んでいることを確認してください:
-
-<tscreen><verb>
- /AutoPPP/ - - /etc/ppp/ppp-pap-dialup
-</verb></tscreen>
-
-<p>これにより, PPP 接続を検出したら mgetty が<tt>ppp-pap-dialup</tt>
- スクリプトを実行するようになります.
-
-<p><tt>/etc/ppp/ppp-pap-dialup</tt>という名前で, 以下のような内容のファイルを
- 作成します (このファイルは実行可能属性をつけておく必要があるでしょう):
-
-<tscreen><verb>
- #!/bin/sh
- TTY=`tty`
- IDENT=`basename $TTY`
- exec /usr/sbin/ppp -direct pap$IDENT
-</verb></tscreen>
-
-<p><tt>/etc/ttys</tt>で有効になっている各ダイアルアップ回線ごとに,
- 対応するエントリを一つ<tt>/etc/ppp/ppp.conf</tt>に作成します.
- これは上で作成した定義と問題なく共存できるでしょう.
-
-<tscreen><verb>
- papttyd0:
- enable pap
- set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
- enable proxy
-
- papttyd1:
- enable pap
- set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
- enable proxy
-</verb></tscreen>
-
-<p>この方法でログインする各ユーザは, PAP によるユーザ認証をおこなうために
- <tt>/etc/ppp/ppp.secret</tt>ファイルにユーザ名とパスワードを書いておくか,
- または<tt>/etc/password</tt>ファイルを使うように
-
-<tscreen><verb>
- enable passwdauth
-</verb></tscreen>
-
- オプションを (/etc/ppp/ppp.conf に) 追加しておく必要があるでしょう. (*)
-
-<p>(*) このオプションは 2.2-961014-SNAP およびそれ以降のシステムか,
- または 2.1.x のシステムにおいて ppp のコードを更新している場合にだけ
- 使用可能だということに注意してください.
- (詳細に関しては, 以下のマイクロソフト拡張を参照してください)
-
-<sect4><heading>マイクロソフト拡張</heading>
-
-<p>2.2-961014-SNAP 以降では,
- DNS と NetBIOS ネームサーバの自動交渉 (negotiation) をサポートしている
- クライアント (例えば Win95/NT クライアント) との間で
- この機能を使うことができます.
- プロトコルの詳細については RFC1877 を参照してください.
-
-<p>これらの拡張機能を<tt>/etc/ppp/ppp.conf</tt>ファイルで有効にした例を
- 以下に示します.
-
-<tscreen><verb>
- default:
- set debug phase lcp chat
- set timeout 0
- enable msext
- set ns 203.14.100.1 203.14.100.2
- set nbns 203.14.100.5
-</verb></tscreen>
-
-<p>これにより, クライアントはプライマリとセカンダリのネームサーバアドレス
- および NetBIOS ネームサーバホストを知ることができます.
-
-<sect1><heading>システムの最終設定</heading>
-
-<p>これで PPP の設定は終りました.
- しかし PPP が動くようになる前に, もう少し必要なことがあります.
- それらの設定は, すべて<tt>/etc/rc.conf</tt>ファイルを
- 編集することでおこないます.
- (このファイルは以前には<tt>/etc/sysconfig</tt>と呼ばれていました)
-
- このファイルを上から順に設定していきます.
- まずは ``hostname='' の行が設定されていることを確認します.
- 例えば以下のように:
-
-<tscreen><verb>
- hostname=foo.bar.com
-</verb></tscreen>
-
-<p>次に network_interfaces 変数を調べます. 必要に応じて (on demand)
- プロバイダにダイアルするようにシステムを設定したい場合には,
- tun0 デバイスがこのリストに追加されていることを確認しておきます.
- それ以外の場合には, tun0 デバイスをリストから削除しておきます.
-
-<tscreen><verb>
- network_interfaces="lo0 tun0"
- ifconfig_tun0=
-</verb></tscreen>
-
- <tt>ifconfig_tun0</tt>変数が空で, /etc/start_if.tun0 という名前の
- ファイルが作成されていなければならない ということに注意してください.
- このファイルの内容は以下のようになります.
-
-<tscreen><verb>
- ppp -auto mysystem
-</verb></tscreen>
-
- このスクリプトはネットワークの設定時に実行され,
- ppp デーモンを自動モードで立ち上げます.
-
-<p>以下のようにルータプログラムを ``NO'' に設定します.
-
-<tscreen><verb>
- router_enable=NO (/etc/rc.conf)
- router=NO (/etc/sysconfig)
-</verb></tscreen>
-
- <tt>routed</tt>は, ppp が作成したデフォルトのルーティングテーブル
- エントリを削除してしまう場合がありますので, <tt>routed</tt>デーモンが
- 起動されないようにしておくことが重要です. (これは初期設定の状態です)
-
-<p>``sendmail_flags'' 行が ``-q'' オプションを含まないように
- 設定しておいた方がよいでしょう. さもないと, sendmail が
- アドレスを調べようとして発信をおこなってしまう場合があります.
- 以下のような設定で良いでしょう:
-
-<tscreen><verb>
- sendmail_flags="-bd"
-</verb></tscreen>
-
- この結果, PPP リンクを立ち上げた時には いつでも
- 以下のコマンドを実行して, キューにたまっているメールを
- sendmail に送信させる作業が必要になるでしょう.
-
-<tscreen><verb>
- # /usr/sbin/sendmail -q
-</verb></tscreen>
-
- こうするのが嫌であれば, SMTP トラフィックをブロックするように
- "dfilter" を設定しておくこともできます.
- 詳細についてはサンプルファイルを参照してください.
- また, <tt>ppp.linkup</tt>ファイルの中で
- このコマンドを実行するスクリプトを起動することもできます.
-
- 後はマシンをリブートするだけです.
-
- さて, これで
-<tscreen><verb>
- # ppp
-</verb></tscreen>
-
- コマンドを実行し, 続いて PPP セッションを開始させるために
- ``dial provider'' と入力することもできますし,
- (start_if.tun0 スクリプトを作成していない場合に),
- 外部へのトラフィックが発生した時に, ppp が自動的に
- セッションを確立してくれるようにしたいのであれば,
- 以下のコマンドを実行することもできます.
-
-<tscreen><verb>
- # ppp -auto provider
-</verb></tscreen>
-
-<sect1><heading>まとめ</heading>
-
-<p>要約すると, 初めて ppp を設定する際には, 以下のステップが不可欠です:
-
-<p>クライアント側:
-
-<itemize>
- <item>カーネルに tun デバイスが組み込まれていることを確認.
- <item><tt>/dev</tt>ディレクトリに tunX デバイスファイルが
- 存在することを確認.
- <item><tt>/etc/ppp.conf</tt>にエントリを作成.
- ほとんどのプロバイダでは, <tt>pmdemand</tt> の例で充分でしょう.
- <item><tt>/etc/ppp.linkup</tt>にエントリを作成.
- <item>rc.conf (または sysconfig) ファイルを更新.
- <item>必要に応じてダイヤル (demand dialing) したいのであれば,
- start_if.tun0 スクリプトを作成.
-</itemize>
-
-<p>サーバ側:
-<itemize>
- <item>カーネルに tun デバイスが組み込まれていることを確認.
- <item><tt>/dev</tt>ディレクトリに tunX デバイスファイルが
- 存在することを確認.
- <item>(vipw(8) コマンドを使って) /etc/passwd にエントリを作成.
- <item>このユーザのホームディレクトリに
- ``ppp -direct direct-server'' か何かを実行するプロファイルを作成.
- <item><tt>/etc/ppp.conf</tt>にエントリを作成.
- <tt>direct-server</tt>の例で充分でしょう.
- <item><tt>/etc/ppp.linkup</tt>にエントリを作成.
- <item>rc.conf (または sysconfig) ファイルを更新.
-</itemize>
-
-<sect1><heading>謝辞</heading>
-
-<p>批評と提案に感謝します:
-
-<p>&a.nik
-<p>&a.dirkvangulik
-<p>&a.pjc
OpenPOWER on IntegriCloud