AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1213217
Accepted
Zorglub29
Zorglub29
Asked: 2020-02-27 09:38:56 +0800 CST2020-02-27 09:38:56 +0800 CST 2020-02-27 09:38:56 +0800 CST

自动更新

  • 772

我想为一个 linux 经验为 0 并且不想学习更多内容的人设置一台 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

scripts upgrade unattended-upgrades
  • 1 1 个回答
  • 908 Views

1 个回答

  • Voted
  1. Best Answer
    user535733
    2020-02-27T09:54:43+08:002020-02-27T09:54:43+08:00

    无人值守升级 (UU) 将在计时器指示后立即尝试运行。如果在计时器到期时系统碰巧关闭,那么 UU 会在启动过程中注意到并在启动后运行几分钟。

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

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

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

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

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

    • 13

相关问题

  • 使用 apt-get upgrade 时如何强制安装内核更新?

  • 从 8.04 LTS 升级到 10.04 LTS 的体验?

  • 分销升级的合理途径

  • 如何启用自动更新?

  • 在不使用标准升级系统的情况下升级有哪些替代方案?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve