将自定义的rpm包加入私有yum源,步骤如下:

1、查看当前repodata位置

yum源最主要的就是找到repodata目录下的repomd.xml,从此处获得相关的依赖关系

在我的系统中,切换到存放自定义rpm包的目录:

[root@evun-yum-60 ~]# cd /data/yum_repo/evunrpms/
[root@evun-yum-60 evunrpms]# ll
总用量 4370
drwxr-xr-x 2 root root    1024 7月  29 11:20 i386
-rw-r--r-- 1 root root  210877 9月  24 2015 pdksh-5.2.14-37.el6_8.1.x86_64.rpm
-rw-r--r-- 1 root root 4260448 7月  29 10:09 rabbitmq-server-3.5.7-1.noarch.rpm
drwxr-
xr-x 2 root root    1024 7月  29 11:12 repodata
drwxr-xr-x 2 root root    1024 7月  29 11:20 x86_64
[root@evun-yum-60 evunrpms]#

2、有更新(新增或删除rpm包)时,先删除repodata目录,更新rpm包,然后创建新的repodata目录:

[root@evun-yum-60 evunrpms]# rm -fr repodata

删除掉旧的repodata目录之后,将自己的rpm包加入到此目录,然后创建新的repodata目录,如下:

3、创建完新的repodata目录之后,如下:

[root@T-evun-yum-60 evunrpms]# createrepo .
Spawning worker 0 with 3 pkgs
Workers Finished
Gathering worker results

Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

[root@evun-yum-60 evunrpms]# ls -l repodata/
总用量 23
-rw-r--r-- 1 root root 6884 7月  29 11:12 0b6e25290872f81e596b69eeb71f0e20ee0c0e119fee52b095285bb0bbf48e8b-primary.sqlite.bz2
-rw-r--r-- 1 root root 1932 7月  29 11:12 0d022cea7a3dc41bdb6248212b37ef2ab31b1e4b928ef88a39bbe575ac2b168c-other.sqlite.bz2
-rw-r--r-- 1 root root 3309 7月  29 11:12 c5229b03cbf3129b8fe5e8b858bf618496b615b04a41d17e8414d2f096765780-filelists.sqlite.bz2
-rw-r--r-- 1 root root 2174 7月  29 11:12 d528d2115966fc5f7a65d4a6887d6c29732f8db8922d8acf295a1e5a93f25a2e-filelists.xml.gz
-rw-r--r-- 1 root root 2430 7月  29 11:12 f0252745aeea15f56d4b2b2cfcb92787883d2128b0d2610c2f361e4c551a75cb-primary.xml.gz
-rw-r--r-- 1 root root 1015 7月  29 11:12 f52dc124bb6f72361397cc10e523efc375e603d6f7fba325abde18f6ab98dd5c-other.xml.gz
-rw-r--r-- 1 root root 2979 7月  29 11:12 repomd.xml

从而可以重新创建yum源,来进行安装rpm包,可以找到自定义的包,自动解决依赖关系。


4、挂载的iso文件如何加入新的rpm包

在使用的是挂载的ISO的时候,由于挂载的ISO的是只读的,从而在ISO中不能进行创建新的repodata目录,从而在使用挂载ISO方式的时候,将其中所有的RPM包拷贝出来,然后放在某个目录中,进行创建repodata目录,从而可以更新源,搭建YUM源。在使用的是挂载的ISO的时候,由于挂载的ISO的是只读的,从而在ISO中不能进行创建新的repodata目录,从而在使用挂载ISO方式的时候,将其中所有的RPM包拷贝出来,然后放在某个目录中,进行创建repodata目录,从而可以更新源,搭建YUM源。


5、注意事项

在进行创建repodata目录的时候,必须有命令createrepodata,如下:

[root@evun-yum-60 evunrpms]# rpm -q createrepodata
package createrepodata is not installed

如果没有此命令,则需要重新安装,然后进行创建repodata目录。

创建完毕之后,即可使用。