Obsah
Waiting for root file system
Před aktualizací systému je velmi vhodné vytvořit úplnou záložní kopii dat, nebo přinejmenším zálohovat data a konfigurační soubory, které byste jen neradi ztratili. Nástroje pro aktualizaci systému jsou zcela spolehlivé, ale například selhání hardware během aktualizace by mohlo mít nedozírné důsledky a mohlo by vést až k poškození systému.
Doporučujeme se podívat také na problémy explicitně vypsané v kapitole 5 – „Na co si dávat pozor u Lennyho“. Kapitola se sice přímo nezabývá procesem aktualizace, ale některé body mohou být i přesto relevantní a je dobré je vědět předem.
Nejdůležitější pro vás zřejmě bude zazálohovat obsah adresářů
/etc
, /var/lib/dpkg
,
/var/lib/aptitude/pkgstates
a rovněž výstup
z dpkg --get-selections "*"
(uvozovky jsou
důležité).
Aktualizace samotná v domovských adresářích uživatelů nic nemění, avšak existují aplikace (např. části balíku Mozilla a desktopových prostředí KDE a GNOME), které při spuštění nové verze přepisují stará nastavení novými výchozími hodnotami. Jako prevenci můžete zkusit zazálohovat všechny skryté soubory a adresáře (tzv. tečkové soubory) z uživatelských adresářů, což pomůže při případné obnově.
Instalační procedura musí být vykonána s privilegii superuživatele. Je
tedy nutné buďto se přihlásit jako uživatel root
,
nebo nabýt jeho práv prostřednictvím programů su
nebo sudo.
Verze glibc
v Lennym
nepodporuje jádra starší než 2.6.8
a na některých
architekturách mohou být požadavky ještě přísnější. Důrazně
doporučujeme před přechodem na Lennyho aktualizovat jádro
alespoň na verzi 2.6.18
. Tato verze je standardní
součástí Etche, stejně jako novější
2.6.24
.
Je dobré informovat uživatele o změnách, které v sytému vlivem aktualizace nastanou. Je to vhodné i v případě, že se uživatelé na váš systém přihlašují vzdáleně (pomocí ssh) a vůbec nemusí změny během aktualizace systému postřehnout.
Pokud chcete systém aktualizovat obzvlášť bezpečně, zazálohujte nebo
odpojte před aktualizací oblast pro domovské adresáře
(/home
).
Při přechodu na Lennyho se nejspíše aktualizuje jádro, takže bude vyžadován restart systému. Ten se typicky provádí po skončení přechodu.
Kvůli mnoha změnám, které se v jádře udály mezi Etchem a Lennym v oblasti ovladačů, rozpoznávání hardwaru a pojmenování a uspořádání zařízení, zde existuje opravdové riziko, že po aktualizaci při restartu systému zaznamenáte problémy. Mnoho potenciálních změn je zachyceno v této a následujících kapitolách.
Z tohoto pohledu dává smysl připravit záchrannou cestu, pomocí které budete moci systém obnovit v případě, že se nepodaří následný restart, resp. že se u vzdálených systémů nepodaří nahodit síťování.
Při vzdálené aktualizaci přes ssh se doporučuje mít záložní plán (alias konzoli na sériové lince) pro případ, že se něco nepovede. Je totiž jistá šance, že se po aktualizaci jádra a následném restartu změní jména některých zařízení (viz část 4.6.2 – „Změna ve výčtu zařízení“) a bude nutné opravit konfiguraci přes lokální konzoli. To stejné platí pro případ, že počítač omylem během aktualizace restartujete.
Snad každého napadne zkusit znovu restartovat s původním jádrem. Z mnoha důvodů, které jsou porůznu roztroušeny v těchto poznámkách, není zaručeno, že se to povede.
Pokud staré jádro selže, musíte nalézt alternativní způsob, jak zavést
svůj systém, abyste jej mohli následně opravit. Jednou z možností je
použití speciálního záchranného obrazu, nebo nějakého linuxového live
CD. Po zavedení náhradního systému byste měli být schopni připojit
svůj kořenový souborový systém a chroot
ovat se do
něj, což vám umožní prozkoumání a opravení problému.
Jinou možností je použití záchranného režimu instalačního systému Lennyho. Výhodou použití instalačního systému je to, že si z mnoha různých instalačních metod můžete vybrat tu, která se pro vaši situaci hodí nejvíce. Více informací naleznete v osmé kapitole instalační příručky a v Debian Installer FAQ.
initramfs-tools
přidávají do
vytvářeného initrd malý shell[2], který se dá použít pro
ladění. Jestliže se například nepovede připojit kořenový souborový
systém, budete vhozeni do tohoto ladicího shellu, který obsahuje
základní příkazy, které umožní vysledovat problém a v lepším případě
jej i opravit.
Mezi základní věci, které byste měli zkontrolovat, patří: přítomnost
správných souborů zařízení v /dev
; které moduly
jsou zavedeny (cat /proc/modules
); výstup
dmesg ohledně chyb při nahrávání ovladačů. Výstup
dmesg také prozradí, které soubory zařízení byly
přiřazeny kterým diskům; to byste měli porovnat proti výstupu příkazu
echo $ROOT
, čímž se ujistíte, zda se kořenový
souborový systém nachází na očekávaném zařízení.
Podaří-li se vám problém opravit, příkazem exit
ukončete ladicí shell a zavádění bude pokračovat v místě, kde bylo
přerušeno. Následně byste měli opravit příčinu problému a znovu
vygenerovat initrd, aby již příští zavádění neselhalo.
Aktualizaci distribuce je možné provést lokálně z textové virtuální konzoly (nebo z přímo napojeného sériového terminálu), nebo vzdáleně pomocí ssh spojení.
Jako další pojistku doporučujeme instalovat ve virtuální konzoli programu screen, který umožňuje bezpečné odpojení a nové připojení ke stávajícímu sezení. Díky tomu zajistí nepřerušený proces aktualizace i v případech, kde se vám rozpadne spojení.
![]() | Důležité |
---|---|
Během aktualizace systému byste neměli používat služby telnet, rlogin, ani rsh. Rovněž byste systém neměli aktualizovat ze sezení spravovaného programem xdm běžícím na témže systému. To platí i pro varianty wdm, gdm a kdm, protože tyto služby mohou být během aktualizace přerušeny. Přerušení během aktualizace systému je samozřejmě problematické. V horším případě může vyústit až do nedostupného a nekonzistentně nainstalovaného systému. |
Uživatelé používající zavaděč LILO by měli vědět,
že initramfs-tools
nyní ve
výchozím nastavení vytváří initramfs větší, než jaký
LILO dokáže zpracovat. Těmto uživatelům
doporučujeme přejít na zavaděč
grub
, nebo upravit soubor
/etc/initramfs-tools/initramfs.conf
a změnit
řádku
MODULES=most
na
MODULES=dep
.
Nevýhoda druhého přístupu je v tom, že
initramfs-tools
do initramfs
nahraje pouze moduly, které jsou vyžadovány pro konkrétní hardware, na
kterém je initramfs-tools
spuštěn. Pokud potřebujete pomocí tohoto initramfs zavádět i stroje s
jinou hardwarovou konfigurací, měli byste ponechat nastavení na
MODULES=most
a přejít na jiný zavaděč, než je LILO.
Aktualizační proces popsaný v této kapitole byl navržen pro přechod z „čistého“ systému Etch bez balíků třetích stran. Jestliže máte takové balíky nainstalovány, je rozumné je dočasně odinstalovat, což zvýší spolehlivost aktualizace.
Také se předpokládá, že byl systém aktualizován na poslední verzi Etche. Pokud si nejste jisti, následujte pokynů v A.1 – „Aktualizace systému Etch“.
V některých případech se může stát, že pokud byly balíky instalovány pomocí apt-get místo aptitude, aptitude to občas zmate a označí je k odstranění, protože si myslí, že je nikdo nepoužívá. Obecně byste se měli přesvědčit, že je systém před velkou aktualizací plně aktualizovaný a „čistý“.
Proto je potřeba ověřit, zda se ve správci balíků
aptitude nevyskytují nějaké naplánované akce. Pokud
totiž existují balíky naplánované k odstranění, může to negativně
ovlivnit průběh aktualizace. Mějte prosím na paměti, že tento postup
je možný pouze v případě, pokud váš sources.list
ukazuje stále na etch a ne na
stable nebo lenny;
více viz A.2 – „Kontrola zdrojů balíků“.
Spusťte tedy aptitude v interaktivním režimu a stiskněte g. Pokud se zobrazí nějaké naplánované akce, měli byste je zkontrolovat a buď je provést, nebo vrátit zpět. Jestliže žádné akce naplánovány nebyly, zobrazí se hláška „Žádné balíky nejsou označeny k instalaci, aktualizaci nebo odstranění“.
Pokud máte nastaven APT, aby instaloval vybrané (vypíchnuté) balíky z
jiné, než stabilní distribuce (např. testovací), budete možná muset
změnit pravidla pro vypichování (v souboru
/etc/apt/preferences
) tak, abyste povolili
aktualizace balíků na nové verze balíků ve stabilní verzi. Podrobnosti
o vypichování balíků naleznete v apt_preferences(5).
Nehledě na metodu aktualizace systému se nejdříve doporučuje zkontrolovat stav všech balíků a prověřit, jestli jsou všechny balíky schopny aktualizace. Pomocí následujícího příkazu je možné vypsat seznam balíků, jenž mají buďto status Half-Installed, Failed-Config, nebo jsou v jiném chybovém stavu.
#
dpkg --audit
Stav všech balíků lze prohlédnout rovněž pomocí programu dselect, aptitude, nebo příkazem
#
dpkg -l | pager
nebo
#
dpkg --get-selections "*" > ~/curr-pkgs.txt
Doporučuje se, abyste před aktualizací odstranili u balíků status podržení v aktuálním stavu („on hold“). Pokud bude mít kterýkoliv z významných balíků nastaven tento příznak, nebude jej možné aktualizovat a tím pádem celý proces skončí neúspěchem.
aptitude používá pro označení balíků v podrženém stavu odlišný způsob než apt-get a dselect. Balíky s příznakem „on hold“ lze pro aptitude zobrazit příkazem
#
aptitude search "~ahold" | grep "^.h"
Chcete-li vypsat podržené balíky pro apt-get, použijte
#
dpkg --get-selections | grep hold
Pokud v systému udržujete vlastní změněné balíky, to jest balíky vzniklé změnou a překladem standardního balíku z distribuce, měli byste jej označit příznakem „on hold“. Tímto preventivním opatřením zajistíte jeho setrvání v aktuálním stavu -- novější balík z distribuce jej nenahradí.
Příznak „on hold“ můžete nastavit pro aptitude příkazem
#
aptitude hold
balík
Příznak odeberete analogicky, stačí nahradit hold
za unhold
.
V této fázi je lepší se přesvědčit, že
sources.list
stále ukazuje na předchozí stabilní
verzi pro případ, že byste potřebovali něco spravit. Viz část
A.2 – „Kontrola zdrojů balíků“.
Jestliže máte ve svém souboru /etc/apt/sources.list
uveden odkaz na proposed-updates
, dočasně jej před
aktualizací zakomentujete. Jedná se o preventivní opatření s cílem
snížit pravděpodobnost konfliktů mezi balíky.
Máte-li v systému nainstalované balíky odjinud než z Debianu, může se
stát, že budou kvůli konfliktům během aktualizace odstraněny. Pokud
jste je nainstalovali ze zdroje balíků
v /etc/apt/sources.list
, podívejte se, zda daný
archiv nabízí balíky sestavené pro Lennyho, a poté se změnou
zdrojů oficiálních balíků příslušně změňte i tyto zdrojové řádky.
Někteří uživatelé mohou mít neoficiální verze „novějších“ balíků, které jsou v Debianu obsaženy ve verzích běžně dostupných v distribuci Etch. Tyto balíky pravděpodobně způsobí konflikty mezi soubory[3]. Část 4.5.8 – „Možné problémy během aktualizace“ obsahuje některé informace o řešení těchto problémů.
backports.org
je polooficiální archiv, ve kterém
poskytují vývojáři Debian GNU/Linuxu novější verze balíků pro stabilní vydání.
Tyto balíky většinou pochází z „testovací“ větve Debian GNU/Linuxu
a jsou pouze znovu sestaveny tak, aby mohly fungovat ve stabilním vydání.
Protože jsou tyto balíky v zásadě identické s těmi z „testovací“ větve a liší se víceméně jen sníženým číslem verze, měl by být přechod z balíků backportovaných pro etch na skutečné balíky z lenny velmi jednoduchý. Věc komplikuje fakt, že některé konkrétní backporty se vždy berou z „nestabilní“ větve (bezpečnostní aktualizace, Firefox, jádro Linux, OpenOffice.org a X.Org).
Pokud nepoužíváte žádnou z těchto výjimek, můžete klidně pokračovat
dále. Jestliže některý ze zmíněných speciálních backportů používáte,
nastavte dočasně u všech balíků z Lennyho
Pin-Priority
(vizte apt_preferences(5))
na hodnotu 1001
.
Více naleznete v
backports FAQ.
Abyste aptitude zabránili v odstranění některých balíků, které byly nainstalovány kvůli závislostem, musíte u nich zrušit příznak, že byly instalované automaticky. U desktopových instalací to zahrnuje OpenOffice.org a Vim:
#
aptitude unmarkauto openoffice.org vim
a také jádro 2.6, pokud jste jej instalovali pomocí metabalíku:
#
aptitude unmarkauto $(dpkg-query -W 'linux-image-2.6.*' | cut -f1)
![]() | Poznámka |
---|---|
Seznam balíků, které jsou v aptitude označené jako instalované automaticky, můžete zjistit příkazem:
|
Před zahájením aktualizace systému musíte nastavit konfigurační soubor
se zdroji pro apt
(/etc/apt/sources.list
).
apt
při aktualizaci či
instalaci uvažuje pouze balíky, které může nalézt prostřednictvím
zdrojů uvedených v konfiguračním souboru a začínajících
na „deb
“. Instalován je balík s
nejvyšší dostupnou verzí, přitom zdroje uvedené na předcházejících
řádcích mají vždy vyšší prioritu než jejich následníci. (Prakticky lze
v souboru uvést nejdříve například zdroje z lokálního pevného disku,
dále CD-ROM a na poslední místo uvést zdroje
z vnější počítačové sítě.)
![]() | Tip |
---|---|
Pro DVD a CD budete možná muset
nastavit výjimku v ověřování GPG podpisů. Pokud se
již v souboru APT::Authentication::TrustCDROM "true"; Poznámka: toto nefunguje s obrazy DVD/CD. |
Vydání může být odkazováno svým kódovým jménem (např.
etch
, lenny
)
nebo svým stavovým jménem (tj. oldstable
,
stable
, testing
,
unstable
). Odkazování na vydání jeho kódovým jménem
má tu výhodu, že nikdy nebudete překvapeni novou verzí a proto je to
doporučený postup. To ovšem také znamená, že budete muset sledovat
ohlášení o nové verzi sami. Použijete-li stavové jméno, poznáte novu
verzi podle toho, že okamžitě po vydání vám najednou bude k dispozici
spousty aktualizací.
Výchozí nastavení obsahuje údaje pro instalaci z našich hlavních
archivů v Internetu, to však můžete lehce změnit. Po úpravě souboru
/etc/apt/sources.list
je možné používat i jiné
zdroje, především archivy, které jsou k vám na síti blíže a budou mít
rychlejší odezvu a větší přenosové rychlosti.
Adresy FTP a HTTP archivů Debianu je možné najít na http://www.debian.org/distrib/ftplist (hledejte část „list of Debian mirrors“). HTTP zrcadla bývají obvykle rychlejší než FTP zrcadla.
Předpokládejme například, že váš nejbližší archiv je
http://mirrors.kernel.org
. Při jeho prohledávání
pomocí WWW prohlížeče nebo pomocí FTP klienta jste zjistili, že hlavní
adresáře jsou:
http://mirrors.kernel.org/debian/dists/lenny/main/binary-i386/... http://mirrors.kernel.org/debian/dists/lenny/contrib/binary-i386/...
Pokud se rozhodnete používat tento archiv, přidejte do souboru
sources.list
následující řádek:
deb http://mirrors.kernel.org/debian lenny main contrib
Podadresář „dists
“ je do cesty přidán
implicitně a argumenty za názvem distribuce jsou určeny pro rozšíření
takto specifikované cesty do několika adresářů.
Poté, co do souboru sources.list
přidáte nové
zdroje balíků, zakomentujte předchozí údaje. To jest na začátek všech
řádků začínajících „deb
“ vložte symbol
hash (#
).
Místo používání FTP nebo HTTP zrcadel budete možná chtít použít
lokální archiv, a upravit soubor
/etc/apt/sources.list
pro použití zrcadla na
lokálním disku (nebo třeba na souborovém systému exportovanému pomocí
NFS).
Předpokládejme, že vaše balíky jsou například v adresáři
/var/ftp/debian/
a mají následující hlavní
adresáře:
/var/ftp/debian/dists/lenny/main/binary-i386/... /var/ftp/debian/dists/lenny/contrib/binary-i386/...
Do souboru sources.list
je nutné přidat
následující řádek:
deb file:/var/ftp/debian lenny main contrib
Podadresář dists
je do cesty přidán implicitně a
argumenty za názvem distribuce jsou určeny pro rozšíření takto
specifikované cesty do několika adresářů.
Poté co do souboru sources.list
přidáte nové
zdroje balíků, zakomentujte předchozí údaje. To jest na začátek všech
řádků začínajících „deb
“ vložte symbol
hash (#
).
Pokud chcete používat výhradně sadu CD,
zakomentujte v souboru /etc/apt/sources.list
existující řádky začínající „deb
“ tím,
že na jejich začátek vložíte znak hash (#
).
Přesvědčte se, že je ve vašem souboru /etc/fstab
řádek umožňující připojit CD-ROM mechaniku na adresář
/cdrom
(pro metodu apt-cdrom
je nutné mít adresář pro připojení CD-ROM právě
/cdrom
). Pokud je vaše CD-ROM mechanika například
/dev/hdc
, měl by soubor
/etc/fstab
obsahovat obdobný řádek:
/dev/hdc /cdrom auto defaults,noauto,ro 0 0
Ve čtvrtém sloupci nesmí být mezi slovy
defaults,noauto,ro
žádné mezery.
Pokud chcete ověřit funkčnost, vložte do mechaniky CD a spusťte
#
mount /cdrom
# připojí CD do adresáře#
ls -alF /cdrom
# vypíše obsah CD#
umount /cdrom
# odpojí CD
Dále spusťte:
#
apt-cdrom add
pro každé binární CD z vaší sady debianích CD. Tím se přidají data o každém médiu do vaší APT databáze.
Doporučený nástroj pro přechod na vyšší verzi Debian GNU/Linuxu se nazývá aptitude. Její výhoda oproti přímému použití apt-get spočívá v lepším algoritmu řešení závislostí mezi balíky.
Nezapomeňte připojit všechny potřebné diskové oblasti (zejména oblasti
s kořenovým souborovým systémem a adresářem /usr
)
pro čtení i zápis (read-write) příkazem:
#
mount -o remount,rw /
adresář
Dále byste se měli (raději dvakrát) přesvědčit, že zdroje
v /etc/apt/sources.list
ukazují na
„lenny
“ nebo na
„stable
“. Neměl by tam být žádný
záznam ukazující na etch.
![]() | Poznámka |
---|---|
Záznamy pro CD většinou ukazují na
„ |
Důrazně doporučujeme zaznamenat průběh aktualizace systému pomocí programu /usr/bin/script. Jestliže se objeví nějaký problém, minimálně budete mít záznam o tom, co se stalo. Navíc po dokončení instalace můžete podat přesné hlášení chyby (bug report). Záznam je možné zahájit příkazem:
#
script -t 2>~/upgrade-lenny.time -a ~/upgrade-lenny.script
nebo podobným. Poznamenejme, že není vhodné umísťovat soubor se
záznamem do dočasného adresáře jako je /tmp
nebo /var/tmp
. Obsah těchto adresářů může být
během aktualizace nebo restartu systému smazán.
Typescript vám také pomůže najít informaci, která už z obrazovky dávno
zmizela. Přepněte se na druhou konzoli (klávesami
Alt+F2)
a po přihlášení si můžete soubor prohlížet příkazem less -R
~root/upgrade-lenny.script
.
Po dokončení aktualizace je rozumné script zastavit
příkazem exit
na příkazovém řádku.
Jestliže jste při zaznamenávání použili přepínač -t, můžete celé sezení přehrát programem scriptreplay:
#
scriptreplay ~/upgrade-lenny.time ~/upgrade-lenny.script
Nejprve je nutno stáhnout soubor, který obsahuje výčet balíků patřících do nové verze Debianu. To provedete příkazem:
#
aptitude update
První spuštění příkazu může vypsat nějaká varování ohledně dostupnosti některých zdrojů. Tato varování jsou neškodná a při příštím spuštění se již nezobrazí.
Před kompletní aktualizací svého systému podle kapitoly
4.5.7 – „Aktualizace zbytku systému“ se ujistěte, že máte na disku
dostatek volného místa. Nejprve budete potřebovat dostatek volného
místa na oblasti, která hostí /var/
, protože sem
se dočasně stáhnou balíky, které se pak budou instalovat. (Balíky se
stahují do /var/cache/apt/archives/partial
a po
úspěšném stažení se přesunou o adresář výš.) Poté budete potřebovat
další místo v oblastech, do kterých se budou aktualizované a nové
balíky instalovat. Aktualizované balíky mohou obsahovat větší programy
nebo více dat, nové balíky mohou být vyžadovány kvůli splnění nových
závislostí. Pokud váš systém nemá dostatek volného místa, může
aktualizace skončit někde v půli cesty a nemusí být snadné se dostat
zpět do použitelného stavu.
aptitude i
apt
poskytují podrobné
informace o místu nutném k instalaci. Ještě před instalací můžete
získat odhad vyžadovaného místa spuštěním:
#
aptitude -y -s -f --with-recommends dist-upgrade
[ ... ]XXX aktualizováno, XXX nově instalováno, XXX k odstranění a XXX neaktualizováno. Potřebuji stáhnout xx.xB/yyyMB archivů. Po rozbalení bude použito zzzMB. Teoreticky by stáhl/nainstaloval/odstranil balíky.
![]() | Poznámka |
---|---|
Jak je popsáno dále, spuštění tohoto příkazu na začátku aktualizace může skončit chybou. V takovém případě musíte s příkazem pro zjištění potřebného místa počkat až provedete minimální aktualizaci (4.5.6 – „Minimální aktualizace systému“) a aktualizujete jádro. |
Nemáte-li k aktualizaci dostatek místa, nejprve nějaké uvolněte. Můžete:
Odstranit soubory s balíky, které byly staženy do vyrovnávací paměti
(/var/cache/apt/archive
) příkazem
apt-get clean nebo aptitude clean.
Odstranit staré balíky, které již nepoužíváte. Máte-li nainstalován
popularity-contest
, můžete
vypsat největší nepoužívané balíky příkazem
popcon-largest-unused. S vyhledáním nepotřebných
balíků pomohou i programy deborphan nebo
debfoster (viz 4.10 – „Zastaralé balíky“). Jinou
možností je spustit aptitude v celoobrazovkovém
režimu, kde naleznete staré balíky ve větvi „Zastaralé a lokálně
vytvořené balíky“.
Odstranit balíky, které zabírají zbytečně mnoho místa a pro které
nemáte momentální uplatnění (vždycky si je můžete znovu
doinstalovat). Seznam nejobjemnějších balíků můžete získat programem
dpigs (součástí balíku
debian-goodies
)
nebo wajig (spuštěním wajig size
).
Velké nepoužívané balíky vám může pomoci odhalit také
aptitude
. Spusťte ji v
celoobrazovkovém režimu a zvolte nabídku →
(tato nabídka existuje pouze ve verzi pro Lennyho a novější), stiskněte
l a zadejte ~i
, potvrďte klávesou
Enter, stiskněte S a zadejte
~installsize
. Tímto získáte seznam instalovaných
balíků řazený podle velikosti.
Odstranit ze systému nepoužívané překlady a lokalizační soubory. S tím
vám pomůže balík localepurge
,
který se dá nastavit tak, aby v systému ponechal pouze několik
vybraných locales. Tímto se zredukuje použité místo v adresáři
/usr/share/locale
.
Odstranit nebo dočasně přesunout na jiný systém systémové logy
ve /var/log/
Použijte dočasný /var/cache/apt/archives
: Protože
tento adresář slouží jako dočasná vyrovnávací paměť, která je skutečně
potřeba jen po čas instalace, můžete dočasně využít kapacitu odjinud
(USB klíčenka, dočasný pevný disk, souborový systém
obvykle používaný pro něco jiného, ...)
![]() | Poznámka |
---|---|
Nepoužívejte souborový systém připojený přes NFS, protože se může stát, že se během instalace spojení přeruší. |
Například pokud máte USB zařízení (disk, klíčenku)
přípojené na /media/usbkey
, pak:
Odstraňte balíky stažené při dřívějších instalacích:
#
apt-get clean
Zkopírujte adresář /var/cache/apt/archives
na
USB zařízení:
#
cp -ax /var/cache/apt/archives /media/usbkey/
Připojte dočasný adresář z USB zařízení namísto stávající vyrovnávací paměti balíků:
#
mount --bind /media/usbkey/archives /var/cache/apt/archives
Po přechodu na Lennyho obnovte původní adresář
/var/cache/apt/archives
:
#
umount /media/usbkey/archives
Odstraňte dočasné balíky z /media/usbkey/archives
.
Obdobný trik můžete provést s libovolným souborovým systémem, který máte v počítači k dispozici.
Pro bezpečné odstranění balíků se doporučuje přepnout
sources.list
zpátky na etch, jak
popisuje část A.2 – „Kontrola zdrojů balíků“.
Několik hlášení o přechodu na Lennyho ukázalo, že verze
apt
a
aptitude
dostupné v
Etchi často nezvládají přechod na Lenny. V
Lennym se apt
mnohem
lépe vypořádá s komplexními řetězy balíků vyžadujících okamžitou
konfiguraci a aptitude
je zase
o něco chytřejší při hledání řešení pro porušené závislosti. Protože
se obě vlastnosti během přechodu na Lennyho využívají velice
intenzivně, je nutno nejprve aktualizovat tyto dva balíky. Pro
aktualizaci apt
spusťte:
#
apt-get install apt
a následně pro aptitude
(pokud
ji máte nainstalovanou):
#
aptitude install aptitude
Tento krok automaticky aktualizuje balíky
libc6
a
locales
a doinstaluje podpůrné
knihovny pro SELinux
(libselinux1
). V tento okamžik
budou restartovány některé běžící služby, mimo jiné
i xdm, gdm
a kdm, takže probíhající X sezení budou odpojena.
aptitude
si udržuje seznam
balíků, které byly nainstalovány automaticky (například jako
závislosti jiného balíku). V Lennym má tuto schopnost
i apt
.
Při prvním spuštění aptitude
z
Lennyho si aptitude
automaticky načte seznam automaticky instalovaných balíků a převede ho
do formátu vhodného pro apt
.
Doporučujeme tedy v tento okamžik spustit novou
aptitude
například příkazem
#
aptitude search "?false"
který hledá neexistující balík.
Protože některé klíčové balíky mezi sebou ve verzích pro
Etch a Lenny kolidují, jednoduché spuštění
aptitude dist-upgrade
by často odstranilo mnoho
balíků, které si nejspíš chcete ponechat. Doporučujeme přechod
uskutečnit dvoufázově. V první fázi se provede minimální aktualizace,
při které se vyřeší zmíněné konflikty a ve druhé fázi potom následuje
plný dist-upgrade
.
Nejprve spusťte
#
aptitude safe-upgrade
Tím se aktualizují ty balíky, které mohou být aktualizovány bez instalace nebo odstranění jiných balíků.
Další krok závisí na typu nainstalovaných balíků. Tyto poznámky se snaží poradit, kterou metodu byste měli použít, ale v případě pochybností vám doporučujeme u každé metody před pokračováním podrobně prozkoumat, které balíky jsou naplánovány k odstranění.
Mezi balíky, u kterých se očekává odstranění, patří
base-config
,
hotplug
,
xlibs
,
netkit-inetd
,
python2.3
,
xfree86-common
a
xserver-common
.
Více informací o balících zastaralých v Lennym obsahuje
kapitola 4.10 – „Zastaralé balíky“.
Nyní byste měli být plně připraveni aktualizovat systém na novější verzi. Příkaz
#
aptitude dist-upgrade
zahájí kompletní aktualizaci systému, to jest nainstaluje nejnovější verze dostupných balíků a vyřeší všechny možné problémy mezi balíky z rozdílných distribucí. Pokud to bude nezbytné, nainstalují se další nové balíky (zpravidla nové verze knihoven nebo přejmenované balíky), a odstraní se konfliktní starší balíky.
Pokud aktualizujete systém ze sady CD nebo DVD, budete během aktualizace na různých místech vybídnuti ke vložení konkrétního disku. Je možné, že budete muset vložit jeden disk i několikrát, protože některé balíky závisejí na jiných, jenž jsou uloženy na jiném médiu.
Nové balíky, které nemohou být instalovány beze změny instalačního
stavu jiných balíků budou ponechány ve svých původních verzích
(zobrazováno jako „přidržení“). To můžete vyřešit
programem aptitude, kde tyto balíky vyberete k
instalaci, nebo můžete zkusit příkaz
aptitude -f install
.
balík
Pokud aptitude, apt-get nebo dpkg selže s chybou
E: Dynamic MMap ran out of room
znamená to, že máte malou cache paměť. Problém můžete obejít tak, že
v /etc/apt/sources.list
zakomentujete řádky které
nepoužíváte, nebo zvýšíte velikost vyrovnávací paměti. Velikost
vyrovnávací paměti můžete zvýšit volbou
APT::Cache-Limit
v souboru
/etc/apt/apt.conf
. Následující příklad nastaví
dostatečně velkou hodnotu:
#
echo 'APT::Cache-Limit "12500000";' >> /etc/apt/apt.conf
To ovšem předpokládá, že jste tuto proměnnou v daném souboru ještě nenastavovali.
Někdy je potřebné pro APT nastavit parametr
APT::Force-LoopBreak
. Tím se umožní dočasné smazání
nezbytného balíku způsobené cyklem Koliduje/Předzávisí.
aptitude vás o podobné situaci informuje a přeruší
aktualizaci celého systému. V takovém případě spusťte
aptitude s parametrem
-o APT::Force-LoopBreak=1
.
Je možné, že systém závislostí mezi balíky bude natolik poškozen, že si situace vyžádá ruční opravu. To obvykle znamená spustit aptitude nebo spustit příkaz
#
dpkg --remove
jméno_balíku
pro odstranění pochybných balíků, nebo
#
aptitude -f install
#
dpkg --configure --pending
V extrémním případě možná budete muset znovu vynutit reinstalaci balíku příkazem
#
dpkg --install
/cesta/k/balíku.deb
Jestliže jste instalovali neoficiální backportované verze balíků, může nastat konflikt souborů:
Rozbaluji<balík-foo>
(z<balík-foo-soubor>
) ... dpkg: chyba při zpracování<balík-foo>
(--install): zkouším přepsat soubor<název-souboru>
, který je také v balíku<balík-bar>
dpkg-deb: podproces paste byl zabit signálem (Broken pipe) Při zpracování nastaly chyby:<balík-foo>
Konflikt můžete zkusit vyřešit tak, že násilně odstraníte balík zmíněný na posledním řádku chybové hlášky:
#
dpkg -r --force-depends
balík
Po těchto krocích byste měli být opět schopni pokračovat v aktualizaci systému pomocí dříve popsané metody pomocí aptitude.
Během aktualizace budete vyzváni ke konfiguraci nebo opětovnému
nastavení některých balíků. Pokud budete vyzváni, zdali nahradit
nějaký soubor v adresářích /etc/init.d
,
/etc/terminfo
nebo soubor
/etc/manpath.config
, měli byste odpovědět kladně,
abyste zaručili konzistenci systému. Ke starším verzím souborů se vždy
můžete vrátit, jelikož budou uloženy s příponou
.dpkg-old
.
Pokud si nevíte rady, poznamenejte si jméno balíku nebo souboru a nechte jeho konfiguraci na později. Můžete si pak prohlédnout výstup z programu script a podívat se na údaje, které byly na obrazovce během aktualizace systému.
Tato část vysvětluje, jak aktualizovat jádro a upozorňuje na
potenciální problémy s tím spojené. Jádro můžete nainstalovat buď
pomocí jednoho z připravených balíků
linux-image-*
, nebo kompilací
upraveného jádra ze zdrojových textů.
Mnoho informací v této části je založeno na předpokladu, že použijete
jedno z modulárních jader dodávaných s Debianem společně s balíky
initramfs-tools
a
udev
. Použijete-li vlastní
jádro, které nevyžaduje initrd, nebo pokud zvolíte jiný generátor
initrd, je možné, že některé informace nebudou relevantní.
Při přechodu z Etche na Lennyho, je důrazně
doporučeno nainstalovat nový metabalík
linux-image-2.6-*
. Je možné,
že se tento balík nainstaluje rovnou během dist-upgrade, což můžete
ověřit příkazem:
#
dpkg -l "linux-image*" | grep ^ii
Nevidíte-li žádný výstup, znamená to, že musíte
nainstalovat balík linux-image
ručně. Seznam dostupných metabalíků získáte příkazem:
#
apt-cache search linux-image-2.6- | grep -v transition
Nejste-li si jisti, který balík vybrat, zavolejte
uname -r
a hledejte balík s podobným
jménem. Například pokud se vypíše
„2.6.18-6-686
“, doporučujeme
nainstalovat linux-image-2.6-686
.
(Varianta jádra „k7“ již neexistuje. Pokud ji ještě
používáte, měli byste přejít na variantu „686“.) Ve
výběru nejlepšího jádra vám může pomoci i dlouhý popis každého
balíku. Například:
#
apt-cache show linux-image-2.6-686
Zvolené jádro pak nainstalujete jako každý jiný balík příkazem aptitude install. Aby se jádro zavedlo, musíte při nejbližší vhodné příležitosti restartovat počítač.
Dobrodružnějším uživatelům nabízíme možnost přeložit si vlastní jádro
přímo ze zdrojových balíků v distribuci Debian GNU/Linux. K tomu je potřeba
nainstalovat balík
kernel-package
a přečíst si
dokumentaci v souboru
/usr/share/doc/kernel-package
.
Pokud je to možné, bývá lepší aktualizovat jádro odděleně od hlavního
dist-upgrade
, protože se minimalizuje doba, kdy se
systém nachází v dočasně nezaveditelném stavu. Pamatujte, že
aktualizace jádra by měla následovat až po minimální aktualizaci
popsané v 4.5.6 – „Minimální aktualizace systému“.
Na rozdíl od předchozích vydání obsahuje Lenny robustnější mechanismus pro rozpoznávání hardwaru. Protože to může ovlivnit pořadí, ve kterém jsou zařízení v systému objevena, ovlivní se pořadí, ve kterém jsou zařízením přiřazeny názvy. Například pokud používáte dvě síťové karty, které jsou obsluhovány různými ovladači, mohou být názvy karet (eth0 a eth1) prohozeny. Nový systém také znamená, že pokud například vyměníte síťové karty v běžícím systému Lenny, nová karta dostane nový název.
U síťových zařízení se můžete vyhnout změnám názvů použitím pravidel
systému udev
v souboru
/etc/udev/rules.d/70-persistent-net.rules
[4]. Jinou možností je použití
nástroje ifrename, který během zavádění sváže
fyzická zařízení s konkrétními názvy. Více informací naleznete
v ifrename(8) a iftab(5). Nástroje ifrename a
udev
by se neměly používat
současně.
U úložných zařízení můžete předejít přejmenování tím, že použijete
initramfs-tools
a nastavíte je
tak, aby nahrávaly moduly k úložným zařízením ve stejném pořadí, v
jakém se moduly nahrávaly dosud. Současné pořadí zjistíte pohledem do
výpisu programu lsmod. lsmod
vypisuje moduly v obráceném pořadí, než byly nahrány. To znamená, že
modul úplně nahoře byl nahrán jako poslední. Fungovat to ovšem bude
jen pro zařízení, která jsou vždy iterována ve stabilním pořadí
(např. PCI zařízení). Pořadí je též ovlivněno, pokud odstraňujete a
nahráváte moduly ručně.
Mějte na paměti, že vaše jádro může mít některé ovladače zakompilované
staticky, a ty se ve výpisu lsmod neobjevují. Názvy
některých ovladačů byste mohli vypátrat
ve /var/log/kern.log
, nebo ve výpisu programu
dmesg.
Zjištěné názvy modulů pak přidejte
do /etc/initramfs-tools/modules
v pořadí, ve
kterém chcete, aby se moduly při zavádění nahrály.
Poté budete muset přegenerovat obraz(y) initramfs spuštěním
příkazu update-initramfs -u -k all
.
Až kompletně přejdete na jádro a
udev
z Lennyho, můžete
nastavit svůj systém tak, aby k diskům přistupoval přes aliasy, které
nezávisí na pořadí nahrávání ovladačů. Tyto aliasy naleznete v
adresářové struktuře /dev/disk/
.
Jestliže je pro zavádění systému použit initrd vytvořený pomocí
initramfs-tools
, mohou se v
některých případech vytvořit soubory zařízení příliš pozdě na to, aby
na ně mohly zaváděcí skripty zareagovat.
Obvyklé příznaky jsou, že se kořenový souborový systém nepodaří
připojit, že jste následně vhozeni do ladicího shellu a když zpětně
zkoumáte adresář /dev
, vidíte v něm všechna
potřebná zařízení. Takové chování bylo pozorováno na systémech, kde
byl kořenový souborový systém na USB disku nebo
na RAID (obzvláště při použití zavaděče
LILO).
Problém se dá obejít zaváděcím parametrem
rootdelay=
. Je možné,
že hodnotu v sekundách bude třeba upravit.
9
Jakmile je aptitude dist-upgrade
hotova, formální
aktualizace systému je ukončena. Stále však existuje řada věcí, které
byste měli vyřešit ještě před příštím restartem.
Používáte-li jako svůj zavaděč
lilo
(což byl výchozí zavaděč
předchozích verzí), doporučujeme ho po aktualizaci znovu
spustit/nainstalovat:
#
/sbin/lilo
Toto je potřeba i v případě, že jste neaktualizovali jádro, protože během instalace nové verze lila se změní umístění druhé části zavaděče a tímto zajistíte načtení správné adresy.
Také si prohlédněte obsah souboru
/etc/kernel-img.conf
a ujistěte se, že v něm máte
volbu do_bootloader = Yes
. To zabezpečí, aby se
zavaděč nainstaloval po každé aktualizaci jádra.
Zaznamenáte-li při spuštění lilo nějaké problémy,
zkontrolujte symbolické odkazy vmlinuz
a initrd
v /
a také možné
nesrovnalosti v souboru /etc/lilo.conf
.
Zapomenete-li spustit lilo před restartem, je
možné, že zavádění selže a místo tradiční výzvy lila se při zavádění
zobrazí pouze písmena LI
[5].
4.1.4 – „Připravte si plán B“ naznačuje několik způsobů, jak to napravit.
Někteří uživatelé hlásili, že po přechodu na Lennyho a následném restartu systému nemohlo jádro najít kořenový souborový systém. Zavádění systému se zastavilo na hlášce
Waiting for root file system ...
a po několika sekundách se objevil prompt busyboxu.
Tento problém se může projevit v případech, kdy jádro uvede novou
generaci ovladačů pro IDE zařízení. Původní
konvence pojmenování IDE disků byla
hda
, hdb
,
hdc
, hdd
. Nové ovladače tyto
disky přejmenují na sda
, sdb
,
sdc
, sdd
. Problém se objeví v
okamžiku, kdy se při aktualizaci nevytvoří nový soubor
/boot/grub/menu.lst
, který by bral do úvahy toto
přejmenování. Během zavádění totiž předává Grub jádru název oblasti s
kořenovým souborovým systémem a kvůli jinému jménu ji jádro nenajde.
Pokud jste během přechodu na Lennyho na tento problém narazili, přeskočte na část 4.8.2 – „Jak se vypořádat s problémem po aktualizaci“. Chcete-li se tomuto problému vyhnout předem, čtěte dále.
Jak se vyhnout problému použitím neměnného identifikátoru. Existují dva základní postupy, jak označit kořenový souborový systém tak, aby se značka mezi restarty nezměnila. První pojmenuje souborový systém, druhý použije univerzální unikátní identifikátor (UUID). Oba způsoby jsou v Debianu dostupné od vydání Etche.
Každý způsob má svá pro a proti. Pojmenování souborového systému je čitelnější, ale může způsobit problémy, pokud se v počítači potkají více souborových systémů se stejným jménem. Použití UUID nevypadá nijak pěkně, ale je robustnější a pravděpodobnost, že se potkají dva stejné UUID, je téměř nulová.
V příkladech níže předpokládáme, že se kořenový souborový systém
nachází na oblasti /dev/hda6
, je naformátován
jako ext2 nebo ext3 a že v systému funguje
udev
.
Postup pro pojmenování souborového systému:
Pojmenujte kořenový souborový systém (jméno musí být kratší než 16
znaků) příkazem
e2label /dev/hda6 rootfilesys
Upravte soubor /boot/grub/menu.lst
a změňte řádek
# kopt=root=/dev/hda6 ro
na
# kopt=root=LABEL=rootfilesys
ro
![]() | Poznámka |
---|---|
Neodstraňujte znak |
Nechte aktualizovat řádky začínající na kernel
v
souboru menu.lst
spuštěním příkazu
update-grub.
Upravte soubor /etc/fstab
a změňte řádek, který
definuje připojení kořenového souborového systému
(/
), např:
/dev/hda6 / ext3 defaults,errors=remount-ro 0 1
na
LABEL=rootfilesys
/ ext3 defaults,errors=remount-ro 0 1
Stačí upravit první sloupec, zbytek řádku není v tomto okamžiku důležitý.
Postup pro použití UUID:
Nejprve zjistěte univerzální unikátní identifikátor kořenového souborového systému příkazem ls -l /dev/disk/by-uuid | grep hda6
Měli byste získat řádek podobný tomuto:
lrwxrwxrwx 1 root root 24 2008-09-25 08:16 d0dfcc8a-417a-41e3-ad2e-9736317f2d8a -> ../../hda6
UUID je jméno symbolického odkazu ukazujícího na
/dev/hda6
, tj. v tomto případě
d0dfcc8a-417a-41e3-ad2e-9736317f2d8a
.
![]() | Poznámka |
---|---|
UUID vaší oblasti bude odlišné. |
Upravte soubor /boot/grub/menu.lst
a změňte řádek
# kopt=root=/dev/hda6 ro
na
# kopt=root=UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8
ro
![]() | Poznámka |
---|---|
Neodstraňujte znak |
Nechte aktualizovat řádky začínající na kernel
v
souboru menu.lst
spuštěním příkazu
update-grub.
Upravte soubor /etc/fstab
a změňte řádek, který
definuje připojení kořenového souborového systému
(/
), např:
/dev/hda6 / ext3 defaults,errors=remount-ro 0 1
na
UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8
/ ext3 defaults,errors=remount-ro 0 1
Stačí upravit první sloupec, zbytek řádku není v tomto okamžiku důležitý.
Tento postup se dá použít v případě, že vám Grub nabídne menu pro výběr operačního systému, který chcete spustit. Pokud se takové menu neobjeví, zkuste ho zobrazit stisknutím klávesy Esc chvíli před zavedením jádra. Jestliže se menu nezobrazí, zkuste řešení popsaná v 4.8.2.2 – „Řešení 2“ nebo 4.8.2.3 – „Řešení 3“.
Menu Grubu označte záznam, který chcete zavést a stiskněte klávesu e pro úpravu záznamu. Zobrazí se něco jako
root (hd0,0) kernel /vmlinuz-2.6.26-1-686 root=/dev/hda6 ro initrd /initrd.img-2.6.26-1-686
Označte řádek začínající kernel
kernel /vmlinuz-2.6.26-1-686 root=/dev/hda6 ro
a opět stiskněte e. Nahraďte
hd
za
X
sd
(kde X
X
je písmeno, typicky a
,
b
, c
nebo d
,
závisí na vašem systému). v našem příkladu tedy:
kernel /vmlinuz-2.6.26-1-686 root=/dev/sda6 ro
Potvrďte úpravu klávesou Enter. Pokud vidíte ještě
nějaké řádky obsahující řetězec
hd
, změňte je dle
stejné logiky. Neměňte řádky
X
root (hd0,0)
. Po skončení všech úprav stiskněte
klávesu b a systém by měl nastartovat jako obvykle.
Po přihlášení do systému byste měli tento problém opravit trvale, takže přeskočte na 4.8.1 – „Jak se vyhnout problému dříve, než nastane“ a vyberte si některý z popsaných postupů.
Zaveďte Debian GNU/Linux z instalačního média (CD/DVD) a na zaváděcí výzvě vyberte záchranný režim. Postupujte stejně, jako byste instalovali nový systém (vyberte jazyk, umístění, klávesové rozložení, síť - je celkem jedno, jestli se nastavení povede, nebo ne, ...) a po chvíli byste měli být dotázáni, kterou oblast chcete použít jako kořenový souborový systém. Možnosti budou vypadat nějak 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
Pokud víte, která oblast obsahuje váš kořenový souborový systém, prostě ji vyberte. Jestliže si nejste jistí, jednoduše zkuste první z nich. Pokud se záchrannému režimu bude zdát, že tato oblast neobsahuje kořenový souborový systém, bude si stěžovat a nechá vás vybrat znovu. Pokračujte tak dlouho, až narazíte na tu správnou.
Po výběru oblasti si můžete vybrat z několika navrhovaných akcí. Zvolte spuštění shellu. Jestliže se zobrazí chybová hláška, možná jste nevybrali tu správnou oblast - vraťte se zpět a zkuste vybrat jinou.
Nyní byste měli mít přístup do svého kořenového souborového systému
(připojeného do /target
) jako uživatel
root
. Budete potřebovat přístup k obsahu adresářů
/boot
, /sbin
a /usr
, které by měly být dostupné jako
/target/boot
, /target/sbin
a
/target/usr
. Jestliže některé z těchto adresářů
připojujete z jiných oblastí, připojte je. (Jestliže nemáte tušení,
které oblasti použít, podívejte se
do /etc/fstab
.)
Přeskočte na 4.8.1 – „Jak se vyhnout problému dříve, než nastane“ a
použijte jedno z popisovaných řešení problému. Poté opusťte záchranný
shell příkazem exit
a z menu instalátoru zvolte
reboot
, aby nastartoval váš nový systém
(nezapomeňte vyjmout médium s instalačním systémem).
Zaveďte svou oblíbenou LiveCD distribuci, např. Debian Live, grml, Knoppix nebo Ubuntu Live.
Připojte oblast, která obsahuje adresář /boot
.
Pokud nevíte, která to je, podívejte se nejprve do výpisu programu
dmesg a zjistěte, pod jakým názvem je znám váš disk
(hda
, hdb
, hdc
,
hdd
nebo sda
,
sdb
, sdc
, sdd
,
...). Až to zjistíte, (předpokládejme nyní, že to je
sdb
), nechte si vypsat tabulku rozdělení disku
příkazem fdisk -l /dev/sdb
Nyní předpokládejme, že jste připojili správnou oblast (obsahující
adresář /boot
, resp. jeho obsah) do
/mnt
. Upravte soubor
/mnt/boot/grub/menu.lst
.
Najděte sekci podobnou této
## ## 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ý výskyt hda
, hdb
,
hdc
nebo hdd
odpovídajícím
sda
, sdb
,
sdc
nebo sdd
.
Neměňte řádky
root (hd0,0)
Restartujte systém, vyjměte LiveCD z mechaniky a měl by naběhnout nový systém.
Po přihlášení do systému byste měli tento problém opravit trvale, takže přeskočte na 4.8.1 – „Jak se vyhnout problému dříve, než nastane“ a vyberte si některý z popsaných postupů.
Po aktualizaci ještě zbývá, provést několik drobností, které vám později usnadní přechod na příští vydání.
Pokud byl nový jaderný metabalík přivlečen do systému jako závislost toho starého, bude mít příznak, že byl nainstalován automaticky. To byste měli napravit, aby náhodou aptitude nenapadlo, že se balík nepoužívá a že může být odstraněn:
#
aptitude unmarkauto $(dpkg-query -W 'linux-image-2.6-*' | cut -f1)
Odstraňte zastaralé a nepoužívané balíky, jak popisuje 4.10 – „Zastaralé balíky“. Také byste se měli podívat, které konfigurační soubory patří k těmto zastaralým balíkům a pokud je nepotřebujete, tak je ze systému odstraňte.
Se zahrnutím tisíců nových balíků bylo také vypuštěno více než dva tisíce starých balíků, jež byly součástí Etche. Přestože vám nic nebrání v používání těchto starých balíků, projekt Debian je již nebude podporovat a obvykle po jednom roce od vydání Lennyho[6] pro ně ukončí i vydávání bezpečnostních oprav. Zastaralé balíky doporučujeme co nejdříve nahradit vhodnými alternativami.
Důvodů, proč byly balíky z distribuce odstraněny, je několik. Buď byl vývoj programu svými autory ukončen, žádný vývojář Debianu již o správu balíku nejeví zájem, funkčnost programu byla překonána jiným softwarem (nebo novou verzí), nebo byl program shledán nevhodným pro vydání Lennyho, protože obsahuje závažné chyby. V posledním případě je možné, že balík stále naleznete v „nestabilní“ distribuci.
Zjištění, které balíky v aktuálním systému jsou zastaralé je velmi jednoduché, protože nástroje pro správu balíků se o vše postarají automaticky. V aptitude uvidíte tyto balíky v sekci „Zastaralé a lokálně vytvořené balíky“. dselect má podobnou schopnost, ale výpis se může lišit. Do kategorie zastaralých patří i balíky, které jste nainstalovali ručně, ovšem různé nástroje na to mají různý názor.
Pro hledání zastaralých balíků můžete použít i další nástroje
typu deborphan, debfoster
nebo cruft. Doporučujeme použít první
jmenovaný. Pozor na to, že ve výchozím nastavení hlásí
deborphan pouze nepoužívané balíky ze sekcí
„libs
“ a
„oldlibs
“. Před odstraněním balíků se
ještě podrobně podívejte na jejich popis a ujistěte se, že balík
opravdu nepotřebujete, protože při použití některých agresivních
parametrů může deborphan chybně označit i používané
balíky.
Další informace o tom, proč byl balík odstraněn, obvykle naleznete i v systému sledování chyb Debianu. Kromě hlášení o chybách ke konkrétním balíku se podívejte i na archiv chyb pseudobalíku ftp.debian.org.
Při přechodu od verze 4.0 (Etch) k verzi 5.0 (Lenny) bylo několik balíků rozděleno na větší počet menších balíků. V takových případech Lenny většinou poskytuje „falešné“ balíky, které se jmenují stejně jako balík v předchozí verzi Debianu, ovšem kromě závislostí na nově vzniklých balících nic užitečného neobsahují. „Falešné“ balíky se po úspěšném přechodu považují za zbytečné a většinou je můžete odstranit.
Většina (ale ne všechny) falešné balíky mají ve svém popisu jasně
napsáno, že se jedná o falešné balíky. S hledáním těchto balíků může
pomoci program deborphan s parametry
--guess
. Pamatujte, že některé falešné balíky je
lepší neodstraňovat, protože slouží ke sledování aktuálních verzí
programů.
[2] Tato vlastnost se dá
vypnout přidáním parametru panic=0
k ostatním
zaváděcím parametrům.
[3] Debianí systém správy balíků běžně neumožňuje, aby balík přepsal nebo odstranil soubor vlastněný jiným balíkem; minimálně pokud balík explicitně nenahrazuje původní balík.
[4] Pravidla v tomto souboru jsou vytvářena automaticky skriptem
/etc/udev/rules.d/75-persistent-net-generator.rules
.
Chcete-li zakázat perzistentní pojmenování síťových karet pomocí
systému udev
, můžete tento
symbolický odkaz smazat.
[5] Více se o chybových kódech lila dozvíte v The Linux Bootdisk HOWTO.
[6] Pokud mezitím vyjde další stabilní verze Debianu tak i dříve. Typicky jsou současně podporovány maximálně dvě stabilní verze.