我的學習記錄--Linux (CentOS) 程序安裝包管理,yum

此博客,僅僅只是記錄本人學習Linux的學習筆記,和學習經驗,本人此時也只是一個初學Linux的菜鳥,所以有寫得不對的地方還望包涵。謝謝!

簡介:

    Yum(全稱爲 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。


yum配置文件:

    主配置文件:/etc/yum.conf (對所有yum倉庫都有效)

        各倉庫的定義:/etc/yum.repos.d/*.repo (僅對自己倉庫生效,優先級大於主配置文件。)

如下,我們自己創建一個yum庫:

wKioL1UqZsahMzOJAABmda33iuw272.jpg

        [testrepo]:代表倉庫唯一標識ID

        name:當前倉庫簡要介紹信息

        baseurl:倉庫的URL地址(ftp | http | 本地目錄)

        gpgcheck:是否校驗包(1是 | 0否)

        enabled:倉庫是否可用


yum命令:


yum [options] [command] [package ...]

       command is one of:

        * install package1 [package2] [...]

        * update [package1] [package2] [...]

        * update-to [package1] [package2] [...]

        * check-update

        * upgrade [package1] [package2] [...]

        * upgrade-to [package1] [package2] [...]

        * distribution-synchronization [package1] [package2] [...]

        * remove | erase package1 [package2] [...]

        * list [...]

        * info [...]

        * provides | whatprovides feature1 [feature2] [...]

        * clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

        * makecache

        * groupinstall group1 [group2] [...]

        * groupupdate group1 [group2] [...]

        * grouplist [hidden] [groupwildcard] [...]

        * groupremove group1 [group2] [...]

        * groupinfo group1 [...]

        * search string1 [string2] [...]

        * shell [filename]

        * resolvedep dep1 [dep2] [...]

        * localinstall rpmfile1 [rpmfile2] [...]

           (maintained for legacy reasons only - use install)

        * localupdate rpmfile1 [rpmfile2] [...]

           (maintained for legacy reasons only - use update)

        * reinstall package1 [package2] [...]

        * downgrade package1 [package2] [...]

        * deplist package1 [package2] [...]

        * repolist [all|enabled|disabled]

        * version [ all | installed | available | group-* | nogroups* | grouplist | groupinfo ]

        * history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

        * load-transaction [txfile]

        * check

        * help [command]

介紹幾個常用參數:

倉庫管理:

    repolist: 列出已經配置的所有可用倉庫

    repolist [all|enabled|disabled]


緩存管理:

    clean:清理緩存

    clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

    makecache: 緩存創建

    自動連接至每一個可用倉庫,下載其元數據,將其創建爲緩存


程序包查看:

    yum list [all | glob_exp1] [glob_exp2] [...]

           支持使用通配符,例如:yum list php*   --查看php開頭的包

    yum list {available|updates|installed|extras|obsoletes} [glob_exp1] [...]

           條件查找,查看程序包,例如:available(有效的程序包),installed(已安裝的程序包)

    grouplist [hidden] [groupwildcard] [...]


程序包安裝:install package1 [package2] [...]

    注意: 

        只需要提供包名;

        如果某包有在不同倉庫中有多個不同版本,默認會安裝最新版本;

        如果要安裝指定版本:install PACKAGE-VERSION ...



重新安裝(覆蓋安裝)reinstall package1 [package2] [...]


程序包升級:update [package1] [package2] [...]


程序包降級:downgrade package1 [package2] [...]


檢查有哪些升級可用:check-update


程序包卸載:

    remove | erase package1 [package2] [...]

    所有依賴於正卸載的程序包的程序包會被一併卸載;


程序包查詢:

    查詢程序的相關簡要信息:info PACKAGE ...

         例如:yum info php(查看php的簡要信息)

    在包名和sumary信息中搜索指定的關鍵字:search KEYWORD ... 

         例如:yum search php (檢查簡要信息中有php關鍵字的)

    查詢指定文件由哪個程序包安裝生成:provides|whatprovides /PATH/TO/SOMEFILE

         例如:yum provides /etc/inittab (檢查inittab這個文件由哪個程序包生成)


包組管理:


列出所有包組:grouplist


顯示指定包組詳情:groupinfo group1 [...]


安裝:groupinstall group1 [group2] [...]


卸載:groupremove group1 [group2] [...]


升級:groupupdate group1 [group2] [...]

      注意:CentOS 7 之後可以直接用install,remove或update來管理包組,組名前加(@)。

      例如: yum install @"Server Platform Development" (安裝sever platform development包)


yum命令其他選項:

       -y:自動回答爲“yes”

       --disablerepo=:臨時禁用配置文件中配置的倉庫

       --enablerepo=:臨時啓用指定未啓用的某倉庫

       --nogpgcheck:不做包校驗

yum內置變量:

          (1) $raleasever: 當前OS發行版的主版本號;

    例如,對CentOS 6.6 x86_64,主版本號爲6;

    (2) $arch:平臺

    i386, i486

    (3) $basearch: 基礎平臺, 例如i686, i586, i486以及i386的基礎平臺同爲i386;

    (4) $YUM0-$YUM9

           例如:當前系統爲CentOS 6.6  x86_64

                  baseurl=http://repo.magedu.com/centos/$releasever/$basearch (此寫法和下方寫法一樣效果)   

            http://repo.magedu.com/centos/6/x86_64   





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章