YUM(Yellowdog Update Modifier):是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum是一个前端程序,所以它必须依赖一个yum客户端,repository,顾名思义,是一个软件的仓库,也叫做yum源,它可以是http或ftp站点, 也可以是本地软件池,每一个repository中存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录下:repodata)。repodata中包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是通过这些信息,才能自动化地完成余下的任务。

yum客户端(yum源):通过yum的配置文件定义其细节内容。

配置文件:

/etc/yum.conf:为所有仓库提供公共配置

/etc/yum.repos.d/*.repo:

通常一个.repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用

配置文件中各项参数的定义:
        [repositoryID]
        name=Some name for this repository
        baseurl=url://path/to/repository/
        enabled={1|0}
        gpgcheck={1|0}
        gpgkey=URL
        enablegroups={1|0}
        failovermethod={roundrobin|priority}   (priority:按优先级排序,roundrobin,意为随机挑选)  默认为:roundrobin

cost=        默认为1000

yum命令的用法:

使用格式:yum [options] [command] [package ...]

命令行选项(命令行的优先度要高于配置文件):

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

常用command

显示仓库列表:repolist [all|enabled|disabled]
显示程序包:list
     # yum list [all | glob_exp1] [glob_exp2] [...]
     # yum list {available|installed|updates} [glob_exp1] [...]
安装程序包:install package1 [package2] [...]
        reinstall package1 [package2] [...]  (重新安装)
升级程序包:update [package1] [package2] [...]

降级程序包:downgrade package1 [package2] [...]
检查可用升级:check-update
卸载程序包:remove | erase package1 [package2] [...]
查看程序包information: info [...]
查看指定的特性(可以是某文件)是由哪个程序包所提供:provides | whatprovides feature1 [feature2] [...]
清理本地缓存:clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
构建缓存:makecache
搜索:以指定的关键字搜索程序包名及summary信息;
     search string1 [string2] [...]
查看指定包所依赖的capabilities:
     deplist package1 [package2] [...]
查看yum事务历史:
 history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
安装及升级本地程序包:
        * 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 [...]

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

演示过程

1.

2.

3.

4.

至此,创建本地仓库完成。

使用光盘当作本地yum仓库:
        (1)挂载光盘至某目录,例如/media/cdrom
            # mount -r -t iso9660 /dev/cdrom /media/cdrom
        (2)创建配置文件 (同上)

yum的repo配置文件中可用的变量:
        $releasever: 当前OS的发行版的主版本号;
        $arch: 平台;
        $basearch:基础平台;
        $YUM0-$YUM9
示例:http://http://mirror.centos.org/centos/$releasever/updates/$basearch/

yum仓库文件服务器的地址类型:ftp://

http://
                                                           nfs://
                                                           file:///

转载于:https://blog.51cto.com/puro2016/1753163

Linux程序包管理(yum)相关推荐

  1. Linux 程序包管理-YUM

    前端工具YUM管理程序包:   rpm管理软件虽然方便,但是需要手工解决软件包的依赖关系:很多时候安装一个软件需要首先安装一个或多个(有时多达上百个)其它软件,手工解决很复杂:使用yum可以解决这个问 ...

  2. linux 包管理工具dnf,Linux 程序包管理 rpm yum dnf

    Linux程序包管理:包管理器功能:打包,包管理(安装,升级,卸载,查询,校验) 目前Linux中最常见有两种常用工具deb:debian Linux使用 包括ubuntu rpm:Redhat Pa ...

  3. linux程序包管理rpm,yum和编译安装以及冒泡排序练习

    linux程序包管理: API:Application Programming Interface POSIX:Portable OS 程序源代码--> 预处理--> 编译--> 汇 ...

  4. Linux程序包管理

    一. RPM RPM的全名为"RedHat Package Manager",是由RedHat公司开发的.Rpm是以一种数据库记录的方式将所需要的套件安装到linux主机的一套管理 ...

  5. Linux程序包管理(rpm)

    程序包:由源代码通过编译成CPU可执行的二进制格式,再把这些文件(二进制程序.库文件.配置文件.帮助文件)组织成为一个或有限几个"包"文件. 程序包的组成:1.程序包的组成清单(每 ...

  6. Linux程序包管理,YUM命令使用解析。

    在使用Linux的朋友,肯定会遇到软件包安装的问题,今天我来和大家一起学习一下YUM的使用. YUM (Yellow dog Updater Modified ): 是一个在Fedora和RedHat ...

  7. Linux程序包管理之RPM

    一RPM介绍: 1,RPM:是指.rpm的文件格式的软件包,也可能是指其本身的软件包管理器(RPM Package Manager).最早由Red Hat研制,现在也由开源社区开发.RPM通常随附于L ...

  8. linux 程序包管理5 编译安装

    1.二进制程序的访问方法vim /etc/profile.d/apache.shPATH=/usr/local/apache/bin:/usr/local/apache/sbin=$PATHexpor ...

  9. Linux程序包管理2

    转载于:https://www.cnblogs.com/jacky1982/p/8245566.html

最新文章

  1. 用过美德乐吸奶器的宝妈们感觉比国产吸奶器怎么样啊?
  2. 76.Zabbix添加图形和聚合图形
  3. 【机器学习基础】数学推导+纯Python实现机器学习算法27:LDA线性判别分析
  4. mysql中的竖线怎么用_Mysql event时间触发器,实现定时修改某些符合某一条件的某一字段...
  5. C#中增量类功能的方式之 继承与扩展
  6. 7-6 动物 (15 分)
  7. 微软 Edge 浏览器加入对 ARM64 的原生支持
  8. c++ int最大值_PTA「实验7-1-10 交换最小值和最大值」
  9. Spring缓存切面源码解析
  10. oracle vba 数组_vba:使用array中的文本从selection.find返回页码
  11. 学习方法推荐——番茄工作法
  12. 自制三层架构代码生成器软件
  13. js可以用的万年历API
  14. 基于TCP的STM32 IAP bootloader初步设计
  15. CodeForces 576C Points on Plane 莫队
  16. springboot2 集成shiro-spring-boot-web-starter
  17. 每日一练c++题目日刊 | 第七期
  18. 计算机安全措施方案,计算机安全应急预案
  19. Linux内核进程,线程,进程组,会话组织模型以及进程管理
  20. subtext 安装PythonIDE -Anaconda

热门文章

  1. jvm八:接口初始化规则
  2. gcd的二进制优化笔记
  3. 原生Android之(6.0及以上)权限申请
  4. 「原创」马云又嗨啦,云栖音乐节与李健同台飙歌,把健哥都带跑调了
  5. symbian 根据指定的权限找到对应的API:Functions listed by capability
  6. C语言 计算一串字符中出现的数字字符数
  7. 麦当劳java排班_学习肯德基排班管理系统
  8. phpstudy php日志,phpstudy开启网站Apache日志并且按照日期划分创建
  9. visual basic6.0企业版
  10. SFTP Net Drive