軟件管理yum--技術流ken
軟件管理yum
也是一個rpm包的管理工具,可以實現自動解決rpm包的依賴關系(自動安裝依賴順序進行rpm包的安裝)
為何rpm包會有依賴關系?
制作rpm的人,在制作rpm包的時候,就將這個rpm的所依賴的軟件的信息保存在這個rpm包的內部
yum的工作原理
1. 需要首先創建一個yum倉庫(rpm包倉庫、軟件倉庫)
1)倉庫其實就是一個目錄
2)倉庫中存放的是rpm包
3)倉庫中還保存了一個文件,文件中記錄了該倉庫中所有rpm包的元數據信息
4)元數據信息包括
軟件名
軟件版本
軟件是否已經安裝
軟件的依賴關系
2. 用 yum 來從倉庫中找軟件進行安裝的過程(比如要安裝軟件A,A依賴B 和C, B依賴C D)
1)yum首先會掃描保存元數據信息的文件,檢查A是否已經安裝,如果已經安裝,那提示已經安裝
2)如果A尚未安裝,那麽掃描A的依賴關系信息,會發現A 依賴B 和C
3)yum會再次掃描元數據文件,檢測B C 是否安裝,如果都已經安裝,那麽會開始開始安裝A
4)如果B C尚未安裝,那麽會檢測 B C的依賴關系,會發現B依賴C D
5)yum會再次掃描元數據文件,檢測C D是否安裝,如果都已經安裝,那麽會開始開始安裝B,然後安裝C,,然後安裝A
yum倉庫
本地:將本地的一個目錄做成yum倉庫,只有當前系統可以
網絡:通過網絡將服務器上的一個目錄作為yum倉庫,網絡中的全部主機都可以用
使用yum倉庫的方式,就是修改yum的配置文件
yum的配置文件
主:/etc/yum.conf
子:/etc/yum.repos.d/*.repo
/etc/yum.conf文件
cachedir=/var/cache/yum/$basearch/$releasever
指定緩存文件的保存位置,默認:/var/cache/yum/x86_64/7/
keepcache=0
指定是否保留緩存文件
用yum安裝軟件過程中會從yum倉庫下載並緩存多個資源
1)會將yum倉庫的元數據文件緩存到配置文件所指定的路徑中
2)會將要安裝的軟件及其依賴的軟件一並緩存到配置文件指定的目錄中
yum配置文件的構成
[localRpm] <<< 指定yum倉庫的id,可以隨便寫,但是中間不能有空格
name=xxx <<< 指定yum倉庫的名稱,可以隨便寫
enabled=0|1 <<< 指定是否使用該yum倉庫,0表示不使用;1表示使用
gpgcheck=0|1 <<< 指定是否對rpm包做完整性和來源合法性驗證,0表示不做驗證;1表示必須做驗證
gpgkey= <<< 指定公鑰文件(如果gpgcheck=1,那麽該項不能省略)
baseurl= <<< 指定yum倉庫的url
yum倉庫的url的表示方式
註意:在指定yum倉庫的時候,其實不是指向rpm包的目錄,而是執行repodata所在目錄
本地yum倉庫
file://
例子:比如我的yum倉庫 /myrpm,此時yum倉庫的表示方式就是file:///myrpm
網絡yum倉庫
http://
創建本地yum倉庫
案例1:
第一步:創建目錄
# mkdir /myrpm
第二步:在倉庫中準備一個用於測試的rpm
# cp /mnt/Packages/* /myrpm -rvf
第三步:安裝用於生成元數據文件的工具(createrepo)
# rpm -ivh /mnt/Packages/deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
# rpm -ivh /mnt/Packages/python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
# rpm -ivh /mnt/Packages/createrepo-0.9.9-22.el6.noarch.rpm
第四步:生成元數據
# createrepo /myrpm
第五步:檢查
# ls /myrpm
案例2:
使用光盤中的rpm包作為yum倉庫
第一步:掛載光盤
# mount /dev/cdrom /media
第二步:備份yum自帶的配置文件
# cd /etc/yum.repos.d
# mkdir bak
# mv *.repo bak
第三步:創建yum的配置文件,使用光盤作為yum倉庫
# vim 1.repo
[myrepo]
name=my repo
enabled=1
gpgcheck=0
baseurl=file:///media
第四步:執行yum命令檢測結果
# yum clean all <<< 清空yum緩存的全部數據
# yum repolist <<< 檢查yum倉庫中有多少個可用的rpm包
yum使用
1. 安裝軟件
yum -y install 軟件1 軟件2 軟件3 ....
2. 卸載軟件
yum -y remove 軟件1 軟件2 軟件3 ....
3. 管理包組
grouplist:查看系統中的全部的包組
groupinfo 包組名:查看指定包組的信息(包組的作用、包含的軟件)
groupinstall 包組名:安裝指定的包組
groupremove 包組名:卸載指定的包組
4. 管理yum的緩存數據
clean [ packages | metadata | all ]
all:清除所有數據
packages:僅僅清除rpm包
metadata:僅僅清理緩存元數據
5. 查看所有已經安裝和尚未安裝rpm包
yum list all 或者yum list 可以列出所有的軟件包
6. yum list available:僅僅顯示可以安裝但是尚未安裝的rpm包
7. yum list installed:僅僅顯示已經安裝rpm包
@:表示已經安裝rpm
8. 查看yum倉庫的信息
yum repolist
網絡yum源的使用方式
國內主流的網絡yum倉庫地址
mirrors.aliyun.com
mirrors.163.com
mirrors.sohu.com
rpm的yum源
centos提供的
epel提供的:
例子:使用aliyun提供的epel 和centos的yum源
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
vim new.repo
[centos]
name=centos repo
enabled=1
gpgcheck=0
baseurl=http://mirrors.163.com
[epel]
name=epel repo
enabled=1
enabled=1
baseurl=http://xxxx
制作一個網絡yum源
思路:在網絡上準備一個主機,在其中安裝一個web服務器軟件(比如apache),然後創建一個目錄,在這個目錄中準備上yum倉庫的全部資源,如果用戶可以通過網絡訪問到該主機的這個目錄,那麽這個目錄就成為網絡yum倉庫
實現過程
第一步:配置yum源主機
1)安裝配置apache
略
2)配置yum倉庫相關資源
1. 創建一個目錄,作為存儲yum資源的目錄
# mkdir /usr/local/apache/htdocs/mysource
2. 掛載光盤
# mount /dev/cdrom /mnt
3. 將光盤中的資源復制到前面所創建的目錄下
# cp /mnt/* /usr/local/apache/htdocs/mysource -rvf
4. 用瀏覽器訪問一下yum倉庫,檢查是否可以看到相關文件
http://ip/mysource
第二步:配置客戶端主機
修改yum配置文件
1)備份原有的配置文件
# mkdir bak
# mv *.repo bak
# vim a.repo
[]
name
enabled=
gpgcheck=
baseurl=http://ip/mysource
2)測試一下
# yum repolist
軟件管理yum--技術流ken