[ anterior ] [ Contenidos ]

Notas de publicación de Debian GNU/Linux 2.2 (`potato'), Intel x86
Capítulo 3 Actualizaciones desde versiones anteriores


3.1 Cambios al sistema en detalle

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.


3.1.1 Paquetes renombrados

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.


3.1.2 Paquetes divididos

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]


3.2 Acciones necesarias antes de actualizar

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.


3.3 Proceso de actualización

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).


3.3.1 Preparación de una actualización a través de Internet

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)


3.3.2 Preparación de una actualización desde una réplica local

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


3.3.3 Preparación de una actualización desde CD-ROMs

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.


3.3.4 Actualización

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.


3.3.5 Problemas posibles durante o después de una actualización

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! :-)


[ anterior ] [ Contenidos ]
Notas de publicación de Debian GNU/Linux 2.2 (`potato'), Intel x86
$Id: release-notes.es.sgml,v 1.6 2000/07/24 17:33:42 joy Exp $
Josip Rodin, Bob Hilliard, Adam Di Carlo, Anne Bezemer
debian-doc@lists.debian.org