emergeは、
Gentoo Linuxのパッケージ管理システム
Portageのコマンドラインインターフェース(CUI)
フロントエンドです。
Gentoo Linuxでは、パッケージをインストールまたはアップグレードする際に、まずソースコードをダウンロードします。次に、ダウンロードしたソースコードをローカル環境に合わせて設定し、コンパイルを実行します。最後に、コンパイルされたバイナリを所定のディレクトリにインストールします。この一連のプロセスは、ebuildと呼ばれるスクリプトに基づいて実行され、その操作を円滑にするために提供されるのがemergeです。
emergeの使用例
全てのコマンドは、詳細なログを表示する「-v」(--verbose)オプションを付けて実行できます。
システムのアップデート
システムをアップデートする際は、まずパッケージリポジトリに接続し、最新のebuild情報を取得します。このためには、次のコマンドを使用します。
bash
emerge --sync
このコマンドは、システムに存在するebuildとの差分をダウンロードするため、システムを長期間更新していない場合は時間がかかることがあります。その場合は、次のコマンドで最新のスナップショット全体をダウンロードできます。
bash
emerge-webrsync
システム全体のアップグレードは、次のコマンドで行います。
bash
emerge -uD --with-bdeps=y @world
このコマンドは、ソースコードのダウンロード、コンパイル、インストールを自動的に実行します。
各オプションの意味は以下の通りです。
`-u`: アップデートを実行します。単独で使用すると、`/var/lib/portage/world`ファイルに記述されたパッケージ(`@world`)の依存関係のみを考慮してアップデートします。
`-D`: `@world`に記述されていない依存関係でインストールされたパッケージの依存関係も考慮してアップデートします。
`--with-bdeps=y`: ビルド時依存(パッケージのコンパイルやビルド時に必要だが、インストール後には不要になるパッケージ)を更新します。
`@world`: `/var/lib/portage/world`に記述されたパッケージを示します。この内容は、ファイルを編集することで変更できます。
上記のコマンドは、以下のように省略せずに記述することもできます。
bash
emerge
update deep --with-bdeps=y @world
また、emergeコマンドは、実行する操作の確認を行うオプションも提供しています。
`-p` (--pretend): 実行する操作を表示します。
`-a` (--ask): 実行する操作を表示した後、実行するかどうかを選択できます。
システム全体に適用されているUSEフラグの変更
`/etc/portage/make.conf`ファイルを編集してUSEフラグを変更した場合、以下のコマンドで変更を適用できます。
bash
emerge -DN @world
これは、以下のコマンドと同じです。
bash
emerge
deep newuse @world
ほぼ同じ操作を行うコマンドとして、以下があります。
bash
emerge -DU @world
`-U`は`
changed-use`オプションであり、`update`とは異なります。`-N`を`-U`に置き換えると、ユーザーが有効にしていないUSEフラグの変更によるパッケージのリビルドを含めずにシステムを更新できます。このコマンドも、以下のように置き換えられます。
bash
emerge
deep changed-use @world
システムのクリーンアップ
システムのクリーンアップを行うには、以下のコマンドを実行します。
bash
emerge -c
このコマンドは、`@world`の依存関係にない孤立したパッケージを削除します。安全のため、以下のオプションを付けて、コマンド実行前に確認することを推奨します。
bash
emerge -pc
または
bash
emerge -ac