免责声明
本公众号所有内容仅在测试环境中进行,如您要使用文章中的内容对您的环境进行操作,请您务必知晓:所有的操作都会带来一定的风险,可能导致系统崩溃等多种问题,切勿盲目操作。本公众号为您提供一种操作的思路,不对您的任何操作行为负责,请您知晓。切记:谨慎操作,非必要不操作。[k]
apt-mark命令详解:信创系统软件包管理利器
在基于Debian的信创操作系统(如UOS、Kylin等)中,apt-mark是APT工具套件中的实用命令,用于精细化管理软件包的安装状态与升级策略,避免因自动升级引发的兼容性或稳定性问题。[k]
apt-mark 是什么?
apt-mark主要用于对软件包进行标记,控制其安装方式和升级行为,包括:
- 标记为手动安装(manual)或自动安装(auto);
- 冻结(hold)或解冻(unhold)软件包以控制是否允许升级;
- 查看当前系统中自动安装、手动安装或被冻结的软件包列表(showauto、showmanual、showhold)。[k]
命令格式
apt-mark [options] {auto|manual|hold|unhold|showauto|showmanual|showhold} [package...]
常用子命令详解
hold:冻结软件包,防止升级
sudo apt-mark hold <package>
将指定软件包标记为保持当前版本,禁止自动升级。适用于需避免新版本带来兼容性问题的关键组件,例如:
pdsyw@pdsyw1024:~/Desktop$ sudo apt-mark hold uos-ai
输出:uos-ai 设置为保留。[k]
unhold:取消冻结,允许升级
sudo apt-mark unhold <package>
取消此前的冻结设置,恢复该软件包的正常升级流程。示例:
pdsyw@pdsyw1024:~/Desktop$ sudo apt-mark unhold uos-ai
输出:取消保留 uos-ai 的设置。[k]
showhold:列出当前被冻结的软件包
apt-mark showhold
显示所有处于hold状态的软件包,便于系统维护与检查。[k]
auto:标记为自动安装
sudo apt-mark auto <package>
将软件包标记为自动安装,当其依赖关系消失时可被自动清理,有利于系统精简。示例:
pdsyw@pdsyw1024:~/Desktop$ sudo apt-mark auto uos-ai
输出:uos-ai 已设置为自动安装。[k]
manual:标记为手动安装
sudo apt-mark manual <package>
标记为手动安装后,即使无其他依赖,该软件包也不会被当作孤立包移除,确保关键工具长期保留。示例:
pdsyw@pdsyw1024:~/Desktop$ sudo apt-mark manual uos-ai
输出:uos-ai 已设置为手动安装。[k]
showauto:显示所有自动安装的软件包
apt-mark showauto
列出系统中所有被标记为自动安装的软件包,辅助清理无用依赖。[k]
showmanual:显示所有手动安装的软件包
apt-mark showmanual
查看手动安装的软件包列表,便于掌握用户主动部署的组件情况。[k]
使用建议与总结
在信创操作系统更新频繁的背景下,合理使用apt-mark命令有助于提升系统的稳定性与可控性。通过冻结关键版本、明确安装类型、定期核查状态,可有效规避升级风险,保障业务连续性。建议系统管理员熟练掌握该命令,将其纳入日常运维规范中。[k]
掌握apt-mark:精准控制系统软件包
通过apt-mark可有效避免系统核心组件或定制驱动被意外升级,清晰区分主动安装的软件,便于系统维护。
结合脚本使用,apt-mark能实现软件包的批量管理,显著提升系统维护效率,是信创终端环境下管理软件更新策略的重要工具[k]。


