Import Polish translation of the FreeBSD Handbook. While some

chapters are not translated now, they will be updated soon.

Submitted by:	Cezary Morga <cezarym@data.pl>
This commit is contained in:
Hiroki Sato 2006-09-24 18:59:05 +00:00
parent 97b1596c2b
commit 7c745958b1
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=28709
82 changed files with 74976 additions and 0 deletions

View file

@ -0,0 +1,18 @@
# $FreeBSD$
# Original revision: 1.14
#SUBDIR+= arch-handbook
#SUBDIR+= corp-net-guide
#SUBDIR+= design-44bsd
#SUBDIR+= dev-model
#SUBDIR+= developers-handbook
#SUBDIR+= faq
#SUBDIR+= fdp-primer
SUBDIR = handbook
#SUBDIR+= pmake
#SUBDIR+= porters-handbook
ROOT_SYMLINKS= faq handbook
DOC_PREFIX?= ${.CURDIR}/../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -0,0 +1,6 @@
#
# $FreeBSD$
# Original revision: 1.4
#
DESTDIR?= ${DOCDIR}/pl_PL.ISO8859-2/books/${.CURDIR:T}

View file

@ -0,0 +1,256 @@
# The FreeBSD Polish Documentation Project
#
# $FreeBSD$
# Original revision: 1.100
#
# Build the FreeBSD Handbook.
#
# ------------------------------------------------------------------------
#
# Handbook-specific variables
#
# WITH_PGPKEYS The print version of the handbook only prints PGP
# fingerprints by default. If you would like for the
# entire key to be displayed, then set this variable.
# This option has no affect on the HTML formats.
#
# Handbook-specific targets
#
# pgpkeyring This target will read the contents of
# pgpkeys/chapter.sgml and will extract all of
# the pgpkeys to standard out. This output can then
# be redirected into a file and distributed as a
# public keyring of FreeBSD developers that can
# easily be imported into PGP/GPG.
#
# ------------------------------------------------------------------------
.PATH: ${.CURDIR}/../../share/sgml/glossary
MAINTAINER= doc@FreeBSD.org
DOC?= book
FORMATS?= html-split
HAS_INDEX= true
USE_PS2PDF= yes
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
IMAGES_EN = advanced-networking/isdn-bus.eps
IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps
IMAGES_EN+= advanced-networking/natd.eps
IMAGES_EN+= advanced-networking/net-routing.pic
IMAGES_EN+= advanced-networking/static-routes.pic
IMAGES_EN+= geom/striping.pic
IMAGES_EN+= install/adduser1.scr
IMAGES_EN+= install/adduser2.scr
IMAGES_EN+= install/adduser3.scr
IMAGES_EN+= install/boot-mgr.scr
IMAGES_EN+= install/console-saver1.scr
IMAGES_EN+= install/console-saver2.scr
IMAGES_EN+= install/console-saver3.scr
IMAGES_EN+= install/console-saver4.scr
IMAGES_EN+= install/desktop.scr
IMAGES_EN+= install/disklabel-auto.scr
IMAGES_EN+= install/disklabel-ed1.scr
IMAGES_EN+= install/disklabel-ed2.scr
IMAGES_EN+= install/disklabel-fs.scr
IMAGES_EN+= install/disklabel-root1.scr
IMAGES_EN+= install/disklabel-root2.scr
IMAGES_EN+= install/disklabel-root3.scr
IMAGES_EN+= install/disk-layout.eps
IMAGES_EN+= install/dist-set.scr
IMAGES_EN+= install/dist-set2.scr
IMAGES_EN+= install/docmenu1.scr
IMAGES_EN+= install/ed0-conf.scr
IMAGES_EN+= install/ed0-conf2.scr
IMAGES_EN+= install/edit-inetd-conf.scr
IMAGES_EN+= install/fdisk-drive1.scr
IMAGES_EN+= install/fdisk-drive2.scr
IMAGES_EN+= install/fdisk-edit1.scr
IMAGES_EN+= install/fdisk-edit2.scr
IMAGES_EN+= install/ftp-anon1.scr
IMAGES_EN+= install/ftp-anon2.scr
IMAGES_EN+= install/hdwrconf.scr
IMAGES_EN+= install/keymap.scr
IMAGES_EN+= install/main1.scr
IMAGES_EN+= install/mainexit.scr
IMAGES_EN+= install/main-std.scr
IMAGES_EN+= install/main-options.scr
IMAGES_EN+= install/main-doc.scr
IMAGES_EN+= install/main-keymap.scr
IMAGES_EN+= install/media.scr
IMAGES_EN+= install/mouse1.scr
IMAGES_EN+= install/mouse2.scr
IMAGES_EN+= install/mouse3.scr
IMAGES_EN+= install/mouse4.scr
IMAGES_EN+= install/mouse5.scr
IMAGES_EN+= install/mouse6.scr
IMAGES_EN+= install/mta-main.scr
IMAGES_EN+= install/net-config-menu1.scr
IMAGES_EN+= install/net-config-menu2.scr
IMAGES_EN+= install/nfs-server-edit.scr
IMAGES_EN+= install/ntp-config.scr
IMAGES_EN+= install/options.scr
IMAGES_EN+= install/pkg-cat.scr
IMAGES_EN+= install/pkg-confirm.scr
IMAGES_EN+= install/pkg-install.scr
IMAGES_EN+= install/pkg-sel.scr
IMAGES_EN+= install/probstart.scr
IMAGES_EN+= install/routed.scr
IMAGES_EN+= install/security.scr
IMAGES_EN+= install/sysinstall-exit.scr
IMAGES_EN+= install/timezone1.scr
IMAGES_EN+= install/timezone2.scr
IMAGES_EN+= install/timezone3.scr
IMAGES_EN+= install/userconfig.scr
IMAGES_EN+= install/userconfig2.scr
IMAGES_EN+= install/xf86setup.scr
IMAGES_EN+= mail/mutt1.scr
IMAGES_EN+= mail/mutt2.scr
IMAGES_EN+= mail/mutt3.scr
IMAGES_EN+= mail/pine1.scr
IMAGES_EN+= mail/pine2.scr
IMAGES_EN+= mail/pine3.scr
IMAGES_EN+= mail/pine4.scr
IMAGES_EN+= mail/pine5.scr
IMAGES_EN+= install/example-dir1.eps
IMAGES_EN+= install/example-dir2.eps
IMAGES_EN+= install/example-dir3.eps
IMAGES_EN+= install/example-dir4.eps
IMAGES_EN+= install/example-dir5.eps
IMAGES_EN+= security/ipsec-network.pic
IMAGES_EN+= security/ipsec-crypt-pkt.pic
IMAGES_EN+= security/ipsec-encap-pkt.pic
IMAGES_EN+= security/ipsec-out-pkt.pic
IMAGES_EN+= vinum/vinum-concat.pic
IMAGES_EN+= vinum/vinum-mirrored-vol.pic
IMAGES_EN+= vinum/vinum-raid10-vol.pic
IMAGES_EN+= vinum/vinum-raid5-org.pic
IMAGES_EN+= vinum/vinum-simple-vol.pic
IMAGES_EN+= vinum/vinum-striped-vol.pic
IMAGES_EN+= vinum/vinum-striped.pic
# Images from the cross-document image library
IMAGES_LIB= callouts/1.png
IMAGES_LIB+= callouts/2.png
IMAGES_LIB+= callouts/3.png
IMAGES_LIB+= callouts/4.png
IMAGES_LIB+= callouts/5.png
IMAGES_LIB+= callouts/6.png
IMAGES_LIB+= callouts/7.png
IMAGES_LIB+= callouts/8.png
IMAGES_LIB+= callouts/9.png
IMAGES_LIB+= callouts/10.png
#
# SRCS lists the individual SGML files that make up the document. Changes
# to any of these files will force a rebuild
#
# SGML content
SRCS+= audit/chapter.sgml
SRCS+= book.sgml
SRCS+= colophon.sgml
SRCS+= freebsd-glossary.sgml
SRCS+= advanced-networking/chapter.sgml
SRCS+= basics/chapter.sgml
SRCS+= bibliography/chapter.sgml
SRCS+= boot/chapter.sgml
SRCS+= config/chapter.sgml
SRCS+= cutting-edge/chapter.sgml
SRCS+= desktop/chapter.sgml
SRCS+= disks/chapter.sgml
SRCS+= eresources/chapter.sgml
SRCS+= firewalls/chapter.sgml
SRCS+= geom/chapter.sgml
SRCS+= install/chapter.sgml
SRCS+= introduction/chapter.sgml
SRCS+= kernelconfig/chapter.sgml
SRCS+= l10n/chapter.sgml
SRCS+= linuxemu/chapter.sgml
SRCS+= mac/chapter.sgml
SRCS+= mail/chapter.sgml
SRCS+= mirrors/chapter.sgml
SRCS+= multimedia/chapter.sgml
SRCS+= network-servers/chapter.sgml
SRCS+= pgpkeys/chapter.sgml
SRCS+= ports/chapter.sgml
SRCS+= ppp-and-slip/chapter.sgml
SRCS+= preface/preface.sgml
SRCS+= printing/chapter.sgml
SRCS+= security/chapter.sgml
SRCS+= serialcomms/chapter.sgml
SRCS+= users/chapter.sgml
SRCS+= vinum/chapter.sgml
SRCS+= x11/chapter.sgml
# Entities
SRCS+= chapters.ent
SYMLINKS= ${DESTDIR} index.html handbook.html
# Turn on all the chapters.
CHAPTERS?= ${SRCS:M*chapter.sgml}
SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./}
SGMLFLAGS+= -i chap.freebsd-glossary
pgpkeyring: pgpkeys/chapter.sgml
@${JADE} -V nochunks ${OTHERFLAGS} ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC}
#
# Handbook-specific variables
#
.if defined(WITH_PGPKEYS)
JADEFLAGS+= -V withpgpkeys
.endif
URL_RELPREFIX?= ../../../..
DOC_PREFIX?= ${.CURDIR}/../../..
#
# rules generating lists of mirror site from XML database.
#
XMLDOCS= mirrors-ftp:::mirrors.sgml.ftp.inc.tmp \
mirrors-cvsup:::mirrors.sgml.cvsup.inc.tmp \
eresources:::eresources.sgml.www.inc.tmp
DEPENDSET.DEFAULT= transtable mirror
XSLT.DEFAULT= ${XSL_MIRRORS}
XML.DEFAULT= ${XML_MIRRORS}
NO_TIDY.DEFAULT= yes
PARAMS.mirrors-ftp+= --param 'type' "'ftp'" \
--param 'proto' "'ftp'" \
--param 'target' "'handbook/mirrors/chapter.sgml'"
PARAMS.mirrors-cvsup+= --param 'type' "'cvsup'" \
--param 'proto' "'cvsup'" \
--param 'target' "'handbook/mirrors/chapter.sgml'"
PARAMS.eresources+= --param 'type' "'www'" \
--param 'proto' "'http'" \
--param 'target' "'handbook/eresources/chapter.sgml'"
SRCS+= mirrors.sgml.ftp.inc \
mirrors.sgml.cvsup.inc \
eresources.sgml.www.inc
CLEANFILES+= mirrors.sgml.ftp.inc mirrors.sgml.ftp.inc.tmp \
mirrors.sgml.cvsup.inc mirrors.sgml.cvsup.inc.tmp \
eresources.sgml.www.inc eresources.sgml.www.inc.tmp
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
.for p in ftp cvsup
mirrors.sgml.${p}.inc: mirrors.sgml.${p}.inc.tmp
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2></\1>,;s,</anchor>,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)
.endfor
eresources.sgml.www.inc: eresources.sgml.www.inc.tmp
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2></\1>,;s,</anchor>,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= advanced-networking/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,2 @@
<!-- $FreeBSD$ -->
<!DOCTYPE appendix PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN">

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= audit/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

View file

@ -0,0 +1,570 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<!-- Need more documentation on praudit, auditreduce, etc. Plus more info
on the triggers from the kernel (log rotation, out of space, etc).
And the /dev/audit special file if we choose to support that. Could use
some coverage of integrating MAC with Event auditing and perhaps discussion
on how some companies or organizations handle auditing and auditing
requirements. -->
<chapter id="audit">
<chapterinfo>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Written by </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>Security Event Auditing</title>
<sect1 id="audit-synopsis">
<title>Synopsis</title>
<indexterm><primary>AUDIT</primary></indexterm>
<indexterm>
<primary>Security Event Auditing</primary>
<see>MAC</see>
</indexterm>
<para>The &os;&nbsp;7-CURRENT development branch includes
support for Event Auditing based on the &posix;.1e draft and
Sun's published <acronym>BSM</acronym> API and file format.
Event auditing permits the selective logging of security-relevant
system events for the purposes of post-mortem analysis, system
monitoring, and intrusion detection. After some settling time in
&os;&nbsp;7-CURRENT, this support will be merged to &os;&nbsp;6-STABLE
and appear in subsequent releases.</para>
<warning>
<para>The audit facility in FreeBSD is considered experimental, and
production deployment should occur only after careful consideration
of the risks of deploying experimental software.</para>
</warning>
<para>This chapter will focus mainly on the installation and
configuration of Event Auditing. Explanation of audit policies,
and an example configuration will be provided for the
convenience of the reader.</para>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem>
<para>What Event Auditing is and how it works.</para>
</listitem>
<listitem>
<para>How to configure Event Auditing on &os; for users
and processes.</para>
</listitem>
</itemizedlist>
<para>Before reading this chapter, you should:</para>
<itemizedlist>
<listitem>
<para>Understand &unix; and &os; basics
(<xref linkend="basics">).</para>
</listitem>
<listitem>
<para>Be familiar with the basics of kernel
configuration/compilation
(<xref linkend="kernelconfig">).</para>
</listitem>
<listitem>
<para>Have some familiarity with security and how it
pertains to &os; (<xref linkend="security">).</para>
</listitem>
</itemizedlist>
<warning>
<para>Event auditing can generate a great deal of log file
data, exceeding gigabytes a week in some configurations. An
administrator should read this chapter in its entirety to avoid
possible self-inflicted <acronym>DoS</acronym> attacks due to
improper configuration.</para>
</warning>
<para>The implementation of Event Auditing in &os; is similar to
that of the &sun; Basic Security Module, or <acronym>BSM</acronym>
library. Thus, the configuration is almost completely
interchangeable with &solaris; and Mac OS X/Darwin operating
systems.</para>
</sect1>
<sect1 id="audit-inline-glossary">
<title>Key Terms - Words to Know</title>
<para>Before reading this chapter, a few key terms must be
explained. This is intended to clear up any confusion that
may occur and to avoid the abrupt introduction of new terms
and information.</para>
<itemizedlist>
<listitem>
<para><emphasis>event</emphasis>: An auditable event is
an event that can be logged using the audit subsystem. The
administrator can configure which events will be audited.
Examples of security-relevant events include the creation of
a file, the building of a network connection, or the logging
in of a user. Events are either <quote>attributable</quote>,
meaning that they can be traced back to a user
authentication, or <quote>non-attributable</quote>. Examples
of non-attributable events are any events that occur before
authentication has succeeded in the login process, such as
failed authentication attempts.</para>
</listitem>
<listitem>
<para><emphasis>class</emphasis>: Events may be assigned to
one or more classes, usually based on the general category
of the events, such as <quote>file creation</quote>,
<quote>file access</quote>, or <quote>network</quote>. Login
and logout events are assigned to the <literal>lo</literal>
class. The use of classes allows the administrator to
specify high level auditing rules without having to specify
whether each individual auditable operation will be logged.</para>
</listitem>
<listitem>
<para><emphasis>record</emphasis>: A record is a log entry
describing a security event. Records typically have a
record event type, information on the subject (user) associated
with the event, time information, information on any objects,
such as files, and information on whether the event corresponded
to a successful operation.</para>
</listitem>
<listitem>
<para><emphasis>trail</emphasis>: An audit trail, or log file,
consists of a series of audit records describing security
events. Typically, trails are in roughly chronological
order with respect to the time events completed. Only
authorized processes are allowed to commit records to the
audit trail.</para>
<listitem>
<para><emphasis>prefix</emphasis>: A prefix is considered to
be the configuration element used to toggle auditing for
success and failed events.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="audit-install">
<title>Installing Audit Support</title>
<para>Support for Event Auditing is installed with
the normal <maketarget>installworld</maketarget> process. An
administrator may confirm this by viewing the contents
of <filename role="directory">/etc/security</filename>. Files
beginning with the word <emphasis>audit</emphasis> should be present.
For example, <filename>audit_event</filename>.</para>
<para>In-kernel support for the framework must also exist. This
may be done by adding the following lines to the local kernel
configuration file:</para>
<programlisting>options AUDIT</programlisting>
<para>Rebuild and reinstall
the kernel via the normal process explained in
<xref linkend="kernelconfig">.</para>
<para>Once completed, enable the audit daemon by adding the
following line to &man.rc.conf.5;:</para>
<programlisting>auditd_enable="YES"</programlisting>
<para>Functionality not provided by the default may be added
here with the <option>auditd_flags</option> option.</para>
</sect1>
<sect1 id="audit-config">
<title>Audit Configuration</title>
<para>All configuration files for security audit are found in
<filename role="directory">/etc/security</filename>. The following
files must be present before the audit daemon is started:</para>
<itemizedlist>
<listitem>
<para><filename>audit_class</filename> - Contains the
definitions of the audit classes.</para>
</listitem>
<listitem>
<para><filename>audit_control</filename> - Controls aspects
of the audit subsystem, such as default audit classes,
minimum disk space to leave on the audit log volume,
etc.</para>
</listitem>
<listitem>
<para><filename>audit_event</filename> - Defines the kernel
audit events. These map, mostly, to system calls.</para>
</listitem>
<listitem>
<para><filename>audit_user</filename> - The events to audit
for individual users. Users not appearing here will be
subject to the default configuration in the control
configuration file.</para>
</listitem>
<listitem>
<para><filename>audit_warn</filename> - A shell script
used by auditd to generate warning messages in
exceptional situations, such as when space for audit
records is running low.</para>
</listitem>
</itemizedlist>
<sect2>
<title>Audit File Syntax</title>
<para>The configuration file syntax is rather arcane, albeit easy
to work with. One thing an administrator must be leery about
is overriding system defaults. This could create potential
openings for audit data to not be collected properly.</para>
<para>The audit subsystem will accept both the short name and
long name with regards to configuration syntax. A syntax
map has been included below.</para>
<para>The following list contains all supported audit
classes:</para>
<itemizedlist>
<listitem>
<para><option>all</option> - <literal>all</literal> - All
audit flags set.</para>
</listitem>
<listitem>
<para><option>ad</option> - <literal>administrative</literal>
- Administrative actions performed on the system as a
whole.</para>
</listitem>
<listitem>
<para><option>ap</option> - <literal>application</literal> -
Application defined action.</para>
</listitem>
<listitem>
<para><option>cl</option> - <literal>file_close</literal> -
Audit calls to the <function>close</function> system
call.</para>
</listitem>
<listitem>
<para><option>ex</option> - <literal>exec</literal> - Audit
program or utility execution.</para>
</listitem>
<listitem>
<para><option>fa</option> - <literal>file_attr_acc</literal>
- Audit the access of object attributes such as
&man.stat.1;, &man.pathconf.2; and similar events.</para>
</listitem>
<listitem>
<para><option>fc</option> - <literal>file_creation</literal>
- Audit events where a file is created as a result.</para>
</listitem>
<listitem>
<para><option>fd</option> - <literal>file_deletion</literal>
- Audit events where file deletion occurs.</para>
</listitem>
<listitem>
<para><option>fm</option> - <literal>file_attr_mod</literal>
- Audit events where file attribute modification occurs,
such as &man.chown.8;, &man.chflags.1;, &man.flock.2;,
etc.</para>
</listitem>
<listitem>
<para><option>fr</option> - <literal>file_read</literal>
- Audit events in which data is read, files are opened for
reading, etc.</para>
</listitem>
<listitem>
<para><option>fw</option> - <literal>file_write</literal> -
Audit events in which data is written, files are written
or modified, etc.</para>
</listitem>
<listitem>
<para><option>io</option> - <literal>ioctl</literal> - Audit
use of the &man.ioctl.2; system call.</para>
</listitem>
<listitem>
<para><option>ip</option> - <literal>ipc</literal> - Audit
various forms of Inter-Process Communication, including POSIX
pipes and System V <acronym>IPC</acronym> operations.</para>
</listitem>
<listitem>
<para><option>lo</option> - <literal>login_logout</literal> -
Audit &man.login.1; and &man.logout.1; events occurring
on the system.</para>
</listitem>
<listitem>
<para><option>na</option> - <literal>non_attrib</literal> -
Audit non-attributable events.</para>
</listitem>
<listitem>
<para><option>no</option> - <literal>no_class</literal> -
Null class used to disable event auditing.</para>
</listitem>
<listitem>
<para><option>nt</option> - <literal>network</literal> -
Audit events related to network actions, such as
&man.connect.2; and &man.accept.2;.</para>
</listitem>
<listitem>
<para><option>ot</option> - <literal>other</literal> -
Audit miscellaneous events.</para>
</listitem>
<listitem>
<para><option>pc</option> - <literal>process</literal> -
Audit process operations, such as &man.exec.3; and
&man.exit.3;.</para>
</listitem>
</itemizedlist>
<para>Following is a list of all supported audit prefixes:</para>
<itemizedlist>
<listitem>
<para><literal>none</literal> - Audit both the success
or failure of an event. For example, just listing a
class will result in the auditing of both success and
failure.</para>
</listitem>
<listitem>
<para><literal>+</literal> - Audit successful events
only.</para>
</listitem>
<listitem>
<para><literal>-</literal> - Audit failed events
only.</para>
</listitem>
</itemizedlist>
<warning>
<para>Using the <option>all</option> class with either the
positive or negative prefix can generate a large amount
of data at an extremely rapid rate.</para>
</warning>
<para>Extra prefixes used to modify the default configuration
values:</para>
<!-- XXX: Perhaps a variable listing here. -->
<itemizedlist>
<listitem>
<para>^- - Disable auditing of failed events.</para>
</listitem>
<listitem>
<para>^+ - Enable auditing of successful events.</para>
</listitem>
<listitem>
<para>^ - Disable auditing of both successful and failed
events.</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Configuration Files</title>
<para>In most cases, administrators will need to modify only two files
when configuring the audit system: <filename>audit_control</filename>
and <filename>audit_user</filename>. The first controls system-wide
audit paramaters and defaults for both attributable and
non-attributable events. The second may be used to tune the level
and nature of auditing for individual users.</para>
<sect3 id="audit-auditcontrol">
<title>The <filename>audit_control</filename> File</title>
<para>The <filename>audit_control</filename> file contains some basic
defaults that the administrator may wish to modify. Perhaps
even set some new ones. Viewing the contents of this file,
we see the following:</para>
<programlisting>dir:/var/audit
flags:lo
minfree:20
naflags:lo</programlisting>
<para>The <option>dir</option> option is used to set the default
directory where audit logs are stored. Audit is frequently
configured so that audit logs are stored on a dedicated file
system, so as to prevent interference between the audit
subsystem and other subsystems when file systems become full.
</para>
<para>The <option>flags</option> option is used to set the
system-wide defaults. The current setting, <option>lo</option>
configures the auditing of all &man.login.1; and &man.logout.1;
actions. A more complex example,
<option>lo,ad,-all,^-fa,^-fc,^-cl</option> audits all system
&man.login.1; and &man.logout.1; actions, all administrator
actions, all failed events in the system, and finally disables
auditing of failed attempts for <option>fa</option>,
<option>fc</option>, and <option>cl</option>. Even though
the <option>-all</option> turned on the auditing of all
failed attempts, the <option>^-</option> prefix will override
that for the latter options.</para>
<para>Notice that the previous paragraph shows the file is
read from left to right. As such, values further on the
right side may override a previous value specified to
its left.</para>
<para>The <option>minfree</option> option defines the minimum
percentage of free space for audit file systems. This
relates to the file system where audit logs are stored.
For example, if the <option>dir</option> specifies
<filename role="directory">/var/audit</filename> and
<option>minfree</option> is set to twenty (20), warning
messages will be generated when the
<filename role="directory">/var</filename> file system grows
to eighty (80) percent full.</para>
<para>The <option>naflags</option> option specifies audit
classes to be audited for non-attributed events &mdash;
that is, events for which there is no authenticated user.
</para>
</sect3>
<sect3 id="audit-audituser">
<title>The <filename>audit_user</filename> File</title>
<para>The <filename>audit_user</filename> file permits the
administrator to determine which classes of audit events
should be logged for which system users.</para>
<para>The following is the defaults currently placed in
the <filename>audit_user</filename> file:</para>
<programlisting>root:lo:no
audit:fc:no</programlisting>
<para>Notice how the default is to audit all cases of
<command>login</command>/<command>logout</command>
and disable auditing of all other actions for
<username>root</username>. This configuration
also audits all file creation and disables all
other auditing for the <username>audit</username>
user. While event auditing does not require a special
user exist, some configurations, specifically environments
making use of <acronym>MAC</acronym>, may require it.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="audit-administration">
<title>Event Audit Administration</title>
<para>Events written by the kernel audit subsystem cannot
be altered or read in plain text. Data is stored and accessed
in a method similar to that of &man.ktrace.1; and &man.kdump.1;,
that is, they may only be viewed by dumping them using the
<command>praudit</command> command; audit trails may be reduced
using the <command>auditreduce</command> command, which selects
records from an audit trail based on properties of interest, such
as the user, time of the event, and type of operation.</para>
<para>For example, the <command>praudit</command> utility will dump the
entire contents of a specified audit log in plain text. To dump an
audit log in its entirety, use:</para>
<screen>&prompt.root; <userinput>praudit /var/audit/AUDITFILE</userinput></screen>
<para>Where <replaceable>AUDITFILE</replaceable> is the audit log
of viewing choice. Since audit logs may contain enormous
amounts of data, an administrator may prefer to select records
for specific users. This is made possible with the following
command, where <username>trhodes</username> is the user of
choice:</para>
<screen>&prompt.root; <userinput>auditreduce -e trhodes /var/audit/AUDITFILE | praudit</userinput></screen>
<para>This will select all audit records produced by the user
<username>trhodes</username> stored in the
<replaceable>AUDITFILE</replaceable> file.</para>
<para>There are several other options available for reading audit
records, see the aforementioned command's manual pages for
a more in depth explanation.</para>
<sect2>
<title>Rotating Audit Log Files</title>
<para>Due to log reliability requirements, audit trails
are written to only by the kernel, and managed only by
<command>auditd</command>. Administrators should not
attempt to use &man.newsyslog.conf.5; or other tools to
directly rotate audit logs. Instead, the <command>audit</command>
management tool should be used to shut down auditing,
reconfigure the audit system, and perform log rotation.
The following command causes the audit daemon to create a
new audit log and signal the kernel to switch to using the
new log. The old log will be terminated and renamed, at
which point it may then be manipulated by the administrator.</para>
<screen>&prompt.root; <userinput>audit -n</userinput></screen>
<warning>
<para>If the <command>auditd</command> daemon is not currently
running, the previous command will fail and an error message
will be produced.</para>
</warning>
<para>Adding the following line to
<filename>/etc/crontab</filename> will force the rotation
every twelve hours from &man.cron.8;:</para>
<programlisting>* */12 * * * root /usr/sbin/audit -n</programlisting>
<para>The change will take effect once you have saved the
new <filename>/etc/crontab</filename>.</para>
</sect2>
<sect2>
<title>Delegating Audit Review Rights</title>
<para>By default, only the root user has the right to read system audit
logs. However, that right may be delegated to members of the
<literal>audit</literal> group, as the audit directory and audit
trail files are assigned to that group, and made group-readable. As
the ability to track audit log contents provides significant insight
into the behavior of users and processes, it is recommended that the
delegation of audit review rights be performed with caution.</para>
</sect2>
</sect1>
</chapter>

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= basics/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,7 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/";
root -> "A2/";
}

View file

@ -0,0 +1,8 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/" -> "B1/";
"A1/" -> "B2/";
root -> "A2/";
}

View file

@ -0,0 +1,8 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/";
root -> "A2/" -> "B1/";
"A2/" -> "B2/";
}

View file

@ -0,0 +1,9 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/";
root -> "A2/" -> "B1/" -> "C1/";
"B1/" -> "C2/";
"A2/" -> "B2/";
}

View file

@ -0,0 +1,9 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/" -> "C1/";
"A1/" -> "C2/";
root -> "A2/" -> "B1/";
"A2/" -> "B2/";
}

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= bibliography/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

View file

@ -0,0 +1,655 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<appendix id="bibliography">
<title>Bibliografia</title>
<para>While the manual pages provide the definitive reference for individual
pieces of the FreeBSD operating system, they are notorious for not
illustrating how to put the pieces together to make the whole operating
system run smoothly. For this, there is no substitute for a good book on
&unix; system administration and a good users' manual.</para>
<sect1 id="bibliography-freebsd">
<title>Books &amp; Magazines Specific to FreeBSD</title>
<para><emphasis>International books &amp;
Magazines:</emphasis></para>
<itemizedlist>
<listitem>
<para><ulink
url="http://jdli.tw.FreeBSD.org/publication/book/freebsd2/index.htm">Using FreeBSD</ulink> (in Chinese).</para>
</listitem>
<listitem>
<para>FreeBSD Unleashed (Chinese translation), published by
<ulink url="http://www.hzbook.com/">China Machine
Press</ulink>. ISBN 7-111-10201-0.
</para>
</listitem>
<listitem>
<para>FreeBSD From Scratch First Edition (in Chinese),
published by China Machine Press. ISBN 7-111-07482-3.
</para>
</listitem>
<listitem>
<para>FreeBSD From Scratch Second Edition (in Chinese),
published by China Machine Press. ISBN 7-111-10286-X.
</para>
</listitem>
<listitem>
<para>FreeBSD Handbook (Chinese translation), published by
<ulink url="http://www.ptpress.com.cn/">Posts &amp; Telecom
Press</ulink>. ISBN 7-115-10541-3.
</para>
</listitem>
<listitem>
<para>FreeBSD 3.x Internet (in Chinese), published by
<ulink url="http://www.tup.tsinghua.edu.cn/">Tsinghua
University Press</ulink>. ISBN 7-900625-66-6.</para>
</listitem>
<listitem>
<para>FreeBSD &amp; Windows (in Chinese), ISBN 7-113-03845-X</para>
</listitem>
<listitem>
<para>FreeBSD Internet Services HOWTO (in Chinese), ISBN 7-113-03423-3</para>
</listitem>
<listitem>
<para>FreeBSD for PC 98'ers (in Japanese), published by SHUWA System
Co, LTD. ISBN 4-87966-468-5 C3055 P2900E.</para>
</listitem>
<listitem>
<para>FreeBSD (in Japanese), published by CUTT. ISBN 4-906391-22-2
C3055 P2400E.</para>
</listitem>
<listitem>
<para><ulink
url="http://www.shoeisha.com/book/Detail.asp?bid=650">Complete Introduction to FreeBSD</ulink> (in Japanese), published by <ulink url="http://www.shoeisha.co.jp/">Shoeisha Co., Ltd</ulink>. ISBN 4-88135-473-6 P3600E.</para>
</listitem>
<listitem>
<para><ulink
url="http://www.ascii.co.jp/pb/book1/shinkan/detail/1322785.html">Personal UNIX Starter Kit FreeBSD</ulink> (in Japanese), published by <ulink url="http://www.ascii.co.jp/">ASCII</ulink>. ISBN 4-7561-1733-3 P3000E.</para>
</listitem>
<listitem>
<para>FreeBSD Handbook (Japanese translation), published by <ulink
url="http://www.ascii.co.jp/">ASCII</ulink>. ISBN 4-7561-1580-2
P3800E.</para>
</listitem>
<listitem>
<para>FreeBSD mit Methode (in German), published by <ulink url="http://www.cul.de">Computer und
Literatur Verlag</ulink>/Vertrieb Hanser, 1998. ISBN 3-932311-31-0.</para>
</listitem>
<listitem>
<para><ulink
url="http://www.cul.de/freebsd.html">FreeBSD 4 - Installieren, Konfigurieren, Administrieren</ulink>
(in German), published by <ulink url="http://www.cul.de">Computer und Literatur Verlag</ulink>, 2001.
ISBN 3-932311-88-4.</para>
</listitem>
<listitem>
<para><ulink
url="http://www.cul.de/freebsd.html">FreeBSD 5 - Installieren, Konfigurieren, Administrieren</ulink>
(in German), published by <ulink url="http://www.cul.de">Computer und Literatur Verlag</ulink>, 2003.
ISBN 3-936546-06-1.</para>
</listitem>
<listitem>
<para><ulink url="http://www.mitp.de/vmi/mitp/detail/pWert/1343/">
FreeBSD de Luxe</ulink> (in German), published by
<ulink url="http://www.mitp.de">Verlag Modere Industrie</ulink>,
2003. ISBN 3-8266-1343-0.
</para>
</listitem>
<listitem>
<para><ulink
url="http://www.pc.mycom.co.jp/FreeBSD/install-manual.html">FreeBSD Install and Utilization Manual</ulink> (in Japanese), published by <ulink url="http://www.pc.mycom.co.jp/">Mainichi Communications Inc.</ulink>.</para>
</listitem>
<listitem>
<para>Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo
<emphasis><ulink url="http://maxwell.itb.ac.id/">
Building Internet Server with
FreeBSD</ulink></emphasis> (in Indonesia Language), published
by <ulink url="http://www.elexmedia.co.id/">Elex Media Komputindo</ulink>.</para>
</listitem>
</itemizedlist>
<para><emphasis>English language books &amp; Magazines:</emphasis></para>
<itemizedlist>
<listitem>
<para><ulink url="http://www.AbsoluteBSD.com/">Absolute
BSD: The Ultimate Guide to FreeBSD</ulink>, published by
<ulink url="http://www.nostarch.com/">No Starch Press</ulink>, 2002.
ISBN: 1886411743</para>
</listitem>
<listitem>
<para><ulink
url="http://www.freebsdmall.com/cgi-bin/fm/bsdcomp">
The Complete FreeBSD</ulink>, published by
<ulink url="http://www.oreilly.com/">O'Reilly</ulink>, 2003.
ISBN: 0596005164</para>
</listitem>
<listitem>
<para><ulink url="http://www.freebsd-corp-net-guide.com/">The
FreeBSD Corporate Networker's Guide</ulink>, published by
<ulink url="http://www.awl.com/aw/">Addison-Wesley</ulink>, 2000.
ISBN: 0201704811</para>
</listitem>
<listitem>
<para><ulink url="http://andrsn.stanford.edu/FreeBSD/introbook/">
FreeBSD: An Open-Source Operating System for Your Personal
Computer</ulink>, published by The Bit Tree Press, 2001.
ISBN: 0971204500</para>
</listitem>
<listitem>
<para>Teach Yourself FreeBSD in 24 Hours, published by
<ulink url="http://www.samspublishing.com/">Sams</ulink>, 2002.
ISBN: 0672324245</para>
</listitem>
<listitem>
<para>FreeBSD unleashed, published by
<ulink url="http://www.samspublishing.com/">Sams</ulink>, 2002.
ISBN: 0672324563</para>
</listitem>
<listitem>
<para>FreeBSD: The Complete Reference, published by
<ulink url="http://books.mcgraw-hill.com">McGrawHill</ulink>, 2003.
ISBN: 0072224096 </para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="bibliography-userguides">
<title>Users' Guides</title>
<itemizedlist>
<listitem>
<para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
User's Reference Manual</emphasis>. O'Reilly &amp; Associates,
Inc., 1994. ISBN 1-56592-075-9</para>
</listitem>
<listitem>
<para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
User's Supplementary Documents</emphasis>. O'Reilly &amp;
Associates, Inc., 1994. ISBN 1-56592-076-7</para>
</listitem>
<listitem>
<para><emphasis>UNIX in a Nutshell</emphasis>. O'Reilly &amp;
Associates, Inc., 1990. ISBN 093717520X</para>
</listitem>
<listitem>
<para>Mui, Linda. <emphasis>What You Need To Know When You Can't Find
Your UNIX System Administrator</emphasis>. O'Reilly &amp;
Associates, Inc., 1995. ISBN 1-56592-104-6</para>
</listitem>
<listitem>
<para><ulink url="http://www-wks.acs.ohio-state.edu/">Ohio State
University</ulink> has written a <ulink
url="http://www-wks.acs.ohio-state.edu/unix_course/unix.html">UNIX
Introductory Course</ulink> which is available online in HTML and
PostScript format.</para>
<para>An Italian <ulink
url="&url.doc.base;/it_IT.ISO8859-15/books/unix-introduction/index.html">translation</ulink>
of this document is available as part of the FreeBSD Italian
Documentation Project.</para>
</listitem>
<listitem>
<para><ulink url="http://www.jp.FreeBSD.org/">Jpman Project, Japan
FreeBSD Users Group</ulink>. <ulink
url="http://www.pc.mycom.co.jp/FreeBSD/urm.html">FreeBSD User's
Reference Manual</ulink> (Japanese translation). <ulink
url="http://www.pc.mycom.co.jp/">Mainichi Communications
Inc.</ulink>, 1998. ISBN4-8399-0088-4 P3800E.</para>
</listitem>
<listitem>
<para><ulink url="http://www.ed.ac.uk/">Edinburgh
University</ulink> has written an <ulink
url="http://unixhelp.ed.ac.uk/">Online Guide</ulink> for
newcomers to the UNIX environment.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="bibliography-adminguides">
<title>Administrators' Guides</title>
<itemizedlist>
<listitem>
<para>Albitz, Paul and Liu, Cricket. <emphasis>DNS and
BIND</emphasis>, 4th Ed. O'Reilly &amp; Associates, Inc., 2001.
ISBN 1-59600-158-4</para>
</listitem>
<listitem>
<para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
System Manager's Manual</emphasis>. O'Reilly &amp; Associates,
Inc., 1994. ISBN 1-56592-080-5</para>
</listitem>
<listitem>
<para>Costales, Brian, et al. <emphasis>Sendmail</emphasis>, 2nd Ed.
O'Reilly &amp; Associates, Inc., 1997. ISBN 1-56592-222-0</para>
</listitem>
<listitem>
<para>Frisch, &AElig;leen. <emphasis>Essential System
Administration</emphasis>, 2nd Ed. O'Reilly &amp; Associates,
Inc., 1995. ISBN 1-56592-127-5</para>
</listitem>
<listitem>
<para>Hunt, Craig. <emphasis>TCP/IP Network
Administration</emphasis>, 2nd Ed. O'Reilly &amp; Associates, Inc., 1997.
ISBN 1-56592-322-7</para>
</listitem>
<listitem>
<para>Nemeth, Evi. <emphasis>UNIX System Administration
Handbook</emphasis>. 3rd Ed. Prentice Hall, 2000. ISBN
0-13-020601-6</para>
</listitem>
<listitem>
<para>Stern, Hal <emphasis>Managing NFS and NIS</emphasis> O'Reilly
&amp; Associates, Inc., 1991. ISBN 0-937175-75-7</para>
</listitem>
<listitem>
<para><ulink url="http://www.jp.FreeBSD.org/">Jpman Project, Japan
FreeBSD Users Group</ulink>. <ulink
url="http://www.pc.mycom.co.jp/FreeBSD/sam.html">FreeBSD System
Administrator's Manual</ulink> (Japanese translation). <ulink
url="http://www.pc.mycom.co.jp/">Mainichi Communications
Inc.</ulink>, 1998. ISBN4-8399-0109-0 P3300E.</para>
</listitem>
<listitem>
<para>Dreyfus, Emmanuel. <ulink
url="http://www.eyrolles.com/Informatique/Livre/9782212114638/">Cahiers
de l'Admin: BSD</ulink> 2nd Ed. (in French), Eyrolles, 2004.
ISBN 2-212-11463-X</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="bibliography-programmers">
<title>Programmers' Guides</title>
<itemizedlist>
<listitem>
<para>Asente, Paul, Converse, Diana, and Swick, Ralph.
<emphasis>X Window System Toolkit</emphasis>. Digital Press,
1998. ISBN 1-55558-178-1</para>
</listitem>
<listitem>
<para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
Programmer's Reference Manual</emphasis>. O'Reilly &amp;
Associates, Inc., 1994. ISBN 1-56592-078-3</para>
</listitem>
<listitem>
<para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
Programmer's Supplementary Documents</emphasis>. O'Reilly &amp;
Associates, Inc., 1994. ISBN 1-56592-079-1</para>
</listitem>
<listitem>
<para>Harbison, Samuel P. and Steele, Guy L. Jr. <emphasis>C: A
Reference Manual</emphasis>. 4th ed. Prentice Hall, 1995.
ISBN 0-13-326224-3</para>
</listitem>
<listitem>
<para>Kernighan, Brian and Dennis M. Ritchie. <emphasis>The C
Programming Language</emphasis>. 2nd Ed. PTR Prentice Hall, 1988.
ISBN 0-13-110362-8</para>
</listitem>
<listitem>
<para>Lehey, Greg. <emphasis>Porting UNIX Software</emphasis>.
O'Reilly &amp; Associates, Inc., 1995. ISBN 1-56592-126-7</para>
</listitem>
<listitem>
<para>Plauger, P. J. <emphasis>The Standard C Library</emphasis>.
Prentice Hall, 1992. ISBN 0-13-131509-9</para>
</listitem>
<listitem>
<para>Spinellis, Diomidis. <ulink
url="http://www.spinellis.gr/codereading/"><emphasis>Code
Reading: The Open Source Perspective</emphasis></ulink>.
Addison-Wesley, 2003. ISBN 0-201-79940-5</para>
</listitem>
<listitem>
<para>Spinellis, Diomidis. <ulink
url="http://www.spinellis.gr/codequality/"><emphasis>Code
Quality: The Open Source Perspective</emphasis></ulink>.
Addison-Wesley, 2006. ISBN 0-321-16607-8</para>
</listitem>
<listitem>
<para>Stevens, W. Richard and Stephen A. Rago.
<emphasis>Advanced Programming in the UNIX
Environment</emphasis>. 2nd Ed.
Reading, Mass. : Addison-Wesley, 2005.
ISBN 0-201-43307-9</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. <quote>Writing Serial Drivers for UNIX</quote>.
<emphasis>Dr. Dobb's Journal</emphasis>. 19(15), December 1994.
pp68-71, 97-99.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="bibliography-osinternals">
<title>Operating System Internals</title>
<itemizedlist>
<listitem>
<para>Andleigh, Prabhat K. <emphasis>UNIX System
Architecture</emphasis>. Prentice-Hall, Inc., 1990. ISBN
0-13-949843-5</para>
</listitem>
<listitem>
<para>Jolitz, William. <quote>Porting UNIX to the 386</quote>.
<emphasis>Dr. Dobb's Journal</emphasis>. January 1991-July
1992.</para>
</listitem>
<listitem>
<para>Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels and
John Quarterman <emphasis>The Design and Implementation of the
4.3BSD UNIX Operating System</emphasis>. Reading, Mass. :
Addison-Wesley, 1989. ISBN 0-201-06196-1</para>
</listitem>
<listitem>
<para>Leffler, Samuel J., Marshall Kirk McKusick, <emphasis>The Design
and Implementation of the 4.3BSD UNIX Operating System: Answer
Book</emphasis>. Reading, Mass. : Addison-Wesley, 1991. ISBN
0-201-54629-9</para>
</listitem>
<listitem>
<para>McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and
John Quarterman. <emphasis>The Design and Implementation of the
4.4BSD Operating System</emphasis>. Reading, Mass. :
Addison-Wesley, 1996. ISBN 0-201-54979-4</para>
<para>(Chapter 2 of this book is available <ulink
url="&url.books.design-44bsd;/book.html">online</ulink> as part of
the FreeBSD Documentation Project, and chapter 9 <ulink
url="http://www.netapp.com/tech_library/nfsbook.html">
here</ulink>.)</para>
</listitem>
<listitem>
<para>Marshall Kirk McKusick, George V. Neville-Neil <emphasis>The Design
and Implementation of the FreeBSD Operating System</emphasis>.
Boston, Mass. : Addison-Wesley, 2004. ISBN 0-201-70245-2</para>
</listitem>
<listitem>
<para>Stevens, W. Richard. <emphasis>TCP/IP Illustrated, Volume 1:
The Protocols</emphasis>. Reading, Mass. : Addison-Wesley,
1996. 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
Protocols</emphasis>. Reading, Mass. : Addison-Wesley, 1996.
ISBN 0-201-63495-3</para>
</listitem>
<listitem>
<para>Vahalia, Uresh. <emphasis>UNIX Internals -- The New
Frontiers</emphasis>. Prentice Hall, 1996. ISBN
0-13-101908-2</para>
</listitem>
<listitem>
<para>Wright, Gary R. and W. Richard Stevens. <emphasis>TCP/IP
Illustrated, Volume 2: The Implementation</emphasis>. Reading,
Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-X</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="bibliography-security">
<title>Security Reference</title>
<itemizedlist>
<listitem>
<para>Cheswick, William R. and Steven M. Bellovin. <emphasis>Firewalls
and Internet Security: Repelling the Wily Hacker</emphasis>.
Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-63357-4</para>
</listitem>
<listitem>
<para>Garfinkel, Simson and Gene Spafford.
<emphasis>Practical UNIX &amp; Internet Security</emphasis>.
2nd Ed. O'Reilly &amp; Associates, Inc., 1996. ISBN
1-56592-148-8</para>
</listitem>
<listitem>
<para>Garfinkel, Simson. <emphasis>PGP Pretty Good
Privacy</emphasis> O'Reilly &amp; Associates, Inc., 1995. ISBN
1-56592-098-8</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="bibliography-hardware">
<title>Hardware Reference</title>
<itemizedlist>
<listitem>
<para>Anderson, Don and Tom Shanley. <emphasis>Pentium Processor
System Architecture</emphasis>. 2nd Ed. Reading, Mass. :
Addison-Wesley, 1995. ISBN 0-201-40992-5</para>
</listitem>
<listitem>
<para>Ferraro, Richard F. <emphasis>Programmer's Guide to the EGA,
VGA, and Super VGA Cards</emphasis>. 3rd ed. Reading, Mass. :
Addison-Wesley, 1995. 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. : Addison-Wesley, 1995. ISBN
0-201-40994-1</para>
</listitem>
<listitem>
<para>Shanley, Tom. <emphasis>ISA System Architecture</emphasis>.
3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-40996-8</para>
</listitem>
<listitem>
<para>Shanley, Tom. <emphasis>PCI System Architecture</emphasis>.
4th ed. Reading, Mass. : Addison-Wesley, 1999. ISBN
0-201-30974-2</para>
</listitem>
<listitem>
<para>Van Gilluwe, Frank. <emphasis>The Undocumented PC</emphasis>, 2nd Ed.
Reading, Mass: Addison-Wesley Pub. Co., 1996. ISBN
0-201-47950-8</para>
</listitem>
<listitem>
<para>Messmer, Hans-Peter. <emphasis>The Indispensable PC Hardware Book</emphasis>, 4th Ed.
Reading, Mass: Addison-Wesley Pub. Co., 2002. ISBN
0-201-59616-4</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="bibliography-history">
<title>&unix; History</title>
<itemizedlist>
<listitem>
<para>Lion, John <emphasis>Lion's Commentary on UNIX, 6th Ed. With
Source Code</emphasis>. ITP Media Group, 1996. ISBN
1573980137</para>
</listitem>
<listitem>
<para>Raymond, Eric S. <emphasis>The New Hacker's Dictionary, 3rd
edition</emphasis>. MIT Press, 1996. ISBN
0-262-68092-0. Also known as the <ulink
url="http://www.catb.org/~esr/jargon/html/index.html">Jargon
File</ulink></para>
</listitem>
<listitem>
<para>Salus, Peter H. <emphasis>A quarter century of UNIX</emphasis>.
Addison-Wesley Publishing Company, Inc., 1994. ISBN
0-201-54777-5</para>
</listitem>
<listitem>
<para>Simon Garfinkel, Daniel Weise, Steven Strassmann. <emphasis>The
UNIX-HATERS Handbook</emphasis>. IDG Books Worldwide, Inc.,
1994. ISBN 1-56884-203-1. Out of print, but available <ulink
url="http://research.microsoft.com/~daniel/unix-haters.html">
online</ulink>.</para>
</listitem>
<listitem>
<para>Don Libes, Sandy Ressler <emphasis>Life with UNIX</emphasis>
&mdash; special edition. Prentice-Hall, Inc., 1989. ISBN
0-13-536657-7</para>
</listitem>
<listitem>
<para><emphasis>The BSD family tree</emphasis>.
<ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi/src/share/misc/bsd-family-tree"></ulink>
or <ulink type="html" url="file://localhost/usr/share/misc/bsd-family-tree"><filename>/usr/share/misc/bsd-family-tree</filename></ulink>
on a FreeBSD machine.</para>
</listitem>
<listitem>
<para><emphasis>The BSD Release Announcements collection</emphasis>.
1997. <ulink url="http://www.de.FreeBSD.org/de/ftp/releases/"></ulink></para>
</listitem>
<listitem>
<para><emphasis>Networked Computer Science Technical Reports
Library</emphasis>. <ulink url="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/"></ulink>:
The 4CD set covers all BSD versions from 1BSD to 4.4BSD and
4.4BSD-Lite2 (but not 2.11BSD, unfortunately). The last
disk also holds the final sources plus the SCCS files.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="bibliography-journals">
<title>Magazines and Journals</title>
<itemizedlist>
<listitem>
<para><emphasis>The C/C++ Users Journal</emphasis>. R&amp;D
Publications Inc. ISSN 1075-2838</para>
</listitem>
<listitem>
<para><emphasis>Sys Admin &mdash; The Journal for UNIX System
Administrators</emphasis> Miller Freeman, Inc., ISSN
1061-2688</para>
</listitem>
<listitem>
<para><emphasis>freeX &mdash; Das Magazin f&uuml;r Linux - BSD - UNIX</emphasis>
(in German) Computer- und Literaturverlag GmbH, ISSN 1436-7033</para>
</listitem>
</itemizedlist>
</sect1>
</appendix>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../appendix.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "appendix")
End:
-->

View file

@ -0,0 +1,343 @@
<!--
The FreeBSD Polish Documentation Project
$FreeBSD$
Original revision: 1.166
-->
<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % books.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Books Entity Set//EN">
%books.ent;
<!ENTITY % chapters SYSTEM "chapters.ent">
%chapters;
<!ENTITY % txtfiles SYSTEM "txtfiles.ent">
%txtfiles;
<!ENTITY % not.published "INCLUDE">
<!ENTITY % chap.introduction "IGNORE">
<!ENTITY % chap.install "IGNORE">
<!ENTITY % chap.basics "IGNORE">
<!ENTITY % chap.ports "IGNORE">
<!ENTITY % chap.config "IGNORE">
<!ENTITY % chap.boot "IGNORE">
<!ENTITY % chap.users "IGNORE">
<!ENTITY % chap.kernelconfig "IGNORE">
<!ENTITY % chap.security "IGNORE">
<!ENTITY % chap.printing "IGNORE">
<!ENTITY % chap.disks "IGNORE">
<!ENTITY % chap.geom "IGNORE">
<!ENTITY % chap.vinum "IGNORE">
<!ENTITY % chap.x11 "IGNORE">
<!ENTITY % chap.l10n "IGNORE">
<!ENTITY % chap.multimedia "IGNORE">
<!ENTITY % chap.desktop "IGNORE">
<!ENTITY % chap.serialcomms "IGNORE">
<!ENTITY % chap.ppp-and-slip "IGNORE">
<!ENTITY % chap.advanced-networking "IGNORE">
<!ENTITY % chap.firewalls "IGNORE">
<!ENTITY % chap.network-servers "IGNORE">
<!ENTITY % chap.mail "IGNORE">
<!ENTITY % chap.cutting-edge "IGNORE">
<!ENTITY % chap.linuxemu "IGNORE">
<!ENTITY % chap.mirrors "IGNORE">
<!ENTITY % chap.bibliography "IGNORE">
<!ENTITY % chap.eresources "IGNORE">
<!ENTITY % chap.pgpkeys "IGNORE">
<!ENTITY % chap.index "IGNORE">
<!ENTITY % chap.freebsd-glossary "IGNORE">
<!ENTITY % chap.mac "IGNORE">
<!ENTITY % chap.audit "IGNORE">
<!ENTITY % pgpkeys SYSTEM "../../../share/pgpkeys/pgpkeys.ent"> %pgpkeys;
]>
<book lang="pl">
<bookinfo>
<title>Podrêcznik FreeBSD</title>
<corpauthor>Projekt Dokumentacji FreeBSD</corpauthor>
<pubdate>Luty 1999</pubdate>
<copyright>
<year>1995</year>
<year>1996</year>
<year>1997</year>
<year>1998</year>
<year>1999</year>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<year>2004</year>
<year>2005</year>
<year>2006</year>
<holder>Projekt Dokumentacji FreeBSD</holder>
</copyright>
&bookinfo.legalnotice;
<legalnotice id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.3com;
&tm-attrib.3ware;
&tm-attrib.arm;
&tm-attrib.adaptec;
&tm-attrib.adobe;
&tm-attrib.apple;
&tm-attrib.corel;
&tm-attrib.creative;
&tm-attrib.cvsup;
&tm-attrib.heidelberger;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.intuit;
&tm-attrib.linux;
&tm-attrib.lsilogic;
&tm-attrib.m-systems;
&tm-attrib.macromedia;
&tm-attrib.microsoft;
&tm-attrib.netscape;
&tm-attrib.nexthop;
&tm-attrib.opengroup;
&tm-attrib.oracle;
&tm-attrib.powerquest;
&tm-attrib.realnetworks;
&tm-attrib.redhat;
&tm-attrib.sap;
&tm-attrib.sun;
&tm-attrib.symantec;
&tm-attrib.themathworks;
&tm-attrib.thomson;
&tm-attrib.usrobotics;
&tm-attrib.vmware;
&tm-attrib.waterloomaple;
&tm-attrib.wolframresearch;
&tm-attrib.xfree86;
&tm-attrib.xiph;
&tm-attrib.general;
</legalnotice>
<abstract>
<para>Witamy w ¶wiecie FreeBSD! Zadaniem niniejszego podrêcznika jest
opisanie procesu instalacji i czynno¶ci zwi±zanych z codziennym
u¿ytkowaniem systemu FreeBSD w wersji <emphasis>&rel2.current;-RELEASE</emphasis>
oraz <emphasis>&rel.current;-RELEASE</emphasis>. Prace nad tym podrêcznikiem
trwaj± <emphasis>ca³y czas</emphasis>. Stanowi on dzie³o wielu osób z
ca³ego ¶wiata. Tym nie mniej mamy ¶wiadomo¶æ, i¿ wiele rozdzia³ów wci±¿
nie zosta³o napisanych, a niektóre spo¶ród istniej±cych wymagaj± aktualizacji.
Je¶li jeste¶ zainteresowany pomoc± w rozwoju projektu wy¶lij email na adres
&a.pl.doc.d;. Najnowsza wersja anglojêzyczna niniejszego dokumentu jest
zawsze dostêpna na <ulink
url="http://www.FreeBSD.org/">stronie domowej FreeBSD</ulink>
(wersje wcze¶niejsze dostêpne s± pod adresem <ulink
url="http://docs.FreeBSD.org/doc/"></ulink>). Podrêcznik dostêpny jest
równie¿ w innych formatach dokumentów oraz w postaci skompresowanej z <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">serwera FTP Projektu
FreeBSD</ulink> b±d¼ jednego z wielu <link
linkend="mirrors-ftp">serwerów lustrzanych</link>. Dla osób zainteresowanych,
drukowan± wersjê podrêcznika (jêzyk ang.) mo¿na nabyæ wprost z witryny <ulink
url="http://www.freebsdmall.com/">FreeBSD Mall</ulink>. Dostêpne jest
równie¿ <ulink
url="&url.base;/search/index.html">przeszukiwanie podrêcznika</ulink>.</para>
</abstract>
</bookinfo>
&chap.preface;
<part id="getting-started">
<title>Pierwsze kroki</title>
<partintro>
<para>Ta czê¶æ Podrêcznika FreeBSD adresowana jest do u¿ytkowników i
administratorów, który nie mieli dotychczas kontaktu z systemem FreeBSD.
Niniejsze rozdzia³y maj± za zadanie:</para>
<itemizedlist>
<listitem>
<para>Zaprezentowaæ system FreeBSD.</para>
</listitem>
<listitem>
<para>Przeprowadziæ przez proces instalacji.</para>
</listitem>
<listitem>
<para>Nauczyæ podstaw systemu &unix;.</para>
</listitem>
<listitem>
<para>Pokazaæ jak zainstalowaæ programy innych autorów, dostêpne w ogromnej
ilo¶ci dla systemu FreeBSD.</para>
</listitem>
<listitem>
<para>Przedstawiæ system X - system okien &unix;, oraz szczegó³owo wyja¶niæ
jak prawid³owo skonfigurowaæ ¶rodowisko graficzne, tak by zwiêkszyæ
efektywno¶æ swej pracy.</para>
</listitem>
</itemizedlist>
<para>Starali¶my siê sprowadziæ liczbê odno¶ników wewn±trz tekstu do mo¿liwie
najmniejszej, tak by zminimalizowaæ ilo¶æ <quote>przeskoków</quote> i u³atwiæ
czytanie Podrêcznika od deski do deski.</para>
</partintro>
<![ %chap.introduction; [ &chap.introduction; ]]>
<![ %chap.install; [ &chap.install; ]]>
<![ %chap.basics; [ &chap.basics; ]]>
<![ %chap.ports; [ &chap.ports; ]]>
<![ %chap.x11; [ &chap.x11; ]]>
</part>
<part id="common-tasks">
<title>Codzienne czynno¶ci</title>
<partintro>
<para>Now that the basics have been covered, this part of the
FreeBSD Handbook will discuss some frequently used features of
FreeBSD. These chapters:</para>
<itemizedlist>
<listitem>
<para>Introduce you to popular and useful desktop
applications: browsers, productivity tools, document
viewers, etc.</para>
</listitem>
<listitem>
<para>Introduce you to a number of multimedia tools
available for FreeBSD.</para>
</listitem>
<listitem>
<para>Explain the process of building a customized FreeBSD
kernel, to enable extra functionality on your system.</para>
</listitem>
<listitem>
<para>Describe the print system in detail, both for desktop
and network-connected printer setups.</para>
</listitem>
<listitem>
<para>Show you how to run Linux applications on your FreeBSD
system.</para>
</listitem>
</itemizedlist>
<para>Some of these chapters recommend that you do some prior
reading, and this is noted in the synopsis at the beginning of
each chapter.</para>
</partintro>
<![ %chap.desktop; [ &chap.desktop; ]]>
<![ %chap.multimedia; [ &chap.multimedia; ]]>
<![ %chap.kernelconfig; [ &chap.kernelconfig; ]]>
<![ %chap.printing; [ &chap.printing; ]]>
<![ %chap.linuxemu; [ &chap.linuxemu; ]]>
</part>
<part id="system-administration">
<title>Administracja systemem</title>
<partintro>
<para>The remaining chapters of the FreeBSD Handbook cover all
aspects of FreeBSD system administration. Each chapter
starts by describing what you will learn as a result of reading
the chapter, and also details what you are expected to know
before tackling the material.</para>
<para>These chapters are designed to be read when
you need the information. You do not have to read them in any
particular order, nor do you need to read all of them before you
can begin using FreeBSD.</para>
</partintro>
<![ %chap.config; [ &chap.config; ]]>
<![ %chap.boot; [ &chap.boot; ]]>
<![ %chap.users; [ &chap.users; ]]>
<![ %chap.security; [ &chap.security; ]]>
<![ %chap.mac; [ &chap.mac; ]]>
<![ %chap.audit; [ &chap.audit; ]]>
<![ %chap.disks; [ &chap.disks; ]]>
<![ %chap.geom; [ &chap.geom; ]]>
<![ %chap.vinum; [ &chap.vinum; ]]>
<![ %chap.l10n; [ &chap.l10n; ]]>
<![ %chap.cutting-edge; [ &chap.cutting-edge; ]]>
</part>
<part id="network-communication">
<title>Komunikacja sieciowa</title>
<partintro>
<para>FreeBSD is one of the most widely deployed operating
systems for high performance network servers. The chapters in
this part cover:</para>
<itemizedlist>
<listitem>
<para>Serial communication</para>
</listitem>
<listitem>
<para>PPP and PPP over Ethernet</para>
</listitem>
<listitem>
<para>Electronic Mail</para>
</listitem>
<listitem>
<para>Running Network Servers</para>
</listitem>
<listitem>
<para>Firewalls</para>
</listitem>
<listitem>
<para>Other Advanced Networking Topics</para>
</listitem>
</itemizedlist>
<para>These chapters are designed to be read when
you need the information. You do not have to read them in any
particular order, nor do you need to read all of them before you
can begin using FreeBSD in a network environment.</para>
</partintro>
<![ %chap.serialcomms; [ &chap.serialcomms; ]]>
<![ %chap.ppp-and-slip; [ &chap.ppp-and-slip; ]]>
<![ %chap.mail; [ &chap.mail; ]]>
<![ %chap.network-servers; [ &chap.network-servers; ]]>
<![ %chap.firewalls; [ &chap.firewalls; ]]>
<![ %chap.advanced-networking; [ &chap.advanced-networking; ]]>
</part>
<part id="appendices">
<title>Dodatki</title>
<![ %chap.mirrors; [ &chap.mirrors; ]]>
<![ %chap.bibliography; [ &chap.bibliography; ]]>
<![ %chap.eresources; [ &chap.eresources; ]]>
<![ %chap.pgpkeys; [ &chap.pgpkeys; ]]>
</part>
<![ %chap.freebsd-glossary; [ &bookinfo.freebsd-glossary; ]]>
<![ %chap.index; [ &chap.index; ]]>
&chap.colophon;
</book>
<!--
Local Variables:
mode: sgml
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
End:
-->

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= boot/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

View file

@ -0,0 +1,820 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="boot">
<title>The FreeBSD Booting Process</title>
<sect1 id="boot-synopsis">
<title>Synopsis</title>
<indexterm><primary>booting</primary></indexterm>
<indexterm><primary>bootstrap</primary></indexterm>
<para>The process of starting a computer and loading the operating system
is referred to as <quote>the bootstrap process</quote>, or simply
<quote>booting</quote>. FreeBSD's boot process provides a great deal of
flexibility in customizing what happens when you start the system,
allowing you to select from different operating systems installed on the
same computer, or even different versions of the same operating system
or installed kernel.</para>
<para>This chapter details the configuration options you can set and how
to customize the FreeBSD boot process. This includes everything that
happens until the FreeBSD kernel has started, probed for devices, and
started &man.init.8;. If you are not quite sure when this happens, it
occurs when the text color changes from bright white to grey.</para>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem>
<para>What the components of the FreeBSD bootstrap system are, and how
they interact.</para>
</listitem>
<listitem>
<para>The options you can give to the components in the FreeBSD
bootstrap to control the boot process.</para>
</listitem>
<listitem>
<para>The basics of &man.device.hints.5;.</para>
</listitem>
</itemizedlist>
<note>
<title>x86 Only</title>
<para>This chapter only describes the boot process for FreeBSD running
on Intel x86 systems.</para>
</note>
</sect1>
<sect1 id="boot-introduction">
<title>The Booting Problem</title>
<para>Turning on a computer and starting the operating system poses an
interesting dilemma. By definition, the computer does not know how to
do anything until the operating system is started. This includes
running programs from the disk. So if the computer can not run a
program from the disk without the operating system, and the operating
system programs are on the disk, how is the operating system
started?</para>
<para>This problem parallels one in the book <citetitle>The Adventures of
Baron Munchausen</citetitle>. A character had fallen part way down a
manhole, and pulled himself out by grabbing his bootstraps, and
lifting. In the early days of computing the term
<firstterm>bootstrap</firstterm> was applied to the mechanism used to
load the operating system, which has become shortened to
<quote>booting</quote>.</para>
<indexterm><primary>BIOS</primary></indexterm>
<indexterm><primary>Basic Input/Output System</primary><see>BIOS</see></indexterm>
<para>On x86 hardware the Basic Input/Output System (BIOS) is responsible
for loading the operating system. To do this, the BIOS looks on the
hard disk for the Master Boot Record (MBR), which must be located on a
specific place on the disk. The BIOS has enough knowledge to load and
run the MBR, and assumes that the MBR can then carry out the rest of the
tasks involved in loading the operating system,
possibly with the help of the BIOS.</para>
<indexterm><primary>Master Boot Record (MBR)</primary></indexterm>
<indexterm><primary>Boot Manager</primary></indexterm>
<indexterm><primary>Boot Loader</primary></indexterm>
<para>The code within the MBR is usually referred to as a <emphasis>boot
manager</emphasis>, especially when it interacts with the user. In this case
the boot manager usually has more code in the first
<emphasis>track</emphasis> of the disk or within some OS's file system. (A
boot manager is sometimes also called a <emphasis>boot loader</emphasis>,
but FreeBSD uses that term for a later stage of booting.) Popular boot
managers include <application>boot0</application> (a.k.a. <application>Boot
Easy</application>, the standard &os; boot manager),
<application>Grub</application>, <application>GAG</application>, and
<application>LILO</application>.
(Only <application>boot0</application> fits within the MBR.)</para>
<para>If you have only one operating system installed on your disks then
a standard PC MBR will suffice. This MBR searches for the first bootable
(a.k.a. active) slice on the disk, and then runs the code on that slice to
load the remainder of the operating system. The MBR installed by
&man.fdisk.8;, by default, is such an MBR. It is based on
<filename>/boot/mbr</filename>.</para>
<para>If you have installed multiple operating systems on your disks then
you can install a different boot manager, one that can display a list of
different operating systems, and allows you to choose the one to boot
from. Two of these are discussed in the next subsection.</para>
<para>The remainder of the FreeBSD bootstrap system is divided into three
stages. The first stage is run by the MBR, which knows just enough to
get the computer into a specific state and run the second stage. The
second stage can do a little bit more, before running the third stage.
The third stage finishes the task of loading the operating system. The
work is split into these three stages because the PC standards put
limits on the size of the programs that can be run at stages one and
two. Chaining the tasks together allows FreeBSD to provide a more
flexible loader.</para>
<indexterm><primary>kernel</primary></indexterm>
<indexterm><primary><command>init</command></primary></indexterm>
<para>The kernel is then started and it begins to probe for devices
and initialize them for use. Once the kernel boot
process is finished, the kernel passes control to the user process
&man.init.8;, which then makes sure the disks are in a usable state.
&man.init.8; then starts the user-level resource configuration which
mounts file systems, sets up network cards to communicate on the
network, and generally starts all the processes that usually
are run on a FreeBSD system at startup.</para>
</sect1>
<sect1 id="boot-blocks">
<title>The Boot Manager and Boot Stages</title>
<indexterm><primary>Boot Manager</primary></indexterm>
<sect2 id="boot-boot0">
<title>The Boot Manager</title>
<indexterm><primary>Master Boot Record (MBR)</primary></indexterm>
<para>The code in the MBR or boot manager is sometimes referred to as
<emphasis>stage zero</emphasis> of the boot process. This subsection
discusses two of the boot managers previously mentioned:
<application>boot0</application> and <application>LILO</application>.</para>
<formalpara><title>The <application>boot0</application> Boot Manager:</title>
<para>The MBR installed by FreeBSD's installer or &man.boot0cfg.8;, by
default, is based on <filename>/boot/boot0</filename>.
(The <application>boot0</application> program is very simple, since the
program in the <abbrev>MBR</abbrev> can only be 446 bytes long because of the slice
table and <literal>0x55AA</literal> identifier at the end of the MBR.)
If you have installed <application>boot0</application> and
multiple operating systems on your hard disks, then you will see a
display similar to this one at boot time:</para></formalpara>
<example id="boot-boot0-example">
<title><filename>boot0</filename> Screenshot</title>
<screen>F1 DOS
F2 FreeBSD
F3 Linux
F4 ??
F5 Drive 1
Default: F2</screen>
</example>
<para>Other operating systems, in particular &windows;, have been known
to overwrite an existing MBR with their own. If this happens to you,
or you want to replace your existing MBR with the FreeBSD MBR then use
the following command:</para>
<screen>&prompt.root; <userinput>fdisk -B -b /boot/boot0 <replaceable>device</replaceable></userinput></screen>
<para>where <replaceable>device</replaceable> is the device that you
boot from, such as <devicename>ad0</devicename> for the first IDE
disk, <devicename>ad2</devicename> for the first IDE disk on a second
IDE controller, <devicename>da0</devicename> for the first SCSI disk,
and so on. Or, if you want a custom configuration of the MBR,
use &man.boot0cfg.8;.</para>
<formalpara><title>The LILO Boot Manager:</title>
<para>To install this boot manager so it will also boot FreeBSD, first
start Linux and add the following to your existing
<filename>/etc/lilo.conf</filename> configuration file:</para></formalpara>
<programlisting>other=/dev/hdXY
table=/dev/hdX
loader=/boot/chain.b
label=FreeBSD</programlisting>
<para>In the above, specify FreeBSD's primary partition and drive using
Linux specifiers, replacing <replaceable>X</replaceable> with the Linux
drive letter and <replaceable>Y</replaceable> with the Linux primary
partition number. If you are using a <acronym>SCSI</acronym> drive, you
will need to change <replaceable>/dev/hd</replaceable> to read something
similar to <replaceable>/dev/sd</replaceable>. The
<option>loader=/boot/chain.b</option> line can be omitted if you have
both operating systems on the same drive. Now run
<command>/sbin/lilo&nbsp;-v</command> to commit your new changes to the
system; this should be verified by checking its screen messages.</para>
</sect2>
<sect2 id="boot-boot1">
<title>Stage One, <filename>/boot/boot1</filename>, and Stage Two,
<filename>/boot/boot2</filename></title>
<para>Conceptually the first and second stages are part of the same
program, on the same area of the disk. Because of space constraints
they have been split into two, but you would always install them
together. They are copied from the combined file
<filename>/boot/boot</filename> by the installer or
<application>bsdlabel</application> (see below).</para>
<para>They are located outside file systems, in the first track of
the boot slice, starting with the first sector. This is where <link
linkend="boot-boot0">boot0</link>, or any other boot manager,
expects to find a program to run which will
continue the boot process. The number of sectors used is easily
determined from the size of <filename>/boot/boot</filename>.</para>
<para><filename>boot1</filename> is very simple, since it
can only be 512 bytes
in size, and knows just enough about the FreeBSD
<firstterm>bsdlabel</firstterm>, which stores information
about the slice, to find and execute <filename>boot2</filename>.</para>
<para><filename>boot2</filename> is slightly more sophisticated, and understands
the FreeBSD file system enough to find files on it, and can
provide a simple interface to choose the kernel or loader to
run.</para>
<para>Since the <link linkend="boot-loader">loader</link> is
much more sophisticated, and provides a nice easy-to-use
boot configuration, <filename>boot2</filename> usually runs
it, but previously it
was tasked to run the kernel directly.</para>
<example id="boot-boot2-example">
<title><filename>boot2</filename> Screenshot</title>
<screen>&gt;&gt; FreeBSD/i386 BOOT
Default: 0:ad(0,a)/boot/loader
boot:</screen>
</example>
<para>If you ever need to replace the installed
<filename>boot1</filename> and <filename>boot2</filename> use
&man.bsdlabel.8;:</para>
<screen>&prompt.root; <userinput>bsdlabel -B <replaceable>diskslice</replaceable></userinput></screen>
<para>where <replaceable>diskslice</replaceable> is the disk and slice
you boot from, such as <devicename>ad0s1</devicename> for the first
slice on the first IDE disk.</para>
<warning>
<title>Dangerously Dedicated Mode</title>
<para>If you use just the disk name, such as
<devicename>ad0</devicename>, in the &man.bsdlabel.8; command you
will create a dangerously dedicated disk, without slices. This is
almost certainly not what you want to do, so make sure you double
check the &man.bsdlabel.8; command before you press
<keycap>Return</keycap>.</para>
</warning>
</sect2>
<sect2 id="boot-loader">
<title>Stage Three, <filename>/boot/loader</filename></title>
<indexterm><primary>boot-loader</primary></indexterm>
<para>The loader is the final stage of the three-stage
bootstrap, and is located on the file system, usually as
<filename>/boot/loader</filename>.</para>
<para>The loader is intended as a user-friendly method for
configuration, using an easy-to-use built-in command set,
backed up by a more powerful interpreter, with a more complex
command set.</para>
<sect3 id="boot-loader-flow">
<title>Loader Program Flow</title>
<para>During initialization, the loader will probe for a
console and for disks, and figure out what disk it is
booting from. It will set variables accordingly, and an
interpreter is started where user commands can be passed from
a script or interactively.</para>
<indexterm><primary>loader</primary></indexterm>
<indexterm><primary>loader configuration</primary></indexterm>
<para>The loader will then read
<filename>/boot/loader.rc</filename>, which by default reads
in <filename>/boot/defaults/loader.conf</filename> which
sets reasonable defaults for variables and reads
<filename>/boot/loader.conf</filename> for local changes to
those variables. <filename>loader.rc</filename> then acts
on these variables, loading whichever modules and kernel are
selected.</para>
<para>Finally, by default, the loader issues a 10 second wait
for key presses, and boots the kernel if it is not interrupted.
If interrupted, the user is presented with a prompt which
understands the easy-to-use command set, where the user may
adjust variables, unload all modules, load modules, and then
finally boot or reboot.</para>
</sect3>
<sect3 id="boot-loader-commands">
<title>Loader Built-In Commands</title>
<para>These are the most commonly used loader commands. For a
complete discussion of all available commands, please see
&man.loader.8;.</para>
<variablelist>
<varlistentry>
<term>autoboot <replaceable>seconds</replaceable></term>
<listitem>
<para>Proceeds to boot the kernel if not interrupted
within the time span given, in seconds. It displays a
countdown, and the default time span is 10
seconds.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>boot
<optional><replaceable>-options</replaceable></optional>
<optional><replaceable>kernelname</replaceable></optional></term>
<listitem>
<para>Immediately proceeds to boot the kernel, with the
given options, if any, and with the kernel name given,
if it is.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>boot-conf</term>
<listitem>
<para>Goes through the same automatic configuration of
modules based on variables as what happens at boot.
This only makes sense if you use
<command>unload</command> first, and change some
variables, most commonly <envar>kernel</envar>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>help
<optional><replaceable>topic</replaceable></optional></term>
<listitem>
<para>Shows help messages read from
<filename>/boot/loader.help</filename>. If the topic
given is <literal>index</literal>, then the list of
available topics is given.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>include <replaceable>filename</replaceable>
&hellip;</term>
<listitem>
<para>Processes the file with the given filename. The
file is read in, and interpreted line by line. An
error immediately stops the include command.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>load <optional><option>-t</option>
<replaceable>type</replaceable></optional>
<replaceable>filename</replaceable></term>
<listitem>
<para>Loads the kernel, kernel module, or file of the
type given, with the filename given. Any arguments
after filename are passed to the file.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ls <optional><option>-l</option></optional>
<optional><replaceable>path</replaceable></optional></term>
<listitem>
<para>Displays a listing of files in the given path, or
the root directory, if the path is not specified. If
<option>-l</option> is specified, file sizes will be
shown too.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>lsdev <optional><option>-v</option></optional></term>
<listitem>
<para>Lists all of the devices from which it may be
possible to load modules. If <option>-v</option> is
specified, more details are printed.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>lsmod <optional><option>-v</option></optional></term>
<listitem>
<para>Displays loaded modules. If <option>-v</option> is
specified, more details are shown.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>more <replaceable>filename</replaceable></term>
<listitem>
<para>Displays the files specified, with a pause at each
<varname>LINES</varname> displayed.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>reboot</term>
<listitem>
<para>Immediately reboots the system.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>set <replaceable>variable</replaceable></term>
<term>set
<replaceable>variable</replaceable>=<replaceable>value</replaceable></term>
<listitem>
<para>Sets the loader's environment variables.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>unload</term>
<listitem>
<para>Removes all loaded modules.</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="boot-loader-examples">
<title>Loader Examples</title>
<para>Here are some practical examples of loader usage:</para>
<itemizedlist>
<indexterm><primary>single-user mode</primary></indexterm>
<listitem>
<para>To simply boot your usual kernel, but in single-user
mode:</para>
<screen><userinput>boot -s</userinput></screen>
</listitem>
<listitem>
<para>To unload your usual kernel and modules, and then
load just your old (or another) kernel:</para>
<indexterm>
<primary><filename>kernel.old</filename></primary>
</indexterm>
<screen><userinput>unload</userinput>
<userinput>load <replaceable>kernel.old</replaceable></userinput></screen>
<para>You can use <filename>kernel.GENERIC</filename> to
refer to the generic kernel that comes on the install
disk, or <filename>kernel.old</filename> to refer to
your previously installed kernel (when you have upgraded
or configured your own kernel, for example).</para>
<note>
<para>Use the following to load your usual modules with
another kernel:</para>
<screen><userinput>unload</userinput>
<userinput>set kernel="<replaceable>kernel.old</replaceable>"</userinput>
<userinput>boot-conf</userinput></screen></note>
</listitem>
<listitem>
<para>To load a kernel configuration script (an automated
script which does the things you would normally do in the
kernel boot-time configurator):</para>
<screen><userinput>load -t userconfig_script <replaceable>/boot/kernel.conf</replaceable></userinput></screen>
</listitem>
</itemizedlist>
</sect3>
</sect2>
</sect1>
<sect1 id="boot-kernel">
<title>Kernel Interaction During Boot</title>
<indexterm>
<primary>kernel</primary>
<secondary>boot interaction</secondary>
</indexterm>
<para>Once the kernel is loaded by either <link
linkend="boot-loader">loader</link> (as usual) or <link
linkend="boot-boot1">boot2</link> (bypassing the loader), it
examines its boot flags, if any, and adjusts its behavior as
necessary.</para>
<sect2 id="boot-kernel-bootflags">
<indexterm>
<primary>kernel</primary>
<secondary>bootflags</secondary>
</indexterm>
<title>Kernel Boot Flags</title>
<para>Here are the more common boot flags:</para>
<variablelist id="boot-kernel-bootflags-list">
<varlistentry>
<term><option>-a</option></term>
<listitem>
<para>during kernel initialization, ask for the device
to mount as the root file system.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-C</option></term>
<listitem>
<para>boot from CDROM.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-c</option></term>
<listitem>
<para>run UserConfig, the boot-time kernel
configurator</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-s</option></term>
<listitem>
<para>boot into single-user mode</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option></term>
<listitem>
<para>be more verbose during kernel startup</para>
</listitem>
</varlistentry>
</variablelist>
<note>
<para>There are other boot flags, read &man.boot.8; for more
information on them.</para></note>
</sect2>
<!-- <sect2 id="boot-kernel-userconfig">
<title>UserConfig: the Boot-time Kernel Configurator</title>
<para> </para>
</sect2> -->
</sect1>
<sect1 id="device-hints">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
<!-- 18 OCT 2002 -->
</sect1info>
<indexterm>
<primary>device.hints</primary>
</indexterm>
<title>Device Hints</title>
<note><para>This is a FreeBSD&nbsp;5.0 and later feature which does not
exist in earlier versions.</para></note>
<para>During initial system startup, the boot &man.loader.8; will read the
&man.device.hints.5; file. This file stores kernel boot information
known as variables, sometimes referred to as <quote>device hints</quote>.
These <quote>device hints</quote> are used by device drivers for device
configuration.</para>
<para>Device hints may also be specified at the <link linkend="boot-loader">
Stage 3 boot loader</link> prompt. Variables can be added using
<command>set</command>, removed with <command>unset</command>, and viewed
with the <command>show</command> commands. Variables set in the
<filename>/boot/device.hints</filename> file can be overridden here also. Device hints entered at
the boot loader are not permanent and will be forgotten on the next
reboot.</para>
<para>Once the system is booted, the &man.kenv.1; command can be used to
dump all of the variables.</para>
<para>The syntax for the <filename>/boot/device.hints</filename> file is one variable per line, using
the standard hash <quote>#</quote> as comment markers. Lines are
constructed as follows:</para>
<screen><userinput>hint.driver.unit.keyword="<replaceable>value</replaceable>"</userinput></screen>
<para>The syntax for the Stage 3 boot loader is:</para>
<screen><userinput>set hint.driver.unit.keyword=<replaceable>value</replaceable></userinput></screen>
<para><literal>driver</literal> is the device driver name, <literal>unit</literal>
is the device driver unit number, and <literal>keyword</literal> is the hint
keyword. The keyword may consist of the following options:</para>
<itemizedlist>
<listitem>
<para><literal>at</literal>: specifies the bus which the device is attached to.</para>
</listitem>
<listitem>
<para><literal>port</literal>: specifies the start address of the <acronym>I/O</acronym>
to be used.</para>
</listitem>
<listitem>
<para><literal>irq</literal>: specifies the interrupt request number to be used.</para>
</listitem>
<listitem>
<para><literal>drq</literal>: specifies the DMA channel number.</para>
</listitem>
<listitem>
<para><literal>maddr</literal>: specifies the physical memory address occupied by the
device.</para>
</listitem>
<listitem>
<para><literal>flags</literal>: sets various flag bits for the device.</para>
</listitem>
<listitem>
<para><literal>disabled</literal>: if set to <literal>1</literal> the device is disabled.</para>
</listitem>
</itemizedlist>
<para>Device drivers may accept (or require) more hints not listed here, viewing
their manual page is recommended. For more information, consult the
&man.device.hints.5;, &man.kenv.1;, &man.loader.conf.5;, and &man.loader.8;
manual pages.</para>
</sect1>
<sect1 id="boot-init">
<indexterm>
<primary><command>init</command></primary>
</indexterm>
<title>Init: Process Control Initialization</title>
<para>Once the kernel has finished booting, it passes control to
the user process &man.init.8;, which is located at
<filename>/sbin/init</filename>, or the program path specified
in the <envar>init_path</envar> variable in
<command>loader</command>.</para>
<sect2 id="boot-autoreboot">
<title>Automatic Reboot Sequence</title>
<para>The automatic reboot sequence makes sure that the
file systems available on the system are consistent. If they
are not, and &man.fsck.8; cannot fix the
inconsistencies, &man.init.8; drops the system
into <link linkend="boot-singleuser">single-user mode</link>
for the system administrator to take care of the problems
directly.</para>
</sect2>
<sect2 id="boot-singleuser">
<title>Single-User Mode</title>
<indexterm><primary>single-user mode</primary></indexterm>
<indexterm><primary>console</primary></indexterm>
<para>This mode can be reached through the <link
linkend="boot-autoreboot">automatic reboot
sequence</link>, or by the user booting with the
<option>-s</option> option or setting the
<envar>boot_single</envar> variable in
<command>loader</command>.</para>
<para>It can also be reached by calling
&man.shutdown.8; without the reboot
(<option>-r</option>) or halt (<option>-h</option>) options,
from <link linkend="boot-multiuser">multi-user
mode</link>.</para>
<para>If the system <literal>console</literal> is set
to <literal>insecure</literal> in <filename>/etc/ttys</filename>,
then the system prompts for the <username>root</username> password
before initiating single-user mode.</para>
<example id="boot-insecure-console">
<title>An Insecure Console in <filename>/etc/ttys</filename></title>
<programlisting># name getty type status comments
#
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
console none unknown off insecure</programlisting>
</example>
<note>
<para>An <literal>insecure</literal> console means that you
consider your physical security to the console to be
insecure, and want to make sure only someone who knows the
<username>root</username> password may use single-user mode, and it
does not mean that you want to run your console insecurely. Thus,
if you want security, choose <literal>insecure</literal>,
not <literal>secure</literal>.</para>
</note>
</sect2>
<sect2 id="boot-multiuser">
<title>Multi-User Mode</title>
<indexterm><primary>multi-user mode</primary></indexterm>
<para>If &man.init.8; finds your file systems to be
in order, or once the user has finished in <link
linkend="boot-singleuser">single-user mode</link>, the
system enters multi-user mode, in which it starts the
resource configuration of the system.</para>
<sect3 id="boot-rc">
<indexterm><primary>rc files</primary></indexterm>
<title>Resource Configuration (rc)</title>
<para>The resource configuration system reads in
configuration defaults from
<filename>/etc/defaults/rc.conf</filename>, and
system-specific details from
<filename>/etc/rc.conf</filename>, and then proceeds to
mount the system file systems mentioned in
<filename>/etc/fstab</filename>, start up networking
services, start up miscellaneous system daemons, and
finally runs the startup scripts of locally installed
packages.</para>
<para>The &man.rc.8; manual page is a good reference to the resource
configuration system, as is examining the scripts
themselves.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="boot-shutdown">
<title>Shutdown Sequence</title>
<indexterm>
<primary><command>shutdown</command></primary>
</indexterm>
<para>Upon controlled shutdown, via &man.shutdown.8;,
&man.init.8; will attempt to run the script
<filename>/etc/rc.shutdown</filename>, and then proceed to send
all processes the <literal>TERM</literal> signal, and subsequently
the <literal>KILL</literal> signal to any that do not terminate
timely.</para>
<para>To power down a FreeBSD machine on architectures and systems
that support power management, simply use the command
<command>shutdown -p now</command> to turn the power off
immediately. To just reboot a FreeBSD system, just use
<command>shutdown -r now</command>. You need to be
<username>root</username> or a member of
<groupname>operator</groupname> group to run &man.shutdown.8;.
The &man.halt.8; and &man.reboot.8; commands can also be used,
please refer to their manual pages and to &man.shutdown.8;'s one
for more information.</para>
<note>
<para>Power management requires &man.acpi.4; support in the kernel
or loaded as module for.</para>
</note>
</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: ("../book.sgml" "part" "chapter")
End:
-->

View file

@ -0,0 +1,2 @@
<!-- $FreeBSD$ -->
<!DOCTYPE chapter PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN">

View file

@ -0,0 +1,60 @@
<!--
Creates entities for each chapter in the FreeBSD Handbook. Each entity
is named chap.foo, where foo is the value of the id attribute on that
chapter, and corresponds to the name of the directory in which that
chapter's .sgml file is stored.
Chapters should be listed in the order in which they are referenced.
$FreeBSD$
Original revision: 1.35
-->
<!ENTITY chap.preface SYSTEM "preface/preface.sgml">
<!-- Part one -->
<!ENTITY chap.introduction SYSTEM "introduction/chapter.sgml">
<!ENTITY chap.install SYSTEM "install/chapter.sgml">
<!ENTITY chap.basics SYSTEM "basics/chapter.sgml">
<!ENTITY chap.ports SYSTEM "ports/chapter.sgml">
<!ENTITY chap.x11 SYSTEM "x11/chapter.sgml">
<!-- Part two -->
<!ENTITY chap.desktop SYSTEM "desktop/chapter.sgml">
<!ENTITY chap.multimedia SYSTEM "multimedia/chapter.sgml">
<!ENTITY chap.kernelconfig SYSTEM "kernelconfig/chapter.sgml">
<!ENTITY chap.printing SYSTEM "printing/chapter.sgml">
<!ENTITY chap.linuxemu SYSTEM "linuxemu/chapter.sgml">
<!-- Part three -->
<!ENTITY chap.config SYSTEM "config/chapter.sgml">
<!ENTITY chap.boot SYSTEM "boot/chapter.sgml">
<!ENTITY chap.users SYSTEM "users/chapter.sgml">
<!ENTITY chap.security SYSTEM "security/chapter.sgml">
<!ENTITY chap.mac SYSTEM "mac/chapter.sgml">
<!ENTITY chap.audit SYSTEM "audit/chapter.sgml">
<!ENTITY chap.disks SYSTEM "disks/chapter.sgml">
<!ENTITY chap.geom SYSTEM "geom/chapter.sgml">
<!ENTITY chap.vinum SYSTEM "vinum/chapter.sgml">
<!ENTITY chap.l10n SYSTEM "l10n/chapter.sgml">
<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.sgml">
<!-- Part four -->
<!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.sgml">
<!ENTITY chap.ppp-and-slip SYSTEM "ppp-and-slip/chapter.sgml">
<!ENTITY chap.mail SYSTEM "mail/chapter.sgml">
<!ENTITY chap.network-servers SYSTEM "network-servers/chapter.sgml">
<!ENTITY chap.firewalls SYSTEM "firewalls/chapter.sgml">
<!ENTITY chap.advanced-networking SYSTEM "advanced-networking/chapter.sgml">
<!-- Part five (appendices) -->
<!ENTITY chap.mirrors SYSTEM "mirrors/chapter.sgml">
<!ENTITY chap.mirrors.ftp.inc SYSTEM "mirrors.sgml.ftp.inc">
<!ENTITY chap.mirrors.cvsup.inc SYSTEM "mirrors.sgml.cvsup.inc">
<!ENTITY chap.bibliography SYSTEM "bibliography/chapter.sgml">
<!ENTITY chap.eresources SYSTEM "eresources/chapter.sgml">
<!ENTITY chap.eresources.www.inc SYSTEM "eresources.sgml.www.inc">
<!ENTITY chap.pgpkeys SYSTEM "pgpkeys/chapter.sgml">
<!ENTITY chap.index SYSTEM "index.sgml">
<!ENTITY chap.colophon SYSTEM "colophon.sgml">

View file

@ -0,0 +1,30 @@
<!--
The FreeBSD Polish Documentation Project
$FreeBSD$
Original revision: 1.9
-->
<colophon id='colophon'>
<para>Niniejsza ksi±¿ka jest dzie³em setek osób z <quote>Projektu
Dokumentacji FreeBSD</quote>. Tekst jest przygotowywany w jêzyku
SGML zgodnie ze standardem DocBook DTD, a nastêpnie konwertowany do
ca³ej rzeszy innych formatów za pomoc± modu³u DSSSL
<application>Jade</application>. Instrukcje formatowania tekstu
zosta³y przygotowane przy wykorzystaniu arkuszy styli DSSSL Norma
Walsha. Przygotowanie wersji do wydruku nie by³oby mo¿liwe gdyby nie
jêzyk sk³adu tekstu <application>&tex;</application> Donalda Knutha,
<application>LaTeX</application> Lesliego Lamporta, czy makra
<application>JadeTeX</application> Sebastiana Rahtza.</para>
</colophon>
<!--
Local Variables:
mode: sgml
sgml-declaration: "chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("book.sgml" "part" "chapter")
End:
-->

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= config/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= cutting-edge/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= desktop/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= disks/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= eresources/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= firewalls/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= geom/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

View file

@ -0,0 +1,466 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="GEOM">
<chapterinfo>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Written by </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>GEOM: Modular Disk Transformation Framework</title>
<sect1 id="GEOM-synopsis">
<title>Synopsis</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>GEOM Disk Framework</primary>
<see>GEOM</see>
</indexterm>
<para>This chapter covers the use of disks under the GEOM
framework in &os;. This includes the major <acronym
role="Redundant Array of Inexpensive Disks">RAID</acronym>
control utilities which use the framework for configuration.
This chapter will not go into in depth discussion on how GEOM
handles or controls I/O, the underlying subsystem, or code.
This information is provided through the &man.geom.4; manual
page and its various SEE ALSO references. This chapter is also
not a definitive guide to <acronym>RAID</acronym>
configurations. Only GEOM-supported <acronym>RAID</acronym>
classifications will be discussed.</para>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem>
<para>What type of <acronym>RAID</acronym> support is available
through GEOM.</para>
</listitem>
<listitem>
<para>How to use the base utilities to configure, maintain,
and manipulate the various <acronym>RAID</acronym>
levels.</para>
</listitem>
<listitem>
<para>How to mirror, stripe, encrypt, and remotely connect disk
devices through GEOM.</para>
</listitem>
<listitem>
<para>How to troubleshoot disks attached to the GEOM
framework.</para>
</listitem>
</itemizedlist>
<para>Before reading this chapter, you should:</para>
<itemizedlist>
<listitem>
<para>Understand how &os; treats disk devices
(<xref linkend="disks">).</para>
<listitem>
<para>Know how to configure and install a new &os; kernel
(<xref linkend="kernelconfig">).</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="GEOM-intro">
<title>GEOM Introduction</title>
<para>GEOM permits access and control to classes &mdash; Master Boot
Records, <acronym>BSD</acronym> labels, etc &mdash; through the
use of providers, or the special files in
<filename role="directory">/dev</filename>. Supporting various
software <acronym>RAID</acronym> configurations, GEOM will
transparently provide access to the operating system and
operating system utilities.</para>
</sect1>
<sect1 id="GEOM-striping">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Written by </contrib>
</author>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
</author>
</authorgroup>
</sect1info>
<title>RAID0 - Striping</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>Striping</primary>
</indexterm>
<para>Striping is a method used to combine several disk drives into
a single volume. In many cases, this is done through the use of
hardware controllers. The GEOM disk subsystem provides
software support for <acronym>RAID</acronym>0, also known as
disk striping.</para>
<para>In a <acronym>RAID</acronym>0 system, data are split up in
blocks that get written across all the drives in the array.
Instead of having to wait on the system to write 256k to one
disk, a <acronym>RAID</acronym>0 system can simultaneously write
64k to each of four different disks, offering superior I/O
performance. This performance can be enhanced further by using
multiple disk controllers.</para>
<para>Each disk in a <acronym>RAID</acronym>0 stripe must be of
the same size, since I/O requests are interleaved to read or
write to multiple disks in parallel.</para>
<mediaobject>
<imageobject>
<imagedata fileref="geom/striping" align="center">
</imageobject>
<textobject>
<phrase>Disk Striping Illustration</phrase>
</textobject>
</mediaobject>
<procedure>
<title>Creating a stripe of unformatted ATA disks</title>
<step><para>Load the <filename>geom_stripe</filename>
module:</para>
<screen>&prompt.root; <userinput>kldload geom_stripe.ko</userinput></screen>
</step>
<step><para>Ensure that a suitable mount point exists. If this
volume will become a root partition, then temporarily use
another mount point such as <filename
role="directory">/mnt</filename>:</para>
<screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen>
</step>
<step><para>Determine the device names for the disks which will
be striped, and create the new stripe device. For example,
the following command could be used to stripe two unused,
unpartitioned <acronym>ATA</acronym> disks:
<filename>/dev/ad2</filename> and
<filename>/dev/ad3</filename>.</para>
<screen>&prompt.root; <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput></screen>
<!--
<para>A message should be returned explaining that meta data has
been stored on the devices.
XXX: What message? Put it inside the screen output above.
-->
</step>
<step><para>A partition table must be created on the new volume
with the following command:</para>
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen>
</step>
<step><para>This process should have created two other devices
in the <filename role="directory">/dev/stripe</filename>
directory in addition to the <devicename>st0</devicename> device.
Those include <devicename>st0a</devicename> and
<devicename>st0c</devicename>. A file system must now be created
on the <devicename>st0a</devicename> device using the following
<command>newfs</command> command:</para>
<screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen>
<para>Many numbers will glide across the screen, and after a few
seconds, the process will be complete. The volume has been
created and is ready to be mounted.</para>
</step>
</procedure>
<para>The following command can be used to manually mount a newly
created disk stripe:</para>
<screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen>
<para>To mount this striped file system automatically during the boot
process, place the volume information in
<filename>/etc/fstab</filename> file:</para>
<screen>&prompt.root; <userinput>echo "/dev/stripe/st0a /mnt ufs rw 2 2" \</userinput>
<userinput>&gt;&gt; /etc/fstab</userinput></screen>
<para>The <filename>geom_stripe</filename> module must also be automatically loaded during
system initialization, by adding a line to
<filename>/boot/loader.conf</filename>:</para>
<screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
</sect1>
<sect1 id="GEOM-mirror">
<title>RAID1 - Mirroring</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>Disk Mirroring</primary>
</indexterm>
<para>Mirroring is a technology used by many corporations and home
users to back up data without interruption. When a mirror exists,
it simply means that diskB replicates diskA. Or, perhaps diskC+D
replicates diskA+B. Regardless of the disk configuration, the
important aspect is that information on one disk or partition is
being replicated. Later, that information could be more easily
restored, backed up without causing service or access
interruption, and even be physically stored in a data
safe.</para>
<para>To begin, ensure the system has two disk drives of equal size,
this exercise assumes they are direct access (&man.da.4;)
<acronym>SCSI</acronym> disks.</para>
<para>Begin by installing &os; on the first disk with only two
partitions. One should be a swap partition, double the
<acronym>RAM</acronym> size and all remaining space devoted to
the root (<filename role="directory">/</filename>) file system.
It is possible to have separate partitions for other mount points;
however, this will increase the difficulty level ten fold due to
manual alteration of the &man.bsdlabel.8; and &man.fdisk.8;
settings.</para>
<para>Reboot and wait for the system to fully initialize. Once this
process has completed, log in as the <username>root</username>
user.</para>
<para>Create the <filename>/dev/mirror/gm</filename> device and link
it with <filename>/dev/da1</filename>:</para>
<screen>&prompt.root; <userinput>gmirror label -vnb round-robin gm0 /dev/da1</userinput></screen>
<para>The system should respond with:</para>
<screen>
Metadata value stored on /dev/da1.
Done.</screen>
<para>Initialize GEOM, this will load the
<filename>/boot/kernel/geom_mirror.ko</filename> kernel
module:</para>
<screen>&prompt.root; <userinput>gmirror load</userinput></screen>
<note>
<para>This command should have created the
<devicename>gm0</devicename>, device node under the
<filename role="directory">/dev/mirror</filename>
directory.</para>
</note>
<para>Install a generic <command>fdisk</command> label and boot code
to newly created <devicename>gm0</devicename> device:</para>
<screen>&prompt.root; <userinput>fdisk -vBI /dev/mirror/gm0</userinput></screen>
<para>Now install generic <command>bsdlabel</command>
information:</para>
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/mirror/gm0s1</userinput></screen>
<note>
<para>If multiple slices and partitions exist, the flags for the
previous two commands will require alteration. They must match
the slice and partition size of the other disk.</para>
</note>
<para>Use the &man.newfs.8; utility to create a default file
system on the <devicename>gm0s1a</devicename> device node:</para>
<screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput></screen>
<para>This should have caused the system to spit out some
information and a bunch of numbers. This is good. Examine the
screen for any error messages and mount the device to the
<filename role="directory">/mnt</filename> mount point:</para>
<screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput></screen>
<para>Now move all data from the boot disk over to this new file
system. This example uses the &man.dump.8; and &man.restore.8;
commands; however, &man.dd.1; would also work with this
scenario.</para>
<screen>&prompt.root; <userinput>dump -L -0 -f- / |(cd /mnt &amp;&amp; restore -r -v -f-)</userinput></screen>
<para>This must be done for each file system. Simply place the
appropriate file system in the correct location when running the
aforementioned command.</para>
<para>Now edit the replicated <filename>/mnt/etc/fstab</filename>
file and remove or comment out the swap file
<footnote>
<para>It should be noted that commenting out the swap file entry
in <filename>fstab</filename> will most likely require you to
re-establish a different way of enabling swap space. Please
refer to <xref linkend="adding-swap-space"> for more
information.</para>
</footnote>. Change the other file system information to use the
new disk. See the following example:</para>
<programlisting># Device Mountpoint FStype Options Dump Pass#
#/dev/da0s2b none swap sw 0 0
/dev/mirror/gm0s1a / ufs rw 1 1</programlisting>
<para>Now create a <filename>boot.conf</filename> file on both the
current and new root partitions. This file will
<quote>help</quote> the system <acronym>BIOS</acronym>
boot the correct drive:</para>
<screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /boot.config</userinput></screen>
<screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /mnt/boot.config</userinput></screen>
<note>
<para>We have placed it on both root partitions to ensure proper
boot up. If for some reason the system cannot read from the
new root partition, a failsafe is available.</para>
</note>
<para>Now add the following line to the new
<filename>/boot/loader.conf</filename>:</para>
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /mnt/boot/loader.conf</userinput></screen>
<para>This will instruct &man.loader.8; utility to load the
<filename>geom_mirror.ko</filename> module during system
initialization.</para>
<para>Reboot the system:</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
<para>If all has gone well, the system should have booted from the
<devicename>gm0s1a</devicename> device and a <command>login</command>
prompt should be waiting. If something went wrong, see review
the forthcoming troubleshooting section. Now add the
<devicename>da0</devicename> disk to <devicename>gm0</devicename>
device:</para>
<screen>&prompt.root; <userinput>gmirror configure -a gm0</userinput>
&prompt.root; <userinput>gmirror insert gm0 /dev/da0</userinput></screen>
<para>The <option>-a</option> flag tells &man.gmirror.8; to use
automatic synchronization; i.e., mirror the disk writes
automatically. The manual page explains how to rebuild and
replace disks, although it uses <devicename>data</devicename>
in place of <devicename>gm0</devicename>.</para>
<sect2>
<title>Troubleshooting</title>
<sect3>
<title>System refuses to boot</title>
<para>If the system boots up to a prompt similar to:</para>
<programlisting>ffs_mountroot: can't find rootvp
Root mount failed: 6
mountroot></programlisting>
<para>Reboot the machine using the power or reset button. At
the boot menu, select option six (6). This will drop the
system to a &man.loader.8; prompt. Load the kernel module
manually:</para>
<screen>OK? <userinput>load geom_mirror.ko</userinput>
OK? <userinput>boot</userinput></screen>
<para>If this works then for whatever reason the module was not
being loaded properly. Place:</para>
<programlisting>options GEOM_MIRROR</programlisting>
<para>in the kernel configuration file, rebuild and reinstall.
That should remedy this issue.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="geom-ggate">
<title>GEOM Gate Network Devices</title>
<para>GEOM supports the remote use of devices, such as disks,
CD-ROMs, files, etc. through the use of the gate utilities.
This is similar to <acronym>NFS</acronym>.</para>
<para>To begin, an exports file must be created. This file
specifies who is permitted to access the exported resources and
what level of access they are offered. For example, to export
the forth slice on the first <acronym>SCSI</acronym> disk, the
following <filename>/etc/gg.exports</filename> is more than
adequate:</para>
<programlisting>192.168.1.0/24 RW /dev/da0s4d</programlisting>
<para>It will allow all hosts inside the private network access
the file system on the <devicename>da0s4d</devicename>
partition.</para>
<para>To export this device, ensure it is not currently mounted,
and start the &man.ggated.8; server daemon:</para>
<screen>&prompt.root; <userinput>ggated</userinput></screen>
<para>Now to <command>mount</command> the device on the client
machine, issue the following commands:</para>
<screen>&prompt.root; <userinput>ggatec create -o rw 192.168.1.1 /dev/da0s4d</userinput></screen>
<screen>ggate0</screen>
<screen>&prompt.root; <userinput>mount /dev/ggate0 /mnt</userinput></screen>
<para>From here on, the device may be accessed through the
<filename role="directory">/mnt</filename> mount point.</para>
<note>
<para>It should be pointed out that this will fail if the device
is currently mounted on either the server machine or any other
machine on the network.</para>
</note>
<para>When the device is no longer needed, it may be safely
unmounted with the &man.umount.8; command, similar to any other
disk device.</para>
</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: ("../book.sgml" "part" "chapter")
End:
-->

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= install/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,7 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/";
root -> "A2/";
}

View file

@ -0,0 +1,8 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/" -> "B1/";
"A1/" -> "B2/";
root -> "A2/";
}

View file

@ -0,0 +1,8 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/";
root -> "A2/" -> "B1/";
"A2/" -> "B2/";
}

View file

@ -0,0 +1,9 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/";
root -> "A2/" -> "B1/" -> "C1/";
"B1/" -> "C2/";
"A2/" -> "B2/";
}

View file

@ -0,0 +1,9 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/" -> "C1/";
"A1/" -> "C2/";
root -> "A2/" -> "B1/";
"A2/" -> "B2/";
}

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= introduction/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

View file

@ -0,0 +1,971 @@
<!--
The FreeBSD Polish Documentation Project
$FreeBSD$
Original revision: 1.114
-->
<chapter id="introduction">
<chapterinfo>
<authorgroup>
<author>
<firstname>Jim</firstname>
<surname>Mock</surname>
<contrib>Rozdział zreorganizował i częściowo
napisał od nowa </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Cezary</firstname>
<surname>Morga</surname>
<contrib>Tłumaczył </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>Wprowadzenie</title>
<sect1 id="introduction-synopsis">
<title>Strzeszczenie</title>
<para>Dziękujemy za zainteresowanie FreeBSD! W niniejszym rozdziale
opisane zostaną różne aspekty Projektu FreeBSD, takie jak jego historia,
obrany cel, czy model rozwoju.</para>
<para>Czytając ten rozdział poznamy:</para>
<itemizedlist>
<listitem>
<para>Zależności istniejące między FreeBSD i innymi systemami operacyjnymi.</para>
</listitem>
<listitem>
<para>Historię Projektu FreeBSD.</para>
</listitem>
<listitem>
<para>Cele stawiane przed Projektem FreeBSD.</para>
</listitem>
<listitem>
<para>Podstawowe zagadnienia związane z modelem rozwoju otwartego oprogramowania
(ang. open source) FreeBSD.</para>
</listitem>
<listitem>
<para>I oczywiście, dowiemy się skąd pochodzi nazwa <quote>FreeBSD</quote>.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="nutshell">
<title>Witamy w świecie FreeBSD!</title>
<indexterm><primary>4.4BSD-Lite</primary></indexterm>
<para>FreeBSD jest systemem operacyjnym bazującym na 4.4BSD-Lite, a
przeznaczonym dla komputerów pracujących na platformach Intela (x86 i
&itanium;), AMD64, <trademark>Alpha</trademark> oraz Sun &ultrasparc;.
Przygotowywane są również wersje dla innych platform. Więcej informacji
dostępnych jest w <link linkend="history">historii FreeBSD</link> bądź
w nocie o <link linkend="relnotes">aktualnym wydaniu</link>. Jeśli chciałbyś
wspomóc rozwój Projektu (np. kod źródłowy, sprzęt, nieoznakowane banknoty)
przeczytaj artykuł o <ulink
url="&url.articles.contributing;/index.html">współpracy z Projektem
FreeBSD</ulink> (ang.).</para>
<sect2 id="os-overview">
<sect2info>
<authorgroup>
<author>
<firstname>Aleksander</firstname>
<surname>Fafuła</surname>
<contrib>Tłumaczył </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Cezary</firstname>
<surname>Morga</surname>
<contrib>Przekład uzupełnił </contrib>
</author>
</authorgroup>
</sect2info>
<title>Co potrafi FreeBSD?</title>
<para>FreeBSD posiada mnóstwo zalet. Oto niektóre z nich:</para>
<itemizedlist>
<indexterm><primary>wielozadaniowość z wywłaszczaniem</primary></indexterm>
<listitem>
<para><emphasis>Wielozadaniowość z wywłaszczaniem</emphasis>, wraz z
dynamiczną regulacją priorytetów, by zapewnić sprawne i bezkonfliktowe
współdzielenie zasobów komputera przez aplikacje oraz użytkowników,
nawet w sytuacjach największego obciążenia systemu.</para>
</listitem>
<indexterm><primary>wieloużytkownikowość</primary></indexterm>
<listitem>
<para><emphasis>Wieloużytkownikowość</emphasis> pozwalająca na
jednoczesne wykorzystanie komputera z systemem FreeBSD przez
wielu użytkowników. Oznacza to, np. prawidłowe dzielenie dostępu
do urządzeń zewnętrznych jak np. do drukarki, pomiędzy wszystkich
użytkowników lokalnych jak i sieciowych. Ograniczenia dostępu do
zasobów mogą być definiowane dla konkretnych użytkowników bądź grup
użytkowników, co z kolei pozwala na zabezpieczenie krytycznych
zasobów systemowych przed nadużyciami.</para>
</listitem>
<indexterm><primary>sieci TCP/IP</primary></indexterm>
<listitem>
<para>Pełna obsługa <emphasis>sieci TCP/IP</emphasis>, oraz innych
sieciowych standardów jak SLIP, PPP, NFS, DHCP czy NIS. Oznacza
to, że twój system FreeBSD może bez problemów współpracować z
dowolnymi innymi systemami operacyjnymi, jak również pracować w
roli serwera w przedsiębiorstwie, dostarczając niezbędnych funkcji
jak np. NFS (zdalny dostęp do plików) wraz z obsługą emaila, bądź
pozwoli na umieszczenie internetowej wizytówki twojej organizacji
na stronie WWW czy dokumentów na serwerze FTP. Może również realizować
przekierowywanie (ruting) pakietów, a także pełnić rolę zapory
ogniowej (firewall).</para>
</listitem>
<indexterm><primary>ochrona pamięci</primary></indexterm>
<listitem>
<para><emphasis>Ochrona pamięci</emphasis> gwarantuje, że programy
(bądź użytkownicy) nie mogą ingerować w pracę innych aplikacji.
Innymi słowy, awaria danego programu w żaden sposób nie wpływa
na działanie pozostałych.</para>
</listitem>
<listitem>
<para>FreeBSD jest <emphasis>32-bitowym</emphasis> systemem operacyjnym
(64-bitowym na platformach Alpha, &itanium;, AMD64 i &ultrasparc;)
i właśnie jako taki projektowany był od początku.</para>
</listitem>
<indexterm>
<primary>System okien X</primary>
<seealso>XFree86</seealso>
</indexterm>
<listitem>
<para>Obecnie standardowy <emphasis>System okien X</emphasis>
(X11R6; X Window System) dostarcza interfejsu graficznego (GUI)
w cenie zwykłej karty VGA i monitora. Ponadto dostępny jest z
pełnym kodem źródłowym.</para>
</listitem>
<indexterm>
<primary>kompatybilność binarna</primary>
<secondary>Linux</secondary>
</indexterm>
<indexterm>
<primary>kompatybilność binarna</primary>
<secondary>SCO</secondary>
</indexterm>
<indexterm>
<primary>kompatybilność binarna</primary>
<secondary>SVR4</secondary>
</indexterm>
<indexterm>
<primary>kompatybilność binarna</primary>
<secondary>BSD/OS</secondary>
</indexterm>
<indexterm>
<primary>kompatybilność binarna</primary>
<secondary>NetBSD</secondary>
</indexterm>
<listitem>
<para><emphasis>Kompatybilność binarną</emphasis> z wieloma systemami
typu &unix;. FreeBSD posiada możliwość uruchamiania programów
skompilowanych dla Linuksa, SCO, SVR4, BSDI i NetBSD.</para>
</listitem>
<listitem>
<para>Tysiące aplikacji <emphasis>gotowych do pracy</emphasis>,
dostępnych z kolekcji <emphasis>portów</emphasis> i
<emphasis>pakietów</emphasis> FreeBSD. Czemu szukać
w sieci, skoro wszystko można znaleźć właśnie tutaj?</para>
</listitem>
<listitem>
<para>Tysiące dodatkowych i
<emphasis>łatwych do przeniesienia</emphasis> programów dostępnych
w Internecie. FreeBSD jest kompatybilny z wieloma popularnymi,
nawet komercyjnymi systemami typu &unix; i tym samym większość
programów wymaga zaledwie kilku, jeśli w ogóle, zmian w kodzie
aby poprawnie skompilować i uruchomić.</para>
</listitem>
<indexterm><primary>pamięć wirtualna</primary></indexterm>
<listitem>
<para>Stronicowana <emphasis>pamięć wirtualna</emphasis> oraz
współdzielona pamięć podręczna <quote>VM/buffer cache</quote>
zaprojektowane by efektywnie zaspokajać potrzeby aplikacji z
dużym apetytem na pamięć, przy jednoczesnym zapewnieniu ciągłej
interakcji systemu z użytkownikami.</para>
</listitem>
<indexterm>
<primary>Symmetric Multi-Processing (SMP)</primary>
</indexterm>
<listitem>
<para>Wsparcie dla technologii <emphasis>SMP</emphasis>, dla maszyn
z wieloma procesorami.</para>
</listitem>
<indexterm>
<primary>kompilatory</primary>
<secondary>C</secondary>
</indexterm>
<indexterm>
<primary>kompilatory</primary>
<secondary>C++</secondary>
</indexterm>
<indexterm>
<primary>kompilatory</primary>
<secondary>FORTRAN</secondary>
</indexterm>
<listitem>
<para>Kompletne środowiska programistyczne dla języków <emphasis>C</emphasis>,
<emphasis>C++</emphasis> i <emphasis>Fortran</emphasis>. FreeBSD posiada
również wiele dodatkowych środowisk dla innych języków programowania
dostępnych w kolekcji portów i pakietów.</para>
</listitem>
<indexterm><primary>kod źródłowy</primary></indexterm>
<listitem>
<para>Dostępność <emphasis>kodu źródłowego</emphasis> dla całego
systemu oznacza, iż to właśnie ty posiadasz największą kontrolę
nad swoim środowiskiem pracy. Czemu zamykać się w kręgu
rozwiązań własnościowych i być skazanym na łaskę dostarczyciela
systemu, kiedy można mieć prawdziwie otwarty system?</para>
</listitem>
<listitem>
<para>Obszerną <emphasis>dokumentację</emphasis> dostępną
w Internecie..</para>
</listitem>
<listitem>
<para><emphasis>I wiele więcej!</emphasis></para>
</listitem>
</itemizedlist>
<indexterm><primary>4.4BSD-Lite</primary></indexterm>
<indexterm>
<primary>Computer Systems Research Group (CSRG)</primary>
</indexterm>
<indexterm><primary>Uniwersytet Kalifornijski w Berkeley</primary></indexterm>
<para>FreeBSD jest oparty na systemie 4.4BSD-Lite pochodzącym
z Computer Systems Research Group (CSRG) z Uniwersytetu
Kalifornijskiego w Berkeley. Podtrzymuje dostojną tradycję
trendu rozwojowego systemów BSD. Oprócz doskonałej pracy
wykonanej przez CSRG również programiści z Projektu FreeBSD
spędzili dodatkowe tysiące godzin, aby udoskonalić go i
przygotować na trudne, życiowe sytuacje. W czasie gdy wielu
z komercyjnych gigantów branży komputerów PC stara się
wyposażyć swoje systemy operacyjne w podobne cechy, by
osiągnąć takie same wyniki i poziom niezawodności, FreeBSD
oferuje to już <emphasis>teraz</emphasis>!</para>
<para>Liczba aplikacji z którymi może współpracować FreeBSD
jest ograniczona jedynie przez naszą wyobraźnię. Od projektów
programistycznych, poprzez automatyzację produkcji w fabrykach,
kontrolę stanu magazynów, po regulację azymutu anteny satelitarnej;
jeśli jest to możliwe w komercyjnych systemach UNIX jest to więcej
niż prawdopodobne, że możesz to zrobić również we FreeBSD! On sam
korzysta z dosłownie tysięcy doskonale dopracowanych aplikacji,
nierzadko pochodzących z komercyjnych centrów projektowych bądź
laboratoriów uniwersyteckich, dostępnych niemalże bądź całkowicie
za darmo. Dostępne jest również oprogramowanie komercyjne, którego
liczba rośnie równie szybko, jak oprogramowania bezpłatnego.</para>
<para>Jako, że kod źródłowy FreeBSD jest publicznie dostępny,
system może zostać dostosowany do wielu specjalistycznych
projektów oraz zastosowań, co jest niemożliwe w przypadku
wielu systemów komercyjnych. Oto krótka lista aplikacji,
z którymi najczęściej używany jest FreeBSD:</para>
<itemizedlist>
<listitem>
<para><emphasis>Usługi internetowe:</emphasis> doskonała obsługa
TCP/IP wbudowana we FreeBSD, czyni go idealną platformą dla
szeregu usług internetowych, na przykład:</para>
<itemizedlist>
<indexterm><primary>serwery FTP</primary></indexterm>
<listitem>
<para>Serwery FTP</para>
</listitem>
<indexterm><primary>serwery WWW</primary></indexterm>
<listitem>
<para>Serwery witryn WWW (standardowe bądź zabezpieczone
[SSL])</para>
</listitem>
<indexterm><primary>zapora ogniowa</primary></indexterm>
<indexterm><primary>NAT</primary></indexterm>
<listitem>
<para>Zapory ogniowe i bramy NAT (<quote>maskarada
IP</quote>)</para>
</listitem>
<indexterm>
<primary>poczta elektroniczna</primary>
<see>email</see>
</indexterm>
<indexterm>
<primary>email</primary>
</indexterm>
<listitem>
<para>Serwery poczty elektronicznej</para>
</listitem>
<indexterm><primary>USENET</primary></indexterm>
<listitem>
<para>USerwery USENET bądź systemy Forum</para>
</listitem>
<listitem>
<para>I więcej...</para>
</listitem>
</itemizedlist>
<para>Wraz z FreeBSD możesz zacząć świadczyć usługi
internetowe już na niedrogim komputerze PC klasy 386
i rozwijać bazę sprzętową swojego przedsiębiorstwa aż do
cztero-procesorowego Xeona z macierzą RAID.</para>
</listitem>
<listitem>
<para><emphasis>Edukacja:</emphasis> jesteś studentem
informatyki bądź pokrewnej dziedziny techniki? Nie ma
lepszego sposobu na poznanie systemu operacyjnego,
architektury komputerów oraz zagadnień sieciowych niż
poprzez doświadczenie, które daje praca z FreeBSD. Duża
liczba darmowych programów typu CAD, matematycznych czy
graficznych będzie wysoce użyteczna dla tych, których
głównym zainteresowaniem w komputerach jest aby zmusić je do pracy
<emphasis>za nas</emphasis>!</para>
</listitem>
<listitem>
<para><emphasis>Badania:</emphasis> oferując dostęp do kodu
źródłowego całego systemu, FreeBSD stanowi doskonałą platformę
dla prowadzenia badań nad systemami operacyjnymi oraz innymi
dziedzinami nauk komputerowych. Idea otwartego źródła wspomaga
także całe grupy współpracujące zdalnie nad różnymi zadaniami,
pomagając zapomnieć im o problemach związanych ze specjalnymi
warunkami licencyjnymi oraz ograniczeniami.</para>
</listitem>
<indexterm><primary>ruter</primary></indexterm>
<indexterm><primary>Serwer DNS</primary></indexterm>
<listitem>
<para><emphasis>Sieć:</emphasis> potrzebujesz nowego rutera?
Serwera nazw (DNS)? Zapory ogniowej (firewalla), by wystrzec
się niepowołanych użytkowników w swojej sieci wewnętrznej?
FreeBSD może w łatwy sposób zamienić bezużytecznego 486 lub
nawet 386, stojącego w kącie, w zaawansowany router z
wyszukanymi opcjami filtrowania pakietów.</para>
</listitem>
<indexterm>
<primary>System okien X</primary>
<secondary>XFree86</secondary>
</indexterm>
<indexterm>
<primary>System okien X</primary>
<secondary>Akceleracja X-ów</secondary>
</indexterm>
<listitem>
<para><emphasis>Środowisko graficzne:</emphasis> FreeBSD stanowi
dobre rozwiązanie dla niedrogiego terminala graficznego. W tym
celu można wykorzystać dostępny serwer X11, bądź jeden z doskonałych
komercyjnych serwerów <ulink
url="http://www.xig.com">Xi Graphics</ulink>. W przeciwieństwie do
typowych terminali graficznych, FreeBSD pozwala na uruchamianie
wielu aplikacji lokalnie jeśli zajdzie taka potrzeba, odciążając
tym samym główny serwer. FreeBSD może być również uruchamiany w
systemach <quote>bezydskowych</quote> zmniejszając tym samym cenę
komputerów służących za terminale.</para>
</listitem>
<indexterm><primary>Kolekcja kompilatorów GNU</primary></indexterm>
<listitem>
<para><emphasis>Programowanie:</emphasis> system FreeBSD zaopatrzony
jest w pełen zestaw narzędzi programistycznych, włączając w to
sławny kompilator oraz debugger GNU C/C++.</para>
</listitem>
</itemizedlist>
<para>FreeBSD jest dostępny zarówno w postaci kodu źródłowego jak i
skompilowanych binariów dostępnych na płytach CDROM, DVD i poprzez
anonimowy serwer FTP. <xref linkend="mirrors"> zawiera więcej informacji
nt. sposobów uzyskania FreeBSD.</para>
</sect2>
<sect2>
<title>Kto używa FreeBSD?</title>
<indexterm>
<primary>użytkownicy</primary>
<secondary>duże witryny WWW pracujące na FreeBSD</secondary>
</indexterm>
<para>FreeBSD zasila niektóre z największych witryn w Internecie,
m.in:</para>
<itemizedlist>
<indexterm><primary>Yahoo!</primary></indexterm>
<listitem>
<para><ulink url="http://www.yahoo.com/">Yahoo!</ulink></para>
</listitem>
<indexterm><primary>Apache</primary></indexterm>
<listitem>
<para><ulink url="http://www.apache.org/">Apache</ulink></para>
</listitem>
<indexterm><primary>Blue Mountain Arts</primary></indexterm>
<listitem>
<para><ulink url="http://www.bluemountain.com/">Blue Mountain
Arts</ulink></para>
</listitem>
<indexterm><primary>Pair Networks</primary></indexterm>
<listitem>
<para><ulink url="http://www.pair.com/">Pair
Networks</ulink></para>
</listitem>
<indexterm><primary>Sony Japan</primary></indexterm>
<listitem>
<para><ulink url="http://www.sony.co.jp/">Sony
Japan</ulink></para>
</listitem>
<indexterm><primary>Netcraft</primary></indexterm>
<listitem>
<para><ulink url="http://www.netcraft.com/">Netcraft</ulink>
</para>
</listitem>
<indexterm><primary>Weathernews</primary></indexterm>
<listitem>
<para><ulink url="http://www.wni.com/">Weathernews</ulink>
</para></listitem>
<indexterm><primary>Supervalu</primary></indexterm>
<listitem>
<para><ulink
url="http://www.supervalu.com/">Supervalu</ulink></para>
</listitem>
<indexterm><primary>TELEHOUSE America</primary></indexterm>
<listitem>
<para><ulink url="http://www.telehouse.com/">TELEHOUSE
America</ulink></para>
</listitem>
<indexterm><primary>Sophos Anti-Virus</primary></indexterm>
<listitem>
<para><ulink url="http://www.sophos.com/">Sophos
Anti-Virus</ulink></para>
</listitem>
<indexterm><primary>JMA Wired</primary></indexterm>
<listitem>
<para><ulink
url="http://www.jmawired.com/">JMA Wired</ulink></para>
</listitem>
</itemizedlist>
<para>i wiele więcej.</para>
</sect2>
</sect1>
<sect1 id="history">
<title>O Projekcie FreeBSD</title>
<para>Niniejszy podrozdział zawiera podstawowe informacje o projekcie,
m.in. krótką historię, cele stawiane przed projektem i stosowany
model rozwoju.</para>
<sect2 id="intro-history">
<sect2info role="firstperson">
<authorgroup>
<author>
<firstname>Jordan</firstname>
<surname>Hubbard</surname>
<contrib>Napisał </contrib>
</author>
</authorgroup>
</sect2info>
<title>Krótka historia FreeBSD</title>
<indexterm><primary>386BSD Patchkit</primary></indexterm>
<indexterm><primary>Hubbard, Jordan</primary></indexterm>
<indexterm><primary>Williams, Nate</primary></indexterm>
<indexterm><primary>Grimes, Rod</primary></indexterm>
<indexterm>
<primary>FreeBSD Project</primary>
<secondary>history</secondary>
</indexterm>
<para>Genezy projektu FreeBSD należy doszukiwać się w pierwszej
połowie roku 1993. Wyrósł on częściowo z <quote>Nieoficjalnego
zestawu łat dla 386BSD</quote> (patchkit). Stworzony został przez
trzech ostatnich koordynatorów zestawu: Nate'a Williamsa, Roda
Grimesa i mnie.</para>
<indexterm><primary>386BSD</primary></indexterm>
<para>Naszym pierwotnym celem było przygotowanie migawki z rozwoju
386BSD, wprowadzającej szereg poprawek, których mechanizm zestawu
łat nie był w stanie zrealizować. Niektórzy z czytających mogą
pamiętać wczesną nazwę projektu <quote>386BSD 0.5</quote> bądź
<quote>386BSD Interim</quote>.</para>
<indexterm><primary>Jolitz, Bill</primary></indexterm>
<para>386BSD był systemem operacyjnym Billa Jolitza, cierpiącym w
tym okresie z powodu przeszło rocznego zastoju. W wyniku puchnięcia
zestawu łat z dnia na dzień coraz bardziej, jednomyślnie postanowiliśmy
spróbować naprawić sytuację. Zdecydowaliśmy się wspomóc Billa
dostarczając owej <quote>porządkującej</quote> migawki. Niestety
plan spalił na panewce gdy Bill Jolitz nagle zdecydował cofnąć swoje
poparcie dla projektu, nie informując co zamierza wprowadzić
w jego miejsce.</para>
<indexterm><primary>Greenman, David</primary></indexterm>
<indexterm><primary>Walnut Creek CDROM</primary></indexterm>
<para>Szybko stwierdziliśmy, że rozpoczęte zadanie jest warte świeczki
nawet bez wsparcia Billa. Tym samym przyjęliśmy nazwę
<quote>FreeBSD</quote> ukutą przez Davida Greenmana. Cele
projektu zostały wstępnie określone po rozmowach z ówczesnymi
użytkownikami systemu. Gdy stało się jasne, że projekt zmierza
w kierunku stania się rzeczywistością, skontaktowałem się z
firmą Walnut Creek CDROM w celu usprawnienia metod dystrybucji
FreeBSD, szczególnie z myślą o tych nieszczęśnikach, którzy mieli
utrudniony dostęp do Internetu. Walnut Creek CDROM nie tylko wsparł
pomysł dystrybucji FreeBSD na płytach CD, ale również wyszedł nam
na przeciw oferując projektowi maszynę do pracy i szybkie łącze
z Internetem. Jest mało prawdopodobne, że projekt zaszedł by aż
tak daleko bez niespotykanej wręcz wiary Walnut Creek CDROM w
kompletnie mało znany projekt, którym w owym czasie był
FreeBSD.</para>
<indexterm><primary>4.3BSD-Lite</primary></indexterm>
<indexterm><primary>Net/2</primary></indexterm>
<indexterm><primary>Uniwersytet Kalifornijski w Berkeley</primary></indexterm>
<indexterm><primary>386BSD</primary></indexterm>
<indexterm><primary>Free Software Foundation</primary></indexterm>
<para>Pierwszą wersją rozprowadzaną na płytach CD (a także w
Internecie) był FreeBSD&nbsp;1.0, wydany w grudniu 1993 r.
Oparty był on bezpośrednio na 4.3BSD-Lite (<quote>Net/2</quote>)
z Uniwersytetu Kalifornijskiego w Berkeley. Zawierał również wiele
dodatkowych aplikacji pochodozących z 386BSD oraz Free Software
Foundation. Można przyjąć, iż osiągnał on całkiem rozsądny sukces
jak na pierwszą wersję. Następujące po nim wydanie FreeBSD&nbsp;1.1
w maju 1994 r. było pełnym sukcesem.</para>
<indexterm><primary>Novell</primary></indexterm>
<indexterm><primary>Uniwersytet Kalifornijski w Berkeley</primary></indexterm>
<indexterm><primary>Net/2</primary></indexterm>
<indexterm><primary>AT&amp;T</primary></indexterm>
<para>Mniej więcej w tym właśnie czasie czarne chmury niespodzianie
pojawiły się nad horyzontem. Powodem tego była ugoda w
przeciągającym się procesie pomiędzy Novellem i Uniwersytetem
w Berkeley odnośnie legalności kalifornijskiego Net/2. Jednym z
warunków ugody było ustępstwo Berkeley stwierdzające, iż znaczne
części kodu Net/2 zostały <quote>powielone</quote> z kodu systemu &unix;,
będącego własnością Novella, który z kolei nabył go wcześniej od AT&amp;T.
W zamian Berkley uzyskało <quote>błogosławieństwo</quote> Novella w
pracach nad 4.4BSD-Lite i zapewnienie, że gdy się w końcu pojawi nie
będzie określane jako kopia kodu Novella. Ponadto wszyscy użytkownicy
Net/2 mieli być gorąco zachęciani do aktualizacji systemu. Ugoda ta
dotyczyła również FreeBSD, bowiem projekt miał wstrzymać dystrybucję
swoich produktów bazujących na Net/2 do końca lipca 1994 r. Zgodnie
z warunkami porozumienia, pozwolono projektowi na jedno ostatnie
wydanie przed tym terminem. Było to FreeBSD&nbsp;1.1.5.1.</para>
<para>Rozpoczęła się żmudna praca nad ponownym stworzeniem FreeBSD
z części całkowicie nowego i raczej niekompletnego 4.4BSD-Lite.
Wydanie <quote>Lite</quote> było w rzeczy samej <quote>lekkie</quote>;
częściowo w wyniku usunięcia przez CSRG Uniwersytetu w Berkeley
wielkich partii kodu (z uwagi na pewne wymogi prawne), które odpowiadały
za przygotowanie samodzielnie uruchamiajacego się systemu, oraz z faktu,
że wersja 4.4 nie byla jeszcze gotowa na platformę Intela. Prace potrwały
do listopada 1994 r., kiedy to wydany został FreeBSD&nbsp;2.0, rozprowadzany
zarówno przez sieć jak i na płytach CD (w późnym grudniu). Pomimo kilku
niedociągnięć wydanie osiągneło znaczący sukces. Przy czym już w
styczniu 1995 r. zostało zastąpione stabilniejszym i łatwiejszym w
instalacji FreeBSD&nbsp;2.0.5.</para>
<para>FreeBSD&nbsp;2.1.5 wydaliśmy w sierpniu 1996. Wersja ta zyskała
popularność szczególnie pośród dostawców usług internetowych (ISP)
oraz szerokopojętej społeczności komercyjnej. Docenione zostało
również kolejne wydanie w gałęzi 2.1-STABLE. Mowa tu o
FreeBSD&nbsp;2.1.7.1, wydanym w lutym 1997 r., a zamykającym główne
prace nad 2.1-STABLE. Od tej pory trwały jedynie prace nad utrzymaniem
gałęzi (RELENG_2_1_0); dodawane były łaty bezpieczeństwa i naprawiane
krytyczne luki./para>
<para>Z głównego nurtu rozwojowu (<quote>-CURRENT</quote>) w listopadzie
1996 r. odgałęził się FreeBSD&nbsp;2.2 jako gałąź RELENG_2_2.
Piersze pełne wydanie (2.2.1) pojawiło się w kwietniu 1997 r.
Kolejne wydania z gałęzi 2.2 ujrzały światło dzienne w lecie i na
jesieni 1997 r., przy czym ostatnie (2.2.8) pojawiło się w listopadzie
1998 r. Pierwsze oficjalne wydanie 3.0 pochodzi z października
1998 r. i stanowiło początek końca gałęzi 2.2.</para>
<para>Drzewo ewolucji FreeBSD ponownie rozdzieliło się 20 stycznia
1999 r., prowadząc do 4.0-CURRENT i 3.X-STABLE. Wersja 3.1 z 3.X-STABLE
wydana została 15 lutego 1999, wersja 3.2 dnia 15 maja 1999, 3.3 w dniu
16 września 1999, 3.4 - 20 grudnia 1999 oraz 3.5 dnia 24 stycznia 2000.
Wkrótce pojawiło się również pomniejsze wydanie 3.5.1, które zawierało
kilka poprawek z ostatniej chwili do systemu Kerberos. Było to ostatnie
wydanie gałęzi 3.X.</para>
<para>Kolejne rozgałęzienie miało miejsce 13 marca 2000 r. w wyniku czego
pojawiła się gałąź 4.X-STABLE: 4.0-RELEASE w marcu 2000 i ostatnie
wydanie 4.11-RELEASE w styczniu 2005.</para>
<para>Pojawienie się długo oczekiwanej gałęzi 5.0-RELEASE zostało ogłoszone
19 stycznia 2003 r. Stanowiła ona punkt kulminacyjny prawie
trzyletniego wysiłku. Wydanie te wprowadziło FreeBSD na ścieżkę ku
współpracy z komputerami multiprocesorowymi oraz zaawansowanej
obsługi wątków aplikacji. Oferowała również wsparcie dla platform
&ultrasparc; i <literal>ia64</literal>. Wydanie 5.1 pojawiło się w
czerwcu 2003 r. Ostatnie wydanie 5.X z gałęzi -CURRENT stanowiło
5.2.1-RELEASE, wprowadzone w lutym 2004.</para>
<para>Gałąź RELENG_5 powstała w sierpniu 2004 r., a także wydanie
5.3-RELEASE, stanowi początek wydań gałęzi 5-STABLE. Najnowsze wydanie
&rel2.current;-RELEASE pojawiło się w maju 2006. Wydawane będą
wciąż kolejne wersje z gałęzi RELENG_5.</para>
<para>Kolejne rozgałęzienie nastąpiło w czerwcu 2005: powstała gałąź
RELENG_6. Wydanie 6.0-RELEASE, pierwsze z gałęzi 6.X, pojawiło się
w listopadzie 2005. Najnowsze wydanie &rel.current;-RELEASE ujrzało
światło dzienne w maju 2006 r. Będą pojawiać się również kolejne
wydania z gałęzi RELENG_6.</para>
<para>Na chwilę obecną projekty długoterminowe prowadzone są w gałęzi
7.X-CURRENT. Migawki wydań 7.X, obrazujące postęp prac, są cały
czas dostępne z
<ulink url="ftp://current.FreeBSD.org/pub/FreeBSD/snapshots/">serwera
migawkowego</ulink> jak również na płytach CD.</para>
</sect2>
<sect2 id="goals">
<sect2info>
<authorgroup>
<author>
<firstname>Jordan</firstname>
<surname>Hubbard</surname>
<contrib>Napisał </contrib>
</author>
</authorgroup>
</sect2info>
<title>Cele Projektu FreeBSD</title>
<indexterm>
<primary>FreeBSD Project</primary>
<secondary>goals</secondary>
</indexterm>
<para>Głównym celem Projektu FreeBSD jest dostarczanie
oprogramowania, które może być wykorzystane w dowolny sposób
i bez dodatkowych zobowiązań. Wielu z nas ma duży wkład w tworzenie
kodu (i rozwój projektu w ogóle) i z pewnością nie miałoby nic
przeciw drobnemu wsparciu finansowemu. Tym nie mniej nie wywieramy
żadnego nacisku. Wierzymy, że naszą pierwszą i najważniejszą
<quote>misją</quote> jest dostarczanie kodu wszystkim tym, ktorzy
go potrzebują bez względu na to do czego go wykorzystają, by zyskał
on możliwie najszerszą bazę użytkowników dostarczając możliwie
największych korzyści. W moim przekonaniu jest to jeden z najbardziej
fundamentalnych celów stawianych przed całym Wolnym Oprogramowaniem,
a przez nas entuzjastycznie wspierany.</para>
<indexterm>
<primary>GNU General Public License (GPL)</primary>
</indexterm>
<indexterm>
<primary>GNU Lesser General Public License (LGPL)</primary>
</indexterm>
<indexterm><primary>BSD Copyright</primary></indexterm>
<para>Te części kodu w naszym drzewie źródłowym, które udostępniane
są na licencji GNU General Public License (GPL) bądź Library General
Public License (LGPL) posiadają kilka dodatkowych zobowiązań, choć
związanych raczej z wymogiem udostępnienia kodu źródłowego. Z uwagi
na dodatkowe komplikacje, które mogą pojawić się w przypadku
komercyjnego zastosowania aplikacji na licencji GPL, osobiście
skłaniamy się - kiedy jest to możliwe - ku oprogramowaniu
dystrybuowanemu przy wykorzystaniu mniej restrykcyjnej licencji
BSD.</para>
</sect2>
<sect2 id="development">
<sect2info>
<authorgroup>
<author>
<firstname>Satoshi</firstname>
<surname>Asami</surname>
<contrib>Napisał </contrib>
</author>
</authorgroup>
</sect2info>
<title>Model rozwoju FreeBSD</title>
<indexterm>
<primary>Projekt FreeBSD</primary>
<secondary>model rozwoju</secondary>
</indexterm>
<para>Rozwój FreeBSD jest otwartym i elastycznym procesem
realizowanym przez setki ludzi na całym świecie (patrz
<ulink
url="&url.articles.contributors;/article.html">Lista
współpracowników</ulink>). Infrastruktura systemu rozwoju
FreeBSD pozwala tymże setkom projektantów współpracować przez
Internet. Tym nie mniej nieustannie poszukujemy nowych
projektantów, a także nowych pomysłów. Osoby zainteresowane
nawiązaniem bliższej współpracy z projektem mogą kontaktować
się z nami bezpośrednio poprzez &a.pl.hackers.b;. Natomiast
&a.pl.announce.m; jest również dostępna dla osób chcących
poinformować innych użytkowników FreeBSD o głównych
obszarach prowadzonych prac.</para>
<para>Oto garść informacji o projekcie FreeBSD i jego procesie
rozwoju, przydatnych zarówno niezależnym projektantom jak
i bliskim współpracownikom:</para>
<variablelist>
<varlistentry>
<term>Repozytorium CVS<anchor
id="development-cvs-repository"></term>
<indexterm>
<primary>CVS</primary>
<secondary>repozytorium</secondary>
</indexterm>
<indexterm>
<primary>Concurrent Versions System</primary>
<see>CVS</see>
</indexterm>
<listitem>
<para>Główne drzewo źródłowe FreeBSD utrzymywane jest w systemie
<ulink url="http://ximbiot.com/cvs/wiki/">CVS</ulink>
(Concurrent Versions System) - wolnodostępnym narzędziu
kontroli wersji kodu źródłowego, dostępnym we FreeBSD.
Podstawowe <ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi">repozytorium
CVS</ulink> znajduje się na maszynie zlokalizowanej w Santa Clara w Kalifornii,
USA, skąd replikowane jest na serwery lustrzane, rozrzucone po
całym świecie. Główne drzewo CVS, zawierające zarówno drzewo
<link linkend="current">-CURRENT</link> jak i <link
linkend="stable">-STABLE</link>, można łatwo skopiować również
na swój własny komputer. Proces ten został dokładniej opisany
w podroździale <link linkend="synching">Synchronizacja własnego
drzewa kodu źródłowego</link>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Lista twórców<anchor
id="development-committers"></term>
<indexterm><primary>twórcy</primary></indexterm>
<listitem>
<para><firstterm>Twórcy</firstterm> są ludźmi, którzy posiadają prawa
zapisu do drzewa CVS i posiadają upoważnienie do wprowadzania
modyfikacji do kodu źródłowego FreeBSD. Angielski odpowiednik
terminu <quote>twórca</quote> (ang. committer) pochodzi od
polecenia <command>commit</command> systemu &man.cvs.1;,
stosowanego do wprowadzania zmian do repozytorium CVS.
Najlepszym sposobem przedstawienia własnych propozycji na liście
dyskusyjnej twórców jest wykorzystanie polecenia &man.send-pr.1;.
Jeśli system sprawia wrażenie zablokowanego można również wysłać
e-mail bezpośrednio na &a.pl.committers.b;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Główni projektanci FreeBSD<anchor id="development-core"></term>
<indexterm><primary>zespół główny</primary></indexterm>
<listitem>
<para>Porównując Projekt FreeBSD z przedsiębiorstwem,
<firstterm>zespół główny</firstterm> należałoby porównać
z zarządem firmy. Podstawowym zadaniem tejże grupy jest
czuwanie nad prawidłowym rozwojem projektu jako całości.
Jedną z funkcji grupy jest zapraszanie oddanych i odpowiedzialnych
projektantów w szeregi twórców systemu, podobnie jak przyjmowanie
w szeregi samej grupy. Obecna grupa została wybrana spośród
wszystkich twórców w czerwcu 2004 r. Wybory mają miejsce co
dwa lata.</para>
<para>Niektórzy z członków grupy posiadają również dodatkowy
zakres obowiązków, tj. czuwają nad zapewnieniem poprawnego
funkcjonowania wybranych części systemu. Pełna lista projektantów
FreeBSD i ich obowiązków dostępna jest w artykule <ulink
url="&url.articles.contributors;/article.html">Lista
współpracowników</ulink>.</para>
<note>
<para>Większość członków grupy jest ochotnikami, jeśli
chodzi o rozwój FreeBSD, i nie otrzymują żadnego wynagrodzenia
finansowwego z projektu. Nie należy zatem błędnie
interpretować <quote>współpracy</quote> z projektem jako
<quote>gwarancji wsparcia</quote>. W tym świetle, powyższe
porównanie z <quote>zarządem</quote> nie jest do końca celne.
Bardziej odpowiednim byłoby powiedzieć, że są to ludzie,
którzy z własnego wyboru oddali swój wolny czas dla
FreeBSD!</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term>Zewnętrzni współpracownicy</term>
<indexterm><primary>współpracownicy</primary></indexterm>
<listitem>
<para>Co prawda jako ostatnia, ale zdecydowanie nie jako
najmniej istotna, omówiona zostanie grupa współpracowników
zewnętrznych, czyli samych użytkowników, którzy dostarczają
na bieżąco informacji o funkcjonowaniu systemu oraz poprawek
wykrytych błędów. Najlepszym sposobem na udział w rozwoju
FreeBSD jest subskrypcja &a.pl.hackers.d;. <xref
linkend="eresources"> zawiera więcej informacji o różnorodnych
listach dyskusyjnych FreeBSD.</para>
<para><citetitle><ulink
url="&url.articles.contributors;/article.html">Lista współpracowników
FreeBSD</ulink></citetitle> cały czas rośnie. Czemu by nie dołączyć
do listy pomagając w pracy nad FreeBSD już dzisiaj?</para>
<para>Pisanie kodu nie jest jedyną formą współpracy z projektem:
kompletna lista rzeczy, które trzeba zrobić dostępna jest na
<ulink url="&url.base;/index.html">stronie Projektu
FreeBSD</ulink>.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Reasumując, nasz model rozwoju zorganizowany jest jako niezależne,
współcentryczne okręgi. Zcentralizowany model ma za zadanie ułatwić
<emphasis>użytkownikom</emphasis> FreeBSD śledzenie zmian w kodzie.
Odstraszanie potencjalnych współpracowników nie jest naszym celem!
Pragniemy dostarczać stabilny system operacyjny z dużą bazą łatwych
do instalacji i wykorzystania <link linkend="ports">programów</link>
&mdash; ten model doskonale się w tym spisuje.</para>
<para>Jedyne o co prosimy tych, którzy mieliby wstąpić w szeregi
projektantów FreeBSD, jest oddanie takie same jakie cechuje ich
obecnych twórców.</para>
</sect2>
<sect2 id="relnotes">
<title>Aktualne wydanie FreeBSD</title>
<indexterm><primary>NetBSD</primary></indexterm>
<indexterm><primary>OpenBSD</primary></indexterm>
<indexterm><primary>386BSD</primary></indexterm>
<indexterm><primary>Free Software Foundation</primary></indexterm>
<indexterm><primary>Uniwersytet Kalifornijski w Berkeley</primary></indexterm>
<indexterm>
<primary>Computer Systems Research Group (CSRG)</primary>
</indexterm>
<para>FreeBSD jest łatwo dostępnym systemem operacyjnym, bazującym
na kodzie 4.4BSD-Lite, dla następujących platform sprzętowych:
Intel &i386;, &i486;, &pentium;,
&pentium;&nbsp;Pro,
&celeron;,
&pentium;&nbsp;II,
&pentium;&nbsp;III,
&pentium;&nbsp;4 (bądź inny zgodny),
&xeon;, DEC <trademark>Alpha</trademark>
oraz Sun &ultrasparc;. Opiera się on przede wszystkim na oprogramowaniu
grupy CSRG z Uniwersytetu Kalifornijskiego w Berkeley, rozszerzonym o dodatkowe
elementy z NetBSD, OpenBSD, 386BSD i Free Software Foundation.</para>
<para>Począwszy od wydania FreeBSD&nbsp;2.0 w końcu 1994 r., nastąpiła
dramatyczna poprawa wydajności, możliwości i stabilności systemu.
<!-- XXX is the rest of this paragraph still true ? -->
<!-- Ja tu tylko tlumacze :) -->
Największą zmianą była całkowita reformacja systemu wirtualnej pamięci
wraz ze współdzieloną pamięcią podręczną <quote>VM/buffer cache</quote>,
która nie tylko wpłynęła na wzrost wydajności ale również zmniejszenie
minimalnego miejsca zajmowanego w pamięci przez FreeBSD &mdash;
5&nbsp;MB jest już akceptowalnym minimum. Inne rozszerzenia to m.in.
kompletna obsługa klienta i serwera NIS, wsparcie dla transakcji TCP,
wdzwanianie na żądanie PPP, zintegrowana obsługa DHCP, usprawniony
podsystem SCSI, obsługa ISDN, ATM, FDDI, Fast i Gigabit Ethernet
(100 i 1000&nbsp;Mbit). Usprawniona obsługa najnowszych kontrolerów
Adaptec i tysiące poprawionych błędów.</para>
<para>Oprócz podstawowej grupy aplikacji dystrybuowanych wraz z
systemem, FreeBSD oferuje kolekcję tysięcy dodatkowych programów.
W momencie pisania niniejszego tekstu ich lista obejmuje ponad &os.numports;
pozycji! Od serwerów http (WWW) poprzez gry po edytory i prawie wszystko
pomiędzy. Cała Kolekcja Portów zajmuje około &ports.size; na dysku, przy
czym każdy port to zaledwie ułamek oryginalnej objętości źródeł. Takie
rozwiązanie ułatwia man aktualizację portów i zdecydowanie zmniejsza
zajmowaną przestrzeń na dysku. Kompilacja portu sprowadza się do zmiany
katalogu na zawierający port wybranego programu i wpisanie
<command>make install</command>. Resztą zajmuje się system. Oryginalne
pakiety źródeł dla każdego kompilowanego portu pobierane są dynamicznie z
płyty CDROM bądź lokalnego serwera FTP. Wystarczy zadbać o dostateczną
ilość wolnego miejsca na dysku. Dla osób nie mających ochoty kompilować
programów własnoręcznie, większość portów jest również dostępna w
skompilowanej postaci jako <quote>pakiety</quote>, które mogą być
instalowane przy pomocy prostego polecenia <command>pkg_add</command>.
Więcej informacji o systemie pakietów i portów zawiera <xref
linkend="ports">.</para>
<para>Dodatkowe dokumenty pomocne przy instalacji i użytkowaniu FreeBSD
znajdują się również w katalogu <filename>/usr/share/doc</filename>
na maszynach z najnowszymi wersjami FreeBSD. Mogą być przeglądane
lokalnie za pomocą przeglądarki internetowej przy wykorzystaniu
poniższych odnośników:</para>
<variablelist>
<varlistentry>
<term>Podręczki FreeBSD (ang.)</term>
<listitem>
<para><ulink type="html"
url="file://localhost/usr/share/doc/handbook/index.html"><filename>/usr/share/doc/handbook/index.html</filename></ulink></para>
</listitem>
</varlistentry>
<varlistentry>
<term>FAQ FreeBSD (ang.)</term>
<listitem>
<para><ulink type="html"
url="file://localhost/usr/share/doc/faq/index.html"><filename>/usr/share/doc/faq/index.html</filename></ulink></para>
</listitem>
</varlistentry>
</variablelist>
<para>Główne i najczęściej aktualizowane wersje dokumentów dostępne
są na stronie <ulink
url="http://www.FreeBSD.org/"></ulink>.</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: ("../book.sgml" "part" "chapter")
End:
-->

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= kernelconfig/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= l10n/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

View file

@ -0,0 +1,940 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="l10n">
<chapterinfo>
<authorgroup>
<author>
<firstname>Andrey</firstname>
<surname>Chernov</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Michael C.</firstname>
<surname>Wu</surname>
<contrib>Rewritten by </contrib>
</author>
<!-- 30 Nv 2000 -->
</authorgroup>
</chapterinfo>
<title>Localization - I18N/L10N Usage and Setup</title>
<sect1 id="l10n-synopsis">
<title>Synopsis</title>
<para>FreeBSD is a very distributed project with users and
contributors located all over the world. This chapter discusses
the internationalization and localization features of FreeBSD
that allow non-English speaking users to get real work done.
There are many aspects of the i18n implementation in both the system
and application levels, so where applicable we refer the reader
to more specific sources of documentation.</para>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem><para>How different languages and locales are encoded
on modern operating systems.</para></listitem>
<listitem><para>How to set the locale for your login
shell.</para></listitem>
<listitem><para>How to configure your console for non-English
languages.</para></listitem>
<listitem><para>How to use X Window System effectively with different
languages.</para></listitem>
<listitem><para>Where to find more information about writing
i18n-compliant applications.</para></listitem>
</itemizedlist>
<para>Before reading this chapter, you should:</para>
<itemizedlist>
<listitem><para>Know how to install additional third-party
applications (<xref linkend="ports">).</para></listitem>
</itemizedlist>
</sect1>
<sect1 id="l10n-basics">
<title>The Basics</title>
<sect2>
<title>What Is I18N/L10N?</title>
<indexterm>
<primary>internationalization</primary>
<see>localization</see>
</indexterm>
<indexterm><primary>localization</primary></indexterm>
<para>Developers shortened internationalization into the term I18N,
counting the number of letters between the first and the last
letters of internationalization. L10N uses the same naming
scheme, coming from <quote>localization</quote>. Combined
together, I18N/L10N methods, protocols, and applications allow
users to use languages of their choice.</para>
<para>I18N applications are programmed using I18N kits under
libraries. It allows for developers to write a simple file and
translate displayed menus and texts to each language. We strongly
encourage programmers to follow this convention.</para>
</sect2>
<sect2>
<title>Why Should I Use I18N/L10N?</title>
<para>I18N/L10N is used whenever you wish to either view, input, or
process data in non-English languages.</para>
</sect2>
<sect2>
<title>What Languages Are Supported in the I18N Effort?</title>
<para>I18N and L10N are not FreeBSD specific. Currently, one can
choose from most of the major languages of the World, including
but not limited to: Chinese, German, Japanese, Korean, French,
Russian, Vietnamese and others.</para>
</sect2>
</sect1>
<sect1 id="using-localization">
<title>Using Localization</title>
<para>In all its splendor, I18N is not FreeBSD-specific and is a
convention. We encourage you to help FreeBSD in following this
convention.</para>
<indexterm><primary>locale</primary></indexterm>
<para>Localization settings are based on three main terms:
Language Code, Country Code, and Encoding. Locale names are
constructed from these parts as follows:</para>
<programlisting><replaceable>LanguageCode</replaceable>_<replaceable>CountryCode</replaceable>.<replaceable>Encoding</replaceable></programlisting>
<sect2>
<title>Language and Country Codes</title>
<indexterm><primary>language codes</primary></indexterm>
<indexterm><primary>country codes</primary></indexterm>
<para>In order to localize a FreeBSD system to a specific language
(or any other I18N-supporting &unix; like systems), the user needs to find out
the codes for the specify country and language (country
codes tell applications what variation of given
language to use). In addition, web
browsers, SMTP/POP servers, web servers, etc. make decisions based on
them. The following are examples of language/country codes:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Language/Country Code</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>en_US</entry>
<entry>English - United States</entry>
</row>
<row>
<entry>ru_RU</entry>
<entry>Russian for Russia</entry>
</row>
<row>
<entry>zh_TW</entry>
<entry>Traditional Chinese for Taiwan</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2>
<title>Encodings</title>
<indexterm><primary>encodings</primary></indexterm>
<indexterm><primary>ASCII</primary></indexterm>
<para>Some languages use non-ASCII encodings that are 8-bit, wide
or multibyte characters, see &man.multibyte.3; for more
details. Older applications do not recognize them
and mistake them for control characters. Newer applications
usually do recognize 8-bit characters. Depending on the
implementation, users may be required to compile an application
with wide or multibyte characters support, or configure it correctly.
To be able to input and process wide or multibyte characters, the <ulink
url="&url.base;/ports/index.html">FreeBSD Ports Collection</ulink> has provided
each language with different programs. Refer to the I18N
documentation in the respective FreeBSD Port.</para>
<para>Specifically, the user needs to look at the application
documentation to decide on how to configure it correctly or to
pass correct values into the configure/Makefile/compiler.</para>
<para>Some things to keep in mind are:</para>
<itemizedlist>
<listitem>
<para>Language specific single C chars character sets
(see &man.multibyte.3;), e.g.
ISO8859-1, ISO8859-15, KOI8-R, CP437.</para>
</listitem>
<listitem>
<para>Wide or multibyte encodings, e.g. EUC, Big5.</para>
</listitem>
</itemizedlist>
<para>You can check the active list of character sets at the
<ulink
url="http://www.iana.org/assignments/character-sets">IANA Registry</ulink>.</para>
<note>
<para>&os; use X11-compatible locale encodings instead.</para>
</note>
</sect2>
<sect2>
<title>I18N Applications</title>
<para>In the FreeBSD Ports and Package system, I18N applications
have been named with <literal>I18N</literal> in their names for
easy identification. However, they do not always support the
language needed.</para>
</sect2>
<sect2 id="setting-locale">
<title>Setting Locale</title>
<para>Usually it is sufficient to export the value of the locale name
as <envar>LANG</envar> in the login shell. This could be done in
the user's <filename>~/.login_conf</filename> file or in the
startup file of the user's shell (<filename>~/.profile</filename>,
<filename>~/.bashrc</filename>, <filename>~/.cshrc</filename>).
There is no need to set the locale subsets such as
<envar>LC_CTYPE</envar>, <envar>LC_CTIME</envar>. Please
refer to language-specific FreeBSD documentation for more
information.</para>
<para>You should set the following two environment variables in your configuration
files:</para>
<itemizedlist>
<indexterm><primary>POSIX</primary></indexterm>
<listitem>
<para><envar>LANG</envar> for &posix; &man.setlocale.3; family
functions</para>
</listitem>
<indexterm><primary>MIME</primary></indexterm>
<listitem>
<para><envar>MM_CHARSET</envar> for applications' MIME character
set</para>
</listitem>
</itemizedlist>
<para>This includes the user shell configuration, the specific application
configuration, and the X11 configuration.</para>
<sect3>
<title>Setting Locale Methods</title>
<indexterm><primary>locale</primary></indexterm>
<indexterm><primary>login class</primary></indexterm>
<para>There are two methods for setting locale, and both are
described below. The first (recommended one) is by assigning
the environment variables in <link linkend="login-class">login
class</link>, and the second is by adding the environment
variable assignments to the system's shell <link
linkend="startup-file">startup file</link>.</para>
<sect4 id="login-class">
<title>Login Classes Method</title>
<para>This method allows environment variables needed for locale
name and MIME character sets to be assigned once for every
possible shell instead of adding specific shell assignments to
each shell's startup file. <link linkend="usr-setup">User
Level Setup</link> can be done by an user himself and <link
linkend="adm-setup">Administrator Level Setup</link> require
superuser privileges.</para>
<sect5 id="usr-setup">
<title>User Level Setup</title>
<para>Here is a minimal example of a
<filename>.login_conf</filename> file in user's home
directory which has both variables set for Latin-1
encoding:</para>
<programlisting>me:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:</programlisting>
<indexterm><primary>Traditional Chinese</primary><secondary>BIG-5 encoding</secondary></indexterm>
<para>Here is an example of a
<filename>.login_conf</filename> that sets the variables
for Traditional Chinese in BIG-5 encoding. Notice the many
more variables set because some software does not respect
locale variables correctly for Chinese, Japanese, and Korean.</para>
<programlisting>#Users who do not wish to use monetary units or time formats
#of Taiwan can manually change each variable
me:\
:lang=zh_TW.Big5:\
:lc_all=zh_TW.Big:\
:lc_collate=zh_TW.Big5:\
:lc_ctype=zh_TW.Big5:\
:lc_messages=zh_TW.Big5:\
:lc_monetary=zh_TW.Big5:\
:lc_numeric=zh_TW.Big5:\
:lc_time=zh_TW.Big5:\
:charset=big5:\
:xmodifiers="@im=xcin": #Setting the XIM Input Server</programlisting>
<para>See <link linkend="adm-setup">Administrator Level
Setup</link> and &man.login.conf.5; for more details.</para>
</sect5>
<sect5 id="adm-setup">
<title>Administrator Level Setup</title>
<para>Verify that the user's login class in
<filename>/etc/login.conf</filename> sets the correct
language. Make sure these settings
appear in <filename>/etc/login.conf</filename>:</para>
<programlisting><replaceable>language_name</replaceable>:<replaceable>accounts_title</replaceable>:\
:charset=<replaceable>MIME_charset</replaceable>:\
:lang=<replaceable>locale_name</replaceable>:\
:tc=default:</programlisting>
<para>So sticking with our previous example using Latin-1, it
would look like this:</para>
<programlisting>german:German Users Accounts:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:\
:tc=default:</programlisting>
<para>Before changing users Login Classes execute
the following command</para>
<screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen>
<para>to make new configuration in
<filename>/etc/login.conf</filename> visible to the system.</para>
<bridgehead renderas=sect4>Changing Login Classes with &man.vipw.8;</bridgehead>
<indexterm>
<primary><command>vipw</command></primary>
</indexterm>
<para>Use <command>vipw</command> to add new users, and make
the entry look like this:</para>
<programlisting>user:password:1111:11:<replaceable>language</replaceable>:0:0:User Name:/home/user:/bin/sh</programlisting>
<bridgehead renderas=sect4>Changing Login Classes with &man.adduser.8;</bridgehead>
<indexterm>
<primary><command>adduser</command></primary>
</indexterm>
<indexterm><primary>login class</primary></indexterm>
<para>Use <command>adduser</command> to add new users, and do
the following:</para>
<itemizedlist>
<listitem>
<para>Set <literal>defaultclass =
<replaceable>language</replaceable></literal> in
<filename>/etc/adduser.conf</filename>. Keep in mind
you must enter a <literal>default</literal> class for
all users of other languages in this case.</para>
</listitem>
<listitem>
<para>An alternative variant is answering the specified
language each time that
<screen><prompt>Enter login class: default []: </prompt></screen>
appears from &man.adduser.8;.</para>
</listitem>
<listitem>
<para>Another alternative is to use the following for each
user of a different language that you wish to
add:</para>
<screen>&prompt.root; <userinput>adduser -class <replaceable>language</replaceable></userinput></screen>
</listitem>
</itemizedlist>
<bridgehead renderas=sect4>Changing Login Classes with &man.pw.8;</bridgehead>
<indexterm>
<primary><command>pw</command></primary>
</indexterm>
<para>If you use &man.pw.8; for adding new users, call it in
this form:</para>
<screen>&prompt.root; <userinput>pw useradd <replaceable>user_name</replaceable> -L <replaceable>language</replaceable></userinput></screen>
</sect5>
</sect4>
<sect4 id="startup-file">
<title>Shell Startup File Method</title>
<note>
<para>This method is not recommended because it requires a
different setup for each possible shell program chosen. Use
the <link linkend="login-class">Login Class Method</link>
instead.</para>
</note>
<indexterm><primary>MIME</primary></indexterm>
<indexterm><primary>locale</primary></indexterm>
<para>To add the locale name and MIME character set, just set
the two environment variables shown below in the
<filename>/etc/profile</filename> and/or
<filename>/etc/csh.login</filename> shell startup files. We
will use the German language as an example below:</para>
<para>In <filename>/etc/profile</filename>:</para>
<programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar>
<envar>MM_CHARSET=ISO-8859-1; export MM_CHARSET</envar></programlisting>
<para>Or in <filename>/etc/csh.login</filename>:</para>
<programlisting><envar>setenv LANG de_DE.ISO8859-1</envar>
<envar>setenv MM_CHARSET ISO-8859-1</envar></programlisting>
<para>Alternatively, you can add the above instructions to
<filename>/usr/share/skel/dot.profile</filename> (similar to
what was used in <filename>/etc/profile</filename> above), or
<filename>/usr/share/skel/dot.login</filename> (similar to
what was used in <filename>/etc/csh.login</filename>
above).</para>
<para>For X11:</para>
<para>In <filename>$HOME/.xinitrc</filename>:</para>
<programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar></programlisting>
<para>Or:</para>
<programlisting><envar>setenv LANG de_DE.ISO8859-1</envar></programlisting>
<para>Depending on your shell (see above).</para>
</sect4>
</sect3>
</sect2>
<sect2 id="setting-console">
<title>Console Setup</title>
<para>For all single C chars character sets, set the correct
console fonts in <filename>/etc/rc.conf</filename> for the
language in question with:</para>
<programlisting>font8x16=<replaceable>font_name</replaceable>
font8x14=<replaceable>font_name</replaceable>
font8x8=<replaceable>font_name</replaceable></programlisting>
<para>The <replaceable>font_name</replaceable> here is taken from
the <filename>/usr/share/syscons/fonts</filename> directory,
without the <filename>.fnt</filename> suffix.</para>
<indexterm>
<primary><application>sysinstall</application></primary>
</indexterm>
<indexterm><primary>keymap</primary></indexterm>
<indexterm><primary>screenmap</primary></indexterm>
<para>Also be sure to set the correct keymap and screenmap for your
single C chars character set through
<command>sysinstall</command> (<command>/stand/sysinstall</command>
in &os; versions older than 5.2).
Once inside <application>sysinstall</application>, choose <guimenuitem>Configure</guimenuitem>, then
<guimenuitem>Console</guimenuitem>. Alternatively, you can add the
following to <filename>/etc/rc.conf</filename>:</para>
<programlisting>scrnmap=<replaceable>screenmap_name</replaceable>
keymap=<replaceable>keymap_name</replaceable>
keychange="<replaceable>fkey_number sequence</replaceable>"</programlisting>
<para>The <replaceable>screenmap_name</replaceable> here is taken
from the <filename>/usr/share/syscons/scrnmaps</filename>
directory, without the <filename>.scm</filename> suffix. A
screenmap with a corresponding mapped font is usually needed as a
workaround for expanding bit 8 to bit 9 on a VGA adapter's font
character matrix in pseudographics area, i.e., to move letters out
of that area if screen font uses a bit 8 column.</para>
<para>If you have the <application>moused</application> daemon
enabled by setting the following
in your <filename>/etc/rc.conf</filename>:</para>
<programlisting>moused_enable="YES"</programlisting>
<para>then examine the mouse cursor information in the next
paragraph.</para>
<indexterm>
<primary><application>moused</application></primary>
</indexterm>
<para>By default the mouse cursor of the &man.syscons.4; driver occupies the
0xd0-0xd3 range in the character set. If your language uses this
range, you need to move the cursor's range outside of it. To enable
the workaround for &os;, add the following line to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>mousechar_start=3</programlisting>
<para>The <replaceable>keymap_name</replaceable> here is taken from
the <filename>/usr/share/syscons/keymaps</filename> directory,
without the <filename>.kbd</filename> suffix. If you are
uncertain which keymap to use, you use can &man.kbdmap.1; to test
keymaps without rebooting.</para>
<para>The <literal>keychange</literal> is usually needed to program
function keys to match the selected terminal type because
function key sequences cannot be defined in the key map.</para>
<para>Also be sure to set the correct console terminal type in
<filename>/etc/ttys</filename> for all <literal>ttyv*</literal>
entries. Current pre-defined correspondences are:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Character Set</entry>
<entry>Terminal Type</entry>
</row>
</thead>
<tbody>
<row>
<entry>ISO8859-1 or ISO8859-15</entry>
<entry><literal>cons25l1</literal></entry>
</row>
<row>
<entry>ISO8859-2</entry>
<entry><literal>cons25l2</literal></entry>
</row>
<row>
<entry>ISO8859-7</entry>
<entry><literal>cons25l7</literal></entry>
</row>
<row>
<entry>KOI8-R</entry>
<entry><literal>cons25r</literal></entry>
</row>
<row>
<entry>KOI8-U</entry>
<entry><literal>cons25u</literal></entry>
</row>
<row>
<entry>CP437 (VGA default)</entry>
<entry><literal>cons25</literal></entry>
</row>
<row>
<entry>US-ASCII</entry>
<entry><literal>cons25w</literal></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>For wide or multibyte characters languages, use the correct
FreeBSD port in your
<filename>/usr/ports/<replaceable>language</replaceable></filename>
directory. Some ports appear as console while the system sees it
as serial vtty's, hence you must reserve enough vtty's for both
X11 and the pseudo-serial console. Here is a partial list of
applications for using other languages in console:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Language</entry>
<entry>Location</entry>
</row>
</thead>
<tbody>
<row>
<entry>Traditional Chinese (BIG-5)</entry>
<entry><filename role="package">chinese/big5con</filename></entry>
</row>
<row>
<entry>Japanese</entry>
<entry><filename role="package">japanese/kon2-16dot</filename> or
<filename role="package">japanese/mule-freewnn</filename></entry>
</row>
<row>
<entry>Korean</entry>
<entry><filename role="package">korean/han</filename></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2>
<title>X11 Setup</title>
<para>Although X11 is not part of the FreeBSD Project, we have
included some information here for FreeBSD users. For more
details, refer to the <ulink
url="http://www.x.org/">&xorg;
web site</ulink> or whichever X11 Server you use.</para>
<para>In <filename>~/.Xresources</filename>, you can additionally
tune application specific I18N settings (e.g., fonts, menus,
etc.).</para>
<sect3>
<title>Displaying Fonts</title>
<indexterm><primary>X11 True Type font server</primary></indexterm>
<para>Install <application>&xorg;</application> server
(<filename role="package">x11-servers/xorg-server</filename>)
or <application>&xfree86;</application> server
(<filename role="package">x11-servers/XFree86-4-Server</filename>),
then install the language &truetype; fonts. Setting the correct
locale should allow you to view your selected language in menus
and such.</para>
</sect3>
<sect3>
<title>Inputting Non-English Characters</title>
<indexterm><primary>X11 Input Method (XIM)</primary></indexterm>
<para>The X11 Input Method (XIM) Protocol is a new standard for
all X11 clients. All X11 applications should be written as XIM
clients that take input from XIM Input servers. There are
several XIM servers available for different languages.</para>
</sect3>
</sect2>
<sect2>
<title>Printer Setup</title>
<para>Some single C chars character sets are usually hardware
coded into printers. Wide or multibyte
character sets require special setup and we recommend using
<application>apsfilter</application>. You may also convert the
document to &postscript; or PDF formats using language specific
converters.</para>
</sect2>
<sect2>
<title>Kernel and File Systems</title>
<para>The FreeBSD fast filesystem (FFS) is 8-bit clean, so it can be used
with any single C chars character set (see &man.multibyte.3;),
but there is no character set
name stored in the filesystem; i.e., it is raw 8-bit and does not
know anything about encoding order. Officially, FFS does not
support any form of wide or multibyte character sets yet. However, some
wide or multibyte character sets have independent patches for FFS
enabling such support. They are only temporary unportable
solutions or hacks and we have decided to not include them in the
source tree. Refer to respective languages' web sites for more
information and the patch files.</para>
<indexterm><primary>DOS</primary></indexterm>
<indexterm><primary>Unicode</primary></indexterm>
<para>The FreeBSD &ms-dos; filesystem has the configurable ability to
convert between &ms-dos;, Unicode character sets and chosen
FreeBSD filesystem character sets. See &man.mount.msdos.8; for
details.</para>
</sect2>
</sect1>
<sect1 id="l10n-compiling">
<title>Compiling I18N Programs</title>
<para>Many FreeBSD Ports have been ported with I18N support. Some
of them are marked with -I18N in the port name. These and many
other programs have built in support for I18N and need no special
consideration.</para>
<indexterm>
<primary><application>MySQL</application></primary>
</indexterm>
<para>However, some applications such as
<application>MySQL</application> need to be have the
<filename>Makefile</filename> configured with the specific
charset. This is usually done in the
<filename>Makefile</filename> or done by passing a value to
<application>configure</application> in the source.</para>
</sect1>
<sect1 id="lang-setup">
<title>Localizing FreeBSD to Specific Languages</title>
<sect2 id="ru-localize">
<sect2info>
<authorgroup>
<author>
<firstname>Andrey</firstname>
<surname>Chernov</surname>
<contrib>Originally contributed by </contrib>
</author>
</authorgroup>
</sect2info>
<title>Russian Language (KOI8-R Encoding)</title>
<indexterm>
<primary>localization</primary>
<secondary>Russian</secondary>
</indexterm>
<para>For more information about KOI8-R encoding, see the <ulink
url="http://koi8.pp.ru/">KOI8-R References
(Russian Net Character Set)</ulink>.</para>
<sect3>
<title>Locale Setup</title>
<para>Put the following lines into your
<filename>~/.login_conf</filename> file:</para>
<programlisting>me:My Account:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:</programlisting>
<para>See earlier in this chapter for examples of setting up the
<link linkend="setting-locale">locale</link>.</para>
</sect3>
<sect3>
<title>Console Setup</title>
<itemizedlist>
<listitem>
<para>Add the following line
to your <filename>/etc/rc.conf</filename> file:</para>
<programlisting>mousechar_start=3</programlisting>
</listitem>
<listitem>
<para>Also, use following settings in
<filename>/etc/rc.conf</filename>:</para>
<programlisting>keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
font8x8="cp866-8x8"</programlisting>
</listitem>
<listitem>
<para>For each <literal>ttyv*</literal> entry in
<filename>/etc/ttys</filename>, use
<literal>cons25r</literal> as the terminal type.</para>
</listitem>
</itemizedlist>
<para>See earlier in this chapter for examples of setting up the
<link linkend="setting-console">console</link>.</para>
</sect3>
<sect3>
<title>Printer Setup</title>
<indexterm><primary>printers</primary></indexterm>
<para>Since most printers with Russian characters come with
hardware code page CP866, a special output filter is needed
to convert from KOI8-R to CP866. Such a filter is installed by
default as <filename>/usr/libexec/lpr/ru/koi2alt</filename>.
A Russian printer <filename>/etc/printcap</filename> entry
should look like:</para>
<programlisting>lp|Russian local line printer:\
:sh:of=/usr/libexec/lpr/ru/koi2alt:\
:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:</programlisting>
<para>See &man.printcap.5; for a detailed description.</para>
</sect3>
<sect3>
<title>&ms-dos; FS and Russian Filenames</title>
<para>The following example &man.fstab.5; entry enables support
for Russian filenames in mounted &ms-dos; filesystems:</para>
<programlisting>/dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0</programlisting>
<para>The option <option>-L</option> selects the locale name
used, and <option>-W</option> sets the character conversion
table. To use the <option>-W</option> option, be sure to
mount <filename>/usr</filename> before the &ms-dos; partition
because the conversion tables are located in
<filename>/usr/libdata/msdosfs</filename>. For more
information, see the &man.mount.msdos.8; manual
page.</para>
</sect3>
<sect3>
<title>X11 Setup</title>
<orderedlist>
<listitem>
<para>Do <link linkend="setting-locale">non-X locale
setup</link> first as described.</para>
</listitem>
<listitem>
<para>If you use <application>&xorg;</application>,
install
<filename role="package">x11-fonts/xorg-fonts-cyrillic</filename>
package.</para>
<para>Check the <literal>"Files"</literal> section
in your <filename>/etc/X11/xorg.conf</filename> file.
The following
lines must be added <emphasis>before</emphasis> any other
<literal>FontPath</literal> entries:</para>
<programlisting>FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"</programlisting>
<para>If you use a high resolution video mode, swap the 75 dpi
and 100 dpi lines.</para>
</listitem>
<listitem>
<para>To activate a Russian keyboard, add the following to the
<literal>"Keyboard"</literal> section of your
<filename>xorg.conf</filename> file.</para>
<programlisting>Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:toggle"</programlisting>
<para>Also make sure that <literal>XkbDisable</literal> is
turned off (commented out) there.</para>
<para>For <literal>grp:caps_toggle</literal>
the RUS/LAT switch will be <keycap>CapsLock</keycap>.
The old <keycap>CapsLock</keycap> function is still
available via <keycombo action="simul"><keycap>Shift</keycap><keycap>CapsLock</keycap></keycombo> (in LAT mode
only). For <literal>grp:toggle</literal>
the RUS/LAT switch will be <keycap>Right Alt</keycap>.
<literal>grp:caps_toggle</literal> does not work in
<application>&xorg;</application> for unknown reason.</para>
<para>If you have <quote>&windows;</quote> keys on your keyboard,
and notice that some non-alphabetical keys are mapped
incorrectly in RUS mode, add the following line in your
<filename>xorg.conf</filename> file.</para>
<programlisting>Option "XkbVariant" ",winkeys"</programlisting>
<note>
<para>The Russian XKB keyboard may not work with non-localized
applications.</para>
</note>
</listitem>
</orderedlist>
<note>
<para>Minimally localized applications
should call a <function>XtSetLanguageProc (NULL, NULL,
NULL);</function> function early in the program.</para>
<para>See <ulink
url="http://koi8.pp.ru/xwin.html">
KOI8-R for X Window</ulink> for more instructions on
localizing X11 applications.</para>
</note>
</sect3>
</sect2>
<sect2>
<title>Traditional Chinese Localization for Taiwan</title>
<indexterm>
<primary>localization</primary>
<secondary>Traditional Chinese</secondary>
</indexterm>
<para>The FreeBSD-Taiwan Project has an Chinese HOWTO for
FreeBSD at <ulink url="http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/"></ulink>
using many Chinese ports.
Current editor for the <literal>FreeBSD Chinese HOWTO</literal> is
Shen Chuan-Hsing <email>statue@freebsd.sinica.edu.tw</email>.
</para>
<para>Chuan-Hsing Shen <email>statue@freebsd.sinica.edu.tw</email> has
created the <ulink url="http://netlab.cse.yzu.edu.tw/~statue/cfc/">
Chinese FreeBSD Collection (CFC)</ulink> using FreeBSD-Taiwan's
<literal>zh-L10N-tut</literal>. The packages and the script files
are available at <ulink url="ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC/"></ulink>.</para>
</sect2>
<sect2>
<title>German Language Localization (for All ISO 8859-1
Languages)</title>
<indexterm>
<primary>localization</primary>
<secondary>German</secondary>
</indexterm>
<para>Slaven Rezic <email>eserte@cs.tu-berlin.de</email> wrote a
tutorial how to use umlauts on a FreeBSD machine. The tutorial
is written in German and available at
<ulink url="http://www.de.FreeBSD.org/de/umlaute/"></ulink>.</para>
</sect2>
<sect2>
<title>Japanese and Korean Language Localization</title>
<indexterm>
<primary>localization</primary>
<secondary>Japanese</secondary>
</indexterm>
<indexterm>
<primary>localization</primary>
<secondary>Korean</secondary>
</indexterm>
<para>For Japanese, refer to
<ulink url="http://www.jp.FreeBSD.org/"></ulink>,
and for Korean, refer to
<ulink url="http://www.kr.FreeBSD.org/"></ulink>.</para>
</sect2>
<sect2>
<title>Non-English FreeBSD Documentation</title>
<para>Some FreeBSD contributors have translated parts of FreeBSD to
other languages. They are available through links on the <ulink
url="&url.base;/index.html">main site</ulink> or in
<filename>/usr/share/doc</filename>.</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: ("../book.sgml" "part" "chapter")
End:
-->

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= linuxemu/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= mac/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= mail/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= mirrors/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= multimedia/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= network-servers/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,19 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= pgpkeys/chapter.sgml
PGPKEYS!= perl -ne 'm/\"([\w-]+.key)\"/ && print "$$1\n"' \
${DOC_PREFIX}/share/pgpkeys/pgpkeys.ent
SRCS+= ${PGPKEYS}
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

View file

@ -0,0 +1,50 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<!--
Do not edit this file except as instructed by the addkey.sh script.
See the README file in doc/share/pgpkeys for instructions.
-->
<appendix id="pgpkeys">
<title>PGP Keys</title>
<indexterm><primary>pgp keys</primary></indexterm>
<para>In case you need to verify a signature or send encrypted email
to one of the officers or developers a number of keys are provided
here for your convenience. A complete keyring of <hostid role="domainname">FreeBSD.org</hostid>
users is available for download from <ulink url="&url.base;/doc/pgpkeyring.txt">http://www.FreeBSD.org/doc/pgpkeyring.txt</ulink>.</para>
<sect1 id="pgpkeys-officers">
<title>Officers</title>
&section.pgpkeys-officers;
</sect1>
<sect1 id="pgpkeys-core">
<title>Core Team Members</title>
&section.pgpkeys-core;
</sect1>
<sect1 id="pgpkeys-developers">
<title>Developers</title>
&section.pgpkeys-developers;
</sect1>
</appendix>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../appendix.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "appendix")
End:
-->

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= ports/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= ppp-and-slip/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,612 @@
<!--
The FreeBSD Polish Documentation Project
$FreeBSD$
Original revision: 1.32
-->
<preface id="book-preface">
<title>Przedmowa</title>
<bridgehead id="preface-audience" renderas=sect1>Docelowy
czytelnik</bridgehead>
<para>Osoba poznaj±ca dopiero system FreeBSD odnajdzie w pierwszej
czê¶ci niniejszej ksi±¿ki szereg porad prowadz±cych u¿ytkownika
przez proces instalacji i delikatnie prezentuj±cych pewne koncepcje
i konwencje stoj±ce u podstaw systemów &unix;. Przebrniêcie przez
tê czê¶æ wymaga niewiele wiêcej ni¿ chêæ poznania i umiejêtno¶æ
przyswajania sobie nowych koncepcji w miarê jak bêd± one
prezentowane.</para>
<para>Po dotrwaniu do drugiej, zdecydowanie obszerniejszej czê¶ci
Podrêcznika, czytelnik bêdzie mia³ do dyspozycji pe³n± wiedzê z
zakresu wszystkich zagadnieñ znajdujacych siê w polu zainteresowañ
administratorów systemów FreeBSD. Niektóre z zawartych tutaj
rozdzia³ów mog± wymagaæ wcze¶niejszego zapoznania siê z odpowiedni±
literatur±. W takich przypadkach, bêdzie to wyszczególnione w
streszczeniu na pocz±tku ka¿dego rozdzia³u.</para>
<para><xref linkend="bibliography"> zawiera listê dodatkowych ¼róde³
informacji.</para>
<bridgehead id="preface-changes-from2" renderas=sect1>Zmiany od wydania
drugiego</bridgehead>
<para>Niniejsze trzecie wydanie stanowi punkt kulminacyjny przesz³o
dwuletniej pracy oddanych cz³onków Projektu Dokumentacji FreeBSD.
G³ówne zmiany jakie w tym okresie zosta³y dokonane to:</para>
<itemizedlist>
<listitem>
<para><xref linkend="config-tuning">, Konfiguracja i dostrajanie zosta³
poszerzony o nowe informacje o zarz±dzaniu moc± i zasobami APCI,
opis narzêdzia cron i kolejn± porcjê opcji dostrajania j±dra.</para>
</listitem>
<listitem>
<para><xref linkend="security">, Bezpieczeñstwo, zosta³ poszerzony
o nowe informacje odno¶nie wirtualnych sieci prywatnych (VPN),
list kontroli dostêpu do systemu plików, i biuletynach
bezpieczeñstwa.</para>
</listitem>
<listitem>
<para><xref linkend="mac">, Mandatory Access Control (MAC), is
a new chapter with this edition. It explains what MAC is
and how this mechanism can be used to secure a FreeBSD
system.</para>
</listitem>
<listitem>
<para><xref linkend="disks">, Storage, has been expanded with
new information about USB storage devices, file system
snapshots, file system quotas, file and network backed
filesystems, and encrypted disk partitions.</para>
</listitem>
<listitem>
<para><xref linkend="vinum-vinum">, Vinum, is a new chapter
with this edition. It describes how to use Vinum, a logical
volume manager which provides device-independent logical
disks, and software RAID-0, RAID-1 and RAID-5.</para>
</listitem>
<listitem>
<para>A troubleshooting section has been added to <xref
linkend="ppp-and-slip">, PPP and SLIP.</para>
</listitem>
<listitem>
<para><xref linkend="mail">, Electronic Mail, has been
expanded with new information about using alternative
transport agents, SMTP authentication, UUCP, fetchmail,
procmail, and other advanced topics.</para>
</listitem>
<listitem>
<para><xref linkend="network-servers">, Network Servers, is
all new with this edition. This chapter includes
information about setting up the Apache HTTP Server, FTPd,
and setting up a server for Microsoft Windows clients with
Samba. Some sections from <xref
linkend="advanced-networking">, Advanced Networking, were
moved here to improve the presentation.</para>
</listitem>
<listitem>
<para><xref linkend="advanced-networking">, Advanced
Networking, has been expanded with new information about
using Bluetooth devices with FreeBSD, setting up wireless
networks, and Asynchronous Transfer Mode (ATM)
networking.</para>
</listitem>
<listitem>
<para>Definicje i wykorzystywane w ksi±¿ce terminy techniczne
zosta³y zebrane razem w formie leksykonu.</para>
</listitem>
<listitem>
<para>Dokonano wielu estetycznych poprawek tabel i rysunków.</para>
</listitem>
</itemizedlist>
<bridgehead id="preface-changes" renderas=sect1>Zmiany od wydania pierwszego</bridgehead>
<para>Wydanie drugie stanowi³o punkt kulminacyjny przesz³o dwuletniej pracy
oddanych cz³onków Projektu Dokumentacji FreeBSD. G³ówne zmiany jakie w tym
okresie zosta³y dokonane to:</para>
<!-- Talk a little about justification and other stylesheet changes? -->
<itemizedlist>
<listitem>
<para>Dodano indeks.</para>
</listitem>
<listitem>
<para>Wszystkie diagramy ASCII zosta³y zast±pione rysunkami graficznymi.</para>
</listitem>
<listitem>
<para>Dodano standardowe streszczenie do wszystkich rozdzia³ów, informuj±ce
jakie informacje rozdzia³ zawiera i co powinien wiedzieæ czytelnik nim
przyst±pi do czytania.</para>
</listitem>
<listitem>
<para>Zawarto¶æ podrêcznika zosta³a zreorganizowana w trzy logiczne czê¶ci:
<quote>Pierwsze kroki</quote>, <quote>Administracja systemem</quote> oraz
<quote>Dodatki</quote>.</para>
</listitem>
<listitem>
<para><xref linkend="install"> (<quote>Instalacja FreeBSD</quote>) zosta³ ca³kowicie
przepisany na nowo.Do³±czono wiele zrzutów ekranu, by u³atwiæ nowym u¿ytkownikom
przyswojenie tekstu.</para>
</listitem>
<listitem>
<para><xref linkend="basics"> (<quote>Podstawy Uniksa</quote>) zosta³ poszerzony
o dodatkow informacje o procesach, demonach i sygna³ach.</para>
</listitem>
<listitem>
<para><xref linkend="ports"> (<quote>Instalacja programów</quote>) zosta³ poszerzony
o dodatkowe informacje o zarz±dzaniu pakietami binarnymi.</para>
</listitem>
<listitem>
<para><xref linkend="x11"> (<quote>System okien X</quote>) zosta³ w ca³ko¶ci
napisany od nowa k³ad±c nacisk na wspó³czesne ¶rodowiska graficzne we &xfree86; 4.X,
takie jak <application>KDE</application> i <application>GNOME</application>.</para>
</listitem>
<listitem>
<para><xref linkend="boot"> (<quote>Proces uruchamiania FreeBSD</quote>) zosta³
poszerzony.</para>
</listitem>
<listitem>
<para><xref linkend="disks"> (<quote>Pamiêæ</quote>) zosta³ napisany na podstawie
rozdzia³ów <quote>Dyski</quote> oraz <quote>Kopie zapasowe</quote>. Uwa¿amy, ¿e
zagadnienia te ³atwiej jest zrozumieæ, gdy s± przedstawiane jako jeden rozdzia³.
Dodano równie¿ podrozdzia³ traktuj±cy o RAID (zarówno sprzêtowym jak
i programowym).</para>
</listitem>
<listitem>
<para><xref linkend="serialcomms"> (<quote>Komunikacja szeregowa</quote>) zosta³ ca³kowicie
zreorganizowany i zaktualizowany dla FreeBSD 4.X/5.X.</para>
</listitem>
<listitem>
<para><xref linkend="ppp-and-slip"> (<quote>PPP i SLIP</quote>) zosta³y zasadniczo
zaktualizowane.</para>
</listitem>
<listitem>
<para><xref linkend="advanced-networking"> (<quote>Advanced Networking</quote>) zosta³
zaktualizowany.</para>
</listitem>
<listitem>
<para><xref linkend="mail"> (<quote>Poczta elektroniczna</quote>) zosta³ rozszerzony materia³y
traktuj±ce o konfiguracji programu <application>sendmail</application>.</para>
</listitem>
<listitem>
<para><xref linkend="linuxemu"> (<quote>Kompatybilno¶æ z Linuksem</quote>) zosta³ poszerzony
o informacje o instalacji bazy <application>&oracle;</application> oraz
<application>&sap.r3;</application>.</para>
</listitem>
<listitem>
<para>W drugim wydaniu dodano nowe rozdzia³y:</para>
<itemizedlist>
<listitem>
<para>Konfiguracja i dostrajanie (<xref linkend="config-tuning">).</para>
</listitem>
<listitem>
<para>Multimedia (<xref linkend="multimedia">)</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead id="preface-overview" renderas=sect1>Uk³ad ksi±¿ki</bridgehead>
<para>Niniejsza ksi±¿ka zosta³a podzielona na piêæ logicznych
czê¶ci. Czê¶æ pierwsza, <emphasis>Pierwsze kroki</emphasis>, opisuje
proces instalacji oraz podstawy u¿ytkowania systemu FreeBSD. Zaleca
siê aby czytelnik zapozna³ siê z tymi rozdzia³ami kolejno,
pomijaj±c jedynie znane tematy. Czê¶æ druga, <emphasis>Codzienne
czynno¶ci</emphasis>, prezentuje niektóre z najczê¶ciej wykorzystywanych
funkcji FreeBSD. Ta czê¶æ, wraz kolejnymi, mo¿e byæ czytania bez
okre¶lonej kolejno¶ci. Ka¿dy z wchodz±cych w jej sk³ad rozdzia³ów
zaczyna siê od zwiêz³ego strzeszczenia zawarto¶ci i przedstawienia
co czytelnik powinien ju¿ wiedzieæ. Celem takiego uk³adu jest pozwolenie
zwyk³emu czytelnikowi pomin±æ pewne rozdzia³y, by prej¶æ od razu do
najbardziej interesuj±cych. Czê¶æ trzecia, <emphasis>Administracja
Systemem</emphasis>, opisuje zagadnienia administracyjne. Czê¶æ czwarta,
<emphasis>Komunikacja sieciowa</emphasis>, zawiera tematy zwi±zane z prac±
w sieci oraz obs³ug± serwerów. Czê¶æ pi±ta zawiera dodatki.</para>
<variablelist>
<!-- Part I - Introduction -->
<varlistentry>
<term><emphasis><xref linkend="introduction">, Wprowadzenie</emphasis></term>
<listitem>
<para>Wprowadza nowego u¿ytkownika w ¶wiat FreeBSD. Streszcza historiê
Projektu FreeBSD, stawiane przed nim cele oraz model rozwoju.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="install">, Instalacja</emphasis></term>
<listitem>
<para>Przeprowadza u¿ytkownika przez ca³y proces instalacji. Opisuje
równie¿ kilka zaawansowanych zagadnieñ, jak np. instalacjê przez
konsolê szeregow±.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="basics">, Podstawy Uniksa</emphasis></term>
<listitem>
<para>Przedstawia podstawowe polecenie i funkcje systemu operacyjnego
FreeBSD. Je¶li pracowali¶my w Linuksie b±d¼ w innym systemie typu
&unix; najprawdopodobniej mo¿emy pomin±æ ten rozdzia³.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="ports">, Instalacja programów</emphasis></term>
<listitem>
<para>Opisuje metody instalacji dodatkowego oprogramowania we FreeBSD
za pomoc± systemu <quote>Kolekcji portów</quote> oraz typowych
pakietów binarnych.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="x11">, System okien X</emphasis></term>
<listitem>
<para>Opisuje ogólnie System okien X oraz wykorzystanie X11 we FreeBSD.
Ponadto, przedstawia typowe ¶rodowiska graficzne jak np.
<application>KDE</application> czy <application>GNOME</application>.</para>
</listitem>
</varlistentry>
<!-- Part II Common Tasks -->
<varlistentry>
<term><emphasis><xref linkend="desktop">, Aplikacje biurowe</emphasis></term>
<listitem>
<para>Lists some common desktop applications, such as web browsers
and productivity suites, and describes how to install them on
FreeBSD.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="multimedia">, Multimedia</emphasis></term>
<listitem>
<para>Shows how to set up sound and video playback support for your
system. Also describes some sample audio and video applications.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="kernelconfig">, Configuring the FreeBSD
Kernel</emphasis></term>
<listitem>
<para>Explains why you might need to configure a new kernel
and provides detailed instructions for configuring, building,
and installing a custom kernel.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="printing">, Printing</emphasis></term>
<listitem>
<para>Describes managing printers on FreeBSD, including
information about banner pages, printer accounting, and
initial setup.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="linuxemu">, &linux; Binary Compatibility</emphasis></term>
<listitem>
<para>Describes the &linux; compatibility features of FreeBSD.
Also provides detailed installation instructions for many
popular &linux; applications such as <application>&oracle;</application>, <application>&sap.r3;</application>, and
<application>&mathematica;</application>.</para>
</listitem>
</varlistentry>
<!-- Part III - System Administration -->
<varlistentry>
<term><emphasis><xref linkend="config-tuning">, Configuration and Tuning</emphasis></term>
<listitem>
<para>Describes the parameters available for system
administrators to tune a FreeBSD system for optimum
performance. Also describes the various configuration files
used in FreeBSD and where to find them.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="boot">, Booting Process</emphasis></term>
<listitem>
<para>Describes the FreeBSD boot process and explains
how to control this process with configuration options.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="users">, Users and Basic Account
Management</emphasis></term>
<listitem>
<para>Describes the creation and manipulation of user
accounts. Also discusses resource limitations that can be
set on users and other account management tasks.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="security">, Security</emphasis></term>
<listitem>
<para>Describes many different tools available to help keep your
FreeBSD system secure, including Kerberos, IPsec and OpenSSH.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="mac">, Mandatory Access Control</emphasis></term>
<listitem>
<para>Explains what Mandatory Access Control (MAC) is and how this
mechanism can be used to secure a FreeBSD system.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="disks">, Storage</emphasis></term>
<listitem>
<para>Describes how to manage storage media and filesystems
with FreeBSD. This includes physical disks, RAID arrays,
optical and tape media, memory-backed disks, and network
filesystems.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="geom">, GEOM</emphasis></term>
<listitem>
<para>Describes what the GEOM framework in FreeBSD is and how
to configure various supported RAID levels.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="vinum-vinum">, Vinum</emphasis></term>
<listitem>
<para>Describes how to use Vinum, a logical volume manager
which provides device-independent logical disks, and
software RAID-0, RAID-1 and RAID-5.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="l10n">, Localization</emphasis></term>
<listitem>
<para>Describes how to use FreeBSD in languages other than
English. Covers both system and application level
localization.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="cutting-edge">, The Cutting Edge</emphasis></term>
<listitem>
<para>Explains the differences between FreeBSD-STABLE,
FreeBSD-CURRENT, and FreeBSD releases. Describes which users
would benefit from tracking a development system and outlines
that process.</para>
</listitem>
</varlistentry>
<!-- Part IV - Network Communications -->
<varlistentry>
<term><emphasis><xref linkend="serialcomms">, Serial Communications</emphasis></term>
<listitem>
<para>Explains how to connect terminals and modems to your
FreeBSD system for both dial in and dial out connections.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="ppp-and-slip">, PPP and SLIP</emphasis></term>
<listitem>
<para>Describes how to use PPP, SLIP, or PPP over Ethernet to
connect to remote systems with FreeBSD.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="mail">, Electronic Mail</emphasis></term>
<listitem>
<para>Explains the different components of an email server and
dives into simple configuration topics for the most popular
mail server software:
<application>sendmail</application>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="network-servers">, Network Servers</emphasis></term>
<listitem>
<para>Provides detailed instructions and example configuration
files to set up your FreeBSD machine as a network filesystem
server, domain name server, network information system
server, or time synchronization server.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="firewalls">, Firewalls</emphasis></term>
<listitem>
<para>Explains the philosophy behind software-based firewalls and
provides detailed information about the configuration of the
different firewalls available for FreeBSD.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="advanced-networking">, Advanced Networking</emphasis></term>
<listitem>
<para>Describes many networking topics, including sharing an
Internet connection with other computers on your LAN, advanced
routing topics, wireless networking, bluetooth, ATM, IPv6, and
much more.</para>
</listitem>
</varlistentry>
<!-- Part V - Appendices -->
<varlistentry>
<term><emphasis><xref linkend="mirrors">, Obtaining FreeBSD </emphasis></term>
<listitem>
<para>Lists different sources for obtaining FreeBSD media on CDROM
or DVD as well as different sites on the Internet that allow
you to download and install FreeBSD.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="bibliography">, Bibliography </emphasis></term>
<listitem>
<para>This book touches on many different subjects that may
leave you hungry for a more detailed explanation. The
bibliography lists many excellent books that are referenced in
the text.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="eresources">, Resources on the Internet</emphasis></term>
<listitem>
<para>Describes the many forums available for FreeBSD users to
post questions and engage in technical conversations about
FreeBSD.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="pgpkeys">, PGP Keys</emphasis></term>
<listitem>
<para>Lists the PGP fingerprints of several FreeBSD Developers.</para>
</listitem>
</varlistentry>
</variablelist>
<bridgehead id="preface-conv" renderas=sect1>Konwencje u¿yte w tej ksi±¿ce</bridgehead>
<para>W celu utrzymania jednolito¶ci i ³atwo¶ci czytania
niniejszego tekstu w ksi±¿ce zastosowane zosta³y nastêpuj±ce
konwencje.</para>
<bridgehead id="preface-conv-typographic" renderas=sect2>Konwencje typograficzne</bridgehead>
<variablelist>
<varlistentry>
<term><emphasis>Kursywa</emphasis></term>
<listitem>
<para>Czcionka <emphasis>pochy³a</emphasis> stosowana jest do wskazania
plików, adresów URL, szczególnie akcentowanych fragmentów i pierwszego
zastosowania zwrotów technicznych.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>Sta³a szeroko¶æ</literal></term>
<listitem>
<para>Czcionka o <literal>sta³ej szeroko¶ci</literal> stosowana jest do
przedstawienia komunikatów o b³êdach, poleceñ, zmiennych ¶rodowiskowych,
nazw portów, nazw komputerów, nazw u¿ytkowników i grup, nazw urz±dzeñ,
zmiennych i fragmentów kodu.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><application>Pogrubienie</application></term>
<listitem>
<para>Czcionka <application>pogrubiona</application> stosowana jest do
nazw programów, poleceñ i klawiszy.</para>
</listitem>
</varlistentry>
</variablelist>
<!-- Var list -->
<bridgehead id="preface-conv-commands"
renderas=sect2>Zadania u¿ytkownika</bridgehead>
<para>Zgodnie z konwencj± typograficzn±, klawisze, które ma nacisn±æ
u¿ytkownik w trakcie pracy z opisywanym programem, zosta³y oznaczone
<keycap>pogrubieniem</keycap> by wyró¿nia³y siê z reszty tekstu.
Kombinacje klawiszy, które nale¿y nacisn±æ jednocze¶nie zawieraj± znak
`<literal>+</literal>' pomiêdzy, np.:</para>
<para>
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>Alt</keycap>
<keycap>Del</keycap>
</keycombo>
</para>
<para>Oznacza, ¿e u¿ytkownik powinien nacisn±æ <keycap>Ctrl</keycap>,
<keycap>Alt</keycap> i <keycap>Del</keycap> jednocze¶nie.</para>
<para>Klawisze, które nale¿y nacisn±æ kolejno bêd± oddzielone
przecinkiem, np.:</para>
<para>
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>X</keycap>
</keycombo>,
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>S</keycap>
</keycombo>
</para>
<para>Co oznacza, ¿e u¿ytkownik powinien nacisn±æ klawisze
<keycap>Ctrl</keycap> i <keycap>X</keycap> jednocze¶nie,
a nastêpnie <keycap>Ctrl</keycap> i <keycap>S</keycap>.</para>
<!-- How to type in key stokes, etc.. -->
<bridgehead id="preface-conv-examples"
renderas=sect2>Przyk³ady</bridgehead>
<para>Przyk³ady zaczynaj±ce siê od <devicename>E:\&gt;</devicename>
wskazuj± polecenie systemu &ms-dos;. Je¶li nie jest wyra¼nie zaznaczone,
¿e jest inaczej, polecenia te mog± byæ wprowadzane bezpo¶rednio w
oknie <quote>Linii poleceñ</quote> w ¶rodowisku &microsoft.windows;.</para>
<screen><prompt>E:\&gt;</prompt> <userinput>tools\fdimage floppies\kern.flp A:</userinput></screen>
<para>Przyk³ady zaczynaj±ce siê od &prompt.root; wskazuj± polecenie,
które musi byæ wprowadzone przez u¿ytkownika z uprawnieniami
administratora systemu FreeBSD. Mo¿esz zalogowaæ siê jako <username>root</username>
i wprowadziæ polecenie, b±d¼ zalogowaæ jako zwyk³y u¿ytkownik i wykorzystaæ
&man.su.1; by uzyskaæ prawa administratora.</para>
<screen>&prompt.root; <userinput>dd if=kern.flp of=/dev/fd0</userinput></screen>
<para>Przyk³ady zaczynaj±ce siê od &prompt.user; wskazuj±, i¿ polecenie
powinno byæ wprowadzone przez zwyk³ego u¿ytkownika. Je¶li nie jest
inaczej zaznaczone, stosowana jest sk³adnia pow³oki C (csh) do ustawiania
zmiennych ¶rodowiskowych i uruchamiania innych poleceñ pow³oki.</para>
<screen>&prompt.user; <userinput>top</userinput></screen>
<bridgehead id="preface-acknowledgements"
renderas=sect1>Podziêkowania</bridgehead>
<para>Niniejsza ksi±¿ka jest efektem pracy setek ludzi z ca³ego ¶wiata.
Niezale¿nie czy przys³ali poprawkê literówki czy ca³y rozdzia³, ka¿dy
wk³ad jest doceniany.</para>
<para>Kilka firm wspar³o rozwój tego dokumentu op³acaj±c autorów,
by mogli pracowaæ nad ni± w pe³nym wymiarze czasowym, finansuj±c
publikacjê w formie papierowej, itd. Pragniemy wymieniæ przede
wszystkim BSDi (przejête pó¼niej przez
<ulink url="http://www.windriver.com">Wind River Systems</ulink>),
które op³aci³o pracê cz³onków Projektu Dokumentacji FreeBSD nad korektami
ksi±¿ki, przygotowuj±c j± do pierwszej publikacji drukowanej
w Marcu 2000 r. (ISBN 1-57176-241-8). Nastêpnie, Wind River Systems
sfinansowa³o pracê kolejnych osób przygotowuj±cych nowe rozdzia³y,
a tak¿e format wydruku. Kulminacj± ich pracy jest drugie wydanie, które ujrza³o
¶wiat³o dzienne w Listopadzie 2001 r. (ISBN 1-57176-303-1). W latach 2003-2004,
<ulink url="http://www.freebsdmall.com">FreeBSD Mall, Inc</ulink> sfinansowa³o
prace nad korekt± Podrêcznika, przygotowywanego do trzeciego wydania
w postaci drukowanej.</para>
</preface>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "book" "preface")
End:
-->

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= printing/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= security/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= serialcomms/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,72 @@
<!--
Creates entities for each .txt screenshot that is included in the
Handbook.
Each entity is named txt.dir.foo, where dir is the directory in
which it is stored, and foo is its filename, without the '.txt'
extension.
Entities should be listed in alphabetical order.
$FreeBSD$
Original revision: 1.2
-->
<!ENTITY txt.install.adduser1 SYSTEM "install/adduser1.txt">
<!ENTITY txt.install.adduser2 SYSTEM "install/adduser2.txt">
<!ENTITY txt.install.adduser3 SYSTEM "install/adduser3.txt">
<!ENTITY txt.install.boot-mgr SYSTEM "install/boot-mgr.txt">
<!ENTITY txt.install.console-saver1 SYSTEM "install/console-saver1.txt">
<!ENTITY txt.install.console-saver2 SYSTEM "install/console-saver2.txt">
<!ENTITY txt.install.console-saver3 SYSTEM "install/console-saver3.txt">
<!ENTITY txt.install.console-saver4 SYSTEM "install/console-saver4.txt">
<!ENTITY txt.install.desktop SYSTEM "install/desktop.txt">
<!ENTITY txt.install.disklabel-auto SYSTEM "install/disklabel-auto.txt">
<!ENTITY txt.install.disklabel-ed1 SYSTEM "install/disklabel-ed1.txt">
<!ENTITY txt.install.disklabel-ed2 SYSTEM "install/disklabel-ed2.txt">
<!ENTITY txt.install.disklabel-fs SYSTEM "install/disklabel-fs.txt">
<!ENTITY txt.install.disklabel-root1 SYSTEM "install/disklabel-root1.txt">
<!ENTITY txt.install.disklabel-root2 SYSTEM "install/disklabel-root2.txt">
<!ENTITY txt.install.disklabel-root3 SYSTEM "install/disklabel-root3.txt">
<!ENTITY txt.install.dist-set SYSTEM "install/dist-set.txt">
<!ENTITY txt.install.dist-set2 SYSTEM "install/dist-set2.txt">
<!ENTITY txt.install.docmenu1 SYSTEM "install/docmenu1.txt">
<!ENTITY txt.install.ed0-conf SYSTEM "install/ed0-conf.txt">
<!ENTITY txt.install.ed0-conf2 SYSTEM "install/ed0-conf2.txt">
<!ENTITY txt.install.edit-inetd-conf SYSTEM "install/edit-inetd-conf.txt">
<!ENTITY txt.install.fdisk-drive1 SYSTEM "install/fdisk-drive1.txt">
<!ENTITY txt.install.fdisk-drive2 SYSTEM "install/fdisk-drive2.txt">
<!ENTITY txt.install.fdisk-edit1 SYSTEM "install/fdisk-edit1.txt">
<!ENTITY txt.install.fdisk-edit2 SYSTEM "install/fdisk-edit2.txt">
<!ENTITY txt.install.ftp-anon1 SYSTEM "install/ftp-anon1.txt">
<!ENTITY txt.install.ftp-anon2 SYSTEM "install/ftp-anon2.txt">
<!ENTITY txt.install.hdwrconf SYSTEM "install/hdwrconf.txt">
<!ENTITY txt.install.keymap SYSTEM "install/keymap.txt">
<!ENTITY txt.install.main-doc SYSTEM "install/main-doc.txt">
<!ENTITY txt.install.main-keymap SYSTEM "install/main-keymap.txt">
<!ENTITY txt.install.main-options SYSTEM "install/main-options.txt">
<!ENTITY txt.install.main-std SYSTEM "install/main-std.txt">
<!ENTITY txt.install.main1 SYSTEM "install/main1.txt">
<!ENTITY txt.install.mainexit SYSTEM "install/mainexit.txt">
<!ENTITY txt.install.media SYSTEM "install/media.txt">
<!ENTITY txt.install.mouse1 SYSTEM "install/mouse1.txt">
<!ENTITY txt.install.mouse2 SYSTEM "install/mouse2.txt">
<!ENTITY txt.install.mouse3 SYSTEM "install/mouse3.txt">
<!ENTITY txt.install.mouse4 SYSTEM "install/mouse4.txt">
<!ENTITY txt.install.mouse5 SYSTEM "install/mouse5.txt">
<!ENTITY txt.install.mouse6 SYSTEM "install/mouse6.txt">
<!ENTITY txt.install.nfs-server-edit SYSTEM "install/nfs-server-edit.txt">
<!ENTITY txt.install.options SYSTEM "install/options.txt">
<!ENTITY txt.install.pkg-cat SYSTEM "install/pkg-cat.txt">
<!ENTITY txt.install.pkg-confirm SYSTEM "install/pkg-confirm.txt">
<!ENTITY txt.install.pkg-install SYSTEM "install/pkg-install.txt">
<!ENTITY txt.install.pkg-sel SYSTEM "install/pkg-sel.txt">
<!ENTITY txt.install.probstart SYSTEM "install/probstart.txt">
<!ENTITY txt.install.security SYSTEM "install/security.txt">
<!ENTITY txt.install.sysinstall-exit SYSTEM "install/sysinstall-exit.txt">
<!ENTITY txt.install.timezone1 SYSTEM "install/timezone1.txt">
<!ENTITY txt.install.timezone2 SYSTEM "install/timezone2.txt">
<!ENTITY txt.install.timezone3 SYSTEM "install/timezone3.txt">
<!ENTITY txt.install.userconfig SYSTEM "../../../share/images/books/handbook/install/userconfig.txt">
<!ENTITY txt.install.userconfig2 SYSTEM "../../../share/images/books/handbook/install/userconfig2.txt">
<!ENTITY txt.install.xf86setup SYSTEM "install/xf86setup.txt">

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= users/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= vinum/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= x11/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

File diff suppressed because it is too large Load diff