防止在Ubuntu中卸载软件包

所以,今天有一个aptitude胖手指,它想卸载mysql-server ,这是在我们的数据库服务器上。 既然是一堆文字,我只是pressed了一下,一味的信任别人疯了。 然后继续在我们的数据库服务器上卸载我们的mysql。

所以,为了防止这种情况再次发生,无论如何我都可以设置apt / dpkg / aptitude / etc。 不删除某个包,永远?

理想的解决scheme应该是列出软件包的某个文件,这些软件包中的任何一个都不能使用标准工具来卸载。 您必须编辑该文件才能允许卸载该软件包。 “防止愚蠢的系统pipe理员的额外步骤”?

我试着aptitude hold mysql-server ,然后aptitude remove mysql-server ,但aptitude愉快地移除了mysql

答案是关注你在做什么 。 另请参阅我对这个问题的回答 从受pipe理的pipe理员维护远程* nix安装的build议方法是什么?

正如我所说, 没有什么可以保护你免于你自己的愚蠢 。 你作为系统pipe理员,是站在你的愚蠢和彻底的灾难之间的唯一的事情。 避免这种情况是你的工作

你试图实施的任何技术措施最终都会失败,因为有一天你会在任何你设置的地方下工作。 尤其是,你甚至不能依靠电脑双重检查你的每一个动作,因为你公然忽略了这个警告

当系统告诉你一些东西读它 。 然后想一想 。 然后行动。

像这样的东西可能会工作:

编辑或创build文件/ etc / apt / preferences并添加:

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

在这个例子中,它将防止icedove被更新到2.0以上的版本。 这意味着如果你手动安装了lenny's icedove软件包(比如你讨厌使用较新的慢速和繁琐的界面),那么它将不会被覆盖(例如,当你运行一个apt-get升级)时,被squeeze的icedove现在在版本3.0.11-1。

有关更多信息,请查找关于“固定”的文档,这是什么: http : //wiki.debian.org/AptPreferences