If-Koubou

Kā instalēt papildu programmatūru savā mājas maršrutētājā (DD-WRT)

Kā instalēt papildu programmatūru savā mājas maršrutētājā (DD-WRT) (Kā)

Vai esat kādreiz vēlējies, lai jūsu maršrutētājam būtu papildus funkcionalitāte, piemēram, e-pasts, Bit-torrent vai pat MySQL? Nu varbūt tagad jūs varat. How-To Geek ienirzās, kā instalēt Opkg programmatūru DD-WRT.

Jean Spector un Aviad Raviv attēls

Ja vēl neesat pārliecināts, pārbaudiet iepriekšējos sērijas rakstus:

  • Pārvērtiet mājas maršrutētāju uz Super-Powered maršrutētāju ar DD-WRT
  • Kā noņemt reklāmas ar Pixelserv uz DD-WRT

Pieņemot, ka esat pazīstams ar šīm tēmām, turpiniet lasīt. Paturiet prātā, ka šis ceļvedis ir nedaudz vairāk tehniska, un iesācējiem vajadzētu būt uzmanīgiem, modding savu maršrutētāju.

Skumjas

Nesen esmu nopircis jaunu Buffalo WZR-HP-AG300H, kas ir ar DD-WRT atkārtotas marķēšanas versiju. Sakarā ar to, ka šim maršrutētājam ir USB ports, es nekavējoties pievienoju HD un mēģināju izmantot wiki rokasgrāmatu "Optware, Right Way". Diemžēl es esmu ātri atklājis, ka maršrutētājs, kuru es saņēmu, ir Atheros pamatne un skripts no šīs wiki lapas, to neatbalsta. Tāpēc es esmu sākusi rakšanu (kā es vienmēr daru) un nāca pie vairākiem ceļveži (1, 2, 3 un 4), kuru mērķis bija izskaidrot, kā iegūt Opkg manuāli. Kaut arī šo ceļvedi (bez citiem avotiem tīmeklī) sniedza ieguldījumu šajā ceļvedī bija nenovērtējams, daži no norādījumiem (IMHO) vienkārši nav pietiekami vienkārši. Piemēram, jums "lib" faili tiek zvejoti, bet ne iemāca, kā tos zvejot no avota. Tāpat ir jāizmanto Linux formāts HD vai vismaz viena nodalījuma (kas faktiski pat nedarbojas ar firmwares esmu testēts ar). Tāpēc es jutu, ka ir nepieciešams izveidot zemu, kodolīgu, vienkāršu sekojošu un reproducējamu procedūru, lai OpenWRT Opkg pakešu pārvaldnieks varētu strādāt ar šādiem maršrutētājiem.

Atjauninājums: montāžas nodalījumu spēja ir atkārtoti ievietota atkārtoti zīmola versijā 17798 alfa būvniecībā.

Kas ir Opkg?

Opkg ir pakešu pārvaldnieks, piemēram, apt / aptitude un yum. Tas darbojas kā Ipkg pakešu pārvaldnieka aizstājējs, un to var izmantot, lai instalētu programmatūru, piemēram, Transmisijas BitTorrent dēmonu, ssmtp e-pasta sūtītāju un Knockd dēmonu, kas izpilda skriptus pēc noteikta porta aktivizēšanas secības, lai norādītu dažus. No OpenWRT vietnes:

Opkg lietderība (ipkg dakša) ir viegls pakotņu pārvaldnieks, ko izmanto, lai lejupielādētu un instalētu OpenWrt paketes no vietējiem pakotņu krātuvjiem vai tiem, kuri atrodas internetā. Opkg mēģinājumi atrisināt atkarības no pakotnēm krātuvēs - ja tas neizdodas, tā ziņos par kļūdu un pārtrauks šīs pakotnes instalēšanu.

Tātad, izmantojot Opkg, mēs varam instalēt tādas lietas kā Ipkg rokasgrāmatā "Atbrīvot vēl vairāk enerģijas no jūsu mājas maršrutētāja". Galvenās atšķirības ir:

  1. Lai sniegtu SSMTP un Knockd piemērus, jums patiešām bija jāizvērtē atkarības manuāli. Procedūra, kā to izdarīt manuāli, ir apgrūtinoša un nav ļoti tieša. Opkg to automātiski veic.
  2. Šoreiz mēs būsim pievienojot programmatūra, kas atrodas uz vietas esošajai programmaparatūrai, nevis tā vietā. Aizstājot to bija lielisks geek uzdevums, tas bija bez šaubām: bīstama, jutīga problēma, neatgriezenisks un vissliktākais no visiem router īpašs. Lieki teikt, ka tas ir vienkāršāk un drošāk.

Priekšnosacījumi

Lai aizpildītu šo rokasgrāmatu, ņemiet vērā sekojošo:

  1. Kā iepriekš tika minēts, šī rokasgrāmata tika izveidota un pārbaudīta Buffalo WZR-HP-AG300H ar Buffalo "Pro" programmaparatūras versiju 17135. Tam vajadzētu strādāt ar visiem Atheros (ar71xx) maršrutētājiem, kuriem ir tā pati versija vai virs tā esoša DD-WRT versija , bet jūsu nobraukums var ļoti.
  2. Jums būs jāiespējo SSH maršrutētājā, kā arī jāinstalē un jāizmanto WinSCP, lai izveidotu savienojumu ar to. Tas tika paskaidrots ceļvedī "Kā noņemt reklāmas ar Pixelserv uz DD-WRT". Faktiski tiek pieņemts, ka jūs varat darīt visu, kas ir izskaidrots šajā rokasgrāmatā.
  3. Jums ir jāspēj izveidot savienojumu ar maršrutētāju, izmantojot terminālu (ieteicams SSH). Daži norādījumi par to, kā to izdarīt, ir DD-WRT wiki.
  4. Vieta JFFS un apmēram 4 MB pēcformatētas vietas bāzes uzstādīšanai. JFFS telpa nav tikai priekšnoteikums, tas ir parādīt aizbāzni. Tas ir tādēļ, ka, ja jūsu maršrutētājam nav vismaz iepriekš minētā 4MB pēcformāta vietas, jūs nevarēsit gūt nekādu reālu ieguvumu no šīs rokasgrāmatas, un būs labāk, izmantojot "Atlaist vēl vairāk jaudas no jūsu mājas maršrutētāja" rokasgrāmata, lai instalētu Ipkg paketes tieši programmaparatūrā vai manuāli instalētu Ipkg paketes. Lai sekotu JFFS, izpildiet norādījumus, kas minēti sadaļā "Kā noņemt reklāmas ar Pixelserv par DD-WRT" un skatiet, cik daudz vietas jums ir pēc tas ir formatēts.

Piezīme: Tas ir iespējams to izdarīt ar tikai 2 MB atstarpes iestatīšanai, bet tad mēs zaudēsim "/ etc" iegūšanu, kļūstot lasāmu rakstīšanai, un tai vajadzētu atsaukties uz Opkg, vienlaikus norādot konfigurācijas failu manuāli katru reizi ... kas ir līdzīgs sooo lame ...

Ļaujiet sašķelties

Šajā brīdī jums vajadzēja aktivizēt JFFS un varēsiet maršrutētājā izmantot SSH / WinSCP.

  1. Atveriet termināļa sesiju maršrutētājam.
  2. Izveidojiet pagaidu direktoriju, kurā strādāsim:

    mkdir / tmp / 1
    cd / tmp / 1

Lai instalētu Opkg, izmantojiet Ipkg
Lai gan mēs aizstāsim Ipkg kā pakešu pārvaldnieku, mēs to izmantosim, lai manuāli instalētu Opkg instalācijas paketi.

  1. Lai to izdarītu, lejupielādējiet OpenWRT projekta stumbrā ar71xx arhitektūras Opkg instalācijas paketi:

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

    1. piezīme: Šī raksta laikā 618 ir jaunākā versija, nākotnē tā var mainīties, tāpēc atbilstoši jāpielāgo.
    2. piezīme: Iespējams, ka vienīgā atšķirība, kā iegūt šo ceļvedi citām arhitektūrām, ir iegūt Opkg uzstādītāju no jūsu maršrutētāja piemērojamās arhitektūras ... taču to patiešām nav pārbaudījis.

  2. Ielādēt Ipkg, lai manuāli instalētu Opkg, izmantojot:

    ipkg instalējiet opkg_618-2_ar71xx.ipk

    Piezīme: Jūs varat, ja jūs arī vēlaties, katru paketi manuāli instalējiet katru krātuvi šādā veidā. Tomēr tas nozīmētu, ka jums būs jāatrisina atkarība no jūsu pašu ... un kāda būtu jautrība tajā?

Dinamiskās bibliotēkas failu iegūšana ("lib" s)
Nepieciešamie "lib" faili, lai padarītu Opkg darbu, ir daļa no OpenWRT izplatīšanas. Lai tos iegūtu, ir nepieciešams tos iegūt no minētā izplatīšanas "saknes failu sistēmas".

  1. Lai to izdarītu, lejupielādējiet jaunāko pamata "root fileSystem", lai atvērtu WRT sadalīšanu, kurā ir nepieciešamie "open" faili no OpenWRT projekta stumbra:

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

  2. Izvilkiet to, izmantojot:

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

  3. Kopējiet "libs" failus no "rootfs", kurus esam ieguvuši iepriekš, mūsu JFFS direktorijā "libs", saglabājot to atribūtus un simboliskās saites:

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

    Piezīme: Jūs saņemsit ziņojumus, ka apakšnozares tiek izlaistas. Tā kā mums nav nepieciešams kaut kas cits kā "lib" faili, tas ir labi, un jūs varat droši ignorēt šos ziņojumus.

LD_LIBRARY "PATH" nostiprināšana
Mums ir jāpasaka maršrutētājam, kur meklēt kopīgās bibliotēkas (libs), kuras mēs tikko esam "instalējuši", un ka tai tas jādara pirms tam kas bija ar programmaparatūru.

  1. Lai to izdarītu, manuāli iestatītu LD_LIBRARY vides mainīgo (līdz šim), lai tā vietā, kur mēs kopējām jaunos lib failus, tas būs pirmais no "PATH":

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

Lasāmi rakstāms "/ etc"
Mēs gatavojamies kopēt "/ etc" uz JFFS un tad izveidot regulāru "/ etc" piestiprināšanas punktu, norādiet uz to. To darot, abas atvērs iespēju pasauli, jo "/ etc" kļūs lasāms rakstāms (ko es personīgi gaidīju, lai dotu vai ņemtu 7 gadus), un ļauj iepakojumiem, kas sagaida šo darbību, pareizi strādāt.

  1. Izveidojiet direktoriju, kurā būs "/ etc":

    mkdir-p / jfs / geek / utt

  2. Rekursīvi kopējiet "/ etc" kopumu, saglabājot visus apakšdirektorijus, failu atribūtus un simboliskās saites.

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

  3. Manuāli (līdz šim) "saistīt mount" direktoriju "/ etc" ar JFFS vienu:

    mount -o bind / jfs / geek / etc / / etc /

Iestatiet Optware direktoriju ("/ opt")
Opkg no OpenWRT, sagaida, ka tā tiks izmantota, kad maršrutētāja programmaparatūra tiks uzbūvēta. Tā kā faila sistēma vēl nav pieslēgta maršrutētājam un līdz ar to joprojām var tikt mainīta, nav problēmu instalēt failu sistēmu jebkurā atrašanās vietā. Tāpēc Opkg konfigurācijas fails norāda paketes, ko instalēt faila sistēmas "root" (/). Tomēr mēs izmantojam Opkg pēc programmaparatūra tika uzbūvēta un instalēta maršrutētājā, un, tā kā mēs nevaram mainīt failu sistēmas sakni, lai to varētu nolasīt, mēs norādīs, ka visas instalācijas tiks instalētas zem "/ opt". Tomēr pašlaik opcija "/ opt" norāda arī uz maršrutēšanas ierīces programmaparatūras vietu, kas ir tikai lasāma. Lai to pārvarētu, mēs izdarīsim "/ opt" punktu uz JFFS, kuru var lasīt rakstīt.

  1. Lai to izdarītu, izveidojiet direktoriju, kurā būs Optware pakotnes:

    mkdir -p / jffs / opt

  2. Manuāli (līdz šim) "saistīt mount" direktoriju "/ opt" uz JFFS vienu:

    mount -o bind / jfs / opt / / opt /

    Piezīme: Lai arī ārpus šīs rokasgrāmatas darbības jomas, vairāk progresīvi lietotāji var vēlēties mainīt šo piestiprināšanas punktu, norādot uz HD.

Opg konfigurācijas faila pielāgošana
Mēs vēlamies Opkg konfigurācijas failu, kur Opkg meklē pēc noklusējuma (kas ir "/ etc") un pielāgots, lai instalētu uz "/ opt".

  1. Lai to paveiktu, pārvietojiet opkg konfigurācijas failu, kas uzstādīts Opkg pakotnē, uz nolasāmā rakstāmā "/ etc" atrašanās vietu:

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

  2. Mainiet Optware instalāciju galamērķi "/ opt" vietā, nevis "root" (/).
    Lai to paveiktu, ar "vi" redaktoru vai WinSCP dodieties uz "/ etc /" un izveidojiet faila "opkg.conf" saturu:

    vi /etc/opkg.conf

    Padariet to izskatu:

    src / gz momentuzņēmumi http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
    dest root / opt
    mērķa trauks / tmp
    lists_dir ext / var / opkg-lists
    iespēja overlay_root / overlay

    Piezīme: Jūs varat mainīt "lists_dir" direktīvu, lai norādītu uz vietu, kas nav RAM, bet gan uz JFFS. Lai gan tas atvieglotu jūs no saraksta atjaunināšanas, pirms jūs varat instalēt papildu programmatūru (ja jūsu maršrutētājs ir pārstartēts no pēdējā reize), jūs zaudēsiet apmēram 1,5 MB no ierobežotās JFFS vietas un jūs savukārt samazināsit tās eroziju.

Sveika, mazulīt
Jums vajadzētu būt iespējai redzēt, ka Opkg darbojas, izsniedzot atjauninājumu un sarakstus komandas.

  1. Ja viss notiks labi, jums vajadzētu redzēt, ka Opkg saraksti ir atjaunoti bez kļūdām, un jūs esat gatavs, lai ieviestu skriptu nākamajā solī:

    opkg update; Opciju saraksts

  2. Ņemiet laiku, lai sāktu izpētīt repozitorijā pieejamos iepakojumus ....

Startēšanas skripts
Tagad mums ir jānodrošina, lai visi nepieciešamie uzstādījumi un maršruta izveide notiks automātiski, kad maršrutētājs zābās. Lai to panāktu, mēs esam izveidojuši jums šo inicializācijas geek-init skriptu.

  1. Lejupielādējiet, pēc tam izrakstiet to un ievietojiet to zem "/ jffs / geek / etc /". (Apsveriet to ar WinSCP).
  2. Veiciet izpildāmo skriptu, ieejot tās īpašumos ar WinSCP vai izpildot:

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

  3. Veiciet skripta izpildi maršrutētāja palaišanas laikā, izmantojot WebGUI. Sadaļā Administrēšana -> Komandas tekstlodziņā ielieciet:

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

    Un noklikšķiniet uz "Saglabāt palaišanu".

Riepu maiņa
Ja viss notiks labi, tagad jums vajadzētu būt iespējai pārstartēt maršrutētāju un joprojām izmantot Opkg pakešu pārvaldnieku. Tas ir, lai atjauninātu, uzskaitītu un instalētu lietojumprogrammas.
Ļauj pārbaudīt, vai viss strādā, instalējot komandu "netstat", kas kādu iemeslu dēļ pēdējā laikā ir izlaista no DD-WRT celiņiem. Pirms to mēs izpildīsim netstat komandu terminālā, un jūs redzēsiet, ka jūs esat sašķelts ar kļūdu no čaulas, sakot "-sh: netstat: nav atrasts".

  1. Jūsu pirmais solis vienmēr būs, atjauninot Opkg sarakstus, lai no krātuves varētu atrast jaunākos iepakojumus:

    opkg update

  2. Ja jūs nezināt, kura pakotne satur komandu "netstat", varat filtrēt rezultātus, izmantojot.

    opkg saraksts | grep netstat

  3. Un tagad instalējiet "netstat", izmantojot:

    opkg instalēt net-tools-netstat

    Un tagad, kad jūs izpildāt netstat komandu atkal tas darbojas ... kārtīgi ha? :)

Līdz nākamajiem rakstiem, kuros mēs iesakām instalēt un konfigurēt programmatūras pakotnes, izmantojot šo metodi, iespējams, jums ir daudz jautrības, meklējot plašu programmatūras apjomu, kas tagad ir tieši pie pirkstu galiem.

Ja šāda mašīna ir virtuāla neiespējamība, loģiski ir jābūt galīgai neticībai. Tātad, viss, kas man jādara, lai izstrādātu, ir tas, lai noteiktu, cik precīzi tas ir neticami, baro šo skaitli galējā neticamības ģeneratorā, dod tai jaunu tasi patiešām karstas tējas un to ieslēdz ... ... ... Viena lieta, ko viņi patiešām nepatīk, ir "Smart-Ass".