1. 程式人生 > >yum 源倉庫的安裝及配置

yum 源倉庫的安裝及配置

enabled gpgcheck epo 新的 還需要 package url路徑 如果 www

一.簡介
yum的主要功能是更方便的添加/刪除/更新RPM包,自動解決包的依賴性問題,便於管理大量系統的更新問題。
yum可以同時配置多個資源庫,簡介的配置文件,保持與rpm數據庫的一致性。
二,yum 的安裝
默認已經安裝,這裏簡要提一下。
基礎安裝包包括: yum yum-fastestmirror yum-metadata-parser
三.yum的配置
yum的配置文件分為兩部分:main和repository

  1. main部分定義了全局配置選項,整個yum配置文件應該只有一個main。常位於/etc/yum.conf中。
    yum.conf 文件一般位於/etc目錄下,一般其中只包含main部分的配置選項。
    cat /etc/yum.conf
    (1) cachedir=/var/cache/yum/x86_64/6/base/packages【yum緩存的目錄,yum在此存儲下載rpm包和數據庫,】
    (2) keepcache=0【安裝完成後是否保留軟件包,0為不保留,1為保留】
    (3) debuglevel=2 【信息輸出等級,範圍為0-10,缺省為2】
    (4) logfile=/var/log/yum.log 【yum日誌文件位置,可以查詢過去所作的更新】
    (5) pkgpolicy=newest/last【包策略。一共有兩個選項,newest和last,這個作用是如果你設置了多個repository,而同一軟件在不同的repository中同時存在,yum應該安裝哪一個,如果是newest,則yum會安裝最新的那個版本,如果是last,則yum會將服務器id以字母表排序,並選擇最後哪個服務器上的軟件安裝。一般都選newest】
    (6) distroverpkg=redhat-release【指定一個軟件包,yum會根據這個包判斷你的發行版本,默認是redhat-release,也可以是安裝的任何針對自己發行版的rpm包】
    (7) tolerant=1 【表示yum是否容忍命令行發生與軟件包有關的錯誤,比如你要安裝1 2 3三個包,而其中3此前已經安裝了,設為1,則yum不會出現錯誤信息,默認為0】
    (8) exctarch=1【設置為1,則yum只會安裝和系統架構匹配的軟件包。】
    (9) retries=6 【網絡鏈接發生錯誤後的重試次數,如果設為0則會無限重試,默認為6】
    (10) obsoletes=1【這是一個update的參數,允許更新陳舊的rpm包】
    (11) plugins=1 【是否啟用插件,默認為1是允許,0表示不允許。】
  2. repository部分定義了每個源/服務器的具體配置,可以有一個或者多個。常位於/etc/yum.conf
    (1) 配置本地yum源
    a. 掛載系統安裝光盤 mount /dev/cdrom /mnt/cdrom
    b. 配置本地yum源 cd /etc/yum.repos.d
    ls 會看到四個repo文件
    CentOS-Base.repo 是yum網絡源的配置文件
    CentOS-Media.repo 是yum本地源的配置文件。
    修改CentOS-Media.repo是yum本地源的配置文件
    在baseurl中修改第二個路徑為/mnt/cdrom(即光盤掛載點)
    將enabled=0改為1
    c. 禁用默認的yum網絡源
    將yum網絡源配置文件改名為CentOS-Base.repo.bak,否則會先在網絡源中尋找適合的包,改名之後直接從本地源讀取。
    d. 執行yum命令
    yum install postgersql
    e.關於repo文件的格式
    所有repository的服務器設置都應該遵循如下格式:
    [serverid]
    name=Some name for this server
    baseurl=url://path/to/repository
    serverid 【用於區別各個不同的repository必須有一個獨一無二的名稱】
    name【是對repository的描述,】
    baseurl【是服務器設置中最重要的部分,只有設置正確,才能從上面獲取軟件,】
    其中url支持的協議有http:// ftp:// file:// 三種。 baseurl後可以跟多個url,你可以自己改為速度比較快的鏡像站,但baseurl只能有一個。
    failovermethode 有兩個選項。roundrobin (隨機選擇url路徑)
    priority(按次序選擇)
  3. 配置國內yum源
    (1)系統給默認的yum源速度往往不盡如人意,為了達到快速安裝的目的
    修改/etc/yum.repos.d/CentOS-Base.repo 【vim /etc/yum.repos.d/CentOS-Base.repos.d(修改前都做好備份) 只修改其中{baseurl} {addons}{extras}{centosplus}這幾項中的baseurl和gpgkey為相應源地址即可。修改完成後,清空yum緩存,並重建yum緩存(yum clean all &&yum clean &&yum cl)】
    【國內更新源
    上海交大 http://ftp.sjtu.edu.cn/centos
    中國科技大學 http://centos.ustc.edu.cn
    sohu的開源鏡像服務器 http://mirrors.sohu.com
    網易的開源服務器鏡像:http://mirrors.163.com/centos
    (2)導入GPG KEY
    yum可以使用gpg對包進行校驗,確保下載包的完整性,所以我們先要到各個repository站點找到gpgkey,一般都會放在首頁的醒目位置,把它們下載下來,然後用rpm –import 命令將key導入。
  4. 集群環境中配置yum源倉庫,
    (1) ftp發布【yum服務器端配置】
    a. 準備軟件倉庫目錄
    mkdir /var/ftp/rhel6
    cp -rf /media/cdrom/ /var/ftp/rhel6
    對於用戶搜集的非RHEL6光盤自帶的更多其他的軟件包(必須包括存在依賴關系的所有安裝文件),除了應準備相應的目錄之外,還需要手動創建repodata數據文件,這就要用到createrepo工具(需要從RHEL6光盤中安裝)
    cd /var/ftp/other
    createrepo -g /media/cdrom/repodata/repomd.xml ./
    b. 安裝並啟用vsftpd服務
    rpm -ivh /media/cdrom/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
    chkconfig vsftpd on
    service vsftpd start
    c. 配置軟件倉庫位置(客戶機端配置)
    vim /etc/yum.repos.d/rhel6.repo
    [base]
    name=
    baseurl=ftp://IP地址/rhel6
    enabled=1 【啟用此軟件倉庫】
    gpgcheck=1【驗證軟件包簽名】
    gpkey=file://etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release【GPG公鑰文件位置】
    [other]
    name=
    baseurl=ftp://IP地址/other
    enable=1
    gpgcheck=0(不驗證軟件包簽名)
    (2) http發布
    a. 安裝並啟用httpd服務 service httpd start
    chkconfig httpd on
    b. mkdir -p /var/www/html/centos
    cp -rf /media/cdrom/
    /centos
    mkdir -p /var/www/html/others
    cd /var/www/html/others
    createrepo -g /media/cdrom/repodata/repomd.xml ./
    c. 配置軟件倉庫的位置(客戶機端配置)
    vim /etc/yum.repos.d/rhel6.repo
    [base]
    name=centos
    baseurl=http://IP地址/centos
    enabled=1
    gpgcheck=1
    gpkey=file:(同上)
    [other]
    name=others
    baseurl=http://IP地址/others
    enabled=1
    gpgcheck=0

四.使用yum工具管理軟件包

  1. yum list 查詢軟件包列表 yum list available 列出可用的尚未安裝的軟件包
    yum list updates 表示只列出可以升級版本的軟件包
    yum list install 表示只列出系統中已經安裝的軟件包
  2. yum info 查詢軟件包描述信息
  3. yum search all httpd 查詢指定的軟件包
    4.安裝、升級、卸載軟件包
    yum -y install httpd(安裝)
    yum -y remove httpd (卸載並自動解決依賴關系)

yum 源倉庫的安裝及配置