BusyBox: Unterschied zwischen den Versionen

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen
 
(30 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
{|width="40%"
 
{|width="40%"
  |[[Bild:deutsch.png]] - [[Busybox und deren Befehle|in Deutsch]]
+
  |[[Bild:deutsch.png]] - [[BusyBox|in Deutsch]]
  |[[Bild:english.png]] - [[Busybox and its commands|in English]]
+
  |[[Bild:english.png]] - [[BusyBox (en)|in English]]
 
  |}
 
  |}
== Einleitung ==
+
[[Datei:BusyBoxLogo.png|right|thumb|BusyBox Logo]]
 
 
 
Hier geht es um die Grundlagen der Busybox und den wohl meist verwendeten Befehlen die eben die Busybox beinhaltet. Ihr seid Herzlich willkommen die Erklärungen der wichtigsten Befehle mit weiter auszubauen...  
 
Hier geht es um die Grundlagen der Busybox und den wohl meist verwendeten Befehlen die eben die Busybox beinhaltet. Ihr seid Herzlich willkommen die Erklärungen der wichtigsten Befehle mit weiter auszubauen...  
  
== Busybox ==
+
== BusyBox ==
 
 
 
Die [http://de.wikipedia.org/wiki/BusyBox Busybox] ist eine [[Shell]] und beinhaltet alle bekannten Befehle der Dreambox.<br />
 
Die [http://de.wikipedia.org/wiki/BusyBox Busybox] ist eine [[Shell]] und beinhaltet alle bekannten Befehle der Dreambox.<br />
 
Um sich diese näher anzusehen verbinden wir uns erstmal per Telnet<br />
 
Um sich diese näher anzusehen verbinden wir uns erstmal per Telnet<br />
Zeile 19: Zeile 17:
 
<br />
 
<br />
  
Und geben hier nun den Befehl "busybox" ein, daraufhin werden uns die<br />
+
Und geben hier nun den Befehl "<code>busybox</code>" ein, daraufhin werden uns die<br />
 
bekannten Linuxbefehle die die Dreambox kennt aufgelistet.<br />
 
bekannten Linuxbefehle die die Dreambox kennt aufgelistet.<br />
  
Zeile 30: Zeile 28:
 
Was ein Befehl kann bzw. für was man diesen einsetzten könnte erfährt man, indem<br />
 
Was ein Befehl kann bzw. für was man diesen einsetzten könnte erfährt man, indem<br />
 
man diesen eintippt und seine Optionen bzw. Aussagen aufruft. Dies erfährt man<br />
 
man diesen eintippt und seine Optionen bzw. Aussagen aufruft. Dies erfährt man<br />
meist mit "-help" oder mit "-h" hinter dem Befehl.<br />
+
meist mit <code>-help</code> oder mit <code>-h</code> hinter dem Befehl.<br />
  
 
Sollte sich mal nichts tun und man kann keine Eingabe mehr machen, kann man<br />
 
Sollte sich mal nichts tun und man kann keine Eingabe mehr machen, kann man<br />
mit der Tastenkombination <Strg> + <C> das ganze abbrechen.<br />
+
mit der Tastenkombination {{Taste|Ctrl}} + {{Taste|c}} das ganze abbrechen.<br />
 
 
 
   
 
   
Der Aufruf: "chmod -help" gibt z.B. folgendes aus:
+
Der Aufruf: "<code>chmod -help</code>" gibt z.B. folgendes aus:
 +
<syntaxhighlight>
 +
root@dm800:~# chmod -help
 +
BusyBox v1.01 (2008.11.26-20:45+0000) multi-call binary
  
 +
Usage: chmod [-R] MODE[,MODE]... FILE...
  
root@dm800:~# chmod -help
+
Each MODE is one or more of the letters ugoa, one of the
BusyBox v1.01 (2008.11.26-20:45+0000) multi-call binary
+
symbols +-= and one or more of the letters rwxst.
 
Usage: chmod [-R] MODE[,MODE]... FILE...
 
 
Each MODE is one or more of the letters ugoa, one of the
 
symbols +-= and one or more of the letters rwxst.
 
 
Options:
 
        -R      Changes files and directories recursively.
 
 
  
 +
Options:
 +
        -R      Changes files and directories recursively.
 +
</syntaxhighlight>
 
   
 
   
der Aufruf: "grep -h" gibt und folgendes z.B. aus:
+
der Aufruf: "<code>grep -h</code>" gibt und folgendes z.B. aus:
 +
<syntaxhighlight>
 +
root@dm800:~# grep -h
 +
BusyBox v1.01 (2008.11.26-20:45+0000) multi-call binary
  
 +
Usage: grep [-ihHnqvs] PATTERN [FILEs...]
  
root@dm800:~# grep -h
+
Search for PATTERN in each FILE or standard input.
BusyBox v1.01 (2008.11.26-20:45+0000) multi-call binary
 
 
Usage: grep [-ihHnqvs] PATTERN [FILEs...]
 
 
Search for PATTERN in each FILE or standard input.
 
 
Options:
 
        -H      prefix output lines with filename where match was found
 
        -h      suppress the prefixing filename on output
 
        -i      ignore case distinctions
 
        -l      list names of files that match
 
        -n      print line number with output lines
 
        -q      be quiet. Returns 0 if result was found, 1 otherwise
 
        -v      select non-matching lines
 
        -s      suppress file open/read error messages
 
  
 +
Options:
 +
        -H      prefix output lines with filename where match was found
 +
        -h      suppress the prefixing filename on output
 +
        -i      ignore case distinctions
 +
        -l      list names of files that match
 +
        -n      print line number with output lines
 +
        -q      be quiet. Returns 0 if result was found, 1 otherwise
 +
        -v      select non-matching lines
 +
        -s      suppress file open/read error messages
 +
</syntaxhighlight>
  
 
== Wichtige Dreambox-Befehle ==
 
== Wichtige Dreambox-Befehle ==
Zeile 77: Zeile 71:
 
===[[Passwort ändern|passwd]]===
 
===[[Passwort ändern|passwd]]===
 
<code>passwd</code> wechselt Passwörter für User- und Gruppenaccounts. Ein Normaluser darf nur sein Passwort ändern, der Superuser darf die Passwörter aller Accounts ändern. Der Administrator einer Gruppe darf das Passwort dieser Gruppe ändern. passwd kann auch die Account-Informationen wie Kommentar, Loginshell oder Passwort-Auslaufzeiten und -intervalle ändern.
 
<code>passwd</code> wechselt Passwörter für User- und Gruppenaccounts. Ein Normaluser darf nur sein Passwort ändern, der Superuser darf die Passwörter aller Accounts ändern. Der Administrator einer Gruppe darf das Passwort dieser Gruppe ändern. passwd kann auch die Account-Informationen wie Kommentar, Loginshell oder Passwort-Auslaufzeiten und -intervalle ändern.
 
 
===init 4===
 
===init 4===
<code>init 4</code> ermöglich das Wechseln des Runlevels. Beim Aufruf des Befehl sendet init ein Stopsignal an alle Prozesse, die nicht für den neuen Runlevel definiert sind. Danach werden die Prozesse ''getötet'' und die Prozesse für den Runlevel, die noch nicht laufen, werden gestartet. Dieser Befehl ist insbesondere bei den Enigma2 Boxen hilfreich, wenn das System sich aufgehangen hat, oder wir die Vorgänge bei Enigma 2 verfolgen wollen.
+
<code>init 4</code> ermöglich das Wechseln des Runlevels. Beim Aufruf des Befehl sendet init ein Stopsignal an alle Prozesse, die nicht für den neuen Runlevel definiert sind. Danach werden die Prozesse ''getötet'' und die Prozesse für den Runlevel, die noch nicht laufen, werden gestartet. Dieser Befehl ist insbesondere bei den Enigma2 Boxen hilfreich, wenn das System sich aufgehangen hat, oder wir die Vorgänge bei Enigma2 verfolgen wollen.
 
 
 
===init 3===
 
===init 3===
<code>init 3</code> startet nach einem <code>init 4</code> (siehe oben) Enigma 2 wieder.
+
<code>init 3</code> startet nach einem <code>init 4</code> (siehe oben) Enigma2 wieder.
 
 
 
 
 
===enigma2===
 
===enigma2===
 
<code>enigma2</code> startet wie <code>init 3</code> nach einem <code>init 4</code> (siehe oben) die enigma2 wieder aber man kann in der Konsole die einzelnen Schritte verfolgen und somit evtl. Fehler besser finden.  
 
<code>enigma2</code> startet wie <code>init 3</code> nach einem <code>init 4</code> (siehe oben) die enigma2 wieder aber man kann in der Konsole die einzelnen Schritte verfolgen und somit evtl. Fehler besser finden.  
 
 
===Weitere Befehle===
 
===Weitere Befehle===
  
Zeile 94: Zeile 83:
 
   
 
   
 
'''cp:''' ist ein kopier Befehl um Daten auf der Box zu kopieren.<br />
 
'''cp:''' ist ein kopier Befehl um Daten auf der Box zu kopieren.<br />
(Beispiel: cp /tmp/DATEINAME /etc/)
+
Beispiel
 +
cp /tmp/DATEINAME /etc/
 
Zuerst wird er Ursprungsort angegeben und dann das Zielverzeichnis.  
 
Zuerst wird er Ursprungsort angegeben und dann das Zielverzeichnis.  
  
+
 
 
'''mv:''' steht für "move" als zum Datei verschieben / umbenennen <br />
 
'''mv:''' steht für "move" als zum Datei verschieben / umbenennen <br />
(Beispiel mv /etc/TESTNAME /etc/TESTNAME_NEU)
+
Beispiel:
 
+
mv /etc/TESTNAME /etc/TESTNAME_NEU
 +
 
  
 
'''[[Fdisk|fdisk:]]''' Partitionierungprogramm
 
'''[[Fdisk|fdisk:]]''' Partitionierungprogramm
Zeile 111: Zeile 102:
  
 
   
 
   
'''[[Rechte - Bedeutung und Änderung|chmod:]]''' Dateiattribure ändern (Zugriffsrechte).<br />
+
'''[[Rechte - Bedeutung und Änderung|chmod:]]''' Dateiattribure ändern (Zugriffsrechte)
(Beispiel: chmod 755 /usr/bin/mc). <br />
+
 
 +
Beispiel:
 +
chmod 755 /usr/bin/mc
 
Damit machen wir die Datei mc ausführbar.  
 
Damit machen wir die Datei mc ausführbar.  
  
Zeile 146: Zeile 139:
 
   
 
   
  
'''[[date]]:''' das Datum und die Uhrzeit anzeigen oder manuell setzen
+
'''[[date]]:''' das Datum und die Uhrzeit anzeigen oder manuell setzen.
  
  
'''[[ipkg]] list | grep dvb-modules''' ist der Befehl der die dvb-modul (treiberversion) anzeigt.
+
'''[[rdate]]:''' das Datum und die Uhrzeit über das [http://en.wikipedia.org/wiki/Time_Protocol Time Protokoll] setzen.  
  
  
'''[[ipkg]] list | grep secondstage''' ist der Befehl der die Version des secandstage anzeigt.
+
'''[[IPKG]] list | grep dvb-modules''' ist der Befehl der die dvb-modul (treiberversion) anzeigt.
 +
 
 +
 
 +
'''[[IPKG]] list | grep secondstage''' ist der Befehl der die Version des secondstage anzeigt.
  
  
Zeile 159: Zeile 155:
  
 
'''ifconfig''' ist der Befehl zum Einstellen/Auslesen von Netzwerkparametern. Mit <tt>ifconfig</tt> erhält man Informationen über die IP-Adresse, Hardwareadresse, übermittelte Datenmenge etc..
 
'''ifconfig''' ist der Befehl zum Einstellen/Auslesen von Netzwerkparametern. Mit <tt>ifconfig</tt> erhält man Informationen über die IP-Adresse, Hardwareadresse, übermittelte Datenmenge etc..
 +
 +
 +
'''opkg update && opkg upgrade''' ist der Telnet-Befehl um die Paketquellen neu einzulesen und eure Box per Telnet up zu daten...
 +
 +
== Tipps und Tricks ==
 +
=== Farbige Verzeichnisinhalte anzeigen ===
 +
Bei [[OE 2.0]] / [[OE 2.2]] / [[OE 2.5]] basierenden Images von DMM ist das Anzeigen des Verzeichnisinhalts mit dem <code>ls</code> Befehl einfarbig. Wenn ihr ein bisschen Farbe in die Shell zaubern wollt, dann gebt die folgenden beiden Befehle via [[Telnet]] oder [[SSH]] ein.
 +
<syntaxhighlight>
 +
echo 'alias ls="ls --color"' >> ~/.profile
 +
 +
source ~/.profile
 +
</syntaxhighlight>
  
 
== Weiterführende Links und Informationen ==
 
== Weiterführende Links und Informationen ==
 +
BusyBox bei [http://de.wikipedia.org/wiki/BusyBox Wikipedia]
 +
 +
[http://www.busybox.net/ Offizielle Webpräsenz] (englisch)
  
Weitere Informationen und Beispielanwendungen zu den ganzen Befehlen<br />
+
Weitere Informationen und Beispielanwendungen zu den ganzen Befehlen kann man in den verschiedenen Dreamboxforen, oder da es ja Linux ist auch in den Linuxforen bzw. Linux-Onlinehilfen wie Wikis, HowTo`s und Büchern nachlesen.
kann man in den verschiednen Dreamboxforen oder da es ja Linux ist auch in<br />
 
den Linuxforen bzw. Linux-Onlinehilfen wie Wikis, HowTo`s, Bücher nachlesen.<br />
 
  
An dieser Stelle noch ein link  ins IHAD Forum wo ein PDF mit einer Zusammenstellung <br />
+
An dieser Stelle noch ein Link ins IHAD Forum, wo ein PDF mit einer Zusammenstellung von Linuxbefehlen [http://www.i-have-a-dreambox.com/wbb2/thread.php?postid=834435#post834435] gepostet wurde, sowie folgender Link zur Beschreibung einfacher Unix Befehle [http://de.wikibooks.org/wiki/Linux-Kompendium:_Shellprogrammierung:_Beispiele_f%C3%BCr_Unix-Befehle#Einfache_Unix-Befehle]
von linux Befehlen [http://www.i-have-a-dreambox.com/wbb2/thread.php?postid=834435#post834435] gepostet wurde
 
sowie folgender link  für einfache Unix Befehle [http://de.wikibooks.org/wiki/Linux-Kompendium:_Shellprogrammierung:_Beispiele_f%C3%BCr_Unix-Befehle#Einfache_Unix-Befehle]
 
  
[[Kategorie:FAQ und Anleitungen]]
+
[[Kategorie:Software-Tool]]
[[Kategorie:Grundlagen]]
 

Aktuelle Version vom 29. September 2018, 12:23 Uhr

Deutsch.png - in Deutsch English.png - in English
BusyBox Logo

Hier geht es um die Grundlagen der Busybox und den wohl meist verwendeten Befehlen die eben die Busybox beinhaltet. Ihr seid Herzlich willkommen die Erklärungen der wichtigsten Befehle mit weiter auszubauen...

BusyBox

Die Busybox ist eine Shell und beinhaltet alle bekannten Befehle der Dreambox.
Um sich diese näher anzusehen verbinden wir uns erstmal per Telnet
wie im Kapitel Telnet drüber erklärt mit unserer Dreambox.

Wir starten das Telnet das dann so aussehen kann:

Dreambox-konsole.jpg

Und geben hier nun den Befehl "busybox" ein, daraufhin werden uns die
bekannten Linuxbefehle die die Dreambox kennt aufgelistet.

Busybox.jpg

Befehle - für was ist der gefundene Befehl?

Was ein Befehl kann bzw. für was man diesen einsetzten könnte erfährt man, indem
man diesen eintippt und seine Optionen bzw. Aussagen aufruft. Dies erfährt man
meist mit -help oder mit -h hinter dem Befehl.

Sollte sich mal nichts tun und man kann keine Eingabe mehr machen, kann man
mit der Tastenkombination Ctrl + c das ganze abbrechen.

Der Aufruf: "chmod -help" gibt z.B. folgendes aus:

root@dm800:~# chmod -help
BusyBox v1.01 (2008.11.26-20:45+0000) multi-call binary
 
Usage: chmod [-R] MODE[,MODE]... FILE...
 
Each MODE is one or more of the letters ugoa, one of the
symbols +-= and one or more of the letters rwxst.
 
Options:
        -R      Changes files and directories recursively.

der Aufruf: "grep -h" gibt und folgendes z.B. aus:

root@dm800:~# grep -h
BusyBox v1.01 (2008.11.26-20:45+0000) multi-call binary
 
Usage: grep [-ihHnqvs] PATTERN [FILEs...]
 
Search for PATTERN in each FILE or standard input.
 
Options:
        -H      prefix output lines with filename where match was found
        -h      suppress the prefixing filename on output
        -i      ignore case distinctions
        -l      list names of files that match
        -n      print line number with output lines
        -q      be quiet. Returns 0 if result was found, 1 otherwise
        -v      select non-matching lines
        -s      suppress file open/read error messages

Wichtige Dreambox-Befehle

Beispiel: Passwort setzen per Telnet

passwd

passwd wechselt Passwörter für User- und Gruppenaccounts. Ein Normaluser darf nur sein Passwort ändern, der Superuser darf die Passwörter aller Accounts ändern. Der Administrator einer Gruppe darf das Passwort dieser Gruppe ändern. passwd kann auch die Account-Informationen wie Kommentar, Loginshell oder Passwort-Auslaufzeiten und -intervalle ändern.

init 4

init 4 ermöglich das Wechseln des Runlevels. Beim Aufruf des Befehl sendet init ein Stopsignal an alle Prozesse, die nicht für den neuen Runlevel definiert sind. Danach werden die Prozesse getötet und die Prozesse für den Runlevel, die noch nicht laufen, werden gestartet. Dieser Befehl ist insbesondere bei den Enigma2 Boxen hilfreich, wenn das System sich aufgehangen hat, oder wir die Vorgänge bei Enigma2 verfolgen wollen.

init 3

init 3 startet nach einem init 4 (siehe oben) Enigma2 wieder.

enigma2

enigma2 startet wie init 3 nach einem init 4 (siehe oben) die enigma2 wieder aber man kann in der Konsole die einzelnen Schritte verfolgen und somit evtl. Fehler besser finden.

Weitere Befehle

cat: lautet der Befehl, um Dateien anzuschauen und deren Inhalt
(Beispiel: cat /etc/resolv.conf)


cp: ist ein kopier Befehl um Daten auf der Box zu kopieren.
Beispiel

cp /tmp/DATEINAME /etc/

Zuerst wird er Ursprungsort angegeben und dann das Zielverzeichnis.


mv: steht für "move" als zum Datei verschieben / umbenennen
Beispiel:

mv /etc/TESTNAME /etc/TESTNAME_NEU


fdisk: Partitionierungprogramm


mkfs: wird zum Formatieren benutzt


fsck: Befehl für Dateisystemüberprüfungen


chmod: Dateiattribure ändern (Zugriffsrechte)

Beispiel:

chmod 755 /usr/bin/mc

Damit machen wir die Datei mc ausführbar.


mc: ist ein Dateimanager (Midnight Commander)
der sich bereits auf der Dreambox befindet.


free: Speicherplatz anschauen (Arbeitsspeicher)


df -h: Speicherplatz anschauen


grep: Nach Zeichenketten in Ausgaben (Dateien oder Pipes) filtern.
Beispiele:

  1. grep "http" /etc/services, um aus der Datei (/etc/services) nur Zeilen mit Zeichenkette http auszugeben.
  2. grep -v "^#\|^$" /etc/services, um die Datei (/etc/services) ohne (-v) Kommentarzeilen (^#) und (\|) ohne (-v) Leerzeilen (^$) auszugeben. ^ steht für den Zeilenanfang und $ für das Zeilenende.


find . | grep FILENAME: ist der Befehl zum Auffinden einer Datei


exportfs -v zeigt die Freigaben der NFS-Server an Beispiel:

root@dm8000:~# exportfs -v
/media/hdc1     192.168.0.0/255.255.255.0(rw,async,wdelay,root_squash,all_squash,anonuid=0,anongid=0)
root@dm8000:~#
Beispiel einer Ausgabe von route
Beispiel einer Ausgabe von ifconfig

vi FILENAME zum Editieren einer Datei direkt auf der Box
Eine Anleitung (die man auch wirklich braucht) dazu findet man hier http://www.my-space.li/schule/editor_VI.pdf


date: das Datum und die Uhrzeit anzeigen oder manuell setzen.


rdate: das Datum und die Uhrzeit über das Time Protokoll setzen.


IPKG list | grep dvb-modules ist der Befehl der die dvb-modul (treiberversion) anzeigt.


IPKG list | grep secondstage ist der Befehl der die Version des secondstage anzeigt.


route ist der Befehl zum Einstellen/Auslesen der Netzwerkrouten. Mit route -n erhält man das Standardgateway in der letzten Zeile.


ifconfig ist der Befehl zum Einstellen/Auslesen von Netzwerkparametern. Mit ifconfig erhält man Informationen über die IP-Adresse, Hardwareadresse, übermittelte Datenmenge etc..


opkg update && opkg upgrade ist der Telnet-Befehl um die Paketquellen neu einzulesen und eure Box per Telnet up zu daten...

Tipps und Tricks

Farbige Verzeichnisinhalte anzeigen

Bei OE 2.0 / OE 2.2 / OE 2.5 basierenden Images von DMM ist das Anzeigen des Verzeichnisinhalts mit dem ls Befehl einfarbig. Wenn ihr ein bisschen Farbe in die Shell zaubern wollt, dann gebt die folgenden beiden Befehle via Telnet oder SSH ein.

echo 'alias ls="ls --color"' >> ~/.profile
 
source ~/.profile

Weiterführende Links und Informationen

BusyBox bei Wikipedia

Offizielle Webpräsenz (englisch)

Weitere Informationen und Beispielanwendungen zu den ganzen Befehlen kann man in den verschiedenen Dreamboxforen, oder da es ja Linux ist auch in den Linuxforen bzw. Linux-Onlinehilfen wie Wikis, HowTo`s und Büchern nachlesen.

An dieser Stelle noch ein Link ins IHAD Forum, wo ein PDF mit einer Zusammenstellung von Linuxbefehlen [1] gepostet wurde, sowie folgender Link zur Beschreibung einfacher Unix Befehle [2]