昊天SEO

yum 包管理工具

yum

yum

yum 与 rpm 是用在 Redhat,Fedora,CentOS  …  这些系统上的包管理工具。它们有点区别,yum 可以自动去下载并且安装软件包,rpm 一般用来安装已经下载到本地的软件包( .rpm 格式的软件包)。

搜索包

在用 yum 安装包之前,如果不确定要安装的包是什么,可以先去搜索一下。搜索可以判断你想安装的包,能不能通过 yum 去安装,如果没有找到结果,你可能要手工为系统去添加新的仓库,或者把包下载到本地,再用 rpm 去安装。

yum search 关键词

比如你要安装 Apache 这个 Web 服务器,可以搜索一下 apache 或者 httpd ,httpd 是包的名字,apache 这个词包含在包的介绍里。

yum search httpd

返回:

...
httpd.x86_64 : Apache HTTP Server
httpd-devel.i686 : Development interfaces for the Apache HTTP server
httpd-devel.x86_64 : Development interfaces for the Apache HTTP server
httpd-manual.noarch : Documentation for the Apache HTTP server
httpd-tools.x86_64 : Tools for use with the Apache HTTP Server
...

在搜索结果里,会包含找到的包的名字还有描述,被搜索的关键词会高亮显示。仔细看一下包的名字,然后再读一下描述,来判断这个包是不是自己想要的那个。注意包的名字里有一些特别的后缀,这些后缀表示的是包对硬件架构的最小需求。

  • .x86_64:表示在 64 位架构上运行的包。
  • .i686:一般表示 32 位的架构,常见的还有 .i386。
  • .noarch:表示这个包不受架构的限制。

查看包

知道了自己想要的包以后,可以再查看一下这个包的具体的信息,比如版本号,尺寸,所属仓库,网址等等。

yum info 包的名字

比如查看一下要 httpd 这个包的信息:

yum info httpd

返回:

Available Packages
Name        : httpd
Arch        : x86_64
Version     : 2.2.15
Release     : 39.el6.centos
Size        : 825 k
Repo        : base
Summary     : Apache HTTP Server
URL         : http://httpd.apache.org/
License     : ASL 2.0
Description : The Apache HTTP Server is a powerful, efficient, and extensible
            : web server.

Arch 表示包需要的硬件架构,Repo 是这个包所属的 Repository 。

安装包

安装包用的是 yum install,yum 很多命令需要用到超级管理员的权限,所以你需要在命令的前面加上 sudo ,比如 sudo yum install …  或者先执行一下 su 这个命令。

su

在 su 命令后面没加任何选项,默认就是用 root 用户登录,会出现提示,让你输入密码,输入 root 用户的密码,然后回车,你现在的身份就变成 root 了。如果你用的是 vagrant ,默认 root 用户的密码是 vagrant 。

yum install 包的名字

比如去安装一下 httpd :

yum install httpd

返回:

Dependencies Resolved

===============================================================================
 Package                       Arch                   Version                  
===============================================================================
Installing:
 httpd                         x86_64                 2.2.15-39.el6.centos      
Installing for dependencies:
 apr                           x86_64                 1.3.9-5.el6_2             
 apr-util                      x86_64                 1.3.9-3.el6_0.1           
 apr-util-ldap                 x86_64                 1.3.9-3.el6_0.1           
 httpd-tools                   x86_64                 2.2.15-39.el6.centos      
 mailcap                       noarch                 2.1.31-2.el6              

Transaction Summary
================================================================================
Install       6 Package(s)

Total download size: 1.1 M
Installed size: 3.6 M
Is this ok [y/N]:

如果要安装的包需要一些依赖,会出现提示 Dependencies Resolved ,会列出你打算安装的包,这里就是 httpd ,下面是这个包需要安装的 dependencies,然后给你个总结,说要安装的包一共有多少个,大小是多小,安装后的尺寸。Is this ok [y/N],问你要继续吗?输入 y 表示同意,之后又会出现一次确定,再次输入 y 。你可以在执行命令的时候,加上一个 -y 参数(yum install httpd -y),这样出现这种确认的提示会自动填上 y ,不需要自己动手了。

列出包

list 这个命令可以列出仓库里的或者已经安装到系统上的包。

列出所有可用的包

yum list available

列出已经安装的包

yum list installed

在这些命令的后面可以加上 less ,这样可以分页显示:

yum list installed | less

也可以使用 grep ,找到包含特定字符的包,比如找出已经安装的名字里带 http 的包:

yum list installed | grep http

判断文件来自哪个包

用 provides 命令可以查看某个文件是来自哪个包。

yum provides 文件的路径

试一下:

yum provides /etc/httpd/conf/httpd.conf

返回:

httpd-2.2.15-39.el6.centos.x86_64 : Apache HTTP Server
Repo        : base
Matched from:
Filename    : /etc/httpd/conf/httpd.conf



httpd-2.2.15-39.el6.centos.x86_64 : Apache HTTP Server
Repo        : installed
Matched from:
Other       : Provides-match: /etc/httpd/conf/httpd.conf

上面显示 /etc/httpd/conf/httpd.conf 这个文件,属于 httpd-2.2.15-39.el6.centos.x86_64 这个包。

仓库

先查看一下系统里所有被启用的仓库列表:

yum repolist

返回:

repo id                                 repo name                                status
base                                    CentOS-6 - Base                          6,518
extras                                  CentOS-6 - Extras                        36
updates                                 CentOS-6 - Updates                       649
repolist: 7,203

再去安装一个叫 epel( Extra Packages for Enterprise Linux ) 的仓库:

yum install epel-release

然后再用 yum repolist 查看一下系统上启动的仓库,你会看到刚才安装的 epel 仓库。用 yum list 命令查看所有的可用的包,会出现来自 epel 仓库的包,加上 grep 可以只显示 epel 这个仓库里的包。

yum list | grep epel

升级

升级用的是 update ,后面可以加上要升级的包的名字,不加的话,会去升级所有的包。

yum update
yum update 包的名字

删除包

移除不想要的包可以使用 remove 或者 erase,会把包还有可能的依赖删除掉。

yum remove 包的名字

比如:

yum remove httpd -y

加上 -y 参数,不需要手工确认了。

本文地址官网    新乡网站建设,seo

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址