參考一
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,則不須要認證簽名。