rpm包及其全依賴的下載和離線安裝

在某些情況下,我們只能離線安裝rpm包,但是通常又不一定能找到他們的完整依賴,我之前經(jīng)常自己試著下載一個(gè)軟件包,然后到離線環(huán)境之后還是不能安裝,因?yàn)槿鄙僖蕾?。這里我在網(wǎng)上學(xué)習(xí)了一些方法來(lái)下載他們的依賴。
一、手動(dòng)下載
顯然,你可以自己去一些網(wǎng)站下載rpm包嘛,還可以自己去軟件源下載軟件包,對(duì)于一個(gè)rpm包的依賴,你可以直接去yum查找,或者在有網(wǎng)絡(luò)的及其上安裝可以看得到提示。
通常的阿里(https://mirrors.aliyun.com/centos/)他們都有軟件倉(cāng)庫(kù)都可以從網(wǎng)頁(yè)上去下載,依賴自己查找之后去下載就行。

還可以去rpmforge等國(guó)外倉(cāng)庫(kù)的網(wǎng)頁(yè)版本下載。
還可以去https://pkgs.org/download/glibc這種網(wǎng)站去查找包的信息和下載,這些網(wǎng)站也會(huì)給出包依賴。

手動(dòng)下載的好處在于,你想下載啥就下載啥,壞處也在于,你想下載啥,就下載啥,你想不到就沒(méi)了。。。
二、使用yum帶的工具在軟件源下載
其實(shí)yum帶的有工具來(lái)做這個(gè),這里我們先假定在一臺(tái)可以聯(lián)網(wǎng)的機(jī)器上已經(jīng)配置好了yum源,現(xiàn)在以VLC為例來(lái)操作。
1。使用yum 的 downloadonly 插件。
用法:
2. 使用yumdownloader ,這玩意兒也是yum套件里面的,一樣的可以如下用法:
需要注意的是,以上這倆都僅會(huì)將主軟件包和基于你現(xiàn)在的操作系統(tǒng)所缺少的依賴關(guān)系包一并下載。
正常情況下,這倆會(huì)自動(dòng)下載最新版的,如果是特定版本的,估計(jì)要加上版本號(hào),這個(gè)我沒(méi)試過(guò),你們可以試試。
3. 使用repotrack
雖然離線環(huán)境的操作系統(tǒng)和你一樣,但是基礎(chǔ)依賴還有點(diǎn)差別,可能要多一些依賴包,以上這倆只是基于你現(xiàn)在的環(huán)境來(lái)找缺少的依賴,如果要全量下載依賴呢?我找到了下面這個(gè)操作。

所以可以看到,這家伙給我下載了一大把的依賴,可把我樂(lè)壞了,這下估計(jì)是沒(méi)問(wèn)題了,可以去離線環(huán)境安裝了。實(shí)在不行把這些rpm做成一個(gè)本地源來(lái)用yum裝也可以。只需要自己建立以下index然后作為本地源載入即可。這塊我們有空可以聊聊。
三。本地安裝
順帶一提,如何本地安裝rpm包:
PS.現(xiàn)代化的用dnf或者其他包管理器的兄弟估計(jì)還是有類似的方法的,這里只是對(duì)古老的centos7做考古啦。
PS.如果用appimage或者snap等帶依賴的包管理的話就不用考慮這些了,但是他們自然又有他們的憂愁咯。