Lisäohjelmiston asentaminen kotireitittimeen (DD-WRT)
Oletko koskaan halunnut saada lisää toimintoja, kuten sähköposti, Bit-torrent tai jopa MySQL suoraan reitittimeen? Ehkä nyt voit. How-To Geek sukeltaa Opkg-ohjelmiston asentamiseen DD-WRT: ään.
Kuva: Jean Spector ja Aviad Raviv
Jos et ole jo aiemmin tehnyt, varmista ja tarkista sarjan aiemmat artikkelit:
- Käännä kodin reititin DD-WRT: n kanssa Super-Powered -reitittimeksi
- Kuinka poistaa mainoksia Pixelservillä DD-WRT: ssä
Olettaen, että olet perehtynyt näihin aiheisiin, jatka lukemista. Muista, että tämä opas on hieman teknisempi, ja aloittelijoiden tulisi olla varovaisia, kun muutetaan reititintä.
tribulations
Olen ostanut äskettäin uuden Buffalo WZR-HP-AG300H: n, joka sisältää DD-WRT-tuotemerkin. Koska tällä reitittimellä on USB-portti, olen välittömästi liittänyt HD: n ja yrittänyt käyttää ”Optware, The Right Way” wiki-opasta. Valitettavasti olen löytänyt nopeasti, että saanani reititin, joka perustuu Atherosiin ja että wiki-sivun komentosarja ei tue sitä. Niinpä olen alkanut kaivaa (kuten aina) ja tulin useille oppaille (1, 2, 3 ja 4), joiden tarkoituksena oli selittää, miten Opkg toimii käsin. Vaikka heidän osuutensa (muiden web-lähteiden välityksellä) tähän oppaaseen oli korvaamaton, jotkin ohjeet ovat (IMHO) yksinkertaisesti yksinkertaisesti eteenpäin. Esimerkiksi antamalla sinulle "lib" -tiedostot kalat, mutta älä opeta sinulle, kuinka kalastaa se lähteestä. Myös Linux-muotoisen HD: n tai ainakin yhden osion käyttäminen (joka ei edes toimi testatuilla firmwareilla). Siksi tunsin tarvetta luoda alla oleva tiivis, helppo seurata ja toistettavissa oleva menettely, jolla OpenWRT Opkg -paketinhallinta saa töitä tällaisilla reitittimillä.
Päivitys: Asennusosioiden käyttömahdollisuus on otettu uudelleen käyttöön 17798-alpha-rakenteen uudelleenmerkki-versiossa.
Mikä on Opkg?
Opkg on paketinhallinta kuten apt / aptitude ja yum. Se toimii Ipkg-paketinhallinnan korvikkeena, ja sitä voidaan käyttää esimerkiksi sellaisten ohjelmien asentamiseen, kuten: Transmission BitTorrent -demoni, ssmtp-sähköpostin lähettäjä ja Knockd, joka suorittaa komentosarjoja määritetyn portin laukaisusekvenssin jälkeen. OpenWRT-sivustosta:
Opkg-apuohjelma (ipkg-haarukka) on kevyt pakettienhallinta, jota käytetään lataamaan ja asentamaan OpenWrt-paketteja paikallisista pakettivarastoista tai Internetistä..
Opkg
yrittää ratkaista riippuvuudet pakettien kanssa arkistoissa - jos tämä epäonnistuu, se ilmoittaa virheestä ja keskeyttää kyseisen paketin asennuksen.
Joten Opkgin avulla voimme asentaa sellaisia asioita, joita teimme Ipkg: n kanssa ”Unleash more Power from Your Home Router” -oppaasta. Suurimmat erot ovat:
- Jotta saataisiin esimerkkejä SSMTP: stä ja Knockdista, sinun täytyy todella selvittää riippuvuudet manuaalisesti. Menetelmä, jolla tämä tehdään manuaalisesti, on hankalaa eikä kovin suoraviivaista. Opkg tekee tämän automaattisesti.
- Tällä kertaa olemme lisäämällä ohjelmisto, joka on paikallaan olevan ohjelmiston päällä, eikä sen sijaan korvata sitä. Kun se korvattiin, se oli erinomainen geekharjoitus, se oli epäilemättä vaarallinen, altis ongelmille, peruuttamaton ja pahin kaikista reitittimistä. Tarpeetonta sanoa, että tämä on yksinkertainen ja turvallisempi.
edellytykset
Jotta tämä opas saataisiin valmiiksi, huomaa seuraavat asiat:
- Kuten edellä todettiin, tämä opas on luotu ja testattu Buffalo WZR-HP-AG300H: lla, jossa on Buffalon “Pro” firmware-versio 17135. Sen pitäisi toimia kaikissa Atheros (ar71xx) -pohjaisissa reitittimissä, joissa on sama versio tai uudempi DD-WRT-versio , mutta mittarilukema voi olla hyvin.
- Sinun täytyy ottaa SSH käyttöön reitittimessä sekä asentaa ja käyttää WinSCP: tä yhteyden muodostamiseen. Tämä selitettiin kohdassa “Kuinka poistaa mainoksia Pixelservillä DD-WRT-oppaassa”. Itse asiassa oletetaan, että pystyt tekemään kaiken, mitä tässä oppaassa on selitetty.
- Sinun on voitava muodostaa yhteys reitittimeen päätelaitteella (SSH suositellaan). Jotkut viittaukset siihen, miten tämä tehdään, ovat DD-WRT-wikissä.
- Tilaa JFFS: lle ja noin 4 Mt postimuotoiltua tilaa perusasetuksille. JFFS-tila ei ole pelkästään edellytys, vaan se on tulppa. Tämä johtuu siitä, että jos reitittimessäsi ei ole vähintään edellä mainittua 4 Mt: n postimuotoista tilaa, et saa mitään todellista hyötyä tästä oppaasta, ja se on parempi, kun käytät "Vapauta entistä enemmän virtaa kotireitittimestäsi" opas Ipkg-pakettien asentamiseen suoraan laiteohjelmistoon tai Ipkg-pakettien asentaminen manuaalisesti. Ota JFFS käyttöön ja noudata ohjeita "Kuinka poistat mainoksia Pixelservillä DD-WRT" -oppaassa, ja katso kuinka paljon vapaata tilaa sinulla on jälkeen se on alustettu.
Huomautus: Tämä on mahdollista vain 2 Mt: n tilalla asennusta varten, mutta sitten menettäisimme "/ etc": n tuloksen lukukelpoisiksi, ja sen pitäisi kutsua Opkg, kun määritetään konfigurointitiedosto manuaalisesti joka kerta ... mikä on kuin sooo lame…
Saat halkeamia
Tässä vaiheessa sinun olisi pitänyt ottaa JFFS käyttöön ja pystyä SSH / WinSCP: hen reitittimeen.
- Avaa pääteistunto reitittimeen.
- Luo väliaikainen hakemisto, jota käytämme:
mkdir / tmp / 1
cd / tmp / 1
Asenna Opkg käyttämällä Ipkg: tä
Vaikka aiomme korvata Ipkg: n pakettien hallinnoijana, käytämme sitä Opkg-asennuspaketin asentamiseen manuaalisesti.
- Voit ladata Opkg-asennuspaketin ar71xx-arkkitehtuurille OpenWRT-projektin rungosta:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/opkg_618-2_ar71xx.ipk
Huomautus 1: Tämän kirjoituksen aikana 618 on uusin versio, joka saattaa muuttua tulevaisuudessa, joten säädä vastaavasti.
Muistio 2: Saattaa olla mahdollista, että ainoa ero tämän oppaan saamiseksi muille arkkitehtuureille on saada Opkg-asennusohjelma reitittimesi sovellettavasta arkkitehtuurista… mutta tämä on kokeilematonta. - Käynnistä Ipkg asentamalla Opkg manuaalisesti käyttämällä:
ipkg asenna opkg_618-2_ar71xx.ipk
Huomautus: Voit halutessasi myös asentaa jokaiseen arkistoon paketin manuaalisesti tällä tavalla. Tämä merkitsisi kuitenkin, että sinun on ratkaistava riippuvuudet omasta… ja mikä olisi hauskaa siinä?
Dynaamisten kirjastotiedostojen saaminen (“lib” s)
Tarvittavat "lib" -tiedostot Opkg-työn tekemiseen ovat osa OpenWRT-jakelua. Niiden hankkimiseksi täytyy poimia ne mainitun jakelun "Root FileSystem" -järjestelmästä.
- Voit tehdä tämän lataamalla uusimman perustiedoston "Root FileSystem" OpenWRT: n väärinkäyttöä varten, joka sisältää tarvittavat "lib" -muodot OpenWRT-projektin rungosta:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz
- Poimi se käyttämällä:
tar xvzf openwrt-ar71xx-generic-rootfs.tar.gz
- Kopioi ”libs” -tiedostot ”rootfista”, jotka olemme ylhäältä poistaneet JFFS: n ”libs” -hakemistoon säilyttäen samalla niiden ominaisuudet ja symboliset linkit:
cp -Pp / tmp / 1 / lib / * / jffs / usr / lib /
Huomautus: Saat viestejä, joissa sanotaan, että alihakemistot jätetään pois. Koska emme tarvitse mitään muuta kuin “lib” -tiedostoja, tämä on hyvä ja voit jättää nämä viestit turvallisesti.
LD_LIBRARY "PATH"
Meidän on kerrottava reitittimelle, mistä voit etsiä jaettuja kirjastoja (libs), jotka juuri olemme asentaneet, ja että sen on tehtävä tämä ennen laiteohjelmiston mukana tulleita.
- Voit tehdä tämän asettamalla LD_LIBRARY-ympäristömuuttujan manuaalisesti (nyt), jotta se, jossa uusi lib-tiedosto on kopioitu, on ensimmäinen PATH: ssa.
vienti LD_LIBRARY_PATH = / jffs / usr / lib: $ LD_LIBRARY_PATH
Lue / kirjoitettava ”/ etc”
Aiomme kopioida "/ etc" JFFS: ään ja tehdä sitten tavallisen "/ etc" -asennuspisteen, osoittaa siihen. Näin molemmat avaavat mahdollisuuksien maailman, koska "/ etc" tulee lukukelpoiseksi (jota olen henkilökohtaisesti odottanut antamaan tai vie 7 vuotta) ja mahdollistamaan tällaista toimintaa odottavat paketit toimimaan oikein.
- Luo hakemisto, jossa on ”/ etc”:
mkdir -p / jffs / geek / etc
- Kopioi uudelleen "/ etc" kokonaisuus säilyttäen kaikki alihakemistot, tiedostomääritteet ja symboliset linkit.
cp -a / etc / * / jffs / geek / etc /
- Manuaalisesti (nyt) ”sitoo” / etc-hakemiston JFFS-hakemistoon:
mount -o bind / jffs / geek / etc / / etc /
Aseta Optware-hakemisto (“/ opt”)
Opkg OpenWRT: stä odottaa, että sitä käytetään, kun reitittimen laiteohjelmisto on rakennettu. Kuten tuolloin, FileSystem ei ole vielä reitittimessä, joten se voi silti muuttua, mistään tiedostojärjestelmän asennuksesta ei ole mitään ongelmaa. Siksi Opkg-kokoonpanotiedoston pisteet paketoivat asennettavaksi FileSystem-järjestelmän "root" (/) -järjestelmään. Käytämme kuitenkin Opkgia jälkeen laiteohjelmisto on rakennettu ja asennettu reitittimeen, ja koska emme voi muuttaa tiedostojärjestelmän juurta kirjoitettavaksi, osoitamme kaikki asennukset asennettaviksi kohtaan "/ opt". Tällä hetkellä “/ opt” osoittaa kuitenkin myös vain luku-aseman reitittimen laiteohjelmistossa. Tämän voittamiseksi teemme "/ opt" -kohdan JFFS: ään, joka on luettavissa.
- Voit tehdä tämän luomalla hakemiston, joka sisältää Optware-paketit:
mkdir -p / jffs / opt
- Manuaalisesti (nyt) "sitoa" "/ opt" -hakemisto JFFS: ään:
mount -o sitoa / jffs / opt / / opt /
Huomautus: Vaikka tämä opas ei kuulu siihen, kehittyneemmät käyttäjät saattavat haluta muuttaa tätä asennuspistettä osoittamaan HD: tä.
Opkg-kokoonpanotiedoston säätäminen
Haluamme, että Opkg-kokoonpanotiedosto on silloin, kun Opkg etsii sitä oletusarvoisesti (joka on "/ etc") ja se on asennettu asentamaan "/ opt".
- Voit tehdä tämän siirtämällä Opkg-paketin asentaman opkg-määritystiedoston lukukelpoiseen ”/ etc” -kohtaan:
mv /jffs/etc/opkg.conf / etc /
- Vaihda Optware-asennusten määränpää "/ opt" -tilaan "root" -kohdan sijasta (/).
Tätä varten "vi" -editorilla tai WinSCP: llä siirry kohtaan "/ etc /" ja tee "opkg.conf" -tiedoston sisältö:vi /etc/opkg.conf
Tee se näyttää:
src / gz-tilannekuvat http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
dest root / opt
dest ram / tmp
luettelot_dir ext / var / opkg-luettelot
vaihtoehto overlay_root / overlayHuomautus: Voit muuttaa “list_dir” -direktiiviä osoittamaan sijaintia, joka ei ole RAM-muistissa, vaan JFFS: ssä. Vaikka tämä helpottaisi sinua päivittämästä luetteloita, ennen kuin voit asentaa lisää ohjelmistoja (jos reitittimesi käynnistetään uudelleen viime kerralla), menetät noin 1,5 Mt kapeaa JFFS-tilaa ja lisäät sen eroosion.
Hei vauva
Sinun pitäisi pystyä näkemään, että Opkg toimii antamalla päivitys- ja luettelokomennot.
- Jos kaikki meni hyvin, sinun pitäisi nähdä, että Opkg-luettelot on päivitetty virheettömästi ja olet valmis toteuttamaan komentosarjan seuraavassa vaiheessa:
opkg-päivitys; opkg-luettelo
- Ota aikaa tutkia arkistossa olevia paketteja… .
Startup-skripti
Meidän on nyt tehtävä se niin, että kaikki tarvittavat asennus ja polku tapahtuvat automaattisesti, kun reititin saapuu. Tätä varten olemme luoneet sinulle tämän alustustiedoston.
- Lataa, poista se ja aseta se kohtaan ”/ jffs / geek / etc /”. (Harkitse tekemistä WinSCP: n kanssa).
- Tee komentosarja suoritettavaksi siirtymällä sen ominaisuuksiin WinSCP: llä tai suorittamalla:
chmod + x /jffs/geek/etc/geek-init.sh
- Tee komentosarja suoritettavaksi reitittimen käynnistyksessä WebGUI: n avulla. Laita tekstiruutuun Hallinta -> Komennot -kohdassa:
/jffs/geek/etc/geek-init.sh web-gui
Ja napsauta Tallenna tallennus.
Kumoa renkaat
Jos kaikki menivät hyvin, voit nyt käynnistää reitittimen uudelleen ja käyttää edelleen Opkg-paketinhallintaa. Tämä tarkoittaa sovellusten päivittämistä, luettelointia ja asentamista.
Testaa, että kaikki toimii toimimalla asentamalla “netstat” -komento, joka on jostakin syystä jätetty pois DD-WRT: n viime aikoina rakennetuista töistä. Ennen kuin teemme tämän, suorita netstat-komento päätelaitteessa ja näet, että olet raastanut kuoren virhe, sanomalla “-sh: netstat: ei löydy”.
- Ensimmäinen askel on aina, päivittää Opkg-luettelot, niin että viimeisimmistä pakettilistauksista tulee arkistosta:
opkg-päivitys
- Jos et tiedä, mikä paketti sisältää “netstat” -komennon, voit suodattaa tulokset käyttämällä.
opkg list | grep netstat
- Ja nyt asenna “netstat” käyttämällä:
opkg asentaa net-tools-netstat
Ja nyt, kun suoritat netstat-komennon uudelleen, se toimii… siisti ha? :)
Ennen tulevia artikkeleita, joissa asennamme ja konfiguroimme ohjelmistopaketteja tällä menetelmällä, saatatko olla tonnia geek-hauskaa tutkimalla valtavan määrän ohjelmistoja, jotka ovat nyt oikeassa sormenpäissäsi.
Jos tällainen kone on virtuaalinen mahdottomuus, sen on loogisesti oltava rajallinen epätodennäköisyys. Joten minun tarvitsee vain tehdä siitä, että se on kuinka epätodennäköistä se on, syöttää tämä luku äärettömän epätodennäköisyyden generaattoriin, anna sille uusi kuppi todella kuumaa teetä ja kytke se päälle……… Yksi asia ei todellakaan pidä, on "Smart-Ass".