Linux-Support (opsi-linux-client-agent)

opsi-Client: unterstützte Linux-Distributionen

Stand 01.10.2023

Tabelle 1. Unterstützte Linux-OS als Client in opsi 4.3
Distribution OS Installation Netboot Products Client Agent

Debian 12 Bookworm

supported

debian12

supported

Debian 11 Bullseye

discontinued

debian, debian11

discontinued

Debian 10 Buster

discontinued

debian, debian10

discontinued

Debian 9 Stretch

discontinued

debian, debian9

discontinued

Debian 8 Jessie

discontinued

debian, debian8

discontinued

Ubuntu 24.04 LTS Noble Numbat

supported

ubuntu, ubuntu24-04

supported

Ubuntu 22.04 LTS Jammy Jellyfish

supported

ubuntu, ubuntu22-04

supported

Ubuntu 20.04 LTS Focal Fossa

supported

ubuntu, ubuntu20-04

supported

Ubuntu 18.04 LTS Bionic Beaver

discontinued

ubuntu, ubuntu18-04

discontinued

Linux Mint 22

supported

mint22

supported

Linux Mint 21.3

supported

mint21-3

supported

Linux Mint 21.2

supported

mint21-2

supported

Linux Mint 21.1

supported

mint21-1

supported

Linux Mint 21

supported

mint21

supported

Linux Mint 20.3

supported

mint20-3

supported

Linux Mint 20.2

discontinued

mint20-2

discontinued

Linux mint 20.1

discontinued

mint20-1

discontinued

RHEL 9

supported

rhel9

supported

RHEL 8

supported

rhel8

supported

RHEL 7

discontinued

rhel70

discontinued

AlmaLinux 9

supported

alma9

supported

AlmaLinux 8

supported

alma8

supported

Rocky Linux 9

supported

rocky9

supported

Rocky Linux 8

supported

rocky8

supported

Oracle Linux 9

supported

oraclelinux9

supported

Oracle Linux 8

supported

oraclelinux8

supported

CentOS 8

discontinued

centos8

discontinued

CentOS 7

discontinued

centos70

discontinued

SLES 15 SP5

supported

sles15sp5

supported

SLES 15 SP4

supported

sles15sp4

supported

SLES 15 SP3

supported

sles15sp3

supported

SLES 15 SP2

supported

sles15sp2

supported

SLES 15 SP1

supported

sles15sp1

supported

SLES 12 SP5

supported

sles12sp5

supported

SLES 12 SP4

discontinued

sles12sp4

discontinued

SLES 12 SP3

discontinued

sles12sp3

discontinued

SLES 12 SP2

discontinued

sles12sp2

discontinued

SLES 12 SP1

discontinued

sles12sp1

discontinued

SLES 12

discontinued

sles12

discontinued

openSUSE Leap 15.6

supported

opensusel15-5

supported

openSUSE Leap 15.5

supported

opensusel15-5

supported

openSUSE Leap 15.4

discontinued

opensusel15-4

discontinued

openSUSE Leap 15.3

discontinued

opensusel15-3

discontinued

UCS 5.0

supported

ucs50

supported

UCS 4.4

discontinued

ucs44

discontinued

supported: Supported unsupported: Unsupported develop: Under development discontinued: Discontinued

Stand 01.10.2023

Tabelle 2. Linux Netboot-Produkte nach Installer-Typ in opsi 4.3
Netboot Product Installer State Remark

debian

opsi

supported

Stretch - Bullseye

debian12

Distribution

supported

debian11

Distribution

discontinued

debian10

Distribution

discontinued

debian9

Distribution

discontinued

ubuntu

opsi

supported

Focal - Noble

ubuntu24-04

Distribution

supported

ubuntu22-04

Distribution

supported

ubuntu20-04

Distribution

supported

ubuntu18-04

Distribution

discontinued

mint22

Distribution

supported

mint21-3

Distribution

supported

mint21-2

Distribution

supported

mint21-1

Distribution

supported

mint21

Distribution

supported

mint20-3

Distribution

supported

mint20-2

Distribution

discontinued

mint20-1

Distribution

discontinued

centos8

Distribution

discontinued

centos70

Distribution

discontinued

redhat9

Distribution

supported

redhat8

Distribution

supported

redhat70

Distribution

unsupported

alma9

Distribution

supported

alma8

Distribution

supported

rocky9

Distribution

supported

rocky8

Distribution

supported

oraclelinux9

Distribution

supported

oraclelinux8

Distribution

supported

sles15sp5

Distribution

supported

sles15sp4

Distribution

supported

sles15sp3

Distribution

supported

sles15sp2

Distribution

supported

sles15sp1

Distribution

supported

sles12sp4

Distribution

supported

sles12sp3

Distribution

supported

sles12sp2

Distribution

discontinued

sles12sp1

Distribution

discontinued

sles12

Distribution

discontinued

opensusel15-6

Distribution

supported

opensusel15-5

Distribution

supported

opensusel15-4

Distribution

discontinued

opensusel15-3

Distribution

discontinued

ucs50

Distribution

supported

ucs44

Distribution

discontinued

supported: Supported unsupported: Unsupported develop: Under development discontinued: Discontinued

Voraussetzungen

Der opsi Support für Linux besteht aus einem Teil, der von Anfang an Open Source ist (den Netboot-Produkten) und einer eine kostenpflichtige Erweiterung (dem Agent für die Clients). Das bedeutet, dass Sie zum Einsatz eine Freischaltdatei benötigen. Diese Freischaltung erhalten Sie wenn Sie die Erweiterung kaufen. Zu Evaluierungszwecken stellen wir Ihnen auch eine zeitlich befristete Freischaltung kostenlos zur Verfügung ( → mail an info@uib.de).
Weitere Details hierzu finden Sie in Freischaltung kostenpflichtiger Module.

opsi-linux-client-agent: 15 Freistarts

Der opsi-linux-client-agent beinhaltet 15 Freistarts bei denen der Agent auch ohne Freischaltung verwendet werden kann.

Genauer formuliert: Nach der initalen Installation des opsi-linux-client-agent kann der der opsi-script 15 mal im Servicekontext gestartet werden ohne eine Freischaltung zu fordern.
Dies gibt Ihnen die Möglichkeit einen Linuxrechner aufzusetzen und mit den entsprechenden opsi-Produkten für den geplanten Einsatz zu konfigurieren. Beispielsweise können Sie nach der Installation das Produkt l-opsi-server aufrufen, um aus dem frisch installierten Rechner einen opsi-server zu machen.

Für eine dauerhafte Pflege des installierten Linuxrechners über diese 15 Freistarts hinaus benötigen Sie aber eine Freischaltung dieses Features.

Installieren der Pakete

Die Linux-bezogenen Pakete können über den opsi-package-updater geladen werden. Im Auslieferungszustand hat dieser bereits das Repository für die Linux-Produkte aktiviert.

Sie können mit dem folgenden Aufruf die opsi-linux Produkte einspielen:

opsi-package-updater -v --repo uib_linux install

Einführung

Ein Management-Werkzeug für Windows und Linux

Ziel der Erweiterung von opsi um die Unterstützung von Linux-Systemen ist die Schaffung eines Managementsystems für heterogene Umgebungen. Der Fokus liegt dabei auf der möglichst vollständigen Integration beider Welten in die gleichen Management-Vorgänge und Werkzeuge.

Dies bedeutet, dass eine Linux-Installation auf die gleiche Weise angestoßen wird wie eine Windows-Installation.
Der opsi-client-agent unter Linux basiert auf dem selben Code wie der unter Windows und ist (soweit sinnvoll) befehlskompatibel.

Linux-Distributionsübergreifend

Der Linux-Support von opsi ist distributionsübergreifend angelegt.
Die folgenden Distributionen werden gleichwertig unterstützt:

  • Debian

  • Ubuntu

  • Linux Mint

  • OpenSuse / SLES (Suse Linux Enterprise Server)

  • RHEL (RedHat Enterprise Linux)

  • AlmaLinux 8

  • Rocky Linux 8

  • CentOS

  • UCS

Bitte beachten Sie das für eine Linux Mint Installation mindestens 4GB RAM in der Maschine bzw. VM verügbar sein müssen.

Linux mit opsi installieren

Dieses Kapitel beschreibt, wie Sie verschiedene Linux-Distributionen auf einem bisher nicht mit einem Betriebssystem ausgestatteten Computer per opsi installieren. Als Client-Rechner eignen sich physische Computer oder virtuelle Rechner mit den folgenden Voraussetzungen:

  • 2 GByte RAM; Ubuntu 22.04: mindestens 4 GByte RAM;

  • Netzwerkkarte mit Netzboot-Unterstützung (Unterstützung des PXE-Protokolls zum Laden von Bootmedien via Netzwerk)

Überprüfen Sie die Einstellungen im BIOS. Netzboot muss aktiviert sein und an erster Stelle der Bootoptionen stehen, damit Sie Linux per opsi installieren können.

Grundsätzlich gibt es zwei verschiedene Wege:

Netboot-Produkte (Installer der Distribution)

Zunächst geht es die distributionseigenen Installer. Ähnlich wie bei der Windows-Installation, stellt opsi für den Installer eine Antwortdatei bereit, die er dann für die nicht-interaktive Installation nutzt.

Der distributionseigene Installer ist kein eigentliches Programm, das opsi dann aufruft. Stattdessen handelt es sich um eine Kombination aus Kernel und initrd der Distributionen.

Die grundsätzliche OS-Installation, inklusive Partitionierung, LVM, Basissoftware usw., liegt in der Hand des Installers und findet nach dem Start des opsi-Linux-Bootimages statt. Wie Sie die Installations-Quellen bereitstellen, hängt unter anderem von der Linux-Distribution ab bzw. von dem opsi-Netboot-Paket ab:

  • Debian-basierte Distributionen (Debian, Ubuntu): Diese Distributionen verwenden die Installations-Quellen aus dem Netz. In der Depot-Freigabe liegen lediglich die Netboot-Versionen der Kernel und der dazugehörigen initrd-Dateien. Da diese Dateien nicht besonders viel Platz benötigen, sind sie Teil des opsi-Paketes. Ausnahmen sind:

    • Ubuntu 22.04: Das Paket ubuntu22-04 erwartet ein ISO-Image im Produkt-Unterverzeichnis iso.

    • Linux Mint: Ab Version 4.2.0.2-1 erwarten die Netboot-Pakete ein ISO-Image im Produkt-Unterverzeichnis iso.

  • SUSE- und Red-Hat-basierte Distributionen: Benutzer stellen die Installations-Quellen bereit und legen dazu den INhalt des ISO-Image im isocontent Unterverzeichnis des Produktes ab.

Installieren Sie nicht nur das Betriebssystem, sondern auch gleich den Linux-Client-Agent, um den neuen Client mit opsi zu verwalten.
Ablauf der Installation

So sehen die einzelnen Schritte bei der Installation mit dem distributionseigenen Installer und dem opsi-Netboot-Produkt aus:

  1. Sie booten das opsi-Linux-Bootimage; dieses löscht eventuell vorhandene Partitionstabellen und erstellt eine kleine, temporäre Hilfspartition.

  2. Das opsi-Linux-Bootimage holt sich das initrd der Distribution und entpackt es in der Hilfspartition.

  3. Das opsi-Linux-Bootimage holt sich die generische Vorlage für die Antwortdatei, passt diese an (personalisiert sie) und legt sie ins initrd-Verzeichnis.

  4. Danach erzeugt das Bootimage weitere Skripte und Konfigurationsdateien (z. B. zur Installation des Client-Agent) und speichert sie ebenfalls im initrd-Verzeichnis.

  5. Das angepasste initrd-Verzeichnis wird wieder zusammengepackt.

  6. Das opsi-Linux-Bootimage bootet den Distributions-Kernel mit dem gepatchten initrd per kexec.

  7. Das so geladene System installiert das Zielsystem unattended und installiert abschließend den opsi-linux-client-agent.

Die Vorteile dieses Vorgehens sind:

  • Die Installation findet exakt gemäß den Distributions-Anforderungen statt. Besonders in Unternehmen mit Supportverträgen kann das besonders wichtig sein.

  • Die Integration neuer Releases in opsi wird einfacher und dadurch schneller.

  • Bei den SUSE- und Red-Hat-basierten Distributionen, bei Linux Mint und Ubuntu ab 22.04 findet die Installation aus Quellen statt, die auf dem opsi-Server liegen. Das ist schneller und unempfindlicher gegen Störungen als die Installation über Internet-Repositorys.

Installations-Medien für die Installation

SUSE- und Red-Hat-basierte Distributionen, Linux Mint und Ubuntu 22.04 benötigen die offiziellen Installations-Medien auf dem opsi-Depotserver. Speichern Sie diese Daten im Unterverzeichnis iso bzw. isocontent des jeweiligen Netboot-Produktes (/var/lib/opsi/depot) ab:

  • iso: Hier gehört ein ISO-Image hin.

  • isocontent: Hier liegt der Inhalt eines ISO-Images (ähnlich wie im installfiles-Verzeichnis eines Windows-Netboot-Paketes).

Um den Inhalt eines solchen ISO-Images bereitzustellen, mounten Sie dieses temporär, kopieren rekursiv die Daten sowie die beiden versteckten Dateien .treeinfo und .discinfo. Anschließend hängen Sie das gemountete ISO wieder aus. Für das Produkt sles15-5 sieht das beispielsweise so aus und gilt für alle anderen unterstützten RPM basierten Bertriebssysteme:

mount SLE-15-SP5-Full-x86_64-GM-Media1.iso /mnt
cp -r /mnt/* /var/lib/opsi/depot/sles15-5/isocontent/
cp /mnt/.treeinfo /var/lib/opsi/depot/sles15-5/isocontent/
cp /mnt/.discinfo /var/lib/opsi/depot/sles15-5/isocontent/
umount /mnt
Die Datei .discinfo ist nicht bei allen Distributionen vorhanden.
Allgemeine Propertys

Wenn Sie in der Management-Oberfläche opsi-configed ein Netboot-Produkt auswählen, können Sie im rechten Fensterbereich die Propertys einblenden:

Propertys der Linux-Netboot-Produkte (hier: *debian12*)
Abbildung 1. Propertys der Linux-Netboot-Produkte (hier: debian12)

In den aktuellen Netboot-Produkten zur Linux-Installation gibt es unter anderem die folgenden Propertys:

  • architecture: Mit welcher Architektur soll das Zielsystem installiert werden? Das beeinflusst außerdem das verwendete Boot-Image. (Default: 64bit)

  • askbeforeinst: Soll das Starten der Installation am Client bestätigt werden müssen? (Default: true)

  • console_keymap: Legt das Tastatur-Layout fest, nicht unter ubuntu22-04. (Default: de bzw. von Distribution abhängig)

  • language oder locale: Bestimmt die zu installierende Sprache (locale). (Default: de DE bzw. von Distribution abhängig)

  • timezone: Legt die Zeitzone des Linux-Systems fest. (Default: Europe/Berlin)

  • root_password: Setzt das Passwort für root. (Default: linux123)

  • user_name: Hier steht der Name des nicht-privilegierten Benutzers ohne root-Rechte. (Default: user)

  • user_password: Setzt das Passwort für den Account user. (Default: linux123)

  • proxy: Falls erforderlich, tragen Sie hier die Adresse des Proxyservers ein (http://<ip>:<port>).

  • setup_after_install: Tragen Sie hier eine Liste von opsi-Produkten ein, die im Anschluss an die OS-Installation auf setup gestellt werden sollen.

  • install_opsi-client-agent: Installiert gleichzeitig den Linux-Client-Agent. (Default: true)

Der Linux-Client-Agent ist eine kostenpflichtige Erweiterung. Das heißt, dass Sie eine Freischaltdatei benötigen. Sie erhalten diese, nachdem Sie die Erweiterung gekauft haben. Zu Evaluierungszwecken stellen wir Ihnen kostenlos eine zeitlich befristete Freischaltung zur Verfügung. Bitte kontaktieren Sie uns dazu per E-Mail.
Debian, Ubuntu und Linux Mint

Aktuell stehen die folgenden Netboot-Produkte für Debian, Ubuntu und Linux Mint zur Verfügung: debian, debian12, debian11, debian10, ubuntu, ubuntu22-04, ubuntu20-04, mint21-2, mint21-1, mint21, mint20-3, mint20-2 und mint20-1 (siehe opsi-Client: unterstützte Linux-Distributionen).

Diese Distributionen verwenden die Installations-Quellen aus dem Netz. Ausgenommen sind ubuntu22-04 und die Linux-Mint-Netboot-Produkte: Sie erwarten zusätzlich ein ISO-Image im Produkt-Unterverzeichnis iso.

Wegen des bei Ubuntu 22.04 verwendeten Installers sind nicht alle oben aufgeführten Propertys im Netboot-Produkt enthalten.

Die Produkte für Debian-basierte Distributionen haben die folgenden zusätzlichen Propertys:

  • online_repository: Hier steht das Repository der Distribution für die Installation.

  • encrypt_password: (nicht unter ubuntu22-04) Tragen Sie hier ein Passwort für die Festplatten-Verschlüsselung ein; Voraussetzung: encrypt_logical_volumes=true. (Default: linux123)

  • installation method: Hier steht die Installations-Methode; funktioniert nur mit der UEFI Erweiterung. (Default: kexec) Mögliche Werte:

    • reboot: Es wird eine kleine Partition angelegt, und der Installer wird nach einem Reboot von dieser Partition gestartet.

    • kexec: Das opsi-Linux-Bootimage startet den Installer direkt per kexec; es erfolgt kein Reboot.

  • partition_disk: (nicht unter ubuntu22-04) Tragen Sie die zu verwendende Festplatte ein, entweder first oder den kompletten Gerätenamen, z. B. /dev/sda, /dev/sdb usw. (Default: first)

  • preseed: Hier steht die zu verwendende Auto-Installationsdatei; sie befindet sich im Produktverzeichnis im Ordner custom. Unter ubuntu22-04 steht hier autoinstall, ansonsten sind Werte wie auto, raid.cfg, raid.yml usw. möglich. (Default: auto)

  • partition_method: Wählen Sie die Methode zur Partitionierung der Festplatte. (Default: lvm) Mögliche Werte sind:

    • regular: Standard-Partitionierung (unter ubuntu22-04: direct)

    • lvm: LVM-System einrichten (Logical Volume Manager)

    • crypto: LVM in einer verschlüsselten Partition anlegen (nicht unter ubuntu22-04)

  • partition_recipe: Wählt ein Partitionierungs-Schema aus (nicht unter ubuntu22-04). (Default: atomic) Mögliche Werte sind:

    • atomic: alle Daten in einer einzigen Partition

    • home: separate Partition für die Home-Verzeichnisse (/home)

    • multi: Aufteilung in mehrere Partitionen: /home, /usr, /var, und /tmp

  • desktop_package: Entscheiden Sie sich für eine Desktopumgebung (nur Debian/Ubuntu). Mögliche Werte: standard, ubuntu-desktop, kubuntu-desktop, lubuntu-desktop, xubuntu-desktop, ubuntu-gnome-desktop (Default: standard)

  • language_packs: (nicht unter ubuntu22-04) Installieren Sie zusätzliche Sprachen. Mögliche Werte: ar, bg, bg, by, cf, de, dk, en, es, et, fa, fi, fr, gr, il, it, kg, kk, lt, mk, nl, no, pl, ro, ru, sg, sr, ua, uk, us, wo (Default: de)

Univention Corporate Server (UCS)

Es gibt ein Netboot-Paket ucs50 für Univention Corporate Server (UCS) 5.0 (siehe opsi-Client: unterstützte Linux-Distributionen).

Die Basis-Installation bezieht die Pakete aus den offiziellen UCS-Repositorys. Sie können unser Netboot-Produkt dazu verwenden, eine der folgenden Servervarianten zu installieren:

  • Primary Directory (Domaincontroller Master)

  • Replica Directory Node (Domaincontroller Slave)

  • Backup Directory Node (Domaincontroller Backup)

  • Managed Node (Memberserver)

Wir empfehlen die Installation des Produktes l-opsi-server, um aus einem UCS-System einen opsi-Server zu machen.

Zusätzlich zu den eben genannten Serverrollen, ermöglicht dieses Produkt es auch, Clients über einen Memberserver zu installieren; dazu gibt es einige Besonderheiten zu beachten. Neben den in Abschnitt Debian, Ubuntu und Linux Mint genannten Eigenschaften besitzt das Produkt ucs50 die folgenden UCS-spezifischen Propertys:

  • dns_domain: Hier steht der DNS Domain Name, z. B. example.com. (Default: ucs.test)

  • ldap_base: Konfiguration des LDAP-Basisnamens, z. B. dc=example,dc=com. (Default: dc=ucs,dc=test)

  • ucs_code_name: Hier steht der Codename der UCS-Version, die im Online-Repository bereitgestellt wird. (Default: ucs501)

  • organisation: Hier steht der Name der Organisation, wie er in der UCS-Installation verwendet wird. (Default: uib gmbh)

  • windomain: Tragen Sie den Namen der Samba/Windows-Domäne ein. (Default: MYDOMAIN)

  • external_nameserver: Geben Sie einen externen Nameserver ein, entweder eine IP-Adresse (z. B. 10.11.12.13) oder auto (DHCP-Server ist zuständig). (Default: auto)

  • ucs_master_ip: Hier steht die IP-Adresse des Primary Directory (Domaincontroller Master); wird beim Joinen von den anderen Rollen verwendet. (Default: 10.10.10.10)

  • ucs_master_admin_password: Tragen Sie das Administrator-Passwort des UCS-Domaincontroller ein; wird beim Joinen von den anderen Rollen verwendet. (Default: linux123)

  • ucs_role: Definiert die Rolle des UCS-Servers, verwendet die ehemaligen Bezeichnungen. (Default: domaincontroller_master) Mögliche Werte sind:

    • domaincontroller_master: Primary Directory (Domaincontroller Master)

    • domaincontroller_backup: Backup Directory Node (Domaincontroller Backup)

    • domaincontroller_slave: Replica Directory Node (Domaincontroller Slave)

    • memberserver: Managed Node (Memberserver)

SLES und openSUSE

Aktuell stehen die folgenden Netboot-Produkte für SUSE Linux Enterprise Server (SLES) und openSUSE Leap zur Verfügung: sles15sp5, sles15sp4, sles15sp3, sles15sp2, sles15sp1, sles12sp5, sles12sp4, sles12sp3, opensusel15-5 und opensusel15-4 (siehe opsi-Client: unterstützte Linux-Distributionen).

Die SLES- und openSUSE-Netboot-Produkte haben die folgenden zusätzlichen Propertys:

name: productkey
multivalue: False
editable: True
description: email:regcode-sles for suse_register. Is only used if the  host parameter  `license-management.use` is set to  false . If it set to  True  the license key will be get from the license management module. / La clé de licence pour l'installation. Est utilisée uniquement si dans "Réseau et paramètres supplémentaires" `license-management.use` est défini à false (faux) . Si c'est réglé sur True (vrai) la clé de licence sera obtenue du module de gestion des licences.
values: ["", "myemail@example.com:xxxxxxxxxxxxxx"]
default: [""]

name: suse_register
description: set to false, if you don't want to register your system online, if you set this to false you have to give local repositories
default: True

name: local_repositories
multivalue: True
editable: True
description: list of local repositories to use. Syntax: "repository description", example entry: "http://sles.example.com/suse/repo NameForRepo"
values: [""]
default: [""]

name: install_unattended
description: If false then do interactive installation
default: True

Für diese Systeme legen Sie ein ISO-Image auf dem Depot-Share ab. Dazu laden Sie das Installationsmedium herunter, mounten es und kopieren den Inhalt ins Verzeichnis isocontent, z. B. nach /var/lib/opsi/depot/sles15-3/isocontent/ (siehe Abschnitt Installations-Medien für die Installation). Führen Sie anschließend das Kommando opsi-set-rights aus.

Zum Herunterladen von SUSE Linux Enterprise Server (SLES) benötigen Sie zwingend einen Account beim Hersteller.
RHEL, AlmaLinux, Rocky Linux und Oracle Linux

Aktuell stehen die folgenden Netboot-Produkte für Red Hat Enterprise Linux (RHEL), AlmaLinux, Rocky Linux und Oracle Linux zur Verfügung: rhel9, rhel8, alma9, alma8, rocky9, rocky8, oraclelinux9 und oraclelinux8 (siehe opsi-Client: unterstützte Linux-Distributionen).

Diese Netboot-Produkte haben die folgenden zusätzlichen Propertys:

name: install_unattended
description: If false then do interactive installation
default: True

name: selinux_mode
multivalue: False
editable: False
description: In which mode should SELinux run ?
values: ["enforcing", "permissive", "disabled"]
default: ["permissive"]

name: partition_method
multivalue: False
editable: False
description: plain: Regular partitions with no LVM or Btrfs. / lvm: The LVM partitioning scheme. / btrfs: The Btrfs partitioning scheme. / thinp: The LVM Thin Provisioning partitioning scheme.
values: ["plain", "lvm", "btrfs", "thinp"]
default: ["lvm"]

name: productkey
multivalue: False
editable: True
description: email:regcode for subscription_register. Is only used if the  host parameter  `license-management.use` is set to  false . If it set to  True  the license key will be get from the license management module. / La clé de licence pour l'installation. Est utilisée uniquement si dans "Réseau et paramètres supplémentaires" `license-management.use` est défini à false (faux) . Si c'est réglé sur True (vrai) la clé de licence sera obtenue du module de gestion des licences.
values: ["", "myemail@example.com:xxxxxxxxxxxxxx"]
default: [""]

name: subscription_register
description: set to false, if you don't want to register your system online, if you set this to false you have to give local repositories
default: True
AlmaLinux

Laden Sie das passende ISO-Image herunter, z. B. von https://repo.almalinux.org/almalinux/. Mounten Sie es und kopieren den Inhalt ins Verzeichnis isocontent, z. B. nach /var/lib/opsi/depot/alma8/isocontent/. Führen Sie anschließend das Kommando opsi-set-rights aus.

Red Hat Linux Enterprise

Laden Sie das passende ISO-Image herunter, z. B. von https://developers.redhat.com/products/rhel/download. Mounten Sie es und kopieren den Inhalt ins Verzeichnis isocontent, z. B. nach /var/lib/opsi/depot/redhat8/isocontent/. Führen Sie anschließend das Kommando opsi-set-rights aus.

Zum Herunterladen von Red Hat Linux Enterprise (RHEL) benötigen Sie zwingend einen Account beim Hersteller.
Rocky Linux

Laden Sie das passende ISO-Image herunter, z. B. von https://rockylinux.org/download/. Mounten Sie es und kopieren den Inhalt ins Verzeichnis isocontent, z. B. nach /var/lib/opsi/depot/rocky8/isocontent/. Führen Sie anschließend das Kommando opsi-set-rights aus.

Oracle Linux

Laden Sie das passende ISO-Image herunter, z. B. von https://yum.oracle.com/oracle-linux-isos.html. Mounten Sie es und kopieren den Inhalt ins Verzeichnis isocontent, z. B. nach /var/lib/opsi/depot/oraclelinux9. Führen Sie anschließend das Kommando opsi-set-rights aus.

Netboot-Produkte (generischer Installer)

Der Ablauf der Installation ist etwas anders als bei den distributionseigenen Installern: Zunächst wird per Netboot das opsi-Linux-Bootimage gebootet, das auch für die Installation von Windows-Rechnern zum Einsatz kommt. Das Bootimage bringt auch ein Werkzeug zum Partitionieren der Festplatte des neuen Clients mit; es richtet eine Root- (/) und eine Swap-Partition (/swap) ein und formatiert diese. Danach erfolgt die Installation des Grundsystems (mit Netzwerkkonfiguration und SSH, aber ohne grafische Oberfläche).

Die Installation des Grundsystems verläuft bei den einzelnen Distributionen jeweils anders. Allen gemeinsam ist, dass jeweils die Originalpakete der Distribution installiert werden.

Optional können Sie direkt im Anschluss den Client-Agent installieren, der sich um das Einspielen und Konfigurieren weiterer Software kümmert.

Je nach Distribution konfigurieren Sie weitere Komponenten nach dem ersten Booten des Linux-Rechners. Das betrifft beispielsweise die Sicherheitsarchitektur SELinux bei den Red-Hat-basierten Systemen oder die Tastatur bei Debian-basierten Distributionen. Diese Aufgaben übernimmt das Localboot-Produkt l-os-postinst.

Allgemeine Propertys

Die folgenden Propertys steuern die Linux-Installationen in allen Netboot-Produkten:

  • architecture: Mit welcher Architektur soll das Zielsystem installiert werden? Das beeinflusst außerdem das verwendete Boot-Image. (Default: 64bit)

  • askbeforeinst: Soll das Starten der Installation am Client bestätigt werden müssen? (Default: true)

  • system_partition_size: Wie groß soll die System-Partition sein? Sie können die Größe prozentual oder als absoluten Wert angeben (G = GByte). Wenn Sie weniger als 100 % angeben, wird der verbleibende Rest als Daten-Partition verwendet (Property data_partion_create muss true sein). (Default: 100%)

  • swap_partition_size: Geben Sie die Größe der Swap-Partition an. (Default: 2000M)

  • data_partition_create: Wenn true, wird eventuell verbleibender freier Festplattenplatz zum Erstellen einer Daten-Partition verwendet. (Default: true)

  • data_partition_preserve: Soll eine bereits bestehende Daten-Partition erhalten bleiben? (Default: never) Mögliche Werte sind:

    • always: Installation abbrechen, wenn das Erhalten einer existierenden Partition mit dem Label data mit den angegebenen Partitionierungs-Daten nicht möglich ist.

    • if_possible: Wird eine Partition mit dem Label data gefunden, und ist das Erhalten dieser Partition mit den angegebenen Partitionierungs-Daten nicht möglich, so wird die Partition gelöscht.

    • never: Die gesamte Partitions-Tabelle wird stets neu geschrieben.

  • language: Bestimmt die zu installierende Sprache (Default: de)

  • console_keymap: Legt das Tastatur-Layout fest. (Default: de bzw. von Distribution abhängig)

  • timezone: Welche Zeitzone soll das Linux-System haben? (Default: Europe/Berlin)

  • root_password: Setzt das Passwort für root. (Default: linux123)

  • user_password: Setzt das Passwort für den Account user. (Default: linux123)

  • online_repository: Welches Distributions-Repository soll für die Installation verwendet werden? (nicht bei SLES) (Default: distributionsabhängig)

  • proxy: Falls erforderlich, tragen Sie hier die Adresse des Proxyservers ein (http://<ip>:<port>). (Default: leer)

  • additional_packages: Welche zusätzlichen Pakete sollen installiert werden? Geben Sie die Pakete als durch Leerzeichen unterteilte Liste an. (Default: leer)

  • wget_and_execute: Geben Sie hier die URL einer Datei an, die nach dem Abschluss der Installation heruntergeladen und ausgeführt werden soll. (Default: leer)

  • install_opsi-client-agent: Installiert gleichzeitig den Linux-Client-Agent. (Default: true)

  • release: (nur Debian und Ubuntu) Welches Release der Distribution soll installiert werden? (Default: distributionsabhängig)

  • setup_after_install: Tragen Sie hier eine Liste von opsi-Produkten ein, die im Anschluss an die OS-Installation auf setup gestellt werden sollen. (Default: l-os-postinst)

Debian und Ubuntu

Die Installation des Grundsystems erfolgt per debootstrap direkt aus dem Internet.

debootstrap ist ein Tool, das ein Debian-Basissystem in ein Unterverzeichnis eines bestehenden Systems installiert. Es benötigt kein Installationsmedium oder ISO-Image, sondern nur Zugriff auf ein Debian-Repository.
  • Das Produkt hat produktiven Status.

  • Das Produkt ist UEFI/GPT-kompatibel.

  • Es gibt für diese Produkt passende opsi-Server-Pakete, die über das Property install_opsi_server=true installiert werden können.

Proxy für Debian-Pakete

Um Bandbreite zu schonen, können Sie einen Proxy mit Caching-Funktion wie etwa Apt-Cacher NG verwenden. Er speichert Debian-Pakete zwischen und eignet sich damit ideal für Umgebungen, in denen mehr als ein Rechner auf die gleichen Paketquellen zugreifen, also z. B. Debian, Ubuntu und Co. Wird ein Paket auf mehr als einem Client benötigt, muss es nur einmal aus dem Internet heruntergeladen werden.

opsi-linux-client-agent

Der opsi-client-agent für Linux ist Bestandteil des Kofinanzierungsprojektes 'Linux Agent' und derzeit kostenpflichtig.

Ein Rechner kann nicht gleichzeitig am selben 'opsi-Configserver' Client und Server (z.B. 'opsi-Depot' / 'opsi-Configserver') sein.
Dies ist ein Problem mit der derzeitigen Datenstruktur in opsi und wird zu einem späteren Zeitpunkt gelöst.
Ein 'opsi-Configserver' kann sich also auch nicht selbst als Client haben. Es ist aber durchaus möglich einen Linuxclient als opsi-Server zu installieren der dann selber als 'opsi-Configserver' agiert oder als 'opsi-Depot' für einen anderen 'opsi-Configserver'. Wenn Sie auf diese Weise einen opsi-Server aufgesetzt haben und wollen diesen als Depotserver an dem 'opsi-Configserver' registrieren an dem diese Maschine auch Client ist, müssen Sie den Rechner als Client vorher löschen.

Der opsi-client-agent für Windows besteht im Kern aus den Komponenten:

  1. dem Service opsiclientd

  2. dem Actionprocessor opsi-script / opsi-script-nogui

Der opsi-client-agent für Linux basiert auf einer Portierung des Windows-Clientagenten nach Linux.

Die Aufgaben des opsiclientd beim Systemstart sind:

  • Kontakt mit dem opsi-Server: Prüfen ob Aktionen gesetzt sind

  • Mounten des Depot Shares

  • Gegebenenfalls Updaten des Actionprocessors

  • Starten des Actionprocessors

  • Unmount des Depot Shares

  • Senden der Logdatei an den Server

Der Actionprocessor heißt unter Linux opsi-script und ist aus den selben Quellen gebaut wie unter Windows. Damit steht unter Linux die gleiche Scriptsyntax zur Verfügung wie unter Windows. Weiterhin sind alle nicht plattformspezifischen Funktionen umgesetzt wie z.B:

  • File handling

  • String und Stringlisten Funktionen

  • Ausführen von externen Scripten und Programmen

  • Kommunikation mit dem opsi-Server

  • Patchen von Konfigurationsdateien

Natürlich gibt es unter Linux keine Funktionen zum Patchen der Registry, dafür aber neue linuxspezifische Funktionen wie z.B.:

  • getLinuxDistroType

  • getLinuxVersionMap

Das Logging des opsi-script ist analog zur dem unter Windows.

Anders als bei Windows gibt es den opsi-script neben einer grafischen Version für die Arbeit unter X-Windows zusätzlich in einer Version 'no-gui' für Systeme ohne grafische Oberfläche.

opsi-linux-client-agent: Installation: service_setup.sh

Diese Methode dient zur Installation auf einzelnen Rechnern. Für ein Massen-Rollout siehe weiter unten.

  1. Loggen Sie sich mit root Rechten auf dem Client ein.

  2. Mounten Sie den share //<opsiserver>/opsi_depot an eine beliebige Stelle.

  3. Wechseln Sie in das Verzeichnis opsi-linux-client-agent auf dem gemounteten share

  4. Starten Sie dort das Script ./service_setup.sh

Das Skript nimmt per opsi-Webservice Kontakt zum Server auf, um serverseitig den Client zu erzeugen und den pckey zu erfahren. Dies erfolgt zunächst mit einer user/password Kombination, die aus mehreren möglichen Konfigurationsdateien auszulesen versucht wird. Schlägt dies fehl, so erscheint ein Login mit der Frage nach client-id, Service-URL, user und password. Dort kann die Operation mit den Accountdaten eines Mitglieds der Gruppe opsi-Admin-Gruppe autorisiert werden.

opsi-linux-client-agent: Installation: opsi-deploy-client-agent

Das opsi-deploy-client-agent verteilt den opsi-client-agent direkt vom opsi-Server auf die Clients.

Voraussetzung hierfür sind bei den Clients:

  • ssh Zugang als root oder als user, welcher sudo ausführen darf.

Das Skript erzeugt serverseitig den Client, kopiert die Installations-Dateien und Konfigurationsinformationen, wie bspw. den pckey, auf den Client und startet dort die Installation.

Mit dem opsi-deploy-client-agent kann auch eine ganze Liste von Clients bearbeitet werden. Dazu können entweder beliebig viele Clients als letzter Parameter übergeben werden oder mit der Option '-f' die Clients aus einer Datei eingelesen werden. Bei der Verwendung einer Datei, muss in jeder Zeile ein Client stehen.

Das Programm kann mit IP-Adressen, Hostnamen und FQDNs arbeiten. Es versucht automatisch zu erkennen welche Art von Adresse übergeben wurde.

Das Skript findet sich unter '/var/lib/opsi/depot/opsi-linux-client-agent'
Führen Sie das Programm mit 'root' Rechten aus oder als user, der Teil der Gruppe "opsifileadmins" ist

bonifax:/var/lib/opsi/depot/opsi-linux-client-agent# ./opsi-deploy-client-agent  --help
usage: opsi-deploy-client-agent [-h] [--version] [--verbose]
                                [--debug-file DEBUGFILE] [--username USERNAME]
                                [--password PASSWORD]
                                [--use-fqdn | --use-hostname | --use-ip-address]
                                [--ignore-failed-ping]
                                [--reboot | --shutdown | --start-opsiclientd | --no-start-opsiclientd]
                                [--hosts-from-file HOSTFILE]
                                [--skip-existing-clients]
                                [--threads MAXTHREADS] [--depot DEPOT]
                                [--group GROUP] [--smbclient | --mount]
                                [--keep-client-on-failure | --remove-client-on-failure]
                                [host [host ...]]

Deploy opsi client agent to the specified clients. The c$ and admin$ must be
accessible on every client. Simple File Sharing (Folder Options) should be
disabled on the Windows machine.

positional arguments:
  host                  The hosts to deploy the opsi-client-agent to.

optional arguments:
  -h, --help            show this help message and exit
  --version, -V         show program's version number and exit
  --verbose, -v         increase verbosity (can be used multiple times)
  --debug-file DEBUGFILE
                        Write debug output to given file.
  --username USERNAME, -u USERNAME
                        username for authentication (default:
                        Administrator).Example for a domain account: -u
                        <DOMAIN>\\<username>
  --password PASSWORD, -p PASSWORD
                        password for authentication
  --use-fqdn, -c        Use FQDN to connect to client.
  --use-hostname        Use hostname to connect to client.
  --use-ip-address      Use IP address to connect to client.
  --ignore-failed-ping, -x
                        try installation even if ping fails
  --reboot, -r          reboot computer after installation
  --shutdown, -s        shutdown computer after installation
  --start-opsiclientd, -o
                        Start opsiclientd service after installation
                        (default).
  --no-start-opsiclientd
                        Do not start opsiclientd service after installation.
  --hosts-from-file HOSTFILE, -f HOSTFILE
                        File containing addresses of hosts (one per line).If
                        there is a space followed by text after the address
                        this will be used as client description for new
                        clients.
  --skip-existing-clients, -S
                        skip known opsi clients
  --threads MAXTHREADS, -t MAXTHREADS
                        number of concurrent deployment threads
  --depot DEPOT         Assign new clients to the given depot.
  --group GROUP         Assign fresh clients to an already existing group.
  --smbclient           Mount the client's C$-share via smbclient.
  --mount               Mount the client's C$-share via normal mount on the
                        server for copying the files. This imitates the
                        behaviour of the 'old' script.
  --keep-client-on-failure
                        If the client was created in opsi through this script
                        it will not be removed in case of failure. (DEFAULT)
  --remove-client-on-failure
                        If the client was created in opsi through this script
                        it will be removed in case of failure.

opsi-linux-client-agent: Installation: Durch die opsi netbootprodukte

Wenn Sie ein Linux über die opsi-Netboot-Produkte installieren, wird der opsi-linux-client-agent automatisch mit installiert, wenn das Property install_opsi-client-agent auf 'true' steht.

opsi-linux-client-agent: opsiclientd Konfiguration

Der opsiclientd für Linux ist eine Portierung des opsiclientd für Windows und arbeitet mit einer analogen Konfigurations Datei: /etc/opsi-client-agent/opsiclientd.conf.

Eine ausführliche Beschreibung dieser Konfiguration findet sich im Kapitel zum opsi-client-agent: opsi-client Konfiguration

Dabei sind nicht alle Features und Events auch unter Linux verfügbar.
Verfügbar sind:

  • Start beim Systemstart (bzw. start des opsiclientd) unter Linux ist der Name des Events opsiclientd_start (und nicht gui_startup)

  • event_on_demand

  • Das event_timer aber nur mit der Einstellung: super = default

Nicht verfügbar sind (derzeit):

  • Alles was mit dem lokalen Cache ('WAN-Erweiterung') zu tun hat.

  • Das event_net_connection

  • Das event_on_shutdown

  • Das event_silent_install

opsi-linux-client-agent: Pfade

Der opsi-linux-client-agent legt Dateien an folgenden Orten ab:

Die Binaries (bzw symlinks auf binaries):

/opt/opsi-script

/usr/bin/opsiclientd

Die Hilfsdateien für den opsi-script finden sich in:

Skindateien:
/opt/opsi-script/skin custom : /usr/share/opsi-script/customskin

opsi-script Library:
/opt/opsi-script/lib

Translation Dateien:
/opt/opsi-script/locale/opsi-script.po

Die Konfigurationen:

/etc/opsi-client-agent/opsiclientd.conf (Konfiguration des opsiclientd)

/etc/opsi-script/opsi-script.conf (Konfiguration des opsi-script)

Logdateien sind zu finden unter:

/var/log/opsi-client-agent

/var/log/opsi-client-agent/opsiclientd

/var/log/opsi-script/

opsi-linux-client-agent: Known Bugs

Das Kopieren von vielen Dateien von einem Samba3-Share ist abhängig von der Samba-Version fehlerhaft. Es werden nicht alle Dateien kopiert. Das Problem wurde bei Samba4 Shares bisher nicht beobachtet.

Als Workaround kann statt:

[Files_copy_netboot]
copy -s "%scriptPath%/installfiles/*" "$target$/installfiles/"

das folgende verwendet werden:

[ShellScript_opsi_copy_netboot]
set -x
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
cd "%scriptPath%"
tar cf - installfiles | ( cd "$target$/installfiles/" ; tar xf - )

Beispiel Scriptteile

Unter Windows gilt für die Softwareverteilung: Die Installation von Software ist genauso wichtig wie die anschließende Konfiguration der Software.
Unter Linux stehen die meisten Pakete über die Repositories der Distribution zur Verfügung. Dadurch wird der Installationsanteil kleiner, der Konfigurationsanteil aber bleibt. Weiterhin gibt es auch Applikationen, welche nicht über die Standardrepositories verfügbar sind.
Hier müssen unter Umständen zunächst weitere Repositories dem System hinzugefügt werden bzw. Installationsquellen dem Paket zugefügt werden.
Wichtig ist, dass alle Installations- und Konfigurationsarbeiten zentral vom opsi-Server gesteuert und dort auch geloggt werden.

Im folgenden finden Sie Beispiele für folgende Aufgaben in einem beispielhaften Script für den opsi-linux-client-agent:

  • Beenden wenn es nicht unter Linux läuft

  • Feststellen des Distributionstyps zur Entscheidung zwischen apt, zypper und yum

  • Feststellen der genauen Linux Version

  • Installation eines Paketes

  • Hinzufügen eines Repositories

Beispiel: Beenden wenn es nicht unter Linux läuft:

[Actions]
requiredWinstVersion >= "4.11.4.1"
ScriptErrorMessages=off

DefVar $OS$

set $OS$ = GetOS

if not($OS$ = "Linux")
	LogError "Wrong OS: Product: " + $ProductId$ + " is only for Linux"
	isFatalError "Wrong OS"
endif

Beispiel: Feststellen des Distributionstyps:

[Actions]
requiredWinstVersion >= "4.11.4.1"
ScriptErrorMessages=off

DefVar $distrotype$

set $distrotype$ = getLinuxDistroType

if $distrotype$ = 'debian'
	Message "Try to get Package Lock..."
	if waitForPackageLock("60","false")
		comment "we got the package lock."
	else
		LogError "could not get Package Lock"
		isFatalError "package lock failed"
	endif
	ShellScript_Upgrade_deb
else
	LogError "Wrong Distro: This Product is for Debian/Ubuntu only"
	isFatalError "Wrong distro"
endif

if not("0" = getLastExitCode)
	Message "failed ShellScript_Upgrade"
	LogError "failed ShellScript_Upgrade"
	isFatalError "failed Upgrade"
endif


[ShellScript_Upgrade_deb]
set -x
export DEBIAN_FRONTEND=noninteractive
apt update
apt --yes dist-upgrade
exit $?

Beispiel: Feststellen der genauen Linux Version und Installation eines Paketes:

[Actions]
requiredWinstVersion >= "4.11.4.1"
ScriptErrorMessages=off

DefVar $distCodeName$
DefVar $distroName$
DefVar $distRelease$
DefVar $desktop$

DefStringList $linuxInfo$

set $linuxInfo$ = getLinuxVersionMap
set $distCodeName$ = getValue("Codename", $linuxInfo$)
set $distRelease$ = getValue("Release", $linuxInfo$)
set $distroName$  = getValue("Distributor ID", $linuxInfo$)

set $desktop$ = GetProductProperty("desktop", "kde")


if $distrotype$ = 'suse'
	if $desktop$ = "unity"
		Message " No Unity on SUSE - fallback to KDE ..."
		set $desktop$ = "kde"
	endif ; unity

	Message "Try to get Package Lock..."
	if waitForPackageLock("60","false")
		comment "we got the package lock."
	else
		LogError "could not get Package Lock"
		isFatalError "package lock failed"
	endif

	if $desktop$ = "kde"
		if ($distroName$ = 'openSUSE project')
			ShellScript_kde_suse
		endif
		if ("SUSE LINUX" = $distroName$) and ($distRelease$ = "11")
			ShellScript_kde_sles11
		endif
		if not("0" = getLastExitCode)
			LogError "failed ShellScript"
			Message "failed kde"
			isFatalError "failed kde"
		endif
	endif ; kde
endif; suse type

[ShellScript_kde_suse]
set -x
zypper --no-gpg-checks --non-interactive install patterns-openSUSE-kde4 patterns-openSUSE-kde4_basis
zypper --no-gpg-checks --non-interactive install splashy-branding-openSUSE
exit $?

[ShellScript_kde_sles11]
set -x
zypper --no-gpg-checks --non-interactive install --auto-agree-with-licenses -t pattern kde
exit $?

Beispiel: Hinzufügen eines Repositories:

[Actions]
requiredWinstVersion >= "4.11.4.1"
ScriptErrorMessages=off

DefVar $distCodeName$
DefVar $distroName$
DefVar $distRelease$
DefVar $desktop$

DefStringList $linuxInfo$

set $linuxInfo$ = getLinuxVersionMap
set $distCodeName$ = getValue("Codename", $linuxInfo$)
set $distRelease$ = getValue("Release", $linuxInfo$)
set $distroName$  = getValue("Distributor ID", $linuxInfo$)

set $desktop$ = GetProductProperty("desktop", "kde")


if $distroName$ = 'Ubuntu'

	if $desktop$ = "cinnamon"
		set $desktopPackage$ = $desktop$
		Message "Try to get Package Lock..."
		if waitForPackageLock("60","false")
			comment "we got the package lock."
		else
			LogError "could not get Package Lock"
			isFatalError "package lock failed"
		endif
		ShellScript_ubuntu_cinnamon
		if not("0" = getLastExitCode)
			Message "failed ShellScript_ubuntu_cinnamon"
			LogError "failed ShellScript_ubuntu_cinnamon"
			isFatalError "failed cinnamon"
		endif
	endif ; cinnamon
endif; ubuntu

[ShellScript_ubuntu_cinnamon]
set -x
export DEBIAN_FRONTEND=noninteractive
# we need to get the add-apt-repository command
apt --yes --force-yes install python-software-properties
# the cinnamon repository
add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable
apt update
apt --yes install ubuntu-desktop
exit $?

Viele dieser und einige weitere nützliche Funktionen sind in der opsi-script standard-Bibliothek uib_lin_install.opsiscript enthalten.

Linux Localboot Produkte

Hier einige Lokalbootprodukte, welche zum Standardumfang des opsi Linuxsupports gehören.

Das Produkt l-opsi-server

Das Produkt 'l-opsi-server' dient dazu, automatisiert auf einer Linuxmaschine per opsi-linux-client-agent einen opsi-server zu installieren. Dies kann dazu dienen, um schnell einen neuen opsi-depot-server zu installieren oder z.B. ein opsi Testsystem.

Derzeit kann eine Maschine nicht gleichzeitig am selben opsi-Configserver opsi-Client und opsi-depot-server sein.
Sie haben derzeit zwei Möglichkeiten mit dieser Beschränkung umzugehen:
1. Verwendung von einem opsi-configserver: Wenn also ein per 'l-opsi-server' installierter opsi-server zum Depotserver an seinem Config-Server werden soll, so müssen Sie vorher im configed die Maschine als Client löschen.
2. Verwendung von zwei opsi-configservern: Sie setzen für die Verwaltung Ihrer opsi-server einen zweiten, unabhängigen opsi-Configserver auf, welcher nur dazu dient die anderen opsi-server zu installieren und zu pflegen. Dieser zweite opsi-Configserver kennt die anderen opsi-server also nur als Clients, während der bisherige (erste) opsi-Configserver die anderen opsi-server nur als Depots (oder garnicht) kennt.
In UCS Umgebungen wird Methode 2 empfohlen und der zweite opsi-Configserver darf keine UCS Maschine sein.

Das Produkt 'l-opsi-server' hat folgende Properties:

  • opsi_online_repository:
    (Basis-) Repository für die opsi-server installation.
    (Default="https://download.opensuse.org/repositories/home:/uibmz:/opsi:/4.2:/")
    siehe auch 'repo_kind'

  • opsi_noproxy_online_repository:
    (Basis-) Repository für die opsi-server installation (ohne cache proxy).
    (Default="https://download.opensuse.org/repositories/home:/uibmz:/opsi:/4.2:/")
    Sollten Sie bei opsi_online_repository einen Proxy oder deb-cacher mit angegeben haben (z.B. 'http://mydeb-cacher:9999/download.opensuse.org/repositories/home:/uibmz:/opsi:/4.2:/"), dann geben Sie hier die URL nochmal ohne den Proxy an. Ansonsten geben Sie hier das selbe an wie bei opsi_noproxy_online_repository.

  • repo_kind:
    Welche Repository Art ["experimental", "stable", "testing"] soll zur Installation verwendet werden ?. (Default='stable')
    Aus dem Client OS, 'opsi_online_repository' und 'repo_kind' wird die URL zusammengebaut, welche verwendet wird, um dem Client ein opsi Repository hinzuzufügen.

  • backend:
    Welches Backend soll installiert werden ? (Die Auswahl mysql benötigt die Hinterlegung einer gültigen Freischaltdatei). (Default='file')
    Eine modules Datei mit den benötigten Freischaltungen kann im custom Verzeichnis des Produktes abgelegt werden. Wird dort eine modules gefunden so wird diese verwendet.

  • opsi_admin_user_name:
    Unter welchen Namen soll ein opsi_admin_user erzeugt werden (empty= kein user wird erzeugt). (Default='adminuser')
    Wird hier ein user angegeben, so wird dieser angelegt, wird Mitglied der Gruppen 'opsiadmin', 'pcpatch'/'opsifileadmin' und bekommt als unix- und samba Passwort den Wert von opsi_admin_user_password

  • opsi_admin_user_password:
    Was ist das Passwort für den opsi_admin_user (empty= nicht erlaubt). (Default='linux123')
    siehe opsi_admin_user_name

  • setup_after_install:
    Welche opsi Produkte sollen nach der Installation von l-opsi-server installiert werden ?. (Default="")

  • allow_reboot:
    Darf die Maschine nach der Installation von l-opsi-server rebootet werden ?. (Default='true')

  • myipname:
    Soll ein abweichender IP-Name (FQDN) bei der Installation verwendet werden ? ('auto'= use standard) (Default='auto')
    siehe install_and_configure_dhcp

  • myipnumber:
    Soll eine abweichende IP-Nummer bei der Installation verwendet werden ? ('auto'= use standard) (Default='auto')+ siehe install_and_configure_dhcp

  • install_and_configure_dhcp:
    Soll ein DHCP-Server auf der Maschine installiert und konfiguriert werden ?. (Default='False')
    Wenn dieses Property 'false' ist, so werden die Properties: 'netmask', 'network','dnsdomain','nameserver' und 'gateway' nicht beachtet, da diese nur der DHP Konfiguration dienen.

  • netmask:
    Netmask (für dhcp). (Default="255.255.0.0")
    Nicht verwendet wenn 'install_and_configure_dhcp=false'

  • network:
    Netzwek Adresse (für dhcp). (Default="192.168.0.0")
    Nicht verwendet wenn 'install_and_configure_dhcp=false'

  • dnsdomain:
    DNS domain (for dhcp). (Default="uib.local")
    Nicht verwendet wenn 'install_and_configure_dhcp=false'

  • nameserver:
    Primary nameserver (für dhcp). (Default="192.168.1.245")
    Nicht verwendet wenn 'install_and_configure_dhcp=false'

  • gateway:
    gateway (option routers for dhcp). (Default="192.168.1.245")
    Nicht verwendet wenn 'install_and_configure_dhcp=false'

  • ucs_master_admin_password:
    Passwort des users 'Administrators' auf dem UCS-Master.
    Wird nur für UCS-Server benötigt und hier nur für alle Rollen außer 'Master'. (Default='linux123')

  • update_test:
    Nicht verwenden: Internal Debuging. (Default='False')

Das Produkt hat eine 'setup required before' Abhängigkeit zu dem Produkt 'l-system-update'. D.h. wenn Sie 'l-opsi-server' auf 'setup' stellen, wird automatisch 'l-system-update' auch auf setup gestellt und vorher installiert.

In dem Verzeichnis custom des Produktes l-opsi-server kann eine Freischaltdatei (modules) abgelegt werden, welche bei der Installation durch das Produkt l-opsi-server verwendet wird und beim Einspielen einer neuen Version des Produktes erhalten bleibt.

l-os-postinst für v4.0.5 Netboot installationen

Dieses Produkt übernimmt jene Teile der Basisinstallation, welche sich vom Bootimage nicht korrekt ausführen lassen.

Dies ist für die unterschiedlichen Distributionen:

  • CentOS:

    • Installation von SELinux

Das Produkt hat eine Abhängigkeit zu dem Produkt 'l-system-update', welches vor dem Lauf von 'l-os-postinst' aufgerufen wird.
Das Produkt hat eine hohe Priorität, d.h. es wird vor 'normalen' Produkten ausgeführt.

l-desktop

Das Produkt l-desktop installiert einen Desktop auf dem Rechner.

Über das Property desktop kann der zu installierende Desktop ausgewählt werden. Dabei ist zu beachten, das nicht alle Desktops auf allen Distributionen verfügbar sind. So gibt es z.B. 'Unity' nur unter Ubuntu. Wird ein nicht verfügbarer Desktop gewählt so wird ein Distributionsspezifischer Defaultdesktop installiert. Weiterhin haben die Desktop Pakete einen unterschiedlichen Umfang, welcher abhängig von Distribution und Desktop sich auf die eigentliche Desktop Software beschränken kann oder auch Basisprodukte wie libreoffice, firefox, PDF-Reader usw. enthalten kann.

Das Property desktop hat folgende Werte:

  • Gnome
    Default für Debian, CentOS, RHEL
    Verfügbar auf allen Distributionen.

  • KDE
    Default für SLES, OpenSuse Verfügbar auf allen Distributionen.

  • Unity
    verfügbar nur für Ubuntu

  • Cinnamon
    verfügbar nur für Ubuntu

  • xfce4
    Verfügbar auf Ubuntu, Debian.

  • lxde
    Verfügbar auf Ubuntu, Debian.

l-system-update

Dieses Produkt aktualisiert das System.

swaudit

Softwareinventarisierung auf Basis des Paketmanagers

hwaudit

Hardware-Inventarisierung.
Die Hardware-Inventarisierung basiert zur Zeit auf der in Python implementierten Methode wie sie auch vom bootimage verwendet wird.

l-jedit

Java-basierter Editor mit Syntaxhighlighting für opsi-script. Ist noch kein Java installiert, so wird dieses automatisch installiert.

Inventarisierung

Zur Inventarisierung werden die Daten durch den Clientagenten erhoben und an den Server gesendet. Die Hardware-Inventarisierung basiert auf den schon im Bootimage implementierten Methoden.

Die Softwareinventarisierung basiert auf den Daten des Paketmanagements der verwendeten Distribution.

UEFI / GPT Unterstützung

Die Meisten der opsi 4.1 / opsi 4.2 Linux Netbootprodukte sind UEFI/GPT kompatibel. Details siehe hierzu in der obigen Auflistung der Netbootprodukte.

Proxy für '.deb'-Pakete einrichten und verwenden

Anleitungen zur Erstellung eines eigenen Proxy zum Zwischenspeichern von '.deb'-Paketen finden Sie unter anderem hier: