- Gentoo Linux -

■ GentooLinux独自のモノたち?

GentooLinuxにも,例えばDebianで言うapt-get,dpkg,update-rc.dなどのようなディストリ特有のコマンドや癖があるみたいです. それらを適当に紹介しておきます.

emerge

GentooLinuxの最大のウリでしょう.パッケージのインストール,更新,検索,バイナリパッケージの作成など, パッケージに関することはとりあえずこのコマンドで.主要なオプションは以下の通り.

  • emerge --sync … パッケージ情報の更新
  • emerge metadata … キャッシュの更新 (通常は必要ない)
  • emerge pkgname … インストール
  • emerge -s pkgname … 検索
  • emerge -S pkgname … DESCRIPTION も対象として検索
  • emerge -p pkgname-p が指定されなかった場合に何が行われるのかを表示する
  • emerge -a pkgname-p の代わりに使う.-p の内容を表示した後,インストールするかどうかの問い合わせが入る
  • emerge -v pkgname-p-a と合わせて使う.パッケージが使う USE フラグ,OVERLAY も表示
  • emerge -t pkgname-p-a と合わせて使う.依存関係をツリー形式で表示
  • emerge -C pkgname … アンインストール
  • emerge -c pkgname … 古いバージョンを削除
  • emerge -k pkgname … バイナリパッケージを使ってインストール,バイナリが存在しない場合は普通にコンパイル
  • emerge -K pkgname … バイナリパッケージを使ってインストール,バイナリが存在しない場合はアボート
  • emerge -u pkgname … パッケージの更新,必要に応じてダウングレードも行う
  • emerge -N <world|system> … -u と一緒に使う.USE フラグに変更のあったパッケージについてアップデートを行う.
  • emerge -B pkgname … バイナリパッケージの作成のみ
  • emerge -b pkgname … バイナリパッケージの作成をしつつインストール
  • emerge -e pkgname … パッケージを,依存パッケージも遡って全てコンパイルし直す
  • emerge -O pkgname … 依存関係を無視してのパッケージインストールを試みる

当然ながら,検索と状態表示以外はスーパーユーザで行う必要 があります.更に,検索と状態表示もportageグループのメンバー が行うことが望ましいです.

ちなみに -p-a で出力される記号の意味は

  • N … New (新規インストール)
  • U … Update (更新)
  • R … Replace (差し替え)
  • B … Block (このパッケージによってブロックされている)
  • F … Fetch? (アーカイブは自分でダウンロードしてくる必要がある)
  • S … Slot? (スロットで別バージョンを共存させる)

となっています.

□ See Also:
emerge --help
man emerge
The Portage User Guide
The Portage Manual
emerge-webrsync

学校や会社などで,ファイアウォールなどの関係でrsync(873) ポートの制限がされている場合などにweb(80)を使って emerge sync 相当のことをするためのコマンド.

ebuild

ファイルのことではなく,コマンドです.専ら,「unpack動作だけをやりたい」とか 「compile動作だけをやりたい」というときに使うコマンドでしょう.ebuildを作るわけでなかったり, ebuildのバグ追究をしないのであれば使わないでしょう.

ただし,野良ebuildのmanifestやdigestを作成するときには使います.

# ebuild hogehuga-1.2.3.ebuild manifest
# ebuild hogehuga-1.2.3.ebuild digest
□ See Also:
man ebuild
man 5 ebuild
etc-update

CONFIG_PROTECTされていてマージ出来なかったファイルを, ユーザの手によってアップデート/マージするのを助けるツール. 対話形式で処理することを可能にしている. emergeした後にコンフィグファイル云々言われたら, このコマンドを実行してファイルをちゃんと処理してやりましょう.
昔はgentoolkitパッケージに入ってたんだけど,今はデフォルトで入るようになったみたい.

□ See Also:
man etc-update
env-update

環境をまるまるアップデートする./etc/env.d以下のファイルを順に読み込み, /etc/ld.so.conf/etc/profile.envなどをジェネレートしたり, /etc/hostsなどのようなファイルの書き換えも,このコマンドを実行することによって反映させることも可能. 引数などは特にないのでスーパーユーザでこのコマンドを入力するだけで済む.

□ See Also:
man env-update
The ENV.D HOWTO
rc-update

/etc/init.d以下にあるrcスクリプトに関することをやってくれるユーティリティツール. 例えばsysklogdをランレベルdefaultに追加したい場合は,

# rc-update add sysklogd default

とコマンドを打てば終わり. また,例えばランレベルdefaultからalsasoundを取り除きたい場合は

# rc-update del alsasound default

を入力すれば良い. 第三引数であるランレベルを省略すると,全てのランレベルに対して操作を行う.

□ See Also:
The Gentoo Linux rc-script Guide
equery

gentoolkitというパッケージに含まれる. パッケージデータベースに対して問い合わせをすることが出来るコマンド. <pkgname>というパッケージによって供給されたファイルを全て出力するには

$ equery f <pkgname>

<fullpath>で指定されたファイルが,どのパッケージによって供給されたのかを表示するには

$ equery b <fullpath>

他の使い方としては,例えば python パッケージに依存しているパッケージを調べる時に

$ equery d python

などなど.

□ See Also:
man equery
equery --help
epm

epmパッケージにより供給される. Portageシステムのラッパーで,rpmコマンドと同じ感覚でパッケージを操作することができる. rpm に慣れてる人はこっちの方がいいかもしれない.

□ See Also:
man epm
epm --help
revdep-rebuild

gentoolkitパッケージにより供給される. 依存性やUSEの変更などの関係で動かないパッケージがあった時, 依存性を遡ってコンパイルとインストールをやり直すためのツール. emergeと同じオプションを指定することができる.

場合によってはすさまじく時間がかかるので要注意.

□ See Also:
man revdep-rebuild
revdep-rebuild --help
regenworld

portageパッケージにより供給される.world dependencyが何らかの理由で壊れた(?)時,world dependencyを再構築する.

…というよりは,依存パッケージがworld dependencyに登録されないことがあるので,それを登録するときに専ら使う.例えば

# emerge -p xine-ui
[ebuild N ] media-libs/aalib-1.4_rc4-r2
[ebuild N ] media-video/xine-ui-0.9.20

という状態の時,xine-ui をインストールしようとすると依存関係で aalib もインストールされるわけですが, このとき aalib が World dependency に追加されないことがあります. これを追加したいときにregenworld を使うわけです.

g-cpan.pl

どうもCPANのPerlモジュールをebuild化するためのツールらしいが 使ったことがないので詳細は不明.

<< TOP       < Install       ebuild >