「libc.so.7 version FBSD 1.4 required by sudo」の版間の差分

提供: FreeBSD入門
移動: 案内検索
(ページの作成:「pkg コマンドでパッケージ郡をアップデートしたら、一部のコマンドが動作しなくなってしまいました。そのときの、対処方...」)
 
(相違点なし)

2017年1月7日 (土) 19:18時点における最新版

pkg コマンドでパッケージ郡をアップデートしたら、一部のコマンドが動作しなくなってしまいました。そのときの、対処方法を紹介します。

$ sudo pkg ...
/lib/libc.so.7: version FBSD_1.4 required by /usr/local/bin/sudo

読み方

libc
りぶ しー

概要

FreeBSD の pkg コマンドは、パッケージ管理 のためのコマンドです。 pkg コマンドで、インストールされいるパッケージ郡をアップデートできます。

pkgコマンドを利用した際に、システムが使えない状態になってしまったので、参考までに、記録しておきます。

悪夢のはじまり

いつも通り、pkg コマンドでアップデートを実行したところ、いくつかのコマンドが起動しなくなりました。

$ sudo ...
/lib/libc.so.7: version FBSD_1.4 required by /usr/local/bin/sudo

pkg は、バイナリパッケージをインストールします。おそらく、私の環境がすでに古かったのでしょう。

sudo 以外に、 vim が起動しませんでした。どのコマンドが動き、どのコマンドが動かないのかは、あまり重要ではありません。動かないコマンドがある、というのが問題でした。

幸い、 su ができたり、コンソールから root でログインできたため、どうにか復旧ができるだろうと考えていました。

世の中の OS の状況

いままで使っていた FreeBSD のバージョンは、それなりに古くなってしまった FreeBSD 10.0-RELEASE でした。

すでに、世の中では、

などが stable でした。

解決策

すでに、後戻りもできない状態になっていたので、前に進むしかありませんでした。 この libc の問題を解決する方法は、おそらく、OS のアップグレードしかないと考えました。

利用しているのが、 10.0 だったため、まず 10.3 まで上げ、その状態を見てから、11.0 へ行くべきか、考えることにしました。

OS のアップデート

FreeBSD では、システムのアップグレードのために freebsd-update と呼ばれるバイナリアップデートのコマンドを提供しています。

やり方

FreeBSD のアップグレードは、やり方は簡単です。以下の4つのコマンドを実行するだけです。

# freebsd-update -r 10.3-RELEASE upgrade
# freebsd-update install
# shutdown -r now
# freebsd-update install

アップグレード後にどうなったのか

freebsd-update で、 FreeBSD 10.3-RELEASE に上げた結果、どうなったのでしょうか? 動かなくなっていた、 sudovim が起動するようになりました。

一方で、perl のバージョンが変わってしまったせいか、perl のスクリプトが動かくなるなど、影響もありましたが、それは、システムの問題ではなく、スクリプトの負債返済の話です。

まとめ

いつまでも、同じ環境を使い続けるのは、難しい、というのが今回の件で解りました。pkg コマンドが、なんでもしてくれるわけでもありませんでした。まさか、システムで使えないパッケージが降ってくるとは、夢にも思っていませんでした。

このような自体にならないために、我々にできることは、以下の通りだと思います。

  • freebsd-update でシステムを更新し続ける
  • pkg でパッケージを更新し続ける
  • システム、データのバックアップを取り続ける

関連項目