梅雨も明け、気持ちよく晴れた三連休、絶好のアップデート(コンパイル)日和でした。
備忘録もかねて手順をメモしておきます。
下準備
まず、プロファイルを切り替えます。
# eselect profile list # eselect profile set (希望するプロファイルの番号)
次にPortageツリーの同期をとります。ついでにPortageも最新版にしました。
# emerge --sync # emerge portage
アップデートの前にどの様な更新が行われるかを確認しておきます。
# emerge -uDNpt world
ここでBlockが発生している場合は対処をしておきます。私の場合はcoldplug、ezstream、eselect-emacsあたりをunmergeしました。
また、望まないパッケージが導入されないか確認します。今回はmplayerのxscreensaverのUSEフラグが立っていた関係でX関連のパッケージが導入されそうだったのでUSEフラグの設定を変更しました。
SYSTEMの更新
いきなり全体を更新してもいいのですが、対象にgccとglibcが含まれていたので一旦SYSTEMを更新します。念のため実行前には内容を確認しておきました。
# emerge -uDNpt system # emerge -uDN system
ここでしばらく放置…。
気がついたらcracklibのコンパイルでこけていました。メッセージに従って、
# FEATURES=-unmerge-orphans emerge cracklib
としたところ問題なく完了しました。
# emerge --resume
で再開しつつ再び放置します。
全体の更新
emerge -uDN world
してひたすら放置します。
設定ファイルの更新
dispatch-confを使って更新します。自分が書き換えた覚えのあるもの以外は、新しいものを使うようにしました。
ちょっと手直し
ここで、ちょっと用があったためmysqlとapacheを起動しようとしたのですが、mktempが無いとエラーが出ました。ネットで検索するとmktempの機能がcoreutilsに吸収された関係で不具合が起きている模様。
# emerge coreutils
で直りました。
もう一つ、expatのバージョンがあがった関係でapacheが起動しないという問題が発生しました。
# emerge expat # revdep-rebuild -X --library libexpat.so.0
として修正しました。
これで大体の更新は終わったのでこの辺で一度再起動し、起動時にエラーが起きていないか確認しておきます。
確認した結果、coldplugの起動スクリプトへのリンクが残っていてエラーとなっていたため、
# rc-update del coldplus
しました。