如何防止 Ubuntu 自动更新?

如何防止 Ubuntu 自动更新?

我有以下问题。

最近我安装了vim(这是我自己编译的,因为 Ubuntu 存储库中的版本太旧了)。我用它安装了范围你成就了我插件。

现在每次 Ubuntu 检查更新时,它都会“升级”我的vimvim 你完成我插件停止工作(因为它实际上降低了我的vim...)。

我该如何告诉 Ubuntu 不要管它自己的事,不要“升级”我的vim?我不想每次系统更新时都取消选择复选框……

更新:我已经安装vim使用此处提供的步骤:https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source

答案1

要保留已安装的版本,请运行以下命令以防止包管理器在将来自动更新它终端

echo "<packagename> hold" | sudo dpkg --set-selections

<packagename>使用您想要的包进行更改(在您的情况下可能是vim)。

答案2

您可以设置包抓住

抓住— 标记为暂停的软件包不会由 dpkg 处理,除非使用选项强制执行--强制保持

基本上,暂停的软件包将不会被升级(或如 apt 所说:将被“保留”)。

这是暂停任何包裹的简单方法。

  1. 通过运行获取包的选择状态dpkg --get-selections >selections.txt
  2. 编辑selections.txt文件并搜索您不想更新的软件包名称。将第二列中的状态文本从 替换为installhold保存文件。
  3. 通过运行应用您的自定义选择sudo dpkg --set-selections <selections.txt

现在运行sudo apt-get upgrade,该包就不再升级了。

答案3

dpkg-hold 工具的作用与@lgarzo 描述的相同,但方式更方便。您可以使用 安装它sudo apt-get install dlocate。然后运行sudo dpkg-hold packagename它就会变成 hold。

答案4

一个可能更好的解决方案是首先不要在 Ubuntu 包管理器安装的现有二进制文件上安装 vim。这始终是一个坏主意,迟早会给你带来麻烦。

/usr/bin中的文件/usr/lib由 Ubuntu 管理,如果您希望它管好自己的事,则不应将您的内容放在那里。您可以将自己手工编译的二进制文件放在 中/usr/local/opt甚至可以放在您的主目录中。

说明中有问题的部分是--prefix=/usr- 删除它应该安装vim进去/usr/local- 然后您需要修改其余的说明以考虑新的位置。

(此外,Ubuntu 覆盖了你的二进制文件这一事实表明你vim在用你的系统覆盖它之前没有删除该系统 - 你链接的说明实际上提到了这一点)

相关内容