centos 7 配置yum本地源及yum命令使用

我們在介紹yum本地源的時候 先給大家談談RPM安裝。

RPM(Redhat Package Manager)解決源碼包安裝的衆多依賴關係,,旨在校驗安裝卸載查詢升級等管理軟件操作。

安裝:rpm -ivh filename.rpm

升級:rpm -Uvh filename.rpm

卸載:rpm -e filename.rpm

查詢軟件的描述信息:rpm -qpi filename

列出軟件的文件信息:rpm -qpl filename.rpm

查詢文件數據哪個RPM: rpm -qf filename


雖然RPM能幫助用戶查詢軟件相關的依賴關係,但還是要靠我們自己解決,如依賴關係衆多這對於我們而言也是不小的負擔

YUM倉庫則是爲進一步簡化RPM管理軟件難度而設計的,能分析出所需軟件包及相關依賴關係,自動從服務器下載軟件包並安裝。

YUM:Yellowdog Updater Modified  

 

 

    Yum(全稱爲 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。(bing 詞典)

 

    yum可以檢測軟件間的依賴性,並提示用戶解決,將發佈的軟件放到yum server,然後分析這些軟件的依賴關係,然後將軟件相關性記錄成列表。當客戶端有軟件安裝請求時,yum客戶端在yum服務器上下載記錄列表,然後通 過列表信息與本機rpm數據庫已安裝軟件數據對比,明確軟件的依賴關係,能夠判斷出那些軟件需要安裝。

    列表信息保存在yum客戶端的/var/cache/yum中,每次yum啓動都會通過校驗碼與yum服務器同步更新列表信息。

    使用yum需要有yum repositories,用來存放軟件列表信息和軟件包。yum repositories可以是http站點,ftp站點,本地站點。

    路徑格式:

       ftp://hostname/PATH/TO/REPO   REPO指repodata所在路徑的父目錄
         http://hostname/PATH/TO/REPO  
         file:///PATH/TO/REPO     

 



本文中的“本地YUM源”包括三種類型:一是直接使用CentOS光盤作爲本地yum源,優點是簡單便捷,缺點是光盤軟件包可能不完整(centos 7 Everything 總共才6.57G);二是同步CentOS官方源到本地(相當於創建了一個公共鏡像),優點是最靠譜,缺點是佔空間費流量;三是創建完全自定義的本地源,優點是靈活性最大,缺點是隻是作爲其他源的補充。

一、使用CentOS光盤作爲本地yum源

(1) 實體機上直接放入光盤
(2) VMware Workstation 虛擬機:虛擬機-->可移動設備-->CD/DVD-->連接

複製代碼

代碼如下:


mkdir /mnt/cdrom #創建目錄
mount /dev/cdrom /mnt/cdrom #掛載
umount /mnt/cdrom #卸載
若不想每次都要放光盤,那就複製光盤文件到本地硬盤吧
[code]
cp -avf /mnt/cdrom /yum # -a:該選項保留鏈接、文件屬性,並遞歸地複製目錄


2、創建repo文件



複製代碼

代碼如下:


cat >>/etc/yum.repos.d/CentOS-Local.repo<<-EOF
[Local]
name=Local Yum
baseurl=file:///yum/
gpgcheck=1(是否檢查)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1(啓用爲1)


問:爲什麼連createrepo軟件都不用安裝?

createrepo 的作用是創建索引文件的(位於repodata文件夾),光盤中連GPG-KEY都有了。

二、如何爲CentOS創建公共鏡像

詳細說明見官方中文文檔:

http://wiki.centos.org/zh/HowTos/CreatePublicMirrors

提供一個SHELL腳本,然後cron自動運行~~

腳本稍作修改,換成中科大的鏡像源。可用鏡像列表見:http://www.centos.org/download/mirrors/


複製代碼

代碼如下:


localpath="/mirrors/CentOS"
mirror="mirrors.hustunique.com::centos"
rsync="rsync -avzH --delete"</p> <p>verlist="7"
baselist="centosplus extras fasttrack os updates"
archlist="x86_64"</p> <p>for ver in $verlist
do
for base in $baselist
do
for arch in $archlist
do
remote=$mirror/$ver/$base/$arch/
mkdir -pv $localpath/$ver/$base/$arch/
$rsync $remote $localpath/$ver/$base/$arch/
done
done
done</p> <p>


三、創建完全自定義的本地源

把平時收藏的一些RPM軟件包放在一個目錄裏,就變成一個自定義源了,可以用YUM來管理,靈活性相當大。

官方教程:How to setup your own package repository 

1、創建本地yum倉庫

複製代碼

代碼如下:


mkdir -p /yum/local #可以有N級目錄
cp ... #複製RPM包到上述目錄


2、創建repo文件

複製代碼

代碼如下:


cat >>/etc/yum.repos.d/CentOS-Local.repo<<-EOF
[Local]
name=Local Yum
baseurl=file:///yum/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1


3、安裝createrepo


複製代碼

代碼如下:


yum install createrepo #使用yum安裝createrepo
rpm -ivh <a href="http://mirror.centos.org/centos/7/os/x86_64/Packages/createrepo-0.9.9-23.el7.noarch.rpm">http://mirror.centos.org/centos/7/os/x86_64/Packages/createrepo-0.9.9-23.el7.noarch.rpm</a>


4、創建索引


複製代碼

代碼如下:


createrepo /yum
yum makecache #更新緩存


YUM命令使用

yum info 軟件包名稱    查看軟件包信息

yum install 軟件包名稱   安裝軟件包

yum reinstall 軟件包名稱   重新安裝軟件包

yum update 軟件包  升級軟件包

yum remove 軟件包 移除軟件包

yum clean alla  清楚所有倉庫緩存

yum grouplist 查看系統中已經安裝的軟件包

yum check-update   查看可更新軟件包

yum grouplist   查看系統中已經安裝的軟件包組

yum groupinstall軟件包組   安裝制定的軟件包組

yum groupremove 軟件包組   移除指定的軟件包組

yum groupinfo 軟件包組  查詢制定的軟件包組信息


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章