使用 jigdo 下載 Debian USB/CD/DVD 映像
Jigsaw Download,簡稱 jigdo,是一種頻寬友好的分發 Debian USB/CD/DVD 映像的方式。
為什麼 jigdo 比直接下載更好
因為它更快!由於各種原因,USB/CD/DVD 映像的映射站個數遠少於正常的
Debian 映射站台的個數。結果是,如果您從 USB/CD/DVD 映像的映射站下載,它不但離您更遠,而且會不堪重負,尤其是新版本剛釋出的時候。
更重要的是,有些類型的映像不提供完整的 .iso 下載,因為我們的伺服器沒有足夠空間容納它們。
當然,一個正常的
Debian 映射站台不包含任何 USB/CD/DVD 映像,所以 jigdo 是怎麼從它那邊下載的呢?jigdo 透過單獨下載 USB/CD/DVD 包含的每一個文件來達到這個目的。下一步,它會把所有下載的檔案組裝成一個大檔案,它和原 USB/CD/DVD 映像完全相同。然而,這一切都在幕後發生 — 對 您 而言,只需告訴下載工具.jigdo
檔案的位置。
更多信息請參閲 jigdo 主頁。我們隨時歡迎願意幫助 jigdo 開發的志願者!
如何用 jigdo 下載映像
- 下載含有 jigdo-lite 的套件。可透過 Debian 和 Ubuntu 發行版中的 jigdo-file 套件直接取得並安裝它。FreeBSD 可以從 /usr/ports/net-p2p/jigdo 安裝,或者用 pkg_add -r jigdo 安裝套件。若需要其它安裝選項(用於 Windows 的二進制文件、原始碼),請訪問 jigdo 主頁。
- 運行 jigdo-lite 命令稿。它會詢問
.jigdo
文件的URL。(您也可以在命令行提供URL,如果您樂意的話。) - 從下方列出的地址中選擇您想下載的
.jigdo
檔,並在 jigdo-lite 提示符中輸入它們的URL。每一個.jigdo
檔對應一個.iso
USB/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 的高級特性,例如將舊版本的 USB/CD/DVD 映像升級為最新版本(只下載有改動的檔案,而不是整個映像檔)。
在您完成映像檔的下載並寫入 USB/CD/DVD 之後,請務必閲讀關於安裝過程的詳細信息。
官方映像
穩定(stable)
版本的官方 jigdo 檔案
請您務必在安裝前閲讀文件。如果您在安裝前只想閲讀一份文件,請閲讀我們的安裝指南,這是一份安裝過程的簡要介紹。其他有用的文件包括:
- 安裝手冊,詳細的安裝步驟
- Debian 安裝程式文件,包括常見問題及解答(FAQ)
- Debian 安裝程式勘誤,安裝程式的已知問題列表
測試(testing)
版本的官方 jigdo 檔案
搜尋 USB/CD/DVD 映像的內容
某個檔案位於哪個 USB/CD/DVD 映像?在下方,您可以在大量 Debian USB/CD/DVD 映像所包含的檔案列表中搜尋。您可輸入多個關鍵詞,每個關鍵詞必須匹配檔案名的子串。添加例如_i386
的字符串以搜尋一個特定架構。添加_all
以限制搜尋範圍為所有架構都相同的套件。
某個映像包含哪些文件?如果您需要特定 Debian USB/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 目錄的路徑。