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-Unterverzeichnisiso
. -
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:
-
Sie booten das opsi-Linux-Bootimage; dieses löscht eventuell vorhandene Partitionstabellen und erstellt eine kleine, temporäre Hilfspartition.
-
Das opsi-Linux-Bootimage holt sich das
initrd
der Distribution und entpackt es in der Hilfspartition. -
Das opsi-Linux-Bootimage holt sich die generische Vorlage für die Antwortdatei, passt diese an (personalisiert sie) und legt sie ins
initrd
-Verzeichnis. -
Danach erzeugt das Bootimage weitere Skripte und Konfigurationsdateien (z. B. zur Installation des Client-Agent) und speichert sie ebenfalls im
initrd
-Verzeichnis. -
Das angepasste
initrd
-Verzeichnis wird wieder zusammengepackt. -
Das opsi-Linux-Bootimage bootet den Distributions-Kernel mit dem gepatchten
initrd
perkexec
. -
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 iminstallfiles
-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:
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 unterubuntu22-04
. (Default:de
bzw. von Distribution abhängig) -
language
oderlocale
: 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ürroot
. (Default:linux123
) -
user_name
: Hier steht der Name des nicht-privilegierten Benutzers ohneroot
-Rechte. (Default:user
) -
user_password
: Setzt das Passwort für den Accountuser
. (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 aufsetup
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 unterubuntu22-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 perkexec
; es erfolgt kein Reboot.
-
-
partition_disk
: (nicht unterubuntu22-04
) Tragen Sie die zu verwendende Festplatte ein, entwederfirst
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 Ordnercustom
. Unterubuntu22-04
steht hierautoinstall
, ansonsten sind Werte wieauto
,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 (unterubuntu22-04
:direct
) -
lvm
: LVM-System einrichten (Logical Volume Manager) -
crypto
: LVM in einer verschlüsselten Partition anlegen (nicht unterubuntu22-04
)
-
-
partition_recipe
: Wählt ein Partitionierungs-Schema aus (nicht unterubuntu22-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 unterubuntu22-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
) oderauto
(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 (Propertydata_partion_create
musstrue
sein). (Default:100%
) -
swap_partition_size
: Geben Sie die Größe der Swap-Partition an. (Default:2000M
) -
data_partition_create
: Wenntrue
, 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 Labeldata
mit den angegebenen Partitionierungs-Daten nicht möglich ist. -
if_possible
: Wird eine Partition mit dem Labeldata
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ürroot
. (Default:linux123
) -
user_password
: Setzt das Passwort für den Accountuser
. (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 aufsetup
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.