最近在弄 Ubuntu 的機器出現一個問題,偶爾會 apt lock …
Reading package lists... Done E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable) E: Unable to lock directory /var/lib/apt/lists/
尤其是在 AWS EC2 上跑的時候,有時候 Autoscaling 要裝 Application 就會跟已經在執行的 apt 衝突 … 結果這台 EC2 就 Autoscaling 失敗。
後來找了一下 Ubuntu 的 Apt 看有沒有什麼 cronjob .. 事後找到幾個會觸發 apt 的東西 …
- snap:這個也是在 Ubuntu 上的套件管理工具,定期會向 ubuntu repository 更新 ..
- apt.conf.d 這裡面的 unattended-upgrades 定期更新
如果你真的真的不想要讓版本自動更新的話 … 就可以用以下步驟停用
snap 的話:
$ sudo systemctl disable {snapd,snapd.socket,snapd.refresh.timer} $ sudo systemctl stop {snapd,snapd.socket,snapd.refresh.timer}
apt 的 security update 寫在 apt.conf.d 的 20auto-upgrades,預設是每天更新 ..
# /etc/apt/apt.conf.d/20auto-upgrades APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1";
如果不更新就設為 0 就好了,這邊的數字是以 “天” 為單位。