題 我怎樣才能繼續下載不完整?


我最近從Ubuntu網站通過HTTP下載了Ubuntu 10.04,下載到了 663.0 MB 的 685.6 MB 在它意外取消之前。是否可以使用已下載的數據繼續下載?

torrent可用於完全相同的文件。


4
2017-12-04 17:08


起源


您的問題及其標籤令人困惑 - 這是一個取消的torrent還是直接的HTTP下載? - Zayne S Halsall
這是一個取消的HTTP下載。我假設通過洪流更容易繼續。 - Zaz
使用Torrent文件比使用HTTP下載更好,因為你的共享率和恢復支持保證更多的是torrent。 - Mahesh


答案:


你可以使用wget。打開命令行,導航到不完整下載的目錄,鍵入

wget --continue your_address_here

6
2017-12-04 17:48



您還能演示如何指定目標文件名嗎? - oKtosiTe
wget在當前目錄中查找與下載URL中給出的文件同名的文件。例如,wget --continue foo.com/bar.iso 會在當前目錄中查找名為bar.iso的文件並繼續下載,如果它不完整的話。 - user54114
+1。這將有效,並且會更簡單, 如果 部分下載是通過一次只使用一個TCP流的東西完成的(因此丟失的數據全部都在最後)並且沒有預先分配(因此文件的末尾清楚地標記了重新啟動的位置)。大多數瀏覽器的內置下載支持都是這樣的。如果它被DownThemAll等部分下載並被正確取消(因此客戶忘記了尚未下載的部分)你必須使用除HTTP之外的其他東西(即bittorrent或rsync)。 - David Spillett
我從來不知道這是可能的!內置此功能非常方便。 - Zaz


如果它們是完全相同的文件(在這種情況下可能是它們),您可以使用torrent恢復HTTP下載。

  1. 獲取.torrent元文件
  2. 開始使用您首選的bittorrent客戶端下載它
  3. 完全停止下載
  4. 將bittorrent客戶端創建的文件替換為http下載失敗導致的文件副本,確保文件名完全相同(字母大小寫等等)
    (如果您確定文件名完全相同,則可以跳過步驟2和3)
  5. 重新加載您的bittorrent客戶端並重新開始下載。在開始傳輸之前,它應該進行完整的哈希檢查以找出它需要獲取的文件的哪些部分以及哪些部分已經完成,因此只知道下載它需要的塊

13
2017-12-04 17:34



此外,一些torrent客戶端提供了手動強制檢查下載文件的功能。如果您的情況屬於這種情況,則可能需要在重新啟動下載之前執行此操作,如步驟5中所述。 - oKtosiTe
謝謝,我已經嘗試了這個,但我必須錯誤地命名該文件導致洪流重新開始。這解決了這個問題。 - Zaz
@oKtosiTe:謝謝,我正在使用Transmission自動執行此操作。 - Zaz


當我發生這種情況時,我通常使用rsync繼續下載。 mirrors.kernel.org提供了一個rsync服務器,所以我會去 http://mirrors.kernel.org/ 並導航到我要下載的文件。然後我將路徑複製到該文件,並將“http://”替換為“rsync://”。例如,Ubuntu 10.10 i386桌面ISO位於:

http://mirrors.kernel.org/ubuntu-releases/10.10/ubuntu-10.10-desktop-i386.iso

所以我可以通過運行來恢復下載:

rsync -avPL rsync://mirrors.kernel.org/ubuntu-releases/10.10/ubuntu-10.10-desktop-i386.iso .

注意“-L”參數,沒有那個只複製文件的鏈接,因為Ubuntu使用指向不同位置文件的鏈接。

以上假設您的文件名稱相同(“ubuntu-10.10-desktop-i386.iso”)並且位於當前目錄中。如果不是這樣,請替換尾隨的“。”上面有實際的文件名和路徑。


2
2017-12-05 09:17



好的提示,但它只適用於某些文件,所以沒有雪茄。 - Zaz
嗯,最初的問題是關於抓住Ubuntu ISO,所以...雪茄! - Sean Reifschneider
哈哈:P男,對不起,你應該得到一個贊成。 - Zaz