Aktualizace Archu

Tak jsem dnes po delší době zase aktualizoval stolní počítač. Jak mám ve zvyku šel jsem na to hrubou silou a ignoroval veškerá varování. Také jsem si samozřejmě neudělal zálohu, protože je to jen ztracený čas a prostor. Mno můžete zkusit hádat jak to dopadlo. Samozřejmě se v poslední verzi archu měnil filesystem, takže se všechny položky z /bin, /sbin a /usr/sbin přesunuli do adresáře /usr/bin. To by nebyl takový problém pokud bych používal jen a pouze věci z oficiálního repositáře. Tak tomu ale samozřejmě není.

Klasický postup takovéto aktualizace je velice prostý. Zjistíte si které všechny balíčky nejsou nainstalovány z repositáře, které jsou nainstalovány z neoficiálního repositáře a které soubory se tam prostě nějakým způsobem vyskytli. Všechny tyto soubory pak přesunete z adresářů /sbin, /bin a /usr/sbin do jediného adresáře /usr/bin. A pak si vesele aktualizujete systém.

Můj postup se trochu liší. Brutální silou a ignorací všech varování a oznámení aktualizuji systém a pokud se sesype tak to řeším. To se stalo například zrovna tentokrát a při minulé změně filesystému.

Takže jak jsem to řešil. Na mém notebooku jsem si stáhl aktuální obraz (*.iso) Archu a nahrál jej na flash disk. Byl jsem nemile překvapen, když nepomohl Unetbootin a tak jsem musel sáhnout ke klasické variantě s dd.

dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx

Za if= dosadíte cestu k obrazu disku, takže například u mne /home/hefay/Stažené/arch.iso a za of= adresu blokového zařízení. Tu můžete zjistit například pomocí příkazu lsblk. Opravdu dobře se přesvědčte, že se jedná o adresu USB klíčenky kterou chcete použít a že na ní nemáte žádná důležitá data! Poté jsem klíčenku vložil do PC, které jsem tak nádherně zlikvidoval, že se nespustila ani konzole. Obraz, který jsem nahrál na klíčenku a je stažitelný z webu archlinux.org, obsahuje autologin, takže se nemusíte bát. Pak už šlo jen o pár jednoduchých kroků, které sem ještě ke všemu musel udělat z důvodu konfliktu /usr/sbin.

loadkeys cz-qwertz
mount /dev/sda1 /mnt
mv /mnt/usr/sbin/* /mnt/usr/bin
rmdir /mnt/usr/sbin
arch-chroot /mnt pacman -Syu
reboot

A krize byla zažehnána. Systém normálně běží a zdá se, že vše funguje jak má.

Pokud se s tím setká i někdo z vás, tak vám snad tento příspěvek pomůže jako velmi rychlí fix. Nefunkční balíčky si přinejhorším nainstalujte znovu.

Rád bych vás ještě závěrem upozornil, že toto opravdu není korektní postup a ani správná oprava. Ale stačí to pokud se nechcete příliš zdržovat a potřebujete systém funkční co nejrychleji.

Share

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *