中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CentOS中yum源怎么配置與使用

發布時間:2022-05-07 15:44:20 來源:億速云 閱讀:260 作者:iii 欄目:大數據

今天小編給大家分享一下CentOS中yum源怎么配置與使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

一、yum 簡介

yum,是yellow dog updater, modified 的簡稱,是杜克大學為了提高rpm 軟件包安裝性而開發的一種軟件包管理器。起初是由yellow dog 這一發行版的開發者terra soft 研發,用python 寫成,那時還叫做yup(yellow dog updater),后經杜克大學的linux@duke 開發團隊進行改進,遂有此名。yum 的宗旨是自動化地升級,安裝/移除rpm 包,收集rpm 包的相關信息,檢查依賴性并自動提示用戶解決。yum 的關鍵之處是要有可靠的repository,顧名思義,這是軟件的倉庫,它可以是http 或ftp 站點,也可以是本地軟件池,但必須包含rpm 的header,header 包括了rpm 包的各種信息,包括描述,功能,提供的文件,依賴性等。正是收集了這些header 并加以分析,才能自動化地完成余下的任務。

yum 的理念是使用一個中心倉庫(repository)管理一部分甚至一個distribution 的應用程序相互關系,根據計算出來的軟件依賴關系進行相關的升級、安裝、刪除等等操作,減少了linux 用戶一直頭痛的dependencies 的問題。這一點上,yum 和apt 相同。apt 原為debian 的deb 類型軟件管理所使用,但是現在也能用到redhat 門下的rpm 了。

yum 主要功能是更方便的添加/刪除/更新rpm 包,自動解決包的倚賴性問題,便于管理大量系統的更新問題。

yum 可以同時配置多個資源庫(repository),簡潔的配置文件(/etc/yum.conf),自動解決增加或刪除rpm 包時遇到的依賴性問題,保持與rpm 數據庫的一致性。

二、yum 安裝

centos 默認已經安裝了yum,不需要另外安裝,這里為了實驗目的,先將yum 卸載再重新安裝。

1、查看系統默認安裝的yum

# rpm -qa|grep yum

CentOS中yum源怎么配置與使用

2、卸載yum

# rpm -e yum-fastestmirror-1.1.16-14.el5.centos.1 yum-metadata-parser-1.1.2-3.el5.centos yum-3.2.22-33.el5.centos

CentOS中yum源怎么配置與使用

3、重新安裝yum

這里可以通過wget 從網上下載相關包安裝,也可以掛載系統安裝光盤進行安裝,這里選擇掛載系統安裝光盤進行安裝。

# mount /dev/cdrom /mnt/cdrom/

# rpm -ivh yum-3.2.22-33.el5.centos.noarch.rpm yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm

# yum -v

yum 的基礎安裝包包括:

  • yum  //rpm installer/updater

  • yum-fastestmirror  //yum plugin which chooses fastest repository from a mirrorlist

  • yum-metadata-parser  //a fast metadata parser for yum

其他安裝包根據自己需要安裝。

CentOS中yum源怎么配置與使用

三、yum 配置

yum 的配置文件分為兩部分:main 和repository

  • main 部分定義了全局配置選項,整個yum 配置文件應該只有一個main。常位于/etc/yum.conf 中。

  • repository 部分定義了每個源/服務器的具體配置,可以有一到多個。常位于/etc/yum.repo.d 目錄下的各文件中。

yum.conf 文件一般位于/etc目錄下,一般其中只包含main部分的配置選項。

# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum
  //yum 緩存的目錄,yum 在此存儲下載的rpm 包和數據庫,默認設置為/var/cache/yum
keepcache=0
  //安裝完成后是否保留軟件包,0為不保留(默認為0),1為保留
debuglevel=2
  //debug 信息輸出等級,范圍為0-10,缺省為2
logfile=/var/log/yum.log
  //yum 日志文件位置。用戶可以到/var/log/yum.log 文件去查詢過去所做的更新。
pkgpolicy=newest
  //包的策略。一共有兩個選項,newest 和last,這個作用是如果你設置了多個repository,而同一軟件在不同的repository 中同時存在,yum 應該安裝哪一個,如果是newest,則yum 會安裝最新的那個版本。如果是last,則yum 會將服務器id 以字母表排序,并選擇最后的那個服務器上的軟件安裝。一般都是選newest。
distroverpkg=redhat-release
  //指定一個軟件包,yum 會根據這個包判斷你的發行版本,默認是redhat-release,也可以是安裝的任何針對自己發行版的rpm 包。
tolerant=1
  //有1和0兩個選項,表示yum 是否容忍命令行發生與軟件包有關的錯誤,比如你要安裝1,2,3三個包,而其中3此前已經安裝了,如果你設為1,則yum 不會出現錯誤信息。默認是0。
exactarch=1
  //有1和0兩個選項,設置為1,則yum 只會安裝和系統架構匹配的軟件包,例如,yum 不會將i686的軟件包安裝在適合i386的系統中。默認為1。
retries=6
  //網絡連接發生錯誤后的重試次數,如果設為0,則會無限重試。默認值為6.
obsoletes=1
  //這是一個update 的參數,具體請參閱yum(8),簡單的說就是相當于upgrade,允許更新陳舊的rpm包。
plugins=1
  //是否啟用插件,默認1為允許,0表示不允許。我們一般會用yum-fastestmirror這個插件。
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum

# note: yum-rhn-plugin doesn't honor this.
metadata_expire=1h

installonly_limit = 5

# put your repos here or in separate files named file.repo
# in /etc/yum.repos.d

除了上述之外,還有一些可以添加的選項,如:

exclude=selinux*  // 排除某些軟件在升級名單之外,可以用通配符,列表中各個項目要用空格隔開,這個對于安裝了諸如美化包,中文補丁的朋友特別有用。

gpgcheck=1  // 有1和0兩個選擇,分別代表是否是否進行gpg(gnu private guard) 校驗,以確定rpm 包的來源是有效和安全的。這個選項如果設置在[main]部分,則對每個repository 都有效。默認值為0。

四、配置本地yum源

1、掛載系統安裝光盤

# mount /dev/cdrom /mnt/cdrom/

2、配置本地yum源

# cd /etc/yum.repos.d/

# ls

會看到四個repo 文件

CentOS中yum源怎么配置與使用

centos-base.repo 是yum 網絡源的配置文件

centos-media.repo 是yum 本地源的配置文件

修改centos-media.repo

# cat centos-media.repo
# centos-media.repo
#
# this repo is used to mount the default locations for a cdrom / dvd on
# centos-5. 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=c5-media [command]
# 
# or for only the media repo, do this:
#
# yum --disablerepo=\* --enablerepo=c5-media [command]
 
[c5-media]
name=centos-$releasever - media
baseurl=file:///media/centos/
  file:///mnt/cdrom/
  file:///media/cdrecorder/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-centos-5

在baseurl 中修改第2個路徑為/mnt/cdrom(即為光盤掛載點)

將enabled=0改為1

3、禁用默認的yum 網絡源

將yum 網絡源配置文件改名為centos-base.repo.bak,否則會先在網絡源中尋找適合的包,改名之后直接從本地源讀取。

4、執行yum 命令

# yum install postgresql

CentOS中yum源怎么配置與使用

CentOS中yum源怎么配置與使用

關于repo 文件的格式

所有repository 服務器設置都應該遵循如下格式:

[serverid]
name=some name for this server
baseurl=url://path/to/repository/

  • serverid 是用于區別各個不同的repository,必須有一個獨一無二的名稱;

  • name 是對repository 的描述,支持像$releasever $basearch這樣的變量;

  • baseurl 是服務器設置中最重要的部分,只有設置正確,才能從上面獲取軟件。它的格式是:

baseurl=url://server1/path/to/repository/
     url://server2/path/to/repository/
     url://server3/path/to/repository/

其中url 支持的協議有 http:// ftp:// file:// 三種。baseurl 后可以跟多個url,你可以自己改為速度比較快的鏡像站,但baseurl 只能有一個,也就是說不能像如下格式:

baseurl=url://server1/path/to/repository/
baseurl=url://server2/path/to/repository/
baseurl=url://server3/path/to/repository/

其中url 指向的目錄必須是這個repository header 目錄的上一級,它也支持$releasever $basearch 這樣的變量。
url 之后可以加上多個選項,如gpgcheck、exclude、failovermethod 等,比如:

[updates-released]
name=fedora core $releasever - $basearch - released updates
baseurl=http://download.atrpms.net/mirrors/fedoracore/updates/$releasever/$basearch
     http://redhat.linux.ee/pub/fedora/linux/core/updates/$releasever/$basearch
     http://fr2.rpmfind.net/linux/fedora/core/updates/$releasever/$basearch
gpgcheck=1
exclude=gaim
failovermethod=priority

其中gpgcheck,exclude 的含義和[main] 部分相同,但只對此服務器起作用,failovermethode 有兩個選項roundrobin 和priority,意思分別是有多個url可供選擇時,yum 選擇的次序,roundrobin 是隨機選擇,如果連接失敗則使用下一個,依次循環,priority 則根據url 的次序從第一個開始。如果不指明,默認是roundrobin。

五、配置國內yum源

系統默認的yum 源速度往往不盡人意,為了達到快速安裝的目的,在這里修改yum源為國內源。

上海交通大學yum源

a. 修改/etc/yum.repos.d/centos-base.repo為:

# centos-base.repo
#
# the mirror system uses the connecting ip address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. you should use this for centos updates
# unless you are manually picking other mirrors.
#
# if the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#

[base]
name=centos-$releasever - base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://ftp.sjtu.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-centos-5

#released updates 
[updates]
name=centos-$releasever - updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://ftp.sjtu.edu.cn/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-centos-5

#additional packages that may be useful
[extras]
name=centos-$releasever - extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://ftp.sjtu.edu.cn/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-centos-5

#additional packages that extend functionality of existing packages
[centosplus]
name=centos-$releasever - plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
baseurl=http://ftp.sjtu.edu.cn/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-centos-5

#contrib - packages by centos users
[contrib]
name=centos-$releasever - contrib
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
baseurl=http://ftp.sjtu.edu.cn/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-centos-5

關于變量

  • $releasever:代表發行版的版本,從[main]部分的distroverpkg獲取,如果沒有,則根據redhat-release包進行判斷。

  • $arch:cpu體系,如i686,athlon等

  • $basearch:cpu的基本體系組,如i686和athlon同屬i386,alpha和alphaev6同屬alpha。

b. 導入gpg key

yum 可以使用gpg 對包進行校驗,確保下載包的完整性,所以我們先要到各個repository 站點找到gpg key,一般都會放在首頁的醒目位置,一些名字諸如rpm-gpg-key-centos-5 之類的純文本文件,把它們下載下來,然后用rpm --import rpm-gpg-key-centos-5 命令將key 導入。

c. 執行yum 命令

CentOS中yum源怎么配置與使用

六、使用第三方軟件庫

centos/rhel默認的yum軟件倉庫非常有限,僅僅限于發行版本那幾張盤里面的常規包和一些軟件包的更新,利用rpmforge,可以增加非常多的第三方rpm軟件包。rpmforge庫現在已經擁有超過10000種的centos的軟件包,被centos社區認為是最安全也是最穩定的一個第三方軟件庫。

1、安裝yum-priorities插件

這個插件是用來設置yum在調用軟件源時的順序的。因為官方提供的軟件源,都是比較穩定和被推薦使用的。因此,官方源的順序要高于第三方源的順序。如何保證這個順序,就需要安裝yum-priorities這插件了。

# yum -y install yum-priorities

 CentOS中yum源怎么配置與使用

2、安裝完yum-priorities插件后需要設置/etc/yum.repos.d/ 目錄下的.repo相關文件(如centos-base.repo),在這些文件中插入順序指令:priority=n (n為1到99的正整數,數值越小越優先)

一般配置[base], [addons], [updates], [extras] 的priority=1,[centosplus], [contrib] 的priority=2,其他第三的軟件源為:priority=n (推薦n>10)

以centos-base.repo 為例:

[base]
name=centos-$releasever - base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://ftp.sjtu.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-centos-5
priority=1

3、下載與安裝相應rpmforge的rpm文件包

# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm

4、安裝dag的pgp key

# rpm --import http://apt.sw.be/rpm-gpg-key.dag.txt

5、驗證rpmforge的rpm文件包

# rpm -k rpmforge-release-0.5.2-2.el5.rf.*.rpm

6、安裝rpmforge的rpm文件包

# rpm -i rpmforge-release-0.5.2-2.el5.rf.i386.rpm

CentOS中yum源怎么配置與使用

7、設置/etc/yum.repos.d/rpmforge.repo文件中源的級別

[root@ts-dev yum.repos.d]# cat rpmforge.repo
### name: rpmforge rpm repository for rhel 5 - dag
### url: http://rpmforge.net/
[rpmforge]
name = rhel $releasever - rpmforge.net - dag
baseurl = http://apt.sw.be/redhat/el5/en/$basearch/rpmforge
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/rpm-gpg-key-rpmforge-dag
gpgcheck = 1
priority=12

8、測試安裝

# yum install htop

CentOS中yum源怎么配置與使用

以上就是“CentOS中yum源怎么配置與使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳朔县| 乌苏市| 清苑县| 黄浦区| 临澧县| 郓城县| 朝阳县| 云南省| 闸北区| 石阡县| 太仆寺旗| 巴塘县| 东台市| 理塘县| 宁晋县| 冷水江市| 高碑店市| 光泽县| 永兴县| 阳山县| 英德市| 新邵县| 泰和县| 东阳市| 讷河市| 乐清市| 固原市| 嘉峪关市| 申扎县| 石门县| 龙井市| 衡东县| 泊头市| 鹿邑县| 东宁县| 乐山市| 莱芜市| 罗平县| 金华市| 防城港市| 丰镇市|