CFEngine – Wikipedia
CFEngine
| |
---|---|
![]() | |
Basisdaten
| |
Entwickler | Mark Burgess, Northern.tech AS |
Aktuelle Version | 3.24.0[1] (22. Juli 2024) |
Betriebssystem | Plattformunabhängig |
Programmiersprache | C[2] |
Kategorie | Systemsoftware |
Lizenz | GNU General Public License, Version 3[3][4] |
deutschsprachig | nein |
cfengine.com |
CFEngine ist ein regelbasiertes Computer-Verwaltungssystem, welches von Mark Burgess am Oslo University College geschrieben wurde. Seine Hauptfunktion besteht darin, eine automatisierte, gruppenrichtlinien-spezifische Konfiguration und Wartung von Computern anzubieten.
Das Projekt CFEngine wurde 1993 als Reaktion auf die Komplexität und schlechte Portierbarkeit von Shell-Skripten für die Konfiguration von Unix-Systemen ins Leben gerufen und wird noch heute weiterentwickelt. Das Ziel war es, oft gebrauchte Programmier-Paradigmen unnötig zu machen und durch eine domänenspezifische Sprache mit Unterstützung für deklarative Programmierung zu ersetzen. Die Sprache sollte so einfach zu lesen sein, dass sie selbst-dokumentierend ist.
Portierbarkeit
[Bearbeiten | Quelltext bearbeiten]Die CFEngine bietet eine betriebssystem-unabhängige Schnittstelle zu Unix-ähnlichen Konfigurationen. Es abstrahiert die Eigenheiten der verschiedenen Betriebssysteme und kann Instandhaltungsarbeiten auf verschiedenartigen Unix-ähnlichen Servern gleichzeitig durchführen. Die CFEngine kann auch auf Windows-Servern eingesetzt werden. In letzter Zeit wird sie mehr und mehr als eine Möglichkeit anerkannt, eine Vielzahl von Unix-Servern verschiedenartiger Betriebssystem wie Solaris, Linux, AIX und HP-UX zu verwalten.
Atomare Aktionen
[Bearbeiten | Quelltext bearbeiten]Eine der Hauptinnovationen der CFEngine ist die Idee, dass Änderungen an der Computer-Konfiguration als atomare Aktionen ausgeführt werden sollen. Das bedeutet, dass Änderungen vom Agenten Fixpunkt-artig ausgeführt werden. Anstatt die einzelnen Schritte zu beschreiben, welche nötig sind um eine Änderung hervorzurufen, beschreibt CFEngine den Endzustand des Systems. Der eingesetzte Agent sorgt dafür, dass dieser erreicht wird, indem die notwendigen Schritte ausgeführt werden, bis ein „Richtlinien-kompatibler Systemzustand“ eingetreten ist. Dadurch kann die CFEngine wieder und wieder ausgeführt werden und es wird unabhängig vom Anfangszustand des Systems das vorhergesehene Ergebnis eintreten.
Siehe auch
[Bearbeiten | Quelltext bearbeiten]- Nix: Ein von CFEngine beeinflusster Paketmanager, der allerdings auch die Software selber und nicht nur ihre Konfigurationen verwaltet.
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Offizielle Website CFEngine
- Introduction to cfengine auf gnu.org
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ CFEngine 3.24 LTS released – Consistency. (englisch, abgerufen am 6. August 2024).
- ↑ The cfengine Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Juli 2018).
- ↑ github.com. (abgerufen am 24. September 2016).
- ↑ The cfengine Open Source Project on Open Hub: Licenses Page. In: Open Hub. (abgerufen am 18. Juli 2018).