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-yum
baseurl=file:///home/test/local-yum/ #文件目錄不能設置到i386,不然本地源使用會報錯
enabled=1
gpgcheck=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 --update
local-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 - i386
baseurl=http://xxx.xxx.xxx.xxx/nsmc
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-neoshine-release
注意:
gpgcheck設置爲0,則不須要認證簽名。