<chapt id="uptodate">Actualización del sistema Debian

<p>Uno de los objetivos de Debian es proporcionar una vía de
actualización consistente y un proceso de actualización
seguro. Siempre hacemos lo posible para que las actualizaciones a
nuevas versiones se produzcan de una forma sencilla. En caso de que
haya alguna nota importante que añadir al proceso de actualización, el
paquete avisará al usuario, y a menudo proporcionará una solución a un
posible problema.

<p>Debe también leer las Notas de Publicación, el documento que
describe los detalles sobre actualizaciones concretas, que se
encuentra en todos los CDs de Debian, y también está disponible en la
WWW en <url id="http://www.debian.org/releases/stable/releasenotes">.

<!-- IMPORTANTE: Si hay traducción se debe poner la traducción  -->

<sect id="libc5to6upgrade">¿Cómo puedo actualizar mi distribución
Debian 1.3.1 (o anterior), basada en libc5, a la versión 2.0 (o
posterior), basada en libc6?

<p>Hay varias formas de actualizarse:
<list>
<item>Utilizando un sencillo script de shell llamado <tt>autoup.sh</tt>
que actualiza los paquetes más importantes. Después de que
<tt>autoup.sh</tt> ha hecho su trabajo, puede utilizar dselect para
instalar los paquetes que falten <em>en masa</em>. Este es probablemente
el método recomendado, pero no el único.
<p>
Actualmente, la última versión de <tt>autoup.sh</tt> puede encontrarse
en los siguientes lugares:
<list>
<item><url id="http://www.taz.net.au/autoup/">
<item><url id="http://csanders.vicnet.net.au/autoup/">
</list>

<p>
Se espera que esté en los archivos FTP de Debian algún día.
<item>Siguiendo de cerca el
<url id="ftp://ftp.debian.org/pub/debian/doc/libc5-libc6-Mini-HOWTO.txt"
name="libc5-libc6-Mini-HOWTO"> y actualizar los paquetes más importantes
a mano. <tt>autoup.sh</tt> está basado en este Mini-HOWTO, así que este
método debería funcionar más o menos como usar <tt>autoup.sh</tt>.
<item>Usando una versión libc5 de APT. APT quiere decir "A
Package Tool" (una herramienta de paquetes), y podría sustituir
a dselect algún día. De momento, funciona simplemente como un
interfaz de línea de órdenes, o como método de acceso de
dselect. Encontrará una versión libc5 en el directorio
<tt>dists/slink/main/upgrade-older-i386</tt> en los archivos de Debian.

<item>Utilizando únicamente dselect, sin actualizar primero ningún paquete
a mano. Se recomienda encarecidamente que NO utilice este método si
puede evitarlo, porque dselect, por sí solo, actualmente no instala los
paquetes en el orden óptimo. APT funciona mucho mejor y es más seguro.
</list>

<!--

Lo que sigue está obsoleto:

El directorio <tt>upgrades/</tt> contiene los ficheros necesarios para la
actualización de Debian 0.93R6 a Debian 1.1 (o posterior).  Hay dos
formas de realizar la actualización:
<list>
<item>la forma manual, instalando los paquetes a mano. Las instrucciones
están en <tt>upgrade_manual.doc</tt>.  También necesitará los ficheros
<tt>UpGrade</tt>, <tt>base_list</tt>, y <tt>dpkg-*.deb</tt>.
<item>usando dselect para actualizar todos los paquetes <it>en masa</it>.
Las instrucciones están en <tt>upgrade_dselect.doc</tt>. También necesitará
<tt>dpkg-*.deb</tt>.
</list>
<p>
Observe que la versión de <tt>dpkg</tt> disponible en este directorio está
en formato a.out.  Las versiones de <tt>dpkg</tt> disponibles en los árboles
de desarrollo (development) y estable (stable) están en formato ELF.

-->

<sect id="howtocurrent">¿Cómo puedo mantener mi Sistema Debian actualizado?

<p>Uno puede simplemente realizar un ftp anónimo a un archivo de
Debian, buscar por los directorios hasta encontrar el fichero deseado,
traérselo y finalmente instalarlo usando <tt>dpkg</tt>. Observe que
<tt>dpkg</tt> instalará los ficheros actualizados en el momento,
incluso en un sistema ya en marcha, sin tener que detenerlo.  A veces,
un paquete revisado requerirá la instalación de la versión actualizada
de otro paquete, en cuyo caso la instalación fallará hasta que/a menos
que el otro paquete esté instalado.

<p>Mucha gente encuentra que esta forma de actualizar lleva mucho
tiempo debido a que Debian evoluciona tan rápidamente---semanalmente
se suelen añadir una docena de paquetes nuevos, o más. Este número es
mayor cuando se aproxima la publicación de una nueva versión. Para
poder manejarse bien con tal avalancha, mucha gente prefiere usar un
programa automatizado.  Hay disponibles tres paquetes diferentes para
este propósito:
<!--- <list>-->

<sect1 id="dpkg-ftp">dpkg-ftp

<p>Éste es un método de acceso para <tt>dselect</tt>. Se puede invocar
desde el propio <tt>dselect</tt>, permitiendo así al usuario obtener
ficheros e instalarlos en un sólo paso. Para hacer ésto, arranque el programa
<tt>dselect</tt>, elija la opción "0" ("Choose
the access method to use"), marque la opción "ftp"
y luego especifique la máquina y directorio remotos.
<tt>dpkg-ftp</tt> transferirá entonces los ficheros seleccionados a su
máquina (ya sea en esta sesión de <tt>dselect</tt> o en posteriores).
<p>
Observe que, al contrario que el programa <tt>mirror</tt>,
<tt>dpkg-ftp</tt> no recoge todos los ficheros del sitio réplica, sino que
transfiere sólo los ficheros que haya seleccionado, y que necesiten ser
actualizados.
<p>
<tt>dpkg-ftp</tt> está disponible en el directorio
<tt>stable/binary-all/net/</tt> en cualquier archivo de Debian.
<p>
<sect1 id="mirror">mirror

<p>Este script Perl, y su programa gestor (opcional) denominado
<tt>mirror-master</tt>, pueden usarse para obtener partes
especificadas del árbol de directorios de un servidor especificado,
<em>via</em> ftp anónimo.

<!--

<tt>mirror</tt> es particularmente útil para obtener grandes volúmenes de
software. Después de que se hayan bajado los ficheros de un sitio por
primera vez, se crea un fichero denominado <tt>.mirrorinfo</tt> en la máquina
local. Cambios en el sistema de ficheros del servidor remoto son tratados
autómaticamente por <tt>mirror</tt>, el cual compara este fichero con uno
similar en el sistema remoto y baja sólo los ficheros modificados o
añadidos.

<p>El programa <tt>mirror</tt> se usa generalmente para actualizar
copias de árboles de directorio remotos. Los ficheros transferidos no
tienen por qué ser ficheros Debian. (Como <tt>mirror</tt> es un script
Perl, puede usarse también en sistemas no-Unix.)  A pesar de que el
programa <tt>mirror</tt> proporciona mecanismos para excluir ficheros
cuyo nombre concuerde con cadenas especificadas por el usuario, este
programa es más útil cuando el objetivo es recuperar árboles de
directorio completos más que paquetes seleccionados.

<p>El programa <tt>mirror</tt> está disponible en el formato de
paquetes Debian y se encuentra en el directorio
<tt>stable/binary-all/net</tt> en cualquier archivo FTP de Debian.

<p>POR DESGRACIA, mirror no es software libre, y probablemente no
deberíamos mencionarlo aquí.

-->

<!-- ¿Tal vez deberíamos recomendar GNU wget? -->

<!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

<item><tt>dftp</tt><label id="dftp">.  Este script Perl puede usarse para
traerse de un servidor determinado paquetes Debian especificados por el
usuario. Empieza obteniendo los ficheros Packages.gz de los directorios
especificados por el usuario (ej. stable, contrib, non-free) y le presenta
una lista de paquetes. Éstos están localizados en varias secciones: new
upgrades (nuevas actualizaciones), downgrades ("des-actualizaciones"), new
packages (nuevos paquetes), ignored upgrades (actualizaciones ignoradas) e
ignored packages (paquetes ignorados). Entonces el usuario selecciona los
paquetes que quiera y dftp los instala. Ésto hace muy fácil mantener su
sistema Debian 100% actualizado todo el tiempo sin tener que bajarse
paquetes que no va a instalar.

<p><tt>dftp</tt> puede usarse para llamar a <ref id="dselect"
name="dselect">, proporcionando de esta forma un modo integrado para
obtener y actualizar los paquetes Debian de nuestro sistema. Cuando
finalice la instalación, se puede usar otra orden <tt>dftp</tt> para
eliminar los ficheros de los paquetes (".deb"). Los cambios en el
sistema de ficheros remoto son tratados automáticamente por <tt>dftp</tt>,
el cuál compara el fichero Packages.gz local con los ficheros del sistema
remoto.

<p>El programa dftp está disponible como un script en el directorio
<tt>project/misc</tt> en cualquier archivo FTP de Debian.
</list>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -->

<sect id="upgradesingle">¿Debo cambiar a modo monousuario para
actualizar un paquete?

<p>No. Los paquetes pueden actualizarse en cualquier momento, incluso
en sistemas en funcionamiento. Debian tiene un programa llamado
<tt>start-stop-daemon</tt> que se invoca para parar y luego rearrancar
un proceso en ejecución si es necesario durante la actualización de un
paquete.

<sect id="savedebs">¿Tengo que guardar todos esos ficheros .deb en mi disco?

<p>No. Si se ha bajado los ficheros a su disco (lo que no es
absolutamente necesario <!--(ver <ref id="dpkgftp"> o <ref id="dftp">)),-->
después de que los haya instalado, puede borrarlos del sistema.

<sect1>¿Cómo puedo mantener un registro de los paquetes que he ido
añadiendo al sistema?

<p><tt>dpkg</tt> mantiene un registro de los paquetes que han sido
desempaquetados, configurados, borrados, y/o purgados, pero no
mantiene un registro (de momento) de los mensajes que envía al
terminal cuando el paquete se está manipulando. Algunos usuarios
realizan esta tarea simplemente usando <tt>tee</tt>:

<example>
dpkg -iGOEB -R stable/binary non-free/binary contrib/binary | \
    tee -a /root/dpkg.log
</example>

La misma orden usando los parámetros largos quedaría:
<example>
dpkg --install --refuse-downgrade --selected-only \
  --skip-same-version --auto-deconfigure \
  --recursiv estable/binary non-free/binary contrib/binary | \
    tee -a /root/dpkg.log
</example>
