對於 Linux Mint,相當於「mintupdate」的命令列是什麼?

對於 Linux Mint,相當於「mintupdate」的命令列是什麼?

Linux Mint 有一個基於 GUI 的漂亮更新管理器,具有可選擇的更新層。預設值是 1 到 3 級(可能有 5 個等級)。然而,我經常使用 SSH 處理許多 Linux Mint 桌面系統的管理任務,而不是存取實體機。如何從命令列實現相同的功能?

我已經知道apt-get updateapt-get upgrade命令,但據我所知這些命令仍然有效不是具有與 Update Manager ( ) 的五層行為等效的任何功能/usr/lib/linuxmint/mintUpdate/mintUpdate.py

更新:當我最初提出這個問題時,我正在尋找 Linux Mint 17 解決方案。我現在在我們的一些系統上運行 18.3,並且能夠為這些問題提供答案。

答案1

沒有其他選擇,因為 mintUpdate.py 只是 GUI (gtk),直到我決定寫一個。我在我的部落格中描述了它 -Linux Mint 更新 CLI您也可以找到 gitHub 的連結。我也會發布一些螢幕截圖。

答案2

在Mint 19上,有一個mintupdate-cli與GUI版本具有相同功能的工具mintupdate。透過其選項取得用法-h

但是我沒有找到它的線上幫助頁(有man mintupdate-cli)。所以我無法從應用程式本身找到它的原始碼和作者。經過一番搜索後,看起來它是薄荷更新專案:

https://github.com/linuxmint/mintupdate/blob/master/usr/lib/linuxmint/mintUpdate/mintupdate-cli.py

答案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

更新管理器的首選項決定預設行為。這些首選項位於活動用戶的dconf資料儲存中(架構com.linuxmint.updates),因此在命令前面加上 plainsudo不會改變這一點。這很重要,因為沒有 root 權限就無法進行更新。

警告:如果在更新管理器首選項中啟用了包含安全性更新,則無法排除它們。

「--levels」的選項解析有點草率且不明顯。 LEVELS 是一個字串,用於搜尋數字 1 到 5 的出現。它也不檢查無效字符,因此“14”、“1-4”、“1,4”、“4..1”和“two4u14me”都僅表示等級 1 和 4。

要簡單地列出根據使用者的更新管理器首選項預設安裝的可用更新,您可能需要這樣做:

$ mintupdate-tool -r list

為了避免意外,您可能不希望在以下命令中使用“-r”選項。

若要使用此工具執行實際更新的演練,請執行以下操作:

$ mintupdate-tool --dry-run upgrade

如果我們使用更新管理器而不修改顯示的選擇,實際上會得到相同的更新:

$ sudo mintupdate-tool upgrade

在我看來,不包括更新管理器中顯示的“列表”命令的更新類型列,並且不提供查詢更新描述或更改日誌的方法,這是一個重大疏忽。我目前的例子:

$ sudo mintupdate-tool -l 12345 list
4 package         mesa                                          17.2.4-0ubuntu1~16.04.4

這是一個名為“mesa”的 4 級更新,它不是軟體包名稱,因此我無法使用我所知道的任何其他命令列工具來查詢它。我從更新管理器知道這個特定的更新實際上包含 9 個不同的軟體包,但這是作弊。

原始碼

相關內容