Ich habe Linux-Desktops für ein gemeinnütziges Funkobservatorium eingerichtet. Für mich war dies das erste Mal, dass ich darüber nachdenken musste, mehrere identische Computer "bereitzustellen", Login, Home-Verzeichnisse usw. zu zentralisieren. Mir wurde schnell klar, dass die Philosophie "Alles ist Text", vielleicht entgegen der Intuition, dies nicht unbedingt zu einer einfachen Aufgabe macht, und ich fragte mich, was erfahrene Administratoren dagegen tun.
In meinem Fall habe ich Ubuntu 10.04 LTS auf jedem Computer installiert. Nach der Installation habe ich ein benutzerdefiniertes Skript ausgeführt, das Konfigurationsdateien ändert, Software entfernt und installiert und einige Dateien wie Hintergrundbilder oder Browser-Lesezeichen vom Server kopiert. Ich denke jedoch, dass meine Fragen distro-unabhängig sind.
Probleme
Ich hatte hauptsächlich zwei Probleme: Erstens inkonsistente Tools und Konfigurationsdateien, sowohl über Distributionen als auch über Versionen hinweg, und zweitens einige wichtige Software, die Einstellungen nicht auf einfache und intuitive Weise für Konfigurationsdateien verfügbar macht.
Lassen Sie mich zwei kurze Beispiele für das geben, was ich meine:
Das ifconfig
Werkzeug wird ersetzt durch ip
. Alle Skripte, die auf dem Vorhandensein des ersteren beruhen, werden unterbrochen, wenn sie beispielsweise auf einer aktuellen ArchLinux-Box ausgeführt werden. Also müsste ich überprüfen, welche Tools in welchen Versionen auf einem Computer vorhanden sind, auf dem ich ein Skript ausführe ... das fühlt sich irgendwie so an, als würde man Autoconf in kleinem Maßstab neu erfinden.
Denken Sie beim zweiten Problem daran, dass ich den Desktops eine Art "gemeinsame Identität" geben wollte. In meinem Post-Install-Config-Skript verwende ich die folgenden Zeilen, um dies zu erreichen:
scp user@server:/export/admin/*.jpg /usr/share/backgrounds/
scp user@server:/export/admin/ubuntu-wallpapers.xml /usr/share/gnome-background-properties/
sed 's/warty-final-ubuntu\.png/MyBackground\.jpg/' -i /usr/share/gconf/defaults/10_libgnome2-common
sed 's/warty\-final\-ubuntu\.png/MyBackground\.jpg/' -i /usr/share/gconf/defaults/16_ubuntu-wallpapers
sed 's/ubuntu-mono-dark/ubuntu-mono-light/' -i /usr/share/gconf/defaults/16_ubuntu-artwork
sed 's/Ambiance/Clearlooks/' -i /usr/share/gconf/defaults/16_ubuntu-artwork
Ich nehme an, dass das Erstellen eines CI eine häufige Aufgabe für Organisationsadministratoren ist. Wie kommt es, dass es keine zentrale Konfigurationsfunktion gibt, vielleicht sogar Cross-Desktop? Es erscheint mir seltsam, zwei (identische!) Undokumentierte Werte in zwei unterschiedlichen Konfigurationsdateien festlegen zu müssen.
Fragen
Wie gehen Sie in einer organisatorischen Umgebung mit der zentralen, einheitlichen Konfiguration über mehrere Clients hinweg um?
Bieten Systeme wie Debians FAI erhebliche Vorteile (abgesehen davon, dass keine CDs gewechselt werden müssen) gegenüber meiner Methode "Zuerst installieren, danach Skript ausführen"?
Was sind bewährte Methoden für den Übergang zwischen Hauptversionen Ihrer Distribution? Und abgesehen von den technischen Dingen: Gibt es eine Desktop-Umgebung, die langfristige Stabilität in Bezug auf die Benutzererfahrung verspricht? Ich glaube nicht, dass ich meine Benutzer auf KDE 4 oder GNOME 3 migrieren kann, aber XFCE hat immer noch einige funktionale Nachteile ...
Gibt es ein * nix-System, das diese Art von Konfigurationsproblemen behebt? Ich würde beispielsweise annehmen, dass es Systeme gibt, die Sie nach Bildern Ihrer Organisation fragen (Logos, Hintergrundbilder, Farb- und Schriftarten usw.) und diese auf den Anmeldemanager, die Desktops der Benutzer, Webanwendungen (!) Usw. anwenden auf. Hinweis: In unserem Fall muss ich mit fetten Kunden arbeiten, sodass eine reine Thin-Client-Lösung nicht hilft.