Nächste: Dateisysteme, Vorige: Das Konfigurationssystem nutzen, Nach oben: Systemkonfiguration [Inhalt][Index]
operating-system
-ReferenzDieser Abschnitt fasst alle Optionen zusammen, die für
operating-system
-Deklarationen zur Verfügung stehen (siehe Das Konfigurationssystem nutzen).
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“-Objekt28.
hurd
(Vorgabe: #f
)Das Paketobjekt derjenigen Hurd, die der Kernel starten soll. Wenn dieses
Feld gesetzt ist, wird ein GNU/Hurd-Betriebssystem erzeugt. In diesem Fall
muss als kernel
das gnumach
-Paket (das ist der Microkernel,
auf dem Hurd läuft) ausgewählt sein.
Warnung: Diese Funktionalität ist experimentell und wird nur für Disk-Images unterstützt.
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: %default-kernel-arguments
)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. Siehe Tastaturbelegung für weitere Informationen.
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 sollten Sie 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 Rechnername.
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 der Swap-Speicher. Siehe Swap-Speicher.
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
)Eine Liste von Paketen, die ins globale Profil installiert werden sollen, welches unter /run/current-system/profile zu finden ist. Jedes Element ist entweder eine Paketvariable oder ein Tupel aus einem Paket und dessen gewünschter Ausgabe. Hier ist ein Beispiel:
(cons* git ; die Standardausgabe "out" (list git "send-email") ; eine andere Ausgabe von git %base-packages) ; die normale Paketmenge
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
guix package
aufrufen).
timezone
(Vorgabe: "Etc/UTC"
)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 Referenzhandbuch der GNU-C-Bibliothek). 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
(siehe Service-Referenz) und
host-name-service-type
, 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.
privileged-programs
(Vorgabe: %default-privileged-programs
)Eine Liste von <privileged-program>
-Objekten. Siehe Privilegierte 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.
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.
Derzeit wird nur der Kernel Linux-libre vollständig unterstützt. Die Nutzung von GNU mach mit GNU Hurd ist experimentell und steht nur zur Erstellung eines Disk-Image für virtuelle Maschinen bereit.
Nächste: Dateisysteme, Vorige: Das Konfigurationssystem nutzen, Nach oben: Systemkonfiguration [Inhalt][Index]