Czy kiedykolwiek chciałeś mieć dodatkowe funkcje, takie jak e-mail, Bit-torrent, a nawet MySQL bezpośrednio na routerze? Cóż, może teraz możesz. How-To Geek opisuje jak zainstalować oprogramowanie Opkg na DD-WRT.
Zdjęcie: Jean Spector i Aviad Raviv
Jeśli jeszcze tego nie zrobiłeś, zapoznaj się z poprzednimi artykułami z serii:
Zakładając, że znasz te tematy, czytaj dalej. Należy pamiętać, że ten przewodnik jest nieco bardziej techniczny, a początkujący powinni zachować ostrożność podczas modyfikowania swojego routera.
Niedawno kupiłem nowy Buffalo WZR-HP-AG300H, który jest dostarczany z re-brandowaną wersją DD-WRT. Z racji tego, że router ten ma port USB, natychmiast podłączyłem HD i próbowałem użyć przewodnika wiki "Optware, The Right Way". Niestety szybko odkryłem, że router, który mam, jest oparty na Atheros i skrypt z tej strony wiki, nie obsługuje go. Zacząłem więc kopać (jak zawsze) i natknąłem się na kilka przewodników (1, 2, 3 i 4), które miały na celu wyjaśnienie, jak sprawić, by Opkg działał ręcznie. Chociaż ich wkład (między innymi źródłami w Internecie) do tego przewodnika był nieoceniony, niektóre instrukcje są (IMHO) po prostu nie dość proste. Na przykład dajesz plik "lib", ale nie nauczysz się go łowić ze źródła. Konieczne jest także użycie HD w formacie Linux lub przynajmniej jednej partycji (która nawet nie działa na oprogramowaniu firmowym, z którym testowałem). Właśnie dlatego poczułem potrzebę stworzenia poniższej, zwięzłej, prostej do naśladowania i powtarzalnej procedury pozwalającej menedżerowi pakietów OpenWRT Opkg działać na takich routerach.
Aktualizacja: Funkcja montowania partycji została ponownie wprowadzona do wersji rebrandingowej w wersji 17798 alfa.
Opkg jest menedżerem pakietów, takim jak apt / aptitude i yum. Działa jako zamiennik dla menedżera pakietów Ipkg i może być używany do instalowania oprogramowania, takiego jak: demon Transmission BitTorrent, nadawca e-mail ssmtp i Knockd demon, który wykonuje skrypty po określonej sekwencji wyzwalania portu, aby wymienić tylko kilka. Z witryny OpenWRT:
Narzędzie opkg (fork ipkg) jest lekkim menedżerem pakietów służącym do pobierania i instalowania pakietów OpenWrt z lokalnych repozytoriów pakietów lub znajdujących się w Internecie.
Opkg
próbuje rozwiązać zależności z pakietami w repozytoriach - jeśli to się nie powiedzie, zgłosi błąd i przerwie instalację tego pakietu.
Używając Opkg możemy instalować rzeczy takie, jak zrobiliśmy z Ipkg w przewodniku "Uwolnij nawet więcej mocy z twojego routera domowego". Główne różnice to:
Aby wypełnić ten przewodnik, należy pamiętać o następujących kwestiach:
Uwaga: Można to zrobić za pomocą tylko 2 MB miejsca na instalację, ale wtedy stracilibyśmy wynik "/ etc", który stałby się zapisywalnym do odczytu i musiałby wywołać Opkg, przy ręcznym określaniu pliku konfiguracyjnego za każdym razem ... co jest jak sooo lame ...
W tym momencie powinieneś włączyć JFFS i móc SSH / WinSCP do routera.
mkdir / tmp / 1
cd / tmp / 1
Użyj Ipkg, aby zainstalować Opkg
Podczas gdy zamierzamy zastąpić Ipkg jako menedżera pakietów, będziemy go używać do ręcznego instalowania pakietu instalacyjnego Opkg.
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/opkg_618-2_ar71xx.ipk
Notatka 1: W chwili pisania tego artykułu, 618 jest najnowszą wersją, może to ulec zmianie w przyszłości, więc odpowiednio się dostosuj.
Uwaga 2: Być może jedyną różnicą w uzyskaniu tego poradnika dla innych architektur jest uzyskanie instalatora Opkg z odpowiedniej architektury dla twojego routera ... jednak nie jest to prawdą.
ipkg zainstaluj opkg_618-2_ar71xx.ipk
Uwaga: Możesz także, jeśli chcesz, ręcznie zainstalować każdy pakiet w repozytorium w ten sposób. Jednak to oznaczałoby, że będziesz musiał sam rozwiązać te zależności ... i co w tym będzie fajnego?
Uzyskiwanie plików biblioteki dynamicznej ("lib")
Wymagane pliki "lib" do działania Opkg są częścią dystrybucji OpenWRT. Aby je uzyskać, należy wyodrębnić je z "Root FileSystem" wspomnianej dystrybucji.
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 /
Uwaga: Otrzymasz komunikat informujący, że podkatalogi zostały pominięte. Ponieważ nie potrzebujemy niczego poza plikami "lib", jest to w porządku i można bezpiecznie zignorować te wiadomości.
Naprawianie "ŚCIEŻKI" LD_LIBRARY
Musimy poinformować router, gdzie szukać wspólnych bibliotek (bibliotek), które właśnie "zainstalowaliśmy" i że musi to zrobić przed te, które zostały dostarczone z oprogramowaniem układowym.
export LD_LIBRARY_PATH = / jffs / usr / lib: $ LD_LIBRARY_PATH
Zapis do odczytu "/ etc"
Zamierzamy skopiować "/ etc" do JFFS, a następnie zrobić zwykły punkt montowania "/ etc", wskazać go. Spowoduje to otworzenie świata możliwości, ponieważ "/ etc" stanie się gotową do odczytu (którą osobiście czekałem na przekazanie lub zabiorę 7 lat) i sprawi, że pakiety, które oczekują tego zachowania, będą działać poprawnie.
mkdir -p / jffs / geek / etc
cp -a / etc / * / jffs / geek / etc /
mount -o bind / jffs / geek / etc / / etc /
Ustaw katalog Optware ("/ opt")
Opkg z OpenWRT, spodziewa się, że będzie używany, gdy zbudowane zostanie oprogramowanie układowe routera. W tej chwili FileSystem nie jest jeszcze na routerze, a zatem wciąż może ulec zmianie, nie ma problemu z instalacją w dowolnej lokalizacji w FileSystem. Dlatego plik konfiguracyjny Opkg wskazuje pakiety do zainstalowania na "root" (/) w FileSystem. Jednak używamy Opkg po oprogramowanie wbudowane zostało zbudowane i zainstalowane na routerze, a ponieważ nie możemy zmienić katalogu głównego systemu plików, który ma być przeznaczony do odczytu, wskażemy wszystkie instalacje, które mają być zainstalowane w "/ opt". Jednak obecnie "/ opt" wskazuje również na lokalizację tylko do odczytu na oprogramowaniu rutera routera. Aby przezwyciężyć to, ustawimy "/ opt" na JFFS, który jest zapisywalny.
mkdir -p / jffs / opt
mount -o bind / jffs / opt / / opt /
Uwaga: poza zakresem tego przewodnika bardziej zaawansowani użytkownicy mogą chcieć zmienić ten punkt instalacji, aby wskazywać na HD.
Dostosowywanie pliku konfiguracji Opkg
Chcemy, aby plik konfiguracyjny Opkg był tam, gdzie Opkg szuka go domyślnie (który jest "/ etc") i dostosowany do instalacji na "/ opt".
mv /jffs/etc/opkg.conf / etc /
vi /etc/opkg.conf
Niech wygląda tak:
src / gz snapshots http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
dest root / opt
dest ram / tmp
list_dir ext / var / opkg-list
opcja overlay_root / overlay
Uwaga: Możesz zmienić dyrektywę "lists_dir" tak, aby wskazywała lokalizację, która nie znajduje się w pamięci RAM, ale raczej na JFFS. Chociaż mogłoby to odciążyć Cię od aktualizacji list, zanim będzie można zainstalować dodatkowe oprogramowanie (jeśli router zostanie ponownie uruchomiony po raz ostatni), stracisz około 1,5 MB ograniczonej przestrzeni JFFS, a Ty będziesz się przyczyniał do jej erozji.
Cześć kochanie
Powinieneś być w stanie zobaczyć, że Opkg działa, wydając aktualizację i listę poleceń.
aktualizacja opkg; lista opkg
Skrypt startowy
Musimy teraz sprawić, aby cały wymagany montaż i ścieżka odbyły się automatycznie po uruchomieniu routera. W tym celu stworzyliśmy dla Ciebie ten skrypt inicjalizujący geek-init.
chmod + x /jffs/geek/etc/geek-init.sh
/jffs/geek/etc/geek-init.sh web-gui
I kliknij "Zapisz start".
Kopanie opon
Jeśli wszystko poszło dobrze, teraz powinieneś móc ponownie uruchomić router i nadal używać menedżera pakietów Opkg. To jest aktualizacja, lista i instalacja aplikacji.
Sprawdźmy, czy wszystko działa, instalując komendę "netstat", która z jakiegoś powodu została niedawno pominięta w kompilacjach DD-WRT. Zanim to zrobimy, uruchom polecenie netstat w terminalu, a zobaczysz, że jesteś ucieszony przez błąd z powłoki, mówiąc "-sh: netstat: not found".
Aktualizacja opkg
lista opkg | grep netstat
opkg install net-tools-netstat
A teraz, kiedy ponownie wykonasz komendę netstat, działa ... zgrabne ha? :)
Do przyszłych artykułów, w których będziemy instalować i konfigurować pakiety oprogramowania za pomocą tej metody, możesz mieć mnóstwo fajnej zabawy odkrywania ogromnej ilości oprogramowania, które jest teraz na wyciągnięcie ręki.
Jeśli taka maszyna jest wirtualną niemożliwością, musi być logicznie skończona nieprawdopodobieństwem. Więc wszystko, co muszę zrobić, aby to zrobić, to ustalić, jak dokładnie jest to nieprawdopodobne, wprowadzić tę postać do skończonego generatora nieprawdopodobieństwa, dać mu filiżankę naprawdę gorącej herbaty i włączyć ... ... ... Jedną rzecz naprawdę nie lubię, jest "Smart-Ass".