在 apt 和 snap 中自动更新是一个好主意吗?

在 apt 和 snap 中自动更新是一个好主意吗?

为了节省每次更新时的输入,我创建了以下脚本:

#!/usr/bin/env bash
set -e

patching(){
    apt-get update -y;
    DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y;
    snap refresh
    apt autoremove -y
};

patching;

(问题零:剧本贯穿始终,但是否存在明显的疏漏或需要改进的地方?)

问题 1:这是个好主意吗?如果是,为什么不update默认使用呢autoremovedist-upgrade

问题2:与单独执行命令相比,运行脚本时是否会出现问题?

答案1

只要你的来源在控制之下,这应该没问题。

我每周都会在自己的服务器上运行类似的脚本:

apt-get update 
apt-get dist-upgrade -y
apt-get autoremove -y
apt-get clean
snap refresh

它已经运行了 3 年多,没有出现重大问题。

但是,您应该偶尔查看apt日志以查看安装了哪些内容。有一次,一些依赖项发生了变化,并安装了许多新软件包(几周后又被删除)。

在 中apt,命令updateupgradeautoremove是分开的,只是为了允许更多控制。

如果您想要完全确保脚本将按计划运行,您可以运行进行试运行的“预脚本”,并将输出保存到日志中,如下所示:

apt-get update >> /path/to/logfile
apt-get dist-upgrade -y --dry-run >> /path/to/logfile
apt-get autoremove -y --dry-run >> /path/to/logfile
apt-get clean --dry-run >> /path/to/logfile
snap refresh >> /path/to/logfile

然后,您可以在实际脚本运行之前检查所有内容。在这种情况下,请忽略apt-get update实际脚本。

相关内容