Shell-Workshop (1)

Status
Für weitere Antworten geschlossen.

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Ich hab mir gedacht, dass wir bis Ostern ja ein wenig Zeit haben und deswegen mal einen Shell-Workshop auf der DS machen können.

Voraussetzung ist, dass man per Telnet, ssh, AdminTool oder sonst einem Tool Zugang zur Shell der DiskStation bekommen. Hierzu gibt es Hinweise in unserem Wiki.

Wer sollte Zugang zur Shell auf der DS haben? Der User 'root' natürlich, denn sinnvollerweise arbeitet man als Systemverwalter mit einer Shell.

Welche Shell nehmen wir? Die Standard-Shell aus der Firmware, also die 'ash'. Die 'ash' ist ein symbolischer Links auf die allgegenwärtige BusyBox, welche auf der DS ja die meisten Kommandos und Tools enthält (*guck BusyBox*). Man darf selbstverständlich auch andere Shells einrichten und verwenden. Allerdings sind die Beispiel hier alle auf der ash getestet und es kann sein, dass das ein oder andere dann ein wenig anders anders aussieht.

Zum Vorgehen. Es gibt ein paar 'Lektionen'. Dafür werden ich immer einen neuen Thread anfangen, damit man auch gut diskutieren kann. Sollten mir Fehler unterlaufen, werden ich sie (deutlich sichtbar) hier im ersten Post korrigieren, so dass man den Topicpost auch ohne Verfolgung der Diskussionen nacharbeiten kann.

Klar gibt es hier im Forum viele User mit Linux/Unix-Expertise; die wissen viel und brauchen hier eigentlich nicht mit zu machen, dürfen es aber gerne. Ich hätte da eine Bitte: man kann viele Beispiele auf sehr unterschiedlichen Wegen lösen und es wäre nicht immer hilfreich, alle möglichen Lösungswege auf einmal zu präsentieren. Manchmal werde ich also vielleicht etwas auch umständlicher ausführen als es sein müsste. Dann bitte nicht sofort in eine große Diskussion ausbrechen, weil das für einen Anfänger vielleicht verwirrend ist ... also Zwischenrufe gerne, aber bitte maßvoll, ok?! Fehlerkorrekturen sind natürlich immer gerne gesehen.

Der Workshop ist auch nicht als Konkurrenz gedacht zum Wiki. Dort werden wichtige Kommandos und Tool sehr knapp vorgestellt, die man zur Administration braucht. Der Workshop will mehr hinter die Kulissen schauen, als das im Wiki bislang der Fall ist. Und klar gibt es auch Querverweise.

Also jetzt geht es los!

Rich (BBCode):
Syno login: root
Password:

BusyBox v1.1.0 (2010.04.19-13:36+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

Syno>

Der Text 'Syno>' ist mein Shell-Prompt. 'Syno' deswegen, weil meine DiskStation 'Syno' heißt. Im Moment bin ich auf einer DS207+ mit DSM 2.3. Aber wie schon gesagt, man könnte den Workshop auch auf einem Linux-PC machen.

Die folgenden Kommandos bitte ausprobieren: 'whoami', 'uname', 'uname -a', 'pwd', 'pwda':
Rich (BBCode):
Syno> whoami
root
Syno> uname
Linux
Syno> uname -a
Linux Syno 2.6.15 #1157 Mon Apr 19 21:30:17 CST 2010 armv5tejl unknown
Syno> pwd
/root
Syno> pwda
-ash: pwda: not found

Jetzt noch 'clear' !!!

'whoami' spricht für sich. 'uname' steht 'UNIX-Name' und die Option '-a' steht für 'all'. 'pwd' bedeutet 'print working directory' auf gut Deutsch: gibt das Arbeitsverzeichnis aus, auf dem du gerade stehst.

Wir lernen: Linux-Kommandos sind wie Unix-Kommandos (commands). Das erste Wort ist der Name des Kommandos, danach folgen Parameter. Parameter mit einem '-' nennt man auch Optionen. Zwischen dem Kommandoname und den Parametern muss ein oder mehrere Leerstellen stehen (man darf oft auch Tabulatoren verwenden - ich rate davon ab). So ziemlich alles wird in Kleinbuchstaben geschrieben. Würde man es groß schreiben, funktioniert es (meist) nicht. Am Ende einer Kommandoeingabe muss man die Taste 'RETURN' bzw. 'ENTER' drücken, dann wird die Eingabe überprüft und wenn fehlerfrei auch ausgeführt. Es ist typisch für Unix/Linux, dass bei einem erfolgreich ausgeführten Kommando nichts weiter ausgegeben wird; manche kennen das ja auch vom Windows-Kommandofenster oder von MS-DOS oder so ...

Da man nicht unbedingt immer alle Kommandos auswendig kennt, nutzt man Handbücher zum Nachschlagen. Auf der DS gibt es das Online-Handbuch nicht aus Platzgründen, deswegen muss man auf eines ausweichen, das es im Web gibt, z. B. dieses hier: *guck Linux-Handbuch*

Es geht weiter mit 'who', 'date', 'cal und 'which':

Rich (BBCode):
Syno> who
USER       TTY      IDLE      FROM           HOST
root       ttyp1    00:00m    Mar  7 18:04   192.168.2.4
Syno> date
Mon Mar  7 18:11:51 CET 2011
Syno> cal
     March 2011
Sa Su Mo Tu We Th Fr
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Syno> which cal
/opt/bin/cal
Syno>

'who' zeigt eine Liste der angemeldeten Linux-User an (nicht zu verwechseln mit den Usern des DSM, die haben nichts mit dem hier zu tun) und gibt einige Daten über die Anmeldung bzw. Verbindung aus. 'date' zeigt das Systemdatum an und 'cal' einen Monatskalender.

Huch! 'cal' ist bei mir nicht drauf!!!

'which' zeigt, wo die Datei des Tools liegt. Wenn da also nichts gefunden wird, ist das Tool entweder noch nicht installiert worden oder die Variable 'PATH' enthält keinen passenden Pfad zum Kommando* und man müsste, wenn es denn da ist, mit einem kompletten Pfad aufrufen, also z. B. '/opt/bin/cal'.

Offensichtlich ist das Tool 'cal' nicht installiert, wenn es nicht aufgerufen werden kann. Wer möchte, kann sich das per IPKG nachinstallieren: 'ipkg install util-linux-ng'.

*Wie kann man sich anschauen, was alles so in der Shell-Variablen 'PATH' drin steckt:

Rich (BBCode):
Syno> echo $PATH
/bin:/usr/bin:/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin:/opt/sbin

Die einzelnen Pfade werden durch einen ':' getrennt.

=====
So, das war es für den Teil 1. Viel Spass beim Ausprobieren.

Itari

PS. ach ja, wie kommt man eigentlich wieder nach Hause? exit


=========================================
Sinnvollerweise sind die Shell-Workshops aufeinander aufgebaut.

Shell-Workshop (2)
Shell-Workshop (3)
Shell-Workshop (4)
Shell-Workshop (5)
Shell-Workshop (6)
Shell-Workshop (7)
Shell-Workshop (8)
Shell-Workshop-(9)
Shell-Workshop (10)
Shell-Workshop (11)
Shell-Workshop (12)
 
Zuletzt bearbeitet:

Super-Grobi

Benutzer
Mitglied seit
28. Sep 2010
Beiträge
1.913
Punkte für Reaktionen
0
Punkte
62
Workshops (find ich gut++)

Klasse Idee! Grüße...
 

Super-Grobi

Benutzer
Mitglied seit
28. Sep 2010
Beiträge
1.913
Punkte für Reaktionen
0
Punkte
62
Anmerkung:

'ipkg install util-linux-ng'
Dazu ipkg installieren, siehe http://www.synology-wiki.de/index.php/IPKG

Und da flieg ich mit meiner DS106 auch schon auf die Schn@uze :)
Weil der wget im DSM3.1 (der auf der DS106 läuft) ja irgendwie nicht mehr zu dem ipkg passt.
Da gab es hier auch Meldungen zu.... Maaaaamiee!! :D
Such Hasso, such...

Wuff!

ok

beschreibt da das man sich das wget per PC holen soll, also wahrscheinlich installieren wie auch beim ipkg
Hmm, schwierig, da muss man drauf achten das richtige zu erwischen, ok, also ppc824x.... mal sehen....
(langsam sind da wieder diese kleinen Perlen auf meiner Stirn :) )

[Edit 3]
Nennt mich für heute einfach nur "Held"
Nach dem ich ja nun das Packet runter gezogen, und es auf mein public gelegt hatte, stand ich da
nun blöd rum. Aber, ich hab es raus bekommen.
ipkg install <wget-install-package-name>
und er hat es intalliert, und
ipkg update updatet jetzt wie blöd
ipkg list zeigt ne fette Liste
Und alle ist gut!

goil :D

[Edit 4]
Der 'ipkg install util-linux-ng' läuft jetzt auch durch. Der macht aber viel....
und cal liefert den calender.

jetzt noch die Startup stopdownscript k@**e...

Grüße
 
Zuletzt bearbeitet:

Binomico

Benutzer
Mitglied seit
01. Jun 2010
Beiträge
573
Punkte für Reaktionen
0
Punkte
0

Super-Grobi

Benutzer
Mitglied seit
28. Sep 2010
Beiträge
1.913
Punkte für Reaktionen
0
Punkte
62
Hi Binomico,
ja, den hatte ich auch schon gefunden und mich daran orientiert, danke!
Grüße
Super-Grobie-Held (ein Stern)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat