Introducing the Debian System Manager ====================================== DSM ist ein System Management Werkzeug unter Debian (später evtl. auch andere). Es soll dem Administratoren einen schnellen Überblick über den Softwarestand seiner Systeme geben. Bei Bedarf ist es Möglich, eine Aktualisierung anzufordern. Möglicherweise löst der DSM in einigen Situationen das Paket apt-proxy ab. Das ist jedoch nicht das Ziel. Apt-Proxy soll sogar noch stärker integriert werden. Aufbau ---------- DSM selbst wird aus Sicherheitsgründen keinen direkten Kontakt zu den managed Hosts aufbauen. Soweit möglich, soll ein HTTP ähnliches Protokoll (XML-RPC?) verwendet werden um auch die Kommunikation durch HTTP Proxys zu ermöglichen. Es wird vorerst zwei mögliche Verbindungstypen geben: 1.) Der managed Host (MH) sendet Daten an den DSM Dies wird der Fall sein, wenn der MH bei Änderungen oder auch nach einem definierten Intervall seine aktuelle Paketliste an den DSM sendet. Die Verbindung wird vom MH initiiert und der DSM steht jederzeit bereit solche Anfragen zu bearbeiten. 2.) Der DSM möchte eine bestimmte Aktion triggern Mögliche Szenarien wären das gezielte Aktualisieren eines bestimmten Paketes oder die Übermittlung weiterer Informationen oder Befele zur batch-verarbeitung. Auch hier wird die Verbindung nicht vom DSM initiiert. Der MH prüft in einem definiertem intervall, ob der DSM Aufgaben für ihn hat. Ist dies der Fall, wird der MH seine Aufgabenliste empfangen und abarbeiten. In jedem Fall gibt der MH einen Status an den DSM zurück, damit der Task als abgeschlossen oder fehlerhaft markiert wird. Ziele ---------- 1.) Verwenden vorhandener Strukturen und Programme dpkg, apt, apt-proxy, puppet etc. 2.) Jederzeit muss ein "normales" verwenden des Paketmanagements mit üblichen Mitteln möglich sein. (lock files werden natürlich Berücksichtigt) 3.) Poll-Verfahren. DSM stell Anweisungen zur _Abfrage_ bereit, der MH entscheidet selbst wann und wie oft er diese Anweisungen abfragt und durchführt. 4.) Status der Paketversionen an zentraler Stelle einsehbar 5.) Status der Anweisungen jederzeit bekannt Möglich wären z.B.: opened, polled, agreed, delayed, in work, failed, retrying, denyed, skipped, local policy: xxx, done Entwicklungsphasen ---------- 1.) Hosts melden sich bei DSM mit Paketlisten Abfrage der Paketversionen von MH per CLI Beobachten der Debian Repositorys Versenden von eMails 2.) Integration von Modulen pre/post hooks auf MH und DSM zeige Unterschiede der Pakete innerhalb der Gruppen lösen von Abhänigkeiten debconf: Aktualisierungen nur non-Interactive DSM gibt Anweisungen zum Aktualisieren bestimmter Pakete Gruppierung der Debian Systeme (Gruppe XY bekommt neues Paket AB-1.2) erstes Webinterface 2b) debconf: vordefinieren / vorabfragen der Konfiguration pre-fetch Software-Updates und deren Abhänigkeiten 3.) Eigenes Repository (statisch/mini-dinstall) "Hole Update von (DSM-Repo|apt-proxy|Debian Mirror|Andere Quelle)" automatisches (Policy-based) Verteilen neuer Pakete Voll funktionsfähiges Webinterface 4.) SNMP-Traps (z.B. für Nagios) GUI Portierung auf weitere Distributionen (mögl. Berücksichtigungen LSB?) MUI - Multi-User-Interface, Gruppenbezogene Berechtigungen... 5.) Weitere Integrationen denkbar (cfengine, puppet, HP OpenView...) Glossar ---------- DSM: Debian System manager MH: Managed Host Links --------- http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers http://www.linuxquestions.org/questions/linux-enterprise-47/linux-enterprise-distribution-and-central-patch-management-620383/ http://www.techforce.com.br/index.php/news/linux_blog/massive_installation_management_tools_p_1 http://sysadminresources.com/ http://alioth.debian.org/projects/demi/ http://alioth.debian.org/projects/d-enterprise/ http://debian.ethz.ch/d-i/inventory http://neil.franklin.ch/Projects/dphys-config/ http://wiki.debian.org/DebianInstaller/Preseed http://www.linux-magazin.de/heft_abo/ausgaben/2005/06/alles_unter_kontrolle?category=0 Kontakte ---------- Die Idee in ähnlicher Form hatten bereits: Sebastien JUST Mark Drago irc.debian.org, nick:markdrago John Goerzen changelog.complete.org