sqlite を使ったメタデータの管理

/var/cache/edb/dep/usr/portage の下に emerge したパッケージの依存関係が書かれています。 細かいファイルに情報が散らばっているため、 emerge するたびに依存関係の調査に結構な時間が掛かります。

そのデータを sqlite で DB 化することで、高速化することができます。

pysqlite のインストール

sqlite の python 用インタフェースですね。

# emerge -av pysqlite

portage の設定

無事インストールできたら、/etc/portage/modules というファイルを作ります。

# cat /etc/portage/modules
portdbapi.auxdbmodule = cache.sqlite.database

ファイルになっている依存情報を削除します。 一応バックアップも取っておきましょう。

# tar cvfz portage.dep.tar.gz /var/cache/edb/dep/usr/portage
# rm -r /var/cache/edb/dep/usr/portage

依存関係の再作成

# emerge --metadata

これで完了です。

効果

These are the packages that would be merged, in order:

Calculating dependencies... done!

この時間がかなり短くなります。

参考資料

このサイトのままです。

gentoo-wiki はすごいですね。 何でも書いてあります。



トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-01-29 (土) 15:27:48