当通过像Aptitude这样的软件包pipe理器来升级或安装一个软件包时,你会怎样确保一切正常?
如果软件包pipe理器在运行后会破坏某些东西,是否有清单或计划从中恢复?
有什么方法可以最大限度地减less更新包pipe理器时发生中断的风险,如果是这样的话:你是怎么做到的?
升级前仔细检查软件包列表中的更改。 我在这个部门看到的很多问题都是人们盲目地信任这些工具,然后却没有注意到apache因为其他漏洞而离开了。
升级时检查apt的输出。 如果事情再次发生,这可以立即提供反馈。
有一个适当和深入的监测解决schemeconfiguration。 Nagios将是一个开始。
准备好当前备份。
知道你在做什么。 不要因为闪光灯而按下button。
切换到热备份服务器。
只使用您的发行版中的软件包。
只使用来自同一版本的软件包。
不要安装非打包软件。
不要安装外部软件包。
先在您的QA服务器上尝试升级。
监测和testing。 监控确保它仍然正常运行(包pipe理器是否支出),如果您正在进行重大升级,则事先进行testing。 虚拟化可以帮助您轻松复制生产环境,自动化可以帮助您构build生产副本,并且拥有永久的临时环境可以为您提供尝试的地方。
当您进行升级或任何非平凡的维护时,您应该将整个过程完全脚本化,包括回滚和升级后testing。
“系统和networkingpipe理的实践”是系统pipe理员的一本好书,描述了这些过程以及如何把清单等放在一起。
我与rpm和yum / yumex ,但它翻译。
对于正在升级的关键软件包,我只是正常使用软件包,以确保其正常工作。 如果我升级bind ,那么我会做一些我希望成功的DNS请求。 如果我升级Apache httpd然后我打开一些网页。 如果我升级open-office那么我打开一两个文件。
在极less数情况下,当软件包升级离开东西时,我的恢复过程是:
如果在上面的步骤#4之后再次失败,那么我重复一次,但是回到以前的版本。
在任何重大升级之前,我会确保我的备份是最新的。 当我进行升级时,这只保留了一次,以便发现新版本与我的video卡不兼容,并被logging在案。 (我没有完全阅读发行说明,对我感到羞耻。)在升级过程中,当硬盘发生故障时,它也救了我一次。
因此,要回答关于最小化风险的第三个问题: