Domovská » jak » Jak nainstalovat další software na váš domovský směrovač (DD-WRT)

    Jak nainstalovat další software na váš domovský směrovač (DD-WRT)

    Chtěli jste někdy mít další funkce jako Email, Bit-torrent nebo dokonce MySQL přímo na vašem routeru? No, možná teď můžete. How-To Geek se ponoří do toho, jak nainstalovat software Opkg na DD-WRT.

    Obrázek Jean Spector a Aviad Raviv

    Pokud jste tak ještě neučinili, ujistěte se a podívejte se na předchozí články ze série:

    • Otočte svůj směrovač do směrovače Super-Powered s DD-WRT
    • Jak odstranit reklamy s Pixelserv na DD-WRT

    Za předpokladu, že jste obeznámeni s těmito tématy, pokračujte v čtení. Mějte na paměti, že tato příručka je o něco techničtější a začátečníci by měli být opatrní při modifikaci směrovače.

    Trápení

    Nedávno jsem koupil nový Buffalo WZR-HP-AG300H, který je dodáván s re-značkovou verzí DD-WRT. Vzhledem k tomu, že tento směrovač má port USB, okamžitě jsem připojil HD a pokoušel se použít wiki průvodce "Optware, The Right Way". Bohužel jsem rychle zjistil, že router, který jsem dostal, je založen Atheros a skript z této wiki stránky, to nepodporuje. Tak jsem začal kopat (jak jsem vždycky dělal) a narazil jsem na několik průvodců (1, 2, 3 a 4), jejichž cílem bylo vysvětlit, jak se Opkg dostat do ruky. Zatímco jejich příspěvek (mimo jiné na webu) k této příručce byl neocenitelný, některé z instrukcí jsou (IMHO) jednoduše ne přímočaře. Například dáváte "lib" soubory ryby, ale nenaučíte, jak je ryby ze zdroje. Také muset použít Linux formátovaný HD nebo alespoň jeden oddíl jednoho (což vlastně ani nefunguje na firmware, se kterým jsem testoval). Proto jsem cítil potřebu vytvořit níže stručný a jednoduše sledovatelný a reprodukovatelný postup pro získání správce balíčků OpenWRT Opkg k práci na takových směrovačích.

    Aktualizace: Kapacita připevňovacích diskových oddílů byla znovu zavedena do re-značkové verze na alfa build 17798.

    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 může být použita k instalaci softwaru, jako je: démon přenosu BitTorrent, odesílatele e-mailu ssmtp a démon Knockd, který spouští skripty po zadaném pořadí spouštění portů. Z webu OpenWRT:

    Nástroj opkg (ipkg fork) je lehký správce balíčků, který se používá ke stahování a instalaci balíčků OpenWrt z lokálních repozitářů balíčků nebo lokalizovaných na Internetu. Opkg pokusy o vyřešení závislostí s balíčky v úložištích - pokud se to nepodaří, nahlásí chybu a přeruší instalaci tohoto balíčku.

    Takže pomocí Opkg můžeme nainstalovat věci, jako jsme udělali s Ipkg na "Odemknout ještě více energie z vašeho Home Router" průvodce. Mezi hlavní rozdíly patří:

    1. Chcete-li ukázat příklady SSMTP a Knockd, musíte skutečně zjistit závislost ručně. Postup, jak to udělat ručně, je obtížný a není příliš přímý. Opkg to dělá automaticky.
    2. Tentokrát budeme přidání software navíc nad firmware, který je na svém místě, spíše než jej nahradit. Při nahrazení bylo skvělé cvičení, bylo to bezpochyby: nebezpečné, náchylné k problémům, nezvratné a nejhorší ze všech routerů. Netřeba dodávat, že je to jednodušší a bezpečnější.

    Předpoklady

    Chcete-li vyplnit tuto příručku, postupujte takto:

    1. Jak bylo uvedeno výše, tato příručka byla vytvořena a testována na Buffalo WZR-HP-AG300H s firmou Buffer verze 17135 "Pro". Měla by pracovat na všech směrovačích založených na Atheros (ar71xx) s libovolnou verzí DD-WRT stejné revize nebo výše , ale vaše míle může být velmi.
    2. Budete muset povolit SSH na směrovači, stejně jako nainstalovat a používat WinSCP k připojení k němu. To bylo vysvětleno v příručce "Jak odstranit reklamy s Pixelserv na DD-WRT" průvodce. Ve skutečnosti se předpokládá, že jste schopni dělat všechno, co je v této příručce vysvětleno.
    3. 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 wiki DD-WRT.
    4. Prostor pro JFFS a asi 4 MB post formátovaného prostoru pro základní nastavení. Prostor JFFS je nejen předpokladem, je to zastávka. Je to proto, že pokud váš směrovač nemá alespoň výše zmíněný 4 MB postformátovaného prostoru, z této příručky nebudete mít žádný skutečný přínos a bude lépe využívat funkci "Odblokovat ještě více energie z vašeho domácího směrovače" průvodce instalací balíčků Ipkg přímo do firmwaru nebo ruční instalace balíčků Ipkg. Postupujte podle pokynů v příručce "Jak odstranit inzeráty s Pixelserv na DD-WRT", abyste povolili JFFS a zjistili, kolik volného místa máte skutečně po je formátován.

    Poznámka: To je možné pouze s 2MB prostoru pro nastavení, ale pak bychom ztratili výsledek "/ etc" čtení zapisovatelný a musel by vyvolat Opkg, zatímco specifikovat konfigurační soubor ručně pokaždé ... což je jako sooo lame ...  

    Nechte se rozbít

    V tomto okamžiku byste měli mít povoleno službu JFFS a můžete do směrovače SSH / WinSCP.

    1. Otevřete relaci terminálu směrovače.
    2. Vytvořte dočasný adresář, v němž budeme pracovat:

      mkdir / tmp / 1
      cd / tmp / 1

    Pro instalaci Opkg použijte Ipkg
    Zatímco budeme nahrazovat Ipkg jako správce balíčků, budeme ho používat k ruční instalaci instalačního balíčku Opkg.

    1. Chcete-li to provést, stáhněte instalační balíček Opkg pro architekturu ar71xx z kmene projektu OpenWRT:

      wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/opkg_618-2_ar71xx.ipk

      Poznámka1: V době psaní tohoto dokumentu je 618 nejnovější verze, může se to v budoucnu změnit, a proto jej přizpůsobte.
      Poznámka2: Možná je možné, že jediný rozdíl v získávání této příručky pro práci s dalšími architekturami je získat instalační program Opkg z příslušné architektury pro váš směrovač ... nicméně to není vaše.

    2. Invoke Ipkg ručně instalovat Opkg pomocí:

      ipkg install opkg_618-2_ar71xx.ipk

      Poznámka: Můžete také, pokud chcete, nainstalovat každý balíček do úložiště ručně tímto způsobem. Nicméně to by znamenalo, že budete muset vyřešit závislost na vlastní ... a co by bylo zábavné v tom?

    Získání dynamických knihovních souborů ("lib" s)
    Požadované soubory "lib" pro práci Opkg jsou součástí distribuce OpenWRT. Chcete-li je získat, musíte je extrahovat z "Kořenového souborového systému" uvedeného distribuce.

    1. Chcete-li to provést, stáhněte si nejnovější základní "Root FileSystem" pro rozpoznání openWRT, který obsahuje požadované "lib" z OpenWRT projektu kufru:

      wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz

    2. Extrahujte jej pomocí:

      tar xvzf openwrt-ar71xx-generic-rootfs.tar.gz

    3. Zkopírujte soubory "libs" z kořenových adresářů, které jsme získali výše, do adresáře "libs" na našem JFFS, a zároveň zachovávejte jejich atributy a symbolické odkazy:

      cp -pp / tmp / 1 / lib / * / jffs / usr / lib /

      Poznámka: Zobrazí se zpráva, že se podadresáře vynechávají. 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 říct směrovač, 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.

    1. Chcete-li to provést, nastavte proměnnou prostředí LD_LIBRARY ručně (prozatím) tak, aby bylo místo, kde jsme zkopírovali nové soubory lib, první v "PATH":

      export LD_LIBRARY_PATH = / jffs / usr / lib: $ LD_LIBRARY_PATH

    Read-writable "/ etc"
    Chystáme se kopírovat "/ etc" do JFFS a potom vytvořit běžný "/ etc" připojovací bod, ukažte na něj. Pokud tak učiníte, otevře se svět možností, protože "/ etc" se stane čitelným zápisem (což jsem osobně čekal (a) 7 let a dáme balíčkům, které očekávají toto chování, aby fungovaly správně.

    1. Vytvořte adresář, který bude obsahovat "/ etc":

      mkdir -p / jffs / geek / atd

    2. Rekurzivně zkopírujte celou "/ etc" při zachování všech podadresářů, atributů souborů a symbolických odkazů.

      cp -a / etc / * / jffs / geek / etc /

    3. Ručně (zatím) "vázat připojit" adresář "/ etc" do JFFS:

      mount -o vazba / jffs / geek / etc / / etc /

    Nastavte adresář Optware ("/ opt")
    Opkg od OpenWRT, očekává, že bude použit při sestavování firmwaru směrovače. Současně FileSystem není na routeru a proto se stále mění, není problém instalovat do libovolného umístění na FileSystemu. Proto konfigurační soubor Opkg ukazuje balíčky, které se mají nainstalovat do "root" (/) FileSystemu. Používáme však Opkg po firmware byl postaven a nainstalován na směrovači a protože nemůžeme změnit kořenový souborový systém, který má být čitelný pro zápis, ukážeme všechny instalace, které budou instalovány pod "/ opt". V současné době však "/ opt" také odkazuje na umístění pouze pro čtení na firmware směrovače. Chcete-li tento problém překonat, uděláme volbu "/ opt" do JFFS, která je zapisovatelná.

    1. Chcete-li to provést, vytvořte adresář, který bude obsahovat balíčky Optware:

      mkdir -p / jffs / opt

    2. Ručně (prozatím) "bind mount" adresář "/ opt" do souboru JFFS:

      mount -o vazba / jffs / opt / / opt /

      Poznámka: I přes rozsah této příručky, pokročilejší uživatelé mohou chtít tento připojovací bod změnit, aby poukázali na HD.

    Nastavení konfiguračního souboru Opkg
    Chceme, aby byl konfigurační soubor Opkg, kde je Opkg ve výchozím nastavení vyhledáván (což je "/ etc") a nastaven tak, aby se instaloval do "/ opt".

    1. Chcete-li to provést, přesuňte konfigurační soubor opkg nainstalovaný balíkem Opkg do umístění zapisovatelného pro čtení "/ etc":

      mv /jffs/etc/opkg.conf / etc /

    2. Změnit cíl pro instalace Optware, aby byl "/ 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":

      vi /etc/opkg.conf

      Ukažte to takto:

      src / gz snapshots http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
      dest root / opt
      dest ram / tmp
      lists_dir ext / var / opkg-seznamy
      možnost overlay_root / overlay

      Poznámka: Směrnici "lists_dir" můžete změnit na místo, které není v paměti RAM, ale na serveru JFFS. Zatímco to by vám zbavilo aktualizaci seznamů, než budete moci nainstalovat další software (pokud je váš router znovuzahájen), ztratíte asi 1,5MB zbytečného prostoru JFFS a narazíte na jeho erozi.

    Ahoj kočko
    Měli byste být schopni vidět, že Opkg pracuje vydáním aktualizace a seznamem příkazů.

    1. Pokud vše proběhlo dobře, měli byste vidět, že seznamy Opkg byly aktualizovány bez chyby a jste připraveni implementovat skript v dalším kroku:

      opkg update; opkg list

    2. Udělejte si čas a začněte zkoumat balíčky dostupné na úložišti ... .

    Skriptu StartUp
    Potřebujeme to provést tak, aby při montáži routeru došlo automaticky ke všem potřebným montážům a průchodům. Za tímto účelem jsme pro vás vytvořili tento inicializační skript geek-init.

    1. Stáhněte a extrahujte a umístěte jej pod "/ jffs / geek / etc /". (Zvažte to s WinSCP).
    2. Udělat skript spustitelný tím, že přejde do jeho vlastností pomocí WinSCP nebo provede:

      chmod + x /jffs/geek/etc/geek-init.sh

    3. Spusťte skript na spuštění routeru pomocí WebGUI. V části Správa -> Příkazy v textovém poli zadejte:

      /jffs/geek/etc/geek-init.sh web-gui

      Klepněte na tlačítko "Uložit spuštění".

    Kolem pneumatik
    Pokud vše proběhlo dobře, měli byste nyní moci restartovat router a stále používat správce balíčků Opkg. To znamená aktualizovat, seznamovat a instalovat aplikace.
    Umožňuje prověřit, že vše funguje instalací příkazu "netstat", který byl z nějakého důvodu vynechán z DD-WRT's builds v poslední době. Než to uděláme, spusťte příkaz netstat v terminálu a zjistíte, že jste naštěpeni chybou ze skořepiny, když řeknete "-sh: netstat: not found".

    1. Váš první krok bude vždy aktualizovat seznamy Opkg, abyste získali nejnovější seznam balíčků z úložiště:

      opkg update

    2. Pokud nevíte, který balíček obsahuje příkaz "netstat", můžete filtrovat výsledky pomocí.

      seznam opkg | grep netstat

    3. A nyní nainstalujte "netstat" pomocí:

      opkg nainstalujte net-tools-netstat

      A teď, když znovu provedete příkaz netstat, funguje to ... čisté ha? :)

    Až do budoucích článků, ve kterých budeme instalovat a konfigurovat softwarové balíčky pomocí této metody, můžete mít spoustu geeků zábavy zkoumat obrovské množství softwaru, který je nyní přímo na prsty.


    Pokud je takový stroj virtuální nemožností, musí být logicky konečná nepravděpodobnost. Jediné, co musím udělat, je, abych zjistil, jak je to naprosto nepravděpodobné, přivést tuto postavu do generátoru nepravděpodobné nepravděpodobnosti, dát jí čerstvý šálek skutečně horkého čaje a zapnout ji ... ... ... Jednou věc, kterou opravdu se nelíbí, je "Smart-Ass".