zoukankan      html  css  js  c++  java
  • (CentOS) 程序安装包管理:yum

    简介:

        Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

    yum配置文件:

        主配置文件:/etc/yum.conf (对所有yum仓库都有效)

            各仓库的定义:/etc/yum.repos.d/*.repo (仅对自己仓库生效,优先级大于主配置文件。)

    如下,我们自己创建一个yum库:

    wKioL1UqZsahMzOJAABmda33iuw272.jpg

            [testrepo]:代表仓库唯一标识ID

            name:当前仓库简要介绍信息

            baseurl:仓库的URL地址(ftp | http | 本地目录)

            gpgcheck:是否校验包(1是 | 0否)

            enabled:仓库是否可用

    yum命令:

    yum [options] [command] [package ...]

           command is one of:

            * install package1 [package2] [...]

            * update [package1] [package2] [...]

            * update-to [package1] [package2] [...]

            * check-update

            * upgrade [package1] [package2] [...]

            * upgrade-to [package1] [package2] [...]

            * distribution-synchronization [package1] [package2] [...]

            * remove | erase package1 [package2] [...]

            * list [...]

            * info [...]

            * provides | whatprovides feature1 [feature2] [...]

            * clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

            * makecache

            * groupinstall group1 [group2] [...]

            * groupupdate group1 [group2] [...]

            * grouplist [hidden] [groupwildcard] [...]

            * groupremove group1 [group2] [...]

            * groupinfo group1 [...]

            * search string1 [string2] [...]

            * shell [filename]

            * resolvedep dep1 [dep2] [...]

            * localinstall rpmfile1 [rpmfile2] [...]

               (maintained for legacy reasons only - use install)

            * localupdate rpmfile1 [rpmfile2] [...]

               (maintained for legacy reasons only - use update)

            * reinstall package1 [package2] [...]

            * downgrade package1 [package2] [...]

            * deplist package1 [package2] [...]

            * repolist [all|enabled|disabled]

            * version [ all | installed | available | group-* | nogroups* | grouplist | groupinfo ]

            * history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

            * load-transaction [txfile]

            * check

            * help [command]

    介绍几个常用参数:

    仓库管理:

         repolist: 列出已经配置的所有可用仓库

         repolist [all|enabled|disabled]

    缓存管理:

         clean:清理缓存

         clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

         makecache: 缓存创建

         自动连接至每一个可用仓库,下载其元数据,将其创建为缓存

    程序包查看:

         yum list [all | glob_exp1] [glob_exp2] [...]

               支持使用通配符,例如:yum list php*   --查看php开头的包

         yum list {available|updates|installed|extras|obsoletes} [glob_exp1] [...]

               条件查找,查看程序包,例如:available(有效的程序包),installed(已安装的程序包)

         grouplist [hidden] [groupwildcard] [...]

    程序包安装:install package1 [package2] [...]

        注意: 

            只需要提供包名;

            如果某包有在不同仓库中有多个不同版本,默认会安装最新版本;

            如果要安装指定版本:install PACKAGE-VERSION ...

    重新安装(覆盖安装)reinstall package1 [package2] [...]

    程序包升级:update [package1] [package2] [...]

    程序包降级:downgrade package1 [package2] [...]

    检查有哪些升级可用:check-update

    程序包卸载:

         remove | erase package1 [package2] [...]

         所有依赖于正卸载的程序包的程序包会被一并卸载;

    程序包查询:

        查询程序的相关简要信息:info PACKAGE ...

             例如:yum info php(查看php的简要信息)

        在包名和sumary信息中搜索指定的关键字:search KEYWORD ... 

             例如:yum search php (检查简要信息中有php关键字的)

        查询指定文件由哪个程序包安装生成:provides|whatprovides /PATH/TO/SOMEFILE

             例如:yum provides /etc/inittab (检查inittab这个文件由哪个程序包生成)

    包组管理:

    列出所有包组:grouplist

    显示指定包组详情:groupinfo group1 [...]

    安装:groupinstall group1 [group2] [...]

    卸载:groupremove group1 [group2] [...]

    升级:groupupdate group1 [group2] [...]

          注意:CentOS 7 之后可以直接用install,remove或update来管理包组,组名前加(@)。

          例如: yum install @"Server Platform Development" (安装sever platform development包)

    yum命令其他选项:

           -y:自动回答为“yes”

           --disablerepo=:临时禁用配置文件中配置的仓库

           --enablerepo=:临时启用指定未启用的某仓库

           --nogpgcheck:不做包校验

    yum内置变量:

              (1) $raleasever: 当前OS发行版的主版本号;

         例如,对CentOS 6.6 x86_64,主版本号为6;

         (2) $arch:平台

         i386, i486

         (3) $basearch: 基础平台, 例如i686, i586, i486以及i386的基础平台同为i386;

         (4) $YUM0-$YUM9

               例如:当前系统为CentOS 6.6  x86_64

                      baseurl=http://repo.magedu.com/centos/$releasever/$basearch (此写法和下方写法一样效果)   

                http://repo.magedu.com/centos/6/x86_64   

  • 相关阅读:
    python不是内部或外部命令
    Fix: The account is not authorized to log in from this station
    mac 下安装caffe(一)
    mac下安装tensorflow及入门例子
    tensorflow移植到ios
    ios添加麦克风访问权限
    ios 使用Starscream实现websocket简单例子
    使用Carthage安装及使用第三方库
    Homebrew 命令
    mac Homebrew Updating慢,替换及重置Homebrew默认源
  • 原文地址:https://www.cnblogs.com/kluan/p/4458258.html
Copyright © 2011-2022 走看看