這裡介紹如何讓 Red Hat 系列的 Linux(如 RHEL、CentOS 與 Scientific Linux 等)透過 EPEL Repo 來安裝一些官方沒有收錄的軟體。

EPEL(Extra Packages for Enterprise Linux)是一個由 Fedora Special Interest Group 社群所維護的套件庫,其主要目的是提供各種企業級的 Linux 一些額外的高品質套件,這個套件庫可用於 Red Hat Enterprise Linux(RHEL)、CentOS 與 Scientific Linux(SL)等。


若想要使用 EPEL,可以直接下載它的 rpm 套件安裝。安裝之前,首先要確認自己的 Linux 版本是哪一版,目前主流的版本有兩種,分別是 EL5 與 EL6,如果是 EL6 的 Linux 版本就下載 EL6 的套件:

wget http://mirror01.idc.hinet.net/EPEL/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm

若是比較舊的 EL5,則使用

wget http://mirror01.idc.hinet.net/EPEL/5/i386/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm

只是版本不同而已,指令都是一樣的。

除了 rpm 之外,亦可使用 yum 安裝:

yum install epel-release-6-8.noarch.rpm

若要列出所有的套件庫(repository),可以使用

yum repolist

或是

yum -v repolist | less

若要列出所有 EPEL 中的套件,可以使用

yum --disablerepo="*" --enablerepo="epel" list available

若要搜尋 EPEL 中的套件,可以使用

yum --disablerepo="*" --enablerepo="epel" search package_name

其中 package_name 是要搜尋的套件名稱。例如若要搜尋 nginx 套件,則使用

yum --disablerepo="*" --enablerepo="epel" search nginx

若要安裝 EPEL 中的套件,則可以使用

yum --disablerepo="*" --enablerepo="epel" install nginx

上面這些 yum 指令都加上 --disablerepo="*"--enablerepo="epel" 這兩個參數,意思是停用所有其他的套件庫,只使用 EPEL,如果你不在意系統使用哪一個套件庫,你也可以直接使用一般的方式來安裝軟體,例如:

yum install nginx

參考資料:nixCraft