库文件
-
查看二进制程序所依赖的库文件
ldd/PATH/TO/BINARY_FILE - 管理及查看本机装载的库文件
ldconfig
加载配置文件中指定的库文件/sbin/ldconfig–p
显示本机已经缓存的所有可用库文件名及文件路径
映射关系配置文件:/etc/ld.so.conf, /etc/ld.so.conf.d/*.conf缓存文件:/etc/ld.so.cache
RPM包管理器
数据库(公共):/var/lib/rpm
-
安装
rpm {-i|--install} [install-options] PACKAGE_FILE...
-v: verbose
-vv:
-h: 以#显示程序包管理执行进度rpm -ivhPACKAGE_FILE ...
[install-options]
--test: 测试安装,但不真正执行安装,即dry run模式
--nodeps:忽略依赖关系
--replacepkgs| replacefiles--nosignature: 不检查来源合法性
--nodigest:不检查包完整性
--noscripts:不执行程序包脚本
%pre: 安装前脚本--nopre
%post: 安装后脚本--nopost
%preun: 卸载前脚本--nopreun
%postun: 卸载后脚本--nopostun
-升级
rpm {-U|--upgrade} [install-options] PACKAGE_FILE...
rpm {-F|--freshen} [install-options] PACKAGE_FILE...
upgrade:安装有旧版程序包,则“升级”如果不存在旧版程序包,则“安装”
freshen:安装有旧版程序包,则“升级”如果不存在旧版程序包,则不执行升级操作
rpm -UvhPACKAGE_FILE ...
rpm -FvhPACKAGE_FILE ...
--oldpackage:降级
--force: 强制安装
注意:(1) 不要对内核做升级操作;Linux支持多内核版本并存,因此直接安装新版本内核(2) 如果原程序包的配置文件安装后曾被修改,升级时,新版本提供的同一个配置文件不会直接覆盖老版本的配置文件,而把新版本文件重命名(FILENAME.rpmnew)后保留
-包查询
rpm {-q|--query} [select-options] [query-options]
[select-options]
-a:所有包
-f:查看指定的文件由哪个程序包安装生成
-p rpmfile:针对尚未安装的程序包文件做查询操作
--whatprovidesCAPABILITY:查询指定的CAPABILITY由哪个包所提供
--whatrequiresCAPABILITY:查询指定的CAPABILITY被哪个包所依赖
rpm2cpio 包文件|cpio–itv预览包内文件
rpm2cpio 包文件|cpio–id “*.conf”释放包内文件
[query-options]
--changelog:查询rpm包的changelog
-c:查询程序的配置文件
-d:查询程序的文档
-i:information-l:查看指定的程序包安装后生成的所有文件
--scripts:程序包自带的脚本
--provides:列出指定程序包所提供的CAPABILITY-R:查询指定的程序包所依赖的CAPABILITY
- 常用查询用法:
-qi PACKAGE
,-qf FILE
,-qc PACKAGE
,-ql PACKAGE
,-qd PACKAGE
,-qpi PACKAGE_FILE
,-qpl PACKAGE_FILE
, ...-qa
-
包卸载
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--test] PACKAGE_NAME ...
当包卸载时,对应的配置文件不会删除,以FILENAME.rpmsave形式保留 - 包校验
-
rpm {-V|--verify} [select-options] [verify-options]
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 mTimediffers
P capabilities differ -
包来源的合法性验证及完整性验证
完整性验证:SHA256
来源合法性验证:RSA - 公钥加密
对称加密:加密、解密使用同一密钥
非对称加密:密钥是成对儿的
public key: 公钥,公开所有人
secret key: 私钥, 不能公开 -
导入所需要公钥
rpm -K|checksigrpmfile检查包的完整性和签名
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
CentOS 7发行版光盘提供:RPM-GPG-KEY-CentOS-7
rpm -qa“gpg-pubkey*” - rpm数据库
-
数据库重建:/var/lib/rpm
rpm {--initdb|--rebuilddb}
initdb: 初始化
如果事先不存在数据库,则新建之
否则,不执行任何操作
rebuilddb:重建已安装的包头的数据库索引目录
yum
- yum客户端配置文件:
/etc/yum.conf:为所有仓库提供公共配置
/etc/yum.repos.d/*.repo:为仓库的指向提供配置
仓库指向的定义:
[repositoryID]name=Some name for this repository
baseurl=url://path/to/repository
enabled={1|0}
gpgcheck={1|0}
gpgkey=URLenablegroups={1|0
failovermethod={roundrobin|priority}
roundrobin:意为随机挑选,默认值
priority:按顺序访问
cost= 默认为1000
- yum仓库
yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号
$arch: 平台,i386,i486,i586,x86_64等
$basearch:基础平台;i386, x86_64
$YUM0-$YUM9:自定义变量
示例:
http://server/centos/$releasever/$basearch/
http://server/centos/7/x86_64http://server/centos/6/i386
yum命令
yum命令的用法:yum [options] [command] [package ...]
显示仓库列表:yum repolist[all|enabled|disabled]
显示程序包:
yum list
yum list [all | glob_exp1] [glob_exp2] [...]
yum list {available|installed|updates} [glob_exp1] [...]
安装程序包:
yum install package1 [package2] [...]
yum reinstall package1 [package2] [...] (重新安装)
升级程序包:
yum update [package1] [package2] [...]
yum downgrade package1 [package2] [...] (降级)
检查可用升级:
yum check-update
卸载程序包:
yum remove | erase package1 [package2] [...]
查看程序包information: yum info [...]
查看指定的特性(可以是某文件)是由哪个程序包所提供:
yum provides | whatprovidesfeature1 [feature2] [...]
清理本地缓存:
清除/var/cache/yum/$basearch/$releasever缓存
yum clean [ packages | metadata | expire-cache | rpmdb| plugins | all ]
构建缓存:yum makecache
搜索:yum search string1 [string2] [...]
以指定的关键字搜索程序包名及summary信息
查看指定包所依赖的capabilities:yum deplistpackage1 [package2] [...]
查看yum事务历史:
yum history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
yum history
yum history info 6
yum history undo 6
**日志:**/var/log/yum.log
安装及升级本地程序包: yum localinstall rpmfile1 [rpmfile2] [...]
(用install替代)
yum localupdate rpmfile1 [rpmfile2] [...]
(用update替代)
包组管理的相关命令:
yum groupinstall group1 [group2] [...]
yum groupupdate group1 [group2] [...]
yum grouplist [hidden] [groupwildcard] [...]
yum groupremove group1 [group2] [...]yum groupinfo group1 [...]
yum的命令行选项:
--nogpgcheck:禁止进行gpgcheck
-y: 自动回答为“yes”
-q:静默模式
--disablerepo=repoidglob:临时禁用此处指定的repo
--enablerepo=repoidglob:临时启用此处指定的repo
--noplugins:禁用所有插件
系统光盘yum仓库
- 系统安装光盘作为本地yum仓库:
(1) 挂载光盘至某目录,例如/mnt/cdrommount /dev/cdrom/mnt/cdrom
(2) 创建配置文件
[CentOS7]name=
baseurl=
gpgcheck=
enabled=
- 创建yum仓库:
createrepo[options] <directory>
转载于:https://blog.51cto.com/14224061/2368346