Hoy, intenté actualizar mi Arch Linux en Raspberry, pero recibí un error:
error: could not prepare transaction
error: failed to commit transaction (conflicting files)
package: /bin exists in filesystem
package: /sbin exists in filesystem
package: /usr/bin exists in filesystem
Errors occurred, no packages were upgraded.
Entonces, seguí las instrucciones proporcionadas aquí .
Después de actualizar algunos paquetes con pacman -S --force
(incluida la sombra del paquete), no puedo iniciar sesión con ninguna cuenta y obtener el mensaje Access denied
.
¿Hice algo mal? Las cuentas de contraseñas se restablecieron?
fuente
Es posible que haya sobrescrito
/etc/shadow
y/etc/passwd
cuando lo hizopacman -S --force shadow
. Intentar iniciar sesión en una consola virtual (es decir, tty para teclado y monitor HDMI) o el puerto serie (UART conectado a algunos de los pines GPIO) no tendrá más éxito.Retire la tarjeta SD de la Raspberry Pi, insértela en otra computadora que ejecute Linux y con shadow (probablemente cualquier distribución relativamente moderna), y:
/etc/shadow
y/etc/passwd
en la tarjeta SD manualmente.Arregla
/etc/shadow
y/etc/passwd
usa el paquete de sombras:Si el usuario no está en
/etc/shadow
o/etc/passwd
, vuelva a crearlo.Restablece la contraseña de tu usuario.
Sincronice y desmonte la tarjeta SD, luego vuelva a colocarla en el Pi e intente arrancar desde ella.
Otros usuarios en la Raspberry Pi también podrían haber sido falsificados o estar completamente ausentes.
Iniciar sesión a través de SSH no debería cambiar nada versus iniciar sesión en la consola si sobrescribió
/etc/passwd
o/etc/shadow
.Siga las noticias importantes de Arch Linux . El más reciente te habría salvado el dolor. Todos los binarios en
/bin
,/sbin
y/usr/sbin
nos trasladaron a/usr/bin
y todavía tiene algo bajo la misma, por lo tanto, por qué Pacman se queja. Siga las instrucciones en ese artículo pero use su criterio. Si no se soluciona el problema por completo (se encuentra en un estado impuro, después de todo), que puede ser capaz de salirse con mover manualmente todo en/bin
,/sbin
y/usr/sbin
en/usr/bin
e intentarlo de nuevo.No lo uses a
--force
menos que sepas lo que estás haciendo o los desarrolladores de Arch te lo indiquen explícitamente.fuente