GNU/Linux >> Tutoriales Linux >  >> Arch Linux

Cómo restaurar Broken Arch Linux al estado de trabajo anterior

Este breve tutorial describe cómo restaurar Arch Linux roto y sus variantes como EndeavourOS, Manjaro Linux al estado de funcionamiento anterior.

El otro día, realicé una actualización completa del sistema usando el comando "sudo pacman -Syu" , y terminó con un sistema Arch Linux roto.

Mi Arch Linux se negó a arrancar en modo gráfico y seguía mostrando los mensajes de error:"dependency failed multi-user system" y "dependency failed for graphical interface" .

La única opción que tenía era iniciar sesión en modo de usuario único e intentar revertir los paquetes actualizados a sus versiones anteriores.

Desde el modo de usuario único, probé lo siguiente:

  • Intenté instalar paquetes de repositorios oficiales, pero no pude. Debido a que mi tarjeta de red no se reconoce en el modo de usuario único, Internet no funcionó.
  • La "rebaja" el comando no funciona No tengo ni idea de porqué. Por lo tanto, no pude degradar ningún paquete a sus versiones anteriores. Simplemente mostraba un mensaje de error "sudo pacman command is not found" .
  • Por lo tanto, intente de nuevo degradar todos los paquetes a una fecha específica . Tampoco ayudó. Recibí el mismo error que el anterior, es decir, "sudo pacman command is not found" .

Estaba indefenso. Todo lo que tengo es una Tablet PC con conexión a Internet. Después de una búsqueda exhaustiva en la wiki y los foros de Arch Linux, pensé en intentarlo por última vez.

Decidí degradar todos los paquetes que se actualizan previamente uno por uno. Porque, el "pacman -Syu" El comando actualizó muchos paquetes, por lo que no pude confirmar exactamente qué paquete está causando el problema.

Si se encuentra en una situación similar, esta guía podría ayudarlo a restaurar su Arch Linux roto al estado de funcionamiento anterior.

Restaurar Arch Linux roto al estado de trabajo anterior

1. Primero, inicie sesión en modo de usuario único. Para hacerlo, ingresa "e" cuando vea el menú de Grub.

2. Luego, busque la línea que comienza con la palabra linux :

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

Al final de la línea anterior, escriba la siguiente línea:

init=/bin/bash

Vea la siguiente captura de pantalla para su referencia.

3. Luego, presiona F10 o CTRL+X continuar. Después de un par de segundos, accederá al modo de usuario único.

4. Escriba el siguiente comando para montar su root (/) sistema de archivos en modo lectura/escritura.

mount -n -o remount,rw /

5. Ahora, necesita averiguar cuándo realizó la actualización completa del sistema. Puede encontrar esto fácilmente consultando su pacman.log expediente. Este archivo guarda todas las entradas de pacman que hiciste en el pasado.

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

Aquí, -n 200 mostrará los últimos 200 líneas en su pacman.log expediente. Porque, mi pacman.log archivo tiene tantas entradas.

Como sabrá, el comando tail mostrará solo las últimas 10 entradas. Entonces, reemplaza 200 con su propio número para pasar por el pacman.log expediente. Y canalicé la salida de "tail" comando a "less" comando para mostrar los resultados página por página.

6. Después de revisar el archivo pacman.log, encontré la hora exacta de la actualización completa del sistema. Verifique la marca de tiempo en la siguiente captura de pantalla (perdón por la imagen de baja calidad).

Había ejecutado "sudo pacman -Syu" comando a las 12:06 pm .

Como puedes ver, "pacman -Syu" el comando ha actualizado 40+ paquetes

7. Ya que no puedo usar "downgrade" comando y degradar todos los paquetes a una fecha específica, no tuve más remedio que degradar todos los paquetes actualizados uno por uno usando "pacman -U" comando de la memoria caché. Como ya sabes, pacman guarda todos los paquetes descargados en /var/cache/pacman/pkgs/ carpeta.

8. Anoté todos los paquetes actualizados de la captura de pantalla y los bajé uno por uno a la versión anterior del caché como se muestra a continuación.

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

El comando anterior instalará qt5-base paquete de la carpeta de caché. Me tomó casi media hora bajar de categoría todos los paquetes.

9. Si ya borraste la carpeta de caché, no tienes otra opción. La reinstalación podría ser la única opción. Por lo tanto, te recomiendo que mantengas al menos dos versiones antiguas en el caché, para que puedas restaurarlas si hay algún problema en los nuevos paquetes.

10. Después de degradar todos los paquetes, escribe el siguiente comando para aplicar los cambios e iniciar tu Arch Linux en modo normal.

exec /sbin/init

11. Ahora, puedo iniciar sesión en mi escritorio Arch Linux sin ningún problema. Creo que debería esperar un par de días y luego intentar actualizar de nuevo cuando se solucione.

Si tiene tiempo y paciencia, baje un paquete y ejecute "exec /sbin/init" para iniciar su sistema en modo normal y verificar si resuelve el problema.

Si no, pruebe con otro paquete. Repita esto hasta que encuentre el paquete problemático. Luego simplemente deje el paquete problemático y actualice todos los demás paquetes.

Algunos de ustedes pueden encontrar que este método no es tan eficiente y complicado. Pero así es como recuperé mi sistema Arch Linux roto.

Es posible que conozca otras formas fáciles además de este método. Si conoce alguno de estos métodos fáciles, hágamelo saber en la sección de comentarios a continuación. Comprobaré y actualizaré la guía en consecuencia.

Otros tutoriales útiles de Arch Linux en este blog:

  • Habilitar la descarga paralela en Pacman en Arch Linux
  • Recuperar la última lista de espejos usando Reflector en Arch Linux
  • La forma recomendada de limpiar la caché de paquetes en Arch Linux
  • Cómo ignorar la actualización de un paquete en Arch Linux
  • Cómo solucionar el error "pacman:error al cargar bibliotecas compartidas" en Arch Linux

Lectura relacionada:

  • Cómo reparar el sistema operativo Ubuntu roto sin reinstalarlo

Arch Linux
  1. Cómo instalar, eliminar y actualizar software en Arch Linux

  2. Cómo usar Pacman en Arch Linux

  3. Cómo instalar yay (asistente de AUR) en Manjaro/Arch Linux

  4. Linux:¿cómo eliminar paquetes antiguos instalados por Pacman en Arch Linux?

  5. Arch Linux:¿comando equivalente a apt-get update?

Cómo clonar y restaurar una partición de Linux usando el comando dd

Cómo conectar iPhone a Arch Linux

Cómo usar el comando Mkdir en Linux

¿Cómo imprimir el directorio de trabajo usando el comando pwd de Linux?

Cómo instalar Skype en Arch Linux

Cómo instalar Java en Arch Linux