Pacman -Syu échoue `/ bin existe dans le système de fichiers`

14

J'essayais de mettre à niveau mon arch linux avec pacman -Syuaprès mon retour de vacances et maintenant je reçois cette erreur que je n'arrive pas à comprendre:

(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.

avez-vous une idée de ce qui ne va pas ici? L'installation arch linux est assez récente donc je ne m'attendais pas à de sérieux problèmes de mise à niveau depuis un certain temps ...

wirrbel
la source

Réponses:

20

Les fichiers binaires ont été déplacés vers / usr / bin .

Vous devez aborder la mise à niveau en deux phases, conformément à l'article de presse. Supprimez ou mettez à jour les packages des dépôts non officiels, puis mettez à jour votre système en trois étapes distinctes:

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

Si vous rencontrez des difficultés, il y a un long fil sur les planches Arch avec des correctifs.

Pour éviter cette situation à l'avenir, vous devez vous abonner au ML ou au flux RSS à partir de la page News afin d'être averti à l'avance de tout changement important nécessitant l'intervention de l'utilisateur.

jasonwryan
la source
2
Ces deux commandes peuvent également être utiles: grep '^\(bin\|sbin\|usr/sbin\)' /var/lib/pacman/local/*/files | cut -d ":" -f 1 | uniq | cut -d "/" -f 6répertorie tous les packages contenant des fichiers dans / bin, / sbin ou / usr / sbin et find /bin /sbin /usr/sbin -exec pacman -Qo -- {} + >/dev/nullrépertorie tous les fichiers de ces répertoires qui n'appartiennent à aucun package.
Torben
@jasonwryan pourriez-vous préciser pourquoi vous spécifiez filesystem,bashau lieu de simplement filesystem? Je suis tombé sur cela et l'ai résolu en ignorant simplement le système de fichiers car c'était la seule chose mentionnée dans le message d'erreur et cela a bien fonctionné.
Matijs
Ce sont les instructions des développeurs. De plus, si vous b0rkez le coup bash, alors vous ne pourrez pas démarrer (ou faire quoi que ce soit du tout) ...
jasonwryan