Debianベースの組み込みLinuxのイメージを構築しています。そのイメージのベースとして使用するデバイスで以前にapt-get update
を使用したため、/var/lib/apt/lists
の下のリストは非常に大きくなります(サイズがほぼ100 MB)。
apt-get
機能を維持したいので(適切なリポジトリを削除したくありません)、これらのリストで使用されていたスペースを解放したいと思います(リストはイメージのサイズのほぼ2倍です)。
誰かがそれを行う方法を知っていますか? /var/lib/apt/lists
の下のファイルを削除できますか?
あなたはただ使うことができます:
rm /var/lib/apt/lists/*
これにより、パッケージリストが削除されます。リポジトリは削除されず、/etc/apt/sources.list
の構成ファイルで構成されます。起こり得ることは、パッケージリストを更新しない限り、apt-cache
などのツールがパッケージ情報を取得できないことです。また、パッケージに関する情報がないため、apt-get install
はE: Unable to locate package <package>
で失敗します。
次に、単に実行します:
apt-get update
これらのリストを書き換えると、コマンドは再び機能します。
とにかく、何かをインストールする前にapt-get update
を実行することをお勧めします。
リストは何が利用できるかについての知識であるため、リストを削除すると、何もインストールできなくなります。これは、ソースリストからリポジトリを削除することとまったく同じです(これは、実行したくないと言います)。
1つのオプションは、リストを圧縮し、次のupdate
の前にそれらを解凍することを忘れないことです。
私がよく行うこと(特に、追加のソースを試したい場合)は、ディレクトリ/etc/apt/sources.available
を作成し、配布用のエントリを追加することです。次に、/etc/apt/sources.list.d
からシンボリックリンクを作成してサブセットを簡単に有効にし、それらのシンボリックリンクを削除して無効にすることができます。
空のソースリストを使用すると、apt-get update
を実行できます。これにより、/var/lib/apt/lists
がクリアされます。次に、適切なソースを/etc/apt/sources.list.d
にリンクし直しますが、実際にそれらを使用する予定があるときまでは、update
を使用しないでください。