自动更新

Zor*_*b29 5 upgrade scripts unattended-upgrades

我想为一个 0 linux 经验并且不想学习更多只是使用一些程序的人设置一台 Ubuntu 笔记本电脑(为年长的家庭成员替换 Windows;她真的很喜欢 ubuntu,发现它很容易使用,而且活泼:))。

我想确保应用所有更新。我知道(并且已启用/设置为每天一次完整更新)unattended-upgrades。但是,我担心如果笔记本电脑的使用时间很短,并自觉关闭,那么无人值守的东西可能无法应用升级。

  • 这种担心是基于现实吗?是否unattended-upgrades尝试在笔记本电脑打开时立即升级(似乎不是这样,因为apt每次打开它时我仍然安装了很多,尽管unattended-upgrades已设置),还是只在“每天 01.00 升级一次” am' 或类似的东西,在这种情况下它可能永远不会被调用?

  • 从根 crontab 调用这种脚本(即添加一个@reboot bash script_update.shto sudo crontab -e)有帮助吗?:

#!/bin/bash

# A little script to:
#   - wait that internet is available
#   - wait for the automatic software update to be finished running
#   - apply the apt-get update and upgrade to the system
# This means that updates are installed automatically without
# asking confirmation. This should be ok for most vanilla uses.
#
# SETUP
#
# set the XX_SET_PATH to the log file
#
# To make it run automatically, put it in crontab:
# sudo crontab -e
# and in the root crontab that gets opened:
# @reboot bash PATH_TO_THE_SCRIPT.sh

function check_online
{
    netcat -z -w 5 8.8.8.8 53 && return 1 || return 0
}

function wait_online
{
    echo "wait to be online"
    declare -i IS_ONLINE=0

    while [ $IS_ONLINE -eq 0 ]; do
        # We're offline. Sleep for a bit, then check again
        sleep 2;
        check_online
        IS_ONLINE=$?
    done

    echo "now online"
}

{
    echo " "
    echo "new reboot"
    date
    whoami
    wait_online
    echo "wait for 20 minutes to make sure no conflicting catch of dpkg lock"
    sleep 1200
    echo "now start update upgrade..."
    apt-get update
    apt-get upgrade -y
    apt-get autoremove
} >> XX_SET_PATH 2>&1

Run Code Online (Sandbox Code Playgroud)

use*_*733 13

无人值守升级 (UU) 将在计时器通知后立即尝试运行。如果系统恰好在计时器到期时关闭,则 UU 将在启动期间注意到并在启动后运行几分钟。

  • 您不需要添加自己的脚本。UU 开发人员预料到了这个用例。

当人们从多个口袋进行更新时,会出现您自己的用例(“我仍然使用 apt 安装了很多东西”):-security、-updates、第三方存储库等。UU 的默认设置是仅使用 -security。如果您愿意,您可以更改这些设置,但对于临时用户来说通常没有必要。

  • 您无需更改 UU 设置以匹配您的使用情况。默认设置似乎适合您设想的用户的预期用途。

Firefox 和其他由 Ubuntu 分发的 Web 浏览器(即不是 Chrome)通过 -security 口袋进行更新。这意味着您的用户将始终可以通过 UU 获得最安全的浏览器版本。

建议:在 LTS 版本上设置临时用户可能是明智的,以减少您必须提供的支持量。