dpkgを高速化する方法は?


17

Debianシステムでのパッケージ(アン)インストールはひどく遅くなりますが、それは(小さな)ファイルの束全体で動作することもあります。より高速なストレージを手に入れられないのですが、どうすれば高速化できますか 1つのソリューションとして、アクセス頻度の高いディレクトリをRAMに読み込むことを考えていますが、どうすればよいですか?「より良い」解決策はありますか?


どのファイルシステム、およびいくつのパッケージがありますか?大きなディレクトリのdir_index場合、オプション付きのext3以上、またはReiserは、ext2またはext3なしの場合と比較して劇的な改善dir_indexです。
ジル 'SO-悪であるのをやめる'

@Gilles ext4を使用し、1400個までのパッケージをインストールしています。
シェパン

回答:


17

このソリューションには、少なくとも1.15.8.6のdpkgのバージョンが必要です。

dpkgのそのバージョン以降、force-unsafe-ioすべてのパッケージ間でdpkgがsync()などを呼び出すことを無効にする新しいオプションがあります。このオプションを/ etc / dpkgの構成に追加して、常に有効にすることができます。

dpkgの古いバージョンを使用している場合は、代わりにeatmydataを使用できます。

また、これらのソリューションはどちらも安全ではないため、dpkgの実行中または実行直後に電源障害が発生すると、おそらくデータが失われることに注意してください。


それで、/etc/dpkg/dpkg.cfgに追加force-unsafe-ioするだけです。
tshepang

1
現在、Linuxボックスが動作していません(PSUの障害)が、動作するecho "force-unsafe-io" > /etc/dpkg/dpkg.cfg.d/force-unsafe-ioはずです。または、メインのdpkg構成ファイル(/etc/dpkg/dpkg.cfg)に追加できます。
アローマスター

3
このオプションを使用して、または使用せずに時間を計ったところ、パフォーマンスに目立った変化はありませんでした。
シェパン

eatmydataで試しましたか?さらに、pbuilder chroots内でforce-unsafe-ioオプションを使用し始めたとき、非常に顕著な違いを覚えています。
アローマスター

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.