Gentoo Linuxにおけるパッケージ管理について(systemとworldのprofile、未インストールパッケージのインストール済みマーク付け)
world profileとsystem profile
最小限構成のベースシステムを構成するパッケージ(システムパッケージ)と、それらのパッケージが要求するパッケージの集まりの一覧を「system profile」という。*1
system profileのシステムパッケージは、シンボリックリンク/etc/make.profileのリンク先によって指定されるプロファイルから決められている。これはGentoo Linuxの設定の1つで、アーキテクチャや用途、OSのバージョンによって異なるプロファイルが用意されている。
emergeで(--oneshot(-1)オプションを付けずに)パッケージを追加すると、そのパッケージは/var/lib/portage/worldというパッケージ名一覧に追加され、その後Portageツリーの更新で新しいバージョンが利用可能になったときに最新版へ更新することができる。こちらの一覧は「world profile」という。
これらは、emergeの引数に「system」「world」の名前で指定できる。
-sオプションで指定してみたところ、下のような説明が見られた。「system」の説明には選択されているプロファイルも表示される。
* system Description: System packages for profile /usr/portage/profiles/default/linux/amd64/2008.0/desktop * world Description: Set of packages that were directly installed by the user
一覧は
$ emerge -pe system > system_list.txt $ emerge -pe world > world_list.txt
のようにして参照することもできる(「| less」などでも可)。
未インストールのパッケージがインストールされていることにする
あるパッケージが依存関係によって要求されているが、事情によってそのパッケージをインストールしたくない、という場合がある。
そういったときに、そのパッケージが実際にシステム上にない場合であってもインストールされているようにPortageに見せかけることができ、
ファイル名: /etc/portage/profile/package.provided
[分野名]/[パッケージ名]-[バージョン、リビジョン]
の書式で記述する。*2インストールされているとしたいバージョン/リビジョンのみを具体的に記述するため、先頭には等号、不等号、チルダなどは付かず、後ろにも何も書かない。
この方法はトラブルの原因となる場合もある*3ため、注意して使用する。もし、あるパッケージの更新を避けたい(インストール済みバージョンを高く見せかけたい)のであれば、手動で対象パッケージをマスクしたほうがより好ましい。
関連URL:
- http://www.gentoo.org/doc/ja/gentoo-upgrading.xml - プロファイルについての内容を含む
- http://gentoo-wiki.com/TIP_Best_practice_to_ignore_an_update - パッケージの更新を保留したいときのヒント
関連記事:
- 不必要なPortageツリー同期と再ビルドを避けるための覚え書き
- Gentoo Linuxにおけるパッケージ管理について(パッケージ、バージョンとその識別子)
- Gentoo Linuxにおけるパッケージ管理について(USEフラグ)
- Gentoo Linuxにおけるパッケージ管理について(Overlay)
- Gentoo Linuxにおけるパッケージ管理について(実際のコマンド操作)
- Gentoo Linux 2008.0 ライブCDのGUIインストーラでGUI構成のインストールをしてみた
- Gentoo Linuxにおけるパッケージ管理について(サービス、ランレベル、環境変数など)
- Gentoo Linuxにおけるパッケージ管理について(スロット、tbz2ファイル)