דף הבית » איך ל » כיצד להתקין תוכנה נוספת על הנתב הבית שלך (DD-WRT)

    כיצד להתקין תוכנה נוספת על הנתב הבית שלך (DD-WRT)

    האם אי פעם רצה לקבל פונקציונליות נוספת כמו דואר אלקטרוני, Bit-torrent או אפילו MySQL ישירות על הנתב שלך? אז אולי עכשיו אתה יכול. כיצד לבצע חנון צולל לתוך כיצד להתקין תוכנת UPkg על DD-WRT.

    תמונה מאת ז'אן ספקטור ואביעד רביב

    אם עדיין לא עשית זאת, הקפד לבדוק מאמרים קודמים בסדרה:

    • הפעל נתב הבית שלך לתוך נתב סופר מופעל עם DD-WRT
    • כיצד להסיר פרסומות עם Pixelserv על DD-WRT

    בהנחה שאתה מכיר את הנושאים האלה, תמשיך לקרוא. זכור כי מדריך זה הוא קצת יותר טכני, ו beginners צריך להיות זהיר בעת modding הנתב שלהם.

    תלאות

    לאחרונה קניתי חדש Buffalo WZR-HP-AG300H אשר מגיע עם גרסה ממותגים מחדש של DD-WRT. בשל העובדה כי הנתב הזה יש יציאת USB, אני מיד מחובר HD וניסה להשתמש "אוטוור, הדרך הנכונה" מדריך ויקי. לרוע המזל מצאתי במהירות שהנתב שקיבלתי, מבוסס על Atheros והסקריפט מדף הוויקי, אינו תומך בו. אז התחלתי לחפור (כמו שאני תמיד עושה) ו נתקלתי כמה מדריכים (1, 2, 3 ו 4) שמטרתה להסביר כיצד להגיע Opkg עובד באופן ידני. בעוד התרומה שלהם (בין מקורות אחרים באינטרנט) למדריך זה היה רב ערך, חלק מההוראות הן (IMHO) פשוט לא ישר קדימה. לדוגמה, נותן לך את "lib" קבצים דגים, אבל לא ללמד אותך איך לדוג אותו מן המקור. גם צורך לעשות שימוש בפורמט לינוקס HD או לפחות מחיצה של אחד (אשר למעשה אפילו לא עובד על firmwares בדקתי עם). לכן, הרגשתי את הצורך ליצור את להלן תמציתי, פשוט לעקוב אחר הליך לשחזור מקבל את מנהל החבילה OpenWRT Opkg לעבוד על נתבים כאלה.

    עדכון: מחיצות הרכבה יכולת כבר reintroduced לגרסה ממותגים מחדש על 17798 אלפא לבנות.

    מה זה Opkg??

    Opkg הוא מנהל חבילה כמו aptitude / ypt. זה משמש כתחליף עבור מנהל החבילה Ipkg, וניתן להשתמש בו כדי להתקין תוכנה כגון: הדמון BitTorrent הילוכים, השולח דוא"ל ssmtp ו Knockd daemon לבצע סקריפטים לאחר יציאה מוגדרת מפעיל רצף, עד כמה שם. באתר OpenWRT:

    השירות opkg (מזלג ipkg) הוא מנהל חבילה קל משקל המשמש להוריד ולהתקין חבילות OpenWrt ממאגרי החבילות המקומי או אלה הממוקמים באינטרנט. אופג מנסה לפתור תלות בחבילות במאגרים - אם הדבר נכשל, הוא ידווח על שגיאה ויבטל את ההתקנה של אותה חבילה.

    אז באמצעות Opkg אנו יכולים להתקין דברים כמו שעשינו עם Ipkg על "לשחרר עוד יותר כוח מהבית הנתב שלך" מדריך. ההבדלים העיקריים הם:

    1. כדי לתת את הדוגמאות של SSMTP ו Knockd, שלך באמת, היה צריך להבין את התלות באופן ידני. ההליך לעשות זאת באופן ידני הוא מטריד ולא ישר מאוד קדימה. OPEG עושה זאת באופן אוטומטי.
    2. הפעם נהיה מוסיף תוכנה על גבי הקושחה כי במקום, במקום להחליף אותו. בעוד החלפת זה היה תרגיל חנון מעולה, זה היה ללא ספק: מסוכן, נוטה לבעיות, בלתי הפיך והגרוע ביותר של כל נתב ספציפי. למותר לציין כי זה פשוט יותר ובטוח יותר.

    תנאים מוקדמים

    כדי להשלים מדריך זה, שים לב:

    1. כפי שצוין לעיל, מדריך זה נוצר ונבדק על Buffalo WZR-HP-AG300H עם גרסת הקושחה "Pro" של Buffalo 17135. זה אמור לעבוד על כל נתבי Atheros (ar71xx) המבוססים על כל גרסה של DD-WRT מאותה גרסה או מעל , אבל קילומטראז שלך עשוי מאוד.
    2. יהיה עליך להפעיל SSH על הנתב, כמו גם להתקין ולהשתמש WinSCP כדי להתחבר אליו. זה הוסבר "כיצד להסיר פרסומות עם Pixelserv על DD-WRT" מדריך. למעשה, יש להניח כי אתה מסוגל לעשות כל מה שמוסבר במדריך זה.
    3. אתה צריך להיות מסוגל להתחבר לנתב באמצעות מסוף (SSH מומלץ). כמה מצביעים על איך לעשות את זה, הם על DD-WRT ויקי.
    4. שטח JFFS ו כ 4MB של שטח הודעה בפורמט ההתקנה הבסיס. שטח JFFS הוא לא רק תנאי מוקדם, זה סטופר להראות. הסיבה לכך היא, אם הנתב שלך אין לפחות את האמור לעיל 4MB של שטח פירמוט הודעה, לא תוכל להרוויח כל תועלת אמיתית ממדריך זה, ויהיה טוב יותר באמצעות "לשחרר עוד יותר כוח מהנתב הבית שלך" מדריך להתקין חבילות Ipkg ישירות לתוך הקושחה או התקנת חבילות Ipkg באופן ידני. בצע את ההוראות על "כיצד להסיר פרסומות עם Pixelserv על DD-WRT" מדריך כדי לאפשר JFFS, ולראות כמה מקום פנוי יש לך באמת לאחר הוא מעוצב.

    הערה: ניתן לעשות זאת רק עם 2MB של מקום ההתקנה, אבל אז היינו מאבדים את התוצאה של "/ etc" להיות לקריאה לכתיבה ויהיה צורך Opkg, תוך ציון קובץ התצורה באופן ידני בכל פעם ... וזה כמו sooo צולע ...  

    בואו לקבל פיצוח

    בשלב זה אתה צריך לאפשר JFFS והם מסוגלים SSH / WinSCP לתוך הנתב.

    1. פתח הפעלת מסוף לנתב.
    2. צור ספרייה זמנית שבה נפעל:

      mkdir / tmp / 1
      cd / tmp / 1

    השתמש Ipkg להתקין Opkg
    בעוד אנחנו הולכים להחליף Ipkg כמנהל החבילה, נשתמש בו כדי להתקין ידנית את חבילת ההתקנה Opkg.

    1. לשם כך, הורד את חבילת ההתקנה של UPkg עבור הארכיטקטורה ar71xx מגזע הפרויקט OpenWRT:

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

      הערה 1: בזמן כתיבת שורות אלה, 618 היא הגרסה האחרונה, זה עשוי להיות כפוף לשינוי בעתיד, כך להתאים בהתאם.
      פתק 2: זה עשוי להיות אפשרי כי ההבדל היחיד בקבלת מדריך זה לעבוד עבור ארכיטקטורות אחרות היא לקבל את המתקין Opkg מן הארכיטקטורה הרלוונטית עבור הנתב שלך ... אבל זה לא נבדק על ידי שלך באמת.

    2. הפעל Ipkg כדי להתקין באופן ידני OPEG באמצעות:

      להתקין

      הערה: אתה יכול, אם אתה רוצה גם, להתקין את כל החבילה במאגר באופן ידני בדרך זו. עם זאת זה אומר שאתה תצטרך לפתור את התלות שלך ... ומה יהיה כיף בזה?

    קבלת קבצי הספרייה הדינמית ("lib" s)
    את הקבצים "lib" הנדרשים לעשות עבודה OPEG, הם חלק הפצה OpenWRT. כדי להשיג אותם, יש לחלץ אותם מן "שורש FileSystem" של ההפצה אמר.

    1. כדי לעשות זאת, להוריד את הבסיסית האחרונה "שורש FileSystem" עבור distrebution openWRT המכיל את הנדרש "lib" s מן הגזע פרויקט OpenWRT:

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

    2. חלץ אותו באמצעות:

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

    3. העתק את "libs" קבצים מתוך "rootfs" שחילצנו לעיל לספרייה "libs" על JFFS שלנו, תוך שמירה על התכונות שלהם ואת הקישורים הסמלי:

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

      הערה: אתה תקבל הודעות אומר כי תת ספריות מושמטים. כפי שאנחנו לא צריכים שום דבר מלבד "lib" קבצים, זה בסדר ואתה יכול להתעלם בבטחה הודעות אלה.

    תיקון LD_LIBRARY "PATH"
    אנחנו צריכים להגיד את הנתב, איפה לחפש את הספריות המשותפות (libs) אנחנו פשוט "מותקן" וכי הוא צריך לעשות את זה לפני אלה שהגיעו עם הקושחה.

    1. לשם כך, הגדר את משתנה הסביבה LD_LIBRARY באופן ידני (לעת עתה), כדי להפוך אותו למיקום שבו העתקנו את קבצי ה- lib החדשים יהיה הראשון ב- "PATH":

      ייצוא LD_LIBRARY_PATH = / jffs / usr / lib: $ LD_LIBRARY_PATH

    קריאה לקריאה "/ etc"
    אנחנו הולכים להעתיק "/ וכו '" כדי JFFS ולאחר מכן להפוך את הרגיל "/ וכו' נקודת הר, הצבע על זה. כך, הן יפתחו עולם של אפשרויות, כי "/ etc" יהפכו לקריאה-כתיבה (שאותה אני אישית מחכה לתת או לוקח 7 שנים) ומאפשרים חבילות שמצפות להתנהגות זו, לעבוד בצורה נכונה.

    1. צור את הספריה שתחזיק "/ etc":

      mkdir -p / jffs / חנון / וכו '

    2. רקורסיבית להעתיק את כל "/ etc" תוך שמירה על כל תיקיות המשנה, תכונות הקובץ וקישורים סמליים.

      cp -a / etc / * / jffs / חנון / etc /

    3. באופן ידני (לעת עתה) "לאגד את" הספרייה "/ etc" ל- JFFS אחת:

      mount-bind / jffs / חנון / etc / / etc /

    הגדר את ספריית ה- Optware ("/ opt")
    OPEG מ OpenWRT, מצפה לשמש כאשר הקושחה של הנתב בנוי. נכון לעכשיו, FileSystem אינו על הנתב עדיין, ולכן עדיין כפוף לשינוי, אין בעיה בהתקנה לכל מיקום על FileSystem. זו הסיבה שקובץ התצורה של Opkg מציין חבילות להתקנה על השורש (/) של FileSystem. עם זאת, אנו משתמשים ב- OPEG לאחר הקושחה נבנתה והותקנה על הנתב, וכמו שאנחנו לא יכולים לשנות את השורש של מערכת הקבצים להיות לקריאה- writeable, נוכל להצביע על כל ההתקנות להיות מותקן תחת "/ opt". עם זאת, נכון לעכשיו "/ opt" מצביע על מיקום לקריאה בלבד בקושחה של הנתב. כדי להתגבר על זה, אנו נעשה "/ opt" הצבע על JFFS, אשר לקריאה-כתיבה.

    1. לשם כך, צור את הספריה שתכיל את חבילות ה- Optware:

      mkdir -p / jffs / opt

    2. באופן ידני (לעת עתה) "לאגד את" הספרייה "/ opt" ל- JFFS אחת:

      mount-bind / jffs / opt / / opt /

      הערה: מעבר לטווח של מדריך זה, משתמשים מתקדמים יותר אולי תרצה לשנות את נקודת ההר, כדי להצביע על HD.

    התאמת קובץ התצורה של Opkg
    אנו רוצים שקובץ התצורה של Opkg יהיה היכן ש- Opkg יחפש אותו כברירת מחדל (שהוא "/ etc") ומותאם להתקנה ל- "/ opt".

    1. לשם כך, העבר את קובץ ההגדרות של opkg המותקן על-ידי חבילת OPkg למיקום הקריא וכתוב "/ etc":

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

    2. שנה את היעד עבור התקנות של Optware כדי להיות "/ opt" במקום "root" (/).
      כדי לעשות זאת, עם עורך "vi" או WinSCP לנווט "/ etc /" ולהפוך את התוכן "opkg.conf" של הקובץ:

      vi /etc/opkg.conf

      תן לזה להיראות כך:

      src / gz תמונות http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
      חור השורש / opt
      הר
      רשימות_dir ext / var / opkg-list
      כיסוי שכבת על אופציונלי / שכבת על

      הערה: באפשרותך לשנות את ההנחיה "lists_dir" כדי להצביע על מיקום שאינו ב- RAM, אלא ב- JFFS. אמנם זה היה להקל עליך לעדכן את הרשימות, לפני שתוכל להתקין תוכנה נוספת (אם הנתב שלך הוא מאותחל מהפעם האחרונה), היית מאבד על 1.5MB של שטח JFFS מצומצם ואתה תהיה הרכבה לשחיקה שלה.

    שלום מותק
    אתה אמור להיות מסוגל לראות כי Opkg פועלת על ידי הנפקת העדכון ורשימות פקודות.

    1. אם הכל הלך טוב אתה צריך לראות את רשימות Opkg עודכנו ללא שגיאה ואתה מוכן ליישם את התסריט בשלב הבא:

      עדכון opkg; רשימת opkg

    2. קח את הזמן להתחיל לחקור את החבילות הזמינות על המאגר ... .

    סקריפט הפעלה
    עכשיו אנחנו צריכים לעשות את זה כל כך נדרש הרכבה נתיב- ing יקרה באופן אוטומטי כאשר אתחול המגפיים. לשם כך, יצרנו עבורך, אתחול זה חנון- init script.

    1. הורד, ולאחר מכן לחלץ אותו ומקם אותו תחת "/ jffs / geek / etc /". (שקול לעשות זאת עם WinSCP).
    2. הפוך את הסקריפט הפעלה על ידי כניסה הנכסים שלה עם WinSCP או ביצוע:

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

    3. הפוך את התסריט לבצע על ההפעלה של הנתב, באמצעות WebGUI. תחת מינהל -> פקודות, בתיבת הטקסט, לשים:

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

      ולחץ על "שמור אתחול".

    בועט בצמיגים
    אם הכל הלך טוב, עכשיו אתה אמור להיות מסוגל לאתחל את הנתב ועדיין להשתמש מנהל החבילה Opkg. כלומר לעדכן, לרשום ולהתקין יישומים.
    מאפשר בדיקה כי הכל עובד על ידי התקנת הפקודה "netstat", אשר מסיבה כלשהי הושמט מן DD-WRT בונה לאחרונה. לפני שאנחנו עושים את זה, לבצע את הפקודה netstat בטרמינל ואתה תראה כי אתה מגורד על ידי שגיאה מן הקליפה, אומר "-ש: netstat: לא נמצא".

    1. הצעד הראשון שלך יהיה תמיד, לעדכן את רשימות Opkg, כדי לקבל את רשימת החבילות העדכניות ביותר מן המאגר:

      עדכון

    2. אם אינך יודע איזו חבילה מכילה את הפקודה "netstat", תוכל לסנן את התוצאות באמצעות.

      רשימת opkg grep

    3. ועכשיו להתקין "netstat" באמצעות:

      opkg להתקין net-tools-netstat

      ועכשיו, כאשר אתה מבצע את הפקודה netstat שוב זה עובד ... חה מסודר? :)

    עד המאמרים בעתיד שבו אנו יתקין ולהגדיר חבילות תוכנה באמצעות שיטה זו, ייתכן שיש לך טונות של כיף חנון לחקור את כמות עצומה של התוכנה, כי הוא עכשיו ממש על האצבע טיפים.


    אם מכונה כזו היא בלתי אפשרית וירטואלית, היא חייבת להיות הגיונית סופית. אז כל מה שאני צריך לעשות כדי לעשות אחד הוא להבין איך בדיוק זה בלתי סביר, להאכיל את הדמות לתוך הגנרטור סבירות סופית, לתת לו כוס תה חם באמת ולהפוך אותו ... הדבר היחיד שהם באמת לא אוהב, הוא "חכם- Ass".