Pacman -Syuは `/ bin exists in filesystem`に失敗します


14

私はpacman -Syu休暇から戻った後、arch linuxをアップグレードしようとしていましたが、今では私はまったく理解できないこのエラーを受け取ります:

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

ここで何が間違っているのか分かりますか?Arch Linuxのインストールは非常に新しいので、しばらくの間、深刻なアップグレードの問題はないと思っていました...

回答:


20

バイナリは/ usr / binに移動されました

ニュース記事にあるように、2段階でアップグレードに取り組む必要があります。最初に非公式リポジトリからパッケージを削除または更新し、次に3つの異なる手順でシステムを更新します。

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

問題が発生した場合は、Archボードに修正済みの長いスレッドがあります。

今後この状況を回避するには、ニュースページからMLまたはRSSフィードを購読して、ユーザーの介入を必要とする重要な変更について事前に警告を受け取る必要があります。


2
これらの2つのコマンドも便利です。/bin、/sbin、grep '^\(bin\|sbin\|usr/sbin\)' /var/lib/pacman/local/*/files | cut -d ":" -f 1 | uniq | cut -d "/" -f 6または/ usr / sbinにファイルを保持するすべてのパッケージをfind /bin /sbin /usr/sbin -exec pacman -Qo -- {} + >/dev/null一覧表示し、これらのディレクトリにパッケージに属さないすべてのファイルを一覧表示します。
トーベン

@jasonwryan filesystem,bashでは、単に指定するのではなく、指定する理由を明確にできますfilesystemか?私はこれに遭遇し、ファイルシステムを無視することでそれを解決しました。ファイルシステムはエラーメッセージで言及されている唯一のものであり、うまくいきました。
マティス

これらは開発者からの指示です。また、bashの動きをb0rkにすると、起動することができなくなります(またはまったく何もできなくなります)
...-jasonwryan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.