QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 683|回复: 0

建apt源求助

[复制链接]
发表于 2005-4-8 23:29:47 | 显示全部楼层 |阅读模式
想为ML做一个在教育网下的apt源,可是不懂怎么开始,找到这篇文章,可是我找不到src包,只找到redhat的rpm包,安装不了。大家帮帮忙阿

APT 伺服器:

底下開始來談一談 APT 伺服器吧!
 
APT 伺服器利用的機制
 
就如同前言說明的, APT 主機可以將已經存在的 RPM 檔案進行分析,並且將各個套件的相關係記錄下來,以便讓使用者依據這個套件的相關性紀錄檔案來更新與安裝他們的 Linux 系統。那麼這些檔案放在哪裡呢?其實因為這些檔案被需要讓 Client 端可以下載,而且 APT 並不是額外再啟用其他的 port ,而是透過 WWW 或者是 FTP 的方式來讓 Client 端下載的,所以 APT 的 RPM 檔案當然就需要放在可以讓 WWW 或者讓 FTP 來存取的目錄囉!
 
在很多 Linux distributions 的 WWW 預設主頁是放在 /var/www/html 這個目錄下的( 例如 Red Hat 9, Fedora Core I/II, Mandrake 等等 ),所以,除非您想要自行架設虛擬主機,或者是利用連結檔的方式來讓 RPM 檔案放置的目錄可以讓 WWW 讀取,否則您都應該要將 APT 管理的 RPM 檔案放置在 /var/www/html 底下。假設我有兩個 Linux 的版本要這部 APT 主機管理時,一版是 Mandrake 9.1 一版是 Red Hat 9 ,那麼我可以這樣編排我的 RPM 檔案放置的目錄:
 
表一、APT 主機相關 RPM 檔案放置的目錄示意表
/var/www/html/apt/redhat9
             |--RPMS.os
             |--RPMS.updates
             |--SRPMS.os (非必備目錄)
            |--SRPMS.updates (非必備目錄)
            `--base
               |--pkglist.os.bz2
               |--pkglist.updates.bz2
               |--release
               |--release.os
               `--release.updates
/var/www/html/apt/mdk9.1
            |--RPMS.os
            |--RPMS.updates
            |--SRPMS.os (非必備目錄)
           |--SRPMS.updates (非必備目錄)
           `--base
              |--pkglist.os.bz2
              |--pkglist.updates.bz2
              |--release
              |--release.os
              `--release.updates
 
如上所示,我獨立出一個名為 apt 的目錄來管理我的 APT 檔案,另外,因為有兩個版本,所以我將 apt 又分為兩個目錄,因為兩個目錄的格式一樣,所以我以 Red Hat 9 那個 /var/www/html/apt/redhat9 目錄來介紹。裡面至少會有三個目錄才對,分別是 RPMS.os, RPMS.updates, base 這三個目錄,其中:
 
+ RPMS.os 的內容為 Red Hat 9 的原本光碟中的 RPM 檔案(i386);
+ RPMS.updates 的內容為 Red Hat 公司針對 Red Hat 9 這一版所釋出的修補套件;
+ base 這個目錄裡面的資料則是由 APT 伺服器所自動產生的,前面我們提到的 APT 會去分析 RPM 檔案而將檔案資訊記錄下來,記錄下來的咚咚就是放置在這個目錄下的啦!
 
您還會看到其實還有 SRPMS.os 以及 SRPMS.updates 等目錄,呵呵!那個就是 Source RPM (SRPM) 檔案放置的目錄了。因為我們直接可以透過 Binary 來升級,所以我預設不放 SRPM 在我的 APT 伺服器裡面囉!
 
OK!所以我們需要怎麼來架設我們的 APT 以及利用 APT 來升級呢?
 
1. 先將所有來自 Linux 原版光碟的 RPM 檔案複製到 /full/path/RPMS.os 檔案中;
2. 再將來自原 Linux 版本公司釋出的 RPM 修補套件由 Internet 下載到 /full/path/RPMS.updates 當中;
3. 利用 APT 的功能進行 /full/path/base 這個目錄裡面資訊的更新;
4. 到 Client 端上面,以 APT 的功能更新 Client 自己的套件資訊,使與 APT 主機的 /full/path/base 這個目錄裡面的套件記錄資訊同步化;
5. 到 Client 端上面,可以利用 APT 的功能來更新或者是安裝套件了!當然,所使用來下載 RPM 檔案的協定當然是 WWW 或是 FTP 囉!而且, Client 端分析的是自己的 RPM 資訊喔,所以每次進行更新之前,應該將 Client 端的 RPM 資訊與 APT Server 端來同步化才行!否則 Server 新增的檔案在 Client 端是無法取得資訊的喔!
 
所以囉,其實在 APT 主機設定上面最重要的步驟應該是在於主機硬碟的規劃、檔案的複製與 updates 檔案的隨時自動更新(可以利用映射站台的功能),以及 /full/path/base 目錄下的資訊更新等等步驟!只要這邊沒有問題,其他的流程就簡單咯!  
安裝 APT 軟體
 
因為 APT 這套件是挺大的,而且也不容易使用 Tarball 來安裝,所以比較建議使用 RPM 的方式直接安裝,您可以到底下的網站搜尋一下屬於您自己的 Linux distributions 的 APT 版本喔:
 
+ http://rpmfind.net/linux/rpm2html/search.php?query=apt
+ http://apt.freshrpms.net/
 
同時我也將一些常見的版本捉下來了,您也可以在這裡下載:
 
RPM 的部分:
+ Red Hat 9:http://linux.vbird.org/download/linux_server/apt/rh9/apt-0.5.5cnc6-fr1.i386.rpm
+ Red Hat 8:http://linux.vbird.org/download/linux_server/apt/rh8/apt-0.5.5cnc6-fr0.rh80.1.i386.rpm
+ Red Hat 7.3:http://linux.vbird.org/download/linux_server/apt/rh7.3/apt-0.5.5cnc5-fr0.rh73.2.i386.rpm
+ Red Hat 7.1:http://linux.vbird.org/download/linux_server/apt/rh7.1/apt-0.5.4cnc9-fr0.1.rh71.i386.rpm
+ Mandrake 9.1:http://linux.vbird.org/download/linux_server/apt/mdk9.1/apt-0.5.5cnc3-1mdk.i586.rpm
+ Mandrake 9.0:http://linux.vbird.org/download/linux_server/apt/mdk9.0/apt-0.3.19cnc55-2mdk.i586.rpm
+ Mandrake 9.0:http://linux.vbird.org/download/linux_server/apt/mdk9.0/apt-devel-0.3.19cnc55-2mdk.i586.rpm
 
SRPM 的部分(可以使用 Red Hat 9 提供的 SRPM 來進行重新編譯):
+ Red Hat 9:http://linux.vbird.org/download/linux_server/apt/rh9/apt-0.5.5cnc6-fr1.src.rpm
 
直接以『 rpm -ivh package.name 』就能安裝了!當然,需要選擇適合您的版本吶!如果找不到適合您的版本,那麼嘗試以上面提供的 SRPM 來重新編譯試看看能不能成功吧!『rpm --rebuild SRPM 』或新版的『rpmbuild --rebuild SRPM』(註:SRPM 表示您由上面下載的 apt-0.5.5cnc6-fr1.src.rpm 這個檔案的檔名)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 05:16 , Processed in 0.054177 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表