Při startu začal Linux křičet něco o nekonzistenci filesystemu, nastartoval do konzole a poznamenal, že se mám přihlásit jako root a spustit fsck ručně. Poslechl jsem a pak asi dvacetkrát odsouhlasil změny a opravy. Tuhle chyběl i-node, tamhle se našel osiřelý soubor, něco přesunoval do složky lost+found, zkrátka dělal toho spoustu. Pak sice naběhl, ale zahlásil, že během spouštění čelil vážným komplikacím a jestli chci, můžu se podívat, jaké to byly. To jsm sice chtěl, ale k ničemu mi to nebylo, nějaká knihovna z pythonu. Říkal jsem si, že snad nebude tak zle...
Ale bylo. Po přihlášení grafika vypadala divně, nefungoval compiz, nejspíš na pythonu závisí. Začal jsem tedy prohledávat internet a zjišťovat, jakým způsobem můžu reinstalovat všechny balíky. Jde to (zdroj):
yum reinstall $( rpm -qa --qf '%{name}\n' )
-qa - query all, čili pro všechny balíčky
-qf '{name}\n' - query format, vypíše jméno a odřádkuje
$() je asi totéž co příkaz ve zpětných apostrofech (``) - dosadí na dané místo výstup příkazu
Zkusil jsem to spustit, ale ouha.
/usr/bin/python: error while loading shared libraries: libpython2.6.so.1.0: cannot open shared object file: No such file or directory
Yum také zavisí na pythonu. Slepá ulička. Naštěstí je yum jen nadstavba nad balíčkovacím systémem rpm, zkusil jsem tedy najít postup pro nahrazení všech balíčků pomocí něj. To ale - zdá se - nejde, všude se mluvilo jen o přepsání jediného balíčku (postup1, postup2):
rpm -Uvh --replacefiles --replacepkgs /path/to/some.rpm
nebo
rpm -Uvh --force <package.rpm>
nebo
rpm -e --justdb --nodeps <package.rpm>
rpm -Uvh --force <package.rpm>
Dobrá, ještě není vše ztraceno, zkusím přepsat tu chybějící knihovnu libpython2.6.. Hledám RPM s názvem libpython.2.6, hledám libpython, zkouším lib-python, všechno marné, nic takového nenacházím. Jak se ten balík jen může jmenovat? Vypíši všechny balíčky (návod) a grepnu je na slovo python:
rpm -qa | grep python
Jde o balíček python-lib. Ten potom stáhnu z http://ftp.linux.cz/pub/linux/fedora/linux/releases/13/Everything/i386/os/Packages, nainstalování pro jistotu nejdřív otestuji a pak provedu:
rpm -Uvh --force --test <package.rpm>
rpm -Uvh --force <package.rpm>
Pak už yum konečně fungovat začal a mohl jsem reinstalaci spustit:
yum reinstall $( rpm -qa --qf '%{name}\n' )
Zabralo to se stahováním několik hodin, ale podařilo se. Ptal jsem se potom kolegů unixářů, jak se tohle řeší správně v produkčních systémech. Prý takhle nakopnutý filesystem raději obnoví celý ze zálohy a co prý jsem s tím dělal. To kdybych věděl - nepamatuji si žádné bezprostřední vypnutí za běhu, žádný výpadek elektřiny. Dokonce ani ve S.M.A.R.T. monitoringu disku žádné vadné sektory nepřibyly.
Aktuální poznámka - tehdy nepřibyly, teď naskakují po desítkách, disk je na reklamaci, Fedora přeinstalovaná a já před kolapsem.
(Ještě jsem našel návod pro verifikaci všech balíčků, rpm -Va, asi bych tím zjistil, které balíčky opravit, ale bylo by to náročnější na čas)
Hodnocení hvězdičkami používá jako prevenci
opakovaného kliknutí anonymní cookie.
Pokud s tím nesouhlasíte, neklikejte.
Další podrobnosti k cookies zde.