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 Buster system to Bullseye. 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.
Another good habit which makes the upgrade easier (and shorter) is to tidy your installed packages and keep only the ones that are really needed. Helpful tools to do that include aptitude, deborphan, debfoster, and apt-show-versions (see Secció 6.2.7, «Seguiment dels paquets instal·lats automàticament»). For example, you can use the following command, and then use aptitude's interactive mode to double check and fine-tune the scheduled removals:
# 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 Bullseye instead of Buster. 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ó»).
Once these new package sources are registered, you should first do a minimal upgrade with apt upgrade et al. as described in Secció 6.2.3, «Actualització del sistema». By doing the upgrade in two steps, we ease the job of the package management tools and often ensure that we have the latest versions of those, which might have accumulated bugfixes and improvements required to complete the full distribution upgrade.
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 Bullseye 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.
You might sometimes find that the new version of a software doesn't work at all. This generally happens if the application isn't particularly popular and hasn't been tested enough; a last-minute update can also introduce regressions which are only found after the stable release. In both cases, the first thing to do is to have a look at the bug tracking system at https://bugs.debian.org/package, and check whether the problem has already been reported. If this is case, it will be also listed before the upgrade begins if you have apt-listbugs installed. If it hasn't, you should report it yourself with reportbug. If it is already known, the bug report and the associated messages are usually an excellent source of information related to the bug:
  • 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, «Checksums, List of Configuration Files, et al.»), 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.

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.