Update the 'Ports' chapter. The new content added
has a link to 'Updating', so being on that we have a new chapter translated. With contributions from: FreeBSD Spanish Documentation Project
This commit is contained in:
parent
8523ece2d8
commit
5ccdeffd7c
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=33181
5 changed files with 1641 additions and 758 deletions
|
|
@ -190,6 +190,7 @@ SRCS+= preface/preface.sgml
|
||||||
SRCS+= printing/chapter.sgml
|
SRCS+= printing/chapter.sgml
|
||||||
SRCS+= security/chapter.sgml
|
SRCS+= security/chapter.sgml
|
||||||
SRCS+= serialcomms/chapter.sgml
|
SRCS+= serialcomms/chapter.sgml
|
||||||
|
SRCS+= updating/chapter.sgml
|
||||||
SRCS+= users/chapter.sgml
|
SRCS+= users/chapter.sgml
|
||||||
SRCS+= vinum/chapter.sgml
|
SRCS+= vinum/chapter.sgml
|
||||||
SRCS+= virtualization/chapter.sgml
|
SRCS+= virtualization/chapter.sgml
|
||||||
|
|
|
||||||
|
|
@ -58,8 +58,9 @@
|
||||||
<!ENTITY % chap.freebsd-glossary "IGNORE">
|
<!ENTITY % chap.freebsd-glossary "IGNORE">
|
||||||
<!ENTITY % chap.mac "IGNORE">
|
<!ENTITY % chap.mac "IGNORE">
|
||||||
<!ENTITY % chap.audit "IGNORE">
|
<!ENTITY % chap.audit "IGNORE">
|
||||||
|
|
||||||
<!ENTITY % pgpkeys SYSTEM "pgpkeys/pgpkeys.ent"> %pgpkeys;
|
<!ENTITY % pgpkeys SYSTEM "pgpkeys/pgpkeys.ent"> %pgpkeys;
|
||||||
|
<!ENTITY % chap.updating "IGNORE">
|
||||||
|
|
||||||
]>
|
]>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -341,6 +342,8 @@
|
||||||
<![ %chap.eresources; [ &chap.eresources; ]]>
|
<![ %chap.eresources; [ &chap.eresources; ]]>
|
||||||
<![ %chap.pgpkeys; [ &chap.pgpkeys; ]]>
|
<![ %chap.pgpkeys; [ &chap.pgpkeys; ]]>
|
||||||
<![ %chap.index; [ &chap.index; ]]>
|
<![ %chap.index; [ &chap.index; ]]>
|
||||||
|
<![ %chap.updating; [ &chap.updating; ]]>
|
||||||
|
|
||||||
</part>
|
</part>
|
||||||
&chap.colophon;
|
&chap.colophon;
|
||||||
</book>
|
</book>
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,7 @@
|
||||||
<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.sgml">
|
<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.sgml">
|
||||||
|
|
||||||
<!-- Part four -->
|
<!-- Part four -->
|
||||||
|
<!ENTITY chap.updating SYSTEM "updating/chapter.sgml">
|
||||||
<!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.sgml">
|
<!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.sgml">
|
||||||
<!ENTITY chap.ppp-and-slip SYSTEM "ppp-and-slip/chapter.sgml">
|
<!ENTITY chap.ppp-and-slip SYSTEM "ppp-and-slip/chapter.sgml">
|
||||||
<!ENTITY chap.mail SYSTEM "mail/chapter.sgml">
|
<!ENTITY chap.mail SYSTEM "mail/chapter.sgml">
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
676
es_ES.ISO8859-1/books/handbook/updating/chapter.sgml
Normal file
676
es_ES.ISO8859-1/books/handbook/updating/chapter.sgml
Normal file
|
|
@ -0,0 +1,676 @@
|
||||||
|
<!--
|
||||||
|
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; 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; 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 >> 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>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue