歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> RedHat 5.3配置YUM:從centos 5源與光盤源更新軟件

RedHat 5.3配置YUM:從centos 5源與光盤源更新軟件

日期:2017/3/3 15:59:30   编辑:關於Linux

YUM顧名思義,Yellow Dog Updater, Modified. Yum為基於RPM系統做了相同的工作。它提供了一個簡單的命令,可用於在首先安裝和更新任何其他必要的軟件包以滿足所需的軟件包依賴關系之後,自動化安裝或更新一個軟件包,類似Debian下apt-get的工具.

YUM的特點:

可以同時配置多個資源庫(Repository)

簡潔的配置文件(/etc/yum.conf

自動解決增加或刪除rpm包時遇到的倚賴性問題

使用方便

保持與RPM數據庫的一致性

RHEL AS5可以通過Yum升級系統的功能,但默認rhel-debuginfo.repo 的設置是從RedHat的Yum源來升級系統,如果您沒有購買Redhat的服務,Redhat5後面版本升級是收費,需要key才能升級,那麼使用Yum是無法升級的。幸運的是,由於centos是免費的企業版本,可以借用centos yum源更新RHEL AS5系統.

配置YUM 從centos5源更新軟件

[root@clinet ~]# rpm --import http://ftp.twaren.net/Linux/CentOS/RPM-GPG-KEY-CentOS-5

安裝那個ftp.twaren.net的GPG,也可增加其他資源庫,自己選擇一個離自己地理位置近點

[root@clinet ~]# rpm -qa gpg-pubkey*

檢查GPG Key

gpg-pubkey-e8562897-459f07a4

如果要刪除Key,使用以下命令:

[root@clinet ~]# rpm -e gpg-pubkey-e8562897-459f07a4

[root@clinet ~]# vi /etc/yum.repos.d/rhel-debuginfo.repo

[rhel-debuginfo]

name=Red Hat Enterprise Linux $releasever - $basearch - Debug

baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/

baseurl是你的YUM源地址

enabled=0

是否啟用這個倉庫,1為起用,0為禁用

gpgcheck=1

設置gpgcheck=1會讓yum檢查每個下載的RPM的GnuPG簽名。這麼做是因為你需要適當的GnuPG key注冊到您的RPM數據庫。可以防止被欺騙,如:非法入侵發行版網站,木馬導入軟件包,使不知情用戶下載

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

GPGKEY 的存放地址

以上默認有的,復制添加以下更新點插入到rhel-debuginfo.repo文本裡後面

[base]

name=Red Hat Enterprise Linux $releasever -Base

baseurl=http://ftp.twaren.net/Linux/CentOS/5/os/$basearch/

gpgcheck=1

[update]

name=Red Hat Enterprise Linux $releasever -Updates

baseurl=http://ftp.twaren.net/Linux/CentOS/5/updates/$basearch/

gpgcheck=1

[extras]

name=Red Hat Enterprise Linux $releasever -Extras

baseurl=http://ftp.twaren.net/Linux/CentOS/5/extras/$basearch/

gpgcheck=1

[addons]

name=Red Hat Enterprise Linux $releasever -Addons

baseurl=http://ftp.twaren.net/Linux/CentOS/5/addons/$basearch/

gpgcheck=1

[root@clinet ~]#yum clean all 清除緩存及舊的包

[root@clinet ~]# yum install httpd 測試是否能更新軟件

URL:http://www.bianceng.cn/OS/Linux/201410/45758.htm

注意:當第一次使用yum或yum資源庫有更新時,yum會自動下載所有所需的headers放置於/var/cache/yum目錄下,所需時間可能較長.請耐心等待,所以後面會顯示一連串數據.

Loaded plugins: rhnplugin, security

This system is not registered with RHN.

RHN support will be disabled.

addons | 951 B 00:00

primary.xml.gz | 201 B 00:00

base | 2.1 kB 00:00

primary.sqlite.bz2 | 1.6 MB 00:34

update | 1.9 kB 00:00

primary.sqlite.bz2 | 463 kB 00:09

extras | 1.1 kB 00:00

primary.xml.gz | 107 kB 00:01

extras 325/325

Setting up Install Process

Parsing package install arguments

Resolving Dependencies

--> Running transaction check

---> Package httpd.i386 0:2.2.3-31.el5.centos.2 set to be updated

filelists.xml.gz | 194 B 00:00

filelists.sqlite.bz2 | 2.3 MB 00:49

filelists.sqlite.bz2 | 3.3 MB 01:13

filelists.xml.gz | 151 kB 00:02

--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================

Package Arch Version Repository Size

===========================================================================================

Installing:

httpd i386 2.2.3-31.el5.centos.2 update 1.2 M

Transaction Summary

===========================================================================================

Install 1 Package(s)

Update 0 Package(s)

Remove 0 Package(s)

Total download size: 1.2 M

Is this ok [y/N]: y

Downloading Packages:

httpd-2.2.3-31.el5.centos.2.i386.rpm | 1.2 MB 00:26

Running rpm_check_debug

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

Installing : httpd [1/1]

Installed: httpd.i386 0:2.2.3-31.el5.centos.2

Complete!

URL:http://www.bianceng.cn/OS/Linux/201410/45758.htm

說明可以用yum安裝軟件了

[root@clinet ~]#

配置YUM 從本地光盤更新軟件

[root@clinet ~]# mkdir /mnt/cdrom

創建掛載點

[root@clinet ~]# mount /dev/cdrom /mnt/cdrom

掛載光盤

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@clinet /]# ll /etc/yum.repos.d/

total 4

-rw-r--r-- 1 root root 781 Feb 24 03:19 rhel-debuginfo.repo

[root@clinet /]# cd /etc/yum.repos.d/

[root@clinet yum.repos.d]# cp rhel-debuginfo.repo rhel-debuginfo.repo.bak

拷貝為rhel-debuginfo.repo.bak做備份

[root@clinet yum.repos.d]# ll

total 8

-rw-r--r-- 1 root root 781 Feb 24 03:19 rhel-debuginfo.repo

-rw-r--r-- 1 root root 781 Feb 25 00:34 rhel-debuginfo.repo.bak

[root@clinet yum.repos.d]# vi rhel-debuginfo.repo

編輯rhel-debuginfo.repo,插入以下代碼

[rhel-debuginfo]

name=Red Hat Enterprise Linux $releasever - $basearch - Debug

baseurl=file:///mnt/cdrom/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

其實上面這樣設置就已經ok,但是要更新xen.rpm,就更新不到,因為它在/mnt/cdrom/VT下面,為了比較完善,我們修改參數為以下配置

[Cluster]

name=Red Hat Enterprise Linux $releasever - $basearch - Cluster

baseurl= file:///mnt/cdrom/Cluster

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ClusterStorage]

name=Red Hat Enterprise Linux $releasever - $basearch - ClusterStorage

baseurl= file:///mnt/cdrom/ClusterStorage

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[Server]

name=Red Hat Enterprise Linux $releasever - $basearch - Server

baseurl= file:///mnt/cdrom/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[VT]

name=Red Hat Enterprise Linux $releasever - $basearch - VT

baseurl= file:///mnt/cdrom/VT

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[root@clinet yum.repos.d]# yum clean all

URL:http://www.bianceng.cn/OS/Linux/201410/45758.htm

清除緩存及舊的包

Loaded plugins: rhnplugin, security

Cleaning up Everything

[root@clinet yum.repos.d]# yum install httpd

測試是否能更新軟件

Loaded plugins: rhnplugin, security

This system is not registered with RHN.

RHN support will be disabled.

rhel-debuginfo | 1.3 kB 00:00

primary.xml.gz | 716 kB 00:00

rhel-debuginfo 2255/2255

Setting up Install Process

Parsing package install arguments

Resolving Dependencies

--> Running transaction check

---> Package httpd.i386 0:2.2.3-22.el5 set to be updated

filelists.xml.gz | 2.3 MB 00:00

--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================================

Package Arch Version Repository Size

==================================================================================================================================

Installing:

httpd i386 2.2.3-22.el5 rhel-debuginfo 1.2 M

Transaction Summary

==================================================================================================================================

Install 1 Package(s)

Update 0 Package(s)

Remove 0 Package(s)

Total download size: 1.2 M

Is this ok [y/N]: y

Downloading Packages:

Running rpm_check_debug

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

Installing : httpd [1/1]

Installed: httpd.i386 0:2.2.3-22.el5

Complete!

說明測試成功

以下是拷貝了KABALA的博文,覺得挺詳細,就拿出來供大家參考,博文地址:

http://211.89.225.4:82/gate/big5/blog.cnr.cn/?uid-18-action-viewspace-itemid-8099

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

URL:http://www.bianceng.cn/OS/Linux/201410/45758.htm

注:同時會提示刪除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的功能它沒有。

Copyright © Linux教程網 All Rights Reserved