Били ли сте някога да имате допълнителни функции като Email, Bit-торент или дори MySQL директно във вашия рутер? Е, може би сега можете. Как да Geek гмурка в как да инсталирате Opkg софтуер на DD-WRT.
Изображение от Жан Спектър и Авиад Равив
Ако все още не сте го направили, бъдете сигурни и проверете предишните статии от поредицата:
Ако приемете, че сте запознати с тези теми, продължавайте да четете. Имайте предвид, че това ръководство е малко по-технически и начинаещите трябва да внимават, когато модифицират маршрутизатора си.
Наскоро закупих нов Buffalo WZR-HP-AG300H, който се предлага с преименувана версия на DD-WRT. Поради факта, че този маршрутизатор има USB порт, незабавно свързах HD и се опитах да използвам ръководството за wiki "Optware, The Right Way". За съжаление бързо намерих, че маршрутизаторът, който получих, е базиран на Atheros и скриптът от тази страница, не го поддържа. Така че започнах да копая (както винаги го правех) и срещнах няколко ръководства (1, 2, 3 и 4), които имаха за цел да обяснят как да се работи ръчно с Opkg. Въпреки че техният принос (освен други източници в мрежата) към това ръководство е безценен, някои от инструкциите (IMHO) просто не са достатъчно ясни. Например, да ви даде "lib" файлове риба, но не ви научи как да го рибата от източника. Също така трябва да се възползва от Linux форматиран HD или най-малко от дял от един (който всъщност дори не работи на firmwares аз съм тестван с). Ето защо почувствах необходимостта от създаване на описаната по-долу кратка, простичка и възпроизводима процедура за получаване на OpenWRT Opkg пакетен мениджър да работи по такива маршрутизатори.
Актуализация: Възможностите за монтиране на дяловете отново бяха въведени в преработената версия на 17798 алфа версията.
Opkg е пакет мениджър като apt / aptitude и yum. Той действа като заместител на Ipkg пакетен мениджър и може да бъде използван за инсталиране на софтуер като: демона BitTorrent за предаване, sender на имейл ssmtp и Knockd демон, който изпълнява скриптове след определена последователност за задействане на порт, за да назове няколко. От сайта OpenWRT:
Помощната програма opkg (ipkg fork) е лек пакет мениджър, който се използва за изтегляне и инсталиране на OpenWrt пакети от локални хранилища за пакети или такива, намиращи се в Интернет.
Opkg
опитите за разрешаване на зависимости от пакетите в хранилищата - ако това не е успешно, то ще подаде сигнал за грешка и ще прекрати инсталирането на този пакет.
Така че, използвайки Opkg, можем да инсталираме неща, като тези, които направихме с Ipkg, върху ръководството "Разгръщане още повече мощност от вашия домашен маршрутизатор". Основните разлики са:
За да допълните това ръководство, направете следното:
Забележка: Възможно е да направите това само с 2 МБ пространство за настройката, но тогава ще загубим резултата от "/ etc", за да станем четливи за писане и ще трябва да се позовем на Opkg, като в същото време определяме конфигурационния файл ръчно всеки път ... sooo lame ...
В този момент трябва да сте активирали JFFS и сте в състояние да SSH / WinSCP в рутера.
mkdir / tmp / 1
cd / tmp / 1
Използвайте Ipkg за инсталиране на Opkg
Докато ще заменим Ipkg като мениджър на пакети, ще го използваме, за да инсталираме ръчно инсталационния пакет на Opkg.
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/opkg_618-2_ar71xx.ipk
Note1: По време на това писане, 618 е последната версия, която може да бъде променена в бъдеще, така че да се коригира.
Бележка 2: Възможно е възможно единствената разлика в това ръководство да работи за други архитектури е да получите инсталатора на Opkg от приложимата архитектура за маршрутизатора ви ... но това наистина не се тества от вашите.
ipkg инсталирате opkg_618-2_ar71xx.ipk
Забележка: Ако искате, можете да инсталирате всяка опаковка в хранилището ръчно по този начин. Това обаче ще означава, че ще трябва да разрешите зависимостите от ваша страна ... и каква би била забавното в това?
Получаване на динамични библиотечни файлове ("lib" s)
Необходимите "lib" файлове, за да работят с Opkg, са част от разпределението на OpenWRT. За да ги получи, трябва да ги извлечете от "Root FileSystem" на споменатото разпространение.
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz
tar xvzf openwrt-ar71xx-generic-rootfs.tar.gz
cp -pp / tmp / 1 / lib / * / jffs / usr / lib /
Забележка: Ще получите съобщения, които показват, че под-директорите са пропуснати. Тъй като нямаме нужда от нищо освен от "lib" файлове, това е добре и можете безопасно да пренебрегнете тези съобщения.
Определяне на LD_LIBRARY "PATH"
Трябва да кажем на рутера, къде да търсим споделените библиотеки (libs), които сме инсталирали и че трябва да направи това преди тези, които дойдоха с фърмуера.
експорт LD_LIBRARY_PATH = / jffs / usr / lib: $ LD_LIBRARY_PATH
Read-writable "/ и т.н."
Ние ще копираме "/ и т.н." в JFFS и след това ще направим редовната "/ etc" mount point, сочи към него. По този начин и двете ще отворят свят на възможности, защото "/ и т.н." ще станат четливи за писане (които аз лично чаках да дадат или да вземат 7 години сега) и да позволят на пакетите, които очакват това поведение да работи правилно.
mkdir -p / jffs / geek / и т.н.
cp -a / и т.н. / * / jffs / geek / etc /
mount -o свързване / jffs / geek / etc / / etc /
Задайте директорията Optware ("/ opt")
Opkg от OpenWRT, очаква да се използва, когато е изграден фърмуер на рутера. Тъй като по това време файловата система все още не е на рутера и по този начин все още се подлага на промяна, няма проблем да се инсталира на всяко място в FileSystem. Ето защо конфигурационният файл на Opkg сочи пакети, които да се инсталират в "root" (/) на FileSystem. Използваме обаче Opkg след фърмуерът е бил инсталиран и инсталиран на рутера и тъй като не можем да променим коренчето на файловата система, за да може да се чете, ние ще посочим всички инсталации да бъдат инсталирани под "/ opt". Въпреки това в момента "/ opt" също сочи към местоположение само за четене на фърмуера на маршрутизатора. За да преодолеем това, ще направим "/ opt" да сочи към JFFS, който може да се чете.
mkdir -p / jffs / opt
mount -o свързване / jffs / opt / / opt /
Забележка: Макар и извън обхвата на това ръководство, по-напредналите потребители може да искат да променят тази точка за монтиране, за да сочат към HD.
Настройване на файла с конфигурации на Opkg
Искаме конфигурационният файл на Opkg да бъде там, където Opkg го търси по подразбиране (което е "/ etc") и се коригира, за да се инсталира в "/ opt".
mv /jffs/etc/opkg.conf / etc /
vi /etc/opkg.conf
Направете го като:
src / gz snapshots http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
корен / опт
dest ram / tmp
lists_dir ext / var / opkg-списъци
опция overlay_root / наслагване
Забележка: Можете да промените директивата "lists_dir", за да посочите местоположение, което не е в RAM, а по-скоро в JFFS. Макар че това би ви освободило от актуализирането на списъците, преди да можете да инсталирате допълнителен софтуер (ако вашият рутер е рестартиран от последния път), ще загубите около 1,5 МБ от оскъдното пространство на JFFS и ще се влошите в неговата ерозия.
Здрасти бейби
Трябва да можете да видите, че Opkg работи, като издава актуализацията и изписва командите.
opkg актуализация; opkg списък
Сценарий за стартиране
Сега трябва да го направим, така че всички необходими монтаж и пътуване ще се случи автоматично, когато рутер ботуши. За тази цел създадохме за вас този инициализиращ скрипт geek-init.
chmod + x /jffs/geek/etc/geek-init.sh
/jffs/geek/etc/geek-init.sh web-gui
И кликнете върху "Запазване на стартирането".
Удари гумите
Ако всичко върви добре, сега трябва да можете да рестартирате рутера и пак да използвате мениджъра на пакетите Opkg. Това е да актуализирате, да списвате и инсталирате приложения.
Опитайте да проверите дали всичко работи, като инсталирате командата "netstat", която по някаква причина е била пропусната от DD-WRT's builds напоследък. Преди да направим това, изпълнете командата netstat в терминала и ще видите, че сте издълбани от грешка от черупката, като казахте "-sh: netstat: not found".
opkg актуализация
opkg списък | grep netstat
opkg инсталирате net-tools-netstat
И сега, когато изпълнявате командата netstat отново работи ... чист ха? :)
Докато в бъдещите статии, в които ще инсталираме и конфигурираме софтуерни пакети, използвайки този метод, може да ви се наложи да разгледате огромното количество софтуеър, който сега е на ваше разположение.
Ако такава машина е виртуална невъзможност, логично трябва да е ограничена невъзможност. Всичко, което трябва да направя, за да направя такава, е да разбера колко невероятно е, да хранете тази фигура в генератора на неограничена невъзможност, да й дайте прясна чаша наистина горещ чай и да го включите ... ... ... Единственото, което те наистина не ми харесва, е "Smart-Ass".