当前位置: 首页 > news >正文

【Ubuntu】如何设置 Ubuntu 自动每日更新:轻松保持系统安全

如何设置 Ubuntu 自动每日更新:轻松保持系统安全

大家好!今天我们来聊一个非常实用的话题——如何让 Ubuntu 系统自动每日更新。如果你是一个 Ubuntu 用户,尤其是服务器管理员,你可能会经常遇到这样的问题:系统需要频繁更新以修复安全漏洞或获取新功能,但手动更新既麻烦又容易忘记。那么,有没有一种方法可以让 Ubuntu 自动完成这些更新呢?答案是肯定的!今天我就来教大家如何轻松实现这一目标。


问题描述:为什么需要自动更新?

Ubuntu 是一个稳定且安全的操作系统,但它也像其他系统一样,需要定期更新来修复漏洞、提升性能或添加新功能。尤其是安全更新,如果不及时安装,可能会让系统暴露在风险中。然而,手动更新不仅耗时,还容易因为忙碌而忘记。对于服务器来说,这更是一个大问题,因为服务器的安全性直接关系到业务的稳定性。

那么,有没有一种方法可以让 Ubuntu 自动完成这些更新,同时又不影响系统的正常运行呢?答案是:使用 unattended-upgrades 工具


解决方案:使用 unattended-upgrades 实现自动更新

unattended-upgrades 是 Ubuntu 官方提供的一个工具,专门用于自动化系统的更新过程。它可以自动下载并安装安全更新,甚至可以配置为自动清理旧包或重启系统(如果需要)。下面,我们就一步步来配置它。


第一步:安装 unattended-upgrades

首先,我们需要确保系统上已经安装了 unattended-upgrades。如果没有安装,可以通过以下命令来安装:

sudo apt update
sudo apt install unattended-upgrades

第二步:配置自动更新

安装完成后,我们需要对 unattended-upgrades 进行一些配置,以确保它能够按照我们的需求工作。

  1. 打开配置文件:

    sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
    
  2. 在文件中,你会看到一些默认配置。确保以下部分被启用(通常是默认启用的):

    Unattended-Upgrade::Allowed-Origins {"${distro_id}:${distro_codename}";"${distro_id}:${distro_codename}-security";"${distro_id}ESM:${distro_codename}";
    };
    

    这些配置表示系统会自动安装来自安全仓库的更新。如果你还需要其他类型的更新(如常规更新或 backports),可以在这里添加。

  3. (可选)启用自动清理旧包:
    如果你希望系统自动清理不再需要的旧包,可以添加或取消注释以下行:

    Unattended-Upgrade::Remove-Unused-Dependencies "true";
    
  4. 保存并退出编辑器(Ctrl+O 保存,Ctrl+X 退出)。


第三步:启用每日更新

接下来,我们需要确保系统每天都会检查并安装更新。

  1. 打开自动更新配置文件:

    sudo nano /etc/apt/apt.conf.d/20auto-upgrades
    
  2. 添加或确保以下内容存在:

    APT::Periodic::Update-Package-Lists "1";
    APT::Periodic::Download-Upgradeable-Packages "1";
    APT::Periodic::AutocleanInterval "7";
    APT::Periodic::Unattended-Upgrade "1";
    

    这些配置的含义如下:

    • Update-Package-Lists "1":每天更新包列表。
    • Download-Upgradeable-Packages "1":每天下载可升级的包。
    • AutocleanInterval "7":每 7 天清理一次旧包缓存。
    • Unattended-Upgrade "1":每天自动安装更新。
  3. 保存并退出编辑器。


第四步:测试配置

为了确保配置正确,我们可以进行一次模拟运行:

sudo unattended-upgrades --dry-run --debug

这个命令会模拟自动更新的过程,但不会实际安装任何更新。如果一切正常,你会看到一些日志输出,说明配置没有问题。


第五步:监控日志

自动更新的日志会保存在 /var/log/unattended-upgrades/ 目录下。你可以随时查看这些日志,了解更新的情况:

cat /var/log/unattended-upgrades/unattended-upgrades.log

可选:自动重启

如果你的系统需要重启才能完成某些更新(如内核更新),你可以配置自动重启功能。只需在 /etc/apt/apt.conf.d/50unattended-upgrades 中添加以下内容:

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "02:00";

这样,系统会在凌晨 2 点自动重启(如果需要)。


总结

通过以上步骤,你的 Ubuntu 系统就可以实现每日自动更新了!这不仅省去了手动更新的麻烦,还能确保系统始终处于最新、最安全的状态。对于服务器管理员来说,这无疑是一个巨大的时间节省工具。

当然,自动更新虽然方便,但也需要谨慎使用。如果你管理的系统非常重要,建议在启用自动更新前,先在测试环境中验证其稳定性。此外,定期检查更新日志也是一个好习惯,以确保一切正常运行。

希望这篇文章对你有帮助!如果你有任何问题或建议,欢迎在评论区留言讨论。下次再见!😊


小提示:如果你喜欢这篇文章,别忘了分享给你的朋友或同事哦!让更多人受益于自动化的便利!

相关文章:

【Ubuntu】如何设置 Ubuntu 自动每日更新:轻松保持系统安全

如何设置 Ubuntu 自动每日更新:轻松保持系统安全 大家好!今天我们来聊一个非常实用的话题——如何让 Ubuntu 系统自动每日更新。如果你是一个 Ubuntu 用户,尤其是服务器管理员,你可能会经常遇到这样的问题:系统需要频…...

江科大STM32入门——UART通信笔记总结

wx:嵌入式工程师成长日记 1、简介 简单双向串口通信有两根通信线(发送端TX和接收端RX)TX与RX要交叉连接当只需单向的数据传输时,可以只接一根通信线当电平标准不一致时,需要加电平转换芯片 传输模式:全双工;时钟&…...

github gitbook写书

github创建新的仓库 在仓库中添加目录 ‘SUMMARY.md # Summary * [简介](README.md)gitbook 新建一个site https://www.gitbook.com/ 注册账号 取名字 一路 next,注意选免费版 最后 gitbook同步到github 你在主页可以看到 刚刚的test网站 点击右上角圈出来…...

探秘MetaGPT:革新软件开发的多智能体框架(22/30)

一、MetaGPT 引发的 AI 变革浪潮 近年来,人工智能大模型领域取得了令人瞩目的进展,GPT-3、GPT-4、PaLM 等模型展现出了惊人的自然语言处理能力,仿佛为 AI 世界打开了一扇通往无限可能的大门。它们能够生成流畅的文本、回答复杂的问题、进行创…...

【优选算法】Binary-Blade:二分查找的算法刃(下)

文章目录 1.山脉数组的峰顶索引2.寻找峰值3.寻找旋转排序数组中的最小值4.点名希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力! 本篇接上一篇二分查找,主要通过部分题目熟悉二分查找的进阶使用,重点强调二段性,…...

Improving Language Understanding by Generative Pre-Training GPT-1详细讲解

Improving Language Understanding by Generative Pre-Training 2018.06 GPT-1 0.有监督、半监督、无监督 CV:ImageNet pre-trained model NLP:pre-trained model? 在计算机视觉中任务包含分类、检测、分割,任务类别数少,对应…...

分治算法——优选算法

本章我们要学习的是分治算法,顾名思义就是分而治之,把大问题分为多个相同的子问题进行处理,其中我们熟知的快速排序和归并排序用的就是分治算法,所以我们需要重新回顾一下这两个排序。 一、快速排序(三路划分&#xf…...

EtherCAT转Modbus网关与TwinCAT3的连接及配置详述

在工业自动化控制系统中,常常需要整合不同的通信协议设备。本案例旨在展示如何利用捷米特JM-ECT-RTU协议转换网关模块,实现 EtherCAT 网络与 Modbus 设备之间的无缝连接,并在 TwinCAT3 环境中进行有效配置,以构建一个稳定可靠的自…...

Apache Hadoop YARN框架概述

一、YARN产生和发展简史 1.1背景 数据、程序、运算资源(内存、CPU)三者组在一起,才能完成数据的计算处理过程。在单机环境下,三者之间协调配合不是太大问题。为了应对海量数据的处理场景,Hadoop软件出现并提供了分布…...

三甲医院等级评审八维数据分析应用(八)--数据治理的持续改进与反馈机制篇

一、引言 1.1 研究背景与意义 当前三甲医院在数据管理方面暴露出诸多棘手问题。一方面,数据治理缺乏系统性与规范性,数据标准不统一,不同科室、信息系统之间的数据格式各异、编码混乱,导致数据整合与共享困难重重,严重制约了数据分析的准确性与深度。以某三甲医院为例,…...

XML通过HTTP POST 请求发送到指定的 API 地址,进行数据回传

代码结构说明 这段代码的主要功能是: 从指定文件夹中读取所有 XML 文件。 将每个 XML 文件的内容通过 HTTP POST 请求发送到指定的 API 地址。 处理服务器的响应,并记录每个文件的处理结果。 using System; using System.IO; using System.Net; usin…...

科大讯飞前端面试题及参考答案 (下)

除了 echarts 还了解其它画图工具吗? 除了 Echarts,还有不少优秀的画图工具可供选择使用。 Highcharts:它是一款功能强大且应用广泛的图表绘制工具,支持多种常见的图表类型,像柱状图、折线图、饼图、散点图等,同时也能创建较为复杂的图表,比如仪表盘图表、极坐标图等。H…...

【理论】测试框架体系TDD、BDD、ATDD、DDT介绍

一、测试框架是什么 测试框架是一组用于创建和设计测试用例的指南或规则。框架由旨在帮助 QA 专业人员更有效地测试的实践和工具的组合组成。 这些指南可能包括编码标准、测试数据处理方法、对象存储库、存储测试结果的过程或有关如何访问外部资源的信息。 A testing framewo…...

如何进行全脑思维(左脑,右脑,全脑)

1)每人都有一个价值100万美元的点子 . 谁能帮助实施这个点子? . 实施这个点子需要哪些资源? . 推行这个点子需要得到哪些许可? . 是否有实施这个点子的最佳时间? . 作为实施的开始,最简单的做法是什么? 2) 进行理性的、逻辑的、量的思维那一半,而排除了大脑的…...

领域驱动设计 2

1.幂等设计 1.1.定义 无论进行多少次相同的操作,结果都保持一致的设计。 1.2.写操作的幂等性 1.2.1.Insert 指定唯一标识写,是具有幂等性的。 不指定唯一标识写,不具备幂等性。 1.2.2.Update 如果更新操作依赖于与历史状态&#xff0c…...

十年后LabVIEW编程知识是否会过时?

在考虑LabVIEW编程知识在未来十年内的有效性时,我们可以从几个角度进行分析: ​ 1. 技术发展与软件更新 随着技术的快速发展,许多编程工具和平台不断更新和改进,LabVIEW也不例外。十年后,可能会有新的编程语言或平台…...

ARM交叉编译Boost库

Boost下载&#xff1a;点击跳转 编译过程&#xff1a; 生成project-config.jam ./bootstrap.sh --with-librariesfilesystem,thread --with-toolsetgcc 2. 修改project-config.jam&#xff08;位于第12行附近&#xff09; if ! gcc in [ feature.values <toolset> ] …...

uniapp:钉钉小程序需要录音权限及调用录音

{// ... 其他配置项"mp-dingtalk": {"permission": {"scope.userLocation" : {"desc" : "系统希望获得您的定位用于确认您周围的设施数据"},"scope.bluetooth" : {"desc" : "你的蓝牙权限将用于小…...

Swin Transformer模型详解(附pytorch实现)

写在前面 Swin Transformer&#xff08;Shifted Window Transformer&#xff09;是一种新颖的视觉Transformer模型&#xff0c;在2021年由微软亚洲研究院提出。这一模型提出了一种基于局部窗口的自注意力机制&#xff0c;显著改善了Vision Transformer&#xff08;ViT&#xf…...

gitee 使用教程

前言 Gitee 是一个中国的开源代码托管平台&#xff0c;类似于 GitHub&#xff0c;旨在为开发者提供一个高效、稳定、安全的代码管理和协作开发环境。Gitee 支持 Git 协议&#xff0c;可以托管 Git 仓库&#xff0c;进行版本控制、代码协作、项目管理等操作。 1. Gitee 的主要…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...