内容简介:在 Debian 或基于 Debian/Ubuntu 的 Linux 发行版系统中,有多种方法可以将软件包锁定在一个特定的版本。也就是说,可以将某个软件固定维护在指定版本,不让其随系统更新而更新。为什么要锁定软件包,防止软件包更新呢?通常是用户对某个软件版本有特定的需求,或更新期间、更新后可能会导致问题,所以需要维持特定的版本不进行升级。在常见的数据类服务中,这样的需求很有代表性,比如缓存Redis、数据队列RabbitMQ等。还有部分服务依赖于系统中特定的软件,比如指定的 Linux 内核版本,这时就需要
在 Debian 或基于 Debian/Ubuntu 的 Linux 发行版系统中,有多种方法可以将软件包锁定在一个特定的版本。也就是说,可以将某个软件固定维护在指定版本,不让其随系统更新而更新。
为什么要锁定软件包,防止软件包更新呢?
通常是用户对某个软件版本有特定的需求,或更新期间、更新后可能会导致问题,所以需要维持特定的版本不进行升级。在常见的数据类服务中,这样的需求很有代表性,比如缓存 Redis 、数据队列RabbitMQ等。还有部分服务依赖于系统中特定的软件,比如指定的 Linux 内核版本,这时就需要锁定内核版本防止因内核升级导致服务异常。
我们这里介绍两种方式,防止软件包被更新。需要注意的是,如果软件包被其他软件所依赖,阻止其更新,可能会导致关联问题。建议将尽量少的的软件包锁定不更新,尤其是系统中的共享库文件。
方法一: 使用 apt-mark 锁定应用程序
使用 apt-mark 命令可以阻止命令(比如 apt upgrade 或 apt-get upgrade)对锁定的应用程序进行升级。你可以使用以下命令,管理锁定的软件:
sudo apt-mark hold PACKAGE_NAME #锁定软件版本。可以一次指定多个包 sudo apt-mark showhold #显示系统中被标记为锁定的软件包 sudo apt-mark unhold PACKAGE_NAME #解除对软件包的锁定。可以一次指定多个包。
方法二:使用 dpkg 防止软件包更新
有一些不遵守规则的图形包管理器,会忽略 apt-mark 锁定的软件,为了保险起见,我们还可以使用 dpkg 防止软件包更新。使用样例如下:
echo "PACKAGE hold" | sudo dpkg --set-selections ##锁定软件包 dpkg --get-selections | grep hold ##显示锁定的软件包列表 echo "PACKAGE install" | sudo dpkg --set-selections ##解除对软件包的锁定
与 apt-mark 不同的是,此方法一直只能指定一个软件包。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Python安装软件包出错
- DebianLinux软件包管理工具-7个
- Windows 软件包管理器 1.0 正式发布
- npm包对应的rpm软件包制作
- sysget 2.2 发布,通用软件包管理器
- Debian 10.2 发布,带来大量修复软件包
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。