包管理器


ldd +二进制程序 查看二进制程序所依赖的库文件 


ldconfig 管理及查看本机装载的库文件  

-p 查看一缓存的所有可用库文件及文件路径的映射关系

配置文件:/etc/ld.so.conf, /etc/ld.so.conf.d/*.conf

缓存文件:/etc/ld.so.cache


1.程序的组成清单(独有)

文件清单

安装卸载时运行的脚本

2.数据库(公共):/var/lib/rpm

程序包名称及版本

依赖关系

功能说明

包安装后生成的各文件路径及校验码信息


rpmbuild 制作rpm包

rpm

-i

-v 详细提示

-h 进度条

-vv 更详细信息(多用于排错)

-q(a) 查询已安装的rpm包

-f 查看指定的文件由哪个程序包安装生成

-p rpmfile 针对尚未安装的程序包文件做查询操作

-ivh 常用格式


--test: 测试安装,但不真正执行安装,即dry run模式

--nodeps:忽略依赖关系

--replacepkgs | replacefiles 重装

--nosignature: 不检查来源合法性

--nodigest:不检查包完整性

--noscripts:不执行程序包脚本

%pre: 安装前脚本; --nopre

%post: 安装后脚本; --nopost

%preun: 卸载前脚本; --nopreun

%postun: 卸载后脚本; --nopostun


升级:

rpm

-Uvh

-Fvh


rpm {-U|--upgrade} [install-options] PACKAGE_FILE...

rpm {-F|--freshen} [install-options] PACKAGE_FILE...

upgrade:安装有旧版程序包,则“升级” 如果不存在旧版程序包,则“安装”

freshen:安装有旧版程序包,则“升级” 如果不存在旧版程序包,则不执行升级操作

rpm -Uvh PACKAGE_FILE ...

rpm -Fvh PACKAGE_FILE ...

   

   --oldpackage:降级

   --force: 强制安装


查询

rpm {-q|--query} [select-options](对什么类别查询) [query-options](查询什么)

-q

[select-options]

-a: 所有包

-f: 查看指定的文件由哪个程序包安装生成

-p rpmfile:针对尚未安装的程序包文件做查询操作

--whatprovides CAPABILITY:查询指定的CAPABILITY由哪个包所提供

--whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖


[query-options]

--changelog:查询rpm包的changelog

-c: 查询程序的配置文件

-d: 查询程序的文档

-i: information

-l: 查看指定的程序包安装后生成的所有文件

--scripts:程序包自带的脚本

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

-R: 查询指定的程序包所依赖的CAPABILITY


查询常用组合:

-qi 安装的信息

-qf 文件是由哪个包生成的

-qc 生成的配置文件

-ql 生成的所有文件列表

-qd 生成的文档


-qpi 还没安装包的信息

-qpl 还没安装的包的列表

-qpa  所有还没安装的包


卸载

rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--test] PACKAGE_NAME ...

-e 卸载


校验

rpm {-V|--verify} [select-options] [verify-options]

-v

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


包来源合法性验正及完整性验正

完整性验正:SHA256

来源合法性验正:RSA


公钥加密

对称加密:加密、解密使用同一密钥

非对称加密:密钥是成对儿的

public key: 公钥,公开所有人

secret key: 私钥, 不能公开


导入所需要公钥

rpm --import /etc/pki/rpm-gpg/

RPM-GPG-KEY-CentOS-7


数据库重建:

/var/lib/rpm


rpm {--initdb|--rebuilddb}

initdb: 初始化

如果事先不存在数据库,则新建之 否则,不执行任何操作

rebuilddb

重建数据库索引目录,无论当前是否存在