4. Actualizaciones desde Debian 12 (bookworm)
4.1. Prepararse para la actualización
We suggest that before upgrading you also read the information in Issues to be aware of for trixie. That chapter covers potential issues which are not directly related to the upgrade process but could still be important to know about before you begin.
4.1.1. Haga copias de seguridad de sus datos e información de configuración
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.
The main things you'll want to back up are the contents of /etc
,
/var/lib/dpkg
, /var/lib/apt/extended_states
and the output of:
$ dpkg --get-selections '*' # (the quotes are important)
If you use aptitude
to manage packages on your system, you will also
want to back up /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.
4.1.2. Informar a los usuarios anticipadamente
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 trixie, por lo que será necesario reiniciar el sistema. Esto se realizará habitualmente una vez la actualización haya terminado.
4.1.3. Prepararse para la indisponibilidad de servicios
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.
If the system being upgraded provides critical services for your users or the network [2], you can reduce the downtime if you do a minimal system upgrade, as described in Minimal system upgrade, followed by a kernel upgrade and reboot, and then upgrade the packages associated with your critical services. Upgrade these packages prior to doing the full upgrade described in Upgrading the system. This way you can ensure that these critical services are running and available through the full upgrade process, and their downtime is reduced.
4.1.4. Prepararse para la recuperación
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.
For emergency recovery we generally recommend using the rescue mode of the trixie Debian Installer. The advantage of using the installer is that you can choose between its many methods to find one that best suits your situation. For more information, please consult the section "Recovering a Broken System" in chapter 8 of the Installation Guide (at https://iwawocd.cewmufwd.tk/releases/trixie/installmanual) and the Debian Installer FAQ.
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.
4.1.4.1. Intérprete de línea de órdenes de depuración durante el arranque con initrd
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.
4.1.4.2. Intérprete de línea de órdenes de depuración durante el arranque con systemd
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 /
Another approach is to enable the systemd "early debug shell" via the
debug-shell.service
. On the next boot this service opens a root
login shell on tty9 very early in the boot process. It can be enabled
with the kernel boot parameter systemd.debug-shell=1
, or made
persistent with systemctl enable debug-shell
(in which case it
should be disabled again when debugging is completed).
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.
4.1.5. Preparar un entorno seguro para la actualización
Importante
If you are using some VPN services (such as tinc) consider that they might not be available throughout the upgrade process. Please see Prepare for downtime on services.
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.
Los usuarios del demonio watchdog daemon que ofrece el paquete micro-evtd deberían parar el demonio y deshabilitar el temporizador antes de la actualización, para evitar un reinicio espúreo a mitad del proceso de actualización.
# service micro-evtd stop
# /usr/sbin/microapl -a system_set_watchdog off
4.2. Comenzar de un Debian "puro"
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 bookworm 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.
4.2.1. Actualización a Debian 12 (bookworm)
No se proporciona soporte a las actualizaciones directas de versiones de Debian más antiguas que 12 (bookworm). 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 (https://iwawocd.cewmufwd.tk/releases/bookworm/releasenotes) para actualizarse primero a Debian 12.
4.2.2. Actualización a la siguiente subversión publicada
El procedimiento aquí descrito supone que su sistema se ha actualizado a la última revisión de bookworm. Debe seguir las instrucciones descritas en Actualizar su sistema bookworm si su sistema no está actualizado o no está seguro de que lo esté.
4.2.3. Debian Backports
Debian Backports allows users of Debian stable to run more up-to-date versions of packages (with some tradeoffs in testing and security support). The Debian Backports Team maintains a subset of packages from the next Debian release, adjusted and recompiled for usage on the current Debian stable release.
Packages from bookworm-backports have version numbers lower than the version in trixie, so they should upgrade normally to trixie in the same way as "pure" bookworm packages during the distribution upgrade. While there are no known potential issues, the upgrade paths from backports are less tested, and correspondingly incur more risk.
Prudencia
While regular Debian Backports are supported, there is no clean upgrade path from sloppy backports (which use APT source-list entries referencing bookworm-backports-sloppy).
As with Unofficial sources, users are advised to remove "bookworm-backports" entries from their APT source-list files before the upgrade. After it is completed, they may consider adding "trixie-backports" (see https://backports.debian.org/Instructions/).
For more information, consult the Backports Wiki page.
4.2.4. Preparar la base de datos de paquetes
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 "bookworm" y no a "stable" o "trixie", consulte Comprobar su lista de fuentes APT.
4.2.5. Eliminar paquetes obsoletos
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.
4.2.6. Eliminar paquetes que no son de Debian
Below there are two methods for finding installed packages that did not
come from Debian, using either apt
or apt-forktracer
. Please
note that neither of them are 100% accurate (e.g. the apt example will
list packages that were once provided by Debian but no longer are, such
as old kernel packages).
$ apt list '?narrow(?installed, ?not(?origin(Debian)))'
$ apt-forktracer | sort
4.2.7. Limpieza de restos de archivos de configuración
A previous upgrade may have left unused copies of configuration files; old versions of configuration files, versions supplied by the package maintainers, etc. Removing leftover files from previous upgrades can avoid confusion. Find such leftover files with:
# find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
4.2.8. The non-free and non-free-firmware components
If you have non-free firmware installed it is recommended to add
non-free-firmware
to your APT sources-list. For details see
Archive areas and Non-free firmware moved to its own component in the archive.
4.2.9. La sección proposed-updates
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.
4.2.10. Fuentes no oficiales
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 trixie y cambiar la línea de la fuente al mismo tiempo que cambia otras líneas de las fuentes de los paquetes Debian.
Some users may have unofficial backported "newer" versions of packages that are in Debian installed on their bookworm system. Such packages are most likely to cause problems during an upgrade as they may result in file conflicts [4]. Possible issues during upgrade has some information on how to deal with file conflicts if they should occur.
4.2.11. Desactivar el bloqueo de APT
If you have configured APT to install certain packages from a
distribution other than stable (e.g. from testing), you may have to
change your APT pinning configuration (stored in
/etc/apt/preferences
and /etc/apt/preferences.d/
) to allow the
upgrade of packages to the versions in the new stable release. Further
information on APT pinning can be found in
apt_preferences(5).
4.2.12. Check gpgv is installed
APT needs gpgv version 2 or greater to verify the keys used to sign releases of trixie. Since gpgv1 technically satisfies the dependency but is useful only in specialized circumstances, users may wish to ensure the correct version is installed with:
# apt install gpgv
4.2.13. Verificar el estado de los paquetes
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
Alternatively you can also use apt
.
# apt list --installed > ~/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.
$ apt-mark showhold
If you changed and recompiled a package locally, and didn't rename it or put an epoch in the version, you must put it on hold to prevent it from being upgraded.
Se puede cambiar el estado de un paquete retenido ("hold") para que lo tengan en cuenta apt
con la siguiente orden:
# apt-mark hold package_name
Cambie hold
por unhold
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 bookworm tal y como se explica en Comprobar su lista de fuentes APT.
4.3. Preparar las fuentes de orígenes para 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 trixie y habitualmente para eliminar las fuentes de bookworm.
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 "bookworm", "trixie") 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 "trixie" 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.
4.3.1. Añadir fuentes en Internet para APT
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 https://deb.debian.org/debian trixie 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://iwawocd.cewmufwd.tk/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/trixie/main/... http://mirrors.kernel.org/debian/dists/trixie/contrib/...
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 trixie 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.
4.3.2. Añadir las réplicas locales para APT
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/trixie/main/... /var/local/debian/dists/trixie/contrib/...
Para usar esta ubicación con apt debe añadir esta línea a su archivo sources.list
:
deb file:/var/local/debian trixie 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.
4.3.3. Añadir fuentes para APT de medios ópticos
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 # this will mount the CD to the mount point
# ls -alF /media/cdrom # this should show the CD's root directory
# umount /media/cdrom # this will unmount the 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.
4.4. Actualizar los paquetes
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 /mountpoint
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 "trixie" o a estable ("stable"). No debería haber ninguna entrada que haga referencia a bookworm.
Nota
Las líneas de fuentes de un CD-ROM pueden hacen referencia a inestable ("unstable
"), aunque esto le parezca confuso no debería cambiarlo.
4.4.1. Grabar la sesión
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>~/upgrade-trixie-step.time -a ~/upgrade-trixie-step.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 step 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).
The typescript will also allow you to review information that has
scrolled off-screen. If you are at the system's console, just switch to
VT2 (using Alt+F2
) and, after logging in, use
# less -R ~root/upgrade-trixie.script
to view the file.
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:
# scriptreplay ~/upgrade-trixie-step.time ~/upgrade-trixie-step.script
4.4.2. Actualizar las listas de paquetes
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
.
4.4.3. Asegúrese de que tiene suficiente espacio libre para actualizar
You have to make sure before upgrading your system that you will have
sufficient hard disk space when you start the full system upgrade
described in Upgrading the system. First, any
package needed for installation that is fetched from the network is
stored in /var/cache/apt/archives
(and the partial/
subdirectory, during download), so you must make sure you have enough
space on the file system partition that holds /var/
to temporarily
download the packages that will be installed in your system. After the
download, you will probably need more space in other file system
partitions in order to both install upgraded packages (which might
contain bigger binaries or more data) and new packages that will be
pulled in for the upgrade. If your system does not have sufficient space
you might end up with an incomplete upgrade that is difficult to recover
from.
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 upgraded, XXX newly installed, XXX to remove and XXX not upgraded.
Need to get xx.xMB of archives.
After this operation, AAAMB of additional disk space will be used.
Nota
Running this command at the beginning of the upgrade process may give an error, for the reasons described in the next sections. In that case you will need to wait until you've done the minimal system upgrade as in Minimal system upgrade before running this command to estimate the disk space.
Si no tiene espacio suficiente para la actualización, apt
le avisará con un mensaje como este:
E: You don't have enough free space in /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 ordenapt clean
para borrar todos los archivos de paquetes previamente descargados.Eliminar paquetes olvidados. Si ha utilizado
aptitude
oapt
para instalar manualmente paquetes de bookworm, 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 autoremove
También puede utilizar para encontrar paquetes redundantes
deborphan
,debfoster
ocruft
. 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 eliminarlosElimine 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 condpigs
(disponible en el paquete debian-goodies) o conwajig
(ejecutandowajig size
). También puede encontrarlos con aptitude. Ejecuteaptitude
en el modo de terminal completo, seleccioneVistas y Nueva vista de paquetes plana
, pulse la teclal
e introduzca~i
, a continuación pulse la teclaS
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.
Do a minimal upgrade of the system (see Minimal system upgrade) or partial upgrades of the system followed by a full upgrade. This will make it possible to upgrade the system partially, and allow you to clean the package cache before the full upgrade.
Tenga en cuenta que para poder eliminar los paquetes con seguridad debería cambiar su sources.list
a bookworm como se describe en Comprobar su lista de fuentes APT.
4.4.4. Stop monitoring systems
As apt
may need to temporarily stop services running on your
computer, it's probably a good idea to stop monitoring services that can
restart other terminated services during the upgrade. In Debian, monit
is an example of such a service.
4.4.5. Actualización mínima del sistema
In some cases, doing the full upgrade (as described below) directly might remove large numbers of packages that you will want to keep. We therefore recommend a two-part upgrade process: first a minimal upgrade to overcome these conflicts, then a full upgrade as described in Upgrading the system.
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.
If the apt-listchanges package is installed, it will (in its default
configuration) show important information about upgraded packages in a
pager after downloading the packages. Press q
after reading to exit the
pager and continue the upgrade.
4.4.6. Actualizar el sistema
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
.
4.5. Posibles problemas durante o después de la actualización
Las siguientes secciones describen problemas conocidos que pueden aparecer durante la actualización a trixie.
4.5.1. Dist-upgrade falla con "No se pudo realizar la configuración inmediata"
En algunos casos el paso apt full-upgrade
puede fallar después de descargar los paquetes con el siguiente error:
E: Could not perform immediate configuration on 'package'. Please see man 5 apt.conf under APT::Immediate-Configure for details.
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 bookworm como de trixie en los archivos de las fuentes APT y ejecutar apt update
.
4.5.2. Eliminaciones esperadas
The upgrade process to trixie might ask for the removal of packages on the system. The precise list of packages will vary depending on the set of packages that you have installed. These release notes give general advice on these removals, but if in doubt, it is recommended that you examine the package removals proposed by each method before proceeding. For more information about packages obsoleted in trixie, see Obsolete packages.
4.5.3. Bucles en Conflictos o Pre-Dependencias
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 package_name
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 /path/to/package_name.deb
4.5.4. Conflictos de archivo
No deberían producirse conflictos entre archivos si actualiza de un sistema bookworm "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:
Unpacking <package-foo> (from <package-foo-file>) ...
dpkg: error processing <package-foo> (--install):
trying to overwrite `<some-file-name>',
which is also in package <package-bar>
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
<package-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 package_name
Debería poder continuar la instalación donde la dejó tras corregir el problema repitiendo las órdenes de apt
descritas previamente.
4.5.5. Cambios de configuración
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.
4.5.6. Cambio de la sesión en consola
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.
4.7. Prepararse para la siguiente distribución
Una vez hecha la actualización hay ciertas cosas que puede hacer para prepararse para la siguiente versión de la distribución.
Remove newly redundant or obsolete packages as described in Make sure you have sufficient space for the upgrade and Obsolete packages. You should review which configuration files they use and consider purging the packages to remove their configuration files. See also Purging removed packages.
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 bookworm) o eran parte de paquetes de terceros. Se han dado muchos casos en los que los programas de init.d antiguos han causado problemas.
Prudencia
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):
$ apt list '~c'
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 '~c'
4.8. Paquetes obsoletos
La versión trixie, aunque introduce muchos paquetes nuevos, también retira o deja de distribuir algunos paquetes que estaban disponibles en bookworm. 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 trixie [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 trixie debido a los errores que presentan. En este último caso los paquetes puede que sigan estando presentes en la distribución "unstable".
"Obsolete and Locally Created Packages" can be listed and purged from the commandline with:
$ apt list '~o'
# apt 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 trixie en Paquetes obsoletos notables.
4.8.1. Paquetes «dummy» de transición
Algunos de los paquetes de bookworm 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.