Beiträge

Bei Linux handelt es sich um ein Open-Source-Betriebssystem, das in einer Vielzahl unterschiedlicher Distributionen erhältlich ist und in Zusammenarbeit von Entwicklern aus der ganzen Welt programmiert wird. Das Betriebssystem verbreitet sich durch eine freie Lizenz bereits seit dem Jahr 1992. Obwohl die Bedienung von Linux und seine breite Funktionsvielfalt auf den ersten Blick äußerst kompliziert wirken, bietet das offene Betriebssystem dennoch eine zuverlässige und bequeme Plattform für all Ihre Anwendungen, sobald Sie sich mit dem Linux-OS besser vertraut gemacht haben.

Was ist Linux?

Das unter der GPL-Lizenz (General Public License) lizensierte Betriebssystem wurde im Jahr 1991 von dem damals 21-jährigen Informatikstudenten Linus Torvalds entwickelt. Das Betriebssystem wurde ursprünglich als ein Uni-Projekt gestartet, wuchs aber binnen kürzester Zeit zu einem vollwertigen Betriebssystem heran. Die erste Version des Betriebssystems veröffentlichte Torvalds im September 1991 im Usenet. Im Laufe der Jahre hat sich eine gigantische internationale Entwicklergemeinde rund um das Linux-OS aus Unternehmen, Organisationen und Einzelpersonen gebildet, deren Zahl stetig wächst. Der Erfinder Linus Torvalds ist heute noch der hauptverantwortliche Entwickler des Kernels.

Streng genommen handelt es sich bei dem von Torvalds entwickelten Linux nur um den Systemkern, den sogenannten Kernel. Das Kernel ist das Grundprogramm einer jeder Linux-Distribution. Dieses Kernprogramm ist dafür zuständig, um zwischen der Hardware und Software eines Computers zu vermitteln. Wenn man den Kernel mit einer grafischen Benutzeroberfläche und weiterer Software versieht, entsteht eine Distribution. Der Kernel arbeitet im Hintergrund einer Linux-Distribution und ist dafür verantwortlich, dass die einzelnen Bestandteile des Betriebssystems miteinander harmonieren. Auch Hardware und Software müssen reibungslos funktionieren.

Linux Geschichte

Wie entstand Linux?

Den Namen Linux nutzte man anfänglich ausschließlich für das von ihm entwickelte Kernel. Sein Kernel wurde anfänglich in Kombination mit dem unixorientierten System Minix verwendet. Linus und die anderen Entwickler lizenzierten im Jahr 1992 Linux unter der GNU (General Public License), sodass sie den Kernel in die GNU integrieren konnten. Diese Version entwickelte sich schnell zu der meist genutzten Variante, da zu dieser Zeit kein anderer funktionsfähiger freier Kernel zur Verfügung stand. Als Linus und seine Kollegen später das gesamte Betriebssystem als Linux bezeichneten, versuchte Richard Stallmann, der Gründer des GNU-Projekts, die Bezeichnung GNU/Linux durchzusetzen, was jedoch von den meisten Entwicklern und Distributoren abgelehnt wurde.

Unterschiedliche Distributionen

Da der Kernel alleine nicht funktionsfähig ist, muss man ihn mit sogenannter Hilfssoftware versehen, wie zum Beispiel den GNU Core Utilities und vielen weiteren Anwendungsprogrammen. Ein solches Paket, das aus dem Kernel und Anwendungssoftware besteht, nennt man Distribution. Dabei handelt es sich um eine Zusammenstellung verschiedener Software, die je nach vorgesehenem Einsatzgebiet sehr unterschiedlich ausfallen kann. Die so zusammengesetzten Distributionen können sich teilweise stark voneinander unterscheiden. Der Entwickler einer solchen Distribution heißt Distributor.
Die Notwendigkeit der Distributionen lässt sich in erster Linie durch das Entwicklungsmodell von Linux begünstigen.

Die ersten Distributionen waren:

MCC Interim
Softlanding Linux System (SLS)
Yggdrasil

Die älteste Distribution, die heute noch weiterentwickelt wird, ist Slackware von Patrick Volkerding.
Mit der rasanten Ausbreitung der Distributionen bekamen mehr Nutzer die Möglichkeit, das quelloffene Betriebssystem zu testen. Hinter den in erster Linie kleineren Distributionen, die man heutzutage über das Internet koordiniert, stehen Projekte Freiwilliger. Die größeren Distributionen werden von Stiftungen und Unternehmen entwickelt und verbreitet. Auch die Einsatzmöglichkeiten der einzelnen Distributionen weichen stark voneinander ab, sodass von Systemen für Desktop-PCs, Server-Installationen und Live-DVDs mittlerweile alles vertreten ist.

Die Vor- und Nachteile im Überblick

Vorteile und Nachteile von Linux

Welche Vorteile hat Linux?

Das quelloffene Betriebssystem gilt als besonders sicher und performant. Einer der größten Vorteile spiegelt sich in der Tatsache wider, dass für Linux beinahe keine Schadsoftware existiert. Dank der Open-Source-Lizenz (GPL) sind der Kernel und die meisten anderen Module quelloffen. Die GPL-Lizenz ermöglicht Entwicklern und Nutzern, den Quellcode beliebig zu verändern und zu verbreiten. Da Linux quelloffen und modular aufgebaut ist, kann es schnell und unkompliziert auf andere Plattformen portiert und für andere Einsatzmöglichkeiten angepasst werden. Dadurch ist das gesamte System in hohem Maße skalierbar, sodass es sich auf allen Arten von Computersystemen problemlos einsetzen lässt, wie beispielsweise mobile Geräte, Server, Supercomputer oder PCs.

Als nachteilig kann man die Tatsache betrachteten, dass eine Vielzahl an Anwendungsprogrammen, Geräten und Spielen offiziell nicht unterstützt werden. Während Endanwender das Betriebssystem vollständig über die grafische Benutzeroberfläche steuern können, erwartet man von Administratoren einen guten Umgang mit der Kommandozeile.

Lizenz Linux

Wie erhält man eine Lizenz?

Red Hat, Ubuntu und SUSE

Da Linux quelloffen ist, haben sich im Laufe der Zeit viele unterschiedliche Distributionen etabliert. Zu den meistgenutzten Distributionen gehören:
– Red Hat
– Ubuntu
– SUSE

Ubuntu ist nach Windows und macOS das beliebteste Betriebssystem für Desktop- und Laptop-PCs. Die Ubuntu-Distribution wird von der Firma Canonical entwickelt und ist kostenlos erhältlich. Die beiden Firmen Red Hat und SUSE haben sowohl kostenlose als auch kostenpflichtige Distributionen im Angebot. Red Hat ist aktuell der weltweite Marktführer im Bereich der Server- und Workstation-Lösungen, während SUSE insbesondere in Deutschland sehr beliebt ist. Lesen Sie hier mehr über SUSE.

Linux auf Desktop-Systemen

Obwohl das quelloffene Betriebssystem eine Vielzahl unterschiedlicher Einsatzbereiche abdeckt, kommt das System in erster Linie auf Desktop- und Laptop-PCs als Alternative zu Windows zum Einsatz. Eine Distribution lässt sich sowohl als das primäre Betriebssystem betreiben, als auch im Rahmen eines Multi-Boot-Systems nutzen. Nutzer können beispielsweise neben Windows oder macOS auch Linux parallel installieren und betreiben. Aktuelle Distributionen, wie beispielsweise Red Hat oder Ubuntu, führen den Nutzer durch den Installationsprozess und erkennen vorhandene Betriebssysteme automatisch. So sollten auch unerfahrene Nutzer mit der Installation des Systems keine Probleme haben.

Nutzern steht eine Vielzahl kostenloser Anwendungen zu Verfügung, die sie sich individuell nach persönlichen Anforderungen auswählen können. Mit Anwendungen für Textverarbeitung, Tabellenkalkulation und Multimedia sowie Programmen für die wissenschaftliche Anwendungen sind die meisten Anwendungsbereiche abgedeckt, die im Büro- und Privatalltag wichtig sind.

CentOS (Community ENTerprise Operating System) ist ein auf dem Linux-Kernel basierendes Betriebssystem für PC, Server und virtuelle Maschinen. Die Distribution gehört zu den meistgenutzten nichtkommerziellen Linux-Versionen weltweit und baut auf dem RedHat Enterprise Linux (RHEL) System auf. CentOS ist wie die RedHat Version auf Unternehmensbedürfnisse zugeschnitten und binär kompatibel zu RHEL. Im Gegensatz zu RHEL ist CentOS von jedermann kostenfrei einsetzbar.

Die Geschichte von CentOs

Wie ist CentOs entstanden?

Die Entstehung von CentOS

Zum Verständnis der Entstehung des Betriebssystems muss man den Gedanken von Linux und der Open Source Community verstehen. Linux bzw. der Linux Kernel unterliegt der GNU/GPL. Diese Lizenz gewährleistet dem Lizenznehmer ein umfassendes Nutzungsrecht an der Software. Ihm ist unter anderem die Weiterverbreitung der Software gestattet, jedoch muss diese, unabhängig davon, ob die Software unverändert oder modifiziert weitergegeben wird, der GNU/GPL unterliegen. Dadurch ist gewährleistet, dass der Quellcode der Software immer frei ist und von jedem eingesehen, verändert und weiterentwickelt werden kann. Lesen Sie hier, was ein Quellcode ist.

RedHat ist eine kommerziell orientierte Firma, die sich zur Aufgabe gemacht hat, Linux auch für Unternehmen interessant zu machen. Der Grundgedanke liegt darin, dem professionellen Anwender eine über einen langen Zeitraum unverändert bleibende, regelmäßig mit Sicherheitsupdates versorgte und SLA-basiertem Support unterliegende Software zur Verfügung zu stellen. Alle diese Attribute können die vielen verschieden Linux-Derivate nicht beziehungsweise nur in begrenztem Umfang erfüllen und sind deshalb weniger interessant für den gewerblichen Anwender.

RedHat und CentOs

Im Gegensatz zu vielen kostenfrei erhältlichen Linux-Distributionen sind die RedHat-Produkte kostenpflichtig und ausschließlich zusammen mit einer Support-Option zu erwerben. An diese Stelle setzt

CentOs-Updates

Welche Updates kann man erwarten?

die Entwicklergemeinde von CentOS an: Anhand des frei zugänglichen Quellcodes wird die Software neu kompiliert (Übersetzung von Quellcode in durch Computer verarbeitbaren Maschinencode). Dabei bleibt die Software binärkompatibel, nur Herstellerlogos und –namen werden ersetzt. Die Entwickler garantieren lang Lebenszyklen, für die Haupversion 7 wird beispielsweise für den Zeitraum von zehn Jahren die Versorgung mit Patch- und Sicherheits-Updates sichergestellt.

Im März 2004 erschien die Version 2 von CentOS Linux (damals noch unter dem Namen CAOS Linux). Sie war vom damals aktuellen RHEL 2.1 abgeleitet. 2006 änderte man den Name zum heutigen CentOS. Seit der ersten Version wird regelmäßig nach einem Versionsupdate von RedHat die entsprechende Version von CentOS entwickelt und zwei bis drei Monate nach dem RHEL-Erscheinen auf den Markt gebracht. Im Jahr 2014 verkündete RedHat, das Projekt finanziell zu unterstützen. Damit übernahm RedHat auch die Marke „CentOS“ und besitzt sie bis heute. Der Gedanke der freien Verfügbarkeit bleibt hiervon unberührt bis heute und in Zukunft bestehen.

Welche Anwender profitieren von CentOS?

Der Fokus des RedHat-Clones liegt wie der von RHEL auf Stabilität, Sicherheit, Support und Zuverlässigkeit. Diese Features sind für professionelle Anwender in Unternehmen und Behörden interessant, die Wert auf standardisierte Soft- und Hardware legen. Für jede Version garantieren die Entwickler viele Jahre Support in Form von Patches und Sicherheitsupdates. Die derzeit aktuelle Version 7 unterliegt dem aktuellen 7-Jahres-Support-Zyklus, wobei das System weitere drei Jahre mit Sicherheitsupdates versorgt wird. Der Support für diese Version wird am 30. Juni 2024 enden.

Für die Hardware-Hersteller ergibt sich wegen der langjährigen Stabilität der Software die Möglichkeit, das Betriebssystem für ihre Produkte zertifizieren. Das ist im Gegenzug wichtig für die Anwender, die so ein rundum unterstütztes System erhalten. Die Herstellerzertifizierungen beziehen sich zwar auf RedHat Enterprise Linux. Da CentOS Linux aber binärkompatibel ist, kann der Anwender sicher sein, dass das Betriebssystem auf RHEL-zertifizierter Hardware lauffähig und unterstützt ist.

CentOs

Ist die Software auf dem neusten Stand?

Verschiedene Systemhäuser und Softwareanbieter haben sich in den letzten Jahren darauf spezialisiert, auch für CentOS-professionellen Support anzubieten. So offeriert zum Beispiel die Firma RogueWave 12×5 oder 24×7 Supportverträge inklusive erweiterter Patchversorgung. Damit sind allerdings Kosten verbunden, die eigentlich mit dem Einsatz von CentOS gegenüber RHEL vermieden werden sollten.

Anwender sollten sich darüber im Klaren sein, dass nicht alle enthaltenen Softwarepakete jederzeit auf dem aktuellsten Stand sind. In manchen Einsatzbereichen kann das dazu führen, das bestimmte Anwendungen nicht lauffähig sind. Es besteht zwar die Möglichkeit, selbst Pakete zu kompilieren. Dadurch gefährdet man die Stabilität des Gesamtsystems. CentOS ist also für Anwender, die auf neueste Softwareversionen angewiesen sind wie zum Beispiel Softwareentwickler, nicht oder nur bedingt geeignet.

Welche Version ist derzeit aktuell?

Seit Ende Oktober 2018 trägt die aktuelle Version den Versionsstempel 7.6-1810. Sie wird noch bis Mitte 2024 mit Updates versorgt, drei Jahre später endet die Versorgung mit Sicherheitsupdates. Außerdem ist die Version 6.10 erhältlich und bis Ende 2020 durch Updates unterstützt. Ältere Versionen kann man auf eigenes Risiko installieren, jedoch gibt es keine Updates mehr.

RedHat ist schon um eine Major-Version weiter, seit Mai 2019 ist RHEL 8 mit neuer Software und neuen Features verfügbar. Derzeit arbeitet die CentOS Entwicklergemeinde an der Umsetzung der Version 8 für das freie Betriebssystem. Gemessen an den bisherigen Entwicklungszyklen erscheinen Updates der RedHat-Variante jeweils mit zwei bis drei Monaten Verzögerungen. Man kann also mit dem Erscheinen von CentOS 8 um August 2019 herum rechnen.

Wo kann sich der Anwender informieren?

Neben Informationen aus den einschlägigen Fachzeitschriften sind natürlich CentOS und RedHat über Internetseiten (centos.org, redhat.com), auf denen neben Informationen über die Produkte und aktuelle und geplante Neuerungen auch die Software selbst verfügbar ist. Die Historie reicht dabei zurück bis zur Urversion CAOS 2.1.

was ist nginx und warum ist es besser als apache?

Lange Zeit war Apache mit einem Marktanteil von bis zu 70 Prozent der Webserver für das Internet. Einzig Microsoft IIS stellte mit etwa 20 Prozent eine nennenswerte Konkurrenz dar, da es der Standard für das Betriebssystem Windows Server ist. Mit dem Erscheinen von Nginx – ausgesprochen wie das englische Engine Ex – hat sich die Situation geändert. Besonders große Plattformen setzen auf die Open-Source-Software aus Russland, da diese viele Vorteile mit sich bringt.

Webserver, Datenbanken, Programmiersprachen, Protokolle und Interpreter

Eine Webseite ist heute fast immer dynamisch programmiert. Das bedeutet, bei einer Anfrage erstellen mehrere Programme eine individuelle Antwort, statt ein vorgefertigtes, statisches Dokument auszuliefern. Die Informationen – zum Beispiel Texte, Links, Nutzernamen oder Passwörter – liegen in einer Datenbank. Skripte in einer geeigneten Programmiersprache wie PHP, Perl oder Python fragen diese ab und erstellen die Webseite.

Der Interpreter bildet eine Schnittstelle zwischen dem Skript und dem Betriebssystem – er übersetzt die geschriebenen Befehle in Computersprache. Der Webserver ist für die Kommunikation zuständig: Er nimmt Anfragen entgegen und sendet Antworten an die entsprechenden Adressen.

Um die Kommunikation zwischen Server und unterschiedlichen Endgeräten und Betriebssystemen zu ermöglichen, kommen universelle Protokolle als Gemeinsprache zum Einsatz. Für Webseiten ist dies das Hypertext Transfer Protocol (HTTP) beziehungsweise dessen verschlüsselte Variante mit dem Zusatz Secure (HTTPS). Es ist speziell für die Übertragung von Nachrichten konzipiert, für andere Zwecke wie Dateiübertragungen existieren eigene Formate wie das File Transfer Protocol (FTP).

Nginx – ein modularer Webserver mit geringem Ressourcenverbrauch

Effizienz und Geschwindigkeit zeichnen Nginx besonders aus.

Effizienz und Geschwindigkeit zeichnen Nginx besonders aus.

Um eine hohe Performance und Funktionalität zu ermöglichen, verwendet Nginx ein modulares Design. Es besteht aus einem schlanken Kernprogramm, das ein Nutzer je nach individuellen Anforderungen durch Module erweitert. Dadurch unterstützt der Webserver unterschiedliche Techniken und erlaubt die Einbindung neuer Standards etwa für Videostreaming und interaktive Inhalte. Einige der Möglichkeiten sind Lastverteilung über mehrere Server, zusätzliche Protokolle, direkter Zugriff auf den Arbeitsspeicher oder der Einsatz als E-Mail– oder Webserver für Weiterleitung (Proxy).

Eines der populärsten und interessantesten Module ist PHP-FPM. Es handelt sich um einen Prozessmanager, der die Anbindung an den PHP-Interpreter übernimmt. Die Kommunikation zwischen Webserver und Programmiersprache basiert auf einem 1993 definierten Standard – dem Common Gateway Interface (CGI). Traditionell erstellt dieses für jede Aufgabe einen neuen Prozess.

Im Unterschied zu diesem Verfahren erzeugt PHP-FPM bei Betriebsstart mehrere Interpreter im Hintergrund, auf die es je nach Auslastung Anfragen verteilt. In Verbindung mit anderen Optimierungen erreicht das Modul dadurch eine ausgezeichnete Performance.

Unterschiede zwischen Apache und Nginx

Anders als Apache legt Nginx bereits seit seiner ersten Version eine Priorität auf Effizienz und Geschwindigkeit. Apache verwendet ebenfalls ein modulares Design – eines seiner größten Nachteile ist jedoch, dass es jede Verbindung einzeln bearbeitet. Dadurch besitzt es einen sehr hohen Speicherverbrauch und die Effizienz sinkt bei hohen Besucherzahlen kontinuierlich. Aus diesem Grund setzt das Programm auf eine sogenannte „asynchrone Architektur“. Anfragen behandelt es nicht individuell, sondern bündelt sie in wenigen Prozessen, die tausende Verbindungen simultan verwalten können.

Eine häufig genutzte Funktion unter Apache sind .htaccess-Dateien. Diese ermöglichen es, durch eine lokale Datei Regeln zu definieren, die von dem Webserver ausgewertet werden. Häufige Verwendungen sind das Setzen eines Passworts für eine bestimmte Adresse oder die Umleitung von URLs im Rahmen der Suchmaschinenoptimierung (SEO). Nginx unterstützt keine .htaccess-Dateien, da diese die Performance beeinträchtigen. Es verwendet stattdessen globale – also system– oder seitenweite Einstellungen.

Für die Umwandlung von .htaccess-Befehlen in eine gültige Konfiguration existieren mehrere Konverter, die die Einrichtung erleichtern. Apache ermöglicht es, Module nachträglich einzubinden, indem Anwender diese in die Konfiguration eintragen und in den Webserver laden. Im Gegensatz dazu gehören Module bei Nginx fest zu dem kompilierten Programm. Eine Erweiterung um neue Funktionen erfordert deshalb fast immer den Austausch der installierten Programmversion.

Vor- und Nachteile von Nginx

Bekannte Website setzen auf Nginx als Webserver und erreichen täglich mehrere tausend Aufrufe.

Bekannte Website setzen auf Nginx als Webserver und erreichen täglich mehrere tausend Aufrufe.

Das Projekt Nginx entstand aus der Notwendigkeit, einen schnellen, zuverlässigen, sicheren und effizienten Webserver für die russische Suchmaschine Rambler zu entwickeln. Unter dem Gesichtspunkt der Performance ist dieser wegen dieser Eigenschaften meist die beste Wahl. Populäre Webseiten mit tausenden oder Millionen Aufrufen täglich – darunter zum Beispiel WordPress, Netflix, Apple, Spotify oder Facebook – setzen deshalb bevorzugt Nginx ein. Experten schätzen, dass der Marktanteil des Webservers unter den 10.000 beliebtesten Internetseiten bei über 60 Prozent liegt.

Für kleine Projekte bietet die Verwendung ebenfalls einige Vorteile. Er ermöglicht beispielsweise eine Reduzierung der Hardwareperformance und dadurch der Betriebskosten, ohne die Geschwindigkeit bei Reaktion oder Seitenaufbau zu beeinträchtigen. Ein großer Nachteil von Nginx ist die gegenüber Apache aufwendigere Konfiguration. Darüber hinaus schränkt dieser durch die ausschließlich globale Definition die Möglichkeiten zu einer individuellen Einrichtung bei mehreren unabhängigen Nutzern ein. Wegen dieser Eigenschaft bevorzugen viele Anbieter von Webspace für ihre Kunden nach wie vor Apache.

Apache und Nginx als kombinierter Webserver

Um die Vorteile von beiden Programmen nutzen zu können, bietet sich eine Kombination der Webserver an. In diesem Fall dient Nginx als primäre Instanz und leitet ausschließlich spezielle Anfragen an Apache weiter, um dessen Verbindungen zu minimieren. Das Verfahren benötigt Administrationsrechte auf dem Server und eine individuelle Konfiguration, kann aber den Ressourcenverbrauch erheblich verringern. Das Aufsetzen der Webserver erfordert allerdings ein entsprechendes Fachwissen.

Software Deployment (dt. Softwareverteilung) bezeichnet eine meist halbautomatisch oder automatisch ablaufende Installation oder Aktualisierung von Betriebssystemen und Anwendungssoftware auf PCs und Servern. Insbesondere in größeren Organisationen und Unternehmen setzt man auf eine professionelle und zentralisierte Softwareverteilung, oft mittels eigener Softwarelösungen über so genannte Deployment-Skripte. Für die Installation ist meist keine weitere Interaktion mit dem Nutzer erforderlich. In kleineren Unternehmen gibt es auch die Möglichkeit, dass ein geschulter Mitarbeiter (Administrator) die Installationen durchführt.

Welchen Sinn macht Software Deployment?

In Organisationen und Unternehmern fehlt bei nicht geschulten Mitarbeitern oft das nötige Know-how oder die Berechtigung zur Installation und Aktualisierung von Betriebssystemen und Softwareanwendungen. Für ein effizientes IT-Management lässt man diese Prozesse daher automatisch ablaufen. In Unternehmen mit vielen Mitarbeitern existieren viele Endgeräte, die mit ähnlicher Software ausgerüstet werden müssen. Auch Sicherheitsupdates sollten möglichst in kurzer Zeit auf zahlreichen Endgeräten installiert werden. Um die Arbeitsabläufe zu standardisieren sowie Zeit und Kosten zu sparen ist es daher sinnvoll, Software Deployment als zentralen Dienst im Unternehmen einzusetzen.

Woher weiß der Rechner, wann Software aktualisiert oder installiert werden muss?

Voraussetzung für Software Deployment sind Setups, die auch ohne Benutzereingabe funktionieren (Unattended Installation). Damit das Betriebssystem erkennen kann, ob neue Software zur Installation verfügbar ist, laufen auf den PCs so genannte Dienste (kleine Software-Programme), die regelmäßig Anfragen an den zentralen Server stellen. Falls neue Software auf dem Rechner zu installieren ist, erledigt das der jeweilige Dienst automatisch. Dabei übernimmt der Dienst auch häufig die Aktualisierung von Patches, d.h. die Auslieferung einer Nachbesserung für Software.

Störungen und Ausfälle durch Software Deployment

Wenn bei der automatischen Aktualisierung von Betriebssystemen und Anwendungssoftware (z.B. Antivirensoftware, E-Mail-Programme) Fehler passieren oder Schadsoftware eingeschleust wird, kann dies zu unvorhergesehenen Störungen und Ausfällen führen und in größeren Unternehmen erhebliche Beeinträchtigungen des Arbeitsablaufs nach sich ziehen. Wichtig ist daher eine gründliche Planung und Dokumentation der Softwareverteilungsprozesse. Achten Sie auf die Einhaltung von Standards und etablierten Systemen.

Die einzelnen Schritte der Softwareverteilung

Die folgenden Teilschritte folgen aufeinander:

– Die zu installierende Software wird je nach Art und Konfiguration der verwalteten Endgeräte zusammengestellt (Orchestrierung)
Download der zu installierenden Software
– Zusammenstellen der zu installierenden Software und dazugehörigen Anweisungen und Konfigurationen in Pakten (Paketieren)
Testen der Installation der Pakete vor der Auslieferung (Testphase)
Verteilung der Softwarepakete auf die Endgeräte
Installation der Softwarepakete auf den Endgeräten.

Jeder einzelne Teilschritt beinhaltet eine Fehleranalyse. Falls Fehler auftreten, wird die Softwareverteilung beendet.

Übrigens: Wussten Sie, daß es Software-Deployment-Software auch als Opensource-Variante gibt? Im Blog von Biteno.com haben wir anhand von OPSI die Installation einer solchen Software ausführlich beschrieben.

Push- oder Pull-Verfahren bei der automatisierten Verteilung – was ist besser?

Ist es besser, wenn Softwareverteilungs-Server aktiv für die Softwareinstallation auf Endgeräten sorgen (Push-Verfahren) oder sollten sich Endgeräte aktiv um das Herunterladen von Software von einem Softwareverteilungs-Server kümmern (Pull-Verfahren)? Die automatisierte Software-Verteilung erfolgt durch Push- oder Pull-Verfahren:

– Das Push-Verfahren verteilt die zu installierende Software aktiv an die Endgeräte. Hier hat der Administrator die volle Kontrolle darüber, was wann auf welchem Endgerät installiert wird. Für dieses Verfahren müssen die Endgeräte jedoch immer erreichbar sein und der Softwareverteilungs-Server muss Informationen über alle Endgeräte vorhalten.

– Das Pull-Verfahren wird dagegen durch die Endgeräte gestartet. Über eine auf dem Endgerät installierte Client-Anwendung wird die Software vom Softwareverteilungs-Server heruntergeladen und auf dem Endgerät installiert. Die Endgeräte müssen dabei nicht immer erreichbar sein. Andererseits hat der Administrator beim Pull-Verfahren keine Kontrolle darüber, was wann auf einem bestimmten Endgerät installiert wird. Dies kann zu Performance-Problemen führen, wenn alle Endgeräte gleichzeitig Software beim Server anfordern.

Verwaltung und automatische Installation von Patches und Updates

Software Deployment geht meist mit dem Patch Management einher. Damit ist die Verwaltung und automatische Installation von Software Patches (dt. Flicken) und Updates gemeint. Bei den Patches handelt es sich meist um Updates für das Betriebssystem. Patches gibt es jedoch auch für Anwendungsprogramme. Das Patch Management leistet bei den folgenden Fragen Hilfestellung: Welche Patches sind bereits auf dem PC installiert? Welche Patches sollen aktuell installiert werden? Darüber hinaus unterstützt das Patch Management den Administrator bei der Installation von Patches. Das Patch Management unterstützt auch häufig den Windows Update Server.

Für die Betriebssysteme von Microsoft erscheinen jeden Monat mehrere neue Patches. In größeren Unternehmen entscheiden Sicherheitsbeauftragte darüber, welche Patches installiert werden und welche nicht. Dabei wird unter anderem berücksichtigt, ob es durch den Patch Probleme mit bereits installierter Software geben könnte und ob die Installation des Patches für bestimmte PCs ausgeschlossen ist. Die Bewertung von Patches ist daher ein wichtiger Schritt, um potentielle Schäden durch Installationen abzuwenden. Der Bewertung von Patches folgen noch drei weitere Schritte: Test des Verhaltens und der Funktion von Patches auf einem Test-PC, Freigabe der Patches für die Verteilung sowie anschließender Rollout der Patches.

Microsoft bezeichnet seine Patches oft mit „Aktualisierung“ oder „Service Pack“. Diese Patches sind erforderlich, um Fehler der Software zu korrigieren oder Sicherheitslücken zu schließen.

Die Abkürzung ERP steht für Enterprise Resource Planning und bezeichnet auf Deutsch die Ressourcenplanung eines UnternehmensERP ist also eine Unternehmenssoftware mit integrierten Anwendungen für die Bündelung, Steuerung und Interpretation aller relevanten Geschäftsprozesse. Enterprise Resource Planning Systeme integrieren typischerweise alle Bereiche eines Unternehmens in einer Anwendung und Benutzerschnittstelle.

Von Papierkarten zu mobilen Geräten – die Geschichte des Enterprise Resource Planning

Die Geschichte des Enterprise Resource Planning reicht über 100 Jahre zurück. Im Jahr 1913 entwickelte der bei Ford angestellte Ingenieur Whitman Harris ein papierbasiertes Fertigungssystem für die Produktionsplanung. Ziel des Systems war es, wirtschaftlich optimale Bestellmengen (EOQ) zu erreichen. Dieses System war jahrzehntelang der Standard für die Fertigung.

1964 wurde Harris System vom Werkzeughersteller Black and Decker mit einem Großrechner kombiniert. Somit war B & D das erste Unternehmen das eine computergestützte MRP-Lösung (Material Requirement Planning) eingeführt hat. Bis 1983, mit der Einführung von MRP II (Manufacturing Resource Planning), blieb MRP der Standard in vielen Großkonzernen. MRP II bot erstmals Module als zentrale Softwarearchitektur-Komponenten und integrierte Kernkomponenten für die Fertigung, einschließlich Einkauf, Stücklisten, Terminplanung und Vertragsverwaltung.

Eine Unternehmenssoftware für alle Geschäftsprozesse

Geschäftsprozesse lassen sich effizienter planen

Zum ersten Mal wurden verschiedene Geschäftsprozesse in ein gemeinsames System integriertMRP II lieferte eine Vorstellung davon, wie Unternehmen Software zukünftig nutzen können, um Unternehmensdaten auszutauschen und zu integrieren. Mit der Einführung von MRP II waren Unternehmen beispielsweise in der Lage, die Effizienz durch eine bessere Produktionsplanung, geringere Lagerbestände und weniger Ausschuss zu steigern.

Mit der Entwicklung der Computertechnologie in den 1970er und 1980er Jahren wurden ähnliche Konzepte wie MRP II parallel entwickelt. Die neuen Lösungen ermöglichten es, über die Fertigung hinausgehende Geschäftsaktivitäten zu bewältigen, einschließlich FinanzmanagementKundenbeziehungsmanagement und Personalressourcen.

Das bekannteste deutsche Softwareunternehmen, das weltweit zu den führenden Anbietern von ERP-System gehört, ist SAP. Seit etwa 1990 wird diese Art der Unternehmenssoftware als Enterprise Resource Planning bezeichnet und als neue Kategorie von Business-Management-Software angesehen.

Funktionsbereiche von Enterprise Resource Planning Systemen

ERP bietet eine integrierte und ständig aktualisierte Ansicht der wichtigsten Geschäftsprozesse unter Verwendung von gemeinsamen Datenbanken, die von einem Datenbankmanagementsystem verwaltet werden. ERP-Systeme verfolgen die Geschäftsressourcen und den Status der Geschäftsverpflichtungen. Die Anwendungen, aus denen das System besteht, teilen Daten über verschiedene Abteilungen (Fertigung, Einkauf, Vertrieb, Buchhaltung usw.), von denen die Daten auch bereitgestellt werden. Typische Anwendungsmodule in Enterprise Resource Planning Systemen sind:

  • Finance & Accounting mit Finanzbuchhaltung, ForderungsmanagementHauptbuch, Anlagevermögen, Verbindlichkeiten etc.
  • Management Accounting umfasst Budgetierung, Kalkulation, Kostenmanagementaktivitätsbasierte Kalkulation und weitere
  • Human Resources beinhaltet Recruiting, Ausbildung, Dienstpläne, Gehaltsabrechnung, Leistungen, Alters- und Rentenpläne, Diversity Management und mehr
  • Produktionsplanung einschließlich KapazitätsplanungWorkflow-Management, Qualitätskontrolle, FertigungsprozesssteuerungFertigungsprojekteProduktlebenszyklus-Management und Terminplanung etc.
  • Auftragsabwicklung mit Auftragserfassung, Bonitätsprüfung, Preisfindung, Inventur, Versand, Verkaufsanalyse und Reporting, Verkaufsauftragserteilung.
ERP

Mit der Software haben Sie vielfältige Möglichkeiten

weitere Beispiele sind:

  • SupplyChain-Management mit SupplyChain-Planung, Lieferanten-Terminplanung, Einkauf, Inventur, SchadenbearbeitungReklamationsbearbeitung, Lagerhaltung (inkl. Annahme, Einlagerung, Kommissionierung und Verpackung).
  • Projektmanagement umfasst Projektplanung, RessourcenplanungProjektkostenkalkulationProjektstrukturplan, Abrechnung, Leistungseinheiten, Aktivitätsmanagement
  • Customer Relationship Management mit Vertrieb und Marketing, Provisionen, Service, Kundenkontakt, Call Center Support – CRM-Systeme werden nicht immer als Teil von ERP-Systemen betrachtet, sondern als Business Support Systeme (BSS).
  • Datendienste beinhalten verschiedene Self-Service-Schnittstellen für Kunden, Lieferanten und / oder Mitarbeiter

Enterprise Resource Planning von On Premises in die Cloud

Von den 1990er Jahren bis zum Beginn des 21. Jahrhunderts wuchs die Zahl der Unternehmen, die Enterprise Resource Planning Systeme nutzen, rasant. Immer mehr Unternehmen setzten auf die integrierte Unternehmenssoftware, um beispielsweise Geschäftsprozesse zu rationalisieren oder auch die Datensichtbarkeit zu verbessern. Gleichzeitig stiegen die Kosten für die Implementierung der Systeme. Nicht nur die Hardware und die Software waren kostspielig. Zusätzliche Kosten für kundenspezifische Programmierung, Berater und Schulungen musste man mit einkalkulieren.

Seit Anfang der 2000er Jahre entwickelt sich die ERP-Technologie mit neuen Funktionen wie eingebetteter Analytik hin zu cloudbasierten Lösungen. Hinzu kommt, dass lokal installierte Systeme nicht mit den steigenden Sicherheitsanforderungen oder neuen Technologien wie Smartphones mithalten können.

Cloudbasierte ERP-Systeme bieten eine kostengünstige Alternative zu lokal installierten Systemen, die sowohl die Betriebskosten (OpEx) als auch die Kapitalkosten (CapEx) senkt. Unternehmen müssen beispielsweise bei Cloud-Lösungen weder Software noch Hardware kaufen oder zusätzliches IT-Personal einstellen oder eine kostspielige Infrastruktur unterhalten. Dadurch können Mitarbeiter ihren Fokus von der Verwaltung der IT auf Aufgaben mit einem höherem Mehrwert verlagern.

Cloud Enterprise Resource Planning Systeme für jedes Business

Während die alten Systeme für kleine und mittlere Unternehmen (KMU) oft zu teuer waren, hat die Cloud diese Barriere aufgehoben. Mit einer SaaS-Lösung können kleinere Unternehmen deshalb dieselbe bewährte Unternehmenssoftware nutzen, die größere Unternehmen seit Jahren verwenden. Eine cloudbasierte Lösung kann schnell implementiert werden. Für kleine und mittlere Unternehmen bietet die Cloud die Flexibilität, schnell neue Benutzer hinzuzufügen und sich ändernde Geschäftsanforderungen zu unterstützen.

Zusammenarbeit verbessern mit modularen Cloud ERP-Systemen

Cloud-Systeme bieten zusätzliche Funktionen

Wenn die Kernarchitektur von cloudbasierten System um integriertes Customer Relationship Management (CRM), SupplyChain Management (SCM), Human Capital Management (HCM) und Enterprise Performance Management (EPM) erweitert wird, verbindet das System beispielsweise alle Anwendungen nahtlos mit einem einzelnen Datenrepository. Ein erweitertes Cloud-ERP-System ermöglicht die Verwaltung aller Abteilungen mit verbesserter Transparenz und Zusammenarbeit, so, als wären sie eine einzelne Organisation.

Darüber hinaus bieten Cloud-Systeme einen nahtlosen Zugriff auf erweiterte Berichtsfunktionen wie Datenvisualisierung und erweiterte Analysefunktionen. Durch den Zugang zu neuen Technologien, wie dem Internet der Dinge (IoT), erhalten Unternehmen ein umfassendes Verständnis der Geschäftsaktivitäten in Echtzeit. Und dies nicht nur im Front-Office, sondern auch in Lagern und Produktionshallen. Dieses Wissen steht den Mitarbeitern auf ihren mobilen Geräten durch soziale Tools zur Verfügung.

Die Vorteile einer ERP-Suite gegenüber Einzelanwendungen

Einer der wichtigen Vorteile moderner Cloud-Systeme ist die einheitliche Lösung oder Anwendungssuite. Im Vergleich zur Bereitstellung isolierter Softwareanwendung, wie Personal- oder Vertriebsautomatisierung oder Fakturierungsprogrammen, bietet eine Softwaresuite den Vorteil einer Komplettlösung.

Eine Suite, die alle wichtigen Geschäftsfunktionen umfasst, integriert betriebliche Prozesse in der gesamten Organisation. Mitarbeiter erhalten einen transparenteren und umfassenderen Einblick in alle Aspekte des Geschäfts. Eine Softwaresuite ermöglicht es Unternehmen zum Beispiel, schnell eine Basis zu schaffen, die den unmittelbaren Bedarf erfüllt und flexibel auf sich ändernde Marktbedingungen reagieren kann.

Server mit Standort USA sind nicht sicher

Enterprise Resource Planning – Datensicherheit in der Cloud

Die Frage nach der Sicherheit der eigenen Daten in der Cloud ist auf jeden Fall für Unternehmen jeder Größe von zentraler Bedeutung. Der vielleicht wichtigste Aspekt ist dabei der Standort der Cloudserver. Nicht in allen Ländern gelten die gleichen restriktiven Datenschutzbestimmungen wie beispielsweise in Deutschland. Stehen die Server in den USA, können die amerikanischen Geheimdienste CIA und NSA sowie die Bundespolizei FBI jederzeit auf die Daten zugreifen.

Der Patriot Act von 2001 berechtigt die amerikanischen Behörden zum Zugriff. Und die Eigentümer der Daten bekommen keine Information über den Zugriff. Dieses Zugriffsrecht gilt gleichermaßen für die Daten von ausländischen Unternehmen wie von Privatpersonen. Maximale Sicherheit für cloudbasierte Enterprise Resource Planning Systeme bieten daher nur Server, deren Standort sich in Deutschland befindet.

Was ist hardware Motherboard beispiel

Hardware ist die Gegenkomponente zu Software. Der Begriff beinhaltet alle technischen Komponenten eines Computers, Laptops, Smartphones oder Tablet PCs. Jedes auf mechanische oder elektronische Impulse reagierende Bauteil, inklusive Drucker, USB Sticks und Tastaturen gehören zur Hardware. Dabei sind Hardwarekomponenten im Zusammenspiel mit dem Betriebssystem die Basis eines Computers, ohne die das Gerät nicht nutzbar wäre und keine Software installieren ließe.

Hardware hat unterschiedliche Größen und Formen

Das Mainboard, die Grafikkarte, die Tastatur und der Arbeitsspeicher wie der Prozessor sind Hardwarekomponenten eines Computers. Die unterschiedlichen Leistungen und Geschwindigkeiten basieren auf den verschiedenen Größen, in denen die technischen Komponenten hergestellt sind. Einfach erklärt könnte man sagen, alle Bauteile der technischen Geräte mit einer Haptik sind Hardware. Hingegen sind Programme und physisch nicht greifbare Details eines PCs oder Smartphones Software. Schon die Übersetzung der englischen Termini gibt Auskunft darüber, welche Komponenten als Hardware bezeichnet und in allen technischen Geräten eines Genres verbaut sind. Jeder PC hat ein Mainboard und eine Tastatur, die allerdings unterschiedlich beschaffen sein kann.

Interne und externe Hardware

Fällt der Begriff, gehen die Gedanken in erster Linie zu integrierten Bauteilen. Aber auch der Monitor, die Maus und Ausgabegeräte wie ein Drucker fallen in die Rubrik. Hierbei handelt es sich um externe Komponenten, die ebenfalls auf mechanische oder elektrische Impulse reagieren und entsprechend zu den Hardwarekomponenten des Computers gehören. Die Funktionalität von Computern basiert auf dem Zusammenspiel zwischen Hard- und Software, sodass eine Komponente die andere bedingt. Ohne Software sind technische Geräte nicht nutzbar und ohne Hardware besteht keine Basis, Programme aufzuspielen und den PC oder das Smartphone in Betrieb zu nehmen. Auch externe Hardware benötigt Komponenten, durch die eine Erkennung des Anschlusses am PC erfolgt.

Jedes physisch greifbare Bauteil ist Hardware

Laien denken bei der Begriffsbezeichnung primär an die Festplatte, den Prozessor oder den Arbeitsspeicher. Dass auch der Bildschirm, ein USB Stick oder die Maus unter die Rubrik fallen, ist für unerfahrene Computernutzer nicht selten eine Neuigkeit. Am besten lassen sich Hardwarekomponenten damit erklären, dass sie greifbar und damit haptisch sind. Man sieht sie, man kann sie berühren und sie bestehen aus einem festen Material. Selbst das Gehäuse eines Computers oder die Schale des Handys ist nicht einfach nur eine Hülle aus Metall oder Kunststoff, sondern zählt ebenfalls zu den Hardwarekomponenten des Geräts. Auch wenn es keine elektrischen oder mechanischen Impulse aufnimmt und weiterleitet.

Hardware als maßgeblicher Bestandteil zur Nutzbarkeit

Die Installation von Software und der Anschluss externer Geräte ist nur möglich, wenn es Hardwarekomponenten gibt. Irgendwo müssen die Daten gespeichert und zur jederzeitigen Abrufung hinterlegt werden. Dazu dienen die Speicherkarte oder die Festplatte, während der Prozessor die Geschwindigkeit regelt und der Arbeitsspeicher dafür sorgt, wie viele Anwendungen geöffnet sein können und wie das die Leistung des PCs oder Smartphones beeinflusst.

Ohne Hardwarekomponenten gibt es keine physischen Bauteile und somit keine Basis für die Installation von Software. Einfach erklärt: Ohne diese Bauteile wäre der PC oder das Smartphone überhaupt nicht existent. Das fällt im Hinblick auf die Tatsache auf, dass selbst das Gehäuse eine Hardwarekomponente und ein physisches Bauteil ist.

Tutorial

Einleitung – Software-Verteilung

Software-Installation bzw. Verteilung auf PCs wird in vielen Netzwerken immer noch nach der „Turnschuh“-Methode gemacht. Ein Administrator läuft an den betroffenen Rechner, installiert die gewünschte Software per CD/DVD oder USB-Stick. In den besseren Fällen erfolgt die manuelle Installation remote über Teamviewer oder andere Fernwartungs-Software. – Alles in allem ist die manuelle Installation von Software bzw. Ganzen PCs oder Notebooks vor allem aus zeitlichen Gesichtspunkten nicht effizient.

Besser wäre es einen PC möglichst vollautomatisch zu installieren. Gleiches gilt natürlich für die nachträgliche Installation von Software auf Windows-PCs. Wie lange bräuchte wohl ein IT-Administrator um auf 30 Endgeräten die Aktualisierung der Java-Runtime, des Adobe Acrobat Readers oder einer anderen Software die auf praktisch jedem Endgerät vorhanden ist?

Die Lösung für diesen Zeitfresser sind Software-Tools, die die Inventarisierung und Software-Verteilung im Idealfall vollautomatisch übernehmen. Zum Glück existieren neben kommerziellen Systemen wie SCCM von Microsoft, PDQ-Deploy oder DeskCenter auch Opensource-Kandidaten aus der Gruppe der Software-Deployment-Tools. Eines davon – OPSI (kurz für Open PC Server Integration) – möchten wir heute vorstellen.

OPSI ist Opensource und wird von der deutschen Firma UIB aus Mainz entwickelt. Da OPSI zur Benutzung nicht lizenziert werden muss, kommt die Software oft bei öffentlichen Verwaltungen (Behörden, Schulen, etc.) vor. Aber auch kleinere mittelständische Firmen nutzen OPSI um PCs zu installieren und Software auszurollen.

Was kann OPSI

Der Leistungsumfang von OPSI ist durchaus ansehnlich. Mit dem Software-Deployment-Tool kann der IT-Administrator die folgenden Aufgaben erledigen:

  • Betriebssystem-Installationen (via PXE-Boot oder Boot-CD)
  • Software-Installationen – in der Regel als „Silent“ oder unattended Installation
  • De-Installationen und Updates bestehender Software
  • Betriebssystem-Updates
  • Konfigurationen von Endgeräten (bspw. Domain-Beitritt) etwa in der Registry
  • Inventarisierung von Software und Hardware

Interessant ist hierbei, daß über die Skript-Sprache von OPSI ganz normale cmd Befehle von Windows im Kontext eines Administrators ausgeführt werden können. Damit kann bspw. mit wenigen Zeilen Code etwa die Windows Firewall ein- oder ausgeschaltet werden.

Konzept der Softwareverteiling mit OPSI

OPSI besteht aus einem Linux-Server, auf dem neben mysql (bzw. mariadb) noch Samba installiert sein muss. Der eigentliche Verteilungsmechanismus erfolgt vom Server aus über einen in Java geschriebenen Client, vom den aus der IT-Administrator die Software-Pakete auf die Notebooks und PCs der Anwender verteilt. Auf den Endgeräten muss ein Agent als Dienst für OPSI installiert sein.

Wie auch bei kommerziellen Deployment-Produkten muss zunächst aus der Installations-Datei des jeweiligen Software-Herstellers ein „Paket“ zur automatischen Installation erstellt werden. Diese Paketierung erfolgt bei OPSI in einer Skript-ähnlichen Sprache.

Voraussetzungen

Um OPSI zu testen oder produktiv zu nutzen, benötigt man lediglich einen einfachen Linux-Server. Opsi funktioniert unter allen wesentlichen Linux-Distributionen (Debian, Ubuntu, RHEL, SLES, CentOS, etc.). Für Interessierte stellt der Hersteller UIB auch noch eine fertige virtuelle Maschine für VMWare oder Hyper-V zur Verfügung. Diese kann bereits mit nur einer CPU und 1 GB RAM betrieben werden.

Wer OPSI produktiv einsetzen möchte, sollte eher 2 CPUs und 2-4 GB RAM veranschlagen. Die Größe des Festplatte richtet sich je nach Kundensituation nach

  • Der Anzahl an Endgeräten (diese werden in einer mysql Datenbank gespeichert)
  • Der Summe der Software-Pakete, die später auf der lokalen Freigabe /var/lib/opsi/repository liegen.

Insbesondere die Software-Pakete benötigen Platz. Wer also ein ansehnliches Arsenal an Software hat, die automatisch verteilt werden soll, sollte hier großzügig Plattenplatz einplanen. Hier bietet sich die Installation einer eigenen Partition unter LVM für das Verzeichnis /var/lib/opsi an.

 

Für alles weiter unten Beschriebene nutzen wir ein aktuelles und frisch installiertes CentOS 7 System. Auf diesem haben wir zur Vereinfachung selinx unter /etc/sysconfig/selinux deaktiviert und den firewalld-Daemon deaktiviert. Das Centos selbst bringen wir mit „yum –y update“ und einem Reboot auf den aktuellen Stand.

Installation von OPSI

Der OPSI-Server sollte unbedingt eine statische IP-Adresse erhalten. In unserem Fall hat der Host die IP 10.42.136.89 aus unserem Testnetz.

Wichtig: Hostname und IP müssen einwandfrei im DNS aufzulösen sein. Wer auf Nummer sicher gehen möchte, der trägt in die /etc/hosts Datei die eigene IP und den Hostnamen ein:

1
10.42.136.89 opsiserver2.intern.local

 

Im Test störte dabei noch die per dhcp vergebene IPV6 Adresse. Diese deaktivieren wir wie folgt:

vi /etc/sysctl.conf => dort einfügen

1
2
3
net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

anschließend

1
sysctl -p

Vorbereiten der Installation von OPSI

Zum Betrieb braucht OPSI zwingend eine SQL-Datenbank – hier mariadb – und SAMBA für die Dateifreigaben. Daher installieren wir die Pakete Samba und mariadb:

1
yum -y install mariadb-server samba

Anschließend starten und aktivieren wir Samba, NMB und mariadb

1
2
3
4
5
6
7
8
9
10
11
systemctl start smb.service

systemctl start nmb.service

systemctl start mariadb.service

systemctl enable smb.service

systemctl enable nmb.service

systemctl enable mariadb.service

Mariadb sichern wir anschließend noch ab, setzen ein root-Password für die mysql-Datenbank und unterbrinden außerdem den Zugriff von extern per mysql. Eine ausführliche Anleitung zur Installation von mysql bzw. mariadb finden Sie bei uns im Blog.

1
mysql_secure_installation

Zur Abwärtskompatibilität sollte noch folgendes in die Datei /etc/my.cnf im Abschnit [mysqld] eingefügt werden:

1
sql_mode=NO_ENGINE_SUBSTITUTION

Danach starten wir mysqld bzw. mariadb einmal neu

1
Service mariadb restart

Last but not least installieren wir 5 kleine Helferlein, damit wir gleich OPSI richtig herunter laden und installieren können.

1
yum -y install wget mlocate net-tools yum-utils sysstat

OPSI Installation

Die eigentliche Installation von OPSI erfolgt durch das Herunterladen eines Repositories und dem anschließenden Installieren von zwei Opsi-Paketen, die ihrerseits gut zwei Dutzend Software-Pakete nach sich ziehen.

1
2
3
4
5
6
7
8
9
cd /etc/yum.repos.d/

wget https://download.opensuse.org/repositories/home:uibmz:opsi:4.1:stable/CentOS_7/home:uibmz:opsi:4.1:stable.repo

yum makecache

yum –y install opsi-server opsi-configed

yum –y install opsi-windows-support

Hinweis: Bei den obigen Befehlen werden Sie zwischendurch aufgefordert einen „GPG-Schlüssel 0xD8361F81“ zu importieren. Bestätigen Sie dies mit „j“.

OPSI für den ersten Einsatz konfigurieren

Opsi wird mit wenigen Befehlen für den Einsatz vorbereitet:

1
[root@opsiserver2> opsi-setup --configure-mysql

In der sich öffnenden Maske lassen Sie die ersten beiden Zeilen so wie sie sind. Geben Sie bei “Database admin password“ das root-Passwort des mysql-Benutzers root ein. (Das sollten sie weiter oben bei mysql_secure_installation eingegeben haben).

Sofern Sie das mysql-Passwort des neuen mysql-Benutzers „opsi“ mit setzen möchten, so geben Sie ein entsprechendes neues Passwort in der letzten Zeile ein. Der mysql-Benutzer „opsi“ mit diesem Passwort wird anschließend automatisch angelegt.

Tippen Sie mit der TAB-Taste solange bis SIe auf das Feld “OK” gelangen und drücken Return/Enter.

Die eigentliche Konfiguration von OPSI wird mit dem folgenden Befehl erstellt:

1
2
3
4
5
6
7
8
9
[root@opsiserver2 ~] opsi-setup --init-current-config

(...)

Mit dem folgenden Befehl werden alle notwendigen Berechtigungen gesetzt:

[root@opsiserver2 ~] opsi-setup --set-rights

(...)

Danach werden die beiden Services “opsiconfd” sowie “opsipxeconfd” neu gestartet

1
2
3
[root@opsiserver2 ~] systemctl restart opsiconfd

[root@opsiserver2 ~] systemctl restart opsipxeconfd

Der folgende Befehlt bereitet die für OPSI notwendige Samba-Konfiguration vor.

1
opsi-setup --auto-configure-samba

Anschließend sollten die Samba-Dienste neu gestartet werden:

1
2
3
systemctl restart smb.service

systemctl restart nmb.service

Last but not least benötigt OPSI noch zwei Benutzer (pcpatch und „adminuser“) und passende Berechtigungen

1
opsi-admin -d task setPcpatchPassword

Anschließend legen wir einen neuen Benutzer namens “adminuser” an.

1
useradd -m -s /bin/bash adminuser

Wir vergeben nun Passwörter für Unix:

1
passwd adminuser

Ebenso ein Passwort für Samba für den Benutzer „adminuser“

1
smbpasswd -a adminuser

 

Zum Schluss wird die Gruppenmitgliedschaft für den Nutzer „adminuser“ eingerichtet und getestet. Dies erfolgt mit:

1
usermod -aG opsiadmin adminuser

Der getent-Befehl sollte dann so etwas ausgeben wie:

1
2
3
[root@opsi01 ~] getent group opsiadmin

opsiadmin:x:1001:opsiconfd,adminuser

Alle User, die Software packen (opsi-makepackage), installieren (opsi-package-manager) oder Konfigurationsdateien manuell bearbeiten wollen, müssen zusätzlich in der Gruppe pcpatch sein. Daher fügen wir den neuen Benutzer „adminuser“ der Gruppe pcpatch hinzu:

1
usermod -aG pcpatch adminuser

Anschließend lassen wir OPSI noch zwei Dinge anapssen:

1
2
3
opsi-setup --patch-sudoers-file

opsi-set-rights

Zu guter Letzt starten wir den OPSI-Dienst einmal neu

1
systemctl restart opsiconfd.service

Damit haben wir die eigentliche Installation von OPSI geschafft.

DHCP für OPSI einrichten

OPSI benötigt an sich keinen eigenen DHCP-Server zur reinen Software-Paketverteilung. Lediglich eine funktionierende Namensauflösung mit DNS ist erforderlich. Wer aber mit PXE (Preboot Execution Environment) ganze Betriebssystem-Installationen auf „nackten“ Endgeräten vornehmen möchte, der muss zumindest die PXE-Boot Option mit einem dhcp-Server vornehmen.

Das geht entweder mit einem bestehenden dhcp-Server in dem die next-Server Option passend eingetragen wird. Oder man installiert auf dem OPSI-Server einen dhcp-Dienst, der PCs und Notebooks das PXE-Boot-Image übermittelt, wenn Sie neu installiert werden sollen.

Die gleiche Konfiguration funktioniert übrigens auch mit einer pfsense Firewall und dort aktiviertem dhcpd-Dienst. Hier muss im Abschnitt „Network Boot“ die IP-Adresse des OPSI-Servers im Feld „Next Server“ eingegeben werden. In das Feld „Default Bios file name“ wird „linux/pxelinux.0“ eingetragen

Übrigens: Mit OPSI lassen sich nicht nur Windows 7,8 sowie Windows 10 installieren. Auch die Server-Betriebssysteme Windows 2008 R2, 2012 und Windows 2016 Server lassen sich mit OPSI von der Pike auf installieren.

OPSI Pakete herunter laden.

Um die öffentlich verfügbaren Vorlagen und fertigen Software-Pakete zu nutzen, müssen diese einmalig aus dem Internet herunter geladen werden. Das erledigen Sie mit dem folgenden Befehl „opsi-package-updater“.

Achtung: das dauert je nach Internet-Anbindung zwischen 15 und 30 Minuten – an einer dünnen DSL-Leitung auch gerne länger:

1
opsi-package-updater -v install

Eine bestehende Installation aktualisieren Sie mit:

1
opsi-package-updater -v update

 

Mit der OPSI-Konsole starten

Für den Aufruf der Konsole von OPSI benötigen Sie eine aktuelle Java Runtime (Version 1.8) und einen Browser. Um nun OPSI zu nutzen und die Verwaltungs-Oberfläche aufzurufen, öffnen Sie einen Browser und rufen die nachfolgende URL auf:

Die Java/Web-Konsole von Opsi

Die Java/Web-Konsole von Opsi

https://<servername oder IP>:4447/configed.jnlp

Die Zertifikatswarnung bestätigen Sie. Anschließend wählen Sie die oberste Option „opsi configuration editor (java web start)“ oder direkt über https://<servername oder IP>:4447/configed.jnlp . Es öffnet sich eine Java-Anwendung, die einige Sekunden braucht bis sie vollständig geladen ist. In der anschließenden Maske geben Sie den Admin-User „adminuser“ als Benutzer ein und das vorhin für den Benutzer „adminuser“ vergebene Passwort.

Die Übersicht der Verwaltungskonsole von OPSI sieht dann wie folgt aus. Hier gibt es allerdings im Moment noch nicht viel zu sehen – es fehlen noch die Laptops und PCs.

OPSI-Client Agent einrichten

OPSI Client auf dem PC installieren

OPSI Client auf dem PC installieren

Das Salz in der Suppe jeder Software-Verteilung sind neben den Software-Paketen die Clients (also PCs und Notebooks) die in den Genuss der installierten Software kommen sollen.

Damit Software-Pakete via OPSI auf den Clients automatisch installiert werden können, benötigt jeder PC einen OPSI-Client. Dieser muss einmal installiert werden und stellt anschließend die Verbindung zwischen PC und OPSI-Server her.

Es gibt dabei zwei Möglichkeiten, wie der OPSI-Client installiert werden kann:

  • Vom PC aus über die Freigabe \\<opsiserver>\opsi_depot
  • Vom OPSI-Server aus über die c$ Freigabe des Clients

Installation des Agenten über die „Opsi_depot“ Freigabe

Dazu verbinden Sie von dem PC, den Sie in Opsi einbinden möchten die OPSI-Freigabe \\<opsiserver>\opsi_depot mit einem freien Laufwerksbuchstaben auf dem PC.

Dort wechseln Sie ins Verzeichnis opsi-client-agent und führen die Datei „service_setup.cmd“ aus. Sobald das abgeschlossen ist, rebooten Sie den PC.

1
C:\Users\&gt;net use z: \\opsiserver2\opsi_depot /user:pcpatch

Geben Sie das Kennwort für „pcpatch“ ein, um eine Verbindung mit „opsiserver2“ herzustellen:

1
2
3
4
5
6
7
Der Befehl wurde erfolgreich ausgeführt.

C:\Users\&gt; z:

Z:\&gt;cd opsi-client-agent

Z:\opsi-client-agent&gt;service_setup.cmd (return)

Nach der eigentlichen Installation wird noch der Zugang zu OPSI benötigt. Dazu muss interaktiv am Client der Benutzername (bspw. pcpatch oder adminuser) sowie das dazu passende Passwort eingegeben werden.

Achtung: Direkt danach bootet der PC ohne weitere Rückfragen.

Hinweis: Das Skript „service_setup.cmd“ kann auch mit dem Parameter /u aufgerufen werden und verhält sich dann fast „silent“.

 

Nach dem Reboot sollte der PC mit seinem Clientnamen in der OPSI GUI auftauchen.

Installation des OPSI-Agenten vom Server aus

Mit dem Befehl „opsi-client-agent“ aus dem Verzeichnis „/var/lib/opsi/depot“ können Sie auch vom Server aus einen PC aufnehmen. Voraussetzung ist das Vorhandensein der Datei winexe.exe . Außerdem benötigt der PC eine offene c$ Freigabe. Außerdem brauchen sie ein Benutzerkonto auf dem PC sowie das Passwort dazu.

In unseren Tests hakte es bei der Vorgehensweise deutlich öfter als bei der Installation vom PC aus.

Der Vollständigkeit halber:

1
2
3
[root@] cd /var/lib/opsi/depot/opsi-client-agent

[root@] ./opsi-deploy-client-agent -u boehmichen -p --h

 

Mit OPSI Software automatisiert auf dem PC installieren

Mit OPSI ein Software-Paket auf den Client installieren

Mit OPSI ein Software-Paket auf den Client installieren

Auch wenn in der nackten Installation von OPSI kaum fertige Pakete für Windows vorhanden sind, kann man doch zumindest das Paket zur Hardware-Inventarisierung sowie das für die Software-Inventarisierung installieren.

Um grundsätzlich eine vorhandene Software als Paket zu installieren muss man

– Den Client links auswählen (1)

– Im Reiter „Produktkkonfiguration“ (2) die gewünschte SW auswählen.

– In der Spalte „Angefordert“ (3) der jeweiligen Zeile der Software „Setup“ auswählen (4) – das ist relativ klein geschrieben.

– Anschließend die Zeile nochmal auswählen (1) und rechts-Klick -> Speichern (2)

– Danach kann ebenfalls mit einem Rechts-Klick die „On demand“ (3) Installation starten (Alternativ: booten)

 

Sofern ein Benutzer angemeldet ist, erscheint nur wenige Sekunden danach beim Anwender ein kleines Popup. Danach startet die jeweilige Installation.

 

Sofern kein Benutzer angemeldet ist, so startet die anstehende Software-Installation oder Software-Änderung nach dem nächsten Reboot vor der ersten Anmeldung

 

Schritt 2 der Software-Zuweisung: Speicher und Starten

Schritt 2 der Software-Zuweisung: Speicher und Starten

 

Für den Administrator ist direkt nach der Installation durch ein erneutes Laden der Daten vom OPSI Server sichtbar, ob die Installation erfolgreich war. Falls ja, wird die Versions-Nummer der Software in grün in der betreffenden Zeile angezeigt.

Wer jetzt auf den Geschmack gekommen ist, der sollte nach Möglichkeit den OPSI-Agenten automatisiert per Group-Policy auf den betroffenen Rechnern einrichten.

OPSI – weitere Schritte

Die eigentliche Arbeit besteht bei OPSi wie auch allen anderen Software-Deployment Tools darin, die genutzte Software zu paketieren und testen.

Um diese anstehenden Aufgaben zu vereinfachen, werden bei OPSI zwei Software-Produkte zur Verfügung gestellt. Dies sind zum einen eine Analyse-Software für bestehende *.exe oder MSI-Installer und eine weitere mit der die eigentliche Paketierung und Veröffentlichung erfolgt.

Der OPSI Setup Detector analysiert bestehende MSI und EXE-Installer

Der OPSI Setup Detector analysiert bestehende MSI und EXE-Installer

Der „opsi Setup Detector“ ermittelt aus bestehenden Installern möglichst viele Informationen um anschließend eine möglichst automatische und Bediener-lose Installation zu ermöglichen.

Mit dem OPSI Package Builder werden die Software-Installationen paketiert.

Mit dem OPSI Package Builder werden die Software-Installationen paketiert.

Mit dem  „Opsi Package Builder“ können IT-Administratoren mit relativ wenig Aufwand die Paketierung der notwendigen Software selbst vornehmen.

Ebenso ist es natürlich möglich bestehende, fertige paketierte (freie) Software aus öffentlichen Repositories herunter zu laden und in den eigenen OPSI Server zu integrieren.

An dieser Stelle sei der Hinweis auf das öffentliche Wiki bzw. das Forum von OPSI für die weitere Lektüre erlaubt.

Mehr Infos zu Opsi

Opsi an sich ist sehr gut dokumentiert. Allein die Doku zur Erst-Installation umfasst fast 100 Seiten. Die Dokumentation zur Paketierung ist ebenfalls mehr als ausführlich.

Darüber hinaus finden sich bei Youtube (https://www.youtube.com/watch?v=KW5J3Ymw9NQ&feature=youtu.be ) einige kurze Videos, die interessierten IT-Entscheidern den ersten Überblick erleichtern:

Wer sich intensiver mit OPSI auseinander setzen möchte, dem rate ich zuerst zur Lektüre des „OPSI Getting Started“ PDF . Dort wird nicht nur die Installation von OPSI beschrieben. Im zweiten Teil wird auch exemplarisch beschrieben, wie eine Software-Paketierung abläuft und welche Schritte man als IT-Administrator durchführen muss um eigene bzw. lizenzierte Software zu paketieren.

Im eigentlichen Handbuch zu OPSI 4.1 wird auf knapp 400 Seiten sehr ausführlich erläutert, wie die Verwaltung der PCs sowie Software mit OPSI funktioniert. Die OPSI-Skript-Sprache zur Paketierung selbst ist ebenfalls mit einem separaten über 200 Seiten langen PDF ausführlich dokumentiert.

Fazit zu Opsi

OPSI macht als Software-Verteilungs-System einen sehr robusten und mittlerweile auch ausgereiften Eindruck. Geübte Admins mit Basis-Linux-Kenntnissen sollten in wenigen Stunden in der Lage sein, ein funktionierendes Test-System zu installieren und zu nutzen. Wie hoch der tatsächliche Nutzen im Tagesgeschäft ist, hängt natürlich von Fall zu Fall von der Diversität der eingesetzten Software ab.

IT-Admins, die Netze mit mehr als 30 PCs verwalten, sollten auf jeden Fall OPSI einmal testen. Es lohnt sich.