2013-12-09

CentOS 新增第三方 yum Repositories

CentOS 新增第三方 yum Repositories


CentOS在套件管理上和Fedora相比

預設的repositories 只有放官方測試過的程式

有些好用的軟體都必須自己去抓source下來編譯安裝

所以我們可以新增一個第三方repositories 去擴充 yum 可用的套件

至於有那些repositories可用,

可參考CentOS 官方 wiki : http://wiki.centos.org/AdditionalResources/Repositories



以下介紹 rpmforge 的安裝方式

1.  先確認系統核心

# uname -i
x86_64


2. 下載對應核心版本 rpm forege

i386 http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
x86_64 http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm     <---- 我的是x86_64
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm


3. 匯入DAG's GPG KEY

# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
4. 驗證下載的rpm來源是否正確

# rpm -K rpmforge-release-0.5.2-2.el5.rf.*.rpm
rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK
5.  安裝 rpmforge

# rpm -ivh rpmforge-release-0.5.2-2.el5.rf.*.rpm
Preparing...                ########################################### [100%]
   1:rpmforge-release       ########################################### [100%]

6. 測試yum reposititores 是否已加入 rpmforge

# yum clean all
隨便下指令安裝個什麼東西來看看是否已加入成功

# yum install htop
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirror01.idc.hinet.net
 * base: mirror01.idc.hinet.net
 * extras: mirror01.idc.hinet.net
 * rpmforge: fr2.rpmfind.net
 * updates: mirror01.idc.hinet.net
addons                                                             |  951 B     00:00
addons/primary                                                     |  204 B     00:00
atrpms                                                             | 3.0 kB     00:00
atrpms/primary_db                                                  | 1.2 MB     00:02
base                                                               | 2.1 kB     00:00
base/primary_db                                                    | 2.2 MB     00:02
extras                                                             | 2.1 kB     00:00
extras/primary_db                                                  | 241 kB     00:00
rpmforge                                                           | 1.1 kB     00:00
rpmforge/primary                                                   | 2.2 MB     00:03
rpmforge                                                                      10480/10480
updates                                                            | 1.9 kB     00:00
updates/primary_db                                                 | 335 kB     00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package htop.x86_64 0:0.9-1.el5.rf set to be updated
--> Finished Dependency Resolution


Dependencies Resolved


==========================================================================================
 Package          Arch               Version                   Repository            Size
==========================================================================================
Installing:
 htop             x86_64             0.9-1.el5.rf              rpmforge              84 k


Transaction Summary
==========================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)


Total download size: 84 k
Is this ok [y/N]:


這樣就完成囉!

如何配置更新套件 YUM 的設定

如何配置更新套件 YUM 的設定


今天把 CentOS 裝了起來 ... 即將開始要亂槍打鳥的學習方式了 XD

參考此篇文章來說,所謂的 YUM 就是 Yellowdog Updater Modified,有一點點像 FreeBSD 裡的 Ports 這東東,簡單來說就是可以輕鬆的來管理軟體的工具。

要使用 YUM 必須做一些設定。預設在 /etc/yum.conf 裡面就可以做設定,不過  yum.conf 也有提到,若沒有在裡面做任何配置,它就會自動去尋找 /etc/yum.repos.d/ 裡面的 CentOS-Base.repo 這個檔案。因此我們要針對此檔案做一些調校。

# cd /etc/yum.repos.d
# cp CentOS-Base.repo CentOS-Base.default
# vi CentOS-Base.repo

直接打入下面這行,並存檔離開 ( 進入 vi 後按 Esc )
:%s/mirror.centos.org\/centos/ftp.cse.yzu.edu.tw\/pub\/CentOS 
:%s/mirror.centos.org\/centos/ftp.cs.pu.edu.tw\/Linux\/CentOS
:%s/mirror.centos.org\/centos/ftp2.tnc.edu.tw\/pub1\/CentOS
另外,我們在安裝一些要用到的一些工具時,或許它並不存在於 CentOS yum 的官方資料庫中。所以我們還要另外定義非官方資料庫文件,讓一些實用的工具也能透過 yum 來安裝。
# vi /etc/yum.repos.d/dag.repo

[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

匯入非官方資料庫的GPG
# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

這樣子就可以了!

yum 指令介紹

yum 指令介紹


YUM - Yellowdog Updater Modified

YUM 官方網站:
http://linux.duke.edu/projects/yum/

yum 指令介紹
---------------------------------------------------------------
更新:yum update
安裝:yum install xxx
移除:yum remove xxx
清除已經安裝過的檔案(/var/cache/yum/):yum clean all
搜尋:yum search xxx
列出所有檔案:yum list
查詢檔案訊息:yum info xxx

群組安裝功能
---------------------------------------------------------------
yum grouplist
yum groupinstall "Web Server"

一些檔案
---------------------------------------------------------------
rpm -qc yum
more /var/log/yum.log

利用 yum 指令更新 CentOS
---------------------------------------------------------------
yum check-update;yum -y update;yum clean all


yum check-update 是找 mirror 上有啥你可以更新的
yum -y update 是開始更新,並在出現尋問的時候直接回答 y
yum clean all 是清除你剛剛更新時下載的 package



CentOS yum的詳細使用方法

yum是什麼
yum = Yellow dog Updater, Modified
主要功能是更方便的添加/刪除/更新RPM包.
它能自動解决包的倚賴性問題.
它能便於管理大量系統的更新問題

yum特點
可以同時配置多個資源庫(Repository)
簡潔的配置文件(/etc/yum.conf
自動解决增加或刪除rpm包時遇到的倚賴性問題
使用方便
保持與RPM數據庫的一致性

yum安裝

CentOS自帶(yum-*.noarch.rpm)
#rpm -ivh yum-*.noarch.rpm

在第一次启用yum之前首先需要導入系統的RPM-GPG-KEY:
#rpm --import /usr/share/doc/centos-release-3(4)/RPM-GPG-KEY-CentOS-3(4)

yum指令
注:當第一次使用yum或yum資源庫有更新時,yum會自動下載所有所需的headers放置於/var/cache/yum目錄下,所需時間可能較長.

rpm包的更新

檢查可更新的rpm包
#yum check-update

更新所有的rpm包
#yum update

更新指定的rpm包,如更新kernel和kernel source
#yum update kernel kernel-source

大規模的版本升級,與yum update不同的是,連舊的淘汰的包也升級
#yum upgrade

rpm包的安裝和刪除

安裝rpm包,如xmms-mp3
#yum install xmms-mp3

刪除rpm包,包括與該包有倚賴性的包
#yum remove licq

注:同時會提示刪除licq-gnome,licq-qt,licq-text
yum暫存(/var/cache/yum/)的相關参數

清除暫存中rpm包文件
#yum clean packages

清除暫存中rpm頭文件
#yum clearn headers

清除暫存中舊的rpm頭文件
#yum clean oldheaders

清除暫存中舊的rpm頭文件和包文件
#yum clearn 或#yum clearn all

注:相當於yum clean packages + yum clean oldheaders

包列表
列出資源庫中所有可以安裝或更新的rpm包
#yum list

列出資源庫中特定的可以安裝或更新以及已經安裝的rpm包
#yum list mozilla#yum list mozilla*

注:可以在rpm包名中使用匹配符,如列出所有以mozilla開頭的rpm包

列出資源庫中所有可以更新的rpm包
#yum list updates

列出已經安裝的所有的rpm包
#yum list installed

列出已經安裝的但是不包含在資源庫中的rpm包
#yum list extras

注:通過其它網站下載安裝的rpm包

rpm包信息顯示(info参數同list)

列出資源庫中所有可以安裝或更新的rpm包的信息
#yum info

列出資源庫中特定的可以安裝或更新以及已經安裝的rpm包的信息
#yum info mozilla#yum info mozilla*

注:可以在rpm包名中使用匹配符,如列出所有以mozilla開頭的rpm包的信息

列出資源庫中所有可以更新的rpm包的信息
#yum info updates

列出已經安裝的所有的rpm包的信息
#yum info installed

列出已經安裝的但是不包含在資源庫中的rpm包的信息
#yum info extras

注:通過其它網站下載安裝的rpm包的信息

搜索rpm包

搜索匹配特定字符的rpm包
#yum search mozilla

注:在rpm包名,包描述等中搜索

搜索有包含特定文件名的rpm包
#yum provides realplay

增加資源庫

例如:增加rpm.livna.org作为資源庫

安裝Livna.org rpms GPG key
#rpm --import http://rpm.livna.org/RPM-LIVNA-GPG-KEY

檢查GPG Key
# rpm -qa gpg-pubkey*

顯示Key信息
#rpm -qi gpg-pubkey-a109b1ec-3f6e28d5

(注:如果要刪除Key,使用#rpm -e gpg-pubkey-a109b1ec-3f6e28d5)

yum常用的命令
# yum install xxx            安裝xxx軟件
# yum info xxx                查看xxx軟件的信息
# yum remove xxx        刪除軟件包
# yum list                        列出軟件包
# yum clean                    清除緩沖和就的包
# yum provides xxx        以xxx为關鍵字搜索包(提供的信息为關鍵字)
# yum search xxx           搜索軟件包(以名字为關鍵字)
# yum groupupdate xxx
# yum grouplist xxx
# yum groupremove xxx

這三個都是一組为單位進行升級 列表和刪除的操作。。比如 "Mysql Database"就是一個組會同時操作相關的所有軟件包;

# yum update                系統升級
# yum list available        列出所有升級源上的包;
# yum list updates         列出所有升級源上的可以更新包;
# yum list installed         列出已經安裝的包;
# yun update kernel       升級內核;

yum常用的源

1) 自動選擇最快的源
由於yum中有的mirror速度是非常慢的,如果yum選擇了這個mirror,這個時候yum就會非常慢,對此,可以下載fastestmirror插件,它會自動選擇最快的mirror:

#yum install yum-fastestmirror
配置文件:(一般不用動)/etc/yum/pluginconf.d/fastestmirror.conf
你的yum鏡像的速度測試記錄文件:/var/cache/yum/timedhosts.txt

(2)使用圖形界面的yum
如果覺得命令行的yum不方便,那麼可以使用圖形化的yumex,這個看起來更方便,因为可以自由地選擇軟件倉庫:

#yum install yumex
然後在系統工具中就可以看到yum extender了。實際上系統自帶的“添加/刪除程序“也可以實現圖形化的軟件安裝,但有些yumex的功能它沒有。