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 Squeeze“. 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
/etc
, /var/lib/dpkg
,
/var/lib/apt/extended_states
a rovněž výstup
z dpkg --get-selections "*"
(uvozovky jsou
důležité). Používáte-li pro správu balíků aptitude,
je vhodné zazálohovat i /var/lib/aptitude/pkgstates
.
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.
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 Squeeze se aktualizuje jádro, takže bude vyžadován restart systému.
Pokud jsou s aktualizovanými balíky spojeny nějaké služby (třeba webový server), mohu být tyto služby během aktualizace pozastaveny po dobu, než se balíky nahradí za novou verzi a než proběhne jejich konfigurace.
Přesná doba výpadku služeb se bude lišit podle počtu aktualizovaných balíků a mimo jiné je také závislá na tom, jak rychle bude správce systému odpovídat na konfigurační otázky ostatních balíků (jestliže takové budou). Pokud necháte aktualizaci běžet bez dozoru a systém během ní bude vyžadovat odpověď na nějakou otázku, čas výpadku se samozřejmě prodlouží o dobu, než někdo přijde a odpoví[4].
Jestliže aktualizovaný systém poskytuje kritické nebo síťové služby[5], můžete zmenšit výpadek služeb tím, že nejprve provedete minimální aktualizaci systému podle 4.4.4 – „Minimální aktualizace systému“ následovanou aktualizací jádra a restartem (viz 4.4.5 – „Aktualizace jádra a udev“). Poté aktualizujte kritické služby a teprve následně aktualizujte celý zbytek systému podle 4.4.6 – „Aktualizace systému“. Tím zajistíte, že kritické služby nepoběží jen po nezbytně nutnou dobu a hlavně budou k dispozici během hlavní části aktualizace, která zabírá nejvíce času.
Kvůli mnoha změnám, které se v jádře udály mezi Lennym a Squeezem 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 Squeeze. 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[6], 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 (resp. z přímo napojeného sériového terminálu), nebo vzdáleně pomocí ssh spojení.
Důležité | |
---|---|
Používáte-li VPN služby (jako třeba
|
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. |
Kvůli chybě #512951 je třeba před
aktualizací vyčistit systém od balíku splashy
.
#
apt-get purge splashy
Aktualizační proces popsaný v této kapitole byl navržen pro přechod z „čistého“ systému Lenny 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.
Používáte-li starší systém než Debian 5.0 (Lenny), musíte nejprve přejít na verzi 5.0 a teprve potom pokračovat dále. Přechod na verzi 5.0 popisuje dokument Debian GNU/Linux 5.0 - Poznámky k vydání.
Také se předpokládá, že byl systém aktualizován na poslední verzi Lennyho. Pokud si nejste jisti, následujte pokynů v A.1 – „Aktualizace systému Lenny“.
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 lenny a ne na
stable nebo squeeze;
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 apt-get příkazem
#
echo
balík
hold | dpkg --set-selections
Příznak odeberete analogicky, stačí nahradit hold
za install
.
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 Squeeze, 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 Lenny. Tyto balíky pravděpodobně způsobí konflikty mezi soubory[7]. Část 4.5 – „Možné problémy během aktualizace“ obsahuje některé informace o řešení těchto problémů.
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ě.)
Vydání může být odkazováno svým kódovým jménem (např.
lenny
, squeeze
)
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/squeeze/main/binary-i386/... http://mirrors.kernel.org/debian/dists/squeeze/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 squeeze 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/squeeze/main/binary-i386/... /var/ftp/debian/dists/squeeze/contrib/binary-i386/...
Do souboru sources.list
je nutné přidat
následující řádek:
deb file:/var/ftp/debian squeeze 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á apt-get. Dřívější vydání pro tento účel doporučovala nástroj aptitude, ale novější verze apt-get poskytují srovnatelnou funkcionalitu a hlavně podávají konzistentnější výsledky s ohledem na zamýšlený výsledek.
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
„squeeze
“ nebo na
„stable
“. Neměl by tam být žádný
záznam ukazující na lenny.
Poznámka | |
---|---|
Záznamy pro CD mohou občas ukazovat 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-squeeze.time -a ~/upgrade-squeeze.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. Jste-li u systému, 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-squeeze.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-squeeze.time ~/upgrade-squeeze.script
Nejprve je nutno stáhnout soubor, který obsahuje výčet balíků patřících do nové verze Debianu. To provedete příkazem:
#
apt-get update
Před kompletní aktualizací svého systému podle kapitoly
4.4.6 – „Aktualizace 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.
apt-get i aptitude 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:
#
apt-get -o APT::Get::Trivial-Only=true dist-upgrade
[ ... ]XXX aktualizováno, XXX nově instalováno, XXX k odstranění a XXX neaktualizováno. Potřebuji stáhnout xxxB archivů. Po této operaci bude na disku použito dalších yyyB.
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.4.4 – „Minimální aktualizace systému“) a aktualizujete jádro. |
Nemáte-li k aktualizaci dostatek místa, apt-get vás bude varovat následující hláškou:
V /var/cache/apt/archives nemáte dostatek volného místa.
V takovém případě bude třeba nějaké místo uvolnit. 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 → ,
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 Squeeze 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.
Proveďte nejprve minimální aktualizaci systému podle 4.4.4 – „Minimální aktualizace systému“, vyprázdněte vyrovnávací paměť balíků a teprve pak aktualizujte zbytek systému. Zbytek systému také můžete zkusit aktualizovat po menších částech (postupnou aktualizací vybraných balíků a jejich závislostí) a před každým krokem vyrovnávací paměť balíků vyprázdnit.
Pro bezpečné odstranění balíků se doporučuje přepnout
sources.list
zpátky na lenny, jak
popisuje část A.2 – „Kontrola zdrojů balíků“.
Protože některé klíčové balíky mezi sebou mohou ve verzích pro Lennyho a Squeeze kolidovat, mohla by plná aktualizace (popsaná níže) odstranit 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á aktualizace popsaná v kapitole 4.4.6 – „Aktualizace systému“.
Pro minimální aktualizaci spusťte
#
apt-get upgrade
Tím se aktualizují ty balíky, které mohou být aktualizovány bez instalace nebo odstranění jiných balíků.
Minimální aktualizace systému se také může hodit v případech, kdy má systém nedostatek místa pro plnou aktualizaci.
Verze udev
ve Squeeze
vyžaduje jádro 2.6.26 a novější, ve kterém je zakázána volba
CONFIG_SYSFS_DEPRECATED
a naopak povoleny volby
CONFIG_INOTIFY_USER
a
CONFIG_SIGNALFD
. Standardní jádro z
Lennyho se sice pyšní vhodnou verzí (2.6.26), ale bohužel
má zapnutou volbu CONFIG_SYSFS_DEPRECATED
. K tomu
přidejme, že udev
v
Lennym nefunguje správně s novějšími jádry, protože
neposkytuje veškerou funkcionalitu, kterou novější jádra očekávají a
je o zábavu postaráno.
Při zavedení jádra 2.6.26 z Lennyho na systému používajícím
udev
ze Squeeze se
bude většina programů tvářit, jako že normálně funguje, ale některá
pravidla se nenahrají, což se může projevit tak, že se nepřiřadí
správné názvy síťovým zařízením, nebo že se blokovým zařízením
nepřiřadí dodatečná oprávnění (například přístup pro skupinu
disk
). Z tohoto důvodu je nyní doporučeno
aktualizovat jádro, aby bylo k dispozici ještě před instalací
udev
.
Jádro aktualizujete příkazem:
#
apt-get install linux-image-2.6-
varianta
S rozhodováním, kterou variantu jádra si máte nainstalovat, vám pomůže 4.6.1 – „Instalace metabalíku jádra“.
Používáte-li zavaděč grub
,
měli byste se ujistit, že během aktualizace jádra proběhl i příkaz
update-grub. Pokud ne, spusťte jej ručně.
Okamžitě po aktualizaci jádra byste měli nainstalovat nový
udev
, abyste snížili riziko
dalších nekompatibilit mezi starým
udev
a novějším
jádrem[8]
#
apt-get install udev
Po splnění předchozích kroků byste měli být připraveni aktualizovat hlavní část systému. Příkaz
#
apt-get 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
apt-get -f install
.
balík
Následující kapitoly popisují známé problémy, která by se mohly během aktualizace na Squeeze vyskytnout.
Podpora pro šifrovaná zařízení využívající cryptoloop byla z balíků linuxového jádra v Debianu 6.0 odstraněna. Stávající instalace využívající cryptoloop musí být před aktualizací převedeny na dm-crypt.
Během aktualizace na Squeeze můžete být požádáni o odstranění některých nainstalovaných balíků. Přesný seznam závisí na tom, které balíky máte zrovna nainstalované. V těchto poznámkách naleznete spíše obecná doporučení, tudíž doporučujeme před každou akcí odstraňující balíky věnovat seznamu zvýšenou pozornost.
Mezi typické balíky, u kterých se očekává jejich odstranění, patří:
autofs
(nahrazen balíkem
autofs5
),
dhcp3
(nahrazen balíkem
isc-dhcp
),
madwifi-source
,
python-setuptools
a
python2.4
(nahrazen novějším
python2.6
).
Více o balících, které jsou v Squeeze považovány za zastaralé,
naleznete v 4.10 – „Zastaralé balíky“.
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í.
apt-get vás o podobné situaci informuje a přeruší
aktualizaci celého systému. V takovém případě spusťte
apt-get 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 apt-get nebo
#
dpkg --remove
jméno_balíku
pro odstranění pochybných balíků, nebo
#
apt-get -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ů, který vypadá nějak takto:
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í apt-get.
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áři /etc/init.d
nebo soubor
/etc/manpath.config
verzí od správce balíku, 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.
Aktualizujete-li systém z lokální konzoly, může se během aktualizace stát, že se konzole přepne do jiného pohledu a ztratíte tak přehled o probíhající aktualizaci. Jednou takovou situací je restart daemona gdm.
Pro návrat na konzoli s aktualizací se můžete vrátit klávesovou
zkratkou Ctrl+Alt+Fx
(z grafického prostředí) nebo Alt+Fx
(z textové konzole), kde x
je
číslo virtuálního terminálu, na kterém probíhá aktualizace. Mezi
textovými konzolemi se můžete přepínat také klávesovými zkratkami
Alt+šipka
vlevo a Alt+šipka vpravo.
Ve většině případů by měl přechod z Lennyho na Squeeze proběhnout hladce, nicméně existují drobné případy, kdy je potřeba nějakého ručního zásahu před nebo během aktualizace.
Evolution, výchozí poštovní klient desktopového prostředí GNOME, byl
povýšen z verze 2.22
na verzi
2.30
. Ta mění formát lokálně uložených dat a pokud
by evolution
běžela, mohlo by
to způsobit ztrátu dat. Pouhé ukončení aplikace nemusí stačit, protože
různé komponenty mohou Evolution využívat na pozadí. Abyste předešli
potenciálním problémům, je doporučeno ještě před aktualizací úplně
ukončit desktopové prostředí.
Během aktualizace balíku
evolution
ještě proběhne
dvoufázová kontrola, zda běží potenciálně rušivé procesy. Pokud ano,
tak v první fázi vyzve uživatele k jejich ukončení, ve druhé fázi
přímo nabídne jejich násilné ukončí nebo přerušení aktualizace.
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 Lennyho na Squeeze, 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.26-2-686
“, doporučujeme
nainstalovat linux-image-2.6-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 apt-get 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 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
. Alternativou jsou
zdrojové texty jádra z balíku linux-source-2.6
a sestavení binárního
balíku pomocí makefile pravidla deb-pkg
. Mezi oběma
přístupy jsou drobné rozdíly, o nichž si můžete přečíst v dokumentaci
jednotlivých balíků.
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.4.4 – „Minimální aktualizace systému“.
Počínaje Lennym používá jádro robustnější mechanismus pro rozpoznávání hardwaru. Protože to může změnit pořadí, ve kterém jsou zařízení v systému objevena, ovlivní to i 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.
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
. Protože
tato pravidla existovala už v Lennym, mělo by při přechodu
na Squeeze všechno fungovat dle očekávání. Výjimkou by mohl být
případ, kdy zároveň měníte síťový adaptér, protože jména zařízení jsou
spojena s konkrétním hardwarem, takže nová karta získá nové jméno.
Chcete-li, aby nová karta zdědila původní jméno nahrazené karty,
budete muset z
/etc/udev/rules.d/70-persistent-net.rules
smazat
příslušný záznam.
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. Nicméně vzhledem k dalším změnám v
linuxovém jádře, o kterých se dočtete v části 5.1.1 – „Přechod od IDE ovladačů k PATA“, není vynaložené úsilí adekvátní a je
doporučeno přejít na pojmenovávání zařízení univerzálně unikátními
identifikátory (UUID), u kterých je garance, že se s časem
nemění[9]. Tyto unikátní identifikátory naleznete v
adresářích /dev/disk/by-uuid/
a
/dev/mapper/
.
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
Někteří uživatelé hlásili, že po přechodu na Squeeze 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. Něco podobného můžete zaznamenat i u připojování souborových
systémů, pokud se příslušně neaktualizoval soubor
/etc/fstab
. Přechod na Squeeze by však měl
obě situace řešit automaticky.
Pokud jste během přechodu na Squeeze na tento problém narazili, přeskočte na část 4.7.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 nebo blkid /dev/hda6
V prvním případě byste měli získat řádek podobný tomuto:
lrwxrwxrwx 1 root root 24 2008-09-25 08:16 d0dfcc8a-417a-41e3-ad2e-9736317f2d8a -> ../../hda6
ve druhém:
/dev/hda6: UUID="d0dfcc8a-417a-41e3-ad2e-9736317f2d8a" TYPE="ext3"
kde 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
aby místo starého jména používal UUID:
# 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.7.2.2 – „Řešení 2“ nebo 4.7.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.32-5-686 root=/dev/hda6 ro initrd /initrd.img-2.6.32-5-686
Označte řádek začínající kernel
kernel /vmlinuz-2.6.32-5-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.32-5-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.7.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/sda1 /dev/sda2 /dev/sda5 /dev/sda6
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.7.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.32-5-686 root (hd0,0) kernel /vmlinuz-2.6.32-5-686 root=/dev/hda6 ro initrd /initrd.img-2.6.32-5-686 title Debian GNU/Linux, kernel 2.6.32-5-686 (single-user mode) root (hd0,0) kernel /vmlinuz-2.6.32-5-686 root=/dev/hda6 ro single initrd /initrd.img-2.6.32-5-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.7.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í.
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.
Během aktualizace vám typicky bude nabídnuta možnost ponechat jako primární zavaděč stávající verzi GRUBu (nyní nazývanou GRUB Legacy) a přidat do něj možnost přeskočení do GRUBu 2, ze kterého pak budete zavádět svůj systém. Tímto si můžete ověřit, že GRUB 2 na vašem systému funguje a teprve pak na něj přejít trvale.
Toto zřetězené používání GRUBu 2 je zamýšleno jen jako dočasné, takže po ověření, že vše funguje dle očekávání, doporučujeme na GRUB 2 přejít natrvalo. Stačí spustit příkaz upgrade-from-grub-legacy.
Oficiální příručka GRUBu popisuje změny mezi GRUB 2 a GRUB Legacy, které doporučujeme prostudovat, protože některá komplexní nastavení bude třeba přepsat. Jestliže jste nastavení zavaděče neměnili, mělo by vše proběhnout automaticky.
S budoucím vydáním Debian GNU/Linuxu (Wheezy
)
budou odstraněny některé balíky, takže přechodem na jejich novější
verze již nyní si ušetříte pozdější problémy při aktualizaci na
Wheezy.
Jedná se o následující balíky/komponenty:
OpenVZ a Linux-Vserver. Debian GNU/Linux 6.0 je posledním vydáním, které obsahuje jaderné virtualizační technologie nezačleněné do oficiálního jádra. To znamená, že uživatelé OpenVZ a Linux-Vserver by měli postupně migrovat na KVM, Linux Containers nebo XEN.
Balík gdm
(GNOME Display
Manager verze 2.20) bude nahrazen novějším
gdm3
. Více informací naleznete
v části 5.7 – „Změny v desktopu GNOME“.
Se zahrnutím tisíců nových balíků bylo také vypuštěno více než čtyři tisíce starých balíků, jež byly součástí Lennyho. 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í Squeeze[10] 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í Squeeze, 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. Nepoužívané automaticky instalované balíky můžete odstranit příkazem
#
apt-get autoremove
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.
K zastaralým balíkům patří:
Systém pro správu obsahu plone
.
Stalo se tak na žádost autorů Plone, kteří za jediný podporovaný
způsob distribuce považují Unified Installer pro Linux. Uživatelé
Debian GNU/Linuxu si mohou Plone nainstalovat právě tímto nástrojem ze stránek
http://plone.org/.
Bezpečnostní scanner nessus
byl po komercionalizaci nahrazen větví OpenVAS (balíky openvas-server
a openvas-client
). Protože neexistuje
automatický převod dat z Nessusu do OpenVAS, budete muset nastavení
služeb (certifikáty, uživatele, apod.) přemigrovat sami.
Platforma Java 5 (balíky sun-java5-jre
a sun-java5-bin
) byly nahrazeny Javou 6
(balík sun-java6-jre
a okolní
závislosti).
Náhradou za balík apt-proxy
mohou být apt-cacher-ng
,
apt-cacher
nebo approx
. Přestože přechod na alternativu
není automatický, stačí jen nainstalovat příslušný nový balík.
Squeeze již neobsahuje následující ovladače grafických karet:
xserver-xorg-video-cyrix
,
xserver-xorg-video-i810
,
xserver-xorg-video-imstt
,
xserver-xorg-video-nsc
,
xserver-xorg-video-sunbw2
a
xserver-xorg-video-vga
.
Uživatelé by si místo nich měli nainstalovat balík xserver-xorg-video-all
.
Nástroj usplash
, používaný pro
zobrazení obrázku během zavádění systému, již není dostupný a místo
něj se doporučuje použít balík
plymouth
.
Při přechodu od verze 5.0 (Lenny) k verzi 6.0 (Squeeze) bylo několik balíků rozděleno na větší počet menších balíků. V takových případech Squeeze většinou poskytuje „prázdné“ 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í. „Prázdné“ balíky se po úspěšném přechodu považují za zbytečné a většinou je můžete odstranit.
Téměř všechny prázdné balíky mají ve svém popisu jasně napsáno, že se
jedná o prázdné/falešné balíky. S hledáním těchto balíků může pomoci
program deborphan s parametry
--guess-
(konkrétně
*
--guess-dummy
). Pamatujte, že některé prázdné
balíky je lepší neodstraňovat, protože slouží ke sledování aktuálních
verzí programů.
[4] Jestliže je priorita debconf otázek nastavena na kritickou, můžete tím potlačit konfigurační otázky, které pak automaticky použijí výchozí hodnoty. Problém nastane, pokud tyto výchozí hodnoty nevyhovují vašemu prostředí - postižené služby se pak nemusí spustit.
[5] Například DNS nebo DHCP. Obzvláště pokud neexistuje redundantní nebo záložní server, mohou být koncoví uživatelé zcela odpojeni od sítě.
[6] Tato vlastnost se dá
vypnout přidáním parametru panic=0
k ostatním
zaváděcím parametrům.
[7] 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.
[8] Pokud při zavedení nového jádra zjistíte
problémy a budete se chtít vrátit k původnímu jádru, budete nejspíš
muset degradovat udev
na
původní verzi.
[9] Některá zařízení, jako ta využívající dmcrypt, LVM nebo RAID, používají stabilní názvy i bez UUID a není třeba s nimi nic dělat.
[10] Pokud mezitím vyjde další stabilní verze Debianu tak i dříve. Typicky jsou současně podporovány maximálně dvě stabilní verze.