Nächste: , Vorige: , Nach oben: Systemkonfiguration   [Inhalt][Index]


8.2 operating-system-Referenz

Dieser Abschnitt fasst alle Optionen zusammen, die für operating-system-Deklarationen zur Verfügung stehen (siehe Das Konfigurationssystem nutzen).

Datentyp: operating-system

Der die Betriebssystemkonfiguration repräsentierende Datentyp. Damit meinen wir die globale Konfiguration des Systems und nicht die, die sich nur auf einzelne Nutzer bezieht (siehe Das Konfigurationssystem nutzen).

kernel (Vorgabe: linux-libre)

Das Paket für den zu nutzenden Betriebssystem-Kernel als „package“-Objekt22.

kernel-loadable-modules (Vorgabe: ’())

Eine Liste von Objekten (normalerweise Pakete), aus denen Kernel-Module geladen werden können, zum Beispiel (list ddcci-driver-linux).

kernel-arguments (Vorgabe: '("quiet"))

Eine Liste aus Zeichenketten oder G-Ausdrücken, die für zusätzliche Argumente an den Kernel stehen, die ihm auf seiner Befehlszeile übergeben werden — wie z.B. ("console=ttyS0").

bootloader

Das Konfigurationsobjekt für den Bootloader, mit dem das System gestartet wird. Siehe Bootloader-Konfiguration.

label

Diese Bezeichnung (eine Zeichenkette) wird für den Menüeintrag im Bootloader verwendet. Die Vorgabe ist eine Bezeichnung, die den Namen des Kernels und seine Version enthält.

keyboard-layout (Vorgabe: #f)

Dieses Feld gibt an, welche Tastaturbelegung auf der Konsole benutzt werden soll. Es kann entweder auf #f gesetzt sein, damit die voreingestellte Tastaturbelegung benutzt wird (in der Regel ist diese „US English“), oder ein <keyboard-layout>-Verbundsobjekt sein.

Diese Tastaturbelegung wird benutzt, sobald der Kernel gebootet wurde. Diese Tastaturbelegung wird zum Beispiel auch verwendet, wenn Sie eine Passphrase eintippen, falls sich Ihr Wurzeldateisystem auf einem mit luks-device-mapping zugeordneten Gerät befindet (siehe Zugeordnete Geräte).

Anmerkung: Damit wird nicht angegeben, welche Tastaturbelegung der Bootloader benutzt, und auch nicht, welche der grafische Anzeigeserver verwendet. Siehe Bootloader-Konfiguration für Informationen darüber, wie Sie die Tastaturbelegung des Bootloaders angeben können. Siehe X Window für Informationen darüber, wie Sie die Tastaturbelegung angeben können, die das X-Fenstersystem verwendet.

initrd-modules (Vorgabe: %base-initrd-modules)

Die Liste der Linux-Kernel-Module, die in der initialen RAM-Disk zur Verfügung stehen sollen. Siehe Initiale RAM-Disk.

initrd (Vorgabe: base-initrd)

Eine Prozedur, die eine initiale RAM-Disk für den Linux-Kernel liefert. Dieses Feld gibt es, damit auch sehr systemnahe Anpassungen vorgenommen werden können, aber für die normale Nutzung sollte man es kaum brauchen. Siehe Initiale RAM-Disk.

firmware (Vorgabe: %base-firmware)

Eine Liste der Firmware-Pakete, die vom Betriebssystem-Kernel geladen werden können.

Vorgegeben ist, dass für Atheros- und Broadcom-basierte WLAN-Geräte nötige Firmware geladen werden kann (genauer jeweils die Linux-libre-Module ath9k und b43-open). Siehe den Abschnitt Hardware-Überlegungen für mehr Informationen zu unterstützter Hardware.

host-name

Der Hostname

hosts-file

Ein dateiartiges Objekt (siehe dateiartige Objekte), das für /etc/hosts benutzt werden soll (siehe Host Names in The GNU C Library Reference Manual). Der Vorgabewert ist eine Datei mit Einträgen für localhost und host-name.

mapped-devices (Vorgabe: '())

Eine Liste zugeordneter Geräte („mapped devices“). Siehe Zugeordnete Geräte.

file-systems

Eine Liste von Dateisystemen. Siehe Dateisysteme.

swap-devices (Vorgabe: '())

Eine Liste von Zeichenketten, die Geräte identifizieren oder als „Swap-Speicher“ genutzte Dateien identifizieren (siehe Memory Concepts in The GNU C Library Reference Manual). Beispiele wären etwa '("/dev/sda3") oder '("/swapdatei"). Es ist möglich, eine Swap-Datei auf dem Dateisystem eines zugeordneten Geräts anzugeben, sofern auch die Gerätezuordnung und das Dateisystem mit angegeben werden. Siehe Zugeordnete Geräte und Dateisysteme.

users (Vorgabe: %base-user-accounts)
groups (Vorgabe: %base-groups)

Liste der Benutzerkonten und Benutzergruppen. Siehe Benutzerkonten.

Wenn in der users-Liste kein Benutzerkonto mit der UID-Kennung 0 aufgeführt wird, wird automatisch für den Administrator ein „root“-Benutzerkonto mit UID-Kennung 0 hinzugefügt.

skeletons (Vorgabe: (default-skeletons))

Eine Liste von Tupeln aus je einem Ziel-Dateinamen und einem dateiähnlichen Objekt (siehe dateiartige Objekte). Diese Objekte werden als Skeleton-Dateien im Persönlichen Verzeichnis („Home“-Verzeichnis) jedes neuen Benutzerkontos angelegt.

Ein gültiger Wert könnte zum Beispiel so aussehen:

`((".bashrc" ,(plain-file "bashrc" "echo Hallo\n"))
  (".guile" ,(plain-file "guile"
                         "(use-modules (ice-9 readline))
                          (activate-readline)")))
issue (Vorgabe: %default-issue)

Eine Zeichenkette, die als Inhalt der Datei /etc/issue verwendet werden soll, der jedes Mal angezeigt wird, wenn sich ein Nutzer auf einer Textkonsole anmeldet.

packages (Vorgabe: %base-packages)

Die Menge der Pakete, die ins globale Profil installiert werden sollen, welches unter /run/current-system/profile zu finden ist.

Die vorgegebene Paketmenge umfasst zum Kern des Systems gehörende Werkzeuge („core utilities“). Es ist empfehlenswert, nicht zum Kern gehörende Werkzeuge („non-core“) stattdessen in Nutzerprofile zu installieren (siehe Aufruf von guix package).

timezone

Eine Zeichenkette, die die Zeitzone bezeichnet, wie z.B. "Europe/Berlin".

Mit dem Befehl tzselect können Sie herausfinden, welche Zeichenkette der Zeitzone Ihrer Region entspricht. Wenn Sie eine ungültige Zeichenkette angeben, schlägt guix system fehl.

locale (Vorgabe: "en_US.utf8")

Der Name der als Voreinstellung zu verwendenden Locale (siehe Locale Names in The GNU C Library Reference Manual). Siehe Locales für weitere Informationen.

locale-definitions (Vorgabe: %default-locale-definitions)

Die Liste der Locale-Definitionen, die kompiliert werden sollen und dann im laufenden System benutzt werden können. Siehe Locales.

locale-libcs (Vorgabe: (list glibc))

Die Liste der GNU-libc-Pakete, deren Locale-Daten und -Werkzeuge zum Erzeugen der Locale-Definitionen verwendet werden sollen. Siehe Locales für eine Erläuterung der Kompatibilitätsauswirkungen, deretwegen man diese Option benutzen wollen könnte.

name-service-switch (Vorgabe: %default-nss)

Die Konfiguration des Name Service Switch (NSS) der libc — ein <name-service-switch>-Objekt. Siehe Name Service Switch für Details.

services (Vorgabe: %base-services)

Eine Liste von „service“-Objekten, die die Systemdienste repräsentieren. Siehe Dienste.

essential-services (Vorgabe: …)

Die Liste „essenzieller Dienste“ — d.h. Dinge wie Instanzen von system-service-type und host-name-service-type (siehe Service-Referenz), die aus der Betriebssystemdefinition an sich abgeleitet werden. Als normaler Benutzer sollten Sie dieses Feld niemals ändern müssen.

pam-services (Vorgabe: (base-pam-services))

Dienste für Pluggable Authentication Modules (PAM) von Linux.

setuid-programs (Vorgabe: %setuid-programs)

Eine Liste von Zeichenketten liefernden G-Ausdrücken, die setuid-Programme bezeichnen. Siehe Setuid-Programme.

sudoers-file (Vorgabe: %sudoers-specification)

Der Inhalt der Datei /etc/sudoers als ein dateiähnliches Objekt (siehe local-file und plain-file).

Diese Datei gibt an, welche Nutzer den Befehl sudo benutzen dürfen, was sie damit tun und welche Berechtigungen sie so erhalten können. Die Vorgabe ist, dass nur der Administratornutzer root und Mitglieder der Benutzergruppe wheel den sudo-Befehl verwenden dürfen.

Scheme-Syntax: this-operating-system

Wenn dies im lexikalischen Geltungsbereich der Definition eines Feldes im Betriebssystem steht, bezieht sich dieser Bezeichner auf das Betriebssystem, das gerade definiert wird.

Das folgende Beispiel zeigt, wie man auf das Betriebssystem, das gerade definiert wird, verweist, während man die Definition des label-Felds schreibt:

(use-modules (gnu) (guix))

(operating-system
  ;; …
  (label (package-full-name
          (operating-system-kernel this-operating-system))))

Es ist ein Fehler, außerhalb einer Betriebssystemdefinition auf this-operating-system zu verweisen.


Fußnoten

(22)

Derzeit wird nur der Kernel Linux-libre unterstützt. In der Zukunft wird man auch GNU Hurd benutzen können.


Nächste: , Vorige: , Nach oben: Systemkonfiguration   [Inhalt][Index]