Projekt Homeserver im Eigenbau 3: Kleiner Versuch einer Linux-Einführung

Bevor wir jetzt Linux aber auf dem soeben fertiggebauten Server installieren können, müssen wir reden. Natürlich, über Linux selbst. Schließlich ist das ein völlig anderes Betriebssystem mit einer vollkommen anderen Bedienstruktur. Und ich möchte in diesem Artikel versuchen, mit einem Hauruck-Crashkurs zumindest die Grundprinzipien von Linux zu vermitteln, zumindest, soweit ich diese auch verstanden habe… 🙂

Als ich mit XBMC einen eigenen Mediacenter-PC gebaut habe, habe ich, weil ich eben über Linux nichts oder nur wenig wusste, die fertige XBMC-Distribution genutzt, die das XBMC-Team auf ihren Seiten zum Download angeboten hatte. Damals war das noch XBMC 9.11. Der Vorteil war, man legt die CD ein, lässt es installieren, und muss sich um nichts mehr kümmern. Alles ist vorkonfiguriert, alle nötigen Programme und Pakete sind bereit und man muss den PC hinterher wirklich nur noch einschalten, um XBMC nutzen zu können. Aber wie das so ist, es packte mich die Neugier. Also habe ich mir Anleitungen im Netz gesucht, um XBMC von Grund auf selbst zu installieren und zu konfigurieren. Dabei habe ich eine Menge Probleme gehabt, viele Lösungen gesucht und gefunden und dabei auch beträchtlich über Linux gelernt. OK, so ein bisschen weiß ich jetzt also über Linux, aber auch das ist nur unwesentlich mehr, als zum einfachen Betrieb nötig ist. Daher muss ich auch jetzt noch oft in Foren suchen oder Anleitungen lesen. Aber dennoch, Linux ist längst nicht mehr das Unbekannte, wovor man sich fürchten müsste… 🙂

Debian für den Server

Auf dem Server will ich Debian installieren. Linux ist eigentlich nur der Kern, oder was auch Kernel genannt wird. Das ist das eigentliche Herz des Systems. Eine Distribution ist der Linux-Kernel und eine Sammlung von Programmen, die zum Betrieb eines PCs oder Servers nötig sind. Jede Distribution hat andere Schwerpunkte. Manche sind für kommerziellen Einsatz optimiert, manche für den möglichst einfachen Gebrauch von Heim-PCs, und so hat jede Distribution ihre Berechtigung. Ubuntu mit seinen vielen Unterformen z. B. basiert auf der Debian-Distribution, unterscheidet sich aber in einigen Details. So wird hier mehr Wert auf einfache Bedienbarkeit gelegt. Debian hingegen wird gerade für Server gerne genommen, da es hier schneller und zuverlässiger arbeitet, so entnehme ich das jedenfalls einigen Forenbeiträgen, wo es um die Diskussion ging, welche Distribution denn nun für was am besten geeignet ist.

Keine grafische Oberfläche

Für Linux gibt es eine Menge grafischer Oberflächen. Diese machen das Arbeiten unter Linux auch nicht wirklich komplizierter, als unter Windows. Für blinde Anwender, soweit jedenfalls meine Informationen, ist Gnome eine beliebte grafische Oberfläche, weil es hierfür den Screenreader Orca gibt. Ich selbst habe mit grafischen Oberflächen auf Linux nie gearbeitet.

Auf dem Server wird jedoch keine grafische Oberfläche installiert. Wieso auch? Am Server selbst wird niemals jemand arbeiten. Er wird vollständig aus der Ferne gesteuert und soll ja nur Daten anliefern und andere Dienste bereitstellen. Also wird hier so gut wie nur mit der Eingabeaufforderung gearbeitet werden. Ab und zu werden Texteditoren gebraucht, um Konfigurationsdateien zu bearbeiten, aber das Meiste wird mit Kommandozeilenbefehlen erledigt. Für mich persönlich ist das nicht so wild. Ich habe lange noch unter DOS gearbeitet, und auch jetzt noch, unter Windows 7, gibt es Dinge, die ich immer noch mit der Kommandozeile erledige, weil es, aus meiner Sicht, leichter ist.

Linux im Überblick

Im Laufe der Artikelserie über die Einrichtung des Servers werde ich vieles noch im Detail beschreiben. Dennoch werde ich, weil es zum Verständnis wichtig ist, einige Dinge kurz anreißen. Wenn ihr also mit meiner stichwortartigen Beschreibung im Augenblick noch nichts anfangen könnt, macht euch keine Sorgen, wenn es wichtig wird, werde ich es noch im Detail beschreiben.

Installation

Die Installation werde ich zwar beschreiben, vor allem auch, welche Antworten ich bei bestimmten Fragen des Installers ausgewählt habe und warum, aber ich werde den Prozess nicht sehr detailliert ausführen. Die Installationsanleitung auf der Debian Webseite ist sehr ausführlich und beschreibt den Vorgang und alles was dazu gehört sehr präzise und leicht verständlich. Daher denke ich, muss ich das nicht wiederholen. 🙂

Bedienung

Die Bedienung des Servers wird von einem anderen PC im gleichen Netzwerk aus durchgeführt. Ich verwende hierfür Putty, einen SSH-Client. Wie das genau geht, was dazu nötig ist und wie man das einrichtet, werde ich dann noch zu gegebener Zeit genauer erläutern. Ich nutze Putty unter Windows 7 X64 mit Jaws eigentlich schon länger für meine XBMC-Maschine. Das lässt sich eigentlich ganz gut so bedienen.

Kleiner Überblick über Linux-Eigenheiten

Für den Einsatz von Linux gibt es eine Reihe von Dingen zu beachten, die ich mal hier aufzählen möchte:

  • Linux hat eine viel strengere Trennung von Administratoren und Benutzern. Der Benutzer kann bestimmte Operationen einfach nicht durchführen. Das Editieren der Konfigurationsdateien z. B. ist einem normalen Benutzer nicht möglich. Damit er es doch kann, braucht er das Administrationskennwort, oder auch das Root-Passwort. So könnte ein Benutzer eine Konfigurationsdatei editieren, wenn er dem System sagt, dass er das jetzt als Admin tut. Dafür wird dem jeweiligen Befehl ein sudo vorangestellt. Wundert euch daher nicht, dass fast alle administrativen Befehle mit einem sudo beginnen. Dann wird das Admin-Kennwort abgefragt, und ihr editiert die Datei z. B. mit Admin-Rechten.
  • Linux kennt keine Laufwerksbuchstaben. Jede Festplatte hat einen Gerätenamen oder eine Gerätedatei, und jede Partition auf der Festplatte ist nummeriert. Die Gerätedateien findet man im Verzeichnis /dev. Zu Verzeichnisnamen sage ich gleich noch was. SATA-Festplatten heißen in der Regel sdXY, wobei X für die Platte und Y für die Partition steht. Die erste SATA-Platte hieße dann sda und die zweite Platte sdb. Die erste Partition auf Platte 1 wäre dann sda1 und so weiter. Der ganze Pfad zur ersten Partition der ersten platte wäre dann also /dev/sda1.
  • In Linux werden für Verzeichnisse keine Backslashe genutzt. Genau genommen habe ich diese nur in Skripten oder komplexen Suchmustern gesehen. Hier ist der normale Schrägstrich das, was in Windows der Backslash ist. Das Hauptverzeichnis, oder auch Root, ist also /. Hierunter befinden sich dann die einzelnen Verzeichnisse. Zum Beispiel ist /etc das Verzeichnis, indem die Konfigurationsdateien liegen, /home ist das Verzeichnis, indem die Benutzerverzeichnisse liegen, /dev ist das Geräte-Verzeichnis usw.
  • Um also ein Verzeichnis oder eine Datei von einer Festplatte zu lesen, bedarf es eines Zwischenschritts. Wie gesagt, es gibt ja keine Laufwerksbuchstaben. Was man in Linux tut ist, man Mountet ein Laufwerk. Oder auch ganz einfach gesagt, man hängt es in den Verzeichnisbaum ein. Ist also die zweite Partition auf der ersten Platte, also /dev/sda2, die Datenpartition? Nun könnte man im Hauptverzeichnis / ein Verzeichnis „Daten“ anlegen. Hier hängt man dann, also mountet, die Partition /dev/sda2 ein. Nun erreicht man alle Verzeichnisse und Dateien auf der ersten platte und der 2. Partition dadurch, dass man in das Verzeichnis /Daten wechselt. Hier ist das Hauptverzeichnis der 2. Partition der ersten Platte. Klingt erst mal kompliziert, ich weiß. Macht man sich mit dem Konzept aber mal vertraut, ist es eigentlich ziemlich einfach.
  • Linux achtet in allem auf Groß- und Kleinschreibung. Das gilt für Verzeichnisse, Dateien, Befehle und auch dessen Optionen. Das Verzeichnis /daten ist ein anderes als /Daten. Die Option -p tut was anderes als -P. Daher ist es ungemein wichtig, dass ihr Befehle, die ich in Beispielen aufführe, ganz genau abschreibt und dabei auf Groß- und Kleinschreibung achtet. Bestenfalls passiert nichts, schlimmstenfalls löscht ihr Daten oder beschädigt das Dateisystem.
  • Programme, oder auch Pakete, in Linux zu installieren, ist eigentlich auch total einfach. Jede Distribution installiert erst mal nur die Pakete, die unbedingt nötig sind. Will man andere Pakete nachinstallieren, kommen sie aus einem Repository, also einer Quelle für Programme, die speziell für diese Distribution gedacht sind. Das System kennt seine Paketquelle, so dass man ihm nur sagen muss, was man haben möchte. Wollte man also den Editor Nano installieren, würde man mit dem Befehl „apt-get install nano“ sein Ziel erreichen. Genauso einfach kann man es auch wieder loswerden, mit „apt-get remove nano“ verschwindet das Paket wieder vom System. Auch, wenn ein Programm installiert wird, welches auf andere Pakete angewiesen ist, kümmert sich das System drum, dass auch diese mit installiert, oder später auch wieder entfernt werden.

War sonst noch was?

Wie gesagt, das soll euch nur mal einen groben Überblick geben, was Linux ist, wie es in etwa funktioniert und wie wir es in Zukunft bedienen werden. Wie ich schon sagte werde ich auf die wichtigen Punkte noch im Detail eingehen, wenn es so weit ist und wir damit arbeiten. Für jetzt möchte ich nur, dass euch Begriffe wie root, sudo, mount und dergleichen nicht völlig fremd sind.

Wenn ihr euch etwas in Linux einlesen möchtet, kann ich euch das Debian Anwenderhandbuch von Frank Ronneburg empfehlen. Zwar solltet ihr auch die ersten Kapitel lesen, aber so ab Kapitel 3 geht es dann um die Grundlagen von Debian.

Tja, dann würde ich sagen, fangen wir mal mit der Installation an. Falls sich weitere Fragen ergeben, beantworte ich diese, so bald sie akut werden. Und falls ich etwas falsch erklärt haben sollte, bitte ich um einen Hinweis, damit ich den Text entsprechend korrigieren kann. Ich will ja keine Falschinformationen verbreiten. 🙂