Ich verwende busybox in einem eingebetteten System und möchte dessen Version überprüfen. Wie überprüfe ich die Busybox-Version in der Busybox?
Rufen Sie die Busybox-Binärdatei als auf busybox
, und Sie erhalten eine Zeile mit der Busybox-Version, ein paar weiteren Flusen und die Liste der in der Binärdatei enthaltenen Dienstprogramme.
busybox | head -1
Die meisten Dienstprogramme zeigen eine Verwendungsmeldung an, wenn Sie sie --help
mit der Versionsnummer in der ersten Zeile aufrufen .
ls --help 2>&1 | head -1
Sie können die Version auf jedem System überprüfen, auf dem busybox ausgeführt wird, indem Sie einen der Befehle mit dem --help
Flag ausführen , um die Verwendung anzuzeigen . Die erste Zeile der Verwendungsaufrufe enthält einen Hinweis zur Busybox-Version:
$ cat --help
BusyBox v1.18.4 (2011-03-13 15:36:03 CET) multi-call binary.
Usage: cat [FILE]...
Concatenate FILEs and print them to stdout
Wenn Sie nicht busybox ausführen, aber es auf Ihrem System installiert haben, können Sie dies überprüfen, indem Sie eines der folgenden Dienstprogramme instanziieren:
$ busybox cat --help
(Edit: Wie Gilles bemerkt , kann man die Busybox-Binärdatei auch ohne Befehl aufrufen und erhält den gleichen Header)
Zuletzt gibt es noch einen Hinweis am Ende der Manpage, aus welcher Version es stammt:
$ man busybox | tail -n 1
version 1.18.4 2011-03-13 BUSYBOX(1)
cat --version
darauf tippe, zeigt escat: unrecognized option '--version'
.ls --version
mit dem gleichen Ergebnis versuchtls: unrecognized option '--version'
busybox
am sinnvollsten , die Binärdatei direkt auszuführen . Meins funktioniert nur aus dem gleichen Grund und wirft außerdem einen Fehler. Ich werde es korrigieren.--help
statt--version
:)Meldet es nicht die Version, wenn Sie eine Verbindung herstellen,
dh
oder laufen (zum Beispiel)
quelle