通常運用時には特に問題なく利用できるapt-getコマンド であるが、一斉にセキュリティパッチが当たって、パッケージの更新数が飛躍的に上がってしまうことがある。
数が多くても、そのまま実行してくれればいいのだが、apt-get updateを実行しても、エラーが出力されて、うまく更新リストを作れなくなうようである。
# apt-get update
E: Dynamic MMap ran out of room
E: Error occured while processing wzdftpd (NewVersion1)
E: Problem with MergeList /var/lib/apt/lists/cdn.debian.or.jp_debian_dists_stable_main_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.
更新リストが多すぎるということなので、一度に作成する更新リスト数を制限してみる。
# vi /etc/apt/apt.conf.d/70debconf
--------内容--------
APT::Cache-Limit "100000000"; →制限を追加
これを設定してapt-get updateを行ったら、問題なく更新リストが作成できた。
更新リストの数が多すぎる訳だから、apt-get update と apt-get upgrade を繰り返すことになる。
# apt-get update
# apr-get upgrade
これでうまくいけばいいのだが、更新リストを途中でぶった切ってしまっているわけで、
依存関係があるパッケージが同じapt-get upgradeコマンドで、更新されるとは限らない。
同期がずれたせいでインストールがうまくいかなかった場合は、-fオプションを与えてみるといいだろう。
# apt-get -f
これで同期がとれるはずである。 すべてのパッケージが更新されたら、制限を追加した「APT::Cache-Limit "100000000";」の部分を外しておくことを忘れずに!
|