USEフラグの変更手順
Portage 関連の話題が続いてしまいますが、今日は USE フラグを変更する手順をご紹介しようと思います。
USE フラグはパッケージがサポートする機能を柔軟に設定できる Gentoo Linux 独特のシステムですが、デフォルトの USE フラグを変更してもインストール済みのパッケージは自動では再コンパイルされません。このため、依存関係のあるパッケージをインストールする際に問題が発生することがあります。それらの問題を回避するために、デフォルトの USE フラグを変更した際には、必ず影響のあるパッケージを再コンパイルしておきましょう。
gentoolkit をインストールする
以降の作業では gentoolkit パッケージに含まれるコマンドが必要になりますので、もしまだインストールしていないときは、最初にインストールしてしまいましょう。以下のコマンドで OK です。
emerge gentoolkit
デフォルトのUSEフラグを変更する
まずは、デフォルトの USE フラグの変更方法です。 Portage の環境設定の記事でご紹介しましたが、デフォルトの USE フラグは "/etc/make.conf" に記述されています。テキストファイルですので、 vim などで読み込み、"USE=〜" という行を編集すれば OK です。
影響のあるパッケージを再コンパイルする
USE フラグを変更したら、影響のあるパッケージを再コンパイルします。以前はインストール済みパッケージをすべて更新するしかなかったのですが、最近は以下のコマンドで最低限のパッケージだけを更新できます。
emerge --update --deep --newuse world
上記のコマンドも、--pretend オプションを付ければ実行前に更新するパッケージのリストを確認できます。間違いを防ぐためにも、事前の確認をお勧めします。
不要なパッケージを削除する
USE フラグを変更すると、いままで依存関係のためにインストールされていたパッケージが不要になることがあります。必要ならそれらのパッケージを削除できます。ただし、この作業は必要なパッケージまで削除してしまう可能性も捨て切れません。もし安定動作を優先させたいなら、不要なパッケージでも残しておくという選択もありだと思います。
※現在、下記手順は実行しないほうが良いようです。どうしても不要なパッケージを削除したいときは、 "emerge --pretend --depclean" で目安を付けて、本当に削除しても問題ないと判断できるものだけ手動で "emerge --unmerge" しましょう。
では、まずは以下のコマンドで削除するパッケージを確認しましょう。
emerge --pretend --depclean
リストされたパッケージを削除しても問題ないと判断したら、以下のコマンドで削除を実行します。
emerge --depclean
削除が終了したら、revdep-rebuild コマンドで動的リンクの情報を再構築します。このコマンドは、先ほどインストールした gentoolkit パッケージに含まれています。
revdep-rebuild
以上で、 USE フラグの変更が完了です。けっこう大仕事ですね(^^;。 USE フラグの設定は計画的に。
詳しくはこちらの記事をどうぞ!
この記事にコメントする