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

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

内容简介:在 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 不同的是,此方法一直只能指定一个软件包。


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

查看所有标签

猜你喜欢:

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

PWA实战

PWA实战

[美]Dean Alan Hume / 郑丰彧 / 电子工业出版社 / 2018-6 / 69

Progressive Web App(PWA)是由谷歌提出的一整套技术解决方案,它致力于为 Web 提供出色的用户体验,并完美体现了渐进增强原则。作为为数不多的实战入门用书,《PWA 实战:面向下一代的Progressive Web App》旨在通过大量清晰示例来介绍 PWA 的主要特性。全书一共由五个部分组成:第一部分介绍 PWA 的概念及解锁 PWA 应用的关键—Service Worker......一起来看看 《PWA实战》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具