Capítulo 4. Actualizar dende Debian 11 (bullseye)

Índice

4.1. Prepararse para a actualización
4.1.1. Faga copias de seguridade dos seus datos e configuracións
4.1.2. Informe aos usuarios con tempo
4.1.3. Prepárese para desconectar os servizos
4.1.4. Preparase para a recuperación
4.1.5. Preparar un ambiente seguro para a actualización
4.2. Comezar a partir dun Debian « puro »
4.2.1. Actualizar a 11 (bullseye)
4.2.2. Actualizar á última versión punto
4.2.3. Backports de Debian
4.2.4. Preparar a base de datos de paquetes
4.2.5. Eliminar paquetes obsoletos
4.2.6. Eliminar os paquetes non provenientes de Debian
4.2.7. Eliminar ficheiros de configuración sobrantes
4.2.8. Os compoñentes non-free e non-free-firmware
4.2.9. Sección de actualizacións propostas
4.2.10. Fontes non oficiais
4.2.11. Desactivar bloqueos no APT
4.2.12. Asegúrese de que ten gpgv instalado
4.2.13. Comprobar o estado do paquete
4.3. Preparar os ficheiros de fontes de APT
4.3.1. Engadir fontes de Internet a APT
4.3.2. Engadir fontes APT dun servidor espello local
4.3.3. Engadir fontes APT dun medio óptico
4.4. Actualizar paquetes
4.4.1. Gravar a sesión
4.4.2. Actualizar a lista de paquetes
4.4.3. Asegúrese de que ten espazo dabondo para actualizar
4.4.4. Parar de supervisar sistemas
4.4.5. Actualización mínima do sistema
4.4.6. Actualizar o sistema
4.5. Problemas que poden ocorrer durante a actualización
4.5.1. Full-upgrade falla e salta con « Could not perform immediate configuration », ou con « Non foi posíbel facer a configuración inmediata »
4.5.2. Eliminacións esperadas
4.5.3. Conflitos ou bucles de dependencias
4.5.4. Conflitos de ficheiros
4.5.5. Cambios na configuración
4.5.6. Cambiar a sesión á consola
4.6. Actualizar o núcleo e paquetes relacionados
4.6.1. Instalar un núcleo coma metapaquete
4.7. Prepararse para a seguinte versión
4.7.1. Purgar paquetes eliminados
4.8. Paquetes obsoletos
4.8.1. Paquetes temporais alfaremes

4.1. Prepararse para a actualización

Suxerímoslle que antes de actualizar tamén lea a información en Capítulo 5, Problemas a ter en conta con bookworm. Ese capítulo trata os problemas que se poden atopar e que non están directamente relacionados co proceso de actualización, pero que de todas formas poden ser importante coñecelos antes de comezar.

4.1.1. Faga copias de seguridade dos seus datos e configuracións

Antes de actualizar o seu sistema recomendámoslle que faga unha copia de seguridade completa, ou polo menos faga copias de seguridade dos seus datos e configuracións que lle sexan imprescindibles. As ferramentas e procesos de actualización son bastante fiables, pero se lle ocorre algo ao ordenador no medio dunha instalación pode quedar cun sistema moi danado.

Ao facer as copias de seguridade ocúpese primeiro dos contidos de /etc, /var/lib/dpkg, /var/lib/apt/extended_states e a saída de:

$ dpkg --get-selections '*' # (as comiñas importan)
      

Se usa aptitudepara xestionar os paquetes do sistema tamén terá que facer copias de /var/lib/aptitude/pkgstates.

O proceso de actualización en si non modifica nada do cartafol /home. Porén, algunhas aplicacións (p.e partes da suite de Mozilla e os ambientes de escritorio GNOME e KDE) poden sobrescribir as configuracións de usuario existentes con valores por omisión cando se inicia por primeira vez unha versión. Como precaución, debería facer unha copia de seguridade dos ficheiros e cartafoles ocultos (« ficheiros punto ») no cartafol propio de cada usuario. Esta copia de seguridade pode axudar a restaurar ou recrear as configuracións previas. Tamén lles debería informar aos usuarios disto.

Calquera operación de instalación de paquetes deberase executar con permisos de superusuario, polo que acceda coma root, usando su ou sudo para ter os permisos necesarios.

A actualización ten algunhas precondicións; deberíaas consultar antes sequera de comezar a actualización.

4.1.2. Informe aos usuarios con tempo

É boa idea informar a todos os usuarios antes de tempo de calquera actualización que planee, inda que os usuarios accedendo a través de ssh non debería decatarse dos cambios, e deberían poder traballar sen problemas.

Se quere ser máis cautelosos, faga copias de seguridade ou desmonte a partición /home antes de actualizar.

O núcleo actualizarase cando se actualice a bookworm, polo que terá que reiniciar. Normalmente isto faise despois de que remate a actualización.

4.1.3. Prepárese para desconectar os servizos

Poden haber servizos ofrecidos polo sistema que están asociados cos paquetes que están incluídos na actualización. Se isto é así os servizos se pararán durante a actualización mentres o paquete correspondente é substituído e configurado. Durante este tempo estes servizos non estarán dispoñibles.

O tempo exacto que tarde o sistema en estar operativo dependerá do número de paquetes a actualizar, e tamén inclúe o tempo que o administrador tarde respondendo as preguntas de configuración durante a actualización dos paquetes. Teña en conta que se non esta atento durante o proceso de actualización e o sistema fai preguntas é probable que os servizos non estean dispoñibles[1] durante bastante tempo.

Se o sistema a actualizar prové servizos críticos para os usuarios ou para a rede[2], pódese reducir o tempo que non estea dispoñible se actualiza o mínimo do sistema, tal como se describe en Sección 4.4.5, « Actualización mínima do sistema », seguido dunha actualización do núcleo e reiniciar, e entón actualizas os paquetes asociados cos servizos críticos. Actualiza estes paquetes antes de facer unha actualización completa descrita en Sección 4.4.6, « Actualizar o sistema ». Desta forma podes estar seguro de que estes servizos críticos seguen a funcionar durante a actualización, tarde o que tarde.

4.1.4. Preparase para a recuperación

Inda que Debian intenta que o seu sistema arranque sempre, sempre pode ser que atope problemas ao reiniciar tras unha actualización. Algúns problemas coñecidos están documentados neste e no resto dos capítulos das Notas da Versión.

Por esta razón asegúrese de que é capaz de recuperar o sistema se non o pode arrancar ou, nos sistemas de acceso remoto, non poda conectarte á rede.

Se está actualizando de forma remota a través de ssh recomendámoslle de que tome as precaucións necesarias para poder acceder ao servidor a través dunha terminal remota. Existe a posibilidade de que, tras actualizar o núcleo e reiniciar, deberá arranxar a configuración do sistema dende unha consola local. E, se o sistema se reiniciara durante a instalación, pode ser que teña que arranxar o sistema dende unha consola local.

Para recuperacións de emerxencia recomendamos usar o modo de recuperación do Instalador de Debian bookworm. A vantaxe de usar o instalador é que pode escoller entre moitos métodos para atopar cal é o que mellor se adapta á súa situación. Para máis información, por favor consulte a sección « Recuperando un Sistema Escachado »(« Recovering a Broken System » na versión inglesa) no capítulo 8 da Guía de Instalación e as Preguntas Frecuentes do Instalador de Debian.

Se iso falla necesitará outra forme de arrancar o sistema para podelo reparar. Unha forma é usando a imaxe especial de recuperación, ou unha imaxe dun sistema en memoria. Despois de arrancar con iso debería montar o seu sistema de ficheiros raíz e cambiar a el con chroot para investigar e arranxar o problema.

4.1.4.1. Consola de depuración durante o arranque usando initrd

O paquete initramfs-tools inclúe unha terminal de ordes para a depuración[3] nos initrd que xera. Se por exemplo o initrd non é capaz de montar o seu sistema de ficheiros raíz entre nesta consola de depuración, que inclúe comandos básicos, para axudar a discernir o problema e arranxalo.

Cousas básicas a ter en conta: que estean os ficheiros correctos dos dispositivos en /dev, que módulos se cargarán (cat /proc/modules), e a saída de dmesg, para atopar erros ao cargar controladores. A saída de dmesg tamén amosará que ficheiros de dispositivo foron asignados a cada disco; debería contrastalo contra a saída de echo $ROOT para estar seguro de que o sistema de ficheiros raíz está no dispositivo axeitado.

Se non consegue arranxar o problema, escribindo exit sacaralle da consola de depuración e continuará o proceso de arranque dende o punto onde fallou. Por suposto tamén terá que arranxar o problema subxacente e rexenerar o initrd para que non falle no seguinte arranque.

4.1.4.2. Consola de depuración durante o arranque usando systemd

Se o arranque falla con systemd é posíbel obter unha consola de depuración superusuario cambiando a liña de ordes do núcleo. Se se acada un arranque básico pero algúns servizos fallan pode ser útil engadirlle systemd.unit=rescue.target aos parámetros do núcleo.

Se non, o parámetro do núcleo systemd.unit=emergency.target daralle unha consola de superusuario o antes que poida. Porén, isto faise antes de montar o sistema de ficheiros raíz con permisos lectura-escritura. Terá que facelo manualmente con:

# mount -o remount,rw /
      

Outra opción é activar a « consola de depuración temperá » de systemd, mediante debug-shell.service. No seguinte arranque iniciarase unha consola como superusuario no tty9, moi cedo no proceso de arranque. Isto se pode activar mediante o parámetro de arranque do núcleo systemd.debug-shell=1, ou de forma permanente executando a orde systemctl enable debug-shell. Neste último caso a consola deberá desactivarse tras rematar a depuración.

Pode atopar máis información sobre como depurar un arranque falido con systemd no artigo Freedesktop.org Diagnosticando Problemas de Arranque.

4.1.5. Preparar un ambiente seguro para a actualización

[Importante]Importante

Se estas a usar algún servizo VPN (por exemplo tinc) pensa que pode ser que non estean dispoñibles durante a actualización. Véxase Sección 4.1.3, « Prepárese para desconectar os servizos ».

Para ter un chisco máis de seguridade ao actualizar de forma remota suxerímoslle que execute a actualización nunha consola virtual creada polo programa screen, que permite unha reconexión segura e asegurarse de que a actualización non é interrompida inda que a conexión remota falle temporalmente.

4.2. Comezar a partir dun Debian « puro »

O proceso de actualización descrito neste capítulo foi deseñado para sistemas Debian « puros » e estables. APT controla o que se instala no seu sistema. Se a súa configuración de APT menciona outras fontes, sen contar bullseye, ou se instalou paquetes de outras versións ou de terceiros, deberías pensar en borrar estas posibles molestias para asegurarte de que a actualización non sufra contratempos.

O ficheiro configuración principal que APT usa para decidir de onde debe descargar os paquetes é /etc/apt/sources.list, pero tamén pode usar os ficheiros no cartafol /etc/apt/sources.list.d/ - para máis detalles véxase sources.list(5). Se o seu sistema usa varios ficheiros con listas de fontes deberá asegurarse de que se manteñan consistentes.

4.2.1. Actualizar a 11 (bullseye)

Só se debe actualizar Debian dende 11 (bullseye). Pódese ver a versión de Debian con:

$ cat /etc/debian_version
      

Se é preciso, antes siga as instrucións nas Notas de Versión para Debian 11 para actualizar a Debian 11.

4.2.2. Actualizar á última versión punto

Este proceso asume que o seu sistema está actualizado á última versión punto algo de bullseye. Se non fixo iso ou non está seguro, siga as instrucións en Sección A.1, « Actualizando o seu sistema bullseye ».

4.2.3. Backports de Debian

Os «Backports» de Debian, tamén chamadas modernizacións, versións actualizadas retroactivamente ou parches de mantemento; permiten que os usuarios de Debian estable poidan usar versións actualizadas dos paquetes (cunha posíbel mingua na seguridade e comprobación de calidade). O Equipo dos Backports de Debian mantén unha porcentaxe de todos os paquetes da seguinte versión de Debian, axustándoos e recompilándoos para que se poidan usar na versión estable actual.

Os paquetes de bullseye-backports teñen un número de versión menor ca en bookworm, para que se actualicen sen problemas a bookworm, do mesmo xeito ca os paquetes « puros » en bullseye, ao actualizar a distribución. Inda que non se introducen fallos coñecidos, a actualización dende versións «backports» está menos manido, e, polo tanto, supón un risco maior.

[Cuidado]Cuidado

Inda que os «Backports» normais de Debian si son compatibles, non existe un modo seguro para actualizar dende os «backports» chafalleiros (aqueles que teñan configurada bullseye-backports-sloppy coma fonte en APT).

Do mesmo xeito que coas Sección 4.2.10, « Fontes non oficiais », recoméndase que se eliminen todas as fontes con bullseye-backports na configuración de APT antes de comezar a actualización. Opcionalmente, tras a actualización, poderase engadir bookworm-backports ás fontes.

Para máis información, consulte a páxina da Wiki sobre os «Backports».

4.2.4. Preparar a base de datos de paquetes

Debería asegurarse de que a base de datos de paquetes está lista antes de seguir coa actualización. Se es usuario de outro xestor de paquetes, como aptitude or synaptic, revise calquera acción pendente. Un paquete programado para instalarse ou eliminarse pode interferir coa actualización. Teña en conta que corrixir isto só é posible se o seu ficheiro de fontes APT inda fai referencia a bullseye e non a stable ou bookworm; véxase Sección A.2, « Comproba os seus ficheiros de fontes APT ».

4.2.5. Eliminar paquetes obsoletos

É unha boa idea eliminar os paquetes obsoletos do sistema antes de actualizar. Poden crear complicacións durante o proceso de actualización, e poden converterse nun risco de seguridade ao non ter mantemento.

4.2.6. Eliminar os paquetes non provenientes de Debian

Embaixo hai dúas maneiras de atopar os paquetes que non foran instalados por Debian, usando tanto apt coma apt-forktracer. Teña en conta que ningún dos dous é totalmente exacto (p. e. o exemplo que usa apt amosará os paquetes que Debian deixou de distribuír, como núcleos vellos).

$ apt list '?narrow(?installed, ?not(?origin(Debian)))'
$ apt-forktracer | sort
    

4.2.7. Eliminar ficheiros de configuración sobrantes

Unha actualización previa pode haber deixado duplicas dos ficheiros de configuración, versións anteriores dos ficheiros, versións engadidas polos mantedores dos paquetes, etc. Eliminar os ficheiros sobrantes desas actualizacións previas axuda a reducir as confusións. Atope tales ficheiros con:

# find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
    

4.2.8. Os compoñentes non-free e non-free-firmware

Se está a usar «firmware» non libre lle recomendamos que engada non-free-firmware á lista de fontes de APT. Para máis información consulte Sección 2.2, « Áreas do arquivo » e Sección 5.1.1, «  O «firmware» non libre moveuse a un compoñente do arquivo separado  ».

4.2.9. Sección de actualizacións propostas

Se tes unha sección de proposed-updates (actualizacións propostas) no seu ficheiro de fontes APT deberías eliminala antes de actualizar o sistema. Isto reduce a probabilidade de conflitos.

4.2.10. Fontes non oficiais

Se ten algún paquete externo a Debian no sistema pode ser que sexa eliminado coa actualización por culpa de conflito de dependencias. Se estes paquetes foran instalados engadíndolle arquivos ao ficheiro de fontes de APT deberías comprobar se ese arquivo ten paquetes compilados para bookworm e axustar a liña correspondente no ficheiro de fontes ao mesmo tempo que as do resto dos paquetes de Debian.

Algúns usuarios poden ter instalados nos seus sistemas versións bullseye non oficiais, « máis novas » e con parches de mantemento dos paquetes ca os que ten Debian. Tales paquetes é probable que causen problemas durante a actualización ao entraren os ficheiros en conflito[4]. Pode obter máis información sobre o conflito de ficheiros en Sección 4.5, « Problemas que poden ocorrer durante a actualización », se ocorreren.

4.2.11. Desactivar bloqueos no APT

Se configurou APT para que instale algúns paquetes dende distribucións distintas á estable (p. e. dende a de probas), pode ser que teña que cambiar a súa configuración de bloqueo de paquetes (gardada en /etc/apt/preferences e /etc/apt/preferences.d/) para permitir a actualización dos paquetes ás versións na nova versión estable. Para máis información sobre o bloqueo de paquetes consulte apt_preferences(5).

4.2.12. Asegúrese de que ten gpgv instalado

APT precisa de gpgv versión 2 ou posterior para verificar as chaves que usa para firmar as versións de bookworm. Como gpgv1 tamén cumpre esa dependencia, inda que só en circunstancias específicas, comprobe que instalou a versión axeitada con:

# apt install gpgv
    

4.2.13. Comprobar o estado do paquete

Sen importar o método que use para actualizar, recoméndase que se comprobe o estado de todos os paquetes primeiro, e que se comprobe que todos os paquetes se poden actualizar. As seguintes ordes amosarán calquera paquete que estea marcado como parcialmente instalado («Half-Installed») ou que non se puido configurar («Failed-Config»), xunto con aqueles que teñan calquera erro.

$ dpkg --audit
    

Tamén pode consultar o estado de todos os paquetes no seu sistema usando aptitude, ou con ordes tales coma

$ dpkg -l | pager
    

ou

# dpkg --get-selections '*' > ~/pqts-actuais.txt
    

Tamén pode usar apt.

# apt list --installed > ~/pqts-actuais.txt
    

Recoméndase eliminar calquera paquete en espera antes de actualizar. Se calquera paquete necesario para actualización está en espera a actualización fallará.

$ apt-mark showhold
    

Se quere cambiar e recompilar un paquete de forma local, e non lle cambiara o nome ou lle puxera unha data na versión , terá que mantelo en espera para que non se actualice.

O estado « en espera » dos paquetes de apt pódese cambiar facendo:

# apt-mark hold nome_paquete
    

Substitúa hold por unhold para quitar o estado « en espera ».

Se necesita arranxar calquera cousa asegurese de que o seu ficheiro de fontes de APT inda apunta a bullseye, tal coma se explica en Sección A.2, « Comproba os seus ficheiros de fontes APT ».

4.3. Preparar os ficheiros de fontes de APT

Antes de preparar a actualización reconfigure o ficheiro das fontes de APT (/etc/apt/sources.list e os ficheiros en /etc/apt/sources.list.d/) para engadirlle as fontes de bookworm e elimine as referencias a bullseye.

APT collerá todos os paquetes que poida atopar en todos os arquivos configurados e instalará o paquete co número de versión máis alto, tendo prioridade a primeira entrada dos ficheiros. Iso é, se ten varios servidores espello, poña primeiro os discos duros locais, seguidos polos CD-ROMs, e por último os servidores remotos.

Unha versión pode ser referida indistintamente polo seu alcume (p.e. bullseye, bookworm) ou polo seu estado (p.e. oldstable, stable, testing, unstable). Falar dunha versión polo seu alcume ten a vantaxe de que nunca aparecerá de súpeto unha nova versión, e é polo tanto o que imos facer aquí. Iso tamén significa que tes que buscar ti mesmo os avisos das versións. Porén, se usas o estado apareceranlle moreas de actualizacións para os paquetes tan pronto coma saia a actualización.

Debian ten dúas listas de correo para avisos para axudarlle a manterse ao día da información importante sobre as versións:

4.3.1. Engadir fontes de Internet a APT

Por defecto, nas instalacións novas, APT é configurado para que use o servizo de CDN de Debian, que debería asegurarlle que os paquetes descárganse automaticamente dun servidor preto súa na rede. Como isto é un servizo relativamente novo as instalacións máis vellas inda poden estar configuradas para apuntar a algún dos servidores de Internet de Debian principais ou espello. Se inda non o fixo, recoméndase que use o servizo de CDN no APT.

Para usar o servizo de CDN engádalle á configuración das fontes de APT unha liña semellante a esta (asumindo que usa main e contrib):

deb https://deb.debian.org/debian bookworm main contrib

Despois de engadir as novas fontes desactive as liñas « deb » anteriores engadíndolle unha grade (#) diante.

Porén, se se obteñen mellores resultados usando un servidor espello específico que lle queda máis preto na rede, isto inda é posíbel.

As direccións dos servidores espello de Debian pódense atopar en https://www.buy-develop.eu.org/distrib/ftplist (vaia á sección « list of Debian mirrors »/« lista de servidores espello de Debian »).

Por exemplo, supoña que o servidor espello que lle queda máis preto é http://mirrors.kernel.org. Se accede a ese servidor cun navegador decataríase de que os principais cartafoles están organizados da seguinte maneira:

http://mirrors.kernel.org/debian/dists/bookworm/main/binary-i386/...
http://mirrors.kernel.org/debian/dists/bookworm/contrib/binary-i386/...
    

Para configurar APT para que use un servidor en concreto engádeselle unha liña tal coma (outra vez asumindo que usa main e contrib):

deb http://mirrors.kernel.org/debian bookworm main contrib

Fíxese en que « dists » engádese de forma implícita, e os parámetros antes do nome da versión úsanse para expandir a ruta en varios cartafoles.

Igual que antes, tras engadir as novas fontes desactive as fontes previas.

4.3.2. Engadir fontes APT dun servidor espello local

Pode ser que en lugar de usar servidores espello remotos queira modificar o ficheiro de fontes APT para usar un servidor espello nun disco local (probablemente montado usando NFS).

Por exemplo, o seu servidor espello de paquetes pódese atopar en /var/local/debian/, e ten os seguintes cartafoles:

/var/local/debian/dists/bookworm/main/binary-i386/...
/var/local/debian/dists/bookworm/contrib/binary-i386/...
    

Para usar isto con apt, engada a seguinte liña ao seu ficheiro sources.list:

deb file:/var/local/debian bookworm main contrib

Fíxese en que « dists » engádese de forma implícita, e os parámetros antes do nome da versión úsanse para expandir a ruta en varios cartafoles.

Despois de engadir a nova fonte desactive as fontes previas engadíndolle unha grade (#) diante.

4.3.3. Engadir fontes APT dun medio óptico

Se quere usar DVD (ou CD ou Discos Blu-ray) desactive o resto de entradas no ficheiro de fontes APT engadíndolles diante unha grade (#).

Asegúrese de que hai unha liña en /etc/fstab que lle permite montar o seu disco CD-ROM en /media/cdrom. Por exemplo, se o seu lector CD-ROM é /dev/sr0, deberías ter o seguinte en /etc/fstab:

/dev/sr0 /media/cdrom auto noauto,ro 0 0
    

Fíxese en que non poden haber espazos entre as palabras do cuarto campo noauto,ro.

Para asegurarse de que funciona insira un CD e tente executar

# mount /media/cdrom    # isto montará o CD no punto de montaxe
# ls -alF /media/cdrom  # isto amosaralle a raíz do CD
# umount /media/cdrom   # isto desmontará o CD
    

Despois execute:

# apt-cdrom add
    

para cada CD-ROM Binario de Debian que teña, para engadirlle a información sobre cada CD á base de datos de APT.

4.4. Actualizar paquetes

A maneira recomendada de actualizar dende as versións de Debian anteriores é usar a ferramenta de xestión de paquetes apt.

[Nota]Nota

apt está preparada para uso interactivo, e non se debe usar en ficheiros de instrucións. Os programas interpretados deberían usar apt-get, que ten unha saída que non varía entre versións e que é máis sinxela de interpretar.

Non se esqueza de montar todas as particións que necesite (especialmente as particións raíz e /usr) como lectura-escritura, cunha orde tal coma:

# mount -o remount,rw /punto_montaxe
  

Despois debería comprobar que as entradas no ficheiro de fontes de APT (en /etc/apt/sources.list e os ficheiros en /etc/apt/sources.list.d/) apuntan a « bookworm » ou a « stable ». Non deberían haber entradas apuntando a bullseye.

[Nota]Nota

As fontes dun CD-ROM pode ser que fagan referencia a « unstable »; inda que poida ser confuso non as cambie.

4.4.1. Gravar a sesión

Recomendámoslle que use /usr/bin/script para rexistrar a actualización. Desa forma se ocorre algún problema terá un rexistro do que ocorreu, e, se é necesario, pode enviar a información exacta nun informe de fallos. Para iniciar o rexistro escriba:

# script -t 2>~/upgrade-bookwormpaso.time -a ~/upgrade-bookwormpaso.script
    

ou semellante. Se ten que volver a executar o rexistro (p.e. se ten que reiniciar o sistema) use diferentes valores para o paso para indicar que paso da actualización esta rexistrando. Non poña os rexistros nun cartafol temporal coma /tmp ou /var/tmp, os ficheiros neses cartafoles pode que sexan borrados durante a actualización ou durante calquera reinicio.

O rexistro tamén lle axudará a revisar a información que se quedou fora da pantalla. Se está na consola do sistema cambie á terminal virtual VT2 (usando Alt+F2) e, tras iniciar sesión, use less -R ~root/upgrade-bookworm.script para ver o ficheiro.

Despois de completar a actualización pode parar script escribindo a orde exit.

apt tamén rexistra os cambios dos estados dos paquetes en /var/log/apt/history.log e a saída da terminal en /var/log/apt/term.log. dpkg tamén fai iso e, ademais, rexistra os cambios de estado de todos os paquetes en /var/log/dpkg.log. aptitude tamén rexistra os cambios de estado en /var/log/aptitude.

Se usa a opción -t en script pode usar scriptreplay para repetir a sesión enteira:

# scriptreplay ~/upgrade-bookwormpaso.time ~/upgrade-bookwormpaso.script
    

4.4.2. Actualizar a lista de paquetes

Primeiro hai que obter a lista dos paquetes dispoñibles na nova versión. Isto faise executando:

# apt update
    
[Nota]Nota

Os usuarios de apt-secure poden ter problemas ao usar aptitude ou apt-get. Para apt-get pode usar apt-get update --allow-releaseinfo-change.

4.4.3. Asegúrese de que ten espazo dabondo para actualizar

Ten que estar seguro antes de actualizar de que ten espazo dabondo no disco duro cando comece a actualización completa descrita en Sección 4.4.6, « Actualizar o sistema ». Primeiro, calquera paquete necesario para a instalación que se obtén da rede gárdase en /var/cache/apt/archives (e no cartafol partial/ durante a descarga), polo que tes que estar seguro de teres espazo dabondo na partición que conteña /var/ para gardar os paquetes que se instalaran no sistema mentres se descargan no seu sistema. Despois da descarga necesitarás máis espazo nas outras particións do sistema de ficheiros para instalar os paquetes actualizados (que poden conter binarios máis grandes ou máis datos) e os paquetes novos que se instalarán coa actualización. Se o seu sistema non ten espazo dabondo quedará cunha actualización parcial da que é difícil recuperarse.

apt amosaralle información detallada sobre o espazo en disco necesario para a instalación. Antes de comezar a actualización pode ver unha estimación con:

# apt -o APT::Get::Trivial-Only=true full-upgrade
[ ... ]
XXX anovados, XXX instalados, Vanse retirar XXX e deixar XXX sen anovar.
Ten que recibir xx,x MB de arquivos.
Despois desta operación ocuparanse AAA MB de disco adicionais.
    
[Nota]Nota

Ao executar esta orde ao inicio da actualización pode que salte algún erro, por causas descritas nas seguinte seccións. Nese caso terá que esperar ata facer a actualización mínima descrita en Sección 4.4.5, « Actualización mínima do sistema » antes de executar este comando para estimar o espazo en disco.

Se non ten suficiente espazo para a actualización apt avisaralle con mensaxes coma:

E: Non hai espazo libre abondo en /var/cache/apt/archives/.
    

Neste caso asegúrese de liberar espazo previamente. Pode:

  • Elimine os paquetes que foran descargados previamente para a instalación (en /var/cache/apt/archives). Borrar a caché ao executar apt clean eliminará todos os ficheiros dos paquetes previamente descargados.

  • Borre paquetes esquecidos. Se usou aptitude ou apt para instalar manualmente paquetes en bullseye os programas terán en conta eses paquetes que instalara manualmente, e poderán marcar coma redundantes aqueles paquetes que só foran incluídos por dependencias que xa non se necesitan por que o paquete fora eliminado. Non seleccionaran para que se borren os paquetes que instalara manualmente. Para eliminar os paquetes instalados automáticamente e que xa non se usen execute:

    # apt autoremove
            

    Tamén pode usar deborphan, debfoster, ou cruft para atopar paquetes redundantes. Non borre ás toas os paquetes que lle indiquen estas ferramentas, especialmente se está a usar opcións modificadas e agresivas que poden amosar falsos positivos. Recomendámoslle que revise de forma manual os paquetes que lle suxiran para borrar (p.e. os seus contidos, tamaño e descrición) antes de borralos.

  • Borre os paquetes que usen demasiado espazo e que non necesite (sempre os poderá reinstalar tras a actualización). Se instalou popularity-contest pode usar popcon-largest-unused para amosar os paquetes que non use e que máis espazo ocupan. Pode atopar os paquetes que máis espazo usan con dpigs (paquete debian-goodies) ou con wajig executando wajig size). Tamén pode buscalos con aptitude. Execute aptitude en modo pantalla completa, seleccione VistasNova lista plana de paquetes, prema l e introduza ~i, despois prema S e introduza~installsize. Isto daralle unha cómoda lista coa que traballar.

  • Elimine traducións e localizacións do sistema se non os necesitas. Pode instalar o paquete localepurge e configuralo para quedar só coas localizacións que queira manter no sistema. Isto reducirá o espazo consumido por /usr/share/locale.

  • Mova de forma temporal, ou elimine, os rexistros do sistema que existan en /var/log/.

  • Use un /var/cache/apt/archives temporal: Pode usar un cartafol temporal doutro sistema de ficheiros coma caché (dispositivos de almacenamento USB, disco duro temporal, sistema de ficheiros xa usado, etc).

    [Nota]Nota

    Non use NFS, posto que a conexión da rede pode interromperse durante a actualización.

    Por exemplo, se usa un dispositivo USB montado en /media/usbkey:

    1. eliminar os paquetes que foran previamente descargados para a instalación:

      # apt clean
                      

    2. copiar o cartafol /var/cache/apt/archives ao dispositivo USB:

      # cp -ax /var/cache/apt/archives /media/usbkey/
                      

    3. montar o directorio de caché temporal no actual:

      # mount --bind /media/usbkey/archives /var/cache/apt/archives
                      

    4. despois da actualización, restaurar o cartafol /var/cache/apt/archives ao seu sitio orixinal:

      # umount /var/cache/apt/archives
                      

    5. eliminar os /media/usbkey/archives que queden.

    Pode crear o cartafol de caché temporal en calquera sistema de ficheiros que estea montado no seu sistema.

  • Faga unha actualización mínima (véxase Sección 4.4.5, « Actualización mínima do sistema ») ou parcial seguida dunha actualización completa. Isto permitiralle actualizar parcialmente o sistema e limpar a caché de paquetes antes da actualización total.

Para poder borrar os paquetes sen problemas recomendámoslle que apuntes as fontes de APT cara bullseye de novo, facendo coma pon en Sección A.2, « Comproba os seus ficheiros de fontes APT ».

4.4.4. Parar de supervisar sistemas

Recomendamos que, como é probable que apt precise parar temporalmente algúns dos servizos en execución no ordenador, que se desactiven durante a actualización todos aqueles servizos que se encarguen de reiniciar outros servizos cando estes rematen. Un exemplo en Debian sería o servizo monit.

4.4.5. Actualización mínima do sistema

Nalgúns casos facer unha actualización completa (tal coma se describe embaixo) directamente pode eliminar moitos paquetes que lle gustaría preservar. Para iso recomendámoslle actualizar en dous pasos: primeiro unha actualización mínima para evitar eses conflitos, e despois unha actualización completa tal coma se indica en Sección 4.4.6, « Actualizar o sistema ».

Para facer isto primeiro faga:

# apt upgrade --without-new-pkgs
    

Isto actualiza os paquetes que se poden actualizar sen eliminar ou instalar outros paquetes.

Unha actualización mínima tamén pode axudar cando o sistema teña pouco espazo libre e unha actualización completa non se pode executar por culpa da falta de espazo.

Se o paquete apt-listchanges está instalado coa configuración de fábrica amosará información importante sobre os paquetes actualizados nun paxinador despois de descargar os paquetes. Prema q despois de ler para saír do paxinador e continuar a actualización.

4.4.6. Actualizar o sistema

Unha vez que rematou os pasos anteriores, xa está liso para continuar co principal da actualización. Execute:

# apt full-upgrade
    

Isto fará unha actualización completa do sistema, instalando as versións dos paquetes máis modernas dispoñibles, e resolvendo todos os posibles cambios nas dependencias entre versións. Se é necesario instalará novos paquetes (normalmente novas versións das bibliotecas, ou paquetes que cambiaron de nome), e eliminar calquera conflito entre paquetes obsoletos.

Cando actualice dun conxunto de CD/DVD/BD é probable que se lle pida que introduza un disco en concreto en diferentes momentos da instalación. Tamén pode ser que teña que introducir o mesmo disco varias veces; isto é por culpa de paquetes relacionados que se atopan en diferentes discos.

Os paquetes cuxas versións máis modernas non se poden instalar sen cambiar o estado doutro paquete deixaranse na versión actual (amosaranse coma « retidos/«hold back» »). Isto pode arranxarse usando aptitude para elixir os paquetes a instalar, ou tamén se pode intentar facendo apt install paquete.

4.5. Problemas que poden ocorrer durante a actualización

As seguintes seccións describen os problemas que se sabe que poden aparecer durante a actualización a bookworm.

4.5.1. Full-upgrade falla e salta con « Could not perform immediate configuration », ou con « Non foi posíbel facer a configuración inmediata »

Nalgúns casos apt full-upgrade pode fallar tras descargar os paquetes con:

E: Could not perform immediate configuration on 'paquete'.  Please see man 5 apt.conf under APT::Immediate-Configure for details.
      

ou

Non foi posíbel facer a configuración inmediata en «paquete». Vexa man 5 apt.conf baixo APT::Immediate-Configure para obter máis detalles. (%d)
      

Se iso ocorre, pódelle permitir continuar á actualización con apt full-upgrade -o APT::Immediate-Configure=0.

Outra posible solución é engadir temporalmente bullseye e bookworm nas fontes de APT e executar apt update.

4.5.2. Eliminacións esperadas

O proceso de actualización a bookworm pode que pregunte pola eliminación de paquetes no sistema. A lista exacta de paquetes depende do conxunto de paquetes que instalaras. Estas notas de versión dan consellos xerais sobre as eliminacións, pero se dubidas recomendámoslle que examine as eliminacións propostas por cada método antes de continuar. Para máis información sobre a obsolescencia dos paquetes en bookworm véxase Sección 4.8, « Paquetes obsoletos ».

4.5.3. Conflitos ou bucles de dependencias

Ás veces é necesario activar a opción APT::Force-LoopBreak en APT para poder eliminar temporalmente un paquete esencial por culpa dun bucle de Conflitos/Predependencias, apt alertaralle disto e cancelará á actualización. Podes evitar isto especificando a opción -o APT::Force-LoopBreak=1 na liña de ordes de apt.

É posible que a estrutura das dependencias dun sistema estea tan corrupto que requira intervención manual. Normalmente isto significa usar apt ou

# dpkg --remove nome_paquete
    

para eliminar os paquetes culpables, ou

# apt -f install
# dpkg --configure --pending
    

En casos extremos pode que teña que forzar a reinstalación cunha orde tal coma

# dpkg --install /ruta/ao/paquete.deb
    

4.5.4. Conflitos de ficheiros

Os conflitos entre ficheiros non deberían ocorrer se actualiza dende un sistema bullseye« puro », pero poden ocorrer se instalou parches de mantemento non oficiais. Os conflitos entre ficheiros causan mensaxes de erro coma:

A desempaquetar <paquete-tal> (de <paquete-tal-ficheiro>) ...
dpkg: error ao procesar <paquete-tal> (--install):
téntase sobrescribir `<algún-ficheiro>',
que tamén está no paquete <paquete-cual>
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Apareceron erros ao procesar:
<paquete-tal>
    

Podes intentar resolver un conflito entre ficheiros forzando a eliminación do paquete que aparece na última liña da mensaxe de erro:

# dpkg -r --force-depends nome_paquete
    

Despois de arranxar esas cousas debería poder continuar a actualización coas ordes de apt antes descritas.

4.5.5. Cambios na configuración

Durante a actualización pode que se lle pregunte acerca da configuración ou reconfiguración de varios paquetes. Cando se lle pregunte si algún ficheiro en /etc/init.d ou o ficheiro /etc/manpath.config debería ser substituído pola versión do mantedor do paquete, deberías confirmalo para asegurarse de que o sistema é consistente. Sempre pode substituílos pola versión anterior, que se garda coa extensión .dpkg-old.

Se non se aclarara, escriba o nome do paquete ou ficheiro e resólvao noutro momento. Podes revisar o rexistro de ordes para consultar a información que estaba na pantalla durante a actualización.

4.5.6. Cambiar a sesión á consola

Se está executando a actualización usando a consola local do sistema pode ser que nalgún momento da actualización a consola se mova a unha pantalla diferente e perdas de vista o proceso de actualización. Por exemplo, isto pode ocorrer nos sistemas cunha interface gráfica cando se reinicia o xestor da pantalla.

Para volver á consola onde estaba a facer a actualización use Ctrl+Alt+F1 (na pantalla gráfica de inicio) ou Alt+F1 (nunha consola local de texto) para volver á terminal virtual 1. Substitúa F1 coa tecla función do mesmo número ca o da terminal virtual no que estaba a executarse a actualización. Tamén pode usar Alt+Frecha Esquerda ou Alt+Frecha Dereita para moverse entre as diferentes terminais de texto.

4.6. Actualizar o núcleo e paquetes relacionados

Esta sección explica como pode actualizar o núcleo e identificar posibles problemas relacionados coa actualización. Pode instalar un dos paquetes linux-image-* que Debian distribúe, ou compilar un núcleo personalizado.

Teña en mente que moita da información nesta sección asume que usará un dos núcleos modulares de Debian, xunto con initramfs-tools e udev. Se escolle usar un núcleo personalizado que non requira un initrd ou se usa un xerador do initrd diferente algunhas partes non se lle aplicarán.

4.6.1. Instalar un núcleo coma metapaquete

Cando actualice de bullseye a bookworm recomendamos que instale un metapaquete linux-image-*, se xa non o tiña feito. Estes metapaquetes collerán automáticamente a última versión do núcleo durante as actualizacións. Pode comprobar se ten algún instalado executando:

$ dpkg -l 'linux-image*' | grep ^ii | grep -i meta
    

Se non hai saída entón necesita instalar, ben un novo paquete linux-image, ou ben un metapaquete linux-image. Para ver unha lista dos metapaquetes linux-image execute:

$ apt-cache search linux-image- | grep -i meta | grep -v transition
    

Se non sabe que paquete escoller faga uname -r e busque un paquete cun nome semellante. Por exemplo, se ten « 4.9.0-8-amd64 », escolla linux-image-amd64. Tamén pode usar apt para ver unha descrición longa de cada paquete para axudarlle a escoller o paquete axeitado. Por exemplo:

$ apt show linux-image-amd64
    

Entón deberá usar apt install para instalalo. Cando estea instalado o novo núcleo vostede deberá reiniciar cando antes poida, para aproveitar os beneficios da nova versión. Porén, bótelle unha ollada a Sección 5.1.17, « Cousas que facer despois da actualización antes de reiniciar » antes de facer o primeiro reinicio despois da actualización.

Para os máis aventureiros hai unha maneira sinxela de compilar un núcleo personalizado en Debian. Instale o código fonte do núcleo, do paquete linux-source. Pode usar o obxectivo deb-pkg do ficheiro Makefile da fonte para compilar un paquete binario. Máis información no Manual Debian do Núcleo Linux, que tamén se pode atopar no paquete debian-kernel-handbook.

Podes facilitarlle as cousas actualizando o paquete do núcleo de forma separada do completo full-upgrade para reducir a probabilidade de rematar cun sistema que non arranque. Pero pense que isto só se debería facer despois da actualización mínima descrita en Sección 4.4.5, « Actualización mínima do sistema ».

4.7. Prepararse para a seguinte versión

Despois da actualización hai varias cousas que pode facer para prepararse para a seguinte versión.

4.7.1. Purgar paquetes eliminados

Recoméndase que purgue os paquetes eliminados. Isto é especialmente importante se os paquetes foran eliminados nunha actualización previa (p.e. ao actualizar a bullseye) ou proviñan de terceiros. En particular, os vellos ficheiros init.d poden dan problemas.

[Cuidado]Cuidado

Purgar un paquete soe tamén purgar os seus rexistros, polo que debería pensar en facerlles unha copia de seguridade antes.

A seguinte orde amosa unha lista de todos os paquetes eliminados que pode que deixaran ficheiros de configuración no sistema:

$ apt list '~c'
    

Os paquetes poden ser eliminados con apt purge. Se quere purgar todos os paquetes do tirón podes usar a seguinte orde:

# apt purge '~c'
    

4.8. Paquetes obsoletos

Inda que introduce moitos paquetes novos, bookworm tamén elimina e omite varios paquetes vellos que estaban en bullseye. Non hai maneira de actualizar estes paquetes obsoletos. Inda que nada lle impide continuar usando un paquete obsoleto cando queira, o proxecto Debian soe deixar de darlles asistencia de seguridade tras un ano tras a publicación de bookworm[5], e non dará outras formas de asistencia técnica entrementres. Recoméndase que se substitúan por alternativas, se existen.

Hai moitas razóns polas que os paquetes poden ser eliminados da distribución: por que a fonte orixinal xa non se encarga deles, por que xa non hai Desenvolvedores de Debian interesados en manter os paquetes, por que a función que realizan foi substituída por programas diferentes ou unha versión nova, ou por que xa non se consideran axeitados para bookworm pola cantidade de fallos que teñen. Neste último caso pode que os paquetes inda se atopen na distribución « inestable ».

Os « Paquetes Obsoletos e Creados en Local » pódense amosar e eliminar usando as ordes:

$ apt list '~o'
# apt purge '~o'
  

O Sistema de Seguimento de Fallos de Debian pode dar máis información sobre por que se eliminou un paquete. Deberías revisar, tanto os informes de fallo arquivados do paquete en si, coma os informes de erro arquivados do pseudo paquete ftp.debian.org.

Para unha lista dos paquetes obsoletos en Bookworm, consulte Sección 5.3.1, « Paquetes obsoletos importantes ».

4.8.1. Paquetes temporais alfaremes

Algúns paquetes de bullseye pode que foran substituídos en bookworm por paquetes temporais alfaremes, que son quenta asentos baleiros pensados para simplificar a actualización. Se, por exemplo, unha aplicación que antes estaba nun paquete dividiuse entre varios, pódese crear un paquete alfareme co mesmo nome que o paquete vello e coas dependencias axeitadas para que se instalen os paquetes novos. Despois disto pódese eliminar o paquete alfareme.

As descricións dos paquetes alfaremes soen indicar o seu obxectivo. Porén, non son uniformes; por exemplo, algúns paquetes « alfaremes » están pensados para manterse instalados e instalar a suite de programas completa, ou para apuntar á última versión dalgún programa. Pode usar deborphan coas opcións --guess-* (p.e. --guess-dummy) para detectar os paquetes alfaremes no sistema.



[1] Se a prioridade de debconf está moi alta pode que non aparezan as preguntas de configuración, pero os servizos que usen respostas por omisión que non son aplicables ao seu sistema non funcionarán.

[2] Por exemplo: os servizos DNS ou DHCP, especialmente cando non haxa outros sistemas redundantes que sigan a funcionar entrementres. No caso do DHCP os usuarios pode que queden desconectados da rede se o tempo de caducidade do préstamo é menor que o tempo que tarde en actualizarse.

[3] Esta posibilidade pódese desactivar engadindo o parámetro de arranque panic=0.

[4] En circunstancias normais o sistema de xestión de paquetes de Debian non lle permite a un paquete eliminar ou substituír un ficheiro doutro paquete excepto se é o substituto dese paquete.

[5] Ou mentres non haxa outra versión entrementres. Normalmente só se lle da soporte técnico a dúas versións estables á vez.