rpm的四个指令,安装、卸载、查询和升级。

rpm -i
rpm -e
rpm -qa
rpm -Uvh
// 补充一个,查询这个包安装了哪些文件
rpm -ql (包名,如xnee)
// 使用 rpm 查询包,参考 https://blog.csdn.net/bck1453925668/article/details/85788593

-i是安装,-e是卸载,前面两个参数后面要接包名,-qa是查询已安装的包,这个参数能直接使用, -Uvh是升级库。

下面以安装xnee为例讲解如何安装rpm包。

我们知道有些软件yum上没有,不能通过yum直接安装,这时候就要用的rpm了。

推荐几个个找rpm包的网站。

Rpmfind mirror

https://pkgs.org/

下面这个网站不是专门找包的,不推荐,看运气,比如tigervnc的rpm历史版本就在里面

Compare, Download & Develop Open Source & Business Software - SourceForge 

举个例子:

我们在(第一个网址)里面搜索xnee

左边.html结尾的链接是该版本xnee需要的依赖,右边以.rpm包结尾的是下载的rpm链接。因为一个rpm包可能需要别的rpm包作为依赖(左边的链接作用),一会后面会讲到。我下载的是Xnee-3.19-10.fc30.x86_64.rpm。

直接安装,发现报错,缺少依赖libxnee.so.0()。(-ivh可以显示安装进度等信息)

我们点击上面我下载版本左边对应的html网址,看看能不能找到对应依赖。

我们发现有对应依赖,然后我们点击libxnee.so.0()。点进去发现又是一个跟上面一样类似的链接。

我们再把我们对应版本的rpm下载下来,跟前面下载的rpm包一块再次安装。

安装没有报错,Xnee安装成功,如图。

安装的时候可以添加--nodeps --force,就是强制执行,但是如果缺少依赖也强制执行,最后还是跑不起来。

  rpm -ivh teamviewer_15.7.6.x86_64.rpm --nodeps --force

卸载

rpm -qa | grep xxx包
rpm -e 包名  
(卸载可以加上 --nodeps 强制卸载,但是最好不要这样)

————————————————————分界线————————————————————

安装.src.rpm后缀的特殊RPM包

下载src.rpm

Index of /7.6.1810/os/Source/SPackages

先解决依赖问题,说两个解决依赖的办法

方式一

后缀为rpm是可以被有些windows上的压缩工具解压的,也可以在linux上用命令解压

rpm2cpio xxx.rpm | cpio -div

解压完了之后,里面有个spec文件,在里面搜索

BuildRequires:

例如

BuildRequires:  libX11-devel, automake, autoconf, libtool, gettext, gettext-autopoint
BuildRequires:  libXext-devel, xorg-x11-server-source, libXi-devel, libxshmfence-devel
BuildRequires:  xorg-x11-xtrans-devel, xorg-x11-util-macros, libXtst-devel
BuildRequires:  libdrm-devel, libXt-devel, pixman-devel libXfont-devel
BuildRequires:  libxkbfile-devel, openssl-devel, libpciaccess-devel
BuildRequires:  mesa-libGL-devel, libXinerama-devel
BuildRequires:  freetype-devel, libXdmcp-devel
BuildRequires:  desktop-file-utils, java-devel, jpackage-utils
BuildRequires:  libjpeg-turbo-devel, gnutls-devel, pam-devel
BuildRequires:  systemd, cmake, fltk-devel
BuildRequires:  libXfont2-devel
BuildRequires:  fltk-devel >= 1.3.3
BuildRequires:  xorg-x11-server-devel

具体要安装哪些依赖需要看里面的注释说明,有些上面的包可以直接用yum安装,有些包可能要手动寻找,解决完依赖关系就可以尝试源码安装了。

方式二

也可以使用 rpmbuild命令寻找依赖关系

# rpmbuild --rebuild *.src.rpm
正在安装 tigervnc-1.8.0-13.el7.src.rpm
错误:构建依赖失败:
        libXext-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        libXi-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        libxshmfence-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        xorg-x11-xtrans-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        xorg-x11-util-macros 被 tigervnc-1.8.0-13.el7.x86_64 需要
        libXtst-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        libdrm-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        libXt-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        pixman-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        libXfont-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        libxkbfile-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        openssl-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        libpciaccess-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        mesa-libGL-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        libXinerama-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        freetype-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        libXdmcp-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        java-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        libjpeg-turbo-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        gnutls-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        pam-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        cmake 被 tigervnc-1.8.0-13.el7.x86_64 需要
        fltk-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        libXfont2-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要
        fltk-devel >= 1.3.3 被 tigervnc-1.8.0-13.el7.x86_64 需要
        xorg-x11-server-devel 被 tigervnc-1.8.0-13.el7.x86_64 需要

把里面的包挨个安装就好,有些可以使用yum安装,就使用

yum install -y 包名

教个技巧,就是用正则表达式替换上面的东西,可以实现批量修改

被.*需要     正则替换为   空格
六个空格  正则替换为 yum -y install 

就可以变成

yum -y install libXext-devel  
yum -y install libXi-devel  
yum -y install libxshmfence-devel  
yum -y install xorg-x11-xtrans-devel  
yum -y install xorg-x11-util-macros  
yum -y install libXtst-devel  
yum -y install libdrm-devel  
yum -y install libXt-devel  
yum -y install pixman-devel  
yum -y install libXfont-devel  
yum -y install libxkbfile-devel  
yum -y install openssl-devel  
yum -y install libpciaccess-devel  
yum -y install mesa-libGL-devel  
yum -y install libXinerama-devel  
yum -y install freetype-devel  
yum -y install libXdmcp-devel  
yum -y install java-devel  
yum -y install libjpeg-turbo-devel  
yum -y install gnutls-devel  
yum -y install pam-devel  
yum -y install cmake  
yum -y install fltk-devel  
yum -y install libXfont2-devel  
yum -y install fltk-devel 
yum -y install xorg-x11-server-devel

解决完依赖问题就可以安装src.rpm包了

rpmbuild --rebuild *.src.rpm

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐