课时22 RPM软件包管理

来源:互联网 发布:mysql返回自增id 编辑:程序博客网 时间:2024/06/08 18:10

Linux课程学习笔记来源于网易云课堂:Linux 入门基础

1 源代码形式

1)       绝大多数开源软件都是直接以源代码形式发布

2)       源代码一般会被打包成tar.gz的归档压缩文件

3)       程序源代码需要编译成为二进制形式之后才能够运行使用

4)       源代码基本编译流程:

1- ./configure 检测编译环境、相关库文件以及配置参数并生成makefile

2- make 对源代码进行编译,生成可执行文件

3- make install 对生成的可执行文件安装到计算机中

5)       源代码形式的软件使用起来较为麻烦,但是兼容性及可控制性(编译之前进行一些配置)较好

6)       开源软件一般都会大量使用其他开源软件的功能,所以开源软件会有大量的依赖关系(使用某软件需要先安装其他软件)

2 RPM

1)       源代码形式的缺点:操作复杂、编译时间长、极容易出现错误(10M可能就要编译10几分钟,几百M可能要几个小时、极容易出现错误CentOS或者Redhat默认使用RPM方式管理软件)

2)       源代码形式的优点:使用所有系统、可定制

3)       为了方便使用,Erik Troan和Marc Ewing开发了RPM(redhatPackage Manager)

4)       RPM通过将源代码基于特定平台系统编译为可执行文件(不能解决跨平台的问题),并保存依赖关系,来简化开源软件的安装管理

5)       RPM设计目标如下

              *使用简单

              *使用单一软件包格式文件发布(.rpm文件)

              *可升级

              *追踪软件依赖关系(不能自动解决)

              *基本信息查询(作者、发布时间、版本号、说明等)

              *软件验证功能

              *支持多平台

3 RPM软件包常用命令规范

1)       linuxcast-1.2.0-30.el6.i686.rpm

其中,linuxcast`软件名称`-1.2.0-30`版本号,越高软件越新`.el6`针对于el6系统平台`.i686`32位还是64位x86_64`.rpm

即:

第一部分是这个软件的名字

第二部分是版本号

第三个和第四个是对应的系统和平台

 

2)       RPM基础命令(安装软件必须在root用户下)

              *安装软件:`rpm -isoftware.rpm`

              *卸载软件:`rpm -esoftware``注意不加版本号等`

              *升级形式安装:`rpm -Usoftware-new.rpm`

              *rpm支持通过http、ftp协议安装软件

              *rpm -ivh http://www.linuxcast.net/software.rpm

3)       可以加入以下参数`通常都会加上vh两个参数`

              *-v 显示详细信息

              *-h 显示进度条

4 RPM查询

RPM会保存软件相关的很多信息,可通过以下命令查询

* rpm -qa 列出所有安装的rpm软件

* rpm -qffilename 查询目标文件属于哪个rpm包

* rpm -qipackagename 查询指定已安装rpm软件的信息`不需要加版本号等`

* rpm -qlpackagename 查询指定已安装rpm软件包含的文件

* rpm -qipsoftware.rpm 查询未安装rpm文件的信息

* rpm -qlpsoftware.rpm 查询未安装rpm文件包含的文件

5 RPM验证

1)       软件在传播的过程中可能会被恶意的修改,所以为了安全起见现代系统都加入了对软件的验证功能

2)       验证一般使用非对称加密算法,所以需要一个密钥

3)       导入密钥

rpm -importRPM-GPG-KEY-CentOS-6

4)       验证rpm文件

rpm -Ksoftware.rpm

5)       验证已安装的软件(验证哪些不该被修改的文件被修改了)

rpm -V software