Obsah
Waiting for root file
system
Odporúčame, aby ste si pred aktualizáciou prečítali aj informácie v časti Kapitola 5, Problémy vyskytujúce sa v lenny, ktorá pokrýva možné problémy nie priamo sa týkajúce procesu aktualizácie, ale o ktorých je dôležité vedieť predtým, než začnete.
Dôrazne odporúčame, aby ste pred aktualizáciou systému vykonali úplnú zálohu alebo aspoň zálohovali všetky dáta a konfiguračné údaje, ktoré si nemôžete dovoliť stratiť. Aktualizačné nástroje a proces aktualizácie sú dosť spoľahlivé, ale chyba hardvéru uprostred aktualizácie môže spôsobiť ťažké poškodenie systému.
Hlavné veci, ktoré budete chcieť zálohovať sú obsah
/etc
, /var/lib/dpkg
,
/var/lib/aptitude/pkgstates
a výstup dpkg
--get-selections "*"
(úvodzovky sú dôležité).
Samotný proces aktualizácie nemení nič v adresári
/home
. Ale niektoré aplikácie (napr. časti balíka
Mozilla a pracovné prostredia GNOME a KDE) prepisujú existujúce nastavenia
používateľa novými štandardnými hodnotami, keď používateľ prvýkrát spustí
novú verziu aplikácie. Preventívne si môžete urobiť zálohu skrytých súborov
a adresárov (súbory začínajúce bodkou) v domovských adresároch
používateľov. Táto záloha môže pomôcť v obnovení alebo opätovnom vytvorení
pôvodných nastavení. Tiež o tom možno budete chcieť informovať používateľov.
Všetky operácie inštalácie balíkov musíte spúšťať s oprávnením
superpoužívateľa, takže sa buď prihláste ako root
alebo
použite príkaz su alebo sudo na
získanie potrebných oprávnení.
Aktualizácia má niekoľko predpokladov. Pred jej vykonaním by ste mali skontrolovať, či sú splnené.
Verzia glibc
v lenny nebude
fungovať s jadrami staršími ako 2.6.8
na žiadnej
architektúre a niektoré architektúry požadujú ešte vyššiu verziu. Dôrazne
odporúčame aktualizovať a otestovať jadro etch verzie
2.6.18
alebo 2.6.24
alebo prispôsobené
jadro aspoň verzie 2.6.18
predtým, než začnete s
aktualizáciou.
Je rozumné informovať všetkých používateľov o plánovaných aktualizáciách, hoci používatelia pristupujúci k systému pomocou ssh pripojenia by si toho počas aktualizácie nemuseli mnoho všimnúť a mali by byť schopní pokračovať v práci.
Ak si želáte vykonať ďalšie opatrenia, pred aktualizáciou zálohujte alebo
odpojte /home
.
Pri aktualizácii na lenny budete pravdepodobne musieť vykonať aktualizáciu jadra, takže za bežných okolností sa bude vyžadovať reštart. To sa zvyčajne udeje po skončení aktualizácie.
Z dôvodu množstva zmien v jadre medzi etch a lenny v oblasti ovládačov, zisťovania hardvéru, pomenovania a číslovania súborov zariadení existuje reálne riziko, že po reštartovaní systému môžete naraziť na problémy. Množstvo potenciálnych problémov je zdokumentovaných v tejto a ďalšej kapitole týchto Poznámok k vydaniu.
Z toho dôvodu sa uistite, že budete schopní obnoviť systém v prípade, že sa mu nepodarí znova naštartovať alebo, v prípade systémov spravovaných na diaľku, aktivovať fungujúce sieťové pripojenie.
Ak vykonávate vzdialenú aktualizáciu prostredníctvom ssh spojenia, dôrazne odporúčame, aby ste vykonali nutné opatrenia, aby ste mali prístup k serveru prostredníctvom vzdialeného sériového terminálu. Existuje totiž možnosť, že po aktualizácii jadra a reštartovaní budú niektoré zariadenia premenované (ako popisuje Oddiel 4.6.2, “Zmena poradia číslovania zariadení” ) a že budete musieť opraviť konfiguráciu systému z lokálnej konzoly. Tiež v prípade, že sa systém náhodou uprostred aktualizácie reštartuje, existuje možnosť, že budete musieť opraviť konfiguráciu systému z lokálnej konzoly.
Najzjavnejšia vec, ktorú by ste mali skúsiť ako prvú, je reštartovať so svojim pôvodným jadrom. To však nemusí zaručene fungovať z rozličných dôvodov zdokumentovaných inde v tomto dokumente.
Ak sa to nepodarí, budete potrebovať iný spôsob ako naštartovať váš systém,
aby ste k nemu získali prístup a mohli ho opraviť. Jednou z volieb je použiť
špeciálny záchranný obraz alebo linuxové live CD. Po naštartovaní systému z
neho by ste mali byť schopní pripojiť svoj koreňový súborový systém, vykonať
doňho chroot
a opraviť problém.
Ďalšou voľbou, ktorú by sme radi odporučili je použitie záchranného režimu inštalátora Debianu lenny. Výhodou použitia inštalátora je, že si môžete vybrať medzi jeho mnohými spôsobmi inštalácie taký, ktorý sa najviac hodí vašej situácii. Viac informácií nájdete v kapitole 8 Inštalačnej príručky „Obnova pokazeného systému“ a v Debian Installer FAQ.
initramfs-tools
obsahujú ladiaci
shell[2] v initrds, ktorý generujú. Ak napríklad initrd nie je schopný
pripojiť váš koreňový súborový systém, dostanete sa do tohto ladiaceho
shellu, ktorý má základné príkazy na to, aby vám pomohol vystopovať problém
a prípadne ho opraviť.
Základné veci, ktoré by ste mali skontrolovať: prítomnosť správnych súborov
zariadení v /dev
; aké moduly sú načítané (cat
/proc/modules
); chyby pri načítaní ovládačov vo výstupe
dmesg. Výstup príkazu dmesg vám tiež
ukáže ktoré súbory zariadení boli pridelené ktorým diskom; mali by ste si to
overiť porovnaním s výstupom echo $ROOT
, aby ste sa
uistili, že koreňový systém je na zariadení, na ktorom ho očakávate.
Ak sa vám podarí opraviť problém, napísaním exit
opustíte
ladiaci shell a proces zavádzania bude pokračovať od bodu, kde bol
prerušený. Samozrejme budete tiež musieť opraviť podstatu problému a znova
vytvoriť initrd, aby nasledujúci štart už nezlyhal.
Aktualizáciu distribúcie by ste mali vykonávať buď lokálne z textovej virtuálnej konzoly (alebo z priamo pripojeného sériového terminálu) alebo vzdialene pomocou ssh spojenia.
Ako ďalšiu bezpečnostnú poistku pri vzdialenej aktualizácii odporúčame, aby ste spúšťali proces aktualizácie vo virtuálnej konzole programu screen, ktorý vám umožní bezpečné znovupripojenie a zabezpečí, že sa proces aktualizácie nepreruší ani v prípade zlyhania vzdialeného spojenia.
![]() | Dôležité |
---|---|
Nemali by ste vykonávať aktualizáciu pomocou príkazov telnet, rlogin, rsh ani z relácie X, ktorú spravuje xdm, gdm či kdm atď na stroji, ktorý aktualizujete. To je z dôvodu, že každá z týchto služieb môže byť počas aktualizácie prerušená, čo môže mať za následok neprístupný systém, ktorý je iba spolovice aktualizovaný. |
Používatelia, ktorí používajú zavádzač systému LILO by
mali vziať na vedomie, že štandardné nastavenia initramfs-tools
teraz tvoria initramfs, ktorý je
príliš veľký na to, aby ho LILO načítal. Títo
používatelia by mali buď prejsť na grub
alebo upraviť súbor
/etc/initramfs-tools/initramfs.conf
, v ktorom zmenia
riadok
MODULES=most
na
MODULES=dep
Majte však na pamäti, že to spôsobí, že initramfs-tools
nainštaluje do initramfs iba
moduly vyžadované pre konkrétny hardvér, na ktorom beží. Ak chcete vytvoriť
zavádzací nosič, ktorý má fungovať na inom hardvéri ako ten, na ktorom ho
práve vytvárate, mali by ste tento riadok ponechať na hodnote
MODULES=most
a uistiť sa, že nepoužívate LILO.
Proces aktualizácie popísaný v tejto kapitole bol navrhnutý na aktualizácie z “čistého” systému etch bez balíkov tretích strán. Ak chcete dosiahnuť čo najväčšiu spoľahlivosť procesu aktualizácie, budete zrejme chcieť odstrániť zo svojho systému pred začatím aktualizácie balíky tretích strán.
Tento postup tiež predpokladá, že váš systém bol aktualizovaný na najnovší point release etch. Ak ste tak nespravili alebo si nie ste istý, riaďte sa inštrukciami v časti Oddiel A.1, “Ako aktualizovať váš systém etch”.
V niektorých prípadoch použitie apt-get na inštaláciu balíkov namiesto aptitude môže spôsobiť, že aptitude bude považovať balík za “nepoužitý” a naplánuje jeho odstránenie. Vo všeobecnosti by ste sa mali uistiť, že systém je celkom aktualizovaný a “čistý” predtým, než budete pokračovať v aktualizácii.
Z tohto dôvodu by ste mali skontrolovať, či sa nečaká na nejaké operácie v
správcovi balíkov aptitude. Ak je naplánované odstránenie
alebo aktualizácia balíka v správcovi balíkov, môže to mať negatívny vplyv
na aktualizáciu. Náprava tohto problému je možná iba v prípade, že váš
sources.list
ešte stále obsahuje
etch; a nie stable či
lenny; pozri Oddiel A.2, “Ako skontrolovať váš zoznam zdrojov”.
Aby ste mohli vykonať túto kontrolu, budete musieť spustiť aptitude vo “vizuálnom režime” a stlačiť tlačidlo g (“Go”). Ak sa zobrazia nejaké operácie, mali by ste ich skontrolovať a napraviť ich alebo vykonať navrhované operácie. Ak nie sú navrhované žiadne operácie, zobrazí sa vám správa “Žiadne balíky nie sú označené na inštaláciu, aktualizáciu alebo odstránenie”.
Ak ste nastavili APT, aby pripevňoval určité balíky z distribúcie inej ako
stable (napr. z testing), je možné, že budete musieť zmeniť svoje nastavenie
pripevňovania APT (ukladá sa v /etc/apt/preferences
),
aby umožnilo aktualizáciu balíkov na verzie z nového stabilného
vydania. Ďalšie informácie o pripevňovaní APT nájdete v apt_preferences(5).
Bez ohľadu na použitú metódu aktualizácie sa odporúča, aby ste najskôr skontrolovali stav všetkých balíkov a overili, že sú v stave, aby sa dali aktualizovať. Nasledovný príkaz zobrazí všetky balíky, ktoré sú v stave „napoly inštalovaný“ alebo „konfigurácia zlyhala“ a všetky ostatné s chybovým stavom.
# dpkg --audit
Môžete tiež skontrolovať stav všetkých balíkov na vašom systéme pomocou dselect, aptitude alebo pomocou príkazov ako
# dpkg -l | pager
alebo
# dpkg --get-selections "*" > ~/curr-pkgs.txt
Je žiaduce odstrániť pred aktualiáciou podržania. Ak je podržaný niektorý z dôležitých balíkov, ktoré sa majú aktualizovať, aktualizácia zlyhá.
Pamätajte, že aptitude používa odlišný spôsob registrácie balíkov, ktoré sú podržané ako apt-get a dselect. Podržané balíky aptitude zistíte pomocou
# aptitude search "~ahold" | grep "^.h"
Ak chcete skontrolovať, ktoré balíky ste mali podržané pomocou apt-get, mali by ste použiť
# dpkg --get-selections | grep hold
Ak ste zmenili alebo prekompilovali balík lokálne a nepremenovali ste ho alebo ste dali do verzie epochu, musíte ho podržať, aby sa neaktualizoval.
Stav balíka “podržať” v aptitude je možné zmeniť pomocou:
# aptitude hold názov_balíka
Stav balíka “podržať” zrušíte nahradením príkazu
hold
príkazom unhold
.
Ak je niečo, čo potrebujete opraviť, je najlepšie sa ubezpečiť, že váš
sources.list
stále odkazuje na etch ako
vysvetľuje Oddiel A.2, “Ako skontrolovať váš zoznam zdrojov”.
Ak ste vo svojom súbore /etc/apt/sources.list
uviedli
sekciu proposed-updates
, mali by ste ju z neho odstrániť
predtým, než sa pokúsite o aktualizáciu, aby ste predišli možným konfliktom.
Ak váš systém obsahuje nejaké balíky, ktoré nie sú súčasťou Debianu, mali by
ste si byť vedomí, že môžu byť počas aktualizácie odstránené z dôvodu
konfliktných závislostí. Ak boli takéto balíky nainštalované z ďalšieho
archívu balíkov pridaného do vášho
/etc/apt/sources.list
, mali by ste tiež skontrolovať,
či daný archív neobsahuje aj balíky skompilované pre lenny a zmeniť
podľa toho príslušný riadok vtedy, keď budete meniť riadky archívov Debianu.
Niektorí používatelia môžu používať neoficiálne spätne portované “novšie” verzie balíkov, ktoré sú v Debiane nainštalované na ich systéme etch. Také balíky pravdepodobne spôsobia problémy počas aktualizácie, pretože môžu mať konfliktné súbory[3]. Oddiel 4.5.8, “Možné problémy počas aktualizácie” Obsahuje informácie o tom ako sa vyrovnať s konfliktami ak nastanú.
backports.org
je polooficiálny archív, ktorý poskytujú
vývojári Debianu, poskytujúci novšie balíky pre stabilnú distribúciu
založené na znovuzostavení balíkov zo zdroja “testing”.
Archív backports.org
obsahuje prevažne balíky z
“testing”, ale so zníženým číslom verzie, preto je zachovaná
aktualizačná cesta zo spätných portov etch na
lenny. Existuje však niekoľko spätných portov, ktoré pochádzajú z
unstable (bezpečnostné aktualizácie a nasledovné výnimky: Firefox, jadro
Linuxu, OpenOffice.org a X.Org).
Ak nepoužívate žiadnu z týchto výnimiek, môžete bezpečne aktualizovať na
lenny. Ak používate aspoň jednu z týchto výnimiek, nastavte
Pin-Priority
(pozri apt_preferences(5)) dočasne na 1001
pre všetky balíky z
lenny a mali by ste byť schopný vykonať aj bezpečný dist-upgrade.
Ak chcete zabrániť aptitude odstrániť niektoré balíky, ktoré sa do systému dostali z dôvodu závislostí, musíte manuálne zrušiť ich označenie auto. Sem patrí OpenOffice a Vim pri inštaláciách s pracovným prostredím:
# aptitude unmarkauto openoffice.org vim
A obrazu jadra radu 2.6 ak ste ich nainštalovali pomocou metabalíka jadra:
# aptitude unmarkauto $(dpkg-query -W 'linux-image-2.6.*' | cut -f1)
![]() | Poznámka |
---|---|
Ktoré balíky sú označené ako auto v aptitude môžete skontrolovať príkazom: # aptitude search '~i~M' |
Pred začatím aktualizácie musíte nastaviť konfiguračný súbor apt
pre zoznamy balíkov,
/etc/apt/sources.list
.
apt
vezme do úvahy všetky balíky,
ktoré nájde prostredníctvom riadka “deb
” a
nainštaluje balík s najvyšším číslom verzie, pričom uprednostní prvé z
uvedených riadkov (preto v prípade viacerých zrkadiel zvyčajne najprv
uvediete lokálny pevný disk, potom CD-ROM a potom
HTTP/FTP zrkadlá).
![]() | Tip |
---|---|
Možno budete musieť pridať výnimku kontroly GPG pre
DVD a CD-ROM. Do súboru
APT::Authentication::TrustCDROM "true"; Toto však nefunguje v prípade obrazov DVD/CD-ROM. |
Na vydanie je často možné odkazovať jednak prostredníctvom jeho kódového
označenia (napr. etch
,
lenny
) a jednak jeho stavom
(i.e. oldstable
, stable
,
testing
, unstable
). Tým, že odkazujete
na vydanie jeho kódovým označením má tú výhodu, že vás nikdy neprekvapí nové
vydanie a preto je to tu popísaný postup. To samozrejme tiež znamená, že
budete musieť sledovať oznámenia o novom vydaní sami. Ak použijete namiesto
kódového označenia stav, po vydaní uvidíte iba veľké množstvo aktualizácií
balíkov.
Štandardné nastavenie je inštalovať z hlavných internetových serverov
Debianu, ale možno to budete chcieť zmeniť v súbore
/etc/apt/sources.list
, aby sa použili iné zrkadlá,
prednostne tie, ktoré sú k vám najbližšie (z hľadiska siete).
Adresy HTTP a FTP zrkadiel Debianu nájdete na http://www.debian.org/distrib/ftplist (pozri časť “zoznam zrkadiel Debianu”). HTTP zrkadlá sú vo všeobecnosti rýchlejšie ako FTP zrkadlá.
Napríkad predpokladajme, že vaše najbližšie zrkadlo Debianu je
http://mirrors.kernel.org
. Keď sa na toto zrkadlo pozriete
svojim webovým prehliadačom, všimnete si, že adresáre sú organizované
nasledovne:
http://mirrors.kernel.org/debian/dists/lenny/main/binary-i386/... http://mirrors.kernel.org/debian/dists/lenny/contrib/binary-i386/...
Ak chcete toto zrkadlo použiť v systéme apt
, pridáte do
sources.list
nasledovný riadok:
deb http://mirrors.kernel.org/debian lenny main contrib
Všimnite si, že “dists
” sa pridáva
implicitne a argumenty za názvom vydania sa použijú na doplnenie cesty o
viaceré adresáre.
Po pridaní vašich nových zdrojov zrušte pôvodné riadky
“deb
” v sources.list
tým, že pred ne pridáte znak mriežky (#
).
Namiesto použitia HTTP či FTP zrkadiel balíkov môžete nastaviť v
/etc/apt/sources.list
, aby sa používalo zrkadlo na
lokálnom pevnom disku (prípadne pripojené prostredníctvom
NFS).
Napríklad ak máte zrkadlo balíkov vo /var/ftp/debian/
a
adresárová štruktúra je nasledovná:
/var/ftp/debian/dists/lenny/main/binary-i386/... /var/ftp/debian/dists/lenny/contrib/binary-i386/...
Pridaním nasledovného riadka do súboru sources.list
ho
môžete použiť v systéme apt
:
deb file:/var/ftp/debian lenny main contrib
Všimnite si, že “dists
” sa pridáva
implicitne a argumenty za názvom vydania sa použijú na doplnenie cesty o
viaceré adresáre.
Po pridaní vašich nových zdrojov zrušte pôvodné riadky
“deb
” v sources.list
tým, že pred ne pridáte znak mriežky (#
).
Ak chcete použiť výlučne CD, zakomentujte existujúce
“deb
” riadky v súbore
/etc/apt/sources.list
tak, že pred ne napíšete znak
mriežky (#
).
Uistite sa, že sa v súbore /etc/fstab
nachádza riadok,
ktorý umožňuje pripojiť vašu mechaniku CD-ROM na prípojný bod
/cdrom
(apt-cdrom vyžaduje presne
prípojný bod /cdrom
). Napríklad ak je vaša mechanika
CD-ROM /dev/hdc
, /etc/fstab
by mal
obsahovať takýto riadok:
/dev/hdc /cdrom auto defaults,noauto,ro 0 0
Pamätajte, že medzi slovami defaults,noauto,ro
v štvrtom
poli nesmú byť žiadne medzery.
Overte, že to funguje tak, že vložíte CD a skúsite spustiť
# mount /cdrom # pripojiť CD na prípojný bod # ls -alF /cdrom # toto by malo zobraziť obsah koreňového adresára CD # umount /cdrom # odpojiť CD
Potom spustite:
# apt-cdrom add
pre každé binárne CD Debianu, ktoré máte, čím sa pridajú údaje o každom CD do databázy APT.
Odporúčaný spôsob aktualizácie z predošlých vydaní Debianu je použiť nástroj na správu balíkov aptitude. Tento program rozhoduje o inštaláciách balíkov bezpečnejšie ako príkaz apt-get.
Nezabudnite pripojiť všetky potrebné diskové oblasti (predovšetkým koreňovú
oblasť a oblasť obsahujúcu /usr
) na zápis pomocou
príkazu ako:
# mount -o remount,rw /bod_pripojenia
Potom by ste mali dvakrát skontrolovať, že všetky riadky APT (v súbore
/etc/apt/sources.list
) odkazujú buď na
“lenny
” alebo na
“stable
”. Nemali by zostať žiadne riadky
odkazujúce na etch.
![]() | Poznámka |
---|---|
Riadky týkajúce sa CD-ROM budú často odkazovať na
“ |
Dôrazne sa odporúča použiť program /usr/bin/script na zaznamenanie priebehu relácie aktualizácie. Ak sa potom vyskytne problém, budete mať záznam toho, čo sa stalo a ak to bude potrebné budete schopní poskytnúť presné informácie pri hlásení chyby. Zaznamenávanie spustíte príkazom:
# script -t 2>~/upgrade-lenny.time -a ~/upgrade-lenny.script
alebo podobným. Neukladajte súbor so záznamom do odkladacieho adresára ako
/tmp
či /var/tmp
(súbory v týchto
adresároch môžu byť počas aktualizácie alebo akéhokoľvek reštartu zmazané).
Záznam vám tiež umožní skontrolovať informácie, ktoré sa posunuli mimo
obrazovky. Stačí prepnúť na druhý virtuálny terminál (pomocou Alt+F2) a po
prihlásení použiť less -R
~root/upgrade-lenny.script
na zobrazenie súboru.
Po dokončení aktualizácie môžete zastaviť script
napísaním exit
na príkazovom riadku.
Ak ste použili voľbu -t príkazu script, môžete použiť program scriptreplay na opätovné prehranie celej relácie:
# scriptreplay ~/upgrade-lenny.time ~/upgrade-lenny.script
Najprv je potrebné stiahnuť zoznam dostupných balíkov nového vydania. To spravíte príkazom:
# aptitude update
Keď tento príkaz spustíte prvýkrát po pridaní nových zdrojov, môže vypísať nejaké upozornenia týkajúce sa dostupnosti zdrojov. Tieto upozornenia sú neškodné a nezobrazia sa pri ďalšom spustení príkazu.
Pred aktualizáciou systému sa musíte uistiť, že máte dostatok miesta na
disku než začnete plnú aktualizáciu systému ako ju popisuje Oddiel 4.5.7, “Aktualizácia zvyšku systému”. Všetky balíky potrebné na inštaláciu sa najprv
stiahnu zo siete a uložia do adresára
/var/cache/apt/archives
(a počas sťahovania do
podadresára partial/
), takže sa musíte uistiť, že máte
na oblasti, ktorá obsahuje /var/
dostatok miesta na
stiahnutie balíkov, ktoré sa budú inštalovať. Po stiahnutí pravdepodobne
bude potrebné ďalšie miesto na disku v iných oblastiach na inštaláciu
aktualizovaných balíkov (ktoré môžu obsahovať väčšie binárne súbory alebo
viac dát) ako aj nových balíkov, ktoré sa stiahnu počas aktualizácie. Ak váš
systém nebude mať dostatočné miesto na disku, môžete skončiť s neúplnou
aktualizáciou, z čoho môže byť ťažké systém zotaviť.
aptitude aj apt
vám dokážu zobraziť podrobné informácie o mieste na disku potrebnom na
inštaláciu. Pred vykonaním aktualizácie môžete tento odhad zobraziť
príkazom:
# aptitude -y -s -f --with-recommends dist-upgrade [ ... ] XXX balíkov aktualizovaných, XXX nových nainštalovaných, XXX na odstránenie a XXX neaktualizovaných. Treba stiahnuť xx.xMB/yyyMB archívov. Po rozbalení sa použije AAAMB. Teoreticky stiahne/nainštaluje/odstráni balíky.
![]() | Poznámka |
---|---|
Spustenie tohto príkazu na začiatku aktualizácie môže zobraziť chybovú správu z dôvodov popísaných v ďalších častiach. V takom prípade budete musieť počkať, kým sa vykoná minimálna aktuallizácia systému podľa Oddiel 4.5.6, “Minimálna aktualizácia systému” a aktualizácia jadra podľa Oddiel 4.1.1.1, “Uistite sa, že máte vhodné jadro” pred spustením tohto príkazu na odhad miesta na disku. |
Ak nemáte na aktualizáciu dostatok miesta na disku, vopred uvoľnite miesto na disku. Môžete:
Odstrániť balíky, ktoré boli doteraz stiahnuté na inštaláciu (v adresári
/var/cache/apt/archives
). Vyčistenie vyrovnávacej
pamäte balíkov príkazom apt-get clean alebo
aptitude clean odstráni doteraz stiahnuté súbory balíkov.
Odstráňte zabudnuté balíky. Ak máte nainštalovaný balík popularity-contest
, môžete použiť príkaz
popcon-largest-unused na vypísanie balíkov, ktoré
nepoužívate, ktoré zaberajú na systéme najviac miesta. Tiež môžete použiť
deborphan alebo debfoster na nájdenie
zastaralých balíkov (pozri Oddiel 4.10, “Zastaralé balíky” ). Namiesto toho
môžete spustiť aptitude vo “vizuálnom
režime” a nájsť zastarané balíky v “Zastarané a lokálne
vytvorené balíky”.
Odstráňte balíky, ktoré zaberajú príliš mnoho miesta a momentálne ich
nepotrebujete (po aktualizácii ich môžete znova nainštalovať). Balíky, ktoré
zaberajú najviac miesta môžete vypísať pomocou dpigs
(dostupné v balíku debian-goodies
)
alebo wajig (príkazom wajig size
).
Môžete si pozrieť zoznam balíkov, ktoré zaberajú najviac miesta na disku
pomocou aptitude
. Spustite
aptitude vo vizuálnom režime,
vyberte → (táto položka bude dostupná iba po
verzii etch), stlačte l a zadajte ~i
,
stlačte S a zadajte ~installsize
a to
vám vypíše pekný zoznam. Keď to spravíte po aktualizácii aptitude
, mali by ste k tejto vlastnosti mať
prístup.
Odstráňte preklady a lokalizačné súbory zo systému ak nie sú
potrebné. Možete nainštalovať balík localepurge
a nastaviť ho, aby ponechal na
systéme iba niekoľko vybraných locales. Tým sa zníži využité miesto na
disku, ktoré zaberá /usr/share/locale
.
Dočasne presunúť na iný systém alebo natrvalo odstrániť systémové záznamy
nachádzajúce sa vo /var/log/
.
Použiť dočasný adresár /var/cache/apt/archives
: Môžete
použiť dočasný adresár pre vyrovnávaciu pamäť na inom súborovom systéme
(USB pamäť, dočasný pevný disk, už používaný súborový
systém, ...)
![]() | Poznámka |
---|---|
Nepoužívajte prípojný bod NFS, pretože sieťové pripojenie sa môže počas aktualizácie prerušiť. |
Napríklad ak máte USB pamäť pripojenú na
/media/usbkey
:
odstráňte balíky, ktoré boli doteraz stiahnuté na inštaláciu:
# apt-get clean
skopírujte adresár /var/cache/apt/archives
na
USB pamäť:
# cp -ax /var/cache/apt/archives /media/usbkey/
pripojte dočasný adresár vyrovnávacej pamäte balíkov na aktuálny:
# mount --bind /media/usbkey/archives /var/cache/apt/archives
po aktualizácii obnovte pôvodný adresár
/var/cache/apt/archives
:
# umount /media/usbkey/archives
odstráňte zostávajúce /media/usbkey/archives
.
Dočasný adresár vyrovnávacej pamäte balíkov môžete vytvoriť na ľubovoľnom pripojenom súborovom systéme.
Pamätajte, že aby ste mohli bezpečne odstrániť balíky, mali by ste svoj
sources.list
upraviť späť na etch ako
popisuje Oddiel A.2, “Ako skontrolovať váš zoznam zdrojov”.
Niekoľko hlásení chýb ukázalo, že verzie balíkov aptitude
a apt
v etch často nedokážu vykonať aktualizáciu
na lenny. V lenny sa dokáže apt
lepšie vyrovnať s komplexnými reťazcami
balíkov, ktoré vyžadujú okamžitú konfiguráciu a aptitude
sa správa inteligentnejšie pri hľadaní
riešení uspokojujúcich závislosti. Keďže tieto dve vlastnosti sa intenzívne
využívajú pri dist-upgrade na lenny, je nutné tieto dva balíky
aktualizovať skôr než aktualizujete čokoľvek iné. V prípade apt
spustite:
# apt-get install apt
a v prípade aptitude
(ak ho máte
nainštalovaný) spustite:
# aptitude install aptitude
Tento krok automaticky aktualizuje libc6
a locales
a stiahne podporné knižnice SELinux
(libselinux1
). V tejto chvíli sa
reštartujú niektoré bežiace služby vrátane xdm,
gdm a kdm. Dôsledkom toho sa môžu
ukončiť lokálne X11
spojenia.
aptitude
udržiava zoznam balíkov,
ktoré boli nainštalované automaticky (napríklad ako závislosti iného
balíka). V lenny má teraz túto vlastnosť aj apt
.
Po prvom spustení verzie lenny nástroja aptitude
sa načíta jeho zoznam automaticky
nainštalovaných balíkov a prevedie sa na použitie s verziou lenny
nástroja apt
. Ak máte nainštalovaný
balík aptitude
mali by ste spustiť
aspoň raz príkaz aptitude, aby sa vykonala
konverzia. Môžete to spraviť napríklad hľadaním neexistujúceho balíka:
# aptitude search "?false"
Z dôvodov určitých nutných konfliktov balíkov medzi etch a
lenny priame spustenie aptitude dist-upgrade
často odstráni veľké množstvo balíkov, ktoré si chcete ponechať. Preto
odporúčame dvojfázový proces aktualizácie. V prvej fáze minimálnu
aktualizáciu, aby sa vyriešili tieto konflikty a následne úplný
dist-upgrade
.
Najprv spustite:
# aptitude safe-upgrade
Toto aktualizuje tie balíky, ktoré je možné aktualizovať bez nutnosti odstránenia alebo inštalácie iných balíkov.
Ďalší krok sa bude líšiť v závislosti na množine balíkov, ktoré máte nainštalované. Tieto poznámky k vydaniu poskytujú všeobecné rady o metóde, ktorú by ste mali zvoliť, ale ak máte pochybnosti, odporúčame aby ste preskúmali odstránenie ktorých balíkov je navrhnuté v každej z metód.
Niektoré bežné balíky, ktorých odstránenie sa očakáva, sú base-config
, hotplug
, xlibs
, netkit-inetd
, python2.3
, xfree86-common
a xserver-common
. Ďalšie informácie o balíkoch
zastaralých v lenny nájdete v Oddiel 4.10, “Zastaralé balíky”.
Teraz môžete pokračovať v hlavnej časti aktualizácie. Spustite:
# aptitude dist-upgrade
Tým sa vykoná kompletná aktualizácia systému, t.j. nainštalujú sa najnovšie dostupné verzie všetkých balíkov a vyriešia sa všetky možné zmeny závislostí medzi balíkmi v rôznych vydaniach. Ak je to potrebné, nainštalujú sa niektoré nové balíky (zvyčajne nové verzie knižníc a premenované balíky) a odstránia sa všetky konfliktné zastaralé balíky.
Pri aktualizácii z diskov CD-ROM (alebo DVD) vás sytém požiada o vloženie niektorých konkrétnych CD niekoľkokrát počas aktualizácie. Je možné, že budete musieť vložiť rovnaké CD viac než raz; to je z dôvodu navzájom závisiacich balíkov, ktoré sa nachádzajú na rôznych CD.
Nové verzie momentálne nainštalovaných balíkov, ktoré nie je možné
aktualizovať bez zmeny stavu inštalácie iného balíka budú ponechané v
aktuálnej verzii (zobrazia sa ako “podržané”). To je možné
vyriešiť buď pomocou aptitude tak, že zvolíte tieto
balíky na inštaláciu alebo tak, že skúsite spustiť aptitude -f
install
.
balík
Ak nejaká operácia aptitude, apt-get alebo dpkg zlyhá s chybou
E: Dynamic MMap ran out of room
štandardné miesto vo vyrovnávacej pamäti nestačí. Môžete to vyriešiť buď
tak, že odstránite riadky komentárov, ktoré nepotrebujete v
/etc/apt/sources.list
alebo zväčšením veľkosti
vyrovnávacej pamäte. Veľkosť vyrovnávacej pamäte môžete zväčšiť nastavením
APT::Cache-Limit
v súbore
/etc/apt/apt.conf
. Nasledovný príkaz ju nastaví na
veľkosť, ktorá by mala na aktualizáciu postačovať:
# echo 'APT::Cache-Limit "12500000";' >> /etc/apt/apt.conf
Tento príkaz predpokladá, že tento súbor túto premennú ešte neobsahuje!
Niekedy je potrebné zapnúť voľbu APT::Force-LoopBreak
aby
ste mohli dočasne odstrániť nevyhnutný (essential) balík z dôvodu cyklu
konfliktov alebo predzávislostí. aptitude vás na to
upozorní a zruší aktualizáciu. Môžete to obísť zadaním voľby -o
APT::Force-LoopBreak=1
na príkazovom riadku
aptitude.
Je možné, že štruktúra závislostí systému bude taká poškodená, že jej oprava bude vyžadovať manuálny zásah. To zvyčajne znamená použiť aptitude alebo
# dpkg --remove názov_balíka
odstrániť niektoré z konfliktných balíkov alebo
# aptitude -f install # dpkg --configure --pending
V extrémnych prípadoch budete musieť vynútiť reinštaláciu príkazom typu
# dpkg --install /cesta/k/názov_balíka
Konflikty súborov by sa nemali vyskytnúť ak aktualizujete z “čistého” systému etch, ale môžu sa vyskytnúť ak máte nainštalované neoficiálne spätné porty (backports). Konflikt súborov sa prejaví nasledovnou chybou:
Rozbaľuje sa<package-foo>
(z<package-foo-file>
) ... dpkg: chyba pri spracovávaní<package-foo>
(--install): pokus o prepísanie „<some-file-name>
“, ktorý je tiež v balíku<package-bar>
dpkg-deb: podproces paste ukončený signálom (Prerušená rúra) Počas spracovania sa vyskytli chyby::<package-foo>
Môžete sa pokúsiť vyriešiť konflikt súborov tým, že nasilu odstránite balík uvedený na poslednom riadku chybovej správy:
# dpkg -r --force-depends názov_balíka
Po tejto náprave by ste mali byť schopní pokračovať v aktualizácii zopakovaním doteraz popísaných príkazov aptitude.
Počas aktualizácie dostanete otázky týkajúce sa konfigurácie alebo
rekonfigurácie niekoľkých balíkov. Po otázke, či nejaký súbor z adresára
/etc/init.d
alebo /etc/terminfo
alebo /etc/manpath.config
má byť nahradený verziou od
správcu balíka je zvyčajne potrebné odpovedať „áno“, aby ste zaistili
konzistenciu systému. Kedykoľvek môžete vrátiť staršie verzie, pretože sa
uložia s príponou .dpkg-old
.
Ak si nie ste istý, čo máte robiť, zapíšte si meno balíka alebo súboru a veci vyriešte neskôr. Ak chcete skontrolovať informácie, ktoré boli na obrazovke počas aktualizácie, môžete hľadať v súbore záznamu relácie.
Táto časť vysvetľuje ako aktualizovať vaše jadro a identifikuje možné
problémy týkajúce sa tejto aktualizácie. Môžete buď nainštalovať jeden z
balíkov linux-image-*
, ktoré
poskytuje Debian alebo skompilovať prispôsobené jadro zo zdrojových súborov.
Pamätajte, že veľa informácií v tejto časti je založených na predpoklade, že
budete používať jedno z modulárnych jadier v Debiane spolu s initramfs-tools
a udev
. Ak sa rozhodnete použiť prispôsobené
jadro, ktoré nevyžaduje initrd alebo použijete iný nástroj na tvorbu initrd,
niektoré z týchto informácií sa vás nemusia týkať.
Keď vykonáte dist-upgrade z etch na lenny, dôrazne sa odporúča, aby ste nainštalovali nový metabalík linux-image-2.6-*. Tento balík môže automaticky nainštalovať proces dist-upgrade. Či je nainštalovaný môžete overiť príkazom:
# dpkg -l "linux-image*" | grep ^ii
Ak nevidíte žiadny výstup, budete musieť nainštalovať nový balík linux-image ručne. Zoznam dostupných metabalíkov linux-image-2.6 uvidíte po spustení:
# apt-cache search linux-image-2.6- | grep -v transition
Ak si nie ste istý, ktorý z balíkov vybrať, spustite uname
-r
a hľadajte balík s podobným názvom. Napríklad ak vidíte
2.4.27-3-686
, odporúča sa nainštalovať linux-image-2.6-686
. (Všimnite si, že verzia
k7
už neexistuje; ak momentálne používate verziu jadra
k7
, mali by ste namiesto nej nainštalovať verziu
686
.) Tiež si možete pozrieť dlhý popis každého z balíkov
príkazom apt-cache a zvoliť si ten
najvyhovujúcejší. Napríklad:
# apt-cache show linux-image-2.6-686
Nainštalujete ho pomocou aptitude install
. Po
nainštalovaní jadra by ste mali pri najbližšej príležitosti reštartovať
systém, čím získate výhody novej verzie jadra.
Pre tých dobrodružnejších existuje jednoduchý spôsob ako si skompilovať
vlastné jadro Debianu. Nainštalujte nástroj kernel-package
a prečítajte si dokumentáciu v
/usr/share/doc/kernel-package
.
Ak je to možné, je pre vás výhodné aktualizovať balík jadra oddelene od
samotného hlavného dist-upgrade
, pretože to znižuje
pravdepodobnosť stavu systému, ktorý dočasne nemožno spustiť. Pamätajte, že
toto by ste mali robiť iba po vykonaní minimálnej aktualizácie ako ju
popisuje Oddiel 4.5.6, “Minimálna aktualizácia systému”.
lenny obsahuje robustnejší mechanizmus zisťovania hardvéru ako predošlé vydania. To však môže spôsobiť zmeny v poradí v akom sú zistené zariadenia vášho systému, čo ovplyvní poradie v akom sa pridelia zariadeniam názvy. Napríklad ak máte dve sieťové karty, ktoré používajú dva rôzne ovládače, zariadenia, na ktoré odkazujú názvy eth0 a eth1 sa môžu vymeniť. Pamätajte, že nový mechanizmus spôsobí aj to, že ak napr. vymeníte ethernetové karty v bežiacom systéme lenny, nový adaptér tiež dostane nový názov rozhrania.
Pri sieťových zariadeniach sa môžete vyhnúť tejto zmene poradia využitím
pravidiel udev
, konkrétne pomocou
definícií v súbore
/etc/udev/rules.d/70-persistent-net.rules
[4]. Namiesto toho môžete použiť nástroj
ifrename, ktorý môže pri zavedení systému prideliť
fyzickým zariadeniam konkrétne názvy. Ďalšie informácie poskytne
ifrename(8) a iftab(5). Tieto dve alternatívy (udev
a ifrename) by ste
nemali používať súčasne.
Pri úložných zariadeniach sa môžete tejto zmene poradia vyhnúť použitím
initramfs-tools
a nastaviť ho, aby
načítaval moduly úložných zariadení v rovnakom poradí ako sú načítané
teraz. To môžete spraviť tak, že zistíte poradie, v akom boli moduly
úložných zariadení na vašom systéme načítané z výstupu príkazu
lsmod. lsmod uvádza moduly v opačnom
poradí ako boli načítané, t.j. prvý modul v zozname bol načítaný ako
posledný. Pamätajte, že toto bude fungovať iba pri zariadeniach, ktoré jadro
vyčísľuje v stabilnom poradí (ako zariadenia PCI).
Avšak odstránenie a opätovné načítanie modulov po zavedení systému ovplyvní
toto poradie. Je tiež možné, že vaše jadro bude mať niektoré moduly
pripojené staticky a tieto názvy sa nezobrazia vo výstupe príkazu
lsmod. Názvy týchto zariadení by malo byť možné zistiť
zo súboru /var/log/kern.log
alebo z výstupu príkazu
dmesg.
Pridajte tieto názvy modulov do
/etc/initramfs-tools/modules
v poradí v akom by sa mali
načítať pri zavedení systému. Niektoré názvy modulov sa mohli medzi vydaním
etch a lenny zmeniť. Napríklad
sym53c8xx_2
sa premenoval na
sym53c8xx
.
Potom budete musieť znova vytvoriť obraz(y) initramfs spustením príkazu
update-initramfs -u -k all
.
Po zavedení jadra lenny a systému udev
môžete zmeniť konfiguráciu vášho systému
tak, aby pristupoval k vašim diskom prostredníctvom aliasu, ktorý nezávisí
na poradí načítania ovládačov. Tieto aliasy sídlia v hierarchii
/dev/disk/
.
Ak sa na zavedenie systému používa initrd vytvorený pomocou initramfs-tools
, v niektorých prípadoch sa môže
stať, že udev
vytvorí súbory
zariadení príliš neskoro nato, aby na to mohli reagovať zavádzacie skripty.
Zvyčajným symptómom je, že sa nepodarí zaviesť systém, pretože nie je možné
pripojiť koreňový súborový systém a dostanete sa do ladiaceho shellu. Ale ak
to následne môžete overiť, všetky potrebné zariadenia sú prítomné v
/dev
. Toto bolo pozorované v prípadoch, kedy sa
koreňový súborový systém nachádza na USB disku alebo na
zariadení RAID, obzvlášť ak sa používa
LILO.
Tento problém môžete obísť použitím zavádzacieho parametra
rootdelay=
. Je možné, že
budete musieť upraviť hodnotu oneskorenia (v sekundách) pripojenia
koreňového zariadenia.
9
Po skončení aptitude dist-upgrade
je aktualizácia
“formálne” dokončená, ale je niekoľko vecí, o ktoré by ste sa
mali postarať pred ďalším reštartom.
Ak používate na zavedenie systému lilo
, (pri niektorých inštaláciách
etch je to predvolený zavádzač) dôrazne sa odporúča, aby ste po
aktualizácii znova spustili príkaz lilo:
# /sbin/lilo
Pamätajte, že je to potrebné aj v prípade, že ste neaktualizovali jadro systému, keďže druhá fáza lilo sa zmení zdôvodu aktualizácie balíkov.
Tiež skontrolujte obsah svojho /etc/kernel-img.conf
a
uistite sa, že obsahuje do_bootloader = Yes
. To zaručí
znovuspustenie zavádzača po aktualizácii jadra.
Ak narazíte na nejaké problémy pri spúšťaní lilo,
skontrolujte, či nie sú chybné symbolické odkazy v /
na
vmlinuz
a initrd
a obsah vášho
/etc/lilo.conf
.
Ak ste zabudli znova spustiť lilo pred reštartom systému
alebo sa systém reštartoval nedopatrením predtým, než ste to mohli urobiť
ručne, zavedenie vášho systému môže zlyhať. Namiesto výzvy lilo uvidíte pri
zavádzaní systému iba LI
[5]. Zotavenie z tohto problému popisuje Oddiel 4.1.3, “Pripravte sa na obnovu”.
Niektorí používatelia nahlásili, že aktualizácia môže spôsobiť, že jadro nenájde po reštarte systému oblasť obsahujúcu koreňový systém.
V takom prípade sa zavádzanie systému zastaví pri nasledovnej správe:
Waiting for root file system ...
a po niekoľkých sekundách sa zobrazí holá výzva busybox.
Tento problém sa môže vyskytnúť, keď aktualizácia jadra spôsobí nové
vytovorenie ovládačov IDE. Konvencie pomenovania
IDE diskov pri starých ovládačov boli
hda
, hdb
, hdc
,
hdd
. Nové ovládače rovnaké disky pomenujú
sda
, sdb
, sdc
,
sdd
. Problém sa vyskytne, keď aktualizácia nevytvorí nový
súbor /boot/grub/menu.lst
zohľadňujúci nové konvencie
pomenovania. Počas zavádzania Grub jadru odovzdá koreňovú oblasť, ktorú
jadro nenájde.
Ak ste narazili po aktualizácii na tento problém, prečítajte si Oddiel 4.8.2, “Ako zotaviť systém z problému po aktualizácii”. Ak chcete tomuto problému predísť, než naň narazíte, čítajte ďalej.
Tomuto problému sa môžete úplne vyhnúť tak, že použijete identifikátor koreňového systému, ktorý sa nemení medzi reštartmi. Existujú dva možné spôsoby ako to urobiť - označením súborového systému menovkou alebo použitím všeobecne jedinečného identifikátora (UUID) súborového systému. Debian tieto metódy podporuje od vydania „etch“.
Tieto dva prístupy majú svoje výhody a nevýhody. Prístup s označením menovkou je čitateľnejší, ale môžu nastať problémy ak sa na vašom systéme vyskytne iný súborový systém s rovnakou menovkou. Prístup s UUID nie je taký elegantný, ale je veľmi nepravdepodobné, že sa vyskytnú dva systémy s kolidujúcimi UUID.
V nasledovných príkladoch predpokladáme, že koreňový systém sa nachádza na
/dev/hda6
. Tiež predpokladáme, že váš systém má
fungujúcu inštaláciu udev a súborové systémy ext2 alebo ext3.
Prístup s menovkami môžete implementovať nasledovne:
Označte systém (menovka musí mať < 16 znakov) spustením: e2label /dev/hda6 rootfilesys
V súbore /boot/grub/menu.lst
upravte riadok:
# kopt=root=/dev/hda6 ro
na
# kopt=root=LABEL=rootfilesys ro
![]() | Poznámka |
---|---|
Neodstraňujte znak |
Aktualizujte riadky kernel
v súbore
menu.lst
spustením príkazu
update-grub.
Upravte v súbore /etc/fstab
riadok, ktorý pripája
diskovú oblasť /
, napr.:
/dev/hda6 / ext3 defaults,errors=remount-ro 0 1
na
LABEL=rootfilesys / ext3 defaults,errors=remount-ro 0 1
Zmena, na ktorej tu záleží je v prvom stĺpci, nemusíte meniť ďalšie stĺpce na tomto riadku.
Prístup s UUID môžete implementovať nasledovne:
Zistite všeobecne jedinečný identifikátor vášho súborového systému príkazom: ls -l /dev/disk/by-uuid | grep hda6
Mali by ste dostať riadok podobný tomuto:
lrwxrwxrwx 1 root root 24 2008-09-25 08:16 d0dfcc8a-417a-41e3-ad2e-9736317f2d8a -> ../../hda6
UUID je názov symbolického odkazu na
/dev/hda6
t.j.:
d0dfcc8a-417a-41e3-ad2e-9736317f2d8a
.
![]() | Poznámka |
---|---|
UUID vášho súborového systému bude iný text. |
V súbore /boot/grub/menu.lst
upravte riadok:
# kopt=root=/dev/hda6 ro
na
# kopt=root=UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8 ro
![]() | Poznámka |
---|---|
Neodstraňujte znak |
Aktualizujte riadky kernel
v súbore
menu.lst
spustením príkazu
update-grub.
Upravte v súbore /etc/fstab
riadok, ktorý pripája
diskovú oblasť /
, napr.:
/dev/hda6 / ext3 defaults,errors=remount-ro 0 1
na
UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8 / ext3 defaults,errors=remount-ro 0 1
Zmena, na ktorej tu záleží je v prvom stĺpci, nemusíte meniť ďalšie stĺpce na tomto riadku.
Toto je možné uplatniť, keď Grub zobrazí rozhranie menu s výberom položky, ktorú chcete zaviesť. Ak sa takéto menu neobjaví, skúste stlačiť pred zavedením jadra kláves Esc, aby sa objavilo. Ak sa do tohto menu nemôžete dostať skúste Oddiel 4.8.2.2, “Riešenie 2” alebo Oddiel 4.8.2.3, “Riešenie 3”.
V nemu Grub označte položku, ktorú chcete zaviesť. Stlačte kláves e, aby ste mohli upraviť voľby týkajúce sa tejto položky. Uvidíte niečo ako:
root (hd0,0) kernel /vmlinuz-2.6.26-1-686 root=/dev/hda6 ro initrd /initrd.img-2.6.26-1-686
Označte riadok
kernel /vmlinuz-2.6.26-1-686 root=/dev/hda6 ro
stlačte kláves e a nahraďte
hd
textom
X
sd
(kde X
X
je jedno z písmen a
, b
,
c
alebo d
v závislosti na vašom
systéme). V tomto príklade z neho urobíme:
kernel /vmlinuz-2.6.26-1-686 root=/dev/sda6 ro
Potom stlačením klávesu Enter uložte zmenu. Ak sa
hd
objavuje aj na niektorých
ďalších riadkoch, zmeňte aj tie. Nemeňte položku podpobnú X
root
(hd0,0)
. Po dokončení všetkých zmien stlačte kláves
b. Váš systém by sa teraz mal zaviesť ako obvykle.
Teraz po zavedení systému musíte tento problém opraviť natrvalo. Prečítajte si Oddiel 4.8.1, “Ako sa vyhnúť problému pred aktualizáciou” a použite jeden z dvoch navrhovaných spôsobov.
Zaveďte systém z inštalačných nosičov Debianu
(CD/DVD) a po výzve napíšte
rescue
, čím sa spustí záchranný režim. Vyberte svoj
jazyk, lokalitu, rozloženie klávesnice; potom ho nechajte nastaviť sieť
(nezáleží na tom, či sa to podarí alebo nie). Po chvíli by vás mal požiadať,
aby ste vybrali oblasť, ktorú chcete používať ako koreňový súborový
systém. Navrhované voľby budú vyzerať nejako takto:
/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
Ak viete, ktorá disková oblasť obsahuje váš koreňový súborový systém, vyberte ju. Ak neviete, skúste prvú. Ak sa vypíše sťažnosť na neplatný koreňový súborový systém, skúste ďalšiu atď. To, že skúsite jednu za druhou by nemalo uškodiť vašim oblastiam a ak máte na diskoch nainštalovaný iba jeden operačný systém, mali by ste byť ľahko schopní nájsť správny koreňový súborový systém. Ak máte na diskoch nainštalovaných mnoho operačných systémov, bolo by lepšie, keby ste vedeli ktorá disková oblasť je tá správna.
Po vybraní diskovej oblasti sa vám ponúkne niekoľko možností. Vyberte možnosť spustenia shellu z vybranej oblasti. Ak sa vypíše sťažnosť, že sa to nedá, skúste to s inou oblasťou.
Teraz by ste mali mať prístup ako používateľ root
k vášmu
koreňovému systému pripojenému na /target
. Budete
potrebovať prístup k obsahu adresárov /boot
,
/sbin
a /usr
vášho pevného disku,
ktoré by mali byť teraz dostupné ako /target/boot
,
/target/sbin
a /target/usr
. Ak je
potrebné tieto adresáre pripojiť z iných diskových oblastí, urobte to (ak
nemáte poňatia ktoré oblasti ich obsahujú, nájdete to v súbore
/etc/fstab
).
Prejdite na Oddiel 4.8.1, “Ako sa vyhnúť problému pred aktualizáciou” a opravte
problém natrvalo pomocou jedného z dvoch uvedených postupov. Potom napíšte
exit
, čím ukončíte shell a vyberte
reboot
, čím reštartuejte systém ako obvykle (nezabudnite
vyňať nosič, z ktorého ste naposledy zaviedli systém).
Zaveďte systém z vašej obľúbenej distribúcie na LiveCD ako napr. Debian Live, Knoppix či Ubuntu Live.
Pripojte oblasť, kde sa nachádza váš adresár /boot
. Ak
neviete, ktorý to je, použite výstup príkazu dmesg, kde
zistíte, či je váš disk označený ako hda
,
hdb
, hdc
, hdd
alebo
sda
, sdb
, sdc
,
sdd
. Potom ako viete, na ktorom disku pracovať,
napr. sdb
, pozrite si tabuľku oblastí disku príkazom
fdisk -l /dev/sdb a nájdite správnu oblasť.
Za predpokladu, že ste pripojili správnu oblasť v /mnt
a že táto oblasť obsahuje adresár /boot
a jeho obsah,
upravte súbor /mnt/boot/grub/menu.lst
.
Nájdite časť podobnú tejto:
## ## 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
a nahraďte každý hda
, hdb
,
hdc
či hdd
príslušným textom
sda
, sdb
, sdc
či
sdd
. Nemeňte riadok podobný tomuto:
root (hd0,0)
Reštartujte systém, vyberte LiveCD a váš systém by sa mal zaviesť korektne.
Keď sa zavedie, použite jeden z dvoch navrhovaných postupov, ktoré uvádza Oddiel 4.8.1, “Ako sa vyhnúť problému pred aktualizáciou”.
Po aktualizácii môžete urobiť niekoľko vecí, ktorými sa pripravíte na ďalšie vydanie.
Ak bol metabalík obrazu jadra nainštalovaný ako závislosť starého, bude označený ako automaticky nainštalovaný, čo by ste mali napraviť:
# aptitude unmarkauto $(dpkg-query -W 'linux-image-2.6-*' | cut -f1)
Odstráňte zastaralé a nepoužívané balíky ako popisuje Oddiel 4.10, “Zastaralé balíky”. Mali by ste skontrolovať, ktoré konfiguračné súbory používajú a zvážiť vyčistenie konfigurácie balíkov (purge), aby sa odstránili ich konfiguračné súbory.
Okrem toho, že lenny prináša niekoľko tisíc nových balíkov, tiež odstraňuje viac ako dvetisíc starých balíkov, ktoré obsahovalo vydanie etch. Poskytuje aktualizačnú cestu pre tieto zastaralé balíky. Hoci vám nič nebráni naďalšj používať zastaralé balíky, projekt Debian zvyčajne prestane poskytovať podporu bezpečnostných aktualizácií jeden rok po vydaní lenny[6], a medzitým im nebude poskytovaná žiadna ďalšia podpora. Odporúča sa nahradiť ich dostupnými alternatívami ak existujú.
Existuje mnoho dôvodov, prečo môžu byť balíky z distribúcie odstránené: ich pôvodný autor ich už nespravuje; ich správa už nezaujíma vývojára Debianu; funkcionalitu, ktorú poskytujú nahradil iný softvér (alebo novšia verzia); alebo už sa nepovažujú vhodné vo vydaní lenny z dôvodu chýb. V poslednom prípade môže distribúcia “unstable” naďalej obsahovať tieto balíky.
Je jednoduché zistiť v aktualizovanom systéme, ktoré balíky sú “zastaralé”, pretože ich tak označia používateľské rozhrania systémov na správu balíkov. Ak používate aptitude, uvidíte zoznam týchto balíkov v časti “Zastarané a lokálne vytvorené balíky”. dselect obsahuje podobnú časť, ale jeho zoznam môže byť odlišný.
Ak ste použili aptitude na ručnú inštaláciu balíkov v etch, bude si pamätať tieto ručne nainštalované balíky a dokáže označiť ako zastaralé balíky nainštalovné iba ako závislosti, ktoré už nie sú potrebné ak bol balík odstránený. aptitude tiež na rozdiel od deborphan neoznačí ako zastaralé balíky tie, ktoré ste nainštalovali ručne na rozdiel od tých, ktoré boli nainštalované ako závislosti.
Existujú ďalšie nástroje, ktoré môžete použiť na nájdenie zastaralých
balíkov ako deborphan, debfoster alebo
cruft. deborphan veľmi odporúčame,
hoci (v predvolenom režime) oznamuje iba zastaralé knižnice: balíky v
sekciách “libs
” alebo
“oldlibs
”, ktoré iné balíky
nevyužívajú. Nemali by ste balíky, ktoré vám tieto nástroje nájdu iba slepo
odstraňovať, obzvlášť ak používate agresívne neštandardné voľby, ktoré často
označia aj používané balíky. Dôrazne sa odporúča, aby ste manuálne
skontrolovali balíky navrhnuté na odstránenie (t.j. ich obsah, veľkosť a
popis) než ich necháte odstrániť.
Systém sledovania chýb Debianu často poskytne ďalšie informácie o tom, prečo bol balík odstránený. Mali by ste si prečítať archivované hlásenia chýb samotného balíka aj archivované hlásenia chýb pseudobalíka ftp.debian.org.
Medzi zastaralé balíky patria:
Niektoré balíky z vydania etch boli v lenny rozdelené do niekoľkých balíkov, často preto, aby sa zlepšila spravovateľnosť systému. Aby sa zjednodušila aktualizačná cesta, lenny často poskytuje “fiktívne” balíky: prázdne balíky s rovnakým názvom ako starý balík v etch so závislosťami, ktoré spôsobia nainštalovanie nového balíka. Tieto “fiktívne” balíky sa po aktualizácii považujú za zastaralé a je možné ich bezpečne odstrániť.
Väčšina (ale nie všetky) popisy fiktívnych balíkov označujú ich účel. Popisy
fiktívnych balíkov však nie sú jednotné, takže môžete na ich nájdenie použiť
aj deborphan s voľbou --guess
, aby ste
ich na svojom systéme našli. Niektoré fiktívne balíky sa nemajú po
aktualizácii odstraňovať, ale používajú sa na sledovanie aktuálne dostupnej
verzie programu v čase.
[2] Túto vlastnosť možno vypnúť pridaním panic=0
medzi
parametre pri zavádzaní systému.
[3] Systém správy balíkov Debianu za bežných okolností neumožňuje balíku nahradiť súbor, ktorý vlastní iný balík, iba ak daný balík nahrádza tento vlastniaci balík.
[4]
Tamojšie pravidlá automaticky tvorí skript
/etc/udev/rules.d/75-persistent-net-generator.rules
,
aby sieťové rozhrania mali perzistentné názvy (pretrvávajúce aj po
reštarte). Zmazaním tohto symbolického odkazu môžete vypnúť perzistentné
pomenovanie sieťových adaptérov systémom udev
.
[5] Viac informácií o chybových kódoch príkazu lilo nájdete v The Linux Bootdisk HOWTO.
[6] Alebo ak dovtedy nenastane ďalšie vydanie. Zvyčajne sú zakaždým podporované súčasne iba dve stabilné vydania.