createrepo:創建本地源

repodata作爲軟件的倉庫,其目錄下有四個必要文件:filelists.xml.[gz]other.xml.[gz]primary.xml.[gz]repomd.xml(md 意思是 metadata),其中最主要的是repomd.xml文件。一般出現的找不到repodata目錄或文件的錯誤的原因通常有三個:一是路徑問題;二是沒有生成repodate目錄;三是*.repo配置文件衝突(這個需要特意注意)。

創建本地源步驟如下:

1、安裝createrepo包;
2、新建本地源目錄(假若本地源在當前家目錄下)
   2.1 $mkdir -p local-yum/i386/       #其中i386是包放置目錄
   2.2 將安裝包放置到i386目錄中
   2.3 createrepo local-yum/           #創建一個源

3、配置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方式的位置。
************************************************************

4、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全部的可用參數了,自動分析依賴性關係是它最好的一個特點,也是目前最方便的安裝方法。

5、更新本地源,在倉庫所在目錄下
   createrepo --update local-yum/          # 更新本地源
   createrepo local-yum/                   # 重新生成metadata

6、用的上的命令

      createrepo --update: 
   有時候你的軟件倉庫中含有很多的軟件包,雖然只是其中的一小部分有所改動但是你卻不必爲每個軟件包重新產生元數據,這樣做明顯太浪費時間了
。這就是--update 選項誕生的原因。
   像之前一樣運行
 createrepo 命令但是添加了--update 選項.
       $createrepo --update local-yum/
   現在 createrepo 只更新那些在上次產生元數據之後被改變,添加或者刪除了的項目.

      verifytree 
   如果你剛剛做了一個 repo 並且你想要驗證在你的 repo 中的所有東西都是正確且可以完成其功能的話,你可以運行 erifytree 命令來檢查所有的 repodata 和軟件包。

7、創建基於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,則不需要認證簽名。
*************************************
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章