Czy kiedykolwiek chciałeś mieć dodatkowe funkcje, takie jak poczta e-mail, Bit-torrent lub 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 autorstwa Jean Spector i Aviad Raviv
Jeśli jeszcze tego nie zrobiłeś, koniecznie sprawdź poprzednie artykuły z serii:
- Zmień swój domowy router w super-zasilany router z DD-WRT
- Jak usunąć reklamy za pomocą Pixelserv na DD-WRT
Zakładając, że znasz te tematy, czytaj dalej. Pamiętaj, że ten przewodnik jest nieco bardziej techniczny i początkujący powinni zachować ostrożność podczas modyfikowania routera.
Udręki
Niedawno kupiłem nowy
Buffalo WZR-HP-AG300H
który pochodzi ze zmienioną wersją programu
DD-WRT
. Ze względu na to, że ten router ma port USB, od razu podłączyłem HD i próbowałem użyć „
Optware, właściwy sposób
”Przewodnik wiki. Niestety szybko odkryłem, że router, który otrzymałem, jest oparty na Atheros, a skrypt z tej strony wiki go nie obsługuje. Zacząłem więc kopać (jak zawsze) i natknąłem się na kilka przewodników (
1
,
2
,
3
i
4
), który miał na celu wyjaśnienie, jak sprawić, by Opkg działał ręcznie. Chociaż ich wkład (wśród innych źródeł w sieci) do tego przewodnika był nieoceniony, niektóre instrukcje są (IMHO) po prostu niewystarczająco proste. Na przykład, dając ci pliki „lib” fish, ale nie nauczysz cię, jak łowić je ze źródła. Konieczność również skorzystania z dysku twardego w formacie Linux lub przynajmniej jednej partycji (
który w rzeczywistości nie działa nawet w oprogramowaniu sprzętowym, z którym testowałem
). Dlatego poczułem potrzebę stworzenia poniższej zwięzłej, prostej do naśladowania i powtarzalnej procedury uzyskiwania pliku
OpenWRT
Menedżer pakietów Opkg do pracy na takich routerach.
Aktualizacja: Możliwość montowania partycji została przywrócona do wersji pod zmienioną marką w kompilacji 17798 alpha.
Co to jest Opkg?
Opkg to menedżer pakietów, taki jak apt / aptitude i yum. Działa jako zamiennik dla Menedżer pakietów Ipkg i może służyć do instalowania oprogramowania, takiego jak: Przenoszenie Demon BitTorrent, nadawca poczty e-mail ssmtp i Knockd demon wykonujący skrypty po określonej sekwencji wyzwalania portu, żeby wymienić tylko kilka. Z Witryna OpenWRT :
Narzędzie opkg (rozwidlenie ipkg) to lekki menedżer pakietów używany do pobierania i instalowania pakietów OpenWrt z lokalnych repozytoriów pakietów lub tych znajdujących się w Internecie.
Opkgpró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.
Więc używając Opkg możemy zainstalować rzeczy, które zrobiliśmy z Ipkg na „ Uwolnij jeszcze więcej mocy z routera domowego " przewodnik. Główne różnice to:
- Aby podać przykłady SSMTP i Knockd, naprawdę musiałeś ręcznie określić zależności. Procedura ręcznego wykonania jest uciążliwa i niezbyt prosta. Opkg robi to automatycznie.
- Tym razem będziemy dodanie oprogramowanie zamiast oprogramowania układowego, które jest zainstalowane, zamiast je zastępować. Zastąpienie go było doskonałym ćwiczeniem dla maniaków, ale bez wątpienia: niebezpieczne, podatne na problemy, nieodwracalne i co najgorsze ze wszystkich specyficzne dla routera. Nie trzeba dodawać, że jest to o wiele prostsze i bezpieczniejsze.
Wymagania wstępne
Aby ukończyć ten przewodnik, zwróć uwagę na następujące kwestie:
- Jak wspomniano powyżej, ten przewodnik został stworzony i przetestowany Buffalo WZR-HP-AG300H z oprogramowaniem „Pro” firmy Buffalo w wersji 17135. Powinien działać na każdym routerze opartym na Atheros (ar71xx) z dowolną wersją DD-WRT o tej samej lub nowszej wersji, ale przebieg może być bardzo duży.
- Będziesz musiał włączyć SSH na routerze, a także zainstalować i używać WinSCP aby się z nim połączyć. Zostało to wyjaśnione w „ Jak usunąć reklamy za pomocą Pixelserv na DD-WRT " przewodnik. W rzeczywistości zakłada się, że jesteś w stanie zrobić wszystko, co wyjaśniono w tym przewodniku.
- Musisz mieć możliwość połączenia się z routerem za pomocą terminala (zalecane jest użycie protokołu SSH). Niektóre wskazówki, jak to zrobić, znajdują się na stronie DD-WRT wiki .
- Miejsce na JFFS i około 4 MB miejsca po sformatowaniu na podstawową konfigurację. Przestrzeń JFFS to nie tylko warunek wstępny, ale także blokada pokazu. Dzieje się tak, ponieważ jeśli Twój router nie ma co najmniej wspomnianych 4 MB miejsca sformatowanego pocztą, nie odniesiesz żadnych realnych korzyści z tego przewodnika i lepiej będzie, jeśli skorzystasz z „ Uwolnij jeszcze więcej mocy z routera domowego ”Przewodnik dotyczący instalowania pakietów Ipkg bezpośrednio w oprogramowaniu sprzętowym lub ręcznego instalowania pakietów Ipkg. Postępuj zgodnie z instrukcjami na „ Jak usunąć reklamy za pomocą Pixelserv na DD-WRT ”, Aby włączyć JFFS i zobaczyć, ile faktycznie masz wolnego miejsca po jest sformatowany.
Uwaga: Jest to możliwe, mając tylko 2 MB miejsca na instalację, ale wtedy stracilibyśmy efekt „/ etc”, który stałby się dostępny do odczytu i musielibyśmy wywoływać Opkg, jednocześnie określając plik konfiguracyjny ręcznie za każdym razem… co jest jak bardzo kiepsko…
Do roboty
W tym momencie powinieneś mieć włączony JFFS i być w stanie nawiązać połączenie SSH / WinSCP z routerem.
- Otwórz sesję terminala z routerem.
-
Utwórz katalog tymczasowy, w którym będziemy pracować:
mkdir / tmp / 1
cd / tmp / 1
Użyj Ipkg, aby zainstalować Opkg
Chociaż zamierzamy zastąpić Ipkg jako menedżera pakietów, użyjemy go do ręcznej instalacji pakietu instalacyjnego Opkg.
-
Aby to zrobić, pobierz pakiet instalacyjny Opkg dla architektury ar71xx z
Pień projektu OpenWRT
:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/opkg_618-2_ar71xx.ipk
Notatka 1: W chwili pisania tego tekstu 618 jest najnowszą wersją, może to ulec zmianie w przyszłości, więc odpowiednio dostosuj.
Wymowa: Może się zdarzyć, że jedyną różnicą w uruchomieniu tego przewodnika dla innych architektur jest pobranie instalatora Opkg z odpowiedniej architektury dla routera… jednak nie jest to testowane przez Ciebie. -
Wywołaj Ipkg, aby ręcznie zainstalować Opkg przy użyciu:
ipkg zainstaluj opkg_618-2_ar71xx.ipk
Uwaga: Możesz, jeśli chcesz, ręcznie zainstalować każdy pakiet w repozytorium w ten sposób. Jednak oznaczałoby to, że będziesz musiał sam rozwiązać te zależności… i jaka byłaby w tym zabawa?
Pobieranie plików bibliotek dynamicznych („lib”)
Pliki „lib” wymagane do działania Opkg są częścią dystrybucji OpenWRT. Aby je uzyskać, należy je wyodrębnić z „Root FileSystem” wspomnianej dystrybucji.
-
Aby to zrobić, pobierz najnowszy podstawowy „Root FileSystem” dla dystrybucji openWRT, który zawiera wymagane „biblioteki z
Pień projektu OpenWRT
:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz
-
Wyodrębnij go za pomocą:
tar xvzf openwrt-ar71xx-generic-rootfs.tar.gz
-
Skopiuj pliki „libs” z „rootfs”, które wyodrębniliśmy powyżej, do katalogu „libs” na naszym JFFS, zachowując ich atrybuty i dowiązania symboliczne:
cp -Pp / tmp / 1 / lib / * / jffs / usr / lib /
Uwaga: Otrzymasz komunikaty informujące, że podkatalogi są pomijane. Ponieważ nie potrzebujemy niczego poza plikami „lib”, jest to w porządku i możesz bezpiecznie zignorować te wiadomości.
Naprawianie LD_LIBRARY_PATH ”
Musimy powiedzieć routerowi, gdzie szukać bibliotek współdzielonych (bibliotek), które właśnie „zainstalowaliśmy” i że musi to zrobić
przed
te dostarczone z oprogramowaniem układowym.
-
Aby to zrobić, ustaw ręcznie zmienną środowiskową LD_LIBRARY (na razie), tak aby lokalizacja, do której skopiowaliśmy nowe pliki lib, była pierwszą w „PATH”:
eksportuj LD_LIBRARY_PATH = / jffs / usr / lib: $ LD_LIBRARY_PATH
„/ Etc” z możliwością zapisu do odczytu
Skopiujemy „/ etc” do JFFS, a następnie utworzymy zwykły punkt montowania „/ etc”, wskażemy go. W ten sposób otworzy się cały świat możliwości, ponieważ „/ etc” stanie się możliwy do odczytu i zapisu (na co osobiście czekałem już 7 lat) i umożliwi poprawne działanie pakietów, które oczekują takiego zachowania.
-
Utwórz katalog, w którym będzie przechowywany „/ etc”:
mkdir -p / jffs / geek / etc
-
Rekursywnie kopiuj całość „/ etc”, zachowując wszystkie podkatalogi, atrybuty plików i dowiązania symboliczne.
cp -a / etc / * / jffs / geek / etc /
-
Ręcznie (na razie) „połącz montowanie” katalogu „/ etc” z katalogiem JFFS:
mount -o bind / jffs / geek / etc / / etc /
Ustaw katalog Optware („/ opt”)
Opkg z OpenWRT, oczekuje się, że będzie używany podczas tworzenia oprogramowania układowego routera. W tym czasie FileSystem nie znajduje się jeszcze na routerze i dlatego nadal może ulec zmianie, nie ma problemu z instalacją w dowolnej lokalizacji w FileSystem. Dlatego plik konfiguracyjny Opkg wskazuje pakiety do zainstalowania w katalogu głównym (/) systemu plików. Jednak używamy Opkg
po
oprogramowanie układowe zostało zbudowane i zainstalowane na routerze, a ponieważ nie możemy zmienić katalogu głównego systemu plików na możliwość odczytu i zapisu, wskażemy, aby wszystkie instalacje zostały zainstalowane pod „/ opt”. Jednak obecnie „/ opt” wskazuje również lokalizację tylko do odczytu w oprogramowaniu sprzętowym routera. Aby temu zaradzić, ustawimy „/ opt” na JFFS, który jest przeznaczony do odczytu i zapisu.
-
Aby to zrobić, utwórz katalog, który będzie zawierał pakiety Optware:
mkdir -p / jffs / opt
-
Ręcznie (na razie) „podłącz montowanie” katalogu „/ opt” do katalogu JFFS:
mount -o bind / jffs / opt / / opt /
Uwaga: poza zakresem tego przewodnika, bardziej zaawansowani użytkownicy mogą chcieć zmienić ten punkt montowania, aby wskazywał na HD.
Dostosowywanie pliku konfiguracyjnego Opkg
Chcemy, aby plik konfiguracyjny Opkg znajdował się w miejscu, w którym Opkg szuka go domyślnie (czyli „/ etc”) i dostosowany do instalacji na „/ opt”.
-
Aby to zrobić, przenieś plik konfiguracyjny opkg zainstalowany przez pakiet Opkg do lokalizacji „/ etc” z możliwością zapisu:
mv /jffs/etc/opkg.conf / etc /
-
Zmień miejsce docelowe instalacji Optware na „/ opt” zamiast „root” (/).
Aby to zrobić, za pomocą edytora „vi” lub WinSCP przejdź do „/ etc /” i utwórz zawartość pliku „opkg.conf”: