BusyBox: Unterschied zwischen den Versionen
EgLe (Diskussion | Beiträge) |
Mfgeg (Diskussion | Beiträge) |
||
(45 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | |||
− | |||
− | |||
{|width="40%" | {|width="40%" | ||
− | |[[Bild:deutsch.png]] - [[ | + | |[[Bild:deutsch.png]] - [[BusyBox|in Deutsch]] |
− | |[[Bild:english.png]] - [[ | + | |[[Bild:english.png]] - [[BusyBox (en)|in English]] |
|} | |} | ||
− | + | [[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 == |
− | + | 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] 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 /> | ||
wie im Kapitel [[Telnet]] drüber erklärt mit unserer Dreambox.<br /> | wie im Kapitel [[Telnet]] drüber erklärt mit unserer Dreambox.<br /> | ||
Zeile 24: | 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 23: | ||
<br /> | <br /> | ||
<br /> | <br /> | ||
− | |||
− | |||
− | + | == 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<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 | + | 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 | + | 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... | ||
− | + | 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. | ||
+ | </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...] | ||
− | + | 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 | ||
+ | </syntaxhighlight> | ||
− | + | == Wichtige Dreambox-Befehle == | |
+ | [[Bild:passwd-telnet.png|thumb|400px|Beispiel: Passwort setzen per [[Telnet]]]] | ||
+ | ===[[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. | ||
+ | ===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 Enigma2 verfolgen wollen. | ||
+ | ===init 3=== | ||
+ | <code>init 3</code> startet nach einem <code>init 4</code> (siehe oben) Enigma2 wieder. | ||
+ | ===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. | ||
+ | ===Weitere Befehle=== | ||
− | + | '''cat:''' lautet der Befehl, um Dateien anzuschauen und deren Inhalt <br />(Beispiel:''' cat /etc/resolv.conf''') | |
+ | |||
+ | '''cp:''' ist ein kopier Befehl um Daten auf der Box zu kopieren.<br /> | ||
+ | Beispiel | ||
+ | cp /tmp/DATEINAME /etc/ | ||
+ | Zuerst wird er Ursprungsort angegeben und dann das Zielverzeichnis. | ||
− | |||
− | |||
− | |||
− | |||
− | + | '''mv:''' steht für "move" als zum Datei verschieben / umbenennen <br /> | |
− | ''' | + | Beispiel: |
− | + | mv /etc/TESTNAME /etc/TESTNAME_NEU | |
− | |||
− | ''' | + | '''[[Fdisk|fdisk:]]''' Partitionierungprogramm |
− | ''' | + | '''[[mkfs|mkfs:]]''' wird zum Formatieren benutzt |
− | |||
− | |||
− | + | '''[[Filesystemcheck|fsck]]:''' Befehl für Dateisystemüberprüfungen | |
− | ''' | ||
− | |||
− | |||
− | ''' | + | '''[[Rechte - Bedeutung und Änderung|chmod:]]''' Dateiattribure ändern (Zugriffsrechte) |
− | ( | ||
− | |||
− | + | Beispiel: | |
− | + | chmod 755 /usr/bin/mc | |
− | |||
− | |||
− | |||
Damit machen wir die Datei mc ausführbar. | Damit machen wir die Datei mc ausführbar. | ||
Zeile 130: | Zeile 117: | ||
'''df -h:''' Speicherplatz anschauen | '''df -h:''' Speicherplatz anschauen | ||
+ | |||
+ | |||
+ | '''grep:''' Nach Zeichenketten in Ausgaben (Dateien oder Pipes) filtern.<br /> | ||
+ | Beispiele: | ||
+ | # <tt>grep "http" /etc/services</tt>, um aus der Datei (<tt>/etc/services</tt>) nur Zeilen mit Zeichenkette <tt>http</tt> auszugeben. | ||
+ | # <tt>grep -v "^#\|^$" /etc/services</tt>, um die Datei (<tt>/etc/services</tt>) ohne (<tt>-v</tt>) Kommentarzeilen (<tt>^#</tt>) und (<tt>\|</tt>) ohne (<tt>-v</tt>) Leerzeilen (<tt>^$</tt>) auszugeben. <tt>^</tt> steht für den Zeilenanfang und <tt>$</tt> für das Zeilenende. | ||
− | '''find . | grep FILENAME:''' ist der Befehl zum | + | '''find . | grep FILENAME:''' ist der Befehl zum Auffinden einer Datei |
− | '''vi FILENAME''' | + | '''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:~# | ||
+ | [[Bild:route.jpg|thumb|Beispiel einer Ausgabe von ''route'']] | ||
+ | [[Bild:ifconfig.jpg|thumb|Beispiel einer Ausgabe von ''ifconfig'']] | ||
+ | |||
+ | '''[[vi]] FILENAME''' zum Editieren einer Datei direkt auf der Box <br /> 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 manuell setzen | + | '''[[date]]:''' das Datum und die Uhrzeit anzeigen oder manuell setzen. |
+ | |||
+ | |||
+ | '''[[rdate]]:''' das Datum und die Uhrzeit über das [http://en.wikipedia.org/wiki/Time_Protocol 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 <tt>route -n</tt> erhält man das Standardgateway in der letzten Zeile. | ||
+ | |||
+ | |||
+ | '''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 == | |
− | + | 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 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 [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] | ||
− | + | [[Kategorie:Software-Tool]] |
Aktuelle Version vom 29. September 2018, 12:23 Uhr
- in Deutsch | - in English |
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...
Inhaltsverzeichnis
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:
Und geben hier nun den Befehl "busybox
" ein, daraufhin werden uns die
bekannten Linuxbefehle die die Dreambox kennt aufgelistet.
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
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:
- grep "http" /etc/services, um aus der Datei (/etc/services) nur Zeilen mit Zeichenkette http auszugeben.
- 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:~#
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]