自动更新和升级?

自动更新和升级?

有没有办法使用 apt 或其他包管理器自动执行更新和升级:而不是在下面写下这些命令:sudo apt update sudo apt upgrade sudo apt-dist upgrade。

我的意思是系统自动更新或升级是否会有一些变化?

答案1

Ubuntu 系统已经自动更新/升级。这些功能已包含在常规 Ubuntu 安装中。

  • Snapd 每天检查四次 snap 软件包更新,并静默下载和安装发现的任何更新。这是 Snaps 的一项关键功能,也是全 Snap Ubuntu Core 自动保持完全更新的方式。请参阅https://snapcraft.io/docs/keeping-snaps-up-to-date有关如何编辑频率和其他设置。

  • 该系统apt update每天按计时器运行。计时器每天在随机时间运行,以避免撞击镜子。查看方法示例:

    $ systemctl list-timers apt-daily
    NEXT                        LEFT    LAST                        PASSED  UNIT            ACTIVATES
    Thu 2021-04-15 13:49:38 CDT 6h left Wed 2021-04-14 20:50:52 CDT 10h ago apt-daily.timer apt-daily.service
    
  • 系统运行apt upgrade 仅用于安全升级每天按计时器 (无人值守升级) 查看方法的示例:

    $ systemctl list-timers apt-daily-upgrade
    NEXT                        LEFT     LAST                        PASSED    UNIT                    ACTIVATES                
    Fri 2021-04-16 06:41:09 CDT 22h left Thu 2021-04-15 07:24:53 CDT 24min ago apt-daily-upgrade.timer apt-daily-upgrade.service
    

    您可以通过编辑配置文件轻松添加 Ubuntu 存储库的 -updates 部分(错误修复和非安全升级)/etc/apt/apt.conf.d/50unattended-upgrades。只需取消注释文件中的相应行即可。不建议使用 Ubuntu 存储库的其他部分(-proposed、-backports),因为可能会自动安装破坏系统的软件包。

    可以将非 Ubuntu deb 源(如 Chrome)添加到同一个自动升级配置中(就是这样),但不建议这样做。许多第三方源不与 Ubuntu 同步更新,导致意外的 apt 冲突。

答案2

请查阅优秀资源:https://help.ubuntu.com/community/AutomaticSecurityUpdates并随意选择任何建议的方法来自动更新:

  • 使用 GNOME 更新管理器
  • 使用无人值守升级包
  • 使用 cron-apt
  • 编写自己的 cron 脚本来调用 aptitude

我最喜欢的更新 Ubuntu 机器的方法是使用“unattended-upgrades”包:sudo dpkg-reconfigure --priority=low unattended-upgrades,它有一个快速交互式对话框,将创建文件:/etc/apt/apt.conf.d/20auto-upgrades包含以下两行:

APT::Periodic::Update-Package-Lists "1";

APT::Periodic::Unattended-Upgrade "1";

请查阅该文件/etc/apt/apt.conf.d/50unattended-upgrades,它有很多好东西,比如拒绝升级的软件包列表、自动删除未使用的软件包、升级后自动重启(即使在特定时间),您还可以决定可能要使用哪些其他选项进行更新。祝您更新愉快!!

答案3

编辑配置文件(这里用 nano – 用任何其他文本编辑器替换):

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

配置文件的开头应该是这样的: 按照图片代码

双斜杠“//”后面的所有内容都是注释,没有任何作用。要“启用”一行,请删除行首的双斜杠(将其替换为空或空格以保持对齐)。

最重要的是:通过删除开头的两个斜杠来取消注释“updates”行:

${distro_id}:${distro_codename}-updates

建议:删除未使用的内核包和依赖项,并通过取消注释和调整以下行来确保系统在需要时自动重新启动:

Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";  // check for semicolon in Ubuntu 18.04

Unattended-Upgrade::Remove-Unused-Dependencies "true";

Unattended-Upgrade::Automatic-Reboot "true";

Unattended-Upgrade::Automatic-Reboot-Time "02:38";

要在 nano 中保存更改,请使用Ctrl+ ,O然后按Enter。要退出,请使用Ctrl+ X

相关内容