Linux学习之:yum程序包管理命令

时间:2015-12-28 06:48:04   收藏:0   阅读:4342

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_exp2] [...]

                #显示安装包列表,支持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服务安装成功。

本文出自 “南极熊” 博客,请务必保留此出处http://jianweixs.blog.51cto.com/9095175/1728822

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!