Cuprins
Vă sugerăm ca înainte de actualizare să citiți informațiile din Cap. 5, Probleme în stretch 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.
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.
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 stretch, deci o repornire va fi necesară. În mod normal aceasta se face atunci când actualizarea este încheiată.
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.
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ă.
For emergency recovery we generally recommend using the rescue mode of the stretch 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.
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 image or a Linux live CD. 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ă. 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.
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.
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 |
---|---|
Dacă utilizați servicii VPN (ca |
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 |
---|---|
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ă. |
Procedeul de actualizare descris în acest capitol a fost conceput pentru actualizări de la sisteme jessie „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.
Below there are two methods for finding such packages by using either aptitude or apt-forktracer. Please note that neither of them are 100% accurate (e.g. the aptitude example will list packages that were once provided by Debian but no longer are, such as old kernel packages).
$ aptitude search '~i(!~ODebian)' $ apt-forktracer | sort
Direct upgrades from Debian releases older than 8 (jessie) are not supported. Please follow the instructions in the Release Notes for Debian 8 to upgrade to 8 first.
De asemenea, se pleacă de la premiza că ați actualizat până la ultima versiune minoră a lui jessie. Dacă nu ați făcut acest lucru sau dacă aveți dubii, urmați instrucțiunile din Secțiune A.1, „Actualizarea sistemului jessie”.
Î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
jessie și nu la stable
sau stretch, vedeți Secțiune A.2, „Verificarea listei de surse”.
To perform this review, launch aptitude in full-terminal mode and press g („Go”). If it shows any actions, you should review them and either fix them or implement the suggested actions. If no actions are suggested you will be presented with a message saying „No packages are scheduled to be installed, removed, or upgraded”.
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).
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 jessie după
cum este explicat în Secțiune A.2, „Verificarea listei de surse”.
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.
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 stretch ș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 jessie 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.
Înainte de a începe actualizarea trebuie să ajustați fișierul de configurare
apt
pentru listele de pachete,
/etc/apt/sources.list
.
apt
will consider all packages that
can be found via any „deb
” line, and install
the package with the highest version number, giving priority to the first
line in the file (thus where you have multiple mirror locations, you'd
typically first name a local hard disk, then CD-ROMs, and
then remote mirrors).
O versiune poate fi referită deseori atât prin numele de cod (de ex:
jessie
, stretch
) 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ă.
Debian provides two announcement mailing lists to help you stay up to date on relevant information related to Debian releases:
By subscribing to
the Debian announcement mailing list, you will receive a
notification every time Debian makes a new release. Such as when
stretch
changes from e.g. stable
to oldstable
.
By subscribing to the Debian security announcement mailing list, you will receive a notification every time Debian publishes a security announcement.
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.
Debian mirror addresses can be found at https://www.debian.org/distrib/ftplist (look at the „list of Debian mirrors” section). Note that FTP mirrors are being discontinued - see Secțiune A.2, „Verificarea listei de surse”.
For example, suppose your closest Debian mirror is
http://mirrors.kernel.org
. If you inspect that mirror with
a web browser, you will notice that the main directories are organized like
this:
http://mirrors.kernel.org/debian/dists/stretch/main/binary-ppc64el/... http://mirrors.kernel.org/debian/dists/stretch/contrib/binary-ppc64el/...
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 stretch 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.
Instead of using HTTP package mirrors, you may wish to modify
/etc/apt/sources.list
to use a mirror on a local disk
(possibly mounted over NFS).
For example, your package mirror may be under
/var/local/debian/
, and have main directories like
this:
/var/local/debian/dists/stretch/main/binary-ppc64el/... /var/local/debian/dists/stretch/contrib/binary-ppc64el/...
Pentru a utiliza această locație cu apt
, trebuie să adăugați această linie la
fișierul dumneavoastră sources.list
:
deb file:/var/local/debian stretch 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.
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.
The recommended way to upgrade from previous Debian releases is to use the package management tool apt-get. In previous releases, aptitude was recommended for this purpose, but recent versions of apt-get provide equivalent functionality and also have proven to more consistently give the desired upgrade results.
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
„stretch
” sau la
„stable
”. Nu ar trebui să fie nici o sursă
care se referă la jessie.
![]() | Notă |
---|---|
Liniile de surse pentru CD-ROM pot uneori conține
„ |
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-stretchetapă
.time -a ~/upgrade-stretchetapă
.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-stretch.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-stretch.time ~/actualizare-stretch.script
Mai întâi trebuie preluată lista pachetelor disponibile în noua versiune. Aceasta se face cu:
# apt-get update
Î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ă |
---|---|
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 jessie, 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.
Remove packages that take up too much space and are not currently needed
(you can always reinstall them after the upgrade). If you have popularity-contest
installed, you can use
popcon-largest-unused to list the packages you do not use
that occupy the most space. You can find the packages that just take up the
most disk space with dpigs (available in the debian-goodies
package) or with
wajig (running wajig size
). They can
also be found with aptitude
. Start
aptitude in full-terminal mode, select
→ , press l and enter
~i
, then press S and enter
~installsize
. This will give you a handy list to work
with.
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/
.
Use a temporary /var/cache/apt/archives
: You can use a
temporary cache directory from another filesystem (USB
storage device, temporary hard disk, filesystem already in use, ...).
![]() | 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
:
ștergeți pachetele care au fost descărcate anterior spre instalare:
# apt-get clean
copiați directorul /var/cache/apt/archives
pe
dispozitivul USB:
# cp -ax /var/cache/apt/archives /media/usbkey/
montați directorul pentru depozit temporar peste cel curent:
# mount --bind /media/usbkey/archives /var/cache/apt/archives
după actualizare restaurați directorul
/var/cache/apt/archives
original:
# umount /media/usbkey/archives
ș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 jessie după
cum este descris în Secțiune A.2, „Verificarea listei de surse”.
Î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ă |
---|---|
Procesul de actualizare pentru unele versiuni precedente recomanda utilizarea aptitude pentru actualizare. Această unealtă nu este recomandată pentru actualizări de la jessie la stretch. |
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.
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ă |
---|---|
Procesul de actualizare pentru unele versiuni precedente recomanda utilizarea aptitude pentru actualizare. Această unealtă nu este recomandată pentru actualizări de la jessie la stretch. |
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.
When upgrading from a set of CDs/DVDs/BDs, you will probably be asked to insert specific discs at several points during the upgrade. You might have to insert the same disc multiple times; this is due to inter-related packages that have been spread out over the discs.
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
Secțiunile următoare descriu probleme cunoscute care pot apărea pe timpul procesului de actualizare la stretch.
Î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
jessie și stretch în sources.list
și să
rulați apt-get update.
The upgrade process to stretch 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 stretch, see 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-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
Dacă actualizați de la un sistem jessie „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.
Î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.
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.
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.
When you dist-upgrade from jessie to stretch, 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 5.1.4, „Things to do post upgrade before rebooting” 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”.
După actualizare sunt mai multe lucruri pe care le puteți face pentru a pregăti următoarea lansare.
Remove newly redundant or obsolete packages as described in Secțiune 4.4.3, „Verificați dacă aveți suficient spațiu pentru actualizare” and Secțiune 4.8, „Pachete învechite”. You should review which configuration files they use and consider purging the packages to remove their configuration files. See also Secțiune 4.7.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 jessie) or they were provided by third-party vendors. In particular, old init.d scripts have been known to cause issues.
![]() | 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'
Introducing lots of new packages, stretch also retires and omits quite a few old packages that were in jessie. 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 stretch'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 stretch 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.
For a list of obsolete packages for Stretch, please refer to Secțiune 5.1.3, „Noteworthy obsolete packages”.
Anumite pachete din jessie au fost împărțite în mai multe pachete în stretch, deseori pentru a îmbunătăți mentenabilitatea sistemului. Pentru a ușura actualizarea în aceste cazuri, stretch oferă pachete „marionetă”: pachete goale care au același nume ca versiunea din jessie 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.