Linux软件安装——软件包

Posted shamao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux软件安装——软件包相关的知识,希望对你有一定的参考价值。

Linux软件安装——软件包

摘要:本文主要学习了Linux下软件安装的相关知识。

软件包

简介

Linux下的软件包众多,且几乎都是经GPL授权、免费开源(无偿公开源代码)的。这意味着如果你具备修改软件源代码的能力,只要你愿意,可以随意修改。

GPL,全称General Public License,中文名称“通用性公开许可证”,简单理解GPL就是一个保护软件自由的一个协议,经GPL协议授权的软件必须开源。

Linux下的软件包可细分为两种,分别是源码包和二进制包。

Linux源码包

实际上,源码包就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的。

我们都知道,计算机只能识别机器语言,也就是二进制语言,所以源码包的安装需要一名“翻译官”将“abcd”翻译成二进制语言,这名“翻译官”通常被称为编译器。“编译”指的是从源代码到直接被计算机(或虚拟机)执行的目标代码的翻译过程,编译器的功能就是把源代码翻译为二进制代码,让计算机识别并运行。

另外,由于源码包的安装需要把源代码编译为二进制代码,因此安装时间较长。

为了解决使用源码包安装方式的这些问题,Linux软件包的安装出现了使用二进制包的安装方式。

Linux二进制包

二进制包,也就是源码包经过成功编译之后产生的包。由于二进制包在发布之前就已经完成了编译的工作,因此用户安装软件的速度较快,且安装过程报错几率大大减小。

二进制包是Linux下默认的软件安装包,因此二进制包又被称为默认安装软件包。目前主要有以下两大主流的二进制包管理系统:

1)RPM包管理系统:功能强大,安装、升级、査询和卸载非常简单方便,因此很多Linux发行版都默认使用此机制作为软件安装的管理方式,例如:Fedora、CentOS、SuSE等。

2)DPKG包管理系统:由Debian Linux所开发的包管理机制,通过DPKG包,Debian Linux就可以进行软件包管理,主要应用在Debian和Ubuntu中。

线上升级

不论DPKG还是RPM,这些机制或多或少都会有软件依赖的问题,每个软件都有对依赖的检查,目前新的Linux开发商都有提供这样的线上升级机制,通过这个机制,在安装时只要有网络,就能够取得开发商所提供的任何软件。

在DPKG管理机制上就开发出APT的线上升级机制。

在RPM上则根据开发商的不同,有Red Hat系统的YUM(Yellow dog Updater, Modified),SuSE系统的YOU(Yast Online Update)等。

RPM包管理系统

RPM包说明

RPM全名是“RedHat Package Manager”,顾名思义,当初这个软件管理的机制是由Red Hat这家公司发展出来的。RPM是以一种资料库记录的方式来将你所需要的软件安装到你的Linux系统的一套管理机制。

RPM最大的特点就是将你要安装的软件先进行编译,然后打包成为RPM机制的文件,在安装时,RPM会先依照软件里的数据查询相依赖的软件是否满足,如果满足则进行安装,如果不满足则不安装。安装的时候会将该软件的信息写入RPM的数据库中,以便未来的查询、验证与反安装。

在使用RPM进行安装时也会遇到一些问题,软件安装的环境必须与打包时的环境需求一致或相当,并且在安装时需要满足某些软件的依赖,而且在卸载时需要特别小心,最底层的软件不可先移除,否则可能造成整个系统的问题。

为了解决不同厂商提供的软件不能在其他Linux版本上安装运行的问题,在安装软件时可以使用SRPM这个东西。

SRPM包说明

SRPM是Source RPM的意思,也就是这个RPM文件里面含有原始码,这个SRPM所提供的软件内容并没有经过编译。

通常SRPM的扩展名是以“***.src.rpm”这种格式来命名的。虽然SRPM的内容是原始码,但是仍然含有该软件所需要的相关软件依赖、以及所有RPM文件所提供的数据。同时,与RPM不同的是,SRPM也提供了参数配置档。所以,如果我们下载的是SRPM,那么要安装该软件时,你就必须要:

1)先将该软件以RPM管理的方式编译,此时SRPM会被编译成为RPM文件。

2)然后将编译完成的RPM文件安装到Linux系统中。

通常一个软件在发布的时候,都会同时发布该软件的RPM与SRPM。RPM文件必须要在相同的Linux环境下才能够安装,可以通过修改SRPM内的参数配置,然后重新编译产生能适合Linux环境的RPM文件,如此一来,就可以将该软件安装到新系统中。

命名规范

通过文件名可以知道这个软件的版本、适用的平台、编译释出的次数。例如rp-pppoe-3.11-5.el7.x86_64.rpm这的档案的意义为:

1)rp-pppoe:软件名称。

2)3.11:软体的版本资讯。

3)5:释出的次数。

4).el7.x86_64:适合的硬体平台。

5).rpm:文件类型名。

以上是关于Linux软件安装——软件包的主要内容,如果未能解决你的问题,请参考以下文章

linux 系统怎样装软件?

linux怎样查询一个软件的安装目录

linux软件包安装问题

linux系统(红帽)下的的软件安装rpm安装软件

linux怎么安装软件

linux查看已安装的软件包