通過rmp安裝Linux包時由於依賴關係原因總是提示需先安裝其依賴的包,創建yum既是先將所有的系統安裝包創建一個庫,然后對所有安裝包進行一個依賴關係分析,那么在下次安裝rpm包時則會自動依據創建的yum去安裝所依賴的所有包。比如安裝Oracle時就需安裝N多個依賴包,如果通過yum來裝就省去了先查找安裝這些依賴的包了,方便很多。下面以創建本地YUM為例,當然最好的是創建ftp YUM,那么其它人也可直接通過它來安裝。
一.创建个目录
mkdir /u2/yum/pub
并从光盘中(我的目錄是media/RHEL_5.4\ DVD)所有安裝包(主要有Server,VT,Cluster,ClusterStorage)複製至此目錄(/u2/yum/pub)。
cp -rv /media/RHEL_5.4\ DVD/Server /u2/yum/pub/
cp -rv /media/RHEL_5.4\ DVD/VT /u2/yum/pub/
cp -rv /media/RHEL_5.4\ DVD/Cluster /u2/yum/pub/
cp -rv /media/RHEL_5.4\ DVD/ClusterStorage /u2/yum/pub/
二.安装createrepo
createrepo是配置YUM源的配置工具,检查当前是否已经安装createrepo包
# rpm -qa |grep createrepo
如果显示为尚未安装,则需要执行如下的命令完成安装:
# rpm -ivh /media/ RHEL_5.4/Server/createrepo-0.4.4-2.fc6.noarch.rpm
ps:版本因操作系统的版本有所区别,请查找当前系统的createrepo版本
三.创建yum repository的xml-rpm-metadata包依賴關係文件
#createrepo -g /u2/yum/pub/Server/repodata/comps-rhel5-server-core.xml /u2/yum/pub/Server/
#createrepo -g /u2/yum/pub/VT/repodata/comps-rhel5-vt.xml /u2/yum/pub/VT/
#createrepo -g /u2/yum/pub/Cluster/repodata/comps-rhel5-cluster.xml /u2/yum/pub/Cluster/
#createrepo-g /u2/yum/pub/ClusterStorage/repodata/comps-rhel5-cluster-st.xml /u2/yum/pub/ClusterStorage/
执行createrepo命令后系统会自动扫描相关目录,将rpm包加入到YUM源的数据库中。如下圖
四.创建本地yum客户端的repo文件
# vi /etc/yum.repos.d/local.repo(名字可以随便起,但是要以.repo为后缀)
[Server] #(yum块区域)
name=Server # (名字可以随便起)
baseurl=file:///u2/yum/pub/Server #(搜索路径,必须指向你本机的yum源路径,如果架設的是FTP yum則是ftp://目錄形式)
gpgcheck=0 #(gpgcheck是gpg验证是否开启的选项,1是开启,0是不开启,一般情况可以关掉)
enabled=1 #(是否启用,0为不启用,1为启用,过没这一项,就是启用)
[VT]
name=VT
baseurl=file:///u2/yum/pub/VT
gpgcheck=0
enabled=1
[Cluster]
name=Cluster
baseurl=file:///u2/yum/pub/Cluster
gpgcheck=0
enabled=1
[ClusterStorage]
name=ClusterStorage
baseurl=file:///u2/yum/pub/ClusterStorage
gpgcheck=0
enabled=1
五.测试使用yum来安装软件包
[root@linux-a yum.repos.d]# yum –y install samba
Loading "installonlyn" plugin
Loading "rhnplugin" plugin
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Setting up repositories
CS 100% |=========================| 1.1 kB 00:00
base 100% |=========================| 1.1 kB 00:00
VT 100% |=========================| 1.1 kB 00:00
Cluster 100% |=========================| 1.1 kB 00:00
Reading repository metadata in from local files
primary.xml.gz 100% |=========================| 3.9 kB 00:00
################################################## 32/32
primary.xml.gz 100% |=========================| 727 kB 00:00
################################################## 2113/2113
primary.xml.gz 100% |=========================| 5.8 kB 00:00
################################################## 31/31
primary.xml.gz 100% |=========================| 5.6 kB 00:00
################################################## 32/32
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for samba to pack into transaction set.
samba-3.0.23c-2.i386.rpm 100% |=========================| 108 kB 00:00
---> Package samba.i386 0:3.0.23c-2 set to be updated
--> Running transaction check
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
samba i386 3.0.23c-2 base 16 M
Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 16 M
Is this ok [y/N]:
大功告成,本地yum repository创建成功。
如果要安裝第三方軟件包:
例:將第三方軟件包copy至/u2/yum/pub/Other/目錄下。
執行一次依賴關係分析:
Createrepo /u2/yum/pub/Other/ 第三方軟包不能再使用參數g哦。