RPM 是RPM Package Manager(RPM软件包管理器)的缩写。
RPM文件在Linux系统中的安装最为简便。
一.
-
rpm:
主要工作内容为安装,查询,卸载,升级,校验,数据库的重建,验证数据包等。
2. rpm lib数据库
数据库为 /var/lib/rpm
3. rpm命名
包的组成部分
主包:
bind-版本号
如:bind-9.1.1-1.i586.el5.rpm
子包:
bind-libs-9.1.1-1.i586.el5.rpm
bind-utils-9.1.1-1.i586.el5.rpm
包名格式:
name-version-release.arch.rpm
bind软件名-主版本号.次版本号.发行号.架构平台.rpm
主版本号:重大改进
次版本号:某个子功能发生重大变化
发行号:修正了部分BUG,调整了一点功能
二:
1. rpm安装命令
rpm -i /PAth/File文件
-v 以#显示进度,每个#表示2%;
-h:显示详细的信息过程
-vv:显示更详细的过程
rpm -ivh /PATH/To/FILE
--nodeps:忽略依赖关系;
如:rpm -ivh gcc-4.4.7-3.el6.x86_64.rpm
--replacepkgs:重新安装,替换原有安装
--force:强行安装,可以实现重装或者降级
2. rpm包查询
rpm -q File_name:查看指定的包是否已经安装
rpm -qa :查询已经安装的所有包
rpm -qa | grep File_name: 查询File_name是否已经安装,包括那些包
rpm -qi File_Name:查询指定包的说明信息
rpm -ql File_Name:查询指定包安装后生成的文件列表
rpm -qf /path/to/file_name: 查询指定的文件是由哪个rpm包安装生成的
rpm -qc File_Name:查询指定安装包的配置文件
rpm -qd PACKAGE_Name:查询指定安装包的帮助文件
rpm -q --scripts PACKAGE_Name:查询指定安装包中包含的脚本
如果某个rpm包尚未安装,我们需查询其说明信息,安装以后生成的文件
rpm -qpi /PATH/to/PACKAGE_Name
rpm -qpl /PATH/to/PACKAGE_Name
3. rpm包升级
rpm -Uvh /PATH/to/PACKAGE_Name 如果装有老版本的,则升级,否则安装
rpm -Fvh /PATH/to/PACKAGE_Name 如果装有老版本的,则升级,否则退出
rpm --oldpackage: 降级
4. rpm卸载
rpm -e PACKAGE_Name :
rpm --nodeps :忽略依赖关系
rpm -e --nodeps Package_Name: 忽略依赖关系卸载
5. rpm校验
rpm -V PACKAGE_NAME :校验指定rpm包
6. 重建数据库
rpm --rebuilddb:重建数据库,一定会重新建立
rpm --initdb:初始化数据库 ,没有才建立,有就不用建立数据库
7. rpm检验来源合法性,及软件包完整性
[root@localhost zhang]# ls /etc/pki/
[root@localhost zhang]# ls /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@localhost zhang]#rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release:导入密钥文件
rpm -K /PAPT/to/PACKAGE_NAME 验证rpm包
rsa,gpg:验证来源合法性,也即验证签名,可以使用--nosignature,略过此项
sha1,md5:验证软件包的完整性,可以使用--nodigest,略过此项
列子:以 gcc-4.4.7-3.el6.x86_64.rpm软件包为例
[root@localhost zhang]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [root@localhost zhang]# rpm -K gcc-4.4.7-3.el6.x86_64.rpm gcc-4.4.7-3.el6.x86_64.rpm: rsa sha1 (md5) pgp md5 OK [root@localhost zhang]# rpm -K --nodigest gcc-4.4.7-3.el6.x86_64.rpm gcc-4.4.7-3.el6.x86_64.rpm: rsa (md5) pgp OK [root@localhost zhang]# rpm -K --nosignature gcc-4.4.7-3.el6.x86_64.rpm gcc-4.4.7-3.el6.x86_64.rpm: sha1 md5 OK
源码编译安装:
编译安装的步骤:
1、下载源码包,并解压
# tar xf package.tar.{gz | bz2 | xz}
注意,解压完成后的目录名称通常为package
2.切换到源码目录中
# cd package
3、执行configure脚本
# ./configure
4.编译
# make
5、安装
# make install
configure脚本的通用功能:
我们需要定义的配置:
1、指定安装路径
--prefix=/usr/local/package_name
2、指定配置文件路径
--sysconfdir=/etc/package_name
3、指定启用/禁用的特性:
--enable-feature 例如:--enable-fpm
--disable-feature 例如:--disable-socket
4、指定所依赖功能、程序或文件
--with-function:启用某功能
--without-function: 禁用某功能
不同的程序,其configure脚本功能不同,需获取帮助
./configure --help
二进制程序:
#vim /etc/profile.d/apache.sh
PATH=/usr/local/apache/bin:/usr/local/apache/sbin:$PATH
export PATH
头文件输出给系统
# ln -sv /usr/local/apache/include /usr/include/httpd
库文件输出
#vim /etc/ld.so.conf.d/httpd.conf
/usr/local/apache/bin
让系统重新生成库文件路径缓存
#ldconfig
导出man文件
#vim /etc/man.config
MANPATH /usr/local/apache/man
卸载则删除安装目录即可
本文转自 zhangguangyi 51CTO博客,原文链接:http://blog.51cto.com/bosszhang/1676084