Už jste někdy chtěli mít na svém routeru další funkce, jako je Email, Bit-torrent nebo dokonce MySQL? Možná teď můžete. How-To Geek se ponoří do instalace softwaru Opkg na DD-WRT.
Obrázek od Jean Spector a Aviad Raviv
Pokud jste tak ještě neučinili, podívejte se na předchozí články v sérii:
- Proměňte svůj domácí router na vysoce výkonný router s DD-WRT
- Jak odebrat reklamy pomocí Pixelserv na DD-WRT
Za předpokladu, že jste s těmito tématy obeznámeni, pokračujte v čtení. Mějte na paměti, že tato příručka je trochu techničtější a začátečníci by měli být při modifikaci routeru opatrní.
Soužení
Nedávno jsem koupil nový
Buffalo WZR-HP-AG300H
který přichází s re-značkovou verzí
DD-WRT
. Vzhledem k tomu, že tento router má USB port, okamžitě jsem připojil HD a zkusil použít „
Optware, správná cesta
“Průvodce wiki. Bohužel jsem rychle zjistil, že router, který jsem získal, je založen na Atherosu a skript z této stránky wiki jej nepodporuje. Začal jsem tedy kopat (jako vždycky) a narazil jsem na několik průvodců (
1
,
2
,
3
a
4
), jehož cílem bylo vysvětlit, jak zajistit, aby Opkg fungoval ručně. Zatímco jejich příspěvek (mimo jiné zdroje na webu) k této příručce byl neocenitelný, některé pokyny (IMHO) prostě nejsou dostatečně přímé. Například vám dá soubory „lib“ ryby, ale nenaučí vás, jak je lovit ze zdroje. Rovněž musíte použít HD formátovaný v Linuxu nebo alespoň jeden jeho oddíl (
což ve skutečnosti nefunguje ani na firmwaru, který jsem testoval
). Proto jsem cítil potřebu vytvořit níže uvedený stručný, snadno použitelný a reprodukovatelný postup pro získání
OpenWRT
Správce balíčků Opkg pro práci na takových směrovačích.
Aktualizace: Možnost upevnění oddílů byla znovu zavedena do re-značkové verze na verzi 17798 alfa.
Co je Opkg?
Opkg je správce balíčků jako apt / aptitude a yum. Funguje jako náhrada za Správce balíčků Ipkg a lze jej použít k instalaci softwaru, například: the Přenos Démon BitTorrent, odesílatel e-mailu ssmtp a Knockd démon, který spouští skripty po určité spouštěcí sekvenci portů, abychom jmenovali alespoň některé. Z Stránka OpenWRT :
Obslužný program opkg (vidlice ipkg) je odlehčený správce balíčků používaný ke stahování a instalaci balíčků OpenWrt z lokálních úložišť balíků nebo z těch, které jsou umístěny na internetu.
Opkgpokusí se vyřešit závislosti s balíčky v úložištích - pokud se to nepodaří, ohlásí chybu a zruší instalaci daného balíčku.
Takže pomocí Opkg můžeme nainstalovat věci jako my s Ipkg na „ Uvolněte ze svého domácího routeru ještě více energie Průvodce. Hlavní rozdíly jsou:
- Abychom mohli uvést příklady SSMTP a Knockd, museli jste tyto závislosti zjistit ručně. Postup, jak to provést ručně, je obtěžující a není příliš přímočarý. Opkg to dělá automaticky.
- Tentokrát budeme přidávání software na místo firmwaru, který je na místě, místo aby jej vyměňoval. Při výměně to bylo vynikající cvičení geeků, bylo to bezpochyby: nebezpečné, náchylné k problémům, nevratné a nejhorší ze všech specifických routerů. Není nutné říkat, že je to mnohem jednodušší a bezpečnější.
Předpoklady
Chcete-li dokončit tuto příručku, nezapomeňte na následující:
- Jak je uvedeno výše, tato příručka byla vytvořena a otestována Buffalo WZR-HP-AG300H s firmwarem Buffalo „Pro“ verze 17135. Měl by fungovat na všech směrovačích založených na Atheros (ar71xx) s jakoukoli verzí DD-WRT stejné revize nebo vyšší, ale váš kilometrový výkon může být velmi.
- Budete muset povolit SSH na routeru a také nainstalovat a používat WinSCP k tomu se připojit. To bylo vysvětleno v „ Jak odebrat reklamy pomocí Pixelserv na DD-WRT Průvodce. Ve skutečnosti se předpokládá, že jste schopni dělat vše, co je vysvětleno v této příručce.
- Musíte být schopni se připojit k routeru pomocí terminálu (doporučuje se SSH). Některé ukazatele, jak to udělat, jsou na DD-WRT wiki .
- Prostor pro JFFS a přibližně 4 MB postformátovaného prostoru pro základní nastavení. Prostor JFFS není jen nezbytným předpokladem, je to i zastávka show. Je to proto, že pokud váš router nemá alespoň výše zmíněné 4 MB místa po formátování, nezískáte z této příručky žádnou skutečnou výhodu a bude vám lépe používat „ Uvolněte ze svého domácího routeru ještě více energie ”Průvodce instalací balíčků Ipkg přímo do firmwaru nebo ruční instalací balíčků Ipkg. Postupujte podle pokynů v části „ Jak odebrat reklamy pomocí Pixelserv na DD-WRT ”Průvodce povolením JFFS a uvidíte, kolik volného místa ve skutečnosti máte po je naformátován.
Poznámka: Je možné to udělat s pouhými 2 MB prostoru pro nastavení, ale pak bychom ztratili výsledek „/ etc“, který by se stal čitelným a museli bychom vyvolat Opkg, zatímco pokaždé specifikujeme konfigurační soubor… což je jako tááák chromý ...
Pojďme praskat
V tomto okamžiku byste měli povolit JFFS a být schopni SSH / WinSCP do routeru.
- Otevřete relaci terminálu k routeru.
-
Vytvořte dočasný adresář, ve kterém budeme pracovat:
mkdir / tmp / 1
cd / tmp / 1
Použijte Ipkg k instalaci Opkg
I když se chystáme nahradit Ipkg jako správce balíčků, budeme jej používat k ruční instalaci instalačního balíčku Opkg.
-
Chcete-li to provést, stáhněte si instalační balíček Opkg pro architekturu ar71xx z
Kufr projektu OpenWRT
:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/opkg_618-2_ar71xx.ipk
Poznámka 1: V době psaní tohoto článku je 618 nejnovější verzí, která se může v budoucnu změnit, proto ji upravte.
Výslovnost: Je možné, že jediným rozdílem v tom, aby tato příručka fungovala pro jiné architektury, je dostat instalační program Opkg z příslušné architektury pro váš směrovač ... to však vaše společnost opravdu nevyzkouší. -
Vyvolání Ipkg k ruční instalaci Opkg pomocí:
ipkg install opkg_618-2_ar71xx.ipk
Poznámka: Tímto způsobem můžete každý balíček do úložiště nainstalovat ručně. To by však znamenalo, že si závislosti budete muset vyřešit sami ... a co by na tom byla zábava?
Získání souborů dynamické knihovny („lib“)
Požadované soubory „lib“, aby Opkg fungoval, jsou součástí distribuce OpenWRT. Chcete-li je získat, musíte je extrahovat z „Root FileSystem“ uvedené distribuce.
-
Chcete-li to provést, stáhněte si nejnovější základní „Root FileSystem“ pro distribuci openWRT, který obsahuje požadované „libs“ z
Kufr projektu OpenWRT
:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz
-
Extrahujte jej pomocí:
tar xvzf openwrt-ar71xx-generic-rootfs.tar.gz
-
Zkopírujte soubory „libs“ z „rootfs“, které jsme extrahovali výše, do adresáře „libs“ na našem JFFS, při zachování jejich atributů a symbolických odkazů:
cp -Pp / tmp / 1 / lib / * / jffs / usr / lib /
Poznámka: Dostanete zprávy, že podadresáře jsou vynechány. Protože nepotřebujeme nic jiného než soubory „lib“, je to v pořádku a tyto zprávy můžete bezpečně ignorovat.
Oprava LD_LIBRARY_PATH ”
Musíme říci routeru, kde hledat sdílené knihovny (libs), které jsme právě „nainstalovali“ a že to musí udělat
před
ty, které byly dodány s firmwarem.
-
Chcete-li to provést, nastavte proměnnou prostředí LD_LIBRARY ručně (prozatím), aby bylo místo, kam jsme zkopírovali nové soubory lib, první v „PATH“:
exportovat LD_LIBRARY_PATH = / jffs / usr / lib: $ LD_LIBRARY_PATH
„/ Etc“ pro zápis
Zkopírujeme „/ etc“ na JFFS a poté vytvoříme běžný bod připojení „/ etc“, ukážeme na něj. Pokud tak učiníte, otevře se vám svět možností, protože „/ etc“ se stane zapisovatelným pro čtení (na které jsem osobně čekal už 7 let) a umožní balíčkům, které toto chování očekávají, pracovat správně.
-
Vytvořte adresář, který bude obsahovat „/ etc“:
mkdir -p / jffs / geek / atd
-
Rekurzivně zkopírujte celý soubor „/ etc“ při zachování všech podadresářů, atributů souborů a symbolických odkazů.
cp -a / etc / * / jffs / geek / etc /
-
Ručně (prozatím) „svázat vazbu“ adresáře „/ etc“ s jedním z JFFS:
mount -o bind / jffs / geek / etc / / etc /
Nastavte adresář Optware („/ opt“)
Opkg od OpenWRT očekává, že bude použito při sestavení firmwaru routeru. V tuto chvíli FileSystem ještě není na routeru, a proto se stále může měnit, není problém s instalací do jakéhokoli umístění v FileSystem. Proto konfigurační soubor Opkg ukazuje balíčky k instalaci do „root“ (/) systému FileSystem. Používáme však Opkg
po
firmware byl vytvořen a nainstalován na routeru, a protože nemůžeme změnit kořen souborového systému tak, aby byl zapisovatelný pro čtení, ukážeme všechny instalace, které se mají nainstalovat, pod „/ opt“. V současné době však „/ opt“ také ukazuje na umístění jen pro čtení na firmwaru routeru. Abychom to překonali, uděláme bod „/ opt“ na JFFS, který je čitelný pro zápis.
-
Chcete-li to provést, vytvořte adresář, který bude obsahovat balíčky Optware:
mkdir -p / jffs / opt
-
Ručně (prozatím) „svázat připojení“ adresáře „/ opt“ k jednomu JFFS:
mount -o bind / jffs / opt / / opt /
Poznámka: I když nad rámec této příručky, pokročilejší uživatelé mohou chtít změnit tento přípojný bod, aby ukazovali na HD.
Úprava konfiguračního souboru Opkg
Chceme, aby konfigurační soubor Opkg byl tam, kde jej Opkg ve výchozím nastavení hledá (což je „/ etc“) a upravený pro instalaci na „/ opt“.
-
Chcete-li to provést, přesuňte konfigurační soubor opkg nainstalovaný balíčkem Opkg do umístění „/ etc“ pro zápis:
mv /jffs/etc/opkg.conf / etc /
-
Změňte cíl instalací Optware na „/ opt“ namísto „root“ (/).
Chcete-li to provést, pomocí editoru „vi“ nebo WinSCP přejděte na „/ etc /“ a vytvořte obsah souboru „opkg.conf“: