4. Actualizarea de la Debian 12 (bookworm)

4.1. Pregătirile pentru actualizare

Vă sugerăm ca înainte de actualizare să citiți informațiile din Probleme în trixie de care ar trebui să știți. Acel capitol tratează probleme potențiale care nu sunt legate direct de procesul de actualizare, dar care ar putea fi important de știut înainte să începeți.

4.1.1. Faceți copii de siguranță pentru orice date sau configurații

Înainte de a vă actualiza sistemul, este indicat să faceți o copie de siguranță completă, sau cel puțin a datelor sau a configurațiilor pe care nu vă permiteți să le pierdeți. Uneltele și procesele de actualizare sunt foarte fiabile, însă o problemă hardware apărută în mijlocul actualizării poate afecta sever un sistem.

The main things you'll want to back up are the contents of /etc, /var/lib/dpkg, /var/lib/apt/extended_states and the output of:

$ dpkg --get-selections '*' # (the quotes are important)

If you use aptitude to manage packages on your system, you will also want to back up /var/lib/aptitude/pkgstates.

Procesul de actualizare în sine nu modifică nimic în directorul /home. Totuși, unele aplicații (cum ar fi unele componente ale suitei Mozilla, mediile grafice GNOME și KDE) sunt cunoscute pentru faptul că suprascriu valorile existente ale configurațiilor utilizatorilor cu noi valori implicite în momentul în care o versiune nouă a aplicației este pornită pentru prima oară de către utilizator. Ca măsură de precauție, veți dori probabil să faceți o copie de siguranță a fișierelor și directoarelor ascunse ("dotfiles" (n. trad. care încep cu punct)) din directoarele utilizatorilor. Copia ar putea să vă ajute să restaurați sau să recreați vechile configurații. Probabil veți dori să informați și utilizatorii în acest sens.

Orice operație de instalare a pachetelor trebuie executată cu drepturi de superutilizator, deci fie vă autentificați ca root, fie utilizați su sau sudo pentru a obține drepturile de acces necesare.

Operația de actualizare are câteva precondiții pe care va trebui să le verificați înainte de actualizare.

4.1.2. Informați utilizatorii din timp

Este o idee bună să informați din timp toți utilizatorii despre actualizările planificate, chiar dacă utilizatorii ce vă accesează sistemul prin conexiune ssh n-ar trebui să sesizeze prea multe în timpul actualizării și ar trebui să-și poată continua lucrul.

Dacă doriți să vă luați măsuri suplimentare de precauție faceți o copie de siguranță sau demontați partiția /home înainte de actualizare.

Va trebui sa faceți o înnoire de nucleu (n. trad. "kernel") odată cu trecerea la trixie, deci o repornire va fi necesară. În mod normal aceasta se face atunci când actualizarea este încheiată.

4.1.3. Pregătiri pentru indisponibilitatea serviciilor

Pot exista servicii oferite de sistem asociate cu pachete care vor fi incluse in actualizare. În acest caz țineți cont că aceste servicii vor fi oprite în timp ce pachetele asociate sunt înlocuite și configurate. În această perioadă, serviciile respective nu vor fi disponibile.

Timpul precis de indisponibilitate al acestor servicii variază în funcție de numărul de pachete actualizate în sistem și include de asemenea timpul necesar administratorului de sistem să răspundă la întrebările de configurare de la actualizările de pachete (dacă există). Țineți cont că, în cazul în care procesul de înnoire se face nesupraveghat și sistemul solicită informații pe parcursul actualizării, este foarte posibil ca serviciile să fie indisponibile [1] pentru o perioadă de timp semnificativă.

If the system being upgraded provides critical services for your users or the network [2], you can reduce the downtime if you do a minimal system upgrade, as described in Minimal system upgrade, followed by a kernel upgrade and reboot, and then upgrade the packages associated with your critical services. Upgrade these packages prior to doing the full upgrade described in Upgrading the system. This way you can ensure that these critical services are running and available through the full upgrade process, and their downtime is reduced.

4.1.4. Pregătiri pentru recuperare

Deși Debian face tot posibilul ca sistemul să rămână capabil de pornire în orice moment există o șansă să întâmpinați probleme la reinițializarea sistemului după actualizare. Problemele potențiale cunoscute sunt documentate aici și în următorul capitol al acestor Note de lansare.

Din acest motiv are sens să vă asigurați că veți putea să recuperați sistemul în cazul în care acesta nu va mai reporni, sau va eșua la activarea rețelei, în cazul sistemelor la distanță.

Dacă faceți actualizarea de la distanță printr-o conexiune ssh este recomandabil să luați măsurile necesare pentru a putea accesa serverul printr-un terminal serial la distanță. Există posibilitatea ca după actualizarea nucleului și repornirea sistemului să fie nevoie să reparați configurația sistemului de la o consolă locală. De asemenea, dacă sistemul este repornit accidental în mijlocul actualizării există șansa să fie necesară recuperare folosind o consolă locală.

Pentru recuperare de urgență în general recomandăm să folosiți rescue mode (n. trad. modul de recuperare) al Programului de instalare Debian trixie. Avantajul folosirii programului de instalare este că puteți alege dintre multiplele metode de recuperare pe cea care se potrivește cel mai bine situației. Vă rugăm să consultați secțiunea "Recovering a Broken System" (n.tr. Recuperarea unui sistem stricat) din capitolul 8 al Ghidului de instalare (at https://www.debian.org/releases/trixie/installmanual) și FAQ - Întrebări frecvente despre Programul de instalare.

If that fails, you will need an alternative way to boot your system so you can access and repair it. One option is to use a special rescue or live install image. After booting from that, you should be able to mount your root file system and chroot into it to investigate and fix the problem.

4.1.4.1. Consolă de depanare în timpul inițializării folosind initrd

Pachetul initramfs-tools include un interpretor de comenzi minimal [3] în imaginile initrd pe care le generează. De exemplu, dacă imaginea initrd nu poate să monteze sistemul de fișiere rădăcină, veți fi transferat la acest interpretor de comenzi, care dispune de comenzi de bază pentru a putea detecta și eventual rezolva problema.

Lucruri uzuale pe care ar trebui să le verificați: prezența fișierelor-dispozitiv corecte în /dev; ce module sunt încărcate (cat /proc/modules); rezultatul comenzii dmesg, pentru erori la încărcarea driverelor. Rezultatul comenzii dmesg va arăta și care fișiere-dispozitiv au fost alocate discurilor. Ar trebui să comparați cu rezultatul comenzii echo $ROOT pentru a vă asigura că sistemul de fișiere rădăcină este pe dispozitivul la care vă așteptați.

Dacă reușiți să corectați problema puteți ieși din consola de depanare cu comanda exit, iar apoi se va continua procesul de inițializare de la punctul în care a eșuat. Desigur, va trebui să reparați problema la bază și să regenerați imaginea initrd pentru ca următoarea inițializare să nu eșueze din nou.

4.1.4.2. Consola de depanare în timpul inițializării folosind systemd

Dacă inițializarea eșuează rulând systemd este posibil să obțineți o consolă de depanare root (cu drepturi de administrator) modificând linia de comandă a nucleului. Dacă inițializarea reușește, dar unele servicii nu pornesc, ar putea fi util să adăugați systemd.unit=rescue.target la parametrii nucleului.

Altfel, parametrul de nucleu systemd.unit=emergency.target va oferi o consolă de administrare cât se poate de repede. Totuși, aceasta se va întâmplă înainte de montarea sistemul de fișiere rădăcină cu permisiuni citire-scriere. Va trebui să faceți asta manual cu:

# mount -o remount,rw /

Another approach is to enable the systemd "early debug shell" via the debug-shell.service. On the next boot this service opens a root login shell on tty9 very early in the boot process. It can be enabled with the kernel boot parameter systemd.debug-shell=1, or made persistent with systemctl enable debug-shell (in which case it should be disabled again when debugging is completed).

Mai multe informații despre depanarea unei inițializări cu systemd nefuncționale pot fi găsite în articolul Diagnosticarea problemelor de inițializare a sistemului.

4.1.5. Pregătiți un mediu sigur pentru actualizare

Important

Dacă utilizați servicii VPN (cum ar fi tinc) este posibil ca acestea să nu fie disponibile pe tot parcursul procesului de actualizare. Mai multe informații la Prepare for downtime on services.

Pentru a avea o marjă de siguranță suplimentară atunci când actualizați de la distanță vă sugerăm să rulați procesul de actualizare într-o consolă virtuală furnizată de programul screen. Acesta permite reconectarea în siguranță iar procesul de actualizare nu este întrerupt, chiar dacă procesul conexiunii la distanță eșuează temporar.

Utilizatorii daemonului watchdog (n. trad. câine de pază) furnizat de pachetul micro-evtd ar trebui să îl oprească și să dezactiveze temporizatorul înainte de actualizare, pentru a evita reporniri neașteptate în mijlocul procesului de actualizare:

# service micro-evtd stop
# /usr/sbin/microapl -a system_set_watchdog off

4.2. Start from "pure" Debian

The upgrade process described in this chapter has been designed for "pure" Debian stable systems. APT controls what is installed on your system. If your APT configuration mentions additional sources besides bookworm, or if you have installed packages from other releases or from third parties, then to ensure a reliable upgrade process you may wish to begin by removing these complicating factors.

Fișierul principal de configurare folosit de APT pentru a decide de la ce surse va descărca pachete este /etc/apt/sources.list, dar poate folosi și fișiere din directorul /etc/apt/sources.list.d/ - pentru detalii vedeți sources.list(5). Dacă sistemul dumneavoastră folosește fișiere source-list multiple trebuie să vă asigurați că sunt consecvente.

4.2.1. Upgrade to Debian 12 (bookworm)

Only upgrades from Debian 12 (bookworm) are supported. Display your Debian version with:

$ cat /etc/debian_version

Please follow the instructions in the Release Notes for Debian 12 at https://www.debian.org/releases/bookworm/releasenotes to upgrade to Debian 12 first if needed.

4.2.2. Upgrade to latest point release

This procedure assumes your system has been updated to the latest point release of bookworm. If you have not done this or are unsure, follow the instructions in Actualizarea sistemului bookworm.

4.2.3. Debian Backports

Debian Backports allows users of Debian stable to run more up-to-date versions of packages (with some tradeoffs in testing and security support). The Debian Backports Team maintains a subset of packages from the next Debian release, adjusted and recompiled for usage on the current Debian stable release.

Packages from bookworm-backports have version numbers lower than the version in trixie, so they should upgrade normally to trixie in the same way as "pure" bookworm packages during the distribution upgrade. While there are no known potential issues, the upgrade paths from backports are less tested, and correspondingly incur more risk.

Avertisment

While regular Debian Backports are supported, there is no clean upgrade path from sloppy backports (which use APT source-list entries referencing bookworm-backports-sloppy).

As with Unofficial sources, users are advised to remove "bookworm-backports" entries from their APT source-list files before the upgrade. After it is completed, they may consider adding "trixie-backports" (see https://backports.debian.org/Instructions/).

For more information, consult the Backports Wiki page.

4.2.4. Prepare the package database

You should make sure the package database is ready before proceeding with the upgrade. If you are a user of another package manager like aptitude or synaptic, review any pending actions. A package scheduled for installation or removal might interfere with the upgrade procedure. Note that correcting this is only possible if your APT source-list files still point to "bookworm" and not to "stable" or "trixie"; see Verificarea fișierelor listelor de surse APT.

4.2.5. Remove obsolete packages

It is a good idea to remove obsolete packages from your system before upgrading. They may introduce complications during the upgrade process, and can present security risks as they are no longer maintained.

4.2.6. Remove non-Debian packages

Mai jos sunt două metode pentru a găsi pachete instalate care nu provin de la Debian, folosind aptitude sau apt-forktracer. Rețineți că niciuna din metode nu are acuratețe 100% (exemplul cu aptitude va lista pachete furnizate în trecut de Debian, cum ar fi pachete vechi de nucleu).

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

4.2.7. Clean up leftover configuration files

A previous upgrade may have left unused copies of configuration files; old versions of configuration files, versions supplied by the package maintainers, etc. Removing leftover files from previous upgrades can avoid confusion. Find such leftover files with:

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

4.2.8. The non-free and non-free-firmware components

If you have non-free firmware installed it is recommended to add non-free-firmware to your APT sources-list. For details see Archive areas and Non-free firmware moved to its own component in the archive.

4.2.9. Secțiunea proposed-updates

Dacă aveți secțiunea proposed-updates (n. trad. actualizări propuse) în fișierele source-list ale APT ar fi bine să o ștergeți înainte de a încerca să actualizați sistemul. Aceasta este o precauție pentru a reduce probabilitatea unor conflicte.

4.2.10. Surse neoficiale

Dacă aveți pachete non-Debian pe sistemul dumneavoastră ar trebui să știți că acestea ar putea fi șterse în cursul actualizării datorită unor conflicte de dependențe. Dacă aceste pachete au fost instalate prin adăugarea unei arhive suplimentare în fișierele source-list ale APT ar trebui să verificați dacă această arhivă oferă pachete compilate pentru trixie și să schimbați sursa corespunzătoare la același moment cu schimbarea surselor pentru pachetele Debian.

Some users may have unofficial backported "newer" versions of packages that are in Debian installed on their bookworm system. Such packages are most likely to cause problems during an upgrade as they may result in file conflicts [4]. Possible issues during upgrade has some information on how to deal with file conflicts if they should occur.

4.2.11. Dezactivarea alegerilor selective APT

If you have configured APT to install certain packages from a distribution other than stable (e.g. from testing), you may have to change your APT pinning configuration (stored in /etc/apt/preferences and /etc/apt/preferences.d/) to allow the upgrade of packages to the versions in the new stable release. Further information on APT pinning can be found in apt_preferences(5).

4.2.12. Check gpgv is installed

APT needs gpgv version 2 or greater to verify the keys used to sign releases of trixie. Since gpgv1 technically satisfies the dependency but is useful only in specialized circumstances, users may wish to ensure the correct version is installed with:

# apt install gpgv

4.2.13. Check package status

Indiferent de metoda utilizată pentru actualizare, se recomandă să verificați mai întâi starea tuturor pachetelor și să vă asigurați că toate pachetele sunt într-o stare actualizabilă. Următoarea comandă va afișa eventualele pachete care au starea de Half-Installed (n. trad. jumătate-instalat) sau Failed-Config (n. trad. eșec-configurare), precum și cele cu o stare de eroare.

$ dpkg --audit

Ați putea să inspectați starea tuturor pachetelor de pe sistemul dumneavoastră și utilizând aptitude sau folosind comenzi precum

$ dpkg -l | pager

sau

# dpkg --get-selections '*' > ~/curr-pkgs.txt

Alternatively you can also use apt.

# apt list --installed > ~/curr-pkgs.txt

Este preferabil să ștergeți orice marcaje „păstrat” (n. trad. „hold”) înainte de actualizare. Actualizarea va eșua dacă este păstrat un pachet esențial pentru actualizare.

$ apt-mark showhold

Dacă ați modificat și recompilat local un pachet și nu l-ați redenumit sau nu ați adăugat o „epocă” la versiune, va trebui să îl „păstrați” pentru a nu fi actualizat.

Starea "hold" pentru apt poate fi schimbată folosind:

# apt-mark hold package_name

Replace hold with unhold to unset the "hold" state.

Dacă mai aveți ceva de rezolvat este cel mai bine vă asigurați că fișierele source-list APT încă fac referire la bookworm, după cum este explicat în Verificarea fișierelor listelor de surse APT.

4.3. Pregătirea surselor pentru APT

Before starting the upgrade you must reconfigure APT source-list files (/etc/apt/sources.list and files under /etc/apt/sources.list.d/) to add sources for trixie and typically to remove sources for bookworm.

APT will consider all packages that can be found via any configured archive, and install the package with the highest version number, giving priority to the first entry in the files. Thus, if you have multiple mirror locations, list first the ones on local hard disks, then CD-ROMs, and then remote mirrors.

O versiune poate fi menționată atât prin numele de cod (de ex: "bookworm", "trixie") cât și prin numele de stare (ex: "oldstable", "stable", "testing", "unstable"). Referirea la o versiune folosind numele de cod are avantajul că nu veți fi luat prin surprindere de o nouă versiune, motiv pentru care am folosit această abordare aici. Evident, aceasta înseamnă că va trebui să urmăriți anunțurile de lansare. Dacă utilizați numele de stare veți observa multe actualizări pentru pachete, disponibile imediat ce o versiune a fost lansată.

Debian pune la dispoziție două liste de e-mail cu anunțuri care vă ajută să rămâneți la curent cu informații relevante despre lansările Debian:

4.3.1. Adăugarea de surse internet pentru APT

La instalări noi implicit APT este configurat să folosească serviciul Debian APT CDN (n. trad. CDN - „Content Delivery Network”, rețea de distribuție de conținut). În felul acesta pachetele ar trebui să fie descărcate automat de la un server apropiat în rețea. Deoarece acesta este un serviciu nou instalările mai vechi ar putea fi configurate să preia pachete de la serverele principale Debian sau unul din siturile oglindă. Este recomandat să comutați la utilizarea serviciului CDN în configurația APT, în cazul în care nu ați făcut deja acest lucru.

Pentru a utiliza serviciul CDN adăugați o linie ca aceasta în configurația APT (se presupune că folosiți secțiunile main și contrib):

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

După ce adăugați noile surse dezactivați liniile "deb" care existau înainte, prin introducerea unui diez (#) la începutul lor.

Totuși, dacă obțineți rezultate mai bune folosind un site-oglindă specific care este mai apropiat din punct de vedere al rețelei, această opțiune este disponibilă în continuare.

Adresele siturilor-oglindă Debian pot fi găsite la https://www.debian.org/distrib/ftplist (vedeți secțiunea "lista serverelor Debian").

De exemplu, să presupunem că cel mai apropiat sit-oglindă Debian este http://mirrors.kernel.org. Dacă inspectați această locație cu un navigator web, veți observa că directoarele principale sunt organizate astfel:

http://mirrors.kernel.org/debian/dists/trixie/main/...
http://mirrors.kernel.org/debian/dists/trixie/contrib/...

Pentru a configura APT să folosească un sit-oglindă, adăugați o linie ca aceasta (se presupune din nou că folosiți main și contrib):

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

Observați că "dists" este adăugat implicit, iar argumentele de după numele versiunii sunt utilizate pentru a extinde calea în directoare multiple.

Din nou, după ce adăugați sursele noi, dezactivați înregistrările pentru arhive existente anterior.

4.3.2. Adăugarea de surse APT pentru un sit-oglindă local

În loc să folosiți situri-oglindă poate doriți să modificați fișierele source-list APT pentru a folosi o sursă de pe un disc local (eventual montat prin NFS).

De exemplu, locația dumneavoastră cu pachete poate fi în /var/local/debian/, având directoarele principale astfel:

/var/local/debian/dists/trixie/main/...
/var/local/debian/dists/trixie/contrib/...

Pentru a utiliza această locație cu apt adăugați această linie în fișierul sources.list:

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

Observați că "dists" este adăugat implicit, iar argumentele de după numele versiunii sunt utilizate pentru a extinde calea în directoare multiple.

După ce ați adăugat noile surse dezactivați liniile pentru arhive care existau deja în fișierele source-list ale APT prin plasarea unui diez (#) la începutul lor.

4.3.3. Adăugarea de surse APT de pe un mediu optic

Dacă doriți să folosiți doar DVD-uri (sau CD-uri sau discuri Blu-ray), dezactivați liniile existente din fișierele source-list APT, prin plasarea unui diez (#) la începutul lor.

Asigurați-vă că există o linie în /etc/fstab ce permite montarea CD-ROM-ului la locația /media/cdrom. De exemplu, dacă unitatea CD-ROM este /dev/sr0 atunci /etc/fstab ar trebui să conțină o linie de genul:

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

De reținut că între cuvintele noauto,ro din cel de-al patrulea câmp nu trebuie să existe niciun spațiu.

Pentru a verificare introduceți un CD și încercați să rulați

# mount /media/cdrom    # this will mount the CD to the mount point
# ls -alF /media/cdrom  # this should show the CD's root directory
# umount /media/cdrom   # this will unmount the CD

Apoi rulați

# apt-cdrom add

pentru fiecare CD-ROM Debian cu binare pe care îl aveți, pentru a adăuga datele despre fiecare CD în baza de date APT.

4.4. Actualizarea pachetelor

Metoda recomandată de actualizare de la versiuni anterioare Debian este să folosiți utilitarul de gestionare a pachetelor apt.

Notă

Comanda apt este destinată folosirii interactive și nu ar trebui folosită în scripturi. În scripturi ar trebui folosită comanda apt-get, care produce răspunsuri stabile, mai potrivite pentru procesare automată.

Nu uitați să montați toate partițiile necesare (în special partiția rădăcină și partiția /usr) în mod citire-scriere, cu o comandă ca:

# mount -o remount,rw /mountpoint

În continuare ar trebui să verificați că sursele APT (din /etc/apt/sources.list și fișierele din /etc/apt/sources.list.d/) fac referință la "trixie" sau la "stable". Nu ar trebui să fie nicio sursă care se referă la bookworm.

Notă

Liniile de surse pentru CD-uri pot conține uneori "unstable". Deși acest lucru poate fi derutant ele nu trebuie schimbate.

4.4.1. Înregistrarea sesiunii

Este recomandat să utilizați programul /usr/bin/script pentru a înregistra sesiunea de actualizare. În cazul în care intervine vreo problemă veți avea un istoric a ceea ce s-a întâmplat, iar dacă este nevoie, veți putea oferi informații exacte când raportați problema. Pentru a porni înregistrarea, tastați:

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

sau similar. Dacă trebuie să porniți înregistrarea din nou (ex. dacă trebuie să reporniți sistemul) folosiți valori diferite pentru step pentru a indica ce etapă a actualizării este înregistrată. Nu puneți fișierul script într-un director temporar cum ar fi /tmp sau /var/tmp (fișiere în aceste directoare ar putea fi șterse în timpul actualizării sau la o repornire).

The typescript will also allow you to review information that has scrolled off-screen. If you are at the system's console, just switch to VT2 (using Alt+F2) and, after logging in, use

# less -R ~root/upgrade-trixie.script

to view the file.

After you have completed the upgrade, you can stop script by typing exit at the prompt.

apt va înregistra schimbările de stare ale pachetelor în /var/log/apt/history.log și mesajele din terminal în /var/log/apt/term.log. Suplimentar dpkg va înregistra schimbările de stare ale pachetelor în /var/log/dpkg.log. Dacă folosiți aptitude acesta va înregistra suplimentar schimbările de stare în /var/log/aptitude.

Dacă ați folosit opțiunea -t pentru script puteți folosi programul scriptreplay pentru a reda întreaga sesiune:

# scriptreplay ~/upgrade-trixie-step.time ~/upgrade-trixie-step.script

4.4.2. Actualizarea listei de pachete

Mai întâi trebuie preluată lista pachetelor disponibile în noua versiune. Aceasta se face cu:

# apt update

Notă

Utilizatorii care folosesc apt-secure ar putea avea probleme cu aptitude sau apt-get. Pentru apt-get puteți folosi apt-get update --allow-releaseinfo-change.

4.4.3. Verificați dacă aveți suficient spațiu pentru actualizare

You have to make sure before upgrading your system that you will have sufficient hard disk space when you start the full system upgrade described in Upgrading the system. First, any package needed for installation that is fetched from the network is stored in /var/cache/apt/archives (and the partial/ subdirectory, during download), so you must make sure you have enough space on the file system partition that holds /var/ to temporarily download the packages that will be installed in your system. After the download, you will probably need more space in other file system partitions in order to both install upgraded packages (which might contain bigger binaries or more data) and new packages that will be pulled in for the upgrade. If your system does not have sufficient space you might end up with an incomplete upgrade that is difficult to recover from.

apt can show you detailed information about the disk space needed for the installation. Before executing the upgrade, you can see this estimate by running:

# apt -o APT::Get::Trivial-Only=true full-upgrade
[ ... ]
XXX upgraded, XXX newly installed, XXX to remove and XXX not upgraded.
Need to get xx.xMB of archives.
After this operation, AAAMB of additional disk space will be used.

Notă

Running this command at the beginning of the upgrade process may give an error, for the reasons described in the next sections. In that case you will need to wait until you've done the minimal system upgrade as in Minimal system upgrade before running this command to estimate the disk space.

Dacă nu aveți spațiu suficient pentru actualizare, apt vă va avertiza cu un mesaj asemănător cu:

E: You don't have enough free space in /var/cache/apt/archives/.

În această situație eliberați spațiu înainte de actualizare. Aveți mai multe opțiuni:

  • Ștergeți pachetele care au fost descărcate anterior pentru a fi instalate (în /var/cache/apt/archive). Curățarea depozitului temporar de pachete se face cu comanda apt clean, care va șterge toate fișierele descărcate anterior.

  • Îndepărtați pachete uitate. Dacă ați utilizat aptitude sau apt pentru a instala manual pachete în bookworm, acestea vor reține faptul că au fost instalate manual și vor putea marca drept inutile pachetele care au fost instalate doar ca dependențe și nu mai sunt necesare deoarece pachetele care aveau nevoie de ele au fost șterse. În consecință nu vor marca pentru ștergere pachetele pe care le-ați instalat manual. Pentru a îndepărta pachetele instalate automat și care nu mai sunt folosite, executați:

    # apt autoremove
    

    Puteți folosi și deborphan, debfoster sau cruft pentru a găsi pachete inutile. Nu dezinstalați pachetele prezentate de aceste unelte fără o examinare atentă, mai ales dacă folosiți opțiunile agresive, neimplicite, care sunt susceptibile de a da rezultate eronate cu privire la starea pachetelor. Este indicat să analizați manual pachetele sugerate pentru dezinstalare (ex: conținutul, dimensiunea și descrierea) înainte de a le dezinstala.

  • Îndepărtați pachete care ocupă prea mult loc și nu sunt necesare în acest moment (le puteți instala din nou după actualizare). Dacă aveți instalat pachetul popularity-contest puteți folosi popcon-largest-unused pentru a afișa pachetele neutilizate care ocupă cel mai mult spațiu. Puteți găsi pachetele care ocupă cel mai mult spațiu cu dpigs (disponibil în pachetul debian-goodies) sau cu wajig (rulând wajig size). Puteți folosi și aptitude. Porniți aptitude în "modul vizual", alegeți Vizualizări > Listă nouă simplă de pachete (Views > New Flat Package List în varianta engleză), apăsați tasta l și introduceți ~i. După aceea apăsați S și introduceți ~installsize. Ca rezultat veți obține o listă cu care se poate lucra.

  • Ștergeți fișierele de traducere și localizare din sistem în caz că nu mai sunt necesare. Puteți instala și configura pachetul localepurge astfel încât doar câteva localizări selectate să fie păstrate. Astfel se va reduce din spațiul ocupat în /usr/share/locale.

  • Mutați temporar pe un alt sistem sau ștergeți permanent fișierele jurnal de sistem din /var/log/.

  • Folosiți un /var/cache/apt/archives temporar: pentru depozitul temporar puteți folosi un director de pe un alt sistem de fișiere (dispozitiv de stocare USB, disc instalat temporar, un alt sistem de fișiere în utilizare, ...).

    Notă

    Nu folosiți o partiție NFS deoarece conexiunea la rețea ar putea fi întreruptă în timpul actualizării.

    De exemplu, dacă aveți un dispozitiv USB montat la /media/stick-usb:

    1. ștergeți pachetele care au fost descărcate anterior spre instalare:

      # apt clean
      
    2. copiați directorul /var/cache/apt/archives pe dispozitivul USB:

      # cp -ax /var/cache/apt/archives /media/usbkey/
      
    3. montați directorul pentru depozit temporar peste cel curent:

      # mount --bind /media/usbkey/archives /var/cache/apt/archives
      
    4. după actualizare restaurați directorul /var/cache/apt/archives original:

      # umount /var/cache/apt/archives
      
    5. ștergeți directorul /media/stick-usb/archives.

    Puteți crea directorul pentru depozit temporar pe orice sistem de fișiere montat pe sistemul dumneavoastră.

  • Do a minimal upgrade of the system (see Minimal system upgrade) or partial upgrades of the system followed by a full upgrade. This will make it possible to upgrade the system partially, and allow you to clean the package cache before the full upgrade.

Țineți cont că pentru a putea șterge pachete în siguranță se recomandă să treceți fișierele source-list ale APT înapoi la bookworm după cum este descris în Verificarea fișierelor listelor de surse APT.

4.4.4. Stop monitoring systems

As apt may need to temporarily stop services running on your computer, it's probably a good idea to stop monitoring services that can restart other terminated services during the upgrade. In Debian, monit is an example of such a service.

4.4.5. Actualizare de sistem minimală

In some cases, doing the full upgrade (as described below) directly might remove large numbers of packages that you will want to keep. We therefore recommend a two-part upgrade process: first a minimal upgrade to overcome these conflicts, then a full upgrade as described in Upgrading the system.

Pentru a face acest lucru mai întâi rulați:

# apt upgrade --without-new-pkgs

Aceasta are ca efect actualizarea acelor pachete care pot fi actualizate fără ca alte pachete să fie șterse, dar va instala pachete noi dacă este necesar.

Actualizarea minimală a sistemului poate fi folositoare și atunci când sistemul nu dispune de spațiu suficient și nu se poate face o actualizare completă datorită constrângerilor de spațiu.

Dacă pachetul apt-listchanges este instalat acesta va afișa informații importante despre pachetele actualizate (în configurația implicită) după descărcarea pachetelor. Pentru a ieși din programul de afișare și a continua actualizarea apăsați q după ce ați citit.

4.4.6. Actualizarea sistemului

Dacă ați executat pașii anteriori puteți continua cu partea principală a actualizării. Executați:

# apt full-upgrade

Aceasta va efectua o actualizare completă a sistemului, instalând cele mai noi versiuni disponibile ale tuturor pachetelor și va rezolva toate posibilele schimbări de dependențe dintre pachetele din diferitele versiuni. Dacă este necesar va instala câteva pachete noi (de obicei versiuni de biblioteci mai noi sau pachete redenumite) și va șterge pachetele învechite care intră în conflict cu cele noi.

Când actualizați de pe un set de CD/DVD/BD-uri, vi se va cere să introduceți anumite discuri la diverse momente în timpul actualizării. Este posibil să trebuiască să introduceți de mai multe ori același disc. Acest lucru este necesar datorită pachetelor interdependente dispersate pe mai multe discuri

Pachetele deja instalate care nu pot fi înnoite la versiuni mai noi fără a schimba starea de instalare a unui alt pachet vor fi lăsate la versiunea curentă (marcate ca "held back"). Acest lucru poate fi rezolvat prin utilizarea comenzii aptitude și alegerea acestor pachete pentru instalare sau prin rularea comenzii apt install pachet.

4.5. Probleme posibile în timpul actualizării

Secțiunile următoare descriu probleme cunoscute care pot apărea în timpul procedeului de actualizare la trixie.

4.5.1. Dist-upgrade eșuează cu eroarea „Could not perform immediate configuration”

În anumite cazuri etapa apt full-upgrade poate să eșueze după descărcarea pachetelor cu:

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

Dacă se întâmplă acest lucru, rularea comenzii apt full-upgrade -o APT::Immediate-Configure=0 ar trebui să permită continuarea actualizării.

O altă posibilă ocolire a problemei ar fi să adăugați temporar surse APT pentru bookworm și trixie în sources.list și să rulați apt update.

4.5.2. Pachete de îndepărtat

The upgrade process to trixie might ask for the removal of packages on the system. The precise list of packages will vary depending on the set of packages that you have installed. These release notes give general advice on these removals, but if in doubt, it is recommended that you examine the package removals proposed by each method before proceeding. For more information about packages obsoleted in trixie, see Obsolete packages.

4.5.3. Conflicte sau cicluri de pre-dependențe

Uneori este necesar să activați opțiunea APT::Force-LoopBreak în APT pentru a putea elimina temporar un pachet esențial, datorită unei bucle Conflict/Pre-Dependență. apt vă va avertiza în legătură cu aceasta și va abandona actualizarea. Puteți ocoli această situație precizând opțiunea -o APT::Force-LoopBreak=1 în linia de comandă pentru apt.

Este posibil ca structura dependențelor dintr-un sistem să fie coruptă într-o asemenea măsură încât să necesite intervenție manuală. În mod obișnuit aceasta înseamnă utilizarea apt sau

# dpkg --remove package_name

pentru a elimina pachetele problemă, sau

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

În cazuri extreme ar putea fi nevoie să forțați o reinstalare cu comanda

# dpkg --install /path/to/package_name.deb

4.5.4. Conflicte de fișiere

Dacă actualizați de la un sistem bookworm "pur" nu ar trebui să apară conflicte de fișiere, însă acestea pot interveni dacă aveți pachete neoficiale de tip „backport”. Un conflict de fișiere poate rezulta într-o eroare de genul:

Unpacking <package-foo> (from <package-foo-file>) ...
dpkg: error processing <package-foo> (--install):
trying to overwrite `<some-file-name>',
which is also in package <package-bar>
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
<package-foo>

Puteți încerca să rezolvați un conflict de fișiere prin eliminarea forțată a pachetelor menționate în ultima linie a mesajului de eroare:

# dpkg -r --force-depends package_name

După ce ați rezolvat problema, ar trebui să puteți continua actualizarea prin repetarea comenzilor apt descrise mai sus.

4.5.5. Modificări ale configurațiilor

În timpul actualizării vor apărea întrebări referitor la configurarea sau re-configurarea mai multor pachete. Dacă sunteți întrebat dacă un fișier din directorul /etc/init.d, sau fișierul /etc/manpath.config ar trebui înlocuit cu versiunea responsabilului de pachet, în general este necesar să răspundeți cu "da" ("yes" în engleză) pentru a asigura integritatea sistemului. Puteți oricând reveni la versiunile vechi, deoarece acestea vor fi salvate cu extensia .dpkg-old.

Dacă nu știți sigur ce să faceți, scrieți numele pachetului sau fișierului și amânați rezolvarea problemelor pentru mai târziu. Puteți căuta în fișierul script informația afișată în timpul actualizării.

4.5.6. Schimbare a sesiunii la consolă

Dacă faceți actualizarea folosind consola de sistem locală este posibil ca la un moment dat în timpul actualizării consola să fie mutată într-o altă vizualizare iar procesul de actualizare să nu mai fie vizibil. Acest lucru se poate întâmpla spre exemplu pe sisteme cu interfață grafică când este repornit managerul de display.

Pentru a recupera consola cu procesul de actualizare în derulare va trebui să folosiți Ctrl+Alt+F1 (dacă sunteți în mediul grafic) sau Alt+F1 (dacă sunteți în modul text) pentru a vă întoarce la terminalul virtual 1. Înlocuiți F1 cu tasta funcțională cu același număr ca terminalul virtual pe care se derulează procesul de actualizare. Puteți de asemenea să folosiți Alt+săgeată-stânga sau Alt+săgeată-dreapta pentru a schimba între diferitele terminale în mod text.

4.7. Pregătirile pentru următoarea versiune

După actualizare sunt anumite pregătiri pe care le puteți face pentru următoarea lansare.

4.7.1. Eliminarea pachetelor îndepărtate

În general este recomandat să eliminați complet pachetele îndepărtate, mai ales dacă acestea au fost îndepărtate în urma unei actualizări anterioare (de exemplu actualizarea la bookworm) sau erau furnizate de terți. În special scripturile vechi de tip init.d ar putea cauza probleme.

Avertisment

Eliminarea unui pachet va curăța în general și fișierele jurnal ale acestuia, poate doriți să salvați o copie înainte.

Comanda următoare afișează o listă cu toate pachetele îndepărtate care încă pot avea fișiere de configurare pe sistem:

$ apt list '~c'

Pachetele pot fi curățate folosind comanda apt purge. Dacă doriți să ștergeți toate pachetele odată, puteți folosi următoarea comandă:

# apt purge '~c'

4.8. Pachete învechite

Deși aduce multe pachete noi, trixie mai retrage și omite un număr de pachete vechi care au fost în bookworm. Nu se oferă nicio modalitate de tranziție pentru aceste pachete. Deși nimic nu vă oprește să continuați să folosiți un pachet învechit, proiectul Debian va opri suportul de securitate pentru ele la un an după lansarea lui trixie [5] și nu va oferi alt suport între timp. Se recomandă înlocuirea lor cu alternative, dacă acestea există.

Există multe motive pentru care pachetele pot fi scoase din distribuție: nu mai sunt întreținute de către autorii originari, nu mai există un dezvoltator Debian interesat de întreținerea pachetelor, funcționalitatea oferită a fost înlocuită de alt software (sau o nouă versiune), sau nu mai sunt considerate a fi adecvate pentru trixie datorită unor probleme. În cazul din urmă, pachetele ar putea fi încă prezente în distribuția "unstable" (n. trad. "instabilă").

"Obsolete and Locally Created Packages" can be listed and purged from the commandline with:

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

Debian Bug Tracking System (Sistemul Debian pentru evidența problemelor) oferă deseori informații suplimentare despre motivele pentru care un pachet a fost eliminat. Ar trebui să analizați atât problemele arhivate raportate pentru pachetul respectiv cât și problemele arhivate raportate pentru pseudo-pachetul ftp.debian.org.

Pentru o listă cu pachete învechite în trixie, vizitați Pachete notabile învechite.

4.8.1. Pachete de tranziție

Există posibilitatea ca unele pachete din bookworm să fie înlocuite în trixie cu pachete de tranziție „dummy” (n. trad. marionetă), care sunt pachete goale pentru simplificarea actualizării. Spre exemplu, dacă o aplicație care era distribuită într-un singur pachet a fost împărțită în mai multe pachete, este posibil să fie furnizat un pachet de tranziție cu același nume ca al pachetului vechi și cu dependențele astfel încât pachetele noi să fie instalate. După instalare, pachetul de tranziție fi îndepărtat fără probleme.

De obicei descrierile pachetelor de tranziție indică scopul lor, dar acestea nu sunt uniforme. În special unele pachete "dummy" sunt concepute pentru a fi păstrate, pentru instalarea unei suite software complete sau pentru a instala cea mai nouă versiune a unui program. Comanda deborphan cu opțiunile --guess-* (de ex. <literal>--guess-dummy``) este utilă pentru a detecta pachete de tranziție.