[ înapoi ] [ Sumar ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ A ] [ înainte ]
Vă sugerăm să citiți și informațiile de la Probleme de care ar trebui să știți în etch, Capitolul 5 înainte de a începe actualizarea. Acest capitol tratează problemele ce pot să apară, care nu sunt direct legate de procesul de actualizare, dar care ar putea fi, totuși, important să fie știute înainte de a începe.
Î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 suficient de fiabile, însă o problemă hardware apărută în mijlocul actualizării poate afecta sever un sistem.
The main things you'll want to back up are the contents of /etc,
/var/lib/dpkg, /var/lib/aptitude/pkgstates and the
output of dpkg --get-selections "*" (the quotes are
important).
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
actualizarile 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ă 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țiile utilizatorilor (/home) înainte
de actualizare.
Probabil că va trebui sa faceți și o actualizare de nucleu odată cu trecerea la etch, 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 sarge și etch, în ceea ce privește modulele, detectarea, numirea componentelor și ordonarea fișierelor dispozitiv, există un risc real ca să întâmpinați probleme la reinițializarea sistemului, dupa actualizare. Multe dintre potențialele probleme cunoscute sunt documentate în acesta ș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 indicat să să vă luați precauțiile necesare să va asigurați că veți putea
să accesați serverul printr-o conexiune la distanță printr-un terminal serial.
Există șansa ca, după actualizarea nucleului și reinițializare, unele
dispozitive să fie redenumite (după cum e descris în Reordonarea enumerării dispozitivelor, Secțiunea
4.6.3) și va trebui să reparați configurația sistemului printr-o consolă
locală. De asemenea, dacă sistemul este reinițializat în mod accidental în
mijlocul actualizării, există șansa ca recuperarea de la o consolă locală să
fie necesară.
Cel mai evident lucru care poate fi încercat este să reporniți cu vechiul nucleu. Totuși, din variate 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 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 să folosiți modul recuperare
al programului de instalare Debian din etch. Avantajul acestei metode este ca
puteți alege dintre multiplele metode de instalare pe cea care se potrivește
cel mai bine situației în care vă aflați. Pentru mai multe informații, vă
rugăm să consultați secțiunea "Recuperarea unui sistem defect" în
capitolul 8 al Ghidului de
instalare și Întrebările frecvente legate
de programul de instalare Debian.
initramfs-tools include o consolă de depanare[5] în imaginile initrd generate.
Dacă, de exemplu, initrd nu poate monta sistemul de fișiere radăcină, veți fi
transferat în această consolă de depanare care are comenzile de bază pentru a
vă ajuta sa găsiți problema și poate chiar să o corectați.
Lucrurile de bază care trebuie verificate sunt: prezența fișierelor-dispozitiv
în /dev; ce module sunt încărcate (cat
/proc/modules); dacă există mesaje de eroare în informațiile furnizate
de comanda dmesg. Informațiile de la dmesg vor arăta
și ce fișiere-dispozitiv au fost asociate fiecărui disc; ar trebui să
verificați și ce apare la comanda echo $ROOT pentru a vă asigura
că sistemul de fișiere rădăcină se află 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 de sistem să nu eșueze și ea.
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ă premite să vă reconectați în
siguranță și oferă siguranța că procesul de instalare nu va fi întrerupt, chiar
dacă eșueză procesul care întreține conexiunea la distanță.
Important! Nu trebuie să faceți actualizarea prin
telnet, rlogin, rsh, sau dintr-o sesiune
X gestionată de xdm, gdm, kdm sau de
alte servicii similare de pe mașina pe care o aduceți la zi. Aceasta deoarece
fiecare dintre aceste servicii pot fi oprite în timpul actualizării, lucru care
poate face ca sistemul să devină inaccesibl și actualizat doar pe
jumătate.
În cazul în care folosiți un nucleu mai vechi de 2.4.1, trebuie să treceți (cel
puțin) la un nucleu din seria 2.4 înainte să actualizați pachetul
glibc. Aceasta ar trebui să se petreacă înainte de a începe
actualizarea. Se recomandă să faceți trecerea direct la un nucleu din seria
2.6 disponibil în sarge, în loc să treceți la un nucleu 2.4.
The upgrade process described in this chapter has been designed for upgrades
from "pure" sarge systems without third-party packages. In
particular, there are known problems with third-party packages which install
programs under /usr/X11R6/bin/ causing problems with upgrades due
to the X.Org transition (Tranziția de
la XFree86 la X.Org, Secțiunea 5.2). For greatest reliability of the
upgrade process, you may wish to remove third-party packages from your system
before you begin upgrading.
Se pleacă de la presupunerea că ați actualizat până la ultima versiune minoră a lui sarge. Dacă nu ați făcut acest lucru sau în caz de dubii, urmați instrucțiunile de la Actualizarea sistemului sarge, Secțiunea A.1.
Î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 este
"curat", înainte de a continua procesul de actualizare.
Din acest motiv ar trebui să verificați dacă sunt sau nu acțiuni în așteptare
în managerul de pachete aptitude. Dacă vreun pachet este
înregistrat să fie șters sau actualizat în managerul de pachete, acest lucru ar
putea avea un impact negativ asupra procedurii de actualizare. A se reține că
acest aspect se poate corecta doar dacă fișierul sources.list încă
mai indică spre sarge; și nu indică spre stable sau
etch; a se vedea Verificarea listei de surse,
Secțiunea A.2.
Pentru a realiza acest lucru, rulați interfața lui aptitude și
apăsați 'g' (de la eng. "Go" - a porni). Dacă afișează vreo
acțiune, acestea ar trebui verificate și, fie corectați, fie implementați
acțiunile sugerate. Dacă nu există nici o acțiune, atunci va apărea mesajul
următor: "Nici un pachet nu este programat să fie instalat, șters sau
înnoit".
Dacă ați configurat APT să instaleze anumite pachete dintr-o distribuție
diferită de cea stabilă (de ex. din "testare"), probabil că va
trebui să vă schimbați configurația alegerilor selective APT (aflată în
/etc/apt/preferences) pentru a permite actualizarea pachetelor la
noua versiune stabilă. Mai multe informații despre alegerile 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 "*" > ~/pac-curente.txt
Este preferabil să ștergeți fanionul "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,
are 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 package_name
Înlocuiți hold cu unhold pentru a demarca starea "păstrat".
Dacă există lucruri care trebuiesc reparate, este recomandabil să vă asigurați
că sources.list se referă încă la sarge, după cum este explicat în
Verificarea listei de surse,
Secțiunea A.2.
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 etch și să schimbați linia
cu sursa corespunzătoare la același moment cu schimabrea surselor pentru
pachetele Debian.
Unii utilizatori ar putea avea instalate pe sistemele lor sarge pachete neoficiale mai "noi", "backportate", care există în Debian. Asemenea pachete, cel mai probabil, vor cauza probleme în timpul actualizării, deoarece ar putea rezulta conflicte de fișiere[6]. Secțiunea Probleme posibile în timpul actualizării, Secțiunea 4.5.8 conține câteva informații despre tratarea conflictelor de fișiere, în cazul în care acestea apar.
Pentru a-l împiedica pe aptitude să șteargă unele pachete care
sunt "trase" prin dependențe, va trebui să le demarcaț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 'kernel-image-2.6.*' | cut -f1)
Notă: Puteți vedea care pachete sunt marcate ca auto în aptitude cu comanda:
# aptitude search 'i~M <nume pachet>'
Înainte de a începe actualizarea, trebuie să pregătiți fișierul de configurare
al lui apt pentru lista de pachete,
/etc/apt/sources.list.
apt va considera toate pachetele care pot fi găsite prin liniile
"deb" și va instala pachetul cu numărul de versiune cel
mai mare, oferind prioritate primelor linii menționate (astfel, în cazul unor
locații alternative multiple, ar trebui să menționați mai întâi un disc local,
apoi CD-urile, după care serverele alternative HTTP/FTP).
O versiune poate fi referită deseori atât prin numele de cod (de ex: sarge, etch) 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ă serverelor 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/debian/. 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/etch/main/binary-amd64/...
http://mirrors.kernel.org/debian/dists/etch/contrib/binary-amd64/...
Pentru a utiliza această locație cu apt, trebuie să adăugați
această linie la fișierul dumneavoastră sources.list:
deb http://mirrors.kernel.org/debian etch 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 locul folosiri locațiilor alternative HTTP sau FTP, poate veți dori să
modificați /etc/apt/sources.list pentru a utiliza o locație de pe
discul local (posibil montată prin NFS).
De exemplu, locația dumneavoastră cu pachete poate fi în
/var/ftp/debian/, având directoarele principale astfel:
/var/ftp/debian/dists/etch/main/binary-amd64/...
/var/ftp/debian/dists/etch/contrib/binary-amd64/...
Pentru a folosi apt în această configurație, adăugați următoarea
linie în fișierul sources.list:
deb file:/var/ftp/debian etch 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, comentați liniile
"deb" existente în /etc/apt/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 dvs, /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 spații între cuvintele defaults,noauto,ro din cel de-al patrulea câmp.
Pentru a verifica funcționalitatea, 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 binar pe care îl aveți, pentru a adăuga date despre fiecare CD în baza de date APT.
Unealta recomandată pentru actualizearea între versiunile Debian GNU/Linux este
managerul de pachete aptitude. Aceast program ia decizii mai
sigure la instalarea pachetelor decât 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
Apoi, ar trebui să verificați încă o dată dacă înregistrările din sursele APT
(din /etc/apt/sources.list) se referă fie la
"etch" sau la "stable". Nu ar
trebui să existe nici o intrare care să indice către sarge. Notă: liniile
sursă pentru un CD-ROM se vor referi deseori la
"unstable"; chiar dacă poate fi confuz, nu ar
trebui să le modificați.
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>~/act-etch.time -a 2>~/act-etch.script
sau ceva similar. Nu plasați fișierul script într-un director temporar, cum ar
fi /tmp sau /var/tmp (fișierele din aceste directoare
pot fi șterse în timpul actualizării sau la orice repornire de sistem).
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/act-etch.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 ~/act-etch.time 2>~/act-etch.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.
Trebuie să verificați că aveți spațiu suficient pe disc înainte de actualizarea
întregului sistem, după cum este descris în Actualizarea sistemului, Secțiunea 4.5.6. Mai
întâi, orice pachet preluat prin rețea este stocat în
/var/cache/apt/archives (și în subdirectorul
partial/, în timpul descărcării), deci trebuie să vă asigurați că
aveți suficient spațiu pe partiția unde se află /var/, locul unde
sunt descărcate temporar pachetele ce vor fi instalate în sistemul
dumneavoastră. După ce pachetele se vor fi descărcat, probabil veți avea
nevoie de spațiu suplimentar pe celelalte partiții pentru a instala pachetele
actualizate (care pot conține binare mai mari sau mai multe date) și pentru
noile pachete ce vor fi descărcate pentru a face actualizarea. Dacă spațiul în
sistem este insuficient, puteți ajunge în situația de a avea un sistem
incomplet actualizat, situație din care recuperarea va fi 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.
[7]
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 pachetele vechi pe care nu le mai folosiți. Dacă aveți instalat
popularity-contest, puteți folosi
popcon-largest-unused pentru a vedea care sunt cele mai mari
pachete pe care nu le folosiți. Puteți să folosiți și deborphan
sau debfoster pentru a vedea pachetele depășite (a se vedea Pachete depășite, Secțiunea 4.10). Mai există și
posibilitatea să porniți aptitude în modul "vizual" și
să căuați pacjhetele învechite la categoria "Pachete învechite și pachete
create local".
Ștergeți pachetele care ocupă prea mult spațiu, și care nu sunt necesare
imediat (puteți să le reinstalați după actualizare). Puteți afișa pachetele
care ocupă cel mai mult spațiu folosind dpigs (disponibil în
pachetul debian-goodies) sau cu wajig (executând
wajig size).
Mutați temporar pe un alt sistem, sau ștergeți permanent, fișierele jurnal de
sistem din /var/log/.
A se reține că pentru a șterge în siguranță pachete, este recomandabil să vă
asigurați că sources.list se referă încă la sarge, după cum este
explicat în Verificarea listei de
surse, Secțiunea A.2.
Datorită unor conflicte necesare între pachetele din sarge și etch, 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 upgrade
Aceasta are ca efect actualizarea acelor pachete care pot fi actualizate fără ca alte pachete să fie șterse sau instalate.
Urmați actualizarea minimală cu:
# aptitude install initrd-tools
Acest pas va actualiza automat libc6 și locales, și
va "trage" în sistem bibiliotecile pentru suportul SELinux
(libselinux1). La acest moment unele servicii care sunt active
vor fi repornite, inclusiv xdm, gdm and
kdm. Drept consecință, sesiunile X11 locale for fi deconectate.
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.
Printre pachetele comune pentru care este de așteptat să fie șterse sunt
base-config, hotplug, xlibs,
netkit-inetd, python2.3, xfree86-common
și xserver-common. A se vedea Pachete
depășite, Secțiunea 4.10 pentru lista de pachete depășite în etch.
Această cale de actualizare a fost verificată și funcționează pe sisteme cu sarcina sistem de birou din sarge instalată. Probabil că este metoda care va duce la cele mai bune rezultate pe sistemele cu sarcina mediu de birou instalată sau cu unul dintre pachetele gnome sau kde instalat.
Aceasta probabil că nu este metoda corectă dacă nu aveți deja
pachetele libfam0c102 și xlibmesa-glu instalate:
# dpkg -l libfam0c102 | grep ^ii
# dpkg -l xlibmesa-glu | grep ^ii
Dacă aveți un sistem complet de birou, rulați comanda:
# aptitude install libfam0 xlibmesa-glu
Sistemele cu câteva pachete pentru X instalate, dar fără sarcina mediu de
birou complet instalată, tebuie să folosească altă metodă. Această
metodă se aplică, în general, sistemelor care au instalat pachetul
xfree86-common, inclusiv unele servere care au instalate sarcini
tasksel de server deoarece unele dintre aceste sarcini includ
unelte grafice de administrare. Este, probabil, metoda corectă pentru
sistemele care au X, dar nu au instalată întreaga sarcină mediu de
birou.
# dpkg -l xfree86-common | grep ^ii
Mai întâi, verificați dacă aveți instalate pachetele libfam0c102
și xlibmesa-glu.
# dpkg -l libfam0c102 | grep ^ii
# dpkg -l xlibmesa-glu | grep ^ii
Dacă nu aveți instalat pachetul libfam0c102, nu includeți
libfam0 în următoarea linie de comandă. Dacă nu aveți instalat
pachetul xlibmesa-glu, nu-l includeți în următoarea linie de
comandă. [8]
# aptitude install x11-common libfam0 xlibmesa-glu
A se reține că dacă instalați libfam0, se va instala atât
Monitorul de alterare a fișierelor (fam) cât și
"portmapper-ul RPC" (portmap), dacă acestea nu sunt deja
instalate în sistem. Ambele pachete vor activa în sistem câte un nou serviciu
de rețea, deși ambele pot fi configurate să se asocieze doar interfeței
(interne) de tip buclă (eng. "loopback").
On a system with no X, no additional aptitude install command should be required, and you can move on to the next step.
Versiunea de udev din etch nu suportă nuclee mai vechi de 2.6.15
(aici sunt incluse și nucleele 2.6.8 prezente în sarge) iar versiunea de
udev din sarge nu va funcționa corect cu nucleele mai recente.
Mai mult, instalarea versiunii udev din etch va forța ștergerea
pachetului hotplug, care este folosit de nucleele Linux 2.4.
Drept consecință, nucleul anterior probabil că nu va porni corect după această
actualizare. Prin simetrie, există o perioadă în timpul procesului de
actualizare în care udev a fost actualizat însă nucleul cel mai
recent încă nu a fost instalat. Dacă s-ar întâmpla ca sistemul să fie
reinițializat în acest moment, în mijlocul procesului de actualizare, este
posibil ca acesta să nu mai pornească deoarece modulele nu vor fi fost
detectate și încărcate corect. (A se vedea Pregătirile unui mediu sigur pentru actualizare,
Secțiunea 4.1.4 pentru recomandări legate de pregătirea pentru această
situație, în cazul actualizării de la distanță.)
Doar dacă sistemul dumneavoastră nu are instalată sarcina mediu de birou sau alte pachete care ar duce la ștergerea unui număr inacceptabil de pachete, este recomandat să instalați doar nucleul la acest moment.
Pentru a începe această actualizare de nucleu, executați:
# aptitude install linux-image-2.6-variantă
A se vedea Instalarea meta pachetului de nucleu, Secțiunea 4.6.1 pentru a vă ajuta să decideți care variantă de pachet de nucleu ar trebui să instalați.
În cazul sistemelor de birou, din păcate, nu se poate asigura că noul pachet de
nucleu este instalat imediat după ce se instalează noul pachet
udev, deci există un interval de timp nedeterminat în care
sistemul nu va avea instalat nici un nucleu cu suport complet pentru
"hotplug"(în eng. "conectare la cald"). A se vedea Actualizarea nucleului și a pachetelor conexe, Secțiunea
4.6 pentru informații legate de configurarea sistemului astfel încât să nu
depindă de "hotplug" pentru a porni.
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, instalând cele mai noi versiuni disponibile ale tuturor pachetelor și rezolvând 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 conflictuale sau depășite.
Când actualizați de pe un set de CD-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.
Noile versiuni ale pachetelor instalate în prezent și care nu pot fi
actualizate fără a schimba starea de instalare a unui alt pachet vor rămâne la
versiunea prezentă (și afișate ca "păstrate"). Această situație
poate fi remediată fie prin utilizarea aptitude pentru a alege
aceste pachete pentru instalare sau prin aptitude -f install
pachet.
După actualizare, cu noua versiune de apt veți putea să
actualizați informația despre pachete, care va include mecanismele de
verificare a semnăturii:
# aptitude update
Actualizarea va fi preluat și activat deja cheile de semnare pentru arhiva de
pachete Debian. Dacă adăugați alte surse de pachete (neoficiale),
apt va afișa avertismente legate de incapacitatea sa de a confirma
că pachetele descărcate de acolo sunt pachete legitime și nu au fost alterate
în scop malefic. Pentru mai multe informații, a se vedea Managementul de pachete, Secțiunea
2.1.1.
Veți vedea că, deoarece folosiți noua versiune de apt, va descărca
fișiere cu diferențe în lista de pachete (pdiff), în loc să
descarce întreaga listă. Pentru mai multe informații legate de această
facilitate, a se citi Actualizare
mai lentă a fișierelor cu indecși de pachete APT, Secțiunea 5.1.3.
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 cache 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
cache-ului. Dimensiunea cache-ului 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 sarge "pur" nu ar trebui să apară conflicte de fișiere, însă acestea pot interveni dacă aveți pachete neoficiale "backport"-ate. Un conflict de fișiere poate rezulta într-o eroare de genul:
Se despachetează <pachet-bla> (din <fișierul-pachet-bla>) ...
dpkg: eroare la procesarea <pachet-bla> (--install):
încercare de suprascriere a <un-nume-de-fișier>,
care este și în pachetul <pachet-blabla>
dpkg-deb: subproces paste omorât prin semnal (Broken pipe)
Erori întâlnite în timpul prelucrării:
<pachet-bla>
Puteți încerca să rezolvați un conflict de fișiere prin eliminarea forțată a pachetelor menționate la sfârșitul 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 vi se vor pune întrebări legate de configurarea sau
reconfigurarea anumitor pachete. La întrebările despre înlocuirea fișierelor
din directoarele /etc/init.d, /etc/terminfo sau a
fișierului /etc/manpath.config cu cele din pachete, de obicei,
trebuie să răspundeți afirmativ, pentru a asigura că sistemul este într-o stare
consecventă. Puteți oricând să reveniți la versiunile anterioare, acestea
fiind 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 arată cum să vă actualizați nucleul și identifică potențialele
probleme legate de această actualizare. Puteți fie să instalați unul dintre
pachetele linux-image-* oferite de Debian, fie să compilați din
surse un nucleu particularizat.
A se reține că multe din informațiile din această secțiune sunt bazate pe
presupunerea că veți folosi unul dintre nucleele Debian modulare împreună cu
initramfs-tools și udev. Dacă alegeți să folosiți un
nucleu particularizat care nu are nevoie de o imagine initrd sau dacă folosiți
un alt generator de imagini initrd, unele dintre informații pot fi irelevante
pentru cazul dumneavoastră.
A se reține și că, dacă udev nu este instalat în sistemul
dumenavoastră, este încă posibil să folosiți hotplug pentru
detectarea componentelor.
Atunci când actualizați distribuția (folosind dist-upgrade) de la sarge la etch, este indicat să instalați metapachetul 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. Pentru a vedea o listă cu metapachetele linux-image-2.6 disponibile, rulați comanda:
# apt-cache search linux-image-2.6- | grep -v transition
Dacă nu știți cu siguranță ce pachet să alegeți, rulați uname -r
și căutați un pachet cu un nume similar. De exemplu, dacă vedeți
'2.4.27-3-686', este recomandat să instalați linux-image-2.6-686.
Ați putea folosi, de asemenea, camanda apt-cache pentru a vedea o
descriere detaliată a fiecărui pachet pentru a putea să-l alegeți pe cel mai
bun pachet disponibil. 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.
Pentru cei mai aventuroși există în Debian GNU/Linux o metodă ușoară de a
compila un nucleu personalizat. Instalați pachetul kernel-package
și citiți documentația din /usr/share/doc/kernel-package.
Dacă rulați un nucleu 2.6 din sarge această actualizare va avea loc automat după actualizarea completă a pachetelor din sistem (după cum este descris la Actualizarea pachetelor, Secțiunea 4.5).
Dacă este posibil, este avantajos să actualizați pachetul nucleu separat de dist-upgrade-ul principal pentru a reduce riscul unui sistem care temporar nu poate inițializa. Vedeți Actualizarea Nucleului, Secțiunea 4.5.5 pentru o descriere a acestui proces. Notați că ar trebui să faceți acest lucru doar după procesul de actualizare minimală descris în Actualizare minimală de sistem, Secțiunea 4.5.4.
Această etapă poate fi folosită și dacă utilizați propriul nucleu personalizat
și doriți să folosiți nucleul disponibil în etch. Dacă versiunea dumneavoastră
de nucleu nu este suportată de udev atunci este recomandat să
actualizați după actualizarea minimală. Dacă versiunea dumneavoastră este
suportată de udev puteți aștepta până după actualizarea completă a
sistemului.
etch prezintă un mecanism mai robust pentru detectarea hardware-ului decât versiunea precedentă. Totuși, acesta poate duce la modificări la modul î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 etch funcțional, noua placă va primi un nume de interfață nou.
Pentru dispozitive de rețea puteți evita această reordonare folosind reguli
udev, mai exact, folosind definiții în
/etc/udev/rules.d/z25_persistent-net.rules[9].Alternativ puteți folosi
utilitarul ifrename pentru a asocia dispozitivele fizice cu nume
specifice la momentul inițializării. Vedeți ifrename(8) și
iftab(5) pentru mai multe informații. Cele două alternative
(udev și ifrename) nu trebuie folosite în acelați
timp.
Pentru dispozitivele de stocare, puteți evita această reordonare folosind
initramfs-tools configurat astfel încât să încarce modulele pentru
dispozitivele de stocare în ordinea în care sunt încărcate acum. Pentru a
realiza acest lucru, identificați ordinea în care au fost încărcate aceste
module pe sistemul dumneavoastră analizând informațiile furnizate de
lsmod. lsmod afișează modulele în ordinea inversă
încărcării lor, adică primul modul din listă a fost încărcat ultimul. A se
reține că aceasta va funcționa doar pentru dispozitivele care sunt enumerate de
nucleu într-o ordine stabilă (cum e cazul dispozitivelor 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 sarge și versiunea etch. Spre exemplu driverul
sym53c8xx_2 a devenit sym53c8xx.
Apoi va trebui să regenereați imaginea/imaginile initramfs cu comanda update-initramfs -u -k all.
De îndată ce rulați un nucleu din etch și udev puteți să
reconfigurați sistemul să acceseze discurile prin intermediul unui alias
independent de ordinea de încărcare a modulelor. Aceste aliasuri se găsesc în
ierarhia directorului /dev/disk/.
Dacă este folosit un initrd creat cu initramfs-tools pentru
inițializarea sistemului, în anumite cazuri crearea fișierelor de dispozitive
de către udev este prea târzie pentru ca script-urile de
inițializare să poată acționa.
The usual symptoms are that the boot will fail because the root file system
cannot be mounted and you are dropped into a debug shell, but that when you
check afterwards, all devices that are needed are present in /dev.
This has been observed in cases where the root file system is on a USB disk or
on RAID, especially if lilo is used.
O soluție alternativă pentru această problemă este folosirea parametrului de inițializare rootdelay=9. Valoarea pentru limita de timp (în secunde) poate necesita ajustare.
După ce aptitude dist-upgrade a terminat, înseamnă că actualizarea "formală" s-a terminat, dar există alte lucruri care trebuiesc făcute înainte să reporniți sistemul.
Nucleele distribuției Debian nu mai includ suport pentru devfs,
așa că cei ce folosesc devfs vor trebui să-și convertească manual
propriile sisteme înainte de a face actualizarea la un nucleu etch.
Dacă observați șirul 'devfs' în /proc/mounts, probabil că folosiți
devfs. Toate fișierele de configurare care fac referire la nume
de dispozitive în stilul devfs vor trebui să fie modificate pentru
a utiliza stilul udev. Fișierele cele mai susceptibile de a
conține referințe la nume de dispozitive în stilul devfs sunt
/etc/fstab, /etc/lilo.conf,
/boot/grub/menu.lst și /etc/inittab.
Informații suplimentare despre problemele ce pot să apară sunt disponibile în
raportul de problemă #341152.
Dacă folosiți lilo ca încărcător de sistem (este încărcătorul de
sistem implicit pentru unele instalări ale lui sarge) este indicat să rulați
din nou lilo după actualizare:
# /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 lilo înainte de reinițializarea
sistemului sau dacă sistemul este reinițializat accidental înainte să faceți
manual acest lucru, este posibil ca sistemul să nu mai pornească. În loc de
promptul lilo, veți vedea doar LI la pornirea sistemului[10]. Pentru a reveni din această
situație, a se vedea Pregătiți recuperarea, Secțiunea
4.1.3.
mdadm necesită un fișier de configurare pentru a asambla matricile multidisc
(RAID) din discul ram inițial în timpul secvenței de inițializare. Citiți și
executați întocmai instrucțiunile din
/usr/share/doc/mdadm/README.upgrading-2.5.3.gz după ce pachetul a
fost actualizat și înainte să reporniți sistemul. Cea mai
recentă versiune a acestui fișier este disponibilă la http://svn.debian.org/wsvn/pkg-mdadm/mdadm/trunk/debian/README.upgrading-2.5.3?op=file;
consultați-l în caz că aveți probleme.
După actualizare sunt mai multe lucruri pe care le puteți face pentru a pregăti următoarea lansare.
Dacă folosiți grub, modificați /etc/kernel-img.conf
și ajustați locația programului update-grub prin modificarea
/sbin/update-grub în /usr/sbin/update-grub.
Dacă noul metapachet pentru imaginea de nucleu a fost instalat ca și dependență la cel vechi, acesta va fi marcat ca și instalat automat, ceea ce ar trebui corectat:
# aptitude unmarkauto $(dpkg-query -W 'linux-image-2.6-*' | cut -f1)
Îndepărtați metapachetul de nucleu din sarge rulând:
# aptitude purge kernel-image-2.6-<flavor>
Move any configuration options from /etc/network/options to
/etc/sysctl.conf. Please see
/usr/share/doc/netbase/README.Debian for details.
Îndepărtați pachetele depășite nefolosite după cum este descris la Pachete depășite, Secțiunea 4.10. 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.
With the release of Lenny a bigger number of server packages will be deprecated, thus updating to newer versions of those now will save you from trouble when updating to Lenny.
This includes the following packages:
apache (1.x), successor is apache2
bind8, successor is bind9
php4, successor is php5
postgresql-7.4, successor is postgresql-8.1
exim 3, successor is exim4
Odată cu introducerea a mii de pachete noi, etch retrage și omite mai mult de două mii de pachete vechi din sarge. Pentru aceste pachete depășite nu există actualizări. Cu toate că nimic nu vă împiedică să folosiți un pachet depășit, proiectul Debian în mod normal va întrerupe suportul de securitate la un an după lansarea lui etch[11], neoferind alt suport în acest timp. Este recomandabil să le înlocuiți cu alternativele disponibile, dacă acestea există.
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 etch datorită problemelor avute. În cazul din urmă, pachetele ar putea fi încă prezente în distribuția "instabilă".
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
sarge, 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
succeptibile 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.
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.
Anumite pachete din sarge au fost împărțite în mai multe pachete în etch, deseori pentru a îmbunătăți mentenabilitatea sistemului. Pentru a ușura actualizarea în aceste cazuri, etch oferă pachete marionetă: pachete goale care au același nume ca versiunea din sarge 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.
[ înapoi ] [ Sumar ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ A ] [ înainte ]
Note de lansare pentru Debian GNU/Linux 4.0 ("etch"), AMD64
$Id: release-notes.en.sgml,v 1.312 2007/08/16 22:24:38 jseidel Exp $debian-doc@lists.debian.org