いもあらい。

プログラミングや哲学などについてのメモ。

Portage。

2006-04-07 14:37:00 |  Gentoo...
Portageに関するメモ。

Java入れたりFirefox入れたりとかで、いろいろとぶつかって学んだことがあるので、そのメモ。

まず、基本としてemergeのやり方。

emerge --sync

Portageツリーの同期


emerge -s foo

fooという文字列を含むパッケージの検索


emerge -S foo

fooという文字列をコメントに含むパッケージの検索


emerge package

packageというパッケージをインストール


emerge -u package

packageというパッケージをアップデート


emerge -p package

実際にはインストールせずに様子を見る


emerge --unmerge package

packageというパッケージをアンインストール


emerge system

核となるアプリケーションを一括アップデート


emerge world

インストールしたパッケージ全てを一括アップデート



ここらへんは基礎。

あと、覚えておきたいものとして、

emerge -u --newuse package

packageを新しいUSE変数の元でアップデート


emerge -u --deep package

packageが依存しているパッケージについてアップデート


emerge --depclean

unmergeした後、依存されなくなったものをアンインストール


revdep-rebuild

gentoolkitのコマンドで、動的リンクを再構築する



といったところ。

パッケージの名前は
category/package-version
という構造をしていて、通常は
package
category/package
と指定すると、そのパッケージが指定されたことになる。
versionまで指定したいときには
=category/package-version
と、先頭に=をつける。
あるversion以上(より上)を指定したいときには、

 >=category/package-version


(あるいは>category/package-version)
とする。

アーキテクチャごとに基本となる仕様があって、それは
/usr/portage/profiles/default-linux/default-linux/
以下にあったりして、/etc/make.profileによって指し示されている。
ここをいじるのは推奨されていなくて(同期を取ると元に戻ってしまうから)、かわりに/etc/make.confや/etc/portage/以下のファイルをいじることになる。

/etc/make.confはグローバルなPortageの変数を指定するのに使う。
/etc/portage/以下のファイルは個々のパッケージに対しての指定を行い、ファイルは以下のような感じ。

/etc/portage/package.use

パッケージごとのUSE変数を指定


/etc/portage/package.mask

マスクをかける(=インストールできないようにさせる)パッケージを指定


/etc/portage/package.unmask

マスクを解除するパッケージを指定


/etc/portage/package.keywords

パッケージごとにACCEPT_KEYWORDS(~x86とか)を指定する



設定ファイルをどうしていくのかはetc-updateを使って操作していく感じで。