Linux - der Beginn einer Freundschaft?

L

Auf dieser Seite möchte ich zeitnah meine Annäherung an Linux schildern, etwas, das man üblicherweise erst macht, nachdem man ein System schon näher kennengelernt hat. Ich nutze aber die Gunst der Stunde und meine eigene Unerfahrenheit, um einen authentischen Bericht zu schreiben.
Ich werde übrigens von Linux sprechen und nicht von GNU/Linux, obwohl ich den Beitrag des GNU-Projekts in Bezug auf die verschiedenen Linux-Distributionen in etwa erahnen kann und durchaus sehr zu würdigen weiß. Aber genau wie ich "jeder" und nicht "jeder und jede" sage, obwohl ich Männer und Frauen gleichermaßen anspreche, sage und schreibe ich der Einfachheit halber Linux und nicht GNU/Linux.

Die Entscheidung - Windows oder Linux?

15.11.2010
Ich habe mich entschieden - der neue Webserver in der Firma meines Auftraggebers (ich beziehe mich im Folgenden auf sie als Firma ACME) soll auf einem Linux-System laufen. Warum? Hauptsächlich deswegen, weil ich meine Windows-Desktop-Systeme (also Windows XP, Vista und 7) so kenne, dass sie ständig noch irgendwas nebenbei machen müssen und infolgedessen nicht für den ständigen Echtzeit-Webserver-Einsatz zu gebrauchen sind. Der jetzige Webserver bei ACME ist ein Apache2 auf einem Windows XP-Quadcore-Rechner. Windows deshalb, weil dort auch noch andere Windows-Anwendungen für den Netzzugriff bereitstehen müssen, und XP deshalb, weil ACME die Funktionalitäten eines Windows-Server-Systems bislang nicht braucht und XP günstiger ist.
Aber obwohl der Rechner nur als Server verwendet wird und niemand ihn jemals für etwas anderes nutzt, zeigt er nach einigen Monaten Betrieb die windowstypischen Alterserscheinungen. Nicht alles dauert lange - es ist schließlich grundsätzlich ein ausreichend schneller Rechner für etwa 10 Pageviews pro Sekunde mit PHP und MySQL. Aber von etwa 20 Web-Anfragen ist eine dabei, die sich in nichts von den anderen unterscheidet und trotzdem statt 1 Sekunde Auslieferzeit derer 10 oder 20 oder 30 benötigt. Man hat einen Kunden am Telefon und klickt sich durchs System, und plötzlich muss man ohne ersichtlichen Grund mal eine halbe Minute auf die Auslieferung der Webseite warten. Aktualisiert man die Seite, ist sie wieder innerhalb einer Sekunde da. Da denkt man doch: Er soll GEFÄLLIGST!!! nur das machen, was ich von ihm will, aber zackizacki, und seine kostbare Zeit nicht mit irgendwelchem Unsinn vertüdeln, den zu tun niemand von ihm verlangt hat.
Ich habe alles geprüft - CPU-Last, Speicherauslastung, Antivirenprogramm, Firewall, Ereignisprotokolle - und doch schließlich keine Ahnung, was der Server in der Zeit, in der er nicht antwortet, eigentlich macht. Das finde ich nicht länger hinnehmbar, und jetzt, da ich von ACME das Budget für einen zusätzlichen Server bekommen habe, möchte ich darauf ein Linux-System zum Einsatz bringen, von dem ich mir verspreche, dass es nur genau das machen wird, was ich von ihm verlange. Das hat (zusammen mit einem robusten, wartungsarmen System) oberste Priorität. Außerdem werden sich der Apache2 und meine Web-Applikation LISA unter Linux sicher wohler fühlen als unter Windows.

Virtualisierung? Nein, danke.

15.11.2010
Ich weiß schon - es spricht viel für Virtualisierung. Warum nicht einfach ein Windows-Server-System nehmen und eine Software wie VirtualBox oder VMWare Server installieren, auf der sich ein Linux-System ohne weiteres virtualisieren lässt? Sicher, es hätte einige Vorteile, beispielsweise die unglaublich schnelle Implementation von Ersatz- oder Testsystemen. Auch Backups des laufenden Systems wären unproblematisch und komfortabel machbar. Mit einem Klick wäre ein Snapshot eines laufenden Produktivsystems erstellt, um das System nach misslungenen Aktionen wieder in einen früheren Zustand zurückzuversetzen.
Was ich jedoch bislang von Virtualisierungssoftware gesehen habe, war für den Produktiveinsatz nicht zu gebrauchen. Sowohl VirtualBox als auch VMWare Server erwiesen sich in zahlreichen meiner Tests als unzuverlässig und fehleranfällig. Virtuelle Maschinen ließen sich nach einer Weile nicht mehr starten, konnten nicht kopiert werden oder verfügten plötzlich über keine Netzanbindung mehr. Ich werde virtuelle Systeme nicht mehr in Produktivumgebungen einsetzen, solange sich diese Zustände nicht gebessert haben. Ich weiß, es sind _meine_ Erfahrungen, aber es _sind_ meine Erfahrungen. Außerdem ist der Administrationsaufwand für Wirtssystem, Virtualisierungssoftware und Gastsystem größer als der Aufwand für das native "Gastsystem" allein. Nach reiflicher Überlegung habe ich den Gedanken an Virtualisierung für dieses Projekt verworfen.
Ich bin begeistert von Virtualisierungssoftware, das ist gar keine Frage, und ich verneige mich in Ehrfurcht vor den Entwicklern. Aber ich brauche bei diesem Projekt jeden Tag stabile Echtzeit-Performance und kein Fehler-Rätselraten.

Die Ausstattung

15.11.2010
Mein Plan sieht vor, für die Webdienste von ACME einen 64bit-Xeon-Rechner mit Debian Lenny 64bit quasi in der Grundkonfiguration zu betreiben und alle zusätzlich nötigen Pakete manuell nachzuinstallieren. Der Rechner ist bestellt, und ich rechne mit etwa 3 Wochen Lieferzeit. Sofern alles ohne Schwierigkeiten klappt, habe ich nicht vor, eine GUI zu verwenden, sondern Lenny soll mich nur mit seiner Shell begrüßen. Für einen Windows-Benutzer wie mich eine beinahe haarsträubende Vorstellung, aber was solls.
Auf dem Server sollen Apache2 mit PHP5, MySQL und ein FTP-Server zum Einsatz kommen. Wenn diese Komponenten laufen, sehe ich weiter.
Ich habe mich für Debian entschieden, weil es zu den stabilsten Distributionen zählt, ohne den Komfort der anderen Distributionen vermissen zu lassen. Zumindest, wenn man sowieso nur an der Kommandozeile arbeitet. Debians Pakete mögen immer ein paar Monate älter sein als die von Fedora oder Ubuntu, aber alles, was man für einen leistungsfähigen Webserver braucht, ist ohnehin schon Jahre alt, da brauche ich nicht die neuesten Versionen.
Ja, ich könnte auch Ubuntu nehmen, das würde keinen großen Unterschied machen. Ich habe mich für Debian entschieden, weil bei dieser Distribution Wert auf komplett freie Software und vor allem auf Stabilität gelegt wird. Und vielleicht, weil die meisten Linux-Webserver unter Debian laufen.

Meine Kenntnisse

16.11.2010
Ich bin absoluter Linux-Neuling und habe vielleicht drei-, viermal ein SUSE oder Ubuntu in eine Virtuelle Maschine installiert, um mir das Look-and-Feel anzusehen, und gelegentlich benutze ich die GUI einer Knoppix-CD für Datenrettungs- oder Reparaturzwecke, aber mit Konsolenkommandos hatte ich bisher nichts am Hut. In den letzten Wochen habe ich jedoch schon mal einen Debian-Testserver in einer Virtuellen Maschine auf dem ACME Server installiert und die nötigen Pakete hineingeladen, um mein Flaggschiff LISA zum Laufen zu bringen, und ich muss wirklich sagen, dass ich reichlich erstaunt war, wie einfach die Installation vonstatten ging. Linux Shell - das hieß für mich immer: man muss jeden Mist per Hand machen, das System hängt gechillt im RAM herum und trägt nichts dazu bei. Aber innerhalb von ein paar Stunden (inklusive Entscheidungsfindung bezüglich der Distribution) ohne Linuxkenntnisse einen Webserver zum Laufen zu bringen (was ohne den ganzen Firlefanz tatsächlich innerhalb weniger Minuten geschah), war in gewisser Weise eine Offenbarung. Ich muss jedoch dazu sagen, dass ich es trotzdem meistens irgendwie unbefriedigend finde, vor der spartanischen Shell zu sitzen. Mit den Benutzerrechten (chmod) von ProFTP und PHP hatte ich leichte Probleme, die aber einigermaßen schnell zu lösen waren (obwohl mir die selbst durch Ausprobieren erarbeitete Lösung nicht so ganz logisch erschien).
Meine Kenntnisse beschränken sich also auf - ja, worauf? Auf nichts eigentlich. Ich lese momentan viele Linux-Bücher und schaue mir Interviews und Dokus an, um mehr über das grundlegende Konzept zu erfahren, aber ich habe eben auch noch andere Dinge zu tun und komme deshalb vielleicht nicht ganz so schnell voran, wie ich es mir wünsche.

Das finale Testsystem

16.11.2010
Weil ich beim Produktivsystem voll auf ein Debian ohne GUI setzen werde, wird es auch einigermaßen leicht möglich sein, die gesamte Installation und Konfiguration zu dokumentieren. Da liegt es doch auch einigermaßen nahe, schon mal ein finales virtuelles Testsystem aufzusetzen und das so einzurichten, wie das echte System später einmal aussehen soll. So kann ich mir relativ sicher sein, den Server, sobald er geliefert wird, innerhalb kurzer Zeit einrichten zu können. Einer der wenigen Unterschiede wird sein, dass ich die ganzen Partitionierungsarbeiten sein lasse und ein 32bit-System für den Testserver nehme. Also los...
Ich erstelle eine neue virtuelle Maschine unter VMWare mit der Spezifikation Debian GNU/Linux 4 32bit. Es bekommt 1GB Speicher (der Server wird 6GB haben) und einen Prozessorkern zur Verfügung. Zur Installation benutze ich das Netinstall-ISO-Image debian-506-i386-netinst.iso. Es lässt sich ohne Probleme starten, das ist schonmal gut. Ich habe da leider auch anderweitige Erfahrungen sammeln müssen.
Aha, der erste Fehler. Gleich bei der Installation schlägt die Netzwerk-Konfiguration fehl. Im Netz hängt eine FritzBox als DHCP-Server, und die Maschine hat ein Bridged Network Interface vom Host bekommen, es muss also funktionieren. Tut es aber nicht. Es gibt wahrscheinlich nicht einmal ein eth0-Interface, diesen Fehler kenne ich schon. Ich starte die Maschine für einen weiteren Installationsversuch neu, weil ich nicht schon zu Beginn mit einem Fehler mein Handwerk aufnehmen möchte.
Diesmal funktioniert die Netzwerk-Konfiguration. Niemand wird jemals herausfinden, warum. Manchmal hasse ich Virtualisierung. Naja, ich installiere das System mit dem Namen webserver-final, verzichte auf LVM und installiere alles in eine Partition. Ich wähle ein Standard-System zur Installation aus und verzichte auch auf GUI und Webdienste.
aptitude update
aptitude install ssh
aptitude install apache2 php5 libapache2-mod-php5 php5-cli php5-common php5-cgi mysql-server mysql-client php5-mysql phpmyadmin
alias apacherestart="/etc/init.d/apache2 restart
apacherestart
Es läuft alles, aber ich muss aus technischen Gründen den Server neu starten. Nach dem Neustart läuft die Netzwerkkarte der virtuellen Maschine nicht, und nach dem nächsten, übernächsten, überübernächsten und überüberübernächsten Reboot mit "shutdown -r now" auch nicht. Kein eth0. Ich starte noch ein paarmal neu, und irgendwann geht es wieder. Gute Beispiele für meine schlechten Erfahrungen mit Virtualisierungssoftware. Ich stehe Compterproblemen nicht grundsätzlich feindlich gegenüber, aber wenn man nichts aus ihnen lernen kann, weil sie sich scheinbar zufällig ereignen, ist meine Frustrationstoleranz relativ niedrig.
Nach dem Neustart sind meine Aliase verschwunden. Ich wusste nicht, dass sie nur für eine Sitzung gelten. Ich muss sie wohl in irgendeine Startdatei schreiben, aber ich weiß nicht, in welche. Ich beschäftige mich später damit.

20.11.2010
Ich habe in der Zwischenzeit viel, viel gelesen und einige themenspezifische Videos angeschaut, aber es bleibt für mich nach wie vor frustrierend, dass Linux ein so komplexes Thema ist, dass man einfach Wochen braucht, um einen Überblick zu gewinnen, wie es funktioniert. Es ist ein bisschen so, als würde man jemaden fragen, ob er einem die Biologie erklären könnte. Es gibt so viel darüber, was man wissen muss, um überhaupt ein Grundverständnis zu haben, dass man es nicht innerhalb weniger Tage lernen kann. Und das frustriert mich, denn ich lerne in diesem Fall in erster Linie nicht um des Lernens willen, sondern um schließlich kompetent mit "meinem" Server umgehen zu können.

Doch Ubuntu?

20.11.2010
Ich bezweifele noch immer nicht, dass es für einen Linux-Kenner wohl die beste Entscheidung wäre, eine Debian-Distribution ohne GUI auf seinem Webserver einzusetzen. Ich als Nicht-Kenner tendiere langsam jedoch ein wenig zu Ubuntu inklusive Gnome. Ich bin eben kein Kenner und wäre schon einigermaßen daran interessiert, für meine Konfigurationen teilweise grafische Oberflächen zu haben (oder zumindest die Konfigurationsdateien in ergonomischen Editoren ändern zu können). Ubuntu wird stabil genug sein für meine Zwecke, denn es geht hier nur um einen Firmenserver und nicht um ein Google-Cluster, und die Anwesenheit von Gnome ist sicherheitstechnisch eindeutig besser zu vertreten als ein kompletter XP-Webserver ^^. Ich bin mir ohnehin nicht im Klaren, welches Sicherheitsrisiko ein X-System überhaupt darstellt. Hat es wirklich bekannte Schwächen oder sollte man einfach nichts installieren, was man nicht wirklich braucht? Ich muss noch weiter recherchieren. Vielleicht löst ein X-System auch Prozesse aus, die im Hintergrund irgendetwas machen, was ich nicht möchte, und mir so Performance klauen. Von meinem logischen Verständnis her dürfte das aber erst passieren können, wenn der X-Server startet, und ich würde ihn ja ohnehin nur einschalten, wenn ich ihn brauche.
Mein lokales virtuelles Ubuntu kann ich im Moment nicht nutzen, weil mein VMWare Host Agent nicht mehr gestartet werden kann. Auch nach zwei Neustarts startet der Dienst nicht mehr. Habe ich schon erwähnt, dass ich Virtualisierungssoftware hasse?
Ich denke, dass ich mich einfach noch näher mit Debian beschäftigen muss, damit ich an der Konsole fit bin.

22.11.2010
Ich habe es tatsächlich nicht geschafft, meinen VMWare Host Agent wieder zum Laufen zu bringen. Deshalb habe ich VMWare Server runtergeworfen und stattdessen VMWare Player installiert. Jetzt laufen die Maschinen wieder, haben aber mal wieder keinen Netzzugang.

Jetzt ist er da!

24.11.2010
Der neue Server ist bei ACME angekommen, und ich habe dort ab 15.00 Uhr ein Debian Lenny 64bit Standardsystem mit Gnome aufgespielt. Ich möchte zwar die komplette Administration per Shell machen, aber ich dachte mir, dass ein kleiner Gnome für den Anfang nicht schaden kann.
Ich habe erstmal
aptitude update
aptitude install ssh
ausgeführt, um von Zuhause aus weiter arbeiten zu können. Dort angekommen, habe ich beschlossen, mir ein paar Files anzulegen, die mir bei der Administration helfen werden. Ich habe mir die Verzeichnisse /backup und /config/scripts angelegt, wo ich meine Backups und alle Konfigurationsdateien ablegen möchte, die den Server in Schuss halten und quasi einzigartig machen. In die Datei /etc/profile habe ich
. /config/scripts/aliases.sh
geschrieben und lade so beim Login meine Aliases für Backups, Webserver, FTP-Server und solchen Kram. Per cron sichere ich stündlich mit Zeitstempel mein config-Verzeichnis und halte immer ein spezielles latest-Verzeichnis für die aktuellste Sicherung vor. So kann ich die ganzen Zeitstempel-Geschichten mit einem einzigen Kommando löschen, ohne die aktuellste Sicherung zu verlieren.

Apache, MySQL, ProFTP und PHPMyAdmin laufen bereits, und ich bin dabei, meine Anwendungen und Datenbanken zu überspielen.

Einrichtung

25.11.2010
In der ersten Linux-Lernphase war ich sehr frustriert über die geringe Lerngeschwindigkeit. Alles war neu, und nichts konnte ich irgendwo einordnen. Mittlerweile habe ich mich ein paar Wochen mit Linux beschäftigt und gewinne so langsam etwas, was zwar nicht wirklich ein Hauch von Überblick ist, aber auch nicht allzu weit davon entfernt.
Ich hatte eigentlich GNOME installiert, damit ich schnell in Verzeichnissen hin- und herspringen und nach dem Rechten schauen kann, aber seit ich mal den Midnight Commander installiert habe, denke ich kaum noch daran, dass ich irgendwann nochmal eine grafische Oberfläche brauchen könnte.
Ich habe den heutigen Tag mit der Migration größerer Datenbanken (ca. 1GB) verbracht und bislang keine akzeptable Lösung gefunden. PHPMyAdmin importiert keine so großen Files, obwohl ich alle denkbaren Einstellungen in der php.ini vorgenommen habe, und an der Shell gibt es immer irgendwelche Fehlermeldungen, die sich auf die Kompatibilität des Dump-Files beziehen, z.B. "Ich habe in Zeile 3856643 ein komisches Sonderzeichen gefunden, und jetzt habe ich keine Lust mehr *heul*".
Diese Dump-Technik steckt anscheinend noch in den Kinderschuhen. Zuletzt bin ich sogar so weit gegangen, die Datenbankdateien selbst vom Produktionsserver auf den Linuxserver zu kopieren, was auch eigentlich funktionierte, aber irgendwelche Meta-Tabellen haben natürlich nicht hingehauen, und so war das Auslesen der Tabellen ziemlich langsam. Danach musste ich mir erstmal wieder ein frisches System besorgen und habe
aptitude remove mysql-server --purge
eingegeben. Wollte mein Server aber nicht machen, weil der mysqld-Prozess nicht beendet werden konnte. Auch meine kill-Orgien haben nichts genützt, also habe ich beschlossen, den ganzen Rechner neu zu starten (shame on me). Das war schon an sich ein kleines Abenteuer, weil ich ihn noch nie vorher remote neu gestartet hatte und nicht hundertprozentig sicher war, dass er auch wieder mit SSHd und allem drum und dran hochfahren würde. Mein Putty hat ihn auch ziemlich lange nicht gefunden. Irgendwann war er dann aber wieder on, und ich habe nochmals versucht, mysqld zu beenden. Wieder kein Erfolg! Nach einer Googleminute konnte ich den Prozess dann doch ausfindig machen und ihn mit
kill -9 mysqld
zur Hölle schicken. Nun bin ich froh, dass ich den MySQL-Server danach ohne Probleme purgen und neu installieren konnte. Wie ich mein DB-Restore machen soll, weiß ich allerdings noch immer nicht. Vielleicht jede Datenbank einzeln per MySQLDumper? Derartige Probleme habe ich schon seit Jahren immer wieder und finde es sehr schade, dass es immer noch so eine holperige Angelegenheit ist.

Alles in allem bin ich mit meinen Fortschritten recht zufrieden, und ich habe das Gefühl, dass sich mir nach und nach das Konzept und die Bedienung von GNU-Systemen erschließen. Schade nur, dass ACME nicht wirklich ein Budget für EDV-Administration hat.
Witzig ist, dass ich mit dem Thema Linux mal wieder einen Bereich angeschnitten habe, der mich meinen Rekord von gleichzeitig geöffneten Browsertabs brechen lässt. Ich denke mal, dass ich zwischendurch mindestens 100 Tabs in etwa 30 Fenstern geöffnet hatte.

Admin-Ehrgeiz

26.11.2010
Ich habe etwa von 21.00 Uhr gestern abend bis 02.30 Uhr heute morgen mit einem Webserver-Problem zugebracht. Irgendwann konnte ich mich nicht mehr in PHPMyAdmin einloggen. Anstatt irgendeine Fehlermeldung auszugeben, bekam ich einfach immer wieder das PHP-Login-Fenster von PHPMyAdmin zu sehen. Auch MySQLDumper reagierte einfach nicht auf meine Eingaben. ...Neue Datenbank anlegen. Nö, das ignoriere ich einfach und tu so, als ob ich den Befehl nie erhalten hätte... Im MySQL-Log stand, dass dem root der Zugriff verweigert wurde. Für mich sah es so aus, als hätte MySQL irgendwie mein Root-Passwort verschludert. Ich habe versucht, mich als debian-sys-maint an der Konsole anzumelden, aber dieser User hatte auch keine Zugriffsrechte. MySQL-Installation kaputt? Ich habe nach langem Herumprobieren PHPMyAdmin, MySQL und PHP5 und schließlich auch Apache2 removed und gepurged, aber nach einer Neuinstallation blieb der Fehler unverändert.

Irgendwann heute morgen kam ich an einen Punkt, an dem ich erwog, den kompletten Server neu aufzusetzen. Das wäre nicht allzu viel Arbeit gewesen. Aber natürlich kann jederzeit wieder so ein Problem entstehen, und soll ich da wirklich immer gleich den Server plätten? Natürlich nicht. Also habe ich mit meinem Admin-Ehrgeiz weiter gesucht, aber Google konnte mir natürlich ohne irgendeine Art von Fehlermeldung nicht wirklich weiterhelfen. Schließlich habe ich dann ein Backup meiner php.ini eingespielt, und tadaaaa, alles ging wieder. Warum wird die php.ini nicht zusammen mit PHP5 removed und gepurged? Ich weiß es nicht. Und außerdem: Wieso läuft der Apache nach einem erfolgreichen
aptitude --purge remove Apache2
noch??? So ganz habe ich Linux noch nicht verstanden.

Außer dem obligatorischen "Kofler" habe ich gestern auch noch meine Server-Anleitung "Linux-Server mit Debian GNU/Linux" von Eric Amberg erhalten. Ich finde, dass das ein ziemlich gutes Buch ist. Es behandelt explizit Debian Etch und Lenny, aber prinzipiell kann man damit natürlich auch ein Fedora-System administrieren.

Migration erfolgreich

28.11.2010
Die Migration ist ganz flott über die Bühne gegangen. Eigentlich gab es nur Probleme bei dem Pfad-Trenner in meinen PHP-Anwendungen. Während Windows "\\" benutzt, muss man unter Linux natürlich mit "/" arbeiten. Das musste an vielen Stellen im Quelltext universalisiert werden.

Ich habe mir außerdem schnell noch ein PHP-Tool gebaut, mit welchem ich meine Linux-Konfigurationsdateien über ein Webinterface bearbeiten kann. Im Grunde ist es vom Funktionsprinzip so etwas ähnliches wie Webmin. Ich lese die Dateien zum Anzeigen in PHP per

exec("cat $dateipfad", $inhalt);

aus und speichere sie dann per

file_put_contents("temp.tmp", stripslashes($_POST["inhalt"]));
exec("cp /var/www/admin/config/temp.tmp ".$_POST["pfad"]);
exec("sed -i 's/\x0D$//' ".$_POST["pfad"]);
exec("chmod 777 ".$_POST["pfad"]);
exec("rm /var/www/admin/config/temp.tmp");

auf den Server zurück. Die Umkodierung per sed-Kommando ist nötig wegen der unterschiedlichen Linefeeds in Windows und Linux. Das Ganze funktioniert jedenfalls ganz gut, und ich muss mich nicht immer auf dem Server einloggen, um die Configs zu ändern. Etwas ähnliches habe ich im Web noch nicht gefunden, bei Bedarf verschicke ich deshalb gern den kompletten Quelltext per Mail.

Was ich an Linux mag

29.11.2010
Jede Distributions-Software ist für jeden kostenlos und im Quellcode erhältlich. So kann man sich alle Systeme mal anschauen oder sogar sein eigenes basteln.

Die Konfigurationsdateien sind zum allergrößten Teil nicht binär, sondern im Textformat gespeichert. Ich kann alles verändern, was ich möchte - so soll es sein!

Die Steuerung über die Konsole (inklusive Midnight Commander) ist in den meisten Administrationsangelegenheiten ausreichend komfortabel und somit viel übersichtlicher als eine komplexe grafische Remote-Administration.

Wenn man das Linux-Pfadsystem erst einmal verstanden hat, weiß man sofort, wo man eine Konfigurationsdatei für ein neu installiertes Programm zu suchen hat. In dieser Hinsicht ist Linux ganz gut strukturiert.

Die APT-Maschinerie nimmt einem so viel Konfigurationsarbeit ab, dass die meisten Dienste schon sofort lauffähig sind, nachdem man sie installiert hat.

Man muss seinen Rechner quasi nie neu starten. Soweit ich weiß, muss man ein Linux-System eigentlich nur dann neu starten, wenn man auf einen neuen Kernel aktualisiert hat. Das ist ein bisschen so, als würde man Windows nur dann neu starten müssen, wenn man von Windows XP auf Windows 7 aufgerüstet hat. Für mich als Neustart-Muffel genau das richtige.

Was ich an Linux nicht mag

29.11.2010
Linux-Programme haben für gewöhnlich ihre eigenen Regelungen, was Parameter und Befehle betrifft. Das eine Programm führt einen Befehl rekursiv aus, wenn man "-r" eingibt, bei einem anderen Programm heißt es "-R" oder ganz anders. Das eine Programm beendet man mit "q", das andere mit "Strg-X", wieder ein anderes mit "F10". Klar kann man sich daran gewöhnen, aber es ginge auch einfacher. Wozu gibt es beispielsweise Escape? :)

Backup-Problematik

30.11.2010
Um es vorweg zu sagen: Das Backup läuft nach diversen Querelen mit dem cron.hourly-Verzeichnis *grrr* super. Ich habe die Links zu meinen Shellscripten jetzt direkt in die Datei crontab geschrieben, und das geht prima. Jede Stunde werden meine Scripts und einige Konfigurationsdateien (z.B. Apache, MySQL, ProFTPd usw) in ein Verzeichnis mit Zeitstempel, und jede Nacht wird ein Zeitstempel-Backup von den Webdiensten gemacht. Beide Backups werden auch jeweils auf eine zweite interne Festplatte geschrieben.
Nur eins macht mir noch Kopfzerbrechen: Wenn ich tatsächlich mal so etwas wie
rm -rf /
absetze, ist alles futsch, auch meine Backups. Daher möchte ich zusätzlich noch täglich und monatlich in unterschiedlichem Umfang auf einen FTP sichern. Die dafür notwendige Technik muss ich mir allerdings noch erarbeiten.

EDIT:
Ich arbeite nun mit dem Befehl wput und lade Archivdateien regelmäßig auf einen FTP-Server. Nun kann eigentllich nichts mehr schiefgehen. Selbst wenn der ganze Server ausbrennt oder gestohlen wird oder sich ein Einbrecher dort hineinhackt, kann mir niemand mehr meine FTP-Backups nehmen, denn der FTP-Ordner hat Schreibrechte, aber keine Löschrechte. Ich denke, dass dieses gesicherte doppelt-redundante Backup-System ausreichen müsste, um größere Datenverluste auszuschließen.

Für die täglichen MySQL-Backups nehme ich sowohl mysqldump (für ein Linux-Restore) als auch das Perl-Script von MySQLDumper (für ein plattformunabhängiges Restore). Doppelt genäht hält besser. Eines der täglichen Backups habe ich bereits zusammen mit einem der täglichen LISA-Backups (zur Erinnerung: das ist meine Administrationsanwendung) auf dem alten Server eingespielt und ausprobiert. Alles läuft, ich bin gut :)

Mein Mailserver-Projekt

30.11.2010
Ich hatte gestern schon damit experimentiert, Mailserver-Funktionen auf dem Debian-System verfügbar zu machen. Ich verwende dazu Postfix und bislang qpopper. Was ich möchte, ist ein IMAP-Server, auf dem die Mails der Belegschaft als einzelne Dateien (maildir) liegen und von innerhalb und außerhalb der Firma abgerufen werden können. Auf dem IMAP-Server soll es Ordner für jeden Mitarbeiter geben. Mit qpopper versuche ich die Basics zu lernen, aber es gibt noch viele, viele, viele Probleme zu lösen...

Samba

03.12.2010
Gestern habe ich den Versuch unternommen, Samba zu installieren, um Freigaben für Windows-Rechner im Netzwerk zu erstellen. Der ACME-XP-Server kann nur 10 Verbindungen zu Netzlaufwerken gleichzeitig managen, da gibt es bei ACME alle drei Monate mal ein kleines Problemchen, wenn tatsächlich mal so viele Leute anwesend sind.
Unter Linux gibt es natürlich keine solchen künstlichen Beschränkungen, deshalb überlege ich, die Dateien dorthin umziehen zu lassen. Aber wie sieht es denn nun aus mit Samba?
Bei mir ungefähr so: Installiert, konfiguriert, läuft. Echt wahr.
Ich habe etwa 20 Zeilen in die Bash und die Samba-Konfigurationsdatei geschrieben, und der Server bietet eine Freigabe mit Zugriffssteuerung auf Anmelde-Ebene an. Großartig :) Vielleicht lasse ich die Dateien nächste Woche umziehen.

Pandorama