Einige Router, die mit OpenWRT geflasht sind, haben zu wenig Speicher, um größere Programme zu installieren.
Für Analysezwecke habe ich zum Beispiel das Programm „tcpdump“ benötigt, hatte dafür aber zu wenig Speicher zur Verfügung.
Da der Arbeitsspeicher des Routers aber ausreichend Ressourcen hat, installiere ich das Programm temporär.
Zunächst gebe ich das Zielverzeichnis an:
1 |
RAM_ROOT=/tmp/root |
Als nächstes müssen die Umgebungsvariablen gesetzt werden:
1 2 |
export PATH=$PATH:$RAM_ROOT/usr/bin:$RAM_ROOT/usr/sbin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$RAM_ROOT/usr/lib |
Wechseln in das Verzeichnis und Download des Paketes:
1 2 |
cd $RAM_ROOT opkg download tcpdump |
Als muss die Datei entpackt werden:
1 2 |
ls -l tar xzf <Paketname> |
Danach können die Dateien ausgepackt werden:
1 |
tar xzf data.tar.gz |
Sollten keine weiteren Dateien im $RAM_ROOT liegen, kann folgender Befehl angewendet werden, um das Verzeichnis zu bereinigen:
1 |
find . -maxdepth 1 -type f -exec rm {} \; |
Jetzt kann das Programm ausgeführt werden:
1 |
tcpdump --help |
Ggf. müssen noch fehlende Abhängigkeiten nachinstalliert werden. Das kann entweder über den gleichen Weg gemacht werden oder global installiert werden.