パッケージの依存関係のためにインストールされた不要なファイルを最小化する方法は?

パッケージの依存関係のためにインストールされた不要なファイルを最小化する方法は?

システムサイズが重要なため、できるだけ少ない数の依存ファイルを含むパッケージをインストールしようとしています。

たとえば、パッケージをインストールしたい場合は、apt-get install別のシステムにインストールしてからapt-cache depends(やや大きい)パッケージのリストが表示されるまで、そのパッケージとすべての依存関係を体系的にチェックします(このパッケージが依存するすべてのパッケージを表示)。

次に、そのリストdpkg -L(パッケージにインストールされているすべてのファイルを表示)に移動して、元のパッケージが機能するようにシステムにコピーする必要がある(巨大な)ファイルのリストを取得します。

私はpythonこのバッグを使ってこれをし、何度も試した後幸運を得ました。残念ながら、他のパッケージはより複雑なようです。

成功したパッケージのインストールに実際に必要な最小のファイルセットを見つけるより良い方法が必要です。明らかに役に立たない候補はなどです/usr/share/man/*/usr/share/doc/*

依存関係でどの特定のファイルが必要かを調べる方法はありますか? (たとえば、コレクション全体にはライブラリファイルが1つしかありません。)

いくつかのファイルを選択し、まだ動作していることを試す以外に、最小限のファイルセットを取得する他の方法はありますか?

必要書類を正しく収集していますか?


また:ソースからコンパイルするのはオプションですか?私はまだこのアプローチに完全に慣れていません。次に見てみましょう。

編集:XUbuntu 14.04を使用しています。

ベストアンサー1

個々のファイルを削除するのは間違ったアプローチだと思います。何を破るのかわからない。

たぶんファイルAを削除してパッケージBで関数F1をテストすると、すべてがうまくいくようです。しかし、F1にAが必要ないためかもしれません。 F2 機能の使用を試みてから 1 週間後にファイル A が必要になるため、悲惨に失敗すると診断や問題の解決が非常に困難になります。

理論的には、パッケージャはすでに依存関係とファイルを最小化しようとします。

一方、ソフトウェアを直接コンパイルする方が良い方法です。多くのパッケージは(外部ライブラリに依存せずに)静的バージョンを生成する可能性を提供するため、より小さなスペースを確保できます。

このアプローチを使用しても、状況はすべて異なります。これもかなり時間がかかります。

私の提案は、同様のツールdeborphan(またはディストリビューションでそれに対応するツール)を使用することです。依存関係がなく安全に削除できるパッケージが一覧表示されます。アンインストールするたびに、アンインストールしても安全なパッケージがより多く見つかる可能性があるため、これは反復プロセスです。

またdeborphan -a、これを試すと、ライブラリと依存関係だけでなく、すべての候補が一覧表示されます。

おすすめ記事