Tabla de contenidos
Le sugerimos que antes de actualizar lea también la información en Capítulo 5, Problemas que debe tener en cuenta para bullseye. Ese capítulo cubre problemas que se pueden dar y que no están directamente relacionados con el proceso de actualización, pero que aún así podría ser importante conocer antes de empezar.
Es muy recomendable realizar una copia de seguridad completa o al menos una de los datos o información de configuración que no pueda permitirse perder antes de actualizar su sistema. Las herramientas y el proceso de actualización son bastante fiables, pero un fallo de hardware a mitad de una actualización podría resultar en un sistema muy dañado.
Los elementos principales que debería querer salvaguardar son los contenidos
de /etc
, /var/lib/dpkg
,
/var/lib/apt/extended_states
y la salida de
«dpkg --get-selections "*"
» (las comillas son
importantes). Si utiliza aptitude para gestionar los
paquetes en su sistema, también querrá hacer una copia de seguridad de
/var/lib/aptitude/pkgstates
.
El proceso de actualización no modifica nada dentro del directorio
/home
. Algunas aplicaciones (como es el caso de algunas
partes del conjunto de aplicaciones Mozilla y el de los entornos de
escritorio de KDE y GNOME) sí sobreescribirán la configuración del usuario
con los nuevos valores por omisión cuando el usuario arranque una nueva
versión de la aplicación. Como medida preventiva quizás desee realizar una
copia de seguridad de los directorios y archivos ocultos («dotfiles»,
archivos que comienzan por punto, N. del T.) en los directorios personales
de los usuarios. Esta copia de seguridad le será útil para restaurar o
recrear la configuración previa a la actualización. Quizás quiera también
avisar a los usuarios de este asunto.
Cualquier operación de instalación de paquetes debe ser ejecutada con
privilegios de superusuario, bien accediendo al sistema como
root
o usando los programas su o
sudo para obtener los derechos de acceso necesarios.
La actualización tiene unas cuantas condiciones previas, así que debería revisarlas antes de ponerse a ello.
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 no deberían apenas notar nada durante la actualización, y deberían poder seguir trabajando.
Si desea tomar precauciones adicionales, haga una copia de seguridad, o
desmonte la partición /home
antes de actualizar.
Tendrá que hacer una actualización del núcleo cuando se actualice a bullseye, por lo que será necesario reiniciar el sistema. Esto se realizará habitualmente una vez la actualización haya terminado.
Es posible que existan servicios ofrecidos por el sistema que están asociados a paquetes incluidos en el proceso de instalación. Si esto sucede, ha de tener en cuenta que los servicios se interrumpirán mientras los paquete asociados se están actualizando o están siendo reemplazados y configurados. El servicio no estará disponible durante este tiempo.
El tiempo exacto de indisponibilidad para estos servicios dependerá del número de paquetes que se están actualizando en el sistema, y también incluye el tiempo que el administrador dedica a responder a las preguntas de configuración de las distintas actualizaciones de paquetes (si las hubiera). Tenga en cuenta que si el proceso de actualización se hace de forma desatendida y el sistema realiza alguna pregunta durante éste hay una alta probabilidad de que los servicios no estén disponibles [1] durante un periodo de tiempo significativo.
Si el sistema que está Vd. actualizando ofrece servicios críticos para sus usuarios o para la red [2], puede reducir el tiempo de disponibilidad si realiza una actualización mínima del sistema como se describe en Sección 4.4.4, “Actualización mínima del sistema”, seguido de una actualización del núcleo y un reinicio, y después una actualización de los paquetes asociados con sus servicios críticos. Actualice estos paquetes antes de hacer la actualización completa como se describe en Sección 4.4.5, “Actualizar el sistema”. De esta forma puede asegurarse que estos servicios críticos están ejecutándose y disponibles durante todo el proceso de actualización, reduciendo su indisponibilidad.
Aunque Debian intenta garantizar que el sistema es arrancable en todo momento, siempre hay una posibilidad de que experimente problemas al reiniciar el sistema tras la instalación. Muchos de los problemas conocidos se describen tanto en este capítulo como en los siguientes de estas notas de publicación.
Por esta misma razón tiene sentido asegurarse de que es capaz de recuperar el sistema en el caso que este no pudiera reiniciarse o, para aquellos sistemas gestionados de forma remota, no pudiera arrancar correctamente la configuración de red.
Si está actualizando de forma remota a través de un enlace con ssh es altamente recomendable que tome las debidas precauciones para poder acceder al servidor a través de un terminal serie remoto. Existe la posibilidad de que tras actualizar el núcleo y reiniciar tenga que arreglar la configuración del sistema a través de una consola remota. Igualmente, es posible que tenga que recuperar con una consola local en caso de que el sistema se reinicie accidentalmente a la mitad de la actualización.
Para recuperaciones de emergencia generalmente recomendamos la utlización del modo de rescate del Instalador de Debian de bullseye. La ventaja en el caso de utilizar el instalador es que podrá encontrar, de entre los distintos métodos de instalación, el más apropiado para su situación. Si desea más información, consulte la sección “Recuperar un sistema roto” en el capítulo octavo de la Guía de instalación y las PUF del Instalador de Debian.
Necesitará un mecanismo alternativo para arrancar su sistema y poder acceder al mismo y repararlo si esto fallara. Una opción es utilizar una imagen especial de rescate o una imagen de instalación «viva» («live CD», N. del T.). Una vez haya arrancado con cualquiera de éstos debería poder montar su sistema de archivos raíz y utilizar chroot para acceder a éste, investigar y solucionar el problema.
El paquete initramfs-tools
incluye
un intérprete de órdenes de depuración[3]
en los «initrds» que genera. Por ejemplo, si el initrd es incapaz de montar
su sistema de archivos raíz Vd. accederá a este sistema de depuración. En
este sistema podrá utilizar algunas órdenes básicas que pueden ayudarle a
trazar el problema y quizás incluso arreglarlo.
Algunas de las cosas básicas a comprobar son: la existencia de los archivos
de dispositivos correctos en /dev
, los módulos cargados
(cat /proc/modules
), y la salida de
dmesg para ver si se producen errores al cargar los
controladores de dispositivos. La salida de dmesg también
muestra qué archivos de dispositivos se han asignado a qué discos, debería
comparar esa información con la salida de echo $ROOT
para
asegurarse que el sistema de archivos está en el dispositivo que esperaba.
En el caso de que arregle el problema puede escribir exit
para salir del entorno de depuración y continuar el proceso de arranque a
partir del punto que falló. Por supuesto, tendrá que arreglar el problema
subyacente y regenerar el «initrd» para que no vuelva a fallar en el
siguiente arranque.
En el caso de que falle el arranque con systemd, aún es posible obtener una
interfaz de línea de órdenes para depuración como «root» cambiando la línea
de órdenes del núcleo. Si el arranque básico funciona, pero algunos
servicios no llegan a iniciarse, puede ser útil añadir a los parámetros del
núcleo la opción systemd.unit=rescue.target
.
En cualquier otro caso, el parámetro del núcleo
systemd.unit=emergency.target
le proporcionará un
intérprete de órdenes como usuario «root» en el primer momento en que sea
posible. Sin embargo, esto se hace antes de que el sistema de archivos raíz
se monte con permisos de lectura y escritura. Puede hacerlo manualmente con:
# mount -o remount,rw /
Puede encontrar más información de la depuración de un sistema de arranque con problemas bajo systemd en el artículo Diagnosticando problemas de arranque.
Importante | |
---|---|
Si está utilizando algún tipo de servicio de VPN (como pueda ser |
Para poder tener un margen de seguridad mayor cuando actualiza de forma remota le sugerimos que realice su proceso de actualización en una consola virtual como la que ofrece el programa screen, lo que permite una reconexión segura y asegura que el proceso de actualización no se interrumpe aunque falle el proceso de conexión remota.
El proceso de actualización descrito en este capítulo ha sido diseñado para sistemas Debian estable “puros”. APT controla qué se instalará en su sistema. Si su configuración de APT menciona fuentes adicionales además de buster o si tiene paquetes instalados de otras versiones o de terceros, debería eliminar estos elementos si quiere asegurarse de tener un proceso de actualización fiable.
El archivo principal de configuración que APT utiliza para decidir desde qué
fuentes debería descargar paquetes es
/etc/apt/sources.list
, pero también puede utilizar
archivos en el directorio
/etc/apt/sources.list.d/
. Para más detalles puede
consultar sources.list(5).
Si su sistema utiliza distintos archivos de fuentes debe asegurarse que son
consistentes.
No se proporciona soporte a las actualizaciones directas de versiones de Debian más antiguas que 10 (buster). Puede mostrar su versión de Debian ejecutando:
$ cat /etc/debian_version
Por favor, siga las instrucciones en las Notas de publicación para Debian 10 para actualizarse primero a Debian 10.
A continuación se muestran dos métodos para encontrar paquetes instalados que no son parte de Debian, utilizando bien el programa aptitude o el programa apt-forktracer. Tenga en cuenta que ninguno de los dos es 100% exacto (p.ej. el ejemplo con aptitude listará paquetes que en algún momento se ofrecieron en Debian pero que ahora no se ofrecen, como los antiguos paquetes del núcleo).
$ aptitude search '?narrow(?installed, ?not(?origin(Debian)))' $ apt-forktracer | sort
El procedimiento aquí descrito supone que su sistema se ha actualizado a la última revisión de buster. Debe seguir las instrucciones descritas en Sección A.1, “Actualizar su sistema buster” si su sistema no está actualizado o no está seguro de que lo esté.
Debería asegurarse que la base de datos de paquetes está lista antes de
proceder con la actualización. Si utiliza algún otro gestor de paquetes como
aptitude
o synaptic
, es necesario que revise si existe
alguna acción pendiente en éstos. El procedimiento de actualización puede
verse afectado negativamente si algún paquete está marcado para eliminarse o
actualizarse. Tenga en cuenta que solo podrá corregir esto si sus archivos
de fuentes APT aún apunta a buster y no a
stable o bullseye, consulte
Sección A.2, “Comprobar su lista de fuentes APT”.
Es una buena idea eliminar los paquetes obsoletos de su sistema antes de actualizar. Estos paquetes pueden introducir complicaciones durante el proceso de actualización, y pueden introducir problemas de seguridad dado que ya no se mantienen.
Una actualización anterior puede haber dejado copias sin utilizar de ficheros de configuración, versiones antiguas de ficheros de configuración, versiones suministradas por los desarrolladores del paquete, etc. Eliminar restos de actualizaciones antiguas puede ayudar a evitar confusiones. Puede encontrar estos restos ejecutando:
# find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
El formato de las líneas de fuentes APT que referencian a los repositorios
de seguridad ha cambiado ligeramente junto con la version de publicación. Se
ha pasado del nombre anterior buster/updates
a
bullseye-security
. Para más información consulte Sección 5.1.2, “Cambio de la organización del archivo de seguridad”.
Antes de actualizar el sistema debería eliminar la sección
proposed-updates
en sus archivos de fuentes de APT si la
tiene listada. Esta medida de precaución reducirá la posibilidad de que se
produzcan conflictos.
Debe tener en cuenta que si tiene paquetes en el sistema que no sean de Debian es posible que estos se eliminen durante la actualización debido a dependencias que entren en conflicto. Si el paquete se instaló después de añadir un repositorio de paquetes extra en sus archivos de fuentes APT debería asegurarse de que ese repositorio también ofrece paquetes compilados para bullseye y cambiar la línea de la fuente al mismo tiempo que cambia otras líneas de las fuentes de los paquetes Debian.
Algunos usuarios tienen versiones “más nuevas” de paquetes que sí están en Debian a través de recompilaciones no oficiales («backports», N. del T.) que están instaladas en su sistema buster. Es muy probable que estos paquetes causen problemas durante la actualización y que den lugar a conflictos de archivos[4]. Puede encontrar más información sobre los conflictos de archivos y su resolución en la sección Sección 4.5, “Posibles problemas durante o después de la actualización”.
Si ha configurado APT para que instale ciertos paquetes de una distribución
distinta de la estable, por ejemplo la distribución “testing”
(“en pruebas”, N. del T.), puede ser que haya cambiado la
configuración de bloqueo (o pinning) de APT (almacenada
en /etc/apt/preferences
y
/etc/apt/preferences.d/
) para permitir que se
actualicen paquetes con versiones más recientes que en la distribución
estable. Puede encontrar más información sobre el bloqueo de APT en apt_preferences(5)."
Independientemente del método que se use para actualizar, se recomienda que compruebe el estado de todos los paquetes primero, y que verifique que todos los paquetes se encuentran en un estado actualizable. La siguiente orden mostrará cualquier paquete que se haya quedado a medio instalar (estado Half-Installed) o en los que haya fallado la configuración (estado Failed-Config), así como los que tengan cualquier estado de error.
# dpkg --audit
También puede inspeccionar el estado de todos los paquetes de su sistema usando aptitude o con órdenes tales como:
# dpkg -l | pager
o
# dpkg --get-selections "*" > ~/curr-pkgs.txt
Es deseable eliminar cualquier paquete retenido (paquete en estado «hold», N. del T.) antes de actualizar. El proceso fallará si un paquete esencial para la actualización está bloqueado.
Tenga en cuenta que aptitude utiliza un método para registrar los paquetes retenidos distinto del que utilizan apt y dselect. Puede utilizar la siguiente orden para identificar los paquetes que están retenidos en aptitude:
# aptitude search "~ahold"
Si quiere comprobar los paquetes que tiene retenidos con apt debería utilizar:
# dpkg --get-selections | grep 'hold$'
Si ha cambiado y recompilado un paquete de forma local, y no le ha cambiado el nombre o marcado con una época («epoch», N. del T.) en la versión, debería retenerlo (ponerlo en hold) para evitar que se actualice.
Se puede cambiar el estado de un paquete retenido (“hold”) para que lo tengan en cuenta apt con la siguiente orden:
# echo nombre_del_paquete
hold | dpkg --set-selections
Cambie hold
por install
para borrar la
marca del paquete y que este deje de estar retenido.
Si hay algo que debe arreglar es mejor que se asegure de que sus archivos de fuentes APT aún incluyen referencias a buster tal y como se explica en Sección A.2, “Comprobar su lista de fuentes APT”.
Antes de comenzar la actualización, debe reconfigurar las listas de fuentes
de APT (/etc/apt/sources.list
y los archivos bajo
/etc/apt/sources.list.d/
) para añadir las fuentes de
bullseye
y habitualmente para eliminar las fuentes
de buster
.
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 que
aparezcan primero. En el caso de utilizar distintos repositorios de
paquetes, habitualmente se indicará primero el disco duro local, luego los
CD-ROM, y por último las réplicas remotas.
Una versión se puede designar tanto por su nombre en clave (por ejemplo
buster
, bullseye
) como
por su nombre de estado (esto es, oldstable
,
stable
, testing
,
unstable
). Referirse a la distribución por su nombre en
clave tiene la ventaja de que nunca se sorprenderá si se produce una nueva
versión y por esa razón es el caso que aquí se describe. Esto significa que
va a tener que estar atento a los anuncios de nuevas versiones. Sin embargo,
si utiliza el nombre del estado verá un número muy elevado de
actualizaciones de paquetes en el mismo momento en el que la publicación de
una nueva versión se haya realizado.
Debian ofrece dos listas de distribución de avisos que le permitirán mantenerse al día de la información relevante relacionada con las publicaciones de Debian:
Si se suscribe a la
lista de distribución de avisos de Debian, recibirá una notificación
cada vez que se publique una nueva versión en Debian. Como por ejemplo
cuando bullseye
cambie de ser, p.ej.,
testing
a stable
.
Si se subscribe a la lista de distribución de avisos de seguridad de Debian, recibirá una notificación cada vez que Debian publique un aviso de seguridad.
La configuración por omisión en las nuevas instalaciones es que APT utilice el servicio APT CDN de Debian, que debería asegurarse que los paquetes se descargan automáticamente del servidor más cercano desde el punto de vista de red. Al ser un servicio relativamente nuevo, las instalaciones más antiguas pueden tener una configuración que aún diriga a los servidores principales en Internet de Debian o a una de las réplicas. Se le recomienda que cambie su configuración para utilizar el servicio CDN en su configuración de APT si no lo ha hecho aún.
Para utilizar el servicio CDN, añada una línea como ésta a su configuración
de APT (se presupone que está utilizando main
y
contrib
):
deb http://deb.debian.org/debian bullseye main contrib
Tras añadir sus nuevas fuentes, desactive las líneas
“deb
”, colocando el símbolo de sostenido
(#
) delante de ellas.
Sin embargo, si obtiene mejores resultados utilizando una réplica específica que es cerca a su ubicación, esta opción aún sigue estando disponible.
Encontrará la lista de direcciones de las réplicas de Debian en https://www.debian.org/distrib/ftplist (busque en la sección “Lista de completa de sitios de réplica”).
Por ejemplo, suponga que su réplica más cercana es
http://mirrors.kernel.org/
. Si observa su contenido mediante
un navegador web, comprobará que los directorios principales están
organizados así:
http://mirrors.kernel.org/debian/dists/bullseye/main/binary-s390x/... http://mirrors.kernel.org/debian/dists/bullseye/contrib/binary-s390x/...
Para configurar APT para utilizar una réplica específica, añada una línea
como la siguiente (de nuevo, se presupone que está utilizando
main
y contrib
):
deb http://mirrors.kernel.org/debian bullseye main contrib
Fíjese que “dists
” se añade de forma
implícita, y los parámetros tras el nombre de la versión se usan para
expandir la ruta a varios directorios.
De nuevo, una vez añada las nuevas fuentes, deshabilite las entradas de archivo que tuviera previamente.
En lugar de utilizar réplicas de paquetes remotos, puede que desee modificar el archivo de fuentes de APT para usar una réplica existente en su disco local (posiblemente montada mediante NFS).
Por ejemplo, su réplica de paquetes puede encontrarse en
/var/local/debian/
, y tener directorios como estos:
/var/local/debian/dists/bullseye/main/binary-s390x/... /var/local/debian/dists/bullseye/contrib/binary-s390x/...
Para usar esta ubicación con apt
debe añadir esta línea a su archivo sources.list
:
deb file:/var/local/debian bullseye main contrib
Fíjese que “dists
” se añade de forma
implícita, y los parámetros tras el nombre de la versión se usan para
expandir la ruta a varios directorios.
Tras añadir sus nuevas fuentes, desactive las líneas
“deb
” que había en los archivos de lista de
fuentes de APT, colocando el símbolo de sostenido (#
)
delante de ellas.
Si quiere utilizar solamente DVDs (o CDs, o discos
Blu-ray), comente todas las líneas en los archivos de lista fuentes de APT
colocando delante de ellas un símbolo de sostenido (#
).
Asegúrese de que existe una línea en /etc/fstab
que
permita montar la unidad lectora de CD-ROMs en el punto de montaje
/media/cdrom
. Por ejemplo, si su lector de CD-ROM se
encuentra en /dev/sr0
, el archivo de configuración
/etc/fstab
debería incluir una línea similar a la
siguiente:
/dev/sr0 /media/cdrom auto noauto,ro 0 0
Fíjese que no debe haber espacios entre las palabras
noauto,ro
en el cuarto campo.
Para verificar que esto funciona, inserte un CD e intente ejecutar
# mount /media/cdrom # esto montará el CD en el punto de montaje # ls -alF /media/cdrom # esto debería mostrar el directorio raíz del CD # umount /media/cdrom # esto desmontará el CD
Después, ejecute:
# apt-cdrom add
para añadir los datos a la base de datos de APT. Repita esta operación para cada CD-ROM de binarios de Debian que tenga.
El método recomendado para actualizar de las versiones anteriores de Debian es utilizar la herramienta de gestión de paquetes apt.
Nota | |
---|---|
El programa apt está preparado para un uso interactivo, y no debería utilizarse en guiones. En guiones deberiá utilizar el programa apt-get, puesto que este último tiene una salida estable que está mucho más preparada para ser procesada. |
No olvide montar todas las particiones que necesite (en particular la raíz y
/usr
) en modo lectura y escritura, con una orden como:
# mount -o remount,rw /punto_de_montaje
A continuación asegúrese de que las entradas con las fuentes de APT (en el
archivo /etc/apt/sources.list
y los archivos bajo
/etc/apt/sources.list.d/
) hacen referencia a la
distribución “bullseye
” o a estable
(“stable
”). No debería haber ninguna entrada
que haga referencia a “buster
”.
Nota | |
---|---|
Las líneas de fuentes de un CD-ROM pueden hacen referencia a inestable
(“ |
Se recomienda encarecidamente que utilice el programa /usr/bin/script para guardar una transcripción de la sesión de actualización. Así, si ocurre algún problema, tendrá un registro de lo que ha sucedido y, si fuera necesario, podrá proporcionar la información detallada cuando envíe un informe de fallo. Para iniciar la transcripción, teclee:
# script -t 2>~/actualiza-a-bullseyepaso
.time -a ~/actualiza-a-bullseyepaso
.script
o similar. Si tiene que volver a ejecutar la transcripción (por ejemplo, si
ha reiniciado el sistema) debería utilizar distintos valores de
paso
para indicar el paso de la actualización que
se está transcribiendo. No ponga el archivo de transcripción en un
directorio temporal como /tmp
o
/var/tmp
(los archivos que hay en esos directorios se
pueden borrar durante la actualización o durante el reinicio del sistema).
La transcripción también le permitirá revisar la información que se haya
salido fuera de la pantalla. Simplemente acceda al terminal VT2 (utilizando
Alt+F2)
y, después de acceder al sistema, utilice less -R
~root/actualiza-a-bullseye.script
para leer el archivo.
Después de completar la actualización puede terminar con la transcripción de
script escribiendo exit
en el
indicador de línea de órdenes.
apt también registra los cambios de estado de los
paquetes en /var/log/apt/history.log
y en la salida de
terminal en
/var/log/apt/term.log
. dpkg
realizará, adicionalmente, un registro de todos los cambios de estado de los
paquetes en /var/log/dpkg.log
. Si utiliza
aptitude, también dispondrá de un registro de los cambios
de estado en /var/log/aptitude
.
Si ha utilizado la opción -t para script puede utilizar el programa scriptreplay para reproducir la sesión completa:
# scripreplay ~/actualiza-a-bullseyepaso
.time ~/actualiza-a-bullseyepaso
.script
En primer lugar, tiene que descargar la lista con los paquetes disponibles para la nueva versión. Logrará esto si ejecuta:
# apt update
Nota | |
---|---|
Los usuarios de apt-secure pueden tener ciertos problemas cuando utilicen aptitude o apt-get. Para apt-get, puede utilizar la orden apt-get update --allow-releaseinfo-change. |
Antes de actualizar su sistema tiene que asegurarse de que tendrá suficiente
espacio libre en su disco duro para poder seguir las instrucciones de una
actualización completa del sistema que se describen en Sección 4.4.5, “Actualizar el sistema”. En primer lugar, cualquier paquete que sea
necesario para la instalación se descargará y se almacenará en
/var/cache/apt/archives
(y en el subdirectorio
partial/
, mientras se está descargando), por lo que
necesitará suficiente espacio libre en la partición donde se encuentre
/var/
para poder descargar temporalmente los paquetes
que se instalarán en su sistema. Después de la descarga, probablemente
necesitará más espacio en las otras particiones de sistemas de ficheros para
poder instalar tanto las actualizaciones de los paquetes (que podrían
contener archivos binarios más grandes o más datos) como los nuevos paquetes
que se necesiten en la actualización. Si su sistema no tiene suficiente
espacio podría terminar con una actualización incompleta de la cual es
difícil recuperarse.
La orden apt le puede mostrar información detallada del espacio libre necesario para la instalación. Puede consultar esa estimación, antes de proceder con la actualización, si ejecuta:
# apt -o APT::Get::Trivial-Only=true full-upgrade [...] XXX actualizados, XXX se instalará, XXX para eliminar y XXX no actualizados. Se necesita descargar xx.xxMB de archivos. Se utilizarán AAAMB de espacio de disco adicional después de esta operación.
Nota | |
---|---|
Puede que la ejecución de esta orden al principio del proceso de actualización genere un error, por las razones descritas en las siguientes secciones. En ese caso tiene que esperar para ejecutar esta orden hasta haber realizado una actualización mínima del sistema tal y como se describe en Sección 4.4.4, “Actualización mínima del sistema” antes de ejecutar esta orden para poder estimar el espacio de disco necesario. |
Si no tiene espacio suficiente para la actualización, apt le avisará con un mensaje como este:
E: No tiene suficiente espacio libre en /var/cache/apt/archives/.
Si no tiene espacio suficiente para la actualización, asegúrese de hacer sitio antes de proceder. Puede hacer lo siguiente:
Elimine aquellos paquetes que se han descargado previamente para su
instalación (en /var/cache/apt/archive
). Puede utilizar
la orden apt clean para borrar todos los archivos de
paquetes previamente descargados.
Eliminar paquetes olvidados. Si ha utilizado aptitude o apt para instalar manualmente paquetes de buster, la herramienta hará un seguimiento de los paquetes que haya instalado y podrá marcar como redundantes aquellos paquetes que se obtuvieron solo para cumplir las dependencias pero que ya no se necesitan porque el paquete que los necesitaba se ha eliminado. No se marcarán como obsoletos aquellos paquetes que haya instalado manualmente. Pero si lo hará para aquellos paquetes que se instalaron automáticamente para cumplir dependencias. Para eliminar automáticamente los paquetes instalados que no se necesitan puede ejecutar lo siguiente:
# apt-get autoremove
También puede utilizar para encontrar paquetes redundantes deborphan, debfoster o cruft. No elimine a ciegas los paquetes que le indiquen estas herramientas, especialmente si utiliza opciones agresivas, distintas a las definidas por omisión, que pueden dar lugar a muchos falsos positivos. Se le recomienda encarecidamente que revise los paquetes que éstas le sugieren eliminar (esto es: sus contenidos, su tamaño y descripción) antes de eliminarlos
Elimine paquetes que consumen mucho espacio y que no necesita actualmente
(siempre puede instalarlos después de la actualización). Puede utilizar la
orden popcon-largest-unused para listar los paquetes que
no utiliza que consumen más espacio si tiene instalado popularity-contest
. Puede encontrar los paquetes
que consumen más espacio con dpigs (disponible en el
paquete debian-goodies
) o con
wajig (ejecutando wajig size
). También
puede encontrarlos con aptitude
. Ejecute aptitude en
el modo de terminal completo, seleccione y
, pulse la tecla
l e introduzca ~i
, a continuación pulse
la tecla S e introduzca
~installsize
. Una vez hecho esto, dispondrá de una lista
de paquetes sobre la que puede trabajar.
Puede eliminar las traducciones y los archivos de localización del sistema
si no los necesita. Para ello puede instalar el paquete localepurge
, configurándolo para que solo se
mantengan en el sistema algunas localizaciones específicas. Esto reducirá el
espacio de disco consumido en /usr/share/locale
.
Mueva de forma temporal a otro sistema o elimínelos de forma permanente, los
registros del sistema que residen en /var/log/
.
Utilice una ubicación temporal para
/var/cache/apt/archives
: puede utilizar una caché
temporal en otro sistema de archivos (USB, dispositivo de
almacenamiento, espacio en disco duro temporal, sistema de ficheros en uso,
etc. ).
Nota | |
---|---|
No utilice un sistema montado a través de NFS dado que la conexión de red podría interrumpirse durante la actualización. |
Por ejemplo, si tiene una unidad USB montada en
/media/usbkey
:
elimine los paquetes que se han descargado previamente para la instalación
# apt clean
copie los contenidos de /var/cache/apt/archives
a la
unidad USB:
# cp -ax /var/cache/apt/archives /media/usbkey/
monte el directorio de caché temporal sobre el actual:
# mount --bind /media/usbkey/archives /var/cache/apt/archives
después de la actualización, restaure el directorio original
/var/cache/apt/archives
# umount /var/cache/apt/archives
elimine el directorio /media/usbkey/archives
.
Puede crear una directorio de caché temporal en cualquier sistema de archivos montado en su sistema.
Realice un actualización mínima del sistema (consulte Sección 4.4.4, “Actualización mínima del sistema”) o una actualización parcial seguida de una actualización completa del sistema. Esto le permitirá actualizar el sistema parcialmente, lo que le permitirá limpiar la caché de paquetes antes de la actualización completa.
Tenga en cuenta que para poder eliminar los paquetes con seguridad debería
cambiar su sources.list
a buster como se
describe en Sección A.2, “Comprobar su lista de fuentes APT”.
Importante | |
---|---|
If you are upgrading remotely, be aware of Sección 5.1.22, “No new SSH connections possible during upgrade”. |
En algunos casos, la realización directamente de una actualización completa (como se describe más abajo) podría tener como consecuencia la eliminación de un buen número de paquetes que quiere conservar. Le recomendamos por tanto un proceso de actualización en dos pasos. En primer lugar, una actualización mínima para resolver estos conflictos, seguido de una actualización completa como se describe en Sección 4.4.5, “Actualizar el sistema”.
Para hacer esto, ejecute primero lo siguiente:
# apt upgrade --without-new-pkgs
Esto tiene como consecuencia que se actualicen los paquetes que se puedan actualizar en el sistema sin que sea necesario eliminar ni instalar ningún otro paquete.
La actualización mínima del sistema también puede ser útil cuando hay poco espacio libre disponible en el sistema y no puede ejecutarse la actualización completa debido a problemas de espacio.
Si está instalado el paquete apt-listchanges
, mostrará (en su configuración
por omisión) información importante sobre los paquetes actualizados en un
paginador después de descargar los paquetes. Pulse q
después de leer esta información para salir del paginador y continuar con la
actualización.
Una vez haya realizado los pasos anteriores, estará en condiciones de seguir con la parte principal de la actualización. Ejecute:
# apt full-upgrade
Se realizará una actualización completa del sistema, esto es, se instalarán las versiones más recientes de los paquetes y se resolverán todos los posibles cambios de dependencias entre los paquetes de diferentes versiones. Si fuera necesario, se instalarán nuevos paquetes (normalmente, nuevas versiones de las bibliotecas o paquetes que han cambiado de nombre), y se eliminarán los paquetes obsoletos conflictivos.
Cuando esté actualizando desde un conjunto de CDs/DVDs/BDs, probablemente se le pedirá que inserte algunos discos específicos en distintos momentos durante la actualización. Puede que tenga que insertar el mismo disco varias veces; esto se debe a que algunos paquetes interrelacionados pueden estar dispersos en distintos discos.
Las versiones nuevas de los paquetes ya instalados que no se puedan
actualizar sin cambiar el estado de la instalación de otro paquete se
dejarán en su versión actual (en cuyo caso se mostrarán como «held back», es
decir, «retenidos»). Se puede resolver esta incidencia usando
aptitude para elegir esos paquetes para que se instalen,
o intentando ejecutar apt install
.
paquete
Las siguientes secciones describen problemas conocidos que pueden aparecer durante la actualización a bullseye.
En algunos casos el paso apt full-upgrade puede fallar después de descargar los paquetes con el siguiente error:
E: No se pudo realizar la configuración inmediata de «paquete
». Consulte la página de manual con «man 5 apt.conf» bajo «APT::Immediate-Configure» para más información.
Si esto sucede, debería ejecutar la orden apt full-upgrade -o APT::Immediate-Configure=0, que permitirá continuar con la actualización.
Otra posible alternativa para evitar este problema es añadir temporalmente fuentes tanto de buster como de bullseye en los archivos de las fuentes APT y ejecutar apt update.
El proceso de actualización a bullseye puede solicitar la eliminación de paquetes en el sistema. La lista exacta de paquetes dependerá del conjunto de paquetes que tenga instalado. Estas notas de publicación proporcionan recomendaciones generales sobre estas eliminaciones pero, si tiene dudas, se recomienda que revise los paquetes que se van a eliminar propuestos por cada método antes de continuar. Encontrará más información de los paquetes obsoletos en bullseye en Sección 4.8, “Paquetes obsoletos”.
Algunas veces es necesario activar la opción
APT::Force-LoopBreak
en APT para permitir el borrado
temporal de un paquete esencial debido a un bucle de Conflictos y
Dependencias previas. apt le alertará de esta situación y
abortará la actualización. Puede resolver 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 del sistema esté tan dañada que precise de intervención manual. Normalmente, esto implica usar apt o
# dpkg --remove nombre_de_paquete
para eliminar algunos de los paquete problemáticos, o
# apt -f install # dpkg --configure --pending
En casos extremos, puede que necesite forzar la reinstalación con una orden como:
# dpkg --install /ruta/al/nombre_de_paquete.deb
No deberían producirse conflictos entre archivos si actualiza de un sistema buster “puro”, pero sí pueden producirse si ha instalado versiones nuevas no oficiales («backports», N. del T.). Si se produce un conflicto entre archivos se mostrará con un error similar al siguiente:
Desempaquetando<paquete-foo>
(de<paquete-foo-fichero>
) ... dpkg: error al procesar<paquete-foo>
(--install): intentando sobreescribir `<algún-nombre-fichero>
', que está también en el paquete<paquete-bar>
dpkg-deb: subprocess paste killed by signal (Broken pipe) Se encontraron errores al procesar:<paquete-foo>
Puede intentar resolver los conflictos entre archivos forzando a que se elimine el paquete mencionado en la última línea del mensaje de error:
# dpkg -r --force-depends nombre_de_paquete
Debería poder continuar la instalación donde la dejó tras corregir el
problema repitiendo las órdenes de apt
descritas
previamente.
Se le harán preguntas sobre la configuración o reconfiguración de diversos
paquetes durante la actualización. Cuando se le pregunte si debería
reemplazarse algún archivo en el directorio
/etc/init.d
, o el archivo
/etc/manpath.config
con la versión que propone el
mantenedor del paquete, normalmente deberá responder “sí” para
asegurar la consistencia del sistema. Siempre puede volver más tarde a las
versiones antiguas, ya que quedan guardadas con la extensión
.dpkg-old
.
Si no está seguro de lo que debe hacer, anote el nombre del paquete o archivo, y revise la situación más adelante. Recuerde que podrá buscar en el archivo de transcripción de la instalación y revisar la información que apareció en pantalla durante la actualización.
Si está Vd. ejecutando el proceso de actualización utilizando la consola local del sistema es posible que en algunos momentos durante la actualización se cambie la consola a una vista distinta y deje de ver el proceso de actualización. Esto puede suceder, por ejemplo, en sistemas con inerfaz gráfica cuando se reinicia el gestor de escritorios.
Para recuperar la consola donde se estaba realizando la actualización tendrá que utilizar la combinación de teclas Ctrl+Alt+F1 (si está en la pantalla de arranque gráfico) o Alt+F1 (si está en la consola de modo texto) para volver al terminal virtual 1. Reemplace F1 por la tecla de función que tenga el mismo número que el terminal virtual donde se estaba realizando la actualización. También puede utilizar la combinación Alt+Flecha Izquierda o Alt+Flecha Derecha para conmutar entre los distintos terminales de modo texto.
Esta sección explica cómo actualizar su núcleo e identifica los posibles
problemas que pueden darse con relación a esta actualización. Puede o bien
instalar uno de los paquetes linux-image-*
que ofrece Debian o compilar un
núcleo personalizado desde el código fuente del mismo.
Tenga en cuenta que gran parte de la información de esta sección se basa en
la suposición de que está utilizando uno de los núcleos modulares de Debian,
conjuntamente con initramfs-tools
y
udev
. Parte de la información aquí
presentada puede no ser relevante para usted si utiliza un núcleo a medida
que no necesita un initrd o si utiliza un generador de initrd distinto.
Cuando realice «full-upgrade» desde buster a bullseye, le recomendamos encarecidamente que instale uno de los nuevos metapaquetes «linux-image-*» si aún no lo ha hecho. Estos metapaquetes instalarán de forma automática una nueva versión del núcleo durante una actualización. Puede verificar si tiene uno ya instalado con la siguiente orden:
# dpkg -l "linux-image*" | grep ^ii | grep -i meta
Si no observa ningún mensaje, entonces necesitará instalar un nuevo paquete «linux-image» a mano o instalar un metapaquete «linux-image». Para ver una lista de los metapaquetes «linux-image» disponibles, ejecute:
# apt-cache search linux-image- | grep -i meta | grep -v transition
Si no está seguro de qué paquete instalar, ejecute la orden uname
-r
y busque un paquete con un nombre similar. Por ejemplo, si ve
“4.9.0-8-amd64
”, le recomendamos que instale
linux-image-amd64
. También puede
utilizar apt-cache para ver una descripción más larga de
cada uno de los paquetes para así ayudarle a realizar una mejor elección de
entre los que hay disponibles. Por ejemplo:
# apt show linux-image-amd64
Luego debería usar apt install
para instalarlo. Debería
reiniciar en cuanto le sea posible una vez que haya instalado el núcleo
nuevo para empezar a beneficiarse de las características que proporciona la
nueva versión del núcleo. Sin embargo, debe leer primero Sección 5.1.24, “Cosas a hacer después de la actualización y antes de reiniciar” antes de hacer el primer reinicio tras una
actualización.
Para los más aventureros, hay una forma fácil para compilar su propio núcleo
a medida en Debian. Instale las fuentes del núcleo, que se incluyen en el
paquete linux-source
. Puede utilizar
el objetivo deb-pkg
disponible en el fichero Makefile de
los paquetes fuentes utilizados para construir un paquete binario. Puede
encontrar más información en el Debian Linux
Kernel Handbook, que también está disponible en el paquete
debian-kernel-handbook
."
Siempre que sea posible, es mejor para usted si actualiza el paquete del
núcleo de forma independiente a la actualización principal con
full-ugprade
, para así reducir las posibilidades de tener
durante un cierto periodo de tiempo un sistema que no se puede
iniciar. Tenga en cuenta que solo debería hacer esto después de haber
realizado el proceso de actualización mínima del sistema que se describe en
Sección 4.4.4, “Actualización mínima del sistema”.
Una vez hecha la actualización hay ciertas cosas que puede hacer para prepararse para la siguiente versión de la distribución.
Elimine los paquetes redundantes y obsoletos tal y como se describe en Sección 4.8, “Paquetes obsoletos”. Debería revisar qué archivos de configuración utilizan y considerar como opción purgarlos para eliminar sus archivos de configuración. También puede consultar la sección Sección 4.7.1, “Purgando los paquetes eliminados”.
En general es recomendable purgar los paquetes eliminados. Esto es particularmente necesario si se han eliminado en una actualización anterior (p.ej. por la actualización a buster) o eran parte de paquetes de terceros. Se han dado muchos casos en los que los programas de init.d antiguos han causado problemas.
Atención | |
---|---|
En general, al purgar un paquete también se purgarán sus ficheros de registro. Por lo que puede ser recomendable hacer una copia de seguridad de éstos antes de hacerlo. |
La siguiente orden mostrará una lista de todos los paquetes eliminados que puedan haber dejado ficheros de configuración en el sistema (si los hay):
# dpkg -l | awk '/^rc/ { print $2 }'
Los paquetes puede eliminarse utilizando apt purge. Si lo que quiere es eliminarlos todos de un solo golpe, puede utilizar la siguiente orden:
# apt purge $(dpkg -l | awk '/^rc/ { print $2 }')
Si utiliza aptitude
, también puede
utilizar las siguientes órdenes de forma alternativa a las listadas antes:
# aptitude search '~c' # aptitude purge '~c'
La versión bullseye, aunque introduce muchos paquetes nuevos, también retira o deja de distribuir algunos paquetes que estaban disponibles en buster. No existe un mecanismo de actualización para estos paquetes obsoletos. Aunque nada le impide que siga usando paquetes obsoletos si así lo desea, el proyecto Debian deja de dar soporte de seguridad para éstos un año después de la publicación de bullseye[5] y no se ofrecerá otro tipo de soporte durante este tiempo. Lo recomendable es reemplazar dichos paquetes con las alternativas disponibles, si es que existen.
Hay muchas razones por las que un paquete puede haberse eliminado de la distribución, a saber: no hay mantenimiento por parte de los desarrolladores originales, no hay ningún desarrollador en Debian que esté interesado en mantener los paquetes, la funcionalidad que ofrecen la ofrece ahora otros programas (o una nueva versión), o ya no se consideran aptos para distribuirse en bullseye debido a los errores que presentan. En este último caso los paquetes puede que sigan estando presentes en la distribución “inestable”.
Algunos interfaces de gestión de paquetes ofrecen una forma fácil para encontrar los paquetes instalados que ya no están disponibles en ningún repositorio conocido. El interfaz de texto de aptitude los lista dentro de la categoría “Paquetes obsoletos y creados locamente”, y pueden listarse y purgarse desde la línea de órdenes con:
# aptitude search '~o' # aptitude purge '~o'
A menudo podrá encontrar más información de por qué un paquete fue eliminado en el Sistema de seguimiento de fallos de Debian. Debería consultar tanto los informes de fallos del propio paquete como los informes de fallos archivados del pseudo-paquete ftp.debian.org.
Puede consultar una lista de los paquetes obsoletos de Bullseye en Sección 5.3.1, “Paquetes obsoletos notables”.
Algunos de los paquetes de buster pueden haber sido reemplazados por paquetes «dummy» de transición, que son paquetes vacíos diseñados simplemente para facilitar la actualización. Por ejemplo, si una aplicación que antes estaba en un paquete se ha dividido en varios, puede proporcionarse un paquete de transición con el mismo nombre que el paquete antiguo y con las dependencias adeucadas para que se instalen los nuevos paquetes. Después de haber realizado ésto el paquete «dummy» es redundante y puede borrarse sin consecuencias.
La mayoría (pero no todas) de las descripciones de los paquetes «dummy»
indican su propósito. Sin embargo, las descripciones de estos paquetes no
son uniformes, en particular algunos paquetes «dummy» no están pensados para
ser eliminados después de una actualización sino que se utilizan para poder
seguir a lo largo del tiempo la versión más reciente de un programa. Puede
que encuentre útil utilizar deborphan con las opciones
--guess-
(p.ej. *
--guess-dummy
) para detectar los que están
instalados en su sistema.
[1] Si la prioridad de debconf se fija al valor «muy alto» no se le realizarán preguntas de configuración, pero los servicios que dependen de las respuestas por omisión pueden no arrancar si las respuestas por omisión no aplican a su sistema.
[2] Por ejemplo: servicios DNS o DHCP, especialmente si no existe ninguna redundancia o mecanismo de alta disponibilidad. En el caso de DHCP los usuarios pueden quedarse desconectados de la red si el tiempo de mantenimiento de las direcciones es inferior al tiempo que tarda el proceso de actualización en completarse.
[3] Esta funcionalidad puede deshabilitarse si añade el parámetro
panic=0
dentro de los parámetros del arranque.
[4] El sistema de gestión de paquetes no permite por regla general que un paquete elimine o reemplace un archivo que pertenezca a otro paquete a menos que se haya indicado que el nuevo paquete reemplaza al antiguo.
[5] O hasta que se publique una nueva versión en ese tiempo. Habitualmente solo se da soporte a dos versiones estables en un momento determinado.