标签: 程序包管理器之rpm
在Linux中我们经常回遇到安装个卸载各种程序,但是我们又没有必要每次都对源代码进行预处理、编译、汇编、链接,这样很不方便,于是我们就可以使用RPM包管理器。
一:RPM包的介绍:RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
二:RPM包的功能介绍:
1.安装、升级、卸载和管理软件
2.可以对组件查询
3.选择安装
4.验证功能
5.数据库管理
三:程序包的介绍:首先介绍下程序包管理器的打包机制,这里的打包:包括打包与编译,即我们可以直接安装使用的。程序包的组成格式:二进制程序、库文件(开发库、运行库)、配置文件、帮助文件。
应用程序的命名格式:
源代码:name-version.tar{gz,bz2,xz}
version:指的是源代码的版本号
如bash-4.2.3.tar.gz
四:RPM包的使用:
源代码:name-version.tar.{gz,bz2,xz}
version:major.minor.release
RPM包的命名格式
name-version-release.arch.rpm
version: major.minor.release,同源代码
注意: release: rpm自身的发行号,与程序源码的发行号无关,仅用于标识对rpm包不同制作 的修订;同时,release还包含此包适用的OS
bash-4.2.3-3.centos5
arch: 适用于的硬件平台,
x86: i386, i486, i586, i686等;
x86_64: x86_64
powerpc: ppc
noarch: 依赖于虚拟机
例如:bash-4.2.3-3.centos5.x86_64.rpm
分包机制:加入一个程序有30个功能:常用的功能8个,特殊A的13个,特殊B的6个,二次开发的3个
而我们只需要其中的常用功能,我们就没必要将整个包都给装上。此时就出现了分包机制。它是由核心包(主包):命名与源程序相同如:bash-4.2.3-3.centos7.x86_64.rpm;子包:bash-a-4.2.3-3.centos7.x86_64.rpm, bash-b-4.2.3-3.centos7.x86_64.rpm等
获取rpm包的途径:
1、发行的光盘或站点服务器
镜像:
http://mirrors.163.com
http://mirrors.sohu.com
2、项目的官网
源代码
rpm包
3、很多第三方机构或个人制作并公开发布许多rpm包
http://rpmfind.net
http://rpm.pbone.net
RPM包的合法性验证:其中包括来源性验证和包的完整性验证,包制作者完成以后会附加数字签名于包上。
五:RPM的使用命令:
1.包的安装:
rpm -ivh /path/to/package_file:
-i:安装
-v:详细安装
-h:显示安装过程信息
--test仅作测试并不安装
当然用--relocate=/路径/报名:可以指定安装路径
注意:安装过程中可能出现依赖关系(A包依赖于B包,必须先安装B再安装A,或者同时安装),解决依赖关系后在安装,或者忽略依赖关系--nodeps,但是这样程序可能无法正常运行。
--replacepkgs:重新安装:
若果原有配置文件发生修改,此时重新安装可能不替换以前版本,此时应该将生成的配置文件重
命名为.rpmnew
2.包的查询:
查看包是否安装:
rpm -q package_name
查看所有已经安装的包
rpm -qa
查询包的描述信息
rpm -qi package_name
查询某包安装生成了哪些文件
rpm -ql package_name
查询某包安装生成了哪些配置文件
rpm -qc package_name
查询程序包的相关脚本
rpm -q --scripts package_name
查询某文件是由哪个包安装生成的
rpm -qf /path/to/some_file
3.包的卸载:
rpm-e package_name
注意:如果有其他包依赖于此包需要将其他包一并卸载;或者忽略依赖关系--nodeps,但是依赖于
此包的其他包可能不能使用。
4.数据库重建:
数据库目录:/var/lib/rpm
重建:
rpm --initdb:
rpm --rebuilddb
初始化如果事先没有库,会新建一个;如果有,则不新建;
本文出自 “linux运维” 博客,请务必保留此出处http://germanygu.blog.51cto.com/3574209/1530823
标签: 程序包管理器之rpm
原文地址:http://germanygu.blog.51cto.com/3574209/1530823