如何在 Debian 中锁定软件包版本

栏目: 服务器 · 发布时间: 5年前

内容简介:在 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 #解除对软件包的锁定。可以一次指定多个包。
如何在 Debian 中锁定软件包版本

方法二:使用 dpkg 防止软件包更新

有一些不遵守规则的图形包管理器,会忽略 apt-mark 锁定的软件,为了保险起见,我们还可以使用 dpkg 防止软件包更新。使用样例如下:

echo "PACKAGE hold" | sudo dpkg --set-selections  ##锁定软件包
dpkg --get-selections | grep hold  ##显示锁定的软件包列表
echo "PACKAGE install" | sudo dpkg --set-selections  ##解除对软件包的锁定
如何在 Debian 中锁定软件包版本

与 apt-mark 不同的是,此方法一直只能指定一个软件包。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

React Native开发指南

React Native开发指南

[美]艾森曼 / 黄为伟 / 人民邮电出版社 / 2016-6-1 / CNY 59.00

本书通过丰富的示例和详细的讲解,介绍了React Native这款JavaScript框架。在React Native中利用现有的JavaScript和React知识,就可以开发和部署功能完备的、真正原生的移动应用,并同时支持iOS与Android平台。除了框架本身的概念讲解之外,本书还讨论了如何使用第三方库,以及如何编写自己的Java或Objective-C的React Native扩展。一起来看看 《React Native开发指南》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具