ホーム » コンピュータ » Linux » Debian » usrmerge(usr-is-merged)でトラブル

システム

最近の投稿

  • 文殊山
    最近、運動不足のなか、熊ニュースも多くて山ハイキングができてなかったけど、今シーズン最初の文殊山。 […]
  • Apple Watch の充電のタイミング
    Apple Watch Ser.10 に更新して、睡眠時にも時計をつけるようになって充電のタイミングに悩む。 […]
  • ゾルトラーク
    スマホの充電台に、ゾルトラークのシールを作って貼ってみた。 […]
  • sshd のエラーメッセージ
    sshd の設定をあまり見直していないが、下記のメッセージが出るようになっている。 […]
  • mariadb のエラー対策
    別件で /var/log/syslog を確認したら、下記のエラーが大量に出力されている。 […]

アーカイブ

カテゴリー

usrmerge(usr-is-merged)でトラブル

いつものように “aptitude upgrade ; aptitude safe-upgrade”を実行したら、”usr-is-merged” パッケージをインストールしようとして、インストールの前処理でエラーが発生して upgrade が途中で止まってしまう。

状況と対応

関係のなさそうな他の無難なパッケージを更新し、usr-is-merged を入れようとする根源を探したら、”init-system-helper” みたい。でもこのままでは更新を継続できないので、aptitude full-upgradeを実行する。すると、“usr-is-merged” ではなく “usrmerge” パッケージをインストールすることになって、普通に更新が終わる。

# “aptitude install usrmerge” でも解消できるはず。

usrmerge とは

unix では、もともと /bin (システム必須の binary) , /usr/bin (システム運用上便利なユーザ向け binary) , /usr/local/bin (ユーザが個人的にインストールしたbinary) という使い分けをしてきたけど、最近ではパッケージインストーラが管理してくれるなか、/bin と /usr/bin の区別がほとんどなくなってきている。逆に /usr/bin 配下に binary がインストールされれば、/usr を read-only mount にできたりと利点も多いので、他の /sbin , /lib* も同様に…。ということで、usrmerge パッケージをインストールすることで /bin -> /usr/bin といったシンボリックリンクに切り替えてくれる。

# でも、そうなってくると /usr って、”ユーザ向け” という意味じゃなくなってくるよな。

usrmerge の結果として root ディレクトリを確認すると、/bin -> /usr/bin, /lib -> /usr/lib, …といったリンクが生成されていた。

$ ls -al /
lrwxrwxrwx   1 root root        7  9月 23 12:09 bin -> usr/bin
 :
lrwxrwxrwx   1 root root        7  9月 23 12:09 lib -> usr/lib
lrwxrwxrwx   1 root root        9  9月 23 12:09 lib32 -> usr/lib32
lrwxrwxrwx   1 root root        9  9月 23 12:09 lib64 -> usr/lib64
lrwxrwxrwx   1 root root       10  9月 23 12:09 libx32 -> usr/libx32
 :
lrwxrwxrwx   1 root root        8  9月 23 12:09 sbin -> usr/sbin