Product SiteDocumentation Site

6.7. Actualització d'una distribució estable a la següent

Una de les característiques més conegudes de Debian és la seva capacitat d'actualitzar un sistema instal·lat d'una versió estable a la següent: dist-upgrade — una frase ben coneguda — ha contribuït en gran mesura a la reputació del projecte. Amb unes quantes precaucions, la millora d'un ordinador pot prendre tan sols uns pocs minuts, o unes poques dotzenes de minuts, depenent de la velocitat de descàrrega dels dipòsits de paquets.

6.7.1. Procediment recomanat

Com que Debian té bastant temps per evolucionar entre dues versions estables, hauríeu de llegir les notes de publicació abans d'actualitzar.
In this section, we will focus on upgrading a Bullseye system to Bookworm. This is a major operation on a system; as such, it is never 100% risk-free, and should not be attempted before all important data has been backed up.
Un altre bon hàbit que fa que l'actualització sigui més fàcil (i més curta) és posar ordre als vostres paquets instal·lats i mantenir només els que són realment necessaris. Les eines útils per fer-ho inclouen l'aptitude, el deborphan, el debfoster, i apt-show-versions (vegeu Secció 6.2.7, «Seguiment dels paquets instal·lats automàticament»). Per exemple, podeu utilitzar la següent ordre i, a continuació, utilitzar el mode interactiu de l'aptitude per a comprovar i afinar les eliminacions programades:
# deborphan | xargs aptitude --schedule-only remove
Now for the upgrading itself. First, you need to change the /etc/apt/sources.list file to tell APT to get its packages from Bookworm instead of Bullseye. If the file only contains references to Stable rather than explicit codenames, the change isn't even required, since Stable always refers to the latest released version of Debian. In both cases, the database of available packages must be refreshed with the apt update command or the refresh button in synaptic (Secció 6.2.1, «Inicialització»).
Un cop s'hagin registrat aquestes noves fonts de paquets, primer hauríeu de fer una actualització mínima amb apt upgrade i d'altres com es descriu a Secció 6.2.3, «Actualització del sistema». Al fer l'actualització en dues passes facilitem la feina de les eines de gestió de paquets i sovint garantim que tenim les últimes versions d'aquestes, que podrien haver acumulat correccions d'errors i millores necessàries per completar l'actualització de la distribució completa.
Once this first upgrade is done, it is time to handle the upgrade itself, either with apt full-upgrade, aptitude, or synaptic (Secció 6.7, «Actualització d'una distribució estable a la següent»). You should carefully check the suggested actions before applying them: you might want to add suggested packages or deselect packages which are only recommended and known not to be useful. In any case, the frontend should come up with a scenario ending in a coherent and up-to-date Bookworm system. Then, all you need is to do is wait while the required packages are downloaded, answer the debconf questions and possibly those about locally modified configuration files, and sit back while APT does its magic.

6.7.2. Gestió de problemes després d'una actualització

Malgrat els millors esforços dels mantenidors de Debian, una actualització major del sistema no sempre va tan fluïda com podríeu desitjar. Les noves versions de programari poden ser incompatibles amb les anteriors (per exemple, el seu comportament predeterminat o el seu format de dades pot haver canviat). A més, alguns errors poden passar escolar-se malgrat la fase de prova que sempre precedeix una nova versió de Debian.
Per anticipar alguns d'aquests problemes, podeu instal·lar el paquet apt-listchanges, que mostra informació sobre possibles problemes al començament d'una actualització de paquet. Aquesta informació és compilada pels mantenidors del paquet i es posa en fitxers /usr/share/doc/paquet/NEWS.Debian en benefici dels usuaris. La lectura d'aquests fitxers (possiblement mitjançant apt-listchanges) hauria d'ajudar-vos a evitar sorpreses desagradables.
A vegades podeu trobar que la nova versió d'un programari no funciona de cap manera. Això generalment passa si l'aplicació no és particularment popular i no s'ha provat prou; una actualització d'última hora també pot introduir regressions que només es detecten després de la publicació estable. En ambdós casos, el primer que cal fer és mirar al sistema de seguiment d'errors a https://bugs.debian.org/paquet, i comprovar si el problema ja ha estat informat. Si aquest és el cas, també es llistarà abans que comenci l'actualització si teniu instal·lat apt-listbugs. Si no ho ha estat, ho hauríeu d'informar vosaltres mateixos amb .reportbug. Si ja és conegut, l'informe d'error i els missatges associats solen ser una excel·lent font d'informació relacionada amb l'error:
  • de vegades ja existeix un pedaç («patch» en anglès), i està disponible a l'informe d'error; a continuació, podeu tornar a compilar localment una versió corregida del paquet trencat (vegeu Secció 15.1, «Recompilació d'un paquet a partir de les fonts»);
  • en altres casos, els usuaris poden haver trobat una solució al problema i haver compartit les seves idees sobre aquest en les seves respostes a l'informe;
  • i encara en altres casos, pot ser que el mantenidor ja hagi preparat i fet públic un paquet corregit.
Depenent de la gravetat de l'error, una nova versió del paquet es pot preparar específicament per a una nova revisió de la versió estable. Quan això passa, el paquet corregit està disponible a la secció proposed-updates de les rèpliques de Debian (vegeu Secció 6.1.2.3, «Actualitzacions proposades»). L'entrada corresponent es pot afegir temporalment al fitxer sources.list, i els paquets actualitzats es poden instal·lar amb apt o aptitude.
De vegades el paquet corregit encara no està disponible en aquesta secció perquè està pendent de validació pels «Stable Release Managers». Podeu verificar si aquest és el cas a la seva pàgina web. Els paquets llistats encara no estan disponibles, però almenys sabeu que el procés de publicació està en curs.

6.7.3. Fent neteja després d'una actualització

APT normalment garanteix una actualització neta, fent seguir les dependències noves o actualitzades, o eliminant paquets en conflicte. Però fins i tot sent una eina tan fantàstica, no pot abastar totes les tasques que els usuaris i administradors hauran d'afrontar després d'una actualització, perquè requereixen una decisió humana.

6.7.3.1. Paquets suprimits de l'Arxiu de Debian

Sometimes the Debian ftpmasters remove packages from the Debian archive, because they contain release critical bugs, were abandoned by their upstream author or their package maintainer, or simply reached their end of life. In this case, a newer Debian release does not ship the package anymore. To find all packages, which do not have a package source, use the apt-show-versions command:
$ apt-show-versions | grep "No available version"
Un resultat similar es pot aconseguir mitjançant aptitude search ~o. Si els paquets trobats ja no són necessaris s'haurien de purgar del sistema, perquè ja no tindran actualitzacions per a errors crítics o relacionats amb la seguretat.

6.7.3.2. Paquets “babaus” i de transició

A vegades pot ser necessari que un paquet rebi un nou nom. En aquest cas, sovint el paquet antic es manté com un paquet (gairebé) buit, depenent del nou i instal·lant només els fitxers obligatoris a /usr/share/doc/paquet/. Aquests paquets s'anomenen paquets “babaus” («dummy») o “transicionals”. Si el mantenidor a càrrec del paquet també ha canviat la secció d'aquest paquet a oldlibs, llavors les eines com ara aptitude, deboprhan o debfoster (vegeu la barra lateral ALTERNATIVA deborphan i debfoster) poden detectar aquests paquets per suggerir-ne l'eliminació.
Per desgràcia, actualment no existeix una manera infal·lible d'assegurar-se que aquests paquets siguin automàticament eliminats o detectats per les eines esmentades anteriorment. Una manera de comprovar si el sistema encara té instal·lats alguns d'aquests paquets és mirar a través de les descripcions dels paquets instal·lats i després comprovar els resultats. Aneu amb compte de no programar els resultats per a l'eliminació automàtica, perquè aquest mètode pot originar falsos positius:
$ dpkg -l | grep ^ii | grep -i -E "(transition|dummy)"
Com que el nou paquet s'introdueix com una dependència del paquet de transició, normalment es marca com a instal·lat automàticament i pot estar programat per a la seva eliminació si intenteu purgar el paquet de transició del vostre sistema. En aquest cas, es pot utilitzar qualsevol dels enfocaments descrits en la barra lateral SUGGERIMENT Eliminant i instal·lant al mateix temps i Secció 6.2.7, «Seguiment dels paquets instal·lats automàticament» per eliminar selectivament el paquet de transició.

6.7.3.3. Fitxers de configuració antics o no utilitzats

If the upgrade was successful, there might be some configuration file cruft, either from dpkg (see Secció 5.2.3, «Sumes de verificació («checksums»), llista de fitxers de configuració, i altres.»), ucf or from removed packages. The latter can be purged by using apt autoremove --purge. The configuration files that were handled by dpkg or ucf during the upgrade process have left some counterparts with a dedicated suffix, e.g. .dpkg-dist, .dpkg-old, .ucf-old. Using the find or locate command can help to track them down. If they are no longer of any use, they can be deleted.
Be aware that a purge also removes the data created with a particular package (e.g. database files, docker volumes and containers, etc.). There should always be backups in place in case data gets removed accidentally.

6.7.3.4. Fitxers que no són de cap paquet

La Política de Debian imposa que els paquets no deixin fitxers enrere quan són purgats. Violar aquest principi és un error greu i rarament el trobareu. Si ho feu, informeu-ne; i si teniu curiositat, podeu utilitzar el paquet cruft o cruft-ng per comprovar el vostre sistema de fitxers que no són propietat de cap paquet.