Wie überprüfe ich die Busybox-Version (von der Busybox)?

15

Ich verwende busybox in einem eingebetteten System und möchte dessen Version überprüfen. Wie überprüfe ich die Busybox-Version in der Busybox?

Tom Brito
quelle

Antworten:

14

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 --helpmit der Versionsnummer in der ersten Zeile aufrufen .

ls --help 2>&1 | head -1
Gilles 'SO - hör auf böse zu sein'
quelle
3

Sie können die Version auf jedem System überprüfen, auf dem busybox ausgeführt wird, indem Sie einen der Befehle mit dem --helpFlag 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)
Caleb
quelle
Ich verwende busybox in einem eingebetteten System. Wenn ich cat --versiondarauf tippe, zeigt es cat: unrecognized option '--version'.
Tom Brito
Ich habe es auch ls --versionmit dem gleichen Ergebnis versuchtls: unrecognized option '--version'
Tom Brito
@Tom, eigentlich hat @Gilles hier die richtige Antwort. Sie steht in der Kopfzeile von allem, was Sie ausführen. Daher ist es busyboxam sinnvollsten , die Binärdatei direkt auszuführen . Meins funktioniert nur aus dem gleichen Grund und wirft außerdem einen Fehler. Ich werde es korrigieren.
Caleb
@Tom: Ich habe meine Antwort korrigiert, benutze --helpstatt --version:)
Caleb
1

Meldet es nicht die Version, wenn Sie eine Verbindung herstellen,

dh

telnet 10.10.10.1

BusyBox v0.61.pre (2008.06.11-10:37+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

#

oder laufen (zum Beispiel)

# busybox ash

BusyBox v1.17.1 (Debian 1:1.17.1-8) built-in shell (ash)
Enter 'help' for a list of built-in commands.

#
EightBitTony
quelle