歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 建立fedorapeople的個人源

建立fedorapeople的個人源

日期:2017/2/28 16:40:14   编辑:Linux教程

轉自:http://www.liangsuilong.info/?p=496

感謝Kaio的幫助,我也在我的Fedorapeople空間建了個yum,放一些Fedora官方和RPMFusion都沒有的一些包吧。

實際上,這種辦法不僅僅適用於fedorapeople空間,只要有http空間,即使沒有任何腳本語言的支持,都可以建立一個源的。況且fedorapeople只提供了150MB的空間,多放幾個包就不夠位置。期待Jesse Keating計劃的KoPeR能夠盡快上線,因為KoPeR會有1GB的空間,可是現在看來是多麼的遙遙無期。

好了,簡要的說說辦法吧!

首先你要擁有一個FAS的帳號,並且簽署了CLA協議,這是你獲得fedorapeople空間的前提。完成以後,導入你的SSH公鑰到FAS帳號,因為fedorapeople空間使用的是SSH連接,這可以確保連接期間的安全。

然後就是打包工序,你要預先制作好RPM包。同時為了保證RPM質量,你最好把軟件包防盜Koji編譯打包一次,以確保軟件無誤,而且可以獲得多個架構的RPM包。Koji的用法如下

koji build –nowait –scratch dist-fN foo.src.rpm

N是Fedora的版本號,foo.src.rpm則是軟件包的SRPM包。

隨後建立yum源的目錄樹,並把Koji編譯的RPM包逐一地放到目錄樹對應的位置。

比如我的目錄樹,yum源是放在repo目錄裡面:

repo/
12/
i386/ x86_64/

軟件包則更根據對應的架構,分別放置到i386和x86_64這兩個目錄裡。緊接就是使用createrepo建立yum源的數據文件,每一個放置RPM包的目錄都應該建立repodata的目錄防止這些數據文件。

例如我的做法:

createrepo repo/12/i386
createrepo repo/12/x86_64

當目錄被更改以後,都要使用createrepo一次刷新repodata文件。如果放置RPM包的目錄十分巨大,可以考慮增加–update參數來加快刷新進度。

最後,把repo目錄裡的所有文件上傳到fedorapeople空間即可。使用什麼方法上傳都沒有區別,scp和rsync也行,因為fedorapeople需要使用SSH來傳送數據。如果是其他空間,則可以根據實際情況而定。使用rsync的方法如下

rsync -rav yum [email protected]:~/public_html/ –delete

-r是遞歸,-a是保留文件原有權限,-v是顯示傳送信息,–delete是把本地刪除的文件在遠程服務器上也一並刪除。此外,fedorapeople空間只會公開public_html目錄裡的文件,所以你應該把yum源同步到public_html裡。

建立yum源則到此為止,為了讓其他人使用你的個人源,你需要書寫一個.repo文件,讓用戶下載到/etc/yum.repos.d/目錄內。以下是我的范例,可以參考一下。

[liangsuilong]
name=Liang Suilong
baseurl=http://liangsuilong.fedorapeople.org/repo/$releasever/$basearch/
enabled=1
gpgcheck=0

$releasever是Fedora版本號,$basearch是系統架構。

如果你想下載我的.repo文件,可以點擊http://dl.dropbox.com/u/1352061/liangsuilong.repo。

暫時只會提供linux-fetion,osd-lyrics,w32codecs這三個包,當然我也會把最新的iptux和shutter放在上面,稍候還會准備放上w64codecs和ibus-sunpinyin。這空間真的很小很小啊!

因為這是一篇日志,稍候我會整理好一份文檔放到Fedora的官方wiki上。看看我的蹩腳英語能否憋出一份英語版本出來?拭目而待吧!

最後,再次感謝Cauis ‘kaio’ Chance的鼎力幫助!

Copyright © Linux教程網 All Rights Reserved