USEフラグ

USEフラグとは、Gentoo Linux上でパッケージをコンパイルする際にユーザーが指定する文字列である。/etc/portageディレクトリにあるmake.confファイルで設定する。ユーザーはこれを使って、システムを高効率化することができる。

概要 
Gentoo Linuxは他の大方のディストリビューションと違い、インストールの際にローカルで全てのパッケージをソースコードからコンパイルする。マシンの性能によってはかなりの時間がかかる非効率的なものだが、コンパイル時にマシンの特性や構築するシステムによって自由に設定を調節できる。マシンや構築するシステムに合った正しい設定をすれば、システム全体の高速化が期待できる。

通常コンパイルの設定をする際には、パッケージごとに設定する内容をマシンの特性や構築するシステムによってよく吟味しなければならない。それは時間がかかる上に、習得コストも高い。Gentoo Linuxはコンパイル時の設定とコンパイル、生成したバイナリのインストールを自動的に実行するCUIフロントエンドを提供する。その際の設定をユーザーに提供するフロントエンドがUSEフラグである。

使用例

"/etc/portage/make.conf" でシステム全体に設定 
例えば、Intel の Skylake（第6世代 Core 2）プロセッサを使用しているとする。その場合、Skylake プロセッサに含まれない命令に対応するバイナリを生成すると余分である。そこで、
 COMMON_FLAGS="-march=skylake"
とすると、余分なサポートを含まないバイナリを生成でき、Skylake プロセッサで高速に稼働するシステムを構成することができる。

さらに、GNOME デスクトップ環境を構築することを考える。その場合生成するバイナリが KDE に対応していると必要のないサポートが組み込まれ、結果としてシステム全体は重くなる。そこで、USEフラグを、
 USE="gnome -kde"
と記述してシステムに適用すると GNOME のサポートを組み込み、KDE のサポートを組み込まないようにバイナリを生成できる。
Gentoo Linux
オープンソースソフトウェア