Linux如何锁定软件包防止更新

在Linux中锁定软件包可防止更新,Debian/Ubuntu用apt-mark hold,CentOS/RHEL/Fedora用dnf versionlock add,SUSE/openSUSE用zypper addlock,锁定后需验证更新行为确保生效。

Linux如何锁定软件包防止更新

在 Linux 系统中,有时需要锁定某个软件包,防止它在系统更新时被自动升级或降级,比如为了保持系统兼容性或避免引入不稳定的版本。不同发行版使用不同的包管理器,锁定方法也不同。以下是几种主流发行版中锁定软件包的方法。

Debian/Ubuntu 系统(APT 包管理器)

Debian 和 Ubuntu 使用 APT,可以通过 apt-mark hold 命令锁定软件包。

操作步骤:

  • 锁定软件包(阻止更新):
    sudo apt-mark hold 软件包名
  • 查看已被锁定的软件包:
    apt-mark showhold
  • 解除锁定:
    sudo apt-mark unhold 软件包名

例如,锁定 nginx

sudo apt-mark hold nginx

之后执行 apt upgrade 时,nginx 将不会被更新。

CentOS/RHEL/Fedora 系统(YUM/DNF 包管理器)

在基于 RPM 的系统中,可以通过启用 versionlock 插件来锁定软件包版本。

Linux如何锁定软件包防止更新

Munch

ai营销分析工具,长视频中提取出最具吸引力的短片

Linux如何锁定软件包防止更新85

查看详情 Linux如何锁定软件包防止更新

操作步骤:

  • 安装 versionlock 插件(以 DNF 为例):
    sudo dnf install dnf-plugin-versionlock
  • 锁定某个软件包:
    sudo dnf versionlock 软件包名
  • 查看已锁定的软件包:
    sudo dnf versionlock list
  • 删除某个锁定:
    sudo dnf versionlock delete 软件包名或编号
  • 清除所有锁定:
    sudo dnf versionlock clear

例如,锁定 httpd 的当前版本:

sudo dnf versionlock add httpd

SUSE/openSUSE(zypper 包管理器)

在 SUSE 系统中,使用 zypperaddlock 功能。

操作命令:

  • 锁定软件包:
    sudo zypper addlock 软件包名
  • 查看所有锁定:
    zypper locks
  • 解除锁定:
    sudo zypper removelock 软件包名

例如,锁定内核包:

sudo zypper addlock kernel-default

锁定软件包是维护系统稳定的有效手段,尤其是在生产环境中。选择合适的方法取决于你使用的 Linux 发行版和包管理器。操作完成后,建议验证更新过程是否确实跳过了被锁定的包,避免误操作。基本上就这些,不复杂但容易忽略细节。

linux centos nginx ubuntu dnf 有锁 nginx delete default linux ubuntu centos debian

上一篇
下一篇