﻿# 如何使用 RepoForge 擴充 CentOS Linux 套件不足的情況

我個人非常喜歡 Ubuntu Server 作業系統，因為好用的套件非常多，且[網路資源豐富](https://help.ubuntu.com/community)、[文件整齊漂亮](https://help.ubuntu.com/12.04/serverguide/)，所以用了好多年愛不釋手。但偶爾還是會遇到客戶使用 [CentOS](http://www.centos.org) 的情況，我已經很多年沒用 RedHat 子孫的 Linux 了 (RedHat, Fedora, CentOS, …)，所以不太知道怎樣擴充套件，今天向專家 ( [Weithenn](http://www.weithenn.org) ) 請益後發現原來有 [RPMForge](http://repoforge.org/) 可用 (此軟體專案最近正名為 [RepoForge](http://repoforge.org/) 專案)，設定好之後真的有很多好用的套件可用耶。

**第一步：瞭解目前安裝的 CentOS 版本與 CPU 架構**

先用以下指令找出目前作業系統版本

```
cat /etc/redhat-release
```

再透過 uname 找出 CPU 架構

```
uname -i
```

以下是執行範例：

```
[root@srv01 ~]# cat /etc/redhat-releaseCentOS release 6.2 (Final)[root@srv01 ~]# uname -ix86_64
```

**第二步：從 [RepoForge User Guide](http://repoforge.org/use/) 找出合適的套件與版本**

進入 [RepoForge User Guide](http://repoforge.org/use/) 網頁之後，你會看到有好幾個下載連結，以下是網頁畫面：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/31cb46f8d482ca4e5d5b-image_1618.png)

從這幾個下載連結的網址來看，你會發現這些檔案都是 rpm 安裝檔：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/576d74f4a6fc70cc0c19-image_1619.png)

首先，畫面上顯示的 EL 3 , EL 4, EL 5, EL 6 所指的是 Enterprise Linux 的縮寫，如果你安裝的 CentOS 版本是 6.2 的話，那你就應該找 EL 6 的下載版本。

**註**：這個縮寫我原本也看不懂找了好些資料才知道是這個意思，請參考 [EPEL – FedoraProject](http://fedoraproject.org/wiki/EPEL)。

以 EL 6 為例，他有兩個下載連結，一個是 i686 另一個是 x86\_64，這可以從第一步的 **uname -i** 所回應的訊息來判斷。

以上述為例，我電腦的 CPU 架構是 **x86\_64**，因此你就會知道要下載 **EL 6** 這一行的 **x86\_64** 這個檔案，在此我們僅複製該檔案連結就好，先可以不用下載。

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/39858dda343feb10bd94-image_1620.png)

**第三步：使用 rpm –Uvh 升級內建的 rpmforge-release 套件**

指令示範如下，其灰色的字就是你在第二步最後複製下來的網址：

```
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
```

接著 rpm 就會自動下載、安裝、升級，接下來你就可以安裝各式各樣好用的套件了，例如我[曾經介紹過的 denyhosts 套件](/post/2008/05/17/Protect-your-server-with-DenyHosts.aspx)保護你的 Linux 主機。

* * *

最後介紹幾個好用的系統小工具 (套件)，可以幫助你更有效率的使用 CentOS 作業系統喔：

-   調整網路設定 ( 文字模式下的 UI 介面 )

-   yum install system-config-network-tui

-   調整防火牆設定 ( 文字模式下的 UI 介面 )

-   yum install system-config-firewall-tui

-   保護你的 Linux 被人家暴力攻擊

-   yum install denyhosts

-   手動校時軟體

-   yum install rdate

-   監視使用 pipe 執行指令時的執行進度 ( Monitor the progress of data through a pipe )

-   yum install pv

-   能變身最高權限管理者的 sudo 套件 (沒事不要登入成 root 嘿)

-   yum install sudo

最後，補充幾個我太久沒用的 yum 與 rpm 命令：

-   搜尋套件

-   yum search *KEYWORD*

-   安裝套件

-   yum install *PACKAGENAME*

-   移除套件

-   yum remove *PACKAGENAME*

-   列出所有目前已安裝的套件

-   yum list

-   更新現有套件

-   yum -y update

-   查詢特定套件的詳細說明

-   rpm -qi *PACKAGENAME*

-   列出特定套件到底包含哪些檔案以及被安裝到哪些目錄下

-   rpm -ql *PACKAGENAME*

**相關連結**

-   [EPEL – FedoraProject](http://fedoraproject.org/wiki/EPEL) ( Extra Packages for Enterprise Linux )
-   [RepoForge Project](http://repoforge.org/) - RepoForge is the new name of the RPMForge project
-   [邁向\_RHCE\_之路\_(Day23)\_-\_擴充\_YUM\_套件管理工具\_RPM\_數量](https://www.weithenn.org/2011/12/rhce-day23-yum-rpm.html)
-   [www.centos.org - The Community ENTerprise Operating System](<http://www.centos.org - The Community ENTerprise Operating System>)
-   [HowTos - CentOS Wiki](https://docs.centos.org/centos-quick-docs/) ( 非常豐富且易懂的文件 )
