帮助更新脚本

帮助更新脚本

这是我在这个网站上的第一个问题,所以请耐心等待。我使用 Linux 已经有一段时间了,我想创建一个 shell 更新来自动化更新过程,而不使用 GUI,因为它很慢而且效率低下。我将几个命令连在一起,这样我就不必单独执行了,下面是命令。

sudo apt update && sudo apt upgrade && sudo apt autoremove && sudo apt autoclean

我的朋友也使用 Linux,他说 autoremove 命令可能会影响整个操作系统的稳定性,但我更看重安全性。我想问的是这个脚本是否可以,或者我应该以不同的方式执行,也许不使用 autoremove 或完全不同的结构。如果这个问题没有任何意义,请见谅,提前致谢。

答案1

我觉得这个命令没问题。关于你朋友所说的,我不明白“autoremove”为什么会影响系统的稳定性。根据手册页:

autoremove is used to remove packages that were automatically
installed to satisfy dependencies for other packages and are now no
longer needed as dependencies changed or the package(s) needing
them were removed in the meantime.

所以,如果系统变得不稳定,那基本上就说明apt在确定某个包是否不需要时犯了一个错误……

根据您想要实现的目标,您可能需要用 替换upgradefull-upgrade(请参阅的手册页apt以获取解释。)

作为替代方案,您可以考虑自动升级。也许你可以看看

但回到你最初的问题,你所写的命令对我来说看起来不错。

答案2

为了正确实现自动化,您应该:

  • 用于-yupgradeautoremove

    -y, --yes, --assume-yes自动对提示回答“是”;假定所有提示的答案都是“是”,并且以非交互方式运行。(通过man apt-get

  • 使用sudo一次对所有命令都运行它,而不是对每个命令都运行它,以避免在命令运行时间超过超时时输入密码sudo

sudo bash -c 'apt update && apt upgrade -y && apt autoremove -y && apt autoclean'

autoremove应该可以安全运行,但您可能想知道它的作用,以避免出现问题:如果您没有明确安装它,它会删除其他软件包不依赖的所有软件包。如果您不小心删除了元包(=不包含任何软件但依赖于其他软件包的软件包。例如ubuntu-desktop)。更多信息请参见此处


但是,您不需要运行自己的脚本,只需使用unattended-upgrades它即可。看这里

相关内容