Skyrius 4. Atnaujinimas iš ankstesnės laidos

Turinys

4.1. Pasiruošimas atnaujinimui
4.1.1. Visų duomenų ir konfigūracijos nustatymų atsarginės kopijos sukūrimas
4.1.2. Informuoti naudotojus iš anksto
4.1.3. Pasiruošimas atstatymui
4.1.4. Atnaujinimui saugios aplinkos paruošimas
4.2. Sistemos būsenos tikrinimas
4.2.1. Atidėtų veiksmų paketų tvarkymo programoje peržiūra
4.2.2. APT pinning atjungimas
4.2.3. Paketų būsenos tikrinimas
4.2.4. Skyrius „proposed-update“
4.2.5. Neoficialūs ir adaptuotų paketų (backports) APT šaltiniai
4.3. Rankinis paketų žymių šalinimas
4.4. APT šaltinių paruošimas
4.4.1. Papildymas interneto APT šaltiniais
4.4.2. APT šaltinių papildymas lokaliais veidrožiais
4.4.3. Papildymas APT šaltiniu iš CD-ROM arba DVD
4.5. Paketų atnaujinimas
4.5.1. Seanso rašymas
4.5.2. Paketų sąrašo atnaujinimas
4.5.3. Įsitikinkite, kad turite pakankamai vietos atnaujinimui
4.5.4. Pirmiausiai atnaujinkite 'apt' ir/arba 'aptitude'
4.5.5. Sąrašo, gauto iš aptitude, naudojimas automatiniam paketų įdiegimui su apt
4.5.6. Minimalus sistemos atnaujinimas
4.5.7. Likusios sistemos dalies atnaujinimas
4.5.8. Galimos problemos atnaujinimo metu
4.6. Branduolio ir su juo susijusiu paketų atnaujinimas
4.6.1. Branduolio metapaketo įdegimas
4.6.2. Įrenginių numeracijos pertvarkymas
4.6.3. Įkėlimo laiko problemos
4.7. Prieš sistemos įkėlimą naujai (rebooting)
4.7.1. Pakartotinas lilo vykdymas
4.8. Sistema pakimba esant pranešimui Waiting for root file system
4.8.1. Kaip išvengti problemų prieš atnaujinimą
4.8.2. Kaip pataisyti Debian sistemą atsiradus problemoms po atnaujinimo
4.9. Pasiruošimas sekančiai laidai
4.10. Pasenę paketai
4.10.1. Tušti (priklausomybių) paketai

4.1. Pasiruošimas atnaujinimui

Prieš atnaujinimą mes rekomenduojame Jums taip pat perskaityti Skyrius 5, Dalykai, kuriuos reikia žinoti apie lenny. Tas skyrius aprašo potencialias problemas, kurios nėra tiesiogiai susietos su atnaujinimo procesu, tačiau vis tik svarbu apie jas žinoti prieš atnaujinimą.

4.1.1. Visų duomenų ir konfigūracijos nustatymų atsarginės kopijos sukūrimas

Prieš atnaujinant sistemą, primygtinai rekomenduojama atlikti pilną atsarginę kopiją, arba bent jau išsaugoti visus duomenis ir konfigūravimo nustatymus, kurių negalite sau leisti prarasti. Atnaujinimo įrankiai ir procesas yra gana patikimi, bet dėl aparatūros sutrikimų atnaujinimo proceso viduryje gali atsirasti rimtų sistemos pažeidimų.

Pirmiausia atsarginėje kopijoje reikėtų išsisaugoti /etc, /var/lib/dpkg, /var/lib/aptitude/pkgstates katalogų turinį ir komandos dpkg --get-selections "*"(kabutėd būtinos) išvestį.

Atnaujinimo procesas pats savaime nekeičia nieko /home kataloge. Tačiau kai kurios programos (pvz., dalis Mozilla rinkinio, ir GNOME bei KDE darbastalio aplinkos) perrašo esamus naudotojo nustatymus naujais numatytaisiais nustatymais (ypač, kai naudotojas pirmą kartą paleidžia vykdyti naujos versijos programą). Todėl dėl atsargumo, verta padaryti paslėptų failų ir katalogų, esančių naudotojų namų kataloguose (taip vadinamų „dotfiles“ failų) atsarginę kopiją. Šios atsarginės kopijos gali padėti atstatyti ar atkurti senuosius nustatymus. Taip pat verta informuoti naudotojus apie tai.

Bet kokio paketo diegimas turi būti vykdomas administratoriaus teisėmis, todėl turite prisijungti kaip root arba naudoti su ar sudo komandas, tam kad įgyti reikiamas teises.

Atnaujinimas turi turi kelis išankstinius reikalavimus; Jūs turite patikrinti juos prieš pradėdami vykdyti atnaujinimą.

4.1.1.1. Įsitikinkite, ar tinkamas branduolys

Laidoje lenny esančios bibliotekos glibc versija neveiks su branduoliu senesniu nei 2.6.8 bet kurioje architektūroje, o kai kurioms architektūroms reikalavimai dar aukštesni. Mes primygtinai rekomenduojame, prieš pradedant laidos atnaujinimo procesą, atnaujinti ir išbandyti laidos etch 2.6.18 ar 2.6.24 branduolį, arba savo kompiliuotą branduolį bent 2.6.18 versijos.

4.1.2. Informuoti naudotojus iš anksto

Pageidautina iš anksto pranešti visiems naudotojams apie visus planuojamus atnaujinimus, nors naudotojai prieinantys prie Jūsų sistemos per ssh ryšį neturėtų pajusti ypatingų problemų atnaujinimo metu, ir pilnai gali tęsti darbą.

Jei norite imtis papildomų atsargumo priemonių, padarykite naudotojų disko skirsnio (/home) atsarginę kopiją arba atjunkite šį disko skirsnį prieš atnaujinimą.

Tikriausiai teks atnaujinti ir branduolį atnaujinant į lenny, todėl bus būtinas pakartotinas sistemos įkėlimas (reboot). Paprastai, tai bus padaryta po to, kai atnaujinimo bus baigtas.

4.1.3. Pasiruošimas atstatymui

Dėl daugelio pokyčių branduolyje tarp etch ir lenny laidų (įrenginių nustatymo ir jų įvardijimo bei įrenginių failų tvarkos pasikeitimų, įrenginių valdyklių pokyčių), yra realus pavojus, kad gali kilti problemų naujai įkeliant (rebooting) Jūsų sistemą po atnaujinimo. Daug žinomų galimų problemų yra pateikta šio dokumento tolimesniuose skyriuose.

Dėl šios priežasties tikslinga užtikrinti, kad butų galima sugrąžinti sistemą į buvusią būseną, jei jūsų sistemai nepavyks naujai įsikelti arba, nuotoliniu būdu valdytoje sistemoje nebeveiks tinklas.

Jei jūs atnaujinate nuotoliniu būdu per ssh ryšį, labai rekomenduojama imtis atsargumo priemonių ir numatyti, kad būtų galima prieiti prie serverio naudojant nutolusį nuoseklų terminalą. Gali nutikti, kad po branduolio atnaujinimo ir sistemos perkrovimo, kai kurie įrenginiai bus pervadinti (kaip aprašyta Skyrius 4.6.2, „Įrenginių numeracijos pertvarkymas“ skyriuje) ir Jūs galėsite pataisyti sistemos konfigūracijos nustatymus tik per lokalią konsolę. Be to, jei sistema atsitiktinai persileistų viduryje atnaujinimo, Jums tai pat prireiktų lokalios konsolės sistemos atstatymui.

Akivaizdu, kad tokiu atveju pirmiausiai reikia pabandyti naujai įkelti (reboot) sistemą naudojant senąjį branduolį. Tačiau dėl įvairių priežasčių, aprašytų kitose šio dokumento dalyse, tai ne visuomet pavyksta.

Jei tai nepavyks, Jums prireiks alternatyvaus būdo įkelti savo sistemą, kad būtų galima prie jos prieiti ir ją pataisyti. Viena galimybė yra naudoti specialų sistemos atkūrimo atvaizdą arba naudoti Linux demonstracinį (live) kompaktinį diską. Po paleidimo vienu iš šių būdų, galėsite prijungti savo šakninę failų sistemą ir pasinaudojus chroot, surasti ir ištaisyti problemą.

Kita galimybė, kurią norėtume rekomenduoti, tai naudoti Debian'o lenny įdiegiklio atstatymo veikseną (rescue mode). Šio būdo pranašumas yra tame, kad Jūs galite pasirinkti vieną iš daugelio diegimo metodų, kuris geriausiai atitinka Jūsų atvejį. Norėdami gauti daugiau informacijos, apie tai, skaitykite „Sugadintos sistemos atstatymas“ 8-ajame Įdiegimo vadovas skyriuje ir Debian'o įdiegiklio DUK.

4.1.3.1. Derinimo apvalkalo naudojimas sistemos įkėlimo metu

Paketas initramfs-tools turi derinimo apvalkalą (debug shell),[2] kuris yra jo sugeneruotame initrds faile. Jei pavyzdžiui initrd negali prijungti šakninės failų sistemos, bus įeita į šį derinimo apvalkalą, kurie turi pagrindines komandas galinčias padėti išaiškinti problemą ir galbūt ištaisyti.

Pagrindiniai dalykai kuriuos reikia tikrinti: ar yra teisingi failai kataloge /dev; kokie moduliai įkelti (cat /proc/modules); patikrinti ar nėra klaidų įkeliant valdykles komandos dmesg išvestyje. Komandos dmesg išvestis taip pat parodys kuriam diskui buvo priskirtas koks įrenginio failas; įsitikinkite, kad echo $ROOT išvestis rodo į laukiamą šakninės failų sistemos įrenginį.

Jeigu jums pavyko išspręsti problemą, išėjimui iš derinimo apvalkalo aplinkos įveskite exit ir sistemos įkėlimo procesas bus pratęstas toje pačioje vietoje, kurioje buvo susidurta su problema. Žinoma, Jums dar reikės pašalinti priežastį ir sugeneruoti naują initrd, kad sekantis sistemos įkėlimas neužkliūtų vėl.

4.1.4. Atnaujinimui saugios aplinkos paruošimas

Distributyvo atnaujinimas turėtų būti atliekamas arba lokaliai iš tekstinės virtualios konsolės (arba tiesiogiai prie nuosekliosios jungties prijungto terminalo) arba nuotoliniu būdu per ssh ryšį.

Siekiant įgyti papildomo atsargumo atnaujinant nuotoliniu būdu, mes rekomenduojame atnaujinimą vykdyti programos screen tiekiamoje virtualioje konsolėje, kuri leidžia saugiai prisijungti pakartotinai ir užtikrina atnaujinimo proceso tęsimą net jei įvyks ryšio trūkių.

[Svarbu]Svarbu

Negalima atnaujinti naudojant telnet, rlogin, rsh, ar iš grafinio X seanso, valdomo xdm, gdm ar kdm ir t.t.. Taip yra todėl, kad kiekvienas iš šių servisų gali būti nutrauktas atnaujinimo metu, ir pusiau atnaujinta sistema gali tapti nebeprieinama.

4.2. Sistemos būsenos tikrinimas

Atnaujinimo procesas aprašytas šiame skyriuje yra skirtas atnaujinimui iš „grynos“ etch sistemas be trečiųjų šalių paketų. Dėl didesnio atnaujinimo proceso patikimumo užtikrinimo, būtų gerai pašalinti trečiųjų šalių paketus iš jūsų sistemos, prieš pradedant atnaujinimą.

Aprašant šią procedūrą taip pat numanoma, kad jūsų sistema yra atnaujinta iki paskutiniosios etch laidos. Jei to dar nepadarėte arba nesate tuo įsitikinę, skaitykite instrukcijas skyriuje Skyrius A.1, „Sistemos etch atnaujinimas“.

4.2.1. Atidėtų veiksmų paketų tvarkymo programoje peržiūra

Kai kuriais atvejais, naudojant paketų įdiegimui apt-get vietoj aptitude gali atsitikti taip, kad aptitude ima kai kuriuos paketus laikyti „nenaudojamais“ ir planuoja juos pašalinti. Apskritai, prieš pradedant atnaujinimą iki sekančios laidos, reikia įsitikinti, kad dabartinė sistema yra visiškai atnaujinta ir „švari“.

Todėl patikrinkite, ar paketų tvarkymo programa aptitude nėra numačiusi kokių nors atidėtų veiksmų. Jei ši programa planuoja paketą pašalinti arba atnaujinti, tai gali turėti neigiamos įtakos laidos atnaujinimo procedūrai. Atkreipkite dėmesį, kad pataisyti tai įmanoma tik kol Jūsų sources.list vis dar nurodyta etch;, o ne stable ar lenny; žiūr. Skyrius A.2, „APT šaltinių sąrašo tikrinimas“.

Norėdami tai padaryti, paleiskite aptitude programą „interaktyviam režime“ ir paspauskite klaviša g („Go“). Jei ji rodo bet kokius numatomus veiksmus, turite juos peržiūrėti ir arba juos pašalinti arba įgyvendinti. Jei jokių veiksmų nenumatyta Jums bus pateiktas pranešimas: „No packages are scheduled to be installed, removed, or upgraded“.

4.2.2. APT pinning atjungimas

Jei esate nustatę APT įdiegti tam tikrus paketus iš kito distributyvo (pvz. iš testing, esant pagrindiniam distributyvui stable), jums gali tekti pakeisti APT nustatymus (saugomi faile /etc/apt/preferences), tam kad leisti atnaujinti paketų versijas įki naujosios stabilios laidos. Daugiau informacijos apie APT pinning galima rasti apt_preferences(5).

4.2.3. Paketų būsenos tikrinimas

Nepriklausomai nuo atnaujinimo metodo, rekomenduojama pirmiausia patikrinti visų paketų statusą, ir įsitikinti, kad visiems paketai yra leista atsinaujinti. Žemiaau pateikta komanda parodys paketus, kurie yra dalinai įdiegti (Half-Installed), kurių nepavyko sukonfigūruoti po įdiegimo (Failed-Config), ir kitus klaidingos būsenos paketus.

# dpkg --audit

Taip pat galite patikrinti paketų būseną Jūsų sistemoje naudodami programas dselect, aptitude, arba tokia komanda, kaip antai

# dpkg -l | pager

arba

# dpkg --get-selections "*" > ~/curr-pkgs.txt

Pageidautina, kad prieš atnaujinimą būtų pašalinti visi paketų sulaikymai (hold). Jei paketas, kurį būtiną atnaujinti yra sulaikytas, atnaujinimas baigsis nesėkmingai.

Atkreipkite dėmesį, kad aptitude naudoja skirtingą sulaikytų paketų žymėjimo metodą nei apt-get ir dselect. Nustatyti, kurie paketai aptitude programai yra sulaikymo būsenoje galite taip:

# aptitude search "~ahold" | grep "^.h"

Jei norite patikrinti, kurie paketai apt-get programai yra sulaikymo būsenoje, naudokite

# dpkg --get-selections | grep hold

Jei Jūs pakeitėte ir perkompiliavote paketą lokaliai, bet nepakeitėte jo vardo ar nepapildėte jo versijos „epocha“, jūs privalote jį sulaikyti, kad jo nebūtų galima atnaujinti.

Paketo sulaikymo būsena („hold“) programai aptitude gali būti pakeista naudojant:

# aptitude hold package_name

Pakeiskite hold į unhold, tam kad išjungti sulaikymo būseną.

Jei Jums reikia dar kažką ištaisyti, tai geriausia daryti kol Jūsų sources.list faike dar nurodytas etch, kaip tai paaiškinta Skyrius A.2, „APT šaltinių sąrašo tikrinimas“.

4.2.4. Skyrius „proposed-update“

Jei esate /etc/apt/sources.list failą papildę skyriumi proposed-updates, turite ją pašalinti iš šio failo prieš bandant atnaujinti savo sistemą. Tai atsargumo priemonė, siekiant sumažinti konfliktų tikimybę.

4.2.5. Neoficialūs ir adaptuotų paketų (backports) APT šaltiniai

Jei savo sistemoje turite įdiegę kokius nors paketus ne iš Debian'o repozitorijų,tai žinokite, kad jie gali būti pašalinti atnaujinimo metu dėl priklausomybių konfliktų. Jeigu dėl šių paketų įdiegimo į /etc/apt/sources.list buvo įrašyti ir papildomi archyvai, patikrinkite ar šie archyvai siūlo paketus ir lenny laidai ir pakeiskite šaltinių eilutes atitinkamai,tuo pat metu kai keisite šaltinių eilutes Debian'o paketams.

Kai kurie naudotojai gali būti jau įdiegę savo sistemose neoficialių „naujesnių“ versijų, bet pritaikytų etch laidai, paketų. Tokie paketai greičiausiai taps atnaujinimo problemų priežastimi, kadangi jie gali sukelti ir failų konfliktus[3]. Skyrius 4.5.8, „Galimos problemos atnaujinimo metu“ aprašo, ką daryti kilus failų konfliktams.

4.2.5.1. Paketų iš backports.org naudojimas

backports.org yra pusiau oficiali Debian GNU/Linux kūrėjų saugykla, tiekianti naujesnes paketų, perkompiliuotų iš „testinės“ archyvo šakos, versijas stabiliai laidai.

Į backports.org saugykloje (t.y. adaptuotų paketų saugykloje) pagrindinai yra paketai patekė iš „testing“ šakos, bet turintys sumažintus versijos numerius kad atnaujinimas iš etch backports į lenny vyktų sklandžiai. Tačiau yra keletas adaptuotų paketų, kurie yra pagaminti iš nestabilios šakos: saugumo atnaujinimai, taip pat tokios išimtys: Firefox, Linux branduolys, OpenOffice.org ir 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.

4.3. Rankinis paketų žymių šalinimas

Siekiant išvengti, kad aptitude nepašalintų kai kurių paketų, kurių buvo įdiegti dėl priklausomybių išsprendimo, reikia rankiniu būdu pažymėti juos kaip auto paketus. Tokie paketai yra OpenOffice ir Vim,darbastalio idiegimui:

# aptitude unmarkauto openoffice.org vim

Ir taip pat 2.6 branduolio, jei jį įdiegėte naudodamiesi branduolio metapaketu:

# aptitude unmarkauto $(dpkg-query -W 'linux-image-2.6.*' | cut -f1)
[Pastaba]Pastaba

Galite peržiūrėti, kurie paketai pažymėti kaip auto pagal aptitude, įvykdydami komandą:

# aptitude search '~i~M'

4.4. APT šaltinių paruošimas

Prieš pradedant atnaujinimą reikia nustatyti programos apt konfigūraciją paketų sąrašams, /etc/apt/sources.list.

Programa apt, iš visų paketų, kuriuos galima rasi šaltinių failo „deb“ eilutėmis nurodytuose šaltiniuose, įdiegs paketus su didžiausiais versijų numeriais. Tačiau, esant vienodom versijom, pirmenybė teikiama pirmesnei eilutei šaltinių faile (taigi jei turite nurodę keletą veidrodžių, paprastai geriausia pirma nurodyti saugyklą vietiniame diske, tada CD-ROM, ir galiausiai HTTP/FTP veidrodžius).

[Patarimas]Patarimas

Gali tekti įdėti GPG tikrinimo pašalinimą DVD ir CD-ROM diskams. Pridėkite šią eilutę į failą /etc/apt/apt.conf, jei ji dar nėra faile /etc/apt/apt.conf.d/00trustcdrom:

APT::Authentication::TrustCDROM "true";

Tačiau ai neveiks su DVD/CD-ROM atvaizdų failais.

Laida dažnai gali būti nurodoma jos kodiniu vardu (pvz, etch, lenny) ir jos statuso vardu (t.y. oldstable, stable, testing, unstable). Nuoroda į laidą jos kodiniu vardu turi tą privalumą, kad Jūs niekada, netikėtai sau pačiam, nepradėsite naudoti naujesnės laidos. Dėl šios priežasties mes čia taip ir darome. Tai žinoma reiškia, kad Jums teks patiems sekti anonsus apie naujų laidų pasirodymą. Jei distributyvo nurodymui naudosite statuso vardą, Jūs tiesiog, pasirodžius naujai laidai, pamatysite didelį kiekį atnaujintų paketų.

4.4.1. Papildymas interneto APT šaltiniais

Numatytieji nustatymai įgalina atlikti atnaujinimą iš pagrindinių Debian'o interneto serverių, tačiau Jūs galite pakeisti šaltinių failą /etc/apt/sources.list ir naudotis kitais serveriais - veidrodžiais, pvz. tais, kurie yra arčiausiai Jūsų.

Debian'o HTTP ir FTP veidrodžių adresus galima rasti adresu http://www.debian.org/distrib/ftplist (žiū. skyriuje „list of Debian mirrors“). HTTP veidrodžiai paprastai greitesni nei FTP veidrodžiai.

Pavyzdžiui, tarkime, Jums artimiausias Debian veidrodis yra http://mirrors.kernel.org. Peržiūrint veidrodį interneto naršyklę arba FTP klientine programa, pastebėsite, kad pagrindiniai katalogai yra organizuoti taip:

http://mirrors.kernel.org/debian/dists/lenny/main/binary-alpha/...
http://mirrors.kernel.org/debian/dists/lenny/contrib/binary-alpha/...

Kad apt naudotų ši veidrodį, į failą sources.list pridėkit tokią eilutę:

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

Atkreipkite dėmesį, kad `dists' įrašoma besąligiškai, o argumentai, sekantys po laidos vardo, yra naudojami pratęsti kelią iki keleto realių katalogų.

Pridėjus naujų šaltinių, išjunkite anksčiau egzistavusias „deb“ eilutes faile sources.list, įvesdami maišos ženklą (#) eilutės pradžioje.

4.4.2. APT šaltinių papildymas lokaliais veidrožiais

Vietoj HTTP ar FTP veidrodžių, galima naudoti ir veidrodžius (saugyklas) vietiniame diske, atitinkamai pakeitus įrašą šaltinių faile /etc/apt/sources.list (šis diskas gali būti prijungtas ir per NFS).

Pavyzdžiui, jei Jūsų paketų saugykla yra kataloge /var/ftp/debian/, o jo pagrindiniai katalogų vardai tokie:

/var/ftp/debian/dists/lenny/main/binary-alpha/...
/var/ftp/debian/dists/lenny/contrib/binary-alpha/...

Norėdami naudoti šią paketų saugyklą su apt, pridėkite tokią eilutę į failą sources.list:

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

Atkreipkite dėmesį, kad `dists' įrašoma besąligiškai, o argumentai, sekantys po laidos vardo, yra naudojami pratęsti kelią iki keleto realių katalogų.

Pridėjus naujų šaltinių, išjunkite anksčiau egzistavusias „deb“ eilutes faile sources.list, įvesdami maišos ženklą (#) eilutės pradžioje.

4.4.3. Papildymas APT šaltiniu iš CD-ROM arba DVD

Jei norite naudoti tik kompaktinius diskus, užkomentuokite visas „deb“ eilutes faile sources.list, įvesdami maišos ženklą (#) eilutės pradžioje.

Įsitikinkite, kad yra eilutė faile /etc/fstab, kuri leidžia prijungti (mount) CD-ROM įrenginį prie taško /cdrom (kaip tik prie šio taško reikalauja prijungimo komanda apt-cdrom). Pavyzdžiui, jei /dev/hdc yra Jūsų CD-ROM įrenginys, faile /etc/fstab turi būti tokia eilutė:

/dev/hdc /cdrom auto defaults,noauto,ro 0 0

Atkreipkite dėmesį, kad ketvirtajame eilutės lauke, tarp žodžių defaults,noauto,ro, neturi būti tarpų.

Kad patikrinti ar eilutė įrašyta į failą /etc/fstab teisingai, įdėkite kompaktinį diską į įrenginį ir įvykdykite komandas:

# mount /cdrom    # prijungia CD prie prijungimo taško
# ls -alF /cdrom  # parodo CD'o šaknini katalogą
# umount /cdrom   # atjungia CD

Tada vykdykite komandą

# apt-cdrom add

kiekvienam turimam Debian'o dvejetainiam CD-ROM'ui, jei norite kad duomenys apie kiekvieną CD patektų į APT duomenų bazę.

4.5. Paketų atnaujinimas

Rekomenduojamas būdu atnaujinti ankstesnių Debian GNU/Linux laidą yra naudoti paketų valdymo įrankį aptitude. Ši programa daro saugesnius sprendimus apie paketų įdiegimą nei naudojant apt-get tiesiogiai.

Nepamirškite prijungti visus reikalingus diskų skirsnius (ypač root ir /usr skirsnius) skaitymui ir rašymui. Tai galima padaryti komanda:

# mount -o remount,rw /mountpoint

Toliau reikėtų dar kartą patikrinkite, kad APT šaltiniių įrašai (faile /etc/apt/sources.list) rodo arba į „lenny“ arba į „stable“. Neturėtų būti jokių šaltinių įrašų nurodančių į etch.

[Pastaba]Pastaba

Šaltinių eilutės, skirtos CD-ROM įrenginiui, dažnai nurodo į „unstable“; nors tai gal būt painu, bet keisti jų nereikia.

4.5.1. Seanso rašymas

Labai rekomenduojama, kad naudotumėte programą /usr/bin/script atnaujinimo seanso įrašymui. Tada, jei iškiltų problemų, Jūs turėsite visų įvykusių veiksmų žurnalą, ir prireikus, galėsite pateikti šią informaciją pranešimą apie riktą. Norėdami pradėti įrašinėti, įvykdykite komandą:

# script -t 2>~/upgrade-lenny.time -a ~/upgrade-lenny.script

ar panašiai. Nepatalpinkit failo su įrašais į laikiną katalogą, tokį kaip /tmp ar /var/tmp (failai šiuose kataloguose gali būti ištrinti atnaujinimo metu arba perleidžiant kompiuterį).

Šis įrašas taip pat suteiks galimybę peržiūrėti informaciją, kuri išeis už ekrano ribų atliekant atnaujinimą. Tiesiog persijunkite į antrąją virtualią konsolę VT2 (naudojant klavišų kombinaciją Alt+F2) ir, prisijungus prie sistemos, failo peržiūrai įvykdykite komandą less -R ~root/upgrade-lenny.script.

Pabaigus atnaujinimą, galite sustabdyti programą script įvedę exit komandinėje eilutėje.

Jei programai script perdavėte parametrą -t, galėsite pasinaudodamas programa scriptreplay pakartoti visą seansą:

# scriptreplay ~/upgrade-lenny.time ~/upgrade-lenny.script

4.5.2. Paketų sąrašo atnaujinimas

Pirmiausia reikia atnaujinti paketų, esančių naujojoje laidoje, sąrašą. Tai atliekama komanda:

# aptitude update

Vykdant šią komandą pirmą kartą bus išvesta keletas įspėjimų, susijusių su naujų šaltinių prieinamumu. Šie įspėjimai yra nekenksmingas ir nebebus rodomi, jei įvykdysite komandą dar kartą.

4.5.3. Įsitikinkite, kad turite pakankamai vietos atnaujinimui

Prieš pilną sistemos atnaujinimą (kuris aprašytas čia Skyrius 4.5.7, „Likusios sistemos dalies atnaujinimas“), Jūs turite įsitikinti, kad turite pakankamai laisvos vietos standžiajame diske. Pirmiausia, visi reikiami įdiegimui paketai, atsisiunčiami iš tinklo yra saugomi kataloge /var/cache/apt/archives (o siuntimo metu - kataloge partial/), todėl būtina įsitikinti, kad turite pakankamai vietos disko skirsnyje, kuris talpina katalogą /var/, nes čia laikinai bus patalpinti visi atsisiųsti paketai įdiegimui. Po parsisiuntimo, Jums tikriausiai prireiks daugiau vietos kitose failų sistemos dalyse, atnaujinamų paketų įdiegimui (kurie gali būti didesni) ir naujų paketų įdiegimui, kurie bus diegiami naujoje laidoje. Jeigu Jūsų sistema neturi pakankamai vietos, galite likti su nebaigta atnaujinti sistemą, kurią vėliau sunku atstatyti.

Ir aptitude, ir apt programa parodo išsamią informacija apie vietos poreikį. Prieš vykdant atnaujinimą, galėsite pasižiūrėti šią informaciją įvykdę komandą:

# 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.
[Pastaba]Pastaba

Ši komanda atnaujinimo pradžioje, dėl priežasčių, nurodytų žemiau, gali pranešti klaidą. Tokiu atveju jums reikės šios komandos pagalba įvertinti reikiamą vietos diske dydį tik atlikus minimalų sistemą atnaujinimą, kaip aprašyta Skyrius 4.5.6, „Minimalus sistemos atnaujinimas“ ir atnaujinus branduolį.

Jei neturite pakankamai vietos diske, atlaisvinkite vietos iš anksto. Jūs galite:

  • Pašalinti paketus, kurie anksčiau buvo atsisiųsti (iš katalogo /var/cache/apt/archives). Įvykdžius komandą apt-get clean arba aptitude clean bus pašalinti visi anksčiau atsiųstų paketų failai.

  • Pašalinti užmirštus paketus. Jei turite idiegę popularity-contest paketą, pasinaudodami komanda popcon-largest-unused galite gauti sąrašą paketų,kurių nenaudojate ir kurie užima daugiausia vietos. Taip pat galite naudoti deborphan arba debfoster komandas, tam kad rasti pasenusius paketus (žiūr. Skyrius 4.10, „Pasenę paketai“). Arba galite pasikeisti programą aptitudeinteraktyviu režimu“ ir rasti pasenusius paketus skyriuje „Nebenaudojami ir lokaliai sukurti paketai“.

  • Pašalinti paketus, kurie užima daug vietos ir šiuo metu nėra reikalingi (Jūs visada galėsite juos vėl įdiegti po sistemos atnaujinimo). Paketų, užimančių daug vietos diske, sąrašą galima gauti programos dpigs (pateikiamos debian-goodies pakete) pagalba arba programos wajig (įvykdžius wajig size) pagalba.

    You can list packages that take up most of the disk space with aptitude. Start aptitude into „visual mode“, select ViewsNew Flat Package List (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.

  • Pašalinti vertimus ir lokalizacijos failus iš sistemos, jei jie nėra būtini. Jūs galite įdiegti paketą localepurge ir sukonfigūruoti jį taip, kad tik keletas atrinktų sisteminių lokalių bus palikta sistemoje. Tai atlaisvins diske dalį katalogo /usr/share/locale užimamos vietos.

  • Laikinai perkelti į kitą sistemą, arba visam laikui pašalinti, sistemos žurnalus, esančius kataloge /var/log/.

  • Naudoti laikiną katalogą /var/cache/apt/archives: Jūs galite laikinai naudoti šiai talpyklai katalogą iš kitos failų sistemos (USB įrenginį, laikiną kietąjį diską, jau naudojamą failų sistemą, ...)

    [Pastaba]Pastaba

    Nenaudokite NFS failų sistemos, nes atnaujinimo metu tinklo ryšys gali būti nutrauktas.

    Pavyzdžiui, jei turite USB diską, prijungtą prie taško /media/usbkey:

    1. pašalinkite paketus, kurie anksčiau buvo atsisiųsti įdiegimui:

      # apt-get clean

    2. nukopijuokite katalogą /var/cache/apt/archives į USB diską:

      # cp -ax /var/cache/apt/archives /media/usbkey/

    3. prijunkite laikiną talpyklą prie dabartinės:

      # mount --bind /media/usbkey/archives /var/cache/apt/archives

    4. po atnaujinimo, atkurkite originalų katalogą /var/cache/apt/archives :

      # umount /media/usbkey/archives

    5. pašalinti likusį ir nebereikalingą katalogą /media/usbkey/archives.

    Galite sukurti laikiną talpyklos katalogą bet kurioje failų sistemoje, jau esančioje (t.y. prijungtoje) Jūsų sistemoje.

Atkreipkite dėmesį, kad norint saugiai pašalinti paketus, patartina pataisyti failą sources.list atgal į etch šaltinius, kaip aprašyta čia: Skyrius A.2, „APT šaltinių sąrašo tikrinimas“.

4.5.4. Pirmiausiai atnaujinkite 'apt' ir/arba 'aptitude'

Several bug reports have shown that the versions of the aptitude and apt packages in etch are often unable to handle the upgrade to lenny. In lenny, apt is better at dealing with complex chains of packages requiring immediate configuration and aptitude is smarter at searching for solutions to satisfy the dependencies. These two features are heavily involved during the dist-upgrade to lenny, so it is necessary to upgrade these two packages before upgrading anything else.

The following command will upgrade both aptitude and apt:

# aptitude install aptitude apt dpkg

This step will also automatically upgrade libc6 and locales. At this point, some running services will be restarted, including xdm, gdm and kdm. As a consequence, local X11 sessions might be disconnected.

[Pastaba]Upgrading with apt

Please note that using apt-get is not recommended for the upgrade from etch to lenny. If you do not have aptitude installed you are recommended to install it first.

If you want to perform the upgrade with apt or if the upgrade with aptitude failed and you want to try the upgrade with apt' dependency chain resolution algorithm, you should run:

# apt-get install apt

Note that you will have to adapt other aptitude commands to use apt-get instead.

4.5.5. Sąrašo, gauto iš aptitude, naudojimas automatiniam paketų įdiegimui su apt

aptitude įrankis prižiūri sąrašus programų paketų, kurie buvo įdiegti automatiškai (pavyzdžiui, dėl priklausomybių nuo kitų paketų). Debian lenny versijoje apt įrankis taip pat turi šią galimybę.

Kai pirmą kartą paleisite Debian lenny versijos aptitude įrankį, jis pritaikys automatiškai įdiegtų paketų sąrašą, kad jį galėtų naudoti ir lenny versijoje esantis apt įrankis. Jei jūs naudojotės aptitude įrankiu, tuomet turėtumėte bent kartą paleisti aptitude komandą po atnaujinimo, kad ir naujoji sistema žinotų automatiškai įdiegtų programų paketų sąrašą. Tai galite padaryti pvz. paieškodami neegzistuojančio paketo:

# aptitude search "?false"

4.5.6. Minimalus sistemos atnaujinimas

Dėl tam tikrų neišvengiamų programų paketų konfliktų tarp etch ir lenny paprastas aptitude dist-upgrade įvykdymas dažnai pasiūlys pašalinti daug programinės įrangos paketų, kuriuos jūs norite turėti. Todėl mes rekomenduojame atnaujinimą vykdyti dviem žingsniais: pirmiausia - minimalus atnaujinimas, apeinant šiuos konfliktus (aptitude safe-upgrade), o tada - pilnas atnaujinimas aptitude dist-upgrade.

Pradžioje įvydykite:

# aptitude safe-upgrade

Ši komanda atnaujins visus programų paketus, kurie gali būti atnaujinti nepašalinant bei neįdiegiant jokių kitų papildomų paketų.

Kitas žingsnis, kurį reikės įvykdyti, priklauso nuo jūsų sistemoje įdiegtų programų paketų. Šiame dokumente yra pateikti bendri patarimai kurį atnaujinimo būdą reiktų pasirinkti, tačiau, visiems abejojantiems mes rekomenduojame patiems patikrinti visą sąrašą pašalinamų paketų, kuriuos pasiūlys pašalinti pasirinkus kitą žingsnį.

Tikėtina, kad jums pasiūlys išmesti šiuos nereikalingus programų paketus: base-config, hotplug, xlibs, netkit-inetd, python2.3, xfree86-common bei xserver-common. Daugiau informacijos apie pasenusius lenny laidoje pasenusius paketus rasite: Skyrius 4.10, „Pasenę paketai“.

4.5.7. Likusios sistemos dalies atnaujinimas

Dabar Jūs esate pasiruošę atlikti pagrindinę (svarbiausią) atnaujinimo dalį. Įvykdykite komanda:

# aptitude dist-upgrade

Tai atliks pilną sistemos atnaujinimą, t.y. įdiegs esamas naujausias visų paketų versijas, ir išspręs visus galimus priklausomybių pakitimus tarp skirtingų laidų paketų. Jeigu būtina, tai įdiegs ir kai kuriuos naujus paketus (paprastai naujas bibliotekų versijas, ar pervadintus paketus), ir pašalins visus, konfliktavimą sukelenčius, senus paketus.

Atnaujinant iš kompaktinių diskų komplekto (ar DVD), sistema keletą kartų paprašys įdėti konkrečius kompaktinius diskus. Gali tekti įdėti tą patį kompaktinį diską keletą kartų. Taip yra todėl, kad tarpusavio priklausomybėmis surišti paketai patalpinti skirtinguose diskuose.

Naujos versijos šiuo metu jau įdiegtų paketų, kurie negali būti atnaujinti, nekeičiant kitų paketų statuso, nebus atnaujinamos (paketai bus pažymėti kaip „sulaikyti“ - „held back“). Šioje situacijoje reikia programos aptitude pagalba pažymėti tuos paketus kaip atnaujinamus arba vykdant komandą aptitude -f install paketo_vardas.

4.5.8. Galimos problemos atnaujinimo metu

If an operation using aptitude, apt-get, or dpkg fails with the error

E: Dynamic MMap ran out of room

the default cache space is insufficient. You can solve this by either removing or commenting lines you don't need in /etc/apt/sources.list or increasing the cache size. The cache size can be increased by setting APT::Cache-Limit in /etc/apt/apt.conf. The following command will set it to a value that should be sufficient for the upgrade:

# echo 'APT::Cache-Limit "12500000";' >> /etc/apt/apt.conf

This assumes that you do not yet have this variable set in that file.

Sometimes it's necessary to enable the APT::Force-LoopBreak option in APT to be able to temporarily remove an essential package due to a Conflicts/Pre-Depends loop. aptitude will alert you of this and abort the upgrade. You can work around this by specifying the option -o APT::Force-LoopBreak=1 on the aptitude command line.

It is possible that a system's dependency structure can be so corrupt as to require manual intervention. Usually this means using aptitude or

# dpkg --remove package_name

to eliminate some of the offending packages, or

# aptitude -f install
# dpkg --configure --pending

In extreme cases you might have to force re-installation with a command like

# dpkg --install /path/to/package_name.deb

File conflicts should not occur if you upgrade from a „pure“ etch system, but can occur if you have unofficial backports installed. A file conflict will result in an error like:

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>

You can try to solve a file conflict by forcibly removing the package mentioned on the last line of the error message:

# dpkg -r --force-depends package_name

After fixing things up, you should be able to resume the upgrade by repeating the previously described aptitude commands.

During the upgrade, you will be asked questions regarding the configuration or re-configuration of several packages. When you are asked if any file in the /etc/init.d or /etc/terminfo directories, or the /etc/manpath.config file should be replaced by the package maintainer's version, it's usually necessary to answer `yes' to ensure system consistency. You can always revert to the old versions, since they will be saved with a .dpkg-old extension.

If you're not sure what to do, write down the name of the package or file and sort things out at a later time. You can search in the typescript file to review the information that was on the screen during the upgrade.

4.6. Branduolio ir su juo susijusiu paketų atnaujinimas

This section explains how to upgrade your kernel and identifies potential issues related to this upgrade. You can either install one of the linux-image-* packages provided by Debian, or compile a customized kernel from source.

Note that a lot of information in this section is based on the assumption that you will be using one of the modular Debian kernels, together with initramfs-tools and udev. If you choose to use a custom kernel that does not require an initrd or if you use a different initrd generator, some of the information may not be relevant for you.

4.6.1. Branduolio metapaketo įdegimas

When you dist-upgrade from etch to lenny, it is strongly recommended that you install a new linux-image-2.6-* metapackage. This package may be installed automatically by the dist-upgrade process. You can verify this by running:

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

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

# apt-cache search linux-image-2.6- | grep -v transition

If you are unsure about which package to select, run uname -r and look for a package with a similar name. For example, if you see '2.6.18-6-686', it is recommended that you install linux-image-2.6-686. (Note that the k7 flavor no longer exists; if you are currently using the k7 kernel flavor, you should install the 686 flavor instead.) You may also use apt-cache to see a long description of each package in order to help choose the best one available. For example:

# apt-cache show linux-image-2.6-686

You should then use aptitude install to install it. Once this new kernel is installed you should reboot at the next available opportunity to get the benefits provided by the new kernel version.

For the more adventurous there is an easy way to compile your own custom kernel on Debian GNU/Linux. Install the kernel-package tool and read the documentation in /usr/share/doc/kernel-package.

If possible, it is to your advantage to upgrade the kernel package separately from the main dist-upgrade to reduce the chances of a temporarily non-bootable system. Note that this should only be done after the minimal upgrade process described in Skyrius 4.5.6, „Minimalus sistemos atnaujinimas“.

4.6.2. Įrenginių numeracijos pertvarkymas

lenny features a more robust mechanism for hardware discovery than previous releases. However, this may cause changes in the order devices are discovered on your system, affecting the order in which device names are assigned. For example, if you have two network adapters that are associated with two different drivers, the devices eth0 and eth1 refer to may be swapped. Please note that the new mechanism means that if you e.g. exchange ethernet adapters in a running lenny system, the new adapter will also get a new interface name.

For network devices, you can avoid this reordering by using udev rules, more specifically, through the definitions at /etc/udev/rules.d/70-persistent-net.rules[4]. Alternatively you can use the ifrename utility to bind physical devices to specific names at boot time. See ifrename(8) and iftab(5) for more information. The two alternatives (udev and ifrename) should not be used at the same time.

For storage devices, you can avoid this reordering by using initramfs-tools and configuring it to load storage device driver modules in the same order they are currently loaded. To do this, identify the order the storage modules on your system were loaded by looking at the output of lsmod. lsmod lists modules in the reverse order that they were loaded in, i.e., the first module in the list was the last one loaded. Note that this will only work for devices which the kernel enumerates in a stable order (like PCI devices).

However, removing and reloading modules after initial boot will affect this order. Also, your kernel may have some drivers linked statically, and these names will not appear in the output of lsmod. You may be able to decipher these driver names and load order from looking at /var/log/kern.log, or the output of dmesg.

Add these module names to /etc/initramfs-tools/modules in the order they should be loaded at boot time. Some module names may have changed between etch and lenny. For example, sym53c8xx_2 has become sym53c8xx.

You will then need to regenerate your initramfs image(s) by executing update-initramfs -u -k all.

Once you are running a lenny kernel and udev, you may reconfigure your system to access disks by an alias that is not dependent upon driver load order. These aliases reside in the /dev/disk/ hierarchy.

4.6.3. Įkėlimo laiko problemos

If an initrd created with initramfs-tools is used to boot the system, in some cases the creation of device files by udev can happen too late for the boot scripts to act on.

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 if 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.

A workaround for this issue is to use the boot parameter rootdelay=9. The value for the timeout (in seconds) may need to be adjusted.

4.7. Prieš sistemos įkėlimą naujai (rebooting)

When aptitude dist-upgrade has finished, the „formal“ upgrade is complete, but there are some other things that should be taken care of before the next reboot.

4.7.1. Pakartotinas lilo vykdymas

If you are using lilo as your bootloader (it is the default bootloader for some installations of etch) it is strongly recommended that you rerun lilo after the upgrade:

# /sbin/lilo

Notice this is needed even if you did not upgrade your system's kernel, as lilo's second stage will change due to the package upgrade.

Also, review the contents of your /etc/kernel-img.conf and make sure that you have do_bootloader = Yes in it. That way the bootloader will always be rerun after a kernel upgrade.

If you encounter any issues when running lilo, review the symbolic links in / to vmlinuz and initrd and the contents of your /etc/lilo.conf for discrepancies.

If you forgot to rerun lilo before the reboot or the system is accidentally rebooted before you could do this manually, your system might fail to boot. Instead of the lilo prompt, you will only see LI when booting the system[5]. See Skyrius 4.1.3, „Pasiruošimas atstatymui“ for information on how to recover from this.

4.8. Sistema pakimba esant pranešimui Waiting for root file system

Atstatymo procedūra, jei /dev/hda tapo /dev/sda

Kai kurie naudotojai pranešė, kad po sistemos perkrovimo, ją atnaujinus, branduoliui nepavyksta rasti šakninės failų sistemos.

Tokiu atveju sistemos įkėlimas pakimba, esant tokiam pranešimui:

Waiting for root file system ...

ir po keleto sekundžių išvedamas busybox kvietinys (prompt).

Ši problema gali kilti, kai atnaujinant branduolį pradedamos naudoti naujos kartos IDE tvarkyklės. Senose IDE tvarkyklėse diskams buvo priskiriami vardai hda, hdb, hdc, hdd. Naujosios tvarkyklės tuos pačius diskus vadina atitinkamai sda, sdb, sdc, sdd. Problema kyla tuomet, kai atnaujinimo metu nesukuriamas naujas failas /boot/grub/menu.lst su naujais diskų vardais. Įkėlimo metu Grub perduoda branduoliui šakninės failų sistemos disko skirsnį, kurio branduolys negali rasti.

Jei susidūrėte su šia problema po atnaujinimo, peršokite į Skyrius 4.8.2, „Kaip pataisyti Debian sistemą atsiradus problemoms po atnaujinimo“. Norėdami išvengti šios problemos prieš atnaujinimą, skaitykite toliau.

4.8.1. Kaip išvengti problemų prieš atnaujinimą

Šios problemos galima išvengti visiškai, naudojant šakninės failų sistemos identifikatorių, kuris nesikeičia tarp vieno ir kito sistemos įkėlimo. Yra du galimi būdai tai padaryti - paženklinant failų sistemą žyme, arba naudojantis universalių unikalių failų sistemos identifikatorių (UUID). Šie metodai yra palaikoma Debian sistemoje pradedant laida "etch".

Abu metodai turi privalumų ir trūkumų. Ženklinimo žyme būdas yra suprantamesnis žmogui, bet gali būti problemų, jei kita failų sistema Jūsų kompiuteryje turi tokią pačią žymę. UUID naudojimas mažiau akivaizdus, tačiau dviejų UUID sutapimas yra vargiai įmanomas.

Žemiau pateiktuose pavyzdžiuose laikysime, kad šakninė failų sistema yra disko skirsnyje/dev/hda6. Taip pat laikysime, kad sistema naudoja udev ir failų sistemos yra ext2 ar ext3.

Siekiant įgyvendinti ženklinimo žyme metodą:

  1. Paženklinkite failų sistemą (pavadinimas turi būti < 16 simbolių), vykdydami komandą: e2label /dev/hda6 rootfilesys

  2. Pataisykite/boot/grub/menu.lst failo eilutę:

    # kopt=root=/dev/hda6 ro

    į

    # kopt=root=LABEL=rootfilesys ro

    [Pastaba]Pastaba

    Nepašalinkite simbolio # eilutės pradžioje, jis reikalingas ten.

  3. Atnaujinkite kernel eilutes faile menu.lst, įvykdydami komandą update-grub.

  4. Pataisykite failą /etc/fstab pakeisdami eilutę, kurioje prijungiamas skirsnis /, pavyzdžiui pakeisdami:

    /dev/hda6     /     ext3  defaults,errors=remount-ro 0 1

    į

    LABEL=rootfilesys     /     ext3  defaults,errors=remount-ro 0 1

    Šia keičiamas tik pirmasis lentelės stulpelis, nereikia keisti kitų stulpelių šioje eilutėje.

Siekiant įgyvendinti UUID metodą:

  1. Find out the universally unique identifier of your filesystem by issuing: ls -l /dev/disk/by-uuid | grep hda6. You can also use vol_id --uuid /dev/hda6 (in etch) or blkid /dev/hda6 (if already upgraded to lenny).

    Turite gauti eilutę, panašią į šią:

    lrwxrwxrwx 1 root root 24 2008-09-25 08:16 d0dfcc8a-417a-41e3-ad2e-9736317f2d8a -> ../../hda6

    UUID yra simbolinės nuorodos vardas, nurodančios į/dev/hda6 t.y.: d0dfcc8a-417a-41e3-ad2e-9736317f2d8a.

    [Pastaba]Pastaba

    ūsų failų sistemos UUID bus kitoks.

  2. Pataisykite/boot/grub/menu.lst failo eilutę:

    # kopt=root=/dev/hda6 ro

    į

    # kopt=root=UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8 ro

    [Pastaba]Pastaba

    Nepašalinkite simbolio # eilutės pradžioje, jis reikalingas ten.

  3. Atnaujinkite kernel eilutes faile menu.lst, įvykdydami komandą update-grub.

  4. Pataisykite failą /etc/fstab pakeisdami eilutę, kurioje prijungiamas skirsnis /, pavyzdžiui pakeisdami:

    /dev/hda6     /     ext3  defaults,errors=remount-ro 0 1

    į

    UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8  /  ext3  defaults,errors=remount-ro 0 1

    Šia keičiamas tik pirmasis lentelės stulpelis, nereikia keisti kitų stulpelių šioje eilutėje.

4.8.2. Kaip pataisyti Debian sistemą atsiradus problemoms po atnaujinimo

4.8.2.1.  I būdas

Šiuo atveju pasinaudojama Grub meniu, leidžiančiu pasirinkti ką ir iš kur norite įkelti (boot). Jei toks meniu nerodomas, bandykite paspausti Esc klavišą prieš branduoliui pradedant įkėlimo procesą. Jei negalite patekti į šį meniu, pabandykite Skyrius 4.8.2.2, „ II būdas“ arba Skyrius 4.8.2.3, „ III būdas“.

  1. Pasirinkite Grub meniu įrašą, kurį norite panaudoti sistemos įkėlimui. Paspauskite klavišą e, kad pereitumėte į šio įrašo redagavimo režimą. Jūs pamatysite kažką panašaus į:

    root (hd0,0)
    kernel /vmlinuz-2.6.26-1-686 root=/dev/hda6 ro
    initrd /initrd.img-2.6.26-1-686

  2. Pasirinkę eilutę

    kernel /vmlinuz-2.6.26-1-686 root=/dev/hda6 ro

    paspauskite klavišą e ir pakeiskite hdX į sdX (X yra raidė a, b, c arba d, priklausomai nuo jūsų sistemos). Mūsų pavyzdyje eilutė taps:

    kernel /vmlinuz-2.6.26-1-686 root=/dev/sda6 ro

    Tada paspauskite Enter, kad išsaugotumėte pakeitimą. Jei kitose eilutėse yra hdX, pakeiskite jas taip pat. Nekeiskite įrašo, panašaus į root (hd0,0). Kai visi pakeitimai yra padaryti, paspauskite klavišą b. Dabar Jūsų sistemos įkėlimas turėtų vykti kaip įprasta.

  3. Po sėkmingo sistemos įkėlimo, reikia galutinai pataisyti šią problemą. Peršokite į Skyrius 4.8.1, „Kaip išvengti problemų prieš atnaujinimą“ ir pasinaudokite vieną iš dviejų siūlomų procedūrų.

4.8.2.2.  II būdas

Įkelkite Debian GNU/Linux įdiegimo (CD/DVD) laikmeną ir kai pasirodys kvietimas sistemos įkėlimui, pasirinkite rescue, t.y. atstatymo režimą. Pasirinkite savo kalbą, vietą, ir klaviatūra; tada leiskite programai konfigūruoti tinklą (nesvarbu, ar tai pavyks, ar ne). Po kurio laiko, Jūsų paklaus kurį disko skirsnį norite naudoti kaip šakninę failų sistemą. Siūlomas pasirinkimas atrodys maždaug taip:

/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

Jei žinote, kuriame disko skirsnyje yra šakninės failų sistemą, pasirinkite jį. Jei ne, pabandykite su pirmuoju. Jei programa praneš, kad tai negali būti šakninė failų sistema, pabandykite kitą, ir taip toliau. Šie bandymai nesugadins disko skirsnių ir, jei turite įdiegtą tik viena operacinę sistemą diskuose, turėtumėte lengvai rasti tinkamą šakninę failų sistemą. Jei turite daug operacinių sistemų įdiegtų diskuose, geriau būtų tiksliai žinoti, kuris disko skirsnis yra reikiamas.

Kai pasirinksite disko skirsnį, Jums bus pasiūlyta keletas pasirinkimo variantų. Pasirinkite komandinės eilutės vykdymo apvalkalą (shell). Jei programa praneš, kad negali to padaryti, tuomet bandykite pasirinkti kitą disko skirsnį.

Dabar Jūs turite gauti priėjimą administratoriaus root teisėmis savo šakninėje failų sistemoje, prijungtoje taške /target. Jums reikalingas priėjimas prie katalogų /boot, /sbin ir /usr kietajame diske, kurie dabar turėtų būti prieinamas kaip /target/boot, /target/sbin ir /target/usr katalogai. Jei šių katalogai turi būti prijungti iš kitų disko skirsnių - padarykite tai (žiūr. /etc/fstab, jei nepamenate kuriuos disko skirsnius reikėtų prijungti).

Peršokite į Skyrius 4.8.1, „Kaip išvengti problemų prieš atnaujinimą“ ir pasinaudokite vieną iš dviejų siūlomų procedūrų, siekiant galutinai pataisyti šią problemą. Tada įveskite exit, tam kad išeiti iš atstatymo (rescue) aplinkos, ir pasirinkite reboot (pakartotinas sistemos įkėlimas) sistemos įkėlimui kaip įprasta (nepamirškite išimti įdiegimo laikmenos).

4.8.2.3.  III būdas

  1. Paleiskite jums patinkantį Linux demonstracinį diską (LiveCD), pvz. Debian Live, Knoppix ar Ubuntu Live.

  2. Prijunkite disko skirsnį, kuriame yra katalogas /boot. Jei nežinote, kuris tai disko skirsnis turėtų būti, pasinaudokite komandos dmesg išvestimi, tam kad sužinotumėte ar tai diskas hda, hdb, hdc, hdd ar sda, sdb, sdc, sdd. Kai žinote, kuriame diske dirbama, pvz. sdb, pažiūrėkite disko skirsnių lentelę (tam, kad rasti tinkamą skirsnį), pasinaudodami komanda: fdisk -l /dev/sdb

  3. Darant prielaidą, kad prijungėte tinkamą disko skirsnį taške /mnt ir kad šiame skirsnyje yra /boot katalogas ir jo turinys, pataisykite failą /mnt/boot/grub/menu.lst.

    Suraskite skyrių panašų į:

    ## ## 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

    ir pakeisti kiekvieną hda, hdb, hdc, hdd į sda, sdb, sdc, sdd atitinkamai. Nekeiskite eilutės panašios į:

    root            (hd0,0)

  4. Paleiskite sistemą iš naujo ir išimkite Linux demonstracinį diską (LiveCD) - tuomet jūsų sistema turėtų pasileisti normaliai.

  5. Kai sistema jau įkelta, pasinaudokite vieną iš dviejų čia Skyrius 4.8.1, „Kaip išvengti problemų prieš atnaujinimą“ siūlomų procedūrų, tam kad galutinai pataisytumėt šią problemą.

4.9. Pasiruošimas sekančiai laidai

Po atnaujinimo yra keletas dalykų, kuriuos galite padaryti, siekiant pasiruošti kitai laidai.

  • Jei naujas branduolio atvaizdo metapaketas buvo įkeltas kaip priklausomybė nuo senojo, jis bus pažymėtas kaip įdiegtas automatiškai. Tai turėtų būti ištaisyta tokiu būdu:

    # aptitude unmarkauto $(dpkg-query -W 'linux-image-2.6-*' | cut -f1)
    
  • Pašalinkite pasenusius ir nepanaudojamus paketus kaip aprašyta Skyrius 4.10, „Pasenę paketai“. Peržiūrėkite, kokius konfigūracijos failus jie naudojo, ir pagalvokite apie paketų pašalinimą kartu su konfigūracijos failais (purge).

4.10. Pasenę paketai

Naujojoje lenny laidoje įvedama keletas tūkstančių naujų paketų, bet kartu daugiau nei du tūkstančiai etch buvusių paketų tampa pasenusiais. Šie pasenę paketai nebebus atnaujinti. Nors niekas netrukdo Jums ir toliau naudoti pasenusius paketus jei pageidaujate, Debian'o projektas paprastai nutrauks saugumo palaikymą tokiems paketams praėjus metams po lenny išleidimo[6] ir daugiau nebeteiks jokio palaikymo. Rekomenduojama pakeisti juos alternatyviais paketais, jei tokių yra.

Yra daug priežasčių, kodėl paketai gali būti pašalinti iš distributyvo: jie nebepalaikomi pačių programinės įrangos autorių; nebėra Debian'e žmonių suinteresuotų paketo priežiūra; paketą išstumia kita, funkcionalumo prasme, pažangesnė programinė įranga; arba paketas, dėl jame esančių riktų, nebėra laikomos tinkamu lenny laidai. Pastaruoju atveju paketas vis dar gali būti palaikomas „unstable“ distributyve.

Nustatyti, kurie paketai atnaujintoje sistemoje yra „pasenę“ yra paprasta, nes paketų valdymo programos pažymi juos tokiais. Jei naudojate aptitude programą, matysite tokių paketų sąrašą, pateikiamą kaip „Obsolete and Locally Created Packages“. Programa dselect pateikia panašią informaciją, tačiau sąrašas gali šiek tiek skirtis.

Also, if you have used aptitude to manually install packages in etch it will have kept track of those packages you manually installed and will be able to mark as obsolete those packages pulled in by dependencies alone which are no longer needed if a package has been removed. Also, aptitude, unlike deborphan will not mark as obsolete packages that you manually installed, as opposed to those that were automatically installed through dependencies.

There are additional tools you can use to find obsolete packages such as deborphan, debfoster or cruft. deborphan is highly recommended, although it will (in default mode) only report obsolete libraries: packages in the „libs“ or „oldlibs“ sections that are not used by any other packages. Do not blindly remove the packages these tools present, especially if you are using aggressive non-default options that are prone to produce false positives. It is highly recommended that you manually review the packages suggested for removal (i.e. their contents, size and description) before you remove them.

The Debian Bug Tracking System often provides additional information on why the package was removed. You should review both the archived bug reports for the package itself and the archived bug reports for the ftp.debian.org pseudo-package.

The list of obsolete packages includes:

  • apache (1.x), perėmėjas - apache2

  • bind (8), successor is bind9

  • php4, perėmėjas - php5

  • postgresql-7.4, perėmėjas - postgresql-8.1

  • exim (3), successor is exim4

4.10.1. Tušti (priklausomybių) paketai

Kai kurie paketai iš etch buvo išskaidyti į keletą paketų lenny laidoje, dažniausiai siekiant pagerinti sistemos palaikymą. Siekiant palengvinti atnaujinimą, tokiais atvejais, lenny laidoje dažnai sutinkami „tušti“ („dummy“) paketai, pavadinti tokių pačiu vardu senieji paketai etch laidoje. Įdiegiant šiuos paketus, dėl priklausomybių įdiegiami nauji paketai. Tuoj po atnaujinimo, šie „tušti“ paketai tampa pasenusiais ir juos galima saugiai pašalinti.

Daugumos (bet ne visų) tokių tuščių paketų aprašymuose yra aiškiai nurodyta jų paskirtis. Deja. jokių griežtų taisyklių tuščių paketų aprašymams nėra, todėl jų nustatymui gali būti naudinga komanda deborphan su parametru --guess. Atkreipkite dėmesį, kad kai kurių tuščių paketų neverta pašalinti po atnaujinimo, bet, priešingai, jie naudojami stebėti dabartinę turimą programos versiją laikui bėgant.



[2] Ši funkcija gali būti išjungta pridedant parametrą panic=0 prie įkėlimo parametrų.

[3] Debian paketų valdymo sistema paprastai neleidžia paketui pašalinti arba pakeisti failų, priklausančių kitam paketui, išskyrus atvejus, kai paketas - failo savininkas yra nustatęs, kad tą daryti galima.

[4] The rules there are automatically generated by the script /etc/udev/rules.d/75-persistent-net-generator.rules to have persistent names for network interfaces. Delete this symlink to disable persistent device naming for NICs by udev.

[5] For more information on lilo's boot error codes please see The Linux Bootdisk HOWTO.

[6] Arba tol, kol nėra išleista kita laida per tą laikotarpį. Paprastai tik dvi stabilios laidos palaikomos vienu metu.