Linux程序包管理(yum)
YUM(Yellowdog Update Modifier):是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器?;禦PM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令,而且命令簡潔而又好記。
yum是一個前端程序,所以它必須依賴一個yum客戶端,repository,顧名思義,是一個軟件的倉庫,也叫做yum源,它可以是http或ftp站點, 也可以是本地軟件池,每一個repository中存儲了眾多rpm包,以及包的相關的元數據文件(放置于特定目錄下:repodata)。repodata中包括了rpm包的各種信息,包括描述,功能,提供的文件,依賴性等.正是通過這些信息,才能自動化地完成余下的任務。
yum客戶端(yum源):通過yum的配置文件定義其細節內容。
配置文件:
/etc/yum.conf:為所有倉庫提供公共配置
?
/etc/yum.repos.d/*.repo:
通常一個.repo文件定義了一個或者多個軟件倉庫的細節內容,例如我們將從哪里下載需要安裝或者升級的軟件包,repo文件中的設置內容將被yum讀取和應用
配置文件中各項參數的定義:
????????[repositoryID]
????????name=Some name for this repository
????????baseurl=url://path/to/repository/
????????enabled={1|0}
????????gpgcheck={1|0}
????????gpgkey=URL
????????enablegroups={1|0}
????????failovermethod={roundrobin|priority} ? (priority:按優先級排序,roundrobin,意為隨機挑選)? 默認為:roundrobin
????????cost= ? ? ???默認為1000
yum命令的用法:
使用格式:yum [options] [command] [package ...]
命令行選項(命令行的優先度要高于配置文件):
????????--nogpgcheck:禁止進行gpg check;
????????-y: 自動回答為“yes”;
????????-q:靜默模式;
????????--disablerepo=repoidglob:臨時禁用此處指定的repo;
????????--enablerepo=repoidglob:臨時啟用此處指定的repo;
????????--noplugins:禁用所有插件;
常用command
顯示倉庫列表:repolist [all|enabled|disabled]
顯示程序包:list
? ? ?# 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 [...]
查看指定的特性(可以是某文件)是由哪個程序包所提供:provides | whatprovides feature1 [feature2] [...]
清理本地緩存:clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
構建緩存:makecache
搜索:以指定的關鍵字搜索程序包名及summary信息;
? ? ?search string1 [string2] [...]
查看指定包所依賴的capabilities:
? ? ?deplist package1 [package2] [...]
查看yum事務歷史:
?history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
安裝及升級本地程序包:
????????* localinstall rpmfile1 [rpmfile2] [...]
???????????(maintained for legacy reasons only - use install)
????????*?localupdate rpmfile1 [rpmfile2] [...]
???????????(maintained for legacy reasons only - use update)
包組管理的相關命令:
????????*?groupinstall group1 [group2] [...]
????????*?groupupdate group1 [group2] [...]
????????*?grouplist [hidden] [groupwildcard] [...]
????????*?groupremove group1 [group2] [...]
????????*?groupinfo group1 [...]
創建yum倉庫:
命令:createrepo [options] <directory>
演示過程
1.
2.
3.
4.
至此,創建本地倉庫完成。
使用光盤當作本地yum倉庫:
????????(1)掛載光盤至某目錄,例如/media/cdrom
????????????# mount -r -t iso9660 /dev/cdrom /media/cdrom
????????(2)創建配置文件 (同上)
yum的repo配置文件中可用的變量:
????????$releasever: 當前OS的發行版的主版本號;
????????$arch: 平臺;
????????$basearch:基礎平臺;
????????$YUM0-$YUM9
示例:http://http://mirror.centos.org/centos/$releasever/updates/$basearch/
yum倉庫文件服務器的地址類型:ftp://
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?http://
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?nfs://
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?file:///
轉載于:https://blog.51cto.com/puro2016/1753163
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Linux程序包管理(yum)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unix环境高级编程—进程关系
- 下一篇: HTML5与CSS3基础教程第八版学习笔