在UBUNTU的apt中禁止某一个软件被apt-get dist-upgrade更新

来源:互联网 发布:欧陆风云4mac修改时间 编辑:程序博客网 时间:2024/05/16 17:19

在ubuntu或者debian下,用apt-get upgrade或者apt-get dist-upgrade命令自动更新软件。如果某个软件有更新的版本,apt-get会删除原来的版本并安装更新的版本。

一般情况下,我们希望apt执行这种默认的行为。但是有时候却不想更新某些软件。比如你系统自带的硬件驱动性能不好,你自己安装了一个其他的更好的,但是,随着时间的推移,更新的版本出现在apt的列表中,并且apt中的版本号更大导致apt认为这个可以替换你手工安装的最佳版本,因此,系统这个时候自动更新的话就不好了,所以得设法禁止系统自动更新该软件。

有时候,受到工作限制,比如,系统apt内的mysql是5.0版本,公司开发要求的环境也是5.0版本,但是某一天,系统apt的升级到了5.1.X,公司要求的环境没有升级,这时候,apt-get dist-upgrade可就糟糕了。

以上这几种情况怎么办呢?就是给这个软件打上一个hold标记。

命令为:

sudo echo "软件包名 hold" | sudo dpkg --set-selections

比如我想给mysql-server锁定当前版本不更新,命令是:

sudo echo "mysql-server hold" | sudo dpkg --set-selections

查询当前系统内所有软件包的状态,命令为:

sudo dpkg --get-selections | more

查询当前系统被锁定不更新的软件包状态(hold),命令为

sudo dpkg --get-selections | grep hold

以上命令/功能,在UBUNTU-SERVER 8.04 LTS下测试通过,没有任何问题。


转载地址:http://hi.baidu.com/qshen/item/0b613e0bb2cc11ce91571828

0 0
原创粉丝点击