一、rpm
(1)全称:RedHat Package Manager。
是一种以数据库记录的方式来将你需要的软件安装到Linux系统中的一套管理机制。
RPM最大的特点就是将你要安装的软件先编译过,并且打包成为RPM机制的安装包,通过包装好的软件里默认的数据库记录这个软件要安装的时候必须具备的依赖属性软件。当要安装是,RPM会先依照软件中的数据查询linux主机的依赖属性软件是否满足条件,若不满足不予安装
SRPM:Source RPM;也就是这个RPM中包含了源代码,SRPM锁提供的软件内容没有经过编译,他提供的是源代码。
文件格式 |
文件名格式 |
直接安装与否 |
内含程序类型 |
可否修改参数并编译 |
RPM | xxx.rpm | 可 | 已编译 | 不可 |
SRPM | xxx.src.rpm | 不可 | 未编译的源代码 | 可 |
(2)软件命名规则:
MySQL-server-5.6.11-2.linux_glibc2.5.x86_64.rpm
软件名称 -软件的版本信息-发布的次数 适合的硬件平台 扩展名
(3)RPM的优点
RPM内含已经编译过的程序与设置文件等数据,可以让用户免除重新编译的困扰
RPM在被安装之前,会先检查系统的硬盘容量、操作系统版本等,可避免文件被错误安装
RPM文件本身提供软件版本信息、依赖属性软件名称、软件用途说明、软件所包含文件等信息,便于了解软件
RPM管理的方式使用数据库记录RPM文件的相关参数,便于升级、删除、查询与验证
(4)RPM的安装
一般来说,RPM类型的文件在安装的时候,会先读取文件内记载的设置参数内容,然后将该数据与系统环境进行比较,以找出是否有属性依赖的软件尚未安装的问题。
若环境检查合格了,那么RPM文件就开始被安装到你的linux系统中。安装完毕后,该软件相关的信息就会被写入/var/lib/rpm/目录下的数据库文件中。未来如果软件需要升级,版本之间的比较就是来自这个数据库;查询已经安装了哪些软件,也从这里查询。
rpm -ivh package_name
-i:install的意思
-v:查看更详细的安装信息画面
-h:以安装信息栏显示安装进度
(5)RPM升级与更新(upgrade/freshen)
-Uvh:后边接的软件即使没有安装过,则系统将予以直接安装;若有安装过旧版本,字系统自动更新至新版本
-Fvh:后边接的软件并未安装过,则软件不会被安装;只有已安装的情况下,会进行软件的升级操作
(6)RPM查询(query)
rpm -q:仅查询,后边接的软件名称是否有安装
rpm -qa:列出所有已安装在本机系统上面的所有软件名称
rpm -qi:列出该软件的详细信息、包含开发商、版本与说明;
rpm -ql:列出该软件所有文件与目录所在完整文件名
rpm -qc:列出该软件的所有设置文件(找出在/etc/下面的文件名而已)
rpm -qd:列出该软件的所有帮助文件(找出与man有关的文件而已)
rpm -qR:列出与该软件有关的依赖软件所含的文件
rpm -qf:有后面接的文件名找出该文件属于哪一个已安装的软件
例:
1、查询系统中mysql安装情况
2、查询已安装软件的信息
3、查询指定安装软件的文件完整路径
4、查找指定软件属于哪一个安装软件
5、查看软件详细信息
(7)卸载RPM
rpm -e package_name
(8)重建数据库
rpm --rebuilddb
二、yum
CentOS先将发布的软件放置到YUM服务器内,然后分析这些软件的依赖属性问题,将软件内的记录信息写下来。然后再将这些信息分析后记录成软件软件相关性的清单列表。这些列表数据与软件所在的位置可以称为容器。当客户端有软件安装的需求时,客户端主机会主动向网络上面的yum服务器的容器网址下载清单列表,然后通过清单列表的数据与本机的RPM数据库已存在的软件数据相比较,就能一口气安装所有需要的具体依赖属性的软件了。
当客户端有升级、安装的需求时,yum会向容器要求清单的更新,等到清单更新到本机的/var/cache/yum里面后,等一下更新时就会用这个本机清单与本机的RPM数据库进行比较。这样就知道该下载什么软件。接下来yum会跑到容器服务器(yum server)下载所需的软件,然后再通过rpm的机制开始安装软件。
例:
(1)搜索磁盘阵列(raid)相关的软件有哪些
(2)找出httpd这个软件的功能如何
(3)列出yum服务器上提供的所有软件名称
yum list
在查询结果列表数据的最后一列中,可能为“installed”,“base”,“updates”;
(4)列出目前服务器上可供本机进行升级的软件有哪些
(5)列出提供passwd这个文件的软件有哪些
(6)查找以pam开头的软件名称有哪些
yum list pam*
安装/升级功能:yum [install|update] 软件名称
删除功能:yum [remove] 软件名称
三、chkconfig