diff --git a/en/handbook/advanced-networking/chapter.sgml b/en/handbook/advanced-networking/chapter.sgml index 9de3cdaeb5..4fbe1987b1 100644 --- a/en/handbook/advanced-networking/chapter.sgml +++ b/en/handbook/advanced-networking/chapter.sgml @@ -738,86 +738,49 @@ hostname myclient.mydomain</programlisting> <sect2> <title>ISDN Cards</title> - <para><emphasis>Original Contribution by &a.hm;.</emphasis></para> + <para><emphasis>Contributed by &a.hm;.</emphasis></para> - <para>This section is really only relevant to European ISDN users. - The cards supported are not yet(?) available for North American - ISDN standards.</para> - - <para>You should be aware that this code is largely under - development. Specifically, drivers have only been written for two - manufacturers cards.</para> - - <para>PC ISDN cards support the full bandwidth of ISDN, 128Kbs. - These cards are often the least expensive type of ISDN equipment.</para> - - <para>Under FreeBSD 2.1.0 and 2.1.5, there is early unfinished ISDN - code under <filename>/usr/src/gnu/isdn</filename>. 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.</para> - - <para>There is the bisdn ISDN package available from <ulink - URL="ftp://hub.freebsd.org/pub/bisdn">hub.freebsd.org</ulink> - 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.</para> - - <para>There are drivers for the following cards:</para> - - <itemizedlist> - - <listitem> - <para>Currently all (passive) Teles cards and their clones are - supported for the EuroISDN (DSS1) and 1TR6 protocols.</para> - </listitem> - - <listitem> - <para>Dr. Neuhaus — Niccy 1016</para> - </listitem> - - </itemizedlist> - - <para>There are several limitations with the bisdn stuff. - Specifically the following features usually associated with ISDN - are not supported.</para> - - - <itemizedlist> - - <listitem> - <para>No PPP support, only raw hdlc. This means you cannot - connect to most standalone routers.</para> - </listitem> - - <listitem> - <para>Bridging Control Protocol not supported.</para> - </listitem> - - <listitem> - <para>Multiple cards are not supported.</para> - </listitem> - - <listitem> - <para>No bandwidth on demand.</para> - </listitem> - - <listitem> - <para>No channel bundling.</para> - </listitem> - - </itemizedlist> - - - <para>A majordomo maintained mailing list is available. To join the - list, send mail to &a.majordomo; and specify: + <para>This section is really only relevant to ISDN users in countries + where the DSS1/Q.931 ISDN standard is supported. </para> + + <para>Some growing number of PC ISDN cards are supported under FreeBSD + 2.2.x and up by the isdn4bsd driver package. It is still under + development but the reports show that it is successfully used all + over Europe.</para> - <programlisting> + <para>The latest isdn4bsd version is available from <ulink + url="ftp://isdn4bsd@ftp.consol.de/pub/">ftp://isdn4bsd@ftp.consol.de/pub/</ulink>, + the main isdn4bsd ftp site (you have to log in as user + <username>isdn4bsd</username> , give your mail address as the + password and change to the <filename>pub</filename> + directory. Anonymous ftp as user <username>ftp</username> or + <username>anonymous</username> will <emphasis>not</emphasis> give + the desired result).</para> + + <para>Isdn4bsd allows you to connect to other ISDN routers using + either IP over raw HDLC or by using synchronous PPP. A telephone + answering machine application is also available.</para> + + <para>Many ISDN PC cards are supported, mostly the ones with a Siemens + ISDN chipset (ISAC/HSCX), support for other chipsets (from Motorola, + Cologne Chip Designs) is currently under development. For an + up-to-date list of supported cards, please have a look at the + <ulink url="ftp://isdn4bsd@ftp.consol.de/pub/README">README</ulink> + file.</para> + + <para>In case you are interested in adding support for a different + ISDN protocol, a currently unsupported ISDN PC card or otherwise + enhancing isdn4bsd, please get in touch with + <email>hm@kts.org</email>.</para> + + <para>A majordomo maintained mailing list is available. To join the + list, send mail to <email>majordomo@FreeBSD.ORG</email> and + specify:</para> + + <programlisting> subscribe freebsd-isdn</programlisting> - in the body - of your message.</para> - + <para>in the body of your message.</para> </sect2> <sect2> diff --git a/en/handbook/authors.ent b/en/handbook/authors.ent index 753419189e..a8c95c2ac6 100644 --- a/en/handbook/authors.ent +++ b/en/handbook/authors.ent @@ -7,15 +7,15 @@ Please keep this list in alphabetical order by entity names. - $Id: authors.ent,v 1.2 1998-11-09 17:41:07 archie Exp $ + $Id: authors.ent,v 1.3 1998-11-12 01:26:17 nik Exp $ --> +<!ENTITY a.abial "Andrzej Bialecki <email>abial@FreeBSD.ORG</email>"> + <!ENTITY a.ache "Andrey A. Chernov <email>ache@FreeBSD.ORG</email>"> <!ENTITY a.adam "Adam David <email>adam@FreeBSD.ORG</email>"> -<!ENTITY a.ahasty "Amancio Hasty <email>ahasty@FreeBSD.ORG</email>"> - <!ENTITY a.alex "Alex Nash <email>alex@freebsd.org</email>"> <!ENTITY a.amurai "Atsushi Murai <email>amurai@FreeBSD.ORG</email>"> @@ -54,28 +54,38 @@ <!ENTITY a.darrenr "Darren Reed <email>darrenr@FreeBSD.ORG</email>"> -<!ENTITY a.dave "Dave Cornejo <email>dave@FreeBSD.ORG</email>"> - -<!ENTITY a.davidg "David Greenman <email>davidg@FreeBSD.ORG</email>"> +<!ENTITY a.dg "David Greenman <email>dg@FreeBSD.ORG</email>"> <!ENTITY a.davidn "David Nugent <email>davidn@blaze.net.au</email>"> +<!ENTITY a.dburr "Donald Burr <email>dburr@FreeBSD.ORG</email>"> + +<!ENTITY a.des "Dag-Erling C. Smørgrav <email>des@FreeBSD.ORG</email>"> + <!ENTITY a.dfr "Doug Rabson <email>dfr@FreeBSD.ORG</email>"> +<!ENTITY a.dillon "Matthew Dillon <email>dillon@FreeBSD.ORG</email>"> + <!ENTITY a.dima "Dima Ruban <email>dima@FreeBSD.ORG</email>"> <!ENTITY a.dirkvangulik "Dirk-Willem van Gulik <email>Dirk.vanGulik@jrc.it</email>"> +<!ENTITY a.dt "Dmitrij Tejblum <email>dt@FreeBSD.ORG</email>"> + +<!ENTITY a.dwhite "Doug White <email>dwhite@FreeBSD.ORG</email>"> + <!ENTITY a.dufault "Peter Dufault <email>dufault@FreeBSD.ORG</email>"> <!ENTITY a.dyson "John Dyson <email>dyson@FreeBSD.ORG</email>"> -<!ENTITY a.faq "FAQ Maintainer <email>faq@freebsd.org</email>"> - <!ENTITY a.eivind "Eivind Eklund <email>perhaps@yes.no</email>"> +<!ENTITY a.ejc "Eric J. Chet <email>ejc@FreeBSD.ORG</email>"> + <!ENTITY a.erich "Eric L. Hernes <email>erich@FreeBSD.ORG</email>"> +<!ENTITY a.faq "FAQ Maintainer <email>faq@freebsd.org</email>"> + <!ENTITY a.fenner "Bill Fenner <email>fenner@FreeBSD.ORG</email>"> <!ENTITY a.fsmp "Steve Passe <email>fsmp@FreeBSD.ORG</email>"> @@ -94,6 +104,8 @@ <!ENTITY a.graichen "Thomas Graichen <email>graichen@FreeBSD.ORG</email>"> +<!ENTITY a.grog "Greg Lehey <email>grog@FreeBSD.ORG</email>"> + <!ENTITY a.gryphon "Coranth Gryphon <email>gryphon@healer.com</email>"> <!ENTITY a.guido "Guido van Rooij <email>guido@FreeBSD.ORG</email>"> @@ -132,6 +144,8 @@ <!ENTITY a.jkh "Jordan K. Hubbard <email>jkh@FreeBSD.ORG</email>"> +<!ENTITY a.jkoshy "Joseph Koshy <email>jkoshy@FreeBSD.ORG</email>"> + <!ENTITY a.jlemon "Jonathan Lemon <email>jlemon@FreeBSD.ORG</email>"> <!ENTITY a.jlind "John Lind <email>john@starfire.MN.ORG</email>"> @@ -164,12 +178,18 @@ <!ENTITY a.kelly "Sean Kelly <email>kelly@fsl.noaa.gov</email>"> +<!ENTITY a.ken "Kenneth D. Merry <email>ken@FreeBSD.ORG</email>"> + <!ENTITY a.kjc "Kenjiro Cho <email>kjc@FreeBSD.ORG</email>"> +<!ENTITY a.kuriyama "Jun Kuriyama <email>kuriyama@FreeBSD.ORG</email>"> + <!ENTITY a.lars "Lars Fredriksen <email>lars@FreeBSD.ORG</email>"> <!ENTITY a.ljo "L Jonas Olsson <email>ljo@FreeBSD.ORG</email>"> +<!ENTITY a.luoqi "Luoqi Chen <email>luoqi@FreeBSD.ORG</email>"> + <!ENTITY a.markm "Mark Murray <email>markm@FreeBSD.ORG</email>"> <!ENTITY a.martin "Martin Renters <email>martin@FreeBSD.ORG</email>"> @@ -182,14 +202,22 @@ <!ENTITY a.mckay "Stephen McKay <email>mckay@FreeBSD.ORG</email>"> +<!ENTITY a.mckusick "Kirk McKusick <email>mckusick@FreeBSD.ORG</email>"> + <!ENTITY a.md "Mark Dapoz <email>md@bsc.no</email>"> +<!ENTITY a.motoyuki "Motoyuki Konno <email>motoyuki@FreeBSD.ORG</email>"> + +<!ENTITY a.mph "Matthew Hunt <email>mph@FreeBSD.ORG</email>"> + <!ENTITY a.mpp "Mike Pritchard <email>mpp@FreeBSD.ORG</email>"> <!ENTITY a.msmith "Michael Smith <email>msmith@FreeBSD.ORG</email>"> <!ENTITY a.nate "Nate Williams <email>nate@FreeBSD.ORG</email>"> +<!ENTITY a.nectar "Jacques Vidrine <email>nectar@FreeBSD.ORG</email>"> + <!ENTITY a.nik "Nik Clayton <email>nik@FreeBSD.ORG</email>"> <!ENTITY a.nsj "Nate Johnson <email>nsj@FreeBSD.ORG</email>"> @@ -202,6 +230,8 @@ <!ENTITY a.paul "Paul Richards <email>paul@FreeBSD.ORG</email>"> +<!ENTITY a.pb "Pierre Beyssac <email>pb@fasterix.freenix.org</email>"> + <!ENTITY a.pds "Peter da Silva <email>pds@FreeBSD.ORG</email>"> <!ENTITY a.peter "Peter Wemm <email>peter@FreeBSD.ORG</email>"> @@ -222,6 +252,8 @@ <!ENTITY a.rich "Rich Murphey <email>rich@FreeBSD.ORG</email>"> +<!ENTITY a.rnordier "Robert Nordier <email>rnordier@FreeBSD.ORG</email>"> + <!ENTITY a.roberto "Ollivier Robert <email>roberto@FreeBSD.ORG</email>"> <!ENTITY a.rse "Ralf S. Engelschall <email>rse@FreeBSD.ORG</email>"> @@ -252,6 +284,8 @@ <!ENTITY a.tg "Thomas Gellekum <email>tg@FreeBSD.ORG</email>"> +<!ENTITY a.thepish "Peter Hawkins <email>thepish@FreeBSD.ORG</email>"> + <!ENTITY a.torstenb "Torsten Blum <email>torstenb@FreeBSD.ORG</email>"> <!ENTITY a.ugen "Ugen J.S.Antsilevich <email>ugen@FreeBSD.ORG</email>"> diff --git a/en/handbook/backups/chapter.sgml b/en/handbook/backups/chapter.sgml new file mode 100644 index 0000000000..f7c05d2731 --- /dev/null +++ b/en/handbook/backups/chapter.sgml @@ -0,0 +1,731 @@ +<chapter id="backups"> + <title>Backups</title> + + <para>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. You may also want + to refer to <link linkend="kernelconfig-config"> the kernel configuration + file</link> section in this handbook for a list of supported + devices.</para> + + <para>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 <link linkend="eresources-mail">Mailing Lists</link> 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.</para> + + <sect1> + <title>* What about backups to floppies?</title> + + <para></para> + </sect1> + + <sect1 id="backups-tapebackups"> + <title>Tape Media</title> + + <para>The major tape media are the 4mm, 8mm, QIC, mini-cartridge and + DLT.</para> + + <sect2 id="backups-tapebackups-4mm"> + <title>4mm (DDS: Digital Data + Storage)</title> + + <para>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.</para> + + <para>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.</para> + + <para>4mm drives, like 8mm drives, use helical-scan. All the benefits + and drawbacks of helical-scan apply to both 4mm and 8mm drives.</para> + + <para>Tapes should be retired from use after 2,000 passes or 100 full + backups.</para> + </sect2> + + <sect2 id="backups-tapebackups-8mm"> + <title>8mm (Exabyte)</title> + + <para>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.</para> + + <para>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.</para> + + <para>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.</para> + </sect2> + + <sect2 id="backups-tapebackups-qic"> + <title>QIC</title> + + <para>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 + <emphasis>most</emphasis> 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). <link linkend="backups-tapebackups-mini">Mini-cartridges</link>, + which also use 1/4" wide tape are discussed separately. Tape libraries + and changers are not available.</para> + + <para>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.</para> + + <para>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).</para> + + <para>Tapes should be retired from use after 5,000 backups.</para> + </sect2> + + <sect2 id="backups-tapebackups-mini"> + <title>* Mini-Cartridge</title> + + <para></para> + </sect2> + + <sect2 id="backups-tapebackups-dlt"> + <title>DLT</title> + + <para>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.</para> + + <para>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.</para> + + <para>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.</para> + </sect2> + + <sect2> + <title>Using a new tape for the first time</title> + + <para>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:</para> + +<informalexample> + <screen>st0(ncr1:4:0): NOT READY asc:4,1 +st0(ncr1:4:0): Logical unit is in process of becoming ready</screen> + </informalexample> + + <para>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:</para> + + <para><command>mt fsf 1</command> causes the tape drive to write an + Identifier Block to the tape.</para> + + <para>Use the front panel button to eject the tape.</para> + + <para>Re-insert the tape and + <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> data to the tape.</para> + + <para><citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> will report <literal>DUMP: + End of tape detected</literal> and the console will show: + <literal>HARDWARE FAILURE info:280 asc:80,96</literal></para> + + <para>rewind the tape using: <command>mt rewind</command></para> + + <para>Subsequent tape operations are successful.</para> + </sect2> + </sect1> + + <sect1 id="backup-programs"> + <title>Backup Programs</title> + + <para>The three major programs are + <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, + <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum></citerefentry>, + and + <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry>.</para> + + <sect2> + <title>Dump and Restore</title> + + <para><citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> and <citerefentry> + <refentrytitle>restore</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> 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. + <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> backs up devices, entire filesystems, not parts of a + filesystem and not directory trees that span more than one filesystem, + using either soft links <citerefentry> + <refentrytitle>ln</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> or mounting one filesystem onto another. + <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> does not write files and directories to tape, but + rather writes the data blocks that are the building blocks of files + and directories. <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> 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.</para> + + <para><citerefentry> + <refentrytitle>rdump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> and <citerefentry> + <refentrytitle>rrestore</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> backup data across the + network to a tape drive attached to another computer. Both programs + rely upon <citerefentry> + <refentrytitle>rcmd</refentrytitle> + <manvolnum>3</manvolnum> + </citerefentry> and <citerefentry> + <refentrytitle>ruserok</refentrytitle> + <manvolnum>3</manvolnum></citerefentry> to access the remote tape + drive. Therefore, the user performing the backup must have + <literal>rhosts</literal> access to the remote computer. The + arguments to <citerefentry> + <refentrytitle>rdump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> and <citerefentry> + <refentrytitle>rrestore</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> must suitable to use on the remote computer. (e.g. + When <command>rdump</command>'ing from a FreeBSD computer to an + Exabyte tape drive connected to a Sun called + <hostid>komodo</hostid>, use: <command>/sbin/rdump 0dsbfu 54000 + 13000 126 komodo:/dev/nrst8 /dev/rsd0a 2>&1</command>) Beware: + there are security implications to allowing <literal>rhosts</literal> + commands. Evaluate your situation carefully.</para> + </sect2> + + <sect2> + <title>Tar</title> + + <para><citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> also dates back to Version 6 of ATT Unix (circa + 1975). <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> operates in cooperation with the filesystem; + <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> writes files and directories to tape. + <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> does not support the full range of options that are + available from <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry>, but <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> does not require the + unusual command pipeline that <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> uses.</para> + + <para>Most versions of <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> do not support backups across the network. The GNU + version of <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum></citerefentry>, which FreeBSD utilizes, + supports remote devices using the same syntax as + <command>rdump</command>. To <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> to an Exabyte tape drive connected to a Sun called + komodo, use: <command>/usr/bin/tar cf komodo:/dev/nrst8 . + 2>&1</command>. For versions without remote device support, + you can use a pipeline and <citerefentry> + <refentrytitle>rsh</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> to send the data to a + remote tape drive. (XXX add an example command)</para> + </sect2> + + <sect2> + <title>Cpio</title> + + <para><citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> is the original Unix + file interchange tape program for magnetic media. <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> 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 <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> and excellent choice for + installation media. <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> does not know how to walk + the directory tree and a list of files must be provided thru + <filename>STDIN</filename>.</para> + + <para><citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> does not support backups + across the network. You can use a pipeline and <citerefentry> + <refentrytitle>rsh</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> to send the data to a + remote tape drive. (XXX add an example command)</para> + </sect2> + + <sect2> + <title>Pax</title> + + <para><citerefentry> + <refentrytitle>pax</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> is IEEE/POSIX's answer to + <command>tar</command> and <command>cpio</command>. Over the years the + various versions of <command>tar</command> and <command>cpio</command> + have gotten slightly incompatible. So rather than fight it out to + fully standardize them, POSIX created a new archive utility. + <command>pax</command> attempts to read and write many of the various + cpio and tar formats, plus new formats of its own. Its command set + more resembles <command>cpio</command> than + <command>tar</command>.</para> + </sect2> + + <sect2 id="backups-programs-amanda"> + <title>Amanda</title> + + <para><ulink url="../ports/misc.html#amanda-2.4.0">Amanda</ulink> + (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.</para> + + <para>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.</para> + </sect2> + + <sect2> + <title>Do nothing</title> + + <para>“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!</para> + + <para>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.</para> + + <para>“Do nothing” is the correct backup method for + <filename>/usr/obj</filename> 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 + <acronym>SGML</acronym> input files. Creating backups of these + <acronym>HTML</acronym> files is not necessary. The + <acronym>SGML</acronym> source files are backed up regularly.</para> + </sect2> + + <sect2> + <title>Which Backup Program is Best?</title> + + <para><citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> <emphasis>Period.</emphasis> + 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 <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>. 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 unwritable 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. See <ulink + url="http://reality.sgi.com/zwicky_neu/testdump.doc.html">torture-testing Backup and Archive Programs</ulink>.</para> + </sect2> + + <sect2> + <title>Emergency Restore Procedure</title> + + <sect3> + <title>Before the Disaster</title> + + <para>There are only four steps that you need to perform in + preparation for any disaster that may occur.</para> + + <para>First, print the disklabel from each of your disks + (<command>e.g. disklabel sd0 | lpr</command>), your filesystem table + (<command>/etc/fstab</command>) and all boot messages, two copies of + each.</para> + + <para>Second, determine that the boot and fixit floppies + (<filename>boot.flp</filename> and <filename>fixit.flp</filename>) + 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.</para> + + <para>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: + <citerefentry> + <refentrytitle>fdisk</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, <citerefentry> + <refentrytitle>disklabel</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, <citerefentry> + <refentrytitle>newfs</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, <citerefentry> + <refentrytitle>mount</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, and whichever backup + program you use. These programs must be statically linked. If you + use <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, the floppy must contain + <citerefentry> + <refentrytitle>restore</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>.</para> + + <para>Third, create backup tapes regularly. Any changes that you make + after your last backup may be irretrievably lost. Write-protect the + backup tapes.</para> + + <para>Fourth, test the floppies (either <filename>boot.flp</filename> + and <filename>fixit.flp</filename> 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 <command>tar xvf /dev/rst0</command>, you might + accidently type <command>tar cvf /dev/rst0</command> and over-write + your backup tape).</para> + + <para>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.</para> + + <para>An example script for creating a bootable floppy:</para> + + <programlisting> +<![ CDATA [#!/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]]></programlisting> + </sect3> + + <sect3> + <title>After the Disaster</title> + + <para>The key question is: did your hardware survive? You have been + doing regular backups so there is no need to worry about the + software.</para> + + <para>If the hardware has been damaged. First, replace those parts + that have been damaged.</para> + + <para>If your hardware is okay, check your floppies. If you are using + a custom boot floppy, boot single-user (type <literal>-s</literal> + at the <prompt>boot:</prompt> prompt). Skip the following + paragraph.</para> + + <para>If you are using the <filename>boot.flp</filename> and + <filename>fixit.flp</filename> floppies, keep reading. Insert the + <filename>boot.flp</filename> floppy in the first floppy drive and + boot the computer. The original install menu will be displayed on + the screen. Select the <literal>Fixit--Repair mode with CDROM or + floppy.</literal> option. Insert the + <filename>fixit.flp</filename> when prompted. + <command>restore</command> and the other programs that you need are + located in <filename>/mnt2/stand</filename>.</para> + + <para>Recover each filesystem separately.</para> + + <para>Try to <citerefentry> + <refentrytitle>mount</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry>(e.g. <command>mount /dev/sd0a + /mnt</command>) the root partition of your first disk. If the + disklabel was damaged, use <citerefentry> + <refentrytitle>disklabel</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> to re-partition and + label the disk to match the label that your printed and saved. Use + <citerefentry> + <refentrytitle>newfs</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> to re-create the + filesystems. Re-mount the root partition of the floppy read-write + (<command>mount -u -o rw /mnt</command>). Use your backup program + and backup tapes to recover the data for this filesystem (e.g. + <command>restore vrf /dev/st0</command>). Unmount the filesystem + (e.g. <command>umount /mnt</command>) Repeat for each filesystem + that was damaged.</para> + + <para>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.</para> + </sect3> + + <sect3> + <title>* I did not prepare for the Disaster, What Now?</title> + + <para></para> + </sect3> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../handbook.sgml" "part" "chapter") + End: +--> diff --git a/en/handbook/bibliography/chapter.sgml b/en/handbook/bibliography/chapter.sgml index d55f694daa..429b519caf 100644 --- a/en/handbook/bibliography/chapter.sgml +++ b/en/handbook/bibliography/chapter.sgml @@ -49,7 +49,11 @@ <ulink URL="http://www.ascii.co.jp/">ASCII</ulink>. ISBN 4-7561-1580-2 P3800E.</para> </listitem> - + + <listitem> + <para>FreeBSD mit Methode (in German), publiched by Computer und + Literatur Verlag/Vertrieb Hanser, 1998. ISBN 3-93211-31-0.</para> + </listitem> </itemizedlist> @@ -151,7 +155,7 @@ <listitem> <para>Nemeth, Evi. <emphasis>UNIX System Administration - Handbook</emphasis>. 2nd ed. Prentice Hall, 1995. <!-- <br> + Handbook</emphasis>. 2nd Ed. Prentice Hall, 1995. <!-- <br> --> ISBN 0131510517</para> </listitem> @@ -190,12 +194,6 @@ <!-- <br> --> ISBN 1-56592-079-1</para> </listitem> - <listitem> - <para>Ellis, Margaret A. and Stroustrup, Bjarne. <emphasis>The - Annotated C++ Reference Manual</emphasis>. Addison-Wesley, - 1990. <!-- <br> --> ISBN 0-201-51459-1</para> - </listitem> - <listitem> <para>Harbison, Samuel P. and Steele, Guy L. Jr. <emphasis>C: A Reference Manual</emphasis>. 4rd ed. Prentice Hall, 1995. @@ -209,7 +207,7 @@ </listitem> <listitem> - <para>Lehey, Greg. <emphasis>Port UNIX Software</emphasis>. + <para>Lehey, Greg. <emphasis>Porting UNIX Software</emphasis>. O'Reilly & Associates, Inc., 1995.<!-- <br> --> ISBN 1-56592-126-7</para> </listitem> @@ -226,11 +224,11 @@ Addison-Wesley, 1992<!-- <br> --> ISBN 0-201-56317-7</para> </listitem> - <listitem> - <para>Stevens, W. Richard. <emphasis>UNIX Network - Programming</emphasis>. PTR Prentice Hall, 1990. <!-- <br> - --> ISBN 0-13-949876-1</para> - </listitem> + <listitem> + <para>Stevens, W. Richard. <emphasis>UNIX Network + Programming</emphasis>. 2nd Ed, PTR Prentice Hall, 1998. ISBN + 0-13-490012-X</para> + </listitem> <listitem> <para>Wells, Bill. “Writing Serial Drivers for UNIX”. @@ -288,7 +286,13 @@ 1: The Protocols</emphasis>. Reading, Mass. : Addison-Wesley, 1996.<!-- <br> --> ISBN 0-201-63346-9</para> </listitem> - + + <listitem> + <para>Schimmel, Curt. <emphasis>Unix Systems for Modern + Architectures</emphasis>. Reading, Mass. : Addison-Wesley, + 1994. ISBN 0-201-63338-8</para> + </listitem> + <listitem> <para>Stevens, W. Richard. <emphasis>TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP and the UNIX Domain @@ -322,7 +326,7 @@ <listitem> <para>Cheswick, William R. and Steven M. Bellovin. - <emphasis>Firewalls and Internal Security: Repelling the Wily + <emphasis>Firewalls and Internet Security: Repelling the Wily Hacker</emphasis>. Reading, Mass. : Addison-Wesley, 1995.<!-- <br> --> ISBN 0-201-63357-4</para> </listitem> @@ -352,7 +356,7 @@ <listitem> <para>Anderson, Don and Tom Shanley. <emphasis>Pentium Processor - System Architecture</emphasis>. 2nd ed. Reading, Mass. : + System Architecture</emphasis>. 2nd Ed. Reading, Mass. : Addison-Wesley, 1995.<!-- <br> --> ISBN 0-201-40992-5</para> </listitem> @@ -362,7 +366,14 @@ Mass. : Addison-Wesley, 1995.<!-- <br> --> ISBN 0-201-62490-7</para> </listitem> - + + <listitem> + <para>Intel Corporation publishes documentation on their CPUs, + chipsets and standards on their <ulink + url="http://developer.intel.com/">developer web site</ulink>, + usually as PDF files.</para> + </listitem> + <listitem> <para>Shanley, Tom. <emphasis>80486 System Architecture</emphasis>. 3rd ed. Reading, Mass. : @@ -433,7 +444,7 @@ <listitem> <para><emphasis>The BSD family tree</emphasis>. 1997.<!-- <br> --> <ulink - URL="http://www.de.freebsd.org/de/ftp/unix-stammbaum">http://www.de.freebsd.org/de/ftp/unix-stammbaum</ulink> or <ulink URL="file:/usr/share/misc/bsd-family-tree">local</ulink> on a FreeBSD-current machine.</para> +url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/misc/bsd-family-tree">ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/misc/bsd-family-tree</ulink> or <ulink URL="file:/usr/share/misc/bsd-family-tree">local</ulink> on a FreeBSD-current machine.</para> </listitem> <listitem> @@ -447,7 +458,12 @@ Library</emphasis>.<!-- <br> --> <ulink URL="http://www.ncstrl.org/">http://www.ncstrl.org/</ulink></para> </listitem> - + + <listitem> + <para><emphasis>Old BSD releases from the Computer Systems Research + group (CSRG)</emphasis>. <ulink + url="http://www.mckusick.com/csrg/">http://www.mckusick.com/csrg/</ulink>: The 4CD set covers all BSD versions from 1BSD to 4.4BSD and 4.4BSD-Lite2 (but not 2.11BSD, unfortunately). As well, the last disk holds the final sources plus the SCCS files.</para> + </listitem> </itemizedlist> diff --git a/en/handbook/chapters.ent b/en/handbook/chapters.ent index c302e4c975..db8e88a180 100644 --- a/en/handbook/chapters.ent +++ b/en/handbook/chapters.ent @@ -6,7 +6,7 @@ Chapters should be listed in the order in which they are referenced. - $Id: chapters.ent,v 1.2 1998-11-04 22:38:06 nik Exp $ + $Id: chapters.ent,v 1.3 1998-11-12 01:26:17 nik Exp $ --> <!-- Part one --> @@ -19,6 +19,8 @@ <!ENTITY chap.kernelconfig SYSTEM "kernelconfig/chapter.sgml"> <!ENTITY chap.security SYSTEM "security/chapter.sgml"> <!ENTITY chap.printing SYSTEM "printing/chapter.sgml"> +<!ENTITY chap.disks SYSTEM "disks/chapter.sgml"> +<!ENTITY chap.backups SYSTEM "backups/chapter.sgml"> <!ENTITY chap.quotas SYSTEM "quotas/chapter.sgml"> <!ENTITY chap.x11 SYSTEM "x11/chapter.sgml"> <!ENTITY chap.hw SYSTEM "hw/chapter.sgml"> diff --git a/en/handbook/contrib/chapter.sgml b/en/handbook/contrib/chapter.sgml index 98f4ac936f..c04d625c12 100644 --- a/en/handbook/contrib/chapter.sgml +++ b/en/handbook/contrib/chapter.sgml @@ -65,11 +65,6 @@ <itemizedlist> - - <listitem> - <para>Autodetect memory over 64MB properly.</para> - </listitem> - <listitem> <para>Move userconfig (-c) into 3rd stage boot.</para> </listitem> @@ -99,7 +94,7 @@ <listitem> <para>Fix the union file system. Coordinator: - &a.dyson;</para> + &a.dg;</para> </listitem> </itemizedlist> @@ -108,7 +103,7 @@ <listitem> <para>Implement kernel and user vm86 support. Coordinator: - &a.hackers;</para> + &a.jlemon;</para> </listitem> <listitem> @@ -116,33 +111,6 @@ &a.hackers;</para> </listitem> - <listitem> - <para>SCSI driver issues. Overall coordination: - &a.hackers;</para> - - - <itemizedlist> - - <listitem> - <para>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).</para> - </listitem> - - <listitem> - <para>Better error handling (Busy status and - retries).</para> - </listitem> - - <listitem> - <para>Merged Scatter-Gather list creation code.</para> - </listitem> - - </itemizedlist> - - </listitem> - <listitem> <para>Kernel issues. Overall coordination: &a.hackers;</para> @@ -174,25 +142,10 @@ Coordinator: &a.sos;</para> </listitem> - <listitem> - <para>Rewrite the Intel Etherexpress 16 driver.</para> - </listitem> - <listitem> <para>Merge the 3c509 and 3c590 drivers (essentially provide a PCI probe for ep.c).</para> </listitem> - - <listitem> - <para>Support Adaptec 3985 (first as a simple 3 channel - SCSI card) Coordinator: &a.gibbs;</para> - </listitem> - - <listitem> - <para>Support Advansys SCSI controller products. - Coordinator: &a.gibbs;</para> - </listitem> - </itemizedlist> </listitem> @@ -243,7 +196,7 @@ </listitem> <listitem> - <para>PCMCIA/PCCARD. Coordinators: &a.nate; and &a.phk;</para> + <para>PCMCIA/PCCARD. Coordinators: &a.msmith; and &a.phk;</para> <itemizedlist> <listitem> @@ -280,7 +233,7 @@ </listitem> <listitem> - <para>Advanced Power Management. Coordinators: &a.nate; and + <para>Advanced Power Management. Coordinators: &a.msmith; and &a.phk;</para> <itemizedlist> @@ -585,7 +538,7 @@ equivalent</ulink>. Try to fill-in each field of the bug report. Unless they exceed 65KB, include any patches directly in the report. Consider compressing them and using - <citerefentry><refentrytitle>uuencode</refentrytitle><manvolnum>1</manvolnum></citerefentry> if they exceed 20KB.</para> + <citerefentry><refentrytitle>uuencode</refentrytitle><manvolnum>1</manvolnum></citerefentry> if they exceed 20KB. Upload very large submissions to <ulink url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/">ftp.freebsd.org:/pub/FreeBSD/incoming/</ulink>.</para> <para>After filing a report, you should receive confirmation along with a tracking number. Keep this tracking number so that you can @@ -789,7 +742,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. but merely those differences required for running under FreeBSD.</para> <para>What follows are some guidelines for creating a new port for - FreeBSD 3.x. The bulk of the work is done by + FreeBSD. The bulk of the work is done by <filename>/usr/share/mk/bsd.port.mk</filename>, 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 @@ -827,7 +780,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. is already included; if not, add the code:</para> <programlisting> -#ifdef (defined(__unix__) || defined(unix)) && !defined(USG) +#if (defined(__unix__) || defined(unix)) && !defined(USG) #include <sys/param.h> #endif</programlisting> @@ -1164,11 +1117,14 @@ A cat chasing a mouse all over the screen.</programlisting> sufficient.</para> <note> - <para>This is <emphasis>not</emphasis> a manual nor an - in-depth description on how to use or compile the port. In - particular, <emphasis>please do not just copy the - <filename>README</filename> file here</emphasis>, unless, - of course, it is a concise description of the port.</para> + <para>This is <emphasis>not</emphasis> a manual or an + in-depth description on how to use or compile the port! + <emphasis>Please be careful if you are copying from the + <filename>README</filename> or manpage</emphasis>; too often + they are not a concise description of the port or are in an + awkward format (e.g., manpages have justified spacing). If the + ported software has an official WWW homepage, you should list + it here.</para> </note> <para>It is recommended that you sign the name at the end of @@ -1180,6 +1136,8 @@ the screen. : (etc.) +http://www.oneko.org/ + - Satoshi asami@cs.berkeley.edu</programlisting> @@ -1193,14 +1151,14 @@ asami@cs.berkeley.edu</programlisting> generated by packing the files listed here. The pathnames are relative to the installation prefix (usually <filename>/usr/local</filename> or - <filename>/usr/X11R6</filename>). Also it is assumed the - manpages will be compressed.</para> + <filename>/usr/X11R6</filename>). If you are using the + <makevar>MAN<replaceable>n</replaceable></makevar> variables (as + you should be), do not list any manpages here.</para> <para>Here is a small example:</para> <programlisting> bin/oneko -man/man1/oneko.1.gz lib/X11/app-defaults/Oneko lib/X11/oneko/cat1.xpm lib/X11/oneko/cat2.xpm @@ -1238,20 +1196,40 @@ lib/X11/oneko/mouse.xpm</programlisting> <sect4 id="porting-submitting"> <title>Submitting the port</title> - + + <para>First, make sure you have read the <link + linkend="porting-dads">Do's and Dont's</link> section.</para> + <para>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 <emphasis>not</emphasis> include the original - source tarball, the <filename>work</filename> - subdirectory or the package) into a - <filename>.tar.gz</filename> file, stick it in the directory - <filename>ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/</filename> and send mail to us using - <citerefentry><refentrytitle>send-pr</refentrytitle><manvolnum>1</manvolnum></citerefentry> (please classify it as category - <literal>ports</literal> and class <literal>change-request</literal>). There is no need to - upload the package, we will build it by ourselves. We will - take a look, get back to you if necessary, and put it in the + everybody else happy about it too. We do not need your + <filename>work</filename> directory or the + <filename>pkgname.tgz</filename> package, so delete them + now. Next, simply include the output of <command>shar `find + port_dir`</command> in a bug report and send it with the + <citerefentry> + <refentrytitle>send-pr</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> program. If the uncompressed port is larger than + 20KB, you should compress it into a tarfile and use <citerefentry> + <refentrytitle>uuencode</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> before including it in the bug report (uuencoded + tarfiles are acceptable even if the bug report is smaller than + 20KB but are not preferred). Be sure to classify the bug report as + category <literal>ports</literal> and class + <literal>change-request</literal>.</para> + + <para>One more time, <emphasis>do not include the original source + distfile, the <filename>work</filename> directory, or the + package you built with <command>make + package</command></emphasis>.</para> + + <para>See <link linkend="contrib-general">Bug Reports and General + Commentary</link> for more information.</para> + + <para>We will look at your port, + 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?!? <!-- smiley -->:)</para> @@ -1296,7 +1274,7 @@ lib/X11/oneko/mouse.xpm</programlisting> </step> <step> - <para>The <maketarget>extract</maketarget> target is run. It looks for your ports' + <para>The <maketarget>extract</maketarget> target is run. It looks for your port's distribution file in <makevar>DISTDIR</makevar> (typically a gzip'd tarball) and unpacks it into a temporary subdirectory specified by <makevar>WRKDIR</makevar> @@ -1405,7 +1383,13 @@ lib/X11/oneko/mouse.xpm</programlisting> <para>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 + non-standard formats, you might want to put a copy on a + reliable http or ftp server that you control. If you are a FreeBSD + committer, your <filename>public_html</filename> directory on + <hostid>freefall</hostid> is ideal. Make sure you set + <makevar>MASTER_SITE</makevar> to reflect your choice. If you + cannot find somewhere convenient and reliable to put the distfile, + we can “house” it ourselves by putting it on <filename>ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/LOCAL_PORTS/</filename> as the last resort. Please refer to this location as <makevar>MASTER_SITE_LOCAL</makevar>. Send mail to the &a.ports;if you are not sure what to do.</para> @@ -1545,7 +1529,7 @@ DISTNAME=foozolix-1.0</programlisting>.</para> into a subdirectory called <filename>work/<makevar>DISTNAME</makevar></filename>, e.g. <filename>work/foozolix-1.0/</filename>.</para> - <para>All this behavior can be overridden, of course, it simply + <para>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 <makevar>DISTFILES</makevar> explicitly. If only a subset of <makevar>DISTFILES</makevar> are @@ -1907,7 +1891,168 @@ FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2</programlisting> </note> </sect4> </sect3> + + <sect3> + <title>ELF support</title> + + <para>Since FreeBSD is moving to ELF from 3.0-release onwards, + we need to convert many ports that build shared libraries + to support ELF. Complicating this task is that a 3.0 + system can run as both ELF and a.out, and that there will + be one more release (2.2.8) from the 2.2 branch. Below + are the guidelines on how to convert a.out only ports to + support both a.out and ELF compilation.</para> + + <para>Some part of this list is only applicable during the + conversion, but will be left here for awhile for reference + in case you have come across some old port you wish to + upgrade.</para> + + <sect4> + <title>Moving a.out libraries out of the way</title> + + <para>A.out libraries should be moved out of + <filename>/usr/local/lib</filename> and similar to an + <filename>aout</filename> subdirectory. (If you don't move them + out of the way, ELF ports will happily overwrite a.out libraries.) + The <maketarget>move-aout-libs</maketarget> target in the -current + <filename>src/Makefile</filename> (called from + <maketarget>aout-to-elf</maketarget>) will do this for you. It + will only move a.out libs so it is safe to call it on a system + with both ELF and a.out libs in the standard directories.</para> + </sect4> + + <sect4> + <title>Format</title> + + <para>The ports tree will build packages in the format the machine + is in. This means a.out for 2.2 and a.out or ELF for 3.0 depending + on what <command>`objformat`</command> returns. Also, once users + move a.out libraries to a subdirectory, building a.out libraries + will be unsupported. (I.e., it may still work if you know what you + are doing, but you are on your own.)</para> + + <note> + <para>If a port only works for a.out, set + <makevar>BROKEN_ELF</makevar> to a string describing the reason + why. Such ports will be skipped during a build on an ELF + system.</para> + </note> + </sect4> + + <sect4> + <title><makevar>PORTOBJFORMAT</makevar></title> + + <para><filename>bsd.port.mk</filename> will set + <makevar>PORTOBJFORMAT</makevar> to <literal>aout</literal> or + <literal>elf</literal> and export it in the environments + <envar>CONFIGURE_ENV</envar>, <envar>SCRIPTS_ENV</envar> and + <envar>MAKE_ENV</envar>. (It's always going to be + <literal>aout</literal> in -stable). It is also passed to + <maketarget>PLIST_SUB</maketarget> as + <literal>PORTOBJFORMAT=${PORTOBJFORMAT}</literal>. (See comment + on <literal>ldconfig</literal> lines below.)</para> + + <para>The variable is set using this line in + <filename>bsd.port.mk</filename>:</para> + <programlisting> +PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout</programlisting> + + <para>Ports' make processes should use this variable to decide what + to do. However, if the port's <filename>configure</filename> + script already automatically detects an ELF system, it is not + necessary to refer to <makevar>PORTOBJFORMAT</makevar>.</para> + </sect4> + + <sect4> + <title>Building shared libraries</title> + + <para>The following are differences in handling shared + libraries for a.out and ELF.</para> + + <itemizedlist> + <listitem> + <para>Shared library versions</para> + + <para>An ELF shared library should be called + <filename>libfoo.so.<replaceable>M</replaceable></filename> + where <replaceable>M</replaceable> is the single version + number, and an a.out library should be called + <filename>libfoo.so.<replaceable>M</replaceable>.<replaceable>N</replaceable></filename> where <replaceable>M</replaceable> is the major version and <replaceable>N</replaceable> is the the minor version number. Do not mix those; <emphasis>never</emphasis> install an ELF shared library called <filename>libfoo.so.<replaceable>N</replaceable>.<replaceable>M</replaceable></filename> or an a.out shared library (or symlink) called <filename>libfoo.so.<replaceable>N</replaceable></filename>.</para> + </listitem> + + <listitem> + <para>Linker command lines</para> + + <para>Assuming <command>cc -shared</command> is used rather than + <command>ld</command> directly, the only difference is that + you need to add + <option>-Wl,-<replaceable>soname,libfoo.so.M</replaceable></option> on the command line for ELF.</para> + </listitem> + </itemizedlist> + + <para>You need to install a symlink from + <filename>libfoo.so</filename> to + <filename>libfoo.so.<replaceable>N</replaceable></filename> to + make ELF linkers happy. Since it should be listed in + <filename>PLIST</filename> too, and it won't hurt in the a.out + case (some ports even require the link for dynamic loading), you + should just make this link regardless of the setting of + <makevar>PORTOBJFORMAT</makevar>.</para> + </sect4> + + <sect4> + <title><makevar>LIB_DEPENDS</makevar></title> + + <para>All port Makefiles are edited to remove minor numbers from + <makevar>LIB_DEPENDS</makevar>, and also to have the regexp + support removed. (E.g., <literal>foo\\.1\\.\\(33|40\\)</literal> + becomes <literal>foo.2</literal>.) They will be matched using + <command>grep -wF</command>.</para> + </sect4> + + <sect4> + <title><filename>PLIST</filename></title> + + <para><filename>PLIST</filename> should contain the short (ELF) + shlib names if the a.out minor number is zero, and the long + (a.out) names otherwise. <filename>bsd.port.mk</filename> will + automatically add <literal>.0</literal> to the end of short shlib + lines if <makevar>PORTOBJFORMAT</makevar> equals + <literal>aout</literal>, and will delete the minor number from + long shlib names if <makevar>PORTOBJFORMAT</makevar> equals + <literal>elf</literal>.</para> + + <para>In cases where you really need to install shlibs with two + versions on an ELF system or those with one version on an a.out + system (for instance, ports that install compatibility libraries + for other operating systems), define the variable + <makevar>NO_FILTER_SHLIBS</makevar>. This will turn off the + editing of <filename>PLIST</filename> mentioned in the previous + paragraph.</para> + </sect4> + + <sect4> + <title><literal>ldconfig</literal></title> + + <para>The <literal>ldconfig/ line in Makefiles should read:</literal></para> + + <programlisting> +${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....</programlisting> + + <para>In <filename>PLIST</filename> it should read;</para> + + <programlisting> +@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m ... +@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R</programlisting> + + <para>This is to ensure that the correct <command>ldconfig</command> + will be called depending on the format of the package, not the + default format of the system.</para> + </sect4> + </sect3> + <sect3> <title>Info files</title> @@ -2199,7 +2344,25 @@ diff -u -r1.15 PLIST </sect3> - + + <sect3> + <title>Changing the <filename>PLIST</filename> based on <citerefentry> + <refentrytitle>make</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> variables</title> + + <para>Some ports, particularly the <filename>p5-</filename> ports, + need to change their <filename>PLIST</filename> depending on what + options they are configured with (or version of perl, in the case of + <filename>p5-</filename> ports). To make this easy, any instances in + the <filename>PLIST</filename> of <literal>%%OSREL%%</literal>, + <literal>%%PERL_VER%%</literal>, and + <literal>%%PERL_VERSION%%</literal> will be substituted for + appropriately. If you need to make other substitutions, you can set + the <makevar>PLIST_SUB</makevar> variable with a list of + <literal><replaceable>VAR</replaceable>=<replaceable>VALUE</replaceable></literal> pairs and instances of <literal>%%<replaceable>VAR</replaceable>%%</literal> will be substituted with <replaceable>VALUE</replaceable> in the <filename>PLIST</filename>.</para> + </sect3> + <sect3> <title>Licensing Problems</title> @@ -2283,7 +2446,7 @@ diff -u -r1.15 PLIST any such person to begin with, please make the upgrade and send the recursive diff (either unified or context diff is fine, but port committers appear to prefer unified diff more) of the new - and old ports directories to us (i.e., if your modified ports + and old ports directories to us (e.g., if your modified port directory is called <filename>superedit</filename> and the original as in our tree is <filename>superedit.bak</filename>, then send us the result of @@ -2300,10 +2463,16 @@ diff -u -r1.15 PLIST </sect3> <sect3> - <title>Do's and Dont's</title> + <title><anchor id="porting-dads">Do's and Dont's</title> <para>Here is a list of common do's and dont's that you encounter - during the porting process.</para> + during the porting process.You should check your own port + against this list, but you can also check ports in the PR + database that others have submitted. Submit any comments on + ports you check as described in <link linkend="contrib-general">Bug + Reports and General Commentary</link>. Checking ports in + the PR database will both make it faster for us to commit them, + and prove that you know what you are doing.</para> <sect4> @@ -2319,131 +2488,129 @@ diff -u -r1.15 PLIST to the <filename>work</filename> subdirectory.</para> </sect4> - - <sect4> - <title>Package information</title> - - <para>Do include package information, i.e. - <filename>COMMENT</filename>, <filename>DESCR</filename>, and - <filename>PLIST</filename>, in <filename>pkg</filename>.</para> - <note> - <para>Note that these files are not used only for packaging - anymore, and are <emphasis>mandatory</emphasis> now, even if - <makevar>NO_PACKAGE</makevar> is - set.</para> - </note> - </sect4> - - <sect4> - <title>Compress manpages, strip binaries</title> - - <para>Do compress manpages and strip binaries. If the original - source already strips the binary, fine; otherwise, you can add - a <maketarget>post-install</maketarget> rule to do it - yourself. Here is an example:</para> + <sect4> + <title>Portlint Clean</title> - <programlisting> + <para>Do use <command>portlint</command>! The <ulink + url="http://www.freebsd.org/cgi/ports.cgi?portlint">portlint</ulink> program is part of the ports collection.</para> + </sect4> + + <sect4> + <title>Strip Binaries</title> + + <para>Do strip binaries. If the original source already strips the + binaries, fine; otherwise you should add a + <literal>post-install</literal> rule to to it yourself. Here is an + example;</para> + + <programlisting> post-install: strip ${PREFIX}/bin/xdl</programlisting> - - <para>Use the <command>file</command> command on the - installed executable to check whether the binary is stripped - or not. If it does not say `not stripped', it is - stripped.</para> - - <para>To automagically compress the manpages, use the <makevar>MAN[1-9LN]</makevar> - variables. They will check the variable - <makevar>NOMANCOMPRESS</makevar> that the user can set in - <filename>/etc/make.conf</filename> to disable man page - compression. Place them last in the section below the - <makevar>MAINTAINER</makevar> variable. Here is an example:</para> - <programlisting> + <para>Use the <citerefentry> + <refentrytitle>file</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> command on the installed executable to check + whether the binary is stripped or not. If it does not say + <literal>not stripped</literal>, it is stripped.</para> + </sect4> + + <sect4> + <title>Correctly Install Manpages</title> + + <para>Do use the <makevar>MAN<replaceable>n</replaceable></makevar> + variables. These variables, will automatically add any manpages + to <filename>pkg/PLIST</filename> (this means you must + <emphasis>not</emphasis> list manpages in the + <filename>PLIST</filename>) and automatically compress manpages + (unless <makevar>NOMANCOMPRESS</makevar> is set in + <filename>/etc/make.conf</filename>). If your port installs + pre-compressed manpages, you must define the + <makevar>MANCOMPRESSED</makevar> variable.</para> + + <programlisting> MAN1= foo.1 bar.1 MAN5= foo.conf.5 MAN8= baz.8</programlisting> - <note> - <para>This is not usually necessary with ports that are X - applications and use Imake to build.</para> - </note> - - <para>If your port anchors its man tree somewhere other than - <makevar>PREFIX</makevar>, you can use the - <makevar>MANPREFIX</makevar> 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 - <makevar>MAN<replaceable>sect</replaceable>PREFIX</makevar> - (where <replaceable>sect</replaceable> is one of 1-9, L or - N).</para> - - </sect4> - - <sect4> - <title><makevar>INSTALL_*</makevar> macros</title> - - <para>Do use the macros provided in - <filename>bsd.port.mk</filename> to ensure correct modes and - ownership of files in your own *-install targets. They - are:</para> - - - <itemizedlist> - - <listitem> - <para><makevar>${INSTALL_PROGRAM}</makevar> is - a command to install binary executables.</para> - </listitem> - - <listitem> - <para><makevar>${INSTALL_SCRIPT}</makevar> is a - command to install executable scripts.</para> - </listitem> - - <listitem> - <para><makevar>${INSTALL_DATA}</makevar> is a - command to install sharable data.</para> - </listitem> - - <listitem> - <para><makevar>${INSTALL_MAN}</makevar> is a - command to install manpages and other documentation (it - doesn't compress anything).</para> - </listitem> - - </itemizedlist> - - - <para>These are basically the <command>install</command> command with all the appropriate - flags. See below for an example on how to use them.</para> - - </sect4> - - <sect4> - <title><filename>INSTALL</filename> package script</title> - - <para>If your port needs execute commands when the binary - package is installed with pkg_add you can do with via the - <filename>pkg/INSTALL</filename> script. This script will - automatically be added to the package, and will be run twice - by pkg_add. The first time will as <command>INSTALL ${PKGNAME} PRE-INSTALL</command> and the - second time as <command>INSTALL ${PKGNAME} - POST-INSTALL</command>. <literal>$2</literal> can be tested to determine which - mode the script is being run in. The - <envar>PKG_PREFIX</envar> environmental variable will be - set to the package installation directory. See man - <citerefentry><refentrytitle>pkg_add</refentrytitle><manvolnum>1</manvolnum></citerefentry> for additional - information.</para> + <note> + <para>This is not usually necessary with ports that are X + applications and use <command>Imake</command> to build.</para> + </note> + + <para>If your port anchors its man tree somewhere other than + <makevar>PREFIX</makevar>, you can use the + <makevar>MANPREFIX</makevar> 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 + <makevar>MAN<replaceable>sect</replaceable>PREFIX</makevar> (where + <replaceable>sect</replaceable> is one of <literal>1-9</literal>, + <literal>L</literal> or <literal>N</literal>).</para> + </sect4> - <note> - <para>This script is not run automatically if you install the - port with <command>make install</command>. If you are - depending on it being run, you will have to explicitly call - it on your port's <filename>Makefile</filename>.</para> - </note> - </sect4> + <sect4> + <title>INSTALL_* macros</title> + + <para>Do use the macros provided in <filename>bsd.port.mk</filename> + to ensure correct modes and ownership of files in your own + <maketarget>*-install</maketarget> targets. They are:</para> + <itemizedlist> + <listitem> + <para><makevar>INSTALL_PROGRAM</makevar> is a command to install + binary executables.</para> + </listitem> + + <listitem> + <para><makevar>INSTALL_SCRIPT</makevar> is a command to install + executable scripts.</para> + </listitem> + + <listitem> + <para><makevar>INSTALL_DATA</makevar> is a command to install + sharable data.</para> + </listitem> + + <listitem> + <para><makevar>INSTALL_MAN</makevar> is a command to install + manpages and other documentation (it doesn't compress + anything).</para> + </listitem> + </itemizedlist> + + <para>These are basically the <command>install</command> command + with all the appropriate flags. See below for an example on how + to use them.</para> + </sect4> + + <sect4> + <title><filename>INSTALL</filename> package script</title> + + <para>If your port needs execute commands when the binary package is + installed with pkg_add you can do with via the + <filename>pkg/INSTALL</filename> script. This script will + automatically be added to the package, and will be run twice by + <command>pkg_add</command>. The first time will as + <command>INSTALL ${PKGNAME} PRE-INSTALL</command> and the second + time as <command>INSTALL ${PKGNAME} POST-INSTALL</command>. + <literal>$2</literal> can be tested to determine which mode + the script is being run in.</para> + + <para>The <envar>PKG_PREFIX</envar> environmental variable will be + set to the package installation directory. See <citerefentry> + <refentrytitle>pkg_add</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> for additional information.</para> + + <note> + <para>This script is not run automatically if you install the port + with <command>make install</command>. If you are depending on it + being run, you will have to explicitly call it on your port's + <filename>Makefile</filename>.</para> + </note> + </sect4> + <sect4> <title><filename>REQ</filename> package script</title> @@ -2456,7 +2623,7 @@ MAN8= baz.8</programlisting> <citerefentry><refentrytitle>pkg_add</refentrytitle><manvolnum>1</manvolnum></citerefentry> for more information.</para> </sect4> - + <sect4> <title>Install additional documentation</title> @@ -2500,7 +2667,7 @@ post-install: to <filename>pkg/PLIST</filename>).</para> </note> </sect4> - + <sect4> <title><makevar>DIST_SUBDIR</makevar></title> @@ -2526,6 +2693,21 @@ post-install: Makefile.</para> </note> </sect4> + + <sect4> + <title>Package information</title> + + <para>Do include package information, i.e. + <filename>COMMENT</filename>, <filename>DESCR</filename>, and + <filename>PLIST</filename>, in <filename>pkg</filename>.</para> + + <note> + <para>Note that these files are not used only for packaging + anymore, and are <emphasis>mandatory</emphasis> now, even if + <makevar>NO_PACKAGE</makevar> is + set.</para> + </note> + </sect4> <sect4> <title>Feedback</title> @@ -2560,7 +2742,7 @@ post-install: should be deleted. Also, if you had to delete a file, then you can do it in the <maketarget>post-extract</maketarget> target rather than as part of the patch. Once you are happy - with the resuling diff, please split it up into one source + with the resulting diff, please split it up into one source file per patch file.</para> </sect4> @@ -2570,7 +2752,7 @@ post-install: <para>Do try to make your port install relative to <makevar>PREFIX</makevar>. (The value of this variable will be set to <makevar>LOCALBASE</makevar> (default - <filename>/usr/local</filename>), unless <makevar>USE_IMAKE</makevar> or <makevar>USE_X11</makevar> is set, in which case it + <filename>/usr/local</filename>), unless <makevar>USE_X_PREFIX</makevar> or <makevar>USE_IMAKE</makevar> is set, in which case it will be <makevar>X11BASE</makevar> (default <filename>/usr/X11R6</filename>).)</para> @@ -2585,14 +2767,16 @@ post-install: read <makevar>PREFIX</makevar>, as this variable is automatically passed down to every stage of the build and install processes.</para> - + + <para>Do not set <makevar>USE_X_PREFIX</makevar> unless your port + truly require it (i.e., it links against X libs or it needs to + reference files in <makevar>X11BASE</makevar>.</para> + <para>The variable <makevar>PREFIX</makevar> - can be reassigned in your Makefile or in the user's + can be reassigned in your <filename>Makefile</filename> 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 <command>imake</command>, - set <literal>USE_X11=yes</literal>; this is quite different - from setting <literal>PREFIX=/usr/X11R6</literal>.)</para> + <filename>Makefiles</filename>.</para> <para>Also, refer to programs/files from other ports with the variables mentioned above, not explicit pathnames. For @@ -2672,14 +2856,17 @@ lib/libtcl80.so.1.0 <sect4> <title>UIDs</title> - <para>If your port requires a certain user ID to be on the + <para>If your port requires a certain user to be on the installed system, let the <filename>pkg/INSTALL</filename> script call <command>pw</command> to create it - automatically. Look at <filename>japanese/Wnn</filename> or - <filename>net/cvsup-mirror</filename> for examples. It is - customary to use UIDs in the upper 2-digit range (i.e., from - around 50 to 99) for this purpose.</para> - + automatically. Look at <filename>net/cvsup-mirror</filename> + for an example.</para> + + <para>If your port must use the same user/group ID number when it is + installed a binarypackage as when it was compiled, then you mus + choose a free UID from 50 to 99 and register it below. Look at + <filename>japanese/Wnn</filename> for an example.</para> + <para>Make sure you don't use a UID already used by the system or other ports. This is the current list of UIDs between 50 and 99.</para> @@ -2704,12 +2891,51 @@ qmailp:*:84:81:QMail user:/var/qmail:/nonexistent qmailr:*:86:82:QMail user:/var/qmail:/nonexistent msql:*:87:87:mSQL-2 pseudo-user:/var/db/msqldb:/bin/sh</programlisting> - <para>Please send a notice to &a.ports; if you submit or commit - a port that allocates a new UID in this range so we can keep - this list up to date.</para> + <para>Please include a notice when you submit a port (or an + upgrade) that reserves a new UID or GID in this range. This allows + us to keep the list of reserved IDs up to date.</para> </sect4> - + + <sect4> + <title>Doing things rationally</title> + + <para>The <filename>Makefile</filename> should do things simply and + reasonably. If you can make it a couple of lines shorter or more + readable, then do so. Examples include using a make + <literal>.if</literal> construct instead of a shell + <literal>if</literal> construct, not redefining + <maketarget>do-extract</maketarget> if you can redefine + <makevar>EXTRACT*</makevar> instead, and using + <makevar>GNU_CONFIGURE</makevar> instead of + <literal>CONFIGURE_ARGS += + --prefix=${PREFIX}</literal>.</para> + </sect4> + + <sect4> + <title>Respect <makevar>CFLAGS</makevar></title> + + <para>The port should respect the <makevar>CFLAGS</makevar> + variable. If it doesn't, please add <literal>NO_PACKAGE=ignores + cflags</literal> to the <filename>Makefile</filename>.</para> + </sect4> + + <sect4> + <title>Miscellanea</title> + + <para>The files <filename>pkg/DESCR</filename>, + <filename>pkg/COMMENT</filename>, and + <filename>pkg/PLIST</filename> should each be double-checked. If + you are reviewing a port and feel they can be worded better, do + so.</para> + + <para>Don't copy more copies of the GNU General Public License into + our system, please.</para> + + <para>Please be careful to note any legal issues! Don't let us + illegally distribute software!</para> + </sect4> + <sect4> <title>If you are stuck....</title> @@ -2721,8 +2947,8 @@ msql:*:87:87:mSQL-2 pseudo-user:/var/db/msqldb:/bin/sh</programlisting> beat your head against a wall! <!-- smiley --><emphasis>:)</emphasis></para> </sect4> - </sect3> - + </sect3> + <sect3 id="porting-samplem"> <title>A Sample <filename>Makefile</filename></title> @@ -2852,9 +3078,15 @@ pre-install: 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 <literal>kinput2</literal>).</para> + lowercase. If the capital letters are + important to the name (for example, with one-letter names + like <literal>R</literal> or <literal>V</literal>) you may use capital letters at your discretion. + There is a tradition of naming Perl 5 modules by prepending + <literal>p5-</literal> and converting the double-colon separator to a hyphen; + for example, the <literal>Data::Dumper</literal> module becomes + <literal>p5-Data-Dumper</literal>. If the software in question has numbers, + hyphens, or underscores in its name, you may include them as + well (like <literal>kinput2</literal>).</para> </listitem> <listitem> @@ -2988,7 +3220,19 @@ pre-install: version.</para> </sect3> - + + <sect3> + <title>Changes to this document and the ports system</title> + + <para>If you maintain a lot of ports, you should consider following + the <email>ports@FreeBSD.ORG</email> mailing-list. Important changes to + the way ports work will be announced there. You can always + find more detailed information on the latest changes by + looking at <ulink + url="http://www.FreeBSD.ORG/cgi/cvsweb.cgi/src/share/mk/bsd.port.mk"> + the bsd.port.mk CVS log</ulink>.</para> + </sect3> + <sect3> <title>That is It, Folks!</title> @@ -3001,7 +3245,7 @@ pre-install: <!-- smiley --><emphasis>:)</emphasis></para> </sect3> - </sect2> + </sect2> <sect2> <title>Money, Hardware or Internet access</title> @@ -3014,7 +3258,7 @@ pre-install: <sect3> - <title>Donating funds</title> + <title><anchor id="donations">Donating funds</title> <para>While the FreeBSD Project is not a 501(C3) (non-profit) corporation and hence cannot offer special tax incentives for @@ -3022,7 +3266,7 @@ pre-install: accepted on behalf of the project by FreeBSD, Inc.</para> <para>FreeBSD, Inc. was founded in early 1995 by &a.jkh; and - &a.davidg; with the goal of furthering the aims of the FreeBSD + &a.dg; 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 @@ -3038,7 +3282,10 @@ pre-install: <city>Concord</city> <state>CA</state>, <postcode>94520</postcode> </address> - + + <para>(currently using the Walnut Creek CDROM address until a PO +box can be opened)</para> + <para>Wire transfers may also be sent directly to:</para> <address> @@ -3086,7 +3333,7 @@ pre-install: 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 + donation, please contact &a.dg; for information on which items are still required.</para> </listitem> @@ -3112,7 +3359,7 @@ pre-install: </sect3> </sect2> - </sect1> + </sect1> <sect1 id="donors"> <title>Donors Gallery</title> @@ -3202,7 +3449,11 @@ pre-install: <listitem> <para>Sean Eric Fagan</para> </listitem> - + + <listitem> + <para>Don Scott Wilde</para> + </listitem> + <listitem> <para>Gianmarco Giovannelli <email>gmarco@masternet.it</email></para> @@ -3212,7 +3463,10 @@ pre-install: <para>Josef C. Grosch <email>joeg@truenorth.org</email></para> </listitem> - + + <listitem> + <para>Robert T. Morris</para> + </listitem> <listitem> <para>Chuck Robey <email>chuckr@freebsd.org</email></para> @@ -3400,9 +3654,9 @@ pre-install: Science Research Group (CSRG) at the University of California, Berkeley and associated academic contributors.</para> - <para>There are also portions of NetBSD that have been integrated into + <para>There are also portions of NetBSD and OpenBSD that have been integrated into FreeBSD as well, and we would therefore like to thank all the - contributors to NetBSD for their work.</para> + contributors to NetBSD and OpenBSD for their work.</para> </sect1> @@ -3413,11 +3667,6 @@ pre-install: <itemizedlist> - - <listitem> - <para>A JOSEPH KOSHY <email>koshy@india.hp.com</email></para> - </listitem> - <listitem> <para>ABURAYA Ryushirou <email>rewsirow@ff.iij4u.or.jp</email></para> </listitem> @@ -3429,7 +3678,11 @@ pre-install: <listitem> <para>Adam Glass <email>glass@postgres.berkeley.edu</email></para> </listitem> - + + <listitem> + <para>Adam McDougall <email>mcdouga9@egr.msu.edu</email></para> + </listitem> + <listitem> <para>Adrian T. Filipi-Martin <email>atf3r@agate.cs.virginia.edu</email></para> </listitem> @@ -3445,7 +3698,11 @@ pre-install: <listitem> <para>Alan Cox <email>alc@cs.rice.edu</email></para> </listitem> - + + <listitem> + <para>Amancio Hasty <email>ahasty@freebsd.org</email></para> + </listitem> + <listitem> <para>Andreas Kohout <email>shanee@rabbit.augusta.de</email></para> </listitem> @@ -3453,7 +3710,11 @@ pre-install: <listitem> <para>Andreas Lohr <email>andreas@marvin.RoBIN.de</email></para> </listitem> - + + <listitem> + <para>Andrew Gallatin <email>gallatin@cs.duke.edu</email></para> + </listitem> + <listitem> <para>Andrew Gordon <email>andrew.gordon@net-tel.co.uk</email></para> </listitem> @@ -3489,7 +3750,11 @@ pre-install: <listitem> <para>Angelo Turetta <email>ATuretta@stylo.it</email></para> </listitem> - + + <listitem> + <para>Anthony C. Chavez <email>magus@xmission.com</email></para> + </listitem> + <listitem> <para>Anthony Yee-Hang Chan <email>yeehang@netcom.com</email></para> </listitem> @@ -3505,11 +3770,19 @@ pre-install: <listitem> <para>Bernd Rosauer <email>br@schiele-ct.de</email></para> </listitem> - + + <listitem> + <para>Bill Fumerola <email>billf@jade.chc-chimes.com</email></para> + </listitem> + <listitem> <para>Bill Kish <email>kish@osf.org</email></para> </listitem> - + + <listitem> + <para>Brandon Gillespie <email>brandon@roguetrader.com</email></para> + </listitem> + <listitem> <para>&a.wlloyd;</para> </listitem> @@ -3549,7 +3822,11 @@ pre-install: <listitem> <para>Bruce Gingery <email>bgingery@gtcs.com</email></para> </listitem> - + + <listitem> + <para>Bruce Mah <email>bmah@ca.sandia.gov</email></para> + </listitem> + <listitem> <para>Carey Jones <email>mcj@acquiesce.org</email></para> </listitem> @@ -3569,7 +3846,11 @@ pre-install: <listitem> <para>Chet Ramey <email>chet@odin.INS.CWRU.Edu</email></para> </listitem> - + + <listitem> + <para>Chia-liang Kao <email>clkao@CirX.ORG</email></para> + </listitem> + <listitem> <para>Chris Dabrowski <email>chris@vader.org</email></para> </listitem> @@ -3605,7 +3886,12 @@ pre-install: <listitem> <para>Christoph Robitschko <email>chmr@edvz.tu-graz.ac.at</email></para> </listitem> - + + <listitem> + <para>Christopher T. Johnson + <email>cjohnson@neunacht.netgsi.com</email></para> + </listitem> + <listitem> <para>Choi Jun Ho <email>junker@jazz.snu.ac.kr</email></para> </listitem> @@ -3667,7 +3953,7 @@ pre-install: </listitem> <listitem> - <para>Dave Chapeskie <email>dchapes@zeus.leitch.com</email></para> + <para>Dave Chapeskie <email>dchapes@ddm.on.ca</email></para> </listitem> <listitem> @@ -3702,14 +3988,18 @@ pre-install: <para>Dirk Froemberg <email>dirk@hal.in-berlin.de</email></para> </listitem> - <listitem> - <para>Dmitrij Tejblum <email>dima@tejblum.dnttm.rssi.ru</email></para> - </listitem> - <listitem> <para>Dmitry Kohmanyuk <email>dk@farm.org</email></para> </listitem> - + + <listitem> + <para>Dom Mitchell <email>dom@myrddin.demon.co.uk</email></para> + </listitem> + + <listitem> + <para>Don Croyle <email>croyle@gelemna.ft-wayne.in.us</email></para> + </listitem> + <listitem> <para>&a.whiteside;</para> </listitem> @@ -3719,7 +4009,7 @@ pre-install: </listitem> <listitem> - <para>Donald Burr <email>d_burr@ix.netcom.com</email></para> + <para>Donald Maddox <email>dmaddox@scsn.net</email></para> </listitem> <listitem> @@ -3729,10 +4019,15 @@ pre-install: <listitem> <para>Douglas Carmichael <email>dcarmich@mcs.com</email></para> </listitem> - - <listitem> - <para>Eiji-usagi-MATSUmoto <email>usagi@ruby.club.or.jp</email></para> - </listitem> + + <listitem> + <para>Eckart “Isegrim” Hofmann + <email>Isegrim@Wunder-Nett.org</email></para> + </listitem> + + <listitem> + <para>Eiji-usagi-MATSUmoto <email>usagi@clave.gr.jp</email></para> + </listitem> <listitem> <para>ELISA Font Project</para> @@ -3773,7 +4068,11 @@ pre-install: <listitem> <para>Frank Nobis <email>fn@trinity.radio-do.de</email></para> </listitem> - + + <listitem> + <para>Frank Volf <email>volf@oasis.IAEhv.nl</email></para> + </listitem> + <listitem> <para>FUJIMOTO Kensaku <email>fujimoto@oscar.elec.waseda.ac.jp</email></para> </listitem> @@ -3793,11 +4092,28 @@ pre-install: <listitem> <para>Gerard Roudier <email>groudier@club-internet.fr</email></para> </listitem> - + + <listitem> + <para>Gilad Rom <email>rom_glsa@ein-hashofet.co.uk</email></para> + </listitem> + + <listitem> + <para>Ginga Kawaguti + <email>ginga@amalthea.phys.s.u-tokyo.ac.jp</email></para> + </listitem> + <listitem> <para>Greg Ungerer <email>gerg@stallion.oz.au</email></para> </listitem> - + + <listitem> + <para>Hans Huebner <email>hans@artcom.de</email></para> + </listitem> + + <listitem> + <para>Hans Petter Bieker <email>hanspb@persbraten.vgs.no</email></para> + </listitem> + <listitem> <para>Harlan Stenn <email>Harlan.Stenn@pfcs.com</email></para> </listitem> @@ -3829,11 +4145,23 @@ pre-install: <listitem> <para>Holger Veit <email>Holger.Veit@gmd.de</email></para> </listitem> - + + <listitem> + <para>HONDA Yasuhiro <email>honda@kashio.info.mie-u.ac.jp</email></para> + </listitem> + + <listitem> + <para>Horance Chou <email>horance@freedom.ie.cycu.edu.tw</email></para> + </listitem> + <listitem> <para>Hung-Chi Chu <email>hcchu@r350.ee.ntu.edu.tw</email></para> </listitem> - + + <listitem> + <para>Ian Struble <email>ian@broken.net</email></para> + </listitem> + <listitem> <para>Ian Vaudrey <email>i.vaudrey@bigfoot.com</email></para> </listitem> @@ -3857,7 +4185,11 @@ pre-install: <listitem> <para>Issei Suzuki <email>issei@t-cnet.or.jp</email></para> </listitem> - + + <listitem> + <para>Iseei Suzuki <email>issei@jp.FreeBSD.ORG</email></para> + </listitem> + <listitem> <para>Itsuro Saito <email>saito@miv.t.u-tokyo.ac.jp</email></para> </listitem> @@ -3865,11 +4197,19 @@ pre-install: <listitem> <para>J. David Lowe <email>lowe@saturn5.com</email></para> </listitem> - + + <listitem> + <para>J. Han <email>jtc@cygnus.com</email></para> + </listitem> + <listitem> <para>J.T. Conklin <email>jtc@cygnus.com</email></para> </listitem> - + + <listitem> + <para>J.T. Lang <email>keith@email.gcn.net.tw</email></para> + </listitem> + <listitem> <para>James Clark <email>jjc@jclark.com</email></para> </listitem> @@ -3893,10 +4233,18 @@ pre-install: <listitem> <para>Jeff Bartig <email>jeffb@doit.wisc.edu</email></para> </listitem> - + + <listitem> + <para>Keff Kletsky <email>Jeff@Wagsky.com</email></para> + </listitem> + <listitem> <para>Jeffrey Wheat <email>jeff@cetlink.net</email></para> </listitem> + + <listitem> + <para>Jerry Hicks <email>jhicks@glenatl.glenayre.com</email></para> + </listitem> <listitem> <para>Jian-Da Li <email>jdli@csie.NCTU.edu.tw</email></para> @@ -3913,11 +4261,25 @@ pre-install: <listitem> <para>Jim Wilson <email>wilson@moria.cygnus.com</email></para> </listitem> - + + <listitem> + <para>Jimbo Bahooli + <email>griffin@blackhole.iceworld/org</email></para> + </listitem> + <listitem> <para>Joao Carlos Mendes Luis <email>jonny@coppe.ufrj.br</email></para> </listitem> - + + <listitem> + <para>Joe “Marcus” Clarke + <email>marcus@miami.edu</email></para> + </listitem> + + <listitem> + <para>Joe Jih-Shian Lu <email>jslu@dns.ntu.edu.tw</email></para> + </listitem> + <listitem> <para>Joel Sutton <email>sutton@aardvark.apana.org.au</email></para> </listitem> @@ -3933,7 +4295,11 @@ pre-install: <listitem> <para>John Heidemann <email>johnh@isi.edu</email></para> </listitem> - + + <listitem> + <para>John Hood <email>cgull@owl.org</email></para> + </listitem> + <listitem> <para>John Perry <email>perry@vishnu.alias.net</email></para> </listitem> @@ -3946,6 +4312,15 @@ pre-install: <para>John Rochester <email>jr@cs.mun.ca</email></para> </listitem> + <listitem> + <para>John Saunders <email>john@pacer.nlc.net.au</email></para> + </listitem> + + <listitem> + <para>Jonathan Hanna + <email>jh@pc-21490.bc.rogers.wave.ca</email></para> + </listitem> + <listitem> <para>Josef Karthauser <email>joe@uk.freebsd.org</email></para> </listitem> @@ -3985,7 +4360,11 @@ pre-install: <listitem> <para>Junichi Satoh <email>junichi@jp.freebsd.org</email></para> </listitem> - + + <listitem> + <para>Junya WATANABE <email>junya-w@remus.dti.ne.jp</email></para> + </listitem> + <listitem> <para>Kapil Chowksey <email>kchowksey@hss.hns.com</email></para> </listitem> @@ -4009,7 +4388,11 @@ pre-install: <listitem> <para>Kent Vander Velden <email>graphix@iastate.edu</email></para> </listitem> - + + <listitem> + <para>Kentaro Inagaki <email>JBD01226@niftyserve.ne.jp</email></para> + </listitem> + <listitem> <para>Kirk McKusick <email>mckusick@mckusick.com</email></para> </listitem> @@ -4031,9 +4414,14 @@ pre-install: </listitem> <listitem> - <para>Lars Koeller <email>Lars.Koeller@Uni-Bielefeld.DE</email></para> + <para>Lars Köller <email>Lars.Koeller@Uni-Bielefeld.DE</email></para> </listitem> - + + <listitem> + <para>Lian Tai-hwa + <email>avatar@www.mmlab.cse.yzu.edu.twu</email></para> + </listitem> + <listitem> <para>Lucas James <email>Lucas.James@ldjpc.apana.org.au</email></para> </listitem> @@ -4045,7 +4433,12 @@ pre-install: <listitem> <para>Makoto MATSUSHITA <email>matusita@jp.freebsd.org</email></para> </listitem> - + + <listitem> + <para>Makoto WATANABE + <email>watanabe@zlab.phys.nagoya-u.ac.jp</email></para> + </listitem> + <listitem> <para>Manu Iyengar <email>iyengar@grunthos.pscwa.psca.com</email></para> </listitem> @@ -4097,7 +4490,11 @@ pre-install: <listitem> <para>Masachika ISHIZUKA <email>ishizuka@isis.min.ntt.jp</email></para> </listitem> - + + <listitem> + <para>Masanori Kiriake <email>seiken@ncs.co.jp</email></para> + </listitem> + <listitem> <para>Mats Lofkvist <email>mal@algonet.se</email></para> </listitem> @@ -4114,10 +4511,6 @@ pre-install: <para>Matt White <email>mwhite+@CMU.EDU</email></para> </listitem> - <listitem> - <para>Matthew Hunt <email>mph@pobox.com</email></para> - </listitem> - <listitem> <para>Matthew N. Dodd <email>winter@jurai.net</email></para> </listitem> @@ -4173,7 +4566,11 @@ pre-install: <listitem> <para>MOROHOSHI Akihiko <email>moro@race.u-tokyo.ac.jp</email></para> </listitem> - + + <listitem> + <para>Motoyuki Kasahara <email>m-hasahr@sra.co.jp</email></para> + </listitem> + <listitem> <para>Murray Stokely <email>murray@cdrom.com</email></para> </listitem> @@ -4217,7 +4614,11 @@ pre-install: <listitem> <para>Noritaka Ishizumi <email>graphite@jp.FreeBSD.ORG</email></para> </listitem> - + + <listitem> + <para>Oliver Breuninger <email>ob@seicom.NET</email></para> + </listitem> + <listitem> <para>Oliver Fromme <email>oliver.fromme@heim3.tu-clausthal.de</email></para> </listitem> @@ -4266,10 +4667,6 @@ pre-install: <para>Peter Haight <email>peterh@prognet.com</email></para> </listitem> - <listitem> - <para>Peter Hawkins <email>peter@rhiannon.clari.net.au</email></para> - </listitem> - <listitem> <para>Peter Stubbs <email>PETERS@staidan.qld.edu.au</email></para> </listitem> @@ -4293,7 +4690,11 @@ pre-install: <listitem> <para>Richard Hwang <email>rhwang@bigpanda.com</email></para> </listitem> - + + <listitem> + <para>Richard. M. Neswold <email>rneswold@drmemory.fnal.gov</email></para> + </listitem> + <listitem> <para>Richard Seaman, Jr. <email>dick@tar.com</email></para> </listitem> @@ -4337,7 +4738,15 @@ pre-install: <listitem> <para>Ruslan Shevchenko <email>rssh@cki.ipri.kiev.ua</email></para> </listitem> - + + <listitem> + <para>SADA Kenji <email>sada@e-mail.ne.jp</email></para> + </listitem> + + <listitem> + <para>SURANYI Peter <email>suranyip@jks.is.tsukuba.ac.jp</email></para> + </listitem> + <listitem> <para>Samuel Lam <email>skl@ScalableNetwork.com</email></para> </listitem> @@ -4361,7 +4770,11 @@ pre-install: <listitem> <para>Satoshi Taoka <email>taoka@infonets.hiroshima-u.ac.jp</email></para> </listitem> - + + <listitem> + <para>Scot W. Hetzel <email>hetzels@westbend.net</email></para> + </listitem> + <listitem> <para>Scott Blachowicz <email>scott.blachowicz@seaslug.org</email></para> </listitem> @@ -4369,7 +4782,20 @@ pre-install: <listitem> <para>Scott A. Kenney <email>saken@rmta.ml.org</email></para> </listitem> - + + <listitem> + <para>Seigou TANIMURA + <email>tanimura@naklab.dnj.ynu.ac.jp</email></para> + </listitem> + + <listitem> + <para>Seiichirou Hiraoka <email>flathill@flathill.gr.jp</email></para> + </listitem> + + <listitem> + <para>Serge Babkin <email>babkin@hq.icb.chel.su</email></para> + </listitem> + <listitem> <para>Serge V. Vakulenko <email>vak@zebub.msk.su</email></para> </listitem> @@ -4377,7 +4803,12 @@ pre-install: <listitem> <para>Sheldon Hearn <email>axl@iafrica.com</email></para> </listitem> - + + <listitem> + <para>Shigeyuki FUKUSHIMA + <email>shige@kuis.kyoto-u.ac.jp</email></para> + </listitem> + <listitem> <para>Simon Marlow <email>simonm@dcs.gla.ac.uk</email></para> </listitem> @@ -4393,15 +4824,27 @@ pre-install: <listitem> <para>Soren Dossing <email>sauber@netcom.com</email></para> </listitem> - + + <listitem> + <para>Stefan Eggers <email>seggers@semyam.dinoco.de</email></para> + </listitem> + <listitem> - <para>Stefan Moeding <email>moeding@bn.DeTeMobil.de</email></para> + <para>Stefan Moeding <email>s.moeding@ndh.net</email></para> </listitem> - + + <listitem> + <para>Stefan “Sec” Zehl <email>sec@42.org</email></para> + </listitem> + <listitem> <para>Stephane Legrand <email>stephane@lituus.fr</email></para> </listitem> - + + <listitem> + <para>Stephen Farrell <email>stephen@farrell.org</email></para> + </listitem> + <listitem> <para>Stephen J. Roznowski <email>sjr@home.net</email></para> </listitem> @@ -4409,7 +4852,21 @@ pre-install: <listitem> <para>Steve Gerakines <email>steve2@genesis.tiac.net</email></para> </listitem> - + + <listitem> + <para>Steven G. Kargl + <email>kargl@troutmask.apl.washington.edu</email></para> + </listitem> + + <listitem> + <para>Stephen H. Samorodin <email>samorodi@NUXU.com</email></para> + </listitem> + + <listitem> + <para>Stuart Henderson + <email>stuart@internationalschool.co.uk</email></para> + </listitem> + <listitem> <para>Suzuki Yoshiaki <email>zensyo@ann.tama.kawasaki.jp</email></para> </listitem> @@ -4421,11 +4878,27 @@ pre-install: <listitem> <para>Taguchi Takeshi <email>taguchi@tohoku.iij.ad.jp</email></para> </listitem> - + + <listitem> + <para>Takashi Mega <email>mega@minz.org</email></para> + </listitem> + + <listitem> + <para>Takashi Uozu <email>j1594016@ed.kagu.sut.ac.jp</email></para> + </listitem> + <listitem> <para>Takayuki Ariga <email>a00821@cc.hc.keio.ac.jp</email></para> </listitem> - + + <listitem> + <para>Takeu NAIKI <email>naiki@bfd.es.hokudai.ac.jp</email></para> + </listitem> + + <listitem> + <para>Ted Faber <email>faber@ISI.EDU</email></para> + </listitem> + <listitem> <para>Terry Lambert <email>terry@lambert.org</email></para> </listitem> @@ -4457,7 +4930,11 @@ pre-install: <listitem> <para>Tim Wilkinson <email>tim@sarc.city.ac.uk</email></para> </listitem> - + + <listitem> + <para>Tom Jobbins <email>tom@tom.tj</email></para> + </listitem> + <listitem> <para>Tom Samplonius <email>tom@misery.sdf.com</email></para> </listitem> @@ -4469,7 +4946,11 @@ pre-install: <listitem> <para>Toshihiro Kanda <email>candy@fct.kgc.co.jp</email></para> </listitem> - + + <listitem> + <para>Toshihiko SHIMOKAWA <email>toshi@tea.forus.or.jp</email></para> + </listitem> + <listitem> <para>Trefor S. <email>trefor@flevel.co.uk</email></para> </listitem> @@ -4477,7 +4958,11 @@ pre-install: <listitem> <para>Ville Eerola <email>ve@sci.fi</email></para> </listitem> - + + <listitem> + <para>Vladimir Kushnir <email>kushn@mail.kar.net</email></para> + </listitem> + <listitem> <para>Werner Griessl <email>werner@btp1da.phy.uni-bayreuth.de</email></para> </listitem> @@ -4511,7 +4996,7 @@ pre-install: </listitem> <listitem> - <para>Yukihiro Nakai <email>nakai@mlab.t.u-tokyo.ac.jp</email></para> + <para>Yukihiro Nakai <email>nakai@technologist.com</email></para> </listitem> <listitem> @@ -4616,7 +5101,7 @@ pre-install: </listitem> <listitem> - <para>David Greenman <email>davidg@Root.COM</email></para> + <para>David Greenman <email>dg@Root.COM</email></para> </listitem> <listitem> diff --git a/en/handbook/cutting-edge/chapter.sgml b/en/handbook/cutting-edge/chapter.sgml index d71df2e940..51cb7a5561 100644 --- a/en/handbook/cutting-edge/chapter.sgml +++ b/en/handbook/cutting-edge/chapter.sgml @@ -359,10 +359,13 @@ subscribe freebsd-stable</programlisting> In the body of your <para>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 <application>CVSup</application> and <application>CTM</application>.</para> + primary services we offer are <link linkend="anoncvs">Anonymous + CVS</link>, <link linkend="cvsup">CVSup</link>, and + <link linkend="ctm">CTM</link>.</para> - <para><application>CVSup</application> uses the - <emphasis>pull</emphasis> model of updating. The user (or a cron + <para><application>Anonymous CVS</application> and <application>CVSup</application> use the + <emphasis>pull</emphasis> model of updating sources. In the case of + <application>CVSup</application> the user (or a cron script) invokes the <command>cvsup</command> program, and it interacts with a <command>cvsupd</command> server somewhere to bring your files up to date. The updates you receive @@ -370,14 +373,21 @@ subscribe freebsd-stable</programlisting> In the body of your them. You can easily restrict your updates to the specific files or directories that are of interest to you. Updates are generated on the fly by the server, according to what you have and what you want - to have.</para> + to have. <application>Anonymous CVS</application> is quite a bit more simplistic + than CVSup in that it's just an extension to + <application>CVS</application> which allows it to pull changes + directly from a remote CVS + repository. <application>CVSup</application> can do this far more + efficiently, but <application>Anonymous CVS</application> is easier to + use.</para> <para><application>CTM</application>, 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 + archive or otherwise pull them across.. Instead, a script which identifies changes in files since + its previous run is executed several times a day on the master CTM + machine, + any detected changes being compressed, stamped with a + sequence-number and encoded for transmission over email (in printable ASCII only). Once received, these “CTM deltas” can then be handed to the <citerefentry><refentrytitle>ctm_rmail</refentrytitle><manvolnum>1</manvolnum></citerefentry> utility which will automatically decode, verify and apply the changes to the user's copy of the sources. This @@ -390,12 +400,313 @@ subscribe freebsd-stable</programlisting> In the body of your damaged portions for you. <application>CTM</application> 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.</para> + delta”) and rebuild it all with CTM or, with anoncvs, simply + delete the bad bits and resync.</para> - <para>For more information on <application>CTM</application> and <application>CVSup</application>, please see one of the + <para>For more information on <application>Anonymous CVS</application>, <application>CTM</application>, and <application>CVSup</application>, please see one of the following sections:</para> + + <sect2 id="anoncvs"> + <title>Anonymous CVS</title> + <para><emphasis>Contributed by &a.jkh;</emphasis></para> + <sect3> + <title><anchor id="anoncvs-intro">Introduction</title> + + <para>Anonymous CVS (or, as it is otherwise known, + <emphasis>anoncvs</emphasis>) is a feature provided by the CVS + utilities bundled with FreeBSD for synchronizing with a remote CVS + repository. Among other things, it allows users of FreeBSD to + perform, with no special privileges, read-only CVS operations + against one of the FreeBSD project's official anoncvs servers. To + use it, one simply sets the <envar>CVSROOT</envar> environment + variable to point at the appropriate anoncvs server and then uses + the <citerefentry> + <refentrytitle>cvs</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> command to access it like any local + repository.</para> + + <para>While it can also be said that the <link + linkend="cvsup">CVSup</link> and <emphasis>anoncvs</emphasis> + services both perform essentially the same function, there are + various trade-offs which can influence the user's choice of + synchronization methods. In a nutshell, + <application>CVSup</application> is much more efficient in its + usage of network resources and is by far the most technically + sophisticated of the two, but at a price. To use + <application>CVSup</application>, a special client must first be + installed and configured before any bits can be grabbed, and then + only in the fairly large chunks which + <application>CVSup</application> calls + <emphasis>collections</emphasis>.</para> + + <para><application>Anoncvs</application>, by contrast, can be used + to examine anything from an individual file to a specific program + (like <command>ls</command> or <command>grep</command>) by + referencing the CVS module name. Of course, + <application>anoncvs</application> is also only good for read-only + operations on the CVS repository, so if it's your intention to + support local development in one repository shared with the + FreeBSD project bits then <application>CVSup</application> is + really your only option.</para> + </sect3> + + <sect3> + <title><anchor id="anoncvs-usage">Using Anonymous CVS</title> + + <para>Configuring <citerefentry> + <refentrytitle>cvs</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> to use an Anonymous CVS repository is a simple + matter of setting the <envar>CVSROOT</envar> environment variable + to point to one of the FreeBSD project's + <emphasis>anoncvs</emphasis> servers. At the time of this writing, + the following servers are available:</para> + + <itemizedlist> + <listitem> + <para><emphasis>USA</emphasis>: + anoncvs@anoncvs.freebsd.org:/cvs</para> + </listitem> + </itemizedlist> + + <para>Since CVS allows one to “check out” virtually any + version of the FreeBSD sources that ever existed (or, in some + cases, will exist <!-- smiley -->:), you need to be familiar with + the revision (<option>-r</option>) flag to <citerefentry> + <refentrytitle>cvs</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> and what some of the permissible values for it in + the FreeBSD Project repository are.</para> + + <para>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.</para> + + <para>Here are the branch tags that users might be interested + in:</para> + + <variablelist> + <varlistentry> + <term>HEAD</term> + + <listitem> + <para>Symbolic name for the main line, or FreeBSD-current. + Also the default when no revision is + specified.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2</term> + + <listitem> + <para>The line of development for FreeBSD-2.2.x, also known as + FreeBSD-stable. Not valid for the ports collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_0</term> + + <listitem> + <para>The line of development for FreeBSD-2.1.x - this branch + is largely obsolete. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Here are the revision tags that users might be interested + in:</para> + + <variablelist> + <varlistentry> + <term>RELENG_2_2_6_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.6. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_5_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.5. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_2_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.2. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_1_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.1. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_0_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.0. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_7_RELEASE</term> + + <listitem> + <para>FreeBSD-2.1.7. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_6_1_RELEASE</term> + + <listitem> + <para>FreeBSD-2.1.6.1. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_6_RELEASE</term> + + <listitem> + <para>FreeBSD-2.1.6. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_5_RELEASE</term> + + <listitem> + <para>FreeBSD-2.1.5. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_0_RELEASE</term> + + <listitem> + <para>FreeBSD-2.1.0. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>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 <option>-D date</option> flag. See the <citerefentry> + <refentrytitle>cvs</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> man page for more details.</para> + </sect3> + + <sect3> + <title>Examples</title> + + <para>While it really is recommended that you read the manual page + for <citerefentry> + <refentrytitle>cvs</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> thoroughly before doing + anything, here are some quick examples which essentially show how + to use Anonymous CVS:</para> + + <example> + <title>Checking out something from -current (<citerefentry> + <refentrytitle>ls</refentrytitle> + <manvolnum>1</manvolnum></citerefentry>) and deleting it + again:</title> + + <screen> +&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput> +&prompt.user; <userinput>cvs co ls</userinput> +&prompt.user; <userinput>cvs release -d ls</userinput></screen> + </example> + + <example> + <title>Checking out the version of ls(1) in the 2.2-stable + branch:</title> + + <screen> +&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput> +&prompt.user; <userinput>cvs co -rRELENG_2_2 ls</userinput> +&prompt.user; <userinput>cvs release -d ls</userinput></screen> + </example> + + <example> + <title>Creating a list of changes (as unidiffs) to <citerefentry> + <refentrytitle>ls</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> between FreeBSD 2.2.2 + and FreeBSD 2.2.6:</title> + + <screen> +&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput> +&prompt.user; <userinput>cvs rdiff -u -rRELENG_2_2_2_RELEASE -rRELENG_2_2_6_RELEASE ls</userinput></screen> + </example> + + <example> + <title>Finding out what other module names can be used:</title> + + <screen> +&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput> +&prompt.user; <userinput>cvs co modules</userinput> +&prompt.user; <userinput>more modules/modules</userinput> +&prompt.user; <userinput>cvs release -d modules</userinput></screen> + </example> + </sect3> + + <sect3> + <title>Other Resources</title> + + <para>The following additional resources may be helpful in learning + CVS:</para> + + <itemizedlist> + <listitem> + <para><ulink + url="http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/">CVS Tutorial</ulink> from Cal Poly.</para> + </listitem> + + <listitem> + <para><ulink url="http://www.cyclic.com">Cyclic + Software</ulink>, commercial maintainers of CVS.</para> + </listitem> + + <listitem> + <para><ulink + url="http://www.freebsd.org/cgi/cvsweb.cgi">CVSWeb</ulink> + is the FreeBSD Project web interface for CVS.</para> + </listitem> + </itemizedlist> + </sect3> + </sect2> + <sect2 id="ctm"> <title><application>CTM</application></title> @@ -511,23 +822,27 @@ subscribe freebsd-stable</programlisting> In the body of your produced subsequently to it.</para> <para>First you should determine what you already have. Everyone - can start from an “empty” directory. However, since the trees + can start from an “empty” directory. You must use an + initial “Empty&rdquo delta to start off your + <application>CTM</application> supported tree. At some point it is + intended that one of these “started” deltas be + distributed on the CD for your convenience. This does not + currently happen however.</para> + + <para>You can recognize +However, since the trees are many tens of megabytes, you should prefer to start from something already at hand. If you have a RELEASE CD, you can copy or extract an initial source from it. This will save a significant transfer of data.</para> - <para>Once you identify a suitable starting point, you must use an - initial “transition” delta to transform your starting point - into a <application>CTM</application> supported tree.</para> - - <para>You can recognize these transition deltas by the + <para>You can recognize these “starter” deltas by the <literal>X</literal> appended to the number (<filename>src-cur.3210XEmpty.gz</filename> for instance). The designation following the <filename>X</filename> corresponds to the origin of your initial “seed”. <filename>Empty</filename> is - an empty directory, <filename>R225</filename> would designate the 2.2.5 release, - etc. As a rule a base transition from <filename>Empty</filename> is producted + an empty directory. As a rule a base transition from + <filename>Empty</filename> is produced every 100 deltas. By the way, they are large! 25 to 30 Megabytes of <command>gzip</command>'ed data is common for the <filename>XEmpty</filename> deltas.</para> @@ -791,7 +1106,7 @@ subscribe freebsd-stable</programlisting> In the body of your <para>The easiest way to install <application>CVSup</application> if you are running FreeBSD 2.2 or later is to use either <ulink - URL="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/net/cvsup.tar">the port</ulink> from the FreeBSD <link linkend="ports">ports collection</link> or the corresponding <ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/net/cvsup-15.3.tgz">binary package</ulink>, depending on whether you prefer to roll your own or not.</para> + URL="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/net/cvsup.tar">the port</ulink> from the FreeBSD <link linkend="ports">ports collection</link> or the corresponding <ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/net/cvsup-15.4.2.tgz">binary package</ulink>, depending on whether you prefer to roll your own or not.</para> <para>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 @@ -813,24 +1128,25 @@ subscribe freebsd-stable</programlisting> In the body of your <listitem> <para><ulink - URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.3.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.3.tar.gz</ulink> (client including GUI).</para> + URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.4.2.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.4.2.tar.gz</ulink> (client including GUI).</para> </listitem> <listitem> <para><ulink - URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.3.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.3.tar.gz</ulink> (client without GUI).</para> + URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.4.2.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.4.2.tar.gz</ulink> (client without GUI).</para> </listitem> <listitem> <para><ulink - URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.3.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.3.tar.gz</ulink> (server).</para> + URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.4.2.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.4.2.tar.gz</ulink> (server).</para> </listitem> </itemizedlist> - <para>or the German mirror:</para> - + <para>as well as from the many FreeBSD <link + linkend="mirrors-ftp">FTP mirror sites</link> around the + world.</para> <itemizedlist> @@ -1066,6 +1382,24 @@ cvs-crypto</programlisting> <variablelist> + <varlistentry> + <term>tag=RELENG_3_0_0_RELEASE</term> + + <listitem> + <para>FreeBSD-3.0. Not valid for the ports-* + collections.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>tag=RELENG_2_2_7_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.7. Not valid for the ports-* + collections.</para> + </listitem> + </varlistentry> + <varlistentry><term>tag=RELENG_2_2_6_RELEASE</term> <listitem> <para>FreeBSD-2.2.6. Not valid for the ports-* @@ -1521,7 +1855,17 @@ cvs-crypto</programlisting> </listitem> </varlistentry> - + + <varlistentry> + <term><literal></literal>ports-deskutils + release=cvs</term> + + <listitem> + <para>Things that used to be on the desktop before + computers were invented.</para> + </listitem> + </varlistentry> + <varlistentry><term><literal>ports-devel release=cvs</literal></term> @@ -1746,10 +2090,54 @@ cvs-crypto</programlisting> release=cvs</literal></term> <listitem> - <para>X11 software.</para> - + <para>Ports to support the X window + system.</para> </listitem> </varlistentry> + + <varlistentry> + <term><literal>ports-x11-clocks + release=cvs</literal></term> + + <listitem> + <para>X11 clocks.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-fm + release=cvs</literal></term> + + <listitem> + <para>X11 file managers.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-fonts + release=cvs</literal></term> + + <listitem> + <para>X11 fonts and font utilities.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-toolkits + release=cvs</literal></term> + + <listitem> + <para>X11 toolkits.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-wm</literal></term> + + <listitem> + <para>X11 window managers.</para> + </listitem> + </varlistentry> </variablelist> diff --git a/en/handbook/disks/chapter.sgml b/en/handbook/disks/chapter.sgml new file mode 100644 index 0000000000..ee74a49501 --- /dev/null +++ b/en/handbook/disks/chapter.sgml @@ -0,0 +1,165 @@ +<chapter id="disks"> + <title>Disks</title> + + <para><emphasis>Contributed by &a.obrien; 26 April 1998</emphasis></para> + + <para>Lets say we want to add a new SCSI disk to a machine that currently + only has a single drive. First turn off the computer and install the + drive in the computer following the instructions of the computer, + controller, and drive manufacturer. Due the wide variations of procedures + to do this, the details are beyond the scope of this document.</para> + + <para>Login as user <username>root</username>. After you've installed the + drive, inspect <filename>/var/run/dmesg.boot</filename> to ensure the new + disk was found. Continuing with our example, the newly added drive will be + <filename>sd1</filename> and we want to mount it on + <filename>/1</filename>. (if you are adding an IDE drive substitute + <filename>wd</filename> for <filename>sd</filename>)</para> + + <para>Because FreeBSD runs on IBM-PC compatible computers, it must take into + account the PC BIOS partitions. These are different from the traditional + BSD partitions. A PC disk has up to four BIOS partition entries. If the + disk is going to be truly dedicated to FreeBSD, you can use the + <emphasis>dedicated</emphasis> mode. Otherwise, FreeBSD will have to live + with in one of the PC BIOS partitions. FreeBSD calls the PC BIOS + partitions, <emphasis>slices</emphasis> so as not to confuse them with + traditional BSD partitions. You may also use slices on a disk that is + dedicated to FreeBSD, but used in a computer that also has another + operating system installed. This is to not confuse the + <command>fdisk</command> utility of the other operating system.</para> + + <para>In the slice case the drive will be added as + <filename>/dev/sd1s1e</filename>. This is read as: SCSI disk, unit number + 1 (second SCSI disk), slice 1 (PC BIOS partition 1), and + <filename>e</filename> BSD partition. In the dedicated case, the drive + will be added simply as <filename>/dev/sd1e</filename>.</para> + + <sect1> + <title>Using sysinstall</title> + + <para> You may use <command>/stand/sysinstall</command> to partition and + label a new disk using its easy to use menus. Either login as user + <username>root</username> or use the <command>su</command> command. Run + <command>/stand/sysinstall</command> and enter the + <literal>Configure</literal> menu. With in the <literal>FreeBSD + Configuration Menu</literal>, scroll down and select the + <literal>Partition</literal> item. Next you should be presented with a + list of hard drives installed in your system. If you do not see + <literal>sd1</literal> listed, you need to recheck your physical + installation and <command>dmesg</command> output in the file + <filename>/var/run/dmesg.boot</filename>.</para> + + <para>Select <literal>sd1</literal> to enter the <literal>FDISK Partition + Editor</literal>. Choose <literal>A</literal> to use the entire disk + for FreeBSD. When asked if you want to <quote>remain cooperative with + any future possible operating systems</quote>, answer + <literal>YES</literal>. Write the changes to the disk using + <command>W</command>. Now exit the FDISK editor using + <command>q</command>. Next you will be asked about the Master Boot + Record. Since you are adding a disk to an already running system, choose + <literal>None</literal>.</para> + + <para>Next enter the <literal>Disk Label Editor</literal>. This is where + you will create the traditional BSD partitions. A disk can have up to + eight partitions, labeled a-h. A few of the partition labels have + special uses. The <literal>a</literal> partition is used for the root + partition (<filename>/</filename>). Thus only your system disk (e.g, the + disk you boot from) should have an <literal>a</literal> partition. The + <literal>b</literal> partition is used for swap partitions, and you may + have many disks with swap partitions. The <literal>c</literal> partition + addresses the entire disk in dedicated mode, or the entire FreeBSD slice + in slice mode. The other partitions are for general use.</para> + + <para>Sysinstall's Label editor favors the <literal>e</literal> partition + for non-root, non-swap partitions. With in the Label editor, create a + single file system using <command>C</command>. When prompted if this + will be a FS (file system) or swap, choose <literal>FS</literal> and + give a mount point (e.g, <filename>/mnt</filename>). When adding a disk + in post-install mode, Sysinstall will not create entries in + <filename>/etc/fstab</filename> for you, so the mount point you specify + isn't important.</para> + + <para>You are now ready to write the new label to the disk and create a + file system on it. Do this by hitting <command>W</command>. Ignore any + errors from Sysinstall that it could not mount the new partition. Exit + the Label Editor and Sysinstall completely.</para> + + <para>The last step is to edit <filename>/etc/fstab</filename> to add an + entry for your new disk.</para> + </sect1> + + <sect1> + <title>Using command line utilities</title> + + <sect2> + <title>* Using Slices</title> + + <para></para> + </sect2> + + <sect2> + <title>Dedicated</title> + + <para>If you will not be sharing the new drive with another operating + system, you may use the <literal>dedicated</literal> mode. Remember + this mode can confuse Microsoft operating systems; however, no damage + will be done by them. IBM's OS/2 however, will + “appropriate” any partition it finds which it doesn't + understand.</para> + + <informalexample> + <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rsd1 bs=1k count=1</userinput> +&prompt.root; <userinput>disklabel -Brw sd1 auto</userinput> +&prompt.root; <userinput>disklabel -e sd</userinput>1 # create the `e' partition +&prompt.root; <userinput>newfs -d0 /dev/rsd1e</userinput> +&prompt.root; <userinput>mkdir -p /1</userinput> +&prompt.root; <userinput>vi /etc/fstab</userinput> # add an entry for /dev/sd1e +&prompt.root; <userinput>mount /1</userinput></screen> + </informalexample> + + <para>An alternate method is:</para> + + <informalexample> + <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rsd1 count=2</userinput> +&prompt.root; <userinput>disklabel /dev/rsd1 | disklabel -BrR sd1 /dev/stdin</userinput> +&prompt.root; <userinput>newfs /dev/rsd1e</userinput> +&prompt.root; <userinput>mkdir -p /1</userinput> +&prompt.root; <userinput>vi /etc/fstab</userinput> # add an entry for /dev/sd1e +&prompt.root; <userinput>mount /1</userinput></screen> + </informalexample> + </sect2> + </sect1> + + <sect1> + <title>* Non-traditional Drives</title> + + <sect2> + <title>* Zip Drives</title> + + <para></para> + </sect2> + + <sect2> + <title>* Jazz Drives</title> + + <para></para> + </sect2> + + <sect2> + <title>* Sequest Drives</title> + + <para></para> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../handbook.sgml" "part" "chapter") + End: +--> diff --git a/en/handbook/eresources/chapter.sgml b/en/handbook/eresources/chapter.sgml index 35d28a30e5..65f8af855a 100644 --- a/en/handbook/eresources/chapter.sgml +++ b/en/handbook/eresources/chapter.sgml @@ -49,7 +49,7 @@ <title>List summary</title> <para><emphasis>General lists:</emphasis> The following are - general lists which anyone is free to join:</para> + general lists which anyone is free (and encouraged) to join:</para> <informaltable frame="none"> <tgroup cols="2"> @@ -61,6 +61,11 @@ </thead> <tbody> + <row> + <entry>freebsd-advocacy</entry> + <entry>FreeBSD Evangelism</entry> + </row> + <row> <entry>freebsd-announce</entry> <entry>Important events and project milestones</entry> @@ -101,6 +106,11 @@ opportunities</entry> </row> + <row> + <entry>freebsd-newbies</entry> + <entry>New FreeBSD users activities and discussions</entry> + </row> + <row> <entry>freebsd-questions</entry> <entry>User questions</entry> @@ -139,6 +149,12 @@ <entry>The FreeBSD Documentation project</entry> </row> + <row> + <entry>freebsd-database</entry> + <entry>Discussing database use and development under + FreeBSD</entry> + </row> + <row> <entry>freebsd-emulation</entry> <entry>Emulation of other systems such as @@ -178,10 +194,15 @@ </row> <row> - <entry>freebsd-multimedia</entry> - <entry>Multimedia discussion</entry> + <entry>freebsd-mozilla</entry> + <entry>Porting mozilla to FreeBSD</entry> </row> + <row> + <entry>freebsd-net</entry> + <entry>Networking discussion and TCP/IP/source code</entry> + </row> + <row> <entry>freebsd-platforms</entry> <entry>Concerning ports to non-Intel architecture @@ -203,6 +224,11 @@ <entry>Security issues</entry> </row> + <row> + <entry>freebsd-small</entry> + <entry>Using FreeBSD in embedded applications</entry> + </row> + <row> <entry>freebsd-smp</entry> <entry>Design discussions for [A]Symmetric @@ -213,6 +239,11 @@ <entry>freebsd-sparc</entry> <entry>Porting FreeBSD to Sparc systems</entry> </row> + + <row> + <entry>freebsd-tokenring</entry> + <entry>Support Token Ring in FreeBSD</entry> + </row> </tbody> </tgroup> </informaltable> @@ -540,7 +571,7 @@ help milestones</emphasis></para> <para>This is the mailing list for people interested only - in occasional announcements of significant freebsd events. + 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. @@ -555,10 +586,39 @@ help <para><emphasis>Architecture and design discussions</emphasis></para> - <para>This is the mailing - list for people discussing FreeBSD architectural issues. - It is a closed list, and not for general - subscription.</para> + <para>This is a moderated list for discussion of FreeBSD + architecture. Messages will mostly be kept technical in + nature, with (rare) exceptions for other messages the + moderator deems need to reach all the subscribers of the + list. Examples of suitable topics;</para> + + <itemizedlist> + <listitem> + <para>How to re-vamp the build system to have several + customized builds running at the same time.</para> + </listitem> + + <listitem> + <para>What needs to be fixed with VFS to make Heidemann + layers work.</para> + </listitem> + + <listitem> + <para>How do we change the device driver interface to be + able to use the ame drivers cleanly on many buses and + architectures?</para> + </listitem> + + <listitem> + <para>How do I write a network driver?</para> + </listitem> + </itemizedlist> + + <para>The moderator reserves the right to do minor editing + (spell-checking, grammar correction, trimming) of messages + that are posted to the list. The volume of the list will be + kept low, which may involve having to delay topics until an + active discussion has been resolved.</para> </listitem> </varlistentry> @@ -660,9 +720,11 @@ help <listitem> <para><emphasis>Documentation project</emphasis></para> - <para>This mailing list belongs to the FreeBSD Doc Project - and is for the discussion of documentation related issues - and projects.</para> + <para>This mailing list is for the discussion of documentation + related issues and projects. The members of this mailing list + are collectively referred to as “The FreeBSD + Documentation Project”. It is an open list; feel free to + join and contribute.</para> </listitem> </varlistentry> @@ -766,16 +828,22 @@ help </listitem> </varlistentry> - <varlistentry><term>FREEBSD-MULTIMEDIA</term> + <varlistentry><term>FREEBSD-NEWBIES</term> <listitem> - <para><emphasis>Multimedia discussions</emphasis></para> - - <para>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.</para> + <para><emphasis>Newbies activities + discussion</emphasis></para> + + <para>We cover any of the activities of newbies that are not + already dealt with elsewhere, including: independent learning + and problem solving techniques, finding and using resources + and asking for help elsewhere, how to use mailing lists and + which lists to use, general chat, making mistakes, boasting, + sharing ideas, stories, moral (but not technical) support, and + taking an active part in the FreeBSD community. We take our + problems and support questions to freebsd-questions, and use + freebsd-newbies to meet others who are doing the same things + that we do as newbies.</para> </listitem> </varlistentry> @@ -866,7 +934,17 @@ help FreeBSD-security.</para> </listitem> </varlistentry> - + + <varlistentry> + <term>FREEBSD-SMALL</term> + + <listitem> + <para>This list discusses topics related to unsually small and + embedded FreeBSD installations. This is a technical mailing + list for which strictly technical content is expected.</para> + </listitem> + </varlistentry> + <varlistentry><term>FREEBSD-USER-GROUPS</term> <listitem> @@ -972,36 +1050,6 @@ help URL="news:comp.unix.misc">comp.unix.misc</ulink></para> </listitem> - <listitem> - <para><ulink - URL="news:comp.os.386bsd.announc">comp.os.386bsd.announc</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.os.386bsd.app">comp.os.386bsd.app</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.os.386bsd.bugs">comp.os.386bsd.bugs</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.os.386bsd.development">comp.os.386bsd.development</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.os.386bsd.misc">comp.os.386bsd.misc</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.os.386bsd.questions">comp.os.386bsd.questions</ulink></para> - </listitem> - <listitem> <para><ulink URL="news:comp.bugs.4bsd">comp.bugs.4bsd</ulink></para> diff --git a/en/handbook/handbook.sgml b/en/handbook/handbook.sgml index be64c759cb..78ff7e72ca 100644 --- a/en/handbook/handbook.sgml +++ b/en/handbook/handbook.sgml @@ -3,7 +3,7 @@ <!ENTITY % authors SYSTEM "authors.ent"> %authors; <!ENTITY % mailing-lists SYSTEM "mailing-lists.ent"> %mailing-lists; -<!ENTITY rel.current CDATA "2.2.6"> +<!ENTITY rel.current CDATA "3.0"> ]> <book> @@ -16,7 +16,7 @@ </author> </authorgroup> - <pubdate>March 1998</pubdate> + <pubdate>July 1998</pubdate> <copyright> <year>1995</year> @@ -35,11 +35,12 @@ with this project, send email to the &a.doc; The latest version of this document is always available from the <ulink URL="http://www.FreeBSD.ORG/">FreeBSD World Wide Web server</ulink>. - It may also be downloaded in plain text, postscript or HTML from the - <ulink URL="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/docs">FreeBSD FTP - server</ulink> or one of the numerous <link + It may also be downloaded in <ulink url="handbook.latin1">plain +text</ulink>, <ulink url="handbook.ps">postscript</ulink> or <ulink +url="handbook-html.tar.gz">HTML</ulink> with HTTP or gzip'd from the <ulink +url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/docs/">FreeBSD FTP server</ulink> or one of the numerous <link linkend="mirrors-ftp">mirror sites</link>. You may also want to - <ulink URL="/search.html">Search the Handbook</ulink>.</para> + <ulink URL="http://www.FreeBSD.ORG/search.html">Search the Handbook</ulink>.</para> </abstract> </bookinfo> @@ -58,6 +59,8 @@ &chap.kernelconfig; &chap.security; &chap.printing; + &chap.disks; + &chap.backups; &chap.quotas; &chap.x11; &chap.hw; diff --git a/en/handbook/hw/chapter.sgml b/en/handbook/hw/chapter.sgml index 9a915a7c17..111cde9410 100644 --- a/en/handbook/hw/chapter.sgml +++ b/en/handbook/hw/chapter.sgml @@ -78,24 +78,20 @@ <para>For Pentium Pro (P6) systems, I'm quite fond of the <ulink URL="http://www.tyan.com/html/products.html">Tyan</ulink> - S1668 dual-processor motherboard. It makes a dandy little - single or dual processor system (which is supported in FreeBSD - 3.0) and the price of the Pentium Pro 180/256K chip has fallen - to truly affordable levels. The Pentium Pro remains my favorite - processor solution server systems (Megahertz ratings aren't - everything).</para> + S1668 dual-processor motherboard as well as the Intel PR440FX + motherboard with on-board SCSI WIDE and 100/10MB Intel + Etherexpress NIC. You can build a dandy little single or dual + processor system (which is supported in FreeBSD 3.0) for very + little cost now that the Pentium Pro 180/256K chips have fallen so + greatly in price, but no telling how much longer this will + last.</para> <para>For the Pentium II, I'm rather partial to the <ulink URL="http://www.asus.com.tw">ASUS</ulink> <ulink URL="http://www.asus.com.tw/Products/Motherboard/Pentiumpro/P2l97-s/index.html">P2l97-S</ulink> motherboard with the on-board Adaptec SCSI WIDE controller.</para> <para>For Pentium machines, the ASUS <ulink - URL="http://www.asus.com.tw/Products/Motherboard/Pentium/P55tp4/index.html">P55T2P4</ulink> 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 <ulink URL="http://asustek.asus.com.tw/FTP/ASUS/Info/Spec/pvi-486sp3.txt">486SP3G</ulink> offering if it's a 486-class motherboard you're looking for.</para> - - <note> - <para>These have become increasingly hard to get as ASUS - apparently no longer manufactures them).</para> - </note> + URL="http://www.asus.com.tw/Products/Motherboard/Pentium/P55tp4/index.html">P55T2P4</ulink> motherboard appears to be a good choice for mid-to-high range Pentium server and workstation systems.</para> <para>Those wishing to build more fault-tolerant systems should also be sure to use Parity memory or, for truly 24/7 @@ -131,6 +127,13 @@ your scarce PCI bus resources by buying the Adaptec 3940 card, which puts two SCSI controllers (and internal busses) in a single slot.</para> + + <note> + <para>There are two types of 3940 on the market—the older + model with AIC 7880 chips on it, and hte newer one with AIC 7895 + chips. The newer model requires <ulink + url="http://www.freebsd.org/pub/FreeBSD/development/cam/">CAM</ulink> support which is not yet part of FreeBSD—you have to add it, or install from one of the CAM binary snapshot release.</para> + </note> </sect3> @@ -144,11 +147,8 @@ 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!</para> - - <para>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.</para> + as a food chain! For a serious server configuration, there's not + even any argument—use SCSI equipment and good cables.</para> </sect3> @@ -157,12 +157,11 @@ <para>My SCSI preferences extend to SCSI CDROM drives as well, and while the <ulink URL="http://www.toshiba.com">Toshiba</ulink> - 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 <ulink - URL="http://www.plextor.com">Plextor</ulink> PX-12CS drive. - It's a 12 speed drive with excellent performance and - reliability.</para> + drives have always been favourites of mine (in whatever speed is + hot that week), I'm still fond of my good old <ulink + url="http://www.plextor.com">Plextor</ulink> PX-12CS drive. It's + only a 12 speed, but it's offered excellent performance and + reliability.</para> <para>Generally speaking, most SCSI CDROM drives I've seen have been of pretty solid construction and you probably won't go @@ -182,8 +181,8 @@ 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 6020i. I myself use the HP 6020i 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 + CDROMs (in 2.2 and alter releases—it does not work with + earlier releases of the SCSI code) and it works very well. See <ulink URL="file:/usr/share/examples/worm">/usr/share/examples/worm</ulink> on your 2.2 system for example scripts used to created ISO9660 filesystem images (with RockRidge extensions) and burn them onto an HP6020i CDR.</para> @@ -209,12 +208,14 @@ Inc. (formerly X Inside, Inc)</ulink> then I can heartily recommend the <ulink URL="http://www.matrox.com/">Matrox</ulink> <ulink - URL="http://www.matrox.com/mgaweb/brochure.htm">Millenium</ulink> card. Note that support for this card is also excellent with the <ulink URL="http://www.xfree86.org/">XFree86</ulink> server, which is now at version 3.3.2.</para> + URL="http://www.matrox.com/mgaweb/brochure.htm">Millenium II</ulink> card. Note that support for this card is also excellent with the <ulink URL="http://www.xfree86.org/">XFree86</ulink> server, which is now at version 3.3.2.</para> <para>You also certainly can't go wrong with one of <ulink URL="http://www.nine.com/">Number 9's</ulink> 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.</para> + fast and very well supported by XFree86's S3 server. You can + also pick up their Revolution 3D cards very cheaply these days, + especially if you require a lot of video memory.</para> </sect3> @@ -222,27 +223,28 @@ <title>Monitors</title> <para>I have had very good luck with the <ulink - URL="http://cons3.sel.sony.com/SEL/ccpg/display/ms17se2.html">Sony Multiscan 17seII monitors</ulink>, 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. $2,500 for a 21" monitor or $1,700 for a 20" 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!</para> + URL="http://cons3.sel.sony.com/SEL/ccpg/display/ms17se2.html">Sony Multiscan 17seII monitors</ulink>, 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. $2,000 for a 21" monitor or $1,700 for a 20" 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!</para> </sect3> <sect3 id="hw-networking"> <title>Networking</title> - <para>I can recommend the <ulink + <para>I can recommend the Intel EtherExpress Pro/100B card first + ande foremost, followed by the <ulink URL="http://www.smc.com/">SMC</ulink> 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, the Intel EtherExpress generally getting my - vote.</para> + cards for slightly cheaper PCI based networking. In general, any + PCI NIC based around DEC's DC21041 Ethernet controller chip, + such as the Zynx ZX342 or DEC DE435, will generally work quite + well and can frequently be found in 2-port and 4-port version + (useful for firewalls and routers), though the Pro/100MB card has + the edge when it comes to providing the best performance with teh + lower overhead.</para> - <para>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.</para> + <para>If what you're looking for is the + cheapest possible solution then almost any NE2000 clone will do + a fine job for very little cost.</para> </sect3> @@ -334,7 +336,7 @@ <sect3 id="hw-mb-pci"> <title>PCI</title> - <para><emphasis>Contributed by &a.rgrimes;.<!-- <br> -->25 April + <para><emphasis>Contributed by &a.obrien; from postings by &a.rgrimes;.<!-- <br> -->25 April 1995.</emphasis></para> <para><emphasis>Continuing updates by &a.jkh;.</emphasis><!-- <br> @@ -4875,7 +4877,7 @@ options "TUNE_1542" #dynamic tune of bus DMA speed</programli <para>Data transfer rate is 350kB/s using <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Rates of 530kB/s have been reported when using <link - linkend="hw-storage-amanda">Amanda</link></para> + linkend="backups-programs-amanda">Amanda</link></para> <para>Production of this drive has been discontinued.</para> @@ -5655,653 +5657,6 @@ scsi -f $2 -s 100 -c "1b 0 0 $cdb3 $cdb4 $cdb5"</programlisting> <para></para> </sect2> - - <sect2> - <title>* Adding and reconfiguring disks</title> - - <para></para> - </sect2> - - <sect2 id="hw-storage-tapebackups"> - <title>Tapes and backups</title> - - - <sect3> - <title>* What about backups to floppies?</title> - - <para></para> - </sect3> - - <sect3> - <title>Tape Media</title> - - - <sect4 id="hw-storage-tapebackups-4mm"> - <title>4mm (DDS: Digital Data Storage)</title> - - <para>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.</para> - - <para>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.</para> - - <para>4mm drives, like 8mm drives, use helical-scan. All the - benefits and drawbacks of helical-scan apply to both 4mm and - 8mm drives.</para> - - <para>Tapes should be retired from use after 2,000 passes or 100 - full backups.</para> - - </sect4> - - <sect4 id="hw-storage-tapebackups-8mm"> - <title>8mm (Exabyte)</title> - - <para>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.</para> - - <para>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.</para> - - <para>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.</para> - - </sect4> - - <sect4 id="hw-storage-tapebackups-qic"> - <title>QIC</title> - - <para>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 <emphasis>most</emphasis> - 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). <link - linkend="hw-storage-tapebackups-mini">Mini-cartridges</link>, - which also use 1/4" wide tape are - discussed separately. Tape libraries and changers are not - available.</para> - - <para>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.</para> - - <para>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).</para> - - <para>Tapes should be retired from use after 5,000 - backups.</para> - - </sect4> - - <sect4 id="hw-storage-tapebackups-mini"> - <title>* Mini-Cartridge</title> - - <para></para> - </sect4> - - <sect4 id="hw-storage-tapebackups-dlt"> - <title>DLT</title> - - <para>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.</para> - - <para>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.</para> - - <para>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.</para> - - </sect4> - </sect3> - - <sect3> - <title>Using a new tape for the first time</title> - - <para>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:</para> - - <informalexample> - <screen>st0(ncr1:4:0): NOT READY asc:4,1 -st0(ncr1:4:0): Logical unit is in process of becoming ready</screen> - </informalexample> - - <para>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:</para> - - <para><command>mt fsf 1</command> causes the tape drive - to write an Identifier Block to the tape.</para> - - <para>Use the front panel button to eject the tape.</para> - - <para>Re-insert the tape and <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> data to - the tape.</para> - - <para><citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> will report <errorname>DUMP: End of tape detected</errorname> and the console - will show: <errorname>HARDWARE FAILURE info:280 - asc:80,96</errorname></para> - - <para>rewind the tape using: <command>mt - rewind</command></para> - - <para>Subsequent tape operations are successful.</para> - - </sect3> - - <sect3> - <title>Backup Programs</title> - - <para>The three major programs are <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry>, and - <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para> - - - <sect4> - <title>Dump and Restore</title> - - <para><citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> and - <citerefentry><refentrytitle>restore</refentrytitle><manvolnum>8</manvolnum></citerefentry> 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. - <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> backs up devices, entire - filesystems, not parts of a filesystem and not directory trees - that span more than one filesystem, using either soft links - <citerefentry><refentrytitle>ln</refentrytitle><manvolnum>1</manvolnum></citerefentry> or mounting one filesystem onto - another. <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> does not write files and - directories to tape, but rather writes the data blocks that - are the building blocks of files and directories. - <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> 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.</para> - - <para><citerefentry><refentrytitle>rdump</refentrytitle><manvolnum>8</manvolnum></citerefentry> and - <citerefentry><refentrytitle>rrestore</refentrytitle><manvolnum>8</manvolnum></citerefentry> backup data across the network - to a tape drive attached to another computer. Both programs - rely upon <citerefentry><refentrytitle>rcmd</refentrytitle><manvolnum>3</manvolnum></citerefentry> and - <citerefentry><refentrytitle>ruserok</refentrytitle><manvolnum>3</manvolnum></citerefentry> to access the remote tape - drive. Therefore, the user performing the backup must have - <filename>rhosts</filename> access to the remote - computer. The arguments to <citerefentry><refentrytitle>rdump</refentrytitle><manvolnum>8</manvolnum></citerefentry> and - <citerefentry><refentrytitle>rrestore</refentrytitle><manvolnum>8</manvolnum></citerefentry> must suitable to use on the - remote computer. e.g. When <command>rdump</command>'ing from a FreeBSD computer to an - Exabyte tape drive connected to a Sun called komodo, use:</para> - - <informalexample> - <screen>&prompt.root; <userinput>/sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nrst8 /dev/rsd0a 2>&1</userinput></screen> - </informalexample> - - <para>Beware: - there are security implications to allowing <filename>rhosts</filename> commands. Evaluate your - situation carefully.</para> - - </sect4> - - <sect4> - <title>Tar</title> - - <para><citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> also dates back to Version 6 of - ATT Unix (circa 1975). <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> operates in - cooperation with the filesystem; <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> - writes files and directories to tape. - <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> does not support the full range of - options that are available from <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - but <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> does not require the unusual - command pipeline that <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> uses.</para> - - <para>Most versions of <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> do not support - backups across the network. The GNU version of - <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry>, which FreeBSD utilizes, supports - remote devices using the same syntax as <command>rdump</command>. To <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> to - an Exabyte tape drive connected to a Sun called komodo, use: - <command>/usr/bin/tar cf komodo:/dev/nrst8 . - 2>&1</command>. For versions without remote device - support, you can use a pipeline and <citerefentry><refentrytitle>rsh</refentrytitle><manvolnum>1</manvolnum></citerefentry> - to send the data to a remote tape drive. (XXX add an example - command)</para> - - </sect4> - - <sect4> - <title>Cpio</title> - - <para><citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> is the original Unix file - interchange tape program for magnetic media. - <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> 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 <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> and excellent choice for - installation media. <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> does not know - how to walk the directory tree and a list of files must be - provided thru <acronym>STDIN</acronym>.</para> - - <para><citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> does not support backups across - the network. You can use a pipeline and - <citerefentry><refentrytitle>rsh</refentrytitle><manvolnum>1</manvolnum></citerefentry> to send the data to a remote tape - drive. (XXX add an example command)</para> - - </sect4> - - <sect4> - <title>Pax</title> - - <para><citerefentry><refentrytitle>pax</refentrytitle><manvolnum>1</manvolnum></citerefentry> is IEEE/POSIX's answer to - <command>tar</command> and <command>cpio</command>. Over the years the various - versions of <command>tar</command> and <command>cpio</command> have gotten slightly incompatible. - So rather than fight it out to fully standardize them, POSIX - created a new archive utility. <command>pax</command> attempts to read and write many of - the various cpio and tar formats, plus new formats of its own. - Its command set more resembles <command>cpio</command> than <command>tar</command>.</para> - - </sect4> - - <sect4 id="hw-storage-amanda"> - <title><ulink - URL="http://www.freebsd.org/ports/misc.html#amanda-2.2.6.5">Amanda</ulink></title> - - <para>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.</para> - - <para>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.</para> - - </sect4> - - <sect4> - <title>Do nothing</title> - - <para>“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!</para> - - <para>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.</para> - - <para>“Do nothing” is the correct backup method for - <filename>/usr/obj</filename> 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 <acronym>SGML</acronym> input files. Creating - backups of these <acronym>HTML</acronym> files is not - necessary. The <acronym>SGML</acronym> source files are - backed up regularly.</para> - - </sect4> - - <sect4> - <title>Which Backup Program is Best?</title> - - <para><citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> <emphasis>Period.</emphasis> - 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 - <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry>. 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 - unwritable 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.</para> - - </sect4> - </sect3> - - <sect3> - <title>Emergency Restore Procedure</title> - - - <sect4> - <title>Before the Disaster</title> - - <para>There are only four steps that you need to perform in - preparation for any disaster that may occur.</para> - - <procedure> - <step> - <para>Print the disklabel from each of your disks - (e.g., <command>disklabel sd0 | lpr</command>), your - filesystem table (<filename>/etc/fstab</filename>) and all - boot messages, two copies of each.</para> - </step> - - <step> - <para>Determine the boot and fixit floppies (<filename>boot.flp</filename> - and <filename>fixit.flp</filename>) 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.</para> - - <para>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: - <citerefentry><refentrytitle>fdisk</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>disklabel</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>newfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>, and - whichever backup program you use. These programs must be - statically linked. If you use <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry>, the - floppy must contain <citerefentry><refentrytitle>restore</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para> - </step> - - <step> - <para>Create backup tapes regularly. Any changes that you - make after your last backup may be irretrievably lost. - Write-protect the backup tapes.</para> - </step> - - <step> - <para>Test the floppies (either <filename>boot.flp</filename> and <filename>fixit.flp</filename> - 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 <command>tar xvf /dev/rst0</command>, you might - accidently type <command> tar cvf /dev/rst0</command> and - over-write your backup tape).</para> - - <para>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.</para> - - <para>An example script for creating a bootable floppy:</para> - - <programlisting> -#!/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/rfd0 - -# -# 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</programlisting> - </step> - </procedure> - </sect4> - - <sect4> - <title>After the Disaster</title> - - <para>The key question is: did your hardware survive? You have - been doing regular backups so there is no need to worry about - the software.</para> - - <para>If the hardware has been damaged. First, replace those - parts that have been damaged.</para> - - <para>If your hardware is okay, check your floppies. If you are - using a custom boot floppy, boot single-user (type <option>-s</option> at the - <prompt>boot:</prompt> prompt). Skip the following paragraph.</para> - - <para>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 <filename>fixit.flp</filename> when prompted. - <command>restore</command> and the other programs - that you need are located in - <filename>/mnt2/stand</filename>.</para> - - <para>Recover each filesystem separately.</para> - - <para>Try to <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry> (e.g. <command>mount /dev/sd0a /mnt</command>) the root partition of your first disk. If - the disklabel was damaged, use <citerefentry><refentrytitle>disklabel</refentrytitle><manvolnum>8</manvolnum></citerefentry> - to re-partition and label the disk to match the label that - your printed and saved. Use <citerefentry><refentrytitle>newfs</refentrytitle><manvolnum>8</manvolnum></citerefentry> to - re-create the filesystems. Re-mount the root partition of the - floppy read-write (<command>mount -u -o rw /mnt</command>). - Use your backup program and backup tapes to recover the data - for this filesystem (e.g. <command>restore vrf - /dev/st0</command>). Unmount the filesystem (e.g. - <filename>umount /mnt</filename>) Repeat for each filesystem - that was damaged.</para> - - <para>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.</para> - - </sect4> - - <sect4> - <title>* I did not prepare for the Disaster, What Now?</title> - - <para></para> - </sect4> - </sect3> - </sect2> </sect1> <sect1 id="hw-other"> diff --git a/en/handbook/install/chapter.sgml b/en/handbook/install/chapter.sgml index 9f6aff2b43..52485fd470 100644 --- a/en/handbook/install/chapter.sgml +++ b/en/handbook/install/chapter.sgml @@ -15,10 +15,13 @@ between FreeBSD and your hardware which may, in turn, dictate which installation options are even possible. It can also provide early clues to any compatibility problems which 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 - (the installation will handle any further required downloading - itself).</para> + running on your system at all.</para> + + <para>If you plan on installing via + anonymous FTP then this installation floppy is all you need to + download and create—the installation program itself will handle + any further required downloading directly (using an ethernet connection, + a modem and ppp dialip #, etc).</para> <para>For more information on obtaining the latest FreeBSD distributions, please see <link linkend="mirrors">Obtaining @@ -180,6 +183,11 @@ Boot: 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.</para> + + <warning> + <para>Do not disable any device you will need during installation, such + as your screen (<devicename>sc0</devicename>).</para> + </warning> <para>In the configuration mode, you can:</para> diff --git a/en/handbook/internals/chapter.sgml b/en/handbook/internals/chapter.sgml index 2047af19c3..e29013c26f 100644 --- a/en/handbook/internals/chapter.sgml +++ b/en/handbook/internals/chapter.sgml @@ -286,7 +286,7 @@ point paging will be enabled and the kernel will finally run at the address for which it was linked.</para> - <para><emphasis>Contributed by &a.davidg;.<!-- <br> --> 16 Apr + <para><emphasis>Contributed by &a.dg;.<!-- <br> --> 16 Apr 1995.</emphasis></para> <para>The physical pages immediately following the kernel BSS contain diff --git a/en/handbook/introduction/chapter.sgml b/en/handbook/introduction/chapter.sgml index 6970021feb..a65b2bd0a8 100644 --- a/en/handbook/introduction/chapter.sgml +++ b/en/handbook/introduction/chapter.sgml @@ -102,7 +102,7 @@ </listitem> <listitem> - <para>A full compliment of <emphasis>C</emphasis>, + <para>A full complement of <emphasis>C</emphasis>, <emphasis>C++</emphasis> and <emphasis>Fortran</emphasis> development tools. Many additional languages for advanced research and development are also available in the ports and packages collection.</para> @@ -245,7 +245,7 @@ <listitem> <para><emphasis>Software Development:</emphasis> The - basic FreeBSD system comes with a full compliment of + basic FreeBSD system comes with a full complement of development tools including the renowned GNU C/C++ compiler and debugger.</para> </listitem> @@ -348,8 +348,9 @@ (“-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 were done in the Summer and Fall of - '97, the latest being 2.2.6 which appeared in late March of '98. - The first official 3.0 release will appear later in 1998.</para> + '97, the latest being 2.2.7 which appeared in late July of '98. + The first official 3.0 release will appear in October, 1998 and the + last release on the 2.2 branch, 2.2.8, will appear in November.</para> <para>Long term development projects for everything from SMP to DEC ALPHA support will continue to take place in the 3.0-current branch @@ -539,7 +540,7 @@ <para>In addition to the base distributions, FreeBSD offers a new ported software collection with hundreds of commonly sought-after - programs. At the end of March 1998 there were more than 1300 ports! + programs. At the end of August 1998 there were more than 1700 ports! The list of ports ranges from http (WWW) servers, to games, languages, editors and almost everything in between. The entire ports collection requires approximately 26MB of storage, all ports diff --git a/en/handbook/kernelconfig/chapter.sgml b/en/handbook/kernelconfig/chapter.sgml index 34b0961405..42ce6deda9 100644 --- a/en/handbook/kernelconfig/chapter.sgml +++ b/en/handbook/kernelconfig/chapter.sgml @@ -1118,16 +1118,7 @@ <listitem> <para>AT&T StarLAN 10 and EN100; 3Com 3C507; - unknown NI5210</para> - </listitem> - </varlistentry> - - <varlistentry><term><literal>device ix0 at isa? port 0x300 net - irq 10 iomem 0xd0000 iosiz 32768 vector - ixintr</literal></term> - - <listitem> - <para>Intel EtherExpress 16</para> + unknown NI5210; Intel EtherExpress 16</para> </listitem> </varlistentry> diff --git a/en/handbook/kerneldebug/chapter.sgml b/en/handbook/kerneldebug/chapter.sgml index 5f6af0f864..f4d06bba3a 100644 --- a/en/handbook/kerneldebug/chapter.sgml +++ b/en/handbook/kerneldebug/chapter.sgml @@ -13,7 +13,13 @@ is too small to hold the dump, you can configure your kernel to use an alternate dump device (in the <literal>config kernel</literal> line), or you can specify an alternate using the - <citerefentry><refentrytitle>dumpon</refentrytitle><manvolnum>8</manvolnum></citerefentry> command. Dumps to non-swap devices, tapes for example, + <citerefentry><refentrytitle>dumpon</refentrytitle><manvolnum>8</manvolnum></citerefentry> command. The best way to use <citerefentry> + <refentrytitle>dumpon</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> is to set the <literal>dumpdev</literal> variable in + <filename>/etc/rc.conf</filename>. Typically you want to specify one of + the swap devices specified in <filename>/etc/fstab</filename>. +Dumps to non-swap devices, tapes for example, are currently not supported. Config your kernel using <command>config -g</command>. See <link linkend="kernelconfig">Kernel Configuration</link> for @@ -232,7 +238,23 @@ </sect1> - + + <sect1> + <title>Debugging a crash dump with DDD</title> + + <para>Examining a kernel crash dump with a graphical debugger like + <command>ddd</command> is also possible. Add the <option>-k</option> + option to the <command>ddd</command> command line you would use + normally. For example;</para> + + <informalexample> + <screen>&prompt.root; <userinput>ddd -k /var/crash/kernel.0 /var/crash/vmcore.0</userinput></screen> + </informalexample> + + <para>You should then be able to go about looking at the crash dump using + <command>ddd</command>'d graphical interface.</para> + </sect1> + <sect1> <title>Post-mortem Analysis of a Dump</title> diff --git a/en/handbook/linuxemu/chapter.sgml b/en/handbook/linuxemu/chapter.sgml index 426491a079..187301676e 100644 --- a/en/handbook/linuxemu/chapter.sgml +++ b/en/handbook/linuxemu/chapter.sgml @@ -11,7 +11,7 @@ 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 + &rel.current;-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.</para> @@ -22,11 +22,6 @@ filesystem) or i386-specific calls, such as enabling virtual 8086 mode.</para> - <para>To tell whether your kernel is configured for Linux - compatibility simply run any Linux binary. If it prints the error - message <errorname>linux-executable: Exec format error. Wrong Architecture.</errorname> then you do not have linux compatibility support - and you need to configure and install a new kernel.</para> - <para>Depending on which version of FreeBSD you are running, how you get Linux-emulation up will vary slightly:</para> @@ -180,7 +175,7 @@ options LINUX</programlisting> just grab the linux_lib port:</para> <informalexample> - <screen>&prompt.root; <userinput>cd /usr/ports-current/emulators/linux_lib</userinput> + <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_lib</userinput> &prompt.root; <userinput>make all install</userinput></screen> </informalexample> @@ -188,10 +183,9 @@ options LINUX</programlisting> the mail archives <!-- smiley -->:-) 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 give the Linuxulator heartburn. Also, expect some programs to complain + about incorrect minor versions of the system libraries. In + general, however, this does not seem to be a problem.</para> </sect3> @@ -216,7 +210,7 @@ options LINUX</programlisting> that the Linux <command>ld.so</command> reports.</para> <para>FreeBSD-2.2-RELEASE and later works slightly differently - with respect to <command>/compat/linux</command>. On -CURRENT, all files, not just + with respect to <filename>/compat/linux</filename>: all files, not just libraries, are searched for from the “shadow root” <filename>/compat/linux</filename>.</para> @@ -240,7 +234,7 @@ options LINUX</programlisting> do the necessary installation steps).</para> <para>If you have access to a Linux system, see what shared - libraries it needs, and copy them to your FreeBSD system. + libraries the application 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 <command>ldd linuxxdoom</command>:</para> @@ -313,7 +307,7 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29</screen> <sect3> <title>Configuring the <filename>ld.so</filename> — for FreeBSD - 2.2-RELEASE only</title> + 2.2-RELEASE and later</title> <para>This section applies only to FreeBSD 2.2-RELEASE and later. Those running 2.1-STABLE should skip this section.</para> @@ -424,7 +418,35 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29</screen> </sect3> </sect2> - + + <sect2> + <title>Installing Linux ELF binaries</title> + + <para>ELF binaries sometimes require an extra step of + “branding”. If you attempt to run an unbranded ELF binary, + you will get an error message like the following;</para> + + <informalexample> + <screen>&prompt.user; <userinput>./my-linux-elf-binary</userinput> +ELF binary type not known +Abort</screen> + </informalexample> + + <para>To help the FreeBSD kernel distinguish between a FreeBSD ELF + binary from a Linux one, use the <citerefentry> + <refentrytitle>brandelf</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> utility.</para> + + <informalexample> + <screen>&prompt.user; <userinput>brandelf -t Linux my-linux-elf-binary</userinput></screen> + </informalexample> + + <para>The GNU toolchain now places the appropriate branding information + into ELF binaries automatically, so you should be needing to do this + step increasingly rarely in future.</para> + </sect2> + <sect2> <title>Configuring the host name resolver</title> @@ -455,7 +477,7 @@ multi on</programlisting> <para>Lastly, those who run 2.1-STABLE need to set an the <envar>RESOLV_HOST_CONF</envar> environment variable so that applications will know how to search the host tables. If you run FreeBSD - 2.2-RELEASE, you can skip this. For the + 2.2-RELEASE or later, you can skip this. For the <filename>/bin/csh</filename> shell use:</para> <informalexample> @@ -507,7 +529,7 @@ multi on</programlisting> </listitem> <listitem> - <para>ftp.demon.co.uk:/pub/linux/distributions</para> + <para>ftp.demon.co.uk:/pub/unix/linux</para> </listitem> <listitem> diff --git a/en/handbook/mirrors/chapter.sgml b/en/handbook/mirrors/chapter.sgml index 225ecb72e6..bfef299630 100644 --- a/en/handbook/mirrors/chapter.sgml +++ b/en/handbook/mirrors/chapter.sgml @@ -41,6 +41,7 @@ <link linkend="mirrors-cz">Czech Republic</link>, <link linkend="mirrors-dk">Denmark</link>, <link linkend="mirrors-ee">Estonia</link>, + <link linkend="mirrors-es">Spain</link>, <link linkend="mirrors-fi">Finland</link>, <link linkend="mirrors-fr">France</link>, <link linkend="mirrors-de">Germany</link>, @@ -54,6 +55,7 @@ <link linkend="mirrors-pt">Portugal</link>, <link linkend="mirrors-ru">Russia</link>, <link linkend="mirrors-za">South Africa</link>, + <link linkend="mirrors-sk">Slovak Republic</link>, <link linkend="mirrors-si">Slovenia</link>, <link linkend="mirrors-se">Sweden</link>, <link linkend="mirrors-tw">Taiwan</link>, @@ -534,7 +536,10 @@ <para><ulink URL="ftp://ftp3.ru.freebsd.org/pub/FreeBSD">ftp://ftp3.ru.freebsd.org/pub/FreeBSD</ulink><!-- <br> --></para> </listitem> - + + <listitem> + <para><ulink url="ftp://ftp4.ru.freebsd.org/pub/FreeBSD">ftp://ftp4.ru.freebsd.org/pub/FreeBSD</ulink></para> + </listitem> </itemizedlist> </listitem> @@ -568,7 +573,22 @@ </listitem> </varlistentry> - + + <varlistentry> + <term><anchor id="mirrors-sk">Slovak Republic</term> + + <listitem> + <para>In case of problems, please contact the hostmaster + <email>hostmaster@sk.FreeBSD.ORG</email> for this domain.</para> + + <itemizedlist> + <listitem> + <para><ulink url="ftp://ftp.sk.freebsd.ORG/pub/FreeBSD">ftp://ftp.sk.freebsd.ORG/pub/FreeBSD</ulink></para> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry><term><anchor id="mirrors-si">Slovenia</term> <listitem> @@ -587,7 +607,22 @@ </listitem> </varlistentry> - + + <varlistentry> + <term><anchor id="mirrors-es">Spain</term> + + <listitem> + <para>In case of problems, please contact the hostmaster + <email>hostmaster@es.FreeBSD.ORG</email> for this domain.</para> + + <itemizedlist> + <listitem> + <para><ulink url="ftp://ftp.es.freebsd.ORG/pub/FreeBSD">ftp://ftp.es.freebsd.ORG/pub/FreeBSD</ulink></para> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry><term><anchor id="mirrors-se">Sweden</term> <listitem> @@ -978,7 +1013,16 @@ </listitem> </varlistentry> - + + <varlistentry> + <term>Denmark</term> + + <listitem> + <para>cvsup.dk.FreeBSD.ORG (maintainer + <email>jesper@skriver.dk</email>)</para> + </listitem> + </varlistentry> + <varlistentry><term>Estonia</term> <listitem> @@ -1031,7 +1075,16 @@ </listitem> </varlistentry> - + + <varlistentry> + <term>Iceland</term> + + <listitem> + <para>cvsup.is.FreeBSD.ORG (maintainer + <email>adam@veda.is</email>)</para> + </listitem> + </varlistentry> + <varlistentry><term>Japan</term> <listitem> @@ -1045,7 +1098,21 @@ <listitem> <para>cvsup2.jp.FreeBSD.ORG (maintainer <email>max@FreeBSD.ORG</email>)</para> </listitem> - + + <listitem> + <para>cvsup3.jp.FreeBSD.ORG (maintainer + <email>shige@cin.nihon-u.ac.jp</email>)</para> + </listitem> + + <listitem> + <para>cvsup4.jp.FreeBSD.ORG (maintainer + <email>cvsup-admin@ftp.media.kyoto-u.ac.jp</email>)</para> + </listitem> + + <listitem> + <para>cvsup5.jp.FreeBSD.ORG (maintainer + <email>cvsup@imasy.or.jp</email>)</para> + </listitem> </itemizedlist> </listitem> @@ -1058,7 +1125,7 @@ <itemizedlist> <listitem> - <para>cvsup.nl.FreeBSD.ORG (maintainer <email>xaa@stack.nl</email>)</para> + <para>cvsup.nl.FreeBSD.ORG (maintainer <email>xaa@xaa.iae.nl</email>)</para> </listitem> </itemizedlist> @@ -1095,7 +1162,25 @@ </listitem> </varlistentry> - + + <varlistentry> + <term>Slovak Republic</term> + + <listitem> + <itemizedlist> + <listitem> + <para>cvsup.sk.FreeBSD.ORG (maintainer + <email>tps@tps.sk</email>)</para> + </listitem> + + <listitem> + <para>cvsup2.sk.FreeBSD.ORG (maintainer + <email>tps@tps.sk</email>)</para> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry><term>South Africa</term> <listitem> diff --git a/en/handbook/pgpkeys/chapter.sgml b/en/handbook/pgpkeys/chapter.sgml index 9c3af53b21..bb512fb1bc 100644 --- a/en/handbook/pgpkeys/chapter.sgml +++ b/en/handbook/pgpkeys/chapter.sgml @@ -121,29 +121,38 @@ IVNhdG9zaGkgQXNhbWkgPGFzYW1pQEZyZWVCU0QuT1JHPg== <programlisting> Jonathan M. Bresler <jmb@FreeBSD.org> -Key fingerprint = 31 57 41 56 06 C1 40 13 C5 1C E3 E5 DC 62 0E FB +f16 Fingerprint16 = 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 +Version: PGPfreeware 5.0i for non-commercial use mQCNAzG2GToAAAEEANI6+4SJAAgBpl53XcfEr1M9wZyBqC0tzpie7Zm4vhv3hO8s o5BizSbcJheQimQiZAY4OnlrCpPxijMFSaihshs/VMAz1qbisUYAMqwGEO/T4QIB nWNo0Q/qOniLMxUrxS1RpeW5vbghErHBKUX9GVhxbiVfbwc4wAHbXdKX5jjdAAUR -tCVKb25hdGhhbiBNLiBCcmVzbGVyIDxqbWJARnJlZUJTRC5PUkc+iQCVAwUQNA3x -ffUVW/uOVC1dAQHGdAQAgsnYklBtVUdGuQwXB3bYp9omTD7CVD0aibVrz+lXiPDh -aTVkOC1uhEwL59+R8VdpAnEDMobdZDA/ihCc+6/FW/eE0uyrWZzb5Ng9V1MfC6HI -+sXpeXPy585Z56ewadV2yY9rvzcwmmUNHmAXT/5O0S2AWB0EJZ+cewTrokSTVVOJ -AJUDBRA0C3EoVS4eLnPSiKUBASb+A/95g6w9DDPRGDlbsl4pN1BlSPKrmDQPRK1X -C3bddDY2HNelSNhzp2FYD0WoN1re1vMJV0oaaJHwv7wjbe3+SYEX/IdmtfzI0MbZ -Q/uPybPJOxi2ud6C6J+mEGJN9iBCnsaCz8CETuC9gR1mtxsxySUj9mk0fxKfdP6S -3QDrv6CQ1IkAlQMFEDKsi9CzWmLrWZ8yPQEBduUD/RhV4Qa89rYls9vtIFm6XBjZ -8mW37FYxeqIxg3ZrIyTMlghsOPV0f7zymCCWPRGKOLePRiGo0ZCEkDTYiM9tnwQI -09rmPWJb50yfTSZXjHx6+Hcm6O6BCmDFloo0Mxo6n9pvMH/TmmqHxCsAV+p8XEWy -rMZvwVSynMxmJd17Y5HLtBNKb25hdGhhbiBNLiBCcmVzbGVyiQCVAwUQMbYtYQHb -XdKX5jjdAQHEHwP/fEaQoTi7zKD1U/5kW2YPIBUyMTpLiO9QOr4stYjJvhHh4Ejw -fGvMIhbFrPKtxSNH1s3m4jAXKXiQBDCz17IIzL4n8dlunxNGE5MHcsmpWzggyIg4 -zbPqPOcg4gLFEWsEkr2o0akwzIGa3tbCvC+ITaX/rdlWV1jaQjTqSNyPZBM= -=RV56 +tCVKb25hdGhhbiBNLiBCcmVzbGVyIDxqbWJARnJlZUJTRC5PUkc+iQCVAwUQNbtI +gAHbXdKX5jjdAQHamQP+OQr10QRknamIPmuHmFYJZ0jU9XPIvTTMuOiUYLcXlTdn +GyTUuzhbEywgtOldW2V5iA8platXThtqC68NsnN/xQfHA5xmFXVbayNKn8H5stDY +2s/4+CZ06mmJfqYmONF1RCbUk/M84rVT3Gn2tydsxFh4Pm32lf4WREZWRiLqmw+J +AJUDBRA0DfF99RVb+45ULV0BAcZ0BACCydiSUG1VR0a5DBcHdtin2iZMPsJUPRqJ +tWvP6VeI8OFpNWQ4LW6ETAvn35HxV2kCcQMyht1kMD+KEJz7r8Vb94TS7KtZnNvk +2D1XUx8Locj6xel5c/Lnzlnnp7Bp1XbJj2u/NzCaZQ0eYBdP/k7RLYBYHQQln5x7 +BOuiRJNVU4kAlQMFEDQLcShVLh4uc9KIpQEBJv4D/3mDrD0MM9EYOVuyXik3UGVI +8quYNA9ErVcLdt10NjYc16VI2HOnYVgPRag3Wt7W8wlXShpokfC/vCNt7f5JgRf8 +h2a1/MjQxtlD+4/Js8k7GLa53oLon6YQYk32IEKexoLPwIRO4L2BHWa3GzHJJSP2 +aTR/Ep90/pLdAOu/oJDUiQCVAwUQMqyL0LNaYutZnzI9AQF25QP9GFXhBrz2tiWz +2+0gWbpcGNnyZbfsVjF6ojGDdmsjJMyWCGw49XR/vPKYIJY9EYo4t49GIajRkISQ +NNiIz22fBAjT2uY9YlvnTJ9NJleMfHr4dybo7oEKYMWWijQzGjqf2m8wf9OaaofE +KwBX6nxcRbKsxm/BVLKczGYl3XtjkcuJAJUDBRA1ol5TZWCprDT5+dUBATzXA/9h +/ZUuhoRKTWViaistGJfWi26FB/Km5nDQBr/Erw3XksQCMwTLyEugg6dahQ1u9Y5E +5tKPxbB69eF+7JXVHE/z3zizR6VL3sdRx74TPacPsdhZRjChEQc0htLLYAPkJrFP +VAzAlSlm7qd+MXf8fJovQs6xPtZJXukQukPNlhqZ94kAPwMFEDSH/kF4tXKgazlt +bxECfk4AoO+VaFVfguUkWX10pPSSfvPyPKqiAJ4xn8RSIe1ttmnqkkDMhLh00mKj +lLQuSm9uYXRoYW4gTS4gQnJlc2xlciA8Sm9uYXRoYW4uQnJlc2xlckBVU2kubmV0 +PokAlQMFEDXbdSkB213Sl+Y43QEBV/4D/RLJNTrtAqJ1ATxXWv9g8Cr3/YF0GTmx +5dIrJOpBup7eSSmiM/BL9Is4YMsoVbXCI/8TqA67TMICvq35PZU4wboQB8DqBAr+ +gQ8578M7Ekw1OAF6JXY6AF2P8k7hMcVBcVOACELPT/NyPNByG5QRDoNmlsokJaWU +/2ls4QSBZZlb +=zbCw -----END PGP PUBLIC KEY BLOCK-----</programlisting> </sect2> @@ -219,23 +228,29 @@ Jordan K. Hubbard <jkh@FreeBSD.org> 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 - +Version: 2.6.3ia + 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 +tCNKb3JkYW4gSy4gSHViYmFyZCA8amtoQEZyZWVCU0Qub3JnPokBFQMFEDXCTXQM +j46yp4IfPQEBwO8IAIN0J09AXBf86dFUTFGcAMrEQqOF5IL+KGorAjzuYxERhKfD +ZV7jA+sCQqxkWfcVcE20kVyVYqzZIkio9a5zXP6TwA247JkPt54S1PmMDYHNlRIY +laXlNoji+4q3HP2DfHqXRT2859rYpm/fG/v6pWkos5voPKcZ2OFEp9W+Ap88oqw+ +5rx4VetZNJq1Epmis4INj6XqNqj85+MOOIYE+f445ohDM6B/Mxazd6cHFGGIR+az +VjZ6lCDMLjzhB5+FqfrDLYuMjqkMTR5z9DL+psUvPlCkYbQ11NEWtEmiIWjUcNJN +GCxGzv5bXk0XPu3ADwbPkFE2usW1cSM7AQFiwuyJAJUDBRAxe+Q9a1pnjYGyp3kB +AV7XA/oCSL/Cc2USpQ2ckwkGpyvIkYBPszIcabSNJAzm2hsU9Qa6WOPxD8olDddB +uJNiW/gznPC4NsQ0N8Zr4IqRX/TTDVf04WhLmd8AN9SOrVv2q0BKgU6fLuk979tJ +utrewH6PR2qBOjAaR0FJNk4pcYAHeT+e7KaKy96YFvWKIyDvc4kAlQMFEDF8ldof +f6kIA1j8vQEBDH4D/0Zm0oNlpXrAE1EOFrmp43HURHbij8n0Gra1w9sbfo4PV+/H +U8ojTdWLy6r0+prH7NODCkgtIQNpqLuqM8PF2pPtUJj9HwTmSqfaT/LMztfPA6PQ +csyT7xxdXl0+4xTDl1avGSJfYsI8XCAy85cTs+PQwuyzugE/iykJO1Bnj/paiQCV +AwUQMXvlBvUVW/uOVC1dAQF2fQP/RfYC6RrpFTZHjo2qsUHSRk0vmsYfwG5NHP5y +oQBMsaQJeSckN4n2JOgR4T75U4vS62aFxgPLJP3lOHkU2Vc7xhAuBvsbGr5RP8c5 +LvPOeUEyz6ZArp1KUHrtcM2iK1FBOmY4dOYphWyWMkDgYExabqlrAq7FKZftpq/C +BiMRuaw= +=C/Jw -----END PGP PUBLIC KEY BLOCK-----</programlisting> </sect2> @@ -252,27 +267,30 @@ 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 +tCNQb3VsLUhlbm5pbmcgS2FtcCA8cGhrQEZyZWVCU0Qub3JnPokAlQMFEDQQ0aZ1 +u244dqP3sQEBu4ID/jXFFeJgs2MdTDNOZM/FbfDhI4qxAbYUsqS3+Ra16yd8Wd/A +jV+IHJE2NomFWl8UrUjCGinXiwzPgK1OfFJrS9Og1wQLvAl0X84BA8MTP9BQr4w7 +6I/RbksgUSrVCIO8MJwlydjSPocWGBeXlVjbZxXzyuJk7H+TG+zuI5BuBcNIiQCV +AwUQMwYr2rNaYutZnzI9AQHiIQP/XxtBWFXaBRgVLEhRNpS07YdU+LsZGlLOZehN +9L4UnJFHQQPNOpMey2gF7Y95aBOw5/1xS5vlQpwmRFCntWsm/gqdzK6rulfr1r5A +y94LO5TAC6ucNu396Y4vo1TyD1STnRC466KlvmtQtAtFGgXlORWLL9URLzcRFd1h +D0yXd9aJAJUDBRAxfo19a1pnjYGyp3kBAQqyA/4v64vP3l1F0Sadn6ias761hkz/ +SMdTuLzILmofSCC4o4KWMjiWJHs2Soo41QlZi1+xMHzV32JKiwFlGtPHqL+EHyXy +Q4H3vmf9/1KF+0XCaMtgI0wWUMziPSTJK8xXbRRmMDK/0F4TnVVaUhnmf+h5K7O6 +XdmejDTa0X/NWcicmIkAlQMFEDF8lef1FVv7jlQtXQEBcnwD/0ro1PpUtlkLmreD +tsGTkNa7MFLegrYRvDDrHOwPZH152W2jPUncY+eArQJakeHiTDmJNpFagLZglhE0 +bqJyca+UwCXX+6upAclWHEBMg2byiWMMqyPVEEnpUoHM1sIkgdNWlfQAmipRBfYh +2LyCgWvR8CbtwPYIFvUmGgB3MR87iQCVAwUQMUseXB9/qQgDWPy9AQGPkwP/WEDy +El2Gkvua9COtMAifot2vTwuvWWpNopIEx0Ivey4aVbRLD90gGCJw8OGDEtqFPcNV +8aIiy3fYVKXGZZjvCKd7zRfhNmQn0eLDcymq2OX3aPrMc2rRlkT4Jx425ukR1gsO +qiQAgw91aWhY8dlw/EKzk8ojm52x4VgXaBACMjaJAJUDBRAxOUOg72G56RHVjtUB +AbL4A/9HOn5Qa0lq9tKI/HkSdc5fGQD/66VdCBAb292RbB7CS/EM07MdbcqRRYIa +0+0gwQ3OdsWPdCVgH5RIhp/WiC+UPkR1cY8N9Mg2kTwJfZZfNqN+BgWlgRMPN27C +OhYNl8Q33Nl9CpBLrZWABF44jPeT0EvvTzP/5ZQ7T75EsYKYiYkAlQMFEDDmryQA +8tkJ67sbQQEBPdsEALCj6v1OBuJLLJTlxmmrkqAZPVzt5QdeO3Eqa2tcPWcU0nqP +vHYMzZcZ7oFg58NZsWrhSQQDIB5e+K65Q/h6dC7W/aDskZd64jxtEznX2kt0/MOr +8OdsDis1K2f9KQftrAx81KmVwW4Tqtzl7NWTDXt44fMOtibCwVq8v2DFkTJy +=JKbP -----END PGP PUBLIC KEY BLOCK-----</programlisting> </sect2> diff --git a/en/handbook/policies/chapter.sgml b/en/handbook/policies/chapter.sgml index 4f675a2c0d..cd77ca0ba2 100644 --- a/en/handbook/policies/chapter.sgml +++ b/en/handbook/policies/chapter.sgml @@ -47,7 +47,9 @@ MAINTAINER= email-addresses</programlisting> <sect1> <title>Contributed Software</title> - + + <para><emphasis>Contributed by &a.phk; and &a.obrien;. </emphasis></para> + <para>June 1996.</para> <para>Some parts of the FreeBSD distribution consist of software that @@ -75,7 +77,18 @@ MAINTAINER= email-addresses</programlisting> 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.</para> - + + <note> + <para>Because of some unfortunate design limitations with the RCS file + format and CVS's use of vendor branches, minor, trivial and/or + cosmetic changes are <emphasis>strongly discouraged</emphasis> on + files that are still tracking the vendor branch. “Spelling + fixes” are explicitly included here under the + “cosmetic” category and are to be avoided for files with + revision 1.1.x.x. The repository bloat impact from a single character + change can be rather dramatic.</para> + </note> + <para>The <application>Tcl</application> embedded programming language will be used as example of how this model works:</para> @@ -104,14 +117,14 @@ MAINTAINER= email-addresses</programlisting> <para>The important thing here is that the <filename>src/contrib/tcl</filename> 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 + (on a proper CVS vendor-branch and without RCS keyword expansion) 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.</para> - <para>Because of some unfortunate design limitations with CVS's vendor + <para>Because of the previously mentioned 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 diff --git a/en/handbook/ppp-and-slip/chapter.sgml b/en/handbook/ppp-and-slip/chapter.sgml index 488efe87c2..b0d244ca37 100644 --- a/en/handbook/ppp-and-slip/chapter.sgml +++ b/en/handbook/ppp-and-slip/chapter.sgml @@ -38,7 +38,13 @@ client/server software such as <command>pppd</command>. Unless otherwise stated, all commands in this section should be executed as root.</para> - + <para>There are a large number of enhancements in version 2 of ppp. You + can discover what version you have by running ppp with no arguments + and typing <command>show version</command> at the prompt. It is a + simple matter to upgrade to the latest version of ppp (under any + version of FreeBSD) by downloading the latest archive via <ulink + url="http://www.Awfulhak.org/ppp.html">www.Awfulhak.org</ulink>.</para> + <sect2> <title>Before you start</title> @@ -65,42 +71,45 @@ login/password pair.</para> </listitem> - <listitem> - <para>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 “default route”. If your - ISP hasn't given you this number, don't worry. We can make - one up and your ISP's PPP server will tell us when we - connect.</para> - - <para>This number is known from now on as - <literal>HISADDR</literal>.</para> - </listitem> - - <listitem> - <para>Your ISP's netmask setting. Again, if your ISP hasn't - given you this information, you can safely use a netmask of - <hostid role="netmask">255.255.255.0</hostid>.</para> - </listitem> - <listitem> <para>The IP addresses of one or more nameservers. Normally, you will be given two IP numbers. You - <emphasis>must</emphasis> have this information unless you run - your own nameserver.</para> + <emphasis>must</emphasis> have this information for + <application>PPP</application> version 1.x unless you run + your own nameserver. From version 2 onwards, + <application>PPP</application> supports nameserver address + negotiation. If your ISP supports this, then using the command + <command>enable dns</command> in your config file will tell + <application>PPP</application> to set the nameservers for + you.</para> </listitem> + </itemizedlist> + + <para>The following information may have been supplied by your ISP, + but is not strictly necessary:</para> + + <itemizedlist> + <listitem> + <para>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 + <emphasis>default route</emphasis>. If your ISP hasn't given + you this number, we can make one up and your ISP's PPP server + will tell us the correct value when we connect.</para> - <listitem> - <para>If your ISP allocates you a static IP address and - hostname then you will need this information too. If not, - you will need to know from what range of IP addresses your - allocated IP address will belong. If you haven't been given - this range, don't worry. You can configure <command>ppp</command> to accept any - IP number (as explained later).</para> - </listitem> - - </itemizedlist> - + <para>This IP number is referred to as <literal>HISADDR</literal> + by ppp.</para> + </listitem> + + <listitem> + <para>Your ISP's netmask. If your ISP hasn't given you this + information, you can safely use a netmask of <hostid + role="netmask">255.255.255.0</hostid>.</para> + + <para>If your ISP allocates you a static IP address and hostname + then you can enter this information. Otherwise, we simply let the + peer assign whatever IP number it sees fit.</para> + </listitem> + </itemizedlist> <para>If you do not have any of the required information, contact your ISP and make sure they provide it to you.</para> @@ -148,11 +157,14 @@ tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 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</screen> +tun3: flags=8010<POINTOPOINT,MULTICAST> mtu 1500</screen> </informalexample> <para>This case shows four tunnel devices, two of which are - currently configured and being used.</para> + currently configured and being used. It should be noted that the + <literal>RUNNING</literal> flag above indicates that the interface has + been used at some point—it is not an error if your interface does + not show up as <literal>RUNNING</literal>.</para> <para>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 @@ -200,7 +212,14 @@ tun3: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500</screen> <screen>&prompt.root; <userinput>ifconfig tun0</userinput> tun0: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500</screen> </informalexample> - + + <para>The <literal>RUNNING</literal> flag may not yet be set, in which + case you will see:</para> + + <informalexample> + <screen>&prompt.root; <userinput>ifconfig tun0</userinput> +tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500</screen> + </informalexample> </sect2> <sect2> @@ -228,7 +247,9 @@ tun0: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500</screen> <sect3> <title>Edit the <filename>/etc/host.conf</filename> file</title> - <para>This file should contain the following two lines:</para> + <para>This file should contain the following two lines (in this +order):</para> + <programlisting> hosts @@ -286,7 +307,13 @@ domain <replaceable>bar.com</replaceable></programlisting> domain, and is probably unnecessary. Refer to the <filename>resolv.conf</filename> manual page for details of other possible entries in this file.</para> - + + <para>If you are running PPP version 2 or greater, the <command>enable + dns</command> command will tell PPP to request that your ISP + confirms the nameserver values. If your ISP supplies different + addresses (or if there are no nameserver lines in + <filename>/etc/resolv.conf</filename>), PPP will rewrite the file + with the ISP-supplied values.</para> </sect3> </sect2> @@ -328,12 +355,11 @@ domain <replaceable>bar.com</replaceable></programlisting> 4 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0 OK-AT-OK \\dATDT\\TTIMEOUT 40 CONNECT" 5 provider: 6 set phone "(0123) 456 7890" -7 set login "TIMEOUT 10 gin:-BREAK-gin: foo word: bar col: ppp" +7 set login "TIMEOUT 10 \"\" \"\" gin:--gin: foo word: bar col: ppp" 8 set timeout 300 -9 deny lqr -10 set ifaddr <replaceable>x.x.x.x</replaceable> <replaceable>y.y.y.y</replaceable> -11 delete ALL -12 add 0 0 HISADDR</programlisting> +9 set ifaddr <replaceable>x.x.x.x</replaceable> <replaceable>y.y.y.y</replaceable> 255.255.255.0 0.0.0.0 +10 add default HISADDR +11 enable dns</programlisting> <para>Do not include the line numbers, they are just for reference in this discussion.</para> @@ -415,7 +441,11 @@ protocol: ppp</screen> </informalexample> <para>You will need to alter this script to suit your own - needs. If you're using PAP or CHAP, there will be no + needs. When you write this script for the first time, + you should enable “chat” logging to ensure that + the conversation is going as expected.</para> + + <para>If you're using PAP or CHAP, there will be no login at this point, so your login string can be left blank. See <link linkend="userppp-PAPnCHAP">PAP and CHAP @@ -435,26 +465,6 @@ protocol: ppp</screen> <varlistentry><term>Line 9:</term> - <listitem> - <para><command>ppp</command> can be configured to exchange Link Quality - Report (LQR) packets. These packets describe how good - the physical link is. <command>ppp</command>'s LQR strategy is to close - the connection when a number of these packets are - missed. This is useful when you have a direct serial - link to another machine and the DSR modem signal is not - available to indicate that the line is up. When data - saturates the line, LQR packets are sometimes - “missed”, causing <command>ppp</command> to close the connection - prematurely. Refusing to negotiate lqr is sometimes - prudent (if you are going through a modem) as it avoids - this whole mess. By default, <command>ppp</command> will not attempt to - negotiate LQR, but will accept LQR negotiation from the - peer.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Line 10:</term> - <listitem> <para>Sets the interface addresses. The string <replaceable>x.x.x.x</replaceable> should be replaced by the IP address that your provider @@ -473,17 +483,7 @@ protocol: ppp</screen> </listitem> </varlistentry> - <varlistentry><term>Line 11:</term> - - <listitem> - <para>Deletes all existing routing table entries for the - acquired tun device. This should not normally be - necessary, but will make sure that <command>ppp</command> is starting with - a clean bill of health.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Line 12:</term> + <varlistentry><term>Line 10:</term> <listitem> <para>Adds a default route to your ISPs gateway. The @@ -492,9 +492,21 @@ protocol: ppp</screen> important that this line appears after line 9, otherwise <literal>HISADDR</literal> will not yet be initialized.</para> - + </listitem> </varlistentry> + + <varlistentry> + <term>Line 11:</term> + + <listitem> + <para>This line tells PPP to ask your ISP to confirm that your + nameserver addresses are correct. If your ISP supports this + facility, PPP can then update + <filename>/etc/resolv.conf</filename> with the correct + nameserver entries.</para> + </listitem> + </varlistentry> </variablelist> <para>It is not necessary to add an entry to @@ -522,7 +534,7 @@ protocol: ppp</screen> Static IP addresses</link>, with the following change:</para> <programlisting> -10 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0</programlisting> +9 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0</programlisting> <para>Again, do not include the line numbers, they are just for reference in this discussion. Indentation of at least one space @@ -530,34 +542,28 @@ protocol: ppp</screen> <variablelist> - <varlistentry><term>Line 10:</term> + <varlistentry><term>Line 9:</term> <listitem> <para>The number after the <literal>/</literal> character is the number of bits of the address that ppp will insist on. You may wish to use IP numbers more appropriate to your - circumstances, but the above example will almost always - work. If it fails, you may be able to defeat some - broken ppp implementations by supplying an additional - <literal>0.0.0.0</literal> argument:</para> - - <programlisting> -set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0</programlisting> - - <para>This tells ppp to negotiate using address <hostid - role="ipaddr">0.0.0.0</hostid> rather than <hostid - role="ipaddr">10.0.0.1</hostid>. Do not use <hostid - role="netmask">0.0.0.0/0</hostid> as the first argument - to <command>set ifaddr</command> as it - prevents <command>ppp</command> from setting up an initial route in - <option>-auto</option> and <option>-ddial</option> - mode.</para> + circumstances, but the above example will always + work.</para> + + <para>The last argument (<literal>0.0.0.0</literal>) tells PPP + to negotiate using address <hostid + role="ipaddr">0.0.0.0</hostid> rather than <hostid + role="ipaddr">10.0.0.1</hostid>. Do not use + <literal>0.0.0.0</literal> as the first argument to + <command>set ifaddr</command> as it prevents PPP from setting + up an intial route in <option>-auto</option> mode.</para> </listitem> </varlistentry> </variablelist> - <para>You will also need to create an entry in + <para>If you are running version 1.x of PPP, uou will also need to create an entry in <filename>/etc/ppp/ppp.linkup</filename>. <filename>ppp.linkup</filename> is used after a connection has been established. At this point, <command>ppp</command> will know what IP @@ -611,7 +617,14 @@ set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0</programlisting> <filename>/etc/ppp/ppp.conf.sample</filename> and <filename>/etc/ppp/ppp.linkup.sample</filename> for a detailed example.</para> - + + <para>Version 2 of PPP introduces “sticky routes”. Any + <literal>add</literal> or <literal>delete</literal> lines that + contain <literal>MYADDR</literal> or <literal>HISADDR</literal> will + be remembered, and any time the actual values of + <literal>MYADDR</literal> or <literal>HISADDR</literal> change, the + routes will be re-applied. This removes the necessity of repeating + these lines in <filename>ppp.linkup</filename>.</para> </sect3> <sect3> @@ -621,24 +634,21 @@ set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0</programlisting> role.</para> <para>When you configure <command>ppp</command> to - receive incoming calls, you must decide whether you wish to - forward packets for just PPP - connections, for all interfaces, or not at all. To forward for - just PPP connections, include the line + receive incoming calls on a machine connected to a LAN, you must decide if you wish to + forward packets to the LAN. If you do, you should allocate the + peer an IP number from your LAN's subet, and use the command <programlisting> enable proxy</programlisting> - in your <filename>ppp.conf</filename> file. If you wish to - forward packets on all interfaces, use the - + in your <filename>ppp.conf</filename> file. You should also + confirm that the <filename>/etc/rc.conf</filename> file (this file + used to be called <filename>/etc/sysconfig</filename>) contains the + following:</para> + <programlisting> gateway=YES</programlisting> - - option in <filename>/etc/rc.conf</filename> (this file used - to be called <filename>/etc/sysconfig</filename>).</para> - - + <sect4> <title>Which getty?</title> @@ -672,7 +682,16 @@ gateway=YES</programlisting> permission to run <command>ppp</command> by adding them to the <username>network</username> group in <filename>/etc/group</filename>.</para> - + + <para>You will also need to give them access to one or more sections + of the configuration file using the <command>allow</command> + command:</para> + + <programlisting> +allow users fred mary</programlisting> + + <para>If this command is used in the <literal>default</literal> + section, it gives the specified users access to everything.</para> </sect4> <sect4> @@ -702,7 +721,7 @@ exec /usr/sbin/ppp -direct $IDENT</programlisting> using the following commands:</para> <informalexample> - <screen>&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-dialup</userinput></screen> + <screen>&prompt.root; <userinput>ln -s ppp-shell /etc/ppp/ppp-dialup</userinput></screen> </informalexample> <para>You should use this script as the @@ -855,9 +874,6 @@ mary: <programlisting> #!/bin/sh -TTY=`tty` -IDENT=`basename $TTY` - exec /usr/sbin/ppp -direct pap$IDENT</programlisting> <para>For each dialup line enabled in @@ -867,14 +883,9 @@ exec /usr/sbin/ppp -direct pap$IDENT</programlisting> above.</para> <programlisting> -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 +pap: + enable pap + set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40 enable proxy</programlisting> <para>Each user logging in with this method will need to have @@ -886,36 +897,43 @@ papttyd1: enable passwdauth</programlisting> <para>option to authenticate users via pap from the - <filename>/etc/password</filename>d file<footnote><para>(*) 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)</para> - </footnote>.</para> - + <filename>/etc/password</filename> file.</para> + + <para>If you wish to assign some users a static IP number, you can + specify the number as the third argument in + <filename>/etc/ppp/ppp.secret</filename>. See + <filename>/etc/ppp/ppp.secret.sample</filename> for + examples.</para> </sect5> <sect5> <title>MS extentions</title> - - <para>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.</para> - - <para>An example of enabling these extensions in your - <filename>/etc/ppp/ppp.conf</filename> file is illustrated - below.</para> - + + <para>It is possible to configure PPP to supply DNS and NetBIOS + nameserver addresses on demand.</para> + + <para>To enable these extensions with PPP version 1.x, the + following lines might be added to the relevant section of + <filename>/etc/ppp/ppp.conf</filename>.</para> + <programlisting> -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</programlisting> - +enable msext +set ns 203.14.100.1 203.14.100.2 +set nbns 203.14.100.5</programlisting> + + <para>And for PPP version 2 and above:</para> + + <programlisting> +accept dns +set dns 203.14.100.1 203.14.100.2 +set nbns 203.14.100.5</programlisting> + <para>This will tell the clients the primary and secondary name server addresses, and a netbios nameserver host.</para> - + + <para>In version 2 and above, if the <literal>set dns</literal> + line is ommitted, PPP will use the values found in + <filename>/etc/resolv.conf</filename>.</para> </sect5> </sect4> </sect3> @@ -932,7 +950,7 @@ default: <para>PAP is less secure than CHAP, but security is not normally an issue here as passwords, although being sent as plain text with PAP, are being transmitted down a serial line only. - There's not much room for hackers to “eavesdrop”.</para> + There's not much room for crackers to “eavesdrop”.</para> <para>Referring back to the <link linkend="userppp-staticIP">PPP and Static IP addresses</link> or <link linkend="userppp-dynamicIP">PPP and Dynamic IP @@ -942,8 +960,8 @@ default: <programlisting> 7 set login … -13 set authname <replaceable>MyUserName</replaceable> -14 set authkey <replaceable>MyPassword</replaceable></programlisting> +12 set authname <replaceable>MyUserName</replaceable> +13 set authkey <replaceable>MyPassword</replaceable></programlisting> <para>As always, do not include the line numbers, they are just for reference in this discussion. Indentation of at least one @@ -959,7 +977,7 @@ default: </listitem> </varlistentry> - <varlistentry><term>Line 13:</term> + <varlistentry><term>Line 12:</term> <listitem> <para>This line specifies your PAP/CHAP user name. You @@ -968,7 +986,7 @@ default: </listitem> </varlistentry> - <varlistentry><term>Line 14:</term> + <varlistentry><term>Line 13:</term> <listitem> <para>This line specifies your PAP/CHAP password. You @@ -980,56 +998,29 @@ default: <programlisting> 15 accept CHAP</programlisting> to make it obvious that this is the - intention, but PAP and CHAP are accepted by + intention, but PAP and CHAP are both accepted by default.</para> </listitem> </varlistentry> </variablelist> - - - <note> - <para>Your <literal>authkey</literal> will be logged - if you have command logging turned on (<command>set log - +command</command>). Care should be taken when deciding the - ppp log file permissions.</para> - </note> </sect3> <sect3> <title>Changing your <command>ppp</command> configuration on the fly</title> <para>It is possible to talk to the <command>ppp</command> program while it is - running in the background, but only if a suitable password has - been set up.</para> - - <para>By default, ppp will listen to a TCP port of 3000 + - <replaceable>tunno</replaceable>, where <replaceable>tunno</replaceable> is the number of the tun device - acquired, however, if a password for the local machine is not - set up in <filename>/etc/ppp/ppp.secret</filename>, no server - connection will be created. To set your password, put the - following line in - <filename>/etc/ppp/ppp.secret</filename>:</para> - - <programlisting> -<replaceable>foo</replaceable> <replaceable>MyPassword</replaceable></programlisting> - - <para><replaceable>foo</replaceable> is your local - hostname (run <command>hostname -s</command> to determine the - correct name), and <replaceable>MyPassword</replaceable> is - the unencrypted password that you wish to use. - <filename>/etc/ppp/ppp.secret</filename> should - <emphasis>not</emphasis> be accessable by anyone without user id - <username>0</username>. This means that <filename>/</filename>, - <filename>/etc</filename> and <filename>/etc/ppp</filename> - should not be writable, and <filename>ppp.secret</filename> - should be owned by user id <username>0</username> and have permissions 0600.</para> - - <para>It is also possible to select a specific port number or to - have ppp listen to a local unix domain socket rather than to a - TCP socket. Refer to the <command>set - socket</command> command in manual page for further - details.</para> + running in the background, but only if a suitable diagnostic port has + been set up. To do this, add the following line to your + configuration:</para> + + <programlisting> +set server /var/run/ppp-tun%d DiagnosticPassword 0177</programlisting> + + <para>This will tell PPP to listen to the specified unix-domain + socket, asking clients for the specified password before allowing + access. The <literal>%d</literal> in the name is replaced with teh + tun device number that is in use.</para> <para>Once a socket has been set up, the <citerefentry><refentrytitle>pppctl</refentrytitle><manvolnum>8</manvolnum></citerefentry> program may be used in scripts that @@ -1230,8 +1221,8 @@ sendmail_flags="-bd"</programlisting> <sect2> <title>Acknowledgments</title> - <para>This section of the handbook was last updated on Sun Sep 7, - 1997 by &a.brian;</para> + <para>This section of the handbook was last updated on Monday Aug 10, + 1998 by &a.brian;</para> <para>Thanks to the following for their input, comments & suggestions:</para> diff --git a/en/handbook/printing/chapter.sgml b/en/handbook/printing/chapter.sgml index 47309e11ae..1b39eac6bd 100644 --- a/en/handbook/printing/chapter.sgml +++ b/en/handbook/printing/chapter.sgml @@ -3969,7 +3969,11 @@ done linkend="printing-simple">Simple Printer Setup</link>. Do any advanced setup in <link linkend="printing-advanced">Advanced Printer Setup</link> that you need. Make sure to test the printer and see if it works with the features of LPD - you have enabled.</para> + you have enabled. Also ensure that the <emphasis>local + host</emphasis> has authorization to use the LPD service in the + <emphasis>remote host</emphasis> (see <link + linkend="printing-advanced-restricting-remote">Restricting Jobs + from Remote Printers</link>).</para> <para>If you are using a printer with a network interface that is compatible with LPD, then the <emphasis>printer host</emphasis> diff --git a/en/handbook/security/chapter.sgml b/en/handbook/security/chapter.sgml index 00f1b8aa4c..b620aeb316 100644 --- a/en/handbook/security/chapter.sgml +++ b/en/handbook/security/chapter.sgml @@ -440,8 +440,8 @@ permit port ttyd0</programlisting> software, please <emphasis>do not</emphasis> get it from a USA or Canada site. You will get that site in <emphasis>big</emphasis> trouble! A legal copy of this is available from - <hostid role="fqdn">skeleton.mikom.csir.co.za</hostid>, which is in South - Africa.</para> + <hostid role="fqdn">ftp.internat.freebsd.org</hostid>, which is in + South Africa and an official FreeBSD mirror site.</para> <sect2> @@ -464,7 +464,7 @@ README krb.conf krb.realms</screen> <filename>principal.*</filename> or <filename>master_key</filename>) exist, then use the <command>kdb_destroy</command> command to destroy the old Kerberos database, of if Kerberos is not running, - simply delete the extra files with <command>rm</command>.</para> + simply delete the extra files.</para> <para>You should now edit the <filename>krb.conf</filename> and <filename>krb.realms</filename> files to define your Kerberos @@ -939,10 +939,10 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen> <para>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 + able to stop a really determined cracker 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.</para> + crackers job that bit easier.</para> </note> @@ -1534,20 +1534,20 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen> <title>Example commands for ipfw</title> <para>This command will deny all packets from the host - <hostid role="fqdn">evil.hacker.org</hostid> to the telnet port of the + <hostid role="fqdn">evil.crackers.org</hostid> to the telnet port of the host <hostid role="fqdn">nice.people.org</hostid> by being forwarded by the router:</para> <informalexample> - <screen>&prompt.root <userinput>ipfw add deny tcp from evil.hacker.org to nice.people.org 23</userinput></screen> + <screen>&prompt.root <userinput>ipfw add deny tcp from evil.crackers.org to nice.people.org 23</userinput></screen> </informalexample> <para>The next example denies and logs any TCP traffic from the - entire <hostid role="domainname">hacker.org</hostid> network (a class C) to the + entire <hostid role="domainname">crackers.org</hostid> network (a class C) to the <hostid role="fqdn">nice.people.org</hostid> machine (any port).</para> <informalexample> - <screen>&prompt.root; <userinput>ipfw add deny log tcp from evil.hacker.org/24 to nice.people.org</userinput></screen> + <screen>&prompt.root; <userinput>ipfw add deny log tcp from evil.crackers.org/24 to nice.people.org</userinput></screen> </informalexample> <para>If you do not want people sending X sessions to your internal diff --git a/en/handbook/staff/chapter.sgml b/en/handbook/staff/chapter.sgml index e4277e11e2..350c823cb5 100644 --- a/en/handbook/staff/chapter.sgml +++ b/en/handbook/staff/chapter.sgml @@ -30,10 +30,6 @@ <para>&a.ache;</para> </listitem> - <listitem> - <para>&a.dyson;</para> - </listitem> - <listitem> <para>&a.bde;</para> </listitem> @@ -43,7 +39,7 @@ </listitem> <listitem> - <para>&a.davidg;</para> + <para>&a.dg;</para> </listitem> <listitem> @@ -96,12 +92,14 @@ <para>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.</para> + are also developers.</para> <itemizedlist> - + <listitem> + <para>&a.ugen;</para> + </listitem> + <listitem> <para>&a.mbarkah;</para> </listitem> @@ -109,7 +107,15 @@ <listitem> <para>&a.stb;</para> </listitem> - + + <listitem> + <para>&a.pb;</para> + </listitem> + + <listitem> + <para>&a.abial;</para> + </listitem> + <listitem> <para>&a.jb;</para> </listitem> @@ -117,15 +123,31 @@ <listitem> <para>&a.torstenb;</para> </listitem> + + <listitem> + <para>&a.dburr;</para> + </listitem> <listitem> <para>&a.danny;</para> </listitem> - + + <listitem> + <para>&a.thepish;</para> + </listitem> + <listitem> <para>&a.charnier;</para> </listitem> - + + <listitem> + <para>&a.luoqi;</para> + </listitem> + + <listitem> + <para>&a.ejc;</para> + </listitem> + <listitem> <para>&a.kjc;</para> </listitem> @@ -141,7 +163,11 @@ <listitem> <para>&a.adam;</para> </listitem> - + + <listitem> + <para>&a.dillon;</para> + </listitem> + <listitem> <para>&a.dufault;</para> </listitem> @@ -222,14 +248,14 @@ <para>&a.hanai;</para> </listitem> - <listitem> - <para>&a.ahasty;</para> - </listitem> - <listitem> <para>&a.jhay;</para> </listitem> - + + <listitem> + <para>&a.ghelmer;</para> + </listitem> + <listitem> <para>&a.helbig;</para> </listitem> @@ -237,19 +263,23 @@ <listitem> <para>&a.erich;</para> </listitem> - + + <listitem> + <para>&a.hosokawa;</para> + </listitem> + <listitem> <para>&a.hsu;</para> </listitem> - + + <listitem> + <para>&a.mph;</para> + </listitem> + <listitem> <para>&a.itojun;</para> </listitem> - <listitem> - <para>&a.ugen;</para> - </listitem> - <listitem> <para>&a.gj;</para> </listitem> @@ -269,7 +299,27 @@ <listitem> <para>&a.andreas;</para> </listitem> - + + <listitem> + <para>&a.motoyuki;</para> + </listitem> + + <listitem> + <para>&a.jkoshy;</para> + </listitem> + + <listitem> + <para>&a.kuriyama;</para> + </listitem> + + <listitem> + <para>&a.grog;</para> + </listitem> + + <listitem> + <para>&a.jlemon;</para> + </listitem> + <listitem> <para>&a.imp;</para> </listitem> @@ -281,11 +331,15 @@ <listitem> <para>&a.mckay;</para> </listitem> - - <listitem> - <para>&a.jlemon;</para> - </listitem> - + + <listitem> + <para>&a.mckusick;</para> + </listitem> + + <listitem> + <para>&a.ken;</para> + </listitem> + <listitem> <para>&a.tedm;</para> </listitem> @@ -305,7 +359,11 @@ <listitem> <para>&a.alex;</para> </listitem> - + + <listitem> + <para>&a.rnordier;</para> + </listitem> + <listitem> <para>&a.davidn;</para> </listitem> @@ -313,7 +371,11 @@ <listitem> <para>&a.obrien;</para> </listitem> - + + <listitem> + <para>&a.ljo;</para> + </listitem> + <listitem> <para>&a.fsmp;</para> </listitem> @@ -393,6 +455,10 @@ <listitem> <para>&a.msmith;</para> </listitem> + + <listitem> + <para>&a.des;</para> + </listitem> <listitem> <para>&a.brian;</para> @@ -405,7 +471,11 @@ <listitem> <para>&a.karl;</para> </listitem> - + + <listitem> + <para>&a.dt;</para> + </listitem> + <listitem> <para>&a.cwt;</para> </listitem> @@ -418,10 +488,18 @@ <para>&a.hoek;</para> </listitem> + <listitem> + <para>&a.nectar;</para> + </listitem> + <listitem> <para>&a.swallace;</para> </listitem> - + + <listitem> + <para>&a.dwhite;</para> + </listitem> + <listitem> <para>&a.nate;</para> </listitem> @@ -459,7 +537,7 @@ <variablelist> <varlistentry><term>Documentation Project Manager</term> <listitem> - <para>&a.jfieber;</para> + <para><emphasis>currently vacant</emphasis></para> </listitem> </varlistentry> @@ -467,10 +545,7 @@ <varlistentry><term>Webmaster</term> <listitem> - <para>&a.mbarkah;</para> - - <para><emphasis>Deputy:</emphasis> &a.paul;</para> - + <para>&a.wosch;;</para> </listitem> </varlistentry> @@ -482,26 +557,6 @@ </listitem> </varlistentry> - <varlistentry><term>Build Engineer</term> - - <listitem> - <para>&a.paul;</para> - - <para><emphasis>Deputy:</emphasis> &a.dave;</para> - - </listitem> - </varlistentry> - - <varlistentry><term>Mirror Manager</term> - - <listitem> - <para>&a.ulf;</para> - - <para><emphasis>Deputy:</emphasis> &a.john;</para> - - </listitem> - </varlistentry> - <varlistentry><term>News Editor</term> <listitem> @@ -511,7 +566,15 @@ </listitem> </varlistentry> - + + <varlistentry> + <term>FreeBSD Really-Quick NewsLetter Editor</term> + + <listitem> + <para>Chris Coleman <email>chrisc@vmunix.com</email></para> + </listitem> + </varlistentry> + <varlistentry><term>Gallery and Commercial Editor</term> <listitem> @@ -525,10 +588,7 @@ <varlistentry><term>Style Police & Art Director</term> <listitem> - <para>&a.dave;</para> - - <para><emphasis>Deputy:</emphasis> &a.opsys;</para> - + <para>&a.opsys;</para> </listitem> </varlistentry> @@ -536,19 +596,13 @@ <listitem> <para>&a.mayo;</para> - - <para><emphasis>Deputy:</emphasis> &a.cracauer;</para> - </listitem> </varlistentry> <varlistentry><term>CGI Engineer</term> <listitem> - <para>&a.cracauer;</para> - - <para><emphasis>Deputy:</emphasis> &a.stb;</para> - + <para>&a.stb;</para> </listitem> </varlistentry> @@ -556,11 +610,16 @@ <listitem> <para>&a.nsj;</para> - - <para><emphasis>Drying plates:</emphasis> &a.nik;</para> - </listitem> </varlistentry> + + <varlistentry> + <term>LinuxDoc to DocBook conversion</term> + + <listitem> + <para>&a.nik;</para> + </listitem> + </varlistentry> </variablelist> @@ -573,20 +632,21 @@ <variablelist> <varlistentry><term>Principal Architect</term> <listitem> - <para>&a.davidg;</para> + <para>&a.dg;</para> </listitem> </varlistentry> - <varlistentry><term>Documentation Project Manager</term> + <varlistentry><term><ulink + url="http://www.freebsd.org/docproj/docproj.html">Documentation Project Manager</ulink></term> <listitem> - <para>&a.jfieber;</para> + <para><emphasis>currently vacant</emphasis></para> </listitem> </varlistentry> - <varlistentry><term>Internationalization</term> + <varlistentry><term><link linkend="l10n">Internationalization</link></term> <listitem> <para>&a.ache;</para> @@ -602,7 +662,7 @@ </listitem> </varlistentry> - <varlistentry><term>Postmaster</term> + <varlistentry><term><link linkend="eresources-mail">Postmaster</link></term> <listitem> <para>&a.jmb;</para> @@ -627,7 +687,7 @@ </listitem> </varlistentry> - <varlistentry><term>Security Officer</term> + <varlistentry><term><ulink url="http://www.freebsd.org/security/">Security Officer</ulink></term> <listitem> <para>&a.guido;</para> @@ -635,7 +695,7 @@ </listitem> </varlistentry> - <varlistentry><term>Source Repository Managers</term> + <varlistentry><term><ulink url="http://www.freebsd.org/support.html#cvs">>Source Repository Managers</ulink></term> <listitem> <para>Principal: &a.peter;</para> @@ -647,7 +707,7 @@ </listitem> </varlistentry> - <varlistentry><term>Ports Manager</term> + <varlistentry><term><ulink url="http://www.freebsd.org/ports/">Ports Manager</ulink></term> <listitem> <para>&a.asami;</para> @@ -663,7 +723,7 @@ </listitem> </varlistentry> - <varlistentry><term>Usenet Support</term> + <varlistentry><term><link linkend="eresources-news">Usenet Support</link></term> <listitem> <para>&a.joerg;</para> @@ -671,13 +731,20 @@ </listitem> </varlistentry> - <varlistentry><term>GNATS Administrator</term> + <varlistentry><term><ulink url="http://www.freebsd.org/support.html#gnats">GNATS Administrator</ulink></term> <listitem> <para>&a.steve;</para> </listitem> </varlistentry> + + <varlistentry> + <term><ulink url="http://www.freebsd.org/internal/">Webmaster</ulink></term> + <listitem> + <para>&a.wosch;</para> + </listitem> + </varlistentry> </variablelist> diff --git a/en_US.ISO8859-1/articles/contributing/article.sgml b/en_US.ISO8859-1/articles/contributing/article.sgml index 98f4ac936f..c04d625c12 100644 --- a/en_US.ISO8859-1/articles/contributing/article.sgml +++ b/en_US.ISO8859-1/articles/contributing/article.sgml @@ -65,11 +65,6 @@ <itemizedlist> - - <listitem> - <para>Autodetect memory over 64MB properly.</para> - </listitem> - <listitem> <para>Move userconfig (-c) into 3rd stage boot.</para> </listitem> @@ -99,7 +94,7 @@ <listitem> <para>Fix the union file system. Coordinator: - &a.dyson;</para> + &a.dg;</para> </listitem> </itemizedlist> @@ -108,7 +103,7 @@ <listitem> <para>Implement kernel and user vm86 support. Coordinator: - &a.hackers;</para> + &a.jlemon;</para> </listitem> <listitem> @@ -116,33 +111,6 @@ &a.hackers;</para> </listitem> - <listitem> - <para>SCSI driver issues. Overall coordination: - &a.hackers;</para> - - - <itemizedlist> - - <listitem> - <para>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).</para> - </listitem> - - <listitem> - <para>Better error handling (Busy status and - retries).</para> - </listitem> - - <listitem> - <para>Merged Scatter-Gather list creation code.</para> - </listitem> - - </itemizedlist> - - </listitem> - <listitem> <para>Kernel issues. Overall coordination: &a.hackers;</para> @@ -174,25 +142,10 @@ Coordinator: &a.sos;</para> </listitem> - <listitem> - <para>Rewrite the Intel Etherexpress 16 driver.</para> - </listitem> - <listitem> <para>Merge the 3c509 and 3c590 drivers (essentially provide a PCI probe for ep.c).</para> </listitem> - - <listitem> - <para>Support Adaptec 3985 (first as a simple 3 channel - SCSI card) Coordinator: &a.gibbs;</para> - </listitem> - - <listitem> - <para>Support Advansys SCSI controller products. - Coordinator: &a.gibbs;</para> - </listitem> - </itemizedlist> </listitem> @@ -243,7 +196,7 @@ </listitem> <listitem> - <para>PCMCIA/PCCARD. Coordinators: &a.nate; and &a.phk;</para> + <para>PCMCIA/PCCARD. Coordinators: &a.msmith; and &a.phk;</para> <itemizedlist> <listitem> @@ -280,7 +233,7 @@ </listitem> <listitem> - <para>Advanced Power Management. Coordinators: &a.nate; and + <para>Advanced Power Management. Coordinators: &a.msmith; and &a.phk;</para> <itemizedlist> @@ -585,7 +538,7 @@ equivalent</ulink>. Try to fill-in each field of the bug report. Unless they exceed 65KB, include any patches directly in the report. Consider compressing them and using - <citerefentry><refentrytitle>uuencode</refentrytitle><manvolnum>1</manvolnum></citerefentry> if they exceed 20KB.</para> + <citerefentry><refentrytitle>uuencode</refentrytitle><manvolnum>1</manvolnum></citerefentry> if they exceed 20KB. Upload very large submissions to <ulink url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/">ftp.freebsd.org:/pub/FreeBSD/incoming/</ulink>.</para> <para>After filing a report, you should receive confirmation along with a tracking number. Keep this tracking number so that you can @@ -789,7 +742,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. but merely those differences required for running under FreeBSD.</para> <para>What follows are some guidelines for creating a new port for - FreeBSD 3.x. The bulk of the work is done by + FreeBSD. The bulk of the work is done by <filename>/usr/share/mk/bsd.port.mk</filename>, 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 @@ -827,7 +780,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. is already included; if not, add the code:</para> <programlisting> -#ifdef (defined(__unix__) || defined(unix)) && !defined(USG) +#if (defined(__unix__) || defined(unix)) && !defined(USG) #include <sys/param.h> #endif</programlisting> @@ -1164,11 +1117,14 @@ A cat chasing a mouse all over the screen.</programlisting> sufficient.</para> <note> - <para>This is <emphasis>not</emphasis> a manual nor an - in-depth description on how to use or compile the port. In - particular, <emphasis>please do not just copy the - <filename>README</filename> file here</emphasis>, unless, - of course, it is a concise description of the port.</para> + <para>This is <emphasis>not</emphasis> a manual or an + in-depth description on how to use or compile the port! + <emphasis>Please be careful if you are copying from the + <filename>README</filename> or manpage</emphasis>; too often + they are not a concise description of the port or are in an + awkward format (e.g., manpages have justified spacing). If the + ported software has an official WWW homepage, you should list + it here.</para> </note> <para>It is recommended that you sign the name at the end of @@ -1180,6 +1136,8 @@ the screen. : (etc.) +http://www.oneko.org/ + - Satoshi asami@cs.berkeley.edu</programlisting> @@ -1193,14 +1151,14 @@ asami@cs.berkeley.edu</programlisting> generated by packing the files listed here. The pathnames are relative to the installation prefix (usually <filename>/usr/local</filename> or - <filename>/usr/X11R6</filename>). Also it is assumed the - manpages will be compressed.</para> + <filename>/usr/X11R6</filename>). If you are using the + <makevar>MAN<replaceable>n</replaceable></makevar> variables (as + you should be), do not list any manpages here.</para> <para>Here is a small example:</para> <programlisting> bin/oneko -man/man1/oneko.1.gz lib/X11/app-defaults/Oneko lib/X11/oneko/cat1.xpm lib/X11/oneko/cat2.xpm @@ -1238,20 +1196,40 @@ lib/X11/oneko/mouse.xpm</programlisting> <sect4 id="porting-submitting"> <title>Submitting the port</title> - + + <para>First, make sure you have read the <link + linkend="porting-dads">Do's and Dont's</link> section.</para> + <para>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 <emphasis>not</emphasis> include the original - source tarball, the <filename>work</filename> - subdirectory or the package) into a - <filename>.tar.gz</filename> file, stick it in the directory - <filename>ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/</filename> and send mail to us using - <citerefentry><refentrytitle>send-pr</refentrytitle><manvolnum>1</manvolnum></citerefentry> (please classify it as category - <literal>ports</literal> and class <literal>change-request</literal>). There is no need to - upload the package, we will build it by ourselves. We will - take a look, get back to you if necessary, and put it in the + everybody else happy about it too. We do not need your + <filename>work</filename> directory or the + <filename>pkgname.tgz</filename> package, so delete them + now. Next, simply include the output of <command>shar `find + port_dir`</command> in a bug report and send it with the + <citerefentry> + <refentrytitle>send-pr</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> program. If the uncompressed port is larger than + 20KB, you should compress it into a tarfile and use <citerefentry> + <refentrytitle>uuencode</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> before including it in the bug report (uuencoded + tarfiles are acceptable even if the bug report is smaller than + 20KB but are not preferred). Be sure to classify the bug report as + category <literal>ports</literal> and class + <literal>change-request</literal>.</para> + + <para>One more time, <emphasis>do not include the original source + distfile, the <filename>work</filename> directory, or the + package you built with <command>make + package</command></emphasis>.</para> + + <para>See <link linkend="contrib-general">Bug Reports and General + Commentary</link> for more information.</para> + + <para>We will look at your port, + 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?!? <!-- smiley -->:)</para> @@ -1296,7 +1274,7 @@ lib/X11/oneko/mouse.xpm</programlisting> </step> <step> - <para>The <maketarget>extract</maketarget> target is run. It looks for your ports' + <para>The <maketarget>extract</maketarget> target is run. It looks for your port's distribution file in <makevar>DISTDIR</makevar> (typically a gzip'd tarball) and unpacks it into a temporary subdirectory specified by <makevar>WRKDIR</makevar> @@ -1405,7 +1383,13 @@ lib/X11/oneko/mouse.xpm</programlisting> <para>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 + non-standard formats, you might want to put a copy on a + reliable http or ftp server that you control. If you are a FreeBSD + committer, your <filename>public_html</filename> directory on + <hostid>freefall</hostid> is ideal. Make sure you set + <makevar>MASTER_SITE</makevar> to reflect your choice. If you + cannot find somewhere convenient and reliable to put the distfile, + we can “house” it ourselves by putting it on <filename>ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/LOCAL_PORTS/</filename> as the last resort. Please refer to this location as <makevar>MASTER_SITE_LOCAL</makevar>. Send mail to the &a.ports;if you are not sure what to do.</para> @@ -1545,7 +1529,7 @@ DISTNAME=foozolix-1.0</programlisting>.</para> into a subdirectory called <filename>work/<makevar>DISTNAME</makevar></filename>, e.g. <filename>work/foozolix-1.0/</filename>.</para> - <para>All this behavior can be overridden, of course, it simply + <para>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 <makevar>DISTFILES</makevar> explicitly. If only a subset of <makevar>DISTFILES</makevar> are @@ -1907,7 +1891,168 @@ FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2</programlisting> </note> </sect4> </sect3> + + <sect3> + <title>ELF support</title> + + <para>Since FreeBSD is moving to ELF from 3.0-release onwards, + we need to convert many ports that build shared libraries + to support ELF. Complicating this task is that a 3.0 + system can run as both ELF and a.out, and that there will + be one more release (2.2.8) from the 2.2 branch. Below + are the guidelines on how to convert a.out only ports to + support both a.out and ELF compilation.</para> + + <para>Some part of this list is only applicable during the + conversion, but will be left here for awhile for reference + in case you have come across some old port you wish to + upgrade.</para> + + <sect4> + <title>Moving a.out libraries out of the way</title> + + <para>A.out libraries should be moved out of + <filename>/usr/local/lib</filename> and similar to an + <filename>aout</filename> subdirectory. (If you don't move them + out of the way, ELF ports will happily overwrite a.out libraries.) + The <maketarget>move-aout-libs</maketarget> target in the -current + <filename>src/Makefile</filename> (called from + <maketarget>aout-to-elf</maketarget>) will do this for you. It + will only move a.out libs so it is safe to call it on a system + with both ELF and a.out libs in the standard directories.</para> + </sect4> + + <sect4> + <title>Format</title> + + <para>The ports tree will build packages in the format the machine + is in. This means a.out for 2.2 and a.out or ELF for 3.0 depending + on what <command>`objformat`</command> returns. Also, once users + move a.out libraries to a subdirectory, building a.out libraries + will be unsupported. (I.e., it may still work if you know what you + are doing, but you are on your own.)</para> + + <note> + <para>If a port only works for a.out, set + <makevar>BROKEN_ELF</makevar> to a string describing the reason + why. Such ports will be skipped during a build on an ELF + system.</para> + </note> + </sect4> + + <sect4> + <title><makevar>PORTOBJFORMAT</makevar></title> + + <para><filename>bsd.port.mk</filename> will set + <makevar>PORTOBJFORMAT</makevar> to <literal>aout</literal> or + <literal>elf</literal> and export it in the environments + <envar>CONFIGURE_ENV</envar>, <envar>SCRIPTS_ENV</envar> and + <envar>MAKE_ENV</envar>. (It's always going to be + <literal>aout</literal> in -stable). It is also passed to + <maketarget>PLIST_SUB</maketarget> as + <literal>PORTOBJFORMAT=${PORTOBJFORMAT}</literal>. (See comment + on <literal>ldconfig</literal> lines below.)</para> + + <para>The variable is set using this line in + <filename>bsd.port.mk</filename>:</para> + <programlisting> +PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout</programlisting> + + <para>Ports' make processes should use this variable to decide what + to do. However, if the port's <filename>configure</filename> + script already automatically detects an ELF system, it is not + necessary to refer to <makevar>PORTOBJFORMAT</makevar>.</para> + </sect4> + + <sect4> + <title>Building shared libraries</title> + + <para>The following are differences in handling shared + libraries for a.out and ELF.</para> + + <itemizedlist> + <listitem> + <para>Shared library versions</para> + + <para>An ELF shared library should be called + <filename>libfoo.so.<replaceable>M</replaceable></filename> + where <replaceable>M</replaceable> is the single version + number, and an a.out library should be called + <filename>libfoo.so.<replaceable>M</replaceable>.<replaceable>N</replaceable></filename> where <replaceable>M</replaceable> is the major version and <replaceable>N</replaceable> is the the minor version number. Do not mix those; <emphasis>never</emphasis> install an ELF shared library called <filename>libfoo.so.<replaceable>N</replaceable>.<replaceable>M</replaceable></filename> or an a.out shared library (or symlink) called <filename>libfoo.so.<replaceable>N</replaceable></filename>.</para> + </listitem> + + <listitem> + <para>Linker command lines</para> + + <para>Assuming <command>cc -shared</command> is used rather than + <command>ld</command> directly, the only difference is that + you need to add + <option>-Wl,-<replaceable>soname,libfoo.so.M</replaceable></option> on the command line for ELF.</para> + </listitem> + </itemizedlist> + + <para>You need to install a symlink from + <filename>libfoo.so</filename> to + <filename>libfoo.so.<replaceable>N</replaceable></filename> to + make ELF linkers happy. Since it should be listed in + <filename>PLIST</filename> too, and it won't hurt in the a.out + case (some ports even require the link for dynamic loading), you + should just make this link regardless of the setting of + <makevar>PORTOBJFORMAT</makevar>.</para> + </sect4> + + <sect4> + <title><makevar>LIB_DEPENDS</makevar></title> + + <para>All port Makefiles are edited to remove minor numbers from + <makevar>LIB_DEPENDS</makevar>, and also to have the regexp + support removed. (E.g., <literal>foo\\.1\\.\\(33|40\\)</literal> + becomes <literal>foo.2</literal>.) They will be matched using + <command>grep -wF</command>.</para> + </sect4> + + <sect4> + <title><filename>PLIST</filename></title> + + <para><filename>PLIST</filename> should contain the short (ELF) + shlib names if the a.out minor number is zero, and the long + (a.out) names otherwise. <filename>bsd.port.mk</filename> will + automatically add <literal>.0</literal> to the end of short shlib + lines if <makevar>PORTOBJFORMAT</makevar> equals + <literal>aout</literal>, and will delete the minor number from + long shlib names if <makevar>PORTOBJFORMAT</makevar> equals + <literal>elf</literal>.</para> + + <para>In cases where you really need to install shlibs with two + versions on an ELF system or those with one version on an a.out + system (for instance, ports that install compatibility libraries + for other operating systems), define the variable + <makevar>NO_FILTER_SHLIBS</makevar>. This will turn off the + editing of <filename>PLIST</filename> mentioned in the previous + paragraph.</para> + </sect4> + + <sect4> + <title><literal>ldconfig</literal></title> + + <para>The <literal>ldconfig/ line in Makefiles should read:</literal></para> + + <programlisting> +${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....</programlisting> + + <para>In <filename>PLIST</filename> it should read;</para> + + <programlisting> +@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m ... +@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R</programlisting> + + <para>This is to ensure that the correct <command>ldconfig</command> + will be called depending on the format of the package, not the + default format of the system.</para> + </sect4> + </sect3> + <sect3> <title>Info files</title> @@ -2199,7 +2344,25 @@ diff -u -r1.15 PLIST </sect3> - + + <sect3> + <title>Changing the <filename>PLIST</filename> based on <citerefentry> + <refentrytitle>make</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> variables</title> + + <para>Some ports, particularly the <filename>p5-</filename> ports, + need to change their <filename>PLIST</filename> depending on what + options they are configured with (or version of perl, in the case of + <filename>p5-</filename> ports). To make this easy, any instances in + the <filename>PLIST</filename> of <literal>%%OSREL%%</literal>, + <literal>%%PERL_VER%%</literal>, and + <literal>%%PERL_VERSION%%</literal> will be substituted for + appropriately. If you need to make other substitutions, you can set + the <makevar>PLIST_SUB</makevar> variable with a list of + <literal><replaceable>VAR</replaceable>=<replaceable>VALUE</replaceable></literal> pairs and instances of <literal>%%<replaceable>VAR</replaceable>%%</literal> will be substituted with <replaceable>VALUE</replaceable> in the <filename>PLIST</filename>.</para> + </sect3> + <sect3> <title>Licensing Problems</title> @@ -2283,7 +2446,7 @@ diff -u -r1.15 PLIST any such person to begin with, please make the upgrade and send the recursive diff (either unified or context diff is fine, but port committers appear to prefer unified diff more) of the new - and old ports directories to us (i.e., if your modified ports + and old ports directories to us (e.g., if your modified port directory is called <filename>superedit</filename> and the original as in our tree is <filename>superedit.bak</filename>, then send us the result of @@ -2300,10 +2463,16 @@ diff -u -r1.15 PLIST </sect3> <sect3> - <title>Do's and Dont's</title> + <title><anchor id="porting-dads">Do's and Dont's</title> <para>Here is a list of common do's and dont's that you encounter - during the porting process.</para> + during the porting process.You should check your own port + against this list, but you can also check ports in the PR + database that others have submitted. Submit any comments on + ports you check as described in <link linkend="contrib-general">Bug + Reports and General Commentary</link>. Checking ports in + the PR database will both make it faster for us to commit them, + and prove that you know what you are doing.</para> <sect4> @@ -2319,131 +2488,129 @@ diff -u -r1.15 PLIST to the <filename>work</filename> subdirectory.</para> </sect4> - - <sect4> - <title>Package information</title> - - <para>Do include package information, i.e. - <filename>COMMENT</filename>, <filename>DESCR</filename>, and - <filename>PLIST</filename>, in <filename>pkg</filename>.</para> - <note> - <para>Note that these files are not used only for packaging - anymore, and are <emphasis>mandatory</emphasis> now, even if - <makevar>NO_PACKAGE</makevar> is - set.</para> - </note> - </sect4> - - <sect4> - <title>Compress manpages, strip binaries</title> - - <para>Do compress manpages and strip binaries. If the original - source already strips the binary, fine; otherwise, you can add - a <maketarget>post-install</maketarget> rule to do it - yourself. Here is an example:</para> + <sect4> + <title>Portlint Clean</title> - <programlisting> + <para>Do use <command>portlint</command>! The <ulink + url="http://www.freebsd.org/cgi/ports.cgi?portlint">portlint</ulink> program is part of the ports collection.</para> + </sect4> + + <sect4> + <title>Strip Binaries</title> + + <para>Do strip binaries. If the original source already strips the + binaries, fine; otherwise you should add a + <literal>post-install</literal> rule to to it yourself. Here is an + example;</para> + + <programlisting> post-install: strip ${PREFIX}/bin/xdl</programlisting> - - <para>Use the <command>file</command> command on the - installed executable to check whether the binary is stripped - or not. If it does not say `not stripped', it is - stripped.</para> - - <para>To automagically compress the manpages, use the <makevar>MAN[1-9LN]</makevar> - variables. They will check the variable - <makevar>NOMANCOMPRESS</makevar> that the user can set in - <filename>/etc/make.conf</filename> to disable man page - compression. Place them last in the section below the - <makevar>MAINTAINER</makevar> variable. Here is an example:</para> - <programlisting> + <para>Use the <citerefentry> + <refentrytitle>file</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> command on the installed executable to check + whether the binary is stripped or not. If it does not say + <literal>not stripped</literal>, it is stripped.</para> + </sect4> + + <sect4> + <title>Correctly Install Manpages</title> + + <para>Do use the <makevar>MAN<replaceable>n</replaceable></makevar> + variables. These variables, will automatically add any manpages + to <filename>pkg/PLIST</filename> (this means you must + <emphasis>not</emphasis> list manpages in the + <filename>PLIST</filename>) and automatically compress manpages + (unless <makevar>NOMANCOMPRESS</makevar> is set in + <filename>/etc/make.conf</filename>). If your port installs + pre-compressed manpages, you must define the + <makevar>MANCOMPRESSED</makevar> variable.</para> + + <programlisting> MAN1= foo.1 bar.1 MAN5= foo.conf.5 MAN8= baz.8</programlisting> - <note> - <para>This is not usually necessary with ports that are X - applications and use Imake to build.</para> - </note> - - <para>If your port anchors its man tree somewhere other than - <makevar>PREFIX</makevar>, you can use the - <makevar>MANPREFIX</makevar> 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 - <makevar>MAN<replaceable>sect</replaceable>PREFIX</makevar> - (where <replaceable>sect</replaceable> is one of 1-9, L or - N).</para> - - </sect4> - - <sect4> - <title><makevar>INSTALL_*</makevar> macros</title> - - <para>Do use the macros provided in - <filename>bsd.port.mk</filename> to ensure correct modes and - ownership of files in your own *-install targets. They - are:</para> - - - <itemizedlist> - - <listitem> - <para><makevar>${INSTALL_PROGRAM}</makevar> is - a command to install binary executables.</para> - </listitem> - - <listitem> - <para><makevar>${INSTALL_SCRIPT}</makevar> is a - command to install executable scripts.</para> - </listitem> - - <listitem> - <para><makevar>${INSTALL_DATA}</makevar> is a - command to install sharable data.</para> - </listitem> - - <listitem> - <para><makevar>${INSTALL_MAN}</makevar> is a - command to install manpages and other documentation (it - doesn't compress anything).</para> - </listitem> - - </itemizedlist> - - - <para>These are basically the <command>install</command> command with all the appropriate - flags. See below for an example on how to use them.</para> - - </sect4> - - <sect4> - <title><filename>INSTALL</filename> package script</title> - - <para>If your port needs execute commands when the binary - package is installed with pkg_add you can do with via the - <filename>pkg/INSTALL</filename> script. This script will - automatically be added to the package, and will be run twice - by pkg_add. The first time will as <command>INSTALL ${PKGNAME} PRE-INSTALL</command> and the - second time as <command>INSTALL ${PKGNAME} - POST-INSTALL</command>. <literal>$2</literal> can be tested to determine which - mode the script is being run in. The - <envar>PKG_PREFIX</envar> environmental variable will be - set to the package installation directory. See man - <citerefentry><refentrytitle>pkg_add</refentrytitle><manvolnum>1</manvolnum></citerefentry> for additional - information.</para> + <note> + <para>This is not usually necessary with ports that are X + applications and use <command>Imake</command> to build.</para> + </note> + + <para>If your port anchors its man tree somewhere other than + <makevar>PREFIX</makevar>, you can use the + <makevar>MANPREFIX</makevar> 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 + <makevar>MAN<replaceable>sect</replaceable>PREFIX</makevar> (where + <replaceable>sect</replaceable> is one of <literal>1-9</literal>, + <literal>L</literal> or <literal>N</literal>).</para> + </sect4> - <note> - <para>This script is not run automatically if you install the - port with <command>make install</command>. If you are - depending on it being run, you will have to explicitly call - it on your port's <filename>Makefile</filename>.</para> - </note> - </sect4> + <sect4> + <title>INSTALL_* macros</title> + + <para>Do use the macros provided in <filename>bsd.port.mk</filename> + to ensure correct modes and ownership of files in your own + <maketarget>*-install</maketarget> targets. They are:</para> + <itemizedlist> + <listitem> + <para><makevar>INSTALL_PROGRAM</makevar> is a command to install + binary executables.</para> + </listitem> + + <listitem> + <para><makevar>INSTALL_SCRIPT</makevar> is a command to install + executable scripts.</para> + </listitem> + + <listitem> + <para><makevar>INSTALL_DATA</makevar> is a command to install + sharable data.</para> + </listitem> + + <listitem> + <para><makevar>INSTALL_MAN</makevar> is a command to install + manpages and other documentation (it doesn't compress + anything).</para> + </listitem> + </itemizedlist> + + <para>These are basically the <command>install</command> command + with all the appropriate flags. See below for an example on how + to use them.</para> + </sect4> + + <sect4> + <title><filename>INSTALL</filename> package script</title> + + <para>If your port needs execute commands when the binary package is + installed with pkg_add you can do with via the + <filename>pkg/INSTALL</filename> script. This script will + automatically be added to the package, and will be run twice by + <command>pkg_add</command>. The first time will as + <command>INSTALL ${PKGNAME} PRE-INSTALL</command> and the second + time as <command>INSTALL ${PKGNAME} POST-INSTALL</command>. + <literal>$2</literal> can be tested to determine which mode + the script is being run in.</para> + + <para>The <envar>PKG_PREFIX</envar> environmental variable will be + set to the package installation directory. See <citerefentry> + <refentrytitle>pkg_add</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> for additional information.</para> + + <note> + <para>This script is not run automatically if you install the port + with <command>make install</command>. If you are depending on it + being run, you will have to explicitly call it on your port's + <filename>Makefile</filename>.</para> + </note> + </sect4> + <sect4> <title><filename>REQ</filename> package script</title> @@ -2456,7 +2623,7 @@ MAN8= baz.8</programlisting> <citerefentry><refentrytitle>pkg_add</refentrytitle><manvolnum>1</manvolnum></citerefentry> for more information.</para> </sect4> - + <sect4> <title>Install additional documentation</title> @@ -2500,7 +2667,7 @@ post-install: to <filename>pkg/PLIST</filename>).</para> </note> </sect4> - + <sect4> <title><makevar>DIST_SUBDIR</makevar></title> @@ -2526,6 +2693,21 @@ post-install: Makefile.</para> </note> </sect4> + + <sect4> + <title>Package information</title> + + <para>Do include package information, i.e. + <filename>COMMENT</filename>, <filename>DESCR</filename>, and + <filename>PLIST</filename>, in <filename>pkg</filename>.</para> + + <note> + <para>Note that these files are not used only for packaging + anymore, and are <emphasis>mandatory</emphasis> now, even if + <makevar>NO_PACKAGE</makevar> is + set.</para> + </note> + </sect4> <sect4> <title>Feedback</title> @@ -2560,7 +2742,7 @@ post-install: should be deleted. Also, if you had to delete a file, then you can do it in the <maketarget>post-extract</maketarget> target rather than as part of the patch. Once you are happy - with the resuling diff, please split it up into one source + with the resulting diff, please split it up into one source file per patch file.</para> </sect4> @@ -2570,7 +2752,7 @@ post-install: <para>Do try to make your port install relative to <makevar>PREFIX</makevar>. (The value of this variable will be set to <makevar>LOCALBASE</makevar> (default - <filename>/usr/local</filename>), unless <makevar>USE_IMAKE</makevar> or <makevar>USE_X11</makevar> is set, in which case it + <filename>/usr/local</filename>), unless <makevar>USE_X_PREFIX</makevar> or <makevar>USE_IMAKE</makevar> is set, in which case it will be <makevar>X11BASE</makevar> (default <filename>/usr/X11R6</filename>).)</para> @@ -2585,14 +2767,16 @@ post-install: read <makevar>PREFIX</makevar>, as this variable is automatically passed down to every stage of the build and install processes.</para> - + + <para>Do not set <makevar>USE_X_PREFIX</makevar> unless your port + truly require it (i.e., it links against X libs or it needs to + reference files in <makevar>X11BASE</makevar>.</para> + <para>The variable <makevar>PREFIX</makevar> - can be reassigned in your Makefile or in the user's + can be reassigned in your <filename>Makefile</filename> 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 <command>imake</command>, - set <literal>USE_X11=yes</literal>; this is quite different - from setting <literal>PREFIX=/usr/X11R6</literal>.)</para> + <filename>Makefiles</filename>.</para> <para>Also, refer to programs/files from other ports with the variables mentioned above, not explicit pathnames. For @@ -2672,14 +2856,17 @@ lib/libtcl80.so.1.0 <sect4> <title>UIDs</title> - <para>If your port requires a certain user ID to be on the + <para>If your port requires a certain user to be on the installed system, let the <filename>pkg/INSTALL</filename> script call <command>pw</command> to create it - automatically. Look at <filename>japanese/Wnn</filename> or - <filename>net/cvsup-mirror</filename> for examples. It is - customary to use UIDs in the upper 2-digit range (i.e., from - around 50 to 99) for this purpose.</para> - + automatically. Look at <filename>net/cvsup-mirror</filename> + for an example.</para> + + <para>If your port must use the same user/group ID number when it is + installed a binarypackage as when it was compiled, then you mus + choose a free UID from 50 to 99 and register it below. Look at + <filename>japanese/Wnn</filename> for an example.</para> + <para>Make sure you don't use a UID already used by the system or other ports. This is the current list of UIDs between 50 and 99.</para> @@ -2704,12 +2891,51 @@ qmailp:*:84:81:QMail user:/var/qmail:/nonexistent qmailr:*:86:82:QMail user:/var/qmail:/nonexistent msql:*:87:87:mSQL-2 pseudo-user:/var/db/msqldb:/bin/sh</programlisting> - <para>Please send a notice to &a.ports; if you submit or commit - a port that allocates a new UID in this range so we can keep - this list up to date.</para> + <para>Please include a notice when you submit a port (or an + upgrade) that reserves a new UID or GID in this range. This allows + us to keep the list of reserved IDs up to date.</para> </sect4> - + + <sect4> + <title>Doing things rationally</title> + + <para>The <filename>Makefile</filename> should do things simply and + reasonably. If you can make it a couple of lines shorter or more + readable, then do so. Examples include using a make + <literal>.if</literal> construct instead of a shell + <literal>if</literal> construct, not redefining + <maketarget>do-extract</maketarget> if you can redefine + <makevar>EXTRACT*</makevar> instead, and using + <makevar>GNU_CONFIGURE</makevar> instead of + <literal>CONFIGURE_ARGS += + --prefix=${PREFIX}</literal>.</para> + </sect4> + + <sect4> + <title>Respect <makevar>CFLAGS</makevar></title> + + <para>The port should respect the <makevar>CFLAGS</makevar> + variable. If it doesn't, please add <literal>NO_PACKAGE=ignores + cflags</literal> to the <filename>Makefile</filename>.</para> + </sect4> + + <sect4> + <title>Miscellanea</title> + + <para>The files <filename>pkg/DESCR</filename>, + <filename>pkg/COMMENT</filename>, and + <filename>pkg/PLIST</filename> should each be double-checked. If + you are reviewing a port and feel they can be worded better, do + so.</para> + + <para>Don't copy more copies of the GNU General Public License into + our system, please.</para> + + <para>Please be careful to note any legal issues! Don't let us + illegally distribute software!</para> + </sect4> + <sect4> <title>If you are stuck....</title> @@ -2721,8 +2947,8 @@ msql:*:87:87:mSQL-2 pseudo-user:/var/db/msqldb:/bin/sh</programlisting> beat your head against a wall! <!-- smiley --><emphasis>:)</emphasis></para> </sect4> - </sect3> - + </sect3> + <sect3 id="porting-samplem"> <title>A Sample <filename>Makefile</filename></title> @@ -2852,9 +3078,15 @@ pre-install: 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 <literal>kinput2</literal>).</para> + lowercase. If the capital letters are + important to the name (for example, with one-letter names + like <literal>R</literal> or <literal>V</literal>) you may use capital letters at your discretion. + There is a tradition of naming Perl 5 modules by prepending + <literal>p5-</literal> and converting the double-colon separator to a hyphen; + for example, the <literal>Data::Dumper</literal> module becomes + <literal>p5-Data-Dumper</literal>. If the software in question has numbers, + hyphens, or underscores in its name, you may include them as + well (like <literal>kinput2</literal>).</para> </listitem> <listitem> @@ -2988,7 +3220,19 @@ pre-install: version.</para> </sect3> - + + <sect3> + <title>Changes to this document and the ports system</title> + + <para>If you maintain a lot of ports, you should consider following + the <email>ports@FreeBSD.ORG</email> mailing-list. Important changes to + the way ports work will be announced there. You can always + find more detailed information on the latest changes by + looking at <ulink + url="http://www.FreeBSD.ORG/cgi/cvsweb.cgi/src/share/mk/bsd.port.mk"> + the bsd.port.mk CVS log</ulink>.</para> + </sect3> + <sect3> <title>That is It, Folks!</title> @@ -3001,7 +3245,7 @@ pre-install: <!-- smiley --><emphasis>:)</emphasis></para> </sect3> - </sect2> + </sect2> <sect2> <title>Money, Hardware or Internet access</title> @@ -3014,7 +3258,7 @@ pre-install: <sect3> - <title>Donating funds</title> + <title><anchor id="donations">Donating funds</title> <para>While the FreeBSD Project is not a 501(C3) (non-profit) corporation and hence cannot offer special tax incentives for @@ -3022,7 +3266,7 @@ pre-install: accepted on behalf of the project by FreeBSD, Inc.</para> <para>FreeBSD, Inc. was founded in early 1995 by &a.jkh; and - &a.davidg; with the goal of furthering the aims of the FreeBSD + &a.dg; 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 @@ -3038,7 +3282,10 @@ pre-install: <city>Concord</city> <state>CA</state>, <postcode>94520</postcode> </address> - + + <para>(currently using the Walnut Creek CDROM address until a PO +box can be opened)</para> + <para>Wire transfers may also be sent directly to:</para> <address> @@ -3086,7 +3333,7 @@ pre-install: 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 + donation, please contact &a.dg; for information on which items are still required.</para> </listitem> @@ -3112,7 +3359,7 @@ pre-install: </sect3> </sect2> - </sect1> + </sect1> <sect1 id="donors"> <title>Donors Gallery</title> @@ -3202,7 +3449,11 @@ pre-install: <listitem> <para>Sean Eric Fagan</para> </listitem> - + + <listitem> + <para>Don Scott Wilde</para> + </listitem> + <listitem> <para>Gianmarco Giovannelli <email>gmarco@masternet.it</email></para> @@ -3212,7 +3463,10 @@ pre-install: <para>Josef C. Grosch <email>joeg@truenorth.org</email></para> </listitem> - + + <listitem> + <para>Robert T. Morris</para> + </listitem> <listitem> <para>Chuck Robey <email>chuckr@freebsd.org</email></para> @@ -3400,9 +3654,9 @@ pre-install: Science Research Group (CSRG) at the University of California, Berkeley and associated academic contributors.</para> - <para>There are also portions of NetBSD that have been integrated into + <para>There are also portions of NetBSD and OpenBSD that have been integrated into FreeBSD as well, and we would therefore like to thank all the - contributors to NetBSD for their work.</para> + contributors to NetBSD and OpenBSD for their work.</para> </sect1> @@ -3413,11 +3667,6 @@ pre-install: <itemizedlist> - - <listitem> - <para>A JOSEPH KOSHY <email>koshy@india.hp.com</email></para> - </listitem> - <listitem> <para>ABURAYA Ryushirou <email>rewsirow@ff.iij4u.or.jp</email></para> </listitem> @@ -3429,7 +3678,11 @@ pre-install: <listitem> <para>Adam Glass <email>glass@postgres.berkeley.edu</email></para> </listitem> - + + <listitem> + <para>Adam McDougall <email>mcdouga9@egr.msu.edu</email></para> + </listitem> + <listitem> <para>Adrian T. Filipi-Martin <email>atf3r@agate.cs.virginia.edu</email></para> </listitem> @@ -3445,7 +3698,11 @@ pre-install: <listitem> <para>Alan Cox <email>alc@cs.rice.edu</email></para> </listitem> - + + <listitem> + <para>Amancio Hasty <email>ahasty@freebsd.org</email></para> + </listitem> + <listitem> <para>Andreas Kohout <email>shanee@rabbit.augusta.de</email></para> </listitem> @@ -3453,7 +3710,11 @@ pre-install: <listitem> <para>Andreas Lohr <email>andreas@marvin.RoBIN.de</email></para> </listitem> - + + <listitem> + <para>Andrew Gallatin <email>gallatin@cs.duke.edu</email></para> + </listitem> + <listitem> <para>Andrew Gordon <email>andrew.gordon@net-tel.co.uk</email></para> </listitem> @@ -3489,7 +3750,11 @@ pre-install: <listitem> <para>Angelo Turetta <email>ATuretta@stylo.it</email></para> </listitem> - + + <listitem> + <para>Anthony C. Chavez <email>magus@xmission.com</email></para> + </listitem> + <listitem> <para>Anthony Yee-Hang Chan <email>yeehang@netcom.com</email></para> </listitem> @@ -3505,11 +3770,19 @@ pre-install: <listitem> <para>Bernd Rosauer <email>br@schiele-ct.de</email></para> </listitem> - + + <listitem> + <para>Bill Fumerola <email>billf@jade.chc-chimes.com</email></para> + </listitem> + <listitem> <para>Bill Kish <email>kish@osf.org</email></para> </listitem> - + + <listitem> + <para>Brandon Gillespie <email>brandon@roguetrader.com</email></para> + </listitem> + <listitem> <para>&a.wlloyd;</para> </listitem> @@ -3549,7 +3822,11 @@ pre-install: <listitem> <para>Bruce Gingery <email>bgingery@gtcs.com</email></para> </listitem> - + + <listitem> + <para>Bruce Mah <email>bmah@ca.sandia.gov</email></para> + </listitem> + <listitem> <para>Carey Jones <email>mcj@acquiesce.org</email></para> </listitem> @@ -3569,7 +3846,11 @@ pre-install: <listitem> <para>Chet Ramey <email>chet@odin.INS.CWRU.Edu</email></para> </listitem> - + + <listitem> + <para>Chia-liang Kao <email>clkao@CirX.ORG</email></para> + </listitem> + <listitem> <para>Chris Dabrowski <email>chris@vader.org</email></para> </listitem> @@ -3605,7 +3886,12 @@ pre-install: <listitem> <para>Christoph Robitschko <email>chmr@edvz.tu-graz.ac.at</email></para> </listitem> - + + <listitem> + <para>Christopher T. Johnson + <email>cjohnson@neunacht.netgsi.com</email></para> + </listitem> + <listitem> <para>Choi Jun Ho <email>junker@jazz.snu.ac.kr</email></para> </listitem> @@ -3667,7 +3953,7 @@ pre-install: </listitem> <listitem> - <para>Dave Chapeskie <email>dchapes@zeus.leitch.com</email></para> + <para>Dave Chapeskie <email>dchapes@ddm.on.ca</email></para> </listitem> <listitem> @@ -3702,14 +3988,18 @@ pre-install: <para>Dirk Froemberg <email>dirk@hal.in-berlin.de</email></para> </listitem> - <listitem> - <para>Dmitrij Tejblum <email>dima@tejblum.dnttm.rssi.ru</email></para> - </listitem> - <listitem> <para>Dmitry Kohmanyuk <email>dk@farm.org</email></para> </listitem> - + + <listitem> + <para>Dom Mitchell <email>dom@myrddin.demon.co.uk</email></para> + </listitem> + + <listitem> + <para>Don Croyle <email>croyle@gelemna.ft-wayne.in.us</email></para> + </listitem> + <listitem> <para>&a.whiteside;</para> </listitem> @@ -3719,7 +4009,7 @@ pre-install: </listitem> <listitem> - <para>Donald Burr <email>d_burr@ix.netcom.com</email></para> + <para>Donald Maddox <email>dmaddox@scsn.net</email></para> </listitem> <listitem> @@ -3729,10 +4019,15 @@ pre-install: <listitem> <para>Douglas Carmichael <email>dcarmich@mcs.com</email></para> </listitem> - - <listitem> - <para>Eiji-usagi-MATSUmoto <email>usagi@ruby.club.or.jp</email></para> - </listitem> + + <listitem> + <para>Eckart “Isegrim” Hofmann + <email>Isegrim@Wunder-Nett.org</email></para> + </listitem> + + <listitem> + <para>Eiji-usagi-MATSUmoto <email>usagi@clave.gr.jp</email></para> + </listitem> <listitem> <para>ELISA Font Project</para> @@ -3773,7 +4068,11 @@ pre-install: <listitem> <para>Frank Nobis <email>fn@trinity.radio-do.de</email></para> </listitem> - + + <listitem> + <para>Frank Volf <email>volf@oasis.IAEhv.nl</email></para> + </listitem> + <listitem> <para>FUJIMOTO Kensaku <email>fujimoto@oscar.elec.waseda.ac.jp</email></para> </listitem> @@ -3793,11 +4092,28 @@ pre-install: <listitem> <para>Gerard Roudier <email>groudier@club-internet.fr</email></para> </listitem> - + + <listitem> + <para>Gilad Rom <email>rom_glsa@ein-hashofet.co.uk</email></para> + </listitem> + + <listitem> + <para>Ginga Kawaguti + <email>ginga@amalthea.phys.s.u-tokyo.ac.jp</email></para> + </listitem> + <listitem> <para>Greg Ungerer <email>gerg@stallion.oz.au</email></para> </listitem> - + + <listitem> + <para>Hans Huebner <email>hans@artcom.de</email></para> + </listitem> + + <listitem> + <para>Hans Petter Bieker <email>hanspb@persbraten.vgs.no</email></para> + </listitem> + <listitem> <para>Harlan Stenn <email>Harlan.Stenn@pfcs.com</email></para> </listitem> @@ -3829,11 +4145,23 @@ pre-install: <listitem> <para>Holger Veit <email>Holger.Veit@gmd.de</email></para> </listitem> - + + <listitem> + <para>HONDA Yasuhiro <email>honda@kashio.info.mie-u.ac.jp</email></para> + </listitem> + + <listitem> + <para>Horance Chou <email>horance@freedom.ie.cycu.edu.tw</email></para> + </listitem> + <listitem> <para>Hung-Chi Chu <email>hcchu@r350.ee.ntu.edu.tw</email></para> </listitem> - + + <listitem> + <para>Ian Struble <email>ian@broken.net</email></para> + </listitem> + <listitem> <para>Ian Vaudrey <email>i.vaudrey@bigfoot.com</email></para> </listitem> @@ -3857,7 +4185,11 @@ pre-install: <listitem> <para>Issei Suzuki <email>issei@t-cnet.or.jp</email></para> </listitem> - + + <listitem> + <para>Iseei Suzuki <email>issei@jp.FreeBSD.ORG</email></para> + </listitem> + <listitem> <para>Itsuro Saito <email>saito@miv.t.u-tokyo.ac.jp</email></para> </listitem> @@ -3865,11 +4197,19 @@ pre-install: <listitem> <para>J. David Lowe <email>lowe@saturn5.com</email></para> </listitem> - + + <listitem> + <para>J. Han <email>jtc@cygnus.com</email></para> + </listitem> + <listitem> <para>J.T. Conklin <email>jtc@cygnus.com</email></para> </listitem> - + + <listitem> + <para>J.T. Lang <email>keith@email.gcn.net.tw</email></para> + </listitem> + <listitem> <para>James Clark <email>jjc@jclark.com</email></para> </listitem> @@ -3893,10 +4233,18 @@ pre-install: <listitem> <para>Jeff Bartig <email>jeffb@doit.wisc.edu</email></para> </listitem> - + + <listitem> + <para>Keff Kletsky <email>Jeff@Wagsky.com</email></para> + </listitem> + <listitem> <para>Jeffrey Wheat <email>jeff@cetlink.net</email></para> </listitem> + + <listitem> + <para>Jerry Hicks <email>jhicks@glenatl.glenayre.com</email></para> + </listitem> <listitem> <para>Jian-Da Li <email>jdli@csie.NCTU.edu.tw</email></para> @@ -3913,11 +4261,25 @@ pre-install: <listitem> <para>Jim Wilson <email>wilson@moria.cygnus.com</email></para> </listitem> - + + <listitem> + <para>Jimbo Bahooli + <email>griffin@blackhole.iceworld/org</email></para> + </listitem> + <listitem> <para>Joao Carlos Mendes Luis <email>jonny@coppe.ufrj.br</email></para> </listitem> - + + <listitem> + <para>Joe “Marcus” Clarke + <email>marcus@miami.edu</email></para> + </listitem> + + <listitem> + <para>Joe Jih-Shian Lu <email>jslu@dns.ntu.edu.tw</email></para> + </listitem> + <listitem> <para>Joel Sutton <email>sutton@aardvark.apana.org.au</email></para> </listitem> @@ -3933,7 +4295,11 @@ pre-install: <listitem> <para>John Heidemann <email>johnh@isi.edu</email></para> </listitem> - + + <listitem> + <para>John Hood <email>cgull@owl.org</email></para> + </listitem> + <listitem> <para>John Perry <email>perry@vishnu.alias.net</email></para> </listitem> @@ -3946,6 +4312,15 @@ pre-install: <para>John Rochester <email>jr@cs.mun.ca</email></para> </listitem> + <listitem> + <para>John Saunders <email>john@pacer.nlc.net.au</email></para> + </listitem> + + <listitem> + <para>Jonathan Hanna + <email>jh@pc-21490.bc.rogers.wave.ca</email></para> + </listitem> + <listitem> <para>Josef Karthauser <email>joe@uk.freebsd.org</email></para> </listitem> @@ -3985,7 +4360,11 @@ pre-install: <listitem> <para>Junichi Satoh <email>junichi@jp.freebsd.org</email></para> </listitem> - + + <listitem> + <para>Junya WATANABE <email>junya-w@remus.dti.ne.jp</email></para> + </listitem> + <listitem> <para>Kapil Chowksey <email>kchowksey@hss.hns.com</email></para> </listitem> @@ -4009,7 +4388,11 @@ pre-install: <listitem> <para>Kent Vander Velden <email>graphix@iastate.edu</email></para> </listitem> - + + <listitem> + <para>Kentaro Inagaki <email>JBD01226@niftyserve.ne.jp</email></para> + </listitem> + <listitem> <para>Kirk McKusick <email>mckusick@mckusick.com</email></para> </listitem> @@ -4031,9 +4414,14 @@ pre-install: </listitem> <listitem> - <para>Lars Koeller <email>Lars.Koeller@Uni-Bielefeld.DE</email></para> + <para>Lars Köller <email>Lars.Koeller@Uni-Bielefeld.DE</email></para> </listitem> - + + <listitem> + <para>Lian Tai-hwa + <email>avatar@www.mmlab.cse.yzu.edu.twu</email></para> + </listitem> + <listitem> <para>Lucas James <email>Lucas.James@ldjpc.apana.org.au</email></para> </listitem> @@ -4045,7 +4433,12 @@ pre-install: <listitem> <para>Makoto MATSUSHITA <email>matusita@jp.freebsd.org</email></para> </listitem> - + + <listitem> + <para>Makoto WATANABE + <email>watanabe@zlab.phys.nagoya-u.ac.jp</email></para> + </listitem> + <listitem> <para>Manu Iyengar <email>iyengar@grunthos.pscwa.psca.com</email></para> </listitem> @@ -4097,7 +4490,11 @@ pre-install: <listitem> <para>Masachika ISHIZUKA <email>ishizuka@isis.min.ntt.jp</email></para> </listitem> - + + <listitem> + <para>Masanori Kiriake <email>seiken@ncs.co.jp</email></para> + </listitem> + <listitem> <para>Mats Lofkvist <email>mal@algonet.se</email></para> </listitem> @@ -4114,10 +4511,6 @@ pre-install: <para>Matt White <email>mwhite+@CMU.EDU</email></para> </listitem> - <listitem> - <para>Matthew Hunt <email>mph@pobox.com</email></para> - </listitem> - <listitem> <para>Matthew N. Dodd <email>winter@jurai.net</email></para> </listitem> @@ -4173,7 +4566,11 @@ pre-install: <listitem> <para>MOROHOSHI Akihiko <email>moro@race.u-tokyo.ac.jp</email></para> </listitem> - + + <listitem> + <para>Motoyuki Kasahara <email>m-hasahr@sra.co.jp</email></para> + </listitem> + <listitem> <para>Murray Stokely <email>murray@cdrom.com</email></para> </listitem> @@ -4217,7 +4614,11 @@ pre-install: <listitem> <para>Noritaka Ishizumi <email>graphite@jp.FreeBSD.ORG</email></para> </listitem> - + + <listitem> + <para>Oliver Breuninger <email>ob@seicom.NET</email></para> + </listitem> + <listitem> <para>Oliver Fromme <email>oliver.fromme@heim3.tu-clausthal.de</email></para> </listitem> @@ -4266,10 +4667,6 @@ pre-install: <para>Peter Haight <email>peterh@prognet.com</email></para> </listitem> - <listitem> - <para>Peter Hawkins <email>peter@rhiannon.clari.net.au</email></para> - </listitem> - <listitem> <para>Peter Stubbs <email>PETERS@staidan.qld.edu.au</email></para> </listitem> @@ -4293,7 +4690,11 @@ pre-install: <listitem> <para>Richard Hwang <email>rhwang@bigpanda.com</email></para> </listitem> - + + <listitem> + <para>Richard. M. Neswold <email>rneswold@drmemory.fnal.gov</email></para> + </listitem> + <listitem> <para>Richard Seaman, Jr. <email>dick@tar.com</email></para> </listitem> @@ -4337,7 +4738,15 @@ pre-install: <listitem> <para>Ruslan Shevchenko <email>rssh@cki.ipri.kiev.ua</email></para> </listitem> - + + <listitem> + <para>SADA Kenji <email>sada@e-mail.ne.jp</email></para> + </listitem> + + <listitem> + <para>SURANYI Peter <email>suranyip@jks.is.tsukuba.ac.jp</email></para> + </listitem> + <listitem> <para>Samuel Lam <email>skl@ScalableNetwork.com</email></para> </listitem> @@ -4361,7 +4770,11 @@ pre-install: <listitem> <para>Satoshi Taoka <email>taoka@infonets.hiroshima-u.ac.jp</email></para> </listitem> - + + <listitem> + <para>Scot W. Hetzel <email>hetzels@westbend.net</email></para> + </listitem> + <listitem> <para>Scott Blachowicz <email>scott.blachowicz@seaslug.org</email></para> </listitem> @@ -4369,7 +4782,20 @@ pre-install: <listitem> <para>Scott A. Kenney <email>saken@rmta.ml.org</email></para> </listitem> - + + <listitem> + <para>Seigou TANIMURA + <email>tanimura@naklab.dnj.ynu.ac.jp</email></para> + </listitem> + + <listitem> + <para>Seiichirou Hiraoka <email>flathill@flathill.gr.jp</email></para> + </listitem> + + <listitem> + <para>Serge Babkin <email>babkin@hq.icb.chel.su</email></para> + </listitem> + <listitem> <para>Serge V. Vakulenko <email>vak@zebub.msk.su</email></para> </listitem> @@ -4377,7 +4803,12 @@ pre-install: <listitem> <para>Sheldon Hearn <email>axl@iafrica.com</email></para> </listitem> - + + <listitem> + <para>Shigeyuki FUKUSHIMA + <email>shige@kuis.kyoto-u.ac.jp</email></para> + </listitem> + <listitem> <para>Simon Marlow <email>simonm@dcs.gla.ac.uk</email></para> </listitem> @@ -4393,15 +4824,27 @@ pre-install: <listitem> <para>Soren Dossing <email>sauber@netcom.com</email></para> </listitem> - + + <listitem> + <para>Stefan Eggers <email>seggers@semyam.dinoco.de</email></para> + </listitem> + <listitem> - <para>Stefan Moeding <email>moeding@bn.DeTeMobil.de</email></para> + <para>Stefan Moeding <email>s.moeding@ndh.net</email></para> </listitem> - + + <listitem> + <para>Stefan “Sec” Zehl <email>sec@42.org</email></para> + </listitem> + <listitem> <para>Stephane Legrand <email>stephane@lituus.fr</email></para> </listitem> - + + <listitem> + <para>Stephen Farrell <email>stephen@farrell.org</email></para> + </listitem> + <listitem> <para>Stephen J. Roznowski <email>sjr@home.net</email></para> </listitem> @@ -4409,7 +4852,21 @@ pre-install: <listitem> <para>Steve Gerakines <email>steve2@genesis.tiac.net</email></para> </listitem> - + + <listitem> + <para>Steven G. Kargl + <email>kargl@troutmask.apl.washington.edu</email></para> + </listitem> + + <listitem> + <para>Stephen H. Samorodin <email>samorodi@NUXU.com</email></para> + </listitem> + + <listitem> + <para>Stuart Henderson + <email>stuart@internationalschool.co.uk</email></para> + </listitem> + <listitem> <para>Suzuki Yoshiaki <email>zensyo@ann.tama.kawasaki.jp</email></para> </listitem> @@ -4421,11 +4878,27 @@ pre-install: <listitem> <para>Taguchi Takeshi <email>taguchi@tohoku.iij.ad.jp</email></para> </listitem> - + + <listitem> + <para>Takashi Mega <email>mega@minz.org</email></para> + </listitem> + + <listitem> + <para>Takashi Uozu <email>j1594016@ed.kagu.sut.ac.jp</email></para> + </listitem> + <listitem> <para>Takayuki Ariga <email>a00821@cc.hc.keio.ac.jp</email></para> </listitem> - + + <listitem> + <para>Takeu NAIKI <email>naiki@bfd.es.hokudai.ac.jp</email></para> + </listitem> + + <listitem> + <para>Ted Faber <email>faber@ISI.EDU</email></para> + </listitem> + <listitem> <para>Terry Lambert <email>terry@lambert.org</email></para> </listitem> @@ -4457,7 +4930,11 @@ pre-install: <listitem> <para>Tim Wilkinson <email>tim@sarc.city.ac.uk</email></para> </listitem> - + + <listitem> + <para>Tom Jobbins <email>tom@tom.tj</email></para> + </listitem> + <listitem> <para>Tom Samplonius <email>tom@misery.sdf.com</email></para> </listitem> @@ -4469,7 +4946,11 @@ pre-install: <listitem> <para>Toshihiro Kanda <email>candy@fct.kgc.co.jp</email></para> </listitem> - + + <listitem> + <para>Toshihiko SHIMOKAWA <email>toshi@tea.forus.or.jp</email></para> + </listitem> + <listitem> <para>Trefor S. <email>trefor@flevel.co.uk</email></para> </listitem> @@ -4477,7 +4958,11 @@ pre-install: <listitem> <para>Ville Eerola <email>ve@sci.fi</email></para> </listitem> - + + <listitem> + <para>Vladimir Kushnir <email>kushn@mail.kar.net</email></para> + </listitem> + <listitem> <para>Werner Griessl <email>werner@btp1da.phy.uni-bayreuth.de</email></para> </listitem> @@ -4511,7 +4996,7 @@ pre-install: </listitem> <listitem> - <para>Yukihiro Nakai <email>nakai@mlab.t.u-tokyo.ac.jp</email></para> + <para>Yukihiro Nakai <email>nakai@technologist.com</email></para> </listitem> <listitem> @@ -4616,7 +5101,7 @@ pre-install: </listitem> <listitem> - <para>David Greenman <email>davidg@Root.COM</email></para> + <para>David Greenman <email>dg@Root.COM</email></para> </listitem> <listitem> diff --git a/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml b/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml index 5f6af0f864..f4d06bba3a 100644 --- a/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml +++ b/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml @@ -13,7 +13,13 @@ is too small to hold the dump, you can configure your kernel to use an alternate dump device (in the <literal>config kernel</literal> line), or you can specify an alternate using the - <citerefentry><refentrytitle>dumpon</refentrytitle><manvolnum>8</manvolnum></citerefentry> command. Dumps to non-swap devices, tapes for example, + <citerefentry><refentrytitle>dumpon</refentrytitle><manvolnum>8</manvolnum></citerefentry> command. The best way to use <citerefentry> + <refentrytitle>dumpon</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> is to set the <literal>dumpdev</literal> variable in + <filename>/etc/rc.conf</filename>. Typically you want to specify one of + the swap devices specified in <filename>/etc/fstab</filename>. +Dumps to non-swap devices, tapes for example, are currently not supported. Config your kernel using <command>config -g</command>. See <link linkend="kernelconfig">Kernel Configuration</link> for @@ -232,7 +238,23 @@ </sect1> - + + <sect1> + <title>Debugging a crash dump with DDD</title> + + <para>Examining a kernel crash dump with a graphical debugger like + <command>ddd</command> is also possible. Add the <option>-k</option> + option to the <command>ddd</command> command line you would use + normally. For example;</para> + + <informalexample> + <screen>&prompt.root; <userinput>ddd -k /var/crash/kernel.0 /var/crash/vmcore.0</userinput></screen> + </informalexample> + + <para>You should then be able to go about looking at the crash dump using + <command>ddd</command>'d graphical interface.</para> + </sect1> + <sect1> <title>Post-mortem Analysis of a Dump</title> diff --git a/en_US.ISO8859-1/books/developers-handbook/policies/chapter.sgml b/en_US.ISO8859-1/books/developers-handbook/policies/chapter.sgml index 4f675a2c0d..cd77ca0ba2 100644 --- a/en_US.ISO8859-1/books/developers-handbook/policies/chapter.sgml +++ b/en_US.ISO8859-1/books/developers-handbook/policies/chapter.sgml @@ -47,7 +47,9 @@ MAINTAINER= email-addresses</programlisting> <sect1> <title>Contributed Software</title> - + + <para><emphasis>Contributed by &a.phk; and &a.obrien;. </emphasis></para> + <para>June 1996.</para> <para>Some parts of the FreeBSD distribution consist of software that @@ -75,7 +77,18 @@ MAINTAINER= email-addresses</programlisting> 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.</para> - + + <note> + <para>Because of some unfortunate design limitations with the RCS file + format and CVS's use of vendor branches, minor, trivial and/or + cosmetic changes are <emphasis>strongly discouraged</emphasis> on + files that are still tracking the vendor branch. “Spelling + fixes” are explicitly included here under the + “cosmetic” category and are to be avoided for files with + revision 1.1.x.x. The repository bloat impact from a single character + change can be rather dramatic.</para> + </note> + <para>The <application>Tcl</application> embedded programming language will be used as example of how this model works:</para> @@ -104,14 +117,14 @@ MAINTAINER= email-addresses</programlisting> <para>The important thing here is that the <filename>src/contrib/tcl</filename> 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 + (on a proper CVS vendor-branch and without RCS keyword expansion) 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.</para> - <para>Because of some unfortunate design limitations with CVS's vendor + <para>Because of the previously mentioned 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 diff --git a/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml b/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml index 9de3cdaeb5..4fbe1987b1 100644 --- a/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml @@ -738,86 +738,49 @@ hostname myclient.mydomain</programlisting> <sect2> <title>ISDN Cards</title> - <para><emphasis>Original Contribution by &a.hm;.</emphasis></para> + <para><emphasis>Contributed by &a.hm;.</emphasis></para> - <para>This section is really only relevant to European ISDN users. - The cards supported are not yet(?) available for North American - ISDN standards.</para> - - <para>You should be aware that this code is largely under - development. Specifically, drivers have only been written for two - manufacturers cards.</para> - - <para>PC ISDN cards support the full bandwidth of ISDN, 128Kbs. - These cards are often the least expensive type of ISDN equipment.</para> - - <para>Under FreeBSD 2.1.0 and 2.1.5, there is early unfinished ISDN - code under <filename>/usr/src/gnu/isdn</filename>. 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.</para> - - <para>There is the bisdn ISDN package available from <ulink - URL="ftp://hub.freebsd.org/pub/bisdn">hub.freebsd.org</ulink> - 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.</para> - - <para>There are drivers for the following cards:</para> - - <itemizedlist> - - <listitem> - <para>Currently all (passive) Teles cards and their clones are - supported for the EuroISDN (DSS1) and 1TR6 protocols.</para> - </listitem> - - <listitem> - <para>Dr. Neuhaus — Niccy 1016</para> - </listitem> - - </itemizedlist> - - <para>There are several limitations with the bisdn stuff. - Specifically the following features usually associated with ISDN - are not supported.</para> - - - <itemizedlist> - - <listitem> - <para>No PPP support, only raw hdlc. This means you cannot - connect to most standalone routers.</para> - </listitem> - - <listitem> - <para>Bridging Control Protocol not supported.</para> - </listitem> - - <listitem> - <para>Multiple cards are not supported.</para> - </listitem> - - <listitem> - <para>No bandwidth on demand.</para> - </listitem> - - <listitem> - <para>No channel bundling.</para> - </listitem> - - </itemizedlist> - - - <para>A majordomo maintained mailing list is available. To join the - list, send mail to &a.majordomo; and specify: + <para>This section is really only relevant to ISDN users in countries + where the DSS1/Q.931 ISDN standard is supported. </para> + + <para>Some growing number of PC ISDN cards are supported under FreeBSD + 2.2.x and up by the isdn4bsd driver package. It is still under + development but the reports show that it is successfully used all + over Europe.</para> - <programlisting> + <para>The latest isdn4bsd version is available from <ulink + url="ftp://isdn4bsd@ftp.consol.de/pub/">ftp://isdn4bsd@ftp.consol.de/pub/</ulink>, + the main isdn4bsd ftp site (you have to log in as user + <username>isdn4bsd</username> , give your mail address as the + password and change to the <filename>pub</filename> + directory. Anonymous ftp as user <username>ftp</username> or + <username>anonymous</username> will <emphasis>not</emphasis> give + the desired result).</para> + + <para>Isdn4bsd allows you to connect to other ISDN routers using + either IP over raw HDLC or by using synchronous PPP. A telephone + answering machine application is also available.</para> + + <para>Many ISDN PC cards are supported, mostly the ones with a Siemens + ISDN chipset (ISAC/HSCX), support for other chipsets (from Motorola, + Cologne Chip Designs) is currently under development. For an + up-to-date list of supported cards, please have a look at the + <ulink url="ftp://isdn4bsd@ftp.consol.de/pub/README">README</ulink> + file.</para> + + <para>In case you are interested in adding support for a different + ISDN protocol, a currently unsupported ISDN PC card or otherwise + enhancing isdn4bsd, please get in touch with + <email>hm@kts.org</email>.</para> + + <para>A majordomo maintained mailing list is available. To join the + list, send mail to <email>majordomo@FreeBSD.ORG</email> and + specify:</para> + + <programlisting> subscribe freebsd-isdn</programlisting> - in the body - of your message.</para> - + <para>in the body of your message.</para> </sect2> <sect2> diff --git a/en_US.ISO8859-1/books/handbook/authors.ent b/en_US.ISO8859-1/books/handbook/authors.ent index 753419189e..a8c95c2ac6 100644 --- a/en_US.ISO8859-1/books/handbook/authors.ent +++ b/en_US.ISO8859-1/books/handbook/authors.ent @@ -7,15 +7,15 @@ Please keep this list in alphabetical order by entity names. - $Id: authors.ent,v 1.2 1998-11-09 17:41:07 archie Exp $ + $Id: authors.ent,v 1.3 1998-11-12 01:26:17 nik Exp $ --> +<!ENTITY a.abial "Andrzej Bialecki <email>abial@FreeBSD.ORG</email>"> + <!ENTITY a.ache "Andrey A. Chernov <email>ache@FreeBSD.ORG</email>"> <!ENTITY a.adam "Adam David <email>adam@FreeBSD.ORG</email>"> -<!ENTITY a.ahasty "Amancio Hasty <email>ahasty@FreeBSD.ORG</email>"> - <!ENTITY a.alex "Alex Nash <email>alex@freebsd.org</email>"> <!ENTITY a.amurai "Atsushi Murai <email>amurai@FreeBSD.ORG</email>"> @@ -54,28 +54,38 @@ <!ENTITY a.darrenr "Darren Reed <email>darrenr@FreeBSD.ORG</email>"> -<!ENTITY a.dave "Dave Cornejo <email>dave@FreeBSD.ORG</email>"> - -<!ENTITY a.davidg "David Greenman <email>davidg@FreeBSD.ORG</email>"> +<!ENTITY a.dg "David Greenman <email>dg@FreeBSD.ORG</email>"> <!ENTITY a.davidn "David Nugent <email>davidn@blaze.net.au</email>"> +<!ENTITY a.dburr "Donald Burr <email>dburr@FreeBSD.ORG</email>"> + +<!ENTITY a.des "Dag-Erling C. Smørgrav <email>des@FreeBSD.ORG</email>"> + <!ENTITY a.dfr "Doug Rabson <email>dfr@FreeBSD.ORG</email>"> +<!ENTITY a.dillon "Matthew Dillon <email>dillon@FreeBSD.ORG</email>"> + <!ENTITY a.dima "Dima Ruban <email>dima@FreeBSD.ORG</email>"> <!ENTITY a.dirkvangulik "Dirk-Willem van Gulik <email>Dirk.vanGulik@jrc.it</email>"> +<!ENTITY a.dt "Dmitrij Tejblum <email>dt@FreeBSD.ORG</email>"> + +<!ENTITY a.dwhite "Doug White <email>dwhite@FreeBSD.ORG</email>"> + <!ENTITY a.dufault "Peter Dufault <email>dufault@FreeBSD.ORG</email>"> <!ENTITY a.dyson "John Dyson <email>dyson@FreeBSD.ORG</email>"> -<!ENTITY a.faq "FAQ Maintainer <email>faq@freebsd.org</email>"> - <!ENTITY a.eivind "Eivind Eklund <email>perhaps@yes.no</email>"> +<!ENTITY a.ejc "Eric J. Chet <email>ejc@FreeBSD.ORG</email>"> + <!ENTITY a.erich "Eric L. Hernes <email>erich@FreeBSD.ORG</email>"> +<!ENTITY a.faq "FAQ Maintainer <email>faq@freebsd.org</email>"> + <!ENTITY a.fenner "Bill Fenner <email>fenner@FreeBSD.ORG</email>"> <!ENTITY a.fsmp "Steve Passe <email>fsmp@FreeBSD.ORG</email>"> @@ -94,6 +104,8 @@ <!ENTITY a.graichen "Thomas Graichen <email>graichen@FreeBSD.ORG</email>"> +<!ENTITY a.grog "Greg Lehey <email>grog@FreeBSD.ORG</email>"> + <!ENTITY a.gryphon "Coranth Gryphon <email>gryphon@healer.com</email>"> <!ENTITY a.guido "Guido van Rooij <email>guido@FreeBSD.ORG</email>"> @@ -132,6 +144,8 @@ <!ENTITY a.jkh "Jordan K. Hubbard <email>jkh@FreeBSD.ORG</email>"> +<!ENTITY a.jkoshy "Joseph Koshy <email>jkoshy@FreeBSD.ORG</email>"> + <!ENTITY a.jlemon "Jonathan Lemon <email>jlemon@FreeBSD.ORG</email>"> <!ENTITY a.jlind "John Lind <email>john@starfire.MN.ORG</email>"> @@ -164,12 +178,18 @@ <!ENTITY a.kelly "Sean Kelly <email>kelly@fsl.noaa.gov</email>"> +<!ENTITY a.ken "Kenneth D. Merry <email>ken@FreeBSD.ORG</email>"> + <!ENTITY a.kjc "Kenjiro Cho <email>kjc@FreeBSD.ORG</email>"> +<!ENTITY a.kuriyama "Jun Kuriyama <email>kuriyama@FreeBSD.ORG</email>"> + <!ENTITY a.lars "Lars Fredriksen <email>lars@FreeBSD.ORG</email>"> <!ENTITY a.ljo "L Jonas Olsson <email>ljo@FreeBSD.ORG</email>"> +<!ENTITY a.luoqi "Luoqi Chen <email>luoqi@FreeBSD.ORG</email>"> + <!ENTITY a.markm "Mark Murray <email>markm@FreeBSD.ORG</email>"> <!ENTITY a.martin "Martin Renters <email>martin@FreeBSD.ORG</email>"> @@ -182,14 +202,22 @@ <!ENTITY a.mckay "Stephen McKay <email>mckay@FreeBSD.ORG</email>"> +<!ENTITY a.mckusick "Kirk McKusick <email>mckusick@FreeBSD.ORG</email>"> + <!ENTITY a.md "Mark Dapoz <email>md@bsc.no</email>"> +<!ENTITY a.motoyuki "Motoyuki Konno <email>motoyuki@FreeBSD.ORG</email>"> + +<!ENTITY a.mph "Matthew Hunt <email>mph@FreeBSD.ORG</email>"> + <!ENTITY a.mpp "Mike Pritchard <email>mpp@FreeBSD.ORG</email>"> <!ENTITY a.msmith "Michael Smith <email>msmith@FreeBSD.ORG</email>"> <!ENTITY a.nate "Nate Williams <email>nate@FreeBSD.ORG</email>"> +<!ENTITY a.nectar "Jacques Vidrine <email>nectar@FreeBSD.ORG</email>"> + <!ENTITY a.nik "Nik Clayton <email>nik@FreeBSD.ORG</email>"> <!ENTITY a.nsj "Nate Johnson <email>nsj@FreeBSD.ORG</email>"> @@ -202,6 +230,8 @@ <!ENTITY a.paul "Paul Richards <email>paul@FreeBSD.ORG</email>"> +<!ENTITY a.pb "Pierre Beyssac <email>pb@fasterix.freenix.org</email>"> + <!ENTITY a.pds "Peter da Silva <email>pds@FreeBSD.ORG</email>"> <!ENTITY a.peter "Peter Wemm <email>peter@FreeBSD.ORG</email>"> @@ -222,6 +252,8 @@ <!ENTITY a.rich "Rich Murphey <email>rich@FreeBSD.ORG</email>"> +<!ENTITY a.rnordier "Robert Nordier <email>rnordier@FreeBSD.ORG</email>"> + <!ENTITY a.roberto "Ollivier Robert <email>roberto@FreeBSD.ORG</email>"> <!ENTITY a.rse "Ralf S. Engelschall <email>rse@FreeBSD.ORG</email>"> @@ -252,6 +284,8 @@ <!ENTITY a.tg "Thomas Gellekum <email>tg@FreeBSD.ORG</email>"> +<!ENTITY a.thepish "Peter Hawkins <email>thepish@FreeBSD.ORG</email>"> + <!ENTITY a.torstenb "Torsten Blum <email>torstenb@FreeBSD.ORG</email>"> <!ENTITY a.ugen "Ugen J.S.Antsilevich <email>ugen@FreeBSD.ORG</email>"> diff --git a/en_US.ISO8859-1/books/handbook/backups/chapter.sgml b/en_US.ISO8859-1/books/handbook/backups/chapter.sgml new file mode 100644 index 0000000000..f7c05d2731 --- /dev/null +++ b/en_US.ISO8859-1/books/handbook/backups/chapter.sgml @@ -0,0 +1,731 @@ +<chapter id="backups"> + <title>Backups</title> + + <para>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. You may also want + to refer to <link linkend="kernelconfig-config"> the kernel configuration + file</link> section in this handbook for a list of supported + devices.</para> + + <para>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 <link linkend="eresources-mail">Mailing Lists</link> 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.</para> + + <sect1> + <title>* What about backups to floppies?</title> + + <para></para> + </sect1> + + <sect1 id="backups-tapebackups"> + <title>Tape Media</title> + + <para>The major tape media are the 4mm, 8mm, QIC, mini-cartridge and + DLT.</para> + + <sect2 id="backups-tapebackups-4mm"> + <title>4mm (DDS: Digital Data + Storage)</title> + + <para>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.</para> + + <para>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.</para> + + <para>4mm drives, like 8mm drives, use helical-scan. All the benefits + and drawbacks of helical-scan apply to both 4mm and 8mm drives.</para> + + <para>Tapes should be retired from use after 2,000 passes or 100 full + backups.</para> + </sect2> + + <sect2 id="backups-tapebackups-8mm"> + <title>8mm (Exabyte)</title> + + <para>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.</para> + + <para>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.</para> + + <para>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.</para> + </sect2> + + <sect2 id="backups-tapebackups-qic"> + <title>QIC</title> + + <para>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 + <emphasis>most</emphasis> 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). <link linkend="backups-tapebackups-mini">Mini-cartridges</link>, + which also use 1/4" wide tape are discussed separately. Tape libraries + and changers are not available.</para> + + <para>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.</para> + + <para>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).</para> + + <para>Tapes should be retired from use after 5,000 backups.</para> + </sect2> + + <sect2 id="backups-tapebackups-mini"> + <title>* Mini-Cartridge</title> + + <para></para> + </sect2> + + <sect2 id="backups-tapebackups-dlt"> + <title>DLT</title> + + <para>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.</para> + + <para>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.</para> + + <para>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.</para> + </sect2> + + <sect2> + <title>Using a new tape for the first time</title> + + <para>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:</para> + +<informalexample> + <screen>st0(ncr1:4:0): NOT READY asc:4,1 +st0(ncr1:4:0): Logical unit is in process of becoming ready</screen> + </informalexample> + + <para>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:</para> + + <para><command>mt fsf 1</command> causes the tape drive to write an + Identifier Block to the tape.</para> + + <para>Use the front panel button to eject the tape.</para> + + <para>Re-insert the tape and + <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> data to the tape.</para> + + <para><citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> will report <literal>DUMP: + End of tape detected</literal> and the console will show: + <literal>HARDWARE FAILURE info:280 asc:80,96</literal></para> + + <para>rewind the tape using: <command>mt rewind</command></para> + + <para>Subsequent tape operations are successful.</para> + </sect2> + </sect1> + + <sect1 id="backup-programs"> + <title>Backup Programs</title> + + <para>The three major programs are + <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, + <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum></citerefentry>, + and + <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry>.</para> + + <sect2> + <title>Dump and Restore</title> + + <para><citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> and <citerefentry> + <refentrytitle>restore</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> 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. + <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> backs up devices, entire filesystems, not parts of a + filesystem and not directory trees that span more than one filesystem, + using either soft links <citerefentry> + <refentrytitle>ln</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> or mounting one filesystem onto another. + <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> does not write files and directories to tape, but + rather writes the data blocks that are the building blocks of files + and directories. <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> 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.</para> + + <para><citerefentry> + <refentrytitle>rdump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> and <citerefentry> + <refentrytitle>rrestore</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> backup data across the + network to a tape drive attached to another computer. Both programs + rely upon <citerefentry> + <refentrytitle>rcmd</refentrytitle> + <manvolnum>3</manvolnum> + </citerefentry> and <citerefentry> + <refentrytitle>ruserok</refentrytitle> + <manvolnum>3</manvolnum></citerefentry> to access the remote tape + drive. Therefore, the user performing the backup must have + <literal>rhosts</literal> access to the remote computer. The + arguments to <citerefentry> + <refentrytitle>rdump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> and <citerefentry> + <refentrytitle>rrestore</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> must suitable to use on the remote computer. (e.g. + When <command>rdump</command>'ing from a FreeBSD computer to an + Exabyte tape drive connected to a Sun called + <hostid>komodo</hostid>, use: <command>/sbin/rdump 0dsbfu 54000 + 13000 126 komodo:/dev/nrst8 /dev/rsd0a 2>&1</command>) Beware: + there are security implications to allowing <literal>rhosts</literal> + commands. Evaluate your situation carefully.</para> + </sect2> + + <sect2> + <title>Tar</title> + + <para><citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> also dates back to Version 6 of ATT Unix (circa + 1975). <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> operates in cooperation with the filesystem; + <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> writes files and directories to tape. + <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> does not support the full range of options that are + available from <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry>, but <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> does not require the + unusual command pipeline that <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> uses.</para> + + <para>Most versions of <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> do not support backups across the network. The GNU + version of <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum></citerefentry>, which FreeBSD utilizes, + supports remote devices using the same syntax as + <command>rdump</command>. To <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> to an Exabyte tape drive connected to a Sun called + komodo, use: <command>/usr/bin/tar cf komodo:/dev/nrst8 . + 2>&1</command>. For versions without remote device support, + you can use a pipeline and <citerefentry> + <refentrytitle>rsh</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> to send the data to a + remote tape drive. (XXX add an example command)</para> + </sect2> + + <sect2> + <title>Cpio</title> + + <para><citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> is the original Unix + file interchange tape program for magnetic media. <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> 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 <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> and excellent choice for + installation media. <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> does not know how to walk + the directory tree and a list of files must be provided thru + <filename>STDIN</filename>.</para> + + <para><citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> does not support backups + across the network. You can use a pipeline and <citerefentry> + <refentrytitle>rsh</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> to send the data to a + remote tape drive. (XXX add an example command)</para> + </sect2> + + <sect2> + <title>Pax</title> + + <para><citerefentry> + <refentrytitle>pax</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> is IEEE/POSIX's answer to + <command>tar</command> and <command>cpio</command>. Over the years the + various versions of <command>tar</command> and <command>cpio</command> + have gotten slightly incompatible. So rather than fight it out to + fully standardize them, POSIX created a new archive utility. + <command>pax</command> attempts to read and write many of the various + cpio and tar formats, plus new formats of its own. Its command set + more resembles <command>cpio</command> than + <command>tar</command>.</para> + </sect2> + + <sect2 id="backups-programs-amanda"> + <title>Amanda</title> + + <para><ulink url="../ports/misc.html#amanda-2.4.0">Amanda</ulink> + (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.</para> + + <para>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.</para> + </sect2> + + <sect2> + <title>Do nothing</title> + + <para>“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!</para> + + <para>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.</para> + + <para>“Do nothing” is the correct backup method for + <filename>/usr/obj</filename> 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 + <acronym>SGML</acronym> input files. Creating backups of these + <acronym>HTML</acronym> files is not necessary. The + <acronym>SGML</acronym> source files are backed up regularly.</para> + </sect2> + + <sect2> + <title>Which Backup Program is Best?</title> + + <para><citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> <emphasis>Period.</emphasis> + 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 <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>. 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 unwritable 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. See <ulink + url="http://reality.sgi.com/zwicky_neu/testdump.doc.html">torture-testing Backup and Archive Programs</ulink>.</para> + </sect2> + + <sect2> + <title>Emergency Restore Procedure</title> + + <sect3> + <title>Before the Disaster</title> + + <para>There are only four steps that you need to perform in + preparation for any disaster that may occur.</para> + + <para>First, print the disklabel from each of your disks + (<command>e.g. disklabel sd0 | lpr</command>), your filesystem table + (<command>/etc/fstab</command>) and all boot messages, two copies of + each.</para> + + <para>Second, determine that the boot and fixit floppies + (<filename>boot.flp</filename> and <filename>fixit.flp</filename>) + 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.</para> + + <para>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: + <citerefentry> + <refentrytitle>fdisk</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, <citerefentry> + <refentrytitle>disklabel</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, <citerefentry> + <refentrytitle>newfs</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, <citerefentry> + <refentrytitle>mount</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, and whichever backup + program you use. These programs must be statically linked. If you + use <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, the floppy must contain + <citerefentry> + <refentrytitle>restore</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>.</para> + + <para>Third, create backup tapes regularly. Any changes that you make + after your last backup may be irretrievably lost. Write-protect the + backup tapes.</para> + + <para>Fourth, test the floppies (either <filename>boot.flp</filename> + and <filename>fixit.flp</filename> 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 <command>tar xvf /dev/rst0</command>, you might + accidently type <command>tar cvf /dev/rst0</command> and over-write + your backup tape).</para> + + <para>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.</para> + + <para>An example script for creating a bootable floppy:</para> + + <programlisting> +<![ CDATA [#!/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]]></programlisting> + </sect3> + + <sect3> + <title>After the Disaster</title> + + <para>The key question is: did your hardware survive? You have been + doing regular backups so there is no need to worry about the + software.</para> + + <para>If the hardware has been damaged. First, replace those parts + that have been damaged.</para> + + <para>If your hardware is okay, check your floppies. If you are using + a custom boot floppy, boot single-user (type <literal>-s</literal> + at the <prompt>boot:</prompt> prompt). Skip the following + paragraph.</para> + + <para>If you are using the <filename>boot.flp</filename> and + <filename>fixit.flp</filename> floppies, keep reading. Insert the + <filename>boot.flp</filename> floppy in the first floppy drive and + boot the computer. The original install menu will be displayed on + the screen. Select the <literal>Fixit--Repair mode with CDROM or + floppy.</literal> option. Insert the + <filename>fixit.flp</filename> when prompted. + <command>restore</command> and the other programs that you need are + located in <filename>/mnt2/stand</filename>.</para> + + <para>Recover each filesystem separately.</para> + + <para>Try to <citerefentry> + <refentrytitle>mount</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry>(e.g. <command>mount /dev/sd0a + /mnt</command>) the root partition of your first disk. If the + disklabel was damaged, use <citerefentry> + <refentrytitle>disklabel</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> to re-partition and + label the disk to match the label that your printed and saved. Use + <citerefentry> + <refentrytitle>newfs</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> to re-create the + filesystems. Re-mount the root partition of the floppy read-write + (<command>mount -u -o rw /mnt</command>). Use your backup program + and backup tapes to recover the data for this filesystem (e.g. + <command>restore vrf /dev/st0</command>). Unmount the filesystem + (e.g. <command>umount /mnt</command>) Repeat for each filesystem + that was damaged.</para> + + <para>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.</para> + </sect3> + + <sect3> + <title>* I did not prepare for the Disaster, What Now?</title> + + <para></para> + </sect3> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../handbook.sgml" "part" "chapter") + End: +--> diff --git a/en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml b/en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml index d55f694daa..429b519caf 100644 --- a/en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml @@ -49,7 +49,11 @@ <ulink URL="http://www.ascii.co.jp/">ASCII</ulink>. ISBN 4-7561-1580-2 P3800E.</para> </listitem> - + + <listitem> + <para>FreeBSD mit Methode (in German), publiched by Computer und + Literatur Verlag/Vertrieb Hanser, 1998. ISBN 3-93211-31-0.</para> + </listitem> </itemizedlist> @@ -151,7 +155,7 @@ <listitem> <para>Nemeth, Evi. <emphasis>UNIX System Administration - Handbook</emphasis>. 2nd ed. Prentice Hall, 1995. <!-- <br> + Handbook</emphasis>. 2nd Ed. Prentice Hall, 1995. <!-- <br> --> ISBN 0131510517</para> </listitem> @@ -190,12 +194,6 @@ <!-- <br> --> ISBN 1-56592-079-1</para> </listitem> - <listitem> - <para>Ellis, Margaret A. and Stroustrup, Bjarne. <emphasis>The - Annotated C++ Reference Manual</emphasis>. Addison-Wesley, - 1990. <!-- <br> --> ISBN 0-201-51459-1</para> - </listitem> - <listitem> <para>Harbison, Samuel P. and Steele, Guy L. Jr. <emphasis>C: A Reference Manual</emphasis>. 4rd ed. Prentice Hall, 1995. @@ -209,7 +207,7 @@ </listitem> <listitem> - <para>Lehey, Greg. <emphasis>Port UNIX Software</emphasis>. + <para>Lehey, Greg. <emphasis>Porting UNIX Software</emphasis>. O'Reilly & Associates, Inc., 1995.<!-- <br> --> ISBN 1-56592-126-7</para> </listitem> @@ -226,11 +224,11 @@ Addison-Wesley, 1992<!-- <br> --> ISBN 0-201-56317-7</para> </listitem> - <listitem> - <para>Stevens, W. Richard. <emphasis>UNIX Network - Programming</emphasis>. PTR Prentice Hall, 1990. <!-- <br> - --> ISBN 0-13-949876-1</para> - </listitem> + <listitem> + <para>Stevens, W. Richard. <emphasis>UNIX Network + Programming</emphasis>. 2nd Ed, PTR Prentice Hall, 1998. ISBN + 0-13-490012-X</para> + </listitem> <listitem> <para>Wells, Bill. “Writing Serial Drivers for UNIX”. @@ -288,7 +286,13 @@ 1: The Protocols</emphasis>. Reading, Mass. : Addison-Wesley, 1996.<!-- <br> --> ISBN 0-201-63346-9</para> </listitem> - + + <listitem> + <para>Schimmel, Curt. <emphasis>Unix Systems for Modern + Architectures</emphasis>. Reading, Mass. : Addison-Wesley, + 1994. ISBN 0-201-63338-8</para> + </listitem> + <listitem> <para>Stevens, W. Richard. <emphasis>TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP and the UNIX Domain @@ -322,7 +326,7 @@ <listitem> <para>Cheswick, William R. and Steven M. Bellovin. - <emphasis>Firewalls and Internal Security: Repelling the Wily + <emphasis>Firewalls and Internet Security: Repelling the Wily Hacker</emphasis>. Reading, Mass. : Addison-Wesley, 1995.<!-- <br> --> ISBN 0-201-63357-4</para> </listitem> @@ -352,7 +356,7 @@ <listitem> <para>Anderson, Don and Tom Shanley. <emphasis>Pentium Processor - System Architecture</emphasis>. 2nd ed. Reading, Mass. : + System Architecture</emphasis>. 2nd Ed. Reading, Mass. : Addison-Wesley, 1995.<!-- <br> --> ISBN 0-201-40992-5</para> </listitem> @@ -362,7 +366,14 @@ Mass. : Addison-Wesley, 1995.<!-- <br> --> ISBN 0-201-62490-7</para> </listitem> - + + <listitem> + <para>Intel Corporation publishes documentation on their CPUs, + chipsets and standards on their <ulink + url="http://developer.intel.com/">developer web site</ulink>, + usually as PDF files.</para> + </listitem> + <listitem> <para>Shanley, Tom. <emphasis>80486 System Architecture</emphasis>. 3rd ed. Reading, Mass. : @@ -433,7 +444,7 @@ <listitem> <para><emphasis>The BSD family tree</emphasis>. 1997.<!-- <br> --> <ulink - URL="http://www.de.freebsd.org/de/ftp/unix-stammbaum">http://www.de.freebsd.org/de/ftp/unix-stammbaum</ulink> or <ulink URL="file:/usr/share/misc/bsd-family-tree">local</ulink> on a FreeBSD-current machine.</para> +url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/misc/bsd-family-tree">ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/misc/bsd-family-tree</ulink> or <ulink URL="file:/usr/share/misc/bsd-family-tree">local</ulink> on a FreeBSD-current machine.</para> </listitem> <listitem> @@ -447,7 +458,12 @@ Library</emphasis>.<!-- <br> --> <ulink URL="http://www.ncstrl.org/">http://www.ncstrl.org/</ulink></para> </listitem> - + + <listitem> + <para><emphasis>Old BSD releases from the Computer Systems Research + group (CSRG)</emphasis>. <ulink + url="http://www.mckusick.com/csrg/">http://www.mckusick.com/csrg/</ulink>: The 4CD set covers all BSD versions from 1BSD to 4.4BSD and 4.4BSD-Lite2 (but not 2.11BSD, unfortunately). As well, the last disk holds the final sources plus the SCCS files.</para> + </listitem> </itemizedlist> diff --git a/en_US.ISO8859-1/books/handbook/book.sgml b/en_US.ISO8859-1/books/handbook/book.sgml index be64c759cb..78ff7e72ca 100644 --- a/en_US.ISO8859-1/books/handbook/book.sgml +++ b/en_US.ISO8859-1/books/handbook/book.sgml @@ -3,7 +3,7 @@ <!ENTITY % authors SYSTEM "authors.ent"> %authors; <!ENTITY % mailing-lists SYSTEM "mailing-lists.ent"> %mailing-lists; -<!ENTITY rel.current CDATA "2.2.6"> +<!ENTITY rel.current CDATA "3.0"> ]> <book> @@ -16,7 +16,7 @@ </author> </authorgroup> - <pubdate>March 1998</pubdate> + <pubdate>July 1998</pubdate> <copyright> <year>1995</year> @@ -35,11 +35,12 @@ with this project, send email to the &a.doc; The latest version of this document is always available from the <ulink URL="http://www.FreeBSD.ORG/">FreeBSD World Wide Web server</ulink>. - It may also be downloaded in plain text, postscript or HTML from the - <ulink URL="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/docs">FreeBSD FTP - server</ulink> or one of the numerous <link + It may also be downloaded in <ulink url="handbook.latin1">plain +text</ulink>, <ulink url="handbook.ps">postscript</ulink> or <ulink +url="handbook-html.tar.gz">HTML</ulink> with HTTP or gzip'd from the <ulink +url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/docs/">FreeBSD FTP server</ulink> or one of the numerous <link linkend="mirrors-ftp">mirror sites</link>. You may also want to - <ulink URL="/search.html">Search the Handbook</ulink>.</para> + <ulink URL="http://www.FreeBSD.ORG/search.html">Search the Handbook</ulink>.</para> </abstract> </bookinfo> @@ -58,6 +59,8 @@ &chap.kernelconfig; &chap.security; &chap.printing; + &chap.disks; + &chap.backups; &chap.quotas; &chap.x11; &chap.hw; diff --git a/en_US.ISO8859-1/books/handbook/chapters.ent b/en_US.ISO8859-1/books/handbook/chapters.ent index c302e4c975..db8e88a180 100644 --- a/en_US.ISO8859-1/books/handbook/chapters.ent +++ b/en_US.ISO8859-1/books/handbook/chapters.ent @@ -6,7 +6,7 @@ Chapters should be listed in the order in which they are referenced. - $Id: chapters.ent,v 1.2 1998-11-04 22:38:06 nik Exp $ + $Id: chapters.ent,v 1.3 1998-11-12 01:26:17 nik Exp $ --> <!-- Part one --> @@ -19,6 +19,8 @@ <!ENTITY chap.kernelconfig SYSTEM "kernelconfig/chapter.sgml"> <!ENTITY chap.security SYSTEM "security/chapter.sgml"> <!ENTITY chap.printing SYSTEM "printing/chapter.sgml"> +<!ENTITY chap.disks SYSTEM "disks/chapter.sgml"> +<!ENTITY chap.backups SYSTEM "backups/chapter.sgml"> <!ENTITY chap.quotas SYSTEM "quotas/chapter.sgml"> <!ENTITY chap.x11 SYSTEM "x11/chapter.sgml"> <!ENTITY chap.hw SYSTEM "hw/chapter.sgml"> diff --git a/en_US.ISO8859-1/books/handbook/contrib/chapter.sgml b/en_US.ISO8859-1/books/handbook/contrib/chapter.sgml index 98f4ac936f..c04d625c12 100644 --- a/en_US.ISO8859-1/books/handbook/contrib/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/contrib/chapter.sgml @@ -65,11 +65,6 @@ <itemizedlist> - - <listitem> - <para>Autodetect memory over 64MB properly.</para> - </listitem> - <listitem> <para>Move userconfig (-c) into 3rd stage boot.</para> </listitem> @@ -99,7 +94,7 @@ <listitem> <para>Fix the union file system. Coordinator: - &a.dyson;</para> + &a.dg;</para> </listitem> </itemizedlist> @@ -108,7 +103,7 @@ <listitem> <para>Implement kernel and user vm86 support. Coordinator: - &a.hackers;</para> + &a.jlemon;</para> </listitem> <listitem> @@ -116,33 +111,6 @@ &a.hackers;</para> </listitem> - <listitem> - <para>SCSI driver issues. Overall coordination: - &a.hackers;</para> - - - <itemizedlist> - - <listitem> - <para>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).</para> - </listitem> - - <listitem> - <para>Better error handling (Busy status and - retries).</para> - </listitem> - - <listitem> - <para>Merged Scatter-Gather list creation code.</para> - </listitem> - - </itemizedlist> - - </listitem> - <listitem> <para>Kernel issues. Overall coordination: &a.hackers;</para> @@ -174,25 +142,10 @@ Coordinator: &a.sos;</para> </listitem> - <listitem> - <para>Rewrite the Intel Etherexpress 16 driver.</para> - </listitem> - <listitem> <para>Merge the 3c509 and 3c590 drivers (essentially provide a PCI probe for ep.c).</para> </listitem> - - <listitem> - <para>Support Adaptec 3985 (first as a simple 3 channel - SCSI card) Coordinator: &a.gibbs;</para> - </listitem> - - <listitem> - <para>Support Advansys SCSI controller products. - Coordinator: &a.gibbs;</para> - </listitem> - </itemizedlist> </listitem> @@ -243,7 +196,7 @@ </listitem> <listitem> - <para>PCMCIA/PCCARD. Coordinators: &a.nate; and &a.phk;</para> + <para>PCMCIA/PCCARD. Coordinators: &a.msmith; and &a.phk;</para> <itemizedlist> <listitem> @@ -280,7 +233,7 @@ </listitem> <listitem> - <para>Advanced Power Management. Coordinators: &a.nate; and + <para>Advanced Power Management. Coordinators: &a.msmith; and &a.phk;</para> <itemizedlist> @@ -585,7 +538,7 @@ equivalent</ulink>. Try to fill-in each field of the bug report. Unless they exceed 65KB, include any patches directly in the report. Consider compressing them and using - <citerefentry><refentrytitle>uuencode</refentrytitle><manvolnum>1</manvolnum></citerefentry> if they exceed 20KB.</para> + <citerefentry><refentrytitle>uuencode</refentrytitle><manvolnum>1</manvolnum></citerefentry> if they exceed 20KB. Upload very large submissions to <ulink url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/">ftp.freebsd.org:/pub/FreeBSD/incoming/</ulink>.</para> <para>After filing a report, you should receive confirmation along with a tracking number. Keep this tracking number so that you can @@ -789,7 +742,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. but merely those differences required for running under FreeBSD.</para> <para>What follows are some guidelines for creating a new port for - FreeBSD 3.x. The bulk of the work is done by + FreeBSD. The bulk of the work is done by <filename>/usr/share/mk/bsd.port.mk</filename>, 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 @@ -827,7 +780,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. is already included; if not, add the code:</para> <programlisting> -#ifdef (defined(__unix__) || defined(unix)) && !defined(USG) +#if (defined(__unix__) || defined(unix)) && !defined(USG) #include <sys/param.h> #endif</programlisting> @@ -1164,11 +1117,14 @@ A cat chasing a mouse all over the screen.</programlisting> sufficient.</para> <note> - <para>This is <emphasis>not</emphasis> a manual nor an - in-depth description on how to use or compile the port. In - particular, <emphasis>please do not just copy the - <filename>README</filename> file here</emphasis>, unless, - of course, it is a concise description of the port.</para> + <para>This is <emphasis>not</emphasis> a manual or an + in-depth description on how to use or compile the port! + <emphasis>Please be careful if you are copying from the + <filename>README</filename> or manpage</emphasis>; too often + they are not a concise description of the port or are in an + awkward format (e.g., manpages have justified spacing). If the + ported software has an official WWW homepage, you should list + it here.</para> </note> <para>It is recommended that you sign the name at the end of @@ -1180,6 +1136,8 @@ the screen. : (etc.) +http://www.oneko.org/ + - Satoshi asami@cs.berkeley.edu</programlisting> @@ -1193,14 +1151,14 @@ asami@cs.berkeley.edu</programlisting> generated by packing the files listed here. The pathnames are relative to the installation prefix (usually <filename>/usr/local</filename> or - <filename>/usr/X11R6</filename>). Also it is assumed the - manpages will be compressed.</para> + <filename>/usr/X11R6</filename>). If you are using the + <makevar>MAN<replaceable>n</replaceable></makevar> variables (as + you should be), do not list any manpages here.</para> <para>Here is a small example:</para> <programlisting> bin/oneko -man/man1/oneko.1.gz lib/X11/app-defaults/Oneko lib/X11/oneko/cat1.xpm lib/X11/oneko/cat2.xpm @@ -1238,20 +1196,40 @@ lib/X11/oneko/mouse.xpm</programlisting> <sect4 id="porting-submitting"> <title>Submitting the port</title> - + + <para>First, make sure you have read the <link + linkend="porting-dads">Do's and Dont's</link> section.</para> + <para>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 <emphasis>not</emphasis> include the original - source tarball, the <filename>work</filename> - subdirectory or the package) into a - <filename>.tar.gz</filename> file, stick it in the directory - <filename>ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/</filename> and send mail to us using - <citerefentry><refentrytitle>send-pr</refentrytitle><manvolnum>1</manvolnum></citerefentry> (please classify it as category - <literal>ports</literal> and class <literal>change-request</literal>). There is no need to - upload the package, we will build it by ourselves. We will - take a look, get back to you if necessary, and put it in the + everybody else happy about it too. We do not need your + <filename>work</filename> directory or the + <filename>pkgname.tgz</filename> package, so delete them + now. Next, simply include the output of <command>shar `find + port_dir`</command> in a bug report and send it with the + <citerefentry> + <refentrytitle>send-pr</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> program. If the uncompressed port is larger than + 20KB, you should compress it into a tarfile and use <citerefentry> + <refentrytitle>uuencode</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> before including it in the bug report (uuencoded + tarfiles are acceptable even if the bug report is smaller than + 20KB but are not preferred). Be sure to classify the bug report as + category <literal>ports</literal> and class + <literal>change-request</literal>.</para> + + <para>One more time, <emphasis>do not include the original source + distfile, the <filename>work</filename> directory, or the + package you built with <command>make + package</command></emphasis>.</para> + + <para>See <link linkend="contrib-general">Bug Reports and General + Commentary</link> for more information.</para> + + <para>We will look at your port, + 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?!? <!-- smiley -->:)</para> @@ -1296,7 +1274,7 @@ lib/X11/oneko/mouse.xpm</programlisting> </step> <step> - <para>The <maketarget>extract</maketarget> target is run. It looks for your ports' + <para>The <maketarget>extract</maketarget> target is run. It looks for your port's distribution file in <makevar>DISTDIR</makevar> (typically a gzip'd tarball) and unpacks it into a temporary subdirectory specified by <makevar>WRKDIR</makevar> @@ -1405,7 +1383,13 @@ lib/X11/oneko/mouse.xpm</programlisting> <para>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 + non-standard formats, you might want to put a copy on a + reliable http or ftp server that you control. If you are a FreeBSD + committer, your <filename>public_html</filename> directory on + <hostid>freefall</hostid> is ideal. Make sure you set + <makevar>MASTER_SITE</makevar> to reflect your choice. If you + cannot find somewhere convenient and reliable to put the distfile, + we can “house” it ourselves by putting it on <filename>ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/LOCAL_PORTS/</filename> as the last resort. Please refer to this location as <makevar>MASTER_SITE_LOCAL</makevar>. Send mail to the &a.ports;if you are not sure what to do.</para> @@ -1545,7 +1529,7 @@ DISTNAME=foozolix-1.0</programlisting>.</para> into a subdirectory called <filename>work/<makevar>DISTNAME</makevar></filename>, e.g. <filename>work/foozolix-1.0/</filename>.</para> - <para>All this behavior can be overridden, of course, it simply + <para>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 <makevar>DISTFILES</makevar> explicitly. If only a subset of <makevar>DISTFILES</makevar> are @@ -1907,7 +1891,168 @@ FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2</programlisting> </note> </sect4> </sect3> + + <sect3> + <title>ELF support</title> + + <para>Since FreeBSD is moving to ELF from 3.0-release onwards, + we need to convert many ports that build shared libraries + to support ELF. Complicating this task is that a 3.0 + system can run as both ELF and a.out, and that there will + be one more release (2.2.8) from the 2.2 branch. Below + are the guidelines on how to convert a.out only ports to + support both a.out and ELF compilation.</para> + + <para>Some part of this list is only applicable during the + conversion, but will be left here for awhile for reference + in case you have come across some old port you wish to + upgrade.</para> + + <sect4> + <title>Moving a.out libraries out of the way</title> + + <para>A.out libraries should be moved out of + <filename>/usr/local/lib</filename> and similar to an + <filename>aout</filename> subdirectory. (If you don't move them + out of the way, ELF ports will happily overwrite a.out libraries.) + The <maketarget>move-aout-libs</maketarget> target in the -current + <filename>src/Makefile</filename> (called from + <maketarget>aout-to-elf</maketarget>) will do this for you. It + will only move a.out libs so it is safe to call it on a system + with both ELF and a.out libs in the standard directories.</para> + </sect4> + + <sect4> + <title>Format</title> + + <para>The ports tree will build packages in the format the machine + is in. This means a.out for 2.2 and a.out or ELF for 3.0 depending + on what <command>`objformat`</command> returns. Also, once users + move a.out libraries to a subdirectory, building a.out libraries + will be unsupported. (I.e., it may still work if you know what you + are doing, but you are on your own.)</para> + + <note> + <para>If a port only works for a.out, set + <makevar>BROKEN_ELF</makevar> to a string describing the reason + why. Such ports will be skipped during a build on an ELF + system.</para> + </note> + </sect4> + + <sect4> + <title><makevar>PORTOBJFORMAT</makevar></title> + + <para><filename>bsd.port.mk</filename> will set + <makevar>PORTOBJFORMAT</makevar> to <literal>aout</literal> or + <literal>elf</literal> and export it in the environments + <envar>CONFIGURE_ENV</envar>, <envar>SCRIPTS_ENV</envar> and + <envar>MAKE_ENV</envar>. (It's always going to be + <literal>aout</literal> in -stable). It is also passed to + <maketarget>PLIST_SUB</maketarget> as + <literal>PORTOBJFORMAT=${PORTOBJFORMAT}</literal>. (See comment + on <literal>ldconfig</literal> lines below.)</para> + + <para>The variable is set using this line in + <filename>bsd.port.mk</filename>:</para> + <programlisting> +PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout</programlisting> + + <para>Ports' make processes should use this variable to decide what + to do. However, if the port's <filename>configure</filename> + script already automatically detects an ELF system, it is not + necessary to refer to <makevar>PORTOBJFORMAT</makevar>.</para> + </sect4> + + <sect4> + <title>Building shared libraries</title> + + <para>The following are differences in handling shared + libraries for a.out and ELF.</para> + + <itemizedlist> + <listitem> + <para>Shared library versions</para> + + <para>An ELF shared library should be called + <filename>libfoo.so.<replaceable>M</replaceable></filename> + where <replaceable>M</replaceable> is the single version + number, and an a.out library should be called + <filename>libfoo.so.<replaceable>M</replaceable>.<replaceable>N</replaceable></filename> where <replaceable>M</replaceable> is the major version and <replaceable>N</replaceable> is the the minor version number. Do not mix those; <emphasis>never</emphasis> install an ELF shared library called <filename>libfoo.so.<replaceable>N</replaceable>.<replaceable>M</replaceable></filename> or an a.out shared library (or symlink) called <filename>libfoo.so.<replaceable>N</replaceable></filename>.</para> + </listitem> + + <listitem> + <para>Linker command lines</para> + + <para>Assuming <command>cc -shared</command> is used rather than + <command>ld</command> directly, the only difference is that + you need to add + <option>-Wl,-<replaceable>soname,libfoo.so.M</replaceable></option> on the command line for ELF.</para> + </listitem> + </itemizedlist> + + <para>You need to install a symlink from + <filename>libfoo.so</filename> to + <filename>libfoo.so.<replaceable>N</replaceable></filename> to + make ELF linkers happy. Since it should be listed in + <filename>PLIST</filename> too, and it won't hurt in the a.out + case (some ports even require the link for dynamic loading), you + should just make this link regardless of the setting of + <makevar>PORTOBJFORMAT</makevar>.</para> + </sect4> + + <sect4> + <title><makevar>LIB_DEPENDS</makevar></title> + + <para>All port Makefiles are edited to remove minor numbers from + <makevar>LIB_DEPENDS</makevar>, and also to have the regexp + support removed. (E.g., <literal>foo\\.1\\.\\(33|40\\)</literal> + becomes <literal>foo.2</literal>.) They will be matched using + <command>grep -wF</command>.</para> + </sect4> + + <sect4> + <title><filename>PLIST</filename></title> + + <para><filename>PLIST</filename> should contain the short (ELF) + shlib names if the a.out minor number is zero, and the long + (a.out) names otherwise. <filename>bsd.port.mk</filename> will + automatically add <literal>.0</literal> to the end of short shlib + lines if <makevar>PORTOBJFORMAT</makevar> equals + <literal>aout</literal>, and will delete the minor number from + long shlib names if <makevar>PORTOBJFORMAT</makevar> equals + <literal>elf</literal>.</para> + + <para>In cases where you really need to install shlibs with two + versions on an ELF system or those with one version on an a.out + system (for instance, ports that install compatibility libraries + for other operating systems), define the variable + <makevar>NO_FILTER_SHLIBS</makevar>. This will turn off the + editing of <filename>PLIST</filename> mentioned in the previous + paragraph.</para> + </sect4> + + <sect4> + <title><literal>ldconfig</literal></title> + + <para>The <literal>ldconfig/ line in Makefiles should read:</literal></para> + + <programlisting> +${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....</programlisting> + + <para>In <filename>PLIST</filename> it should read;</para> + + <programlisting> +@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m ... +@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R</programlisting> + + <para>This is to ensure that the correct <command>ldconfig</command> + will be called depending on the format of the package, not the + default format of the system.</para> + </sect4> + </sect3> + <sect3> <title>Info files</title> @@ -2199,7 +2344,25 @@ diff -u -r1.15 PLIST </sect3> - + + <sect3> + <title>Changing the <filename>PLIST</filename> based on <citerefentry> + <refentrytitle>make</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> variables</title> + + <para>Some ports, particularly the <filename>p5-</filename> ports, + need to change their <filename>PLIST</filename> depending on what + options they are configured with (or version of perl, in the case of + <filename>p5-</filename> ports). To make this easy, any instances in + the <filename>PLIST</filename> of <literal>%%OSREL%%</literal>, + <literal>%%PERL_VER%%</literal>, and + <literal>%%PERL_VERSION%%</literal> will be substituted for + appropriately. If you need to make other substitutions, you can set + the <makevar>PLIST_SUB</makevar> variable with a list of + <literal><replaceable>VAR</replaceable>=<replaceable>VALUE</replaceable></literal> pairs and instances of <literal>%%<replaceable>VAR</replaceable>%%</literal> will be substituted with <replaceable>VALUE</replaceable> in the <filename>PLIST</filename>.</para> + </sect3> + <sect3> <title>Licensing Problems</title> @@ -2283,7 +2446,7 @@ diff -u -r1.15 PLIST any such person to begin with, please make the upgrade and send the recursive diff (either unified or context diff is fine, but port committers appear to prefer unified diff more) of the new - and old ports directories to us (i.e., if your modified ports + and old ports directories to us (e.g., if your modified port directory is called <filename>superedit</filename> and the original as in our tree is <filename>superedit.bak</filename>, then send us the result of @@ -2300,10 +2463,16 @@ diff -u -r1.15 PLIST </sect3> <sect3> - <title>Do's and Dont's</title> + <title><anchor id="porting-dads">Do's and Dont's</title> <para>Here is a list of common do's and dont's that you encounter - during the porting process.</para> + during the porting process.You should check your own port + against this list, but you can also check ports in the PR + database that others have submitted. Submit any comments on + ports you check as described in <link linkend="contrib-general">Bug + Reports and General Commentary</link>. Checking ports in + the PR database will both make it faster for us to commit them, + and prove that you know what you are doing.</para> <sect4> @@ -2319,131 +2488,129 @@ diff -u -r1.15 PLIST to the <filename>work</filename> subdirectory.</para> </sect4> - - <sect4> - <title>Package information</title> - - <para>Do include package information, i.e. - <filename>COMMENT</filename>, <filename>DESCR</filename>, and - <filename>PLIST</filename>, in <filename>pkg</filename>.</para> - <note> - <para>Note that these files are not used only for packaging - anymore, and are <emphasis>mandatory</emphasis> now, even if - <makevar>NO_PACKAGE</makevar> is - set.</para> - </note> - </sect4> - - <sect4> - <title>Compress manpages, strip binaries</title> - - <para>Do compress manpages and strip binaries. If the original - source already strips the binary, fine; otherwise, you can add - a <maketarget>post-install</maketarget> rule to do it - yourself. Here is an example:</para> + <sect4> + <title>Portlint Clean</title> - <programlisting> + <para>Do use <command>portlint</command>! The <ulink + url="http://www.freebsd.org/cgi/ports.cgi?portlint">portlint</ulink> program is part of the ports collection.</para> + </sect4> + + <sect4> + <title>Strip Binaries</title> + + <para>Do strip binaries. If the original source already strips the + binaries, fine; otherwise you should add a + <literal>post-install</literal> rule to to it yourself. Here is an + example;</para> + + <programlisting> post-install: strip ${PREFIX}/bin/xdl</programlisting> - - <para>Use the <command>file</command> command on the - installed executable to check whether the binary is stripped - or not. If it does not say `not stripped', it is - stripped.</para> - - <para>To automagically compress the manpages, use the <makevar>MAN[1-9LN]</makevar> - variables. They will check the variable - <makevar>NOMANCOMPRESS</makevar> that the user can set in - <filename>/etc/make.conf</filename> to disable man page - compression. Place them last in the section below the - <makevar>MAINTAINER</makevar> variable. Here is an example:</para> - <programlisting> + <para>Use the <citerefentry> + <refentrytitle>file</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> command on the installed executable to check + whether the binary is stripped or not. If it does not say + <literal>not stripped</literal>, it is stripped.</para> + </sect4> + + <sect4> + <title>Correctly Install Manpages</title> + + <para>Do use the <makevar>MAN<replaceable>n</replaceable></makevar> + variables. These variables, will automatically add any manpages + to <filename>pkg/PLIST</filename> (this means you must + <emphasis>not</emphasis> list manpages in the + <filename>PLIST</filename>) and automatically compress manpages + (unless <makevar>NOMANCOMPRESS</makevar> is set in + <filename>/etc/make.conf</filename>). If your port installs + pre-compressed manpages, you must define the + <makevar>MANCOMPRESSED</makevar> variable.</para> + + <programlisting> MAN1= foo.1 bar.1 MAN5= foo.conf.5 MAN8= baz.8</programlisting> - <note> - <para>This is not usually necessary with ports that are X - applications and use Imake to build.</para> - </note> - - <para>If your port anchors its man tree somewhere other than - <makevar>PREFIX</makevar>, you can use the - <makevar>MANPREFIX</makevar> 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 - <makevar>MAN<replaceable>sect</replaceable>PREFIX</makevar> - (where <replaceable>sect</replaceable> is one of 1-9, L or - N).</para> - - </sect4> - - <sect4> - <title><makevar>INSTALL_*</makevar> macros</title> - - <para>Do use the macros provided in - <filename>bsd.port.mk</filename> to ensure correct modes and - ownership of files in your own *-install targets. They - are:</para> - - - <itemizedlist> - - <listitem> - <para><makevar>${INSTALL_PROGRAM}</makevar> is - a command to install binary executables.</para> - </listitem> - - <listitem> - <para><makevar>${INSTALL_SCRIPT}</makevar> is a - command to install executable scripts.</para> - </listitem> - - <listitem> - <para><makevar>${INSTALL_DATA}</makevar> is a - command to install sharable data.</para> - </listitem> - - <listitem> - <para><makevar>${INSTALL_MAN}</makevar> is a - command to install manpages and other documentation (it - doesn't compress anything).</para> - </listitem> - - </itemizedlist> - - - <para>These are basically the <command>install</command> command with all the appropriate - flags. See below for an example on how to use them.</para> - - </sect4> - - <sect4> - <title><filename>INSTALL</filename> package script</title> - - <para>If your port needs execute commands when the binary - package is installed with pkg_add you can do with via the - <filename>pkg/INSTALL</filename> script. This script will - automatically be added to the package, and will be run twice - by pkg_add. The first time will as <command>INSTALL ${PKGNAME} PRE-INSTALL</command> and the - second time as <command>INSTALL ${PKGNAME} - POST-INSTALL</command>. <literal>$2</literal> can be tested to determine which - mode the script is being run in. The - <envar>PKG_PREFIX</envar> environmental variable will be - set to the package installation directory. See man - <citerefentry><refentrytitle>pkg_add</refentrytitle><manvolnum>1</manvolnum></citerefentry> for additional - information.</para> + <note> + <para>This is not usually necessary with ports that are X + applications and use <command>Imake</command> to build.</para> + </note> + + <para>If your port anchors its man tree somewhere other than + <makevar>PREFIX</makevar>, you can use the + <makevar>MANPREFIX</makevar> 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 + <makevar>MAN<replaceable>sect</replaceable>PREFIX</makevar> (where + <replaceable>sect</replaceable> is one of <literal>1-9</literal>, + <literal>L</literal> or <literal>N</literal>).</para> + </sect4> - <note> - <para>This script is not run automatically if you install the - port with <command>make install</command>. If you are - depending on it being run, you will have to explicitly call - it on your port's <filename>Makefile</filename>.</para> - </note> - </sect4> + <sect4> + <title>INSTALL_* macros</title> + + <para>Do use the macros provided in <filename>bsd.port.mk</filename> + to ensure correct modes and ownership of files in your own + <maketarget>*-install</maketarget> targets. They are:</para> + <itemizedlist> + <listitem> + <para><makevar>INSTALL_PROGRAM</makevar> is a command to install + binary executables.</para> + </listitem> + + <listitem> + <para><makevar>INSTALL_SCRIPT</makevar> is a command to install + executable scripts.</para> + </listitem> + + <listitem> + <para><makevar>INSTALL_DATA</makevar> is a command to install + sharable data.</para> + </listitem> + + <listitem> + <para><makevar>INSTALL_MAN</makevar> is a command to install + manpages and other documentation (it doesn't compress + anything).</para> + </listitem> + </itemizedlist> + + <para>These are basically the <command>install</command> command + with all the appropriate flags. See below for an example on how + to use them.</para> + </sect4> + + <sect4> + <title><filename>INSTALL</filename> package script</title> + + <para>If your port needs execute commands when the binary package is + installed with pkg_add you can do with via the + <filename>pkg/INSTALL</filename> script. This script will + automatically be added to the package, and will be run twice by + <command>pkg_add</command>. The first time will as + <command>INSTALL ${PKGNAME} PRE-INSTALL</command> and the second + time as <command>INSTALL ${PKGNAME} POST-INSTALL</command>. + <literal>$2</literal> can be tested to determine which mode + the script is being run in.</para> + + <para>The <envar>PKG_PREFIX</envar> environmental variable will be + set to the package installation directory. See <citerefentry> + <refentrytitle>pkg_add</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> for additional information.</para> + + <note> + <para>This script is not run automatically if you install the port + with <command>make install</command>. If you are depending on it + being run, you will have to explicitly call it on your port's + <filename>Makefile</filename>.</para> + </note> + </sect4> + <sect4> <title><filename>REQ</filename> package script</title> @@ -2456,7 +2623,7 @@ MAN8= baz.8</programlisting> <citerefentry><refentrytitle>pkg_add</refentrytitle><manvolnum>1</manvolnum></citerefentry> for more information.</para> </sect4> - + <sect4> <title>Install additional documentation</title> @@ -2500,7 +2667,7 @@ post-install: to <filename>pkg/PLIST</filename>).</para> </note> </sect4> - + <sect4> <title><makevar>DIST_SUBDIR</makevar></title> @@ -2526,6 +2693,21 @@ post-install: Makefile.</para> </note> </sect4> + + <sect4> + <title>Package information</title> + + <para>Do include package information, i.e. + <filename>COMMENT</filename>, <filename>DESCR</filename>, and + <filename>PLIST</filename>, in <filename>pkg</filename>.</para> + + <note> + <para>Note that these files are not used only for packaging + anymore, and are <emphasis>mandatory</emphasis> now, even if + <makevar>NO_PACKAGE</makevar> is + set.</para> + </note> + </sect4> <sect4> <title>Feedback</title> @@ -2560,7 +2742,7 @@ post-install: should be deleted. Also, if you had to delete a file, then you can do it in the <maketarget>post-extract</maketarget> target rather than as part of the patch. Once you are happy - with the resuling diff, please split it up into one source + with the resulting diff, please split it up into one source file per patch file.</para> </sect4> @@ -2570,7 +2752,7 @@ post-install: <para>Do try to make your port install relative to <makevar>PREFIX</makevar>. (The value of this variable will be set to <makevar>LOCALBASE</makevar> (default - <filename>/usr/local</filename>), unless <makevar>USE_IMAKE</makevar> or <makevar>USE_X11</makevar> is set, in which case it + <filename>/usr/local</filename>), unless <makevar>USE_X_PREFIX</makevar> or <makevar>USE_IMAKE</makevar> is set, in which case it will be <makevar>X11BASE</makevar> (default <filename>/usr/X11R6</filename>).)</para> @@ -2585,14 +2767,16 @@ post-install: read <makevar>PREFIX</makevar>, as this variable is automatically passed down to every stage of the build and install processes.</para> - + + <para>Do not set <makevar>USE_X_PREFIX</makevar> unless your port + truly require it (i.e., it links against X libs or it needs to + reference files in <makevar>X11BASE</makevar>.</para> + <para>The variable <makevar>PREFIX</makevar> - can be reassigned in your Makefile or in the user's + can be reassigned in your <filename>Makefile</filename> 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 <command>imake</command>, - set <literal>USE_X11=yes</literal>; this is quite different - from setting <literal>PREFIX=/usr/X11R6</literal>.)</para> + <filename>Makefiles</filename>.</para> <para>Also, refer to programs/files from other ports with the variables mentioned above, not explicit pathnames. For @@ -2672,14 +2856,17 @@ lib/libtcl80.so.1.0 <sect4> <title>UIDs</title> - <para>If your port requires a certain user ID to be on the + <para>If your port requires a certain user to be on the installed system, let the <filename>pkg/INSTALL</filename> script call <command>pw</command> to create it - automatically. Look at <filename>japanese/Wnn</filename> or - <filename>net/cvsup-mirror</filename> for examples. It is - customary to use UIDs in the upper 2-digit range (i.e., from - around 50 to 99) for this purpose.</para> - + automatically. Look at <filename>net/cvsup-mirror</filename> + for an example.</para> + + <para>If your port must use the same user/group ID number when it is + installed a binarypackage as when it was compiled, then you mus + choose a free UID from 50 to 99 and register it below. Look at + <filename>japanese/Wnn</filename> for an example.</para> + <para>Make sure you don't use a UID already used by the system or other ports. This is the current list of UIDs between 50 and 99.</para> @@ -2704,12 +2891,51 @@ qmailp:*:84:81:QMail user:/var/qmail:/nonexistent qmailr:*:86:82:QMail user:/var/qmail:/nonexistent msql:*:87:87:mSQL-2 pseudo-user:/var/db/msqldb:/bin/sh</programlisting> - <para>Please send a notice to &a.ports; if you submit or commit - a port that allocates a new UID in this range so we can keep - this list up to date.</para> + <para>Please include a notice when you submit a port (or an + upgrade) that reserves a new UID or GID in this range. This allows + us to keep the list of reserved IDs up to date.</para> </sect4> - + + <sect4> + <title>Doing things rationally</title> + + <para>The <filename>Makefile</filename> should do things simply and + reasonably. If you can make it a couple of lines shorter or more + readable, then do so. Examples include using a make + <literal>.if</literal> construct instead of a shell + <literal>if</literal> construct, not redefining + <maketarget>do-extract</maketarget> if you can redefine + <makevar>EXTRACT*</makevar> instead, and using + <makevar>GNU_CONFIGURE</makevar> instead of + <literal>CONFIGURE_ARGS += + --prefix=${PREFIX}</literal>.</para> + </sect4> + + <sect4> + <title>Respect <makevar>CFLAGS</makevar></title> + + <para>The port should respect the <makevar>CFLAGS</makevar> + variable. If it doesn't, please add <literal>NO_PACKAGE=ignores + cflags</literal> to the <filename>Makefile</filename>.</para> + </sect4> + + <sect4> + <title>Miscellanea</title> + + <para>The files <filename>pkg/DESCR</filename>, + <filename>pkg/COMMENT</filename>, and + <filename>pkg/PLIST</filename> should each be double-checked. If + you are reviewing a port and feel they can be worded better, do + so.</para> + + <para>Don't copy more copies of the GNU General Public License into + our system, please.</para> + + <para>Please be careful to note any legal issues! Don't let us + illegally distribute software!</para> + </sect4> + <sect4> <title>If you are stuck....</title> @@ -2721,8 +2947,8 @@ msql:*:87:87:mSQL-2 pseudo-user:/var/db/msqldb:/bin/sh</programlisting> beat your head against a wall! <!-- smiley --><emphasis>:)</emphasis></para> </sect4> - </sect3> - + </sect3> + <sect3 id="porting-samplem"> <title>A Sample <filename>Makefile</filename></title> @@ -2852,9 +3078,15 @@ pre-install: 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 <literal>kinput2</literal>).</para> + lowercase. If the capital letters are + important to the name (for example, with one-letter names + like <literal>R</literal> or <literal>V</literal>) you may use capital letters at your discretion. + There is a tradition of naming Perl 5 modules by prepending + <literal>p5-</literal> and converting the double-colon separator to a hyphen; + for example, the <literal>Data::Dumper</literal> module becomes + <literal>p5-Data-Dumper</literal>. If the software in question has numbers, + hyphens, or underscores in its name, you may include them as + well (like <literal>kinput2</literal>).</para> </listitem> <listitem> @@ -2988,7 +3220,19 @@ pre-install: version.</para> </sect3> - + + <sect3> + <title>Changes to this document and the ports system</title> + + <para>If you maintain a lot of ports, you should consider following + the <email>ports@FreeBSD.ORG</email> mailing-list. Important changes to + the way ports work will be announced there. You can always + find more detailed information on the latest changes by + looking at <ulink + url="http://www.FreeBSD.ORG/cgi/cvsweb.cgi/src/share/mk/bsd.port.mk"> + the bsd.port.mk CVS log</ulink>.</para> + </sect3> + <sect3> <title>That is It, Folks!</title> @@ -3001,7 +3245,7 @@ pre-install: <!-- smiley --><emphasis>:)</emphasis></para> </sect3> - </sect2> + </sect2> <sect2> <title>Money, Hardware or Internet access</title> @@ -3014,7 +3258,7 @@ pre-install: <sect3> - <title>Donating funds</title> + <title><anchor id="donations">Donating funds</title> <para>While the FreeBSD Project is not a 501(C3) (non-profit) corporation and hence cannot offer special tax incentives for @@ -3022,7 +3266,7 @@ pre-install: accepted on behalf of the project by FreeBSD, Inc.</para> <para>FreeBSD, Inc. was founded in early 1995 by &a.jkh; and - &a.davidg; with the goal of furthering the aims of the FreeBSD + &a.dg; 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 @@ -3038,7 +3282,10 @@ pre-install: <city>Concord</city> <state>CA</state>, <postcode>94520</postcode> </address> - + + <para>(currently using the Walnut Creek CDROM address until a PO +box can be opened)</para> + <para>Wire transfers may also be sent directly to:</para> <address> @@ -3086,7 +3333,7 @@ pre-install: 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 + donation, please contact &a.dg; for information on which items are still required.</para> </listitem> @@ -3112,7 +3359,7 @@ pre-install: </sect3> </sect2> - </sect1> + </sect1> <sect1 id="donors"> <title>Donors Gallery</title> @@ -3202,7 +3449,11 @@ pre-install: <listitem> <para>Sean Eric Fagan</para> </listitem> - + + <listitem> + <para>Don Scott Wilde</para> + </listitem> + <listitem> <para>Gianmarco Giovannelli <email>gmarco@masternet.it</email></para> @@ -3212,7 +3463,10 @@ pre-install: <para>Josef C. Grosch <email>joeg@truenorth.org</email></para> </listitem> - + + <listitem> + <para>Robert T. Morris</para> + </listitem> <listitem> <para>Chuck Robey <email>chuckr@freebsd.org</email></para> @@ -3400,9 +3654,9 @@ pre-install: Science Research Group (CSRG) at the University of California, Berkeley and associated academic contributors.</para> - <para>There are also portions of NetBSD that have been integrated into + <para>There are also portions of NetBSD and OpenBSD that have been integrated into FreeBSD as well, and we would therefore like to thank all the - contributors to NetBSD for their work.</para> + contributors to NetBSD and OpenBSD for their work.</para> </sect1> @@ -3413,11 +3667,6 @@ pre-install: <itemizedlist> - - <listitem> - <para>A JOSEPH KOSHY <email>koshy@india.hp.com</email></para> - </listitem> - <listitem> <para>ABURAYA Ryushirou <email>rewsirow@ff.iij4u.or.jp</email></para> </listitem> @@ -3429,7 +3678,11 @@ pre-install: <listitem> <para>Adam Glass <email>glass@postgres.berkeley.edu</email></para> </listitem> - + + <listitem> + <para>Adam McDougall <email>mcdouga9@egr.msu.edu</email></para> + </listitem> + <listitem> <para>Adrian T. Filipi-Martin <email>atf3r@agate.cs.virginia.edu</email></para> </listitem> @@ -3445,7 +3698,11 @@ pre-install: <listitem> <para>Alan Cox <email>alc@cs.rice.edu</email></para> </listitem> - + + <listitem> + <para>Amancio Hasty <email>ahasty@freebsd.org</email></para> + </listitem> + <listitem> <para>Andreas Kohout <email>shanee@rabbit.augusta.de</email></para> </listitem> @@ -3453,7 +3710,11 @@ pre-install: <listitem> <para>Andreas Lohr <email>andreas@marvin.RoBIN.de</email></para> </listitem> - + + <listitem> + <para>Andrew Gallatin <email>gallatin@cs.duke.edu</email></para> + </listitem> + <listitem> <para>Andrew Gordon <email>andrew.gordon@net-tel.co.uk</email></para> </listitem> @@ -3489,7 +3750,11 @@ pre-install: <listitem> <para>Angelo Turetta <email>ATuretta@stylo.it</email></para> </listitem> - + + <listitem> + <para>Anthony C. Chavez <email>magus@xmission.com</email></para> + </listitem> + <listitem> <para>Anthony Yee-Hang Chan <email>yeehang@netcom.com</email></para> </listitem> @@ -3505,11 +3770,19 @@ pre-install: <listitem> <para>Bernd Rosauer <email>br@schiele-ct.de</email></para> </listitem> - + + <listitem> + <para>Bill Fumerola <email>billf@jade.chc-chimes.com</email></para> + </listitem> + <listitem> <para>Bill Kish <email>kish@osf.org</email></para> </listitem> - + + <listitem> + <para>Brandon Gillespie <email>brandon@roguetrader.com</email></para> + </listitem> + <listitem> <para>&a.wlloyd;</para> </listitem> @@ -3549,7 +3822,11 @@ pre-install: <listitem> <para>Bruce Gingery <email>bgingery@gtcs.com</email></para> </listitem> - + + <listitem> + <para>Bruce Mah <email>bmah@ca.sandia.gov</email></para> + </listitem> + <listitem> <para>Carey Jones <email>mcj@acquiesce.org</email></para> </listitem> @@ -3569,7 +3846,11 @@ pre-install: <listitem> <para>Chet Ramey <email>chet@odin.INS.CWRU.Edu</email></para> </listitem> - + + <listitem> + <para>Chia-liang Kao <email>clkao@CirX.ORG</email></para> + </listitem> + <listitem> <para>Chris Dabrowski <email>chris@vader.org</email></para> </listitem> @@ -3605,7 +3886,12 @@ pre-install: <listitem> <para>Christoph Robitschko <email>chmr@edvz.tu-graz.ac.at</email></para> </listitem> - + + <listitem> + <para>Christopher T. Johnson + <email>cjohnson@neunacht.netgsi.com</email></para> + </listitem> + <listitem> <para>Choi Jun Ho <email>junker@jazz.snu.ac.kr</email></para> </listitem> @@ -3667,7 +3953,7 @@ pre-install: </listitem> <listitem> - <para>Dave Chapeskie <email>dchapes@zeus.leitch.com</email></para> + <para>Dave Chapeskie <email>dchapes@ddm.on.ca</email></para> </listitem> <listitem> @@ -3702,14 +3988,18 @@ pre-install: <para>Dirk Froemberg <email>dirk@hal.in-berlin.de</email></para> </listitem> - <listitem> - <para>Dmitrij Tejblum <email>dima@tejblum.dnttm.rssi.ru</email></para> - </listitem> - <listitem> <para>Dmitry Kohmanyuk <email>dk@farm.org</email></para> </listitem> - + + <listitem> + <para>Dom Mitchell <email>dom@myrddin.demon.co.uk</email></para> + </listitem> + + <listitem> + <para>Don Croyle <email>croyle@gelemna.ft-wayne.in.us</email></para> + </listitem> + <listitem> <para>&a.whiteside;</para> </listitem> @@ -3719,7 +4009,7 @@ pre-install: </listitem> <listitem> - <para>Donald Burr <email>d_burr@ix.netcom.com</email></para> + <para>Donald Maddox <email>dmaddox@scsn.net</email></para> </listitem> <listitem> @@ -3729,10 +4019,15 @@ pre-install: <listitem> <para>Douglas Carmichael <email>dcarmich@mcs.com</email></para> </listitem> - - <listitem> - <para>Eiji-usagi-MATSUmoto <email>usagi@ruby.club.or.jp</email></para> - </listitem> + + <listitem> + <para>Eckart “Isegrim” Hofmann + <email>Isegrim@Wunder-Nett.org</email></para> + </listitem> + + <listitem> + <para>Eiji-usagi-MATSUmoto <email>usagi@clave.gr.jp</email></para> + </listitem> <listitem> <para>ELISA Font Project</para> @@ -3773,7 +4068,11 @@ pre-install: <listitem> <para>Frank Nobis <email>fn@trinity.radio-do.de</email></para> </listitem> - + + <listitem> + <para>Frank Volf <email>volf@oasis.IAEhv.nl</email></para> + </listitem> + <listitem> <para>FUJIMOTO Kensaku <email>fujimoto@oscar.elec.waseda.ac.jp</email></para> </listitem> @@ -3793,11 +4092,28 @@ pre-install: <listitem> <para>Gerard Roudier <email>groudier@club-internet.fr</email></para> </listitem> - + + <listitem> + <para>Gilad Rom <email>rom_glsa@ein-hashofet.co.uk</email></para> + </listitem> + + <listitem> + <para>Ginga Kawaguti + <email>ginga@amalthea.phys.s.u-tokyo.ac.jp</email></para> + </listitem> + <listitem> <para>Greg Ungerer <email>gerg@stallion.oz.au</email></para> </listitem> - + + <listitem> + <para>Hans Huebner <email>hans@artcom.de</email></para> + </listitem> + + <listitem> + <para>Hans Petter Bieker <email>hanspb@persbraten.vgs.no</email></para> + </listitem> + <listitem> <para>Harlan Stenn <email>Harlan.Stenn@pfcs.com</email></para> </listitem> @@ -3829,11 +4145,23 @@ pre-install: <listitem> <para>Holger Veit <email>Holger.Veit@gmd.de</email></para> </listitem> - + + <listitem> + <para>HONDA Yasuhiro <email>honda@kashio.info.mie-u.ac.jp</email></para> + </listitem> + + <listitem> + <para>Horance Chou <email>horance@freedom.ie.cycu.edu.tw</email></para> + </listitem> + <listitem> <para>Hung-Chi Chu <email>hcchu@r350.ee.ntu.edu.tw</email></para> </listitem> - + + <listitem> + <para>Ian Struble <email>ian@broken.net</email></para> + </listitem> + <listitem> <para>Ian Vaudrey <email>i.vaudrey@bigfoot.com</email></para> </listitem> @@ -3857,7 +4185,11 @@ pre-install: <listitem> <para>Issei Suzuki <email>issei@t-cnet.or.jp</email></para> </listitem> - + + <listitem> + <para>Iseei Suzuki <email>issei@jp.FreeBSD.ORG</email></para> + </listitem> + <listitem> <para>Itsuro Saito <email>saito@miv.t.u-tokyo.ac.jp</email></para> </listitem> @@ -3865,11 +4197,19 @@ pre-install: <listitem> <para>J. David Lowe <email>lowe@saturn5.com</email></para> </listitem> - + + <listitem> + <para>J. Han <email>jtc@cygnus.com</email></para> + </listitem> + <listitem> <para>J.T. Conklin <email>jtc@cygnus.com</email></para> </listitem> - + + <listitem> + <para>J.T. Lang <email>keith@email.gcn.net.tw</email></para> + </listitem> + <listitem> <para>James Clark <email>jjc@jclark.com</email></para> </listitem> @@ -3893,10 +4233,18 @@ pre-install: <listitem> <para>Jeff Bartig <email>jeffb@doit.wisc.edu</email></para> </listitem> - + + <listitem> + <para>Keff Kletsky <email>Jeff@Wagsky.com</email></para> + </listitem> + <listitem> <para>Jeffrey Wheat <email>jeff@cetlink.net</email></para> </listitem> + + <listitem> + <para>Jerry Hicks <email>jhicks@glenatl.glenayre.com</email></para> + </listitem> <listitem> <para>Jian-Da Li <email>jdli@csie.NCTU.edu.tw</email></para> @@ -3913,11 +4261,25 @@ pre-install: <listitem> <para>Jim Wilson <email>wilson@moria.cygnus.com</email></para> </listitem> - + + <listitem> + <para>Jimbo Bahooli + <email>griffin@blackhole.iceworld/org</email></para> + </listitem> + <listitem> <para>Joao Carlos Mendes Luis <email>jonny@coppe.ufrj.br</email></para> </listitem> - + + <listitem> + <para>Joe “Marcus” Clarke + <email>marcus@miami.edu</email></para> + </listitem> + + <listitem> + <para>Joe Jih-Shian Lu <email>jslu@dns.ntu.edu.tw</email></para> + </listitem> + <listitem> <para>Joel Sutton <email>sutton@aardvark.apana.org.au</email></para> </listitem> @@ -3933,7 +4295,11 @@ pre-install: <listitem> <para>John Heidemann <email>johnh@isi.edu</email></para> </listitem> - + + <listitem> + <para>John Hood <email>cgull@owl.org</email></para> + </listitem> + <listitem> <para>John Perry <email>perry@vishnu.alias.net</email></para> </listitem> @@ -3946,6 +4312,15 @@ pre-install: <para>John Rochester <email>jr@cs.mun.ca</email></para> </listitem> + <listitem> + <para>John Saunders <email>john@pacer.nlc.net.au</email></para> + </listitem> + + <listitem> + <para>Jonathan Hanna + <email>jh@pc-21490.bc.rogers.wave.ca</email></para> + </listitem> + <listitem> <para>Josef Karthauser <email>joe@uk.freebsd.org</email></para> </listitem> @@ -3985,7 +4360,11 @@ pre-install: <listitem> <para>Junichi Satoh <email>junichi@jp.freebsd.org</email></para> </listitem> - + + <listitem> + <para>Junya WATANABE <email>junya-w@remus.dti.ne.jp</email></para> + </listitem> + <listitem> <para>Kapil Chowksey <email>kchowksey@hss.hns.com</email></para> </listitem> @@ -4009,7 +4388,11 @@ pre-install: <listitem> <para>Kent Vander Velden <email>graphix@iastate.edu</email></para> </listitem> - + + <listitem> + <para>Kentaro Inagaki <email>JBD01226@niftyserve.ne.jp</email></para> + </listitem> + <listitem> <para>Kirk McKusick <email>mckusick@mckusick.com</email></para> </listitem> @@ -4031,9 +4414,14 @@ pre-install: </listitem> <listitem> - <para>Lars Koeller <email>Lars.Koeller@Uni-Bielefeld.DE</email></para> + <para>Lars Köller <email>Lars.Koeller@Uni-Bielefeld.DE</email></para> </listitem> - + + <listitem> + <para>Lian Tai-hwa + <email>avatar@www.mmlab.cse.yzu.edu.twu</email></para> + </listitem> + <listitem> <para>Lucas James <email>Lucas.James@ldjpc.apana.org.au</email></para> </listitem> @@ -4045,7 +4433,12 @@ pre-install: <listitem> <para>Makoto MATSUSHITA <email>matusita@jp.freebsd.org</email></para> </listitem> - + + <listitem> + <para>Makoto WATANABE + <email>watanabe@zlab.phys.nagoya-u.ac.jp</email></para> + </listitem> + <listitem> <para>Manu Iyengar <email>iyengar@grunthos.pscwa.psca.com</email></para> </listitem> @@ -4097,7 +4490,11 @@ pre-install: <listitem> <para>Masachika ISHIZUKA <email>ishizuka@isis.min.ntt.jp</email></para> </listitem> - + + <listitem> + <para>Masanori Kiriake <email>seiken@ncs.co.jp</email></para> + </listitem> + <listitem> <para>Mats Lofkvist <email>mal@algonet.se</email></para> </listitem> @@ -4114,10 +4511,6 @@ pre-install: <para>Matt White <email>mwhite+@CMU.EDU</email></para> </listitem> - <listitem> - <para>Matthew Hunt <email>mph@pobox.com</email></para> - </listitem> - <listitem> <para>Matthew N. Dodd <email>winter@jurai.net</email></para> </listitem> @@ -4173,7 +4566,11 @@ pre-install: <listitem> <para>MOROHOSHI Akihiko <email>moro@race.u-tokyo.ac.jp</email></para> </listitem> - + + <listitem> + <para>Motoyuki Kasahara <email>m-hasahr@sra.co.jp</email></para> + </listitem> + <listitem> <para>Murray Stokely <email>murray@cdrom.com</email></para> </listitem> @@ -4217,7 +4614,11 @@ pre-install: <listitem> <para>Noritaka Ishizumi <email>graphite@jp.FreeBSD.ORG</email></para> </listitem> - + + <listitem> + <para>Oliver Breuninger <email>ob@seicom.NET</email></para> + </listitem> + <listitem> <para>Oliver Fromme <email>oliver.fromme@heim3.tu-clausthal.de</email></para> </listitem> @@ -4266,10 +4667,6 @@ pre-install: <para>Peter Haight <email>peterh@prognet.com</email></para> </listitem> - <listitem> - <para>Peter Hawkins <email>peter@rhiannon.clari.net.au</email></para> - </listitem> - <listitem> <para>Peter Stubbs <email>PETERS@staidan.qld.edu.au</email></para> </listitem> @@ -4293,7 +4690,11 @@ pre-install: <listitem> <para>Richard Hwang <email>rhwang@bigpanda.com</email></para> </listitem> - + + <listitem> + <para>Richard. M. Neswold <email>rneswold@drmemory.fnal.gov</email></para> + </listitem> + <listitem> <para>Richard Seaman, Jr. <email>dick@tar.com</email></para> </listitem> @@ -4337,7 +4738,15 @@ pre-install: <listitem> <para>Ruslan Shevchenko <email>rssh@cki.ipri.kiev.ua</email></para> </listitem> - + + <listitem> + <para>SADA Kenji <email>sada@e-mail.ne.jp</email></para> + </listitem> + + <listitem> + <para>SURANYI Peter <email>suranyip@jks.is.tsukuba.ac.jp</email></para> + </listitem> + <listitem> <para>Samuel Lam <email>skl@ScalableNetwork.com</email></para> </listitem> @@ -4361,7 +4770,11 @@ pre-install: <listitem> <para>Satoshi Taoka <email>taoka@infonets.hiroshima-u.ac.jp</email></para> </listitem> - + + <listitem> + <para>Scot W. Hetzel <email>hetzels@westbend.net</email></para> + </listitem> + <listitem> <para>Scott Blachowicz <email>scott.blachowicz@seaslug.org</email></para> </listitem> @@ -4369,7 +4782,20 @@ pre-install: <listitem> <para>Scott A. Kenney <email>saken@rmta.ml.org</email></para> </listitem> - + + <listitem> + <para>Seigou TANIMURA + <email>tanimura@naklab.dnj.ynu.ac.jp</email></para> + </listitem> + + <listitem> + <para>Seiichirou Hiraoka <email>flathill@flathill.gr.jp</email></para> + </listitem> + + <listitem> + <para>Serge Babkin <email>babkin@hq.icb.chel.su</email></para> + </listitem> + <listitem> <para>Serge V. Vakulenko <email>vak@zebub.msk.su</email></para> </listitem> @@ -4377,7 +4803,12 @@ pre-install: <listitem> <para>Sheldon Hearn <email>axl@iafrica.com</email></para> </listitem> - + + <listitem> + <para>Shigeyuki FUKUSHIMA + <email>shige@kuis.kyoto-u.ac.jp</email></para> + </listitem> + <listitem> <para>Simon Marlow <email>simonm@dcs.gla.ac.uk</email></para> </listitem> @@ -4393,15 +4824,27 @@ pre-install: <listitem> <para>Soren Dossing <email>sauber@netcom.com</email></para> </listitem> - + + <listitem> + <para>Stefan Eggers <email>seggers@semyam.dinoco.de</email></para> + </listitem> + <listitem> - <para>Stefan Moeding <email>moeding@bn.DeTeMobil.de</email></para> + <para>Stefan Moeding <email>s.moeding@ndh.net</email></para> </listitem> - + + <listitem> + <para>Stefan “Sec” Zehl <email>sec@42.org</email></para> + </listitem> + <listitem> <para>Stephane Legrand <email>stephane@lituus.fr</email></para> </listitem> - + + <listitem> + <para>Stephen Farrell <email>stephen@farrell.org</email></para> + </listitem> + <listitem> <para>Stephen J. Roznowski <email>sjr@home.net</email></para> </listitem> @@ -4409,7 +4852,21 @@ pre-install: <listitem> <para>Steve Gerakines <email>steve2@genesis.tiac.net</email></para> </listitem> - + + <listitem> + <para>Steven G. Kargl + <email>kargl@troutmask.apl.washington.edu</email></para> + </listitem> + + <listitem> + <para>Stephen H. Samorodin <email>samorodi@NUXU.com</email></para> + </listitem> + + <listitem> + <para>Stuart Henderson + <email>stuart@internationalschool.co.uk</email></para> + </listitem> + <listitem> <para>Suzuki Yoshiaki <email>zensyo@ann.tama.kawasaki.jp</email></para> </listitem> @@ -4421,11 +4878,27 @@ pre-install: <listitem> <para>Taguchi Takeshi <email>taguchi@tohoku.iij.ad.jp</email></para> </listitem> - + + <listitem> + <para>Takashi Mega <email>mega@minz.org</email></para> + </listitem> + + <listitem> + <para>Takashi Uozu <email>j1594016@ed.kagu.sut.ac.jp</email></para> + </listitem> + <listitem> <para>Takayuki Ariga <email>a00821@cc.hc.keio.ac.jp</email></para> </listitem> - + + <listitem> + <para>Takeu NAIKI <email>naiki@bfd.es.hokudai.ac.jp</email></para> + </listitem> + + <listitem> + <para>Ted Faber <email>faber@ISI.EDU</email></para> + </listitem> + <listitem> <para>Terry Lambert <email>terry@lambert.org</email></para> </listitem> @@ -4457,7 +4930,11 @@ pre-install: <listitem> <para>Tim Wilkinson <email>tim@sarc.city.ac.uk</email></para> </listitem> - + + <listitem> + <para>Tom Jobbins <email>tom@tom.tj</email></para> + </listitem> + <listitem> <para>Tom Samplonius <email>tom@misery.sdf.com</email></para> </listitem> @@ -4469,7 +4946,11 @@ pre-install: <listitem> <para>Toshihiro Kanda <email>candy@fct.kgc.co.jp</email></para> </listitem> - + + <listitem> + <para>Toshihiko SHIMOKAWA <email>toshi@tea.forus.or.jp</email></para> + </listitem> + <listitem> <para>Trefor S. <email>trefor@flevel.co.uk</email></para> </listitem> @@ -4477,7 +4958,11 @@ pre-install: <listitem> <para>Ville Eerola <email>ve@sci.fi</email></para> </listitem> - + + <listitem> + <para>Vladimir Kushnir <email>kushn@mail.kar.net</email></para> + </listitem> + <listitem> <para>Werner Griessl <email>werner@btp1da.phy.uni-bayreuth.de</email></para> </listitem> @@ -4511,7 +4996,7 @@ pre-install: </listitem> <listitem> - <para>Yukihiro Nakai <email>nakai@mlab.t.u-tokyo.ac.jp</email></para> + <para>Yukihiro Nakai <email>nakai@technologist.com</email></para> </listitem> <listitem> @@ -4616,7 +5101,7 @@ pre-install: </listitem> <listitem> - <para>David Greenman <email>davidg@Root.COM</email></para> + <para>David Greenman <email>dg@Root.COM</email></para> </listitem> <listitem> diff --git a/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml b/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml index d71df2e940..51cb7a5561 100644 --- a/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml @@ -359,10 +359,13 @@ subscribe freebsd-stable</programlisting> In the body of your <para>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 <application>CVSup</application> and <application>CTM</application>.</para> + primary services we offer are <link linkend="anoncvs">Anonymous + CVS</link>, <link linkend="cvsup">CVSup</link>, and + <link linkend="ctm">CTM</link>.</para> - <para><application>CVSup</application> uses the - <emphasis>pull</emphasis> model of updating. The user (or a cron + <para><application>Anonymous CVS</application> and <application>CVSup</application> use the + <emphasis>pull</emphasis> model of updating sources. In the case of + <application>CVSup</application> the user (or a cron script) invokes the <command>cvsup</command> program, and it interacts with a <command>cvsupd</command> server somewhere to bring your files up to date. The updates you receive @@ -370,14 +373,21 @@ subscribe freebsd-stable</programlisting> In the body of your them. You can easily restrict your updates to the specific files or directories that are of interest to you. Updates are generated on the fly by the server, according to what you have and what you want - to have.</para> + to have. <application>Anonymous CVS</application> is quite a bit more simplistic + than CVSup in that it's just an extension to + <application>CVS</application> which allows it to pull changes + directly from a remote CVS + repository. <application>CVSup</application> can do this far more + efficiently, but <application>Anonymous CVS</application> is easier to + use.</para> <para><application>CTM</application>, 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 + archive or otherwise pull them across.. Instead, a script which identifies changes in files since + its previous run is executed several times a day on the master CTM + machine, + any detected changes being compressed, stamped with a + sequence-number and encoded for transmission over email (in printable ASCII only). Once received, these “CTM deltas” can then be handed to the <citerefentry><refentrytitle>ctm_rmail</refentrytitle><manvolnum>1</manvolnum></citerefentry> utility which will automatically decode, verify and apply the changes to the user's copy of the sources. This @@ -390,12 +400,313 @@ subscribe freebsd-stable</programlisting> In the body of your damaged portions for you. <application>CTM</application> 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.</para> + delta”) and rebuild it all with CTM or, with anoncvs, simply + delete the bad bits and resync.</para> - <para>For more information on <application>CTM</application> and <application>CVSup</application>, please see one of the + <para>For more information on <application>Anonymous CVS</application>, <application>CTM</application>, and <application>CVSup</application>, please see one of the following sections:</para> + + <sect2 id="anoncvs"> + <title>Anonymous CVS</title> + <para><emphasis>Contributed by &a.jkh;</emphasis></para> + <sect3> + <title><anchor id="anoncvs-intro">Introduction</title> + + <para>Anonymous CVS (or, as it is otherwise known, + <emphasis>anoncvs</emphasis>) is a feature provided by the CVS + utilities bundled with FreeBSD for synchronizing with a remote CVS + repository. Among other things, it allows users of FreeBSD to + perform, with no special privileges, read-only CVS operations + against one of the FreeBSD project's official anoncvs servers. To + use it, one simply sets the <envar>CVSROOT</envar> environment + variable to point at the appropriate anoncvs server and then uses + the <citerefentry> + <refentrytitle>cvs</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> command to access it like any local + repository.</para> + + <para>While it can also be said that the <link + linkend="cvsup">CVSup</link> and <emphasis>anoncvs</emphasis> + services both perform essentially the same function, there are + various trade-offs which can influence the user's choice of + synchronization methods. In a nutshell, + <application>CVSup</application> is much more efficient in its + usage of network resources and is by far the most technically + sophisticated of the two, but at a price. To use + <application>CVSup</application>, a special client must first be + installed and configured before any bits can be grabbed, and then + only in the fairly large chunks which + <application>CVSup</application> calls + <emphasis>collections</emphasis>.</para> + + <para><application>Anoncvs</application>, by contrast, can be used + to examine anything from an individual file to a specific program + (like <command>ls</command> or <command>grep</command>) by + referencing the CVS module name. Of course, + <application>anoncvs</application> is also only good for read-only + operations on the CVS repository, so if it's your intention to + support local development in one repository shared with the + FreeBSD project bits then <application>CVSup</application> is + really your only option.</para> + </sect3> + + <sect3> + <title><anchor id="anoncvs-usage">Using Anonymous CVS</title> + + <para>Configuring <citerefentry> + <refentrytitle>cvs</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> to use an Anonymous CVS repository is a simple + matter of setting the <envar>CVSROOT</envar> environment variable + to point to one of the FreeBSD project's + <emphasis>anoncvs</emphasis> servers. At the time of this writing, + the following servers are available:</para> + + <itemizedlist> + <listitem> + <para><emphasis>USA</emphasis>: + anoncvs@anoncvs.freebsd.org:/cvs</para> + </listitem> + </itemizedlist> + + <para>Since CVS allows one to “check out” virtually any + version of the FreeBSD sources that ever existed (or, in some + cases, will exist <!-- smiley -->:), you need to be familiar with + the revision (<option>-r</option>) flag to <citerefentry> + <refentrytitle>cvs</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> and what some of the permissible values for it in + the FreeBSD Project repository are.</para> + + <para>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.</para> + + <para>Here are the branch tags that users might be interested + in:</para> + + <variablelist> + <varlistentry> + <term>HEAD</term> + + <listitem> + <para>Symbolic name for the main line, or FreeBSD-current. + Also the default when no revision is + specified.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2</term> + + <listitem> + <para>The line of development for FreeBSD-2.2.x, also known as + FreeBSD-stable. Not valid for the ports collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_0</term> + + <listitem> + <para>The line of development for FreeBSD-2.1.x - this branch + is largely obsolete. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Here are the revision tags that users might be interested + in:</para> + + <variablelist> + <varlistentry> + <term>RELENG_2_2_6_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.6. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_5_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.5. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_2_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.2. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_1_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.1. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_0_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.0. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_7_RELEASE</term> + + <listitem> + <para>FreeBSD-2.1.7. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_6_1_RELEASE</term> + + <listitem> + <para>FreeBSD-2.1.6.1. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_6_RELEASE</term> + + <listitem> + <para>FreeBSD-2.1.6. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_5_RELEASE</term> + + <listitem> + <para>FreeBSD-2.1.5. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_0_RELEASE</term> + + <listitem> + <para>FreeBSD-2.1.0. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>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 <option>-D date</option> flag. See the <citerefentry> + <refentrytitle>cvs</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> man page for more details.</para> + </sect3> + + <sect3> + <title>Examples</title> + + <para>While it really is recommended that you read the manual page + for <citerefentry> + <refentrytitle>cvs</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> thoroughly before doing + anything, here are some quick examples which essentially show how + to use Anonymous CVS:</para> + + <example> + <title>Checking out something from -current (<citerefentry> + <refentrytitle>ls</refentrytitle> + <manvolnum>1</manvolnum></citerefentry>) and deleting it + again:</title> + + <screen> +&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput> +&prompt.user; <userinput>cvs co ls</userinput> +&prompt.user; <userinput>cvs release -d ls</userinput></screen> + </example> + + <example> + <title>Checking out the version of ls(1) in the 2.2-stable + branch:</title> + + <screen> +&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput> +&prompt.user; <userinput>cvs co -rRELENG_2_2 ls</userinput> +&prompt.user; <userinput>cvs release -d ls</userinput></screen> + </example> + + <example> + <title>Creating a list of changes (as unidiffs) to <citerefentry> + <refentrytitle>ls</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> between FreeBSD 2.2.2 + and FreeBSD 2.2.6:</title> + + <screen> +&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput> +&prompt.user; <userinput>cvs rdiff -u -rRELENG_2_2_2_RELEASE -rRELENG_2_2_6_RELEASE ls</userinput></screen> + </example> + + <example> + <title>Finding out what other module names can be used:</title> + + <screen> +&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput> +&prompt.user; <userinput>cvs co modules</userinput> +&prompt.user; <userinput>more modules/modules</userinput> +&prompt.user; <userinput>cvs release -d modules</userinput></screen> + </example> + </sect3> + + <sect3> + <title>Other Resources</title> + + <para>The following additional resources may be helpful in learning + CVS:</para> + + <itemizedlist> + <listitem> + <para><ulink + url="http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/">CVS Tutorial</ulink> from Cal Poly.</para> + </listitem> + + <listitem> + <para><ulink url="http://www.cyclic.com">Cyclic + Software</ulink>, commercial maintainers of CVS.</para> + </listitem> + + <listitem> + <para><ulink + url="http://www.freebsd.org/cgi/cvsweb.cgi">CVSWeb</ulink> + is the FreeBSD Project web interface for CVS.</para> + </listitem> + </itemizedlist> + </sect3> + </sect2> + <sect2 id="ctm"> <title><application>CTM</application></title> @@ -511,23 +822,27 @@ subscribe freebsd-stable</programlisting> In the body of your produced subsequently to it.</para> <para>First you should determine what you already have. Everyone - can start from an “empty” directory. However, since the trees + can start from an “empty” directory. You must use an + initial “Empty&rdquo delta to start off your + <application>CTM</application> supported tree. At some point it is + intended that one of these “started” deltas be + distributed on the CD for your convenience. This does not + currently happen however.</para> + + <para>You can recognize +However, since the trees are many tens of megabytes, you should prefer to start from something already at hand. If you have a RELEASE CD, you can copy or extract an initial source from it. This will save a significant transfer of data.</para> - <para>Once you identify a suitable starting point, you must use an - initial “transition” delta to transform your starting point - into a <application>CTM</application> supported tree.</para> - - <para>You can recognize these transition deltas by the + <para>You can recognize these “starter” deltas by the <literal>X</literal> appended to the number (<filename>src-cur.3210XEmpty.gz</filename> for instance). The designation following the <filename>X</filename> corresponds to the origin of your initial “seed”. <filename>Empty</filename> is - an empty directory, <filename>R225</filename> would designate the 2.2.5 release, - etc. As a rule a base transition from <filename>Empty</filename> is producted + an empty directory. As a rule a base transition from + <filename>Empty</filename> is produced every 100 deltas. By the way, they are large! 25 to 30 Megabytes of <command>gzip</command>'ed data is common for the <filename>XEmpty</filename> deltas.</para> @@ -791,7 +1106,7 @@ subscribe freebsd-stable</programlisting> In the body of your <para>The easiest way to install <application>CVSup</application> if you are running FreeBSD 2.2 or later is to use either <ulink - URL="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/net/cvsup.tar">the port</ulink> from the FreeBSD <link linkend="ports">ports collection</link> or the corresponding <ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/net/cvsup-15.3.tgz">binary package</ulink>, depending on whether you prefer to roll your own or not.</para> + URL="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/net/cvsup.tar">the port</ulink> from the FreeBSD <link linkend="ports">ports collection</link> or the corresponding <ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/net/cvsup-15.4.2.tgz">binary package</ulink>, depending on whether you prefer to roll your own or not.</para> <para>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 @@ -813,24 +1128,25 @@ subscribe freebsd-stable</programlisting> In the body of your <listitem> <para><ulink - URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.3.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.3.tar.gz</ulink> (client including GUI).</para> + URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.4.2.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.4.2.tar.gz</ulink> (client including GUI).</para> </listitem> <listitem> <para><ulink - URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.3.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.3.tar.gz</ulink> (client without GUI).</para> + URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.4.2.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.4.2.tar.gz</ulink> (client without GUI).</para> </listitem> <listitem> <para><ulink - URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.3.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.3.tar.gz</ulink> (server).</para> + URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.4.2.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.4.2.tar.gz</ulink> (server).</para> </listitem> </itemizedlist> - <para>or the German mirror:</para> - + <para>as well as from the many FreeBSD <link + linkend="mirrors-ftp">FTP mirror sites</link> around the + world.</para> <itemizedlist> @@ -1066,6 +1382,24 @@ cvs-crypto</programlisting> <variablelist> + <varlistentry> + <term>tag=RELENG_3_0_0_RELEASE</term> + + <listitem> + <para>FreeBSD-3.0. Not valid for the ports-* + collections.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>tag=RELENG_2_2_7_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.7. Not valid for the ports-* + collections.</para> + </listitem> + </varlistentry> + <varlistentry><term>tag=RELENG_2_2_6_RELEASE</term> <listitem> <para>FreeBSD-2.2.6. Not valid for the ports-* @@ -1521,7 +1855,17 @@ cvs-crypto</programlisting> </listitem> </varlistentry> - + + <varlistentry> + <term><literal></literal>ports-deskutils + release=cvs</term> + + <listitem> + <para>Things that used to be on the desktop before + computers were invented.</para> + </listitem> + </varlistentry> + <varlistentry><term><literal>ports-devel release=cvs</literal></term> @@ -1746,10 +2090,54 @@ cvs-crypto</programlisting> release=cvs</literal></term> <listitem> - <para>X11 software.</para> - + <para>Ports to support the X window + system.</para> </listitem> </varlistentry> + + <varlistentry> + <term><literal>ports-x11-clocks + release=cvs</literal></term> + + <listitem> + <para>X11 clocks.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-fm + release=cvs</literal></term> + + <listitem> + <para>X11 file managers.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-fonts + release=cvs</literal></term> + + <listitem> + <para>X11 fonts and font utilities.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-toolkits + release=cvs</literal></term> + + <listitem> + <para>X11 toolkits.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-wm</literal></term> + + <listitem> + <para>X11 window managers.</para> + </listitem> + </varlistentry> </variablelist> diff --git a/en_US.ISO8859-1/books/handbook/disks/chapter.sgml b/en_US.ISO8859-1/books/handbook/disks/chapter.sgml new file mode 100644 index 0000000000..ee74a49501 --- /dev/null +++ b/en_US.ISO8859-1/books/handbook/disks/chapter.sgml @@ -0,0 +1,165 @@ +<chapter id="disks"> + <title>Disks</title> + + <para><emphasis>Contributed by &a.obrien; 26 April 1998</emphasis></para> + + <para>Lets say we want to add a new SCSI disk to a machine that currently + only has a single drive. First turn off the computer and install the + drive in the computer following the instructions of the computer, + controller, and drive manufacturer. Due the wide variations of procedures + to do this, the details are beyond the scope of this document.</para> + + <para>Login as user <username>root</username>. After you've installed the + drive, inspect <filename>/var/run/dmesg.boot</filename> to ensure the new + disk was found. Continuing with our example, the newly added drive will be + <filename>sd1</filename> and we want to mount it on + <filename>/1</filename>. (if you are adding an IDE drive substitute + <filename>wd</filename> for <filename>sd</filename>)</para> + + <para>Because FreeBSD runs on IBM-PC compatible computers, it must take into + account the PC BIOS partitions. These are different from the traditional + BSD partitions. A PC disk has up to four BIOS partition entries. If the + disk is going to be truly dedicated to FreeBSD, you can use the + <emphasis>dedicated</emphasis> mode. Otherwise, FreeBSD will have to live + with in one of the PC BIOS partitions. FreeBSD calls the PC BIOS + partitions, <emphasis>slices</emphasis> so as not to confuse them with + traditional BSD partitions. You may also use slices on a disk that is + dedicated to FreeBSD, but used in a computer that also has another + operating system installed. This is to not confuse the + <command>fdisk</command> utility of the other operating system.</para> + + <para>In the slice case the drive will be added as + <filename>/dev/sd1s1e</filename>. This is read as: SCSI disk, unit number + 1 (second SCSI disk), slice 1 (PC BIOS partition 1), and + <filename>e</filename> BSD partition. In the dedicated case, the drive + will be added simply as <filename>/dev/sd1e</filename>.</para> + + <sect1> + <title>Using sysinstall</title> + + <para> You may use <command>/stand/sysinstall</command> to partition and + label a new disk using its easy to use menus. Either login as user + <username>root</username> or use the <command>su</command> command. Run + <command>/stand/sysinstall</command> and enter the + <literal>Configure</literal> menu. With in the <literal>FreeBSD + Configuration Menu</literal>, scroll down and select the + <literal>Partition</literal> item. Next you should be presented with a + list of hard drives installed in your system. If you do not see + <literal>sd1</literal> listed, you need to recheck your physical + installation and <command>dmesg</command> output in the file + <filename>/var/run/dmesg.boot</filename>.</para> + + <para>Select <literal>sd1</literal> to enter the <literal>FDISK Partition + Editor</literal>. Choose <literal>A</literal> to use the entire disk + for FreeBSD. When asked if you want to <quote>remain cooperative with + any future possible operating systems</quote>, answer + <literal>YES</literal>. Write the changes to the disk using + <command>W</command>. Now exit the FDISK editor using + <command>q</command>. Next you will be asked about the Master Boot + Record. Since you are adding a disk to an already running system, choose + <literal>None</literal>.</para> + + <para>Next enter the <literal>Disk Label Editor</literal>. This is where + you will create the traditional BSD partitions. A disk can have up to + eight partitions, labeled a-h. A few of the partition labels have + special uses. The <literal>a</literal> partition is used for the root + partition (<filename>/</filename>). Thus only your system disk (e.g, the + disk you boot from) should have an <literal>a</literal> partition. The + <literal>b</literal> partition is used for swap partitions, and you may + have many disks with swap partitions. The <literal>c</literal> partition + addresses the entire disk in dedicated mode, or the entire FreeBSD slice + in slice mode. The other partitions are for general use.</para> + + <para>Sysinstall's Label editor favors the <literal>e</literal> partition + for non-root, non-swap partitions. With in the Label editor, create a + single file system using <command>C</command>. When prompted if this + will be a FS (file system) or swap, choose <literal>FS</literal> and + give a mount point (e.g, <filename>/mnt</filename>). When adding a disk + in post-install mode, Sysinstall will not create entries in + <filename>/etc/fstab</filename> for you, so the mount point you specify + isn't important.</para> + + <para>You are now ready to write the new label to the disk and create a + file system on it. Do this by hitting <command>W</command>. Ignore any + errors from Sysinstall that it could not mount the new partition. Exit + the Label Editor and Sysinstall completely.</para> + + <para>The last step is to edit <filename>/etc/fstab</filename> to add an + entry for your new disk.</para> + </sect1> + + <sect1> + <title>Using command line utilities</title> + + <sect2> + <title>* Using Slices</title> + + <para></para> + </sect2> + + <sect2> + <title>Dedicated</title> + + <para>If you will not be sharing the new drive with another operating + system, you may use the <literal>dedicated</literal> mode. Remember + this mode can confuse Microsoft operating systems; however, no damage + will be done by them. IBM's OS/2 however, will + “appropriate” any partition it finds which it doesn't + understand.</para> + + <informalexample> + <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rsd1 bs=1k count=1</userinput> +&prompt.root; <userinput>disklabel -Brw sd1 auto</userinput> +&prompt.root; <userinput>disklabel -e sd</userinput>1 # create the `e' partition +&prompt.root; <userinput>newfs -d0 /dev/rsd1e</userinput> +&prompt.root; <userinput>mkdir -p /1</userinput> +&prompt.root; <userinput>vi /etc/fstab</userinput> # add an entry for /dev/sd1e +&prompt.root; <userinput>mount /1</userinput></screen> + </informalexample> + + <para>An alternate method is:</para> + + <informalexample> + <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rsd1 count=2</userinput> +&prompt.root; <userinput>disklabel /dev/rsd1 | disklabel -BrR sd1 /dev/stdin</userinput> +&prompt.root; <userinput>newfs /dev/rsd1e</userinput> +&prompt.root; <userinput>mkdir -p /1</userinput> +&prompt.root; <userinput>vi /etc/fstab</userinput> # add an entry for /dev/sd1e +&prompt.root; <userinput>mount /1</userinput></screen> + </informalexample> + </sect2> + </sect1> + + <sect1> + <title>* Non-traditional Drives</title> + + <sect2> + <title>* Zip Drives</title> + + <para></para> + </sect2> + + <sect2> + <title>* Jazz Drives</title> + + <para></para> + </sect2> + + <sect2> + <title>* Sequest Drives</title> + + <para></para> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../handbook.sgml" "part" "chapter") + End: +--> diff --git a/en_US.ISO8859-1/books/handbook/eresources/chapter.sgml b/en_US.ISO8859-1/books/handbook/eresources/chapter.sgml index 35d28a30e5..65f8af855a 100644 --- a/en_US.ISO8859-1/books/handbook/eresources/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/eresources/chapter.sgml @@ -49,7 +49,7 @@ <title>List summary</title> <para><emphasis>General lists:</emphasis> The following are - general lists which anyone is free to join:</para> + general lists which anyone is free (and encouraged) to join:</para> <informaltable frame="none"> <tgroup cols="2"> @@ -61,6 +61,11 @@ </thead> <tbody> + <row> + <entry>freebsd-advocacy</entry> + <entry>FreeBSD Evangelism</entry> + </row> + <row> <entry>freebsd-announce</entry> <entry>Important events and project milestones</entry> @@ -101,6 +106,11 @@ opportunities</entry> </row> + <row> + <entry>freebsd-newbies</entry> + <entry>New FreeBSD users activities and discussions</entry> + </row> + <row> <entry>freebsd-questions</entry> <entry>User questions</entry> @@ -139,6 +149,12 @@ <entry>The FreeBSD Documentation project</entry> </row> + <row> + <entry>freebsd-database</entry> + <entry>Discussing database use and development under + FreeBSD</entry> + </row> + <row> <entry>freebsd-emulation</entry> <entry>Emulation of other systems such as @@ -178,10 +194,15 @@ </row> <row> - <entry>freebsd-multimedia</entry> - <entry>Multimedia discussion</entry> + <entry>freebsd-mozilla</entry> + <entry>Porting mozilla to FreeBSD</entry> </row> + <row> + <entry>freebsd-net</entry> + <entry>Networking discussion and TCP/IP/source code</entry> + </row> + <row> <entry>freebsd-platforms</entry> <entry>Concerning ports to non-Intel architecture @@ -203,6 +224,11 @@ <entry>Security issues</entry> </row> + <row> + <entry>freebsd-small</entry> + <entry>Using FreeBSD in embedded applications</entry> + </row> + <row> <entry>freebsd-smp</entry> <entry>Design discussions for [A]Symmetric @@ -213,6 +239,11 @@ <entry>freebsd-sparc</entry> <entry>Porting FreeBSD to Sparc systems</entry> </row> + + <row> + <entry>freebsd-tokenring</entry> + <entry>Support Token Ring in FreeBSD</entry> + </row> </tbody> </tgroup> </informaltable> @@ -540,7 +571,7 @@ help milestones</emphasis></para> <para>This is the mailing list for people interested only - in occasional announcements of significant freebsd events. + 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. @@ -555,10 +586,39 @@ help <para><emphasis>Architecture and design discussions</emphasis></para> - <para>This is the mailing - list for people discussing FreeBSD architectural issues. - It is a closed list, and not for general - subscription.</para> + <para>This is a moderated list for discussion of FreeBSD + architecture. Messages will mostly be kept technical in + nature, with (rare) exceptions for other messages the + moderator deems need to reach all the subscribers of the + list. Examples of suitable topics;</para> + + <itemizedlist> + <listitem> + <para>How to re-vamp the build system to have several + customized builds running at the same time.</para> + </listitem> + + <listitem> + <para>What needs to be fixed with VFS to make Heidemann + layers work.</para> + </listitem> + + <listitem> + <para>How do we change the device driver interface to be + able to use the ame drivers cleanly on many buses and + architectures?</para> + </listitem> + + <listitem> + <para>How do I write a network driver?</para> + </listitem> + </itemizedlist> + + <para>The moderator reserves the right to do minor editing + (spell-checking, grammar correction, trimming) of messages + that are posted to the list. The volume of the list will be + kept low, which may involve having to delay topics until an + active discussion has been resolved.</para> </listitem> </varlistentry> @@ -660,9 +720,11 @@ help <listitem> <para><emphasis>Documentation project</emphasis></para> - <para>This mailing list belongs to the FreeBSD Doc Project - and is for the discussion of documentation related issues - and projects.</para> + <para>This mailing list is for the discussion of documentation + related issues and projects. The members of this mailing list + are collectively referred to as “The FreeBSD + Documentation Project”. It is an open list; feel free to + join and contribute.</para> </listitem> </varlistentry> @@ -766,16 +828,22 @@ help </listitem> </varlistentry> - <varlistentry><term>FREEBSD-MULTIMEDIA</term> + <varlistentry><term>FREEBSD-NEWBIES</term> <listitem> - <para><emphasis>Multimedia discussions</emphasis></para> - - <para>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.</para> + <para><emphasis>Newbies activities + discussion</emphasis></para> + + <para>We cover any of the activities of newbies that are not + already dealt with elsewhere, including: independent learning + and problem solving techniques, finding and using resources + and asking for help elsewhere, how to use mailing lists and + which lists to use, general chat, making mistakes, boasting, + sharing ideas, stories, moral (but not technical) support, and + taking an active part in the FreeBSD community. We take our + problems and support questions to freebsd-questions, and use + freebsd-newbies to meet others who are doing the same things + that we do as newbies.</para> </listitem> </varlistentry> @@ -866,7 +934,17 @@ help FreeBSD-security.</para> </listitem> </varlistentry> - + + <varlistentry> + <term>FREEBSD-SMALL</term> + + <listitem> + <para>This list discusses topics related to unsually small and + embedded FreeBSD installations. This is a technical mailing + list for which strictly technical content is expected.</para> + </listitem> + </varlistentry> + <varlistentry><term>FREEBSD-USER-GROUPS</term> <listitem> @@ -972,36 +1050,6 @@ help URL="news:comp.unix.misc">comp.unix.misc</ulink></para> </listitem> - <listitem> - <para><ulink - URL="news:comp.os.386bsd.announc">comp.os.386bsd.announc</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.os.386bsd.app">comp.os.386bsd.app</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.os.386bsd.bugs">comp.os.386bsd.bugs</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.os.386bsd.development">comp.os.386bsd.development</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.os.386bsd.misc">comp.os.386bsd.misc</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.os.386bsd.questions">comp.os.386bsd.questions</ulink></para> - </listitem> - <listitem> <para><ulink URL="news:comp.bugs.4bsd">comp.bugs.4bsd</ulink></para> diff --git a/en_US.ISO8859-1/books/handbook/hw/chapter.sgml b/en_US.ISO8859-1/books/handbook/hw/chapter.sgml index 9a915a7c17..111cde9410 100644 --- a/en_US.ISO8859-1/books/handbook/hw/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/hw/chapter.sgml @@ -78,24 +78,20 @@ <para>For Pentium Pro (P6) systems, I'm quite fond of the <ulink URL="http://www.tyan.com/html/products.html">Tyan</ulink> - S1668 dual-processor motherboard. It makes a dandy little - single or dual processor system (which is supported in FreeBSD - 3.0) and the price of the Pentium Pro 180/256K chip has fallen - to truly affordable levels. The Pentium Pro remains my favorite - processor solution server systems (Megahertz ratings aren't - everything).</para> + S1668 dual-processor motherboard as well as the Intel PR440FX + motherboard with on-board SCSI WIDE and 100/10MB Intel + Etherexpress NIC. You can build a dandy little single or dual + processor system (which is supported in FreeBSD 3.0) for very + little cost now that the Pentium Pro 180/256K chips have fallen so + greatly in price, but no telling how much longer this will + last.</para> <para>For the Pentium II, I'm rather partial to the <ulink URL="http://www.asus.com.tw">ASUS</ulink> <ulink URL="http://www.asus.com.tw/Products/Motherboard/Pentiumpro/P2l97-s/index.html">P2l97-S</ulink> motherboard with the on-board Adaptec SCSI WIDE controller.</para> <para>For Pentium machines, the ASUS <ulink - URL="http://www.asus.com.tw/Products/Motherboard/Pentium/P55tp4/index.html">P55T2P4</ulink> 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 <ulink URL="http://asustek.asus.com.tw/FTP/ASUS/Info/Spec/pvi-486sp3.txt">486SP3G</ulink> offering if it's a 486-class motherboard you're looking for.</para> - - <note> - <para>These have become increasingly hard to get as ASUS - apparently no longer manufactures them).</para> - </note> + URL="http://www.asus.com.tw/Products/Motherboard/Pentium/P55tp4/index.html">P55T2P4</ulink> motherboard appears to be a good choice for mid-to-high range Pentium server and workstation systems.</para> <para>Those wishing to build more fault-tolerant systems should also be sure to use Parity memory or, for truly 24/7 @@ -131,6 +127,13 @@ your scarce PCI bus resources by buying the Adaptec 3940 card, which puts two SCSI controllers (and internal busses) in a single slot.</para> + + <note> + <para>There are two types of 3940 on the market—the older + model with AIC 7880 chips on it, and hte newer one with AIC 7895 + chips. The newer model requires <ulink + url="http://www.freebsd.org/pub/FreeBSD/development/cam/">CAM</ulink> support which is not yet part of FreeBSD—you have to add it, or install from one of the CAM binary snapshot release.</para> + </note> </sect3> @@ -144,11 +147,8 @@ 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!</para> - - <para>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.</para> + as a food chain! For a serious server configuration, there's not + even any argument—use SCSI equipment and good cables.</para> </sect3> @@ -157,12 +157,11 @@ <para>My SCSI preferences extend to SCSI CDROM drives as well, and while the <ulink URL="http://www.toshiba.com">Toshiba</ulink> - 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 <ulink - URL="http://www.plextor.com">Plextor</ulink> PX-12CS drive. - It's a 12 speed drive with excellent performance and - reliability.</para> + drives have always been favourites of mine (in whatever speed is + hot that week), I'm still fond of my good old <ulink + url="http://www.plextor.com">Plextor</ulink> PX-12CS drive. It's + only a 12 speed, but it's offered excellent performance and + reliability.</para> <para>Generally speaking, most SCSI CDROM drives I've seen have been of pretty solid construction and you probably won't go @@ -182,8 +181,8 @@ 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 6020i. I myself use the HP 6020i 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 + CDROMs (in 2.2 and alter releases—it does not work with + earlier releases of the SCSI code) and it works very well. See <ulink URL="file:/usr/share/examples/worm">/usr/share/examples/worm</ulink> on your 2.2 system for example scripts used to created ISO9660 filesystem images (with RockRidge extensions) and burn them onto an HP6020i CDR.</para> @@ -209,12 +208,14 @@ Inc. (formerly X Inside, Inc)</ulink> then I can heartily recommend the <ulink URL="http://www.matrox.com/">Matrox</ulink> <ulink - URL="http://www.matrox.com/mgaweb/brochure.htm">Millenium</ulink> card. Note that support for this card is also excellent with the <ulink URL="http://www.xfree86.org/">XFree86</ulink> server, which is now at version 3.3.2.</para> + URL="http://www.matrox.com/mgaweb/brochure.htm">Millenium II</ulink> card. Note that support for this card is also excellent with the <ulink URL="http://www.xfree86.org/">XFree86</ulink> server, which is now at version 3.3.2.</para> <para>You also certainly can't go wrong with one of <ulink URL="http://www.nine.com/">Number 9's</ulink> 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.</para> + fast and very well supported by XFree86's S3 server. You can + also pick up their Revolution 3D cards very cheaply these days, + especially if you require a lot of video memory.</para> </sect3> @@ -222,27 +223,28 @@ <title>Monitors</title> <para>I have had very good luck with the <ulink - URL="http://cons3.sel.sony.com/SEL/ccpg/display/ms17se2.html">Sony Multiscan 17seII monitors</ulink>, 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. $2,500 for a 21" monitor or $1,700 for a 20" 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!</para> + URL="http://cons3.sel.sony.com/SEL/ccpg/display/ms17se2.html">Sony Multiscan 17seII monitors</ulink>, 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. $2,000 for a 21" monitor or $1,700 for a 20" 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!</para> </sect3> <sect3 id="hw-networking"> <title>Networking</title> - <para>I can recommend the <ulink + <para>I can recommend the Intel EtherExpress Pro/100B card first + ande foremost, followed by the <ulink URL="http://www.smc.com/">SMC</ulink> 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, the Intel EtherExpress generally getting my - vote.</para> + cards for slightly cheaper PCI based networking. In general, any + PCI NIC based around DEC's DC21041 Ethernet controller chip, + such as the Zynx ZX342 or DEC DE435, will generally work quite + well and can frequently be found in 2-port and 4-port version + (useful for firewalls and routers), though the Pro/100MB card has + the edge when it comes to providing the best performance with teh + lower overhead.</para> - <para>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.</para> + <para>If what you're looking for is the + cheapest possible solution then almost any NE2000 clone will do + a fine job for very little cost.</para> </sect3> @@ -334,7 +336,7 @@ <sect3 id="hw-mb-pci"> <title>PCI</title> - <para><emphasis>Contributed by &a.rgrimes;.<!-- <br> -->25 April + <para><emphasis>Contributed by &a.obrien; from postings by &a.rgrimes;.<!-- <br> -->25 April 1995.</emphasis></para> <para><emphasis>Continuing updates by &a.jkh;.</emphasis><!-- <br> @@ -4875,7 +4877,7 @@ options "TUNE_1542" #dynamic tune of bus DMA speed</programli <para>Data transfer rate is 350kB/s using <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Rates of 530kB/s have been reported when using <link - linkend="hw-storage-amanda">Amanda</link></para> + linkend="backups-programs-amanda">Amanda</link></para> <para>Production of this drive has been discontinued.</para> @@ -5655,653 +5657,6 @@ scsi -f $2 -s 100 -c "1b 0 0 $cdb3 $cdb4 $cdb5"</programlisting> <para></para> </sect2> - - <sect2> - <title>* Adding and reconfiguring disks</title> - - <para></para> - </sect2> - - <sect2 id="hw-storage-tapebackups"> - <title>Tapes and backups</title> - - - <sect3> - <title>* What about backups to floppies?</title> - - <para></para> - </sect3> - - <sect3> - <title>Tape Media</title> - - - <sect4 id="hw-storage-tapebackups-4mm"> - <title>4mm (DDS: Digital Data Storage)</title> - - <para>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.</para> - - <para>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.</para> - - <para>4mm drives, like 8mm drives, use helical-scan. All the - benefits and drawbacks of helical-scan apply to both 4mm and - 8mm drives.</para> - - <para>Tapes should be retired from use after 2,000 passes or 100 - full backups.</para> - - </sect4> - - <sect4 id="hw-storage-tapebackups-8mm"> - <title>8mm (Exabyte)</title> - - <para>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.</para> - - <para>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.</para> - - <para>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.</para> - - </sect4> - - <sect4 id="hw-storage-tapebackups-qic"> - <title>QIC</title> - - <para>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 <emphasis>most</emphasis> - 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). <link - linkend="hw-storage-tapebackups-mini">Mini-cartridges</link>, - which also use 1/4" wide tape are - discussed separately. Tape libraries and changers are not - available.</para> - - <para>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.</para> - - <para>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).</para> - - <para>Tapes should be retired from use after 5,000 - backups.</para> - - </sect4> - - <sect4 id="hw-storage-tapebackups-mini"> - <title>* Mini-Cartridge</title> - - <para></para> - </sect4> - - <sect4 id="hw-storage-tapebackups-dlt"> - <title>DLT</title> - - <para>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.</para> - - <para>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.</para> - - <para>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.</para> - - </sect4> - </sect3> - - <sect3> - <title>Using a new tape for the first time</title> - - <para>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:</para> - - <informalexample> - <screen>st0(ncr1:4:0): NOT READY asc:4,1 -st0(ncr1:4:0): Logical unit is in process of becoming ready</screen> - </informalexample> - - <para>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:</para> - - <para><command>mt fsf 1</command> causes the tape drive - to write an Identifier Block to the tape.</para> - - <para>Use the front panel button to eject the tape.</para> - - <para>Re-insert the tape and <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> data to - the tape.</para> - - <para><citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> will report <errorname>DUMP: End of tape detected</errorname> and the console - will show: <errorname>HARDWARE FAILURE info:280 - asc:80,96</errorname></para> - - <para>rewind the tape using: <command>mt - rewind</command></para> - - <para>Subsequent tape operations are successful.</para> - - </sect3> - - <sect3> - <title>Backup Programs</title> - - <para>The three major programs are <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry>, and - <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para> - - - <sect4> - <title>Dump and Restore</title> - - <para><citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> and - <citerefentry><refentrytitle>restore</refentrytitle><manvolnum>8</manvolnum></citerefentry> 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. - <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> backs up devices, entire - filesystems, not parts of a filesystem and not directory trees - that span more than one filesystem, using either soft links - <citerefentry><refentrytitle>ln</refentrytitle><manvolnum>1</manvolnum></citerefentry> or mounting one filesystem onto - another. <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> does not write files and - directories to tape, but rather writes the data blocks that - are the building blocks of files and directories. - <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> 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.</para> - - <para><citerefentry><refentrytitle>rdump</refentrytitle><manvolnum>8</manvolnum></citerefentry> and - <citerefentry><refentrytitle>rrestore</refentrytitle><manvolnum>8</manvolnum></citerefentry> backup data across the network - to a tape drive attached to another computer. Both programs - rely upon <citerefentry><refentrytitle>rcmd</refentrytitle><manvolnum>3</manvolnum></citerefentry> and - <citerefentry><refentrytitle>ruserok</refentrytitle><manvolnum>3</manvolnum></citerefentry> to access the remote tape - drive. Therefore, the user performing the backup must have - <filename>rhosts</filename> access to the remote - computer. The arguments to <citerefentry><refentrytitle>rdump</refentrytitle><manvolnum>8</manvolnum></citerefentry> and - <citerefentry><refentrytitle>rrestore</refentrytitle><manvolnum>8</manvolnum></citerefentry> must suitable to use on the - remote computer. e.g. When <command>rdump</command>'ing from a FreeBSD computer to an - Exabyte tape drive connected to a Sun called komodo, use:</para> - - <informalexample> - <screen>&prompt.root; <userinput>/sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nrst8 /dev/rsd0a 2>&1</userinput></screen> - </informalexample> - - <para>Beware: - there are security implications to allowing <filename>rhosts</filename> commands. Evaluate your - situation carefully.</para> - - </sect4> - - <sect4> - <title>Tar</title> - - <para><citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> also dates back to Version 6 of - ATT Unix (circa 1975). <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> operates in - cooperation with the filesystem; <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> - writes files and directories to tape. - <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> does not support the full range of - options that are available from <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - but <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> does not require the unusual - command pipeline that <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> uses.</para> - - <para>Most versions of <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> do not support - backups across the network. The GNU version of - <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry>, which FreeBSD utilizes, supports - remote devices using the same syntax as <command>rdump</command>. To <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> to - an Exabyte tape drive connected to a Sun called komodo, use: - <command>/usr/bin/tar cf komodo:/dev/nrst8 . - 2>&1</command>. For versions without remote device - support, you can use a pipeline and <citerefentry><refentrytitle>rsh</refentrytitle><manvolnum>1</manvolnum></citerefentry> - to send the data to a remote tape drive. (XXX add an example - command)</para> - - </sect4> - - <sect4> - <title>Cpio</title> - - <para><citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> is the original Unix file - interchange tape program for magnetic media. - <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> 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 <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> and excellent choice for - installation media. <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> does not know - how to walk the directory tree and a list of files must be - provided thru <acronym>STDIN</acronym>.</para> - - <para><citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> does not support backups across - the network. You can use a pipeline and - <citerefentry><refentrytitle>rsh</refentrytitle><manvolnum>1</manvolnum></citerefentry> to send the data to a remote tape - drive. (XXX add an example command)</para> - - </sect4> - - <sect4> - <title>Pax</title> - - <para><citerefentry><refentrytitle>pax</refentrytitle><manvolnum>1</manvolnum></citerefentry> is IEEE/POSIX's answer to - <command>tar</command> and <command>cpio</command>. Over the years the various - versions of <command>tar</command> and <command>cpio</command> have gotten slightly incompatible. - So rather than fight it out to fully standardize them, POSIX - created a new archive utility. <command>pax</command> attempts to read and write many of - the various cpio and tar formats, plus new formats of its own. - Its command set more resembles <command>cpio</command> than <command>tar</command>.</para> - - </sect4> - - <sect4 id="hw-storage-amanda"> - <title><ulink - URL="http://www.freebsd.org/ports/misc.html#amanda-2.2.6.5">Amanda</ulink></title> - - <para>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.</para> - - <para>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.</para> - - </sect4> - - <sect4> - <title>Do nothing</title> - - <para>“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!</para> - - <para>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.</para> - - <para>“Do nothing” is the correct backup method for - <filename>/usr/obj</filename> 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 <acronym>SGML</acronym> input files. Creating - backups of these <acronym>HTML</acronym> files is not - necessary. The <acronym>SGML</acronym> source files are - backed up regularly.</para> - - </sect4> - - <sect4> - <title>Which Backup Program is Best?</title> - - <para><citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> <emphasis>Period.</emphasis> - 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 - <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry>. 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 - unwritable 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.</para> - - </sect4> - </sect3> - - <sect3> - <title>Emergency Restore Procedure</title> - - - <sect4> - <title>Before the Disaster</title> - - <para>There are only four steps that you need to perform in - preparation for any disaster that may occur.</para> - - <procedure> - <step> - <para>Print the disklabel from each of your disks - (e.g., <command>disklabel sd0 | lpr</command>), your - filesystem table (<filename>/etc/fstab</filename>) and all - boot messages, two copies of each.</para> - </step> - - <step> - <para>Determine the boot and fixit floppies (<filename>boot.flp</filename> - and <filename>fixit.flp</filename>) 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.</para> - - <para>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: - <citerefentry><refentrytitle>fdisk</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>disklabel</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>newfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>, and - whichever backup program you use. These programs must be - statically linked. If you use <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry>, the - floppy must contain <citerefentry><refentrytitle>restore</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para> - </step> - - <step> - <para>Create backup tapes regularly. Any changes that you - make after your last backup may be irretrievably lost. - Write-protect the backup tapes.</para> - </step> - - <step> - <para>Test the floppies (either <filename>boot.flp</filename> and <filename>fixit.flp</filename> - 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 <command>tar xvf /dev/rst0</command>, you might - accidently type <command> tar cvf /dev/rst0</command> and - over-write your backup tape).</para> - - <para>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.</para> - - <para>An example script for creating a bootable floppy:</para> - - <programlisting> -#!/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/rfd0 - -# -# 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</programlisting> - </step> - </procedure> - </sect4> - - <sect4> - <title>After the Disaster</title> - - <para>The key question is: did your hardware survive? You have - been doing regular backups so there is no need to worry about - the software.</para> - - <para>If the hardware has been damaged. First, replace those - parts that have been damaged.</para> - - <para>If your hardware is okay, check your floppies. If you are - using a custom boot floppy, boot single-user (type <option>-s</option> at the - <prompt>boot:</prompt> prompt). Skip the following paragraph.</para> - - <para>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 <filename>fixit.flp</filename> when prompted. - <command>restore</command> and the other programs - that you need are located in - <filename>/mnt2/stand</filename>.</para> - - <para>Recover each filesystem separately.</para> - - <para>Try to <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry> (e.g. <command>mount /dev/sd0a /mnt</command>) the root partition of your first disk. If - the disklabel was damaged, use <citerefentry><refentrytitle>disklabel</refentrytitle><manvolnum>8</manvolnum></citerefentry> - to re-partition and label the disk to match the label that - your printed and saved. Use <citerefentry><refentrytitle>newfs</refentrytitle><manvolnum>8</manvolnum></citerefentry> to - re-create the filesystems. Re-mount the root partition of the - floppy read-write (<command>mount -u -o rw /mnt</command>). - Use your backup program and backup tapes to recover the data - for this filesystem (e.g. <command>restore vrf - /dev/st0</command>). Unmount the filesystem (e.g. - <filename>umount /mnt</filename>) Repeat for each filesystem - that was damaged.</para> - - <para>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.</para> - - </sect4> - - <sect4> - <title>* I did not prepare for the Disaster, What Now?</title> - - <para></para> - </sect4> - </sect3> - </sect2> </sect1> <sect1 id="hw-other"> diff --git a/en_US.ISO8859-1/books/handbook/install/chapter.sgml b/en_US.ISO8859-1/books/handbook/install/chapter.sgml index 9f6aff2b43..52485fd470 100644 --- a/en_US.ISO8859-1/books/handbook/install/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/install/chapter.sgml @@ -15,10 +15,13 @@ between FreeBSD and your hardware which may, in turn, dictate which installation options are even possible. It can also provide early clues to any compatibility problems which 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 - (the installation will handle any further required downloading - itself).</para> + running on your system at all.</para> + + <para>If you plan on installing via + anonymous FTP then this installation floppy is all you need to + download and create—the installation program itself will handle + any further required downloading directly (using an ethernet connection, + a modem and ppp dialip #, etc).</para> <para>For more information on obtaining the latest FreeBSD distributions, please see <link linkend="mirrors">Obtaining @@ -180,6 +183,11 @@ Boot: 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.</para> + + <warning> + <para>Do not disable any device you will need during installation, such + as your screen (<devicename>sc0</devicename>).</para> + </warning> <para>In the configuration mode, you can:</para> diff --git a/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml b/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml index 6970021feb..a65b2bd0a8 100644 --- a/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml @@ -102,7 +102,7 @@ </listitem> <listitem> - <para>A full compliment of <emphasis>C</emphasis>, + <para>A full complement of <emphasis>C</emphasis>, <emphasis>C++</emphasis> and <emphasis>Fortran</emphasis> development tools. Many additional languages for advanced research and development are also available in the ports and packages collection.</para> @@ -245,7 +245,7 @@ <listitem> <para><emphasis>Software Development:</emphasis> The - basic FreeBSD system comes with a full compliment of + basic FreeBSD system comes with a full complement of development tools including the renowned GNU C/C++ compiler and debugger.</para> </listitem> @@ -348,8 +348,9 @@ (“-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 were done in the Summer and Fall of - '97, the latest being 2.2.6 which appeared in late March of '98. - The first official 3.0 release will appear later in 1998.</para> + '97, the latest being 2.2.7 which appeared in late July of '98. + The first official 3.0 release will appear in October, 1998 and the + last release on the 2.2 branch, 2.2.8, will appear in November.</para> <para>Long term development projects for everything from SMP to DEC ALPHA support will continue to take place in the 3.0-current branch @@ -539,7 +540,7 @@ <para>In addition to the base distributions, FreeBSD offers a new ported software collection with hundreds of commonly sought-after - programs. At the end of March 1998 there were more than 1300 ports! + programs. At the end of August 1998 there were more than 1700 ports! The list of ports ranges from http (WWW) servers, to games, languages, editors and almost everything in between. The entire ports collection requires approximately 26MB of storage, all ports diff --git a/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml b/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml index 34b0961405..42ce6deda9 100644 --- a/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml @@ -1118,16 +1118,7 @@ <listitem> <para>AT&T StarLAN 10 and EN100; 3Com 3C507; - unknown NI5210</para> - </listitem> - </varlistentry> - - <varlistentry><term><literal>device ix0 at isa? port 0x300 net - irq 10 iomem 0xd0000 iosiz 32768 vector - ixintr</literal></term> - - <listitem> - <para>Intel EtherExpress 16</para> + unknown NI5210; Intel EtherExpress 16</para> </listitem> </varlistentry> diff --git a/en_US.ISO8859-1/books/handbook/kerneldebug/chapter.sgml b/en_US.ISO8859-1/books/handbook/kerneldebug/chapter.sgml index 5f6af0f864..f4d06bba3a 100644 --- a/en_US.ISO8859-1/books/handbook/kerneldebug/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/kerneldebug/chapter.sgml @@ -13,7 +13,13 @@ is too small to hold the dump, you can configure your kernel to use an alternate dump device (in the <literal>config kernel</literal> line), or you can specify an alternate using the - <citerefentry><refentrytitle>dumpon</refentrytitle><manvolnum>8</manvolnum></citerefentry> command. Dumps to non-swap devices, tapes for example, + <citerefentry><refentrytitle>dumpon</refentrytitle><manvolnum>8</manvolnum></citerefentry> command. The best way to use <citerefentry> + <refentrytitle>dumpon</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> is to set the <literal>dumpdev</literal> variable in + <filename>/etc/rc.conf</filename>. Typically you want to specify one of + the swap devices specified in <filename>/etc/fstab</filename>. +Dumps to non-swap devices, tapes for example, are currently not supported. Config your kernel using <command>config -g</command>. See <link linkend="kernelconfig">Kernel Configuration</link> for @@ -232,7 +238,23 @@ </sect1> - + + <sect1> + <title>Debugging a crash dump with DDD</title> + + <para>Examining a kernel crash dump with a graphical debugger like + <command>ddd</command> is also possible. Add the <option>-k</option> + option to the <command>ddd</command> command line you would use + normally. For example;</para> + + <informalexample> + <screen>&prompt.root; <userinput>ddd -k /var/crash/kernel.0 /var/crash/vmcore.0</userinput></screen> + </informalexample> + + <para>You should then be able to go about looking at the crash dump using + <command>ddd</command>'d graphical interface.</para> + </sect1> + <sect1> <title>Post-mortem Analysis of a Dump</title> diff --git a/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml b/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml index 426491a079..187301676e 100644 --- a/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml @@ -11,7 +11,7 @@ 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 + &rel.current;-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.</para> @@ -22,11 +22,6 @@ filesystem) or i386-specific calls, such as enabling virtual 8086 mode.</para> - <para>To tell whether your kernel is configured for Linux - compatibility simply run any Linux binary. If it prints the error - message <errorname>linux-executable: Exec format error. Wrong Architecture.</errorname> then you do not have linux compatibility support - and you need to configure and install a new kernel.</para> - <para>Depending on which version of FreeBSD you are running, how you get Linux-emulation up will vary slightly:</para> @@ -180,7 +175,7 @@ options LINUX</programlisting> just grab the linux_lib port:</para> <informalexample> - <screen>&prompt.root; <userinput>cd /usr/ports-current/emulators/linux_lib</userinput> + <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_lib</userinput> &prompt.root; <userinput>make all install</userinput></screen> </informalexample> @@ -188,10 +183,9 @@ options LINUX</programlisting> the mail archives <!-- smiley -->:-) 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 give the Linuxulator heartburn. Also, expect some programs to complain + about incorrect minor versions of the system libraries. In + general, however, this does not seem to be a problem.</para> </sect3> @@ -216,7 +210,7 @@ options LINUX</programlisting> that the Linux <command>ld.so</command> reports.</para> <para>FreeBSD-2.2-RELEASE and later works slightly differently - with respect to <command>/compat/linux</command>. On -CURRENT, all files, not just + with respect to <filename>/compat/linux</filename>: all files, not just libraries, are searched for from the “shadow root” <filename>/compat/linux</filename>.</para> @@ -240,7 +234,7 @@ options LINUX</programlisting> do the necessary installation steps).</para> <para>If you have access to a Linux system, see what shared - libraries it needs, and copy them to your FreeBSD system. + libraries the application 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 <command>ldd linuxxdoom</command>:</para> @@ -313,7 +307,7 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29</screen> <sect3> <title>Configuring the <filename>ld.so</filename> — for FreeBSD - 2.2-RELEASE only</title> + 2.2-RELEASE and later</title> <para>This section applies only to FreeBSD 2.2-RELEASE and later. Those running 2.1-STABLE should skip this section.</para> @@ -424,7 +418,35 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29</screen> </sect3> </sect2> - + + <sect2> + <title>Installing Linux ELF binaries</title> + + <para>ELF binaries sometimes require an extra step of + “branding”. If you attempt to run an unbranded ELF binary, + you will get an error message like the following;</para> + + <informalexample> + <screen>&prompt.user; <userinput>./my-linux-elf-binary</userinput> +ELF binary type not known +Abort</screen> + </informalexample> + + <para>To help the FreeBSD kernel distinguish between a FreeBSD ELF + binary from a Linux one, use the <citerefentry> + <refentrytitle>brandelf</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> utility.</para> + + <informalexample> + <screen>&prompt.user; <userinput>brandelf -t Linux my-linux-elf-binary</userinput></screen> + </informalexample> + + <para>The GNU toolchain now places the appropriate branding information + into ELF binaries automatically, so you should be needing to do this + step increasingly rarely in future.</para> + </sect2> + <sect2> <title>Configuring the host name resolver</title> @@ -455,7 +477,7 @@ multi on</programlisting> <para>Lastly, those who run 2.1-STABLE need to set an the <envar>RESOLV_HOST_CONF</envar> environment variable so that applications will know how to search the host tables. If you run FreeBSD - 2.2-RELEASE, you can skip this. For the + 2.2-RELEASE or later, you can skip this. For the <filename>/bin/csh</filename> shell use:</para> <informalexample> @@ -507,7 +529,7 @@ multi on</programlisting> </listitem> <listitem> - <para>ftp.demon.co.uk:/pub/linux/distributions</para> + <para>ftp.demon.co.uk:/pub/unix/linux</para> </listitem> <listitem> diff --git a/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml b/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml index 225ecb72e6..bfef299630 100644 --- a/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml @@ -41,6 +41,7 @@ <link linkend="mirrors-cz">Czech Republic</link>, <link linkend="mirrors-dk">Denmark</link>, <link linkend="mirrors-ee">Estonia</link>, + <link linkend="mirrors-es">Spain</link>, <link linkend="mirrors-fi">Finland</link>, <link linkend="mirrors-fr">France</link>, <link linkend="mirrors-de">Germany</link>, @@ -54,6 +55,7 @@ <link linkend="mirrors-pt">Portugal</link>, <link linkend="mirrors-ru">Russia</link>, <link linkend="mirrors-za">South Africa</link>, + <link linkend="mirrors-sk">Slovak Republic</link>, <link linkend="mirrors-si">Slovenia</link>, <link linkend="mirrors-se">Sweden</link>, <link linkend="mirrors-tw">Taiwan</link>, @@ -534,7 +536,10 @@ <para><ulink URL="ftp://ftp3.ru.freebsd.org/pub/FreeBSD">ftp://ftp3.ru.freebsd.org/pub/FreeBSD</ulink><!-- <br> --></para> </listitem> - + + <listitem> + <para><ulink url="ftp://ftp4.ru.freebsd.org/pub/FreeBSD">ftp://ftp4.ru.freebsd.org/pub/FreeBSD</ulink></para> + </listitem> </itemizedlist> </listitem> @@ -568,7 +573,22 @@ </listitem> </varlistentry> - + + <varlistentry> + <term><anchor id="mirrors-sk">Slovak Republic</term> + + <listitem> + <para>In case of problems, please contact the hostmaster + <email>hostmaster@sk.FreeBSD.ORG</email> for this domain.</para> + + <itemizedlist> + <listitem> + <para><ulink url="ftp://ftp.sk.freebsd.ORG/pub/FreeBSD">ftp://ftp.sk.freebsd.ORG/pub/FreeBSD</ulink></para> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry><term><anchor id="mirrors-si">Slovenia</term> <listitem> @@ -587,7 +607,22 @@ </listitem> </varlistentry> - + + <varlistentry> + <term><anchor id="mirrors-es">Spain</term> + + <listitem> + <para>In case of problems, please contact the hostmaster + <email>hostmaster@es.FreeBSD.ORG</email> for this domain.</para> + + <itemizedlist> + <listitem> + <para><ulink url="ftp://ftp.es.freebsd.ORG/pub/FreeBSD">ftp://ftp.es.freebsd.ORG/pub/FreeBSD</ulink></para> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry><term><anchor id="mirrors-se">Sweden</term> <listitem> @@ -978,7 +1013,16 @@ </listitem> </varlistentry> - + + <varlistentry> + <term>Denmark</term> + + <listitem> + <para>cvsup.dk.FreeBSD.ORG (maintainer + <email>jesper@skriver.dk</email>)</para> + </listitem> + </varlistentry> + <varlistentry><term>Estonia</term> <listitem> @@ -1031,7 +1075,16 @@ </listitem> </varlistentry> - + + <varlistentry> + <term>Iceland</term> + + <listitem> + <para>cvsup.is.FreeBSD.ORG (maintainer + <email>adam@veda.is</email>)</para> + </listitem> + </varlistentry> + <varlistentry><term>Japan</term> <listitem> @@ -1045,7 +1098,21 @@ <listitem> <para>cvsup2.jp.FreeBSD.ORG (maintainer <email>max@FreeBSD.ORG</email>)</para> </listitem> - + + <listitem> + <para>cvsup3.jp.FreeBSD.ORG (maintainer + <email>shige@cin.nihon-u.ac.jp</email>)</para> + </listitem> + + <listitem> + <para>cvsup4.jp.FreeBSD.ORG (maintainer + <email>cvsup-admin@ftp.media.kyoto-u.ac.jp</email>)</para> + </listitem> + + <listitem> + <para>cvsup5.jp.FreeBSD.ORG (maintainer + <email>cvsup@imasy.or.jp</email>)</para> + </listitem> </itemizedlist> </listitem> @@ -1058,7 +1125,7 @@ <itemizedlist> <listitem> - <para>cvsup.nl.FreeBSD.ORG (maintainer <email>xaa@stack.nl</email>)</para> + <para>cvsup.nl.FreeBSD.ORG (maintainer <email>xaa@xaa.iae.nl</email>)</para> </listitem> </itemizedlist> @@ -1095,7 +1162,25 @@ </listitem> </varlistentry> - + + <varlistentry> + <term>Slovak Republic</term> + + <listitem> + <itemizedlist> + <listitem> + <para>cvsup.sk.FreeBSD.ORG (maintainer + <email>tps@tps.sk</email>)</para> + </listitem> + + <listitem> + <para>cvsup2.sk.FreeBSD.ORG (maintainer + <email>tps@tps.sk</email>)</para> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry><term>South Africa</term> <listitem> diff --git a/en_US.ISO8859-1/books/handbook/pgpkeys/chapter.sgml b/en_US.ISO8859-1/books/handbook/pgpkeys/chapter.sgml index 9c3af53b21..bb512fb1bc 100644 --- a/en_US.ISO8859-1/books/handbook/pgpkeys/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/pgpkeys/chapter.sgml @@ -121,29 +121,38 @@ IVNhdG9zaGkgQXNhbWkgPGFzYW1pQEZyZWVCU0QuT1JHPg== <programlisting> Jonathan M. Bresler <jmb@FreeBSD.org> -Key fingerprint = 31 57 41 56 06 C1 40 13 C5 1C E3 E5 DC 62 0E FB +f16 Fingerprint16 = 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 +Version: PGPfreeware 5.0i for non-commercial use mQCNAzG2GToAAAEEANI6+4SJAAgBpl53XcfEr1M9wZyBqC0tzpie7Zm4vhv3hO8s o5BizSbcJheQimQiZAY4OnlrCpPxijMFSaihshs/VMAz1qbisUYAMqwGEO/T4QIB nWNo0Q/qOniLMxUrxS1RpeW5vbghErHBKUX9GVhxbiVfbwc4wAHbXdKX5jjdAAUR -tCVKb25hdGhhbiBNLiBCcmVzbGVyIDxqbWJARnJlZUJTRC5PUkc+iQCVAwUQNA3x -ffUVW/uOVC1dAQHGdAQAgsnYklBtVUdGuQwXB3bYp9omTD7CVD0aibVrz+lXiPDh -aTVkOC1uhEwL59+R8VdpAnEDMobdZDA/ihCc+6/FW/eE0uyrWZzb5Ng9V1MfC6HI -+sXpeXPy585Z56ewadV2yY9rvzcwmmUNHmAXT/5O0S2AWB0EJZ+cewTrokSTVVOJ -AJUDBRA0C3EoVS4eLnPSiKUBASb+A/95g6w9DDPRGDlbsl4pN1BlSPKrmDQPRK1X -C3bddDY2HNelSNhzp2FYD0WoN1re1vMJV0oaaJHwv7wjbe3+SYEX/IdmtfzI0MbZ -Q/uPybPJOxi2ud6C6J+mEGJN9iBCnsaCz8CETuC9gR1mtxsxySUj9mk0fxKfdP6S -3QDrv6CQ1IkAlQMFEDKsi9CzWmLrWZ8yPQEBduUD/RhV4Qa89rYls9vtIFm6XBjZ -8mW37FYxeqIxg3ZrIyTMlghsOPV0f7zymCCWPRGKOLePRiGo0ZCEkDTYiM9tnwQI -09rmPWJb50yfTSZXjHx6+Hcm6O6BCmDFloo0Mxo6n9pvMH/TmmqHxCsAV+p8XEWy -rMZvwVSynMxmJd17Y5HLtBNKb25hdGhhbiBNLiBCcmVzbGVyiQCVAwUQMbYtYQHb -XdKX5jjdAQHEHwP/fEaQoTi7zKD1U/5kW2YPIBUyMTpLiO9QOr4stYjJvhHh4Ejw -fGvMIhbFrPKtxSNH1s3m4jAXKXiQBDCz17IIzL4n8dlunxNGE5MHcsmpWzggyIg4 -zbPqPOcg4gLFEWsEkr2o0akwzIGa3tbCvC+ITaX/rdlWV1jaQjTqSNyPZBM= -=RV56 +tCVKb25hdGhhbiBNLiBCcmVzbGVyIDxqbWJARnJlZUJTRC5PUkc+iQCVAwUQNbtI +gAHbXdKX5jjdAQHamQP+OQr10QRknamIPmuHmFYJZ0jU9XPIvTTMuOiUYLcXlTdn +GyTUuzhbEywgtOldW2V5iA8platXThtqC68NsnN/xQfHA5xmFXVbayNKn8H5stDY +2s/4+CZ06mmJfqYmONF1RCbUk/M84rVT3Gn2tydsxFh4Pm32lf4WREZWRiLqmw+J +AJUDBRA0DfF99RVb+45ULV0BAcZ0BACCydiSUG1VR0a5DBcHdtin2iZMPsJUPRqJ +tWvP6VeI8OFpNWQ4LW6ETAvn35HxV2kCcQMyht1kMD+KEJz7r8Vb94TS7KtZnNvk +2D1XUx8Locj6xel5c/Lnzlnnp7Bp1XbJj2u/NzCaZQ0eYBdP/k7RLYBYHQQln5x7 +BOuiRJNVU4kAlQMFEDQLcShVLh4uc9KIpQEBJv4D/3mDrD0MM9EYOVuyXik3UGVI +8quYNA9ErVcLdt10NjYc16VI2HOnYVgPRag3Wt7W8wlXShpokfC/vCNt7f5JgRf8 +h2a1/MjQxtlD+4/Js8k7GLa53oLon6YQYk32IEKexoLPwIRO4L2BHWa3GzHJJSP2 +aTR/Ep90/pLdAOu/oJDUiQCVAwUQMqyL0LNaYutZnzI9AQF25QP9GFXhBrz2tiWz +2+0gWbpcGNnyZbfsVjF6ojGDdmsjJMyWCGw49XR/vPKYIJY9EYo4t49GIajRkISQ +NNiIz22fBAjT2uY9YlvnTJ9NJleMfHr4dybo7oEKYMWWijQzGjqf2m8wf9OaaofE +KwBX6nxcRbKsxm/BVLKczGYl3XtjkcuJAJUDBRA1ol5TZWCprDT5+dUBATzXA/9h +/ZUuhoRKTWViaistGJfWi26FB/Km5nDQBr/Erw3XksQCMwTLyEugg6dahQ1u9Y5E +5tKPxbB69eF+7JXVHE/z3zizR6VL3sdRx74TPacPsdhZRjChEQc0htLLYAPkJrFP +VAzAlSlm7qd+MXf8fJovQs6xPtZJXukQukPNlhqZ94kAPwMFEDSH/kF4tXKgazlt +bxECfk4AoO+VaFVfguUkWX10pPSSfvPyPKqiAJ4xn8RSIe1ttmnqkkDMhLh00mKj +lLQuSm9uYXRoYW4gTS4gQnJlc2xlciA8Sm9uYXRoYW4uQnJlc2xlckBVU2kubmV0 +PokAlQMFEDXbdSkB213Sl+Y43QEBV/4D/RLJNTrtAqJ1ATxXWv9g8Cr3/YF0GTmx +5dIrJOpBup7eSSmiM/BL9Is4YMsoVbXCI/8TqA67TMICvq35PZU4wboQB8DqBAr+ +gQ8578M7Ekw1OAF6JXY6AF2P8k7hMcVBcVOACELPT/NyPNByG5QRDoNmlsokJaWU +/2ls4QSBZZlb +=zbCw -----END PGP PUBLIC KEY BLOCK-----</programlisting> </sect2> @@ -219,23 +228,29 @@ Jordan K. Hubbard <jkh@FreeBSD.org> 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 - +Version: 2.6.3ia + 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 +tCNKb3JkYW4gSy4gSHViYmFyZCA8amtoQEZyZWVCU0Qub3JnPokBFQMFEDXCTXQM +j46yp4IfPQEBwO8IAIN0J09AXBf86dFUTFGcAMrEQqOF5IL+KGorAjzuYxERhKfD +ZV7jA+sCQqxkWfcVcE20kVyVYqzZIkio9a5zXP6TwA247JkPt54S1PmMDYHNlRIY +laXlNoji+4q3HP2DfHqXRT2859rYpm/fG/v6pWkos5voPKcZ2OFEp9W+Ap88oqw+ +5rx4VetZNJq1Epmis4INj6XqNqj85+MOOIYE+f445ohDM6B/Mxazd6cHFGGIR+az +VjZ6lCDMLjzhB5+FqfrDLYuMjqkMTR5z9DL+psUvPlCkYbQ11NEWtEmiIWjUcNJN +GCxGzv5bXk0XPu3ADwbPkFE2usW1cSM7AQFiwuyJAJUDBRAxe+Q9a1pnjYGyp3kB +AV7XA/oCSL/Cc2USpQ2ckwkGpyvIkYBPszIcabSNJAzm2hsU9Qa6WOPxD8olDddB +uJNiW/gznPC4NsQ0N8Zr4IqRX/TTDVf04WhLmd8AN9SOrVv2q0BKgU6fLuk979tJ +utrewH6PR2qBOjAaR0FJNk4pcYAHeT+e7KaKy96YFvWKIyDvc4kAlQMFEDF8ldof +f6kIA1j8vQEBDH4D/0Zm0oNlpXrAE1EOFrmp43HURHbij8n0Gra1w9sbfo4PV+/H +U8ojTdWLy6r0+prH7NODCkgtIQNpqLuqM8PF2pPtUJj9HwTmSqfaT/LMztfPA6PQ +csyT7xxdXl0+4xTDl1avGSJfYsI8XCAy85cTs+PQwuyzugE/iykJO1Bnj/paiQCV +AwUQMXvlBvUVW/uOVC1dAQF2fQP/RfYC6RrpFTZHjo2qsUHSRk0vmsYfwG5NHP5y +oQBMsaQJeSckN4n2JOgR4T75U4vS62aFxgPLJP3lOHkU2Vc7xhAuBvsbGr5RP8c5 +LvPOeUEyz6ZArp1KUHrtcM2iK1FBOmY4dOYphWyWMkDgYExabqlrAq7FKZftpq/C +BiMRuaw= +=C/Jw -----END PGP PUBLIC KEY BLOCK-----</programlisting> </sect2> @@ -252,27 +267,30 @@ 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 +tCNQb3VsLUhlbm5pbmcgS2FtcCA8cGhrQEZyZWVCU0Qub3JnPokAlQMFEDQQ0aZ1 +u244dqP3sQEBu4ID/jXFFeJgs2MdTDNOZM/FbfDhI4qxAbYUsqS3+Ra16yd8Wd/A +jV+IHJE2NomFWl8UrUjCGinXiwzPgK1OfFJrS9Og1wQLvAl0X84BA8MTP9BQr4w7 +6I/RbksgUSrVCIO8MJwlydjSPocWGBeXlVjbZxXzyuJk7H+TG+zuI5BuBcNIiQCV +AwUQMwYr2rNaYutZnzI9AQHiIQP/XxtBWFXaBRgVLEhRNpS07YdU+LsZGlLOZehN +9L4UnJFHQQPNOpMey2gF7Y95aBOw5/1xS5vlQpwmRFCntWsm/gqdzK6rulfr1r5A +y94LO5TAC6ucNu396Y4vo1TyD1STnRC466KlvmtQtAtFGgXlORWLL9URLzcRFd1h +D0yXd9aJAJUDBRAxfo19a1pnjYGyp3kBAQqyA/4v64vP3l1F0Sadn6ias761hkz/ +SMdTuLzILmofSCC4o4KWMjiWJHs2Soo41QlZi1+xMHzV32JKiwFlGtPHqL+EHyXy +Q4H3vmf9/1KF+0XCaMtgI0wWUMziPSTJK8xXbRRmMDK/0F4TnVVaUhnmf+h5K7O6 +XdmejDTa0X/NWcicmIkAlQMFEDF8lef1FVv7jlQtXQEBcnwD/0ro1PpUtlkLmreD +tsGTkNa7MFLegrYRvDDrHOwPZH152W2jPUncY+eArQJakeHiTDmJNpFagLZglhE0 +bqJyca+UwCXX+6upAclWHEBMg2byiWMMqyPVEEnpUoHM1sIkgdNWlfQAmipRBfYh +2LyCgWvR8CbtwPYIFvUmGgB3MR87iQCVAwUQMUseXB9/qQgDWPy9AQGPkwP/WEDy +El2Gkvua9COtMAifot2vTwuvWWpNopIEx0Ivey4aVbRLD90gGCJw8OGDEtqFPcNV +8aIiy3fYVKXGZZjvCKd7zRfhNmQn0eLDcymq2OX3aPrMc2rRlkT4Jx425ukR1gsO +qiQAgw91aWhY8dlw/EKzk8ojm52x4VgXaBACMjaJAJUDBRAxOUOg72G56RHVjtUB +AbL4A/9HOn5Qa0lq9tKI/HkSdc5fGQD/66VdCBAb292RbB7CS/EM07MdbcqRRYIa +0+0gwQ3OdsWPdCVgH5RIhp/WiC+UPkR1cY8N9Mg2kTwJfZZfNqN+BgWlgRMPN27C +OhYNl8Q33Nl9CpBLrZWABF44jPeT0EvvTzP/5ZQ7T75EsYKYiYkAlQMFEDDmryQA +8tkJ67sbQQEBPdsEALCj6v1OBuJLLJTlxmmrkqAZPVzt5QdeO3Eqa2tcPWcU0nqP +vHYMzZcZ7oFg58NZsWrhSQQDIB5e+K65Q/h6dC7W/aDskZd64jxtEznX2kt0/MOr +8OdsDis1K2f9KQftrAx81KmVwW4Tqtzl7NWTDXt44fMOtibCwVq8v2DFkTJy +=JKbP -----END PGP PUBLIC KEY BLOCK-----</programlisting> </sect2> diff --git a/en_US.ISO8859-1/books/handbook/policies/chapter.sgml b/en_US.ISO8859-1/books/handbook/policies/chapter.sgml index 4f675a2c0d..cd77ca0ba2 100644 --- a/en_US.ISO8859-1/books/handbook/policies/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/policies/chapter.sgml @@ -47,7 +47,9 @@ MAINTAINER= email-addresses</programlisting> <sect1> <title>Contributed Software</title> - + + <para><emphasis>Contributed by &a.phk; and &a.obrien;. </emphasis></para> + <para>June 1996.</para> <para>Some parts of the FreeBSD distribution consist of software that @@ -75,7 +77,18 @@ MAINTAINER= email-addresses</programlisting> 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.</para> - + + <note> + <para>Because of some unfortunate design limitations with the RCS file + format and CVS's use of vendor branches, minor, trivial and/or + cosmetic changes are <emphasis>strongly discouraged</emphasis> on + files that are still tracking the vendor branch. “Spelling + fixes” are explicitly included here under the + “cosmetic” category and are to be avoided for files with + revision 1.1.x.x. The repository bloat impact from a single character + change can be rather dramatic.</para> + </note> + <para>The <application>Tcl</application> embedded programming language will be used as example of how this model works:</para> @@ -104,14 +117,14 @@ MAINTAINER= email-addresses</programlisting> <para>The important thing here is that the <filename>src/contrib/tcl</filename> 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 + (on a proper CVS vendor-branch and without RCS keyword expansion) 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.</para> - <para>Because of some unfortunate design limitations with CVS's vendor + <para>Because of the previously mentioned 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 diff --git a/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml b/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml index 488efe87c2..b0d244ca37 100644 --- a/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml @@ -38,7 +38,13 @@ client/server software such as <command>pppd</command>. Unless otherwise stated, all commands in this section should be executed as root.</para> - + <para>There are a large number of enhancements in version 2 of ppp. You + can discover what version you have by running ppp with no arguments + and typing <command>show version</command> at the prompt. It is a + simple matter to upgrade to the latest version of ppp (under any + version of FreeBSD) by downloading the latest archive via <ulink + url="http://www.Awfulhak.org/ppp.html">www.Awfulhak.org</ulink>.</para> + <sect2> <title>Before you start</title> @@ -65,42 +71,45 @@ login/password pair.</para> </listitem> - <listitem> - <para>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 “default route”. If your - ISP hasn't given you this number, don't worry. We can make - one up and your ISP's PPP server will tell us when we - connect.</para> - - <para>This number is known from now on as - <literal>HISADDR</literal>.</para> - </listitem> - - <listitem> - <para>Your ISP's netmask setting. Again, if your ISP hasn't - given you this information, you can safely use a netmask of - <hostid role="netmask">255.255.255.0</hostid>.</para> - </listitem> - <listitem> <para>The IP addresses of one or more nameservers. Normally, you will be given two IP numbers. You - <emphasis>must</emphasis> have this information unless you run - your own nameserver.</para> + <emphasis>must</emphasis> have this information for + <application>PPP</application> version 1.x unless you run + your own nameserver. From version 2 onwards, + <application>PPP</application> supports nameserver address + negotiation. If your ISP supports this, then using the command + <command>enable dns</command> in your config file will tell + <application>PPP</application> to set the nameservers for + you.</para> </listitem> + </itemizedlist> + + <para>The following information may have been supplied by your ISP, + but is not strictly necessary:</para> + + <itemizedlist> + <listitem> + <para>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 + <emphasis>default route</emphasis>. If your ISP hasn't given + you this number, we can make one up and your ISP's PPP server + will tell us the correct value when we connect.</para> - <listitem> - <para>If your ISP allocates you a static IP address and - hostname then you will need this information too. If not, - you will need to know from what range of IP addresses your - allocated IP address will belong. If you haven't been given - this range, don't worry. You can configure <command>ppp</command> to accept any - IP number (as explained later).</para> - </listitem> - - </itemizedlist> - + <para>This IP number is referred to as <literal>HISADDR</literal> + by ppp.</para> + </listitem> + + <listitem> + <para>Your ISP's netmask. If your ISP hasn't given you this + information, you can safely use a netmask of <hostid + role="netmask">255.255.255.0</hostid>.</para> + + <para>If your ISP allocates you a static IP address and hostname + then you can enter this information. Otherwise, we simply let the + peer assign whatever IP number it sees fit.</para> + </listitem> + </itemizedlist> <para>If you do not have any of the required information, contact your ISP and make sure they provide it to you.</para> @@ -148,11 +157,14 @@ tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 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</screen> +tun3: flags=8010<POINTOPOINT,MULTICAST> mtu 1500</screen> </informalexample> <para>This case shows four tunnel devices, two of which are - currently configured and being used.</para> + currently configured and being used. It should be noted that the + <literal>RUNNING</literal> flag above indicates that the interface has + been used at some point—it is not an error if your interface does + not show up as <literal>RUNNING</literal>.</para> <para>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 @@ -200,7 +212,14 @@ tun3: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500</screen> <screen>&prompt.root; <userinput>ifconfig tun0</userinput> tun0: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500</screen> </informalexample> - + + <para>The <literal>RUNNING</literal> flag may not yet be set, in which + case you will see:</para> + + <informalexample> + <screen>&prompt.root; <userinput>ifconfig tun0</userinput> +tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500</screen> + </informalexample> </sect2> <sect2> @@ -228,7 +247,9 @@ tun0: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500</screen> <sect3> <title>Edit the <filename>/etc/host.conf</filename> file</title> - <para>This file should contain the following two lines:</para> + <para>This file should contain the following two lines (in this +order):</para> + <programlisting> hosts @@ -286,7 +307,13 @@ domain <replaceable>bar.com</replaceable></programlisting> domain, and is probably unnecessary. Refer to the <filename>resolv.conf</filename> manual page for details of other possible entries in this file.</para> - + + <para>If you are running PPP version 2 or greater, the <command>enable + dns</command> command will tell PPP to request that your ISP + confirms the nameserver values. If your ISP supplies different + addresses (or if there are no nameserver lines in + <filename>/etc/resolv.conf</filename>), PPP will rewrite the file + with the ISP-supplied values.</para> </sect3> </sect2> @@ -328,12 +355,11 @@ domain <replaceable>bar.com</replaceable></programlisting> 4 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0 OK-AT-OK \\dATDT\\TTIMEOUT 40 CONNECT" 5 provider: 6 set phone "(0123) 456 7890" -7 set login "TIMEOUT 10 gin:-BREAK-gin: foo word: bar col: ppp" +7 set login "TIMEOUT 10 \"\" \"\" gin:--gin: foo word: bar col: ppp" 8 set timeout 300 -9 deny lqr -10 set ifaddr <replaceable>x.x.x.x</replaceable> <replaceable>y.y.y.y</replaceable> -11 delete ALL -12 add 0 0 HISADDR</programlisting> +9 set ifaddr <replaceable>x.x.x.x</replaceable> <replaceable>y.y.y.y</replaceable> 255.255.255.0 0.0.0.0 +10 add default HISADDR +11 enable dns</programlisting> <para>Do not include the line numbers, they are just for reference in this discussion.</para> @@ -415,7 +441,11 @@ protocol: ppp</screen> </informalexample> <para>You will need to alter this script to suit your own - needs. If you're using PAP or CHAP, there will be no + needs. When you write this script for the first time, + you should enable “chat” logging to ensure that + the conversation is going as expected.</para> + + <para>If you're using PAP or CHAP, there will be no login at this point, so your login string can be left blank. See <link linkend="userppp-PAPnCHAP">PAP and CHAP @@ -435,26 +465,6 @@ protocol: ppp</screen> <varlistentry><term>Line 9:</term> - <listitem> - <para><command>ppp</command> can be configured to exchange Link Quality - Report (LQR) packets. These packets describe how good - the physical link is. <command>ppp</command>'s LQR strategy is to close - the connection when a number of these packets are - missed. This is useful when you have a direct serial - link to another machine and the DSR modem signal is not - available to indicate that the line is up. When data - saturates the line, LQR packets are sometimes - “missed”, causing <command>ppp</command> to close the connection - prematurely. Refusing to negotiate lqr is sometimes - prudent (if you are going through a modem) as it avoids - this whole mess. By default, <command>ppp</command> will not attempt to - negotiate LQR, but will accept LQR negotiation from the - peer.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Line 10:</term> - <listitem> <para>Sets the interface addresses. The string <replaceable>x.x.x.x</replaceable> should be replaced by the IP address that your provider @@ -473,17 +483,7 @@ protocol: ppp</screen> </listitem> </varlistentry> - <varlistentry><term>Line 11:</term> - - <listitem> - <para>Deletes all existing routing table entries for the - acquired tun device. This should not normally be - necessary, but will make sure that <command>ppp</command> is starting with - a clean bill of health.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Line 12:</term> + <varlistentry><term>Line 10:</term> <listitem> <para>Adds a default route to your ISPs gateway. The @@ -492,9 +492,21 @@ protocol: ppp</screen> important that this line appears after line 9, otherwise <literal>HISADDR</literal> will not yet be initialized.</para> - + </listitem> </varlistentry> + + <varlistentry> + <term>Line 11:</term> + + <listitem> + <para>This line tells PPP to ask your ISP to confirm that your + nameserver addresses are correct. If your ISP supports this + facility, PPP can then update + <filename>/etc/resolv.conf</filename> with the correct + nameserver entries.</para> + </listitem> + </varlistentry> </variablelist> <para>It is not necessary to add an entry to @@ -522,7 +534,7 @@ protocol: ppp</screen> Static IP addresses</link>, with the following change:</para> <programlisting> -10 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0</programlisting> +9 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0</programlisting> <para>Again, do not include the line numbers, they are just for reference in this discussion. Indentation of at least one space @@ -530,34 +542,28 @@ protocol: ppp</screen> <variablelist> - <varlistentry><term>Line 10:</term> + <varlistentry><term>Line 9:</term> <listitem> <para>The number after the <literal>/</literal> character is the number of bits of the address that ppp will insist on. You may wish to use IP numbers more appropriate to your - circumstances, but the above example will almost always - work. If it fails, you may be able to defeat some - broken ppp implementations by supplying an additional - <literal>0.0.0.0</literal> argument:</para> - - <programlisting> -set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0</programlisting> - - <para>This tells ppp to negotiate using address <hostid - role="ipaddr">0.0.0.0</hostid> rather than <hostid - role="ipaddr">10.0.0.1</hostid>. Do not use <hostid - role="netmask">0.0.0.0/0</hostid> as the first argument - to <command>set ifaddr</command> as it - prevents <command>ppp</command> from setting up an initial route in - <option>-auto</option> and <option>-ddial</option> - mode.</para> + circumstances, but the above example will always + work.</para> + + <para>The last argument (<literal>0.0.0.0</literal>) tells PPP + to negotiate using address <hostid + role="ipaddr">0.0.0.0</hostid> rather than <hostid + role="ipaddr">10.0.0.1</hostid>. Do not use + <literal>0.0.0.0</literal> as the first argument to + <command>set ifaddr</command> as it prevents PPP from setting + up an intial route in <option>-auto</option> mode.</para> </listitem> </varlistentry> </variablelist> - <para>You will also need to create an entry in + <para>If you are running version 1.x of PPP, uou will also need to create an entry in <filename>/etc/ppp/ppp.linkup</filename>. <filename>ppp.linkup</filename> is used after a connection has been established. At this point, <command>ppp</command> will know what IP @@ -611,7 +617,14 @@ set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0</programlisting> <filename>/etc/ppp/ppp.conf.sample</filename> and <filename>/etc/ppp/ppp.linkup.sample</filename> for a detailed example.</para> - + + <para>Version 2 of PPP introduces “sticky routes”. Any + <literal>add</literal> or <literal>delete</literal> lines that + contain <literal>MYADDR</literal> or <literal>HISADDR</literal> will + be remembered, and any time the actual values of + <literal>MYADDR</literal> or <literal>HISADDR</literal> change, the + routes will be re-applied. This removes the necessity of repeating + these lines in <filename>ppp.linkup</filename>.</para> </sect3> <sect3> @@ -621,24 +634,21 @@ set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0</programlisting> role.</para> <para>When you configure <command>ppp</command> to - receive incoming calls, you must decide whether you wish to - forward packets for just PPP - connections, for all interfaces, or not at all. To forward for - just PPP connections, include the line + receive incoming calls on a machine connected to a LAN, you must decide if you wish to + forward packets to the LAN. If you do, you should allocate the + peer an IP number from your LAN's subet, and use the command <programlisting> enable proxy</programlisting> - in your <filename>ppp.conf</filename> file. If you wish to - forward packets on all interfaces, use the - + in your <filename>ppp.conf</filename> file. You should also + confirm that the <filename>/etc/rc.conf</filename> file (this file + used to be called <filename>/etc/sysconfig</filename>) contains the + following:</para> + <programlisting> gateway=YES</programlisting> - - option in <filename>/etc/rc.conf</filename> (this file used - to be called <filename>/etc/sysconfig</filename>).</para> - - + <sect4> <title>Which getty?</title> @@ -672,7 +682,16 @@ gateway=YES</programlisting> permission to run <command>ppp</command> by adding them to the <username>network</username> group in <filename>/etc/group</filename>.</para> - + + <para>You will also need to give them access to one or more sections + of the configuration file using the <command>allow</command> + command:</para> + + <programlisting> +allow users fred mary</programlisting> + + <para>If this command is used in the <literal>default</literal> + section, it gives the specified users access to everything.</para> </sect4> <sect4> @@ -702,7 +721,7 @@ exec /usr/sbin/ppp -direct $IDENT</programlisting> using the following commands:</para> <informalexample> - <screen>&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-dialup</userinput></screen> + <screen>&prompt.root; <userinput>ln -s ppp-shell /etc/ppp/ppp-dialup</userinput></screen> </informalexample> <para>You should use this script as the @@ -855,9 +874,6 @@ mary: <programlisting> #!/bin/sh -TTY=`tty` -IDENT=`basename $TTY` - exec /usr/sbin/ppp -direct pap$IDENT</programlisting> <para>For each dialup line enabled in @@ -867,14 +883,9 @@ exec /usr/sbin/ppp -direct pap$IDENT</programlisting> above.</para> <programlisting> -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 +pap: + enable pap + set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40 enable proxy</programlisting> <para>Each user logging in with this method will need to have @@ -886,36 +897,43 @@ papttyd1: enable passwdauth</programlisting> <para>option to authenticate users via pap from the - <filename>/etc/password</filename>d file<footnote><para>(*) 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)</para> - </footnote>.</para> - + <filename>/etc/password</filename> file.</para> + + <para>If you wish to assign some users a static IP number, you can + specify the number as the third argument in + <filename>/etc/ppp/ppp.secret</filename>. See + <filename>/etc/ppp/ppp.secret.sample</filename> for + examples.</para> </sect5> <sect5> <title>MS extentions</title> - - <para>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.</para> - - <para>An example of enabling these extensions in your - <filename>/etc/ppp/ppp.conf</filename> file is illustrated - below.</para> - + + <para>It is possible to configure PPP to supply DNS and NetBIOS + nameserver addresses on demand.</para> + + <para>To enable these extensions with PPP version 1.x, the + following lines might be added to the relevant section of + <filename>/etc/ppp/ppp.conf</filename>.</para> + <programlisting> -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</programlisting> - +enable msext +set ns 203.14.100.1 203.14.100.2 +set nbns 203.14.100.5</programlisting> + + <para>And for PPP version 2 and above:</para> + + <programlisting> +accept dns +set dns 203.14.100.1 203.14.100.2 +set nbns 203.14.100.5</programlisting> + <para>This will tell the clients the primary and secondary name server addresses, and a netbios nameserver host.</para> - + + <para>In version 2 and above, if the <literal>set dns</literal> + line is ommitted, PPP will use the values found in + <filename>/etc/resolv.conf</filename>.</para> </sect5> </sect4> </sect3> @@ -932,7 +950,7 @@ default: <para>PAP is less secure than CHAP, but security is not normally an issue here as passwords, although being sent as plain text with PAP, are being transmitted down a serial line only. - There's not much room for hackers to “eavesdrop”.</para> + There's not much room for crackers to “eavesdrop”.</para> <para>Referring back to the <link linkend="userppp-staticIP">PPP and Static IP addresses</link> or <link linkend="userppp-dynamicIP">PPP and Dynamic IP @@ -942,8 +960,8 @@ default: <programlisting> 7 set login … -13 set authname <replaceable>MyUserName</replaceable> -14 set authkey <replaceable>MyPassword</replaceable></programlisting> +12 set authname <replaceable>MyUserName</replaceable> +13 set authkey <replaceable>MyPassword</replaceable></programlisting> <para>As always, do not include the line numbers, they are just for reference in this discussion. Indentation of at least one @@ -959,7 +977,7 @@ default: </listitem> </varlistentry> - <varlistentry><term>Line 13:</term> + <varlistentry><term>Line 12:</term> <listitem> <para>This line specifies your PAP/CHAP user name. You @@ -968,7 +986,7 @@ default: </listitem> </varlistentry> - <varlistentry><term>Line 14:</term> + <varlistentry><term>Line 13:</term> <listitem> <para>This line specifies your PAP/CHAP password. You @@ -980,56 +998,29 @@ default: <programlisting> 15 accept CHAP</programlisting> to make it obvious that this is the - intention, but PAP and CHAP are accepted by + intention, but PAP and CHAP are both accepted by default.</para> </listitem> </varlistentry> </variablelist> - - - <note> - <para>Your <literal>authkey</literal> will be logged - if you have command logging turned on (<command>set log - +command</command>). Care should be taken when deciding the - ppp log file permissions.</para> - </note> </sect3> <sect3> <title>Changing your <command>ppp</command> configuration on the fly</title> <para>It is possible to talk to the <command>ppp</command> program while it is - running in the background, but only if a suitable password has - been set up.</para> - - <para>By default, ppp will listen to a TCP port of 3000 + - <replaceable>tunno</replaceable>, where <replaceable>tunno</replaceable> is the number of the tun device - acquired, however, if a password for the local machine is not - set up in <filename>/etc/ppp/ppp.secret</filename>, no server - connection will be created. To set your password, put the - following line in - <filename>/etc/ppp/ppp.secret</filename>:</para> - - <programlisting> -<replaceable>foo</replaceable> <replaceable>MyPassword</replaceable></programlisting> - - <para><replaceable>foo</replaceable> is your local - hostname (run <command>hostname -s</command> to determine the - correct name), and <replaceable>MyPassword</replaceable> is - the unencrypted password that you wish to use. - <filename>/etc/ppp/ppp.secret</filename> should - <emphasis>not</emphasis> be accessable by anyone without user id - <username>0</username>. This means that <filename>/</filename>, - <filename>/etc</filename> and <filename>/etc/ppp</filename> - should not be writable, and <filename>ppp.secret</filename> - should be owned by user id <username>0</username> and have permissions 0600.</para> - - <para>It is also possible to select a specific port number or to - have ppp listen to a local unix domain socket rather than to a - TCP socket. Refer to the <command>set - socket</command> command in manual page for further - details.</para> + running in the background, but only if a suitable diagnostic port has + been set up. To do this, add the following line to your + configuration:</para> + + <programlisting> +set server /var/run/ppp-tun%d DiagnosticPassword 0177</programlisting> + + <para>This will tell PPP to listen to the specified unix-domain + socket, asking clients for the specified password before allowing + access. The <literal>%d</literal> in the name is replaced with teh + tun device number that is in use.</para> <para>Once a socket has been set up, the <citerefentry><refentrytitle>pppctl</refentrytitle><manvolnum>8</manvolnum></citerefentry> program may be used in scripts that @@ -1230,8 +1221,8 @@ sendmail_flags="-bd"</programlisting> <sect2> <title>Acknowledgments</title> - <para>This section of the handbook was last updated on Sun Sep 7, - 1997 by &a.brian;</para> + <para>This section of the handbook was last updated on Monday Aug 10, + 1998 by &a.brian;</para> <para>Thanks to the following for their input, comments & suggestions:</para> diff --git a/en_US.ISO8859-1/books/handbook/printing/chapter.sgml b/en_US.ISO8859-1/books/handbook/printing/chapter.sgml index 47309e11ae..1b39eac6bd 100644 --- a/en_US.ISO8859-1/books/handbook/printing/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/printing/chapter.sgml @@ -3969,7 +3969,11 @@ done linkend="printing-simple">Simple Printer Setup</link>. Do any advanced setup in <link linkend="printing-advanced">Advanced Printer Setup</link> that you need. Make sure to test the printer and see if it works with the features of LPD - you have enabled.</para> + you have enabled. Also ensure that the <emphasis>local + host</emphasis> has authorization to use the LPD service in the + <emphasis>remote host</emphasis> (see <link + linkend="printing-advanced-restricting-remote">Restricting Jobs + from Remote Printers</link>).</para> <para>If you are using a printer with a network interface that is compatible with LPD, then the <emphasis>printer host</emphasis> diff --git a/en_US.ISO8859-1/books/handbook/security/chapter.sgml b/en_US.ISO8859-1/books/handbook/security/chapter.sgml index 00f1b8aa4c..b620aeb316 100644 --- a/en_US.ISO8859-1/books/handbook/security/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/security/chapter.sgml @@ -440,8 +440,8 @@ permit port ttyd0</programlisting> software, please <emphasis>do not</emphasis> get it from a USA or Canada site. You will get that site in <emphasis>big</emphasis> trouble! A legal copy of this is available from - <hostid role="fqdn">skeleton.mikom.csir.co.za</hostid>, which is in South - Africa.</para> + <hostid role="fqdn">ftp.internat.freebsd.org</hostid>, which is in + South Africa and an official FreeBSD mirror site.</para> <sect2> @@ -464,7 +464,7 @@ README krb.conf krb.realms</screen> <filename>principal.*</filename> or <filename>master_key</filename>) exist, then use the <command>kdb_destroy</command> command to destroy the old Kerberos database, of if Kerberos is not running, - simply delete the extra files with <command>rm</command>.</para> + simply delete the extra files.</para> <para>You should now edit the <filename>krb.conf</filename> and <filename>krb.realms</filename> files to define your Kerberos @@ -939,10 +939,10 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen> <para>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 + able to stop a really determined cracker 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.</para> + crackers job that bit easier.</para> </note> @@ -1534,20 +1534,20 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen> <title>Example commands for ipfw</title> <para>This command will deny all packets from the host - <hostid role="fqdn">evil.hacker.org</hostid> to the telnet port of the + <hostid role="fqdn">evil.crackers.org</hostid> to the telnet port of the host <hostid role="fqdn">nice.people.org</hostid> by being forwarded by the router:</para> <informalexample> - <screen>&prompt.root <userinput>ipfw add deny tcp from evil.hacker.org to nice.people.org 23</userinput></screen> + <screen>&prompt.root <userinput>ipfw add deny tcp from evil.crackers.org to nice.people.org 23</userinput></screen> </informalexample> <para>The next example denies and logs any TCP traffic from the - entire <hostid role="domainname">hacker.org</hostid> network (a class C) to the + entire <hostid role="domainname">crackers.org</hostid> network (a class C) to the <hostid role="fqdn">nice.people.org</hostid> machine (any port).</para> <informalexample> - <screen>&prompt.root; <userinput>ipfw add deny log tcp from evil.hacker.org/24 to nice.people.org</userinput></screen> + <screen>&prompt.root; <userinput>ipfw add deny log tcp from evil.crackers.org/24 to nice.people.org</userinput></screen> </informalexample> <para>If you do not want people sending X sessions to your internal diff --git a/en_US.ISO8859-1/books/handbook/staff/chapter.sgml b/en_US.ISO8859-1/books/handbook/staff/chapter.sgml index e4277e11e2..350c823cb5 100644 --- a/en_US.ISO8859-1/books/handbook/staff/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/staff/chapter.sgml @@ -30,10 +30,6 @@ <para>&a.ache;</para> </listitem> - <listitem> - <para>&a.dyson;</para> - </listitem> - <listitem> <para>&a.bde;</para> </listitem> @@ -43,7 +39,7 @@ </listitem> <listitem> - <para>&a.davidg;</para> + <para>&a.dg;</para> </listitem> <listitem> @@ -96,12 +92,14 @@ <para>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.</para> + are also developers.</para> <itemizedlist> - + <listitem> + <para>&a.ugen;</para> + </listitem> + <listitem> <para>&a.mbarkah;</para> </listitem> @@ -109,7 +107,15 @@ <listitem> <para>&a.stb;</para> </listitem> - + + <listitem> + <para>&a.pb;</para> + </listitem> + + <listitem> + <para>&a.abial;</para> + </listitem> + <listitem> <para>&a.jb;</para> </listitem> @@ -117,15 +123,31 @@ <listitem> <para>&a.torstenb;</para> </listitem> + + <listitem> + <para>&a.dburr;</para> + </listitem> <listitem> <para>&a.danny;</para> </listitem> - + + <listitem> + <para>&a.thepish;</para> + </listitem> + <listitem> <para>&a.charnier;</para> </listitem> - + + <listitem> + <para>&a.luoqi;</para> + </listitem> + + <listitem> + <para>&a.ejc;</para> + </listitem> + <listitem> <para>&a.kjc;</para> </listitem> @@ -141,7 +163,11 @@ <listitem> <para>&a.adam;</para> </listitem> - + + <listitem> + <para>&a.dillon;</para> + </listitem> + <listitem> <para>&a.dufault;</para> </listitem> @@ -222,14 +248,14 @@ <para>&a.hanai;</para> </listitem> - <listitem> - <para>&a.ahasty;</para> - </listitem> - <listitem> <para>&a.jhay;</para> </listitem> - + + <listitem> + <para>&a.ghelmer;</para> + </listitem> + <listitem> <para>&a.helbig;</para> </listitem> @@ -237,19 +263,23 @@ <listitem> <para>&a.erich;</para> </listitem> - + + <listitem> + <para>&a.hosokawa;</para> + </listitem> + <listitem> <para>&a.hsu;</para> </listitem> - + + <listitem> + <para>&a.mph;</para> + </listitem> + <listitem> <para>&a.itojun;</para> </listitem> - <listitem> - <para>&a.ugen;</para> - </listitem> - <listitem> <para>&a.gj;</para> </listitem> @@ -269,7 +299,27 @@ <listitem> <para>&a.andreas;</para> </listitem> - + + <listitem> + <para>&a.motoyuki;</para> + </listitem> + + <listitem> + <para>&a.jkoshy;</para> + </listitem> + + <listitem> + <para>&a.kuriyama;</para> + </listitem> + + <listitem> + <para>&a.grog;</para> + </listitem> + + <listitem> + <para>&a.jlemon;</para> + </listitem> + <listitem> <para>&a.imp;</para> </listitem> @@ -281,11 +331,15 @@ <listitem> <para>&a.mckay;</para> </listitem> - - <listitem> - <para>&a.jlemon;</para> - </listitem> - + + <listitem> + <para>&a.mckusick;</para> + </listitem> + + <listitem> + <para>&a.ken;</para> + </listitem> + <listitem> <para>&a.tedm;</para> </listitem> @@ -305,7 +359,11 @@ <listitem> <para>&a.alex;</para> </listitem> - + + <listitem> + <para>&a.rnordier;</para> + </listitem> + <listitem> <para>&a.davidn;</para> </listitem> @@ -313,7 +371,11 @@ <listitem> <para>&a.obrien;</para> </listitem> - + + <listitem> + <para>&a.ljo;</para> + </listitem> + <listitem> <para>&a.fsmp;</para> </listitem> @@ -393,6 +455,10 @@ <listitem> <para>&a.msmith;</para> </listitem> + + <listitem> + <para>&a.des;</para> + </listitem> <listitem> <para>&a.brian;</para> @@ -405,7 +471,11 @@ <listitem> <para>&a.karl;</para> </listitem> - + + <listitem> + <para>&a.dt;</para> + </listitem> + <listitem> <para>&a.cwt;</para> </listitem> @@ -418,10 +488,18 @@ <para>&a.hoek;</para> </listitem> + <listitem> + <para>&a.nectar;</para> + </listitem> + <listitem> <para>&a.swallace;</para> </listitem> - + + <listitem> + <para>&a.dwhite;</para> + </listitem> + <listitem> <para>&a.nate;</para> </listitem> @@ -459,7 +537,7 @@ <variablelist> <varlistentry><term>Documentation Project Manager</term> <listitem> - <para>&a.jfieber;</para> + <para><emphasis>currently vacant</emphasis></para> </listitem> </varlistentry> @@ -467,10 +545,7 @@ <varlistentry><term>Webmaster</term> <listitem> - <para>&a.mbarkah;</para> - - <para><emphasis>Deputy:</emphasis> &a.paul;</para> - + <para>&a.wosch;;</para> </listitem> </varlistentry> @@ -482,26 +557,6 @@ </listitem> </varlistentry> - <varlistentry><term>Build Engineer</term> - - <listitem> - <para>&a.paul;</para> - - <para><emphasis>Deputy:</emphasis> &a.dave;</para> - - </listitem> - </varlistentry> - - <varlistentry><term>Mirror Manager</term> - - <listitem> - <para>&a.ulf;</para> - - <para><emphasis>Deputy:</emphasis> &a.john;</para> - - </listitem> - </varlistentry> - <varlistentry><term>News Editor</term> <listitem> @@ -511,7 +566,15 @@ </listitem> </varlistentry> - + + <varlistentry> + <term>FreeBSD Really-Quick NewsLetter Editor</term> + + <listitem> + <para>Chris Coleman <email>chrisc@vmunix.com</email></para> + </listitem> + </varlistentry> + <varlistentry><term>Gallery and Commercial Editor</term> <listitem> @@ -525,10 +588,7 @@ <varlistentry><term>Style Police & Art Director</term> <listitem> - <para>&a.dave;</para> - - <para><emphasis>Deputy:</emphasis> &a.opsys;</para> - + <para>&a.opsys;</para> </listitem> </varlistentry> @@ -536,19 +596,13 @@ <listitem> <para>&a.mayo;</para> - - <para><emphasis>Deputy:</emphasis> &a.cracauer;</para> - </listitem> </varlistentry> <varlistentry><term>CGI Engineer</term> <listitem> - <para>&a.cracauer;</para> - - <para><emphasis>Deputy:</emphasis> &a.stb;</para> - + <para>&a.stb;</para> </listitem> </varlistentry> @@ -556,11 +610,16 @@ <listitem> <para>&a.nsj;</para> - - <para><emphasis>Drying plates:</emphasis> &a.nik;</para> - </listitem> </varlistentry> + + <varlistentry> + <term>LinuxDoc to DocBook conversion</term> + + <listitem> + <para>&a.nik;</para> + </listitem> + </varlistentry> </variablelist> @@ -573,20 +632,21 @@ <variablelist> <varlistentry><term>Principal Architect</term> <listitem> - <para>&a.davidg;</para> + <para>&a.dg;</para> </listitem> </varlistentry> - <varlistentry><term>Documentation Project Manager</term> + <varlistentry><term><ulink + url="http://www.freebsd.org/docproj/docproj.html">Documentation Project Manager</ulink></term> <listitem> - <para>&a.jfieber;</para> + <para><emphasis>currently vacant</emphasis></para> </listitem> </varlistentry> - <varlistentry><term>Internationalization</term> + <varlistentry><term><link linkend="l10n">Internationalization</link></term> <listitem> <para>&a.ache;</para> @@ -602,7 +662,7 @@ </listitem> </varlistentry> - <varlistentry><term>Postmaster</term> + <varlistentry><term><link linkend="eresources-mail">Postmaster</link></term> <listitem> <para>&a.jmb;</para> @@ -627,7 +687,7 @@ </listitem> </varlistentry> - <varlistentry><term>Security Officer</term> + <varlistentry><term><ulink url="http://www.freebsd.org/security/">Security Officer</ulink></term> <listitem> <para>&a.guido;</para> @@ -635,7 +695,7 @@ </listitem> </varlistentry> - <varlistentry><term>Source Repository Managers</term> + <varlistentry><term><ulink url="http://www.freebsd.org/support.html#cvs">>Source Repository Managers</ulink></term> <listitem> <para>Principal: &a.peter;</para> @@ -647,7 +707,7 @@ </listitem> </varlistentry> - <varlistentry><term>Ports Manager</term> + <varlistentry><term><ulink url="http://www.freebsd.org/ports/">Ports Manager</ulink></term> <listitem> <para>&a.asami;</para> @@ -663,7 +723,7 @@ </listitem> </varlistentry> - <varlistentry><term>Usenet Support</term> + <varlistentry><term><link linkend="eresources-news">Usenet Support</link></term> <listitem> <para>&a.joerg;</para> @@ -671,13 +731,20 @@ </listitem> </varlistentry> - <varlistentry><term>GNATS Administrator</term> + <varlistentry><term><ulink url="http://www.freebsd.org/support.html#gnats">GNATS Administrator</ulink></term> <listitem> <para>&a.steve;</para> </listitem> </varlistentry> + + <varlistentry> + <term><ulink url="http://www.freebsd.org/internal/">Webmaster</ulink></term> + <listitem> + <para>&a.wosch;</para> + </listitem> + </varlistentry> </variablelist> diff --git a/en_US.ISO8859-1/share/sgml/authors.ent b/en_US.ISO8859-1/share/sgml/authors.ent index 753419189e..a8c95c2ac6 100644 --- a/en_US.ISO8859-1/share/sgml/authors.ent +++ b/en_US.ISO8859-1/share/sgml/authors.ent @@ -7,15 +7,15 @@ Please keep this list in alphabetical order by entity names. - $Id: authors.ent,v 1.2 1998-11-09 17:41:07 archie Exp $ + $Id: authors.ent,v 1.3 1998-11-12 01:26:17 nik Exp $ --> +<!ENTITY a.abial "Andrzej Bialecki <email>abial@FreeBSD.ORG</email>"> + <!ENTITY a.ache "Andrey A. Chernov <email>ache@FreeBSD.ORG</email>"> <!ENTITY a.adam "Adam David <email>adam@FreeBSD.ORG</email>"> -<!ENTITY a.ahasty "Amancio Hasty <email>ahasty@FreeBSD.ORG</email>"> - <!ENTITY a.alex "Alex Nash <email>alex@freebsd.org</email>"> <!ENTITY a.amurai "Atsushi Murai <email>amurai@FreeBSD.ORG</email>"> @@ -54,28 +54,38 @@ <!ENTITY a.darrenr "Darren Reed <email>darrenr@FreeBSD.ORG</email>"> -<!ENTITY a.dave "Dave Cornejo <email>dave@FreeBSD.ORG</email>"> - -<!ENTITY a.davidg "David Greenman <email>davidg@FreeBSD.ORG</email>"> +<!ENTITY a.dg "David Greenman <email>dg@FreeBSD.ORG</email>"> <!ENTITY a.davidn "David Nugent <email>davidn@blaze.net.au</email>"> +<!ENTITY a.dburr "Donald Burr <email>dburr@FreeBSD.ORG</email>"> + +<!ENTITY a.des "Dag-Erling C. Smørgrav <email>des@FreeBSD.ORG</email>"> + <!ENTITY a.dfr "Doug Rabson <email>dfr@FreeBSD.ORG</email>"> +<!ENTITY a.dillon "Matthew Dillon <email>dillon@FreeBSD.ORG</email>"> + <!ENTITY a.dima "Dima Ruban <email>dima@FreeBSD.ORG</email>"> <!ENTITY a.dirkvangulik "Dirk-Willem van Gulik <email>Dirk.vanGulik@jrc.it</email>"> +<!ENTITY a.dt "Dmitrij Tejblum <email>dt@FreeBSD.ORG</email>"> + +<!ENTITY a.dwhite "Doug White <email>dwhite@FreeBSD.ORG</email>"> + <!ENTITY a.dufault "Peter Dufault <email>dufault@FreeBSD.ORG</email>"> <!ENTITY a.dyson "John Dyson <email>dyson@FreeBSD.ORG</email>"> -<!ENTITY a.faq "FAQ Maintainer <email>faq@freebsd.org</email>"> - <!ENTITY a.eivind "Eivind Eklund <email>perhaps@yes.no</email>"> +<!ENTITY a.ejc "Eric J. Chet <email>ejc@FreeBSD.ORG</email>"> + <!ENTITY a.erich "Eric L. Hernes <email>erich@FreeBSD.ORG</email>"> +<!ENTITY a.faq "FAQ Maintainer <email>faq@freebsd.org</email>"> + <!ENTITY a.fenner "Bill Fenner <email>fenner@FreeBSD.ORG</email>"> <!ENTITY a.fsmp "Steve Passe <email>fsmp@FreeBSD.ORG</email>"> @@ -94,6 +104,8 @@ <!ENTITY a.graichen "Thomas Graichen <email>graichen@FreeBSD.ORG</email>"> +<!ENTITY a.grog "Greg Lehey <email>grog@FreeBSD.ORG</email>"> + <!ENTITY a.gryphon "Coranth Gryphon <email>gryphon@healer.com</email>"> <!ENTITY a.guido "Guido van Rooij <email>guido@FreeBSD.ORG</email>"> @@ -132,6 +144,8 @@ <!ENTITY a.jkh "Jordan K. Hubbard <email>jkh@FreeBSD.ORG</email>"> +<!ENTITY a.jkoshy "Joseph Koshy <email>jkoshy@FreeBSD.ORG</email>"> + <!ENTITY a.jlemon "Jonathan Lemon <email>jlemon@FreeBSD.ORG</email>"> <!ENTITY a.jlind "John Lind <email>john@starfire.MN.ORG</email>"> @@ -164,12 +178,18 @@ <!ENTITY a.kelly "Sean Kelly <email>kelly@fsl.noaa.gov</email>"> +<!ENTITY a.ken "Kenneth D. Merry <email>ken@FreeBSD.ORG</email>"> + <!ENTITY a.kjc "Kenjiro Cho <email>kjc@FreeBSD.ORG</email>"> +<!ENTITY a.kuriyama "Jun Kuriyama <email>kuriyama@FreeBSD.ORG</email>"> + <!ENTITY a.lars "Lars Fredriksen <email>lars@FreeBSD.ORG</email>"> <!ENTITY a.ljo "L Jonas Olsson <email>ljo@FreeBSD.ORG</email>"> +<!ENTITY a.luoqi "Luoqi Chen <email>luoqi@FreeBSD.ORG</email>"> + <!ENTITY a.markm "Mark Murray <email>markm@FreeBSD.ORG</email>"> <!ENTITY a.martin "Martin Renters <email>martin@FreeBSD.ORG</email>"> @@ -182,14 +202,22 @@ <!ENTITY a.mckay "Stephen McKay <email>mckay@FreeBSD.ORG</email>"> +<!ENTITY a.mckusick "Kirk McKusick <email>mckusick@FreeBSD.ORG</email>"> + <!ENTITY a.md "Mark Dapoz <email>md@bsc.no</email>"> +<!ENTITY a.motoyuki "Motoyuki Konno <email>motoyuki@FreeBSD.ORG</email>"> + +<!ENTITY a.mph "Matthew Hunt <email>mph@FreeBSD.ORG</email>"> + <!ENTITY a.mpp "Mike Pritchard <email>mpp@FreeBSD.ORG</email>"> <!ENTITY a.msmith "Michael Smith <email>msmith@FreeBSD.ORG</email>"> <!ENTITY a.nate "Nate Williams <email>nate@FreeBSD.ORG</email>"> +<!ENTITY a.nectar "Jacques Vidrine <email>nectar@FreeBSD.ORG</email>"> + <!ENTITY a.nik "Nik Clayton <email>nik@FreeBSD.ORG</email>"> <!ENTITY a.nsj "Nate Johnson <email>nsj@FreeBSD.ORG</email>"> @@ -202,6 +230,8 @@ <!ENTITY a.paul "Paul Richards <email>paul@FreeBSD.ORG</email>"> +<!ENTITY a.pb "Pierre Beyssac <email>pb@fasterix.freenix.org</email>"> + <!ENTITY a.pds "Peter da Silva <email>pds@FreeBSD.ORG</email>"> <!ENTITY a.peter "Peter Wemm <email>peter@FreeBSD.ORG</email>"> @@ -222,6 +252,8 @@ <!ENTITY a.rich "Rich Murphey <email>rich@FreeBSD.ORG</email>"> +<!ENTITY a.rnordier "Robert Nordier <email>rnordier@FreeBSD.ORG</email>"> + <!ENTITY a.roberto "Ollivier Robert <email>roberto@FreeBSD.ORG</email>"> <!ENTITY a.rse "Ralf S. Engelschall <email>rse@FreeBSD.ORG</email>"> @@ -252,6 +284,8 @@ <!ENTITY a.tg "Thomas Gellekum <email>tg@FreeBSD.ORG</email>"> +<!ENTITY a.thepish "Peter Hawkins <email>thepish@FreeBSD.ORG</email>"> + <!ENTITY a.torstenb "Torsten Blum <email>torstenb@FreeBSD.ORG</email>"> <!ENTITY a.ugen "Ugen J.S.Antsilevich <email>ugen@FreeBSD.ORG</email>"> diff --git a/en_US.ISO_8859-1/books/handbook/advanced-networking/chapter.sgml b/en_US.ISO_8859-1/books/handbook/advanced-networking/chapter.sgml index 9de3cdaeb5..4fbe1987b1 100644 --- a/en_US.ISO_8859-1/books/handbook/advanced-networking/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/advanced-networking/chapter.sgml @@ -738,86 +738,49 @@ hostname myclient.mydomain</programlisting> <sect2> <title>ISDN Cards</title> - <para><emphasis>Original Contribution by &a.hm;.</emphasis></para> + <para><emphasis>Contributed by &a.hm;.</emphasis></para> - <para>This section is really only relevant to European ISDN users. - The cards supported are not yet(?) available for North American - ISDN standards.</para> - - <para>You should be aware that this code is largely under - development. Specifically, drivers have only been written for two - manufacturers cards.</para> - - <para>PC ISDN cards support the full bandwidth of ISDN, 128Kbs. - These cards are often the least expensive type of ISDN equipment.</para> - - <para>Under FreeBSD 2.1.0 and 2.1.5, there is early unfinished ISDN - code under <filename>/usr/src/gnu/isdn</filename>. 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.</para> - - <para>There is the bisdn ISDN package available from <ulink - URL="ftp://hub.freebsd.org/pub/bisdn">hub.freebsd.org</ulink> - 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.</para> - - <para>There are drivers for the following cards:</para> - - <itemizedlist> - - <listitem> - <para>Currently all (passive) Teles cards and their clones are - supported for the EuroISDN (DSS1) and 1TR6 protocols.</para> - </listitem> - - <listitem> - <para>Dr. Neuhaus — Niccy 1016</para> - </listitem> - - </itemizedlist> - - <para>There are several limitations with the bisdn stuff. - Specifically the following features usually associated with ISDN - are not supported.</para> - - - <itemizedlist> - - <listitem> - <para>No PPP support, only raw hdlc. This means you cannot - connect to most standalone routers.</para> - </listitem> - - <listitem> - <para>Bridging Control Protocol not supported.</para> - </listitem> - - <listitem> - <para>Multiple cards are not supported.</para> - </listitem> - - <listitem> - <para>No bandwidth on demand.</para> - </listitem> - - <listitem> - <para>No channel bundling.</para> - </listitem> - - </itemizedlist> - - - <para>A majordomo maintained mailing list is available. To join the - list, send mail to &a.majordomo; and specify: + <para>This section is really only relevant to ISDN users in countries + where the DSS1/Q.931 ISDN standard is supported. </para> + + <para>Some growing number of PC ISDN cards are supported under FreeBSD + 2.2.x and up by the isdn4bsd driver package. It is still under + development but the reports show that it is successfully used all + over Europe.</para> - <programlisting> + <para>The latest isdn4bsd version is available from <ulink + url="ftp://isdn4bsd@ftp.consol.de/pub/">ftp://isdn4bsd@ftp.consol.de/pub/</ulink>, + the main isdn4bsd ftp site (you have to log in as user + <username>isdn4bsd</username> , give your mail address as the + password and change to the <filename>pub</filename> + directory. Anonymous ftp as user <username>ftp</username> or + <username>anonymous</username> will <emphasis>not</emphasis> give + the desired result).</para> + + <para>Isdn4bsd allows you to connect to other ISDN routers using + either IP over raw HDLC or by using synchronous PPP. A telephone + answering machine application is also available.</para> + + <para>Many ISDN PC cards are supported, mostly the ones with a Siemens + ISDN chipset (ISAC/HSCX), support for other chipsets (from Motorola, + Cologne Chip Designs) is currently under development. For an + up-to-date list of supported cards, please have a look at the + <ulink url="ftp://isdn4bsd@ftp.consol.de/pub/README">README</ulink> + file.</para> + + <para>In case you are interested in adding support for a different + ISDN protocol, a currently unsupported ISDN PC card or otherwise + enhancing isdn4bsd, please get in touch with + <email>hm@kts.org</email>.</para> + + <para>A majordomo maintained mailing list is available. To join the + list, send mail to <email>majordomo@FreeBSD.ORG</email> and + specify:</para> + + <programlisting> subscribe freebsd-isdn</programlisting> - in the body - of your message.</para> - + <para>in the body of your message.</para> </sect2> <sect2> diff --git a/en_US.ISO_8859-1/books/handbook/authors.ent b/en_US.ISO_8859-1/books/handbook/authors.ent index 753419189e..a8c95c2ac6 100644 --- a/en_US.ISO_8859-1/books/handbook/authors.ent +++ b/en_US.ISO_8859-1/books/handbook/authors.ent @@ -7,15 +7,15 @@ Please keep this list in alphabetical order by entity names. - $Id: authors.ent,v 1.2 1998-11-09 17:41:07 archie Exp $ + $Id: authors.ent,v 1.3 1998-11-12 01:26:17 nik Exp $ --> +<!ENTITY a.abial "Andrzej Bialecki <email>abial@FreeBSD.ORG</email>"> + <!ENTITY a.ache "Andrey A. Chernov <email>ache@FreeBSD.ORG</email>"> <!ENTITY a.adam "Adam David <email>adam@FreeBSD.ORG</email>"> -<!ENTITY a.ahasty "Amancio Hasty <email>ahasty@FreeBSD.ORG</email>"> - <!ENTITY a.alex "Alex Nash <email>alex@freebsd.org</email>"> <!ENTITY a.amurai "Atsushi Murai <email>amurai@FreeBSD.ORG</email>"> @@ -54,28 +54,38 @@ <!ENTITY a.darrenr "Darren Reed <email>darrenr@FreeBSD.ORG</email>"> -<!ENTITY a.dave "Dave Cornejo <email>dave@FreeBSD.ORG</email>"> - -<!ENTITY a.davidg "David Greenman <email>davidg@FreeBSD.ORG</email>"> +<!ENTITY a.dg "David Greenman <email>dg@FreeBSD.ORG</email>"> <!ENTITY a.davidn "David Nugent <email>davidn@blaze.net.au</email>"> +<!ENTITY a.dburr "Donald Burr <email>dburr@FreeBSD.ORG</email>"> + +<!ENTITY a.des "Dag-Erling C. Smørgrav <email>des@FreeBSD.ORG</email>"> + <!ENTITY a.dfr "Doug Rabson <email>dfr@FreeBSD.ORG</email>"> +<!ENTITY a.dillon "Matthew Dillon <email>dillon@FreeBSD.ORG</email>"> + <!ENTITY a.dima "Dima Ruban <email>dima@FreeBSD.ORG</email>"> <!ENTITY a.dirkvangulik "Dirk-Willem van Gulik <email>Dirk.vanGulik@jrc.it</email>"> +<!ENTITY a.dt "Dmitrij Tejblum <email>dt@FreeBSD.ORG</email>"> + +<!ENTITY a.dwhite "Doug White <email>dwhite@FreeBSD.ORG</email>"> + <!ENTITY a.dufault "Peter Dufault <email>dufault@FreeBSD.ORG</email>"> <!ENTITY a.dyson "John Dyson <email>dyson@FreeBSD.ORG</email>"> -<!ENTITY a.faq "FAQ Maintainer <email>faq@freebsd.org</email>"> - <!ENTITY a.eivind "Eivind Eklund <email>perhaps@yes.no</email>"> +<!ENTITY a.ejc "Eric J. Chet <email>ejc@FreeBSD.ORG</email>"> + <!ENTITY a.erich "Eric L. Hernes <email>erich@FreeBSD.ORG</email>"> +<!ENTITY a.faq "FAQ Maintainer <email>faq@freebsd.org</email>"> + <!ENTITY a.fenner "Bill Fenner <email>fenner@FreeBSD.ORG</email>"> <!ENTITY a.fsmp "Steve Passe <email>fsmp@FreeBSD.ORG</email>"> @@ -94,6 +104,8 @@ <!ENTITY a.graichen "Thomas Graichen <email>graichen@FreeBSD.ORG</email>"> +<!ENTITY a.grog "Greg Lehey <email>grog@FreeBSD.ORG</email>"> + <!ENTITY a.gryphon "Coranth Gryphon <email>gryphon@healer.com</email>"> <!ENTITY a.guido "Guido van Rooij <email>guido@FreeBSD.ORG</email>"> @@ -132,6 +144,8 @@ <!ENTITY a.jkh "Jordan K. Hubbard <email>jkh@FreeBSD.ORG</email>"> +<!ENTITY a.jkoshy "Joseph Koshy <email>jkoshy@FreeBSD.ORG</email>"> + <!ENTITY a.jlemon "Jonathan Lemon <email>jlemon@FreeBSD.ORG</email>"> <!ENTITY a.jlind "John Lind <email>john@starfire.MN.ORG</email>"> @@ -164,12 +178,18 @@ <!ENTITY a.kelly "Sean Kelly <email>kelly@fsl.noaa.gov</email>"> +<!ENTITY a.ken "Kenneth D. Merry <email>ken@FreeBSD.ORG</email>"> + <!ENTITY a.kjc "Kenjiro Cho <email>kjc@FreeBSD.ORG</email>"> +<!ENTITY a.kuriyama "Jun Kuriyama <email>kuriyama@FreeBSD.ORG</email>"> + <!ENTITY a.lars "Lars Fredriksen <email>lars@FreeBSD.ORG</email>"> <!ENTITY a.ljo "L Jonas Olsson <email>ljo@FreeBSD.ORG</email>"> +<!ENTITY a.luoqi "Luoqi Chen <email>luoqi@FreeBSD.ORG</email>"> + <!ENTITY a.markm "Mark Murray <email>markm@FreeBSD.ORG</email>"> <!ENTITY a.martin "Martin Renters <email>martin@FreeBSD.ORG</email>"> @@ -182,14 +202,22 @@ <!ENTITY a.mckay "Stephen McKay <email>mckay@FreeBSD.ORG</email>"> +<!ENTITY a.mckusick "Kirk McKusick <email>mckusick@FreeBSD.ORG</email>"> + <!ENTITY a.md "Mark Dapoz <email>md@bsc.no</email>"> +<!ENTITY a.motoyuki "Motoyuki Konno <email>motoyuki@FreeBSD.ORG</email>"> + +<!ENTITY a.mph "Matthew Hunt <email>mph@FreeBSD.ORG</email>"> + <!ENTITY a.mpp "Mike Pritchard <email>mpp@FreeBSD.ORG</email>"> <!ENTITY a.msmith "Michael Smith <email>msmith@FreeBSD.ORG</email>"> <!ENTITY a.nate "Nate Williams <email>nate@FreeBSD.ORG</email>"> +<!ENTITY a.nectar "Jacques Vidrine <email>nectar@FreeBSD.ORG</email>"> + <!ENTITY a.nik "Nik Clayton <email>nik@FreeBSD.ORG</email>"> <!ENTITY a.nsj "Nate Johnson <email>nsj@FreeBSD.ORG</email>"> @@ -202,6 +230,8 @@ <!ENTITY a.paul "Paul Richards <email>paul@FreeBSD.ORG</email>"> +<!ENTITY a.pb "Pierre Beyssac <email>pb@fasterix.freenix.org</email>"> + <!ENTITY a.pds "Peter da Silva <email>pds@FreeBSD.ORG</email>"> <!ENTITY a.peter "Peter Wemm <email>peter@FreeBSD.ORG</email>"> @@ -222,6 +252,8 @@ <!ENTITY a.rich "Rich Murphey <email>rich@FreeBSD.ORG</email>"> +<!ENTITY a.rnordier "Robert Nordier <email>rnordier@FreeBSD.ORG</email>"> + <!ENTITY a.roberto "Ollivier Robert <email>roberto@FreeBSD.ORG</email>"> <!ENTITY a.rse "Ralf S. Engelschall <email>rse@FreeBSD.ORG</email>"> @@ -252,6 +284,8 @@ <!ENTITY a.tg "Thomas Gellekum <email>tg@FreeBSD.ORG</email>"> +<!ENTITY a.thepish "Peter Hawkins <email>thepish@FreeBSD.ORG</email>"> + <!ENTITY a.torstenb "Torsten Blum <email>torstenb@FreeBSD.ORG</email>"> <!ENTITY a.ugen "Ugen J.S.Antsilevich <email>ugen@FreeBSD.ORG</email>"> diff --git a/en_US.ISO_8859-1/books/handbook/backups/chapter.sgml b/en_US.ISO_8859-1/books/handbook/backups/chapter.sgml new file mode 100644 index 0000000000..f7c05d2731 --- /dev/null +++ b/en_US.ISO_8859-1/books/handbook/backups/chapter.sgml @@ -0,0 +1,731 @@ +<chapter id="backups"> + <title>Backups</title> + + <para>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. You may also want + to refer to <link linkend="kernelconfig-config"> the kernel configuration + file</link> section in this handbook for a list of supported + devices.</para> + + <para>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 <link linkend="eresources-mail">Mailing Lists</link> 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.</para> + + <sect1> + <title>* What about backups to floppies?</title> + + <para></para> + </sect1> + + <sect1 id="backups-tapebackups"> + <title>Tape Media</title> + + <para>The major tape media are the 4mm, 8mm, QIC, mini-cartridge and + DLT.</para> + + <sect2 id="backups-tapebackups-4mm"> + <title>4mm (DDS: Digital Data + Storage)</title> + + <para>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.</para> + + <para>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.</para> + + <para>4mm drives, like 8mm drives, use helical-scan. All the benefits + and drawbacks of helical-scan apply to both 4mm and 8mm drives.</para> + + <para>Tapes should be retired from use after 2,000 passes or 100 full + backups.</para> + </sect2> + + <sect2 id="backups-tapebackups-8mm"> + <title>8mm (Exabyte)</title> + + <para>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.</para> + + <para>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.</para> + + <para>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.</para> + </sect2> + + <sect2 id="backups-tapebackups-qic"> + <title>QIC</title> + + <para>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 + <emphasis>most</emphasis> 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). <link linkend="backups-tapebackups-mini">Mini-cartridges</link>, + which also use 1/4" wide tape are discussed separately. Tape libraries + and changers are not available.</para> + + <para>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.</para> + + <para>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).</para> + + <para>Tapes should be retired from use after 5,000 backups.</para> + </sect2> + + <sect2 id="backups-tapebackups-mini"> + <title>* Mini-Cartridge</title> + + <para></para> + </sect2> + + <sect2 id="backups-tapebackups-dlt"> + <title>DLT</title> + + <para>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.</para> + + <para>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.</para> + + <para>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.</para> + </sect2> + + <sect2> + <title>Using a new tape for the first time</title> + + <para>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:</para> + +<informalexample> + <screen>st0(ncr1:4:0): NOT READY asc:4,1 +st0(ncr1:4:0): Logical unit is in process of becoming ready</screen> + </informalexample> + + <para>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:</para> + + <para><command>mt fsf 1</command> causes the tape drive to write an + Identifier Block to the tape.</para> + + <para>Use the front panel button to eject the tape.</para> + + <para>Re-insert the tape and + <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> data to the tape.</para> + + <para><citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> will report <literal>DUMP: + End of tape detected</literal> and the console will show: + <literal>HARDWARE FAILURE info:280 asc:80,96</literal></para> + + <para>rewind the tape using: <command>mt rewind</command></para> + + <para>Subsequent tape operations are successful.</para> + </sect2> + </sect1> + + <sect1 id="backup-programs"> + <title>Backup Programs</title> + + <para>The three major programs are + <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, + <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum></citerefentry>, + and + <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry>.</para> + + <sect2> + <title>Dump and Restore</title> + + <para><citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> and <citerefentry> + <refentrytitle>restore</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> 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. + <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> backs up devices, entire filesystems, not parts of a + filesystem and not directory trees that span more than one filesystem, + using either soft links <citerefentry> + <refentrytitle>ln</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> or mounting one filesystem onto another. + <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> does not write files and directories to tape, but + rather writes the data blocks that are the building blocks of files + and directories. <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> 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.</para> + + <para><citerefentry> + <refentrytitle>rdump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> and <citerefentry> + <refentrytitle>rrestore</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> backup data across the + network to a tape drive attached to another computer. Both programs + rely upon <citerefentry> + <refentrytitle>rcmd</refentrytitle> + <manvolnum>3</manvolnum> + </citerefentry> and <citerefentry> + <refentrytitle>ruserok</refentrytitle> + <manvolnum>3</manvolnum></citerefentry> to access the remote tape + drive. Therefore, the user performing the backup must have + <literal>rhosts</literal> access to the remote computer. The + arguments to <citerefentry> + <refentrytitle>rdump</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> and <citerefentry> + <refentrytitle>rrestore</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> must suitable to use on the remote computer. (e.g. + When <command>rdump</command>'ing from a FreeBSD computer to an + Exabyte tape drive connected to a Sun called + <hostid>komodo</hostid>, use: <command>/sbin/rdump 0dsbfu 54000 + 13000 126 komodo:/dev/nrst8 /dev/rsd0a 2>&1</command>) Beware: + there are security implications to allowing <literal>rhosts</literal> + commands. Evaluate your situation carefully.</para> + </sect2> + + <sect2> + <title>Tar</title> + + <para><citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> also dates back to Version 6 of ATT Unix (circa + 1975). <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> operates in cooperation with the filesystem; + <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> writes files and directories to tape. + <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> does not support the full range of options that are + available from <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry>, but <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> does not require the + unusual command pipeline that <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> uses.</para> + + <para>Most versions of <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> do not support backups across the network. The GNU + version of <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum></citerefentry>, which FreeBSD utilizes, + supports remote devices using the same syntax as + <command>rdump</command>. To <citerefentry> + <refentrytitle>tar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> to an Exabyte tape drive connected to a Sun called + komodo, use: <command>/usr/bin/tar cf komodo:/dev/nrst8 . + 2>&1</command>. For versions without remote device support, + you can use a pipeline and <citerefentry> + <refentrytitle>rsh</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> to send the data to a + remote tape drive. (XXX add an example command)</para> + </sect2> + + <sect2> + <title>Cpio</title> + + <para><citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> is the original Unix + file interchange tape program for magnetic media. <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> 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 <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> and excellent choice for + installation media. <citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> does not know how to walk + the directory tree and a list of files must be provided thru + <filename>STDIN</filename>.</para> + + <para><citerefentry> + <refentrytitle>cpio</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> does not support backups + across the network. You can use a pipeline and <citerefentry> + <refentrytitle>rsh</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> to send the data to a + remote tape drive. (XXX add an example command)</para> + </sect2> + + <sect2> + <title>Pax</title> + + <para><citerefentry> + <refentrytitle>pax</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> is IEEE/POSIX's answer to + <command>tar</command> and <command>cpio</command>. Over the years the + various versions of <command>tar</command> and <command>cpio</command> + have gotten slightly incompatible. So rather than fight it out to + fully standardize them, POSIX created a new archive utility. + <command>pax</command> attempts to read and write many of the various + cpio and tar formats, plus new formats of its own. Its command set + more resembles <command>cpio</command> than + <command>tar</command>.</para> + </sect2> + + <sect2 id="backups-programs-amanda"> + <title>Amanda</title> + + <para><ulink url="../ports/misc.html#amanda-2.4.0">Amanda</ulink> + (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.</para> + + <para>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.</para> + </sect2> + + <sect2> + <title>Do nothing</title> + + <para>“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!</para> + + <para>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.</para> + + <para>“Do nothing” is the correct backup method for + <filename>/usr/obj</filename> 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 + <acronym>SGML</acronym> input files. Creating backups of these + <acronym>HTML</acronym> files is not necessary. The + <acronym>SGML</acronym> source files are backed up regularly.</para> + </sect2> + + <sect2> + <title>Which Backup Program is Best?</title> + + <para><citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> <emphasis>Period.</emphasis> + 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 <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>. 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 unwritable 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. See <ulink + url="http://reality.sgi.com/zwicky_neu/testdump.doc.html">torture-testing Backup and Archive Programs</ulink>.</para> + </sect2> + + <sect2> + <title>Emergency Restore Procedure</title> + + <sect3> + <title>Before the Disaster</title> + + <para>There are only four steps that you need to perform in + preparation for any disaster that may occur.</para> + + <para>First, print the disklabel from each of your disks + (<command>e.g. disklabel sd0 | lpr</command>), your filesystem table + (<command>/etc/fstab</command>) and all boot messages, two copies of + each.</para> + + <para>Second, determine that the boot and fixit floppies + (<filename>boot.flp</filename> and <filename>fixit.flp</filename>) + 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.</para> + + <para>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: + <citerefentry> + <refentrytitle>fdisk</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, <citerefentry> + <refentrytitle>disklabel</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, <citerefentry> + <refentrytitle>newfs</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, <citerefentry> + <refentrytitle>mount</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, and whichever backup + program you use. These programs must be statically linked. If you + use <citerefentry> + <refentrytitle>dump</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>, the floppy must contain + <citerefentry> + <refentrytitle>restore</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>.</para> + + <para>Third, create backup tapes regularly. Any changes that you make + after your last backup may be irretrievably lost. Write-protect the + backup tapes.</para> + + <para>Fourth, test the floppies (either <filename>boot.flp</filename> + and <filename>fixit.flp</filename> 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 <command>tar xvf /dev/rst0</command>, you might + accidently type <command>tar cvf /dev/rst0</command> and over-write + your backup tape).</para> + + <para>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.</para> + + <para>An example script for creating a bootable floppy:</para> + + <programlisting> +<![ CDATA [#!/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]]></programlisting> + </sect3> + + <sect3> + <title>After the Disaster</title> + + <para>The key question is: did your hardware survive? You have been + doing regular backups so there is no need to worry about the + software.</para> + + <para>If the hardware has been damaged. First, replace those parts + that have been damaged.</para> + + <para>If your hardware is okay, check your floppies. If you are using + a custom boot floppy, boot single-user (type <literal>-s</literal> + at the <prompt>boot:</prompt> prompt). Skip the following + paragraph.</para> + + <para>If you are using the <filename>boot.flp</filename> and + <filename>fixit.flp</filename> floppies, keep reading. Insert the + <filename>boot.flp</filename> floppy in the first floppy drive and + boot the computer. The original install menu will be displayed on + the screen. Select the <literal>Fixit--Repair mode with CDROM or + floppy.</literal> option. Insert the + <filename>fixit.flp</filename> when prompted. + <command>restore</command> and the other programs that you need are + located in <filename>/mnt2/stand</filename>.</para> + + <para>Recover each filesystem separately.</para> + + <para>Try to <citerefentry> + <refentrytitle>mount</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry>(e.g. <command>mount /dev/sd0a + /mnt</command>) the root partition of your first disk. If the + disklabel was damaged, use <citerefentry> + <refentrytitle>disklabel</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> to re-partition and + label the disk to match the label that your printed and saved. Use + <citerefentry> + <refentrytitle>newfs</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> to re-create the + filesystems. Re-mount the root partition of the floppy read-write + (<command>mount -u -o rw /mnt</command>). Use your backup program + and backup tapes to recover the data for this filesystem (e.g. + <command>restore vrf /dev/st0</command>). Unmount the filesystem + (e.g. <command>umount /mnt</command>) Repeat for each filesystem + that was damaged.</para> + + <para>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.</para> + </sect3> + + <sect3> + <title>* I did not prepare for the Disaster, What Now?</title> + + <para></para> + </sect3> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../handbook.sgml" "part" "chapter") + End: +--> diff --git a/en_US.ISO_8859-1/books/handbook/bibliography/chapter.sgml b/en_US.ISO_8859-1/books/handbook/bibliography/chapter.sgml index d55f694daa..429b519caf 100644 --- a/en_US.ISO_8859-1/books/handbook/bibliography/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/bibliography/chapter.sgml @@ -49,7 +49,11 @@ <ulink URL="http://www.ascii.co.jp/">ASCII</ulink>. ISBN 4-7561-1580-2 P3800E.</para> </listitem> - + + <listitem> + <para>FreeBSD mit Methode (in German), publiched by Computer und + Literatur Verlag/Vertrieb Hanser, 1998. ISBN 3-93211-31-0.</para> + </listitem> </itemizedlist> @@ -151,7 +155,7 @@ <listitem> <para>Nemeth, Evi. <emphasis>UNIX System Administration - Handbook</emphasis>. 2nd ed. Prentice Hall, 1995. <!-- <br> + Handbook</emphasis>. 2nd Ed. Prentice Hall, 1995. <!-- <br> --> ISBN 0131510517</para> </listitem> @@ -190,12 +194,6 @@ <!-- <br> --> ISBN 1-56592-079-1</para> </listitem> - <listitem> - <para>Ellis, Margaret A. and Stroustrup, Bjarne. <emphasis>The - Annotated C++ Reference Manual</emphasis>. Addison-Wesley, - 1990. <!-- <br> --> ISBN 0-201-51459-1</para> - </listitem> - <listitem> <para>Harbison, Samuel P. and Steele, Guy L. Jr. <emphasis>C: A Reference Manual</emphasis>. 4rd ed. Prentice Hall, 1995. @@ -209,7 +207,7 @@ </listitem> <listitem> - <para>Lehey, Greg. <emphasis>Port UNIX Software</emphasis>. + <para>Lehey, Greg. <emphasis>Porting UNIX Software</emphasis>. O'Reilly & Associates, Inc., 1995.<!-- <br> --> ISBN 1-56592-126-7</para> </listitem> @@ -226,11 +224,11 @@ Addison-Wesley, 1992<!-- <br> --> ISBN 0-201-56317-7</para> </listitem> - <listitem> - <para>Stevens, W. Richard. <emphasis>UNIX Network - Programming</emphasis>. PTR Prentice Hall, 1990. <!-- <br> - --> ISBN 0-13-949876-1</para> - </listitem> + <listitem> + <para>Stevens, W. Richard. <emphasis>UNIX Network + Programming</emphasis>. 2nd Ed, PTR Prentice Hall, 1998. ISBN + 0-13-490012-X</para> + </listitem> <listitem> <para>Wells, Bill. “Writing Serial Drivers for UNIX”. @@ -288,7 +286,13 @@ 1: The Protocols</emphasis>. Reading, Mass. : Addison-Wesley, 1996.<!-- <br> --> ISBN 0-201-63346-9</para> </listitem> - + + <listitem> + <para>Schimmel, Curt. <emphasis>Unix Systems for Modern + Architectures</emphasis>. Reading, Mass. : Addison-Wesley, + 1994. ISBN 0-201-63338-8</para> + </listitem> + <listitem> <para>Stevens, W. Richard. <emphasis>TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP and the UNIX Domain @@ -322,7 +326,7 @@ <listitem> <para>Cheswick, William R. and Steven M. Bellovin. - <emphasis>Firewalls and Internal Security: Repelling the Wily + <emphasis>Firewalls and Internet Security: Repelling the Wily Hacker</emphasis>. Reading, Mass. : Addison-Wesley, 1995.<!-- <br> --> ISBN 0-201-63357-4</para> </listitem> @@ -352,7 +356,7 @@ <listitem> <para>Anderson, Don and Tom Shanley. <emphasis>Pentium Processor - System Architecture</emphasis>. 2nd ed. Reading, Mass. : + System Architecture</emphasis>. 2nd Ed. Reading, Mass. : Addison-Wesley, 1995.<!-- <br> --> ISBN 0-201-40992-5</para> </listitem> @@ -362,7 +366,14 @@ Mass. : Addison-Wesley, 1995.<!-- <br> --> ISBN 0-201-62490-7</para> </listitem> - + + <listitem> + <para>Intel Corporation publishes documentation on their CPUs, + chipsets and standards on their <ulink + url="http://developer.intel.com/">developer web site</ulink>, + usually as PDF files.</para> + </listitem> + <listitem> <para>Shanley, Tom. <emphasis>80486 System Architecture</emphasis>. 3rd ed. Reading, Mass. : @@ -433,7 +444,7 @@ <listitem> <para><emphasis>The BSD family tree</emphasis>. 1997.<!-- <br> --> <ulink - URL="http://www.de.freebsd.org/de/ftp/unix-stammbaum">http://www.de.freebsd.org/de/ftp/unix-stammbaum</ulink> or <ulink URL="file:/usr/share/misc/bsd-family-tree">local</ulink> on a FreeBSD-current machine.</para> +url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/misc/bsd-family-tree">ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/misc/bsd-family-tree</ulink> or <ulink URL="file:/usr/share/misc/bsd-family-tree">local</ulink> on a FreeBSD-current machine.</para> </listitem> <listitem> @@ -447,7 +458,12 @@ Library</emphasis>.<!-- <br> --> <ulink URL="http://www.ncstrl.org/">http://www.ncstrl.org/</ulink></para> </listitem> - + + <listitem> + <para><emphasis>Old BSD releases from the Computer Systems Research + group (CSRG)</emphasis>. <ulink + url="http://www.mckusick.com/csrg/">http://www.mckusick.com/csrg/</ulink>: The 4CD set covers all BSD versions from 1BSD to 4.4BSD and 4.4BSD-Lite2 (but not 2.11BSD, unfortunately). As well, the last disk holds the final sources plus the SCCS files.</para> + </listitem> </itemizedlist> diff --git a/en_US.ISO_8859-1/books/handbook/book.sgml b/en_US.ISO_8859-1/books/handbook/book.sgml index be64c759cb..78ff7e72ca 100644 --- a/en_US.ISO_8859-1/books/handbook/book.sgml +++ b/en_US.ISO_8859-1/books/handbook/book.sgml @@ -3,7 +3,7 @@ <!ENTITY % authors SYSTEM "authors.ent"> %authors; <!ENTITY % mailing-lists SYSTEM "mailing-lists.ent"> %mailing-lists; -<!ENTITY rel.current CDATA "2.2.6"> +<!ENTITY rel.current CDATA "3.0"> ]> <book> @@ -16,7 +16,7 @@ </author> </authorgroup> - <pubdate>March 1998</pubdate> + <pubdate>July 1998</pubdate> <copyright> <year>1995</year> @@ -35,11 +35,12 @@ with this project, send email to the &a.doc; The latest version of this document is always available from the <ulink URL="http://www.FreeBSD.ORG/">FreeBSD World Wide Web server</ulink>. - It may also be downloaded in plain text, postscript or HTML from the - <ulink URL="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/docs">FreeBSD FTP - server</ulink> or one of the numerous <link + It may also be downloaded in <ulink url="handbook.latin1">plain +text</ulink>, <ulink url="handbook.ps">postscript</ulink> or <ulink +url="handbook-html.tar.gz">HTML</ulink> with HTTP or gzip'd from the <ulink +url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/docs/">FreeBSD FTP server</ulink> or one of the numerous <link linkend="mirrors-ftp">mirror sites</link>. You may also want to - <ulink URL="/search.html">Search the Handbook</ulink>.</para> + <ulink URL="http://www.FreeBSD.ORG/search.html">Search the Handbook</ulink>.</para> </abstract> </bookinfo> @@ -58,6 +59,8 @@ &chap.kernelconfig; &chap.security; &chap.printing; + &chap.disks; + &chap.backups; &chap.quotas; &chap.x11; &chap.hw; diff --git a/en_US.ISO_8859-1/books/handbook/chapters.ent b/en_US.ISO_8859-1/books/handbook/chapters.ent index c302e4c975..db8e88a180 100644 --- a/en_US.ISO_8859-1/books/handbook/chapters.ent +++ b/en_US.ISO_8859-1/books/handbook/chapters.ent @@ -6,7 +6,7 @@ Chapters should be listed in the order in which they are referenced. - $Id: chapters.ent,v 1.2 1998-11-04 22:38:06 nik Exp $ + $Id: chapters.ent,v 1.3 1998-11-12 01:26:17 nik Exp $ --> <!-- Part one --> @@ -19,6 +19,8 @@ <!ENTITY chap.kernelconfig SYSTEM "kernelconfig/chapter.sgml"> <!ENTITY chap.security SYSTEM "security/chapter.sgml"> <!ENTITY chap.printing SYSTEM "printing/chapter.sgml"> +<!ENTITY chap.disks SYSTEM "disks/chapter.sgml"> +<!ENTITY chap.backups SYSTEM "backups/chapter.sgml"> <!ENTITY chap.quotas SYSTEM "quotas/chapter.sgml"> <!ENTITY chap.x11 SYSTEM "x11/chapter.sgml"> <!ENTITY chap.hw SYSTEM "hw/chapter.sgml"> diff --git a/en_US.ISO_8859-1/books/handbook/contrib/chapter.sgml b/en_US.ISO_8859-1/books/handbook/contrib/chapter.sgml index 98f4ac936f..c04d625c12 100644 --- a/en_US.ISO_8859-1/books/handbook/contrib/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/contrib/chapter.sgml @@ -65,11 +65,6 @@ <itemizedlist> - - <listitem> - <para>Autodetect memory over 64MB properly.</para> - </listitem> - <listitem> <para>Move userconfig (-c) into 3rd stage boot.</para> </listitem> @@ -99,7 +94,7 @@ <listitem> <para>Fix the union file system. Coordinator: - &a.dyson;</para> + &a.dg;</para> </listitem> </itemizedlist> @@ -108,7 +103,7 @@ <listitem> <para>Implement kernel and user vm86 support. Coordinator: - &a.hackers;</para> + &a.jlemon;</para> </listitem> <listitem> @@ -116,33 +111,6 @@ &a.hackers;</para> </listitem> - <listitem> - <para>SCSI driver issues. Overall coordination: - &a.hackers;</para> - - - <itemizedlist> - - <listitem> - <para>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).</para> - </listitem> - - <listitem> - <para>Better error handling (Busy status and - retries).</para> - </listitem> - - <listitem> - <para>Merged Scatter-Gather list creation code.</para> - </listitem> - - </itemizedlist> - - </listitem> - <listitem> <para>Kernel issues. Overall coordination: &a.hackers;</para> @@ -174,25 +142,10 @@ Coordinator: &a.sos;</para> </listitem> - <listitem> - <para>Rewrite the Intel Etherexpress 16 driver.</para> - </listitem> - <listitem> <para>Merge the 3c509 and 3c590 drivers (essentially provide a PCI probe for ep.c).</para> </listitem> - - <listitem> - <para>Support Adaptec 3985 (first as a simple 3 channel - SCSI card) Coordinator: &a.gibbs;</para> - </listitem> - - <listitem> - <para>Support Advansys SCSI controller products. - Coordinator: &a.gibbs;</para> - </listitem> - </itemizedlist> </listitem> @@ -243,7 +196,7 @@ </listitem> <listitem> - <para>PCMCIA/PCCARD. Coordinators: &a.nate; and &a.phk;</para> + <para>PCMCIA/PCCARD. Coordinators: &a.msmith; and &a.phk;</para> <itemizedlist> <listitem> @@ -280,7 +233,7 @@ </listitem> <listitem> - <para>Advanced Power Management. Coordinators: &a.nate; and + <para>Advanced Power Management. Coordinators: &a.msmith; and &a.phk;</para> <itemizedlist> @@ -585,7 +538,7 @@ equivalent</ulink>. Try to fill-in each field of the bug report. Unless they exceed 65KB, include any patches directly in the report. Consider compressing them and using - <citerefentry><refentrytitle>uuencode</refentrytitle><manvolnum>1</manvolnum></citerefentry> if they exceed 20KB.</para> + <citerefentry><refentrytitle>uuencode</refentrytitle><manvolnum>1</manvolnum></citerefentry> if they exceed 20KB. Upload very large submissions to <ulink url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/">ftp.freebsd.org:/pub/FreeBSD/incoming/</ulink>.</para> <para>After filing a report, you should receive confirmation along with a tracking number. Keep this tracking number so that you can @@ -789,7 +742,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. but merely those differences required for running under FreeBSD.</para> <para>What follows are some guidelines for creating a new port for - FreeBSD 3.x. The bulk of the work is done by + FreeBSD. The bulk of the work is done by <filename>/usr/share/mk/bsd.port.mk</filename>, 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 @@ -827,7 +780,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. is already included; if not, add the code:</para> <programlisting> -#ifdef (defined(__unix__) || defined(unix)) && !defined(USG) +#if (defined(__unix__) || defined(unix)) && !defined(USG) #include <sys/param.h> #endif</programlisting> @@ -1164,11 +1117,14 @@ A cat chasing a mouse all over the screen.</programlisting> sufficient.</para> <note> - <para>This is <emphasis>not</emphasis> a manual nor an - in-depth description on how to use or compile the port. In - particular, <emphasis>please do not just copy the - <filename>README</filename> file here</emphasis>, unless, - of course, it is a concise description of the port.</para> + <para>This is <emphasis>not</emphasis> a manual or an + in-depth description on how to use or compile the port! + <emphasis>Please be careful if you are copying from the + <filename>README</filename> or manpage</emphasis>; too often + they are not a concise description of the port or are in an + awkward format (e.g., manpages have justified spacing). If the + ported software has an official WWW homepage, you should list + it here.</para> </note> <para>It is recommended that you sign the name at the end of @@ -1180,6 +1136,8 @@ the screen. : (etc.) +http://www.oneko.org/ + - Satoshi asami@cs.berkeley.edu</programlisting> @@ -1193,14 +1151,14 @@ asami@cs.berkeley.edu</programlisting> generated by packing the files listed here. The pathnames are relative to the installation prefix (usually <filename>/usr/local</filename> or - <filename>/usr/X11R6</filename>). Also it is assumed the - manpages will be compressed.</para> + <filename>/usr/X11R6</filename>). If you are using the + <makevar>MAN<replaceable>n</replaceable></makevar> variables (as + you should be), do not list any manpages here.</para> <para>Here is a small example:</para> <programlisting> bin/oneko -man/man1/oneko.1.gz lib/X11/app-defaults/Oneko lib/X11/oneko/cat1.xpm lib/X11/oneko/cat2.xpm @@ -1238,20 +1196,40 @@ lib/X11/oneko/mouse.xpm</programlisting> <sect4 id="porting-submitting"> <title>Submitting the port</title> - + + <para>First, make sure you have read the <link + linkend="porting-dads">Do's and Dont's</link> section.</para> + <para>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 <emphasis>not</emphasis> include the original - source tarball, the <filename>work</filename> - subdirectory or the package) into a - <filename>.tar.gz</filename> file, stick it in the directory - <filename>ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/</filename> and send mail to us using - <citerefentry><refentrytitle>send-pr</refentrytitle><manvolnum>1</manvolnum></citerefentry> (please classify it as category - <literal>ports</literal> and class <literal>change-request</literal>). There is no need to - upload the package, we will build it by ourselves. We will - take a look, get back to you if necessary, and put it in the + everybody else happy about it too. We do not need your + <filename>work</filename> directory or the + <filename>pkgname.tgz</filename> package, so delete them + now. Next, simply include the output of <command>shar `find + port_dir`</command> in a bug report and send it with the + <citerefentry> + <refentrytitle>send-pr</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> program. If the uncompressed port is larger than + 20KB, you should compress it into a tarfile and use <citerefentry> + <refentrytitle>uuencode</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> before including it in the bug report (uuencoded + tarfiles are acceptable even if the bug report is smaller than + 20KB but are not preferred). Be sure to classify the bug report as + category <literal>ports</literal> and class + <literal>change-request</literal>.</para> + + <para>One more time, <emphasis>do not include the original source + distfile, the <filename>work</filename> directory, or the + package you built with <command>make + package</command></emphasis>.</para> + + <para>See <link linkend="contrib-general">Bug Reports and General + Commentary</link> for more information.</para> + + <para>We will look at your port, + 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?!? <!-- smiley -->:)</para> @@ -1296,7 +1274,7 @@ lib/X11/oneko/mouse.xpm</programlisting> </step> <step> - <para>The <maketarget>extract</maketarget> target is run. It looks for your ports' + <para>The <maketarget>extract</maketarget> target is run. It looks for your port's distribution file in <makevar>DISTDIR</makevar> (typically a gzip'd tarball) and unpacks it into a temporary subdirectory specified by <makevar>WRKDIR</makevar> @@ -1405,7 +1383,13 @@ lib/X11/oneko/mouse.xpm</programlisting> <para>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 + non-standard formats, you might want to put a copy on a + reliable http or ftp server that you control. If you are a FreeBSD + committer, your <filename>public_html</filename> directory on + <hostid>freefall</hostid> is ideal. Make sure you set + <makevar>MASTER_SITE</makevar> to reflect your choice. If you + cannot find somewhere convenient and reliable to put the distfile, + we can “house” it ourselves by putting it on <filename>ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/LOCAL_PORTS/</filename> as the last resort. Please refer to this location as <makevar>MASTER_SITE_LOCAL</makevar>. Send mail to the &a.ports;if you are not sure what to do.</para> @@ -1545,7 +1529,7 @@ DISTNAME=foozolix-1.0</programlisting>.</para> into a subdirectory called <filename>work/<makevar>DISTNAME</makevar></filename>, e.g. <filename>work/foozolix-1.0/</filename>.</para> - <para>All this behavior can be overridden, of course, it simply + <para>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 <makevar>DISTFILES</makevar> explicitly. If only a subset of <makevar>DISTFILES</makevar> are @@ -1907,7 +1891,168 @@ FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2</programlisting> </note> </sect4> </sect3> + + <sect3> + <title>ELF support</title> + + <para>Since FreeBSD is moving to ELF from 3.0-release onwards, + we need to convert many ports that build shared libraries + to support ELF. Complicating this task is that a 3.0 + system can run as both ELF and a.out, and that there will + be one more release (2.2.8) from the 2.2 branch. Below + are the guidelines on how to convert a.out only ports to + support both a.out and ELF compilation.</para> + + <para>Some part of this list is only applicable during the + conversion, but will be left here for awhile for reference + in case you have come across some old port you wish to + upgrade.</para> + + <sect4> + <title>Moving a.out libraries out of the way</title> + + <para>A.out libraries should be moved out of + <filename>/usr/local/lib</filename> and similar to an + <filename>aout</filename> subdirectory. (If you don't move them + out of the way, ELF ports will happily overwrite a.out libraries.) + The <maketarget>move-aout-libs</maketarget> target in the -current + <filename>src/Makefile</filename> (called from + <maketarget>aout-to-elf</maketarget>) will do this for you. It + will only move a.out libs so it is safe to call it on a system + with both ELF and a.out libs in the standard directories.</para> + </sect4> + + <sect4> + <title>Format</title> + + <para>The ports tree will build packages in the format the machine + is in. This means a.out for 2.2 and a.out or ELF for 3.0 depending + on what <command>`objformat`</command> returns. Also, once users + move a.out libraries to a subdirectory, building a.out libraries + will be unsupported. (I.e., it may still work if you know what you + are doing, but you are on your own.)</para> + + <note> + <para>If a port only works for a.out, set + <makevar>BROKEN_ELF</makevar> to a string describing the reason + why. Such ports will be skipped during a build on an ELF + system.</para> + </note> + </sect4> + + <sect4> + <title><makevar>PORTOBJFORMAT</makevar></title> + + <para><filename>bsd.port.mk</filename> will set + <makevar>PORTOBJFORMAT</makevar> to <literal>aout</literal> or + <literal>elf</literal> and export it in the environments + <envar>CONFIGURE_ENV</envar>, <envar>SCRIPTS_ENV</envar> and + <envar>MAKE_ENV</envar>. (It's always going to be + <literal>aout</literal> in -stable). It is also passed to + <maketarget>PLIST_SUB</maketarget> as + <literal>PORTOBJFORMAT=${PORTOBJFORMAT}</literal>. (See comment + on <literal>ldconfig</literal> lines below.)</para> + + <para>The variable is set using this line in + <filename>bsd.port.mk</filename>:</para> + <programlisting> +PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout</programlisting> + + <para>Ports' make processes should use this variable to decide what + to do. However, if the port's <filename>configure</filename> + script already automatically detects an ELF system, it is not + necessary to refer to <makevar>PORTOBJFORMAT</makevar>.</para> + </sect4> + + <sect4> + <title>Building shared libraries</title> + + <para>The following are differences in handling shared + libraries for a.out and ELF.</para> + + <itemizedlist> + <listitem> + <para>Shared library versions</para> + + <para>An ELF shared library should be called + <filename>libfoo.so.<replaceable>M</replaceable></filename> + where <replaceable>M</replaceable> is the single version + number, and an a.out library should be called + <filename>libfoo.so.<replaceable>M</replaceable>.<replaceable>N</replaceable></filename> where <replaceable>M</replaceable> is the major version and <replaceable>N</replaceable> is the the minor version number. Do not mix those; <emphasis>never</emphasis> install an ELF shared library called <filename>libfoo.so.<replaceable>N</replaceable>.<replaceable>M</replaceable></filename> or an a.out shared library (or symlink) called <filename>libfoo.so.<replaceable>N</replaceable></filename>.</para> + </listitem> + + <listitem> + <para>Linker command lines</para> + + <para>Assuming <command>cc -shared</command> is used rather than + <command>ld</command> directly, the only difference is that + you need to add + <option>-Wl,-<replaceable>soname,libfoo.so.M</replaceable></option> on the command line for ELF.</para> + </listitem> + </itemizedlist> + + <para>You need to install a symlink from + <filename>libfoo.so</filename> to + <filename>libfoo.so.<replaceable>N</replaceable></filename> to + make ELF linkers happy. Since it should be listed in + <filename>PLIST</filename> too, and it won't hurt in the a.out + case (some ports even require the link for dynamic loading), you + should just make this link regardless of the setting of + <makevar>PORTOBJFORMAT</makevar>.</para> + </sect4> + + <sect4> + <title><makevar>LIB_DEPENDS</makevar></title> + + <para>All port Makefiles are edited to remove minor numbers from + <makevar>LIB_DEPENDS</makevar>, and also to have the regexp + support removed. (E.g., <literal>foo\\.1\\.\\(33|40\\)</literal> + becomes <literal>foo.2</literal>.) They will be matched using + <command>grep -wF</command>.</para> + </sect4> + + <sect4> + <title><filename>PLIST</filename></title> + + <para><filename>PLIST</filename> should contain the short (ELF) + shlib names if the a.out minor number is zero, and the long + (a.out) names otherwise. <filename>bsd.port.mk</filename> will + automatically add <literal>.0</literal> to the end of short shlib + lines if <makevar>PORTOBJFORMAT</makevar> equals + <literal>aout</literal>, and will delete the minor number from + long shlib names if <makevar>PORTOBJFORMAT</makevar> equals + <literal>elf</literal>.</para> + + <para>In cases where you really need to install shlibs with two + versions on an ELF system or those with one version on an a.out + system (for instance, ports that install compatibility libraries + for other operating systems), define the variable + <makevar>NO_FILTER_SHLIBS</makevar>. This will turn off the + editing of <filename>PLIST</filename> mentioned in the previous + paragraph.</para> + </sect4> + + <sect4> + <title><literal>ldconfig</literal></title> + + <para>The <literal>ldconfig/ line in Makefiles should read:</literal></para> + + <programlisting> +${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....</programlisting> + + <para>In <filename>PLIST</filename> it should read;</para> + + <programlisting> +@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m ... +@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R</programlisting> + + <para>This is to ensure that the correct <command>ldconfig</command> + will be called depending on the format of the package, not the + default format of the system.</para> + </sect4> + </sect3> + <sect3> <title>Info files</title> @@ -2199,7 +2344,25 @@ diff -u -r1.15 PLIST </sect3> - + + <sect3> + <title>Changing the <filename>PLIST</filename> based on <citerefentry> + <refentrytitle>make</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> variables</title> + + <para>Some ports, particularly the <filename>p5-</filename> ports, + need to change their <filename>PLIST</filename> depending on what + options they are configured with (or version of perl, in the case of + <filename>p5-</filename> ports). To make this easy, any instances in + the <filename>PLIST</filename> of <literal>%%OSREL%%</literal>, + <literal>%%PERL_VER%%</literal>, and + <literal>%%PERL_VERSION%%</literal> will be substituted for + appropriately. If you need to make other substitutions, you can set + the <makevar>PLIST_SUB</makevar> variable with a list of + <literal><replaceable>VAR</replaceable>=<replaceable>VALUE</replaceable></literal> pairs and instances of <literal>%%<replaceable>VAR</replaceable>%%</literal> will be substituted with <replaceable>VALUE</replaceable> in the <filename>PLIST</filename>.</para> + </sect3> + <sect3> <title>Licensing Problems</title> @@ -2283,7 +2446,7 @@ diff -u -r1.15 PLIST any such person to begin with, please make the upgrade and send the recursive diff (either unified or context diff is fine, but port committers appear to prefer unified diff more) of the new - and old ports directories to us (i.e., if your modified ports + and old ports directories to us (e.g., if your modified port directory is called <filename>superedit</filename> and the original as in our tree is <filename>superedit.bak</filename>, then send us the result of @@ -2300,10 +2463,16 @@ diff -u -r1.15 PLIST </sect3> <sect3> - <title>Do's and Dont's</title> + <title><anchor id="porting-dads">Do's and Dont's</title> <para>Here is a list of common do's and dont's that you encounter - during the porting process.</para> + during the porting process.You should check your own port + against this list, but you can also check ports in the PR + database that others have submitted. Submit any comments on + ports you check as described in <link linkend="contrib-general">Bug + Reports and General Commentary</link>. Checking ports in + the PR database will both make it faster for us to commit them, + and prove that you know what you are doing.</para> <sect4> @@ -2319,131 +2488,129 @@ diff -u -r1.15 PLIST to the <filename>work</filename> subdirectory.</para> </sect4> - - <sect4> - <title>Package information</title> - - <para>Do include package information, i.e. - <filename>COMMENT</filename>, <filename>DESCR</filename>, and - <filename>PLIST</filename>, in <filename>pkg</filename>.</para> - <note> - <para>Note that these files are not used only for packaging - anymore, and are <emphasis>mandatory</emphasis> now, even if - <makevar>NO_PACKAGE</makevar> is - set.</para> - </note> - </sect4> - - <sect4> - <title>Compress manpages, strip binaries</title> - - <para>Do compress manpages and strip binaries. If the original - source already strips the binary, fine; otherwise, you can add - a <maketarget>post-install</maketarget> rule to do it - yourself. Here is an example:</para> + <sect4> + <title>Portlint Clean</title> - <programlisting> + <para>Do use <command>portlint</command>! The <ulink + url="http://www.freebsd.org/cgi/ports.cgi?portlint">portlint</ulink> program is part of the ports collection.</para> + </sect4> + + <sect4> + <title>Strip Binaries</title> + + <para>Do strip binaries. If the original source already strips the + binaries, fine; otherwise you should add a + <literal>post-install</literal> rule to to it yourself. Here is an + example;</para> + + <programlisting> post-install: strip ${PREFIX}/bin/xdl</programlisting> - - <para>Use the <command>file</command> command on the - installed executable to check whether the binary is stripped - or not. If it does not say `not stripped', it is - stripped.</para> - - <para>To automagically compress the manpages, use the <makevar>MAN[1-9LN]</makevar> - variables. They will check the variable - <makevar>NOMANCOMPRESS</makevar> that the user can set in - <filename>/etc/make.conf</filename> to disable man page - compression. Place them last in the section below the - <makevar>MAINTAINER</makevar> variable. Here is an example:</para> - <programlisting> + <para>Use the <citerefentry> + <refentrytitle>file</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> command on the installed executable to check + whether the binary is stripped or not. If it does not say + <literal>not stripped</literal>, it is stripped.</para> + </sect4> + + <sect4> + <title>Correctly Install Manpages</title> + + <para>Do use the <makevar>MAN<replaceable>n</replaceable></makevar> + variables. These variables, will automatically add any manpages + to <filename>pkg/PLIST</filename> (this means you must + <emphasis>not</emphasis> list manpages in the + <filename>PLIST</filename>) and automatically compress manpages + (unless <makevar>NOMANCOMPRESS</makevar> is set in + <filename>/etc/make.conf</filename>). If your port installs + pre-compressed manpages, you must define the + <makevar>MANCOMPRESSED</makevar> variable.</para> + + <programlisting> MAN1= foo.1 bar.1 MAN5= foo.conf.5 MAN8= baz.8</programlisting> - <note> - <para>This is not usually necessary with ports that are X - applications and use Imake to build.</para> - </note> - - <para>If your port anchors its man tree somewhere other than - <makevar>PREFIX</makevar>, you can use the - <makevar>MANPREFIX</makevar> 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 - <makevar>MAN<replaceable>sect</replaceable>PREFIX</makevar> - (where <replaceable>sect</replaceable> is one of 1-9, L or - N).</para> - - </sect4> - - <sect4> - <title><makevar>INSTALL_*</makevar> macros</title> - - <para>Do use the macros provided in - <filename>bsd.port.mk</filename> to ensure correct modes and - ownership of files in your own *-install targets. They - are:</para> - - - <itemizedlist> - - <listitem> - <para><makevar>${INSTALL_PROGRAM}</makevar> is - a command to install binary executables.</para> - </listitem> - - <listitem> - <para><makevar>${INSTALL_SCRIPT}</makevar> is a - command to install executable scripts.</para> - </listitem> - - <listitem> - <para><makevar>${INSTALL_DATA}</makevar> is a - command to install sharable data.</para> - </listitem> - - <listitem> - <para><makevar>${INSTALL_MAN}</makevar> is a - command to install manpages and other documentation (it - doesn't compress anything).</para> - </listitem> - - </itemizedlist> - - - <para>These are basically the <command>install</command> command with all the appropriate - flags. See below for an example on how to use them.</para> - - </sect4> - - <sect4> - <title><filename>INSTALL</filename> package script</title> - - <para>If your port needs execute commands when the binary - package is installed with pkg_add you can do with via the - <filename>pkg/INSTALL</filename> script. This script will - automatically be added to the package, and will be run twice - by pkg_add. The first time will as <command>INSTALL ${PKGNAME} PRE-INSTALL</command> and the - second time as <command>INSTALL ${PKGNAME} - POST-INSTALL</command>. <literal>$2</literal> can be tested to determine which - mode the script is being run in. The - <envar>PKG_PREFIX</envar> environmental variable will be - set to the package installation directory. See man - <citerefentry><refentrytitle>pkg_add</refentrytitle><manvolnum>1</manvolnum></citerefentry> for additional - information.</para> + <note> + <para>This is not usually necessary with ports that are X + applications and use <command>Imake</command> to build.</para> + </note> + + <para>If your port anchors its man tree somewhere other than + <makevar>PREFIX</makevar>, you can use the + <makevar>MANPREFIX</makevar> 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 + <makevar>MAN<replaceable>sect</replaceable>PREFIX</makevar> (where + <replaceable>sect</replaceable> is one of <literal>1-9</literal>, + <literal>L</literal> or <literal>N</literal>).</para> + </sect4> - <note> - <para>This script is not run automatically if you install the - port with <command>make install</command>. If you are - depending on it being run, you will have to explicitly call - it on your port's <filename>Makefile</filename>.</para> - </note> - </sect4> + <sect4> + <title>INSTALL_* macros</title> + + <para>Do use the macros provided in <filename>bsd.port.mk</filename> + to ensure correct modes and ownership of files in your own + <maketarget>*-install</maketarget> targets. They are:</para> + <itemizedlist> + <listitem> + <para><makevar>INSTALL_PROGRAM</makevar> is a command to install + binary executables.</para> + </listitem> + + <listitem> + <para><makevar>INSTALL_SCRIPT</makevar> is a command to install + executable scripts.</para> + </listitem> + + <listitem> + <para><makevar>INSTALL_DATA</makevar> is a command to install + sharable data.</para> + </listitem> + + <listitem> + <para><makevar>INSTALL_MAN</makevar> is a command to install + manpages and other documentation (it doesn't compress + anything).</para> + </listitem> + </itemizedlist> + + <para>These are basically the <command>install</command> command + with all the appropriate flags. See below for an example on how + to use them.</para> + </sect4> + + <sect4> + <title><filename>INSTALL</filename> package script</title> + + <para>If your port needs execute commands when the binary package is + installed with pkg_add you can do with via the + <filename>pkg/INSTALL</filename> script. This script will + automatically be added to the package, and will be run twice by + <command>pkg_add</command>. The first time will as + <command>INSTALL ${PKGNAME} PRE-INSTALL</command> and the second + time as <command>INSTALL ${PKGNAME} POST-INSTALL</command>. + <literal>$2</literal> can be tested to determine which mode + the script is being run in.</para> + + <para>The <envar>PKG_PREFIX</envar> environmental variable will be + set to the package installation directory. See <citerefentry> + <refentrytitle>pkg_add</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> for additional information.</para> + + <note> + <para>This script is not run automatically if you install the port + with <command>make install</command>. If you are depending on it + being run, you will have to explicitly call it on your port's + <filename>Makefile</filename>.</para> + </note> + </sect4> + <sect4> <title><filename>REQ</filename> package script</title> @@ -2456,7 +2623,7 @@ MAN8= baz.8</programlisting> <citerefentry><refentrytitle>pkg_add</refentrytitle><manvolnum>1</manvolnum></citerefentry> for more information.</para> </sect4> - + <sect4> <title>Install additional documentation</title> @@ -2500,7 +2667,7 @@ post-install: to <filename>pkg/PLIST</filename>).</para> </note> </sect4> - + <sect4> <title><makevar>DIST_SUBDIR</makevar></title> @@ -2526,6 +2693,21 @@ post-install: Makefile.</para> </note> </sect4> + + <sect4> + <title>Package information</title> + + <para>Do include package information, i.e. + <filename>COMMENT</filename>, <filename>DESCR</filename>, and + <filename>PLIST</filename>, in <filename>pkg</filename>.</para> + + <note> + <para>Note that these files are not used only for packaging + anymore, and are <emphasis>mandatory</emphasis> now, even if + <makevar>NO_PACKAGE</makevar> is + set.</para> + </note> + </sect4> <sect4> <title>Feedback</title> @@ -2560,7 +2742,7 @@ post-install: should be deleted. Also, if you had to delete a file, then you can do it in the <maketarget>post-extract</maketarget> target rather than as part of the patch. Once you are happy - with the resuling diff, please split it up into one source + with the resulting diff, please split it up into one source file per patch file.</para> </sect4> @@ -2570,7 +2752,7 @@ post-install: <para>Do try to make your port install relative to <makevar>PREFIX</makevar>. (The value of this variable will be set to <makevar>LOCALBASE</makevar> (default - <filename>/usr/local</filename>), unless <makevar>USE_IMAKE</makevar> or <makevar>USE_X11</makevar> is set, in which case it + <filename>/usr/local</filename>), unless <makevar>USE_X_PREFIX</makevar> or <makevar>USE_IMAKE</makevar> is set, in which case it will be <makevar>X11BASE</makevar> (default <filename>/usr/X11R6</filename>).)</para> @@ -2585,14 +2767,16 @@ post-install: read <makevar>PREFIX</makevar>, as this variable is automatically passed down to every stage of the build and install processes.</para> - + + <para>Do not set <makevar>USE_X_PREFIX</makevar> unless your port + truly require it (i.e., it links against X libs or it needs to + reference files in <makevar>X11BASE</makevar>.</para> + <para>The variable <makevar>PREFIX</makevar> - can be reassigned in your Makefile or in the user's + can be reassigned in your <filename>Makefile</filename> 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 <command>imake</command>, - set <literal>USE_X11=yes</literal>; this is quite different - from setting <literal>PREFIX=/usr/X11R6</literal>.)</para> + <filename>Makefiles</filename>.</para> <para>Also, refer to programs/files from other ports with the variables mentioned above, not explicit pathnames. For @@ -2672,14 +2856,17 @@ lib/libtcl80.so.1.0 <sect4> <title>UIDs</title> - <para>If your port requires a certain user ID to be on the + <para>If your port requires a certain user to be on the installed system, let the <filename>pkg/INSTALL</filename> script call <command>pw</command> to create it - automatically. Look at <filename>japanese/Wnn</filename> or - <filename>net/cvsup-mirror</filename> for examples. It is - customary to use UIDs in the upper 2-digit range (i.e., from - around 50 to 99) for this purpose.</para> - + automatically. Look at <filename>net/cvsup-mirror</filename> + for an example.</para> + + <para>If your port must use the same user/group ID number when it is + installed a binarypackage as when it was compiled, then you mus + choose a free UID from 50 to 99 and register it below. Look at + <filename>japanese/Wnn</filename> for an example.</para> + <para>Make sure you don't use a UID already used by the system or other ports. This is the current list of UIDs between 50 and 99.</para> @@ -2704,12 +2891,51 @@ qmailp:*:84:81:QMail user:/var/qmail:/nonexistent qmailr:*:86:82:QMail user:/var/qmail:/nonexistent msql:*:87:87:mSQL-2 pseudo-user:/var/db/msqldb:/bin/sh</programlisting> - <para>Please send a notice to &a.ports; if you submit or commit - a port that allocates a new UID in this range so we can keep - this list up to date.</para> + <para>Please include a notice when you submit a port (or an + upgrade) that reserves a new UID or GID in this range. This allows + us to keep the list of reserved IDs up to date.</para> </sect4> - + + <sect4> + <title>Doing things rationally</title> + + <para>The <filename>Makefile</filename> should do things simply and + reasonably. If you can make it a couple of lines shorter or more + readable, then do so. Examples include using a make + <literal>.if</literal> construct instead of a shell + <literal>if</literal> construct, not redefining + <maketarget>do-extract</maketarget> if you can redefine + <makevar>EXTRACT*</makevar> instead, and using + <makevar>GNU_CONFIGURE</makevar> instead of + <literal>CONFIGURE_ARGS += + --prefix=${PREFIX}</literal>.</para> + </sect4> + + <sect4> + <title>Respect <makevar>CFLAGS</makevar></title> + + <para>The port should respect the <makevar>CFLAGS</makevar> + variable. If it doesn't, please add <literal>NO_PACKAGE=ignores + cflags</literal> to the <filename>Makefile</filename>.</para> + </sect4> + + <sect4> + <title>Miscellanea</title> + + <para>The files <filename>pkg/DESCR</filename>, + <filename>pkg/COMMENT</filename>, and + <filename>pkg/PLIST</filename> should each be double-checked. If + you are reviewing a port and feel they can be worded better, do + so.</para> + + <para>Don't copy more copies of the GNU General Public License into + our system, please.</para> + + <para>Please be careful to note any legal issues! Don't let us + illegally distribute software!</para> + </sect4> + <sect4> <title>If you are stuck....</title> @@ -2721,8 +2947,8 @@ msql:*:87:87:mSQL-2 pseudo-user:/var/db/msqldb:/bin/sh</programlisting> beat your head against a wall! <!-- smiley --><emphasis>:)</emphasis></para> </sect4> - </sect3> - + </sect3> + <sect3 id="porting-samplem"> <title>A Sample <filename>Makefile</filename></title> @@ -2852,9 +3078,15 @@ pre-install: 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 <literal>kinput2</literal>).</para> + lowercase. If the capital letters are + important to the name (for example, with one-letter names + like <literal>R</literal> or <literal>V</literal>) you may use capital letters at your discretion. + There is a tradition of naming Perl 5 modules by prepending + <literal>p5-</literal> and converting the double-colon separator to a hyphen; + for example, the <literal>Data::Dumper</literal> module becomes + <literal>p5-Data-Dumper</literal>. If the software in question has numbers, + hyphens, or underscores in its name, you may include them as + well (like <literal>kinput2</literal>).</para> </listitem> <listitem> @@ -2988,7 +3220,19 @@ pre-install: version.</para> </sect3> - + + <sect3> + <title>Changes to this document and the ports system</title> + + <para>If you maintain a lot of ports, you should consider following + the <email>ports@FreeBSD.ORG</email> mailing-list. Important changes to + the way ports work will be announced there. You can always + find more detailed information on the latest changes by + looking at <ulink + url="http://www.FreeBSD.ORG/cgi/cvsweb.cgi/src/share/mk/bsd.port.mk"> + the bsd.port.mk CVS log</ulink>.</para> + </sect3> + <sect3> <title>That is It, Folks!</title> @@ -3001,7 +3245,7 @@ pre-install: <!-- smiley --><emphasis>:)</emphasis></para> </sect3> - </sect2> + </sect2> <sect2> <title>Money, Hardware or Internet access</title> @@ -3014,7 +3258,7 @@ pre-install: <sect3> - <title>Donating funds</title> + <title><anchor id="donations">Donating funds</title> <para>While the FreeBSD Project is not a 501(C3) (non-profit) corporation and hence cannot offer special tax incentives for @@ -3022,7 +3266,7 @@ pre-install: accepted on behalf of the project by FreeBSD, Inc.</para> <para>FreeBSD, Inc. was founded in early 1995 by &a.jkh; and - &a.davidg; with the goal of furthering the aims of the FreeBSD + &a.dg; 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 @@ -3038,7 +3282,10 @@ pre-install: <city>Concord</city> <state>CA</state>, <postcode>94520</postcode> </address> - + + <para>(currently using the Walnut Creek CDROM address until a PO +box can be opened)</para> + <para>Wire transfers may also be sent directly to:</para> <address> @@ -3086,7 +3333,7 @@ pre-install: 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 + donation, please contact &a.dg; for information on which items are still required.</para> </listitem> @@ -3112,7 +3359,7 @@ pre-install: </sect3> </sect2> - </sect1> + </sect1> <sect1 id="donors"> <title>Donors Gallery</title> @@ -3202,7 +3449,11 @@ pre-install: <listitem> <para>Sean Eric Fagan</para> </listitem> - + + <listitem> + <para>Don Scott Wilde</para> + </listitem> + <listitem> <para>Gianmarco Giovannelli <email>gmarco@masternet.it</email></para> @@ -3212,7 +3463,10 @@ pre-install: <para>Josef C. Grosch <email>joeg@truenorth.org</email></para> </listitem> - + + <listitem> + <para>Robert T. Morris</para> + </listitem> <listitem> <para>Chuck Robey <email>chuckr@freebsd.org</email></para> @@ -3400,9 +3654,9 @@ pre-install: Science Research Group (CSRG) at the University of California, Berkeley and associated academic contributors.</para> - <para>There are also portions of NetBSD that have been integrated into + <para>There are also portions of NetBSD and OpenBSD that have been integrated into FreeBSD as well, and we would therefore like to thank all the - contributors to NetBSD for their work.</para> + contributors to NetBSD and OpenBSD for their work.</para> </sect1> @@ -3413,11 +3667,6 @@ pre-install: <itemizedlist> - - <listitem> - <para>A JOSEPH KOSHY <email>koshy@india.hp.com</email></para> - </listitem> - <listitem> <para>ABURAYA Ryushirou <email>rewsirow@ff.iij4u.or.jp</email></para> </listitem> @@ -3429,7 +3678,11 @@ pre-install: <listitem> <para>Adam Glass <email>glass@postgres.berkeley.edu</email></para> </listitem> - + + <listitem> + <para>Adam McDougall <email>mcdouga9@egr.msu.edu</email></para> + </listitem> + <listitem> <para>Adrian T. Filipi-Martin <email>atf3r@agate.cs.virginia.edu</email></para> </listitem> @@ -3445,7 +3698,11 @@ pre-install: <listitem> <para>Alan Cox <email>alc@cs.rice.edu</email></para> </listitem> - + + <listitem> + <para>Amancio Hasty <email>ahasty@freebsd.org</email></para> + </listitem> + <listitem> <para>Andreas Kohout <email>shanee@rabbit.augusta.de</email></para> </listitem> @@ -3453,7 +3710,11 @@ pre-install: <listitem> <para>Andreas Lohr <email>andreas@marvin.RoBIN.de</email></para> </listitem> - + + <listitem> + <para>Andrew Gallatin <email>gallatin@cs.duke.edu</email></para> + </listitem> + <listitem> <para>Andrew Gordon <email>andrew.gordon@net-tel.co.uk</email></para> </listitem> @@ -3489,7 +3750,11 @@ pre-install: <listitem> <para>Angelo Turetta <email>ATuretta@stylo.it</email></para> </listitem> - + + <listitem> + <para>Anthony C. Chavez <email>magus@xmission.com</email></para> + </listitem> + <listitem> <para>Anthony Yee-Hang Chan <email>yeehang@netcom.com</email></para> </listitem> @@ -3505,11 +3770,19 @@ pre-install: <listitem> <para>Bernd Rosauer <email>br@schiele-ct.de</email></para> </listitem> - + + <listitem> + <para>Bill Fumerola <email>billf@jade.chc-chimes.com</email></para> + </listitem> + <listitem> <para>Bill Kish <email>kish@osf.org</email></para> </listitem> - + + <listitem> + <para>Brandon Gillespie <email>brandon@roguetrader.com</email></para> + </listitem> + <listitem> <para>&a.wlloyd;</para> </listitem> @@ -3549,7 +3822,11 @@ pre-install: <listitem> <para>Bruce Gingery <email>bgingery@gtcs.com</email></para> </listitem> - + + <listitem> + <para>Bruce Mah <email>bmah@ca.sandia.gov</email></para> + </listitem> + <listitem> <para>Carey Jones <email>mcj@acquiesce.org</email></para> </listitem> @@ -3569,7 +3846,11 @@ pre-install: <listitem> <para>Chet Ramey <email>chet@odin.INS.CWRU.Edu</email></para> </listitem> - + + <listitem> + <para>Chia-liang Kao <email>clkao@CirX.ORG</email></para> + </listitem> + <listitem> <para>Chris Dabrowski <email>chris@vader.org</email></para> </listitem> @@ -3605,7 +3886,12 @@ pre-install: <listitem> <para>Christoph Robitschko <email>chmr@edvz.tu-graz.ac.at</email></para> </listitem> - + + <listitem> + <para>Christopher T. Johnson + <email>cjohnson@neunacht.netgsi.com</email></para> + </listitem> + <listitem> <para>Choi Jun Ho <email>junker@jazz.snu.ac.kr</email></para> </listitem> @@ -3667,7 +3953,7 @@ pre-install: </listitem> <listitem> - <para>Dave Chapeskie <email>dchapes@zeus.leitch.com</email></para> + <para>Dave Chapeskie <email>dchapes@ddm.on.ca</email></para> </listitem> <listitem> @@ -3702,14 +3988,18 @@ pre-install: <para>Dirk Froemberg <email>dirk@hal.in-berlin.de</email></para> </listitem> - <listitem> - <para>Dmitrij Tejblum <email>dima@tejblum.dnttm.rssi.ru</email></para> - </listitem> - <listitem> <para>Dmitry Kohmanyuk <email>dk@farm.org</email></para> </listitem> - + + <listitem> + <para>Dom Mitchell <email>dom@myrddin.demon.co.uk</email></para> + </listitem> + + <listitem> + <para>Don Croyle <email>croyle@gelemna.ft-wayne.in.us</email></para> + </listitem> + <listitem> <para>&a.whiteside;</para> </listitem> @@ -3719,7 +4009,7 @@ pre-install: </listitem> <listitem> - <para>Donald Burr <email>d_burr@ix.netcom.com</email></para> + <para>Donald Maddox <email>dmaddox@scsn.net</email></para> </listitem> <listitem> @@ -3729,10 +4019,15 @@ pre-install: <listitem> <para>Douglas Carmichael <email>dcarmich@mcs.com</email></para> </listitem> - - <listitem> - <para>Eiji-usagi-MATSUmoto <email>usagi@ruby.club.or.jp</email></para> - </listitem> + + <listitem> + <para>Eckart “Isegrim” Hofmann + <email>Isegrim@Wunder-Nett.org</email></para> + </listitem> + + <listitem> + <para>Eiji-usagi-MATSUmoto <email>usagi@clave.gr.jp</email></para> + </listitem> <listitem> <para>ELISA Font Project</para> @@ -3773,7 +4068,11 @@ pre-install: <listitem> <para>Frank Nobis <email>fn@trinity.radio-do.de</email></para> </listitem> - + + <listitem> + <para>Frank Volf <email>volf@oasis.IAEhv.nl</email></para> + </listitem> + <listitem> <para>FUJIMOTO Kensaku <email>fujimoto@oscar.elec.waseda.ac.jp</email></para> </listitem> @@ -3793,11 +4092,28 @@ pre-install: <listitem> <para>Gerard Roudier <email>groudier@club-internet.fr</email></para> </listitem> - + + <listitem> + <para>Gilad Rom <email>rom_glsa@ein-hashofet.co.uk</email></para> + </listitem> + + <listitem> + <para>Ginga Kawaguti + <email>ginga@amalthea.phys.s.u-tokyo.ac.jp</email></para> + </listitem> + <listitem> <para>Greg Ungerer <email>gerg@stallion.oz.au</email></para> </listitem> - + + <listitem> + <para>Hans Huebner <email>hans@artcom.de</email></para> + </listitem> + + <listitem> + <para>Hans Petter Bieker <email>hanspb@persbraten.vgs.no</email></para> + </listitem> + <listitem> <para>Harlan Stenn <email>Harlan.Stenn@pfcs.com</email></para> </listitem> @@ -3829,11 +4145,23 @@ pre-install: <listitem> <para>Holger Veit <email>Holger.Veit@gmd.de</email></para> </listitem> - + + <listitem> + <para>HONDA Yasuhiro <email>honda@kashio.info.mie-u.ac.jp</email></para> + </listitem> + + <listitem> + <para>Horance Chou <email>horance@freedom.ie.cycu.edu.tw</email></para> + </listitem> + <listitem> <para>Hung-Chi Chu <email>hcchu@r350.ee.ntu.edu.tw</email></para> </listitem> - + + <listitem> + <para>Ian Struble <email>ian@broken.net</email></para> + </listitem> + <listitem> <para>Ian Vaudrey <email>i.vaudrey@bigfoot.com</email></para> </listitem> @@ -3857,7 +4185,11 @@ pre-install: <listitem> <para>Issei Suzuki <email>issei@t-cnet.or.jp</email></para> </listitem> - + + <listitem> + <para>Iseei Suzuki <email>issei@jp.FreeBSD.ORG</email></para> + </listitem> + <listitem> <para>Itsuro Saito <email>saito@miv.t.u-tokyo.ac.jp</email></para> </listitem> @@ -3865,11 +4197,19 @@ pre-install: <listitem> <para>J. David Lowe <email>lowe@saturn5.com</email></para> </listitem> - + + <listitem> + <para>J. Han <email>jtc@cygnus.com</email></para> + </listitem> + <listitem> <para>J.T. Conklin <email>jtc@cygnus.com</email></para> </listitem> - + + <listitem> + <para>J.T. Lang <email>keith@email.gcn.net.tw</email></para> + </listitem> + <listitem> <para>James Clark <email>jjc@jclark.com</email></para> </listitem> @@ -3893,10 +4233,18 @@ pre-install: <listitem> <para>Jeff Bartig <email>jeffb@doit.wisc.edu</email></para> </listitem> - + + <listitem> + <para>Keff Kletsky <email>Jeff@Wagsky.com</email></para> + </listitem> + <listitem> <para>Jeffrey Wheat <email>jeff@cetlink.net</email></para> </listitem> + + <listitem> + <para>Jerry Hicks <email>jhicks@glenatl.glenayre.com</email></para> + </listitem> <listitem> <para>Jian-Da Li <email>jdli@csie.NCTU.edu.tw</email></para> @@ -3913,11 +4261,25 @@ pre-install: <listitem> <para>Jim Wilson <email>wilson@moria.cygnus.com</email></para> </listitem> - + + <listitem> + <para>Jimbo Bahooli + <email>griffin@blackhole.iceworld/org</email></para> + </listitem> + <listitem> <para>Joao Carlos Mendes Luis <email>jonny@coppe.ufrj.br</email></para> </listitem> - + + <listitem> + <para>Joe “Marcus” Clarke + <email>marcus@miami.edu</email></para> + </listitem> + + <listitem> + <para>Joe Jih-Shian Lu <email>jslu@dns.ntu.edu.tw</email></para> + </listitem> + <listitem> <para>Joel Sutton <email>sutton@aardvark.apana.org.au</email></para> </listitem> @@ -3933,7 +4295,11 @@ pre-install: <listitem> <para>John Heidemann <email>johnh@isi.edu</email></para> </listitem> - + + <listitem> + <para>John Hood <email>cgull@owl.org</email></para> + </listitem> + <listitem> <para>John Perry <email>perry@vishnu.alias.net</email></para> </listitem> @@ -3946,6 +4312,15 @@ pre-install: <para>John Rochester <email>jr@cs.mun.ca</email></para> </listitem> + <listitem> + <para>John Saunders <email>john@pacer.nlc.net.au</email></para> + </listitem> + + <listitem> + <para>Jonathan Hanna + <email>jh@pc-21490.bc.rogers.wave.ca</email></para> + </listitem> + <listitem> <para>Josef Karthauser <email>joe@uk.freebsd.org</email></para> </listitem> @@ -3985,7 +4360,11 @@ pre-install: <listitem> <para>Junichi Satoh <email>junichi@jp.freebsd.org</email></para> </listitem> - + + <listitem> + <para>Junya WATANABE <email>junya-w@remus.dti.ne.jp</email></para> + </listitem> + <listitem> <para>Kapil Chowksey <email>kchowksey@hss.hns.com</email></para> </listitem> @@ -4009,7 +4388,11 @@ pre-install: <listitem> <para>Kent Vander Velden <email>graphix@iastate.edu</email></para> </listitem> - + + <listitem> + <para>Kentaro Inagaki <email>JBD01226@niftyserve.ne.jp</email></para> + </listitem> + <listitem> <para>Kirk McKusick <email>mckusick@mckusick.com</email></para> </listitem> @@ -4031,9 +4414,14 @@ pre-install: </listitem> <listitem> - <para>Lars Koeller <email>Lars.Koeller@Uni-Bielefeld.DE</email></para> + <para>Lars Köller <email>Lars.Koeller@Uni-Bielefeld.DE</email></para> </listitem> - + + <listitem> + <para>Lian Tai-hwa + <email>avatar@www.mmlab.cse.yzu.edu.twu</email></para> + </listitem> + <listitem> <para>Lucas James <email>Lucas.James@ldjpc.apana.org.au</email></para> </listitem> @@ -4045,7 +4433,12 @@ pre-install: <listitem> <para>Makoto MATSUSHITA <email>matusita@jp.freebsd.org</email></para> </listitem> - + + <listitem> + <para>Makoto WATANABE + <email>watanabe@zlab.phys.nagoya-u.ac.jp</email></para> + </listitem> + <listitem> <para>Manu Iyengar <email>iyengar@grunthos.pscwa.psca.com</email></para> </listitem> @@ -4097,7 +4490,11 @@ pre-install: <listitem> <para>Masachika ISHIZUKA <email>ishizuka@isis.min.ntt.jp</email></para> </listitem> - + + <listitem> + <para>Masanori Kiriake <email>seiken@ncs.co.jp</email></para> + </listitem> + <listitem> <para>Mats Lofkvist <email>mal@algonet.se</email></para> </listitem> @@ -4114,10 +4511,6 @@ pre-install: <para>Matt White <email>mwhite+@CMU.EDU</email></para> </listitem> - <listitem> - <para>Matthew Hunt <email>mph@pobox.com</email></para> - </listitem> - <listitem> <para>Matthew N. Dodd <email>winter@jurai.net</email></para> </listitem> @@ -4173,7 +4566,11 @@ pre-install: <listitem> <para>MOROHOSHI Akihiko <email>moro@race.u-tokyo.ac.jp</email></para> </listitem> - + + <listitem> + <para>Motoyuki Kasahara <email>m-hasahr@sra.co.jp</email></para> + </listitem> + <listitem> <para>Murray Stokely <email>murray@cdrom.com</email></para> </listitem> @@ -4217,7 +4614,11 @@ pre-install: <listitem> <para>Noritaka Ishizumi <email>graphite@jp.FreeBSD.ORG</email></para> </listitem> - + + <listitem> + <para>Oliver Breuninger <email>ob@seicom.NET</email></para> + </listitem> + <listitem> <para>Oliver Fromme <email>oliver.fromme@heim3.tu-clausthal.de</email></para> </listitem> @@ -4266,10 +4667,6 @@ pre-install: <para>Peter Haight <email>peterh@prognet.com</email></para> </listitem> - <listitem> - <para>Peter Hawkins <email>peter@rhiannon.clari.net.au</email></para> - </listitem> - <listitem> <para>Peter Stubbs <email>PETERS@staidan.qld.edu.au</email></para> </listitem> @@ -4293,7 +4690,11 @@ pre-install: <listitem> <para>Richard Hwang <email>rhwang@bigpanda.com</email></para> </listitem> - + + <listitem> + <para>Richard. M. Neswold <email>rneswold@drmemory.fnal.gov</email></para> + </listitem> + <listitem> <para>Richard Seaman, Jr. <email>dick@tar.com</email></para> </listitem> @@ -4337,7 +4738,15 @@ pre-install: <listitem> <para>Ruslan Shevchenko <email>rssh@cki.ipri.kiev.ua</email></para> </listitem> - + + <listitem> + <para>SADA Kenji <email>sada@e-mail.ne.jp</email></para> + </listitem> + + <listitem> + <para>SURANYI Peter <email>suranyip@jks.is.tsukuba.ac.jp</email></para> + </listitem> + <listitem> <para>Samuel Lam <email>skl@ScalableNetwork.com</email></para> </listitem> @@ -4361,7 +4770,11 @@ pre-install: <listitem> <para>Satoshi Taoka <email>taoka@infonets.hiroshima-u.ac.jp</email></para> </listitem> - + + <listitem> + <para>Scot W. Hetzel <email>hetzels@westbend.net</email></para> + </listitem> + <listitem> <para>Scott Blachowicz <email>scott.blachowicz@seaslug.org</email></para> </listitem> @@ -4369,7 +4782,20 @@ pre-install: <listitem> <para>Scott A. Kenney <email>saken@rmta.ml.org</email></para> </listitem> - + + <listitem> + <para>Seigou TANIMURA + <email>tanimura@naklab.dnj.ynu.ac.jp</email></para> + </listitem> + + <listitem> + <para>Seiichirou Hiraoka <email>flathill@flathill.gr.jp</email></para> + </listitem> + + <listitem> + <para>Serge Babkin <email>babkin@hq.icb.chel.su</email></para> + </listitem> + <listitem> <para>Serge V. Vakulenko <email>vak@zebub.msk.su</email></para> </listitem> @@ -4377,7 +4803,12 @@ pre-install: <listitem> <para>Sheldon Hearn <email>axl@iafrica.com</email></para> </listitem> - + + <listitem> + <para>Shigeyuki FUKUSHIMA + <email>shige@kuis.kyoto-u.ac.jp</email></para> + </listitem> + <listitem> <para>Simon Marlow <email>simonm@dcs.gla.ac.uk</email></para> </listitem> @@ -4393,15 +4824,27 @@ pre-install: <listitem> <para>Soren Dossing <email>sauber@netcom.com</email></para> </listitem> - + + <listitem> + <para>Stefan Eggers <email>seggers@semyam.dinoco.de</email></para> + </listitem> + <listitem> - <para>Stefan Moeding <email>moeding@bn.DeTeMobil.de</email></para> + <para>Stefan Moeding <email>s.moeding@ndh.net</email></para> </listitem> - + + <listitem> + <para>Stefan “Sec” Zehl <email>sec@42.org</email></para> + </listitem> + <listitem> <para>Stephane Legrand <email>stephane@lituus.fr</email></para> </listitem> - + + <listitem> + <para>Stephen Farrell <email>stephen@farrell.org</email></para> + </listitem> + <listitem> <para>Stephen J. Roznowski <email>sjr@home.net</email></para> </listitem> @@ -4409,7 +4852,21 @@ pre-install: <listitem> <para>Steve Gerakines <email>steve2@genesis.tiac.net</email></para> </listitem> - + + <listitem> + <para>Steven G. Kargl + <email>kargl@troutmask.apl.washington.edu</email></para> + </listitem> + + <listitem> + <para>Stephen H. Samorodin <email>samorodi@NUXU.com</email></para> + </listitem> + + <listitem> + <para>Stuart Henderson + <email>stuart@internationalschool.co.uk</email></para> + </listitem> + <listitem> <para>Suzuki Yoshiaki <email>zensyo@ann.tama.kawasaki.jp</email></para> </listitem> @@ -4421,11 +4878,27 @@ pre-install: <listitem> <para>Taguchi Takeshi <email>taguchi@tohoku.iij.ad.jp</email></para> </listitem> - + + <listitem> + <para>Takashi Mega <email>mega@minz.org</email></para> + </listitem> + + <listitem> + <para>Takashi Uozu <email>j1594016@ed.kagu.sut.ac.jp</email></para> + </listitem> + <listitem> <para>Takayuki Ariga <email>a00821@cc.hc.keio.ac.jp</email></para> </listitem> - + + <listitem> + <para>Takeu NAIKI <email>naiki@bfd.es.hokudai.ac.jp</email></para> + </listitem> + + <listitem> + <para>Ted Faber <email>faber@ISI.EDU</email></para> + </listitem> + <listitem> <para>Terry Lambert <email>terry@lambert.org</email></para> </listitem> @@ -4457,7 +4930,11 @@ pre-install: <listitem> <para>Tim Wilkinson <email>tim@sarc.city.ac.uk</email></para> </listitem> - + + <listitem> + <para>Tom Jobbins <email>tom@tom.tj</email></para> + </listitem> + <listitem> <para>Tom Samplonius <email>tom@misery.sdf.com</email></para> </listitem> @@ -4469,7 +4946,11 @@ pre-install: <listitem> <para>Toshihiro Kanda <email>candy@fct.kgc.co.jp</email></para> </listitem> - + + <listitem> + <para>Toshihiko SHIMOKAWA <email>toshi@tea.forus.or.jp</email></para> + </listitem> + <listitem> <para>Trefor S. <email>trefor@flevel.co.uk</email></para> </listitem> @@ -4477,7 +4958,11 @@ pre-install: <listitem> <para>Ville Eerola <email>ve@sci.fi</email></para> </listitem> - + + <listitem> + <para>Vladimir Kushnir <email>kushn@mail.kar.net</email></para> + </listitem> + <listitem> <para>Werner Griessl <email>werner@btp1da.phy.uni-bayreuth.de</email></para> </listitem> @@ -4511,7 +4996,7 @@ pre-install: </listitem> <listitem> - <para>Yukihiro Nakai <email>nakai@mlab.t.u-tokyo.ac.jp</email></para> + <para>Yukihiro Nakai <email>nakai@technologist.com</email></para> </listitem> <listitem> @@ -4616,7 +5101,7 @@ pre-install: </listitem> <listitem> - <para>David Greenman <email>davidg@Root.COM</email></para> + <para>David Greenman <email>dg@Root.COM</email></para> </listitem> <listitem> diff --git a/en_US.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml b/en_US.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml index d71df2e940..51cb7a5561 100644 --- a/en_US.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml @@ -359,10 +359,13 @@ subscribe freebsd-stable</programlisting> In the body of your <para>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 <application>CVSup</application> and <application>CTM</application>.</para> + primary services we offer are <link linkend="anoncvs">Anonymous + CVS</link>, <link linkend="cvsup">CVSup</link>, and + <link linkend="ctm">CTM</link>.</para> - <para><application>CVSup</application> uses the - <emphasis>pull</emphasis> model of updating. The user (or a cron + <para><application>Anonymous CVS</application> and <application>CVSup</application> use the + <emphasis>pull</emphasis> model of updating sources. In the case of + <application>CVSup</application> the user (or a cron script) invokes the <command>cvsup</command> program, and it interacts with a <command>cvsupd</command> server somewhere to bring your files up to date. The updates you receive @@ -370,14 +373,21 @@ subscribe freebsd-stable</programlisting> In the body of your them. You can easily restrict your updates to the specific files or directories that are of interest to you. Updates are generated on the fly by the server, according to what you have and what you want - to have.</para> + to have. <application>Anonymous CVS</application> is quite a bit more simplistic + than CVSup in that it's just an extension to + <application>CVS</application> which allows it to pull changes + directly from a remote CVS + repository. <application>CVSup</application> can do this far more + efficiently, but <application>Anonymous CVS</application> is easier to + use.</para> <para><application>CTM</application>, 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 + archive or otherwise pull them across.. Instead, a script which identifies changes in files since + its previous run is executed several times a day on the master CTM + machine, + any detected changes being compressed, stamped with a + sequence-number and encoded for transmission over email (in printable ASCII only). Once received, these “CTM deltas” can then be handed to the <citerefentry><refentrytitle>ctm_rmail</refentrytitle><manvolnum>1</manvolnum></citerefentry> utility which will automatically decode, verify and apply the changes to the user's copy of the sources. This @@ -390,12 +400,313 @@ subscribe freebsd-stable</programlisting> In the body of your damaged portions for you. <application>CTM</application> 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.</para> + delta”) and rebuild it all with CTM or, with anoncvs, simply + delete the bad bits and resync.</para> - <para>For more information on <application>CTM</application> and <application>CVSup</application>, please see one of the + <para>For more information on <application>Anonymous CVS</application>, <application>CTM</application>, and <application>CVSup</application>, please see one of the following sections:</para> + + <sect2 id="anoncvs"> + <title>Anonymous CVS</title> + <para><emphasis>Contributed by &a.jkh;</emphasis></para> + <sect3> + <title><anchor id="anoncvs-intro">Introduction</title> + + <para>Anonymous CVS (or, as it is otherwise known, + <emphasis>anoncvs</emphasis>) is a feature provided by the CVS + utilities bundled with FreeBSD for synchronizing with a remote CVS + repository. Among other things, it allows users of FreeBSD to + perform, with no special privileges, read-only CVS operations + against one of the FreeBSD project's official anoncvs servers. To + use it, one simply sets the <envar>CVSROOT</envar> environment + variable to point at the appropriate anoncvs server and then uses + the <citerefentry> + <refentrytitle>cvs</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> command to access it like any local + repository.</para> + + <para>While it can also be said that the <link + linkend="cvsup">CVSup</link> and <emphasis>anoncvs</emphasis> + services both perform essentially the same function, there are + various trade-offs which can influence the user's choice of + synchronization methods. In a nutshell, + <application>CVSup</application> is much more efficient in its + usage of network resources and is by far the most technically + sophisticated of the two, but at a price. To use + <application>CVSup</application>, a special client must first be + installed and configured before any bits can be grabbed, and then + only in the fairly large chunks which + <application>CVSup</application> calls + <emphasis>collections</emphasis>.</para> + + <para><application>Anoncvs</application>, by contrast, can be used + to examine anything from an individual file to a specific program + (like <command>ls</command> or <command>grep</command>) by + referencing the CVS module name. Of course, + <application>anoncvs</application> is also only good for read-only + operations on the CVS repository, so if it's your intention to + support local development in one repository shared with the + FreeBSD project bits then <application>CVSup</application> is + really your only option.</para> + </sect3> + + <sect3> + <title><anchor id="anoncvs-usage">Using Anonymous CVS</title> + + <para>Configuring <citerefentry> + <refentrytitle>cvs</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> to use an Anonymous CVS repository is a simple + matter of setting the <envar>CVSROOT</envar> environment variable + to point to one of the FreeBSD project's + <emphasis>anoncvs</emphasis> servers. At the time of this writing, + the following servers are available:</para> + + <itemizedlist> + <listitem> + <para><emphasis>USA</emphasis>: + anoncvs@anoncvs.freebsd.org:/cvs</para> + </listitem> + </itemizedlist> + + <para>Since CVS allows one to “check out” virtually any + version of the FreeBSD sources that ever existed (or, in some + cases, will exist <!-- smiley -->:), you need to be familiar with + the revision (<option>-r</option>) flag to <citerefentry> + <refentrytitle>cvs</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> and what some of the permissible values for it in + the FreeBSD Project repository are.</para> + + <para>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.</para> + + <para>Here are the branch tags that users might be interested + in:</para> + + <variablelist> + <varlistentry> + <term>HEAD</term> + + <listitem> + <para>Symbolic name for the main line, or FreeBSD-current. + Also the default when no revision is + specified.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2</term> + + <listitem> + <para>The line of development for FreeBSD-2.2.x, also known as + FreeBSD-stable. Not valid for the ports collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_0</term> + + <listitem> + <para>The line of development for FreeBSD-2.1.x - this branch + is largely obsolete. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Here are the revision tags that users might be interested + in:</para> + + <variablelist> + <varlistentry> + <term>RELENG_2_2_6_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.6. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_5_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.5. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_2_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.2. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_1_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.1. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_0_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.0. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_7_RELEASE</term> + + <listitem> + <para>FreeBSD-2.1.7. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_6_1_RELEASE</term> + + <listitem> + <para>FreeBSD-2.1.6.1. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_6_RELEASE</term> + + <listitem> + <para>FreeBSD-2.1.6. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_5_RELEASE</term> + + <listitem> + <para>FreeBSD-2.1.5. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_1_0_RELEASE</term> + + <listitem> + <para>FreeBSD-2.1.0. Not valid for the ports + collection.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>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 <option>-D date</option> flag. See the <citerefentry> + <refentrytitle>cvs</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> man page for more details.</para> + </sect3> + + <sect3> + <title>Examples</title> + + <para>While it really is recommended that you read the manual page + for <citerefentry> + <refentrytitle>cvs</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> thoroughly before doing + anything, here are some quick examples which essentially show how + to use Anonymous CVS:</para> + + <example> + <title>Checking out something from -current (<citerefentry> + <refentrytitle>ls</refentrytitle> + <manvolnum>1</manvolnum></citerefentry>) and deleting it + again:</title> + + <screen> +&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput> +&prompt.user; <userinput>cvs co ls</userinput> +&prompt.user; <userinput>cvs release -d ls</userinput></screen> + </example> + + <example> + <title>Checking out the version of ls(1) in the 2.2-stable + branch:</title> + + <screen> +&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput> +&prompt.user; <userinput>cvs co -rRELENG_2_2 ls</userinput> +&prompt.user; <userinput>cvs release -d ls</userinput></screen> + </example> + + <example> + <title>Creating a list of changes (as unidiffs) to <citerefentry> + <refentrytitle>ls</refentrytitle> + <manvolnum>1</manvolnum></citerefentry> between FreeBSD 2.2.2 + and FreeBSD 2.2.6:</title> + + <screen> +&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput> +&prompt.user; <userinput>cvs rdiff -u -rRELENG_2_2_2_RELEASE -rRELENG_2_2_6_RELEASE ls</userinput></screen> + </example> + + <example> + <title>Finding out what other module names can be used:</title> + + <screen> +&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput> +&prompt.user; <userinput>cvs co modules</userinput> +&prompt.user; <userinput>more modules/modules</userinput> +&prompt.user; <userinput>cvs release -d modules</userinput></screen> + </example> + </sect3> + + <sect3> + <title>Other Resources</title> + + <para>The following additional resources may be helpful in learning + CVS:</para> + + <itemizedlist> + <listitem> + <para><ulink + url="http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/">CVS Tutorial</ulink> from Cal Poly.</para> + </listitem> + + <listitem> + <para><ulink url="http://www.cyclic.com">Cyclic + Software</ulink>, commercial maintainers of CVS.</para> + </listitem> + + <listitem> + <para><ulink + url="http://www.freebsd.org/cgi/cvsweb.cgi">CVSWeb</ulink> + is the FreeBSD Project web interface for CVS.</para> + </listitem> + </itemizedlist> + </sect3> + </sect2> + <sect2 id="ctm"> <title><application>CTM</application></title> @@ -511,23 +822,27 @@ subscribe freebsd-stable</programlisting> In the body of your produced subsequently to it.</para> <para>First you should determine what you already have. Everyone - can start from an “empty” directory. However, since the trees + can start from an “empty” directory. You must use an + initial “Empty&rdquo delta to start off your + <application>CTM</application> supported tree. At some point it is + intended that one of these “started” deltas be + distributed on the CD for your convenience. This does not + currently happen however.</para> + + <para>You can recognize +However, since the trees are many tens of megabytes, you should prefer to start from something already at hand. If you have a RELEASE CD, you can copy or extract an initial source from it. This will save a significant transfer of data.</para> - <para>Once you identify a suitable starting point, you must use an - initial “transition” delta to transform your starting point - into a <application>CTM</application> supported tree.</para> - - <para>You can recognize these transition deltas by the + <para>You can recognize these “starter” deltas by the <literal>X</literal> appended to the number (<filename>src-cur.3210XEmpty.gz</filename> for instance). The designation following the <filename>X</filename> corresponds to the origin of your initial “seed”. <filename>Empty</filename> is - an empty directory, <filename>R225</filename> would designate the 2.2.5 release, - etc. As a rule a base transition from <filename>Empty</filename> is producted + an empty directory. As a rule a base transition from + <filename>Empty</filename> is produced every 100 deltas. By the way, they are large! 25 to 30 Megabytes of <command>gzip</command>'ed data is common for the <filename>XEmpty</filename> deltas.</para> @@ -791,7 +1106,7 @@ subscribe freebsd-stable</programlisting> In the body of your <para>The easiest way to install <application>CVSup</application> if you are running FreeBSD 2.2 or later is to use either <ulink - URL="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/net/cvsup.tar">the port</ulink> from the FreeBSD <link linkend="ports">ports collection</link> or the corresponding <ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/net/cvsup-15.3.tgz">binary package</ulink>, depending on whether you prefer to roll your own or not.</para> + URL="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/net/cvsup.tar">the port</ulink> from the FreeBSD <link linkend="ports">ports collection</link> or the corresponding <ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/net/cvsup-15.4.2.tgz">binary package</ulink>, depending on whether you prefer to roll your own or not.</para> <para>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 @@ -813,24 +1128,25 @@ subscribe freebsd-stable</programlisting> In the body of your <listitem> <para><ulink - URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.3.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.3.tar.gz</ulink> (client including GUI).</para> + URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.4.2.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.4.2.tar.gz</ulink> (client including GUI).</para> </listitem> <listitem> <para><ulink - URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.3.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.3.tar.gz</ulink> (client without GUI).</para> + URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.4.2.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.4.2.tar.gz</ulink> (client without GUI).</para> </listitem> <listitem> <para><ulink - URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.3.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.3.tar.gz</ulink> (server).</para> + URL="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.4.2.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.4.2.tar.gz</ulink> (server).</para> </listitem> </itemizedlist> - <para>or the German mirror:</para> - + <para>as well as from the many FreeBSD <link + linkend="mirrors-ftp">FTP mirror sites</link> around the + world.</para> <itemizedlist> @@ -1066,6 +1382,24 @@ cvs-crypto</programlisting> <variablelist> + <varlistentry> + <term>tag=RELENG_3_0_0_RELEASE</term> + + <listitem> + <para>FreeBSD-3.0. Not valid for the ports-* + collections.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>tag=RELENG_2_2_7_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.7. Not valid for the ports-* + collections.</para> + </listitem> + </varlistentry> + <varlistentry><term>tag=RELENG_2_2_6_RELEASE</term> <listitem> <para>FreeBSD-2.2.6. Not valid for the ports-* @@ -1521,7 +1855,17 @@ cvs-crypto</programlisting> </listitem> </varlistentry> - + + <varlistentry> + <term><literal></literal>ports-deskutils + release=cvs</term> + + <listitem> + <para>Things that used to be on the desktop before + computers were invented.</para> + </listitem> + </varlistentry> + <varlistentry><term><literal>ports-devel release=cvs</literal></term> @@ -1746,10 +2090,54 @@ cvs-crypto</programlisting> release=cvs</literal></term> <listitem> - <para>X11 software.</para> - + <para>Ports to support the X window + system.</para> </listitem> </varlistentry> + + <varlistentry> + <term><literal>ports-x11-clocks + release=cvs</literal></term> + + <listitem> + <para>X11 clocks.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-fm + release=cvs</literal></term> + + <listitem> + <para>X11 file managers.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-fonts + release=cvs</literal></term> + + <listitem> + <para>X11 fonts and font utilities.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-toolkits + release=cvs</literal></term> + + <listitem> + <para>X11 toolkits.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-wm</literal></term> + + <listitem> + <para>X11 window managers.</para> + </listitem> + </varlistentry> </variablelist> diff --git a/en_US.ISO_8859-1/books/handbook/disks/chapter.sgml b/en_US.ISO_8859-1/books/handbook/disks/chapter.sgml new file mode 100644 index 0000000000..ee74a49501 --- /dev/null +++ b/en_US.ISO_8859-1/books/handbook/disks/chapter.sgml @@ -0,0 +1,165 @@ +<chapter id="disks"> + <title>Disks</title> + + <para><emphasis>Contributed by &a.obrien; 26 April 1998</emphasis></para> + + <para>Lets say we want to add a new SCSI disk to a machine that currently + only has a single drive. First turn off the computer and install the + drive in the computer following the instructions of the computer, + controller, and drive manufacturer. Due the wide variations of procedures + to do this, the details are beyond the scope of this document.</para> + + <para>Login as user <username>root</username>. After you've installed the + drive, inspect <filename>/var/run/dmesg.boot</filename> to ensure the new + disk was found. Continuing with our example, the newly added drive will be + <filename>sd1</filename> and we want to mount it on + <filename>/1</filename>. (if you are adding an IDE drive substitute + <filename>wd</filename> for <filename>sd</filename>)</para> + + <para>Because FreeBSD runs on IBM-PC compatible computers, it must take into + account the PC BIOS partitions. These are different from the traditional + BSD partitions. A PC disk has up to four BIOS partition entries. If the + disk is going to be truly dedicated to FreeBSD, you can use the + <emphasis>dedicated</emphasis> mode. Otherwise, FreeBSD will have to live + with in one of the PC BIOS partitions. FreeBSD calls the PC BIOS + partitions, <emphasis>slices</emphasis> so as not to confuse them with + traditional BSD partitions. You may also use slices on a disk that is + dedicated to FreeBSD, but used in a computer that also has another + operating system installed. This is to not confuse the + <command>fdisk</command> utility of the other operating system.</para> + + <para>In the slice case the drive will be added as + <filename>/dev/sd1s1e</filename>. This is read as: SCSI disk, unit number + 1 (second SCSI disk), slice 1 (PC BIOS partition 1), and + <filename>e</filename> BSD partition. In the dedicated case, the drive + will be added simply as <filename>/dev/sd1e</filename>.</para> + + <sect1> + <title>Using sysinstall</title> + + <para> You may use <command>/stand/sysinstall</command> to partition and + label a new disk using its easy to use menus. Either login as user + <username>root</username> or use the <command>su</command> command. Run + <command>/stand/sysinstall</command> and enter the + <literal>Configure</literal> menu. With in the <literal>FreeBSD + Configuration Menu</literal>, scroll down and select the + <literal>Partition</literal> item. Next you should be presented with a + list of hard drives installed in your system. If you do not see + <literal>sd1</literal> listed, you need to recheck your physical + installation and <command>dmesg</command> output in the file + <filename>/var/run/dmesg.boot</filename>.</para> + + <para>Select <literal>sd1</literal> to enter the <literal>FDISK Partition + Editor</literal>. Choose <literal>A</literal> to use the entire disk + for FreeBSD. When asked if you want to <quote>remain cooperative with + any future possible operating systems</quote>, answer + <literal>YES</literal>. Write the changes to the disk using + <command>W</command>. Now exit the FDISK editor using + <command>q</command>. Next you will be asked about the Master Boot + Record. Since you are adding a disk to an already running system, choose + <literal>None</literal>.</para> + + <para>Next enter the <literal>Disk Label Editor</literal>. This is where + you will create the traditional BSD partitions. A disk can have up to + eight partitions, labeled a-h. A few of the partition labels have + special uses. The <literal>a</literal> partition is used for the root + partition (<filename>/</filename>). Thus only your system disk (e.g, the + disk you boot from) should have an <literal>a</literal> partition. The + <literal>b</literal> partition is used for swap partitions, and you may + have many disks with swap partitions. The <literal>c</literal> partition + addresses the entire disk in dedicated mode, or the entire FreeBSD slice + in slice mode. The other partitions are for general use.</para> + + <para>Sysinstall's Label editor favors the <literal>e</literal> partition + for non-root, non-swap partitions. With in the Label editor, create a + single file system using <command>C</command>. When prompted if this + will be a FS (file system) or swap, choose <literal>FS</literal> and + give a mount point (e.g, <filename>/mnt</filename>). When adding a disk + in post-install mode, Sysinstall will not create entries in + <filename>/etc/fstab</filename> for you, so the mount point you specify + isn't important.</para> + + <para>You are now ready to write the new label to the disk and create a + file system on it. Do this by hitting <command>W</command>. Ignore any + errors from Sysinstall that it could not mount the new partition. Exit + the Label Editor and Sysinstall completely.</para> + + <para>The last step is to edit <filename>/etc/fstab</filename> to add an + entry for your new disk.</para> + </sect1> + + <sect1> + <title>Using command line utilities</title> + + <sect2> + <title>* Using Slices</title> + + <para></para> + </sect2> + + <sect2> + <title>Dedicated</title> + + <para>If you will not be sharing the new drive with another operating + system, you may use the <literal>dedicated</literal> mode. Remember + this mode can confuse Microsoft operating systems; however, no damage + will be done by them. IBM's OS/2 however, will + “appropriate” any partition it finds which it doesn't + understand.</para> + + <informalexample> + <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rsd1 bs=1k count=1</userinput> +&prompt.root; <userinput>disklabel -Brw sd1 auto</userinput> +&prompt.root; <userinput>disklabel -e sd</userinput>1 # create the `e' partition +&prompt.root; <userinput>newfs -d0 /dev/rsd1e</userinput> +&prompt.root; <userinput>mkdir -p /1</userinput> +&prompt.root; <userinput>vi /etc/fstab</userinput> # add an entry for /dev/sd1e +&prompt.root; <userinput>mount /1</userinput></screen> + </informalexample> + + <para>An alternate method is:</para> + + <informalexample> + <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rsd1 count=2</userinput> +&prompt.root; <userinput>disklabel /dev/rsd1 | disklabel -BrR sd1 /dev/stdin</userinput> +&prompt.root; <userinput>newfs /dev/rsd1e</userinput> +&prompt.root; <userinput>mkdir -p /1</userinput> +&prompt.root; <userinput>vi /etc/fstab</userinput> # add an entry for /dev/sd1e +&prompt.root; <userinput>mount /1</userinput></screen> + </informalexample> + </sect2> + </sect1> + + <sect1> + <title>* Non-traditional Drives</title> + + <sect2> + <title>* Zip Drives</title> + + <para></para> + </sect2> + + <sect2> + <title>* Jazz Drives</title> + + <para></para> + </sect2> + + <sect2> + <title>* Sequest Drives</title> + + <para></para> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../handbook.sgml" "part" "chapter") + End: +--> diff --git a/en_US.ISO_8859-1/books/handbook/eresources/chapter.sgml b/en_US.ISO_8859-1/books/handbook/eresources/chapter.sgml index 35d28a30e5..65f8af855a 100644 --- a/en_US.ISO_8859-1/books/handbook/eresources/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/eresources/chapter.sgml @@ -49,7 +49,7 @@ <title>List summary</title> <para><emphasis>General lists:</emphasis> The following are - general lists which anyone is free to join:</para> + general lists which anyone is free (and encouraged) to join:</para> <informaltable frame="none"> <tgroup cols="2"> @@ -61,6 +61,11 @@ </thead> <tbody> + <row> + <entry>freebsd-advocacy</entry> + <entry>FreeBSD Evangelism</entry> + </row> + <row> <entry>freebsd-announce</entry> <entry>Important events and project milestones</entry> @@ -101,6 +106,11 @@ opportunities</entry> </row> + <row> + <entry>freebsd-newbies</entry> + <entry>New FreeBSD users activities and discussions</entry> + </row> + <row> <entry>freebsd-questions</entry> <entry>User questions</entry> @@ -139,6 +149,12 @@ <entry>The FreeBSD Documentation project</entry> </row> + <row> + <entry>freebsd-database</entry> + <entry>Discussing database use and development under + FreeBSD</entry> + </row> + <row> <entry>freebsd-emulation</entry> <entry>Emulation of other systems such as @@ -178,10 +194,15 @@ </row> <row> - <entry>freebsd-multimedia</entry> - <entry>Multimedia discussion</entry> + <entry>freebsd-mozilla</entry> + <entry>Porting mozilla to FreeBSD</entry> </row> + <row> + <entry>freebsd-net</entry> + <entry>Networking discussion and TCP/IP/source code</entry> + </row> + <row> <entry>freebsd-platforms</entry> <entry>Concerning ports to non-Intel architecture @@ -203,6 +224,11 @@ <entry>Security issues</entry> </row> + <row> + <entry>freebsd-small</entry> + <entry>Using FreeBSD in embedded applications</entry> + </row> + <row> <entry>freebsd-smp</entry> <entry>Design discussions for [A]Symmetric @@ -213,6 +239,11 @@ <entry>freebsd-sparc</entry> <entry>Porting FreeBSD to Sparc systems</entry> </row> + + <row> + <entry>freebsd-tokenring</entry> + <entry>Support Token Ring in FreeBSD</entry> + </row> </tbody> </tgroup> </informaltable> @@ -540,7 +571,7 @@ help milestones</emphasis></para> <para>This is the mailing list for people interested only - in occasional announcements of significant freebsd events. + 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. @@ -555,10 +586,39 @@ help <para><emphasis>Architecture and design discussions</emphasis></para> - <para>This is the mailing - list for people discussing FreeBSD architectural issues. - It is a closed list, and not for general - subscription.</para> + <para>This is a moderated list for discussion of FreeBSD + architecture. Messages will mostly be kept technical in + nature, with (rare) exceptions for other messages the + moderator deems need to reach all the subscribers of the + list. Examples of suitable topics;</para> + + <itemizedlist> + <listitem> + <para>How to re-vamp the build system to have several + customized builds running at the same time.</para> + </listitem> + + <listitem> + <para>What needs to be fixed with VFS to make Heidemann + layers work.</para> + </listitem> + + <listitem> + <para>How do we change the device driver interface to be + able to use the ame drivers cleanly on many buses and + architectures?</para> + </listitem> + + <listitem> + <para>How do I write a network driver?</para> + </listitem> + </itemizedlist> + + <para>The moderator reserves the right to do minor editing + (spell-checking, grammar correction, trimming) of messages + that are posted to the list. The volume of the list will be + kept low, which may involve having to delay topics until an + active discussion has been resolved.</para> </listitem> </varlistentry> @@ -660,9 +720,11 @@ help <listitem> <para><emphasis>Documentation project</emphasis></para> - <para>This mailing list belongs to the FreeBSD Doc Project - and is for the discussion of documentation related issues - and projects.</para> + <para>This mailing list is for the discussion of documentation + related issues and projects. The members of this mailing list + are collectively referred to as “The FreeBSD + Documentation Project”. It is an open list; feel free to + join and contribute.</para> </listitem> </varlistentry> @@ -766,16 +828,22 @@ help </listitem> </varlistentry> - <varlistentry><term>FREEBSD-MULTIMEDIA</term> + <varlistentry><term>FREEBSD-NEWBIES</term> <listitem> - <para><emphasis>Multimedia discussions</emphasis></para> - - <para>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.</para> + <para><emphasis>Newbies activities + discussion</emphasis></para> + + <para>We cover any of the activities of newbies that are not + already dealt with elsewhere, including: independent learning + and problem solving techniques, finding and using resources + and asking for help elsewhere, how to use mailing lists and + which lists to use, general chat, making mistakes, boasting, + sharing ideas, stories, moral (but not technical) support, and + taking an active part in the FreeBSD community. We take our + problems and support questions to freebsd-questions, and use + freebsd-newbies to meet others who are doing the same things + that we do as newbies.</para> </listitem> </varlistentry> @@ -866,7 +934,17 @@ help FreeBSD-security.</para> </listitem> </varlistentry> - + + <varlistentry> + <term>FREEBSD-SMALL</term> + + <listitem> + <para>This list discusses topics related to unsually small and + embedded FreeBSD installations. This is a technical mailing + list for which strictly technical content is expected.</para> + </listitem> + </varlistentry> + <varlistentry><term>FREEBSD-USER-GROUPS</term> <listitem> @@ -972,36 +1050,6 @@ help URL="news:comp.unix.misc">comp.unix.misc</ulink></para> </listitem> - <listitem> - <para><ulink - URL="news:comp.os.386bsd.announc">comp.os.386bsd.announc</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.os.386bsd.app">comp.os.386bsd.app</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.os.386bsd.bugs">comp.os.386bsd.bugs</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.os.386bsd.development">comp.os.386bsd.development</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.os.386bsd.misc">comp.os.386bsd.misc</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.os.386bsd.questions">comp.os.386bsd.questions</ulink></para> - </listitem> - <listitem> <para><ulink URL="news:comp.bugs.4bsd">comp.bugs.4bsd</ulink></para> diff --git a/en_US.ISO_8859-1/books/handbook/hw/chapter.sgml b/en_US.ISO_8859-1/books/handbook/hw/chapter.sgml index 9a915a7c17..111cde9410 100644 --- a/en_US.ISO_8859-1/books/handbook/hw/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/hw/chapter.sgml @@ -78,24 +78,20 @@ <para>For Pentium Pro (P6) systems, I'm quite fond of the <ulink URL="http://www.tyan.com/html/products.html">Tyan</ulink> - S1668 dual-processor motherboard. It makes a dandy little - single or dual processor system (which is supported in FreeBSD - 3.0) and the price of the Pentium Pro 180/256K chip has fallen - to truly affordable levels. The Pentium Pro remains my favorite - processor solution server systems (Megahertz ratings aren't - everything).</para> + S1668 dual-processor motherboard as well as the Intel PR440FX + motherboard with on-board SCSI WIDE and 100/10MB Intel + Etherexpress NIC. You can build a dandy little single or dual + processor system (which is supported in FreeBSD 3.0) for very + little cost now that the Pentium Pro 180/256K chips have fallen so + greatly in price, but no telling how much longer this will + last.</para> <para>For the Pentium II, I'm rather partial to the <ulink URL="http://www.asus.com.tw">ASUS</ulink> <ulink URL="http://www.asus.com.tw/Products/Motherboard/Pentiumpro/P2l97-s/index.html">P2l97-S</ulink> motherboard with the on-board Adaptec SCSI WIDE controller.</para> <para>For Pentium machines, the ASUS <ulink - URL="http://www.asus.com.tw/Products/Motherboard/Pentium/P55tp4/index.html">P55T2P4</ulink> 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 <ulink URL="http://asustek.asus.com.tw/FTP/ASUS/Info/Spec/pvi-486sp3.txt">486SP3G</ulink> offering if it's a 486-class motherboard you're looking for.</para> - - <note> - <para>These have become increasingly hard to get as ASUS - apparently no longer manufactures them).</para> - </note> + URL="http://www.asus.com.tw/Products/Motherboard/Pentium/P55tp4/index.html">P55T2P4</ulink> motherboard appears to be a good choice for mid-to-high range Pentium server and workstation systems.</para> <para>Those wishing to build more fault-tolerant systems should also be sure to use Parity memory or, for truly 24/7 @@ -131,6 +127,13 @@ your scarce PCI bus resources by buying the Adaptec 3940 card, which puts two SCSI controllers (and internal busses) in a single slot.</para> + + <note> + <para>There are two types of 3940 on the market—the older + model with AIC 7880 chips on it, and hte newer one with AIC 7895 + chips. The newer model requires <ulink + url="http://www.freebsd.org/pub/FreeBSD/development/cam/">CAM</ulink> support which is not yet part of FreeBSD—you have to add it, or install from one of the CAM binary snapshot release.</para> + </note> </sect3> @@ -144,11 +147,8 @@ 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!</para> - - <para>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.</para> + as a food chain! For a serious server configuration, there's not + even any argument—use SCSI equipment and good cables.</para> </sect3> @@ -157,12 +157,11 @@ <para>My SCSI preferences extend to SCSI CDROM drives as well, and while the <ulink URL="http://www.toshiba.com">Toshiba</ulink> - 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 <ulink - URL="http://www.plextor.com">Plextor</ulink> PX-12CS drive. - It's a 12 speed drive with excellent performance and - reliability.</para> + drives have always been favourites of mine (in whatever speed is + hot that week), I'm still fond of my good old <ulink + url="http://www.plextor.com">Plextor</ulink> PX-12CS drive. It's + only a 12 speed, but it's offered excellent performance and + reliability.</para> <para>Generally speaking, most SCSI CDROM drives I've seen have been of pretty solid construction and you probably won't go @@ -182,8 +181,8 @@ 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 6020i. I myself use the HP 6020i 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 + CDROMs (in 2.2 and alter releases—it does not work with + earlier releases of the SCSI code) and it works very well. See <ulink URL="file:/usr/share/examples/worm">/usr/share/examples/worm</ulink> on your 2.2 system for example scripts used to created ISO9660 filesystem images (with RockRidge extensions) and burn them onto an HP6020i CDR.</para> @@ -209,12 +208,14 @@ Inc. (formerly X Inside, Inc)</ulink> then I can heartily recommend the <ulink URL="http://www.matrox.com/">Matrox</ulink> <ulink - URL="http://www.matrox.com/mgaweb/brochure.htm">Millenium</ulink> card. Note that support for this card is also excellent with the <ulink URL="http://www.xfree86.org/">XFree86</ulink> server, which is now at version 3.3.2.</para> + URL="http://www.matrox.com/mgaweb/brochure.htm">Millenium II</ulink> card. Note that support for this card is also excellent with the <ulink URL="http://www.xfree86.org/">XFree86</ulink> server, which is now at version 3.3.2.</para> <para>You also certainly can't go wrong with one of <ulink URL="http://www.nine.com/">Number 9's</ulink> 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.</para> + fast and very well supported by XFree86's S3 server. You can + also pick up their Revolution 3D cards very cheaply these days, + especially if you require a lot of video memory.</para> </sect3> @@ -222,27 +223,28 @@ <title>Monitors</title> <para>I have had very good luck with the <ulink - URL="http://cons3.sel.sony.com/SEL/ccpg/display/ms17se2.html">Sony Multiscan 17seII monitors</ulink>, 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. $2,500 for a 21" monitor or $1,700 for a 20" 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!</para> + URL="http://cons3.sel.sony.com/SEL/ccpg/display/ms17se2.html">Sony Multiscan 17seII monitors</ulink>, 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. $2,000 for a 21" monitor or $1,700 for a 20" 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!</para> </sect3> <sect3 id="hw-networking"> <title>Networking</title> - <para>I can recommend the <ulink + <para>I can recommend the Intel EtherExpress Pro/100B card first + ande foremost, followed by the <ulink URL="http://www.smc.com/">SMC</ulink> 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, the Intel EtherExpress generally getting my - vote.</para> + cards for slightly cheaper PCI based networking. In general, any + PCI NIC based around DEC's DC21041 Ethernet controller chip, + such as the Zynx ZX342 or DEC DE435, will generally work quite + well and can frequently be found in 2-port and 4-port version + (useful for firewalls and routers), though the Pro/100MB card has + the edge when it comes to providing the best performance with teh + lower overhead.</para> - <para>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.</para> + <para>If what you're looking for is the + cheapest possible solution then almost any NE2000 clone will do + a fine job for very little cost.</para> </sect3> @@ -334,7 +336,7 @@ <sect3 id="hw-mb-pci"> <title>PCI</title> - <para><emphasis>Contributed by &a.rgrimes;.<!-- <br> -->25 April + <para><emphasis>Contributed by &a.obrien; from postings by &a.rgrimes;.<!-- <br> -->25 April 1995.</emphasis></para> <para><emphasis>Continuing updates by &a.jkh;.</emphasis><!-- <br> @@ -4875,7 +4877,7 @@ options "TUNE_1542" #dynamic tune of bus DMA speed</programli <para>Data transfer rate is 350kB/s using <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Rates of 530kB/s have been reported when using <link - linkend="hw-storage-amanda">Amanda</link></para> + linkend="backups-programs-amanda">Amanda</link></para> <para>Production of this drive has been discontinued.</para> @@ -5655,653 +5657,6 @@ scsi -f $2 -s 100 -c "1b 0 0 $cdb3 $cdb4 $cdb5"</programlisting> <para></para> </sect2> - - <sect2> - <title>* Adding and reconfiguring disks</title> - - <para></para> - </sect2> - - <sect2 id="hw-storage-tapebackups"> - <title>Tapes and backups</title> - - - <sect3> - <title>* What about backups to floppies?</title> - - <para></para> - </sect3> - - <sect3> - <title>Tape Media</title> - - - <sect4 id="hw-storage-tapebackups-4mm"> - <title>4mm (DDS: Digital Data Storage)</title> - - <para>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.</para> - - <para>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.</para> - - <para>4mm drives, like 8mm drives, use helical-scan. All the - benefits and drawbacks of helical-scan apply to both 4mm and - 8mm drives.</para> - - <para>Tapes should be retired from use after 2,000 passes or 100 - full backups.</para> - - </sect4> - - <sect4 id="hw-storage-tapebackups-8mm"> - <title>8mm (Exabyte)</title> - - <para>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.</para> - - <para>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.</para> - - <para>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.</para> - - </sect4> - - <sect4 id="hw-storage-tapebackups-qic"> - <title>QIC</title> - - <para>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 <emphasis>most</emphasis> - 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). <link - linkend="hw-storage-tapebackups-mini">Mini-cartridges</link>, - which also use 1/4" wide tape are - discussed separately. Tape libraries and changers are not - available.</para> - - <para>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.</para> - - <para>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).</para> - - <para>Tapes should be retired from use after 5,000 - backups.</para> - - </sect4> - - <sect4 id="hw-storage-tapebackups-mini"> - <title>* Mini-Cartridge</title> - - <para></para> - </sect4> - - <sect4 id="hw-storage-tapebackups-dlt"> - <title>DLT</title> - - <para>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.</para> - - <para>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.</para> - - <para>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.</para> - - </sect4> - </sect3> - - <sect3> - <title>Using a new tape for the first time</title> - - <para>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:</para> - - <informalexample> - <screen>st0(ncr1:4:0): NOT READY asc:4,1 -st0(ncr1:4:0): Logical unit is in process of becoming ready</screen> - </informalexample> - - <para>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:</para> - - <para><command>mt fsf 1</command> causes the tape drive - to write an Identifier Block to the tape.</para> - - <para>Use the front panel button to eject the tape.</para> - - <para>Re-insert the tape and <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> data to - the tape.</para> - - <para><citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> will report <errorname>DUMP: End of tape detected</errorname> and the console - will show: <errorname>HARDWARE FAILURE info:280 - asc:80,96</errorname></para> - - <para>rewind the tape using: <command>mt - rewind</command></para> - - <para>Subsequent tape operations are successful.</para> - - </sect3> - - <sect3> - <title>Backup Programs</title> - - <para>The three major programs are <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry>, and - <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para> - - - <sect4> - <title>Dump and Restore</title> - - <para><citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> and - <citerefentry><refentrytitle>restore</refentrytitle><manvolnum>8</manvolnum></citerefentry> 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. - <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> backs up devices, entire - filesystems, not parts of a filesystem and not directory trees - that span more than one filesystem, using either soft links - <citerefentry><refentrytitle>ln</refentrytitle><manvolnum>1</manvolnum></citerefentry> or mounting one filesystem onto - another. <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> does not write files and - directories to tape, but rather writes the data blocks that - are the building blocks of files and directories. - <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> 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.</para> - - <para><citerefentry><refentrytitle>rdump</refentrytitle><manvolnum>8</manvolnum></citerefentry> and - <citerefentry><refentrytitle>rrestore</refentrytitle><manvolnum>8</manvolnum></citerefentry> backup data across the network - to a tape drive attached to another computer. Both programs - rely upon <citerefentry><refentrytitle>rcmd</refentrytitle><manvolnum>3</manvolnum></citerefentry> and - <citerefentry><refentrytitle>ruserok</refentrytitle><manvolnum>3</manvolnum></citerefentry> to access the remote tape - drive. Therefore, the user performing the backup must have - <filename>rhosts</filename> access to the remote - computer. The arguments to <citerefentry><refentrytitle>rdump</refentrytitle><manvolnum>8</manvolnum></citerefentry> and - <citerefentry><refentrytitle>rrestore</refentrytitle><manvolnum>8</manvolnum></citerefentry> must suitable to use on the - remote computer. e.g. When <command>rdump</command>'ing from a FreeBSD computer to an - Exabyte tape drive connected to a Sun called komodo, use:</para> - - <informalexample> - <screen>&prompt.root; <userinput>/sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nrst8 /dev/rsd0a 2>&1</userinput></screen> - </informalexample> - - <para>Beware: - there are security implications to allowing <filename>rhosts</filename> commands. Evaluate your - situation carefully.</para> - - </sect4> - - <sect4> - <title>Tar</title> - - <para><citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> also dates back to Version 6 of - ATT Unix (circa 1975). <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> operates in - cooperation with the filesystem; <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> - writes files and directories to tape. - <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> does not support the full range of - options that are available from <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - but <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> does not require the unusual - command pipeline that <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> uses.</para> - - <para>Most versions of <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> do not support - backups across the network. The GNU version of - <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry>, which FreeBSD utilizes, supports - remote devices using the same syntax as <command>rdump</command>. To <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> to - an Exabyte tape drive connected to a Sun called komodo, use: - <command>/usr/bin/tar cf komodo:/dev/nrst8 . - 2>&1</command>. For versions without remote device - support, you can use a pipeline and <citerefentry><refentrytitle>rsh</refentrytitle><manvolnum>1</manvolnum></citerefentry> - to send the data to a remote tape drive. (XXX add an example - command)</para> - - </sect4> - - <sect4> - <title>Cpio</title> - - <para><citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> is the original Unix file - interchange tape program for magnetic media. - <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> 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 <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> and excellent choice for - installation media. <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> does not know - how to walk the directory tree and a list of files must be - provided thru <acronym>STDIN</acronym>.</para> - - <para><citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> does not support backups across - the network. You can use a pipeline and - <citerefentry><refentrytitle>rsh</refentrytitle><manvolnum>1</manvolnum></citerefentry> to send the data to a remote tape - drive. (XXX add an example command)</para> - - </sect4> - - <sect4> - <title>Pax</title> - - <para><citerefentry><refentrytitle>pax</refentrytitle><manvolnum>1</manvolnum></citerefentry> is IEEE/POSIX's answer to - <command>tar</command> and <command>cpio</command>. Over the years the various - versions of <command>tar</command> and <command>cpio</command> have gotten slightly incompatible. - So rather than fight it out to fully standardize them, POSIX - created a new archive utility. <command>pax</command> attempts to read and write many of - the various cpio and tar formats, plus new formats of its own. - Its command set more resembles <command>cpio</command> than <command>tar</command>.</para> - - </sect4> - - <sect4 id="hw-storage-amanda"> - <title><ulink - URL="http://www.freebsd.org/ports/misc.html#amanda-2.2.6.5">Amanda</ulink></title> - - <para>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.</para> - - <para>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.</para> - - </sect4> - - <sect4> - <title>Do nothing</title> - - <para>“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!</para> - - <para>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.</para> - - <para>“Do nothing” is the correct backup method for - <filename>/usr/obj</filename> 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 <acronym>SGML</acronym> input files. Creating - backups of these <acronym>HTML</acronym> files is not - necessary. The <acronym>SGML</acronym> source files are - backed up regularly.</para> - - </sect4> - - <sect4> - <title>Which Backup Program is Best?</title> - - <para><citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> <emphasis>Period.</emphasis> - 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 - <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry>. 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 - unwritable 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.</para> - - </sect4> - </sect3> - - <sect3> - <title>Emergency Restore Procedure</title> - - - <sect4> - <title>Before the Disaster</title> - - <para>There are only four steps that you need to perform in - preparation for any disaster that may occur.</para> - - <procedure> - <step> - <para>Print the disklabel from each of your disks - (e.g., <command>disklabel sd0 | lpr</command>), your - filesystem table (<filename>/etc/fstab</filename>) and all - boot messages, two copies of each.</para> - </step> - - <step> - <para>Determine the boot and fixit floppies (<filename>boot.flp</filename> - and <filename>fixit.flp</filename>) 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.</para> - - <para>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: - <citerefentry><refentrytitle>fdisk</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>disklabel</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>newfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>, and - whichever backup program you use. These programs must be - statically linked. If you use <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry>, the - floppy must contain <citerefentry><refentrytitle>restore</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para> - </step> - - <step> - <para>Create backup tapes regularly. Any changes that you - make after your last backup may be irretrievably lost. - Write-protect the backup tapes.</para> - </step> - - <step> - <para>Test the floppies (either <filename>boot.flp</filename> and <filename>fixit.flp</filename> - 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 <command>tar xvf /dev/rst0</command>, you might - accidently type <command> tar cvf /dev/rst0</command> and - over-write your backup tape).</para> - - <para>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.</para> - - <para>An example script for creating a bootable floppy:</para> - - <programlisting> -#!/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/rfd0 - -# -# 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</programlisting> - </step> - </procedure> - </sect4> - - <sect4> - <title>After the Disaster</title> - - <para>The key question is: did your hardware survive? You have - been doing regular backups so there is no need to worry about - the software.</para> - - <para>If the hardware has been damaged. First, replace those - parts that have been damaged.</para> - - <para>If your hardware is okay, check your floppies. If you are - using a custom boot floppy, boot single-user (type <option>-s</option> at the - <prompt>boot:</prompt> prompt). Skip the following paragraph.</para> - - <para>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 <filename>fixit.flp</filename> when prompted. - <command>restore</command> and the other programs - that you need are located in - <filename>/mnt2/stand</filename>.</para> - - <para>Recover each filesystem separately.</para> - - <para>Try to <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry> (e.g. <command>mount /dev/sd0a /mnt</command>) the root partition of your first disk. If - the disklabel was damaged, use <citerefentry><refentrytitle>disklabel</refentrytitle><manvolnum>8</manvolnum></citerefentry> - to re-partition and label the disk to match the label that - your printed and saved. Use <citerefentry><refentrytitle>newfs</refentrytitle><manvolnum>8</manvolnum></citerefentry> to - re-create the filesystems. Re-mount the root partition of the - floppy read-write (<command>mount -u -o rw /mnt</command>). - Use your backup program and backup tapes to recover the data - for this filesystem (e.g. <command>restore vrf - /dev/st0</command>). Unmount the filesystem (e.g. - <filename>umount /mnt</filename>) Repeat for each filesystem - that was damaged.</para> - - <para>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.</para> - - </sect4> - - <sect4> - <title>* I did not prepare for the Disaster, What Now?</title> - - <para></para> - </sect4> - </sect3> - </sect2> </sect1> <sect1 id="hw-other"> diff --git a/en_US.ISO_8859-1/books/handbook/install/chapter.sgml b/en_US.ISO_8859-1/books/handbook/install/chapter.sgml index 9f6aff2b43..52485fd470 100644 --- a/en_US.ISO_8859-1/books/handbook/install/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/install/chapter.sgml @@ -15,10 +15,13 @@ between FreeBSD and your hardware which may, in turn, dictate which installation options are even possible. It can also provide early clues to any compatibility problems which 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 - (the installation will handle any further required downloading - itself).</para> + running on your system at all.</para> + + <para>If you plan on installing via + anonymous FTP then this installation floppy is all you need to + download and create—the installation program itself will handle + any further required downloading directly (using an ethernet connection, + a modem and ppp dialip #, etc).</para> <para>For more information on obtaining the latest FreeBSD distributions, please see <link linkend="mirrors">Obtaining @@ -180,6 +183,11 @@ Boot: 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.</para> + + <warning> + <para>Do not disable any device you will need during installation, such + as your screen (<devicename>sc0</devicename>).</para> + </warning> <para>In the configuration mode, you can:</para> diff --git a/en_US.ISO_8859-1/books/handbook/internals/chapter.sgml b/en_US.ISO_8859-1/books/handbook/internals/chapter.sgml index 2047af19c3..e29013c26f 100644 --- a/en_US.ISO_8859-1/books/handbook/internals/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/internals/chapter.sgml @@ -286,7 +286,7 @@ point paging will be enabled and the kernel will finally run at the address for which it was linked.</para> - <para><emphasis>Contributed by &a.davidg;.<!-- <br> --> 16 Apr + <para><emphasis>Contributed by &a.dg;.<!-- <br> --> 16 Apr 1995.</emphasis></para> <para>The physical pages immediately following the kernel BSS contain diff --git a/en_US.ISO_8859-1/books/handbook/introduction/chapter.sgml b/en_US.ISO_8859-1/books/handbook/introduction/chapter.sgml index 6970021feb..a65b2bd0a8 100644 --- a/en_US.ISO_8859-1/books/handbook/introduction/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/introduction/chapter.sgml @@ -102,7 +102,7 @@ </listitem> <listitem> - <para>A full compliment of <emphasis>C</emphasis>, + <para>A full complement of <emphasis>C</emphasis>, <emphasis>C++</emphasis> and <emphasis>Fortran</emphasis> development tools. Many additional languages for advanced research and development are also available in the ports and packages collection.</para> @@ -245,7 +245,7 @@ <listitem> <para><emphasis>Software Development:</emphasis> The - basic FreeBSD system comes with a full compliment of + basic FreeBSD system comes with a full complement of development tools including the renowned GNU C/C++ compiler and debugger.</para> </listitem> @@ -348,8 +348,9 @@ (“-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 were done in the Summer and Fall of - '97, the latest being 2.2.6 which appeared in late March of '98. - The first official 3.0 release will appear later in 1998.</para> + '97, the latest being 2.2.7 which appeared in late July of '98. + The first official 3.0 release will appear in October, 1998 and the + last release on the 2.2 branch, 2.2.8, will appear in November.</para> <para>Long term development projects for everything from SMP to DEC ALPHA support will continue to take place in the 3.0-current branch @@ -539,7 +540,7 @@ <para>In addition to the base distributions, FreeBSD offers a new ported software collection with hundreds of commonly sought-after - programs. At the end of March 1998 there were more than 1300 ports! + programs. At the end of August 1998 there were more than 1700 ports! The list of ports ranges from http (WWW) servers, to games, languages, editors and almost everything in between. The entire ports collection requires approximately 26MB of storage, all ports diff --git a/en_US.ISO_8859-1/books/handbook/kernelconfig/chapter.sgml b/en_US.ISO_8859-1/books/handbook/kernelconfig/chapter.sgml index 34b0961405..42ce6deda9 100644 --- a/en_US.ISO_8859-1/books/handbook/kernelconfig/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/kernelconfig/chapter.sgml @@ -1118,16 +1118,7 @@ <listitem> <para>AT&T StarLAN 10 and EN100; 3Com 3C507; - unknown NI5210</para> - </listitem> - </varlistentry> - - <varlistentry><term><literal>device ix0 at isa? port 0x300 net - irq 10 iomem 0xd0000 iosiz 32768 vector - ixintr</literal></term> - - <listitem> - <para>Intel EtherExpress 16</para> + unknown NI5210; Intel EtherExpress 16</para> </listitem> </varlistentry> diff --git a/en_US.ISO_8859-1/books/handbook/kerneldebug/chapter.sgml b/en_US.ISO_8859-1/books/handbook/kerneldebug/chapter.sgml index 5f6af0f864..f4d06bba3a 100644 --- a/en_US.ISO_8859-1/books/handbook/kerneldebug/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/kerneldebug/chapter.sgml @@ -13,7 +13,13 @@ is too small to hold the dump, you can configure your kernel to use an alternate dump device (in the <literal>config kernel</literal> line), or you can specify an alternate using the - <citerefentry><refentrytitle>dumpon</refentrytitle><manvolnum>8</manvolnum></citerefentry> command. Dumps to non-swap devices, tapes for example, + <citerefentry><refentrytitle>dumpon</refentrytitle><manvolnum>8</manvolnum></citerefentry> command. The best way to use <citerefentry> + <refentrytitle>dumpon</refentrytitle> + <manvolnum>8</manvolnum> + </citerefentry> is to set the <literal>dumpdev</literal> variable in + <filename>/etc/rc.conf</filename>. Typically you want to specify one of + the swap devices specified in <filename>/etc/fstab</filename>. +Dumps to non-swap devices, tapes for example, are currently not supported. Config your kernel using <command>config -g</command>. See <link linkend="kernelconfig">Kernel Configuration</link> for @@ -232,7 +238,23 @@ </sect1> - + + <sect1> + <title>Debugging a crash dump with DDD</title> + + <para>Examining a kernel crash dump with a graphical debugger like + <command>ddd</command> is also possible. Add the <option>-k</option> + option to the <command>ddd</command> command line you would use + normally. For example;</para> + + <informalexample> + <screen>&prompt.root; <userinput>ddd -k /var/crash/kernel.0 /var/crash/vmcore.0</userinput></screen> + </informalexample> + + <para>You should then be able to go about looking at the crash dump using + <command>ddd</command>'d graphical interface.</para> + </sect1> + <sect1> <title>Post-mortem Analysis of a Dump</title> diff --git a/en_US.ISO_8859-1/books/handbook/linuxemu/chapter.sgml b/en_US.ISO_8859-1/books/handbook/linuxemu/chapter.sgml index 426491a079..187301676e 100644 --- a/en_US.ISO_8859-1/books/handbook/linuxemu/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/linuxemu/chapter.sgml @@ -11,7 +11,7 @@ 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 + &rel.current;-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.</para> @@ -22,11 +22,6 @@ filesystem) or i386-specific calls, such as enabling virtual 8086 mode.</para> - <para>To tell whether your kernel is configured for Linux - compatibility simply run any Linux binary. If it prints the error - message <errorname>linux-executable: Exec format error. Wrong Architecture.</errorname> then you do not have linux compatibility support - and you need to configure and install a new kernel.</para> - <para>Depending on which version of FreeBSD you are running, how you get Linux-emulation up will vary slightly:</para> @@ -180,7 +175,7 @@ options LINUX</programlisting> just grab the linux_lib port:</para> <informalexample> - <screen>&prompt.root; <userinput>cd /usr/ports-current/emulators/linux_lib</userinput> + <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_lib</userinput> &prompt.root; <userinput>make all install</userinput></screen> </informalexample> @@ -188,10 +183,9 @@ options LINUX</programlisting> the mail archives <!-- smiley -->:-) 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 give the Linuxulator heartburn. Also, expect some programs to complain + about incorrect minor versions of the system libraries. In + general, however, this does not seem to be a problem.</para> </sect3> @@ -216,7 +210,7 @@ options LINUX</programlisting> that the Linux <command>ld.so</command> reports.</para> <para>FreeBSD-2.2-RELEASE and later works slightly differently - with respect to <command>/compat/linux</command>. On -CURRENT, all files, not just + with respect to <filename>/compat/linux</filename>: all files, not just libraries, are searched for from the “shadow root” <filename>/compat/linux</filename>.</para> @@ -240,7 +234,7 @@ options LINUX</programlisting> do the necessary installation steps).</para> <para>If you have access to a Linux system, see what shared - libraries it needs, and copy them to your FreeBSD system. + libraries the application 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 <command>ldd linuxxdoom</command>:</para> @@ -313,7 +307,7 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29</screen> <sect3> <title>Configuring the <filename>ld.so</filename> — for FreeBSD - 2.2-RELEASE only</title> + 2.2-RELEASE and later</title> <para>This section applies only to FreeBSD 2.2-RELEASE and later. Those running 2.1-STABLE should skip this section.</para> @@ -424,7 +418,35 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29</screen> </sect3> </sect2> - + + <sect2> + <title>Installing Linux ELF binaries</title> + + <para>ELF binaries sometimes require an extra step of + “branding”. If you attempt to run an unbranded ELF binary, + you will get an error message like the following;</para> + + <informalexample> + <screen>&prompt.user; <userinput>./my-linux-elf-binary</userinput> +ELF binary type not known +Abort</screen> + </informalexample> + + <para>To help the FreeBSD kernel distinguish between a FreeBSD ELF + binary from a Linux one, use the <citerefentry> + <refentrytitle>brandelf</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> utility.</para> + + <informalexample> + <screen>&prompt.user; <userinput>brandelf -t Linux my-linux-elf-binary</userinput></screen> + </informalexample> + + <para>The GNU toolchain now places the appropriate branding information + into ELF binaries automatically, so you should be needing to do this + step increasingly rarely in future.</para> + </sect2> + <sect2> <title>Configuring the host name resolver</title> @@ -455,7 +477,7 @@ multi on</programlisting> <para>Lastly, those who run 2.1-STABLE need to set an the <envar>RESOLV_HOST_CONF</envar> environment variable so that applications will know how to search the host tables. If you run FreeBSD - 2.2-RELEASE, you can skip this. For the + 2.2-RELEASE or later, you can skip this. For the <filename>/bin/csh</filename> shell use:</para> <informalexample> @@ -507,7 +529,7 @@ multi on</programlisting> </listitem> <listitem> - <para>ftp.demon.co.uk:/pub/linux/distributions</para> + <para>ftp.demon.co.uk:/pub/unix/linux</para> </listitem> <listitem> diff --git a/en_US.ISO_8859-1/books/handbook/mirrors/chapter.sgml b/en_US.ISO_8859-1/books/handbook/mirrors/chapter.sgml index 225ecb72e6..bfef299630 100644 --- a/en_US.ISO_8859-1/books/handbook/mirrors/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/mirrors/chapter.sgml @@ -41,6 +41,7 @@ <link linkend="mirrors-cz">Czech Republic</link>, <link linkend="mirrors-dk">Denmark</link>, <link linkend="mirrors-ee">Estonia</link>, + <link linkend="mirrors-es">Spain</link>, <link linkend="mirrors-fi">Finland</link>, <link linkend="mirrors-fr">France</link>, <link linkend="mirrors-de">Germany</link>, @@ -54,6 +55,7 @@ <link linkend="mirrors-pt">Portugal</link>, <link linkend="mirrors-ru">Russia</link>, <link linkend="mirrors-za">South Africa</link>, + <link linkend="mirrors-sk">Slovak Republic</link>, <link linkend="mirrors-si">Slovenia</link>, <link linkend="mirrors-se">Sweden</link>, <link linkend="mirrors-tw">Taiwan</link>, @@ -534,7 +536,10 @@ <para><ulink URL="ftp://ftp3.ru.freebsd.org/pub/FreeBSD">ftp://ftp3.ru.freebsd.org/pub/FreeBSD</ulink><!-- <br> --></para> </listitem> - + + <listitem> + <para><ulink url="ftp://ftp4.ru.freebsd.org/pub/FreeBSD">ftp://ftp4.ru.freebsd.org/pub/FreeBSD</ulink></para> + </listitem> </itemizedlist> </listitem> @@ -568,7 +573,22 @@ </listitem> </varlistentry> - + + <varlistentry> + <term><anchor id="mirrors-sk">Slovak Republic</term> + + <listitem> + <para>In case of problems, please contact the hostmaster + <email>hostmaster@sk.FreeBSD.ORG</email> for this domain.</para> + + <itemizedlist> + <listitem> + <para><ulink url="ftp://ftp.sk.freebsd.ORG/pub/FreeBSD">ftp://ftp.sk.freebsd.ORG/pub/FreeBSD</ulink></para> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry><term><anchor id="mirrors-si">Slovenia</term> <listitem> @@ -587,7 +607,22 @@ </listitem> </varlistentry> - + + <varlistentry> + <term><anchor id="mirrors-es">Spain</term> + + <listitem> + <para>In case of problems, please contact the hostmaster + <email>hostmaster@es.FreeBSD.ORG</email> for this domain.</para> + + <itemizedlist> + <listitem> + <para><ulink url="ftp://ftp.es.freebsd.ORG/pub/FreeBSD">ftp://ftp.es.freebsd.ORG/pub/FreeBSD</ulink></para> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry><term><anchor id="mirrors-se">Sweden</term> <listitem> @@ -978,7 +1013,16 @@ </listitem> </varlistentry> - + + <varlistentry> + <term>Denmark</term> + + <listitem> + <para>cvsup.dk.FreeBSD.ORG (maintainer + <email>jesper@skriver.dk</email>)</para> + </listitem> + </varlistentry> + <varlistentry><term>Estonia</term> <listitem> @@ -1031,7 +1075,16 @@ </listitem> </varlistentry> - + + <varlistentry> + <term>Iceland</term> + + <listitem> + <para>cvsup.is.FreeBSD.ORG (maintainer + <email>adam@veda.is</email>)</para> + </listitem> + </varlistentry> + <varlistentry><term>Japan</term> <listitem> @@ -1045,7 +1098,21 @@ <listitem> <para>cvsup2.jp.FreeBSD.ORG (maintainer <email>max@FreeBSD.ORG</email>)</para> </listitem> - + + <listitem> + <para>cvsup3.jp.FreeBSD.ORG (maintainer + <email>shige@cin.nihon-u.ac.jp</email>)</para> + </listitem> + + <listitem> + <para>cvsup4.jp.FreeBSD.ORG (maintainer + <email>cvsup-admin@ftp.media.kyoto-u.ac.jp</email>)</para> + </listitem> + + <listitem> + <para>cvsup5.jp.FreeBSD.ORG (maintainer + <email>cvsup@imasy.or.jp</email>)</para> + </listitem> </itemizedlist> </listitem> @@ -1058,7 +1125,7 @@ <itemizedlist> <listitem> - <para>cvsup.nl.FreeBSD.ORG (maintainer <email>xaa@stack.nl</email>)</para> + <para>cvsup.nl.FreeBSD.ORG (maintainer <email>xaa@xaa.iae.nl</email>)</para> </listitem> </itemizedlist> @@ -1095,7 +1162,25 @@ </listitem> </varlistentry> - + + <varlistentry> + <term>Slovak Republic</term> + + <listitem> + <itemizedlist> + <listitem> + <para>cvsup.sk.FreeBSD.ORG (maintainer + <email>tps@tps.sk</email>)</para> + </listitem> + + <listitem> + <para>cvsup2.sk.FreeBSD.ORG (maintainer + <email>tps@tps.sk</email>)</para> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry><term>South Africa</term> <listitem> diff --git a/en_US.ISO_8859-1/books/handbook/pgpkeys/chapter.sgml b/en_US.ISO_8859-1/books/handbook/pgpkeys/chapter.sgml index 9c3af53b21..bb512fb1bc 100644 --- a/en_US.ISO_8859-1/books/handbook/pgpkeys/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/pgpkeys/chapter.sgml @@ -121,29 +121,38 @@ IVNhdG9zaGkgQXNhbWkgPGFzYW1pQEZyZWVCU0QuT1JHPg== <programlisting> Jonathan M. Bresler <jmb@FreeBSD.org> -Key fingerprint = 31 57 41 56 06 C1 40 13 C5 1C E3 E5 DC 62 0E FB +f16 Fingerprint16 = 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 +Version: PGPfreeware 5.0i for non-commercial use mQCNAzG2GToAAAEEANI6+4SJAAgBpl53XcfEr1M9wZyBqC0tzpie7Zm4vhv3hO8s o5BizSbcJheQimQiZAY4OnlrCpPxijMFSaihshs/VMAz1qbisUYAMqwGEO/T4QIB nWNo0Q/qOniLMxUrxS1RpeW5vbghErHBKUX9GVhxbiVfbwc4wAHbXdKX5jjdAAUR -tCVKb25hdGhhbiBNLiBCcmVzbGVyIDxqbWJARnJlZUJTRC5PUkc+iQCVAwUQNA3x -ffUVW/uOVC1dAQHGdAQAgsnYklBtVUdGuQwXB3bYp9omTD7CVD0aibVrz+lXiPDh -aTVkOC1uhEwL59+R8VdpAnEDMobdZDA/ihCc+6/FW/eE0uyrWZzb5Ng9V1MfC6HI -+sXpeXPy585Z56ewadV2yY9rvzcwmmUNHmAXT/5O0S2AWB0EJZ+cewTrokSTVVOJ -AJUDBRA0C3EoVS4eLnPSiKUBASb+A/95g6w9DDPRGDlbsl4pN1BlSPKrmDQPRK1X -C3bddDY2HNelSNhzp2FYD0WoN1re1vMJV0oaaJHwv7wjbe3+SYEX/IdmtfzI0MbZ -Q/uPybPJOxi2ud6C6J+mEGJN9iBCnsaCz8CETuC9gR1mtxsxySUj9mk0fxKfdP6S -3QDrv6CQ1IkAlQMFEDKsi9CzWmLrWZ8yPQEBduUD/RhV4Qa89rYls9vtIFm6XBjZ -8mW37FYxeqIxg3ZrIyTMlghsOPV0f7zymCCWPRGKOLePRiGo0ZCEkDTYiM9tnwQI -09rmPWJb50yfTSZXjHx6+Hcm6O6BCmDFloo0Mxo6n9pvMH/TmmqHxCsAV+p8XEWy -rMZvwVSynMxmJd17Y5HLtBNKb25hdGhhbiBNLiBCcmVzbGVyiQCVAwUQMbYtYQHb -XdKX5jjdAQHEHwP/fEaQoTi7zKD1U/5kW2YPIBUyMTpLiO9QOr4stYjJvhHh4Ejw -fGvMIhbFrPKtxSNH1s3m4jAXKXiQBDCz17IIzL4n8dlunxNGE5MHcsmpWzggyIg4 -zbPqPOcg4gLFEWsEkr2o0akwzIGa3tbCvC+ITaX/rdlWV1jaQjTqSNyPZBM= -=RV56 +tCVKb25hdGhhbiBNLiBCcmVzbGVyIDxqbWJARnJlZUJTRC5PUkc+iQCVAwUQNbtI +gAHbXdKX5jjdAQHamQP+OQr10QRknamIPmuHmFYJZ0jU9XPIvTTMuOiUYLcXlTdn +GyTUuzhbEywgtOldW2V5iA8platXThtqC68NsnN/xQfHA5xmFXVbayNKn8H5stDY +2s/4+CZ06mmJfqYmONF1RCbUk/M84rVT3Gn2tydsxFh4Pm32lf4WREZWRiLqmw+J +AJUDBRA0DfF99RVb+45ULV0BAcZ0BACCydiSUG1VR0a5DBcHdtin2iZMPsJUPRqJ +tWvP6VeI8OFpNWQ4LW6ETAvn35HxV2kCcQMyht1kMD+KEJz7r8Vb94TS7KtZnNvk +2D1XUx8Locj6xel5c/Lnzlnnp7Bp1XbJj2u/NzCaZQ0eYBdP/k7RLYBYHQQln5x7 +BOuiRJNVU4kAlQMFEDQLcShVLh4uc9KIpQEBJv4D/3mDrD0MM9EYOVuyXik3UGVI +8quYNA9ErVcLdt10NjYc16VI2HOnYVgPRag3Wt7W8wlXShpokfC/vCNt7f5JgRf8 +h2a1/MjQxtlD+4/Js8k7GLa53oLon6YQYk32IEKexoLPwIRO4L2BHWa3GzHJJSP2 +aTR/Ep90/pLdAOu/oJDUiQCVAwUQMqyL0LNaYutZnzI9AQF25QP9GFXhBrz2tiWz +2+0gWbpcGNnyZbfsVjF6ojGDdmsjJMyWCGw49XR/vPKYIJY9EYo4t49GIajRkISQ +NNiIz22fBAjT2uY9YlvnTJ9NJleMfHr4dybo7oEKYMWWijQzGjqf2m8wf9OaaofE +KwBX6nxcRbKsxm/BVLKczGYl3XtjkcuJAJUDBRA1ol5TZWCprDT5+dUBATzXA/9h +/ZUuhoRKTWViaistGJfWi26FB/Km5nDQBr/Erw3XksQCMwTLyEugg6dahQ1u9Y5E +5tKPxbB69eF+7JXVHE/z3zizR6VL3sdRx74TPacPsdhZRjChEQc0htLLYAPkJrFP +VAzAlSlm7qd+MXf8fJovQs6xPtZJXukQukPNlhqZ94kAPwMFEDSH/kF4tXKgazlt +bxECfk4AoO+VaFVfguUkWX10pPSSfvPyPKqiAJ4xn8RSIe1ttmnqkkDMhLh00mKj +lLQuSm9uYXRoYW4gTS4gQnJlc2xlciA8Sm9uYXRoYW4uQnJlc2xlckBVU2kubmV0 +PokAlQMFEDXbdSkB213Sl+Y43QEBV/4D/RLJNTrtAqJ1ATxXWv9g8Cr3/YF0GTmx +5dIrJOpBup7eSSmiM/BL9Is4YMsoVbXCI/8TqA67TMICvq35PZU4wboQB8DqBAr+ +gQ8578M7Ekw1OAF6JXY6AF2P8k7hMcVBcVOACELPT/NyPNByG5QRDoNmlsokJaWU +/2ls4QSBZZlb +=zbCw -----END PGP PUBLIC KEY BLOCK-----</programlisting> </sect2> @@ -219,23 +228,29 @@ Jordan K. Hubbard <jkh@FreeBSD.org> 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 - +Version: 2.6.3ia + 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 +tCNKb3JkYW4gSy4gSHViYmFyZCA8amtoQEZyZWVCU0Qub3JnPokBFQMFEDXCTXQM +j46yp4IfPQEBwO8IAIN0J09AXBf86dFUTFGcAMrEQqOF5IL+KGorAjzuYxERhKfD +ZV7jA+sCQqxkWfcVcE20kVyVYqzZIkio9a5zXP6TwA247JkPt54S1PmMDYHNlRIY +laXlNoji+4q3HP2DfHqXRT2859rYpm/fG/v6pWkos5voPKcZ2OFEp9W+Ap88oqw+ +5rx4VetZNJq1Epmis4INj6XqNqj85+MOOIYE+f445ohDM6B/Mxazd6cHFGGIR+az +VjZ6lCDMLjzhB5+FqfrDLYuMjqkMTR5z9DL+psUvPlCkYbQ11NEWtEmiIWjUcNJN +GCxGzv5bXk0XPu3ADwbPkFE2usW1cSM7AQFiwuyJAJUDBRAxe+Q9a1pnjYGyp3kB +AV7XA/oCSL/Cc2USpQ2ckwkGpyvIkYBPszIcabSNJAzm2hsU9Qa6WOPxD8olDddB +uJNiW/gznPC4NsQ0N8Zr4IqRX/TTDVf04WhLmd8AN9SOrVv2q0BKgU6fLuk979tJ +utrewH6PR2qBOjAaR0FJNk4pcYAHeT+e7KaKy96YFvWKIyDvc4kAlQMFEDF8ldof +f6kIA1j8vQEBDH4D/0Zm0oNlpXrAE1EOFrmp43HURHbij8n0Gra1w9sbfo4PV+/H +U8ojTdWLy6r0+prH7NODCkgtIQNpqLuqM8PF2pPtUJj9HwTmSqfaT/LMztfPA6PQ +csyT7xxdXl0+4xTDl1avGSJfYsI8XCAy85cTs+PQwuyzugE/iykJO1Bnj/paiQCV +AwUQMXvlBvUVW/uOVC1dAQF2fQP/RfYC6RrpFTZHjo2qsUHSRk0vmsYfwG5NHP5y +oQBMsaQJeSckN4n2JOgR4T75U4vS62aFxgPLJP3lOHkU2Vc7xhAuBvsbGr5RP8c5 +LvPOeUEyz6ZArp1KUHrtcM2iK1FBOmY4dOYphWyWMkDgYExabqlrAq7FKZftpq/C +BiMRuaw= +=C/Jw -----END PGP PUBLIC KEY BLOCK-----</programlisting> </sect2> @@ -252,27 +267,30 @@ 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 +tCNQb3VsLUhlbm5pbmcgS2FtcCA8cGhrQEZyZWVCU0Qub3JnPokAlQMFEDQQ0aZ1 +u244dqP3sQEBu4ID/jXFFeJgs2MdTDNOZM/FbfDhI4qxAbYUsqS3+Ra16yd8Wd/A +jV+IHJE2NomFWl8UrUjCGinXiwzPgK1OfFJrS9Og1wQLvAl0X84BA8MTP9BQr4w7 +6I/RbksgUSrVCIO8MJwlydjSPocWGBeXlVjbZxXzyuJk7H+TG+zuI5BuBcNIiQCV +AwUQMwYr2rNaYutZnzI9AQHiIQP/XxtBWFXaBRgVLEhRNpS07YdU+LsZGlLOZehN +9L4UnJFHQQPNOpMey2gF7Y95aBOw5/1xS5vlQpwmRFCntWsm/gqdzK6rulfr1r5A +y94LO5TAC6ucNu396Y4vo1TyD1STnRC466KlvmtQtAtFGgXlORWLL9URLzcRFd1h +D0yXd9aJAJUDBRAxfo19a1pnjYGyp3kBAQqyA/4v64vP3l1F0Sadn6ias761hkz/ +SMdTuLzILmofSCC4o4KWMjiWJHs2Soo41QlZi1+xMHzV32JKiwFlGtPHqL+EHyXy +Q4H3vmf9/1KF+0XCaMtgI0wWUMziPSTJK8xXbRRmMDK/0F4TnVVaUhnmf+h5K7O6 +XdmejDTa0X/NWcicmIkAlQMFEDF8lef1FVv7jlQtXQEBcnwD/0ro1PpUtlkLmreD +tsGTkNa7MFLegrYRvDDrHOwPZH152W2jPUncY+eArQJakeHiTDmJNpFagLZglhE0 +bqJyca+UwCXX+6upAclWHEBMg2byiWMMqyPVEEnpUoHM1sIkgdNWlfQAmipRBfYh +2LyCgWvR8CbtwPYIFvUmGgB3MR87iQCVAwUQMUseXB9/qQgDWPy9AQGPkwP/WEDy +El2Gkvua9COtMAifot2vTwuvWWpNopIEx0Ivey4aVbRLD90gGCJw8OGDEtqFPcNV +8aIiy3fYVKXGZZjvCKd7zRfhNmQn0eLDcymq2OX3aPrMc2rRlkT4Jx425ukR1gsO +qiQAgw91aWhY8dlw/EKzk8ojm52x4VgXaBACMjaJAJUDBRAxOUOg72G56RHVjtUB +AbL4A/9HOn5Qa0lq9tKI/HkSdc5fGQD/66VdCBAb292RbB7CS/EM07MdbcqRRYIa +0+0gwQ3OdsWPdCVgH5RIhp/WiC+UPkR1cY8N9Mg2kTwJfZZfNqN+BgWlgRMPN27C +OhYNl8Q33Nl9CpBLrZWABF44jPeT0EvvTzP/5ZQ7T75EsYKYiYkAlQMFEDDmryQA +8tkJ67sbQQEBPdsEALCj6v1OBuJLLJTlxmmrkqAZPVzt5QdeO3Eqa2tcPWcU0nqP +vHYMzZcZ7oFg58NZsWrhSQQDIB5e+K65Q/h6dC7W/aDskZd64jxtEznX2kt0/MOr +8OdsDis1K2f9KQftrAx81KmVwW4Tqtzl7NWTDXt44fMOtibCwVq8v2DFkTJy +=JKbP -----END PGP PUBLIC KEY BLOCK-----</programlisting> </sect2> diff --git a/en_US.ISO_8859-1/books/handbook/policies/chapter.sgml b/en_US.ISO_8859-1/books/handbook/policies/chapter.sgml index 4f675a2c0d..cd77ca0ba2 100644 --- a/en_US.ISO_8859-1/books/handbook/policies/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/policies/chapter.sgml @@ -47,7 +47,9 @@ MAINTAINER= email-addresses</programlisting> <sect1> <title>Contributed Software</title> - + + <para><emphasis>Contributed by &a.phk; and &a.obrien;. </emphasis></para> + <para>June 1996.</para> <para>Some parts of the FreeBSD distribution consist of software that @@ -75,7 +77,18 @@ MAINTAINER= email-addresses</programlisting> 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.</para> - + + <note> + <para>Because of some unfortunate design limitations with the RCS file + format and CVS's use of vendor branches, minor, trivial and/or + cosmetic changes are <emphasis>strongly discouraged</emphasis> on + files that are still tracking the vendor branch. “Spelling + fixes” are explicitly included here under the + “cosmetic” category and are to be avoided for files with + revision 1.1.x.x. The repository bloat impact from a single character + change can be rather dramatic.</para> + </note> + <para>The <application>Tcl</application> embedded programming language will be used as example of how this model works:</para> @@ -104,14 +117,14 @@ MAINTAINER= email-addresses</programlisting> <para>The important thing here is that the <filename>src/contrib/tcl</filename> 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 + (on a proper CVS vendor-branch and without RCS keyword expansion) 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.</para> - <para>Because of some unfortunate design limitations with CVS's vendor + <para>Because of the previously mentioned 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 diff --git a/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml b/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml index 488efe87c2..b0d244ca37 100644 --- a/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml @@ -38,7 +38,13 @@ client/server software such as <command>pppd</command>. Unless otherwise stated, all commands in this section should be executed as root.</para> - + <para>There are a large number of enhancements in version 2 of ppp. You + can discover what version you have by running ppp with no arguments + and typing <command>show version</command> at the prompt. It is a + simple matter to upgrade to the latest version of ppp (under any + version of FreeBSD) by downloading the latest archive via <ulink + url="http://www.Awfulhak.org/ppp.html">www.Awfulhak.org</ulink>.</para> + <sect2> <title>Before you start</title> @@ -65,42 +71,45 @@ login/password pair.</para> </listitem> - <listitem> - <para>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 “default route”. If your - ISP hasn't given you this number, don't worry. We can make - one up and your ISP's PPP server will tell us when we - connect.</para> - - <para>This number is known from now on as - <literal>HISADDR</literal>.</para> - </listitem> - - <listitem> - <para>Your ISP's netmask setting. Again, if your ISP hasn't - given you this information, you can safely use a netmask of - <hostid role="netmask">255.255.255.0</hostid>.</para> - </listitem> - <listitem> <para>The IP addresses of one or more nameservers. Normally, you will be given two IP numbers. You - <emphasis>must</emphasis> have this information unless you run - your own nameserver.</para> + <emphasis>must</emphasis> have this information for + <application>PPP</application> version 1.x unless you run + your own nameserver. From version 2 onwards, + <application>PPP</application> supports nameserver address + negotiation. If your ISP supports this, then using the command + <command>enable dns</command> in your config file will tell + <application>PPP</application> to set the nameservers for + you.</para> </listitem> + </itemizedlist> + + <para>The following information may have been supplied by your ISP, + but is not strictly necessary:</para> + + <itemizedlist> + <listitem> + <para>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 + <emphasis>default route</emphasis>. If your ISP hasn't given + you this number, we can make one up and your ISP's PPP server + will tell us the correct value when we connect.</para> - <listitem> - <para>If your ISP allocates you a static IP address and - hostname then you will need this information too. If not, - you will need to know from what range of IP addresses your - allocated IP address will belong. If you haven't been given - this range, don't worry. You can configure <command>ppp</command> to accept any - IP number (as explained later).</para> - </listitem> - - </itemizedlist> - + <para>This IP number is referred to as <literal>HISADDR</literal> + by ppp.</para> + </listitem> + + <listitem> + <para>Your ISP's netmask. If your ISP hasn't given you this + information, you can safely use a netmask of <hostid + role="netmask">255.255.255.0</hostid>.</para> + + <para>If your ISP allocates you a static IP address and hostname + then you can enter this information. Otherwise, we simply let the + peer assign whatever IP number it sees fit.</para> + </listitem> + </itemizedlist> <para>If you do not have any of the required information, contact your ISP and make sure they provide it to you.</para> @@ -148,11 +157,14 @@ tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 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</screen> +tun3: flags=8010<POINTOPOINT,MULTICAST> mtu 1500</screen> </informalexample> <para>This case shows four tunnel devices, two of which are - currently configured and being used.</para> + currently configured and being used. It should be noted that the + <literal>RUNNING</literal> flag above indicates that the interface has + been used at some point—it is not an error if your interface does + not show up as <literal>RUNNING</literal>.</para> <para>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 @@ -200,7 +212,14 @@ tun3: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500</screen> <screen>&prompt.root; <userinput>ifconfig tun0</userinput> tun0: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500</screen> </informalexample> - + + <para>The <literal>RUNNING</literal> flag may not yet be set, in which + case you will see:</para> + + <informalexample> + <screen>&prompt.root; <userinput>ifconfig tun0</userinput> +tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500</screen> + </informalexample> </sect2> <sect2> @@ -228,7 +247,9 @@ tun0: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500</screen> <sect3> <title>Edit the <filename>/etc/host.conf</filename> file</title> - <para>This file should contain the following two lines:</para> + <para>This file should contain the following two lines (in this +order):</para> + <programlisting> hosts @@ -286,7 +307,13 @@ domain <replaceable>bar.com</replaceable></programlisting> domain, and is probably unnecessary. Refer to the <filename>resolv.conf</filename> manual page for details of other possible entries in this file.</para> - + + <para>If you are running PPP version 2 or greater, the <command>enable + dns</command> command will tell PPP to request that your ISP + confirms the nameserver values. If your ISP supplies different + addresses (or if there are no nameserver lines in + <filename>/etc/resolv.conf</filename>), PPP will rewrite the file + with the ISP-supplied values.</para> </sect3> </sect2> @@ -328,12 +355,11 @@ domain <replaceable>bar.com</replaceable></programlisting> 4 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0 OK-AT-OK \\dATDT\\TTIMEOUT 40 CONNECT" 5 provider: 6 set phone "(0123) 456 7890" -7 set login "TIMEOUT 10 gin:-BREAK-gin: foo word: bar col: ppp" +7 set login "TIMEOUT 10 \"\" \"\" gin:--gin: foo word: bar col: ppp" 8 set timeout 300 -9 deny lqr -10 set ifaddr <replaceable>x.x.x.x</replaceable> <replaceable>y.y.y.y</replaceable> -11 delete ALL -12 add 0 0 HISADDR</programlisting> +9 set ifaddr <replaceable>x.x.x.x</replaceable> <replaceable>y.y.y.y</replaceable> 255.255.255.0 0.0.0.0 +10 add default HISADDR +11 enable dns</programlisting> <para>Do not include the line numbers, they are just for reference in this discussion.</para> @@ -415,7 +441,11 @@ protocol: ppp</screen> </informalexample> <para>You will need to alter this script to suit your own - needs. If you're using PAP or CHAP, there will be no + needs. When you write this script for the first time, + you should enable “chat” logging to ensure that + the conversation is going as expected.</para> + + <para>If you're using PAP or CHAP, there will be no login at this point, so your login string can be left blank. See <link linkend="userppp-PAPnCHAP">PAP and CHAP @@ -435,26 +465,6 @@ protocol: ppp</screen> <varlistentry><term>Line 9:</term> - <listitem> - <para><command>ppp</command> can be configured to exchange Link Quality - Report (LQR) packets. These packets describe how good - the physical link is. <command>ppp</command>'s LQR strategy is to close - the connection when a number of these packets are - missed. This is useful when you have a direct serial - link to another machine and the DSR modem signal is not - available to indicate that the line is up. When data - saturates the line, LQR packets are sometimes - “missed”, causing <command>ppp</command> to close the connection - prematurely. Refusing to negotiate lqr is sometimes - prudent (if you are going through a modem) as it avoids - this whole mess. By default, <command>ppp</command> will not attempt to - negotiate LQR, but will accept LQR negotiation from the - peer.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Line 10:</term> - <listitem> <para>Sets the interface addresses. The string <replaceable>x.x.x.x</replaceable> should be replaced by the IP address that your provider @@ -473,17 +483,7 @@ protocol: ppp</screen> </listitem> </varlistentry> - <varlistentry><term>Line 11:</term> - - <listitem> - <para>Deletes all existing routing table entries for the - acquired tun device. This should not normally be - necessary, but will make sure that <command>ppp</command> is starting with - a clean bill of health.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Line 12:</term> + <varlistentry><term>Line 10:</term> <listitem> <para>Adds a default route to your ISPs gateway. The @@ -492,9 +492,21 @@ protocol: ppp</screen> important that this line appears after line 9, otherwise <literal>HISADDR</literal> will not yet be initialized.</para> - + </listitem> </varlistentry> + + <varlistentry> + <term>Line 11:</term> + + <listitem> + <para>This line tells PPP to ask your ISP to confirm that your + nameserver addresses are correct. If your ISP supports this + facility, PPP can then update + <filename>/etc/resolv.conf</filename> with the correct + nameserver entries.</para> + </listitem> + </varlistentry> </variablelist> <para>It is not necessary to add an entry to @@ -522,7 +534,7 @@ protocol: ppp</screen> Static IP addresses</link>, with the following change:</para> <programlisting> -10 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0</programlisting> +9 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0</programlisting> <para>Again, do not include the line numbers, they are just for reference in this discussion. Indentation of at least one space @@ -530,34 +542,28 @@ protocol: ppp</screen> <variablelist> - <varlistentry><term>Line 10:</term> + <varlistentry><term>Line 9:</term> <listitem> <para>The number after the <literal>/</literal> character is the number of bits of the address that ppp will insist on. You may wish to use IP numbers more appropriate to your - circumstances, but the above example will almost always - work. If it fails, you may be able to defeat some - broken ppp implementations by supplying an additional - <literal>0.0.0.0</literal> argument:</para> - - <programlisting> -set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0</programlisting> - - <para>This tells ppp to negotiate using address <hostid - role="ipaddr">0.0.0.0</hostid> rather than <hostid - role="ipaddr">10.0.0.1</hostid>. Do not use <hostid - role="netmask">0.0.0.0/0</hostid> as the first argument - to <command>set ifaddr</command> as it - prevents <command>ppp</command> from setting up an initial route in - <option>-auto</option> and <option>-ddial</option> - mode.</para> + circumstances, but the above example will always + work.</para> + + <para>The last argument (<literal>0.0.0.0</literal>) tells PPP + to negotiate using address <hostid + role="ipaddr">0.0.0.0</hostid> rather than <hostid + role="ipaddr">10.0.0.1</hostid>. Do not use + <literal>0.0.0.0</literal> as the first argument to + <command>set ifaddr</command> as it prevents PPP from setting + up an intial route in <option>-auto</option> mode.</para> </listitem> </varlistentry> </variablelist> - <para>You will also need to create an entry in + <para>If you are running version 1.x of PPP, uou will also need to create an entry in <filename>/etc/ppp/ppp.linkup</filename>. <filename>ppp.linkup</filename> is used after a connection has been established. At this point, <command>ppp</command> will know what IP @@ -611,7 +617,14 @@ set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0</programlisting> <filename>/etc/ppp/ppp.conf.sample</filename> and <filename>/etc/ppp/ppp.linkup.sample</filename> for a detailed example.</para> - + + <para>Version 2 of PPP introduces “sticky routes”. Any + <literal>add</literal> or <literal>delete</literal> lines that + contain <literal>MYADDR</literal> or <literal>HISADDR</literal> will + be remembered, and any time the actual values of + <literal>MYADDR</literal> or <literal>HISADDR</literal> change, the + routes will be re-applied. This removes the necessity of repeating + these lines in <filename>ppp.linkup</filename>.</para> </sect3> <sect3> @@ -621,24 +634,21 @@ set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0</programlisting> role.</para> <para>When you configure <command>ppp</command> to - receive incoming calls, you must decide whether you wish to - forward packets for just PPP - connections, for all interfaces, or not at all. To forward for - just PPP connections, include the line + receive incoming calls on a machine connected to a LAN, you must decide if you wish to + forward packets to the LAN. If you do, you should allocate the + peer an IP number from your LAN's subet, and use the command <programlisting> enable proxy</programlisting> - in your <filename>ppp.conf</filename> file. If you wish to - forward packets on all interfaces, use the - + in your <filename>ppp.conf</filename> file. You should also + confirm that the <filename>/etc/rc.conf</filename> file (this file + used to be called <filename>/etc/sysconfig</filename>) contains the + following:</para> + <programlisting> gateway=YES</programlisting> - - option in <filename>/etc/rc.conf</filename> (this file used - to be called <filename>/etc/sysconfig</filename>).</para> - - + <sect4> <title>Which getty?</title> @@ -672,7 +682,16 @@ gateway=YES</programlisting> permission to run <command>ppp</command> by adding them to the <username>network</username> group in <filename>/etc/group</filename>.</para> - + + <para>You will also need to give them access to one or more sections + of the configuration file using the <command>allow</command> + command:</para> + + <programlisting> +allow users fred mary</programlisting> + + <para>If this command is used in the <literal>default</literal> + section, it gives the specified users access to everything.</para> </sect4> <sect4> @@ -702,7 +721,7 @@ exec /usr/sbin/ppp -direct $IDENT</programlisting> using the following commands:</para> <informalexample> - <screen>&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-dialup</userinput></screen> + <screen>&prompt.root; <userinput>ln -s ppp-shell /etc/ppp/ppp-dialup</userinput></screen> </informalexample> <para>You should use this script as the @@ -855,9 +874,6 @@ mary: <programlisting> #!/bin/sh -TTY=`tty` -IDENT=`basename $TTY` - exec /usr/sbin/ppp -direct pap$IDENT</programlisting> <para>For each dialup line enabled in @@ -867,14 +883,9 @@ exec /usr/sbin/ppp -direct pap$IDENT</programlisting> above.</para> <programlisting> -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 +pap: + enable pap + set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40 enable proxy</programlisting> <para>Each user logging in with this method will need to have @@ -886,36 +897,43 @@ papttyd1: enable passwdauth</programlisting> <para>option to authenticate users via pap from the - <filename>/etc/password</filename>d file<footnote><para>(*) 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)</para> - </footnote>.</para> - + <filename>/etc/password</filename> file.</para> + + <para>If you wish to assign some users a static IP number, you can + specify the number as the third argument in + <filename>/etc/ppp/ppp.secret</filename>. See + <filename>/etc/ppp/ppp.secret.sample</filename> for + examples.</para> </sect5> <sect5> <title>MS extentions</title> - - <para>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.</para> - - <para>An example of enabling these extensions in your - <filename>/etc/ppp/ppp.conf</filename> file is illustrated - below.</para> - + + <para>It is possible to configure PPP to supply DNS and NetBIOS + nameserver addresses on demand.</para> + + <para>To enable these extensions with PPP version 1.x, the + following lines might be added to the relevant section of + <filename>/etc/ppp/ppp.conf</filename>.</para> + <programlisting> -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</programlisting> - +enable msext +set ns 203.14.100.1 203.14.100.2 +set nbns 203.14.100.5</programlisting> + + <para>And for PPP version 2 and above:</para> + + <programlisting> +accept dns +set dns 203.14.100.1 203.14.100.2 +set nbns 203.14.100.5</programlisting> + <para>This will tell the clients the primary and secondary name server addresses, and a netbios nameserver host.</para> - + + <para>In version 2 and above, if the <literal>set dns</literal> + line is ommitted, PPP will use the values found in + <filename>/etc/resolv.conf</filename>.</para> </sect5> </sect4> </sect3> @@ -932,7 +950,7 @@ default: <para>PAP is less secure than CHAP, but security is not normally an issue here as passwords, although being sent as plain text with PAP, are being transmitted down a serial line only. - There's not much room for hackers to “eavesdrop”.</para> + There's not much room for crackers to “eavesdrop”.</para> <para>Referring back to the <link linkend="userppp-staticIP">PPP and Static IP addresses</link> or <link linkend="userppp-dynamicIP">PPP and Dynamic IP @@ -942,8 +960,8 @@ default: <programlisting> 7 set login … -13 set authname <replaceable>MyUserName</replaceable> -14 set authkey <replaceable>MyPassword</replaceable></programlisting> +12 set authname <replaceable>MyUserName</replaceable> +13 set authkey <replaceable>MyPassword</replaceable></programlisting> <para>As always, do not include the line numbers, they are just for reference in this discussion. Indentation of at least one @@ -959,7 +977,7 @@ default: </listitem> </varlistentry> - <varlistentry><term>Line 13:</term> + <varlistentry><term>Line 12:</term> <listitem> <para>This line specifies your PAP/CHAP user name. You @@ -968,7 +986,7 @@ default: </listitem> </varlistentry> - <varlistentry><term>Line 14:</term> + <varlistentry><term>Line 13:</term> <listitem> <para>This line specifies your PAP/CHAP password. You @@ -980,56 +998,29 @@ default: <programlisting> 15 accept CHAP</programlisting> to make it obvious that this is the - intention, but PAP and CHAP are accepted by + intention, but PAP and CHAP are both accepted by default.</para> </listitem> </varlistentry> </variablelist> - - - <note> - <para>Your <literal>authkey</literal> will be logged - if you have command logging turned on (<command>set log - +command</command>). Care should be taken when deciding the - ppp log file permissions.</para> - </note> </sect3> <sect3> <title>Changing your <command>ppp</command> configuration on the fly</title> <para>It is possible to talk to the <command>ppp</command> program while it is - running in the background, but only if a suitable password has - been set up.</para> - - <para>By default, ppp will listen to a TCP port of 3000 + - <replaceable>tunno</replaceable>, where <replaceable>tunno</replaceable> is the number of the tun device - acquired, however, if a password for the local machine is not - set up in <filename>/etc/ppp/ppp.secret</filename>, no server - connection will be created. To set your password, put the - following line in - <filename>/etc/ppp/ppp.secret</filename>:</para> - - <programlisting> -<replaceable>foo</replaceable> <replaceable>MyPassword</replaceable></programlisting> - - <para><replaceable>foo</replaceable> is your local - hostname (run <command>hostname -s</command> to determine the - correct name), and <replaceable>MyPassword</replaceable> is - the unencrypted password that you wish to use. - <filename>/etc/ppp/ppp.secret</filename> should - <emphasis>not</emphasis> be accessable by anyone without user id - <username>0</username>. This means that <filename>/</filename>, - <filename>/etc</filename> and <filename>/etc/ppp</filename> - should not be writable, and <filename>ppp.secret</filename> - should be owned by user id <username>0</username> and have permissions 0600.</para> - - <para>It is also possible to select a specific port number or to - have ppp listen to a local unix domain socket rather than to a - TCP socket. Refer to the <command>set - socket</command> command in manual page for further - details.</para> + running in the background, but only if a suitable diagnostic port has + been set up. To do this, add the following line to your + configuration:</para> + + <programlisting> +set server /var/run/ppp-tun%d DiagnosticPassword 0177</programlisting> + + <para>This will tell PPP to listen to the specified unix-domain + socket, asking clients for the specified password before allowing + access. The <literal>%d</literal> in the name is replaced with teh + tun device number that is in use.</para> <para>Once a socket has been set up, the <citerefentry><refentrytitle>pppctl</refentrytitle><manvolnum>8</manvolnum></citerefentry> program may be used in scripts that @@ -1230,8 +1221,8 @@ sendmail_flags="-bd"</programlisting> <sect2> <title>Acknowledgments</title> - <para>This section of the handbook was last updated on Sun Sep 7, - 1997 by &a.brian;</para> + <para>This section of the handbook was last updated on Monday Aug 10, + 1998 by &a.brian;</para> <para>Thanks to the following for their input, comments & suggestions:</para> diff --git a/en_US.ISO_8859-1/books/handbook/printing/chapter.sgml b/en_US.ISO_8859-1/books/handbook/printing/chapter.sgml index 47309e11ae..1b39eac6bd 100644 --- a/en_US.ISO_8859-1/books/handbook/printing/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/printing/chapter.sgml @@ -3969,7 +3969,11 @@ done linkend="printing-simple">Simple Printer Setup</link>. Do any advanced setup in <link linkend="printing-advanced">Advanced Printer Setup</link> that you need. Make sure to test the printer and see if it works with the features of LPD - you have enabled.</para> + you have enabled. Also ensure that the <emphasis>local + host</emphasis> has authorization to use the LPD service in the + <emphasis>remote host</emphasis> (see <link + linkend="printing-advanced-restricting-remote">Restricting Jobs + from Remote Printers</link>).</para> <para>If you are using a printer with a network interface that is compatible with LPD, then the <emphasis>printer host</emphasis> diff --git a/en_US.ISO_8859-1/books/handbook/security/chapter.sgml b/en_US.ISO_8859-1/books/handbook/security/chapter.sgml index 00f1b8aa4c..b620aeb316 100644 --- a/en_US.ISO_8859-1/books/handbook/security/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/security/chapter.sgml @@ -440,8 +440,8 @@ permit port ttyd0</programlisting> software, please <emphasis>do not</emphasis> get it from a USA or Canada site. You will get that site in <emphasis>big</emphasis> trouble! A legal copy of this is available from - <hostid role="fqdn">skeleton.mikom.csir.co.za</hostid>, which is in South - Africa.</para> + <hostid role="fqdn">ftp.internat.freebsd.org</hostid>, which is in + South Africa and an official FreeBSD mirror site.</para> <sect2> @@ -464,7 +464,7 @@ README krb.conf krb.realms</screen> <filename>principal.*</filename> or <filename>master_key</filename>) exist, then use the <command>kdb_destroy</command> command to destroy the old Kerberos database, of if Kerberos is not running, - simply delete the extra files with <command>rm</command>.</para> + simply delete the extra files.</para> <para>You should now edit the <filename>krb.conf</filename> and <filename>krb.realms</filename> files to define your Kerberos @@ -939,10 +939,10 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen> <para>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 + able to stop a really determined cracker 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.</para> + crackers job that bit easier.</para> </note> @@ -1534,20 +1534,20 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen> <title>Example commands for ipfw</title> <para>This command will deny all packets from the host - <hostid role="fqdn">evil.hacker.org</hostid> to the telnet port of the + <hostid role="fqdn">evil.crackers.org</hostid> to the telnet port of the host <hostid role="fqdn">nice.people.org</hostid> by being forwarded by the router:</para> <informalexample> - <screen>&prompt.root <userinput>ipfw add deny tcp from evil.hacker.org to nice.people.org 23</userinput></screen> + <screen>&prompt.root <userinput>ipfw add deny tcp from evil.crackers.org to nice.people.org 23</userinput></screen> </informalexample> <para>The next example denies and logs any TCP traffic from the - entire <hostid role="domainname">hacker.org</hostid> network (a class C) to the + entire <hostid role="domainname">crackers.org</hostid> network (a class C) to the <hostid role="fqdn">nice.people.org</hostid> machine (any port).</para> <informalexample> - <screen>&prompt.root; <userinput>ipfw add deny log tcp from evil.hacker.org/24 to nice.people.org</userinput></screen> + <screen>&prompt.root; <userinput>ipfw add deny log tcp from evil.crackers.org/24 to nice.people.org</userinput></screen> </informalexample> <para>If you do not want people sending X sessions to your internal diff --git a/en_US.ISO_8859-1/books/handbook/staff/chapter.sgml b/en_US.ISO_8859-1/books/handbook/staff/chapter.sgml index e4277e11e2..350c823cb5 100644 --- a/en_US.ISO_8859-1/books/handbook/staff/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/staff/chapter.sgml @@ -30,10 +30,6 @@ <para>&a.ache;</para> </listitem> - <listitem> - <para>&a.dyson;</para> - </listitem> - <listitem> <para>&a.bde;</para> </listitem> @@ -43,7 +39,7 @@ </listitem> <listitem> - <para>&a.davidg;</para> + <para>&a.dg;</para> </listitem> <listitem> @@ -96,12 +92,14 @@ <para>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.</para> + are also developers.</para> <itemizedlist> - + <listitem> + <para>&a.ugen;</para> + </listitem> + <listitem> <para>&a.mbarkah;</para> </listitem> @@ -109,7 +107,15 @@ <listitem> <para>&a.stb;</para> </listitem> - + + <listitem> + <para>&a.pb;</para> + </listitem> + + <listitem> + <para>&a.abial;</para> + </listitem> + <listitem> <para>&a.jb;</para> </listitem> @@ -117,15 +123,31 @@ <listitem> <para>&a.torstenb;</para> </listitem> + + <listitem> + <para>&a.dburr;</para> + </listitem> <listitem> <para>&a.danny;</para> </listitem> - + + <listitem> + <para>&a.thepish;</para> + </listitem> + <listitem> <para>&a.charnier;</para> </listitem> - + + <listitem> + <para>&a.luoqi;</para> + </listitem> + + <listitem> + <para>&a.ejc;</para> + </listitem> + <listitem> <para>&a.kjc;</para> </listitem> @@ -141,7 +163,11 @@ <listitem> <para>&a.adam;</para> </listitem> - + + <listitem> + <para>&a.dillon;</para> + </listitem> + <listitem> <para>&a.dufault;</para> </listitem> @@ -222,14 +248,14 @@ <para>&a.hanai;</para> </listitem> - <listitem> - <para>&a.ahasty;</para> - </listitem> - <listitem> <para>&a.jhay;</para> </listitem> - + + <listitem> + <para>&a.ghelmer;</para> + </listitem> + <listitem> <para>&a.helbig;</para> </listitem> @@ -237,19 +263,23 @@ <listitem> <para>&a.erich;</para> </listitem> - + + <listitem> + <para>&a.hosokawa;</para> + </listitem> + <listitem> <para>&a.hsu;</para> </listitem> - + + <listitem> + <para>&a.mph;</para> + </listitem> + <listitem> <para>&a.itojun;</para> </listitem> - <listitem> - <para>&a.ugen;</para> - </listitem> - <listitem> <para>&a.gj;</para> </listitem> @@ -269,7 +299,27 @@ <listitem> <para>&a.andreas;</para> </listitem> - + + <listitem> + <para>&a.motoyuki;</para> + </listitem> + + <listitem> + <para>&a.jkoshy;</para> + </listitem> + + <listitem> + <para>&a.kuriyama;</para> + </listitem> + + <listitem> + <para>&a.grog;</para> + </listitem> + + <listitem> + <para>&a.jlemon;</para> + </listitem> + <listitem> <para>&a.imp;</para> </listitem> @@ -281,11 +331,15 @@ <listitem> <para>&a.mckay;</para> </listitem> - - <listitem> - <para>&a.jlemon;</para> - </listitem> - + + <listitem> + <para>&a.mckusick;</para> + </listitem> + + <listitem> + <para>&a.ken;</para> + </listitem> + <listitem> <para>&a.tedm;</para> </listitem> @@ -305,7 +359,11 @@ <listitem> <para>&a.alex;</para> </listitem> - + + <listitem> + <para>&a.rnordier;</para> + </listitem> + <listitem> <para>&a.davidn;</para> </listitem> @@ -313,7 +371,11 @@ <listitem> <para>&a.obrien;</para> </listitem> - + + <listitem> + <para>&a.ljo;</para> + </listitem> + <listitem> <para>&a.fsmp;</para> </listitem> @@ -393,6 +455,10 @@ <listitem> <para>&a.msmith;</para> </listitem> + + <listitem> + <para>&a.des;</para> + </listitem> <listitem> <para>&a.brian;</para> @@ -405,7 +471,11 @@ <listitem> <para>&a.karl;</para> </listitem> - + + <listitem> + <para>&a.dt;</para> + </listitem> + <listitem> <para>&a.cwt;</para> </listitem> @@ -418,10 +488,18 @@ <para>&a.hoek;</para> </listitem> + <listitem> + <para>&a.nectar;</para> + </listitem> + <listitem> <para>&a.swallace;</para> </listitem> - + + <listitem> + <para>&a.dwhite;</para> + </listitem> + <listitem> <para>&a.nate;</para> </listitem> @@ -459,7 +537,7 @@ <variablelist> <varlistentry><term>Documentation Project Manager</term> <listitem> - <para>&a.jfieber;</para> + <para><emphasis>currently vacant</emphasis></para> </listitem> </varlistentry> @@ -467,10 +545,7 @@ <varlistentry><term>Webmaster</term> <listitem> - <para>&a.mbarkah;</para> - - <para><emphasis>Deputy:</emphasis> &a.paul;</para> - + <para>&a.wosch;;</para> </listitem> </varlistentry> @@ -482,26 +557,6 @@ </listitem> </varlistentry> - <varlistentry><term>Build Engineer</term> - - <listitem> - <para>&a.paul;</para> - - <para><emphasis>Deputy:</emphasis> &a.dave;</para> - - </listitem> - </varlistentry> - - <varlistentry><term>Mirror Manager</term> - - <listitem> - <para>&a.ulf;</para> - - <para><emphasis>Deputy:</emphasis> &a.john;</para> - - </listitem> - </varlistentry> - <varlistentry><term>News Editor</term> <listitem> @@ -511,7 +566,15 @@ </listitem> </varlistentry> - + + <varlistentry> + <term>FreeBSD Really-Quick NewsLetter Editor</term> + + <listitem> + <para>Chris Coleman <email>chrisc@vmunix.com</email></para> + </listitem> + </varlistentry> + <varlistentry><term>Gallery and Commercial Editor</term> <listitem> @@ -525,10 +588,7 @@ <varlistentry><term>Style Police & Art Director</term> <listitem> - <para>&a.dave;</para> - - <para><emphasis>Deputy:</emphasis> &a.opsys;</para> - + <para>&a.opsys;</para> </listitem> </varlistentry> @@ -536,19 +596,13 @@ <listitem> <para>&a.mayo;</para> - - <para><emphasis>Deputy:</emphasis> &a.cracauer;</para> - </listitem> </varlistentry> <varlistentry><term>CGI Engineer</term> <listitem> - <para>&a.cracauer;</para> - - <para><emphasis>Deputy:</emphasis> &a.stb;</para> - + <para>&a.stb;</para> </listitem> </varlistentry> @@ -556,11 +610,16 @@ <listitem> <para>&a.nsj;</para> - - <para><emphasis>Drying plates:</emphasis> &a.nik;</para> - </listitem> </varlistentry> + + <varlistentry> + <term>LinuxDoc to DocBook conversion</term> + + <listitem> + <para>&a.nik;</para> + </listitem> + </varlistentry> </variablelist> @@ -573,20 +632,21 @@ <variablelist> <varlistentry><term>Principal Architect</term> <listitem> - <para>&a.davidg;</para> + <para>&a.dg;</para> </listitem> </varlistentry> - <varlistentry><term>Documentation Project Manager</term> + <varlistentry><term><ulink + url="http://www.freebsd.org/docproj/docproj.html">Documentation Project Manager</ulink></term> <listitem> - <para>&a.jfieber;</para> + <para><emphasis>currently vacant</emphasis></para> </listitem> </varlistentry> - <varlistentry><term>Internationalization</term> + <varlistentry><term><link linkend="l10n">Internationalization</link></term> <listitem> <para>&a.ache;</para> @@ -602,7 +662,7 @@ </listitem> </varlistentry> - <varlistentry><term>Postmaster</term> + <varlistentry><term><link linkend="eresources-mail">Postmaster</link></term> <listitem> <para>&a.jmb;</para> @@ -627,7 +687,7 @@ </listitem> </varlistentry> - <varlistentry><term>Security Officer</term> + <varlistentry><term><ulink url="http://www.freebsd.org/security/">Security Officer</ulink></term> <listitem> <para>&a.guido;</para> @@ -635,7 +695,7 @@ </listitem> </varlistentry> - <varlistentry><term>Source Repository Managers</term> + <varlistentry><term><ulink url="http://www.freebsd.org/support.html#cvs">>Source Repository Managers</ulink></term> <listitem> <para>Principal: &a.peter;</para> @@ -647,7 +707,7 @@ </listitem> </varlistentry> - <varlistentry><term>Ports Manager</term> + <varlistentry><term><ulink url="http://www.freebsd.org/ports/">Ports Manager</ulink></term> <listitem> <para>&a.asami;</para> @@ -663,7 +723,7 @@ </listitem> </varlistentry> - <varlistentry><term>Usenet Support</term> + <varlistentry><term><link linkend="eresources-news">Usenet Support</link></term> <listitem> <para>&a.joerg;</para> @@ -671,13 +731,20 @@ </listitem> </varlistentry> - <varlistentry><term>GNATS Administrator</term> + <varlistentry><term><ulink url="http://www.freebsd.org/support.html#gnats">GNATS Administrator</ulink></term> <listitem> <para>&a.steve;</para> </listitem> </varlistentry> + + <varlistentry> + <term><ulink url="http://www.freebsd.org/internal/">Webmaster</ulink></term> + <listitem> + <para>&a.wosch;</para> + </listitem> + </varlistentry> </variablelist>