トップ «前の日記(2021 年 6 月 15 日 (火)) 最新 次の日記(2021 年 9 月 3 日 (金))»
編集 RSS

ワタタツの日記


2021 年 9 月 1 日 (水)

いわゆるusr mergeに遭遇し、乗り越えた

Linuxのファイル群が /bin/sbin になっているものを /usr/bin/usr/sbin に書き換えていこうという変更を usr merge または UsrMerge と呼ぶようです。

https://en.opensuse.org/openSUSE:Usr_merge

最近この動きを知らずに一部のパッケージをアップデートしたときに整合性がとれなくなって当たって往生しました。メモしておきます。

openSUSEでzypper upしたらログインできなくなって気付いた

openSUSEでzypper upして一部のパッケージをアップグレードしたところ、ログインできなくなってびっくりしました。 login incorrect "Module is unknown" です。最初は何が起きているのかわからなかったのですが、

PAM unable to dlopen(/lib64/security/pam_keyinit.so): /lib64/security/pam_keyinit.so: cannot open shared object file: No such file or directory

というエラーが出ていることに気付きました。 /lib64 も usr.merge されて /usr/lib64 になろうとして、一部が整合性が取れない状態になっていたようです。

Mailing List

ググるとopenSUSEのメーリングリストでこのことが話し合われていました

アップグレードの途中で /bin/lib64 にあるはずのファイルが見えなくなってこけるので、 zypper dup (distribution upgrade) する前に 一旦 zypper dup -l --download-only するとかいろいろな技が書いてありました。(ちなみに最終的にどうやったのか忘れました(笑))

転ばぬ先のスナップショット (バックアップ)

この復旧作業をするときに何度か元に戻す作業をしました。

ここ数年はbtrfsで毎日スナップショットを取るようにしているので、リストアするのが非常に楽でした。スナップショットは1つのディレクトリのディレクトリがコピーされているように見えるので、一旦rescueメディアで立ち上げてマウントして、単なるディレクトリに見えるスナップショットからがばっとコピーするだけで何とかなります。

スナップショットはとても軽量で、ほぼ一瞬で行われます。実際にファイルの内容をコピーしまくるのではないので、とても気楽です。


トップ «前の日記(2021 年 6 月 15 日 (火)) 最新 次の日記(2021 年 9 月 3 日 (金))»
Copyright © 2021 KITADAI, Yukinori. All rights reserved.