Linxu_软件管理_RPM

RPM的由来 

Linux的不同发行版本之间,往往有很大的不同。

开发者在某个Linux发行版下开发和编译的程序,直接放到另外一个Linux发行版本下,

有非常大的可能性无法运行。

因此早期的Linux软件,都是通过源代码来分发的。

使用者基本都是通过在自己的平台上,重新编源代码来安装软件。

这种编译源代码的方式比较繁琐和复杂,普通用户往往难以掌握。

为了解决这个问题,红帽公司开发了一个包管理器,名为Red Hat Package Manager/ RPM。

 

RPM

Red Hat Package Manager

RPM是Linux下使用最广泛、软件资源最丰富的软件包管理器。也是RHEL、CentOS中的默认软件包管理器。

RPM只能管理以RPM形式封装的软件包。

· RPM原理

将软件编译好的二进制文件、所依赖的动态库文件、配置文件,打包压缩到一个文件中。

该文件就被称为RPM软件包。

用户安装文件时,RPM就将包解压到目标操作系统上。

安装过程中可能会动态地生成一些文件,一并地安装到系统中。

· 软件包名的格式

由名字、版本号、适用的硬件架构,三部分组成。

需要对“适用的硬件架构”部分特别注意。

如: opera-stable_55.0.2994.56_amd64.rpm

此处适用的硬件架构为:amd64。

可知该软件包仅可在64位CPU的计算机下使用。

适用的硬件架构 CPU要求
x86_64 / x64 / AMD6 64位
i386 / i586 / i686 32位
noarch 无要求,适用于所有架构。

·

· 软件的管理

演示安装vsftp软件

1、查询是否已安装:rpm -q 软件名

[root@hanaii ~]# rpm -q vsftpd
package opera is not installed

2、软件的获取:wget url

[root@hanaii ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

3、安装:rpm -ivh 软件包名

其中,i表示安装;v表示输出详细信息;h表示输出#作为进度条。

[root@hanaii ~]# rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:vsftpd-3.0.2-22.el7              ################################# [100%]

4、验证是否安装

[root@hanaii ~]# rpm -q vsftpd
vsftpd-3.0.2-22.el7.x86_64

5、卸载:rpm -e 软件包名

卸载和安装必须是软件包名(包含软件名、版本号、适用平台)

[root@hanaii ~]# rpm -evh vsftpd-3.0.2-22.el7.x86_64
Preparing...                          ################################# [100%]
Cleaning up / removing...
   1:vsftpd-3.0.2-22.el7     

6、验证是否已卸载

[root@hanaii ~]# rpm -q vsftpd
package vsftpd is not installed

· RPM存在的问题

依赖问题

当我们安装软件A时,A可能依赖于软件B、C;B可能依赖软件D、E。

存在着这样的依赖问题,安装是非常麻烦的。

 安装opera中出现的依赖问题。

[root@hanaii ~]# rpm -ivh opera-stable_55.0.2994.56_amd64.rpm 
warning: opera-stable_55.0.2994.56_amd64.rpm: Header V4 RSA/SHA512 Signature, key ID a5c7ff72: NOKEY
error: Failed dependencies:
        libX11-xcb.so.1()(64bit) is needed by opera-stable-55.0.2994.56-0.x86_64
        libX11.so.6()(64bit) is needed by opera-stable-55.0.2994.56-0.x86_64

为解决这一问题,可使用yum软件。

猜你喜欢

转载自blog.csdn.net/hanaii/article/details/82560293