使用 jigdo 下載 Debian CD 映像
Jigsaw Download,簡稱 jigdo,計劃在未來成為分發 Debian CD 映像的主要方式。目前,該系統能夠工作,但使用起來還不太舒適,因為下載管理程式還未完成。
為什麼 jigdo 比直接下載更好
因為它更快!由於各種原因,CD 映像的映射站個數遠少於正常的
Debian 映射站台的個數。結果是,如果您從 CD 映像的映射站下載,它不但離您更遠,而且會不堪重負,尤其是新版本剛釋出的時候。
更重要的是,有些類型的映像不提供完整的 .iso 下載,因為我們的伺服器沒有足夠空間容納它們。
當然,一個正常的
Debian 映射站台不包含任何 CD 映像,所以 jigdo 是怎麼從它那邊下載的呢?jigdo 透過單獨下載 CD 包含的每一個文件來達到這個目的。下一步,它會把所有下載的檔案組裝成一個大檔案,它和原 CD 映像完全相同。然而,這一切都在幕後發生 — 對 您 而言,只需告訴下載工具.jigdo
檔案的位置。
更多信息請參閱 jigdo 主頁。我們隨時歡迎願意幫助 jigdo 開發的志願者!
如何用 jigdo 下載映像
- 下載含有 jigdo-lite 的套件。GNU/Linux、Windows和 Solaris 版本均可從jigdo 主頁下載。FreeBSD可以從 /usr/ports/net-p2p/jigdo 安裝,或者用 pkg_add -r jigdo 安裝套件。
- 運行 jigdo-lite 命令稿。它會詢問
.jigdo
文件的URL。(您也可以在命令行提供URL,如果您樂意的話。) - 從下方列出的地址中選擇您想下載的
.jigdo
檔,並在 jigdo-lite 提示符中輸入它們的URL。每一個.jigdo
檔對應一個.iso
CD/DVD 映像。 - 如果您是首次使用,在
Files to scan
提示符出現時,只需按下回車鍵。 - 在提示符
Debian mirror
中,輸入http://deb.debian.org/debian/ 或者http://ftp.XY.debian.org/debian/,其中XY 是您國家的雙字母代碼(比如 us、de、uk。參見可用的 ftp.XY.debian.org 地址列表。) - 遵照命令稿給出的指示。如果一切順利的話,命令稿最後會列印生成的映像的校驗和,並告訴您該校驗和與原映像檔一致。
該步驟的詳細描述,請參看 Debian jigdo 迷你 HOWTO 文件。該 HOWTO 文件也解釋了 jigdo 的高級特性,例如將舊版本的 CD 映像升級為最新版本(只下載有改動的檔案,而不是整個映像檔)。
在您完成映像檔的下載並寫入 CD 之後,請務必閱讀關於安裝過程的詳細信息。
官方映像
穩定(stable)
版本的官方 jigdo 檔案
請您務必在安裝前閱讀文件。如果您在安裝前只想閱讀一份文件,請閱讀我們的安裝指南,這是一份安裝過程的簡要介紹。其他有用的文件包括:
- 安裝手冊,詳細的安裝步驟
- Debian 安裝程式文件,包括常見問題及解答(FAQ)
- Debian 安裝程式勘誤,安裝程式的已知問題列表
測試(testing)
版本的官方 jigdo 檔案
搜尋 CD 映像的內容
某個檔案位於哪個 CD/DVD 映像?在下方,您可以在大量 Debian CD/DVD 映像所包含的檔案列表中搜尋。您可輸入多個關鍵詞,每個關鍵詞必須匹配檔案名的子串。添加例如_i386
的字符串以搜尋一個特定架構。添加_all
以限制搜尋範圍為所有架構都相同的套件。
某個映像包含哪些文件?如果您需要特定 Debian CD/DVD 映像包含的 所有 檔案列表,只需在 cdimage.debian.org 查看該映像對應的 list.gz 檔案。
常見問題及解答
如何讓 jigdo 使用代理?
在文本編譯器中打開 ~/.jigdo-lite(對於 Windows 版本則是jigdo-lite-settings.txt)並找到以wgetOpts
開頭的行。可以在該行添加以下選項:
-e ftp_proxy=http://代理地址:端口/
-e http_proxy=http://代理地址:端口/
--proxy-user=使用者名
--proxy-passwd=密碼
當然,根據您的代理伺服器的情況修改各項的值。最後兩項只在您的代理伺服器需要密碼驗證時才需要填寫。以上各項設置需要添加到 wgetOpts 行末的 ' 字符 之前。所有選項必須寫在同一行。
作為替代方法,在 Linux 中您也可以設置 ftp_proxy 和 http_proxy 環境變量,比如在檔案 /etc/environment 或者 ~/.bashrc 中。
啊!命令稿出錯了 — 之前的都白下載了嗎?!
雖然這不應該發生(真的),但是仍有可能出現這種情況,就是已經生成了一個巨大的.iso.tmp
檔案,而 jigdo-lite 似乎出現了問題,反覆讓您重試下載。有幾種解決方案可以嘗試:
- 直接按回車鍵重試。可能有些檔案因為超時或者某些暫時性的錯誤而無法下載 — 這將再次嘗試下載所有還沒下載的檔案。
- 換一個映射站。有些 Debian 映射站台的內容稍有點舊 — 或許另一個映射站台仍保留著您指定的映射站台已經刪除的檔案,或者已經更新了您指定的映射站台中還不存在的文件。
- 用 rsync 下載映像中缺失的部分。首先,您需要獲得想下載的映像的正確的 rsync URL:選擇一個對 stable 或者 testing 映像提供 rsync 訪問的映射站台,然後確定正確的路徑和檔案名。目錄列表可以用類似 rsync rsync://cdimage.debian.org/debian-cd/的命令獲得。
下一步,重命名 jigdo-lite 的臨時文件,刪除.tmp
擴展名,將遠程主機的 URL 和本地檔案名都傳給 rsync:rsync rsync://server.org/path/binary-i386-1.iso binary-i386-1.iso
您可能想要使用 rsync 的 --verbose 和 --progress 選項獲得狀態信息,以及用--block-size=8192 提高下載速度。 - 如果其他方法都失敗了,您下載的內容仍未丟失:在Linux 中,您可以掛載 .tmp 檔案以訪問已經下載的套件,並重新利用它們以使用一個新的 jigdo 檔案生成映像(比如一個新的 testing 快照,如果您下載失敗的映像也是一個 testing 快照的話)。要如此做,首先以 root 權限在下載失敗的目錄下執行以下命令:mkdir mnt;
mount -t iso9660 -o loop *.tmp mnt。然後,在另外一個目錄開始一個新的下載,並在
Files to scan
提示符輸入 mnt 目錄的路徑。