האם אי פעם רצית שיהיה לך פונקציונליות נוספת כמו דוא"ל, Bit Torrent או אפילו MySQL ישירות בנתב שלך? טוב אולי עכשיו אתה יכול. How-To Geek צולל כיצד להתקין תוכנת Opkg ב- DD-WRT.
תמונה מאת ז'אן ספקטור ו אביעד רביב
אם עדיין לא עשית זאת, הקפד לבדוק את המאמרים הקודמים בסדרה:
בהנחה שאתה מכיר את הנושאים האלה, המשך לקרוא. זכור כי מדריך זה מעט טכני יותר, ועל מתחילים להיזהר בעת שינוי הנתב שלהם.
צרות
קניתי לאחרונה חדש
באפלו WZR-HP-AG300H
שמגיע עם גרסה ממותגת מחדש של
DD-WRT
. בשל העובדה שלנתב זה יש יציאת USB, חיברתי מיד HD וניסיתי להשתמש ב- “
תוכנות אופטיות, הדרך הנכונה
מדריך ויקי. לרוע המזל גיליתי מהר מאוד שהנתב שקיבלתי, מבוסס על את'רוס והתסריט מאותו דף וויקי, אינו תומך בו. אז התחלתי לחפור (כמו שתמיד עושה) ונתקלתי בכמה מדריכים (
1
,
2
,
3
ו
4
) שנועדו להסביר כיצד לגרום לאופק לעבוד באופן ידני. למרות שתרומתם (בין מקורות אחרים באינטרנט) למדריך זה לא הייתה בעלת ערך רב, חלק מההוראות אינן פשוטות מספיק. לדוגמא, מתן לך את הקבצים "lib" דגים, אך אל תלמד אותך כיצד לדוג אותו מהמקור. גם צורך להשתמש ב- HD מעוצב בלינוקס או לפחות במחיצה של אחד כזה (
שלמעשה אפילו לא עובד על הקושחות שבדקתי איתן
). זו הסיבה, הרגשתי צורך ליצור את ההליך התמציתי, הפשוט למעקב ושחזור להלן
OpenWRT
מנהל החבילות של Opkg לעבוד על נתבים כאלה.
עדכון: יכולת המחיצות ההולכת וגדולה הוכנסה מחדש לגרסה המותגית מחדש ב- 17798 אלפא.
מה זה Opkg?
Opkg הוא מנהל חבילות כמו apt / aptitude ו- yum. זה משמש כתחליף ל מנהל חבילות Ipkg , וניתן להשתמש בהם להתקנת תוכנה כגון: הפצה הדמון של BitTorrent, שולח הדוא"ל ssmtp ו- נוקד שד שמבצע סקריפטים לאחר רצף הפעלת יציאה מוגדר, עד כמה שם. מ ה אתר OpenWRT :
כלי השירות opkg (מזלג ipkg) הוא מנהל חבילות קל משקל המשמש להורדה והתקנה של חבילות OpenWrt ממאגרי חבילות מקומיות או כאלה שנמצאים באינטרנט.
אופקמנסה לפתור תלות עם חבילות במאגרים - אם פעולה זו נכשלת, היא תדווח על שגיאה ותבטל את ההתקנה של אותה חבילה.
אז באמצעות Opkg נוכל להתקין דברים כמו שעשינו עם Ipkg ב- " שחרר עוד יותר כוח מהנתב הביתי שלך " להנחות. ההבדלים העיקריים הם:
- על מנת לתת את הדוגמאות של SSMTP ו- Knockd, באמת שלך, היה צריך להבין את התלות באופן ידני. ההליך לעשות זאת ידנית הוא מטריד ולא מאוד קדימה. Opkg עושה זאת באופן אוטומטי.
- הפעם נהיה מוֹסִיף תוכנה על גבי הקושחה שנמצאת במקום, במקום להחליף אותה. בעוד שהחלפתו היה תרגיל גיקים מצוין, זה היה ללא ספק: מסוכן, נוטה לבעיות, בלתי הפיך והגרוע מכל הנתב הספציפי. מיותר לציין שזה הרבה יותר פשוט ובטוח.
תנאים מוקדמים
על מנת להשלים את המדריך הזה שימו לב להוראות הבאות:
- כאמור לעיל, מדריך זה נוצר ונבדק בתאריך באפלו WZR-HP-AG300H עם גרסת הקושחה "Pro" של באפלו 17135. היא אמורה לעבוד על כל נתבים מבוססי Atheros (ar71xx) עם כל גרסה של DD-WRT מאותה גרסה ומעלה, אך הקילומטראז 'שלך עשוי מאוד.
- יהיה עליך להפעיל SSH בנתב, וכן להתקין ולהשתמש WinSCP להתחבר אליו. זה הוסבר בסעיף " כיצד להסיר פרסומות באמצעות Pixelserv ב- DD-WRT " להנחות. למעשה, ההנחה היא שאתה מסוגל לעשות את כל מה שמוסבר במדריך זה.
- אתה צריך להיות מסוגל להתחבר לנתב באמצעות מסוף (מומלץ SSH). כמה עצות כיצד לעשות זאת, מופיעות על DD-WRT וויקי .
- מקום ל- JFFS וכ- 4MB שטח מעוצב לפוסט להגדרת הבסיס. שטח JFFS הוא לא רק תנאי מוקדם, אלא פקק להראות. הסיבה לכך היא שאם לנתב שלך אין לפחות 4 מגה-בייט של שטח מעוצב פוסט, לא תרוויח שום תועלת אמיתית מהמדריך הזה, ויהיה לך טוב יותר להשתמש ב" שחרר עוד יותר כוח מהנתב הביתי שלך מדריך להתקנת חבילות Ipkg ישירות לקושחה או התקנת חבילות ה- Ipkg באופן ידני. פעל לפי ההוראות כיצד להסיר פרסומות באמצעות Pixelserv ב- DD-WRT מדריך להפעלת JFFS, ולראות כמה שטח פנוי יש לך בפועל לאחר הוא מעוצב.
הערה: אפשר לעשות זאת עם שטח של 2 מגה-בייט בלבד עבור ההתקנה, אך אז נאבד את התוצאה של "/ וכו '" שיהיה כתוב לקריאה ונצטרך להפעיל את Opkg, תוך ציון קובץ התצורה באופן ידני בכל פעם ... וזה כמו כל כך צולע ...
בואו לקבל פיצוח
בשלב זה היית צריך לאפשר JFFS ולהצליח SSH / WinSCP לנתב.
- פתח מושב מסוף לנתב.
-
צור ספריה זמנית בה נעבוד:
mkdir / tmp / 1
cd / tmp / 1
השתמש ב- Ipkg להתקנת Opkg
בזמן שאנחנו הולכים להחליף את Ipkg כמנהל החבילה, נשתמש בה להתקנה ידנית של חבילת ההתקנה של Opkg.
-
לשם כך, הורד את חבילת ההתקנה של Opkg לארכיטקטורה ar71xx מה-
תא המטען של פרויקט OpenWRT
:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/opkg_618-2_ar71xx.ipk
הערה 1: בזמן כתיבת שורות אלה 618 היא הגרסה העדכנית ביותר, ייתכן שהיא עשויה להשתנות בעתיד, לכן התאימו בהתאם.
מִבטָא: יתכן שההבדל היחיד בהשגת המדריך הזה לעבודה בארכיטקטורות אחרות הוא להביא את מתקין Opkg מהארכיטקטורה הרלוונטית עבור הנתב שלך ... אולם זה לא נבדק על ידיך באמת. -
הפעל את Ipkg להתקנה ידנית של Opkg באמצעות:
התקן ipkg opkg_618-2_ar71xx.ipk
הערה: אתה יכול, אם גם אתה רוצה, להתקין כל חבילה במאגר באופן ידני בדרך זו. עם זאת פירוש הדבר שתצטרך לפתור את התלות בעצמך ... ומה יהיה הכיף בכך?
השגת קבצי הספרייה הדינמיים ("lib")
קבצי "lib" הנדרשים בכדי לגרום ל- Opkg לעבוד, הם חלק מהפצת OpenWRT. כדי להשיג אותם, צריך לחלץ אותם מ- "Root FileSystem" של ההפצה האמורה.
-
לשם כך, הורד את "Root FileSystem" הבסיסי להפצת openWRT המכיל את "libs הנדרשים מה-
תא המטען של פרויקט OpenWRT
:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz
-
חלץ אותו באמצעות:
tar xvzf openwrt-ar71xx-generic-rootfs.tar.gz
-
העתק את קבצי "libs" מ- "rootfs" שחילצנו לעיל לספריית "libs" ב- JFFS שלנו, תוך שמירה על התכונות והקישורים הסמליים שלהם:
cp -Pp / tmp / 1 / lib / * / jffs / usr / lib /
הערה: תקבל הודעות שאומרות כי ספריות המשנה מושמטות. מכיוון שאיננו זקוקים לשום דבר מלבד קבצי "lib", זה בסדר ואתה יכול להתעלם בבטחה מהודעות אלה.
תיקון ה- LD_LIBRARY_PATH ”
עלינו לומר לנתב, היכן לחפש את הספריות המשותפות (libs) שזה עתה "התקנו" ושהוא צריך לעשות זאת
לפני
אלה שהגיעו עם הקושחה.
-
לשם כך הגדר את משתנה הסביבה LD_LIBRARY באופן ידני (לעת עתה), כדי להפוך אותו למיקום שבו העתקנו את קבצי ה- lib החדשים יהיה הראשון ב- "PATH":
ייצא LD_LIBRARY_PATH = / jffs / usr / lib: $ LD_LIBRARY_PATH
לקריאה "/ וכו '"
אנו הולכים להעתיק את "/ etc" ל- JFFS ואז להפוך את נקודת ההרכבה הרגילה של "/ etc", להצביע עליה. פעולה זו, שניהם יפתחו עולם של אפשרויות, מכיוון ש "/ וכו '" יהפוך לקריא (שאליו אני אישית חיכיתי לתת או ייקח 7 שנים עכשיו) ויאפשר לחבילות המצפות להתנהגות זו לעבוד כראוי.
-
צור את הספרייה שתחזיק "/ וכו":
mkdir -p / jffs / geek / וכו '
-
העתק רקורסיבית את מכלול "/ etc" תוך שמירה על כל ספריות המשנה, תכונות הקבצים והקישורים הסמליים.
cp -a / etc / * / jffs / geek / etc /
-
באופן ידני (לעת עתה) "bind mount" את ספריית "/ etc" לספריית JFFS:
הר -o bind / jffs / geek / etc / / etc /
הגדר את ספריית Optware ("/ opt")
Opkg מ- OpenWRT, מצפה להשתמש בו כאשר הקושחה של הנתב בנויה. נכון לשעה כזו, FileSystem עדיין לא נמצא בנתב, ולכן עדיין כפוף לשינויים, אין שום בעיה להתקין בשום מקום במערכת FileSystem. לכן קובץ התצורה של Opkg מצביע על חבילות להתקנה ל"שורש "(/) של FileSystem. עם זאת, אנו משתמשים ב- Opkg
לאחר
הקושחה נבנתה והותקנה בנתב, ומכיוון שאיננו יכולים לשנות את שורש מערכת הקבצים כך שניתן יהיה לכתוב אותה לקריאה, אנו נצביע על כל ההתקנות להתקנה תחת "/ opt". עם זאת נכון לעכשיו "/ opt" מצביע גם על מיקום לקריאה בלבד בקושחת הנתב. כדי להתגבר על זה, אנו מצביעים על "/ opt" על JFFS, שהוא כתוב לקריאה.
-
לשם כך, צור את הספרייה שתכיל את חבילות Optware:
mkdir -p / jffs / opt
-
באופן ידני (בינתיים) "bind bind" את ספריית "/ opt" לספריית JFFS:
הר -o bind / jffs / opt / / opt /
הערה: מעבר לתחום המדריך הזה, משתמשים מתקדמים יותר עשויים לרצות לשנות נקודת הרכבה זו, להצביע על HD.
התאמת קובץ התצורות של Opkg
אנו רוצים שקובץ התצורה של Opkg יהיה במקום בו Opkg מחפש אותו כברירת מחדל (שהוא "/ וכו") ומותאם להתקנתו ל "/ opt".
-
לשם כך, העבר את קובץ התצורה של opkg המותקן על ידי חבילת Opkg למיקום "/ etc" הניתן לכתיבה:
mv /jffs/etc/opkg.conf / etc /
-
שנה את היעד להתקנות Optware כך שיהיה "/ opt" במקום "root" (/).
לשם כך, בעזרת עורך "vi" או WinSCP נווט אל "/ etc /" והפוך את תוכן הקובץ "opkg.conf":