RPM包管理器

库文件

  • 查看二进制程序所依赖的库文件
    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/cdrom mount /dev/cdrom/mnt/cdrom

(2) 创建配置文件

[CentOS7]name=
baseurl=
gpgcheck=
enabled=
  • 创建yum仓库:createrepo[options] <directory>

转载于:https://blog.51cto.com/14224061/2368346

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值