Kaip įdiegti papildomą programinę įrangą jūsų namų maršrutizatoriuje (DD-WRT)
Ar kada nors norėjote turėti papildomų funkcijų, pvz., El. Pašto, „Bit-torrent“ ar net „MySQL“ tiesiogiai savo maršrutizatoriuje? O gal dabar galite. „How-To Geek“ nardina, kaip įdiegti „Opkg“ programinę įrangą „DD-WRT“.
„Jean Spector“ ir „Aviad Raviv“ vaizdas
Jei dar nesate, įsitikinkite ir patikrinkite ankstesnius eilutės straipsnius:
- Paverskite savo maršrutizatorių į „Super-Powered Router“ su DD-WRT
- Kaip pašalinti skelbimus su „Pixelserv“ DD-WRT
Darant prielaidą, kad esate susipažinę su šiomis temomis, skaitykite toliau. Turėkite omenyje, kad šis vadovas yra šiek tiek labiau techninis, o pradedantiesiems turėtų būti atsargūs keičiant savo maršrutizatorių.
Tribulations
Neseniai nusipirkau naują „Buffalo WZR-HP-AG300H“, kuriame yra „DD-WRT“ prekės ženklo versija. Atsižvelgiant į tai, kad šis maršrutizatorius turi USB prievadą, aš iš karto prijungiau HD ir bandžiau naudoti „Optware, Right Way“ wiki vadovą. Deja, aš greitai sužinojau, kad maršrutizatorius, kurį turiu, yra „Atheros“ ir scenarijus iš šio wiki puslapio nepalaiko. Taigi aš pradėjau kasti (kaip aš visada) ir susidūriau su keliais vadovais (1, 2, 3 ir 4), kuriais buvo siekiama paaiškinti, kaip „Opkg“ dirbti rankiniu būdu. Nors jų indėlis (tarp kitų šaltinių internete) į šį vadovą buvo neįkainojamas, kai kurios instrukcijos (IMHO) tiesiog nėra pakankamai tiesios. Pvz., Suteikiant „lib“ failams žuvis, bet ne išmokykite, kaip jį išplaukti iš šaltinio. Taip pat turėtume naudoti „Linux“ suformuotą „HD“ arba bent vieną skaidinį (kuris iš tikrųjų net neveikia su patikrintais „firmwares“). Štai kodėl aš jaučiau poreikį sukurti žemiau pateiktą glaustą, paprastą ir atkuriamą procedūrą, kad „OpenWRT Opkg“ paketų valdytojas galėtų dirbti su tokiais maršrutizatoriais.
Atnaujinimas: montavimo pertvarų galimybė vėl įtraukta į naujo prekės ženklo 17798 alfa versijos versiją.
Kas yra Opkg?
„Opkg“ yra paketo tvarkyklė, pvz., Apt / aptitude ir yum. Jis veikia kaip „Ipkg“ paketų tvarkyklės pakaitalas ir gali būti naudojamas įdiegti tokią programinę įrangą kaip: „Transmission BitTorrent“ demonas, ssmtp el. Pašto siuntėjas ir „Knockd“ demonas, kuris atlieka scenarijus po tam tikros prievadų paleidimo sekos. Iš OpenWRT svetainės:
„Opkg“ įrankis („ipkg“ šakutė) yra lengvas paketų tvarkyklė, naudojama atsisiųsti ir įdiegti „OpenWrt“ paketus iš vietinių paketų saugyklų ar jų, esančių internete..
Opkg
bando išspręsti priklausomybes su paketais saugyklose - jei tai nepavyksta, ji praneš apie klaidą ir nutrauks to paketo diegimą.
Taigi, naudojant „Opkg“, galime įdiegti tokius dalykus kaip „Ipkg“ „Išlaisvinkite dar daugiau galios iš namų maršrutizatoriaus“ vadovo. Pagrindiniai skirtumai yra šie:
- Norint pateikti SSMTP ir „Knockd“ pavyzdžius, jūsų tikrai reikėjo išsiaiškinti priklausomybes rankiniu būdu. Procedūra, kad tai atliktumėte rankiniu būdu, yra varginantis ir ne labai tiesus. Opkg tai daro automatiškai.
- Šį kartą mes būsime pridedant programinės įrangos, esančios ant įdiegtos programinės įrangos, o ne ją pakeisti. Pakeitus jį buvo puikus geek pratimas, jis buvo be abejo: pavojingas, linkęs į problemas, negrįžtamas ir blogiausias iš visų maršrutizatorių. Nereikia nė sakyti, kad tai yra paprastesnis ir saugesnis.
Būtinos sąlygos
Norėdami užpildyti šį vadovą, atkreipkite dėmesį į šiuos dalykus:
- Kaip minėta pirmiau, šis vadovas buvo sukurtas ir išbandytas „Buffalo WZR-HP-AG300H“ su „Buffalo“ „Pro“ programinės įrangos versija 17135. Ji turėtų veikti bet kuriuose „Atheros“ (ar71xx) pagrindu veikiančiuose maršrutizatoriuose, turinčiuose bet kokią DD-WRT versiją, turinčią tą patį arba didesnį versiją , bet jūsų rida gali būti labai didelė.
- Jums reikės įjungti SSH maršrutizatoriuje, taip pat įdiegti ir naudoti „WinSCP“, kad prisijungtumėte prie jo. Tai paaiškinta „Kaip pašalinti skelbimus su„ Pixelserv “DD-WRT vadove. Tiesą sakant, manoma, kad galėsite daryti viską, kas paaiškinta šiame vadove.
- Turite turėti galimybę prisijungti prie maršrutizatoriaus naudojant terminalą (rekomenduojama naudoti SSH). Kai kurie nurodymai, kaip tai padaryti, yra DD-WRT wiki.
- Erdvė JFFS ir apie 4 MB postformatuotos vietos bazės nustatymui. JFFS erdvė yra ne tik prielaida, o tai yra parodos kamštis. Taip yra todėl, kad jei jūsų maršrutizatorius neturi mažiausiai pirmiau minėto 4MB formato vietos, jūs negalėsite gauti jokios realios naudos iš šio vadovo ir geriau pasinaudosite „Išlaisvinkite dar daugiau energijos iš namų maršrutizatoriaus“ vadovas, kaip įdiegti „Ipkg“ paketus tiesiai į programinę įrangą arba įdiegti „Ipkg“ paketus rankiniu būdu. Vadovaukitės instrukcijomis „Kaip pašalinti skelbimus su„ Pixelserv “DD-WRT vadove, kad įgalintumėte JFFS ir pamatytumėte, kiek laisvos vietos jūs iš tikrųjų turite po to jis yra suformatuotas.
Pastaba: Tai galima padaryti tik 2 MB vietos sąranka, bet tada mes neteksime „/ etc“, kuris tampa skaitymu, rezultatas, ir turėtume kreiptis į „Opkg“, o kiekvieną kartą <...> nustatant konfigūracijos failą. sooo lame…
Leidžiame įtrūkti
Šiuo metu jūs turėjote įjungti JFFS ir galėtumėte SSH / WinSCP į maršrutizatorių.
- Atidarykite terminalo sesiją maršrutizatoriui.
- Sukurkite laikiną katalogą, kuriame dirbame:
mkdir / tmp / 1
cd / tmp / 1
Norėdami įdiegti „Opkg“, naudokite „Ipkg“
Nors mes pakeisime „Ipkg“ kaip paketo tvarkyklę, mes naudosime jį rankiniu būdu įdiegdami „Opkg“ diegimo paketą.
- Norėdami tai padaryti, atsisiųskite „Opkg“ diegimo paketą „Ar71xx“ architektūrai iš OpenWRT projekto bagažinės:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/opkg_618-2_ar71xx.ipk
1 pastaba: Šio rašymo metu 618 yra naujausia versija, kuri ateityje gali keistis, todėl atitinkamai pakoreguokite.
Užrašas 2: Gali būti, kad vienintelis šio vadovo darbo su kitomis architektūromis skirtumas yra tai, kad „Opkg“ diegimo įrenginį iš savo maršrutizatoriaus taikomos architektūros… tačiau tai tikrai neįtikino jūsų. - „Ipkg“ paleiskite rankiniu būdu įdiegdami „Opkg“ naudodami:
ipkg įdiegti opkg_618-2_ar71xx.ipk
Pastaba: Jei norite, galite taip pat įdiegti kiekvieną saugyklos paketą. Tačiau tai reikštų, kad turėsite išspręsti priklausomybes nuo savo… ir kas būtų įdomus?
Dinaminės bibliotekos failų gavimas („lib“)
Reikalingi „lib“ failai, skirti „Opkg“ darbui atlikti, yra „OpenWRT“ platinimo dalis. Norint juos gauti, reikia ištraukti juos iš minėto platinimo „šaknų failų sistemos“.
- Norėdami tai padaryti, atsisiųskite naujausią pagrindinį „Root FileSystem“, skirtą OpenWRT iškraipymui, kuriame yra būtini „lib“ failai iš OpenWRT projekto bagažinės:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz
- Ištraukite ją naudodami:
tar xvzf openwrt-ar71xx-generic-rootfs.tar.gz
- Nukopijuokite „libs“ failus iš „rootfs“, kuriuos išgavome aukščiau, į „libs“ katalogą mūsų JFFS, išsaugodami jų atributus ir simbolines nuorodas:
cp -Pp / tmp / 1 / lib / * / jffs / usr / lib /
Pastaba: Jūs gausite pranešimus, kad subkatalogai bus praleisti. Kadangi mums nereikia nieko, išskyrus „lib“ failus, tai gerai ir jūs galite saugiai ignoruoti šiuos pranešimus.
LD_LIBRARY „PATH“ nustatymas
Turime pasakyti maršrutizatoriui, kur ieškoti bendrai naudojamų bibliotekų (libs), kurias mes ką tik įdiegėme, ir kad tai reikia padaryti anksčiau tie, kurie buvo su firmware.
- Norėdami tai padaryti, nustatykite LD_LIBRARY aplinkos kintamąjį rankiniu būdu (dabar), kad vieta, kurioje nukopijavome naujus lib failus, bus pirmasis „PATH“:
eksportuoti LD_LIBRARY_PATH = / jffs / usr / lib: $ LD_LIBRARY_PATH
Skaitymas „/ etc“
„/ Etc“ nukopijuosime į JFFS ir tada atliksime įprastą „/ etc“ prijungimo tašką, pažymėkite jį. Tokiu būdu bus atverta galimybių pasaulis, nes „/ etc“ taps skaitymo būdu (kurį aš asmeniškai laukiau duoti arba užtrukau 7 metus) ir įgalinsiu, kad paketai, kurie tikisi tokio elgesio, tinkamai veiktų.
- Sukurkite katalogą, kuriame bus „/ etc“:
mkdir -p / jffs / geek / etc
- Rekursyviai nukopijuokite visą „/ etc“ failą, išsaugant visus pakatalogius, failo atributus ir simbolines nuorodas.
cp -a / etc / * / jffs / geek / etc /
- Rankiniu būdu (dabar) „susieti“ „/ etc“ katalogą su JFFS:
mount -o bind / jffs / geek / etc / / etc /
Nustatykite „Optware“ katalogą („/ opt“)
„Opkg“ iš „OpenWRT“ tikisi, kad bus naudojamas, kai bus sukurta maršrutizatoriaus programinė įranga. Kaip ir tuo metu, „FileSystem“ dar nėra maršrutizatoriuje, taigi vis dar gali keistis, jokios problemos diegiant bet kurioje „FileSystem“ vietoje. Štai kodėl „Opkg“ konfigūracijos rinkmenoje paketai įdiegiami „FileSystem“ „šaknimi“ (/). Tačiau mes naudojame „Opkg“ po to firmware buvo sukurta ir įdiegta maršrutizatoriuje, ir kadangi negalime pakeisti failų sistemos šaknies, kad ją būtų galima skaityti, nurodysime visus įrenginius, kurie bus įdiegti „/ opt“. Tačiau šiuo metu „/ opt“ taip pat nurodo tik skaitymo vietą maršrutizatoriaus programinėje įrangoje. Norėdami tai išspręsti, „/ opt“ nurodysime JFFS, kuris yra skaitomas.
- Norėdami tai padaryti, sukurkite katalogą, kuriame bus „Optware“ paketai:
mkdir -p / jffs / opt
- Rankiniu būdu (dabar) „susieti“ „/ opt“ katalogą į JFFS:
prijungti -o susieti / jffs / opt / / opt /
Pastaba: nepaisant šio vadovo taikymo srities, labiau pažengę naudotojai gali norėti pakeisti šį prijungimo tašką, nukreipti į HD.
Opkg konfigūracijos failo koregavimas
Norime, kad „Opkg“ konfigūracijos failas būtų toks, kur „Opkg“ jį ieško pagal nutylėjimą (kuris yra „/ etc“) ir pritaikytas įdiegti „/ opt“.
- Norėdami tai padaryti, perkelkite „Opkg“ paketo įdiegtą opkg konfigūracijos failą į skaitymo įrašą „/ etc“:
mv /jffs/etc/opkg.conf / etc /
- Keiskite „Optware“ įrenginių paskirties vietą „/ opt“ vietoj „root“ (/).
Norėdami tai padaryti, „vi“ redaktoriuje arba „WinSCP“ naršykite „/ etc /“ ir atlikite „opkg.conf“ failo turinį:vi /etc/opkg.conf
Padarykite jį taip:
src / gz momentiniai vaizdai http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
dest root / opt
dest ram / tmp
sarakstai_dir ext / var / opkg-sąrašai
parinktis overlay_root / overlayPastaba: „List_dir“ direktyvą galite pakeisti, norėdami nukreipti į vietą, kuri nėra RAM, o JFFS. Nors tai atlaisvintų jus nuo sąrašų atnaujinimo, prieš įdiegdami papildomą programinę įrangą (jei jūsų maršrutizatorius iš naujo paleidžiamas nuo paskutinio laiko), jūs neteksite apie 1,5 MB riboto JFFS erdvės, o jūs dar labiau padidinsite jos eroziją.
Labas, mažute
Turėtumėte matyti, kad „Opkg“ dirba išleisdama atnaujinimo ir sąrašų komandas.
- Jei visi sekėsi gerai, turėtumėte matyti, kad „Opkg“ sąrašai buvo atnaujinti be klaidų ir būsite pasiruošę įgyvendinti scenarijų kitame etape:
opkg atnaujinimas; opkg sąrašas
- Pradėkite tyrinėti saugykloje esančius paketus ... .
Startup scenarijus
Dabar mes turime tai padaryti, kad visa reikalinga montavimo ir kelio eiga įvyktų automatiškai, kai maršrutizatorius pradės batus. Tuo tikslu sukūrėme jums šį inicijavimo geek-init scenarijų.
- Atsisiųskite, tada ištraukite ir įdėkite jį į „/ jffs / geek / etc /“. (Apsvarstykite tai naudodami su „WinSCP“).
- Padarykite scenarijų vykdytiną, atidarydami jo savybes naudodami „WinSCP“ arba vykdydami:
chmod + x /jffs/geek/etc/geek-init.sh
- Padarykite scenarijų vykdant maršrutizatoriaus paleidimą, naudodami WebGUI. Skiltyje Administravimas -> Komandos teksto laukelyje įdėkite:
/jffs/geek/etc/geek-init.sh web-gui
Ir spustelėkite „Išsaugoti paleidimą“.
Padangų tvirtinimas
Jei viskas vyko gerai, dabar jūs turite sugebėti iš naujo paleisti maršrutizatorių ir vis tiek naudoti „Opkg“ paketo tvarkyklę. Tai yra programų atnaujinimas, sąrašas ir įdiegimas.
Leidžia išbandyti, ar viskas veikia, įdiegus komandą „netstat“, kuri dėl kažkokios priežasties nebuvo įtraukta į DD-WRT pastatus pastaruoju metu. Prieš tai atlikdami, vykdykite terminalo „netstat“ komandą ir pamatysite, kad iš korpuso priskiriate klaidą, sakydami „-sh: netstat: nerastas“.
- Jūsų pirmasis žingsnis visada bus, kad atnaujintumėte „Opkg“ sąrašus, kad turėtumėte naujausią paketų sąrašą iš saugyklos:
atnaujinti
- Jei nežinote, kuris paketas turi komandą „netstat“, galite filtruoti rezultatus naudodami.
opkg list | grep netstat
- Ir dabar įdiegite „netstat“ naudodami:
opkg įdiegti net-tools-netstat
O dabar, kai dar kartą vykdote „Netstat“ komandą, ji veikia ... tvarkinga ha? :)
Iki būsimų straipsnių, kuriuose įdiegsime ir sukonfigūruosime programinės įrangos paketus, naudodami šį metodą, galbūt turėtumėte tonų geeko įdomumo, tyrinėdami milžinišką programinę įrangą, kuri dabar yra tiesiai jūsų pirštų galiukais.
Jei tokia mašina yra virtuali neįmanoma, ji turi būti logiška. Taigi viskas, ką turiu padaryti, kad galėčiau išsiaiškinti, kaip tai yra neįtikėtina, maitinkite tą figūrą į ribotą netikėtumo generatorių, suteikite jam šviežios puodelio tikrai karštos arbatos ir jį įjunkite ...…… Vienas dalykas, kurį jie tikrai nepatinka, yra „Smart-Ass“.