1.yum简述:  

       yum(全称 Yellow dog Updater, Modified)是一个前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。     
        文件服务器:
            ftp://、 htpp:// 、nfs://、 file://       
        yum客户端:
        配置文件:
            /etc/yum.conf    #为所有仓库提供公共配置
            /etc/yum.repos.d/*.repo  #为仓库的指向提供配置
        仓库指向的定义:
        [repositoryID]
        name=Some name for this repository #仓库名称(尽可能为仓库的功能描述)
        baseurl=url://path/to/repository/  =号左右不能有空个,否则会有语法错误
        enabled={1|0}  #是否启用此仓库,默认是启用的
        gpgcheck={1|0}  #检查包的完整性和来源合法性
        gpgkey=URL  #指明密钥文件的URL
        enablegroups={1|0} #是否支持在此仓库上使用组
        failovermethod={roundrobin|priority}    #故障转义方法,默认为:roundrobin(随机挑选)
        cost=        #开销数字,默认为1000,值越小,优先级越高



   

2.yum命令的用法:
             yum [options] [command] [package ...] 

          显示仓库列表:

               repolist [all|enabled|disabled]       

     [root@shakura ~]# yum repolist all     #显示所有的仓库列表     [root@shakura ~]# yum repolist enabled   #显示可用的仓库列表     [root@shakura ~]# yum repolist disabled   #显示不可用的仓库列表

        显示程序包:                 

     [root@shakura ~]# yum list [all | glob_exp1]  [...]   #显示安装包列表,支持glob通配符     [root@shakura ~]# yum list {available|installed|updates} [glob_exp1] [...]

        安装程序包:                      

     [root@shakura ~]# yum install package1 [package2] [...]     [root@shakura ~]# yum reinstall package1 [package2] [...]  #重新安装

        升级程序包:                      

     [root@shakura ~]# yumupdate [package1] [package2] [...]   #更新               [root@shakura ~]# yum downgrade package1 [package2] [...]    #降级

       检查可用升级:            

     [root@shakura ~]# yum check-update

        卸载程序包:         

     [root@shakura ~]# yum remove | erase package1 [package2] [...]

        查看程序包information:            

     [root@shakura ~]# yum info [...]

        查看指定的特性(可以是某文件)是由哪个程序包所提供:            

     [root@shakura ~]# yum provides | whatprovides feature1 [feature2] [...]

        清理本地缓存:              

     [root@shakura ~]# yum clean

         #all:所有; packages:下载的rpm包;metadata:元数据;

         #expire-cache:过期缓存; rpmdb :rpm数据库;plugins :插件。

        构建缓存:            

     [root@shakura ~]# yum makecache

        搜索:    

     [root@shakura ~]# yumsearch string1 [string2] [...]

        #模糊搜索以指定的关键字搜索程序包名及summary信息;

        查看指定包所依赖的capabilities:             

     [root@shakura ~]# yum deplist packag_NAME

        查看yum事务历史:                       

     [root@shakura ~]# yum history

        安装及升级本地程序包:       

     * localinstall rpmfile1 [rpmfile2] [...]     (maintained for legacy reasons only - use install)     * localupdate rpmfile1 [rpmfile2] [...]     (maintained for legacy reasons only - use update)

        包组管理的相关命令:          

     * groupinstall group1 [group2] [...]       * groupupdate group1 [group2] [...]            * grouplist [hidden] [groupwildcard] [...]            * groupremove group1 [group2] [...]             * groupinfo group1 [...]


3.如何使用光盘当作本地yum仓库:
        (1) 挂载光盘至某目录,例如/media/cdrom             
        

     [root@shakura ~]d]# mount -r /dev/cdrom /media/cdrom/

        (2) 编辑或者创建配置文件vim  /etc/yum.repos.d/CentOS-CR.repo                     

     [root@shakura ~]# vim /etc/yum.repos.d/CentOS-CR.repo     # CentOS-CR.repo     [cr]           name=CentOS-7.1 localCDROM     baseurl=file:///media/cdrom                     gpgcheck=1                     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7                     enabled=1

         (3)查看可用的yum仓库显示如下            

     [root@shakura ~]# yum repolist     已加载插件:fastestmirror, langpacks     Loading mirror speeds from cached hostfile     源标识                         源名称                      状态     cr                            CentOS-7 - cr               8,652     repolist: 8,652

     yum的命令行选项:    

     --nogpgcheck:禁止进行gpg check;     -y: 自动回答为“yes”;     -q:quite静默模式;     --disablerepo=repoidglob:临时禁用此处指定的repo;     --enablerepo=repoidglob:临时启用此处指定的repo;     --noplugins:禁用所有插件;

    yum的repo配置文件中可用的变量:

     $releasever: 当前OS的发行版的主版本号;     $arch: 平台;     $basearch:基础平台;     $YUM0-$YUM9:提供的10个可以自定义的变量$YUM0-$YUM10。     http://mirrors.magedu.com/centos/$releasever/$basearch/os

    创建yum仓库:
        createrepo [options] <directory>

        


4. 程序包编译安装:       
           第一步:configure脚本
                选项:指定安装位置、指定启用的特性
                --help: 获取其支持使用的选项
                    选项分类:
                        安装路径设定:
                            --prefix=/PATH/TO/SOMEWHERE: 指定默认安装位置;默认为/usr/local/
                            --sysconfdir=/PATH/TO/SOMEWHERE:配置文件安装位置;
                       System types:
                        Optional Features: 可选特性
                            --disable-FEATURE
                            --enable-FEATURE[=ARG]

                        Optional Packages: 可选包(依赖到的程序包)
                            --with-PACKAGE[=ARG] 
                            --without-PACKAGE
            第二步:make
            第三步:make install
        安装后的配置:
            (1) 导出二进制程序目录至PATH环境变量中;
                编辑文件/etc/profile.d/NAME.sh
                    export PATH=/PATH/TO/BIN:$PATH
            (2) 导出库文件路径
                编辑/etc/ld.so.conf.d/NAME.conf
                    添加新的库文件所在目录至此文件中;
                让系统重新生成缓存:
                    ldconfig [-v]
            (3) 导出头文件
                基于链接的方式实现:
                    ln -sv
            (4) 导出帮助手册
                编辑/etc/man.config文件
                    添加一个MANPATH


5.练习:编译安装Apache2.2,并启动httpd服务

    (1)准备工作

        ●从Apache官网获取安装包            

    [root@shakura ~]# wget http://apache.dataguru.cn/httpd/httpd-2.2.31.tar.gz

        ●解压安装包      

    [root@shakura ~]# tar xf httpd-2.2.31.tar.gz

        ●进入到httpd-2.2.32查看安装手册显示安装步骤:    

    [root@shakura ~]# cd httpd-2.2.31 && cat INSTALL    APACHE INSTALLATION OVERVIEW      Quick Start - Unix      ------------------      For complete installation documentation, see [ht]docs/manual/install.html or      http://httpd.apache.org/docs/2.2/install.html         $ ./configure --prefix=PREFIX    #         $ make         $ make install         $ PREFIX/bin/apachectl start         NOTES: * Replace PREFIX with the filesystem path under which               Apache should be installed.  A typical installation              might use "/usr/local/apache2" for PREFIX (without the              quotes).

           #此步骤可省略,但是建议其查看。

     ●--help选项,,获取其支持的选项

    [root@shakura httpd-2.2.31]# ./configure --help    `configure' configures this package to adapt to many kinds of systems.    Usage: ./configure [OPTION]... [VAR=VALUE]...    To assign environment variables (e.g., CC, CFLAGS...), specify them as    VAR=VALUE.  See below for descriptions of some of the useful variables.    Defaults for the options are specified in brackets.    Configuration:      -h, --help              display this help and exit          --help=short        display options specific to this package          --help=recursive    display the short help of all the included packages      -V, --version           display version information and exit      -q, --quiet, --silent   do not print `checking ...' messages          --cache-file=FILE   cache test results in FILE [disabled]      -C, --config-cache      alias for `--cache-file=config.cache'      -n, --no-create         do not create output files          --srcdir=DIR        find the sources in DIR [configure dir or `..']    Installation directories:      --prefix=PREFIX         install architecture-independent files in PREFIX                          [/usr/local/apache2]      --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX                          [PREFIX]

    (2)开始编译安装  

     [root@shakura httpd-2.2.31]# ./configure --prefix=/tmp/apache2     checking for chosen layout... Apache     checking for working mkdir -p... yes     checking build system type... x86_64-unknown-linux-gnu     checking host system type... x86_64-unknown-linux-gnu     checking target system type... x86_64-unknown-linux-gnu

    (3)make and make install并启动httpd服务      

    [root@shakura httpd-2.2.31]# make && makeinstall

    (4)查看httpd服务是否运行

 

        至此,Apache服务安装成功。