En Debian intentamos evitar modificar los programas originales, y por lo tanto, los cambios producidos en los programas originales, estarán presentes en Debian GNU/Linux.
En la versión Debian GNU/Linux 2.2 «Potato», tar
usaba el
modificador
-I
para indicar compresión bzip
, sin embargo, ahora se usa el
modificador
-j
. Es posible que necesite hacer cambios en sus scripts de acuerdo a esto.
Antes de actualizar su sistema, se recomienda que realice una copia de respaldo completa, o al menos de los datos o información de configuración que no pueda permitirse perder. Las herramientas de actualización y proceso son bastante fiables, pero un fallo de hardware a mitad de una actualización puede dar como resultado un sistema muy dañado.
Las cosas principales que podría querer poner a salvo son los contenidos de
/etc
, /var/lib/dpkg
y la salida de dpkg
--get-selections \*.
Es aconsejable informar a los usuarios con antelación de cualquier
actualización que esté planeando realizar, aunque los usuarios que accedan al
sistema mediante ssh (al menos) no deberían notar casi nada durante la
actualización, y puede que quieran seguir trabajando. Si desea tomar más
precauciones, haga una copia de respaldo, o desmonte las particiones de usuario
(/home
) antes de actualizar. Normalmente no será necesario
reiniciar la máquina.
La actualización de la distribución debería hacerse de forma local, frente a
una consola virtual en modo texto (o conectado de forma directa mediante una
terminal por puerto serie), o de forma remota mediante un enlace
ssh
.
Importante: No debería actualizar usando telnet
,
rlogin
, rsh
, o desde una sesión X controlada por
xdm
en la máquina que esté actualizando. Esto se debe a que cada
uno de esos servicios puede cerrarse durante la actualización, y podríamos
obtener un sistema inaccessible que estará sólo medio actualizado.
Independientemente del método que se use para actualizar, se recomienda que compruebe el estado de todos los paquetes primero, y que verifique que se encuentran en un estado actualizable. La siguiente orden mostrará cualquier paquete que se encuentre en estado Half-Installed (medio instalado) o Failed-Config (falló la configuración), y aquellos cuyo estado sea erróneo.
# dpkg --audit
También podría inspeccionar el estado de todos los paquetes de su sistema
usando dselect
, o con órdenes tales como
# dpkg -l | paginador
o
# dpkg --get-selections > ~/paqu-actuales.txt
Es deseable eliminar cualquier bloqueo (hold) antes de actualizar. Si un paquete esencial para la actualización se encontrase bloqueado, el proceso fallará. Puede identificar los paquetes bloqueados con
# dpkg --audit
Si ha cambiado y recompilado un paquete de forma local, y no le ha cambiado el
nombre o marcado con una época (epoch) en la versión, debería bloquearlo si
desea prevenir que sea actualizado. El estado «hold» de un paquete se puede
cambiar mediante dselect
(en el menú Selección (use las teclas «H»
y «G» para bloquear y desbloquear, respectivamente)), o editando el fichero
producido por
dpkg --get-selections > ~/selec-actuales.txt
para cambiar de «hold» a «install» (o viceversa), y entonces, con permisos de root, haga
dpkg --set-selections < ~/selec-actuales.txt
El SSH comercial que aparecía en el paquete ssh
antes de la
versión 2.2 o en ssh-nonfree
en la versión 2.2 ha sido reemplazado
por el paquete ssh
(OpenSSH), libre según las DFSG, en esta
entrega. Los programas SSH comerciales han desaparecido. El paquete
ssh
incluye varias preguntas mediante Debconf que regenerarán la
configuración de una manera compatible con OpenSSH.
Tenga en cuenta que el paquete ssh
de esta entrega permite por
defecto que el usuario root acceda a la máquina (opción inactiva en 2.2). Si
no desea esta modalidad de acceso remoto a su sistema debería asegurarse de que
la opción PermitRootLogin en el fichero
/etc/ssh/sshd_config
esté configurada con el valor no
después de actualizar, por razones de seguridad. Para asegurarse que dpkg no
actualice nunca el fichero colocando nuevos valores por defecto, basta con que
lo modifique manualmente. Añadir una línea en blanco será suficiente.
Es importante que exista el directorio /etc/rcS.d
antes de la
actualización; en caso contrario, fallará la instalación del paquete
libc6
.
El directorio /usr/share/doc
(si ya existe) no debería ser un
enlace simbólico (a /usr/doc
, por ejemplo), ya que causaría el mal
funcionamiento de varios paquetes. Sin embargo, se permite enlazar
simbólicamente /usr/doc
a /usr/share/doc
. Tenga en
cuenta que si usa tal enlace, obtendrá numerosos mensajes al respecto de
directorios en /usr/doc
que no han podido ser borrados. Esto es
normal, y puede ignorarlo tranquilamente.
El método de actualización recomendado es usar apt
junto con
dselect
, tal como se describe aquí. El análisis de dependencias
implementado permite actualizaciones sin problemas e instalaciones sencillas.
No debería realizar actualizaciones importantes de paquetes mediante
dselect con otros métodos de acceso que no sean apt
, ya que, al
contrario que el método apt
, no realizan una ordenación lógica de
los paquetes durante la instalación, y por tanto no son tan fiables. Además,
tales actualizaciones pueden no estar tan bien probadas, y no están soportadas
por Debian.
Cualquier operación de instalación de paquetes debe ser ejecutada con
privilegios de superusuario, bien registrándose como root (login) o usando los
programas su
o sudo
para obtener los derechos de
acceso necesarios.
Antes de comenzar la actualización, debe configurar el fichero de listas de
paquetes de apt
, /etc/apt/sources.list
.
apt
tomará en consideración todos los paquetes que pueda encontrar
mediante una línea que empiece por «deb», e instalará el paquete
con el mayor número de versión, dando prioridad a las líneas mencionadas
primero (de esa manera, en el caso de localizaciones de varias réplicas,
normalmente indicará primero un disco duro local, luego los CD-ROM, y por
último HTTP/FTP).
La configuración por defecto para la instalación escoge los principales
servidores de Debian en Internet, pero puede que desee modificar
/etc/apt/sources.list
para usar otras réplicas, preferentemente
una que esté cerca (en términos de red) de usted.
Por otro lado, encontrará una lista de direcciones de réplicas en HTTP o FTP de
Debian en http://www.debian.org/distrib/ftplist
(busque en la sección «Lista de servidores FTP»). Las réplicas HTTP son más
rápidas, en general, que las FTP.
Por ejemplo, suponga que su réplica más cercana es http://mirrors.kernel.org/debian/. Si observa su contenido mediante un navegador web o un programa FTP, comprobará que los directorios principales están organizados así:
http://mirrors.kernel.org/debian/dists/woody/main/binary-m68k/... http://mirrors.kernel.org/debian/dists/woody/contrib/binary-m68k/...
Para usar esta réplica con apt
, deberá añadir esta línea a su
fichero sources.list
:
deb http://mirrors.kernel.org/debian woody main contrib
Fíjese que «dists» se añade de forma implícita, y los parámetros tras el nombre de la entrega se usan para expandir el camino a varios directorios.
Tras añadir sus nuevas fuente, desactive las líneas «deb» que
habían previamente en sources.list
, colocando el símbolo de
celdilla (#) delante de ellas.
Cualquier paquete necesario para la instalación que se descargue de la red
quedará almacenado en /var/cache/apt/archives
(y en el
subdirectorio partial/
, durante la descarga), de manera que debe
asegurarse de tener suficiente espacio antes de intentar iniciar la
instalación. Con una instalación de Debian de tamaño razonable, espere por lo
menos 300 MB de datos descargados.
Nota: si está usando las versiones estáticas de apt
y
dpkg
, la resolución de nombres no funciona (lo cual es una razón
para usar el apt
cuando actualice mediante la red). La solución
es colocar las direcciones IP de las réplicas en las líneas «deb».
(Pista: nslookup some-server)
En lugar de usar réplicas de paquetes HTTP o FTP, puede que desee modificar
/etc/apt/sources.list
para usar una réplica existente en su disco
local (posiblemente montada mediante NFS).
Por ejemplo, su réplica puede encontrarse en /var/ftp/debian/
, y
tener directorios como estos:
/var/ftp/debian/dists/woody/main/binary-m68k/... /var/ftp/debian/dists/woody/contrib/binary-m68k/...
Para usar esto con apt
,añada esta línea a su fichero
sources.list
:
deb file:/var/ftp/debian woody main contrib
Fíjese que «dists» se añade de forma implícita, y los parámetros tras el nombre de la entrega se usan para expandir el camino a varios directorios.
Tras añadir sus nuevas fuente, desactive las líneas «deb» que
habían previamente en sources.list
, colocando el símbolo de
celdilla (#) delante de ellas.
Compruebe en base a la información anterior si necesita instalar previamente la
última versión de los paquetes apt
y dpkg
, tal como
hemos descrito.
Si sólo desea usar CDs, comente todas las líneas «deb» existentes
en /etc/apt/sources.list
colocando delante suya un símbolo de
celdilla (#).
Asegúrese de que existe una línea en /etc/fstab
que permita montar
la lectora de CD-ROM en el punto de montaje /cdrom
(apt-cdrom
precisa este punto de montaje en particular). Por
ejemplo, si su lector de CD-ROM se encuentra en /dev/hdc
,
/etc/fstab
debería contener una línea como:
/dev/hdc/ cdrom auto defaults,noauto,ro 0 0
Fíjese que no deben haber espacios entre las palabras defaults,noauto,ro en el cuarto campo.
Para verificar que esto funciona, inserte un CD e intente ejecutar
mount /cdrom (esto montará el CD en el punto de montaje) ls -alF /cdrom (esto debería mostrar el directorio raí zdel CD) umount /cdrom (esto desmontará el CD)
Después, ejecuta:
apt-cdrom add
por cada CD-ROM de Binarios de Debian que tenga, para añadir los datos sobre cada uno en la base de datos de APT.
El método recomendado para actualizar a Debian GNU/Linux 3.0 es usar la
herramienta de gestión de paquetes dselect
. Esta herramienta toma
decisiones más seguras que las de apt-get
al respecto de los
paquetes.
Si no está instalado dselect
, por favor, instale la versión
porporcionada por su versión de Debian GNU/Linux.
Ya se ha configurado el método de acceso al archivo (usando APT), aunque puede cambiar esta configuración usando la opción ``[M]étodo'' ([A]ccess) del menú. Si está contento con la configuración de acceso, proceda con la siguiente estapa escogiendo ``[A]ctualizar'' ([U]pdate) del menú. Esto actualizará la base de datos de paquetes.
Si no hay problemas durante la etapa de actualización, escoja ``[S]eleccionar''
([S]elect) en el menú; dselect
examinará los paquetes
disponibles y decidirá de forma inteligente cuales necesitan ser actualizados y
qué paquetes nuevos hace falta instalar para complementar la actualización.
También sugerirá los paquetes que debería eliminar. Darle a la tecla de
retorno en la pantalla de selección de paquetes le llevará a una de resolución
de conflictos/dependencias (en la que puede que tenga que cambiar selecciones y
pulsar retorno de nuevo) o de vuelta al menú principal. Dispone de ayuda sobre
la etapa de selección de paquetes pulsando "?".
Ahora que ha decidido la selección de paquetes, es necesario instalar los nuevos. Hágalo escogiendo ``[I]nstalar'' ([I]nstall) en el menú principal. Esto descargará de su fuente preferida e instalará los paquetes usando APT. Vaya y tómese algo mientras tanto, porque esto tardará un tiempo.
Las dos etapas finales son ``[C]onfigurar'' y ``[D]esinstalar'' ([C]onfig y [R]emove) que terminarán el proceso de actualización configurando los nuevos paquetes y borrando los redundantes
No olvide montar todas las particiones necesarias (en particular la raíz y
/usr
) en modo lectura-escritura, con una orden como:
mount -o remount,rw /puntodemontaje
Asumiendo que ya tenga configurado el sources.list
de
apt
como le hemos explicado, ejecuta (como root):
apt-get update
Esto resincronizará los ficheros de información sobre paquetes usando sus fuentes, actualizando así la información sobre paquetes nuevos y actualizados.
Le recomendamos encarecidamente que use el programa
/usr/bin/script
para guardar un registro de la sesión de
actualización. De esa manera, si aparece algún problema, tendrá un registro de
lo sucedido, y si fuera necesario, podrá proporcionar información exacta en un
informe de fallo. Para empezar la grabación, escriba:
script -a ~/upgrade-to-woody.typescript
o similar. No ponga el fichero «typescript» en un directorio temporal como
/tmp
o /var/tmp
(ya que los ficheros en esos
directorios pueden ser borrados durante la actualización o durante el reinicio
de la máquina).
Es importante que actualice apt, dpkg y debconf antes de realizar la mayoría de la actualización. Se ha mejorado considerablemente apt desde la entrega previa. Debconf es una herramienta esencial de la que los paquetes recientes hacen uso intensivo.
apt-get install dpkg apt debconf
Esto instalará las versiones más modernas de dpkg
,
apt
y debconf
, que necesitará para el resto de la
actualización. También actualizará a la última versión algunas bibliotecas
necesarias del sistema.
Cuando debconf le pida el tipo de preguntas que desea que le haga, no escoja "critical", ya que en caso contrario no verá algunas preguntas importantes.
Algunas personas prefieren repasar primero la actualización usando
apt-get --fix-broken --show-upgraded --simulate dist-upgrade | pager
Mientras que esto puede tomar su tiempo, también le ayuda a evitar sorpresas. Esto le dirá tanto qué falla en su sistema (y cómo arreglarlo) o, más probablemente, qué ocurrirá exactamente durante la actualización. Preste especial atención a los paquetes que serán «BORRADOS» («REMOVED»); no debería aparecer ningún paquete esencial en esa lista.
Después de verificar que apt-get
debería funcionar correctamente,
ejecute:
apt-get --fix-broken --show-upgraded dist-upgrade
Esto ejecutará una actualización completa del sistema, esto es, instlará las versiones más modernas disponibles de todos los paquetes, y resolverá todas los cambios de dependencias posibles entre paquetes de diferentes entregas. Si fuera necesario, instalará algunos paquetes nuevos (normalmente nuevas versiones de librerías, o paquetes que han cambiado de nombre), y eliminará cualquier paquete obsoleto conflictivo.
Cuando actualice desde un juego de CD-ROMs, se le pedirá que inserte CDs específicos en varios momentos durante la actualización. Puede que tenga que insertar el mismo CD varias veces; esto se debe a paquetes interrelacionados que estén dispersos en varios CD.
Se dejará instalada la versión actual de aquellos paquetes que no puedan ser
actualizados sin cambiar el estado de instalación de otros paquetes (indicados
como «held back»). Por tanto, puede que sea necesario usar dpkg
o
dselect
para borrar y reinstalar algunos paquetes o dependencias
en mal estado. De forma alternatica, puede usar apt-get
dselect-upgrade tras apt-get -f dist-upgrade (consulte la
página de manual de apt-get(8)
).
La opción --fix-broken (también -f) hace que
apt
intente corregir un sistema con dependencias en mal estado.
apt
no permite que existan dependencias en mal estado en un
sistema.
Algunas veces se hace necesario activar la opción APT::Force-LoopBreak en APT
para permitir el borrado temporal de un paquete esencial debido a un bucle
Conflicts/Pre-Depends. apt-get
le alertará de esta situación y
abortará la actualización. Puede atajar esto especificando la opción -o
APT::Force-LoopBreak=1 en la línea de órdenes de apt-get
.
Es posible que la estructura de dependencias de un sistema esté tan corrupta
que necesite intervención manual. Normalmente esto quiere decir usar
dselect
o
dpkg --remove packagename
para eliminar el paquete problemático, o
apt-get --fix-broken --show-upgraded install dpkg --configure --pending
En casos extremos, puede que necesite forcar la reinstalación con una orden parecida a
dpkg --install /path/to/packagename.deb
Después de arreglar las cosas, debería poder continuar la instalación donde la dejó repitiendo la orden dist-upgrade descrita previamente.
Durante la actualización, se le harán preguntas para configurar o reconfigurar
varios paquetes. Cuando se le pregunte si debería reemplazarse algún fichero
en los directorios /etc/init.d
o /etc/terminfo
, o el
fichero /etc/manpath.config
con la versión que propone el
mantenedor del paquete, normalmente es necesario responder «sí» para asegurar
la consistenciad el sistema. Siempre puede volver a la versión antigua, ya que
queda guardad con extensión .dpkg-old.
Si no está seguro de lo que hacer, escriba el nombre del paquete o fichero, y examine las cosas más tarde. Puede buscar en el fichero de transcripción de la instalación para revisar la información que estaba en pantalla durante la actualización.
Cuando apt-get dist-upgrade haya terminado, ya estará completa la actualización «formal», pero hay otras cosas que debería tener en cuenta antes del siguiente reinicio.
Más aún, puede que haga falta instalar los paquetes locales
y
util-linux
. Esto se puede hacer con:
apt-get install locales util-linux
Si estaba actualizando de Debian versión 2.0 o anteriores, esto borrará el
paquete getty
, ya que getty
está ahora en el paquete
util-linux
.
Probablemente haya muchos más paquetes que necesite instalar, que
apt-get
no detecte, ya que apt-get
no escoge
automáticamente paquetes de los que no dependan otros paquetes (por ejemplo,
los que se indican en los cambios Recommends: y Suggests:). Los puede
encontrar fácilmente ejecutando dselect
u otro frontal visual. En
dselect
, escoja el método «apt» en la pantalla [M]étodo
([A]ccess), si es que no lo ha hecho ya, y actualice la base de datos con
información de nuevos paquetes, usando la opción [A]ctualizar ([U]pdate).
Después, en la pantalla [S]eleccionar, pulse «o», «o», «v» y Shift-d, y busque
entonces la cabecera
--- Paquetes obsoletos y localmente instalados ---
En esa sección, encontrará todos esos paquetes. Por ejemplo, el viejo paquete
gimp
ha sido reemplazado por gimp1.2
. Puede instalar
el nuevo paquete mediante dselect
(que entonces le mostrará una
pantalla de «Resolución de dependencia/conflicto» indicando que deberían
borrarse los paquetes antiguos), o usando:
apt-get install gimp1.2
que borrará las versiones antiguas (puede que necesite confirmarlo).
Otro ejemplo, que a menudo no se ve siquiera con dselect
, son los
clientes y servidores de telnet y tal, y el servidor NFS, que se dividieron,
saliendo del antiguo paquete netstd
. Puede instalarlos con la
orden:
apt-get install telnet telnetd talk talkd nfs-server
Lo mismo se aplica a manpages-dev
, que se separó de
manpages
.
Por favor, remítase al documento Notas de Liberación de anteriores entregas de Debian GNU/Linux si desea más información al respecto de los paquetes divididos en ellas; vuelva atrás y lea Paquetes renombrados, Sección 5.1 y Paquetes divididos, Sección 5.2 para ver la lista de paquetes divididos para esta entrega.
Si estuviera actualizando desde Debian versión 2.0 o anteriores, y tiene instalado el X Window System, de las siguientes órdenes:
apt-get remove xbase apt-get install xfonts-base xfonts-75dpi xfonts-100dpi xfonts-scalable
Y si no desea que xdm
arranque durante el inicio del sistema
("X autostart"), ejecute también:
apt-get remove xdm
Lea /usr/share/doc/xfree86-common/README.Debian-upgrade
si desea
más información sobre la actualización de los paquetes del sistema de ventanas
X. Esto es relevante para los usuarios de todas las entregas anteriores. En
resumen, necesita leerlo.
El sistema de configuración del módulos del núcleo ha cambiado desde Debian
GNU/Linux versión 2.0. Si actualizó desde Debian 2.0 o anterior, deberá
convertir su sistema antes del siguiente reinicio. Normalmente bastará
ejecutar update-modules force; sin embargo, recomendamos leer la
página de manual update-modules(8)
.
Tenga en cuenta que el núcleo de Linux no ha sido actualizado mediante estos
procedimientos. Puede que desee hacerlo usted mismo, bien instalando uno de
los paquetes kernel-image-*
o compilando un núcleo a su medida
desde las fuentes.
Debian GNU/Linux viene con un 2.2.20 que está en la serie 2.2, la anterior serie estable del núcleo Linux. Puede que desee utilizar un núcleo de la serie 2.4 por su mejor soporte de hardware o el rendimiento mejorado. Arrancar el tercer cdrom hará esto automágicamente, y también puede instalar o precompilar uno.
apt-get install kernel-image-2.4.18-{386,586tsc,686}
Para los más aventureros, hay una manera sencilla de compilar su propio núcleo
a medida en Debian GNU/Linux. Instale la herramienta
kernel-package
y lea la documentación que hay en
/usr/share/doc/kernel-package
.
¡Disfrute de su nuevo sistema Debian GNU/Linux 3.0! :-)
Notas de liberación de Debian GNU/Linux 3.0 (`woody'), Motorola 680x0
$Id: release-notes.es.sgml,v 1.28 2002/07/29 20:01:36 joey Exp $debian-doc@lists.debian.org