来源:编程三分钟
ID:coding3min
作者:小熊爱编程
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安装上就好了 。
后记
【阿里P8大神都在用的yum源,原来是这个东西】如果你想缓存下来全部的仓库,我只能说别开玩笑了,我们哪有那么大的硬盘,个人也没必要这么做 。
推荐阅读
- 为什么?阿里规定超过 3 张表禁止 join
- 互联网拒绝35岁!阿里、腾讯劝退高龄员工,哪些职业越老越吃香?
- 怎样运动才能有效的减肥呢?
- 蚂蚁金服与阿里是什么关系? 蚂蚁金服最大股东是谁
- 阿里P7架构师面试:大型网站应用之海量数据、高并发解决方案
- 阿里山茶响叮当 嘉县推认证
- 阿里巴巴钱盾是干嘛 阿里巴巴钱盾标记客服
- 这3款电动车能上牌,续航都在80公里以上,适合大城市跑外卖
- 10分钟零基础就可搞懂的Hadoop架构原理,阿里架构师详解
- 聊聊昨晚的芯片利好