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 /myfile/yum/server #其中server是包放置目錄
2.2 將安裝包放置到server目錄中
2.3 rm -rf *.html
rm -rf repodata/TRANS.TBL
2.3 createrepo /myfile/yum/server #創建一個源
3、配置yum源(可以單獨新建一個repo文件,也可以添加到已經存在的repo文件中)
[server]
name=local-yum
baseurl=ftp://192.168.1.1/yum/server server<----與[server] 名字一致
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 選項.
verifytree
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,則不需要認證簽名。