GNU/Linux >> Tutoriels Linux >  >> Arch Linux

Comment restaurer Broken Arch Linux à l'état de fonctionnement précédent

Ce bref tutoriel décrit comment restaurer Arch Linux cassé et ses variantes comme EndeavourOS, Manjaro Linux à l'état de fonctionnement précédent.

L'autre jour, j'ai effectué une mise à jour complète du système en utilisant la commande "sudo pacman -Syu" , et s'est retrouvé avec un système Arch Linux cassé.

Mon Arch Linux a refusé de démarrer en mode graphique et a continué à afficher les messages d'erreur :"dependency failed multi-user system" et "dependency failed for graphical interface" .

La seule option que j'avais était de me connecter en mode mono-utilisateur et d'essayer de restaurer les packages mis à jour vers leurs versions précédentes.

Depuis le mode mono-utilisateur, j'ai essayé ce qui suit :

  • J'ai essayé d'installer des packages à partir de dépôts officiels, mais je n'ai pas pu. Parce que ma carte réseau n'est pas reconnue en mode mono-utilisateur, donc Internet n'a pas fonctionné.
  • Le "déclassement" la commande ne fonctionne pas. Je ne sais pas pourquoi. Donc, je ne pouvais pas rétrograder les packages vers leurs versions précédentes. Il affichait simplement un message d'erreur "sudo pacman command is not found" .
  • Donc, j'ai essayé à nouveau de rétrograder tous les packages à une date spécifique . Cela n'a pas aidé non plus. J'ai la même erreur que ci-dessus, c'est-à-dire "sudo pacman command is not found" .

J'étais impuissant. Tout ce que j'ai, c'est une tablette PC avec une connexion Internet. Après une recherche approfondie sur le wiki et les forums d'Arch Linux, j'ai pensé à faire un dernier essai.

J'ai décidé de rétrograder tous les packages qui sont précédemment mis à jour un par un. Parce que le "pacman -Syu" La commande a mis à jour de nombreux packages, je n'ai donc pas pu confirmer exactement quel package était à l'origine du problème.

Si vous êtes dans cette situation similaire, ce guide pourrait vous aider à restaurer votre Arch Linux défectueux à son état de fonctionnement précédent.

Restaurer Arch Linux cassé à l'état de fonctionnement précédent

1. Tout d'abord, connectez-vous en mode mono-utilisateur. Pour ce faire, saisissez "e" lorsque vous voyez le menu Grub.

2. Ensuite, recherchez la ligne qui commence par le mot linux :

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

À la fin de la ligne ci-dessus, saisissez la ligne suivante :

init=/bin/bash

Voir la capture d'écran suivante pour votre référence.

3. Ensuite, appuyez sur F10 ou CTRL+X continuer. Après quelques secondes, vous serez redirigé vers le mode mono-utilisateur.

4. Tapez la commande suivante pour monter votre root (/) système de fichiers en mode lecture/écriture.

mount -n -o remount,rw /

5. Maintenant, vous devez trouver quand vous avez effectué la mise à niveau complète du système. Vous pouvez facilement le trouver en regardant votre pacman.log dossier. Ce fichier enregistre toutes les entrées pacman que vous avez faites dans le passé.

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

Ici, -n 200 affichera le dernier 200 lignes dans votre pacman.log dossier. Parce que mon pacman.log le fichier a tellement d'entrées.

Comme vous le savez peut-être, la commande tail n'affichera que les 10 dernières entrées. Donc, remplacez 200 avec votre propre numéro pour parcourir le pacman.log dossier. Et j'ai redirigé la sortie de "tail" commande "less" commande pour afficher les résultats page par page.

6. Après avoir parcouru le fichier pacman.log, j'ai trouvé l'heure exacte de la mise à niveau complète du système. Vérifiez l'horodatage dans la capture d'écran ci-dessous (Désolé pour l'image de mauvaise qualité).

J'avais lancé "sudo pacman -Syu" commande à 12h06 .

Comme vous pouvez le voir, "pacman -Syu" la commande a mis à jour 40+ paquets.

7. Depuis, je ne peux pas utiliser "downgrade" commande et rétrograder tous les packages à une date spécifique, je n'avais pas d'autre choix que de rétrograder tous les packages mis à jour un par un en utilisant "pacman -U" commande depuis le cache. Comme vous le savez déjà, pacman enregistre tous les packages téléchargés dans /var/cache/pacman/pkgs/ dossier.

8. J'ai noté tous les packages mis à jour à partir de la capture d'écran et les ai rétrogradés un par un vers une version antérieure à partir du cache, comme ci-dessous.

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

La commande ci-dessus installera qt5-base package du dossier cache. Il m'a fallu près d'une demi-heure pour rétrograder tous les packages.

9. Si vous avez déjà effacé le dossier de cache, vous n'avez pas le choix. La réinstallation pourrait être la seule option. Je vous recommande donc de conserver au moins deux anciennes versions dans le cache, afin de pouvoir les restaurer en cas de problème dans les nouveaux packages.

10. Après avoir rétrogradé tous les packages, saisissez la commande suivante pour appliquer les modifications et démarrer votre Arch Linux en mode normal.

exec /sbin/init

11. Maintenant, je peux me connecter à mon bureau Arch Linux sans aucun problème. Je pense que je devrais attendre quelques jours, puis réessayer de mettre à jour une fois le problème résolu.

Si vous avez le temps et la patience, rétrogradez un paquet et exécutez "exec /sbin/init" pour démarrer votre système en mode normal et vérifier si cela résout le problème.

Sinon, essayez un autre package. Répétez cette opération jusqu'à ce que vous trouviez le paquet problématique. Ensuite, laissez simplement le paquet problématique et mettez à jour tous les autres paquets.

Certains d'entre vous trouveront peut-être que cette méthode n'est pas si efficace et compliquée. Mais c'est ainsi que j'ai récupéré mon système Arch Linux cassé.

Vous connaissez peut-être d'autres moyens simples que cette méthode. Si vous connaissez de telles méthodes simples, veuillez me le faire savoir dans la section des commentaires ci-dessous. Je vérifierai et mettrai à jour le guide en conséquence.

Autres tutoriels Arch Linux utiles sur ce blog :

  • Activer le téléchargement parallèle dans Pacman sous Arch Linux
  • Récupérer la dernière liste de miroirs à l'aide de Reflector dans Arch Linux
  • La méthode recommandée pour nettoyer le cache de packages dans Arch Linux
  • Comment ignorer la mise à niveau d'un package dans Arch Linux
  • Comment réparer l'erreur "pacman :erreur lors du chargement des bibliothèques partagées" dans Arch Linux

Lire connexe :

  • Comment réparer le système d'exploitation Ubuntu cassé sans le réinstaller

Arch Linux
  1. Comment installer, supprimer et mettre à jour des logiciels sur Arch Linux

  2. Comment utiliser Pacman sur Arch Linux

  3. Comment installer yay (AUR helper) dans Manjaro/Arch Linux

  4. Linux - Comment supprimer les anciens packages installés par Pacman dans Arch Linux ?

  5. Arch Linux - Commande équivalente à apt-get update ?

Comment cloner et restaurer une partition Linux à l'aide de la commande dd

Comment connecter l'iPhone à Arch Linux

Comment utiliser la commande Mkdir sous Linux

Comment imprimer le répertoire de travail à l'aide de la commande Linux pwd ?

Comment installer Skype sur Arch Linux

Comment installer Java sur Arch Linux