软件包管理器之rpm

软件包中的文件分类

1、二进制文件
2、库文件
3、配置文件
4、相关帮助文档

获取程序包的途径

1、系统发行版的光盘或者官方网站
例如:mirrors.sohu.com、morrors.163.com、mirrors.tuna.tsinghua.edu.cn、
www.centos.org/download等
2、第三方组织 
例如:mirrors.cloud.tencent.com/epel
3、软件项目的官方站点
例如:yum.mariadb.org/10.4/centos-amd64/rpms
4、相关搜索引擎
例如:pkgs.org、rpmfind.net等
5、自己制作

注:获取程序包时应该检查来源的合法性及程序包的完整性。

CentOS系统上使用rpm命令管理程序包

功能:包的安装、升/降级、卸载、查询、检验、数据库维护等
详细用查询帮助。

包的安装

rpm  {-i|--install} [install-options] PACKAGE_NAME...

常用:

rpm   -ivh   PACKAGE_NAME... 
-h: 以#显示程序包管理执行进度
[install-options]:
--test: 测试安装,但不真正执行安装
--nodeps:忽略依赖关系
--replacepkgs | replacefiles
--nosignature: 不检查来源合法性
--nodigest:不检查包完整性

包的升/降级

rpm {-U|--upgrade} [install-options]  PACKAGE_NAME...
rpm {-F|--freshen} [install-options]  PACKAGE_NAME...
rpm  -Uvh  PACKAGE_NAME...
-U:安装有旧版程序包,则"升级",如果不存在旧版程序包,则"安装"
rpm  -Fvh  PACKAGE_NAME...
-F:安装有旧版程序包,则"升级", 如果不存在旧版程序包,则不执行升级操作

--oldpackage:降级
--force:强制安装
升级时注意事项:
1、内核不升级,直接安装新版本内核即可
2、 如果原程序包的配置文件安装后曾被修改,升级时,新版本提供的同一个配置文件不会直接覆盖老
版本的配置文件,而把新版本文件重命名(FILENAME.rpmnew)后保留

包的卸载

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

注:卸载包时,对应的配置文件不会删除,而是以PACKAGE_NAME.rpmsave形式保留

例:强行删除rpm包,并恢复

[root@centos7 ~]#rpm -e rpm --nodeps
#重启进入rescue模式
#mkdir /mnt/cdrom
#mount /dev/sr0 /mnt/cdrom
#rpm -ivh /mnt/cdrom/Packages/rpm-4.11.3-40.el7.x86_64.rpm --root=/mnt/sysimage
#reboot

包的查询

rpm  {-q|quary} [select-options] [query-options]
[select-options]:
-a:所有包
-f:查看指定的文件由哪个程序包安装生成
-p rpmfile   针对尚未安装的程序包文件做查询操作
[query-options]:
-c:查询程序的配置文件 
-d:查询程序的文档
-i:information
-l:查看指定的程序包安装后生成的所有文件

例:

[root@17centos7 ~]# rpm -qa |wc -l
1402

[root@17centos7 ~]# rpm -qi yum
Name        : yum
Version     : 3.4.3
Release     : 168.el7.centos
....

[root@17centos7 ~]# rpm -qf /etc/shadow
setup-2.8.71-11.el7.noarch

[root@17centos7 ~]# rpm -qc httpd
...
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/logrotate.d/httpd
/etc/sysconfig/htcacheclean
/etc/sysconfig/httpd

[root@17centos7 ~]# rpm -qd httpd
/usr/share/doc/httpd-2.4.6/ABOUT_APACHE
/usr/share/doc/httpd-2.4.6/CHANGES
...

包的检验:略

数据库维护

rpm包安装时生成的信息,都放在rpm数据库中:/var/lib/rpm

重建数据库:

rpm {--initdb|--rebuilddb}
initdb: 初始化,如果事先不存在数据库,则新建之,否则,不执行任何操作
rebuilddb:重建已安装的包头的数据库索引目录
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值