Raspberry π VII . - Download manager

NAS který jsme si v minulém díle nainstalovali se nemusí omezit pouze na ukládání souborů . Můžeme ho například obohatit o funkci download serveru , a tak se z Raspberry Pi stane vytrvalý pomocník , který bude stahovat “ vedne v noci ” a spotřebuje při tom minimum energie.

11.9.2012 10:00 | Petr Horáček | přečteno 21341×

Pokud potřebujete stáhnout nějaký velký soubor, ale nechcete nechat váš “žravý” počítač běžet přes celou noc (nebo i přes několik dní), můžete využít služeb download manažera nainstalovaného na nějakém “malém” zařízení - například i na našem Raspberry Pi. Do minule nainstalovaného NASu si tedy dnes přidáme skvělou aplikaci Aria2, ke které budeme přistupovat přes webové rozhraní.

Aria2

Download manažerů je dostupných opravdu velké množství, ze všech mnou vyzkoušených se mi však nejvíce zalíbila Aria2. Standardně nemá žádné grafické prostředí (pro náš účel by bylo přistavěné GUI zbytečné) a také je poměrně nenáročná na výkon počítače.

Na download manažeru jsou ovšem důležité hlavně jeho “stahovací” schopnosti, Aria umí stahovat přes HTTP, FTP či Torrent a dokonce dokáže tyto zdroje kombinovat - to znamená, že pokud stahujete totožný soubor z více zdrojů, program je dokáže zkombinovat a stahovat “z každého kousek”, díky tomu nemusíte být omezeni rychlostí posílání dat od jednoho zdroje, a tak využijete vaši linku na plný výkon. Krom toho Aria podporuje i metalinky, ve kterých jsou všechny zdroje nějakého souboru rovnou vypsány.

Domovská stránka: http://aria2.sourceforge.net/

Instalace

Arii můžeme nainstalovat z balíčku aria2, který je uložen v repozitářích.

sudo apt-get install aria2

Ještě než budeme pokračovat, vytvořme si ve sdílených složkách adresář pro stažené soubory a nastavme jeho přístupová práva.

sudo mkdir /home/sdilene/verejne/downloads
sudo chown -R root:users /home/sdilene/verejne/downloads
sudo chmod -R ug=rwx,o=rx /home/sdilene/verejne/downloads

Použití

Jediné možné ovládání “čisté” Arie je skrz terminál pomocí příkazu aria2c, za který se dosadí adresa souboru ke stažení. Program sám rozpozná o jaký typ souboru jde a dle toho s ním nakládá (při vložení adresy torrentu se torrent začne automaticky stahovat).

aria2c http://downloads.raspberrypi.org/images/raspbian/2012-08-16-wheezy-raspbian/2012-08-16-wheezy-raspbian.zip.torrent

Samotný příkaz lze doplňovat o parametry pro místo uložení souboru, maximální rychlost stahování, výstupní soubor, přihlašování a podobně (seznam všech parametrů naleznete v dokumentaci projektu). Například následujícím příkazem stáhneme archiv s obrazem Raspbianu ze dvou zdrojů (HTTP i Torrent) do vytvořené složky downloads s maximální rychlostí stahování omezenou na 200kB/s.

aria2c --dir=/home/sdilene/verejne/downloads --max-overall-download-limit=200K http://downloads.raspberrypi.org/images/raspbian/2012-08-16-wheezy-raspbian/2012-08-16-wheezy-raspbian.zip.torrent http://downloads.raspberrypi.org/images/raspbian/2012-08-16-wheezy-raspbian/2012-08-16-wheezy-raspbian.zip

Pokud však nechcete zadávat stejné parametry opakovaně při každém stahování, je možné použít konfigurační soubor se standardním nastavením.

Konfigurace

Konfigurační soubor je však nejprve nutné vytvořit. V domovském adresáři si tedy založíme novou složku pro Arii a do ní vložíme soubor s názvem aria2.conf.

sudo mkdir /home/pi/.aria2
sudo pico /home/pi/.aria2/aria2.conf
Sem můžeme vkládat jednotlivé parametry, poté soubor zavřeme Ctrl+X a potvrdíme změny. Jeho obsah může vypadat například takto:
dir=/home/sdilene/verejne/downloads
file-allocation=falloc

Parametr dir jsme si už předvedli, slouží k zadání složky pro ukládání stažených a stahovaných souborů. file-allocation slouží pro přichystání a “zamluvení” prostoru pro stahovaný soubor, protože jsme v minulém díle naformátovali externí disk na souborový systém ext4, můžeme použít hodnotu falloc (ta zabere i velké prostory ve velice nízkém čase).

To je vše, nyní máme Arii plně připravenou pro stahování. Ovládání přes terminál ale asi není právě to, co jsme hledali, a právě proto si aplikaci rozšíříme o webové prostředí webui-aria2.

Webové prostředí

Další z věcí která mě na Arii nadchla bylo její webové prostředí webui-aria2. Není vlastně přímo její, ale je vytvořeno pro použití s ní. Nabízí velice jednoduché ovládání, pěkné prostředí a konfiguraci přímo z prohlížeče. Následujte mé kroky a posuďte sami.

Domovská stránka projektu webui-aria2: https://github.com/ziahamza/webui-aria2

1

Instalace

Je možné využít webové rozhraní na adrese http://ziahamza.github.com/webui-aria2/ a tím se vyhnout instalaci prostředí a zatěžování počítače webovým serverem. Stačí zde nastavit (lokální) adresu vašeho Raspberry a připojit se. Pokud však chcete mít grafické prostředí pěkně “u sebe” (tedy nainstalované na serveru), zde je postup:

Protože jde o webové prostředí, je nutné mít webový server. Naštěstí nejsou třeba ani databáze ani PHP - postačí tedy, když si nainstalujeme samotný webový server. Použít můžeme například Lighttpd, o kterém jsme se už bavili ve čtvrtém díle seriálu.

sudo apt-get install lighttpd

Samotné prostředí stačí stáhnout a vložit do adresáře /var/www. Nejprve tedy pomocí naší aplikace stáhneme archiv s prostředím.

sudo aria2c --dir=/home/sdilene/verejne/downloads -o webui-aria2.zip https://nodeload.github.com/ziahamza/webui-aria2/zipball/master

Nyní rozbalme stažený archiv a následovně ho smažme. Poté se přesuňme do složky a prolistujme její obsah.

sudo unzip /home/sdilene/verejne/downloads/webui-aria2.zip -d /home/sdilene/verejne/downloads/webui-aria2
sudo rm /home/sdilene/verejne/downloads/webui-aria2.zip
cd /home/sdilene/verejne/downloads/webui-aria2
ls

Vypíše se vám pouze jediná složka, ta ve které je uloženo webové prostředí. Složku tedy přejmenujeme a přesuneme do webového adresáře. Poté ještě smažeme poslední přebytečnou a prázdnou složku.

sudo mv ziahamza-webui-aria2-08a4b39 /var/www/aria2
sudo rm -r /home/sdilene/verejne/downloads/webui-aria2

Teď ještě musíme v terminálu spustit démona Arie (pokud ho poté budeme chtít zavřít, provedeme to zkratkou Ctrl+C).

aria2c --enable-rpc --rpc-listen-all

A je to! Nyní se ve webovém prohlížeči můžeme připojit do grafického rozhraní, najdete jej na adrese http://<ip_vaseho_raspberry>/aria2 .

Funkce

Prostředí je velice jednoduché, ale přesto více než dostačující. V první kartě “All Downloads” najdete výpis všech stahovaných souborů. U každého je přehled velikosti, místa ukládání, rychlosti, zbývajícího času a ovládání pozastavení či zrušení. Po zobrazení více informácí se před námi objeví graf rychlosti v čase a další informace o stahování. V kartě “Add Download” je možné přidat adresu pro stahování (ať už z FTP, HTTP či torrentu), adresu metalinku, či nahrát soubor torrent z disku. Ve třetí kartě “Stop downloads” se dají hromadně mazat či pozastavovat stahování.

V poslední kartě “Other” je možné upravovat konfigurační soubor Arie, změnit nastavení připojení a přihlašování. Též zde naleznete celkový přehled všechno stahování (graf, rychlost,...).

Spuštění při startu

Abychom po každém restartu počítače nemuseli znovu pouštět démona, vytvoříme skript, který to udělá za nás. Toto nastavení platí i pro ty, kteří se rozhodli používat rozhraní, které je dostupné na stránkách projektu.

Nejprve vytvoříme samotný skript na spuštění, zastavení a restart služby

sudo pico /etc/init.d/aria2

a vložíme do něj toto:

#!/bin/sh
RETVAL=0
case "$1" in
 start)
 echo -n "Starting aria2c daemon: "
 umask 0000
 aria2c  --daemon=true --enable-rpc --rpc-listen-all
 RETVAL=$?
 echo
 ;;
 stop)
 echo -n "Shutting down aria2c daemon: "
 /usr/bin/killall aria2c
 RETVAL=$?
 echo
 ;;
 restart)
 stop
 sleep 3
 start
 ;;
 *)
 echo $"Usage: $0 {start|stop|restart}"
 RETVAL=1
esac
exit $RETVAL

Poté nastavíme skriptu právo spouštění.

sudo chmod +x /etc/init.d/aria2

Na konec nastavíme skriptu spouštění při každém startu počítače.

sudo update-rc.d aria2 defaults

A to je pro dnešek vše. Teď můžete skript vyzkoušet restartováním Raspberry.

sudo shutdown -r now

Závěr

Aria2 v kombinaci s webovým rozhraním webui-adia2 a NAS serverem na našem Raspberry, je skvělý pomocník pro stahování velkých souborů. Stahování je zde rychlé, funkcí dostatek, prostředí příjemné a spotřeba nízká. Nemám co vytknout a přeji příjemné a svižné stahování.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1952