yum使用CentOS光碟離線安裝套件
yum 這個工具主要是在 RedHat 及其衍生版本(RHEL, CentOS, Fedora)安裝套件使用,
通常透過 yum 會自動在網路 mirror 上自動下載更新套件 rpm,
同時會判斷相依套件非常方便!
然而在某些環境可能無法透過網路連外(如公司內部或隔離環境),
若要自行下載所有套件上傳到CentOS上安裝,光下載所有相依套件就煩死人了。
其實大多數的套件 rpm 都已包含在 CentOS release 的光碟中,
只要將 yum 的安裝來源指向 cdrom中的光碟 (或是已掛載的 iso亦可),
這樣就同樣能透過 yum 指令自動從安裝光碟中找到所需套件囉!
以下所使用的環境是 CentOS 6.5,
在安裝之前讓我們來看看 yum 預設的 media repository 裡頭設定長怎樣:
由上面很清楚看得出來,c6-media 這個 repository 包含了下面幾個路徑,
只要我們把光碟掛載到這些路徑底下就可以了,下面會以標紅色的/media/cdrom/為例,
一種方式是把他改為 enabled=1,這樣之後應該可以直接下一般的yum指令,
若只是想暫時啟用,就可以照著上面的文字指示輸入指令:
既然會用到光碟來安裝套件,那麼通常就是因為網路不通才這麼麻煩,
所以我們都是用第二個指令,不使用其他網路 repository 而只用 c6-media 這個 repository。
步驟一:掛載光碟至 /media/cdrom 路徑底下,若路徑不存在記得先 mkdir
步驟二:輸入指令安裝所需套件,這邊的範例是安裝 lynx,
從下面可以看得出來套件都是從 c6-media 中抓到的。
如果是 CentOS 5 的步驟也都一樣,只要把 c6-media 改成 c5-media即可:
透過上面簡單的步驟,只要修改光碟掛載的路徑,並把 yum 的安裝指令改一下,
就可以直接使用 CentOS 的安裝光碟離線安裝所需套件啦,是不是很簡單呢?
若有下載舊版 rpm 或 iso 的需求,可以參考我先前寫過的文章:
舊版 CentOS 光碟映像檔 ISO、套件下載
若有指令但不知道該下載哪個套件,可以參考這篇:
使用 rpm.find 找指令、套件教學
關鍵字:yum, install, CentOS, 5, 6, CD, DVD, rom, 光碟, 離線, 安裝, 套件, package, repository
參考資料:
通常透過 yum 會自動在網路 mirror 上自動下載更新套件 rpm,
同時會判斷相依套件非常方便!
然而在某些環境可能無法透過網路連外(如公司內部或隔離環境),
若要自行下載所有套件上傳到CentOS上安裝,光下載所有相依套件就煩死人了。
其實大多數的套件 rpm 都已包含在 CentOS release 的光碟中,
只要將 yum 的安裝來源指向 cdrom中的光碟 (或是已掛載的 iso亦可),
這樣就同樣能透過 yum 指令自動從安裝光碟中找到所需套件囉!
以下所使用的環境是 CentOS 6.5,
在安裝之前讓我們來看看 yum 預設的 media repository 裡頭設定長怎樣:
[root@demo ~]# cat /etc/yum.repos.d/CentOS-Media.repo
# CentOS-Media.repo
#
# This repo can be used with mounted DVD media, verify the mount point for
# CentOS-6. You can use this repo and yum to install items directly off the
# DVD ISO that we release.
#
# To use this repo, put in your DVD and use it with the other repos too:
# yum --enablerepo=c6-media [command]
#
# or for ONLY the media repo, do this:
#
# yum --disablerepo=\* --enablerepo=c6-media [command]
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
file:///media/cdrom/
file:///media/cdrecorder/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[root@demo ~]#
由上面很清楚看得出來,c6-media 這個 repository 包含了下面幾個路徑,
只要我們把光碟掛載到這些路徑底下就可以了,下面會以標紅色的/media/cdrom/為例,
- file:///media/CentOS/
- file:///media/cdrom/
- file:///media/cdrecorder/
一種方式是把他改為 enabled=1,這樣之後應該可以直接下一般的yum指令,
若只是想暫時啟用,就可以照著上面的文字指示輸入指令:
# To use this repo, put in your DVD and use it with the other repos too: # yum --enablerepo=c6-media [command] # # or for ONLY the media repo, do this: # # yum --disablerepo=\* --enablerepo=c6-media [command]
既然會用到光碟來安裝套件,那麼通常就是因為網路不通才這麼麻煩,
所以我們都是用第二個指令,不使用其他網路 repository 而只用 c6-media 這個 repository。
步驟一:掛載光碟至 /media/cdrom 路徑底下,若路徑不存在記得先 mkdir
[root@demo ~]# mkdir /media/cdrom [root@demo ~]# mount /dev/cdrom /media/cdrom mount: block device /dev/xvdd1 is write-protected, mounting read-only [root@demo ~]#
步驟二:輸入指令安裝所需套件,這邊的範例是安裝 lynx,
從下面可以看得出來套件都是從 c6-media 中抓到的。
[root@demo ~]# yum --disablerepo=\* --enablerepo=c6-media install lynx Loaded plugins: fastestmirror Trying other mirror. c6-media | 4.0 kB 00:00 ... c6-media/primary_db | 4.4 MB 00:00 ... Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package lynx.x86_64 0:2.8.6-27.el6 will be installed --> Processing Dependency: redhat-indexhtml for package: lynx-2.8.6-27.el6.x86_64 --> Running transaction check ---> Package centos-indexhtml.noarch 0:6-1.el6.centos will be installed --> Finished Dependency Resolution Dependencies Resolved =================================================================================== Package Arch Version Repository Size =================================================================================== Installing: lynx x86_64 2.8.6-27.el6 c6-media 1.3 M Installing for dependencies: centos-indexhtml noarch 6-1.el6.centos c6-media 70 k Transaction Summary =================================================================================== Install 2 Package(s) Total download size: 1.4 M Installed size: 4.8 M Is this ok [y/N]: y Downloading Packages: ----------------------------------------------------------------------------------- Total 11 MB/s | 1.4 MB 00:00Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : centos-indexhtml-6-1.el6.centos.noarch 1/2 Installing : lynx-2.8.6-27.el6.x86_64 2/2 Verifying : lynx-2.8.6-27.el6.x86_64 1/2 Verifying : centos-indexhtml-6-1.el6.centos.noarch 2/2 Installed: lynx.x86_64 0:2.8.6-27.el6 Dependency Installed: centos-indexhtml.noarch 0:6-1.el6.centos Complete! [root@demo ~]#
如果是 CentOS 5 的步驟也都一樣,只要把 c6-media 改成 c5-media即可:
# yum --disablerepo=\* --enablerepo=c5-media [command]
透過上面簡單的步驟,只要修改光碟掛載的路徑,並把 yum 的安裝指令改一下,
就可以直接使用 CentOS 的安裝光碟離線安裝所需套件啦,是不是很簡單呢?
若有下載舊版 rpm 或 iso 的需求,可以參考我先前寫過的文章:
舊版 CentOS 光碟映像檔 ISO、套件下載
若有指令但不知道該下載哪個套件,可以參考這篇:
使用 rpm.find 找指令、套件教學
關鍵字:yum, install, CentOS, 5, 6, CD, DVD, rom, 光碟, 離線, 安裝, 套件, package, repository
參考資料: