2024年5月25日发(作者:)
Linux学习之CentOS(二十三)--Linux软件管理之源代码以及RPM软件包
管理
在Linux系统下,对于软件包的管理有多种机制,有源代码方式、RPM软件包管理方式以
及YUM软件管理方式,本篇随笔将详细讲解CentOS下源代码形式安装软件以及RPM软件
包管理机制
一、源代码形式
首先我们先来看一下源代码的方式。我们知道,在开源的环境下,大多数的开源软件都是以
源代码的形式来发布,通常将源代码打包成的归档压缩文件发布到网上供我们下
载使用。但是我们下载下来的源代码方式我们还不能够直接使用,不像在windows系统上
直接下载下来可执行的二进制文件,我们需要将下载好的源码编译成可执行的二进制文件才
能运行使用,源代码形式安装流程一般如下:
①./configure 检查编译环境、相关库文件以及配置参数并生成makefile
②make 将源代码编译成可执行的二进制文件
③make install 安装编译好的可执行文件
基本上所有以源代码形式发布的软件都是按照以上流程来进行安装,大家可能觉得其实步骤
就这三个,安装过程非常简单!其实不然,通常以源代码形式发布的软件,在对其进行①、
②步操作时往往会出很多很多的问题,比如说编译过程中缺少所需的库文件,或者说编译源
码时又需要依赖A文件,编译A文件时可能又需要用到B文件,这样我们需要花大量时间
去找这些依赖的问题,同时如果一个软件特别大的话,我们在将其编译过程中要等待非常久
的时间。所以说其实源代码形式的安装软件并不是我们想象的那么简单,但是为什么源代码
形式的软件管理还一直存在呢?必然也有其优点,因为我们的源码都要通过编译成可执行的
二进制文件才行,所以说它适用于各种操作系统平台,我只需要在各个操作系统平台上对其
源码进行编译即可运行起来了。
总结一下:
源代码形式的缺点:操作复杂、编译时间长、极易出现错误
源代码形式的优点:适用于所有的操作系统、可定制
二、RPM软件包管理
因为源代码方式安装软件终究还是比较麻烦,所以说现在出现了许多代替源码方式安装的软
件管理机制。RPM就是其中一个,RPM(redhat Package Manager)是为了方便软件
管理使用所开发的一套开源软件格式,它的设计目标有以下几个:
①使用简单 通过 rpm 命令就可以完成rpm软件的安装
②以单一软件包格式发布(.rpm文件) 我们可以看到rpm软件包都只有一个以.rpm
的文件(rpm软件包管理机制要求软件包必须以.rpm结尾)
③可升级 rpm软件包是可以升级的,比如说我下载好了一个新版本的rpm软件,我们
只需要通过 rpm -u 命令即可升级
④追踪依赖关系 rpm软件包管理机制可以追踪软件之间的依赖关系,这样在安装时就会
非常的方便
⑤保存软件基本信息
⑥软件验证功能
⑦支持多平台 支持多平台并不是说一个rpm软件可以在多个操作系统平台上运行,而
是说该软件会针对多个平台发布不同的rpm软件包
RPM软件包常用的命名规范如下:
6.x86_
其中xiaoluo就是我们的软件名字,1.1.0-5是该软件的版本号,el6.x86_64这两个部分
是指我们该rpm包的运行平台的操作系统版本。例如el6就表示是针对于RHEL6的发现
版本,我们使用的是什么版本的Linux操作系统,我们就要去下载对应的rpm版本,x86_64
表示是运行在64位上的系统。
RPM的基础命令:
rpm的使用方式非常简单,常用的一些命令如下:
安装软件:rpm -i 6.x86_
卸载软件:rpm -e xiaoluo
升级形式安装:rpm -U 6.x86_
常用参数:
-v 显示详细信息
-h 显示文本进度条
例如我们这里安装一个tigervnc的rpm软件包实验一下:
[root@xiaoluo home]# rpm -ivh 6.x86_ // 通常我们一
般安装时跟上 -ivh参数,来显示安装的详细信息
########################################### [100%]
1:tigervnc ########################################### [100%]
安装过程根据软件包的大小以及机器的配置时间会不应相同,我们发现我们的这个rpm已
经就安装好了。
如果我们要将其卸载的话也非常的简单,通过 rpm -e 软件名字 即可卸载了,如:
[root@xiaoluo home]# rpm -e tigervnc
这样我们的rpm软件就已经卸载了,同样我们可以使用 rpm -U 软件名字 来对rpm软
件进行升级
RPM常用查询命令:
rpm -qa 列出所有已安装的rpm软件
rpm -qf filename 查询指定文件属于哪个rpm包
rpm -qi packagename 查询已软件包的信息
rpm -ql packagename 查询指定软件包包含的文件
rpm -qip 查询rpm文件的信息
rpm -qilp 查询rpm文件包含的文件
例如我们要查看当前操作系统上所有已安装的rpm软件,通过 rpm -qa 命令即可查看
[root@xiaoluo home]# rpm -qa
6_3.x86_64
6.x86_64
6.x86_64
6.x86_64
6.x86_64
6.x86_64
6.x86_64
6.x86_64
6.x86_64
发布评论