Los procedimientos de actualización descritos más abajo pueden ser usados para actualizar cualquier versión anterior de Debian a 2.2 en un paso; no tendrá que actualizar paso a paso a cada una de las versiones intermedias. Note sin embargo que las actualizaciones desde la versión 2.0 y anteriores a 2.2 no han sido comprobadas extensivamente, y por tanto no tienen soporte.
Compatibilidad hacia atrás de fuentes y binarios en la GNU LibC 2.1 significa que la mayoría de los programas de la publicación anterior funcionarán en la nueva publicación (pero no al revés). Todos los paquetes en Debian GNU/Linux 2.2 han sido preparados para funcionar en el nuevo entorno, por supuesto, y será posible recompilar la mayoría de los programas en la nueva publicación sin cambios. Sin embargo, hay algunas excepciones a la regla, así que algunos de sus programas locales pueden necesitar que los modifique y/o recompile en la nueva glibc para funcionar correctamente.
Cuando se ejecuta bajo el núcleo 2.2 y la glibc 2.1, el sistema montará
automáticamente el dispositivo virtual `devpts' adicional, para dar soporte a
las PTYs Unix98, y alguno de nuestros demonios (servidores Unix) cambiarán
automáticamente a usar los nuevos dispositivos (/dev/pts/*
en vez
de /dev/ttyp*
).
Con el núcleo 2.2.x, los dispositivos de impresoras del PC empiezan a partir de
lp0 en lugar de lp1 como en los núcleos 2.0.x, así que deberá actualizar su
printcap y otros ficheros de configuración para usar eso (/dev/lp0
en vez de /dev/lp1
, /dev/lp1
en vez de
/dev/lp2
y así sucesivamente).
La transición a usar un nuevo núcleo ha ido suavemente, principalmente porque
habíamos preparado casi totalmente la publicación 2.1 para ejecutar un núcleo
2.2. Algunas cuestiones permanecen aún, relacionadas principalmente con la
red. Los administradores de redes notarán dos cosas: primero, que la
herramienta de manipulación de cortafuegos ipfwadm
ha sido
sustituida por ipchains
. La actualización del paquete
netbase
le pedirá permiso para realizar enlaces simbólicos a un
`wrapper script' para que su cortafuegos siga funcionando; también puede leer
/usr/share/doc/netbase/ipchains-HOWTO.txt.gz
y convertir
adecuadamente la configuración de su cortafuegos a ipchains. También el
`script' /etc/init.d/network
, según fue preparado por los viejos
procedimientos de instalación de Debian, muestra mensajes de error con el nuevo
núcleo; esto se puede arreglar añadiendo las opciones `netmask' y `dev'
adecuadas a las llamadas a route
que haya en dicho fichero.
Desafortunadamente, esta actualización del núcleo también puede significar
problemas para esos usuarios cuyas máquinas tengan cantidades de RAM muy
pequeñas.
La actualización a aplicaciones con capacidades PAM ha sido hecha de manera tan
suave e integrada como ha sido posible. Para la mayoría de los casos, las
nuevas configuraciones imitan a las configuraciones antiguas pre-PAM. De todos
modos, no se puede tener en cuenta todos y cada uno de los casos. Si hace
falta realizar cambios, puede instalar el paquete libpam-doc
, que
contiene documentación sobre cada uno de los aspectos de la biblioteca PAM,
incluso pistas sobre como modificar sus aplicaciones no-PAM existente para
añadirles soporte para el nuevo modelo de autentificación.
Una gran parte de la actualización de PAM fue unir secure-su
al
paquete login principal. El su
predeterminado suministrado por
shellutils
se suministra ahora por el paquete login
de forma que la integración de PAM sea más completa y a lo largo de todo el
sistema. Si usted usaba el su
predeterminado, entonces no notará
ningún cambio con la nueva versión. Sin embargo, los usuarios del paquete
obsoleto secure-su
puede que tengan que comprobar sus
configuraciones para asegurarse de que la nueva configuración PAM es
compatible.
Puede que observe que esta publicación incluye dos versiones de Perl: 5.004 (en
los paquetes perl-5.004*
) y 5.005 (en los paquetes
perl-5.005*
). Le recomendamos altamente usar la última versión,
más moderna, y eliminar la versión antigua, que se mantiene sólo por
compatibilidad, como conveniencia para los programadores.[1] Si tiene/usa cualquier módulo Perl
de los nuevos paquetes lib*-perl
en sus `scripts', deberá definir
el enlace simbólico /usr/bin/perl
(usando
update-alternatives
) para que apunte a Perl 5.005, de otro modo
encontrará problemas.
Por favor, observe que el archivo Debian non-US ha sido reorganizado
ligeramente para ofrecer soporte a la separación entre software libre y
no-libre. Si usted ya usaba apt
para acceder a él, tendrá que
cambiar las lineas de /etc/apt/sources.list
para non-US a la
siguiente forma:
deb http://non-US.debian.org/debian-non-US potato/non-US main contrib non-free
Las versiones anteriores de inetd
(suministradas por el paquete
netbase
) tenían un `bug' que hacía que cuando inetd
era interrumpido, una conexión existente a cualquiera de los servicios internos
podía impedir que inetd
se reiniciase. Este error ha sido
corregido en el netbase
actual, pero las versiones antiguas siguen
siendo vulnerables. Si encuentra que inetd
no se reinicia
apropiadamente, busque cualquier proceso inetd
existente que siga
ejecutándose, o procesos como "-discard" o "-echo". Si
tiene el paquete psmisc
instalado, ejecutando:
sed 's/[[:space:]][[:space:]]*/ /g' /etc/inetd.conf | grep '^ *[^#]' | cut -d" " -f1,3 | while read serv type; do fuser -n $type $serv; done
como root le dirá que procesos usan puertos en los que inetd
está
interesado.
Los usuarios del MTA smail observarán que la publicación 2.2 no contiene dicho
paquete ya más, debido a errores serios que tenía durante nuestros ciclos de
pruebas. Paquetes actualizados de smail pueden obtenerse aún en la
distribución inestable o en http://www.fs.tum.de/~bunk/smail.html
.
Las nuevas XFree86 y otros paquetes xserver-*
introducidas en esta
publicación, comparados con los de la publicación 2.1 anterior, pueden muy bien
contener mejor soporte para su hardware gráfico, especialmente controladores
para nuevas tarjetas gráficas como muchas tarjetas aceleradoras 3D. Si no sabe
exactamente que paquete servidor X escoger, pruebe el programa
xviddetect
(del paquete xviddetect
), que le mostrará
el nombre del servidor X que necesita, basado en información que encuentre
sobre su bus PCI/AGP. [2]
Si el servidor X que está usando hace referencia a la máquina que está
actualizando para obtener servicios de fuentes con xfs
, perderá su
conexión al servidor de fuentes cuando se interrumpa xfs
. No es
fatal, pero puede ser molesto. Nota: cosas similares pueden suceder con otros
demonios, así que esté preparado.
Los siguientes paquetes han sido renombrados según se muestra. En la mayoría de los casos, si no todos, se han añadido campos Conflicts:, Replaces:, y Provides: (o incluso paquetes tontos) para que el nuevo paquete sea instalado automáticamente, y/o sustituya/elimine de manera segura al viejo.
ada-rm -> gnat-doc [3] alsa-modules -> alsa-base alsalib -> libasound0.4 ax25-utils -> libax25 blt8.0-unoff -> blt8.0 c-client-dev -> libc-client4.7-dev console-tools-data -> console-tools [4] cti-ifhp -> ifhp cwnn -> freewnn-cserver cwnn-dev -> freewnn-cserver-dev data-dumper -> perl-5.005-doc dhcp-beta -> dhcp dhcp-client-beta -> dhcp-client dhcp-relay-beta -> dhcp-relay egcc -> gcc egcs-docs -> gcc-doc emacspeak-bs-tcl, emacspeak-dt, emacspeak-dt-tcl -> emacspeak-ss eterm-backgrounds -> eterm fte-cfgdocs -> fte-docs fvwm -> fvwm1 fvwm2 -> fvwm gltt2 -> libgltt2 gltt2-dev -> libgltt2-dev gmp2 -> libgmp2 gmp2-dev -> libgmp2-dev gnome-gnobots -> gnome-gnobots2 gnome-gnothello -> gnome-iagno gnome-gyahtzee -> gnome-gtali gsl -> libgsl0 gsl-dev -> libgsl0-dev gstep-base -> gstep-base0 gstep-base-dev -> gstep-base0-dev gstep-extensions -> gstep-extensions0 gstep-gui -> gstep-gui0 gstep-gui-dev -> gstep-gui0-dev gstep-guile -> gstep-guile0 gtkicq -> gnomeicu intlfonts-arabic -> xfonts-intl-arabic intlfonts-asian -> xfonts-intl-asian intlfonts-chinese -> xfonts-intl-chinese intlfonts-chinese-big -> xfonts-intl-chinese-big intlfonts-european -> xfonts-intl-european intlfonts-japanese -> xfonts-intl-japanese intlfonts-japanese-big -> xfonts-intl-japanese-big intlfonts-phonetic -> xfonts-intl-phonetic ivtools -> ivtools-unidraw kwnn -> freewnn-kserver kwnn-dev -> freewnn-kserver-dev lam -> lam-runtime lesstifg-dbg -> lesstif-dbg lesstifg-dev -> lesstif-dev libapache-mod-auth-sys -> apache-common libapache-mod-put -> apache-common libatalk1 -> netatalk libatalk1-dev -> netatalk-dev libc6-doc -> glibc-doc libdatecalc-perl -> libdate-calc-perl libg++2.8.2-dev -> libg++2.8.1.3-dev libgg0 -> libgii0 libgg0-dev -> libgii0-dev libggi1 -> libgii0, libggi2 libgnome0 -> libgnomesupport0 libjpegg-dev -> libjpeg62-dev liblockdev0-perl -> liblockdev1-perl liblockdev0g-dbg -> liblockdev1-dbg liblockdev0g-dev -> liblockdev1-dev libmd5-perl -> libdigest-md5-perl libpam0g-util -> libpam-runtime libwcsmbs, wcsmbs-locale-ja -> locale-ja libwine0.0.971116 -> libwine libxml0 -> libxml1 maplay -> maplay3 mysql-base -> mysql-gpl-client, mysql-client mysql-dev -> libmysqlclient6-dev newt0.25-dev -> libnewt-dev open -> console-tools palmpython -> pyrite perl -> perl5 perl-base -> perl5-base popt -> libpopt0, libpopt-dev ppp-pam -> ppp [5] ptx -> textutils python-bsddb, python-curses, python-misc, python-net -> python-base [6] python-mysql -> python-mysqldb python-pil -> python-imaging r-pdl -> pdl sgmlspm -> libsgmls-perl smbfsx -> smbfs sorcerer -> pccts t1lib0-bin -> t1lib-bin t1lib0-dev -> t1lib-dev tcd -> gnome-media timezones -> libc6 [7] tm -> wemi toshiba-fan, toshiba-hotkey -> toshutils v-bin -> libv-bin v-dbg -> libv-dbg v-dev, vm-dev -> libv-dev v1g -> libv1.22 vnc-doc -> xvncviewer, vncserver wcsmbs-locale-ko -> locale-ko wnn -> freewnn-jserver wnn-common -> freewnn-common wnn-dev -> freewnn-jserver-dev www-search -> libwww-search-perl wxxt1 -> libwxxt1 wxxt1-dev -> libwxxt-dev xfntbig5p-cmex24m -> xfonts-cmex-big5p xfntil2 -> xfonts-biznet-iso-8859-2-{base,75dpi,100dpi} xntp3-doc -> ntp-doc xpm-bin -> xpm4g-dev [8]
Aunque hemos hecho todos los esfuerzos para completar esta lista, puede que aún no sea exhaustiva.
Entre las versiones 2.1 (`slink') y 2.2 (`potato'), un número de paquetes se han dividido en dos o más paquetes. La razón de esas divisiones, en general, es que el paquete original ofrecía un conjunto de diversas funcionalidades, y que pocos usuarios, si acaso alguno, usaban todos esos componentes. Algunos paquetes mostrarán un mensaje avisando de la división durante la instalación, algunos lo mencionan en la descripción del paquete, y algunos simplemente lo ignoran.
Si encuentra que a un paquete familiar le falta alguna o toda su funcionalidad,
compruebe la lista de paquetes siguiente para ver si debe instalar más paquetes
para restaurar la funcionalidad original. Si eso falla, compruebe el registro
de cambios del paquete, que puede encontrarse en
/usr/doc/package/changelog.Debian.gz
.
La siguiente es una lista de paquetes que han sido divididos (esta lista puede no estar completa):
gmc: mc gmc mc-common [9] libpgtcl: libpgtcl pgaccess mozilla: mozilla libnspr3 libnspr3-dev netbase: netbase tcpd libwrap0 libwrap0-dev netstd: bootp bootparamd bootpc finger fingerd fping ftp ftpd icmpinfo pidentd rdate rdist routed rsh-client rsh-server ruptime rusers rusersd rwall rwalld rwho rwhod tftp tftpd traceroute wdsetup [10] perl-base: perl-base perl-5.004-base perl-5.005-base [11] perl: perl-5.004 perl-5.004-doc perl-5.005 perl-5.005-doc [12] postgresql: postgresql postgresql-client postgresql-test vim: vim vim-gtk [13]
Antes de actualizar su sistema, se recomienda que haga una copia de seguridad completa, o al menos, una copia de cualquier dato o información de configuración que no pueda permitirse perder. Las herramientas y procesos de actualización son muy fiables, pero un fallo de hardware en medio de una actualización podría dar lugar a un sistema seriamente dañado.
Las cosas principales que puede querer guardar son los contenidos de
/etc
, /var/lib/dpkg
y la información proporcionada
por dpkg --get-selections.
Es una medida inteligente informar previamente a todos los usuarios de
cualquier actualización que esté planeando, aunque los usuarios que accedan a
su sistema vía ssh (al menos) no deben notar nada durante la actualización, y
pueden querer continuar trabajando. Si desea tomar precauciones adicionales,
haga copias de seguridad o desmonte la partición de los usuarios
(/home
) antes de actualizar.
La actualización de la distribución debe hacerse o bien localmente desde una
consola virtual en modo texto (o una terminal serie conectada directamente), o
remotamente vía un enlace ssh
.
No debe hacer la actualización usando telnet
,
rlogin
, rsh
, o desde una sesión X gestionada por
xdm
en la misma máquina que está actualizando. Esto se debe a que
cada uno de esos servicios puede ser interrumpido durante la actualización, lo
que puede dar lugar a un sistema inaccesible que está sólo actualizado
a medias.
Independientemente del método usado para actualizar, se recomienda que compruebe el estado de todos los paquetes primero. Esto puede hacerse con
dpkg -l | pager
o
dpkg --get-selections > nombre-fichero
y luego inspeccionando nombre-fichero
), o puede hacerse en
dselect
.
Cualquier operación de instalación de paquetes debe ser ejecutada con
privilegios de superusuario, así que entre al sistema como root o use
su
o sudo
para obtener los derechos de acceso
necesarios.
Se recomienda que use el programa /usr/bin/script
para grabar una
transcripción de la sesión de actualización.[14] De ese modo, si surge cualquier problema, puede ver que
sucedió, y si se necesita, suministrar información exacta en un informe de
error. Para empezar a grabar, introduzca:
script -a /upgrade-2.2.typescript
o similar. Recuerde no poner el fichero typescript en un directorio temporal (como /tmp o /var/tmp).
Es deseable eliminar cualquier estado `mantener' antes de actualizar. Si
cualquier paquete esencial para la actualización está marcado como `mantener'
(`hold'), la actualización fallará. Si ha cambiado y recompilado un paquete
localmente, y no renombró o puso una época en la versión, deberá marcarlo como
`mantener' para prevenir que se actualice. El estado `mantener' de un paquete
puede cambiarse usando dselect
(en el menú Seleccionar, use las
teclas `H' y `G' para mantener y soltar, respectivamente), o haciendo:
dpkg --get-selections > nombre-fichero
editando nombre-fichero
para cambiar "hold" a
"install" (o viceversa), y luego, con permisos de root, haciendo
dpkg --set-selections < nombre-fichero
Puede ser una buena idea poner el paquete ssh
como `mantener' (si
está instalado), dado que de otro modo será sustituido por OpenSSH (el nuevo
paquete ssh
) que todavía tiene un fichero de configuración
ligeramente incompatible, que a veces puede causar que sshd
no
arranque después de la actualización. Marcándolo como `mantener' puede
asegurarse de que su sistema continuará siendo accesible: puede resolver las
cosas luego, o instalar el paquete ssh-nonfree
, que es la versión
de ssh completamente compatible, pero no-libre. (Nota: incluso si actualiza
sin `mantener', las conexiones existentes no se cortarán.)
Es importante que el directorio /etc/rcS.d
exista antes de la
actualización; si no, la instalación del paquete libc6
fallará.
No olvide monta en lectura-escritura todas las particiones que necesite
(principalmente la partición raíz y la /usr
), con una orden como:
mount -o remount,rw /punto-de-montaje
El directorio /usr/share/doc
(si existe ya) no debe ser un enlace
simbólico (p. ej. a /usr/doc
), porque esto haría que algunos
paquetes se romperán. De todos modos, enlazar /usr/doc
a
/usr/share/doc
está permitido. Por favor, tenga en cuenta que si
usa ese enlace habrá numerosos mensajes sobre directorios /usr/doc
que no pueden ser eliminados. Eso es normal, y puede no prestarles atención
con total seguridad.
El método recomendado para actualizar es usar apt-get
directamente, como se describe en la próxima sección. APT es la nueva
generación de herramientas de empaquetado de Debian, y permite actualizaciones
suaves e instalaciones fáciles.
No debe hacer ninguna actualización de paquetes importantes con los
métodos de acceso predeterminados en dselect
, por que a diferencia
del método apt
, esos no hacen ninguna clasificación lógica de los
paquetes durante la instalación, y por tanto no son tan fiables. Además, esas
actualizaciones están mucho menos comprobadas y por tanto soportadas por
Debian.
Si desea actualizar usando CD-ROMs, o si está actualizando desde una
publicación 2.0 de Debian GNU/Linux o anterior, necesitará las versiones de
apt
y dpkg
disponibles en el directorio http://http.us.debian.org/debian/dists/potato/main/upgrade-i386/
de su réplica de Debian, o el directorio upgrade/
del primer
CD-ROM de su conjunto de CDs de Debian 2.2. Obtenga e instale esos ficheros
usando (exactamente en este orden):
dpkg -i dpkg_1.6.13_i386.deb dpkg -i apt_0.3.19_i386.deb
Estas son versiones estáticas, compiladas especialmente, que pueden instalarse (y ejecutarse) en cualquier sistema Debian.
Si está actualizando desde la versión 2.1 de Debian GNU/Linux y quiere hacerlo
usando la red (FTP, HTTP) o una réplica de paquetes local (posiblemente una
partición de disco, o una réplica montada por NFS), entonces puede usar los
paquetes apt
y dpkg
que venían con esa versión. Por
supuesto, si apt
no está instalado aún (no lo está por defecto),
instálelo ahora.
Por favor, tenga en cuenta que para actualizar usando múltiples CDs
desde cualquier versión de Debian, necesita las versiones estáticas de
apt
y dpkg
, como se describe más arriba.
Se recomienda que lea las páginas de manual apt-get(8)
y
sources.list(5)
ahora. Si usted instaló la versión estática de
apt
y dpkg
, sólo puede acceder a las páginas de
manual con órdenes como man -l /usr/share/man/man8/apt-get.8.gz
hasta que se actualize el paquete man-db
.
Antes de empezar la actualización debe preparar
/etc/apt/sources.list
, el fichero de configuración de
apt
para las lista de paquetes.
apt
tendrá en cuenta todos los paquetes que pueda encontrar a
través de cualquier linea "deb", e instalará el paquete
con el mayor número de versión, dando prioridad a las lineas nombradas primero
(de ese modo, en caso de múltiples localizaciones de réplicas, usted indicará
primero un disco duro local, después CD-ROMs y luego réplicas FTP/HTTP).
La configuración predeterminada está preparada para la instalación desde
nuestros servidores principales de Internet, pero usted tal vez desee modificar
/etc/apt/sources.list
para usar otras réplicas, preferiblemente
una que esté más cerca de usted a través de la red. En ese caso, primero
comente las lineas "deb" que existen en
sources.list
, poniendo un signo `almohadilla' (#)
delante de ellas.
Las direcciones de las réplicas FTP o HTTP de Debian pueden encontrarse en
http://www.debian.org/distrib/ftplist
(mire en la sección "Lista completa de réplicas).
Por ejemplo, supongamos que la réplica Debian más cercana a usted es ftp://alea.iacta.est/debian/ Cuando inspeccione esa réplica con un navegador web o un programa FTP, observará que los directorios principales son similares a:
ftp://alea.iacta.est/debian/dists/potato/main/binary-i386/... ftp://alea.iacta.est/debian/dists/potato/contrib/binary-i386/...
Para usar esta réplica con apt
, deberá añadir esta línea a su
fichero sources.list
:
deb ftp://alea.iacta.est/debian potato main contrib
Observe que `dists' se añade implícitamente, y los argumentos después del tercero se usan para expandir el camino en múltiples directorios.
Si la réplica contiene también las secciones non-US bajo ftp://alea.iacta.est/debian/debian-non-US, añada también la siguiente linea:
deb ftp://alea.iacta.est/debian/debian-non-US potato/non-US main contrib
Cualquier paquete que necesite para la instalación que se obtenga desde la red
se almacena en el directorio /var/cache/apt
(y en el subdirectorio
partial/
mientras está siendo descargado), así que deberá
asegurarse de que tiene suficiente espacio antes de empezar la instalación.
Con una instalación de Debian razonablemente extensa, puede esperar al menos
unos 300 MB de datos descargados.
Nota: si usted está usando la versión estática de apt
y
dpkg
, la resolución de nombres está rota (ésa es una razón para
usar el apt
de slink cuando se actualiza desde la red). La
solución es simplemente poner la dirección IP de la réplica en la línea
"deb". (Pista: Para averiguar la dirección IP de
un-servidor prueba a usar nslookup un-servidor)
En lugar de usar réplicas FTP o HTTP de paquetes, puede que usted desee
modificar /etc/apt/sources.list
para que use una réplica que haya
en un disco local (o tal vez montada por NFS). En ese caso, primero comente
las lineas "deb" que existen en
sources.list
, poniendo un signo `almohadilla' (#)
delante de ellas.
Por ejemplo, supongamos que su réplica de los paquetes esté bajo
/var/ftp/debian/
, y tiene directorios principales similares a:
/var/ftp/debian/dists/potato/main/binary-i386/... /var/ftp/debian/dists/potato/contrib/binary-i386/...
Para usar esta réplica con apt
, deberá añadir esta línea a su
fichero sources.list
:
deb file:/var/ftp/debian potato main contrib
Observe que `dists' se añade implícitamente, y los argumentos después del tercero se usan para expandir el camino en múltiples directorios.
Si la réplica contiene también las secciones non-US bajo
/var/ftp/debian/debian-non-US
, añada también la siguiente linea:
deb file:/var/ftp/debian/debian-non-US potato/non-US main contrib
Primero deberá instalar la última versión de los paquetes apt
y
dpkg
, tal como se describe más arriba.
Si desea usar sólo CDs, comente las lineas
"deb" que existen en sources.list
, poniendo
un signo `almohadilla' (#) delante de ellas.
Asegúrese de que hay una línea en /etc/fstab
que permite montar su
CD-ROM en el punto de montaje /cdrom
(apt-cdrom
requiere que sea exactamente en /cdrom
). Por ejemplo, si
/dev/hdc
es su unidad de CD-ROM, /etc/fstab
deberá
contener una línea como:
/dev/hdc /cdrom auto defaults,noauto,ro 0 0
Observe que no debe haber ningún espacio entre las palabras defaults,noauto,ro en el cuarto campo.
Para comprobar que funciona, inserte un CD y pruebe a ejecutar
mount /cdrom (esto montará el CD en el punto de montaje) ls -alF /cdrom (esto debe mostrar el directorio raiz del CD) umount /cdrom (esto desmontará el CD)
Después, ejecute:
apt-cdrom add
para cada CD-ROM binario de Debian que tenga, para añadir los datos de cada CD a la base de datos de APT.
Una vez que haya configurado el sources.list
, de apt
,
ejecute (como root):
apt-get update
Esto resincronizará los ficheros de listado de paquetes a partir de sus fuentes, actualizando la información sobre paquetes nuevos y actualizados.
Algunas personas prefieren ejecutar
apt-get --fix-broken --show-upgraded --simulate dist-upgrade | pager
para ver qué es lo que va a suceder. Aunque esto puede consumir bastante tiempo, puede evitar algunas sorpresas. Esto le dirá lo que está mal en su sistema (y como arreglarlo), o, más probable, exactamente qué es lo que se va a hacer durante la actualización. Preste atención especial a los paquetes que serán eliminados (`REMOVEd'); aquí no debe aparecer ningún paquete esencial.
Después de que haya comprobado que apt-get
debe funcionar bien,
ejecute:
apt-get --fix-broken --show-upgraded dist-upgrade
Esto hará una actualización completa del sistema, esto es, instalará las versiones más modernas disponibles de todos los paquetes, y resolverá todos los posibles cambios de dependencias entre paquetes en publicaciones diferentes. Si es necesario, instalará algunos paquetes nuevos (usualmente nuevas versiones de bibliotecas, o paquetes renombrados), y eliminará cualquier paquete obsoleto que de conflictos.
Cuando actualice desde un conjunto de CD-ROMs, se le pedirá que inserte CDs específicos en varios puntos durante la actualización. Puede que tenga que insertar el mismo CD varias veces; esto es debido a paquetes interrelacionados que estén repartidos en varios CDs.
Los paquetes instalados actualmente que no puedan ser actualizados sin cambiar
el estado de instalación de otro paquete se dejarán en su versión actual
(mostrados como "retenidos" (`held back')). Por tanto, puede ser
necesario usar dpkg
o dselect
para eliminar y
reinstalar algunos paquetes o dependencias rotos. Alternativamente, se puede
usar apt-get dselect-upgrade después de apt-get -f
dist-upgrade. (Vea la página de manual apt-get(8)
.)
La opción --fix-broken (o simplemente -f) hace que
apt
intente corregir un sistema con dependencias rotas.
apt
no permite que existan dependencias rotas en un sistema.
Es posible que la estructura de dependencias de un sistema esté tan corrupta
que requiera intervención manual. Usualmente esto significa usar
dselect
o
dpkg --remove nombre-de-paquete
para eliminar alguno de los paquetes implicados, o
apt-get --fix-broken --show-upgraded install dpkg --configure --pending
En casos extremos puede tener que forzar la reinstalación de un paquete con una orden como
dpkg --install /camino/al/nombre-de-paquete.deb
Después de estas cosas, debe ser posible seguir con la actualización usando las órdenes dist-upgrade descritas previamente.
Durante la actualización, se le harán preguntas para configurar o reconfigurar
varios paquetes. Cuando/si le pregunta si se debe reemplazar algún fichero en
los directorios /etc/init.d
o /etc/terminfo
, o el
fichero /etc/manpath.config
, por la versión del mantenedor del
paquete, usualmente es necesario responder `sí' para asegurar la consistencia
del sistema. Siempre puede volver posteriormente a la versión anterior, dado
que se guardará con la extensión .dpkg-old
.
Si no está seguro de qué hacer, tome nota del nombre del paquete o fichero, y arregle las cosas más tarde. Puede buscar en el fichero `typescript' para revisar la información que estaba en pantalla durante la actualización.
Cuando apt-get dist-upgrade haya terminado, habrá terminado la actualización "formal", pero quedarán algunas otras cosas de las que deberá ocuparse antes de que reinicie de nuevo el sistema.
Lo más importante, puede que necesite instalar los paquetes
locales
y util-linux
. Esto se puede hacer con:
apt-get install locales util-linux
Si estaba actualizando desde la versión 2.0 de Debian, o anterior, se eliminará
el paquete getty
, porque getty
forma parte ahora del
paquete util-linux
.
Probablemente hay varios paquetes más que deben ser instalados y que
apt-get
no ha tenido en cuenta, porque apt-get
no
escoge automáticamente paquetes de los que no dependen directamente otros (p.
ej. todos los paquetes que estén en los campos Recommends: y Suggests:).
Estos paquetes se pueden encontrar fácilmente usando dselect
o
cualquier otro frontal visual. En dselect
, escoja el método `apt'
en la pantalla [M]étodo (si no lo ha hecho aún) y actualice la base de datos
con información de los nuevos paquetes, usando la opción [A]ctualizar. Después
de ésto, en la pantalla [S]eleccionar, pulse `o', `o', `v' y Cambio-d, y busque
la cabecera:
--- Paquetes obsoletos y localmente instalados ---
En esta sección se mostrarán todos los paquetes de ese tipo. Por ejemplo, los
viejos paquetes gimp-smotif
y gimp-dmotif
fueron
sustituidos por gimp
en Debian GNU/Linux 2.1. Usted puede
instalar el nuevo paquete vía dselect
(que mostrará una pantalla
de "resolución de conflictos de dependencias" indicando que los
viejos paquetes deben ser eliminados), o usando
apt-get install gimp
que eliminará las versiones antigua de una sola vez (simplemente deberá confirmarlo).
Otro ejemplo, que no aparece ni siquiera en dselect
, son los
clientes y servidores de telnet y talk, y el servidor NFS, que fueron separados
del viejo paquete netstd
. Puede instalarlos con una orden como:
apt-get install telnet telnetd talk talkd nfs-server
Lo mismo se aplica a manpages-dev
, que fue separado de
manpages
.
Por favor, vea el documento Notas de la publicación de Debian GNU/Linux 2.1 para más información sobre los paquetes que fueron divididos en esa publicación; vuelva atrás y lea Paquetes renombrados, Sección 3.1.1 y Paquetes divididos, Sección 3.1.2 para ver la lista de paquetes divididos en esta publicación.
Si estaba actualizando desde la versión 2.0 de Debian, o anterior, Y tenía el sistema de ventanas X (`X Window System') instalado, ejecute las siguientes órdenes:
cp /usr/share/doc/xbase/README.Debian /root/xbase.README.Debian apt-get remove xbase apt-get install xfonts-base xfonts-75dpi xfonts-100dpi xfonts-scalable
Y si no quiere que xdm
arranque al reiniciar el sistema
("autoarranque X"), ejecute también:
apt-get remove xdm
Para más información puede leer el fichero
/root/xbase.README.Debian
recién copiado, pero probablemente no
tenga que hacer nada más.
El sistema de configuración para los módulos del núcleo ha cambiado desde
Debian GNU/Linux publicación 2.0. Si ha actualizado desde la versión 2.0 de
Debian, o anterior, debe convertir su sistema antes de volver a reiniciar.
Usualmente basta con ejecutar update-modules force; de todos modos
se recomienda leer la página de manual update-modules(8)
.
Entonces, si estaba actualizando desde una versión 1.x de Debian GNU/Linux (es
decir, anterior a la 2.0), el sistema antiguo usaba la biblioteca `libc5',
mientras que el sistema actualizado usa la versión `libc6'. La nueva
biblioteca ha cambiado el formato de los ficheros utmp
y
wtmp
; puede comprobarlo probando la orden last
. Para
resolverlo, es necesario reiniciar, pero antes copie los ficheros viejos y
vacíe los existentes con estas órdenes:
cd /var/log mv wtmp wtmp.libc5 touch wtmp cd /var/run cp /dev/null utmp
Entonces reinicie el sistema (nota: esto no es necesario para
actualizaciones desde la publicación 2.0 y posteriores de Debian). Una vez
reinicie, la orden last
mostrará datos correctos de nuevo.
Observe que el núcleo de Linux no fue actualizado con estos
procedimientos. Puede que desee hacerlo usted mismo, bien instalando uno de
los paquetes kernel-image-*
o bien compilando un núcleo
personalizado a partir de las fuentes.
¡Disfrute su nuevo sistema Debian GNU/Linux 2.2! :-)
debian-doc@lists.debian.org