說到Debian最常用的更新是透過apt進行套件管理及升級, 而說到apt server的架設都會提到「鳥哥大大的APT/YUM的教學文」
其實APT的來源可以有幾種 HTTP, FTP, CD-ROM, Local Filesystem 的存在, 在這不提到其它的方法而是使用「HTTP」的方式進行架設...因為Google Code Project上提供的「2GB 的空間」是以「HTTP的型式」或是「SVN」儲存的, 在看完鳥哥大大的大作和上網找尋Debian APT架設的資訊發現其實也不用特別安裝一台APT server, 主要的重點是它的套件清單資訊, 也就是「Packages.gz」
以Google Code Project來說它的網址都是類似以下這樣
http://code.google.com/p/[project-name]/
而如果我要用它來當作apt server的話,在apt的sources.list 要設定成以下這樣
deb http://[project-name].googlecode.com files/
以現在我已建立的專案「debian-bcm47xx」為例, 其網頁的瀏覽位址如下
http://code.google.com/p/debian-bcm47xx/
而上傳的檔案主要都是存放在「files」目錄之下, 也就是 http://debian-bcm47xx.googlecode.com/files/ 之下
所以接著我們要做的步驟如下:
1. 在Linux主機上先建立一個名為「files」的目錄
mkdir files
2. 將自己編譯好的deb檔放置在裡面 (請注意: 自行編譯的套件檔都要設定套件相依資訊, 可以看下面的註記說明)
3. 執行以下命令產生「Packages.gz」
dpkg-scanpackages files /dev/null |gzip > files/Packages.gz
4. 接著將Packages.gz 上傳到Google Code Project上, 接著開始測試
5. 修改/etc/apt/sources.list 加入下列這行, 存檔離開
deb http://debian-bcm47xx.googlecode.com files/
6. 接著進行套件資訊更新
apt-get update
7. 安裝一個自己編譯的套件「libdlna」試試...安裝能夠正常完成...如下的成功畫面 :D
apt-get install libdlna

從以上的範例可知從Google Code進行APT成功了, 之後如果要自行編譯的套件有更新時只要依Step 3再重新生成「Packages.gz」, 然後將原來在Project上的套件清單刪除再上傳新的「Packages.gz」就行了
[註記] 因為apt套件更新「非常強調」它的相依性, 所以如果你在套件中Depends為空白的話, 即使把它打包完成後製作成Packages.gz清單上傳到Google Code Project上, 使用「apt-get update」進行更新時也會出錯無法正常完成, 所以這點要特別的注意, 使用checkinstall或是dpkg-buildpackage進行套件打包時要記得輸入套件的相依資訊
[後記] 之前在「debian-bcm47xx」上打包的套件很多都沒有輸入套件相依資訊, 所以要重新打包上傳才可以使用apt功能了....殘念
[3/6] 趁著今天放無薪假的時間裡, 把大部份的套件再重新打包上傳了, 現在可以直接進行apt更新, 可以參考這篇
Comments
兄弟,照你的方法无法apt-get update
兄弟,照你的方法无法apt-get update 成功。
Fetched 102kB in 1m30s (1130B/s)
Failed to fetch http://code.google.com/p/debian-bcm47xx/files/Packages.gz 404 Not Found [IP: 209.85.175.100 80]
Reading package lists... Done
E: Some index files failed to download, they have been ignored, or old ones used instead.
网页上的下载地址是:http://debian-bcm47xx.googlecode.com/files/Packages.gz
apt却会在http://code.google.com/p/debian-bcm47xx/files/Packages.gz 地址去下载,是我个人系统的问题么?
我将/etc/apt/sources.list 里的
deb http://code.google.com/p/debian-bcm47xx files/
改成
deb http://debian-bcm47xx.googlecode.com files/
就可用了~:)
呵呵...犯了個大錯誤...已經修正錯誤的地方
呵呵..寫太入神沒再檢查一次結果犯了這個大錯誤...雖然之後發的文章和google上的注釋都寫對...orz
下面才是正確的...已更新文章錯誤的地方, 謝謝指正 :)
deb http://debian-bcm47xx.googlecode.com files/