0
点赞
收藏
分享

微信扫一扫

大神都在用的yum源



yum 命令的使用

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

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

大神都在用的yum源_配置项

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

大神都在用的yum源_依赖关系_02

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

大神都在用的yum源_rpm包_03

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

大神都在用的yum源_rpm包_04

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

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


yum 源

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

大神都在用的yum源_rpm包_05

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

大神都在用的yum源_依赖关系_06

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

大神都在用的yum源_配置项_07

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

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

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

​baseurl​​就是源路径。

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

大神都在用的yum源_rpm包_08

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

大神都在用的yum源_配置项_09

大神都在用的yum源_rpm包_10

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

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

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

​--downloaddir​​指定下载目录

大神都在用的yum源_依赖关系_11

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

后记

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

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

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

大神都在用的yum源_配置项_12


举报

相关推荐

0 条评论