03、Linux安装软件的几种方法
Categories:
3 分钟阅读
定位:等保「入侵防范——最小安装」控制点的配套参考。测评整改中经常需要在现场装卸软件包(清理多余组件、部署扫描 Agent、离线安装补丁),本文汇总各包管理器的常用操作。 配套文章:11、Linux操作系统加固手册(见"入侵防范-最小安装"节)。
使用说明:
- 本文为加固操作手册:所有命令都会修改配置,可能中断服务、断开当前会话或需要重启。实施前必须完成变更审批、确认业务窗口、备份原配置(设备
save与copy running-config/backup startup-configuration,主机备份/etc、注册表与关键业务数据),并准备可执行的回滚预案。- 先在测试环境或单台设备灰度验证,确认无业务影响后再批量推广;每完成一项立即用文中「验证」命令核验生效——配置已下发不等于策略已生效(如 H3C 未
password-control enable、Linux 未对存量账户chage、Windows 未gpupdate /force)。- 示例中的地址、账户名、口令、路径均为演示值(如
PleaseChange@123、192.168.10.20、admin123),现场须替换为符合本单位口令策略与网络规划的真实值,严禁直接沿用文中示例口令;对外发布或归档时须对个人信息与内网管理地址脱敏。- 命令不存在、视图名或参数与本文不一致时,先用
display version/show version/winver确认版本与部署形态,再查阅对应版本官方文档换用等效命令;版本差异不得直接作为「无法整改」的结论,须给出替代措施并评估其实际效果。- 涉及账户、锁定、超时、防火墙与端口收敛的变更存在锁死自身风险:务必保留一条已验证的恢复通道(Console 口、带外管理口、堡垒机会话或另一管理员账户)后再实施。
- 加固完成后按「16、安全评估加固记录表3.0」逐项留痕(整改前后回显、操作人、时间、验证结论、回退情况),并纳入复测;测评判定口径以 GB/T 28448-2019 与《高风险判定指引》为准,本文的「加固要点」不构成最终测评结论。
不适用标识说明:
- 使用
【不适用】明确标记现场可判定为不适用的控制点,并写明判定依据与承载该能力的上位组件。- 依据 GB/T 28448-2019「按测评对象实际承载功能与数据处理范围判定」原则:控制能力由统一认证平台、堡垒机、日志审计系统、终端管理系统、虚拟化平台或云托管平台承载时,应注明测评单元边界后判定不适用或转由上位组件核查,不得机械按缺失判不符合。
- 产品版本确实不提供该能力(如老旧设备无 SNMPv3、无可信根、社区版无审计模块、已停止官方支持的操作系统)时,须核查替代措施并按替代措施的实际效果定档,不得直接判不适用;已停止支持的版本应同时提出升级或补偿控制建议。
一、rpm 包(RHEL / CentOS / openEuler / 麒麟等 RPM 系)
rpm -ivh soft-1.2.3-1.el7.x86_64.rpm # 安装(i=install, v=详细, h=进度)
rpm -Uvh soft-1.2.3-2.el7.x86_64.rpm # 升级安装
rpm -e soft # 卸载(用软件名,不是包文件名)
rpm -qa # 查询所有已安装软件包
rpm -qa | grep -i openssh # 按关键字查询
rpm -ql soft # 查看某包安装了哪些文件
rpm -qf /usr/bin/ssh # 反查文件属于哪个包
rpm -K soft-1.2.3-1.el7.x86_64.rpm # 校验包签名(防加固时引入被篡改的安装包)
rpm -e soft --nodeps # 忽略依赖强制卸载(慎用,可能连带破坏其他组件)
rpm -e soft --test # 卸载预演,不实际执行
二、yum / dnf(在线仓库,自动解决依赖)
yum list installed # 已安装清单(最小安装清点常用)
yum provides /usr/bin/ssh # 查询命令由哪个包提供
yum -y install soft # 安装
yum remove soft # 卸载
yum install --downloadonly --downloaddir=/tmp/pkg soft
# 仅下载不安装,用于内网离线加固场景
RHEL 8+ / openEuler / 银河麒麟 V10 服务器版使用 dnf(命令与 yum 兼容):
dnf install soft
dnf remove soft
dnf history # 查看事务历史(出问题可回滚)
dnf history undo 12 # 回滚某次事务
dnf autoremove # 清理无用依赖
三、deb 包与 dpkg(Debian / Ubuntu / 统信 UOS 桌面系)
dpkg -i soft-1.2.3-1.deb # 安装
dpkg -r soft # 卸载(保留配置)
dpkg -P soft # 卸载并删除配置文件
dpkg -l | grep -i soft # 查询
dpkg -L soft # 查看包文件清单
四、apt(在线仓库,Debian 系)
apt-cache search soft # 搜索
apt-get install soft # 安装
apt-get remove soft # 卸载(保留配置)
apt-get --purge remove soft # 卸载并删除配置
apt-get autoremove # 清理无用依赖
apt-get autoclean && apt-get clean # 清理缓存包
apt-get upgrade # 更新已安装包
apt list --installed # 已安装清单
简言之:dpkg 只能安装本地 deb 包;apt 能在线下载安装并自动处理依赖,二者关系同 rpm 与 yum/dnf。
五、源码编译安装(tar.gz / tar.bz2)
tar -xzvf soft.tar.gz # 解压解包(bz2 用 tar -xjvf)
cd soft
./configure # 检查编译环境,生成 Makefile
make # 编译
make install # 安装(通常在 /usr/local 下)
make clean # 清理编译临时文件
卸载:仅当软件提供 make uninstall 时可用,否则需按 INSTALL/README 手工删除安装文件——这也是测评不建议生产环境使用源码安装的原因之一(升级与卸载不可控)。
六、免安装软件(解压即用)
tar -xzvf soft.tar.gz
chmod +x soft/bin/soft
ln -s /opt/soft/bin/soft /usr/local/bin/soft # 可选:加入 PATH 方便调用
七、与"最小安装"的关联(测评视角)
对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范 a)(遵循最小安装原则,关闭不需要的系统服务与默认共享)、e)(应能发现可能存在的已知漏洞并及时修补,补丁与软件来源须可控)
加固要点:按业务需要最小化安装组件,卸载或禁用与业务无关的软件包与服务;软件与补丁来源必须可控——优先使用发行版官方仓库或厂商签名包,离线环境搭建本地镜像仓库并校验签名/GPG,禁止从不可信站点下载二进制直接部署;源码编译安装须留存来源、版本与编译参数记录并纳入资产与漏洞台账。卸载前先用
rpm -e --test/apt-get -s remove预演依赖影响,避免连带移除业务组件。验证方法:
rpm -qa/dpkg -l导出已安装清单并与业务需要清单比对;yum repolist/apt-cache policy确认仓库来源;rpm -K 包名校验签名;yum history/dnf history、/var/log/apt/history.log查看安装与回滚记录;卸载预演输出与变更记录归档。
主机安装了与业务无关的高风险组件(编译工具链、FTP/Telnet 服务、示例与测试程序),或软件与补丁来源于不可信站点且无签名校验,导致 8.1.4.4 入侵防范 a) 最小安装与 e) 漏洞修补同时失效,按高风险线索记录。
判定口径详见 22、高风险判定指引与加固对照表。
- 核查方法:
rpm -qa | wc -l或apt list --installed | wc -l清点软件包数量,对照部署方案与业务清单,识别多余组件(如图形界面、编译工具链、示例程序); - 整改方法:卸载多余组件优先用包管理器(yum remove / apt purge);
--nodeps强制卸载前先--test预演,避免连带破坏依赖; - 离线加固:隔离网环境用
yum install --downloadonly或官方离线包,安装前用rpm -K校验签名; - 判定口径:仅安装业务必需组件、无业务无关的应用程序即为符合;单纯"数量少"不是目的,关键是无多余可被利用的组件。
参考依据
- GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》(8.1.4.4 入侵防范 a) 最小安装、e) 已知漏洞修补与软件来源可控):http://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=BAFB47E8874764186BDB7865E8344DAF
- GB/T 28448-2019《信息安全技术 网络安全等级保护测评要求》(测评对象边界认定、单元测评实施与结果判定:符合/部分符合/不符合/不适用):http://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=7E736CDF4502B6FF1258DD250AA3EC8C
- GB/T 22240-2020《信息安全技术 网络安全等级保护定级指南》、GB/T 25070-2019《安全设计技术要求》、GB/T 28449-2018《测评过程指南》,可在全国标准信息公共服务平台检索:http://openstd.samr.gov.cn/bzgk/gb/
- Red Hat Enterprise Linux 官方文档入口(Security Hardening / PAM / SELinux):https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/
- Linux man-pages(man7.org,rpm/yum/pam/sshd/auditctl 手册页):https://man7.org/linux/man-pages/
- 《网络安全等级保护测评高风险判定指引》(中关村信息安全测评联盟团体标准)——高风险情形判定口径,站内对照表:22、高风险判定指引与加固对照表
- 命令核验说明:包管理命令以 man7.org(rpm/yum/dnf/apt/dpkg 手册页)与各发行版官方文档核验(核验日期 2026-09-02)。五处须留意:① RHEL 8+/Fedora 中
yum为dnf的兼容软链,yum history与dnf history行为基本一致但插件与配置路径不同,Debian/UOS 系则完全没有yum;②rpm -e 包名会因依赖关系失败,须先rpm -e --test或rpm -q --whatrequires 包名预演,禁止用--nodeps强行卸载(会破坏业务组件且难以恢复);③ Debian 系apt-get remove保留配置文件、purge一并清除,整改留痕须写明所用动作;④ 源码编译安装不进入包管理数据库,漏扫与资产台账无法自动发现,须手工登记来源、版本、编译参数与安装路径,并确认是否提供make uninstall;⑤ 离线环境安装前须校验包签名与摘要(rpm -K 包名、dpkg-sig --verify或debsig-verify、sha256sum比对官方值),从不可信来源获取的二进制不得直接部署到生产主机。
关联文章
- 本板块相关篇:11、Linux操作系统加固手册、04、Linux主机加固操作手册、05、Windows操作系统安全加固、07、CentOS操作系统安全加固
- Linux 操作系统测评命令(现场取证速查)
- 通用-服务发现与软件排查命令单
- 板块目录:服务器
- 通用加固方案:17、加固方案总纲
- 取证记录模板:16、安全评估加固记录表3.0
- 高风险判定口径:22、高风险判定指引与加固对照表