Linux之Redhat系列程序包管理
安装、升级和卸载应用软件是每个系统不可或缺的一部分;对于在企业使用越来越广泛的Linux操作系统而言,强大而简洁的程序包管理机制为工程师们带来了很大的便利;下文主要介绍在RedHat系列的系统上如何使用RPM/YUM/编译三种方式去管理程序包。
一、RPM程序包管理
PRM全称是Red Hat Package Manager(RedHat 包管理器)。Linux RPM软件包的命名有一定的规律:名称-版本-修正版-类型.rpm
例如:
RPM命令详解:
功能:
安装、卸载、升级、查询和数据库维护
用法:
rpm [OPTIONS] [PACKAGE_NAME]
-i:安装软件
--test:测试安装
-h:显示“#”进度条
-v:显示详细信息
-e:卸载
-U:升级安装
-q:查询指定软件包的信息
--builddb,--initdb:数据库维护
以上选项可结合使用
安装:rpm -ivh Package_Name
-v:显示详细信息
-h:显示“#”的进度条
-i:安装
其余安装选项:
--nodeps:忽略依赖关系
--replacepkgs:重新安装
--test:测试安装
卸载:rpm -e 软件名
升级:rpm -Uih Package_Name
升级和安装的选项差不多,这里就不做过多介绍
额外选项:
--force:强制升级
查询:rpm -q[a|f|p|l|i|c|d|R] 软件名
-a:查询所有已安装的软件名
-f:查询文件所属软件包
-p:查询软件包(通常用来查看未安装的软件)
用法:rpm -qp 软件包名
-qpi:该软件的详细信息
-qpl:该软件中的列表
-qpc:该软件安装后将会产生的配置文件
...
-l:显示软件包中的列表
-i:显示软件包信息
-c:显示被标注为配置文件的列表
-d:显示被标记为文档的列表
-R:查询软件包的依赖关系
重建数据库:rebuilddb,initdb
rpm包管理器数据库的路径:/var/lib/rpm
用法:
rpm {--initdb | --rebuilddb}
initdb:初始化数据库
rebuilddb:按照已安装的软件包来重建数据库
二、YUM仓库程序包管理
yum(全称为Yellow dog Ypdater,Modified)是一个在Fedora和RedHat以及SUSE中的Shell前段软件包管理器;yum基于RPM包管理,是把许多.rpm包通过编译后整合在一起建立成一个仓库;yum无须繁琐地一次次下载,安装,可以自动处理依赖性关系。yum提供了查找、安装、删除等功能。
本地光盘制作yum源:
1.挂载CentOS 7光盘镜像到系统上并把光盘内的文件拷贝到/PATH/TO/DIR_NAME
注意:这里复制的时候可能会比较长,请耐心等待。
2.利用createrepo创建仓库,如果没有createrepo请根据上面rpm的方式安装
3.到/etc/yum.repo.d/目录下定义yum仓库
[base]
name-Some name for this repository
baseurl=usrl://path/to/repository/
enabled={1|0}
gpgcheck={1|0}
如下图:
4.运行yum list检查是否制作成功
当然yum源的制作方式不止这一种,这里就不多做演示了,有兴趣的同学可以下来自行研究。
yum命令详解:
用法:yum [options] COMMAND
COMMANDS:
check:检查RPM数据库问题
check-update:检查是否有可用的软件更新
install:安装软件包
list:列出软件包
update:更新软件包
repolist:显示已配置的源
remove:卸载程序包
info:显示软件包信息
clean:清理本地缓存
reinstall:覆盖安装软件包
OPTIONS:
-y:回答全部问题为师
--nogpgcheck:禁用GPG签名检查
--installroot=[path]:设置安装根目录
-v:详细操作过程
--noplugins:禁用所有插件
-q:静默模式
三、源代码包管理(编译安装)
Linux上的大多数源码都是C或者C++语言编写的,源代码包的管理方式与RPM管理方式相比更为复杂了一点,但是更能体现作为一个Linux工程师的技术性;因为源码包的管理需要自己定义相关功能,安装需要的模块;此外用户还可以自己选择安装路径,方便管理;卸载软件只需要删除对应的目录即可。
编译前注意事项:
是否安装gcc、make编译命令,解压从网上下载下来的源代码包;通常打包为.tar.gz或.tar.bz2等格式。在安装时configure会检测是否满足安装要求,要学会根据configure的报错信息找出问题解决掉。
第一步:解压下载下来的源码包,进入源码目录,一般都会存在configure文件
./configure
选项:
--prefix=[PATH]:指定安装位置
--sysconfdir=[PATH]:指定配置文件位置
--help:可以看到所有选项
--enable-FEATURE:使用某个特性
--disable-FEATURE:禁用某个特性
--with-PACKAGE:依赖包为默认
--without-PACKAGE:依赖包自己指定
configure完成后会根据用户指定的特性等生成makefile文件
第二步:make命令进行编译,根据makefile文件,构建应用程序
第三步:make install 安装
下面根据Apache进行演示:
第一步:
创建一个目录:mkdir /apache
把下载的apache源码包解压到/apache下面
切换至解压目录下,运行./configure命令并指定安装目录为/apache2.2
第二步,第三步:
运行make && make install 命令进行安装
验证:访问http://192.168.1.1 我的apache服务器IP
以上截图均以CentOS 7 为例。
原文地址:http://luoj5.blog.51cto.com/9389984/1728421