Linux之軟件包管理器yum詳解
軟件包
大多數(shù)現(xiàn)代的類 Unix 操作系統(tǒng)都提供了一種中心化的機(jī)制用來搜索和安裝軟件。軟件通常都是存放在存儲庫中,并通過包的形式進(jìn)行分發(fā)。處理包的工作被稱為包管理。包提供了操作系統(tǒng)的基本組件,以及共享的庫、應(yīng)用程序、服務(wù)和文檔。軟件包和軟件包管理器, 就好比 “App” 和 “應(yīng)用商店” 這樣的關(guān)系.
包管理系統(tǒng)除了安裝軟件外,它還提供了工具來更新已經(jīng)安裝的包。包存儲庫有助于確保你的系統(tǒng)中使用的代碼是經(jīng)過審查的,并且軟件的安裝版本已經(jīng)得到了開發(fā)人員和包維護(hù)人員的認(rèn)可。
在配置服務(wù)器或開發(fā)環(huán)境時(shí),我們最好了解下包在官方存儲庫之外的情況。某個(gè)發(fā)行版的穩(wěn)定版本中的包有可能已經(jīng)過時(shí)了,尤其是那些新的或者快速迭代的軟件。然而,包管理無論對于系統(tǒng)管理員還是開發(fā)人員來說都是至關(guān)重要的技能,而已打包的軟件對于主流 Linux 發(fā)行版來說也是一筆巨大的財(cái)富。
大多數(shù)包系統(tǒng)都是圍繞包文件的集合構(gòu)建的。包文件通常是一個(gè)存檔文件,它包含已編譯的二進(jìn)制文件和軟件的其他資源,以及安裝腳本。包文件同時(shí)也包含有價(jià)值的元數(shù)據(jù),包括它們的依賴項(xiàng),以及安裝和運(yùn)行它們所需的其他包的列表。
雖然這些包管理系統(tǒng)的功能和優(yōu)點(diǎn)大致相同,但打包格式和工具卻因平臺而異:

yum
yum( Yellow dog Updater, Modified)是一個(gè)在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端軟件包管理器。
基于 RPM 包管理,能夠從指定的服務(wù)器自動(dòng)下載 RPM 包并且安裝,可以自動(dòng)處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。
yum 提供了查找、安裝、刪除某一個(gè)、一組甚至全部軟件包的命令,而且命令簡潔而又好記。
- 需要root權(quán)限
- 本地會(huì)有個(gè)yum的配置文件,告訴yum去哪些網(wǎng)站找資源。
- 首先要找一個(gè)yum庫(源),然后確保本地有一個(gè)客戶端(yum這個(gè)命令就是客戶端),由yum程序去連接服務(wù)器。
- 連接的方式是由配置文件決定的。通過編輯/etc/yum.repos.d/CentOS-Base.repo文件,可以修改設(shè)置。
- yum 軟件可以用 rpm 命令安裝,安裝之前可以通過如下命令查看 yum 是否已安裝:
rpm -qa | grep yum ...
yum語法
yum [options] [command] [package ...]
- options:可選,選項(xiàng)包括-h(幫助),-y(當(dāng)安裝過程提示選擇全部為 “yes”),-q(不顯示安裝的過程)等等。
- command:要進(jìn)行的操作。
- package:安裝的包名。
yum常用命令
列出所有可安裝的軟件清單命令:
yum list | grep 軟件包名
yum安裝:
yum install -y 軟件包名
yum卸載:
yum remove -y 軟件包名
- 查看yum軟件版本:
yum --version
- 查找軟件包命令
yum search 包名
yum源配置文件介紹
一般情況下,只要你的主機(jī)網(wǎng)絡(luò)正常,可以直接使用網(wǎng)絡(luò) yum 源,不需要對配置文件做任何修改,這里對 yum 源配置文件做一下簡單介紹。
網(wǎng)絡(luò) yum 源配置文件位于 /etc/yum.repos.d/ 目錄下,文件擴(kuò)展名為"*.repo"(只要擴(kuò)展名為 “*.repo” 的文件都是 yum 源的配置文件)。
[root@VM-12-7-centos ~]$ ls /etc/yum.repos.d CentOS-Base.repo CentOS-Epel.repo
我的云服務(wù)器里面啥也沒有,但能安裝軟件…, 配置過的應(yīng)該是這樣子的
[root@localhost yum.repos.d]# vim /etc/yum.repos.d/ CentOS-Base.repo [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-6
yum 源容器,這里只列出了 base 容器,其他容器和 base 容器類似。
- [base]:容器名稱,一定要放在[]中。
- name:容器說明,可以自己隨便寫。
- mirrorlist:鏡像站點(diǎn),這個(gè)可以注釋掉。
- baseurl:我們的 yum 源服務(wù)器的地址。默認(rèn)是 CentOS 官方的 yum 源服務(wù)器,是可以使用的。如果你覺得慢,則可以改成你喜歡的 yum 源地址。
- enabled:此容器是否生效,如果不寫或?qū)懗?enabled 則表示此容器生效,寫成 enable=0 則表示此容器不生效。
- gpgcheck:如果為 1 則表示 RPM 的數(shù)字證書生效;如果為 0 則表示 RPM 的數(shù)字證書不生效。
- gpgkey:數(shù)字證書的公鑰文件保存位置。不用修改。
更新yum源
進(jìn)入yum源目錄:
cd /etc/yum.repos.d ll //查看yum源目錄里的文件
將“CentOS-Base.repo”重命名備份為“CentOS-Base.repo.old”
mv CentOS-Base.repo CentOS-Base.repo.old ls //...可以看到已經(jīng)重命名
從阿里云下載yum源
wget http://mirrors.aliyun.com/repo/Centos-7.repo 騰訊云源: 公網(wǎng)訪問地址: http://mirrors.cloud.tencent.com/ 或 http://mirrors.tencent.com 內(nèi)網(wǎng)訪問地址: http://mirrors.tencentyun.com/
將新的源改名為“CentOS-Base.repo”
mv Centos-7.repo CentOS-Base.repo
讓yum重新緩存新的數(shù)據(jù)
yum update -y
經(jīng)過一段時(shí)間的等待后,看到“完畢 !”,光標(biāo)停留在命令輸入處,代表更新成功…
查看已經(jīng)安裝軟件的方法
rpm包安裝的,可以用rpm -qa看到,如果要查找某軟件包是否安裝,用 rpm -qa | grep “軟件或者包的名字”。
rpm -qa | grep 軟件包名
yum方法安裝的,可以用yum list installed查找,如果是查找指定包,命令后加 | grep “軟件名或者包名”;
yum list installed | grep 軟件包名
以源碼包自己編譯安裝的,例如.tar.gz或者tar.bz2形式的,只能看可執(zhí)行文件是否存在。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SSH端口轉(zhuǎn)發(fā)實(shí)現(xiàn)內(nèi)網(wǎng)穿透的實(shí)現(xiàn)
這篇文章主要介紹了SSH端口轉(zhuǎn)發(fā)實(shí)現(xiàn)內(nèi)網(wǎng)穿透的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
linux上安裝zookeeper 啟動(dòng)和關(guān)閉的教程
這篇文章主要介紹了linux上安裝zookeeper 啟動(dòng)和關(guān)閉的教程詳解,首先zookeeper運(yùn)行需要java環(huán)境所以必須先裝JDK,具體操作步驟大家一起看看本文吧2018-08-08
Linux find命令如何根據(jù)時(shí)間篩選出文件進(jìn)行刪除
這篇文章主要介紹了Linux find命令如何根據(jù)時(shí)間篩選出文件進(jìn)行刪除的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-07-07
開發(fā)環(huán)境Ubuntu16安裝以后的初始化設(shè)置
今天小編就為大家分享一篇關(guān)于開發(fā)環(huán)境ubuntu16安裝以后的初始化設(shè)置,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10
CentOS 7.2搭建VNC遠(yuǎn)程桌面服務(wù)的方法
本篇文章主要介紹了CentOS 7.2搭建VNC遠(yuǎn)程桌面服務(wù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03
Linux Shell echo命令/printf命令/test命令使用及說明
本文介紹了Linux常用的echo、printf和test命令的用法和功能,對字符串輸出、格式化顯示以及條件測試進(jìn)行了簡明講解,并提供了相關(guān)示例,適合腳本編寫參考2025-10-10
centos 6.8命令行下使用pptpsetup進(jìn)行pptp撥號的實(shí)現(xiàn)方法
centos 6.8 命令行下可使用pptpsetup進(jìn)行pptp撥號,首先安裝ppp,pptp和pptp-setup三個(gè)包,使用pptpsetup進(jìn)行連接,下面給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2016-10-10
Linux下Squid代理服務(wù)器的架設(shè)與維護(hù)經(jīng)驗(yàn)分享
現(xiàn)有Chinanet ip 126個(gè),不可能分給所有的用戶使用。通過架設(shè)代理服務(wù)器來實(shí)現(xiàn)讓所有用戶使用網(wǎng)絡(luò)資源是最簡單并且相對安全和可靠的方法。2011-06-06

