天天看点

在红帽Linux中使用YUM包管理器

在红帽Linux中使用YUM包管理器

yum是rhel系统中提供的一个安装,卸载和搜索软件包的工具。它能做的不仅仅是安装、卸载软件包,它能做的还有更多,下面我们将在本文中为你展示。

yum可以自动安装软件包的依赖包,例如当你使用yum安装httpd时,它还会自动安装https apache server以及它依赖的软件包。通过rpm软件包安装时就没有这么方便咯(译注:就是不会自动处理软件包依赖问题咯!),你必须下载所有它依赖的软件包,然后依序安装它们。

yum工具从远端服务器上的软件仓库(通常由os提供商提供)获取软件包的信息。一个软件仓库是能在特定架构上运行的一系列rpm软件包的集合。例如,对于32位和64位系统各有一个软件仓库,还有针对rhel5以及rhel6的软件仓库。你也可以建立一个本地仓库,配置你的yum让其从你的本地仓库里搜索安装软件包。在接下来的例子中,我将向你展示除了安装和卸载软件,yum还可以做的其它事情。为方便理解,我将在我的amazon ec2 rhel 6.4服务器上使用httpd软件包为例。

<a target="_blank"></a>

想获得详细的输出信息,可以使用下面的命令:

yum provides httpd在软件仓库里搜索含有httpd的软件包。

以上命令将为你显示已经安装的以及可用的软件组。你可以使用软件组安装选项来安装其中一个软件组。例如,我们将安装一个php support的软件组。这个软件组内包含需要的php软件包。

可以使用yum install命令安装软件包,如下所示:

如你所见,在安装httpd时yum安装了额外的软件包。这称为yum完成的依赖包解析。

假如你不想让yum弹出[y/n]选项,可以使用yum install -y httpd

这意味着你系统中安装的httpd软件包已经是yum软件仓库里的最新版本的了。

以上命令将系统上的所有软件包更新到最新版本,包括内核软件包,这意味着你的os更新到了rhel提供的最新版本了。

可以使用yum从rhel或者centos的软件仓库里下载rpm软件包但是不安装。你首先需要下载一个插件让yum只下载rpm软件包而不安装。插件名字叫downloadonly,可以通过yum安装,如下所示:

现在你就可以从软件仓库里只下载软件包而不安装了,命令如下:

默认情况下软件包会被下载到/var/cache/yum/目录,但是你可以添加额外选项将其下载到指定位置

假如你有一个rpm软件包但是没有它所依赖的软件包,你不知道到哪去得到它所依赖的软件包。你仍然可以通过yum安装这个rpm软件包,并从软件仓库里得到它所依赖的软件包。让我们安装刚刚下载的httpd-devel-2.2.15-29.el64.x8664 rpm软件包。

使用 yum remove 卸载软件包。举例如下:

假如你要列出你系统上安装的所有软件包,你可以使用yum list installed命令。这条命令结合grep命令是非常有用的,可以用来检查某个特定的软件包是否已被安装。这与使用rpm -qa命令询问已经安装的软件包相似。

 原文发布时间为:2013-11-19

本文来自云栖社区合作伙伴“linux中国”