Cuprins
Vă sugerăm ca înainte de actualizare să citiți informațiile din Cap. 5, Probleme în bookworm 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.
Î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.
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 bookworm, deci o repornire va fi necesară. În mod normal aceasta se face atunci când actualizarea este încheiată.
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ă.
Dacă sistemul de actualizat furnizează servicii critice pentru utilizatori sau rețea[2] puteți reduce timpul de indisponibilitate dacă faceți o înnoire minimală, după cum este descrisă în Secțiune 4.4.5, „Actualizare de sistem minimală”, urmată de o înnoire a nucleului și o repornire, iar apoi actualizați pachetele asociate cu serviciile critice. Actualizați aceste pachete înainte de actualizarea completă a sistemului descrisă în Secțiune 4.4.6, „Actualizarea sistemului ”. În acest fel puteți să vă asigurați că aceste servicii critice rulează și sunt disponibile pe durata întregului proces de înnoire, iar timpul în care sunt indisponibile este redus.
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 bookworm. 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 ș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.
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.
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).
More information on debugging a broken boot under systemd can be found in the Freedesktop.org Diagnosing Boot Problems article.
Important | |
---|---|
Dacă utilizați servicii VPN (cum ar fi |
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.
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 bullseye, 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.
Only upgrades from Debian 11 (bullseye) are supported. Display your Debian version with:
$ cat /etc/debian_version
Please follow the instructions in the Release Notes for Debian 11 to upgrade to Debian 11 first if needed.
This procedure assumes your system has been updated to the latest point release of bullseye. If you have not done this or are unsure, follow the instructions in Section A.1, “Actualizarea sistemului bullseye”.
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 bullseye-backports have version numbers lower than the version in bookworm, so they should upgrade normally to bookworm in the same way as „pure” bullseye 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.
Atenție | |
---|---|
While regular Debian Backports are supported, there is no clean upgrade path from sloppy backports (which use APT source-list entries referencing bullseye-backports-sloppy). |
As with Secțiune 4.2.10, „Surse neoficiale”, users are advised to remove bullseye-backports entries from their APT source-list files before the upgrade. After it is completed, they may consider adding bookworm-backports.
For more information, consult the Backports Wiki page.
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 bullseye and
not to stable or bookworm;
see Section A.2, “Verificarea fișierelor listelor de surse APT”.
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.
Below there are two methods for finding installed packages that did not come from Debian, using either apt or apt-forktracer. Please note that neither of them are 100% accurate (e.g. the apt example will list packages that were once provided by Debian but no longer are, such as old kernel packages).
$ apt list '?narrow(?installed, ?not(?origin(Debian)))' $ apt-forktracer | sort
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'
If you have non-free firmware installed it is recommended to add
non-free-firmware
to your APT sources-list. For details
see Secțiune 2.2, „Archive areas” and Secțiune 5.1.1, „
Non-free firmware moved to its own component in the archive
”.
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.
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 bookworm și să schimbați sursa corespunzătoare la același moment cu schimbarea surselor pentru pachetele Debian.
Unii utilizatori ar putea avea instalate pe sistemele lor bullseye versiuni neoficiale de tip backport „mai noi” ale unor pachete care sunt în Debian. Aceste pachete pot cauza probleme în timpul unei actualizări deoarece pot rezulta în conflicte de fișiere[4]. Secțiune 4.5, „Probleme posibile în timpul actualizării” conține informații despre cum să rezolvați conflictele de fișiere dacă apar.
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).
APT needs gpgv version 2 or greater to verify the keys
used to sign releases of bookworm. 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
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
Înlocuiți hold
cu unhold
pentru a
șterge starea „hold”.
Dacă mai aveți ceva de rezolvat este cel mai bine vă asigurați că fișierele source-list APT încă fac referire la bullseye, după cum este explicat în Section A.2, “Verificarea fișierelor listelor de surse 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
bookworm
and typically to remove sources for
bullseye
.
APT va lua în considerare toate pachetele care pot fi găsite prin intermediul oricărei arhive de pachete configurate și va instala pachetul cu cea mai mare versiune, alegând prioritar prima linie din fișiere. În cazul în care aveți mai multe locații cu pachete ar trebui să listați în primul rând cele de pe discuri locale, după care CD-uri, iar după aceea cele de la distanță.
O versiune poate fi menționată atât prin numele de cod (de ex:
bullseye
, bookworm
) 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:
By subscribing to
the Debian announcement mailing list, you will receive a
notification every time Debian makes a new release. Such as when
bookworm
changes from
e.g. testing
to stable
.
Dacă vă abonați la lista de e-mail pentru anunțuri de securitate Debian, veți primi o notificare de fiecare dată când Debian publică un anunț de securitate.
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 bookworm 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.buy-develop.eu.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/bookworm/main/binary-mipsel/... http://mirrors.kernel.org/debian/dists/bookworm/contrib/binary-mipsel/...
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 bookworm 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.
Î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/bookworm/main/binary-mipsel/... /var/local/debian/dists/bookworm/contrib/binary-mipsel/...
Pentru a utiliza această locație cu apt
adăugați această linie în fișierul
sources.list
:
deb file:/var/local/debian bookworm 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.
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 /cdrom # montează CD-ul în punctul de montare # ls -alF /cdrom # afișează directorul rădăcină din CD # umount /cdrom # demontează CD-ul
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.
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 /punct_de_montare
Î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
„bookworm
” sau la
„stable
”. Nu ar trebui să fie nicio sursă
care se referă la bullseye.
Notă | |
---|---|
Liniile de surse pentru CD-uri pot conține uneori
„ |
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>~/actualizare-bookwormetapă
.time -a ~/actualizare-bookwormetapă
.script
sau similar. Dacă trebuie să porniți înregistrarea din nou (ex. dacă trebuie
să reporniți sistemul) folosiți valori diferite pentru
etapă
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).
Înregistrarea vă va permite, de asemenea, să consultați informații care au
derulat în afara ecranului. Dacă sunteți la consola sistemului puteți trece
la VT2 (folosind Alt-F2) și după autentificare să
utilizați less -R ~root/actualizare-bookworm.script
pentru a vedea fișierul.
După încheierea actualizării, puteți opri comanda script
tastând exit
la 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-bookwormstep
.time ~/upgrade-bookwormstep
.script
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. |
Înainte de a începe actualizarea completă descrisă în Secțiune 4.4.6, „Actualizarea sistemului ” va trebui să vă asigurați că aveți suficient
spațiu pe disc. În primul rând, orice pachet necesar pentru instalare
descărcat prin rețea este stocat în
/var/cache/apt/archives
(și subdirectorul
partial/
în timpul descărcării), deci trebuie să aveți
suficient spațiu pe sistemul de fișiere pe care se află
/var/
pentru a descărca pachetele ce vor fi instalate
pe sistemul dumneavoastră. După descărcare veți avea nevoie de mai mult
spațiu pe alte partiții de sistem pentru a instala atât pachetele
actualizate (care e posibil să conțină binare mai mari sau mai multe date)
cât și pachetele noi care vor fi aduse pentru actualizare. Dacă sistemul
dumneavoastră nu are suficient spațiu este posibil să rămâneți cu o
actualizare incompletă, care este foarte dificil de recuperat.
apt vă poate arăta informații detaliate despre spațiul necesar pentru instalare. Înainte să începeți actualizarea, puteți vedea această estimare folosind comanda:
# 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ă | |
---|---|
Această comandă ar putea genera o eroare la începutul procedeului de actualizare din motive descrise în următoarele secțiuni. În acest caz va trebui să așteptați până ați făcut o actualizare minimală conform Secțiune 4.4.5, „Actualizare de sistem minimală” înainte de a rula această comandă pentru a estima spațiul pe disc. |
Dacă nu aveți spațiu suficient pentru actualizare, apt vă va avertiza cu un mesaj asemănător cu:
E: Nu aveți spațiu liber suficient în /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 bullseye, 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
→
( → î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
:
ștergeți pachetele care au fost descărcate anterior spre instalare:
# apt clean
copiați directorul /var/cache/apt/archives
pe
dispozitivul USB:
# cp -ax /var/cache/apt/archives /media/stick-usb/
montați directorul pentru depozit temporar peste cel curent:
# mount --bind /media/stick-usb/archives /var/cache/apt/archives
după actualizare restaurați directorul
/var/cache/apt/archives
original:
# umount /media/stick-usb/archives
ștergeți directorul /media/stick-usb/archives
.
Puteți crea directorul pentru depozit temporar pe orice sistem de fișiere montat pe sistemul dumneavoastră.
Executați o actualizare minimală a sistemului (citiți Secțiune 4.4.5, „Actualizare de sistem minimală”) sau actualizări parțiale a sistemului urmată de o actualizare completă. Acest lucru va face posibil să actualizați sistemul parțial și va permite curățarea depozitului temporar de pachete înainte de actualizarea completă.
Țineți cont că pentru a putea șterge pachete în siguranță se recomandă să treceți fișierele source-list ale APT înapoi la bullseye după cum este descris în Section A.2, “Verificarea fișierelor listelor de surse APT”.
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.
În unele cazuri, o actualizare completă (așa cum este descrisă mai jos), ar putea șterge un număr mare de pachete pe care doriți să le păstrați. În acest caz vă recomandăm o actualizare în doi pași: mai întâi o actualizare minimală pentru a depăși aceste conflictele, după aceea o actualizare completă așa cum este descrisă în Secțiune 4.4.6, „Actualizarea sistemului ”.
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.
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
Secțiunile următoare descriu probleme cunoscute care pot apărea în timpul procedeului de actualizare la bookworm.
În anumite cazuri etapa apt full-upgrade poate să eșueze după descărcarea pachetelor cu:
E: Nu s-a putut face configurarea imediată a 'nume_pacakage
'. Vă rugăm citiți în pagina de manual man 5 apt.conf secțiunea APT::Immediate-Configure pentru detalii.
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 bullseye și bookworm în
sources.list
și să rulați apt
update.
Procesul de actualizare la bookworm ar putea solicita îndepărtarea unor pachete din sistem. Lista exactă de pachete va fi diferită în funcție de setul de pachete pe care le aveți instalate. Aceste note de lansare oferă sfaturi generice despre programele care vor fi îndepărtate, dar dacă aveți îndoieli, este recomandată examinarea listei cu pachete propuse pentru a fi șterse de fiecare metodă de instalare, înainte de a continua. Pentru mai multe informații despre pachetele învechite în bookworm, vizitați Secțiune 4.8, „Pachete învechite”.
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 nume_pachet
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 /cale/către/nume_pachet.deb
Dacă actualizați de la un sistem bullseye „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:
Se despachetează<pachet-foo>
(din<pachet-foo-fișier>
) ... dpkg: eroare la procesarea<pachet-foo>
(--install): se încearcă suprascrierea `<ceva-nume-fișier>
', care este și în pachetul<pachet-bar>
dpkg-deb: subprocess paste killed by signal (Broken pipe) Au fost întâmpinate erori în timpul procesării:<pachet-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 nume_pachet
După ce ați rezolvat problema, ar trebui să puteți continua actualizarea prin repetarea comenzilor apt descrise mai sus.
Î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.
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.
Această secțiune explică actualizarea nucleului (n. trad. „kernel”) și
identifică potențialele probleme legate de aceasta. Puteți instala unul din
pachetele linux-image-*
oferite de
Debian sau să compilați un nucleul personalizat din surse.
O mare parte din informația expusă în această secțiune presupune că veți
folosi un nucleu modular din Debian împreună cu initramfs-tools
și udev
. Dacă ați ales să folosiți un nucleu ce nu
necesită initrd sau este folosit un alt generator de initrd atunci o parte
din aceste informații ar putea să nu fie relevante.
Dacă nu ați făcut deja acest lucru, este indicat să instalați un meta-pachet linux-image-* atunci când efectuați actualizarea completă (n. trad. „full-upgrade”) de la bullseye la bookworm. Aceste pachet vor aduce automat o nouă versiune de nucleu în timpul actualizărilor. Puteți verifica dacă aveți instalat un asemenea pachet cu comanda:
$ dpkg -l 'linux-image*' | grep ^ii | grep -i meta
Dacă această comandă nu afișează nimic, atunci va trebui să instalați manual un pachet nou linux-image sau să instalați un meta-pachet linux-image. Pentru a vedea o listă cu meta-pachetele linux-image disponibile, executați comanda:
$ apt-cache search linux-image- | grep -i meta | grep -v transition
Dacă nu știți ce pachet să alegeți, rulați comanda uname
-r
și căutați un pachet cu un nume asemănător. De exemplu, dacă va
fi afișat „4.9.0-8-amd64
” este recomandat să
instalați linux-image-amd64
. Puteți
folosi apt-cache pentru a vedea descrierea lungă a
fiecărui pachet pentru a face o alegere potrivită. De exemplu:
$ apt show linux-image-amd64
Utilizați apoi comanda apt install
pentru instalare. După
instalarea noului nucleu ar trebui să reporniți sistemul cu prima ocazie
pentru a beneficia de îmbunătățirile noii versiuni de nucleu. Înainte de a
reporni prima dată sistemul după actualizare citiți și Secțiune 5.1.16, „Operațiuni de executat după actualizare și înainte de repornire.”.
Pentru cei mai aventuroși în Debian există o metodă simplă de compilare a
propriului nucleu. Instalați sursele nucleului din pachetul linux-source
. Puteți folosi ținta
(n. trad. „target”) deb-pkg
disponibilă în fișierul
„makefile” ce vine cu sursele pentru a construi un pachet cu binare. Mai
multe informații pot fi găsite în manualul Debian Linux
Kernel Handbook, care este disponibil și în pachetul debian-kernel-handbook
.
Dacă este posibil, ar fi avantajos să actualizați nucleul separat de
procedura full-upgrade
principală, pentru a reduce
șansele unui sistem care temporar nu poate fi inițializat. De reținut că
acest lucru ar trebui făcut doar după actualizarea minimală descrisă în
Secțiune 4.4.5, „Actualizare de sistem minimală”.
După actualizare sunt anumite pregătiri pe care le puteți face pentru următoarea lansare.
Îndepărtați pachetele inutile sau învechite după cum este descris în Secțiune 4.4.3, „Verificați dacă aveți suficient spațiu pentru actualizare”. Ar trebui să verificați ce fișiere de configurare sunt folosite de acestea și să luați în considerare eliminarea pachetelor (n. trad. „purge”) pentru a îndepărta fișierele de configurare. Vedeți și Secțiune 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 bullseye) sau erau furnizate de terți. În special scripturile vechi de tip init.d ar putea cauza probleme.
Atenție | |
---|---|
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'
Deși aduce multe pachete noi, bookworm mai retrage și omite un număr de pachete vechi care au fost în bullseye. 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 bookworm[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 bookworm 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 Bookworm, vizitați Secțiune 5.3.1, „Pachete notabile învechite”.
Există posibilitatea ca unele pachete din bullseye să fie înlocuite în bookworm 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. *
--guess-dummy
) este utilă pentru a detecta pachete de
tranziție.
[1] Dacă prioritatea debconf este stabilită la un nivel foarte ridicat puteți preveni întrebările de configurare, dar serviciile care se bazează pe opțiuni de configurare implicite care nu se aplică sistemului dumneavoastră nu vor porni.
[2] Spre exemplu: serviciile DNS sau DHCP, mai ales dacă nu există redundanță sau soluție de înlocuire. În cazul DHCP utilizatorii pot fi deconectați de la rețea dacă timpul de alocare al adresei este mai mic decât timpul necesar procesului de actualizare.
[3] Această facilitate poate fi dezactivată prin adăugarea parametrului
panic=0
la parametrii de inițializare.
[4] În mod normal sistemul de management al pachetelor din Debian nu permite unui pachet să șteargă sau să înlocuiască un fișier deținut de alt pachet, decât în cazul în care a fost definit ca înlocuitor pentru acel pachet.
[5] Sau atât timp cât nu se lansează o altă versiune în acel interval de timp. În mod obișnuit doar două versiuni stabile sunt suportate în același timp.