(Linux)rpm 使用常见问题原因及解决方法

前言

在Linux的系统中,我们安装软件的时候,有的时候可能会遇到一些问题,下面就是关于这些问题的解决方案的总结。(常年更新中)



使用rpm的时候提示未安装

yum search rpm 报错:
rpm.x86_64 : The RPM package management system


解决方法:

【1】用yum安装rpm

yum install rpm.x86_64



rpm 安装rpm包,提示安装成功,可是查询不到

当我们用rpm进行安装rpm包的时候,它会提示我们进度走到了100%并安装成功,但是当我们使用rpm查询软件是否安装的时候却找不到。下面为解决方法,如方法不可使用请看下一条。


解决方法:


【1】使用别的查询方法

rpm -qa |grep “软件名”
rpm -q “软件名”
rpm -e 软件名(看一下是否可卸载)


【2】重装rpm,再安装

yum repolist rpm
yum install rpm.x86_64
rpm -ivh “rpm包名”


【3】重装软件包

rpm -ivh –replacepkgs rpm包名


【4】使用rpmbuild安装

rpm源码包(.src.rpm文件)
.src.rpm结尾的文件是由软件的源代码包装而成的,用户要安装这类rpm软件包,必须使用命令rpmbuild:(如未安装此工具:yum -y install rpm-build)

<1>把源代码解包并编译、安装
rpmbuild –recompile xxx.xxx.src.rpm   

<2>在安装完成后,还会把编译生成的可执行文件重新包装成i386.rpm的RPM软件包。
rpmbuild –rebuild xxx.xxx.src.rpm

Wrote: /usr/src/redhat/RPMS/i386/xxx.xxx.i386.rpm

<3>根据上方Wrote的 xxx.xxx.i386.rpm 的路径,.执行安装

rpm -ivh /usr/src/redhat/RPMS/i386/xxx.xxx.i386.rpm

<4>rpm -qa | grep 软件包名(查看)



rpm包提示已经安装,但删除的时候又提示没有安装

如果你安装的是xxx.xxx.i386.rpm这类的rpm包,使用rpm -e xxx.xxx.i386.rpm,提示”already installed“
可能是软件包名不对,因为此类的包装上后的包名会变化(少了.i386)。


解决方法:


【1】
rpm -qa |grep 软件名

rpm -e –nodeps 查到的软件包名



/usr/src/kernels 目录为空

(/usr/src/kernels为安装当前系统的内核源码的存放目录)
有时我们在安装系统后,发现没有安装当前系统的内核源码在/usr/src/kernels目录下。


解决方法:


【1】yum -y install kernel-devel

这里写图片描述



/usr/src/目录里面没有redhat目录

首先系统要是redhat
/usr/src/radhat目录一般是在安装*.src.rpm的包生成


解决方法:


【1】安装*.src.rpm的包

把源代码解包并编译、安装
rpmbuild –recompile xxx.xxx.src.rpm   

在安装完成后,还会把编译生成的可执行文件重新包装成i386.rpm的RPM软件包。
rpmbuild –rebuild xxx.xxx.src.rpm

Wrote: /usr/src/redhat/RPMS/i386/xxx.xxx.i386.rpm

<3>根据上方Wrote的 xxx.xxx.i386.rpm 的路径,.执行安装

rpm -ivh /usr/src/redhat/RPMS/i386/xxx.xxx.i386.rpm

<4>自动生成usr/src/radhat目录

猜你喜欢

转载自blog.csdn.net/gx_1_11_real/article/details/80492903