使用通過yum安裝過的軟件作為yum源

在不通外網(wǎng)荣暮,或沒有內(nèi)網(wǎng)yum源的情況下,怎么用yum裝軟件罩驻?
yum管理了rpm包的依賴關(guān)系穗酥。
我們用yum安裝軟件時(shí),其實(shí)它是為我們下載了一堆rpm包惠遏,并按序安裝砾跃。

所以,我們可以拷貝這一堆rpm包到其它一個(gè)沒有網(wǎng)絡(luò)的機(jī)器上节吮,手工按序一個(gè)個(gè)安裝它們抽高,或者更方便的作法是再次借助yum管理這一堆rpm的依賴關(guān)系,幫我們自動安裝课锌。

一厨内, 收集yum安裝軟件時(shí)所下載的rpm包

找一臺可連接外網(wǎng)或者內(nèi)網(wǎng)yum源的機(jī)器,用yum在線安裝軟件(以安裝firefox為例)

修改/etc/yum.conf以讓yum安裝完軟件后不刪除rpm包(keepcache=1):
(默認(rèn)情況下rpm會在安裝完軟件后自動刪除所下載的rpm包)

cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1
...

刪除yum以前緩存的文件(/var/cache/yum/$basearch/$releasever):
(此舉是為接下來我們要安裝的軟件提供一個(gè)干凈的初始緩存)

[root@localhost 7]# pwd
/var/cache/yum/x86_64/7
[root@localhost 7]# ll
total 12
drwxr-xr-x 4 root root  256 Nov 28 16:12 base
drwxr-xr-x 4 root root 4096 Nov 28 11:12 epel
drwxr-xr-x 4 root root  161 Nov 28 11:12 extras
drwxr-xr-x 4 root root  137 Nov 28 11:12 mongodb-org-3.4
-rw-r--r-- 1 root root  129 Nov 28 11:16 timedhosts
-rw-r--r-- 1 root root 1673 Nov 27 14:27 timedhosts.txt
drwxr-xr-x 4 root root  161 Nov 28 11:12 updates
[root@localhost 7]# rm -rf *

通過yum安裝firefox:

yum -y install firefox

安裝完成后渺贤,到緩存目錄里查找下載的所有rpm包:

[root@localhost 7]# cd /var/cache/yum/x86_64/7/
[root@localhost 7]# ll
total 12
drwxr-xr-x 7 root root  149 Nov 28 11:16 .
drwxr-xr-x 3 root root   15 Aug 16  2017 ..
drwxr-xr-x 4 root root  256 Nov 28 16:12 base
drwxr-xr-x 4 root root 4096 Nov 28 11:12 epel
drwxr-xr-x 4 root root  161 Nov 28 11:12 extras
-rw-r--r-- 1 root root    0 Aug 16  2017 .gpgkeyschecked.yum
drwxr-xr-x 4 root root  137 Nov 28 11:12 mongodb-org-3.4
-rw-r--r-- 1 root root  129 Nov 28 11:16 timedhosts
-rw-r--r-- 1 root root 1673 Nov 27 14:27 timedhosts.txt
drwxr-xr-x 4 root root  161 Nov 28 11:12 updates
[root@localhost 7]# find . -type f -name "*.rpm"
./base/packages/quagga-0.99.22.4-5.el7_4.x86_64.rpm
./base/packages/libXaw-1.0.13-4.el7.x86_64.rpm
./base/packages/libXcursor-1.1.14-8.el7.x86_64.rpm
./base/packages/libXfixes-5.0.3-1.el7.x86_64.rpm
./base/packages/libXft-2.3.2-2.el7.x86_64.rpm
./base/packages/libXmu-1.1.2-2.el7.x86_64.rpm
./base/packages/libXpm-3.5.12-1.el7.x86_64.rpm
./base/packages/libXt-1.1.5-3.el7.x86_64.rpm
./base/packages/libXxf86vm-1.1.4-1.el7.x86_64.rpm
./base/packages/libxkbfile-1.0.9-3.el7.x86_64.rpm
./base/packages/xorg-x11-apps-7.7-7.el7.x86_64.rpm
./base/packages/adwaita-cursor-theme-3.26.0-1.el7.noarch.rpm
./base/packages/adwaita-icon-theme-3.26.0-1.el7.noarch.rpm
./base/packages/at-spi2-atk-2.22.0-2.el7.x86_64.rpm
./base/packages/at-spi2-core-2.22.0-1.el7.x86_64.rpm
./base/packages/atk-2.22.0-3.el7.x86_64.rpm
./base/packages/cairo-1.14.8-2.el7.x86_64.rpm
./base/packages/cairo-gobject-1.14.8-2.el7.x86_64.rpm
./base/packages/centos-indexhtml-7-9.el7.centos.noarch.rpm
./base/packages/colord-libs-1.3.4-1.el7.x86_64.rpm
./base/packages/dbus-1.10.24-7.el7.x86_64.rpm
./base/packages/dbus-libs-1.10.24-7.el7.x86_64.rpm
./base/packages/gdk-pixbuf2-2.36.5-1.el7.x86_64.rpm
./base/packages/glib2-2.54.2-2.el7.x86_64.rpm
./base/packages/graphite2-1.3.10-1.el7_3.x86_64.rpm
./base/packages/gtk2-2.24.31-1.el7.x86_64.rpm
./base/packages/harfbuzz-1.3.2-1.el7.x86_64.rpm
./base/packages/hicolor-icon-theme-0.12-7.el7.noarch.rpm
./base/packages/jasper-libs-1.900.1-31.el7.x86_64.rpm
./base/packages/jbigkit-libs-2.0-11.el7.x86_64.rpm
./base/packages/json-glib-1.2.6-1.el7.x86_64.rpm
./base/packages/lcms2-2.6-3.el7.x86_64.rpm
./base/packages/libXdamage-1.1.4-4.1.el7.x86_64.rpm
./base/packages/libXinerama-1.1.3-2.1.el7.x86_64.rpm
./base/packages/libXrandr-1.5.1-2.el7.x86_64.rpm
./base/packages/libdrm-2.4.83-2.el7.x86_64.rpm
./base/packages/liberation-fonts-common-1.07.2-16.el7.noarch.rpm
./base/packages/liberation-sans-fonts-1.07.2-16.el7.noarch.rpm
./base/packages/libgusb-0.2.9-1.el7.x86_64.rpm
./base/packages/libthai-0.1.14-9.el7.x86_64.rpm
./base/packages/libtiff-4.0.3-27.el7_3.x86_64.rpm
./base/packages/libusbx-1.0.21-1.el7.x86_64.rpm
./base/packages/libwayland-client-1.14.0-2.el7.x86_64.rpm
./base/packages/libwayland-cursor-1.14.0-2.el7.x86_64.rpm
./base/packages/libwayland-server-1.14.0-2.el7.x86_64.rpm
./base/packages/libxkbcommon-0.7.1-1.el7.x86_64.rpm
./base/packages/libxshmfence-1.2-1.el7.x86_64.rpm
./base/packages/mesa-libEGL-17.2.3-8.20171019.el7.x86_64.rpm
./base/packages/mesa-libGL-17.2.3-8.20171019.el7.x86_64.rpm
./base/packages/mesa-libgbm-17.2.3-8.20171019.el7.x86_64.rpm
./base/packages/mesa-libglapi-17.2.3-8.20171019.el7.x86_64.rpm
./base/packages/mesa-libwayland-egl-17.2.3-8.20171019.el7.x86_64.rpm
./base/packages/mozilla-filesystem-1.9-11.el7.x86_64.rpm
./base/packages/nss-pem-1.0.3-4.el7.x86_64.rpm
./base/packages/pango-1.40.4-1.el7.x86_64.rpm
./base/packages/pixman-0.34.0-1.el7.x86_64.rpm
./base/packages/rest-0.8.0-2.el7.x86_64.rpm
./base/packages/startup-notification-0.12-8.el7.x86_64.rpm
./base/packages/xcb-util-0.4.0-2.el7.x86_64.rpm
./base/packages/xkeyboard-config-2.20-1.el7.noarch.rpm
./updates/packages/dconf-0.26.0-3.el7_5.1.x86_64.rpm
./updates/packages/firefox-60.3.0-1.el7.centos.x86_64.rpm
./updates/packages/gtk-update-icon-cache-3.22.26-4.el7_5.x86_64.rpm
./updates/packages/gtk3-3.22.26-4.el7_5.x86_64.rpm
./updates/packages/libepoxy-1.3.1-2.el7_5.x86_64.rpm
./updates/packages/nspr-4.19.0-1.el7_5.x86_64.rpm
./updates/packages/nss-3.36.0-7.el7_5.x86_64.rpm
./updates/packages/nss-softokn-3.36.0-5.el7_5.x86_64.rpm
./updates/packages/nss-softokn-freebl-3.36.0-5.el7_5.x86_64.rpm
./updates/packages/nss-sysinit-3.36.0-7.el7_5.x86_64.rpm
./updates/packages/nss-tools-3.36.0-7.el7_5.x86_64.rpm
./updates/packages/nss-util-3.36.0-1.el7_5.x86_64.rpm
[root@localhost 7]# 

這些rpm包就是這臺機(jī)器上安裝firefox所需包雏胃。把它們打包壓縮為如:firefox_rpms.tar.gz。 今后我們只要有這個(gè)文件志鞍,就可以離線用yum安裝firefox到其它配置相同的機(jī)器上了瞭亮。

二, 在另外一臺機(jī)器上安裝

我們要做的是固棚,把firefox_rpms.tar.gz拷到目標(biāo)機(jī)上并解壓到如/root/firefox_rpms/的目錄中统翩,使用createrepo命令把該目錄創(chuàng)建成一個(gè)yum源,再將該源加入到CentOS-Media.repo中此洲,就可以用yum來從本地安裝firefox了厂汗。

  1. 安裝createrepo命令
    如果機(jī)器上沒有createrepo命令,可以提前用yum在線安裝(yum -y install createrepo)呜师,或者下載如下幾個(gè)rpm手工安裝:
createrepo-0.9.9-28.el7.noarch.rpm
deltarpm-3.6-3.el7.x86_64.rpm
libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
python-deltarpm-3.6-3.el7.x86_64.rpm
  1. createrepo命令創(chuàng)建本地yum源
[root@localhost firefox_rpms]# createrepo /root/firefox_rpms/
Spawning worker 0 with 17 pkgs
Spawning worker 1 with 17 pkgs
Spawning worker 2 with 16 pkgs
Spawning worker 3 with 16 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@localhost firefox_rpms]# 

目錄中會生成一個(gè)repodata目錄娶桦,其中有所有rpm文件信息,以及它們的依賴關(guān)系信息汁汗,這是作為一個(gè)yum源所需要的衷畦。

  1. 配置CentOS-Media.repo讓yum從本地安裝軟件
    備份/etc/yum.repos.d目錄的內(nèi)容。刪除其中除了CentOS-Media.repo之外的所有文件知牌。修改CentOS-Media.repo內(nèi)容如下:
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///root/firefox_rpms/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

其中baseurl=file:///root/firefox_rpms/指定我們的目錄祈争。gpgcheck=0表示取消gpg驗(yàn)證。enabled=1表示啟動此repo角寸。

三菩混, 從本地安裝firefox

先清理yum緩存:yum clean all忿墅,再安裝firefox:

yum -y install firefox
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市沮峡,隨后出現(xiàn)的幾起案子球匕,更是在濱河造成了極大的恐慌,老刑警劉巖帖烘,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異橄杨,居然都是意外死亡秘症,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門式矫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乡摹,“玉大人,你說我怎么就攤上這事采转〈狭” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵故慈,是天一觀的道長板熊。 經(jīng)常有香客問我,道長察绷,這世上最難降的妖魔是什么干签? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮拆撼,結(jié)果婚禮上容劳,老公的妹妹穿的比我還像新娘。我一直安慰自己闸度,他們只是感情好竭贩,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著莺禁,像睡著了一般留量。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上睁宰,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天肪获,我揣著相機(jī)與錄音,去河邊找鬼柒傻。 笑死孝赫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的红符。 我是一名探鬼主播青柄,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼伐债,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了致开?” 一聲冷哼從身側(cè)響起峰锁,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎双戳,沒想到半個(gè)月后虹蒋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡飒货,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年魄衅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片塘辅。...
    茶點(diǎn)故事閱讀 39,834評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晃虫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出扣墩,到底是詐尸還是另有隱情哲银,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布呻惕,位于F島的核電站荆责,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蟆融。R本人自食惡果不足惜草巡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望型酥。 院中可真熱鬧山憨,春花似錦、人聲如沸弥喉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽由境。三九已至棚亩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間虏杰,已是汗流浹背讥蟆。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留纺阔,地道東北人瘸彤。 一個(gè)月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像笛钝,于是被迫代替她去往敵國和親质况。 傳聞我的和親對象是個(gè)殘疾皇子愕宋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容