Wuwejův zápisník

Fedora - oprava všech balíčků

21.01.2011 23:55, Wu | počítače | komentáře -

Logo Tux - authors Larry Ewing, Simon Budig, Anja GerwinskiPř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)

12345
1295650500000

Informace

Kontakt

Google search

Kategorie

Sledujte také

Archiv

STRÁNKY ARCHIVOVÁNY NÁRODNÍ KNIHOVNOU ČR

CBDB.cz – Databáze knih a spisovatelů, knihy online