防止在 Ubuntu 中卸载软件包

防止在 Ubuntu 中卸载软件包

因此,在今天意外的手指失误之后aptitude,它想要卸载mysql-server,这是在我们的数据库服务器上。由于它是一堆文本,我只是按了 Y,盲目地相信 apt 不会做任何疯狂的事情。它继续卸载我们数据库服务器上的 mysql。

那么,为了防止这种情况再次发生,我是否可以设置 apt/dpkg/aptitude/etc,以便永远不删除某个软件包?

理想的解决方案是将某个文件列在某个位置,并且这些包都无法使用标准工具卸载。您必须编辑该文件才能允许卸载该包。这算是“防止愚蠢的系统管理员的额外步骤”吗?

我尝试了,aptitude hold mysql-server但是aptitude remove mysql-serveraptitude 愉快地删除了 mysql

答案1

答案是注意你正在做的事情。 也可以看看我的答案针对这个问题有哪些推荐的方法可以保护远程 *nix 安装免受笨拙的管理员的攻击?

正如我在那里所说的没有什么可以保护你免受自己的愚蠢。您作为系统管理员,是仅有的阻碍你走向愚蠢和彻底灾难的东西。这是你的工作以避免这种情况。

你尝试实施的任何技术措施最终都会失败因为总有一天,无论你设置了什么,你都会在更低的层次上工作。特别是,你甚至不能依赖计算机进行双重检查每一个和你一起行动,因为你公然无视警告

当系统告诉你一些事情时阅读。 然后想想吧.然后行动。

答案2

类似这样的事情可能会有用:

编辑或创建文件/etc/apt/首选项并添加:

Package: icedove
Pin: version 2.0*
Pin-Priority: 1001

在此示例中,它将阻止 icedove 更新到 2.0* 以上的版本。这意味着如果您手动安装了 lenny 的 icedove 软件包(假设您讨厌较新的缓慢且繁琐的界面),其版本为 2.0.0.24-0,它将不会被 squeeze 的 icedove(当前版本为 3.0.11-1)覆盖(例如,当您运行 apt-get upgrade 时)。

有关更多信息,请查找有关“apt pinning”的文档,其内容如下:http://wiki.debian.org/AptPreferences

相关内容