Linux程序包的管理需要依賴程序包管理工具,程序包管理工具可以實(shí)現(xiàn)程序的安裝界斜、升級(jí)、卸載合冀、查詢和校驗(yàn)各薇,等等相關(guān)操作。本文主要介紹使用rpm和yum實(shí)現(xiàn)程序包的管理君躺。
- rpm程序包管理基礎(chǔ)
(1) rpm程序包的命名格式
(2) 如何獲取rpm程序包得糜?- rpm命令
(1) 安裝
(2) 升級(jí)
(3) 卸載
(4) 查詢
(5) 校驗(yàn)
(6) rpm數(shù)據(jù)庫管理
(7) rpm命令的相關(guān)示例- yum命令
(1) yum倉庫
(2) yum的配置文件
(3) 通過yum命令管理程序
(4) yum倉庫配置示例
(5) yum命令的相關(guān)示例
1、rpm程序包管理基礎(chǔ)
(1) rpm程序包的命名格式
rpm程序包通常分為主程序包和程序包分支晰洒,命名格式分別如下:
- 主程序包命名格式
NAME-VERSION-RELEASE.ARCH.rpm - 程序包分支命名格式
NAME-FUNCTION-VERSION-RELEASE.ARCH.rpm
命名中各字段的含義:
NAME:程序包名,與源代碼的名稱一致
VERSION: major.minor.release啥箭,版本信息谍珊,與源代碼的版本信息一致,如4.3.2(主版本號(hào).次版本號(hào).發(fā)行號(hào))
RELEASE:rpm程序包自身的發(fā)行號(hào)急侥,與源代碼的發(fā)行號(hào)無關(guān)砌滞,是制作rpm包的不同修訂版本,RELEASE還包括此rpm包適用的系統(tǒng)坏怪,如4.3.2-2.centos7
ARCH:支持的cpu架構(gòu)贝润,如:i386、x86_64
FUNCTION:用于描述程序包分支的功能
這里貼一張圖來加深理解铝宵,出處不詳:
(2) 如何獲取rpm程序包打掘?
系統(tǒng)發(fā)行版的光盤或官方的文件服務(wù)器(或其他鏡像站點(diǎn))华畏。
系統(tǒng)自帶的程序包可以光盤或光盤鏡像文件獲取。
如:http://mirrors.aliyun.com | http://mirrors.sohu.com | http://mirrors.163.com程序項(xiàng)目的官方站點(diǎn)尊蚁。
如:http://www.zabbix.comEPEL
EPEL(Extra Packages for Enterprise Linux)是由Fedora Special Interest Group維護(hù)的Enterprise Linux(RHEL亡笑、CentOS)中經(jīng)常用到的包。rpm搜索引擎
如:http://pkgs.org | http://rpmfind.net | http://rpm.pbone.net自己制作rpm包
建議在網(wǎng)上獲取rpm包后横朋,檢查其合法性(來源合法性和程序包完整性)
2仑乌、rpm命令
Linux發(fā)行版如RedHat、SuSE系列目前都是用rpm來實(shí)現(xiàn)程序包管理琴锭。
rpm的全稱是Redhat Package Manager晰甚,由RedHat研發(fā),后形成標(biāo)準(zhǔn)后决帖,成為Rpm is Package Manager厕九,這是rpm的新定義。
程序包管理器的功能是將編譯好的應(yīng)用程序的各組成文件打包成一個(gè)或幾個(gè)程序包文件古瓤,從而更方面地實(shí)現(xiàn)程序包的安裝止剖、升級(jí)、卸載和查詢等管理操作落君,它由兩部分組成:
- 程序包的組成清單
這是基于個(gè)體的穿香,每個(gè)程序包都有一個(gè)自己的清單,其中有程序包中的文件清單绎速、安裝或卸載時(shí)運(yùn)行的腳本皮获,等等。 - 程序包管理器的數(shù)據(jù)庫
這是公共的纹冤,數(shù)據(jù)庫中記錄各程序包的名稱和版本洒宝、依賴關(guān)系、程序包的功能說明萌京、安裝生成的各文件路徑及校驗(yàn)碼信息雁歌,等等。
在CentOS中知残,各數(shù)據(jù)庫文件存放在/var/lib/rpm/下靠瞎。
接下來詳細(xì)描述如何通過rpm命令實(shí)現(xiàn)rpm程序包的安裝、升級(jí)求妹、卸載乏盐、查詢和校驗(yàn),以及rpm數(shù)據(jù)庫維護(hù)制恍。
rpm命令的用法總結(jié)簡化后如下:
rpm [OPTIONS] [GENERAL_OPTIONS] [PACKAGE_FILE | PACKAGE_NAME]
- 通過OPTIONS來指定要進(jìn)行的操作:
安裝:-i父能,--install
升級(jí):-u,--update净神,或-F何吝,--freshen
卸載:-e溉委,--erase
查詢:-q,--query
校驗(yàn):-V岔霸,--verify
數(shù)據(jù)庫管理:--builddb薛躬,--initdb
- 通過GENERAL_OPTIONS來自定義操作過程
-v: verbose, 詳細(xì)信息
-vv:更詳細(xì)的輸出-_-||
- 通過程序包文件名和程序包名來指定作用對(duì)象
PACKAGE_FILE是文件名,需要程序包文件的完整名稱呆细;
PACKAGE_NAME是程序名型宝,只需指定程序包名中的NAME。
(1) 安裝
- 語法格式
rpm {-i|--install} [install-options] PACKAGE_FILE...
安裝需要指定程序包的文件名絮爷。
安裝rpm包的常用固定格式為:
rpm -ivh PACKAGE_FILE...
表示安裝過程中顯示進(jìn)度條和詳細(xì)信息趴酣。
install-options包括:
- -h:hash marks,輸出進(jìn)度條坑夯,用#表示岖寞,每個(gè)#表示2%的進(jìn)度;
- --test:測試安裝柜蜈,檢查并報(bào)告依賴關(guān)系及沖突消息等仗谆;
- --nodeps:忽略依賴關(guān)系,不建議淑履;
- --replacepkgs:重新安裝隶垮,(不會(huì)替代配置文件);
- --noscripts:不執(zhí)行rpm自帶的所有腳本(共四種秘噪,可分別單獨(dú)禁用)狸吞;
- --nosignature: 不檢查包簽名信息,即不檢查來源合法性指煎;
- --nodigest:不檢查包完整性信息蹋偏。
這里強(qiáng)調(diào)一下,rpm的自帶腳本分為四種至壤,分別為:
- %pre:preinstall威始,安裝過程開始之前運(yùn)行的腳本,單獨(dú)禁用使用install options中的--nopre像街;
- %post:postinstall字逗,安裝過程完成之后運(yùn)行的腳本,單獨(dú)禁用使用install options中的--nopost宅广;
- %preun:preuninstall,卸載過程真正開始執(zhí)行之前運(yùn)行的腳本些举,單獨(dú)禁用使用install options中的--nopreun跟狱;
- %postun:postuninstall,卸載過程完成之后運(yùn)行的腳本户魏,單獨(dú)禁用使用install options中的--nopostun
(2) 升級(jí)
- 語法格式
rpm {-U|--upgrade} [install-options] PACKAGE_FILE...
rpm {-F|--freshen} [install-options] PACKAGE_FILE...
這里需要注意一下-U和-F的區(qū)別:
-U表示升級(jí)或安裝
指定的程序已安裝時(shí)驶臊,則執(zhí)行升級(jí)挪挤;若未安裝,則安裝关翎。-F表示僅升級(jí)扛门,不安裝
即程序未安裝時(shí),則不進(jìn)行任何操作纵寝。
升級(jí)需要指定的也是程序包的文件名论寨。
升級(jí)rpm包的常用固定格式為:
rpm -Uvh PACKAGE_FILE...
rpm -Fvh PACKAGE_FILE...
在升級(jí)過程中顯示進(jìn)度條和詳細(xì)信息。
rpm安裝的install-options同樣適用于此爽茴,下面是兩個(gè)額外的選項(xiàng):
- --oldpackage:降級(jí)
- --force:強(qiáng)制升級(jí)
關(guān)于程序升級(jí)有兩點(diǎn)需要注意:
- 不要對(duì)內(nèi)核做升級(jí)操作葬凳,Linux支持多內(nèi)核版本并存,因此直接安裝新版本內(nèi)核即可室奏;
- 升級(jí)時(shí)火焰,如果某程序包的配置文件安裝后曾被修改過,新版本的程序提供的同一個(gè)配置文件不會(huì)覆蓋原有版本的配置文件胧沫,而是把新版本的配置文件重命名后提供昌简。
(3) 卸載
- 語法格式
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--test] PACKAGE_NAME...
卸載需要指定的是程序名。
常用的選項(xiàng):
- --allmatches: 卸載所有匹配指定名稱的程序包的各版本绒怨;
- --nodeps: 忽略依賴關(guān)系纯赎;
- --test:測試卸載,dry run模式窖逗。
(4) 查詢
- 語法格式
rpm {-q|--query} [--select options] [--query options] [PACKAGE_NAME]
select options用于指定要查詢的對(duì)象或范圍址否,包括:
- PACKAGE_NAME: 查詢指定的程序包是否已經(jīng)安裝,及其版本
- -a碎紊,--all:查詢所有已安裝的包佑附;可以配合grep查詢記不清包名的程序;
- -f FILE仗考,--file FILE:查詢指定的文件由哪個(gè)程序包安裝生成
- -p音同,--package:用于實(shí)現(xiàn)對(duì)未安裝的程序包執(zhí)行查詢操作;
- --whatprovides CAPABILITY:查詢指定的CAPABILITY由哪個(gè)程序包提供秃嗜;
- --whatrequires CAPABILITY:查詢指定的CAPABILITY被哪個(gè)包所依賴权均;
query options用來指定要查詢什么內(nèi)容,包括:
- -changelog:查詢r(jià)pm包的changelog锅锨;
- -l叽赊,--list:程序安裝生成的所有文件列表;
- -i必搞,--info:程序包相關(guān)的信息必指,版本號(hào)、大小恕洲、所屬的包組塔橡,等梅割;
- -c,--configfiles:查詢指定的程序包提供的配置文件葛家;
- -d户辞,--docfiles:查詢指定的程序包提供的文檔;
- --provides:列出指定的程序包提供的所有CAPABILITY癞谒;
- -R底燎,--requires:查詢指定程序包的依賴關(guān)系;
- --scripts:查詢指定的程序包自帶的腳本片段扯俱;
rpm查詢的常用固定組合:
查詢已安裝的程序(指定程序名):
- rpm -qf FILE
- rpm -qi PACKAGE_NAME
- rpm -qc PACKAGE_NAME
- rpm -ql PACKAGE_NAME
- rpm -qd PACKAGE_NAME
查詢未安裝的程序(指定程序包的文件名)
- rpm -qpi PACKAGE_FILE
- rpm -qpc PACKAGE_FILE
- rpm -qpl PACKAGE_FILE
- rpm -qpd PACKAGE_FILE
- ...
(5) 校驗(yàn)
- 語法格式
rpm {-V|--verify} [select-options] [verify-options]
校驗(yàn)錯(cuò)誤的結(jié)果顯示包括:
- S file Size differs 文件大小不匹配书蚪;
- M Mode differs (includes permissions and file type) 文件權(quán)限和文件類型不匹配;
- 5 digest (formerly MD5 sum) differs迅栅,md5校驗(yàn)結(jié)果不匹配殊校;
- D Device major/minor number mismatch 主/次設(shè)備號(hào)不匹配;
- L readLink(2) path mismatch
- U User ownership differs读存,屬主不匹配为流;
- G Group ownership differs,屬組不匹配让簿;
- T mTime differs敬察,修改時(shí)間不匹配;
- P caPabilities differ尔当,程序包所提供的功能不匹配莲祸。
(6) rpm數(shù)據(jù)庫管理
rpm程序包管理器的數(shù)據(jù)庫路徑為:/var/lib/rpm/,rpm管理操作就是基于此目錄下的數(shù)據(jù)庫文件進(jìn)行的椭迎。
- 語法格式
rpm {--initdb|--rebuilddb} [-v] [--dbpath DIRECTORY] [--root DIRECTORY]
選項(xiàng)含義:
- --initdb:初始化數(shù)據(jù)庫-當(dāng)前無任何數(shù)據(jù)庫時(shí)锐帜,可初始化創(chuàng)建一個(gè)新的;當(dāng)時(shí)有數(shù)據(jù)庫畜号,則不執(zhí)行任何操作缴阎;
- --rebuild:重新構(gòu)建,通過讀取系統(tǒng)上所有已經(jīng)安裝過的程序包進(jìn)行重新創(chuàng)建简软。
(7) rpm命令的相關(guān)示例
- rpm安裝示例:
安裝光盤上的gnome-desktop3
[root@localhost Packages]# rpm -ivh /mnt/cdrom/Packages/gnome-desktop3-3.14.2-2.el7.x86_64.rpm
warning: /mnt/cdrom/Packages/gnome-desktop3-3.14.2-2.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
gnome-themes-standard is needed by gnome-desktop3-3.14.2-2.el7.x86_64
提示依賴的程序包沒有安裝蛮拔,忽略依賴關(guān)系直接安裝:
[root@localhost Packages]# rpm -ivh --nodeps /mnt/cdrom/Packages/gnome-desktop3-3.14.2-2.el7.x86_64.rpm
warning: /mnt/cdrom/Packages/gnome-desktop3-3.14.2-2.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:gnome-desktop3-3.14.2-2.el7 ################################# [100%]
安裝完成。使用rpm直接安裝需要手動(dòng)解決很多依賴關(guān)系痹升,有時(shí)會(huì)繞的找不到北建炫,后面用yum安裝會(huì)方便快捷很多。
也可以一次安裝多個(gè)rpm包疼蛾,后面的程序包文件名用“,”逗號(hào)隔開踱卵。 - rpm查詢示例:
查看系統(tǒng)上是否安裝了unzip程序
[root@localhost Packages]# rpm -q unzip \\這里只需給出程序名即可
unzip-6.0-15.el7.x86_64
列出unzip程序所提供的目錄和文件:
[root@localhost Packages]# rpm -ql unzip
/usr/bin/funzip
/usr/bin/unzip
/usr/bin/unzipsfx
/usr/bin/zipgrep
/usr/bin/zipinfo
/usr/share/doc/unzip-6.0
/usr/share/doc/unzip-6.0/BUGS
/usr/share/doc/unzip-6.0/LICENSE
/usr/share/doc/unzip-6.0/README
/usr/share/man/man1/funzip.1.gz
/usr/share/man/man1/unzip.1.gz
/usr/share/man/man1/unzipsfx.1.gz
/usr/share/man/man1/zipgrep.1.gz
/usr/share/man/man1/zipinfo.1.gz
可以看到安裝unzip后都在系統(tǒng)上創(chuàng)建了哪些目錄和文件。
查看unzip程序的詳細(xì)說明:
[root@localhost Packages]# rpm -qi unzip
Name : unzip \\程序名
Version : 6.0 \\程序版本
Release : 15.el7 \\程序發(fā)行號(hào)
Architecture: x86_64 \\支持的硬件平臺(tái)
Install Date: Tue 13 Feb 2018 05:06:57 PM CST \\安裝時(shí)間
Group : Applications/Archiving \\所屬的包組
Size : 365506 \\程序大小
License : BSD \\授權(quán)方式
Signature : RSA/SHA256, Thu 19 Mar 2015 04:52:16 AM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : unzip-6.0-15.el7.src.rpm \\程序包的文件名
Build Date : Thu 19 Mar 2015 04:25:08 AM CST \\打包的時(shí)間
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://www.info-zip.org/UnZip.html
Summary : A utility for unpacking zip files
Description : \\以下是更詳細(xì)的程序描述
The unzip utility is used to list, test, or extract files from a zip archive. Zip archives are commonly found on MS-DOS systems. The zip utility, included in the zip package, creates zip archives. Zip and unzip are both compatible with archives created by PKWARE(R)'s PKZIP for MS-DOS, but the programs' options and default behaviors do differ in some respects.
Install the unzip package if you need to list, test or extract files from a zip archive.
找出unzip程序的說明文檔和手冊(cè):
[root@localhost Packages]# rpm -qd unzip
/usr/share/doc/unzip-6.0/BUGS
/usr/share/doc/unzip-6.0/LICENSE
/usr/share/doc/unzip-6.0/README
/usr/share/man/man1/funzip.1.gz
/usr/share/man/man1/unzip.1.gz
/usr/share/man/man1/unzipsfx.1.gz
/usr/share/man/man1/zipgrep.1.gz
/usr/share/man/man1/zipinfo.1.gz
可以看到在/usr/share/man/man1/目錄下有一些關(guān)于unzip的man手冊(cè),使用man 1 unzip可以查看這些手冊(cè)中的相關(guān)說明惋砂。
還可以查詢已安裝程序包的依賴關(guān)系,比如查詢之前安裝的gnome-desktop3的依賴關(guān)系:
[root@localhost Packages]# rpm -qR gnome-desktop3
/sbin/ldconfig
/sbin/ldconfig
gnome-themes-standard
gsettings-desktop-schemas >= 3.5.91
libX11.so.6()(64bit)
libXext.so.6()(64bit)
libXrandr.so.2()(64bit)
以下省略...
可以看到gnome桌面依賴很多東西绳锅,所以手動(dòng)使用rpm解決依賴關(guān)系非常費(fèi)力西饵。
查詢是/bin/bash由哪個(gè)程序所提供:
[root@localhost Packages]# rpm -qf /bin/bash
bash-4.2.46-19.el7.x86_64
如果誤刪了某個(gè)文件,又不知道這個(gè)文件由哪個(gè)程序所提供鳞芙,還是可以使用-qf選項(xiàng)來查詢的眷柔,因?yàn)橄嚓P(guān)信息都存在rpm數(shù)據(jù)庫中。
獲取一個(gè)rpm包原朝,在安裝前驯嘱,查詢它的依賴關(guān)系,可以加上-p選項(xiàng)喳坠,比如查詢tree工具的依賴關(guān)系:
[root@localhost Packages]# rpm -qpR tree-1.6.0-10.el7.x86_64.rpm
warning: tree-1.6.0-10.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
rpmlib(PayloadIsXz) <= 5.2-1
注意這里需要給出程序包的文件路徑鞠评。
查詢系統(tǒng)上以c開頭的程序有幾個(gè):
[root@localhost ~]# rpm -qa | grep ^c | wc -l
48
3、yum命令
百科中的定義:
Yum(全稱為 Yellow dog Updater, Modified)是一個(gè)在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器壕鹉√昊希基于RPM包管理,能夠從指定的服務(wù)器自動(dòng)下載RPM包并且安裝晾浴,可以自動(dòng)處理依賴性關(guān)系负乡,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載脊凰、安裝抖棘。
可以將Yum當(dāng)作一個(gè)C/S架構(gòu)的服務(wù),客戶端是yum命令狸涌,服務(wù)器端就是yum的倉庫指向切省。所以要使用yum,首先得有yum倉庫杈抢,并且在本地的yum配置文件中指明倉庫的位置数尿。
(1) yum倉庫
yum倉庫(yum repository,又稱yum repo)惶楼,其中存儲(chǔ)了:
- 眾多rpm程序包右蹦;
所以yum倉庫首先是一個(gè)文件服務(wù)器。 - 程序包的相關(guān)元數(shù)據(jù)文件歼捐。
元數(shù)據(jù)文件存放在repodata這個(gè)特定的目錄下何陆,而yum配置文件中倉庫的位置就是指定repodata目錄所在的位置。
可以自己創(chuàng)建yum倉庫豹储,創(chuàng)建命令:
createrepo [options] <directory>
(2) yum的配置文件
yum的配置文件主要有兩類:
- /etc/yum.conf
這是yum命令的配置文件贷盲,為所有yum倉庫提供公共配置。
# man 5 yum.conf \\查看yum.conf配置文件的詳細(xì)說明
- /etc/yum.repos.d/*.repo
/etc/yum.repos.d/目錄下所有以.repo結(jié)尾的文件,用于指定yum倉庫指向的配置文件巩剖,每個(gè)文件中可以指定多個(gè)yum倉庫铝穷。
*.repo配置文件中,倉庫指向的定義:
- [repositoryID]
yum倉庫的標(biāo)識(shí)- name=Name for this repository
yum倉庫的名字- baseurl=url://path/to/repository/ (等號(hào)左右沒有空格)
yum倉庫的url佳魔,即repodata目錄所在的位置
在指定url時(shí)曙聂,某個(gè)站點(diǎn)會(huì)包含多個(gè)適用于不同系統(tǒng)的yum倉庫,它們的路徑會(huì)按系統(tǒng)版本和支持的平臺(tái)等來命名鞠鲜,如果通過手動(dòng)指定會(huì)因系統(tǒng)的不同而比較繁瑣宁脊,且容易出錯(cuò),所以yum的repo配置文件中定義了一些可用的變量:
- $releasever:當(dāng)前OS的發(fā)行版的主版本號(hào)贤姆;
- $arch:平臺(tái)
- $basearch:基礎(chǔ)平臺(tái)
- $YUM0-$YUM9:自定義
這些變量會(huì)獲取系統(tǒng)版本和平臺(tái)榆苞,自動(dòng)補(bǔ)全到url路徑中去。
- enabled={1|0}
是否啟動(dòng)(未指定的話霞捡,默認(rèn)啟動(dòng))- gpgcheck={1|0}
是否檢查來源合法性和完整性- repo_gpgcheck={1|0}
是否檢查repo元數(shù)據(jù)- gpgkey=URL
指明密鑰文件- enablegroups={1|0}
是否支持在此倉庫上執(zhí)行組坐漏,來批量管理程序包- failovermethod={roundrobin|priority}
baseurl指向多個(gè)時(shí),如何挑選(默認(rèn)為roundrobin弄砍,隨機(jī)挑選)仙畦;- cost=1000
默認(rèn)都為1000
(3) 通過yum命令管理程序
語法格式
yum [options] [command] [package ...]
常用的command
- repolist - 顯示倉庫列表
yum repolist [all|enabled|disabled]
可以顯示全部、已啟用和未啟用的(默認(rèn)顯示已啟用的)
- list - 顯示程序包
yum list [all | glob_exp1] [glob_exp2] [...]
yum list {available|installed|updates} [glob_exp1] [...]
可以根據(jù)通配符進(jìn)行匹配顯示音婶。
- install - 安裝程序包
yum install package1 [package2] [...]
默認(rèn)安裝最新版本
yum reinstall package1 [package2] [...]
重新安裝
- update - 升級(jí)程序包(如果不指定程序包慨畸,會(huì)升級(jí)所有已安裝的程序)
yum update [package1] [package2] [...]
- downgrade - 降級(jí)程序包
yum downgrade [package1] [package2] [...]
- check-update - 檢查可用升級(jí)
- remove | erase - 卸載程序包
yum remove | erase package1 [package2] [...]
- info - 查看程序包信息
- provides | whatprovides - 查看指定的特性(或文件)是由哪個(gè)程序包所提供:
yum provides | whatprovides feature1 [feature2] [...]
- clean - 清理本地緩存
yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all]
- makecache - 構(gòu)建緩存
yum makecache [fast]
- search - 以指定的關(guān)鍵字搜索程序包名及summary信息
yum search string1 [string2] [...]
- deplist - 查看指定包所依賴的capabilities
yum deplist package1 [package2] [...]
- history - 查看yum事務(wù)歷史
yum history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
- 包組管理的相關(guān)命令
yum grouplist [hidden] [groupwildcard] [...]
yum groupinstall group1 [group2] [...]
yum groupupdate group1 [group2] [...]
yum groupremove group1 [group2] [...]
yum groupinfo group1 [...]
常用的options
- --nogpgcheck:禁止進(jìn)行g(shù)pg check(即使配置文件中指定gpgcheck=1,也可以禁止)衣式;
- -y:自動(dòng)回答為“yes”寸士;
- -q:--quiet:靜默模式;
- --enablerepo=repoidglob:臨時(shí)啟用此處指定的repo碴卧;
- --disablerepo=repoidglob:臨時(shí)禁用此處指定的repo弱卡;
- --noplugins:禁用所有插件;
(4) yum倉庫配置示例
-
如何使用光盤或鏡像文件當(dāng)作本地yum倉庫
- 首先掛載光盤或鏡像文件至某目錄
[root@localhost ~]# mount -rt iso9660 /dev/cdrom /mnt/cdrom/
- 在/etc/yum.repos.d/下創(chuàng)建.repo結(jié)尾的配置文件住册,并按格式配置
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# vim Local.repo
[local]
name=CentOS7 local reposity
baseurl=file:///mnt/cdrom/
enable=1
gpgcheck=0
- 首先掛載光盤或鏡像文件至某目錄
-
配置網(wǎng)絡(luò)上的yum倉庫為yum源
以配置mirrors.aliyun.com為例:
[root@localhost ~]# cd /etc/yum.repos.d/
根據(jù)系統(tǒng)版本下載repo文件
[root@localhost yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo
--2018-05-21 14:07:53-- http://mirrors.aliyun.com/repo/Centos-7.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 124.238.245.105, 124.238.245.101, 124.238.245.104, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|124.238.245.105|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2573 (2.5K) [application/octet-stream]
Saving to: ‘Centos-7.repo’
100%[============================================================================================>] 2,573 --.-K/s in 0s
2018-05-21 14:07:53 (79.0 MB/s) - ‘Centos-7.repo’ saved [2573/2573]
查看yum倉庫婶博,aliyun的yum倉庫已添加成功
[root@localhost yum.repos.d]# yum repolist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
repo id repo name status
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 9,911
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 291
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 539
repolist: 10,741
(5) yum命令的相關(guān)示例
- 搜索mysql相關(guān)程序包:
[root@localhost yum.repos.d]# yum search mysql
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
========================================================= N/S matched: mysql ``=========================================================
MySQL-python.x86_64 : An interface to MySQL
akonadi-mysql.x86_64 : Akonadi MySQL backend support
apr-util-mysql.x86_64 : APR utility library MySQL DBD driver
以下省略
- 查看mdadm程序的相關(guān)信息:
[root@localhost yum.repos.d]# yum info mdadm
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Installed Packages
Name : mdadm
Arch : x86_64
Version : 3.3.2
Release : 7.el7
Size : 928 k
Repo : installed
以下省略
- 列出yum倉庫中可提供升級(jí)的本機(jī)程序:
[root@localhost ~]# yum list updates | less
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Updated Packages
ImageMagick.x86_64 6.7.8.9-15.el7_2 base
ImageMagick-perl.x86_64 6.7.8.9-15.el7_2 base
MySQL-python.x86_64 1.2.5-1.el7 base
以下省略
- 列出哪個(gè)程序提供了/bin/zsh這個(gè)文件
[root@localhost bin]# yum provides /bin/zsh
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
zsh-5.0.2-14.el7.x86_64 : Powerful interactive shell \\程序包名和程序簡介
Repo : local \\在哪個(gè)yum倉庫
Matched from:
Filename : /bin/zsh
以下省略