Cap. 4. Actualizarea de la Debian 7 (wheezy)

Cuprins

4.1. Pregătirile pentru actualizare
4.1.1. Faceți copii de siguranță pentru orice date sau configurații
4.1.2. Informați utilizatorii din timp
4.1.3. Pregătire pentru oprirea serviciilor
4.1.4. Pregătiți recuperarea
4.1.5. Pregătiți un mediu sigur pentru actualizare
4.2. Verificarea stării sistemului
4.2.1. Verificați în managerul de pachete acțiunile de efectuat
4.2.2. Dezactivarea alegerilor selective APT
4.2.3. Verificarea stării pachetelor
4.2.4. Secțiunea proposed-updates
4.2.5. Unofficial sources
4.3. Pregătirea surselor pentru APT
4.3.1. Adăugarea de surse APT din Internet
4.3.2. Adăugarea de surse APT pentru un sit-oglindă local
4.3.3. Adăugarea de surse APT de pe un mediu optic
4.4. Actualizarea pachetelor
4.4.1. Înregistrarea sesiunii
4.4.2. Actualizarea listei de pachete
4.4.3. Verificați dacă aveți suficient spațiu pentru actualizare
4.4.4. Actualizare minimală de sistem
4.4.5. Actualizarea sistemului
4.5. Probleme posibile în timpul actualizării
4.5.1. Dist-upgrade eșuează cu eroarea „Could not perform immediate configuration”
4.5.2. Programe îndepărtate
4.5.3. Conflicte sau cicluri de pre-dependențe
4.5.4. Conflict de fișiere
4.5.5. Modificări de configurare
4.5.6. Schimbare a sesiunii la consolă
4.5.7. Atenție deosebită la anumite pachete
4.6. Actualizarea nucleului și a pachetelor conexe
4.6.1. Installing a kernel metapackage
4.6.2. Changes to root and /usr filesystem mounting and checking
4.7. Lucruri de făcut înainte de repornire
4.8. Pregătirile pentru următoarea versiune
4.8.1. Purging removed packages
4.9. Componente depășite
4.10. Pachete învechite
4.10.1. Pachetele marionetă

4.1. Pregătirile pentru actualizare

Vă sugerăm ca înainte de actualizare să citiți informațiile din Cap. 5, Probleme în jessie 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.

Cele mai importate lucruri de copiat sunt conținutul lui /etc, al lui /var/lib/dpkg, al lui /var/lib/apt/extended_states și rezultatul comenzii dpkg --get-selections "*" (ghilimelele sunt importante). Dacă folosiți aptitude pentru administrarea pachetelor pe sistemul dumneavoastră, va trebui să salvați și /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 (care încep cu punct, „dotfiles”) din directoarele utilizatorilor. Copia ar putea să vă ajute să recreați vechile configurații. Probabil veți dori să informați și utilizatorii în legătură cu această problemă.

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 trebuie să respecte câteva precondiții; va trebui să verificați dacă sunt respectate înainte de actualizare.

4.1.2. Informați utilizatorii din timp

Este o idee bună să vă informați din timp toți utilizatorii despre actualizările planificate, chiar dacă utilizatorii ce vă accesează sistemul prin conexiuni 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 odată cu trecerea la jessie, deci o repornire va fi necesară. În mod normal aceasta se face atunci când actualizarea este încheiată.

4.1.3. Pregătire pentru oprirea serviciilor

Pot exista servicii oferite de sistem, care sunt 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 a acestor servicii variază în funcție de numărul de pachete înnoite în sistem și include de asemenea timpul necesar administratorului de sistem să răspundă la întrebările de configurare ale diverselor pachete înnoite (dacă există). Țineți cont că în cazul în care procesul de înnoire se face nesupraveghat și sistemul solicită indicaț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ă, cum este descrisă în Secțiune 4.4.4, „Actualizare minimală de sistem”, urmată de o înnoire a nucleului și o repornire și apoi înnoiți pachetele asociate cu serviciile critice. Înnoiți aceste pachete înainte de înnoirea completă a sistemului, descrisă în Secțiune 4.4.5, „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 și timpul cât sunt indisponibile este redus.

4.1.4. Pregătiți recuperarea

Deși Debian face tot posibilul ca sistemul să poată fi pornit în orice moment există un risc real să întâmpinați probleme la reinițializarea sistemului, după actualizare. Problemele potențial cunoscute sunt documentate aici și în următorul capitol al Notelor de lansare.

Din acest motiv are sens să vă asigurați că veți putea să recuperați sistemul în eventualitatea că acesta nu va mai putea reporni sau, în cazul sistemelor la distanță, nu va putea să activeze conexiunile la rețea.

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. Există posibilitatea ca după actualizarea nucleului și repornirea sistemului, să fie nevoie să reparați configurația sistemului printr-o consolă locală. De asemenea, dacă sistemul este repornit accidental în mijlocul actualizării există șansa să fie nevoie să recuperați folosind o consolă locală.

Generally we recommend using the rescue mode of the jessie Debian Installer. The advantage of using the installer is that you can choose between its many methods to find one that best suits your situation. For more information, please consult the section Recovering a Broken System in chapter 8 of the Installation Guide and the Debian Installer FAQ.

Dacă aceasta nu reușește, va trebui să porniți sistemul printr-o metodă alternativă, astfel încât să-l puteți accesa și repara. O opțiune este să folosiți o imagine specială pentru recuperare sau un Linux care rulează de pe CD. După pornirea în acest fel ar trebui să puteți monta sistemul de fișiere rădăcină și să faceți chroot în el pentru a investiga și repara problema.

4.1.4.1. Consola 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ă. Dacă, de exemplu, 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, în măsura posibilităților, de a rezolva problema.

Lucruri uzuale pe care ar trebui să le verificați: prezența fișierelor-dispozitiv corecte în /dev, care module sunt încărcate (cat /proc/modules), verificarea rezultatului 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ă verificați rezultatul comenzii echo $ROOT pentru a vă asigura că sistemul de fișiere rădăcină este pe dispozitivul pe care vă așteptați să fie.

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

4.1.4.2. Debug shell during boot using systemd

If the boot fails under systemd, it is possible to obtain a debug root shell by changing the kernel command line. If the basic boot succeeds, but some services fail to start, it may be useful to add systemd.unit=rescue.target to the kernel parameters.

Otherwise, the kernel parameter systemd.unit=emergency.target will provide you with a root shell at the earliest possible point. However, this is done before mounting the root file system with read-write permissions. You will have to do that manually with:

mount -o remount,rw /

More information on debugging a broken boot under systemd can be found in the Diagnosing Boot Problems article.

If everything else fails, you might be able to boot via the old sysvinit system. This requires that sysvinit is still installed and the binary /lib/sysvinit/init is included in your initramfs. If these requirements are met, add init=/lib/sysvinit/init on the kernel command-line and it will boot with the sysvinit binary.

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

Actualizarea distribuției ar trebui făcută fie local dintr-o consolă virtuală în mod text (sau printr-o conexiune la un terminal serial), fie de la distanță printr-o conexiune ssh.

[Important]Important

Dacă utilizați servicii VPN (ca tinc) este posibil să nu fie disponibile pe parcursul procesului de înnoire. Mai multe informații la Secțiune 4.1.3, „Pregătire pentru oprirea serviciilor”.

Pentru a avea încă o măsură de siguranță când actualizați de la distanță, vă sugerăm să rulați procesul de actualizare într-o consolă virtuală furnizată de programul screen, lucru care vă va permite să vă reconectați în siguranță și oferă siguranța că procesul de instalare nu va fi întrerupt, chiar dacă procesul care întreține conexiunea la distanță eșuează.

[Important]Important

Nu actualizați sistemul folosind o sesiune telnet, rlogin, rsh, sau dintr-o sesiune X administrată de xdm, gdm sau kdm, etc. pe sistemul pe care îl actualizați. Acest lucru este necesar deoarece oricare dintre aceste servicii poate fi oprit în timpul actualizării, ceea ce poate rezulta într-un sistem inaccesibil, actualizat doar parțial. Utilizarea aplicației GNOME update-manager pentru actualizarea la versiuni noi de sistem este descurajată, deoarece acest utilitar depinde de sesiunea de birou curentă.

4.2. Verificarea stării sistemului

Procedeul de actualizare descris în acest capitol a fost conceput pentru actualizări de la sisteme wheezy pure, fără pachete din surse terțe. Pentru o mai mare fiabilitate a procedeului de actualizare veți dori să ștergeți pachetele provenite din surse terțe înainte să începeți actualizarea.

Direct upgrades from Debian releases older than 7 (wheezy) are not supported. Please follow the instructions in the Release Notes for Debian 7 to upgrade to 7 first.

De asemenea, se pleacă de la premiza că ați actualizat până la ultima versiune minoră a lui wheezy. Dacă nu ați făcut acest lucru sau dacă aveți dubii, urmați instrucțiunile din Secțiune A.1, „Actualizarea sistemului wheezy”.

4.2.1. Verificați în managerul de pachete acțiunile de efectuat

În anumite cazuri, dacă ați folosit apt-get să instalați pachete în loc să folosiți aptitude, aptitude poate considera un pachet ca fiind nefolosit și să-l înregistreze pentru ștergere. În general, ar trebui să vă asigurați că sistemul este adus la zi și curat, înainte de a continua procesul de actualizare.

Din această cauză ar trebui să verificați dacă sunt acțiuni în așteptare în managerul de pachete aptitude. Dacă un pachet este programat pentru ștergere sau actualizare în managerul de pachete ar putea avea un impact negativ asupra procedeului de actualizare. Țineți cont că acest lucru nu poate fi corectat decât dacă sources.list se referă încă la wheezy și nu la stable sau jessie, vedeți Secțiune A.2, „Verificarea listei de surse”.

Pentru a face această verificare porniți aptitude în modul visual și apăsați g (de la Go). Dacă vă arată vreo acțiune ar trebui să revizuiți și să anulați sau să efectuați acțiunile sugerate. Dacă nu este sugerată nici o acțiune va fi afișat mesajul No packages are scheduled to be installed, removed, or upgraded (sau Nici un pachet nu este programat sa fie instalat, șters sau înnoit).

4.2.2. Dezactivarea alegerilor selective APT

Dacă ați configurat APT să instaleze anumite pachete dintr-o distribuție diferită de cea stabilă (ex. din testare), ar putea fi nevoie să schimbați configurația alegerilor selective APT (prezentă în /etc/apt/preferences și /etc/apt/preferences.d/) pentru a permite actualizarea pachetelor la versiunile din noua versiune stabilă. Mai multe informații despre alegeri selective APT pot fi găsite în apt_preferences(5).

4.2.3. Verificarea stării pachetelor

Indiferent de metoda utilizată pentru actualizare, este recomandat să verificați, mai întâi, starea tuturor pachetelor, asigurându-vă că toate pachetele sunt într-o stare actualizabilă. Următoarea comandă vă va afișa eventualele pachete care au starea de jumătate-instalat sau eșec-configurare, precum și cele cu o stare eronată.

# dpkg --audit

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

# dpkg -l | pager

sau

# dpkg --get-selections "*" > ~/pachete-curente.txt

Este preferabil să ștergeți marcajul „păstrat” al oricărui pachet în această stare, înaintea actualizării. Dacă un pachet esențial care trebuie actualizat este „păstrat”, actualizarea va eșua.

A se reține că aptitude folosește o metodă diferită de a marca pachetele care sunt păstrate față de apt-get și dselect. Puteți identifica pachetele păstrate pentru aptitude cu

# aptitude search "~ahold" 

Dacă vreți să verificați ce pachete aveți păstrate pentru apt-get, ar trebui să folosiți

# dpkg --get-selections | grep 'hold$'

Dacă ați modificat și recompilat un pachet local și nu l-ați redenumit sau nu i-ați atașat o epocă în versiune, trebuie să îl plasați pe „păstrat” pentru a preveni actualizarea sa.

Starea „păstrat” pentru apt-get poate fi schimbată folosind:

# echo nume_pachet hold | dpkg --set-selections

Înlocuiți hold cu install pentru a demarca starea hold.

Dacă este ceva ce trebui rezolvat, cel mai bine vă asigurați că sources.list încă se referă la wheezy după cum este explicat în Secțiune A.2, „Verificarea listei de surse”.

4.2.4. Secțiunea proposed-updates

Dacă aveți secțiunea proposed-updates enumerată în fișierul /etc/apt/sources.list, ar fi bine să o ștergeți înainte de a încerca să actualizați sistemul. Aceasta este o măsură de precauție pentru a reduce probabilitatea de apariție a unor conflicte.

4.2.5. Unofficial sources

Dacă aveți pachete non-Debian pe sistemul dumneavoastră, ar trebui să știți că acestea ar putea fi eliminate în cursul actualizării datorită dependențelor conflictuale. Dacă aceste pachete au fost instalate prin adăugarea unei arhive suplimentare în /etc/apt/sources.list, ar trebui să verificați dacă această arhivă oferă pachete compilate pentru jessie și să schimbați linia cu 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 wheezy system. Such packages are most likely to cause problems during an upgrade as they may result in file conflicts[4]. Secțiune 4.5, „Probleme posibile în timpul actualizării” has some information on how to deal with file conflicts if they should occur.

4.3. Pregătirea surselor pentru APT

Înainte de a începe actualizarea trebuie să ajustați fișierul de configurare apt pentru listele de pachete, /etc/apt/sources.list.

apt va lua în considerare toate pachetele care pot fi găsite prin intermediul unei linii deb și va instala pachetul cu cea mai mare versiune, stabilind prioritatea în funcție de poziția liniilor (astfel, în cazul mai multor locații ar trebui să listați în primul rând un harddisk local, după care CD-uri și după aceea situri-oglindă HTTP/FTP).

O versiune poate fi referită deseori atât prin numele de cod (de ex: wheezy, jessie) 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 avea surpriza unei noi versiuni, 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ă.

4.3.1. Adăugarea de surse APT din Internet

Configurația implicită este pregătită pentru instalarea de pe serverele Debian din Internet, însă poate veți dori să modificați /etc/apt/sources.list pentru a utiliza servere alternative, preferabil dintr-un loc apropiat de dumneavoastră, din punct de vedere a rețelei în care vă aflați.

Serverele Debian alternative HTTP sau FTP pot fi găsite la https://www.debian.org/distrib/ftplist (secțiunea Lista completă a siturilor-oglindă Debian). Locațiile alternative HTTP sunt în general mai rapide decât cele FTP.

De exemplu, să presupunem că cea mai apropiată locație alternativă Debian este http://mirrors.kernel.org/. Când inspectați această locație cu un navigator de web sau un client de FTP, veți observa că directoarele principale sunt organizate astfel:

http://mirrors.kernel.org/debian/dists/jessie/main/binary-amd64/...
http://mirrors.kernel.org/debian/dists/jessie/contrib/binary-amd64/...

Pentru a utiliza această locație cu apt, trebuie să adăugați această linie la fișierul dumneavoastră sources.list:

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

A se observa faptul că dists este adăugat implicit, iar argumentele de după numele versiunii sunt utilizate pentru a expanda calea în directoare multiple.

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

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

În loc să folosiți situri-oglindă HTTP sau FTP, ați putea dori să modificați /etc/apt/sources.list pentru a folosi o sursă pe un disc local (poate montat cu NFS).

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

/var/ftp/debian/dists/jessie/main/binary-amd64/...
/var/ftp/debian/dists/jessie/contrib/binary-amd64/...

Pentru a utiliza această locație cu apt, trebuie să adăugați această linie la fișierul dumneavoastră sources.list:

deb file:/var/ftp/debian jessie main contrib

A se observa faptul că dists este adăugat implicit, iar argumentele de după numele versiunii sunt utilizate pentru a expanda calea în directoare multiple.

După ce adăugați noile surse, dezactivați liniile deb care existau înainte în sources.list, 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 CD-uri (sau DVD-uri sau discuri Blu-ray), dezactivați liniile deb care existau înainte în sources.list, prin plasarea unui diez (#) la începutul lor.

Make sure there is a line in /etc/fstab that enables mounting your CD-ROM drive at the /media/cdrom mount point. For example, if /dev/sr0 is your CD-ROM drive, /etc/fstab should contain a line like:

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

A se reține că nu trebuie să existe nici un spațiu între cuvintele noauto,ro din cel de-al patrulea câmp.

Pentru a verifica funcționarea, 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 date despre fiecare CD în baza de date APT.

4.4. Actualizarea pachetelor

Metoda recomandată pentru actualizarea de la versiuni Debian precedente este folosirea utilitarului pentru administrarea pachetelor apt-get. În lansările anterioare utilitarului aptitude era recomandat pentru acest scop, dar versiuni recente ale apt-get oferă același nivel de funcționalitate și se pare că produce în mai multe cazuri rezultatul dorit la actualizări.

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) se referă la jessie sau la stable. Nu ar trebui să fie nici o sursă care se referă la wheezy.

[Notă]Notă

Liniile de surse pentru CD-ROM pot uneori conține unstable. Deși asta ar putea 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-jessieetapă.time -a ~/upgrade-jessieetapă.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).

Fișierul script vă va permite, de asemenea, să consultați informația care a defilat în afara ecranului. Dacă sunteți la consola sistemul puteți schimba la VT2 (folosind Alt-F2) și, după ce vă autentificați, utilizați less -R ~root/actualizare-jessie.script pentru a vedea fișierul.

După terminarea actualizării, puteți opri comanda script tastând exit la prompt.

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

# scriptreplay ~/actualizare-jessie.time ~/actualizare-jessie.script

4.4.2. Actualizarea listei de pachete

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

# apt-get update

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

Înainte de a începe actualizarea completă, așa cum este descrisă în Secțiune 4.4.5, „Actualizarea sistemului ”, trebuie să vă asigurați că aveți suficient spațiu pe disc. În primul rând, orice pachet necesar pentru instalare, care este 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ă. În această situație, recuperarea este foarte dificilă.

apt-get 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-get -o APT::Get::Trivial-Only=true dist-upgrade
[ ... ]
XXX actualizate, XXX noi instalate, XXX de îndepărtat și XXX neactualizate.
Trebuie descărcate xx.xMB de arhive. 
După această operațiune, AAAMB spațiu suplimentar va fi folosit.
[Notă]Notă

Rulând această comandă la începutul procedeului de actualizare ar putea genera o eroare, 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.4, „Actualizare minimală de sistem” înainte de a rula această comandă pentru a estima spațiul pe disc.

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

E: Nu aveți spațiu 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, cu comanda apt-get clean va șterge toate fișierele descărcate anterior.

  • Îndepărtați pachete uitate. Dacă ați utilizat aptitude sau apt-get pentru a instala manual pachete în wheezy, acesta va reține faptul că au fost instalate manual și va 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 va 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-get 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 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 imediate (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 nefolosite 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ăriListă nouă simplă de pachete (ViewsNew Flat Package List în varianta engleză), apăsați tasta l și introduceți ~i, apăsați S și introduceți ~installsize iar ca rezultat veți obține o listă cu care veți putea lucra.

  • Din sistem se pot șterge fișierele de traducere și localizare, în caz că nu mai sunt necesare. Se poate instala localepurge și configura astfel încât doar câteva din localizări să fie păstrate în sistem. Aceasta 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: puteți folosi un director pentru depozitul temporar de pe alt sistem de fișiere (dispozitiv de stocare USB, harddisk de împrumut, un alt sistem de fișiere în utilizare, ...)

    [Notă]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/usbkey:

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

      # apt-get 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 /media/usbkey/archives

    5. ștergeți /media/usbkey/archives rămas.

    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.4, „Actualizare minimală de sistem”) sau actualizări parțiale a sistemului urmată de o actualizare completă. Acest lucru va face posibil să actualizați sistemul parțial și vă va permite curățirea depozitului temporar de pachete înainte de actualizarea completă.

Țineți cont că pentru a putea șterge pachete în siguranță se recomandă să treceți sources.list înapoi la wheezy după cum este descris în Secțiune A.2, „Verificarea listei de surse”.

4.4.4. Actualizare minimală de sistem

În unele cazuri, dacă faceți direct o actualizare completă (așa cum e descrisă mai jos), puteți șterge un număr mare de pachete pe care ați dori să le păstrați. Așadar vă recomandăm o actualizare în doi pași, mai întâi o actualizare minimală pentru a depăși conflictele, apoi o actualizare completă așa cum este descrisă în Secțiune 4.4.5, „Actualizarea sistemului ”.

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

# apt-get upgrade
[Notă]Notă

Procesul de actualizare pentru unele versiuni precedente recomanda utilizarea aptitude pentru actualizare. Această unealtă nu este recomandată pentru actualizări de la wheezy la jessie.

Aceasta are ca efect actualizarea acelor pachete care pot fi actualizate fără ca alte pachete să fie șterse sau instalate.

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ă ce ați citit apăsați q pentru a ieși din cititor și a continua actualizarea.

4.4.5. Actualizarea sistemului

Odată executați pașii anteriori, sunteți gata să continuați cu partea principală a actualizării. Executați:

# apt-get dist-upgrade
[Notă]Notă

Procesul de actualizare pentru unele versiuni precedente recomanda utilizarea aptitude pentru actualizare. Această unealtă nu este recomandată pentru actualizări de la wheezy la jessie.

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 elimina orice pachete învechite care sunt în conflict.

Când actualizați de pe un set de CD-uri (sau DVD-uri), vi se va cere să introduceți anumite CD-uri la diverse momente în timpul actualizării. S-ar putea să trebuiască să introduceți de mai multe ori același CD, datorită pachetelor interdependente dispersate pe mai multe CD-uri.

Pachetele deja instalate care nu pot fi înnoite la versiuni mai noi fără a schimba statutul instalării altui 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-get install pachet.

4.5. Probleme posibile în timpul actualizării

Secțiunile următoare descriu probleme cunoscute care pot apărea pe timpul procesului de actualizare la jessie.

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

În anumite cazuri pasul apt-get dist-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-get dist-upgrade -o APT::Immediate-Configure=0 ar putea permite continuarea actualizării.

O altă posibilă ocolire a problemei ar fi să adăugați temporar surse pentru wheezy și jessie în sources.list și să rulați apt-get update.

4.5.2. Programe îndepărtate

The upgrade process to jessie 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 jessie, see Secțiune 4.10, „Pachete învechite”.

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-get 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ă a lui apt-get.

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-get sau

# dpkg --remove nume_pachet

pentru a elimina pachetele problemă, sau

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

În cazuri extreme s-ar putea să fie nevoie să forțați o reinstalare cu o comandă cum ar fi

# dpkg --install /cale/către/nume_pachet.deb

4.5.4. Conflict de fișiere

Dacă actualizați de la un sistem wheezy 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 <pachet-oarecare> (from <fișier-pachet-oarecare>) ...
dpkg: error processing <pachet-oarecare> (--install):
 trying to overwrite `<ceva-fișier>',
 which is also in package <alt-pachet>
dpkg-deb: subprocess paste killed by signal (Broken pipe)
 Errors were encountered while processing:
 <pachet-oarecare>

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-get descrise mai sus.

4.5.5. Modificări de configurare

În timpul actualizării este posibil să apară î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 actualizare folosind consola de sistem locală, veți observa că la un moment dat în timpul actualizării consola va fi mutată într-o altă vizualizare și procesul de actualizare nu va mai fi vizibil. Acest lucru se poate întâmpla spre exemplu pe sisteme de birou 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.5.7. Atenție deosebită la anumite pachete

În cele mai multe cazuri actualizarea pachetelor de la wheezy la jessie ar trebui să se desfășoare fără probleme. Există un număr mic de cazuri când este necesar să interveniți, fie înainte, fie în procesul de actualizare. Acestea sunt detaliate mai jos în funcție de pachet.

4.5.7.1. systemd

The Debian upgrade from wheezy to jessie will by default migrate your init system from the SysV to systemd. Depending on your system and setup, you may need to do some manual changes. We have detailed known issues in Secțiune 5.6, „Upgrading installs the new default init system for Jessie”.

4.5.7.2. LXC

If you have LXC installed, you may need special care when upgrading your system and your containers. Please have a look at Secțiune 5.8, „Upgrade considerations for LXC hosts and containers” for known issues and solutions.

4.6. Actualizarea nucleului și a pachetelor conexe

Această secțiune explică actualizarea nucleului ș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 se bazează pe presupunerea 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 initrd, atunci o parte din aceste informații ar putea să nu fie de interes.

4.6.1. Installing a kernel metapackage

When you dist-upgrade from wheezy to jessie, it is strongly recommended that you install a linux-image-* metapackage, if you have not done so before. These metapackages will automatically pull in a newer version of the kernel during upgrades. You can verify whether you have one installed by running:

# dpkg -l "linux-image*" | grep ^ii | grep -i meta

If you do not see any output, then you will either need to install a new linux-image package by hand or install a linux-image metapackage. To see a list of available linux-image metapackages, run:

# apt-cache search linux-image- | grep -i meta | grep -v transition

If you are unsure about which package to select, run uname -r and look for a package with a similar name. For example, if you see '2.6.32-5-amd64', it is recommended that you install linux-image-amd64. You may also use apt-cache to see a long description of each package in order to help choose the best one available. For example:

# apt-cache show linux-image-amd64

You should then use apt-get install to install it. Once this new kernel is installed you should reboot at the next available opportunity to get the benefits provided by the new kernel version. However, please have a look at Secțiune 4.7, „Lucruri de făcut înainte de repornire” before performing the first reboot after the upgrade.

Pentru cei mai îndrăzneți există un mod mai ușor să compilați propriul nucleu folosind Debian. Instalați sursele nucleului oferite de pachetul linux-source. Puteți folosi ținta deb-pkg disponibilă în fișierul „makefile” ce vine cu sursele pentru a construi fișierele binare. Mai multe informații pot fi găsite în manualul Debian Linux Kernel Handbook, care este disponibil și sub forma pachetului debian-kernel-handbook.

Dacă este posibil, ar fi spre avantajul dumneavoastră să înnoiți pachetul cu nucleul separat de procedura de dist-upgrade pentru a reduce șansele de a avea temporar probleme la inițializarea sistemului. A se reține că aceasta ar trebui să se facă doar după înnoirea minimală descrisă în Secțiune 4.4.4, „Actualizare minimală de sistem”.

4.6.2. Changes to root and /usr filesystem mounting and checking

initramfs-tools will now also run fsck on the root filesystem before mounting it. If the chosen init program is systemd and there is a separate /usr filesystem, it will also fsck and mount /usr.

  • If /usr is a separate filesystem on a RAID device and the INITRDSTART setting in /etc/default/mdadm is not 'all', you will need to change it to include that device.

  • If /usr is a separate filesystem on an LVM logical volume, and the line for /usr in /etc/fstab specifies the device by UUID or LABEL, you must change this line to specify the device using the format /dev/mapper/VG-LV or /dev/VG/LV.

  • It is no longer possible to bind-mount the /usr filesystem.

  • If the RTC (real time clock) is set to local time and the local time is ahead of UTC, e2fsck will print a warning during boot about the time changing backward (bug #767040). You can disable this by putting the following lines in /etc/e2fsck.conf:

    [options]
    broken_system_clock=1
    

4.7. Lucruri de făcut înainte de repornire

După ce apt-get dist-upgrade a terminat, înseamnă că actualizarea formală s-a terminat, dar există alte lucruri care trebuie făcute înainte să reporniți sistemul.

  • When upgrading from Wheezy to Jessie, it can be a good idea to purge old packages before the first reboot. In particular, obsolete init scripts may cause issues. Please see Secțiune 4.8.1, „Purging removed packages” for details on finding and purging removed packages.

4.8. Pregătirile pentru următoarea versiune

După actualizare sunt mai multe lucruri pe care le puteți face pentru a pregăti următoarea lansare.

4.8.1. Purging removed packages

It is generally advisable to purge removed packages. This is especially true if these have been removed in an earlier release upgrade (e.g. from the upgrade to wheezy) or they were provided by third-party vendors. In particular, old init.d scripts have been known to cause issues.

[Atenție]Atenție

Purging a package will generally also purge its log files, so you might want to back them up first.

The following command displays a list of all removed packages that may have configuration files left on the system (if any):

# dpkg -l | awk '/^rc/ { print $2 }'

The packages can be removed by using apt-get purge. Assuming you want to purge all of them in one go, you can use the following command:

# apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')

If you use aptitude, you can also use the following alternative to the commands above:

$ aptitude search '~c'
$ aptitude purge '~c'

4.9. Componente depășite

Odată cu următoarea lansare Debian 9 (numită stretch) unele caracteristici vor fi învechite. Utilizatorii vor trebui să migreze către alternative pentru a preveni apariția problemelor la actualizare la 9.

Acestea includ următoarele caracteristici:

  • The hardening-wrapper package is deprecated and is expected to be removed in Stretch.

4.10. Pachete învechite

Introducing lot of new packages, jessie also retires and omits quite some old packages that were in wheezy. It provides no upgrade path for these obsolete packages. While nothing prevents you from continuing to use an obsolete package where desired, the Debian project will usually discontinue security support for it a year after jessie's release[5], and will not normally provide other support in the meantime. Replacing them with available alternatives, if any, is recommended.

Există multe motive pentru care pachetele pot fi eliminate 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 potrivite pentru jessie datorită problemelor avute. În cazul din urmă, pachetele ar putea fi încă prezente în distribuția instabil.

Detectarea pachetelor învechite într-un sistem actualizat este ușoară, deoarece vor fi marcate ca atare în interfețele de administrare a pachetelor. Dacă folosiți aptitude, veți observa o listă a acestor pachete în secțiunea Pachete învechite și pachete create local.

Sistemul Debian de raportare a problemelor (Debian Bug Tracking System) oferă deseori informații suplimentare despre motivele pentru care un pachet a fost eliminat. Ar trebui să analizați atât arhiva problemelor pentru pachetul în sine, cât și pentru pseudo-pachetul ftp.debian.org.

Lista pachetelor depășite include:

  • postgresql-9.1, successor is postgresql-9.4. Once the operating system upgrade is finished, you should plan to also upgrade your PostgreSQL 9.1 database clusters to the new PostgreSQL version 9.4 using the pg_upgradecluster tool. For users of the PL/perl procedural language, jessie provides an updated postgresql-plperl-9.1 package linked against jessie's version of libperl in order to enable upgrading to the new perl version in jessie while keeping the old PL/perl database functions usable until the database is upgraded as well.

  • python3.2, successor is python3.4. (Version 2.7 is supported in both wheezy and jessie.)

  • ruby1.8 and ruby1.9.1; successor is ruby2.1. Please install the package ruby to automatically track the current ruby version.

  • mplayer; alternatives are mplayer2, and mpv (new in jessie). Whilst the former is mostly compatible with mplayer in terms of command-line arguments and configuration (and adds a few new features too), the latter adds a lot of new features and improvements, and it is actively maintained upstream.

  • openoffice.org; please use libreoffice.

  • squid, successor is squid3.

  • libjpeg-progs, successor is libjpeg-turbo-progs.

  • openjdk-6-*, successor is openjdk-7-*.

4.10.1. Pachetele marionetă

Anumite pachete din wheezy au fost împărțite în mai multe pachete în jessie, deseori pentru a îmbunătăți mentenabilitatea sistemului. Pentru a ușura actualizarea în aceste cazuri, jessie oferă pachete marionetă: pachete goale care au același nume ca versiunea din wheezy cu dependențe ce cauzează instalarea pachetelor noi. Aceste pachete marionetă sunt considerate învechite și după actualizare pot fi dezinstalate fără probleme.

Cele mai multe (însă nu toate) descrieri ale pachetelor marionetă indică scopul lor. Descrierile pachetelor marionetă nu sunt uniforme, totuși puteți folosi deborphan cu opțiunile --guess-* (de ex. --guess-dummy) pentru a le detecta în sistemul dumneavoastră. Notați faptul că anumite pachete marionetă nu sunt destinate dezinstalării după actualizare, ci sunt utilizate pentru a urmări în timp versiunea curentă a unui program.



[1] Dacă prioritatea debconf este stabilită la un nivel foarte ridicat puteți preveni întrebările de configurare, dar serviciile care depind de opțiuni de configurare implicite ce nu se potrivesc sistemului dumneavoastră nu vor porni.

[2] Spre exemplu: serviciile DNS sau DHCP, îndeosebi când nu există redundanță sau soluție de rezervă. În cazul DHCP utilizatorii pot fi deconectați de la rețea dacă timpul de deținere a adresei este mai mic decât timpul necesar procesului de înnoire.

[3] Această facilitate poate fi dezactivată prin adăugarea parametrului panic=0 la parametrii de inițializare.

[4] Sistemul de management al pachetelor din Debian nu permite, în mod normal, unui pachet să șteargă sau să înlocuiască un fișier deținut de alt pachet, decât dacă a fost definit ca înlocuitor pentru acel pachet.

[5] Sau atât timp cât nu este o altă lansare în acel interval de timp. În mod obișnuit sunt doar două versiuni stabile suportate în același timp.