GNU/Linux >> Linux Esercitazione >  >> Arch Linux

Come ripristinare Arch Linux rotto allo stato di lavoro precedente

Questo breve tutorial descrive come ripristinare Arch Linux rotto e le sue varianti come EndeavourOS, Manjaro Linux allo stato di lavoro precedente.

L'altro giorno, ho eseguito un aggiornamento completo del sistema utilizzando il comando "sudo pacman -Syu" e si è ritrovato con un sistema Arch Linux rotto.

Il mio Arch Linux ha rifiutato di avviarsi in modalità grafica e ha continuato a visualizzare i messaggi di errore:"dependency failed multi-user system" e "dependency failed for graphical interface" .

L'unica opzione che avevo era accedere alla modalità utente singolo e provare a ripristinare i pacchetti aggiornati alle versioni precedenti.

Dalla modalità utente singolo, ho provato quanto segue:

  • Ho provato a installare i pacchetti dai repository ufficiali, ma non ci sono riuscito. Poiché la mia scheda di rete non viene riconosciuta in modalità utente singolo, Internet non ha funzionato.
  • Il "downgrade" il comando non funziona. Non ho idea del perché. Quindi, non ho potuto eseguire il downgrade di alcun pacchetto alle versioni precedenti. Visualizzava semplicemente un messaggio di errore "sudo pacman command is not found" .
  • Quindi, riprova a effettuare il downgrade di tutti i pacchetti a una data specifica . Non ha aiutato neanche. Ho ricevuto lo stesso errore di cui sopra, ad esempio "sudo pacman command is not found" .

Ero impotente. Tutto quello che ho è un Tablet PC con una connessione a Internet. Dopo un'ampia ricerca sul wiki e sui forum di Arch Linux, ho pensato di fare un ultimo tentativo.

Ho deciso di eseguire il downgrade di tutti i pacchetti precedentemente aggiornati uno per uno. Perché, il "pacman -Syu" command ha aggiornato molti pacchetti, quindi non ho potuto confermare esattamente quale pacchetto sta causando il problema.

Se ti trovi in ​​questa situazione simile, questa guida potrebbe aiutarti a ripristinare il tuo Arch Linux rotto allo stato di lavoro precedente.

Ripristina Arch Linux rotto allo stato di lavoro precedente

1. Innanzitutto, accedi in modalità utente singolo. Per farlo, inserisci "e" quando vedi il menu Grub.

2. Quindi, trova la riga che inizia con la parola linux :

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

Alla fine della riga precedente, digita la seguente riga:

init=/bin/bash

Vedi lo screenshot seguente come riferimento.

3. Quindi, premi F10 o CTRL+X continuare. Dopo un paio di secondi, entrerai in modalità utente singolo.

4. Digita il seguente comando per montare il tuo root (/) file system in modalità lettura/scrittura.

mount -n -o remount,rw /

5. Ora, devi scoprire quando hai eseguito l'aggiornamento completo del sistema. Puoi trovarlo facilmente guardando il tuo pacman.log file. Questo file salva tutte le voci di pacman che hai fatto in passato.

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

Qui, -n 200 visualizzerà l'ultimo 200 righe nel tuo pacman.log file. Perché, il mio pacman.log il file ha così tante voci.

Come forse saprai, il comando tail mostrerà solo le ultime 10 voci. Quindi, sostituisci 200 con il tuo numero per scorrere il pacman.log file. E ho reindirizzato l'output di "tail" comando per "less" comando per visualizzare i risultati pagina per pagina.

6. Dopo aver esaminato il file pacman.log, ho trovato l'ora esatta dell'aggiornamento completo del sistema. Controlla il timestamp nello screenshot qui sotto (scusate per l'immagine di bassa qualità).

Avevo eseguito "sudo pacman -Syu" comando alle 12:06 .

Come puoi vedere, "pacman -Syu" il comando ha aggiornato 40+ Pacchetti.

7. Dal momento che non posso usare "downgrade" comando e downgrade di tutti i pacchetti a una data specifica, non avevo altra scelta che eseguire il downgrade di tutti i pacchetti aggiornati uno per uno usando "pacman -U" comando dalla cache. Come già saprai, pacman salva tutti i pacchetti scaricati in /var/cache/pacman/pkgs/ cartella.

8. Ho annotato tutti i pacchetti aggiornati dallo screenshot e li ho declassati uno per uno alla versione precedente dalla cache come di seguito.

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

Il comando precedente installerà qt5-base pacchetto dalla cartella della cache. Mi ci è voluta quasi mezz'ora per eseguire il downgrade di tutti i pacchetti.

9. Se hai già svuotato la cartella della cache, non hai scelta. La reinstallazione potrebbe essere l'unica opzione. Quindi, ti consiglio di conservare almeno due vecchie versioni nella cache, in modo da poterle ripristinare se ci sono problemi nei nuovi pacchetti.

10. Dopo aver eseguito il downgrade di tutti i pacchetti, digita il seguente comando per applicare le modifiche e avviare Arch Linux in modalità normale.

exec /sbin/init

11. Ora posso essere in grado di accedere al mio desktop Arch Linux senza problemi. Penso che dovrei aspettare un paio di giorni e poi provare ad aggiornare di nuovo quando il problema sarà risolto.

Se hai tempo e pazienza, esegui il downgrade di un pacchetto ed esegui "exec /sbin/init" per avviare il sistema in modalità normale e verificare se risolve il problema.

In caso contrario, prova un altro pacchetto. Ripeti l'operazione finché non trovi il pacchetto problematico. Quindi lascia semplicemente il pacchetto problematico e aggiorna tutti gli altri pacchetti.

Alcuni di voi potrebbero scoprire che questo metodo non è così efficiente e complicato. Ma è così che ho recuperato il mio sistema Arch Linux rotto.

Potresti conoscere altri modi semplici rispetto a questo metodo. Se conosci metodi così semplici, faccelo sapere nella sezione commenti qui sotto. Controllerò e aggiornerò la guida di conseguenza.

Altri tutorial utili di Arch Linux su questo blog:

  • Abilita il download parallelo in Pacman in Arch Linux
  • Recupera l'ultimo elenco di mirror utilizzando Reflector in Arch Linux
  • Il modo consigliato per pulire la cache dei pacchetti in Arch Linux
  • Come ignorare l'aggiornamento di un pacchetto in Arch Linux
  • Come risolvere l'errore "pacman:errore durante il caricamento delle librerie condivise" in Arch Linux

Lettura correlata:

  • Come riparare il sistema operativo Ubuntu danneggiato senza reinstallarlo

Arch Linux
  1. Come installare, rimuovere e aggiornare il software su Arch Linux

  2. Come usare Pacman su Arch Linux

  3. Come installare yay(AUR helper) in Manjaro/Arch Linux

  4. Linux:come eliminare i vecchi pacchetti installati da Pacman in Arch Linux?

  5. Arch Linux - comando equivalente apt-get update?

Come clonare e ripristinare la partizione Linux usando il comando dd

Come collegare iPhone ad Arch Linux

Come utilizzare il comando Mkdir su Linux

Come stampare la directory di lavoro usando il comando pwd di Linux?

Come installare Skype su Arch Linux

Come installare Java su Arch Linux