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:
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)"
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.