Tutoriales

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 EndeavorOS, Manjaro Linux al estado de trabajo anterior.

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

Mi Arch Linux se negó a arrancar en modo gráfico y siguió 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.

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

  • Intenté instalar paquetes de repositorios oficiales pero no pude. Dado que mi tarjeta de red no se reconoce en el modo de usuario único, Internet no funciona.
  • La «degradar» El comando no funciona. No tengo ni idea de porqué. Así que no pude degradar los paquetes a sus versiones anteriores. Acaba de mostrar un mensaje de error. "sudo pacman command is not found".
  • Entonces, intente una vez más Degradar todos los paquetes a una fecha específica. Tampoco ayudó. Tengo el mismo error que el anterior, es decir "sudo pacman command is not found".

Estaba indefenso. Solo tengo una tableta con conexión a Internet. Después de hacer una búsqueda extensa en la wiki y foros de Arch Linux, pensé en darle una última oportunidad.

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

Publicaciones relacionadas

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

Restaurar Arch Linux defectuoso al estado de trabajo anterior

1. Primero, inicie sesión en modo de usuario único. Para hacer esto, ingrese "e" cuando vea el menú de grub.

Menú Grub en Arch Linux

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

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

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

init=/bin/bash

Consulte la siguiente captura de pantalla como referencia.

Editar entradas en el menú de inicio de Grub
Editar entradas en el menú de inicio de Grub

3. Entonces presione F10 o CTRL+X sigue adelante. Después de unos segundos, aterrizará en modo de usuario único.

Cuarto Ingrese el siguiente comando para obtener su. a montar root (/) Sistema de archivos en modo lectura / escritura.

mount -n -o remount,rw /

5. Ahora debe averiguar cuándo realizó la actualización completa del sistema. Puede encontrarlo fácilmente yendo a su pacman.log Archivo. Este archivo guarda todas las entradas de Pacman que haya realizado en el pasado.

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

Aquí, -n 200 indica el último 200 Líneas en tu pacman.log Archivo. Porque mi pacman.log El archivo tiene tantas entradas.

Como sabrá, el comando tail solo muestra las últimas 10 entradas. Entonces, reemplázalo 200 con tu propio número para pasar por eso pacman.log Archivo. Y dirigí el tema de "tail" Comando para "less" Comando para mostrar los resultados página por página.

Sexto 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 captura de pantalla a continuación (lo siento por la imagen de mala calidad).

Yo estaba corriendo "sudo pacman -Syu" Comando en 12:06 p.m..

Archivo de registro de Pacman en Arch Linux
Archivo de registro de Pacman en Arch Linux

Como se puede ver, "pacman -Syu" El comando fue actualizado 40+ Paquetes.

Séptimo No puedo usarlo allí "downgrade" Ordenar y degradar todos los paquetes a una fecha específica, no tuve más remedio que degradar todos los paquetes actualizados individualmente usando "pacman -U" Comando desde el caché. Como ya sabes pacman guarda todos los paquetes descargados en /var/cache/pacman/pkgs/ Carpeta.

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

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

Se instalará el comando anterior qt5-base Paquete de la carpeta de caché. Me tomó casi media hora degradar todos los paquetes.

9. Si ya ha borrado la carpeta de caché, no tiene otra opción. La reinstalación puede ser la única opción. Por lo tanto, le recomiendo que mantenga al menos dos versiones antiguas en la caché para que pueda restaurarlas si hay problemas con los nuevos paquetes.

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

exec /sbin/init

11. Ahora puedo iniciar sesión fácilmente en mi escritorio Arch Linux. Creo que debería esperar un par de días y luego intentar actualizar de nuevo cuando esto se resuelva.

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

Si no es así, pruebe con un paquete diferente. Repita esto hasta que encuentre el paquete problemático. Luego salga del paquete problemático y actualice todos los demás paquetes.

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

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

Más tutoriales útiles de Arch Linux en este blog:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba