Yum

   yum在線安裝軟件,快捷方便解決依賴問題。linux


yum的命令形式通常是以下:yum  [options]  [command] [package ...]

程序員

1、列舉包文件web

 

yum list            列出資源庫中全部已經安裝、能夠安裝或更新的rpm包
yum list perl        列出資源庫中特定的能夠安裝或更新以及已經安裝的rpm包 //列出名爲perl 的包
yum list perl*         列出perl 開頭的包
yum list updates  列出資源庫中全部能夠更新的rpm包
yum list installed  列出已經安裝的全部的rpm包
yum list extras     列出已經安裝的可是不包含在資源庫中的rpm包 
vim

 

2、列舉資源信息centos

 

yum info 列出資源庫中全部能夠安裝或更新的rpm包的信息瀏覽器

 

 

yum info perl    列出資源庫中特定的能夠安裝或更新以及已經安裝的rpm包的信息 //列出perl 包信息緩存

yum info perl*   列出perl 開頭的全部包的信息安全

 

 

yum info updates 列出資源庫中全部能夠更新的rpm包的信息服務器

 

 

yum info installed 列出已經安裝的全部的rpm包的信息網絡

 

 

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

 

 

3、搜索
yum search perl 搜索匹配特定字符的rpm包 //在包名稱、包描述等中搜索

 

 

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

 

4、安裝刪除包

yum install perl       安裝rpm包 //安裝perl 包

yum install perl*     安裝perl 開頭的包

yum localinstall perl.rpm       安裝本地rpm包 //

 

yum remove perl*   刪除rpm包,包括與該包有倚賴性的包 //會刪除perl-* 全部包

 

 

5、更新

 

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

 

 

yum update 更新全部的rpm包(同時升級系統版本和內核)

 

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

 

 

yum upgrade 大規模的版本升級,與yum update不一樣的是,連舊的淘汰的包也升級
                                                (同時升級系統版本可是不升級內核)

 

 

6、清空緩存

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

 

 

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

 

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

 

 

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


yum clearn all

 

 

 

 

 


 七.使用yum下載一個rpm包 (不安裝)
1.yum install --downloadonly(同時下載 須要依賴的包
        yum install --downloadonly
[--downloaddir=/tmp] <package-name>
     若是命令找不到這個選項,須要更新yum    或者     安裝  yum -y install yum-downloadonly

注意:在CentOS/RHEL 6或更早期的版本中,你須要安裝一個單獨yum插件
           (名稱爲 yum-plugin-downloadonly)才能使用--downloadonly命令選項:
           yum install yum-plugin-downloadonly

下載的軟件包位於/var/cache/yum/x86_64/7/base/packages/下


2.yumdownloader  (不下載 須要依賴的包

  安裝yum-utils       yum -y install yum-utils
  下載軟件包httpd
  yumdownloader httpd
3.利用yum的緩存功能
  默認狀況下,yum在安裝軟件包後會自動清理軟件包,修改配置,使yum再也不清理軟件包
  vim /etc/yum.conf中修改keepcache = 0改成keepcache = 1
  /etc/init.d/yum-updatesd restart
  yum -y install httpd
  這時軟件包已經安裝下載,目錄爲/var/cache/yum




八.如下是一些經常使用命令:
1.有些插件使用yum list *xxx*    沒法找到,可使用yum provides 查詢xxx隸屬於哪一個yum包
例如
yum provides */snmpwalk      
1:net-snmp-utils-5.5-57.el6.x86_64 : Network management utilities using SNMP, from the NET-SNMP project
Repo        : base
Matched from:
Filename    : /usr/bin/snmpwalk

安裝 net-snmp-utils-5.5-57.el6.x86_64 便可


2.yum提供了一個很強大的功能,yum groupinstall
經過這個功能可讓你很是方便的一次過安裝你所須要的包

好比你安裝必要的開發工具包:yum groupinstalll "Development Tools"

 

         記得不要丟了雙引號。

 

若是是安裝web server必要的包:yum groupinstall "Web Server"

 

若是還想知道還有哪些group可使用:     yum grouplist





八.增長yum源方式安裝軟件
官方定義的yum源爲了軟件的穩定性,更新比較慢。
若是須要的軟件官方yum源沒有或者版本過低,能夠增長新yum源來安裝。

查看系統默認安裝的yum

# rpm -qa|grep yum

yum-plugin-fastestmirror-1.1.31-34.el7.noarch

yum-metadata-parser-1.1.4-10.el7.x86_64

yum-3.4.3-132.el7.centos.0.1.noarch


yum 配置文件

  yum 的配置文件分爲兩部分:main 和repository。
  main 部分定義了全局配置選項,整個yum 配置文件應該只有一個main,常位於/etc/yum.conf 中
  repository 部分定義了每一個源/服務器的具體配置,能夠有一到多個。常位於/etc/yum.repo.d 目錄下的各文件

 



repo 文件的格式

全部repository 服務器設置都應該遵循以下格式:

[serverid]
name=Some name for this server
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
baseurl=url://path/to/repository/
  • serverid   是用於區別各個不一樣的repository,必須有一個獨一無二的名稱;
    name       是對repository 的描述,支持像$releasever $basearch這樣的變量;
    mirrorlis 是指定一個鏡像服務器的地址列表,一般是開啓的,將$releasever和$basearch替換成本身對應的版本和架構,例如10和i386,在瀏覽器中打開,咱們就能看到一長串鏡可用的鏡像服務器地址列表。
    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。

選擇本身訪問速度較快的鏡像服務器地址複製並粘貼到repo文件中,咱們就能得到較快的更新速度了,格式以下baseurl所示:
baseurl=
ftp://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/releases/10/Everything/i386/os
http://ftp.chg.ru/pub/Linux/fedora/linux/releases/10/Everything/i386/os
http://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/releases/10/Everything/i386/os
http://mirror.nus.edu.sg/fedora/releases/10/Everything/i386/os
http://mirror.yandex.ru/fedora/linux/releases/10/Everything/i386/os
http://ftp.twaren.net/Linux/Fedora/linux/releases/10/Everything/i386/os
http://ftp.itu.edu.tr/Mirror/Fedora/linux/releases/10/Everything/i386/os





添加國際yum

添加源以前要肯定系統架構及版本!!!


RPMForge

RPMForge是CentOS系統下的軟件倉庫,擁有4000多種的軟件包,被CentOS社區認爲是最安全也是最穩定的一個軟件倉庫。
        到這裏找到匹配本身系統的版本     http://repoforge.org/use/(我係統是centos6.3)
       #wget http://repository.it4i.cz/mirrors/repoforge/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
       #rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

而後/etc/yum.repos.d 這裏就會多出一個rpmforge.repo yum源文件
        查看yum
        #yum repolist 
           repo id                                    repo name                                   status

base                                         CentOS-6 - Base                             6,696

extras                                       CentOS-6 - Extras                            63

rpmforge                                   RHEL 6 - RPMforge.net - dag        4,718

updates                                    CentOS-6 - Updates                         820



elrepo

     ELRepo項目側重於硬件相關的包來加強你的經驗與企業Linux。這包括文件系統驅動,顯卡驅動,網絡驅動程序,聲音驅動,攝像頭和視頻驅動程序。

     一樣去官網下載yum源的rpm包,安裝……





EPEL(企業版 Linux 附加軟件包)

 

 

 企業版 Linux 附加軟件包(如下簡稱 EPEL)是一個由特別興趣小組建立、維護並管理的,針對 紅帽企業版 Linux(RHEL)及其衍生髮行版(好比 CentOS、Scientific Linux、Oracle Enterprise Linux)的一個高質量附加軟件包項目。

EPEL 的軟件包一般不會與企業版 Linux 官方源中的軟件包發生衝突,或者互相替換文件。EPEL 項目與 Fedora 基本一致,包含完整的構建系統、升級管理器、鏡像管理器等等。
       隨着時間的發展,EPEL 倉庫愈來愈豐富,成爲一個大型的軟件收集倉庫。安裝epel源的好處就是epel這個項目是由fedora維護的,在維護的這個源中包含許多新的軟件。
     
  ( CentOS 用戶請注意: CentOS 用戶能夠直接經過 yum install epel-release 安裝並啓用 EPEL 源。CentOS Extras默認包含該包)


!!!這個不用到官網下載rpm包,能夠直接用yum安裝
安裝:yum install epel-release.noarch


 


添加(更換)國內yum
 

網易163
網易(163)yum源是國內最好的yum源之一 ,不管是速度仍是軟件版本,都很是的不錯
 http://mirrors.163.com/  歡迎訪問網易開源鏡像站
進入網站選擇本身系統版本的 repo,下載

1.更換系統自帶的yum源

首先備份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下載對應版本repo文件, 放入/etc/yum.repos.d/(操做前請作好相應備份)


注意!!!(系統沒法識別$releasever,編輯下載文件,把文件裏面的$releasever所有替換爲版本號,即6,保存)

運行如下命令生成緩存

yum clean all
yum makecache


2.增長系統yum源

下載對應版本repo文件, 放入/etc/yum.repos.d/

編輯下載的163.repo文件:
(因系統沒法識別
$releasever,編輯下載文件,把文件裏面的$releasever所有替換爲版本號,即6,保存)
爲不與系統自帶庫重複 將163.repo文件中的 
[base]          改成[base163]
[updates]     改成[updates163]
[extras]        改成[extras163]

運行如下命令生成緩存

yum clean all
yum makecache

查看yum源  
#yum repolist

repo id                                                       repo name                                                        status

base                                                          CentOS-6 - Base                                                 6,696

base163                                                   CentOS-6 - Base - 163.com                               6,696

extras                                                        CentOS-6 - Extras                                                 63

extras163                                                  CentOS-6 - Extras - 163.com                               63

rpmforge                                                    RHEL 6 - RPMforge.net - dag                               4,718

updates                                                      CentOS-6 - Updates                                               820

updates163                                                CentOS-6 - Updates - 163.com                            820

 

repolist: 20,284




中科大的yum源
http://centos.ustc.edu.cn/

搜狐yum源
 http://mirrors.sohu.com



設置源的管理策略
         若是你喜歡優先從某個源安裝軟件,那麼建議安裝 yum-priorities 插件這個插件的做用是給多個源排定優先順序, 當多個源中存在同一軟件的時候, 軟件會從優先級最高的源這裝.

      #yum install yum-priorities

安裝完後須要設置/etc/yum.repos.d/ 目錄下的.repo相關文件(如CentOS-Base.repo),在這些文件中插入順序指令:priority=N (N爲1到99的正整數,數值越小越優先),
能夠將系統自帶yum設置爲1,第三方源數值設爲大於等於10

例如:

       [base]
name=CentOS-$releasever – Base
mirrorlist=http://mirrorlist.CentOS.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.CentOS.org/CentOS/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1

 

 






 

配置本地yum

一、掛載系統安裝光盤       # mount /dev/cdrom /media/CentOS/

二、配置本地yum源           # cd /etc/yum.repos.d/
                                                    # ls

        會看到四個repo 文件

CentOS-Base.repo 是yum 網絡源的配置文件

CentOS-Media.repo 是yum 本地源的配置文件

3.修改CentOS-Media.repo       # cat CentOS-Media.repo
              
在baseurl 中修改路徑爲/media/CentOS(即爲光盤掛載點)

      將enabled=0改成1(可用)

4.禁用默認的yum 網絡源

將yum 網絡源配置文件更名爲CentOS-Base.repo.bak,不然會先在網絡源中尋找適合的包,更名以後直接從本地源讀取。

相關文章
相關標籤/搜索