大神都在用的yum源

本文原創首發於公衆號:編程三分鐘python

yum 命令的使用

yum命令每天都在用,都快用爛了,可是不少人不知道爲何只要聯網,yum命令就能像老奶奶手中的魔法棒同樣,爲所欲爲的下載到想到的包。c++

好比你想裝個c++環境,直接 yum install gcc-c++算法

強迫症都喜歡作完一件事之後再確認一下,能夠用rpm -qa | grep 包名的方式來查看。docker

若是裝的不是想要的版本,yum list *gcc-c++*搜一下,一堆可安裝的包名就列出來,想裝哪一個版本裝哪一個版本。shell

固然了,能裝就能卸,一個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安裝上就行了。

後記

若是你想緩存下來所有的倉庫,我只能說別開玩笑了,咱們哪有那麼大的硬盤,我的也不必這麼作。

但要徹底是本身項目的包,能夠自建一套源,開發測試部署的時候都自動打包到源裏,隨便到哪一個離線環境把源帶走,想在哪部署就能在哪部署,從這裏我彷彿看到了持續集成的影子。

預知後事如何,請聽下回分解。

image.png

相關文章
相關標籤/搜索