Cuprins
Waiting for root
file system
Vă sugerăm ca înainte de actualizare să citiți informațiile din Cap. 5, Probleme în lenny 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/aptitude/pkgstates
și rezultatul comenzii
dpkg --get-selections "*"
(ghilimelele sunt importante).
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.
Versiunea lui glibc
din
lenny nu va funcționa cu nuclee mai vechi decât
2.6.8
pe orice arhitectură și unele arhitecturi au nevoie
de versiuni și mai noi. Este recomandat să instalați și să testați un nucleu
2.6.18
sau 2.6.24
din etch
sau unul personalizat cu versiunea minim 2.6.18
înainte
de a începe procesul de înnoire.
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.
Probabil că va trebui sa faceți și o actualizare de nucleu odată cu trecerea la lenny, deci o repornire va fi necesară, în mod normal. Tipic, aceasta se va petrece după ce se finalizează actualizarea.
Datorită multiplelor schimbări din nucleu între etch și lenny, în ceea ce privește modulele, detectarea, numirea componentelor și ordonarea fișierelor dispozitiv, există un risc real să întâmpinați probleme la reinițializarea sistemului, după actualizare. Multe dintre potențialele probleme 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, anumite dispozitive să fie redenumite (după cum este descris la Secțiune 4.6.2, „Reordonarea enumerării dispozitivelor”) și va trebui 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ă.
Cel mai evident lucru care poate fi încercat este să reporniți cu vechiul nucleu. Totuși, din diverse motive documentate în altă parte a acestui document, nu este garantat că acest lucru va funcționa.
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.
O altă opțiune pe care o recomandăm este folosirea modului recuperare al Programului de instalare Debian lenny. Avantajul folosirii programului de instalare este că puteți alege dintre multiplele metode de instalare pe cea care se potrivește cel mai bine situației. Vă rugăm să consultați secțiunea „Recuperarea unui sistem stricat (Recovering a Broken System)” din capitolul 8 al Ghidului de instalare și FAQ - Întrebări frecvente despre Programul de instalare.
Pachetul initramfs-tools
include un
interpretor de comenzi pentru depanare[2] î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.
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.
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. Aceast 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. |
Utilizatorii care folosesc încărcătorul de sistem LILO
trebuie să țină cont de faptul că, implicit, initramfs-tools
generează o imagine initramfs
care este prea mare pentru a fi încărcată de
LILO. Asemenea utilizatori ar trebui fie să migreze la
grub
, fie să editeze fișierul
/etc/initramfs-tools/initramfs.conf
și să modifice
linia
MODULES=most
după cum urmează
MODULES=dep
Totuși trebuie să țineți cont că aceasta va cauza initramfs-tools
să instaleze în initramfs doar
acele module care sunt necesare pentru configurația pe care rulează. Dacă
doriți să generați un mediu de inițializare care să funcționeze pe mai multe
configurații hardware decât pe cea pe care a fost generat, ar trebui să
lăsați opțiunea respectivă la valoarea
MODULES=most
și să vă asigurați că nu folosiți LILO.
Procedeul de actualizare descris în acest capitol a fost conceput pentru actualizări de la sisteme etch „pure”, fără pachete din terțe surse. Pentru o mai mare fiabilitate a procedeului de actualizare veți dori să ștergeți pachetele provenite din terțe surse înainte să începeți actualizarea.
De asemenea, se pleacă de la premiza că ați actualizat până la ultima versiune minoră a lui etch. Dacă nu ați făcut acest lucru sau dacă aveți dubii, urmați instrucțiunile de la Secțiune A.1, „Actualizarea sistemului etch”.
Î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
etch și nu la stable
sau lenny, 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”).
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
) 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 dselect, 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" | grep "^.h"
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 aptitude poate fi schimbată folosind:
# aptitude hold nume_pachet
Înlocuiți hold
cu unhold
pentru a
demarca starea „păstrat”.
Dacă este ceva ce trebui rezolvat, cel mai bine vă asigurați că
sources.list
încă se referă la etch 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 lenny și să schimbați
linia cu sursa corespunzătoare la același moment cu schimbarea surselor
pentru pachetele Debian.
Unii utilizatori ar putea avea instalate pe sistemele lor etch versiuni neoficiale „mai noi” a unor pachete care sunt în Debian. Aceste pachete pot cauza probleme în timpul unei actualizări deoarece pot rezulta în conflicte de fișiere[3]. Secțiune 4.5.8, „Probleme posibile în timpul actualizării” are anumite informații despre cum să tratați conflictele de fișiere dacă apar.
backports.org
este o arhivă semi-oficială oferită de
dezvoltatori Debian GNU/Linux, care dispune de pachete mai noi pentru distribuția
stabilă, bazate pe recompilări alte pachetelor din arhiva
„testing”.
Arhiva backports.org
conține, în principiu, doar pachete
din „testing” cu numere de versiune reduse, astfel păstrându-se
calea de actualizare de la backport-urile etch la
lenny. Totuși, există câteva backport-ări care sunt pregătite doar
pe baza versiunii instabile (actualizări de securitate și următoarele
excepții: Firefox, nucleul de sistem, OpenOffice.org, X.Org).
If you do not use one of these exceptions, you can safely upgrade to
lenny. If you use one of these exceptions, set the
Pin-Priority
(see apt_preferences(5)) temporarily to 1001
for all packages
from lenny, and you should be able to do a safe dist-upgrade too.
Pentru a-l împiedica pe aptitude să șteargă unele pachete care sunt instalate ca dependențe, va trebui să le marcați manual ca pachete auto. Aici sunt incluse OpenOffice și Vim pentru instalări de birou:
# aptitude unmarkauto openoffice.org vim
Adăugați imagini de nucleu 2.6 dacă le-ați instalat folosind un meta pachet de nucleu:
# aptitude unmarkauto $(dpkg-query -W 'linux-image-2.6.*' | cut -f1)
![]() | Notă |
---|---|
Puteți vedea care pachete sunt marcate ca auto în aptitude cu comanda: # aptitude search '~i~M' |
Î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).
![]() | Indicație |
---|---|
Este posibil să fie nevoie de adăugat excepții de verificare
GPG pentru DVD-uri și
CD-uri. Adăugați următorul rând în fișierul
APT::Authentication::TrustCDROM "true"; Aceasta, din păcate, nu funcționează cu imagini de DVD/CD. |
O versiune poate fi referită deseori atât prin numele de cod (de ex:
etch
, lenny
) 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ă.
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 http://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/lenny/main/binary-i386/... http://mirrors.kernel.org/debian/dists/lenny/contrib/binary-i386/...
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 lenny 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.
Î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/lenny/main/binary-i386/... /var/ftp/debian/dists/lenny/contrib/binary-i386/...
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 lenny 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, dezactivați
liniile „deb
” care existau înainte în
sources.list
, prin plasarea unui diez
(#
) la începutul lor.
Asigurați-vă că există o linie în /etc/fstab
ce permite
montarea CD-ului la locația /cdrom
(punctul de montare
/cdrom
este necesar pentru
apt-cdrom). De exemplu, dacă/dev/hdc
reprezintă CD-ROM-ul dumneavoastră, /etc/fstab
ar
trebui să conțină o linie de genul:
/dev/hdc /cdrom auto defaults,noauto,ro 0 0
A se reține că nu trebuie să existe nici un spațiu
între cuvintele defaults,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 /cdrom # aceasta va monta CD-ul în punctul de montare # ls -alF /cdrom # aceasta va afișa directorul rădăcină din CD # umount /cdrom # aceasta va demonta CD-ul
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.
Metoda recomandată pentru actualizarea de la versiuni Debian GNU/Linux precedente este folosirea utilitarului pentru administrarea pachetelor aptitude. Acest program ia decizii mai sigure la instalarea pachetelor decât folosirea directă al lui apt-get.
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
„lenny
” sau la
„stable
”. Nu ar trebui să fie nici o sursă
care se referă la etch.
![]() | Notă |
---|---|
Liniile de surse pentru CD-ROM deseori se vor referi la
„ |
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-lenny.time -a ~/actualizare-lenny.script
sau similar. 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. Puteți schimba la VT2 (folosind Alt-F2) și, după ce vă
autentificați, utilizați less -R
~root/actualizare-lenny.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-lenny.time ~/actualizare-lenny.script
Mai întâi trebuie preluată lista pachetelor disponibile în noua versiune. Aceasta se face cu:
# aptitude update
Rularea acestei comenzi pentru prima dată când se actualizează sursele noi va afișa niște avertismente legate de sursele disponibile. Aceste mesaje nu indică nici o problemă gravă și nu vor mai apărea dacă rulați comanda din nou.
Înainte de a începe actualizarea completă, așa cum este descrisă la Secțiune 4.5.7, „Actualizarea restului 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 ar putea fi foarte
dificilă.
Atât aptitude cât și apt
vă vor afișa informații detaliate despre
spațiul necesar instalării. Înainte să începeți actualizarea, puteți vedea o
estimare folosind comanda:
# aptitude -y -s -f --with-recommends dist-upgrade [ ... ] XXX upgraded, XXX newly installed, XXX to remove and XXX not upgraded. Need to get xx.xMB/yyyMB of archives. After unpacking AAAMB will be used. Would download/install/remove packages.
![]() | 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.5.6, „Actualizare minimală de sistem” și ați actualizat nucleul înainte de a rula această comandă pentru a estima spațiul pe disc. |
Dacă nu aveți spațiu suficient, asigurați-vă că eliberați destul pentru actualizare. Puteți să:
Ș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 sau cu
comanda aptitude clean, va șterge toate fișierele
descărcate anterior.
Ștergeți pachete uitate. Dacă aveți instalat popularity-contest
puteți folosi
popcon-largest-unused pentru a afișa lista pachetelor din
sistem neutilizate, care ocupă cel mai mult spațiu. Puteți folosi și
deborphan sau debfoster pentru a căuta
pachete depășite (consultați Secțiune 4.10, „Pachete învechite”). Ca alternativă
puteți porni aptitude în „modul vizual” și
veți găsi pachetele învechite în „Pachete învechite și pachete create
local” (sau „Obsolete and Locally Created Packages” dacă
folosiți interfața în limba engleză).
Ștergeți pachetele care ocupă prea mult loc și nu sunt necesare imediat
(oricum le puteți reinstala după actualizare). Puteți afișa pachetele care
ocupă cel mai mult loc pe disc cu dpigs (disponibil în
pachetul debian-goodies
) sau cu
wajig (rulând wajig size
).
You can list packages that take up most of the disk space with aptitude
. Start aptitude
into „visual mode”, select
→ (this menu entry is available only after
etch version), press l and enter ~i
,
press S and enter ~installsize
, then it
will give you nice list to work with. Doing this after upgrading
aptitude
should give you access to
this new feature.
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ă |
---|---|
Nu folosiți o partiție NFS deoarece conexiunea de 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ă.
Țineți cont că pentru a putea șterge pachete în siguranță se recomandă să
treceți sources.list
înapoi la etch după
cum este descris la Secțiune A.2, „Verificarea listei de surse”.
Mai multe rapoarte de eroare au arătat că versiunile pachetelor aptitude
și apt
din etch de multe ori nu sunt capabile să
rezolve actualizarea la lenny. În lenny, apt
lucrează mai bine cu lanțuri complexe de
pachete care necesită configurare imediată, iar aptitude
găsește mai ușor soluții pentru
satisfacerea dependențelor. Deoarece aceste două facilități sunt implicate
masiv în actualizarea de sistem la lenny, este necesar să
actualizați aceste două pachete înainte de a actualiza orice altceva. Pentru
apt
rulați:
# apt-get install apt
și pentru aptitude
(dacă îl aveți
instalat) rulați:
# aptitude install aptitude
Acest pas va actualiza automat libc6
și locales
și va aduce li
bibliotecile pentru suport SELinux (libselinux1
). În acest moment anumite servicii
active vor fi repornite, inclusiv xdm,
gdm și kdm. În consecință, sesiuni X11
locale ar putea fi
deconectate.
aptitude
menține o listă cu pachete
care au fost instalate automat (de exemplu, ca dependențe ale altui
pachet). În lenny și apt
dispune de această facilitate.
Prima oară când va rula versiunea lenny de aptitude
, acesta va citi lista sa de pachete
instalate automat și o va converti spre a fi folosită cu versiunea
lenny de apt
. Dacă aveți
aptitude
instalat, ar trebui să
rulați cel puțin o comandă aptitude pentru a face
conversia. O metodă ar fi căutarea unui pachet inexistent:
# aptitude search "?false"
Datorită unor conflicte necesare între pachetele din etch și
lenny, rularea directă a comenzii aptitude
dist-upgrade
în multe cazuri va șterge pachete pe care doriți să
le păstrați. De aceea, vă recomandăm un proces de actualizare în două etape,
în prima, o actualizare minimală pentru a trece peste aceste conflicte după
care să faceți un dist-upgrade
complet.
Mai întâi, rulați:
# aptitude safe-upgrade
Aceasta are ca efect actualizarea acelor pachete care pot fi actualizate fără ca alte pachete să fie șterse sau instalate.
Următorul pas va varia în funcție de setul de pachete pe care le aveți instalate. Aceste note de lansare oferă sfaturi generice despre ce metodă ar trebui folosită, însă dacă aveți îndoieli, se recomandă examinarea listei cu pachete propuse pentru a fi șterse, înainte de a continua.
Este de așteptat ca o parte din pachetele comune ca base-config
, hotplug
, xlibs
, netkit-inetd
, python2.3
, xfree86-common
și xserver-common
să fie dezinstalate. A se vedea
Secțiune 4.10, „Pachete învechite” pentru mai multă informație despre pachetele
depășite în lenny.
Acum sunteți gata să continuați cu partea principală a actualizarii. Executați:
# aptitude dist-upgrade
Aceasta va efectua o actualizare completă a sistemului, și anume, va instala 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 depășite 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 ai altui pachet vor fi lăsate la versiunea
curentă (marcate ca „held back”). Aceasta poate fi rezolvat
prin utilizarea comenzii aptitude și alegerea acestor
pachete pentru instalare sau prin rularea comenzii aptitude -f
install
.
pachet
Dacă o operație ce utilizează aptitude, apt-get sau dpkg eșuează cu eroarea
E: Dynamic MMap ran out of room
înseamnă că spațiul de stocare temporară implicit este insuficient. Puteți
rezolva această problemă fie prin eliminarea sau comentarea liniilor de care
nu aveți nevoie din /etc/apt/sources.list
, fie prin
mărirea dimensiunii spațiului de stocare temporară. Dimensiunea acestuia
poate fi mărită prin opțiunea de configurare
APT::Cache-Limit
în
/etc/apt/apt.conf
. Următoarea comandă va configura o
valoare suficientă pentru actualizare:
# echo 'APT::Cache-Limit "12500000";' >> /etc/apt/apt.conf
Aceasta presupune că nu aveți configurată în prealabil o valoare pentru această variabilă.
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ță. aptitude 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 aptitude.
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 aptitude sau
# dpkg --remove nume_pachet
pentru a elimina pachetele problemă, sau
# aptitude -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 etch „pur” nu ar trebui să apară conflicte de fișiere, însă acestea pot interveni dacă aveți pachete neoficiale de tip backport. Un conflict de fișiere poate rezulta într-o eroare de genul:
Unpacking<package-foo>
(from<package-foo-file>
) ... dpkg: error processing<package-foo>
(--install): trying to overwrite `<some-file-name>
', which is also in package<package-bar>
dpkg-deb: subprocess paste killed by signal (Broken pipe) Errors were encountered while processing:<package-foo>
Puteți încerca să rezolvați un conflict de fișiere prin eliminarea forțată a pachetelor menționate în ultima linie a mesajului de eroare:
# dpkg -r --force-depends nume_pachet
După ce ați rezolvat problema, ar trebui să puteți continua actualizarea prin repetarea comenzilor aptitude 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 directoarele /etc/init.d
sau
/etc/terminfo
, 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.
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ă veți alege să folosiți un nucleu ce
nu necesită initrd sau un alt generator initrd este folosit, atunci o parte
din informație ar putea să nu vă fie de interes.
Atunci când actualizați (folosind dist-upgrade) de la etch la lenny, este indicat să instalați meta-pachetul linux-image-2.6-*. Acest pachet poate fi instalat automat prin procesul de actualizare a distribuției. Puteți verifica acest lucru rulând comanda:
# dpkg -l "linux-image*" | grep ^ii
Dacă această comandă nu afișează nimic, atunci va trebui să instalați manual un pachet linux-image nou. Pentru a vedea o listă cu meta-pachetele linux-image-2.6 disponibile, rulați comanda:
# apt-cache search linux-image-2.6- | grep -v transition
Dacă nu sunteți siguri ce pachet ar trebui să alegei, rulați comanda
uname -r
și căutați un pachet cu un nume asemănător. De
exemplu, dacă va fi afișat '2.6.18-6-686
' este recomadat
să instalați linux-image-2.6-686
. (A
se reține că varianta k7
nu mai există; dacă folosiți un
nucleu k7
ar trebui să instalați varianta
686
.) De asemenea, se poate rula comanda
apt-cache ca să vedeți descrierea lungă a fiecărui pachet
pentru a face o alegere potrivită. De exemplu:
# apt-cache show linux-image-2.6-686
Utilizați apoi comanda aptitude install
pentru
instalare. Odată ce ați instalat noul nucleu va trebui să reporniți sistemul
cu prima ocazie pentru a beneficia de acesta.
Cei curioși pot compila destul de ușor propriul nucleu pe Debian GNU/Linux. Pentru
aceasta instalați unealta kernel-package
și studiați documentația din
/usr/share/doc/kernel-package
.
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.5.6, „Actualizare minimală de sistem”.
lenny prezintă un mecanism mai robust pentru detectarea hardware-ului decât versiunea precedentă. Totuși, acesta poate duce la modificarea modului în care sunt detectate dispozitivele din sistemul dumneavoastră, lucru ce afectează ordinea în care sunt atribuite numele dispozitivelor. De exemplu, dacă aveți două plăci de rețea care au drivere diferite, dispozitivele eth0 și eth1 se pot interschimba. De reținut faptul că folosind noul mecanism, înseamnă că dacă, spre exemplu, schimbați o placă ethernet într-un sistem lenny funcțional, noua placă va primi un nume de interfață nou.
Pentru dispozitive de rețea se poate evita reordonarea prin utilizarea de
reguli udev
și mai exact prin
definițiile din
/etc/udev/rules.d/70-persistent-net.rules
[4]. O alternativă este utilizarea comenzii
ifrename pentru asocierea dispozitivelor fizice în timpul
inițializării sistemului unor nume precizate. A se vedea ifrename(8) și iftab(5) pentru mai multă informație. Aceste
două metode (udev
și
ifrename) nu ar trebui să fie folosite în același timp.
Pentru dispozitivele de stocare se poate evita reordonarea prin utilizarea
initramfs-tools
și configurarea lui
ca să încarce modulele cu drivere pentru dispozitive în aceeași ordine ca în
configurația curentă. Aceasta se poate realiza prin identificarea ordinei în
care s-au încărcat modulele de stocare în sistem și analizarea rezultatului
rulării comenzii lsmod. lsmod afișează
modulele în ordinea inversă în care au fost încărcate, adică primul modul
din listă este ultimul încărcat. De notat că aceasta este valabil doar
pentru dispozitivele pe care nucleul le enumerează într-o manieră stabilă
(ca pe dispozitivele PCI).
Totuși, dacă descărcați și apoi reîncărcați modulele după inițializarea
sistemului, ordinea acestora va fi afectată. De asemenea, nucleul instalat
poate să conțină unele drivere compilate static, iar numele acestora nu vor
apărea în datele furnizate de lsmod. Puteți descoperi
numele acestor module și ordinea de încărcare din fișierul
/var/log/kern.log
sau rulând programul
dmesg.
Adăugați numele acestor module în fișierul
/etc/initramfs-tools/modules
în ordinea în care doriți
să fie încărcate la inițializarea sistemului. Este posibil ca numele unor
module să se fi schimbat între versiunea etch și versiunea
lenny. Spre exemplu driverul sym53c8xx_2
a
devenit sym53c8xx
.
Apoi va trebui să regenerați imaginea/imaginile initramfs cu comanda
update-initramfs -u -k all
.
Odată ce rulați un nucleu și udev
din lenny puteți reconfigura sistemul dumneavoastră să acceseze
discurile printr-un alias independent de ordinea încărcării
driverelor. Aceste aliasuri pot fi găsite în ierarhia din directorul
/dev/disk/
Dacă un initrd creat cu initramfs-tools
este folosit pentru a inițializa
sistemul, în unele cazuri crearea fișierelor-dispozitiv de către udev
poate avea loc prea târziu pentru ca
scripturile de inițializare să le poată utiliza.
Comportamentul distinctiv este că inițializarea eșuează din cauza că
sistemul de fișirere rădăcină nu poate fi montat și un interpretor de
comenzi pentru depanare este lansat. Dar dacă verificați mai târziu veți
găsi toate fișierele dispozitiv se află în
/dev
. Aceasta s-a observat în cazurile în care sistemul
de fișiere rădăcină se află pe un disc USB sau
RAID mai ales dacă este folosit
LILO.
O soluție alternativă pentru această problemă este folosirea parametrului de
inițializare
rootdelay=
. Valoarea pentru
limita de timp (în secunde) poate necesita ajustare.
9
După ce aptitude dist-upgrade
a terminat, înseamnă că
actualizarea „formală” s-a terminat, dar există alte lucruri
care trebuie făcute înainte să reporniți sistemul.
Dacă folosiți lilo
ca încărcător de
sistem (este încărcătorul de sistem implicit pentru o parte din instalările
de etch) este indicat să rulați comanda lilo
după înnoire:
# /sbin/lilo
A se reține că acest lucru este necesar chiar dacă nu ați actualizat nucleul sistemului, deoarece a doua etapă a lui lilo se va schimba datorită actualizării pachetului.
De asemenea, revizuiți conținutul fișierului
/etc/kernel-img.conf
și asigurați-vă că aveți opțiunea
do_bootloader = Yes
în el. Astfel, încărcătorul de sistem
va fi rulat întotdeauna după o actualizare de nucleu.
Dacă întâmpinați probleme în timpul rulării comenzii
lilo, verificați dacă nu există discrepanțe între
legăturile simbolice din /
către
vmlinuz
și initrd
, și conținutul
lui /etc/lilo.conf
.
Dacă ați uitat să rulați din nou comanda lilo înainte de
repornire sau sistemul a fost repornit din întâmplare înainte ca să o rulați
manual comanda, este posibil ca sistemul să nu pornească. În locul
promptului lilo veți vedea doar LI
la pornirea
sistemului[5]. A se vedea Secțiune 4.1.3, „Pregătiți recuperarea” pentru soluții de
recuperare din această situație.
O parte din utilizatori au raportat că o înnoire poate cauza ca nucleul să nu găsească partiția rădăcină de sistem după repornirea sistemului.
Într-o asemenea situație sistemul se blochează la mesajul următor:
Waiting for root file system ...
și după câteva secunde un simplu prompt de busybox este afișat.
Această problemă poate apărea la înnoirea nucleului odată cu utilizarea a
noii generații de drivere IDE. Convenția driverelor vechi
pentru numirea discurilor IDE a fost
hda
, hdb
, hdc
și
hdd
. Driverele noi vor numi aceleași discuri cu
sda
, sdb
, sdc
și,
respectiv, sdd
. Problema apare dacă în procesul înnoirii
nu se generează un nou fișier /boot/grub/menu.lst
care
să țină cont de noile convenții. La pornire Grub va oferi nucleului o
partiție de sistem rădăcină care nu poate fi găsită de nucleu.
Dacă v-ați lovit de această problemă, accesați Secțiune 4.8.2, „Cum să se recupereze sistemul în caz de problemă după înnoire”. Pentru a evita această problemă înainte de înnoire citiți în continuare.
Problema se poate evita complet prin intermediul unui identificator pentru sistemul de fișiere rădăcină ce nu se modifică de la o pornire la alta. Sunt două posibilități pentru a o face - etichetarea sistemului de fișiere sau folosirea identificatorului unic universal al sistemului de fișiere (UUID). Aceste metode sunt suportate în Debian începând cu versiunea „etch”.
Ambele metode au avantaje și dezavantaje. Etichetarea este mai lizibilă dar poate fi o sursă de probleme dacă un alt sistem de fișiere are aceeași etichetă. Metoda cu UUID nu este la fel de lizibilă dar este mult mai puțin probabilă coliziunea identificatorilor UUID.
În exemplele de mai jos vom presupune că sistemul de fișiere rădăcină este
pe /dev/hda6
. De asemenea, vom presupune că udev
funcționează corect pe sistemul dumneavoastră.
Pentru implementarea soluției cu etichetă:
Dați o valoare etichetei sistemului de fișiere (numele trebuie să conțină < 16 caractere) prin rularea comenzii: e2label /dev/hda6 rootfilesys
Editați /boot/grub/menu.lst
și modificați rândul:
# kopt=root=/dev/hda6 ro
în
# kopt=root=LABEL=rootfilesys ro
![]() | Notă |
---|---|
A nu se ștege |
Actualizați rândurile cu kernel
în
menu.lst
rulând comanda update-grub.
Editați /etc/fstab
și modificați rândul ce se referă la
montarea partiției /
, de exemplu:
/dev/hda6 / ext3 defaults,errors=remount-ro 0 1
în
LABEL=rootfilesys / ext3 defaults,errors=remount-ro 0 1
Modificarea semnificativă aici este în prima coloană, nu este nevoie să se modifice restul coloanelor din acel rând.
Pentru implementarea soluției cu UUID:
Aflați identificatorul unic universal pentru sistemul dumneavoastră de fișiere prin rularea comenzii:ls -l /dev/disk/by-uuid | grep hda6
Ar trebui să vedeți un rând cu text similar cu acesta:
lrwxrwxrwx 1 root root 24 2008-09-25 08:16 d0dfcc8a-417a-41e3-ad2e-9736317f2d8a -> ../../hda6
UUID este numele pentru legătura simbolică ce indică spre
/dev/hda6
, adică:
d0dfcc8a-417a-41e3-ad2e-9736317f2d8a
.
![]() | Notă |
---|---|
UUID-ul sistemului dumneavoastră de fișiere va fi unul diferit de acesta. |
Editați /boot/grub/menu.lst
și modificați rândul:
# kopt=root=/dev/hda6 ro
în
# kopt=root=UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8 ro
![]() | Notă |
---|---|
A nu se ștege |
Actualizați rândurile cu kernel
în
menu.lst
rulând comanda update-grub.
Editați /etc/fstab
și modificați rândul ce se referă la
montarea partiției /
, de exemplu:
/dev/hda6 / ext3 defaults,errors=remount-ro 0 1
în
UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8 / ext3 defaults,errors=remount-ro 0 1
Modificarea semnificativă aici este în prima coloană, nu este nevoie să se modifice restul coloanelor din acel rând.
Această metodă este potrivită dacă Grub vă afișează meniul pentru alegerea opțiunilor de pornire. Dacă meniul nu apare, încercați să apăsați tasta Esc înainte ca nucleul să pornească ca să puteți vedea meniul. Dacă nu puteți accesa meniul, încercați Secțiune 4.8.2.2, „Soluția 2” sau Secțiune 4.8.2.3, „Soluția 3”.
În meniul din Grub alegeți opțiunea cu care doriți să porniți sistemul. Apăsați tasta e pentru a edita opțiunile alegerii curente. Va fi afișat un mesaj similar cu acesta:
root (hd0,0) kernel /vmlinuz-2.6.26-1-686 root=/dev/hda6 ro initrd /initrd.img-2.6.26-1-686
Selectați linia
kernel /vmlinuz-2.6.26-1-686 root=/dev/hda6 ro
apăsați tasta e și înlocuiți
hd
cu
X
sd
(unde X
X
este litera a
, b
, c
sau d
dependent de sistemul dumneavoastră). În exemplul
dat rândul devine:
kernel /vmlinuz-2.6.26-1-686 root=/dev/sda6 ro
Apoi apăsați Enter pentru a salva modificările. Dacă alte
rânduri conțin hd
, modificați
acele rânduri deasemenea. Nu modificați rândurile similare cu X
root
(hd0,0)
. Odată ce ați terminat toate modificările, apăsați tasta
b. Sistemul dumneavoastră ar trebui să porneasă ca de
obicei.
Acum, când sistemul este pornit, este necesar să rezolvați complet această problemă. Accesați Secțiune 4.8.1, „Cum se poate evita problema înainte de înnoire” și aplicați una din cele două proceduri propuse.
Porniți sistemul de pe un mediu de instalare Debian GNU/Linux
(CD/DVD) și la cerere, tastați
rescue
pentru a porni în modul de recuperare. Alegeți
limba, locația, aranjamentul tastaturii; lăsați să se configureze rețeaua
(indiferent dacă reușește sau nu). În scurt timp va trebui să fiți întrebați
pentru alegerea partiției pe care o doriți să folosiți ca sistem de fișierer
rădăcină. Alegerile propuse vor arăta similar cu:
/dev/ide/host0/bus0/target0/lun0/part1 /dev/ide/host0/bus0/target0/lun0/part2 /dev/ide/host0/bus0/target0/lun0/part5 /dev/ide/host0/bus0/target0/lun0/part6
Dacă știți care partiție conține sistemul de fișiere rădăcină, atunci faceți alegerea corespunzătoare. În caz că nu știți, alegeți prima partiție. Dacă apare un mesaj despre un sistem de fișiere rădăcină nevalid, atunci încercați cu următoare partiție, șamd. Încercând pe rând partițiile, n-ar trebui să le deterioreze și, dacă aveți doar un singur sistem de operare pe discurile dumneavoastră, ar trebui să găsiți ușor partiția cu sistemul de fișiere rădăcină. În caz că aveți mai multe sisteme de operare instalate pe discuri, este recomandat să știți exact care este partiția potrivită.
Odată ce partiția a fost aleasă, o serie de opțiuni vor fi puse la dispoziție. Alegeți opțiunea de a executa un shell pe partiția aleasă. Dacă apare vreun mesaj de eroare, încercați cu o altă partiție.
Acum ar trebui să aveți acces la shell cu numele de utilizator
root
pe sistemul de fișiere rădăcină montat în
/
. Aveți nevoie de acces la conținutul directoarelor
/boot
, /sbin
și
/usr
, care acum ar trebui să se găsească în
/target/boot
, /target/sbin
și
/target/usr
. Dacă aceste directoare trebuie să fie
montate de pe alte partiții, montați-le (consultați
/etc/fstab
dacă nu știți care sunt partițiile
corespunzătoare).
Accesați Secțiune 4.8.1, „Cum se poate evita problema înainte de înnoire” și aplicați una
din cele două proceduri propuse pentru a rezolva complet problema. Apoi
tastați exit
pentru a părăsi interpretorul de comenzi
pentru recuperare și alegeți reboot
pentru repornirea
obișnuită a sistemului (a nu se uita înlăturarea mediilor pentru pornirea
sistemului).
Porniți sistemul cu distribuția de LiveCD preferată, ca, de exemplu, Debian Live, Knoppix sau Ubuntu Live.
Montați partiția ce conține directorul /boot
. Dacă nu
știți care este partiția, vedeți rezultatul rulării comenzii
dmesg pentru a afla dacă discul dumneavoastră este văzut
drept hda
, hdb
,
hdc
, hdd
sau sda
,
sdb
, sdc
, sdd
. După
ce ați aflat care este discul potrivit, de exemplu sdb
,
rulați următoarea comandă pentru a vedea tabela de partiții a discului și
pentru a găsi partiția corectă: fdisk -l /dev/sdb
Dacă ați montat partiția corectă în /mnt
și acea
partiție conține directorul /boot
și conținutul său,
atunci editați fișierul /mnt/boot/grub/menu.lst
.
Găsiți secțiunea similară cu:
## ## End Default Options ## title Debian GNU/Linux, kernel 2.6.26-1-686 root (hd0,0) kernel /vmlinuz-2.6.26-1-686 root=/dev/hda6 ro initrd /initrd.img-2.6.26-1-686 title Debian GNU/Linux, kernel 2.6.26-1-686 (single-user mode) root (hd0,0) kernel /vmlinuz-2.6.26-1-686 root=/dev/hda6 ro single initrd /initrd.img-2.6.26-1-686 ### END DEBIAN AUTOMAGIC KERNELS LIST
și înlocuiți fiecare hda
, hdb
,
hdc
, hdd
cu sda
,
sdb
, sdc
, respectiv
sdd
, după caz. Nu modificați rândurile similare cu:
root (hd0,0)
Reporniți sistemul, scoateți LiveCD-ul și sistemul dumneavoastră ar trebui să pornească corect.
După ce sistemul e pornit, aplicați una din cele două proceduri propuse la Secțiune 4.8.1, „Cum se poate evita problema înainte de înnoire” pentru a rezolva complet problema.
După actualizare sunt mai multe lucruri pe care le puteți face pentru a pregăti următoarea lansare.
Dacă noul meta-pachet pentru imaginea de nucleu a fost instalat ca dependență la cel vechi, acesta va fi marcat ca instalat automat, ceea ce ar trebui corectat:
# aptitude unmarkauto $(dpkg-query -W 'linux-image-2.6-*' | cut -f1)
Îndepărtați pachetele depășite nefolosite după cum este descris la Secțiune 4.10, „Pachete învechite”. Ar trebui să verificați ce fișiere de configurare folosesc acestea și să luați în considerare eliminarea pachetelor pentru a îndepărta fișierele de configurare.
Deși aduce câteva sute de pachete noi, lenny mai înlocuiește și omite mai mult de două mii de pachete vechi care au fost în etch. Nu se oferă nici o modalitate de înnoire a pachetelor depășite. În timp ce nimic nu vă oprește să continuați să folosiți pachetele depășite, proiectul Debian va opri suportul de securitate pentru ele la un an după lansarea lui lenny[6], și, în mod normal, nici nu va oferi altfel de suport între timp. Este recomandată înlocuirea lor cu alternative, dacă sunt disponibile.
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 lenny datorită problemelor avute. În cazul din urmă, pachetele ar putea fi încă prezente în distribuția „unstable”.
Detectarea pachetelor „depășite” î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”. dselect oferă o secțiune similară, însă afișarea poate diferi.
Dacă ați utilizat aptitude pentru a instala manual pachete în etch, acesta va reține faptul că au fost instalate manual și va putea marca drept învechite pachetele care au fost instalate doar ca dependențe și nu mai sunt necesare deoarece pachetele care aveau nevoie de ele au fost șterse. De asemenea, aptitude, spre deosebire de deborphan, nu va marca cu starea învechit pachetele pe care le-ați instalat manual, spre deosebire de cele instalate automat ca dependențe.
Există unelte adiționale pe care le puteți folosi pentru a detecta pachetele depășite, cum ar fi deborphan, debfoster sau cruft. deborphan este indicat, deși implicit va raporta doar bibliotecile depășite, adică pachetele din secțiunile „libs” sau „oldlibs” care nu sunt utilizate de alte pachete. Nu dezinstalați pachetele prezentate de aceste unelte fără a vă gândi bine, mai ales dacă folosiți opțiunile agresive, neimplicite, ce 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.
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.
The list of obsolete packages includes:
Anumite pachete din etch au fost împărțite în mai multe pachete în lenny, deseori pentru a îmbunătăți mentenabilitatea sistemului. Pentru a ușura actualizarea în aceste cazuri, lenny oferă pachete „marionetă”: pachete goale care au același nume ca versiunea din etch cu dependențe ce cauzează instalarea pachetelor noi. Aceste pachete „marionetă” sunt considerate depășite ș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țiunea --guess
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.
[2] Această facilitate poate fi dezactivată prin adăugarea parametrului
panic=0
la parametrii de inițializare.
[3] 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.
[4]
Acele reguli sunt generate automat de scriptul
/etc/udev/rules.d/75-persistent-net-generator.rules
pentru a oferi persistența numelor interfețelor de rețea. Ștergerea acestei
legături simbolice va dezactiva persistența numirii dispozitivelor
NIC de udev
.
[5] Pentru mai multe informații despre codurile de eroare lilo a se vedea The Linux Bootdisk HOWTO.
[6] 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.