您的位置:首页 > 运维架构 > Linux

Linux之Redhat系列程序包管理

2015-12-25 22:30 471 查看
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 为例。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  编译 yum rpm apache安装