本文原创首发于公众号:编程三分钟

yum 命令的使用

yum命令天天都在用,都快用烂了,但是很多人不知道为什么只要联网,yum命令就能像老奶奶手中的魔法棒一样,随心所欲的下载到想到的包。

比如你想装个c++环境,直接 yum install gcc-c++

强迫症都喜欢做完一件事以后再确认一下,可以用rpm -qa | grep 包名的方式来查看。

如果装的不是想要的版本,yum list *gcc-c++*搜一下,一堆可安装的包名就列出来,想装哪个版本装哪个版本。

当然了,能装就能卸,一个yum remove gcc-c++搞定

啥?你还想装个docker,想装个go,想装不同版本的python,咋就想的那么美呢?

没问题!即使你想装那么些个东西,yum都能办到,她就像一个包容的老母亲时时宠爱着调皮捣蛋的傻儿子,ok,只要妈有,妈没有的也想办法从别的地方找来。也就是只要源里有,源里没有的再多配一个源就可以了。

yum 源

哎?这里说到一个源的概念,源简单来说就是一个专门储存包的仓库,分门别类的放好,yum命令就是仓库管家,根据配置好的规则,去源堆里找到想要的包顺便找到此包对其他包的依赖关系,根据依赖关系自动安装所有的包。包的依赖关系和下图一样。

/etc/yum.repos.d/目录就是专门存储各种源的目录,源文件以.repo后缀结尾,习惯性的把同一个业务的源放到一个文件里,比如平台A、平台B可以分为两个文件,当然了你的地盘你做主,想怎么分都可以。下面这张图就是我服务器上配置的源。

每个repo文件中,可以配置多个仓库(源),每个仓库存了不同的包,像我们刚刚安装的gcc-c++os仓库里,仓库名是唯一的。

上图节选自腾讯云服务器CentOS-Base.repo,上图中的中括号是源的名字,便于yum取得并识别,下面是配置项,来简单下解释各个配置项的含义。

enabled=1 表示启用了这个源,0是未启用。

gpg(GNU Private Guard)是一种校验算法,用来确定rpm包的来源是有效和安全的,gpgkey就是gpg密钥所在位置。

baseurl就是源路径。

name仓库的名称,只是为了方便阅读,一般没什么用。

通过刚刚的安装和卸载,我们明显看到gcc-c++是在os库里,又因为库名是唯一的,所以肯定就是CentOS-Base.repo里的os库,我们现在把他设置为禁用看看还能不能装。

有的人说了“我有台Centos的机器根本就不能联网,有yum命令有啥用,还不是要一个一个去网上下?完全是要人工解决依赖问题啊。”

我只能说这位同学,你坐下!小熊曾经说过,只要思想不滑坡,方法总比困难多。只要找一台能相同os的服务器用下面的命令,就能把rpm包和他的依赖来全部下载到本地,再拷贝过去安装好了。

yum install --downloadonly --downloaddir=/tmp/pzqu gcc-c++

--downloaddir指定下载目录

如果--downloadonly用不了,可能是漏了插件yum install yum-plugin-downloadonly安装上就好了。

后记

如果你想缓存下来全部的仓库,我只能说别开玩笑了,我们哪有那么大的硬盘,个人也没必要这么做。

但要完全是自己项目的包,可以自建一套源,开发测试部署的时候都自动打包到源里,随便到哪个离线环境把源带走,想在哪部署就能在哪部署,从这里我仿佛看到了持续集成的影子。

预知后事如何,请听下回分解。

大神都在用的yum源的更多相关文章

  1. 大神都在看的RxSwift 的完全入坑手册

    大神都在看的RxSwift 的完全入坑手册 2015-09-24 18:25 CallMeWhy callmewhy 字号:T | T 我主要是通过项目里的 Rx.playground 进行学习和了解 ...

  2. SEO大神都是些什么人

    http://www.wocaoseo.com/thread-97-1-1.html 貌似好久没有更新seo培训联盟的文章了,最近一直在专心学习其他的东西,前一段写了几篇关于用户需求和体验的文章,但是 ...

  3. python自带的IDLE编译器,听说大神都用这个(附python下载安装教程)

    python这两年这么火,学的人越来越多,小伙伴们都用什么编译器了? 今天教大家安装python并熟悉python自带的编译器IDLE. 第一步,进入python官网https://www.pytho ...

  4. 在VMware中为Redhat HAT配置本地yum源

    在VMware中为Redhat HAT配置本地yum源 今天准备使用CM安装大数据环境,到需要几台机器都使用同一套yum源才可以,所以想到将Redhat镜像文件拷贝到虚拟机中,在挂起使用,最后通过ht ...

  5. CentOS 7搭建本地yum源和局域网yum源

    这两天在部署公司的测试环境,在安装各种中间件的时候,发现各种依赖都没有:后来一检查,发现安装的操作系统是CentOS Mini版,好吧,我认了:为了完成测试环境的搭建,我就搭建了一个局域网的yum源. ...

  6. 【linux配置】在VMware中为Redhat HAT配置本地yum源

    在VMware中为Redhat HAT配置本地yum源 今天准备使用CM安装大数据环境,到需要几台机器都使用同一套yum源才可以,所以想到将Redhat镜像文件拷贝到虚拟机中,在挂起使用,最后通过ht ...

  7. centos7安装部署本地局域网yum源

    应用场景: 当Linux系统都是最小化安装的系统,又无法做到每台都能访问外网的情况下,安装常用工具或者依赖包的最好办法可能就是建立本地yum源了. 安装环境: 一台 centos 7.4 minima ...

  8. 使用tomcat搭建centos的yum源

    最近在折腾大数据,需要搭建一个yum源.一般的做法是在CentOS中安装httpd,然后将rpm包放入/var/www/html下面,再执行[createrepo .]即可. 不过虚拟机对传文件终归是 ...

  9. 克隆虚拟机及配置yum源的步骤及讲解(Hadoop基础)

    1.克隆虚拟机 找一台需要克隆的虚拟机但虚拟机必须在关机下进行,(建议将前期Linux环境 配置完成) 在VMware中右键虚拟机找到克隆的选项.   点击克隆 可以克隆他的快照(提前做快照)或者是克 ...

随机推荐

  1. C#开发BIMFACE系列21 服务端API之获取模型数据6:获取单模型的楼层信息

    系列目录     [已更新最新开发文章,点击查看详细] 一个文件/模型中可能包含多个楼层信息,获取楼层信息对于前端页面的动态展示非常有帮助.本篇介绍获取一个文件/模型中可能包含多个楼层信息的详细方法. ...

  2. 【Offer】[55-2] 【平衡二叉树】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 输入一棵二叉树的根节点,判断该树是不是平衡二叉树.如果某二叉树中任意节点的左.右子树的深度相差不超过1,那么它就是一棵平衡二叉树.例如, ...

  3. Java ArrayList源码分析(有助于理解数据结构)

    arraylist源码分析 1.数组介绍 数组是数据结构中很基本的结构,很多编程语言都内置数组,类似于数据结构中的线性表 在java中当创建数组时会在内存中划分出一块连续的内存,然后当有数据进入的时候 ...

  4. SpringCloud超简单的入门(1)--一些简单的介绍

    简介 简单来说,springcloud的就是由一组springboot应用(服务)组成,相互之间通过REST等方式进行通信. 两个springboot应用,其中一个作为服务提供者,一个作为服务消费者, ...

  5. JSP学习笔记(5)——Servlet、监听器、过滤器、MVC模式介绍

    MVC模式 在讲解Servlet前,先介绍一下MVC模式. M:model 模型,相当于数据层,用于存放数据,如一个Java中的一个bean类 V:view 视图,相当于页面层,用于显示数据,如一个网 ...

  6. Json的动态解析

    最近在项目中需要动态解析json,但解析json的方式有很多,如何合理的解析就是我们需要考虑的问题?比如Newtonsoft.Json.Linq下提供的JToken.JObject等,Newtonso ...

  7. charles 重写工具/rewrite Srttings

    本文参考:charles 重写工具 rewrite Srttings 重写工具/rewrite Srttings and rewrite rule 功能:在通过charles时修改请求和响应 重写工具 ...

  8. tomcat 中无法添加项目等问题的解决方案

    博客地址:http://www.moonxy.com 一.前言 今天新建了一个 maven 项目,添加程序文件之后,发现无法添加项目,然后修改配置,将应用添加到了 tomcat,启动时又报错,解决出现 ...

  9. RocksDB线程局部缓存

    概述 在开发过程中,我们经常会遇到并发问题,解决并发问题通常的方法是加锁保护,比如常用的spinlock,mutex或者rwlock,当然也可以采用无锁编程,对实现要求就比较高了.对于任何一个共享变量 ...

  10. Spring Cloud异步场景分布式事务怎样做?试试RocketMQ

    一.背景 在微服务架构中,我们常常使用异步化的手段来提升系统的 吞吐量 和 解耦 上下游,而构建异步架构最常用的手段就是使用 消息队列(MQ),那异步架构怎样才能实现数据一致性呢?本文主要介绍如何使用 ...