If-Koubou

Lisäohjelmiston asentaminen kotiruudussa (DD-WRT)

Lisäohjelmiston asentaminen kotiruudussa (DD-WRT) (Miten)

Oletko koskaan halunnut lisätä lisätoimintoja kuten sähköposti, bittorukio tai jopa MySQL suoraan reitittimeesi? No ehkä nyt voit. How-To Geek sukeltaa kuinka asennetaan Opkg-ohjelmisto DD-WRT: ssä.

Kuva Jean Spector ja Aviad Raviv

Jos et ole vielä varma, muista tarkistaa sarjan aiemmat artikkelit:

  • Käännä kotireititunnistimesi DD-WRT: n Super-Powered-reitittimeen
  • Kuinka poistaa mainoksia Pixelservilla DD-WRT: ssä

Olettaen, että olet perehtynyt näihin aiheisiin, jatka lukemista. Muista, että tämä opas on hieman teknisempi, ja aloittelijoiden tulisi olla varovainen, kun muokkaavat reitittimensa.

tribulations

Olen äskettäin ostanut uuden Buffalo WZR-HP-AG300H: n, jossa on DD-WRT: n uudelleenmerkitty versio. Koska tällä reitittimellä on USB-portti, kytkin heti HD: n ja yritin käyttää "Optware, The Right Way" wiki-opas. Valitettavasti olen nopeasti huomannut, että reititin, jonka saan, on Atheros-pohjainen ja käsikirjoitus siitä wiki-sivusta, ei tue sitä. Joten olen alkanut kaivaa (kuten minä aina), ja törmäsin useisiin oppaisiin (1, 2, 3 ja 4), joiden tarkoituksena oli selittää miten Opkg työskentelee manuaalisesti. Vaikka heidän panoksensa (muiden web-lähteiden lisäksi) tässä oppaassa oli korvaamatonta, jotkut ohjeista (IMHO) eivät yksinkertaisesti ole riittävän suoraan eteenpäin. Esimerkiksi antaa sinulle "lib" -tiedostot kaloille, mutta älä opeta sinua kalastamaan sitä lähteestä. Myös Linux-muotoisen HD-muodon tai ainakin yhden osion käyttäminen (joka ei todellakaan toimi edes testatulla firmwares-ohjelmalla). Siksi minusta tuntui tarpeelliseksi luoda alla oleva lyhyt, yksinkertainen seuranta ja toistettavuus, jolla OpenWRT Opkg -pakettienhallinta pääsee käsittelemään tällaisia ​​reitittimiä.

Päivitys: Asennusosioiden ominaisuus on palautettu 17798 alfa -rakennuksen uudelleennimeälle versioon.

Mikä on Opkg?

Opkg on paketinhallinta, kuten apt / aptitude ja yum. Se toimii korvauksena Ipkg-paketinhallinnasta, ja sitä voidaan käyttää esimerkiksi sellaisten ohjelmien, kuten Transmission BitTorrent -demon, ssmtp-sähköpostin lähettäjän ja Knockd-daemon, jotka suorittavat komentosarjoja tietyn portin käynnistysjärjestyksen jälkeen muutamia. OpenWRT-sivustosta:

Opkg-apuohjelma (ipkg fork) on kevyt pakettienhallinta, jota käytetään lataamaan ja asentamaan OpenWrt-paketit paikallisista pakettihuoneista tai Internetistä. Opkg yrittää ratkaista riippuvuuksia paketteihin arkistossa - jos tämä epäonnistuu, se ilmoittaa virheestä ja keskeyttää kyseisen paketin asennuksen.

Joten Opkg: n avulla voimme asentaa sellaisia ​​asioita kuin me teimme Ipkg: n kanssa "Harjoittele entistä paremmin kotisi reitittimestä" -oppaasta. Suurimmat erot ovat:

  1. SSMTP: n ja Knockdin esimerkkien antamiseksi teidän on todella selvitettävä riippuvuudet manuaalisesti. Menettely, jolla tämä tehdään manuaalisesti, on kiusallinen eikä kovin suoraviivaista. Opkg tekee tämän automaattisesti.
  2. Tällä kertaa olemme lisäämällä ohjelmisto sen sijaan, että se on paikallaan, sen sijaan, että se korvaa sen. Korvattaessa se oli erinomainen geek käyttää, se oli epäilemättä: vaarallinen, alttiita ongelmille, peruuttamattomia ja pahiten kaikki reitittimet erityisiä. Tarpeetonta sanoa, että tämä on yksinkertaisempaa ja turvallisempaa.

edellytykset

Tämän ohjeen täyttämiseksi seuraavaa:

  1. Kuten edellä todettiin, tämä opas luotiin ja testattiin Buffalo WZR-HP-AG300H: n kanssa Buffalon "Pro" -ohjelmistoversion 17135 kanssa. Sen pitäisi toimia millä tahansa Atheros (ar71xx) -periaatteella toimivalla reitittimellä missä tahansa DD-WRT: n versiossa , mutta mittarilukema saattaa olla hyvin.
  2. Sinun on otettava SSH käyttöön reitittimessä sekä asennettava ja käytettävä WinSCP: tä yhteyden muodostamiseen. Tämä selitettiin kohdassa "Kuinka poistaa mainoksia Pixelservistä DD-WRT" -oppaasta. Itse asiassa oletetaan, että pystyt tekemään kaiken, mitä tässä oppaassa selostetaan.
  3. Sinun täytyy pystyä muodostamaan yhteys reitittimeen päätelaitteen avulla (SSH suositellaan). Jotkut ohjeet siitä, miten tämä tehdään, ovat DD-WRT wikissä.
  4. Välilyönti JFFS: lle ja noin 4MB postinmuotoiltua tilaa tukiasemalle. JFFS-tila ei ole vain ennakkoedellytys, se on näyttelypysäkki. Tämä johtuu siitä, että jos reitittimessäsi ei ole vähintään edellä mainittua 4 Mt postin muotoilua tilaa, et saa mitään todellista hyötyä tästä oppaasta, ja se on parasta käyttää "vapauttaa entistä paremmin kotisi reitittimestä" opas asentaa Ipkg-paketit suoraan laiteohjelmistoon tai asentamalla Ipkg-paketit manuaalisesti. Noudata JFFS-toiminnon käyttöönottoa ohjeiden kohdassa "Kuinka poista mainokset pikselillä Pix-palvelimella DD-WRT" -oppaasta ja kuinka paljon vapaata tilaa olet jälkeen se on alustettu.

Huomautus: Tämä on mahdollista vain 2MB: n kokoisella asetuksella, mutta menetämme "/ etc" tuloksen lukutarkoitavaksi, ja sen pitäisi kutsua Opkg ja määritellä konfiguraatiotiedosto käsin joka kerta ... mikä on kuin sooo lame ...

Halkeilee

Tässä vaiheessa sinun olisi pitänyt ottaa JFFS käyttöön ja pystyä SSH / WinSCP: hen reitittimeen.

  1. Avaa reitittimen käyttöliittymä.
  2. Luo tilapäinen hakemisto, johon me työskentelemme:

    mkdir / tmp / 1
    cd / tmp / 1

Käytä Ipkg: n asentamaan Opkg
Kun aiomme korvata IPKG: n paketinhallinnaksi, käytämme sitä manuaalisesti asennettaessa Opkg-asennuspaketti.

  1. Voit tehdä tämän lataamalla ar71xx arkkitehtuurin Opkg-asennuspaketin OpenWRT-projektirunkoista:

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

    Huomautus 1: Tämän kirjoituksen aikaan 618 on uusin versio, mutta se voi muuttua tulevaisuudessa, joten säädä sen mukaisesti.
    Muistio 2: Saatat olla mahdollista, että ainoa ero saada tämä opas työskentelemään muille arkkitehtuureille on saada Opkg-asennusohjelma reitittimesi sovellukselta arkkitehtuurilta ... mutta tämä ei todellakaan ole testattu.

  2. Pyydä Ipkg: ta asentamaan Opkg manuaalisesti:

    ipkg asenna opkg_618-2_ar71xx.ipk

    Huomautus: Voit halutessasi myös asentaa kaikki paketit arkistoon manuaalisesti tällä tavalla. Tämä tarkoittaa kuitenkin sitä, että sinun on ratkaista riippuvuudet omasta ... ja mikä olisi hauskaa siinä?

Dynaamisten kirjastotiedostojen ("lib") hankkiminen
Vaaditut "lib" -tiedostot Opkg-työn tekemiseksi ovat osa OpenWRT-jakelua. Jotta ne saataisiin, ne on erotettava ne mainitusta jakelusta "Root FileSystem".

  1. Tehdäksesi tämän, lataa openWRT distrebution uusin perustavanlaatuinen "Root FileSystem", joka sisältää tarvittavat "lib" -otsit OpenWRT-projektirunkoista:

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

  2. Pura se käyttämällä:

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

  3. Kopioi "libs" -tiedostot yllä kuvatuista "rootfs" -tiedostoista JFFS: n libs-hakemistoon säilyttämällä niiden attribuutit ja symboliset linkit:

    cp -Pp / tmp / 1 / lib / * / jms / usr / lib /

    Huomautus: Saat viestit, jotka sanovat, että alihakemistot jätetään pois. Koska emme tarvitse muuta kuin "lib" -tiedostoja, tämä on hieno ja voit jättää nämä viestit turvallisesti huomiotta.

LD_LIBRARY "PATH"
Meidän on kerrottava reitittimelle, mistä etsiä juuri "asennettuja" jaettavia jaettuja kirjastoja (libs). ennen ne, jotka tulivat firmware-ohjelmiston mukana.

  1. Voit tehdä tämän asettaa LD_LIBRARY ympäristömuuttujan manuaalisesti (nyt), jotta se niin paikka, jossa kopioimme uusia lib tiedostoja on ensimmäinen "PATH":

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

Read-writable "/ etc"
Aiomme kopioida "/ etc" JFFS: ään ja sitten tehdä säännöllinen "/ etc" mount point, viitata siihen. Niinpä molemmat avaavat mahdollisuuksia, koska "/ etc" tulee lukemaan-kirjoitettavaksi (jota olen henkilökohtaisesti odottanut antamaan tai kestämään 7 vuotta) ja sallia paketit, jotka odottavat tämän käyttäytymisen toimivan oikein.

  1. Luo hakemisto, joka pitää sisällään "/ etc":

    mkdir -p / jms / geek / jne

  2. Kopioi rekursiivisesti koko "/ etc" säilyttäen kaikki alihakemistot, tiedostomääritteet ja symboliset linkit.

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

  3. Manuaalisesti (jo nyt) "sitomaan" "/ etc" hakemistoon JFFS: lle:

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

Aseta Optware-hakemisto ("/ opt")
Opkg OpenWRT: stä odottaa käytettäväksi, kun reitittimen laiteohjelmisto on rakennettu. Koska FileSystem ei ole vielä reitittimellä ja voi silti muuttua, tiedostojen asentamista FileSystemiin ei ole mitään ongelmaa. Siksi Opkg-kokoonpanotiedosto osoittaa paketeja asennettavaksi FileSystemin "root" (/) -osiin. Käytämme kuitenkin Opkg: tä jälkeen laiteohjelmisto on rakennettu ja asennettu reitittimeen, ja koska emme voi muuttaa tiedostojärjestelmän juurta luettavaksi, viitataan kaikkiin "/ opt" -osiin asennettaviin installaatioihin. Tällä hetkellä "/ opt" viittaa myös vain luku-asemaan reitittimen laiteohjelmistossa. Tämän voittamiseksi tehdään "/ opt" -merkki JFFS: lle, joka on luettavissa.

  1. Voit tehdä tämän Luo hakemisto, joka sisältää Optware-paketit:

    mkdir -p / jms / opt

  2. Manuaalisesti (nyt) "sitomaan" "/ opt" hakemistoon JFFS: lle:

    mount -o bind / jffs / opt / opt /

    Huomaa: Vaikka tämän oppaan ulkopuolella ei ole, edistyneemmät käyttäjät saattavat haluta muuttaa tätä kiinnityspistettä osoittaakseen HD: n.

Opkg-kokoonpanotiedoston säätäminen
Haluamme, että Opkg-kokoonpanotiedosto on, kun Opkg etsii sitä oletuksena (joka on "/ etc") ja se on asetettu asentamaan "/ opt".

  1. Voit tehdä tämän siirtämällä opkg-paketin asennetun opkg-kokoonpanotiedoston luettavaksi kirjoitettavaksi "/ etc" -paikalle:

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

  2. Vaihda Optware-asennusten määränpääksi "/ opt" sijaan "root" (/).
    Voit tehdä tämän "vi" -editorilla tai WinSCP: llä siirtymällä kohtaan "/ etc /" ja tekemällä "opkg.conf" -tiedoston sisältö:

    vi /etc/opkg.conf

    Tee se näyttää:

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

    Huomautus: Voit muuttaa "lists_dir" -direktiiviä osoittamaan sijaintia, joka ei ole RAM-muistissa vaan pikemminkin JFFS: ssä. Vaikka tämä estäisi sinua päivittämästä luetteloita, ennen kuin voit asentaa lisäohjelmia (jos reititin käynnistetään uudelleen viimeisen kerran), menetät noin 1,5 Mt: n harvaan JFFS-tilaan ja sinä sekoitat sen eroosiota.

Hei vauva
Sinun pitäisi pystyä näkemään, että Opkg työskentelee julkaisemalla päivityksen ja listalla komentoja.

  1. Jos kaikki menestyivät hyvin, sinun pitäisi nähdä, että Opkg-listat on päivitetty virheettömästi ja olet valmis toteuttamaan komentosarja seuraavassa vaiheessa:

    opkg-päivitys; opkg-luettelo

  2. Ota aikaa tutkia arkistossa käytettävissä olevia paketteja ....

Startup-skripti
Meidän on nyt tehtävä se niin, että kaikki vaaditut asennus- ja reittiohjeet tapahtuvat automaattisesti reitittimen käynnistyessä. Tätä varten olemme luoneet sinulle, tämä alustuksen geek-init-skripti.

  1. Lataa ja poista se ja siirrä se kohtaan "/ jffs / geek / etc /". (Harkitse tätä WinSCP: llä).
  2. Tee käsikirjoitus suoritettavaksi menemällä sen ominaisuuksiin WinSCP: llä tai suorittamalla:

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

  3. Tee komentosarja suoritettavaksi reitittimen käynnistyksessä käyttäen WebGUI: tä. Kirjoita Hallinta -> Komentoja tekstikenttään:

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

    Ja napsauta "Tallenna käynnistys".

Renkaiden ottaminen
Jos kaikki meni hyvin, sinun pitäisi nyt pystyä käynnistämään reititin uudelleen ja käyttämään edelleen Opkg-paketinhallintaohjelmaa. Tämä on päivittää, luetteloida ja asentaa sovelluksia.
Antaa testata, että kaikki toimii asenntamalla "netstat" -komentoa, joka on jostain syystä jätetty DD-WRT: n rakentamisilta viime aikoina. Ennen kuin teemme tämän, suorita päätelaitteen netstat-komento ja näet, että olet raastettu kuoren virheestä sanomalla "-sh: netstat: not found".

  1. Ensimmäinen askel on aina päivittää Opkg-listat, jotta viimeisimmät paketit listataan arkistosta:

    opkg-päivitys

  2. Jos et tiedä, mikä paketti sisältää "netstat" -komennon, voit suodattaa tulokset käyttämällä.

    opkg list | grep netstat

  3. Ja nyt asenna "netstat" käyttäen:

    opkg asentaa net-tools-netstat

    Ja nyt, kun suoritetaan netstat-komento uudelleen se toimii ... siisti ha? :)

Siihen saakka, kunnes tulevat artikkelit, joissa asennamme ja konfiguroimme ohjelmistopaketteja tällä menetelmällä, saattavat olla paljon geekihyvää tutkia valtava määrä ohjelmistoja, jotka ovat nyt sormenjäljilläsi.

Jos tällainen kone on virtuaalinen mahdottomuus, sen täytyy loogisesti olla äärellinen epätodennäköisyys. Joten minun on vain tehtävä, jotta voimme selvittää, kuinka epätodennäköistä se on, syöttää tämä luku äärelliseen improvisaatiovalmistajaan, anna sille uusi kuppi todella kuumaa teetä ja käännä se ... ... ... eivät todellakaan pidä, on "Smart-Ass".