Linux学习笔记(二十三)

本文介绍了Linux系统中软件安装的两种主要方式——dpkg(主要用于Debian及其衍生系统)和RPM(用于Red Hat、CentOS、SuSE等)。RPM是一种基于数据库的软件管理程序,具有方便安装、记录软件信息和依赖关系等优点,但也存在环境匹配和依赖问题。SRPM是源码形式的RPM,允许用户根据自身环境重新编译。文章还讨论了RPM的安装、查询、升级和验证过程,以及常见的文件后缀含义和RPM的路径。
摘要由CSDN通过智能技术生成

软件安装: RPM, SRPM 与 YUM 功能

Linux 界的两大主流: RPM 与 DPKG 

目前在 Linux 界软件安装方式最常见的有两种,分别是: 

·  dpkg:这个机制最早是由 Debian Linux 社群所开发出来的,透过 dpkg 的机制, Debian 提供的软件就能够简单的安装起来,同时还能提供安装后的软件信息,实在非常不错。 只要是衍生于 Debian 的其他 Linux distributions 大多使用 dpkg 这个机制来管理软件的,包括 B2D, Ubuntu 等等。 

·  RPM:这个机制最早是由 Red Hat 这家公司开发出来的,后来实在很好用,因此很多 distributions 就使用这个机制来作为软件安装的管理方式。包括 Fedora, CentOS, SuSE 等等知名的开发商都是用这咚咚。  

什么是RPM与SRPM

简单来说,RPM『 RedHat Package Manager 是一种数据库记录的方式将所需要的套件安装到Linux主机的一套管理程序。它的最大特点是:将要安装的套件先编译(如果需要的话)并打包,通过包装好的套件中默认的数据库记录,记录这个套件在安装的时候需要的依赖属性模块(就是Linux主机需要先存在的几个必须的套件)。在用户的Linux主机安装时,RPM会先根据套件里的记录数据,查询Linux主机的依赖属性套件是否满足,若满足则予以安装,若不满足则不安装。在安装套件的时候将该套件的信息全部写入RPM的数据库中,以方便将来的查询、验证与卸载。这样做的优点如下:

      ·由于已经编译完并且打包,所以安装很方便(不需要编译)。

      ·由于套件信息已经记录在Linux主机的数据库中,方便查询、升级与卸载。

不过这样也有一定的缺点:

      ·安装环境必须与打包时的环境一致。

      ·需要满足套件的依赖属性需求。

      ·卸载时需要特别小心,最底层的套件不可先卸载,否则可能造成整个系统出问题。

如何解决RPM的这个缺点问题,就是使用SRPM咯。 顾名思义SRPM是sourec RPM的意思,也就是这个RPM文件里含有源码(Source code)。注意:这个SRPM所提供的套件内容“并没有经过编译”,它提供的是源码。它的格式为 xxxx.src.rpm

SRPM虽然内容是源码但是仍然含有该套件所需要的依赖性说明,以及所有RPM文件所提供的数据,与RPM不同,SRPM也提供了参数配置文件(configure与Makefile)。

如果用的SRPM,那么安装套件时候,RPM套件管理程序会先将该套件以RPM管理的方式编译,然后将编译完成的RPM文件安装到Linux系统中。与RPM文件相比,SRPM多了一个重新编译的操作,而且SRPM编译完成后会产生RPM文件。

SRPM的好处:因为RPM文件必须要在相同的Linux环境下才能安装,而SRPM是源码格式,自然就可以通过修改SRPM内的参数配置文件重新编译产生适合Linux环境的RPM文件,这样可以将该套件安装到系统中而不必与原打包的Linux环境相同。

什么是 i386, i586, i686, noarch, x86_64  

那么我们怎么知道这个软件的版本、适用的平台、编译释出的次数呢?只要透过档名就可以知道了!例如 rp-pppoe-3.1-5.i386.rpm 

这的档案的意义为: 

rp-pppoe -        3.1    -     5        .i386        .rpm 

软件名称   软件的版本信息 释出的次数 适合的硬件平台 扩展名 

注意:i386的文件可以在任何机器上安装,不论是i586还是i686,但是i686则不一定可以用于386或586的硬件。另外686的机器是用i686的文件性能会较好一些。

RPM的优点

优点:

·RPM文件本身为已经编译过的二进制文件,可以让客户端的用户免除重新编译的麻烦。

·RPM文件在安装之前,RPM会先检查系统的硬盘容量、操作系统版本等,可避免文件安装错误。

·RPM文件本身提供套件版本信息、相关套件名称、套件用途说明、套件所含文件等信息,便于了解套件。

·RPM是用数据库记录RPM文件的相关参数,便于升级、删除、查询与验证。

在Linux系统上建立一个RPM套件数据库,在安装某个套件的过程中,RPM会去检验数据库中是否已经存在相关的套件。

由于RPM类型的文件里含有属性相关的消息,分析这些消息再让程序自行去寻找未安装的前去套件,并实现安装,这样就可以解决属性相关的问题。urpmi/apt/yum这些服务的由来。

RPM 默认安装的路径  

安装完毕之后rpm会将套件的信息写入/var/lib/rpm中,以后查询或升级时候需要的信息就会从这个文件中获取。

系统默认文件目录

目录

说明

/etc

一些配置文件的目录,例如/etc/crontab

/usr/bin

一些可执行文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值