Ich habe die berühmte Unix Recovery Legend gelesen und mich gefragt:
Wenn ich eine BusyBox-Shell geöffnet hätte und die BusyBox-Binärdatei selbst gelöscht würde, wäre ich dann weiterhin in der Lage, alle in der BusyBox-Binärdatei enthaltenen Befehle zu verwenden?
Es ist klar, dass ich die BB-Version dieser Befehle nicht von einer anderen laufenden Shell wie zum Beispiel verwenden könnte bash
, da die BusyBox-Datei selbst nicht bash
zum Öffnen und Ausführen verfügbar wäre . Aber innerhalb der laufenden Instanz von BusyBox scheint es für mich zwei Methoden zu geben, mit denen BB einen Befehl ausführen kann:
- Es könnte eine neue Instanz von BusyBox auflösen und ausführen, indem es sie unter dem entsprechenden Namen aufruft - und dazu die BusyBox-Datei von der Festplatte liest.
- Es könnte eine interne Logik zum Ausführen des angegebenen Befehls aufteilen und ausführen (z. B. durch Ausführen als Funktionsaufruf).
Wenn (1) die Art und Weise ist, wie BusyBox funktioniert, würde ich erwarten, dass bestimmte von BusyBox bereitgestellte Befehle in einer laufenden Instanz von BB nicht mehr verfügbar sind, nachdem die BB-Binärdatei gelöscht wurde.
Wenn (2) so funktioniert, kann BusyBox auch zur Wiederherstellung eines Systems verwendet werden, auf dem BB selbst gelöscht wurde - vorausgesetzt, es ist noch eine laufende Instanz von BusyBox verfügbar.
Ist das irgendwo dokumentiert? Wenn nicht, gibt es eine Möglichkeit, es sicher zu testen?
PATH
deaktiviert wurden. Nimmt es einen Standardwert von an PATH
?
is there a way to safely test it?
Laden Sie das generische x86openwrt
Bild und fügen Sie das Bild auf ein neuen VirtualBox Maschine