apt-mark hold 可锁定软件包防止更新,使用 sudo apt-mark hold package_name 命令可固定如内核等关键程序版本,apt-mark showhold 查看已锁定包,sudo apt-mark unhold 恢复更新,但需注意安全风险与依赖冲突。
在 linux 系统中,特别是基于 debian 或 ubuntu 的发行版,可以使用 apt-mark hold 命令来阻止某个软件包被自动更新。这种方法常用于保持特定版本的软件稳定运行,比如内核、数据库或关键服务程序。
什么是 apt-mark hold
apt-mark hold 是 APT 包管理工具提供的功能,用于“锁定”某个已安装的软件包,使其不会被 apt upgrade 或 apt full-upgrade 更新。这在需要固定某个软件版本时非常有用。
如何使用 apt-mark hold 锁定软件包
要阻止某个软件包更新,使用以下命令:
sudo apt-mark hold package_name
例如,锁定内核包:
sudo apt-mark hold linux-image-generic
执行后会输出:
package_name set on hold.
此后,即使有新版本可用,APT 也不会更新该包。
查看被锁定的软件包
要查看当前被 hold 的软件包列表:
apt-mark showhold
该命令会列出所有被锁定的包名。
取消锁定(恢复更新)
如果之后想恢复某个软件包的更新,使用:
sudo apt-mark unhold package_name
例如:
sudo apt-mark unhold linux-image-generic
执行后该包将重新参与系统更新。
注意事项
使用 hold 功能需谨慎,注意以下几点:
- 锁定关键系统包(如内核、glibc)可能导致系统无法正常升级,存在安全风险。
- hold 只影响 upgrade 类命令,如果手动执行 install 或 install –reinstall,仍可能覆盖锁定状态。
- 某些情况下,依赖关系变化可能导致 hold 失效或引发冲突,建议定期检查。
- 可结合 /etc/apt/preferences 或 apt pinning 实现更精细的控制。
基本上就这些。apt-mark hold 是一个简单有效的方式,适合临时或长期锁定特定软件包,避免意外更新影响系统稳定性。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END