yum(全稱為 Yellow dog Updater, Modified)
yum作用
yum是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器?;赗PM包管理,能夠從指定的服務器自動下載,RPM包并且安裝,可以自動處理依賴性關系.
yum工作原理
基于c/s機構,在server端,存放了rpm包及rpm元數據,元數據的內容包括:rpm包說明、版本信息、依賴性等。客戶端需要用yum時。寫一個配置文件,把路徑指向yum服務器,客戶端向服務端發起請求,服務端先把元數據信息緩存至客戶端,根據緩存信息再下載對應的rpm包至客戶端進行安裝。
yum緩存帶來的額外問題
如果yum服務端地址發生改變,客戶端也重新指定了路徑,但客戶端中緩存rpm的元數據還是比較老舊的,會導致安裝失敗,此時需要清除yum緩存,執行命令yum clean all。
yum配置文件
/etc/yum.conf
[main] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ###yum的名稱
cachedir=/var/cache/yum/$basearch/$releasever? ###元數據緩存,$basearch表示架構$releasever 表示版 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 本信息
keepcache=0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ###rpm包緩存,0表示不緩存
debuglevel=2
logfile=/var/log/yum.log ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ###日志信息
exactarch=1
obsoletes=1
gpgcheck=1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ###檢查rpm包簽名和完整性
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
配置yum
1.確保本地光盤已經掛載
mount /dev/sr0 /mnt/cdrom
2.在/etc/yum.repos.d/目錄下編輯一個配置文件,以.repo后綴結尾的文件,如果該目錄下還有系統自帶配置的yum,先暫時禁用
[base] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ###容器名稱
baseurl=file:///mnt/cdrom ? ? ? ? ?? ###本地yum路徑,找到光盤中repodata父目錄即為yum路徑
gpgcheck=0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ###不檢rpm包查簽名和完整性
一個簡單的yum源配置完成,注:file后面的路徑跟的是本地yum源的路徑,http、https、ftp則跟的是網絡yum的路徑
3.還可以根據需要添加epel源
[base]
baseurl=file:///mnt/cdrom
gpgcheck=0
[epel]
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
gpgcheck=0
添加完成后清除緩存yum clean all
3.檢查簽名和完整性
gpgcheck=0表示不檢查簽名和完整性,檢查簽名和完整性需要導入公鑰后才能檢查,把此項換成gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7,系統則可根據路徑自動導入密鑰,也可以手動導入密鑰rpm –import RPM-GPG-KEY-CentOS-6。
4.臨時禁用repo容器,在其后面加上
enabled=0
5.baseurl可以寫多個路徑
baseurl=file:///mnt/cdrom
http://172.20.0.1/centos/7/
6.mirrorlist列表
mirrorlist=/data/baselist
baselist存放的內容如:
file:///mnt/cdrom
http://172.20.0.1/centos/7/
yum相關命令
yum repolist 列出所有repo容器
yum repolist 列出所有repo容器包括禁用的
yum list 列出所有包(緩存元數據)
配置網絡yum源
按照https://mirrors.aliyun.com/centos/7/os/x86_64/格式配置一個專門yum服務器,為網絡中的多臺服務器提供yum服務(實驗環境centos7)
1.在服務端安裝http并啟動服務 ?服務器ip172.20.109.4
yum -y install httpd
systemctl start httpd
注意關閉防火墻
systemctl stop firewalld
systemctl disable firewalld
2.在/var/www/html/下創建目錄
mkdir -p centos/{6,7}/os/x86_64
3.把6和7版本光盤中文件分別拷入/var/www/html/centos/6/os/x86_64和/var/www/html/centos/7/os/x86_64目錄中,或者以光盤掛載形式
cp -avr /mnt/cdrom/* /var/www/html/centos/7/os/x86_64/
scp -vr /mnt/cdrom/* /var/www/html/centos/6/os/x86_64/
4.在瀏覽器上分別輸入路徑
http://172.20.109.4/ centos/7/os/x86_64/
http://172.20.109.4/ centos/6/os/x86_64/
5.在網絡中的所有客戶端服務器均可根據版本選擇設置baseurl
baseurl= http://172.20.109.4/ centos/7/os/x86_64/
baseurl= http://172.20.109.4/ centos/6/os/x86_64/
也可以引用變量,無論在6版本和7版本,寫成如下形式:
baseurl= http://172.20.109.4/ centos/ $releasever/os/ $basearch/
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/96812