Domača » kako » Kako namestiti dodatno programsko opremo na domačem usmerjevalniku (DD-WRT)

    Kako namestiti dodatno programsko opremo na domačem usmerjevalniku (DD-WRT)

    Ste že kdaj želeli imeti dodatne funkcije, kot so Email, Bit-torrent ali celo MySQL, neposredno na vašem usmerjevalniku? No mogoče zdaj lahko. Kako naj Geek se potopi v programsko opremo Opkg na DD-WRT.

    Slika: Jean Spector in Aviad Raviv

    Če še niste, se prepričajte in preverite prejšnje članke v seriji:

    • Vključite domači usmerjevalnik v super pogon z DD-WRT
    • Kako odstraniti oglase s Pixelserv na DD-WRT

    Ob predpostavki, da ste seznanjeni s temi temami, nadaljujte z branjem. Ne pozabite, da je ta priročnik malo bolj tehničen in začetniki morajo biti previdni pri moddingih usmerjevalnika.

    Stiske

    Pred kratkim sem kupil nov Buffalo WZR-HP-AG300H, ki je opremljen z novo znamko DD-WRT. Ker ima ta usmerjevalnik USB vrata, sem takoj priključil HD in poskušal uporabiti wiki vodnik »Optware, The Right Way«. Na žalost sem hitro ugotovil, da je usmerjevalnik, ki sem ga dobil, Atherosova osnova in skript s te wiki strani, ga ne podpira. Tako sem začel kopati (kot vedno) in naletel na več vodnikov (1, 2, 3 in 4), ki so želeli razložiti, kako lahko Opkg dela ročno. Medtem ko je bil njihov prispevek (med drugimi viri na spletu) do tega vodnika neprecenljiv, nekatera navodila (IMHO) preprosto niso dovolj jasna. Na primer, dajanje “lib” datotek ribam, vendar vas ne naučijo, kako ga loviti iz vira. Prav tako je treba uporabiti HD formatiran Linux ali vsaj particijo enega (kar dejansko sploh ne deluje na firmwares sem testiral z). Zato sem začutil potrebo po izdelavi spodaj zgoščenega, preprostega in ponovljivega postopka, s katerim lahko upravitelj paketov OpenWRT Opkg dela na takšnih usmerjevalnikih..

    Posodobitev: Možnost vgradnje predelnih sten je bila ponovno uvedena v novo znamko na 17798 alpha build.

    Kaj je Opkg?

    Opkg je upravljalnik paketov, kot so apt / aptitude in yum. Deluje kot zamenjava za upravljalnik paketov Ipkg in se lahko uporablja za namestitev programske opreme, kot so: BitTorrent prenosni oddajnik, pošiljatelj e-pošte ssmtp in Knockd daemon, ki izvaja skripte po določenem zaporedju proženja vrat, če naštejemo samo nekatere. Na spletnem mestu OpenWRT:

    Pomožni program opkg (vilica ipkg) je lahek upravljalnik paketov, ki se uporablja za prenos in namestitev paketov OpenWrt iz lokalnih skladišč paketov ali tistih, ki se nahajajo na internetu.. Opkg poskuša razrešiti odvisnosti s paketi v skladiščih - če to ne uspe, bo prijavilo napako in prekinilo namestitev tega paketa.

    Tako lahko z Opkg namestimo stvari, kot smo jih naredili z Ipkg na vodniku »Sprostite še več moči iz vašega domačega usmerjevalnika«. Glavne razlike so:

    1. Da bi lahko dali primere SSMTP in Knockd, ste morali resnično ugotoviti odvisnosti ročno. Postopek za to ročno je moteč in ni ravno naravnost naprej. Opkg to počne samodejno.
    2. Tokrat bomo dodajanje programsko opremo na vrhu firmware, ki je na svojem mestu, namesto da bi ga nadomestili. Medtem ko je bila zamenjava bila odlična geek vaja, je bila brez dvoma: nevarna, nagnjena k težavam, nepopravljiva in najslabša od vseh usmerjevalnikov. Ni treba posebej poudarjati, da je to preprostejše in varnejše.

    Predpogoji

    Za dopolnitev tega priročnika upoštevajte naslednje:

    1. Kot je navedeno zgoraj, je bil ta priročnik izdelan in preizkušen na Buffalo WZR-HP-AG300H z Buffalovo "Pro" firmware različico 17135. Delovati mora na vseh Atheros (ar71xx) usmerjevalnikih z vsako različico DD-WRT iste revizije ali več , ampak vaša kilometrina je lahko zelo velika.
    2. Na usmerjevalniku morate omogočiti SSH in namestiti ter uporabiti WinSCP za povezavo z njim. To je bilo razloženo v priročniku »Kako odstraniti oglase s Pixelserv na DD-WRT«. Pravzaprav se predvideva, da lahko naredite vse, kar je razloženo v tem priročniku.
    3. Z usmerjevalnikom se morate povezati s terminalom (priporoča se SSH). Nekateri napotki o tem, kako to narediti, so na wiki-DD-WRT.
    4. Prostor za JFFS in približno 4MB prostora za osnovno nastavitev. Prostor JFFS ni le predpogoj, ampak tudi zamašek. To je zato, ker, če vaš usmerjevalnik nima vsaj zgoraj navedenih 4MB prostora po formatiranju, ne boste dobili nobene resnične koristi od tega vodnika in bo bolje izkoristiti možnost »Sprostite še več moči iz vašega domačega usmerjevalnika«. vodnik za namestitev paketov Ipkg neposredno v firmware ali namestitev paketov Ipkg ročno. Sledite navodilom v priročniku »Kako odstraniti oglase s Pixelserv na DD-WRT«, da omogočite JFFS, in si oglejte, koliko prostora imate. po formatirana.

    Opomba: To je mogoče storiti s samo 2 MB prostora za nastavitev, potem pa bi izgubili rezultat »/ etc«, ki bi postal zapisljiv z branjem in bi morali priklicati Opkg, pri tem pa ročno vsakokrat določiti konfiguracijsko datoteko… kar je podobno sooo lame ...  

    Lupimo se

    Na tej točki bi morali omogočiti JFFS in omogočiti SSH / WinSCP v usmerjevalniku.

    1. Odprite terminalsko sejo za usmerjevalnik.
    2. Ustvarite začasni imenik, v katerem bomo delali:

      mkdir / tmp / 1
      cd / tmp / 1

    Za namestitev Opkg uporabite Ipkg
    Medtem ko bomo zamenjali Ipkg kot upravljalnik paketov, ga bomo uporabljali za ročno namestitev namestitvenega paketa Opkg.

    1. To naredite tako, da prenesete namestitveni paket Opkg za arhitekturo ar71xx iz debla projekta OpenWRT:

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

      Opomba1: V času tega pisanja je 618 najnovejša različica, ki se lahko v prihodnosti spremeni, zato jo prilagodite.
      Opomba2: Morda je edina razlika v tem, da ta vodnik deluje za druge arhitekture, da dobite namestitveni program Opkg iz ustrezne arhitekture za vaš usmerjevalnik..

    2. Pokličite Ipkg, da ročno namestite Opkg s pomočjo:

      ipkg install opkg_618-2_ar71xx.ipk

      Opomba: Če želite, lahko namestite vsak paket v skladišče ročno. Vendar bi to pomenilo, da boste morali odvisnosti reševati sami ... in kaj bi bilo zabavno v tem?

    Pridobivanje datotek dinamične knjižnice (»lib«)
    Zahtevane datoteke „lib“ za delovanje Opkg so del distribucije OpenWRT. Da bi jih pridobili, jih je treba izvleči iz "Root FileSystem" omenjene distribucije.

    1. To naredite tako, da prenesete najnovejši osnovni "Root FileSystem" za oddajo openWRT, ki vsebuje zahtevane libe iz debla projekta OpenWRT:

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

    2. Izvlecite ga z uporabo:

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

    3. Kopirajte “libs” datoteke iz “rootfs”, ki smo jih izdali zgoraj, v imenik “libs” na naših JFFS, hkrati pa ohranite njihove atribute in simbolne povezave:

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

      Opomba: Dobili boste sporočila, ki kažejo, da so podimeniki izpuščeni. Ker ne potrebujemo ničesar drugega kot "lib" datoteke, je to v redu in lahko ta sporočila prezrete.

    Določitev LD_LIBRARY "PATH"
    Usmerjevalniku moramo povedati, kje iskati knjižnice v skupni rabi (libs), ki smo jih pravkar »namestili«, in to mora storiti prej tiste, ki ste jih dobili z vdelano programsko opremo.

    1. Če želite to narediti, ročno (za zdaj) nastavite spremenljivko okolja LD_LIBRARY, tako da bo lokacija, kjer smo kopirali nove datoteke lib, prva v "PATH":

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

    Bralno zapisljiv »/ etc«
    Kopirali bomo »/ etc« v JFFS in nato naredili navadno točko »/ etc«, pokažite nanj. Na ta način se bo odprl svet možnosti, saj bo "/ etc" postal zapisljiv za branje (kar sem osebno čakal na sedem let) in omogočil pravilno delovanje paketov, ki pričakujejo to vedenje..

    1. Ustvarite imenik, ki bo imel »/ etc«:

      mkdir -p / jffs / geek / etc

    2. Rekurzivno kopirajte celotno "/ etc", hkrati pa ohranite vse podimenike, atribute datotek in simbolne povezave.

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

    3. Ročno (za zdaj) »povežite« imenik »/ etc« z JFFS:

      mount -o bind / jffs / geek / etc / / etc /

    Nastavite imenik Optware (»/ opt«)
    Opkg iz OpenWRT, pričakuje, da bo uporabljen, ko je zgrajena programska oprema usmerjevalnika. V tem času še ni FileSystem na usmerjevalniku in zato še vedno podvržen spremembam, zato ni težav pri nameščanju na katero koli mesto v datotečnem sistemu. Zato konfiguracijska datoteka Opkg pokaže pakete za namestitev v »root« (/) v datotečnem sistemu. Vendar pa uporabljamo Opkg po vdelana programska oprema je bila zgrajena in nameščena na usmerjevalniku, in ker ne moremo spremeniti korena datotečnega sistema, da bi ga bilo mogoče brati-zapisovati, bomo usmerili vse namestitve, ki bodo nameščene pod »/ opt«. Vendar trenutno “/ opt” kaže tudi na samo branje na usmerjevalniku. Da bi to premagali, bomo pokazali "/ opt" na JFFS, ki je zapisljiv za branje.

    1. To naredite tako, da ustvarite imenik, ki bo vseboval pakete Optware:

      mkdir -p / jffs / opt

    2. Ročno (za zdaj) »povežite« imenik »/ opt« z JFFS:

      mount -o bind / jffs / opt / / opt /

      Opomba: Čeprav presega področje uporabe tega priročnika, naprednejši uporabniki morda želijo spremeniti to točko priklopa, da kažejo na HD.

    Prilagajanje datoteke konfiguracije Opkg
    Želimo, da je konfiguracijska datoteka Opkg mesto, kjer ga Opkg po privzetku išče (to je »/ etc«) in je nastavljeno na »/ opt«.

    1. To naredite tako, da konfiguracijsko datoteko opkg, ki jo je namestil paket Opkg, premaknete na lokacijo za branje / pisanje: / etc:

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

    2. Spremeni destinacijo za Optware namestitve kot "/ opt" namesto "root" (/).
      To naredite tako, da z urejevalnikom “vi” ali WinSCP poiščete “/ etc /” in naredite vsebino datoteke “opkg.conf”:

      vi /etc/opkg.conf

      Naj bo videti tako:

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

      Opomba: Direktivo “lists_dir” lahko spremenite tako, da kaže na lokacijo, ki ni v RAM-u, temveč na JFFS. Čeprav bi vas to razbremenilo posodabljanja seznamov, preden boste lahko namestili dodatno programsko opremo (če se vaš usmerjevalnik znova vklopi iz zadnjega časa), bi izgubili približno 1,5 MB prostora z omejenim številom JFFS in bi se pripetili do erozije..

    Živjo punči
    Videti morate, da Opkg deluje z izdajanjem ukazov za posodobitev in seznami.

    1. Če je vse potekalo dobro, bi morali videti, da so bili seznami Opkg posodobljeni brez napak in da ste pripravljeni izvajati skript v naslednjem koraku:

      posodobitev opkg; seznam opkg

    2. Vzemite si čas, da začnete raziskovati pakete, ki so na voljo v skladišču ... .

    Skript za zagon
    Zdaj moramo to narediti tako, da se bo vsa zahtevana montaža in potovanje zgodilo samodejno, ko se usmerjevalnik zažene. V ta namen smo za vas ustvarili ta inicializacijski geek-init skript.

    1. Prenesite, nato izvlecite in postavite pod »/ jffs / geek / etc /«. (Razmislite o tem z WinSCP).
    2. Naredite skript izvršljiv tako, da greste v njegove lastnosti z WinSCP ali izvršite

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

    3. Naredite skript na zagon usmerjevalnika z uporabo orodja WebGUI. V polju Administration -> Commands v besedilno polje vnesite:

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

      In kliknite »Shrani zagon«.

    Udari pnevmatike
    Če je vse potekalo dobro, bi morali zdaj znova zagnati usmerjevalnik in še vedno uporabljati upravljalnik paketov Opkg. To je posodobitev, seznam in namestitev aplikacij.
    Preizkusi, da vse deluje tako, da namesti ukaz "netstat", ki je iz nekega razloga v zadnjem času izpuščen iz gradnikov DD-WRT. Preden to naredimo, izvedite ukaz netstat v terminalu in videli boste, da ste z ukazom »-sh: netstat: not found« videli napako iz ukazne lupine..

    1. Vaš prvi korak bo vedno, da posodobite sezname Opkg, tako da imate najnovejše sezname paketov iz skladišča:

      opkg update

    2. Če ne veste, kateri paket vsebuje ukaz "netstat", lahko rezultate filtrirate z uporabo.

      seznam opkg | grep netstat

    3. In zdaj namestite »netstat« z uporabo:

      opkg install net-tools-netstat

      In zdaj, ko znova zaženete ukaz netstat, deluje… čisti ha? :)

    Do prihodnjih člankov, v katerih bomo namestili in konfigurirali programske pakete s to metodo, boste morda imeli tone zabave, ki raziskuje ogromno količino programske opreme, ki je zdaj na roki..


    Če je tak stroj virtualna nemogoča, mora biti logično končna neverjetnost. Torej, vse kar moram storiti, da bi naredil eno, je ugotoviti, kako točno je neverjetno, da ta podatek napolnimo v končni generator neverjetnosti, da mu damo svežo skodelico res vročega čaja in ga vklopimo……… Ena stvar, ki jo resnično ne maram, je "Smart-Ass".