Linux 入门记录:十9、Linux 包管理工具 RPM

1、源代码管理

绝大多数开源软件都是直接以源代码形式发布的,通常会被打包为 tar.gz 的归档压缩文件。程序源代码须要编译为二进制可执行文件后才可以运行使用。源代码的基本编译流程为:html

  1. ./configure:解压缩后运行该命令,它主要检查编译环境、相关库文件以及配置参数并生成 makefile
  2. make:对源代码进行编译,生成可执行文件
  3. make install:将生成的可执行文件安装到计算机中

源代码形式的软件使用起来较为麻烦,可是兼容性和可控性较好。而且开源软件通常会大量使用其余开源软件的功能,因此开源软件会有大量的依赖关系(使用某软件须要先安装其余软件)。算法

 

2、RPM(RPM Package Manager,RPM包管理器)

使用源代码形式安装软件的优势是适用于全部系统、可定制,而缺点则是操做复杂、编译时间较长、极容易出现错误。为了方便使用,Erik Troan 和 Marc Ewing 开发了 RPM(RPM Package Manager,RPM 包管理器),RPM 最先是应用在 RedHat(红帽)中的。安全

 

1.设计目标

RPM 经过将源代码基于特定平台系统编译为可执行文件,并保存依赖关系,来简化开源软件的安装管理。RPM 的设计目标以下:bash

  • 使用简单
  • 使用单一软件包格式文件发布(.rpm 文件)
  • 可升级
  • 追踪软件依赖关系
  • 基本信息查询
  • 软件验证功能
  • 支持多平台

 

2.命名规范

packagename-1.2.0-30.el6.x86_64.rpmdom

包名-版本号-操做系统-硬件平台加密

其中,spa

操做系统:el6 表示 RedHat 6.x 或 CentOS 6.x 操做系统。操作系统

硬件平台:x86_64 表示 64 位平台,i386 表示 32 位平台,noarch 表示不须要特定的硬件平台(跨平台)。设计

 

3.基本命令

安装包:code

安装包:rpm -i packagename.rpm

卸载包:

rpm -e packagename

升级包:

rpm -U packagename-new.rpm

经过 http、ftp 协议安装:

rpm - ivh http://www.domainname.com/packagename.rpm

经常使用参数:

-v    显示详细信息
-h    显示进度条
-i    安装包
-e    卸载包
-U    更新(升级)包
-q    查询
-a    查询全部已安装包
-i    显示包信息
-h    取hash(哈希)
-f    查询文件属于哪一个包
-p    未安装包的信息
-l    列出包里的文件

 

3、RPM查询

rpm -qa                     列出已安装的全部rpm包
rpm -qa | grep '.*gnome.*'  列出全部名称含有gnome的包

rpm -qf filename            查询目标文件属于哪一个包

rpm -qi package             获取一个已安装包的相关信息
rpm -qip package.rpm        获取一个未安装包的相关信息

rpm -ql package             获取一个已安装包内的文件列表
rpm -qlp package.rpm        列出一个未安装包内的文件列表

  

4、RPM验证

软件包在传播的过程当中可能会被恶意地修改,因此为了安全起见,现代系统都加入了对软件包的验证功能。

验证通常使用非对称加密算法,因此须要一个公钥。导入公钥的方法是:

rpm --import /path/to/key_file

验证未安装的软件包:

rpm -K package.rpm

验证已安装的软件包:

rpm -V package

  

 

参考连接:

Linux中RPM包命名规则

YUM 公钥认证及导入

相关文章
相关标签/搜索