GNU/Linux >> Znalost Linux >  >> Arch Linux

Jak obnovit Broken Arch Linux do předchozího funkčního stavu

Tento stručný návod popisuje, jak obnovit poškozený Arch Linux a jeho varianty, jako je EndeavourOS, Manjaro Linux, do předchozího funkčního stavu.

Onehdy jsem provedl úplný upgrade systému pomocí příkazu "sudo pacman -Syu" a skončil s nefunkčním systémem Arch Linux.

Můj Arch Linux odmítl nabootovat do grafického režimu a stále zobrazoval chybové zprávy:"dependency failed multi-user system" a "dependency failed for graphical interface" .

Jedinou možností, kterou jsem měl, je přihlásit se do režimu jednoho uživatele a pokusit se vrátit aktualizované balíčky na jejich předchozí verze.

Z režimu jednoho uživatele jsem zkusil následující:

  • Zkoušel jsem nainstalovat balíčky z oficiálních repozitářů, ale nešlo to. Protože moje síťová karta není rozpoznána v režimu jednoho uživatele, takže internet nefungoval.
  • "downgrade" příkaz nefunguje. netuším proč. Takže jsem nemohl downgradovat žádné balíčky na jejich předchozí verze. Jednoduše se zobrazila chybová zpráva "sudo pacman command is not found" .
  • Zkuste tedy znovu downgradovat všechny balíčky na konkrétní datum . Ani to nepomohlo. Mám stejnou chybu jako výše, tj. "sudo pacman command is not found" .

Byl jsem bezmocný. Jediné, co mám, je Tablet PC s připojením k internetu. Po rozsáhlém hledání na wiki a fórech Arch Linuxu mě napadlo dát poslední pokus.

Rozhodl jsem se downgradovat všechny balíčky, které byly dříve aktualizovány jeden po druhém. Protože "pacman -Syu" příkaz aktualizoval mnoho balíčků, takže jsem nemohl přesně potvrdit, který balíček způsobuje problém.

Pokud jste v podobné situaci, tento průvodce vám může pomoci obnovit váš poškozený Arch Linux do předchozího funkčního stavu.

Obnovit poškozený Arch Linux do předchozího funkčního stavu

1. Nejprve se přihlaste v režimu jednoho uživatele. Chcete-li tak učinit, zadejte "e" když uvidíte nabídku Grub.

2. Poté najděte řádek, který začíná slovem linux :

linux          /boot/vmlinuz-linux  root-UUID=d474f2-e6a2-4cc3-9899-aa98af13  rw  quiet

Na konci výše uvedeného řádku napište následující řádek:

init=/bin/bash

Podívejte se na následující snímek obrazovky.

3. Poté stiskněte F10 nebo CTRL+X pokračovat. Po několika sekundách přejdete do režimu jednoho uživatele.

4. Zadejte následující příkaz pro připojení root (/) souborový systém v režimu čtení/zápisu.

mount -n -o remount,rw /

5. Nyní musíte zjistit, kdy jste provedli úplnou aktualizaci systému. Můžete to snadno najít ve svém pacman.log soubor. Tento soubor ukládá všechny záznamy pacmana, které jste udělali v minulosti.

tail -n 200 /var/log/pacman.log | less

Zde -n 200 zobrazí posledních 200 řádků ve vašem pacman.log soubor. Protože můj pacman.log soubor má tolik položek.

Jak možná víte, příkaz tail zobrazí pouze posledních 10 záznamů. Takže nahraďte 200 s vaším vlastním číslem, abyste mohli projít pacman.log soubor. A poslal jsem výstup "tail" příkaz "less" příkaz k zobrazení výsledků stránku po stránce.

6. Po procházení souboru pacman.log jsem našel přesný čas úplného upgradu systému. Zkontrolujte časové razítko na níže uvedeném snímku obrazovky (Omlouváme se za nízkou kvalitu obrázku).

Spustil jsem "sudo pacman -Syu" příkaz ve 12:06 .

Jak můžete vidět, "pacman -Syu" příkaz aktualizoval 40+ balíčky.

7. Protože nemohu použít "downgrade" příkaz a downgrade všech balíčků na jakékoli konkrétní datum, neměl jsem jinou možnost než downgradovat všechny aktualizované balíčky jeden po druhém pomocí "pacman -U" příkaz z mezipaměti. Jak již víte, pacman uloží všechny stažené balíčky do /var/cache/pacman/pkgs/ složka.

8. Poznamenal jsem si všechny aktualizované balíčky ze snímku obrazovky a jeden po druhém je downgradoval na starší verzi z mezipaměti, jak je uvedeno níže.

pacman -U /var/cache/pacman/pkg/qt5-base-5.9.1-3-x86_64.pkg.tar.xz

Výše uvedený příkaz nainstaluje qt5-base balíček ze složky mezipaměti. Trvalo mi skoro půl hodiny, než jsem downgradoval všechny balíčky.

9. Pokud jste již vymazali složku mezipaměti, nemáte na výběr. Přeinstalace může být jedinou možností. Doporučuji vám tedy ponechat si v mezipaměti alespoň dvě staré verze, abyste je mohli obnovit, pokud se v nových balíčcích vyskytnou nějaké problémy.

10. Po downgradu všech balíčků zadáním následujícího příkazu použijte změny a spusťte Arch Linux do normálního režimu.

exec /sbin/init

11. Nyní se mohu bez problémů přihlásit na plochu Arch Linuxu. Myslím, že bych to měl pár dní vydržet a pak zkusit aktualizaci znovu, až to bude opraveno.

Pokud máte čas a trpělivost, přejděte na nižší verzi jednoho balíčku a spusťte "exec /sbin/init" spusťte systém do normálního režimu a zkontrolujte, zda problém vyřeší.

Pokud ne, zkuste jiný balíček. Toto opakujte, dokud nenajdete problematický balíček. Pak jednoduše opusťte problematický balíček a aktualizujte všechny ostatní balíčky.

Některým z vás se může zdát, že tato metoda není tak účinná a složitá. Ale takto jsem obnovil svůj rozbitý systém Arch Linux.

Možná znáte jiné snadné způsoby než tuto metodu. Pokud znáte nějaké takové snadné metody, dejte mi prosím vědět v sekci komentářů níže. Příručku podle toho zkontroluji a aktualizuji.

Další užitečné výukové programy pro Arch Linux na tomto blogu:

  • Povolte paralelní stahování v Pacman v Arch Linuxu
  • Načtení nejnovějšího seznamu zrcadel pomocí Reflector v Arch Linuxu
  • Doporučený způsob čištění mezipaměti balíčků v Arch Linuxu
  • Jak ignorovat balíček z upgradu v Arch Linuxu
  • Jak opravit chybu „pacman:chyba při načítání sdílených knihoven“ v Arch Linuxu

Související čtení:

  • Jak opravit poškozený operační systém Ubuntu bez jeho přeinstalace

Arch Linux
  1. Jak používat Pacman na Arch Linuxu

  2. Linux – Jak odstranit staré balíčky nainstalované Pacmanem v Arch Linuxu?

  3. Arch Linux - ekvivalentní příkaz apt-get update?

  1. Jak nainstalovat VirtualBox na Arch Linux

  2. Jak nainstalovat, odebrat a aktualizovat software na Arch Linux

  3. Jak nainstalovat yay (pomocník AUR) v Manjaro/Arch Linux

  1. Jak nainstalovat Arch Linux na VirtualBox

  2. Jak nainstalovat KDE Desktop na Arch Linux

  3. Jak nainstalovat MATE Desktop na Arch Linux