FreeBSD アップデートした
うちにはFreeBSDを入れたPCがひっそりと存在するものの、全く活かせていない。
これじゃああんまりなので、とりあえずまずはアップデートしてみた。
FreeBSD アップデート
以前触っていたのが何年前か忘れちゃったくらい放っておかれたFreeBSD。たしかバージョンは9.xxくらいだったような……いや忘れた。
いま見たところ15.0が出てるではありませんか。ということで、最新にアップデートを試みる。
コマンド打ち込む
# freebsd-update -r 15.0-RELEASE upgrade
とりあえずこれを打ち込めばいいとのこと。簡単……ぼくにもできそう!なんでもっと早くやらなかったのか。
does this look reasonableとか聞かれるのでYESして、しばし待つ。
コンフリクトしたファイルをマージ
途中、いつくかのファイルがコンフリクトしたと言われるのでマージ。viとか久々に触った。
全部吹っ飛ばすのはたぶん困ると思うので、ちゃんと確認しながら何となく良さそうなようにマージ。
何度か再起動
ジーっと見てたわけじゃないのでどのくらい時間が必要だったのか分からず。
何か終わった感じになってたので↓これを実行。
# freebsd-update install
再起動してからもう一回やれと言われるので、↓これを実行。
# shutdown -r now
・・・再起動・・・
# freebsd-update install
これでとりあえずアップデートはおしまい。
トラブル発生
さてOSアップデートが終わったと思いきや、トラブル発生。
コマンド打っても↓メッセージが出て実行できない。
ld-elf.so.1: Shared object "libsys.so.7" not found, required by "libc.so.7"
“libsys.so.7″というファイルが無くなっちゃって困ってるみたい。なので端的に言うと「必要なファイルを別PCで落としてUSBメモリとかで移す」という作業が必要。
- 下記リンクから"base.txz"をダウンロード。
- “base.txz"を解凍して"libsys.so.7″をUSBメモリにコピーし、FreeBSDのPCに挿しておく。
- FreeBSDをシングルユーザーモードで起動(起動時に選べる)。
- メッセージは無視して、/rescue/mount を実行。
- /rescue/zfs set readonly=off zroot/ROOT/default を実行。
- /rescue/geom part list を実行すると、USBメモリのデバイスノードが分かる。(da0s1だった)
- /rescue/mount_msdosfs /dev/da0s1 /media でマウント。
- cd /media で移動して、/rescue/cp libsys.so.7 /lib でファイルをコピー。
- Ctrl+Alt+Delでリブート
仕組みはよく分からないけど、/rescue に最低限のコマンドが置いてあるってことなのかなと。
これでようやくOSアップデートは完了。たぶん。もっと使ってあげねば。
参照
助かりました……ありがとうございました。


