Server in der Praxis
Ein Server ist normalerweise ein Rechner, der irgendwo rumsteht, von man idealerweise nichts hört und sieht und dessen Anwesenheit man erst merkt, wenn er nicht mehr funktioniert. Es ist irgendein Kasten ohne Tastatur und Bildschirm, nur mit einem Netz- und einem Netzwerk-Anschluss. Wenn das Betriebssystem auf ihm installiert werden muss, dann bringt man ihn mit einem Bildschirm und einer Tastatur zusammen, installiert das OS, installiert die Software, startet die Software, prüft, ob alles ordentlich läuft und danach klemmt man Tastatur und Monitor wieder ab und lässt die Kiste laufen.
Und was ist, wenn man zwischendurch irgendwas ändern möchte? Ein Update machen? Eine zusätzliche Software installieren? Oder eine einfache Kontrolle von Log-Dateien oder Plattenplatz?
In dem Fall kannst Du wieder Tastatur und Monitor zum Server schleppen oder umgekehrt. Oder Du arbeitest "remote" auf dem Server - von einem anderen Rechner aus via Netzwerk. Dafür gibt es zwei Möglichkeiten:
- die grafische Oberfläche des Servers wird per VNC auf Deinem Rechner angezeigt. Voraussetzung dafür ist, dass auf dem Server eine grafische Oberfläche läuft und ein VNC-Serverprogramm.
- Du arbeitest auf der Shell-Ebene per Konsole auf dem Server
grafisch
Da gibt es auch wieder zwei Angebote:
- per Remote-Desktop-Protokoll. Zu dem Zweck gibt es unter KDE die beiden Programme KRFB (K-Remote-Framebuffer) und KRDC (K-Remote-Desktop-Client). Auf dem Computer der ferngesteuert werden soll (ab jetzt Server), wird KRFB gestartet und der Desktop freigegeben, auf dem fernsteuernden Rechner (ab jetzt Arbeitsrechner) wird KRDC gestartet und übernimmt den Desktop.
- per VNC-Server: auf dem Server wird "vncserver" gestartet und der erzeugt eine grafische Oberfläche nur für die Fernsteuerung. Auf dem Arbeitsrechner wird irgendein vncviewer gestartet und der nimmt diese grafische Oberfläche an (das kann auch KRDC sein).
Informationen über beides findest Du zuhauf im Internet. Ich gehe hier nicht weiter drauf ein, weil die Fernbedienung per grafischer Oberfläche unnötig ist. Ich habe es zuerst selbst nicht geglaubt, aber die Fernsteuerung ist wirklich leicht mit einer
Shell
Das funktioniert so: auf dem Server rufst Du (gleich nach der Installation des OS) den Runleveleditor auf (Yast) und suchst den Dienst sshd. Den aktivierst Du und sorgst dafür, dass er in den Runleveln 2 bis 5 läuft. Dann öffnest Du auf dem Arbeitsrechner eine Konsole ( konsole bei KDE oder ein xterm-Fenster) auf der grafischen Oberfläche des Arbeitsrechners und gibst dort ein: ssh -l [benutzername] [ip.des.servers.]
, wobei das Zeichen hinter "ssh" ein kleines L ist, der Benutzername der Name eines auf dem Server vorhandenen Benutzers sein muss und IP des Servers klar ist. Ich habe die IP des Servers zusammen mit seinem Namen in die Datei /etc/hosts
eingetragen, das ermöglicht mir die leichtere Eingabe von
Bei der ersten Verbindung beider Rechner erscheint eine Meldung mit der Frage, ob Du das wirklich willst. Das beantwortest Du mit "Yes". Dann wirst Du nach dem Passwort des Benutzers gefragt und nach der Eingabe bist Du immer noch auf der Konsole, aber der Rechnername hat sich geändert, etwa so:
hartmut@Jupiter:~> ssh -l root saturn Password: Last login: Sat Feb 16 20:01:11 2013 from 192.168.1.5 Have a lot of fun... Saturn:~ #
Und damit bist Du drin. Als erstes killst Du die grafische Oberfläche, denn die frisst nur Ressourcen:
Jetzt fehlen Dir noch die wichtigsten Werkzeuge:
- mc - den Midnight-Commander, ein Dateimanager
- htop - die Luxusausführung von top, eine Art Prozessmanager
- einen Editor Deiner Wahl für die Shell, ich finde joe sehr brauchbar
Das kannst Du schon mal per Shell machen mit zypper:
oder bei Opensuse handelüblich mit Yast - ja, Yast gibt's auch für die Shell!
mc - Midnight-Commander
![Midnight-Commnander Midnight-Commander](Bilder/Midnight-Commander.png)
Dieser Dateimanager hat zwei Hälften, deren Anzeige man im Menü "Links" bzw. "Rechts" ändern kann. Sehr praktisch ist diese Anzeige zum Kopieren oder Verschieben von Dateien, wenn man sich über Dateirechte und Eigentümer informieren will, schaltet man eine Seite auf "Info" um. Der Midnight-Commander entpackt automatisch alles, was gepackt ist und enthält einen Dateiviewer und einen Editor. Die Zeile unten zeigt die Schnellbefehle, die Ziffern sind die Funktionstasten. Aber das Beste: der MC ist vom Arbeitsrechner aus per Maus bedienbar! Übrigens spricht MC auch deutsch ...
htop
![htop htop](Bilder/htop.png)
Das Programm zeigt oben eine "Balkengrafik" mit der Auslastung der Prozessorkerne, der Speicherbelegung und die Nutzung der Swap-Partition. Rechts daneben steht eine für Server wichtige Zahl: die Anzahl der Tage, die der Server seit dem letzten Einschalten läuft. Daunter sind alle Prozesse gelistet mit den zugehörigen Details. Hier kann man mit den Cursortasten runter- und wieder hochscrollen und die ganze Liste nach links und rechts verschieben.
Wenn ich am Server eine etwas aufwendigere Arbeit mache (mehr als nur Kontrolle), dann starte ich meist zwei SSH-Sitzungen und in der ersten starte ich htop. Dann kann ich mit Hilfe der Balkengrafik schnell sehen, ob und wie der Server auf meine Befehle in der zweiten Shell reagiert. Am Arbeitsrechner kann ich die Festplattenlampe sehen, vielleicht die Platten klickern hören und bei Last meldet sich der Lüfter des Rechners und ich bekomme so ein "Feedback". Der Server steht woanders und dann hilft nur htop als Rückmeldung.
joe
![Joe Joe](Bilder/Joe.png)
Ich mag Joe als Editor besonders, weil ich mit dem alten Betriebssystem CP/M aufgewachsen bin und zu der zeit war die Textverarbeitung Wordstar das Maß aller Dinge. Damals gab es keine Mäuse und keine Dropdownmenüs und die Kommandos für Wordstar mussten mit Tastenkominationen eingegeben werden. Genauso erging es einem gewissen Joe und als er anfing, mit Linux zu arbeiten, da hat er kurzerhand "seinen eigenen Editor" programmiert, der eben mit den Wordstar-Tastenkombis arbeitet: Joe's own editor.
Das Bild zeigt Joe mit eingeblendeter Hilfe, aus der man schnell entnehmen kann, dass die meisten Befehle mit der Tastenkomination Strg + K eingeleitet werden. Strg+K zusammen, den nächsten Buchstaben für den eigentlichen Befehl einzeln eingeben.Die wichtigsten im Alltag:
- Strg + K, Q: Joe ohne Speichern beenden
- Strg + K, X: Joe mit Speichern beenden
- Strg + K, F: finde Wort
- Strg + K, H: blende Hilfe ein / aus
Das war es soweit, damit kann man das meiste auf dem Server erledigen. Wenn man dann noch Yast dazu nimmt, reicht das für ziemlich alles.
Im Laufe der Zeit lernt man dann noch, mit Befehlen wie chown, chmod, zypper
und cp
umzugehen und dass das oft schneller geht, als mit Yast oder dem Midnight-Commander.
Dann kann es jetzt weitergehen mit dem