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
es_ES.ISO8859-1/books/handbook
|
@ -190,6 +190,7 @@ 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
|
||||
|
|
|
@ -58,8 +58,9 @@
|
|||
<!ENTITY % chap.freebsd-glossary "IGNORE">
|
||||
<!ENTITY % chap.mac "IGNORE">
|
||||
<!ENTITY % chap.audit "IGNORE">
|
||||
|
||||
<!ENTITY % pgpkeys SYSTEM "pgpkeys/pgpkeys.ent"> %pgpkeys;
|
||||
<!ENTITY % chap.updating "IGNORE">
|
||||
|
||||
]>
|
||||
|
||||
|
||||
|
@ -341,6 +342,8 @@
|
|||
<![ %chap.eresources; [ &chap.eresources; ]]>
|
||||
<![ %chap.pgpkeys; [ &chap.pgpkeys; ]]>
|
||||
<![ %chap.index; [ &chap.index; ]]>
|
||||
<![ %chap.updating; [ &chap.updating; ]]>
|
||||
|
||||
</part>
|
||||
&chap.colophon;
|
||||
</book>
|
||||
|
|
|
@ -52,6 +52,7 @@
|
|||
<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.sgml">
|
||||
|
||||
<!-- Part four -->
|
||||
<!ENTITY chap.updating SYSTEM "updating/chapter.sgml">
|
||||
<!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.sgml">
|
||||
<!ENTITY chap.ppp-and-slip SYSTEM "ppp-and-slip/chapter.sgml">
|
||||
<!ENTITY chap.mail SYSTEM "mail/chapter.sgml">
|
||||
|
|
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…
Reference in a new issue