发布网友 发布时间:2022-03-20 11:19
共2个回答
懂视网 时间:2022-03-20 15:40
RPM概述:RPM是RPM Package Manager(RPM软件包管理器)的缩写。
产品型号:Thinkpad E15
系统版本:centos7
软件版本:rpm 4.14
RPM工具使用分为安装、查询、验证、更新、删除等操作
命令格式:rpm [参数] 软件包
rpm命令安装包,常用参数:
-i 是install的意思, 安装软件包
-v 显示附加信息,提供更多详细信息
-V 校验,对已经安装的软件进行校验
-h --hash 安装时输出####标记
例1:安装rpm包
[root@xuegod63 ~]# rpm -ivh /mnt/BaseOS/Packages/lrzsz-0.12.20-43.el8.x86_.rpm
#本地安装lrzsz包,安装后可以使用rz和sz命令。
rpm查询功能
用法:rpm -q(query) 常与下面参数组合使用
-a(all) 查询所有已安装的软件包
-f(file)系统文件名(查询系统文件所属哪个软件包),反向查询
-i 显示已经安装的rpm软件包信息,后面直接跟包名
-l(list) 查询软件包中文件安装的位置
-p 查询未安装软件包的相关信息,后面要跟软件的命名
例:
[root@xuegod63 mnt]# rpm -q lrzsz --->查询指定的包是否安装
[root@xuegod63 mnt]# rpm -qa --->查询所有已安装包
[root@xuegod63 ~]# which find #查看find命令的路径
/usr/bin/find
[root@xuegod63 ~]# rpm -qf /usr/bin/find #查询文件或命令属于哪个安装包
查询已经安装的rpm包的详细信息或作用 rpm -qi rpm包名
[root@xuegod63 ~]# rpm -qi lrzsz
针对没有安装的RPM包,要加参数: -p
[root@xuegod63 ~]# rpm -qpi /mnt/AppStream/Packages/php-mysqlnd-7.3.5-5.module_el8.2.0+314+53b99e08.x86_.rpm
rpm包卸载
用法:rpm -e(erase) 包名
[root@xuegod63 ~]# rpm -e lrzsz
解决rpm依赖关系:
[root@xuegod63 ~]# cd /mnt/AppStream/Packages/
[root@xuegod63 Packages]# rpm -ivh apr-util-1.6.1-6.el8.x86_.rpm
错误:依赖检测失败:
libapr-1.so.0()(bit) 被 apr-util-1.6.1-6.el8.x86_ 需要
解决:
[root@xuegod63 Packages]# rpm -ivh apr-1.6.3-9.el8.x86_.rpm
[root@xuegod63 Packages]# rpm -ivh apr-util-1.6.1-6.el8.x86_.rpm
现在就可以安装成功了。
总结:
rpm常用参数
rpm命令安装包常用参数:
-i 是install的意思, 安装软件包
-v 显示附加信息,提供更多详细信息
-V 校验,对已经安装的软件进行校验
-h --hash 安装时输出####标记
rpm查询功能参数:
用法:rpm -q(query) 常与下面参数组合使用
-a(all) 查询所有已安装的软件包
-f(file)系统文件名(查询系统文件所属哪个软件包),反向查询
-i 显示已经安装的rpm软件包信息,后面直接跟包名
-l(list) 查询软件包中文件安装的位置
-p 查询未安装软件包的相关信息,后面要跟软件的命名
热心网友 时间:2022-03-20 12:48
一、制作rpm包
以rp-pppoe-3.10为列进行制作过程。
1.下载rp-pppoe-3.10.tar.gz
[root@localhost
home]#
pwd
/home
[root@localhost
home]#
2.解压
#
tar
zxvf
rp-pppoe-3.10.tar.gz
3.
#
cp
/home/rp-pppoe-3.10/rp-pppoe.spec
/usr/src/redhat/SOURCES/
#
cp
/home/rp-pppoe-3.10.tar.gz
/usr/src/redhat/SOURCES/
3.制作rpm包
#
cd
/usr/src/redhat/SOURCES/
#
rpmbuild
-bb
rp-pppoe.spec
<==仅编译成
RPM
档案
#
rpmbuild
-ba
rp-pppoe.spec
<==编译并同时产生
RPM
与
SRPM
档案
如果编译成功,就已经制作好rp-pppoe的rpm包了,查看一下
[root@localhost
i386]#
pwd
/usr/src/redhat/RPMS/i386
[root@localhost
i386]#
ll
total
420
-rw-r--r--
1
root
root
186322
01-06
11:09
rp-pppoe-3.10-1.i386.rpm
-rw-r--r--
1
root
root
150356
01-06
11:09
rp-pppoe-debuginfo-3.10-1.i386.rpm
-rw-r--r--
1
root
root
63319
01-06
11:09
rp-pppoe-gui-3.10-1.i386.rpm
[root@localhost
i386]#
二、安装rpm包
1.查看系统有五安装过rp-pppoe。
[root@localhost
i386]#
rpm
-qa
rp-pppoe
rp-pppoe-3.5-1
2.删除系统已经安装过的rpm包
[root@localhost
i386]#
rpm
-e
rp-pppoe
[root@localhost
i386]#
rpm
-qa
rp-pppoe
3.安装刚才制作好的rpm包
[root@localhost
i386]#
ls
rp-pppoe-3.10-1.i386.rpm
rp-pppoe-gui-3.10-1.i386.rpm
rp-pppoe-debuginfo-3.10-1.i386.rpm
[root@localhost
i386]#
rpm
-ivh
rp-pppoe-3.10-1.i386.rpm
Preparing...
###########################################
[100%]
1:rp-pppoe
###########################################
[100%]
[root@localhost
i386]#
rpm
-qa
rp-pppoe
rp-pppoe-3.10-1
[root@localhost
i386]#
ls
/etc/ppp/pppoe-server-options
/etc/ppp/pppoe-server-options
以上信息说明安装成功了哦。
三、错误处理
在制作rpm(1.3步)的时候出现错:
RPM
build
errors:
Installed
(but
unpackaged)
file(s)
found:
解决办法:
将/usr/lib/rpm/macros
中
%__check_files
/usr/lib/rpm/check-files
%{buildroot}
注释掉