yum详解

yum

  • yum由来

  • yum基本工作机制
  • yum的相关特点
  • yum的配置文件
  • yum的配置仓库示例
  • yum的命令使用
  • yum中常见问题

yum由来

yum是yellowdog updater修改而来,被yellowdog linux,rhel,centos,fedora所采用.其名为"Yellowdog Updater Modified".是一个基于rpm的前端管理工具.用于解决rpm包之间的依赖关系,并且一次安装所有依赖的软件包,无需繁琐下载,安装.

yum基本工作机制

yum程序如何获取rpm包呢?
    一般有指定的服务器,或者光盘将大量rpm包保存其中.这些存储地方我们称其为"仓库",那么我们是直接将所有的包都下载到本地,还是怎么获取呢?
    其实很简单,服务器端提供一些元数据文件,其元数据文件中包含了rpm包的名字,版本,以及包与包之间的依赖关系等信息.我们
    直接将元数据缓存到本地,再根据所需,yum会自动将rpm下载到本地并安装.

yum再安装完rpm包之后,会自动清除下载的rpm包,但其元数据文件保留,方便下次更快使用.
此方法虽然加快yum使用速度,但如果服务器发生文件更新或者依赖性的某些改动,则无法及时更新元数据文件,为了解决此问题
yum在每次使用之前都会与服务器对比校验码,如果校验码没有变动,则继续使用原来的元数据文件,否则下载新的元数据文件.

获取其rpm包的方式有多种,http,ftp,nfs,本地光盘都能获取仓库.

yum的相关特点

保持与rpm数据库的一致性      #如果rpm数据库损坏,yum也无法正常使用.
同时配置多个源
简单配置文件
解决依赖关系

yum的配置文件

 /etc/yum.conf                  #为所有仓库提供公共配置
 /etc/yum.repos.d/*.repo        #yum的仓库相关配置文件
 **man yum.conf 用来查询其帮助文档 **

 /etc/yum.conf
 [main]
 cachedir=/var/cache/yum/$basearch/$releasever      #缓存目录路径
 keepcache=0        #本地缓存文件是否保存
 debuglevel=2       #debug调试级别
 logfile=/var/log/yum.log       #yum自己的日志文件
 exactarch=1        #是否严格平台匹配
 obsoletes=1        
 gpgcheck=1         #是否检查包的来源合法性
 plugins=1          #是否支持插件
 installonly_limit=5        #一次同时安装几个程序包
 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
 distroverpkg=centos-release        #设定$releasever的值由哪个rpm包的主版本号

 /etc/yum.repos.d/*.repo
 [repositoryid]                                 #仓库id,保持唯一性
 name=Some name for this repository             #仓库名称,仅作标识
 baseurl=url://server1/path/to/repository/      #指定仓库访问路径,以下的行
         url://server2/path/to/repository/
         url://server3/path/to/repository/
 gpgcheck={1|0}                                 #是否检查包来源合法性及完整性,默认为1
 gpgkey=RPM-GPG-KEY                             #指向RPM-GPG-KEY的位置
 enabled={1|0}                                  #是否启用,默认为1
 failovermethod={"roundrobin"|"priority"}       #roundrobin随机选择url,priority从第一个url开始,按顺序选择
 cost=#                                         #仓库开销,用来定义仓库优先级,默认为1000,数字越小优先级越大
 mirrorlist=url://mirrorlist_path               #镜像列表,其路径指向的是访问仓库路径的url,不能与baseurl同时使用

 注意:仓库所指的路径一定是在repodata目录"上",并不是指向package目录.repodata目录中保存了元数据文件.

 一些常用变量:
 arch           #平台,当前系统的架构
 basearch       #基本平台架构,如果当前系统架构为i586,那么此匹配到基本平台的为i386
 releasever     #该发行版的主版本号
 $YUM0-$YUM9    #用于将与同名的环境变量的值,替换为自身,如果不存在则不替换

yum的配置仓库示例

配置本地源:

    vim /etc/yum.repos.d/centos-local.repo
    [local_1]
    name=local cdrom
    baseurl=file:///media/cdrom
    enabled=1
    gpgcheck=1
    gpgkey=file:///media/cdrom/RPM-GPG-KEY-CentOS-6
    cost=50

    显示仓库列表,以下为成功配置
    [[email protected] yum.repos.d]# yum repolist
    Loaded plugins: fastestmirror, refresh-packagekit, security
    Determining fastest mirrors
    local_1                                                                       | 4.0 kB     00:00 ... 
    local_1/primary_db                                                            | 4.4 MB     00:00 ... 
    repo id                                       repo name                                        status
    local_1                                       local iso                                        6,367
    repolist: 6,367

epel源:

    vim /etc/yum.repos.d/epel.repo
    [epel_1]
    name=epel source
    baseurl=http://mirrors.aliyun.com/epel/$releasever/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=http://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-6
    cost=100

    成功缓存元数据文件,以下为配置成功
    [[email protected] yum.repos.d]# yum makecache
    Loaded plugins: fastestmirror, refresh-packagekit, security
    Determining fastest mirrors
    epel_1                                                                                        | 4.3 kB     00:00     
    epel_1/group_gz                                                                               | 150 kB     00:00     
    epel_1/filelists_db                                                                           | 7.8 MB     00:07     
    epel_1/updateinfo                                                                             | 736 kB     00:00     
    epel_1/primary_db                                                                             | 5.9 MB     00:05     
    epel_1/other_db                                                                               | 2.9 MB     00:02     
    Metadata Cache Created

yum的命令使用

yum命令用于管理程序包和程序包组

yum [options] [command] [package ...]
    options:
            -y, --assumeyes         #全部选y
            -q, --quiet             #运行不输出
            --disablerepo=repoidglob    #临时不启用此仓库
            --enablerepo=repoidglob     #临时使用此仓库
            --nogpgcheck                #不检查包完整性和安全性
            --disableplugin=plugins     #不启用此插件
            --noplugins                 #不启用插件

    command:

        安装:
            install package1 [package2] [...]           #安装程序包
            localinstall rpmfile1 [rpmfile2] [...]      #本地安装rpm包,在安装不属于仓库的rpm包时,也能为其解决依赖关系
            localupdate rpmfile1 [rpmfile2] [...]       #本地更新rpm包
            reinstall package1 [package2] [...]         #重新安装

            [[email protected] ~]# yum install -y httpd    ///安装httpd程序
            Loaded plugins: fastestmirror, refresh-packagekit, security       <--yum的插件
            Loading mirror speeds from cached hostfile    
            Setting up Install Process
            Resolving Dependencies               <--检查依赖关系
            --> Running transaction check
            ---> Package httpd.x86_64 0:2.2.15-29.el6.centos will be installed
            --> Finished Dependency Resolution

            Dependencies Resolved

            =========================================================================================================================================================
             Package                         Arch                             Version                                        Repository                         Size
            =========================================================================================================================================================
            Installing:
             httpd                           x86_64                           2.2.15-29.el6.centos                           local_1                           821 k

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

            Total download size: 821 k
            Installed size: 2.9 M
            Downloading Packages:
            Running rpm_check_debug
            Running Transaction Test
            Transaction Test Succeeded
            Running Transaction
              Installing : httpd-2.2.15-29.el6.centos.x86_64                                                                                                     1/1 
              Verifying  : httpd-2.2.15-29.el6.centos.x86_64                                                                                                     1/1

            Installed:
              httpd.x86_64 0:2.2.15-29.el6.centos

            Complete!

        卸载: 
            remove | erase package1 [package2] [...]    #卸载程序包

            [[email protected] ~]# yum remove -y httpd
            Loaded plugins: fastestmirror, refresh-packagekit, security
            Setting up Remove Process
            Resolving Dependencies
            --> Running transaction check
            ---> Package httpd.x86_64 0:2.2.15-29.el6.centos will be erased
            --> Finished Dependency Resolution

            Dependencies Resolved

            =========================================================================================================================================================
             Package                        Arch                            Version                                          Repository                         Size
            =========================================================================================================================================================
            Removing:
            httpd                          x86_64                          2.2.15-29.el6.centos                             @local_1                          2.9 M

            Transaction Summary
            =========================================================================================================================================================
            Remove        1 Package(s)

            Installed size: 2.9 M
            Downloading Packages:
            Running rpm_check_debug
            Running Transaction Test
            Transaction Test Succeeded
            Running Transaction
              Erasing    : httpd-2.2.15-29.el6.centos.x86_64                                                                                                     1/1 
              Verifying  : httpd-2.2.15-29.el6.centos.x86_64                                                                                                     1/1

            Removed:
              httpd.x86_64 0:2.2.15-29.el6.centos

            Complete!

        更新:  
            update [package1] [package2] [...]          #更新程序包
            check-update                                #检查能否更新($?的返回值为100,有更新的程序包;返回值为0,没有更新的程序包;返回值为1,有错误发生)
            downgrade package1 [package2] [...]         #程序包降级

            [[email protected] ~]# yum check-update               ///检查有哪些可更新的程序包
            Loaded plugins: fastestmirror, refresh-packagekit, security
            Loading mirror speeds from cached hostfile
            Obsoleting Packages
            ibus-table-chinese-cangjie.noarch                                1.4.6-1.el6                                     epel_1                                  
                ibus-table-cangjie.noarch                                    1.2.0.20100210-1.el6                            @anaconda-CentOS-201311272149.x86_64/6.5
            ...
            [[email protected] ~]# yum update ibus-table-chinese-cangjie.noarch   -y          ///更新其中程序包
            Loaded plugins: fastestmirror, refresh-packagekit, security
            Loading mirror speeds from cached hostfile
            Setting up Update Process
            Resolving Dependencies
            --> Running transaction check
            ---> Package ibus-table-cangjie.noarch 0:1.2.0.20100210-1.el6 will be obsoleted
            ---> Package ibus-table-chinese-cangjie.noarch 0:1.4.6-1.el6 will be obsoleting
            --> Processing Dependency: ibus-table-chinese = 1.4.6-1.el6 for package: ibus-table-chinese-cangjie-1.4.6-1.el6.noarch
            --> Running transaction check
            ---> Package ibus-table-chinese.noarch 0:1.4.6-1.el6 will be installed
            --> Finished Depende

            Dependencies Resolved
            ...

            注意:当遇到以下错误时,添加--nogpgcheck可解决此次安装问题,如需永久解决,给对应仓库加gpgkey或修改gpgcheck为0.
            warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
            Public key for ibus-table-chinese-cangjie-1.4.6-1.el6.noarch.rpm is not installed

         查询:
            list [...]  
                         yum list available [glob_exp1] [...]       #查询仓库中能安装的程序包
                         yum list updates [glob_exp1] [...]         #查询仓库中能更新的程序包
                         yum list installed [glob_exp1] [...]       #查询仓库已经安装的程序包
                         yum list extras [glob_exp1] [...]          #查询安装在系统但不在仓库中的程序包
                         yum list obsoletes [glob_exp1] [...]       #查询已安装程序包的旧版本
            info [...]                                              #查询程序包的信息
            provides | whatprovides feature1 [feature2] [...]       #根据特性查询由何程序包提供(特性也可是文件)
            search string1 [string2] [...]                          #根据指定strings查询程序包的names and summaries
            deplist package1 [package2] [...]                       #查询此程序包的所有依赖关系
            repolist [all|enabled|disabled]                         #查询或生成配置的仓库列表
            history  [info|list|packages-list|packages-info|summary|addon-info|redo|undo|roll-back|new|sync|stats]

            #查询用户执行yum历史记录

            [[email protected] ~]# yum list available|head                    ///列出可使用程序包
            Loaded plugins: fastestmirror, refresh-packagekit, security
            Loading mirror speeds from cached hostfile
            Available Packages
            2048-cli.x86_64                             0.9.1-1.el6                  epel_1 
            2048-cli-nocurses.x86_64                    0.9.1-1.el6                  epel_1 
            2ping.noarch                                3.2.1-2.el6                  epel_1 
            389-admin.i686                              1.1.35-1.el6                 epel_1 
            389-admin.x86_64                            1.1.35-1.el6                 epel_1 
            389-admin-console.noarch                    1.1.8-1.el6                  epel_1 
            389-admin-console-doc.noarch                1.1.8-1.el6                  epel_1

            [[email protected] ~]# yum list httpd*            ///列出以httpd开头的所有程序包
            Loaded plugins: fastestmirror, refresh-packagekit, security
            Loading mirror speeds from cached hostfile
            Installed Packages      <--已经安装的包
            httpd-tools.x86_64  
            2.2.15-29.el6.centos                       @centos
            Available Packages    <--可安装的包
            httpd.x86_64              2.2.15-29.el6.centos           local_1
            httpd-devel.i686          2.2.15-29.el6.centos           local_1
            ...

            *** yum whatprovides "*/COMMAND"     可以用来查询输入命令由哪个程序包生成

            [[email protected] ~]# yum whatprovides "*/createrepo"
            Loaded plugins: fastestmirror, refresh-packagekit, security
            Loading mirror speeds from cached hostfile
            createrepo-0.9.9-18.el6.noarch : Creates a common metadata repository    <--此处为程序包名
            Repo        : local_1
            Matched from:
            Filename    : /usr/share/createrepo
            Filename    : /usr/bin/createrepo
            Filename    : /usr/lib/python2.6/site-packages/createrepo

            [[email protected] ~]# yum deplist httpd              ///查询httpd程序包的依赖于哪些软件
            Loaded plugins: fastestmirror, refresh-packagekit, security
            Loading mirror speeds from cached hostfile
            Finding dependencies: 
            package: httpd.x86_64 2.2.15-29.el6.centos
            dependency: /usr/sbin/useradd                    <--依赖的文件
             provider: shadow-utils.x86_64 2:4.1.4.2-13.el6  <--提供依赖文件的程序包
            dependency: libz.so.1()(64bit)
             provider: zlib.x86_64 1.2.3-29.el6
            dependency: system-logos >= 7.92.1-1
             provider: redhat-logos.noarch 60.0.14-12.el6.centos
            ...

            [[email protected] ~]# yum history                ///显示用户使用yum的操作历史,查询不算在此
            Loaded plugins: fastestmirror, refresh-packagekit, security
            ID     | Login user               | Date and time    | Action(s)      | Altered
            -------------------------------------------------------------------------------
                 5 | root <root>              | 2016-12-07 14:06 | Install        |    1   
                 4 | root <root>              | 2016-12-05 01:11 | Install        |    4   
                 3 | root <root>              | 2016-11-29 18:59 | Install        |    1   
            history list
            [[email protected] ~]# yum history info 3                 ///查看历史操作详细信息
            Loaded plugins: fastestmirror, refresh-packagekit, security
            Transaction ID : 3
            Begin time     : Tue Nov 29 18:59:51 2016
            Begin rpmdb    : 958:baaf47e48562c6ec3caea4724ad15a93040cea94
            End time       :            18:59:52 2016 (1 seconds)
            End rpmdb      : 959:6a212fd01507b473b7b2abbf09e8cf98281e3411
            User           : root <root>
            Return-Code    : Success
            Command Line   : install tree -y                    ///使用的命令
            Transaction performed with:
                Installed     rpm-4.8.0-37.el6.x86_64                       @anaconda-CentOS-201311272149.x86_64/6.5
                Installed     yum-3.2.29-40.el6.centos.noarch               @anaconda-CentOS-201311272149.x86_64/6.5
                Installed     yum-plugin-fastestmirror-1.1.30-14.el6.noarch @anaconda-CentOS-201311272149.x86_64/6.5
            Packages Altered:
                Install tree-1.5.3-2.el6.x86_64 @centos
            history info

            [[email protected] ~]# yum repolist all    ///显示配置好的仓库信息,如需缓存,自动下载
            Loaded plugins: fastestmirror, refresh-packagekit, security
            Loading mirror speeds from cached hostfile
            repo id                 repo name                     status
            local_1                 local iso                     enabled:  6,367
            epel_1                  epel source                   enabled: 12,199
            repolist: 18,566

        缓存: 
            clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]    #清楚各种各样由yum产生的缓存
            makecache                       #下载可以使用的仓库的元数据文件

            [[email protected] ~]# yum clean all      ///清除所有缓存
            Loaded plugins: fastestmirror, refresh-packagekit, security
            Cleaning repos: local_1 epel_1
            Cleaning up Everything
            Cleaning up list of fastest mirrors
            [[email protected] ~]# yum makecache                  ///生成缓存,下载或加载元数据
            Loaded plugins: fastestmirror, refresh-packagekit, security
            Determining fastest mirrors
            local_1                                       | 4.0 kB     00:00 ... 
            local_1/group_gz                              | 220 kB     00:00 ... 
            local_1/filelists_db                          | 5.8 MB     00:00 ... 
            local_1/primary_db                            | 4.4 MB     00:00 ... 
            local_1/other_db                              | 2.7 MB     00:00 ... 
            epel_1                                        | 4.3 kB     00:00     
            epel_1/filelists_db                           | 7.8 MB     00:07     
            epel_1/primary_db                             | 5.9 MB     00:05     
            epel_1/other_db                               | 2.9 MB     00:02     
            Metadata Cache Created

        检查:
            check       #检查本地rpmdb和提供的一些信息

        包组command:
             groupinstall group1 [group2] [...]                 #包组安装
             groupupdate group1 [group2] [...]                  #包组更新
             grouplist [hidden] [groupwildcard] [...]           #显示包组信息(使用hidden选项,显示所有被隐藏的包组)
             groupremove group1 [group2] [...]                  #卸载包组
             groupinfo group1 [...]                             #查询包组信息

            安装CentOS6的开发组件:
            # yum groupinstall  "Development tools" "Server Platform Development" -y

yum中常见问题:

         解决没有repodata目录的方法
            1 使用createrepo命令创建
                createrepo [options] <directory>

                       -c --cachedir <path>    指定需要缓存的rpm包路径

            2 将rpm包复制到能正常使用仓库的Package目录中,重新生成元数据文件
                # yum  clean all; yum makecache

            3 将其它能正常配置的仓库中的repodata目录中文件复制一份

         当用yum卸载程序包时,会出现此类错误
         Error: Trying to remove "yum", which is protected

         其原因为:
         此类包要卸载的依赖项有yum自身的文件或是正在被yum所使用

         解决办法:
         忽略依赖关系进行单独卸载其提示的包.

         本地镜像DVD1跟DVD2是什么:
          CentOS-6.8-x86_64-bin-DVD1.iso 
          CentOS-6.8-x86_64-bin-DVD2.iso 
          由于一个光盘最多只能刻制4G左右大小,而centos的仓库包有十分的多,因此将常用的包以及安装系统的包放在DVD1中,DVD2中的包算是扩展包.

         当执行yum命令时出现以下报错,代表yum被其他进程所占用,需要等待其它执行中的yum命令完成.
            Existing lock /var/run/yum.pid: another copy is running as pid 2000.
            Another app is currently holding the yum lock; waiting for it to exit...

         当遇到如下问题:
         其原因:
            仓库的包太旧,安装的软件包版本太低
         解决办法:
            更新仓库或者卸载新版本的包,再继续安装此包

时间: 2024-10-11 19:46:35

yum详解的相关文章

Linux之YUM 详解

一.yum是什么        yum = Yellow dog Updater, Modified        主要功能是更方便的添加/删除/更新RPM包.        它能自动解决包的倚赖性问题.        它能便于管理大量系统的更新问题 二.yum 的运用格式及常用参数 yum [option] "包名" 有些记不住的包名 可以使用通配符* 来一次安装多个前端一直的软件包 -h,--help     显示帮助信息,并退出 -t,--tolerant  忍受发生的错误 -y

CentOs之yum详解及程序的编译安装

CentOs之yum详解 yum的地位:yum是rpm的前端管理工具,而且依赖于rpm.  yum仓库:yum repository,仓库里存储了众多rpm包,以及包的相关的元数据文件.yum仓库里会有个repodata目录存在. yum支持的文件服务器类型: ftp://  http:// file:///(本地服务器,例光盘)   /nfs:// 查看yum的信息: [[email protected]]# rpm -q yum ------查看yum命令的安装包是哪个 yum-3.4.3-

Linux 的yum详解

Linux 的yum详解: rpm包在安装过程中经常会出现一些依赖关系,这就是yum安装方式诞生的背景. YUM 全称yellowdog Update Modifier yum最大的好处就是一站式解决软件包的安装,可以自动安装所需依赖环境. yum的配置文件: /etc/yum.conf                              # 为所有仓库提供公共配置 /etc/yum.repos.d/*.repo      # 为仓库的指向提供配置 yum缓存地址: /var/cache/

linux命令之yum详解

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...] 其中的[opt

17、Linux软件包管理工具yum详解

yum介绍 yum客户端的使用 配置文件项作说明: 案例repo配置文件. 创建yum源命令(yum-config-manager) yum list相关命令 yum安装 yum更新和升级 yum查找和显示 yum删除程序 查看仓库 实战演练本地yum仓库(光盘) YUM内置变量 创建YUM仓库(http) yum介绍 yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安

linux基础--包管理工具yum详解

rpm常用命令 安装 -ivh:安装rpm包 --nodeps:忽略依赖关系强制安装 --replacepkg:无论软件包是否已被安装,都强行安装软件包 卸载 -e:卸载rpm包 --nodeps:忽略依赖关系强制卸载 升级 -Uvh:升级软件包--Update -Fvh:只有安装在系统上的包才会升级 --nodeps:忽略依赖关系升级 查询 -q:查看安装包名称 -qa:查看是否安装指定rpm包 -qf:查找指定文件属于哪个RPM软件包 -qi:查看安装包的详细信息 -qc:查看安装包的配置文

程序包管理二之yum详解

上节向大家介绍了程序包管理的理论和rpm命令的使用,本篇文章接着向大家介绍rpm的前端使用工具,方便大家更快捷的管理,使用rpm包,提高工作效率. Linux程序包管理(2): Centos:yum,dnf 两个rpm前端工具 URL:ftp://10.1.0.1/pub/ YUM :yellow dog, Yellowdog,Update Modifier 采取cs架构 从文件服务器加载rpm包,安装程序到本地主机 yum repository:yum repo 存储了众多rpm包,以及包的相

linux yum 详解

解决 RedHat 自带 yum 无法使用问题 由于安装的RedHat是商业版的,通常由于没有注册,导致yum程序无法使用,对于学习linux来说,安装软件什么的各种不方便,实在是很苦恼,其实解决办法不难,具体如下. 1.先把RedHat自带的 yum 卸载 rpm -qa | grep yum | xargs rpm -e --nodeps 2.下载相关的包 可以去找网易源或其他网站的源,对网易的比较熟悉就以网易为例 http://mirrors.163.com/ 以RedHat 7 为例 选

linux rpm和yum详解

rpm 定义:包管理器 rpm程序包的组成部分: 二进制程序:/bin, /sbin,/ /usr/bin, /usr/sbin, 库文件:/lib64, /usr/lib64 配置文件:/etc 帮助文件:manual, info, 包文件名格式: bash-4.2.4-1.el7.x86_64.rpm 包文件名-版本号(4为主版本号,2为次版本号,4为包的版本号)-rpm包的版本号(1.el7)-系统架构(x86_64) 常用选项: -q 查询 -qa: 查询本机已经安装的所有程序包:   

Linux centos6.6 yum详解

centos yum安装方式的介绍 yum可以自行解决依赖关系,yum是依赖rpm的 yum需要搭建文件服务器,存放rpm包 文件服务的服务器: ftp服务 http服务 本地文件目录 NFS服务 yum相对应于rpm来说: rpm为基础包管理器 yum则是rpm的前端工具 仓库指向的路径:repodata目录所在的父目录 yum命令行工具: 配置文件:指向仓库的位置以及相关的各种配置信息:每个yum命令行可以同时指向多个仓库,仓库间可以优先级等相关的配置: 有两部分组成: 主配置文件:/etc