一、基本定义
rpm:是redhat package manager的缩写,是RPM软件包的管理工具,可用来对软件的安装、卸载、更新等操作,rpm有依赖关系,不能自动解决依赖关系。查找rpm包的网站:http://rpmfind.net/ http://pkgs.org
rpm 软件包名称:
软件名称 版本号(主版本、次版本、修订号) 操作系统 -----90%的规律
举例一:
openssh-6.6.1p1-31.el7.x86_64.rpm
数字前面的是名称
数字是版本号:第一位主版本号,第二位次版本号,带横杠的是修订号, el几---操作系统的版本。
noarch : 32位64位都支持
x86_64 : 64位
AMD64
ARM 苹果 鸿蒙
i4-686的包 :32位
devel:表示这个RPM包是软件的开发包;举例2:
rpm包的命名格式:
以zziplib-utils-0.13.68-8.el8.x86_64.rpm这个软件包为例:
可将rpm包划分为6个字段。
其中:第一个字段是zziplib-utils,表示软件的名称
第二个字段是0.13.68,表示版本号
第三个字段是8,表示发布次数
第四个字段是el8,表示开发该软件的是企业版的linux,采用centos8的系统
第五个字段是x86_64,表示该软件采用的架构是x86,64位的系统。该字段也可能是noarch,表示不区分架构
第六个字段是rpm,是rpm包的后缀名
用rpm安装需要考虑如下信息:
1.需要考虑系统的版本需要与rpm对应
2.系统的架构:如32位还是64位
3.需要考虑依赖关系
二、rpm命令
1、rpm安装
rmp
-i 安装
-v 显示指令执行过程
-h 显示安装进度
-U 更新升级
[root@linux-server ~]# wget http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm 下载软件包
[root@linux-server ~]# rpm -ivh ntfs-3g-2017.3.23-11.el7.x86_64.rpm 安装软件包
[root@linux-server ~]# rpm -ivh http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm 直接通过连接安装
2、查询
rpm -qa 查询所有安装的rpm包
[root@shiyan ~]# rpm -qa
rpm -ql package 查询系统中安装软件所查所产生的文件
[root@shiyan ~]# rpm -ql nginx
rpm -qf 文件名 查询文件是有那个软件包产生的
[root@shiyan ~]# rpm -qf /etc/passwd
setup-2.8.71-11.el7.noarch
rpm -qc 软件包名称 查询软件包有哪些配置文件
[root@shiyan ~]# rpm -qc nginx
/etc/logrotate.d/nginx
/etc/nginx/fastcgi.conf
/etc/nginx/fastcgi.conf.default
/etc/nginx/fastcgi_params
/etc/nginx/fastcgi_params.default
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/mime.types.default
3、卸载
rpm -e 软件名称 卸载软件
[root@shiyan ~]# rpm -e vsftpd
4、rpm工具管理软件包总结:
1. 很难解决包依赖关系
2. 如果某个文件没有,很难知道它由哪个rpm包提供