Linux Mint 的“mintupdate”命令行等效項是什麼?
Linux Mint 有一個不錯的基於 GUI 的更新管理器,帶有可選擇的更新層。預設值適用於可能的 5 個級別中的第 1 級到第 3 級。但是,我經常使用 SSH 而不是訪問物理機來處理許多 Linux Mint 桌面系統的管理任務。如何從命令行實現相同的功能?
我已經知道
apt-get update
andapt-get upgrade
命令,但據我所知,這些命令仍然沒有/usr/lib/linuxmint/mintUpdate/mintUpdate.py
任何與 Update Manager ( )的五層行為等效的功能。更新:當我最初提出這個問題時,我正在尋找 Linux Mint 17 解決方案。我現在在我們的一些系統上執行 18.3,並且已經能夠為這些系統提供答案。
此答案適用於 Linux Mint 18.2 及更高版本,儘管我僅針對 18.3 對其進行了測試。
一個名為的命令行工具
mintupdate-tool
現在包含在發行版中。它在 18.2 版本說明中宣傳為“此工具支持 UI 中可用的所有功能,包括級別選擇、安全更新、核心更新和黑名單”。那個“UI”指的是更新管理器,這個說法離真實還有很長的路要走,但它是向前邁出的一大步。這個工具沒有
man
頁面,所以:$ mintupdate-tool --help usage: mintupdate-tool [-h] [-k | -nk] [-s] [-r] [-d] [-y] [--install-recommends] [-l LEVELS] command positional arguments: command command to run (possible commands are: list, upgrade) optional arguments: -h, --help show this help message and exit -k, --kernel ignore settings and include all kernel updates -nk, --no-kernel ignore settings and exclude all kernel updates -s, --security ignore settings and include all security updates -r, --refresh-cache refresh the APT cache -d, --dry-run simulation mode, don't upgrade anything -y, --yes automatically answer yes to all questions --install-recommends install recommended packages (use with caution) -l LEVELS, --levels LEVELS ignore settings and restrict to this list of levels
Update Manager 的首選項決定了預設行為。這些首選項位於活動使用者的
dconf
數據儲存(模式com.linuxmint.updates)中,因此在命令前面加上 plainsudo
不會改變這一點。這很重要,因為沒有 root 權限就無法進行更新。警告:如果在 Update Manager 首選項中啟用了包含安全更新,則無法排除它們。
“–levels”的選項解析有點草率且不明顯。LEVELS 是一個字元串,用於搜尋數字 1 到 5 的外觀。它不是門檻值或範圍。它也不檢查無效字元,因此“14”、“1-4”、“1,4”、“4..1”和“two4u14me”都只表示級別 1 和 4。
要根據使用者的 Update Manager 首選項簡單列出預設安裝的可用更新,您可能需要以下內容:
$ mintupdate-tool -r list
為了避免意外,您可能不希望在以下命令中使用“-r”選項。
要使用此工具執行實際更新的試執行:
$ mintupdate-tool --dry-run upgrade
如果我們使用更新管理器而不修改顯示的選擇,實際執行相同的更新:
$ sudo mintupdate-tool upgrade
在我看來,不包括更新管理器中出現的“list”命令的更新類型列並且不提供查詢更新描述或更改日誌的方法是一個重大的疏忽。我目前的例子:
$ sudo mintupdate-tool -l 12345 list 4 package mesa 17.2.4-0ubuntu1~16.04.4
這是一個名為“mesa”的 4 級更新,它不是包名稱,因此我無法使用我知道的任何其他命令行工具查詢它。我從更新管理器知道這個特定的更新實際上包括 9 個不同的包,但那是作弊。
源程式碼。
沒有其他選擇,因為 mintUpdate.py 只是 GUI (gtk),直到我決定寫一個。我在我的部落格——Linux Mint 更新 CLI中描述了它,你也可以在那裡找到 gitHub 的連結。我也會發布一些截圖。