- Remove translations from the Spanish tree that were removed in the

original English docs
This commit is contained in:
Gabor Kovesdan 2012-09-24 09:04:00 +00:00
parent 6b9482e886
commit a520f8a37f
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=39609
24 changed files with 0 additions and 4273 deletions

View file

@ -15,7 +15,6 @@ SUBDIR+= mailing-list-faq
SUBDIR+= nanobsd
SUBDIR+= p4-primer
SUBDIR+= problem-reports
SUBDIR+= pxe
SUBDIR+= releng
DOC_PREFIX?= ${.CURDIR}/../..

View file

@ -1,28 +0,0 @@
#
# $FreeBSD$
#
# Article: FreeBSD PXE Jumpstart Guide
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
EXTRAS= dhcpd.conf
EXTRAS+= install.cfg
EXTRAS+= loader.rc
EXTRAS+= pkgmaker.sh
EXTRAS+= post
EXTRAS+= pre
SRCS= article.sgml
afterinstall:
.for entry in ${EXTRAS}
${INSTALL_DOCS} ${.CURDIR}/${entry} ${DESTDIR}
.endfor
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -1,322 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN"
"../../../share/sgml/freebsd42.dtd" [
<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//ES" "../../share/sgml/entities.ent">
%entities;
]>
<!--
The FreeBSD Documentation Project
The FreeBSD Spanish Documentation Project
%SOURCE% en_US.ISO8859-1/articles/pxe/article.sgml
%SRCID% 1.27
$FreeBSD$
-->
<article lang="es">
<articleinfo>
<title>Guía de &os; Jumpstart</title>
<authorgroup>
<author>
<firstname>Alfred</firstname>
<surname>Perlstein</surname>
<affiliation>
<address><email>alfred@FreeBSD.org</email></address>
</affiliation>
</author>
</authorgroup>
<legalnotice id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.intel;
&tm-attrib.general;
</legalnotice>
<pubdate>$FreeBSD$</pubdate>
<releaseinfo>$FreeBSD$</releaseinfo>
<abstract>
<para>Este artículo explica el modo de instalar
&os; en ordenadores usando el método PXE de &intel;
que arranca un ordenador a través de la red.</para>
&trans.es.gabor;
</abstract>
</articleinfo>
<sect1 id="introduction">
<title>Introducción</title>
<warning>
<para>Este método situará al <quote>servidor</quote>
en un estado inseguro y peligroso así que se recomienda
dejarlo conectado a un hub propio y no permitir
acceso desde ordenadores que no sean los
<quote>clientes</quote>.</para>
</warning>
<para>Terminología:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<tbody>
<row>
<entry>Servidor</entry>
<entry>El ordenador que dispone de servicio netboot y de
instalación para otros.</entry>
</row>
<row>
<entry>Cliente</entry>
<entry>El ordenador que acabará con &os;
instalado.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Requerimientos:
Clientes con soporte de &intel; PXE netboot y una conexión de
Ethernet.
</para>
<para>Por favor, avíseme si encuentra cualquier problema
o tiene alguna sugerencia para mejorar este documento.</para>
<para>Si quiere que alguien le ajuste o enseñe a ajustar
un sistema particular de netinstall, por favor envíe un correo
electrónico para tratar los detalles.</para>
<para>Me gustaría dar las gracias a &a.ps; y a &a.jhb;
por hacer casi toda la programación de pxeboot, la interfaz del
sistema &intel; PXE (netboot).</para>
</sect1>
<sect1 id="server-config">
<title>Configuración del servidor</title>
<procedure>
<step>
<para>Instalar DHCP: Instale <filename
role="package">net/isc-dhcp3-server</filename>. Puede
utilizar este fichero de configuración
<ulink url="dhcpd.conf">
<filename>dhcpd.conf</filename></ulink>, cópielo en
<filename>/usr/local/etc/</filename>.</para>
</step>
<step>
<para>Ajuste tftp:</para>
<procedure>
<step>
<para>Crée un directorio
<filename>/usr/tftpboot</filename>.</para>
</step>
<step>
<para>Añada esta línea a
<filename>/etc/inetd.conf</filename>:</para>
<programlisting>tftp dgram udp wait nobody /usr/libexec/tftpd tftpd /usr/tftpboot</programlisting>
</step>
</procedure>
</step>
<step>
<para>Ajuste NFS:</para>
<procedure>
<step>
<para>Añada a <filename>/etc/rc.conf</filename>:</para>
<programlisting>nfs_server_enable="YES"</programlisting>
</step>
<step>
<para>Añada a <filename>/etc/exports</filename>:</para>
<programlisting>/usr -alldirs -ro</programlisting>
</step>
</procedure>
</step>
<step>
<para>Reinicie el sistema o arranque los servicios nuevos
a mano.</para>
</step>
</procedure>
</sect1>
<sect1 id="bootstrap-config">
<title>Los ajustes del inicio</title>
<procedure>
<step>
<para>Descargue los ficheros de inicio: Descargue
las imágenes de disquete <ulink
url="&snapshots.stable;/floppies/kern.flp">
kern.flp</ulink> y
<ulink
url="&snapshots.stable;/floppies/mfsroot.flp">
mfsroot.flp</ulink>.</para>
</step>
<step>
<para>Ajuste el directorio tftp/pxe-boot:</para>
<procedure>
<step>
<para>Copie pxeboot en el directorio boot:</para>
<screen>&prompt.root; <userinput>rm -rf /usr/obj/*</userinput>
&prompt.root; <userinput>cd /usr/src/sys/boot</userinput>
&prompt.root; <userinput>make</userinput>
&prompt.root; <userinput>cp /usr/src/sys/boot/i386/pxeldr/pxeboot /usr/tftpboot</userinput></screen>
</step>
<step>
<para>Usando vndevice monte la imágen
<filename>kern.flp</filename> y copie todo su
contenido a
<filename>/usr/tftpboot</filename>:</para>
<screen>&prompt.root; <userinput>mdconfig -a -t vnode -f kern.flp -u 0</userinput> # (vnconfig vn0 kern.flp) asociar vndevice al fichero
&prompt.root; <userinput>mount /dev/md0 /mnt</userinput> # (mount /dev/vn0 /mnt) mount it
&prompt.root; <userinput>cp -R /mnt /usr/tftpboot</userinput> # copie los contenidos a /usr/tftpboot
&prompt.root; <userinput>umount /mnt</userinput> # desmontar la imagen
&prompt.root; <userinput>vnconfig -u vn0</userinput> # desasociar vndevice del fichero</screen>
</step>
</procedure>
</step>
<step>
<para>Compile un kernel personalizado para los clientes
(para evitar, de manera particular, la pantalla de
ajustes de los componentes durante el inicio)
y cópielo a
<filename>/usr/tftpboot</filename>.</para>
</step>
<step>
<para>Cree un fichero <filename>loader.rc</filename> e
instálelo en
<filename>/usr/tftpboot/boot/loader.rc</filename> para que no
pida un segundo disquete, aquí está
<ulink url="loader.rc">mi fichero</ulink>.</para>
</step>
<step>
<para>Extraiga el instalador y las herramientas de ayuda de la
disquete mfsroot, descomprímalos y cópielos
también a <filename>/usr/tftpboot</filename>.</para>
<screen>&prompt.root; <userinput>vnconfig vn0 mfsroot.flp</userinput> # asociar un vndevice con el fichero
&prompt.root; <userinput>mount /dev/vn0 /mnt</userinput> # montarlo
&prompt.root; <userinput>cp /mnt/mfsroot.gz /usr/tftpboot</userinput> # copiar los contenidos a /usr/tftpboot
&prompt.root; <userinput>umount /mnt</userinput> # desmontarlo
&prompt.root; <userinput>vnconfig -u vn0</userinput> # desasociar vndevice del fichero
&prompt.root; <userinput>cd /usr/tftpboot</userinput> # entrar en el directorio pxeboot
&prompt.root; <userinput>gunzip mfsroot.gz</userinput> # descomprimir mfsroot</screen>
</step>
<step>
<para>Cree su script sysinstall <filename>install.cfg</filename>.
Puede usar
<ulink url="install.cfg">el mío</ulink>
como plantilla pero tiene que modificarlo.</para>
</step>
<step>
<para>Copie el script sysinstall en la imagen mfsroot extraída
y descomprimida:</para>
<screen>&prompt.root; <userinput>cd /usr/tftpboot</userinput>
&prompt.root; <userinput>vnconfig vn0 mfsroot</userinput>
&prompt.root; <userinput>mount /dev/vn0 /mnt</userinput>
&prompt.root; <userinput>cp install.cfg /mnt</userinput>
&prompt.root; <userinput>umount /mnt</userinput>
&prompt.root; <userinput>vnconfig -u vn0</userinput></screen>
</step>
</procedure>
</sect1>
<sect1 id="install-setup">
<title>Ajuste de la instalación</title>
<procedure>
<step>
<para>Copie los ficheros de la instalación en un
sitio accesible por NFS del servidor. Cree un directorio
según la directiva <quote>nfs</quote> en
<filename>install.cfg</filename> y haga una copia espejo de
los ficheros de instalación de &os; en este sitio.
Tiene que quedar más o menos así:</para>
<screen>ABOUT.TXT TROUBLE.TXT compat20 floppies ports
ERRATA.TXT UPGRADE.TXT compat21 games proflibs
HARDWARE.TXT XF86336 compat22 info src
INSTALL.TXT bin compat3x kern.flp
LAYOUT.TXT catpages crypto manpages
README.TXT cdrom.inf dict mfsroot.flp
RELNOTES.TXT compat1x doc packages</screen>
</step>
<step>
<para>Copie los paquetes comprimidos en el directorio
packages/All en <filename>nfs</filename>.</para>
</step>
<step>
<para>Asegúrese de tener un fichero
<filename>INDEX</filename> preparado
en el directorio de los paquetes. Puede hacer sus propias
entradas en <filename>INDEX</filename> de la siguiente
manera:</para>
<programlisting>alfred-1.0||/|Alfred install bootstrap||alfred@FreeBSD.org||||</programlisting>
<para>Luego podrá instalar paquetes propios, particularmente
sus paquetes para terminar la instalación (<quote>post-install
paquetes</quote>).</para>
</step>
</procedure>
</sect1>
<sect1 id="custom-postinst-package">
<title>Propios paquetes para ajustes posteriores a la
instalación</title>
<para>Puede usar el script <ulink url="pkgmaker.sh"><filename>pkgmaker.sh
</filename></ulink> para crear un paquete propio para después
de la instalación. La idea de tener uno es instalar o
configurar algo especial que necesite. El script
<filename>pkgmaker</filename> se ejecuta en el directorio del paquete
que quiera crear con el solo argumento del paquete (p.ej. mypkg)
que luego le creará un fichero mypkg.tgz para incluir en su
paquete sysinstall.</para>
<para>En el directorio de su paquete propio tendrá que tener un
fichero llamado <filename>PLIST</filename> que enumere todos los
ficheros que quiera incorporar en su paquete.</para>
<para>También podrá tener ficheros llamados
<ulink url="pre"><filename>pre</filename></ulink> y
<ulink url="post"><filename>post</filename></ulink>
en ese directorio. Estos son shell script que se ejecutarán
antes o después de la instalación del paquete.</para>
<para>Puesto que el paquete está en su fichero
<filename>install.cfg</filename> se ejecutará para
proceder los últimos retoques de la configuración.</para>
</sect1>
</article>

View file

@ -1,23 +0,0 @@
# $Wintelcom: src/freebsd/pxe/doc/dhcpd.conf,v 1.2 2000/09/24 09:18:14 bright Exp $
# $FreeBSD$
option subnet-mask 255.255.255.0;
option routers 10.8.253.254;
filename "pxeboot";
ddns-update-style none;
option domain-name "google.com";
option broadcast-address 10.8.253.255;
option domain-name-servers 10.8.0.7;
server-name "DHCPserver";
server-identifier 10.8.253.201;
default-lease-time 7200;
max-lease-time 7200;
subnet 10.8.253.0 netmask 255.255.255.0 {
next-server 10.8.253.201;
range 10.8.253.29 10.8.253.200;
}

View file

@ -1,209 +0,0 @@
# $Wintelcom: src/freebsd/pxe/doc/install.cfg,v 1.1 2000/07/14 12:42:05 bright Exp $
# $FreeBSD$
# This is the installation configuration file for our rackmounted FreeBSD
# cluster machines
# Turn on extra debugging.
debug=YES
# Ok, this ought to turn off ALL prompting, don't complain to me that you
# lost a machine because you netbooted it on the same subnet as this
# box
nonInteractive=YES
noWarn=YES
tryDHCP=YES
################################
# My host specific data
hostname=booter
domainname=mydomain.com
# DHCP does this for us
#nameserver=10.0.0.1
#defaultrouter=10.0.0.1
#ipaddr=DHCP
#netmask=255.255.255.0
################################
################################
# Which installation device to use
nfs=x.x.x.x:/usr/releng4
netDev=fxp0
tryDHCP=YES
mediaSetNFS
################################
################################
# Select which distributions we want.
dists= bin doc games manpages catpages proflibs dict info des compat1x compat20 compat21 compat22 compat3x crypto
distSetCustom
################################
################################
# Now set the parameters for the partition editor on sd0.
disk=ad0
partition=all
bootManager=standard
diskPartitionEditor
#diskPartitionWrite
################################
################################
# All sizes are expressed in 512 byte blocks!
#
# A 96MB root partition, followed by a 0.5G swap partition, followed by
# a 1G /var, and a /usr using all the remaining space on the disk
#
ad0s1-1=ufs 1999999 /
ad0s1-2=swap 6485760 none
ad0s1-3=ufs 2097152 /var
ad0s1-4=ufs 0 /usr
# Let's do it!
diskLabelEditor
#diskLabelCommit
# OK, everything is set. Do it!
installCommit
package=XFree86-3.3.6
packageAdd
#package=XFree86-aoutlibs-3.3.3
#packageAdd
package=XFree86-contrib-3.3.6
packageAdd
package=arpwatch-2.1.a4
packageAdd
package=bash-2.04
packageAdd
package=bison-1.28
packageAdd
package=bzip2-1.0.0
packageAdd
package=ctags-3.5.2
packageAdd
package=dvips2ascii-1.3
packageAdd
package=electricfence-2.0.5
packageAdd
package=emacs-20.6
packageAdd
package=enscript-letter-1.6.1
packageAdd
package=fping-1.20
packageAdd
package=gawk-3.0.4
packageAdd
package=gdbm-1.8.0
packageAdd
package=gettext-0.10.35
packageAdd
package=gmake-3.79
packageAdd
package=ispell-3.1.20c
packageAdd
package=less-352
packageAdd
package=libgnugetopt-1.1
packageAdd
package=libtool-1.3.4
packageAdd
package=linux_base-6.1
packageAdd
package=linux_devtools-6.1
packageAdd
package=lmbench-1.1
packageAdd
package=m4-1.4
packageAdd
package=mprof-3.0
packageAdd
package=mtr-0.42
packageAdd
package=nmap-2.53
packageAdd
package=pine-4.21
packageAdd
package=portscanner-1.0
packageAdd
package=portsentry-1.0
packageAdd
package=python-1.5.2
packageAdd
package=rpm-2.5.6
packageAdd
package=rsaref-2.0
packageAdd
package=rsync-2.4.3
packageAdd
package=screen-3.9.5
packageAdd
package=stlport-3.01
packageAdd
package=tcsh-6.09.00
packageAdd
package=tk-8.0.5
packageAdd
package=vim-lite-5.6.70
packageAdd
package=wget-1.5.3
packageAdd
package=word2x-0.005
packageAdd
package=zip-2.3
packageAdd
package=zsh-3.0.7
packageAdd
#
# this last package is special. It is used to configure the machine.
# it installs several files (like /root/.rhosts) and its installation
# script tweaks several options in /etc/rc.conf
#
package=mypkg-1.0
packageAdd
shutdown

View file

@ -1,11 +0,0 @@
\ $Wintelcom: src/freebsd/pxe/doc/loader.rc,v 1.1 2000/07/15 07:20:37 bright Exp $
\ $FreeBSD$
echo Loading Kernel...
load /kernel
echo Loading mfsroot...
load -t mfs_root /mfsroot
echo booting...
echo \007\007
echo initializing h0h0magic...
set vfs.root.mountfrom="ufs:/dev/md0c"
boot

View file

@ -1,9 +0,0 @@
#!/bin/sh
# $Wintelcom: src/freebsd/pxe/doc/pkgmaker.sh,v 1.1 2000/07/14 12:42:05 bright Exp $
# $FreeBSD$
PKGNAME=${1}
PKGDIR=`pwd`/${PKGNAME}/
pkg_create -i ${PKGDIR}pre -I ${PKGDIR}post -f ${PKGDIR}PLIST -s ${PKGDIR} -p / -d ${PKGDIR}DESCR -c ${PKGDIR}COMMENT ${PKGNAME}.tgz

View file

@ -1,36 +0,0 @@
#!/bin/sh
# $Wintelcom: src/freebsd/pxe/doc/post,v 1.1 2000/07/14 12:42:05 bright Exp $
# $FreeBSD$
echo post-install
set PATH=/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/bin:/usr/bin/X11
export PATH
# do timezone
cp /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
conf="/etc/rc.conf.local"
rm $conf
echo 'sendmail_enable="NO"' >> $conf
echo 'dumpdev="/dev/ad0s1b"' >> $conf
echo 'sshd_enable="YES"' >> $conf
echo 'linux_enable="YES"' >> $conf
# set up IP address and hostname
if=`ifconfig fxp1 inet | grep '[ ]*inet' | sed 's/[ ]*//'`
echo "ifconfig_fxp1=\"${if}\"" >> $conf
name=`echo $if | sed 's/[ ][ ]*/ /g' | cut -f2 -d" " | cut -f4 -d.`
echo "hostname=\"suyy${name}\"" >> $conf
echo "network_interfaces=\"fxp0 fxp1 lo0\"" >> $conf
# set up gateway, parse netstat output
gw=`netstat -rn | grep '^default' | sed 's/[ ][ ]*/ /g' | cut -f2 -d" "`
echo "defaultrouter=\"${gw}\"" >> $conf
pwd_mkdb -p /etc/master.passwd
exit 0

View file

@ -1,7 +0,0 @@
#!/bin/sh
# $Wintelcom: src/freebsd/pxe/doc/pre,v 1.1 2000/07/14 12:42:05 bright Exp $
# $FreeBSD$
echo pre-install
exit 0

View file

@ -188,7 +188,6 @@ SRCS+= preface/preface.sgml
SRCS+= printing/chapter.sgml
SRCS+= security/chapter.sgml
SRCS+= serialcomms/chapter.sgml
SRCS+= updating/chapter.sgml
SRCS+= users/chapter.sgml
SRCS+= vinum/chapter.sgml
SRCS+= virtualization/chapter.sgml

View file

@ -1,662 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Spanish Documentation Project
%SOURCE% en_US.ISO8859-1/books/handbook/authors.ent
%SRCID% 0.0
Names and email address of contributing authors and CVS committers.
Entity names for committers should be the same as their login names on
freefall.FreeBSD.org.
Use these entities when referencing people.
Please keep this list in alphabetical order by entity names.
IMPORTANT: If you delete names from this file you *must* ensure that
all references to them have been removed from the handbook's
translations. If they haven't then you *will* break the
builds for the other languages, and we will poke fun of you
in public.
$FreeBSD$
-->
<!ENTITY a.abial "Andrzej Bialecki <email>abial@FreeBSD.org</email>">
<!ENTITY a.ache "Andrey A. Chernov <email>ache@FreeBSD.org</email>">
<!ENTITY a.adam "Adam David <email>adam@FreeBSD.org</email>">
<!ENTITY a.ade "Ade Lovett <email>ade@FreeBSD.org</email>">
<!ENTITY a.adrian "Adrian Chadd <email>adrian@FreeBSD.org</email>">
<!ENTITY a.akiyama "Shunsuke Akiyama <email>akiyama@FreeBSD.org</email>">
<!ENTITY a.alc "Alan L. Cox <email>alc@FreeBSD.org</email>">
<!ENTITY a.alex "Alexander Langer <email>alex@FreeBSD.org</email>">
<!ENTITY a.alfred "Alfred Perlstein <email>alfred@FreeBSD.org</email>">
<!ENTITY a.amurai "Atsushi Murai <email>amurai@FreeBSD.org</email>">
<!ENTITY a.andreas "Andreas Klemm <email>andreas@FreeBSD.org</email>">
<!ENTITY a.andy "Andrey Zakhvatov <email>andy@FreeBSD.org</email>">
<!ENTITY a.archie "Archie Cobbs <email>archie@FreeBSD.org</email>">
<!ENTITY a.asami "Satoshi Asami <email>asami@FreeBSD.org</email>">
<!ENTITY a.asmodai "Jeroen Ruigrok/Asmodai <email>asmodai@FreeBSD.org</email>">
<!ENTITY a.assar "Assar Westerlund <email>assar@FreeBSD.org</email>">
<!ENTITY a.ats "Andreas Schulz <email>ats@FreeBSD.org</email>">
<!ENTITY a.awebster "Andrew Webster <email>awebster@pubnix.net</email>">
<!ENTITY a.babkin "Sergey Babkin <email>babkin@FreeBSD.org</email>">
<!ENTITY a.bbraun "Rob Braun <email>bbraun@FreeBSD.org</email>">
<!ENTITY a.bde "Bruce Evans <email>bde@FreeBSD.org</email>">
<!ENTITY a.ben "Ben Smithurst <email>ben@FreeBSD.org</email>">
<!ENTITY a.bean "Rebecca Visger <email>bean@FreeBSD.org</email>">
<!ENTITY a.benno "Benno Rice <email>benno@FreeBSD.org</email>">
<!ENTITY a.billf "Bill Fumerola <email>billf@FreeBSD.org</email>">
<!ENTITY a.bmah "Bruce A. Mah <email>bmah@FreeBSD.org</email>">
<!ENTITY a.bmilekic "Bosko Milekic <email>bmilekic@FreeBSD.org</email>">
<!ENTITY a.bp "Boris Popov <email>bp@FreeBSD.org</email>">
<!ENTITY a.brandon "Brandon Gillespie <email>brandon@FreeBSD.org</email>">
<!ENTITY a.brian "Brian Somers <email>brian@FreeBSD.org</email>">
<!ENTITY a.brooks "Brooks Davis <email>brooks@FreeBSD.org</email>">
<!ENTITY a.bsd "Brian S. Dean <email>bsd@FreeBSD.org</email>">
<!ENTITY a.cawimm "Charles A. Wimmer <email>cawimm@FreeBSD.org</email>">
<!ENTITY a.cg "Cameron Grant <email>cg@FreeBSD.org</email>">
<!ENTITY a.charnier "Philippe Charnier <email>charnier@FreeBSD.org</email>">
<!ENTITY a.chern "Chern Lee <email>chern@FreeBSD.org</email>">
<!ENTITY a.chm "Christoph Herrmann <email>chm@FreeBSD.org</email>">
<!ENTITY a.chris "Chris Costello <email>chris@FreeBSD.org</email>">
<!ENTITY a.chuck "Chuck Robey <email>chuckr@glue.umd.edu</email>">
<!ENTITY a.chuckr "Chuck Robey <email>chuckr@FreeBSD.org</email>">
<!ENTITY a.cjc "Crist J. Clark <email>cjc@FreeBSD.org</email>">
<!ENTITY a.cjh "Junho CHOI <email>cjh@FreeBSD.org</email>">
<!ENTITY a.clive "Clive Lin <email>clive@FreeBSD.org</email>">
<!ENTITY a.cp "Chuck Paterson <email>cp@FreeBSD.org</email>">
<!ENTITY a.cokane "Coleman Kane <email>cokane@FreeBSD.org</email>">
<!ENTITY a.cpiazza "Chris Piazza <email>cpiazza@FreeBSD.org</email>">
<!ENTITY a.cracauer "Martin Cracauer <email>cracauer@FreeBSD.org</email>">
<!ENTITY a.csgr "Geoff Rehmet <email>csgr@FreeBSD.org</email>">
<!ENTITY a.cshumway "Christopher Shumway <email>cshumway@FreeBSD.org</email>">
<!ENTITY a.cwt "Chris Timmons <email>cwt@FreeBSD.org</email>">
<!ENTITY a.dan "Dan Moschuk <email>dan@FreeBSD.org</email>">
<!ENTITY a.danny "Daniel O'Callaghan <email>danny@FreeBSD.org</email>">
<!ENTITY a.dannyboy "Daniel Harris <email>dannyboy@FreeBSD.org</email>">
<!ENTITY a.darrenr "Darren Reed <email>darrenr@FreeBSD.org</email>">
<!ENTITY a.davidn "David Nugent <email>davidn@blaze.net.au</email>">
<!ENTITY a.dbaker "Daniel Baker <email>dbaker@FreeBSD.org</email>">
<!ENTITY a.dburr "Donald Burr <email>dburr@FreeBSD.org</email>">
<!ENTITY a.dcs "Daniel C. Sobral <email>dcs@FreeBSD.org</email>">
<!ENTITY a.dd "Dima Dorfman <email>dd@FreeBSD.org</email>">
<!ENTITY a.dec "David E. Cross <email>dec@FreeBSD.org</email>">
<!ENTITY a.deischen "Daniel Eischen <email>deischen@FreeBSD.org</email>">
<!ENTITY a.demon "Dmitry Sivachenko <email>demon@FreeBSD.org</email>">
<!ENTITY a.des "Dag-Erling C. Sm&oslash;rgrav <email>des@FreeBSD.org</email>">
<!ENTITY a.dfr "Doug Rabson <email>dfr@FreeBSD.org</email>">
<!ENTITY a.dg "David Greenman <email>dg@FreeBSD.org</email>">
<!ENTITY a.dick "Richard Seaman Jr. <email>dick@FreeBSD.org</email>">
<!ENTITY a.dillon "Matthew Dillon <email>dillon@FreeBSD.org</email>">
<!ENTITY a.dinoex "Dirk Meyer <email>dinoex@FreeBSD.org</email>">
<!ENTITY a.dima "Dima Ruban <email>dima@FreeBSD.org</email>">
<!ENTITY a.dirk "Dirk Fr&ouml;mberg <email>dirk@FreeBSD.org</email>">
<!ENTITY a.dirkvangulik "Dirk-Willem van Gulik <email>Dirk.vanGulik@jrc.it</email>">
<!ENTITY a.dmlb "Duncan Barclay <email>dmlb@FreeBSD.org</email>">
<!ENTITY a.dougb "Doug Barton <email>DougB@FreeBSD.org</email>">
<!ENTITY a.dt "Dmitrij Tejblum <email>dt@FreeBSD.org</email>">
<!ENTITY a.dufault "Peter Dufault <email>dufault@FreeBSD.org</email>">
<!ENTITY a.dwcjr "David W. Chapman Jr. <email>dwcjr@FreeBSD.org</email>">
<!ENTITY a.dwhite "Doug White <email>dwhite@FreeBSD.org</email>">
<!ENTITY a.dwmalone "David Malone <email>dwmalone@FreeBSD.org</email>">
<!ENTITY a.dyson "John Dyson <email>dyson@FreeBSD.org</email>">
<!ENTITY a.eivind "Eivind Eklund <email>eivind@FreeBSD.org</email>">
<!ENTITY a.ejc "Eric J. Chet <email>ejc@FreeBSD.org</email>">
<!ENTITY a.eric "Eric Melville <email>eric@FreeBSD.org</email>">
<!ENTITY a.erich "Eric L. Hernes <email>erich@FreeBSD.org</email>">
<!ENTITY a.faq "FAQ Maintainer <email>faq@FreeBSD.org</email>">
<!ENTITY a.fenner "Bill Fenner <email>fenner@FreeBSD.org</email>">
<!ENTITY a.flathill "Seiichirou Hiraoka <email>flathill@FreeBSD.org</email>">
<!ENTITY a.foxfair "Howard F. Hu <email>foxfair@FreeBSD.org</email>">
<!ENTITY a.fsmp "Steve Passe <email>fsmp@FreeBSD.org</email>">
<!ENTITY a.furuta "Atsushi Furuta <email>furuta@FreeBSD.org</email>">
<!ENTITY a.gad "Garance A Drosehn <email>gad@FreeBSD.org</email>">
<!ENTITY a.gallatin "Andrew Gallatin <email>gallatin@FreeBSD.org</email>">
<!ENTITY a.gclarkii "Gary Clark II <email>gclarkii@FreeBSD.org</email>">
<!ENTITY a.gena "Gennady B. Sorokopud <email>gena@NetVision.net.il</email>">
<!ENTITY a.ghelmer "Guy Helmer <email>ghelmer@cs.iastate.edu</email>">
<!ENTITY a.gibbs "Justin T. Gibbs <email>gibbs@FreeBSD.org</email>">
<!ENTITY a.gioria "Sebastien Gioria <email>gioria@FreeBSD.org</email>">
<!ENTITY a.gj "Gary Jennejohn <email>gj@FreeBSD.org</email>">
<!ENTITY a.gpalmer "Gary Palmer <email>gpalmer@FreeBSD.org</email>">
<!ENTITY a.graichen "Thomas Graichen <email>graichen@FreeBSD.org</email>">
<!ENTITY a.green "Brian F. Feldman <email>green@FreeBSD.org</email>">
<!ENTITY a.greid "George C. A. Reid <email>greid@FreeBSD.org</email>">
<!ENTITY a.grog "Greg Lehey <email>grog@FreeBSD.org</email>">
<!ENTITY a.groudier "Gerard Roudier <email>groudier@club-internet.fr</email>">
<!ENTITY a.gryphon "Coranth Gryphon <email>gryphon@healer.com</email>">
<!ENTITY a.gshapiro "Gregory Neil Shapiro <email>gshapiro@FreeBSD.org</email>">
<!ENTITY a.gsutter "Gregory Sutter <email>gsutter@FreeBSD.org</email>">
<!ENTITY a.guido "Guido van Rooij <email>guido@FreeBSD.org</email>">
<!ENTITY a.hanai "Hiroyuki HANAI <email>hanai@FreeBSD.org</email>">
<!ENTITY a.handy "Brian N. Handy <email>handy@sxt4.physics.montana.edu</email>">
<!ENTITY a.hrs "Hiroki Sato <email>hrs@FreeBSD.org</email>">
<!ENTITY a.roger "Roger Hardiman <email>roger@freebsd.org</email>">
<!ENTITY a.helbig "Wolfgang Helbig <email>helbig@FreeBSD.org</email>">
<!ENTITY a.hm "Hellmuth Michaelis <email>hm@FreeBSD.org</email>">
<!ENTITY a.hoek "Tim Vanderhoek <email>hoek@FreeBSD.org</email>">
<!ENTITY a.horikawa "Kazuo Horikawa <email>horikawa@FreeBSD.org</email>">
<!ENTITY a.hosokawa "Tatsumi Hosokawa <email>hosokawa@FreeBSD.org</email>">
<!ENTITY a.hsu "Jeffrey Hsu <email>hsu@FreeBSD.org</email>">
<!ENTITY a.iedowse "Ian Dowse <email>iedowse@FreeBSD.org</email>">
<!ENTITY a.ijliao "Ying-Chieh Liao <email>ijliao@FreeBSD.org</email>">
<!ENTITY a.imp "Warner Losh <email>imp@FreeBSD.org</email>">
<!ENTITY a.imura "R. Imura <email>imura@FreeBSD.org</email>">
<!ENTITY a.issei "Issei Suzuki <email>issei@FreeBSD.org</email>">
<!ENTITY a.itojun "Jun-ichiro Itoh <email>itojun@itojun.org</email>">
<!ENTITY a.iwasaki "Mitsuru IWASAKI <email>iwasaki@FreeBSD.org</email>">
<!ENTITY a.jake "Jake Burkholder <email>jake@FreeBSD.org</email>">
<!ENTITY a.jasone "Jason Evans <email>jasone@FreeBSD.org</email>">
<!ENTITY a.jayanth "Jayanth Vijayaraghavan <email>jayanth@FreeBSD.org</email>">
<!ENTITY a.jb "John Birrell <email>jb@cimlogic.com.au</email>">
<!ENTITY a.jdp "John Polstra <email>jdp@FreeBSD.org</email>">
<!ENTITY a.jedgar "Chris D. Faulhaber <email>jedgar@FreeBSD.org</email>">
<!ENTITY a.jeh "James Housley <email>jeh@FreeBSD.org</email>">
<!ENTITY a.jehamby "Jake Hamby <email>jehamby@lightside.com</email>">
<!ENTITY a.jesper "Jesper Skriver <email>jesper@FreeBSD.org</email>">
<!ENTITY a.jesusr "Jesus Rodriguez <email>jesusr@FreeBSD.org</email>">
<!ENTITY a.jfieber "John Fieber <email>jfieber@FreeBSD.org</email>">
<!ENTITY a.jfitz "James FitzGibbon <email>jfitz@FreeBSD.org</email>">
<!ENTITY a.jgreco "Joe Greco <email>jgreco@FreeBSD.org</email>">
<!ENTITY a.jhay "John Hay <email>jhay@FreeBSD.org</email>">
<!ENTITY a.jhb "John Baldwin <email>jhb@FreeBSD.org</email>">
<!ENTITY a.jhs "Julian Stacey <email>jhs@FreeBSD.org</email>">
<!ENTITY a.jim "Jim Mock <email>jim@FreeBSD.org</email>">
<!ENTITY a.jkh "Jordan K. Hubbard <email>jkh@FreeBSD.org</email>">
<!ENTITY a.jkoshy "Joseph Koshy <email>jkoshy@FreeBSD.org</email>">
<!ENTITY a.jlemon "Jonathan Lemon <email>jlemon@FreeBSD.org</email>">
<!ENTITY a.jlind "John Lind <email>john@starfire.MN.ORG</email>">
<!ENTITY a.jlrobin "James L. Robinson <email>jlrobin@FreeBSD.org</email>">
<!ENTITY a.jmacd "Joshua Peck Macdonald <email>jmacd@FreeBSD.org</email>">
<!ENTITY a.jmas "Jose M. Alcaide <email>jmas@FreeBSD.org</email>">
<!ENTITY a.jmb "Jonathan M. Bresler <email>jmb@FreeBSD.org</email>">
<!ENTITY a.jmg "John-Mark Gurney <email>jmg@FreeBSD.org</email>">
<!ENTITY a.jmz "Jean-Marc Zucconi <email>jmz@FreeBSD.org</email>">
<!ENTITY a.joe "Josef Karthauser <email>joe@FreeBSD.org</email>">
<!ENTITY a.keichii "Michael C. Wu <email>keichii@FreeBSD.org</email>">
<!ENTITY a.joerg "J&ouml;rg Wunsch <email>joerg@FreeBSD.org</email>">
<!ENTITY a.john "John Cavanaugh <email>john@FreeBSD.org</email>">
<!ENTITY a.jon "Jonathan Chen <email>jon@FreeBSD.org</email>">
<!ENTITY a.jraynard "James Raynard <email>jraynard@FreeBSD.org</email>">
<!ENTITY a.jseger "Justin Seger <email>jseger@FreeBSD.org</email>">
<!ENTITY a.julian "Julian Elischer <email>julian@FreeBSD.org</email>">
<!ENTITY a.jwd "John W. DeBoskey <email>jwd@FreeBSD.org</email>">
<!ENTITY a.jvh "Johannes Helander <email>jvh@FreeBSD.org</email>">
<!ENTITY a.karl "Karl Strickland <email>karl@FreeBSD.org</email>">
<!ENTITY a.kato "Takenori KATO <email>kato@FreeBSD.org</email>">
<!ENTITY a.kbyanc "Kelly Yancey <email>kbyanc@FreeBSD.org</email>">
<!ENTITY a.keith "Jing-Tang Keith Jang <email>keith@FreeBSD.org</email>">
<!ENTITY a.kelly "Sean Kelly <email>kelly@ad1440.net</email>">
<!ENTITY a.ken "Kenneth D. Merry <email>ken@FreeBSD.org</email>">
<!ENTITY a.kevlo "Kevin Lo <email>kevlo@FreeBSD.org</email>">
<!ENTITY a.kiri "Kazuhiko Kiriyama <email>kiri@FreeBSD.org</email>">
<!ENTITY a.kjc "Kenjiro Cho <email>kjc@FreeBSD.org</email>">
<!ENTITY a.knu "Akinori MUSHA <email>knu@FreeBSD.org</email>">
<!ENTITY a.kris "Kris Kennaway <email>kris@FreeBSD.org</email>">
<!ENTITY a.kuriyama "Jun Kuriyama <email>kuriyama@FreeBSD.org</email>">
<!ENTITY a.lars "Lars Fredriksen <email>lars@FreeBSD.org</email>">
<!ENTITY a.lile "Larry Lile <email>lile@FreeBSD.org</email>">
<!ENTITY a.lioux "Mário Sérgio Fujikawa Ferreira<email>lioux@FreeBSD.org</email>">
<!ENTITY a.ljo "L Jonas Olsson <email>ljo@FreeBSD.org</email>">
<!ENTITY a.lkoeller "Lars Koeller <email>lkoeller@FreeBSD.org</email>">
<!ENTITY a.logo "Valentino Vaschetto <email>logo@blackened.com</email>">
<!ENTITY a.luigi "Luigi Rizzo <email>luigi@FreeBSD.org</email>">
<!ENTITY a.luoqi "Luoqi Chen <email>luoqi@FreeBSD.org</email>">
<!ENTITY a.marcel "Marcel Moolenaar <email>marcel@FreeBSD.org</email>">
<!ENTITY a.markm "Mark Murray <email>markm@FreeBSD.org</email>">
<!ENTITY a.marko "Mark Ovens <email>marko@FreeBSD.org</email>">
<!ENTITY a.markp "Mark Pulford <email>markp@FreeBSD.org</email>">
<!ENTITY a.martin "Martin Renters <email>martin@FreeBSD.org</email>">
<!ENTITY a.max "Masafumi NAKANE <email>max@FreeBSD.org</email>">
<!ENTITY a.mayo "Mark Mayo <email>mark@vmunix.com</email>">
<!ENTITY a.mb "Maxim Bolotin <email>mb@FreeBSD.org</email>">
<!ENTITY a.mbarkah "Ade Barkah <email>mbarkah@FreeBSD.org</email>">
<!ENTITY a.mckay "Stephen McKay <email>mckay@FreeBSD.org</email>">
<!ENTITY a.mckusick "Kirk McKusick <email>mckusick@FreeBSD.org</email>">
<!ENTITY a.md "Mark Dapoz <email>md@bsc.no</email>">
<!ENTITY a.mdodd "Matthew N. Dodd <email>winter@jurai.net</email>">
<!ENTITY a.mharo "Michael Haro <email>mharo@FreeBSD.org</email>">
<!ENTITY a.mi "Mikhail Teterin <email>mi@FreeBSD.org</email>">
<!ENTITY a.mike "Mike Barcroft <email>mike@FreeBSD.org</email>">
<!ENTITY a.mikeh "Mike Heffner <email>mikeh@FreeBSD.org</email>">
<!ENTITY a.mita "Yoshio MITA <email>mita@FreeBSD.org</email>">
<!ENTITY a.mjacob "Matthew Jacob <email>mjacob@FreeBSD.org</email>">
<!ENTITY a.mks "Mike Spengler <email>mks@FreeBSD.org</email>">
<!ENTITY a.motoyuki "Motoyuki Konno <email>motoyuki@FreeBSD.org</email>">
<!ENTITY a.mp "Mark Peek <email>mp@FreeBSD.org</email>">
<!ENTITY a.mph "Matthew Hunt <email>mph@FreeBSD.org</email>">
<!ENTITY a.mpp "Mike Pritchard <email>mpp@FreeBSD.org</email>">
<!ENTITY a.msmith "Michael Smith <email>msmith@FreeBSD.org</email>">
<!ENTITY a.mtaylor "Mark J. Taylor <email>mtaylor@FreeBSD.org</email>">
<!ENTITY a.murray "Murray Stokely <email>murray@FreeBSD.org</email>">
<!ENTITY a.nakai "Yukihiro Nakai <email>nakai@FreeBSD.org</email>">
<!ENTITY a.nate "Nate Williams <email>nate@FreeBSD.org</email>">
<!ENTITY a.nbm "Neil Blakey-Milner <email>nbm@FreeBSD.org</email>">
<!ENTITY a.nectar "Jacques Vidrine <email>nectar@FreeBSD.org</email>">
<!ENTITY a.newton "Mark Newton <email>newton@FreeBSD.org</email>">
<!ENTITY a.nhibma "Nick Hibma <email>n_hibma@FreeBSD.org</email>">
<!ENTITY a.nik "Nik Clayton <email>nik@FreeBSD.org</email>">
<!ENTITY a.non "Noriaki Mitsunaga <email>non@FreeBSD.org</email>">
<!ENTITY a.nsayer "Nick Sayer <email>nsayer@FreeBSD.org</email>">
<!ENTITY a.nsj "Nate Johnson <email>nsj@FreeBSD.org</email>">
<!ENTITY a.nsouch "Nicolas Souchu <email>nsouch@FreeBSD.org</email>">
<!ENTITY a.nyan "Yoshihiro Takahashi <email>nyan@FreeBSD.org</email>">
<!ENTITY a.obrien "David O'Brien <email>obrien@FreeBSD.org</email>">
<!ENTITY a.okazaki "OKAZAKI Tetsurou <email>okazaki@FreeBSD.org</email>">
<!ENTITY a.olah "Andras Olah <email>olah@FreeBSD.org</email>">
<!ENTITY a.olgeni "Jimmy Olgeni <email>olgeni@FreeBSD.org</email>">
<!ENTITY a.onoe "Atsushi Onoe <email>onoe@FreeBSD.org</email>">
<!ENTITY a.opsys "Chris Watson <email>opsys@open-systems.net</email>">
<!ENTITY a.orion "Orion Hodson <email>orion@FreeBSD.org</email>">
<!ENTITY a.patrick "Patrick S. Gardella <email>patrick@FreeBSD.org</email>">
<!ENTITY a.paul "Paul Richards <email>paul@FreeBSD.org</email>">
<!ENTITY a.pb "Pierre Beyssac <email>pb@fasterix.freenix.org</email>">
<!ENTITY a.pds "Peter da Silva <email>pds@FreeBSD.org</email>">
<!ENTITY a.peter "Peter Wemm <email>peter@FreeBSD.org</email>">
<!ENTITY a.phantom "Alexey Zelkin <email>phantom@FreeBSD.org</email>">
<!ENTITY a.phk "Poul-Henning Kamp <email>phk@FreeBSD.org</email>">
<!ENTITY a.pho "Peter Holm <email>pho@FreeBSD.org</email>">
<!ENTITY a.piero "Piero Serini <email>piero@strider.inet.it</email>">
<!ENTITY a.pirzyk "Jim Pirzyk <email>pirzyk@FreeBSD.org</email>">
<!ENTITY a.pjc "Peter Childs <email>pjchilds@imforei.apana.org.au</email>">
<!ENTITY a.proven "Chris Provenzano <email>proven@FreeBSD.org</email>">
<!ENTITY a.ps "Paul Saab <email>ps@FreeBSD.org</email>">
<!ENTITY a.pst "Paul Traina <email>pst@FreeBSD.org</email>">
<!ENTITY a.reg "Jeremy Lea <email>reg@FreeBSD.org</email>">
<!ENTITY a.rgrimes "Rodney Grimes <email>rgrimes@FreeBSD.org</email>">
<!ENTITY a.rhuff "Robert Huff <email>rhuff@cybercom.net</email>">
<!ENTITY a.ricardag "Ricardo AG <email>ricardag@ag.com.br</email>">
<!ENTITY a.rich "Rich Murphey <email>rich@FreeBSD.org</email>">
<!ENTITY a.rnordier "Robert Nordier <email>rnordier@FreeBSD.org</email>">
<!ENTITY a.roam "Peter Pentchev <email>roam@FreeBSD.org</email>">
<!ENTITY a.roberto "Ollivier Robert <email>roberto@FreeBSD.org</email>">
<!ENTITY a.rse "Ralf S. Engelschall <email>rse@FreeBSD.org</email>">
<!ENTITY a.ru "Ruslan Ermilov <email>ru@FreeBSD.org</email>">
<!ENTITY a.rv "Rajesh Vaidheeswarran <email>rv@FreeBSD.org</email>">
<!ENTITY a.rvb "Robert V. Baron <email>rvb@FreeBSD.org</email>">
<!ENTITY a.rwatson "Robert Watson <email>rwatson@FreeBSD.org</email>">
<!ENTITY a.sada "SADA Kenji <email>sada@FreeBSD.org</email>">
<!ENTITY a.sanpei "Yoshiro Sanpei MIHIRA <email>sanpei@FreeBSD.org</email>">
<!ENTITY a.schweikh "Jens Schweikhardt <email>schweikh@FreeBSD.org</email>">
<!ENTITY a.scottl "Scott Long <email>scottl@FreeBSD.org</email>">
<!ENTITY a.scrappy "Marc G. Fournier <email>scrappy@FreeBSD.org</email>">
<!ENTITY a.se "Stefan Esser <email>se@FreeBSD.org</email>">
<!ENTITY a.sef "Sean Eric Fagan <email>sef@FreeBSD.org</email>">
<!ENTITY a.semenu "Ustimenko Semen <email>semenu@FreeBSD.org</email>">
<!ENTITY a.sethk "Seth Kingsley <email>seth.kingsley@windriver.com</email>">
<!ENTITY a.sf "FUJISHIMA Satsuki <email>sf@FreeBSD.org</email>">
<!ENTITY a.shafeeq "Shafeeq Sinnamohideen <email>shafeeq@FreeBSD.org</email>">
<!ENTITY a.sheldonh "Sheldon Hearn <email>sheldonh@FreeBSD.org</email>">
<!ENTITY a.shiba "Takeshi Shibagaki <email>shiba@FreeBSD.org</email>">
<!ENTITY a.shige "Shigeyuki Fukushima <email>shige@FreeBSD.org</email>">
<!ENTITY a.shin "Yoshinobu Inoue <email>shin@FreeBSD.org</email>">
<!ENTITY a.silby "Mike Silbersack <email>silby@FreeBSD.org</email>">
<!ENTITY a.simokawa "Hidetoshi Shimokawa <email>simokawa@FreeBSD.org</email>">
<!ENTITY a.smace "Scott Mace <email>smace@FreeBSD.org</email>">
<!ENTITY a.smpatel "Sujal Patel <email>smpatel@FreeBSD.org</email>">
<!ENTITY a.sobomax "Maxim Sobolev <email>sobomax@FreeBSD.org</email>">
<!ENTITY a.sos "S&oslash;ren Schmidt <email>sos@FreeBSD.org</email>">
<!ENTITY a.stanislav "G. Adam Stanislav. <email>adam@whizkidtech.net</email>">
<!ENTITY a.stark "Gene Stark <email>stark@FreeBSD.org</email>">
<!ENTITY a.stb "Stefan Bethke <email>stb@FreeBSD.org</email>">
<!ENTITY a.steve "Steve Price <email>steve@FreeBSD.org</email>">
<!ENTITY a.sumikawa "Munechika Sumikawa <email>sumikawa@FreeBSD.org</email>">
<!ENTITY a.swallace "Steven Wallace <email>swallace@FreeBSD.org</email>">
<!ENTITY a.tanimura "Seigo Tanimura <email>tanimura@FreeBSD.org</email>">
<!ENTITY a.taoka "Satoshi Taoka <email>taoka@FreeBSD.org</email>">
<!ENTITY a.takawata "Takanori Watanabe <email>takawata@FreeBSD.org</email>">
<!ENTITY a.tedm "Ted Mittelstaedt <email>tedm@FreeBSD.org</email>">
<!ENTITY a.tegge "Tor Egge <email>tegge@FreeBSD.org</email>">
<!ENTITY a.tg "Thomas Gellekum <email>tg@FreeBSD.org</email>">
<!ENTITY a.thepish "Peter Hawkins <email>thepish@FreeBSD.org</email>">
<!ENTITY a.tmm "Thomas M&ouml;stl <email>tmm@FreeBSD.org</email>">
<!ENTITY a.tobez "Anton Berezin <email>tobez@FreeBSD.org</email>">
<!ENTITY a.tom "Tom Hukins <email>tom@FreeBSD.org</email>">
<!ENTITY a.tomsoft "Thomas-Henning von Kamptz <email>tomsoft@FreeBSD.org</email>">
<!ENTITY a.torstenb "Torsten Blum <email>torstenb@FreeBSD.org</email>">
<!ENTITY a.toshi "Toshihiko Arai <email>toshi@FreeBSD.org</email>">
<!ENTITY a.trevor "Trevor Johnson <email>trevor@FreeBSD.org</email>">
<!ENTITY a.truckman "Don &ldquo;Truck&rdquo; Lewis <email>truckman@FreeBSD.org</email>">
<!ENTITY a.tshiozak "Takuya SHIOZAKI <email>tshiozak@FreeBSD.org</email>">
<!ENTITY a.uch "UCHIYAMA Yasushi <email>uch@FreeBSD.org</email>">
<!ENTITY a.ue "Udo Erdelhoff <email>ue@FreeBSD.org</email>">
<!ENTITY a.ugen "Ugen J.S.Antsilevich <email>ugen@FreeBSD.org</email>">
<!ENTITY a.uhclem "Frank Durda IV <email>uhclem@FreeBSD.org</email>">
<!ENTITY a.ulf "Ulf Zimmermann <email>ulf@FreeBSD.org</email>">
<!ENTITY a.ume "Hajimu UMEMOTO <email>ume@FreeBSD.org</email>">
<!ENTITY a.unfurl "Bill Swingle <email>unfurl@FreeBSD.org</email>">
<!ENTITY a.vanilla "Vanilla I. Shu <email>vanilla@FreeBSD.org</email>">
<!ENTITY a.wes "Wes Peters <email>wes@FreeBSD.org</email>">
<!ENTITY a.whiteside "Don Whiteside <email>whiteside@acm.org</email>">
<!ENTITY a.wilko "Wilko Bulte <email>wilko@FreeBSD.org</email>">
<!ENTITY a.will "Will Andrews <email>will@FreeBSD.org</email>">
<!ENTITY a.wjv "Johann Visagie <email>wjv@FreeBSD.org</email>">
<!ENTITY a.wlloyd "Bill Lloyd <email>wlloyd@mpd.ca</email>">
<!ENTITY a.wollman "Garrett Wollman <email>wollman@FreeBSD.org</email>">
<!ENTITY a.wosch "Wolfram Schneider <email>wosch@FreeBSD.org</email>">
<!ENTITY a.wpaul "Bill Paul <email>wpaul@FreeBSD.org</email>">
<!ENTITY a.wsanchez "Wilfredo Sánchez <email>wsanchez@FreeBSD.org</email>">
<!ENTITY a.wylie "Wylie Stilwell <email>wylie@osd.bsdi.com</email>">
<!ENTITY a.yar "Yar Tikhiy <email>yar@FreeBSD.org</email>">
<!ENTITY a.yokota "Kazutaka YOKOTA <email>yokota@FreeBSD.org</email>">
<!ENTITY a.zarzycki "Dave Zarzycki <email>zarzycki@FreeBSD.org</email>">

View file

@ -1,671 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
The FreeBSD Spanish Documentation Project
%SOURCE% en_US.ISO8859-1/books/handbook/backups/chapter.sgml
%SRCID% 0.0
-->
<chapter id="backups">
<title>Backups</title>
<para>Las cuestiones de compatibilidad de hardware se encuentran entre las más
problemáticas hoy en día en la industria de los componentes de ordenador
y FreeBSD no es, de ningún modo, inmune a estos problemas. A este respecto, la
ventaja de FreeBSD consistente en su capacidad para funcionar sobre componentes normales
de PC supone una carga a la hora de soportar la sorprendente variedad de componentes que
hay en el mercado. Si bien sería imposible suministrar una lista exhaustiva de
componentes que FreeBSD soporta, esta sección sirve de catálogo de los
controladores de dispositivo incluidos con FreeBSD y de los componentes que cada
controlador soporta. Donde resulta posible y adecuado, se incluye notas acerca de
productos específicos. Puede usted consultar la sección de
<link linkend="kernelconfig-config">configuración del núcleo</link>, en
este mismo manual, donde encontrará una lista de los dispositivos soportados.
</para>
<para>Como FreeBSD es un proyecto realizado por voluntarios y carece de un departamento de
pruebas financiado, dependemos de usted, el usuario, para gran parte de la información
contenida en este catálogo de dispositivos. Si tiene usted experiencia directa de
componentes que funcionen o que no funcionen con FreeBSD, por favor notifíquenoslo
mediante correo electrónico a la lista &a.doc;. Las preguntas acerca de los
dispositivos soportados pueden dirigirse a la lista &a.questions (consulte
<link linkend="eresources-mail">Listas de Correo</link> para más información).
Cuando envíe información o realice una pregunta, por favor recuerde especificar
exactamente qué versión de FreeBSD está utilizando, así como
incluir tantos detalles de los componentes de su ordenador como sea posible.
</para>
<sect1 id="backups-tapebackups">
<title>Soportes de cinta</title>
<para>Los principales soportes de cinta son: 4 mm, 8 mm, QIC, mini-cartuchos y DLT.</para>
<sect2 id="backups-tapebackups-4mm">
<title>4 mm (DDS: Digital Data Storage, Almacenamiento digital de datos)</title>
<para>Las cintas de 4 mm están sustituyendo a las QIC como el soporte de copias
de seguridad más popular. Esta tendencia se aceleró considerablemente
cuando Conner compró Archive, un destacado fabricante de unidades QIC, y
entonces detuvo la producción de unidades QIC. Las unidades de 4 mm son
pequeñas y silenciosas, pero no tienen la reputación de fiabilidad de
las unidades de 8 mm. Los cartuchos son menos caros y más pequeños
(76 x 51 x 12 mm, 3 x 2 x 0.5 pulgadas) que los cartuchos de 8 mm. Las unidades de 4 mm,
como las de 8 mm, presentan una vida comparativamente corta del cabezal por el mismo
motivo, ambas emplean un barrido helicoidal.
</para>
<para>La tasa de transferencia de datos en estas unidades comienza en torno a 150 kB/s,
alcanzando picos de 500 kB/s. La capacidad de almacenamiento comienza en 1.3 GB y llega
hasta 2.0 GB. La compresión mediante hardware, disponible en la mayoría
de estas unidades, duplica aproximadamente la capacidad. Las unidades de cinta
múltiples pueden constar de 6 unidades en un mismo chasis, con funciones de
cambio automático de cintas. La capacidad de las librerías (de cintas)
alcanzan 240 GB.
</para>
<para>Las unidades de 4 mm, como las de 8 mm, emplean un barrido helicoidal. Todas las
ventajas e inconvenientes del barrido helicoidal son aplicables tanto a las unidades
de 4 mm, como a las de 8 mm.
</para>
<para>Las cintas deberían ser retiradas de uso tras 2000 lecturas o 100 copias
de seguridad completas.
</para>
</sect2>
<sect2 id="backups-tapebackups-8mm">
<title>8 mm (Exabyte)</title>
<para>Las unidades de 8 mm son las más comunes para controladoras SCSI; son la
mejor elección para intercambiar cintas. En casi cualquier sistema se puede
encontrar una unidad Exabyte de 8 mm con 2 GB de capacidad. Las unidades de 8 mm son
fiables, cómodas y silenciosas. Los cartuchos son baratos y pequeños
(122 x 84 x 15 mm; 4.8 x 3.3 x 0.6 pulgadas). Un inconveniente de las cintas de 8 mm
es la vida relativamente corta de la cinta y de los cabezales, debido a la alta tasa
de movimiento relativo entre ambos.
</para>
<para>La tasa de transferencia de datos oscila, aproximadamente, entre 250 kB/s y
500 kB/s. La capacidad de almacenamiento comienza en 300 MB y alcanza 7 GB. La
compresión mediante hardware, disponible en la mayoría de estas unidades,
aproximadamente dobla la capacidad. Esta unidades están disponibles como unidades
independientes y como unidades de cinta múltiples, con 6 unidades y 120 cintas
en un mismo chasis. Las cintas son cambiadas automáticamente por la unidad. La
capacidad de las librerías alcanza más de 840 GB.
</para>
<para>La información se registra en la cinta empleando para ello un barrido
helicoidal, los cabezales se sitúan formando un cierto ángulo con la
cinta (aproximadamente 6 grados). La cinta rodea 270 grados al soporte que sostiene
los cabezales. El soporte gira mientras la cinta se desliza sobre ella. El resultado
es una gran densidad de datos y las pistas dispuestas muy cerca entre sí y a
través de la cinta, formando un ángulo, desde un extremo hasta el otro.
</para>
</sect2>
<sect2 id="backups-tapebackups-qic">
<title>QIC</title>
<para>Las cintas y las unidades QIC-150 son, quizás, las más comunes. Las
unidades QIC son las menos caras de entre las unidades de backup "serias". El
inconveniente es el coste de las cintas. Las cintas QIC son caras comparadas con las
de 8mm o las de 4mm, hasta 5 veces más caras por GB. Pero si sus necesidades se
pueden satisfacer con media docena de cintas, QIC puede ser una elección acertada.
Las unidades QIC son las unidades de cinta <emphasis>más</emphasis> comunes. En
todos los sistemas hay una unidad QIC de alguna densidad. Ahi reside el problema, QIC
presenta un gran número de densidades en cintas físicamente similares
(en ocasiones, idénticas). Las unidades QIC no son silenciosas. Estas unidades
resultan audibles cuando se sitúan antes de comenzar a escribir y claramente
audibles cuando leen, escriben o se sitúan (seek). Las dimensiones de las cintas
QIC son: 15.2 x 10.2 x 1.7 mm (6 x 4 x 0.7 pulgadas). Los
<link linkend="backups-tapebackups-mini">mini-cartuchos</link>, que también
utilizan cinta de 1/4 de pulgada de anchura, se comentan en otro apartado. No
están disponibles ni cambiadores, ni unidades múltiples de cintas.
</para>
<para>La tasa de transferencia de datos oscila entre, aproximadamente, 150k B/s y 500kB/s.
La capacidad de almacenamiento oscila ente 40 MB y 15 GB. La compresión mediante
hardware está disponible en muchas de las nuevas unidades QIC. Las unidades QIC
se instalan cada vez menos; están siendo desplazadas por las unidades DAT.
</para>
<para>La información se almacena en pistas. Las pistas están dispuestas
longiudinalmente en la cinta, de un extremo al otro. El número de pistas, y por
tanto la anchura de las mismas, varía en función de la capacidad de la
cinta. Si no todas, la mayoría de las unidades nuevas presentan compatibilidad
con las anteriores al menos para la lectura (frecuentemente, también para la
escritura). QIC tiene una buena reputación en relación con la seguridad
de los datos (el mecanismo es más simple y más robusto que el de las
unidades con barrido helicoidal).
</para>
<para>Las cintas deberín ser retiradas de uso tras 5000 copias de seguridad.</para>
</sect2>
<sect2 id="backups-tapebackups-mini">
<title>* Mini-Cartuchos</title>
<para></para>
</sect2>
<sect2 id="backups-tapebackups-dlt">
<title>DLT</title>
<para>Las unidades DLT presentan la tasa de transferencia de datos más elevada
de todos los tipos de unidades comentados. La cinta de 12.5 mm (1/2 pulgada)
está contenida en un cartucho de una única bobina (100 x 100 x 25 mm;
4 x 4 x 1 pulgadas). El cartucho tiene una puerta que se abate a lo largo de un
costado del mismo. El mecanismo de la unidad abre esta puerta para extraer la
guía de la cinta. La guía de la cinta tiene un agujero oval que es
usado por la unidad para "enganchar" la cinta. La bobina en la que se va a enrollar
la cinta se localiza en el interior de la unidad. Los restantes cartuchos de cinta
mencionados (con la única excepción de las cintas de 9 pistas) tienen
situadas en el interior del propio cartucho ambas bobinas, tanto aquella en la que
está inicialmente enrollada la cinta, como la bobina en la que se va a enrollar.
</para>
<para>La tasa de transferencia de datos es aproximadamente 1.5 MB/s, tres veces la de
las unidades de 4 mm, de 8 mm y QIC. La capacidad oscila entre 10 GB y 10 GB para una
unidad sencilla. Las unidades se encuentran disponibles como unidades sencillas con
cambiador de cintas y también como unidades múltiples con cambiador de
cintas, conteniendo desde 5 hasta 900 cintas, desde 1 a 20 unidades y siendo capaces
de almacenar entre 50 GB y 9 TB.
</para>
<para>La información se graba en la cinta en pistas paralelas a la dirección
de desplazamiento (como en las cintas QIC). Se escriben dos pistas a la vez. La vida
útil de los cabezales de lectura/escritura es relativamente larga; una vez la
cinta se detiene, no hay movimiento relativo entre los cabezales y la cinta.
</para>
</sect2>
<sect2>
<title>Usando una cinta nueva por primera vez</title>
<para>La primera vez que intente leer o escribir en una cinta nueva y completamente virgen,
la operación fracasará. Los mensajes de la consola deberían ser
similares a los siguientes:
</para>
<screen>sa0(ncr1:4:0): NOT READY asc:4,1
sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
<para>La cinta no contiene un bloque de identificación (bloque número 0).
Desde la adopción del standard QIC-525, todas las unidades QIC escriben en la
cinta un bloque de identificación. Caben dos soluciones:
</para>
<para><command>mt fsf 1</command> hace que la unidad escriba un bloque de
identificación en la cinta.
</para>
<para>Use el botón del panel frontal de la unidad para expulsar la cinta.</para>
<para>Reinserte la cinta y transfiera mediante &man.dump.8; la información a
la cinta.
</para>
<para>&man.dump.8; mostrará el mensaje <literal>DUMP: End of tape
detected</literal> y en la consola aparecerá: <literal>HARDWARE
FAILURE info:280 asc:80,96</literal></para>
<para>rebobine la cinta utilizando: <command>mt rewind</command></para>
<para>Las siguientes operaciones sobre la cinta tendrán éxito.</para>
</sect2>
</sect1>
<sect1 id="backup-programs">
<title>Programas para hacer copias de seguridad</title>
<para>Los tres programas principales son
&man.dump.8;,
&man.tar.1;,
y
&man.cpio.1;.</para>
<sect2>
<title>Dump y Restore</title>
<para>&man.dump.8; y &man.restore.8; son los programas tradicionales de Unix para
realizar copias de seguridad. Operan sobre la unidad como si ésta fuese un
conjunto de bloques de disco, a un nivel inferior a las abstracciones de archivos,
enlaces y directorios, creadas por los sistemas de archivos. &man.dump.8; hace copias
de seguridad de dispositivos, sistemas de archivos enteros, no de partes de un sistema
de archivos ni de árboles de directorios que se extienden por más de un
sistema de archivos utilizando enlaces simbólicos, o bien montando un sistema
bajo el otro. &man.dump.8; no escribe en la cinta archivos ni directorios, sino que
más bien escribe bloques de datos que son las piezas con las que se construyen
los archivos y directorios. &man.dump.8; presenta peculiaridades que provienen de su
origen en la Versión 6 del Unix de ATT (en torno a 1975). Los parámetros
por defecto resultan adecuados para las cintas de 9 pistas (6250 bpi), pero no para los
soportes de alta densidad disponibles hoy en día (hasta 62,182 ftpi). Estos
valores por defecto deben ser anulados mediante la línea de comandos para
utilizar la capacidad de las unidades de cinta actuales.
</para>
<para>&man.rdump.8; y &man.rrestore.8; hacen copias de seguridad a través de la
red, en una unidad conectada a otro ordenador. Ambos programas se basan en &man.rcmd.3;
y &man.ruserok.3; para acceder a la unidad de cinta remota. Por tanto, el usuario que
realiza la copia de seguridad debe tener acceso al ordenador remoto mediante
<literal>rhosts</literal>. Los argumentos suministrados a &man.rdump.8; y a
&man.rrestore.8; deben ser adecuados para el ordenador remoto. (Por ejemplo, cuando
esté volcando datos mediante <command>rdump</command> desde un ordenador con
FreeBSD a una unidad Exabyte conectada a una estación Sun, de nombre
<hostid>komodo</hostid>, emplee:
<command>/sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nrsa8 /dev/rda0a 2>&amp;1</command>)
Atención: permitir comandos <literal>rhosts</literal> afecta a la seguridad.
Evalúe su sitación ciudadosamente.
</para>
</sect2>
<sect2>
<title>Tar</title>
<para>&man.tar.1; también se remonta a la Versión 6 del Unix de ATT
(hacia 1975). &man.tar.1; trabaja con el sistema de archivos; &man.tar.1; escribe
archivos y directorios en la cinta. &man.tar.1; no soporta todas las opciones
disponibles para &man.cpio.1;, pero &man.tar.1; no necesita la inusual tubería
que &man.cpio.1; emplea.
</para>
<para>La mayor parte de las versiones de &man.tar.1; no soportan la realización
de copias de seguridad a través de la red. La versión GNU de &man.tar.1;,
la que se usa en FreeBSD, soporta dispositivos remotos empleando la misma sintaxis que
&man.rdump.8;. Para hacer una copia de seguridad mediante &man.tar.1; a una unidad
Exabyte conectada a una estación Sun de nombre <hostid>komodo</hostid>, se
utilizaría: <command>/usr/bin/tar cf komodo:/dev/nrsa8 . 2>&amp;1</command>.
Para las versiones que no soportan dispositivos remotos, se puede utilizar una
tubería y &man.rsh.1; para enviar los datos a la unidad remota.
</para>
</sect2>
<sect2>
<title>Cpio</title>
<para>&man.cpio.1; es el programa original de Unix para intercambiar archivos mediante
soportes magnéticos. &man.cpio.1; tiene, entre muchas otras, opciones para
realizar intercambio (swapping) de bytes, escribir en diferentes formatos de archivo y
enviar mediante una tubería los datos a otros programas. Esta última
prestación hace de &man.cpio.1; una excelente elección para soportes de
instalación. &man.cpio.1; no sabe cómo recorrer el árbol de
directorios, por lo que se le debe suministrar una lista de archivos a través
de <filename>stdin</filename>.
</para>
<para>&man.cpio.1; no soporta la realización de copias de seguridad a través
de la red. Puede utilizar una tubería junto con &man.rsh.1; para enviar los datos
a una unidad de cinta remota.
</para>
</sect2>
<sect2>
<title>Pax</title>
<para>&man.pax.1; es la respuesta de IEEE/POSIX a &man.tar.1; y a &man.cpio.1;. A lo
largo de los años, las distintas versiones de &man.tar.1; y de &man.cpio.1; se
han vuelto ligeramente incompatibles. Por ello, más que luchar para estandarizarlas
completamente, POSIX creó un nuevo programa para realizar copias de seguridad.
&man.pax.1; lee y escribe en varios de los diversos formatos de &man.cpio.1; y
&man.tar.1;, además de nuevos formatos propios. Su juego de comandos se parece
más al de &man.cpio.1; que al de &man.tar.1;.
</para>
</sect2>
<sect2 id="backups-programs-amanda">
<title>Amanda</title>
<para><ulink url="../ports/misc.html#amanda-2.4.0">Amanda</ulink> (Advanced Maryland
Network Disk Archiver) constituye, más que un único programa, un
sistema con estructura cliente/servidor. Un servidor de Amanda realizará, en
una única unidad de cinta, copias de seguridad de un número indeterminado
de ordenadores que tengan clientes de Amanda y comunicación mediante red con
el servidor de Amanda. Un problema habitual en aquellos lugares en los que hay muchos
discos grandes consiste en que el tiempo necesario para realizar copias de seguridad
directamente sobre la cinta excede el tiempo disponible para la tarea. Amanda soluciona
este problema. Amanda puede utilizar un "disco contenedor" para realizar copias de
seguridad de varios sistemas de archivos a la vez. Amanda crea "juegos de archivos": un
grupo de cintas utilizadas por un determinado periodo de tiempo para hacer copias de
seguridad completas (full backups) de todos los sistemas de archivos indicados en el
archivo de configuración de Amanda. El "juego de archivos" también
contiene copias de seguridad incrementales (o diferenciales) de los sistemas de archivos,
realizadas diariamente (normalmente por la noche). Restaurar un sistema de archivos
dañado requiere la copia de seguridad completa más reciente y las copias
de seguridad incrementales.
</para>
<para>El archivo de configuración permite un control preciso de las copias de
seguridad y del tráfico que Amanda genera en la red. Amanda usará cualquiera
de los programas mencionados arriba para escribir los datos en la cinta. Amanda se
encuentra disponible tanto en forma de port, como en forma de paquete (package). Amanda no
se instala por defecto.
</para>
</sect2>
<sect2>
<title>No haga nada</title>
<para>&ldquo;No haga nada&rdquo; no es un programa de ordenador, pero es la estrategia
de copias de seguridad más ampliamente usada. No presenta costes iniciales. No
hay que seguir ninguna planificación. Simplemente diga no. Si algo le sucediese
a sus datos, sonría y resígnese!
</para>
<para>Si su tiempo y sus datos no tienen valor alguno, entonces &ldquo;No haga nada&rdquo;
es el procedimiento de realización de copias de seguridad más adecuado
para usted. Pero sepa que, como Unix es una herramienta útil, puede que en seis
meses tenga usted una colección de archivos que le resulte valiosa.
</para>
<para>&ldquo;No haga nada&rdquo; es el método de realización de copias de
seguridad apropiado para <filename>/usr/obj</filename> y otros árboles de
directorios que pueden ser exactamente reproducidos por su odenador. Un ejemplo de
esto lo constituyen los archivos que contienen las páginas de este manual, que
han sido generados a partir de archivos <acronym>SGML</acronym>. Hacer copias de seguridad
de estos archivos <acronym>HTML</acronym> resulta innecesario. De los archivos fuente en
formato <acronym>SGML</acronym> se realiza regularmente copias de seguridad.
</para>
</sect2>
<sect2>
<title>?Qué programa es el mejor para realizar copias de seguridad?</title>
<para>&man.dump.8; <emphasis>Punto.</emphasis> Elizabeth D. Zwicky probó
concienzudamente todos los programas para realizar copias de seguridad aquí
comentados. La mejor elección para preservar todos los datos y las peculiaridades
de los sistemas de archivos de Unix es &man.dump.8;. Elizabeth creó sistemas de
archivos que presentaban una gran variedad de condiciones inusuales (y algunas no tan
inusuales) y probó cada programa haciendo copias de seguridad de esos sistemas
de archivos y restaurándolas. Estas condiciones inusuales incluían:
archivos con huecos, archivos con huecos y con un bloque de caracteres NULL, archivos
con caracteres extraños en el nombre, archivos sobre los que no se podía
leer ni escribir, dispositivos, archivos que cambiaban de tamaño durante la
realización de la copia de seguridad, archivos que eran creados/borrados durante
la realización de la copia de seguridad, etc. Elisabeth presentó los
resultados de su estudio en LISA V, en octubre de 1991. Véase
<ulink url="http://reality.sgi.com/zwicky_neu/testdump.doc.html">Torture-testing Backup
and Archive Programs</ulink>.
</para>
</sect2>
<sect2>
<title>Procedimiento de restauración de emergencia</title>
<sect3>
<title>Antes del desastre</title>
<para>Hay cuatro pasos que necesita realizar para prepararse para cualquier desastre que
pudiera ocurrir.
</para>
<para>En primer lugar, imprima la tabla de particiones BSD (disklabel) de cada uno de
sus discos (por ejemplo, <command>disklabel da0 | lpr</command>), su tabla de sistemas
de archivos (<command>/etc/fstab</command>) y todos los mensajes que aparecen al
iniciar el sistema operativo. Haga dos copias de cada uno.
</para>
<para>En segundo lugar, compruebe que los discos de inicio y de reparación
(<filename>boot.flp</filename> y <filename>fixit.flp</filename>) contienen controladores
para todos sus dispositivos. El modo más sencillo de comprobarlo es reiniciar
el ordenador con el disco de arranque en la disquetera y comprobar los mensajes que
aparecen al iniciarse el sistema operativo. Si todos sus dispositivos aparecen
mencionados y están operativos, pase al punto tercero.
</para>
<para>De no ser así, deberá crear a medida dos discos de inicio que
contengan un núcleo que permita montar todos sus discos y acceder a su unidad
de cinta. Estos discos deben contener: &man.fdisk.8;, &man.disklabel.8;, &man.newfs.8;,
&man.mount.8;, y cualquier otro programa que utilice para realizar copias de seguridad.
Estos programas deben estar enlazados estáticamente. Si utiliza &man.dump.8;,
el disquete deberá contener también &man.restore.8;.
</para>
<para>En tercer lugar, realice copias de seguridad regularmente. Cualquier cambio que
haga tras su última copia de seguridad puede resultar perdido sin posibilidad
de recuperación. Proteja contra escritura las cintas que contengan las copias
de seguridad.
</para>
<para>En cuarto lugar, pruebe los discos (bien <filename>boot.flp</filename> y
<filename>fixit.flp</filename> o bien los dos discos que creó a medida en el
segundo paso) y las cintas que contienen las copias de seguridad. Tome notas del
proceso. Almacene esas notas junto con los discos de arranque, los datos que
imprimió y las cintas que contienen las copias de seguridad. Se encontrará
tan inquieto cuando proceda a la restauración que las notas pueden impedir que
destruya las cintas que contienen las copias de seguridad (?Cómo? En
lugar de <command>tar xvf /dev/rsa0</command>, usted podría accidentalmente
teclear <command>tar cvf /dev/rsa0</command> y sobreescribir las cintas que contienen
las copias de seguridad).
</para>
<para>Como medida adicional de seguridad, haga discos de arranque y copias por duplicado
cada vez. Guarde uno de cada en un lugar lejano. Un lugar lejano NO es el sótano
del mismo edificio. Varias compañías aprendieron esta lección por
las malas en el Centro Mundial del Comercio (World Trade Center). Un lugar lejano
debería estar físicamente separado de sus ordenadores y discos duros por
una distancia considerable.
</para>
<para>Un ejemplo de script para crear un disco de arranque:</para>
<programlisting>
<![ CDATA [#!/bin/sh
#
# crear un disco de recuperacion
#
# formatear el disco
#
PATH=/bin:/sbin:/usr/sbin:/usr/bin
fdformat -q fd0
if [ $? -ne 0 ]
then
echo "Disco defectuoso, por favor utilice uno nuevo."
exit 1
fi
# escribir bloques de arranque en el disco
#
disklabel -w -B /dev/rfd0c fd1440
#
# crear un nuevo sistema de archivos en la unica particion existente
#
newfs -t 2 -u 18 -l 1 -c 40 -i 5120 -m 5 -o space /dev/rfd0a
#
# montar el nuevo disco
#
mount /dev/fd0a /mnt
#
# crear los directorios necesarios
#
mkdir /mnt/dev
mkdir /mnt/bin
mkdir /mnt/sbin
mkdir /mnt/etc
mkdir /mnt/root
mkdir /mnt/mnt # para la particion raiz
mkdir /mnt/tmp
mkdir /mnt/var
#
# poblar los directorios
#
if [ ! -x /sys/compile/MINI/kernel ]
then
cat << EOM
El nucleo MINI no existe, por favor cree uno.
Aqui tiene un ejemplo de archivo de configuracion:
#
# MINI -- Un nucleo para poner FreeBSD en un disco
#
machine "i386"
cpu "I486_CPU"
ident MINI
maxusers 5
options INET # necesario para _tcp _icmpstat _ipstat
# _udpstat _tcpstat _udb
options FFS # sistema de archivos rapido (Fast
# File System) de Berkeley
options FAT_CURSOR # cursor en forma de bloque en syscons o
# pccons
options SCSI_DELAY=15 # ser pesimista acerca de dispositivos
# SCSI genericos
options NCONS=2 # 1 consola virtual
options USERCONFIG # permitir la configuracion por el
# usuario mediante -c XXX
config kernel root on da0 swap on da0 and da1 dumps on da0
controller isa0
controller pci0
controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk fd0 at fdc0 drive 0
controller ncr0
controller scbus0
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
device da0
device da1
device da2
device sa0
pseudo-device loop # requerido por INET
pseudo-device gzip # ejecutar archivos en formato a.out que estan
# comprimidos con gzip
EOM
exit 1
fi
cp -f /sys/compile/MINI/kernel /mnt
gzip -c -best /sbin/init > /mnt/sbin/init
gzip -c -best /sbin/fsck > /mnt/sbin/fsck
gzip -c -best /sbin/mount > /mnt/sbin/mount
gzip -c -best /sbin/halt > /mnt/sbin/halt
gzip -c -best /sbin/restore > /mnt/sbin/restore
gzip -c -best /bin/sh > /mnt/bin/sh
gzip -c -best /bin/sync > /mnt/bin/sync
cp /root/.profile /mnt/root
cp -f /dev/MAKEDEV /mnt/dev
chmod 755 /mnt/dev/MAKEDEV
chmod 500 /mnt/sbin/init
chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
chmod 555 /mnt/bin/sh /mnt/bin/sync
chmod 6555 /mnt/sbin/restore
#
# crear los nodos de los dispositivos
#
cd /mnt/dev
./MAKEDEV std
./MAKEDEV da0
./MAKEDEV da1
./MAKEDEV da2
./MAKEDEV sa0
./MAKEDEV pty0
cd /
#
# crear una tabla minima de sistemas de archivos
#
cat > /mnt/etc/fstab <<EOM
/dev/fd0a / ufs rw 1 1
EOM
#
# crear un archivo de passwords minimo
#
cat > /mnt/etc/passwd <<EOM
root:*:0:0:Charlie &:/root:/bin/sh
EOM
cat > /mnt/etc/master.passwd <<EOM
root::0:0::0:0:Charlie &:/root:/bin/sh
EOM
chmod 600 /mnt/etc/master.passwd
chmod 644 /mnt/etc/passwd
/usr/sbin/pwd_mkdb -d/mnt/etc /mnt/etc/master.passwd
#
# desmontar el disco e informar al usuario
#
/sbin/umount /mnt]]></programlisting>
</sect3>
<sect3>
<title>Tras el desastre</title>
<para>La pregunta clave es: ?ha sobrevivido su hardware? Como ha estado usted
realizando copias de seguridad regularmente, no hace falta que se preocupe por sus
datos.
</para>
<para>Si se ha dañado su hardware, comience por sustituir aquellos dispositivos
que se hayan estropeado.
</para>
<para>Si su hardware se encuentra bien, compruebe sus discos. Si está usando un
disco de arranque creado a medida, arranque en modo monousuario (teclee
<literal>-s</literal> cuando aparezca el prompt <prompt>boot:</prompt>). Sáltese
el siguiente párrafo.
</para>
<para>Si está usando los disquetes <filename>boot.flp</filename> y
<filename>fixit.flp</filename>, continúe leyendo. Introduzca el disquete
<filename>boot.flp</filename> en la primera unidad e inicie el ordenador. En la
pantalla aparecerá el menú original de instalación. Seleccione
la opción de reparación,
<literal>Fixit--Repair mode with CDROM or floppy</literal>. Cuando se le solicite,
introduzca el disquete <filename>fixit.flp</filename>. <command>restore</command> y
los otros programas que necesita se encuentran en <filename>/mnt2/stand</filename>.
</para>
<para>Recupere cada sistema de archivos por separado.</para>
<para>Intente montar la partición raíz de su primer disco mediante
&man.mount.8; (por ejemplo, <command>mount /dev/da0a /mnt</command>). Si la tabla de
particiones BSD (disklabel) se encuentra dañada, use &man.disklabel.8; para
reparticionar y etiquetar el disco de modo que coincida con la etiqueta que usted
imprimió y guardó. Utilice &man.newfs.8; para volver a crear los sistemas
de archivos. Vuelva a montar la partición raíz del disquete en modo de
lectura y escritura (<command>mount -u -o rw /mnt</command>). Use los programas
apropiados y las cintas que contienen las copias de seguridad para recuperar los datos
de este sistema de archivos (por ejemplo, <command>restore vrf /dev/sa0</command>).
Desmonte el sistema de archivos (por ejemplo, <command>umount /mnt</command>). Repita
este proceso para cada sistema de archivos que resultase dañado.
</para>
<para>Una vez que su sistema se encuentre funcionando, copie sus datos en cintas nuevas.
Sea lo que fuere lo que causó la pérdida de datos, puede suceder
nuevamente. Emplear una hora en esta tarea le puede salvar de problemas adicionales en
el futuro.</para>
</sect3>
<sect3>
<title>* No me preparé para el desastre, ?Qué hago ahora?</title>
<para></para>
</sect3>
</sect2>
</sect1>
</chapter>

View file

@ -308,7 +308,6 @@
&chap.eresources;
&chap.pgpkeys;
&chap.index;
&chap.updating;
</part>
&chap.colophon;

View file

@ -196,11 +196,6 @@
<!ENTITY chap.colophon SYSTEM "colophon.sgml">
<!-- Translation leftover -->
<![%chap.updating;[
<!ENTITY chap.updating SYSTEM "updating/chapter.sgml">
]]>
<!-- IGNORE cases -->
<!-- Part One -->

View file

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!--
The FreeBSD Documentation Project
The FreeBSD Spanish Documentation Project
%SOURCE% en_US.ISO8859-1/books/handbook/contrib/chapter.sgml
%SRCID% 0.0
$FreeBSD$
-->
<chapter id="contrib">
<title>Cómo colaborar con el Proyecto &os;</title>
<para>Colaborar con &os;</para>
<sect1 id="contrib-additional">
<title>Otros colaboradores de &os;</title>
<para>&nbsp;</para>
</sect1>
</chapter>

View file

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!--
The FreeBSD Documentation Project
The FreeBSD Spanish Documentation Project
%SOURCE% en_US.ISO8859-1/books/handbook/hw/chapter.sgml
%SRCID% 0.0
$FreeBSD$
$FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/hw/chapter.sgml,v 1.2 2004/10/08 19:17:34 jesusr Exp $
-->
<chapter id="hw">
<title>Compatibilidad de Hardware</title>
<para>Compatibilidad de Hardware</para>
</chapter>

View file

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!--
The FreeBSD Documentation Project
The FreeBSD Spanish Documentation Project
%SOURCE% en_US.ISO8859-1/books/handbook/internals/chapter.sgml
%SRCID% 0.0
$FreeBSD$
$FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/internals/chapter.sgml,v 1.2 2004/10/08 19:17:34 jesusr Exp $
-->
<chapter id="internals">
<title>FreeBSD por dentro</title>
<para>FreeBSD por dentro</para>
</chapter>

View file

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
Nombre de grupos de noticias de FreeBSD.
The FreeBSD Spanish Documentation Project
%SOURCE% en_US.ISO8859-1/books/handbook/newsgroups.ent
%SRCID% 0.0
$FreeBSD$
-->
<!ENTITY ng.misc "the
<ulink url='news:comp.unix.bsd.freebsd.misc'>comp.unix.bsd.freebsd.misc</ulink>
newsgroup">

View file

@ -1,104 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $FreeBSD$ -->
<!ENTITY pgpkey.ache SYSTEM "ache.key">
<!ENTITY pgpkey.alex SYSTEM "alex.key">
<!ENTITY pgpkey.anders SYSTEM "anders.key">
<!ENTITY pgpkey.andreas SYSTEM "andreas.key">
<!ENTITY pgpkey.asami SYSTEM "asami.key">
<!ENTITY pgpkey.ben SYSTEM "ben.key">
<!ENTITY pgpkey.benno SYSTEM "benno.key">
<!ENTITY pgpkey.billf SYSTEM "billf.key">
<!ENTITY pgpkey.bmah SYSTEM "bmah.key">
<!ENTITY pgpkey.brian SYSTEM "brian.key">
<!ENTITY pgpkey.brooks SYSTEM "brooks.key">
<!ENTITY pgpkey.bsd SYSTEM "bsd.key">
<!ENTITY pgpkey.ceri SYSTEM "ceri.key">
<!ENTITY pgpkey.cjc SYSTEM "cjc.key">
<!ENTITY pgpkey.clive SYSTEM "clive.key">
<!ENTITY pgpkey.core-secretary SYSTEM "core-secretary.key">
<!ENTITY pgpkey.cshumway SYSTEM "cshumway.key">
<!ENTITY pgpkey.dannyboy SYSTEM "dannyboy.key">
<!ENTITY pgpkey.dcs SYSTEM "dcs.key">
<!ENTITY pgpkey.dd SYSTEM "dd.key">
<!ENTITY pgpkey.demon SYSTEM "demon.key">
<!ENTITY pgpkey.des SYSTEM "des.key">
<!ENTITY pgpkey.dfr SYSTEM "dfr.key">
<!ENTITY pgpkey.dinoex SYSTEM "dinoex.key">
<!ENTITY pgpkey.dwmalone SYSTEM "dwmalone.key">
<!ENTITY pgpkey.fanf SYSTEM "fanf.key">
<!ENTITY pgpkey.fjoe SYSTEM "fjoe.key">
<!ENTITY pgpkey.ghelmer SYSTEM "ghelmer.key">
<!ENTITY pgpkey.gioria SYSTEM "gioria.key">
<!ENTITY pgpkey.gordon SYSTEM "gordon.key">
<!ENTITY pgpkey.green SYSTEM "green.key">
<!ENTITY pgpkey.gshapiro SYSTEM "gshapiro.key">
<!ENTITY pgpkey.gsutter SYSTEM "gsutter.key">
<!ENTITY pgpkey.guido SYSTEM "guido.key">
<!ENTITY pgpkey.ijliao SYSTEM "ijliao.key">
<!ENTITY pgpkey.imp SYSTEM "imp.key">
<!ENTITY pgpkey.jdp SYSTEM "jdp.key">
<!ENTITY pgpkey.jedgar SYSTEM "jedgar.key">
<!ENTITY pgpkey.jesper SYSTEM "jesper.key">
<!ENTITY pgpkey.jhay SYSTEM "jhay.key">
<!ENTITY pgpkey.jim SYSTEM "jim.key">
<!ENTITY pgpkey.jkh SYSTEM "jkh.key">
<!ENTITY pgpkey.jkoshy SYSTEM "jkoshy.key">
<!ENTITY pgpkey.jmb SYSTEM "jmb.key">
<!ENTITY pgpkey.jmg SYSTEM "jmg.key">
<!ENTITY pgpkey.joe SYSTEM "joe.key">
<!ENTITY pgpkey.joerg SYSTEM "joerg.key">
<!ENTITY pgpkey.jon SYSTEM "jon.key">
<!ENTITY pgpkey.ken SYSTEM "ken.key">
<!ENTITY pgpkey.keramida SYSTEM "keramida.key">
<!ENTITY pgpkey.knu SYSTEM "knu.key">
<!ENTITY pgpkey.kris SYSTEM "kris.key">
<!ENTITY pgpkey.kuriyama SYSTEM "kuriyama.key">
<!ENTITY pgpkey.lioux SYSTEM "lioux.key">
<!ENTITY pgpkey.luoqi SYSTEM "luoqi.key">
<!ENTITY pgpkey.marcel SYSTEM "marcel.key">
<!ENTITY pgpkey.marcus SYSTEM "marcus.key">
<!ENTITY pgpkey.markp SYSTEM "markp.key">
<!ENTITY pgpkey.matusita SYSTEM "matusita.key">
<!ENTITY pgpkey.max SYSTEM "max.key">
<!ENTITY pgpkey.mbr SYSTEM "mbr.key">
<!ENTITY pgpkey.mi SYSTEM "mi.key">
<!ENTITY pgpkey.mikeh SYSTEM "mikeh.key">
<!ENTITY pgpkey.mp SYSTEM "mp.key">
<!ENTITY pgpkey.murray SYSTEM "murray.key">
<!ENTITY pgpkey.mux SYSTEM "mux.key">
<!ENTITY pgpkey.nate SYSTEM "nate.key">
<!ENTITY pgpkey.nectar SYSTEM "nectar.key">
<!ENTITY pgpkey.netchild SYSTEM "netchild.key">
<!ENTITY pgpkey.nik SYSTEM "nik.key">
<!ENTITY pgpkey.nsouch SYSTEM "nsouch.key">
<!ENTITY pgpkey.nyan SYSTEM "nyan.key">
<!ENTITY pgpkey.obraun SYSTEM "obraun.key">
<!ENTITY pgpkey.obrien SYSTEM "obrien.key">
<!ENTITY pgpkey.patrick SYSTEM "patrick.key">
<!ENTITY pgpkey.perky SYSTEM "perky.key">
<!ENTITY pgpkey.petef SYSTEM "petef.key">
<!ENTITY pgpkey.peter SYSTEM "peter.key">
<!ENTITY pgpkey.phantom SYSTEM "phantom.key">
<!ENTITY pgpkey.phk SYSTEM "phk.key">
<!ENTITY pgpkey.pirzyk SYSTEM "pirzyk.key">
<!ENTITY pgpkey.rich SYSTEM "rich.key">
<!ENTITY pgpkey.roam SYSTEM "roam.key">
<!ENTITY pgpkey.roberto SYSTEM "roberto.key">
<!ENTITY pgpkey.ru SYSTEM "ru.key">
<!ENTITY pgpkey.sanpei SYSTEM "sanpei.key">
<!ENTITY pgpkey.schweikh SYSTEM "schweikh.key">
<!ENTITY pgpkey.scop SYSTEM "scop.key">
<!ENTITY pgpkey.seanc SYSTEM "seanc.key">
<!ENTITY pgpkey.security-officer SYSTEM "security-officer.key">
<!ENTITY pgpkey.sheldonh SYSTEM "sheldonh.key">
<!ENTITY pgpkey.sobomax SYSTEM "sobomax.key">
<!ENTITY pgpkey.thomas SYSTEM "thomas.key">
<!ENTITY pgpkey.tmm SYSTEM "tmm.key">
<!ENTITY pgpkey.tobez SYSTEM "tobez.key">
<!ENTITY pgpkey.trevor SYSTEM "trevor.key">
<!ENTITY pgpkey.ue SYSTEM "ue.key">
<!ENTITY pgpkey.vanilla SYSTEM "vanilla.key">
<!ENTITY pgpkey.wilko SYSTEM "wilko.key">
<!ENTITY pgpkey.will SYSTEM "will.key">
<!ENTITY pgpkey.wollman SYSTEM "wollman.key">
<!ENTITY pgpkey.wosch SYSTEM "wosch.key">

View file

@ -1,386 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!--
El proyecto de documentación de FreeBSD
The FreeBSD Spanish Documentation Project
%SOURCE% en_US.ISO8859-1/books/handbook/policies/chapter.sgml
%SRCID% 0.0
$FreeBSD$
-->
<chapter id="policies">
<title>Guías y políticas del árbol de código fuente</title>
<para><emphasis>Contribución de &a.phk;.</emphasis></para>
<para>Este capítulo documenta la política por la que se rige el
árbol de código fuente de FreeBSD.</para>
<sect1 id="policies-maintainer">
<title><makevar>MAINTAINER</makevar> en Makefiles</title>
<para>Junio 1996.</para>
<para>Si una parte en particular de la distribución FreeBSD es mantenida por
una persona o grupo de personas, pueden comunicar este hecho al mundo añadiendo
esta línea
<programlisting>
MAINTAINER= email-addresses</programlisting>
a los <filename>Makefile</filename>s que cubren esta parte del árbol de
código fuente.</para>
<para>La semántica de es como sigue:</para>
<para>El mantenedor posee y es responsable de ese código. Esto significa que
él es responsable de arreglar errores y responder reportes de problemas relacionados
con esa parte del código, y en el caso de contribución de software, de revisar
nuevas versiones, según sea necesario.</para>
<para>Los cambios en directorios que tienen un mantenedor definido deberán ser
enviados al mantenedor para ser revisados antes de ser incluidos.
Sólo si el mantenedor no responde durante un periodo de tiempo inaceptable, a
varios mensajes, será aceptable incluir cambios sin la revisión del
mantenedor. Sin embargo, se sugiere que los cambios sean revisados por alguien más
si es posible.</para>
<para>No es aceptable, por supuesto, añadir una persona o grupo como mantenedor a
menos que estén de acuerdo en asumir esta tarea. Por otro lado, no tiene
porqué ser un committer, pudiendo ser fácilmente un grupo de personas.</para>
</sect1>
<sect1>
<title>Software de Contribución</title>
<para><emphasis>Contribucion de &a.phk; y &a.obrien;.</emphasis></para>
<para>Junio 1996.</para>
<para>Algunas partes de la distribución de FreeBSD consisten en software
que está siendo mantenido activamente fuera del proyecto FreeBSD. Por razones
históricas, llamamos a esto software <emphasis>de contribución</emphasis>.
Algunos ejemplos son perl, gcc y patch.</para>
<para>En los últimos dos años, se han usado diferentes métodos para
tratar con este tipo de software y todos tienen algunas ventajas e inconvenientes. No
ha emergido ningún claro ganador.</para>
<para>Ya que este es el caso, después de algo de debate uno de estos
métodos ha sido seleccionado como el método &ldquo;oficial&rdquo;
y será requerido para futuras importaciones de este tipo de software.
Más aún, se sugiere firmemente que el software de contribución existente
converja con este modelo en el futuro, ya que tiene ventajas significativas
sobre el antiguo método, incluyendo la habilidad de obtener fácilmente
diferencias relativas a la versión &ldquo;oficial&rdquo; del fuente por todos
(aún sin acceso cvs). Esto hará significativamente mas fácil el
devolver cambios a los desarrolladores primarios del software de contribución.</para>
<para>Finalmente, sin embargo, quedan las personas que están haciendo el
trabajo. Si usar este modelo es particularmente incompatible con el paquete con el cual
se trata, se pueden conceder excepciones a esta regla solo con la aprobación del
core team y con el consenso general de los otros desarrolladores. La habilidad de mantener
el paquete en el futuro será un asunto clave en las decisiones.</para>
<note>
<para>Debido a algunas desafortunadas limitaciones de diseño con el formato de
archivo RCS y el uso de las ramas "vendors" con el CVS, son
<emphasis>fuertemente desaprobados</emphasis> cambios cosméticos, triviales y/o
menores en archivos que estén siendo seguidos por la rama "vendor".
Los "arreglos de sintaxis" están incluidos explícitamente aquí
bajo la categoría "cosméticos" y deben ser evitados en archivos con
revisión 1.1.x.x. El impacto que puede tener la modificación de un
sólo carácter en el repositorio puede ser bastante dramático.</para>
</note>
<para>El lenguaje de programación <application>Tcl</application> será usado
como un ejemplo sobre como este modelo trabaja:</para>
<para><filename>src/contrib/tcl</filename> contiene los fuentes distribuidos
por los mantenedores de este programa. Las partes que no son enteramente
aplicables a FreeBSD pueden ser eliminadas. En el caso del Tcl, los subdirectorios
<filename>mac</filename>, <filename>win</filename> y <filename>compat</filename> fueron
eliminados antes de la importación</para>
<para><filename>src/lib/libtcl</filename> contiene sólo un <filename>Makefile</filename>
estilo bmake que usa las reglas estándar <filename>bsd.lib.mk</filename> makefile
para producir la librería e instalar la documentación.</para>
<para><filename>src/usr.bin/tclsh</filename> contiene sólo un
<filename>Makefile</filename> estilo bmake que producirá e instalará
el programa <command>tclsh</command> y sus páginas man asociadas usando las
reglas estándar <filename>bsd.prog.mk</filename></para>
<para><filename>src/tools/tools/tcl_bmake</filename> contiene un par de shell scripts que
pueden ser de ayuda cuando el software tcl necesita actualización. Estos no son
parte integral o de instalación del software.</para>
<para>Lo importante aquí es que el directorio
<filename>src/contrib/tcl</filename> se crea de acuerdo a las reglas:
se supone que debe contener las fuentes tal y como se distribuyen (en una rama vendor
adecuada del CVS y sin expansión de claves RCS) con tan pocos cambios
específicos para FreeBSD como sea posible. La herramienta "easy-import"
(importación fácil) en freefall ayudará haciendo la
importación, pero si hay dudas acerca de como hacerlo, es imperativo que se pregunte
primero y no hacerlo esperando que &ldquo;funcione&rdquo;. El CVS no perdona accidentes de
importación y se requiere un gran esfuerzo para arreglar grandes errores.</para>
<para>Debido a las limitaciones de diseño previamente mencionadas de las
ramas "vendor" del CVS, se requiere que los parches &ldquo;oficiales&rdquo;
del vendedor sean aplicados a los fuentes originales de distribución y el
resultado reimportado otra vez en la rama vendor correspondiente. Los parches oficiales
nunca deben ser usados en la versión disponible en el CVS de FreeBSD e integrados,
ya que esto destruye la coherencia de la rama vendor y hace que la importación de
futuras versiones sea más complicada por la aparición de conflictos.
</para>
<para>Ya que muchos paquetes contienen archivos cuya intención es la
compatibilidad con otras arquitecturas y ambientes distintos a FreeBSD,
es permisible eliminar partes del árbol de distribución que no son de
interés para FreeBSD con el fin de ahorrar espacio. Los archivos que
contienen notas de copyright y notas de la versión, información en algo
aplicable a los archivos que quedan <emphasis>no</emphasis> deberán ser eliminados.
</para>
<para>Si parece más fácil, los <command>bmake</command>
<filename>Makefile</filename>s pueden ser producidos automaticamente desde el árbol
de distribución por alguna utilidad, algo que podría hacer
aun más fácil el actualizar a una nueva versión. Si esto es hecho,
asegúrese de revisar tales utilidades (como sea necesario) en el directorio
<filename>src/tools</filename> junto con el mismo port para que esté disponible
para los futuros mantenedores.</para>
<para>En el nivel de directorio <filename>src/contrib/tcl</filename>
debe ser añdido un archivo llamado <filename>FREEBSD-upgrade</filename>
debiendo presentar cosas como:</para>
<itemizedlist>
<listitem>
<para>Qué archivos se han dejado fuera de la importación</para>
</listitem>
<listitem>
<para>De donde fue obtenida la distribución original y/o el
servidor oficial principal.</para>
</listitem>
<listitem>
<para>Dónde enviar parches a los autores originales</para>
</listitem>
<listitem>
<para>Una visión general de los cambios específicos que se han hecho
para FreeBSD.</para>
</listitem>
</itemizedlist>
<para>Sin embargo, por favor no importar <filename>FREEBSD-upgrade
(actualización)</filename> con los fuentes de contribución. En su lugar,
usar <command>cvs add FREEBSD-upgrade ; cvs ci</command> después del prompt
inicial. Más abajo existe un ejemplo de sintaxis de
<filename>src/contrib/cpio</filename>:</para>
<programlisting>
Este directorio contiene códigos fuente virgen de los archivos originales de
distribución en una rama "vendor". No tratar, bajo ninguna circunstancia,
de actualizar los archivos en este directorio con parches y un cvs commit.
Nuevas versiones o versiones oficiales de parches deben ser importadas.
Por favor recuerdar importar con "-ko" para prevenir que el CVS corrompa
el Id del RCS de algun vendor.
Para la importación del GNU cpio 2.4.2, se eliminaron los siguientes archivos:
INSTALL cpio.info mkdir.c
Makefile.in cpio.texi mkinstalldirs
Para actualizar a una versión más nueva de cpio, cuando esté disponible:
1. Descomprimir la nueva versión en un directorio vacío.
[No hacer NINGUN cambio a los archivos.]
2. Eliminar los archivos listados arriba y cualquier otro que no se relacione
con FreeBSD.
3. Usar el comando:
cvs import -ko -m 'Virgin import of GNU cpio v&lt;version&gt;' \
src/contrib/cpio GNU cpio_&lt;version&gt;
Por ejemplo, para importar la versión 2.4.2, usar:
cvs import -ko -m 'Virgin import of GNU v2.4.2' \
src/contrib/cpio GNU cpio_2_4_2
4. Seguir las instrucciones del paso 3 para resolver cualquier conflicto entre
cambios locales de FreeBSD y la nueva versión.
NO desviarse, bajo ninguna circunstancia, de este procedimiento.
Para hacer cambios locales al cpio, simplemente aplicar el patch y commit a la rama
principal (también conocida como HEAD). Nunca hacer cambios locales
en la rama GNU.
Todos los cambios locales deberían ser enviados a "cpio@gnu.ai.mit.edu" para
su inclusión en la nueva versión release.
obrien@FreeBSD.org - 30 March 1997</programlisting>
</sect1>
<sect1 id="policies-encumbered">
<title>Archivos "adicionales" (encumbered)</title>
<para>Ocasionalmente podría ser necesario incluir un archivo "adicional" en el
código fuente de FreeBSD. Por ejemplo, si un dispositivo requiere que una
pequeña pieza de código binario sea cargada antes de que el dispositivo
funcione, y no tenemos los fuentes de ese código, entonces se dice que el archivo
binario es "encumbered".
Las siguientes políticas se aplican al incluir archivos encumbered en
en el árbol fuente FreeBSD.</para>
<orderedlist>
<listitem>
<para>Cualquier archivo que sea interpretado o ejecutado por la CPU del
sistema y no en formato fuente es encumbered.</para>
</listitem>
<listitem>
<para>Cualquier archivo con una licencia más restrictiva que BSD o GNU
es encumbered.</para>
</listitem>
<listitem>
<para>Un archivo que contiene datos binarios descargables para que el
hardware lo use no es encumbered, a menos que (1) o (2) se apliquen
a él. Debe ser guardado en un formato ASCII neutral a la arquitectura
(se recomienda file2c o uuencodeado).</para>
</listitem>
<listitem>
<para>Cualquier archivo encumbered requiere aprobación específica del
<link linkend="staff-core">Core team</link> antes de ser añadido al
repositorio CVS.</para>
</listitem>
<listitem>
<para>Los archivos encumbered van en <filename>src/contrib</filename>
o <filename>src/sys/contrib</filename>.</para>
</listitem>
<listitem>
<para>El módulo entero debería ser mantenido en su conjunto. No hay excusa en
separarlo, a menos que haya intercambio de código con código no encumbered.
</para>
</listitem>
<listitem>
<para>Los archivos objeto son nombrados
<filename><replaceable>arch</replaceable>/<replaceable>filename</replaceable>.o.uu></filename>
.</para>
</listitem>
<listitem>
<para>Archivos del Kernel:</para>
<orderedlist>
<listitem>
<para>Siempre deben ser referenciados en <filename>conf/files.*</filename> (para
simplicidad del build).</para>
</listitem>
<listitem>
<para>Siempre debería estar en <filename>LINT</filename>, pero el <link
linkend="staff-core">Core team</link> decide caso por caso si
debería ser comentado o no. El <link
linkend="staff-core">Core team</link> puede, por supuesto, cambiar
su opinión más adelante.</para>
</listitem>
<listitem>
<para>El <link linkend="staff-who">Ingeniero de Release</link>
decide si va o no a la release.</para>
</listitem>
</orderedlist>
</listitem>
<listitem>
<para>Archivos de usuario:</para>
<orderedlist>
<listitem>
<para>El <link linkend="staff-core">Core team</link> decide si
el código debería ser parte de <command>make world</command>.</para>
</listitem>
<listitem>
<para>El <link linkend="staff-who">Ingeniero de la Release</link>
decide si va a la release.</para>
</listitem>
</orderedlist>
</listitem>
</orderedlist>
</sect1>
<sect1 id="policies-shlib">
<title>Librerías compartidas</title>
<para><emphasis>Contribuido por &a.asami;, &a.peter;, y &a.obrien; 9
Diciembre 1996.</emphasis></para>
<para>Si se está añadiendo soporte para librerías compartidas a un puerto u
otra pieza de software que no tiene uno, los números de versión deben
seguir estas reglas. Generalmente, los números resultantes no tendrán nada
que ver con la versión release del software.</para>
<para>Los tres principios de la construcción de librerías compartidas son:</para>
<itemizedlist>
<listitem>
<para>Comenzando desde <literal>1.0</literal></para>
</listitem>
<listitem>
<para>Si hay un cambio que sea compatible con versiones anteriores,
eliminar el número menor</para>
</listitem>
<listitem>
<para>Si hay un cambio incompatible, quitar el número mayor</para>
</listitem>
</itemizedlist>
<para>Por ejemplo, funciones añadidas y solució de errores resultan en la
eliminación del numero de versión menor, mientras que las funciones borradas,
sintaxis cambiada de llamada de función, etc, forzarán que el número
de versión mayor cambie.</para>
<para>Usar los números de versión de la forma mayor.menor
(<replaceable>x</replaceable>.<replaceable>y</replaceable>). Nuestro
lincador dinámico no gestiona correctamente números de versión
de la forma <replaceable>x</replaceable>.<replaceable>y</replaceable>.<replaceable>z</replaceable>
. Cualquier número de versión después de <replaceable>y</replaceable>
(es decir, el tercer dígito) es totalmente ignorado cuando
se comparan números de versión de librerías compartidas
para decidir con que librería enlazar. Dadas 2 librerías compartidas
que difieren sólo en la &ldquo;micro&rdquo; revisión,
<command>ld.so</command> enlazará con la mas alta. Es decir:
si se enlaza con <filename>libfoo.so.3.3.3</filename>, el lincador
sólo reconoce <literal>3.3</literal> en los encabezados,
y enlazará con cualquiera que comience con <replaceable>libfoo.so.3</replaceable>.
<replaceable>(cualquier cosa &gt;=3)</replaceable>.<replaceable>(el más alto
disponible)</replaceable>.</para>
<note>
<para><command>ld.so</command> siempre usará la revisión
&ldquo;menor&rdquo; más alta. Es decir: usará
<filename>libc.so.2.2</filename> en preferencia a
<filename>libc.so.2.0</filename>, aun si el programa estaba
inicialmente enlazado con <filename>libc.so.2.0</filename>.</para>
</note>
<para>Para librerías no portables, es también nuestra política cambiar
el número de versión de librería compartida solo una vez entre releases.
Cuando se hace un cambio a una librería del sistema que requiere
que se quite el número de versión, revisar los logs commit del
<filename>Makefile</filename>. Es responsabilidad del miembro del commit asegurarse de que
el primer cambio desde la release hará que se actualice el número de versión
de la librería compartida en el <filename>Makefile</filename>, y cualquier
subsecuente cambio no lo hará.</para>
</sect1>
</chapter>

View file

@ -623,12 +623,6 @@ local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
<screen>&prompt.root; <userinput>pkg_add -r portsnap</userinput></screen>
<para>En
<link linkend="updating-portsnap">uso de portsnap</link>
encontrará detallado el funcionamiento de
<application>Portsnap</application>
features.</para>
<step>
<para>Puede saltarse esta paso a partir de &os;&nbsp;6.1-RELEASE
y en versiones recientes de

View file

@ -1,237 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!--
The FreeBSD Documentation Project
The FreeBSD Spanish Documentation Project
%SOURCE% en_US.ISO8859-1/books/handbook/quotas/chapter.sgml
%SRCID% 0.0
$FreeBSD$
$FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/quotas/chapter.sgml,v 1.2 2004/10/08 19:17:35 jesusr Exp $
-->
<chapter id="quotas">
<title>Cuotas de disco</title>
<para><emphasis>Contribuido por &a.mpp;. 26 Febrero
1996</emphasis></para>
<para>Las cuotas constituyen una prestación del sistema operativo que
le permite limitar la cantidad de espacio en disco y/o el número de
archivos de que un usuario puede disponer en un determinado sistema de archivos.
Habitualmente se utiliza en sistemas multiusuario en los que resulta deseable
limitar la cantidad de recursos de que puede disponer cada usuario o grupo de
usuarios. De este modo se impide que un usuario agote todo el espacio disponible
en un disco.</para>
<sect1>
<title>Configurando su sistema para habilitar las cuotas de disco</title>
<para>Antes de intentar usar las cuotas de disco es necesario asegurarse de que
se encuentran habilitadas en el núcleo del sistema operativo. Esto se
consigue añadiendo la siguiente línea al archivo de configuración
del núcleo:</para>
<programlisting>
options QUOTA</programlisting>
<para>El núcleo que se incluye de serie (<filename>GENERIC</filename>) no
tiene esta función activada por defecto, por lo que tendrá que
configurar, crear e instalar un núcleo a medida para utilizar las cuotas
de disco. Puede acudir a la sección <link linkend="kernelconfig">Configurando
el núcleo de FreeBSD</link>, donde encontrará más información
acerca de la configuración del núcleo.</para>
<para>A continuación, necesitará habilitar las cuotas de disco en
<filename>/etc/sysconfig</filename>. Esto se hace cambiando la línea:
<programlisting>
quotas=NO</programlisting>
por:
<programlisting>
quotas=YES</programlisting></para>
<para>Si está utilizando FreeBSD 2.2.2 o posterior, el archivo de
configuración será <filename>/etc/rc.conf</filename> y el nombre de
la variable habrá cambiado a:</para>
<programlisting>
check_quotas=YES</programlisting>
<para>Finalmente, necesitará editar <filename>/etc/fstab</filename> para
habilitar las cuotas de disco de forma individualizada para cada sistema de archivos.
Es aquí donde puede habilitar cuotas para usuarios, grupos o ambos y para
todos sus sistemas de archivos.</para>
<para>Para habilitar las cuotas de disco para un determinado usuario en un sistema
de archivos, añada la opción <literal>userquota</literal> en el archivo
<filename>/etc/fstab</filename>, en el campo de opciones del registro correspondiente
al sistema de archivos para el cual quiere habilitar las cuotas. Por ejemplo:</para>
<programlisting>
/dev/da1s2g /home ufs rw,userquota 1 2</programlisting>
<para>Análogamente, para habilitar las cuotas para grupos emplee la opción
<literal>groupquota</literal> en lugar de <literal>userquota</literal>. Para
habilitar ambas, cuotas de usuario y de grupo, cambie el registro del siguiente modo:
</para>
<programlisting>
/dev/da1s2g /home ufs rw,userquota,groupquota 1 2</programlisting>
<para>Por defecto, los archivos relacionados con las cuotas se almacenan en el
directorio raíz del sistema de archivos con los nombres
<filename>quota.user</filename> y <filename>quota.group</filename>, para las cuotas
de usuarios y de grupos, respectivamente. Consulte <command>man fstab</command> para
más información. Aunque esa página man afirma que se puede
especificar un emplazamiento alternativo para los archivos relacionados con las
cuotas, esto no es recomendable ya que las diversas utilidades de las cuotas no
parecen adaptarse convenientemente a este cambio.</para>
<para>En este momento debería reiniciar su sistema con el nuevo núcleo.
<filename>/etc/rc</filename> ejecutará automáticamente los comandos
apropiados para crear los archivos iniciales de las cuotas para todas las cuotas que
haya activado en <filename>/etc/fstab</filename>, por lo que no hace falta crear
manualmente ningún archivo de cuotas de logitud cero.</para>
<para>Durante el funcionamiento normal del sistema, no debería ser necesario ejecutar
manualmente los comandos <command>quotacheck</command>, <command>quotaon</command>,
o <command>quotaoff</command>. Sin embargo, puede interesarle leer sus páginas
man para familiarizarse con su funcionamiento.</para>
</sect1>
<sect1>
<title>Fijando los límites de las cuotas</title>
<para>Una vez haya configurado su sistema para habilitar las cuotas, compruebe que
realmente han sido habilitadas. Una forma de hacerlo fácilmente es ejecutar</para>
<screen>&prompt.root; <userinput>quota -v</userinput></screen>
<para>Debería aparecer una línea describiendo la utilización de
los discos y los límites actuales de cuotas para cada sistema de archivos en
el que estén activadas las cuotas.</para>
<para>Ya está listo para comenzar a asignar límites de cuota con el
mandato <command>edquota</command>.</para>
<para>Tiene varias opciones acerca de cómo aplicar límites a la cantidad
de espacio en disco de que un usuario o grupo puede disponer y la cantidad de archivos
que pueden crear. Puede limitar la cantidad de disco utilizada en función del
espacio físico usado (cuotas de bloque), en función de los archivos
(cuotas de inode) o en función de una combinación de ambos. Cada uno de
estos límites se divide en dos categorías: límites flexibles y
rígidos.</para>
<para>Los límites rígidos no pueden ser sobrepasados. Cuando un usuario
alcanza su límite rígido, ya no puede disponer de más espacio en
el sistema de archivos en cuestión. Por ejemplo, si el usuario tiene un
límite rígido de 500 bloques en un determinado sistema de archivos y
ya está utilizando 490 bloques, el usuario sólo puede asignar 10 bloques
adicionales. Cualquier intento de asignar 11 bloques fracasará.</para>
<para>Por otra parte, los límites flexibles pueden ser sobrepasados por un
periodo de tiempo limitado. Este periodo de tiempo se conoce como el periodo de gracia,
que dura una semana por defecto. Si un usuario permanece por encima de su límite
flexible más allá del periodo de gracia, el límite flexible se
convertirá en un límite rígido y no se permitirá realizar
nuevas asignaciones. Cuando el usuario se vuelva a situar por debajo del límite
flexible, el periodo de gracia se reiniciará.</para>
<para>A continuación se muestra un ejemplo de lo que podrá ver cuando
ejecute el comando <command>edquota</command>. Cuando se invoca el comando
<command>edquota</command>, se inicia el editor espeficado en la variable de entorno
<envar>EDITOR</envar>, o el editor <command>vi</command> en caso de que la variable
<envar>EDITOR</envar> no se encuentre definida, permitiéndole editar los
límites de las cuotas de disco.</para>
<screen>&prompt.root; <userinput>edquota -u test</userinput></screen>
<programlisting>
Quotas for user test:
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
inodes in use: 0, limits (soft = 50, hard = 60)</programlisting>
<para>Normalmente verá dos líneas por cada sistema de archivos que
tenga activadas las cuotas de disco. Una línea para los límites de
bloques y otra para los límites de inodes. Para modificar los límites
de las cuotas, simplemente cambie el valor que quiere actualizar. Por ejemplo, para
elevar el límite de bloques de este usuario de un límite flexible de
50 y un límite rígido de 75 a un límite flexible de 500 y a un
límite rígido de 600, cambie:
<programlisting> /usr: blocks in use: 65, limits (soft = 50, hard = 75)</programlisting>
por: <programlisting> /usr: blocks in use: 65, limits (soft = 500, hard = 600)
</programlisting></para>
<para>Los nuevos límites estarán vigentes cuando salga del editor.</para>
<para>En ocasiones resulta deseable imponer límites en las cuotas de disco
a un intervalo de UIDs (número de identificación de usuario). Esto
se puede hacer empleando la opción <option>-p</option> del comando
<command>edquota</command>. En primer lugar, asigne el límite deseado al
usuario y luego ejecute <command>edquota -p protouser UID_inicial-UID_final</command>.
Por ejemplo, si el usuario <username>test</username> está sujeto a límites
en la cuota de disco, el siguiente comando puede ser empleado para duplicar esos
límites para los UIDs comprendidos entre 10000 y 19999:</para>
<screen>&prompt.root; <userinput>edquota -p test 10000-19999</userinput></screen>
<para>La capacidad de especificar intervalos de UIDs se añadió al
sistema después de que la versión 2.1 fuese distribuida. Si necesita
esta función en un sistema 2.1, deberá conseguir una copia más
reciente de edquota.</para>
<para>Consulte <command>man edquota</command>, donde encontrará información
más detallada.</para>
</sect1>
<sect1>
<title>Comprobando los límites en las cuotas y la utilización de
los discos</title>
<para>Puede utilizar el comando <command>quota</command>, o bien el comando
<command>repquota</command> para comprobar los límites en las cuotas y la
utilización de los discos. El comando <command>quota</command> puede ser
empleado para comprobar cuotas individuales y de grupo, así como la
utilización de los discos. Sólo el administrador del sistema puede
examinar las cuotas y la utilización de los discos por otros usuarios o por
grupos de los que no es miembro. El comando <command>repquota</command> puede ser
empleado para obtener un resumen de todas las cuotas y la utilización de los
discos para sistemas de archivos que tengan las cuotas habilitadas.</para>
<para>A continuación se muestra un ejemplo de la salida del comando
<command>quota -v</command> para un usuario que está sujeto a límites
en la cuota de disco en dos sistemas de archivos.</para>
<programlisting>
Disk quotas for user test (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/usr 65* 50 75 5days 7 50 60
/usr/var 0 50 75 0 50 60</programlisting>
<para>En el ejemplo anterior, en el sistema de archivos <filename>/usr</filename> el
usuario ya ha sobrepasado en 15 bloques su límite flexible (fijado en 50 bloques)
y aún dispone de 5 días del periodo de gracia. Observe la presencia de un
asterisco <literal>*</literal>, lo cual indica que el usuario ha sobrepasado su
límite en la cuota de disco.</para>
<para>Normalmente, aquellos sistemas de archivos en los que el usuario no esté
utilizando espacio no figurarán en la salida del comando <command>quota</command>,
aunque el usuario tenga asignado un límite en la cuota de disco para esos
sistemas de archivos. La opción <option>-v</option> mostrará esos
sistemas de archivos, como ha sucedido con <filename>/usr/var</filename> en el ejemplo
anterior.</para>
</sect1>
<sect1>
<title>* Cuotas a través de NFS</title>
<para>Esta sección se encuentra en desarrollo.</para>
</sect1>
</chapter>

View file

@ -1,795 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!--
The FreeBSD Documentation Project
The FreeBSD Spanish Documentation Project
%SOURCE% en_US.ISO8859-1/books/handbook/staff/chapter.sgml
%SRCID% 0.0
$FreeBSD$
$FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/staff/chapter.sgml,v 1.2 2004/10/08 19:17:35 jesusr Exp $
-->
<chapter id="staff">
<title>Staff del Proyecto FreeBSD</title>
<para>El Proyecto FreeBSD está gestionado y operado por los
siguientes grupos de personas:</para>
<sect1 id="staff-core">
<title>El Core Team de FreeBSD</title>
<para>El core team de FreeBSD constituye el &ldquo;Grupo de
directores&rdquo;, responsable de decidir el camino a seguir y
mantener al proyecto en la dirección correcta, así
cómo gestionar <link linkend="staff-who">áreas
específicas</link> del proyecto.</para>
<para>(por órden alfabético de apellido):</para>
<itemizedlist>
<listitem>
<para>&a.asami;</para>
</listitem>
<listitem>
<para>&a.jmb;</para>
</listitem>
<listitem>
<para>&a.ache;</para>
</listitem>
<listitem>
<para>&a.bde;</para>
</listitem>
<listitem>
<para>&a.gibbs;</para>
</listitem>
<listitem>
<para>&a.dg;</para>
</listitem>
<listitem>
<para>&a.jkh;</para>
</listitem>
<listitem>
<para>&a.phk;</para>
</listitem>
<listitem>
<para>&a.rich;</para>
</listitem>
<listitem>
<para>&a.gpalmer;</para>
</listitem>
<listitem>
<para>&a.jdp;</para>
</listitem>
<listitem>
<para>&a.guido;</para>
</listitem>
<listitem>
<para>&a.sos;</para>
</listitem>
<listitem>
<para>&a.peter;</para>
</listitem>
<listitem>
<para>&a.wollman;</para>
</listitem>
<listitem>
<para>&a.joerg;</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="staff-committers">
<title>Los desarrolladores de FreeBSD</title>
<para>Estas son las personas que tienen privilegios de committes y
hacen el trabajo de ingeniería en el árbol de
código fuente de FreeBSD. Todos los miembros del core team
también son desarrolladores.</para>
<itemizedlist>
<listitem>
<para>&a.ugen;</para>
</listitem>
<listitem>
<para>&a.mbarkah;</para>
</listitem>
<listitem>
<para>&a.stb;</para>
</listitem>
<listitem>
<para>&a.pb;</para>
</listitem>
<listitem>
<para>&a.abial;</para>
</listitem>
<listitem>
<para>&a.jb;</para>
</listitem>
<listitem>
<para>&a.torstenb;</para>
</listitem>
<listitem>
<para>&a.dburr;</para>
</listitem>
<listitem>
<para>&a.charnier;</para>
</listitem>
<listitem>
<para>&a.luoqi;</para>
</listitem>
<listitem>
<para>&a.ejc;</para>
</listitem>
<listitem>
<para>&a.kjc;</para>
</listitem>
<listitem>
<para>&a.gclarkii;</para>
</listitem>
<listitem>
<para>&a.archie</para>
</listitem>
<listitem>
<para>&a.cracauer;</para>
</listitem>
<listitem>
<para>&a.adam;</para>
</listitem>
<listitem>
<para>&a.dillon;</para>
</listitem>
<listitem>
<para>&a.dufault;</para>
</listitem>
<listitem>
<para>&a.uhclem;</para>
</listitem>
<listitem>
<para>&a.tegge;</para>
</listitem>
<listitem>
<para>&a.eivind;</para>
</listitem>
<listitem>
<para>&a.julian;</para>
</listitem>
<listitem>
<para>&a.rse;</para>
</listitem>
<listitem>
<para>&a.se;</para>
</listitem>
<listitem>
<para>&a.sef;</para>
</listitem>
<listitem>
<para>&a.fenner;</para>
</listitem>
<listitem>
<para>&a.jfieber;</para>
</listitem>
<listitem>
<para>&a.jfitz;</para>
</listitem>
<listitem>
<para>&a.scrappy;</para>
</listitem>
<listitem>
<para>&a.lars;</para>
</listitem>
<listitem>
<para>&a.billf;</para>
</listitem>
<listitem>
<para>&a.tg;</para>
</listitem>
<listitem>
<para>&a.brandon;</para>
</listitem>
<listitem>
<para>&a.graichen;</para>
</listitem>
<listitem>
<para>&a.jgreco;</para>
</listitem>
<listitem>
<para>&a.rgrimes;</para>
</listitem>
<listitem>
<para>&a.jmg;</para>
</listitem>
<listitem>
<para>&a.hanai;</para>
</listitem>
<listitem>
<para>&a.thepish;</para>
</listitem>
<listitem>
<para>&a.jhay;</para>
</listitem>
<listitem>
<para>&a.helbig;</para>
</listitem>
<listitem>
<para>&a.ghelmer;</para>
</listitem>
<listitem>
<para>&a.erich;</para>
</listitem>
<listitem>
<para>&a.nhibma;</para>
</listitem>
<listitem>
<para>&a.flathill;</para>
</listitem>
<listitem>
<para>&a.hosokawa;</para>
</listitem>
<listitem>
<para>&a.hsu;</para>
</listitem>
<listitem>
<para>&a.mph;</para>
</listitem>
<listitem>
<para>&a.itojun;</para>
</listitem>
<listitem>
<para>&a.mjacob;</para>
</listitem>
<listitem>
<para>&a.gj;</para>
</listitem>
<listitem>
<para>&a.nsj;</para>
</listitem>
<listitem>
<para>&a.ljo;</para>
</listitem>
<listitem>
<para>&a.kato;</para>
</listitem>
<listitem>
<para>&a.andreas;</para>
</listitem>
<listitem>
<para>&a.motoyuki;</para>
</listitem>
<listitem>
<para>&a.jkoshy;</para>
</listitem>
<listitem>
<para>&a.kuriyama;</para>
</listitem>
<listitem>
<para>&a.grog;</para>
</listitem>
<listitem>
<para>&a.jlemon;</para>
</listitem>
<listitem>
<para>&a.truckman;</para>
</listitem>
<listitem>
<para>&a.imp;</para>
</listitem>
<listitem>
<para>&a.smace;</para>
</listitem>
<listitem>
<para>&a.mckay;</para>
</listitem>
<listitem>
<para>&a.mckusick;</para>
</listitem>
<listitem>
<para>&a.ken;</para>
</listitem>
<listitem>
<para>&a.tedm;</para>
</listitem>
<listitem>
<para>&a.amurai;</para>
</listitem>
<listitem>
<para>&a.markm;</para>
</listitem>
<listitem>
<para>&a.max;</para>
</listitem>
<listitem>
<para>&a.alex;</para>
</listitem>
<listitem>
<para>&a.rnordier;</para>
</listitem>
<listitem>
<para>&a.davidn;</para>
</listitem>
<listitem>
<para>&a.obrien;</para>
</listitem>
<listitem>
<para>&a.danny;</para>
</listitem>
<listitem>
<para>&a.ljo;</para>
</listitem>
<listitem>
<para>&a.fsmp;</para>
</listitem>
<listitem>
<para>&a.smpatel;</para>
</listitem>
<listitem>
<para>&a.wpaul;</para>
</listitem>
<listitem>
<para>&a.jmacd;</para>
</listitem>
<listitem>
<para>&a.wes;</para>
</listitem>
<listitem>
<para>&a.steve;</para>
</listitem>
<listitem>
<para>&a.mpp;</para>
</listitem>
<listitem>
<para>&a.dfr;</para>
</listitem>
<listitem>
<para>&a.jraynard;</para>
</listitem>
<listitem>
<para>&a.darrenr;</para>
</listitem>
<listitem>
<para>&a.csgr;</para>
</listitem>
<listitem>
<para>&a.martin;</para>
</listitem>
<listitem>
<para>&a.paul;</para>
</listitem>
<listitem>
<para>&a.roberto;</para>
</listitem>
<listitem>
<para>&a.chuckr;</para>
</listitem>
<listitem>
<para>&a.dima;</para>
</listitem>
<listitem>
<para>&a.sada;</para>
</listitem>
<listitem>
<para>&a.wosch;</para>
</listitem>
<listitem>
<para>&a.ats;</para>
</listitem>
<listitem>
<para>&a.jseger;</para>
</listitem>
<listitem>
<para>&a.vanilla;</para>
</listitem>
<listitem>
<para>&a.msmith;</para>
</listitem>
<listitem>
<para>&a.des;</para>
</listitem>
<listitem>
<para>&a.brian;</para>
</listitem>
<listitem>
<para>&a.stark;</para>
</listitem>
<listitem>
<para>&a.karl;</para>
</listitem>
<listitem>
<para>&a.dt;</para>
</listitem>
<listitem>
<para>&a.cwt;</para>
</listitem>
<listitem>
<para>&a.pst;</para>
</listitem>
<listitem>
<para>&a.hoek;</para>
</listitem>
<listitem>
<para>&a.nectar;</para>
</listitem>
<listitem>
<para>&a.swallace;</para>
</listitem>
<listitem>
<para>&a.dwhite;</para>
</listitem>
<listitem>
<para>&a.nate;</para>
</listitem>
<listitem>
<para>&a.yokota;</para>
</listitem>
<listitem>
<para>&a.jmz;</para>
</listitem>
<listitem>
<para>&a.archie;</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="staff-doc">
<title>El Proyecto de Documentación de FreeBSD</title>
<para>El <ulink URL="http://www.freebsd.org/docproj.html">Proyecto
de Documentación</ulink> es responsable de diferentes
servicios, siendo ejecutado cada uno por un responsable y sus
<emphasis>ayudantes</emphasis> (si los tiene):</para>
<variablelist>
<varlistentry><term>Responsable del Proyecto de Documentación</term>
<listitem>
<para>&a.nik;</para>
</listitem>
</varlistentry>
<varlistentry><term>Webmaster</term>
<listitem>
<para>&a.wosch;</para>
</listitem>
</varlistentry>
<varlistentry><term>Editor del Handbook &amp; FAQ</term>
<listitem>
<para>&a.faq;</para>
</listitem>
</varlistentry>
<varlistentry><term>Editor de Noticias</term>
<listitem>
<para>&a.nsj;</para>
<para><emphasis>Ayudante:</emphasis> &a.john;</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Editor del FreeBSD Really-Quick NewsLetter</term>
<listitem>
<para>Chris Coleman <email>chrisc@vmunix.com</email></para>
</listitem>
</varlistentry>
<varlistentry><term>Editor de la Galería y sección Comercial</term>
<listitem>
<para>&a.nsj;</para>
<para><emphasis>Ayudante:</emphasis> &a.cawimm;</para>
</listitem>
</varlistentry>
<varlistentry><term>Style Police &amp; Art Director</term>
<listitem>
<para>&a.opsys;</para>
</listitem>
</varlistentry>
<varlistentry><term>Ingeniero de las Bases de Datos</term>
<listitem>
<para>&a.mayo;</para>
</listitem>
</varlistentry>
<varlistentry><term>Ingeniero de CGI</term>
<listitem>
<para>&a.stb;</para>
</listitem>
</varlistentry>
<varlistentry><term>Bottle Washing</term>
<listitem>
<para>&a.nsj;</para>
</listitem>
</varlistentry>
<varlistentry>
<term>COnversión de LinuxDoc a DocBook</term>
<listitem>
<para>&a.nik;</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="staff-who">
<title>Quién es responsable de qué</title>
<variablelist>
<varlistentry><term>Arquitecto Principal</term>
<listitem>
<para>&a.dg;</para>
</listitem>
</varlistentry>
<varlistentry><term><ulink
url="http://www.freebsd.org/docproj/docproj.html">Responsable del Proyecto de Documentación</ulink></term>
<listitem>
<para>&a.nik;</para>
</listitem>
</varlistentry>
<varlistentry><term><link linkend="l10n">Internationalización</link></term>
<listitem>
<para>&a.ache;</para>
</listitem>
</varlistentry>
<varlistentry><term>Networking</term>
<listitem>
<para>&a.wollman;</para>
</listitem>
</varlistentry>
<varlistentry><term><link linkend="eresources-mail">Postmaster</link></term>
<listitem>
<para>&a.jmb;</para>
</listitem>
</varlistentry>
<varlistentry><term>Coordinador de Release</term>
<listitem>
<para>&a.jkh;</para>
</listitem>
</varlistentry>
<varlistentry><term>Relaciones Públicas &amp; Corporativas</term>
<listitem>
<para>&a.jkh;</para>
</listitem>
</varlistentry>
<varlistentry><term><ulink url="http://www.freebsd.org/security/">Responsable de Seguridad</ulink></term>
<listitem>
<para>&a.guido;</para>
</listitem>
</varlistentry>
<varlistentry><term><ulink url="http://www.freebsd.org/support.html#cvs">>Responsables del CVS</ulink></term>
<listitem>
<para>Principal: &a.peter;</para>
<para>Asistente: &a.jdp;</para>
<para>Internacional (Crypto): &a.markm;</para>
</listitem>
</varlistentry>
<varlistentry><term><ulink url="http://www.freebsd.org/ports/">Responsable de Ports</ulink></term>
<listitem>
<para>&a.asami;</para>
</listitem>
</varlistentry>
<varlistentry><term>XFree86 Project, Inc.</term>
<listitem>
<para>&a.rich;</para>
</listitem>
</varlistentry>
<varlistentry><term><link linkend="eresources-news">Soporte Usenet</link></term>
<listitem>
<para>&a.joerg;</para>
</listitem>
</varlistentry>
<varlistentry><term><ulink url="http://www.freebsd.org/support.html#gnats">Administrador GNATS</ulink></term>
<listitem>
<para>&a.steve;</para>
</listitem>
</varlistentry>
<varlistentry>
<term><ulink url="http://www.freebsd.org/internal/">Webmaster</ulink></term>
<listitem>
<para>&a.wosch;</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
</chapter>

View file

@ -1,677 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
i
The FreeBSD Spanish Documentation Project
%SOURCE% en_US.ISO8859-1/books/handbook/updating/chapter.sgml
%SRCID% 1.1
-->
<chapter id="updating">
<chapterinfo>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Escrito por </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Colin</firstname>
<surname>Percival</surname>
<contrib>Basado en notas facilitadas por </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>Actualización de &os;</title>
<sect1 id="updating-synopsis">
<title>Synopsis</title>
<indexterm><primary>Actualización de &os;</primary></indexterm>
<indexterm>
<primary>freebsd-update</primary>
<see>Updating</see>
</indexterm>
<para>Hay un aspecto de &os; que se ha mantenido inalterable
desde el principio: la necesidad de utilizar aplicaciones y
herramientas para obtener actualizaciones mayores y menores.</para>
<para>Durante muchos años los usuarios que querían
actualizar su sistema, recabar parches de seguridad y conseguir
actualizaciones de ports y packages sin estropear la forma de
entender las cosas de la Colección de Ports estaban
obligados a utilizar
<application>CVSup</application>.</para>
<para><application>CVSup</application> sigue funcionando y
ya hay una versión de dicha aplicación en lenguaje
C, pero han aparecido nuevos métodos para conseguir
actualizaciones del sistema.</para>
<para>Herramientas como &man.portsnap.8; y &man.freebsd-update.8;
han simplificado el proceso de actualización. Estos nuevos
métodos la productividad al ofrecer una interfaz más
accesible a los usuarios. Alguna de estas nuevas herramientas puede
ejecutarse desde &man.cron.8;, reduciendo la intervención
manual del administrador del sistema; esto es una buena noticia
para quienes tienen que monitorizar cientos de
máquinas.</para>
<para>En este capítulo se explica cómo usar estos
nuevos métodos y cómo pueden los usuarios y los
administradores de sistemas aprovechar lo práctico y
fácil de su uso.</para>
<para>Una vez leido este capítulo sabrá usted:</para>
<itemizedlist>
<listitem>
<para>Qué herramientas hay disponibles para actualizar el
sistema y la Colección de Ports.</para>
</listitem>
<listitem>
<para>Cómo usar <command>freebsd-update</command> para
aplicar parches de seguridad y aplicar actualizaciones
mayores y menores de &os;.</para>
</listitem>
<listitem>
<para>Cómo comparar el estado de un sistema instalado contra una
copia confiable.</para>
</listitem>
</itemizedlist>
<para>Antes de leer este capítulo necesita:</para>
<itemizedlist>
<listitem>
<para>Comprender lo básico de &unix; y &os;
(<xref linkend="basics"/>).</para>
</listitem>
<listitem>
<para>Tener soltura con la configuración y la
compilación del kernel
(<xref linkend="kernelconfig"/>).</para>
</listitem>
<listitem>
<para>Tener cierta familiaridad con la Colección de
Ports y la instalación de aplicaciones de terceros
en &os;
(<xref linkend="ports"/>).</para>
</listitem>
<listitem>
<para>Experiencia con los diversos componentes de código
que componen &os; y cómo usar &man.mergemaster.8;
(<xref linkend="cutting-edge"/>).</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="updating-freebsdupdate">
<title>FreeBSD Update</title>
<para>La aplicación de parches de seguridad es una parte
importante del mantenimiento del software. Durante mucho tiempo
en &os; este proceso no era precisamente de los más
sencillos. Había que aplicar los parches al código
fuente, recompilarlo para convertirlo en binarios y después
reinstalar esos binarios.</para>
<para>Ahora todo ha cambiado, &os; ha incorporado una herramienta
fácil de usar llamada <command>freebsd-update</command>. Esta
herramienta tiene dos funciones. La primera es permitir la
aplicación de actualizaciones de seguridad y erratas sin
los pasos compilar e instalar. La segunda es poder aplicar
actualizaciones de versión mayores y menos.</para>
<note>
<para>Hay actualizaciones binarias para todas las arquitecturas
y versiones de &os; soportadas por el equipo de seguridad;
no obstante, ciertas características (como las
actualizaciones del sistema operativo, hacen imprescindible
la última versión de &man.freebsd-update.8; y
&os;&nbsp;6.3 o superior. Antes de actualizar a una nueva
release consulte los avisos de la release actual; es posible
que contenga información de su interés. Puede
encontrar estos anuncios aquí:
<ulink url="http://www.FreeBSD.org/releases/"></ulink>.</para>
</note>
<para>Si está usando <command>crontab</command> con
<command>freebsd-update</command> tendrá que dejar
de hacerlo antes de proseguir con lo que vamos hacer. Puede
instalar la última versión de
<command>freebsd-update</command>: descargue el tar.gz
de la suguiente<acronym>URL</acronym> e instálelo del
siguiente modo:</para>
<screen>&prompt.root; <userinput>gunzip -c freebsd-update-upgrade.tgz | tar xvf -</userinput>
&prompt.root; <userinput>mv freebsd-update.sh /usr/sbin/freebsd-update</userinput>
&prompt.root; <userinput>mv freebsd-update.conf /etc</userinput></screen>
<para>No es necesario actualizar <command>freebsd-update</command>
en las releases actuales.</para>
<sect2>
<title>El fichero de configuración</title>
<para>Algunos usuarios pueden querer retocar el fichero de
configuración para controlar mejor el proceso. Las
opciones disponibles están muy bien documentadas
pero hay unas pocas, que veremos a continuación,
que quizás necesiten una explicación un
poquito más más detallada.</para>
<programlisting># Components of the base system which should be kept updated.
Components src world kernel</programlisting>
<para>Es decir:</para>
<programlisting># Componentes del sistema base que deben mantenerse actualizados.
Components src world kernel</programlisting>
<para>Este parámetro controla qué partes de &os;
deben actualizarse. Por omisión se actualiza el
código fuente del sistema, el sistema base y el
kernel. Los componentes posibles son los mismos que se
ofrecen durante la instalación, es decir, que si se
incluye en la lista de componentes a actualizar
«world/games» se actualizaría la
distribución «games». Si se incluye
«src/bin» actualizará el código
fuente bajo<filename class="directory">src/bin</filename>.</para>
<para>Lo más razonable es dejar éste parámetro
tal y como está, puesto que modificarlo de cualquier
obligará al usuario a incluir en la lista todos y
cada uno de los elementos que quiera actualizar, lo cual
puede tener consecuencias desastrosas si el código
fuente y los binarios dejan de estar sincronizados.</para>
<programlisting># Paths which start with anything matching an entry in an IgnorePaths
# statement will be ignored.
IgnorePaths</programlisting>
<para>Es decir:</para>
<programlisting># Las rutas que estén detrás de IgnorePaths serán ignoradas.
IgnorePaths</programlisting>
<para>Puede incluir como
<filename class="directory">/bin</filename> o
<filename class="directory">/sbin</filename> para que esos
directorios no se toquen durante la actualización
si hay en ellos cambios que haya hecho
usted.</para>
<programlisting># Paths which start with anything matching an entry in an UpdateIfUnmodified
# statement will only be updated if the contents of the file have not been
# modified by the user (unless changes are merged; see below).
UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile</programlisting>
<para>Es decir:</para>
<programlisting># Las rutas que comiencen por algo que esté tras UpdateIfUnmodified solamente
# se actualizarán si el contenido del fichero no ha sido modificado
# por el usuario (salvo que los cambios se hayan importado; siga
# leyendo más abajo.
UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile</programlisting>
<para>Con esto actualizará los ficheros de configuración
que estén en los directorios especificados solamente
si no han sido modificados. Cualquier cambio que el usuario
pueda hacer en ellos anulará la actualización
automática de esos ficheros. Hay otra opción,
<literal>KeepModifiedMetadata</literal>, que le dice a
<command>freebsd-update</command> que guarde los cambios que
encuentre durante la mezcla de las versiones de los ficheros.</para>
<programlisting># When upgrading to a new &os; release, files which match MergeChanges
# will have any local changes merged into the version from the new release.
MergeChanges /etc/ /var/named/etc/</programlisting>
<para>Esto es:</para>
<programlisting># Al actualizar a una nueva release de &os;, en los ficheros que aparezcan
# tras MergeChanges se mezclarán los cambios entre la versión local y la de la nueva release.
MergeChanges /etc/ /var/named/etc/</programlisting>
<para>Lista los directorios con ficheros de configuración
en los que <command>freebsd-update</command> debería
intentar mezclar cambios locales con los de la nueva versión.
El proceso de mezcla consiste en una serie de parches &man.diff.1;
similar a ejecutar &man.mergemaster.8; pero con menos opciones: la
mezcla se acepta, se abre un editor o
<command>freebsd-update</command> se apaga. Si tiene alguna duda
haga una copia de seguridad de
<filename class="directory">/etc</filename> y acepte la mezcla.
Consulte el <xref linkend="cutting-edge"/> si necesita más
información sobre la orden <command>mergemaster</command>.</para>
<programlisting># Directory in which to store downloaded updates and temporary
# files used by &os; Update.
# WorkDir /var/db/freebsd-update</programlisting>
<para>Esto es:</para>
<programlisting># Directorios donde descargar actualizaciones y guardar ficheros temporales necesarios para &os; Update.
# WorkDir /var/db/freebsd-update</programlisting>
<para>En este directorio es donde van a parar todos los parches
y los ficheros temporales. Cuando el usuario esté
haciendo una actualización de versión este
directorio puede llegar a ocupar un gigabyte.</para>
<programlisting># When upgrading between releases, should the list of Components be
# read strictly (StrictComponents yes) or merely as a list of components
# which *might* be installed of which &os; Update should figure out
# which actually are installed and upgrade those (StrictComponents no)?
# StrictComponents no</programlisting>
<para>Es decir:</para>
<programlisting># Durante una actualización entre releases ¿Debe leerse al When upgrading between releases, should the list of Components be
# pie de la letra (StrictComponents yes) o simplemente como una lista
# de componentes que *podrían* instalarse y de las cuales &os; Update
# tendrá que decidir cuáles están instaladas y actualizarlas
# (StrictComponents no)?
# StrictComponents no</programlisting>
<para>Si pone <literal>yes</literal>
<command>freebsd-update</command> asumirá que la lista
de <literal>Components</literal> está completa y no
intentará cambiar nada que no esté en ella.
Dicho de otro modo, <command>freebsd-update</command> intentará
modificar cada fichero que aparezca en la lista
<literal>Components</literal>.</para>
</sect2>
<sect2>
<title>Parches de seguridad</title>
<para>Los parches de seguridad se almacenan en una
máquina remota y se pueden descargar e instalar
mediante la siguiente orden:</para>
<screen>&prompt.root; <userinput>freebsd-update fetch</userinput>
&prompt.root; <userinput>freebsd-update install</userinput></screen>
<para>Si se ha aplicado algún parche al kernel tendrá
que reiniciar. Si todo ha ido bien el sistema el sistema
ya está parcheado y <command>freebsd-update</command>
puede ejecutarse como trabajo nocturno en
&man.cron.8;. Esto se hace con una entrada en
<filename>/etc/crontab</filename>:</para>
<programlisting>@daily root freebsd-update cron</programlisting>
<para>Esta entrada hará que una vez al dia se
ejecutará <command>freebsd-update</command>. Al pasarle
el argumento <option>cron</option> a
<command>freebsd-update</command> solamente intentará
saber si existen actualizaciones. Si hay parches disponibles
los descargará automáticamente a disco local, pero
no los instalará. El usuario
<username>root</username> recibirá un correo
electrónico avisandole de que puede aplicarlos.</para>
<para>Si algo ha ido mal <command>freebsd-update</command>
puede dar marcha atrás al último conjunto de
cambios si le da la siguiente orden:</para>
<screen>&prompt.root; <userinput>freebsd-update rollback</userinput></screen>
<para>Hecho esto el sistema tendrá que reiniciarse si el
kernel o cualquier módulo del kernel han sufrido
modificaciones. De este modo &os; podrá cargar en memoria
los nuevos binarios.</para>
<note>
<para><command>freebsd-update</command> solamente funciona con
el kernel <filename>GENERIC</filename>. Si hace cualquier cambio
a <filename>GENERIC</filename> o utiliza un kernel personalizado
<command>freebsd-update</command> no podrá cumplir su
misión: en el primer caso fallará y en el segundo
le mostrará un error.</para>
</note>
</sect2>
<sect2>
<title>Actualizaciones mayores y menores</title>
<para>Este proceso borrará todos los ficheros de
objeto viejos y las librerías que harán
fallar la mayoría de las aplicaciones de terceros
que tenga en el sistema. Le recomendamos que borre y
reinstale todos sus ports o los actualice con
<filename role="package">ports-mgmt/portupgrade</filename>.
También le recomendamos que ejecute una compilación
de prueba con la siguiente orden:</para>
<screen>&prompt.root; <userinput>portupgrade -af</userinput></screen>
<para>De esta forma se asegura de uqe todo se reinstalará
correctamente. Recuerde que si asigna el valor
<literal>yes</literal> a la variable de entorno
<makevar>BATCH</makevar> responderá usted
que <emphasis>sí</emphasis> a todas las preguntas
que puedan surgir y por tanto requerir intervención
manual durante el proceso de compilación.</para>
<para>Las actualizaciones a versiones mayores o menores pueden
ejecutarse facilitando a <command>freebsd-update</command> la
release a la que queremos llevar al sistema; veamos un ejemplo
en el que vamos a actualizar a
&os;&nbsp;6.3:</para>
<screen>&prompt.root; <userinput>freebsd-update -r 6.3-RELEASE upgrade</userinput></screen>
<para>Una vez que la orden ha sido recibida
<command>freebsd-update</command> lee el fichero de
configuración y la del sistema para recopilar
toda la información necesaria para actualizar el
sistema. Se le mostrará una pantalla con una
lista con los componentes detectados y tamén con
los que no han podido serlo. Veamos un ejemplo:</para>
<screen>Looking up update.FreeBSD.org mirrors... 1 mirrors found.
Fetching metadata signature for 6.3-BETA1 from update1.FreeBSD.org... done.
Fetching metadata index... done.
Inspecting system... done.
The following components of FreeBSD seem to be installed:
kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games
src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue
src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin
world/base world/info world/lib32 world/manpages
The following components of FreeBSD do not seem to be installed:
kernel/generic world/catpages world/dict world/doc world/games
world/proflibs
Does this look reasonable (y/n)? y</screen>
<para>Lo que más o menos vendría a ser:</para>
<screen>Buscando réplicas de update.FreeBSD.org ... encontrada 1 réplica.
Descargando firma de metadatos para 6.3-BETA1 from update1.&os;.org... hecho.
Descargando índice de metadatos... hecho.
Inspección del sistema... hecho.
Parece que están instalados los siguientes componentes de &os;:
kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games
src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue
src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin
world/base world/info world/lib32 world/manpages
Parece que no están instalados los siguientes componentes:
kernel/generic world/catpages world/dict world/doc world/games
world/proflibs
¿Está de acuerdo? (s/n) s</screen>
<para>A partir de aquí <command>freebsd-update</command>
intentará descargar todos los ficheros necesarios para
la actualización del sistema. En algunos casos le
hará preguntas al usuario sobre qué o cómo
instalar.</para>
<para>Una vez que todos los parches han sido descargados al
disco duro local hay que aplicarlos, es decir,
instalarlos. Este proceso puede llevar tiempo dependiendo
de la velocidad y la carga de trabajo que esté
sacando adelante la máquina. Los ficheros de
configuración tendrán que mezclarse: esta
parte del proceso requiere intervención del usuario
cuando un fichero tenga que ser mezclado, o cuando aparezca
un editor en pantalla para que haga una mezcla manual. Los
resultados de cada mezcla que concluya satisfactoriamente se
irán mostrando al usuario a medida que el proceso vaya
avanzando. Si falla o se ignora alguna mezcla el proceso
se interrumpirá. Le recomendamos que haga una copia
de seguridad de <filename class="directory">/etc</filename>
y mezcle manualmente los ficheros importantes (como
<filename>master.passwd</filename> o
or <filename>group</filename>) cuando acabe con la
actualización.</para>
<note>
<para>En este punto el sistema sigue sin haber sufrido
ningún cambio, pues todo el parcheo y las
mezclas están teniendo lugar en un directorio.
Cuando todos los parches se hayan aplicado satisfactoriamente,
todos los ficheros de configuración hayan sido
mezclados y parezca -desde todos los puntos de vista- que
el proceso va del todo bien, los cambios tendrán
que ser aplicados por el usuario.</para>
</note>
<para>Cuando el proceso esté completo la actualización
se aplicará al sistema con la siguiente orden:</para>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<para>El kernel y los módulos del kernel se parchean en
primer lugar. Tras esto hay que reiniciar la máquina. Debe
usar la siguiente orden para reiniciar la máquina
y poder así cargar en memoria el nuevo kernel:</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
<para>Una vez que haya reiniciado el sistema
arranque de nuevo <command>freebsd-update</command>. El
estado del proceso se ha guardado, así que
<command>freebsd-update</command> no empezará desde
cero, pero sí que borrará todas las bibliotecas
compartidas y ficheros objeto que ya no sean necesarios.
Introduzca la siguiente orden:</para>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<note>
<para>Dependiendo de si hay números de versión de
bibliotecas que hayan subido habrá dos o tres pasos
instalación.</para>
</note>
<para>Es necesario recompilar y reinstalar todo el software
de terceros. La razón de esto es que el software
que tiene instalado puede depender de bibliotecas que van
a desaparecer durante el proceso de actualización.
Puede utilizar la orden
<filename role="package">ports-mgmt/portupgrade</filename>
para automatizar el proceso. Puede usar las siguientes
órdenes para comenzar el proceso:</para>
<screen>&prompt.root; <userinput>portupgrade -f ruby</userinput>
&prompt.root; <userinput>rm /var/db/pkg/pkgdb.db</userinput>
&prompt.root; <userinput>portupgrade -f ruby18-bdb</userinput>
&prompt.root; <userinput>rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db</userinput>
&prompt.root; <userinput>portupgrade -af</userinput></screen>
<para>Una vez terminado esto solamente queda usar una vez
más a <command>freebsd-update</command>. Utilice
la siguiente orden para concluir el proceso de
actualización:</para>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<para>Reinicie la máquina y verá la nueva
versión de &os;. El proceso ha terminado.</para>
</sect2>
<sect2>
<title>Comparación de estado del sistema</title>
<para>La orden <command>freebsd-update</command> puede
utilizarse para comprobar el estado de una versión
instalada de &os; contra una copia confiable. Esta
opción compara la versión instalada de las
utilidades del sistema, bibliotecas y ficheros de
configuración. Para ejecutar la comparación
ejecute la siguiente orden:</para>
<screen>&prompt.root; <userinput>freebsd-update IDS &gt;&gt; outfile.ids</userinput></screen>
<warning>
<para>Aunque el nombre de la orden sea
<acronym>IDS</acronym> bajo ningún concepto puede
utilizarse como sustituto de un sistema de detección
de intrusos <footnote><para><acronym>IDS</acronym> son las
siglas de <literal>sistema de detección
de intrusos</literal> en inglés: <literal>Intrusion
Detection System</literal>.</para></footnote> como
<filename role="package">security/snort</filename>. Dado que
<command>freebsd-update</command> almacena datos en disco las
posibilidades de manipulación son evidentes. Puede
reducirlas mediante <varname>kern.securelevel</varname> y
guardando los datos de <command>freebsd-update</command>
en un medio de solo lectura mientras no estén en
uso. O puede hacer algo mejor aún, comparar el
sistema con el contenido de un disco seguro, como un
<acronym>DVD</acronym> o un dispositivo
<acronym>USB</acronym> almacenado en sitio seguro.</para>
</warning>
<para>El sistema se va a revisar y se generará una lista
de ficheros con sus respectivos valores hash
&man.sha256.1;. Estos valores son los de la release y de la
versión instalada. La salida se envía al fichero
<filename>outfile.ids</filename> porque pasa a una velocidad
muy superior a la necesaria para poder leer el texto y muy
rápidamente sobrepasa el tamaño del búfer
de la consola.</para>
<para>Las líneas del fichero son además extremadamente
largas, pero el formato de salida puede manejarse muy
fácilmente. Por ejemplo, si quiere obtener una lista
de todos los ficheros diferentes de lo que aparece en la release
utilice la siguiente orden:</para>
<screen>&prompt.root; <userinput>cat update.ids | awk '{ print $1 }' | more</userinput>
/etc/master.passwd
/etc/motd
/etc/passwd
/etc/pf.conf</screen>
<para>La salida del ejemplo no está completa, hay
muchos otros ficheros que diferirán. Algunos de
estos ficheros tienen cambios normales, el fichero
<filename>/etc/passwd</filename> es distinto porque se han
añadido usuarios nuevos. En ciertos casos puede
haber otros ficheros distintos, como módulos del
kernel, que serán diferentes porque
<command>freebsd-update</command> los habrá
actualizado. Si quiere excluir ficheros o directorios
específicos use la opción
<literal>IDSIgnorePaths</literal> en
<filename>/etc/freebsd-update.conf</filename>.</para>
<para>Este sistema puede utilizarse como parte de un
método muy elaborado de actualización
aparte de lo que aquí se ha explicado.</para>
</sect2>
</sect1>
<sect1 id="updating-portsnap">
<title>Portsnap: Una herramienta de actualización de la
Colección de Ports</title>
<para>El sistema base de &os; tiene una herramienta para la
la actualización de la Colección de Ports:
&man.portsnap.8;. Una vez ejecutada se conectará con
un servidor remoto, verificará la firma de seguridad y
descargará una copia nueva del árbol de ports.
La firma segura se usa para verificar la integridad de todos
los ficheros que se descargan para asegurarse de que no han sido
modificados desde que fueron generados. Para descargar la
última versión de los ficheros que componen la
Colección de Ports use la siguiente orden:</para>
<screen>&prompt.root; <userinput>portsnap fetch</userinput>
Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found.
Fetching snapshot tag from portsnap1.FreeBSD.org... done.
Fetching snapshot metadata... done.
Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008.
Fetching 3 metadata patches.. done.
Applying metadata patches... done.
Fetching 3 metadata files... done.
Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done.
Applying patches... done.
Fetching 133 new ports or files... done.</screen>
<!--
No he traducido esta "captura de pantalla" porque el párrafo siguiente
la explica. No podemos meter en una cápsula al usuario y que no vea
que el sistema en realidad está en inglés.
carvay@FreeBSD.org Noviembre 2008
-->
<para>Este ejemplo muestra cómo &man.portsnap.8; ha encontrado
y verificado varios parches para los ports del sistema. Indica
también que la aplicación ya había sido
ejecutada. Si hubiera sido una primera ejecución
sencillamente se hubiera descargado la colección.</para>
<para>Una vez que &man.portsnap.8; ha obtenido los nuevos
elementos de la Colección de Ports junto con los nuevos
parches disponibles, y una vez que todos ellos han pasado la
verificación en local, ya podemos pasar a la instalación,
que efectuaremos con la siguiente orden:</para>
<para>Los ficheros actualizados pueden
ya instalarse tecleando lo siguiente:</para>
<screen>&prompt.root; <userinput>portsnap extract</userinput>
/usr/ports/.cvsignore
/usr/ports/CHANGES
/usr/ports/COPYRIGHT
/usr/ports/GIDs
/usr/ports/KNOBS
/usr/ports/LEGAL
/usr/ports/MOVED
/usr/ports/Makefile
/usr/ports/Mk/bsd.apache.mk
/usr/ports/Mk/bsd.autotools.mk
/usr/ports/Mk/bsd.cmake.mk
<replaceable>...</replaceable></screen>
<para>El proceso ha concluido y ya puede instalar o actualizar
aplicaciones desde su flamante Colección de Ports.</para>
</sect1>
</chapter>