Kā instalēt papildu programmatūru mājas maršrutētājam (DD-WRT)
Vai esat kādreiz gribējis, lai jūsu maršrutētājam būtu papildu funkcionalitāte, piemēram, e-pasts, bit-torrent vai pat MySQL? Nu varbūt tagad jūs varat. How-To Geek iegremdē, kā uzstādīt Opkg programmatūru DD-WRT.
Attēls: Jean Spector un Aviad Raviv
Ja neesat jau to izdarījis, pārliecinieties un pārbaudiet iepriekšējos sērijas rakstus:
- Pārvērtiet savu mājas maršrutētāju Super-Powered Router ar DD-WRT
- Kā noņemt reklāmas ar Pixelserv uz DD-WRT
Pieņemot, ka esat iepazinies ar šīm tēmām, turpiniet lasīt. Paturiet prātā, ka šī rokasgrāmata ir nedaudz tehniskāka, un iesācējiem jābūt uzmanīgiem, mainot savu maršrutētāju.
Tribulācijas
Nesen es nopirku jaunu Buffalo WZR-HP-AG300H, kas ir aprīkots ar DD-WRT versiju. Sakarā ar to, ka šim maršrutētājam ir USB ports, es tūlīt pievienoju HD un mēģināju izmantot “Optware, The Right Way” wiki rokasgrāmatu. Diemžēl es ātri noskaidroju, ka manis iegūtais maršrutētājs ir Atheros un skripts no šīs wiki lapas to neatbalsta. Tāpēc es esmu sācis rakšanu (kā es vienmēr to daru) un nonācu pie vairākiem ceļvežiem (1, 2, 3 un 4), kuru mērķis bija izskaidrot, kā Opkg strādāt manuāli. Lai gan viņu ieguldījums (starp citiem avotiem tīmeklī) šajā rokasgrāmatā bija nenovērtējams, daži no norādījumiem (IMHO) vienkārši nav pietiekami taisni. Piemēram, dodot jums “lib” failus, zvejojiet, bet nedodiet jums iemācīt, kā zvejot to no avota. Tāpat arī jāizmanto Linux formatēts HD vai vismaz viena tās nodalījums (kas faktiski pat nedarbojas ar pārbaudītajiem firmware). Tieši tāpēc es jutu vajadzību izveidot zemu īsu, vienkāršu un atkārtotu procedūru, lai OpenWRT Opkg paketes pārvaldnieks varētu strādāt ar šādiem maršrutētājiem.
Atjauninājums: montāžas starpsienas iespējas ir atkārtoti ieviestas 17798..
Kas ir Opkg?
Opkg ir paketes pārvaldnieks, piemēram, apt / aptitude un yum. Tas darbojas kā Ipkg pakotnes pārvaldnieka aizvietotājs, un to var izmantot, lai instalētu programmatūru, piemēram, pārraides 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 minētu dažus. No OpenWRT vietnes:
Opkg lietderība (ipkg dakša) ir viegls iepakojuma pārvaldnieks, ko izmanto, lai lejupielādētu un instalētu OpenWrt paketes no vietējiem pakotņu krātuvēm vai tiem, kas atrodas internetā..
Opkg
mēģinājumi atrisināt atkarības no pakotnēm krātuvēs - ja tas neizdodas, tas ziņos par kļūdu un pārtrauc šīs pakotnes instalēšanu.
Tātad, izmantojot Opkg, mēs varam instalēt tādas lietas, kādas mēs darījām ar Ipkg uz “Atlaist vēl lielāku jaudu no mājas maršrutētāja”. Galvenās atšķirības ir:
- Lai sniegtu SSMTP un Knockd piemērus, jums patiešām bija jāizprot atkarības. Procedūra, lai to izdarītu manuāli, ir apgrūtinoša un nav ļoti taisnīga. Opkg to dara automātiski.
- Šoreiz mēs būsim pievienojot programmatūras vietā, kas atrodas vietā, nevis nomainot to. Tā vietā, lai to aizstātu, bija lielisks ģeeku vingrinājums, tas neapšaubāmi bija bīstams, pakļauts problēmām, neatgriezenisks un vissliktākais no visiem maršrutētājiem. Lieki teikt, ka tas ir vienkāršāks un drošāks.
Priekšnoteikumi
Lai pabeigtu šo rokasgrāmatu, ievērojiet:
- Kā minēts iepriekš, šī rokasgrāmata tika izveidota un pārbaudīta, izmantojot Buffalo WZR-HP-AG300H ar Buffalo “Pro” programmaparatūras versiju 17135. Tai būtu jādarbojas ar visiem Atheros (ar71xx) balstītajiem maršrutētājiem ar jebkuru tādu pašu versiju vai augstāku DD-WRT versiju , bet jūsu nobraukums var būt ļoti liels.
- Jums būs jāiespējo SSH uz maršrutētāja, kā arī jāinstalē un jāizmanto WinSCP, lai izveidotu savienojumu ar to. Tas tika paskaidrots “Kā noņemt reklāmas ar Pixelserv uz DD-WRT” rokasgrāmatā. Faktiski tiks pieņemts, ka jūs varat darīt visu, kas ir izskaidrots šajā rokasgrāmatā.
- Jums ir jāspēj izveidot savienojumu ar maršrutētāju, izmantojot termināli (ieteicams izmantot SSH). Daži norādījumi par to, kā to izdarīt, ir DD-WRT wiki.
- JFFS telpa un aptuveni 4 MB postformatētas vietas bāzes iestatīšanai. JFFS telpa ir ne tikai priekšnoteikums, tā ir šautuve. Tas ir tāpēc, ka, ja jūsu maršrutētājam nav vismaz iepriekšminētā 4MB pēc formatētās vietas, jūs nevarēsiet gūt reālu labumu no šīs rokasgrāmatas, un būs labāk, ja izmantojat „Atlaist vēl vairāk enerģijas no mājas maršrutētāja” rokasgrāmata, lai instalētu Ipkg pakotnes tieši programmaparatūrā vai manuāli instalētu Ipkg paketes. Lai iespējotu JFFS, izpildiet norādījumus par “Kā noņemt reklāmas ar Pixelserv uz DD-WRT”, un skatiet, cik daudz brīvas vietas jums ir pēc tam tas ir formatēts.
Piezīme: To var izdarīt tikai ar 2MB vietas iestatīšanai, bet tad mēs zaudēsim „/ etc” rezultātu, kas kļūst lasāms, un tam būtu jāizmanto Opkg, bet katru reizi, nosakot konfigurācijas failu manuāli… sooo lame…
Ļauj iegūt plaisāšanu
Šajā brīdī jums vajadzēja iespējot JFFS un spēt SSH / WinSCP maršrutētājā.
- Atveriet termināla sesiju maršrutētājam.
- Izveidojiet pagaidu direktoriju, kurā mēs strādājam:
mkdir / tmp / 1
cd / tmp / 1
Izmantojiet Ipkg, lai instalētu Opkg
Kamēr mēs aizstāsim Ipkg kā paketes pārvaldnieku, mēs to izmantosim, lai manuāli instalētu Opkg instalācijas pakotni.
- Lai to izdarītu, lejupielādējiet Opkg instalācijas paketi ar71xx arhitektūrai no OpenWRT projekta stumbra:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/opkg_618-2_ar71xx.ipk
1. piezīme: Šā rakstīšanas laikā 618 ir jaunākā versija, kas nākotnē var tikt mainīta, tāpēc attiecīgi pielāgojieties.
2. piezīme: Iespējams, ka vienīgā atšķirība, iegūstot šo rokasgrāmatu, lai strādātu pie citām arhitektūrām, ir iegūt Opkg instalētāju no jūsu maršrutētāja piemērojamās arhitektūras ... tomēr tas ir nepārbaudīts jums. - Ielādēt Ipkg, lai manuāli instalētu Opkg, izmantojot:
ipkg instalēt opkg_618-2_ar71xx.ipk
Piezīme: Ja vēlaties, arī jūs varat uzstādīt katru repozitorija paketi manuāli. Tomēr tas nozīmētu, ka jums būs jārisina atkarības no jūsu puses… un kas būtu jautri?
Dinamisko bibliotēku failu iegūšana (“lib”)
Nepieciešamie “lib” faili, lai padarītu Opkg darbu, ir daļa no OpenWRT izplatīšanas. Lai tos iegūtu, ir jāizdala tās no minētās izplatīšanas “Saknes failu sistēmas”.
- Lai to izdarītu, lejupielādējiet jaunāko pamata “Root FileSystem”, kas paredzēta OpenWRT izkropļošanai, kas satur nepieciešamos “lib” no OpenWRT projekta stumbra:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz
- Izvilkt to, izmantojot:
tar xvzf openwrt-ar71xx-generic-rootfs.tar.gz
- Kopējiet “libs” failus no “rootfs”, kurus mēs esam ieguvuši iepriekš, uz “libs” direktoriju mūsu JFFS, saglabājot to atribūtus un simboliskās saites:
cp -Pp / tmp / 1 / lib / * / jffs / usr / lib /
Piezīme: Jūs saņemsiet ziņojumus, kuros teikts, ka apakšgrupas tiek izlaistas. Tā kā mums nav nepieciešams nekas cits kā “lib” faili, tas ir labi, un jūs varat droši ignorēt šos ziņojumus.
LD_LIBRARY “PATH” fiksēšana
Mums ir jāpasaka maršrutētājam, kur meklēt kopīgās bibliotēkas (libs), ko mēs tikko esam instalējuši, un ka tas ir jādara iepriekš tie, kas tika pievienoti firmware.
- Lai to izdarītu, iestatiet LD_LIBRARY vides mainīgo manuāli (tagad), lai tā būtu vieta, kur mēs kopējām jaunos lib failus būs pirmais “PATH”:
eksportēt LD_LIBRARY_PATH = / jffs / usr / lib: $ LD_LIBRARY_PATH
Lasāms rakstāms “/ etc”
Mēs kopēsim “/ etc” uz JFFS un pēc tam veicam regulāru “/ etc” pieslēguma punktu, norādiet uz to. To darot, abi atvērs iespēju pasauli, jo “/ etc” kļūs lasāms rakstāms (ko es personīgi esmu gaidījis dot vai ņemt 7 gadus) un ļautu pareizi darboties iepakojumiem, kas sagaida šo rīcību.
- Izveidojiet direktoriju, kurā būs “/ etc”:
mkdir -p / jffs / geek / utt
- Rekursīvi kopējiet “/ etc” kopumu, saglabājot visas apakšdirektorijas, failu atribūtus un simboliskās saites.
cp -a / etc / * / jffs / geek / etc /
- Manuāli (tagad) “saistīt” “/ etc” direktoriju ar JFFS:
mount -o bind / jffs / geek / etc / / etc /
Iestatiet Optware direktoriju (“/ opt”)
Opkg no OpenWRT, sagaida, ka tiks izmantots, kad tiks veidota maršrutētāja programmaparatūra. Tā kā šādā laikā FileSystem vēl nav maršrutētāja, un tādējādi tā joprojām var mainīties, nav problēmu instalēt jebkurā faila sistēmā. Tāpēc Opkg konfigurācijas faila punkti pakotnes instalē FileSystem “saknes” (/). Tomēr mēs izmantojam Opkg pēc tam programmaparatūra tika uzbūvēta un instalēta maršrutētājam, un, tā kā mēs nevaram mainīt failu sistēmas saknes, lai tās būtu lasāmas, mēs norādīsim visas instalācijas, kas tiks instalētas sadaļā “/ opt”. Tomēr pašlaik "/ opt" norāda arī uz tikai lasāmu atrašanās vietu maršrutētāja programmaparatūrā. Lai to pārvarētu, "/ opt" norādīsim uz JFFS, kas ir lasāms.
- Lai to izdarītu, izveidojiet direktoriju, kurā būs iekļautas optiskais pakotnes:
mkdir -p / jffs / opt
- Manuāli (tagad) “saistīt” “/ opt” direktoriju ar JFFS:
mount -o saistīt / jffs / opt / / opt /
Piezīme: Kaut arī šī rokasgrāmata nav iekļauta, vairāk pieredzējušu lietotāju, iespējams, vēlēsies mainīt šo pievienošanas punktu, lai norādītu uz HD.
Opkg konfigurācijas faila pielāgošana
Mēs vēlamies, lai Opkg konfigurācijas fails būtu tāds, kur Opkg to meklē pēc noklusējuma (kas ir “/ etc”) un pielāgots instalēšanai uz “/ opt”.
- Lai to izdarītu, pārvietojiet opkg pakotnes instalēto opkg konfigurācijas failu lasāmā rakstā “/ etc”:
mv /jffs/etc/opkg.conf / etc /
- Mainiet Optware instalāciju galamērķi, lai tā būtu “/ opt”, nevis “root” (/).
Lai to izdarītu, ar “vi” redaktoru vai WinSCP dodieties uz “/ etc /” un veiciet “opkg.conf” faila saturu:vi /etc/opkg.conf
Pārliecinieties, ka tas izskatās:
src / gz momentuzņēmumi http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
dest root / opt
dest ram / tmp
saraksti_dir ext / var / opkg-saraksti
opcija overlay_root / overlayPiezīme: Jūs varat mainīt "list_dir" direktīvu, lai norādītu uz vietu, kas nav RAM, bet gan uz JFFS. Lai gan tas atbrīvotu jūs no saraksta atjaunināšanas, pirms jūs varat instalēt papildu programmatūru (ja jūsu maršrutētājs tiek atsākts no pēdējās reizes), jūs zaudējat aptuveni 1,5 MB ierobežoto JFFS telpu, un jūs varētu saasināt tās eroziju.
Sveika, mazulīt
Jums vajadzētu būt iespējai redzēt, ka Opkg darbojas, izsniedzot atjaunināšanas un saraksta komandas.
- Ja visi noritēja labi, jums vajadzētu redzēt, ka Opkg saraksti ir atjaunināti bez kļūdām, un jūs esat gatavi īstenot skriptu nākamajā solī:
opkg update; opkg saraksts
- Veikt laiku, lai sāktu izpētīt krātuvēs pieejamos iepakojumus ... .
Startup skripts
Tagad mums tas ir jādara, lai visi nepieciešamie uzstādījumi un ceļi notiktu automātiski, kad maršrutētājs sāk zābaku. Lai to panāktu, mēs esam izveidojuši jums šo inicializācijas ģeogrāfijas-init skriptu.
- Lejupielādējiet, pēc tam izvelciet to un novietojiet to zem “/ jffs / geek / etc /”. (Apsveriet to ar WinSCP).
- Veiciet skriptu izpildāmu, dodoties uz tās īpašībām ar WinSCP vai izpildot:
chmod + x /jffs/geek/etc/geek-init.sh
- Padariet skriptu izpildi maršrutētāja starta režīmā, izmantojot WebGUI. Sadaļā Administrācija -> Komandas tekstlodziņā ievietojiet:
/jffs/geek/etc/geek-init.sh web-gui
Un noklikšķiniet uz “Saglabāt sākumu”.
Riepu nogriešana
Ja visi noritēja labi, jums tagad vajadzētu būt iespējai pārstartēt maršrutētāju un joprojām izmantot Opkg paketes pārvaldnieku. Tas ir, lai atjauninātu, uzskaitītu un instalētu lietojumprogrammas.
Ļauj pārbaudīt, vai viss darbojas, instalējot komandu “netstat”, kas kādu iemeslu dēļ pēdējā laikā ir izlaists no DD-WRT būvēm. Pirms mēs to darām, izpildiet terminālā netstat komandu, un jūs redzēsiet, ka jūs esat sarīvēts ar korpusa kļūdu, sakot: “-sh: netstat: nav atrasts”.
- Jūsu pirmais solis vienmēr būs, lai atjauninātu Opkg sarakstus, lai no glabātavas būtu jaunākie iepakojumu saraksti:
opkg update
- Ja nezināt, kura pakete satur komandu “netstat”, varat filtrēt rezultātus, izmantojot.
opkg list | grep netstat
- Un tagad instalējiet “netstat”, izmantojot:
opkg instalējiet net-tools-netstat
Un tagad, kad atkal izpildāt netstat komandu, tas darbojas ... glīts ha? :)
Līdz nākamajiem rakstiem, kuros mēs instalēsim un konfigurēsim programmatūras pakotnes, izmantojot šo metodi, jums var būt tonnas geeku jautrības, izpētot milzīgo programmatūru, kas tagad ir tieši pie jūsu pirkstu galiem.
Ja šāda mašīna ir virtuāla neiespējamība, tai loģiski ir jābūt ierobežotai iespējamībai. Tātad, viss, kas man jādara, lai padarītu to par to, cik precīzi tas ir iespējams, barojiet šo figūru ierobežotajā neiespējamības ģeneratorā, dodiet tam svaigu glāzi tiešām karstas tējas un ieslēdziet to ...…… tiešām nepatīk, ir „Smart-Ass”.