因为错误 #693758我想阻止apt-get upgrade
更新管理器更新“libgtk2.0-0”包。
如何实现这一点?
答案1
保持
有不同的方法来阻止包裹:使用、、dpkg
或Synaptic 。apt
dselect
aptitude
软件包
保留包裹:
echo "<package-name> hold" | sudo dpkg --set-selections
解除保留:
echo "<package-name> install" | sudo dpkg --set-selections
显示所有包裹的状态:
dpkg --get-selections
显示单个包的状态:
dpkg --get-selections <package-name>
显示所有保留的包裹:
dpkg --get-selections | grep "\<hold$"
易于
持有包裹:
sudo apt-mark hold <package-name>
解除保留:
sudo apt-mark unhold <package-name>
显示所有保留的包裹:
sudo apt-mark showhold
取消选择
使用 dselect 进入 [S]elect 屏幕,找到要保留其当前状态的软件包,然后按=或H。退出 [S]elect 屏幕后,更改将立即生效。
以下方法的局限性在于,锁定/保留 aptitude 或 synaptic 中的包不会影响 apt-get/apt。
资质
持有包裹:
sudo aptitude hold <package-name>
解除保留:
sudo aptitude unhold <package-name>
使用 Synaptic 包管理器锁定
去Synaptic 软件包管理器(系统 > 管理 > Synaptic 包管理器)。
单击搜索按钮并输入包名称。
找到包后,选择它并转到包裹菜单并选择锁定版本。
该包现在将不会显示在更新管理器中,也不会被更新。
答案2
我一直在寻找同样的东西,经过大量研究后,我发现使用以下语法可以禁止一个特定版本但允许下一个更新:
Package: compiz-plugins-main
Pin: version 1:0.9.7.0~bzr19-0ubuntu10.1
Pin-Priority: -1
这会进入/etc/apt/preferences
文件。
答案3
要暂停包“foo”:
echo "foo hold" | dpkg --set-selections
针对您的情况,我们将暂停供应葡萄酒:
sudo -i
echo "wine hold" | dpkg --set-selections
要取消保留:
sudo -i
echo "wine install" | dpkg --set-selections
答案4
阻止软件包安装被称为“软件包保留”,操作非常简单:
回声包裹名字保持 | dpkg --set-selections
...其中 *package_name* 是您想要阻止安装的包的名称。
笔记:上述命令假定 root 权限。换句话说,您可能需要sudo su
在运行它之前输入。