Přidání opkg – repozitáře s konzolovými aplikacemi do NAS Synology

NAS servery od Synology běží interně na operačním systému Linux a tak se můžete dostat do stavu, kdy byste na své NASce, chtěli mít i své oblíbené konzolové aplikace.

Samotné Synology připravilo ke správě aplikací jejich vlastní „Centrum balíčků“, který obsahuje sice výborné aplikace, ale nejsou zda obsaženy žádné klasické konzolovky.

NAS Synology - centrum balíčků
NAS Synology – centrum balíčků

Naštěstí máme možnost přidání správce balíčků opkg, který je odnoží ipkg, tedy systému určeného pro embedded zařízení (mini-počítače).

Postup bohužel není úplně triviální, ale nepředpokládám, že by konzolové aplikace používali lidé nezběhlí v IT, takže to nakonec nebude tak složité – vycházím z tohoto návodu: https://github.com/Entware-ng/Entware-ng/wiki/Install-on-Synology-NAS

Postup instalace

  1. Přihlásíme se na svou NAScu (pomocí ssh <názevUživatele>@<IPadresa/názevNas>) a přepneme na uživatele root
    sudo su
  2. Vytvoříme adresář na pevném disku
    mkdir -p /volume1/@entware-ng/opt
  3. Vytvoříme symbolický link do kořeného adresáře
    ln -sf /volume1/@entware-ng/opt /opt
  4. Spustíme instalační skript v závislosti na architektuře CPU v naší NASce (pro většinu domácích NAS to bude ARM). Pokud si nejsme jistý zjistíme to jednoduše pomocí příkazu:
    uname --machine

    Architektura

    • pro ARM v5
      wget -O - https://pkg.entware.net/binaries/armv5/installer/entware_install.sh | /bin/sh
    • pro ARM v7
      wget -O - https://pkg.entware.net/binaries/armv7/installer/entware_install.sh | /bin/sh
    • pro x86-32bit
      wget -O - https://pkg.entware.net/binaries/x86-32/installer/entware_install.sh | /bin/sh
    • pro x86-64bit
      wget -O - https://pkg.entware.net/binaries/x86-64/installer/entware_install.sh | /bin/sh
  5. Přidáme následující kód do /etc/profile souboru
    source /opt/etc/profile
    

    takže bychom tam měli mít něco takového

    ...
    if [ -f /etc.defaults/.bashrc_profile ]; then
           	source /etc.defaults/.bashrc_profile
    fi
    
    source /opt/etc/profile
    
    PATH=$PATH:/var/packages/Java8/target/j2sdk-image/bin # Synology Java runtime enviroment
    PATH=$PATH:/var/packages/Java8/target/j2sdk-image/jre/bin # Synology Java runtime enviroment
    ...
  6. Restartujeme NAS

Kontrola zda byla instalace úspěšná

Pokud jsme vše udělali dobře a nevyskytla se během instalace nějaká chyba měli bychom být nyní schopni spustit balíčkovač opkg,

Opkg v shellu
Balíčkovací systém opkg v konzoli

Instalace z repozitáře

Samotná instalace aplikace je velice podobná jakémukoliv jinému balíčkovacímu systému v konzoli., tj. např. pokud chceme nainstalovat souborový manažer Midnight Commander pak stačí zadat:

opkg install mc

a balíčkovač už se postará o případné závislosti.

Midnight commander
Souborový manažer Midnight commander

Aktualizace balíčků

Jelikož samotná repozitory není jen statický balík pevně daných aplikací, ale občas nějaké další přibydou, a nebo jsou již aplikace povýšeny na novější verzi, je vhodné občas udělat aktualizace a to následující dvojici příkazů

# zaktualizuje seznam aplikací v repozitory a jejich verzí
opkg update

# aplikuje aktualizace na již nainstalované aplikace
opkg upgrade

Seznam všech dostupných balíčků

Kromě možnosti vypsat si seznam lokálně přímo v konzoli příkazem opkg list, se můžeme podívat na seznam balíčků i na webu v závislosti na použité architektuře procesoru

Instalací opkg tak dostává naše NASca další rozměr a můžeme začít používat spousty zajímavých konzolových aplikací ze světa Linuxu.

Pomalá Samba (SMB) na Macu

Je tomu už pár měsíců co jsem doma vyměnil kompletně infrastrukturu na 1Gbit LAN a pořádně jsem ji mohl využít až s nákupem NASky (Synology DS216play), která má dostatečně silný CPU aby „gigabit“ zvládla a zároveň disponuje síťovou kartou stejné rychlosti.

Čas plynul a já NASku začal používat jako primární zdroj fotek i při editaci, tj. na počítači mám skutečně jen katalog Lightroomu s náhledy a fotky jako takové jsou fyzicky na NAS serveru. Na tohle použití jsem nepociťoval problémy, až jednoho dne jsem si říkal, že si změřím rychlost kopírování a ouha, „problém“ byl na světě.

Ukázalo se, že z OSX je rychlost kopírování někde mezi 20-40MB/s, což je od teoreticky proklamovaných 100MB/s poměrně daleko. O to větší překvapení bylo, když jsem zjistil, že z Windows to skutečně touto rychlostí frčí a tak nastálo bádání čím by to mohlo být.

Rychlost kopírování SMB v OSX před
Rychlost stahování z NASky před úpravou

Pokus první – nastavování samby na NASce

Od všemožných rad na přepnutí SMB2 na SMB3 v Synology konzole a povypínání různých věcí, které však mému problému vůbec nepomáhali jsem se dostal k doporučení zavrhnout SMB a použít starý AFP, což skutečně pomohlo, ale zase z počítače s Windows byla NASka nepoužitelný (pokud jsem SMB vypnul) a nebo jsem se musel ručně v OSX připojit na AFP namísto SMB (nedovedu si představit, že bych to takhle delší dobu dělal).

Nakonec jsem nastavení Synology nechal takto (Menu Ovládací panel -> Souborové služby):

Nastavení SMB v NAS Synology
Nastavení SMB v NAS Synology

Pokus druhý – nastavování v OSX (Macu)

Hledal jsem tedy dále až jsem našel nanápadný návod na změnu SMB klienta na straně OSX a to zadáním následujících příkazů v terminálu:

sudo -s
echo "[default]" > /etc/nsmb.conf
echo signing_required=no >> /etc/nsmb.conf

Poté už jen restartovat a hurá – 100MB/s při kopírování je v OSX i přes SMB protokol.

Rychlost kopírování SMB v OSX po
Rychlost stahování z NASky po úpravě

Nutno, ale poznamenat, že u tohoto řešení je bezpečností varování:

Sounds like its the new default of signing being on for the SMB Client. This was done to prevent our SMB Client from being used to attack SMB Servers using the “badlock” exploit.