对于 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 个不同的软件包,但这是作弊。

源代码

相关内容