Debian11/KDE (以前のバージョン) でパッケージをアップグレードしようとすると、sudo apt-get update
次のエラーメッセージが表示されます。
Cannot get the exclusive lock on the package backend.
Please close any other legacy packaging tools that may be open.
E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process {id} (unattended-upgr)
W: Be aware that removing the lock file is not a solution and may break your system.
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
プロセスマネージャ(KSysguard)では、プロセスツリーは次のとおりです。
apt.systemd.dai->apt.systemd.dai->無人-upgr->無人-upgr->無人-upgr
KSysGuardで「プロセスの終了」を試みると再起動します(とにかく解決策ではありません)。しばらくするとプロセスは完了しますが、まだ実装されていないセキュリティ更新プログラムがあるため、これが何をしているのか/どのように役立つのかわかりません。
無人アップグレードを中断したり、apt-getを使用してアップグレードしたときに自動的に中断されるように設定するにはどうすればよいですか?私はパッケージの更新ができるだけ簡単になるべきだと思います(基本的に)。 GNU / Linuxを初めて起動したり、突然のアップデートの問題を解決するのに時間を費やすことに興味がない人にとっては、アップデートをブロックすることが不明な理由で問題になる可能性があります。一部の人々は(コマンドを介して)手動で実行することを提案します。一時的に停止(再起動が必要な場合もあります)または永久に削除無人アップグレードパッケージ。
unattended-upgrを永久に削除することに関して、バックグラウンドでパッケージをアップグレードすることは役に立つと思いますが、unattended-upgrは実際にそうしますか?
とにかく、これがバグやDebianのデフォルト設定の問題ではない場合、現在ではユーザーフレンドリー/利便性/UXが低下しているようです。
答え1
unattended-upgrades
シャットダウン中に実行できるため、プロセスをapt
中断せずにいつでも実行できます。apt
このオプションを有効にします。/etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::InstallOnShutdown "true";
cat /etc/apt/apt.conf.d/50unattended-upgrades
:
// Install all updates when the machine is shutting down
// instead of doing it in the background while the machine is running.
// This will (obviously) make shutdown slower.
// Unattended-upgrades increases logind's InhibitDelayMaxSec to 30s.
// This allows more time for unattended-upgrades to shut down gracefully
// or even install a few packages in InstallOnShutdown mode, but is still a
// big step back from the 30 minutes allowed for InstallOnShutdown previously.
// Users enabling InstallOnShutdown mode are advised to increase
// InhibitDelayMaxSec even further, possibly to 30 minutes.
//Unattended-Upgrade::InstallOnShutdown "false";