参考一
createrepo是linux下的建立仓库的软件包。create是建立的意思,repo是repository的缩写,是仓库的意思。 yum(Yellow dog Updater,Modified)主要的功能是方便添加、删除和更新rpm软件包。能够解决软件包依存问题,更便于管理大量的系统更新问题。它能够同时配置多个仓库或叫资源库(repository),就是存放更新和依存的软件包的地方。
一、准备文件服务器,以httpd为例,请确保是否已经安装httpd程序包。html
[root@localhost /]# rpm -q httpdlinux
httpd-2.2.15-26.el6.centos.x86_64shell
二、在/var/www/html目录,建立目录openstack,将要制定为yum仓库的rpm包放置于/var/www/html/openstack下。centos
三、建立yum仓库:服务器
(1)、若是repodata存在,则先删除。ide
#rm -rf /var/www/html/openstack/repodata工具
(2)、使用命令createrepo建立yum仓库,执行命令后会生产repodata,这样就成功建立yum仓库。url
#createrepo /var/www/html/openstackspa
备注:若是命令createrepo为安装请先安装createrepo:#yum -y install createrepo 3d
四、启动httpd服务。
#service httpd start
五、配置使用自建的yum仓库。
[openstack]
name=openStack Respository
baseurl=http://127.0.0.1/openstack
enabled=1
gpgcheck=0
参考二
repodata做为软件的仓库,其目录下有四个必要文件:filelists.xml.[gz],other.xml.[gz],primary.xml.[gz]和repomd.xml(md意思是metadata),其中最主要的是repomd.xml文件。通常出现的找不到repodata目录或文件的错误的缘由一般有三个:一是路径问题;二是没有生成repodate目录;三是*.repo配置文件冲突(这个须要特地注意)。建立本地源步骤以下:一、安装createrepo包;二、新建本地源目录(倘若本地源在当前家目录下) 2.1 $mkdir -p local-yum/i386/ #其中i386是包放置目录 2.2 将安装包放置到i386目录中 2.3 createrepo local-yum/ #建立一个源三、配置yum源(能够单独新建一个repo文件,也能够添加到已经存在的repo文件中)************************************************************[local-yum]name=local-yumbaseurl=file:///home/test/local-yum/ #文件目录不能设置到i386,不然本地源使用会报错enabled=1gpgcheck=0解释:[....] 表明这个库的名字,必须是惟一的,不能够重复。name= 是这个库的说明,没有太大的实际意义,只是一个字段说明。baseurl= 说明采起什么方式传输,具体路径在哪里,可使用的方式有,file://,ftp://,http://等enabled=1 说明启用这个更新库,0表示不启用。gpgcheck=1 表示使用gpg文件来检查软件包的签名gpgkey= 表示gpg文件所存放的位置,此处也能够有http方式的位置。************************************************************四、yum工具介绍 yum工具备不少的参数可供使用,以下: yum install 软件名1 [软件名2] [...] yum update [软件名1][软件名2] [...] yum check-update yum upgrade [软件1] [软件2] [...] yum remove | erase 软件名1 [软件名2] [...] yum list [...] yum info [...] yum provides | whatprovides feature1 [feature2] [...] yum clean [ packages | headers | metadata | dbcache | all ] yum makecache yum groupinstall 软件组1 [软件组2] [...] yum groupupdate 软件组1 [软件组2] [...] yum grouplist [hidden] [groupwildcard] [...] yum groupremove group1 [group2] [...] yum groupinfo 软件组名 [...] yum search 字符串1 [字符串2] [...] yum shell [文件名] yum resolvedep 依赖关系1 [依赖关系2] [...] yum localinstall rpm包1 [rpm包2] [...] yum localupdate rpm包1 [rpm包2] [...] yum reinstall 软件包1 [软件包2] [...] yum downgrade 软件包1 [软件包2] [...] yum deplist 软件包1 [软件包2] [...] yum repolist [all|enabled|disabled] yum help [command] 以上就是yum所有的可用参数了,自动分析依赖性关系是它最好的一个特色,也是目前最方便的安装方法。五、更新本地源,在仓库所在目录下 createrepo --update local-yum/ # 更新本地源 createrepo local-yum/ # 从新生成metadata六、用的上的命令 createrepo --update: 有时候你的软件仓库中含有不少的软件包,虽然只是其中的一小部分有所改动可是你却没必要为每一个软件包从新产生元数据,这样作明显太浪费时间了。这就是--update选项诞生的缘由。 像以前同样运行createrepo命令可是添加了--update选项. $createrepo --updatelocal-yum/ 如今createrepo只更新那些在上次产生元数据以后被改变,添加或者删除了的项目. verifytree 若是你刚刚作了一个repo而且你想要验证在你的repo中的全部东西都是正确且能够完成其功能的话,你能够运行erifytree命令来检查全部的repodata和软件包。七、建立基于html的更新源 7.1 安装httpd安装包 7.2 如上建立本地更新源 cd /var/www/html/ mkdir -p nsmc cd nsmc mkdir RPMS SRPMS 7.3 拷贝相关文件到RPMS和SRPMS目录中 7.4 在nsmc所在目录下执行以下命令 createrepo nsmc #建立仓库 7.5 service httpd start #启动httpd守护进程,这是关键地方之一,不然在其余机器上会提示找不到相关源 7.6 编写repo文件*************************************[nsm]name=NeoShine Linux Desktop 5 nsmc repo - i386baseurl=http://xxx.xxx.xxx.xxx/nsmcenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-neoshine-release注意:gpgcheck设置为0,则不须要认证签名。