一:yum源簡介:
1.yum:全稱Yellow dog Updater, Modifier,是一個自由、開源的命令行軟件包管理工具,運行在基於RPM包管理的的Linux操作系統(例如RedHat、CentOS、Suse等)。 基於 RPM 包管理,能夠從指定的服務器自動下載 RPM 包並且安裝,可以自動處理依賴性關系,並且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。
2.yum是如何安裝軟件的
- yum倉庫(也稱yum源)用於存放各種rpm的軟件包以及軟件包之間的依賴關系(repodata目錄)
- 需要安裝軟件的計算機連接到指定yum倉庫來安裝軟件包
3.yum源作用
軟件包管理器,類似Windows下的軟件管家。
4.yum源優勢
解決軟件包之間的依賴關系,提高運維人員的工作效率。
5.yum分類
① 本地yum源
所謂本地yum源是指yum倉庫在本地,一般是本地系統光盤或鏡像文件。
② 網絡yum源
所謂網絡yum源是指yum倉庫在遠程(不在本地),需要聯網才能安裝。
- 國內較知名的網絡源(aliyun源,163源,sohu源,知名大學開源鏡像等)
- 國外較知名的網絡源(centos源、redhat源、紅帽擴展epel源等)
- 特定軟件相關的網絡源(Nginx、MySQL、Zabbix等)
二:yum源配置
二、yum源配置
說明:以下操作系統以Centos 6.5為例,其他Linux系統類似。
1. 本地yum源配置
① 掛載鏡像到本地操作系統
手動掛載光盤到指定目錄
[root@Heima ~]# mount -o ro /dev/sr0 /mnt
開機自動掛載
[root@Heima ~]# echo "mount -o ro /dev/sr0 /mnt" >> /etc/rc.local
或者
[root@Heima ~]# echo "/dev/sr0 /mnt iso9660 defaults,ro 0 0" >> /etc/fstab
說明:
1. /etc/rc.local文件是操作系統開機最后讀取的一個文件,該文件需要有可執行權限,開機時系統會幫你自動掛載,建議使用該方式。
2. /etc/fstab文件也可以,但是如果修改錯誤可能會導致系統起不來。
② 通過配置文件指定yum倉庫
進入到指定目錄里,清空操作系統默認的Centos源
[root@Heima ~]# cd /etc/yum.repos.d/
[root@Heima yum.repos.d]# rm -f ./*
在該目錄下創建以.repo結尾的文件
[root@Heima yum.repos.d]# vim local.repo
[local] 倉庫的名字,不要有特殊符號(自定義)
name=local yum 倉庫描述,可以不寫
baseurl=file:///mnt 指定yum倉庫的路徑(重要),file://表示本地倉庫
enabled=1 表示啟用該倉庫,1表示啟用;0表示不啟用
gpgcheck=0 不用校驗倉庫里軟件包的簽名,0表示不校驗;1表示校驗
2. 網絡yum配置
① 方法1:
直接通過修改配置文件來指定yum倉庫即可。
特定軟件的網絡源:
[root@Heima yum.repos.d]# cat nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1
基本軟件的網絡源:
[root@Heima yum.repos.d]# cat 163.repo
[163]
name=163 network yum
baseurl=http://mirrors.163.com/centos/6/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6
[root@Heima yum.repos.d]# cat aliyun.repo
[aliyun]
name=aliyun
baseurl=http://mirrors.aliyun.com/centos/6/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6
② 方法2:
通過安裝軟件包,自動創建.repo文件(自動配置)。
配置epel源為例:
1)下載epel源軟件包
[root@Heima ~]# wget -P /tmp https://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm --no-check-certificate
--2019-02-20 09:42:41-- https://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
Resolving mirrors.aliyun.com... 119.96.206.232, 116.211.153.230, 116.211.153.236, ...
Connecting to mirrors.aliyun.com|119.96.206.232|:443... connected.
WARNING: certificate common name “img.ucdl.pp.uc.cn” doesn’t match requested host name “mirrors.aliyun.com”.
HTTP request sent, awaiting response... 200 OK
Length: 14540 (14K) [application/x-redhat-package-manager]
Saving to: “/tmp/epel-release-6-8.noarch.rpm”
100%[================================================================================>] 14,540 --.-K/s in 0.03s
2019-02-20 09:42:41 (538 KB/s) - “/tmp/epel-release-6-8.noarch.rpm” saved [14540/14540]
2)安裝軟件包
[root@Heima ~]# rpm -ivh /tmp/epel-release-6-8.noarch.rpm
warning: /tmp/epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing... ########################################### [100%]
1:epel-release ########################################### [100%]
3)檢查配置文件
[root@Heima ~]# ls /etc/yum.repos.d/epel*
/etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel-testing.repo
三、yum工具相關命令
# yum install package -y
默認是安裝來自倉庫里的軟件,指定的是軟件名字。多個包空格隔開;-y (取消交互)
# yum install ./xxx.rpm
或者
# yum localinstall ./xxx.rpm
安裝來自本地指定路徑下的rpm包,而不是來自倉庫
# yum remove 或者 erase package
卸載軟件包
# yum update
更新倉庫里所有比本機已經安裝過的軟件要的軟件
# yum update package
指定升級的軟件
# yum search mysql
搜索出所有軟件名字“mysql”關鍵字的軟件
# yum provides "libaudiofile.so.0"
找出模塊由哪些軟件包提供
# yum clean all
清空之前的yum列表緩存
# yum makecache
創建新的緩存
# yum list
列出倉庫里的所有軟件包
# yum repolist
列出已配置的軟件倉庫
# yum list |grep 關鍵字
@代表已經安裝成功
# yum list installed
查看已安裝的包
# yum grouplist
查看包組
# yum groupinstall "包組"
安裝包組
# yum groupremove "包組"
四、總結
1. yum是Linux下用於安裝rpm軟件包的一個工具,要使用它安裝軟件包,必須提前配置yum源。
2. yum源分為本地yum源和網絡yum源。本地yum源指軟件倉庫在本地;網絡yum源指軟件倉庫在遠程。
3. 軟件倉庫里既有軟件包也要有repodata目錄,即存放軟件之間的依賴關系
4. yum工具安裝rpm軟件包的最大優勢就是解決軟件包的依賴關系,提高工作效率。
此文章來自知乎(傳智教育,如有侵權,告知必刪)