千家信息网

rpm包管理

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,linux程序包管理RPM ==================================================================#ldd 查看二进制程序调用的动态链接库
千家信息网最后更新 2026年11月01日rpm包管理



linux程序包管理

RPM ==================================================================


#ldd 查看二进制程序调用的动态链接库

#ldconfig -p 显示本机已缓存的所有可用库文件



dll: Dynamic link library

so : Shared Object


API: Application Program Interface 应用编程接口

ABI: Application Binary INterface 应用二进制接口

Unix-like ELF


C/C++程序格式:

源代码:文本格式的程序代码

编译开发环境:编译器,头文件,开发库

二进制格式:文本格式的程序代码-编译器-二进制格式(二进制程序,库文件,配置文件)


java/pathon程序格式:

源代码:编异成能够在其虚拟机(jvm/pvm)运行的格式

开发环境:编译器,开发库


项目构建工具:

c/c++:make

java:maven



程序包管理器:

源代码 - 目标二进制格式 - 组织成几个包文件;完成安装、升级、查询、卸载、效验等操作


debian:dpt,dpkg ".deb"

redhat:rpm ".rpm"

S.u.S.E:rpm ".rpm"

rpm:Redhat Package Manage

RPM Package Manage



rpm包命名格式:


name-VERSION-rpmrelease.arch.gz archetecture 架构

VERSION:major.minor.release


yum-3.2.29-73.el6.centos.noarch.rpm

yum-3.2.29版本 73次修改 Redhat Enterprise 6


changelog


拆包:选择完整程序包中需要的功能


前端工具:自动解决依赖关系

yum: rhel

apt-get(apt-cache): deb

zypper: suse

dnf: fedora 22+


程序包管理器:

功能:将编译好的应用程序的各组成文件打包成一个或几个程序包文件,

从而方便的实现程序包的安装,卸载,升级等操作



/var/lib/rpm/ rpm数据库




获取程序包途径:

1.系统发行版的光盘或官方的文件服务器(或镜像站点)

mirrors.aliyun.com

mirrors.sohu.com

mirrors.163.com

2.项目的官方站点

3.第三方组织

pkgs.org

rpmfind.net

rpm.pbone.net

4.自己制作



检查其合法性:

来源合法性

程序包完整性





#rpm [OPTIONS] [PACKAGE_FILE]

-i 安装 --install

rpm -ivh packagefile -v 显示详细信息 -h 以#号表示进度

-U 升级或安装 --update

-F 仅可升级

--oldpackage 降级

--force 强制升级

-e 卸载 --erase rpm -e http(包名)

--allmatchs 删除指定名称软件包所有版本

--nodeps 忽略依赖关系

--test 测试卸载


-q 查询 --query

[select-options]

-a --all 查询所有已装包;可配合grep

]#rpm -qa | grep httpd


-f FILE 查询指定文件由哪个软件包安装生成

]#rpm -qf /etc/named


-p --package PACKAGE_FILE 对未安装的程序包执行查询 -qpc -qpl -qpi

--whatprovides CAPABILITY 查询指定能力由哪个程序提供

--whatrequires CAPABILITY 查询指定能力被哪个包依赖

[query-options]

--changelog 查询rpm包的changelog

--provides 列出指定程序包提供的所有CAPABILITY

-R --requires查询指定程序包的依赖关系(CAPABILITY)

-l --list 列出程序安装生成的所有文件

-qpl 查询未安装的程序包安装后会生成哪些文件

-i --info 程序包相关信息

-c --configfiles 查询指定程序提供的配置文件

-d --docfiles 查询指定程序包提供的帮助文档

--scripts 查看程序包自带的脚本

-V 校验 --verify 可指定检查哪些

]#rpm -V bash]#S.5....T

S file Size differs

M Mode differs (includes permissions and file type)

5 digest (formerly MD5 sum) differs

D Device major/minor number mismatch

L readLink(2) path mismatch

U User ownership differs

G Group ownership differs

T mTime differs

P caPabilities differ


数据库重建: 默认位置:/var/lib/rpm

rpmdb

--initdb 初始化数据库。当前无数据库可初始化创建新的数据库;如果存在则不作操作

--rebuilddb 重新创建数据库

--dbpath 指定创建数据库文件存放路径

--builddb,initdb 数据库维护



通用选项:

--nodeps 忽略依赖关系

--replacepkgd 重新安装 删除某个配置文件后可重新安装

--replacefiles 替换不同程序包中可能出现的相同的文件

--test 测试安装 仅测试能否安装 不真正安装

--nosignature 不检查包签名信息,不检查来源合法性

--nodigest 不检查包完整性





包来源和发行、完整性验证:

包制作者:

提取程序包的特征码

使用自己的私钥对特征码加密(签名)

将签名加入包放到互联网


使用者:

使用公钥验证包来源合法性、完整性


验证:

安装时自动验证

手动验证:rpm -K PACHAGE-FILE










程序 文件 查询 格式 数据 数据库 二进制 升级 检查 编译 验证 合法 合法性 完整性 来源 开发 管理 信息 源代码 编译器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 科技制造互联网公司 深圳互联网科技公司 上海喔噻互联网科技 奇士达互联网科技 狮子座互联网科技培训 左右互联网络科技 顶级互联网科技成果有哪些 现代互联网科技股 互联网科技项目计划书材料类 坤平互联网科技 企晟互联网信息科技有限公司 互联网在线教育科技创业 四川互联网展示科技馆设计 互联网安防科技感 互联网科技平台产品运营 上海万顺科技互联网有限公司招聘 长沙渺峰互联网科技有限公司 互联网的科技体现在哪里 科技美学互联网 艺术 互联网科技图片 华服互联网科技靠谱吗 美国互联网保险保险科技 北京互联网科技 成都互联网科技公司100强 互联网企业和科技型企业 互联网科技革命什么开始 南博望互联网科技有限公司 西安有哪些互联网高科技企业 株洲百竞科技的互联网营销顾问
0