yum –rpm前端工具詳解

 1、yum 介紹

       YUM: Yellowdog Update Modifier, rpm的前端程序,用來解決軟件包相關依賴性,可以在多個庫之間定位軟件包,up2date的替代工具

        yum repository: yum repo,存儲了眾多rpm包,以及包的相關的元數據文件(放置于特定目錄repodata下)

        文件服務器:

        ftp://

        http://

        file:///    (第三個 / 代表根 )

        

2、yum配置文件

        /etc/yum.conf:為所有倉庫提供公共配置

        /etc/yum.repos.d/*.repo:為倉庫的指向提供配置

        

        倉庫指向的定義:

            (repodate文件所在父目錄即視為倉庫)

            主要項目定義即可,無需全部定義

            若重建.repo 倉庫指向配置,建議/etc/yum.repos.d/只留下一個新建的.repo

            否則其他存在的.repo的文件,容易干擾配置文件,造成無法找到指向的倉庫

           

        *.repo內容解析:

                [repositoryID]          #倉庫ID

                name=Some name for this repository    #倉庫名

                baseurl=url://path/to/repository/           #倉庫地址

                enabled={1|0} #禁用 | 啟用 倉庫

                         1: 啟用    0: 禁用

                gpgcheck={1|0} #啟用|禁用gpg key檢測

                gpgkey=URL #key 地址

                enablegroups={1|0}

                failovermethod={roundrobin|priority}

                cost= 默認為1000  

           

            (#failovermethode 有兩個選項roundrobin和priority,意思分別是有多個url可供選擇時,

             yum選擇的次序,roundrobin是隨機選擇,如果連接失 敗則使用下一個,依次循環,

             priority則根據url的次序從第一個開始。如果不指明,默認是roundrobin。)

                              #

                eg:

                [base] ——->id

                name=CentOS-$releasever – Base      

                release=$releasever&arch=$basearch&repo=os&infra=$infra

                baseurl=http://10.1.0.1/cobbler/ks_mirror/CentOS-7-x86_64-1503/

                   file:///media/cdrom                

                       http://mirrors.aliyun.com/centos/$releasever/os/$basearch

                            gpgcheck=1

                gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

        

      倉庫管理工具–   yum-config-manager

        eg:

            生成172.16.0.1_cobbler_ks_mirror_CentOS-Xx86_64_.repo

            yum-config-manager –add-repo=

            http://172.16.0.1/cobbler/ks_mirror/CentOS-Xx86_64/

        執行后,將自動生在/etc/yum.repos.d/中生成172.16.0.1_cobbler_ks_mirror_CentOS-Xx86_64_.repo  文件

            ? yum-config-manager –disable “倉庫名" 禁用倉庫

            ? yum-config-manager –enable “倉庫名” 啟用倉庫

        

3.yum 命令使用

        ? 顯示倉庫列表:

        ? repolist [all|enabled|disabled]

        ? 顯示程序包:

        ? list tool_name   顯示XX的程序包

            # yum list [all | glob_exp1] [glob_exp2] […]

            # yum list {available|installed|updates} [glob_exp1]

            […]

        ? 安裝程序包:

            install package1 [package2] […]

            reinstall package1 [package2] […] (重新安裝)

        ? 升級程序包:

            update [package1] [package2] […]

            downgrade package1 [package2] […] (降級)

        ? 檢查可用升級:

            check-update

        ? 卸載程序包:

            remove | erase package1 [package2] […]

        ? 查看程序包information:

                info […]

               eg:   yum info tree

        ? 查看指定的特性(可以是某文件)是由哪個程序包所提供:

            provides | whatprovides feature1 [feature2] […]

        ? 清理本地緩存:

            clean [ packages | metadata | expire-cache |

            rpmdb | plugins | all ]

            當倉庫已經更新時候,需要清理緩存,更新各文件的新路徑

        ? 構建緩存:

            makecache

        ? 搜索: search string1 [string2] […]

            以指定的關鍵字搜索程序包名及summary信息

        ? 查看指定包所依賴的capabilities:

            deplist package1 [package2] […]

          

        ? 查看yum事務歷史:

            history [info|list|packages-list|packages-info|

            summary|addon-info|redo|undo|

            rollback|new|sync|stats]

            yum history

            yum history info 6

            yum history undo 6

        ? 日志 文件:

            /var/log/yum.log

        ? 安裝及升級本地程序包:

            * localinstall rpmfile1 [rpmfile2] […]

            (用install替代)

            * localupdate rpmfile1 [rpmfile2] […]

            (用update替代)

        

        ? yum的命令行選項:

            –nogpgcheck:禁止進行gpg check

            -y: 自動回答為“ yes”

            -q:靜默模式

            –disablerepo=repoidglob:臨時禁用此處指定的repo

            –enablerepo=repoidglob:臨時啟用此處指定的repo

            –noplugins:禁用所有插件

       

4.包組管理的相關命令:

        groupinstall group1 [group2] […]

            包組的名字有空格時候,需要用”“引起

        groupupdate group1 [group2] […]

        grouplist [hidden] [groupwildcard] […]

        groupremove group1 [group2] […]

        groupinfo group1 […]

       

       eg:

        yum grouplist   查詢可用包組

        1.jpg

        安裝包組:

        yum groupinstall "Development Tools"

        

5.使用光盤當作本地yum倉庫:

        ? (1) 掛載光盤至某目錄,例如/media/cdrom

            # mount /dev/cdrom /media/cdrom

            (/dev/cdrom—>sr0  ,救援模式下只能直接訪問sr0,軟鏈接不可用)

        (2) 創建配置文件(在原repo 文件下面追加內容就可以)

            [cdrom]

            name=centos7 cdrom

            baseurl=file:///mnt/cdrom

            gpgcheck=0

            enabled=1

        注意:需要配置自動掛載cdrom 才能一直使用,否則重啟會失效

        6中,可以掛載/misc/cd ,需要時候則自動掛載,無需在/etc/fstab中配

        置自動掛載

        (添加完成后,yum repolist ,可以查看倉庫信息)

       

6.yum的repo配置文件中可用的變量:

            $releasever: 當前OS的發行版的主版本號

            $arch: 平臺, i386,i486,i586,x86_64等

            $basearch:基礎平臺; i386

            $YUM0-$YUM9:自定義變量

        ? 實例:

            http://server/centos/$releasever/$basearch/

            http://server/centos/7/x86_64

            http://server/centos/6/i384

        

7.創建yum倉庫文件repodata (自建倉庫):

        生成倉庫文件repodata:(需要在倉庫目錄下執行)

        createrepo [options] <directory>

        -v 顯示詳情

        注: yum視倉庫目錄是否有repodata 為倉庫標志

    

    示例:  手動創建倉庫

        1. 建立倉庫文件夾

          /tmp下建立test_repo文件夾,復制tree的rpm包至該目錄

        

        2:復制倉庫中的rpm包到倉庫中

        略

        

        3: 進入倉庫目錄,使用命令 createrepo ,生成倉庫文件repodata

        yum --rpm前端工具詳解2.jpg

        4:配置 .repo 文件,禁用其他倉庫,并創建新倉庫地址

        其中,baseurl為倉庫文件夾路徑

        配置/etc/yum.repos.d/base.repo 文件,添加 test_repo 倉庫信息:

        (注意:需要停用其他倉庫,設置其他倉庫的enabled=0)

        yum --rpm前端工具詳解3.jpg

        (添加完成后,yum repolist ,可以查看倉庫信息)

        yum --rpm前端工具詳解4.jpg

        5. 測試倉庫,安裝 tree

        yum --rpm前端工具詳解5.jpg

        

原創文章,作者:ldt195175108,如若轉載,請注明出處:http://www.www58058.com/39760

(0)
ldt195175108ldt195175108
上一篇 2016-08-24 21:22
下一篇 2016-08-24 21:22

相關推薦

  • 分布式系統的事務處理

    當我們在生產線上用一臺服務器來提供數據服務的時候,我會遇到如下的兩個問題: 1)一臺服務器的性能不足以提供足夠的能力服務于所有的網絡請求。 2)我們總是害怕我們的這臺服務器停機,造成服務不可用或是數據丟失。 于是我們不得不對我們的服務器進行擴展,加入更多的機器來分擔性能上的問題,以及來解決單點故障問題。 通常,我們會通過兩種手段來擴展我們的數據服務: 1)數…

    Linux干貨 2016-08-15
  • RAID,pv,vg,lv的實驗

    首先在虛擬機中添加5塊硬盤,以備實驗使用,此實驗以sdc,sdd,sde,sdf,sdg硬盤為例:     添加硬盤:(不用重新啟動虛擬機讀取新添加磁盤)             ~]# echo “- – -” > /sys/class…

    Linux干貨 2017-03-19
  • AWK——文本處理三劍客

    GNU awk ·文本處理三工具:grep,sed,awk          grep,egrep,fgrep:文本過濾工具:pattern          sed:行編輯器  &nbsp…

    Linux干貨 2016-09-20
  • MBR&GPT分區基本原理

    1、磁盤系統為什么要分區?     ?     優化I/O性能     ?     實現磁盤空間配額限制       &…

    Linux干貨 2016-08-30
  • 磁盤管理、文件系統、掛載

    磁盤管理 一磁盤分區 磁盤分區有兩種方式:MBR和GPT MBR:1)按照柱面進行分區;分區不超過2T 2)關于0磁道0扇區的前512bytes;其中的446bytes為boot loader;中間的64bytes裝有分區表;2bytes為55AA 3)可分4個分區;3個主分區+1擴展(N個邏輯分區)擴展分區最多一個。 GPT分區:1)GUID patiti…

    Linux干貨 2016-08-29
  • grep,find

    顯示當前系統上root、fedora、user用戶的默認shell: 2.找出/etc/rc.d/init.d/functions文中單詞后跟一組小括號的行 3.使用echo命令輸出一個絕對路徑,使用grep取出其基名: 4.找出ifconfig命令結果中的1-255之間的數字 5.寫一個模式,匹配合理的ip地址 6.寫一個模式,匹配出郵箱地址 7.查找/v…

    Linux干貨 2016-11-27
欧美性久久久久