मुखपृष्ठ » कैसे » अपने होम राउटर पर अतिरिक्त सॉफ्टवेयर कैसे स्थापित करें (DD-WRT)

    अपने होम राउटर पर अतिरिक्त सॉफ्टवेयर कैसे स्थापित करें (DD-WRT)

    क्या आपने कभी ईमेल, बिट-टोरेंट या यहां तक ​​कि MySQL जैसे अतिरिक्त कार्यक्षमता को सीधे अपने राउटर पर रखना चाहा है? खैर अब शायद आप कर सकते हैं। कैसे-कैसे गीक डीडी-WRT पर Opkg सॉफ़्टवेयर स्थापित करने के लिए गोताखोरी करता है.

    जीन स्पेक्टर और अविद रविव द्वारा छवि

    यदि आप पहले से नहीं हैं, तो सुनिश्चित करें और श्रृंखला के पिछले लेख देखें:

    • डीडी-WRT के साथ एक सुपर-पावर्ड राउटर में अपना होम राउटर चालू करें
    • DD-WRT पर Pixelserv के साथ विज्ञापन कैसे निकालें

    यह मानते हुए कि आप उन विषयों से परिचित हैं, पढ़ते रहें। ध्यान रखें कि यह मार्गदर्शिका थोड़ी अधिक तकनीकी है, और शुरुआती को अपने राउटर को संशोधित करते समय सावधान रहना चाहिए.

    समस्याएं

    मैंने हाल ही में एक नया बफ़ेलो WZR-HP-AG300H खरीदा है जो DD-WRT के री-ब्रांडेड संस्करण के साथ आता है। इस राउटर के यूएसबी पोर्ट होने के कारण, मैंने तुरंत एक एचडी कनेक्ट किया और "ऑप्टवेयर, द राइट वे" रेकी गाइड का उपयोग करने की कोशिश की। दुर्भाग्य से मैंने जल्दी से पाया है कि मुझे जो राउटर मिला है, वह एथेरस आधारित है और उस विकी पेज की स्क्रिप्ट इसका समर्थन नहीं करती है। इसलिए मैंने खुदाई शुरू कर दी है (जैसा कि मैं हमेशा करता हूं) और कई गाइडों (1, 2, 3 और 4) में आया, जिसका उद्देश्य यह बताना था कि मैन्युअल रूप से ओप्पो को कैसे काम करना है। जबकि इस मार्गदर्शिका में उनका योगदान (वेब ​​पर अन्य स्रोतों के बीच) अमूल्य था, कुछ निर्देश (IMHO) बस सीधे पर्याप्त नहीं हैं। उदाहरण के लिए, आप "लीब" फाइल मछली देते हैं, लेकिन आपको यह नहीं सिखाते हैं कि इसे स्रोत से कैसे प्राप्त किया जाए। इसके अलावा एक लिनक्स स्वरूपित HD या कम से कम एक का उपयोग करने के लिए (जो वास्तव में मेरे द्वारा परीक्षण किए गए फ़र्मवेयर पर भी काम नहीं करता है) का विभाजन करना। इसीलिए, मुझे इस तरह के राउटर्स पर काम करने के लिए OpenWRT Opkg पैकेज मैनेजर प्राप्त करने के लिए नीचे दिए गए संक्षिप्त, सरल और अनुवर्ती प्रतिलिपि बनाने की प्रक्रिया की आवश्यकता महसूस हुई।.

    अद्यतन: बढ़ते विभाजन की क्षमता को फिर से ब्रांडेड संस्करण में 17798 अल्फा बिल्ड पर फिर से प्रस्तुत किया गया है.

    Opkg क्या है??

    Opkg apt / aptitude और yum की तरह एक पैकेज मैनेजर है। यह Ipkg पैकेज मैनेजर के लिए एक प्रतिस्थापन के रूप में कार्य करता है, और इसका उपयोग सॉफ़्टवेयर स्थापित करने के लिए किया जा सकता है जैसे: ट्रांसमिशन बिटटोरेंट डेमन, ssmtp ईमेल प्रेषक और नॉकडॉन एक नॉमन जो कुछ निर्दिष्ट करने के लिए निर्दिष्ट पोर्ट ट्रिगर अनुक्रम के बाद स्क्रिप्ट निष्पादित करता है। OpenWRT साइट से:

    Opkg उपयोगिता (एक ipkg कांटा) एक हल्का पैकेज प्रबंधक है जो स्थानीय पैकेज रिपॉजिटरी या इंटरनेट पर स्थित OpenWrt संकुल को डाउनलोड और स्थापित करने के लिए उपयोग किया जाता है।. Opkg रिपॉजिटरी में पैकेज के साथ निर्भरता को हल करने का प्रयास - यदि यह विफल रहता है, तो यह एक त्रुटि की रिपोर्ट करेगा, और उस पैकेज की स्थापना को रद्द कर देगा.

    इसलिए Opkg का उपयोग करके हम ऐसी चीज़ों को स्थापित कर सकते हैं जैसे हमने Ipkg के साथ "अपने होम राउटर से अनलश इवन मोर पावर" गाइड पर किया था। प्रमुख अंतर हैं:

    1. SSMTP और नॉकड के उदाहरण देने के लिए, वास्तव में, आपको मैन्युअल रूप से निर्भरता का पता लगाना था। मैन्युअल रूप से ऐसा करने की प्रक्रिया परेशान करने वाली है और बहुत सीधे आगे नहीं है। Opkg यह स्वचालित रूप से करता है.
    2. इस बार हम होंगे जोड़ने फर्मवेयर के शीर्ष पर सॉफ्टवेयर जो कि जगह में है, बल्कि फिर उसे बदल रहा है। प्रतिस्थापित करते समय यह एक उत्कृष्ट गीक व्यायाम था, यह एक शक के बिना था: खतरनाक, समस्याओं के लिए प्रवण, अपरिवर्तनीय और सभी राउटर विशिष्ट का सबसे खराब। यह कहने की आवश्यकता नहीं है कि यह सरल और सुरक्षित तरीका है.

    आवश्यक शर्तें

    इस गाइड को पूरा करने के लिए निम्नलिखित पर ध्यान दें:

    1. जैसा कि ऊपर कहा गया है, यह गाइड बफ़ेलो के "प्रो" फ़र्मवेयर संस्करण 17135 के साथ बफ़ेलो डब्ल्यूज़ेडआर-एचपी-एजी 300 एच पर बनाया गया और परीक्षण किया गया। यह किसी भी एथरोस (ar71xx) आधारित राउटर पर उसी संशोधन के डीडी-डब्ल्यूआरटी के किसी भी संस्करण के साथ काम करना चाहिए। , लेकिन आपका लाभ बहुत हो सकता है.
    2. आपको रूटर पर SSH को सक्षम करने की आवश्यकता होगी, साथ ही इसे कनेक्ट करने के लिए WinSCP को स्थापित और उपयोग करना होगा। यह "डीडी-WRT पर Pixelserv के साथ विज्ञापन कैसे निकालें" गाइड में समझाया गया था। वास्तव में, यह माना जाएगा कि आप उस गाइड में बताए गए हर काम को करने में सक्षम हैं.
    3. आपको टर्मिनल (SSH की सिफारिश की जाती है) का उपयोग करके राउटर से कनेक्ट करने में सक्षम होना चाहिए। यह कैसे करना है, इस पर कुछ संकेत डीडी-डब्ल्यूआरटी विकी पर हैं.
    4. JFFS के लिए स्थान और बेस सेटअप के लिए लगभग 4MB पोस्ट स्वरूपित स्थान। जेएफएफएस स्पेस केवल एक शर्त नहीं है, यह एक शो स्टॉपर है। ऐसा इसलिए है, क्योंकि यदि आपके राउटर में कम से कम उपर्युक्त 4MB का पोस्ट फॉर्मेट किया हुआ स्थान नहीं है, तो आपको इस गाइड से कोई वास्तविक लाभ नहीं मिलेगा, और आपके होम राउटर से "अनलश इवन मोर पावर" का उपयोग करना बेहतर होगा। सीधे फर्मवेयर में Ipkg पैकेज स्थापित करने या मैन्युअल रूप से Ipkg पैकेज स्थापित करने के लिए गाइड। JFFS को सक्षम करने के लिए "DD-WRT पर Pixelserv के साथ विज्ञापन कैसे निकालें" गाइड के निर्देशों का पालन करें, और देखें कि आपके पास वास्तव में कितनी खाली जगह है बाद यह स्वरूपित है.

    ध्यान दें: सेटअप के लिए केवल 2MB स्थान के साथ ऐसा करना संभव है, लेकिन फिर हम "/ etc" का अपघटन खो देंगे, जो पढ़ने-लिखने योग्य बन जाएगा और हर बार मैन्युअल रूप से कॉन्फ़िगरेशन फ़ाइल को निर्दिष्ट करते हुए, Opkg को आमंत्रित करना होगा ... जो कि पसंद है sooo लंगड़ा…  

    चलें शुरू करें

    इस बिंदु पर आपको JFFS को सक्षम करना चाहिए और राऊटर में SSH / WinSCP में सक्षम होना चाहिए.

    1. राउटर के लिए एक टर्मिनल सत्र खोलें.
    2. एक अस्थायी निर्देशिका बनाएँ, जिसमें हम काम करेंगे:

      mkdir / tmp / १
      cd / tmp / १

    Opkg को स्थापित करने के लिए Ipkg का उपयोग करें
    जब हम पैकेज प्रबंधक के रूप में इपका को प्रतिस्थापित करने जा रहे हैं, तो हम इसे ओप्पो इंस्टॉलेशन पैकेज को मैन्युअल रूप से स्थापित करने के लिए उपयोग करेंगे.

    1. ऐसा करने के लिए, OpenWRT प्रोजेक्ट ट्रंक से ar71xx आर्किटेक्चर के लिए Opkg इंस्टॉलेशन पैकेज डाउनलोड करें:

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

      नोट 1: इस लेखन के समय, 618 नवीनतम संस्करण है, यह भविष्य में परिवर्तन के अधीन हो सकता है, इसलिए तदनुसार समायोजित करें.
      नोट 2: यह संभव है कि अन्य आर्किटेक्चर के लिए काम करने के लिए इस गाइड को प्राप्त करने में एकमात्र अंतर आपके राउटर के लिए लागू आर्किटेक्चर से Opkg इंस्टॉलर प्राप्त करना है ... हालांकि यह आपके द्वारा सही मायने में अनुपलब्ध है.

    2. IPkg का उपयोग मैन्युअल रूप से स्थापित करने के लिए Ipkg आह्वान करें:

      ipkg इंस्टॉल करें opkg_618-2_ar71xx.ipk

      ध्यान दें: आप कर सकते हैं, यदि आप भी चाहते थे, रिपॉजिटरी में हर पैकेज को मैन्युअल रूप से इस तरह से स्थापित करें। हालांकि इसका मतलब यह होगा कि आपको खुद पर निर्भरता का समाधान करना होगा ... और इसमें क्या मजा होगा?

    डायनेमिक लाइब्रेरी फ़ाइलों को प्राप्त करना ("lib" s)
    Opkg वर्क करने के लिए आवश्यक "lib" फाइलें, OpenWRT वितरण का हिस्सा हैं। उन्हें प्राप्त करने के लिए, किसी को उन्हें उक्त वितरण के "रूट फाइलसिस्टम" से निकालना होगा.

    1. ऐसा करने के लिए, OpenWRT डिस्टर्बेंस के लिए नवीनतम मूल "रूट फाइलसिस्टम" डाउनलोड करें जिसमें OpenWRT प्रोजेक्ट ट्रंक से आवश्यक "लीबी" समाहित है:

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

    2. इसका उपयोग करके निकालें:

      टार xvzf ओपनरट-आर्-एक्सएक्सएक्सएक्स-जेनेरिक-रूटफ़्स.टार.जी

    3. "JFSS" के "libs" फाइलों को "JFFS" से ऊपर खींचे गए "libs" फ़ाइलों को कॉपी करें, जबकि उनकी विशेषताओं और प्रतीकात्मक लिंक को संरक्षित करते हुए:

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

      ध्यान दें: आपको यह कहते हुए संदेश मिलेंगे कि उप-निर्देशिकाओं को छोड़ा जा रहा है। जैसा कि हम कुछ भी नहीं है, लेकिन "lib" फ़ाइलों की जरूरत है, यह ठीक है और आप इन संदेशों को सुरक्षित रूप से अनदेखा कर सकते हैं.

    LD_LIBRARY "पथ" को ठीक करना
    हमें राउटर को बताने की जरूरत है, जहां साझा पुस्तकालयों (एफबीआई) के लिए हम केवल "इंस्टॉल" करें और इसके लिए यह करने की आवश्यकता है से पहले जो फर्मवेयर के साथ आए थे.

    1. ऐसा करने के लिए LD_LIBRARY पर्यावरण चर को मैन्युअल रूप से (अभी के लिए) सेट करें, ताकि वह ऐसा स्थान बना सके जहां हमने नई लिबास फ़ाइलों को कॉपी किया था जो "PATH" में पहला होगा।

      निर्यात LD_LIBRARY_PATH = / jff / usr / lib: $ LD_LIBRARY_PATH

    पढ़ें-लेखन योग्य "/ आदि"
    हम JFFS को "/ etc" कॉपी करने जा रहे हैं और फिर रेगुलर "/ etc" माउंट पॉइंट बनाते हैं, इसे इंगित करते हैं। ऐसा करने से, दोनों संभावनाओं की दुनिया खोल देंगे, क्योंकि "/ etc" पढ़ने योग्य हो जाएगा (जो मैं व्यक्तिगत रूप से 7 साल के लिए देने या लेने के लिए इंतजार कर रहा हूं) और इस व्यवहार की अपेक्षा करने वाले पैकेजों को सक्षम करने के लिए, सही ढंग से काम करने के लिए.

    1. "/ Etc" रखने वाली निर्देशिका बनाएँ:

      mkdir -p / jffs / geek / etc

    2. सभी उपनिर्देशिकाओं, फ़ाइल विशेषताओं और प्रतीकात्मक लिंक को संरक्षित करते हुए "संपूर्ण /" की पूरी तरह से प्रतिलिपि बनाएँ.

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

    3. मैन्युअल रूप से (अभी के लिए) "बांधो माउंट" "/ आदि" निर्देशिका JFFS एक करने के लिए:

      माउंट-बाइ बाँध / जेफ / geek / etc / / etc /

    ऑप्टवेयर निर्देशिका सेट करें ("/ ऑप्ट")
    OpenWRT से Opkg, राउटर के फर्मवेयर के निर्माण के समय उपयोग किए जाने की उम्मीद करता है। ऐसे समय में, FileSystem अभी तक राउटर पर नहीं है, और इस प्रकार अभी भी परिवर्तन के अधीन है, FileSystem पर किसी भी स्थान पर इंस्टॉल करने में कोई समस्या नहीं है। यही कारण है कि Opkg विन्यास फाइल संकुल को फाइल सिस्टम के "रूट" (/) पर स्थापित करता है। हालाँकि, हम Opkg का उपयोग कर रहे हैं बाद राउटर पर फर्मवेयर बनाया और स्थापित किया गया था, और जैसा कि हम फाइल-सिस्टम की जड़ को पढ़ने-लिखने योग्य नहीं बदल सकते हैं, हम सभी प्रतिष्ठानों को "/ ऑप्ट" के तहत स्थापित करने के लिए इंगित करेंगे। हालाँकि वर्तमान में "/ ऑप्ट" भी राउटर के फर्मवेयर पर केवल-पढ़ने के लिए स्थान बताता है। इसे दूर करने के लिए, हम JFFS को “/ ऑप्ट” बिंदु बनाएंगे, जो कि पढ़ने-लिखने योग्य है.

    1. ऐसा करने के लिए, वह निर्देशिका बनाएं जिसमें ऑप्टवेयर पैकेज होंगे:

      mkdir -p / jffs / opt

    2. मैन्युअल रूप से (अभी के लिए) JFFS के लिए "/ ऑप्ट" निर्देशिका को "माउंट माउंट" करें:

      माउंट-बाइ बाँध / jffs / ऑप्ट / / ऑप्ट /

      नोट: जबकि इस गाइड के दायरे से परे है, अधिक उन्नत उपयोगकर्ता HD को इंगित करने के लिए इस आरोह बिंदु को बदलना चाह सकते हैं.

    Opkg कॉन्फ़िगरेशन फ़ाइल को समायोजित करना
    हम चाहते हैं कि Opkg कॉन्फ़िगरेशन फ़ाइल वही हो, जहाँ Opkg इसके लिए डिफ़ॉल्ट रूप से खोज करता है (जो "/ etc" है) और "ऑप्ट" में इंस्टॉल करने के लिए समायोजित किया गया है.

    1. ऐसा करने के लिए, Opkg पैकेज द्वारा स्थापित opkg कॉन्फ़िगरेशन फ़ाइल को पढ़ने-लिखने योग्य "/ etc" स्थान पर ले जाएँ:

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

    2. ऑप्टवेयर इंस्टॉलेशन के लिए गंतव्य को "रूट" के बजाय "/ ऑप्ट" में बदलें (/).
      ऐसा करने के लिए, "vi" संपादक या WinSCP के साथ "/ etc /" पर जाएँ और "opkg.conf" फ़ाइल की सामग्री बनाएँ:

      vi /etc/opkg.conf

      इसे ऐसे बनाएं:

      src / gz स्नैपशॉट http://downloads.openwrt.org/snapshots/trunk/ar71sh/nages
      रूट रूट / ऑप्ट
      भाग्य राम / tmp
      list_dir ext / var / opkg-सूचियाँ
      ऑप्शन overlay_root / ओवरले

      ध्यान दें: आप "list_dir" निर्देश को किसी स्थान पर इंगित करने के लिए बदल सकते हैं जो RAM में नहीं है, बल्कि JFFS पर है। हालांकि इससे आपको सूचियों को अपडेट करने से राहत मिलेगी, इससे पहले कि आप अतिरिक्त सॉफ़्टवेयर स्थापित कर सकें (यदि आपका राउटर पिछली बार से रिबूट हो गया है), तो आपको लगभग 1.5MB का स्कोर्स JFFS स्पेस खोना होगा और आप इसके अपरदन के लिए कंपाउंडिंग करेंगे.

    हेलो बेबी
    आपको यह देखने में सक्षम होना चाहिए कि अपडेट और सूचियों को जारी करके Opkg काम कर रहा है.

    1. यदि सब कुछ ठीक हो गया है, तो आपको यह देखना चाहिए कि Opkg सूचियाँ त्रुटि के बिना अपडेट की गई हैं और आप स्क्रिप्ट को अगले चरण में लागू करने के लिए तैयार हैं:

      opkg अद्यतन; opkg सूची

    2. भंडार पर उपलब्ध पैकेजों की खोज शुरू करने के लिए समय निकालें… .

    स्टार्टअप स्क्रिप्ट
    अब हमें इसे बनाने की आवश्यकता है ताकि राउटर बूट होने पर सभी आवश्यक बढ़ते और पथ-इन स्वचालित रूप से हो जाएंगे। उस अंत तक, हमने आपके लिए, यह इनिशियलाइज़ेशन geek-init स्क्रिप्ट बनाई है.

    1. डाउनलोड करें, फिर इसे निकालें और इसे "/ jff / geek / etc /" के नीचे रखें। (WinSCP के साथ ऐसा करने पर विचार करें).
    2. WinSCP के साथ उसके गुणों में जाने या निष्पादित करने के लिए स्क्रिप्ट को निष्पादन योग्य बनाएं:

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

    3. वेबजीयूआई का उपयोग करके राउटर के स्टार्टअप पर स्क्रिप्ट निष्पादित करें। प्रशासन के तहत -> कमांड, पाठ बॉक्स में, डाला:

      /jffs/geek/etc/geek-init.sh वेब-गुई

      और "स्टार्टअप सहेजें" पर क्लिक करें.

    टायर को मारना
    यदि सबकुछ ठीक हो गया है, तो आपको अब राउटर को रिबूट करने में सक्षम होना चाहिए और अभी भी ओप्पो पैकेज प्रबंधक का उपयोग करना चाहिए। वह है एप्लिकेशन को अपडेट, लिस्ट और इंस्टॉल करना.
    चलो परीक्षण करते हैं कि सब कुछ "नेटस्टैट" कमांड को स्थापित करके काम कर रहा है, जो किसी कारण से डीडी-डब्ल्यूआरटी के बिल्ड से हाल ही में छोड़ दिया गया है। इससे पहले कि हम ऐसा करते हैं, टर्मिनल में netstat कमांड को निष्पादित करें और आप देखेंगे कि आपको शेल से एक त्रुटि द्वारा grated किया गया है, "-sh: netstat: not found".

    1. आपका पहला कदम हमेशा होगा, Opkg सूचियों को अद्यतन करने के लिए, जैसा कि भंडार से नवीनतम संकुल सूची के लिए है:

      opkg अद्यतन

    2. यदि आप नहीं जानते कि किस पैकेज में "netstat" कमांड है, तो आप परिणाम का उपयोग करके फ़िल्टर कर सकते हैं.

      opkg सूची | grep netstat

    3. और अब "नेटस्टैट" का उपयोग कर स्थापित करें:

      opkg स्थापित नेट-टूल्स-नेटस्टैट

      और अब, जब आप netstat कमांड को फिर से निष्पादित करते हैं तो यह काम करता है ... नीम हा? :)

    भविष्य के लेख जिसमें हम इस पद्धति का उपयोग करके सॉफ़्टवेयर पैकेजों को स्थापित और कॉन्फ़िगर करेंगे, क्या आपके पास गीक मस्ती के टन हो सकते हैं, जो अब तक आपकी उंगलियों पर मौजूद सॉफ़्टवेयर की विशाल मात्रा की खोज कर रहे हैं.


    यदि इस तरह की मशीन एक आभासी असंभव है, तो यह तार्किक रूप से एक परिमित अनुचितता होनी चाहिए। तो मुझे बस इतना करना है कि एक काम करना है कि यह कितना अनुचित है, उस आकृति को परिमित अनुपयुक्तता जनरेटर में फ़ीड करें, इसे वास्तव में गर्म चाय का एक ताजा कप दें और इसे चालू करें ... ... एक बात वे वास्तव में पसंद नहीं है, एक "स्मार्ट-गधा" है.