有没有办法自动更新已安装的程序?

有没有办法自动更新已安装的程序?

我已启用自动系统更新,但还安装了非系统应用程序(如 Google Chrome、Atom、Sublime Text、Spotify 等)。有没有办法将这些应用程序纳入自动更新过程,或者有没有其他方法可以确保我始终运行这些程序的最新版本?

答案1

系统通过搜索文件夹中列出的所有服务器/etc/apt/sources.list以及由其他软件安装程序或手动添加的所有服务器(/etc/apt/sources.list.d/以文件的形式)来检查更新software-name.list

如果您安装的软件在上述位置添加了条目,那么是的,系统也会检查该软件的更新。

例如,谷歌浏览器Spotify正常安装时请添加更新服务器。

答案2

以下是一个例子如何将 Google Chrome (deb) 添加到无人值守升级。这不适用于 Snaps 和其他非 deb 软件。我们假设您已经知道如何安全地编辑设置文件。

1)您需要知道包的来源。

所有源都应位于 或/etc/apt/sources.listetc/apt/sources.list.d/。查找提供包的源。

$ ls /etc/apt/sources.list.d/
google-chrome-stable.list
google-chrome-stable.list.distUpgrade

打开 .list 文件,查看底行的 URL

$ cat /etc/apt/sources.list.d/google-chrome-stable.list

### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main

在下一步中,我们将使用该 URL 的稍微更改的版本。

2)您需要了解源的起源字段。

Origin 字段隐藏在 apt 的工作文件中,但很容易找到:

$ grep Origin /var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_Release
Origin: Google LLC

3)将 Origin 添加到无人值守升级设置中

相关的无人值守升级设置位于文件顶部附近/etc/apt/apt.conf.d/50unattended-upgrades。对于大多数人来说,它看起来像这样:

// Automatically upgrade packages from these (origin:archive) pairs
//
// Note that in Ubuntu security updates may pull in new dependencies
// from non-security sources (e.g. chromium). By allowing the release
// pocket these get automatically pulled in.
Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}";
        "${distro_id}:${distro_codename}-security";
        // Extended Security Maintenance; doesn't necessarily exist for
        // every release and this system may not have it installed, but if
        // available, the policy for updates is such that unattended-upgrades
        // should also install from here by default.
        "${distro_id}ESM:${distro_codename}";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};

在字段的任意位置添加新的原点Allowed-Origins { }。以下是在底部添加的示例:

//      "${distro_id}:${distro_codename}-backports";
        "Google LLC:stable";
};

4)测试

通过运行 ,然后检查 /var/log/unattended-upgrades 中的 uu 日志来验证更改是否有效unattended upgrades。如果有错误,并且您无法找出错误,则撤消更改。

安全更新很重要——如果您犯了错误,请不要让它们被破坏。

相关内容