Linux操作系統(tǒng)對(duì)于我們技術(shù)人員,不管是開(kāi)發(fā),測(cè)試還是運(yùn)維都應(yīng)該是耳熟能詳?shù)囊粋€(gè)操作系統(tǒng)。既然如此,那么就繞不開(kāi)在Linux操作系統(tǒng)下安裝軟件包。在Linux下安裝軟件包的方式有三種,分別是rpm安裝、源碼編譯安裝、yum安裝。接下來(lái)我們就重點(diǎn)介紹一下最常用、最好用的一種安裝方式,即yum方式安裝,因?yàn)樗軌驇椭覀兘鉀Q軟件包之間的依賴(lài)關(guān)系來(lái)提高工作效率哦。
一、yum知多少
1. yum是如何安裝軟件的
l yum倉(cāng)庫(kù)(也稱(chēng)yum源)用于存放各種rpm的軟件包以及軟件包之間的依賴(lài)關(guān)系(repodata目錄)
l 需要安裝軟件的計(jì)算機(jī)連接到指定yum倉(cāng)庫(kù)來(lái)安裝軟件包
2. yum源作用
軟件包管理器,類(lèi)似Windows下的軟件管家。
3. yum源優(yōu)勢(shì)
解決軟件包之間的依賴(lài)關(guān)系,提高運(yùn)維人員的工作效率。
4. yum源分類(lèi)
① 本地yum源
所謂本地yum源是指yum倉(cāng)庫(kù)在本地,一般是本地系統(tǒng)光盤(pán)或鏡像文件。
② 網(wǎng)絡(luò)yum源
所謂網(wǎng)絡(luò)yum源是指yum倉(cāng)庫(kù)在遠(yuǎn)程(不在本地),需要聯(lián)網(wǎng)才能安裝。
- 國(guó)內(nèi)較知名的網(wǎng)絡(luò)源(aliyun源,163源,sohu源,知名大學(xué)開(kāi)源鏡像等)
- 國(guó)外較知名的網(wǎng)絡(luò)源(centos源、redhat源、紅帽擴(kuò)展epel源等)
- 特定軟件相關(guān)的網(wǎng)絡(luò)源(Nginx、MySQL、Zabbix等)
二、yum源配置
說(shuō)明:以下操作系統(tǒng)以Centos 6.5為例,其他Linux系統(tǒng)類(lèi)似。
1. 本地yum源配置
① 掛載鏡像到本地操作系統(tǒng)
手動(dòng)掛載光盤(pán)到指定目錄
[root@Heima ~]# mount -o ro /dev/sr0 /mnt
開(kāi)機(jī)自動(dòng)掛載
[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
說(shuō)明:
1. /etc/rc.local文件是操作系統(tǒng)開(kāi)機(jī)最后讀取的一個(gè)文件,該文件需要有可執(zhí)行權(quán)限,開(kāi)機(jī)時(shí)系統(tǒng)會(huì)幫你自動(dòng)掛載,建議使用該方式。
2. /etc/fstab文件也可以,但是如果修改錯(cuò)誤可能會(huì)導(dǎo)致系統(tǒng)起不來(lái)。
② 通過(guò)配置文件指定yum倉(cāng)庫(kù)
進(jìn)入到指定目錄里,清空操作系統(tǒng)默認(rèn)的Centos源
[root@Heima ~]# cd /etc/yum.repos.d/
[root@Heima yum.repos.d]# rm -f ./*
在該目錄下創(chuàng)建以.repo結(jié)尾的文件
[root@Heima yum.repos.d]# vim local.repo
[local] 倉(cāng)庫(kù)的名字,不要有特殊符號(hào)(自定義)
name=local yum 倉(cāng)庫(kù)描述,可以不寫(xiě)
baseurl=file:///mnt 指定yum倉(cāng)庫(kù)的路徑(重要),file://表示本地倉(cāng)庫(kù)
enabled=1 表示啟用該倉(cāng)庫(kù),1表示啟用;0表示不啟用
gpgcheck=0 不用校驗(yàn)倉(cāng)庫(kù)里軟件包的簽名,0表示不校驗(yàn);1表示校驗(yàn)
2. 網(wǎng)絡(luò)yum配置
① 方法1:
直接通過(guò)修改配置文件來(lái)指定yum倉(cāng)庫(kù)即可。
特定軟件的網(wǎng)絡(luò)源:
[root@Heima yum.repos.d]# cat nginx.repo
[nginx]
name=nginx repo
baseurl=http:///packages/centos/6/$basearch/
gpgcheck=0
enabled=1
基本軟件的網(wǎng)絡(luò)源:
[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:
通過(guò)安裝軟件包,自動(dòng)創(chuàng)建.repo文件(自動(dòng)配置)。
配置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工具相關(guān)命令
# yum install package -y
默認(rèn)是安裝來(lái)自倉(cāng)庫(kù)里的軟件,指定的是軟件名字。多個(gè)包空格隔開(kāi);-y (取消交互)
# yum install ./xxx.rpm
或者
# yum localinstall ./xxx.rpm
安裝來(lái)自本地指定路徑下的rpm包,而不是來(lái)自倉(cāng)庫(kù)
# yum remove 或者 erase package
卸載軟件包
# yum update
更新倉(cāng)庫(kù)里所有比本機(jī)已經(jīng)安裝過(guò)的軟件要的軟件
# yum update package
指定升級(jí)的軟件
# yum search mysql
搜索出所有軟件名字“mysql”關(guān)鍵字的軟件
# yum provides "libaudiofile.so.0"
找出模塊由哪些軟件包提供
# yum clean all
清空之前的yum列表緩存
# yum makecache
創(chuàng)建新的緩存
# yum list
列出倉(cāng)庫(kù)里的所有軟件包
# yum repolist
列出已配置的軟件倉(cāng)庫(kù)
# yum list |grep 關(guān)鍵字
@代表已經(jīng)安裝成功
# yum list installed
查看已安裝的包
# yum grouplist
查看包組
# yum groupinstall "包組"
安裝包組
# yum groupremove "包組"
四、總結(jié)
1. yum是Linux下用于安裝rpm軟件包的一個(gè)工具,要使用它安裝軟件包,必須提前配置yum源。
2. yum源分為本地yum源和網(wǎng)絡(luò)yum源。本地yum源指軟件倉(cāng)庫(kù)在本地;網(wǎng)絡(luò)yum源指軟件倉(cāng)庫(kù)在遠(yuǎn)程。
3. 軟件倉(cāng)庫(kù)里既有軟件包也要有repodata目錄,即存放軟件之間的依賴(lài)關(guān)系
4. yum工具安裝rpm軟件包的最大優(yōu)勢(shì)就是解決軟件包的依賴(lài)關(guān)系,提高工作效率。
學(xué)習(xí)資源: