ソレを解消するべくPortupgradeを入れてみましたら、あらビックリ。 テケトーにごにょごにょしてくれました。
ウーン超便利カモ〜。小さいしとがえらい薦めるのもよく分かる〜バンザーイ。
もうちょっと調べてみて、まとまったらTipsに掲載しよう。もちろん自分用に。
portupgradeの導入
portupgradeとは、パッケージの管理を容易にする拡張システム。
何かと煩雑になるパッケージをクリーンに保ちます。
依存関係の修復や、登録上複数のバージョンがインストールされている
アプリケーションをごにょごにょと直してくれたりかなり便利。
まずはcvsupでportsを最新版に更新。
cvsupについては「FreeBSDハンドブック」
とか、「make buildworld」を参照。
portupgradeのインストール。
インストールが出来たら、以下のコマンドを実行しとくと吉。但し、portsdbの-Uオプションは数時間単位で時間が掛かるので寝るときにやりませう。
週一回、cvsupしてバージョンアップした報告をするシェルスクリプトを仕込みました。 (fkimura.comより)
#!/bin/csh /usr/local/bin/cvsup -g -L 2 /etc/ports-supfile >& /var/log/portupgrade_daily.log /usr/local/sbin/portsdb -Uu >>& /var/log/portupgrade_daily.log /usr/local/sbin/portversion -v -L '=' |
リファレンスみたいなもの
良く使いそうなものをまとめた。コマンドが結構似通ってて紛らわしい。
portupgradeの設定ファイル。/usr/local/etc/pkgtools.conf。 アップデート時にうっかりインストールオプションを忘れてしまわない様に、予めこのファイルへ書いておくことが出来る。
MAKE_ARGS = {
'mail/qpopper' => 'WITH_DRAC=yes',
}
portupgradeでアップグレードしたくないパッケージは以下の記述でホールドできる。
HOLD_PKGS = [ちゃんとportversionにも表示される。すばらC〜。
'bsdpan-*',
'graphics/gd*',
]
Portsを新しくインストールしたり、
アップグレードインストールしたりするツール。
portinstallもあるけど、普段はこちらを使う。ややこしいから。
portsの依存関係を示したファイル(/var/db/pkg)を調べて、 依存関係の不一致を知らせてくれたり、直してくれたりするツール。
不整合があると、以下のような質問が投げられることがある。
|
Stale origin: 'security/bzip2': perhaps moved or obsoleted.
Skip this for now? [yes] yes
「多分security/bzip2が古いバージョンか、移動したかも。
とりあえず、スキップしますよ?」
|
|
Stale dependency: asclock-1.0 -> imake-4.2.0_1:
New dependency? (? to help): ? [Enter] to skip, [Ctrl]+[D] to delete, [.][Enter] to abort, [Tab] to complete New dependency? (? to help): yes
「asclockがimakeを参照しているが実際には使われて無いみたい。どうする?」
と聞いてるみたい。Ctrl+Dで消しても問題無いと思う。多分ね。
|
Ports データベースファイルを管理する為のツール
<Ports-name>に対するお互いの依存関係を調べて表示する。
(なんとなくpkg_treeをインストールの方が見やすいような気がする)
インストールされているのPortsと、Portsdbのバージョンを比較し、簡単なフラグ(後述)で表示する。
(表示フラグ)| = | 現在のPortsバージョンと同じものがインストールされている。 | |
| < | 現在のPortバージョンより低いものがインストールされている(最新版入れませう) | |
| > | 現在のPortバージョンより新しいものがインストールされている? Ports Collectionのインデックスファイルが古いとか、 新しいPortsのテストに発生してるんじゃないの? |
掃除屋。