Debian \ Ubuntu 指定某個套件不更新

BUBU 因為有將某些套件有重新手動設定過如果更新後設定就會失效,所以限制某套件不便新有便必要的時候再手動更新即通

運行環境


環境都是在 「Proxmox VE 」 虛擬系統上架設,都是以 「 LXC 」模式為主,除非有特殊狀況會告知使用 「 VM 」 模式

  • 系統環境: Debian 10

安裝或測試過程


  • 停止更新

使用 apt-mark 加上 hold 選項,後面跟一個或多個套件名稱就可以把它們設定為停止自動更新,另外,套件名稱也可以用 * 號來讓 apt-mark 指令自己去搜尋符合的套件名稱來變更狀態,不過,用這個方式的話,要多注意一下它執行後所列出的符合清單哩 !

apt-mark hold nginx

or

apt-mark hold nginx
  • 回復可以更新

操作方式和上述的停止自動更新相同,只是把 hold 選項改成 unhold 或 auto 選項就可以了,而 unhold 和 auto 選項的差別,主要是在 unhold 只是解除 hold 的狀態,而 auto 則是回復交由套件管理系統自動管理,但 unhold 只是單純的取消掉 hold 的狀態而已哩 !

apt-mark auto nginx

or

apt-mark unhold nginx
  • 設定為不被自動移除

當套件的更新狀態被設定為 auto 時,當系統發現某個套件沒有人用到它時,就會自動把它移除,如果你不希望系統幫你自動移掉某個你想用的套件時,就可以用 manual 選項來把防止被自動移除哩 !

apt-mark manual mongodb-dev
  • 檢視手動、停用及自動更新的套件清單

最後,可以用 showhold 和 showauto 選項來看那些套件現在是 hold 的或是 auto 的狀態哩 !

  • 檢視停用自動更新清單
apt-mark showhold
  • 檢視手動移除清單
apt-mark showmanual
  • 檢視自動更新清單
apt-mark showauto | more

備註





參考相關網頁