do-release-upgrade
を使用してシステムをアップグレードすると、更新プロセスが失敗し、dpkg --configure -a
を使用して手動でプロセスを終了するように指示されることがあります。これは深刻な問題ではありません-依存関係の問題を手動で解決し、アップグレードプロセスがすべて正常に機能した後。
ただし、do-release-upgrade
スクリプトには、アップグレードの終了後にクリーンアッププロセスがあります。
Remove obsolete packages?
XXX packages are going to be removed.
Continue [yN] Details [d]y
古いバージョンのシステムから古いパッケージを削除します。
自動アップグレードが失敗し、手動でアップグレードを完了すると、このプロセスが実行されないため、古いバージョンの古いパッケージがシステムにインストールされたままになります。
手動でアップグレードを完了した後、「古いパッケージの削除」プロセスを手動で実行するにはどうすればよいですか?
これをテストします:
ターミナルを開き、
押す Ctrl+Alt+T
それを実行します:
Sudo -i
apt-get update
apt-get autoremove
apt-get clean
UNUSCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
apt-get remove --purge $UNUSCONF
NEWKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
ADDKERNEL="linux-(image|headers|ubuntu-modules|restricted-modules)"
METAKERNEL="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"
UNUSKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $ADDKERNEL |grep -vE $METAKERNEL|grep -v $NEWKERNEL)
apt-get remove --purge $UNUSKERNELS
update-grub
「古いパッケージの削除」は実際にはSudo apt-get autoremove
を実行するだけだと思います。それを試して、それが役立つかどうかを確認してください。
無関係な質問のこの答え は、使用されていないものをより多く削除するように見えるユーティリティとコマンドを提供する可能性があります:
Sudo deborphan | xargs Sudo apt-get -y remove --purge