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.
En aquesta secció, ens centrarem a actualitzar un sistema Buster a Bullseye. Es tracta d'una operació cabdal en un sistema; com a tal, mai està exempt de riscos al 100%, i no hauria d'intentar-se abans d'haver fet còpies de seguretat de totes les dades importants.
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
I ara l'actualització en si mateixa. Primer, heu de canviar el fitxer /etc/apt/sources.list per dir-li a APT que obtingui els paquets de Bullseye en lloc dels d'Buster. Si el fitxer només conté referències a Stable en lloc de noms de codi explícits, el canvi ni tant sols fa falta, ja que Stable sempre es refereix a l'última versió publicada de Debian. En tots dos casos, la base de dades dels paquets disponibles s'ha de refrescar amb l'ordre apt update o el botó d'actualització al 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.
Una vegada que es fa aquesta primera actualització, és hora de gestionar la mateixa actualització, ja sigui ambapt full-upgrade , aptitude o synaptic (Secció 6.7, «Actualització d'una distribució estable a la següent»). Hauríeu de comprovar acuradament les accions suggerides abans d'aplicar-les: potser voleu afegir paquets suggerits o “desseleccionar” paquets que només es recomanen i que sabeu que no us són útils. En qualsevol cas, la interfície hauria de presentar un escenari que acabés en un sistema Bullseye coherent i actualitzat. Llavors, tot el que cal fer és esperar mentre es descarreguen els paquets requerits, respondre a les preguntes del «debconf» i, possiblement, a les qüestions relatives als fitxers de configuració modificats localment, i seure mentre APT fa la seva màgia.

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

De vegades els «ftpmasters» de Debian (administradors del servei «ftp») eliminen paquets de l'arxiu Debian perquè contenen errors crítics, o per estar abandonats pel seu autor principal o pel seu mantenidor de paquets, o simplement van arribar al seu final de vida. En aquest cas, una versió nova de Debian ja no inclourà el paquet. Per trobar tots els paquets que no tenen un paquet font utilitzeu l'ordre apt-show-versions:
$ 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

Si l'actualització ha tingut èxit, pot haver-hi algun fitxer de configuració brossa, ja sigui de dpkg (vegeu Secció 5.2.3, «Sumes de verificació («checksums»), llista de fitxers de configuració, i altres.»), ucf o de paquets suprimits. Aquests últims es poden purgar mitjançant l'ús d'apt autoremove --purge. Els fitxers de configuració que van ser gestionats per dpkg o ucf durant el procés d'actualització poden haver deixat alguns homòlegs amb un sufix dedicat, per exemple .dpkg-dist, .dpkg-old, .ucf-old. L'ús de l'ordre find o de locate pot ajudar a localitzar-los. Si ja no tenen cap utilitat, poden ser eliminats.

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.