目录:
上期回顾
在上期内容中 Ubuntu零基础入门到精通【5.4讲】:如何远程访问与 SSH 配置?,我们深入探讨了远程访问与 SSH 配置,聊了聊如何安装和配置 SSH 服务器,细致剖析了 SSH 密钥认证的设置与管理,还捎带讲了 SCP 和 SFTP 进行安全文件传输的优雅操作。总之,这些小技巧和配置帮我们将远程管理的安全性与便捷性提升了好几个档次!本期我们换个视角,来谈谈 Ubuntu 系统更新与补丁管理,这是确保系统安全和稳定的重要环节(也可能是你在小小系统管理中最“理所当然”忽视的那一环)。
前言
让我们面对现实吧,系统更新和补丁管理可能听起来枯燥无趣,但它们却是每个操作系统背后的安全与性能保障。不小心忘了某个补丁?那么等着吧——系统会和那些被遗忘的漏洞一起拖你下水,直到漏洞被利用的那一天。幸运的是,Ubuntu 对用户的需求还算“体贴”,提供了灵活的更新策略:你可以手动更新,或者用自动更新来省心省事。在这期内容中,我们将手把手带你挑选适合的更新策略,并深入解析如何使用 unattended-upgrades
工具实现自动安全更新(让系统自己打补丁,减轻负担!)。
摘要
本文将带你了解 Ubuntu 系统更新与补丁管理的方方面面。我们将讨论各种更新策略的选择(手动还是自动,这个问题严肃地讲还得看“性格”),然后着重讲解如何配置 unattended-upgrades
进行自动安全更新。通过这些内容,你将有能力制定最适合的更新策略,确保你的系统稳定安全,运行如飞!
正文
系统更新策略的选择:手动更新还是自动更新?
手动更新
手动更新适合那些喜欢“亲自动手”的朋友。通过主动检查和应用系统更新,你将系统的未来掌控在自己手中,特别是生产环境中,手动更新可以规避自动更新可能带来的冲突。这里有几个步骤供参考:
-
检查系统更新:
使用apt
命令手动检查系统是否有可用更新。让你的系统如实报告当前状态:sudo apt update
-
安装更新:
使用apt upgrade
安装所有更新。安装时你还可以添加-y
参数自动确认,节约时间,但在生产环境中还是手动确认一下,确保安装包更新得“明明白白”:sudo apt upgrade
-
选择性更新:
如果只想更新某个软件包而不想“搞大动静”,你可以选择性更新。操作如下:sudo apt install package-name
-
清理系统:
更新完毕,进行一些“清扫工作”会让系统轻松不少。通过以下命令移除不再需要的依赖项:sudo apt autoremove
自动更新
自动更新通过系统定时任务帮助你定期检查并应用更新。适合桌面用户和开发环境的使用,免去了手动操作的烦恼。
-
配置自动更新:
打开“软件和更新”工具,设置更新频率和自动安装安全更新的选项。这简直就是“放养式”系统管理,适合那些更愿意专注于开发和其他工作的用户。 -
自动更新的优缺点:
- 优势:减少了人为疏忽导致的安全漏洞;系统始终保持最新,获得最新功能和修复。
- 劣势:在关键系统中,自动更新可能带来潜在的兼容问题(尤其是在有定制配置的环境中),请小心使用!
使用 unattended-upgrades
进行自动安全更新
unattended-upgrades
简介
unattended-upgrades
是 Ubuntu 中一个自动安装安全更新的实用小帮手,适合那些既想系统自动更新,又不想承担自动更新带来风险的用户。它可以自动下载并安装安全补丁,让系统省心运转,告别“漏洞”的困扰。
-
安装
unattended-upgrades
:
默认情况下,unattended-upgrades
通常是已安装的。如果还没有它,可以通过以下命令安装:sudo apt install unattended-upgrades
-
配置
unattended-upgrades
:
编辑/etc/apt/apt.conf.d/50unattended-upgrades
文件,根据需求进行定制:- 启用安全更新:
Unattended-Upgrade::Allowed-Origins { "${distro_id}:${distro_codename}-security"; };
- 自动删除旧内核:
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
- 自动重启策略:
Unattended-Upgrade::Automatic-Reboot "true";
- 启用安全更新:
-
启用
unattended-upgrades
:
使用以下命令启动unattended-upgrades
交互式配置过程,启用或禁用自动更新:sudo dpkg-reconfigure --priority=low unattended-upgrades
-
查看更新日志:
查看/var/log/unattended-upgrades/
下的日志文件,了解系统自动更新的情况(掌握更新的进展,不再“蒙在鼓里”)。
自动更新管理技巧
-
排除特定包:
不希望自动更新的软件包可以加入黑名单,通过编辑/etc/apt/apt.conf.d/50unattended-upgrades
文件实现:Unattended-Upgrade::Package-Blacklist { "package-name"; };
-
测试配置:
使用以下命令测试配置是否正确:sudo unattended-upgrade -d
-
定期检查:
虽然自动更新是个好东西,但建议定期检查系统状态,以便掌控更新的最新动向。
拓展
LTS vs. 非 LTS 更新
Ubuntu 提供 LTS(长期支持)和非 LTS 版本。LTS 适合追求稳定性的用户,而非 LTS 则适合那些喜欢尝鲜的开发者。对于 LTS 用户来说,安全更新最重要,而非 LTS 用户可以选择更多的功能更新。
apt
vs. snap
更新
除了传统的 apt
软件包管理,Ubuntu 还支持 Snap 包管理系统。了解 apt
和 Snap 的区别,可以帮助你管理系统中的不同类型的软件包。
滚动发布 vs. 固定发布
滚动发布模型(如 Arch Linux)不断更新,没有明确的版本周期,而固定发布模型(如 Ubuntu)则提供稳定的版本更新。Ubuntu 的发布模式在稳定性与功能更新之间找到了平衡。
总结
通过学习 Ubuntu 系统更新策略的选择和 unattended-upgrades
的使用,你可以确保系统始终保持最新状态,减少安全漏洞风险。无论是手动管理,还是选择自动更新,掌握这些技巧都可以让系统管理更加游刃有余。
下期内容预告
在下一期,我们将进入日志管理与监控的神秘领域。通过有效的日志管理和监控,你可以随时掌握系统的健康状况,迅速定位故障源头,确保系统的稳定运行。内容包括:
- 日志管理工具:介绍
journalctl
、rsyslog
等日志管理神器,让你轻松查询系统事件。 - 日志分类与轮换:如何管理系统和应用日志,按需清理,释放系统空间。
- 实时监控与报警:配置报警通知,在系统出现异常的第一时间得到反馈。
通过这些技能,你将成为系统的“幕后侦探”,确保每个系统事件都尽在掌控之中。敬请期待第 6.2 节!
🧧🧧 文末福利,等你来拿!🧧🧧
在您深入学习 Ubuntu 的过程中,逐渐掌握从基础到高级的各种技能是非常令人振奋的!无论是服务器部署、云平台管理,还是内核优化和网络配置,这些都是提升自己技术水平的重要环节。如果您发现某一章节特别吸引人,或者有想要深入了解的内容,欢迎您订阅此专栏《Ubuntu零基础入门到精通》。通过订阅,您可以第一时间获取到完整的教程和后续更新,确保不会错过任何重要的知识和实用技巧,你值得拥有。
学习的旅程没有终点,在这套Ubuntu学习指南中,我会带你深入系统,掌握从入门到进阶的各项技能——无论你是初学者,还是想进一步提升Linux技巧的开发者,这里都有你需要的全面知识与实战案例。跟着bug菌学,准没错!!!
✨️ Who am I?
我是bug菌,优快云 | 掘金 | InfoQ | 51CTO | 华为云 | 阿里云 | 腾讯云 等社区博客专家,C站博客之星Top30,华为云2023年度十佳博主,掘金多年度人气作者Top40,51CTO年度博主Top12,掘金/InfoQ/51CTO等社区优质创作者;全网粉丝合计 30w+;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试真题、4000G PDF电子书籍、简历模板等海量资料,你想要的我都有,关键是你不来拿。
–End