Pacman -Syu falla `/ bin existe en el sistema de archivos`

14

Intenté actualizar mi arch linux pacman -Syudespués de regresar de vacaciones y ahora recibo este error que no puedo entender:

(133/133) checking for file conflicts              [######################] 100%
error: failed to commit transaction (conflicting files)
filesystem: /bin exists in filesystem
filesystem: /sbin exists in filesystem
filesystem: /usr/sbin exists in filesystem
Errors occurred, no packages were upgraded.

¿Tienes idea de lo que está mal aquí? La instalación de Arch Linux es bastante nueva, así que no esperaba ningún problema serio de actualización durante algún tiempo ...

wirrbel
fuente

Respuestas:

20

Los binarios se han movido a / usr / bin .

Debe abordar la actualización en dos fases, según el artículo de noticias. Primero elimine o actualice los paquetes de repositorios no oficiales, luego actualice su sistema en tres pasos distintos:

pacman -Syu --ignore filesystem,bash
pacman -S bash
pacman -Su

Si encuentra alguna dificultad, hay un largo hilo en los tableros del arco con correcciones.

Para evitar esta situación en el futuro, debe suscribirse al ML o al feed RSS de la página de Noticias para recibir una advertencia anticipada de cualquier cambio significativo que requiera la intervención del usuario.

jasonwryan
fuente
2
Estos dos comandos también pueden ser útiles: grep '^\(bin\|sbin\|usr/sbin\)' /var/lib/pacman/local/*/files | cut -d ":" -f 1 | uniq | cut -d "/" -f 6enumera todos los paquetes que contienen archivos en / bin, / sbin o / usr / sbin y find /bin /sbin /usr/sbin -exec pacman -Qo -- {} + >/dev/nullenumera todos los archivos en estos directorios que no pertenecen a ningún paquete.
Torben
@jasonwryan ¿podría aclarar por qué especifica en filesystem,bashlugar de solo filesystem? Me encontré con esto y lo resolví simplemente ignorando el sistema de archivos, ya que era lo único mencionado en el mensaje de error y funcionaba bien.
Matijs
Esas son las instrucciones de los desarrolladores. Además, si haces el movimiento bash, entonces no podrás arrancar (o hacer nada en absoluto) ...
jasonwryan