Ubuntu中如何阻止软件包的升级


如果你想在Ubuntu中升级软件但又想保持其中的一个当前状态不变,即不被升级的话,你可以使用命令 dpkg, aptitude 或者 dselect来延迟升级/via

1.使用dpkg

要选定需要延迟升级的软件包:

sudo echo “package hold” | dpkg --set-selections

例如要延迟升级apache2软件包:

sudo echo “apache2 hold” | dpkg --set-selections

取消选定:

sudo echo “package hold” | dpkg --set-selections

例如:

sudo echo “apache2 hold” | dpkg --set-selections

使用该命令的前提是你必须了解你所选定的该软件包的状况。

2.使用aptitude

要选定需要延迟升级的软件包:

sudo aptitude hold package_name

Example:

sudo aptitude hold apache2

取消选定:

sudo aptitude unhold package_name

Example:

sudo aptitude unhold apache2

3.使用dselect

如果你已经安装了dselect 软件包,你可以先进入【S】elect screen,找到你需要延迟升级的软件包,然后按下“=”键或者“H"键,然后退出方可立即生效。如果不明白dselect的用法,点击link

实际上apt-get与dselect使用的是不同的文件来保存package信息
apt : /var/lib/apt/lists/

dselect/dpkg/tasksel : /var/lib/dpkg/

apt-get与dselect的区别:link

相关内容