Jak se vypořádáte s částečně staženými soubory kvůli pomalé rychlosti připojení k internetu? Tento krátký tutoriál vysvětluje, jak obnovit částečně stažený soubor pomocí příkazu wget v Linuxu.
Onehdy jsem testoval FreeTube , desktopový přehrávač YouTube s otevřeným zdrojovým kódem v mém desktopu Arch Linux Linux. Pokusil jsem se stáhnout nejnovější verzi FreeTube z GitHubu pomocí wget příkaz. Kvůli nízké rychlosti internetu se proces stahování každých několik minut ukončuje. Zde je příkaz wget, který jsem použil ke stažení tohoto souboru.
$ wget https://github.com/FreeTubeApp/FreeTube/releases/download/v0.1.3-beta/FreeTube-linux-x64.tar.xz
Ukázkový výstup:
--2018-03-09 15:41:44-- https://github.com/FreeTubeApp/FreeTube/releases/download/v0.1.3-beta/FreeTube-linux-x64.tar.xz Loaded CA certificate '/etc/ssl/certs/ca-certificates.crt' Resolving github.com (github.com)... 192.30.253.113, 192.30.253.112, 64:ff9b::c01e:fd70, ... Connecting to github.com (github.com)|192.30.253.113|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/123220152/39a2c92c-2277-11e8-8ca4-895487b6ddb0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20180309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180309T101016Z&X-Amz-Expires=300&X-Amz-Signature=bf0fcb4643f0719239e3a006c9fbc055b6b9805e6ef03dcfc27334d18fdf994c&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DFreeTube-linux-x64.tar.xz&response-content-type=application%2Foctet-stream [following] --2018-03-09 15:41:47-- https://github-production-release-asset-2e65be.s3.amazonaws.com/123220152/39a2c92c-2277-11e8-8ca4-895487b6ddb0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20180309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180309T101016Z&X-Amz-Expires=300&X-Amz-Signature=bf0fcb4643f0719239e3a006c9fbc055b6b9805e6ef03dcfc27334d18fdf994c&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DFreeTube-linux-x64.tar.xz&response-content-type=application%2Foctet-stream Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.225.200, 64:ff9b::34d8:e1c8 Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.225.200|:443... connected. HTTP request sent, awaiting response... 206 Partial Content Length: 39318740 (37M), 24626833 (23M) remaining [application/octet-stream] Saving to: ‘FreeTube-linux-x64.tar.xz’ FreeTube-linux-x64. 48%[+++++++=> ] 18.04M 4.63KB/s in 3m 6s 2018-03-09 15:49:59 (22.2 KB/s) - Read error at byte 18921544/39318740 (Error in the pull function.). Retrying. --2018-03-09 15:50:00-- (try: 2) https://github-production-release-asset-2e65be.s3.amazonaws.com/123220152/39a2c92c-2277-11e8-8ca4-895487b6ddb0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20180309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180309T101016Z&X-Amz-Expires=300&X-Amz-Signature=bf0fcb4643f0719239e3a006c9fbc055b6b9805e6ef03dcfc27334d18fdf994c&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DFreeTube-linux-x64.tar.xz&response-content-type=application%2Foctet-stream Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.225.200|:443... connected. HTTP request sent, awaiting response... 403 Forbidden 2018-03-09 15:50:04 ERROR 403: Forbidden.
Zkontroloval jsem velikost stahovaného souboru.
$ ls -lh FreeTube-linux-x64.tar.xz -rw-r--r-- 1 sk users 19M Mar 9 15:44 FreeTube-linux-x64.tar.xz
No, skutečná velikost FreeTube je kolem 38 MB , ale mám zatím jen 19M.
Znovu jsem spustil příkaz Wget v naději, že obnoví částečně stažený soubor, ale nestalo se tak. Wget začal stahovat soubor od začátku a po několika minutách jsem dostal stejnou chybu. Bez ohledu na to, kolikrát jsem se pokusil tento soubor stáhnout, úloha stahování se po několika minutách přerušovala.
Obnovit částečně stažený soubor pomocí wget
Po několika hledáních na Googlu a procházení wget
manuálu, zjistil jsem, že existuje možnost obnovit částečně stažené soubory pomocí příkazu wget.
Chcete-li obnovit částečně stažený soubor, přejděte do umístění, kde částečně stažený soubor existuje, a použijte -c
nebo --continue
pomocí příkazu wget, jak je uvedeno níže.
$ wget -c https://github.com/FreeTubeApp/FreeTube/releases/download/v0.1.3-beta/FreeTube-linux-x64.tar.xz
Nebo,
$ wget --continue https://github.com/FreeTubeApp/FreeTube/releases/download/v0.1.3-beta/FreeTube-linux-x64.tar.xz
Nyní Wget začal stahovat soubor z místa, kde byl ponechán při předchozím pokusu. -c
nebo --continue
bude pokračovat v získávání částečně staženého souboru. To bude docela užitečné, když chcete dokončit stahování zahájené předchozí instancí Wgetu nebo jiným programem.
Mějte prosím na paměti, že pokud je v aktuálním adresáři soubor se stejným názvem, Wget bude předpokládat, že se jedná o první část vzdáleného souboru, a požádá server, aby pokračoval v načítání od offsetu rovného délce lokálního souboru. soubor. Takže se ujistěte, že jste smazali všechny ostatní částečně stažené soubory a ponechali si původní soubor, který chcete stáhnout.
Další podrobnosti viz wget
manuálové stránky.
$ man wget
Nebo,
$ wget --help
Související čtení:
- Jak obnovit částečně přenesené soubory přes SSH pomocí Rsync