diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2019-04-17 14:06:30 +0200 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2019-04-17 14:06:30 +0200 |
| commit | c04052e4dfeb8cd6abd84d7c9009bae81f4b8686 (patch) | |
| tree | fb1b9d90e9e7976705d3645bdcdb561c8c54eba0 /doc | |
| parent | 72f749dcb83dbda9f98e28fa3622cc1d3db6275a (diff) | |
nls: Update 'de' translation of the manual.
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/contributing.de.texi | 757 | ||||
| -rw-r--r-- | doc/guix.de.texi | 8180 |
2 files changed, 5197 insertions, 3740 deletions
diff --git a/doc/contributing.de.texi b/doc/contributing.de.texi index 259523aa6f8..6a999baece7 100644 --- a/doc/contributing.de.texi +++ b/doc/contributing.de.texi | |||
| @@ -6,7 +6,7 @@ es wachsen zu lassen! Bitte kontaktieren Sie uns auf | |||
| 6 | @email{guix-devel@@gnu.org} und @code{#guix} im Freenode-IRC-Netzwerk. Wir | 6 | @email{guix-devel@@gnu.org} und @code{#guix} im Freenode-IRC-Netzwerk. Wir |
| 7 | freuen uns auf Ihre Ideen, Fehlerberichte, Patches und alles, was hilfreich | 7 | freuen uns auf Ihre Ideen, Fehlerberichte, Patches und alles, was hilfreich |
| 8 | für das Projekt sein könnte. Besonders willkommen ist Hilfe bei der | 8 | für das Projekt sein könnte. Besonders willkommen ist Hilfe bei der |
| 9 | Erstellung von Paketen (@pxref{Paketrichtlinien}). | 9 | Erstellung von Paketen (siehe @ref{Paketrichtlinien}). |
| 10 | 10 | ||
| 11 | @cindex Verhaltensregeln, für Mitwirkende | 11 | @cindex Verhaltensregeln, für Mitwirkende |
| 12 | @cindex Verhaltenskodex für Mitwirkende | 12 | @cindex Verhaltenskodex für Mitwirkende |
| @@ -43,8 +43,8 @@ git clone https://git.savannah.gnu.org/git/guix.git | |||
| 43 | @end example | 43 | @end example |
| 44 | 44 | ||
| 45 | Wenn Sie Guix aus einem Checkout erstellen, sind außer den bereits in den | 45 | Wenn Sie Guix aus einem Checkout erstellen, sind außer den bereits in den |
| 46 | Installationsanweisungen genannten Paketen weitere nötig | 46 | Installationsanweisungen genannten Paketen weitere nötig (siehe |
| 47 | (@pxref{Voraussetzungen}). | 47 | @ref{Voraussetzungen}). |
| 48 | 48 | ||
| 49 | @itemize | 49 | @itemize |
| 50 | @item @url{http://gnu.org/software/autoconf/, GNU Autoconf}; | 50 | @item @url{http://gnu.org/software/autoconf/, GNU Autoconf}; |
| @@ -64,7 +64,7 @@ an Guix zu arbeiten: | |||
| 64 | guix environment guix | 64 | guix environment guix |
| 65 | @end example | 65 | @end example |
| 66 | 66 | ||
| 67 | In @xref{Aufruf von guix environment} finden Sie weitere Informationen zu | 67 | In @ref{Aufruf von guix environment} finden Sie weitere Informationen zu |
| 68 | diesem Befehl. Zusätzliche Abhängigkeiten können mit @option{--ad-hoc} | 68 | diesem Befehl. Zusätzliche Abhängigkeiten können mit @option{--ad-hoc} |
| 69 | hinzugefügt werden: | 69 | hinzugefügt werden: |
| 70 | 70 | ||
| @@ -73,7 +73,7 @@ guix environment guix --ad-hoc help2man git strace | |||
| 73 | @end example | 73 | @end example |
| 74 | 74 | ||
| 75 | Führen Sie @command{./bootstrap} aus, um die Infrastruktur des | 75 | Führen Sie @command{./bootstrap} aus, um die Infrastruktur des |
| 76 | Erstellungssystems mit Autoconf und Automake zu erstellen. Möglicherweise | 76 | Erstellungssystems mit Autoconf und Automake zu erzeugen. Möglicherweise |
| 77 | erhalten Sie eine Fehlermeldung wie diese: | 77 | erhalten Sie eine Fehlermeldung wie diese: |
| 78 | 78 | ||
| 79 | @example | 79 | @example |
| @@ -93,18 +93,18 @@ Befehl aufrufen: | |||
| 93 | export ACLOCAL_PATH=/usr/share/aclocal | 93 | export ACLOCAL_PATH=/usr/share/aclocal |
| 94 | @end example | 94 | @end example |
| 95 | 95 | ||
| 96 | In @xref{Macro Search Path,,, automake, The GNU Automake Manual} finden Sie | 96 | In @ref{Macro Search Path,,, automake, The GNU Automake Manual} finden Sie |
| 97 | weitere Informationen. | 97 | weitere Informationen. |
| 98 | 98 | ||
| 99 | Dann führen Sie wie gewohnt @command{./configure} aus. Achten Sie darauf, | 99 | Dann führen Sie wie gewohnt @command{./configure} aus. Achten Sie darauf, |
| 100 | @code{--localstatedir=@var{Verzeichnis}} zu übergeben, wobei | 100 | @code{--localstatedir=@var{Verzeichnis}} zu übergeben, wobei |
| 101 | @var{Verzeichnis} der von Ihrer aktuellen Installation verwendete | 101 | @var{Verzeichnis} der von Ihrer aktuellen Installation verwendete |
| 102 | @code{localstatedir}-Wert ist (weitere Informationen auf @pxref{Der Store}). | 102 | @code{localstatedir}-Wert ist (weitere Informationen siehe @ref{Der Store}). |
| 103 | 103 | ||
| 104 | Zum Schluss müssen Sie @code{make check} aufrufen, um die Tests auszuführen | 104 | Zum Schluss müssen Sie @code{make check} aufrufen, um die Tests auszuführen |
| 105 | (@pxref{Die Testsuite laufen lassen}). Falls etwas fehlschlägt, werfen Sie einen | 105 | (siehe @ref{Den Testkatalog laufen lassen}). Falls etwas fehlschlägt, werfen Sie |
| 106 | Blick auf die Installationsanweisungen (@pxref{Installation}) oder senden | 106 | einen Blick auf die Installationsanweisungen (siehe @ref{Installation}) oder |
| 107 | Sie eine E-Mail an die @email{guix-devel@@gnu.org, Mailingliste}. | 107 | senden Sie eine E-Mail an die @email{guix-devel@@gnu.org, Mailingliste}. |
| 108 | 108 | ||
| 109 | 109 | ||
| 110 | @node Guix vor der Installation ausführen | 110 | @node Guix vor der Installation ausführen |
| @@ -118,7 +118,7 @@ Endnutzer-»Straßenanzug« und Ihrem »Faschingskostüm« unterscheiden. | |||
| 118 | Zu diesem Zweck können alle Befehlszeilenwerkzeuge auch schon benutzt | 118 | Zu diesem Zweck können alle Befehlszeilenwerkzeuge auch schon benutzt |
| 119 | werden, ohne dass Sie @code{make install} laufen lassen. Dazu müssen Sie | 119 | werden, ohne dass Sie @code{make install} laufen lassen. Dazu müssen Sie |
| 120 | sich in einer Umgebung befinden, in der alle Abhängigkeiten von Guix | 120 | sich in einer Umgebung befinden, in der alle Abhängigkeiten von Guix |
| 121 | verfügbar sind (@pxref{Erstellung aus dem Git}) und darin einfach vor jeden | 121 | verfügbar sind (siehe @ref{Erstellung aus dem Git}) und darin einfach vor jeden |
| 122 | Befehl @command{./pre-inst-env} schreiben (das Skript @file{pre-inst-env} | 122 | Befehl @command{./pre-inst-env} schreiben (das Skript @file{pre-inst-env} |
| 123 | befindet sich auf oberster Ebene im Verzeichnis, wo Guix erstellt wird, wo | 123 | befindet sich auf oberster Ebene im Verzeichnis, wo Guix erstellt wird, wo |
| 124 | es durch @command{./configure} erzeugt wird), zum Beispiel so@footnote{Die | 124 | es durch @command{./configure} erzeugt wird), zum Beispiel so@footnote{Die |
| @@ -144,8 +144,8 @@ $ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))' | |||
| 144 | @noindent | 144 | @noindent |
| 145 | @cindex REPL | 145 | @cindex REPL |
| 146 | @cindex Lese-Auswerten-Schreiben-Schleife | 146 | @cindex Lese-Auswerten-Schreiben-Schleife |
| 147 | @dots{} und auf einer REPL (@pxref{Using Guile Interactively,,, guile, Guile | 147 | @dots{} und auf einer REPL (siehe @ref{Using Guile Interactively,,, guile, |
| 148 | Reference Manual}): | 148 | Guile Reference Manual}): |
| 149 | 149 | ||
| 150 | @example | 150 | @example |
| 151 | $ ./pre-inst-env guile | 151 | $ ./pre-inst-env guile |
| @@ -169,19 +169,20 @@ nötig sind, um dies zu ermöglichen, einschließlich @env{PATH} und | |||
| 169 | 169 | ||
| 170 | Beachten Sie, dass @command{./pre-inst-env guix pull} den lokalen Quellbaum | 170 | Beachten Sie, dass @command{./pre-inst-env guix pull} den lokalen Quellbaum |
| 171 | @emph{nicht} aktualisiert; es aktualisiert lediglich die symbolische | 171 | @emph{nicht} aktualisiert; es aktualisiert lediglich die symbolische |
| 172 | Verknüpfung @file{~/.config/guix/current} (@pxref{Aufruf von guix pull}). Um | 172 | Verknüpfung @file{~/.config/guix/current} (siehe @ref{Aufruf von guix pull}). Um Ihren lokalen Quellbaum zu aktualisieren, müssen Sie stattdessen |
| 173 | Ihren lokalen Quellbaum zu aktualisieren, müssen Sie stattdessen | ||
| 174 | @command{git pull} benutzen. | 173 | @command{git pull} benutzen. |
| 175 | 174 | ||
| 176 | 175 | ||
| 177 | @node Perfekt eingerichtet | 176 | @node Perfekt eingerichtet |
| 178 | @section Perfekt eingerichtet | 177 | @section Perfekt eingerichtet |
| 179 | 178 | ||
| 180 | The Perfect Setup to hack on Guix is basically the perfect setup used for | 179 | Um perfekt für das Hacken an Guix eingerichtet zu sein, brauchen Sie an sich |
| 181 | Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference | 180 | dasselbe wie um perfekt für das Hacken mit Guile (siehe @ref{Using Guile in |
| 182 | Manual}). First, you need more than an editor, you need | 181 | Emacs,,, guile, Guile Reference Manual}). Zunächst brauchen Sie mehr als ein |
| 183 | @url{http://www.gnu.org/software/emacs, Emacs}, empowered by the wonderful | 182 | Textverarbeitungsprogramm, Sie brauchen |
| 184 | @url{http://nongnu.org/geiser/, Geiser}. To set that up, run: | 183 | @url{http://www.gnu.org/software/emacs, Emacs} zusammen mit den vom |
| 184 | wunderbaren @url{http://nongnu.org/geiser/, Geiser} verliehenen Kräften. Um | ||
| 185 | diese zu installieren, können Sie Folgendes ausführen: | ||
| 185 | 186 | ||
| 186 | @example | 187 | @example |
| 187 | guix package -i emacs guile emacs-geiser | 188 | guix package -i emacs guile emacs-geiser |
| @@ -191,8 +192,8 @@ Geiser ermöglicht interaktive und inkrementelle Entwicklung aus Emacs | |||
| 191 | heraus: Code kann in Puffern kompiliert und ausgewertet werden. Zugang zu | 192 | heraus: Code kann in Puffern kompiliert und ausgewertet werden. Zugang zu |
| 192 | Online-Dokumentation (Docstrings) steht ebenso zur Verfügung wie | 193 | Online-Dokumentation (Docstrings) steht ebenso zur Verfügung wie |
| 193 | kontextabhängige Vervollständigung, @kbd{M-.} um zu einer Objektdefinition | 194 | kontextabhängige Vervollständigung, @kbd{M-.} um zu einer Objektdefinition |
| 194 | zu springen, eine REPL, um Ihren Code auszuprobieren, und mehr | 195 | zu springen, eine REPL, um Ihren Code auszuprobieren, und mehr (siehe |
| 195 | (@pxref{Einführung,,, geiser, Geiser User Manual}). Zur bequemen | 196 | @ref{Einführung,,, geiser, Geiser User Manual}). Zur bequemen |
| 196 | Guix-Entwicklung sollten Sie Guiles Ladepfad so ergänzen, dass die | 197 | Guix-Entwicklung sollten Sie Guiles Ladepfad so ergänzen, dass die |
| 197 | Quelldateien in Ihrem Checkout gefunden werden. | 198 | Quelldateien in Ihrem Checkout gefunden werden. |
| 198 | 199 | ||
| @@ -245,63 +246,69 @@ wieder weiter umgeschrieben werden kann. | |||
| 245 | @node Paketrichtlinien | 246 | @node Paketrichtlinien |
| 246 | @section Paketrichtlinien | 247 | @section Paketrichtlinien |
| 247 | 248 | ||
| 248 | @cindex packages, creating | 249 | @cindex Pakete definieren |
| 249 | The GNU distribution is nascent and may well lack some of your favorite | 250 | Die GNU-Distribution ist noch sehr jung und einige Ihrer Lieblingspakete |
| 250 | packages. This section describes how you can help make the distribution | 251 | könnten noch fehlen. Dieser Abschnitt beschreibt, wie Sie dabei helfen |
| 251 | grow. | 252 | können, die Distribution wachsen zu lassen. |
| 252 | 253 | ||
| 253 | Free software packages are usually distributed in the form of @dfn{source | 254 | Pakete mit freier Software werden normalerweise in Form von @dfn{Tarballs |
| 254 | code tarballs}---typically @file{tar.gz} files that contain all the source | 255 | mit dem Quellcode} angeboten — typischerweise in |
| 255 | files. Adding a package to the distribution means essentially two things: | 256 | @file{tar.gz}-Archivdateien, in denen alle Quelldateien enthalten sind. Ein |
| 256 | adding a @dfn{recipe} that describes how to build the package, including a | 257 | Paket zur Distribution hinzuzufügen, bedeutet also zweierlei Dinge: Zum |
| 257 | list of other packages required to build it, and adding @dfn{package | 258 | einen fügt man ein @dfn{Rezept} ein, das beschreibt, wie das Paket erstellt |
| 258 | metadata} along with that recipe, such as a description and licensing | 259 | werden kann, einschließlich einer Liste von anderen Paketen, die für diese |
| 259 | information. | 260 | Erstellung gebraucht werden, zum anderen fügt man @dfn{Paketmetadaten} zum |
| 260 | 261 | Rezept hinzu, wie zum Beispiel eine Beschreibung und Lizenzinformationen. | |
| 261 | In Guix all this information is embodied in @dfn{package definitions}. | 262 | |
| 262 | Package definitions provide a high-level view of the package. They are | 263 | In Guix sind all diese Informationen ein Teil der |
| 263 | written using the syntax of the Scheme programming language; in fact, for | 264 | @dfn{Paketdefinitionen}. In Paketdefinitionen hat man eine abstrahierte, |
| 264 | each package we define a variable bound to the package definition, and | 265 | hochsprachliche Sicht auf das Paket. Sie werden in der Syntax der |
| 265 | export that variable from a module (@pxref{Paketmodule}). However, | 266 | Scheme-Programmiersprache verfasst; tatsächlich definieren wir für jedes |
| 266 | in-depth Scheme knowledge is @emph{not} a prerequisite for creating | 267 | Paket eine Variable und binden diese an dessen Definition, um die Variable |
| 267 | packages. For more information on package definitions, @pxref{Pakete definieren}. | 268 | anschließend aus einem Modul heraus zu exportieren (siehe @ref{Paketmodule}). Allerdings ist @emph{kein} tiefgehendes Wissen über Scheme |
| 268 | 269 | erforderlich, um Pakete zu erstellen. Mehr Informationen über | |
| 269 | Once a package definition is in place, stored in a file in the Guix source | 270 | Paketdefinitionen finden Sie im Abschnitt @ref{Pakete definieren}. |
| 270 | tree, it can be tested using the @command{guix build} command | 271 | |
| 271 | (@pxref{Aufruf von guix build}). For example, assuming the new package is | 272 | Eine fertige Paketdefinition kann, nachdem sie in eine Datei im |
| 272 | called @code{gnew}, you may run this command from the Guix build tree | 273 | Quell-Verzeichnisbaum von Guix eingesetzt wurde, mit Hilfe des Befehls |
| 273 | (@pxref{Guix vor der Installation ausführen}): | 274 | @command{guix build} getestet werden (siehe @ref{Aufruf von guix build}). Wenn |
| 275 | das Paket zum Beispiel den Namen @code{gnew} trägt, können Sie folgenden | ||
| 276 | Befehl aus dem Erstellungs-Verzeichnisbaum von Guix heraus ausführen (siehe | ||
| 277 | @ref{Guix vor der Installation ausführen}): | ||
| 274 | 278 | ||
| 275 | @example | 279 | @example |
| 276 | ./pre-inst-env guix build gnew --keep-failed | 280 | ./pre-inst-env guix build gnew --keep-failed |
| 277 | @end example | 281 | @end example |
| 278 | 282 | ||
| 279 | Using @code{--keep-failed} makes it easier to debug build failures since it | 283 | Wenn Sie @code{--keep-failed} benutzen, ist es leichter, fehlgeschlagene |
| 280 | provides access to the failed build tree. Another useful command-line | 284 | Erstellungen zu untersuchen, weil dann der Verzeichnisbaum der |
| 281 | option when debugging is @code{--log-file}, to access the build log. | 285 | fehlgeschlagenen Erstellung zugänglich bleibt. Eine andere nützliche |
| 286 | Befehlszeilenoption bei der Fehlersuche ist @code{--log-file}, womit das | ||
| 287 | Erstellungsprotokoll eingesehen werden kann. | ||
| 282 | 288 | ||
| 283 | If the package is unknown to the @command{guix} command, it may be that the | 289 | Wenn der @command{guix}-Befehl das Paket nicht erkennt, kann es daran |
| 284 | source file contains a syntax error, or lacks a @code{define-public} clause | 290 | liegen, dass die Quelldatei einen Syntaxfehler hat oder ihr eine |
| 285 | to export the package variable. To figure it out, you may load the module | 291 | @code{define-public}-Klausel fehlt, die die Paketvariable exportiert. Um das |
| 286 | from Guile to get more information about the actual error: | 292 | herauszufinden, können Sie das Modul aus Guile heraus laden, um mehr |
| 293 | Informationen über den tatsächlichen Fehler zu bekommen: | ||
| 287 | 294 | ||
| 288 | @example | 295 | @example |
| 289 | ./pre-inst-env guile -c '(use-modules (gnu packages gnew))' | 296 | ./pre-inst-env guile -c '(use-modules (gnu packages gnew))' |
| 290 | @end example | 297 | @end example |
| 291 | 298 | ||
| 292 | Once your package builds correctly, please send us a patch | 299 | Sobald Ihr Paket erfolgreich erstellt werden kann, schicken Sie uns bitte |
| 293 | (@pxref{Einreichen von Patches}). Well, if you need help, we will be happy to | 300 | einen Patch (siehe @ref{Einreichen von Patches}). Wenn Sie dabei Hilfe brauchen |
| 294 | help you too. Once the patch is committed in the Guix repository, the new | 301 | sollten, helfen wir gerne. Ab dem Zeitpunkt, zu dem der Patch als Commit ins |
| 295 | package automatically gets built on the supported platforms by | 302 | Guix-Repository eingepflegt wurde, wird das neue Paket automatisch durch |
| 296 | @url{http://hydra.gnu.org/jobset/gnu/master, our continuous integration | 303 | @url{http://hydra.gnu.org/jobset/gnu/master, unser System zur |
| 297 | system}. | 304 | Kontinuierlichen Integration} auf allen unterstützten Plattformen erstellt. |
| 298 | 305 | ||
| 299 | @cindex substituter | 306 | @cindex Substituierer |
| 300 | Users can obtain the new package definition simply by running @command{guix | 307 | Benutzern steht die neue Paketdefinition zur Verfügung, nachdem sie das |
| 301 | pull} (@pxref{Aufruf von guix pull}). When @code{@value{SUBSTITUTE-SERVER}} | 308 | nächste Mal @command{guix pull} ausgeführt haben (siehe @ref{Aufruf von guix pull}). Wenn @code{@value{SUBSTITUTE-SERVER}} selbst damit fertig ist, das |
| 302 | is done building the package, installing the package automatically downloads | 309 | Paket zu erstellen, werden bei der Installation automatisch Binärdateien von |
| 303 | binaries from there (@pxref{Substitute}). The only place where human | 310 | dort heruntergeladen (siehe @ref{Substitute}). Menschliches Eingreifen muss |
| 304 | intervention is needed is to review and apply the patch. | 311 | nur stattfinden, um den Patch zu überprüfen und anzuwenden. |
| 305 | 312 | ||
| 306 | 313 | ||
| 307 | @menu | 314 | @menu |
| @@ -326,67 +333,74 @@ intervention is needed is to review and apply the patch. | |||
| 326 | @c | 333 | @c |
| 327 | @c =========================================================================== | 334 | @c =========================================================================== |
| 328 | @c Adapted from http://www.gnu.org/philosophy/philosophy.html. | 335 | @c Adapted from http://www.gnu.org/philosophy/philosophy.html. |
| 329 | @cindex free software | 336 | @cindex freie Software |
| 330 | The GNU operating system has been developed so that users can have freedom | 337 | Das GNU-Betriebssystem wurde entwickelt, um Menschen Freiheit bei der |
| 331 | in their computing. GNU is @dfn{free software}, meaning that users have the | 338 | Nutzung ihrer Rechengeräte zu ermöglichen. GNU ist @dfn{freie Software}, was |
| 332 | @url{http://www.gnu.org/philosophy/free-sw.html,four essential freedoms}: to | 339 | bedeutet, dass Benutzer die |
| 333 | run the program, to study and change the program in source code form, to | 340 | @url{http://www.gnu.org/philosophy/free-sw.de.html,vier wesentlichen |
| 334 | redistribute exact copies, and to distribute modified versions. Packages | 341 | Freiheiten} haben: das Programm auszuführen, es zu untersuchen, das Programm |
| 335 | found in the GNU distribution provide only software that conveys these four | 342 | in Form seines Quellcodes anzupassen und exakte Kopien ebenso wie |
| 336 | freedoms. | 343 | modifizierte Versionen davon an andere weiterzugeben. Die Pakete, die Sie in |
| 337 | 344 | der GNU-Distribution finden, stellen ausschließlich solche Software zur | |
| 338 | In addition, the GNU distribution follow the | 345 | Verfügung, die Ihnen diese vier Freiheiten gewährt. |
| 339 | @url{http://www.gnu.org/distros/free-system-distribution-guidelines.html,free | 346 | |
| 340 | software distribution guidelines}. Among other things, these guidelines | 347 | Außerdem befolgt die GNU-Distribution die |
| 341 | reject non-free firmware, recommendations of non-free software, and discuss | 348 | @url{http://www.gnu.org/distros/free-system-distribution-guidelines.de.html,Richtlinien |
| 342 | ways to deal with trademarks and patents. | 349 | für freie Systemverteilungen}. Unter anderem werden unfreie Firmware sowie |
| 343 | 350 | Empfehlungen von unfreier Software abgelehnt und Möglichkeiten zum Umgang | |
| 344 | Some otherwise free upstream package sources contain a small and optional | 351 | mit Markenzeichen und Patenten werden diskutiert. |
| 345 | subset that violates the above guidelines, for instance because this subset | 352 | |
| 346 | is itself non-free code. When that happens, the offending items are removed | 353 | Ansonsten freier Paketquellcode von manchen Anbietern enthält einen kleinen |
| 347 | with appropriate patches or code snippets in the @code{origin} form of the | 354 | und optionalen Teil, der diese Richtlinien verletzt. Zum Beispiel kann |
| 348 | package (@pxref{Pakete definieren}). This way, @code{guix build --source} | 355 | dieser Teil selbst unfreier Code sein. Wenn das vorkommt, wird der sie |
| 349 | returns the ``freed'' source rather than the unmodified upstream source. | 356 | verletzende Teil mit angemessenen Patches oder Code-Schnipseln innerhalb der |
| 357 | @code{origin}-Form des Pakets entfernt (siehe @ref{Pakete definieren}). Dadurch liefert Ihnen @code{guix build --source} nur den | ||
| 358 | »befreiten« Quellcode und nicht den unmodifizierten Quellcode des Anbieters. | ||
| 350 | 359 | ||
| 351 | 360 | ||
| 352 | @node Paketbenennung | 361 | @node Paketbenennung |
| 353 | @subsection Paketbenennung | 362 | @subsection Paketbenennung |
| 354 | 363 | ||
| 355 | @cindex package name | 364 | @cindex Paketname |
| 356 | A package has actually two names associated with it: First, there is the | 365 | Tatsächlich sind mit jedem Paket zwei Namen assoziiert: Zum einen gibt es |
| 357 | name of the @emph{Scheme variable}, the one following @code{define-public}. | 366 | den Namen der @emph{Scheme-Variablen}, der direkt nach @code{define-public} |
| 358 | By this name, the package can be made known in the Scheme code, for instance | 367 | im Code steht. Mit diesem Namen kann das Paket im Scheme-Code nutzbar |
| 359 | as input to another package. Second, there is the string in the @code{name} | 368 | gemacht und zum Beispiel als Eingabe eines anderen Pakets benannt |
| 360 | field of a package definition. This name is used by package management | 369 | werden. Zum anderen gibt es die Zeichenkette im @code{name}-Feld einer |
| 361 | commands such as @command{guix package} and @command{guix build}. | 370 | Paketdefinition. Dieser Name wird von Paketverwaltungsbefehlen wie |
| 371 | @command{guix package} und @command{guix build} benutzt. | ||
| 362 | 372 | ||
| 363 | Both are usually the same and correspond to the lowercase conversion of the | 373 | Meistens sind die beiden identisch und ergeben sich aus einer Umwandlung des |
| 364 | project name chosen upstream, with underscores replaced with hyphens. For | 374 | vom Anbieter verwendeten Projektnamens in Kleinbuchstaben, bei der |
| 365 | instance, GNUnet is available as @code{gnunet}, and SDL_net as | 375 | Unterstriche durch Bindestriche ersetzt werden. Zum Beispiel wird GNUnet |
| 366 | @code{sdl-net}. | 376 | unter dem Paketnamen @code{gnunet} angeboten und SDL_net als @code{sdl-net}. |
| 367 | 377 | ||
| 368 | We do not add @code{lib} prefixes for library packages, unless these are | 378 | An Bibliothekspakete hängen wir vorne kein @code{lib} als Präfix an, solange |
| 369 | already part of the official project name. But @pxref{Python-Module} and | 379 | es nicht Teil des offiziellen Projektnamens ist. Beachten Sie aber die |
| 370 | @ref{Perl-Module} for special rules concerning modules for the Python and | 380 | Abschnitte @ref{Python-Module} und @ref{Perl-Module}, in denen |
| 371 | Perl languages. | 381 | Sonderregeln für Module der Programmiersprachen Python und Perl beschrieben |
| 382 | sind. | ||
| 372 | 383 | ||
| 373 | Font package names are handled differently, @pxref{Schriftarten}. | 384 | Auch Pakete mit Schriftarten werden anders behandelt, siehe @ref{Schriftarten}. |
| 374 | 385 | ||
| 375 | 386 | ||
| 376 | @node Versionsnummern | 387 | @node Versionsnummern |
| 377 | @subsection Versionsnummern | 388 | @subsection Versionsnummern |
| 378 | 389 | ||
| 379 | @cindex package version | 390 | @cindex Paketversion |
| 380 | We usually package only the latest version of a given free software | 391 | Normalerweise stellen wir nur für die neueste Version eines |
| 381 | project. But sometimes, for instance for incompatible library versions, two | 392 | Freie-Software-Projekts ein Paket bereit. Manchmal gibt es allerdings Fälle |
| 382 | (or more) versions of the same package are needed. These require different | 393 | wie zum Beispiel untereinander inkompatible Bibliotheksversionen, so dass |
| 383 | Scheme variable names. We use the name as defined in @ref{Paketbenennung} | 394 | zwei (oder mehr) Versionen desselben Pakets angeboten werden müssen. In |
| 384 | for the most recent version; previous versions use the same name, suffixed | 395 | diesem Fall müssen wir verschiedene Scheme-Variablennamen benutzen. Wir |
| 385 | by @code{-} and the smallest prefix of the version number that may | 396 | benutzen dann für die neueste Version den Namen, wie er im Abschnitt |
| 386 | distinguish the two versions. | 397 | @ref{Paketbenennung} festgelegt wird, und geben vorherigen Versionen |
| 387 | 398 | denselben Namen mit einem zusätzlichen Suffix aus @code{-} gefolgt vom | |
| 388 | The name inside the package definition is the same for all versions of a | 399 | kürzesten Präfix der Versionsnummer, mit dem noch immer zwei Versionen |
| 389 | package and does not contain any version number. | 400 | unterschieden werden können. |
| 401 | |||
| 402 | Der Name innerhalb der Paketdefinition ist hingegen derselbe für alle | ||
| 403 | Versionen eines Pakets und enthält keine Versionsnummer. | ||
| 390 | 404 | ||
| 391 | Zum Beispiel können für GTK in den Versionen 2.24.20 und 3.9.12 Pakete wie | 405 | Zum Beispiel können für GTK in den Versionen 2.24.20 und 3.9.12 Pakete wie |
| 392 | folgt geschrieben werden: | 406 | folgt geschrieben werden: |
| @@ -414,48 +428,51 @@ Wenn wir auch GTK 3.8.2 wollten, würden wir das Paket schreiben als | |||
| 414 | 428 | ||
| 415 | @c See <https://lists.gnu.org/archive/html/guix-devel/2016-01/msg00425.html>, | 429 | @c See <https://lists.gnu.org/archive/html/guix-devel/2016-01/msg00425.html>, |
| 416 | @c for a discussion of what follows. | 430 | @c for a discussion of what follows. |
| 417 | @cindex version number, for VCS snapshots | 431 | @cindex Versionsnummer, bei Snapshots aus Versionskontrolle |
| 418 | Occasionally, we package snapshots of upstream's version control system | 432 | Gelegentlich fügen wir auch Pakete für Snapshots aus dem |
| 419 | (VCS) instead of formal releases. This should remain exceptional, because | 433 | Versionskontrollsystem des Anbieters statt formaler Veröffentlichungen zur |
| 420 | it is up to upstream developers to clarify what the stable release is. Yet, | 434 | Distribution hinzu. Das sollte die Ausnahme bleiben, weil die Entwickler |
| 421 | it is sometimes necessary. So, what should we put in the @code{version} | 435 | selbst klarstellen sollten, welche Version als die stabile Veröffentlichung |
| 422 | field? | 436 | gelten sollte, ab und zu ist es jedoch notwendig. Was also sollten wir dann |
| 423 | 437 | im @code{version}-Feld eintragen? | |
| 424 | Clearly, we need to make the commit identifier of the VCS snapshot visible | 438 | |
| 425 | in the version string, but we also need to make sure that the version string | 439 | Offensichtlich muss der Bezeichner des Commits, den wir als Snapshot aus dem |
| 426 | is monotonically increasing so that @command{guix package --upgrade} can | 440 | Versionskontrollsystem nehmen, in der Versionszeichenkette zu erkennen sein, |
| 427 | determine which version is newer. Since commit identifiers, notably with | 441 | aber wir müssen auch sicherstellen, dass die Version monoton steigend ist, |
| 428 | Git, are not monotonically increasing, we add a revision number that we | 442 | damit @command{guix package --upgrade} feststellen kann, welche Version die |
| 429 | increase each time we upgrade to a newer snapshot. The resulting version | 443 | neuere ist. Weil Commit-Bezeichner, insbesondere bei Git, nicht monoton |
| 430 | string looks like this: | 444 | steigen, müssen wir eine Revisionsnummer hinzufügen, die wir jedes Mal |
| 445 | erhöhen, wenn wir das Paket auf einen neueren Snapshot aktualisieren. Die | ||
| 446 | sich ergebende Versionszeichenkette sieht dann so aus: | ||
| 431 | 447 | ||
| 432 | @example | 448 | @example |
| 433 | 2.0.11-3.cabba9e | 449 | 2.0.11-3.cabba9e |
| 434 | ^ ^ ^ | 450 | ^ ^ ^ |
| 435 | | | `-- upstream commit ID | 451 | | | `-- Commit-ID beim Anbieter |
| 436 | | | | 452 | | | |
| 437 | | `--- Guix package revision | 453 | | `--- Revisionsnummer des Guix-Pakets |
| 438 | | | 454 | | |
| 439 | latest upstream version | 455 | die neueste Version, die der Anbieter veröffentlicht hat |
| 440 | @end example | 456 | @end example |
| 441 | 457 | ||
| 442 | It is a good idea to strip commit identifiers in the @code{version} field | 458 | Es ist eine gute Idee, die Commit-Bezeichner im @code{version}-Feld auf, |
| 443 | to, say, 7 digits. It avoids an aesthetic annoyance (assuming aesthetics | 459 | sagen wir, 7 Ziffern zu beschränken. Das sieht besser aus (angenommen, das |
| 444 | have a role to play here) as well as problems related to OS limits such as | 460 | sollte hier eine Rolle spielen) und vermeidet Probleme, die mit der |
| 445 | the maximum shebang length (127 bytes for the Linux kernel.) It is best to | 461 | maximalen Länge von Shebangs zu tun haben (127 Bytes beim Linux-Kernel). Am |
| 446 | use the full commit identifiers in @code{origin}s, though, to avoid | 462 | besten benutzt man jedoch den vollständigen Commit-Bezeichner in |
| 447 | ambiguities. A typical package definition may look like this: | 463 | @code{origin}s, um Mehrdeutigkeiten zu vermeiden. Eine typische |
| 464 | Paketdefinition könnte so aussehen: | ||
| 448 | 465 | ||
| 449 | @example | 466 | @example |
| 450 | (define my-package | 467 | (define mein-paket |
| 451 | (let ((commit "c3f29bc928d5900971f65965feaae59e1272a3f7") | 468 | (let ((commit "c3f29bc928d5900971f65965feaae59e1272a3f7") |
| 452 | (revision "1")) ;Guix package revision | 469 | (revision "1")) ;Guix-Paketrevision |
| 453 | (package | 470 | (package |
| 454 | (version (git-version "0.9" revision commit)) | 471 | (version (git-version "0.9" revision commit)) |
| 455 | (source (origin | 472 | (source (origin |
| 456 | (method git-fetch) | 473 | (method git-fetch) |
| 457 | (uri (git-reference | 474 | (uri (git-reference |
| 458 | (url "git://example.org/my-package.git") | 475 | (url "git://example.org/mein-paket.git") |
| 459 | (commit commit))) | 476 | (commit commit))) |
| 460 | (sha256 (base32 "1mbikn@dots{}")) | 477 | (sha256 (base32 "1mbikn@dots{}")) |
| 461 | (file-name (git-file-name name version)))) | 478 | (file-name (git-file-name name version)))) |
| @@ -466,58 +483,69 @@ ambiguities. A typical package definition may look like this: | |||
| 466 | @node Zusammenfassungen und Beschreibungen | 483 | @node Zusammenfassungen und Beschreibungen |
| 467 | @subsection Zusammenfassungen und Beschreibungen | 484 | @subsection Zusammenfassungen und Beschreibungen |
| 468 | 485 | ||
| 469 | @cindex package description | 486 | @cindex Paketbeschreibung |
| 470 | @cindex package synopsis | 487 | @cindex Paketzusammenfassung |
| 471 | As we have seen before, each package in GNU@tie{}Guix includes a synopsis | 488 | Wie wir bereits gesehen haben, enthält jedes Paket in GNU@tie{}Guix eine (im |
| 472 | and a description (@pxref{Pakete definieren}). Synopses and descriptions | 489 | Code englischsprachige) Zusammenfassung (englisch: Synopsis) und eine |
| 473 | are important: They are what @command{guix package --search} searches, and a | 490 | Beschreibung (englisch: Description; siehe @ref{Pakete definieren}). Zusammenfassungen und Beschreibungen sind wichtig: Sie werden |
| 474 | crucial piece of information to help users determine whether a given package | 491 | mit @command{guix package --search} durchsucht und stellen eine |
| 475 | suits their needs. Consequently, packagers should pay attention to what | 492 | entscheidende Informationsquelle für Nutzer dar, die entscheiden wollen, ob |
| 476 | goes into them. | 493 | das Paket Ihren Bedürfnissen entspricht, daher sollten Paketentwickler Acht |
| 477 | 494 | geben, was sie dort eintragen. | |
| 478 | Synopses must start with a capital letter and must not end with a period. | 495 | |
| 479 | They must not start with ``a'' or ``the'', which usually does not bring | 496 | Zusammenfassungen müssen mit einem Großbuchstaben beginnen und dürfen nicht |
| 480 | anything; for instance, prefer ``File-frobbing tool'' over ``A tool that | 497 | mit einem Punkt enden. Sie dürfen nicht mit den Artikeln »a« oder »the« |
| 481 | frobs files''. The synopsis should say what the package is---e.g., ``Core | 498 | beginnen, die meistens ohnehin nichts zum Verständnis beitragen. Zum |
| 482 | GNU utilities (file, text, shell)''---or what it is used for---e.g., the | 499 | Beispiel sollte »File-frobbing tool« gegenüber »A tool that frobs files« |
| 483 | synopsis for GNU@tie{}grep is ``Print lines matching a pattern''. | 500 | vorgezogen werden. Die Zusammenfassung sollte aussagen, um was es sich beim |
| 484 | 501 | Paket handelt — z.B.@: »Core GNU utilities (file, text, shell)« —, oder | |
| 485 | Keep in mind that the synopsis must be meaningful for a very wide audience. | 502 | aussagen, wofür es benutzt wird — z.B.@: ist die Zusammenfassung für |
| 486 | For example, ``Manipulate alignments in the SAM format'' might make sense | 503 | GNU@tie{}grep »Print lines matching a pattern«. |
| 487 | for a seasoned bioinformatics researcher, but might be fairly unhelpful or | 504 | |
| 488 | even misleading to a non-specialized audience. It is a good idea to come up | 505 | Beachten Sie, dass die Zusammenfassung für eine sehr große Leserschaft einen |
| 489 | with a synopsis that gives an idea of the application domain of the | 506 | Sinn ergeben muss. Zum Beispiel würde »Manipulate alignments in the SAM |
| 490 | package. In this example, this might give something like ``Manipulate | 507 | format« vielleicht von einem erfahrenen Forscher in der Bioinformatik |
| 491 | nucleotide sequence alignments'', which hopefully gives the user a better | 508 | verstanden, könnte für die Nicht-Spezialisten in Guix’ Zielgruppe aber wenig |
| 492 | idea of whether this is what they are looking for. | 509 | hilfreich sein oder würde diesen sogar eine falsche Vorstellung geben. Es |
| 493 | 510 | ist eine gute Idee, sich eine Zusammenfassung zu überlegen, die eine | |
| 494 | Descriptions should take between five and ten lines. Use full sentences, | 511 | Vorstellung von der Anwendungsdomäne des Pakets vermittelt. Im Beispiel hier |
| 495 | and avoid using acronyms without first introducing them. Please avoid | 512 | würden sich die Nutzer mit »Manipulate nucleotide sequence alignments« |
| 496 | marketing phrases such as ``world-leading'', ``industrial-strength'', and | 513 | hoffentlich ein besseres Bild davon machen können, ob das Paket ist, wonach |
| 497 | ``next-generation'', and avoid superlatives like ``the most | 514 | sie suchen. |
| 498 | advanced''---they are not helpful to users looking for a package and may | 515 | |
| 499 | even sound suspicious. Instead, try to be factual, mentioning use cases and | 516 | Beschreibungen sollten zwischen fünf und zehn Zeilen lang sein. Benutzen Sie |
| 500 | features. | 517 | vollständige Sätze und vermeiden Sie Abkürzungen, die Sie nicht zuvor |
| 501 | 518 | eingeführt haben. Vermeiden Sie bitte Marketing-Phrasen wie »world-leading« | |
| 502 | @cindex Texinfo markup, in package descriptions | 519 | (»weltweit führend«), »industrial-strength« (»industrietauglich«) und |
| 503 | Descriptions can include Texinfo markup, which is useful to introduce | 520 | »next-generation« (»der nächsten Generation«) ebenso wie Superlative wie |
| 504 | ornaments such as @code{@@code} or @code{@@dfn}, bullet lists, or hyperlinks | 521 | »the most advanced« (»das fortgeschrittenste«) — davon haben Nutzer nichts, |
| 505 | (@pxref{Overview,,, texinfo, GNU Texinfo}). However you should be careful | 522 | wenn sie ein Paket suchen, und es könnte sogar verdächtig klingen. Versuchen |
| 506 | when using some characters for example @samp{@@} and curly braces which are | 523 | Sie stattdessen, bei den Fakten zu bleiben und dabei Anwendungszwecke und |
| 507 | the basic special characters in Texinfo (@pxref{Special Characters,,, | 524 | Funktionalitäten zu erwähnen. |
| 508 | texinfo, GNU Texinfo}). User interfaces such as @command{guix package | 525 | |
| 509 | --show} take care of rendering it appropriately. | 526 | @cindex Texinfo-Auszeichnungen, in Paketbeschreibungen |
| 510 | 527 | Beschreibungen können wie bei Texinfo ausgezeichneten Text enthalten. Das | |
| 511 | Synopses and descriptions are translated by volunteers | 528 | bedeutet, Text kann Verzierungen wie @code{@@code} oder @code{@@dfn}, |
| 512 | @uref{http://translationproject.org/domain/guix-packages.html, at the | 529 | Auflistungen oder Hyperlinks enthalten (siehe @ref{Overview,,, texinfo, GNU |
| 513 | Translation Project} so that as many users as possible can read them in | 530 | Texinfo}). Sie sollten allerdings vorsichtig sein, wenn Sie bestimmte |
| 514 | their native language. User interfaces search them and display them in the | 531 | Zeichen wie @samp{@@} und geschweifte Klammern schreiben, weil es sich dabei |
| 515 | language specified by the current locale. | 532 | um die grundlegenden Sonderzeichen in Texinfo handelt (siehe @ref{Special |
| 516 | 533 | Characters,,, texinfo, GNU Texinfo}). Benutzungsschnittstellen wie | |
| 517 | To allow @command{xgettext} to extract them as translatable strings, | 534 | @command{guix package --show} kümmern sich darum, solche Auszeichnungen |
| 518 | synopses and descriptions @emph{must be literal strings}. This means that | 535 | angemessen darzustellen. |
| 519 | you cannot use @code{string-append} or @code{format} to construct these | 536 | |
| 520 | strings: | 537 | Zusammenfassungen und Beschreibungen werden von Freiwilligen |
| 538 | @uref{http://translationproject.org/domain/guix-packages.html, beim | ||
| 539 | Translation Project} übersetzt, damit so viele Nutzer wie möglich sie in | ||
| 540 | ihrer Muttersprache lesen können. Mit Schnittstellen für Benutzer können sie | ||
| 541 | in der von der aktuell eingestellten Locale festgelegten Sprache durchsucht | ||
| 542 | und angezeigt werden. | ||
| 543 | |||
| 544 | Damit @command{xgettext} sie als übersetzbare Zeichenketten extrahieren | ||
| 545 | kann, @emph{müssen} Zusammenfassungen und Beschreibungen einfache | ||
| 546 | Zeichenketten-Literale sein. Das bedeutet, dass Sie diese Zeichenketten | ||
| 547 | nicht mit Prozeduren wie @code{string-append} oder @code{format} | ||
| 548 | konstruieren können: | ||
| 521 | 549 | ||
| 522 | @lisp | 550 | @lisp |
| 523 | (package | 551 | (package |
| @@ -526,11 +554,12 @@ strings: | |||
| 526 | (description (string-append "This is " "*not*" " translatable."))) | 554 | (description (string-append "This is " "*not*" " translatable."))) |
| 527 | @end lisp | 555 | @end lisp |
| 528 | 556 | ||
| 529 | Translation is a lot of work so, as a packager, please pay even more | 557 | Übersetzen ist viel Arbeit, also passen Sie als Paketentwickler bitte umso |
| 530 | attention to your synopses and descriptions as every change may entail | 558 | mehr auf, wenn Sie Ihre Zusammenfassungen und Beschreibungen formulieren, |
| 531 | additional work for translators. In order to help them, it is possible to | 559 | weil jede Änderung zusätzliche Arbeit für Übersetzer bedeutet. Um den |
| 532 | make recommendations or instructions visible to them by inserting special | 560 | Übersetzern zu helfen, können Sie Empfehlungen und Anweisungen für diese |
| 533 | comments like this (@pxref{xgettext Invocation,,, gettext, GNU Gettext}): | 561 | sichtbar machen, indem Sie spezielle Kommentare wie in diesem Beispiel |
| 562 | einfügen (siehe @ref{xgettext Invocation,,, gettext, GNU Gettext}): | ||
| 534 | 563 | ||
| 535 | @example | 564 | @example |
| 536 | ;; TRANSLATORS: "X11 resize-and-rotate" should not be translated. | 565 | ;; TRANSLATORS: "X11 resize-and-rotate" should not be translated. |
| @@ -543,70 +572,78 @@ for the X11 resize-and-rotate (RandR) extension. @dots{}") | |||
| 543 | @subsection Python-Module | 572 | @subsection Python-Module |
| 544 | 573 | ||
| 545 | @cindex python | 574 | @cindex python |
| 546 | We currently package Python 2 and Python 3, under the Scheme variable names | 575 | Zur Zeit stellen wir ein Paket für Python 2 und eines für Python 3 jeweils |
| 547 | @code{python-2} and @code{python} as explained in @ref{Versionsnummern}. To | 576 | über die Scheme-Variablen mit den Namen @code{python-2} und @code{python} |
| 548 | avoid confusion and naming clashes with other programming languages, it | 577 | zur Verfügung, entsprechend der Erklärungen im Abschnitt @ref{Versionsnummern}. Um Verwirrungen und Namenskollisionen mit anderen |
| 549 | seems desirable that the name of a package for a Python module contains the | 578 | Programmiersprachen zu vermeiden, erscheint es als wünschenswert, dass der |
| 550 | word @code{python}. | 579 | Name eines Pakets für ein Python-Modul auch das Wort @code{python} enthält. |
| 551 | 580 | ||
| 552 | Some modules are compatible with only one version of Python, others with | 581 | Manche Module sind nur mit einer Version von Python kompatibel, andere mit |
| 553 | both. If the package Foo compiles only with Python 3, we name it | 582 | beiden. Wenn das Paket Foo nur mit Python 3 kompiliert werden kann, geben |
| 554 | @code{python-foo}; if it compiles only with Python 2, we name it | 583 | wir ihm den Namen @code{python-foo}, wenn es nur mit Python 2 kompilierbar |
| 555 | @code{python2-foo}. If it is compatible with both versions, we create two | 584 | ist, wählen wir den Namen @code{python2-foo}. Ist es mit beiden Versionen |
| 556 | packages with the corresponding names. | 585 | kompatibel, erstellen wir zwei Pakete jeweils mit dem entsprechenden Namen. |
| 557 | 586 | ||
| 558 | If a project already contains the word @code{python}, we drop this; for | 587 | Wenn ein Projekt bereits das Wort @code{python} im Namen hat, lassen wir es |
| 559 | instance, the module python-dateutil is packaged under the names | 588 | weg; zum Beispiel ist das Modul python-dateutil unter den Namen |
| 560 | @code{python-dateutil} and @code{python2-dateutil}. If the project name | 589 | @code{python-dateutil} und @code{python2-dateutil} verfügbar. Wenn der |
| 561 | starts with @code{py} (e.g.@: @code{pytz}), we keep it and prefix it as | 590 | Projektname mit @code{py} beginnt (z.B.@: @code{pytz}), behalten wir ihn bei |
| 562 | described above. | 591 | und stellen das oben beschriebene Präfix voran. |
| 563 | 592 | ||
| 564 | @subsubsection Specifying Dependencies | 593 | @subsubsection Abhängigkeiten angeben |
| 565 | @cindex inputs, for Python packages | 594 | @cindex Eingaben, für Python-Pakete |
| 566 | 595 | ||
| 567 | Dependency information for Python packages is usually available in the | 596 | Informationen über Abhängigkeiten von Python-Paketen, welche mal mehr und |
| 568 | package source tree, with varying degrees of accuracy: in the | 597 | mal weniger stimmen, finden sich normalerweise im Verzeichnisbaum des |
| 569 | @file{setup.py} file, in @file{requirements.txt}, or in @file{tox.ini}. | 598 | Paketquellcodes: in der Datei @file{setup.py}, in @file{requirements.txt} |
| 570 | 599 | oder in @file{tox.ini}. | |
| 571 | Your mission, when writing a recipe for a Python package, is to map these | 600 | |
| 572 | dependencies to the appropriate type of ``input'' (@pxref{»package«-Referenz, | 601 | Wenn Sie ein Rezept für ein Python-Paket schreiben, lautet Ihr Auftrag, |
| 573 | inputs}). Although the @code{pypi} importer normally does a good job | 602 | diese Abhängigkeiten auf angemessene Arten von »Eingaben« abzubilden (siehe |
| 574 | (@pxref{Aufruf von guix import}), you may want to check the following check | 603 | @ref{»package«-Referenz, inputs}). Obwohl der @code{pypi}-Importer hier |
| 575 | list to determine which dependency goes where. | 604 | normalerweise eine gute Arbeit leistet (siehe @ref{Aufruf von guix import}), |
| 605 | könnten Sie die folgende Prüfliste durchgehen wollen, um zu bestimmen, wo | ||
| 606 | welche Abhängigkeit eingeordnet werden sollte. | ||
| 576 | 607 | ||
| 577 | @itemize | 608 | @itemize |
| 578 | 609 | ||
| 579 | @item | 610 | @item |
| 580 | We currently package Python 2 with @code{setuptools} and @code{pip} | 611 | Derzeit ist unser Python-2-Paket so geschrieben, dass es @code{setuptools} |
| 581 | installed like Python 3.4 has per default. Thus you don't need to specify | 612 | und @code{pip} installiert, wie es auch in den Vorgaben zu Python 3.4 |
| 582 | either of these as an input. @command{guix lint} will warn you if you do. | 613 | gemacht wird. Sie müssen also keines der beiden als Eingabe angeben. Wenn |
| 614 | Sie es doch tun, wird @command{guix lint} Sie darauf mit einer Warnung | ||
| 615 | aufmerksam machen. | ||
| 583 | 616 | ||
| 584 | @item | 617 | @item |
| 585 | Python dependencies required at run time go into @code{propagated-inputs}. | 618 | Python-Abhängigkeiten, die zur Laufzeit gebraucht werden, stehen im |
| 586 | They are typically defined with the @code{install_requires} keyword in | 619 | @code{propagated-inputs}-Feld. Solche werden typischerweise mit dem |
| 587 | @file{setup.py}, or in the @file{requirements.txt} file. | 620 | Schlüsselwort @code{install_requires} in @file{setup.py} oder in der Datei |
| 621 | @file{requirements.txt} definiert. | ||
| 588 | 622 | ||
| 589 | @item | 623 | @item |
| 590 | Python packages required only at build time---e.g., those listed with the | 624 | Python-Pakete, die nur zur Erstellungszeit gebraucht werden — z.B.@: jene, |
| 591 | @code{setup_requires} keyword in @file{setup.py}---or only for | 625 | die mit dem Schlüsselwort @code{setup_requires} in @file{setup.py} |
| 592 | testing---e.g., those in @code{tests_require}---go into | 626 | aufgeführt sind — oder die nur zum Testen gebraucht werden — also die in |
| 593 | @code{native-inputs}. The rationale is that (1) they do not need to be | 627 | @code{tests_require} —, stehen in @code{native-inputs}. Die Begründung ist, |
| 594 | propagated because they are not needed at run time, and (2) in a | 628 | dass (1) sie nicht propagiert werden müssen, weil sie zur Laufzeit nicht |
| 595 | cross-compilation context, it's the ``native'' input that we'd want. | 629 | gebraucht werden, und (2) wir beim Cross-Kompilieren die »native« Eingabe |
| 596 | 630 | des Wirtssystems wollen. | |
| 597 | Examples are the @code{pytest}, @code{mock}, and @code{nose} test | 631 | |
| 598 | frameworks. Of course if any of these packages is also required at | 632 | Beispiele sind die Testrahmen @code{pytest}, @code{mock} und |
| 599 | run-time, it needs to go to @code{propagated-inputs}. | 633 | @code{nose}. Wenn natürlich irgendeines dieser Pakete auch zur Laufzeit |
| 634 | benötigt wird, muss es doch in @code{propagated-inputs} stehen. | ||
| 600 | 635 | ||
| 601 | @item | 636 | @item |
| 602 | Anything that does not fall in the previous categories goes to | 637 | Alles, was nicht in die bisher genannten Kategorien fällt, steht in |
| 603 | @code{inputs}, for example programs or C libraries required for building | 638 | @code{inputs}, zum Beispiel Programme oder C-Bibliotheken, die zur |
| 604 | Python packages containing C extensions. | 639 | Erstellung von Python-Paketen mit enthaltenen C-Erweiterungen gebraucht |
| 640 | werden. | ||
| 605 | 641 | ||
| 606 | @item | 642 | @item |
| 607 | If a Python package has optional dependencies (@code{extras_require}), it is | 643 | Wenn ein Python-Paket optionale Abhängigkeiten hat (@code{extras_require}), |
| 608 | up to you to decide whether to add them or not, based on their | 644 | ist es Ihnen überlassen, sie hinzuzufügen oder nicht hinzuzufügen, je |
| 609 | usefulness/overhead ratio (@pxref{Einreichen von Patches, @command{guix size}}). | 645 | nachdem wie es um deren Verhältnis von Nützlichkeit zu anderen Nachteilen |
| 646 | steht (siehe @ref{Einreichen von Patches, @command{guix size}}). | ||
| 610 | 647 | ||
| 611 | @end itemize | 648 | @end itemize |
| 612 | 649 | ||
| @@ -615,76 +652,82 @@ usefulness/overhead ratio (@pxref{Einreichen von Patches, @command{guix size}}). | |||
| 615 | @subsection Perl-Module | 652 | @subsection Perl-Module |
| 616 | 653 | ||
| 617 | @cindex perl | 654 | @cindex perl |
| 618 | Perl programs standing for themselves are named as any other package, using | 655 | Eigenständige Perl-Programme bekommen einen Namen wie jedes andere Paket, |
| 619 | the lowercase upstream name. For Perl packages containing a single class, | 656 | unter Nutzung des Namens beim Anbieter in Kleinbuchstaben. Für Perl-Pakete, |
| 620 | we use the lowercase class name, replace all occurrences of @code{::} by | 657 | die eine einzelne Klasse enthalten, ersetzen wir alle Vorkommen von |
| 621 | dashes and prepend the prefix @code{perl-}. So the class @code{XML::Parser} | 658 | @code{::} durch Striche und hängen davor das Präfix @code{perl-} an. Die |
| 622 | becomes @code{perl-xml-parser}. Modules containing several classes keep | 659 | Klasse @code{XML::Parser} wird also zu @code{perl-xml-parser}. Module, die |
| 623 | their lowercase upstream name and are also prepended by @code{perl-}. Such | 660 | mehrere Klassen beinhalten, behalten ihren Namen beim Anbieter, in |
| 624 | modules tend to have the word @code{perl} somewhere in their name, which | 661 | Kleinbuchstaben gesetzt, und auch an sie wird vorne das Präfix @code{perl-} |
| 625 | gets dropped in favor of the prefix. For instance, @code{libwww-perl} | 662 | angehängt. Es gibt die Tendenz, solche Module mit dem Wort @code{perl} |
| 626 | becomes @code{perl-libwww}. | 663 | irgendwo im Namen zu versehen, das wird zu Gunsten des Präfixes |
| 664 | weggelassen. Zum Beispiel wird aus @code{libwww-perl} bei uns | ||
| 665 | @code{perl-libwww}. | ||
| 627 | 666 | ||
| 628 | 667 | ||
| 629 | @node Java-Pakete | 668 | @node Java-Pakete |
| 630 | @subsection Java-Pakete | 669 | @subsection Java-Pakete |
| 631 | 670 | ||
| 632 | @cindex java | 671 | @cindex java |
| 633 | Java programs standing for themselves are named as any other package, using | 672 | Eigenständige Java-Programme werden wie jedes andere Paket benannt, d.h.@: |
| 634 | the lowercase upstream name. | 673 | mit ihrem in Kleinbuchstaben geschriebenen Namen beim Anbieter. |
| 635 | 674 | ||
| 636 | To avoid confusion and naming clashes with other programming languages, it | 675 | Um Verwirrungen und Namenskollisionen mit anderen Programmiersprachen zu |
| 637 | is desirable that the name of a package for a Java package is prefixed with | 676 | vermeiden, ist es wünschenswert, dass dem Namem eines Pakets zu einem |
| 638 | @code{java-}. If a project already contains the word @code{java}, we drop | 677 | Java-Paket das Präfix @code{java-} vorangestellt wird. Wenn ein Projekt |
| 639 | this; for instance, the package @code{ngsjava} is packaged under the name | 678 | bereits das Wort @code{java} im Namen trägt, lassen wir es weg; zum Beispiel |
| 679 | befindet sich das Java-Paket @code{ngsjava} in einem Paket namens | ||
| 640 | @code{java-ngs}. | 680 | @code{java-ngs}. |
| 641 | 681 | ||
| 642 | For Java packages containing a single class or a small class hierarchy, we | 682 | Bei Java-Paketen, die eine einzelne Klasse oder eine kleine |
| 643 | use the lowercase class name, replace all occurrences of @code{.} by dashes | 683 | Klassenhierarchie enthalten, benutzen wir den Klassennamen in |
| 644 | and prepend the prefix @code{java-}. So the class @code{apache.commons.cli} | 684 | Kleinbuchstaben und ersetzen dabei alle Vorkommen von @code{.} durch Striche |
| 645 | becomes package @code{java-apache-commons-cli}. | 685 | und setzen das Präfix @code{java-} davor. Die Klasse |
| 686 | @code{apache.commons.cli} wird also zum Paket | ||
| 687 | @code{java-apache-commons-cli}. | ||
| 646 | 688 | ||
| 647 | 689 | ||
| 648 | @node Schriftarten | 690 | @node Schriftarten |
| 649 | @subsection Schriftarten | 691 | @subsection Schriftarten |
| 650 | 692 | ||
| 651 | @cindex Schriftarten | 693 | @cindex Schriftarten |
| 652 | For fonts that are in general not installed by a user for typesetting | 694 | Wenn Schriftarten in der Regel nicht von Nutzern zur Textbearbeitung |
| 653 | purposes, or that are distributed as part of a larger software package, we | 695 | installiert werden oder als Teil eines größeren Software-Pakets mitgeliefert |
| 654 | rely on the general packaging rules for software; for instance, this applies | 696 | werden, gelten dafür die allgemeinen Paketrichtlinien für Software. Zum |
| 655 | to the fonts delivered as part of the X.Org system or fonts that are part of | 697 | Beispiel trifft das auf als Teil des X.Org-Systems ausgelieferte |
| 656 | TeX Live. | 698 | Schriftarten zu, oder auf Schriftarten, die ein Teil von TeX Live sind. |
| 657 | 699 | ||
| 658 | To make it easier for a user to search for fonts, names for other packages | 700 | Damit es Nutzer leichter haben, nach Schriftarten zu suchen, konstruieren |
| 659 | containing only fonts are constructed as follows, independently of the | 701 | wir die Namen von anderen Paketen, die nur Schriftarten enthalten, nach dem |
| 660 | upstream package name. | 702 | folgenden Schema, egal was der Paketname beim Anbieter ist. |
| 661 | 703 | ||
| 662 | The name of a package containing only one font family starts with | 704 | Der Name eines Pakets, das nur eine Schriftfamilie enthält, beginnt mit |
| 663 | @code{font-}; it is followed by the foundry name and a dash @code{-} if the | 705 | @code{font-}. Darauf folgt der Name des Schriftenherstellers und ein Strich |
| 664 | foundry is known, and the font family name, in which spaces are replaced by | 706 | @code{-}, sofern bekannt ist, wer der Schriftenhersteller ist, und dann der |
| 665 | dashes (and as usual, all upper case letters are transformed to lower | 707 | Name der Schriftfamilie, in dem Leerzeichen durch Striche ersetzt werden |
| 666 | case). For example, the Gentium font family by SIL is packaged under the | 708 | (und wie immer mit Großbuchstaben statt Kleinbuchstaben). Zum Beispiel |
| 667 | name @code{font-sil-gentium}. | 709 | befindet sich die von SIL hergestellte Gentium-Schriftfamilie im Paket mit |
| 668 | 710 | dem Namen @code{font-sil-gentium}. | |
| 669 | For a package containing several font families, the name of the collection | 711 | |
| 670 | is used in the place of the font family name. For instance, the Liberation | 712 | Wenn ein Paket mehrere Schriftfamilien enthält, wird der Name der Sammlung |
| 671 | fonts consist of three families, Liberation Sans, Liberation Serif and | 713 | anstelle des Schriftfamiliennamens benutzt. Zum Beispiel umfassen die |
| 672 | Liberation Mono. These could be packaged separately under the names | 714 | Liberation-Schriftarten drei Familien: Liberation Sans, Liberation Serif und |
| 673 | @code{font-liberation-sans} and so on; but as they are distributed together | 715 | Liberation Mono. Man könnte sie getrennt voneinander mit den Namen |
| 674 | under a common name, we prefer to package them together as | 716 | @code{font-liberation-sans} und so weiter in Pakete einteilen, da sie aber |
| 675 | @code{font-liberation}. | 717 | unter einem gemeinsamen Namen angeboten werden, packen wir sie lieber |
| 676 | 718 | zusammen in ein Paket mit dem Namen @code{font-liberation}. | |
| 677 | In the case where several formats of the same font family or font collection | 719 | |
| 678 | are packaged separately, a short form of the format, prepended by a dash, is | 720 | Für den Fall, dass mehrere Formate derselben Schriftfamilie oder |
| 679 | added to the package name. We use @code{-ttf} for TrueType fonts, | 721 | Schriftartensammlung in separate Pakete kommen, wird ein Kurzname für das |
| 680 | @code{-otf} for OpenType fonts and @code{-type1} for PostScript Type 1 | 722 | Format mit einem Strich vorne zum Paketnamen hinzugefügt. Wir benutzen |
| 681 | fonts. | 723 | @code{-ttf} für TrueType-Schriftarten, @code{-otf} für OpenType-Schriftarten |
| 724 | und @code{-type1} für PostScript-Typ-1-Schriftarten. | ||
| 682 | 725 | ||
| 683 | 726 | ||
| 684 | @node Code-Stil | 727 | @node Code-Stil |
| 685 | @section Code-Stil | 728 | @section Code-Stil |
| 686 | 729 | ||
| 687 | Im Allgemeinen folgt unser Code den GNU Coding Standards (@pxref{Top,,, | 730 | Im Allgemeinen folgt unser Code den GNU Coding Standards (siehe @ref{Top,,, |
| 688 | standards, GNU Coding Standards}). Da diese aber nicht viel über Scheme zu | 731 | standards, GNU Coding Standards}). Da diese aber nicht viel über Scheme zu |
| 689 | sagen haben, folgen hier einige zusätzliche Regeln. | 732 | sagen haben, folgen hier einige zusätzliche Regeln. |
| 690 | 733 | ||
| @@ -747,7 +790,7 @@ Ein paar in Guix eingeführte Sonderformen, wie zum Beispiel das | |||
| 747 | sind in der Datei @file{.dir-locals.el} definiert, die Emacs automatisch | 790 | sind in der Datei @file{.dir-locals.el} definiert, die Emacs automatisch |
| 748 | benutzt. Beachten Sie auch, dass Emacs-Guix einen Modus namens | 791 | benutzt. Beachten Sie auch, dass Emacs-Guix einen Modus namens |
| 749 | @code{guix-devel-mode} bereitstellt, der Guix-Code richtig einrückt und | 792 | @code{guix-devel-mode} bereitstellt, der Guix-Code richtig einrückt und |
| 750 | hervorhebt (@pxref{Development,,, emacs-guix, The Emacs-Guix Reference | 793 | hervorhebt (siehe @ref{Entwicklung,,, emacs-guix, The Emacs-Guix Reference |
| 751 | Manual}). | 794 | Manual}). |
| 752 | 795 | ||
| 753 | @cindex Einrückung, Code- | 796 | @cindex Einrückung, Code- |
| @@ -800,60 +843,61 @@ unter @uref{https://bugs.gnu.org/guix-patches}, wodurch wir den Überblick | |||
| 800 | über Eingereichtes behalten können. Jede an diese Mailing-Liste gesendete | 843 | über Eingereichtes behalten können. Jede an diese Mailing-Liste gesendete |
| 801 | Nachricht bekommt eine neue Folgenummer zugewiesen, so dass man eine | 844 | Nachricht bekommt eine neue Folgenummer zugewiesen, so dass man eine |
| 802 | Folge-Email zur Einreichung an @code{@var{NNN}@@debbugs.gnu.org} senden | 845 | Folge-Email zur Einreichung an @code{@var{NNN}@@debbugs.gnu.org} senden |
| 803 | kann, wobei @var{NNN} für die Folgenummer steht (@pxref{Senden einer Patch-Reihe}). | 846 | kann, wobei @var{NNN} für die Folgenummer steht (siehe @ref{Senden einer Patch-Reihe}). |
| 804 | 847 | ||
| 805 | Bitte schreiben Sie Commit-Logs im ChangeLog-Format (@pxref{Change Logs,,, | 848 | Bitte schreiben Sie Commit-Logs im ChangeLog-Format (siehe @ref{Change |
| 806 | standards, GNU Coding Standards}); dazu finden Sie Beispiele unter den | 849 | Logs,,, standards, GNU Coding Standards}); dazu finden Sie Beispiele unter |
| 807 | bisherigen Commits. | 850 | den bisherigen Commits. |
| 808 | 851 | ||
| 809 | Bevor Sie einen Patch einreichen, der eine Paketdefinition hinzufügt oder | 852 | Bevor Sie einen Patch einreichen, der eine Paketdefinition hinzufügt oder |
| 810 | verändert, gehen Sie bitte diese Prüfliste durch: | 853 | verändert, gehen Sie bitte diese Prüfliste durch: |
| 811 | 854 | ||
| 812 | @enumerate | 855 | @enumerate |
| 813 | @item | 856 | @item |
| 814 | Wenn die Autoren der verpackten Software eine kryptographische Signatur für | 857 | Wenn die Autoren der verpackten Software eine kryptografische Signatur |
| 815 | den Tarball der Veröffentlichung anbieten, so machen Sie sich bitte die | 858 | bzw. Beglaubigung für den Tarball der Veröffentlichung anbieten, so machen |
| 816 | Mühe, die Echtheit des Archivs zu überprüfen. Für eine abgetrennte | 859 | Sie sich bitte die Mühe, die Echtheit des Archivs zu überprüfen. Für eine |
| 817 | GPG-Signaturdatei würden Sie das mit dem Befehl @code{gpg --verify} tun. | 860 | abgetrennte GPG-Signaturdatei würden Sie das mit dem Befehl @code{gpg |
| 861 | --verify} tun. | ||
| 818 | 862 | ||
| 819 | @item | 863 | @item |
| 820 | Nehmen Sie sich die Zeit, eine passende Zusammenfassung und Beschreibung für | 864 | Nehmen Sie sich die Zeit, eine passende Zusammenfassung und Beschreibung für |
| 821 | das Paket zu verfassen. Unter @xref{Zusammenfassungen und Beschreibungen} finden Sie | 865 | das Paket zu verfassen. Unter @ref{Zusammenfassungen und Beschreibungen} finden Sie |
| 822 | dazu einige Richtlinien. | 866 | dazu einige Richtlinien. |
| 823 | 867 | ||
| 824 | @item | 868 | @item |
| 825 | Verwenden Sie @code{guix lint @var{Paket}}, wobei @var{Paket} das neue oder | 869 | Verwenden Sie @code{guix lint @var{Paket}}, wobei @var{Paket} das neue oder |
| 826 | geänderte Paket bezeichnet, und beheben Sie alle gemeldeten Fehler | 870 | geänderte Paket bezeichnet, und beheben Sie alle gemeldeten Fehler (siehe |
| 827 | (@pxref{Aufruf von guix lint}). | 871 | @ref{Aufruf von guix lint}). |
| 828 | 872 | ||
| 829 | @item | 873 | @item |
| 830 | Stellen Sie sicher, dass das Paket auf Ihrer Plattform erstellt werden kann, | 874 | Stellen Sie sicher, dass das Paket auf Ihrer Plattform erstellt werden kann, |
| 831 | indem Sie @code{guix build @var{Paket}} ausführen. | 875 | indem Sie @code{guix build @var{Paket}} ausführen. |
| 832 | 876 | ||
| 833 | @item | 877 | @item |
| 834 | We recommend you also try building the package on other supported | 878 | Wir empfehlen, dass Sie auch versuchen, das Paket auf anderen unterstützten |
| 835 | platforms. As you may not have access to actual hardware platforms, we | 879 | Plattformen zu erstellen. Da Sie vielleicht keinen Zugang zu echter Hardware |
| 836 | recommend using the @code{qemu-binfmt-service-type} to emulate them. In | 880 | für diese Plattformen haben, empfehlen wir, den |
| 837 | order to enable it, add the following service to the list of services in | 881 | @code{qemu-binfmt-service-type} zu benutzen, um sie zu emulieren. Um ihn zu |
| 838 | your @code{operating-system} configuration: | 882 | aktivieren, fügen Sie den folgenden Dienst in die Liste der Dienste |
| 883 | (»services«) in Ihrer @code{operating-system}-Konfiguration ein: | ||
| 839 | 884 | ||
| 840 | @example | 885 | @example |
| 841 | (service qemu-binfmt-service-type | 886 | (service qemu-binfmt-service-type |
| 842 | (qemu-binfmt-configuration | 887 | (qemu-binfmt-configuration |
| 843 | (platforms (lookup-qemu-platforms "arm" "aarch64" "ppc" "mips64el")) | 888 | (platforms (lookup-qemu-platforms "arm" "aarch64" "mips64el")) |
| 844 | (guix-support? #t))) | 889 | (guix-support? #t))) |
| 845 | @end example | 890 | @end example |
| 846 | 891 | ||
| 847 | Then reconfigure your system. | 892 | Rekonfigurieren Sie anschließend Ihr System. |
| 848 | 893 | ||
| 849 | You can then build packages for different platforms by specifying the | 894 | Sie können Pakete für andere Plattformen erstellen lassen, indem Sie die |
| 850 | @code{--system} option. For example, to build the "hello" package for the | 895 | Befehlszeilenoption @code{--system} angeben. Um zum Beispiel das Paket |
| 851 | armhf, aarch64, powerpc, or mips64 architectures, you would run the | 896 | »hello« für die Architekturen armhf, aarch64 oder mips64 erstellen zu |
| 852 | following commands, respectively: | 897 | lassen, würden Sie jeweils die folgenden Befehle angeben: |
| 853 | @example | 898 | @example |
| 854 | guix build --system=armhf-linux --rounds=2 hello | 899 | guix build --system=armhf-linux --rounds=2 hello |
| 855 | guix build --system=aarch64-linux --rounds=2 hello | 900 | guix build --system=aarch64-linux --rounds=2 hello |
| 856 | guix build --system=powerpc-linux --rounds=2 hello | ||
| 857 | guix build --system=mips64el-linux --rounds=2 hello | 901 | guix build --system=mips64el-linux --rounds=2 hello |
| 858 | @end example | 902 | @end example |
| 859 | 903 | ||
| @@ -874,17 +918,18 @@ einzuspielen, die aber das gesamte System betreffen — gebündelt | |||
| 874 | mitgelieferte Kopien würden dies verhindern. | 918 | mitgelieferte Kopien würden dies verhindern. |
| 875 | 919 | ||
| 876 | @item | 920 | @item |
| 877 | Take a look at the profile reported by @command{guix size} (@pxref{Aufruf von guix size}). This will allow you to notice references to other packages | 921 | Schauen Sie sich das von @command{guix size} ausgegebene Profil an (siehe |
| 878 | unwillingly retained. It may also help determine whether to split the | 922 | @ref{Aufruf von guix size}). Dadurch können Sie Referenzen auf andere Pakete |
| 879 | package (@pxref{Pakete mit mehreren Ausgaben.}), and which optional | 923 | finden, die ungewollt vorhanden sind. Dies kann auch dabei helfen, zu |
| 880 | dependencies should be used. In particular, avoid adding @code{texlive} as | 924 | entscheiden, ob das Paket aufgespalten werden sollte (siehe @ref{Pakete mit mehreren Ausgaben.}) und welche optionalen Abhängigkeiten verwendet |
| 881 | a dependency: because of its extreme size, use @code{texlive-tiny} or | 925 | werden sollten. Dabei sollten Sie es wegen seiner enormen Größe insbesondere |
| 882 | @code{texlive-union} instead. | 926 | vermeiden, @code{texlive} als eine Abhängigkeit hinzuzufügen; benutzen Sie |
| 927 | stattdessen @code{texlive-tiny} oder @code{texlive-union}. | ||
| 883 | 928 | ||
| 884 | @item | 929 | @item |
| 885 | Achten Sie bei wichtigen Änderungen darauf, dass abhängige Pakete (falls | 930 | Achten Sie bei wichtigen Änderungen darauf, dass abhängige Pakete (falls |
| 886 | vorhanden) nicht von der Änderung beeinträchtigt werden; @code{guix refresh | 931 | vorhanden) nicht von der Änderung beeinträchtigt werden; @code{guix refresh |
| 887 | --list-dependent @var{Paket}} hilft Ihnen dabei (@pxref{Aufruf von guix refresh}). | 932 | --list-dependent @var{Paket}} hilft Ihnen dabei (siehe @ref{Aufruf von guix refresh}). |
| 888 | 933 | ||
| 889 | @c See <https://lists.gnu.org/archive/html/guix-devel/2016-10/msg00933.html>. | 934 | @c See <https://lists.gnu.org/archive/html/guix-devel/2016-10/msg00933.html>. |
| 890 | @cindex Branching-Strategie | 935 | @cindex Branching-Strategie |
| @@ -899,9 +944,9 @@ statt, nach ungefähr diesen Regeln: | |||
| 899 | 944 | ||
| 900 | @item zwischen 300 und 1200 abhängige Pakete | 945 | @item zwischen 300 und 1200 abhängige Pakete |
| 901 | @code{staging}-Branch (störfreie Änderungen). Dieser Branch wird circa alle | 946 | @code{staging}-Branch (störfreie Änderungen). Dieser Branch wird circa alle |
| 902 | 3 Wochen in @code{master} gemerget. Themenbezogene Änderungen (z.B. eine | 947 | 3 Wochen mit @code{master} zusammengeführt. Themenbezogene Änderungen |
| 903 | Aktualisierung der GNOME-Plattform) können stattdessen auch auf einem | 948 | (z.B.@: eine Aktualisierung der GNOME-Plattform) können stattdessen auch auf |
| 904 | eigenen Branch umgesetzt werden (wie @code{gnome-updates}). | 949 | einem eigenen Branch umgesetzt werden (wie @code{gnome-updates}). |
| 905 | 950 | ||
| 906 | @item mehr als 1200 abhängige Pakete | 951 | @item mehr als 1200 abhängige Pakete |
| 907 | @code{core-updates}-Branch (kann auch größere und womöglich andere Software | 952 | @code{core-updates}-Branch (kann auch größere und womöglich andere Software |
| @@ -932,7 +977,7 @@ Sie typischerweise, ob eine unabhängige Erstellung des Pakets genau dasselbe | |||
| 932 | Ergebnis wie Ihre Erstellung hat, Bit für Bit. | 977 | Ergebnis wie Ihre Erstellung hat, Bit für Bit. |
| 933 | 978 | ||
| 934 | Dies können Sie leicht tun, indem Sie dasselbe Paket mehrere Male | 979 | Dies können Sie leicht tun, indem Sie dasselbe Paket mehrere Male |
| 935 | hintereinander auf Ihrer Maschine erstellen (@pxref{Aufruf von guix build}): | 980 | hintereinander auf Ihrer Maschine erstellen (siehe @ref{Aufruf von guix build}): |
| 936 | 981 | ||
| 937 | @example | 982 | @example |
| 938 | guix build --rounds=2 mein-paket | 983 | guix build --rounds=2 mein-paket |
| @@ -942,20 +987,22 @@ Dies reicht aus, um eine ganze Klasse häufiger Ursachen von | |||
| 942 | Nichtdeterminismus zu finden, wie zum Beispiel Zeitstempel oder | 987 | Nichtdeterminismus zu finden, wie zum Beispiel Zeitstempel oder |
| 943 | zufallsgenerierte Ausgaben im Ergebnis der Erstellung. | 988 | zufallsgenerierte Ausgaben im Ergebnis der Erstellung. |
| 944 | 989 | ||
| 945 | Another option is to use @command{guix challenge} (@pxref{Aufruf von guix challenge}). You may run it once the package has been committed and built | 990 | Eine weitere Möglichkeit ist, @command{guix challenge} (siehe @ref{Aufruf von guix challenge}) zu benutzen. Sie können es ausführen, sobald ein Paket |
| 946 | by @code{@value{SUBSTITUTE-SERVER}} to check whether it obtains the same | 991 | commitet und von @code{@value{SUBSTITUTE-SERVER}} erstellt wurde, um zu |
| 947 | result as you did. Better yet: Find another machine that can build it and | 992 | sehen, ob dort dasselbe Ergebnis wie bei Ihnen geliefert wurde. Noch besser: |
| 948 | run @command{guix publish}. Since the remote build machine is likely | 993 | Finden Sie eine andere Maschine, die das Paket erstellen kann, und führen |
| 949 | different from yours, this can catch non-determinism issues related to the | 994 | Sie @command{guix publish} aus. Da sich die entfernte Erstellungsmaschine |
| 950 | hardware---e.g., use of different instruction set extensions---or to the | 995 | wahrscheinlich von Ihrer unterscheidet, können Sie auf diese Weise Probleme |
| 951 | operating system kernel---e.g., reliance on @code{uname} or @file{/proc} | 996 | durch Nichtdeterminismus erkennen, die mit der Hardware zu tun haben — zum |
| 952 | files. | 997 | Beispiel die Nutzung anderer Befehlssatzerweiterungen — oder mit dem |
| 998 | Betriebssystem-Kernel — zum Beispiel, indem @code{uname} oder | ||
| 999 | @file{/proc}-Dateien verwendet werden. | ||
| 953 | 1000 | ||
| 954 | @item | 1001 | @item |
| 955 | Beim Schreiben von Dokumentation achten Sie bitte auf eine | 1002 | Beim Schreiben von Dokumentation achten Sie bitte auf eine |
| 956 | geschlechtsneutrale Wortwahl, wenn Sie sich auf Personen beziehen, wie | 1003 | geschlechtsneutrale Wortwahl, wenn Sie sich auf Personen beziehen, wie |
| 957 | @uref{https://en.wikipedia.org/wiki/Singular_they, »they«@comma{} | 1004 | @uref{https://en.wikipedia.org/wiki/Singular_they, »they«@comma{} |
| 958 | »their«@comma{} »them« im Singular}, und so weiter. | 1005 | »their«@comma{} »them« im Singular} und so weiter. |
| 959 | 1006 | ||
| 960 | @item | 1007 | @item |
| 961 | Stelllen Sie sicher, dass Ihr Patch nur einen Satz zusammengehöriger | 1008 | Stelllen Sie sicher, dass Ihr Patch nur einen Satz zusammengehöriger |
| @@ -969,11 +1016,11 @@ zusammen mit Fehlerbehebungen für das Paket. | |||
| 969 | @item | 1016 | @item |
| 970 | Bitte befolgen Sie unsere Richtlinien für die Code-Formatierung, womöglich | 1017 | Bitte befolgen Sie unsere Richtlinien für die Code-Formatierung, womöglich |
| 971 | wollen Sie dies automatisch tun lassen durch das Skript | 1018 | wollen Sie dies automatisch tun lassen durch das Skript |
| 972 | @command{etc/indent-code.el} (@pxref{Formatierung von Code}). | 1019 | @command{etc/indent-code.el} (siehe @ref{Formatierung von Code}). |
| 973 | 1020 | ||
| 974 | @item | 1021 | @item |
| 975 | Benutzen Sie, wenn möglich, Spiegelserver (Mirrors) in der Quell-URL | 1022 | Benutzen Sie, wenn möglich, Spiegelserver (Mirrors) in der Quell-URL (siehe |
| 976 | (@pxref{Aufruf von guix download}). Verwenden Sie verlässliche URLs, keine | 1023 | @ref{Aufruf von guix download}). Verwenden Sie verlässliche URLs, keine |
| 977 | automatisch generierten. Zum Beispiel sind Archive von GitHub nicht immer | 1024 | automatisch generierten. Zum Beispiel sind Archive von GitHub nicht immer |
| 978 | identisch von einer Generation auf die nächste, daher ist es in diesem Fall | 1025 | identisch von einer Generation auf die nächste, daher ist es in diesem Fall |
| 979 | besser, als Quelle einen Klon des Repositorys zu verwenden. Benutzen Sie | 1026 | besser, als Quelle einen Klon des Repositorys zu verwenden. Benutzen Sie |
| @@ -984,7 +1031,7 @@ wirklich und wenn sich der Name ändert, stimmt die URL nicht mehr. | |||
| 984 | 1031 | ||
| 985 | Bitte benutzen Sie @samp{[PATCH] @dots{}} als Betreff, wenn Sie einen Patch | 1032 | Bitte benutzen Sie @samp{[PATCH] @dots{}} als Betreff, wenn Sie einen Patch |
| 986 | an die Mailing-Liste schicken. Sie können dazu Ihr E-Mail-Programm oder den | 1033 | an die Mailing-Liste schicken. Sie können dazu Ihr E-Mail-Programm oder den |
| 987 | Befehl @command{git send-email} benutzen (@pxref{Senden einer Patch-Reihe}). Wir bevorzugen es, Patches als reine Textnachrichten zu erhalten, | 1034 | Befehl @command{git send-email} benutzen (siehe @ref{Senden einer Patch-Reihe}). Wir bevorzugen es, Patches als reine Textnachrichten zu erhalten, |
| 988 | entweder eingebettet (inline) oder als MIME-Anhänge. Sie sind dazu | 1035 | entweder eingebettet (inline) oder als MIME-Anhänge. Sie sind dazu |
| 989 | angehalten, zu überprüfen, ob Ihr Mail-Programm solche Dinge wie | 1036 | angehalten, zu überprüfen, ob Ihr Mail-Programm solche Dinge wie |
| 990 | Zeilenumbrüche oder die Einrückung verändert, wodurch die Patches womöglich | 1037 | Zeilenumbrüche oder die Einrückung verändert, wodurch die Patches womöglich |
| @@ -1000,9 +1047,9 @@ Sie eine E-Mail an @email{@var{NNN}-done@@debbugs.gnu.org} senden. | |||
| 1000 | @cindex @code{git-send-email} | 1047 | @cindex @code{git-send-email} |
| 1001 | 1048 | ||
| 1002 | @c Debbugs bug: https://debbugs.gnu.org/db/15/15361.html | 1049 | @c Debbugs bug: https://debbugs.gnu.org/db/15/15361.html |
| 1003 | Wenn Sie eine Patch-Reihe senden (z.B. mit @code{git send-email}), schicken | 1050 | Wenn Sie eine Patch-Reihe senden (z.B.@: mit @code{git send-email}), |
| 1004 | Sie bitte als Erstes eine Nachricht an @email{guix-patches@@gnu.org} und | 1051 | schicken Sie bitte als Erstes eine Nachricht an |
| 1005 | dann nachfolgende Patches an @email{@var{NNN}@@debbugs.gnu.org}, um | 1052 | @email{guix-patches@@gnu.org} und dann nachfolgende Patches an |
| 1006 | sicherzustellen, dass sie zusammen bearbeitet werden. Siehe | 1053 | @email{@var{NNN}@@debbugs.gnu.org}, um sicherzustellen, dass sie zusammen |
| 1007 | @uref{https://debbugs.gnu.org/Advanced.html, die Debbugs-Dokumentation} für | 1054 | bearbeitet werden. Siehe @uref{https://debbugs.gnu.org/Advanced.html, die |
| 1008 | weitere Informationen. | 1055 | Debbugs-Dokumentation} für weitere Informationen. |
diff --git a/doc/guix.de.texi b/doc/guix.de.texi index 83dae0d3ecb..419d40379e6 100644 --- a/doc/guix.de.texi +++ b/doc/guix.de.texi | |||
| @@ -32,9 +32,9 @@ Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} | |||
| 32 | 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017 | 32 | 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017 |
| 33 | Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019 Ricardo | 33 | Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019 Ricardo |
| 34 | Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} | 34 | Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} |
| 35 | 2016, 2017, 2018 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018 | 35 | 2016, 2017, 2018 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018, |
| 36 | Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright | 36 | 2019 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* |
| 37 | @copyright{} 2016, 2017 ng0@* Copyright @copyright{} 2016, 2017, | 37 | Copyright @copyright{} 2016, 2017 ng0@* Copyright @copyright{} 2016, 2017, |
| 38 | 2018, 2019 Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Julien Lepiller@* | 38 | 2018, 2019 Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Julien Lepiller@* |
| 39 | Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, | 39 | Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, |
| 40 | 2017, 2018, 2019 Christopher Baines@* Copyright @copyright{} 2017, 2018 | 40 | 2017, 2018, 2019 Christopher Baines@* Copyright @copyright{} 2017, 2018 |
| @@ -46,7 +46,7 @@ Christopher Allan Webber@* Copyright @copyright{} 2017, 2018 Marius Bakke@* | |||
| 46 | Copyright @copyright{} 2017 Hartmut Goebel@* Copyright @copyright{} 2017 | 46 | Copyright @copyright{} 2017 Hartmut Goebel@* Copyright @copyright{} 2017 |
| 47 | Maxim Cournoyer@* Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@* | 47 | Maxim Cournoyer@* Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@* |
| 48 | Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 | 48 | Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 |
| 49 | Andy Wingo@* Copyright @copyright{} 2017, 2018 Arun Isaac@* Copyright | 49 | Andy Wingo@* Copyright @copyright{} 2017, 2018, 2019 Arun Isaac@* Copyright |
| 50 | @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* | 50 | @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* |
| 51 | Copyright @copyright{} 2018 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike | 51 | Copyright @copyright{} 2018 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike |
| 52 | Gerwitz@* Copyright @copyright{} 2018 Pierre-Antoine Rouby@* Copyright | 52 | Gerwitz@* Copyright @copyright{} 2018 Pierre-Antoine Rouby@* Copyright |
| @@ -114,10 +114,10 @@ geschrieben wurde. | |||
| 114 | @c TRANSLATORS: You can replace the following paragraph with information on | 114 | @c TRANSLATORS: You can replace the following paragraph with information on |
| 115 | @c how to join your own translation team and how to report issues with the | 115 | @c how to join your own translation team and how to report issues with the |
| 116 | @c translation. | 116 | @c translation. |
| 117 | Dieses Handbuch ist auch auf Englisch (@pxref{Top,,, guix, GNU Guix | 117 | Dieses Handbuch ist auch auf Englisch (siehe @ref{Top,,, guix, GNU Guix |
| 118 | Reference Manual}) und Französisch verfügbar (@pxref{Top,,, guix.fr, Manuel | 118 | Reference Manual}) und Französisch verfügbar (siehe @ref{Top,,, guix.fr, |
| 119 | de référence de GNU Guix}). Wenn Sie es in Ihre eigene Sprache übersetzen | 119 | Manuel de référence de GNU Guix}). Wenn Sie es in Ihre eigene Sprache |
| 120 | möchten, dann sind Sie beim | 120 | übersetzen möchten, dann sind Sie beim |
| 121 | @uref{https://translationproject.org/domain/guix-manual.html, Translation | 121 | @uref{https://translationproject.org/domain/guix-manual.html, Translation |
| 122 | Project} herzlich willkommen. | 122 | Project} herzlich willkommen. |
| 123 | 123 | ||
| @@ -126,7 +126,7 @@ Project} herzlich willkommen. | |||
| 126 | * Installation:: Guix installieren. | 126 | * Installation:: Guix installieren. |
| 127 | * Systeminstallation:: Das ganze Betriebssystem installieren. | 127 | * Systeminstallation:: Das ganze Betriebssystem installieren. |
| 128 | * Paketverwaltung:: Pakete installieren, aktualisieren usw. | 128 | * Paketverwaltung:: Pakete installieren, aktualisieren usw. |
| 129 | * Development:: Guix-aided software development. | 129 | * Entwicklung:: Von Guix unterstützte Softwareentwicklung. |
| 130 | * Programmierschnittstelle:: Guix in Scheme verwenden. | 130 | * Programmierschnittstelle:: Guix in Scheme verwenden. |
| 131 | * Zubehör:: Befehle zur Paketverwaltung. | 131 | * Zubehör:: Befehle zur Paketverwaltung. |
| 132 | * Systemkonfiguration:: Das Betriebssystem konfigurieren. | 132 | * Systemkonfiguration:: Das Betriebssystem konfigurieren. |
| @@ -153,8 +153,8 @@ Einführung | |||
| 153 | 153 | ||
| 154 | 154 | ||
| 155 | 155 | ||
| 156 | * Managing Software the Guix Way:: What's special. | 156 | * Auf Guix-Art Software verwalten:: Was Guix besonders macht. |
| 157 | * GNU-Distribution:: The packages and tools. | 157 | * GNU-Distribution:: Die Pakete und Werkzeuge. |
| 158 | 158 | ||
| 159 | Installation | 159 | Installation |
| 160 | 160 | ||
| @@ -163,7 +163,7 @@ Installation | |||
| 163 | * Aus Binärdatei installieren:: Guix installieren, ohne Zeit zu verlieren! | 163 | * Aus Binärdatei installieren:: Guix installieren, ohne Zeit zu verlieren! |
| 164 | * Voraussetzungen:: Zum Erstellen und Benutzen von Guix nötige | 164 | * Voraussetzungen:: Zum Erstellen und Benutzen von Guix nötige |
| 165 | Software. | 165 | Software. |
| 166 | * Die Testsuite laufen lassen:: Guix testen. | 166 | * Den Testkatalog laufen lassen:: Guix testen. |
| 167 | * Den Daemon einrichten:: Wie man die Umgebung des Erstellungs-Daemons | 167 | * Den Daemon einrichten:: Wie man die Umgebung des Erstellungs-Daemons |
| 168 | einrichtet. | 168 | einrichtet. |
| 169 | * Aufruf des guix-daemon:: Den Erstellungs-Daemon laufen lassen. | 169 | * Aufruf des guix-daemon:: Den Erstellungs-Daemon laufen lassen. |
| @@ -189,10 +189,20 @@ Systeminstallation | |||
| 189 | * Installation von USB-Stick oder DVD:: Das Installationsmedium | 189 | * Installation von USB-Stick oder DVD:: Das Installationsmedium |
| 190 | vorbereiten. | 190 | vorbereiten. |
| 191 | * Vor der Installation:: Netzwerkanbindung, Partitionierung etc. | 191 | * Vor der Installation:: Netzwerkanbindung, Partitionierung etc. |
| 192 | * Fortfahren mit der Installation:: Die Hauptsache. | 192 | * Geführte grafische Installation:: Leichte grafische Installation. |
| 193 | * Installing Guix in a VM:: Guix System playground. | 193 | * Manuelle Installation:: Manuelle Installation für Zauberer. |
| 194 | * Nach der Systeminstallation:: Wenn die Installation erfolgreich war. | ||
| 195 | * Guix in einer VM installieren:: Ein »Guix System«-Spielplatz. | ||
| 194 | * Ein Abbild zur Installation erstellen:: Wie ein solches entsteht. | 196 | * Ein Abbild zur Installation erstellen:: Wie ein solches entsteht. |
| 195 | 197 | ||
| 198 | Manuelle Installation | ||
| 199 | |||
| 200 | |||
| 201 | |||
| 202 | * Tastaturbelegung und Netzwerkanbindung und Partitionierung:: Erstes | ||
| 203 | Einrichten. | ||
| 204 | * Fortfahren mit der Installation:: Installieren. | ||
| 205 | |||
| 196 | Paketverwaltung | 206 | Paketverwaltung |
| 197 | 207 | ||
| 198 | 208 | ||
| @@ -223,7 +233,7 @@ Substitute | |||
| 223 | * Vom Vertrauen gegenüber Binärdateien:: Wie können Sie diesem binären | 233 | * Vom Vertrauen gegenüber Binärdateien:: Wie können Sie diesem binären |
| 224 | Blob trauen? | 234 | Blob trauen? |
| 225 | 235 | ||
| 226 | Development | 236 | Entwicklung |
| 227 | 237 | ||
| 228 | 238 | ||
| 229 | 239 | ||
| @@ -258,12 +268,12 @@ Zubehör | |||
| 258 | * Aufruf von guix edit:: Paketdefinitionen bearbeiten. | 268 | * Aufruf von guix edit:: Paketdefinitionen bearbeiten. |
| 259 | * Aufruf von guix download:: Herunterladen einer Datei und Ausgabe ihres | 269 | * Aufruf von guix download:: Herunterladen einer Datei und Ausgabe ihres |
| 260 | Hashes. | 270 | Hashes. |
| 261 | * Aufruf von guix hash:: Den kryptographischen Hash einer Datei | 271 | * Aufruf von guix hash:: Den kryptografischen Hash einer Datei |
| 262 | berechnen. | 272 | berechnen. |
| 263 | * Aufruf von guix import:: Paketdefinitionen importieren. | 273 | * Aufruf von guix import:: Paketdefinitionen importieren. |
| 264 | * Aufruf von guix refresh:: Paketdefinitionen aktualisieren. | 274 | * Aufruf von guix refresh:: Paketdefinitionen aktualisieren. |
| 265 | * Aufruf von guix lint:: Fehler in Paketdefinitionen finden. | 275 | * Aufruf von guix lint:: Fehler in Paketdefinitionen finden. |
| 266 | * Aufruf von guix size:: Plattenverbrauch profilieren. | 276 | * Aufruf von guix size:: Plattenplatzverbrauch profilieren. |
| 267 | * Aufruf von guix graph:: Den Paketgraphen visualisieren. | 277 | * Aufruf von guix graph:: Den Paketgraphen visualisieren. |
| 268 | * Aufruf von guix publish:: Substitute teilen. | 278 | * Aufruf von guix publish:: Substitute teilen. |
| 269 | * Aufruf von guix challenge:: Die Substitut-Server anfechten. | 279 | * Aufruf von guix challenge:: Die Substitut-Server anfechten. |
| @@ -294,6 +304,7 @@ Systemkonfiguration | |||
| 294 | * Dateisysteme:: Die Dateisystemeinbindungen konfigurieren. | 304 | * Dateisysteme:: Die Dateisystemeinbindungen konfigurieren. |
| 295 | * Zugeordnete Geräte:: Näheres zu blockorientierten Speichermedien. | 305 | * Zugeordnete Geräte:: Näheres zu blockorientierten Speichermedien. |
| 296 | * Benutzerkonten:: Benutzerkonten festlegen. | 306 | * Benutzerkonten:: Benutzerkonten festlegen. |
| 307 | * Tastaturbelegung:: Wie das System Tastendrücke interpretiert. | ||
| 297 | * Locales:: Sprache und kulturelle Konventionen. | 308 | * Locales:: Sprache und kulturelle Konventionen. |
| 298 | * Dienste:: Systemdienste festlegen. | 309 | * Dienste:: Systemdienste festlegen. |
| 299 | * Setuid-Programme:: Mit Administratorrechten startende Programme. | 310 | * Setuid-Programme:: Mit Administratorrechten startende Programme. |
| @@ -302,7 +313,8 @@ Systemkonfiguration | |||
| 302 | * Initiale RAM-Disk:: Linux-libre hochfahren. | 313 | * Initiale RAM-Disk:: Linux-libre hochfahren. |
| 303 | * Bootloader-Konfiguration:: Den Bootloader konfigurieren. | 314 | * Bootloader-Konfiguration:: Den Bootloader konfigurieren. |
| 304 | * Aufruf von guix system:: Instanziierung einer Systemkonfiguration. | 315 | * Aufruf von guix system:: Instanziierung einer Systemkonfiguration. |
| 305 | * Running Guix in a VM:: How to run Guix System in a virtual machine. | 316 | * Guix in einer VM starten:: Wie man »Guix System« in einer virtuellen |
| 317 | Maschine startet. | ||
| 306 | * Dienste definieren:: Neue Dienstdefinitionen hinzufügen. | 318 | * Dienste definieren:: Neue Dienstdefinitionen hinzufügen. |
| 307 | 319 | ||
| 308 | Dienste | 320 | Dienste |
| @@ -354,59 +366,67 @@ Dienste definieren | |||
| 354 | @chapter Einführung | 366 | @chapter Einführung |
| 355 | 367 | ||
| 356 | @cindex Zweck | 368 | @cindex Zweck |
| 357 | GNU Guix@footnote{``Guix'' is pronounced like ``geeks'', or ``ɡiːks'' using | 369 | GNU Guix@footnote{»Guix« wird wie »geeks« ausgesprochen, also als »ɡiːks« in |
| 358 | the international phonetic alphabet (IPA).} is a package management tool for | 370 | der Notation des Internationalen Phonetischen Alphabets (IPA).} ist ein |
| 359 | and distribution of the GNU system. Guix makes it easy for unprivileged | 371 | Werkzeug zur Verwaltung von Softwarepaketen für das GNU-System und eine |
| 360 | users to install, upgrade, or remove software packages, to roll back to a | 372 | Distribution desselbigen GNU-Systems. Guix macht es @emph{nicht} mit |
| 361 | previous package set, to build packages from source, and generally assists | 373 | besonderen Berechtigungen ausgestatteten, »unprivilegierten« Nutzern leicht, |
| 362 | with the creation and maintenance of software environments. | 374 | Softwarepakete zu installieren, zu aktualisieren oder zu entfernen, zu einem |
| 375 | vorherigen Satz von Paketen zurückzuwechseln, Pakete aus ihrem Quellcode | ||
| 376 | heraus zu erstellen und hilft allgemein bei der Erzeugung und Wartung von | ||
| 377 | Software-Umgebungen. | ||
| 363 | 378 | ||
| 364 | @cindex Guix System | 379 | @cindex Guix System |
| 365 | @cindex GuixSD, now Guix System | 380 | @cindex GuixSD, was jetzt Guix System heißt |
| 366 | @cindex Guix System Distribution, now Guix System | 381 | @cindex Guix System Distribution, welche jetzt Guix System heißt |
| 367 | You can install GNU@tie{}Guix on top of an existing GNU/Linux system where | 382 | Sie können GNU@tie{}Guix auf ein bestehendes GNU/Linux-System aufsetzen, wo |
| 368 | it complements the available tools without interference | 383 | es die bereits verfügbaren Werkzeuge ergänzt, ohne zu stören (siehe |
| 369 | (@pxref{Installation}), or you can use it as a standalone operating system | 384 | @ref{Installation}), oder Sie können es als eine eigenständige |
| 370 | distribution, @dfn{Guix@tie{}System}@footnote{We used to refer to Guix | 385 | Betriebssystem-Distribution namens @dfn{Guix@tie{}System} |
| 371 | System as ``Guix System Distribution'' or ``GuixSD''. We now consider it | 386 | verwenden@footnote{Der Name @dfn{Guix@tie{}System} wird auf englische Weise |
| 372 | makes more sense to group everything under the ``Guix'' banner since, after | 387 | ausgesprochen. Früher hatten wir »Guix System« als »Guix System |
| 373 | all, Guix System is readily available through the @command{guix system} | 388 | Distribution« bezeichnet und mit »GuixSD« abgekürzt. Wir denken mittlerweile |
| 374 | command, even if you're using a different distro underneath!}. @xref{GNU-Distribution}. | 389 | aber, dass es sinnvoller ist, alles unter der Fahne von Guix zu gruppieren, |
| 390 | weil schließlich »Guix System« auch über den Befehl @command{guix system} | ||
| 391 | verfügbar ist, selbst wenn Sie Guix auf einer fremden Distribution | ||
| 392 | benutzen!}. Siehe @ref{GNU-Distribution}. | ||
| 375 | 393 | ||
| 376 | @menu | 394 | @menu |
| 377 | * Managing Software the Guix Way:: What's special. | 395 | * Auf Guix-Art Software verwalten:: Was Guix besonders macht. |
| 378 | * GNU-Distribution:: The packages and tools. | 396 | * GNU-Distribution:: Die Pakete und Werkzeuge. |
| 379 | @end menu | 397 | @end menu |
| 380 | 398 | ||
| 381 | @node Managing Software the Guix Way | 399 | @node Auf Guix-Art Software verwalten |
| 382 | @section Managing Software the Guix Way | 400 | @section Auf Guix-Art Software verwalten |
| 383 | 401 | ||
| 384 | @cindex Benutzeroberflächen | 402 | @cindex Benutzeroberflächen |
| 385 | Guix provides a command-line package management interface (@pxref{Paketverwaltung}), tools to help with software development (@pxref{Development}), | 403 | Guix bietet eine befehlszeilenbasierte Paketverwaltungsschnittstelle (siehe |
| 386 | command-line utilities for more advanced usage, (@pxref{Zubehör}), as well | 404 | @ref{Aufruf von guix package}), Werkzeuge als Hilfestellung bei der |
| 387 | as Scheme programming interfaces (@pxref{Programmierschnittstelle}). | 405 | Software-Entwicklung (siehe @ref{Entwicklung}), Befehlszeilenwerkzeuge für |
| 406 | fortgeschrittenere Nutzung (siehe @ref{Zubehör}) sowie Schnittstellen zur | ||
| 407 | Programmierung in Scheme (siehe @ref{Programmierschnittstelle}). | ||
| 388 | @cindex Erstellungs-Daemon | 408 | @cindex Erstellungs-Daemon |
| 389 | Der @dfn{Erstellungs-Daemon} ist für das Erstellen von Paketen im Auftrag | 409 | Der @dfn{Erstellungs-Daemon} ist für das Erstellen von Paketen im Auftrag |
| 390 | von Nutzern verantwortlich (@pxref{Den Daemon einrichten}) und für das | 410 | von Nutzern verantwortlich (siehe @ref{Den Daemon einrichten}) und für das |
| 391 | Herunterladen vorerstellter Binärdateien aus autorisierten Quellen | 411 | Herunterladen vorerstellter Binärdateien aus autorisierten Quellen (siehe |
| 392 | (@pxref{Substitute}). | 412 | @ref{Substitute}). |
| 393 | 413 | ||
| 394 | @cindex Erweiterbarkeit der Distribution | 414 | @cindex Erweiterbarkeit der Distribution |
| 395 | @cindex Anpassung, von Paketen | 415 | @cindex Anpassung, von Paketen |
| 396 | Guix enthält Paketdefinitionen für viele Pakete, von GNU und nicht von GNU, | 416 | Guix enthält Paketdefinitionen für viele Pakete, von GNU und nicht von GNU, |
| 397 | die alle @uref{https://www.gnu.org/philosophy/free-sw.html, die Freiheit des | 417 | die alle @uref{https://www.gnu.org/philosophy/free-sw.html, die Freiheit des |
| 398 | Computernutzers respektieren}. Es ist @emph{erweiterbar}: Nutzer können ihre | 418 | Computernutzers respektieren}. Es ist @emph{erweiterbar}: Nutzer können ihre |
| 399 | eigenen Paketdefinitionen schreiben (@pxref{Pakete definieren}) und sie als | 419 | eigenen Paketdefinitionen schreiben (siehe @ref{Pakete definieren}) und sie |
| 400 | unabhängige Paketmodule verfügbar machen (@pxref{Paketmodule}). Es ist | 420 | als unabhängige Paketmodule verfügbar machen (siehe @ref{Paketmodule}). Es ist auch @emph{anpassbar}: Nutzer können spezialisierte |
| 401 | auch @emph{anpassbar}: Nutzer können spezialisierte Paketdefinitionen aus | 421 | Paketdefinitionen aus bestehenden @emph{ableiten}, auch von der Befehlszeile |
| 402 | bestehenden @emph{ableiten}, auch von der Befehlszeile (@pxref{Paketumwandlungsoptionen}). | 422 | (siehe @ref{Paketumwandlungsoptionen}). |
| 403 | 423 | ||
| 404 | @cindex funktionale Paketverwaltung | 424 | @cindex funktionale Paketverwaltung |
| 405 | @cindex Isolierung | 425 | @cindex Isolierung |
| 406 | Intern implementiert Guix die Disziplin der @dfn{funktionalen | 426 | Intern implementiert Guix die Disziplin der @dfn{funktionalen |
| 407 | Paketverwaltung}, zu der Nix schon die Pionierarbeit geleistet hat | 427 | Paketverwaltung}, zu der Nix schon die Pionierarbeit geleistet hat (siehe |
| 408 | (@pxref{Danksagungen}). In Guix wird der Prozess, ein Paket zu erstellen | 428 | @ref{Danksagungen}). In Guix wird der Prozess, ein Paket zu erstellen und |
| 409 | und zu installieren, als eine @emph{Funktion} im mathematischen Sinn | 429 | zu installieren, als eine @emph{Funktion} im mathematischen Sinn |
| 410 | aufgefasst. Diese Funktion hat Eingaben, wie zum Beispiel | 430 | aufgefasst. Diese Funktion hat Eingaben, wie zum Beispiel |
| 411 | Erstellungs-Skripts, einen Compiler und Bibliotheken, und liefert ein | 431 | Erstellungs-Skripts, einen Compiler und Bibliotheken, und liefert ein |
| 412 | installiertes Paket. Als eine reine Funktion hängt sein Ergebnis allein von | 432 | installiertes Paket. Als eine reine Funktion hängt sein Ergebnis allein von |
| @@ -422,36 +442,37 @@ dies zu erreichen, laufen Erstellungsprozesse in isolieren Umgebungen | |||
| 422 | @cindex Store | 442 | @cindex Store |
| 423 | Das Ergebnis von Paketerstellungsfunktionen wird im Dateisystem | 443 | Das Ergebnis von Paketerstellungsfunktionen wird im Dateisystem |
| 424 | @dfn{zwischengespeichert} in einem besonderen Verzeichnis, was als @dfn{der | 444 | @dfn{zwischengespeichert} in einem besonderen Verzeichnis, was als @dfn{der |
| 425 | Store} bezeichnet wird (@pxref{Der Store}). Jedes Paket wird in sein eigenes | 445 | Store} bezeichnet wird (siehe @ref{Der Store}). Jedes Paket wird in sein |
| 426 | Verzeichnis im Store installiert — standardmäßig ist er unter | 446 | eigenes Verzeichnis im Store installiert — standardmäßig ist er unter |
| 427 | @file{/gnu/store} zu finden. Der Verzeichnisname enthält einen Hash aller | 447 | @file{/gnu/store} zu finden. Der Verzeichnisname enthält einen Hash aller |
| 428 | Eingaben, anhand derer das Paket erzeugt wurde, somit hat das Ändern einer | 448 | Eingaben, anhand derer das Paket erzeugt wurde, somit hat das Ändern einer |
| 429 | Eingabe einen völlig anderen Verzeichnisnamen zur Folge. | 449 | Eingabe einen völlig anderen Verzeichnisnamen zur Folge. |
| 430 | 450 | ||
| 431 | Dieses Vorgehen ist die Grundlage für die Guix auszeichnenden | 451 | Dieses Vorgehen ist die Grundlage für die Guix auszeichnenden |
| 432 | Funktionalitäten: Unterstützung transaktionsbasierter Paketaktualisierungen | 452 | Funktionalitäten: Unterstützung transaktionsbasierter Paketaktualisierungen |
| 433 | und -rückstufungen, Installation von Paketen als einfacher Nutzer sowie | 453 | und -rücksetzungen, Installation von Paketen als einfacher Nutzer sowie |
| 434 | Garbage Collection für Pakete (@pxref{Funktionalitäten}). | 454 | Garbage Collection für Pakete (siehe @ref{Funktionalitäten}). |
| 435 | 455 | ||
| 436 | 456 | ||
| 437 | @node GNU-Distribution | 457 | @node GNU-Distribution |
| 438 | @section GNU-Distribution | 458 | @section GNU-Distribution |
| 439 | 459 | ||
| 440 | @cindex Guix System | 460 | @cindex Guix System |
| 441 | Guix comes with a distribution of the GNU system consisting entirely of free | 461 | Mit Guix kommt eine Distribution des GNU-Systems, die nur aus freier |
| 442 | software@footnote{The term ``free'' here refers to the | 462 | Software@footnote{Die Bezeichnung »frei« steht hier für die |
| 443 | @url{http://www.gnu.org/philosophy/free-sw.html,freedom provided to users of | 463 | @url{http://www.gnu.org/philosophy/free-sw.html,Freiheiten, die Nutzern der |
| 444 | that software}.}. The distribution can be installed on its own | 464 | Software geboten werden}.} besteht. Die Distribution kann für sich allein |
| 445 | (@pxref{Systeminstallation}), but it is also possible to install Guix as a | 465 | installiert werden (siehe @ref{Systeminstallation}), aber Guix kann auch |
| 446 | package manager on top of an installed GNU/Linux system | 466 | auf einem bestehenden GNU/Linux-System installiert werden. Wenn wir die |
| 447 | (@pxref{Installation}). When we need to distinguish between the two, we | 467 | Anwendungsfälle unterscheiden möchten, bezeichnen wir die alleinstehende |
| 448 | refer to the standalone distribution as Guix@tie{}System. | 468 | Distribution als »Guix@tie{}System« (mit englischer Aussprache). |
| 449 | 469 | ||
| 450 | Die Distribution stellt den Kern der GNU-Pakete, also insbesondere GNU libc, | 470 | Die Distribution stellt den Kern der GNU-Pakete, also insbesondere GNU libc, |
| 451 | GCC und Binutils, sowie zahlreiche zum GNU-Projekt gehörende und nicht dazu | 471 | GCC und Binutils, sowie zahlreiche zum GNU-Projekt gehörende und nicht dazu |
| 452 | gehörende Anwendungen zur Verfügung. Die vollständige Liste verfügbarer | 472 | gehörende Anwendungen zur Verfügung. Die vollständige Liste verfügbarer |
| 453 | Pakete können Sie @url{http://www.gnu.org/software/guix/packages,online} | 473 | Pakete können Sie @url{http://www.gnu.org/software/guix/packages,online} |
| 454 | einsehen, oder indem Sie @command{guix package} ausführen (@pxref{Aufruf von guix package}): | 474 | einsehen, oder indem Sie @command{guix package} ausführen (siehe |
| 475 | @ref{Aufruf von guix package}): | ||
| 455 | 476 | ||
| 456 | @example | 477 | @example |
| 457 | guix package --list-available | 478 | guix package --list-available |
| @@ -480,7 +501,7 @@ ARMv7-A-Architektur mit »hard float«, Thumb-2 und NEON, für die EABI | |||
| 480 | @item aarch64-linux | 501 | @item aarch64-linux |
| 481 | 64-Bit-ARMv8-A-Prozessoren, little-endian, Linux-Libre als Kernel. Derzeit | 502 | 64-Bit-ARMv8-A-Prozessoren, little-endian, Linux-Libre als Kernel. Derzeit |
| 482 | ist dies noch in der Erprobungsphase mit begrenzter Unterstützung. Unter | 503 | ist dies noch in der Erprobungsphase mit begrenzter Unterstützung. Unter |
| 483 | @xref{Mitwirken} steht, wie Sie dabei helfen können! | 504 | @ref{Mitwirken} steht, wie Sie dabei helfen können! |
| 484 | 505 | ||
| 485 | @item mips64el-linux | 506 | @item mips64el-linux |
| 486 | 64-Bit-MIPS-Prozessoren, little-endian, insbesondere die Loongson-Reihe, | 507 | 64-Bit-MIPS-Prozessoren, little-endian, insbesondere die Loongson-Reihe, |
| @@ -488,22 +509,24 @@ n32-ABI, mit Linux-Libre als Kernel. | |||
| 488 | 509 | ||
| 489 | @end table | 510 | @end table |
| 490 | 511 | ||
| 491 | With Guix@tie{}System, you @emph{declare} all aspects of the operating | 512 | Mit Guix@tie{}System @emph{deklarieren} Sie alle Aspekte der |
| 492 | system configuration and Guix takes care of instantiating the configuration | 513 | Betriebssystemkonfiguration und Guix kümmert sich darum, die Konfiguration |
| 493 | in a transactional, reproducible, and stateless fashion (@pxref{Systemkonfiguration}). Guix System uses the Linux-libre kernel, the Shepherd | 514 | auf transaktionsbasierte, reproduzierbare und zustandslose Weise zu |
| 494 | initialization system (@pxref{Einführung,,, shepherd, The GNU Shepherd | 515 | instanziieren (siehe @ref{Systemkonfiguration}). Guix System benutzt den |
| 495 | Manual}), the well-known GNU utilities and tool chain, as well as the | 516 | Kernel Linux-libre, das Shepherd-Initialisierungssystem (siehe |
| 496 | graphical environment or system services of your choice. | 517 | @ref{Einführung,,, shepherd, The GNU Shepherd Manual}), die wohlbekannten |
| 518 | GNU-Werkzeuge mit der zugehörigen Werkzeugkette sowie die grafische Umgebung | ||
| 519 | und Systemdienste Ihrer Wahl. | ||
| 497 | 520 | ||
| 498 | Guix System is available on all the above platforms except | 521 | Guix System ist auf allen oben genannten Plattformen außer |
| 499 | @code{mips64el-linux}. | 522 | @code{mips64el-linux} verfügbar. |
| 500 | 523 | ||
| 501 | @noindent | 524 | @noindent |
| 502 | Informationen, wie auf andere Architekturen oder Kernels portiert werden | 525 | Informationen, wie auf andere Architekturen oder Kernels portiert werden |
| 503 | kann, finden Sie im Abschnitt @pxref{Portierung}. | 526 | kann, finden Sie im Abschnitt @ref{Portierung}. |
| 504 | 527 | ||
| 505 | Diese Distribution aufzubauen basiert auf Kooperation, und Sie sind herzlich | 528 | Diese Distribution aufzubauen basiert auf Kooperation, und Sie sind herzlich |
| 506 | eingeladen, dabei mitzumachen! Im Abschnitt @xref{Mitwirken} stehen | 529 | eingeladen, dabei mitzumachen! Im Abschnitt @ref{Mitwirken} stehen |
| 507 | weitere Informationen, wie Sie uns helfen können. | 530 | weitere Informationen, wie Sie uns helfen können. |
| 508 | 531 | ||
| 509 | 532 | ||
| @@ -514,37 +537,40 @@ weitere Informationen, wie Sie uns helfen können. | |||
| 514 | @cindex Guix installieren | 537 | @cindex Guix installieren |
| 515 | 538 | ||
| 516 | @quotation Anmerkung | 539 | @quotation Anmerkung |
| 517 | We recommend the use of this | 540 | Wir empfehlen, dieses |
| 518 | @uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh, | 541 | @uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh, |
| 519 | shell installer script} to install Guix on top of a running GNU/Linux | 542 | Shell-basierte Installationsskript} zu benutzen, um Guix auf ein bestehendes |
| 520 | system, thereafter called a @dfn{foreign distro}.@footnote{This section is | 543 | GNU/Linux-System zu installieren — im Folgenden als @dfn{Fremddistribution} |
| 521 | concerned with the installation of the package manager, which can be done on | 544 | bezeichnet.@footnote{Dieser Abschnitt bezieht sich auf die Installation des |
| 522 | top of a running GNU/Linux system. If, instead, you want to install the | 545 | Paketverwaltungswerkzeugs, das auf ein bestehendes GNU/Linux-System |
| 523 | complete GNU operating system, @pxref{Systeminstallation}.} The script | 546 | aufsetzend installiert werden kann. Wenn Sie stattdessen das vollständige |
| 524 | automates the download, installation, and initial configuration of Guix. It | 547 | GNU-Betriebssystem installieren möchten, lesen Sie @ref{Systeminstallation}.} Das Skript automatisiert das Herunterladen, das Installieren |
| 525 | should be run as the root user. | 548 | und die anfängliche Konfiguration von Guix. Es sollte als der |
| 549 | Administratornutzer »root« ausgeführt werden. | ||
| 526 | @end quotation | 550 | @end quotation |
| 527 | 551 | ||
| 528 | @cindex Fremddistribution | 552 | @cindex Fremddistribution |
| 529 | @cindex Verzeichnisse auf einer Fremddistribution | 553 | @cindex Verzeichnisse auf einer Fremddistribution |
| 530 | When installed on a foreign distro, GNU@tie{}Guix complements the available | 554 | Wenn es auf einer Fremddistribution installiert wird, ergänzt GNU@tie{}Guix |
| 531 | tools without interference. Its data lives exclusively in two directories, | 555 | die verfügbaren Werkzeuge, ohne dass sie sich gegenseitig stören. Guix’ |
| 532 | usually @file{/gnu/store} and @file{/var/guix}; other files on your system, | 556 | Daten befinden sich ausschließlich in zwei Verzeichnissen, üblicherweise |
| 533 | such as @file{/etc}, are left untouched. | 557 | @file{/gnu/store} und @file{/var/guix}; andere Dateien auf Ihrem System wie |
| 558 | @file{/etc} bleiben unberührt. | ||
| 534 | 559 | ||
| 535 | Sobald es installiert ist, kann Guix durch Ausführen von @command{guix pull} | 560 | Sobald es installiert ist, kann Guix durch Ausführen von @command{guix pull} |
| 536 | aktualisiert werden (@pxref{Aufruf von guix pull}). | 561 | aktualisiert werden (siehe @ref{Aufruf von guix pull}). |
| 537 | 562 | ||
| 538 | If you prefer to perform the installation steps manually or want to tweak | 563 | Sollten Sie es vorziehen, die Installationsschritte manuell durchzuführen, |
| 539 | them, you may find the following subsections useful. They describe the | 564 | oder falls Sie Anpassungen daran vornehmen möchten, könnten sich die |
| 540 | software requirements of Guix, as well as how to install it manually and get | 565 | folgenden Unterabschnitte als nützlich erweisen. Diese beschreiben die |
| 541 | ready to use it. | 566 | Software-Voraussetzungen von Guix und wie man es manuell installiert, so |
| 567 | dass man es benutzen kann. | ||
| 542 | 568 | ||
| 543 | @menu | 569 | @menu |
| 544 | * Aus Binärdatei installieren:: Guix installieren, ohne Zeit zu verlieren! | 570 | * Aus Binärdatei installieren:: Guix installieren, ohne Zeit zu verlieren! |
| 545 | * Voraussetzungen:: Zum Erstellen und Benutzen von Guix nötige | 571 | * Voraussetzungen:: Zum Erstellen und Benutzen von Guix nötige |
| 546 | Software. | 572 | Software. |
| 547 | * Die Testsuite laufen lassen:: Guix testen. | 573 | * Den Testkatalog laufen lassen:: Guix testen. |
| 548 | * Den Daemon einrichten:: Wie man die Umgebung des Erstellungs-Daemons | 574 | * Den Daemon einrichten:: Wie man die Umgebung des Erstellungs-Daemons |
| 549 | einrichtet. | 575 | einrichtet. |
| 550 | * Aufruf des guix-daemon:: Den Erstellungs-Daemon laufen lassen. | 576 | * Aufruf des guix-daemon:: Den Erstellungs-Daemon laufen lassen. |
| @@ -608,7 +634,7 @@ ausführen. Danach führen Sie als @code{root}-Nutzer aus: | |||
| 608 | # mv var/guix /var/ && mv gnu / | 634 | # mv var/guix /var/ && mv gnu / |
| 609 | @end example | 635 | @end example |
| 610 | 636 | ||
| 611 | Dadurch wird @file{/gnu/store} (@pxref{Der Store}) und @file{/var/guix} | 637 | Dadurch wird @file{/gnu/store} (siehe @ref{Der Store}) und @file{/var/guix} |
| 612 | erzeugt. Letzteres enthält ein fertiges Guix-Profil für den | 638 | erzeugt. Letzteres enthält ein fertiges Guix-Profil für den |
| 613 | Administratornutzer @code{root} (wie im nächsten Schritt beschrieben). | 639 | Administratornutzer @code{root} (wie im nächsten Schritt beschrieben). |
| 614 | 640 | ||
| @@ -625,7 +651,7 @@ abhängt, wann es erstellt wurde, und es somit reproduzierbar wird. | |||
| 625 | 651 | ||
| 626 | @item | 652 | @item |
| 627 | Machen Sie das Profil als @file{~root/.config/guix/current} verfügbar, wo | 653 | Machen Sie das Profil als @file{~root/.config/guix/current} verfügbar, wo |
| 628 | @command{guix pull} es aktualisieren kann (@pxref{Aufruf von guix pull}): | 654 | @command{guix pull} es aktualisieren kann (siehe @ref{Aufruf von guix pull}): |
| 629 | 655 | ||
| 630 | @example | 656 | @example |
| 631 | # mkdir -p ~root/.config/guix | 657 | # mkdir -p ~root/.config/guix |
| @@ -643,7 +669,7 @@ Umgebungsvariable zu ergänzen: | |||
| 643 | 669 | ||
| 644 | @item | 670 | @item |
| 645 | Erzeugen Sie Nutzergruppe und Nutzerkonten für die Erstellungs-Benutzer wie | 671 | Erzeugen Sie Nutzergruppe und Nutzerkonten für die Erstellungs-Benutzer wie |
| 646 | folgt (@pxref{Einrichten der Erstellungsumgebung}). | 672 | folgt (siehe @ref{Einrichten der Erstellungsumgebung}). |
| 647 | 673 | ||
| 648 | @item | 674 | @item |
| 649 | Führen Sie den Daemon aus, und lassen Sie ihn automatisch bei jedem | 675 | Führen Sie den Daemon aus, und lassen Sie ihn automatisch bei jedem |
| @@ -703,14 +729,15 @@ verfügbar zu machen: | |||
| 703 | 729 | ||
| 704 | Auf diese Art wird, unter der Annahme, dass bei Ihnen | 730 | Auf diese Art wird, unter der Annahme, dass bei Ihnen |
| 705 | @file{/usr/local/share/info} im Suchpfad eingetragen ist, das Ausführen von | 731 | @file{/usr/local/share/info} im Suchpfad eingetragen ist, das Ausführen von |
| 706 | @command{info guix} dieses Handbuch öffnen (@pxref{Other Info Directories,,, | 732 | @command{info guix.de} dieses Handbuch öffnen (siehe @ref{Other Info |
| 707 | texinfo, GNU Texinfo} hat weitere Details, wie Sie den Info-Suchpfad ändern | 733 | Directories,,, texinfo, GNU Texinfo} hat weitere Details, wie Sie den |
| 708 | können). | 734 | Info-Suchpfad ändern können). |
| 709 | 735 | ||
| 710 | @item | 736 | @item |
| 711 | @cindex Substitute, deren Autorisierung | 737 | @cindex Substitute, deren Autorisierung |
| 712 | To use substitutes from @code{@value{SUBSTITUTE-SERVER}} or one of its | 738 | Um Substitute von @code{@value{SUBSTITUTE-SERVER}} oder einem Spiegelserver |
| 713 | mirrors (@pxref{Substitute}), authorize them: | 739 | davon zu benutzen (siehe @ref{Substitute}), müssen sie erst autorisiert |
| 740 | werden: | ||
| 714 | 741 | ||
| 715 | @example | 742 | @example |
| 716 | # guix archive --authorize < \ | 743 | # guix archive --authorize < \ |
| @@ -719,7 +746,7 @@ mirrors (@pxref{Substitute}), authorize them: | |||
| 719 | 746 | ||
| 720 | @item | 747 | @item |
| 721 | Alle Nutzer müssen womöglich ein paar zusätzliche Schritte ausführen, damit | 748 | Alle Nutzer müssen womöglich ein paar zusätzliche Schritte ausführen, damit |
| 722 | ihre Guix-Umgebung genutzt werden kann, siehe @pxref{Anwendungen einrichten}. | 749 | ihre Guix-Umgebung genutzt werden kann, siehe @ref{Anwendungen einrichten}. |
| 723 | @end enumerate | 750 | @end enumerate |
| 724 | 751 | ||
| 725 | Voilà, die Installation ist fertig! | 752 | Voilà, die Installation ist fertig! |
| @@ -745,14 +772,14 @@ make guix-binary.@var{System}.tar.xz | |||
| 745 | @end example | 772 | @end example |
| 746 | 773 | ||
| 747 | @noindent | 774 | @noindent |
| 748 | ...@: which, in turn, runs: | 775 | …@: was wiederum dies ausführt: |
| 749 | 776 | ||
| 750 | @example | 777 | @example |
| 751 | guix pack -s @var{System} --localstatedir \ | 778 | guix pack -s @var{System} --localstatedir \ |
| 752 | --profile-name=current-guix guix | 779 | --profile-name=current-guix guix |
| 753 | @end example | 780 | @end example |
| 754 | 781 | ||
| 755 | Siehe @xref{Aufruf von guix pack} für weitere Informationen zu diesem | 782 | Siehe @ref{Aufruf von guix pack} für weitere Informationen zu diesem |
| 756 | praktischen Werkzeug. | 783 | praktischen Werkzeug. |
| 757 | 784 | ||
| 758 | @node Voraussetzungen | 785 | @node Voraussetzungen |
| @@ -765,19 +792,19 @@ GNU-Software und wird hier nicht beschrieben. Bitte lesen Sie die Dateien | |||
| 765 | erfahren. | 792 | erfahren. |
| 766 | 793 | ||
| 767 | @cindex Offizielle Webpräsenz | 794 | @cindex Offizielle Webpräsenz |
| 768 | GNU Guix is available for download from its website at | 795 | GNU Guix kann von seiner Webpräsenz unter |
| 769 | @url{https://www.gnu.org/software/guix/}. | 796 | @url{http://www.gnu.org/software/guix/} heruntergeladen werden. |
| 770 | 797 | ||
| 771 | GNU Guix hat folgende Pakete als Abhängigkeiten: | 798 | GNU Guix hat folgende Pakete als Abhängigkeiten: |
| 772 | 799 | ||
| 773 | @itemize | 800 | @itemize |
| 774 | @item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.2.x; | 801 | @item @url{http://gnu.org/software/guile/, GNU Guile}, Version 2.2.x, |
| 775 | @item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, Version | 802 | @item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, Version |
| 776 | 0.1.0 oder neuer, | 803 | 0.1.0 oder neuer, |
| 777 | @item | 804 | @item |
| 778 | @uref{http://gnutls.org/, GnuTLS}, im Speziellen dessen Bindungen für Guile | 805 | @uref{http://gnutls.org/, GnuTLS}, im Speziellen dessen Anbindungen für |
| 779 | (@pxref{Guile Preparations, how to install the GnuTLS bindings for Guile,, | 806 | Guile (siehe @ref{Guile Preparations, how to install the GnuTLS bindings for |
| 780 | gnutls-guile, GnuTLS-Guile}), | 807 | Guile,, gnutls-guile, GnuTLS-Guile}), |
| 781 | @item | 808 | @item |
| 782 | @uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, | 809 | @uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, |
| 783 | Version 0.1.0 oder neuer, | 810 | Version 0.1.0 oder neuer, |
| @@ -785,7 +812,7 @@ Version 0.1.0 oder neuer, | |||
| 785 | @c FIXME: Specify a version number once a release has been made. | 812 | @c FIXME: Specify a version number once a release has been made. |
| 786 | @uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, vom August 2017 | 813 | @uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, vom August 2017 |
| 787 | oder neuer, | 814 | oder neuer, |
| 788 | @item @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}; | 815 | @item @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}, |
| 789 | @item @url{http://zlib.net, zlib}, | 816 | @item @url{http://zlib.net, zlib}, |
| 790 | @item @url{http://www.gnu.org/software/make/, GNU Make}. | 817 | @item @url{http://www.gnu.org/software/make/, GNU Make}. |
| 791 | @end itemize | 818 | @end itemize |
| @@ -795,7 +822,7 @@ Folgende Abhängigkeiten sind optional: | |||
| 795 | @itemize | 822 | @itemize |
| 796 | @item | 823 | @item |
| 797 | @c Note: We need at least 0.10.2 for 'channel-send-eof'. | 824 | @c Note: We need at least 0.10.2 for 'channel-send-eof'. |
| 798 | Unterstützung für das Auslagern von Erstellungen (@pxref{Auslagern des Daemons einrichten}) und @command{guix copy} (@pxref{Aufruf von guix copy}) hängt von | 825 | Unterstützung für das Auslagern von Erstellungen (siehe @ref{Auslagern des Daemons einrichten}) und @command{guix copy} (siehe @ref{Aufruf von guix copy}) hängt von |
| 799 | @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, Version | 826 | @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, Version |
| 800 | 0.10.2 oder neuer, ab. | 827 | 0.10.2 oder neuer, ab. |
| 801 | 828 | ||
| @@ -819,10 +846,10 @@ Sollten Sie Guix auf einem System konfigurieren, auf dem Guix bereits | |||
| 819 | installiert ist, dann stellen Sie sicher, dasselbe Zustandsverzeichnis wie | 846 | installiert ist, dann stellen Sie sicher, dasselbe Zustandsverzeichnis wie |
| 820 | für die bestehende Installation zu verwenden. Benutzen Sie dazu die | 847 | für die bestehende Installation zu verwenden. Benutzen Sie dazu die |
| 821 | Befehlszeilenoption @code{--localstatedir} des @command{configure}-Skripts | 848 | Befehlszeilenoption @code{--localstatedir} des @command{configure}-Skripts |
| 822 | (@pxref{Directory Variables, @code{localstatedir},, standards, GNU Coding | 849 | (siehe @ref{Directory Variables, @code{localstatedir},, standards, GNU |
| 823 | Standards}). Das @command{configure}-Skript schützt vor ungewollter | 850 | Coding Standards}). Das @command{configure}-Skript schützt vor ungewollter |
| 824 | Fehlkonfiguration der @var{localstatedir}, damit sie nicht versehentlich | 851 | Fehlkonfiguration der @var{localstatedir}, damit sie nicht versehentlich |
| 825 | Ihren Store verfälschen (@pxref{Der Store}). | 852 | Ihren Store verfälschen (siehe @ref{Der Store}). |
| 826 | 853 | ||
| 827 | @cindex Nix, Kompatibilität | 854 | @cindex Nix, Kompatibilität |
| 828 | Wenn eine funktionierende Installation of @url{http://nixos.org/nix/, the | 855 | Wenn eine funktionierende Installation of @url{http://nixos.org/nix/, the |
| @@ -834,15 +861,15 @@ Guix ist mit Nix kompatibel, daher ist es möglich, denselben Store für beide | |||
| 834 | zu verwenden. Dazu müssen Sie an @command{configure} nicht nur denselben | 861 | zu verwenden. Dazu müssen Sie an @command{configure} nicht nur denselben |
| 835 | Wert für @code{--with-store-dir} übergeben, sondern auch denselben Wert für | 862 | Wert für @code{--with-store-dir} übergeben, sondern auch denselben Wert für |
| 836 | @code{--localstatedir}. Letzterer ist deswegen essenziell, weil er unter | 863 | @code{--localstatedir}. Letzterer ist deswegen essenziell, weil er unter |
| 837 | Anderem angibt, wo die Datenbank liegt, in der sich die Metainformationen | 864 | anderem angibt, wo die Datenbank liegt, in der sich die Metainformationen |
| 838 | über den Store befinden. Für Nix sind die Werte standardmäßig | 865 | über den Store befinden. Für Nix sind die Werte standardmäßig |
| 839 | @code{--with-store-dir=/nix/store} und | 866 | @code{--with-store-dir=/nix/store} und |
| 840 | @code{--localstatedir=/nix/var}. Beachten Sie, dass @code{--disable-daemon} | 867 | @code{--localstatedir=/nix/var}. Beachten Sie, dass @code{--disable-daemon} |
| 841 | nicht erforderlich ist, wenn Sie die Absicht haben, den Store mit Nix zu | 868 | nicht erforderlich ist, wenn Sie die Absicht haben, den Store mit Nix zu |
| 842 | teilen. | 869 | teilen. |
| 843 | 870 | ||
| 844 | @node Die Testsuite laufen lassen | 871 | @node Den Testkatalog laufen lassen |
| 845 | @section Die Testsuite laufen lassen | 872 | @section Den Testkatalog laufen lassen |
| 846 | 873 | ||
| 847 | @cindex Testkatalog | 874 | @cindex Testkatalog |
| 848 | Nachdem @command{configure} und @code{make} erfolgreich durchgelaufen sind, | 875 | Nachdem @command{configure} und @code{make} erfolgreich durchgelaufen sind, |
| @@ -882,12 +909,13 @@ make check TESTS="tests/base64.scm" SCM_LOG_DRIVER_FLAGS="--brief=no" | |||
| 882 | Kommt es zum Fehlschlag, senden Sie bitte eine E-Mail an | 909 | Kommt es zum Fehlschlag, senden Sie bitte eine E-Mail an |
| 883 | @email{bug-guix@@gnu.org} und fügen Sie die Datei @file{test-suite.log} als | 910 | @email{bug-guix@@gnu.org} und fügen Sie die Datei @file{test-suite.log} als |
| 884 | Anhang bei. Bitte geben Sie dabei in Ihrer Nachricht die benutzte Version | 911 | Anhang bei. Bitte geben Sie dabei in Ihrer Nachricht die benutzte Version |
| 885 | von Guix an sowie die Versionsnummern der Abhängigkeiten | 912 | von Guix an sowie die Versionsnummern der Abhängigkeiten (siehe |
| 886 | (@pxref{Voraussetzungen}). | 913 | @ref{Voraussetzungen}). |
| 887 | 914 | ||
| 888 | Guix also comes with a whole-system test suite that tests complete Guix | 915 | Guix wird auch mit einem Testkatalog für das ganze System ausgeliefert, der |
| 889 | System instances. It can only run on systems where Guix is already | 916 | vollständige Instanzen des »Guix System«-Betriebssystems testet. Er kann nur |
| 890 | installed, using: | 917 | auf Systemen benutzt werden, auf denen Guix bereits installiert ist, mit |
| 918 | folgendem Befehl: | ||
| 891 | 919 | ||
| 892 | @example | 920 | @example |
| 893 | make check-system | 921 | make check-system |
| @@ -906,7 +934,7 @@ definiert. Sie funktionieren, indem Sie das getestete Betriebssystem mitsamt | |||
| 906 | schlichter Instrumentierung in einer virtuellen Maschine (VM) ausführen. Die | 934 | schlichter Instrumentierung in einer virtuellen Maschine (VM) ausführen. Die |
| 907 | Tests können aufwendige Berechnungen durchführen oder sie günstig umgehen, | 935 | Tests können aufwendige Berechnungen durchführen oder sie günstig umgehen, |
| 908 | je nachdem, ob für ihre Abhängigkeiten Substitute zur Verfügung stehen | 936 | je nachdem, ob für ihre Abhängigkeiten Substitute zur Verfügung stehen |
| 909 | (@pxref{Substitute}). Manche von ihnen nehmen viel Speicherplatz in | 937 | (siehe @ref{Substitute}). Manche von ihnen nehmen viel Speicherplatz in |
| 910 | Anspruch, um die VM-Abbilder zu speichern. | 938 | Anspruch, um die VM-Abbilder zu speichern. |
| 911 | 939 | ||
| 912 | Auch hier gilt: Falls Testfehler auftreten, senden Sie bitte alle Details an | 940 | Auch hier gilt: Falls Testfehler auftreten, senden Sie bitte alle Details an |
| @@ -964,8 +992,8 @@ wenn der Daemon @code{root}-Rechte in Erstellungsprozessen ablegt. Mehrere | |||
| 964 | solche Benutzer zu haben, ermöglicht es dem Daemon, verschiedene | 992 | solche Benutzer zu haben, ermöglicht es dem Daemon, verschiedene |
| 965 | Erstellungsprozessen unter verschiedenen Benutzeridentifikatoren (UIDs) zu | 993 | Erstellungsprozessen unter verschiedenen Benutzeridentifikatoren (UIDs) zu |
| 966 | starten, was garantiert, dass sie einander nicht stören — eine essenzielle | 994 | starten, was garantiert, dass sie einander nicht stören — eine essenzielle |
| 967 | Funktionalität, da Erstellungen als reine Funktionen angesehen werden | 995 | Funktionalität, da Erstellungen als reine Funktionen angesehen werden (siehe |
| 968 | (@pxref{Einführung}). | 996 | @ref{Einführung}). |
| 969 | 997 | ||
| 970 | Auf einem GNU/Linux-System kann ein Pool von Erstellungsbenutzern wie folgt | 998 | Auf einem GNU/Linux-System kann ein Pool von Erstellungsbenutzern wie folgt |
| 971 | erzeugt werden (mit Bash-Syntax und den Befehlen von @code{shadow}): | 999 | erzeugt werden (mit Bash-Syntax und den Befehlen von @code{shadow}): |
| @@ -986,12 +1014,12 @@ erzeugt werden (mit Bash-Syntax und den Befehlen von @code{shadow}): | |||
| 986 | @noindent | 1014 | @noindent |
| 987 | Die Anzahl der Erstellungsbenutzer entscheidet, wieviele Erstellungsaufträge | 1015 | Die Anzahl der Erstellungsbenutzer entscheidet, wieviele Erstellungsaufträge |
| 988 | parallel ausgeführt werden können, wie es mit der Befehlszeilenoption | 1016 | parallel ausgeführt werden können, wie es mit der Befehlszeilenoption |
| 989 | @option{--max-jobs} vorgegeben werden kann (@pxref{Aufruf des guix-daemon, | 1017 | @option{--max-jobs} vorgegeben werden kann (siehe @ref{Aufruf des guix-daemon, |
| 990 | @option{--max-jobs}}). Um @command{guix system vm} und ähnliche Befehle | 1018 | @option{--max-jobs}}). Um @command{guix system vm} und ähnliche Befehle |
| 991 | nutzen zu können, müssen Sie die Erstellungsbenutzer unter Umständen zur | 1019 | nutzen zu können, müssen Sie die Erstellungsbenutzer unter Umständen zur |
| 992 | @code{kvm}-Benutzergruppe hinzufügen, damit sie Zugriff auf @file{/dev/kvm} | 1020 | @code{kvm}-Benutzergruppe hinzufügen, damit sie Zugriff auf @file{/dev/kvm} |
| 993 | haben, mit @code{-G guixbuild,kvm} statt @code{-G guixbuild} | 1021 | haben, mit @code{-G guixbuild,kvm} statt @code{-G guixbuild} (siehe |
| 994 | (@pxref{Aufruf von guix system}). | 1022 | @ref{Aufruf von guix system}). |
| 995 | 1023 | ||
| 996 | Das Programm @code{guix-daemon} kann mit dem folgenden Befehl als | 1024 | Das Programm @code{guix-daemon} kann mit dem folgenden Befehl als |
| 997 | @code{root} gestartet werden@footnote{Wenn Ihre Maschine systemd als | 1025 | @code{root} gestartet werden@footnote{Wenn Ihre Maschine systemd als |
| @@ -1041,20 +1069,20 @@ Eintrag für den Benutzer @file{nobody}, | |||
| 1041 | einem @file{/tmp}-Verzeichnis mit Schreibrechten. | 1069 | einem @file{/tmp}-Verzeichnis mit Schreibrechten. |
| 1042 | @end itemize | 1070 | @end itemize |
| 1043 | 1071 | ||
| 1044 | Sie können beeinflussen, in welchem Verzeichnis der Daemon Erstellungsbäume | 1072 | Sie können beeinflussen, in welchem Verzeichnis der Daemon Verzeichnisbäume |
| 1045 | unterbringt, indem sie den Wert der Umgebungsvariablen @code{TMPDIR} | 1073 | zur Erstellung unterbringt, indem sie den Wert der Umgebungsvariablen |
| 1046 | ändern. Allerdings heißt innerhalb des chroots der Erstellungsbaum immer | 1074 | @code{TMPDIR} ändern. Allerdings heißt innerhalb des chroots der |
| 1047 | @file{/tmp/guix-build-@var{name}.drv-0}, wobei @var{name} der Ableitungsname | 1075 | Erstellungsbaum immer @file{/tmp/guix-build-@var{Name}.drv-0}, wobei |
| 1048 | ist — z.B. @code{coreutils-8.24}. Dadurch hat der Wert von @code{TMPDIR} | 1076 | @var{Name} der Ableitungsname ist — z.B.@: @code{coreutils-8.24}. Dadurch |
| 1049 | keinen Einfluss auf die Erstellungsumgebung, wodurch Unterschiede vermieden | 1077 | hat der Wert von @code{TMPDIR} keinen Einfluss auf die Erstellungsumgebung, |
| 1050 | werden, falls Erstellungsprozesse den Namen ihres Erstellungsbaumes | 1078 | wodurch Unterschiede vermieden werden, falls Erstellungsprozesse den Namen |
| 1051 | einfangen. | 1079 | ihres Erstellungsbaumes einfangen. |
| 1052 | 1080 | ||
| 1053 | @vindex http_proxy | 1081 | @vindex http_proxy |
| 1054 | Der Daemon befolgt außerdem den Wert der Umgebungsvariablen | 1082 | Der Daemon befolgt außerdem den Wert der Umgebungsvariablen |
| 1055 | @code{http_proxy} für von ihm durchgeführte HTTP-Downloads, sei es für | 1083 | @code{http_proxy} für von ihm durchgeführte HTTP-Downloads, sei es für |
| 1056 | Ableitungen mit fester Ausgabe (@pxref{Ableitungen}) oder für Substitute | 1084 | Ableitungen mit fester Ausgabe (siehe @ref{Ableitungen}) oder für Substitute |
| 1057 | (@pxref{Substitute}). | 1085 | (siehe @ref{Substitute}). |
| 1058 | 1086 | ||
| 1059 | Wenn Sie Guix als ein Benutzer ohne erweiterte Rechte installieren, ist es | 1087 | Wenn Sie Guix als ein Benutzer ohne erweiterte Rechte installieren, ist es |
| 1060 | dennoch möglich, @command{guix-daemon} auszuführen, sofern Sie | 1088 | dennoch möglich, @command{guix-daemon} auszuführen, sofern Sie |
| @@ -1071,20 +1099,20 @@ Funktionen aufzufassen. | |||
| 1071 | 1099 | ||
| 1072 | @cindex auslagern | 1100 | @cindex auslagern |
| 1073 | @cindex Build-Hook | 1101 | @cindex Build-Hook |
| 1074 | Wenn erwünscht kann der Erstellungs-Daemon Ableitungserstellungen | 1102 | Wenn erwünscht, kann der Erstellungs-Daemon Ableitungserstellungen auf |
| 1075 | @dfn{auslagern} auf andere Maschinen, auf denen Guix läuft, mit Hilfe des | 1103 | andere Maschinen @dfn{auslagern}, auf denen Guix läuft, mit Hilfe des |
| 1076 | @code{offload}-»@dfn{Build-Hooks}«@footnote{Diese Funktionalität ist nur | 1104 | @code{offload}-@dfn{Build-Hooks}@footnote{Diese Funktionalität ist nur |
| 1077 | verfügbar, wenn @uref{https://github.com/artyom-poptsov/guile-ssh, | 1105 | verfügbar, wenn @uref{https://github.com/artyom-poptsov/guile-ssh, |
| 1078 | Guile-SSH} vorhanden ist.}. Wenn diese Funktionalität aktiviert ist, wird | 1106 | Guile-SSH} vorhanden ist.}. Wenn diese Funktionalität aktiviert ist, wird |
| 1079 | eine nutzerspezifizierte Liste von Erstellungsmaschinen aus | 1107 | eine nutzerspezifizierte Liste von Erstellungsmaschinen aus |
| 1080 | @file{/etc/guix/machines.scm} gelesen. Wann immer eine Erstellung angefragt | 1108 | @file{/etc/guix/machines.scm} gelesen. Wann immer eine Erstellung angefragt |
| 1081 | wird, zum Beispiel durch @code{guix build}, versucht der Daemon, sie an eine | 1109 | wird, zum Beispiel durch @code{guix build}, versucht der Daemon, sie an eine |
| 1082 | der Erstellungsmaschinen auszulagern, die die Einschränkungen der Ableitung | 1110 | der Erstellungsmaschinen auszulagern, die die Einschränkungen der Ableitung |
| 1083 | erfüllen, insbesondere ihren Systemtyp — z.B. @file{x86_64-linux}. Fehlende | 1111 | erfüllen, insbesondere ihren Systemtyp — z.B.@: |
| 1084 | Voraussetzungen für die Erstellung werden über SSH auf die Zielmaschine | 1112 | @file{x86_64-linux}. Fehlende Voraussetzungen für die Erstellung werden über |
| 1085 | kopiert, welche dann mit der Erstellung weitermacht. Hat sie Erfolg damit, | 1113 | SSH auf die Zielmaschine kopiert, welche dann mit der Erstellung |
| 1086 | so werden die Ausgabe oder Ausgaben der Erstellung zurück auf die | 1114 | weitermacht. Hat sie Erfolg damit, so werden die Ausgabe oder Ausgaben der |
| 1087 | ursprüngliche Maschine kopiert. | 1115 | Erstellung zurück auf die ursprüngliche Maschine kopiert. |
| 1088 | 1116 | ||
| 1089 | Die Datei @file{/etc/guix/machines.scm} sieht normalerweise so aus: | 1117 | Die Datei @file{/etc/guix/machines.scm} sieht normalerweise so aus: |
| 1090 | 1118 | ||
| @@ -1117,9 +1145,9 @@ sie zurückliefert, muss eine Liste von @code{build-machine}-Objekten | |||
| 1117 | sein. Obwohl dieses Beispiel eine feste Liste von Erstellungsmaschinen | 1145 | sein. Obwohl dieses Beispiel eine feste Liste von Erstellungsmaschinen |
| 1118 | zeigt, könnte man auch auf die Idee kommen, etwa mit DNS-SD eine Liste | 1146 | zeigt, könnte man auch auf die Idee kommen, etwa mit DNS-SD eine Liste |
| 1119 | möglicher im lokalen Netzwerk entdeckter Erstellungsmaschinen zu liefern | 1147 | möglicher im lokalen Netzwerk entdeckter Erstellungsmaschinen zu liefern |
| 1120 | (@pxref{Einführung, Guile-Avahi,, guile-avahi, Using Avahi in Guile Scheme | 1148 | (siehe @ref{Einführung, Guile-Avahi,, guile-avahi, Using Avahi in Guile |
| 1121 | Programs}). Der Datentyp @code{build-machine} wird im Folgenden weiter | 1149 | Scheme Programs}). Der Datentyp @code{build-machine} wird im Folgenden |
| 1122 | ausgeführt. | 1150 | weiter ausgeführt. |
| 1123 | 1151 | ||
| 1124 | @deftp {Datentyp} build-machine | 1152 | @deftp {Datentyp} build-machine |
| 1125 | Dieser Datentyp repräsentiert Erstellungsmaschinen, an die der Daemon | 1153 | Dieser Datentyp repräsentiert Erstellungsmaschinen, an die der Daemon |
| @@ -1128,10 +1156,10 @@ Erstellungen auslagern darf. Die wichtigen Felder sind: | |||
| 1128 | @table @code | 1156 | @table @code |
| 1129 | 1157 | ||
| 1130 | @item name | 1158 | @item name |
| 1131 | Der Hostname (d.h. der Rechnername) der entfernten Maschine. | 1159 | Der Hostname (d.h.@: der Rechnername) der entfernten Maschine. |
| 1132 | 1160 | ||
| 1133 | @item system | 1161 | @item system |
| 1134 | Der Systemtyp der entfernten Maschine — z.B. @code{"x86_64-linux"}. | 1162 | Der Systemtyp der entfernten Maschine — z.B.@: @code{"x86_64-linux"}. |
| 1135 | 1163 | ||
| 1136 | @item user | 1164 | @item user |
| 1137 | Das Benutzerkonto, mit dem eine Verbindung zur entfernten Maschine über SSH | 1165 | Das Benutzerkonto, mit dem eine Verbindung zur entfernten Maschine über SSH |
| @@ -1156,8 +1184,8 @@ zu finden. | |||
| 1156 | Wenn auf der Maschine der SSH-Daemon von GNU@tie{}lsh, nämlich | 1184 | Wenn auf der Maschine der SSH-Daemon von GNU@tie{}lsh, nämlich |
| 1157 | @command{lshd}, läuft, befindet sich der Host-Schlüssel in | 1185 | @command{lshd}, läuft, befindet sich der Host-Schlüssel in |
| 1158 | @file{/etc/lsh/host-key.pub} oder einer ähnlichen Datei. Er kann ins | 1186 | @file{/etc/lsh/host-key.pub} oder einer ähnlichen Datei. Er kann ins |
| 1159 | OpenSSH-Format umgewandelt werden durch @command{lsh-export-key} | 1187 | OpenSSH-Format umgewandelt werden durch @command{lsh-export-key} (siehe |
| 1160 | (@pxref{Converting keys,,, lsh, LSH Manual}): | 1188 | @ref{Converting keys,,, lsh, LSH Manual}): |
| 1161 | 1189 | ||
| 1162 | @example | 1190 | @example |
| 1163 | $ lsh-export-key --openssh < /etc/lsh/host-key.pub | 1191 | $ lsh-export-key --openssh < /etc/lsh/host-key.pub |
| @@ -1214,8 +1242,8 @@ eingeplant. | |||
| 1214 | @end table | 1242 | @end table |
| 1215 | @end deftp | 1243 | @end deftp |
| 1216 | 1244 | ||
| 1217 | The @command{guix} command must be in the search path on the build | 1245 | Der Befehl @code{guix} muss sich im Suchpfad der Erstellungsmaschinen |
| 1218 | machines. You can check whether this is the case by running: | 1246 | befinden. Um dies nachzuprüfen, können Sie Folgendes ausführen: |
| 1219 | 1247 | ||
| 1220 | @example | 1248 | @example |
| 1221 | ssh build-machine guix repl --version | 1249 | ssh build-machine guix repl --version |
| @@ -1226,7 +1254,7 @@ eingerichtet ist. Wie zuvor erklärt, werden beim Auslagern Dateien zwischen | |||
| 1226 | den Stores der Maschinen hin- und hergeschickt. Damit das funktioniert, | 1254 | den Stores der Maschinen hin- und hergeschickt. Damit das funktioniert, |
| 1227 | müssen Sie als Erstes ein Schlüsselpaar auf jeder Maschine erzeugen, damit | 1255 | müssen Sie als Erstes ein Schlüsselpaar auf jeder Maschine erzeugen, damit |
| 1228 | der Daemon signierte Archive mit den Dateien aus dem Store versenden kann | 1256 | der Daemon signierte Archive mit den Dateien aus dem Store versenden kann |
| 1229 | (@pxref{Aufruf von guix archive}): | 1257 | (siehe @ref{Aufruf von guix archive}): |
| 1230 | 1258 | ||
| 1231 | @example | 1259 | @example |
| 1232 | # guix archive --generate-key | 1260 | # guix archive --generate-key |
| @@ -1294,11 +1322,12 @@ diesen Befehl auf dem Hauptknoten aus: | |||
| 1294 | @cindex SELinux, Policy für den Daemon | 1322 | @cindex SELinux, Policy für den Daemon |
| 1295 | @cindex Mandatory Access Control, SELinux | 1323 | @cindex Mandatory Access Control, SELinux |
| 1296 | @cindex Sicherheit, des guix-daemon | 1324 | @cindex Sicherheit, des guix-daemon |
| 1297 | Guix includes an SELinux policy file at @file{etc/guix-daemon.cil} that can | 1325 | Guix enthält eine SELinux-Richtliniendatei (»Policy«) unter |
| 1298 | be installed on a system where SELinux is enabled, in order to label Guix | 1326 | @file{etc/guix-daemon.cil}, die auf einem System installiert werden kann, |
| 1299 | files and to specify the expected behavior of the daemon. Since Guix System | 1327 | auf dem SELinux aktiviert ist, damit Guix-Dateien gekennzeichnet sind und um |
| 1300 | does not provide an SELinux base policy, the daemon policy cannot be used on | 1328 | das erwartete Verhalten des Daemons anzugeben. Da Guix System keine |
| 1301 | Guix System. | 1329 | Grundrichtlinie (»Base Policy«) für SELinux bietet, kann diese Richtlinie |
| 1330 | für den Daemon auf Guix System nicht benutzt werden. | ||
| 1302 | 1331 | ||
| 1303 | @subsubsection Installieren der SELinux-Policy | 1332 | @subsubsection Installieren der SELinux-Policy |
| 1304 | @cindex SELinux, Policy installieren | 1333 | @cindex SELinux, Policy installieren |
| @@ -1396,7 +1425,7 @@ verfügbar ist, etc. Normalerweise wird er so als Administratornutzer | |||
| 1396 | @end example | 1425 | @end example |
| 1397 | 1426 | ||
| 1398 | @noindent | 1427 | @noindent |
| 1399 | Details, wie Sie ihn einrichten, finden Sie im Abschnitt @pxref{Den Daemon einrichten}. | 1428 | Details, wie Sie ihn einrichten, finden Sie im Abschnitt @ref{Den Daemon einrichten}. |
| 1400 | 1429 | ||
| 1401 | @cindex chroot | 1430 | @cindex chroot |
| 1402 | @cindex Container, Erstellungsumgebung | 1431 | @cindex Container, Erstellungsumgebung |
| @@ -1407,13 +1436,13 @@ unterschiedlichen UIDs aus, die aus der Erstellungsgruppe stammen, deren | |||
| 1407 | Name mit @code{--build-users-group} übergeben wurde. Außerdem läuft jeder | 1436 | Name mit @code{--build-users-group} übergeben wurde. Außerdem läuft jeder |
| 1408 | Erstellungsprozess in einer chroot-Umgebung, die nur die Teilmenge des | 1437 | Erstellungsprozess in einer chroot-Umgebung, die nur die Teilmenge des |
| 1409 | Stores enthält, von der der Erstellungsprozess abhängt, entsprechend seiner | 1438 | Stores enthält, von der der Erstellungsprozess abhängt, entsprechend seiner |
| 1410 | Ableitung (@pxref{Programmierschnittstelle, derivation}), und ein paar | 1439 | Ableitung (siehe @ref{Programmierschnittstelle, derivation}), und ein paar |
| 1411 | bestimmte Systemverzeichnisse, darunter standardmäßig auch @file{/dev} und | 1440 | bestimmte Systemverzeichnisse, darunter standardmäßig auch @file{/dev} und |
| 1412 | @file{/dev/pts}. Zudem ist die Erstellungsumgebung auf GNU/Linux ein | 1441 | @file{/dev/pts}. Zudem ist die Erstellungsumgebung auf GNU/Linux ein |
| 1413 | @dfn{Container}: Nicht nur hat er seinen eigenen Dateisystembaum, er hat | 1442 | @dfn{Container}: Nicht nur hat er seinen eigenen Dateisystembaum, er hat |
| 1414 | auch einen separaten Namensraum zum Einhängen von Dateisystemen, seinen | 1443 | auch einen separaten Namensraum zum Einhängen von Dateisystemen, seinen |
| 1415 | eigenen Namensraum für PIDs, für Netzwerke, etc. Dies hilft dabei, | 1444 | eigenen Namensraum für PIDs, für Netzwerke, etc. Dies hilft dabei, |
| 1416 | reproduzierbare Erstellungen zu garantieren (@pxref{Funktionalitäten}). | 1445 | reproduzierbare Erstellungen zu garantieren (siehe @ref{Funktionalitäten}). |
| 1417 | 1446 | ||
| 1418 | Wenn der Daemon im Auftrag des Nutzers eine Erstellung durchführt, erzeugt | 1447 | Wenn der Daemon im Auftrag des Nutzers eine Erstellung durchführt, erzeugt |
| 1419 | er ein Erstellungsverzeichnis, entweder in @file{/tmp} oder im Verzeichnis, | 1448 | er ein Erstellungsverzeichnis, entweder in @file{/tmp} oder im Verzeichnis, |
| @@ -1424,50 +1453,51 @@ läuft, allerdings trägt es im Container stattdessen immer den Namen | |||
| 1424 | 1453 | ||
| 1425 | Nach Abschluss der Erstellung wird das Erstellungsverzeichnis automatisch | 1454 | Nach Abschluss der Erstellung wird das Erstellungsverzeichnis automatisch |
| 1426 | entfernt, außer wenn die Erstellung fehlgeschlagen ist und der Client | 1455 | entfernt, außer wenn die Erstellung fehlgeschlagen ist und der Client |
| 1427 | @option{--keep-failed} angegeben hat (@pxref{Aufruf von guix build, | 1456 | @option{--keep-failed} angegeben hat (siehe @ref{Aufruf von guix build, |
| 1428 | @option{--keep-failed}}). | 1457 | @option{--keep-failed}}). |
| 1429 | 1458 | ||
| 1430 | Der Daemon lauscht auf Verbindungen und erstellt jeweils einen Unterprozess | 1459 | Der Daemon lauscht auf Verbindungen und erstellt jeweils einen Unterprozess |
| 1431 | für jede von einem Client begonnene Sitzung (d.h. von einem der | 1460 | für jede von einem Client begonnene Sitzung (d.h.@: von einem der |
| 1432 | @command{guix}-Unterbefehle.) Der Befehl @command{guix processes} zeigt | 1461 | @command{guix}-Unterbefehle). Der Befehl @command{guix processes} zeigt |
| 1433 | Ihnen eine Übersicht solcher Systemaktivitäten; damit werden Ihnen alle | 1462 | Ihnen eine Übersicht solcher Systemaktivitäten; damit werden Ihnen alle |
| 1434 | aktiven Sitzungen und Clients gezeigt. Weitere Informationen finden Sie | 1463 | aktiven Sitzungen und Clients gezeigt. Weitere Informationen finden Sie |
| 1435 | unter @xref{Aufruf von guix processes}. | 1464 | unter @ref{Aufruf von guix processes}. |
| 1436 | 1465 | ||
| 1437 | Die folgenden Befehlszeilenoptionen werden unterstützt: | 1466 | Die folgenden Befehlszeilenoptionen werden unterstützt: |
| 1438 | 1467 | ||
| 1439 | @table @code | 1468 | @table @code |
| 1440 | @item --build-users-group=@var{Gruppe} | 1469 | @item --build-users-group=@var{Gruppe} |
| 1441 | Verwende die Benutzerkonten aus der @var{Gruppe}, um Erstellungsprozesse | 1470 | Verwende die Benutzerkonten aus der @var{Gruppe}, um Erstellungsprozesse |
| 1442 | auszuführen (@pxref{Den Daemon einrichten, build users}). | 1471 | auszuführen (siehe @ref{Den Daemon einrichten, build users}). |
| 1443 | 1472 | ||
| 1444 | @item --no-substitutes | 1473 | @item --no-substitutes |
| 1445 | @cindex Substitute | 1474 | @cindex Substitute |
| 1446 | Benutze keine Substitute für Erstellungsergebnisse. Das heißt, dass alle | 1475 | Benutze keine Substitute für Erstellungsergebnisse. Das heißt, dass alle |
| 1447 | Objekte lokal erstellt werden müssen, und kein Herunterladen von vorab | 1476 | Objekte lokal erstellt werden müssen, und kein Herunterladen von vorab |
| 1448 | erstellten Binärdateien erlaubt ist (@pxref{Substitute}). | 1477 | erstellten Binärdateien erlaubt ist (siehe @ref{Substitute}). |
| 1449 | 1478 | ||
| 1450 | Wenn der Daemon mit @code{--no-substitutes} ausgeführt wird, können Clients | 1479 | Wenn der Daemon mit @code{--no-substitutes} ausgeführt wird, können Clients |
| 1451 | trotzdem Substitute explizit aktivieren über den entfernten Prozeduraufruf | 1480 | trotzdem Substitute explizit aktivieren über den entfernten Prozeduraufruf |
| 1452 | @code{set-build-options} (@pxref{Der Store}). | 1481 | @code{set-build-options} (siehe @ref{Der Store}). |
| 1453 | 1482 | ||
| 1454 | @item --substitute-urls=@var{URLs} | 1483 | @item --substitute-urls=@var{URLs} |
| 1455 | @anchor{daemon-substitute-urls} | 1484 | @anchor{daemon-substitute-urls} |
| 1456 | Consider @var{urls} the default whitespace-separated list of substitute | 1485 | @var{URLs} als standardmäßige, leerzeichengetrennte Liste der Quell-URLs für |
| 1457 | source URLs. When this option is omitted, | 1486 | Substitute benutzen. Wenn diese Befehlszeilenoption @emph{nicht} angegeben |
| 1458 | @indicateurl{https://@value{SUBSTITUTE-SERVER}} is used. | 1487 | wird, wird @indicateurl{https://@value{SUBSTITUTE-SERVER}} verwendet. |
| 1459 | 1488 | ||
| 1460 | Das hat zur Folge, dass Substitute von den @var{URLs} heruntergeladen werden | 1489 | Das hat zur Folge, dass Substitute von den @var{URLs} heruntergeladen werden |
| 1461 | können, solange sie mit einer Signatur versehen sind, der vertraut wird | 1490 | können, solange sie mit einer Signatur versehen sind, der vertraut wird |
| 1462 | (@pxref{Substitute}). | 1491 | (siehe @ref{Substitute}). |
| 1463 | 1492 | ||
| 1464 | @cindex Build-Hook | 1493 | @cindex Build-Hook |
| 1465 | @item --no-build-hook | 1494 | @item --no-build-hook |
| 1466 | Den »@dfn{Build-Hook}« nicht benutzen. | 1495 | Den @dfn{Build-Hook} nicht benutzen. |
| 1467 | 1496 | ||
| 1468 | »Build-Hook« ist der Name eines Hilfsprogramms, das der Daemon starten kann | 1497 | »Build-Hook« ist der Name eines Hilfsprogramms, das der Daemon starten kann |
| 1469 | und an das er Erstellungsanfragen übermittelt. Durch diesen Mechanismus | 1498 | und an das er Erstellungsanfragen übermittelt. Durch diesen Mechanismus |
| 1470 | können Erstellungen an andere Maschinen ausgelagert werden (@pxref{Auslagern des Daemons einrichten}). | 1499 | können Erstellungen an andere Maschinen ausgelagert werden (siehe |
| 1500 | @ref{Auslagern des Daemons einrichten}). | ||
| 1471 | 1501 | ||
| 1472 | @item --cache-failures | 1502 | @item --cache-failures |
| 1473 | Fehler bei der Erstellung zwischenspeichern. Normalerweise werden nur | 1503 | Fehler bei der Erstellung zwischenspeichern. Normalerweise werden nur |
| @@ -1477,7 +1507,7 @@ Wenn diese Befehlszeilenoption benutzt wird, kann @command{guix gc | |||
| 1477 | --list-failures} benutzt werden, um die Menge an Store-Objekten abzufragen, | 1507 | --list-failures} benutzt werden, um die Menge an Store-Objekten abzufragen, |
| 1478 | die als Fehlschläge markiert sind; @command{guix gc --clear-failures} | 1508 | die als Fehlschläge markiert sind; @command{guix gc --clear-failures} |
| 1479 | entfernt Store-Objekte aus der Menge zwischengespeicherter | 1509 | entfernt Store-Objekte aus der Menge zwischengespeicherter |
| 1480 | Fehlschläge. @xref{Aufruf von guix gc}. | 1510 | Fehlschläge. Siehe @ref{Aufruf von guix gc}. |
| 1481 | 1511 | ||
| 1482 | @item --cores=@var{n} | 1512 | @item --cores=@var{n} |
| 1483 | @itemx -c @var{n} | 1513 | @itemx -c @var{n} |
| @@ -1486,7 +1516,7 @@ viele wie verfügbar sind. | |||
| 1486 | 1516 | ||
| 1487 | Der Vorgabewert ist @code{0}, jeder Client kann jedoch eine abweichende | 1517 | Der Vorgabewert ist @code{0}, jeder Client kann jedoch eine abweichende |
| 1488 | Anzahl vorgeben, zum Beispiel mit der Befehlszeilenoption @code{--cores} von | 1518 | Anzahl vorgeben, zum Beispiel mit der Befehlszeilenoption @code{--cores} von |
| 1489 | @command{guix build} (@pxref{Aufruf von guix build}). | 1519 | @command{guix build} (siehe @ref{Aufruf von guix build}). |
| 1490 | 1520 | ||
| 1491 | Dadurch wird die Umgebungsvariable @code{NIX_BUILD_CORES} im | 1521 | Dadurch wird die Umgebungsvariable @code{NIX_BUILD_CORES} im |
| 1492 | Erstellungsprozess definiert, welcher sie benutzen kann, um intern parallele | 1522 | Erstellungsprozess definiert, welcher sie benutzen kann, um intern parallele |
| @@ -1497,7 +1527,8 @@ Ausführungen zuzulassen — zum Beispiel durch Nutzung von @code{make | |||
| 1497 | @itemx -M @var{n} | 1527 | @itemx -M @var{n} |
| 1498 | Höchstenss @var{n} Erstellungsaufträge parallel bearbeiten. Der Vorgabewert | 1528 | Höchstenss @var{n} Erstellungsaufträge parallel bearbeiten. Der Vorgabewert |
| 1499 | liegt bei @code{1}. Wird er auf @code{0} gesetzt, werden keine Erstellungen | 1529 | liegt bei @code{1}. Wird er auf @code{0} gesetzt, werden keine Erstellungen |
| 1500 | lokal durchgeführt, stattdessen lagert der Daemon sie nur aus (@pxref{Auslagern des Daemons einrichten}) oder sie schlagen einfach fehl. | 1530 | lokal durchgeführt, stattdessen lagert der Daemon sie nur aus (siehe |
| 1531 | @ref{Auslagern des Daemons einrichten}) oder sie schlagen einfach fehl. | ||
| 1501 | 1532 | ||
| 1502 | @item --max-silent-time=@var{Sekunden} | 1533 | @item --max-silent-time=@var{Sekunden} |
| 1503 | Wenn der Erstellungs- oder Substitutionsprozess länger als | 1534 | Wenn der Erstellungs- oder Substitutionsprozess länger als |
| @@ -1508,7 +1539,7 @@ Der Vorgabewert ist @code{0}, was bedeutet, dass es keine Zeitbeschränkung | |||
| 1508 | gibt. | 1539 | gibt. |
| 1509 | 1540 | ||
| 1510 | Clients können einen anderen Wert als den hier angegebenen verwenden lassen | 1541 | Clients können einen anderen Wert als den hier angegebenen verwenden lassen |
| 1511 | (@pxref{Gemeinsame Erstellungsoptionen, @code{--max-silent-time}}). | 1542 | (siehe @ref{Gemeinsame Erstellungsoptionen, @code{--max-silent-time}}). |
| 1512 | 1543 | ||
| 1513 | @item --timeout=@var{Sekunden} | 1544 | @item --timeout=@var{Sekunden} |
| 1514 | Entsprechend wird hier der Erstellungs- oder Substitutionsprozess | 1545 | Entsprechend wird hier der Erstellungs- oder Substitutionsprozess |
| @@ -1518,13 +1549,13 @@ abgebrochen und als Fehlschlag gemeldet, wenn er mehr als | |||
| 1518 | Der Vorgabewert ist @code{0}, was bedeutet, dass es keine Zeitbeschränkung | 1549 | Der Vorgabewert ist @code{0}, was bedeutet, dass es keine Zeitbeschränkung |
| 1519 | gibt. | 1550 | gibt. |
| 1520 | 1551 | ||
| 1521 | Clients können einen anderen Wert verwenden lassen (@pxref{Gemeinsame Erstellungsoptionen, @code{--timeout}}). | 1552 | Clients können einen anderen Wert verwenden lassen (siehe @ref{Gemeinsame Erstellungsoptionen, @code{--timeout}}). |
| 1522 | 1553 | ||
| 1523 | @item --rounds=@var{N} | 1554 | @item --rounds=@var{N} |
| 1524 | Jede Ableitung @var{n}-mal hintereinander erstellen und einen Fehler melden, | 1555 | Jede Ableitung @var{n}-mal hintereinander erstellen und einen Fehler melden, |
| 1525 | wenn nacheinander ausgewertete Erstellungsergebnisse nicht Bit für Bit | 1556 | wenn nacheinander ausgewertete Erstellungsergebnisse nicht Bit für Bit |
| 1526 | identisch sind. Beachten Sie, dass Clients wie @command{guix build} einen | 1557 | identisch sind. Beachten Sie, dass Clients wie @command{guix build} einen |
| 1527 | anderen Wert verwenden lassen können (@pxref{Aufruf von guix build}). | 1558 | anderen Wert verwenden lassen können (siehe @ref{Aufruf von guix build}). |
| 1528 | 1559 | ||
| 1529 | Wenn dies zusammen mit @option{--keep-failed} benutzt wird, bleiben die sich | 1560 | Wenn dies zusammen mit @option{--keep-failed} benutzt wird, bleiben die sich |
| 1530 | unterscheidenden Ausgaben im Store unter dem Namen | 1561 | unterscheidenden Ausgaben im Store unter dem Namen |
| @@ -1537,7 +1568,7 @@ Informationen zur Fehlersuche ausgeben. | |||
| 1537 | Dies ist nützlich, um Probleme beim Starten des Daemons nachzuvollziehen; | 1568 | Dies ist nützlich, um Probleme beim Starten des Daemons nachzuvollziehen; |
| 1538 | Clients könn aber auch ein abweichenden Wert verwenden lassen, zum Beispiel | 1569 | Clients könn aber auch ein abweichenden Wert verwenden lassen, zum Beispiel |
| 1539 | mit der Befehlszeilenoption @code{--verbosity} von @command{guix build} | 1570 | mit der Befehlszeilenoption @code{--verbosity} von @command{guix build} |
| 1540 | (@pxref{Aufruf von guix build}). | 1571 | (siehe @ref{Aufruf von guix build}). |
| 1541 | 1572 | ||
| 1542 | @item --chroot-directory=@var{Verzeichnis} | 1573 | @item --chroot-directory=@var{Verzeichnis} |
| 1543 | Füge das @var{Verzeichnis} zum chroot von Erstellungen hinzu. | 1574 | Füge das @var{Verzeichnis} zum chroot von Erstellungen hinzu. |
| @@ -1587,14 +1618,14 @@ Ableitungen behalten muss (»yes«) oder nicht (»no«). | |||
| 1587 | Für »yes« behält der Müllsammler die Ausgaben aller lebendigen Ableitungen | 1618 | Für »yes« behält der Müllsammler die Ausgaben aller lebendigen Ableitungen |
| 1588 | im Store — die @code{.drv}-Dateien. Der Vorgabewert ist aber »no«, so dass | 1619 | im Store — die @code{.drv}-Dateien. Der Vorgabewert ist aber »no«, so dass |
| 1589 | Ableitungsausgaben nur vorgehalten werden, wenn sie von einer | 1620 | Ableitungsausgaben nur vorgehalten werden, wenn sie von einer |
| 1590 | Müllsammlerwurzel aus erreichbar sind. Siehe den Abschnitt @xref{Aufruf von guix gc} für weitere Informationen zu Müllsammlerwurzeln. | 1621 | Müllsammlerwurzel aus erreichbar sind. Siehe den Abschnitt @ref{Aufruf von guix gc} für weitere Informationen zu Müllsammlerwurzeln. |
| 1591 | 1622 | ||
| 1592 | @item --gc-keep-derivations[=yes|no] | 1623 | @item --gc-keep-derivations[=yes|no] |
| 1593 | Gibt an, ob der Müllsammler (GC) Ableitungen behalten muss (»yes«), wenn sie | 1624 | Gibt an, ob der Müllsammler (GC) Ableitungen behalten muss (»yes«), wenn sie |
| 1594 | lebendige Ausgaben haben, oder nicht (»no«). | 1625 | lebendige Ausgaben haben, oder nicht (»no«). |
| 1595 | 1626 | ||
| 1596 | Für »yes«, den Vorgabewert, behält der Müllsammler Ableitungen — | 1627 | Für »yes«, den Vorgabewert, behält der Müllsammler Ableitungen — z.B.@: |
| 1597 | z.B. @code{.drv}-Dateien —, solange zumindest eine ihrer Ausgaben lebendig | 1628 | @code{.drv}-Dateien —, solange zumindest eine ihrer Ausgaben lebendig |
| 1598 | ist. Dadurch können Nutzer den Ursprung der Dateien in ihrem Store | 1629 | ist. Dadurch können Nutzer den Ursprung der Dateien in ihrem Store |
| 1599 | nachvollziehen. Setzt man den Wert auf »no«, wird ein bisschen weniger | 1630 | nachvollziehen. Setzt man den Wert auf »no«, wird ein bisschen weniger |
| 1600 | Speicher auf der Platte verbraucht. | 1631 | Speicher auf der Platte verbraucht. |
| @@ -1630,8 +1661,8 @@ erkannt wurde, wie zum Beispiel @code{x86_64-linux}. | |||
| 1630 | Lausche am @var{Endpunkt} auf Verbindungen. Dabei wird der @var{Endpunkt} | 1661 | Lausche am @var{Endpunkt} auf Verbindungen. Dabei wird der @var{Endpunkt} |
| 1631 | als Dateiname eines Unix-Sockets verstanden, wenn er mit einem @code{/} | 1662 | als Dateiname eines Unix-Sockets verstanden, wenn er mit einem @code{/} |
| 1632 | (Schrägstrich) beginnt. Andernfalls wird der @var{Endpunkt} als Hostname | 1663 | (Schrägstrich) beginnt. Andernfalls wird der @var{Endpunkt} als Hostname |
| 1633 | (d.h. Rechnername) oder als Hostname-Port-Paar verstanden, auf dem gelauscht | 1664 | (d.h.@: Rechnername) oder als Hostname-Port-Paar verstanden, auf dem |
| 1634 | wird. Hier sind ein paar Beispiele: | 1665 | gelauscht wird. Hier sind ein paar Beispiele: |
| 1635 | 1666 | ||
| 1636 | @table @code | 1667 | @table @code |
| 1637 | @item --listen=/gnu/var/daemon | 1668 | @item --listen=/gnu/var/daemon |
| @@ -1655,16 +1686,16 @@ Diese Befehlszeilenoption kann mehrmals wiederholt werden. In diesem Fall | |||
| 1655 | akzeptiert @command{guix-daemon} Verbindungen auf allen angegebenen | 1686 | akzeptiert @command{guix-daemon} Verbindungen auf allen angegebenen |
| 1656 | Endpunkten. Benutzer können bei Client-Befehlen angeben, mit welchem | 1687 | Endpunkten. Benutzer können bei Client-Befehlen angeben, mit welchem |
| 1657 | Endpunkt sie sich verbinden möchten, indem sie die Umgebungsvariable | 1688 | Endpunkt sie sich verbinden möchten, indem sie die Umgebungsvariable |
| 1658 | @code{GUIX_DAEMON_SOCKET} festlegen (@pxref{Der Store, | 1689 | @code{GUIX_DAEMON_SOCKET} festlegen (siehe @ref{Der Store, |
| 1659 | @code{GUIX_DAEMON_SOCKET}}). | 1690 | @code{GUIX_DAEMON_SOCKET}}). |
| 1660 | 1691 | ||
| 1661 | @quotation Anmerkung | 1692 | @quotation Anmerkung |
| 1662 | Das Daemon-Protokoll ist @emph{weder authentifiziert noch | 1693 | Das Daemon-Protokoll ist @emph{weder authentifiziert noch |
| 1663 | verschlüsselt}. Die Benutzung von @code{--listen=@var{Host}} eignet sich für | 1694 | verschlüsselt}. Die Benutzung von @code{--listen=@var{Host}} eignet sich für |
| 1664 | lokale Netzwerke, wie z.B. in Rechen-Clustern, wo sich nur solche Knoten mit | 1695 | lokale Netzwerke, wie z.B.@: in Rechen-Clustern, wo sich nur solche Knoten |
| 1665 | dem Daemon verbinden, denen man vertraut. In Situationen, wo ein Fernzugriff | 1696 | mit dem Daemon verbinden, denen man vertraut. In Situationen, wo ein |
| 1666 | auf den Daemon durchgeführt wird, empfehlen wir, über Unix-Sockets in | 1697 | Fernzugriff auf den Daemon durchgeführt wird, empfehlen wir, über |
| 1667 | Verbindung mit SSH zuzugreifen. | 1698 | Unix-Sockets in Verbindung mit SSH zuzugreifen. |
| 1668 | @end quotation | 1699 | @end quotation |
| 1669 | 1700 | ||
| 1670 | Wird @code{--listen} nicht angegeben, lauscht @command{guix-daemon} auf | 1701 | Wird @code{--listen} nicht angegeben, lauscht @command{guix-daemon} auf |
| @@ -1677,14 +1708,14 @@ Verbindungen auf dem Unix-Socket, der sich unter | |||
| 1677 | @section Anwendungen einrichten | 1708 | @section Anwendungen einrichten |
| 1678 | 1709 | ||
| 1679 | @cindex Fremddistribution | 1710 | @cindex Fremddistribution |
| 1680 | When using Guix on top of GNU/Linux distribution other than Guix System---a | 1711 | Läuft Guix aufgesetzt auf einer GNU/Linux-Distribution außer Guix System — |
| 1681 | so-called @dfn{foreign distro}---a few additional steps are needed to get | 1712 | einer sogenannten @dfn{Fremddistribution} —, so sind ein paar zusätzliche |
| 1682 | everything in place. Here are some of them. | 1713 | Schritte bei der Einrichtung nötig. Hier finden Sie manche davon. |
| 1683 | 1714 | ||
| 1684 | @subsection Locales | 1715 | @subsection Locales |
| 1685 | 1716 | ||
| 1686 | @anchor{locales-and-locpath} | 1717 | @anchor{locales-and-locpath} |
| 1687 | @cindex locales, when not on Guix System | 1718 | @cindex Locales, nicht auf Guix System |
| 1688 | @vindex LOCPATH | 1719 | @vindex LOCPATH |
| 1689 | @vindex GUIX_LOCPATH | 1720 | @vindex GUIX_LOCPATH |
| 1690 | Über Guix installierte Pakete benutzen nicht die Daten zu Regions- und | 1721 | Über Guix installierte Pakete benutzen nicht die Daten zu Regions- und |
| @@ -1703,7 +1734,7 @@ wiegt. Alternativ gibt es auch @code{glibc-utf8-locales}, was kleiner, aber | |||
| 1703 | auf ein paar UTF-8-Locales beschränkt ist. | 1734 | auf ein paar UTF-8-Locales beschränkt ist. |
| 1704 | 1735 | ||
| 1705 | Die Variable @code{GUIX_LOCPATH} spielt eine ähnliche Rolle wie | 1736 | Die Variable @code{GUIX_LOCPATH} spielt eine ähnliche Rolle wie |
| 1706 | @code{LOCPATH} (@pxref{Locale Names, @code{LOCPATH},, libc, The GNU C | 1737 | @code{LOCPATH} (siehe @ref{Locale Names, @code{LOCPATH},, libc, The GNU C |
| 1707 | Library Reference Manual}). Es gibt jedoch zwei wichtige Unterschiede: | 1738 | Library Reference Manual}). Es gibt jedoch zwei wichtige Unterschiede: |
| 1708 | 1739 | ||
| 1709 | @enumerate | 1740 | @enumerate |
| @@ -1715,7 +1746,7 @@ inkompatiblen Locale-Daten von Guix laden. | |||
| 1715 | 1746 | ||
| 1716 | @item | 1747 | @item |
| 1717 | libc hängt an jeden @code{GUIX_LOCPATH}-Eintrag @code{/X.Y} an, wobei | 1748 | libc hängt an jeden @code{GUIX_LOCPATH}-Eintrag @code{/X.Y} an, wobei |
| 1718 | @code{X.Y} die Version von libc ist — z.B. @code{2.22}. Sollte Ihr | 1749 | @code{X.Y} die Version von libc ist — z.B.@: @code{2.22}. Sollte Ihr |
| 1719 | Guix-Profil eine Mischung aus Programmen enthalten, die an verschiedene | 1750 | Guix-Profil eine Mischung aus Programmen enthalten, die an verschiedene |
| 1720 | libc-Versionen gebunden sind, wird jede nur die Locale-Daten im richtigen | 1751 | libc-Versionen gebunden sind, wird jede nur die Locale-Daten im richtigen |
| 1721 | Format zu laden versuchen. | 1752 | Format zu laden versuchen. |
| @@ -1735,13 +1766,13 @@ stärkstens}, dass Sie den @dfn{Name Service Cache Daemon} der | |||
| 1735 | GNU-C-Bibliothek, @command{nscd}, laufen lassen, welcher auf dem Socket | 1766 | GNU-C-Bibliothek, @command{nscd}, laufen lassen, welcher auf dem Socket |
| 1736 | @file{/var/run/nscd/socket} lauschen sollte. Wenn Sie das nicht tun, könnten | 1767 | @file{/var/run/nscd/socket} lauschen sollte. Wenn Sie das nicht tun, könnten |
| 1737 | mit Guix installierte Anwendungen Probleme beim Auflösen von Hostnamen | 1768 | mit Guix installierte Anwendungen Probleme beim Auflösen von Hostnamen |
| 1738 | (d.h. Rechnernamen) oder Benutzerkonten haben, oder sogar abstürzen. Die | 1769 | (d.h.@: Rechnernamen) oder Benutzerkonten haben, oder sogar abstürzen. Die |
| 1739 | nächsten Absätze erklären warum. | 1770 | nächsten Absätze erklären warum. |
| 1740 | 1771 | ||
| 1741 | @cindex @file{nsswitch.conf} | 1772 | @cindex @file{nsswitch.conf} |
| 1742 | Die GNU-C-Bibliothek implementiert einen @dfn{Name Service Switch} (NSS), | 1773 | Die GNU-C-Bibliothek implementiert einen @dfn{Name Service Switch} (NSS), |
| 1743 | welcher einen erweiterbaren Mechanismus zur allgemeinen »Namensauflösung« | 1774 | welcher einen erweiterbaren Mechanismus zur allgemeinen »Namensauflösung« |
| 1744 | darstellt: Hostnamensauflösung, Benutzerkonten und weiteres (@pxref{Name Service Switch,,, libc, The GNU C Library Reference Manual}). | 1775 | darstellt: Hostnamensauflösung, Benutzerkonten und weiteres (siehe @ref{Name Service Switch,,, libc, The GNU C Library Reference Manual}). |
| 1745 | 1776 | ||
| 1746 | @cindex Network Information Service (NIS) | 1777 | @cindex Network Information Service (NIS) |
| 1747 | @cindex NIS (Network Information Service) | 1778 | @cindex NIS (Network Information Service) |
| @@ -1752,8 +1783,8 @@ Plugin @code{nis} gestattet die Auflösung von Benutzerkonten über den | |||
| 1752 | Network Information Service (NIS) und so weiter. Diese zusätzlichen | 1783 | Network Information Service (NIS) und so weiter. Diese zusätzlichen |
| 1753 | »Auflösungsdienste« werden systemweit konfiguriert in | 1784 | »Auflösungsdienste« werden systemweit konfiguriert in |
| 1754 | @file{/etc/nsswitch.conf} und alle auf dem System laufenden Programme halten | 1785 | @file{/etc/nsswitch.conf} und alle auf dem System laufenden Programme halten |
| 1755 | sich an diese Einstellungen (@pxref{NSS Configuration File,,, libc, The GNU | 1786 | sich an diese Einstellungen (siehe @ref{NSS Configuration File,,, libc, The |
| 1756 | C Reference Manual}). | 1787 | GNU C Reference Manual}). |
| 1757 | 1788 | ||
| 1758 | Wenn sie eine Namensauflösung durchführen — zum Beispiel, indem sie die | 1789 | Wenn sie eine Namensauflösung durchführen — zum Beispiel, indem sie die |
| 1759 | @code{getaddrinfo}-Funktion in C aufrufen — versuchen die Anwendungen als | 1790 | @code{getaddrinfo}-Funktion in C aufrufen — versuchen die Anwendungen als |
| @@ -1786,15 +1817,15 @@ Laden von Schriftarten und für die Darstellung im X11-Client. Im Paket | |||
| 1786 | @file{$HOME/.guix-profile} gesucht. Um es grafischen Anwendungen, die mit | 1817 | @file{$HOME/.guix-profile} gesucht. Um es grafischen Anwendungen, die mit |
| 1787 | Guix installiert wurden, zu ermöglichen, Schriftarten anzuzeigen, müssen Sie | 1818 | Guix installiert wurden, zu ermöglichen, Schriftarten anzuzeigen, müssen Sie |
| 1788 | die Schriftarten auch mit Guix installieren. Essenzielle Pakete für | 1819 | die Schriftarten auch mit Guix installieren. Essenzielle Pakete für |
| 1789 | Schriftarten sind unter Anderem @code{gs-fonts}, @code{font-dejavu} und | 1820 | Schriftarten sind unter anderem @code{gs-fonts}, @code{font-dejavu} und |
| 1790 | @code{font-gnu-freefont-ttf}. | 1821 | @code{font-gnu-freefont-ttf}. |
| 1791 | 1822 | ||
| 1792 | Um auf Chinesisch, Japanisch oder Koreanisch verfassten Text in grafischen | 1823 | Um auf Chinesisch, Japanisch oder Koreanisch verfassten Text in grafischen |
| 1793 | Anwendungen anzeigen zu können, möchten Sie vielleicht | 1824 | Anwendungen anzeigen zu können, möchten Sie vielleicht |
| 1794 | @code{font-adobe-source-han-sans} oder @code{font-wqy-zenhei} | 1825 | @code{font-adobe-source-han-sans} oder @code{font-wqy-zenhei} |
| 1795 | installieren. Ersteres hat mehrere Ausgaben, für jede Sprachfamilie eine | 1826 | installieren. Ersteres hat mehrere Ausgaben, für jede Sprachfamilie eine |
| 1796 | (@pxref{Pakete mit mehreren Ausgaben.}). Zum Beispiel installiert folgender | 1827 | (siehe @ref{Pakete mit mehreren Ausgaben.}). Zum Beispiel installiert |
| 1797 | Befehl Schriftarten für chinesische Sprachen: | 1828 | folgender Befehl Schriftarten für chinesische Sprachen: |
| 1798 | 1829 | ||
| 1799 | @example | 1830 | @example |
| 1800 | guix package -i font-adobe-source-han-sans:cn | 1831 | guix package -i font-adobe-source-han-sans:cn |
| @@ -1804,7 +1835,7 @@ guix package -i font-adobe-source-han-sans:cn | |||
| 1804 | Ältere Programme wie @command{xterm} benutzen kein Fontconfig, sondern | 1835 | Ältere Programme wie @command{xterm} benutzen kein Fontconfig, sondern |
| 1805 | X-Server-seitige Schriftartendarstellung. Solche Programme setzen voraus, | 1836 | X-Server-seitige Schriftartendarstellung. Solche Programme setzen voraus, |
| 1806 | dass der volle Name einer Schriftart mit XLFD (X Logical Font Description) | 1837 | dass der volle Name einer Schriftart mit XLFD (X Logical Font Description) |
| 1807 | angegeben wird, z.B. so: | 1838 | angegeben wird, z.B.@: so: |
| 1808 | 1839 | ||
| 1809 | @example | 1840 | @example |
| 1810 | -*-dejavu sans-medium-r-normal-*-*-100-*-*-*-*-*-1 | 1841 | -*-dejavu sans-medium-r-normal-*-*-100-*-*-*-*-*-1 |
| @@ -1843,7 +1874,7 @@ zugegriffen wird. | |||
| 1843 | 1874 | ||
| 1844 | Wenn Sie Guix auf einer Fremddistribution verwenden, können Sie dieses Paket | 1875 | Wenn Sie Guix auf einer Fremddistribution verwenden, können Sie dieses Paket |
| 1845 | installieren und die relevanten Umgebungsvariablen festlegen, damit Pakete | 1876 | installieren und die relevanten Umgebungsvariablen festlegen, damit Pakete |
| 1846 | wissen, wo sie Zertifikate finden. In @xref{X.509-Zertifikate} stehen | 1877 | wissen, wo sie Zertifikate finden. Unter @ref{X.509-Zertifikate} stehen |
| 1847 | genaue Informationen. | 1878 | genaue Informationen. |
| 1848 | 1879 | ||
| 1849 | @subsection Emacs-Pakete | 1880 | @subsection Emacs-Pakete |
| @@ -1857,14 +1888,14 @@ gespeichert. Letzteres Verzeichnis gibt es, weil es Tausende von | |||
| 1857 | Emacs-Paketen gibt und sie alle im selben Verzeichnis zu speichern | 1888 | Emacs-Paketen gibt und sie alle im selben Verzeichnis zu speichern |
| 1858 | vielleicht nicht verlässlich funktioniert (wegen Namenskonflikten). Daher | 1889 | vielleicht nicht verlässlich funktioniert (wegen Namenskonflikten). Daher |
| 1859 | halten wir es für richtig, für jedes Paket ein anderes Verzeichnis zu | 1890 | halten wir es für richtig, für jedes Paket ein anderes Verzeichnis zu |
| 1860 | benutzen. Das Emacs-Paketsystem organisiert die Dateistruktur ähnlich | 1891 | benutzen. Das Emacs-Paketsystem organisiert die Dateistruktur ähnlich (siehe |
| 1861 | (@pxref{Package Files,,, emacs, The GNU Emacs Manual}). | 1892 | @ref{Package Files,,, emacs, The GNU Emacs Manual}). |
| 1862 | 1893 | ||
| 1863 | Standardmäßig »weiß« Emacs (wenn er mit Guix installiert wurde), wo diese | 1894 | Standardmäßig »weiß« Emacs (wenn er mit Guix installiert wurde), wo diese |
| 1864 | Pakete liegen, Sie müssen also nichts selbst konfigurieren. Wenn Sie aber | 1895 | Pakete liegen, Sie müssen also nichts selbst konfigurieren. Wenn Sie aber |
| 1865 | aus irgendeinem Grund mit Guix installierte Pakete nicht automatisch laden | 1896 | aus irgendeinem Grund mit Guix installierte Pakete nicht automatisch laden |
| 1866 | lassen möchten, können Sie Emacs mit der Befehlszeilenoption | 1897 | lassen möchten, können Sie Emacs mit der Befehlszeilenoption |
| 1867 | @code{--no-site-file} starten (@pxref{Init File,,, emacs, The GNU Emacs | 1898 | @code{--no-site-file} starten (siehe @ref{Init File,,, emacs, The GNU Emacs |
| 1868 | Manual}). | 1899 | Manual}). |
| 1869 | 1900 | ||
| 1870 | @subsection GCC-Toolchain | 1901 | @subsection GCC-Toolchain |
| @@ -1880,11 +1911,15 @@ Entwicklung mit C/C++, einschließlich GCC selbst, der GNU-C-Bibliothek | |||
| 1880 | (Header-Dateien und Binärdateien samt Symbolen zur Fehlersuche/Debugging in | 1911 | (Header-Dateien und Binärdateien samt Symbolen zur Fehlersuche/Debugging in |
| 1881 | der @code{debug}-Ausgabe), Binutils und einen Wrapper für den Binder/Linker. | 1912 | der @code{debug}-Ausgabe), Binutils und einen Wrapper für den Binder/Linker. |
| 1882 | 1913 | ||
| 1883 | The wrapper's purpose is to inspect the @code{-L} and @code{-l} switches | 1914 | Der Zweck des Wrappers ist, die an den Binder übergebenen |
| 1884 | passed to the linker, add corresponding @code{-rpath} arguments, and invoke | 1915 | Befehlszeilenoptionen mit @code{-L} und @code{-l} zu überprüfen und jeweils |
| 1885 | the actual linker with this new set of arguments. You can instruct the | 1916 | passende Argumente mit @code{-rpath} anzufügen, womit dann der echte Binder |
| 1886 | wrapper to refuse to link against libraries not in the store by setting the | 1917 | aufgerufen wird. Standardmäßig weigert sich der Binder-Wrapper, mit |
| 1887 | @code{GUIX_LD_WRAPPER_ALLOW_IMPURITIES} environment variable to @code{no}. | 1918 | Bibliotheken außerhalb des Stores zu binden, um »Reinheit« zu |
| 1919 | gewährleisten. Das kann aber stören, wenn man die Toolchain benutzt, um mit | ||
| 1920 | lokalen Bibliotheken zu binden. Um Referenzen auf Bibliotheken außerhalb des | ||
| 1921 | Stores zu erlauben, müssen Sie die Umgebungsvariable | ||
| 1922 | @code{GUIX_LD_WRAPPER_ALLOW_IMPURITIES} setzen. | ||
| 1888 | 1923 | ||
| 1889 | @c TODO What else? | 1924 | @c TODO What else? |
| 1890 | 1925 | ||
| @@ -1892,11 +1927,12 @@ wrapper to refuse to link against libraries not in the store by setting the | |||
| 1892 | @node Systeminstallation | 1927 | @node Systeminstallation |
| 1893 | @chapter Systeminstallation | 1928 | @chapter Systeminstallation |
| 1894 | 1929 | ||
| 1895 | @cindex installing Guix System | 1930 | @cindex Installieren von Guix System |
| 1896 | @cindex Guix System, installation | 1931 | @cindex Guix System, Installation |
| 1897 | This section explains how to install Guix System on a machine. Guix, as a | 1932 | Dieser Abschnitt beschreibt, wie Sie »Guix System« auf einer Maschine |
| 1898 | package manager, can also be installed on top of a running GNU/Linux system, | 1933 | installieren. Guix kann auch als Paketverwaltungswerkzeug ein bestehendes |
| 1899 | @pxref{Installation}. | 1934 | GNU/Linux-System ergänzen, mehr dazu finden Sie im Abschnitt |
| 1935 | @ref{Installation}. | ||
| 1900 | 1936 | ||
| 1901 | @ifinfo | 1937 | @ifinfo |
| 1902 | @quotation Anmerkung | 1938 | @quotation Anmerkung |
| @@ -1904,9 +1940,9 @@ package manager, can also be installed on top of a running GNU/Linux system, | |||
| 1904 | @c installation image. | 1940 | @c installation image. |
| 1905 | Sie lesen diese Dokumentation mit einem Info-Betrachter. Details, wie Sie | 1941 | Sie lesen diese Dokumentation mit einem Info-Betrachter. Details, wie Sie |
| 1906 | ihn bedienen, erfahren Sie, indem Sie die Eingabetaste (auch »Return« oder | 1942 | ihn bedienen, erfahren Sie, indem Sie die Eingabetaste (auch »Return« oder |
| 1907 | »Enter« genannt) auf folgender Verknüpfung drücken: @pxref{Top, Info | 1943 | »Enter« genannt) auf folgender Verknüpfung drücken: @ref{Top, Info reader,, |
| 1908 | reader,, info-stnd, Stand-alone GNU Info}. Drücken Sie danach @kbd{l}, um | 1944 | info-stnd, Stand-alone GNU Info}. Drücken Sie danach @kbd{l}, um hierher |
| 1909 | hierher zurückzukommen. | 1945 | zurückzukommen. |
| 1910 | 1946 | ||
| 1911 | Führen Sie alternativ @command{info info} auf einer anderen Konsole (tty) | 1947 | Führen Sie alternativ @command{info info} auf einer anderen Konsole (tty) |
| 1912 | aus, um dieses Handbuch offen zu lassen. | 1948 | aus, um dieses Handbuch offen zu lassen. |
| @@ -1919,66 +1955,53 @@ aus, um dieses Handbuch offen zu lassen. | |||
| 1919 | * Installation von USB-Stick oder DVD:: Das Installationsmedium | 1955 | * Installation von USB-Stick oder DVD:: Das Installationsmedium |
| 1920 | vorbereiten. | 1956 | vorbereiten. |
| 1921 | * Vor der Installation:: Netzwerkanbindung, Partitionierung etc. | 1957 | * Vor der Installation:: Netzwerkanbindung, Partitionierung etc. |
| 1922 | * Fortfahren mit der Installation:: Die Hauptsache. | 1958 | * Geführte grafische Installation:: Leichte grafische Installation. |
| 1923 | * Installing Guix in a VM:: Guix System playground. | 1959 | * Manuelle Installation:: Manuelle Installation für Zauberer. |
| 1960 | * Nach der Systeminstallation:: Wenn die Installation erfolgreich war. | ||
| 1961 | * Guix in einer VM installieren:: Ein »Guix System«-Spielplatz. | ||
| 1924 | * Ein Abbild zur Installation erstellen:: Wie ein solches entsteht. | 1962 | * Ein Abbild zur Installation erstellen:: Wie ein solches entsteht. |
| 1925 | @end menu | 1963 | @end menu |
| 1926 | 1964 | ||
| 1927 | @node Einschränkungen | 1965 | @node Einschränkungen |
| 1928 | @section Einschränkungen | 1966 | @section Einschränkungen |
| 1929 | 1967 | ||
| 1930 | As of version @value{VERSION}, Guix System is not production-ready. It may | 1968 | We consider Guix System to be ready for a wide range of ``desktop'' and |
| 1931 | contain bugs and lack important features. Thus, if you are looking for a | 1969 | server use cases. The reliability guarantees it provides---transactional |
| 1932 | stable production system that respects your freedom as a computer user, a | 1970 | upgrades and rollbacks, reproducibility---make it a solid foundation. |
| 1933 | good solution at this point is to consider | ||
| 1934 | @url{http://www.gnu.org/distros/free-distros.html, one of the more | ||
| 1935 | established GNU/Linux distributions}. We hope you can soon switch to the | ||
| 1936 | Guix System without fear, of course. In the meantime, you can also keep | ||
| 1937 | using your distribution and try out the package manager on top of it | ||
| 1938 | (@pxref{Installation}). | ||
| 1939 | 1971 | ||
| 1940 | Bevor Sie mit der Installation fortfahren, beachten Sie die folgenden | 1972 | Nevertheless, before you proceed with the installation, be aware of the |
| 1941 | merklichen Einschränkungen der Version @value{VERSION}: | 1973 | following noteworthy limitations applicable to version @value{VERSION}: |
| 1942 | 1974 | ||
| 1943 | @itemize | 1975 | @itemize |
| 1944 | @item | 1976 | @item |
| 1945 | Für den Installationsprozess wird keine grafische Oberfläche mitgeliefert | ||
| 1946 | und er erfordert Erfahrung mit GNU/Linux (siehe die folgenden | ||
| 1947 | Unterabschnitte, um ein Gefühl dafür zu bekommen, was wir damit meinen). | ||
| 1948 | |||
| 1949 | @item | ||
| 1950 | Der Logical Volume Manager (LVM) wird nicht unterstützt. | 1977 | Der Logical Volume Manager (LVM) wird nicht unterstützt. |
| 1951 | 1978 | ||
| 1952 | @item | 1979 | @item |
| 1953 | Immer mehr Systemdienste sind verfügbar (@pxref{Dienste}), aber manche | 1980 | Immer mehr Systemdienste sind verfügbar (siehe @ref{Dienste}), aber manche |
| 1954 | könnten noch fehlen. | 1981 | könnten noch fehlen. |
| 1955 | 1982 | ||
| 1956 | @item | 1983 | @item |
| 1957 | More than 8,500 packages are available, but you might occasionally find that | 1984 | GNOME, Xfce, LXDE, and Enlightenment are available (@pxref{Desktop-Dienste}), as well as a number of X11 window managers. However, KDE is |
| 1958 | a useful package is missing. | 1985 | currently missing. |
| 1959 | |||
| 1960 | @item | ||
| 1961 | GNOME, Xfce, LXDE und Enlightenment stehen zur Verfügung (@pxref{Desktop-Dienste}), ebenso eine Reihe von X11-Fensterverwaltungsprogrammen. Manche | ||
| 1962 | grafischen Anwendungen könnten aber noch fehlen, ebenso fehlt KDE. | ||
| 1963 | @end itemize | 1986 | @end itemize |
| 1964 | 1987 | ||
| 1965 | Sie wurden gewarnt! Dies soll allerdings nicht nur ein Hinweis sein, sondern | 1988 | More than a disclaimer, this is an invitation to report issues (and success |
| 1966 | auch als Einladung aufgefasst werden, uns Fehler (und Erfolgsgeschichten!) | 1989 | stories!), and to join us in improving it. @xref{Mitwirken}, for more |
| 1967 | zu melden und bei uns mitzumachen, um Guix zu verbessern. Siehe den | 1990 | info. |
| 1968 | Abschnitt @xref{Mitwirken}. | ||
| 1969 | 1991 | ||
| 1970 | 1992 | ||
| 1971 | @node Hardware-Überlegungen | 1993 | @node Hardware-Überlegungen |
| 1972 | @section Hardware-Überlegungen | 1994 | @section Hardware-Überlegungen |
| 1973 | 1995 | ||
| 1974 | @cindex hardware support on Guix System | 1996 | @cindex Hardwareunterstützung von Guix System |
| 1975 | GNU@tie{}Guix focuses on respecting the user's computing freedom. It builds | 1997 | GNU@tie{}Guix legt den Fokus darauf, die Freiheit des Nutzers auf seinem |
| 1976 | around the kernel Linux-libre, which means that only hardware for which free | 1998 | Rechner zu respektieren. Es baut auf Linux-libre als Kernel auf, wodurch nur |
| 1977 | software drivers and firmware exist is supported. Nowadays, a wide range of | 1999 | Hardware unterstützt wird, für die Treiber und Firmware existieren, die |
| 1978 | off-the-shelf hardware is supported on GNU/Linux-libre---from keyboards to | 2000 | freie Software sind. Heutzutage wird ein großer Teil der handelsüblichen |
| 1979 | graphics cards to scanners and Ethernet controllers. Unfortunately, there | 2001 | Hardware von GNU/Linux-libre unterstützt — von Tastaturen bis hin zu |
| 1980 | are still areas where hardware vendors deny users control over their own | 2002 | Grafikkarten, Scannern und Ethernet-Adaptern. Leider gibt es noch Bereiche, |
| 1981 | computing, and such hardware is not supported on Guix System. | 2003 | wo die Hardwareanbieter ihren Nutzern die Kontrolle über ihren eigenen |
| 2004 | Rechner verweigern. Solche Hardware wird von Guix System nicht unterstützt. | ||
| 1982 | 2005 | ||
| 1983 | @cindex WLAN, Hardware-Unterstützung | 2006 | @cindex WLAN, Hardware-Unterstützung |
| 1984 | One of the main areas where free drivers or firmware are lacking is WiFi | 2007 | One of the main areas where free drivers or firmware are lacking is WiFi |
| @@ -1987,7 +2010,7 @@ devices. WiFi devices known to work include those using Atheros chips | |||
| 1987 | driver, and those using Broadcom/AirForce chips (BCM43xx with Wireless-Core | 2010 | driver, and those using Broadcom/AirForce chips (BCM43xx with Wireless-Core |
| 1988 | Revision 5), which corresponds to the @code{b43-open} Linux-libre driver. | 2011 | Revision 5), which corresponds to the @code{b43-open} Linux-libre driver. |
| 1989 | Free firmware exists for both and is available out-of-the-box on Guix | 2012 | Free firmware exists for both and is available out-of-the-box on Guix |
| 1990 | System, as part of @var{%base-firmware} (@pxref{»operating-system«-Referenz, | 2013 | System, as part of @code{%base-firmware} (@pxref{»operating-system«-Referenz, |
| 1991 | @code{firmware}}). | 2014 | @code{firmware}}). |
| 1992 | 2015 | ||
| 1993 | @cindex RYF, Respects Your Freedom | 2016 | @cindex RYF, Respects Your Freedom |
| @@ -2008,7 +2031,7 @@ unterstützt werden. | |||
| 2008 | @section Installation von USB-Stick oder DVD | 2031 | @section Installation von USB-Stick oder DVD |
| 2009 | 2032 | ||
| 2010 | Sie können ein ISO-9660-Installationsabbild von | 2033 | Sie können ein ISO-9660-Installationsabbild von |
| 2011 | @indicateurl{https://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{System}.iso.xz} | 2034 | @indicateurl{https://alpha.gnu.org/gnu/guix/guix-system-install-@value{VERSION}.@var{System}.iso.xz} |
| 2012 | herunterladen, dass Sie auf einen USB-Stick aufspielen oder auf eine DVD | 2035 | herunterladen, dass Sie auf einen USB-Stick aufspielen oder auf eine DVD |
| 2013 | brennen können, wobei Sie für @var{System} eines der folgenden schreiben | 2036 | brennen können, wobei Sie für @var{System} eines der folgenden schreiben |
| 2014 | müssen: | 2037 | müssen: |
| @@ -2026,8 +2049,8 @@ Laden Sie auch die entsprechende @file{.sig}-Datei herunter und verifizieren | |||
| 2026 | Sie damit die Authentizität Ihres Abbilds, indem Sie diese Befehle eingeben: | 2049 | Sie damit die Authentizität Ihres Abbilds, indem Sie diese Befehle eingeben: |
| 2027 | 2050 | ||
| 2028 | @example | 2051 | @example |
| 2029 | $ wget https://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{System}.iso.xz.sig | 2052 | $ wget https://alpha.gnu.org/gnu/guix/guix-system-install-@value{VERSION}.@var{System}.iso.xz.sig |
| 2030 | $ gpg --verify guixsd-install-@value{VERSION}.@var{System}.iso.xz.sig | 2053 | $ gpg --verify guix-system-install-@value{VERSION}.@var{System}.iso.xz.sig |
| 2031 | @end example | 2054 | @end example |
| 2032 | 2055 | ||
| 2033 | Falls dieser Befehl fehlschlägt, weil Sie nicht über den nötigen | 2056 | Falls dieser Befehl fehlschlägt, weil Sie nicht über den nötigen |
| @@ -2057,7 +2080,7 @@ durch: | |||
| 2057 | Entpacken Sie das Abbild mit dem @command{xz}-Befehl: | 2080 | Entpacken Sie das Abbild mit dem @command{xz}-Befehl: |
| 2058 | 2081 | ||
| 2059 | @example | 2082 | @example |
| 2060 | xz -d guixsd-install-@value{VERSION}.@var{System}.iso.xz | 2083 | xz -d guix-system-install-@value{VERSION}.@var{System}.iso.xz |
| 2061 | @end example | 2084 | @end example |
| 2062 | 2085 | ||
| 2063 | @item | 2086 | @item |
| @@ -2066,7 +2089,7 @@ groß ist, und bestimmen Sie seinen Gerätenamen. Ist der Gerätename des | |||
| 2066 | USB-Sticks @file{/dev/sdX}, dann kopieren Sie das Abbild mit dem Befehl: | 2089 | USB-Sticks @file{/dev/sdX}, dann kopieren Sie das Abbild mit dem Befehl: |
| 2067 | 2090 | ||
| 2068 | @example | 2091 | @example |
| 2069 | dd if=guixsd-install-@value{VERSION}.@var{system}.iso of=/dev/sdX | 2092 | dd if=guix-system-install-@value{VERSION}.@var{System}.iso of=/dev/sdX |
| 2070 | sync | 2093 | sync |
| 2071 | @end example | 2094 | @end example |
| 2072 | 2095 | ||
| @@ -2083,7 +2106,7 @@ Um das Abbild auf eine DVD zu kopieren, führen Sie diese Schritte durch: | |||
| 2083 | Entpacken Sie das Abbild mit dem @command{xz}-Befehl: | 2106 | Entpacken Sie das Abbild mit dem @command{xz}-Befehl: |
| 2084 | 2107 | ||
| 2085 | @example | 2108 | @example |
| 2086 | xz -d guixsd-install-@value{VERSION}.@var{System}.iso.xz | 2109 | xz -d guix-system-install-@value{VERSION}.@var{System}.iso.xz |
| 2087 | @end example | 2110 | @end example |
| 2088 | 2111 | ||
| 2089 | @item | 2112 | @item |
| @@ -2092,7 +2115,7 @@ Gerätenamen. Angenommen der Name des DVD-Laufwerks ist @file{/dev/srX}, | |||
| 2092 | kopieren Sie das Abbild mit: | 2115 | kopieren Sie das Abbild mit: |
| 2093 | 2116 | ||
| 2094 | @example | 2117 | @example |
| 2095 | growisofs -dvd-compat -Z /dev/srX=guixsd-install-@value{VERSION}.@var{system}.iso | 2118 | growisofs -dvd-compat -Z /dev/srX=guix-system-install-@value{VERSION}.@var{System}.iso |
| 2096 | @end example | 2119 | @end example |
| 2097 | 2120 | ||
| 2098 | Der Zugriff auf @file{/dev/srX} setzt in der Regel Administratorrechte | 2121 | Der Zugriff auf @file{/dev/srX} setzt in der Regel Administratorrechte |
| @@ -2102,32 +2125,35 @@ voraus. | |||
| 2102 | @unnumberedsubsec Das System starten | 2125 | @unnumberedsubsec Das System starten |
| 2103 | 2126 | ||
| 2104 | Sobald das erledigt ist, sollten Sie Ihr System neu starten und es vom | 2127 | Sobald das erledigt ist, sollten Sie Ihr System neu starten und es vom |
| 2105 | USB-Stick oder der DVD booten können. Dazu müssen Sie wahrscheinlich beim | 2128 | USB-Stick oder der DVD hochfahren (»booten«) können. Dazu müssen Sie |
| 2106 | Starten des Rechners in das BIOS- oder UEFI-Boot-Menü gehen, von wo aus Sie | 2129 | wahrscheinlich beim Starten des Rechners in das BIOS- oder UEFI-Boot-Menü |
| 2107 | auswählen können, dass vom USB-Stick gebootet werden soll. | 2130 | gehen, von wo aus Sie auswählen können, dass vom USB-Stick gebootet werden |
| 2131 | soll. | ||
| 2108 | 2132 | ||
| 2109 | @xref{Installing Guix in a VM}, if, instead, you would like to install Guix | 2133 | Lesen Sie den Abschnitt @ref{Guix in einer VM installieren}, wenn Sie Guix System |
| 2110 | System in a virtual machine (VM). | 2134 | stattdessen in einer virtuellen Maschine (VM) installieren möchten. |
| 2111 | 2135 | ||
| 2112 | 2136 | ||
| 2113 | @node Vor der Installation | 2137 | @node Vor der Installation |
| 2114 | @section Vor der Installation | 2138 | @section Vor der Installation |
| 2115 | 2139 | ||
| 2116 | Once you have successfully booted your computer using the installation | 2140 | Wenn Sie Ihren Rechner gebootet haben, können Sie sich vom grafischen |
| 2117 | medium, you should end up with the welcome page of the graphical installer. | 2141 | Installationsprogramm durch den Installationsvorgang führen lassen, was den |
| 2118 | The graphical installer is a text-based user interface built upon the newt | 2142 | Einstieg leicht macht (siehe @ref{Geführte grafische Installation}). Alternativ können Sie sich auch für einen »manuellen« |
| 2119 | library. It shall guide you through all the different steps needed to | 2143 | Installationsvorgang entscheiden, wenn Sie bereits mit GNU/Linux vertraut |
| 2120 | install GNU@tie{}Guix System. However, as the graphical installer is still | 2144 | sind und mehr Kontrolle haben möchten, als sie das grafische |
| 2121 | under heavy development, you might want to fallback to the original, shell | 2145 | Installationsprogramm bietet (siehe @ref{Manuelle Installation}). |
| 2122 | based install process, by switching to TTYs 3 to 6 with the shortcuts | 2146 | |
| 2123 | CTRL-ALT-F[3-6]. The following sections describe the installation procedure | 2147 | Das grafische Installationsprogramm steht Ihnen auf TTY1 zur Verfügung. Auf |
| 2124 | assuming you're using one of those TTYs. They are configured and can be used | 2148 | den TTYs 3 bis 6 können Sie vor sich eine Eingabeaufforderung für den |
| 2125 | to run commands as root. | 2149 | Administratornutzer »root« sehen, nachdem Sie @kbd{strg-alt-f3}, |
| 2126 | 2150 | @kbd{strg-alt-f4} usw.@: gedrückt haben. TTY2 zeigt Ihnen dieses Handbuch, | |
| 2127 | TTY2 shows this documentation, browsable using the Info reader commands | 2151 | das Sie über die Tastenkombination @kbd{strg-alt-f2} erreichen. In dieser |
| 2128 | (@pxref{Top,,, info-stnd, Stand-alone GNU Info}). The installation system | 2152 | Dokumentation können Sie mit den Steuerungsbefehlen Ihres Info-Betrachters |
| 2129 | runs the GPM mouse daemon, which allows you to select text with the left | 2153 | blättern (siehe @ref{Top,,, info-stnd, Stand-alone GNU Info}). Auf dem |
| 2130 | mouse button and to paste it with the middle button. | 2154 | Installationssystem läuft der GPM-Maus-Daemon, wodurch Sie Text mit der |
| 2155 | linken Maustaste markieren und ihn mit der mittleren Maustaste einfügen | ||
| 2156 | können. | ||
| 2131 | 2157 | ||
| 2132 | @quotation Anmerkung | 2158 | @quotation Anmerkung |
| 2133 | Für die Installation benötigen Sie Zugang zum Internet, damit fehlende | 2159 | Für die Installation benötigen Sie Zugang zum Internet, damit fehlende |
| @@ -2136,12 +2162,79 @@ Abschnitt »Netzwerkkonfiguration« weiter unten finden Sie mehr Informationen | |||
| 2136 | dazu. | 2162 | dazu. |
| 2137 | @end quotation | 2163 | @end quotation |
| 2138 | 2164 | ||
| 2139 | The installation system includes many common tools needed for this task. | 2165 | @node Geführte grafische Installation |
| 2140 | But it is also a full-blown Guix System, which means that you can install | 2166 | @section Geführte grafische Installation |
| 2141 | additional packages, should you need it, using @command{guix package} | 2167 | |
| 2142 | (@pxref{Aufruf von guix package}). | 2168 | Das grafische Installationsprogramm ist mit einer textbasierten |
| 2169 | Benutzeroberfläche ausgestattet. Es kann Sie mit Dialogfeldern durch die | ||
| 2170 | Schritte führen, mit denen Sie GNU@tie{}Guix System installieren. | ||
| 2171 | |||
| 2172 | Die ersten Dialogfelder ermöglichen es Ihnen, das System aufzusetzen, wie | ||
| 2173 | Sie es bei der Installation benutzen: Sie können die Sprache und | ||
| 2174 | Tastaturbelegung festlegen und die Netzwerkanbindung einrichten, die während | ||
| 2175 | der Installation benutzt wird. Das folgende Bild zeigt den Dialog zur | ||
| 2176 | Einrichtung der Netzwerkanbindung. | ||
| 2177 | |||
| 2178 | @image{images/installer-network,5in,, Netzwerkanbindung einrichten mit dem | ||
| 2179 | grafischen Installationsprogramm} | ||
| 2180 | |||
| 2181 | Mit den danach kommenden Schritten können Sie Ihre Festplatte | ||
| 2182 | partitionieren, wie im folgenden Bild gezeigt, und auswählen, ob Ihre | ||
| 2183 | Dateisysteme verschlüsselt werden sollen oder nicht. Sie können Ihren | ||
| 2184 | Rechnernamen und das Administratorpasswort (das »root«-Passwort) festlegen | ||
| 2185 | und ein Benutzerkonto einrichten, und noch mehr. | ||
| 2186 | |||
| 2187 | @image{images/installer-partitions,5in,, Partitionieren mit dem grafischen | ||
| 2188 | Installationsprogramm} | ||
| 2189 | |||
| 2190 | Beachten Sie, dass Sie mit dem Installationsprogramm jederzeit den aktuellen | ||
| 2191 | Installationsschritt verlassen und zu einem vorherigen Schritt zurückkehren | ||
| 2192 | können, wie Sie im folgenden Bild sehen können. | ||
| 2143 | 2193 | ||
| 2144 | @subsection Tastaturbelegung | 2194 | @image{images/installer-resume,5in,, Mit einem Installationsschritt |
| 2195 | fortfahren} | ||
| 2196 | |||
| 2197 | Sobald Sie fertig sind, erzeugt das Installationsprogramm eine | ||
| 2198 | Betriebssystemkonfiguration und zeigt sie an (siehe @ref{Das Konfigurationssystem nutzen}). Zu diesem Zeitpunkt können Sie auf »OK« drücken und | ||
| 2199 | die Installation wird losgehen. Ist sie erfolgreich, können Sie neu starten | ||
| 2200 | und Ihr neues System genießen. Siehe @ref{Nach der Systeminstallation} für | ||
| 2201 | Informationen, wie es weitergeht! | ||
| 2202 | |||
| 2203 | |||
| 2204 | @node Manuelle Installation | ||
| 2205 | @section Manuelle Installation | ||
| 2206 | |||
| 2207 | Dieser Abschnitt beschreibt, wie Sie GNU@tie{}Guix System auf manuelle Weise | ||
| 2208 | auf Ihrer Maschine installieren. Diese Alternative setzt voraus, dass Sie | ||
| 2209 | bereits mit GNU/Linux, der Shell und üblichen Administrationswerkzeugen | ||
| 2210 | vertraut sind. Wenn Sie glauben, dass das nichts für Sie ist, dann möchten | ||
| 2211 | Sie vielleicht das geführte grafische Installationsprogramm benutzen (siehe | ||
| 2212 | @ref{Geführte grafische Installation}). | ||
| 2213 | |||
| 2214 | Das Installationssystem macht Eingabeaufforderungen auf den TTYs 3 bis 6 | ||
| 2215 | zugänglich, auf denen Sie als Administratornutzer Befehle eingeben können; | ||
| 2216 | Sie erreichen diese, indem Sie die Tastenkombinationen @kbd{strg-alt-f3}, | ||
| 2217 | @kbd{strg-alt-f4} und so weiter benutzen. Es enthält viele übliche | ||
| 2218 | Werkzeuge, mit denen Sie diese Aufgabe bewältigen können. Da es sich auch um | ||
| 2219 | ein vollständiges »Guix System«-System handelt, können Sie aber auch andere | ||
| 2220 | Pakete mit dem Befehl @command{guix package} nachinstallieren, wenn Sie sie | ||
| 2221 | brauchen (siehe @ref{Aufruf von guix package}). | ||
| 2222 | |||
| 2223 | @menu | ||
| 2224 | * Tastaturbelegung und Netzwerkanbindung und Partitionierung:: Erstes | ||
| 2225 | Einrichten. | ||
| 2226 | * Fortfahren mit der Installation:: Installieren. | ||
| 2227 | @end menu | ||
| 2228 | |||
| 2229 | @node Tastaturbelegung und Netzwerkanbindung und Partitionierung | ||
| 2230 | @subsection Tastaturbelegung, Netzwerkanbindung und Partitionierung | ||
| 2231 | |||
| 2232 | Bevor Sie das System installieren können, wollen Sie vielleicht die | ||
| 2233 | Tastaturbelegung ändern, eine Netzwerkverbindung herstellen und die | ||
| 2234 | Zielfestplatte partitionieren. Dieser Abschnitt wird Sie durch diese | ||
| 2235 | Schritte führen. | ||
| 2236 | |||
| 2237 | @subsubsection Tastaturbelegung | ||
| 2145 | 2238 | ||
| 2146 | @cindex Tastaturbelegung | 2239 | @cindex Tastaturbelegung |
| 2147 | Das Installationsabbild verwendet die US-amerikanische | 2240 | Das Installationsabbild verwendet die US-amerikanische |
| @@ -2158,7 +2251,7 @@ Schauen Sie sich an, welche Dateien im Verzeichnis | |||
| 2158 | verfügbarer Tastaturbelegungen zu sehen. Wenn Sie mehr Informationen | 2251 | verfügbarer Tastaturbelegungen zu sehen. Wenn Sie mehr Informationen |
| 2159 | brauchen, führen Sie @command{man loadkeys} aus. | 2252 | brauchen, führen Sie @command{man loadkeys} aus. |
| 2160 | 2253 | ||
| 2161 | @subsection Netzwerkkonfiguration | 2254 | @subsubsection Netzwerkkonfiguration |
| 2162 | 2255 | ||
| 2163 | Führen Sie folgenden Befehl aus, um zu sehen, wie Ihre | 2256 | Führen Sie folgenden Befehl aus, um zu sehen, wie Ihre |
| 2164 | Netzwerkschnittstellen benannt sind: | 2257 | Netzwerkschnittstellen benannt sind: |
| @@ -2261,14 +2354,14 @@ Vergewissern Sie sich vorher, dass Sie entweder ein Passwort mit | |||
| 2261 | Authentifizierung über öffentliche Schlüssel eingerichtet haben, bevor Sie | 2354 | Authentifizierung über öffentliche Schlüssel eingerichtet haben, bevor Sie |
| 2262 | sich anmelden. | 2355 | sich anmelden. |
| 2263 | 2356 | ||
| 2264 | @subsection Plattenpartitionierung | 2357 | @subsubsection Plattenpartitionierung |
| 2265 | 2358 | ||
| 2266 | Sofern nicht bereits geschehen, ist der nächste Schritt, zu partitionieren | 2359 | Sofern nicht bereits geschehen, ist der nächste Schritt, zu partitionieren |
| 2267 | und dann die Zielpartition zu formatieren. | 2360 | und dann die Zielpartition zu formatieren. |
| 2268 | 2361 | ||
| 2269 | Auf dem Installationsabbild sind mehrere Partitionierungswerkzeuge zu | 2362 | Auf dem Installationsabbild sind mehrere Partitionierungswerkzeuge zu |
| 2270 | finden, einschließlich (@pxref{Overview,,, parted, GNU Parted User Manual}), | 2363 | finden, einschließlich (siehe @ref{Overview,,, parted, GNU Parted User |
| 2271 | @command{fdisk} und @command{cfdisk}. Starten Sie eines davon und | 2364 | Manual}), @command{fdisk} und @command{cfdisk}. Starten Sie eines davon und |
| 2272 | partitionieren Sie Ihre Festplatte oder sonstigen Massenspeicher: | 2365 | partitionieren Sie Ihre Festplatte oder sonstigen Massenspeicher: |
| 2273 | 2366 | ||
| 2274 | @example | 2367 | @example |
| @@ -2278,16 +2371,17 @@ cfdisk | |||
| 2278 | Wenn Ihre Platte mit einer »GUID Partition Table« (GPT) formatiert ist, und | 2371 | Wenn Ihre Platte mit einer »GUID Partition Table« (GPT) formatiert ist, und |
| 2279 | Sie vorhaben, die BIOS-basierte Variante des GRUB-Bootloaders zu | 2372 | Sie vorhaben, die BIOS-basierte Variante des GRUB-Bootloaders zu |
| 2280 | installieren (was der Vorgabe entspricht), stellen Sie sicher, dass eine | 2373 | installieren (was der Vorgabe entspricht), stellen Sie sicher, dass eine |
| 2281 | Partition als BIOS-Boot-Partition ausgewiesen ist (@pxref{BIOS | 2374 | Partition als BIOS-Boot-Partition ausgewiesen ist (siehe @ref{BIOS |
| 2282 | installation,,, grub, GNU GRUB manual}). | 2375 | installation,,, grub, GNU GRUB manual}). |
| 2283 | 2376 | ||
| 2284 | @cindex EFI, Installation | 2377 | @cindex EFI, Installation |
| 2285 | @cindex UEFI, Installation | 2378 | @cindex UEFI, Installation |
| 2286 | @cindex ESP, EFI-Systempartition | 2379 | @cindex ESP, EFI-Systempartition |
| 2287 | If you instead wish to use EFI-based GRUB, a FAT32 @dfn{EFI System | 2380 | Falls Sie stattdessen einen EFI-basierten GRUB installieren möchten, muss |
| 2288 | Partition} (ESP) is required. This partition can be mounted at | 2381 | auf der Platte eine FAT32-formatierte @dfn{EFI-Systempartition} (ESP) |
| 2289 | @file{/boot/efi} for instance and must have the @code{esp} flag set. E.g., | 2382 | vorhanden sein. Diese Partition kann unter dem Pfad @file{/boot/efi} |
| 2290 | for @command{parted}: | 2383 | eingebunden (»gemountet«) werden und die @code{esp}-Flag der Partition muss |
| 2384 | gesetzt sein. Dazu würden Sie beispielsweise in @command{parted} eintippen: | ||
| 2291 | 2385 | ||
| 2292 | @example | 2386 | @example |
| 2293 | parted /dev/sda set 1 esp on | 2387 | parted /dev/sda set 1 esp on |
| @@ -2302,16 +2396,17 @@ installieren möchten: Wenn bei Ihnen das Verzeichnis | |||
| 2302 | eine EFI-Installation durchführen, wozu Sie in Ihrer Konfiguration | 2396 | eine EFI-Installation durchführen, wozu Sie in Ihrer Konfiguration |
| 2303 | @code{grub-efi-bootloader} benutzen. Ansonsten sollten Sie den | 2397 | @code{grub-efi-bootloader} benutzen. Ansonsten sollten Sie den |
| 2304 | BIOS-basierten GRUB benutzen, der mit @code{grub-bootloader} bezeichnet | 2398 | BIOS-basierten GRUB benutzen, der mit @code{grub-bootloader} bezeichnet |
| 2305 | wird. Siehe @xref{Bootloader-Konfiguration}, wenn Sie mehr Informationen | 2399 | wird. Siehe @ref{Bootloader-Konfiguration}, wenn Sie mehr Informationen |
| 2306 | über Bootloader brauchen. | 2400 | über Bootloader brauchen. |
| 2307 | @end quotation | 2401 | @end quotation |
| 2308 | 2402 | ||
| 2309 | Once you are done partitioning the target hard disk drive, you have to | 2403 | Sobald Sie die Platte fertig partitioniert haben, auf die Sie installieren |
| 2310 | create a file system on the relevant partition(s)@footnote{Currently Guix | 2404 | möchten, müssen Sie ein Dateisystem auf Ihrer oder Ihren für Guix System |
| 2311 | System only supports ext4 and btrfs file systems. In particular, code that | 2405 | vorgesehenen Partition(en) erzeugen@footnote{Derzeit unterstützt Guix System |
| 2312 | reads file system UUIDs and labels only works for these file system | 2406 | nur die Dateisystemtypen ext4 und btrfs. Insbesondere funktioniert |
| 2313 | types.}. For the ESP, if you have one and assuming it is @file{/dev/sda1}, | 2407 | Guix-Code, der Dateisystem-UUIDs und -Labels ausliest, nur auf diesen |
| 2314 | run: | 2408 | Dateisystemtypen.}. Wenn Sie eine ESP brauchen und dafür die Partition |
| 2409 | @file{/dev/sda1} vorgesehen haben, müssen Sie diesen Befehl ausführen: | ||
| 2315 | 2410 | ||
| 2316 | @example | 2411 | @example |
| 2317 | mkfs.fat -F32 /dev/sda1 | 2412 | mkfs.fat -F32 /dev/sda1 |
| @@ -2319,7 +2414,7 @@ mkfs.fat -F32 /dev/sda1 | |||
| 2319 | 2414 | ||
| 2320 | Geben Sie Ihren Dateisystemen auch besser eine Bezeichnung (»Label«), damit | 2415 | Geben Sie Ihren Dateisystemen auch besser eine Bezeichnung (»Label«), damit |
| 2321 | Sie sie zuverlässig wiedererkennen und später in den | 2416 | Sie sie zuverlässig wiedererkennen und später in den |
| 2322 | @code{file-system}-Deklarationen darauf Bezug nehmen können (@pxref{Dateisysteme}). Dazu benutzen Sie typischerweise die Befehlszeilenoption | 2417 | @code{file-system}-Deklarationen darauf Bezug nehmen können (siehe @ref{Dateisysteme}). Dazu benutzen Sie typischerweise die Befehlszeilenoption |
| 2323 | @code{-L} des Befehls @command{mkfs.ext4} oder entsprechende Optionen für | 2418 | @code{-L} des Befehls @command{mkfs.ext4} oder entsprechende Optionen für |
| 2324 | andere Befehle. Wenn wir also annehmen, dass @file{/dev/sda2} die Partition | 2419 | andere Befehle. Wenn wir also annehmen, dass @file{/dev/sda2} die Partition |
| 2325 | ist, auf der Ihr Wurzeldateisystem (englisch »root«) wohnen soll, können Sie | 2420 | ist, auf der Ihr Wurzeldateisystem (englisch »root«) wohnen soll, können Sie |
| @@ -2354,13 +2449,14 @@ des künftigen Wurzeldateisystems ist): | |||
| 2354 | mount LABEL=my-root /mnt | 2449 | mount LABEL=my-root /mnt |
| 2355 | @end example | 2450 | @end example |
| 2356 | 2451 | ||
| 2357 | Also mount any other file systems you would like to use on the target system | 2452 | Binden Sie auch alle anderen Dateisysteme ein, die Sie auf dem Zielsystem |
| 2358 | relative to this path. If you have opted for @file{/boot/efi} as an EFI | 2453 | benutzen möchten, mit Einhängepunkten relativ zu diesem Pfad. Wenn Sie sich |
| 2359 | mount point for example, mount it at @file{/mnt/boot/efi} now so it is found | 2454 | zum Beispiel für einen Einhängepunkt @file{/boot/efi} für die |
| 2360 | by @code{guix system init} afterwards. | 2455 | EFI-Systempartition entschieden haben, binden Sie sie jetzt als |
| 2456 | @file{/mnt/boot/efi} ein, damit @code{guix system init} sie später findet. | ||
| 2361 | 2457 | ||
| 2362 | Wenn Sie zudem auch vorhaben, eine oder mehrere Swap-Partitionen zu benutzen | 2458 | Wenn Sie zudem auch vorhaben, eine oder mehrere Swap-Partitionen zu benutzen |
| 2363 | (@pxref{Memory Concepts, swap space,, libc, The GNU C Library Reference | 2459 | (siehe @ref{Memory Concepts, swap space,, libc, The GNU C Library Reference |
| 2364 | Manual}), initialisieren Sie diese nun mit @command{mkswap}. Angenommen Sie | 2460 | Manual}), initialisieren Sie diese nun mit @command{mkswap}. Angenommen Sie |
| 2365 | haben eine Swap-Partition auf @file{/dev/sda3}, dann würde der Befehl so | 2461 | haben eine Swap-Partition auf @file{/dev/sda3}, dann würde der Befehl so |
| 2366 | lauten: | 2462 | lauten: |
| @@ -2373,8 +2469,8 @@ swapon /dev/sda3 | |||
| 2373 | Alternativ können Sie eine Swap-Datei benutzen. Angenommen, Sie wollten die | 2469 | Alternativ können Sie eine Swap-Datei benutzen. Angenommen, Sie wollten die |
| 2374 | Datei @file{/swapdatei} im neuen System als eine Swapdatei benutzen, dann | 2470 | Datei @file{/swapdatei} im neuen System als eine Swapdatei benutzen, dann |
| 2375 | müssten Sie Folgendes ausführen@footnote{Dieses Beispiel wird auf vielen | 2471 | müssten Sie Folgendes ausführen@footnote{Dieses Beispiel wird auf vielen |
| 2376 | Arten von Dateisystemen funktionieren (z.B. auf ext4). Auf Dateisystemen mit | 2472 | Arten von Dateisystemen funktionieren (z.B.@: auf ext4). Auf Dateisystemen |
| 2377 | Copy-on-Write (wie z.B. btrfs) können sich die nötigen Schritte | 2473 | mit Copy-on-Write (wie z.B.@: btrfs) können sich die nötigen Schritte |
| 2378 | unterscheiden. Details finden Sie in der Dokumentation auf den | 2474 | unterscheiden. Details finden Sie in der Dokumentation auf den |
| 2379 | Handbuchseiten von @command{mkswap} und @command{swapon}.}: | 2475 | Handbuchseiten von @command{mkswap} und @command{swapon}.}: |
| 2380 | 2476 | ||
| @@ -2393,7 +2489,7 @@ beschrieben erstellt haben, die Verschlüsselung auch die Swap-Datei schützt, | |||
| 2393 | genau wie jede andere Datei in dem Dateisystem. | 2489 | genau wie jede andere Datei in dem Dateisystem. |
| 2394 | 2490 | ||
| 2395 | @node Fortfahren mit der Installation | 2491 | @node Fortfahren mit der Installation |
| 2396 | @section Fortfahren mit der Installation | 2492 | @subsection Fortfahren mit der Installation |
| 2397 | 2493 | ||
| 2398 | Wenn die Partitionen des Installationsziels bereit sind und dessen | 2494 | Wenn die Partitionen des Installationsziels bereit sind und dessen |
| 2399 | Wurzeldateisystem unter @file{/mnt} eingebunden wurde, kann es losgehen mit | 2495 | Wurzeldateisystem unter @file{/mnt} eingebunden wurde, kann es losgehen mit |
| @@ -2403,7 +2499,7 @@ der Installation. Führen Sie zuerst aus: | |||
| 2403 | herd start cow-store /mnt | 2499 | herd start cow-store /mnt |
| 2404 | @end example | 2500 | @end example |
| 2405 | 2501 | ||
| 2406 | Dadurch wird @file{/gnu/store} copy-on-write, d.h. dorthin von Guix | 2502 | Dadurch wird @file{/gnu/store} copy-on-write, d.h.@: dorthin von Guix |
| 2407 | erstellte Pakete werden in ihrer Installationsphase auf dem unter | 2503 | erstellte Pakete werden in ihrer Installationsphase auf dem unter |
| 2408 | @file{/mnt} befindlichen Zieldateisystem gespeichert, statt den | 2504 | @file{/mnt} befindlichen Zieldateisystem gespeichert, statt den |
| 2409 | Arbeitsspeicher auszulasten. Das ist nötig, weil die erste Phase des Befehls | 2505 | Arbeitsspeicher auszulasten. Das ist nötig, weil die erste Phase des Befehls |
| @@ -2415,7 +2511,7 @@ Arbeitsspeicher gelagert werden konnten. | |||
| 2415 | Als Nächstes müssen Sie eine Datei bearbeiten und dort eine Deklaration des | 2511 | Als Nächstes müssen Sie eine Datei bearbeiten und dort eine Deklaration des |
| 2416 | Betriebssystems, das Sie installieren möchten, hineinschreiben. Zu diesem | 2512 | Betriebssystems, das Sie installieren möchten, hineinschreiben. Zu diesem |
| 2417 | Zweck sind im Installationssystem drei Texteditoren enthalten. Wir | 2513 | Zweck sind im Installationssystem drei Texteditoren enthalten. Wir |
| 2418 | empfehlen, dass Sie GNU nano benutzen (@pxref{Top,,, nano, GNU nano | 2514 | empfehlen, dass Sie GNU nano benutzen (siehe @ref{Top,,, nano, GNU nano |
| 2419 | Manual}), welcher Syntax und zueinander gehörende Klammern hervorheben | 2515 | Manual}), welcher Syntax und zueinander gehörende Klammern hervorheben |
| 2420 | kann. Andere mitgelieferte Texteditoren, die Sie benutzen können, sind GNU | 2516 | kann. Andere mitgelieferte Texteditoren, die Sie benutzen können, sind GNU |
| 2421 | Zile (ein Emacs-Klon) und nvi (ein Klon des ursprünglichen | 2517 | Zile (ein Emacs-Klon) und nvi (ein Klon des ursprünglichen |
| @@ -2424,8 +2520,8 @@ Zieldateisystem der Installation speichern, etwa als | |||
| 2424 | @file{/mnt/etc/config.scm}, weil Sie Ihre Konfigurationsdatei im frisch | 2520 | @file{/mnt/etc/config.scm}, weil Sie Ihre Konfigurationsdatei im frisch |
| 2425 | installierten System noch brauchen werden. | 2521 | installierten System noch brauchen werden. |
| 2426 | 2522 | ||
| 2427 | Der Abschnitt @xref{Das Konfigurationssystem nutzen} gibt einen Überblick | 2523 | Der Abschnitt @ref{Das Konfigurationssystem nutzen} gibt einen Überblick über |
| 2428 | über die Konfigurationsdatei. Die in dem Abschnitt diskutierten | 2524 | die Konfigurationsdatei. Die in dem Abschnitt diskutierten |
| 2429 | Beispielkonfigurationen sind im Installationsabbild im Verzeichnis | 2525 | Beispielkonfigurationen sind im Installationsabbild im Verzeichnis |
| 2430 | @file{/etc/configuration} zu finden. Um also mit einer Systemkonfiguration | 2526 | @file{/etc/configuration} zu finden. Um also mit einer Systemkonfiguration |
| 2431 | anzufangen, die einen grafischen »Display-Server« (eine | 2527 | anzufangen, die einen grafischen »Display-Server« (eine |
| @@ -2442,13 +2538,16 @@ Folgendes: | |||
| 2442 | 2538 | ||
| 2443 | @itemize | 2539 | @itemize |
| 2444 | @item | 2540 | @item |
| 2445 | Make sure the @code{bootloader-configuration} form refers to the target you | 2541 | Ihre @code{bootloader-configuration}-Form muss sich auf dasjenige Ziel |
| 2446 | want to install GRUB on. It should mention @code{grub-bootloader} if you | 2542 | beziehen, auf das Sie GRUB installieren möchten. Sie sollte genau dann |
| 2447 | are installing GRUB in the legacy way, or @code{grub-efi-bootloader} for | 2543 | @code{grub-bootloader} nennen, wenn Sie GRUB im alten BIOS-Modus |
| 2448 | newer UEFI systems. For legacy systems, the @code{target} field names a | 2544 | installieren, und für neuere UEFI-Systeme sollten Sie |
| 2449 | device, like @code{/dev/sda}; for UEFI systems it names a path to a mounted | 2545 | @code{grub-efi-bootloader} nennen. Bei Altsystemen bezeichnet das |
| 2450 | EFI partition, like @code{/boot/efi}; do make sure the path is currently | 2546 | @code{target}-Feld ein Gerät wie @code{/dev/sda}, bei UEFI-Systemen |
| 2451 | mounted and a @code{file-system} entry is specified in your configuration. | 2547 | bezeichnet es den Pfad zu einer eingebundenen EFI-Partition wie |
| 2548 | @code{/boot/efi}; stellen Sie sicher, dass die ESP tatsächlich dort | ||
| 2549 | eingebunden ist und ein @code{file-system}-Eintrag dafür in Ihrer | ||
| 2550 | Konfiguration festgelegt wurde. | ||
| 2452 | 2551 | ||
| 2453 | @item | 2552 | @item |
| 2454 | Dateisystembezeichnungen müssen mit den jeweiligen @code{device}-Feldern in | 2553 | Dateisystembezeichnungen müssen mit den jeweiligen @code{device}-Feldern in |
| @@ -2458,7 +2557,7 @@ ihre @code{device}-Felder benutzen. | |||
| 2458 | 2557 | ||
| 2459 | @item | 2558 | @item |
| 2460 | Gibt es verschlüsselte Partitionen oder RAID-Partitionen, dann müssen sie im | 2559 | Gibt es verschlüsselte Partitionen oder RAID-Partitionen, dann müssen sie im |
| 2461 | @code{mapped-devices}-Feld genannt werden (@pxref{Zugeordnete Geräte}). | 2560 | @code{mapped-devices}-Feld genannt werden (siehe @ref{Zugeordnete Geräte}). |
| 2462 | @end itemize | 2561 | @end itemize |
| 2463 | 2562 | ||
| 2464 | Wenn Sie damit fertig sind, Ihre Konfigurationsdatei vorzubereiten, können | 2563 | Wenn Sie damit fertig sind, Ihre Konfigurationsdatei vorzubereiten, können |
| @@ -2474,20 +2573,26 @@ guix system init /mnt/etc/config.scm /mnt | |||
| 2474 | Dies kopiert alle notwendigen Dateien und installiert GRUB auf | 2573 | Dies kopiert alle notwendigen Dateien und installiert GRUB auf |
| 2475 | @file{/dev/sdX}, sofern Sie nicht noch die Befehlszeilenoption | 2574 | @file{/dev/sdX}, sofern Sie nicht noch die Befehlszeilenoption |
| 2476 | @option{--no-bootloader} benutzen. Weitere Informationen finden Sie im | 2575 | @option{--no-bootloader} benutzen. Weitere Informationen finden Sie im |
| 2477 | Abschnitt @pxref{Aufruf von guix system}. Der Befehl kann das Herunterladen | 2576 | Abschnitt @ref{Aufruf von guix system}. Der Befehl kann das Herunterladen oder |
| 2478 | oder Erstellen fehlender Softwarepakete auslösen, was einige Zeit in | 2577 | Erstellen fehlender Softwarepakete auslösen, was einige Zeit in Anspruch |
| 2479 | Anspruch nehmen kann. | 2578 | nehmen kann. |
| 2480 | 2579 | ||
| 2481 | Sobald der Befehl erfolgreich — hoffentlich! — durchgelaufen ist, können Sie | 2580 | Sobald der Befehl erfolgreich — hoffentlich! — durchgelaufen ist, können Sie |
| 2482 | mit dem Befehl @command{reboot} das neue System booten lassen. Der | 2581 | mit dem Befehl @command{reboot} das neue System booten lassen. Der |
| 2483 | Administratornutzer @code{root} hat im neuen System zunächst ein leeres | 2582 | Administratornutzer @code{root} hat im neuen System zunächst ein leeres |
| 2484 | Passwort und Passwörter der anderen Nutzer müssen Sie erst setzen, indem Sie | 2583 | Passwort, und Passwörter der anderen Nutzer müssen Sie später setzen, indem |
| 2485 | den Befehl @command{passwd} als @code{root} ausführen, außer Ihre | 2584 | Sie den Befehl @command{passwd} als @code{root} ausführen, außer Ihre |
| 2486 | Konfiguration enthält schon Passwörter (@pxref{user-account-password, user | 2585 | Konfiguration enthält schon Passwörter (siehe @ref{user-account-password, |
| 2487 | account passwords}). | 2586 | user account passwords}). Siehe @ref{Nach der Systeminstallation} für |
| 2587 | Informationen, wie es weiter geht! | ||
| 2588 | |||
| 2488 | 2589 | ||
| 2489 | @cindex upgrading Guix System | 2590 | @node Nach der Systeminstallation |
| 2490 | From then on, you can update the system whenever you want by running, say: | 2591 | @section Nach der Systeminstallation |
| 2592 | |||
| 2593 | Sie haben es geschafft: Sie haben Guix System erfolgreich gebootet! Von | ||
| 2594 | jetzt an können Sie Guix System aktualisieren, wann Sie möchten, indem Sie | ||
| 2595 | zum Beispiel das hier ausführen: | ||
| 2491 | 2596 | ||
| 2492 | @example | 2597 | @example |
| 2493 | guix pull | 2598 | guix pull |
| @@ -2495,38 +2600,44 @@ sudo guix system reconfigure /etc/config.scm | |||
| 2495 | @end example | 2600 | @end example |
| 2496 | 2601 | ||
| 2497 | @noindent | 2602 | @noindent |
| 2498 | This builds a new system generation with the latest packages and services | 2603 | Dadurch wird eine neue Systemgeneration aus den neuesten Paketen und |
| 2499 | (@pxref{Aufruf von guix system}). We recommend doing that regularly so that | 2604 | Diensten erstellt (siehe @ref{Aufruf von guix system}). Wir empfehlen, diese |
| 2500 | your system includes the latest security updates (@pxref{Sicherheitsaktualisierungen}). | 2605 | Schritte regelmäßig zu wiederholen, damit Ihr System die aktuellen |
| 2606 | Sicherheitsaktualisierungen benutzt (siehe @ref{Sicherheitsaktualisierungen}). | ||
| 2501 | 2607 | ||
| 2502 | @c See <https://lists.gnu.org/archive/html/guix-devel/2019-01/msg00268.html>. | 2608 | @c See <https://lists.gnu.org/archive/html/guix-devel/2019-01/msg00268.html>. |
| 2503 | @quotation Anmerkung | 2609 | @quotation Anmerkung |
| 2504 | @cindex sudo vs. @command{guix pull} | 2610 | @cindex sudo, Wirkung auf @command{guix pull} |
| 2505 | Note that @command{sudo guix} runs your user's @command{guix} command and | 2611 | Beachten Sie, dass bei Nutzung von @command{sudo guix} der |
| 2506 | @emph{not} root's, because @command{sudo} leaves @code{PATH} unchanged. To | 2612 | @command{guix}-Befehl des aktiven Benutzers ausgeführt wird und @emph{nicht} |
| 2507 | explicitly run root's @command{guix}, type @command{sudo -i guix @dots{}}. | 2613 | der des Administratornutzers »root«, weil @command{sudo} die |
| 2614 | Umgebungsvariable @code{PATH} unverändert lässt. Um ausdrücklich das | ||
| 2615 | @command{guix}-Programm des Administrators aufzurufen, müssen Sie | ||
| 2616 | @command{sudo -i guix @dots{}} eintippen. | ||
| 2508 | @end quotation | 2617 | @end quotation |
| 2509 | 2618 | ||
| 2510 | Join us on @code{#guix} on the Freenode IRC network or on | 2619 | Besuchen Sie uns auf @code{#guix} auf dem Freenode-IRC-Netzwerk oder auf der |
| 2511 | @email{guix-devel@@gnu.org} to share your experience---good or not so good. | 2620 | Mailing-Liste @file{guix-devel@@gnu.org}, um uns Rückmeldung zu geben! |
| 2621 | |||
| 2512 | 2622 | ||
| 2513 | @node Installing Guix in a VM | 2623 | @node Guix in einer VM installieren |
| 2514 | @section Installing Guix in a Virtual Machine | 2624 | @section Guix in einer virtuellen Maschine installieren |
| 2515 | 2625 | ||
| 2516 | @cindex virtual machine, Guix System installation | 2626 | @cindex virtuelle Maschine, Guix System installieren |
| 2517 | @cindex Virtual Private Server (VPS) | 2627 | @cindex Virtual Private Server (VPS) |
| 2518 | @cindex VPS (Virtual Private Server) | 2628 | @cindex VPS (Virtual Private Server) |
| 2519 | If you'd like to install Guix System in a virtual machine (VM) or on a | 2629 | Wenn Sie Guix System auf einer virtuellen Maschine (VM) oder einem »Virtual |
| 2520 | virtual private server (VPS) rather than on your beloved machine, this | 2630 | Private Server« (VPS) statt auf Ihrer echten Maschine installieren möchten, |
| 2521 | section is for you. | 2631 | ist dieser Abschnitt hier richtig für Sie. |
| 2522 | 2632 | ||
| 2523 | To boot a @uref{http://qemu.org/,QEMU} VM for installing Guix System in a | 2633 | Um eine virtuelle Maschine für @uref{http://qemu.org/,QEMU} aufzusetzen, mit |
| 2524 | disk image, follow these steps: | 2634 | der Sie Guix System in ein »Disk-Image« installieren können (also in eine |
| 2635 | Datei mit einem Abbild eines Plattenspeichers), gehen Sie so vor: | ||
| 2525 | 2636 | ||
| 2526 | @enumerate | 2637 | @enumerate |
| 2527 | @item | 2638 | @item |
| 2528 | First, retrieve and decompress the Guix system installation image as | 2639 | Zunächst laden Sie das Installationsabbild des Guix-Systems wie zuvor |
| 2529 | described previously (@pxref{Installation von USB-Stick oder DVD}). | 2640 | beschrieben herunter und entpacken es (siehe @ref{Installation von USB-Stick oder DVD}). |
| 2530 | 2641 | ||
| 2531 | @item | 2642 | @item |
| 2532 | Legen Sie nun ein Disk-Image an, das das System nach der Installation | 2643 | Legen Sie nun ein Disk-Image an, das das System nach der Installation |
| @@ -2547,7 +2658,7 @@ Starten Sie das USB-Installationsabbild auf einer virtuellen Maschine: | |||
| 2547 | @example | 2658 | @example |
| 2548 | qemu-system-x86_64 -m 1024 -smp 1 \ | 2659 | qemu-system-x86_64 -m 1024 -smp 1 \ |
| 2549 | -net user -net nic,model=virtio -boot menu=on \ | 2660 | -net user -net nic,model=virtio -boot menu=on \ |
| 2550 | -drive file=guixsd-install-@value{VERSION}.@var{System}.iso \ | 2661 | -drive file=guix-system-install-@value{VERSION}.@var{System}.iso \ |
| 2551 | -drive file=guixsd.img | 2662 | -drive file=guixsd.img |
| 2552 | @end example | 2663 | @end example |
| 2553 | 2664 | ||
| @@ -2562,11 +2673,12 @@ bestätigen. | |||
| 2562 | @item | 2673 | @item |
| 2563 | Sie sind nun in der virtuellen Maschine als Administratornutzer @code{root} | 2674 | Sie sind nun in der virtuellen Maschine als Administratornutzer @code{root} |
| 2564 | angemeldet und können mit der Installation wie gewohnt fortfahren. Folgen | 2675 | angemeldet und können mit der Installation wie gewohnt fortfahren. Folgen |
| 2565 | Sie der Anleitung im Abschnitt @xref{Vor der Installation}. | 2676 | Sie der Anleitung im Abschnitt @ref{Vor der Installation}. |
| 2566 | @end enumerate | 2677 | @end enumerate |
| 2567 | 2678 | ||
| 2568 | Once installation is complete, you can boot the system that's on your | 2679 | Wurde die Installation abgeschlossen, können Sie das System starten, das |
| 2569 | @file{guixsd.img} image. @xref{Running Guix in a VM}, for how to do that. | 2680 | sich nun als Abbild in der Datei @file{guixsd.img} befindet. Der Abschnitt |
| 2681 | @ref{Guix in einer VM starten} erklärt, wie Sie das tun können. | ||
| 2570 | 2682 | ||
| 2571 | @node Ein Abbild zur Installation erstellen | 2683 | @node Ein Abbild zur Installation erstellen |
| 2572 | @section Ein Abbild zur Installation erstellen | 2684 | @section Ein Abbild zur Installation erstellen |
| @@ -2611,11 +2723,11 @@ natürlich noch mehr als diese offensichtlichen Funktionalitäten. | |||
| 2611 | 2723 | ||
| 2612 | Dieses Kapitel beschreibt die Hauptfunktionalitäten von Guix, sowie die von | 2724 | Dieses Kapitel beschreibt die Hauptfunktionalitäten von Guix, sowie die von |
| 2613 | Guix angebotenen Paketverwaltungswerkzeuge. Zusätzlich von den im Folgenden | 2725 | Guix angebotenen Paketverwaltungswerkzeuge. Zusätzlich von den im Folgenden |
| 2614 | beschriebenen Befehlszeilen-Benutzerschnittstellen (@pxref{Aufruf von guix package, @code{guix package}}) können Sie auch mit der | 2726 | beschriebenen Befehlszeilen-Benutzerschnittstellen (siehe @ref{Aufruf von guix package, @code{guix package}}) können Sie auch mit der |
| 2615 | Emacs-Guix-Schnittstelle (@pxref{Top,,, emacs-guix, The Emacs-Guix Reference | 2727 | Emacs-Guix-Schnittstelle (siehe @ref{Top,,, emacs-guix, The Emacs-Guix |
| 2616 | Manual}) arbeiten, nachdem Sie das Paket @code{emacs-guix} installiert haben | 2728 | Reference Manual}) arbeiten, nachdem Sie das Paket @code{emacs-guix} |
| 2617 | (führen Sie zum Einstieg in Emacs-Guix den Emacs-Befehl @kbd{M-x guix-help} | 2729 | installiert haben (führen Sie zum Einstieg in Emacs-Guix den Emacs-Befehl |
| 2618 | aus): | 2730 | @kbd{M-x guix-help} aus): |
| 2619 | 2731 | ||
| 2620 | @example | 2732 | @example |
| 2621 | guix package -i emacs-guix | 2733 | guix package -i emacs-guix |
| @@ -2654,11 +2766,11 @@ Zum Beispiel installiert @code{alice} GCC 4.7.2. Dadurch zeigt dann | |||
| 2654 | @file{/gnu/store/@dots{}-gcc-4.7.2/bin/gcc}. Auf demselben Rechner hat | 2766 | @file{/gnu/store/@dots{}-gcc-4.7.2/bin/gcc}. Auf demselben Rechner hat |
| 2655 | @code{bob} bereits GCC 4.8.0 installiert. Das Profil von @code{bob} zeigt | 2767 | @code{bob} bereits GCC 4.8.0 installiert. Das Profil von @code{bob} zeigt |
| 2656 | dann einfach weiterhin auf @file{/gnu/store/@dots{}-gcc-4.8.0/bin/gcc} — | 2768 | dann einfach weiterhin auf @file{/gnu/store/@dots{}-gcc-4.8.0/bin/gcc} — |
| 2657 | d.h. beide Versionen von GCC koexistieren auf demselben System, ohne sich zu | 2769 | d.h.@: beide Versionen von GCC koexistieren auf demselben System, ohne sich |
| 2658 | stören. | 2770 | zu stören. |
| 2659 | 2771 | ||
| 2660 | Der Befehl @command{guix package} ist das zentrale Werkzeug, um Pakete zu | 2772 | Der Befehl @command{guix package} ist das zentrale Werkzeug, um Pakete zu |
| 2661 | verwalten (@pxref{Aufruf von guix package}). Es arbeitet auf dem eigenen | 2773 | verwalten (siehe @ref{Aufruf von guix package}). Es arbeitet auf dem eigenen |
| 2662 | Profil jedes Nutzers und kann @emph{mit normalen Benutzerrechten} ausgeführt | 2774 | Profil jedes Nutzers und kann @emph{mit normalen Benutzerrechten} ausgeführt |
| 2663 | werden. | 2775 | werden. |
| 2664 | 2776 | ||
| @@ -2671,24 +2783,25 @@ von @command{guix package} während der Transaktion beendet wird, oder es zum | |||
| 2671 | Stromausfall während der Transaktion kommt, dann bleibt der alte, nutzbare | 2783 | Stromausfall während der Transaktion kommt, dann bleibt der alte, nutzbare |
| 2672 | Zustands des Nutzerprofils erhalten. | 2784 | Zustands des Nutzerprofils erhalten. |
| 2673 | 2785 | ||
| 2674 | In addition, any package transaction may be @emph{rolled back}. So, if, for | 2786 | Zudem kann jede Pakettransaktion @emph{zurückgesetzt} werden |
| 2675 | example, an upgrade installs a new version of a package that turns out to | 2787 | (Rollback). Wird also zum Beispiel durch eine Aktualisierung eine neue |
| 2676 | have a serious bug, users may roll back to the previous instance of their | 2788 | Version eines Pakets installiert, die einen schwerwiegenden Fehler zur Folge |
| 2677 | profile, which was known to work well. Similarly, the global system | 2789 | hat, können Nutzer ihr Profil einfach auf die vorherige Profilinstanz |
| 2678 | configuration on Guix is subject to transactional upgrades and roll-back | 2790 | zurücksetzen, von der sie wissen, dass sie gut lief. Ebenso unterliegt bei |
| 2679 | (@pxref{Das Konfigurationssystem nutzen}). | 2791 | Guix auch die globale Systemkonfiguration transaktionellen Aktualisierungen |
| 2792 | und Rücksetzungen (siehe @ref{Das Konfigurationssystem nutzen}). | ||
| 2680 | 2793 | ||
| 2681 | Alle Pakete im Paket-Store können vom @emph{Müllsammler} (Garbage Collector) | 2794 | Alle Pakete im Paket-Store können vom @emph{Müllsammler} (Garbage Collector) |
| 2682 | gelöscht werden. Guix ist in der Lage, festzustellen, welche Pakete noch | 2795 | gelöscht werden. Guix ist in der Lage, festzustellen, welche Pakete noch |
| 2683 | durch Benutzerprofile referenziert werden, und entfernt nur diese, die | 2796 | durch Benutzerprofile referenziert werden, und entfernt nur diese, die |
| 2684 | nachweislich nicht mehr referenziert werden (@pxref{Aufruf von guix gc}). Benutzer können auch ausdrücklich alte Generationen ihres Profils | 2797 | nachweislich nicht mehr referenziert werden (siehe @ref{Aufruf von guix gc}). Benutzer können auch ausdrücklich alte Generationen ihres Profils |
| 2685 | löschen, damit die zugehörigen Pakete vom Müllsammler gelöscht werden | 2798 | löschen, damit die zugehörigen Pakete vom Müllsammler gelöscht werden |
| 2686 | können. | 2799 | können. |
| 2687 | 2800 | ||
| 2688 | @cindex Reproduzierbarkeit | 2801 | @cindex Reproduzierbarkeit |
| 2689 | @cindex Reproduzierbare Erstellungen | 2802 | @cindex Reproduzierbare Erstellungen |
| 2690 | Guix verfolgt einen @dfn{rein funktionalen} Ansatz bei der Paketverwaltung, | 2803 | Guix verfolgt einen @dfn{rein funktionalen} Ansatz bei der Paketverwaltung, |
| 2691 | wie er in der Einleitung beschrieben wurde (@pxref{Einführung}). Jedes | 2804 | wie er in der Einleitung beschrieben wurde (siehe @ref{Einführung}). Jedes |
| 2692 | Paketverzeichnis im @file{/gnu/store} hat einen Hash all seiner bei der | 2805 | Paketverzeichnis im @file{/gnu/store} hat einen Hash all seiner bei der |
| 2693 | Erstellung benutzten Eingaben im Namen — Compiler, Bibliotheken, | 2806 | Erstellung benutzten Eingaben im Namen — Compiler, Bibliotheken, |
| 2694 | Erstellungs-Skripts etc. Diese direkte Entsprechung ermöglicht es Benutzern, | 2807 | Erstellungs-Skripts etc. Diese direkte Entsprechung ermöglicht es Benutzern, |
| @@ -2697,34 +2810,33 @@ Distribution entspricht. Sie maximiert auch die @dfn{Reproduzierbarkeit der | |||
| 2697 | Erstellungen} zu maximieren: Dank der isolierten Erstellungsumgebungen, die | 2810 | Erstellungen} zu maximieren: Dank der isolierten Erstellungsumgebungen, die |
| 2698 | benutzt werden, resultiert eine Erstellung wahrscheinlich in bitweise | 2811 | benutzt werden, resultiert eine Erstellung wahrscheinlich in bitweise |
| 2699 | identischen Dateien, auch wenn sie auf unterschiedlichen Maschinen | 2812 | identischen Dateien, auch wenn sie auf unterschiedlichen Maschinen |
| 2700 | durchgeführt wird (@pxref{Aufruf des guix-daemon, container}). | 2813 | durchgeführt wird (siehe @ref{Aufruf des guix-daemon, container}). |
| 2701 | 2814 | ||
| 2702 | @cindex Substitute | 2815 | @cindex Substitute |
| 2703 | Auf dieser Grundlage kann Guix @dfn{transparent Binär- oder Quelldateien | 2816 | Auf dieser Grundlage kann Guix @dfn{transparent Binär- oder Quelldateien |
| 2704 | ausliefern}. Wenn eine vorerstellte Binärdatei für ein | 2817 | ausliefern}. Wenn eine vorerstellte Binärdatei für ein |
| 2705 | @file{/gnu/store}-Objekt von einer externen Quelle verfügbar ist — ein | 2818 | @file{/gnu/store}-Objekt von einer externen Quelle verfügbar ist — ein |
| 2706 | @dfn{Substitut} —, lädt Guix sie einfach herunter und entpackt sie, | 2819 | @dfn{Substitut} —, lädt Guix sie einfach herunter und entpackt sie, |
| 2707 | andernfalls erstellt Guix das Paket lokal aus seinem Quellcode | 2820 | andernfalls erstellt Guix das Paket lokal aus seinem Quellcode (siehe |
| 2708 | (@pxref{Substitute}). Weil Erstellungsergebnisse normalerweise Bit für Bit | 2821 | @ref{Substitute}). Weil Erstellungsergebnisse normalerweise Bit für Bit |
| 2709 | reproduzierbar sind, müssen die Nutzer den Servern, die Substitute anbieten, | 2822 | reproduzierbar sind, müssen die Nutzer den Servern, die Substitute anbieten, |
| 2710 | nicht blind vertrauen; sie können eine lokale Erstellung erzwingen und | 2823 | nicht blind vertrauen; sie können eine lokale Erstellung erzwingen und |
| 2711 | Substitute @emph{anfechten} (@pxref{Aufruf von guix challenge}). | 2824 | Substitute @emph{anfechten} (siehe @ref{Aufruf von guix challenge}). |
| 2712 | 2825 | ||
| 2713 | Kontrolle über die Erstellungsumgebung ist eine auch für Entwickler | 2826 | Kontrolle über die Erstellungsumgebung ist eine auch für Entwickler |
| 2714 | nützliche Funktionalität. Der Befehl @command{guix environment} ermöglicht | 2827 | nützliche Funktionalität. Der Befehl @command{guix environment} ermöglicht |
| 2715 | es Entwicklern eines Pakets, schnell die richtige Entwicklungsumgebung für | 2828 | es Entwicklern eines Pakets, schnell die richtige Entwicklungsumgebung für |
| 2716 | ihr Paket einzurichten, ohne manuell die Abhängigkeiten des Pakets in ihr | 2829 | ihr Paket einzurichten, ohne manuell die Abhängigkeiten des Pakets in ihr |
| 2717 | Profil installieren zu müssen (@pxref{Aufruf von guix environment}). | 2830 | Profil installieren zu müssen (siehe @ref{Aufruf von guix environment}). |
| 2718 | 2831 | ||
| 2719 | @cindex Nachbildung, von Software-Umgebungen | 2832 | @cindex Nachbildung, von Software-Umgebungen |
| 2720 | @cindex Provenienzverfolgung, von Software-Artefakten | 2833 | @cindex Provenienzverfolgung, von Software-Artefakten |
| 2721 | Ganz Guix und all seine Paketdefinitionen stehen unter Versionskontrolle und | 2834 | Ganz Guix und all seine Paketdefinitionen stehen unter Versionskontrolle und |
| 2722 | @command{guix pull} macht es möglich, auf dem Verlauf der Entwicklung von | 2835 | @command{guix pull} macht es möglich, auf dem Verlauf der Entwicklung von |
| 2723 | Guix selbst »in der Zeit zu reisen« (@pxref{Aufruf von guix pull}). Dadurch | 2836 | Guix selbst »in der Zeit zu reisen« (siehe @ref{Aufruf von guix pull}). Dadurch kann eine Instanz von Guix auf einer anderen Maschine oder |
| 2724 | kann eine Instanz von Guix auf einer anderen Maschine oder zu einem späteren | 2837 | zu einem späteren Zeitpunkt genau nachgebildet werden, wodurch auch |
| 2725 | Zeitpunkt genau nachgebildet werden, wodurch auch @emph{vollständige | 2838 | @emph{vollständige Software-Umgebungen gänzlich nachgebildet} werden können, |
| 2726 | Software-Umgebungen gänzlich nachgebildet} werden können, mit genauer | 2839 | mit genauer @dfn{Provenienzverfolgung}, wo diese Software herkommt. |
| 2727 | @dfn{Provenienzverfolgung}, wo diese Software herkommt. | ||
| 2728 | 2840 | ||
| 2729 | @node Aufruf von guix package | 2841 | @node Aufruf von guix package |
| 2730 | @section Invoking @command{guix package} | 2842 | @section Invoking @command{guix package} |
| @@ -2737,7 +2849,7 @@ Der Befehl @command{guix package} ist ein Werkzeug, womit Nutzer Pakete | |||
| 2737 | installieren, aktualisieren, entfernen und auf vorherige Konfigurationen | 2849 | installieren, aktualisieren, entfernen und auf vorherige Konfigurationen |
| 2738 | zurücksetzen können. Dabei wird nur das eigene Profil des Nutzers verwendet, | 2850 | zurücksetzen können. Dabei wird nur das eigene Profil des Nutzers verwendet, |
| 2739 | und es funktioniert mit normalen Benutzerrechten, ohne Administratorrechte | 2851 | und es funktioniert mit normalen Benutzerrechten, ohne Administratorrechte |
| 2740 | (@pxref{Funktionalitäten}). Die Syntax ist: | 2852 | (siehe @ref{Funktionalitäten}). Die Syntax ist: |
| 2741 | 2853 | ||
| 2742 | @example | 2854 | @example |
| 2743 | guix package @var{Optionen} | 2855 | guix package @var{Optionen} |
| @@ -2758,18 +2870,18 @@ guix package -r lua -i guile guile-cairo | |||
| 2758 | @command{guix package} unterstützt auch ein @dfn{deklaratives Vorgehen}, | 2870 | @command{guix package} unterstützt auch ein @dfn{deklaratives Vorgehen}, |
| 2759 | wobei der Nutzer die genaue Menge an Paketen, die verfügbar sein sollen, | 2871 | wobei der Nutzer die genaue Menge an Paketen, die verfügbar sein sollen, |
| 2760 | festlegt und über die Befehlszeilenoption @option{--manifest} übergibt | 2872 | festlegt und über die Befehlszeilenoption @option{--manifest} übergibt |
| 2761 | (@pxref{profile-manifest, @option{--manifest}}). | 2873 | (siehe @ref{profile-manifest, @option{--manifest}}). |
| 2762 | 2874 | ||
| 2763 | @cindex Profil | 2875 | @cindex Profil |
| 2764 | Für jeden Benutzer wird automatisch eine symbolische Verknüpfung zu seinem | 2876 | Für jeden Benutzer wird automatisch eine symbolische Verknüpfung zu seinem |
| 2765 | Standardprofil angelegt als @file{$HOME/.guix-profile}. Diese symbolische | 2877 | Standardprofil angelegt als @file{$HOME/.guix-profile}. Diese symbolische |
| 2766 | Verknüpfung zeigt immer auf die aktuelle Generation des Standardprofils des | 2878 | Verknüpfung zeigt immer auf die aktuelle Generation des Standardprofils des |
| 2767 | Benutzers. Somit können Nutzer @file{$HOME/.guix-profile/bin} z.B. zu ihrer | 2879 | Benutzers. Somit können Nutzer @file{$HOME/.guix-profile/bin} z.B.@: zu |
| 2768 | Umgebungsvariablen @code{PATH} hinzufügen. | 2880 | ihrer Umgebungsvariablen @code{PATH} hinzufügen. |
| 2769 | @cindex Suchpfade | 2881 | @cindex Suchpfade |
| 2770 | Wenn Sie nicht die Guix System Distribution benutzen, sollten Sie in | 2882 | Wenn Sie nicht die Guix System Distribution benutzen, sollten Sie in |
| 2771 | Betracht ziehen, folgende Zeilen zu Ihrem @file{~/.bash_profile} | 2883 | Betracht ziehen, folgende Zeilen zu Ihrem @file{~/.bash_profile} |
| 2772 | hinzuzufügen (@pxref{Bash Startup Files,,, bash, The GNU Bash Reference | 2884 | hinzuzufügen (siehe @ref{Bash Startup Files,,, bash, The GNU Bash Reference |
| 2773 | Manual}), damit in neu erzeugten Shells alle Umgebungsvariablen richtig | 2885 | Manual}), damit in neu erzeugten Shells alle Umgebungsvariablen richtig |
| 2774 | definiert werden: | 2886 | definiert werden: |
| 2775 | 2887 | ||
| @@ -2780,7 +2892,7 @@ source "$HOME/.guix-profile/etc/profile" | |||
| 2780 | 2892 | ||
| 2781 | Ist Ihr System für mehrere Nutzer eingerichtet, werden Nutzerprofile an | 2893 | Ist Ihr System für mehrere Nutzer eingerichtet, werden Nutzerprofile an |
| 2782 | einem Ort gespeichert, der als @dfn{Müllsammlerwurzel} registriert ist, auf | 2894 | einem Ort gespeichert, der als @dfn{Müllsammlerwurzel} registriert ist, auf |
| 2783 | die @file{$HOME/.guix-profile} zeigt (@pxref{Aufruf von guix gc}). Dieses | 2895 | die @file{$HOME/.guix-profile} zeigt (siehe @ref{Aufruf von guix gc}). Dieses |
| 2784 | Verzeichnis ist normalerweise | 2896 | Verzeichnis ist normalerweise |
| 2785 | @code{@var{localstatedir}/guix/profiles/per-user/@var{Benutzer}}, wobei | 2897 | @code{@var{localstatedir}/guix/profiles/per-user/@var{Benutzer}}, wobei |
| 2786 | @var{localstatedir} der an @code{configure} als @code{--localstatedir} | 2898 | @var{localstatedir} der an @code{configure} als @code{--localstatedir} |
| @@ -2806,14 +2918,13 @@ und einer Versionsnummer, wie @code{guile@@1.8.8} oder auch nur | |||
| 2806 | Wird keine Versionsnummer angegeben, wird die neueste verfügbare Version | 2918 | Wird keine Versionsnummer angegeben, wird die neueste verfügbare Version |
| 2807 | ausgewählt. Zudem kann im @var{Paket} ein Doppelpunkt auftauchen, gefolgt | 2919 | ausgewählt. Zudem kann im @var{Paket} ein Doppelpunkt auftauchen, gefolgt |
| 2808 | vom Namen einer der Ausgaben des Pakets, wie @code{gcc:doc} oder | 2920 | vom Namen einer der Ausgaben des Pakets, wie @code{gcc:doc} oder |
| 2809 | @code{binutils@@2.22:lib} (@pxref{Pakete mit mehreren Ausgaben.}). Pakete | 2921 | @code{binutils@@2.22:lib} (siehe @ref{Pakete mit mehreren Ausgaben.}). Pakete mit zugehörigem Namen (und optional der Version) werden |
| 2810 | mit zugehörigem Namen (und optional der Version) werden unter den Modulen | 2922 | unter den Modulen der GNU-Distribution gesucht (siehe @ref{Paketmodule}). |
| 2811 | der GNU-Distribution gesucht (@pxref{Paketmodule}). | ||
| 2812 | 2923 | ||
| 2813 | @cindex propagierte Eingaben | 2924 | @cindex propagierte Eingaben |
| 2814 | Manchmal haben Pakete @dfn{propagierte Eingaben}: Als solche werden | 2925 | Manchmal haben Pakete @dfn{propagierte Eingaben}: Als solche werden |
| 2815 | Abhängigkeiten bezeichnet, die automatisch zusammen mit dem angeforderten | 2926 | Abhängigkeiten bezeichnet, die automatisch zusammen mit dem angeforderten |
| 2816 | Paket installiert werden (im Abschnitt @pxref{package-propagated-inputs, | 2927 | Paket installiert werden (im Abschnitt @ref{package-propagated-inputs, |
| 2817 | @code{propagated-inputs} in @code{package} objects} sind weitere | 2928 | @code{propagated-inputs} in @code{package} objects} sind weitere |
| 2818 | Informationen über propagierte Eingaben in Paketdefinitionen zu finden). | 2929 | Informationen über propagierte Eingaben in Paketdefinitionen zu finden). |
| 2819 | 2930 | ||
| @@ -2848,7 +2959,7 @@ Ausgabe eines Pakets mit mehreren Ausgaben gewünscht ist. | |||
| 2848 | Das Paket installieren, zu dem der Code in der @var{Datei} ausgewertet wird. | 2959 | Das Paket installieren, zu dem der Code in der @var{Datei} ausgewertet wird. |
| 2849 | 2960 | ||
| 2850 | Zum Beispiel könnte die @var{Datei} eine Definition wie diese enthalten | 2961 | Zum Beispiel könnte die @var{Datei} eine Definition wie diese enthalten |
| 2851 | (@pxref{Pakete definieren}): | 2962 | (siehe @ref{Pakete definieren}): |
| 2852 | 2963 | ||
| 2853 | @example | 2964 | @example |
| 2854 | @verbatiminclude package-hello.scm | 2965 | @verbatiminclude package-hello.scm |
| @@ -2857,7 +2968,7 @@ Zum Beispiel könnte die @var{Datei} eine Definition wie diese enthalten | |||
| 2857 | Entwickler könnten es für nützlich erachten, eine solche | 2968 | Entwickler könnten es für nützlich erachten, eine solche |
| 2858 | @file{guix.scm}-Datei im Quellbaum ihres Projekts abzulegen, mit der | 2969 | @file{guix.scm}-Datei im Quellbaum ihres Projekts abzulegen, mit der |
| 2859 | Zwischenstände der Entwicklung getestet und reproduzierbare | 2970 | Zwischenstände der Entwicklung getestet und reproduzierbare |
| 2860 | Erstellungsumgebungen aufgebaut werden können (@pxref{Aufruf von guix environment}). | 2971 | Erstellungsumgebungen aufgebaut werden können (siehe @ref{Aufruf von guix environment}). |
| 2861 | 2972 | ||
| 2862 | @item --remove=@var{Paket} @dots{} | 2973 | @item --remove=@var{Paket} @dots{} |
| 2863 | @itemx -r @var{Paket} @dots{} | 2974 | @itemx -r @var{Paket} @dots{} |
| @@ -2879,7 +2990,7 @@ weiter unten die Befehlszeilenoption @code{--do-not-upgrade}. | |||
| 2879 | Beachten Sie, dass das Paket so auf die neueste Version unter den Paketen | 2990 | Beachten Sie, dass das Paket so auf die neueste Version unter den Paketen |
| 2880 | gebracht wird, die in der aktuell installierten Distribution vorliegen. Um | 2991 | gebracht wird, die in der aktuell installierten Distribution vorliegen. Um |
| 2881 | jedoch Ihre Distribution zu aktualisieren, sollten Sie regelmäßig | 2992 | jedoch Ihre Distribution zu aktualisieren, sollten Sie regelmäßig |
| 2882 | @command{guix pull} ausführen (@pxref{Aufruf von guix pull}). | 2993 | @command{guix pull} ausführen (siehe @ref{Aufruf von guix pull}). |
| 2883 | 2994 | ||
| 2884 | @item --do-not-upgrade[=@var{Regexp} @dots{}] | 2995 | @item --do-not-upgrade[=@var{Regexp} @dots{}] |
| 2885 | In Verbindung mit der Befehlszeilenoption @code{--upgrade}, führe | 2996 | In Verbindung mit der Befehlszeilenoption @code{--upgrade}, führe |
| @@ -2936,8 +3047,8 @@ auflösen, zum Beispiel so: | |||
| 2936 | @cindex rücksetzen | 3047 | @cindex rücksetzen |
| 2937 | @cindex Zurücksetzen von Transaktionen | 3048 | @cindex Zurücksetzen von Transaktionen |
| 2938 | @cindex Transaktionen, zurücksetzen | 3049 | @cindex Transaktionen, zurücksetzen |
| 2939 | Wechselt zur vorherigen @dfn{Generation} des Profils zurück — d.h. macht die | 3050 | Wechselt zur vorherigen @dfn{Generation} des Profils zurück — d.h.@: macht |
| 2940 | letzte Transaktion rückgängig. | 3051 | die letzte Transaktion rückgängig. |
| 2941 | 3052 | ||
| 2942 | In Verbindung mit Befehlszeilenoptionen wie @code{--install} wird zuerst | 3053 | In Verbindung mit Befehlszeilenoptionen wie @code{--install} wird zuerst |
| 2943 | zurückgesetzt, bevor andere Aktionen durchgeführt werden. | 3054 | zurückgesetzt, bevor andere Aktionen durchgeführt werden. |
| @@ -2947,8 +3058,8 @@ wechselt das Profil zur @dfn{nullten Generation}, die keinerlei Dateien | |||
| 2947 | enthält, abgesehen von Metadaten über sich selbst. | 3058 | enthält, abgesehen von Metadaten über sich selbst. |
| 2948 | 3059 | ||
| 2949 | Nach dem Zurücksetzen überschreibt das Installieren, Entfernen oder | 3060 | Nach dem Zurücksetzen überschreibt das Installieren, Entfernen oder |
| 2950 | Aktualisieren von Paketen vormals zukünftige Generationen, d.h. der Verlauf | 3061 | Aktualisieren von Paketen vormals zukünftige Generationen, d.h.@: der |
| 2951 | der Generationen eines Profils ist immer linear. | 3062 | Verlauf der Generationen eines Profils ist immer linear. |
| 2952 | 3063 | ||
| 2953 | @item --switch-generation=@var{Muster} | 3064 | @item --switch-generation=@var{Muster} |
| 2954 | @itemx -S @var{Muster} | 3065 | @itemx -S @var{Muster} |
| @@ -2976,9 +3087,9 @@ festzulegen, die von einigen installierten Paketen benutzt werden. | |||
| 2976 | 3087 | ||
| 2977 | Zum Beispiel braucht GCC die Umgebungsvariablen @code{CPATH} und | 3088 | Zum Beispiel braucht GCC die Umgebungsvariablen @code{CPATH} und |
| 2978 | @code{LIBRARY_PATH}, um zu wissen, wo sich im Benutzerprofil Header und | 3089 | @code{LIBRARY_PATH}, um zu wissen, wo sich im Benutzerprofil Header und |
| 2979 | Bibliotheken befinden (@pxref{Environment Variables,,, gcc, Using the GNU | 3090 | Bibliotheken befinden (siehe @ref{Environment Variables,,, gcc, Using the |
| 2980 | Compiler Collection (GCC)}). Wenn GCC und, sagen wir, die C-Bibliothek im | 3091 | GNU Compiler Collection (GCC)}). Wenn GCC und, sagen wir, die C-Bibliothek |
| 2981 | Profil installiert sind, schlägt @code{--search-paths} also vor, diese | 3092 | im Profil installiert sind, schlägt @code{--search-paths} also vor, diese |
| 2982 | Variablen jeweils auf @code{@var{profile}/include} und | 3093 | Variablen jeweils auf @code{@var{profile}/include} und |
| 2983 | @code{@var{profile}/lib} verweisen zu lassen. | 3094 | @code{@var{profile}/lib} verweisen zu lassen. |
| 2984 | 3095 | ||
| @@ -3038,10 +3149,11 @@ Verfügbarkeit von Paketen nachzulesen: | |||
| 3038 | @item --search=@var{Regexp} | 3149 | @item --search=@var{Regexp} |
| 3039 | @itemx -s @var{Regexp} | 3150 | @itemx -s @var{Regexp} |
| 3040 | @cindex Suche nach Paketen | 3151 | @cindex Suche nach Paketen |
| 3041 | List the available packages whose name, synopsis, or description matches | 3152 | Führt alle verfügbaren Pakete auf, deren Name, Zusammenfassung oder |
| 3042 | @var{regexp} (in a case-insensitive fashion), sorted by relevance. Print | 3153 | Beschreibung zum regulären Ausdruck @var{Regexp} passt, ohne Groß- und |
| 3043 | all the metadata of matching packages in @code{recutils} format (@pxref{Top, | 3154 | Kleinschreibung zu unterscheiden und sortiert nach ihrer Relevanz. Alle |
| 3044 | GNU recutils databases,, recutils, GNU recutils manual}). | 3155 | Metadaten passender Pakete werden im @code{recutils}-Format geliefert (siehe |
| 3156 | @ref{Top, GNU recutils databases,, recutils, GNU recutils manual}). | ||
| 3045 | 3157 | ||
| 3046 | So können bestimmte Felder mit dem Befehl @command{recsel} extrahiert | 3158 | So können bestimmte Felder mit dem Befehl @command{recsel} extrahiert |
| 3047 | werden, zum Beispiel: | 3159 | werden, zum Beispiel: |
| @@ -3089,7 +3201,7 @@ Pakete, die mit »keyboards« (Tastaturen, oder musikalischen Keyboard) zu tun | |||
| 3089 | haben. | 3201 | haben. |
| 3090 | 3202 | ||
| 3091 | Es ist Zeit für ein komplexeres Beispiel. Folgender Befehl sucht | 3203 | Es ist Zeit für ein komplexeres Beispiel. Folgender Befehl sucht |
| 3092 | kryptographische Bibliotheken, filtert Haskell-, Perl-, Python- und | 3204 | kryptografische Bibliotheken, filtert Haskell-, Perl-, Python- und |
| 3093 | Ruby-Bibliotheken heraus und gibt Namen und Zusammenfassung passender Pakete | 3205 | Ruby-Bibliotheken heraus und gibt Namen und Zusammenfassung passender Pakete |
| 3094 | aus: | 3206 | aus: |
| 3095 | 3207 | ||
| @@ -3099,13 +3211,14 @@ $ guix package -s crypto -s library | \ | |||
| 3099 | @end example | 3211 | @end example |
| 3100 | 3212 | ||
| 3101 | @noindent | 3213 | @noindent |
| 3102 | @xref{Selection Expressions,,, recutils, GNU recutils manual} enthält | 3214 | Siehe @ref{Selection Expressions,,, recutils, GNU recutils manual}, es |
| 3103 | weitere Informationen über @dfn{Auswahlausdrücke} mit @code{recsel -e}. | 3215 | enthält weitere Informationen über @dfn{Auswahlausdrücke} mit @code{recsel |
| 3216 | -e}. | ||
| 3104 | 3217 | ||
| 3105 | @item --show=@var{Paket} | 3218 | @item --show=@var{Paket} |
| 3106 | Zeigt Details über das @var{Paket} aus der Liste verfügbarer Pakete, im | 3219 | Zeigt Details über das @var{Paket} aus der Liste verfügbarer Pakete, im |
| 3107 | @code{recutils}-Format (@pxref{Top, GNU recutils databases,, recutils, GNU | 3220 | @code{recutils}-Format (siehe @ref{Top, GNU recutils databases,, recutils, |
| 3108 | recutils manual}). | 3221 | GNU recutils manual}). |
| 3109 | 3222 | ||
| 3110 | @example | 3223 | @example |
| 3111 | $ guix package --show=python | recsel -p name,version | 3224 | $ guix package --show=python | recsel -p name,version |
| @@ -3137,20 +3250,20 @@ Zu jedem installierten Paket werden folgende Informationen angezeigt, durch | |||
| 3137 | Tabulatorzeichen getrennt: der Paketname, die Version als Zeichenkette, | 3250 | Tabulatorzeichen getrennt: der Paketname, die Version als Zeichenkette, |
| 3138 | welche Teile des Pakets installiert sind (zum Beispiel @code{out}, wenn die | 3251 | welche Teile des Pakets installiert sind (zum Beispiel @code{out}, wenn die |
| 3139 | Standard-Paketausgabe installiert ist, @code{include}, wenn seine Header | 3252 | Standard-Paketausgabe installiert ist, @code{include}, wenn seine Header |
| 3140 | installiert sind, usw.) und an welchem Pfad das Paket im Store zu finden | 3253 | installiert sind, usw.)@: und an welchem Pfad das Paket im Store zu finden |
| 3141 | ist. | 3254 | ist. |
| 3142 | 3255 | ||
| 3143 | @item --list-available[=@var{Regexp}] | 3256 | @item --list-available[=@var{Regexp}] |
| 3144 | @itemx -A [@var{Regexp}] | 3257 | @itemx -A [@var{Regexp}] |
| 3145 | Listet Pakete auf, die in der aktuell installierten Distribution dieses | 3258 | Listet Pakete auf, die in der aktuell installierten Distribution dieses |
| 3146 | Systems verfügbar sind (@pxref{GNU-Distribution}). Wenn ein regulärer | 3259 | Systems verfügbar sind (siehe @ref{GNU-Distribution}). Wenn ein regulärer |
| 3147 | Ausdruck @var{Regexp} angegeben wird, werden nur Pakete aufgeführt, deren | 3260 | Ausdruck @var{Regexp} angegeben wird, werden nur Pakete aufgeführt, deren |
| 3148 | Name zum regulären Ausdruck @var{Regexp} passt. | 3261 | Name zum regulären Ausdruck @var{Regexp} passt. |
| 3149 | 3262 | ||
| 3150 | Zu jedem Paket werden folgende Informationen getrennt durch Tabulatorzeichen | 3263 | Zu jedem Paket werden folgende Informationen getrennt durch Tabulatorzeichen |
| 3151 | ausgegeben: der Name, die Version als Zeichenkette, die Teile des Programms | 3264 | ausgegeben: der Name, die Version als Zeichenkette, die Teile des Programms |
| 3152 | (@pxref{Pakete mit mehreren Ausgaben.}) und die Stelle im Quellcode, an der | 3265 | (siehe @ref{Pakete mit mehreren Ausgaben.}) und die Stelle im Quellcode, an |
| 3153 | das Paket definiert ist. | 3266 | der das Paket definiert ist. |
| 3154 | 3267 | ||
| 3155 | @item --list-generations[=@var{Muster}] | 3268 | @item --list-generations[=@var{Muster}] |
| 3156 | @itemx -l [@var{Muster}] | 3269 | @itemx -l [@var{Muster}] |
| @@ -3162,7 +3275,8 @@ nullte Generation niemals angezeigt wird. | |||
| 3162 | 3275 | ||
| 3163 | Zu jedem installierten Paket werden folgende Informationen durch | 3276 | Zu jedem installierten Paket werden folgende Informationen durch |
| 3164 | Tabulatorzeichen getrennt angezeigt: der Name des Pakets, die Version als | 3277 | Tabulatorzeichen getrennt angezeigt: der Name des Pakets, die Version als |
| 3165 | Zeichenkette, welcher Teil des Pakets installiert ist (@pxref{Pakete mit mehreren Ausgaben.}) und an welcher Stelle sich das Paket im Store befindet. | 3278 | Zeichenkette, welcher Teil des Pakets installiert ist (siehe @ref{Pakete mit mehreren Ausgaben.}) und an welcher Stelle sich das Paket im Store |
| 3279 | befindet. | ||
| 3166 | 3280 | ||
| 3167 | Wenn ein @var{Muster} angegeben wird, liefert der Befehl nur dazu passende | 3281 | Wenn ein @var{Muster} angegeben wird, liefert der Befehl nur dazu passende |
| 3168 | Generationen. Gültige Muster sind zum Beispiel: | 3282 | Generationen. Gültige Muster sind zum Beispiel: |
| @@ -3212,13 +3326,13 @@ können. Dieser Befehl sollte also nur mit Vorsicht benutzt werden. | |||
| 3212 | @end table | 3326 | @end table |
| 3213 | 3327 | ||
| 3214 | Zu guter Letzt können Sie, da @command{guix package} Erstellungsprozesse zu | 3328 | Zu guter Letzt können Sie, da @command{guix package} Erstellungsprozesse zu |
| 3215 | starten vermag, auch alle gemeinsamen Erstellungsoptionen (@pxref{Gemeinsame Erstellungsoptionen}) verwenden. Auch Paketumwandlungsoptionen wie | 3329 | starten vermag, auch alle gemeinsamen Erstellungsoptionen (siehe @ref{Gemeinsame Erstellungsoptionen}) verwenden. Auch Paketumwandlungsoptionen wie |
| 3216 | @option{--with-source} sind möglich (@pxref{Paketumwandlungsoptionen}). Beachten Sie jedoch, dass die verwendeten | 3330 | @option{--with-source} sind möglich (siehe @ref{Paketumwandlungsoptionen}). Beachten Sie jedoch, dass die verwendeten |
| 3217 | Paketumwandlungsoptionen verloren gehen, nachdem Sie die Pakete aktualisiert | 3331 | Paketumwandlungsoptionen verloren gehen, nachdem Sie die Pakete aktualisiert |
| 3218 | haben. Damit Paketumwandlungen über Aktualisierungen hinweg erhalten | 3332 | haben. Damit Paketumwandlungen über Aktualisierungen hinweg erhalten |
| 3219 | bleiben, sollten Sie Ihre eigene Paketvariante in einem Guile-Modul | 3333 | bleiben, sollten Sie Ihre eigene Paketvariante in einem Guile-Modul |
| 3220 | definieren und zur Umgebungsvariablen @code{GUIX_PACKAGE_PATH} hinzufügen | 3334 | definieren und zur Umgebungsvariablen @code{GUIX_PACKAGE_PATH} hinzufügen |
| 3221 | (@pxref{Pakete definieren}). | 3335 | (siehe @ref{Pakete definieren}). |
| 3222 | 3336 | ||
| 3223 | @node Substitute | 3337 | @node Substitute |
| 3224 | @section Substitute | 3338 | @section Substitute |
| @@ -3233,7 +3347,7 @@ Erstellungsergebnisse. In vielen Fällen geht das Herunterladen eines | |||
| 3233 | Substituts wesentlich schneller, als Dinge lokal zu erstellen. | 3347 | Substituts wesentlich schneller, als Dinge lokal zu erstellen. |
| 3234 | 3348 | ||
| 3235 | Substitute können alles sein, was das Ergebnis einer Ableitungserstellung | 3349 | Substitute können alles sein, was das Ergebnis einer Ableitungserstellung |
| 3236 | ist (@pxref{Ableitungen}). Natürlich sind sie üblicherweise vorerstellte | 3350 | ist (siehe @ref{Ableitungen}). Natürlich sind sie üblicherweise vorerstellte |
| 3237 | Paket-Binärdateien, aber wenn zum Beispiel ein Quell-Tarball das Ergebnis | 3351 | Paket-Binärdateien, aber wenn zum Beispiel ein Quell-Tarball das Ergebnis |
| 3238 | einer Ableitungserstellung ist, kann auch er als Substitut verfügbar sein. | 3352 | einer Ableitungserstellung ist, kann auch er als Substitut verfügbar sein. |
| 3239 | 3353 | ||
| @@ -3253,14 +3367,16 @@ einer Ableitungserstellung ist, kann auch er als Substitut verfügbar sein. | |||
| 3253 | 3367 | ||
| 3254 | @cindex Hydra | 3368 | @cindex Hydra |
| 3255 | @cindex Build-Farm | 3369 | @cindex Build-Farm |
| 3256 | The @code{@value{SUBSTITUTE-SERVER}} server is a front-end to an official | 3370 | Der Server @code{@value{SUBSTITUTE-SERVER}} ist die Fassade für eine |
| 3257 | build farm that builds packages from Guix continuously for some | 3371 | offizielle »Build-Farm«, ein Erstellungswerk, das kontinuierlich Guix-Pakete |
| 3258 | architectures, and makes them available as substitutes. This is the default | 3372 | für einige Prozessorarchitekturen erstellt und sie als Substitute zur |
| 3259 | source of substitutes; it can be overridden by passing the | 3373 | Verfügung stellt. Dies ist die standardmäßige Quelle von Substituten; durch |
| 3260 | @option{--substitute-urls} option either to @command{guix-daemon} | 3374 | Übergeben der Befehlszeilenoption @option{--substitute-urls} an entweder den |
| 3261 | (@pxref{daemon-substitute-urls,, @code{guix-daemon --substitute-urls}}) or | 3375 | @command{guix-daemon} (siehe @ref{daemon-substitute-urls,, @code{guix-daemon |
| 3262 | to client tools such as @command{guix package} | 3376 | --substitute-urls}}) oder Client-Werkzeuge wie @command{guix package} (siehe |
| 3263 | (@pxref{client-substitute-urls,, client @option{--substitute-urls} option}). | 3377 | @ref{client-substitute-urls,, die Befehlszeilenoption |
| 3378 | @option{--substitute-urls} beim Client}) kann eine abweichende Einstellung | ||
| 3379 | benutzt werden. | ||
| 3264 | 3380 | ||
| 3265 | Substitut-URLs können entweder HTTP oder HTTPS sein. HTTPS wird empfohlen, | 3381 | Substitut-URLs können entweder HTTP oder HTTPS sein. HTTPS wird empfohlen, |
| 3266 | weil die Kommunikation verschlüsselt ist; umgekehrt kann bei HTTP die | 3382 | weil die Kommunikation verschlüsselt ist; umgekehrt kann bei HTTP die |
| @@ -3269,13 +3385,12 @@ könnte, ob Ihr System über noch nicht behobene Sicherheitsschwachstellen | |||
| 3269 | verfügt. | 3385 | verfügt. |
| 3270 | 3386 | ||
| 3271 | Substitute von der offiziellen Build-Farm sind standardmäßig erlaubt, wenn | 3387 | Substitute von der offiziellen Build-Farm sind standardmäßig erlaubt, wenn |
| 3272 | Sie die Guix-System-Distribution verwenden (@pxref{GNU-Distribution}). Auf | 3388 | Sie die Guix-System-Distribution verwenden (siehe @ref{GNU-Distribution}). Auf Fremddistributionen sind sie allerdings standardmäßig |
| 3273 | Fremddistributionen sind sie allerdings standardmäßig ausgeschaltet, solange | 3389 | ausgeschaltet, solange Sie sie nicht ausdrücklich in einem der empfohlenen |
| 3274 | Sie sie nicht ausdrücklich in einem der empfohlenen Installationsschritte | 3390 | Installationsschritte erlaubt haben (siehe @ref{Installation}). Die |
| 3275 | erlaubt haben (@pxref{Installation}). Die folgenden Absätze beschreiben, wie | 3391 | folgenden Absätze beschreiben, wie Sie Substitute für die offizielle |
| 3276 | Sie Substitute für die offizielle Build-Farm an- oder ausschalten; dieselbe | 3392 | Build-Farm an- oder ausschalten; dieselbe Prozedur kann auch benutzt werden, |
| 3277 | Prozedur kann auch benutzt werden, um Substitute für einen beliebigen | 3393 | um Substitute für einen beliebigen anderen Substitutsserver zu erlauben. |
| 3278 | anderen Substitutsserver zu erlauben. | ||
| 3279 | 3394 | ||
| 3280 | @node Substitut-Server autorisieren | 3395 | @node Substitut-Server autorisieren |
| 3281 | @subsection Substitut-Server autorisieren | 3396 | @subsection Substitut-Server autorisieren |
| @@ -3284,28 +3399,32 @@ anderen Substitutsserver zu erlauben. | |||
| 3284 | @cindex Substitute, deren Autorisierung | 3399 | @cindex Substitute, deren Autorisierung |
| 3285 | @cindex Access Control List (ACL), für Substitute | 3400 | @cindex Access Control List (ACL), für Substitute |
| 3286 | @cindex ACL (Access Control List), für Substitute | 3401 | @cindex ACL (Access Control List), für Substitute |
| 3287 | To allow Guix to download substitutes from @code{@value{SUBSTITUTE-SERVER}} | 3402 | Um es Guix zu gestatten, Substitute von @code{@value{SUBSTITUTE-SERVER}} |
| 3288 | or a mirror thereof, you must add its public key to the access control list | 3403 | oder einem Spiegelserver davon herunterzuladen, müssen Sie den zugehörigen |
| 3289 | (ACL) of archive imports, using the @command{guix archive} command | 3404 | öffentlichen Schlüssel zur Access Control List (ACL, |
| 3290 | (@pxref{Aufruf von guix archive}). Doing so implies that you trust | 3405 | Zugriffssteuerungsliste) für Archivimporte hinzufügen, mit Hilfe des Befehls |
| 3291 | @code{@value{SUBSTITUTE-SERVER}} to not be compromised and to serve genuine | 3406 | @command{guix archive} (siehe @ref{Aufruf von guix archive}). Dies impliziert, |
| 3292 | substitutes. | 3407 | dass Sie darauf vertrauen, dass @code{@value{SUBSTITUTE-SERVER}} nicht |
| 3293 | 3408 | kompromittiert wurde und echte Substitute liefert. | |
| 3294 | The public key for @code{@value{SUBSTITUTE-SERVER}} is installed along with | 3409 | |
| 3295 | Guix, in @code{@var{prefix}/share/guix/@value{SUBSTITUTE-SERVER}.pub}, where | 3410 | Der öffentliche Schlüssel für @code{@value{SUBSTITUTE-SERVER}} wird zusammen |
| 3296 | @var{prefix} is the installation prefix of Guix. If you installed Guix from | 3411 | mit Guix installiert, in das Verzeichnis |
| 3297 | source, make sure you checked the GPG signature of | 3412 | @code{@var{prefix}/share/guix/hydra.gnu.org.pub}, wobei @var{prefix} das bei |
| 3298 | @file{guix-@value{VERSION}.tar.gz}, which contains this public key file. | 3413 | der Installation angegebene Präfix von Guix ist. Wenn Sie Guix aus seinem |
| 3299 | Then, you can run something like this: | 3414 | Quellcode heraus installieren, sollten Sie sichergehen, dass Sie die |
| 3415 | GPG-Signatur (auch »Beglaubigung« genannt) von | ||
| 3416 | @file{guix-@value{VERSION}.tar.gz} prüfen, worin sich dieser öffentliche | ||
| 3417 | Schlüssel befindet. Dann können Sie so etwas wie hier ausführen: | ||
| 3300 | 3418 | ||
| 3301 | @example | 3419 | @example |
| 3302 | # guix archive --authorize < @var{prefix}/share/guix/@value{SUBSTITUTE-SERVER}.pub | 3420 | # guix archive --authorize < @var{prefix}/share/guix/@value{SUBSTITUTE-SERVER}.pub |
| 3303 | @end example | 3421 | @end example |
| 3304 | 3422 | ||
| 3305 | @quotation Anmerkung | 3423 | @quotation Anmerkung |
| 3306 | Similarly, the @file{hydra.gnu.org.pub} file contains the public key of an | 3424 | Genauso enthält die Datei @file{hydra.gnu.org.pub} den öffentlichen |
| 3307 | independent build farm also run by the project, reachable at | 3425 | Schlüssel für eine unabhängige Build-Farm, die auch vom Guix-Projekt |
| 3308 | @indicateurl{https://mirror.hydra.gnu.org}. | 3426 | betrieben wird. Sie ist unter @indicateurl{https://mirror.hydra.gnu.org} |
| 3427 | erreichbar ist. | ||
| 3309 | @end quotation | 3428 | @end quotation |
| 3310 | 3429 | ||
| 3311 | Sobald es eingerichtet wurde, sollte sich die Ausgabe eines Befehls wie | 3430 | Sobald es eingerichtet wurde, sollte sich die Ausgabe eines Befehls wie |
| @@ -3335,15 +3454,16 @@ $ guix build emacs --dry-run | |||
| 3335 | @end example | 3454 | @end example |
| 3336 | 3455 | ||
| 3337 | @noindent | 3456 | @noindent |
| 3338 | This indicates that substitutes from @code{@value{SUBSTITUTE-SERVER}} are | 3457 | Das zeigt an, dass Substitute von @code{@value{SUBSTITUTE-SERVER}} nutzbar |
| 3339 | usable and will be downloaded, when possible, for future builds. | 3458 | sind und für zukünftige Erstellungen heruntergeladen werden, wann immer es |
| 3459 | möglich ist. | ||
| 3340 | 3460 | ||
| 3341 | @cindex Substitute, wie man sie ausschaltet | 3461 | @cindex Substitute, wie man sie ausschaltet |
| 3342 | Der Substitutsmechanismus kann global ausgeschaltet werden, indem Sie dem | 3462 | Der Substitutsmechanismus kann global ausgeschaltet werden, indem Sie dem |
| 3343 | @code{guix-daemon} beim Starten die Befehlszeilenoption | 3463 | @code{guix-daemon} beim Starten die Befehlszeilenoption |
| 3344 | @code{--no-substitutes} übergeben (@pxref{Aufruf des guix-daemon}). Er kann | 3464 | @code{--no-substitutes} übergeben (siehe @ref{Aufruf des guix-daemon}). Er |
| 3345 | auch temporär ausgeschaltet werden, indem Sie @code{--no-substitutes} an | 3465 | kann auch temporär ausgeschaltet werden, indem Sie @code{--no-substitutes} |
| 3346 | @command{guix package}, @command{guix build} und andere | 3466 | an @command{guix package}, @command{guix build} und andere |
| 3347 | Befehlszeilenwerkzeuge übergeben. | 3467 | Befehlszeilenwerkzeuge übergeben. |
| 3348 | 3468 | ||
| 3349 | @node Substitutauthentifizierung | 3469 | @node Substitutauthentifizierung |
| @@ -3405,7 +3525,7 @@ sein, usw. | |||
| 3405 | Wenn Substitute aktiviert sind und ein Substitut für eine Ableitung zwar | 3525 | Wenn Substitute aktiviert sind und ein Substitut für eine Ableitung zwar |
| 3406 | verfügbar ist, aber die versuchte Substitution fehlschlägt, kann Guix | 3526 | verfügbar ist, aber die versuchte Substitution fehlschlägt, kann Guix |
| 3407 | versuchen, die Ableitung lokal zu erstellen, je nachdem, ob | 3527 | versuchen, die Ableitung lokal zu erstellen, je nachdem, ob |
| 3408 | @code{--fallback} übergeben wurde (@pxref{fallback-option,, common build | 3528 | @code{--fallback} übergeben wurde (siehe @ref{fallback-option,, common build |
| 3409 | option @code{--fallback}}). Genauer gesagt, wird keine lokale Erstellung | 3529 | option @code{--fallback}}). Genauer gesagt, wird keine lokale Erstellung |
| 3410 | durchgeführt, solange kein @code{--fallback} angegeben wurde, und die | 3530 | durchgeführt, solange kein @code{--fallback} angegeben wurde, und die |
| 3411 | Ableitung wird als Fehlschlag angesehen. Wenn @code{--fallback} übergeben | 3531 | Ableitung wird als Fehlschlag angesehen. Wenn @code{--fallback} übergeben |
| @@ -3417,39 +3537,41 @@ lokale Erstellung durchgeführt wird, egal ob @code{--fallback} übergeben | |||
| 3417 | wurde oder nicht. | 3537 | wurde oder nicht. |
| 3418 | 3538 | ||
| 3419 | Um eine Vorstellung zu bekommen, wieviele Substitute gerade verfügbar sind, | 3539 | Um eine Vorstellung zu bekommen, wieviele Substitute gerade verfügbar sind, |
| 3420 | können Sie den Befehl @command{guix weather} benutzen (@pxref{Aufruf von guix weather}). Dieser Befehl zeigt Statistiken darüber an, wie es um die von | 3540 | können Sie den Befehl @command{guix weather} benutzen (siehe @ref{Aufruf von guix weather}). Dieser Befehl zeigt Statistiken darüber an, wie es um die |
| 3421 | einem Server verfügbaren Substitute steht. | 3541 | von einem Server verfügbaren Substitute steht. |
| 3422 | 3542 | ||
| 3423 | @node Vom Vertrauen gegenüber Binärdateien | 3543 | @node Vom Vertrauen gegenüber Binärdateien |
| 3424 | @subsection Vom Vertrauen gegenüber Binärdateien | 3544 | @subsection Vom Vertrauen gegenüber Binärdateien |
| 3425 | 3545 | ||
| 3426 | @cindex Vertrauen, gegenüber vorerstellten Binärdateien | 3546 | @cindex Vertrauen, gegenüber vorerstellten Binärdateien |
| 3427 | Today, each individual's control over their own computing is at the mercy of | 3547 | Derzeit hängt die Kontrolle jedes Individuums über seine Rechner von |
| 3428 | institutions, corporations, and groups with enough power and determination | 3548 | Institutionen, Unternehmen und solchen Gruppierungen ab, die über genug |
| 3429 | to subvert the computing infrastructure and exploit its weaknesses. While | 3549 | Macht und Entschlusskraft verfügen, die Rechnerinfrastruktur zu sabotieren |
| 3430 | using @code{@value{SUBSTITUTE-SERVER}} substitutes can be convenient, we | 3550 | und ihre Schwachstellen auszunutzen. Auch wenn es bequem ist, Substitute von |
| 3431 | encourage users to also build on their own, or even run their own build | 3551 | @code{@value{SUBSTITUTE-SERVER}} zu benutzen, ermuntern wir Nutzer, auch |
| 3432 | farm, such that @code{@value{SUBSTITUTE-SERVER}} is less of an interesting | 3552 | selbst Erstellungen durchzuführen oder gar ihre eigene Build-Farm zu |
| 3433 | target. One way to help is by publishing the software you build using | 3553 | betreiben, damit @code{@value{SUBSTITUTE-SERVER}} ein weniger interessantes |
| 3434 | @command{guix publish} so that others have one more choice of server to | 3554 | Ziel wird. Eine Art, uns zu helfen, ist, die von Ihnen erstellte Software |
| 3435 | download substitutes from (@pxref{Aufruf von guix publish}). | 3555 | mit dem Befehl @command{guix publish} zu veröffentlichen, damit andere eine |
| 3556 | größere Auswahl haben, von welchem Server sie Substitute beziehen möchten | ||
| 3557 | (siehe @ref{Aufruf von guix publish}). | ||
| 3436 | 3558 | ||
| 3437 | Guix hat die richtigen Grundlagen, um die Reproduzierbarkeit von | 3559 | Guix hat die richtigen Grundlagen, um die Reproduzierbarkeit von |
| 3438 | Erstellungen zu maximieren (@pxref{Funktionalitäten}). In den meisten Fällen sollten | 3560 | Erstellungen zu maximieren (siehe @ref{Funktionalitäten}). In den meisten Fällen |
| 3439 | unabhängige Erstellungen eines bestimmten Pakets zu bitweise identischen | 3561 | sollten unabhängige Erstellungen eines bestimmten Pakets zu bitweise |
| 3440 | Ergebnissen führen. Wir können also mit Hilfe einer vielschichtigen Menge an | 3562 | identischen Ergebnissen führen. Wir können also mit Hilfe einer |
| 3441 | unabhängigen Paketerstellungen die Integrität unseres Systems besser | 3563 | vielschichtigen Menge an unabhängigen Paketerstellungen die Integrität |
| 3442 | gewährleisten. Der Befehl @command{guix challenge} hat das Ziel, Nutzern zu | 3564 | unseres Systems besser gewährleisten. Der Befehl @command{guix challenge} |
| 3443 | ermöglichen, Substitutserver zu beurteilen, und Entwickler dabei zu | 3565 | hat das Ziel, Nutzern zu ermöglichen, Substitutserver zu beurteilen, und |
| 3444 | unterstützen, nichtdeterministische Paketerstellungen zu finden | 3566 | Entwickler dabei zu unterstützen, nichtdeterministische Paketerstellungen zu |
| 3445 | (@pxref{Aufruf von guix challenge}). Ebenso ermöglicht es die | 3567 | finden (siehe @ref{Aufruf von guix challenge}). Ebenso ermöglicht es die |
| 3446 | Befehlszeilenoption @option{--check} von @command{guix build}, dass Nutzer | 3568 | Befehlszeilenoption @option{--check} von @command{guix build}, dass Nutzer |
| 3447 | bereits installierte Substitute auf Echtheit zu prüfen, indem sie lokal | 3569 | bereits installierte Substitute auf Echtheit zu prüfen, indem sie lokal |
| 3448 | nachgebaut werden (@pxref{build-check, @command{guix build --check}}). | 3570 | nachgebaut werden (siehe @ref{build-check, @command{guix build --check}}). |
| 3449 | 3571 | ||
| 3450 | In Zukunft wollen wir, dass Guix Binärdateien an und von Nutzern | 3572 | In Zukunft wollen wir, dass Guix Binärdateien an und von Nutzern |
| 3451 | peer-to-peer veröffentlichen kann. Wenn Sie mit uns dieses Projekt | 3573 | peer-to-peer veröffentlichen kann. Wenn Sie mit uns dieses Projekt |
| 3452 | diskuttieren möchten, kommen Sie auf unsere Mailing-Liste | 3574 | diskutieren möchten, kommen Sie auf unsere Mailing-Liste |
| 3453 | @email{guix-devel@@gnu.org}. | 3575 | @email{guix-devel@@gnu.org}. |
| 3454 | 3576 | ||
| 3455 | @node Pakete mit mehreren Ausgaben. | 3577 | @node Pakete mit mehreren Ausgaben. |
| @@ -3459,14 +3581,14 @@ diskuttieren möchten, kommen Sie auf unsere Mailing-Liste | |||
| 3459 | @cindex Paketausgaben | 3581 | @cindex Paketausgaben |
| 3460 | @cindex Ausgaben | 3582 | @cindex Ausgaben |
| 3461 | 3583 | ||
| 3462 | Oft haben in Guix definierte Pakete eine einzige @dfn{Ausgabe} — d.h. aus | 3584 | Oft haben in Guix definierte Pakete eine einzige @dfn{Ausgabe} — d.h.@: aus |
| 3463 | dem Quellpaket entsteht genau ein Verzeichnis im Store. Wenn Sie | 3585 | dem Quellpaket entsteht genau ein Verzeichnis im Store. Wenn Sie |
| 3464 | @command{guix package -i glibc} ausführen, wird die Standard-Paketausgabe | 3586 | @command{guix package -i glibc} ausführen, wird die Standard-Paketausgabe |
| 3465 | des GNU-libc-Pakets installiert; die Standardausgabe wird @code{out} | 3587 | des GNU-libc-Pakets installiert; die Standardausgabe wird @code{out} |
| 3466 | genannt, aber ihr Name kann weggelassen werden, wie sie an obigem Befehl | 3588 | genannt, aber ihr Name kann weggelassen werden, wie sie an obigem Befehl |
| 3467 | sehen. In diesem speziellen Fall enthält die Standard-Paketausgabe von | 3589 | sehen. In diesem speziellen Fall enthält die Standard-Paketausgabe von |
| 3468 | @code{glibc} alle C-Headerdateien, gemeinsamen Bibliotheken (»Shared | 3590 | @code{glibc} alle C-Headerdateien, gemeinsamen Bibliotheken (»Shared |
| 3469 | Libraries«), statische Bibliotheken (»Static Libraries«), Dokumentation für | 3591 | Libraries«), statischen Bibliotheken (»Static Libraries«), Dokumentation für |
| 3470 | Info sowie andere zusätzliche Dateien. | 3592 | Info sowie andere zusätzliche Dateien. |
| 3471 | 3593 | ||
| 3472 | Manchmal ist es besser, die verschiedenen Arten von Dateien, die aus einem | 3594 | Manchmal ist es besser, die verschiedenen Arten von Dateien, die aus einem |
| @@ -3498,16 +3620,16 @@ belassen wir deshalb die Befehlszeilenwerkzeuge in der | |||
| 3498 | Standard-Paketausgabe, während sich die GUIs in einer separaten Ausgabe | 3620 | Standard-Paketausgabe, während sich die GUIs in einer separaten Ausgabe |
| 3499 | befinden. So können Benutzer, die die GUIs nicht brauchen, Platz sparen. Der | 3621 | befinden. So können Benutzer, die die GUIs nicht brauchen, Platz sparen. Der |
| 3500 | Befehl @command{guix size} kann dabei helfen, solche Situationen zu erkennen | 3622 | Befehl @command{guix size} kann dabei helfen, solche Situationen zu erkennen |
| 3501 | (@pxref{Aufruf von guix size}). @command{guix graph} kann auch helfen | 3623 | (siehe @ref{Aufruf von guix size}). @command{guix graph} kann auch helfen |
| 3502 | (@pxref{Aufruf von guix graph}). | 3624 | (siehe @ref{Aufruf von guix graph}). |
| 3503 | 3625 | ||
| 3504 | In der GNU-Distribution gibt es viele solche Pakete mit mehreren | 3626 | In der GNU-Distribution gibt es viele solche Pakete mit mehreren |
| 3505 | Ausgaben. Andere Konventionen für Ausgabenamen sind zum Beispiel @code{lib} | 3627 | Ausgaben. Andere Konventionen für Ausgabenamen sind zum Beispiel @code{lib} |
| 3506 | für Bibliotheken und eventuell auch ihre Header-Dateien,, @code{bin} für | 3628 | für Bibliotheken und eventuell auch ihre Header-Dateien,, @code{bin} für |
| 3507 | eigenständige Programme und @code{debug} für Informationen zur | 3629 | eigenständige Programme und @code{debug} für Informationen zur |
| 3508 | Fehlerbehandlung (@pxref{Dateien zur Fehlersuche installieren}). Die Ausgaben eines | 3630 | Fehlerbehandlung (siehe @ref{Dateien zur Fehlersuche installieren}). Die Ausgaben |
| 3509 | Pakets stehen in der dritten Spalte der Anzeige von @command{guix package | 3631 | eines Pakets stehen in der dritten Spalte der Anzeige von @command{guix |
| 3510 | --list-available} (@pxref{Aufruf von guix package}). | 3632 | package --list-available} (siehe @ref{Aufruf von guix package}). |
| 3511 | 3633 | ||
| 3512 | 3634 | ||
| 3513 | @node Aufruf von guix gc | 3635 | @node Aufruf von guix gc |
| @@ -3532,12 +3654,14 @@ Müllsammlerwurzeln (kurz auch »GC-Wurzeln«, von englisch »Garbage | |||
| 3532 | Collector«) umfasst Standard-Benutzerprofile; standardmäßig werden diese | 3654 | Collector«) umfasst Standard-Benutzerprofile; standardmäßig werden diese |
| 3533 | Müllsammlerwurzeln durch symbolische Verknüpfungen in | 3655 | Müllsammlerwurzeln durch symbolische Verknüpfungen in |
| 3534 | @file{/var/guix/gcroots} dargestellt. Neue Müllsammlerwurzeln können zum | 3656 | @file{/var/guix/gcroots} dargestellt. Neue Müllsammlerwurzeln können zum |
| 3535 | Beispiel mit @command{guix build --root} festgelegt werden (@pxref{Aufruf von guix build}). | 3657 | Beispiel mit @command{guix build --root} festgelegt werden (siehe |
| 3658 | @ref{Aufruf von guix build}). Der Befehl @command{guix gc --list-roots} listet | ||
| 3659 | sie auf. | ||
| 3536 | 3660 | ||
| 3537 | Bevor Sie mit @code{guix gc --collect-garbage} Speicher freimachen, wollen | 3661 | Bevor Sie mit @code{guix gc --collect-garbage} Speicher freimachen, wollen |
| 3538 | Sie vielleicht alte Generationen von Benutzerprofilen löschen, damit alte | 3662 | Sie vielleicht alte Generationen von Benutzerprofilen löschen, damit alte |
| 3539 | Paketerstellungen von diesen Generationen entfernt werden können. Führen Sie | 3663 | Paketerstellungen von diesen Generationen entfernt werden können. Führen Sie |
| 3540 | dazu @code{guix package --delete-generations} aus (@pxref{Aufruf von guix package}). | 3664 | dazu @code{guix package --delete-generations} aus (siehe @ref{Aufruf von guix package}). |
| 3541 | 3665 | ||
| 3542 | Unsere Empfehlung ist, dass Sie den Müllsammler regelmäßig laufen lassen und | 3666 | Unsere Empfehlung ist, dass Sie den Müllsammler regelmäßig laufen lassen und |
| 3543 | wenn Sie wenig freien Speicherplatz zur Verfügung haben. Um zum Beispiel | 3667 | wenn Sie wenig freien Speicherplatz zur Verfügung haben. Um zum Beispiel |
| @@ -3548,12 +3672,14 @@ Verfügung haben, benutzen Sie einfach: | |||
| 3548 | guix gc -F 5G | 3672 | guix gc -F 5G |
| 3549 | @end example | 3673 | @end example |
| 3550 | 3674 | ||
| 3551 | It is perfectly safe to run as a non-interactive periodic job | 3675 | Es ist völlig sicher, dafür eine nicht interaktive, regelmäßige |
| 3552 | (@pxref{Geplante Auftragsausführung}, for how to set up such a job). Running | 3676 | Auftragsausführung vorzugeben (siehe @ref{Geplante Auftragsausführung} für eine |
| 3553 | @command{guix gc} with no arguments will collect as much garbage as it can, | 3677 | Erklärung, wie man das tun kann). @command{guix gc} ohne |
| 3554 | but that is often inconvenient: you may find yourself having to rebuild or | 3678 | Befehlszeilenargumente auszuführen, lässt so viel Müll wie möglich sammeln, |
| 3555 | re-download software that is ``dead'' from the GC viewpoint but that is | 3679 | aber das ist oft nicht, was man will, denn so muss man unter Umständen |
| 3556 | necessary to build other pieces of software---e.g., the compiler tool chain. | 3680 | Software erneut erstellen oder erneut herunterladen, weil der Müllsammler |
| 3681 | sie als »tot« ansieht, sie aber zur Erstellung anderer Software wieder | ||
| 3682 | gebraucht wird — das trifft zum Beispiel auf die Compiler-Toolchain zu. | ||
| 3557 | 3683 | ||
| 3558 | Der Befehl @command{guix gc} hat drei Arbeitsmodi: Er kann benutzt werden, | 3684 | Der Befehl @command{guix gc} hat drei Arbeitsmodi: Er kann benutzt werden, |
| 3559 | um als Müllsammler tote Dateien zu entfernen (das Standardverhalten), um | 3685 | um als Müllsammler tote Dateien zu entfernen (das Standardverhalten), um |
| @@ -3565,14 +3691,14 @@ Müllsammler-Befehlszeilenoptionen sind wie folgt: | |||
| 3565 | @table @code | 3691 | @table @code |
| 3566 | @item --collect-garbage[=@var{Minimum}] | 3692 | @item --collect-garbage[=@var{Minimum}] |
| 3567 | @itemx -C [@var{Minimum}] | 3693 | @itemx -C [@var{Minimum}] |
| 3568 | Lässt Müll sammeln — z.B. nicht erreichbare Dateien in @file{/gnu/store} und | 3694 | Lässt Müll sammeln — z.B.@: nicht erreichbare Dateien in @file{/gnu/store} |
| 3569 | seinen Unterverzeichnissen. Wird keine andere Befehlszeilenoption angegeben, | 3695 | und seinen Unterverzeichnissen. Wird keine andere Befehlszeilenoption |
| 3570 | wird standardmäßig diese durchgeführt. | 3696 | angegeben, wird standardmäßig diese durchgeführt. |
| 3571 | 3697 | ||
| 3572 | Wenn ein @var{Minimum} angegeben wurde, hört der Müllsammler auf, sobald | 3698 | Wenn ein @var{Minimum} angegeben wurde, hört der Müllsammler auf, sobald |
| 3573 | @var{Minimum} Bytes gesammelt wurden. Das @var{Minimum} kann die Anzahl der | 3699 | @var{Minimum} Bytes gesammelt wurden. Das @var{Minimum} kann die Anzahl der |
| 3574 | Bytes bezeichnen oder mit einer Einheit als Suffix versehen sein, wie etwa | 3700 | Bytes bezeichnen oder mit einer Einheit als Suffix versehen sein, wie etwa |
| 3575 | @code{MiB} für Mebibytes und @code{GB} für Gigabytes (@pxref{Block size, | 3701 | @code{MiB} für Mebibytes und @code{GB} für Gigabytes (siehe @ref{Block size, |
| 3576 | size specifications,, coreutils, GNU Coreutils}). | 3702 | size specifications,, coreutils, GNU Coreutils}). |
| 3577 | 3703 | ||
| 3578 | Wird kein @var{Minimum} angegeben, sammelt der Müllsammler allen Müll. | 3704 | Wird kein @var{Minimum} angegeben, sammelt der Müllsammler allen Müll. |
| @@ -3586,8 +3712,24 @@ eine Speichergröße wie @code{500MiB}, wie oben beschrieben. | |||
| 3586 | Wenn die angegebene @var{Menge} oder mehr bereits in @file{/gnu/store} frei | 3712 | Wenn die angegebene @var{Menge} oder mehr bereits in @file{/gnu/store} frei |
| 3587 | verfügbar ist, passiert nichts. | 3713 | verfügbar ist, passiert nichts. |
| 3588 | 3714 | ||
| 3715 | @item --delete-generations[=@var{Dauer}] | ||
| 3716 | @itemx -d [@var{Dauer}] | ||
| 3717 | Bevor der Müllsammelvorgang beginnt, werden hiermit alle Generationen von | ||
| 3718 | allen Benutzerprofilen gelöscht, die älter sind als die angegebene | ||
| 3719 | @var{Dauer}; wird es als Administratornutzer »root« ausgeführt, geschieht | ||
| 3720 | dies mit den Profilen @emph{von allen Benutzern}. | ||
| 3721 | |||
| 3722 | Zum Beispiel löscht der folgende Befehl alle Generationen Ihrer Profile, die | ||
| 3723 | älter als zwei Monate sind (ausgenommen die momentanen Generationen), und | ||
| 3724 | schmeißt dann den Müllsammler an, um Platz freizuräumen, bis mindestens 10 | ||
| 3725 | GiB verfügbar sind: | ||
| 3726 | |||
| 3727 | @example | ||
| 3728 | guix gc -d 2m -F 10G | ||
| 3729 | @end example | ||
| 3730 | |||
| 3589 | @item --delete | 3731 | @item --delete |
| 3590 | @itemx -d | 3732 | @itemx -D |
| 3591 | Versucht, alle als Argumente angegebenen Dateien oder Verzeichnisse im Store | 3733 | Versucht, alle als Argumente angegebenen Dateien oder Verzeichnisse im Store |
| 3592 | zu löschen. Dies schlägt fehl, wenn manche der Dateien oder Verzeichnisse | 3734 | zu löschen. Dies schlägt fehl, wenn manche der Dateien oder Verzeichnisse |
| 3593 | nicht im Store oder noch immer lebendig sind. | 3735 | nicht im Store oder noch immer lebendig sind. |
| @@ -3597,9 +3739,14 @@ Store-Objekte auflisten, die zwischengespeicherten Erstellungsfehlern | |||
| 3597 | entsprechen. | 3739 | entsprechen. |
| 3598 | 3740 | ||
| 3599 | Hierbei wird nichts ausgegeben, sofern der Daemon nicht mit | 3741 | Hierbei wird nichts ausgegeben, sofern der Daemon nicht mit |
| 3600 | @option{--cache-failures} gestartet wurde (@pxref{Aufruf des guix-daemon, | 3742 | @option{--cache-failures} gestartet wurde (siehe @ref{Aufruf des guix-daemon, |
| 3601 | @option{--cache-failures}}). | 3743 | @option{--cache-failures}}). |
| 3602 | 3744 | ||
| 3745 | @item --list-roots | ||
| 3746 | Die Müllsammlerwurzeln auflisten, die dem Nutzer gehören. Wird der Befehl | ||
| 3747 | als Administratornutzer ausgeführt, werden @emph{alle} Müllsammlerwurzeln | ||
| 3748 | aufgelistet. | ||
| 3749 | |||
| 3603 | @item --clear-failures | 3750 | @item --clear-failures |
| 3604 | Die angegebenen Store-Objekte aus dem Zwischenspeicher für fehlgeschlagene | 3751 | Die angegebenen Store-Objekte aus dem Zwischenspeicher für fehlgeschlagene |
| 3605 | Erstellungen entfernen. | 3752 | Erstellungen entfernen. |
| @@ -3634,15 +3781,15 @@ auf. Voraussetzungen sind die Store-Dateien selbst, ihre Referenzen sowie | |||
| 3634 | die Referenzen davon, rekursiv. Mit anderen Worten, die zurückgelieferte | 3781 | die Referenzen davon, rekursiv. Mit anderen Worten, die zurückgelieferte |
| 3635 | Liste ist der @dfn{transitive Abschluss} dieser Store-Dateien. | 3782 | Liste ist der @dfn{transitive Abschluss} dieser Store-Dateien. |
| 3636 | 3783 | ||
| 3637 | Der Abschnitt @xref{Aufruf von guix size} erklärt ein Werkzeug, um den | 3784 | Der Abschnitt @ref{Aufruf von guix size} erklärt ein Werkzeug, um den |
| 3638 | Speicherbedarf des Abschlusses eines Elements zu ermitteln. Siehe | 3785 | Speicherbedarf des Abschlusses eines Elements zu ermitteln. Siehe |
| 3639 | @xref{Aufruf von guix graph} für ein Werkzeug, um den Referenzgraphen zu | 3786 | @ref{Aufruf von guix graph} für ein Werkzeug, um den Referenzgraphen zu |
| 3640 | veranschaulichen. | 3787 | veranschaulichen. |
| 3641 | 3788 | ||
| 3642 | @item --derivers | 3789 | @item --derivers |
| 3643 | @cindex Ableitung | 3790 | @cindex Ableitung |
| 3644 | Liefert die Ableitung(en), die zu den angegebenen Store-Objekten führen | 3791 | Liefert die Ableitung(en), die zu den angegebenen Store-Objekten führen |
| 3645 | (@pxref{Ableitungen}). | 3792 | (siehe @ref{Ableitungen}). |
| 3646 | 3793 | ||
| 3647 | Zum Beispiel liefert dieser Befehl: | 3794 | Zum Beispiel liefert dieser Befehl: |
| 3648 | 3795 | ||
| @@ -3687,11 +3834,11 @@ der Befehl viel Zeit brauchen, besonders auf Systemen mit langsamer Platte. | |||
| 3687 | @cindex Datenbeschädigung, Behebung | 3834 | @cindex Datenbeschädigung, Behebung |
| 3688 | Mit @option{--verify=repair} oder @option{--verify=contents,repair} versucht | 3835 | Mit @option{--verify=repair} oder @option{--verify=contents,repair} versucht |
| 3689 | der Daemon, beschädigte Store-Objekte zu reparieren, indem er Substitute für | 3836 | der Daemon, beschädigte Store-Objekte zu reparieren, indem er Substitute für |
| 3690 | selbige herunterlädt (@pxref{Substitute}). Weil die Reparatur nicht atomar | 3837 | selbige herunterlädt (siehe @ref{Substitute}). Weil die Reparatur nicht |
| 3691 | und daher womöglich riskant ist, kann nur der Systemadministrator den Befehl | 3838 | atomar und daher womöglich riskant ist, kann nur der Systemadministrator den |
| 3692 | benutzen. Eine weniger aufwendige Alternative, wenn Sie wissen, welches | 3839 | Befehl benutzen. Eine weniger aufwendige Alternative, wenn Sie wissen, |
| 3693 | Objekt beschädigt ist, ist, @command{guix build --repair} zu benutzen | 3840 | welches Objekt beschädigt ist, ist, @command{guix build --repair} zu |
| 3694 | (@pxref{Aufruf von guix build}). | 3841 | benutzen (siehe @ref{Aufruf von guix build}). |
| 3695 | 3842 | ||
| 3696 | @item --optimize | 3843 | @item --optimize |
| 3697 | @cindex Deduplizieren | 3844 | @cindex Deduplizieren |
| @@ -3700,7 +3847,7 @@ optimieren — mit anderen Worten wird der Store @dfn{dedupliziert}. | |||
| 3700 | 3847 | ||
| 3701 | Der Daemon führt Deduplizierung automatisch nach jeder erfolgreichen | 3848 | Der Daemon führt Deduplizierung automatisch nach jeder erfolgreichen |
| 3702 | Erstellung und jedem Importieren eines Archivs durch, sofern er nicht mit | 3849 | Erstellung und jedem Importieren eines Archivs durch, sofern er nicht mit |
| 3703 | @code{--disable-deduplication} (@pxref{Aufruf des guix-daemon, | 3850 | @code{--disable-deduplication} (siehe @ref{Aufruf des guix-daemon, |
| 3704 | @code{--disable-deduplication}}) gestartet wurde. Diese Befehlszeilenoption | 3851 | @code{--disable-deduplication}}) gestartet wurde. Diese Befehlszeilenoption |
| 3705 | brauchen Sie also in erster Linie dann, wenn der Daemon zuvor mit | 3852 | brauchen Sie also in erster Linie dann, wenn der Daemon zuvor mit |
| 3706 | @code{--disable-deduplication} gestartet worden ist. | 3853 | @code{--disable-deduplication} gestartet worden ist. |
| @@ -3739,8 +3886,8 @@ Guix-Version, und umgekehrt. | |||
| 3739 | Das Ergebnis von @command{guix pull} ist ein als | 3886 | Das Ergebnis von @command{guix pull} ist ein als |
| 3740 | @file{~/.config/guix/current} verfügbares @dfn{Profil} mit dem neuesten | 3887 | @file{~/.config/guix/current} verfügbares @dfn{Profil} mit dem neuesten |
| 3741 | Guix. Stellen Sie sicher, dass es am Anfang Ihres Suchpfades steht, damit | 3888 | Guix. Stellen Sie sicher, dass es am Anfang Ihres Suchpfades steht, damit |
| 3742 | Sie auch wirklich das neueste Guix und sein Info-Handbuch sehen | 3889 | Sie auch wirklich das neueste Guix und sein Info-Handbuch sehen (siehe |
| 3743 | (@pxref{Dokumentation}): | 3890 | @ref{Dokumentation}): |
| 3744 | 3891 | ||
| 3745 | @example | 3892 | @example |
| 3746 | export PATH="$HOME/.config/guix/current/bin:$PATH" | 3893 | export PATH="$HOME/.config/guix/current/bin:$PATH" |
| @@ -3783,8 +3930,8 @@ andere Möglichkeiten erklärt, sich den momentanen Zustand von Guix | |||
| 3783 | beschreiben zu lassen. | 3930 | beschreiben zu lassen. |
| 3784 | 3931 | ||
| 3785 | Das Profil @code{~/.config/guix/current} verhält sich genau wie jedes andere | 3932 | Das Profil @code{~/.config/guix/current} verhält sich genau wie jedes andere |
| 3786 | Profil, das von @command{guix package} erzeugt wurde (@pxref{Aufruf von guix package}). Das bedeutet, Sie können seine Generationen auflisten und es auf | 3933 | Profil, das von @command{guix package} erzeugt wurde (siehe @ref{Aufruf von guix package}). Das bedeutet, Sie können seine Generationen auflisten und es |
| 3787 | die vorherige Generation — also das vorherige Guix — zurücksetzen und so | 3934 | auf die vorherige Generation — also das vorherige Guix — zurücksetzen und so |
| 3788 | weiter: | 3935 | weiter: |
| 3789 | 3936 | ||
| 3790 | @example | 3937 | @example |
| @@ -3801,9 +3948,9 @@ aufgerufen, aber er versteht auch folgende Befehlszeilenoptionen: | |||
| 3801 | @item --url=@var{URL} | 3948 | @item --url=@var{URL} |
| 3802 | @itemx --commit=@var{Commit} | 3949 | @itemx --commit=@var{Commit} |
| 3803 | @itemx --branch=@var{Branch} | 3950 | @itemx --branch=@var{Branch} |
| 3804 | Code wird von der angegebenen @var{URL} für den angegebenen @var{Commit} | 3951 | Download code for the @code{guix} channel from the specified @var{url}, at |
| 3805 | (eine gültige Commit-ID, dargestellt als hexadezimale Zeichenkette) oder | 3952 | the given @var{commit} (a valid Git commit ID represented as a hexadecimal |
| 3806 | @var{Branch} heruntergeladen. | 3953 | string), or @var{branch}. |
| 3807 | 3954 | ||
| 3808 | @cindex @file{channels.scm}, Konfigurationsdatei | 3955 | @cindex @file{channels.scm}, Konfigurationsdatei |
| 3809 | @cindex Konfigurationsdatei für Kanäle | 3956 | @cindex Konfigurationsdatei für Kanäle |
| @@ -3816,14 +3963,14 @@ die Option @option{--channels} angeben (siehe unten). | |||
| 3816 | Die Liste der Kanäle aus der angegebenen @var{Datei} statt aus | 3963 | Die Liste der Kanäle aus der angegebenen @var{Datei} statt aus |
| 3817 | @file{~/.config/guix/channels.scm} auslesen. Die @var{Datei} muss | 3964 | @file{~/.config/guix/channels.scm} auslesen. Die @var{Datei} muss |
| 3818 | Scheme-Code enthalten, der zu einer Liste von Kanalobjekten ausgewertet | 3965 | Scheme-Code enthalten, der zu einer Liste von Kanalobjekten ausgewertet |
| 3819 | wird. Siehe @xref{Kanäle} für nähere Informationen. | 3966 | wird. Siehe @ref{Kanäle} für nähere Informationen. |
| 3820 | 3967 | ||
| 3821 | @item --list-generations[=@var{Muster}] | 3968 | @item --list-generations[=@var{Muster}] |
| 3822 | @itemx -l [@var{Muster}] | 3969 | @itemx -l [@var{Muster}] |
| 3823 | Alle Generationen von @file{~/.config/guix/current} bzw., wenn ein | 3970 | Alle Generationen von @file{~/.config/guix/current} bzw., wenn ein |
| 3824 | @var{Muster} angegeben wird, die dazu passenden Generationen auflisten. Die | 3971 | @var{Muster} angegeben wird, die dazu passenden Generationen auflisten. Die |
| 3825 | Syntax für das @var{Muster} ist dieselbe wie bei @code{guix package | 3972 | Syntax für das @var{Muster} ist dieselbe wie bei @code{guix package |
| 3826 | --list-generations} (@pxref{Aufruf von guix package}). | 3973 | --list-generations} (siehe @ref{Aufruf von guix package}). |
| 3827 | 3974 | ||
| 3828 | Im Abschnitt @ref{Aufruf von guix describe, @command{guix describe}} wird eine | 3975 | Im Abschnitt @ref{Aufruf von guix describe, @command{guix describe}} wird eine |
| 3829 | Möglichkeit erklärt, sich Informationen nur über die aktuelle Generation | 3976 | Möglichkeit erklärt, sich Informationen nur über die aktuelle Generation |
| @@ -3841,7 +3988,7 @@ jeweils erstellt oder substituiert würde, ohne es tatsächlich durchzuführen. | |||
| 3841 | @item --system=@var{System} | 3988 | @item --system=@var{System} |
| 3842 | @itemx -s @var{System} | 3989 | @itemx -s @var{System} |
| 3843 | Versuchen, für die angegebene Art von @var{System} geeignete Binärdateien zu | 3990 | Versuchen, für die angegebene Art von @var{System} geeignete Binärdateien zu |
| 3844 | erstellen — z.B. @code{i686-linux} — statt für die Art von System, das die | 3991 | erstellen — z.B.@: @code{i686-linux} — statt für die Art von System, das die |
| 3845 | Erstellung durchführt. | 3992 | Erstellung durchführt. |
| 3846 | 3993 | ||
| 3847 | @item --verbose | 3994 | @item --verbose |
| @@ -3856,10 +4003,10 @@ Befehlszeilenoption ist nur für Guix-Entwickler von Nutzen. | |||
| 3856 | Mit Hilfe von @dfn{Kanälen} können Sie bei @command{guix pull} anweisen, von | 4003 | Mit Hilfe von @dfn{Kanälen} können Sie bei @command{guix pull} anweisen, von |
| 3857 | welchem Repository und welchem Branch Guix aktualisiert werden soll, sowie | 4004 | welchem Repository und welchem Branch Guix aktualisiert werden soll, sowie |
| 3858 | von welchen @emph{weiteren} Repositorys Paketmodule bezogen werden | 4005 | von welchen @emph{weiteren} Repositorys Paketmodule bezogen werden |
| 3859 | sollen. Im Abschnitt @xref{Kanäle} finden Sie nähere Informationen. | 4006 | sollen. Im Abschnitt @ref{Kanäle} finden Sie nähere Informationen. |
| 3860 | 4007 | ||
| 3861 | Außerdem unterstützt @command{guix pull} alle gemeinsamen | 4008 | Außerdem unterstützt @command{guix pull} alle gemeinsamen |
| 3862 | Erstellungsoptionen (@pxref{Gemeinsame Erstellungsoptionen}). | 4009 | Erstellungsoptionen (siehe @ref{Gemeinsame Erstellungsoptionen}). |
| 3863 | 4010 | ||
| 3864 | @node Kanäle | 4011 | @node Kanäle |
| 3865 | @section Kanäle | 4012 | @section Kanäle |
| @@ -3870,7 +4017,7 @@ Erstellungsoptionen (@pxref{Gemeinsame Erstellungsoptionen}). | |||
| 3870 | @cindex @command{guix pull}, Konfigurationsdatei | 4017 | @cindex @command{guix pull}, Konfigurationsdatei |
| 3871 | @cindex Konfiguration von @command{guix pull} | 4018 | @cindex Konfiguration von @command{guix pull} |
| 3872 | Guix und die Sammlung darin verfügbarer Pakete können Sie durch Ausführen | 4019 | Guix und die Sammlung darin verfügbarer Pakete können Sie durch Ausführen |
| 3873 | von @command{guix pull} aktualisieren (@pxref{Aufruf von guix pull}). Standardmäßig lädt @command{guix pull} Guix selbst vom offiziellen | 4020 | von @command{guix pull} aktualisieren (siehe @ref{Aufruf von guix pull}). Standardmäßig lädt @command{guix pull} Guix selbst vom offiziellen |
| 3874 | Repository von GNU@tie{}Guix herunter und installiert es. Diesen Vorgang | 4021 | Repository von GNU@tie{}Guix herunter und installiert es. Diesen Vorgang |
| 3875 | können Sie anpassen, indem Sie @dfn{Kanäle} in der Datei | 4022 | können Sie anpassen, indem Sie @dfn{Kanäle} in der Datei |
| 3876 | @file{~/.config/guix/channels.scm} angeben. Ein Kanal enthält eine Angabe | 4023 | @file{~/.config/guix/channels.scm} angeben. Ein Kanal enthält eine Angabe |
| @@ -3911,9 +4058,9 @@ Sie haben ein paar eigene Paketvarianten oder persönliche Pakete, von denen | |||
| 3911 | Sie meinen, dass sie @emph{nicht} geeignet sind, ins Guix-Projekt selbst | 4058 | Sie meinen, dass sie @emph{nicht} geeignet sind, ins Guix-Projekt selbst |
| 3912 | aufgenommen zu werden, die Ihnen aber dennoch wie andere Pakete auf der | 4059 | aufgenommen zu werden, die Ihnen aber dennoch wie andere Pakete auf der |
| 3913 | Befehlszeile zur Verfügung stehen sollen. Dann würden Sie zunächst Module | 4060 | Befehlszeile zur Verfügung stehen sollen. Dann würden Sie zunächst Module |
| 3914 | mit diesen Paketdefinitionen schreiben (@pxref{Paketmodule}) und diese | 4061 | mit diesen Paketdefinitionen schreiben (siehe @ref{Paketmodule}) und |
| 3915 | dann in einem Git-Repository verwalten, welches Sie selbst oder jeder andere | 4062 | diese dann in einem Git-Repository verwalten, welches Sie selbst oder jeder |
| 3916 | dann als zusätzlichen Kanal eintragen können, von dem Pakete geladen | 4063 | andere dann als zusätzlichen Kanal eintragen können, von dem Pakete geladen |
| 3917 | werden. Klingt gut, oder? | 4064 | werden. Klingt gut, oder? |
| 3918 | 4065 | ||
| 3919 | @c What follows stems from discussions at | 4066 | @c What follows stems from discussions at |
| @@ -3927,8 +4074,8 @@ auch ein paar Worte der Warnung mit auf den Weg geben: | |||
| 3927 | @itemize | 4074 | @itemize |
| 3928 | @item | 4075 | @item |
| 3929 | Bevor Sie einen Kanal veröffentlichen, überlegen Sie sich bitte erst, ob Sie | 4076 | Bevor Sie einen Kanal veröffentlichen, überlegen Sie sich bitte erst, ob Sie |
| 3930 | die Pakete nicht besser zum eigentlichen Guix-Projekt beisteuern | 4077 | die Pakete nicht besser zum eigentlichen Guix-Projekt beisteuern (siehe |
| 3931 | (@pxref{Mitwirken}). Das Guix-Projekt ist gegenüber allen Arten freier | 4078 | @ref{Mitwirken}). Das Guix-Projekt ist gegenüber allen Arten freier |
| 3932 | Software offen und zum eigentlichen Guix gehörende Pakete stehen allen | 4079 | Software offen und zum eigentlichen Guix gehörende Pakete stehen allen |
| 3933 | Guix-Nutzern zur Verfügung, außerdem profitieren sie von Guix’ | 4080 | Guix-Nutzern zur Verfügung, außerdem profitieren sie von Guix’ |
| 3934 | Qualitätssicherungsprozess. | 4081 | Qualitätssicherungsprozess. |
| @@ -3957,9 +4104,10 @@ entspricht. Bitte schicken Sie eine E-Mail an @email{guix-devel@@gnu.org}, | |||
| 3957 | wenn Sie dies diskutieren möchten. | 4104 | wenn Sie dies diskutieren möchten. |
| 3958 | @end quotation | 4105 | @end quotation |
| 3959 | 4106 | ||
| 3960 | To use a channel, write @code{~/.config/guix/channels.scm} to instruct | 4107 | Um einen Kanal zu benutzen, tragen Sie ihn in |
| 3961 | @command{guix pull} to pull from it @emph{in addition} to the default Guix | 4108 | @code{~/.config/guix/channels.scm} ein, damit @command{guix pull} diesen |
| 3962 | channel(s): | 4109 | Kanal @emph{zusätzlich} zu den standardmäßigen Guix-Kanälen als Paketquelle |
| 4110 | verwendet: | ||
| 3963 | 4111 | ||
| 3964 | @vindex %default-channels | 4112 | @vindex %default-channels |
| 3965 | @lisp | 4113 | @lisp |
| @@ -3971,13 +4119,14 @@ channel(s): | |||
| 3971 | @end lisp | 4119 | @end lisp |
| 3972 | 4120 | ||
| 3973 | @noindent | 4121 | @noindent |
| 3974 | Note that the snippet above is (as always!)@: Scheme code; we use | 4122 | Beachten Sie, dass der obige Schnipsel (wie immer!)@: Scheme-Code ist; mit |
| 3975 | @code{cons} to add a channel the list of channels that the variable | 4123 | @code{cons} fügen wir einen Kanal zur Liste der Kanäle hinzu, an die die |
| 3976 | @code{%default-channels} is bound to (@pxref{Pairs, @code{cons} and lists,, | 4124 | Variable @code{%default-channels} gebunden ist (siehe @ref{Pairs, |
| 3977 | guile, GNU Guile Reference Manual}). With this file in place, @command{guix | 4125 | @code{cons} and lists,, guile, GNU Guile Reference Manual}). Mit diesem |
| 3978 | pull} builds not only Guix but also the package modules from your own | 4126 | Dateiinhalt wird @command{guix pull} nun nicht mehr nur Guix, sondern auch |
| 3979 | repository. The result in @file{~/.config/guix/current} is the union of | 4127 | die Paketmodule aus Ihrem Repository erstellen. Das Ergebnis in |
| 3980 | Guix with your own package modules: | 4128 | @file{~/.config/guix/current} ist so die Vereinigung von Guix und Ihren |
| 4129 | eigenen Paketmodulen. | ||
| 3981 | 4130 | ||
| 3982 | @example | 4131 | @example |
| 3983 | $ guix pull --list-generations | 4132 | $ guix pull --list-generations |
| @@ -4003,49 +4152,52 @@ vielleicht manche wie @code{mein-gimp} und | |||
| 4003 | @code{mein-emacs-mit-coolen-features} aus @code{meine-persönlichen-pakete}, | 4152 | @code{mein-emacs-mit-coolen-features} aus @code{meine-persönlichen-pakete}, |
| 4004 | während andere aus dem Standard-Guix-Kanal kommen. | 4153 | während andere aus dem Standard-Guix-Kanal kommen. |
| 4005 | 4154 | ||
| 4006 | To create a channel, create a Git repository containing your own package | 4155 | Um einen Kanal zu erzeugen, müssen Sie ein Git-Repository mit Ihren eigenen |
| 4007 | modules and make it available. The repository can contain anything, but a | 4156 | Paketmodulen erzeugen und den Zugriff darauf ermöglichen. Das Repository |
| 4008 | useful channel will contain Guile modules that export packages. Once you | 4157 | kann beliebigen Inhalt haben, aber wenn es ein nützlicher Kanal sein soll, |
| 4009 | start using a channel, Guix will behave as if the root directory of that | 4158 | muss es Guile-Module enthalten, die Pakete exportieren. Sobald Sie anfangen, |
| 4010 | channel's Git repository has been added to the Guile load path (@pxref{Load | 4159 | einen Kanal zu benutzen, verhält sich Guix, als wäre das Wurzelverzeichnis |
| 4011 | Paths,,, guile, GNU Guile Reference Manual}). For example, if your channel | 4160 | des Git-Repositorys des Kanals in Guiles Ladepfad enthalten (siehe @ref{Load |
| 4012 | contains a file at @file{my-packages/my-tools.scm} that defines a Guile | 4161 | Paths,,, guile, GNU Guile Reference Manual}). Wenn Ihr Kanal also zum |
| 4013 | module, then the module will be available under the name @code{(my-packages | 4162 | Beispiel eine Datei als @file{my-packages/my-tools.scm} enthält, die ein |
| 4014 | my-tools)}, and you will be able to use it like any other module | 4163 | Guile-Modul definiert, dann wird das Modul unter dem Namen |
| 4015 | (@pxref{Module,,, guile, GNU Guile Reference Manual}). | 4164 | @code{(my-packages my-tools)} verfügbar sein und Sie werden es wie jedes |
| 4165 | andere Modul benutzen können (siehe @ref{Module,,, guile, GNU Guile | ||
| 4166 | Reference Manual}). | ||
| 4016 | 4167 | ||
| 4017 | @cindex dependencies, channels | 4168 | @cindex Abhängigkeiten, bei Kanälen |
| 4018 | @cindex meta-data, channels | 4169 | @cindex Metadaten, bei Kanälen |
| 4019 | @subsection Declaring Channel Dependencies | 4170 | @subsection Kanalabhängigkeiten deklarieren |
| 4020 | 4171 | ||
| 4021 | Channel authors may decide to augment a package collection provided by other | 4172 | Kanalautoren können auch beschließen, die Paketsammlung von anderen Kanälen |
| 4022 | channels. They can declare their channel to be dependent on other channels | 4173 | zu erweitern. Dazu können sie in einer Metadatendatei @file{.guix-channel} |
| 4023 | in a meta-data file @file{.guix-channel}, which is to be placed in the root | 4174 | deklarieren, dass ihr Kanal von anderen Kanälen abhängt. Diese Datei muss im |
| 4024 | of the channel repository. | 4175 | Wurzelverzeichnis des Kanal-Repositorys platziert werden. |
| 4025 | 4176 | ||
| 4026 | The meta-data file should contain a simple S-expression like this: | 4177 | Die Metadatendatei sollte einen einfachen S-Ausdruck wie diesen enthalten: |
| 4027 | 4178 | ||
| 4028 | @lisp | 4179 | @lisp |
| 4029 | (channel | 4180 | (channel |
| 4030 | (version 0) | 4181 | (version 0) |
| 4031 | (dependencies | 4182 | (dependencies |
| 4032 | (channel | 4183 | (channel |
| 4033 | (name some-collection) | 4184 | (name irgendeine-sammlung) |
| 4034 | (url "https://example.org/first-collection.git")) | 4185 | (url "https://example.org/erste-sammlung.git")) |
| 4035 | (channel | 4186 | (channel |
| 4036 | (name some-other-collection) | 4187 | (name eine-andere-sammlung) |
| 4037 | (url "https://example.org/second-collection.git") | 4188 | (url "https://example.org/zweite-sammlung.git") |
| 4038 | (branch "testing")))) | 4189 | (branch "testing")))) |
| 4039 | @end lisp | 4190 | @end lisp |
| 4040 | 4191 | ||
| 4041 | In the above example this channel is declared to depend on two other | 4192 | Im Beispiel oben wird deklariert, dass dieser Kanal von zwei anderen Kanälen |
| 4042 | channels, which will both be fetched automatically. The modules provided by | 4193 | abhängt, die beide automatisch geladen werden. Die vom Kanal angebotenen |
| 4043 | the channel will be compiled in an environment where the modules of all | 4194 | Module werden in einer Umgebung kompiliert, in der die Module all dieser |
| 4044 | these declared channels are available. | 4195 | deklarierten Kanäle verfügbar sind. |
| 4045 | 4196 | ||
| 4046 | For the sake of reliability and maintainability, you should avoid | 4197 | Um Verlässlichkeit und Wartbarkeit zu gewährleisten, sollen Sie darauf |
| 4047 | dependencies on channels that you don't control, and you should aim to keep | 4198 | verzichten, eine Abhängigkeit von Kanälen herzustellen, die Sie nicht |
| 4048 | the number of dependencies to a minimum. | 4199 | kontrollieren, außerdem sollten Sie sich auf eine möglichst kleine Anzahl |
| 4200 | von Abhängigkeiten beschränken. | ||
| 4049 | 4201 | ||
| 4050 | @subsection Guix nachbilden | 4202 | @subsection Guix nachbilden |
| 4051 | 4203 | ||
| @@ -4071,7 +4223,7 @@ diese Commits »festgesetzt« ist. | |||
| 4071 | @end lisp | 4223 | @end lisp |
| 4072 | 4224 | ||
| 4073 | Der Befehl @command{guix describe --format=channels} kann diese Kanalliste | 4225 | Der Befehl @command{guix describe --format=channels} kann diese Kanalliste |
| 4074 | sogar direkt erzeugen (@pxref{Aufruf von guix describe}). | 4226 | sogar direkt erzeugen (siehe @ref{Aufruf von guix describe}). |
| 4075 | 4227 | ||
| 4076 | Somit läuft auf beiden Maschinen @emph{genau dasselbe Guix} und es hat | 4228 | Somit läuft auf beiden Maschinen @emph{genau dasselbe Guix} und es hat |
| 4077 | Zugang zu @emph{genau denselben Paketen}. Die Ausgabe von @command{guix | 4229 | Zugang zu @emph{genau denselben Paketen}. Die Ausgabe von @command{guix |
| @@ -4084,7 +4236,7 @@ Das verleiht Ihnen Superkräfte, mit denen Sie die Provenienz binärer | |||
| 4084 | Artefakte sehr feinkörnig nachverfolgen können und Software-Umgebungen nach | 4236 | Artefakte sehr feinkörnig nachverfolgen können und Software-Umgebungen nach |
| 4085 | Belieben nachbilden können. Sie können es als eine Art Fähigkeit zur | 4237 | Belieben nachbilden können. Sie können es als eine Art Fähigkeit zur |
| 4086 | »Meta-Reproduzierbarkeit« auffassen, wenn Sie möchten. Der Abschnitt | 4238 | »Meta-Reproduzierbarkeit« auffassen, wenn Sie möchten. Der Abschnitt |
| 4087 | @xref{Untergeordnete} beschreibt eine weitere Möglichkeit, diese Superkräfte zu | 4239 | @ref{Untergeordnete} beschreibt eine weitere Möglichkeit, diese Superkräfte zu |
| 4088 | nutzen. | 4240 | nutzen. |
| 4089 | 4241 | ||
| 4090 | @node Untergeordnete | 4242 | @node Untergeordnete |
| @@ -4106,23 +4258,25 @@ Guix-Versionen beliebig mischen können. | |||
| 4106 | 4258 | ||
| 4107 | @cindex untergeordnete Pakete | 4259 | @cindex untergeordnete Pakete |
| 4108 | Aus technischer Sicht ist ein »Untergeordneter« im Kern ein separater | 4260 | Aus technischer Sicht ist ein »Untergeordneter« im Kern ein separater |
| 4109 | Guix-Prozess, der über eine REPL (@pxref{Aufruf von guix repl}) mit Ihrem | 4261 | Guix-Prozess, der über eine REPL (siehe @ref{Aufruf von guix repl}) mit Ihrem |
| 4110 | Haupt-Guix-Prozess verbunden ist. Das Modul @code{(guix inferior)} | 4262 | Haupt-Guix-Prozess verbunden ist. Das Modul @code{(guix inferior)} |
| 4111 | ermöglicht es Ihnen, Untergeordnete zu erstellen und mit ihnen zu | 4263 | ermöglicht es Ihnen, Untergeordnete zu erstellen und mit ihnen zu |
| 4112 | kommunizieren. Dadurch steht Ihnen auch eine hochsprachliche Schnittstelle | 4264 | kommunizieren. Dadurch steht Ihnen auch eine hochsprachliche Schnittstelle |
| 4113 | zur Verfügung, um die von einem Untergeordneten angebotenen Pakete zu | 4265 | zur Verfügung, um die von einem Untergeordneten angebotenen Pakete zu |
| 4114 | durchsuchen und zu verändern — @dfn{untergeordnete Pakete}. | 4266 | durchsuchen und zu verändern — @dfn{untergeordnete Pakete}. |
| 4115 | 4267 | ||
| 4116 | In Kombination mit Kanälen (@pxref{Kanäle}) bieten Untergeordnete eine | 4268 | In Kombination mit Kanälen (siehe @ref{Kanäle}) bieten Untergeordnete eine |
| 4117 | einfache Möglichkeit, mit einer anderen Version von Guix zu | 4269 | einfache Möglichkeit, mit einer anderen Version von Guix zu |
| 4118 | interagieren. Nehmen wir zum Beispiel an, Sie wollen das aktuelle | 4270 | interagieren. Nehmen wir zum Beispiel an, Sie wollen das aktuelle |
| 4119 | @code{guile}-Paket in Ihr Profil installieren, zusammen mit dem | 4271 | @code{guile}-Paket in Ihr Profil installieren, zusammen mit dem |
| 4120 | @code{guile-json}, wie es in einer früheren Guix-Version existiert hat — | 4272 | @code{guile-json}, wie es in einer früheren Guix-Version existiert hat — |
| 4121 | vielleicht weil das neuere @code{guile-json} eine inkompatible API hat und | 4273 | vielleicht weil das neuere @code{guile-json} eine inkompatible API hat und |
| 4122 | Sie daher Ihren Code mit der alten API benutzen möchten. Dazu könnten Sie | 4274 | Sie daher Ihren Code mit der alten API benutzen möchten. Dazu könnten Sie |
| 4123 | ein Manifest für @code{guix package --manifest} schreiben (@pxref{Aufruf von guix package}); in diesem Manifest würden Sie einen Untergeordneten für | 4275 | ein Manifest für @code{guix package --manifest} schreiben (siehe |
| 4124 | diese alte Guix-Version erzeugen, für die Sie sich interessieren, und aus | 4276 | @ref{Aufruf von guix package}); in diesem Manifest würden Sie einen |
| 4125 | diesem Untergeordneten das @code{guile-json}-Paket holen: | 4277 | Untergeordneten für diese alte Guix-Version erzeugen, für die Sie sich |
| 4278 | interessieren, und aus diesem Untergeordneten das @code{guile-json}-Paket | ||
| 4279 | holen: | ||
| 4126 | 4280 | ||
| 4127 | @lisp | 4281 | @lisp |
| 4128 | (use-modules (guix inferior) (guix channels) | 4282 | (use-modules (guix inferior) (guix channels) |
| @@ -4208,21 +4362,21 @@ Liefert wahr, wenn das @var{obj} ein Untergeordneter ist. | |||
| 4208 | @deffnx {Scheme-Prozedur} inferior-package-transitive-native-search-paths @var{Paket} | 4362 | @deffnx {Scheme-Prozedur} inferior-package-transitive-native-search-paths @var{Paket} |
| 4209 | @deffnx {Scheme-Prozedur} inferior-package-search-paths @var{Paket} | 4363 | @deffnx {Scheme-Prozedur} inferior-package-search-paths @var{Paket} |
| 4210 | Diese Prozeduren sind das Gegenstück zu den Zugriffsmethoden des Verbunds | 4364 | Diese Prozeduren sind das Gegenstück zu den Zugriffsmethoden des Verbunds |
| 4211 | »package« für Pakete (@pxref{»package«-Referenz}). Die meisten davon | 4365 | »package« für Pakete (siehe @ref{»package«-Referenz}). Die meisten davon |
| 4212 | funktionieren durch eine Abfrage auf dem Untergeordneten, von dem das | 4366 | funktionieren durch eine Abfrage auf dem Untergeordneten, von dem das |
| 4213 | @var{Paket} kommt, weshalb der Untergeordnete noch lebendig sein muss, wenn | 4367 | @var{Paket} kommt, weshalb der Untergeordnete noch lebendig sein muss, wenn |
| 4214 | Sie diese Prozeduren aufrufen. | 4368 | Sie diese Prozeduren aufrufen. |
| 4215 | @end deffn | 4369 | @end deffn |
| 4216 | 4370 | ||
| 4217 | Untergeordnete Pakete können transparent wie jedes andere Paket oder | 4371 | Untergeordnete Pakete können transparent wie jedes andere Paket oder |
| 4218 | dateiartige Objekt in G-Ausdrücken verwendet werden | 4372 | dateiartige Objekt in G-Ausdrücken verwendet werden (siehe |
| 4219 | (@pxref{G-Ausdrücke}). Sie werden auch transparent wie reguläre Pakete von | 4373 | @ref{G-Ausdrücke}). Sie werden auch transparent wie reguläre Pakete von |
| 4220 | der Prozedur @code{packages->manifest} behandelt, welche oft in Manifesten | 4374 | der Prozedur @code{packages->manifest} behandelt, welche oft in Manifesten |
| 4221 | benutzt wird (@pxref{Aufruf von guix package, siehe die Befehlszeilenoption | 4375 | benutzt wird (siehe @ref{Aufruf von guix package, siehe die |
| 4222 | @option{--manifest} von @command{guix package}}). Somit können Sie ein | 4376 | Befehlszeilenoption @option{--manifest} von @command{guix package}}). Somit |
| 4223 | untergeordnetes Paket ziemlich überall dort verwenden, wo Sie ein reguläres | 4377 | können Sie ein untergeordnetes Paket ziemlich überall dort verwenden, wo Sie |
| 4224 | Paket einfügen würden: in Manifesten, im Feld @code{packages} Ihrer | 4378 | ein reguläres Paket einfügen würden: in Manifesten, im Feld @code{packages} |
| 4225 | @code{operating-system}-Deklaration und so weiter. | 4379 | Ihrer @code{operating-system}-Deklaration und so weiter. |
| 4226 | 4380 | ||
| 4227 | @node Aufruf von guix describe | 4381 | @node Aufruf von guix describe |
| 4228 | @section @command{guix describe} aufrufen | 4382 | @section @command{guix describe} aufrufen |
| @@ -4242,7 +4396,7 @@ gibt Ihnen Antwort auf diese Fragen. | |||
| 4242 | Wenn Sie ihn aus einem mit @command{guix pull} bezogenen @command{guix} | 4396 | Wenn Sie ihn aus einem mit @command{guix pull} bezogenen @command{guix} |
| 4243 | heraus ausführen, zeigt Ihnen @command{guix describe} die Kanäle an, aus | 4397 | heraus ausführen, zeigt Ihnen @command{guix describe} die Kanäle an, aus |
| 4244 | denen es erstellt wurde, jeweils mitsamt ihrer Repository-URL und Commit-ID | 4398 | denen es erstellt wurde, jeweils mitsamt ihrer Repository-URL und Commit-ID |
| 4245 | (@pxref{Kanäle}): | 4399 | (siehe @ref{Kanäle}): |
| 4246 | 4400 | ||
| 4247 | @example | 4401 | @example |
| 4248 | $ guix describe | 4402 | $ guix describe |
| @@ -4256,7 +4410,7 @@ Generation 10 Sep 03 2018 17:32:44 (current) | |||
| 4256 | Wenn Sie mit dem Versionskontrollsystem Git vertraut sind, erkennen Sie | 4410 | Wenn Sie mit dem Versionskontrollsystem Git vertraut sind, erkennen Sie |
| 4257 | vielleicht die Ähnlichkeit zu @command{git describe}; die Ausgabe ähnelt | 4411 | vielleicht die Ähnlichkeit zu @command{git describe}; die Ausgabe ähnelt |
| 4258 | auch der von @command{guix pull --list-generations} eingeschränkt auf die | 4412 | auch der von @command{guix pull --list-generations} eingeschränkt auf die |
| 4259 | aktuelle Generation (@pxref{Aufruf von guix pull, die Befehlszeilenoption | 4413 | aktuelle Generation (siehe @ref{Aufruf von guix pull, die Befehlszeilenoption |
| 4260 | @option{--list-generations}}). Weil die oben gezeigte Git-Commit-ID | 4414 | @option{--list-generations}}). Weil die oben gezeigte Git-Commit-ID |
| 4261 | eindeutig eine bestimmte Version von Guix bezeichnet, genügt diese | 4415 | eindeutig eine bestimmte Version von Guix bezeichnet, genügt diese |
| 4262 | Information, um die von Ihnen benutzte Version von Guix zu beschreiben, und | 4416 | Information, um die von Ihnen benutzte Version von Guix zu beschreiben, und |
| @@ -4279,7 +4433,7 @@ $ guix describe -f channels | |||
| 4279 | Sie können die Ausgabe in einer Datei speichern, die Sie an @command{guix | 4433 | Sie können die Ausgabe in einer Datei speichern, die Sie an @command{guix |
| 4280 | pull -C} auf einer anderen Maschine oder zu einem späteren Zeitpunkt | 4434 | pull -C} auf einer anderen Maschine oder zu einem späteren Zeitpunkt |
| 4281 | übergeben, wodurch dann eine Instanz @emph{von genau derselben Guix-Version} | 4435 | übergeben, wodurch dann eine Instanz @emph{von genau derselben Guix-Version} |
| 4282 | installiert wird (@pxref{Aufruf von guix pull, die Befehlszeilenoption | 4436 | installiert wird (siehe @ref{Aufruf von guix pull, die Befehlszeilenoption |
| 4283 | @option{-C}}). Daraufhin können Sie, weil Sie jederzeit dieselbe Version von | 4437 | @option{-C}}). Daraufhin können Sie, weil Sie jederzeit dieselbe Version von |
| 4284 | Guix installieren können, auch gleich @emph{eine vollständige | 4438 | Guix installieren können, auch gleich @emph{eine vollständige |
| 4285 | Softwareumgebung genau nachbilden}. Wir halten das trotz aller | 4439 | Softwareumgebung genau nachbilden}. Wir halten das trotz aller |
| @@ -4300,7 +4454,7 @@ für menschenlesbare Ausgabe, | |||
| 4300 | @item Kanäle | 4454 | @item Kanäle |
| 4301 | eine Liste von Kanalspezifikationen erzeugen, die an @command{guix pull -C} | 4455 | eine Liste von Kanalspezifikationen erzeugen, die an @command{guix pull -C} |
| 4302 | übergeben werden oder als @file{~/.config/guix/channels.scm} eingesetzt | 4456 | übergeben werden oder als @file{~/.config/guix/channels.scm} eingesetzt |
| 4303 | werden können (@pxref{Aufruf von guix pull}), | 4457 | werden können (siehe @ref{Aufruf von guix pull}), |
| 4304 | @item json | 4458 | @item json |
| 4305 | @cindex JSON | 4459 | @cindex JSON |
| 4306 | generiert eine Liste von Kanalspezifikationen im JSON-Format, | 4460 | generiert eine Liste von Kanalspezifikationen im JSON-Format, |
| @@ -4327,7 +4481,7 @@ Store-Objekte von einer Maschine in den Store einer anderen Maschine | |||
| 4327 | @quotation Anmerkung | 4481 | @quotation Anmerkung |
| 4328 | Wenn Sie nach einer Möglichkeit suchen, Archivdateien für andere Werkzeuge | 4482 | Wenn Sie nach einer Möglichkeit suchen, Archivdateien für andere Werkzeuge |
| 4329 | als Guix zu erstellen, finden Sie Informationen dazu im Abschnitt | 4483 | als Guix zu erstellen, finden Sie Informationen dazu im Abschnitt |
| 4330 | @pxref{Aufruf von guix pack}. | 4484 | @ref{Aufruf von guix pack}. |
| 4331 | @end quotation | 4485 | @end quotation |
| 4332 | 4486 | ||
| 4333 | @cindex Store-Objekte exportieren | 4487 | @cindex Store-Objekte exportieren |
| @@ -4339,7 +4493,7 @@ guix archive --export @var{Optionen} @var{Spezifikationen}... | |||
| 4339 | @end example | 4493 | @end example |
| 4340 | 4494 | ||
| 4341 | @var{Spezifikationen} sind dabei entweder die Namen von Store-Dateien oder | 4495 | @var{Spezifikationen} sind dabei entweder die Namen von Store-Dateien oder |
| 4342 | Paketspezifikationen wie bei @command{guix package} (@pxref{Aufruf von guix package}). Zum Beispiel erzeugt der folgende Befehl ein Archiv der | 4496 | Paketspezifikationen wie bei @command{guix package} (siehe @ref{Aufruf von guix package}). Zum Beispiel erzeugt der folgende Befehl ein Archiv der |
| 4343 | @code{gui}-Ausgabe des Pakets @code{git} sowie die Hauptausgabe von | 4497 | @code{gui}-Ausgabe des Pakets @code{git} sowie die Hauptausgabe von |
| 4344 | @code{emacs}: | 4498 | @code{emacs}: |
| 4345 | 4499 | ||
| @@ -4349,8 +4503,8 @@ guix archive --export git:gui /gnu/store/...-emacs-24.3 > groß.nar | |||
| 4349 | 4503 | ||
| 4350 | Wenn die angegebenen Pakete noch nicht erstellt worden sind, werden sie | 4504 | Wenn die angegebenen Pakete noch nicht erstellt worden sind, werden sie |
| 4351 | durch @command{guix archive} automatisch erstellt. Der Erstellungsprozess | 4505 | durch @command{guix archive} automatisch erstellt. Der Erstellungsprozess |
| 4352 | kann durch die gemeinsamen Erstellungsoptionen gesteuert werden | 4506 | kann durch die gemeinsamen Erstellungsoptionen gesteuert werden (siehe |
| 4353 | (@pxref{Gemeinsame Erstellungsoptionen}). | 4507 | @ref{Gemeinsame Erstellungsoptionen}). |
| 4354 | 4508 | ||
| 4355 | Um das @code{emacs}-Paket auf eine über SSH verbundene Maschine zu | 4509 | Um das @code{emacs}-Paket auf eine über SSH verbundene Maschine zu |
| 4356 | übertragen, würde man dies ausführen: | 4510 | übertragen, würde man dies ausführen: |
| @@ -4375,8 +4529,8 @@ Jedoch sollten Sie in beiden Beispielen beachten, dass alles, was zu | |||
| 4375 | oder nicht. Mit der Befehlszeilenoption @code{--missing} lässt sich | 4529 | oder nicht. Mit der Befehlszeilenoption @code{--missing} lässt sich |
| 4376 | herausfinden, welche Objekte im Ziel-Store noch fehlen. Der Befehl | 4530 | herausfinden, welche Objekte im Ziel-Store noch fehlen. Der Befehl |
| 4377 | @command{guix copy} vereinfacht und optimiert diesen gesamten Prozess, ist | 4531 | @command{guix copy} vereinfacht und optimiert diesen gesamten Prozess, ist |
| 4378 | also, was Sie in diesem Fall wahrscheinlich eher benutzen wollten | 4532 | also, was Sie in diesem Fall wahrscheinlich eher benutzen wollten (siehe |
| 4379 | (@pxref{Aufruf von guix copy}). | 4533 | @ref{Aufruf von guix copy}). |
| 4380 | 4534 | ||
| 4381 | @cindex Nar, Archivformat | 4535 | @cindex Nar, Archivformat |
| 4382 | @cindex Normalisiertes Archiv (Nar) | 4536 | @cindex Normalisiertes Archiv (Nar) |
| @@ -4394,10 +4548,10 @@ deterministisch. | |||
| 4394 | 4548 | ||
| 4395 | @c FIXME: Add xref to daemon doc about signatures. | 4549 | @c FIXME: Add xref to daemon doc about signatures. |
| 4396 | Beim Exportieren versieht der Daemon den Inhalt des Archivs mit einer | 4550 | Beim Exportieren versieht der Daemon den Inhalt des Archivs mit einer |
| 4397 | digitalen Signatur. Diese digitale Signatur wird an das Archiv | 4551 | digitalen Signatur, auch Beglaubigung genannt. Diese digitale Signatur wird |
| 4398 | angehängt. Beim Importieren verifiziert der Daemon die Signatur und lehnt | 4552 | an das Archiv angehängt. Beim Importieren verifiziert der Daemon die |
| 4399 | den Import ab, falls die Signatur ungültig oder der signierende Schlüssel | 4553 | Signatur und lehnt den Import ab, falls die Signatur ungültig oder der |
| 4400 | nicht autorisiert ist. | 4554 | signierende Schlüssel nicht autorisiert ist. |
| 4401 | 4555 | ||
| 4402 | Die wichtigsten Befehlszeilenoptionen sind: | 4556 | Die wichtigsten Befehlszeilenoptionen sind: |
| 4403 | 4557 | ||
| @@ -4442,14 +4596,14 @@ geheim gehalten werden muss). Wurden keine @var{Parameters} angegeben, wird | |||
| 4442 | ein ECDSA-Schlüssel unter Verwendung der Kurve Ed25519 erzeugt, oder, falls | 4596 | ein ECDSA-Schlüssel unter Verwendung der Kurve Ed25519 erzeugt, oder, falls |
| 4443 | die Libgcrypt-Version älter als 1.6.0 ist, ein 4096-Bit-RSA-Schlüssel. Sonst | 4597 | die Libgcrypt-Version älter als 1.6.0 ist, ein 4096-Bit-RSA-Schlüssel. Sonst |
| 4444 | geben die @var{Parameter} für Libgcrypt geeignete Parameter für | 4598 | geben die @var{Parameter} für Libgcrypt geeignete Parameter für |
| 4445 | @code{genkey} an (@pxref{General public-key related Functions, | 4599 | @code{genkey} an (siehe @ref{General public-key related Functions, |
| 4446 | @code{gcry_pk_genkey},, gcrypt, The Libgcrypt Reference Manual}). | 4600 | @code{gcry_pk_genkey},, gcrypt, The Libgcrypt Reference Manual}). |
| 4447 | 4601 | ||
| 4448 | @item --authorize | 4602 | @item --authorize |
| 4449 | @cindex Autorisieren, von Archiven | 4603 | @cindex Autorisieren, von Archiven |
| 4450 | Mit dem auf der Standardeingabe übergebenen öffentlichen Schlüssel signierte | 4604 | Mit dem auf der Standardeingabe übergebenen öffentlichen Schlüssel signierte |
| 4451 | Importe autorisieren. Der öffentliche Schlüssel muss als | 4605 | Importe autorisieren. Der öffentliche Schlüssel muss als |
| 4452 | »advanced«-formatierter S-Ausdruck gespeichert sein, d.h. im selben Format | 4606 | »advanced«-formatierter S-Ausdruck gespeichert sein, d.h.@: im selben Format |
| 4453 | wie die Datei @file{signing-key.pub}. | 4607 | wie die Datei @file{signing-key.pub}. |
| 4454 | 4608 | ||
| 4455 | Die Liste autorisierter Schlüssel wird in der Datei @file{/etc/guix/acl} | 4609 | Die Liste autorisierter Schlüssel wird in der Datei @file{/etc/guix/acl} |
| @@ -4462,12 +4616,12 @@ S-Ausdrücke} und ist als eine Access Control List für die | |||
| 4462 | @item --extract=@var{Verzeichnis} | 4616 | @item --extract=@var{Verzeichnis} |
| 4463 | @itemx -x @var{Verzeichnis} | 4617 | @itemx -x @var{Verzeichnis} |
| 4464 | Ein Archiv mit einem einzelnen Objekt lesen, wie es von Substitutservern | 4618 | Ein Archiv mit einem einzelnen Objekt lesen, wie es von Substitutservern |
| 4465 | geliefert wird (@pxref{Substitute}) und ins @var{Verzeichnis} | 4619 | geliefert wird (siehe @ref{Substitute}) und ins @var{Verzeichnis} |
| 4466 | entpacken. Dies ist eine systemnahe Operation, die man nur selten direkt | 4620 | entpacken. Dies ist eine systemnahe Operation, die man nur selten direkt |
| 4467 | benutzt; siehe unten. | 4621 | benutzt; siehe unten. |
| 4468 | 4622 | ||
| 4469 | For example, the following command extracts the substitute for Emacs served | 4623 | Zum Beispiel entpackt folgender Befehl das Substitut für Emacs, wie es von |
| 4470 | by @code{@value{SUBSTITUTE-SERVER}} to @file{/tmp/emacs}: | 4624 | @code{@value{SUBSTITUTE-SERVER}} geliefert wird, nach @file{/tmp/emacs}: |
| 4471 | 4625 | ||
| 4472 | @example | 4626 | @example |
| 4473 | $ wget -O - \ | 4627 | $ wget -O - \ |
| @@ -4489,19 +4643,20 @@ unter Umständen nicht vertraut wird. | |||
| 4489 | 4643 | ||
| 4490 | 4644 | ||
| 4491 | @c ********************************************************************* | 4645 | @c ********************************************************************* |
| 4492 | @node Development | 4646 | @node Entwicklung |
| 4493 | @chapter Development | 4647 | @chapter Entwicklung |
| 4494 | 4648 | ||
| 4495 | @cindex software development | 4649 | @cindex Softwareentwicklung |
| 4496 | If you are a software developer, Guix provides tools that you should find | 4650 | Wenn Sie ein Software-Entwickler sind, gibt Ihnen Guix Werkzeuge an die |
| 4497 | helpful---independently of the language you're developing in. This is what | 4651 | Hand, die Sie für hilfreich erachten dürften — ganz unabhängig davon, in |
| 4498 | this chapter is about. | 4652 | welcher Sprache Sie entwickeln. Darum soll es in diesem Kapitel gehen. |
| 4499 | 4653 | ||
| 4500 | The @command{guix environment} command provides a convenient way to set up | 4654 | Der Befehl @command{guix environment} stellt eine bequeme Möglichkeit dar, |
| 4501 | @dfn{development environments} containing all the dependencies and tools | 4655 | wie Sie eine @dfn{Entwicklungsumgebung} aufsetzen können, in der all die |
| 4502 | necessary to work on the software package of your choice. The @command{guix | 4656 | Abhängigkeiten und Werkzeuge enthalten sind, die Sie brauchen, wenn Sie an |
| 4503 | pack} command allows you to create @dfn{application bundles} that can be | 4657 | Ihrem Lieblingssoftwarepaket arbeiten. Der Befehl @command{guix pack} macht |
| 4504 | easily distributed to users who do not run Guix. | 4658 | es Ihnen möglich, @dfn{Anwendungsbündel} zu erstellen, die leicht an Nutzer |
| 4659 | verteilt werden können, die kein Guix benutzen. | ||
| 4505 | 4660 | ||
| 4506 | @menu | 4661 | @menu |
| 4507 | * Aufruf von guix environment:: Entwicklungsumgebungen einrichten. | 4662 | * Aufruf von guix environment:: Entwicklungsumgebungen einrichten. |
| @@ -4549,16 +4704,16 @@ Bash startet, selbige @file{~/.bashrc} von Bash gelesen wird und die neuen | |||
| 4549 | Umgebungen somit »verunreinigt«. Es ist ein Fehler, solche Umgebungsvariable | 4704 | Umgebungen somit »verunreinigt«. Es ist ein Fehler, solche Umgebungsvariable |
| 4550 | in @file{.bashrc} zu definieren, stattdessen sollten sie in | 4705 | in @file{.bashrc} zu definieren, stattdessen sollten sie in |
| 4551 | @file{.bash_profile} geschrieben werden, was nur von Login-Shells mit | 4706 | @file{.bash_profile} geschrieben werden, was nur von Login-Shells mit |
| 4552 | »source« geladen wird. @xref{Bash Startup Files,,, bash, The GNU Bash | 4707 | »source« geladen wird. Siehe @ref{Bash Startup Files,,, bash, The GNU Bash |
| 4553 | Reference Manual}, für Details über beim Starten von Bash gelesene Dateien}. | 4708 | Reference Manual} für Details über beim Starten von Bash gelesene Dateien}. |
| 4554 | 4709 | ||
| 4555 | @vindex GUIX_ENVIRONMENT | 4710 | @vindex GUIX_ENVIRONMENT |
| 4556 | @command{guix environment} definiert die Variable @code{GUIX_ENVIRONMENT} in | 4711 | @command{guix environment} definiert die Variable @code{GUIX_ENVIRONMENT} in |
| 4557 | der neu erzeugten Shell. Ihr Wert ist der Dateiname des Profils dieser neuen | 4712 | der neu erzeugten Shell. Ihr Wert ist der Dateiname des Profils dieser neuen |
| 4558 | Umgebung. Das könnten Nutzer verwenden, um zum Beispiel eine besondere | 4713 | Umgebung. Das könnten Nutzer verwenden, um zum Beispiel eine besondere |
| 4559 | Prompt als Eingabeaufforderung für Entwicklungsumgebungen in ihrer | 4714 | Prompt als Eingabeaufforderung für Entwicklungsumgebungen in ihrer |
| 4560 | @file{.bashrc} festzulegen (@pxref{Bash Startup Files,,, bash, The GNU Bash | 4715 | @file{.bashrc} festzulegen (siehe @ref{Bash Startup Files,,, bash, The GNU |
| 4561 | Reference Manual}): | 4716 | Bash Reference Manual}): |
| 4562 | 4717 | ||
| 4563 | @example | 4718 | @example |
| 4564 | if [ -n "$GUIX_ENVIRONMENT" ] | 4719 | if [ -n "$GUIX_ENVIRONMENT" ] |
| @@ -4568,7 +4723,7 @@ fi | |||
| 4568 | @end example | 4723 | @end example |
| 4569 | 4724 | ||
| 4570 | @noindent | 4725 | @noindent |
| 4571 | ...@: or to browse the profile: | 4726 | …@: oder um ihr Profil durchzusehen: |
| 4572 | 4727 | ||
| 4573 | @example | 4728 | @example |
| 4574 | $ ls "$GUIX_ENVIRONMENT/bin" | 4729 | $ ls "$GUIX_ENVIRONMENT/bin" |
| @@ -4616,13 +4771,14 @@ umfasst: | |||
| 4616 | guix environment guix --ad-hoc git strace | 4771 | guix environment guix --ad-hoc git strace |
| 4617 | @end example | 4772 | @end example |
| 4618 | 4773 | ||
| 4619 | Sometimes it is desirable to isolate the environment as much as possible, | 4774 | Manchmal ist es wünschenswert, die Umgebung so viel wie möglich zu |
| 4620 | for maximal purity and reproducibility. In particular, when using Guix on a | 4775 | isolieren, um maximale Reinheit und Reproduzierbarkeit zu |
| 4621 | host distro that is not Guix System, it is desirable to prevent access to | 4776 | bekommen. Insbesondere ist es wünschenswert, den Zugriff auf @file{/usr/bin} |
| 4622 | @file{/usr/bin} and other system-wide resources from the development | 4777 | und andere Systemressourcen aus der Entwicklungsumgebung heraus zu |
| 4623 | environment. For example, the following command spawns a Guile REPL in a | 4778 | verhindern, wenn man Guix auf einer fremden Wirtsdistribution benutzt, die |
| 4624 | ``container'' where only the store and the current working directory are | 4779 | nicht Guix System ist. Zum Beispiel startet der folgende Befehl eine |
| 4625 | mounted: | 4780 | Guile-REPL in einer isolierten Umgebung, einem sogenannten »Container«, in |
| 4781 | der nur der Store und das aktuelle Arbeitsverzeichnis eingebunden sind: | ||
| 4626 | 4782 | ||
| 4627 | @example | 4783 | @example |
| 4628 | guix environment --ad-hoc --container guile -- guile | 4784 | guix environment --ad-hoc --container guile -- guile |
| @@ -4636,8 +4792,8 @@ Die Befehlszeilenoption @code{--container} funktioniert nur mit Linux-libre | |||
| 4636 | Im Folgenden werden die verfügbaren Befehlszeilenoptionen zusammengefasst. | 4792 | Im Folgenden werden die verfügbaren Befehlszeilenoptionen zusammengefasst. |
| 4637 | 4793 | ||
| 4638 | @table @code | 4794 | @table @code |
| 4639 | @item --root=@var{file} | 4795 | @item --root=@var{Datei} |
| 4640 | @itemx -r @var{file} | 4796 | @itemx -r @var{Datei} |
| 4641 | @cindex persistente Umgebung | 4797 | @cindex persistente Umgebung |
| 4642 | @cindex Müllsammlerwurzel, für Umgebungen | 4798 | @cindex Müllsammlerwurzel, für Umgebungen |
| 4643 | Die @var{Datei} zu einer symbolischen Verknüpfung auf das Profil dieser | 4799 | Die @var{Datei} zu einer symbolischen Verknüpfung auf das Profil dieser |
| @@ -4649,7 +4805,7 @@ Das ist nützlich, um seine Umgebung vor dem Müllsammler zu schützen und sie | |||
| 4649 | Wird diese Option weggelassen, ist die Umgebung nur, solange die Sitzung von | 4805 | Wird diese Option weggelassen, ist die Umgebung nur, solange die Sitzung von |
| 4650 | @command{guix environment} besteht, vor dem Müllsammler sicher. Das | 4806 | @command{guix environment} besteht, vor dem Müllsammler sicher. Das |
| 4651 | bedeutet, wenn Sie das nächste Mal dieselbe Umgebung neu erzeugen, müssen | 4807 | bedeutet, wenn Sie das nächste Mal dieselbe Umgebung neu erzeugen, müssen |
| 4652 | Sie vielleicht Pakete neu erstellen oder neu herunterladen. @xref{Aufruf von guix gc} hat mehr Informationen über Müllsammlerwurzeln. | 4808 | Sie vielleicht Pakete neu erstellen oder neu herunterladen. @ref{Aufruf von guix gc} hat mehr Informationen über Müllsammlerwurzeln. |
| 4653 | 4809 | ||
| 4654 | @item --expression=@var{Ausdruck} | 4810 | @item --expression=@var{Ausdruck} |
| 4655 | @itemx -e @var{Ausdruck} | 4811 | @itemx -e @var{Ausdruck} |
| @@ -4671,7 +4827,7 @@ Wenn man dies ausführt: | |||
| 4671 | guix environment --ad-hoc -e '(@@ (gnu) %base-packages)' | 4827 | guix environment --ad-hoc -e '(@@ (gnu) %base-packages)' |
| 4672 | @end example | 4828 | @end example |
| 4673 | 4829 | ||
| 4674 | starts a shell with all the base system packages available. | 4830 | bekommt man eine Shell, in der alle Basis-Pakete verfügbar sind. |
| 4675 | 4831 | ||
| 4676 | Die obigen Befehle benutzen nur die Standard-Ausgabe des jeweiligen | 4832 | Die obigen Befehle benutzen nur die Standard-Ausgabe des jeweiligen |
| 4677 | Pakets. Um andere Ausgaben auszuwählen, können zweielementige Tupel | 4833 | Pakets. Um andere Ausgaben auszuwählen, können zweielementige Tupel |
| @@ -4687,7 +4843,7 @@ Eine Umgebung erstellen für das Paket oder die Liste von Paketen, zu der der | |||
| 4687 | Code in der @var{Datei} ausgewertet wird. | 4843 | Code in der @var{Datei} ausgewertet wird. |
| 4688 | 4844 | ||
| 4689 | Zum Beispiel könnte die @var{Datei} eine Definition wie diese enthalten | 4845 | Zum Beispiel könnte die @var{Datei} eine Definition wie diese enthalten |
| 4690 | (@pxref{Pakete definieren}): | 4846 | (siehe @ref{Pakete definieren}): |
| 4691 | 4847 | ||
| 4692 | @example | 4848 | @example |
| 4693 | @verbatiminclude environment-gdb.scm | 4849 | @verbatiminclude environment-gdb.scm |
| @@ -4699,8 +4855,8 @@ Eine Umgebung für die Pakete erzeugen, die im Manifest-Objekt enthalten | |||
| 4699 | sind, das vom Scheme-Code in der @var{Datei} geliefert wird. | 4855 | sind, das vom Scheme-Code in der @var{Datei} geliefert wird. |
| 4700 | 4856 | ||
| 4701 | Dies verhält sich ähnlich wie die gleichnamige Option des Befehls | 4857 | Dies verhält sich ähnlich wie die gleichnamige Option des Befehls |
| 4702 | @command{guix package} (@pxref{profile-manifest, @option{--manifest}}) und | 4858 | @command{guix package} (siehe @ref{profile-manifest, @option{--manifest}}) |
| 4703 | benutzt auch dieselben Manifestdateien. | 4859 | und benutzt auch dieselben Manifestdateien. |
| 4704 | 4860 | ||
| 4705 | @item --ad-hoc | 4861 | @item --ad-hoc |
| 4706 | Alle angegebenen Pakete in der resultierenden Umgebung einschließen, als | 4862 | Alle angegebenen Pakete in der resultierenden Umgebung einschließen, als |
| @@ -4720,8 +4876,8 @@ Guile-SDL zur Verfügung stehen. | |||
| 4720 | 4876 | ||
| 4721 | Beachten Sie, dass in diesem Beispiel implizit die vorgegebene Ausgabe von | 4877 | Beachten Sie, dass in diesem Beispiel implizit die vorgegebene Ausgabe von |
| 4722 | @code{guile} und @code{guile-sdl} verwendet wird, es aber auch möglich ist, | 4878 | @code{guile} und @code{guile-sdl} verwendet wird, es aber auch möglich ist, |
| 4723 | eine bestimmte Ausgabe auszuwählen — z.B. wird mit @code{glib:bin} die | 4879 | eine bestimmte Ausgabe auszuwählen — z.B.@: wird mit @code{glib:bin} die |
| 4724 | Ausgabe @code{bin} von @code{glib} gewählt (@pxref{Pakete mit mehreren Ausgaben.}). | 4880 | Ausgabe @code{bin} von @code{glib} gewählt (siehe @ref{Pakete mit mehreren Ausgaben.}). |
| 4725 | 4881 | ||
| 4726 | Diese Befehlszeilenoption kann mit dem standardmäßigen Verhalten von | 4882 | Diese Befehlszeilenoption kann mit dem standardmäßigen Verhalten von |
| 4727 | @command{guix environment} verbunden werden. Pakete, die vor @code{--ad-hoc} | 4883 | @command{guix environment} verbunden werden. Pakete, die vor @code{--ad-hoc} |
| @@ -4731,35 +4887,36 @@ entspricht. Pakete, die danach aufgeführt werden, werden selbst zur Umgebung | |||
| 4731 | hinzugefügt. | 4887 | hinzugefügt. |
| 4732 | 4888 | ||
| 4733 | @item --pure | 4889 | @item --pure |
| 4734 | Unset existing environment variables when building the new environment, | 4890 | Bestehende Umgebungsvariable deaktivieren, wenn die neue Umgebung erzeugt |
| 4735 | except those specified with @option{--preserve} (see below.) This has the | 4891 | wird, mit Ausnahme der mit @option{--preserve} angegebenen Variablen (siehe |
| 4736 | effect of creating an environment in which search paths only contain package | 4892 | unten). Dies bewirkt, dass eine Umgebung erzeugt wird, in der die Suchpfade |
| 4737 | inputs. | 4893 | nur Paketeingaben nennen und sonst nichts. |
| 4738 | 4894 | ||
| 4739 | @item --preserve=@var{regexp} | 4895 | @item --preserve=@var{Regexp} |
| 4740 | @itemx -E @var{regexp} | 4896 | @itemx -E @var{Regexp} |
| 4741 | When used alongside @option{--pure}, preserve the environment variables | 4897 | Wenn das hier zusammen mit @option{--pure} angegeben wird, bleiben die zum |
| 4742 | matching @var{regexp}---in other words, put them on a ``white list'' of | 4898 | regulären Ausdruck @var{Regexp} passenden Umgebungsvariablen erhalten — mit |
| 4743 | environment variables that must be preserved. This option can be repeated | 4899 | anderen Worten werden sie auf eine »weiße Liste« von Umgebungsvariablen |
| 4744 | several times. | 4900 | gesetzt, die erhalten bleiben müssen. Diese Befehlszeilenoption kann |
| 4901 | mehrmals wiederholt werden. | ||
| 4745 | 4902 | ||
| 4746 | @example | 4903 | @example |
| 4747 | guix environment --pure --preserve=^SLURM --ad-hoc openmpi @dots{} \ | 4904 | guix environment --pure --preserve=^SLURM --ad-hoc openmpi @dots{} \ |
| 4748 | -- mpirun @dots{} | 4905 | -- mpirun @dots{} |
| 4749 | @end example | 4906 | @end example |
| 4750 | 4907 | ||
| 4751 | This example runs @command{mpirun} in a context where the only environment | 4908 | In diesem Beispiel wird @command{mpirun} in einem Kontext ausgeführt, in dem |
| 4752 | variables defined are @code{PATH}, environment variables whose name starts | 4909 | die einzig definierten Umgebungsvariablen @code{PATH} und solche sind, deren |
| 4753 | with @code{SLURM}, as well as the usual ``precious'' variables (@code{HOME}, | 4910 | Name mit @code{SLURM} beginnt, sowie die üblichen besonders »kostbaren« |
| 4754 | @code{USER}, etc.) | 4911 | Variablen (@code{HOME}, @code{USER}, etc.). |
| 4755 | 4912 | ||
| 4756 | @item --search-paths | 4913 | @item --search-paths |
| 4757 | Die Umgebungsvariablendefinitionen anzeigen, aus denen die Umgebung besteht. | 4914 | Die Umgebungsvariablendefinitionen anzeigen, aus denen die Umgebung besteht. |
| 4758 | 4915 | ||
| 4759 | @item --system=@var{System} | 4916 | @item --system=@var{System} |
| 4760 | @itemx -s @var{System} | 4917 | @itemx -s @var{System} |
| 4761 | Versuchen, für das angegebene @var{System} zu erstellen — | 4918 | Versuchen, für das angegebene @var{System} zu erstellen — z.B.@: |
| 4762 | z.B. @code{i686-linux}. | 4919 | @code{i686-linux}. |
| 4763 | 4920 | ||
| 4764 | @item --container | 4921 | @item --container |
| 4765 | @itemx -C | 4922 | @itemx -C |
| @@ -4770,9 +4927,12 @@ Containers wird in den Container zugeordnet. Zusätzlich wird, wenn es mit | |||
| 4770 | der Befehlszeilenoption @code{--user} nicht anders spezifiziert wurde, ein | 4927 | der Befehlszeilenoption @code{--user} nicht anders spezifiziert wurde, ein |
| 4771 | stellvertretendes persönliches Verzeichnis erzeugt, dessen Inhalt der des | 4928 | stellvertretendes persönliches Verzeichnis erzeugt, dessen Inhalt der des |
| 4772 | wirklichen persönlichen Verzeichnisses ist, sowie eine passend konfigurierte | 4929 | wirklichen persönlichen Verzeichnisses ist, sowie eine passend konfigurierte |
| 4773 | Datei @file{/etc/passwd}. Der erzeugte Prozess läuft außerhalb des | 4930 | Datei @file{/etc/passwd}. |
| 4774 | Containers als der momentane Nutzer, aber im Kontext des Containers hat er | 4931 | |
| 4775 | Administratorrechte. | 4932 | Der erzeugte Prozess läuft außerhalb des Containers als der momentane |
| 4933 | Nutzer. Innerhalb des Containers hat er dieselbe UID und GID wie der | ||
| 4934 | momentane Nutzer, außer die Befehlszeilenoption @option{--user} wird | ||
| 4935 | übergeben (siehe unten). | ||
| 4776 | 4936 | ||
| 4777 | @item --network | 4937 | @item --network |
| 4778 | @itemx -N | 4938 | @itemx -N |
| @@ -4805,8 +4965,9 @@ Bei isolierten Umgebungen (»Containern«) wird der Benutzername | |||
| 4805 | Eintrag in @file{/etc/passwd} im Container wird also den Namen | 4965 | Eintrag in @file{/etc/passwd} im Container wird also den Namen |
| 4806 | @var{Benutzer} enthalten und das persönliche Verzeichnis wird den Namen | 4966 | @var{Benutzer} enthalten und das persönliche Verzeichnis wird den Namen |
| 4807 | @file{/home/BENUTZER} tragen; keine GECOS-Daten über den Nutzer werden in | 4967 | @file{/home/BENUTZER} tragen; keine GECOS-Daten über den Nutzer werden in |
| 4808 | die Umgebung übernommen. @var{Benutzer} muss auf dem System nicht | 4968 | die Umgebung übernommen. Des Weiteren sind UID und GID innerhalb der |
| 4809 | existieren. | 4969 | isolierten Umgebung auf 1000 gesetzt. @var{Benutzer} muss auf dem System |
| 4970 | nicht existieren. | ||
| 4810 | 4971 | ||
| 4811 | Zusätzlich werden alle geteilten oder exponierten Pfade (siehe jeweils | 4972 | Zusätzlich werden alle geteilten oder exponierten Pfade (siehe jeweils |
| 4812 | @code{--share} und @code{--expose}), deren Ziel innerhalb des persönlichen | 4973 | @code{--share} und @code{--expose}), deren Ziel innerhalb des persönlichen |
| @@ -4857,9 +5018,10 @@ guix environment --container --share=$HOME=/austausch --ad-hoc guile -- guile | |||
| 4857 | @end example | 5018 | @end example |
| 4858 | @end table | 5019 | @end table |
| 4859 | 5020 | ||
| 4860 | @command{guix environment} also supports all of the common build options | 5021 | @command{guix environment} unterstützt auch alle gemeinsamen |
| 4861 | that @command{guix build} supports (@pxref{Gemeinsame Erstellungsoptionen}) as well as | 5022 | Erstellungsoptionen, die von @command{guix build} unterstützt werden (siehe |
| 4862 | package transformation options (@pxref{Paketumwandlungsoptionen}). | 5023 | @ref{Gemeinsame Erstellungsoptionen}), und die Paketumwandlungsoptionen (siehe |
| 5024 | @ref{Paketumwandlungsoptionen}). | ||
| 4863 | 5025 | ||
| 4864 | @node Aufruf von guix pack | 5026 | @node Aufruf von guix pack |
| 4865 | @section @command{guix pack} aufrufen | 5027 | @section @command{guix pack} aufrufen |
| @@ -4872,7 +5034,7 @@ muss es anders gehen. Hier kommt @command{guix pack} ins Spiel. | |||
| 4872 | @quotation Anmerkung | 5034 | @quotation Anmerkung |
| 4873 | Wenn Sie aber nach einer Möglichkeit suchen, Binärdateien unter Maschinen | 5035 | Wenn Sie aber nach einer Möglichkeit suchen, Binärdateien unter Maschinen |
| 4874 | auszutauschen, auf denen Guix bereits läuft, sollten Sie einen Blick auf die | 5036 | auszutauschen, auf denen Guix bereits läuft, sollten Sie einen Blick auf die |
| 4875 | Abschnitte @pxref{Aufruf von guix copy}, @ref{Aufruf von guix publish} und | 5037 | Abschnitte @ref{Aufruf von guix copy}, @ref{Aufruf von guix publish} und |
| 4876 | @ref{Aufruf von guix archive} werfen. | 5038 | @ref{Aufruf von guix archive} werfen. |
| 4877 | @end quotation | 5039 | @end quotation |
| 4878 | 5040 | ||
| @@ -4904,7 +5066,7 @@ Als Ergebnis erhalten Sie einen Tarball mit einem Verzeichnis | |||
| 4904 | resultierende Tarball enthält auch ein @dfn{Profil} mit den drei angegebenen | 5066 | resultierende Tarball enthält auch ein @dfn{Profil} mit den drei angegebenen |
| 4905 | Paketen; es ist dieselbe Art von Profil, die auch @command{guix package -i} | 5067 | Paketen; es ist dieselbe Art von Profil, die auch @command{guix package -i} |
| 4906 | erzeugen würde. Mit diesem Mechanismus wird auch der binäre Tarball zur | 5068 | erzeugen würde. Mit diesem Mechanismus wird auch der binäre Tarball zur |
| 4907 | Installation von Guix erzeugt (@pxref{Aus Binärdatei installieren}). | 5069 | Installation von Guix erzeugt (siehe @ref{Aus Binärdatei installieren}). |
| 4908 | 5070 | ||
| 4909 | Benutzer des Bündels müssten dann aber zum Beispiel | 5071 | Benutzer des Bündels müssten dann aber zum Beispiel |
| 4910 | @file{/gnu/store/@dots{}-profile/bin/guile} eintippen, um Guile auszuführen, | 5072 | @file{/gnu/store/@dots{}-profile/bin/guile} eintippen, um Guile auszuführen, |
| @@ -4979,7 +5141,7 @@ alle angegebenen Binärdateien und symbolischen Verknüpfungen enthält. | |||
| 4979 | @item docker | 5141 | @item docker |
| 4980 | Generiert einen Tarball gemäß der | 5142 | Generiert einen Tarball gemäß der |
| 4981 | @uref{https://github.com/docker/docker/blob/master/image/spec/v1.2.md, | 5143 | @uref{https://github.com/docker/docker/blob/master/image/spec/v1.2.md, |
| 4982 | Docker Image Specification}, d.h. der Spezifikation für Docker-Abbilder. | 5144 | Docker Image Specification}, d.h.@: der Spezifikation für Docker-Abbilder. |
| 4983 | 5145 | ||
| 4984 | @item squashfs | 5146 | @item squashfs |
| 4985 | Generiert ein SquashFS-Abbild, das alle angegebenen Binärdateien und | 5147 | Generiert ein SquashFS-Abbild, das alle angegebenen Binärdateien und |
| @@ -4987,20 +5149,33 @@ symbolischen Verknüpfungen enthält, sowie leere Einhängepunkte für virtuelle | |||
| 4987 | Dateisysteme wie procfs. | 5149 | Dateisysteme wie procfs. |
| 4988 | @end table | 5150 | @end table |
| 4989 | 5151 | ||
| 5152 | @cindex pfad-agnostische Binärdateien | ||
| 4990 | @item --relocatable | 5153 | @item --relocatable |
| 4991 | @itemx -R | 5154 | @itemx -R |
| 4992 | Erzeugt @dfn{pfad-agnostische Binärdateien} — also »portable« Binärdateien, | 5155 | Erzeugt @dfn{pfad-agnostische Binärdateien} — also »portable« Binärdateien, |
| 4993 | die an einer beliebigen Stelle in der Dateisystemhierarchie platziert und | 5156 | die an einer beliebigen Stelle in der Dateisystemhierarchie platziert und |
| 4994 | von dort ausgeführt werden können. Zum Beispiel können Sie ein Bash | 5157 | von dort ausgeführt werden können. |
| 4995 | enthalltendes Bündel erzeugen mit: | 5158 | |
| 5159 | Wenn diese Befehlszeilenoption einmal übergeben wird, funktionieren die | ||
| 5160 | erzeugten Binärdateien nur dann, wenn @dfn{Benutzernamensräume} des | ||
| 5161 | Linux-Kernels unterstützt werden. Wenn sie @emph{zweimal}@footnote{Es gibt | ||
| 5162 | einen Trick, wie Sie sich das merken können: @code{-RR}, womit | ||
| 5163 | PRoot-Unterstützung hinzugefügt wird, kann man sich als Abkürzung für | ||
| 5164 | »Rundum Relocatable« oder englisch »Really Relocatable« vorstellen. Ist das | ||
| 5165 | nicht prima?} übergeben wird, laufen die Binärdateien notfalls mit PRoot, | ||
| 5166 | wenn keine Benutzernamensräume zur Verfügung stehen, funktionieren also | ||
| 5167 | ziemlich überall — siehe unten für die Auswirkungen. | ||
| 5168 | |||
| 5169 | Zum Beispiel können Sie ein Bash enthalltendes Bündel erzeugen mit: | ||
| 4996 | 5170 | ||
| 4997 | @example | 5171 | @example |
| 4998 | guix pack -R -S /meine-bin=bin bash | 5172 | guix pack -RR -S /mybin=bin bash |
| 4999 | @end example | 5173 | @end example |
| 5000 | 5174 | ||
| 5001 | @noindent | 5175 | @noindent |
| 5002 | ...@: you can copy that pack to a machine that lacks Guix, and from your | 5176 | …@: Sie können dieses dann auf eine Maschine ohne Guix kopieren und als |
| 5003 | home directory as a normal user, run: | 5177 | normaler Nutzer aus Ihrem Persönlichen Verzeichnis (auch »Home«-Verzeichnis |
| 5178 | genannt) dann ausführen mit: | ||
| 5004 | 5179 | ||
| 5005 | @example | 5180 | @example |
| 5006 | tar xf pack.tar.gz | 5181 | tar xf pack.tar.gz |
| @@ -5014,22 +5189,35 @@ alle Abhängigkeiten von @code{bash}, obwohl auf der Maschine überhaupt kein | |||
| 5014 | Verzeichnis @file{/gnu/store} existiert! Dies ist vermutlich die einfachste | 5189 | Verzeichnis @file{/gnu/store} existiert! Dies ist vermutlich die einfachste |
| 5015 | Art, mit Guix erstellte Software für eine Maschine ohne Guix auszuliefern. | 5190 | Art, mit Guix erstellte Software für eine Maschine ohne Guix auszuliefern. |
| 5016 | 5191 | ||
| 5017 | Die Sache hat nur einen Haken: Diese Technik funktioniert nur mit | 5192 | @quotation Anmerkung |
| 5018 | @dfn{Benutzernamensräumen} (englisch @dfn{User namespaces}), einer | 5193 | Wenn die Voreinstellung verwendet wird, funktionieren pfad-agnostische |
| 5019 | Funktionalität des Linux-Kernels, mit der Benutzer ohne besondere | 5194 | Binärdateien nur mit @dfn{Benutzernamensräumen} (englisch @dfn{User |
| 5020 | Berechtigungen Dateisysteme einbinden (englisch »mount«) oder die Wurzel des | 5195 | namespaces}), einer Funktionalität des Linux-Kernels, mit der Benutzer ohne |
| 5021 | Dateisystems wechseln können (»change root«, kurz »chroot«). Alte Versionen | 5196 | besondere Berechtigungen Dateisysteme einbinden (englisch »mount«) oder die |
| 5022 | von Linux haben es noch nicht unterstützt und manche Distributionen von | 5197 | Wurzel des Dateisystems wechseln können (»change root«, kurz »chroot«). Alte |
| 5023 | GNU/Linux schalten diese Funktionalität ab; auf diesen Systemen @emph{werden | 5198 | Versionen von Linux haben diese Funktionalität noch nicht unterstützt und |
| 5024 | Programme aus dem Bündel nicht funktionieren}, solange sie nicht in das | 5199 | manche Distributionen von GNU/Linux schalten sie ab. |
| 5025 | echte Wurzeldateisystem entpackt werden. | 5200 | |
| 5201 | Um pfad-agnostische Binärdateien zu erzeugen, die auch ohne | ||
| 5202 | Benutzernamensräume funktionieren, können Sie die Befehlszeilenoption | ||
| 5203 | @option{--relocatable} oder @option{-R} @emph{zweimal} angeben. In diesem | ||
| 5204 | Fall werden die Binärdateien zuerst überprüfen, ob Benutzernamensräume | ||
| 5205 | unterstützt werden, und sonst notfalls PRoot benutzen, um das Programm | ||
| 5206 | auszuführen, wenn Benutzernamensräume nicht unterstützt werden. | ||
| 5207 | |||
| 5208 | Das Programm @uref{https://proot-me.github.io/, PRoot} bietet auch | ||
| 5209 | Unterstützung für Dateisystemvirtualisierung, indem der Systemaufruf | ||
| 5210 | @code{ptrace} auf das laufende Programm angewendet wird. Dieser Ansatz | ||
| 5211 | funktioniert auch ohne besondere Kernel-Unterstützung, aber das Programm | ||
| 5212 | braucht mehr Zeit, um selbst Systemaufrufe durchzuführen. | ||
| 5213 | @end quotation | ||
| 5026 | 5214 | ||
| 5027 | @item --expression=@var{Ausdruck} | 5215 | @item --expression=@var{Ausdruck} |
| 5028 | @itemx -e @var{Ausdruck} | 5216 | @itemx -e @var{Ausdruck} |
| 5029 | Als Paket benutzen, wozu der @var{Ausdruck} ausgewertet wird. | 5217 | Als Paket benutzen, wozu der @var{Ausdruck} ausgewertet wird. |
| 5030 | 5218 | ||
| 5031 | Der Zweck hiervon ist derselbe wie bei der gleichnamigen Befehlszeilenoption | 5219 | Der Zweck hiervon ist derselbe wie bei der gleichnamigen Befehlszeilenoption |
| 5032 | in @command{guix build} (@pxref{Zusätzliche Erstellungsoptionen, | 5220 | in @command{guix build} (siehe @ref{Zusätzliche Erstellungsoptionen, |
| 5033 | @code{--expression} in @command{guix build}}). | 5221 | @code{--expression} in @command{guix build}}). |
| 5034 | 5222 | ||
| 5035 | @item --manifest=@var{Datei} | 5223 | @item --manifest=@var{Datei} |
| @@ -5038,25 +5226,25 @@ Die Pakete benutzen, die im Manifest-Objekt aufgeführt sind, das vom | |||
| 5038 | Scheme-Code in der angegebenen @var{Datei} geliefert wird. | 5226 | Scheme-Code in der angegebenen @var{Datei} geliefert wird. |
| 5039 | 5227 | ||
| 5040 | Dies hat einen ähnlichen Zweck wie die gleichnamige Befehlszeilenoption in | 5228 | Dies hat einen ähnlichen Zweck wie die gleichnamige Befehlszeilenoption in |
| 5041 | @command{guix package} (@pxref{profile-manifest, @option{--manifest}}) und | 5229 | @command{guix package} (siehe @ref{profile-manifest, @option{--manifest}}) |
| 5042 | benutzt dieselben Regeln für Manifest-Dateien. Damit können Sie eine Reihe | 5230 | und benutzt dieselben Regeln für Manifest-Dateien. Damit können Sie eine |
| 5043 | von Paketen einmal definieren und dann sowohl zum Erzeugen von Profilesn als | 5231 | Reihe von Paketen einmal definieren und dann sowohl zum Erzeugen von |
| 5044 | auch zum Erzeugen von Archiven benutzen, letztere für Maschinen, auf denen | 5232 | Profilesn als auch zum Erzeugen von Archiven benutzen, letztere für |
| 5045 | Guix nicht installiert ist. Beachten Sie, dass Sie @emph{entweder} eine | 5233 | Maschinen, auf denen Guix nicht installiert ist. Beachten Sie, dass Sie |
| 5046 | Manifest-Datei @emph{oder} eine Liste von Paketen angeben können, aber nicht | 5234 | @emph{entweder} eine Manifest-Datei @emph{oder} eine Liste von Paketen |
| 5047 | beides. | 5235 | angeben können, aber nicht beides. |
| 5048 | 5236 | ||
| 5049 | @item --system=@var{System} | 5237 | @item --system=@var{System} |
| 5050 | @itemx -s @var{System} | 5238 | @itemx -s @var{System} |
| 5051 | Versuchen, für die angegebene Art von @var{System} geeignete Binärdateien zu | 5239 | Versuchen, für die angegebene Art von @var{System} geeignete Binärdateien zu |
| 5052 | erstellen — z.B. @code{i686-linux} — statt für die Art von System, das die | 5240 | erstellen — z.B.@: @code{i686-linux} — statt für die Art von System, das die |
| 5053 | Erstellung durchführt. | 5241 | Erstellung durchführt. |
| 5054 | 5242 | ||
| 5055 | @item --target=@var{Tripel} | 5243 | @item --target=@var{Tripel} |
| 5056 | @cindex Cross-Kompilieren | 5244 | @cindex Cross-Kompilieren |
| 5057 | Lässt für das angegebene @var{Tripel} cross-erstellen, dieses muss ein | 5245 | Lässt für das angegebene @var{Tripel} cross-erstellen, dieses muss ein |
| 5058 | gültiges GNU-Tripel wie z.B. @code{"mips64el-linux-gnu"} sein | 5246 | gültiges GNU-Tripel wie z.B.@: @code{"mips64el-linux-gnu"} sein (siehe |
| 5059 | (@pxref{Specifying target triplets, GNU configuration triplets,, autoconf, | 5247 | @ref{Specifying target triplets, GNU configuration triplets,, autoconf, |
| 5060 | Autoconf}). | 5248 | Autoconf}). |
| 5061 | 5249 | ||
| 5062 | @item --compression=@var{Werkzeug} | 5250 | @item --compression=@var{Werkzeug} |
| @@ -5080,21 +5268,23 @@ Verknüpfung @file{/opt/gnu/bin} auf das Unterverzeichnis @file{bin} im | |||
| 5080 | Profil erzeugt. | 5268 | Profil erzeugt. |
| 5081 | 5269 | ||
| 5082 | @item --save-provenance | 5270 | @item --save-provenance |
| 5083 | Save provenance information for the packages passed on the command line. | 5271 | Provenienzinformationen für die auf der Befehlszeile übergebenen Pakete |
| 5084 | Provenance information includes the URL and commit of the channels in use | 5272 | speichern. Zu den Provenienzinformationen gehören die URL und der Commit |
| 5085 | (@pxref{Kanäle}). | 5273 | jedes benutzten Kanals (siehe @ref{Kanäle}). |
| 5086 | 5274 | ||
| 5087 | Provenance information is saved in the | 5275 | Provenienzinformationen werden in der Datei |
| 5088 | @file{/gnu/store/@dots{}-profile/manifest} file in the pack, along with the | 5276 | @file{/gnu/store/@dots{}-profile/manifest} im Bündel zusammen mit den |
| 5089 | usual package metadata---the name and version of each package, their | 5277 | üblichen Paketmetadaten abgespeichert — also Name und Version jedes Pakets, |
| 5090 | propagated inputs, and so on. It is useful information to the recipient of | 5278 | welche Eingaben dabei propagiert werden und so weiter. Die Informationen |
| 5091 | the pack, who then knows how the pack was (supposedly) obtained. | 5279 | nützen den Empfängern des Bündels, weil sie dann wissen, woraus das Bündel |
| 5092 | 5280 | (angeblich) besteht. | |
| 5093 | This option is not enabled by default because, like timestamps, provenance | 5281 | |
| 5094 | information contributes nothing to the build process. In other words, there | 5282 | Der Vorgabe nach wird diese Befehlszeilenoption @emph{nicht} verwendet, weil |
| 5095 | is an infinity of channel URLs and commit IDs that can lead to the same | 5283 | Provenienzinformationen genau wie Zeitstempel nichts zum Erstellungsprozess |
| 5096 | pack. Recording such ``silent'' metadata in the output thus potentially | 5284 | beitragen. Mit anderen Worten gibt es unendlich viele Kanal-URLs und |
| 5097 | breaks the source-to-binary bitwise reproducibility property. | 5285 | Commit-IDs, aus denen dasselbe Bündel stammen könnte. Wenn solche »stillen« |
| 5286 | Metadaten Teil des Ausgabe sind, dann wird also die bitweise | ||
| 5287 | Reproduzierbarkeit von Quellcode zu Binärdateien eingeschränkt. | ||
| 5098 | 5288 | ||
| 5099 | @item --localstatedir | 5289 | @item --localstatedir |
| 5100 | @itemx --profile-name=@var{Name} | 5290 | @itemx --profile-name=@var{Name} |
| @@ -5104,15 +5294,15 @@ aufnehmen, speziell auch das Profil | |||
| 5104 | @var{Name} ist @code{guix-profile}, was @file{~root/.guix-profile} | 5294 | @var{Name} ist @code{guix-profile}, was @file{~root/.guix-profile} |
| 5105 | entspricht. | 5295 | entspricht. |
| 5106 | 5296 | ||
| 5107 | @file{/var/guix} enthält die Store-Datenbank (@pxref{Der Store}) sowie die | 5297 | @file{/var/guix} enthält die Store-Datenbank (siehe @ref{Der Store}) sowie |
| 5108 | Müllsammlerwurzeln (@pxref{Aufruf von guix gc}). Es ins Bündel aufzunehmen, | 5298 | die Müllsammlerwurzeln (siehe @ref{Aufruf von guix gc}). Es ins Bündel |
| 5109 | bedeutet, dass der enthaltene Store »vollständig« ist und von Guix verwaltet | 5299 | aufzunehmen, bedeutet, dass der enthaltene Store »vollständig« ist und von |
| 5110 | werden kann, andernfalls wäre der Store im Bündel »tot« und nach dem | 5300 | Guix verwaltet werden kann, andernfalls wäre der Store im Bündel »tot« und |
| 5111 | Auspacken des Bündels könnte Guix keine Objekte mehr dort hinzufügen oder | 5301 | nach dem Auspacken des Bündels könnte Guix keine Objekte mehr dort |
| 5112 | entfernen. | 5302 | hinzufügen oder entfernen. |
| 5113 | 5303 | ||
| 5114 | Ein Anwendungsfall hierfür ist der eigenständige, alle Komponenten | 5304 | Ein Anwendungsfall hierfür ist der eigenständige, alle Komponenten |
| 5115 | umfassende binäre Tarball von Guix (@pxref{Aus Binärdatei installieren}). | 5305 | umfassende binäre Tarball von Guix (siehe @ref{Aus Binärdatei installieren}). |
| 5116 | 5306 | ||
| 5117 | @item --bootstrap | 5307 | @item --bootstrap |
| 5118 | Mit den Bootstrap-Binärdateien das Bündel erstellen. Diese Option ist nur | 5308 | Mit den Bootstrap-Binärdateien das Bündel erstellen. Diese Option ist nur |
| @@ -5120,8 +5310,8 @@ für Guix-Entwickler nützlich. | |||
| 5120 | @end table | 5310 | @end table |
| 5121 | 5311 | ||
| 5122 | Außerdem unterstützt @command{guix pack} alle gemeinsamen | 5312 | Außerdem unterstützt @command{guix pack} alle gemeinsamen |
| 5123 | Erstellungsoptionen (@pxref{Gemeinsame Erstellungsoptionen}) und alle | 5313 | Erstellungsoptionen (siehe @ref{Gemeinsame Erstellungsoptionen}) und alle |
| 5124 | Paketumwandlungsoptionen (@pxref{Paketumwandlungsoptionen}). | 5314 | Paketumwandlungsoptionen (siehe @ref{Paketumwandlungsoptionen}). |
| 5125 | 5315 | ||
| 5126 | 5316 | ||
| 5127 | @c ********************************************************************* | 5317 | @c ********************************************************************* |
| @@ -5172,16 +5362,17 @@ Dieses Kapitel beschreibt der Reihe nach all diese Programmierschnittstellen | |||
| 5172 | @node Paketmodule | 5362 | @node Paketmodule |
| 5173 | @section Paketmodule | 5363 | @section Paketmodule |
| 5174 | 5364 | ||
| 5175 | From a programming viewpoint, the package definitions of the GNU | 5365 | Aus Programmierersicht werden die Paketdefinitionen der GNU-Distribution als |
| 5176 | distribution are provided by Guile modules in the @code{(gnu packages | 5366 | Guile-Module in Namensräumen wie @code{(gnu packages @dots{})} sichtbar |
| 5177 | @dots{})} name space@footnote{Note that packages under the @code{(gnu | 5367 | gemacht@footnote{Beachten Sie, dass Pakete unter dem Modulnamensraum |
| 5178 | packages @dots{})} module name space are not necessarily ``GNU packages''. | 5368 | @code{(gnu packages @dots{})} nicht notwendigerweise auch »GNU-Pakete« |
| 5179 | This module naming scheme follows the usual Guile module naming convention: | 5369 | sind. Dieses Schema für die Benennung von Modulen folgt lediglich den |
| 5180 | @code{gnu} means that these modules are distributed as part of the GNU | 5370 | üblichen Guile-Konventionen: @code{gnu} bedeutet, dass die Module als Teil |
| 5181 | system, and @code{packages} identifies modules that define packages.} | 5371 | des GNU-Systems ausgeliefert werden, und @code{packages} gruppiert Module |
| 5182 | (@pxref{Module, Guile modules,, guile, GNU Guile Reference Manual}). For | 5372 | mit Paketdefinitionen.} (siehe @ref{Module, Guile modules,, guile, GNU |
| 5183 | instance, the @code{(gnu packages emacs)} module exports a variable named | 5373 | Guile Reference Manual}). Zum Beispiel exportiert das Modul @code{(gnu |
| 5184 | @code{emacs}, which is bound to a @code{<package>} object (@pxref{Pakete definieren}). | 5374 | packages emacs)} eine Variable namens @code{emacs}, die an ein |
| 5375 | @code{<package>}-Objekt gebunden ist (@pxref{Pakete definieren}). | ||
| 5185 | 5376 | ||
| 5186 | The @code{(gnu packages @dots{})} module name space is automatically scanned | 5377 | The @code{(gnu packages @dots{})} module name space is automatically scanned |
| 5187 | for packages by the command-line tools. For instance, when running | 5378 | for packages by the command-line tools. For instance, when running |
| @@ -5269,28 +5460,28 @@ GNU Hello so aus: | |||
| 5269 | Auch ohne ein Experte in Scheme zu sein, könnten Leser erraten haben, was | 5460 | Auch ohne ein Experte in Scheme zu sein, könnten Leser erraten haben, was |
| 5270 | die verschiedenen Felder dabei bedeuten. Dieser Ausdruck bindet die Variable | 5461 | die verschiedenen Felder dabei bedeuten. Dieser Ausdruck bindet die Variable |
| 5271 | @code{hello} an ein @code{<package>}-Objekt, was an sich nur ein Verbund | 5462 | @code{hello} an ein @code{<package>}-Objekt, was an sich nur ein Verbund |
| 5272 | (Record) ist (@pxref{SRFI-9, Scheme records,, guile, GNU Guile Reference | 5463 | (Record) ist (siehe @ref{SRFI-9, Scheme records,, guile, GNU Guile Reference |
| 5273 | Manual}). Die Felder dieses Paket-Objekts lassen sich mit den Prozeduren aus | 5464 | Manual}). Die Felder dieses Paket-Objekts lassen sich mit den Prozeduren aus |
| 5274 | dem Modul @code{(guix packages)} auslesen, zum Beispiel liefert | 5465 | dem Modul @code{(guix packages)} auslesen, zum Beispiel liefert |
| 5275 | @code{(package-name hello)} — Überraschung! — @code{"hello"}. | 5466 | @code{(package-name hello)} — Überraschung! — @code{"hello"}. |
| 5276 | 5467 | ||
| 5277 | Mit etwas Glück können Sie die Definition vielleicht teilweise oder sogar | 5468 | Mit etwas Glück können Sie die Definition vielleicht teilweise oder sogar |
| 5278 | ganz aus einer anderen Paketsammlung importieren, indem Sie den Befehl | 5469 | ganz aus einer anderen Paketsammlung importieren, indem Sie den Befehl |
| 5279 | @code{guix import} verwenden (@pxref{Aufruf von guix import}). | 5470 | @code{guix import} verwenden (siehe @ref{Aufruf von guix import}). |
| 5280 | 5471 | ||
| 5281 | In obigem Beispiel wurde @var{hello} in einem eigenen Modul ganz für sich | 5472 | In obigem Beispiel wurde @var{hello} in einem eigenen Modul ganz für sich |
| 5282 | alleine definiert, und zwar @code{(gnu packages hello)}. Technisch gesehen | 5473 | alleine definiert, und zwar @code{(gnu packages hello)}. Technisch gesehen |
| 5283 | muss es nicht unbedingt in einem solchen Modul definiert werden, aber es ist | 5474 | muss es nicht unbedingt in einem solchen Modul definiert werden, aber es ist |
| 5284 | bequem, denn alle Module unter @code{(gnu packages @dots{})} werden | 5475 | bequem, denn alle Module unter @code{(gnu packages @dots{})} werden |
| 5285 | automatisch von den Befehlszeilenwerkzeugen gefunden (@pxref{Paketmodule}). | 5476 | automatisch von den Befehlszeilenwerkzeugen gefunden (siehe @ref{Paketmodule}). |
| 5286 | 5477 | ||
| 5287 | Ein paar Dinge sind noch erwähnenswert in der obigen Paketdefinition: | 5478 | Ein paar Dinge sind noch erwähnenswert in der obigen Paketdefinition: |
| 5288 | 5479 | ||
| 5289 | @itemize | 5480 | @itemize |
| 5290 | @item | 5481 | @item |
| 5291 | Das @code{source}-Feld für die Quelle des Pakets ist ein | 5482 | Das @code{source}-Feld für die Quelle des Pakets ist ein |
| 5292 | @code{<origin>}-Objekt, was den Paketursprung angibt (siehe @pxref{»origin«-Referenz}, für eine vollständige Referenz). Hier wird dafür die Methode | 5483 | @code{<origin>}-Objekt, was den Paketursprung angibt (siehe @ref{»origin«-Referenz} für eine vollständige Referenz). Hier wird dafür die Methode |
| 5293 | @code{url-fetch} aus dem Modul @code{(guix download)} benutzt, d.h. die | 5484 | @code{url-fetch} aus dem Modul @code{(guix download)} benutzt, d.h.@: die |
| 5294 | Quelle ist eine Datei, die über FTP oder HTTP heruntergeladen werden soll. | 5485 | Quelle ist eine Datei, die über FTP oder HTTP heruntergeladen werden soll. |
| 5295 | 5486 | ||
| 5296 | Das Präfix @code{mirror://gnu} lässt @code{url-fetch} einen der | 5487 | Das Präfix @code{mirror://gnu} lässt @code{url-fetch} einen der |
| @@ -5300,8 +5491,8 @@ Das Feld @code{sha256} legt den erwarteten SHA256-Hashwert der | |||
| 5300 | herunterzuladenden Datei fest. Ihn anzugeben ist Pflicht und er ermöglicht | 5491 | herunterzuladenden Datei fest. Ihn anzugeben ist Pflicht und er ermöglicht |
| 5301 | es Guix, die Integrität der Datei zu überprüfen. Die Form @code{(base32 | 5492 | es Guix, die Integrität der Datei zu überprüfen. Die Form @code{(base32 |
| 5302 | @dots{})} geht der base32-Darstellung des Hash-Wertes voraus. Sie finden die | 5493 | @dots{})} geht der base32-Darstellung des Hash-Wertes voraus. Sie finden die |
| 5303 | base32-Darstellung mit Hilfe der Befehle @code{guix download} | 5494 | base32-Darstellung mit Hilfe der Befehle @code{guix download} (siehe |
| 5304 | (@pxref{Aufruf von guix download}) und @code{guix hash} (@pxref{Aufruf von guix hash}). | 5495 | @ref{Aufruf von guix download}) und @code{guix hash} (siehe @ref{Aufruf von guix hash}). |
| 5305 | 5496 | ||
| 5306 | @cindex Patches | 5497 | @cindex Patches |
| 5307 | Wenn nötig kann in der @code{origin}-Form auch ein @code{patches}-Feld | 5498 | Wenn nötig kann in der @code{origin}-Form auch ein @code{patches}-Feld |
| @@ -5312,14 +5503,14 @@ Quellcode zu modifizieren ist. | |||
| 5312 | @item | 5503 | @item |
| 5313 | @cindex GNU-Erstellungssystem | 5504 | @cindex GNU-Erstellungssystem |
| 5314 | Das Feld @code{build-system} legt fest, mit welcher Prozedur das Paket | 5505 | Das Feld @code{build-system} legt fest, mit welcher Prozedur das Paket |
| 5315 | erstellt werden soll (@pxref{Erstellungssysteme}). In diesem Beispiel steht | 5506 | erstellt werden soll (siehe @ref{Erstellungssysteme}). In diesem Beispiel steht |
| 5316 | @var{gnu-build-system} für das wohlbekannte GNU-Erstellungssystem, wo Pakete | 5507 | @var{gnu-build-system} für das wohlbekannte GNU-Erstellungssystem, wo Pakete |
| 5317 | mit der üblichen Befehlsfolge @code{./configure && make && make check && | 5508 | mit der üblichen Befehlsfolge @code{./configure && make && make check && |
| 5318 | make install} konfiguriert, erstellt und installiert werden. | 5509 | make install} konfiguriert, erstellt und installiert werden. |
| 5319 | 5510 | ||
| 5320 | @item | 5511 | @item |
| 5321 | Das Feld @code{arguments} gibt an, welche Optionen dem Erstellungssystem | 5512 | Das Feld @code{arguments} gibt an, welche Optionen dem Erstellungssystem |
| 5322 | mitgegeben werden sollen (@pxref{Erstellungssysteme}). In diesem Fall | 5513 | mitgegeben werden sollen (siehe @ref{Erstellungssysteme}). In diesem Fall |
| 5323 | interpretiert @var{gnu-build-system} diese als Auftrag, @file{configure} mit | 5514 | interpretiert @var{gnu-build-system} diese als Auftrag, @file{configure} mit |
| 5324 | der Befehlszeilenoption @code{--enable-silent-rules} auszuführen. | 5515 | der Befehlszeilenoption @code{--enable-silent-rules} auszuführen. |
| 5325 | 5516 | ||
| @@ -5330,24 +5521,24 @@ der Befehlszeilenoption @code{--enable-silent-rules} auszuführen. | |||
| 5330 | Was hat es mit diesen einfachen Anführungszeichen (@code{'}) auf sich? Sie | 5521 | Was hat es mit diesen einfachen Anführungszeichen (@code{'}) auf sich? Sie |
| 5331 | gehören zur Syntax von Scheme und führen eine wörtlich zu interpretierende | 5522 | gehören zur Syntax von Scheme und führen eine wörtlich zu interpretierende |
| 5332 | Datenlisten ein; dies nennt sich Maskierung oder Quotierung. @code{'} ist | 5523 | Datenlisten ein; dies nennt sich Maskierung oder Quotierung. @code{'} ist |
| 5333 | synonym mit @code{quote}. @xref{Expression Syntax, quoting,, guile, GNU | 5524 | synonym mit @code{quote}. @ref{Expression Syntax, quoting,, guile, GNU Guile |
| 5334 | Guile Reference Manual}, enthält weitere Details. Hierbei ist also der Wert | 5525 | Reference Manual} enthält weitere Details. Hierbei ist also der Wert des |
| 5335 | des @code{arguments}-Feldes eine Liste von Argumenten, die an das | 5526 | @code{arguments}-Feldes eine Liste von Argumenten, die an das |
| 5336 | Erstellungssystem weitergereicht werden, wie bei @code{apply} (@pxref{Fly | 5527 | Erstellungssystem weitergereicht werden, wie bei @code{apply} (siehe |
| 5337 | Evaluation, @code{apply},, guile, GNU Guile Reference Manual}). | 5528 | @ref{Fly Evaluation, @code{apply},, guile, GNU Guile Reference Manual}). |
| 5338 | 5529 | ||
| 5339 | Ein Doppelkreuz gefolgt von einem Doppelpunkt (@code{#:}) definiert ein | 5530 | Ein Doppelkreuz gefolgt von einem Doppelpunkt (@code{#:}) definiert ein |
| 5340 | Scheme-@dfn{Schlüsselwort} (@pxref{Keywords,,, guile, GNU Guile Reference | 5531 | Scheme-@dfn{Schlüsselwort} (siehe @ref{Keywords,,, guile, GNU Guile |
| 5341 | Manual}) und @code{#:configure-flags} ist ein Schlüsselwort, um eine | 5532 | Reference Manual}) und @code{#:configure-flags} ist ein Schlüsselwort, um |
| 5342 | Befehlszeilenoption an das Erstellungssystem mitzugeben (@pxref{Coding With | 5533 | eine Befehlszeilenoption an das Erstellungssystem mitzugeben (siehe |
| 5343 | Keywords,,, guile, GNU Guile Reference Manual}). | 5534 | @ref{Coding With Keywords,,, guile, GNU Guile Reference Manual}). |
| 5344 | 5535 | ||
| 5345 | @item | 5536 | @item |
| 5346 | Das Feld @code{inputs} legt Eingaben an den Erstellungsprozess fest — | 5537 | Das Feld @code{inputs} legt Eingaben an den Erstellungsprozess fest — d.h.@: |
| 5347 | d.h. Abhängigkeiten des Pakets zur Erstellungs- oder Laufzeit. Hier | 5538 | Abhängigkeiten des Pakets zur Erstellungs- oder Laufzeit. Hier definieren |
| 5348 | definieren wir eine Eingabe namens @code{"gawk"}, deren Wert wir auf den | 5539 | wir eine Eingabe namens @code{"gawk"}, deren Wert wir auf den Wert der |
| 5349 | Wert der @var{gawk}-Variablen festlegen; @var{gawk} ist auch selbst wiederum | 5540 | @var{gawk}-Variablen festlegen; @var{gawk} ist auch selbst wiederum an ein |
| 5350 | an ein @code{<package>}-Objekt als Variablenwert gebunden. | 5541 | @code{<package>}-Objekt als Variablenwert gebunden. |
| 5351 | 5542 | ||
| 5352 | @cindex Backquote (Quasimaskierung) | 5543 | @cindex Backquote (Quasimaskierung) |
| 5353 | @findex ` | 5544 | @findex ` |
| @@ -5362,12 +5553,13 @@ Synonym @code{quasiquote} schreiben) können wir eine wörtlich als Daten | |||
| 5362 | interpretierte Liste im @code{inputs}-Feld einführen, aber bei dieser | 5553 | interpretierte Liste im @code{inputs}-Feld einführen, aber bei dieser |
| 5363 | »Quasimaskierung« kann @code{,} (ein Komma, oder dessen Synonym | 5554 | »Quasimaskierung« kann @code{,} (ein Komma, oder dessen Synonym |
| 5364 | @code{unquote}) benutzt werden, um den ausgewerteten Wert eines Ausdrucks in | 5555 | @code{unquote}) benutzt werden, um den ausgewerteten Wert eines Ausdrucks in |
| 5365 | diese Liste einzufügen (@pxref{Expression Syntax, unquote,, guile, GNU Guile | 5556 | diese Liste einzufügen (siehe @ref{Expression Syntax, unquote,, guile, GNU |
| 5366 | Reference Manual}). | 5557 | Guile Reference Manual}). |
| 5367 | 5558 | ||
| 5368 | Beachten Sie, dass GCC, Coreutils, Bash und andere essenzielle Werkzeuge | 5559 | Beachten Sie, dass GCC, Coreutils, Bash und andere essenzielle Werkzeuge |
| 5369 | hier nicht als Eingaben aufgeführt werden müssen. Stattdessen sorgt schon | 5560 | hier nicht als Eingaben aufgeführt werden müssen. Stattdessen sorgt schon |
| 5370 | @var{gnu-build-system} dafür, dass diese vorhanden sein müssen (@pxref{Erstellungssysteme}). | 5561 | @var{gnu-build-system} dafür, dass diese vorhanden sein müssen (siehe |
| 5562 | @ref{Erstellungssysteme}). | ||
| 5371 | 5563 | ||
| 5372 | Sämtliche anderen Abhängigkeiten müssen aber im @code{inputs}-Feld | 5564 | Sämtliche anderen Abhängigkeiten müssen aber im @code{inputs}-Feld |
| 5373 | aufgezählt werden. Jede hier nicht angegebene Abhängigkeit wird während des | 5565 | aufgezählt werden. Jede hier nicht angegebene Abhängigkeit wird während des |
| @@ -5375,41 +5567,43 @@ Erstellungsprozesses schlicht nicht verfügbar sein, woraus ein | |||
| 5375 | Erstellungsfehler resultieren kann. | 5567 | Erstellungsfehler resultieren kann. |
| 5376 | @end itemize | 5568 | @end itemize |
| 5377 | 5569 | ||
| 5378 | Siehe @xref{»package«-Referenz} für eine umfassende Beschreibung aller | 5570 | Siehe @ref{»package«-Referenz} für eine umfassende Beschreibung aller |
| 5379 | erlaubten Felder. | 5571 | erlaubten Felder. |
| 5380 | 5572 | ||
| 5381 | Sobald eine Paketdefinition eingesetzt wurde, können Sie das Paket mit Hilfe | 5573 | Sobald eine Paketdefinition eingesetzt wurde, können Sie das Paket mit Hilfe |
| 5382 | des Befehlszeilenwerkzeugs @code{guix build} dann auch tatsächlich erstellen | 5574 | des Befehlszeilenwerkzeugs @code{guix build} dann auch tatsächlich erstellen |
| 5383 | (@pxref{Aufruf von guix build}) und dabei jegliche Erstellungsfehler, auf die | 5575 | (siehe @ref{Aufruf von guix build}) und dabei jegliche Erstellungsfehler, auf |
| 5384 | Sie stoßen, beseitigen (@pxref{Fehlschläge beim Erstellen untersuchen}). Sie können den | 5576 | die Sie stoßen, beseitigen (siehe @ref{Fehlschläge beim Erstellen untersuchen}). Sie |
| 5385 | Befehl @command{guix edit} benutzen, um leicht zur Paketdefinition | 5577 | können den Befehl @command{guix edit} benutzen, um leicht zur |
| 5386 | zurückzuspringen (@pxref{Aufruf von guix edit}). Unter @xref{Paketrichtlinien} finden Sie mehr Informationen darüber, wie Sie Paketdefinitionen | 5578 | Paketdefinition zurückzuspringen (siehe @ref{Aufruf von guix edit}). Unter |
| 5387 | testen, und unter @ref{Aufruf von guix lint} finden Sie Informationen, wie Sie | 5579 | @ref{Paketrichtlinien} finden Sie mehr Informationen darüber, wie Sie |
| 5388 | prüfen, ob eine Definition alle Stilkonventionen einhält. | 5580 | Paketdefinitionen testen, und unter @ref{Aufruf von guix lint} finden Sie |
| 5581 | Informationen, wie Sie prüfen, ob eine Definition alle Stilkonventionen | ||
| 5582 | einhält. | ||
| 5389 | @vindex GUIX_PACKAGE_PATH | 5583 | @vindex GUIX_PACKAGE_PATH |
| 5390 | Zuletzt finden Sie unter @pxref{Kanäle} Informationen, wie Sie die | 5584 | Zuletzt finden Sie unter @ref{Kanäle} Informationen, wie Sie die |
| 5391 | Distribution um Ihre eigenen Pakete in einem »Kanal« erweitern. | 5585 | Distribution um Ihre eigenen Pakete in einem »Kanal« erweitern. |
| 5392 | 5586 | ||
| 5393 | Zu all dem sei auch erwähnt, dass Sie das Aktualisieren einer | 5587 | Zu all dem sei auch erwähnt, dass Sie das Aktualisieren einer |
| 5394 | Paketdefinition auf eine vom Anbieter neu veröffentlichte Version mit dem | 5588 | Paketdefinition auf eine vom Anbieter neu veröffentlichte Version mit dem |
| 5395 | Befehl @command{guix refresh} teilweise automatisieren können | 5589 | Befehl @command{guix refresh} teilweise automatisieren können (siehe |
| 5396 | (@pxref{Aufruf von guix refresh}). | 5590 | @ref{Aufruf von guix refresh}). |
| 5397 | 5591 | ||
| 5398 | Hinter den Kulissen wird die einem @code{<package>}-Objekt entsprechende | 5592 | Hinter den Kulissen wird die einem @code{<package>}-Objekt entsprechende |
| 5399 | Ableitung zuerst durch @code{package-derivation} berechnet. Diese Ableitung | 5593 | Ableitung zuerst durch @code{package-derivation} berechnet. Diese Ableitung |
| 5400 | wird in der @code{.drv}-Datei unter @file{/gnu/store} gespeichert. Die von | 5594 | wird in der @code{.drv}-Datei unter @file{/gnu/store} gespeichert. Die von |
| 5401 | ihr vorgeschriebenen Erstellungsaktionen können dann durch die Prozedur | 5595 | ihr vorgeschriebenen Erstellungsaktionen können dann durch die Prozedur |
| 5402 | @code{build-derivations} umgesetzt werden (@pxref{Der Store}). | 5596 | @code{build-derivations} umgesetzt werden (siehe @ref{Der Store}). |
| 5403 | 5597 | ||
| 5404 | @deffn {Scheme-Prozedur} package-derivation @var{Store} @var{Paket} [@var{System}] | 5598 | @deffn {Scheme-Prozedur} package-derivation @var{Store} @var{Paket} [@var{System}] |
| 5405 | Das @code{<derivation>}-Objekt zum @var{Paket} für das angegebene | 5599 | Das @code{<derivation>}-Objekt zum @var{Paket} für das angegebene |
| 5406 | @var{System} liefern (@pxref{Ableitungen}). | 5600 | @var{System} liefern (siehe @ref{Ableitungen}). |
| 5407 | 5601 | ||
| 5408 | Als @var{Paket} muss ein gültiges @code{<package>}-Objekt angegeben werden | 5602 | Als @var{Paket} muss ein gültiges @code{<package>}-Objekt angegeben werden |
| 5409 | und das @var{System} muss eine Zeichenkette sein, die das Zielsystem angibt | 5603 | und das @var{System} muss eine Zeichenkette sein, die das Zielsystem angibt |
| 5410 | — z.B. @code{"x86_64-linux"} für ein auf x86_64 laufendes Linux-basiertes | 5604 | — z.B.@: @code{"x86_64-linux"} für ein auf x86_64 laufendes, Linux-basiertes |
| 5411 | GNU-System. @var{Store} muss eine Verbindung zum Daemon sein, der die | 5605 | GNU-System. @var{Store} muss eine Verbindung zum Daemon sein, der die |
| 5412 | Operationen auf dem Store durchführt (@pxref{Der Store}). | 5606 | Operationen auf dem Store durchführt (siehe @ref{Der Store}). |
| 5413 | @end deffn | 5607 | @end deffn |
| 5414 | 5608 | ||
| 5415 | @noindent | 5609 | @noindent |
| @@ -5423,8 +5617,8 @@ ein anderes System cross-erstellt. | |||
| 5423 | @var{System} aus für das @var{Ziel}-System. | 5617 | @var{System} aus für das @var{Ziel}-System. |
| 5424 | 5618 | ||
| 5425 | Als @var{Ziel} muss ein gültiges GNU-Tripel angegeben werden, was die | 5619 | Als @var{Ziel} muss ein gültiges GNU-Tripel angegeben werden, was die |
| 5426 | Ziel-Hardware und das zugehörige Betriebssystem beschreibt, wie | 5620 | Ziel-Hardware und das zugehörige Betriebssystem beschreibt, wie z.B.@: |
| 5427 | z.B. @code{"mips64el-linux-gnu"} (@pxref{Configuration Names, GNU | 5621 | @code{"mips64el-linux-gnu"} (siehe @ref{Configuration Names, GNU |
| 5428 | configuration triplets,, configure, GNU Configure and Build System}). | 5622 | configuration triplets,, configure, GNU Configure and Build System}). |
| 5429 | @end deffn | 5623 | @end deffn |
| 5430 | 5624 | ||
| @@ -5466,8 +5660,31 @@ Betrachten Sie dieses Beispiel: | |||
| 5466 | Hier definieren wir zuerst eine Umschreibeprozedur, die @var{openssl} durch | 5660 | Hier definieren wir zuerst eine Umschreibeprozedur, die @var{openssl} durch |
| 5467 | @var{libressl} ersetzt. Dann definieren wir damit eine @dfn{Variante} des | 5661 | @var{libressl} ersetzt. Dann definieren wir damit eine @dfn{Variante} des |
| 5468 | @var{git}-Pakets, die @var{libressl} statt @var{openssl} benutzt. Das ist | 5662 | @var{git}-Pakets, die @var{libressl} statt @var{openssl} benutzt. Das ist |
| 5469 | genau, was auch die Befehlszeilenoption @option{--with-input} tut | 5663 | genau, was auch die Befehlszeilenoption @option{--with-input} tut (siehe |
| 5470 | (@pxref{Paketumwandlungsoptionen, @option{--with-input}}). | 5664 | @ref{Paketumwandlungsoptionen, @option{--with-input}}). |
| 5665 | |||
| 5666 | The following variant of @code{package-input-rewriting} can match packages | ||
| 5667 | to be replaced by name rather than by identity. | ||
| 5668 | |||
| 5669 | @deffn {Scheme-Prozedur} package-input-rewriting/spec @var{Ersetzungen} | ||
| 5670 | Return a procedure that, given a package, applies the given | ||
| 5671 | @var{replacements} to all the package graph (excluding implicit inputs). | ||
| 5672 | @var{replacements} is a list of spec/procedures pair; each spec is a package | ||
| 5673 | specification such as @code{"gcc"} or @code{"guile@@2"}, and each procedure | ||
| 5674 | takes a matching package and returns a replacement for that package. | ||
| 5675 | @end deffn | ||
| 5676 | |||
| 5677 | The example above could be rewritten this way: | ||
| 5678 | |||
| 5679 | @example | ||
| 5680 | (define libressl-statt-openssl | ||
| 5681 | ;; Rekursiv alle Pakete namens "openssl" durch LibreSSL ersetzen. | ||
| 5682 | (package-input-rewriting/spec `(("openssl" . ,(const libressl))))) | ||
| 5683 | @end example | ||
| 5684 | |||
| 5685 | The key difference here is that, this time, packages are matched by spec and | ||
| 5686 | not by identity. In other words, any package in the graph that is called | ||
| 5687 | @code{openssl} will be replaced. | ||
| 5471 | 5688 | ||
| 5472 | Eine allgemeiner anwendbare Prozedur, um den Abhängigkeitsgraphen eines | 5689 | Eine allgemeiner anwendbare Prozedur, um den Abhängigkeitsgraphen eines |
| 5473 | Pakets umzuschreiben, ist @code{package-mapping}. Sie unterstützt beliebige | 5690 | Pakets umzuschreiben, ist @code{package-mapping}. Sie unterstützt beliebige |
| @@ -5491,7 +5708,7 @@ findet kein rekursiver Abstieg in dessen Abhängigkeiten statt. | |||
| 5491 | @subsection @code{package}-Referenz | 5708 | @subsection @code{package}-Referenz |
| 5492 | 5709 | ||
| 5493 | Dieser Abschnitt fasst alle in @code{package}-Deklarationen zur Verfügung | 5710 | Dieser Abschnitt fasst alle in @code{package}-Deklarationen zur Verfügung |
| 5494 | stehenden Optionen zusammen (@pxref{Pakete definieren}). | 5711 | stehenden Optionen zusammen (siehe @ref{Pakete definieren}). |
| 5495 | 5712 | ||
| 5496 | @deftp {Datentyp} package | 5713 | @deftp {Datentyp} package |
| 5497 | Dieser Datentyp steht für ein Paketrezept. | 5714 | Dieser Datentyp steht für ein Paketrezept. |
| @@ -5506,13 +5723,14 @@ Die Version des Pakets als Zeichenkette. | |||
| 5506 | @item @code{source} | 5723 | @item @code{source} |
| 5507 | Ein Objekt, das beschreibt, wie der Quellcode des Pakets bezogen werden | 5724 | Ein Objekt, das beschreibt, wie der Quellcode des Pakets bezogen werden |
| 5508 | soll. Meistens ist es ein @code{origin}-Objekt, welches für eine aus dem | 5725 | soll. Meistens ist es ein @code{origin}-Objekt, welches für eine aus dem |
| 5509 | Internet heruntergeladene Datei steht (@pxref{»origin«-Referenz}). Es kann | 5726 | Internet heruntergeladene Datei steht (siehe @ref{»origin«-Referenz}). Es |
| 5510 | aber auch ein beliebiges anderes »dateiähnliches« Objekt sein, wie z.B. ein | 5727 | kann aber auch ein beliebiges anderes »dateiähnliches« Objekt sein, wie |
| 5511 | @code{local-file}, was eine Datei im lokalen Dateisystem bezeichnet | 5728 | z.B.@: ein @code{local-file}, was eine Datei im lokalen Dateisystem |
| 5512 | (@pxref{G-Ausdrücke, @code{local-file}}). | 5729 | bezeichnet (siehe @ref{G-Ausdrücke, @code{local-file}}). |
| 5513 | 5730 | ||
| 5514 | @item @code{build-system} | 5731 | @item @code{build-system} |
| 5515 | Das Erstellungssystem, mit dem das Paket erstellt werden soll (@pxref{Erstellungssysteme}). | 5732 | Das Erstellungssystem, mit dem das Paket erstellt werden soll (siehe |
| 5733 | @ref{Erstellungssysteme}). | ||
| 5516 | 5734 | ||
| 5517 | @item @code{arguments} (Vorgabe: @code{'()}) | 5735 | @item @code{arguments} (Vorgabe: @code{'()}) |
| 5518 | Die Argumente, die an das Erstellungssystem übergeben werden sollen. Dies | 5736 | Die Argumente, die an das Erstellungssystem übergeben werden sollen. Dies |
| @@ -5528,7 +5746,7 @@ Bezeichnung für die Eingabe (als Zeichenkette) als erstes Element, dann ein | |||
| 5528 | »package«-, »origin«- oder »derivation«-Objekt (Paket, Ursprung oder | 5746 | »package«-, »origin«- oder »derivation«-Objekt (Paket, Ursprung oder |
| 5529 | Ableitung) als zweites Element und optional die Benennung der davon zu | 5747 | Ableitung) als zweites Element und optional die Benennung der davon zu |
| 5530 | benutzenden Ausgabe umfasst; letztere hat als Vorgabewert @code{"out"} | 5748 | benutzenden Ausgabe umfasst; letztere hat als Vorgabewert @code{"out"} |
| 5531 | (siehe @pxref{Pakete mit mehreren Ausgaben.} für mehr Informationen zu | 5749 | (siehe @ref{Pakete mit mehreren Ausgaben.} für mehr Informationen zu |
| 5532 | Paketausgaben). Im folgenden Beispiel etwa werden drei Eingaben festgelegt: | 5750 | Paketausgaben). Im folgenden Beispiel etwa werden drei Eingaben festgelegt: |
| 5533 | 5751 | ||
| 5534 | @example | 5752 | @example |
| @@ -5549,13 +5767,13 @@ der erstellenden Maschine (@emph{build}) erstellt. | |||
| 5549 | der Erstellung gebraucht werden, aber nicht zur Laufzeit des Programms | 5767 | der Erstellung gebraucht werden, aber nicht zur Laufzeit des Programms |
| 5550 | gebraucht werden. Beispiele sind Autoconf, Automake, pkg-config, Gettext | 5768 | gebraucht werden. Beispiele sind Autoconf, Automake, pkg-config, Gettext |
| 5551 | oder Bison. @command{guix lint} kann melden, ob wahrscheinlich Fehler in der | 5769 | oder Bison. @command{guix lint} kann melden, ob wahrscheinlich Fehler in der |
| 5552 | Auflistung sind (@pxref{Aufruf von guix lint}). | 5770 | Auflistung sind (siehe @ref{Aufruf von guix lint}). |
| 5553 | 5771 | ||
| 5554 | @anchor{package-propagated-inputs} | 5772 | @anchor{package-propagated-inputs} |
| 5555 | Schließlich ist @code{propagated-inputs} ähnlich wie @code{inputs}, aber die | 5773 | Schließlich ist @code{propagated-inputs} ähnlich wie @code{inputs}, aber die |
| 5556 | angegebenen Pakete werden automatisch mit ins Profil installiert, wenn das | 5774 | angegebenen Pakete werden automatisch mit ins Profil installiert, wenn das |
| 5557 | Paket installiert wird, zu dem sie gehören (siehe | 5775 | Paket installiert wird, zu dem sie gehören (siehe |
| 5558 | @pxref{package-cmd-propagated-inputs, @command{guix package}}, für | 5776 | @ref{package-cmd-propagated-inputs, @command{guix package}} für |
| 5559 | Informationen darüber, wie @command{guix package} mit propagierten Eingaben | 5777 | Informationen darüber, wie @command{guix package} mit propagierten Eingaben |
| 5560 | umgeht). | 5778 | umgeht). |
| 5561 | 5779 | ||
| @@ -5572,13 +5790,9 @@ Bibliotheken zur Laufzeit den von ihnen benötigten Code finden können, | |||
| 5572 | müssen deren Laufzeit-Abhängigkeiten in @code{propagated-inputs} statt in | 5790 | müssen deren Laufzeit-Abhängigkeiten in @code{propagated-inputs} statt in |
| 5573 | @code{inputs} aufgeführt werden. | 5791 | @code{inputs} aufgeführt werden. |
| 5574 | 5792 | ||
| 5575 | @item @code{self-native-input?} (Vorgabe: @code{#f}) | ||
| 5576 | Dieses boolesche Feld gibt an, ob das Paket sich selbst als eine native | ||
| 5577 | Eingabe beim Cross-Kompilieren braucht. | ||
| 5578 | |||
| 5579 | @item @code{outputs} (Vorgabe: @code{'("out")}) | 5793 | @item @code{outputs} (Vorgabe: @code{'("out")}) |
| 5580 | Die Liste der Benennungen der Ausgaben des Pakets. Der Abschnitt | 5794 | Die Liste der Benennungen der Ausgaben des Pakets. Der Abschnitt |
| 5581 | @xref{Pakete mit mehreren Ausgaben.} beschreibt übliche Nutzungen | 5795 | @ref{Pakete mit mehreren Ausgaben.} beschreibt übliche Nutzungen |
| 5582 | zusätzlicher Ausgaben. | 5796 | zusätzlicher Ausgaben. |
| 5583 | 5797 | ||
| 5584 | @item @code{native-search-paths} (Vorgabe: @code{'()}) | 5798 | @item @code{native-search-paths} (Vorgabe: @code{'()}) |
| @@ -5590,7 +5804,7 @@ beschreiben. | |||
| 5590 | @item @code{replacement} (Vorgabe: @code{#f}) | 5804 | @item @code{replacement} (Vorgabe: @code{#f}) |
| 5591 | Dies muss entweder @code{#f} oder ein package-Objekt sein, das als Ersatz | 5805 | Dies muss entweder @code{#f} oder ein package-Objekt sein, das als Ersatz |
| 5592 | (@dfn{replacement}) dieses Pakets benutzt werden soll. Im Abschnitt | 5806 | (@dfn{replacement}) dieses Pakets benutzt werden soll. Im Abschnitt |
| 5593 | @xref{Sicherheitsaktualisierungen, grafts}, wird dies erklärt. | 5807 | @ref{Sicherheitsaktualisierungen, grafts} wird dies erklärt. |
| 5594 | 5808 | ||
| 5595 | @item @code{synopsis} | 5809 | @item @code{synopsis} |
| 5596 | Eine einzeilige Beschreibung des Pakets. | 5810 | Eine einzeilige Beschreibung des Pakets. |
| @@ -5621,12 +5835,33 @@ dieses Feld nicht automatisch berichtigt wird. | |||
| 5621 | @end table | 5835 | @end table |
| 5622 | @end deftp | 5836 | @end deftp |
| 5623 | 5837 | ||
| 5838 | @deffn {Scheme Syntax} this-package | ||
| 5839 | When used in the @emph{lexical scope} of a package field definition, this | ||
| 5840 | identifier resolves to the package being defined. | ||
| 5841 | |||
| 5842 | The example below shows how to add a package as a native input of itself | ||
| 5843 | when cross-compiling: | ||
| 5844 | |||
| 5845 | @example | ||
| 5846 | (package | ||
| 5847 | (name "guile") | ||
| 5848 | ;; ... | ||
| 5849 | |||
| 5850 | ;; When cross-compiled, Guile, for example, depends on | ||
| 5851 | ;; a native version of itself. Add it here. | ||
| 5852 | (native-inputs (if (%current-target-system) | ||
| 5853 | `(("self" ,this-package)) | ||
| 5854 | '()))) | ||
| 5855 | @end example | ||
| 5856 | |||
| 5857 | It is an error to refer to @code{this-package} outside a package definition. | ||
| 5858 | @end deffn | ||
| 5624 | 5859 | ||
| 5625 | @node »origin«-Referenz | 5860 | @node »origin«-Referenz |
| 5626 | @subsection @code{origin}-Referenz | 5861 | @subsection @code{origin}-Referenz |
| 5627 | 5862 | ||
| 5628 | Dieser Abschnitt fasst alle Optionen zusammen, die in | 5863 | Dieser Abschnitt fasst alle Optionen zusammen, die in |
| 5629 | @code{origin}-Deklarationen zur Verfügung stehen (@pxref{Pakete definieren}). | 5864 | @code{origin}-Deklarationen zur Verfügung stehen (siehe @ref{Pakete definieren}). |
| 5630 | 5865 | ||
| 5631 | @deftp {Datentyp} origin | 5866 | @deftp {Datentyp} origin |
| 5632 | Mit diesem Datentyp wird ein Ursprung, von dem Quellcode geladen werden | 5867 | Mit diesem Datentyp wird ein Ursprung, von dem Quellcode geladen werden |
| @@ -5643,7 +5878,7 @@ eine Liste solcher URLs. | |||
| 5643 | @item @code{method} | 5878 | @item @code{method} |
| 5644 | Eine Prozedur, die die URI verwertet. | 5879 | Eine Prozedur, die die URI verwertet. |
| 5645 | 5880 | ||
| 5646 | Beispiele sind unter Anderem: | 5881 | Beispiele sind unter anderem: |
| 5647 | 5882 | ||
| 5648 | @table @asis | 5883 | @table @asis |
| 5649 | @item @var{url-fetch} aus @code{(guix download)} | 5884 | @item @var{url-fetch} aus @code{(guix download)} |
| @@ -5669,8 +5904,8 @@ Ein Bytevektor, der den SHA-256-Hash der Quelldateien | |||
| 5669 | enthält. Typischerweise wird hier mit der @code{base32}-Form der Bytevektor | 5904 | enthält. Typischerweise wird hier mit der @code{base32}-Form der Bytevektor |
| 5670 | aus einer Base-32-Zeichenkette generiert. | 5905 | aus einer Base-32-Zeichenkette generiert. |
| 5671 | 5906 | ||
| 5672 | Diese Informationen liefert Ihnen der Befehl @code{guix download} | 5907 | Diese Informationen liefert Ihnen der Befehl @code{guix download} (siehe |
| 5673 | (@pxref{Aufruf von guix download}) oder @code{guix hash} (@pxref{Aufruf von guix hash}). | 5908 | @ref{Aufruf von guix download}) oder @code{guix hash} (siehe @ref{Aufruf von guix hash}). |
| 5674 | 5909 | ||
| 5675 | @item @code{file-name} (Vorgabe: @code{#f}) | 5910 | @item @code{file-name} (Vorgabe: @code{#f}) |
| 5676 | Der Dateiname, unter dem der Quellcode abgespeichert werden sollte. Wenn er | 5911 | Der Dateiname, unter dem der Quellcode abgespeichert werden sollte. Wenn er |
| @@ -5681,8 +5916,8 @@ empfiehlt es sich, den Dateinamen ausdrücklich anzugeben, weil dann keine | |||
| 5681 | sprechende Benennung automatisch gefunden werden kann. | 5916 | sprechende Benennung automatisch gefunden werden kann. |
| 5682 | 5917 | ||
| 5683 | @item @code{patches} (Vorgabe: @code{'()}) | 5918 | @item @code{patches} (Vorgabe: @code{'()}) |
| 5684 | Eine Liste von Dateinamen, Ursprüngen oder dateiähnlichen Objekten | 5919 | Eine Liste von Dateinamen, Ursprüngen oder dateiähnlichen Objekten (siehe |
| 5685 | (@pxref{G-Ausdrücke, file-like objects}) mit Patches, welche auf den | 5920 | @ref{G-Ausdrücke, file-like objects}) mit Patches, welche auf den |
| 5686 | Quellcode anzuwenden sind. | 5921 | Quellcode anzuwenden sind. |
| 5687 | 5922 | ||
| 5688 | Die Liste von Patches kann nicht von Parametern der Erstellung | 5923 | Die Liste von Patches kann nicht von Parametern der Erstellung |
| @@ -5690,8 +5925,8 @@ abhängen. Insbesondere kann sie nicht vom Wert von @code{%current-system} | |||
| 5690 | oder @code{%current-target-system} abḧängen. | 5925 | oder @code{%current-target-system} abḧängen. |
| 5691 | 5926 | ||
| 5692 | @item @code{snippet} (Vorgabe: @code{#f}) | 5927 | @item @code{snippet} (Vorgabe: @code{#f}) |
| 5693 | Ein im Quellcode-Verzeichnis auszuführender G-Ausdruck | 5928 | Ein im Quellcode-Verzeichnis auszuführender G-Ausdruck (siehe |
| 5694 | (@pxref{G-Ausdrücke}) oder S-Ausdruck. Hiermit kann der Quellcode bequem | 5929 | @ref{G-Ausdrücke}) oder S-Ausdruck. Hiermit kann der Quellcode bequem |
| 5695 | modifiziert werden, manchmal ist dies bequemer als mit einem Patch. | 5930 | modifiziert werden, manchmal ist dies bequemer als mit einem Patch. |
| 5696 | 5931 | ||
| 5697 | @item @code{patch-flags} (Vorgabe: @code{'("-p1")}) | 5932 | @item @code{patch-flags} (Vorgabe: @code{'("-p1")}) |
| @@ -5718,7 +5953,7 @@ Welches Guile-Paket für den Patch-Prozess benutzt werden sollte. Bei | |||
| 5718 | 5953 | ||
| 5719 | @cindex Erstellungssystem | 5954 | @cindex Erstellungssystem |
| 5720 | Jede Paketdefinition legt ein @dfn{Erstellungssystem} (»build system«) sowie | 5955 | Jede Paketdefinition legt ein @dfn{Erstellungssystem} (»build system«) sowie |
| 5721 | dessen Argumente fest (@pxref{Pakete definieren}). Das | 5956 | dessen Argumente fest (siehe @ref{Pakete definieren}). Das |
| 5722 | @code{build-system}-Feld steht für die Erstellungsprozedur des Pakets sowie | 5957 | @code{build-system}-Feld steht für die Erstellungsprozedur des Pakets sowie |
| 5723 | für weitere implizite Eingaben für die Erstellungsprozedur. | 5958 | für weitere implizite Eingaben für die Erstellungsprozedur. |
| 5724 | 5959 | ||
| @@ -5733,16 +5968,17 @@ Intern funktionieren Erstellungssysteme, indem erst Paketobjekte zu | |||
| 5733 | Paket, aber mit weniger Zierrat — anders gesagt ist eine Bag eine | 5968 | Paket, aber mit weniger Zierrat — anders gesagt ist eine Bag eine |
| 5734 | systemnähere Darstellung eines Pakets, die sämtliche Eingaben des Pakets | 5969 | systemnähere Darstellung eines Pakets, die sämtliche Eingaben des Pakets |
| 5735 | einschließlich vom Erstellungssystem hinzugefügter Eingaben enthält. Diese | 5970 | einschließlich vom Erstellungssystem hinzugefügter Eingaben enthält. Diese |
| 5736 | Zwischendarstellung wird dann zur eigentlichen Ableitung kompiliert | 5971 | Zwischendarstellung wird dann zur eigentlichen Ableitung kompiliert (siehe |
| 5737 | (@pxref{Ableitungen}). | 5972 | @ref{Ableitungen}). |
| 5738 | 5973 | ||
| 5739 | Erstellungssysteme akzeptieren optional eine Liste von @dfn{Argumenten}. In | 5974 | Erstellungssysteme akzeptieren optional eine Liste von @dfn{Argumenten}. In |
| 5740 | Paketdefinitionen werden diese über das @code{arguments}-Feld übergeben | 5975 | Paketdefinitionen werden diese über das @code{arguments}-Feld übergeben |
| 5741 | (@pxref{Pakete definieren}). Sie sind in der Regel Schlüsselwort-Argumente | 5976 | (siehe @ref{Pakete definieren}). Sie sind in der Regel |
| 5742 | (@pxref{Optional Arguments, keyword arguments in Guile,, guile, GNU Guile | 5977 | Schlüsselwort-Argumente (siehe @ref{Optional Arguments, keyword arguments in |
| 5743 | Reference Manual}). Der Wert dieser Argumente wird normalerweise vom | 5978 | Guile,, guile, GNU Guile Reference Manual}). Der Wert dieser Argumente wird |
| 5744 | Erstellungssystem in der @dfn{Erstellungsschicht} ausgewertet, d.h. von | 5979 | normalerweise vom Erstellungssystem in der @dfn{Erstellungsschicht} |
| 5745 | einem durch den Daemon gestarteten Guile-Prozess (@pxref{Ableitungen}). | 5980 | ausgewertet, d.h.@: von einem durch den Daemon gestarteten Guile-Prozess |
| 5981 | (siehe @ref{Ableitungen}). | ||
| 5746 | 5982 | ||
| 5747 | Das häufigste Erstellungssystem ist @var{gnu-build-system}, was die übliche | 5983 | Das häufigste Erstellungssystem ist @var{gnu-build-system}, was die übliche |
| 5748 | Erstellungsprozedur für GNU-Pakete und viele andere Pakete darstellt. Es | 5984 | Erstellungsprozedur für GNU-Pakete und viele andere Pakete darstellt. Es |
| @@ -5750,8 +5986,8 @@ wird vom Modul @code{(guix build-system gnu)} bereitgestellt. | |||
| 5750 | 5986 | ||
| 5751 | @defvr {Scheme-Variable} gnu-build-system | 5987 | @defvr {Scheme-Variable} gnu-build-system |
| 5752 | @var{gnu-build-system} steht für das GNU-Erstellungssystem und Varianten | 5988 | @var{gnu-build-system} steht für das GNU-Erstellungssystem und Varianten |
| 5753 | desselben (@pxref{Configuration, configuration and makefile conventions,, | 5989 | desselben (siehe @ref{Configuration, configuration and makefile |
| 5754 | standards, GNU Coding Standards}). | 5990 | conventions,, standards, GNU Coding Standards}). |
| 5755 | 5991 | ||
| 5756 | @cindex Erstellungsphasen | 5992 | @cindex Erstellungsphasen |
| 5757 | Kurz gefasst werden Pakete, die es benutzen, konfiguriert, erstellt und | 5993 | Kurz gefasst werden Pakete, die es benutzen, konfiguriert, erstellt und |
| @@ -5775,8 +6011,8 @@ Store-Dateipfade beziehen. Zum Beispiel könnte @code{#!/bin/sh} zu | |||
| 5775 | 6011 | ||
| 5776 | @item configure | 6012 | @item configure |
| 5777 | Das Skript @file{configure} mit einigen vorgegebenen Befehlszeilenoptionen | 6013 | Das Skript @file{configure} mit einigen vorgegebenen Befehlszeilenoptionen |
| 5778 | ausführen, wie z.B. mit @code{--prefix=/gnu/store/@dots{}}, sowie mit den im | 6014 | ausführen, wie z.B.@: mit @code{--prefix=/gnu/store/@dots{}}, sowie mit den |
| 5779 | @code{#:configure-flags}-Argument angegebenen Optionen. | 6015 | im @code{#:configure-flags}-Argument angegebenen Optionen. |
| 5780 | 6016 | ||
| 5781 | @item build | 6017 | @item build |
| 5782 | @code{make} ausführen mit den Optionen aus der Liste in | 6018 | @code{make} ausführen mit den Optionen aus der Liste in |
| @@ -5800,7 +6036,8 @@ Shebangs in den installierten ausführbaren Dateien beheben. | |||
| 5800 | @item strip | 6036 | @item strip |
| 5801 | Symbole zur Fehlerbehebung aus ELF-Dateien entfernen (außer | 6037 | Symbole zur Fehlerbehebung aus ELF-Dateien entfernen (außer |
| 5802 | @code{#:strip-binaries?} ist auf falsch gesetzt) und in die | 6038 | @code{#:strip-binaries?} ist auf falsch gesetzt) und in die |
| 5803 | @code{debug}-Ausgabe kopieren, falls diese verfügbar ist (@pxref{Dateien zur Fehlersuche installieren}). | 6039 | @code{debug}-Ausgabe kopieren, falls diese verfügbar ist (siehe |
| 6040 | @ref{Dateien zur Fehlersuche installieren}). | ||
| 5804 | @end table | 6041 | @end table |
| 5805 | 6042 | ||
| 5806 | @vindex %standard-phases | 6043 | @vindex %standard-phases |
| @@ -5910,8 +6147,8 @@ erzeugen oder um Lisp-Abbilder mit einem vorab geladenen Satz von Paketen zu | |||
| 5910 | erzeugen. | 6147 | erzeugen. |
| 5911 | 6148 | ||
| 5912 | Das Erstellungssystem benutzt gewisse Namenskonventionen. Bei Binärpaketen | 6149 | Das Erstellungssystem benutzt gewisse Namenskonventionen. Bei Binärpaketen |
| 5913 | sollte dem Paketnamen die Lispimplementierung als Präfix vorangehen, | 6150 | sollte dem Paketnamen die Lispimplementierung als Präfix vorangehen, z.B.@: |
| 5914 | z.B.@code{sbcl-} für @code{asdf-build-system/sbcl}. | 6151 | @code{sbcl-} für @code{asdf-build-system/sbcl}. |
| 5915 | 6152 | ||
| 5916 | Zudem sollte das entsprechende Quellcode-Paket mit der Konvention wie bei | 6153 | Zudem sollte das entsprechende Quellcode-Paket mit der Konvention wie bei |
| 5917 | Python-Paketen (siehe @ref{Python-Module}) ein @code{cl-} als Präfix | 6154 | Python-Paketen (siehe @ref{Python-Module}) ein @code{cl-} als Präfix |
| @@ -6038,21 +6275,23 @@ Befehlszeilenoptionen aufgefasst, die an den Befehl @command{cmake} | |||
| 6038 | übergeben werden. Der Parameter @code{#:build-type} abstrahiert, welche | 6275 | übergeben werden. Der Parameter @code{#:build-type} abstrahiert, welche |
| 6039 | Befehlszeilenoptionen dem Compiler übergeben werden; der Vorgabewert ist | 6276 | Befehlszeilenoptionen dem Compiler übergeben werden; der Vorgabewert ist |
| 6040 | @code{"RelWithDebInfo"} (kurz für »release mode with debugging | 6277 | @code{"RelWithDebInfo"} (kurz für »release mode with debugging |
| 6041 | information«), d.h. kompiliert wird für eine Produktionsumgebung und | 6278 | information«), d.h.@: kompiliert wird für eine Produktionsumgebung und |
| 6042 | Informationen zur Fehlerbehebung liegen bei, was ungefähr @code{-O2 -g} | 6279 | Informationen zur Fehlerbehebung liegen bei, was ungefähr @code{-O2 -g} |
| 6043 | entspricht, wie bei der Vorgabe für Autoconf-basierte Pakete. | 6280 | entspricht, wie bei der Vorgabe für Autoconf-basierte Pakete. |
| 6044 | @end defvr | 6281 | @end defvr |
| 6045 | 6282 | ||
| 6046 | @defvr {Scheme Variable} dune-build-system | 6283 | @defvr {Scheme-Variable} dune-build-system |
| 6047 | This variable is exported by @code{(guix build-system dune)}. It supports | 6284 | Diese Variable wird vom Modul @code{(guix build-system dune)} |
| 6048 | builds of packages using @uref{https://dune.build/, Dune}, a build tool for | 6285 | exportiert. Sie unterstützt es, Pakete mit @uref{https://dune.build/, Dune} |
| 6049 | the OCaml programming language. It is implemented as an extension of the | 6286 | zu erstellen, einem Erstellungswerkzeug für die Programmiersprache OCaml, |
| 6050 | @code{ocaml-build-system} which is described below. As such, the | 6287 | und ist als Erweiterung des unten beschriebenen OCaml-Erstellungssystems |
| 6051 | @code{#:ocaml} and @code{#:findlib} parameters can be passed to this build | 6288 | @code{ocaml-build-system} implementiert. Als solche können auch die |
| 6052 | system. | 6289 | Parameter @code{#:ocaml} und @code{#:findlib} an dieses Erstellungssystem |
| 6290 | übergeben werden. | ||
| 6053 | 6291 | ||
| 6054 | It automatically adds the @code{dune} package to the set of inputs. Which | 6292 | Das Erstellungssystem fügt automatisch das Paket @code{dune} zu den Eingaben |
| 6055 | package is used can be specified with the @code{#:dune} parameter. | 6293 | hinzu. Welches Paket benutzt wird, kann mit dem Parameter @code{#:dune} |
| 6294 | geändert werden. | ||
| 6056 | 6295 | ||
| 6057 | There is no @code{configure} phase because dune packages typically don't | 6296 | There is no @code{configure} phase because dune packages typically don't |
| 6058 | need to be configured. The @code{#:build-flags} parameter is taken as a | 6297 | need to be configured. The @code{#:build-flags} parameter is taken as a |
| @@ -6061,6 +6300,11 @@ list of flags passed to the @code{dune} command during the build. | |||
| 6061 | The @code{#:jbuild?} parameter can be passed to use the @code{jbuild} | 6300 | The @code{#:jbuild?} parameter can be passed to use the @code{jbuild} |
| 6062 | command instead of the more recent @code{dune} command while building a | 6301 | command instead of the more recent @code{dune} command while building a |
| 6063 | package. Its default value is @code{#f}. | 6302 | package. Its default value is @code{#f}. |
| 6303 | |||
| 6304 | The @code{#:package} parameter can be passed to specify a package name, | ||
| 6305 | which is useful when a package contains multiple packages and you want to | ||
| 6306 | build only one of them. This is equivalent to passing the @code{-p} | ||
| 6307 | argument to @code{dune}. | ||
| 6064 | @end defvr | 6308 | @end defvr |
| 6065 | 6309 | ||
| 6066 | @defvr {Scheme-Variable} go-build-system | 6310 | @defvr {Scheme-Variable} go-build-system |
| @@ -6081,11 +6325,11 @@ zusammen. Manchmal ist es nötig, den Paketquellcode in ein anderes als das | |||
| 6081 | vom »import path« bezeichnete Verzeichnis zu entpacken; diese andere | 6325 | vom »import path« bezeichnete Verzeichnis zu entpacken; diese andere |
| 6082 | Verzeichnisstruktur sollte dann als @code{#:unpack-path} angegeben werden. | 6326 | Verzeichnisstruktur sollte dann als @code{#:unpack-path} angegeben werden. |
| 6083 | 6327 | ||
| 6084 | Pakete, die Go-Bibliotheken zur Verfügung stellen, sollten zusammen mit | 6328 | Pakete, die Go-Bibliotheken zur Verfügung stellen, sollten ihren Quellcode |
| 6085 | ihrem Quellcode installiert werden. Der Schlüssel @code{#:install-source?}, | 6329 | auch in die Erstellungsausgabe installieren. Der Schlüssel |
| 6086 | sein Vorgabewert ist @code{#t}, steuert, ob Quellcode installiert wird. Bei | 6330 | @code{#:install-source?}, sein Vorgabewert ist @code{#t}, steuert, ob |
| 6087 | Paketen, die nur ausführbare Dateien liefern, kann der Wert auf @code{#f} | 6331 | Quellcode installiert wird. Bei Paketen, die nur ausführbare Dateien |
| 6088 | gesetzt werden. | 6332 | liefern, kann der Wert auf @code{#f} gesetzt werden. |
| 6089 | @end defvr | 6333 | @end defvr |
| 6090 | 6334 | ||
| 6091 | @defvr {Scheme-Variable} glib-or-gtk-build-system | 6335 | @defvr {Scheme-Variable} glib-or-gtk-build-system |
| @@ -6128,10 +6372,10 @@ Beide Phasen finden nach der @code{install}-Phase statt. | |||
| 6128 | Dieses Erstellungssystem ist für Guile-Pakete gedacht, die nur aus | 6372 | Dieses Erstellungssystem ist für Guile-Pakete gedacht, die nur aus |
| 6129 | Scheme-Code bestehen und so schlicht sind, dass sie nicht einmal ein | 6373 | Scheme-Code bestehen und so schlicht sind, dass sie nicht einmal ein |
| 6130 | Makefile und erst recht keinen @file{configure}-Skript enthalten. Hierzu | 6374 | Makefile und erst recht keinen @file{configure}-Skript enthalten. Hierzu |
| 6131 | wird Scheme-Code mit @command{guild compile} kompiliert | 6375 | wird Scheme-Code mit @command{guild compile} kompiliert (siehe |
| 6132 | (@pxref{Compilation,,, guile, GNU Guile Reference Manual}) und die | 6376 | @ref{Compilation,,, guile, GNU Guile Reference Manual}) und die @file{.scm}- |
| 6133 | @file{.scm}- und @file{.go}-Dateien an den richtigen Pfad installiert. Auch | 6377 | und @file{.go}-Dateien an den richtigen Pfad installiert. Auch Dokumentation |
| 6134 | Dokumentation wird installiert. | 6378 | wird installiert. |
| 6135 | 6379 | ||
| 6136 | Das Erstellungssystem unterstützt Cross-Kompilieren durch die | 6380 | Das Erstellungssystem unterstützt Cross-Kompilieren durch die |
| 6137 | Befehlszeilenoption @code{--target} für @command{guild compile}. | 6381 | Befehlszeilenoption @code{--target} für @command{guild compile}. |
| @@ -6211,7 +6455,7 @@ zeigt auf @file{lib/ocaml/site-lib/stubslibs} und dorthin sollten | |||
| 6211 | @defvr {Scheme-Variable} python-build-system | 6455 | @defvr {Scheme-Variable} python-build-system |
| 6212 | Diese Variable wird vom Modul @code{(guix build-system python)} | 6456 | Diese Variable wird vom Modul @code{(guix build-system python)} |
| 6213 | exportiert. Sie implementiert mehr oder weniger die konventionelle | 6457 | exportiert. Sie implementiert mehr oder weniger die konventionelle |
| 6214 | Erstellungsprozedur, wie sie für Python-Pakete üblich ist, d.h. erst wird | 6458 | Erstellungsprozedur, wie sie für Python-Pakete üblich ist, d.h.@: erst wird |
| 6215 | @code{python setup.py build} ausgeführt und dann @code{python setup.py | 6459 | @code{python setup.py build} ausgeführt und dann @code{python setup.py |
| 6216 | install --prefix=/gnu/store/@dots{}}. | 6460 | install --prefix=/gnu/store/@dots{}}. |
| 6217 | 6461 | ||
| @@ -6266,6 +6510,23 @@ Paketeingaben enthält. Tests werden nach der Installation mit der R-Funktion | |||
| 6266 | @code{tools::testInstalledPackage} ausgeführt. | 6510 | @code{tools::testInstalledPackage} ausgeführt. |
| 6267 | @end defvr | 6511 | @end defvr |
| 6268 | 6512 | ||
| 6513 | @defvr {Scheme-Variable} rakudo-build-system | ||
| 6514 | This variable is exported by @code{(guix build-system rakudo)} It implements | ||
| 6515 | the build procedure used by @uref{https://rakudo.org/, Rakudo} for | ||
| 6516 | @uref{https://perl6.org/, Perl6} packages. It installs the package to | ||
| 6517 | @code{/gnu/store/@dots{}/NAME-VERSION/share/perl6} and installs the | ||
| 6518 | binaries, library files and the resources, as well as wrap the files under | ||
| 6519 | the @code{bin/} directory. Tests can be skipped by passing @code{#f} to the | ||
| 6520 | @code{tests?} parameter. | ||
| 6521 | |||
| 6522 | Which rakudo package is used can be specified with @code{rakudo}. Which | ||
| 6523 | perl6-tap-harness package used for the tests can be specified with | ||
| 6524 | @code{#:prove6} or removed by passing @code{#f} to the @code{with-prove6?} | ||
| 6525 | parameter. Which perl6-zef package used for tests and installing can be | ||
| 6526 | specified with @code{#:zef} or removed by passing @code{#f} to the | ||
| 6527 | @code{with-zef?} parameter. | ||
| 6528 | @end defvr | ||
| 6529 | |||
| 6269 | @defvr {Scheme-Variable} texlive-build-system | 6530 | @defvr {Scheme-Variable} texlive-build-system |
| 6270 | Diese Variable wird vom Modul @code{(guix build-system texlive)} | 6531 | Diese Variable wird vom Modul @code{(guix build-system texlive)} |
| 6271 | exportiert. Mit ihr werden TeX-Pakete in Stapelverarbeitung (»batch mode«) | 6532 | exportiert. Mit ihr werden TeX-Pakete in Stapelverarbeitung (»batch mode«) |
| @@ -6370,8 +6631,8 @@ festgelegt werden, was als Vorgabewert @code{ldc} benutzt. | |||
| 6370 | @defvr {Scheme-Variable} emacs-build-system | 6631 | @defvr {Scheme-Variable} emacs-build-system |
| 6371 | Diese Variable wird vom Modul @code{(guix build-system emacs)} | 6632 | Diese Variable wird vom Modul @code{(guix build-system emacs)} |
| 6372 | exportiert. Darin wird eine Installationsprozedur ähnlich der des | 6633 | exportiert. Darin wird eine Installationsprozedur ähnlich der des |
| 6373 | Paketsystems von Emacs selbst implementiert (@pxref{Packages,,, emacs, The | 6634 | Paketsystems von Emacs selbst implementiert (siehe @ref{Packages,,, emacs, |
| 6374 | GNU Emacs Manual}). | 6635 | The GNU Emacs Manual}). |
| 6375 | 6636 | ||
| 6376 | Zunächst wird eine Datei @code{@var{Paket}-autoloads.el} erzeugt, dann | 6637 | Zunächst wird eine Datei @code{@var{Paket}-autoloads.el} erzeugt, dann |
| 6377 | werden alle Emacs-Lisp-Dateien zu Bytecode kompiliert. Anders als beim | 6638 | werden alle Emacs-Lisp-Dateien zu Bytecode kompiliert. Anders als beim |
| @@ -6382,11 +6643,12 @@ gelöscht. Jedes Paket wird in sein eigenes Verzeichnis unter | |||
| 6382 | @end defvr | 6643 | @end defvr |
| 6383 | 6644 | ||
| 6384 | @defvr {Scheme-Variable} font-build-system | 6645 | @defvr {Scheme-Variable} font-build-system |
| 6385 | This variable is exported by @code{(guix build-system font)}. It implements | 6646 | Diese Variable wird vom Modul @code{(guix build-system font)} |
| 6386 | an installation procedure for font packages where upstream provides | 6647 | exportiert. Mit ihr steht eine Installationsprozedur für Schriftarten-Pakete |
| 6387 | pre-compiled TrueType, OpenType, etc.@: font files that merely need to be | 6648 | zur Verfügung für vom Anbieter vorkompilierte TrueType-, OpenType- und |
| 6388 | copied into place. It copies font files to standard locations in the output | 6649 | andere Schriftartendateien, die nur an die richtige Stelle kopiert werden |
| 6389 | directory. | 6650 | müssen. Dieses Erstellungssystem kopiert die Schriftartendateien an den |
| 6651 | Konventionen folgende Orte im Ausgabeverzeichnis. | ||
| 6390 | @end defvr | 6652 | @end defvr |
| 6391 | 6653 | ||
| 6392 | @defvr {Scheme-Variable} meson-build-system | 6654 | @defvr {Scheme-Variable} meson-build-system |
| @@ -6456,6 +6718,33 @@ durchlaufen. Wenn sie gebraucht wird, kann sie mit dem Parameter | |||
| 6456 | @end table | 6718 | @end table |
| 6457 | @end defvr | 6719 | @end defvr |
| 6458 | 6720 | ||
| 6721 | @defvr {Scheme Variable} linux-module-build-system | ||
| 6722 | @var{linux-module-build-system} allows building Linux kernel modules. | ||
| 6723 | |||
| 6724 | @cindex Erstellungsphasen | ||
| 6725 | This build system is an extension of @var{gnu-build-system}, but with the | ||
| 6726 | following phases changed: | ||
| 6727 | |||
| 6728 | @table @code | ||
| 6729 | |||
| 6730 | @item configure | ||
| 6731 | This phase configures the environment so that the Linux kernel's Makefile | ||
| 6732 | can be used to build the external kernel module. | ||
| 6733 | |||
| 6734 | @item build | ||
| 6735 | This phase uses the Linux kernel's Makefile in order to build the external | ||
| 6736 | kernel module. | ||
| 6737 | |||
| 6738 | @item install | ||
| 6739 | This phase uses the Linux kernel's Makefile in order to install the external | ||
| 6740 | kernel module. | ||
| 6741 | @end table | ||
| 6742 | |||
| 6743 | It is possible and useful to specify the Linux kernel to use for building | ||
| 6744 | the module (in the "arguments" form of a package using the | ||
| 6745 | linux-module-build-system, use the key #:linux to specify it). | ||
| 6746 | @end defvr | ||
| 6747 | |||
| 6459 | Letztlich gibt es für die Pakete, die bei weitem nichts so komplexes | 6748 | Letztlich gibt es für die Pakete, die bei weitem nichts so komplexes |
| 6460 | brauchen, ein »triviales« Erstellungssystem. Es ist in dem Sinn trivial, | 6749 | brauchen, ein »triviales« Erstellungssystem. Es ist in dem Sinn trivial, |
| 6461 | dass es praktisch keine Hilfestellungen gibt: Es fügt keine impliziten | 6750 | dass es praktisch keine Hilfestellungen gibt: Es fügt keine impliziten |
| @@ -6466,7 +6755,7 @@ Diese Variable wird vom Modul @code{(guix build-system trivial)} exportiert. | |||
| 6466 | 6755 | ||
| 6467 | Diesem Erstellungssystem muss im Argument @code{#:builder} ein | 6756 | Diesem Erstellungssystem muss im Argument @code{#:builder} ein |
| 6468 | Scheme-Ausdruck übergeben werden, der die Paketausgabe(n) erstellt — wie bei | 6757 | Scheme-Ausdruck übergeben werden, der die Paketausgabe(n) erstellt — wie bei |
| 6469 | @code{build-expression->derivation} (@pxref{Ableitungen, | 6758 | @code{build-expression->derivation} (siehe @ref{Ableitungen, |
| 6470 | @code{build-expression->derivation}}). | 6759 | @code{build-expression->derivation}}). |
| 6471 | @end defvr | 6760 | @end defvr |
| 6472 | 6761 | ||
| @@ -6490,7 +6779,7 @@ Ausführung von »configure« angegebene Zustandsverzeichnis ist, normalerweise | |||
| 6490 | @file{/var}. | 6779 | @file{/var}. |
| 6491 | 6780 | ||
| 6492 | Auf den Store wird @emph{nur} durch den Daemon im Auftrag seiner Clients | 6781 | Auf den Store wird @emph{nur} durch den Daemon im Auftrag seiner Clients |
| 6493 | zugegriffen (@pxref{Aufruf des guix-daemon}). Um den Store zu verändern, | 6782 | zugegriffen (siehe @ref{Aufruf des guix-daemon}). Um den Store zu verändern, |
| 6494 | verbinden sich Clients über einen Unix-Socket mit dem Daemon, senden ihm | 6783 | verbinden sich Clients über einen Unix-Socket mit dem Daemon, senden ihm |
| 6495 | entsprechende Anfragen und lesen dann dessen Antwort — so etwas nennt sich | 6784 | entsprechende Anfragen und lesen dann dessen Antwort — so etwas nennt sich |
| 6496 | entfernter Prozeduraufruf (englisch »Remote Procedure Call« oder kurz RPC). | 6785 | entfernter Prozeduraufruf (englisch »Remote Procedure Call« oder kurz RPC). |
| @@ -6499,11 +6788,11 @@ entfernter Prozeduraufruf (englisch »Remote Procedure Call« oder kurz RPC). | |||
| 6499 | Benutzer dürfen @emph{niemals} Dateien in @file{/gnu/store} direkt | 6788 | Benutzer dürfen @emph{niemals} Dateien in @file{/gnu/store} direkt |
| 6500 | verändern, sonst wären diese nicht mehr konsistent und die Grundannahmen im | 6789 | verändern, sonst wären diese nicht mehr konsistent und die Grundannahmen im |
| 6501 | funktionalen Modell von Guix, dass die Objekte unveränderlich sind, wären | 6790 | funktionalen Modell von Guix, dass die Objekte unveränderlich sind, wären |
| 6502 | dahin (@pxref{Einführung}). | 6791 | dahin (siehe @ref{Einführung}). |
| 6503 | 6792 | ||
| 6504 | Siehe @xref{Aufruf von guix gc, @command{guix gc --verify}}, für | 6793 | Siehe @ref{Aufruf von guix gc, @command{guix gc --verify}} für Informationen, |
| 6505 | Informationen, wie die Integrität des Stores überprüft und nach | 6794 | wie die Integrität des Stores überprüft und nach versehentlichen |
| 6506 | versehentlichen Veränderungen unter Umständen wiederhergestellt werden kann. | 6795 | Veränderungen unter Umständen wiederhergestellt werden kann. |
| 6507 | @end quotation | 6796 | @end quotation |
| 6508 | 6797 | ||
| 6509 | Das Modul @code{(guix store)} bietet Prozeduren an, um sich mit dem Daemon | 6798 | Das Modul @code{(guix store)} bietet Prozeduren an, um sich mit dem Daemon |
| @@ -6543,23 +6832,23 @@ guix://master.guix.example.org:1234 | |||
| 6543 | 6832 | ||
| 6544 | Diese Konfiguration ist für lokale Netzwerke wie etwa in Rechen-Clustern | 6833 | Diese Konfiguration ist für lokale Netzwerke wie etwa in Rechen-Clustern |
| 6545 | geeignet, wo sich nur vertrauenswürdige Knoten mit dem Erstellungs-Daemon | 6834 | geeignet, wo sich nur vertrauenswürdige Knoten mit dem Erstellungs-Daemon |
| 6546 | z.B. unter @code{master.guix.example.org} verbinden können. | 6835 | z.B.@: unter @code{master.guix.example.org} verbinden können. |
| 6547 | 6836 | ||
| 6548 | Die Befehlszeilenoption @code{--listen} von @command{guix-daemon} kann | 6837 | Die Befehlszeilenoption @code{--listen} von @command{guix-daemon} kann |
| 6549 | benutzt werden, damit er auf TCP-Verbindungen lauscht (@pxref{Aufruf des guix-daemon, @code{--listen}}). | 6838 | benutzt werden, damit er auf TCP-Verbindungen lauscht (siehe @ref{Aufruf des guix-daemon, @code{--listen}}). |
| 6550 | 6839 | ||
| 6551 | @item ssh | 6840 | @item ssh |
| 6552 | @cindex SSH-Zugriff auf Erstellungs-Daemons | 6841 | @cindex SSH-Zugriff auf Erstellungs-Daemons |
| 6553 | Mit solchen URIs kann eine Verbindung zu einem entfernten Daemon über SSH | 6842 | Mit solchen URIs kann eine Verbindung zu einem entfernten Daemon über SSH |
| 6554 | hergestellt werden@footnote{Diese Funktionalitäts setzt Guile-SSH voraus | 6843 | hergestellt werden@footnote{Diese Funktionalitäts setzt Guile-SSH voraus |
| 6555 | (@pxref{Voraussetzungen}).}. Eine typische URL sieht so aus: | 6844 | (siehe @ref{Voraussetzungen}).}. Eine typische URL sieht so aus: |
| 6556 | 6845 | ||
| 6557 | @example | 6846 | @example |
| 6558 | ssh://charlie@@guix.example.org:22 | 6847 | ssh://charlie@@guix.example.org:22 |
| 6559 | @end example | 6848 | @end example |
| 6560 | 6849 | ||
| 6561 | Was @command{guix copy} betrifft, richtet es sich nach den üblichen | 6850 | Was @command{guix copy} betrifft, richtet es sich nach den üblichen |
| 6562 | OpenSSH-Client-Konfigurationsdateien (@pxref{Aufruf von guix copy}). | 6851 | OpenSSH-Client-Konfigurationsdateien (siehe @ref{Aufruf von guix copy}). |
| 6563 | @end table | 6852 | @end table |
| 6564 | 6853 | ||
| 6565 | In Zukunft könnten weitere URI-Schemata unterstützt werden. | 6854 | In Zukunft könnten weitere URI-Schemata unterstützt werden. |
| @@ -6569,8 +6858,8 @@ In Zukunft könnten weitere URI-Schemata unterstützt werden. | |||
| 6569 | @quotation Anmerkung | 6858 | @quotation Anmerkung |
| 6570 | Die Fähigkeit, sich mit entfernten Erstellungs-Daemons zu verbinden, sehen | 6859 | Die Fähigkeit, sich mit entfernten Erstellungs-Daemons zu verbinden, sehen |
| 6571 | wir als experimentell an, Stand @value{VERSION}. Bitte diskutieren Sie mit | 6860 | wir als experimentell an, Stand @value{VERSION}. Bitte diskutieren Sie mit |
| 6572 | uns jegliche Probleme oder Vorschläge, die Sie haben könnten | 6861 | uns jegliche Probleme oder Vorschläge, die Sie haben könnten (siehe |
| 6573 | (@pxref{Mitwirken}). | 6862 | @ref{Mitwirken}). |
| 6574 | @end quotation | 6863 | @end quotation |
| 6575 | @end defvr | 6864 | @end defvr |
| 6576 | 6865 | ||
| @@ -6607,8 +6896,9 @@ und sonst @code{#f} (ein ungültiges Objekt kann auf der Platte gespeichert | |||
| 6607 | sein, tatsächlich aber ungültig sein, zum Beispiel weil es das Ergebnis | 6896 | sein, tatsächlich aber ungültig sein, zum Beispiel weil es das Ergebnis |
| 6608 | einer abgebrochenen oder fehlgeschlagenen Erstellung ist). | 6897 | einer abgebrochenen oder fehlgeschlagenen Erstellung ist). |
| 6609 | 6898 | ||
| 6610 | A @code{&store-protocol-error} condition is raised if @var{path} is not | 6899 | Ein @code{&store-protocol-error}-Fehlerzustand wird ausgelöst, wenn der |
| 6611 | prefixed by the store directory (@file{/gnu/store}). | 6900 | @var{Pfad} nicht mit dem Store-Verzeichnis als Präfix beginnt |
| 6901 | (@file{/gnu/store}). | ||
| 6612 | @end deffn | 6902 | @end deffn |
| 6613 | 6903 | ||
| 6614 | @deffn {Scheme-Prozedur} add-text-to-store @var{Server} @var{Name} @var{Text} [@var{Referenzen}] | 6904 | @deffn {Scheme-Prozedur} add-text-to-store @var{Server} @var{Name} @var{Text} [@var{Referenzen}] |
| @@ -6626,7 +6916,7 @@ Erstellung. | |||
| 6626 | 6916 | ||
| 6627 | Es sei erwähnt, dass im Modul @code{(guix monads)} eine Monade sowie | 6917 | Es sei erwähnt, dass im Modul @code{(guix monads)} eine Monade sowie |
| 6628 | monadische Versionen obiger Prozeduren angeboten werden, damit an Code, der | 6918 | monadische Versionen obiger Prozeduren angeboten werden, damit an Code, der |
| 6629 | auf den Store zugreift, bequemer gearbeitet werden kann (@pxref{Die Store-Monade}). | 6919 | auf den Store zugreift, bequemer gearbeitet werden kann (siehe @ref{Die Store-Monade}). |
| 6630 | 6920 | ||
| 6631 | @c FIXME | 6921 | @c FIXME |
| 6632 | @i{Dieser Abschnitt ist im Moment noch unvollständig.} | 6922 | @i{Dieser Abschnitt ist im Moment noch unvollständig.} |
| @@ -6645,15 +6935,15 @@ Die Ausgaben, die die Ableitung hat. Ableitungen erzeugen mindestens eine | |||
| 6645 | Datei bzw. ein Verzeichnis im Store, können aber auch mehrere erzeugen. | 6935 | Datei bzw. ein Verzeichnis im Store, können aber auch mehrere erzeugen. |
| 6646 | 6936 | ||
| 6647 | @item | 6937 | @item |
| 6648 | @cindex build-time dependencies | 6938 | @cindex Erstellungszeitabhängigkeiten |
| 6649 | @cindex dependencies, build-time | 6939 | @cindex Abhängigkeiten zur Erstellungszeit |
| 6650 | The inputs of the derivations---i.e., its build-time dependencies---which | 6940 | Die Eingaben der Ableitung, also Abhängigkeiten zur Zeit ihrer Erstellung, |
| 6651 | may be other derivations or plain files in the store (patches, build | 6941 | die entweder andere Ableitungen oder einfache Dateien im Store sind (wie |
| 6652 | scripts, etc.) | 6942 | Patches, Erstellungsskripts usw.). |
| 6653 | 6943 | ||
| 6654 | @item | 6944 | @item |
| 6655 | Das System, wofür mit der Ableitung erstellt wird, also ihr Ziel — | 6945 | Das System, wofür mit der Ableitung erstellt wird, also ihr Ziel — z.B.@: |
| 6656 | z.B. @code{x86_64-linux}. | 6946 | @code{x86_64-linux}. |
| 6657 | 6947 | ||
| 6658 | @item | 6948 | @item |
| 6659 | Der Dateiname eines Erstellungsskripts im Store, zusammen mit den | 6949 | Der Dateiname eines Erstellungsskripts im Store, zusammen mit den |
| @@ -6671,27 +6961,28 @@ sowohl Darstellungen im Arbeitsspeicher jeweils für Client und Daemon, als | |||
| 6671 | auch Dateien im Store, deren Namen auf @code{.drv} enden — diese Dateien | 6961 | auch Dateien im Store, deren Namen auf @code{.drv} enden — diese Dateien |
| 6672 | werden als @dfn{Ableitungspfade} bezeichnet. Ableitungspfade können an die | 6962 | werden als @dfn{Ableitungspfade} bezeichnet. Ableitungspfade können an die |
| 6673 | Prozedur @code{build-derivations} übergeben werden, damit die darin | 6963 | Prozedur @code{build-derivations} übergeben werden, damit die darin |
| 6674 | niedergeschriebenen Erstellungsaktionen durchgeführt werden (@pxref{Der Store}). | 6964 | niedergeschriebenen Erstellungsaktionen durchgeführt werden (siehe @ref{Der Store}). |
| 6675 | 6965 | ||
| 6676 | @cindex Ableitungen mit fester Ausgabe | 6966 | @cindex Ableitungen mit fester Ausgabe |
| 6677 | Operationen wie das Herunterladen von Dateien und Checkouts von unter | 6967 | Operationen wie das Herunterladen von Dateien und Checkouts von unter |
| 6678 | Versionskontrolle stehenden Quelldateien, bei denen der Hash des Inhalts im | 6968 | Versionskontrolle stehenden Quelldateien, bei denen der Hash des Inhalts im |
| 6679 | Voraus bekannt ist, werden als @dfn{Ableitungen mit fester Ausgabe} | 6969 | Voraus bekannt ist, werden als @dfn{Ableitungen mit fester Ausgabe} |
| 6680 | modelliert. Anders als reguläre Ableitungen sind die Ausgaben von | 6970 | modelliert. Anders als reguläre Ableitungen sind die Ausgaben von |
| 6681 | Ableitungen mit fester Ausgabe unabhängig von ihren Eingaben — z.B. liefert | 6971 | Ableitungen mit fester Ausgabe unabhängig von ihren Eingaben — z.B.@: |
| 6682 | das Herunterladen desselben Quellcodes dasselbe Ergebnis unabhängig davon, | 6972 | liefert das Herunterladen desselben Quellcodes dasselbe Ergebnis unabhängig |
| 6683 | mit welcher Methode und welchen Werkzeugen er heruntergeladen wurde. | 6973 | davon, mit welcher Methode und welchen Werkzeugen er heruntergeladen wurde. |
| 6684 | 6974 | ||
| 6685 | @cindex references | 6975 | @cindex references |
| 6686 | @cindex run-time dependencies | 6976 | @cindex Laufzeitabhängigkeiten |
| 6687 | @cindex dependencies, run-time | 6977 | @cindex Abhängigkeiten, zur Laufzeit |
| 6688 | The outputs of derivations---i.e., the build results---have a set of | 6978 | Den Ausgaben von Ableitungen — d.h.@: Erstellungergebnissen — ist eine Liste |
| 6689 | @dfn{references}, as reported by the @code{references} RPC or the | 6979 | von @dfn{Referenzen} zugeordnet, die auch der entfernte Prozeduraufruf |
| 6690 | @command{guix gc --references} command (@pxref{Aufruf von guix gc}). | 6980 | @code{references} oder der Befehl @command{guix gc --references} liefert |
| 6691 | References are the set of run-time dependencies of the build results. | 6981 | (siehe @ref{Aufruf von guix gc}). Referenzen sind die Menge der |
| 6692 | References are a subset of the inputs of the derivation; this subset is | 6982 | Laufzeitabhängigkeiten von Erstellungsergebnissen. Referenzen sind eine |
| 6693 | automatically computed by the build daemon by scanning all the files in the | 6983 | Teilmenge der Eingaben von Ableitungen; die Teilmenge wird automatisch |
| 6694 | outputs. | 6984 | ermittelt, indem der Erstellungsdaemon alle Dateien unter den Ausgaben nach |
| 6985 | Referenzen durchsucht. | ||
| 6695 | 6986 | ||
| 6696 | Das Modul @code{(guix derivations)} stellt eine Repräsentation von | 6987 | Das Modul @code{(guix derivations)} stellt eine Repräsentation von |
| 6697 | Ableitungen als Scheme-Objekte zur Verfügung, zusammen mit Prozeduren, um | 6988 | Ableitungen als Scheme-Objekte zur Verfügung, zusammen mit Prozeduren, um |
| @@ -6708,9 +6999,9 @@ Methode, eine Ableitung zu erzeugen, ist mit der Prozedur @code{derivation}: | |||
| 6708 | liefern. | 6999 | liefern. |
| 6709 | 7000 | ||
| 6710 | Wurden @var{hash} und @var{hash-algo} angegeben, wird eine @dfn{Ableitung | 7001 | Wurden @var{hash} und @var{hash-algo} angegeben, wird eine @dfn{Ableitung |
| 6711 | mit fester Ausgabe} erzeugt — d.h. eine, deren Ausgabe schon im Voraus | 7002 | mit fester Ausgabe} erzeugt — d.h.@: eine, deren Ausgabe schon im Voraus |
| 6712 | bekannt ist, wie z.B. beim Herunterladen einer Datei. Wenn des Weiteren auch | 7003 | bekannt ist, wie z.B.@: beim Herunterladen einer Datei. Wenn des Weiteren |
| 6713 | @var{recursive?} wahr ist, darf die Ableitung mit fester Ausgabe eine | 7004 | auch @var{recursive?} wahr ist, darf die Ableitung mit fester Ausgabe eine |
| 6714 | ausführbare Datei oder ein Verzeichnis sein und @var{hash} muss die | 7005 | ausführbare Datei oder ein Verzeichnis sein und @var{hash} muss die |
| 6715 | Prüfsumme eines Archivs mit dieser Ausgabe sein. | 7006 | Prüfsumme eines Archivs mit dieser Ausgabe sein. |
| 6716 | 7007 | ||
| @@ -6734,14 +7025,14 @@ ist. So ein Leck kann zum Beispiel benutzt werden, um Variable wie | |||
| 6734 | herunterladen. | 7025 | herunterladen. |
| 6735 | 7026 | ||
| 6736 | Ist @var{local-build?} wahr, wird die Ableitung als schlechter Kandidat für | 7027 | Ist @var{local-build?} wahr, wird die Ableitung als schlechter Kandidat für |
| 6737 | das Auslagern deklariert, der besser lokal erstellt werden sollte | 7028 | das Auslagern deklariert, der besser lokal erstellt werden sollte (siehe |
| 6738 | (@pxref{Auslagern des Daemons einrichten}). Dies betrifft kleine Ableitungen, wo das | 7029 | @ref{Auslagern des Daemons einrichten}). Dies betrifft kleine Ableitungen, wo das |
| 6739 | Übertragen der Daten aufwendiger als ihre Erstellung ist. | 7030 | Übertragen der Daten aufwendiger als ihre Erstellung ist. |
| 6740 | 7031 | ||
| 6741 | Ist @var{substitutable?} falsch, wird deklariert, dass für die Ausgabe der | 7032 | Ist @var{substitutable?} falsch, wird deklariert, dass für die Ausgabe der |
| 6742 | Ableitung keine Substitute benutzt werden sollen (@pxref{Substitute}). Das | 7033 | Ableitung keine Substitute benutzt werden sollen (siehe |
| 6743 | ist nützlich, wenn Pakete erstellt werden, die Details über den | 7034 | @ref{Substitute}). Das ist nützlich, wenn Pakete erstellt werden, die |
| 6744 | Prozessorbefehlssatz des Wirtssystems auslesen. | 7035 | Details über den Prozessorbefehlssatz des Wirtssystems auslesen. |
| 6745 | 7036 | ||
| 6746 | @var{properties} muss eine assoziative Liste enthalten, die »Eigenschaften« | 7037 | @var{properties} muss eine assoziative Liste enthalten, die »Eigenschaften« |
| 6747 | der Ableitungen beschreibt. Sie wird genau so, wie sie ist, in der Ableitung | 7038 | der Ableitungen beschreibt. Sie wird genau so, wie sie ist, in der Ableitung |
| @@ -6772,7 +7063,7 @@ Wie man sehen kann, ist es umständlich, diese grundlegende Methode direkt zu | |||
| 6772 | benutzen. Natürlich ist es besser, Erstellungsskripts in Scheme zu | 7063 | benutzen. Natürlich ist es besser, Erstellungsskripts in Scheme zu |
| 6773 | schreiben! Am besten schreibt man den Erstellungscode als »G-Ausdruck« und | 7064 | schreiben! Am besten schreibt man den Erstellungscode als »G-Ausdruck« und |
| 6774 | übergibt ihn an @code{gexp->derivation}. Mehr Informationen finden Sie im | 7065 | übergibt ihn an @code{gexp->derivation}. Mehr Informationen finden Sie im |
| 6775 | Abschnitt @pxref{G-Ausdrücke}. | 7066 | Abschnitt @ref{G-Ausdrücke}. |
| 6776 | 7067 | ||
| 6777 | Doch es gab einmal eine Zeit, zu der @code{gexp->derivation} noch nicht | 7068 | Doch es gab einmal eine Zeit, zu der @code{gexp->derivation} noch nicht |
| 6778 | existiert hatte und wo das Zusammenstellen von Ableitungen mit | 7069 | existiert hatte und wo das Zusammenstellen von Ableitungen mit |
| @@ -6793,8 +7084,8 @@ jeweils als Tupel @code{(Name Ableitungspfad Unterableitung)}; wird keine | |||
| 6793 | @var{Unterableitung} angegeben, wird @code{"out"} angenommen. @var{Module} | 7084 | @var{Unterableitung} angegeben, wird @code{"out"} angenommen. @var{Module} |
| 6794 | ist eine Liste der Namen von Guile-Modulen im momentanen Suchpfad, die in | 7085 | ist eine Liste der Namen von Guile-Modulen im momentanen Suchpfad, die in |
| 6795 | den Store kopiert, kompiliert und zur Verfügung gestellt werden, wenn der | 7086 | den Store kopiert, kompiliert und zur Verfügung gestellt werden, wenn der |
| 6796 | @var{Ausdruck} ausgeführt wird — z.B. @code{((guix build utils) (guix build | 7087 | @var{Ausdruck} ausgeführt wird — z.B.@: @code{((guix build utils) (guix |
| 6797 | gnu-build-system))}. | 7088 | build gnu-build-system))}. |
| 6798 | 7089 | ||
| 6799 | Der @var{Ausdruck} wird in einer Umgebung ausgewertet, in der | 7090 | Der @var{Ausdruck} wird in einer Umgebung ausgewertet, in der |
| 6800 | @code{%outputs} an eine Liste von Ausgabe-/Pfad-Paaren gebunden wurde und in | 7091 | @code{%outputs} an eine Liste von Ausgabe-/Pfad-Paaren gebunden wurde und in |
| @@ -6897,7 +7188,7 @@ gelieferte monadische Wert wurde mit @code{mlet} statt einem einfachen | |||
| 6897 | 7188 | ||
| 6898 | Wie sich herausstellt, muss man den Aufruf von @code{package->derivation} | 7189 | Wie sich herausstellt, muss man den Aufruf von @code{package->derivation} |
| 6899 | nicht einmal aufschreiben, weil er implizit geschieht, wie wir später sehen | 7190 | nicht einmal aufschreiben, weil er implizit geschieht, wie wir später sehen |
| 6900 | werden (siehe @pxref{G-Ausdrücke}): | 7191 | werden (siehe @ref{G-Ausdrücke}): |
| 6901 | 7192 | ||
| 6902 | @example | 7193 | @example |
| 6903 | (define (sh-symlink) | 7194 | (define (sh-symlink) |
| @@ -6999,7 +7290,8 @@ Ausdruck sein und dessen Ergebnis wird das Ergebnis von @code{mlet} oder | |||
| 6999 | @code{mlet*} werden, wenn es durch die @var{Monad} laufen gelassen wurde. | 7290 | @code{mlet*} werden, wenn es durch die @var{Monad} laufen gelassen wurde. |
| 7000 | 7291 | ||
| 7001 | @code{mlet*} verhält sich gegenüber @code{mlet} wie @code{let*} gegenüber | 7292 | @code{mlet*} verhält sich gegenüber @code{mlet} wie @code{let*} gegenüber |
| 7002 | @code{let} (@pxref{Local Bindings,,, guile, GNU Guile Reference Manual}). | 7293 | @code{let} (siehe @ref{Local Bindings,,, guile, GNU Guile Reference |
| 7294 | Manual}). | ||
| 7003 | @end deffn | 7295 | @end deffn |
| 7004 | 7296 | ||
| 7005 | @deffn {Scheme-System} mbegin @var{Monade} @var{mAusdruck} ... | 7297 | @deffn {Scheme-System} mbegin @var{Monade} @var{mAusdruck} ... |
| @@ -7159,7 +7451,7 @@ Zielsystem bezeichnendes Tripel zum Cross-Kompilieren benutzt. | |||
| 7159 | @deffn {Monadische Prozedur} package->derivation @var{Paket} [@var{System}] | 7451 | @deffn {Monadische Prozedur} package->derivation @var{Paket} [@var{System}] |
| 7160 | @deffnx {Monadische Prozedur} package->cross-derivation @var{Paket} @ | 7452 | @deffnx {Monadische Prozedur} package->cross-derivation @var{Paket} @ |
| 7161 | @var{Ziel} [@var{System}] Monadische Version von @code{package-derivation} | 7453 | @var{Ziel} [@var{System}] Monadische Version von @code{package-derivation} |
| 7162 | und @code{package-cross-derivation} (@pxref{Pakete definieren}). | 7454 | und @code{package-cross-derivation} (siehe @ref{Pakete definieren}). |
| 7163 | @end deffn | 7455 | @end deffn |
| 7164 | 7456 | ||
| 7165 | 7457 | ||
| @@ -7170,10 +7462,10 @@ und @code{package-cross-derivation} (@pxref{Pakete definieren}). | |||
| 7170 | @cindex Erstellungscode maskieren | 7462 | @cindex Erstellungscode maskieren |
| 7171 | Es gibt also »Ableitungen«, die eine Abfolge von Erstellungsaktionen | 7463 | Es gibt also »Ableitungen«, die eine Abfolge von Erstellungsaktionen |
| 7172 | repräsentieren, die durchgeführt werden müssen, um ein Objekt im Store zu | 7464 | repräsentieren, die durchgeführt werden müssen, um ein Objekt im Store zu |
| 7173 | erzeugen (@pxref{Ableitungen}). Diese Erstellungsaktionen werden | 7465 | erzeugen (siehe @ref{Ableitungen}). Diese Erstellungsaktionen werden |
| 7174 | durchgeführt, nachdem der Daemon gebeten wurde, die Ableitungen tatsächlich | 7466 | durchgeführt, nachdem der Daemon gebeten wurde, die Ableitungen tatsächlich |
| 7175 | zu erstellen; dann führt der Daemon sie in einer isolierten Umgebung (einem | 7467 | zu erstellen; dann führt der Daemon sie in einer isolierten Umgebung (einem |
| 7176 | sogenannten Container) aus (@pxref{Aufruf des guix-daemon}). | 7468 | sogenannten Container) aus (siehe @ref{Aufruf des guix-daemon}). |
| 7177 | 7469 | ||
| 7178 | @cindex Schichten von Code | 7470 | @cindex Schichten von Code |
| 7179 | Wenig überraschend ist, dass wir diese Erstellungsaktionen gerne in Scheme | 7471 | Wenig überraschend ist, dass wir diese Erstellungsaktionen gerne in Scheme |
| @@ -7185,7 +7477,7 @@ an Hop geprägt. Oleg Kiselyov, der aufschlussreiche | |||
| 7185 | diesem Thema} geschrieben hat, nennt diese Art der Code-Generierung | 7477 | diesem Thema} geschrieben hat, nennt diese Art der Code-Generierung |
| 7186 | @dfn{Staging}, deutsch etwa Inszenierung bzw.@: Aufführung.}: den | 7478 | @dfn{Staging}, deutsch etwa Inszenierung bzw.@: Aufführung.}: den |
| 7187 | »wirtsseitigen Code« (»host code«) — also Code, der Pakete definiert, mit | 7479 | »wirtsseitigen Code« (»host code«) — also Code, der Pakete definiert, mit |
| 7188 | dem Daemon kommuniziert etc. — und den »erstellungsseitigen Code« (»build | 7480 | dem Daemon kommuniziert etc.@: — und den »erstellungsseitigen Code« (»build |
| 7189 | code«) — also Code, der die Erstellungsaktionen auch wirklich umsetzt, indem | 7481 | code«) — also Code, der die Erstellungsaktionen auch wirklich umsetzt, indem |
| 7190 | Dateien erstellt werden, @command{make} aufgerufen wird etc. | 7482 | Dateien erstellt werden, @command{make} aufgerufen wird etc. |
| 7191 | 7483 | ||
| @@ -7203,7 +7495,7 @@ S-Ausdrücken, die zu Erstellungsausdrücken angepasst wurden. G-Ausdrücke | |||
| 7203 | drei syntaktischen Formen zusammen: @code{gexp}, @code{ungexp} und | 7495 | drei syntaktischen Formen zusammen: @code{gexp}, @code{ungexp} und |
| 7204 | @code{ungexp-splicing} (alternativ einfach: @code{#~}, @code{#$} und | 7496 | @code{ungexp-splicing} (alternativ einfach: @code{#~}, @code{#$} und |
| 7205 | @code{#$@@}), die jeweils mit @code{quasiquote}, @code{unquote} und | 7497 | @code{#$@@}), die jeweils mit @code{quasiquote}, @code{unquote} und |
| 7206 | @code{unquote-splicing} vergleichbar sind (@pxref{Expression Syntax, | 7498 | @code{unquote-splicing} vergleichbar sind (siehe @ref{Expression Syntax, |
| 7207 | @code{quasiquote},, guile, GNU Guile Reference Manual}). Es gibt aber auch | 7499 | @code{quasiquote},, guile, GNU Guile Reference Manual}). Es gibt aber auch |
| 7208 | erhebliche Unterschiede: | 7500 | erhebliche Unterschiede: |
| 7209 | 7501 | ||
| @@ -7230,7 +7522,7 @@ Objekte auf Ableitungen oder Dateien im Store »herunterbrechen«, womit diese | |||
| 7230 | Objekte dann auch in G-Ausdrücken eingefügt werden können. Zum Beispiel sind | 7522 | Objekte dann auch in G-Ausdrücken eingefügt werden können. Zum Beispiel sind |
| 7231 | »dateiartige Objekte« ein nützlicher Typ solcher abstrakter Objekte. Mit | 7523 | »dateiartige Objekte« ein nützlicher Typ solcher abstrakter Objekte. Mit |
| 7232 | ihnen können Dateien leicht in den Store eingefügt und von Ableitungen und | 7524 | ihnen können Dateien leicht in den Store eingefügt und von Ableitungen und |
| 7233 | Anderem referenziert werden (siehe unten @code{local-file} und | 7525 | anderem referenziert werden (siehe unten @code{local-file} und |
| 7234 | @code{plain-file}). | 7526 | @code{plain-file}). |
| 7235 | 7527 | ||
| 7236 | Zur Veranschaulichung dieser Idee soll uns dieses Beispiel eines G-Ausdrucks | 7528 | Zur Veranschaulichung dieser Idee soll uns dieses Beispiel eines G-Ausdrucks |
| @@ -7363,7 +7655,7 @@ kann eine oder mehrere der folgenden Formen enthalten: | |||
| 7363 | Eine Referenz auf das @var{Objekt} einführen. Das @var{Objekt} kann einen | 7655 | Eine Referenz auf das @var{Objekt} einführen. Das @var{Objekt} kann einen |
| 7364 | der unterstützten Typen haben, zum Beispiel ein Paket oder eine Ableitung, | 7656 | der unterstützten Typen haben, zum Beispiel ein Paket oder eine Ableitung, |
| 7365 | so dass die @code{ungexp}-Form durch deren Ausgabedateiname ersetzt wird — | 7657 | so dass die @code{ungexp}-Form durch deren Ausgabedateiname ersetzt wird — |
| 7366 | z.B. @code{"/gnu/store/@dots{}-coreutils-8.22}. | 7658 | z.B.@: @code{"/gnu/store/@dots{}-coreutils-8.22}. |
| 7367 | 7659 | ||
| 7368 | Wenn das @var{Objekt} eine Liste ist, wird diese durchlaufen und alle | 7660 | Wenn das @var{Objekt} eine Liste ist, wird diese durchlaufen und alle |
| 7369 | unterstützten Objekte darin auf diese Weise ersetzt. | 7661 | unterstützten Objekte darin auf diese Weise ersetzt. |
| @@ -7378,7 +7670,7 @@ eingefügt. | |||
| 7378 | @itemx (ungexp @var{Objekt} @var{Ausgabe}) | 7670 | @itemx (ungexp @var{Objekt} @var{Ausgabe}) |
| 7379 | Dies verhält sich wie die Form oben, bezieht sich aber ausdrücklich auf die | 7671 | Dies verhält sich wie die Form oben, bezieht sich aber ausdrücklich auf die |
| 7380 | angegebene @var{Ausgabe} des @var{Objekt}s — dies ist nützlich, wenn das | 7672 | angegebene @var{Ausgabe} des @var{Objekt}s — dies ist nützlich, wenn das |
| 7381 | @var{Objekt} mehrere Ausgaben generiert (@pxref{Pakete mit mehreren Ausgaben.}). | 7673 | @var{Objekt} mehrere Ausgaben generiert (siehe @ref{Pakete mit mehreren Ausgaben.}). |
| 7382 | 7674 | ||
| 7383 | @item #+@var{Objekt} | 7675 | @item #+@var{Objekt} |
| 7384 | @itemx #+@var{Objekt}:@var{Ausgabe} | 7676 | @itemx #+@var{Objekt}:@var{Ausgabe} |
| @@ -7456,7 +7748,8 @@ Liefert @code{#t}, wenn das @var{Objekt} ein G-Ausdruck ist. | |||
| 7456 | 7748 | ||
| 7457 | G-Ausdrücke sind dazu gedacht, auf die Platte geschrieben zu werden, | 7749 | G-Ausdrücke sind dazu gedacht, auf die Platte geschrieben zu werden, |
| 7458 | entweder als Code, der eine Ableitung erstellt, oder als einfache Dateien im | 7750 | entweder als Code, der eine Ableitung erstellt, oder als einfache Dateien im |
| 7459 | Store. Die monadischen Prozeduren unten ermöglichen Ihnen das (@pxref{Die Store-Monade}, wenn Sie mehr Informationen über Monaden suchen). | 7751 | Store. Die monadischen Prozeduren unten ermöglichen Ihnen das (siehe |
| 7752 | @ref{Die Store-Monade}, wenn Sie mehr Informationen über Monaden suchen). | ||
| 7460 | 7753 | ||
| 7461 | @deffn {Monadische Prozedur} gexp->derivation @var{Name} @var{Ausdruck} @ | 7754 | @deffn {Monadische Prozedur} gexp->derivation @var{Name} @var{Ausdruck} @ |
| 7462 | [#:system (%current-system)] [#:target #f] [#:graft? #t] @ [#:hash #f] | 7755 | [#:system (%current-system)] [#:target #f] [#:graft? #t] @ [#:hash #f] |
| @@ -7479,12 +7772,12 @@ bezeichnete Pakete benutzt. | |||
| 7479 | werden; @var{modules} ist dabei eine Liste von Namen von Guile-Modulen, die | 7772 | werden; @var{modules} ist dabei eine Liste von Namen von Guile-Modulen, die |
| 7480 | im Modulpfad @var{module-path} gesucht werden, um sie in den Store zu | 7773 | im Modulpfad @var{module-path} gesucht werden, um sie in den Store zu |
| 7481 | kopieren, zu kompilieren und im Ladepfad während der Ausführung des | 7774 | kopieren, zu kompilieren und im Ladepfad während der Ausführung des |
| 7482 | @var{Ausdruck}s verfügbar zu machen — z.B. @code{((guix build utils) (guix | 7775 | @var{Ausdruck}s verfügbar zu machen — z.B.@: @code{((guix build utils) (guix |
| 7483 | build gnu-build-system))}. | 7776 | build gnu-build-system))}. |
| 7484 | 7777 | ||
| 7485 | @var{effective-version} bestimmt, unter welcher Zeichenkette die | 7778 | @var{effective-version} bestimmt, unter welcher Zeichenkette die |
| 7486 | Erweiterungen des @var{Ausdruck}s zum Suchpfad hinzugefügt werden (siehe | 7779 | Erweiterungen des @var{Ausdruck}s zum Suchpfad hinzugefügt werden (siehe |
| 7487 | @code{with-extensions}) — z.B. @code{"2.2"}. | 7780 | @code{with-extensions}) — z.B.@: @code{"2.2"}. |
| 7488 | 7781 | ||
| 7489 | @var{graft?} bestimmt, ob vom @var{Ausdruck} benannte Pakete veredelt werden | 7782 | @var{graft?} bestimmt, ob vom @var{Ausdruck} benannte Pakete veredelt werden |
| 7490 | sollen, falls Veredelungen zur Verfügung stehen. | 7783 | sollen, falls Veredelungen zur Verfügung stehen. |
| @@ -7518,8 +7811,8 @@ Warnungen angezeigt werden sollen, wenn auf als veraltet markierten Code | |||
| 7518 | zugegriffen wird (»deprecation warnings«). @var{deprecation-warnings} kann | 7811 | zugegriffen wird (»deprecation warnings«). @var{deprecation-warnings} kann |
| 7519 | @code{#f}, @code{#t} oder @code{'detailed} (detailliert) sein. | 7812 | @code{#f}, @code{#t} oder @code{'detailed} (detailliert) sein. |
| 7520 | 7813 | ||
| 7521 | Die anderen Argumente verhalten sich wie bei @code{derivation} | 7814 | Die anderen Argumente verhalten sich wie bei @code{derivation} (siehe |
| 7522 | (@pxref{Ableitungen}). | 7815 | @ref{Ableitungen}). |
| 7523 | @end deffn | 7816 | @end deffn |
| 7524 | 7817 | ||
| 7525 | @cindex dateiartige Objekte | 7818 | @cindex dateiartige Objekte |
| @@ -7563,7 +7856,7 @@ absolute Dateiname und @var{Stat} das Ergebnis von @code{lstat} ist, außer | |||
| 7563 | auf den Einträgen, wo @var{select?} keinen wahren Wert liefert. | 7856 | auf den Einträgen, wo @var{select?} keinen wahren Wert liefert. |
| 7564 | 7857 | ||
| 7565 | Dies ist das deklarative Gegenstück zur monadischen Prozedur | 7858 | Dies ist das deklarative Gegenstück zur monadischen Prozedur |
| 7566 | @code{interned-file} (@pxref{Die Store-Monade, @code{interned-file}}). | 7859 | @code{interned-file} (siehe @ref{Die Store-Monade, @code{interned-file}}). |
| 7567 | @end deffn | 7860 | @end deffn |
| 7568 | 7861 | ||
| 7569 | @deffn {Scheme-Prozedur} plain-file @var{Name} @var{Inhalt} | 7862 | @deffn {Scheme-Prozedur} plain-file @var{Name} @var{Inhalt} |
| @@ -7601,7 +7894,7 @@ Folgendes Beispiel erstellt ein Skript, das einfach nur den Befehl | |||
| 7601 | "ls")) | 7894 | "ls")) |
| 7602 | @end example | 7895 | @end example |
| 7603 | 7896 | ||
| 7604 | Lässt man es durch den Store »laufen« (siehe @pxref{Die Store-Monade, | 7897 | Lässt man es durch den Store »laufen« (siehe @ref{Die Store-Monade, |
| 7605 | @code{run-with-store}}), erhalten wir eine Ableitung, die eine ausführbare | 7898 | @code{run-with-store}}), erhalten wir eine Ableitung, die eine ausführbare |
| 7606 | Datei @file{/gnu/store/@dots{}-list-files} generiert, ungefähr so: | 7899 | Datei @file{/gnu/store/@dots{}-list-files} generiert, ungefähr so: |
| 7607 | 7900 | ||
| @@ -7774,12 +8067,13 @@ zum Beispiel ein @code{<package>}. | |||
| 7774 | @section @command{guix repl} aufrufen | 8067 | @section @command{guix repl} aufrufen |
| 7775 | 8068 | ||
| 7776 | @cindex REPL (Lese-Auswerten-Schreiben-Schleife) | 8069 | @cindex REPL (Lese-Auswerten-Schreiben-Schleife) |
| 7777 | The @command{guix repl} command spawns a Guile @dfn{read-eval-print loop} | 8070 | Der Befehl @command{guix repl} startet eine Guile-REPL (@dfn{Read-Eval-Print |
| 7778 | (REPL) for interactive programming (@pxref{Using Guile Interactively,,, | 8071 | Loop}, kurz REPL, deutsch Lese-Auswerten-Schreiben-Schleife) zur |
| 7779 | guile, GNU Guile Reference Manual}). Compared to just launching the | 8072 | interaktiven Programmierung (siehe @ref{Using Guile Interactively,,, guile, |
| 7780 | @command{guile} command, @command{guix repl} guarantees that all the Guix | 8073 | GNU Guile Reference Manual}). Im Vergleich dazu, einfach den Befehl |
| 7781 | modules and all its dependencies are available in the search path. You can | 8074 | @command{guile} aufzurufen, garantiert @command{guix repl}, dass alle |
| 7782 | use it this way: | 8075 | Guix-Module und deren Abhängigkeiten im Suchpfad verfügbar sind. Sie können |
| 8076 | die REPL so benutzen: | ||
| 7783 | 8077 | ||
| 7784 | @example | 8078 | @example |
| 7785 | $ guix repl | 8079 | $ guix repl |
| @@ -7789,37 +8083,40 @@ $1 = #<package coreutils@@8.29 gnu/packages/base.scm:327 3e28300> | |||
| 7789 | @end example | 8083 | @end example |
| 7790 | 8084 | ||
| 7791 | @cindex Untergeordnete | 8085 | @cindex Untergeordnete |
| 7792 | In addition, @command{guix repl} implements a simple machine-readable REPL | 8086 | @command{guix repl} implementiert zusätzlich ein einfaches maschinenlesbares |
| 7793 | protocol for use by @code{(guix inferior)}, a facility to interact with | 8087 | Protokoll für die REPL, das von @code{(guix inferior)} benutzt wird, um mit |
| 7794 | @dfn{inferiors}, separate processes running a potentially different revision | 8088 | @dfn{Untergeordneten} zu interagieren, also mit getrennten Prozessen einer |
| 7795 | of Guix. | 8089 | womöglich anderen Version von Guix. |
| 7796 | 8090 | ||
| 7797 | Folgende @var{Optionen} gibt es: | 8091 | Folgende @var{Optionen} gibt es: |
| 7798 | 8092 | ||
| 7799 | @table @code | 8093 | @table @code |
| 7800 | @item --type=@var{type} | 8094 | @item --type=@var{Typ} |
| 7801 | @itemx -t @var{type} | 8095 | @itemx -t @var{Typ} |
| 7802 | Start a REPL of the given @var{TYPE}, which can be one of the following: | 8096 | Startet eine REPL des angegebenen @var{Typ}s, der einer der Folgenden sein |
| 8097 | darf: | ||
| 7803 | 8098 | ||
| 7804 | @table @code | 8099 | @table @code |
| 7805 | @item guile | 8100 | @item guile |
| 7806 | This is default, and it spawns a standard full-featured Guile REPL. | 8101 | Die Voreinstellung, mit der eine normale, voll funktionsfähige Guile-REPL |
| 8102 | gestartet wird. | ||
| 7807 | @item machine | 8103 | @item machine |
| 7808 | Spawn a REPL that uses the machine-readable protocol. This is the protocol | 8104 | Startet eine REPL, die ein maschinenlesbares Protokoll benutzt. Dieses |
| 7809 | that the @code{(guix inferior)} module speaks. | 8105 | Protokoll wird vom Modul @code{(guix inferior)} gesprochen. |
| 7810 | @end table | 8106 | @end table |
| 7811 | 8107 | ||
| 7812 | @item --listen=@var{Endpunkt} | 8108 | @item --listen=@var{Endpunkt} |
| 7813 | By default, @command{guix repl} reads from standard input and writes to | 8109 | Der Vorgabe nach würde @command{guix repl} von der Standardeingabe lesen und |
| 7814 | standard output. When this option is passed, it will instead listen for | 8110 | auf die Standardausgabe schreiben. Wird diese Befehlszeilenoption angegeben, |
| 7815 | connections on @var{endpoint}. Here are examples of valid options: | 8111 | lauscht die REPL stattdessen auf dem @var{Endpunkt} auf Verbindungen. Hier |
| 8112 | sind Beispiele gültiger Befehlszeilenoptionen: | ||
| 7816 | 8113 | ||
| 7817 | @table @code | 8114 | @table @code |
| 7818 | @item --listen=tcp:37146 | 8115 | @item --listen=tcp:37146 |
| 7819 | Accept connections on localhost on port 37146. | 8116 | Verbindungen mit dem »localhost« auf Port 37146 akzeptieren. |
| 7820 | 8117 | ||
| 7821 | @item --listen=unix:/tmp/socket | 8118 | @item --listen=unix:/tmp/socket |
| 7822 | Accept connections on the Unix-domain socket @file{/tmp/socket}. | 8119 | Verbindungen zum Unix-Socket @file{/tmp/socket} akzeptieren. |
| 7823 | @end table | 8120 | @end table |
| 7824 | @end table | 8121 | @end table |
| 7825 | 8122 | ||
| @@ -7838,12 +8135,12 @@ Befehle. | |||
| 7838 | * Aufruf von guix edit:: Paketdefinitionen bearbeiten. | 8135 | * Aufruf von guix edit:: Paketdefinitionen bearbeiten. |
| 7839 | * Aufruf von guix download:: Herunterladen einer Datei und Ausgabe ihres | 8136 | * Aufruf von guix download:: Herunterladen einer Datei und Ausgabe ihres |
| 7840 | Hashes. | 8137 | Hashes. |
| 7841 | * Aufruf von guix hash:: Den kryptographischen Hash einer Datei | 8138 | * Aufruf von guix hash:: Den kryptografischen Hash einer Datei |
| 7842 | berechnen. | 8139 | berechnen. |
| 7843 | * Aufruf von guix import:: Paketdefinitionen importieren. | 8140 | * Aufruf von guix import:: Paketdefinitionen importieren. |
| 7844 | * Aufruf von guix refresh:: Paketdefinitionen aktualisieren. | 8141 | * Aufruf von guix refresh:: Paketdefinitionen aktualisieren. |
| 7845 | * Aufruf von guix lint:: Fehler in Paketdefinitionen finden. | 8142 | * Aufruf von guix lint:: Fehler in Paketdefinitionen finden. |
| 7846 | * Aufruf von guix size:: Plattenverbrauch profilieren. | 8143 | * Aufruf von guix size:: Plattenplatzverbrauch profilieren. |
| 7847 | * Aufruf von guix graph:: Den Paketgraphen visualisieren. | 8144 | * Aufruf von guix graph:: Den Paketgraphen visualisieren. |
| 7848 | * Aufruf von guix publish:: Substitute teilen. | 8145 | * Aufruf von guix publish:: Substitute teilen. |
| 7849 | * Aufruf von guix challenge:: Die Substitut-Server anfechten. | 8146 | * Aufruf von guix challenge:: Die Substitut-Server anfechten. |
| @@ -7862,9 +8159,9 @@ Befehle. | |||
| 7862 | Der Befehl @command{guix build} lässt Pakete oder Ableitungen samt ihrer | 8159 | Der Befehl @command{guix build} lässt Pakete oder Ableitungen samt ihrer |
| 7863 | Abhängigkeiten erstellen und gibt die resultierenden Pfade im Store | 8160 | Abhängigkeiten erstellen und gibt die resultierenden Pfade im Store |
| 7864 | aus. Beachten Sie, dass das Nutzerprofil dadurch nicht modifiziert wird — | 8161 | aus. Beachten Sie, dass das Nutzerprofil dadurch nicht modifiziert wird — |
| 7865 | eine solche Installation bewirkt der Befehl @command{guix package} | 8162 | eine solche Installation bewirkt der Befehl @command{guix package} (siehe |
| 7866 | (@pxref{Aufruf von guix package}). @command{guix build} wird also | 8163 | @ref{Aufruf von guix package}). @command{guix build} wird also hauptsächlich |
| 7867 | hauptsächlich von Entwicklern der Distribution benutzt. | 8164 | von Entwicklern der Distribution benutzt. |
| 7868 | 8165 | ||
| 7869 | Die allgemeine Syntax lautet: | 8166 | Die allgemeine Syntax lautet: |
| 7870 | 8167 | ||
| @@ -7892,7 +8189,7 @@ Software-Distribution zu findenden Pakets, wie etwa @code{coreutils} oder | |||
| 7892 | @code{coreutils@@8.20}, oder eine Ableitung wie | 8189 | @code{coreutils@@8.20}, oder eine Ableitung wie |
| 7893 | @file{/gnu/store/@dots{}-coreutils-8.19.drv} sein. Im ersten Fall wird nach | 8190 | @file{/gnu/store/@dots{}-coreutils-8.19.drv} sein. Im ersten Fall wird nach |
| 7894 | einem Paket mit entsprechendem Namen (und optional der entsprechenden | 8191 | einem Paket mit entsprechendem Namen (und optional der entsprechenden |
| 7895 | Version) in den Modulen der GNU-Distribution gesucht (@pxref{Paketmodule}). | 8192 | Version) in den Modulen der GNU-Distribution gesucht (siehe @ref{Paketmodule}). |
| 7896 | 8193 | ||
| 7897 | Alternativ kann die Befehlszeilenoption @code{--expression} benutzt werden, | 8194 | Alternativ kann die Befehlszeilenoption @code{--expression} benutzt werden, |
| 7898 | um einen Scheme-Ausdruck anzugeben, der zu einem Paket ausgewertet wird; | 8195 | um einen Scheme-Ausdruck anzugeben, der zu einem Paket ausgewertet wird; |
| @@ -7924,8 +8221,8 @@ archive}, gemeinsam. Das sind folgende: | |||
| 7924 | 8221 | ||
| 7925 | @item --load-path=@var{Verzeichnis} | 8222 | @item --load-path=@var{Verzeichnis} |
| 7926 | @itemx -L @var{Verzeichnis} | 8223 | @itemx -L @var{Verzeichnis} |
| 7927 | Das @var{Verzeichnis} vorne an den Suchpfad für Paketmodule anfügen | 8224 | Das @var{Verzeichnis} vorne an den Suchpfad für Paketmodule anfügen (siehe |
| 7928 | (@pxref{Paketmodule}). | 8225 | @ref{Paketmodule}). |
| 7929 | 8226 | ||
| 7930 | Damit können Nutzer dafür sorgen, dass ihre eigenen selbstdefinierten Pakete | 8227 | Damit können Nutzer dafür sorgen, dass ihre eigenen selbstdefinierten Pakete |
| 7931 | für die Befehlszeilenwerkzeuge sichtbar sind. | 8228 | für die Befehlszeilenwerkzeuge sichtbar sind. |
| @@ -7936,12 +8233,13 @@ Den Verzeichnisbaum, in dem fehlgeschlagene Erstellungen durchgeführt | |||
| 7936 | wurden, behalten. Wenn also eine Erstellung fehlschlägt, bleibt ihr | 8233 | wurden, behalten. Wenn also eine Erstellung fehlschlägt, bleibt ihr |
| 7937 | Erstellungsbaum in @file{/tmp} erhalten. Der Name dieses Unterverzeichnisses | 8234 | Erstellungsbaum in @file{/tmp} erhalten. Der Name dieses Unterverzeichnisses |
| 7938 | wird am Ende dem Erstellungsprotokolls ausgegeben. Dies hilft bei der Suche | 8235 | wird am Ende dem Erstellungsprotokolls ausgegeben. Dies hilft bei der Suche |
| 7939 | nach Fehlern in Erstellungen. Der Abschnitt @xref{Fehlschläge beim Erstellen untersuchen} | 8236 | nach Fehlern in Erstellungen. Der Abschnitt @ref{Fehlschläge beim Erstellen untersuchen} |
| 7940 | zeigt Ihnen Hinweise und Tricks, wie Erstellungsfehler untersucht werden | 8237 | zeigt Ihnen Hinweise und Tricks, wie Erstellungsfehler untersucht werden |
| 7941 | können. | 8238 | können. |
| 7942 | 8239 | ||
| 7943 | Diese Option hat keine Auswirkungen, wenn eine Verbindung zu einem | 8240 | Diese Option hat keine Auswirkungen, wenn eine Verbindung zu einem |
| 7944 | entfernten Daemon über eine @code{guix://}-URI verwendet wurde (@pxref{Der Store, the @code{GUIX_DAEMON_SOCKET} variable}). | 8241 | entfernten Daemon über eine @code{guix://}-URI verwendet wurde (siehe |
| 8242 | @ref{Der Store, the @code{GUIX_DAEMON_SOCKET} variable}). | ||
| 7945 | 8243 | ||
| 7946 | @item --keep-going | 8244 | @item --keep-going |
| 7947 | @itemx -k | 8245 | @itemx -k |
| @@ -7959,17 +8257,17 @@ Die Ableitungen nicht erstellen. | |||
| 7959 | @anchor{fallback-option} | 8257 | @anchor{fallback-option} |
| 7960 | @item --fallback | 8258 | @item --fallback |
| 7961 | Wenn das Substituieren vorerstellter Binärdateien fehlschlägt, diese als | 8259 | Wenn das Substituieren vorerstellter Binärdateien fehlschlägt, diese als |
| 7962 | »Fallback« lokal selbst erstellen (@pxref{Fehler bei der Substitution}). | 8260 | »Fallback« lokal selbst erstellen (siehe @ref{Fehler bei der Substitution}). |
| 7963 | 8261 | ||
| 7964 | @item --substitute-urls=@var{URLs} | 8262 | @item --substitute-urls=@var{URLs} |
| 7965 | @anchor{client-substitute-urls} | 8263 | @anchor{client-substitute-urls} |
| 7966 | Die @var{urls} als durch Leerraumzeichen getrennte Liste von Quell-URLs für | 8264 | Die @var{urls} als durch Leerraumzeichen getrennte Liste von Quell-URLs für |
| 7967 | Substitute anstelle der vorgegebenen URL-Liste für den @command{guix-daemon} | 8265 | Substitute anstelle der vorgegebenen URL-Liste für den @command{guix-daemon} |
| 7968 | verwenden (@pxref{daemon-substitute-urls,, @command{guix-daemon} URLs}). | 8266 | verwenden (siehe @ref{daemon-substitute-urls,, @command{guix-daemon} URLs}). |
| 7969 | 8267 | ||
| 7970 | Das heißt, die Substitute dürfen von den @var{urls} heruntergeladen werden, | 8268 | Das heißt, die Substitute dürfen von den @var{urls} heruntergeladen werden, |
| 7971 | sofern sie mit einem durch den Systemadministrator autorisierten Schlüssel | 8269 | sofern sie mit einem durch den Systemadministrator autorisierten Schlüssel |
| 7972 | signiert worden sind (@pxref{Substitute}). | 8270 | signiert worden sind (siehe @ref{Substitute}). |
| 7973 | 8271 | ||
| 7974 | Wenn als @var{urls} eine leere Zeichenkette angegeben wurde, verhält es | 8272 | Wenn als @var{urls} eine leere Zeichenkette angegeben wurde, verhält es |
| 7975 | sich, als wären Substitute abgeschaltet. | 8273 | sich, als wären Substitute abgeschaltet. |
| @@ -7977,12 +8275,12 @@ sich, als wären Substitute abgeschaltet. | |||
| 7977 | @item --no-substitutes | 8275 | @item --no-substitutes |
| 7978 | Benutze keine Substitute für Erstellungsergebnisse. Das heißt, dass alle | 8276 | Benutze keine Substitute für Erstellungsergebnisse. Das heißt, dass alle |
| 7979 | Objekte lokal erstellt werden müssen, und kein Herunterladen von vorab | 8277 | Objekte lokal erstellt werden müssen, und kein Herunterladen von vorab |
| 7980 | erstellten Binärdateien erlaubt ist (@pxref{Substitute}). | 8278 | erstellten Binärdateien erlaubt ist (siehe @ref{Substitute}). |
| 7981 | 8279 | ||
| 7982 | @item --no-grafts | 8280 | @item --no-grafts |
| 7983 | Pakete nicht »veredeln« (engl. »graft«). Praktisch heißt das, dass als | 8281 | Pakete nicht »veredeln« (engl. »graft«). Praktisch heißt das, dass als |
| 7984 | Veredelungen verfügbare Paketaktualisierungen nicht angewandt werden. Der | 8282 | Veredelungen verfügbare Paketaktualisierungen nicht angewandt werden. Der |
| 7985 | Abschnitt @xref{Sicherheitsaktualisierungen} hat weitere Informationen zu Veredelungen. | 8283 | Abschnitt @ref{Sicherheitsaktualisierungen} hat weitere Informationen zu Veredelungen. |
| 7986 | 8284 | ||
| 7987 | @item --rounds=@var{n} | 8285 | @item --rounds=@var{n} |
| 7988 | Jede Ableitung @var{n}-mal nacheinander erstellen und einen Fehler melden, | 8286 | Jede Ableitung @var{n}-mal nacheinander erstellen und einen Fehler melden, |
| @@ -7993,17 +8291,17 @@ Das ist eine nützliche Methode, um nicht-deterministische | |||
| 7993 | Erstellungsprozesse zu erkennen. Nicht-deterministische Erstellungsprozesse | 8291 | Erstellungsprozesse zu erkennen. Nicht-deterministische Erstellungsprozesse |
| 7994 | sind ein Problem, weil Nutzer dadurch praktisch nicht @emph{verifizieren} | 8292 | sind ein Problem, weil Nutzer dadurch praktisch nicht @emph{verifizieren} |
| 7995 | können, ob von Drittanbietern bereitgestellte Binärdateien echt sind. Der | 8293 | können, ob von Drittanbietern bereitgestellte Binärdateien echt sind. Der |
| 7996 | Abschnitt @xref{Aufruf von guix challenge} erklärt dies genauer. | 8294 | Abschnitt @ref{Aufruf von guix challenge} erklärt dies genauer. |
| 7997 | 8295 | ||
| 7998 | Beachten Sie, dass die sich unterscheidenden Erstellungsergebnisse nicht | 8296 | Beachten Sie, dass die sich unterscheidenden Erstellungsergebnisse nicht |
| 7999 | erhalten bleiben, so dass Sie eventuelle Fehler manuell untersuchen müssen, | 8297 | erhalten bleiben, so dass Sie eventuelle Fehler manuell untersuchen müssen, |
| 8000 | z.B. indem Sie eines oder mehrere der Erstellungsergebnisse @code{guix | 8298 | z.B.@: indem Sie eines oder mehrere der Erstellungsergebnisse @code{guix |
| 8001 | archive --export} auslagern (@pxref{Aufruf von guix archive}), dann neu | 8299 | archive --export} auslagern (siehe @ref{Aufruf von guix archive}), dann neu |
| 8002 | erstellen und letztlich die beiden Erstellungsergebnisse vergleichen. | 8300 | erstellen und letztlich die beiden Erstellungsergebnisse vergleichen. |
| 8003 | 8301 | ||
| 8004 | @item --no-build-hook | 8302 | @item --no-build-hook |
| 8005 | Nicht versuchen, Erstellungen über den »Build-Hook« des Daemons auszulagern | 8303 | Nicht versuchen, Erstellungen über den »Build-Hook« des Daemons auszulagern |
| 8006 | (@pxref{Auslagern des Daemons einrichten}). Somit wird lokal erstellt, statt | 8304 | (siehe @ref{Auslagern des Daemons einrichten}). Somit wird lokal erstellt, statt |
| 8007 | Erstellungen auf entfernte Maschinen auszulagern. | 8305 | Erstellungen auf entfernte Maschinen auszulagern. |
| 8008 | 8306 | ||
| 8009 | @item --max-silent-time=@var{Sekunden} | 8307 | @item --max-silent-time=@var{Sekunden} |
| @@ -8011,24 +8309,27 @@ Wenn der Erstellungs- oder Substitutionsprozess länger als | |||
| 8011 | @var{Sekunden}-lang keine Ausgabe erzeugt, wird er abgebrochen und ein | 8309 | @var{Sekunden}-lang keine Ausgabe erzeugt, wird er abgebrochen und ein |
| 8012 | Fehler beim Erstellen gemeldet. | 8310 | Fehler beim Erstellen gemeldet. |
| 8013 | 8311 | ||
| 8014 | Standardmäßig wird die Einstellung für den Daemon benutzt (@pxref{Aufruf des guix-daemon, @code{--max-silent-time}}). | 8312 | Standardmäßig wird die Einstellung für den Daemon benutzt (siehe |
| 8313 | @ref{Aufruf des guix-daemon, @code{--max-silent-time}}). | ||
| 8015 | 8314 | ||
| 8016 | @item --timeout=@var{Sekunden} | 8315 | @item --timeout=@var{Sekunden} |
| 8017 | Entsprechend wird hier der Erstellungs- oder Substitutionsprozess | 8316 | Entsprechend wird hier der Erstellungs- oder Substitutionsprozess |
| 8018 | abgebrochen und als Fehlschlag gemeldet, wenn er mehr als | 8317 | abgebrochen und als Fehlschlag gemeldet, wenn er mehr als |
| 8019 | @var{Sekunden}-lang dauert. | 8318 | @var{Sekunden}-lang dauert. |
| 8020 | 8319 | ||
| 8021 | Standardmäßig wird die Einstellung für den Daemon benutzt (@pxref{Aufruf des guix-daemon, @code{--timeout}}). | 8320 | Standardmäßig wird die Einstellung für den Daemon benutzt (siehe |
| 8321 | @ref{Aufruf des guix-daemon, @code{--timeout}}). | ||
| 8022 | 8322 | ||
| 8023 | @c Note: This option is actually not part of %standard-build-options but | 8323 | @c Note: This option is actually not part of %standard-build-options but |
| 8024 | @c most programs honor it. | 8324 | @c most programs honor it. |
| 8025 | @cindex verbosity, of the command-line tools | 8325 | @cindex Ausführlichkeit der Befehlszeilenwerkzeuge |
| 8026 | @cindex build logs, verbosity | 8326 | @cindex Erstellungsprotokolle, Ausführlichkeit |
| 8027 | @item -v @var{level} | 8327 | @item -v @var{Stufe} |
| 8028 | @itemx --verbosity=@var{Stufe} | 8328 | @itemx --verbosity=@var{Stufe} |
| 8029 | Use the given verbosity @var{level}, an integer. Choosing 0 means that no | 8329 | Die angegebene Ausführlichkeitsstufe verwenden. Als @var{Stufe} muss eine |
| 8030 | output is produced, 1 is for quiet output, and 2 shows all the build log | 8330 | ganze Zahl angegeben werden. Wird 0 gewählt, wird keine Ausgabe zur |
| 8031 | output on standard error. | 8331 | Fehlersuche angezeigt, 1 bedeutet eine knappe Ausgabe und 2 lässt alle |
| 8332 | Erstellungsprotokollausgaben auf die Standardfehlerausgabe schreiben. | ||
| 8032 | 8333 | ||
| 8033 | @item --cores=@var{n} | 8334 | @item --cores=@var{n} |
| 8034 | @itemx -c @var{n} | 8335 | @itemx -c @var{n} |
| @@ -8039,14 +8340,15 @@ benutzt werden. | |||
| 8039 | @item --max-jobs=@var{n} | 8340 | @item --max-jobs=@var{n} |
| 8040 | @itemx -M @var{n} | 8341 | @itemx -M @var{n} |
| 8041 | Höchstens @var{n} gleichzeitige Erstellungsaufträge erlauben. Im Abschnitt | 8342 | Höchstens @var{n} gleichzeitige Erstellungsaufträge erlauben. Im Abschnitt |
| 8042 | @xref{Aufruf des guix-daemon, @code{--max-jobs}}, finden Sie Details zu dieser | 8343 | @ref{Aufruf des guix-daemon, @code{--max-jobs}} finden Sie Details zu dieser |
| 8043 | Option und der äquivalenten Option des @command{guix-daemon}. | 8344 | Option und der äquivalenten Option des @command{guix-daemon}. |
| 8044 | 8345 | ||
| 8045 | @item --debug=@var{level} | 8346 | @item --debug=@var{Stufe} |
| 8046 | Produce debugging output coming from the build daemon. @var{level} must be | 8347 | Ein Protokoll zur Fehlersuche ausgeben, das vom Erstellungsdaemon kommt. Als |
| 8047 | an integer between 0 and 5; higher means more verbose output. Setting a | 8348 | @var{Stufe} muss eine ganze Zahl zwischen 0 und 5 angegeben werden; höhere |
| 8048 | level of 4 or more may be helpful when debugging setup issues with the build | 8349 | Zahlen stehen für ausführlichere Ausgaben. Stufe 4 oder höher zu wählen, |
| 8049 | daemon. | 8350 | kann bei der Suche nach Fehlern, wie der Erstellungs-Daemon eingerichtet |
| 8351 | ist, helfen. | ||
| 8050 | 8352 | ||
| 8051 | @end table | 8353 | @end table |
| 8052 | 8354 | ||
| @@ -8085,7 +8387,7 @@ auch @command{guix package} unterstützen, sind | |||
| 8085 | @dfn{Paketvarianten} zu definieren — zum Beispiel können Pakete aus einem | 8387 | @dfn{Paketvarianten} zu definieren — zum Beispiel können Pakete aus einem |
| 8086 | anderen Quellcode als normalerweise erstellt werden. Damit ist es leicht, | 8388 | anderen Quellcode als normalerweise erstellt werden. Damit ist es leicht, |
| 8087 | angepasste Pakete schnell zu erstellen, ohne die vollständigen Definitionen | 8389 | angepasste Pakete schnell zu erstellen, ohne die vollständigen Definitionen |
| 8088 | von Paketvarianten einzutippen (@pxref{Pakete definieren}). | 8390 | von Paketvarianten einzutippen (siehe @ref{Pakete definieren}). |
| 8089 | 8391 | ||
| 8090 | @table @code | 8392 | @table @code |
| 8091 | 8393 | ||
| @@ -8095,11 +8397,11 @@ von Paketvarianten einzutippen (@pxref{Pakete definieren}). | |||
| 8095 | Den Paketquellcode für das @var{Paket} von der angegebenen @var{Quelle} | 8397 | Den Paketquellcode für das @var{Paket} von der angegebenen @var{Quelle} |
| 8096 | holen und die @var{Version} als seine Versionsnummer verwenden. Die | 8398 | holen und die @var{Version} als seine Versionsnummer verwenden. Die |
| 8097 | @var{Quelle} muss ein Dateiname oder eine URL sein wie bei @command{guix | 8399 | @var{Quelle} muss ein Dateiname oder eine URL sein wie bei @command{guix |
| 8098 | download} (@pxref{Aufruf von guix download}). | 8400 | download} (siehe @ref{Aufruf von guix download}). |
| 8099 | 8401 | ||
| 8100 | Wird kein @var{Paket} angegeben, wird als Paketname derjenige auf der | 8402 | Wird kein @var{Paket} angegeben, wird als Paketname derjenige auf der |
| 8101 | Befehlszeile angegebene Paketname angenommen, der zur Basis am Ende der | 8403 | Befehlszeile angegebene Paketname angenommen, der zur Basis am Ende der |
| 8102 | @var{Quelle} passt — wenn z.B. als @var{Quelle} die Datei | 8404 | @var{Quelle} passt — wenn z.B.@: als @var{Quelle} die Datei |
| 8103 | @code{/src/guile-2.0.10.tar.gz} angegeben wurde, entspricht das dem | 8405 | @code{/src/guile-2.0.10.tar.gz} angegeben wurde, entspricht das dem |
| 8104 | @code{guile}-Paket. | 8406 | @code{guile}-Paket. |
| 8105 | 8407 | ||
| @@ -8150,7 +8452,7 @@ Die Ersetzung ist rekursiv und umfassend. In diesem Beispiel würde nicht nur | |||
| 8150 | @code{guile} abhängt) für @code{guile@@2.0} neu erstellt. | 8452 | @code{guile} abhängt) für @code{guile@@2.0} neu erstellt. |
| 8151 | 8453 | ||
| 8152 | Implementiert wird das alles mit der Scheme-Prozedur | 8454 | Implementiert wird das alles mit der Scheme-Prozedur |
| 8153 | @code{package-input-rewriting} (@pxref{Pakete definieren, | 8455 | @code{package-input-rewriting} (siehe @ref{Pakete definieren, |
| 8154 | @code{package-input-rewriting}}). | 8456 | @code{package-input-rewriting}}). |
| 8155 | 8457 | ||
| 8156 | @item --with-graft=@var{Paket}=@var{Ersatz} | 8458 | @item --with-graft=@var{Paket}=@var{Ersatz} |
| @@ -8158,7 +8460,7 @@ Dies verhält sich ähnlich wie mit @code{--with-input}, aber mit dem | |||
| 8158 | wichtigen Unterschied, dass nicht die gesamte Abhängigkeitskette neu | 8460 | wichtigen Unterschied, dass nicht die gesamte Abhängigkeitskette neu |
| 8159 | erstellt wird, sondern das @var{Ersatz}-Paket erstellt und die | 8461 | erstellt wird, sondern das @var{Ersatz}-Paket erstellt und die |
| 8160 | ursprünglichen Binärdateien, die auf das @var{Paket} verwiesen haben, damit | 8462 | ursprünglichen Binärdateien, die auf das @var{Paket} verwiesen haben, damit |
| 8161 | @dfn{veredelt} werden. Im Abschnitt @xref{Sicherheitsaktualisierungen} finden Sie | 8463 | @dfn{veredelt} werden. Im Abschnitt @ref{Sicherheitsaktualisierungen} finden Sie |
| 8162 | weitere Informationen über Veredelungen. | 8464 | weitere Informationen über Veredelungen. |
| 8163 | 8465 | ||
| 8164 | Zum Beispiel veredelt folgender Befehl Wget und alle Abhängigkeiten davon | 8466 | Zum Beispiel veredelt folgender Befehl Wget und alle Abhängigkeiten davon |
| @@ -8178,24 +8480,24 @@ kompatibel sein. Wenn das @var{Ersatz}-Paket auf irgendeine Art inkompatibel | |||
| 8178 | mit dem @var{Paket} ist, könnte das Ergebnispaket unbrauchbar sein. Vorsicht | 8480 | mit dem @var{Paket} ist, könnte das Ergebnispaket unbrauchbar sein. Vorsicht |
| 8179 | ist also geboten! | 8481 | ist also geboten! |
| 8180 | 8482 | ||
| 8181 | @item --with-branch=@var{package}=@var{branch} | 8483 | @item --with-git-url=@var{Paket}=@var{URL} |
| 8182 | @cindex Git, using the latest commit | 8484 | @cindex Git, den neuesten Commit benutzen |
| 8183 | @cindex latest commit, building | 8485 | @cindex latest commit, building |
| 8184 | Build @var{package} from the latest commit of @var{branch}. The | 8486 | Build @var{package} from the latest commit of the @code{master} branch of |
| 8185 | @code{source} field of @var{package} must be an origin with the | 8487 | the Git repository at @var{url}. Git sub-modules of the repository are |
| 8186 | @code{git-fetch} method (@pxref{»origin«-Referenz}) or a @code{git-checkout} | 8488 | fetched, recursively. |
| 8187 | object; the repository URL is taken from that @code{source}. Git | ||
| 8188 | sub-modules of the repository are fetched, recursively. | ||
| 8189 | 8489 | ||
| 8190 | For instance, the following command builds @code{guile-sqlite3} from the | 8490 | For example, the following command builds the NumPy Python library against |
| 8191 | latest commit of its @code{master} branch, and then builds @code{guix} | 8491 | the latest commit of the master branch of Python itself: |
| 8192 | (which depends on it) and @code{cuirass} (which depends on @code{guix}) | ||
| 8193 | against this specific @code{guile-sqlite3} build: | ||
| 8194 | 8492 | ||
| 8195 | @example | 8493 | @example |
| 8196 | guix build --with-branch=guile-sqlite3=master cuirass | 8494 | guix build python-numpy \ |
| 8495 | --with-git-url=python=https://github.com/python/cpython | ||
| 8197 | @end example | 8496 | @end example |
| 8198 | 8497 | ||
| 8498 | This option can also be combined with @code{--with-branch} or | ||
| 8499 | @code{--with-commit} (see below). | ||
| 8500 | |||
| 8199 | @cindex continuous integration | 8501 | @cindex continuous integration |
| 8200 | Obviously, since it uses the latest commit of the given branch, the result | 8502 | Obviously, since it uses the latest commit of the given branch, the result |
| 8201 | of such a command varies over time. Nevertheless it is a convenient way to | 8503 | of such a command varies over time. Nevertheless it is a convenient way to |
| @@ -8207,7 +8509,23 @@ Checkouts are kept in a cache under @file{~/.cache/guix/checkouts} to speed | |||
| 8207 | up consecutive accesses to the same repository. You may want to clean it up | 8509 | up consecutive accesses to the same repository. You may want to clean it up |
| 8208 | once in a while to save disk space. | 8510 | once in a while to save disk space. |
| 8209 | 8511 | ||
| 8210 | @item --with-commit=@var{package}=@var{commit} | 8512 | @item --with-branch=@var{Paket}=@var{Branch} |
| 8513 | Build @var{package} from the latest commit of @var{branch}. If the | ||
| 8514 | @code{source} field of @var{package} is an origin with the @code{git-fetch} | ||
| 8515 | method (@pxref{»origin«-Referenz}) or a @code{git-checkout} object, the | ||
| 8516 | repository URL is taken from that @code{source}. Otherwise you have to use | ||
| 8517 | @code{--with-git-url} to specify the URL of the Git repository. | ||
| 8518 | |||
| 8519 | For instance, the following command builds @code{guile-sqlite3} from the | ||
| 8520 | latest commit of its @code{master} branch, and then builds @code{guix} | ||
| 8521 | (which depends on it) and @code{cuirass} (which depends on @code{guix}) | ||
| 8522 | against this specific @code{guile-sqlite3} build: | ||
| 8523 | |||
| 8524 | @example | ||
| 8525 | guix build --with-branch=guile-sqlite3=master cuirass | ||
| 8526 | @end example | ||
| 8527 | |||
| 8528 | @item --with-commit=@var{Paket}=@var{Commit} | ||
| 8211 | This is similar to @code{--with-branch}, except that it builds from | 8529 | This is similar to @code{--with-branch}, except that it builds from |
| 8212 | @var{commit} rather than the tip of a branch. @var{commit} must be a valid | 8530 | @var{commit} rather than the tip of a branch. @var{commit} must be a valid |
| 8213 | Git commit SHA1 identifier. | 8531 | Git commit SHA1 identifier. |
| @@ -8223,19 +8541,19 @@ Die unten aufgeführten Befehlszeilenoptionen funktionieren nur mit | |||
| 8223 | 8541 | ||
| 8224 | @item --quiet | 8542 | @item --quiet |
| 8225 | @itemx -q | 8543 | @itemx -q |
| 8226 | Build quietly, without displaying the build log; this is equivalent to | 8544 | Schweigend erstellen, ohne das Erstellungsprotokoll anzuzeigen — dies ist |
| 8227 | @code{--verbosity=0}. Upon completion, the build log is kept in @file{/var} | 8545 | äquivalent zu @code{--verbosity=0}. Nach Abschluss der Erstellung ist das |
| 8228 | (or similar) and can always be retrieved using the @option{--log-file} | 8546 | Protokoll in @file{/var} (oder einem entsprechenden Ort) einsehbar und kann |
| 8229 | option. | 8547 | jederzeit mit der Befehlszeilenoption @option{--log-file} gefunden werden. |
| 8230 | 8548 | ||
| 8231 | @item --file=@var{Datei} | 8549 | @item --file=@var{Datei} |
| 8232 | @itemx -f @var{Datei} | 8550 | @itemx -f @var{Datei} |
| 8233 | Das Paket, die Ableitung oder das dateiähnliche Objekt erstellen, zu dem der | 8551 | Das Paket, die Ableitung oder das dateiähnliche Objekt erstellen, zu dem der |
| 8234 | Code in der @var{Datei} ausgewertet wird (@pxref{G-Ausdrücke, file-like | 8552 | Code in der @var{Datei} ausgewertet wird (siehe @ref{G-Ausdrücke, |
| 8235 | objects}). | 8553 | file-like objects}). |
| 8236 | 8554 | ||
| 8237 | Zum Beispiel könnte in der @var{Datei} so eine Paketdefinition stehen | 8555 | Zum Beispiel könnte in der @var{Datei} so eine Paketdefinition stehen (siehe |
| 8238 | (@pxref{Pakete definieren}): | 8556 | @ref{Pakete definieren}): |
| 8239 | 8557 | ||
| 8240 | @example | 8558 | @example |
| 8241 | @verbatiminclude package-hello.scm | 8559 | @verbatiminclude package-hello.scm |
| @@ -8243,63 +8561,68 @@ Zum Beispiel könnte in der @var{Datei} so eine Paketdefinition stehen | |||
| 8243 | 8561 | ||
| 8244 | @item --expression=@var{Ausdruck} | 8562 | @item --expression=@var{Ausdruck} |
| 8245 | @itemx -e @var{Ausdruck} | 8563 | @itemx -e @var{Ausdruck} |
| 8246 | Build the package or derivation @var{expr} evaluates to. | 8564 | Das Paket oder die Ableitung erstellen, zu der der @var{Ausdruck} |
| 8565 | ausgewertet wird. | ||
| 8247 | 8566 | ||
| 8248 | For example, @var{expr} may be @code{(@@ (gnu packages guile) guile-1.8)}, | 8567 | Zum Beispiel kann der @var{Ausdruck} @code{(@@ (gnu packages guile) |
| 8249 | which unambiguously designates this specific variant of version 1.8 of | 8568 | guile-1.8)} sein, was diese bestimmte Variante der Version 1.8 von Guile |
| 8250 | Guile. | 8569 | eindeutig bezeichnet. |
| 8251 | 8570 | ||
| 8252 | Alternatively, @var{expr} may be a G-expression, in which case it is used as | 8571 | Alternativ kann der @var{Ausdruck} ein G-Ausdruck sein. In diesem Fall wird |
| 8253 | a build program passed to @code{gexp->derivation} (@pxref{G-Ausdrücke}). | 8572 | er als Erstellungsprogramm an @code{gexp->derivation} übergeben (siehe |
| 8573 | @ref{G-Ausdrücke}). | ||
| 8254 | 8574 | ||
| 8255 | Lastly, @var{expr} may refer to a zero-argument monadic procedure | 8575 | Zudem kann der @var{Ausdruck} eine monadische Prozedur mit null Argumenten |
| 8256 | (@pxref{Die Store-Monade}). The procedure must return a derivation as a | 8576 | bezeichnen (siehe @ref{Die Store-Monade}). Die Prozedur muss eine Ableitung |
| 8257 | monadic value, which is then passed through @code{run-with-store}. | 8577 | als monadischen Wert zurückliefern, die dann durch @code{run-with-store} |
| 8578 | laufen gelassen wird. | ||
| 8258 | 8579 | ||
| 8259 | @item --source | 8580 | @item --source |
| 8260 | @itemx -S | 8581 | @itemx -S |
| 8261 | Build the source derivations of the packages, rather than the packages | 8582 | Die Quellcode-Ableitung der Pakete statt die Pakete selbst erstellen. |
| 8262 | themselves. | ||
| 8263 | 8583 | ||
| 8264 | For instance, @code{guix build -S gcc} returns something like | 8584 | Zum Beispiel liefert @code{guix build -S gcc} etwas in der Art von |
| 8265 | @file{/gnu/store/@dots{}-gcc-4.7.2.tar.bz2}, which is the GCC source | 8585 | @file{/gnu/store/@dots{}-gcc-4.7.2.tar.bz2}, also den Tarball mit dem |
| 8266 | tarball. | 8586 | GCC-Quellcode. |
| 8267 | 8587 | ||
| 8268 | The returned source tarball is the result of applying any patches and code | 8588 | Der gelieferte Quell-Tarball ist das Ergebnis davon, alle Patches und |
| 8269 | snippets specified in the package @code{origin} (@pxref{Pakete definieren}). | 8589 | Code-Schnipsel aufzuspielen, die im @code{origin}-Objekt des Pakets |
| 8590 | festgelegt wurden (siehe @ref{Pakete definieren}). | ||
| 8270 | 8591 | ||
| 8271 | @item --sources | 8592 | @item --sources |
| 8272 | Fetch and return the source of @var{package-or-derivation} and all their | 8593 | Den Quellcode für @var{Paket-oder-Ableitung} und alle Abhängigkeiten davon |
| 8273 | dependencies, recursively. This is a handy way to obtain a local copy of | 8594 | rekursiv herunterladen und zurückliefern. Dies ist eine praktische Methode, |
| 8274 | all the source code needed to build @var{packages}, allowing you to | 8595 | eine lokale Kopie des gesamten Quellcodes zu beziehen, der nötig ist, um die |
| 8275 | eventually build them even without network access. It is an extension of | 8596 | Pakete zu erstellen, damit Sie diese später auch ohne Netzwerkzugang |
| 8276 | the @code{--source} option and can accept one of the following optional | 8597 | erstellen lassen können. Es handelt sich um eine Erweiterung der |
| 8277 | argument values: | 8598 | Befehlszeilenoption @code{--source}, die jeden der folgenden Argumentwerte |
| 8599 | akzeptiert: | ||
| 8278 | 8600 | ||
| 8279 | @table @code | 8601 | @table @code |
| 8280 | @item package | 8602 | @item package |
| 8281 | This value causes the @code{--sources} option to behave in the same way as | 8603 | Mit diesem Wert verhält sich die Befehlszeilenoption @code{--sources} auf |
| 8282 | the @code{--source} option. | 8604 | genau die gleiche Weise wie die Befehlszeilenoption @code{--source}. |
| 8283 | 8605 | ||
| 8284 | @item all | 8606 | @item all |
| 8285 | Build the source derivations of all packages, including any source that | 8607 | Erstellt die Quellcode-Ableitungen aller Pakete einschließlich allen |
| 8286 | might be listed as @code{inputs}. This is the default value. | 8608 | Quellcodes, der als Teil der Eingaben im @code{inputs}-Feld aufgelistet |
| 8609 | ist. Dies ist der vorgegebene Wert, wenn sonst keiner angegeben wird. | ||
| 8287 | 8610 | ||
| 8288 | @example | 8611 | @example |
| 8289 | $ guix build --sources tzdata | 8612 | $ guix build --sources tzdata |
| 8290 | The following derivations will be built: | 8613 | Folgende Ableitungen werden erstellt: |
| 8291 | /gnu/store/@dots{}-tzdata2015b.tar.gz.drv | 8614 | /gnu/store/@dots{}-tzdata2015b.tar.gz.drv |
| 8292 | /gnu/store/@dots{}-tzcode2015b.tar.gz.drv | 8615 | /gnu/store/@dots{}-tzcode2015b.tar.gz.drv |
| 8293 | @end example | 8616 | @end example |
| 8294 | 8617 | ||
| 8295 | @item transitive | 8618 | @item transitive |
| 8296 | Build the source derivations of all packages, as well of all transitive | 8619 | Die Quellcode-Ableitungen aller Pakete sowie aller transitiven Eingaben der |
| 8297 | inputs to the packages. This can be used e.g.@: to prefetch package source | 8620 | Pakete erstellen. Damit kann z.B.@: Paket-Quellcode vorab heruntergeladen |
| 8298 | for later offline building. | 8621 | und später offline erstellt werden. |
| 8299 | 8622 | ||
| 8300 | @example | 8623 | @example |
| 8301 | $ guix build --sources=transitive tzdata | 8624 | $ guix build --sources=transitive tzdata |
| 8302 | The following derivations will be built: | 8625 | Folgende Ableitungen werden erstellt: |
| 8303 | /gnu/store/@dots{}-tzcode2015b.tar.gz.drv | 8626 | /gnu/store/@dots{}-tzcode2015b.tar.gz.drv |
| 8304 | /gnu/store/@dots{}-findutils-4.4.2.tar.xz.drv | 8627 | /gnu/store/@dots{}-findutils-4.4.2.tar.xz.drv |
| 8305 | /gnu/store/@dots{}-grep-2.21.tar.xz.drv | 8628 | /gnu/store/@dots{}-grep-2.21.tar.xz.drv |
| @@ -8314,54 +8637,55 @@ The following derivations will be built: | |||
| 8314 | @item --system=@var{System} | 8637 | @item --system=@var{System} |
| 8315 | @itemx -s @var{System} | 8638 | @itemx -s @var{System} |
| 8316 | Versuchen, für die angegebene Art von @var{System} geeignete Binärdateien zu | 8639 | Versuchen, für die angegebene Art von @var{System} geeignete Binärdateien zu |
| 8317 | erstellen — z.B. @code{i686-linux} — statt für die Art von System, das die | 8640 | erstellen — z.B.@: @code{i686-linux} — statt für die Art von System, das die |
| 8318 | Erstellung durchführt. | 8641 | Erstellung durchführt. |
| 8319 | 8642 | ||
| 8320 | @quotation Anmerkung | 8643 | @quotation Anmerkung |
| 8321 | The @code{--system} flag is for @emph{native} compilation and must not be | 8644 | Die Befehlszeilenoption @code{--system} dient der @emph{nativen} |
| 8322 | confused with cross-compilation. See @code{--target} below for information | 8645 | Kompilierung (nicht zu verwechseln mit Cross-Kompilierung). Siehe |
| 8323 | on cross-compilation. | 8646 | @code{--target} unten für Informationen zur Cross-Kompilierung. |
| 8324 | @end quotation | 8647 | @end quotation |
| 8325 | 8648 | ||
| 8326 | An example use of this is on Linux-based systems, which can emulate | 8649 | Ein Beispiel sind Linux-basierte Systeme, die verschiedene Persönlichkeiten |
| 8327 | different personalities. For instance, passing @code{--system=i686-linux} | 8650 | emulieren können. Zum Beispiel können Sie @code{--system=i686-linux} auf |
| 8328 | on an @code{x86_64-linux} system or @code{--system=armhf-linux} on an | 8651 | einem @code{x86_64-linux}-System oder @code{--system=armhf-linux} auf einem |
| 8329 | @code{aarch64-linux} system allows you to build packages in a complete | 8652 | @code{aarch64-linux}-System angeben, um Pakete in einer vollständigen |
| 8330 | 32-bit environment. | 8653 | 32-Bit-Umgebung zu erstellen. |
| 8331 | 8654 | ||
| 8332 | @quotation Anmerkung | 8655 | @quotation Anmerkung |
| 8333 | Building for an @code{armhf-linux} system is unconditionally enabled on | 8656 | Das Erstellen für ein @code{armhf-linux}-System ist ungeprüft auf allen |
| 8334 | @code{aarch64-linux} machines, although certain aarch64 chipsets do not | 8657 | @code{aarch64-linux}-Maschinen aktiviert, obwohl bestimmte aarch64-Chipsätze |
| 8335 | allow for this functionality, notably the ThunderX. | 8658 | diese Funktionalität nicht unterstützen, darunter auch ThunderX. |
| 8336 | @end quotation | 8659 | @end quotation |
| 8337 | 8660 | ||
| 8338 | Similarly, when transparent emulation with QEMU and @code{binfmt_misc} is | 8661 | Ebenso können Sie, wenn transparente Emulation mit QEMU und |
| 8339 | enabled (@pxref{Virtualisierungsdienste, @code{qemu-binfmt-service-type}}), | 8662 | @code{binfmt_misc} aktiviert sind (siehe @ref{Virtualisierungsdienste, |
| 8340 | you can build for any system for which a QEMU @code{binfmt_misc} handler is | 8663 | @code{qemu-binfmt-service-type}}), für jedes System Erstellungen |
| 8341 | installed. | 8664 | durchführen, für das ein QEMU-@code{binfmt_misc}-Handler installiert ist. |
| 8342 | 8665 | ||
| 8343 | Builds for a system other than that of the machine you are using can also be | 8666 | Erstellungen für ein anderes System, das nicht dem System der Maschine, die |
| 8344 | offloaded to a remote machine of the right architecture. @xref{Auslagern des Daemons einrichten}, for more information on offloading. | 8667 | Sie benutzen, entspricht, können auch auf eine entfernte Maschine mit der |
| 8668 | richtigen Architektur ausgelagert werden. Siehe @ref{Auslagern des Daemons einrichten} | ||
| 8669 | für mehr Informationen über das Auslagern. | ||
| 8345 | 8670 | ||
| 8346 | @item --target=@var{Tripel} | 8671 | @item --target=@var{Tripel} |
| 8347 | @cindex Cross-Kompilieren | 8672 | @cindex Cross-Kompilieren |
| 8348 | Lässt für das angegebene @var{Tripel} cross-erstellen, dieses muss ein | 8673 | Lässt für das angegebene @var{Tripel} cross-erstellen, dieses muss ein |
| 8349 | gültiges GNU-Tripel wie z.B. @code{"mips64el-linux-gnu"} sein | 8674 | gültiges GNU-Tripel wie z.B.@: @code{"mips64el-linux-gnu"} sein (siehe |
| 8350 | (@pxref{Specifying target triplets, GNU configuration triplets,, autoconf, | 8675 | @ref{Specifying target triplets, GNU configuration triplets,, autoconf, |
| 8351 | Autoconf}). | 8676 | Autoconf}). |
| 8352 | 8677 | ||
| 8353 | @anchor{build-check} | 8678 | @anchor{build-check} |
| 8354 | @item --check | 8679 | @item --check |
| 8355 | @cindex determinism, checking | 8680 | @cindex Determinismus, Überprüfung |
| 8356 | @cindex reproducibility, checking | 8681 | @cindex Reproduzierbarkeit, Überprüfung |
| 8357 | Rebuild @var{package-or-derivation}, which are already available in the | 8682 | @var{Paket-oder-Ableitung} erneut erstellen, wenn diese bereits im Store |
| 8358 | store, and raise an error if the build results are not bit-for-bit | 8683 | verfügbar ist, und einen Fehler melden, wenn die Erstellungsergebnisse nicht |
| 8359 | identical. | 8684 | Bit für Bit identisch sind. |
| 8360 | 8685 | ||
| 8361 | This mechanism allows you to check whether previously installed substitutes | 8686 | Mit diesem Mechanismus können Sie überprüfen, ob zuvor installierte |
| 8362 | are genuine (@pxref{Substitute}), or whether the build result of a package | 8687 | Substitute unverfälscht sind (siehe @ref{Substitute}) oder auch ob das |
| 8363 | is deterministic. @xref{Aufruf von guix challenge}, for more background | 8688 | Erstellungsergebnis eines Pakets deterministisch ist. Siehe @ref{Aufruf von guix challenge} für mehr Hintergrundinformationen und Werkzeuge. |
| 8364 | information and tools. | ||
| 8365 | 8689 | ||
| 8366 | Wenn dies zusammen mit @option{--keep-failed} benutzt wird, bleiben die sich | 8690 | Wenn dies zusammen mit @option{--keep-failed} benutzt wird, bleiben die sich |
| 8367 | unterscheidenden Ausgaben im Store unter dem Namen | 8691 | unterscheidenden Ausgaben im Store unter dem Namen |
| @@ -8369,36 +8693,40 @@ unterscheidenden Ausgaben im Store unter dem Namen | |||
| 8369 | beiden Ergebnissen leicht erkannt werden. | 8693 | beiden Ergebnissen leicht erkannt werden. |
| 8370 | 8694 | ||
| 8371 | @item --repair | 8695 | @item --repair |
| 8372 | @cindex repairing store items | 8696 | @cindex Reparieren von Store-Objekten |
| 8373 | @cindex Datenbeschädigung, Behebung | 8697 | @cindex Datenbeschädigung, Behebung |
| 8374 | Attempt to repair the specified store items, if they are corrupt, by | 8698 | Versuchen, die angegebenen Store-Objekte zu reparieren, wenn sie beschädigt |
| 8375 | re-downloading or rebuilding them. | 8699 | sind, indem sie neu heruntergeladen oder neu erstellt werden. |
| 8376 | 8700 | ||
| 8377 | This operation is not atomic and thus restricted to @code{root}. | 8701 | Diese Operation ist nicht atomar und nur der Administratornutzer @code{root} |
| 8702 | kann sie verwenden. | ||
| 8378 | 8703 | ||
| 8379 | @item --derivations | 8704 | @item --derivations |
| 8380 | @itemx -d | 8705 | @itemx -d |
| 8381 | Return the derivation paths, not the output paths, of the given packages. | 8706 | Liefert die Ableitungspfade und @emph{nicht} die Ausgabepfade für die |
| 8382 | 8707 | angegebenen Pakete. | |
| 8383 | @item --root=@var{file} | 8708 | |
| 8384 | @itemx -r @var{file} | 8709 | @item --root=@var{Datei} |
| 8385 | @cindex GC roots, adding | 8710 | @itemx -r @var{Datei} |
| 8386 | @cindex garbage collector roots, adding | 8711 | @cindex GC-Wurzeln, Hinzufügen |
| 8387 | Make @var{file} a symlink to the result, and register it as a garbage | 8712 | @cindex Müllsammlerwurzeln, Hinzufügen |
| 8388 | collector root. | 8713 | Die @var{Datei} zu einer symbolischen Verknüpfung auf das Ergebnis machen |
| 8389 | 8714 | und als Müllsammlerwurzel registrieren. | |
| 8390 | Consequently, the results of this @command{guix build} invocation are | 8715 | |
| 8391 | protected from garbage collection until @var{file} is removed. When that | 8716 | Dadurch wird das Ergebnis dieses Aufrufs von @command{guix build} vor dem |
| 8392 | option is omitted, build results are eligible for garbage collection as soon | 8717 | Müllsammler geschützt, bis die @var{Datei} gelöscht wird. Wird diese |
| 8393 | as the build completes. @xref{Aufruf von guix gc}, for more on GC roots. | 8718 | Befehlszeilenoption @emph{nicht} angegeben, können Erstellungsergebnisse vom |
| 8719 | Müllsammler geholt werden, sobald die Erstellung abgeschlossen ist. Siehe | ||
| 8720 | @ref{Aufruf von guix gc} für mehr Informationen zu Müllsammlerwurzeln. | ||
| 8394 | 8721 | ||
| 8395 | @item --log-file | 8722 | @item --log-file |
| 8396 | @cindex build logs, access | 8723 | @cindex Erstellungsprotokolle, Zugriff |
| 8397 | Return the build log file names or URLs for the given | 8724 | Liefert die Dateinamen oder URLs der Erstellungsprotokolle für das |
| 8398 | @var{package-or-derivation}, or raise an error if build logs are missing. | 8725 | angegebene @var{Paket-oder-Ableitung} oder meldet einen Fehler, falls |
| 8726 | Protokolldateien fehlen. | ||
| 8399 | 8727 | ||
| 8400 | This works regardless of how packages or derivations are specified. For | 8728 | Dies funktioniert, egal wie die Pakete oder Ableitungen angegeben |
| 8401 | instance, the following invocations are equivalent: | 8729 | werden. Zum Beispiel sind folgende Aufrufe alle äquivalent: |
| 8402 | 8730 | ||
| 8403 | @example | 8731 | @example |
| 8404 | guix build --log-file `guix build -d guile` | 8732 | guix build --log-file `guix build -d guile` |
| @@ -8407,40 +8735,47 @@ guix build --log-file guile | |||
| 8407 | guix build --log-file -e '(@@ (gnu packages guile) guile-2.0)' | 8735 | guix build --log-file -e '(@@ (gnu packages guile) guile-2.0)' |
| 8408 | @end example | 8736 | @end example |
| 8409 | 8737 | ||
| 8410 | If a log is unavailable locally, and unless @code{--no-substitutes} is | 8738 | Wenn ein Protokoll lokal nicht verfügbar ist und sofern |
| 8411 | passed, the command looks for a corresponding log on one of the substitute | 8739 | @code{--no-substitutes} nicht übergeben wurde, sucht der Befehl nach einem |
| 8412 | servers (as specified with @code{--substitute-urls}.) | 8740 | entsprechenden Protokoll auf einem der Substitutserver (die mit |
| 8741 | @code{--substitute-urls} angegeben werden können). | ||
| 8413 | 8742 | ||
| 8414 | So for instance, imagine you want to see the build log of GDB on MIPS, but | 8743 | Stellen Sie sich zum Beispiel vor, sie wollten das Erstellungsprotokoll von |
| 8415 | you are actually on an @code{x86_64} machine: | 8744 | GDB auf einem MIPS-System sehen, benutzen aber selbst eine |
| 8745 | @code{x86_64}-Maschine: | ||
| 8416 | 8746 | ||
| 8417 | @example | 8747 | @example |
| 8418 | $ guix build --log-file gdb -s mips64el-linux | 8748 | $ guix build --log-file gdb -s mips64el-linux |
| 8419 | https://@value{SUBSTITUTE-SERVER}/log/@dots{}-gdb-7.10 | 8749 | https://@value{SUBSTITUTE-SERVER}/log/@dots{}-gdb-7.10 |
| 8420 | @end example | 8750 | @end example |
| 8421 | 8751 | ||
| 8422 | You can freely access a huge library of build logs! | 8752 | So haben Sie umsonst Zugriff auf eine riesige Bibliothek von |
| 8753 | Erstellungsprotokollen! | ||
| 8423 | @end table | 8754 | @end table |
| 8424 | 8755 | ||
| 8425 | @node Fehlschläge beim Erstellen untersuchen | 8756 | @node Fehlschläge beim Erstellen untersuchen |
| 8426 | @subsection Fehlschläge beim Erstellen untersuchen | 8757 | @subsection Fehlschläge beim Erstellen untersuchen |
| 8427 | 8758 | ||
| 8428 | @cindex build failures, debugging | 8759 | @cindex Erstellungsfehler, Fehlersuche |
| 8429 | When defining a new package (@pxref{Pakete definieren}), you will probably | 8760 | Wenn Sie ein neues Paket definieren (siehe @ref{Pakete definieren}), werden |
| 8430 | find yourself spending some time debugging and tweaking the build until it | 8761 | Sie sich vermutlich einige Zeit mit der Fehlersuche beschäftigen und die |
| 8431 | succeeds. To do that, you need to operate the build commands yourself in an | 8762 | Erstellung so lange anpassen, bis sie funktioniert. Dazu müssen Sie die |
| 8432 | environment as close as possible to the one the build daemon uses. | 8763 | Erstellungsbefehle selbst in einer Umgebung benutzen, die der, die der |
| 8764 | Erstellungsdaemon aufbaut, so ähnlich wie möglich ist. | ||
| 8433 | 8765 | ||
| 8434 | To that end, the first thing to do is to use the @option{--keep-failed} or | 8766 | Das Erste, was Sie dafür tun müssen, ist die Befehlszeilenoption |
| 8435 | @option{-K} option of @command{guix build}, which will keep the failed build | 8767 | @option{--keep-failed} oder @option{-K} von @command{guix build} |
| 8436 | tree in @file{/tmp} or whatever directory you specified as @code{TMPDIR} | 8768 | einzusetzen, wodurch Verzeichnisbäume fehlgeschlagener Erstellungen in |
| 8437 | (@pxref{Aufruf von guix build, @code{--keep-failed}}). | 8769 | @file{/tmp} oder dem von Ihnen als @code{TMPDIR} ausgewiesenen Verzeichnis |
| 8770 | erhalten und nicht gelöscht werden (siehe @ref{Aufruf von guix build, | ||
| 8771 | @code{--keep-failed}}). | ||
| 8438 | 8772 | ||
| 8439 | From there on, you can @command{cd} to the failed build tree and source the | 8773 | Im Anschluss können Sie mit @command{cd} in die Verzeichnisse dieses |
| 8440 | @file{environment-variables} file, which contains all the environment | 8774 | fehlgeschlagenen Erstellungsbaums wechseln und mit @command{source} dessen |
| 8441 | variable definitions that were in place when the build failed. So let's say | 8775 | @file{environment-variables}-Datei laden, die alle |
| 8442 | you're debugging a build failure in package @code{foo}; a typical session | 8776 | Umgebungsvariablendefinitionen enthält, die zum Zeitpunkt des Fehlschlags |
| 8443 | would look like this: | 8777 | der Erstellung galten. Sagen wir, Sie suchen Fehler in einem Paket |
| 8778 | @code{foo}, dann würde eine typische Sitzung so aussehen: | ||
| 8444 | 8779 | ||
| 8445 | @example | 8780 | @example |
| 8446 | $ guix build foo -K | 8781 | $ guix build foo -K |
| @@ -8450,17 +8785,18 @@ $ source ./environment-variables | |||
| 8450 | $ cd foo-1.2 | 8785 | $ cd foo-1.2 |
| 8451 | @end example | 8786 | @end example |
| 8452 | 8787 | ||
| 8453 | Now, you can invoke commands as if you were the daemon (almost) and | 8788 | Nun können Sie Befehle (fast) so aufrufen, als wären Sie der Daemon, und |
| 8454 | troubleshoot your build process. | 8789 | Fehlerursachen in Ihrem Erstellungsprozess ermitteln. |
| 8455 | 8790 | ||
| 8456 | Sometimes it happens that, for example, a package's tests pass when you run | 8791 | Manchmal passiert es, dass zum Beispiel die Tests eines Pakets erfolgreich |
| 8457 | them manually but they fail when the daemon runs them. This can happen | 8792 | sind, wenn Sie sie manuell aufrufen, aber scheitern, wenn der Daemon sie |
| 8458 | because the daemon runs builds in containers where, unlike in our | 8793 | ausführt. Das kann passieren, weil der Daemon Erstellungen in isolierten |
| 8459 | environment above, network access is missing, @file{/bin/sh} does not exist, | 8794 | Umgebungen (»Containern«) durchführt, wo, anders als in der obigen Umgebung, |
| 8460 | etc. (@pxref{Einrichten der Erstellungsumgebung}). | 8795 | kein Netzwerkzugang möglich ist, @file{/bin/sh} nicht exisiert usw.@: (siehe |
| 8796 | @ref{Einrichten der Erstellungsumgebung}). | ||
| 8461 | 8797 | ||
| 8462 | In such cases, you may need to run inspect the build process from within a | 8798 | In solchen Fällen müssen Sie den Erstellungsprozess womöglich aus einer zu |
| 8463 | container similar to the one the build daemon creates: | 8799 | der des Daemons ähnlichen isolierten Umgebung heraus ausprobieren: |
| 8464 | 8800 | ||
| 8465 | @example | 8801 | @example |
| 8466 | $ guix build -K foo | 8802 | $ guix build -K foo |
| @@ -8471,162 +8807,176 @@ $ guix environment --no-grafts -C foo --ad-hoc strace gdb | |||
| 8471 | [env]# cd foo-1.2 | 8807 | [env]# cd foo-1.2 |
| 8472 | @end example | 8808 | @end example |
| 8473 | 8809 | ||
| 8474 | Here, @command{guix environment -C} creates a container and spawns a new | 8810 | Hierbei erzeugt @command{guix environment -C} eine isolierte Umgebung und |
| 8475 | shell in it (@pxref{Aufruf von guix environment}). The @command{--ad-hoc | 8811 | öffnet darin eine Shell (siehe @ref{Aufruf von guix environment}). Der Teil |
| 8476 | strace gdb} part adds the @command{strace} and @command{gdb} commands to the | 8812 | mit @command{--ad-hoc strace gdb} fügt die Befehle @command{strace} und |
| 8477 | container, which would may find handy while debugging. The | 8813 | @command{gdb} zur isolierten Umgebung hinzu, die Sie gut gebrauchen könnten, |
| 8478 | @option{--no-grafts} option makes sure we get the exact same environment, | 8814 | während Sie Fehler suchen. Wegen der Befehlszeilenoption |
| 8479 | with ungrafted packages (@pxref{Sicherheitsaktualisierungen}, for more info on grafts). | 8815 | @option{--no-grafts} bekommen Sie haargenau dieselbe Umgebung ohne veredelte |
| 8816 | Pakete (siehe @ref{Sicherheitsaktualisierungen} für mehr Informationen zu | ||
| 8817 | Veredelungen). | ||
| 8480 | 8818 | ||
| 8481 | To get closer to a container like that used by the build daemon, we can | 8819 | Um der isolierten Umgebung des Erstellungsdaemons noch näher zu kommen, |
| 8482 | remove @file{/bin/sh}: | 8820 | können wir @file{/bin/sh} entfernen: |
| 8483 | 8821 | ||
| 8484 | @example | 8822 | @example |
| 8485 | [env]# rm /bin/sh | 8823 | [env]# rm /bin/sh |
| 8486 | @end example | 8824 | @end example |
| 8487 | 8825 | ||
| 8488 | (Don't worry, this is harmless: this is all happening in the throw-away | 8826 | (Keine Sorge, das ist harmlos: All dies passiert nur in der zuvor von |
| 8489 | container created by @command{guix environment}.) | 8827 | @command{guix environment} erzeugten Wegwerf-Umgebung.) |
| 8490 | 8828 | ||
| 8491 | The @command{strace} command is probably not in the search path, but we can | 8829 | Der Befehl @command{strace} befindet sich wahrscheinlich nicht in Ihrem |
| 8492 | run: | 8830 | Suchpfad, aber wir können ihn so benutzen: |
| 8493 | 8831 | ||
| 8494 | @example | 8832 | @example |
| 8495 | [env]# $GUIX_ENVIRONMENT/bin/strace -f -o log make check | 8833 | [env]# $GUIX_ENVIRONMENT/bin/strace -f -o log make check |
| 8496 | @end example | 8834 | @end example |
| 8497 | 8835 | ||
| 8498 | In this way, not only you will have reproduced the environment variables the | 8836 | Auf diese Weise haben Sie nicht nur die Umgebungsvariablen, die der Daemon |
| 8499 | daemon uses, you will also be running the build process in a container | 8837 | benutzt, nachgebildet, sondern lassen auch den Erstellungsprozess in einer |
| 8500 | similar to the one the daemon uses. | 8838 | isolierten Umgebung ähnlich der des Daemons laufen. |
| 8501 | 8839 | ||
| 8502 | 8840 | ||
| 8503 | @node Aufruf von guix edit | 8841 | @node Aufruf von guix edit |
| 8504 | @section Invoking @command{guix edit} | 8842 | @section @command{guix edit} aufrufen |
| 8505 | 8843 | ||
| 8506 | @cindex @command{guix edit} | 8844 | @cindex @command{guix edit} |
| 8507 | @cindex package definition, editing | 8845 | @cindex Paketdefinition, Bearbeiten |
| 8508 | So many packages, so many source files! The @command{guix edit} command | 8846 | So viele Pakete, so viele Quelldateien! Der Befehl @command{guix edit} |
| 8509 | facilitates the life of users and packagers by pointing their editor at the | 8847 | erleichtert das Leben von sowohl Nutzern als auch Paketentwicklern, indem er |
| 8510 | source file containing the definition of the specified packages. For | 8848 | Ihren Editor anweist, die Quelldatei mit der Definition des jeweiligen |
| 8511 | instance: | 8849 | Pakets zu bearbeiten. Zum Beispiel startet dies: |
| 8512 | 8850 | ||
| 8513 | @example | 8851 | @example |
| 8514 | guix edit gcc@@4.9 vim | 8852 | guix edit gcc@@4.9 vim |
| 8515 | @end example | 8853 | @end example |
| 8516 | 8854 | ||
| 8517 | @noindent | 8855 | @noindent |
| 8518 | launches the program specified in the @code{VISUAL} or in the @code{EDITOR} | 8856 | das mit der Umgebungsvariablen @code{VISUAL} ode @code{EDITOR} angegebene |
| 8519 | environment variable to view the recipe of GCC@tie{}4.9.3 and that of Vim. | 8857 | Programm und lässt es das Rezept von GCC@tie{}4.9.3 und von Vim anzeigen. |
| 8520 | 8858 | ||
| 8521 | If you are using a Guix Git checkout (@pxref{Erstellung aus dem Git}), or have | 8859 | Wenn Sie ein Git-Checkout von Guix benutzen (siehe @ref{Erstellung aus dem Git}) |
| 8522 | created your own packages on @code{GUIX_PACKAGE_PATH} (@pxref{Paketmodule}), you will be able to edit the package recipes. In other cases, | 8860 | oder Ihre eigenen Pakete im @code{GUIX_PACKAGE_PATH} erstellt haben (siehe |
| 8523 | you will be able to examine the read-only recipes for packages currently in | 8861 | @ref{Paketmodule}), werden Sie damit die Paketrezepte auch bearbeiten |
| 8524 | the store. | 8862 | können. Andernfalls werden Sie zumindest in die Lage versetzt, die nur |
| 8863 | lesbaren Rezepte für sich im Moment im Store befindliche Pakete zu | ||
| 8864 | untersuchen. | ||
| 8525 | 8865 | ||
| 8526 | 8866 | ||
| 8527 | @node Aufruf von guix download | 8867 | @node Aufruf von guix download |
| 8528 | @section Invoking @command{guix download} | 8868 | @section @command{guix download} aufrufen |
| 8529 | 8869 | ||
| 8530 | @cindex @command{guix download} | 8870 | @cindex @command{guix download} |
| 8531 | @cindex downloading package sources | 8871 | @cindex Paketquellcode herunterladen |
| 8532 | When writing a package definition, developers typically need to download a | 8872 | Wenn Entwickler einer Paketdefinition selbige schreiben, müssen diese |
| 8533 | source tarball, compute its SHA256 hash, and write that hash in the package | 8873 | normalerweise einen Quellcode-Tarball herunterladen, seinen SHA256-Hash als |
| 8534 | definition (@pxref{Pakete definieren}). The @command{guix download} tool | 8874 | Prüfsumme berechnen und diese in der Paketdefinition eintragen (siehe |
| 8535 | helps with this task: it downloads a file from the given URI, adds it to the | 8875 | @ref{Pakete definieren}). Das Werkzeug @command{guix download} hilft bei |
| 8536 | store, and prints both its file name in the store and its SHA256 hash. | 8876 | dieser Aufgabe: Damit wird eine Datei von der angegebenen URI |
| 8537 | 8877 | heruntergeladen, in den Store eingelagert und sowohl ihr Dateiname im Store | |
| 8538 | The fact that the downloaded file is added to the store saves bandwidth: | 8878 | als auch ihr SHA256-Hash als Prüfsumme angezeigt. |
| 8539 | when the developer eventually tries to build the newly defined package with | 8879 | |
| 8540 | @command{guix build}, the source tarball will not have to be downloaded | 8880 | Dadurch, dass die heruntergeladene Datei in den Store eingefügt wird, wird |
| 8541 | again because it is already in the store. It is also a convenient way to | 8881 | Bandbreite gespart: Wenn der Entwickler schließlich versucht, das neu |
| 8542 | temporarily stash files, which may be deleted eventually (@pxref{Aufruf von guix gc}). | 8882 | definierte Paket mit @command{guix build} zu erstellen, muss der |
| 8543 | 8883 | Quell-Tarball nicht erneut heruntergeladen werden, weil er sich bereits im | |
| 8544 | The @command{guix download} command supports the same URIs as used in | 8884 | Store befindet. Es ist auch eine bequeme Methode, Dateien temporär |
| 8545 | package definitions. In particular, it supports @code{mirror://} URIs. | 8885 | aufzubewahren, die letztlich irgendwann gelöscht werden (siehe @ref{Aufruf von guix gc}). |
| 8546 | @code{https} URIs (HTTP over TLS) are supported @emph{provided} the Guile | 8886 | |
| 8547 | bindings for GnuTLS are available in the user's environment; when they are | 8887 | Der Befehl @command{guix download} unterstützt dieselben URIs, die in |
| 8548 | not available, an error is raised. @xref{Guile Preparations, how to install | 8888 | Paketdefinitionen verwendet werden. Insbesondere unterstützt er |
| 8549 | the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile}, for more | 8889 | @code{mirror://}-URIs. @code{https}-URIs (HTTP über TLS) werden unterstützt, |
| 8550 | information. | 8890 | @emph{vorausgesetzt} die Guile-Anbindungen für GnuTLS sind in der Umgebung |
| 8551 | 8891 | des Benutzers verfügbar; wenn nicht, wird ein Fehler gemeldet. Siehe | |
| 8552 | @command{guix download} verifies HTTPS server certificates by loading the | 8892 | @ref{Guile Preparations, how to install the GnuTLS bindings for Guile,, |
| 8553 | certificates of X.509 authorities from the directory pointed to by the | 8893 | gnutls-guile, GnuTLS-Guile}, hat mehr Informationen. |
| 8554 | @code{SSL_CERT_DIR} environment variable (@pxref{X.509-Zertifikate}), | 8894 | |
| 8555 | unless @option{--no-check-certificate} is used. | 8895 | Mit @command{guix download} werden HTTPS-Serverzertifikate verifiziert, |
| 8556 | 8896 | indem die Zertifikate der X.509-Autoritäten in das durch die | |
| 8557 | The following options are available: | 8897 | Umgebungsvariable @code{SSL_CERT_DIR} bezeichnete Verzeichnis |
| 8898 | heruntergeladen werden (siehe @ref{X.509-Zertifikate}), außer | ||
| 8899 | @option{--no-check-certificate} wird benutzt. | ||
| 8900 | |||
| 8901 | Folgende Befehlszeilenoptionen stehen zur Verfügung: | ||
| 8558 | 8902 | ||
| 8559 | @table @code | 8903 | @table @code |
| 8560 | @item --format=@var{fmt} | 8904 | @item --format=@var{Format} |
| 8561 | @itemx -f @var{fmt} | 8905 | @itemx -f @var{Format} |
| 8562 | Write the hash in the format specified by @var{fmt}. For more information | 8906 | Die Hash-Prüfsumme im angegebenen @var{Format} ausgeben. Für weitere |
| 8563 | on the valid values for @var{fmt}, @pxref{Aufruf von guix hash}. | 8907 | Informationen, was gültige Werte für das @var{Format} sind, siehe |
| 8908 | @ref{Aufruf von guix hash}. | ||
| 8564 | 8909 | ||
| 8565 | @item --no-check-certificate | 8910 | @item --no-check-certificate |
| 8566 | Do not validate the X.509 certificates of HTTPS servers. | 8911 | X.509-Zertifikate von HTTPS-Servern @emph{nicht} validieren. |
| 8567 | 8912 | ||
| 8568 | When using this option, you have @emph{absolutely no guarantee} that you are | 8913 | Wenn Sie diese Befehlszeilenoption benutzen, haben Sie @emph{keinerlei |
| 8569 | communicating with the authentic server responsible for the given URL, which | 8914 | Garantie}, dass Sie tatsächlich mit dem authentischen Server, der für die |
| 8570 | makes you vulnerable to ``man-in-the-middle'' attacks. | 8915 | angegebene URL verantwortlich ist, kommunizieren. Das macht Sie anfällig |
| 8916 | gegen sogenannte »Man-in-the-Middle«-Angriffe. | ||
| 8571 | 8917 | ||
| 8572 | @item --output=@var{file} | 8918 | @item --output=@var{Datei} |
| 8573 | @itemx -o @var{file} | 8919 | @itemx -o @var{Datei} |
| 8574 | Save the downloaded file to @var{file} instead of adding it to the store. | 8920 | Die heruntergeladene Datei @emph{nicht} in den Store, sondern in die |
| 8921 | angegebene @var{Datei} abspeichern. | ||
| 8575 | @end table | 8922 | @end table |
| 8576 | 8923 | ||
| 8577 | @node Aufruf von guix hash | 8924 | @node Aufruf von guix hash |
| 8578 | @section Invoking @command{guix hash} | 8925 | @section @command{guix hash} aufrufen |
| 8579 | 8926 | ||
| 8580 | @cindex @command{guix hash} | 8927 | @cindex @command{guix hash} |
| 8581 | The @command{guix hash} command computes the SHA256 hash of a file. It is | 8928 | Der Befehl @command{guix hash} berechnet den SHA256-Hash einer Datei. Er ist |
| 8582 | primarily a convenience tool for anyone contributing to the distribution: it | 8929 | primär ein Werkzeug, dass es bequemer macht, etwas zur Distribution |
| 8583 | computes the cryptographic hash of a file, which can be used in the | 8930 | beizusteuern: Damit wird die kryptografische Hash-Prüfsumme berechnet, die |
| 8584 | definition of a package (@pxref{Pakete definieren}). | 8931 | bei der Definition eines Pakets benutzt werden kann (siehe @ref{Pakete definieren}). |
| 8585 | 8932 | ||
| 8586 | Die allgemeine Syntax lautet: | 8933 | Die allgemeine Syntax lautet: |
| 8587 | 8934 | ||
| 8588 | @example | 8935 | @example |
| 8589 | guix hash @var{option} @var{file} | 8936 | guix hash @var{Option} @var{Datei} |
| 8590 | @end example | 8937 | @end example |
| 8591 | 8938 | ||
| 8592 | When @var{file} is @code{-} (a hyphen), @command{guix hash} computes the | 8939 | Wird als @var{Datei} ein Bindestrich @code{-} angegeben, berechnet |
| 8593 | hash of data read from standard input. @command{guix hash} has the | 8940 | @command{guix hash} den Hash der von der Standardeingabe gelesenen |
| 8594 | following options: | 8941 | Daten. @command{guix hash} unterstützt die folgenden Optionen: |
| 8595 | 8942 | ||
| 8596 | @table @code | 8943 | @table @code |
| 8597 | 8944 | ||
| 8598 | @item --format=@var{fmt} | 8945 | @item --format=@var{Format} |
| 8599 | @itemx -f @var{fmt} | 8946 | @itemx -f @var{Format} |
| 8600 | Write the hash in the format specified by @var{fmt}. | 8947 | Gibt die Prüfsumme im angegebenen @var{Format} aus. |
| 8601 | 8948 | ||
| 8602 | Supported formats: @code{nix-base32}, @code{base32}, @code{base16} | 8949 | Unterstützte Formate: @code{nix-base32}, @code{base32}, @code{base16} |
| 8603 | (@code{hex} and @code{hexadecimal} can be used as well). | 8950 | (@code{hex} und @code{hexadecimal} können auch benutzt werden). |
| 8604 | 8951 | ||
| 8605 | If the @option{--format} option is not specified, @command{guix hash} will | 8952 | Wird keine Befehlszeilenoption @option{--format} angegeben, wird |
| 8606 | output the hash in @code{nix-base32}. This representation is used in the | 8953 | @command{guix hash} die Prüfsumme im @code{nix-base32}-Format |
| 8607 | definitions of packages. | 8954 | ausgeben. Diese Darstellung wird bei der Definition von Paketen benutzt. |
| 8608 | 8955 | ||
| 8609 | @item --recursive | 8956 | @item --recursive |
| 8610 | @itemx -r | 8957 | @itemx -r |
| 8611 | Compute the hash on @var{file} recursively. | 8958 | Die Prüfsumme der @var{Datei} rekursiv berechnen. |
| 8612 | 8959 | ||
| 8613 | @c FIXME: Replace xref above with xref to an ``Archive'' section when | 8960 | @c FIXME: Replace xref above with xref to an ``Archive'' section when |
| 8614 | @c it exists. | 8961 | @c it exists. |
| 8615 | In this case, the hash is computed on an archive containing @var{file}, | 8962 | In diesem Fall wird die Prüfsumme eines Archivs berechnet, das die |
| 8616 | including its children if it is a directory. Some of the metadata of | 8963 | @var{Datei} enthält, und auch ihre Kinder, wenn es sich um ein Verzeichnis |
| 8617 | @var{file} is part of the archive; for instance, when @var{file} is a | 8964 | handelt. Einige der Metadaten der @var{Datei} sind Teil dieses Archivs. Zum |
| 8618 | regular file, the hash is different depending on whether @var{file} is | 8965 | Beispiel unterscheidet sich die berechnete Prüfsumme, wenn die @var{Datei} |
| 8619 | executable or not. Metadata such as time stamps has no impact on the hash | 8966 | eine reguläre Datei ist, je nachdem, ob die @var{Datei} ausführbar ist oder |
| 8620 | (@pxref{Aufruf von guix archive}). | 8967 | nicht. Metadaten wie der Zeitstempel haben keinen Einfluss auf die Prüfsumme |
| 8968 | (siehe @ref{Aufruf von guix archive}). | ||
| 8621 | 8969 | ||
| 8622 | @item --exclude-vcs | 8970 | @item --exclude-vcs |
| 8623 | @itemx -x | 8971 | @itemx -x |
| 8624 | When combined with @option{--recursive}, exclude version control system | 8972 | Wenn dies zusammen mit der Befehlszeilenoption @option{--recursive} |
| 8625 | directories (@file{.bzr}, @file{.git}, @file{.hg}, etc.) | 8973 | angegeben wird, werden Verzeichnisse zur Versionskontrolle (@file{.bzr}, |
| 8974 | @file{.git}, @file{.hg}, etc.)@: vom Archiv ausgenommen. | ||
| 8626 | 8975 | ||
| 8627 | @vindex git-fetch | 8976 | @vindex git-fetch |
| 8628 | As an example, here is how you would compute the hash of a Git checkout, | 8977 | Zum Beispiel würden Sie auf diese Art die Prüfsumme eines Git-Checkouts |
| 8629 | which is useful when using the @code{git-fetch} method (@pxref{»origin«-Referenz}): | 8978 | berechnen, was nützlich ist, wenn Sie die Prüfsumme für die Methode |
| 8979 | @code{git-fetch} benutzen (siehe @ref{»origin«-Referenz}): | ||
| 8630 | 8980 | ||
| 8631 | @example | 8981 | @example |
| 8632 | $ git clone http://example.org/foo.git | 8982 | $ git clone http://example.org/foo.git |
| @@ -8636,64 +8986,70 @@ $ guix hash -rx . | |||
| 8636 | @end table | 8986 | @end table |
| 8637 | 8987 | ||
| 8638 | @node Aufruf von guix import | 8988 | @node Aufruf von guix import |
| 8639 | @section Invoking @command{guix import} | 8989 | @section @command{guix import} aufrufen |
| 8640 | 8990 | ||
| 8641 | @cindex importing packages | 8991 | @cindex Pakete importieren |
| 8642 | @cindex package import | 8992 | @cindex Paketimport |
| 8643 | @cindex package conversion | 8993 | @cindex Pakete an Guix anpassen |
| 8644 | @cindex Invoking @command{guix import} | 8994 | @cindex @command{guix import} aufrufen |
| 8645 | The @command{guix import} command is useful for people who would like to add | 8995 | Der Befehl @command{guix import} ist für Leute hilfreich, die ein Paket |
| 8646 | a package to the distribution with as little work as possible---a legitimate | 8996 | gerne mit so wenig Arbeit wie möglich zur Distribution hinzufügen würden — |
| 8647 | demand. The command knows of a few repositories from which it can | 8997 | ein legitimer Anspruch. Der Befehl kennt ein paar Sammlungen, aus denen mit |
| 8648 | ``import'' package metadata. The result is a package definition, or a | 8998 | ihm Paketmetadaten »importiert« werden können. Das Ergebnis ist eine |
| 8649 | template thereof, in the format we know (@pxref{Pakete definieren}). | 8999 | Paketdefinition oder eine Vorlage dafür in dem uns bekannten Format (siehe |
| 9000 | @ref{Pakete definieren}). | ||
| 8650 | 9001 | ||
| 8651 | Die allgemeine Syntax lautet: | 9002 | Die allgemeine Syntax lautet: |
| 8652 | 9003 | ||
| 8653 | @example | 9004 | @example |
| 8654 | guix import @var{importer} @var{options}@dots{} | 9005 | guix import @var{Importer} @var{Optionen}@dots{} |
| 8655 | @end example | 9006 | @end example |
| 8656 | 9007 | ||
| 8657 | @var{importer} specifies the source from which to import package metadata, | 9008 | Der @var{Importer} gibt die Quelle an, aus der Paketmetadaten importiert |
| 8658 | and @var{options} specifies a package identifier and other options specific | 9009 | werden, und die @var{Optionen} geben eine Paketbezeichnung und andere vom |
| 8659 | to @var{importer}. Currently, the available ``importers'' are: | 9010 | @var{Importer} abhängige Daten an. Derzeit sind folgende »Importer« |
| 9011 | verfügbar: | ||
| 8660 | 9012 | ||
| 8661 | @table @code | 9013 | @table @code |
| 8662 | @item gnu | 9014 | @item gnu |
| 8663 | Import metadata for the given GNU package. This provides a template for the | 9015 | Metadaten für das angegebene GNU-Paket importieren. Damit wird eine Vorlage |
| 8664 | latest version of that GNU package, including the hash of its source | 9016 | für die neueste Version dieses GNU-Pakets zur Verfügung gestellt, |
| 8665 | tarball, and its canonical synopsis and description. | 9017 | einschließlich der Prüfsumme seines Quellcode-Tarballs, seiner kanonischen |
| 9018 | Zusammenfassung und seiner Beschreibung. | ||
| 8666 | 9019 | ||
| 8667 | Additional information such as the package dependencies and its license | 9020 | Zusätzliche Informationen wie Paketabhängigkeiten und seine Lizenz müssen |
| 8668 | needs to be figured out manually. | 9021 | noch manuell ermittelt werden. |
| 8669 | 9022 | ||
| 8670 | For example, the following command returns a package definition for | 9023 | Zum Beispiel liefert der folgende Befehl eine Paketdefinition für |
| 8671 | GNU@tie{}Hello: | 9024 | GNU@tie{}Hello: |
| 8672 | 9025 | ||
| 8673 | @example | 9026 | @example |
| 8674 | guix import gnu hello | 9027 | guix import gnu hello |
| 8675 | @end example | 9028 | @end example |
| 8676 | 9029 | ||
| 8677 | Specific command-line options are: | 9030 | Speziell für diesen Importer stehen noch folgende Befehlszeilenoptionen zur |
| 9031 | Verfügung: | ||
| 8678 | 9032 | ||
| 8679 | @table @code | 9033 | @table @code |
| 8680 | @item --key-download=@var{policy} | 9034 | @item --key-download=@var{Richtlinie} |
| 8681 | As for @code{guix refresh}, specify the policy to handle missing OpenPGP | 9035 | Die Richtlinie zum Umgang mit fehlenden OpenPGP-Schlüsseln beim Verifizieren |
| 8682 | keys when verifying the package signature. @xref{Aufruf von guix refresh, | 9036 | der Paketsignatur (auch »Beglaubigung« genannt) festlegen, wie bei |
| 9037 | @code{guix refresh}. Siehe @ref{Aufruf von guix refresh, | ||
| 8683 | @code{--key-download}}. | 9038 | @code{--key-download}}. |
| 8684 | @end table | 9039 | @end table |
| 8685 | 9040 | ||
| 8686 | @item pypi | 9041 | @item pypi |
| 8687 | @cindex pypi | 9042 | @cindex pypi |
| 8688 | Import metadata from the @uref{https://pypi.python.org/, Python Package | 9043 | Metadaten aus dem @uref{https://pypi.python.org/, Python Package Index} |
| 8689 | Index}. Information is taken from the JSON-formatted description available | 9044 | importieren. Informationen stammen aus der JSON-formatierten Beschreibung, |
| 8690 | at @code{pypi.python.org} and usually includes all the relevant information, | 9045 | die unter @code{pypi.python.org} verfügbar ist, und enthalten meistens alle |
| 8691 | including package dependencies. For maximum efficiency, it is recommended | 9046 | relevanten Informationen einschließlich der Abhängigkeiten des Pakets. Für |
| 8692 | to install the @command{unzip} utility, so that the importer can unzip | 9047 | maximale Effizienz wird empfohlen, das Hilfsprogramm @command{unzip} zu |
| 8693 | Python wheels and gather data from them. | 9048 | installieren, damit der Importer »Python Wheels« entpacken und daraus Daten |
| 9049 | beziehen kann. | ||
| 8694 | 9050 | ||
| 8695 | The command below imports metadata for the @code{itsdangerous} Python | 9051 | Der folgende Befehl importiert Metadaten für das Python-Paket namens |
| 8696 | package: | 9052 | @code{itsdangerous}: |
| 8697 | 9053 | ||
| 8698 | @example | 9054 | @example |
| 8699 | guix import pypi itsdangerous | 9055 | guix import pypi itsdangerous |
| @@ -8702,22 +9058,25 @@ guix import pypi itsdangerous | |||
| 8702 | @table @code | 9058 | @table @code |
| 8703 | @item --recursive | 9059 | @item --recursive |
| 8704 | @itemx -r | 9060 | @itemx -r |
| 8705 | Traverse the dependency graph of the given upstream package recursively and | 9061 | Den Abhängigkeitsgraphen des angegebenen Pakets beim Anbieter rekursiv |
| 8706 | generate package expressions for all those packages that are not yet in | 9062 | durchlaufen und Paketausdrücke für alle solchen Pakete erzeugen, die es in |
| 8707 | Guix. | 9063 | Guix noch nicht gibt. |
| 8708 | @end table | 9064 | @end table |
| 8709 | 9065 | ||
| 8710 | @item gem | 9066 | @item gem |
| 8711 | @cindex gem | 9067 | @cindex gem |
| 8712 | Import metadata from @uref{https://rubygems.org/, RubyGems}. Information is | 9068 | Metadaten von @uref{https://rubygems.org/, RubyGems} |
| 8713 | taken from the JSON-formatted description available at @code{rubygems.org} | 9069 | importieren. Informationen kommen aus der JSON-formatierten Beschreibung, |
| 8714 | and includes most relevant information, including runtime dependencies. | 9070 | die auf @code{rubygems.org} verfügbar ist, und enthält die relevantesten |
| 8715 | There are some caveats, however. The metadata doesn't distinguish between | 9071 | Informationen einschließlich der Laufzeitabhängigkeiten. Dies hat aber auch |
| 8716 | synopses and descriptions, so the same string is used for both fields. | 9072 | Schattenseiten — die Metadaten unterscheiden nicht zwischen |
| 8717 | Additionally, the details of non-Ruby dependencies required to build native | 9073 | Zusammenfassungen und Beschreibungen, daher wird dieselbe Zeichenkette für |
| 8718 | extensions is unavailable and left as an exercise to the packager. | 9074 | beides eingesetzt. Zudem fehlen Informationen zu nicht in Ruby geschriebenen |
| 9075 | Abhängigkeiten, die benötigt werden, um native Erweiterungen zu in Ruby | ||
| 9076 | geschriebenem Code zu erstellen. Diese herauszufinden bleibt dem | ||
| 9077 | Paketentwickler überlassen. | ||
| 8719 | 9078 | ||
| 8720 | The command below imports metadata for the @code{rails} Ruby package: | 9079 | Der folgende Befehl importiert Metadaten aus dem Ruby-Paket @code{rails}. |
| 8721 | 9080 | ||
| 8722 | @example | 9081 | @example |
| 8723 | guix import gem rails | 9082 | guix import gem rails |
| @@ -8726,23 +9085,24 @@ guix import gem rails | |||
| 8726 | @table @code | 9085 | @table @code |
| 8727 | @item --recursive | 9086 | @item --recursive |
| 8728 | @itemx -r | 9087 | @itemx -r |
| 8729 | Traverse the dependency graph of the given upstream package recursively and | 9088 | Den Abhängigkeitsgraphen des angegebenen Pakets beim Anbieter rekursiv |
| 8730 | generate package expressions for all those packages that are not yet in | 9089 | durchlaufen und Paketausdrücke für alle solchen Pakete erzeugen, die es in |
| 8731 | Guix. | 9090 | Guix noch nicht gibt. |
| 8732 | @end table | 9091 | @end table |
| 8733 | 9092 | ||
| 8734 | @item cpan | 9093 | @item cpan |
| 8735 | @cindex CPAN | 9094 | @cindex CPAN |
| 8736 | Import metadata from @uref{https://www.metacpan.org/, MetaCPAN}. | 9095 | Importiert Metadaten von @uref{https://www.metacpan.org/, |
| 8737 | Information is taken from the JSON-formatted metadata provided through | 9096 | MetaCPAN}. Informationen werden aus den JSON-formatierten Metadaten |
| 8738 | @uref{https://fastapi.metacpan.org/, MetaCPAN's API} and includes most | 9097 | genommen, die über die @uref{https://fastapi.metacpan.org/, |
| 8739 | relevant information, such as module dependencies. License information | 9098 | Programmierschnittstelle (»API«) von MetaCPAN} angeboten werden, und |
| 8740 | should be checked closely. If Perl is available in the store, then the | 9099 | enthalten die relevantesten Informationen wie zum Beispiel |
| 8741 | @code{corelist} utility will be used to filter core modules out of the list | 9100 | Modulabhängigkeiten. Lizenzinformationen sollten genau nachgeprüft |
| 8742 | of dependencies. | 9101 | werden. Wenn Perl im Store verfügbar ist, wird das Werkzeug @code{corelist} |
| 9102 | benutzt, um Kernmodule in der Abhängigkeitsliste wegzulassen. | ||
| 8743 | 9103 | ||
| 8744 | The command command below imports metadata for the @code{Acme::Boolean} Perl | 9104 | Folgender Befehl importiert Metadaten für das Perl-Modul |
| 8745 | module: | 9105 | @code{Acme::Boolean}: |
| 8746 | 9106 | ||
| 8747 | @example | 9107 | @example |
| 8748 | guix import cpan Acme::Boolean | 9108 | guix import cpan Acme::Boolean |
| @@ -8751,31 +9111,35 @@ guix import cpan Acme::Boolean | |||
| 8751 | @item cran | 9111 | @item cran |
| 8752 | @cindex CRAN | 9112 | @cindex CRAN |
| 8753 | @cindex Bioconductor | 9113 | @cindex Bioconductor |
| 8754 | Import metadata from @uref{https://cran.r-project.org/, CRAN}, the central | 9114 | Metadaten aus dem @uref{https://cran.r-project.org/, CRAN} importieren, der |
| 8755 | repository for the @uref{http://r-project.org, GNU@tie{}R statistical and | 9115 | zentralen Sammlung für die @uref{http://r-project.org, statistische und |
| 8756 | graphical environment}. | 9116 | grafische Umgebung GNU@tie{}R}. |
| 8757 | 9117 | ||
| 8758 | Information is extracted from the @code{DESCRIPTION} file of the package. | 9118 | Informationen werden aus der Datei namens @code{DESCRIPTION} des Pakets |
| 9119 | extrahiert. | ||
| 8759 | 9120 | ||
| 8760 | The command command below imports metadata for the @code{Cairo} R package: | 9121 | Der folgende Befehl importiert Metadaten für das @code{Cairo}-R-Paket: |
| 8761 | 9122 | ||
| 8762 | @example | 9123 | @example |
| 8763 | guix import cran Cairo | 9124 | guix import cran Cairo |
| 8764 | @end example | 9125 | @end example |
| 8765 | 9126 | ||
| 8766 | When @code{--recursive} is added, the importer will traverse the dependency | 9127 | Wird zudem @code{--recursive} angegeben, wird der Importer den |
| 8767 | graph of the given upstream package recursively and generate package | 9128 | Abhängigkeitsgraphen des angegebenen Pakets beim Anbieter rekursiv |
| 8768 | expressions for all those packages that are not yet in Guix. | 9129 | durchlaufen und Paketausdrücke für all die Pakete erzeugen, die noch nicht |
| 9130 | Teil von Guix sind. | ||
| 8769 | 9131 | ||
| 8770 | When @code{--archive=bioconductor} is added, metadata is imported from | 9132 | Wird @code{--archive=bioconductor} angegeben, werden Metadaten vom |
| 8771 | @uref{https://www.bioconductor.org/, Bioconductor}, a repository of R | 9133 | @uref{https://www.bioconductor.org/, Bioconductor} importiert, einer |
| 8772 | packages for for the analysis and comprehension of high-throughput genomic | 9134 | Sammlung von R-Paketen zur Analyse und zum Verständnis von großen Mengen |
| 8773 | data in bioinformatics. | 9135 | genetischer Daten in der Bioinformatik. |
| 8774 | 9136 | ||
| 8775 | Information is extracted from the @code{DESCRIPTION} file of a package | 9137 | Informationen werden aus der @code{DESCRIPTION}-Datei im Paket extrahiert, |
| 8776 | published on the web interface of the Bioconductor SVN repository. | 9138 | das auf der Weboberfläche des Bioconductor-SVN-Repositorys veröffentlicht |
| 9139 | wurde. | ||
| 8777 | 9140 | ||
| 8778 | The command below imports metadata for the @code{GenomicRanges} R package: | 9141 | Der folgende Befehl importiert Metadaten für das R-Paket |
| 9142 | @code{GenomicRanges}: | ||
| 8779 | 9143 | ||
| 8780 | @example | 9144 | @example |
| 8781 | guix import cran --archive=bioconductor GenomicRanges | 9145 | guix import cran --archive=bioconductor GenomicRanges |
| @@ -8784,38 +9148,39 @@ guix import cran --archive=bioconductor GenomicRanges | |||
| 8784 | @item texlive | 9148 | @item texlive |
| 8785 | @cindex TeX Live | 9149 | @cindex TeX Live |
| 8786 | @cindex CTAN | 9150 | @cindex CTAN |
| 8787 | Import metadata from @uref{http://www.ctan.org/, CTAN}, the comprehensive | 9151 | Metadaten aus @uref{http://www.ctan.org/, CTAN}, dem umfassenden |
| 8788 | TeX archive network for TeX packages that are part of the | 9152 | TeX-Archivnetzwerk, herunterladen, was für TeX-Pakete benutzt wird, die Teil |
| 8789 | @uref{https://www.tug.org/texlive/, TeX Live distribution}. | 9153 | der @uref{https://www.tug.org/texlive/, TeX-Live-Distribution} sind. |
| 8790 | 9154 | ||
| 8791 | Information about the package is obtained through the XML API provided by | 9155 | Informationen über das Paket werden über die von CTAN angebotene |
| 8792 | CTAN, while the source code is downloaded from the SVN repository of the Tex | 9156 | XML-Programmierschnittstelle bezogen, wohingegen der Quellcode aus dem |
| 8793 | Live project. This is done because the CTAN does not keep versioned | 9157 | SVN-Repository des TeX-Live-Projekts heruntergeladen wird. Das wird so |
| 8794 | archives. | 9158 | gemacht, weil CTAN keine versionierten Archive vorhält. |
| 8795 | 9159 | ||
| 8796 | The command command below imports metadata for the @code{fontspec} TeX | 9160 | Der folgende Befehl importiert Metadaten für das TeX-Paket @code{fontspec}: |
| 8797 | package: | ||
| 8798 | 9161 | ||
| 8799 | @example | 9162 | @example |
| 8800 | guix import texlive fontspec | 9163 | guix import texlive fontspec |
| 8801 | @end example | 9164 | @end example |
| 8802 | 9165 | ||
| 8803 | When @code{--archive=DIRECTORY} is added, the source code is downloaded not | 9166 | Wenn @code{--archive=VERZEICHNIS} angegeben wird, wird der Quellcode |
| 8804 | from the @file{latex} sub-directory of the @file{texmf-dist/source} tree in | 9167 | @emph{nicht} aus dem Unterverzeichnis @file{latex} des |
| 8805 | the TeX Live SVN repository, but from the specified sibling directory under | 9168 | @file{texmf-dist/source}-Baums im SVN-Repository von TeX Live |
| 8806 | the same root. | 9169 | heruntergeladen, sondern aus dem angegebenen Schwesterverzeichnis im selben |
| 9170 | Wurzelverzeichnis. | ||
| 8807 | 9171 | ||
| 8808 | The command below imports metadata for the @code{ifxetex} package from CTAN | 9172 | Der folgende Befehl importiert Metadaten für das Paket @code{ifxetex} aus |
| 8809 | while fetching the sources from the directory @file{texmf/source/generic}: | 9173 | CTAN und lädt die Quelldateien aus dem Verzeichnis |
| 9174 | @file{texmf/source/generic}: | ||
| 8810 | 9175 | ||
| 8811 | @example | 9176 | @example |
| 8812 | guix import texlive --archive=generic ifxetex | 9177 | guix import texlive --archive=generic ifxetex |
| 8813 | @end example | 9178 | @end example |
| 8814 | 9179 | ||
| 8815 | @item json | 9180 | @item json |
| 8816 | @cindex JSON, import | 9181 | @cindex JSON, Import |
| 8817 | Import package metadata from a local JSON file. Consider the following | 9182 | Paketmetadaten aus einer lokalen JSON-Datei importieren. Betrachten Sie |
| 8818 | example package definition in JSON format: | 9183 | folgende Beispiel-Paketdefinition im JSON-Format: |
| 8819 | 9184 | ||
| 8820 | @example | 9185 | @example |
| 8821 | @{ | 9186 | @{ |
| @@ -8831,13 +9196,13 @@ example package definition in JSON format: | |||
| 8831 | @} | 9196 | @} |
| 8832 | @end example | 9197 | @end example |
| 8833 | 9198 | ||
| 8834 | The field names are the same as for the @code{<package>} record | 9199 | Die Felder sind genauso benannt wie bei einem @code{<package>}-Verbundstyp |
| 8835 | (@xref{Pakete definieren}). References to other packages are provided as | 9200 | (siehe @ref{Pakete definieren}). Referenzen zu anderen Paketen stehen darin |
| 8836 | JSON lists of quoted package specification strings such as @code{guile} or | 9201 | als JSON-Liste von mit Anführungszeichen quotierten Zeichenketten wie |
| 8837 | @code{guile@@2.0}. | 9202 | @code{guile} oder @code{guile@@2.0}. |
| 8838 | 9203 | ||
| 8839 | The importer also supports a more explicit source definition using the | 9204 | Der Importer unterstützt auch eine ausdrücklichere Definition der |
| 8840 | common fields for @code{<origin>} records: | 9205 | Quelldateien mit den üblichen Feldern eines @code{<origin>}-Verbunds: |
| 8841 | 9206 | ||
| 8842 | @example | 9207 | @example |
| 8843 | @{ | 9208 | @{ |
| @@ -8853,37 +9218,38 @@ common fields for @code{<origin>} records: | |||
| 8853 | @} | 9218 | @} |
| 8854 | @end example | 9219 | @end example |
| 8855 | 9220 | ||
| 8856 | The command below reads metadata from the JSON file @code{hello.json} and | 9221 | Der folgende Befehl liest Metadaten aus der JSON-Datei @code{hello.json} und |
| 8857 | outputs a package expression: | 9222 | gibt einen Paketausdruck aus: |
| 8858 | 9223 | ||
| 8859 | @example | 9224 | @example |
| 8860 | guix import json hello.json | 9225 | guix import json hello.json |
| 8861 | @end example | 9226 | @end example |
| 8862 | 9227 | ||
| 8863 | @item nix | 9228 | @item nix |
| 8864 | Import metadata from a local copy of the source of the | 9229 | Metadaten aus einer lokalen Kopie des Quellcodes der |
| 8865 | @uref{http://nixos.org/nixpkgs/, Nixpkgs distribution}@footnote{This relies | 9230 | @uref{http://nixos.org/nixpkgs/, Nixpkgs-Distribution} |
| 8866 | on the @command{nix-instantiate} command of @uref{http://nixos.org/nix/, | 9231 | importieren@footnote{Dazu wird der Befehl @command{nix-instantiate} von |
| 8867 | Nix}.}. Package definitions in Nixpkgs are typically written in a mixture | 9232 | @uref{http://nixos.org/nix/, Nix} verwendet.}. Paketdefinitionen in Nixpkgs |
| 8868 | of Nix-language and Bash code. This command only imports the high-level | 9233 | werden typischerweise in einer Mischung aus der Sprache von Nix und aus |
| 8869 | package structure that is written in the Nix language. It normally includes | 9234 | Bash-Code geschrieben. Dieser Befehl wird nur die abstrakte Paketstruktur, |
| 8870 | all the basic fields of a package definition. | 9235 | die in der Nix-Sprache geschrieben ist, importieren. Dazu gehören |
| 9236 | normalerweise alle grundlegenden Felder einer Paketdefinition. | ||
| 8871 | 9237 | ||
| 8872 | When importing a GNU package, the synopsis and descriptions are replaced by | 9238 | Beim Importieren eines GNU-Pakets werden Zusammenfassung und Beschreibung |
| 8873 | their canonical upstream variant. | 9239 | stattdessen durch deren kanonische Variante bei GNU ersetzt. |
| 8874 | 9240 | ||
| 8875 | Usually, you will first need to do: | 9241 | Normalerweise würden Sie zunächst dies ausführen: |
| 8876 | 9242 | ||
| 8877 | @example | 9243 | @example |
| 8878 | export NIX_REMOTE=daemon | 9244 | export NIX_REMOTE=daemon |
| 8879 | @end example | 9245 | @end example |
| 8880 | 9246 | ||
| 8881 | @noindent | 9247 | @noindent |
| 8882 | so that @command{nix-instantiate} does not try to open the Nix database. | 9248 | damit @command{nix-instantiate} nicht versucht, die Nix-Datenbank zu öffnen. |
| 8883 | 9249 | ||
| 8884 | As an example, the command below imports the package definition of | 9250 | Zum Beispiel importiert der Befehl unten die Paketdefinition von LibreOffice |
| 8885 | LibreOffice (more precisely, it imports the definition of the package bound | 9251 | (genauer gesagt importiert er die Definition des an das Attribut |
| 8886 | to the @code{libreoffice} top-level attribute): | 9252 | @code{libreoffice} auf oberster Ebene gebundenen Pakets): |
| 8887 | 9253 | ||
| 8888 | @example | 9254 | @example |
| 8889 | guix import nix ~/path/to/nixpkgs libreoffice | 9255 | guix import nix ~/path/to/nixpkgs libreoffice |
| @@ -8891,47 +9257,50 @@ guix import nix ~/path/to/nixpkgs libreoffice | |||
| 8891 | 9257 | ||
| 8892 | @item hackage | 9258 | @item hackage |
| 8893 | @cindex hackage | 9259 | @cindex hackage |
| 8894 | Import metadata from the Haskell community's central package archive | 9260 | Metadaten aus @uref{https://hackage.haskell.org/, Hackage}, dem zentralen |
| 8895 | @uref{https://hackage.haskell.org/, Hackage}. Information is taken from | 9261 | Paketarchiv der Haskell-Gemeinde, importieren. Informationen werden aus |
| 8896 | Cabal files and includes all the relevant information, including package | 9262 | Cabal-Dateien ausgelesen. Darin sind alle relevanten Informationen |
| 8897 | dependencies. | 9263 | einschließlich der Paketabhängigkeiten enthalten. |
| 8898 | 9264 | ||
| 8899 | Specific command-line options are: | 9265 | Speziell für diesen Importer stehen noch folgende Befehlszeilenoptionen zur |
| 9266 | Verfügung: | ||
| 8900 | 9267 | ||
| 8901 | @table @code | 9268 | @table @code |
| 8902 | @item --stdin | 9269 | @item --stdin |
| 8903 | @itemx -s | 9270 | @itemx -s |
| 8904 | Read a Cabal file from standard input. | 9271 | Eine Cabal-Datei von der Standardeingabe lesen. |
| 8905 | @item --no-test-dependencies | 9272 | @item --no-test-dependencies |
| 8906 | @itemx -t | 9273 | @itemx -t |
| 8907 | Do not include dependencies required only by the test suites. | 9274 | Keine Abhängigkeiten übernehmen, die nur von Testkatalogen benötigt werden. |
| 8908 | @item --cabal-environment=@var{alist} | 9275 | @item --cabal-environment=@var{Aliste} |
| 8909 | @itemx -e @var{alist} | 9276 | @itemx -e @var{Aliste} |
| 8910 | @var{alist} is a Scheme alist defining the environment in which the Cabal | 9277 | @var{Aliste} muss eine assoziative Liste der Scheme-Programmiersprache sein, |
| 8911 | conditionals are evaluated. The accepted keys are: @code{os}, @code{arch}, | 9278 | die die Umgebung definiert, in der bedingte Ausdrücke von Cabal ausgewertet |
| 8912 | @code{impl} and a string representing the name of a flag. The value | 9279 | werden. Dabei werden folgende Schlüssel akzeptiert: @code{os}, @code{arch}, |
| 8913 | associated with a flag has to be either the symbol @code{true} or | 9280 | @code{impl} und eine Zeichenkette, die dem Namen einer Option (einer »Flag«) |
| 8914 | @code{false}. The value associated with other keys has to conform to the | 9281 | entspricht. Der mit einer »Flag« assoziierte Wert muss entweder das Symbol |
| 8915 | Cabal file format definition. The default value associated with the keys | 9282 | @code{true} oder @code{false} sein. Der anderen Schlüsseln zugeordnete Wert |
| 8916 | @code{os}, @code{arch} and @code{impl} is @samp{linux}, @samp{x86_64} and | 9283 | muss mit der Definition des Cabal-Dateiformats konform sein. Der vorgegebene |
| 8917 | @samp{ghc}, respectively. | 9284 | Wert zu den Schlüsseln @code{os}, @code{arch} and @code{impl} ist jeweils |
| 9285 | @samp{linux}, @samp{x86_64} bzw. @samp{ghc}. | ||
| 8918 | @item --recursive | 9286 | @item --recursive |
| 8919 | @itemx -r | 9287 | @itemx -r |
| 8920 | Traverse the dependency graph of the given upstream package recursively and | 9288 | Den Abhängigkeitsgraphen des angegebenen Pakets beim Anbieter rekursiv |
| 8921 | generate package expressions for all those packages that are not yet in | 9289 | durchlaufen und Paketausdrücke für alle solchen Pakete erzeugen, die es in |
| 8922 | Guix. | 9290 | Guix noch nicht gibt. |
| 8923 | @end table | 9291 | @end table |
| 8924 | 9292 | ||
| 8925 | The command below imports metadata for the latest version of the @code{HTTP} | 9293 | Der folgende Befehl importiert Metadaten für die neuste Version des |
| 8926 | Haskell package without including test dependencies and specifying the value | 9294 | Haskell-@code{HTTP}-Pakets, ohne Testabhängigkeiten zu übernehmen und bei |
| 8927 | of the flag @samp{network-uri} as @code{false}: | 9295 | Übergabe von @code{false} als Wert der Flag @samp{network-uri}: |
| 8928 | 9296 | ||
| 8929 | @example | 9297 | @example |
| 8930 | guix import hackage -t -e "'((\"network-uri\" . false))" HTTP | 9298 | guix import hackage -t -e "'((\"network-uri\" . false))" HTTP |
| 8931 | @end example | 9299 | @end example |
| 8932 | 9300 | ||
| 8933 | A specific package version may optionally be specified by following the | 9301 | Eine ganz bestimmte Paketversion kann optional ausgewählt werden, indem man |
| 8934 | package name by an at-sign and a version number as in the following example: | 9302 | nach dem Paketnamen anschließend ein At-Zeichen und eine Versionsnummer |
| 9303 | angibt wie in folgendem Beispiel: | ||
| 8935 | 9304 | ||
| 8936 | @example | 9305 | @example |
| 8937 | guix import hackage mtl@@2.1.3.1 | 9306 | guix import hackage mtl@@2.1.3.1 |
| @@ -8939,31 +9308,36 @@ guix import hackage mtl@@2.1.3.1 | |||
| 8939 | 9308 | ||
| 8940 | @item stackage | 9309 | @item stackage |
| 8941 | @cindex stackage | 9310 | @cindex stackage |
| 8942 | The @code{stackage} importer is a wrapper around the @code{hackage} one. It | 9311 | Der @code{stackage}-Importer ist ein Wrapper um den |
| 8943 | takes a package name, looks up the package version included in a long-term | 9312 | @code{hackage}-Importer. Er nimmt einen Paketnamen und schaut dafür die |
| 8944 | support (LTS) @uref{https://www.stackage.org, Stackage} release and uses the | 9313 | Paketversion nach, die Teil einer @uref{https://www.stackage.org, |
| 8945 | @code{hackage} importer to retrieve its metadata. Note that it is up to you | 9314 | Stackage}-Veröffentlichung mit Langzeitunterstützung (englisch »Long-Term |
| 8946 | to select an LTS release compatible with the GHC compiler used by Guix. | 9315 | Support«, kurz LTS) ist, deren Metadaten er dann mit dem |
| 8947 | 9316 | @code{hackage}-Importer bezieht. Beachten Sie, dass es Ihre Aufgabe ist, | |
| 8948 | Specific command-line options are: | 9317 | eine LTS-Veröffentlichung auszuwählen, die mit dem von Guix benutzten |
| 9318 | GHC-Compiler kompatibel ist. | ||
| 9319 | |||
| 9320 | Speziell für diesen Importer stehen noch folgende Befehlszeilenoptionen zur | ||
| 9321 | Verfügung: | ||
| 8949 | 9322 | ||
| 8950 | @table @code | 9323 | @table @code |
| 8951 | @item --no-test-dependencies | 9324 | @item --no-test-dependencies |
| 8952 | @itemx -t | 9325 | @itemx -t |
| 8953 | Do not include dependencies required only by the test suites. | 9326 | Keine Abhängigkeiten übernehmen, die nur von Testkatalogen benötigt werden. |
| 8954 | @item --lts-version=@var{version} | 9327 | @item --lts-version=@var{Version} |
| 8955 | @itemx -l @var{Version} | 9328 | @itemx -l @var{Version} |
| 8956 | @var{version} is the desired LTS release version. If omitted the latest | 9329 | @var{Version} ist die gewünschte Version der LTS-Veröffentlichung. Wird |
| 8957 | release is used. | 9330 | keine angegeben, wird die neueste benutzt. |
| 8958 | @item --recursive | 9331 | @item --recursive |
| 8959 | @itemx -r | 9332 | @itemx -r |
| 8960 | Traverse the dependency graph of the given upstream package recursively and | 9333 | Den Abhängigkeitsgraphen des angegebenen Pakets beim Anbieter rekursiv |
| 8961 | generate package expressions for all those packages that are not yet in | 9334 | durchlaufen und Paketausdrücke für alle solchen Pakete erzeugen, die es in |
| 8962 | Guix. | 9335 | Guix noch nicht gibt. |
| 8963 | @end table | 9336 | @end table |
| 8964 | 9337 | ||
| 8965 | The command below imports metadata for the @code{HTTP} Haskell package | 9338 | Der folgende Befehl importiert Metadaten für dasjenige |
| 8966 | included in the LTS Stackage release version 7.18: | 9339 | @code{HTTP}-Haskell-Paket, das in der LTS-Stackage-Veröffentlichung mit |
| 9340 | Version 7.18 vorkommt: | ||
| 8967 | 9341 | ||
| 8968 | @example | 9342 | @example |
| 8969 | guix import stackage --lts-version=7.18 HTTP | 9343 | guix import stackage --lts-version=7.18 HTTP |
| @@ -8971,67 +9345,67 @@ guix import stackage --lts-version=7.18 HTTP | |||
| 8971 | 9345 | ||
| 8972 | @item elpa | 9346 | @item elpa |
| 8973 | @cindex elpa | 9347 | @cindex elpa |
| 8974 | Import metadata from an Emacs Lisp Package Archive (ELPA) package repository | 9348 | Metadaten aus der Paketsammlung »Emacs Lisp Package Archive« (ELPA) |
| 8975 | (@pxref{Packages,,, emacs, The GNU Emacs Manual}). | 9349 | importieren (siehe @ref{Packages,,, emacs, The GNU Emacs Manual}). |
| 8976 | 9350 | ||
| 8977 | Specific command-line options are: | 9351 | Speziell für diesen Importer stehen noch folgende Befehlszeilenoptionen zur |
| 9352 | Verfügung: | ||
| 8978 | 9353 | ||
| 8979 | @table @code | 9354 | @table @code |
| 8980 | @item --archive=@var{repo} | 9355 | @item --archive=@var{Repo} |
| 8981 | @itemx -a @var{repo} | 9356 | @itemx -a @var{Repo} |
| 8982 | @var{repo} identifies the archive repository from which to retrieve the | 9357 | Mit @var{Repo} wird die Archiv-Sammlung (ein »Repository«) bezeichnet, von |
| 8983 | information. Currently the supported repositories and their identifiers | 9358 | dem die Informationen bezogen werden sollen. Derzeit sind die unterstützten |
| 8984 | are: | 9359 | Repositorys und ihre Bezeichnungen folgende: |
| 8985 | @itemize - | 9360 | @itemize - |
| 8986 | @item | 9361 | @item |
| 8987 | @uref{http://elpa.gnu.org/packages, GNU}, selected by the @code{gnu} | 9362 | @uref{http://elpa.gnu.org/packages, GNU}, bezeichnet mit @code{gnu}. Dies |
| 8988 | identifier. This is the default. | 9363 | ist die Vorgabe. |
| 8989 | 9364 | ||
| 8990 | Packages from @code{elpa.gnu.org} are signed with one of the keys contained | 9365 | Pakete aus @code{elpa.gnu.org} wurden mit einem der Schlüssel im |
| 8991 | in the GnuPG keyring at @file{share/emacs/25.1/etc/package-keyring.gpg} (or | 9366 | GnuPG-Schlüsselbund in @file{share/emacs/25.1/etc/package-keyring.gpg} (oder |
| 8992 | similar) in the @code{emacs} package (@pxref{Package Installation, ELPA | 9367 | einem ähnlichen Pfad) des @code{emacs}-Pakets signiert (siehe @ref{Package |
| 8993 | package signatures,, emacs, The GNU Emacs Manual}). | 9368 | Installation, ELPA package signatures,, emacs, The GNU Emacs Manual}). |
| 8994 | 9369 | ||
| 8995 | @item | 9370 | @item |
| 8996 | @uref{http://stable.melpa.org/packages, MELPA-Stable}, selected by the | 9371 | @uref{http://stable.melpa.org/packages, MELPA-Stable}, bezeichnet mit |
| 8997 | @code{melpa-stable} identifier. | 9372 | @code{melpa-stable}. |
| 8998 | 9373 | ||
| 8999 | @item | 9374 | @item |
| 9000 | @uref{http://melpa.org/packages, MELPA}, selected by the @code{melpa} | 9375 | @uref{http://melpa.org/packages, MELPA}, bezeichnet mit @code{melpa}. |
| 9001 | identifier. | ||
| 9002 | @end itemize | 9376 | @end itemize |
| 9003 | 9377 | ||
| 9004 | @item --recursive | 9378 | @item --recursive |
| 9005 | @itemx -r | 9379 | @itemx -r |
| 9006 | Traverse the dependency graph of the given upstream package recursively and | 9380 | Den Abhängigkeitsgraphen des angegebenen Pakets beim Anbieter rekursiv |
| 9007 | generate package expressions for all those packages that are not yet in | 9381 | durchlaufen und Paketausdrücke für alle solchen Pakete erzeugen, die es in |
| 9008 | Guix. | 9382 | Guix noch nicht gibt. |
| 9009 | @end table | 9383 | @end table |
| 9010 | 9384 | ||
| 9011 | @item crate | 9385 | @item crate |
| 9012 | @cindex crate | 9386 | @cindex crate |
| 9013 | Import metadata from the crates.io Rust package repository | 9387 | Metadaten aus der Paketsammlung crates.io für Rust importieren |
| 9014 | @uref{https://crates.io, crates.io}. | 9388 | @uref{https://crates.io, crates.io}. |
| 9015 | 9389 | ||
| 9016 | @item opam | 9390 | @item opam |
| 9017 | @cindex OPAM | 9391 | @cindex OPAM |
| 9018 | @cindex OCaml | 9392 | @cindex OCaml |
| 9019 | Import metadata from the @uref{https://opam.ocaml.org/, OPAM} package | 9393 | Metadaten aus der Paketsammlung @uref{https://opam.ocaml.org/, OPAM} der |
| 9020 | repository used by the OCaml community. | 9394 | OCaml-Gemeinde importieren. |
| 9021 | @end table | 9395 | @end table |
| 9022 | 9396 | ||
| 9023 | The structure of the @command{guix import} code is modular. It would be | 9397 | @command{guix import} verfügt über eine modulare Code-Struktur. Mehr |
| 9024 | useful to have more importers for other package formats, and your help is | 9398 | Importer für andere Paketformate zu haben, wäre nützlich, und Ihre Hilfe ist |
| 9025 | welcome here (@pxref{Mitwirken}). | 9399 | hierbei gerne gesehen (siehe @ref{Mitwirken}). |
| 9026 | 9400 | ||
| 9027 | @node Aufruf von guix refresh | 9401 | @node Aufruf von guix refresh |
| 9028 | @section Invoking @command{guix refresh} | 9402 | @section @command{guix refresh} aufrufen |
| 9029 | 9403 | ||
| 9030 | @cindex @command{guix refresh} | 9404 | @cindex @command{guix refresh} |
| 9031 | The primary audience of the @command{guix refresh} command is developers of | 9405 | Die Zielgruppe des Befehls @command{guix refresh} zum Auffrischen von |
| 9032 | the GNU software distribution. By default, it reports any packages provided | 9406 | Paketen sind in erster Linie Entwickler der GNU-Software-Distribution. Nach |
| 9033 | by the distribution that are outdated compared to the latest upstream | 9407 | Vorgabe werden damit alle Pakete in der Distribution gemeldet, die nicht der |
| 9034 | version, like this: | 9408 | neuesten Version des Anbieters entsprechen, indem Sie dies ausführen: |
| 9035 | 9409 | ||
| 9036 | @example | 9410 | @example |
| 9037 | $ guix refresh | 9411 | $ guix refresh |
| @@ -9039,8 +9413,9 @@ gnu/packages/gettext.scm:29:13: gettext would be upgraded from 0.18.1.1 to 0.18. | |||
| 9039 | gnu/packages/glib.scm:77:12: glib would be upgraded from 2.34.3 to 2.37.0 | 9413 | gnu/packages/glib.scm:77:12: glib would be upgraded from 2.34.3 to 2.37.0 |
| 9040 | @end example | 9414 | @end example |
| 9041 | 9415 | ||
| 9042 | Alternately, one can specify packages to consider, in which case a warning | 9416 | Alternativ können die zu betrachtenden Pakete dabei angegeben werden, was |
| 9043 | is emitted for packages that lack an updater: | 9417 | zur Ausgabe einer Warnung führt, wenn es für Pakete kein |
| 9418 | Aktualisierungsprogramm gibt: | ||
| 9044 | 9419 | ||
| 9045 | @example | 9420 | @example |
| 9046 | $ guix refresh coreutils guile guile-ssh | 9421 | $ guix refresh coreutils guile guile-ssh |
| @@ -9048,13 +9423,15 @@ gnu/packages/ssh.scm:205:2: warning: no updater for guile-ssh | |||
| 9048 | gnu/packages/guile.scm:136:12: guile would be upgraded from 2.0.12 to 2.0.13 | 9423 | gnu/packages/guile.scm:136:12: guile would be upgraded from 2.0.12 to 2.0.13 |
| 9049 | @end example | 9424 | @end example |
| 9050 | 9425 | ||
| 9051 | @command{guix refresh} browses the upstream repository of each package and | 9426 | @command{guix refresh} durchsucht die Paketsammlung beim Anbieter jedes |
| 9052 | determines the highest version number of the releases therein. The command | 9427 | Pakets und bestimmt, was die höchste Versionsnummer ist, zu der es dort eine |
| 9053 | knows how to update specific types of packages: GNU packages, ELPA packages, | 9428 | Veröffentlichung gibt. Zum Befehl gehören Aktualisierungsprogramme, mit |
| 9054 | etc.---see the documentation for @option{--type} below. There are many | 9429 | denen bestimmte Typen von Paketen automatisch aktualisiert werden können: |
| 9055 | packages, though, for which it lacks a method to determine whether a new | 9430 | GNU-Pakete, ELPA-Pakete usw.@: — siehe die Dokumentation von @option{--type} |
| 9056 | upstream release is available. However, the mechanism is extensible, so | 9431 | unten. Es gibt jedoch auch viele Pakete, für die noch keine Methode |
| 9057 | feel free to get in touch with us to add a new method! | 9432 | enthalten ist, um das Vorhandensein einer neuen Veröffentlichung zu |
| 9433 | prüfen. Der Mechanismus ist aber erweiterbar, also können Sie gerne mit uns | ||
| 9434 | in Kontakt treten, wenn Sie eine neue Methode hinzufügen möchten! | ||
| 9058 | 9435 | ||
| 9059 | @table @code | 9436 | @table @code |
| 9060 | 9437 | ||
| @@ -9073,10 +9450,11 @@ gnu/packages/multiprecision.scm:40:12: info: 6.1.2 is already the latest version | |||
| 9073 | 9450 | ||
| 9074 | @end table | 9451 | @end table |
| 9075 | 9452 | ||
| 9076 | Sometimes the upstream name differs from the package name used in Guix, and | 9453 | Manchmal unterscheidet sich der vom Anbieter benutzte Name von dem |
| 9077 | @command{guix refresh} needs a little help. Most updaters honor the | 9454 | Paketnamen, der in Guix verwendet wird, so dass @command{guix refresh} etwas |
| 9078 | @code{upstream-name} property in package definitions, which can be used to | 9455 | Unterstützung braucht. Die meisten Aktualisierungsprogramme folgen der |
| 9079 | that effect: | 9456 | Eigenschaft @code{upstream-name} in Paketdefinitionen, die diese |
| 9457 | Unterstützung bieten kann. | ||
| 9080 | 9458 | ||
| 9081 | @example | 9459 | @example |
| 9082 | (define-public network-manager | 9460 | (define-public network-manager |
| @@ -9086,18 +9464,20 @@ that effect: | |||
| 9086 | (properties '((upstream-name . "NetworkManager"))))) | 9464 | (properties '((upstream-name . "NetworkManager"))))) |
| 9087 | @end example | 9465 | @end example |
| 9088 | 9466 | ||
| 9089 | When passed @code{--update}, it modifies distribution source files to update | 9467 | Wenn @code{--update} übergeben wird, werden die Quelldateien der |
| 9090 | the version numbers and source tarball hashes of those package recipes | 9468 | Distribution verändert, so dass für diese Paketrezepte die aktuelle Version |
| 9091 | (@pxref{Pakete definieren}). This is achieved by downloading each package's | 9469 | und die aktuelle Hash-Prüfsumme des Quellcode-Tarballs eingetragen wird |
| 9092 | latest source tarball and its associated OpenPGP signature, authenticating | 9470 | (siehe @ref{Pakete definieren}). Dazu werden der neueste Quellcode-Tarball |
| 9093 | the downloaded tarball against its signature using @command{gpg}, and | 9471 | jedes Pakets sowie die jeweils zugehörige OpenPGP-Signatur heruntergeladen; |
| 9094 | finally computing its hash. When the public key used to sign the tarball is | 9472 | mit Letzterer wird der heruntergeladene Tarball gegen seine Signatur mit |
| 9095 | missing from the user's keyring, an attempt is made to automatically | 9473 | @command{gpg} authentifiziert und schließlich dessen Hash berechnet. Wenn |
| 9096 | retrieve it from a public key server; when this is successful, the key is | 9474 | der öffentliche Schlüssel, mit dem der Tarball signiert wurde, im |
| 9097 | added to the user's keyring; otherwise, @command{guix refresh} reports an | 9475 | Schlüsselbund des Benutzers fehlt, wird versucht, ihn automatisch von einem |
| 9098 | error. | 9476 | Schlüssel-Server zu holen; wenn das klappt, wird der Schlüssel zum |
| 9477 | Schlüsselbund des Benutzers hinzugefügt, ansonsten meldet @command{guix | ||
| 9478 | refresh} einen Fehler. | ||
| 9099 | 9479 | ||
| 9100 | The following options are supported: | 9480 | Die folgenden Befehlszeilenoptionen werden unterstützt: |
| 9101 | 9481 | ||
| 9102 | @table @code | 9482 | @table @code |
| 9103 | 9483 | ||
| @@ -9105,88 +9485,99 @@ The following options are supported: | |||
| 9105 | @itemx -e @var{Ausdruck} | 9485 | @itemx -e @var{Ausdruck} |
| 9106 | Als Paket benutzen, wozu der @var{Ausdruck} ausgewertet wird. | 9486 | Als Paket benutzen, wozu der @var{Ausdruck} ausgewertet wird. |
| 9107 | 9487 | ||
| 9108 | This is useful to precisely refer to a package, as in this example: | 9488 | Dies ist nützlich, um genau ein bestimmtes Paket zu referenzieren, wie in |
| 9489 | diesem Beispiel: | ||
| 9109 | 9490 | ||
| 9110 | @example | 9491 | @example |
| 9111 | guix refresh -l -e '(@@@@ (gnu packages commencement) glibc-final)' | 9492 | guix refresh -l -e '(@@@@ (gnu packages commencement) glibc-final)' |
| 9112 | @end example | 9493 | @end example |
| 9113 | 9494 | ||
| 9114 | This command lists the dependents of the ``final'' libc (essentially all the | 9495 | Dieser Befehls listet auf, was alles von der »endgültigen« Erstellung von |
| 9115 | packages.) | 9496 | libc abhängt (praktisch alle Pakete). |
| 9116 | 9497 | ||
| 9117 | @item --update | 9498 | @item --update |
| 9118 | @itemx -u | 9499 | @itemx -u |
| 9119 | Update distribution source files (package recipes) in place. This is | 9500 | Die Quelldateien der Distribution (die Paketrezepte) werden direkt »in |
| 9120 | usually run from a checkout of the Guix source tree (@pxref{Guix vor der Installation ausführen}): | 9501 | place« verändert. Normalerweise führen Sie dies aus einem Checkout des |
| 9502 | Guix-Quellbaums heraus aus (siehe @ref{Guix vor der Installation ausführen}): | ||
| 9121 | 9503 | ||
| 9122 | @example | 9504 | @example |
| 9123 | $ ./pre-inst-env guix refresh -s non-core -u | 9505 | $ ./pre-inst-env guix refresh -s non-core -u |
| 9124 | @end example | 9506 | @end example |
| 9125 | 9507 | ||
| 9126 | @xref{Pakete definieren}, for more information on package definitions. | 9508 | Siehe @ref{Pakete definieren} für mehr Informationen zu Paketdefinitionen. |
| 9127 | 9509 | ||
| 9128 | @item --select=[@var{subset}] | 9510 | @item --select=[@var{Teilmenge}] |
| 9129 | @itemx -s @var{subset} | 9511 | @itemx -s @var{Teilmenge} |
| 9130 | Select all the packages in @var{subset}, one of @code{core} or | 9512 | Wählt alle Pakete aus der @var{Teilmenge} aus, die entweder @code{core} oder |
| 9131 | @code{non-core}. | 9513 | @code{non-core} sein muss. |
| 9132 | 9514 | ||
| 9133 | The @code{core} subset refers to all the packages at the core of the | 9515 | Die @code{core}-Teilmenge bezieht sich auf alle Pakete, die den Kern der |
| 9134 | distribution---i.e., packages that are used to build ``everything else''. | 9516 | Distribution ausmachen, d.h.@: Pakete, aus denen heraus »alles andere« |
| 9135 | This includes GCC, libc, Binutils, Bash, etc. Usually, changing one of | 9517 | erstellt wird. Dazu gehören GCC, libc, Binutils, Bash und so weiter. In der |
| 9136 | these packages in the distribution entails a rebuild of all the others. | 9518 | Regel ist die Folge einer Änderung an einem dieser Pakete in der |
| 9137 | Thus, such updates are an inconvenience to users in terms of build time or | 9519 | Distribution, dass alle anderen neu erstellt werden müssen. Daher sind |
| 9138 | bandwidth used to achieve the upgrade. | 9520 | solche Änderungen unangenehm für Nutzer, weil sie einiges an Erstellungszeit |
| 9521 | oder Bandbreite investieren müssen, um die Aktualisierung abzuschließen. | ||
| 9139 | 9522 | ||
| 9140 | The @code{non-core} subset refers to the remaining packages. It is | 9523 | Die @code{non-core}-Teilmenge bezieht sich auf die übrigen Pakete. Sie wird |
| 9141 | typically useful in cases where an update of the core packages would be | 9524 | typischerweise dann benutzt, wenn eine Aktualisierung der Kernpakete zu |
| 9142 | inconvenient. | 9525 | viele Umstände machen würde. |
| 9143 | 9526 | ||
| 9144 | @item --manifest=@var{Datei} | 9527 | @item --manifest=@var{Datei} |
| 9145 | @itemx -m @var{Datei} | 9528 | @itemx -m @var{Datei} |
| 9146 | Select all the packages from the manifest in @var{file}. This is useful to | 9529 | Wählt alle Pakete im in der @var{Datei} stehenden Manifest aus. Das ist |
| 9147 | check if any packages of the user manifest can be updated. | 9530 | nützlich, um zu überprüfen, welche Pakete aus dem Manifest des Nutzers |
| 9148 | 9531 | aktualisiert werden können. | |
| 9149 | @item --type=@var{updater} | 9532 | |
| 9150 | @itemx -t @var{updater} | 9533 | @item --type=@var{Aktualisierungsprogramm} |
| 9151 | Select only packages handled by @var{updater} (may be a comma-separated list | 9534 | @itemx -t @var{Aktualisierungsprogramm} |
| 9152 | of updaters). Currently, @var{updater} may be one of: | 9535 | Nur solche Pakete auswählen, die vom angegebenen |
| 9536 | @var{Aktualisierungsprogramm} behandelt werden. Es darf auch eine | ||
| 9537 | kommagetrennte Liste mehrerer Aktualisierungsprogramme angegeben werden. Zur | ||
| 9538 | Zeit kann als @var{Aktualisierungsprogramm} eines der folgenden angegeben | ||
| 9539 | werden: | ||
| 9153 | 9540 | ||
| 9154 | @table @code | 9541 | @table @code |
| 9155 | @item gnu | 9542 | @item gnu |
| 9156 | the updater for GNU packages; | 9543 | Aktualisierungsprogramm für GNU-Pakete, |
| 9157 | @item gnome | 9544 | @item gnome |
| 9158 | the updater for GNOME packages; | 9545 | Aktualisierungsprogramm für GNOME-Pakete, |
| 9159 | @item kde | 9546 | @item kde |
| 9160 | the updater for KDE packages; | 9547 | Aktualisierungsprogramm für KDE-Pakete, |
| 9161 | @item xorg | 9548 | @item xorg |
| 9162 | the updater for X.org packages; | 9549 | Aktualisierungsprogramm für X.org-Pakete, |
| 9163 | @item kernel.org | 9550 | @item kernel.org |
| 9164 | the updater for packages hosted on kernel.org; | 9551 | Aktualisierungsprogramm auf kernel.org angebotener Pakete, |
| 9165 | @item elpa | 9552 | @item elpa |
| 9166 | the updater for @uref{http://elpa.gnu.org/, ELPA} packages; | 9553 | Aktualisierungsprogramm für @uref{http://elpa.gnu.org/, ELPA-Pakete}, |
| 9167 | @item cran | 9554 | @item cran |
| 9168 | the updater for @uref{https://cran.r-project.org/, CRAN} packages; | 9555 | Aktualisierungsprogramm für @uref{https://cran.r-project.org/, CRAN-Pakete}, |
| 9169 | @item bioconductor | 9556 | @item bioconductor |
| 9170 | the updater for @uref{https://www.bioconductor.org/, Bioconductor} R | 9557 | Aktualisierungsprogramm für R-Pakete vom |
| 9171 | packages; | 9558 | @uref{https://www.bioconductor.org/, Bioconductor}, |
| 9172 | @item cpan | 9559 | @item cpan |
| 9173 | the updater for @uref{http://www.cpan.org/, CPAN} packages; | 9560 | Aktualisierungsprogramm für @uref{http://www.cpan.org/, CPAN-Pakete}, |
| 9174 | @item pypi | 9561 | @item pypi |
| 9175 | the updater for @uref{https://pypi.python.org, PyPI} packages. | 9562 | Aktualisierungsprogramm für @uref{https://pypi.python.org, PyPI-Pakete}, |
| 9176 | @item gem | 9563 | @item gem |
| 9177 | the updater for @uref{https://rubygems.org, RubyGems} packages. | 9564 | Aktualisierungsprogramm für @uref{https://rubygems.org, RubyGems-Pakete}. |
| 9178 | @item github | 9565 | @item github |
| 9179 | the updater for @uref{https://github.com, GitHub} packages. | 9566 | Aktualisierungsprogramm für @uref{https://github.com, GitHub-Pakete}. |
| 9180 | @item hackage | 9567 | @item hackage |
| 9181 | the updater for @uref{https://hackage.haskell.org, Hackage} packages. | 9568 | Aktualisierungsprogramm für @uref{https://hackage.haskell.org, |
| 9569 | Hackage-Pakete}. | ||
| 9182 | @item stackage | 9570 | @item stackage |
| 9183 | the updater for @uref{https://www.stackage.org, Stackage} packages. | 9571 | Aktualisierungsprogramm für @uref{https://www.stackage.org, |
| 9572 | Stackage-Pakete}. | ||
| 9184 | @item crate | 9573 | @item crate |
| 9185 | the updater for @uref{https://crates.io, Crates} packages. | 9574 | Aktualisierungsprogramm für @uref{https://crates.io, Crates-Pakete}. |
| 9575 | @item launchpad | ||
| 9576 | Aktualisierungsprogramm für @uref{https://launchpad.net, Launchpad}. | ||
| 9186 | @end table | 9577 | @end table |
| 9187 | 9578 | ||
| 9188 | For instance, the following command only checks for updates of Emacs | 9579 | Zum Beispiel prüft folgender Befehl nur auf mögliche Aktualisierungen von |
| 9189 | packages hosted at @code{elpa.gnu.org} and for updates of CRAN packages: | 9580 | auf @code{elpa.gnu.org} angebotenen Emacs-Paketen und von CRAN-Paketen: |
| 9190 | 9581 | ||
| 9191 | @example | 9582 | @example |
| 9192 | $ guix refresh --type=elpa,cran | 9583 | $ guix refresh --type=elpa,cran |
| @@ -9196,45 +9587,50 @@ gnu/packages/emacs.scm:856:13: emacs-auctex would be upgraded from 11.88.6 to 11 | |||
| 9196 | 9587 | ||
| 9197 | @end table | 9588 | @end table |
| 9198 | 9589 | ||
| 9199 | In addition, @command{guix refresh} can be passed one or more package names, | 9590 | An @command{guix refresh} können auch ein oder mehrere Paketnamen übergeben |
| 9200 | as in this example: | 9591 | werden wie in diesem Beispiel: |
| 9201 | 9592 | ||
| 9202 | @example | 9593 | @example |
| 9203 | $ ./pre-inst-env guix refresh -u emacs idutils gcc@@4.8 | 9594 | $ ./pre-inst-env guix refresh -u emacs idutils gcc@@4.8 |
| 9204 | @end example | 9595 | @end example |
| 9205 | 9596 | ||
| 9206 | @noindent | 9597 | @noindent |
| 9207 | The command above specifically updates the @code{emacs} and @code{idutils} | 9598 | Der Befehl oben aktualisiert speziell das @code{emacs}- und das |
| 9208 | packages. The @code{--select} option would have no effect in this case. | 9599 | @code{idutils}-Paket. Eine Befehlszeilenoption @code{--select} hätte dann |
| 9600 | keine Wirkung. | ||
| 9209 | 9601 | ||
| 9210 | When considering whether to upgrade a package, it is sometimes convenient to | 9602 | Wenn Sie sich fragen, ob ein Paket aktualisiert werden sollte oder nicht, |
| 9211 | know which packages would be affected by the upgrade and should be checked | 9603 | kann es helfen, sich anzuschauen, welche Pakete von der Aktualisierung |
| 9212 | for compatibility. For this the following option may be used when passing | 9604 | betroffen wären und auf Kompatibilität hin geprüft werden sollten. Dazu kann |
| 9213 | @command{guix refresh} one or more package names: | 9605 | die folgende Befehlszeilenoption zusammen mit einem oder mehreren Paketnamen |
| 9606 | an @command{guix refresh} übergeben werden: | ||
| 9214 | 9607 | ||
| 9215 | @table @code | 9608 | @table @code |
| 9216 | 9609 | ||
| 9217 | @item --list-updaters | 9610 | @item --list-updaters |
| 9218 | @itemx -L | 9611 | @itemx -L |
| 9219 | List available updaters and exit (see @option{--type} above.) | 9612 | Eine Liste verfügbarer Aktualisierungsprogramme anzeigen und terminieren |
| 9613 | (siehe @option{--type} oben). | ||
| 9220 | 9614 | ||
| 9221 | For each updater, display the fraction of packages it covers; at the end, | 9615 | Für jedes Aktualisierungsprogramm den Anteil der davon betroffenen Pakete |
| 9222 | display the fraction of packages covered by all these updaters. | 9616 | anzeigen; zum Schluss wird der Gesamtanteil von irgendeinem |
| 9617 | Aktualisierungsprogramm betroffener Pakete angezeigt. | ||
| 9223 | 9618 | ||
| 9224 | @item --list-dependent | 9619 | @item --list-dependent |
| 9225 | @itemx -l | 9620 | @itemx -l |
| 9226 | List top-level dependent packages that would need to be rebuilt as a result | 9621 | Auflisten, welche abhängigen Pakete auf oberster Ebene neu erstellt werden |
| 9227 | of upgrading one or more packages. | 9622 | müssten, wenn eines oder mehrere Pakete aktualisiert würden. |
| 9228 | 9623 | ||
| 9229 | @xref{Aufruf von guix graph, the @code{reverse-package} type of @command{guix | 9624 | Siehe @ref{Aufruf von guix graph, den @code{reverse-package}-Typ von |
| 9230 | graph}}, for information on how to visualize the list of dependents of a | 9625 | @command{guix graph}} für Informationen dazu, wie Sie die Liste der |
| 9231 | package. | 9626 | Abhängigen eines Pakets visualisieren können. |
| 9232 | 9627 | ||
| 9233 | @end table | 9628 | @end table |
| 9234 | 9629 | ||
| 9235 | Be aware that the @code{--list-dependent} option only @emph{approximates} | 9630 | Bedenken Sie, dass die Befehlszeilenoption @code{--list-dependent} das |
| 9236 | the rebuilds that would be required as a result of an upgrade. More | 9631 | Ausmaß der nach einer Aktualisierungen benötigten Neuerstellungen nur |
| 9237 | rebuilds might be required under some circumstances. | 9632 | @emph{annähert}. Es könnten auch unter Umständen mehr Neuerstellungen |
| 9633 | anfallen. | ||
| 9238 | 9634 | ||
| 9239 | @example | 9635 | @example |
| 9240 | $ guix refresh --list-dependent flex | 9636 | $ guix refresh --list-dependent flex |
| @@ -9242,13 +9638,14 @@ Building the following 120 packages would ensure 213 dependent packages are rebu | |||
| 9242 | hop@@2.4.0 geiser@@0.4 notmuch@@0.18 mu@@0.9.9.5 cflow@@1.4 idutils@@4.6 @dots{} | 9638 | hop@@2.4.0 geiser@@0.4 notmuch@@0.18 mu@@0.9.9.5 cflow@@1.4 idutils@@4.6 @dots{} |
| 9243 | @end example | 9639 | @end example |
| 9244 | 9640 | ||
| 9245 | The command above lists a set of packages that could be built to check for | 9641 | Der oben stehende Befehl gibt einen Satz von Paketen aus, die Sie erstellen |
| 9246 | compatibility with an upgraded @code{flex} package. | 9642 | wollen könnten, um die Kompatibilität einer Aktualisierung des |
| 9643 | @code{flex}-Pakets beurteilen zu können. | ||
| 9247 | 9644 | ||
| 9248 | @table @code | 9645 | @table @code |
| 9249 | 9646 | ||
| 9250 | @item --list-transitive | 9647 | @item --list-transitive |
| 9251 | List all the packages which one or more packages depend upon. | 9648 | Die Pakete auflisten, von denen eines oder mehrere Pakete abhängen. |
| 9252 | 9649 | ||
| 9253 | @example | 9650 | @example |
| 9254 | $ guix refresh --list-transitive flex | 9651 | $ guix refresh --list-transitive flex |
| @@ -9258,110 +9655,123 @@ bison@@3.0.5 indent@@2.2.10 tar@@1.30 gzip@@1.9 bzip2@@1.0.6 xz@@5.2.4 file@@5.3 | |||
| 9258 | 9655 | ||
| 9259 | @end table | 9656 | @end table |
| 9260 | 9657 | ||
| 9261 | The command above lists a set of packages which, when changed, would cause | 9658 | Der oben stehende Befehl gibt einen Satz von Paketen aus, die, wenn sie |
| 9262 | @code{flex} to be rebuilt. | 9659 | geändert würden, eine Neuerstellung des @code{flex}-Pakets auslösen würden. |
| 9263 | 9660 | ||
| 9264 | The following options can be used to customize GnuPG operation: | 9661 | Mit den folgenden Befehlszeilenoptionen können Sie das Verhalten von GnuPG |
| 9662 | anpassen: | ||
| 9265 | 9663 | ||
| 9266 | @table @code | 9664 | @table @code |
| 9267 | 9665 | ||
| 9268 | @item --gpg=@var{command} | 9666 | @item --gpg=@var{Befehl} |
| 9269 | Use @var{command} as the GnuPG 2.x command. @var{command} is searched for | 9667 | Den @var{Befehl} als GnuPG-2.x-Befehl einsetzen. Der @var{Befehl} wird im |
| 9270 | in @code{$PATH}. | 9668 | @code{$PATH} gesucht. |
| 9271 | 9669 | ||
| 9272 | @item --keyring=@var{Datei} | 9670 | @item --keyring=@var{Datei} |
| 9273 | Use @var{file} as the keyring for upstream keys. @var{file} must be in the | 9671 | Die @var{Datei} als Schlüsselbund mit Anbieterschlüsseln verwenden. Die |
| 9274 | @dfn{keybox format}. Keybox files usually have a name ending in @file{.kbx} | 9672 | @var{Datei} muss im @dfn{Keybox-Format} vorliegen. Keybox-Dateien haben |
| 9275 | and the GNU@tie{}Privacy Guard (GPG) can manipulate these files | 9673 | normalerweise einen Namen, der auf @file{.kbx} endet. Sie können mit Hilfe |
| 9276 | (@pxref{kbxutil, @command{kbxutil},, gnupg, Using the GNU Privacy Guard}, | 9674 | von GNU@tie{}Privacy Guard (GPG) bearbeitet werden (siehe @ref{kbxutil, |
| 9277 | for information on a tool to manipulate keybox files). | 9675 | @command{kbxutil},, gnupg, Using the GNU Privacy Guard} für Informationen |
| 9676 | über ein Werkzeug zum Bearbeiten von Keybox-Dateien). | ||
| 9278 | 9677 | ||
| 9279 | When this option is omitted, @command{guix refresh} uses | 9678 | Wenn diese Befehlszeilenoption nicht angegeben wird, benutzt @command{guix |
| 9280 | @file{~/.config/guix/upstream/trustedkeys.kbx} as the keyring for upstream | 9679 | refresh} die Keybox-Datei @file{~/.config/guix/upstream/trustedkeys.kbx} als |
| 9281 | signing keys. OpenPGP signatures are checked against keys from this | 9680 | Schlüsselbund für Signierschlüssel von Anbietern. OpenPGP-Signaturen werden |
| 9282 | keyring; missing keys are downloaded to this keyring as well (see | 9681 | mit Schlüsseln aus diesem Schlüsselbund überprüft; fehlende Schlüssel werden |
| 9283 | @option{--key-download} below.) | 9682 | auch in diesen Schlüsselbund heruntergeladen (siehe @option{--key-download} |
| 9683 | unten). | ||
| 9284 | 9684 | ||
| 9285 | You can export keys from your default GPG keyring into a keybox file using | 9685 | Sie können Schlüssel aus Ihrem normalerweise benutzten GPG-Schlüsselbund in |
| 9286 | commands like this one: | 9686 | eine Keybox-Datei exportieren, indem Sie Befehle wie diesen benutzen: |
| 9287 | 9687 | ||
| 9288 | @example | 9688 | @example |
| 9289 | gpg --export rms@@gnu.org | kbxutil --import-openpgp >> mykeyring.kbx | 9689 | gpg --export rms@@gnu.org | kbxutil --import-openpgp >> mykeyring.kbx |
| 9290 | @end example | 9690 | @end example |
| 9291 | 9691 | ||
| 9292 | Likewise, you can fetch keys to a specific keybox file like this: | 9692 | Ebenso können Sie wie folgt Schlüssel in eine bestimmte Keybox-Datei |
| 9693 | herunterladen: | ||
| 9293 | 9694 | ||
| 9294 | @example | 9695 | @example |
| 9295 | gpg --no-default-keyring --keyring mykeyring.kbx \ | 9696 | gpg --no-default-keyring --keyring mykeyring.kbx \ |
| 9296 | --recv-keys @value{OPENPGP-SIGNING-KEY-ID} | 9697 | --recv-keys @value{OPENPGP-SIGNING-KEY-ID} |
| 9297 | @end example | 9698 | @end example |
| 9298 | 9699 | ||
| 9299 | @ref{GPG Configuration Options, @option{--keyring},, gnupg, Using the GNU | 9700 | Siehe @ref{GPG Configuration Options, @option{--keyring},, gnupg, Using the |
| 9300 | Privacy Guard}, for more information on GPG's @option{--keyring} option. | 9701 | GNU Privacy Guard} für mehr Informationen zur Befehlszeilenoption |
| 9702 | @option{--keyring} von GPG. | ||
| 9301 | 9703 | ||
| 9302 | @item --key-download=@var{policy} | 9704 | @item --key-download=@var{Richtlinie} |
| 9303 | Handle missing OpenPGP keys according to @var{policy}, which may be one of: | 9705 | Fehlende OpenPGP-Schlüssel gemäß dieser @var{Richtlinie} behandeln, für die |
| 9706 | eine der Folgenden angegeben werden kann: | ||
| 9304 | 9707 | ||
| 9305 | @table @code | 9708 | @table @code |
| 9306 | @item always | 9709 | @item always |
| 9307 | Always download missing OpenPGP keys from the key server, and add them to | 9710 | Immer fehlende OpenPGP-Schlüssel herunterladen und zum GnuPG-Schlüsselbund |
| 9308 | the user's GnuPG keyring. | 9711 | des Nutzers hinzufügen. |
| 9309 | 9712 | ||
| 9310 | @item never | 9713 | @item never |
| 9311 | Never try to download missing OpenPGP keys. Instead just bail out. | 9714 | Niemals fehlende OpenPGP-Schlüssel herunterladen, sondern einfach abbrechen. |
| 9312 | 9715 | ||
| 9313 | @item interactive | 9716 | @item interactive |
| 9314 | When a package signed with an unknown OpenPGP key is encountered, ask the | 9717 | Ist ein Paket mit einem unbekannten OpenPGP-Schlüssel signiert, wird der |
| 9315 | user whether to download it or not. This is the default behavior. | 9718 | Nutzer gefragt, ob der Schlüssel heruntergeladen werden soll oder |
| 9719 | nicht. Dies entspricht dem vorgegebenen Verhalten. | ||
| 9316 | @end table | 9720 | @end table |
| 9317 | 9721 | ||
| 9318 | @item --key-server=@var{host} | 9722 | @item --key-server=@var{Host} |
| 9319 | Use @var{host} as the OpenPGP key server when importing a public key. | 9723 | Den mit @var{Host} bezeichneten Rechner als Schlüsselserver für OpenPGP |
| 9724 | benutzen, wenn ein öffentlicher Schlüssel importiert wird. | ||
| 9320 | 9725 | ||
| 9321 | @end table | 9726 | @end table |
| 9322 | 9727 | ||
| 9323 | The @code{github} updater uses the @uref{https://developer.github.com/v3/, | 9728 | Das @code{github}-Aktualisierungsprogramm benutzt die |
| 9324 | GitHub API} to query for new releases. When used repeatedly e.g.@: when | 9729 | @uref{https://developer.github.com/v3/, GitHub-Programmierschnittstelle} |
| 9325 | refreshing all packages, GitHub will eventually refuse to answer any further | 9730 | (die »Github-API«), um Informationen über neue Veröffentlichungen |
| 9326 | API requests. By default 60 API requests per hour are allowed, and a full | 9731 | einzuholen. Geschieht dies oft, z.B.@: beim Auffrischen aller Pakete, so |
| 9327 | refresh on all GitHub packages in Guix requires more than this. | 9732 | wird GitHub irgendwann aufhören, weitere API-Anfragen zu |
| 9328 | Authentication with GitHub through the use of an API token alleviates these | 9733 | beantworten. Normalerweise sind 60 API-Anfragen pro Stunde erlaubt, für eine |
| 9329 | limits. To use an API token, set the environment variable | 9734 | vollständige Auffrischung aller GitHub-Pakete in Guix werden aber mehr |
| 9330 | @code{GUIX_GITHUB_TOKEN} to a token procured from | 9735 | benötigt. Wenn Sie sich bei GitHub mit Ihrem eigenen API-Token |
| 9331 | @uref{https://github.com/settings/tokens} or otherwise. | 9736 | authentisieren, gelten weniger einschränkende Grenzwerte. Um einen API-Token |
| 9737 | zu benutzen, setzen Sie die Umgebungsvariable @code{GUIX_GITHUB_TOKEN} auf | ||
| 9738 | einen von @uref{https://github.com/settings/tokens} oder anderweitig | ||
| 9739 | bezogenen API-Token. | ||
| 9332 | 9740 | ||
| 9333 | 9741 | ||
| 9334 | @node Aufruf von guix lint | 9742 | @node Aufruf von guix lint |
| 9335 | @section Invoking @command{guix lint} | 9743 | @section @command{guix lint} aufrufen |
| 9336 | 9744 | ||
| 9337 | @cindex @command{guix lint} | 9745 | @cindex @command{guix lint} |
| 9338 | @cindex package, checking for errors | 9746 | @cindex Pakete, auf Fehler prüfen |
| 9339 | The @command{guix lint} command is meant to help package developers avoid | 9747 | Den Befehl @command{guix lint} gibt es, um Paketentwicklern beim Vermeiden |
| 9340 | common errors and use a consistent style. It runs a number of checks on a | 9748 | häufiger Fehler und bei der Einhaltung eines konsistenten Code-Stils zu |
| 9341 | given set of packages in order to find common mistakes in their | 9749 | helfen. Er führt eine Reihe von Prüfungen auf einer angegebenen Menge von |
| 9342 | definitions. Available @dfn{checkers} include (see @code{--list-checkers} | 9750 | Paketen durch, um in deren Definition häufige Fehler aufzuspüren. Zu den |
| 9343 | for a complete list): | 9751 | verfügbaren @dfn{Prüfern} gehören (siehe @code{--list-checkers} für eine |
| 9752 | vollständige Liste): | ||
| 9344 | 9753 | ||
| 9345 | @table @code | 9754 | @table @code |
| 9346 | @item synopsis | 9755 | @item synopsis |
| 9347 | @itemx description | 9756 | @itemx description |
| 9348 | Validate certain typographical and stylistic rules about package | 9757 | Überprüfen, ob bestimmte typografische und stilistische Regeln in |
| 9349 | descriptions and synopses. | 9758 | Paketbeschreibungen und -zusammenfassungen eingehalten wurden. |
| 9350 | 9759 | ||
| 9351 | @item inputs-should-be-native | 9760 | @item inputs-should-be-native |
| 9352 | Identify inputs that should most likely be native inputs. | 9761 | Eingaben identifizieren, die wahrscheinlich native Eingaben sein sollten. |
| 9353 | 9762 | ||
| 9354 | @item source | 9763 | @item source |
| 9355 | @itemx home-page | 9764 | @itemx home-page |
| 9356 | @itemx mirror-url | 9765 | @itemx mirror-url |
| 9357 | @itemx github-url | 9766 | @itemx github-url |
| 9358 | @itemx source-file-name | 9767 | @itemx source-file-name |
| 9359 | Probe @code{home-page} and @code{source} URLs and report those that are | 9768 | Die URLs für die Felder @code{home-page} und @code{source} anrufen und nicht |
| 9360 | invalid. Suggest a @code{mirror://} URL when applicable. If the | 9769 | erreichbare URLs melden. Wenn passend, wird eine @code{mirror://}-URL |
| 9361 | @code{source} URL redirects to a GitHub URL, recommend usage of the GitHub | 9770 | vorgeschlagen. Wenn die Quell-URL auf eine GitHub-URL weiterleitet, wird |
| 9362 | URL. Check that the source file name is meaningful, e.g.@: is not just a | 9771 | eine Empfehlung ausgegeben, direkt letztere zu verwenden. Es wird geprüft, |
| 9363 | version number or ``git-checkout'', without a declared @code{file-name} | 9772 | dass der Quell-Dateiname aussagekräftig ist, dass er also z.B.@: nicht nur |
| 9364 | (@pxref{»origin«-Referenz}). | 9773 | aus einer Versionsnummer besteht oder als »git-checkout« angegeben wurde, |
| 9774 | ohne dass ein @code{Dateiname} deklariert wurde (siehe @ref{»origin«-Referenz}). | ||
| 9365 | 9775 | ||
| 9366 | @item source-unstable-tarball | 9776 | @item source-unstable-tarball |
| 9367 | Parse the @code{source} URL to determine if a tarball from GitHub is | 9777 | Parse the @code{source} URL to determine if a tarball from GitHub is |
| @@ -9369,13 +9779,15 @@ autogenerated or if it is a release tarball. Unfortunately GitHub's | |||
| 9369 | autogenerated tarballs are sometimes regenerated. | 9779 | autogenerated tarballs are sometimes regenerated. |
| 9370 | 9780 | ||
| 9371 | @item cve | 9781 | @item cve |
| 9372 | @cindex security vulnerabilities | 9782 | @cindex Sicherheitslücken |
| 9373 | @cindex CVE, Common Vulnerabilities and Exposures | 9783 | @cindex CVE, Common Vulnerabilities and Exposures |
| 9374 | Report known vulnerabilities found in the Common Vulnerabilities and | 9784 | Bekannte Sicherheitslücken melden, die in den Datenbanken der »Common |
| 9375 | Exposures (CVE) databases of the current and past year | 9785 | Vulnerabilities and Exposures« (CVE) aus diesem und dem letzten Jahr |
| 9376 | @uref{https://nvd.nist.gov/download.cfm#CVE_FEED, published by the US NIST}. | 9786 | vorkommen, @uref{https://nvd.nist.gov/download.cfm#CVE_FEED, wie sie von der |
| 9787 | US-amerikanischen NIST veröffentlicht werden}. | ||
| 9377 | 9788 | ||
| 9378 | To view information about a particular vulnerability, visit pages such as: | 9789 | Um Informationen über eine bestimmte Sicherheitslücke angezeigt zu bekommen, |
| 9790 | besuchen Sie Webseiten wie: | ||
| 9379 | 9791 | ||
| 9380 | @itemize | 9792 | @itemize |
| 9381 | @item | 9793 | @item |
| @@ -9385,87 +9797,90 @@ To view information about a particular vulnerability, visit pages such as: | |||
| 9385 | @end itemize | 9797 | @end itemize |
| 9386 | 9798 | ||
| 9387 | @noindent | 9799 | @noindent |
| 9388 | where @code{CVE-YYYY-ABCD} is the CVE identifier---e.g., | 9800 | wobei Sie statt @code{CVE-YYYY-ABCD} die CVE-Kennnummer angeben — z.B.@: |
| 9389 | @code{CVE-2015-7554}. | 9801 | @code{CVE-2015-7554}. |
| 9390 | 9802 | ||
| 9391 | Package developers can specify in package recipes the | 9803 | Paketentwickler können in ihren Paketrezepten den Namen und die Version des |
| 9392 | @uref{https://nvd.nist.gov/cpe.cfm,Common Platform Enumeration (CPE)} name | 9804 | Pakets in der @uref{https://nvd.nist.gov/cpe.cfm,Common Platform Enumeration |
| 9393 | and version of the package when they differ from the name or version that | 9805 | (CPE)} angeben, falls sich diese von dem in Guix benutzten Namen und der |
| 9394 | Guix uses, as in this example: | 9806 | Version unterscheiden, zum Beispiel so: |
| 9395 | 9807 | ||
| 9396 | @example | 9808 | @example |
| 9397 | (package | 9809 | (package |
| 9398 | (name "grub") | 9810 | (name "grub") |
| 9399 | ;; @dots{} | 9811 | ;; @dots{} |
| 9400 | ;; CPE calls this package "grub2". | 9812 | ;; CPE bezeichnet das Paket als "grub2". |
| 9401 | (properties '((cpe-name . "grub2") | 9813 | (properties '((cpe-name . "grub2") |
| 9402 | (cpe-version . "2.3"))) | 9814 | (cpe-version . "2.3"))) |
| 9403 | @end example | 9815 | @end example |
| 9404 | 9816 | ||
| 9405 | @c See <http://www.openwall.com/lists/oss-security/2017/03/15/3>. | 9817 | @c See <http://www.openwall.com/lists/oss-security/2017/03/15/3>. |
| 9406 | Some entries in the CVE database do not specify which version of a package | 9818 | Manche Einträge in der CVE-Datenbank geben die Version des Pakets nicht an, |
| 9407 | they apply to, and would thus ``stick around'' forever. Package developers | 9819 | auf das sie sich beziehen, und würden daher bis in alle Ewigkeit Warnungen |
| 9408 | who found CVE alerts and verified they can be ignored can declare them as in | 9820 | auslösen. Paketentwickler, die CVE-Warnmeldungen gefunden und geprüft haben, |
| 9409 | this example: | 9821 | dass diese ignoriert werden können, können sie wie in diesem Beispiel |
| 9822 | deklarieren: | ||
| 9410 | 9823 | ||
| 9411 | @example | 9824 | @example |
| 9412 | (package | 9825 | (package |
| 9413 | (name "t1lib") | 9826 | (name "t1lib") |
| 9414 | ;; @dots{} | 9827 | ;; @dots{} |
| 9415 | ;; These CVEs no longer apply and can be safely ignored. | 9828 | ;; Diese CVEs treffen nicht mehr zu und können bedenkenlos ignoriert |
| 9829 | ;; werden. | ||
| 9416 | (properties `((lint-hidden-cve . ("CVE-2011-0433" | 9830 | (properties `((lint-hidden-cve . ("CVE-2011-0433" |
| 9417 | "CVE-2011-1553" | 9831 | "CVE-2011-1553" |
| 9418 | "CVE-2011-1554" | 9832 | "CVE-2011-1554" |
| 9419 | "CVE-2011-5244"))))) | 9833 | "CVE-2011-5244"))))) |
| 9420 | @end example | 9834 | @end example |
| 9421 | 9835 | ||
| 9422 | @item formatting | 9836 | @item Formatierung |
| 9423 | Warn about obvious source code formatting issues: trailing white space, use | 9837 | Offensichtliche Fehler bei der Formatierung von Quellcode melden, z.B.@: |
| 9424 | of tabulations, etc. | 9838 | Leerraum-Zeichen am Zeilenende oder Nutzung von Tabulatorzeichen. |
| 9425 | @end table | 9839 | @end table |
| 9426 | 9840 | ||
| 9427 | Die allgemeine Syntax lautet: | 9841 | Die allgemeine Syntax lautet: |
| 9428 | 9842 | ||
| 9429 | @example | 9843 | @example |
| 9430 | guix lint @var{options} @var{package}@dots{} | 9844 | guix lint @var{Optionen} @var{Pakete}@dots{} |
| 9431 | @end example | 9845 | @end example |
| 9432 | 9846 | ||
| 9433 | If no package is given on the command line, then all packages are checked. | 9847 | Wird kein Paket auf der Befehlszeile angegeben, dann werden alle Pakete |
| 9434 | The @var{options} may be zero or more of the following: | 9848 | geprüft, die es gibt. Als @var{Optionen} können null oder mehr der folgenden |
| 9849 | Befehlszeilenoptionen übergeben werden: | ||
| 9435 | 9850 | ||
| 9436 | @table @code | 9851 | @table @code |
| 9437 | @item --list-checkers | 9852 | @item --list-checkers |
| 9438 | @itemx -l | 9853 | @itemx -l |
| 9439 | List and describe all the available checkers that will be run on packages | 9854 | Alle verfügbaren Prüfer für die Pakete auflisten und beschreiben. |
| 9440 | and exit. | ||
| 9441 | 9855 | ||
| 9442 | @item --checkers | 9856 | @item --checkers |
| 9443 | @itemx -c | 9857 | @itemx -c |
| 9444 | Only enable the checkers specified in a comma-separated list using the names | 9858 | Nur die Prüfer aktivieren, die hiernach in einer kommagetrennten Liste aus |
| 9445 | returned by @code{--list-checkers}. | 9859 | von @code{--list-checkers} aufgeführten Prüfern vorkommen. |
| 9446 | 9860 | ||
| 9447 | @end table | 9861 | @end table |
| 9448 | 9862 | ||
| 9449 | @node Aufruf von guix size | 9863 | @node Aufruf von guix size |
| 9450 | @section Invoking @command{guix size} | 9864 | @section @command{guix size} aufrufen |
| 9451 | 9865 | ||
| 9452 | @cindex size | 9866 | @cindex Größe |
| 9453 | @cindex package size | 9867 | @cindex Paketgröße |
| 9454 | @cindex Abschluss | 9868 | @cindex Abschluss |
| 9455 | @cindex @command{guix size} | 9869 | @cindex @command{guix size} |
| 9456 | The @command{guix size} command helps package developers profile the disk | 9870 | Der Befehl @command{guix size} hilft Paketentwicklern dabei, den |
| 9457 | usage of packages. It is easy to overlook the impact of an additional | 9871 | Plattenplatzverbrauch von Paketen zu profilieren. Es ist leicht, die |
| 9458 | dependency added to a package, or the impact of using a single output for a | 9872 | Auswirkungen zu unterschätzen, die das Hinzufügen zusätzlicher |
| 9459 | package that could easily be split (@pxref{Pakete mit mehreren Ausgaben.}). Such are the typical issues that @command{guix size} can | 9873 | Abhängigkeiten zu einem Paket hat oder die das Verwenden einer einzelnen |
| 9460 | highlight. | 9874 | Ausgabe für ein leicht aufteilbares Paket ausmacht (siehe @ref{Pakete mit mehreren Ausgaben.}). Das sind typische Probleme, auf die @command{guix size} |
| 9875 | aufmerksam machen kann. | ||
| 9461 | 9876 | ||
| 9462 | The command can be passed one or more package specifications such as | 9877 | Dem Befehl können eine oder mehrere Paketspezifikationen wie @code{gcc@@4.8} |
| 9463 | @code{gcc@@4.8} or @code{guile:debug}, or a file name in the store. | 9878 | oder @code{guile:debug} übergeben werden, oder ein Dateiname im |
| 9464 | Consider this example: | 9879 | Store. Betrachten Sie dieses Beispiel: |
| 9465 | 9880 | ||
| 9466 | @example | 9881 | @example |
| 9467 | $ guix size coreutils | 9882 | $ guix size coreutils |
| 9468 | store item total self | 9883 | Store-Objekt Gesamt Selbst |
| 9469 | /gnu/store/@dots{}-gcc-5.5.0-lib 60.4 30.1 38.1% | 9884 | /gnu/store/@dots{}-gcc-5.5.0-lib 60.4 30.1 38.1% |
| 9470 | /gnu/store/@dots{}-glibc-2.27 30.3 28.8 36.6% | 9885 | /gnu/store/@dots{}-glibc-2.27 30.3 28.8 36.6% |
| 9471 | /gnu/store/@dots{}-coreutils-8.28 78.9 15.0 19.0% | 9886 | /gnu/store/@dots{}-coreutils-8.28 78.9 15.0 19.0% |
| @@ -9474,270 +9889,303 @@ store item total self | |||
| 9474 | /gnu/store/@dots{}-acl-2.2.52 61.1 0.4 0.5% | 9889 | /gnu/store/@dots{}-acl-2.2.52 61.1 0.4 0.5% |
| 9475 | /gnu/store/@dots{}-attr-2.4.47 60.6 0.2 0.3% | 9890 | /gnu/store/@dots{}-attr-2.4.47 60.6 0.2 0.3% |
| 9476 | /gnu/store/@dots{}-libcap-2.25 60.5 0.2 0.2% | 9891 | /gnu/store/@dots{}-libcap-2.25 60.5 0.2 0.2% |
| 9477 | total: 78.9 MiB | 9892 | Gesamt: 78.9 MiB |
| 9478 | @end example | 9893 | @end example |
| 9479 | 9894 | ||
| 9480 | @cindex Abschluss | 9895 | @cindex Abschluss |
| 9481 | The store items listed here constitute the @dfn{transitive closure} of | 9896 | Die hier aufgelisteten Store-Objekte bilden den @dfn{transitiven Abschluss} |
| 9482 | Coreutils---i.e., Coreutils and all its dependencies, recursively---as would | 9897 | der Coreutils — d.h.@: die Coreutils und all ihre Abhängigkeiten und deren |
| 9483 | be returned by: | 9898 | Abhängigkeiten, rekursiv —, wie sie hiervon angezeigt würden:<f |
| 9484 | 9899 | ||
| 9485 | @example | 9900 | @example |
| 9486 | $ guix gc -R /gnu/store/@dots{}-coreutils-8.23 | 9901 | $ guix gc -R /gnu/store/@dots{}-coreutils-8.23 |
| 9487 | @end example | 9902 | @end example |
| 9488 | 9903 | ||
| 9489 | Here the output shows three columns next to store items. The first column, | 9904 | Hier zeigt die Ausgabe neben den Store-Objekten noch drei Spalten. Die erste |
| 9490 | labeled ``total'', shows the size in mebibytes (MiB) of the closure of the | 9905 | Spalte namens »Gesamt« gibt wieder, wieviele Mebibytes (MiB) der Abschluss |
| 9491 | store item---that is, its own size plus the size of all its dependencies. | 9906 | des Store-Objekts groß ist — das heißt, dessen eigene Größe plus die Größe |
| 9492 | The next column, labeled ``self'', shows the size of the item itself. The | 9907 | all seiner Abhängigkeiten. Die nächste Spalte, bezeichnet mit »Selbst«, |
| 9493 | last column shows the ratio of the size of the item itself to the space | 9908 | zeigt die Größe nur dieses Objekts an. Die letzte Spalte zeigt das |
| 9494 | occupied by all the items listed here. | 9909 | Verhältnis der Größe des Objekts zur Gesamtgröße aller hier aufgelisteten |
| 9910 | Objekte an. | ||
| 9495 | 9911 | ||
| 9496 | In this example, we see that the closure of Coreutils weighs in at | 9912 | In diesem Beispiel sehen wir, dass der Abschluss der Coreutils 79@tie{}MiB |
| 9497 | 79@tie{}MiB, most of which is taken by libc and GCC's run-time support | 9913 | schwer ist, wovon das meiste durch libc und die Bibliotheken zur |
| 9498 | libraries. (That libc and GCC's libraries represent a large fraction of the | 9914 | Laufzeitunterstützung von GCC ausgemacht wird. (Dass libc und die |
| 9499 | closure is not a problem @i{per se} because they are always available on the | 9915 | Bibliotheken vom GCC einen großen Anteil am Abschluss ausmachen, ist aber an |
| 9500 | system anyway.) | 9916 | sich noch kein Problem, weil es Bibliotheken sind, die auf dem System |
| 9917 | sowieso immer verfügbar sein müssen.) | ||
| 9501 | 9918 | ||
| 9502 | When the package(s) passed to @command{guix size} are available in the | 9919 | Wenn das oder die Paket(e), die an @command{guix size} übergeben wurden, im |
| 9503 | store@footnote{More precisely, @command{guix size} looks for the | 9920 | Store verfügbar sind@footnote{Genauer gesagt braucht @command{guix size} die |
| 9504 | @emph{ungrafted} variant of the given package(s), as returned by @code{guix | 9921 | @emph{nicht veredelte} Variante des angegebenen Pakets bzw. der Pakete, wie |
| 9505 | build @var{package} --no-grafts}. @xref{Sicherheitsaktualisierungen}, for information | 9922 | @code{guix build @var{Paket} --no-grafts} sie liefert. Siehe @ref{Sicherheitsaktualisierungen} für Informationen über Veredelungen.}, beauftragen Sie mit |
| 9506 | on grafts.}, @command{guix size} queries the daemon to determine its | 9923 | @command{guix size} den Daemon, die Abhängigkeiten davon zu bestimmen und |
| 9507 | dependencies, and measures its size in the store, similar to @command{du -ms | 9924 | deren Größe im Store zu messen, ähnlich wie es mit @command{du -ms |
| 9508 | --apparent-size} (@pxref{du invocation,,, coreutils, GNU Coreutils}). | 9925 | --apparent-size} geschehen würde (siehe @ref{du invocation,,, coreutils, GNU |
| 9926 | Coreutils}). | ||
| 9509 | 9927 | ||
| 9510 | When the given packages are @emph{not} in the store, @command{guix size} | 9928 | Wenn die übergebenen Pakete @emph{nicht} im Store liegen, erstattet |
| 9511 | reports information based on the available substitutes | 9929 | @command{guix size} Bericht mit Informationen, die aus verfügbaren |
| 9512 | (@pxref{Substitute}). This makes it possible it to profile disk usage of | 9930 | Substituten herausgelesen werden (siehe @ref{Substitute}). Dadurch kann die |
| 9513 | store items that are not even on disk, only available remotely. | 9931 | Plattenausnutzung von Store-Objekten profiliert werden, die gar nicht auf |
| 9932 | der Platte liegen und nur auf entfernten Rechnern vorhanden sind. | ||
| 9514 | 9933 | ||
| 9515 | You can also specify several package names: | 9934 | Sie können auch mehrere Paketnamen angeben: |
| 9516 | 9935 | ||
| 9517 | @example | 9936 | @example |
| 9518 | $ guix size coreutils grep sed bash | 9937 | $ guix size coreutils grep sed bash |
| 9519 | store item total self | 9938 | Store-Objekt Gesamt Selbst |
| 9520 | /gnu/store/@dots{}-coreutils-8.24 77.8 13.8 13.4% | 9939 | /gnu/store/@dots{}-coreutils-8.24 77.8 13.8 13.4% |
| 9521 | /gnu/store/@dots{}-grep-2.22 73.1 0.8 0.8% | 9940 | /gnu/store/@dots{}-grep-2.22 73.1 0.8 0.8% |
| 9522 | /gnu/store/@dots{}-bash-4.3.42 72.3 4.7 4.6% | 9941 | /gnu/store/@dots{}-bash-4.3.42 72.3 4.7 4.6% |
| 9523 | /gnu/store/@dots{}-readline-6.3 67.6 1.2 1.2% | 9942 | /gnu/store/@dots{}-readline-6.3 67.6 1.2 1.2% |
| 9524 | @dots{} | 9943 | @dots{} |
| 9525 | total: 102.3 MiB | 9944 | Gesamt: 102.3 MiB |
| 9526 | @end example | 9945 | @end example |
| 9527 | 9946 | ||
| 9528 | @noindent | 9947 | @noindent |
| 9529 | In this example we see that the combination of the four packages takes | 9948 | In diesem Beispiel sehen wir, dass die Kombination der vier Pakete insgesamt |
| 9530 | 102.3@tie{}MiB in total, which is much less than the sum of each closure | 9949 | 102,3@tie{}MiB Platz verbraucht, was wesentlich weniger als die Summe der |
| 9531 | since they have a lot of dependencies in common. | 9950 | einzelnen Abschlüsse ist, weil diese viele Abhängigkeiten gemeinsam |
| 9951 | verwenden. | ||
| 9532 | 9952 | ||
| 9533 | The available options are: | 9953 | Die verfügbaren Befehlszeilenoptionen sind: |
| 9534 | 9954 | ||
| 9535 | @table @option | 9955 | @table @option |
| 9536 | 9956 | ||
| 9537 | @item --substitute-urls=@var{URLs} | 9957 | @item --substitute-urls=@var{URLs} |
| 9538 | Use substitute information from @var{urls}. @xref{client-substitute-urls, | 9958 | Substitutinformationen von den @var{URLs} benutzen. Siehe |
| 9539 | the same option for @code{guix build}}. | 9959 | @ref{client-substitute-urls, dieselbe Option bei @code{guix build}}. |
| 9540 | 9960 | ||
| 9541 | @item --sort=@var{key} | 9961 | @item --sort=@var{Schlüssel} |
| 9542 | Sort lines according to @var{key}, one of the following options: | 9962 | Zeilen anhand des @var{Schlüssel}s sortieren, der eine der folgenden |
| 9963 | Alternativen sein muss: | ||
| 9543 | 9964 | ||
| 9544 | @table @code | 9965 | @table @code |
| 9545 | @item self | 9966 | @item self |
| 9546 | the size of each item (the default); | 9967 | die Größe jedes Objekts (die Vorgabe), |
| 9547 | @item Abschluss | 9968 | @item Abschluss |
| 9548 | the total size of the item's closure. | 9969 | die Gesamtgröße des Abschlusses des Objekts. |
| 9549 | @end table | 9970 | @end table |
| 9550 | 9971 | ||
| 9551 | @item --map-file=@var{file} | 9972 | @item --map-file=@var{Datei} |
| 9552 | Write a graphical map of disk usage in PNG format to @var{file}. | 9973 | Eine grafische Darstellung des Plattenplatzverbrauchs als eine |
| 9974 | PNG-formatierte Karte in die @var{Datei} schreiben. | ||
| 9553 | 9975 | ||
| 9554 | For the example above, the map looks like this: | 9976 | Für das Beispiel oben sieht die Karte so aus: |
| 9555 | 9977 | ||
| 9556 | @image{images/coreutils-size-map,5in,, map of Coreutils disk usage produced | 9978 | @image{images/coreutils-size-map,5in,, Karte der Plattenausnutzung der |
| 9557 | by @command{guix size}} | 9979 | Coreutils, erzeugt mit @command{guix size}} |
| 9558 | 9980 | ||
| 9559 | This option requires that | 9981 | Diese Befehlszeilenoption setzt voraus, dass |
| 9560 | @uref{http://wingolog.org/software/guile-charting/, Guile-Charting} be | 9982 | @uref{http://wingolog.org/software/guile-charting/, Guile-Charting} |
| 9561 | installed and visible in Guile's module search path. When that is not the | 9983 | installiert und im Suchpfad für Guile-Module sichtbar ist. Falls nicht, |
| 9562 | case, @command{guix size} fails as it tries to load it. | 9984 | schlägt @command{guix size} beim Versuch fehl, dieses Modul zu laden. |
| 9563 | 9985 | ||
| 9564 | @item --system=@var{System} | 9986 | @item --system=@var{System} |
| 9565 | @itemx -s @var{System} | 9987 | @itemx -s @var{System} |
| 9566 | Consider packages for @var{system}---e.g., @code{x86_64-linux}. | 9988 | Pakete für dieses @var{System} betrachten — z.B.@: für @code{x86_64-linux}. |
| 9567 | 9989 | ||
| 9568 | @end table | 9990 | @end table |
| 9569 | 9991 | ||
| 9570 | @node Aufruf von guix graph | 9992 | @node Aufruf von guix graph |
| 9571 | @section Invoking @command{guix graph} | 9993 | @section @command{guix graph} aufrufen |
| 9572 | 9994 | ||
| 9573 | @cindex DAG | 9995 | @cindex DAG |
| 9574 | @cindex @command{guix graph} | 9996 | @cindex @command{guix graph} |
| 9575 | @cindex Paketabhängigkeiten | 9997 | @cindex Paketabhängigkeiten |
| 9576 | Packages and their dependencies form a @dfn{graph}, specifically a directed | 9998 | Pakete und ihre Abhängigkeiten bilden einen @dfn{Graphen}, genauer gesagt |
| 9577 | acyclic graph (DAG). It can quickly become difficult to have a mental model | 9999 | einen gerichteten azyklischen Graphen (englisch »Directed Acyclic Graph«, |
| 9578 | of the package DAG, so the @command{guix graph} command provides a visual | 10000 | kurz DAG). Es kann schnell schwierig werden, ein Modell eines Paket-DAGs vor |
| 9579 | representation of the DAG. By default, @command{guix graph} emits a DAG | 10001 | dem geistigen Auge zu behalten, weshalb der Befehl @command{guix graph} eine |
| 9580 | representation in the input format of @uref{http://www.graphviz.org/, | 10002 | visuelle Darstellung des DAGs bietet. Das vorgegebene Verhalten von |
| 9581 | Graphviz}, so its output can be passed directly to the @command{dot} command | 10003 | @command{guix graph} ist, eine DAG-Darstellung im Eingabeformat von |
| 9582 | of Graphviz. It can also emit an HTML page with embedded JavaScript code to | 10004 | @uref{http://www.graphviz.org/, Graphviz} auszugeben, damit die Ausgabe |
| 9583 | display a ``chord diagram'' in a Web browser, using the | 10005 | direkt an den Befehl @command{dot} aus Graphviz weitergeleitet werden |
| 9584 | @uref{https://d3js.org/, d3.js} library, or emit Cypher queries to construct | 10006 | kann. Es kann aber auch eine HTML-Seite mit eingebettetem JavaScript-Code |
| 9585 | a graph in a graph database supporting the @uref{http://www.opencypher.org/, | 10007 | ausgegeben werden, um ein »Sehnendiagramm« (englisch »Chord Diagram«) in |
| 9586 | openCypher} query language. The general syntax is: | 10008 | einem Web-Browser anzuzeigen, mit Hilfe der Bibliothek |
| 10009 | @uref{https://d3js.org/, d3.js}, oder es können Cypher-Anfragen ausgegeben | ||
| 10010 | werden, mit denen eine die Anfragesprache @uref{http://www.opencypher.org/, | ||
| 10011 | openCypher} unterstützende Graph-Datenbank einen Graphen konstruieren | ||
| 10012 | kann. Die allgemeine Syntax ist: | ||
| 9587 | 10013 | ||
| 9588 | @example | 10014 | @example |
| 9589 | guix graph @var{options} @var{package}@dots{} | 10015 | guix graph @var{Optionen} @var{Pakete}@dots{} |
| 9590 | @end example | 10016 | @end example |
| 9591 | 10017 | ||
| 9592 | For example, the following command generates a PDF file representing the | 10018 | Zum Beispiel erzeugt der folgende Befehl eine PDF-Datei, die den Paket-DAG |
| 9593 | package DAG for the GNU@tie{}Core Utilities, showing its build-time | 10019 | für die GNU@tie{}Core Utilities darstellt, welcher ihre Abhängigkeiten zur |
| 9594 | dependencies: | 10020 | Erstellungszeit anzeigt: |
| 9595 | 10021 | ||
| 9596 | @example | 10022 | @example |
| 9597 | guix graph coreutils | dot -Tpdf > dag.pdf | 10023 | guix graph coreutils | dot -Tpdf > dag.pdf |
| 9598 | @end example | 10024 | @end example |
| 9599 | 10025 | ||
| 9600 | The output looks like this: | 10026 | Die Ausgabe sieht so aus: |
| 9601 | 10027 | ||
| 9602 | @image{images/coreutils-graph,2in,,Dependency graph of the GNU Coreutils} | 10028 | @image{images/coreutils-graph,2in,,Abhängigkeitsgraph der GNU Coreutils} |
| 9603 | 10029 | ||
| 9604 | Nice little graph, no? | 10030 | Ein netter, kleiner Graph, oder? |
| 9605 | 10031 | ||
| 9606 | But there is more than one graph! The one above is concise: it is the graph | 10032 | Aber es gibt mehr als eine Art von Graph! Der Graph oben ist kurz und knapp: |
| 9607 | of package objects, omitting implicit inputs such as GCC, libc, grep, etc. | 10033 | Es ist der Graph der Paketobjekte, ohne implizite Eingaben wie GCC, libc, |
| 9608 | It is often useful to have such a concise graph, but sometimes one may want | 10034 | grep und so weiter. Oft möchte man einen knappen Graphen sehen, aber |
| 9609 | to see more details. @command{guix graph} supports several types of graphs, | 10035 | manchmal will man auch mehr Details sehen. @command{guix graph} unterstützt |
| 9610 | allowing you to choose the level of detail: | 10036 | mehrere Typen von Graphen; Sie können den Detailgrad auswählen. |
| 9611 | 10037 | ||
| 9612 | @table @code | 10038 | @table @code |
| 9613 | @item package | 10039 | @item package |
| 9614 | This is the default type used in the example above. It shows the DAG of | 10040 | Der vorgegebene Typ aus dem Beispiel oben. Er zeigt den DAG der Paketobjekte |
| 9615 | package objects, excluding implicit dependencies. It is concise, but | 10041 | ohne implizite Abhängigkeiten. Er ist knapp, filtert aber viele Details |
| 9616 | filters out many details. | 10042 | heraus. |
| 9617 | 10043 | ||
| 9618 | @item reverse-package | 10044 | @item reverse-package |
| 9619 | This shows the @emph{reverse} DAG of packages. For example: | 10045 | Dies zeigt den @emph{umgekehrten} DAG der Pakete. Zum Beispiel: |
| 9620 | 10046 | ||
| 9621 | @example | 10047 | @example |
| 9622 | guix graph --type=reverse-package ocaml | 10048 | guix graph --type=reverse-package ocaml |
| 9623 | @end example | 10049 | @end example |
| 9624 | 10050 | ||
| 9625 | ...@: yields the graph of packages that depend on OCaml. | 10051 | ...@: yields the graph of packages that @emph{explicitly} depend on OCaml |
| 10052 | (if you are also interested in cases where OCaml is an implicit dependency, | ||
| 10053 | see @code{reverse-bag} below.) | ||
| 9626 | 10054 | ||
| 9627 | Note that for core packages this can yield huge graphs. If all you want is | 10055 | Beachten Sie, dass für Kernpakete damit gigantische Graphen entstehen |
| 9628 | to know the number of packages that depend on a given package, use | 10056 | können. Wenn Sie nur die Anzahl der Pakete wissen wollen, die von einem |
| 9629 | @command{guix refresh --list-dependent} (@pxref{Aufruf von guix refresh, | 10057 | gegebenen Paket abhängen, benutzen Sie @command{guix refresh |
| 10058 | --list-dependent} (siehe @ref{Aufruf von guix refresh, | ||
| 9630 | @option{--list-dependent}}). | 10059 | @option{--list-dependent}}). |
| 9631 | 10060 | ||
| 9632 | @item bag-emerged | 10061 | @item bag-emerged |
| 9633 | This is the package DAG, @emph{including} implicit inputs. | 10062 | Dies ist der Paket-DAG @emph{einschließlich} impliziter Eingaben. |
| 9634 | 10063 | ||
| 9635 | For instance, the following command: | 10064 | Zum Beispiel liefert der folgende Befehl: |
| 9636 | 10065 | ||
| 9637 | @example | 10066 | @example |
| 9638 | guix graph --type=bag-emerged coreutils | dot -Tpdf > dag.pdf | 10067 | guix graph --type=bag-emerged coreutils | dot -Tpdf > dag.pdf |
| 9639 | @end example | 10068 | @end example |
| 9640 | 10069 | ||
| 9641 | ...@: yields this bigger graph: | 10070 | …@: diesen größeren Graphen: |
| 9642 | 10071 | ||
| 9643 | @image{images/coreutils-bag-graph,,5in,Detailed dependency graph of the GNU | 10072 | @image{images/coreutils-bag-graph,,5in,Detaillierter Abhängigkeitsgraph der |
| 9644 | Coreutils} | 10073 | GNU Coreutils} |
| 9645 | 10074 | ||
| 9646 | At the bottom of the graph, we see all the implicit inputs of | 10075 | Am unteren Rand des Graphen sehen wir alle impliziten Eingaben des |
| 9647 | @var{gnu-build-system} (@pxref{Erstellungssysteme, @code{gnu-build-system}}). | 10076 | @var{gnu-build-system} (siehe @ref{Erstellungssysteme, @code{gnu-build-system}}). |
| 9648 | 10077 | ||
| 9649 | Now, note that the dependencies of these implicit inputs---that is, the | 10078 | Beachten Sie dabei aber, dass auch hier die Abhängigkeiten dieser impliziten |
| 9650 | @dfn{bootstrap dependencies} (@pxref{Bootstrapping})---are not shown here, | 10079 | Eingaben — d.h.@: die @dfn{Bootstrap-Abhängigkeiten} (siehe |
| 9651 | for conciseness. | 10080 | @ref{Bootstrapping}) — nicht gezeigt werden, damit der Graph knapper bleibt. |
| 9652 | 10081 | ||
| 9653 | @item bag | 10082 | @item bag |
| 9654 | Similar to @code{bag-emerged}, but this time including all the bootstrap | 10083 | Ähnlich wie @code{bag-emerged}, aber diesmal mit allen |
| 9655 | dependencies. | 10084 | Bootstrap-Abhängigkeiten. |
| 9656 | 10085 | ||
| 9657 | @item bag-with-origins | 10086 | @item bag-with-origins |
| 9658 | Similar to @code{bag}, but also showing origins and their dependencies. | 10087 | Ähnlich wie @code{bag}, aber auch mit den Ursprüngen und deren |
| 10088 | Abhängigkeiten. | ||
| 10089 | |||
| 10090 | @item reverse-bag | ||
| 10091 | This shows the @emph{reverse} DAG of packages. Unlike | ||
| 10092 | @code{reverse-package}, it also takes implicit dependencies into account. | ||
| 10093 | For example: | ||
| 10094 | |||
| 10095 | @example | ||
| 10096 | guix graph -t reverse-bag dune | ||
| 10097 | @end example | ||
| 10098 | |||
| 10099 | @noindent | ||
| 10100 | ...@: yields the graph of all packages that depend on Dune, directly or | ||
| 10101 | indirectly. Since Dune is an @emph{implicit} dependency of many packages | ||
| 10102 | @i{via} @code{dune-build-system}, this shows a large number of packages, | ||
| 10103 | whereas @code{reverse-package} would show very few if any. | ||
| 9659 | 10104 | ||
| 9660 | @item Ableitung | 10105 | @item Ableitung |
| 9661 | This is the most detailed representation: It shows the DAG of derivations | 10106 | Diese Darstellung ist am detailliertesten: Sie zeigt den DAG der Ableitungen |
| 9662 | (@pxref{Ableitungen}) and plain store items. Compared to the above | 10107 | (siehe @ref{Ableitungen}) und der einfachen Store-Objekte. Verglichen mit |
| 9663 | representation, many additional nodes are visible, including build scripts, | 10108 | obiger Darstellung sieht man viele zusätzliche Knoten einschließlich |
| 9664 | patches, Guile modules, etc. | 10109 | Erstellungs-Skripts, Patches, Guile-Module usw. |
| 9665 | 10110 | ||
| 9666 | For this type of graph, it is also possible to pass a @file{.drv} file name | 10111 | Für diesen Typ Graph kann auch der Name einer @file{.drv}-Datei anstelle |
| 9667 | instead of a package name, as in: | 10112 | eines Paketnamens angegeben werden, etwa so: |
| 9668 | 10113 | ||
| 9669 | @example | 10114 | @example |
| 9670 | guix graph -t derivation `guix system build -d my-config.scm` | 10115 | guix graph -t derivation `guix system build -d my-config.scm` |
| 9671 | @end example | 10116 | @end example |
| 9672 | 10117 | ||
| 9673 | @item module | 10118 | @item module |
| 9674 | This is the graph of @dfn{package modules} (@pxref{Paketmodule}). For | 10119 | Dies ist der Graph der @dfn{Paketmodule} (siehe @ref{Paketmodule}). Zum |
| 9675 | example, the following command shows the graph for the package module that | 10120 | Beispiel zeigt der folgende Befehl den Graph für das Paketmodul an, das das |
| 9676 | defines the @code{guile} package: | 10121 | @code{guile}-Paket definiert: |
| 9677 | 10122 | ||
| 9678 | @example | 10123 | @example |
| 9679 | guix graph -t module guile | dot -Tpdf > module-graph.pdf | 10124 | guix graph -t module guile | dot -Tpdf > modul-graph.pdf |
| 9680 | @end example | 10125 | @end example |
| 9681 | @end table | 10126 | @end table |
| 9682 | 10127 | ||
| 9683 | All the types above correspond to @emph{build-time dependencies}. The | 10128 | Alle oben genannten Typen entsprechen @emph{Abhängigkeiten zur |
| 9684 | following graph type represents the @emph{run-time dependencies}: | 10129 | Erstellungszeit}. Der folgende Graphtyp repräsentiert die |
| 10130 | @emph{Abhängigkeiten zur Laufzeit}: | ||
| 9685 | 10131 | ||
| 9686 | @table @code | 10132 | @table @code |
| 9687 | @item references | 10133 | @item references |
| 9688 | This is the graph of @dfn{references} of a package output, as returned by | 10134 | Dies ist der Graph der @dfn{Referenzen} einer Paketausgabe, wie |
| 9689 | @command{guix gc --references} (@pxref{Aufruf von guix gc}). | 10135 | @command{guix gc --references} sie liefert (siehe @ref{Aufruf von guix gc}). |
| 9690 | 10136 | ||
| 9691 | If the given package output is not available in the store, @command{guix | 10137 | Wenn die angegebene Paketausgabe im Store nicht verfügbar ist, versucht |
| 9692 | graph} attempts to obtain dependency information from substitutes. | 10138 | @command{guix graph}, die Abhängigkeitsinformationen aus Substituten zu |
| 10139 | holen. | ||
| 9693 | 10140 | ||
| 9694 | Here you can also pass a store file name instead of a package name. For | 10141 | Hierbei können Sie auch einen Store-Dateinamen statt eines Paketnamens |
| 9695 | example, the command below produces the reference graph of your profile | 10142 | angeben. Zum Beispiel generiert der Befehl unten den Referenzgraphen Ihres |
| 9696 | (which can be big!): | 10143 | Profils (der sehr groß werden kann!): |
| 9697 | 10144 | ||
| 9698 | @example | 10145 | @example |
| 9699 | guix graph -t references `readlink -f ~/.guix-profile` | 10146 | guix graph -t references `readlink -f ~/.guix-profile` |
| 9700 | @end example | 10147 | @end example |
| 9701 | 10148 | ||
| 9702 | @item referrers | 10149 | @item referrers |
| 9703 | This is the graph of the @dfn{referrers} of a store item, as returned by | 10150 | Dies ist der Graph der ein Store-Objekt @dfn{referenzierenden} Objekte, wie |
| 9704 | @command{guix gc --referrers} (@pxref{Aufruf von guix gc}). | 10151 | @command{guix gc --referrers} sie liefern würde (siehe @ref{Aufruf von guix gc}). |
| 9705 | 10152 | ||
| 9706 | This relies exclusively on local information from your store. For instance, | 10153 | Er basiert ausschließlich auf lokalen Informationen aus Ihrem Store. Nehmen |
| 9707 | let us suppose that the current Inkscape is available in 10 profiles on your | 10154 | wir zum Beispiel an, dass das aktuelle Inkscape in 10 Profilen verfügbar |
| 9708 | machine; @command{guix graph -t referrers inkscape} will show a graph rooted | 10155 | ist, dann wird @command{guix graph -t referrers inkscape} einen Graph |
| 9709 | at Inkscape and with those 10 profiles linked to it. | 10156 | zeigen, der bei Inkscape gewurzelt ist und Kanten zu diesen 10 Profilen hat. |
| 9710 | 10157 | ||
| 9711 | It can help determine what is preventing a store item from being garbage | 10158 | Ein solcher Graph kann dabei helfen, herauszufinden, weshalb ein |
| 9712 | collected. | 10159 | Store-Objekt nicht vom Müllsammler abgeholt werden kann. |
| 9713 | 10160 | ||
| 9714 | @end table | 10161 | @end table |
| 9715 | 10162 | ||
| 9716 | The available options are the following: | 10163 | Folgendes sind die verfügbaren Befehlszeilenoptionen: |
| 9717 | 10164 | ||
| 9718 | @table @option | 10165 | @table @option |
| 9719 | @item --type=@var{type} | 10166 | @item --type=@var{Typ} |
| 9720 | @itemx -t @var{type} | 10167 | @itemx -t @var{Typ} |
| 9721 | Produce a graph output of @var{type}, where @var{type} must be one of the | 10168 | Eine Graph-Ausgabe dieses @var{Typ}s generieren. Dieser @var{Typ} muss einer |
| 9722 | values listed above. | 10169 | der oben genannten Werte sein. |
| 9723 | 10170 | ||
| 9724 | @item --list-types | 10171 | @item --list-types |
| 9725 | List the supported graph types. | 10172 | Die unterstützten Graph-Typen auflisten. |
| 9726 | 10173 | ||
| 9727 | @item --backend=@var{backend} | 10174 | @item --backend=@var{Backend} |
| 9728 | @itemx -b @var{backend} | 10175 | @itemx -b @var{Backend} |
| 9729 | Produce a graph using the selected @var{backend}. | 10176 | Einen Graph mit Hilfe des ausgewählten @var{Backend}s generieren. |
| 9730 | 10177 | ||
| 9731 | @item --list-backends | 10178 | @item --list-backends |
| 9732 | List the supported graph backends. | 10179 | Die unterstützten Graph-Backends auflisten. |
| 9733 | 10180 | ||
| 9734 | Currently, the available backends are Graphviz and d3.js. | 10181 | Derzeit sind die verfügbaren Backends Graphviz und d3.js. |
| 9735 | 10182 | ||
| 9736 | @item --expression=@var{Ausdruck} | 10183 | @item --expression=@var{Ausdruck} |
| 9737 | @itemx -e @var{Ausdruck} | 10184 | @itemx -e @var{Ausdruck} |
| 9738 | Als Paket benutzen, wozu der @var{Ausdruck} ausgewertet wird. | 10185 | Als Paket benutzen, wozu der @var{Ausdruck} ausgewertet wird. |
| 9739 | 10186 | ||
| 9740 | This is useful to precisely refer to a package, as in this example: | 10187 | Dies ist nützlich, um genau ein bestimmtes Paket zu referenzieren, wie in |
| 10188 | diesem Beispiel: | ||
| 9741 | 10189 | ||
| 9742 | @example | 10190 | @example |
| 9743 | guix graph -e '(@@@@ (gnu packages commencement) gnu-make-final)' | 10191 | guix graph -e '(@@@@ (gnu packages commencement) gnu-make-final)' |
| @@ -9745,11 +10193,11 @@ guix graph -e '(@@@@ (gnu packages commencement) gnu-make-final)' | |||
| 9745 | 10193 | ||
| 9746 | @item --system=@var{System} | 10194 | @item --system=@var{System} |
| 9747 | @itemx -s @var{System} | 10195 | @itemx -s @var{System} |
| 9748 | Display the graph for @var{system}---e.g., @code{i686-linux}. | 10196 | Den Graphen für das @var{System} anzeigen — z.B.@: @code{i686-linux}. |
| 9749 | 10197 | ||
| 9750 | The package dependency graph is largely architecture-independent, but there | 10198 | Der Abhängigkeitsgraph ist größtenteils von der Systemarchitektur |
| 9751 | are some architecture-dependent bits that this option allows you to | 10199 | unabhängig, aber ein paar architekturabhängige Teile können Ihnen mit dieser |
| 9752 | visualize. | 10200 | Befehlszeilenoption visualisiert werden. |
| 9753 | @end table | 10201 | @end table |
| 9754 | 10202 | ||
| 9755 | 10203 | ||
| @@ -9760,17 +10208,18 @@ visualize. | |||
| 9760 | @cindex @command{guix publish} | 10208 | @cindex @command{guix publish} |
| 9761 | Der Zweck von @command{guix publish} ist, es Nutzern zu ermöglichen, ihren | 10209 | Der Zweck von @command{guix publish} ist, es Nutzern zu ermöglichen, ihren |
| 9762 | Store auf einfache Weise mit anderen zu teilen, die ihn dann als | 10210 | Store auf einfache Weise mit anderen zu teilen, die ihn dann als |
| 9763 | Substitutserver einsetzen können (@pxref{Substitute}). | 10211 | Substitutserver einsetzen können (siehe @ref{Substitute}). |
| 9764 | 10212 | ||
| 9765 | When @command{guix publish} runs, it spawns an HTTP server which allows | 10213 | Wenn @command{guix publish} ausgeführt wird, wird dadurch ein HTTP-Server |
| 9766 | anyone with network access to obtain substitutes from it. This means that | 10214 | gestartet, so dass jeder mit Netzwerkzugang davon Substitute beziehen |
| 9767 | any machine running Guix can also act as if it were a build farm, since the | 10215 | kann. Das bedeutet, dass jede Maschine, auf der Guix läuft, auch als |
| 9768 | HTTP interface is compatible with Hydra, the software behind the | 10216 | Build-Farm fungieren kann, weil die HTTP-Schnittstelle mit Hydra, der |
| 9769 | @code{@value{SUBSTITUTE-SERVER}} build farm. | 10217 | Software, mit der die offizielle Build-Farm @code{@value{SUBSTITUTE-SERVER}} |
| 10218 | betrieben wird, kompatibel ist. | ||
| 9770 | 10219 | ||
| 9771 | Um Sicherheit zu gewährleisten, wird jedes Substitut signiert, so dass | 10220 | Um Sicherheit zu gewährleisten, wird jedes Substitut signiert, so dass |
| 9772 | Empfänger dessen Authentizität und Integrität nachprüfen können (siehe | 10221 | Empfänger dessen Authentizität und Integrität nachprüfen können (siehe |
| 9773 | @pxref{Substitute}). Weil @command{guix publish} den Signierschlüssel des | 10222 | @ref{Substitute}). Weil @command{guix publish} den Signierschlüssel des |
| 9774 | Systems benutzt, der nur vom Systemadministrator gelesen werden kann, muss | 10223 | Systems benutzt, der nur vom Systemadministrator gelesen werden kann, muss |
| 9775 | es als der Administratornutzer »root« gestartet werden. Mit der | 10224 | es als der Administratornutzer »root« gestartet werden. Mit der |
| 9776 | Befehlszeilenoption @code{--user} werden Administratorrechte bald nach dem | 10225 | Befehlszeilenoption @code{--user} werden Administratorrechte bald nach dem |
| @@ -9778,7 +10227,7 @@ Start wieder abgelegt. | |||
| 9778 | 10227 | ||
| 9779 | Das Schlüsselpaar zum Signieren muss erzeugt werden, bevor @command{guix | 10228 | Das Schlüsselpaar zum Signieren muss erzeugt werden, bevor @command{guix |
| 9780 | publish} gestartet wird. Dazu können Sie @command{guix archive | 10229 | publish} gestartet wird. Dazu können Sie @command{guix archive |
| 9781 | --generate-key} ausführen (@pxref{Aufruf von guix archive}). | 10230 | --generate-key} ausführen (siehe @ref{Aufruf von guix archive}). |
| 9782 | 10231 | ||
| 9783 | Die allgemeine Syntax lautet: | 10232 | Die allgemeine Syntax lautet: |
| 9784 | 10233 | ||
| @@ -9793,7 +10242,7 @@ ein HTTP-Server gestartet, der auf Port 8080 lauscht: | |||
| 9793 | guix publish | 10242 | guix publish |
| 9794 | @end example | 10243 | @end example |
| 9795 | 10244 | ||
| 9796 | Sobald ein Server zum Veröffentlichen autorisiert wurde (@pxref{Aufruf von guix archive}), kann der Daemon davon Substitute herunterladen: | 10245 | Sobald ein Server zum Veröffentlichen autorisiert wurde (siehe @ref{Aufruf von guix archive}), kann der Daemon davon Substitute herunterladen: |
| 9797 | 10246 | ||
| 9798 | @example | 10247 | @example |
| 9799 | guix-daemon --substitute-urls=http://example.org:8080 | 10248 | guix-daemon --substitute-urls=http://example.org:8080 |
| @@ -9807,15 +10256,15 @@ Sie die Befehlszeilenoption @option{--cache} benutzen, die das | |||
| 9807 | Zwischenspeichern der komprimierten Archive aktiviert, bevor diese an die | 10256 | Zwischenspeichern der komprimierten Archive aktiviert, bevor diese an die |
| 9808 | Clients geschickt werden — siehe unten für Details. Mit dem Befehl | 10257 | Clients geschickt werden — siehe unten für Details. Mit dem Befehl |
| 9809 | @command{guix weather} haben Sie eine praktische Methode zur Hand, zu | 10258 | @command{guix weather} haben Sie eine praktische Methode zur Hand, zu |
| 9810 | überprüfen, was so ein Server anbietet (@pxref{Aufruf von guix weather}). | 10259 | überprüfen, was so ein Server anbietet (siehe @ref{Aufruf von guix weather}). |
| 9811 | 10260 | ||
| 9812 | Als Bonus dient @command{guix publish} auch als inhaltsadressierbarer | 10261 | Als Bonus dient @command{guix publish} auch als inhaltsadressierbarer |
| 9813 | Spiegelserver für Quelldateien, die in @code{origin}-Verbundsobjekten | 10262 | Spiegelserver für Quelldateien, die in @code{origin}-Verbundsobjekten |
| 9814 | eingetragen sind (@pxref{»origin«-Referenz}). Wenn wir zum Beispiel annehmen, | 10263 | eingetragen sind (siehe @ref{»origin«-Referenz}). Wenn wir zum Beispiel |
| 9815 | dass @command{guix publish} auf @code{example.org} läuft, liefert folgende | 10264 | annehmen, dass @command{guix publish} auf @code{example.org} läuft, liefert |
| 9816 | URL die rohe @file{hello-2.10.tar.gz}-Datei mit dem angegebenen SHA256-Hash | 10265 | folgende URL die rohe @file{hello-2.10.tar.gz}-Datei mit dem angegebenen |
| 9817 | als ihre Prüfsumme (dargestellt im @code{nix-base32}-Format, siehe | 10266 | SHA256-Hash als ihre Prüfsumme (dargestellt im @code{nix-base32}-Format, |
| 9818 | @pxref{Aufruf von guix hash}): | 10267 | siehe @ref{Aufruf von guix hash}): |
| 9819 | 10268 | ||
| 9820 | @example | 10269 | @example |
| 9821 | http://example.org/file/hello-2.10.tar.gz/sha256/0ssi1@dots{}ndq1i | 10270 | http://example.org/file/hello-2.10.tar.gz/sha256/0ssi1@dots{}ndq1i |
| @@ -9834,14 +10283,14 @@ http://example.org/log/gwspk@dots{}-guile-2.2.3 | |||
| 9834 | 10283 | ||
| 9835 | @noindent | 10284 | @noindent |
| 9836 | Ist der @command{guix-daemon} so eingestellt, dass er Erstellungsprotokolle | 10285 | Ist der @command{guix-daemon} so eingestellt, dass er Erstellungsprotokolle |
| 9837 | komprimiert abspeichert, wie es voreingestellt ist (@pxref{Aufruf des guix-daemon}), liefern @code{/log}-URLs das unveränderte komprimierte | 10286 | komprimiert abspeichert, wie es voreingestellt ist (siehe @ref{Aufruf des guix-daemon}), liefern @code{/log}-URLs das unveränderte komprimierte |
| 9838 | Protokoll, mit einer entsprechenden @code{Content-Type}- und/oder | 10287 | Protokoll, mit einer entsprechenden @code{Content-Type}- und/oder |
| 9839 | @code{Content-Encoding}-Kopfzeile. Wir empfehlen dabei, dass Sie den | 10288 | @code{Content-Encoding}-Kopfzeile. Wir empfehlen dabei, dass Sie den |
| 9840 | @command{guix-daemon} mit @code{--log-compression=gzip} ausführen, weil | 10289 | @command{guix-daemon} mit @code{--log-compression=gzip} ausführen, weil |
| 9841 | Web-Browser dieses Format automatisch dekomprimieren können, was bei | 10290 | Web-Browser dieses Format automatisch dekomprimieren können, was bei |
| 9842 | bzip2-Kompression nicht der Fall ist. | 10291 | bzip2-Kompression nicht der Fall ist. |
| 9843 | 10292 | ||
| 9844 | The following options are available: | 10293 | Folgende Befehlszeilenoptionen stehen zur Verfügung: |
| 9845 | 10294 | ||
| 9846 | @table @code | 10295 | @table @code |
| 9847 | @item --port=@var{Port} | 10296 | @item --port=@var{Port} |
| @@ -9856,7 +10305,7 @@ Schnittstelle zu akzeptieren. | |||
| 9856 | @item --user=@var{Benutzer} | 10305 | @item --user=@var{Benutzer} |
| 9857 | @itemx -u @var{Benutzer} | 10306 | @itemx -u @var{Benutzer} |
| 9858 | So früh wie möglich alle über die Berechtigungen des @var{Benutzer}s | 10307 | So früh wie möglich alle über die Berechtigungen des @var{Benutzer}s |
| 9859 | hinausgehenden Berechtigungen ablegen — d.h. sobald der Server-Socket | 10308 | hinausgehenden Berechtigungen ablegen — d.h.@: sobald der Server-Socket |
| 9860 | geöffnet und der Signierschlüssel gelesen wurde. | 10309 | geöffnet und der Signierschlüssel gelesen wurde. |
| 9861 | 10310 | ||
| 9862 | @item --compression[=@var{Stufe}] | 10311 | @item --compression[=@var{Stufe}] |
| @@ -9897,7 +10346,7 @@ Im Gegensatz dazu liefert, wenn @option{--cache} benutzt wird, die erste | |||
| 9897 | Anfrage nach einem Store-Objekt (über dessen @code{.narinfo}-URL) den | 10346 | Anfrage nach einem Store-Objekt (über dessen @code{.narinfo}-URL) den |
| 9898 | Fehlercode 404, und im Hintergrund wird ein Prozess gestartet, der das | 10347 | Fehlercode 404, und im Hintergrund wird ein Prozess gestartet, der das |
| 9899 | Archiv in den Zwischenspeicher einlagert (auf Englisch sagen wir »@dfn{bake} | 10348 | Archiv in den Zwischenspeicher einlagert (auf Englisch sagen wir »@dfn{bake} |
| 9900 | the archive«), d.h. seine @code{.narinfo} wird berechnet und das Archiv, | 10349 | the archive«), d.h.@: seine @code{.narinfo} wird berechnet und das Archiv, |
| 9901 | falls nötig, komprimiert. Sobald das Archiv im @var{Verzeichnis} | 10350 | falls nötig, komprimiert. Sobald das Archiv im @var{Verzeichnis} |
| 9902 | zwischengespeichert wurde, werden nachfolgende Anfragen erfolgreich sein und | 10351 | zwischengespeichert wurde, werden nachfolgende Anfragen erfolgreich sein und |
| 9903 | direkt aus dem Zwischenspeicher bedient, der garantiert, dass Clients | 10352 | direkt aus dem Zwischenspeicher bedient, der garantiert, dass Clients |
| @@ -9931,8 +10380,8 @@ nicht zugegriffen wurde und kein ihnen entsprechendes Objekt mehr im Store | |||
| 9931 | existiert. | 10380 | existiert. |
| 9932 | 10381 | ||
| 9933 | @item --nar-path=@var{Pfad} | 10382 | @item --nar-path=@var{Pfad} |
| 9934 | Den @var{Pfad} als Präfix für die URLs von »nar«-Dateien benutzen | 10383 | Den @var{Pfad} als Präfix für die URLs von »nar«-Dateien benutzen (siehe |
| 9935 | (@pxref{Aufruf von guix archive, normalized archives}). | 10384 | @ref{Aufruf von guix archive, normalized archives}). |
| 9936 | 10385 | ||
| 9937 | Vorgegeben ist, dass Nars unter einer URL mit | 10386 | Vorgegeben ist, dass Nars unter einer URL mit |
| 9938 | @code{/nar/gzip/@dots{}-coreutils-8.25} angeboten werden. Mit dieser | 10387 | @code{/nar/gzip/@dots{}-coreutils-8.25} angeboten werden. Mit dieser |
| @@ -9948,21 +10397,22 @@ Die Dateien müssen demselben Schlüsselpaar entsprechen (der private | |||
| 9948 | Schlüssel wird zum Signieren benutzt, der öffentliche Schlüssel wird | 10397 | Schlüssel wird zum Signieren benutzt, der öffentliche Schlüssel wird |
| 9949 | lediglich in den Metadaten der Signatur aufgeführt). Die Dateien müssen | 10398 | lediglich in den Metadaten der Signatur aufgeführt). Die Dateien müssen |
| 9950 | Schlüssel im kanonischen (»canonical«) S-Ausdruck-Format enthalten, wie es | 10399 | Schlüssel im kanonischen (»canonical«) S-Ausdruck-Format enthalten, wie es |
| 9951 | von @command{guix archive --generate-key} erzeugt wird (@pxref{Aufruf von guix archive}). Vorgegeben ist, dass @file{/etc/guix/signing-key.pub} und | 10400 | von @command{guix archive --generate-key} erzeugt wird (siehe @ref{Aufruf von guix archive}). Vorgegeben ist, dass @file{/etc/guix/signing-key.pub} und |
| 9952 | @file{/etc/guix/signing-key.sec} benutzt werden. | 10401 | @file{/etc/guix/signing-key.sec} benutzt werden. |
| 9953 | 10402 | ||
| 9954 | @item --repl[=@var{Port}] | 10403 | @item --repl[=@var{Port}] |
| 9955 | @itemx -r [@var{Port}] | 10404 | @itemx -r [@var{Port}] |
| 9956 | Einen Guile-REPL-Server (@pxref{REPL Servers,,, guile, GNU Guile Reference | 10405 | Einen Guile-REPL-Server (siehe @ref{REPL Servers,,, guile, GNU Guile |
| 9957 | Manual}) auf diesem @var{Port} starten (37146 ist voreingestellt). Dies kann | 10406 | Reference Manual}) auf diesem @var{Port} starten (37146 ist |
| 9958 | zur Fehlersuche auf einem laufenden »@command{guix publish}«-Server benutzt | 10407 | voreingestellt). Dies kann zur Fehlersuche auf einem laufenden |
| 9959 | werden. | 10408 | »@command{guix publish}«-Server benutzt werden. |
| 9960 | @end table | 10409 | @end table |
| 9961 | 10410 | ||
| 9962 | Enabling @command{guix publish} on Guix System is a one-liner: just | 10411 | @command{guix publish} auf einem »Guix System«-System zu aktivieren ist ein |
| 9963 | instantiate a @code{guix-publish-service-type} service in the | 10412 | Einzeiler: Instanziieren Sie einfach einen |
| 9964 | @code{services} field of the @code{operating-system} declaration | 10413 | @code{guix-publish-service-type}-Dienst im @code{services}-Feld Ihres |
| 9965 | (@pxref{guix-publish-service-type, @code{guix-publish-service-type}}). | 10414 | @code{operating-system}-Objekts zur Betriebssystemdeklaration (siehe |
| 10415 | @ref{guix-publish-service-type, @code{guix-publish-service-type}}). | ||
| 9966 | 10416 | ||
| 9967 | Falls Sie Guix aber auf einer »Fremddistribution« laufen lassen, folgen Sie | 10417 | Falls Sie Guix aber auf einer »Fremddistribution« laufen lassen, folgen Sie |
| 9968 | folgenden Anweisungen: | 10418 | folgenden Anweisungen: |
| @@ -9991,79 +10441,86 @@ Ihre Distribution verwendet. | |||
| 9991 | @end itemize | 10441 | @end itemize |
| 9992 | 10442 | ||
| 9993 | @node Aufruf von guix challenge | 10443 | @node Aufruf von guix challenge |
| 9994 | @section Invoking @command{guix challenge} | 10444 | @section @command{guix challenge} aufrufen |
| 9995 | 10445 | ||
| 9996 | @cindex Reproduzierbare Erstellungen | 10446 | @cindex Reproduzierbare Erstellungen |
| 9997 | @cindex verifiable builds | 10447 | @cindex verifizierbare Erstellungen |
| 9998 | @cindex @command{guix challenge} | 10448 | @cindex @command{guix challenge} |
| 9999 | @cindex challenge | 10449 | @cindex Anfechten |
| 10000 | Do the binaries provided by this server really correspond to the source code | 10450 | Entsprechen die von diesem Server gelieferten Binärdateien tatsächlich dem |
| 10001 | it claims to build? Is a package build process deterministic? These are the | 10451 | Quellcode, aus dem sie angeblich erzeugt wurden? Ist ein |
| 10002 | questions the @command{guix challenge} command attempts to answer. | 10452 | Paketerstellungsprozess deterministisch? Diese Fragen versucht @command{guix |
| 10003 | 10453 | challenge} zu beantworten. | |
| 10004 | The former is obviously an important question: Before using a substitute | 10454 | |
| 10005 | server (@pxref{Substitute}), one had better @emph{verify} that it provides | 10455 | Die erste Frage ist offensichtlich wichtig: Bevor man einen Substitutserver |
| 10006 | the right binaries, and thus @emph{challenge} it. The latter is what | 10456 | benutzt (siehe @ref{Substitute}), @emph{verifiziert} man besser, dass er |
| 10007 | enables the former: If package builds are deterministic, then independent | 10457 | die richtigen Binärdateien liefert, d.h.@: man @emph{fechtet sie an}. Die |
| 10008 | builds of the package should yield the exact same result, bit for bit; if a | 10458 | letzte Frage macht die erste möglich: Wenn Paketerstellungen deterministisch |
| 10009 | server provides a binary different from the one obtained locally, it may be | 10459 | sind, müssten voneinander unabhängige Erstellungen genau dasselbe Ergebnis |
| 10010 | either corrupt or malicious. | 10460 | liefern, Bit für Bit; wenn ein Server mit einer anderen Binärdatei als der |
| 10011 | 10461 | lokal erstellten Binärdatei antwortet, ist diese entweder beschädigt oder | |
| 10012 | We know that the hash that shows up in @file{/gnu/store} file names is the | 10462 | bösartig. |
| 10013 | hash of all the inputs of the process that built the file or | 10463 | |
| 10014 | directory---compilers, libraries, build scripts, | 10464 | Wir wissen, dass die in @file{/gnu/store}-Dateinamen auftauchende |
| 10015 | etc. (@pxref{Einführung}). Assuming deterministic build processes, one | 10465 | Hash-Prüfsumme der Hash aller Eingaben des Prozesses ist, mit dem die Datei |
| 10016 | store file name should map to exactly one build output. @command{guix | 10466 | oder das Verzeichnis erstellt wurde — Compiler, Bibliotheken, |
| 10017 | challenge} checks whether there is, indeed, a single mapping by comparing | 10467 | Erstellungsskripts und so weiter (siehe @ref{Einführung}). Wenn wir von |
| 10018 | the build outputs of several independent builds of any given store item. | 10468 | deterministischen Erstellungen ausgehen, sollte ein Store-Dateiname also auf |
| 10019 | 10469 | genau eine Erstellungsausgabe abgebildet werden. Mit @command{guix | |
| 10020 | The command output looks like this: | 10470 | challenge} prüft man, ob es tatsächlich eine eindeutige Abbildung gibt, |
| 10471 | indem die Erstellungsausgaben mehrerer unabhängiger Erstellungen jedes | ||
| 10472 | angegebenen Store-Objekts verglichen werden. | ||
| 10473 | |||
| 10474 | Die Ausgabe des Befehls sieht so aus: | ||
| 10021 | 10475 | ||
| 10022 | @smallexample | 10476 | @smallexample |
| 10023 | $ guix challenge --substitute-urls="https://@value{SUBSTITUTE-SERVER} https://guix.example.org" | 10477 | $ guix challenge --substitute-urls="https://@value{SUBSTITUTE-SERVER} https://guix.example.org" |
| 10024 | updating list of substitutes from 'https://@value{SUBSTITUTE-SERVER}'... 100.0% | 10478 | Liste der Substitute von »https://@value{SUBSTITUTE-SERVER}« wird aktualisiert … 100.0% |
| 10025 | updating list of substitutes from 'https://guix.example.org'... 100.0% | 10479 | Liste der Substitute von »https://guix.example.org« wird aktualisiert … 100.0% |
| 10026 | /gnu/store/@dots{}-openssl-1.0.2d contents differ: | 10480 | Inhalt von /gnu/store/@dots{}-openssl-1.0.2d verschieden: |
| 10027 | local hash: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q | 10481 | lokale Prüfsumme: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q |
| 10028 | https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-openssl-1.0.2d: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q | 10482 | https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-openssl-1.0.2d: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q |
| 10029 | https://guix.example.org/nar/@dots{}-openssl-1.0.2d: 1zy4fmaaqcnjrzzajkdn3f5gmjk754b43qkq47llbyak9z0qjyim | 10483 | https://guix.example.org/nar/@dots{}-openssl-1.0.2d: 1zy4fmaaqcnjrzzajkdn3f5gmjk754b43qkq47llbyak9z0qjyim |
| 10030 | /gnu/store/@dots{}-git-2.5.0 contents differ: | 10484 | Inhalt von /gnu/store/@dots{}-git-2.5.0 verschieden: |
| 10031 | local hash: 00p3bmryhjxrhpn2gxs2fy0a15lnip05l97205pgbk5ra395hyha | 10485 | lokale Prüfsumme: 00p3bmryhjxrhpn2gxs2fy0a15lnip05l97205pgbk5ra395hyha |
| 10032 | https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-git-2.5.0: 069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f | 10486 | https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-git-2.5.0: 069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f |
| 10033 | https://guix.example.org/nar/@dots{}-git-2.5.0: 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73 | 10487 | https://guix.example.org/nar/@dots{}-git-2.5.0: 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73 |
| 10034 | /gnu/store/@dots{}-pius-2.1.1 contents differ: | 10488 | Inhalt von /gnu/store/@dots{}-pius-2.1.1 verschieden: |
| 10035 | local hash: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax | 10489 | lokale Prüfsumme: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax |
| 10036 | https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-pius-2.1.1: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax | 10490 | https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-pius-2.1.1: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax |
| 10037 | https://guix.example.org/nar/@dots{}-pius-2.1.1: 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs | 10491 | https://guix.example.org/nar/@dots{}-pius-2.1.1: 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs |
| 10038 | 10492 | ||
| 10039 | @dots{} | 10493 | @dots{} |
| 10040 | 10494 | ||
| 10041 | 6,406 store items were analyzed: | 10495 | 6,406 Store-Objekte wurden analysiert: |
| 10042 | - 4,749 (74.1%) were identical | 10496 | — 4,749 (74.1%) waren identisch |
| 10043 | - 525 (8.2%) differed | 10497 | — 525 (8.2%) unterscheiden sich |
| 10044 | - 1,132 (17.7%) were inconclusive | 10498 | — 1,132 (17.7%) blieben ergebnislos |
| 10045 | @end smallexample | 10499 | @end smallexample |
| 10046 | 10500 | ||
| 10047 | @noindent | 10501 | @noindent |
| 10048 | In this example, @command{guix challenge} first scans the store to determine | 10502 | In diesem Beispiel wird mit @command{guix challenge} zuerst die Menge lokal |
| 10049 | the set of locally-built derivations---as opposed to store items that were | 10503 | erstellter Ableitungen im Store ermittelt — im Gegensatz zu von einem |
| 10050 | downloaded from a substitute server---and then queries all the substitute | 10504 | Substitserver heruntergeladenen Store-Objekten — und dann werden alle |
| 10051 | servers. It then reports those store items for which the servers obtained a | 10505 | Substitutserver angefragt. Diejenigen Store-Objekte, bei denen der Server |
| 10052 | result different from the local build. | 10506 | ein anderes Ergebnis berechnet hat als die lokale Erstellung, werden |
| 10053 | 10507 | gemeldet. | |
| 10054 | @cindex non-determinism, in package builds | 10508 | |
| 10055 | As an example, @code{guix.example.org} always gets a different answer. | 10509 | @cindex Nichtdeterminismus, in Paketerstellungen |
| 10056 | Conversely, @code{@value{SUBSTITUTE-SERVER}} agrees with local builds, | 10510 | Nehmen wir zum Beispiel an, @code{guix.example.org} gibt uns immer eine |
| 10057 | except in the case of Git. This might indicate that the build process of | 10511 | verschiedene Antwort, aber @code{@value{SUBSTITUTE-SERVER}} stimmt mit |
| 10058 | Git is non-deterministic, meaning that its output varies as a function of | 10512 | lokalen Erstellungen überein, @emph{außer} im Fall von Git. Das könnte ein |
| 10059 | various things that Guix does not fully control, in spite of building | 10513 | Hinweis sein, dass der Erstellungsprozess von Git nichtdeterministisch ist; |
| 10060 | packages in isolated environments (@pxref{Funktionalitäten}). Most common sources | 10514 | das bedeutet, seine Ausgabe variiert abhängig von verschiedenen Umständen, |
| 10061 | of non-determinism include the addition of timestamps in build results, the | 10515 | die Guix nicht vollends kontrollieren kann, obwohl es Pakete in isolierten |
| 10062 | inclusion of random numbers, and directory listings sorted by inode number. | 10516 | Umgebungen erstellt (siehe @ref{Funktionalitäten}). Zu den häufigsten Quellen von |
| 10063 | See @uref{https://reproducible-builds.org/docs/}, for more information. | 10517 | Nichtdeterminismus gehören das Einsetzen von Zeitstempeln innerhalb der |
| 10064 | 10518 | Erstellungsgebnisse, das Einsetzen von Zufallszahlen und von Auflistungen | |
| 10065 | To find out what is wrong with this Git binary, we can do something along | 10519 | eines Verzeichnisinhalts sortiert nach der Inode-Nummer. Siehe |
| 10066 | these lines (@pxref{Aufruf von guix archive}): | 10520 | @uref{https://reproducible-builds.org/docs/} für mehr Informationen. |
| 10521 | |||
| 10522 | Um herauszufinden, was mit dieser Git-Binärdatei nicht stimmt, können wir so | ||
| 10523 | etwas machen (siehe @ref{Aufruf von guix archive}): | ||
| 10067 | 10524 | ||
| 10068 | @example | 10525 | @example |
| 10069 | $ wget -q -O - https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-git-2.5.0 \ | 10526 | $ wget -q -O - https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-git-2.5.0 \ |
| @@ -10071,269 +10528,288 @@ $ wget -q -O - https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-git-2.5.0 \ | |||
| 10071 | $ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git | 10528 | $ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git |
| 10072 | @end example | 10529 | @end example |
| 10073 | 10530 | ||
| 10074 | This command shows the difference between the files resulting from the local | 10531 | Dieser Befehl zeigt die Unterschiede zwischen den Dateien, die sich aus der |
| 10075 | build, and the files resulting from the build on | 10532 | lokalen Erstellung ergeben, und den Dateien, die sich aus der Erstellung auf |
| 10076 | @code{@value{SUBSTITUTE-SERVER}} (@pxref{Overview, Comparing and Merging | 10533 | @code{@value{SUBSTITUTE-SERVER}} ergeben (siehe @ref{Overview, Comparing and |
| 10077 | Files,, diffutils, Comparing and Merging Files}). The @command{diff} | 10534 | Merging Files,, diffutils, Comparing and Merging Files}). Der Befehl |
| 10078 | command works great for text files. When binary files differ, a better | 10535 | @command{diff} funktioniert großartig für Textdateien. Wenn sich |
| 10079 | option is @uref{https://diffoscope.org/, Diffoscope}, a tool that helps | 10536 | Binärdateien unterscheiden, ist @uref{https://diffoscope.org/, Diffoscope} |
| 10080 | visualize differences for all kinds of files. | 10537 | die bessere Wahl: Es ist ein hilfreiches Werkzeug, das Unterschiede in allen |
| 10538 | Arten von Dateien visualisiert. | ||
| 10081 | 10539 | ||
| 10082 | Once you have done that work, you can tell whether the differences are due | 10540 | Sobald Sie mit dieser Arbeit fertig sind, können Sie erkennen, ob die |
| 10083 | to a non-deterministic build process or to a malicious server. We try hard | 10541 | Unterschiede aufgrund eines nichtdeterministischen Erstellungsprozesses oder |
| 10084 | to remove sources of non-determinism in packages to make it easier to verify | 10542 | wegen einem bösartigen Server zustande kommen. Wir geben uns Mühe, Quellen |
| 10085 | substitutes, but of course, this is a process that involves not just Guix, | 10543 | von Nichtdeterminismus in Paketen zu entfernen, damit Substitute leichter |
| 10086 | but a large part of the free software community. In the meantime, | 10544 | verifiziert werden können, aber natürlich ist an diesem Prozess nicht nur |
| 10087 | @command{guix challenge} is one tool to help address the problem. | 10545 | Guix, sondern ein großer Teil der Freie-Software-Gemeinschaft beteiligt. In |
| 10546 | der Zwischenzeit ist @command{guix challenge} eines der Werkzeuge, die das | ||
| 10547 | Problem anzugehen helfen. | ||
| 10088 | 10548 | ||
| 10089 | If you are writing packages for Guix, you are encouraged to check whether | 10549 | Wenn Sie ein Paket für Guix schreiben, ermutigen wir Sie, zu überprüfen, ob |
| 10090 | @code{@value{SUBSTITUTE-SERVER}} and other substitute servers obtain the | 10550 | @code{@value{SUBSTITUTE-SERVER}} und andere Substitutserver dasselbe |
| 10091 | same build result as you did with: | 10551 | Erstellungsergebnis bekommen, das Sie bekommen haben. Das geht so: |
| 10092 | 10552 | ||
| 10093 | @example | 10553 | @example |
| 10094 | $ guix challenge @var{package} | 10554 | $ guix challenge @var{Paket} |
| 10095 | @end example | 10555 | @end example |
| 10096 | 10556 | ||
| 10097 | @noindent | 10557 | @noindent |
| 10098 | where @var{package} is a package specification such as @code{guile@@2.0} or | 10558 | Dabei wird mit @var{Paket} eine Paketspezifikation wie @code{guile@@2.0} |
| 10099 | @code{glibc:debug}. | 10559 | oder @code{glibc:debug} bezeichnet. |
| 10100 | 10560 | ||
| 10101 | Die allgemeine Syntax lautet: | 10561 | Die allgemeine Syntax lautet: |
| 10102 | 10562 | ||
| 10103 | @example | 10563 | @example |
| 10104 | guix challenge @var{options} [@var{packages}@dots{}] | 10564 | guix challenge @var{Optionen} [@var{Pakete}@dots{}] |
| 10105 | @end example | 10565 | @end example |
| 10106 | 10566 | ||
| 10107 | When a difference is found between the hash of a locally-built item and that | 10567 | Wird ein Unterschied zwischen der Hash-Prüfsumme des lokal erstellten |
| 10108 | of a server-provided substitute, or among substitutes provided by different | 10568 | Objekts und dem vom Server gelieferten Substitut festgestellt, oder zwischen |
| 10109 | servers, the command displays it as in the example above and its exit code | 10569 | den Substituten von unterschiedlichen Servern, dann wird der Befehl dies wie |
| 10110 | is 2 (other non-zero exit codes denote other kinds of errors.) | 10570 | im obigen Beispiel anzeigen und mit dem Exit-Code 2 terminieren (andere |
| 10571 | Exit-Codes außer null stehen für andere Arten von Fehlern). | ||
| 10111 | 10572 | ||
| 10112 | The one option that matters is: | 10573 | Die eine, wichtige Befehlszeilenoption ist: |
| 10113 | 10574 | ||
| 10114 | @table @code | 10575 | @table @code |
| 10115 | 10576 | ||
| 10116 | @item --substitute-urls=@var{URLs} | 10577 | @item --substitute-urls=@var{URLs} |
| 10117 | Consider @var{urls} the whitespace-separated list of substitute source URLs | 10578 | Die @var{URLs} als durch Leerraumzeichen getrennte Liste von |
| 10118 | to compare to. | 10579 | Substitut-Quell-URLs benutzen. mit denen verglichen wird. |
| 10119 | 10580 | ||
| 10120 | @item --verbose | 10581 | @item --verbose |
| 10121 | @itemx -v | 10582 | @itemx -v |
| 10122 | Show details about matches (identical contents) in addition to information | 10583 | Details auch zu Übereinstimmungen (deren Inhalt identisch ist) ausgeben, |
| 10123 | about mismatches. | 10584 | zusätzlich zu Informationen über Unterschiede. |
| 10124 | 10585 | ||
| 10125 | @end table | 10586 | @end table |
| 10126 | 10587 | ||
| 10127 | @node Aufruf von guix copy | 10588 | @node Aufruf von guix copy |
| 10128 | @section Invoking @command{guix copy} | 10589 | @section @command{guix copy} aufrufen |
| 10129 | 10590 | ||
| 10130 | @cindex copy, of store items, over SSH | 10591 | @cindex Kopieren, von Store-Objekten, über SSH |
| 10131 | @cindex SSH, copy of store items | 10592 | @cindex SSH, Kopieren von Store-Objekten |
| 10132 | @cindex sharing store items across machines | 10593 | @cindex Store-Objekte zwischen Maschinen teilen |
| 10133 | @cindex transferring store items across machines | 10594 | @cindex Übertragen von Store-Objekten zwischen Maschinen |
| 10134 | The @command{guix copy} command copies items from the store of one machine | 10595 | Der Befehl @command{guix copy} kopiert Objekte aus dem Store einer Maschine |
| 10135 | to that of another machine over a secure shell (SSH) | 10596 | in den Store einer anderen Maschine mittels einer Secure-Shell-Verbindung |
| 10136 | connection@footnote{This command is available only when Guile-SSH was | 10597 | (kurz SSH-Verbindung)@footnote{Dieser Befehl steht nur dann zur Verfügung, |
| 10137 | found. @xref{Voraussetzungen}, for details.}. For example, the following | 10598 | wenn Guile-SSH gefunden werden kann. Siehe @ref{Voraussetzungen} für |
| 10138 | command copies the @code{coreutils} package, the user's profile, and all | 10599 | Details.}. Zum Beispiel kopiert der folgende Befehl das Paket |
| 10139 | their dependencies over to @var{host}, logged in as @var{user}: | 10600 | @code{coreutils}, das Profil des Benutzers und all deren Abhängigkeiten auf |
| 10140 | 10601 | den anderen @var{Rechner}, dazu meldet sich Guix als @var{Benutzer} an: | |
| 10141 | @example | 10602 | |
| 10142 | guix copy --to=@var{user}@@@var{host} \ | 10603 | @example |
| 10604 | guix copy --to=@var{Benutzer}@@@var{Rechner} \ | ||
| 10143 | coreutils `readlink -f ~/.guix-profile` | 10605 | coreutils `readlink -f ~/.guix-profile` |
| 10144 | @end example | 10606 | @end example |
| 10145 | 10607 | ||
| 10146 | If some of the items to be copied are already present on @var{host}, they | 10608 | Wenn manche der zu kopierenden Objekte schon auf dem anderen @var{Rechner} |
| 10147 | are not actually sent. | 10609 | vorliegen, werden sie tatsächlich @emph{nicht} übertragen. |
| 10148 | 10610 | ||
| 10149 | The command below retrieves @code{libreoffice} and @code{gimp} from | 10611 | Der folgende Befehl bezieht @code{libreoffice} und @code{gimp} von dem |
| 10150 | @var{host}, assuming they are available there: | 10612 | @var{Rechner}, vorausgesetzt sie sind dort verfügbar: |
| 10151 | 10613 | ||
| 10152 | @example | 10614 | @example |
| 10153 | guix copy --from=@var{host} libreoffice gimp | 10615 | guix copy --from=@var{host} libreoffice gimp |
| 10154 | @end example | 10616 | @end example |
| 10155 | 10617 | ||
| 10156 | The SSH connection is established using the Guile-SSH client, which is | 10618 | Die SSH-Verbindung wird mit dem Guile-SSH-Client hergestellt, der mit |
| 10157 | compatible with OpenSSH: it honors @file{~/.ssh/known_hosts} and | 10619 | OpenSSH kompatibel ist: Er berücksichtigt @file{~/.ssh/known_hosts} und |
| 10158 | @file{~/.ssh/config}, and uses the SSH agent for authentication. | 10620 | @file{~/.ssh/config} und verwendet den SSH-Agenten zur Authentifizierung. |
| 10159 | 10621 | ||
| 10160 | The key used to sign items that are sent must be accepted by the remote | 10622 | Der Schlüssel, mit dem gesendete Objekte signiert sind, muss von der |
| 10161 | machine. Likewise, the key used by the remote machine to sign items you are | 10623 | entfernten Maschine akzeptiert werden. Ebenso muss der Schlüssel, mit dem |
| 10162 | retrieving must be in @file{/etc/guix/acl} so it is accepted by your own | 10624 | die Objekte signiert sind, die Sie von der entfernten Maschine empfangen, in |
| 10163 | daemon. @xref{Aufruf von guix archive}, for more information about store item | 10625 | Ihrer Datei @file{/etc/guix/acl} eingetragen sein, damit Ihr Daemon sie |
| 10164 | authentication. | 10626 | akzeptiert. Siehe @ref{Aufruf von guix archive} für mehr Informationen über |
| 10627 | die Authentifizierung von Store-Objekten. | ||
| 10165 | 10628 | ||
| 10166 | Die allgemeine Syntax lautet: | 10629 | Die allgemeine Syntax lautet: |
| 10167 | 10630 | ||
| 10168 | @example | 10631 | @example |
| 10169 | guix copy [--to=@var{spec}|--from=@var{spec}] @var{items}@dots{} | 10632 | guix copy [--to=@var{Spezifikation}|--from=@var{Spezifikation}] @var{Objekte}@dots{} |
| 10170 | @end example | 10633 | @end example |
| 10171 | 10634 | ||
| 10172 | You must always specify one of the following options: | 10635 | Sie müssen immer eine der folgenden Befehlszeilenoptionen angeben: |
| 10173 | 10636 | ||
| 10174 | @table @code | 10637 | @table @code |
| 10175 | @item --to=@var{spec} | 10638 | @item --to=@var{Spezifikation} |
| 10176 | @itemx --from=@var{spec} | 10639 | @itemx --from=@var{Spezifikation} |
| 10177 | Specify the host to send to or receive from. @var{spec} must be an SSH spec | 10640 | Gibt den Rechner (den »Host«) an, an den oder von dem gesendet |
| 10178 | such as @code{example.org}, @code{charlie@@example.org}, or | 10641 | bzw. empfangen wird. Die @var{Spezifikation} muss eine SSH-Spezifikation |
| 10642 | sein wie @code{example.org}, @code{charlie@@example.org} oder | ||
| 10179 | @code{charlie@@example.org:2222}. | 10643 | @code{charlie@@example.org:2222}. |
| 10180 | @end table | 10644 | @end table |
| 10181 | 10645 | ||
| 10182 | The @var{items} can be either package names, such as @code{gimp}, or store | 10646 | Die @var{Objekte} können entweder Paketnamen wie @code{gimp} oder |
| 10183 | items, such as @file{/gnu/store/@dots{}-idutils-4.6}. | 10647 | Store-Objekte wie @file{/gnu/store/@dots{}-idutils-4.6} sein. |
| 10184 | 10648 | ||
| 10185 | When specifying the name of a package to send, it is first built if needed, | 10649 | Wenn ein zu sendendes Paket mit Namen angegeben wird, wird es erst erstellt, |
| 10186 | unless @option{--dry-run} was specified. Common build options are supported | 10650 | falls es nicht im Store vorliegt, außer @option{--dry-run} wurde angegeben |
| 10187 | (@pxref{Gemeinsame Erstellungsoptionen}). | 10651 | wurde. Alle gemeinsamen Erstellungsoptionen werden unterstützt (siehe |
| 10652 | @ref{Gemeinsame Erstellungsoptionen}). | ||
| 10188 | 10653 | ||
| 10189 | 10654 | ||
| 10190 | @node Aufruf von guix container | 10655 | @node Aufruf von guix container |
| 10191 | @section Invoking @command{guix container} | 10656 | @section @command{guix container} aufrufen |
| 10192 | @cindex container | 10657 | @cindex container |
| 10193 | @cindex @command{guix container} | 10658 | @cindex @command{guix container} |
| 10194 | @quotation Anmerkung | 10659 | @quotation Anmerkung |
| 10195 | As of version @value{VERSION}, this tool is experimental. The interface is | 10660 | Dieses Werkzeug ist noch experimentell, Stand Version @value{VERSION}. Die |
| 10196 | subject to radical change in the future. | 10661 | Schnittstelle wird sich in Zukunft grundlegend verändern. |
| 10197 | @end quotation | 10662 | @end quotation |
| 10198 | 10663 | ||
| 10199 | The purpose of @command{guix container} is to manipulate processes running | 10664 | Der Zweck von @command{guix container} ist, in einer isolierten Umgebung |
| 10200 | within an isolated environment, commonly known as a ``container'', typically | 10665 | (gemeinhin als »Container« bezeichnet) laufende Prozesse zu manipulieren, |
| 10201 | created by the @command{guix environment} (@pxref{Aufruf von guix environment}) and @command{guix system container} (@pxref{Aufruf von guix system}) commands. | 10666 | die typischerweise durch die Befehle @command{guix environment} (siehe |
| 10667 | @ref{Aufruf von guix environment}) und @command{guix system container} (siehe | ||
| 10668 | @ref{Aufruf von guix system}) erzeugt werden. | ||
| 10202 | 10669 | ||
| 10203 | Die allgemeine Syntax lautet: | 10670 | Die allgemeine Syntax lautet: |
| 10204 | 10671 | ||
| 10205 | @example | 10672 | @example |
| 10206 | guix container @var{action} @var{options}@dots{} | 10673 | guix container @var{Aktion} @var{Optionen}@dots{} |
| 10207 | @end example | 10674 | @end example |
| 10208 | 10675 | ||
| 10209 | @var{action} specifies the operation to perform with a container, and | 10676 | Mit @var{Aktion} wird die Operation angegeben, die in der isolierten |
| 10210 | @var{options} specifies the context-specific arguments for the action. | 10677 | Umgebung durchgeführt werden soll, und mit @var{Optionen} werden die |
| 10678 | kontextabhängigen Argumente an die Aktion angegeben. | ||
| 10211 | 10679 | ||
| 10212 | The following actions are available: | 10680 | Folgende Aktionen sind verfügbar: |
| 10213 | 10681 | ||
| 10214 | @table @code | 10682 | @table @code |
| 10215 | @item exec | 10683 | @item exec |
| 10216 | Execute a command within the context of a running container. | 10684 | Führt einen Befehl im Kontext der laufenden isolierten Umgebung aus. |
| 10217 | 10685 | ||
| 10218 | The syntax is: | 10686 | Die Syntax ist: |
| 10219 | 10687 | ||
| 10220 | @example | 10688 | @example |
| 10221 | guix container exec @var{pid} @var{program} @var{arguments}@dots{} | 10689 | guix container exec @var{PID} @var{Programm} @var{Argumente}@dots{} |
| 10222 | @end example | 10690 | @end example |
| 10223 | 10691 | ||
| 10224 | @var{pid} specifies the process ID of the running container. @var{program} | 10692 | @var{PID} gibt die Prozess-ID der laufenden isolierten Umgebung an. Als |
| 10225 | specifies an executable file name within the root file system of the | 10693 | @var{Programm} muss eine ausführbare Datei im Wurzeldateisystem der |
| 10226 | container. @var{arguments} are the additional options that will be passed | 10694 | isolierten Umgebung angegeben werden. Die @var{Argumente} sind die |
| 10227 | to @var{program}. | 10695 | zusätzlichen Befehlszeilenoptionen, die an das @var{Programm} übergeben |
| 10696 | werden. | ||
| 10228 | 10697 | ||
| 10229 | The following command launches an interactive login shell inside a Guix | 10698 | Der folgende Befehl startet eine interaktive Anmelde-Shell innerhalb einer |
| 10230 | system container, started by @command{guix system container}, and whose | 10699 | isolierten Guix-Systemumgebung, gestartet durch @command{guix system |
| 10231 | process ID is 9001: | 10700 | container}, dessen Prozess-ID 9001 ist: |
| 10232 | 10701 | ||
| 10233 | @example | 10702 | @example |
| 10234 | guix container exec 9001 /run/current-system/profile/bin/bash --login | 10703 | guix container exec 9001 /run/current-system/profile/bin/bash --login |
| 10235 | @end example | 10704 | @end example |
| 10236 | 10705 | ||
| 10237 | Note that the @var{pid} cannot be the parent process of a container. It | 10706 | Beachten Sie, dass die @var{PID} nicht der Elternprozess der isolierten |
| 10238 | must be PID 1 of the container or one of its child processes. | 10707 | Umgebung sein darf, sondern PID 1 in der isolierten Umgebung oder einer |
| 10708 | seiner Kindprozesse sein muss. | ||
| 10239 | 10709 | ||
| 10240 | @end table | 10710 | @end table |
| 10241 | 10711 | ||
| 10242 | @node Aufruf von guix weather | 10712 | @node Aufruf von guix weather |
| 10243 | @section Invoking @command{guix weather} | 10713 | @section @command{guix weather} aufrufen |
| 10244 | 10714 | ||
| 10245 | Occasionally you're grumpy because substitutes are lacking and you end up | 10715 | Manchmal werden Sie schlecht gelaunt sein, weil es zu wenige Substitute gibt |
| 10246 | building packages by yourself (@pxref{Substitute}). The @command{guix | 10716 | und die Pakete bei Ihnen selbst erstellt werden müssen (siehe |
| 10247 | weather} command reports on substitute availability on the specified servers | 10717 | @ref{Substitute}). Der Befehl @command{guix weather} zeigt einen Bericht |
| 10248 | so you can have an idea of whether you'll be grumpy today. It can sometimes | 10718 | über die Verfügbarkeit von Substituten auf den angegebenen Servern an, damit |
| 10249 | be useful info as a user, but it is primarily useful to people running | 10719 | Sie sich eine Vorstellung davon machen können, wie es heute um Ihre Laune |
| 10250 | @command{guix publish} (@pxref{Aufruf von guix publish}). | 10720 | bestellt sein wird. Manchmal bekommt man als Nutzer so hilfreiche |
| 10721 | Informationen, aber in erster Linie nützt der Befehl den Leuten, die | ||
| 10722 | @command{guix publish} benutzen (siehe @ref{Aufruf von guix publish}). | ||
| 10251 | 10723 | ||
| 10252 | @cindex statistics, for substitutes | 10724 | @cindex Statistik, für Substitute |
| 10253 | @cindex availability of substitutes | 10725 | @cindex Verfügbarkeit von Substituten |
| 10254 | @cindex substitute availability | 10726 | @cindex Substitutverfügbarkeit |
| 10255 | @cindex weather, substitute availability | 10727 | @cindex Wetter, Substitutverfügbarkeit |
| 10256 | Here's a sample run: | 10728 | Hier ist ein Beispiel für einen Aufruf davon: |
| 10257 | 10729 | ||
| 10258 | @example | 10730 | @example |
| 10259 | $ guix weather --substitute-urls=https://guix.example.org | 10731 | $ guix weather --substitute-urls=https://guix.example.org |
| 10260 | computing 5,872 package derivations for x86_64-linux... | 10732 | 5.872 Paketableitungen für x86_64-linux berechnen … |
| 10261 | looking for 6,128 store items on https://guix.example.org.. | 10733 | Nach 6.128 Store-Objekten von https://guix.example.org suchen … |
| 10262 | updating list of substitutes from 'https://guix.example.org'... 100.0% | 10734 | updating list of substitutes from 'https://guix.example.org'... 100.0% |
| 10263 | https://guix.example.org | 10735 | https://guix.example.org |
| 10264 | 43.4% substitutes available (2,658 out of 6,128) | 10736 | 43,4% Substitute verfügbar (2.658 von 6.128) |
| 10265 | 7,032.5 MiB of nars (compressed) | 10737 | 7.032,5 MiB an Nars (komprimiert) |
| 10266 | 19,824.2 MiB on disk (uncompressed) | 10738 | 19.824,2 MiB auf der Platte (unkomprimiert) |
| 10267 | 0.030 seconds per request (182.9 seconds in total) | 10739 | 0,030 Sekunden pro Anfrage (182,9 Sekunden insgesamt) |
| 10268 | 33.5 requests per second | 10740 | 33,5 Anfragen pro Sekunde |
| 10269 | 10741 | ||
| 10270 | 9.8% (342 out of 3,470) of the missing items are queued | 10742 | 9,8% (342 von 3.470) der fehlenden Objekte sind in der Warteschlange |
| 10271 | 867 queued builds | 10743 | Mindestens 867 Erstellungen in der Warteschlange |
| 10272 | x86_64-linux: 518 (59.7%) | 10744 | x86_64-linux: 518 (59,7%) |
| 10273 | i686-linux: 221 (25.5%) | 10745 | i686-linux: 221 (25,5%) |
| 10274 | aarch64-linux: 128 (14.8%) | 10746 | aarch64-linux: 128 (14,8%) |
| 10275 | build rate: 23.41 builds per hour | 10747 | Erstellungsgeschwindigkeit: 23,41 Erstellungen pro Stunde |
| 10276 | x86_64-linux: 11.16 builds per hour | 10748 | x86_64-linux: 11,16 Erstellungen pro Stunde |
| 10277 | i686-linux: 6.03 builds per hour | 10749 | i686-linux: 6,03 Erstellungen pro Stunde |
| 10278 | aarch64-linux: 6.41 builds per hour | 10750 | aarch64-linux: 6,41 Erstellungen pro Stunde |
| 10279 | @end example | 10751 | @end example |
| 10280 | 10752 | ||
| 10281 | @cindex continuous integration, statistics | 10753 | @cindex Kontinuierliche Integration, Statistik |
| 10282 | As you can see, it reports the fraction of all the packages for which | 10754 | Wie Sie sehen können, wird der Anteil unter allen Paketen angezeigt, für die |
| 10283 | substitutes are available on the server---regardless of whether substitutes | 10755 | auf dem Server Substitute verfügbar sind — unabhängig davon, ob Substitute |
| 10284 | are enabled, and regardless of whether this server's signing key is | 10756 | aktiviert sind, und unabhängig davon, ob der signierende Schlüssel des |
| 10285 | authorized. It also reports the size of the compressed archives (``nars'') | 10757 | Servers autorisiert ist. Es wird auch über die Größe der komprimierten |
| 10286 | provided by the server, the size the corresponding store items occupy in the | 10758 | Archive (die »Nars«) berichtet, die vom Server angeboten werden, sowie über |
| 10287 | store (assuming deduplication is turned off), and the server's throughput. | 10759 | die Größe, die die zugehörigen Store-Objekte im Store belegen würden (unter |
| 10288 | The second part gives continuous integration (CI) statistics, if the server | 10760 | der Annahme, dass Deduplizierung abgeschaltet ist) und über den Durchsatz |
| 10289 | supports it. In addition, using the @option{--coverage} option, | 10761 | des Servers. Der zweite Teil sind Statistiken zur Kontinuierlichen |
| 10290 | @command{guix weather} can list ``important'' package substitutes missing on | 10762 | Integration (englisch »Continuous Integration«, kurz CI), wenn der Server |
| 10291 | the server (see below). | 10763 | dies unterstützt. Des Weiteren kann @command{guix weather}, wenn es mit der |
| 10292 | 10764 | Befehlszeilenoption @option{--coverage} aufgerufen wird, »wichtige« | |
| 10293 | To achieve that, @command{guix weather} queries over HTTP(S) meta-data | 10765 | Paketsubstitute, die auf dem Server fehlen, auflisten (siehe unten). |
| 10294 | (@dfn{narinfos}) for all the relevant store items. Like @command{guix | 10766 | |
| 10295 | challenge}, it ignores signatures on those substitutes, which is innocuous | 10767 | Dazu werden mit @command{guix weather} Anfragen über HTTP(S) zu Metadaten |
| 10296 | since the command only gathers statistics and cannot install those | 10768 | (@dfn{Narinfos}) für alle relevanten Store-Objekte gestellt. Wie |
| 10297 | substitutes. | 10769 | @command{guix challenge} werden die Signaturen auf den Substituten |
| 10298 | 10770 | ignoriert, was harmlos ist, weil der Befehl nur Statistiken sammelt und | |
| 10299 | Among other things, it is possible to query specific system types and | 10771 | keine Substitute installieren kann. |
| 10300 | specific package sets. The available options are listed below. | 10772 | |
| 10773 | Neben anderen Dingen ist es möglich, bestimmte Systemtypen und bestimmte | ||
| 10774 | Paketmengen anzufragen. Die verfügbaren Befehlszeilenoptionen sind folgende: | ||
| 10301 | 10775 | ||
| 10302 | @table @code | 10776 | @table @code |
| 10303 | @item --substitute-urls=@var{URLs} | 10777 | @item --substitute-urls=@var{URLs} |
| 10304 | @var{urls} is the space-separated list of substitute server URLs to query. | 10778 | @var{URLs} ist eine leerzeichengetrennte Liste anzufragender |
| 10305 | When this option is omitted, the default set of substitute servers is | 10779 | Substitutserver-URLs. Wird diese Befehlszeilenoption weggelassen, wird die |
| 10306 | queried. | 10780 | vorgegebene Menge an Substitutservern angefragt. |
| 10307 | 10781 | ||
| 10308 | @item --system=@var{System} | 10782 | @item --system=@var{System} |
| 10309 | @itemx -s @var{System} | 10783 | @itemx -s @var{System} |
| 10310 | Query substitutes for @var{system}---e.g., @code{aarch64-linux}. This | 10784 | Substitute für das @var{System} anfragen — z.B.@: für |
| 10311 | option can be repeated, in which case @command{guix weather} will query | 10785 | @code{aarch64-linux}. Diese Befehlszeilenoption kann mehrmals angegeben |
| 10312 | substitutes for several system types. | 10786 | werden, wodurch @command{guix weather} die Substitute für mehrere |
| 10787 | Systemtypen anfragt. | ||
| 10313 | 10788 | ||
| 10314 | @item --manifest=@var{Datei} | 10789 | @item --manifest=@var{Datei} |
| 10315 | Instead of querying substitutes for all the packages, only ask for those | 10790 | Anstatt die Substitute für alle Pakete anzufragen, werden nur die in der |
| 10316 | specified in @var{file}. @var{file} must contain a @dfn{manifest}, as with | 10791 | @var{Datei} angegebenen Pakete erfragt. Die @var{Datei} muss ein |
| 10317 | the @code{-m} option of @command{guix package} (@pxref{Aufruf von guix package}). | 10792 | @dfn{Manifest} enthalten, wie bei der Befehlszeilenoption @code{-m} von |
| 10318 | 10793 | @command{guix package} (siehe @ref{Aufruf von guix package}). | |
| 10319 | @item --coverage[=@var{count}] | 10794 | |
| 10320 | @itemx -c [@var{count}] | 10795 | @item --coverage[=@var{Anzahl}] |
| 10321 | Report on substitute coverage for packages: list packages with at least | 10796 | @itemx -c [@var{Anzahl}] |
| 10322 | @var{count} dependents (zero by default) for which substitutes are | 10797 | Einen Bericht über die Substitutabdeckung für Pakete ausgeben, d.h.@: Pakete |
| 10323 | unavailable. Dependent packages themselves are not listed: if @var{b} | 10798 | mit mindestens @var{Anzahl}-vielen Abhängigen (voreingestellt mindestens |
| 10324 | depends on @var{a} and @var{a} has no substitutes, only @var{a} is listed, | 10799 | null) anzeigen, für die keine Substitute verfügbar sind. Die abhängigen |
| 10325 | even though @var{b} usually lacks substitutes as well. The result looks | 10800 | Pakete werden selbst nicht aufgeführt: Wenn @var{b} von @var{a} abhängt und |
| 10326 | like this: | 10801 | Substitute für @var{a} fehlen, wird nur @var{a} aufgeführt, obwohl dann in |
| 10802 | der Regel auch die Substitute für @var{b} fehlen. Das Ergebnis sieht so aus: | ||
| 10327 | 10803 | ||
| 10328 | @example | 10804 | @example |
| 10329 | $ guix weather --substitute-urls=https://ci.guix.de.info -c 10 | 10805 | $ guix weather --substitute-urls=https://ci.guix.de.info -c 10 |
| 10330 | computing 8,983 package derivations for x86_64-linux... | 10806 | 8.983 Paketableitungen für x86_64-linux berechnen … |
| 10331 | looking for 9,343 store items on https://ci.guix.de.info... | 10807 | Nach 9.343 Store-Objekten von https://ci.guix.de.info suchen … |
| 10332 | updating substitutes from 'https://ci.guix.de.info'... 100.0% | 10808 | Liste der Substitute von »https://ci.guix.de.info« wird aktualisiert … 100.0% |
| 10333 | https://ci.guix.de.info | 10809 | https://ci.guix.de.info |
| 10334 | 64.7% substitutes available (6,047 out of 9,343) | 10810 | 64.7% Substitute verfügbar (6.047 von 9.343) |
| 10335 | @dots{} | 10811 | @dots{} |
| 10336 | 2502 packages are missing from 'https://ci.guix.de.info' for 'x86_64-linux', among which: | 10812 | 2502 Pakete fehlen auf »https://ci.guix.de.info« für »x86_64-linux«, darunter sind: |
| 10337 | 58 kcoreaddons@@5.49.0 /gnu/store/@dots{}-kcoreaddons-5.49.0 | 10813 | 58 kcoreaddons@@5.49.0 /gnu/store/@dots{}-kcoreaddons-5.49.0 |
| 10338 | 46 qgpgme@@1.11.1 /gnu/store/@dots{}-qgpgme-1.11.1 | 10814 | 46 qgpgme@@1.11.1 /gnu/store/@dots{}-qgpgme-1.11.1 |
| 10339 | 37 perl-http-cookiejar@@0.008 /gnu/store/@dots{}-perl-http-cookiejar-0.008 | 10815 | 37 perl-http-cookiejar@@0.008 /gnu/store/@dots{}-perl-http-cookiejar-0.008 |
| @@ -10352,13 +10828,14 @@ simply fail to build. | |||
| 10352 | @node Aufruf von guix processes | 10828 | @node Aufruf von guix processes |
| 10353 | @section @command{guix processes} aufrufen | 10829 | @section @command{guix processes} aufrufen |
| 10354 | 10830 | ||
| 10355 | The @command{guix processes} command can be useful to developers and system | 10831 | Der Befehl @command{guix processes} kann sich für Entwickler und |
| 10356 | administrators, especially on multi-user machines and on build farms: it | 10832 | Systemadministratoren als nützlich erweisen, besonders auf Maschinen mit |
| 10357 | lists the current sessions (connections to the daemon), as well as | 10833 | mehreren Nutzern und auf Build-Farms. Damit werden die aktuellen Sitzungen |
| 10358 | information about the processes involved@footnote{Remote sessions, when | 10834 | (also Verbindungen zum Daemon) sowie Informationen über die beteiligten |
| 10359 | @command{guix-daemon} is started with @option{--listen} specifying a TCP | 10835 | Prozesse aufgelistet@footnote{Entfernte Sitzungen, wenn |
| 10360 | endpoint, are @emph{not} listed.}. Here's an example of the information it | 10836 | @command{guix-daemon} mit @option{--listen} unter Angabe eines TCP-Endpunkts |
| 10361 | returns: | 10837 | gestartet wurde, werden @emph{nicht} aufgelistet.}. Hier ist ein Beispiel |
| 10838 | für die davon gelieferten Informationen: | ||
| 10362 | 10839 | ||
| 10363 | @example | 10840 | @example |
| 10364 | $ sudo guix processes | 10841 | $ sudo guix processes |
| @@ -10381,23 +10858,25 @@ ChildProcess: 27733: guix offload x86_64-linux 7200 1 28800 | |||
| 10381 | ChildProcess: 27793: guix offload x86_64-linux 7200 1 28800 | 10858 | ChildProcess: 27793: guix offload x86_64-linux 7200 1 28800 |
| 10382 | @end example | 10859 | @end example |
| 10383 | 10860 | ||
| 10384 | In this example we see that @command{guix-daemon} has three clients: | 10861 | In diesem Beispiel sehen wir, dass @command{guix-daemon} drei Clients hat: |
| 10385 | @command{guix environment}, @command{guix publish}, and the Cuirass | 10862 | @command{guix environment}, @command{guix publish} und das Werkzeug Cuirass |
| 10386 | continuous integration tool; their process identifier (PID) is given by the | 10863 | zur Kontinuierlichen Integration. Deren Prozesskennung (PID) ist jeweils im |
| 10387 | @code{ClientPID} field. The @code{SessionPID} field gives the PID of the | 10864 | @code{ClientPID}-Feld zu sehen. Das Feld @code{SessionPID} zeigt die PID des |
| 10388 | @command{guix-daemon} sub-process of this particular session. | 10865 | @command{guix-daemon}-Unterprozesses dieser bestimmten Sitzung. |
| 10389 | 10866 | ||
| 10390 | The @code{LockHeld} fields show which store items are currently locked by | 10867 | Das Feld @code{LockHeld} zeigt an, welche Store-Objekte derzeit durch die |
| 10391 | this session, which corresponds to store items being built or substituted | 10868 | Sitzung gesperrt sind, d.h.@: welche Store-Objekte zur Zeit erstellt oder |
| 10392 | (the @code{LockHeld} field is not displayed when @command{guix processes} is | 10869 | substituiert werden (das @code{LockHeld}-Feld wird nicht angezeigt, wenn |
| 10393 | not running as root.) Last, by looking at the @code{ChildProcess} field, we | 10870 | @command{guix processes} nicht als Administratornutzer root ausgeführt |
| 10394 | understand that these three builds are being offloaded (@pxref{Auslagern des Daemons einrichten}). | 10871 | wird). Letztlich sehen wir am @code{ChildProcess}-Feld oben, dass diese drei |
| 10872 | Erstellungen hier ausgelagert (englisch »offloaded«) werden (siehe | ||
| 10873 | @ref{Auslagern des Daemons einrichten}). | ||
| 10395 | 10874 | ||
| 10396 | The output is in Recutils format so we can use the handy @command{recsel} | 10875 | Die Ausgabe ist im Recutils-Format, damit wir den praktischen |
| 10397 | command to select sessions of interest (@pxref{Selection Expressions,,, | 10876 | @command{recsel}-Befehl benutzen können, um uns interessierende Sitzungen |
| 10398 | recutils, GNU recutils manual}). As an example, the command shows the | 10877 | auszuwählen (siehe @ref{Selection Expressions,,, recutils, GNU recutils |
| 10399 | command line and PID of the client that triggered the build of a Perl | 10878 | manual}). Zum Beispiel zeigt dieser Befehl die Befehlszeile und PID des |
| 10400 | package: | 10879 | Clients an, der die Erstellung des Perl-Pakets ausgelöst hat: |
| 10401 | 10880 | ||
| 10402 | @example | 10881 | @example |
| 10403 | $ sudo guix processes | \ | 10882 | $ sudo guix processes | \ |
| @@ -10411,11 +10890,11 @@ ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{} | |||
| 10411 | @chapter Systemkonfiguration | 10890 | @chapter Systemkonfiguration |
| 10412 | 10891 | ||
| 10413 | @cindex Systemkonfiguration | 10892 | @cindex Systemkonfiguration |
| 10414 | Die Guix-Systemdistribution unterstützt einen Mechanismus zur konsistenten | 10893 | Die »Guix System«-Distribution unterstützt einen Mechanismus zur |
| 10415 | Konfiguration des gesamten Systems. Damit meinen wir, dass alle Aspekte der | 10894 | konsistenten Konfiguration des gesamten Systems. Damit meinen wir, dass alle |
| 10416 | globalen Systemkonfiguration an einem Ort stehen, d.h. die zur Verfügung | 10895 | Aspekte der globalen Systemkonfiguration an einem Ort stehen, d.h.@: die zur |
| 10417 | gestellten Systemdienste, die Zeitzone und Einstellungen zur Locale (also | 10896 | Verfügung gestellten Systemdienste, die Zeitzone und Einstellungen zur |
| 10418 | die Anpassung an regionale Gepflogenheiten und Sprachen) sowie | 10897 | Locale (also die Anpassung an regionale Gepflogenheiten und Sprachen) sowie |
| 10419 | Benutzerkonten. Sie alle werden an derselben Stelle deklariert. So eine | 10898 | Benutzerkonten. Sie alle werden an derselben Stelle deklariert. So eine |
| 10420 | @dfn{Systemkonfiguration} kann @dfn{instanziiert}, also umgesetzt, werden. | 10899 | @dfn{Systemkonfiguration} kann @dfn{instanziiert}, also umgesetzt, werden. |
| 10421 | 10900 | ||
| @@ -10423,7 +10902,7 @@ Benutzerkonten. Sie alle werden an derselben Stelle deklariert. So eine | |||
| 10423 | Einer der Vorteile, die ganze Systemkonfiguration unter die Kontrolle von | 10902 | Einer der Vorteile, die ganze Systemkonfiguration unter die Kontrolle von |
| 10424 | Guix zu stellen, ist, dass so transaktionelle Systemaktualisierungen möglich | 10903 | Guix zu stellen, ist, dass so transaktionelle Systemaktualisierungen möglich |
| 10425 | werden und dass diese rückgängig gemacht werden können, wenn das | 10904 | werden und dass diese rückgängig gemacht werden können, wenn das |
| 10426 | aktualisierte System nicht richtig funktioniert (@pxref{Funktionalitäten}). Ein | 10905 | aktualisierte System nicht richtig funktioniert (siehe @ref{Funktionalitäten}). Ein |
| 10427 | anderer Vorteil ist, dass dieselbe Systemkonfiguration leicht auf einer | 10906 | anderer Vorteil ist, dass dieselbe Systemkonfiguration leicht auf einer |
| 10428 | anderen Maschine oder zu einem späteren Zeitpunkt benutzt werden kann, ohne | 10907 | anderen Maschine oder zu einem späteren Zeitpunkt benutzt werden kann, ohne |
| 10429 | dazu eine weitere Schicht administrativer Werkzeuge über den systemeigenen | 10908 | dazu eine weitere Schicht administrativer Werkzeuge über den systemeigenen |
| @@ -10441,6 +10920,7 @@ Systemdienste zu unterstützen. | |||
| 10441 | * Dateisysteme:: Die Dateisystemeinbindungen konfigurieren. | 10920 | * Dateisysteme:: Die Dateisystemeinbindungen konfigurieren. |
| 10442 | * Zugeordnete Geräte:: Näheres zu blockorientierten Speichermedien. | 10921 | * Zugeordnete Geräte:: Näheres zu blockorientierten Speichermedien. |
| 10443 | * Benutzerkonten:: Benutzerkonten festlegen. | 10922 | * Benutzerkonten:: Benutzerkonten festlegen. |
| 10923 | * Tastaturbelegung:: Wie das System Tastendrücke interpretiert. | ||
| 10444 | * Locales:: Sprache und kulturelle Konventionen. | 10924 | * Locales:: Sprache und kulturelle Konventionen. |
| 10445 | * Dienste:: Systemdienste festlegen. | 10925 | * Dienste:: Systemdienste festlegen. |
| 10446 | * Setuid-Programme:: Mit Administratorrechten startende Programme. | 10926 | * Setuid-Programme:: Mit Administratorrechten startende Programme. |
| @@ -10449,7 +10929,8 @@ Systemdienste zu unterstützen. | |||
| 10449 | * Initiale RAM-Disk:: Linux-libre hochfahren. | 10929 | * Initiale RAM-Disk:: Linux-libre hochfahren. |
| 10450 | * Bootloader-Konfiguration:: Den Bootloader konfigurieren. | 10930 | * Bootloader-Konfiguration:: Den Bootloader konfigurieren. |
| 10451 | * Aufruf von guix system:: Instanziierung einer Systemkonfiguration. | 10931 | * Aufruf von guix system:: Instanziierung einer Systemkonfiguration. |
| 10452 | * Running Guix in a VM:: How to run Guix System in a virtual machine. | 10932 | * Guix in einer VM starten:: Wie man »Guix System« in einer virtuellen |
| 10933 | Maschine startet. | ||
| 10453 | * Dienste definieren:: Neue Dienstdefinitionen hinzufügen. | 10934 | * Dienste definieren:: Neue Dienstdefinitionen hinzufügen. |
| 10454 | @end menu | 10935 | @end menu |
| 10455 | 10936 | ||
| @@ -10458,7 +10939,7 @@ Systemdienste zu unterstützen. | |||
| 10458 | 10939 | ||
| 10459 | Das Betriebssystem können Sie konfigurieren, indem Sie eine | 10940 | Das Betriebssystem können Sie konfigurieren, indem Sie eine |
| 10460 | @code{operating-system}-Deklaration in einer Datei speichern, die Sie dann | 10941 | @code{operating-system}-Deklaration in einer Datei speichern, die Sie dann |
| 10461 | dem Befehl @command{guix system} übergeben (@pxref{Aufruf von guix system}). Eine einfache Konfiguration mit den vorgegebenen Systemdiensten | 10942 | dem Befehl @command{guix system} übergeben (siehe @ref{Aufruf von guix system}). Eine einfache Konfiguration mit den vorgegebenen Systemdiensten |
| 10462 | und dem vorgegebenen Linux-Libre als Kernel und mit einer initialen RAM-Disk | 10943 | und dem vorgegebenen Linux-Libre als Kernel und mit einer initialen RAM-Disk |
| 10463 | und einem Bootloader, sieht so aus: | 10944 | und einem Bootloader, sieht so aus: |
| 10464 | 10945 | ||
| @@ -10473,7 +10954,7 @@ sind optional, wie etwa @code{packages} und @code{services}, sind optional; | |||
| 10473 | werden sie nicht angegeben, nehmen sie einen Vorgabewert an. | 10954 | werden sie nicht angegeben, nehmen sie einen Vorgabewert an. |
| 10474 | 10955 | ||
| 10475 | Im Folgenden werden die Effekte von einigen der wichtigsten Feldern | 10956 | Im Folgenden werden die Effekte von einigen der wichtigsten Feldern |
| 10476 | erläutert (@pxref{»operating-system«-Referenz}, für Details zu allen | 10957 | erläutert (siehe @ref{»operating-system«-Referenz} für Details zu allen |
| 10477 | verfügbaren Feldern), dann wird beschrieben, wie man das Betriebssystem mit | 10958 | verfügbaren Feldern), dann wird beschrieben, wie man das Betriebssystem mit |
| 10478 | @command{guix system} @dfn{instanziieren} kann. | 10959 | @command{guix system} @dfn{instanziieren} kann. |
| 10479 | 10960 | ||
| @@ -10496,24 +10977,23 @@ Fall sollte das @code{bootloader}-Feld in etwa so aussehen: | |||
| 10496 | (target "/boot/efi")) | 10977 | (target "/boot/efi")) |
| 10497 | @end example | 10978 | @end example |
| 10498 | 10979 | ||
| 10499 | Siehe den Abschnitt @xref{Bootloader-Konfiguration} für weitere | 10980 | Siehe den Abschnitt @ref{Bootloader-Konfiguration} für weitere Informationen |
| 10500 | Informationen zu den verfügbaren Konfigurationsoptionen. | 10981 | zu den verfügbaren Konfigurationsoptionen. |
| 10501 | 10982 | ||
| 10502 | @unnumberedsubsec global sichtbare Pakete | 10983 | @unnumberedsubsec global sichtbare Pakete |
| 10503 | 10984 | ||
| 10504 | @vindex %base-packages | 10985 | @vindex %base-packages |
| 10505 | Im Feld @code{packages} werden Pakete aufgeführt, die auf dem System für | 10986 | Im Feld @code{packages} werden Pakete aufgeführt, die auf dem System für |
| 10506 | alle Benutzerkonten global sichtbar sein sollen, d.h. in der | 10987 | alle Benutzerkonten global sichtbar sein sollen, d.h.@: in der |
| 10507 | @code{PATH}-Umgebungsvariablen jedes Nutzers, zusätzlich zu den | 10988 | @code{PATH}-Umgebungsvariablen jedes Nutzers, zusätzlich zu den |
| 10508 | nutzereigenen Profilen (@pxref{Aufruf von guix package}). Die Variable | 10989 | nutzereigenen Profilen (siehe @ref{Aufruf von guix package}). Die Variable |
| 10509 | @var{%base-packages} bietet alle Werkzeuge, die man für grundlegende Nutzer- | 10990 | @var{%base-packages} bietet alle Werkzeuge, die man für grundlegende Nutzer- |
| 10510 | und Administratortätigkeiten erwarten würde, einschließlich der GNU Core | 10991 | und Administratortätigkeiten erwarten würde, einschließlich der GNU Core |
| 10511 | Utilities, der GNU Networking Utilities, des leichtgewichtigen Texteditors | 10992 | Utilities, der GNU Networking Utilities, des leichtgewichtigen Texteditors |
| 10512 | GNU Zile, @command{find}, @command{grep} und so weiter. Obiges Beispiel fügt | 10993 | GNU Zile, @command{find}, @command{grep} und so weiter. Obiges Beispiel fügt |
| 10513 | zu diesen noch das Programm GNU@tie{}Screen hinzu, welches aus dem Modul | 10994 | zu diesen noch das Programm GNU@tie{}Screen hinzu, welches aus dem Modul |
| 10514 | @code{(gnu packages screen)} genommen wird (@pxref{Paketmodule}). Die | 10995 | @code{(gnu packages screen)} genommen wird (siehe @ref{Paketmodule}). Die Syntax @code{(list package output)} kann benutzt werden, um |
| 10515 | Syntax @code{(list package output)} kann benutzt werden, um eine bestimmte | 10996 | eine bestimmte Ausgabe eines Pakets auszuwählen: |
| 10516 | Ausgabe eines Pakets auszuwählen: | ||
| 10517 | 10997 | ||
| 10518 | @lisp | 10998 | @lisp |
| 10519 | (use-modules (gnu packages)) | 10999 | (use-modules (gnu packages)) |
| @@ -10549,24 +11029,26 @@ Name-Versions-Paar zu Grunde liegende Paket liefert: | |||
| 10549 | 11029 | ||
| 10550 | @cindex services | 11030 | @cindex services |
| 10551 | @vindex %base-services | 11031 | @vindex %base-services |
| 10552 | The @code{services} field lists @dfn{system services} to be made available | 11032 | Das Feld @code{services} listet @dfn{Systemdienste} auf, die zur Verfügung |
| 10553 | when the system starts (@pxref{Dienste}). The @code{operating-system} | 11033 | stehen sollen, wenn das System startet (siehe @ref{Dienste}). Die |
| 10554 | declaration above specifies that, in addition to the basic services, we want | 11034 | @code{operating-system}-Deklaration oben legt fest, dass wir neben den |
| 10555 | the OpenSSH secure shell daemon listening on port 2222 (@pxref{Netzwerkdienste, @code{openssh-service-type}}). Under the hood, | 11035 | grundlegenden Basis-Diensten auch wollen, dass der |
| 10556 | @code{openssh-service-type} arranges so that @command{sshd} is started with | 11036 | OpenSSH-Secure-Shell-Daemon auf Port 2222 lauscht (siehe @ref{Netzwerkdienste, @code{openssh-service-type}}). Intern sorgt der |
| 10557 | the right command-line options, possibly with supporting configuration files | 11037 | @code{openssh-service-type} dafür, dass @code{sshd} mit den richtigen |
| 10558 | generated as needed (@pxref{Dienste definieren}). | 11038 | Befehlszeilenoptionen aufgerufen wird, je nach Systemkonfiguration werden |
| 11039 | auch für dessen Betrieb nötige Konfigurationsdateien erstellt (siehe | ||
| 11040 | @ref{Dienste definieren}). | ||
| 10559 | 11041 | ||
| 10560 | @cindex Anpassung, von Diensten | 11042 | @cindex Anpassung, von Diensten |
| 10561 | @findex modify-services | 11043 | @findex modify-services |
| 10562 | Gelegentlich werden Sie die Basis-Dienste nicht einfach so, wie sie sind, | 11044 | Gelegentlich werden Sie die Basis-Dienste nicht einfach so, wie sie sind, |
| 10563 | benutzen, sondern anpassen wollen. Benutzen Sie @code{modify-services} | 11045 | benutzen, sondern anpassen wollen. Benutzen Sie @code{modify-services} |
| 10564 | (@pxref{Service-Referenz, @code{modify-services}}), um die Liste der | 11046 | (siehe @ref{Service-Referenz, @code{modify-services}}), um die Liste der |
| 10565 | Basis-Dienste zu modifizieren. | 11047 | Basis-Dienste zu modifizieren. |
| 10566 | 11048 | ||
| 10567 | Wenn Sie zum Beispiel @code{guix-daemon} und Mingetty (das Programm, womit | 11049 | Wenn Sie zum Beispiel @code{guix-daemon} und Mingetty (das Programm, womit |
| 10568 | Sie sich auf der Konsole anmelden) in der @var{%base-services}-Liste | 11050 | Sie sich auf der Konsole anmelden) in der @var{%base-services}-Liste |
| 10569 | modifizieren möchten (@pxref{Basisdienste, @code{%base-services}}), | 11051 | modifizieren möchten (siehe @ref{Basisdienste, @code{%base-services}}), |
| 10570 | schreiben Sie das Folgende in Ihre Betriebssystemdeklaration: | 11052 | schreiben Sie das Folgende in Ihre Betriebssystemdeklaration: |
| 10571 | 11053 | ||
| 10572 | @lisp | 11054 | @lisp |
| @@ -10587,7 +11069,7 @@ schreiben Sie das Folgende in Ihre Betriebssystemdeklaration: | |||
| 10587 | (services %my-services)) | 11069 | (services %my-services)) |
| 10588 | @end lisp | 11070 | @end lisp |
| 10589 | 11071 | ||
| 10590 | Dadurch ändert sich die Konfiguration — d.h. die Dienst-Parameter — der | 11072 | Dadurch ändert sich die Konfiguration — d.h.@: die Dienst-Parameter — der |
| 10591 | @code{guix-service-type}-Instanz und die aller | 11073 | @code{guix-service-type}-Instanz und die aller |
| 10592 | @code{mingetty-service-type}-Instanzen in der | 11074 | @code{mingetty-service-type}-Instanzen in der |
| 10593 | @var{%base-services}-Liste. Das funktioniert so: Zunächst arrangieren wir, | 11075 | @var{%base-services}-Liste. Das funktioniert so: Zunächst arrangieren wir, |
| @@ -10621,14 +11103,14 @@ Dieses Beispiel bezieht sich auf das Dateisystem hinter @file{/boot/efi} | |||
| 10621 | über dessen UUID, @code{1234-ABCD}. Schreiben Sie statt dieser UUID die | 11103 | über dessen UUID, @code{1234-ABCD}. Schreiben Sie statt dieser UUID die |
| 10622 | richtige UUID für Ihr System, wie sie der Befehl @command{blkid} liefert. | 11104 | richtige UUID für Ihr System, wie sie der Befehl @command{blkid} liefert. |
| 10623 | 11105 | ||
| 10624 | Im Abschnitt @xref{Desktop-Dienste} finden Sie eine genaue Liste der unter | 11106 | Im Abschnitt @ref{Desktop-Dienste} finden Sie eine genaue Liste der unter |
| 10625 | @var{%desktop-services} angebotenen Dienste. Der Abschnitt @xref{X.509-Zertifikate} hat Hintergrundinformationen über das @code{nss-certs}-Paket, | 11107 | @var{%desktop-services} angebotenen Dienste. Der Abschnitt @ref{X.509-Zertifikate} hat Hintergrundinformationen über das @code{nss-certs}-Paket, |
| 10626 | das hier benutzt wird. | 11108 | das hier benutzt wird. |
| 10627 | 11109 | ||
| 10628 | Beachten Sie, dass @var{%desktop-services} nur eine Liste von die Dienste | 11110 | Beachten Sie, dass @var{%desktop-services} nur eine Liste von die Dienste |
| 10629 | repräsentierenden service-Objekten ist. Wenn Sie Dienste daraus entfernen | 11111 | repräsentierenden service-Objekten ist. Wenn Sie Dienste daraus entfernen |
| 10630 | möchten, können Sie dazu die Prozeduren zum Filtern von Listen benutzen | 11112 | möchten, können Sie dazu die Prozeduren zum Filtern von Listen benutzen |
| 10631 | (@pxref{SRFI-1 Filtering and Partitioning,,, guile, GNU Guile Reference | 11113 | (siehe @ref{SRFI-1 Filtering and Partitioning,,, guile, GNU Guile Reference |
| 10632 | Manual}). Beispielsweise liefert der folgende Ausdruck eine Liste mit allen | 11114 | Manual}). Beispielsweise liefert der folgende Ausdruck eine Liste mit allen |
| 10633 | Diensten von @var{%desktop-services} außer dem Avahi-Dienst. | 11115 | Diensten von @var{%desktop-services} außer dem Avahi-Dienst. |
| 10634 | 11116 | ||
| @@ -10643,7 +11125,7 @@ Diensten von @var{%desktop-services} außer dem Avahi-Dienst. | |||
| 10643 | Angenommen, Sie haben die @code{operating-system}-Deklaration in einer Datei | 11125 | Angenommen, Sie haben die @code{operating-system}-Deklaration in einer Datei |
| 10644 | @file{my-system-config.scm} gespeichert, dann instanziiert der Befehl | 11126 | @file{my-system-config.scm} gespeichert, dann instanziiert der Befehl |
| 10645 | @command{guix system reconfigure my-system-config.scm} diese Konfiguration | 11127 | @command{guix system reconfigure my-system-config.scm} diese Konfiguration |
| 10646 | und macht sie zum voreingestellten GRUB-Boot-Eintrag (@pxref{Aufruf von guix system}). | 11128 | und macht sie zum voreingestellten GRUB-Boot-Eintrag (siehe @ref{Aufruf von guix system}). |
| 10647 | 11129 | ||
| 10648 | Der normale Weg, die Systemkonfiguration nachträglich zu ändern, ist, die | 11130 | Der normale Weg, die Systemkonfiguration nachträglich zu ändern, ist, die |
| 10649 | Datei zu aktualisieren und @command{guix system reconfigure} erneut | 11131 | Datei zu aktualisieren und @command{guix system reconfigure} erneut |
| @@ -10658,7 +11140,7 @@ Zurücksetzen bezieht sich hierbei darauf, dass jedes Mal, wenn Sie | |||
| 10658 | @command{guix system reconfigure} ausführen, eine neue @dfn{Generation} des | 11140 | @command{guix system reconfigure} ausführen, eine neue @dfn{Generation} des |
| 10659 | Systems erzeugt wird — ohne vorherige Generationen zu verändern. Alte | 11141 | Systems erzeugt wird — ohne vorherige Generationen zu verändern. Alte |
| 10660 | Systemgenerationen bekommen einen Eintrag im Boot-Menü des Bootloaders, | 11142 | Systemgenerationen bekommen einen Eintrag im Boot-Menü des Bootloaders, |
| 10661 | womit Sie alte Generationen beim Booten des Rechners auswählen können, wenn | 11143 | womit Sie alte Generationen beim Starten des Rechners auswählen können, wenn |
| 10662 | mit der neuesten Generation etwas nicht stimmt. Eine beruhigende | 11144 | mit der neuesten Generation etwas nicht stimmt. Eine beruhigende |
| 10663 | Vorstellung, oder? Der Befehl @command{guix system list-generations} führt | 11145 | Vorstellung, oder? Der Befehl @command{guix system list-generations} führt |
| 10664 | die auf der Platte verfügbaren Systemgenerationen auf. Es ist auch möglich, | 11146 | die auf der Platte verfügbaren Systemgenerationen auf. Es ist auch möglich, |
| @@ -10667,40 +11149,40 @@ das System mit den Befehlen @command{guix system roll-back} und | |||
| 10667 | 11149 | ||
| 10668 | Obwohl der Befehl @command{guix system reconfigure} vorherige Generationen | 11150 | Obwohl der Befehl @command{guix system reconfigure} vorherige Generationen |
| 10669 | nicht verändern wird, müssen Sie Acht geben, dass wenn die momentan aktuelle | 11151 | nicht verändern wird, müssen Sie Acht geben, dass wenn die momentan aktuelle |
| 10670 | Generation nicht die neueste ist (z.B. nach einem Aufruf von @command{guix | 11152 | Generation nicht die neueste ist (z.B.@: nach einem Aufruf von @command{guix |
| 10671 | system roll-back}), weil @command{guix system reconfigure} alle neueren | 11153 | system roll-back}), weil @command{guix system reconfigure} alle neueren |
| 10672 | Generationen überschreibt (@pxref{Aufruf von guix system}). | 11154 | Generationen überschreibt (siehe @ref{Aufruf von guix system}). |
| 10673 | 11155 | ||
| 10674 | @unnumberedsubsec Die Programmierschnittstelle | 11156 | @unnumberedsubsec Die Programmierschnittstelle |
| 10675 | 11157 | ||
| 10676 | Auf der Ebene von Scheme wird der Großteil der | 11158 | Auf der Ebene von Scheme wird der Großteil der |
| 10677 | @code{operating-system}-Deklaration mit der folgenden monadischen Prozedur | 11159 | @code{operating-system}-Deklaration mit der folgenden monadischen Prozedur |
| 10678 | instanziiert (@pxref{Die Store-Monade}): | 11160 | instanziiert (siehe @ref{Die Store-Monade}): |
| 10679 | 11161 | ||
| 10680 | @deffn {Monadische Prozedur} operating-system-derivation os | 11162 | @deffn {Monadische Prozedur} operating-system-derivation os |
| 10681 | Liefert eine Ableitung, mit der ein @code{operating-system}-Objekt @var{os} | 11163 | Liefert eine Ableitung, mit der ein @code{operating-system}-Objekt @var{os} |
| 10682 | erstellt wird (@pxref{Ableitungen}). | 11164 | erstellt wird (siehe @ref{Ableitungen}). |
| 10683 | 11165 | ||
| 10684 | Die Ausgabe der Ableitung ist ein einzelnes Verzeichnis mit Verweisen auf | 11166 | Die Ausgabe der Ableitung ist ein einzelnes Verzeichnis mit Verweisen auf |
| 10685 | alle Pakete, Konfigurationsdateien und andere unterstützenden Dateien, die | 11167 | alle Pakete, Konfigurationsdateien und andere unterstützenden Dateien, die |
| 10686 | nötig sind, um @var{os} zu instanziieren. | 11168 | nötig sind, um @var{os} zu instanziieren. |
| 10687 | @end deffn | 11169 | @end deffn |
| 10688 | 11170 | ||
| 10689 | This procedure is provided by the @code{(gnu system)} module. Along with | 11171 | Diese Prozedur wird vom Modul @code{(gnu system)} angeboten. Zusammen mit |
| 10690 | @code{(gnu services)} (@pxref{Dienste}), this module contains the guts of | 11172 | @code{(gnu services)} (siehe @ref{Dienste}) deckt dieses Modul den Kern von |
| 10691 | Guix System. Make sure to visit it! | 11173 | »Guix System« ab. Schauen Sie es sich mal an! |
| 10692 | 11174 | ||
| 10693 | 11175 | ||
| 10694 | @node »operating-system«-Referenz | 11176 | @node »operating-system«-Referenz |
| 10695 | @section @code{operating-system}-Referenz | 11177 | @section @code{operating-system}-Referenz |
| 10696 | 11178 | ||
| 10697 | Dieser Abschnitt fasst alle Optionen zusammen, die für | 11179 | Dieser Abschnitt fasst alle Optionen zusammen, die für |
| 10698 | @code{operating-system}-Deklarationen zur Verfügung stehen (@pxref{Das Konfigurationssystem nutzen}). | 11180 | @code{operating-system}-Deklarationen zur Verfügung stehen (siehe @ref{Das Konfigurationssystem nutzen}). |
| 10699 | 11181 | ||
| 10700 | @deftp {Datentyp} operating-system | 11182 | @deftp {Datentyp} operating-system |
| 10701 | Der die Betriebssystemkonfiguration repräsentierende Datentyp. Damit meinen | 11183 | Der die Betriebssystemkonfiguration repräsentierende Datentyp. Damit meinen |
| 10702 | wir die globale Konfiguration des Systems und nicht die, die sich nur auf | 11184 | wir die globale Konfiguration des Systems und nicht die, die sich nur auf |
| 10703 | einzelne Nutzer bezieht (@pxref{Das Konfigurationssystem nutzen}). | 11185 | einzelne Nutzer bezieht (siehe @ref{Das Konfigurationssystem nutzen}). |
| 10704 | 11186 | ||
| 10705 | @table @asis | 11187 | @table @asis |
| 10706 | @item @code{kernel} (Vorgabe: @var{linux-libre}) | 11188 | @item @code{kernel} (Vorgabe: @var{linux-libre}) |
| @@ -10711,23 +11193,46 @@ unterstützt. In der Zukunft wird man auch GNU@tie{}Hurd benutzen können.}. | |||
| 10711 | @item @code{kernel-arguments} (Vorgabe: @code{'()}) | 11193 | @item @code{kernel-arguments} (Vorgabe: @code{'()}) |
| 10712 | Eine Liste aus Zeichenketten oder G-Ausdrücken, die für zusätzliche | 11194 | Eine Liste aus Zeichenketten oder G-Ausdrücken, die für zusätzliche |
| 10713 | Argumente an den Kernel stehen, die ihm auf seiner Befehlszeile übergeben | 11195 | Argumente an den Kernel stehen, die ihm auf seiner Befehlszeile übergeben |
| 10714 | werden — wie z.B. @code{("console=ttyS0")}. | 11196 | werden — wie z.B.@: @code{("console=ttyS0")}. |
| 10715 | 11197 | ||
| 10716 | @item @code{bootloader} | 11198 | @item @code{bootloader} |
| 10717 | Das Konfigurationsobjekt für den Bootloader, mit dem das System gestartet | 11199 | Das Konfigurationsobjekt für den Bootloader, mit dem das System gestartet |
| 10718 | wird. Siehe @xref{Bootloader-Konfiguration}. | 11200 | wird. Siehe @ref{Bootloader-Konfiguration}. |
| 11201 | |||
| 11202 | @item @code{label} | ||
| 11203 | This is the label (a string) as it appears in the bootloader's menu entry. | ||
| 11204 | The default label includes the kernel name and version. | ||
| 11205 | |||
| 11206 | @item @code{keyboard-layout} (Vorgabe: @code{#f}) | ||
| 11207 | Dieses Feld gibt an, welche Tastaturbelegung auf der Konsole benutzt werden | ||
| 11208 | soll. Es kann entweder auf @code{#f} gesetzt sein, damit die voreingestellte | ||
| 11209 | Tastaturbelegung benutzt wird (in der Regel ist diese »US English«), oder | ||
| 11210 | ein @code{<keyboard-layout>}-Verbundsobjekt sein. | ||
| 11211 | |||
| 11212 | Diese Tastaturbelegung wird benutzt, sobald der Kernel gebootet wurde. Diese | ||
| 11213 | Tastaturbelegung wird zum Beispiel auch verwendet, wenn Sie eine Passphrase | ||
| 11214 | eintippen, falls sich Ihr Wurzeldateisystem auf einem mit | ||
| 11215 | @code{luks-device-mapping} zugeordneten Gerät befindet (siehe @ref{Zugeordnete Geräte}). | ||
| 11216 | |||
| 11217 | @quotation Anmerkung | ||
| 11218 | Damit wird @emph{nicht} angegeben, welche Tastaturbelegung der Bootloader | ||
| 11219 | benutzt, und auch nicht, welche der grafische Display-Server | ||
| 11220 | verwendet. Siehe @ref{Bootloader-Konfiguration} für Informationen darüber, | ||
| 11221 | wie Sie die Tastaturbelegung des Bootloaders angeben können. Siehe @ref{X Window} für Informationen darüber, wie Sie die Tastaturbelegung angeben | ||
| 11222 | können, die das X-Fenstersystem verwendet. | ||
| 11223 | @end quotation | ||
| 10719 | 11224 | ||
| 10720 | @item @code{initrd-modules} (Vorgabe: @code{%base-initrd-modules}) | 11225 | @item @code{initrd-modules} (Vorgabe: @code{%base-initrd-modules}) |
| 10721 | @cindex initrd | 11226 | @cindex initrd |
| 10722 | @cindex initiale RAM-Disk | 11227 | @cindex initiale RAM-Disk |
| 10723 | Die Liste der Linux-Kernel-Module, die in der initialen RAM-Disk zur | 11228 | Die Liste der Linux-Kernel-Module, die in der initialen RAM-Disk zur |
| 10724 | Verfügung stehen sollen @xref{Initiale RAM-Disk}. | 11229 | Verfügung stehen sollen. Siehe @ref{Initiale RAM-Disk}. |
| 10725 | 11230 | ||
| 10726 | @item @code{initrd} (Vorgabe: @code{base-initrd}) | 11231 | @item @code{initrd} (Vorgabe: @code{base-initrd}) |
| 10727 | Eine Prozedur, die eine initiale RAM-Disk für den Linux-Kernel | 11232 | Eine Prozedur, die eine initiale RAM-Disk für den Linux-Kernel |
| 10728 | liefert. Dieses Feld gibt es, damit auch sehr systemnahe Anpassungen | 11233 | liefert. Dieses Feld gibt es, damit auch sehr systemnahe Anpassungen |
| 10729 | vorgenommen werden können, aber für die normale Nutzung sollte man es kaum | 11234 | vorgenommen werden können, aber für die normale Nutzung sollte man es kaum |
| 10730 | brauchen. Siehe @xref{Initiale RAM-Disk}. | 11235 | brauchen. Siehe @ref{Initiale RAM-Disk}. |
| 10731 | 11236 | ||
| 10732 | @item @code{firmware} (Vorgabe: @var{%base-firmware}) | 11237 | @item @code{firmware} (Vorgabe: @var{%base-firmware}) |
| 10733 | @cindex Firmware | 11238 | @cindex Firmware |
| @@ -10736,37 +11241,37 @@ können. | |||
| 10736 | 11241 | ||
| 10737 | Vorgegeben ist, dass für Atheros- und Broadcom-basierte WLAN-Geräte nötige | 11242 | Vorgegeben ist, dass für Atheros- und Broadcom-basierte WLAN-Geräte nötige |
| 10738 | Firmware geladen werden kann (genauer jeweils die Linux-libre-Module | 11243 | Firmware geladen werden kann (genauer jeweils die Linux-libre-Module |
| 10739 | @code{ath9k} und @code{b43-open}). Siehe den Abschnitt @xref{Hardware-Überlegungen}, für mehr Informationen zu unterstützter Hardware. | 11244 | @code{ath9k} und @code{b43-open}). Siehe den Abschnitt @ref{Hardware-Überlegungen} für mehr Informationen zu unterstützter Hardware. |
| 10740 | 11245 | ||
| 10741 | @item @code{host-name} | 11246 | @item @code{host-name} |
| 10742 | Der Hostname | 11247 | Der Hostname |
| 10743 | 11248 | ||
| 10744 | @item @code{hosts-file} | 11249 | @item @code{hosts-file} |
| 10745 | @cindex hosts-Datei | 11250 | @cindex hosts-Datei |
| 10746 | Ein dateiartiges Objekt (@pxref{G-Ausdrücke, file-like objects}), das für | 11251 | Ein dateiartiges Objekt (siehe @ref{G-Ausdrücke, file-like objects}), das |
| 10747 | @file{/etc/hosts} benutzt werden soll (@pxref{Host Names,,, libc, The GNU C | 11252 | für @file{/etc/hosts} benutzt werden soll (siehe @ref{Host Names,,, libc, |
| 10748 | Library Reference Manual}). Der Vorgabewert ist eine Datei mit Einträgen für | 11253 | The GNU C Library Reference Manual}). Der Vorgabewert ist eine Datei mit |
| 10749 | @code{localhost} und @var{host-name}. | 11254 | Einträgen für @code{localhost} und @var{host-name}. |
| 10750 | 11255 | ||
| 10751 | @item @code{mapped-devices} (Vorgabe: @code{'()}) | 11256 | @item @code{mapped-devices} (Vorgabe: @code{'()}) |
| 10752 | Eine Liste zugeordneter Geräte (»mapped devices«). Siehe @xref{Zugeordnete Geräte}. | 11257 | Eine Liste zugeordneter Geräte (»mapped devices«). Siehe @ref{Zugeordnete Geräte}. |
| 10753 | 11258 | ||
| 10754 | @item @code{file-systems} | 11259 | @item @code{file-systems} |
| 10755 | Eine Liste von Dateisystemen. Siehe @xref{Dateisysteme}. | 11260 | Eine Liste von Dateisystemen. Siehe @ref{Dateisysteme}. |
| 10756 | 11261 | ||
| 10757 | @item @code{swap-devices} (Vorgabe: @code{'()}) | 11262 | @item @code{swap-devices} (Vorgabe: @code{'()}) |
| 10758 | @cindex Swap-Geräte | 11263 | @cindex Swap-Geräte |
| 10759 | Eine Liste von Zeichenketten, die Geräte identifizieren oder als | 11264 | Eine Liste von Zeichenketten, die Geräte identifizieren oder als |
| 10760 | »Swap-Speicher« genutzte Dateien identifizieren (@pxref{Memory Concepts,,, | 11265 | »Swap-Speicher« genutzte Dateien identifizieren (siehe @ref{Memory |
| 10761 | libc, The GNU C Library Reference Manual}). Beispiele wären etwa | 11266 | Concepts,,, libc, The GNU C Library Reference Manual}). Beispiele wären etwa |
| 10762 | @code{'("/dev/sda3")} oder @code{'("/swapdatei")}. Es ist möglich, eine | 11267 | @code{'("/dev/sda3")} oder @code{'("/swapdatei")}. Es ist möglich, eine |
| 10763 | Swap-Datei auf dem Dateisystem eines zugeordneten Geräts anzugeben, sofern | 11268 | Swap-Datei auf dem Dateisystem eines zugeordneten Geräts anzugeben, sofern |
| 10764 | auch die Gerätezuordnung und das Dateisystem mit angegeben werden. Siehe | 11269 | auch die Gerätezuordnung und das Dateisystem mit angegeben werden. Siehe |
| 10765 | @xref{Zugeordnete Geräte} und @ref{Dateisysteme}. | 11270 | @ref{Zugeordnete Geräte} und @ref{Dateisysteme}. |
| 10766 | 11271 | ||
| 10767 | @item @code{users} (Vorgabe: @code{%base-user-accounts}) | 11272 | @item @code{users} (Vorgabe: @code{%base-user-accounts}) |
| 10768 | @itemx @code{groups} (Vorgabe: @var{%base-groups}) | 11273 | @itemx @code{groups} (Vorgabe: @var{%base-groups}) |
| 10769 | Liste der Benutzerkonten und Benutzergruppen. Siehe @xref{Benutzerkonten}. | 11274 | Liste der Benutzerkonten und Benutzergruppen. Siehe @ref{Benutzerkonten}. |
| 10770 | 11275 | ||
| 10771 | Wenn in der @code{users}-Liste kein Benutzerkonto mit der UID-Kennung@tie{}0 | 11276 | Wenn in der @code{users}-Liste kein Benutzerkonto mit der UID-Kennung@tie{}0 |
| 10772 | aufgeführt wird, wird automatisch für den Administrator ein | 11277 | aufgeführt wird, wird automatisch für den Administrator ein |
| @@ -10774,8 +11279,8 @@ aufgeführt wird, wird automatisch für den Administrator ein | |||
| 10774 | 11279 | ||
| 10775 | @item @code{skeletons} (Vorgabe: @code{(default-skeletons)}) | 11280 | @item @code{skeletons} (Vorgabe: @code{(default-skeletons)}) |
| 10776 | Eine Liste von Tupeln aus je einem Ziel-Dateinamen und einem dateiähnlichen | 11281 | Eine Liste von Tupeln aus je einem Ziel-Dateinamen und einem dateiähnlichen |
| 10777 | Objekt (@pxref{G-Ausdrücke, file-like objects}). Diese Objekte werden als | 11282 | Objekt (siehe @ref{G-Ausdrücke, file-like objects}). Diese Objekte werden |
| 10778 | Skeleton-Dateien im Persönlichen Verzeichnis (»Home«-Verzeichnis) jedes | 11283 | als Skeleton-Dateien im Persönlichen Verzeichnis (»Home«-Verzeichnis) jedes |
| 10779 | neuen Benutzerkontos angelegt. | 11284 | neuen Benutzerkontos angelegt. |
| 10780 | 11285 | ||
| 10781 | Ein gültiger Wert könnte zum Beispiel so aussehen: | 11286 | Ein gültiger Wert könnte zum Beispiel so aussehen: |
| @@ -10798,55 +11303,61 @@ welches unter @file{/run/current-system/profile} zu finden ist. | |||
| 10798 | 11303 | ||
| 10799 | Die vorgegebene Paketmenge umfasst zum Kern des Systems gehörende Werkzeuge | 11304 | Die vorgegebene Paketmenge umfasst zum Kern des Systems gehörende Werkzeuge |
| 10800 | (»core utilities«). Es ist empfehlenswert, nicht zum Kern gehörende | 11305 | (»core utilities«). Es ist empfehlenswert, nicht zum Kern gehörende |
| 10801 | Werkzeuge (»non-core«) stattdessen in Nutzerprofile zu installieren | 11306 | Werkzeuge (»non-core«) stattdessen in Nutzerprofile zu installieren (siehe |
| 10802 | (@pxref{Aufruf von guix package}). | 11307 | @ref{Aufruf von guix package}). |
| 10803 | 11308 | ||
| 10804 | @item @code{timezone} | 11309 | @item @code{timezone} |
| 10805 | Eine Zeichenkette, die die Zeitzone bezeichnet, wie | 11310 | Eine Zeichenkette, die die Zeitzone bezeichnet, wie z.B.@: |
| 10806 | z.B. @code{"Europe/Berlin"}. | 11311 | @code{"Europe/Berlin"}. |
| 10807 | 11312 | ||
| 10808 | Mit dem Befehl @command{tzselect} können Sie herausfinden, welche | 11313 | Mit dem Befehl @command{tzselect} können Sie herausfinden, welche |
| 10809 | Zeichenkette der Zeitzone Ihrer Region entspricht. Wenn Sie eine ungültige | 11314 | Zeichenkette der Zeitzone Ihrer Region entspricht. Wenn Sie eine ungültige |
| 10810 | Zeichenkette angeben, schlägt @command{guix system} fehl. | 11315 | Zeichenkette angeben, schlägt @command{guix system} fehl. |
| 10811 | 11316 | ||
| 10812 | @item @code{locale} (Vorgabe: @code{"en_US.utf8"}) | 11317 | @item @code{locale} (Vorgabe: @code{"en_US.utf8"}) |
| 10813 | Der Name der als Voreinstellung zu verwendenden Locale (@pxref{Locale | 11318 | Der Name der als Voreinstellung zu verwendenden Locale (siehe @ref{Locale |
| 10814 | Names,,, libc, The GNU C Library Reference Manual}). Siehe @xref{Locales} | 11319 | Names,,, libc, The GNU C Library Reference Manual}). Siehe @ref{Locales} für |
| 10815 | für weitere Informationen. | 11320 | weitere Informationen. |
| 10816 | 11321 | ||
| 10817 | @item @code{locale-definitions} (Vorgabe: @var{%default-locale-definitions}) | 11322 | @item @code{locale-definitions} (Vorgabe: @var{%default-locale-definitions}) |
| 10818 | Die Liste der Locale-Definitionen, die kompiliert werden sollen und dann im | 11323 | Die Liste der Locale-Definitionen, die kompiliert werden sollen und dann im |
| 10819 | laufenden System benutzt werden können. Siehe @xref{Locales}. | 11324 | laufenden System benutzt werden können. Siehe @ref{Locales}. |
| 10820 | 11325 | ||
| 10821 | @item @code{locale-libcs} (Vorgabe: @code{(list @var{glibc})}) | 11326 | @item @code{locale-libcs} (Vorgabe: @code{(list @var{glibc})}) |
| 10822 | Die Liste der GNU-libc-Pakete, deren Locale-Daten und -Werkzeuge zum | 11327 | Die Liste der GNU-libc-Pakete, deren Locale-Daten und -Werkzeuge zum |
| 10823 | Erzeugen der Locale-Definitionen verwendet werden sollen. Siehe | 11328 | Erzeugen der Locale-Definitionen verwendet werden sollen. Siehe |
| 10824 | @xref{Locales} für eine Erläuterung der Kompatibilitätsauswirkungen, | 11329 | @ref{Locales} für eine Erläuterung der Kompatibilitätsauswirkungen, |
| 10825 | deretwegen man diese Option benutzen wollen könnte. | 11330 | deretwegen man diese Option benutzen wollen könnte. |
| 10826 | 11331 | ||
| 10827 | @item @code{name-service-switch} (Vorgabe: @var{%default-nss}) | 11332 | @item @code{name-service-switch} (Vorgabe: @var{%default-nss}) |
| 10828 | Die Konfiguration des Name Service Switch (NSS) der libc — ein | 11333 | Die Konfiguration des Name Service Switch (NSS) der libc — ein |
| 10829 | @code{<name-service-switch>}-Objekt. Siehe @xref{Name Service Switch}, für | 11334 | @code{<name-service-switch>}-Objekt. Siehe @ref{Name Service Switch} für |
| 10830 | Details. | 11335 | Details. |
| 10831 | 11336 | ||
| 10832 | @item @code{services} (Vorgabe: @var{%base-services}) | 11337 | @item @code{services} (Vorgabe: @var{%base-services}) |
| 10833 | Eine Liste von »service«-Objekten, die die Systemdienste | 11338 | Eine Liste von »service«-Objekten, die die Systemdienste |
| 10834 | repräsentieren. Siehe @xref{Dienste}. | 11339 | repräsentieren. Siehe @ref{Dienste}. |
| 11340 | |||
| 11341 | @cindex essenzielle Dienste | ||
| 11342 | @item @code{essential-services} (Vorgabe: …) | ||
| 11343 | The list of ``essential services''---i.e., things like instances of | ||
| 11344 | @code{system-service-type} and @code{host-name-service-type} (@pxref{Service-Referenz}), which are derived from the operating system definition itself. | ||
| 11345 | As a user you should @emph{never} need to touch this field. | ||
| 10835 | 11346 | ||
| 10836 | @item @code{pam-services} (Vorgabe: @code{(base-pam-services)}) | 11347 | @item @code{pam-services} (Vorgabe: @code{(base-pam-services)}) |
| 10837 | @cindex PAM | 11348 | @cindex PAM |
| 10838 | @cindex Pluggable Authentication Modules | 11349 | @cindex Pluggable Authentication Modules |
| 10839 | @c FIXME: Add xref to PAM services section. | 11350 | @c FIXME: Add xref to PAM services section. |
| 10840 | Dienste für »@dfn{Pluggable Authentication Modules}« (PAM) von Linux. | 11351 | Dienste für @dfn{Pluggable Authentication Modules} (PAM) von Linux. |
| 10841 | 11352 | ||
| 10842 | @item @code{setuid-programs} (Vorgabe: @var{%setuid-programs}) | 11353 | @item @code{setuid-programs} (Vorgabe: @var{%setuid-programs}) |
| 10843 | Eine Liste von Zeichenketten liefernden G-Ausdrücken, die setuid-Programme | 11354 | Eine Liste von Zeichenketten liefernden G-Ausdrücken, die setuid-Programme |
| 10844 | bezeichnen. Siehe @xref{Setuid-Programme}. | 11355 | bezeichnen. Siehe @ref{Setuid-Programme}. |
| 10845 | 11356 | ||
| 10846 | @item @code{sudoers-file} (Vorgabe: @var{%sudoers-specification}) | 11357 | @item @code{sudoers-file} (Vorgabe: @var{%sudoers-specification}) |
| 10847 | @cindex sudoers-Datei | 11358 | @cindex sudoers-Datei |
| 10848 | Der Inhalt der Datei @file{/etc/sudoers} als ein dateiähnliches Objekt | 11359 | Der Inhalt der Datei @file{/etc/sudoers} als ein dateiähnliches Objekt |
| 10849 | (@pxref{G-Ausdrücke, @code{local-file} und @code{plain-file}}). | 11360 | (siehe @ref{G-Ausdrücke, @code{local-file} und @code{plain-file}}). |
| 10850 | 11361 | ||
| 10851 | Diese Datei gibt an, welche Nutzer den Befehl @command{sudo} benutzen | 11362 | Diese Datei gibt an, welche Nutzer den Befehl @command{sudo} benutzen |
| 10852 | dürfen, was sie damit tun und welche Berechtigungen sie so erhalten | 11363 | dürfen, was sie damit tun und welche Berechtigungen sie so erhalten |
| @@ -10855,13 +11366,34 @@ Mitglieder der Benutzergruppe @code{wheel} den @code{sudo}-Befehl verwenden | |||
| 10855 | dürfen. | 11366 | dürfen. |
| 10856 | 11367 | ||
| 10857 | @end table | 11368 | @end table |
| 11369 | |||
| 11370 | @deffn {Scheme Syntax} this-operating-system | ||
| 11371 | When used in the @emph{lexical scope} of an operating system field | ||
| 11372 | definition, this identifier resolves to the operating system being defined. | ||
| 11373 | |||
| 11374 | The example below shows how to refer to the operating system being defined | ||
| 11375 | in the definition of the @code{label} field: | ||
| 11376 | |||
| 11377 | @example | ||
| 11378 | (use-modules (gnu) (guix)) | ||
| 11379 | |||
| 11380 | (operating-system | ||
| 11381 | ;; ... | ||
| 11382 | (label (package-full-name | ||
| 11383 | (operating-system-kernel this-operating-system)))) | ||
| 11384 | @end example | ||
| 11385 | |||
| 11386 | It is an error to refer to @code{this-operating-system} outside an operating | ||
| 11387 | system definition. | ||
| 11388 | @end deffn | ||
| 11389 | |||
| 10858 | @end deftp | 11390 | @end deftp |
| 10859 | 11391 | ||
| 10860 | @node Dateisysteme | 11392 | @node Dateisysteme |
| 10861 | @section Dateisysteme | 11393 | @section Dateisysteme |
| 10862 | 11394 | ||
| 10863 | Die Liste der Dateisysteme, die eingebunden werden sollen, steht im | 11395 | Die Liste der Dateisysteme, die eingebunden werden sollen, steht im |
| 10864 | @code{file-systems}-Feld der Betriebssystemdeklaration (@pxref{Das Konfigurationssystem nutzen}). Jedes Dateisystem wird mit der | 11396 | @code{file-systems}-Feld der Betriebssystemdeklaration (siehe @ref{Das Konfigurationssystem nutzen}). Jedes Dateisystem wird mit der |
| 10865 | @code{file-system}-Form deklariert, etwa so: | 11397 | @code{file-system}-Form deklariert, etwa so: |
| 10866 | 11398 | ||
| 10867 | @example | 11399 | @example |
| @@ -10880,12 +11412,12 @@ folgende Komponenten auf: | |||
| 10880 | 11412 | ||
| 10881 | @table @asis | 11413 | @table @asis |
| 10882 | @item @code{type} | 11414 | @item @code{type} |
| 10883 | Eine Zeichenkette, die den Typ des Dateisystems spezifiziert, | 11415 | Eine Zeichenkette, die den Typ des Dateisystems spezifiziert, z.B.@: |
| 10884 | z.B. @code{"ext4"}. | 11416 | @code{"ext4"}. |
| 10885 | 11417 | ||
| 10886 | @item @code{mount-point} | 11418 | @item @code{mount-point} |
| 10887 | Der Einhängepunkt, d.h. der Pfad, an dem das Dateisystem eingebunden werden | 11419 | Der Einhängepunkt, d.h.@: der Pfad, an dem das Dateisystem eingebunden |
| 10888 | soll. | 11420 | werden soll. |
| 10889 | 11421 | ||
| 10890 | @item @code{device} | 11422 | @item @code{device} |
| 10891 | Hiermit wird die »Quelle« des Dateisystems bezeichnet. Sie kann eines von | 11423 | Hiermit wird die »Quelle« des Dateisystems bezeichnet. Sie kann eines von |
| @@ -10918,7 +11450,7 @@ UUID-Kennungen werden mit der @code{uuid}-Form von ihrer Darstellung als | |||
| 10918 | Zeichenkette (wie sie vom Befehl @command{tune2fs -l} angezeigt wird) | 11450 | Zeichenkette (wie sie vom Befehl @command{tune2fs -l} angezeigt wird) |
| 10919 | konvertiert@footnote{Die @code{uuid}-Form nimmt 16-Byte-UUIDs entgegen, wie | 11451 | konvertiert@footnote{Die @code{uuid}-Form nimmt 16-Byte-UUIDs entgegen, wie |
| 10920 | sie in @uref{https://tools.ietf.org/html/rfc4122, RFC@tie{}4122} definiert | 11452 | sie in @uref{https://tools.ietf.org/html/rfc4122, RFC@tie{}4122} definiert |
| 10921 | sind. Diese Form der UUID wird unter Anderem von der ext2-Familie von | 11453 | sind. Diese Form der UUID wird unter anderem von der ext2-Familie von |
| 10922 | Dateisystemen verwendet, sie unterscheidet sich jedoch zum Beispiel von den | 11454 | Dateisystemen verwendet, sie unterscheidet sich jedoch zum Beispiel von den |
| 10923 | »UUID« genannten Kennungen, wie man sie bei FAT-Dateisystemen findet.} wie | 11455 | »UUID« genannten Kennungen, wie man sie bei FAT-Dateisystemen findet.} wie |
| 10924 | hier: | 11456 | hier: |
| @@ -10930,14 +11462,14 @@ hier: | |||
| 10930 | (device (uuid "4dab5feb-d176-45de-b287-9b0a6e4c01cb"))) | 11462 | (device (uuid "4dab5feb-d176-45de-b287-9b0a6e4c01cb"))) |
| 10931 | @end example | 11463 | @end example |
| 10932 | 11464 | ||
| 10933 | Wenn die Quelle eines Dateisystems ein zugeordnetes Gerät (@pxref{Zugeordnete Geräte}) ist, @emph{muss} sich das @code{device}-Feld auf den zugeordneten | 11465 | Wenn die Quelle eines Dateisystems ein zugeordnetes Gerät (siehe @ref{Zugeordnete Geräte}) ist, @emph{muss} sich das @code{device}-Feld auf den zugeordneten |
| 10934 | Gerätenamen beziehen — z.B. @file{"/dev/mapper/root-partition"}. Das ist | 11466 | Gerätenamen beziehen — z.B.@: @file{"/dev/mapper/root-partition"}. Das ist |
| 10935 | nötig, damit das System weiß, dass das Einbinden des Dateisystems davon | 11467 | nötig, damit das System weiß, dass das Einbinden des Dateisystems davon |
| 10936 | abhängt, die entsprechende Gerätezuordnung hergestellt zu haben. | 11468 | abhängt, die entsprechende Gerätezuordnung hergestellt zu haben. |
| 10937 | 11469 | ||
| 10938 | @item @code{flags} (Vorgabe: @code{'()}) | 11470 | @item @code{flags} (Vorgabe: @code{'()}) |
| 10939 | Eine Liste von Symbolen, die Einbinde-Flags (»mount flags«) | 11471 | Eine Liste von Symbolen, die Einbinde-Flags (»mount flags«) |
| 10940 | bezeichnen. Erkannt werden unter Anderem @code{read-only}, | 11472 | bezeichnen. Erkannt werden unter anderem @code{read-only}, |
| 10941 | @code{bind-mount}, @code{no-dev} (Zugang zu besonderen Dateien verweigern), | 11473 | @code{bind-mount}, @code{no-dev} (Zugang zu besonderen Dateien verweigern), |
| 10942 | @code{no-suid} (setuid- und setgid-Bits ignorieren) und @code{no-exec} | 11474 | @code{no-suid} (setuid- und setgid-Bits ignorieren) und @code{no-exec} |
| 10943 | (Programmausführungen verweigern). | 11475 | (Programmausführungen verweigern). |
| @@ -10978,7 +11510,7 @@ Betrachten Sie zum Beispiel eine Hierarchie von Einbindungen: | |||
| 10978 | und @file{/sys/fs/cgroup/memory}. | 11510 | und @file{/sys/fs/cgroup/memory}. |
| 10979 | 11511 | ||
| 10980 | Ein weiteres Beispiel ist ein Dateisystem, was von einem zugeordneten Gerät | 11512 | Ein weiteres Beispiel ist ein Dateisystem, was von einem zugeordneten Gerät |
| 10981 | abhängt, zum Beispiel zur Verschlüsselung einer Partition (@pxref{Zugeordnete Geräte}). | 11513 | abhängt, zum Beispiel zur Verschlüsselung einer Partition (siehe @ref{Zugeordnete Geräte}). |
| 10982 | @end table | 11514 | @end table |
| 10983 | @end deftp | 11515 | @end deftp |
| 10984 | 11516 | ||
| @@ -10995,21 +11527,21 @@ jeden Fall mindestens diese enthalten. | |||
| 10995 | @defvr {Scheme-Variable} %pseudo-terminal-file-system | 11527 | @defvr {Scheme-Variable} %pseudo-terminal-file-system |
| 10996 | Das als @file{/dev/pts} einzubindende Dateisystem. Es unterstützt über | 11528 | Das als @file{/dev/pts} einzubindende Dateisystem. Es unterstützt über |
| 10997 | @code{openpty} und ähnliche Funktionen erstellte @dfn{Pseudo-Terminals} | 11529 | @code{openpty} und ähnliche Funktionen erstellte @dfn{Pseudo-Terminals} |
| 10998 | (@pxref{Pseudo-Terminals,,, libc, The GNU C Library Reference | 11530 | (siehe @ref{Pseudo-Terminals,,, libc, The GNU C Library Reference |
| 10999 | Manual}). Pseudo-Terminals werden von Terminal-Emulatoren wie | 11531 | Manual}). Pseudo-Terminals werden von Terminal-Emulatoren wie |
| 11000 | @command{xterm} benutzt. | 11532 | @command{xterm} benutzt. |
| 11001 | @end defvr | 11533 | @end defvr |
| 11002 | 11534 | ||
| 11003 | @defvr {Scheme-Variable} %shared-memory-file-system | 11535 | @defvr {Scheme-Variable} %shared-memory-file-system |
| 11004 | Dieses Dateisystem wird als @file{/dev/shm} eingebunden, um Speicher | 11536 | Dieses Dateisystem wird als @file{/dev/shm} eingebunden, um Speicher |
| 11005 | zwischen Prozessen teilen zu können (@pxref{Memory-mapped I/O, | 11537 | zwischen Prozessen teilen zu können (siehe @ref{Memory-mapped I/O, |
| 11006 | @code{shm_open},, libc, The GNU C Library Reference Manual}). | 11538 | @code{shm_open},, libc, The GNU C Library Reference Manual}). |
| 11007 | @end defvr | 11539 | @end defvr |
| 11008 | 11540 | ||
| 11009 | @defvr {Scheme-Variable} %immutable-store | 11541 | @defvr {Scheme-Variable} %immutable-store |
| 11010 | Dieses Dateisystem vollzieht einen »bind mount« des @file{/gnu/store}, um | 11542 | Dieses Dateisystem vollzieht einen »bind mount« des @file{/gnu/store}, um |
| 11011 | ihn für alle Nutzer einschließlich des Administratornutzers @code{root} nur | 11543 | ihn für alle Nutzer einschließlich des Administratornutzers @code{root} nur |
| 11012 | lesbar zu machen, d.h. Schreibrechte zu entziehen. Dadurch kann als | 11544 | lesbar zu machen, d.h.@: Schreibrechte zu entziehen. Dadurch kann als |
| 11013 | @code{root} ausgeführte Software, oder der Systemadministrator, nicht aus | 11545 | @code{root} ausgeführte Software, oder der Systemadministrator, nicht aus |
| 11014 | Versehen den Store modifizieren. | 11546 | Versehen den Store modifizieren. |
| 11015 | 11547 | ||
| @@ -11044,7 +11576,7 @@ zwischen dem Konzept eines »zugeordneten Geräts« und dem eines Dateisystems | |||
| 11044 | besteht: Dort werden bei beiden Ein- und Ausgabeoperationen auf eine Datei | 11576 | besteht: Dort werden bei beiden Ein- und Ausgabeoperationen auf eine Datei |
| 11045 | in Operationen auf dessen Hintergrundspeicher @emph{übersetzt}. Hurd | 11577 | in Operationen auf dessen Hintergrundspeicher @emph{übersetzt}. Hurd |
| 11046 | implementiert zugeordnete Geräte genau wie Dateisysteme mit dem generischen | 11578 | implementiert zugeordnete Geräte genau wie Dateisysteme mit dem generischen |
| 11047 | @dfn{Übersetzer}-Mechanismus (@pxref{Translators,,, hurd, The GNU Hurd | 11579 | @dfn{Übersetzer}-Mechanismus (siehe @ref{Translators,,, hurd, The GNU Hurd |
| 11048 | Reference Manual}).}. Ein typisches Beispiel ist eine Gerätezuordnung zur | 11580 | Reference Manual}).}. Ein typisches Beispiel ist eine Gerätezuordnung zur |
| 11049 | Verschlüsselung: Jeder Schreibzugriff auf das zugeordnete Gerät wird | 11581 | Verschlüsselung: Jeder Schreibzugriff auf das zugeordnete Gerät wird |
| 11050 | transparent verschlüsselt und jeder Lesezugriff ebenso entschlüsselt. Guix | 11582 | transparent verschlüsselt und jeder Lesezugriff ebenso entschlüsselt. Guix |
| @@ -11093,8 +11625,8 @@ Linux-Kernel-Modul @code{dm-crypt} vorausgesetzt. | |||
| 11093 | @defvr {Scheme-Variable} raid-device-mapping | 11625 | @defvr {Scheme-Variable} raid-device-mapping |
| 11094 | Dies definiert ein RAID-Gerät, das mit dem Befehl @code{mdadm} aus dem | 11626 | Dies definiert ein RAID-Gerät, das mit dem Befehl @code{mdadm} aus dem |
| 11095 | gleichnamigen Paket als Verbund zusammengestellt wird. Es setzt voraus, dass | 11627 | gleichnamigen Paket als Verbund zusammengestellt wird. Es setzt voraus, dass |
| 11096 | das Linux-Kernel-Modul für das entsprechende RAID-Level geladen ist, | 11628 | das Linux-Kernel-Modul für das entsprechende RAID-Level geladen ist, z.B.@: |
| 11097 | z.B. @code{raid456} für RAID-4, RAID-5 oder RAID-6, oder @code{raid10} für | 11629 | @code{raid456} für RAID-4, RAID-5 oder RAID-6, oder @code{raid10} für |
| 11098 | RAID-10. | 11630 | RAID-10. |
| 11099 | @end defvr | 11631 | @end defvr |
| 11100 | 11632 | ||
| @@ -11105,7 +11637,7 @@ Das folgende Beispiel gibt eine Zuordnung von @file{/dev/sda3} auf | |||
| 11105 | @url{https://gitlab.com/cryptsetup/cryptsetup,Linux Unified Key Setup}, | 11637 | @url{https://gitlab.com/cryptsetup/cryptsetup,Linux Unified Key Setup}, |
| 11106 | einem Standardmechanismus zur Plattenverschlüsselung. Das Gerät | 11638 | einem Standardmechanismus zur Plattenverschlüsselung. Das Gerät |
| 11107 | @file{/dev/mapper/home} kann dann als @code{device} einer | 11639 | @file{/dev/mapper/home} kann dann als @code{device} einer |
| 11108 | @code{file-system}-Deklaration benutzt werden (@pxref{Dateisysteme}). | 11640 | @code{file-system}-Deklaration benutzt werden (siehe @ref{Dateisysteme}). |
| 11109 | 11641 | ||
| 11110 | @example | 11642 | @example |
| 11111 | (mapped-device | 11643 | (mapped-device |
| @@ -11115,7 +11647,7 @@ einem Standardmechanismus zur Plattenverschlüsselung. Das Gerät | |||
| 11115 | @end example | 11647 | @end example |
| 11116 | 11648 | ||
| 11117 | Um nicht davon abhängig zu sein, wie Ihre Geräte nummeriert werden, können | 11649 | Um nicht davon abhängig zu sein, wie Ihre Geräte nummeriert werden, können |
| 11118 | Sie auch die LUKS-UUID (@dfn{unique identifier}, d.h. den eindeutigen | 11650 | Sie auch die LUKS-UUID (@dfn{unique identifier}, d.h.@: den eindeutigen |
| 11119 | Bezeichner) des Quellgeräts auf der Befehlszeile ermitteln: | 11651 | Bezeichner) des Quellgeräts auf der Befehlszeile ermitteln: |
| 11120 | 11652 | ||
| 11121 | @example | 11653 | @example |
| @@ -11137,7 +11669,7 @@ Swap-Speicher sensible Daten ausgelagert werden können. Eine Möglichkeit | |||
| 11137 | ist, eine Swap-Datei auf einem mit LUKS-Verschlüsselung zugeordneten | 11669 | ist, eine Swap-Datei auf einem mit LUKS-Verschlüsselung zugeordneten |
| 11138 | Dateisystem zu verwenden. Dann wird die Swap-Datei verschlüsselt, weil das | 11670 | Dateisystem zu verwenden. Dann wird die Swap-Datei verschlüsselt, weil das |
| 11139 | ganze Gerät verschlüsselt wird. Ein Beispiel finden Sie im Abschnitt | 11671 | ganze Gerät verschlüsselt wird. Ein Beispiel finden Sie im Abschnitt |
| 11140 | @xref{Vor der Installation,,Disk Partitioning}. | 11672 | @ref{Vor der Installation,,Disk Partitioning}. |
| 11141 | 11673 | ||
| 11142 | Ein RAID-Gerät als Verbund der Partitionen @file{/dev/sda1} und | 11674 | Ein RAID-Gerät als Verbund der Partitionen @file{/dev/sda1} und |
| 11143 | @file{/dev/sdb1} kann wie folgt deklariert werden: | 11675 | @file{/dev/sdb1} kann wie folgt deklariert werden: |
| @@ -11150,10 +11682,10 @@ Ein RAID-Gerät als Verbund der Partitionen @file{/dev/sda1} und | |||
| 11150 | @end example | 11682 | @end example |
| 11151 | 11683 | ||
| 11152 | Das Gerät @file{/dev/md0} kann als @code{device} in einer | 11684 | Das Gerät @file{/dev/md0} kann als @code{device} in einer |
| 11153 | @code{file-system}-Deklaration dienen (@pxref{Dateisysteme}). Beachten Sie, | 11685 | @code{file-system}-Deklaration dienen (siehe @ref{Dateisysteme}). Beachten |
| 11154 | dass das RAID-Level dabei nicht angegeben werden muss; es wird während der | 11686 | Sie, dass das RAID-Level dabei nicht angegeben werden muss; es wird während |
| 11155 | initialen Erstellung und Formatierung des RAID-Geräts festgelegt und später | 11687 | der initialen Erstellung und Formatierung des RAID-Geräts festgelegt und |
| 11156 | automatisch bestimmt. | 11688 | später automatisch bestimmt. |
| 11157 | 11689 | ||
| 11158 | 11690 | ||
| 11159 | @node Benutzerkonten | 11691 | @node Benutzerkonten |
| @@ -11223,15 +11755,15 @@ werden soll, falls es noch nicht existiert. | |||
| 11223 | 11755 | ||
| 11224 | @item @code{shell} (Vorgabe: Bash) | 11756 | @item @code{shell} (Vorgabe: Bash) |
| 11225 | Ein G-Ausdruck, der den Dateinamen des Programms angibt, das dem Benutzer | 11757 | Ein G-Ausdruck, der den Dateinamen des Programms angibt, das dem Benutzer |
| 11226 | als Shell dienen soll (@pxref{G-Ausdrücke}). | 11758 | als Shell dienen soll (siehe @ref{G-Ausdrücke}). |
| 11227 | 11759 | ||
| 11228 | @item @code{system?} (Vorgabe: @code{#f}) | 11760 | @item @code{system?} (Vorgabe: @code{#f}) |
| 11229 | Dieser boolesche Wert zeigt an, ob das Konto ein »System«-Benutzerkonto | 11761 | Dieser boolesche Wert zeigt an, ob das Konto ein »System«-Benutzerkonto |
| 11230 | ist. Systemkonten werden manchmal anders behandelt, zum Beispiel werden sie | 11762 | ist. Systemkonten werden manchmal anders behandelt, zum Beispiel werden sie |
| 11231 | auf graphischen Anmeldebildschirmen nicht aufgeführt. | 11763 | auf grafischen Anmeldebildschirmen nicht aufgeführt. |
| 11232 | 11764 | ||
| 11233 | @anchor{user-account-password} | 11765 | @anchor{user-account-password} |
| 11234 | @cindex password, for user accounts | 11766 | @cindex Passwort, für Benutzerkonten |
| 11235 | @item @code{password} (Vorgabe: @code{#f}) | 11767 | @item @code{password} (Vorgabe: @code{#f}) |
| 11236 | Normalerweise lassen Sie dieses Feld auf @code{#f} und initialisieren | 11768 | Normalerweise lassen Sie dieses Feld auf @code{#f} und initialisieren |
| 11237 | Benutzerpasswörter als @code{root} mit dem @command{passwd}-Befehl. Die | 11769 | Benutzerpasswörter als @code{root} mit dem @command{passwd}-Befehl. Die |
| @@ -11239,14 +11771,13 @@ Benutzer lässt man ihr eigenes Passwort dann mit @command{passwd} | |||
| 11239 | ändern. Mit @command{passwd} festgelegte Passwörter bleiben natürlich beim | 11771 | ändern. Mit @command{passwd} festgelegte Passwörter bleiben natürlich beim |
| 11240 | Neustarten und beim Rekonfigurieren erhalten. | 11772 | Neustarten und beim Rekonfigurieren erhalten. |
| 11241 | 11773 | ||
| 11242 | If you @emph{do} want to set an initial password for an account, then this | 11774 | Wenn Sie aber @emph{doch} ein anfängliches Passwort für ein Konto |
| 11243 | field must contain the encrypted password, as a string. You can use the | 11775 | voreinstellen möchten, muss dieses Feld hier das verschlüsselte Passwort als |
| 11244 | @code{crypt} procedure for this purpose: | 11776 | Zeichenkette enthalten. Sie können dazu die Prozedur @code{crypt} benutzen. |
| 11245 | 11777 | ||
| 11246 | @example | 11778 | @example |
| 11247 | (user-account | 11779 | (user-account |
| 11248 | (name "charlie") | 11780 | (name "charlie") |
| 11249 | (home-directory "/home/charlie") | ||
| 11250 | (group "users") | 11781 | (group "users") |
| 11251 | 11782 | ||
| 11252 | ;; Specify a SHA-512-hashed initial password. | 11783 | ;; Specify a SHA-512-hashed initial password. |
| @@ -11259,9 +11790,10 @@ The hash of this initial password will be available in a file in | |||
| 11259 | with care. | 11790 | with care. |
| 11260 | @end quotation | 11791 | @end quotation |
| 11261 | 11792 | ||
| 11262 | @xref{Passphrase Storage,,, libc, The GNU C Library Reference Manual}, for | 11793 | Siehe @ref{Passphrase Storage,,, libc, The GNU C Library Reference Manual} |
| 11263 | more information on password encryption, and @ref{Encryption,,, guile, GNU | 11794 | für weitere Informationen über Passwortverschlüsselung und |
| 11264 | Guile Reference Manual}, for information on Guile's @code{crypt} procedure. | 11795 | @ref{Encryption,,, guile, GNU Guile Reference Manual} für Informationen über |
| 11796 | die Prozedur @code{crypt} in Guile. | ||
| 11265 | 11797 | ||
| 11266 | @end table | 11798 | @end table |
| 11267 | @end deftp | 11799 | @end deftp |
| @@ -11317,29 +11849,162 @@ dazugehört. Es ist ein Sonderfall und wird automatisch erzeugt, egal ob es | |||
| 11317 | spezifiziert wurde oder nicht. | 11849 | spezifiziert wurde oder nicht. |
| 11318 | @end defvr | 11850 | @end defvr |
| 11319 | 11851 | ||
| 11852 | @node Tastaturbelegung | ||
| 11853 | @section Tastaturbelegung | ||
| 11854 | |||
| 11855 | @cindex Tastaturbelegung | ||
| 11856 | @cindex Keymap | ||
| 11857 | To specify what each key of your keyboard does, you need to tell the | ||
| 11858 | operating system what @dfn{keyboard layout} you want to use. The default, | ||
| 11859 | when nothing is specified, is the US English QWERTY layout for 105-key PC | ||
| 11860 | keyboards. However, German speakers will usually prefer the German QWERTZ | ||
| 11861 | layout, French speakers will want the AZERTY layout, and so on; hackers | ||
| 11862 | might prefer Dvorak or bépo, and they might even want to further customize | ||
| 11863 | the effect of some of the keys. This section explains how to get that done. | ||
| 11864 | |||
| 11865 | @cindex Tastaturbelegung, Definition | ||
| 11866 | There are three components that will want to know about your keyboard | ||
| 11867 | layout: | ||
| 11868 | |||
| 11869 | @itemize | ||
| 11870 | @item | ||
| 11871 | The @emph{bootloader} may want to know what keyboard layout you want to use | ||
| 11872 | (@pxref{Bootloader-Konfiguration, @code{keyboard-layout}}). This is useful | ||
| 11873 | if you want, for instance, to make sure that you can type the passphrase of | ||
| 11874 | your encrypted root partition using the right layout. | ||
| 11875 | |||
| 11876 | @item | ||
| 11877 | The @emph{operating system kernel}, Linux, will need that so that the | ||
| 11878 | console is properly configured (@pxref{»operating-system«-Referenz, | ||
| 11879 | @code{keyboard-layout}}). | ||
| 11880 | |||
| 11881 | @item | ||
| 11882 | The @emph{graphical display server}, usually Xorg, also has its own idea of | ||
| 11883 | the keyboard layout (@pxref{X Window, @code{keyboard-layout}}). | ||
| 11884 | @end itemize | ||
| 11885 | |||
| 11886 | Guix allows you to configure all three separately but, fortunately, it | ||
| 11887 | allows you to share the same keyboard layout for all three components. | ||
| 11888 | |||
| 11889 | @cindex XKB, Tastaturbelegungen | ||
| 11890 | Keyboard layouts are represented by records created by the | ||
| 11891 | @code{keyboard-layout} procedure of @code{(gnu system keyboard)}. Following | ||
| 11892 | the X Keyboard extension (XKB), each layout has four attributes: a name | ||
| 11893 | (often a language code such as ``fi'' for Finnish or ``jp'' for Japanese), | ||
| 11894 | an optional variant name, an optional keyboard model name, and a possibly | ||
| 11895 | empty list of additional options. In most cases the layout name is all you | ||
| 11896 | care about. Here are a few example: | ||
| 11897 | |||
| 11898 | @example | ||
| 11899 | ;; The German QWERTZ layout. Here we assume a standard | ||
| 11900 | ;; "pc105" keyboard model. | ||
| 11901 | (keyboard-layout "de") | ||
| 11902 | |||
| 11903 | ;; The bépo variant of the French layout. | ||
| 11904 | (keyboard-layout "fr" "bepo") | ||
| 11905 | |||
| 11906 | ;; The Catalan layout. | ||
| 11907 | (keyboard-layout "es" "cat") | ||
| 11908 | |||
| 11909 | ;; The Latin American Spanish layout. In addition, the | ||
| 11910 | ;; "Caps Lock" key is used as an additional "Ctrl" key, | ||
| 11911 | ;; and the "Menu" key is used as a "Compose" key to enter | ||
| 11912 | ;; accented letters. | ||
| 11913 | (keyboard-layout "latam" | ||
| 11914 | #:options '("ctrl:nocaps" "compose:menu")) | ||
| 11915 | |||
| 11916 | ;; The Russian layout for a ThinkPad keyboard. | ||
| 11917 | (keyboard-layout "ru" #:model "thinkpad") | ||
| 11918 | |||
| 11919 | ;; The "US international" layout, which is the US layout plus | ||
| 11920 | ;; dead keys to enter accented characters. This is for an | ||
| 11921 | ;; Apple MacBook keyboard. | ||
| 11922 | (keyboard-layout "us" "intl" #:model "macbook78") | ||
| 11923 | @end example | ||
| 11924 | |||
| 11925 | See the @file{share/X11/xkb} directory of the @code{xkeyboard-config} | ||
| 11926 | package for a complete list of supported layouts, variants, and models. | ||
| 11927 | |||
| 11928 | @cindex Tastaturbelegung, Konfiguration | ||
| 11929 | Let's say you want your system to use the Turkish keyboard layout throughout | ||
| 11930 | your system---bootloader, console, and Xorg. Here's what your system | ||
| 11931 | configuration would look like: | ||
| 11932 | |||
| 11933 | @findex set-xorg-configuration | ||
| 11934 | @lisp | ||
| 11935 | ;; Using the Turkish layout for the bootloader, the console, | ||
| 11936 | ;; and for Xorg. | ||
| 11937 | |||
| 11938 | (operating-system | ||
| 11939 | ;; ... | ||
| 11940 | (keyboard-layout (keyboard-layout "tr")) ;for the console | ||
| 11941 | (bootloader (bootloader-configuration | ||
| 11942 | (bootloader grub-efi-bootloader) | ||
| 11943 | (target "/boot/efi") | ||
| 11944 | (keyboard-layout keyboard-layout))) ;for GRUB | ||
| 11945 | (services (cons (set-xorg-configuration | ||
| 11946 | (xorg-configuration ;for Xorg | ||
| 11947 | (keyboard-layout keyboard-layout))) | ||
| 11948 | %desktop-services))) | ||
| 11949 | @end lisp | ||
| 11950 | |||
| 11951 | In the example above, for GRUB and for Xorg, we just refer to the | ||
| 11952 | @code{keyboard-layout} field defined above, but we could just as well refer | ||
| 11953 | to a different layout. The @code{set-xorg-configuration} procedure | ||
| 11954 | communicates the desired Xorg configuration to the graphical log-in manager, | ||
| 11955 | by default GDM. | ||
| 11956 | |||
| 11957 | We've discussed how to specify the @emph{default} keyboard layout of your | ||
| 11958 | system when it starts, but you can also adjust it at run time: | ||
| 11959 | |||
| 11960 | @itemize | ||
| 11961 | @item | ||
| 11962 | If you're using GNOME, its settings panel has a ``Region & Language'' entry | ||
| 11963 | where you can select one or more keyboard layouts. | ||
| 11964 | |||
| 11965 | @item | ||
| 11966 | Under Xorg, the @command{setxkbmap} command (from the same-named package) | ||
| 11967 | allows you to change the current layout. For example, this is how you would | ||
| 11968 | change the layout to US Dvorak: | ||
| 11969 | |||
| 11970 | @example | ||
| 11971 | setxkbmap us dvorak | ||
| 11972 | @end example | ||
| 11973 | |||
| 11974 | @item | ||
| 11975 | The @code{loadkeys} command changes the keyboard layout in effect in the | ||
| 11976 | Linux console. However, note that @code{loadkeys} does @emph{not} use the | ||
| 11977 | XKB keyboard layout categorization described above. The command below loads | ||
| 11978 | the French bépo layout: | ||
| 11979 | |||
| 11980 | @example | ||
| 11981 | loadkeys fr-bepo | ||
| 11982 | @end example | ||
| 11983 | @end itemize | ||
| 11984 | |||
| 11320 | @node Locales | 11985 | @node Locales |
| 11321 | @section Locales | 11986 | @section Locales |
| 11322 | 11987 | ||
| 11323 | @cindex Locale | 11988 | @cindex Locale |
| 11324 | Eine @dfn{Locale} legt die kulturellen Konventionen einer bestimmten Sprache | 11989 | Eine @dfn{Locale} legt die kulturellen Konventionen einer bestimmten Sprache |
| 11325 | und Region auf der Welt fest (@pxref{Locales,,, libc, The GNU C Library | 11990 | und Region auf der Welt fest (siehe @ref{Locales,,, libc, The GNU C Library |
| 11326 | Reference Manual}). Jede Locale hat einen Namen, der typischerweise von der | 11991 | Reference Manual}). Jede Locale hat einen Namen, der typischerweise von der |
| 11327 | Form @code{@var{Sprache}_@var{Territorium}.@var{Kodierung}} — z.B. benennt | 11992 | Form @code{@var{Sprache}_@var{Gebiet}.@var{Kodierung}} — z.B.@: benennt |
| 11328 | @code{fr_LU.utf8} die Locale für französische Sprache mit den kulturellen | 11993 | @code{fr_LU.utf8} die Locale für französische Sprache mit den kulturellen |
| 11329 | Konventionen aus Luxemburg unter Verwendung der UTF-8-Kodierung. | 11994 | Konventionen aus Luxemburg unter Verwendung der UTF-8-Kodierung. |
| 11330 | 11995 | ||
| 11331 | @cindex Locale-Definition | 11996 | @cindex Locale-Definition |
| 11332 | Normalerweise werden Sie eine standardmäßig zu verwendende Locale für die | 11997 | Normalerweise werden Sie eine standardmäßig zu verwendende Locale für die |
| 11333 | Maschine vorgeben wollen, indem Sie das @code{locale}-Feld der | 11998 | Maschine vorgeben wollen, indem Sie das @code{locale}-Feld der |
| 11334 | @code{operating-system}-Deklaration verwenden (@pxref{»operating-system«-Referenz, @code{locale}}). | 11999 | @code{operating-system}-Deklaration verwenden (siehe @ref{»operating-system«-Referenz, @code{locale}}). |
| 11335 | 12000 | ||
| 11336 | Die ausgewählte Locale wird automatisch zu den dem System bekannten | 12001 | Die ausgewählte Locale wird automatisch zu den dem System bekannten |
| 11337 | @dfn{Locale-Definitionen} hinzugefügt, falls nötig, und ihre Kodierung wird | 12002 | @dfn{Locale-Definitionen} hinzugefügt, falls nötig, und ihre Kodierung wird |
| 11338 | aus dem Namen hergeleitet — z.B. wird angenommen, dass @code{bo_CN.utf8} als | 12003 | aus dem Namen hergeleitet — z.B.@: wird angenommen, dass @code{bo_CN.utf8} |
| 11339 | Kodierung @code{UTF-8} verwendet. Zusätzliche Locale-Definitionen können im | 12004 | als Kodierung @code{UTF-8} verwendet. Zusätzliche Locale-Definitionen können |
| 11340 | Feld @code{locale-definitions} vom @code{operating-system} festgelegt werden | 12005 | im Feld @code{locale-definitions} vom @code{operating-system} festgelegt |
| 11341 | — das ist zum Beispiel dann nützlich, wenn die Kodierung nicht aus dem | 12006 | werden — das ist zum Beispiel dann nützlich, wenn die Kodierung nicht aus |
| 11342 | Locale-Namen hergeleitet werden konnte. Die vorgegebene Menge an | 12007 | dem Locale-Namen hergeleitet werden konnte. Die vorgegebene Menge an |
| 11343 | Locale-Definitionen enthält manche weit verbreiteten Locales, aber um Platz | 12008 | Locale-Definitionen enthält manche weit verbreiteten Locales, aber um Platz |
| 11344 | zu sparen, nicht alle verfügbaren Locales. | 12009 | zu sparen, nicht alle verfügbaren Locales. |
| 11345 | 12010 | ||
| @@ -11366,8 +12031,8 @@ Die kompilierten Locale-Definitionen sind unter | |||
| 11366 | @file{/run/current-system/locale/X.Y} verfügbar, wobei @code{X.Y} die | 12031 | @file{/run/current-system/locale/X.Y} verfügbar, wobei @code{X.Y} die |
| 11367 | Version von libc bezeichnet. Dies entspricht dem Pfad, an dem eine von Guix | 12032 | Version von libc bezeichnet. Dies entspricht dem Pfad, an dem eine von Guix |
| 11368 | ausgelieferte GNU@tie{}libc standardmäßig nach Locale-Daten sucht. Er kann | 12033 | ausgelieferte GNU@tie{}libc standardmäßig nach Locale-Daten sucht. Er kann |
| 11369 | überschrieben werden durch die Umgebungsvariable @code{LOCPATH} | 12034 | überschrieben werden durch die Umgebungsvariable @code{LOCPATH} (siehe |
| 11370 | (@pxref{locales-and-locpath, @code{LOCPATH} und Locale-Pakete}). | 12035 | @ref{locales-and-locpath, @code{LOCPATH} und Locale-Pakete}). |
| 11371 | 12036 | ||
| 11372 | Die @code{locale-definition}-Form wird vom Modul @code{(gnu system locale)} | 12037 | Die @code{locale-definition}-Form wird vom Modul @code{(gnu system locale)} |
| 11373 | zur Verfügung gestellt. Details folgen unten. | 12038 | zur Verfügung gestellt. Details folgen unten. |
| @@ -11378,15 +12043,15 @@ Dies ist der Datentyp einer Locale-Definition. | |||
| 11378 | @table @asis | 12043 | @table @asis |
| 11379 | 12044 | ||
| 11380 | @item @code{name} | 12045 | @item @code{name} |
| 11381 | Der Name der Locale. Siehe @xref{Locale Names,,, libc, The GNU C Library | 12046 | Der Name der Locale. Siehe @ref{Locale Names,,, libc, The GNU C Library |
| 11382 | Reference Manual} für mehr Informationen zu Locale-Namen. | 12047 | Reference Manual} für mehr Informationen zu Locale-Namen. |
| 11383 | 12048 | ||
| 11384 | @item @code{source} | 12049 | @item @code{source} |
| 11385 | Der Name der Quelle der Locale. Typischerweise ist das der Teil aus | 12050 | Der Name der Quelle der Locale. Typischerweise ist das der Teil |
| 11386 | @code{@var{Sprache}_@var{Territorium}} des Locale-Namens. | 12051 | @code{@var{Sprache}_@var{Gebiet}} des Locale-Namens. |
| 11387 | 12052 | ||
| 11388 | @item @code{charset} (Vorgabe: @code{"UTF-8"}) | 12053 | @item @code{charset} (Vorgabe: @code{"UTF-8"}) |
| 11389 | Der »Zeichensatz« oder das »Code set«, d.h. die Kodierung dieser Locale, | 12054 | Der »Zeichensatz« oder das »Code set«, d.h.@: die Kodierung dieser Locale, |
| 11390 | @uref{http://www.iana.org/assignments/character-sets, wie die IANA sie | 12055 | @uref{http://www.iana.org/assignments/character-sets, wie die IANA sie |
| 11391 | definiert}. | 12056 | definiert}. |
| 11392 | 12057 | ||
| @@ -11401,7 +12066,7 @@ benutzt wird. | |||
| 11401 | @cindex Locale-Name | 12066 | @cindex Locale-Name |
| 11402 | @cindex Normalisiertes Codeset in Locale-Namen | 12067 | @cindex Normalisiertes Codeset in Locale-Namen |
| 11403 | Diese Locale-Definitionen benutzen das @dfn{normalisierte Codeset} für den | 12068 | Diese Locale-Definitionen benutzen das @dfn{normalisierte Codeset} für den |
| 11404 | Teil des Namens, der nach dem Punkt steht (@pxref{Using gettextized | 12069 | Teil des Namens, der nach dem Punkt steht (siehe @ref{Using gettextized |
| 11405 | software, normalized codeset,, libc, The GNU C Library Reference | 12070 | software, normalized codeset,, libc, The GNU C Library Reference |
| 11406 | Manual}). Zum Beispiel ist @code{uk_UA.utf8} enthalten, dagegen ist etwa | 12071 | Manual}). Zum Beispiel ist @code{uk_UA.utf8} enthalten, dagegen ist etwa |
| 11407 | @code{uk_UA.UTF-8} darin @emph{nicht} enthalten. | 12072 | @code{uk_UA.UTF-8} darin @emph{nicht} enthalten. |
| @@ -11412,9 +12077,9 @@ Manual}). Zum Beispiel ist @code{uk_UA.utf8} enthalten, dagegen ist etwa | |||
| 11412 | @cindex Inkompatibilität, von Locale-Daten | 12077 | @cindex Inkompatibilität, von Locale-Daten |
| 11413 | @code{operating-system}-Deklarationen verfügen über ein | 12078 | @code{operating-system}-Deklarationen verfügen über ein |
| 11414 | @code{locale-libcs}-Feld, um die GNU@tie{}libc-Pakete anzugeben, die zum | 12079 | @code{locale-libcs}-Feld, um die GNU@tie{}libc-Pakete anzugeben, die zum |
| 11415 | Kompilieren von Locale-Deklarationen verwendet werden sollen | 12080 | Kompilieren von Locale-Deklarationen verwendet werden sollen (siehe |
| 11416 | (@pxref{»operating-system«-Referenz}). »Was interessiert mich das?«, könnten | 12081 | @ref{»operating-system«-Referenz}). »Was interessiert mich das?«, könnten Sie |
| 11417 | Sie fragen. Naja, leider ist das binäre Format der Locale-Daten von einer | 12082 | fragen. Naja, leider ist das binäre Format der Locale-Daten von einer |
| 11418 | libc-Version auf die nächste manchmal nicht miteinander kompatibel. | 12083 | libc-Version auf die nächste manchmal nicht miteinander kompatibel. |
| 11419 | 12084 | ||
| 11420 | @c See <https://sourceware.org/ml/libc-alpha/2015-09/msg00575.html> | 12085 | @c See <https://sourceware.org/ml/libc-alpha/2015-09/msg00575.html> |
| @@ -11430,14 +12095,14 @@ meisten, aber nicht alle, Locale-Daten von libc 2.21 lesen (Daten zu | |||
| 11430 | Aufrufe von @code{setlocale} vielleicht fehl, aber das Programm läuft | 12095 | Aufrufe von @code{setlocale} vielleicht fehl, aber das Programm läuft |
| 11431 | weiter. | 12096 | weiter. |
| 11432 | 12097 | ||
| 11433 | The ``problem'' with Guix is that users have a lot of freedom: They can | 12098 | Das »Problem« mit Guix ist, dass Nutzer viel Freiheit genießen: Sie können |
| 11434 | choose whether and when to upgrade software in their profiles, and might be | 12099 | wählen, ob und wann sie die Software in ihren Profilen aktualisieren und |
| 11435 | using a libc version different from the one the system administrator used to | 12100 | benutzen vielleicht eine andere libc-Version als sie der Systemadministrator |
| 11436 | build the system-wide locale data. | 12101 | benutzt hat, um die systemweiten Locale-Daten zu erstellen. |
| 11437 | 12102 | ||
| 11438 | Glücklicherweise können »unprivilegierte« Nutzer ohne zusätzliche | 12103 | Glücklicherweise können »unprivilegierte« Nutzer ohne zusätzliche |
| 11439 | Berechtigungen dann zumindest ihre eigenen Locale-Daten installieren und | 12104 | Berechtigungen dann zumindest ihre eigenen Locale-Daten installieren und |
| 11440 | @var{GUIX_LOCPATH} entsprechend definieren (@pxref{locales-and-locpath, | 12105 | @var{GUIX_LOCPATH} entsprechend definieren (siehe @ref{locales-and-locpath, |
| 11441 | @code{GUIX_LOCPATH} und Locale-Pakete}). | 12106 | @code{GUIX_LOCPATH} und Locale-Pakete}). |
| 11442 | 12107 | ||
| 11443 | Trotzdem ist es am besten, wenn die systemweiten Locale-Daten unter | 12108 | Trotzdem ist es am besten, wenn die systemweiten Locale-Daten unter |
| @@ -11466,16 +12131,18 @@ für libc 2.21 als auch die aktuelle Version von libc in | |||
| 11466 | @cindex Systemdienste | 12131 | @cindex Systemdienste |
| 11467 | Ein wichtiger Bestandteil des Schreibens einer | 12132 | Ein wichtiger Bestandteil des Schreibens einer |
| 11468 | @code{operating-system}-Deklaration ist das Auflisten der | 12133 | @code{operating-system}-Deklaration ist das Auflisten der |
| 11469 | @dfn{Systemdienste} und ihrer Konfiguration (@pxref{Das Konfigurationssystem nutzen}). Systemdienste sind typischerweise im Hintergrund laufende | 12134 | @dfn{Systemdienste} und ihrer Konfiguration (siehe @ref{Das Konfigurationssystem nutzen}). Systemdienste sind typischerweise im Hintergrund |
| 11470 | Daemon-Programme, die beim Hochfahren des Systems gestartet werden, oder | 12135 | laufende Daemon-Programme, die beim Hochfahren des Systems gestartet werden, |
| 11471 | andere Aktionen, die zu dieser Zeit durchgeführt werden müssen — wie das | 12136 | oder andere Aktionen, die zu dieser Zeit durchgeführt werden müssen — wie |
| 11472 | Konfigurieren des Netzwerkzugangs. | 12137 | das Konfigurieren des Netzwerkzugangs. |
| 11473 | 12138 | ||
| 11474 | Guix has a broad definition of ``service'' (@pxref{Dienstkompositionen}), | 12139 | Guix hat eine weit gefasste Definition, was ein »Dienst« ist (siehe |
| 11475 | but many services are managed by the GNU@tie{}Shepherd (@pxref{Shepherd-Dienste}). On a running system, the @command{herd} command allows you to | 12140 | @ref{Dienstkompositionen}), aber viele Dienste sind solche, die von |
| 11476 | list the available services, show their status, start and stop them, or do | 12141 | GNU@tie{}Shepherd verwaltet werden (siehe @ref{Shepherd-Dienste}). Auf |
| 11477 | other specific operations (@pxref{Jump Start,,, shepherd, The GNU Shepherd | 12142 | einem laufenden System kann der @command{herd}-Befehl benutzt werden, um |
| 11478 | Manual}). For example: | 12143 | verfügbare Dienste aufzulisten, ihren Status anzuzeigen, sie zu starten und |
| 12144 | zu stoppen oder andere angebotene Operationen durchzuführen (siehe @ref{Jump | ||
| 12145 | Start,,, shepherd, The GNU Shepherd Manual}). Zum Beispiel: | ||
| 11479 | 12146 | ||
| 11480 | @example | 12147 | @example |
| 11481 | # herd status | 12148 | # herd status |
| @@ -11526,6 +12193,7 @@ den Diensten im Kern des Systems (»core services«) | |||
| 11526 | * Telefondienste:: Telefoniedienste. | 12193 | * Telefondienste:: Telefoniedienste. |
| 11527 | * Überwachungsdienste:: Dienste zur Systemüberwachung. | 12194 | * Überwachungsdienste:: Dienste zur Systemüberwachung. |
| 11528 | * Kerberos-Dienste:: Kerberos-Dienste. | 12195 | * Kerberos-Dienste:: Kerberos-Dienste. |
| 12196 | * LDAP-Dienste:: LDAP-Dienste. | ||
| 11529 | * Web-Dienste:: Web-Server. | 12197 | * Web-Dienste:: Web-Server. |
| 11530 | * Zertifikatsdienste:: TLS-Zertifikate via Let’s Encrypt. | 12198 | * Zertifikatsdienste:: TLS-Zertifikate via Let’s Encrypt. |
| 11531 | * DNS-Dienste:: DNS-Daemons. | 12199 | * DNS-Dienste:: DNS-Daemons. |
| @@ -11549,7 +12217,7 @@ Folgenden sind die von diesem Modul exportierten Dienste aufgeführt. | |||
| 11549 | 12217 | ||
| 11550 | @defvr {Scheme-Variable} %base-services | 12218 | @defvr {Scheme-Variable} %base-services |
| 11551 | Diese Variable enthält eine Liste von Basis-Diensten, die man auf einem | 12219 | Diese Variable enthält eine Liste von Basis-Diensten, die man auf einem |
| 11552 | System vorzufinden erwartet (siehe @pxref{Diensttypen und Dienste} für | 12220 | System vorzufinden erwartet (siehe @ref{Diensttypen und Dienste} für |
| 11553 | weitere Informationen zu Dienstobjekten): ein Anmeldungsdienst (mingetty) | 12221 | weitere Informationen zu Dienstobjekten): ein Anmeldungsdienst (mingetty) |
| 11554 | auf jeder Konsole (jedem »tty«), syslogd, den Name Service Cache Daemon | 12222 | auf jeder Konsole (jedem »tty«), syslogd, den Name Service Cache Daemon |
| 11555 | (nscd) von libc, die udev-Geräteverwaltung und weitere. | 12223 | (nscd) von libc, die udev-Geräteverwaltung und weitere. |
| @@ -11592,7 +12260,7 @@ möchten, können Sie den Wert ändern auf: | |||
| 11592 | 12260 | ||
| 11593 | Da dieser Dienst Teil der @code{%base-services} ist, können Sie | 12261 | Da dieser Dienst Teil der @code{%base-services} ist, können Sie |
| 11594 | @code{modify-services} benutzen, um die Liste besonderer Dateien abzuändern | 12262 | @code{modify-services} benutzen, um die Liste besonderer Dateien abzuändern |
| 11595 | (@pxref{Service-Referenz, @code{modify-services}}). Die leichte | 12263 | (siehe @ref{Service-Referenz, @code{modify-services}}). Die leichte |
| 11596 | Alternative, um eine besondere Datei hinzuzufügen, ist über die Prozedur | 12264 | Alternative, um eine besondere Datei hinzuzufügen, ist über die Prozedur |
| 11597 | @code{extra-special-file} (siehe unten). | 12265 | @code{extra-special-file} (siehe unten). |
| 11598 | @end defvr | 12266 | @end defvr |
| @@ -11618,7 +12286,7 @@ als @var{Name} festlegt. | |||
| 11618 | @deffn {Scheme-Prozedur} login-service @var{Konfiguration} | 12286 | @deffn {Scheme-Prozedur} login-service @var{Konfiguration} |
| 11619 | Liefert einen Dienst, der die Benutzeranmeldung möglich macht. Dazu | 12287 | Liefert einen Dienst, der die Benutzeranmeldung möglich macht. Dazu |
| 11620 | verwendet er die angegebene @var{Konfiguration}, ein | 12288 | verwendet er die angegebene @var{Konfiguration}, ein |
| 11621 | @code{<login-configuration>}-Objekt, das unter Anderem die beim Anmelden | 12289 | @code{<login-configuration>}-Objekt, das unter anderem die beim Anmelden |
| 11622 | angezeigte Mitteilung des Tages (englisch »Message of the Day«) festlegt. | 12290 | angezeigte Mitteilung des Tages (englisch »Message of the Day«) festlegt. |
| 11623 | @end deffn | 12291 | @end deffn |
| 11624 | 12292 | ||
| @@ -11641,7 +12309,7 @@ angelegt wurde. | |||
| 11641 | 12309 | ||
| 11642 | @deffn {Scheme-Prozedur} mingetty-service @var{Konfiguration} | 12310 | @deffn {Scheme-Prozedur} mingetty-service @var{Konfiguration} |
| 11643 | Liefert einen Dienst, der mingetty nach den Vorgaben der @var{Konfiguration} | 12311 | Liefert einen Dienst, der mingetty nach den Vorgaben der @var{Konfiguration} |
| 11644 | ausführt, einem @code{<mingetty-configuration>}-Objekt, das unter Anderem | 12312 | ausführt, einem @code{<mingetty-configuration>}-Objekt, das unter anderem |
| 11645 | die Konsole (das »tty«) festlegt, auf der mingetty laufen soll. | 12313 | die Konsole (das »tty«) festlegt, auf der mingetty laufen soll. |
| 11646 | @end deffn | 12314 | @end deffn |
| 11647 | 12315 | ||
| @@ -11652,8 +12320,8 @@ vorgegebenen Implementierung zur Anmeldung auf einer virtuellen Konsole. | |||
| 11652 | @table @asis | 12320 | @table @asis |
| 11653 | 12321 | ||
| 11654 | @item @code{tty} | 12322 | @item @code{tty} |
| 11655 | Der Name der Konsole, auf der diese Mingetty-Instanz läuft — | 12323 | Der Name der Konsole, auf der diese Mingetty-Instanz läuft — z.B.@: |
| 11656 | z.B. @code{"tty1"}. | 12324 | @code{"tty1"}. |
| 11657 | 12325 | ||
| 11658 | @item @code{auto-login} (Vorgabe: @code{#f}) | 12326 | @item @code{auto-login} (Vorgabe: @code{#f}) |
| 11659 | Steht dieses Feld auf wahr, muss es eine Zeichenkette sein, die den | 12327 | Steht dieses Feld auf wahr, muss es eine Zeichenkette sein, die den |
| @@ -11680,7 +12348,7 @@ Welches Mingetty-Paket benutzt werden soll. | |||
| 11680 | @deffn {Scheme-Prozedur} agetty-service @var{Konfiguration} | 12348 | @deffn {Scheme-Prozedur} agetty-service @var{Konfiguration} |
| 11681 | Liefert einen Dienst, um agetty entsprechend der @var{Konfiguration} | 12349 | Liefert einen Dienst, um agetty entsprechend der @var{Konfiguration} |
| 11682 | auszuführen, welche ein @code{<agetty-configuration>}-Objekt sein muss, das | 12350 | auszuführen, welche ein @code{<agetty-configuration>}-Objekt sein muss, das |
| 11683 | unter Anderem festlegt, auf welchem tty es laufen soll. | 12351 | unter anderem festlegt, auf welchem tty es laufen soll. |
| 11684 | @end deffn | 12352 | @end deffn |
| 11685 | 12353 | ||
| 11686 | @deftp {Datentyp} agetty-configuration | 12354 | @deftp {Datentyp} agetty-configuration |
| @@ -11692,7 +12360,7 @@ die Handbuchseite @code{agetty(8)} für mehr Informationen. | |||
| 11692 | 12360 | ||
| 11693 | @item @code{tty} | 12361 | @item @code{tty} |
| 11694 | Der Name der Konsole, auf der diese Instanz von agetty läuft, als | 12362 | Der Name der Konsole, auf der diese Instanz von agetty läuft, als |
| 11695 | Zeichenkette — z.B. @code{"ttyS0"}. Dieses Argument ist optional, sein | 12363 | Zeichenkette — z.B.@: @code{"ttyS0"}. Dieses Argument ist optional, sein |
| 11696 | Vorgabewert ist eine vernünftige Wahl unter den seriellen Schnittstellen, | 12364 | Vorgabewert ist eine vernünftige Wahl unter den seriellen Schnittstellen, |
| 11697 | auf deren Benutzung der Linux-Kernel eingestellt ist. | 12365 | auf deren Benutzung der Linux-Kernel eingestellt ist. |
| 11698 | 12366 | ||
| @@ -11704,8 +12372,9 @@ Andernfalls wird agetty, falls auf der Kernel-Befehlszeile eine Option | |||
| 11704 | @code{console} mit einem tty vorkommt, den daraus extrahierten Gerätenamen | 12372 | @code{console} mit einem tty vorkommt, den daraus extrahierten Gerätenamen |
| 11705 | der seriellen Schnittstelle benutzen. | 12373 | der seriellen Schnittstelle benutzen. |
| 11706 | 12374 | ||
| 11707 | In both cases, agetty will leave the other serial device settings (baud rate | 12375 | In beiden Fällen wird agetty nichts an den anderen Einstellungen für |
| 11708 | etc.)@: alone---in the hope that Linux pinned them to the correct values. | 12376 | serielle Geräte verändern (Baud-Rate etc.), in der Hoffnung, dass Linux sie |
| 12377 | auf die korrekten Werte festgelegt hat. | ||
| 11709 | 12378 | ||
| 11710 | @item @code{baud-rate} (Vorgabe: @code{#f}) | 12379 | @item @code{baud-rate} (Vorgabe: @code{#f}) |
| 11711 | Eine Zeichenkette, die aus einer kommagetrennten Liste von einer oder | 12380 | Eine Zeichenkette, die aus einer kommagetrennten Liste von einer oder |
| @@ -11725,7 +12394,7 @@ angegebene Nutzer automatisch angemeldet, ohne nach einem Anmeldenamen oder | |||
| 11725 | Passwort zu fragen. | 12394 | Passwort zu fragen. |
| 11726 | 12395 | ||
| 11727 | @item @code{no-reset?} (Vorgabe: @code{#f}) | 12396 | @item @code{no-reset?} (Vorgabe: @code{#f}) |
| 11728 | Steht dies auf @code{#t}, werden die Cflags des Terminals (d.h. dessen | 12397 | Steht dies auf @code{#t}, werden die Cflags des Terminals (d.h.@: dessen |
| 11729 | Steuermodi) nicht zurückgesetzt. | 12398 | Steuermodi) nicht zurückgesetzt. |
| 11730 | 12399 | ||
| 11731 | @item @code{host} (Vorgabe: @code{#f}) | 12400 | @item @code{host} (Vorgabe: @code{#f}) |
| @@ -11749,7 +12418,7 @@ Ist dies auf @code{#t} gesetzt, wird der Inhalt der Datei @file{/etc/issue} | |||
| 11749 | 12418 | ||
| 11750 | @item @code{init-string} (Vorgabe: @code{#f}) | 12419 | @item @code{init-string} (Vorgabe: @code{#f}) |
| 11751 | Dies akzeptiert eine Zeichenkette, die zum tty oder zum Modem zuerst vor | 12420 | Dies akzeptiert eine Zeichenkette, die zum tty oder zum Modem zuerst vor |
| 11752 | allem Anderen gesendet wird. Es kann benutzt werden, um ein Modem zu | 12421 | allem anderen gesendet wird. Es kann benutzt werden, um ein Modem zu |
| 11753 | initialisieren. | 12422 | initialisieren. |
| 11754 | 12423 | ||
| 11755 | @item @code{no-clear?} (Vorgabe: @code{#f}) | 12424 | @item @code{no-clear?} (Vorgabe: @code{#f}) |
| @@ -11877,7 +12546,7 @@ müssen hier als eine Liste von Zeichenketten angegeben werden. | |||
| 11877 | Liefert einen Dienst, um | 12546 | Liefert einen Dienst, um |
| 11878 | @uref{https://www.freedesktop.org/wiki/Software/kmscon,kmscon} entsprechend | 12547 | @uref{https://www.freedesktop.org/wiki/Software/kmscon,kmscon} entsprechend |
| 11879 | der @var{Konfiguration} auszuführen. Diese ist ein | 12548 | der @var{Konfiguration} auszuführen. Diese ist ein |
| 11880 | @code{<kmscon-configuration>}-Objekt, das unter Anderem angibt, auf welchem | 12549 | @code{<kmscon-configuration>}-Objekt, das unter anderem angibt, auf welchem |
| 11881 | tty es ausgeführt werden soll. | 12550 | tty es ausgeführt werden soll. |
| 11882 | @end deffn | 12551 | @end deffn |
| 11883 | 12552 | ||
| @@ -11888,7 +12557,7 @@ auf virtuellen Konsolen ermöglicht. | |||
| 11888 | @table @asis | 12557 | @table @asis |
| 11889 | 12558 | ||
| 11890 | @item @code{virtual-terminal} | 12559 | @item @code{virtual-terminal} |
| 11891 | Der Name der Konsole, auf der diese Kmscon läuft — z.B. @code{"tty1"}. | 12560 | Der Name der Konsole, auf der diese Kmscon läuft — z.B.@: @code{"tty1"}. |
| 11892 | 12561 | ||
| 11893 | @item @code{login-program} (Vorgabe: @code{#~(string-append #$shadow "/bin/login")}) | 12562 | @item @code{login-program} (Vorgabe: @code{#~(string-append #$shadow "/bin/login")}) |
| 11894 | Ein G-Ausdruck, der den Namen des Anmeldeprogramms angibt. Als Vorgabe wird | 12563 | Ein G-Ausdruck, der den Namen des Anmeldeprogramms angibt. Als Vorgabe wird |
| @@ -11916,7 +12585,7 @@ Das Kmscon-Paket, das benutzt werden soll. | |||
| 11916 | @deffn {Scheme-Prozedur} nscd-service [@var{Konfiguration}] [#:glibc glibc] @ | 12585 | @deffn {Scheme-Prozedur} nscd-service [@var{Konfiguration}] [#:glibc glibc] @ |
| 11917 | [#:name-services '()] Liefert einen Dienst, der den Name Service Cache | 12586 | [#:name-services '()] Liefert einen Dienst, der den Name Service Cache |
| 11918 | Daemon (nscd) von libc mit der angegebenen @var{Konfiguration} ausführt — | 12587 | Daemon (nscd) von libc mit der angegebenen @var{Konfiguration} ausführt — |
| 11919 | diese muss ein @code{<nscd-configuration>}-Objekt sein. Siehe @xref{Name Service Switch} für ein Beispiel. | 12588 | diese muss ein @code{<nscd-configuration>}-Objekt sein. Siehe @ref{Name Service Switch} für ein Beispiel. |
| 11920 | 12589 | ||
| 11921 | Der Einfachheit halber bietet der Shepherd-Dienst für nscd die folgenden | 12590 | Der Einfachheit halber bietet der Shepherd-Dienst für nscd die folgenden |
| 11922 | Aktionen an: | 12591 | Aktionen an: |
| @@ -11958,7 +12627,7 @@ Daemon (kurz »nscd«). | |||
| 11958 | 12627 | ||
| 11959 | @item @code{name-services} (Vorgabe: @code{'()}) | 12628 | @item @code{name-services} (Vorgabe: @code{'()}) |
| 11960 | Liste von Paketen, die @dfn{Namensdienste} bezeichnen, die für den nscd | 12629 | Liste von Paketen, die @dfn{Namensdienste} bezeichnen, die für den nscd |
| 11961 | sichtbar sein müssen, z.B. @code{(list @var{nss-mdns})}. | 12630 | sichtbar sein müssen, z.B.@: @code{(list @var{nss-mdns})}. |
| 11962 | 12631 | ||
| 11963 | @item @code{glibc} (Vorgabe: @var{glibc}) | 12632 | @item @code{glibc} (Vorgabe: @var{glibc}) |
| 11964 | Ein Paket-Objekt, das die GNU-C-Bibliothek angibt, woraus der | 12633 | Ein Paket-Objekt, das die GNU-C-Bibliothek angibt, woraus der |
| @@ -11989,8 +12658,8 @@ Parametern definiert. | |||
| 11989 | Dies ist ein Symbol, was den Namen der Datenbank repräsentiert, die | 12658 | Dies ist ein Symbol, was den Namen der Datenbank repräsentiert, die |
| 11990 | zwischengespeichert werden soll. Gültige Werte sind @code{passwd}, | 12659 | zwischengespeichert werden soll. Gültige Werte sind @code{passwd}, |
| 11991 | @code{group}, @code{hosts} und @code{services}, womit jeweils die | 12660 | @code{group}, @code{hosts} und @code{services}, womit jeweils die |
| 11992 | entsprechende NSS-Datenbank bezeichnet wird (@pxref{NSS Basics,,, libc, The | 12661 | entsprechende NSS-Datenbank bezeichnet wird (siehe @ref{NSS Basics,,, libc, |
| 11993 | GNU C Library Reference Manual}). | 12662 | The GNU C Library Reference Manual}). |
| 11994 | 12663 | ||
| 11995 | @item @code{positive-time-to-live} | 12664 | @item @code{positive-time-to-live} |
| 11996 | @itemx @code{negative-time-to-live} (Vorgabe: @code{20}) | 12665 | @itemx @code{negative-time-to-live} (Vorgabe: @code{20}) |
| @@ -12057,21 +12726,21 @@ Die zu benutzende syslog-Konfigurationsdatei. | |||
| 12057 | Liefert einen Dienst, der einen syslog-Daemon entsprechend der | 12726 | Liefert einen Dienst, der einen syslog-Daemon entsprechend der |
| 12058 | @var{Konfiguration} ausführt. | 12727 | @var{Konfiguration} ausführt. |
| 12059 | 12728 | ||
| 12060 | @xref{syslogd invocation,,, inetutils, GNU Inetutils}, für weitere | 12729 | Siehe @ref{syslogd invocation,,, inetutils, GNU Inetutils} für weitere |
| 12061 | Informationen über die Syntax der Konfiguration. | 12730 | Informationen über die Syntax der Konfiguration. |
| 12062 | @end deffn | 12731 | @end deffn |
| 12063 | 12732 | ||
| 12064 | @defvr {Scheme-Variable} guix-service-type | 12733 | @defvr {Scheme-Variable} guix-service-type |
| 12065 | Dies ist der Typ für den Dienst, der den Erstellungs-Daemon | 12734 | Dies ist der Typ für den Dienst, der den Erstellungs-Daemon |
| 12066 | @command{guix-daemon} ausführt (@pxref{Aufruf des guix-daemon}). Als Wert muss | 12735 | @command{guix-daemon} ausführt (siehe @ref{Aufruf des guix-daemon}). Als Wert |
| 12067 | ein @code{guix-configuration}-Verbundsobjekt verwendet werden, wie unten | 12736 | muss ein @code{guix-configuration}-Verbundsobjekt verwendet werden, wie |
| 12068 | beschrieben. | 12737 | unten beschrieben. |
| 12069 | @end defvr | 12738 | @end defvr |
| 12070 | 12739 | ||
| 12071 | @anchor{guix-configuration-type} | 12740 | @anchor{guix-configuration-type} |
| 12072 | @deftp {Datentyp} guix-configuration | 12741 | @deftp {Datentyp} guix-configuration |
| 12073 | Dieser Datentyp repräsentiert die Konfiguration des Erstellungs-Daemons von | 12742 | Dieser Datentyp repräsentiert die Konfiguration des Erstellungs-Daemons von |
| 12074 | Guix. Siehe @xref{Aufruf des guix-daemon} für weitere Informationen. | 12743 | Guix. Siehe @ref{Aufruf des guix-daemon} für weitere Informationen. |
| 12075 | 12744 | ||
| 12076 | @table @asis | 12745 | @table @asis |
| 12077 | @item @code{guix} (Vorgabe: @var{guix}) | 12746 | @item @code{guix} (Vorgabe: @var{guix}) |
| @@ -12085,15 +12754,16 @@ Die Anzahl zu erzeugender Erstellungs-Benutzerkonten. | |||
| 12085 | 12754 | ||
| 12086 | @item @code{authorize-key?} (Vorgabe: @code{#t}) | 12755 | @item @code{authorize-key?} (Vorgabe: @code{#t}) |
| 12087 | @cindex Substitute, deren Autorisierung | 12756 | @cindex Substitute, deren Autorisierung |
| 12088 | Whether to authorize the substitute keys listed in | 12757 | Ob die unter @code{authorized-keys} aufgelisteten Substitutschlüssel |
| 12089 | @code{authorized-keys}---by default that of @code{@value{SUBSTITUTE-SERVER}} | 12758 | autorisiert werden sollen — vorgegeben ist, den von |
| 12090 | (@pxref{Substitute}). | 12759 | @code{@value{SUBSTITUTE-SERVER}} zu autorisieren (siehe @ref{Substitute}). |
| 12091 | 12760 | ||
| 12092 | @vindex %default-authorized-guix-keys | 12761 | @vindex %default-authorized-guix-keys |
| 12093 | @item @code{authorized-keys} (Vorgabe: @var{%default-authorized-guix-keys}) | 12762 | @item @code{authorized-keys} (Vorgabe: @var{%default-authorized-guix-keys}) |
| 12094 | The list of authorized key files for archive imports, as a list of | 12763 | Die Liste der Dateien mit autorisierten Schlüsseln, d.h.@: eine Liste von |
| 12095 | string-valued gexps (@pxref{Aufruf von guix archive}). By default, it | 12764 | Zeichenketten als G-Ausdrücke (siehe @ref{Aufruf von guix archive}). Der |
| 12096 | contains that of @code{@value{SUBSTITUTE-SERVER}} (@pxref{Substitute}). | 12765 | vorgegebene Inhalt ist der Schlüssel von @code{@value{SUBSTITUTE-SERVER}} |
| 12766 | (siehe @ref{Substitute}). | ||
| 12097 | 12767 | ||
| 12098 | @item @code{use-substitutes?} (Vorgabe: @code{#t}) | 12768 | @item @code{use-substitutes?} (Vorgabe: @code{#t}) |
| 12099 | Ob Substitute benutzt werden sollen. | 12769 | Ob Substitute benutzt werden sollen. |
| @@ -12259,35 +12929,11 @@ von dort als Startwert für @file{/dev/urandom} auslesen zu können. Als | |||
| 12259 | Vorgabe wird @file{/var/lib/random-seed} verwendet. | 12929 | Vorgabe wird @file{/var/lib/random-seed} verwendet. |
| 12260 | @end defvr | 12930 | @end defvr |
| 12261 | 12931 | ||
| 12262 | @cindex Keymap | ||
| 12263 | @cindex Tastatur | ||
| 12264 | @deffn {Scheme-Prozedur} console-keymap-service @var{Dateien} ... | ||
| 12265 | @cindex Tastaturbelegung | ||
| 12266 | Liefert einen Dienst, um Tastenzuordnungen (»Keymaps«) für die Konsole aus | ||
| 12267 | den @var{Dateien} laden zu können. Dazu wird der Befehl @command{loadkeys} | ||
| 12268 | aufgerufen. Wahrscheinlich möchten Sie irgendeine vorgefertigte Keymap | ||
| 12269 | laden, etwa so: | ||
| 12270 | |||
| 12271 | @example | ||
| 12272 | (console-keymap-service "dvorak") | ||
| 12273 | @end example | ||
| 12274 | |||
| 12275 | Oder um zum Beispiel eine schwedische Tastaturbelegung zu bekommen, könnten | ||
| 12276 | Sie die folgenden Keymaps kombinieren müssen: | ||
| 12277 | @example | ||
| 12278 | (console-keymap-service "se-lat6" "se-fi-lat6") | ||
| 12279 | @end example | ||
| 12280 | |||
| 12281 | Sie können alternativ auch den oder die vollständigen Dateinamen Ihrer | ||
| 12282 | Keymap(s) angeben. Siehe @code{man loadkeys} für Details. | ||
| 12283 | |||
| 12284 | @end deffn | ||
| 12285 | |||
| 12286 | @cindex Maus | 12932 | @cindex Maus |
| 12287 | @cindex gpm | 12933 | @cindex gpm |
| 12288 | @defvr {Scheme-Variable} gpm-service-type | 12934 | @defvr {Scheme-Variable} gpm-service-type |
| 12289 | Dieser Typ wird für den Dienst verwendet, der GPM ausführt, den | 12935 | Dieser Typ wird für den Dienst verwendet, der GPM ausführt, den |
| 12290 | »@dfn{General-Purpose Mouse Daemon}«, welcher zur Linux-Konsole | 12936 | @dfn{General-Purpose Mouse Daemon}, welcher zur Linux-Konsole |
| 12291 | Mausunterstützung hinzufügt. GPM ermöglicht es seinen Benutzern, auch in der | 12937 | Mausunterstützung hinzufügt. GPM ermöglicht es seinen Benutzern, auch in der |
| 12292 | Konsole die Maus zu benutzen und damit etwa Text auszuwählen, zu kopieren | 12938 | Konsole die Maus zu benutzen und damit etwa Text auszuwählen, zu kopieren |
| 12293 | und einzufügen. | 12939 | und einzufügen. |
| @@ -12304,7 +12950,7 @@ Repräsentiert die Konfiguration von GPM. | |||
| 12304 | @item @code{options} (Vorgabe: @code{%default-gpm-options}) | 12950 | @item @code{options} (Vorgabe: @code{%default-gpm-options}) |
| 12305 | Befehlszeilenoptionen, die an @command{gpm} übergeben werden. Die | 12951 | Befehlszeilenoptionen, die an @command{gpm} übergeben werden. Die |
| 12306 | vorgegebenen Optionen weisen @command{gpm} an, auf Maus-Ereignisse auf der | 12952 | vorgegebenen Optionen weisen @command{gpm} an, auf Maus-Ereignisse auf der |
| 12307 | Datei @file{/dev/input/mice} zu lauschen. Siehe @xref{Command Line,,, gpm, | 12953 | Datei @file{/dev/input/mice} zu lauschen. Siehe @ref{Command Line,,, gpm, |
| 12308 | gpm manual} für weitere Informationen. | 12954 | gpm manual} für weitere Informationen. |
| 12309 | 12955 | ||
| 12310 | @item @code{gpm} (Vorgabe: @code{gpm}) | 12956 | @item @code{gpm} (Vorgabe: @code{gpm}) |
| @@ -12315,12 +12961,12 @@ Das GPM-Paket, was benutzt werden soll. | |||
| 12315 | 12961 | ||
| 12316 | @anchor{guix-publish-service-type} | 12962 | @anchor{guix-publish-service-type} |
| 12317 | @deffn {Scheme-Variable} guix-publish-service-type | 12963 | @deffn {Scheme-Variable} guix-publish-service-type |
| 12318 | Dies ist der Diensttyp für @command{guix publish} (@pxref{Aufruf von guix publish}). Sein Wert muss ein @code{guix-publish-configuration}-Objekt sein, | 12964 | Dies ist der Diensttyp für @command{guix publish} (siehe @ref{Aufruf von guix publish}). Sein Wert muss ein @code{guix-publish-configuration}-Objekt sein, |
| 12319 | wie im Folgenden beschrieben. | 12965 | wie im Folgenden beschrieben. |
| 12320 | 12966 | ||
| 12321 | Hierbei wird angenommen, dass @file{/etc/guix} bereits ein mit @command{guix | 12967 | Hierbei wird angenommen, dass @file{/etc/guix} bereits ein mit @command{guix |
| 12322 | archive --generate-key} erzeugtes Schlüsselpaar zum Signieren enthält | 12968 | archive --generate-key} erzeugtes Schlüsselpaar zum Signieren enthält (siehe |
| 12323 | (@pxref{Aufruf von guix archive}). Falls nicht, wird der Dienst beim Starten | 12969 | @ref{Aufruf von guix archive}). Falls nicht, wird der Dienst beim Starten |
| 12324 | fehlschlagen. | 12970 | fehlschlagen. |
| 12325 | @end deffn | 12971 | @end deffn |
| 12326 | 12972 | ||
| @@ -12349,27 +12995,27 @@ Prozessorauslastung. | |||
| 12349 | 12995 | ||
| 12350 | @item @code{nar-path} (Vorgabe: @code{"nar"}) | 12996 | @item @code{nar-path} (Vorgabe: @code{"nar"}) |
| 12351 | Der URL-Pfad, unter dem »Nars« zum Herunterladen angeboten werden. Siehe | 12997 | Der URL-Pfad, unter dem »Nars« zum Herunterladen angeboten werden. Siehe |
| 12352 | @xref{Aufruf von guix publish, @code{--nar-path}}, für Details. | 12998 | @ref{Aufruf von guix publish, @code{--nar-path}} für Details. |
| 12353 | 12999 | ||
| 12354 | @item @code{cache} (Vorgabe: @code{#f}) | 13000 | @item @code{cache} (Vorgabe: @code{#f}) |
| 12355 | Wenn dies @code{#f} ist, werden Archive nicht zwischengespeichert, sondern | 13001 | Wenn dies @code{#f} ist, werden Archive nicht zwischengespeichert, sondern |
| 12356 | erst bei einer Anfrage erzeugt. Andernfalls sollte dies der Name eines | 13002 | erst bei einer Anfrage erzeugt. Andernfalls sollte dies der Name eines |
| 12357 | Verzeichnisses sein — z.B. @code{"/var/cache/guix/publish"} —, in das | 13003 | Verzeichnisses sein — z.B.@: @code{"/var/cache/guix/publish"} —, in das |
| 12358 | @command{guix publish} fertige Archive und Metadaten zwischenspeichern | 13004 | @command{guix publish} fertige Archive und Metadaten zwischenspeichern |
| 12359 | soll. Siehe @xref{Aufruf von guix publish, @option{--cache}}, für weitere | 13005 | soll. Siehe @ref{Aufruf von guix publish, @option{--cache}} für weitere |
| 12360 | Informationen über die jeweiligen Vor- und Nachteile. | 13006 | Informationen über die jeweiligen Vor- und Nachteile. |
| 12361 | 13007 | ||
| 12362 | @item @code{workers} (Vorgabe: @code{#f}) | 13008 | @item @code{workers} (Vorgabe: @code{#f}) |
| 12363 | Ist dies eine ganze Zahl, gibt es die Anzahl der Worker-Threads an, die zum | 13009 | Ist dies eine ganze Zahl, gibt es die Anzahl der Worker-Threads an, die zum |
| 12364 | Zwischenspeichern benutzt werden; ist es @code{#f}, werden so viele benutzt, | 13010 | Zwischenspeichern benutzt werden; ist es @code{#f}, werden so viele benutzt, |
| 12365 | wie es Prozessoren gibt. Siehe @xref{Aufruf von guix publish, | 13011 | wie es Prozessoren gibt. Siehe @ref{Aufruf von guix publish, |
| 12366 | @option{--workers}}, für mehr Informationen. | 13012 | @option{--workers}} für mehr Informationen. |
| 12367 | 13013 | ||
| 12368 | @item @code{ttl} (Vorgabe: @code{#f}) | 13014 | @item @code{ttl} (Vorgabe: @code{#f}) |
| 12369 | Wenn dies eine ganze Zahl ist, bezeichnet sie die @dfn{Time-to-live} als die | 13015 | Wenn dies eine ganze Zahl ist, bezeichnet sie die @dfn{Time-to-live} als die |
| 12370 | Anzahl der Sekunden, die heruntergeladene veröffentlichte Archive | 13016 | Anzahl der Sekunden, die heruntergeladene veröffentlichte Archive |
| 12371 | zwischengespeichert werden dürfen. Siehe @xref{Aufruf von guix publish, | 13017 | zwischengespeichert werden dürfen. Siehe @ref{Aufruf von guix publish, |
| 12372 | @option{--ttl}}, für mehr Informationen. | 13018 | @option{--ttl}} für mehr Informationen. |
| 12373 | @end table | 13019 | @end table |
| 12374 | @end deftp | 13020 | @end deftp |
| 12375 | 13021 | ||
| @@ -12419,28 +13065,31 @@ Echtzeit-Audio-Systeme verwendet. | |||
| 12419 | 13065 | ||
| 12420 | @cindex cron | 13066 | @cindex cron |
| 12421 | @cindex mcron | 13067 | @cindex mcron |
| 12422 | @cindex scheduling jobs | 13068 | @cindex Planen von Aufträgen |
| 12423 | The @code{(gnu services mcron)} module provides an interface to | 13069 | Das Modul @code{(gnu services mcron)} enthält eine Schnittstelle zu |
| 12424 | GNU@tie{}mcron, a daemon to run jobs at scheduled times (@pxref{Top,,, | 13070 | GNU@tie{}mcron, einem Daemon, der gemäß einem vorher festgelegten Zeitplan |
| 12425 | mcron, GNU@tie{}mcron}). GNU@tie{}mcron is similar to the traditional Unix | 13071 | Aufträge (sogenannte »Jobs«) ausführt (siehe @ref{Top,,, mcron, |
| 12426 | @command{cron} daemon; the main difference is that it is implemented in | 13072 | GNU@tie{}mcron}). GNU@tie{}mcron ist ähnlich zum traditionellen |
| 12427 | Guile Scheme, which provides a lot of flexibility when specifying the | 13073 | @command{cron}-Daemon aus Unix; der größte Unterschied ist, dass mcron in |
| 12428 | scheduling of jobs and their actions. | 13074 | Guile Scheme implementiert ist, wodurch einem viel Flexibilität bei der |
| 12429 | 13075 | Spezifikation von Aufträgen und ihren Aktionen offen steht. | |
| 12430 | The example below defines an operating system that runs the | 13076 | |
| 12431 | @command{updatedb} (@pxref{Invoking updatedb,,, find, Finding Files}) and | 13077 | Das folgende Beispiel definiert ein Betriebssystem, das täglich die Befehle |
| 12432 | the @command{guix gc} commands (@pxref{Aufruf von guix gc}) daily, as well as | 13078 | @command{updatedb} (siehe @ref{Invoking updatedb,,, find, Finding Files}) |
| 12433 | the @command{mkid} command on behalf of an unprivileged user (@pxref{mkid | 13079 | und @command{guix gc} (siehe @ref{Aufruf von guix gc}) ausführt sowie den |
| 12434 | invocation,,, idutils, ID Database Utilities}). It uses gexps to introduce | 13080 | Befehl @command{mkid} im Namen eines »unprivilegierten« Nutzers ohne |
| 12435 | job definitions that are passed to mcron (@pxref{G-Ausdrücke}). | 13081 | besondere Berechtigungen laufen lässt (siehe @ref{mkid invocation,,, |
| 13082 | idutils, ID Database Utilities}). Zum Anlegen von Auftragsdefinitionen | ||
| 13083 | benutzt es G-Ausdrücke, die dann an mcron übergeben werden (siehe | ||
| 13084 | @ref{G-Ausdrücke}). | ||
| 12436 | 13085 | ||
| 12437 | @lisp | 13086 | @lisp |
| 12438 | (use-modules (guix) (gnu) (gnu services mcron)) | 13087 | (use-modules (guix) (gnu) (gnu services mcron)) |
| 12439 | (use-package-modules base idutils) | 13088 | (use-package-modules base idutils) |
| 12440 | 13089 | ||
| 12441 | (define updatedb-job | 13090 | (define updatedb-job |
| 12442 | ;; Run 'updatedb' at 3AM every day. Here we write the | 13091 | ;; 'updatedb' jeden Tag um 3 Uhr morgens ausführen. Hier schreiben wir |
| 12443 | ;; job's action as a Scheme procedure. | 13092 | ;; die vom Auftrag durchzuführende Aktion als eine Scheme-Prozedur. |
| 12444 | #~(job '(next-hour '(3)) | 13093 | #~(job '(next-hour '(3)) |
| 12445 | (lambda () | 13094 | (lambda () |
| 12446 | (execl (string-append #$findutils "/bin/updatedb") | 13095 | (execl (string-append #$findutils "/bin/updatedb") |
| @@ -12448,14 +13097,15 @@ job definitions that are passed to mcron (@pxref{G-Ausdrücke}). | |||
| 12448 | "--prunepaths=/tmp /var/tmp /gnu/store")))) | 13097 | "--prunepaths=/tmp /var/tmp /gnu/store")))) |
| 12449 | 13098 | ||
| 12450 | (define garbage-collector-job | 13099 | (define garbage-collector-job |
| 12451 | ;; Collect garbage 5 minutes after midnight every day. | 13100 | ;; Jeden Tag 5 Minuten nach Mitternacht Müll sammeln gehen. |
| 12452 | ;; The job's action is a shell command. | 13101 | ;; Die Aktions des Auftrags ist ein Shell-Befehl. |
| 12453 | #~(job "5 0 * * *" ;Vixie cron syntax | 13102 | #~(job "5 0 * * *" ;Vixie-cron-Syntax |
| 12454 | "guix gc -F 1G")) | 13103 | "guix gc -F 1G")) |
| 12455 | 13104 | ||
| 12456 | (define idutils-job | 13105 | (define idutils-job |
| 12457 | ;; Update the index database as user "charlie" at 12:15PM | 13106 | ;; Die Index-Datenbank des Benutzers "charlie" um 12:15 Uhr und |
| 12458 | ;; and 19:15PM. This runs from the user's home directory. | 13107 | ;; 19:15 Uhr aktualisieren. Dies wird aus seinem Persönlichen |
| 13108 | ;; Ordner heraus ausgeführt. | ||
| 12459 | #~(job '(next-minute-from (next-hour '(12 19)) '(15)) | 13109 | #~(job '(next-minute-from (next-hour '(12 19)) '(15)) |
| 12460 | (string-append #$idutils "/bin/mkid src") | 13110 | (string-append #$idutils "/bin/mkid src") |
| 12461 | #:user "charlie")) | 13111 | #:user "charlie")) |
| @@ -12470,9 +13120,9 @@ job definitions that are passed to mcron (@pxref{G-Ausdrücke}). | |||
| 12470 | %base-services))) | 13120 | %base-services))) |
| 12471 | @end lisp | 13121 | @end lisp |
| 12472 | 13122 | ||
| 12473 | @xref{Guile Syntax, mcron job specifications,, mcron, GNU@tie{}mcron}, for | 13123 | Siehe @ref{Guile Syntax, mcron job specifications,, mcron, GNU@tie{}mcron} |
| 12474 | more information on mcron job specifications. Below is the reference of the | 13124 | für weitere Informationen zu mcron-Auftragsspezifikationen. Nun folgt die |
| 12475 | mcron service. | 13125 | Referenz des mcron-Dienstes. |
| 12476 | 13126 | ||
| 12477 | On a running system, you can use the @code{schedule} action of the service | 13127 | On a running system, you can use the @code{schedule} action of the service |
| 12478 | to visualize the mcron jobs that will be executed next: | 13128 | to visualize the mcron jobs that will be executed next: |
| @@ -13484,7 +14134,7 @@ from accessing Facebook. | |||
| 13484 | 14134 | ||
| 13485 | The @code{(gnu services avahi)} provides the following definition. | 14135 | The @code{(gnu services avahi)} provides the following definition. |
| 13486 | 14136 | ||
| 13487 | @defvr {Scheme Variable} avahi-service-type | 14137 | @defvr {Scheme-Variable} avahi-service-type |
| 13488 | This is the service that runs @command{avahi-daemon}, a system-wide | 14138 | This is the service that runs @command{avahi-daemon}, a system-wide |
| 13489 | mDNS/DNS-SD responder that allows for service discovery and | 14139 | mDNS/DNS-SD responder that allows for service discovery and |
| 13490 | ``zero-configuration'' host name lookups (see @uref{http://avahi.org/}). | 14140 | ``zero-configuration'' host name lookups (see @uref{http://avahi.org/}). |
| @@ -13498,20 +14148,20 @@ Additionally, add the @var{avahi} package to the system profile so that | |||
| 13498 | commands such as @command{avahi-browse} are directly usable. | 14148 | commands such as @command{avahi-browse} are directly usable. |
| 13499 | @end defvr | 14149 | @end defvr |
| 13500 | 14150 | ||
| 13501 | @deftp {Data Type} avahi-configuration | 14151 | @deftp {Datentyp} avahi-configuration |
| 13502 | Data type representation the configuration for Avahi. | 14152 | Dieser Datentyp repräsentiert die Konfiguration von Avahi. |
| 13503 | 14153 | ||
| 13504 | @table @asis | 14154 | @table @asis |
| 13505 | 14155 | ||
| 13506 | @item @code{host-name} (default: @code{#f}) | 14156 | @item @code{host-name} (Vorgabe: @code{#f}) |
| 13507 | If different from @code{#f}, use that as the host name to publish for this | 14157 | If different from @code{#f}, use that as the host name to publish for this |
| 13508 | machine; otherwise, use the machine's actual host name. | 14158 | machine; otherwise, use the machine's actual host name. |
| 13509 | 14159 | ||
| 13510 | @item @code{publish?} (default: @code{#t}) | 14160 | @item @code{publish?} (Vorgabe: @code{#t}) |
| 13511 | When true, allow host names and services to be published (broadcast) over | 14161 | When true, allow host names and services to be published (broadcast) over |
| 13512 | the network. | 14162 | the network. |
| 13513 | 14163 | ||
| 13514 | @item @code{publish-workstation?} (default: @code{#t}) | 14164 | @item @code{publish-workstation?} (Vorgabe: @code{#t}) |
| 13515 | When true, @command{avahi-daemon} publishes the machine's host name and IP | 14165 | When true, @command{avahi-daemon} publishes the machine's host name and IP |
| 13516 | address via mDNS on the local network. To view the host names published on | 14166 | address via mDNS on the local network. To view the host names published on |
| 13517 | your local network, you can run: | 14167 | your local network, you can run: |
| @@ -13520,14 +14170,14 @@ your local network, you can run: | |||
| 13520 | avahi-browse _workstation._tcp | 14170 | avahi-browse _workstation._tcp |
| 13521 | @end example | 14171 | @end example |
| 13522 | 14172 | ||
| 13523 | @item @code{wide-area?} (default: @code{#f}) | 14173 | @item @code{wide-area?} (Vorgabe: @code{#f}) |
| 13524 | When true, DNS-SD over unicast DNS is enabled. | 14174 | When true, DNS-SD over unicast DNS is enabled. |
| 13525 | 14175 | ||
| 13526 | @item @code{ipv4?} (default: @code{#t}) | 14176 | @item @code{ipv4?} (Vorgabe: @code{#t}) |
| 13527 | @itemx @code{ipv6?} (default: @code{#t}) | 14177 | @itemx @code{ipv6?} (Vorgabe: @code{#t}) |
| 13528 | These fields determine whether to use IPv4/IPv6 sockets. | 14178 | These fields determine whether to use IPv4/IPv6 sockets. |
| 13529 | 14179 | ||
| 13530 | @item @code{domains-to-browse} (default: @code{'()}) | 14180 | @item @code{domains-to-browse} (Vorgabe: @code{'()}) |
| 13531 | This is a list of domains to browse. | 14181 | This is a list of domains to browse. |
| 13532 | @end table | 14182 | @end table |
| 13533 | @end deftp | 14183 | @end deftp |
| @@ -13558,7 +14208,13 @@ Package object of the Open vSwitch. | |||
| 13558 | Support for the X Window graphical display system---specifically Xorg---is | 14208 | Support for the X Window graphical display system---specifically Xorg---is |
| 13559 | provided by the @code{(gnu services xorg)} module. Note that there is no | 14209 | provided by the @code{(gnu services xorg)} module. Note that there is no |
| 13560 | @code{xorg-service} procedure. Instead, the X server is started by the | 14210 | @code{xorg-service} procedure. Instead, the X server is started by the |
| 13561 | @dfn{login manager}, by default SLiM. | 14211 | @dfn{login manager}, by default the GNOME Display Manager (GDM). |
| 14212 | |||
| 14213 | @cindex GDM | ||
| 14214 | @cindex GNOME, login manager | ||
| 14215 | GDM of course allows users to log in into window managers and desktop | ||
| 14216 | environments other than GNOME; for those using GNOME, GDM is required for | ||
| 14217 | features such as automatic screen locking. | ||
| 13562 | 14218 | ||
| 13563 | @cindex window manager | 14219 | @cindex window manager |
| 13564 | To use X11, you must install at least one @dfn{window manager}---for example | 14220 | To use X11, you must install at least one @dfn{window manager}---for example |
| @@ -13566,23 +14222,60 @@ the @code{windowmaker} or @code{openbox} packages---preferably by adding it | |||
| 13566 | to the @code{packages} field of your operating system definition | 14222 | to the @code{packages} field of your operating system definition |
| 13567 | (@pxref{»operating-system«-Referenz, system-wide packages}). | 14223 | (@pxref{»operating-system«-Referenz, system-wide packages}). |
| 13568 | 14224 | ||
| 13569 | @defvr {Scheme Variable} slim-service-type | 14225 | @defvr {Scheme-Variable} gdm-service-type |
| 13570 | This is the type for the SLiM graphical login manager for X11. | 14226 | This is the type for the @uref{https://wiki.gnome.org/Projects/GDM/, GNOME |
| 14227 | Desktop Manager} (GDM), a program that manages graphical display servers and | ||
| 14228 | handles graphical user logins. Its value must be a @code{gdm-configuration} | ||
| 14229 | (see below.) | ||
| 13571 | 14230 | ||
| 13572 | @cindex session types (X11) | 14231 | @cindex session types (X11) |
| 13573 | @cindex X11 session types | 14232 | @cindex X11 session types |
| 13574 | SLiM looks for @dfn{session types} described by the @file{.desktop} files in | 14233 | GDM looks for @dfn{session types} described by the @file{.desktop} files in |
| 13575 | @file{/run/current-system/profile/share/xsessions} and allows users to | 14234 | @file{/run/current-system/profile/share/xsessions} and allows users to |
| 13576 | choose a session from the log-in screen using @kbd{F1}. Packages such as | 14235 | choose a session from the log-in screen. Packages such as @code{gnome}, |
| 13577 | @code{xfce}, @code{sawfish}, and @code{ratpoison} provide @file{.desktop} | 14236 | @code{xfce}, and @code{i3} provide @file{.desktop} files; adding them to the |
| 13578 | files; adding them to the system-wide set of packages automatically makes | 14237 | system-wide set of packages automatically makes them available at the log-in |
| 13579 | them available at the log-in screen. | 14238 | screen. |
| 13580 | 14239 | ||
| 13581 | In addition, @file{~/.xsession} files are honored. When available, | 14240 | In addition, @file{~/.xsession} files are honored. When available, |
| 13582 | @file{~/.xsession} must be an executable that starts a window manager and/or | 14241 | @file{~/.xsession} must be an executable that starts a window manager and/or |
| 13583 | other X clients. | 14242 | other X clients. |
| 13584 | @end defvr | 14243 | @end defvr |
| 13585 | 14244 | ||
| 14245 | @deftp {Datentyp} gdm-configuration | ||
| 14246 | @table @asis | ||
| 14247 | @item @code{auto-login?} (default: @code{#f}) | ||
| 14248 | @itemx @code{default-user} (Vorgabe: @code{#f}) | ||
| 14249 | When @code{auto-login?} is false, GDM presents a log-in screen. | ||
| 14250 | |||
| 14251 | When @code{auto-login?} is true, GDM logs in directly as | ||
| 14252 | @code{default-user}. | ||
| 14253 | |||
| 14254 | @item @code{gnome-shell-assets} (Vorgabe: …) | ||
| 14255 | List of GNOME Shell assets needed by GDM: icon theme, fonts, etc. | ||
| 14256 | |||
| 14257 | @item @code{xorg-configuration} (Vorgabe: @code{(xorg-configuration)}) | ||
| 14258 | Xorg-Server für grafische Oberflächen konfigurieren. | ||
| 14259 | |||
| 14260 | @item @code{xsession} (Vorgabe: @code{(xinitrc)}) | ||
| 14261 | Script to run before starting a X session. | ||
| 14262 | |||
| 14263 | @item @code{dbus-daemon} (Vorgabe: @code{dbus-daemon-wrapper}) | ||
| 14264 | File name of the @code{dbus-daemon} executable. | ||
| 14265 | |||
| 14266 | @item @code{gdm} (Vorgabe: @code{gdm}) | ||
| 14267 | Das GDM-Paket, was benutzt werden soll. | ||
| 14268 | @end table | ||
| 14269 | @end deftp | ||
| 14270 | |||
| 14271 | @defvr {Scheme Variable} slim-service-type | ||
| 14272 | This is the type for the SLiM graphical login manager for X11. | ||
| 14273 | |||
| 14274 | Like GDM, SLiM looks for session types described by @file{.desktop} files | ||
| 14275 | and allows users to choose a session from the log-in screen using @kbd{F1}. | ||
| 14276 | It also honors @file{~/.xsession} files. | ||
| 14277 | @end defvr | ||
| 14278 | |||
| 13586 | @deftp {Data Type} slim-configuration | 14279 | @deftp {Data Type} slim-configuration |
| 13587 | Data type representing the configuration of @code{slim-service-type}. | 14280 | Data type representing the configuration of @code{slim-service-type}. |
| 13588 | 14281 | ||
| @@ -13615,8 +14308,8 @@ your user profile. Failing to do that, if @code{auto-login-session} is | |||
| 13615 | false, you will be unable to log in. | 14308 | false, you will be unable to log in. |
| 13616 | @end quotation | 14309 | @end quotation |
| 13617 | 14310 | ||
| 13618 | @item @code{startx} (default: @code{(xorg-start-command)}) | 14311 | @item @code{xorg-configuration} (Vorgabe: @code{(xorg-configuration)}) |
| 13619 | The command used to start the X11 graphical server. | 14312 | Xorg-Server für grafische Oberflächen konfigurieren. |
| 13620 | 14313 | ||
| 13621 | @item @code{xauth} (default: @code{xauth}) | 14314 | @item @code{xauth} (default: @code{xauth}) |
| 13622 | The XAuth package to use. | 14315 | The XAuth package to use. |
| @@ -13691,8 +14384,8 @@ Script to run before starting a wayland session. | |||
| 13691 | @item @code{sessions-directory} (default "/run/current-system/profile/share/wayland-sessions") | 14384 | @item @code{sessions-directory} (default "/run/current-system/profile/share/wayland-sessions") |
| 13692 | Directory to look for desktop files starting wayland sessions. | 14385 | Directory to look for desktop files starting wayland sessions. |
| 13693 | 14386 | ||
| 13694 | @item @code{xorg-server-path} (default @code{xorg-start-command}) | 14387 | @item @code{xorg-configuration} (Vorgabe: @code{(xorg-configuration)}) |
| 13695 | Path to xorg-server. | 14388 | Xorg-Server für grafische Oberflächen konfigurieren. |
| 13696 | 14389 | ||
| 13697 | @item @code{xauth-path} (default @code{#~(string-append #$xauth "/bin/xauth")}) | 14390 | @item @code{xauth-path} (default @code{#~(string-append #$xauth "/bin/xauth")}) |
| 13698 | Path to xauth. | 14391 | Path to xauth. |
| @@ -13715,9 +14408,6 @@ Directory to look for desktop files starting X sessions. | |||
| 13715 | @item @code{minimum-vt} (default: 7) | 14408 | @item @code{minimum-vt} (default: 7) |
| 13716 | Minimum VT to use. | 14409 | Minimum VT to use. |
| 13717 | 14410 | ||
| 13718 | @item @code{xserver-arguments} (default "-nolisten tcp") | ||
| 13719 | Arguments to pass to xorg-server. | ||
| 13720 | |||
| 13721 | @item @code{auto-login-user} (default "") | 14411 | @item @code{auto-login-user} (default "") |
| 13722 | User to use for auto-login. | 14412 | User to use for auto-login. |
| 13723 | 14413 | ||
| @@ -13743,96 +14433,74 @@ type @code{<sddm-configuration>}. | |||
| 13743 | @end example | 14433 | @end example |
| 13744 | @end deffn | 14434 | @end deffn |
| 13745 | 14435 | ||
| 13746 | @deffn {Scheme Procedure} xorg-start-command [#:guile] @ | 14436 | @cindex Xorg, Konfiguration |
| 13747 | [#:modules %default-xorg-modules] @ [#:fonts %default-xorg-fonts] @ | 14437 | @deftp {Datentyp} xorg-configuration |
| 13748 | [#:configuration-file (xorg-configuration-file @dots{})] @ [#:xorg-server | 14438 | This data type represents the configuration of the Xorg graphical display |
| 13749 | @var{xorg-server}] [#:xserver-arguments '("-nolisten" "tcp")] Return a | 14439 | server. Note that there is not Xorg service; instead, the X server is |
| 13750 | @code{startx} script in which @var{modules}, a list of X module packages, | 14440 | started by a ``display manager'' such as GDM, SDDM, and SLiM. Thus, the |
| 13751 | and @var{fonts}, a list of X font directories, are available. See | 14441 | configuration of these display managers aggregates an |
| 13752 | @code{xorg-wrapper} for more details on the arguments. The result should be | 14442 | @code{xorg-configuration} record. |
| 13753 | used in place of @code{startx}. | ||
| 13754 | |||
| 13755 | Usually the X server is started by a login manager. | ||
| 13756 | @end deffn | ||
| 13757 | |||
| 13758 | @cindex @code{-listen tcp}, for X11. | ||
| 13759 | This procedure is useful to override command line options for the X server, | ||
| 13760 | such as having it listen to over TCP: | ||
| 13761 | |||
| 13762 | @example | ||
| 13763 | (operating-system | ||
| 13764 | ... | ||
| 13765 | (services | ||
| 13766 | (modify-services %desktop-services | ||
| 13767 | (slim-service-type config => | ||
| 13768 | (slim-configuration | ||
| 13769 | (inherit config) | ||
| 13770 | (startx (xorg-start-command | ||
| 13771 | #:xserver-arguments '("-listen" "tcp")))))))) | ||
| 13772 | @end example | ||
| 13773 | 14443 | ||
| 13774 | @deffn {Scheme Procedure} xorg-configuration-file @ | 14444 | @table @asis |
| 13775 | [#:modules %default-xorg-modules] @ [#:fonts %default-xorg-fonts] @ | 14445 | @item @code{modules} (Vorgabe: @code{%default-xorg-modules}) |
| 13776 | [#:drivers '()] [#:resolutions '()] [#:extra-config '()] Return a | 14446 | This is a list of @dfn{module packages} loaded by the Xorg server---e.g., |
| 13777 | configuration file for the Xorg server containing search paths for all the | 14447 | @code{xf86-video-vesa}, @code{xf86-input-keyboard}, and so on. |
| 13778 | common drivers. | 14448 | |
| 13779 | 14449 | @item @code{fonts} (Vorgabe: @code{%default-xorg-fonts}) | |
| 13780 | @var{modules} must be a list of @dfn{module packages} loaded by the Xorg | 14450 | This is a list of font directories to add to the server's @dfn{font path}. |
| 13781 | server---e.g., @code{xf86-video-vesa}, @code{xf86-input-keyboard}, and so | 14451 | |
| 13782 | on. @var{fonts} must be a list of font directories to add to the server's | 14452 | @item @code{drivers} (Vorgabe: @code{'()}) |
| 13783 | @dfn{font path}. | 14453 | This must be either the empty list, in which case Xorg chooses a graphics |
| 13784 | 14454 | driver automatically, or a list of driver names that will be tried in this | |
| 13785 | @var{drivers} must be either the empty list, in which case Xorg chooses a | 14455 | order---e.g., @code{("modesetting" "vesa")}. |
| 13786 | graphics driver automatically, or a list of driver names that will be tried | 14456 | |
| 13787 | in this order---e.g., @code{("modesetting" "vesa")}. | 14457 | @item @code{resolutions} (Vorgabe: @code{'()}) |
| 13788 | 14458 | When @code{resolutions} is the empty list, Xorg chooses an appropriate | |
| 13789 | Likewise, when @var{resolutions} is the empty list, Xorg chooses an | 14459 | screen resolution. Otherwise, it must be a list of resolutions---e.g., |
| 13790 | appropriate screen resolution; otherwise, it must be a list of | 14460 | @code{((1024 768) (640 480))}. |
| 13791 | resolutions---e.g., @code{((1024 768) (640 480))}. | 14461 | |
| 14462 | @cindex Tastaturbelegung, für Xorg | ||
| 14463 | @cindex keymap, for Xorg | ||
| 14464 | @item @code{keyboard-layout} (Vorgabe: @code{#f}) | ||
| 14465 | If this is @code{#f}, Xorg uses the default keyboard layout---usually US | ||
| 14466 | English (``qwerty'') for a 105-key PC keyboard. | ||
| 14467 | |||
| 14468 | Otherwise this must be a @code{keyboard-layout} object specifying the | ||
| 14469 | keyboard layout in use when Xorg is running. @xref{Tastaturbelegung}, for | ||
| 14470 | more information on how to specify the keyboard layout. | ||
| 14471 | |||
| 14472 | @item @code{extra-config} (Vorgabe: @code{'()}) | ||
| 14473 | This is a list of strings or objects appended to the configuration file. It | ||
| 14474 | is used to pass extra text to be added verbatim to the configuration file. | ||
| 14475 | |||
| 14476 | @item @code{server} (Vorgabe: @code{xorg-server}) | ||
| 14477 | This is the package providing the Xorg server. | ||
| 14478 | |||
| 14479 | @item @code{server-arguments} (Vorgabe: @code{%default-xorg-server-arguments}) | ||
| 14480 | This is the list of command-line arguments to pass to the X server. The | ||
| 14481 | default is @code{-nolisten tcp}. | ||
| 14482 | @end table | ||
| 14483 | @end deftp | ||
| 13792 | 14484 | ||
| 13793 | Last, @var{extra-config} is a list of strings or objects appended to the | 14485 | @deffn {Scheme-Prozedur} set-xorg-configuration @var{Konfiguration} @ |
| 13794 | configuration file. It is used to pass extra text to be added verbatim to | 14486 | [@var{login-manager-service-type}] Tell the log-in manager (of type |
| 13795 | the configuration file. | 14487 | @var{login-manager-service-type}) to use @var{config}, an |
| 14488 | <xorg-configuration> record. | ||
| 13796 | 14489 | ||
| 13797 | @cindex Keymap | 14490 | Since the Xorg configuration is embedded in the log-in manager's |
| 13798 | @cindex Tastaturbelegung | 14491 | configuration---e.g., @code{gdm-configuration}---this procedure provides a |
| 13799 | This procedure is especially useful to configure a different keyboard layout | 14492 | shorthand to set the Xorg configuration. |
| 13800 | than the default US keymap. For instance, to use the ``bépo'' keymap by | 14493 | @end deffn |
| 13801 | default on the display manager: | ||
| 13802 | 14494 | ||
| 13803 | @example | 14495 | @deffn {Scheme-Prozedur} xorg-start-command [@var{Konfiguration}] |
| 13804 | (define bepo-evdev | 14496 | Return a @code{startx} script in which the modules, fonts, etc. specified in |
| 13805 | "Section \"InputClass\" | 14497 | @var{config}, are available. The result should be used in place of |
| 13806 | Identifier \"evdev keyboard catchall\" | 14498 | @code{startx}. |
| 13807 | Driver \"evdev\" | ||
| 13808 | MatchIsKeyboard \"on\" | ||
| 13809 | Option \"xkb_layout\" \"fr\" | ||
| 13810 | Option \"xkb_variant\" \"bepo\" | ||
| 13811 | EndSection") | ||
| 13812 | 14499 | ||
| 13813 | (operating-system | 14500 | Usually the X server is started by a login manager. |
| 13814 | ... | ||
| 13815 | (services | ||
| 13816 | (modify-services %desktop-services | ||
| 13817 | (slim-service-type config => | ||
| 13818 | (slim-configuration | ||
| 13819 | (inherit config) | ||
| 13820 | (startx (xorg-start-command | ||
| 13821 | #:configuration-file | ||
| 13822 | (xorg-configuration-file | ||
| 13823 | #:extra-config | ||
| 13824 | (list bepo-evdev))))))))) | ||
| 13825 | @end example | ||
| 13826 | |||
| 13827 | The @code{MatchIsKeyboard} line specifies that we only apply the | ||
| 13828 | configuration to keyboards. Without this line, other devices such as | ||
| 13829 | touchpad may not work correctly because they will be attached to the wrong | ||
| 13830 | driver. In this example, the user typically used @code{setxkbmap fr bepo} | ||
| 13831 | to set their favorite keymap once logged in. The first argument corresponds | ||
| 13832 | to the layout, while the second argument corresponds to the variant. The | ||
| 13833 | @code{xkb_variant} line can be omitted to select the default variant. | ||
| 13834 | @end deffn | 14501 | @end deffn |
| 13835 | 14502 | ||
| 14503 | |||
| 13836 | @deffn {Scheme Procedure} screen-locker-service @var{package} [@var{program}] | 14504 | @deffn {Scheme Procedure} screen-locker-service @var{package} [@var{program}] |
| 13837 | Add @var{package}, a package for a screen locker or screen saver whose | 14505 | Add @var{package}, a package for a screen locker or screen saver whose |
| 13838 | command is @var{program}, to the set of setuid programs and add a PAM entry | 14506 | command is @var{program}, to the set of setuid programs and add a PAM entry |
| @@ -13850,9 +14518,10 @@ makes the good ol' XlockMore usable. | |||
| 13850 | @subsection Druckdienste | 14518 | @subsection Druckdienste |
| 13851 | 14519 | ||
| 13852 | @cindex printer support with CUPS | 14520 | @cindex printer support with CUPS |
| 13853 | The @code{(gnu services cups)} module provides a Guix service definition for | 14521 | Das Modul @code{(gnu services cups)} stellt eine Guix-Dienstdefinition für |
| 13854 | the CUPS printing service. To add printer support to a Guix system, add a | 14522 | den CUPS-Druckdienst zur Verfügung. Wenn Sie Druckerunterstützung zu einem |
| 13855 | @code{cups-service} to the operating system definition: | 14523 | Guix-System hinzufügen möchten, dann fügen Sie einen |
| 14524 | @code{cups-service}-Dienst in die Betriebssystemdefinition ein. | ||
| 13856 | 14525 | ||
| 13857 | @deffn {Scheme Variable} cups-service-type | 14526 | @deffn {Scheme Variable} cups-service-type |
| 13858 | The service type for the CUPS print server. Its value should be a valid | 14527 | The service type for the CUPS print server. Its value should be a valid |
| @@ -14683,7 +15352,7 @@ The @code{(gnu services desktop)} module provides services that are usually | |||
| 14683 | useful in the context of a ``desktop'' setup---that is, on a machine running | 15352 | useful in the context of a ``desktop'' setup---that is, on a machine running |
| 14684 | a graphical display server, possibly with graphical user interfaces, etc. | 15353 | a graphical display server, possibly with graphical user interfaces, etc. |
| 14685 | It also defines services that provide specific desktop environments like | 15354 | It also defines services that provide specific desktop environments like |
| 14686 | GNOME, XFCE or MATE. | 15355 | GNOME, Xfce or MATE. |
| 14687 | 15356 | ||
| 14688 | To simplify things, the module defines a variable containing the set of | 15357 | To simplify things, the module defines a variable containing the set of |
| 14689 | services that users typically expect on a machine with a graphical | 15358 | services that users typically expect on a machine with a graphical |
| @@ -14694,7 +15363,7 @@ This is a list of services that builds upon @var{%base-services} and adds or | |||
| 14694 | adjusts services for a typical ``desktop'' setup. | 15363 | adjusts services for a typical ``desktop'' setup. |
| 14695 | 15364 | ||
| 14696 | In particular, it adds a graphical login manager (@pxref{X Window, | 15365 | In particular, it adds a graphical login manager (@pxref{X Window, |
| 14697 | @code{slim-service}}), screen lockers, a network management tool | 15366 | @code{gdm-service-type}}), screen lockers, a network management tool |
| 14698 | (@pxref{Netzwerkdienste, @code{network-manager-service-type}}), energy | 15367 | (@pxref{Netzwerkdienste, @code{network-manager-service-type}}), energy |
| 14699 | and color management services, the @code{elogind} login and seat manager, | 15368 | and color management services, the @code{elogind} login and seat manager, |
| 14700 | the Polkit privilege service, the GeoClue location service, the | 15369 | the Polkit privilege service, the GeoClue location service, the |
| @@ -14707,19 +15376,19 @@ name service switch service configured to be able to use @code{nss-mdns} | |||
| 14707 | The @var{%desktop-services} variable can be used as the @code{services} | 15376 | The @var{%desktop-services} variable can be used as the @code{services} |
| 14708 | field of an @code{operating-system} declaration (@pxref{»operating-system«-Referenz, @code{services}}). | 15377 | field of an @code{operating-system} declaration (@pxref{»operating-system«-Referenz, @code{services}}). |
| 14709 | 15378 | ||
| 14710 | Additionally, the @code{gnome-desktop-service}, @code{xfce-desktop-service}, | 15379 | Additionally, the @code{gnome-desktop-service-type}, |
| 14711 | @code{mate-desktop-service-type} and | 15380 | @code{xfce-desktop-service}, @code{mate-desktop-service-type} and |
| 14712 | @code{enlightenment-desktop-service-type} procedures can add GNOME, XFCE, | 15381 | @code{enlightenment-desktop-service-type} procedures can add GNOME, Xfce, |
| 14713 | MATE and/or Enlightenment to a system. To ``add GNOME'' means that | 15382 | MATE and/or Enlightenment to a system. To ``add GNOME'' means that |
| 14714 | system-level services like the backlight adjustment helpers and the power | 15383 | system-level services like the backlight adjustment helpers and the power |
| 14715 | management utilities are added to the system, extending @code{polkit} and | 15384 | management utilities are added to the system, extending @code{polkit} and |
| 14716 | @code{dbus} appropriately, allowing GNOME to operate with elevated | 15385 | @code{dbus} appropriately, allowing GNOME to operate with elevated |
| 14717 | privileges on a limited number of special-purpose system interfaces. | 15386 | privileges on a limited number of special-purpose system interfaces. |
| 14718 | Additionally, adding a service made by @code{gnome-desktop-service} adds the | 15387 | Additionally, adding a service made by @code{gnome-desktop-service-type} |
| 14719 | GNOME metapackage to the system profile. Likewise, adding the XFCE service | 15388 | adds the GNOME metapackage to the system profile. Likewise, adding the Xfce |
| 14720 | not only adds the @code{xfce} metapackage to the system profile, but it also | 15389 | service not only adds the @code{xfce} metapackage to the system profile, but |
| 14721 | gives the Thunar file manager the ability to open a ``root-mode'' file | 15390 | it also gives the Thunar file manager the ability to open a ``root-mode'' |
| 14722 | management window, if the user authenticates using the administrator's | 15391 | file management window, if the user authenticates using the administrator's |
| 14723 | password via the standard polkit graphical interface. To ``add MATE'' means | 15392 | password via the standard polkit graphical interface. To ``add MATE'' means |
| 14724 | that @code{polkit} and @code{dbus} are extended appropriately, allowing MATE | 15393 | that @code{polkit} and @code{dbus} are extended appropriately, allowing MATE |
| 14725 | to operate with elevated privileges on a limited number of special-purpose | 15394 | to operate with elevated privileges on a limited number of special-purpose |
| @@ -14732,44 +15401,69 @@ expetected. | |||
| 14732 | 15401 | ||
| 14733 | The desktop environments in Guix use the Xorg display server by default. If | 15402 | The desktop environments in Guix use the Xorg display server by default. If |
| 14734 | you'd like to use the newer display server protocol called Wayland, you need | 15403 | you'd like to use the newer display server protocol called Wayland, you need |
| 14735 | to use the @code{sddm-service} instead of the @code{slim-service} for the | 15404 | to use the @code{sddm-service} instead of GDM as the graphical login |
| 14736 | graphical login manager. You should then select the ``GNOME (Wayland)'' | 15405 | manager. You should then select the ``GNOME (Wayland)'' session in SDDM. |
| 14737 | session in SDDM. Alternatively you can also try starting GNOME on Wayland | 15406 | Alternatively you can also try starting GNOME on Wayland manually from a TTY |
| 14738 | manually from a TTY with the command ``XDG_SESSION_TYPE=wayland exec | 15407 | with the command ``XDG_SESSION_TYPE=wayland exec dbus-run-session |
| 14739 | dbus-run-session gnome-session``. Currently only GNOME has support for | 15408 | gnome-session``. Currently only GNOME has support for Wayland. |
| 14740 | Wayland. | 15409 | |
| 14741 | 15410 | @defvr {Scheme-Variable} gnome-desktop-service-type | |
| 14742 | @deffn {Scheme Procedure} gnome-desktop-service | 15411 | Dies ist der Typ des Dienstes, der die @uref{https://www.gnome.org, |
| 14743 | Return a service that adds the @code{gnome} package to the system profile, | 15412 | GNOME}-Arbeitsumgebung bereitstellt. Sein Wert ist ein |
| 14744 | and extends polkit with the actions from @code{gnome-settings-daemon}. | 15413 | @code{gnome-desktop-configuration}-Objekt (siehe unten). |
| 14745 | @end deffn | 15414 | |
| 15415 | This service adds the @code{gnome} package to the system profile, and | ||
| 15416 | extends polkit with the actions from @code{gnome-settings-daemon}. | ||
| 15417 | @end defvr | ||
| 15418 | |||
| 15419 | @deftp {Datentyp} gnome-desktop-configuration | ||
| 15420 | Configuration record for the GNOME desktop environment. | ||
| 15421 | |||
| 15422 | @table @asis | ||
| 15423 | @item @code{gnome} (Vorgabe: @code{gnome}) | ||
| 15424 | Welches GNOME-Paket benutzt werden soll. | ||
| 15425 | @end table | ||
| 15426 | @end deftp | ||
| 14746 | 15427 | ||
| 14747 | @deffn {Scheme Procedure} xfce-desktop-service | 15428 | @defvr {Scheme-Variable} xfce-desktop-service-type |
| 14748 | Return a service that adds the @code{xfce} package to the system profile, | 15429 | Der Typ des Dienstes, um die @uref{Xfce, https://xfce.org/}-Arbeitsumgebung |
| 14749 | and extends polkit with the ability for @code{thunar} to manipulate the file | 15430 | auszuführen. Sein Wert ist ein @code{xfce-desktop-configuration}-Objekt |
| 15431 | (siehe unten). | ||
| 15432 | |||
| 15433 | This service that adds the @code{xfce} package to the system profile, and | ||
| 15434 | extends polkit with the ability for @code{thunar} to manipulate the file | ||
| 14750 | system as root from within a user session, after the user has authenticated | 15435 | system as root from within a user session, after the user has authenticated |
| 14751 | with the administrator's password. | 15436 | with the administrator's password. |
| 14752 | @end deffn | 15437 | @end defvr |
| 14753 | 15438 | ||
| 14754 | @deffn {Scheme Variable} mate-desktop-service-type | 15439 | @deftp {Datentyp} xfce-desktop-configuration |
| 14755 | This is the type of the service that runs the | 15440 | Verbundstyp für Einstellungen zur Xfce-Arbeitsumgebung. |
| 14756 | @uref{https://mate-desktop.org/, MATE desktop environment}. Its value is a | 15441 | |
| 14757 | @code{mate-desktop-configuration} object (see below.) | 15442 | @table @asis |
| 15443 | @item @code{xfce} (Vorgabe: @code{xfce}) | ||
| 15444 | Das Xfce-Paket, was benutzt werden soll. | ||
| 15445 | @end table | ||
| 15446 | @end deftp | ||
| 15447 | |||
| 15448 | @deffn {Scheme-Variable} mate-desktop-service-type | ||
| 15449 | Dies ist der Typ des Dienstes, um die @uref{https://mate-desktop.org/, | ||
| 15450 | MATE-Arbeitsumgebung} auszuführen. Sein Wert ist ein | ||
| 15451 | @code{mate-desktop-configuration}-Objekt (siehe unten). | ||
| 14758 | 15452 | ||
| 14759 | This service adds the @code{mate} package to the system profile, and extends | 15453 | This service adds the @code{mate} package to the system profile, and extends |
| 14760 | polkit with the actions from @code{mate-settings-daemon}. | 15454 | polkit with the actions from @code{mate-settings-daemon}. |
| 14761 | @end deffn | 15455 | @end deffn |
| 14762 | 15456 | ||
| 14763 | @deftp {Data Type} mate-desktop-configuration | 15457 | @deftp {Datentyp} mate-desktop-configuration |
| 14764 | Configuration record for the MATE desktop environment. | 15458 | Verbundstyp für die Einstellungen der MATE-Arbeitsumgebung. |
| 14765 | 15459 | ||
| 14766 | @table @asis | 15460 | @table @asis |
| 14767 | @item @code{mate} (default @code{mate}) | 15461 | @item @code{mate} (Vorgabe: @code{mate}) |
| 14768 | The MATE package to use. | 15462 | Das MATE-Paket, was benutzt werden soll. |
| 14769 | @end table | 15463 | @end table |
| 14770 | @end deftp | 15464 | @end deftp |
| 14771 | 15465 | ||
| 14772 | @deffn {Scheme Variable} enlightenment-desktop-service-type | 15466 | @deffn {Scheme-Variable} enlightenment-desktop-service-type |
| 14773 | Return a service that adds the @code{enlightenment} package to the system | 15467 | Return a service that adds the @code{enlightenment} package to the system |
| 14774 | profile, and extends dbus with actions from @code{efl}. | 15468 | profile, and extends dbus with actions from @code{efl}. |
| 14775 | @end deffn | 15469 | @end deffn |
| @@ -14781,9 +15475,9 @@ Das Enlightenment-Paket, was benutzt werden soll. | |||
| 14781 | @end table | 15475 | @end table |
| 14782 | @end deftp | 15476 | @end deftp |
| 14783 | 15477 | ||
| 14784 | Because the GNOME, XFCE and MATE desktop services pull in so many packages, | 15478 | Because the GNOME, Xfce and MATE desktop services pull in so many packages, |
| 14785 | the default @code{%desktop-services} variable doesn't include any of them by | 15479 | the default @code{%desktop-services} variable doesn't include any of them by |
| 14786 | default. To add GNOME, XFCE or MATE, just @code{cons} them onto | 15480 | default. To add GNOME, Xfce or MATE, just @code{cons} them onto |
| 14787 | @code{%desktop-services} in the @code{services} field of your | 15481 | @code{%desktop-services} in the @code{services} field of your |
| 14788 | @code{operating-system}: | 15482 | @code{operating-system}: |
| 14789 | 15483 | ||
| @@ -14793,8 +15487,8 @@ default. To add GNOME, XFCE or MATE, just @code{cons} them onto | |||
| 14793 | (operating-system | 15487 | (operating-system |
| 14794 | ... | 15488 | ... |
| 14795 | ;; cons* adds items to the list given as its last argument. | 15489 | ;; cons* adds items to the list given as its last argument. |
| 14796 | (services (cons* (gnome-desktop-service) | 15490 | (services (cons* (service gnome-desktop-service-type) |
| 14797 | (xfce-desktop-service) | 15491 | (service xfce-desktop-service) |
| 14798 | %desktop-services)) | 15492 | %desktop-services)) |
| 14799 | ...) | 15493 | ...) |
| 14800 | @end example | 15494 | @end example |
| @@ -14914,7 +15608,7 @@ granted the capability to suspend the system if the user is logged in | |||
| 14914 | locally. | 15608 | locally. |
| 14915 | @end deffn | 15609 | @end deffn |
| 14916 | 15610 | ||
| 14917 | @defvr {Scheme Variable} upower-service-type | 15611 | @defvr {Scheme-Variable} upower-service-type |
| 14918 | Service that runs @uref{http://upower.freedesktop.org/, @command{upowerd}}, | 15612 | Service that runs @uref{http://upower.freedesktop.org/, @command{upowerd}}, |
| 14919 | a system-wide monitor for power consumption and battery levels, with the | 15613 | a system-wide monitor for power consumption and battery levels, with the |
| 14920 | given configuration settings. | 15614 | given configuration settings. |
| @@ -14923,52 +15617,52 @@ It implements the @code{org.freedesktop.UPower} D-Bus interface, and is | |||
| 14923 | notably used by GNOME. | 15617 | notably used by GNOME. |
| 14924 | @end defvr | 15618 | @end defvr |
| 14925 | 15619 | ||
| 14926 | @deftp {Data Type} upower-configuration | 15620 | @deftp {Datentyp} upower-configuration |
| 14927 | Data type representation the configuration for UPower. | 15621 | Repräsentiert die Konfiguration von UPower. |
| 14928 | 15622 | ||
| 14929 | @table @asis | 15623 | @table @asis |
| 14930 | 15624 | ||
| 14931 | @item @code{upower} (default: @var{upower}) | 15625 | @item @code{upower} (Vorgabe: @var{upower}) |
| 14932 | Package to use for @code{upower}. | 15626 | Package to use for @code{upower}. |
| 14933 | 15627 | ||
| 14934 | @item @code{watts-up-pro?} (default: @code{#f}) | 15628 | @item @code{watts-up-pro?} (Vorgabe: @code{#f}) |
| 14935 | Enable the Watts Up Pro device. | 15629 | Enable the Watts Up Pro device. |
| 14936 | 15630 | ||
| 14937 | @item @code{poll-batteries?} (default: @code{#t}) | 15631 | @item @code{poll-batteries?} (Vorgabe: @code{#t}) |
| 14938 | Enable polling the kernel for battery level changes. | 15632 | Enable polling the kernel for battery level changes. |
| 14939 | 15633 | ||
| 14940 | @item @code{ignore-lid?} (default: @code{#f}) | 15634 | @item @code{ignore-lid?} (Vorgabe: @code{#f}) |
| 14941 | Ignore the lid state, this can be useful if it's incorrect on a device. | 15635 | Ignore the lid state, this can be useful if it's incorrect on a device. |
| 14942 | 15636 | ||
| 14943 | @item @code{use-percentage-for-policy?} (default: @code{#f}) | 15637 | @item @code{use-percentage-for-policy?} (Vorgabe: @code{#f}) |
| 14944 | Whether battery percentage based policy should be used. The default is to | 15638 | Whether battery percentage based policy should be used. The default is to |
| 14945 | use the time left, change to @code{#t} to use the percentage. | 15639 | use the time left, change to @code{#t} to use the percentage. |
| 14946 | 15640 | ||
| 14947 | @item @code{percentage-low} (default: @code{10}) | 15641 | @item @code{percentage-low} (Vorgabe: @code{10}) |
| 14948 | When @code{use-percentage-for-policy?} is @code{#t}, this sets the | 15642 | When @code{use-percentage-for-policy?} is @code{#t}, this sets the |
| 14949 | percentage at which the battery is considered low. | 15643 | percentage at which the battery is considered low. |
| 14950 | 15644 | ||
| 14951 | @item @code{percentage-critical} (default: @code{3}) | 15645 | @item @code{percentage-critical} (Vorgabe: @code{3}) |
| 14952 | When @code{use-percentage-for-policy?} is @code{#t}, this sets the | 15646 | When @code{use-percentage-for-policy?} is @code{#t}, this sets the |
| 14953 | percentage at which the battery is considered critical. | 15647 | percentage at which the battery is considered critical. |
| 14954 | 15648 | ||
| 14955 | @item @code{percentage-action} (default: @code{2}) | 15649 | @item @code{percentage-action} (Vorgabe: @code{2}) |
| 14956 | When @code{use-percentage-for-policy?} is @code{#t}, this sets the | 15650 | When @code{use-percentage-for-policy?} is @code{#t}, this sets the |
| 14957 | percentage at which action will be taken. | 15651 | percentage at which action will be taken. |
| 14958 | 15652 | ||
| 14959 | @item @code{time-low} (default: @code{1200}) | 15653 | @item @code{time-low} (Vorgabe: @code{1200}) |
| 14960 | When @code{use-time-for-policy?} is @code{#f}, this sets the time remaining | 15654 | When @code{use-time-for-policy?} is @code{#f}, this sets the time remaining |
| 14961 | in seconds at which the battery is considered low. | 15655 | in seconds at which the battery is considered low. |
| 14962 | 15656 | ||
| 14963 | @item @code{time-critical} (default: @code{300}) | 15657 | @item @code{time-critical} (Vorgabe: @code{300}) |
| 14964 | When @code{use-time-for-policy?} is @code{#f}, this sets the time remaining | 15658 | When @code{use-time-for-policy?} is @code{#f}, this sets the time remaining |
| 14965 | in seconds at which the battery is considered critical. | 15659 | in seconds at which the battery is considered critical. |
| 14966 | 15660 | ||
| 14967 | @item @code{time-action} (default: @code{120}) | 15661 | @item @code{time-action} (Vorgabe: @code{120}) |
| 14968 | When @code{use-time-for-policy?} is @code{#f}, this sets the time remaining | 15662 | When @code{use-time-for-policy?} is @code{#f}, this sets the time remaining |
| 14969 | in seconds at which action will be taken. | 15663 | in seconds at which action will be taken. |
| 14970 | 15664 | ||
| 14971 | @item @code{critical-power-action} (default: @code{'hybrid-sleep}) | 15665 | @item @code{critical-power-action} (Vorgabe: @code{'hybrid-sleep}) |
| 14972 | The action taken when @code{percentage-action} or @code{time-action} is | 15666 | The action taken when @code{percentage-action} or @code{time-action} is |
| 14973 | reached (depending on the configuration of | 15667 | reached (depending on the configuration of |
| 14974 | @code{use-percentage-for-policy?}). | 15668 | @code{use-percentage-for-policy?}). |
| @@ -15156,9 +15850,9 @@ extension, a user can configure the postgresql-service as in this example: | |||
| 15156 | (use-package-modules databases geo) | 15850 | (use-package-modules databases geo) |
| 15157 | 15851 | ||
| 15158 | (operating-system | 15852 | (operating-system |
| 15159 | ... | 15853 | … |
| 15160 | ;; postgresql is required to run `psql' but postgis is not required for | 15854 | ;; postgresql wird benötigt, um »psql« auszuführen, aber postgis ist |
| 15161 | ;; proper operation. | 15855 | ;; für den Betrieb nicht unbedingt notwendig. |
| 15162 | (packages (cons* postgresql %base-packages)) | 15856 | (packages (cons* postgresql %base-packages)) |
| 15163 | (services | 15857 | (services |
| 15164 | (cons* | 15858 | (cons* |
| @@ -16642,6 +17336,36 @@ above example, there doesn't need to be a @code{postmaster} entry in the | |||
| 16642 | @code{postmaster} mail to @code{bob} (which subsequently would deliver mail | 17336 | @code{postmaster} mail to @code{bob} (which subsequently would deliver mail |
| 16643 | to @code{bob@@example.com} and @code{bob@@example2.com}). | 17337 | to @code{bob@@example.com} and @code{bob@@example2.com}). |
| 16644 | 17338 | ||
| 17339 | @subsubheading GNU Mailutils IMAP4 Daemon | ||
| 17340 | @cindex GNU Mailutils IMAP4 Daemon | ||
| 17341 | |||
| 17342 | @deffn {Scheme-Variable} imap4d-service-type | ||
| 17343 | This is the type of the GNU Mailutils IMAP4 Daemon (@pxref{imap4d,,, | ||
| 17344 | mailutils, GNU Mailutils Manual}), whose value should be an | ||
| 17345 | @code{imap4d-configuration} object as in this example: | ||
| 17346 | |||
| 17347 | @example | ||
| 17348 | (service imap4d-service-type | ||
| 17349 | (imap4d-configuration | ||
| 17350 | (config-file (local-file "imap4d.conf")))) | ||
| 17351 | @end example | ||
| 17352 | @end deffn | ||
| 17353 | |||
| 17354 | @deftp {Datentyp} imap4d-configuration | ||
| 17355 | Datentyp, der die Konfiguration von @command{imap4d} repräsentiert. | ||
| 17356 | |||
| 17357 | @table @asis | ||
| 17358 | @item @code{package} (Vorgabe: @code{mailutils}) | ||
| 17359 | The package that provides @command{imap4d}. | ||
| 17360 | |||
| 17361 | @item @code{config-file} (Vorgabe: @code{%default-imap4d-config-file}) | ||
| 17362 | File-like object of the configuration file to use, by default it will listen | ||
| 17363 | on TCP port 143 of @code{localhost}. @xref{Conf-imap4d,,, mailutils, GNU | ||
| 17364 | Mailutils Manual}, for details. | ||
| 17365 | |||
| 17366 | @end table | ||
| 17367 | @end deftp | ||
| 17368 | |||
| 16645 | @node Kurznachrichtendienste | 17369 | @node Kurznachrichtendienste |
| 16646 | @subsection Kurznachrichtendienste | 17370 | @subsection Kurznachrichtendienste |
| 16647 | 17371 | ||
| @@ -16899,8 +17623,8 @@ information about using the hashed backend. See also | |||
| 16899 | 17623 | ||
| 16900 | @deftypevr {@code{prosody-configuration} parameter} maybe-string log | 17624 | @deftypevr {@code{prosody-configuration} parameter} maybe-string log |
| 16901 | Set logging options. Advanced logging configuration is not yet supported by | 17625 | Set logging options. Advanced logging configuration is not yet supported by |
| 16902 | the Guix Prosody Service. See @url{https://prosody.im/doc/logging}. | 17626 | the Prosody service. See @url{https://prosody.im/doc/logging}. Defaults to |
| 16903 | Defaults to @samp{"*syslog"}. | 17627 | @samp{"*syslog"}. |
| 16904 | @end deftypevr | 17628 | @end deftypevr |
| 16905 | 17629 | ||
| 16906 | @deftypevr {@code{prosody-configuration} parameter} file-name pidfile | 17630 | @deftypevr {@code{prosody-configuration} parameter} file-name pidfile |
| @@ -17123,30 +17847,30 @@ Configuration snippet added as-is to the BitlBee configuration file. | |||
| 17123 | @end table | 17847 | @end table |
| 17124 | @end deftp | 17848 | @end deftp |
| 17125 | 17849 | ||
| 17126 | @subsubheading Quassel Service | 17850 | @subsubheading Quassel-Dienst |
| 17127 | 17851 | ||
| 17128 | @cindex IRC (Internet Relay Chat) | 17852 | @cindex IRC (Internet Relay Chat) |
| 17129 | @url{https://quassel-irc.org/,Quassel} is a distributed IRC client, meaning | 17853 | @url{https://quassel-irc.org/,Quassel} is a distributed IRC client, meaning |
| 17130 | that one or more clients can attach to and detach from the central core. | 17854 | that one or more clients can attach to and detach from the central core. |
| 17131 | 17855 | ||
| 17132 | @defvr {Scheme Variable} quassel-service-type | 17856 | @defvr {Scheme-Variable} quassel-service-type |
| 17133 | This is the service type for the @url{https://quassel-irc.org/,Quassel} IRC | 17857 | This is the service type for the @url{https://quassel-irc.org/,Quassel} IRC |
| 17134 | backend daemon. Its value is a @code{quassel-configuration} (see below). | 17858 | backend daemon. Its value is a @code{quassel-configuration} (see below). |
| 17135 | @end defvr | 17859 | @end defvr |
| 17136 | 17860 | ||
| 17137 | @deftp {Data Type} quassel-configuration | 17861 | @deftp {Datentyp} quassel-configuration |
| 17138 | This is the configuration for Quassel, with the following fields: | 17862 | This is the configuration for Quassel, with the following fields: |
| 17139 | 17863 | ||
| 17140 | @table @asis | 17864 | @table @asis |
| 17141 | @item @code{quassel} (default: @code{quassel}) | 17865 | @item @code{quassel} (Vorgabe: @code{quassel}) |
| 17142 | The Quassel package to use. | 17866 | Das zu verwendende Quassel-Paket. |
| 17143 | 17867 | ||
| 17144 | @item @code{interface} (default: @code{"::,0.0.0.0"}) | 17868 | @item @code{interface} (Vorgabe: @code{"::,0.0.0.0"}) |
| 17145 | @item @code{port} (default: @code{4242}) | 17869 | @item @code{port} (Vorgabe: @code{4242}) |
| 17146 | Listen on the network interface(s) corresponding to the IPv4 or IPv6 | 17870 | Listen on the network interface(s) corresponding to the IPv4 or IPv6 |
| 17147 | interfaces specified in the comma delimited @var{interface}, on @var{port}. | 17871 | interfaces specified in the comma delimited @var{interface}, on @var{port}. |
| 17148 | 17872 | ||
| 17149 | @item @code{loglevel} (default: @code{"Info"}) | 17873 | @item @code{loglevel} (Vorgabe: @code{"Info"}) |
| 17150 | The level of logging desired. Accepted values are Debug, Info, Warning and | 17874 | The level of logging desired. Accepted values are Debug, Info, Warning and |
| 17151 | Error. | 17875 | Error. |
| 17152 | @end table | 17876 | @end table |
| @@ -17544,7 +18268,7 @@ Bind the web interface to the specified address. | |||
| 17544 | @end table | 18268 | @end table |
| 17545 | @end deftp | 18269 | @end deftp |
| 17546 | 18270 | ||
| 17547 | @subsubheading Zabbix server | 18271 | @subsubheading Zabbix-Server |
| 17548 | @cindex zabbix zabbix-server | 18272 | @cindex zabbix zabbix-server |
| 17549 | Zabbix provides monitoring metrics, among others network utilization, CPU | 18273 | Zabbix provides monitoring metrics, among others network utilization, CPU |
| 17550 | load and disk space consumption: | 18274 | load and disk space consumption: |
| @@ -17565,7 +18289,7 @@ load and disk space consumption: | |||
| 17565 | Available @code{zabbix-server-configuration} fields are: | 18289 | Available @code{zabbix-server-configuration} fields are: |
| 17566 | 18290 | ||
| 17567 | @deftypevr {@code{zabbix-server-configuration} parameter} package zabbix-server | 18291 | @deftypevr {@code{zabbix-server-configuration} parameter} package zabbix-server |
| 17568 | The zabbix-server package. | 18292 | Das zabbix-server-Paket. |
| 17569 | 18293 | ||
| 17570 | @end deftypevr | 18294 | @end deftypevr |
| 17571 | 18295 | ||
| @@ -17584,21 +18308,21 @@ Defaults to @samp{"zabbix"}. | |||
| 17584 | @end deftypevr | 18308 | @end deftypevr |
| 17585 | 18309 | ||
| 17586 | @deftypevr {@code{zabbix-server-configuration} parameter} string db-host | 18310 | @deftypevr {@code{zabbix-server-configuration} parameter} string db-host |
| 17587 | Database host name. | 18311 | Rechnername der Datenbank. |
| 17588 | 18312 | ||
| 17589 | Defaults to @samp{"127.0.0.1"}. | 18313 | Defaults to @samp{"127.0.0.1"}. |
| 17590 | 18314 | ||
| 17591 | @end deftypevr | 18315 | @end deftypevr |
| 17592 | 18316 | ||
| 17593 | @deftypevr {@code{zabbix-server-configuration} parameter} string db-name | 18317 | @deftypevr {@code{zabbix-server-configuration} parameter} string db-name |
| 17594 | Database name. | 18318 | Datenbankname. |
| 17595 | 18319 | ||
| 17596 | Defaults to @samp{"zabbix"}. | 18320 | Defaults to @samp{"zabbix"}. |
| 17597 | 18321 | ||
| 17598 | @end deftypevr | 18322 | @end deftypevr |
| 17599 | 18323 | ||
| 17600 | @deftypevr {@code{zabbix-server-configuration} parameter} string db-user | 18324 | @deftypevr {@code{zabbix-server-configuration} parameter} string db-user |
| 17601 | Database user. | 18325 | Benutzerkonto der Datenbank. |
| 17602 | 18326 | ||
| 17603 | Defaults to @samp{"zabbix"}. | 18327 | Defaults to @samp{"zabbix"}. |
| 17604 | 18328 | ||
| @@ -17613,7 +18337,7 @@ Defaults to @samp{""}. | |||
| 17613 | @end deftypevr | 18337 | @end deftypevr |
| 17614 | 18338 | ||
| 17615 | @deftypevr {@code{zabbix-server-configuration} parameter} number db-port | 18339 | @deftypevr {@code{zabbix-server-configuration} parameter} number db-port |
| 17616 | Database port. | 18340 | Datenbank-Portnummer. |
| 17617 | 18341 | ||
| 17618 | Defaults to @samp{5432}. | 18342 | Defaults to @samp{5432}. |
| 17619 | 18343 | ||
| @@ -17646,7 +18370,7 @@ Defaults to @samp{"/var/log/zabbix/server.log"}. | |||
| 17646 | @end deftypevr | 18370 | @end deftypevr |
| 17647 | 18371 | ||
| 17648 | @deftypevr {@code{zabbix-server-configuration} parameter} string pid-file | 18372 | @deftypevr {@code{zabbix-server-configuration} parameter} string pid-file |
| 17649 | Name of PID file. | 18373 | Name der PID-Datei. |
| 17650 | 18374 | ||
| 17651 | Defaults to @samp{"/var/run/zabbix/zabbix_server.pid"}. | 18375 | Defaults to @samp{"/var/run/zabbix/zabbix_server.pid"}. |
| 17652 | 18376 | ||
| @@ -17694,7 +18418,7 @@ Zabbix agent gathers information for Zabbix server. | |||
| 17694 | Available @code{zabbix-agent-configuration} fields are: | 18418 | Available @code{zabbix-agent-configuration} fields are: |
| 17695 | 18419 | ||
| 17696 | @deftypevr {@code{zabbix-agent-configuration} parameter} package zabbix-agent | 18420 | @deftypevr {@code{zabbix-agent-configuration} parameter} package zabbix-agent |
| 17697 | The zabbix-agent package. | 18421 | Das zabbix-agent-Paket. |
| 17698 | 18422 | ||
| 17699 | @end deftypevr | 18423 | @end deftypevr |
| 17700 | 18424 | ||
| @@ -17747,7 +18471,7 @@ Defaults to @samp{"/var/log/zabbix/agent.log"}. | |||
| 17747 | @end deftypevr | 18471 | @end deftypevr |
| 17748 | 18472 | ||
| 17749 | @deftypevr {@code{zabbix-agent-configuration} parameter} string pid-file | 18473 | @deftypevr {@code{zabbix-agent-configuration} parameter} string pid-file |
| 17750 | Name of PID file. | 18474 | Name der PID-Datei. |
| 17751 | 18475 | ||
| 17752 | Defaults to @samp{"/var/run/zabbix/zabbix_agent.pid"}. | 18476 | Defaults to @samp{"/var/run/zabbix/zabbix_agent.pid"}. |
| 17753 | 18477 | ||
| @@ -17803,28 +18527,28 @@ NGINX configuration. | |||
| 17803 | @end deftypevr | 18527 | @end deftypevr |
| 17804 | 18528 | ||
| 17805 | @deftypevr {@code{zabbix-front-end-configuration} parameter} string db-host | 18529 | @deftypevr {@code{zabbix-front-end-configuration} parameter} string db-host |
| 17806 | Database host name. | 18530 | Rechnername der Datenbank. |
| 17807 | 18531 | ||
| 17808 | Defaults to @samp{"localhost"}. | 18532 | Defaults to @samp{"localhost"}. |
| 17809 | 18533 | ||
| 17810 | @end deftypevr | 18534 | @end deftypevr |
| 17811 | 18535 | ||
| 17812 | @deftypevr {@code{zabbix-front-end-configuration} parameter} number db-port | 18536 | @deftypevr {@code{zabbix-front-end-configuration} parameter} number db-port |
| 17813 | Database port. | 18537 | Datenbank-Portnummer. |
| 17814 | 18538 | ||
| 17815 | Defaults to @samp{5432}. | 18539 | Defaults to @samp{5432}. |
| 17816 | 18540 | ||
| 17817 | @end deftypevr | 18541 | @end deftypevr |
| 17818 | 18542 | ||
| 17819 | @deftypevr {@code{zabbix-front-end-configuration} parameter} string db-name | 18543 | @deftypevr {@code{zabbix-front-end-configuration} parameter} string db-name |
| 17820 | Database name. | 18544 | Datenbankname. |
| 17821 | 18545 | ||
| 17822 | Defaults to @samp{"zabbix"}. | 18546 | Defaults to @samp{"zabbix"}. |
| 17823 | 18547 | ||
| 17824 | @end deftypevr | 18548 | @end deftypevr |
| 17825 | 18549 | ||
| 17826 | @deftypevr {@code{zabbix-front-end-configuration} parameter} string db-user | 18550 | @deftypevr {@code{zabbix-front-end-configuration} parameter} string db-user |
| 17827 | Database user. | 18551 | Benutzerkonto der Datenbank. |
| 17828 | 18552 | ||
| 17829 | Defaults to @samp{"zabbix"}. | 18553 | Defaults to @samp{"zabbix"}. |
| 17830 | 18554 | ||
| @@ -17985,23 +18709,497 @@ authenticate. | |||
| 17985 | @end deftp | 18709 | @end deftp |
| 17986 | 18710 | ||
| 17987 | 18711 | ||
| 18712 | @node LDAP-Dienste | ||
| 18713 | @subsection LDAP-Dienste | ||
| 18714 | @cindex LDAP | ||
| 18715 | @cindex nslcd, LDAP service | ||
| 18716 | |||
| 18717 | The @code{(gnu services authentication)} module provides the | ||
| 18718 | @code{nslcd-service-type}, which can be used to authenticate against an LDAP | ||
| 18719 | server. In addition to configuring the service itself, you may want to add | ||
| 18720 | @code{ldap} as a name service to the Name Service Switch. @xref{Name Service Switch} for detailed information. | ||
| 18721 | |||
| 18722 | Here is a simple operating system declaration with a default configuration | ||
| 18723 | of the @code{nslcd-service-type} and a Name Service Switch configuration | ||
| 18724 | that consults the @code{ldap} name service last: | ||
| 18725 | |||
| 18726 | @example | ||
| 18727 | (use-service-modules authentication) | ||
| 18728 | (use-modules (gnu system nss)) | ||
| 18729 | ... | ||
| 18730 | (operating-system | ||
| 18731 | ... | ||
| 18732 | (services | ||
| 18733 | (cons* | ||
| 18734 | (service nslcd-service-type) | ||
| 18735 | (service dhcp-client-service-type) | ||
| 18736 | %base-services)) | ||
| 18737 | (name-service-switch | ||
| 18738 | (let ((services (list (name-service (name "db")) | ||
| 18739 | (name-service (name "files")) | ||
| 18740 | (name-service (name "ldap"))))) | ||
| 18741 | (name-service-switch | ||
| 18742 | (inherit %mdns-host-lookup-nss) | ||
| 18743 | (password services) | ||
| 18744 | (shadow services) | ||
| 18745 | (group services) | ||
| 18746 | (netgroup services) | ||
| 18747 | (gshadow services))))) | ||
| 18748 | @end example | ||
| 18749 | |||
| 18750 | @c %start of generated documentation for nslcd-configuration | ||
| 18751 | |||
| 18752 | Available @code{nslcd-configuration} fields are: | ||
| 18753 | |||
| 18754 | @deftypevr {@code{nslcd-configuration} parameter} package nss-pam-ldapd | ||
| 18755 | Das @code{nss-pam-ldapd}-Paket, was benutzt werden soll. | ||
| 18756 | |||
| 18757 | @end deftypevr | ||
| 18758 | |||
| 18759 | @deftypevr {@code{nslcd-configuration} parameter} maybe-number threads | ||
| 18760 | The number of threads to start that can handle requests and perform LDAP | ||
| 18761 | queries. Each thread opens a separate connection to the LDAP server. The | ||
| 18762 | default is to start 5 threads. | ||
| 18763 | |||
| 18764 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18765 | |||
| 18766 | @end deftypevr | ||
| 18767 | |||
| 18768 | @deftypevr {@code{nslcd-configuration} parameter} string uid | ||
| 18769 | This specifies the user id with which the daemon should be run. | ||
| 18770 | |||
| 18771 | Defaults to @samp{"nslcd"}. | ||
| 18772 | |||
| 18773 | @end deftypevr | ||
| 18774 | |||
| 18775 | @deftypevr {@code{nslcd-configuration} parameter} string gid | ||
| 18776 | This specifies the group id with which the daemon should be run. | ||
| 18777 | |||
| 18778 | Defaults to @samp{"nslcd"}. | ||
| 18779 | |||
| 18780 | @end deftypevr | ||
| 18781 | |||
| 18782 | @deftypevr {@code{nslcd-configuration} parameter} log-option log | ||
| 18783 | This option controls the way logging is done via a list containing SCHEME | ||
| 18784 | and LEVEL. The SCHEME argument may either be the symbols "none" or | ||
| 18785 | "syslog", or an absolute file name. The LEVEL argument is optional and | ||
| 18786 | specifies the log level. The log level may be one of the following symbols: | ||
| 18787 | "crit", "error", "warning", "notice", "info" or "debug". All messages with | ||
| 18788 | the specified log level or higher are logged. | ||
| 18789 | |||
| 18790 | Defaults to @samp{("/var/log/nslcd" info)}. | ||
| 18791 | |||
| 18792 | @end deftypevr | ||
| 18793 | |||
| 18794 | @deftypevr {@code{nslcd-configuration} parameter} list uri | ||
| 18795 | The list of LDAP server URIs. Normally, only the first server will be used | ||
| 18796 | with the following servers as fall-back. | ||
| 18797 | |||
| 18798 | Defaults to @samp{("ldap://localhost:389/")}. | ||
| 18799 | |||
| 18800 | @end deftypevr | ||
| 18801 | |||
| 18802 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string ldap-version | ||
| 18803 | The version of the LDAP protocol to use. The default is to use the maximum | ||
| 18804 | version supported by the LDAP library. | ||
| 18805 | |||
| 18806 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18807 | |||
| 18808 | @end deftypevr | ||
| 18809 | |||
| 18810 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string binddn | ||
| 18811 | Specifies the distinguished name with which to bind to the directory server | ||
| 18812 | for lookups. The default is to bind anonymously. | ||
| 18813 | |||
| 18814 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18815 | |||
| 18816 | @end deftypevr | ||
| 18817 | |||
| 18818 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string bindpw | ||
| 18819 | Specifies the credentials with which to bind. This option is only | ||
| 18820 | applicable when used with binddn. | ||
| 18821 | |||
| 18822 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18823 | |||
| 18824 | @end deftypevr | ||
| 18825 | |||
| 18826 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string rootpwmoddn | ||
| 18827 | Specifies the distinguished name to use when the root user tries to modify a | ||
| 18828 | user's password using the PAM module. | ||
| 18829 | |||
| 18830 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18831 | |||
| 18832 | @end deftypevr | ||
| 18833 | |||
| 18834 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string rootpwmodpw | ||
| 18835 | Specifies the credentials with which to bind if the root user tries to | ||
| 18836 | change a user's password. This option is only applicable when used with | ||
| 18837 | rootpwmoddn | ||
| 18838 | |||
| 18839 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18840 | |||
| 18841 | @end deftypevr | ||
| 18842 | |||
| 18843 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string sasl-mech | ||
| 18844 | Specifies the SASL mechanism to be used when performing SASL authentication. | ||
| 18845 | |||
| 18846 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18847 | |||
| 18848 | @end deftypevr | ||
| 18849 | |||
| 18850 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string sasl-realm | ||
| 18851 | Specifies the SASL realm to be used when performing SASL authentication. | ||
| 18852 | |||
| 18853 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18854 | |||
| 18855 | @end deftypevr | ||
| 18856 | |||
| 18857 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string sasl-authcid | ||
| 18858 | Specifies the authentication identity to be used when performing SASL | ||
| 18859 | authentication. | ||
| 18860 | |||
| 18861 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18862 | |||
| 18863 | @end deftypevr | ||
| 18864 | |||
| 18865 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string sasl-authzid | ||
| 18866 | Specifies the authorization identity to be used when performing SASL | ||
| 18867 | authentication. | ||
| 18868 | |||
| 18869 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18870 | |||
| 18871 | @end deftypevr | ||
| 18872 | |||
| 18873 | @deftypevr {@code{nslcd-configuration} parameter} maybe-boolean sasl-canonicalize? | ||
| 18874 | Determines whether the LDAP server host name should be canonicalised. If | ||
| 18875 | this is enabled the LDAP library will do a reverse host name lookup. By | ||
| 18876 | default, it is left up to the LDAP library whether this check is performed | ||
| 18877 | or not. | ||
| 18878 | |||
| 18879 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18880 | |||
| 18881 | @end deftypevr | ||
| 18882 | |||
| 18883 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string krb5-ccname | ||
| 18884 | Set the name for the GSS-API Kerberos credentials cache. | ||
| 18885 | |||
| 18886 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18887 | |||
| 18888 | @end deftypevr | ||
| 18889 | |||
| 18890 | @deftypevr {@code{nslcd-configuration} parameter} string base | ||
| 18891 | Basis für die Verzeichnissuche. | ||
| 18892 | |||
| 18893 | Vorgegeben ist @samp{"dc=example,dc=com"}. | ||
| 18894 | |||
| 18895 | @end deftypevr | ||
| 18896 | |||
| 18897 | @deftypevr {@code{nslcd-configuration} parameter} scope-option scope | ||
| 18898 | Specifies the search scope (subtree, onelevel, base or children). The | ||
| 18899 | default scope is subtree; base scope is almost never useful for name service | ||
| 18900 | lookups; children scope is not supported on all servers. | ||
| 18901 | |||
| 18902 | Defaults to @samp{(subtree)}. | ||
| 18903 | |||
| 18904 | @end deftypevr | ||
| 18905 | |||
| 18906 | @deftypevr {@code{nslcd-configuration} parameter} maybe-deref-option deref | ||
| 18907 | Specifies the policy for dereferencing aliases. The default policy is to | ||
| 18908 | never dereference aliases. | ||
| 18909 | |||
| 18910 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18911 | |||
| 18912 | @end deftypevr | ||
| 18913 | |||
| 18914 | @deftypevr {@code{nslcd-configuration} parameter} maybe-boolean referrals | ||
| 18915 | Specifies whether automatic referral chasing should be enabled. The default | ||
| 18916 | behaviour is to chase referrals. | ||
| 18917 | |||
| 18918 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18919 | |||
| 18920 | @end deftypevr | ||
| 18921 | |||
| 18922 | @deftypevr {@code{nslcd-configuration} parameter} list-of-map-entries maps | ||
| 18923 | This option allows for custom attributes to be looked up instead of the | ||
| 18924 | default RFC 2307 attributes. It is a list of maps, each consisting of the | ||
| 18925 | name of a map, the RFC 2307 attribute to match and the query expression for | ||
| 18926 | the attribute as it is available in the directory. | ||
| 18927 | |||
| 18928 | Defaults to @samp{()}. | ||
| 18929 | |||
| 18930 | @end deftypevr | ||
| 18931 | |||
| 18932 | @deftypevr {@code{nslcd-configuration} parameter} list-of-filter-entries filters | ||
| 18933 | A list of filters consisting of the name of a map to which the filter | ||
| 18934 | applies and an LDAP search filter expression. | ||
| 18935 | |||
| 18936 | Defaults to @samp{()}. | ||
| 18937 | |||
| 18938 | @end deftypevr | ||
| 18939 | |||
| 18940 | @deftypevr {@code{nslcd-configuration} parameter} maybe-number bind-timelimit | ||
| 18941 | Specifies the time limit in seconds to use when connecting to the directory | ||
| 18942 | server. The default value is 10 seconds. | ||
| 18943 | |||
| 18944 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18945 | |||
| 18946 | @end deftypevr | ||
| 18947 | |||
| 18948 | @deftypevr {@code{nslcd-configuration} parameter} maybe-number timelimit | ||
| 18949 | Specifies the time limit (in seconds) to wait for a response from the LDAP | ||
| 18950 | server. A value of zero, which is the default, is to wait indefinitely for | ||
| 18951 | searches to be completed. | ||
| 18952 | |||
| 18953 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18954 | |||
| 18955 | @end deftypevr | ||
| 18956 | |||
| 18957 | @deftypevr {@code{nslcd-configuration} parameter} maybe-number idle-timelimit | ||
| 18958 | Specifies the period if inactivity (in seconds) after which the con‐ nection | ||
| 18959 | to the LDAP server will be closed. The default is not to time out | ||
| 18960 | connections. | ||
| 18961 | |||
| 18962 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18963 | |||
| 18964 | @end deftypevr | ||
| 18965 | |||
| 18966 | @deftypevr {@code{nslcd-configuration} parameter} maybe-number reconnect-sleeptime | ||
| 18967 | Specifies the number of seconds to sleep when connecting to all LDAP servers | ||
| 18968 | fails. By default one second is waited between the first failure and the | ||
| 18969 | first retry. | ||
| 18970 | |||
| 18971 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18972 | |||
| 18973 | @end deftypevr | ||
| 18974 | |||
| 18975 | @deftypevr {@code{nslcd-configuration} parameter} maybe-number reconnect-retrytime | ||
| 18976 | Specifies the time after which the LDAP server is considered to be | ||
| 18977 | permanently unavailable. Once this time is reached retries will be done | ||
| 18978 | only once per this time period. The default value is 10 seconds. | ||
| 18979 | |||
| 18980 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18981 | |||
| 18982 | @end deftypevr | ||
| 18983 | |||
| 18984 | @deftypevr {@code{nslcd-configuration} parameter} maybe-ssl-option ssl | ||
| 18985 | Specifies whether to use SSL/TLS or not (the default is not to). If | ||
| 18986 | 'start-tls is specified then StartTLS is used rather than raw LDAP over SSL. | ||
| 18987 | |||
| 18988 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18989 | |||
| 18990 | @end deftypevr | ||
| 18991 | |||
| 18992 | @deftypevr {@code{nslcd-configuration} parameter} maybe-tls-reqcert-option tls-reqcert | ||
| 18993 | Specifies what checks to perform on a server-supplied certificate. The | ||
| 18994 | meaning of the values is described in the ldap.conf(5) manual page. | ||
| 18995 | |||
| 18996 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 18997 | |||
| 18998 | @end deftypevr | ||
| 18999 | |||
| 19000 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string tls-cacertdir | ||
| 19001 | Specifies the directory containing X.509 certificates for peer authen‐ | ||
| 19002 | tication. This parameter is ignored when using GnuTLS. | ||
| 19003 | |||
| 19004 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19005 | |||
| 19006 | @end deftypevr | ||
| 19007 | |||
| 19008 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string tls-cacertfile | ||
| 19009 | Specifies the path to the X.509 certificate for peer authentication. | ||
| 19010 | |||
| 19011 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19012 | |||
| 19013 | @end deftypevr | ||
| 19014 | |||
| 19015 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string tls-randfile | ||
| 19016 | Specifies the path to an entropy source. This parameter is ignored when | ||
| 19017 | using GnuTLS. | ||
| 19018 | |||
| 19019 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19020 | |||
| 19021 | @end deftypevr | ||
| 19022 | |||
| 19023 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string tls-ciphers | ||
| 19024 | Specifies the ciphers to use for TLS as a string. | ||
| 19025 | |||
| 19026 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19027 | |||
| 19028 | @end deftypevr | ||
| 19029 | |||
| 19030 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string tls-cert | ||
| 19031 | Specifies the path to the file containing the local certificate for client | ||
| 19032 | TLS authentication. | ||
| 19033 | |||
| 19034 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19035 | |||
| 19036 | @end deftypevr | ||
| 19037 | |||
| 19038 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string tls-key | ||
| 19039 | Specifies the path to the file containing the private key for client TLS | ||
| 19040 | authentication. | ||
| 19041 | |||
| 19042 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19043 | |||
| 19044 | @end deftypevr | ||
| 19045 | |||
| 19046 | @deftypevr {@code{nslcd-configuration} parameter} maybe-number pagesize | ||
| 19047 | Set this to a number greater than 0 to request paged results from the LDAP | ||
| 19048 | server in accordance with RFC2696. The default (0) is to not request paged | ||
| 19049 | results. | ||
| 19050 | |||
| 19051 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19052 | |||
| 19053 | @end deftypevr | ||
| 19054 | |||
| 19055 | @deftypevr {@code{nslcd-configuration} parameter} maybe-ignore-users-option nss-initgroups-ignoreusers | ||
| 19056 | This option prevents group membership lookups through LDAP for the specified | ||
| 19057 | users. Alternatively, the value 'all-local may be used. With that value | ||
| 19058 | nslcd builds a full list of non-LDAP users on startup. | ||
| 19059 | |||
| 19060 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19061 | |||
| 19062 | @end deftypevr | ||
| 19063 | |||
| 19064 | @deftypevr {@code{nslcd-configuration} parameter} maybe-number nss-min-uid | ||
| 19065 | This option ensures that LDAP users with a numeric user id lower than the | ||
| 19066 | specified value are ignored. | ||
| 19067 | |||
| 19068 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19069 | |||
| 19070 | @end deftypevr | ||
| 19071 | |||
| 19072 | @deftypevr {@code{nslcd-configuration} parameter} maybe-number nss-uid-offset | ||
| 19073 | This option specifies an offset that is added to all LDAP numeric user ids. | ||
| 19074 | This can be used to avoid user id collisions with local users. | ||
| 19075 | |||
| 19076 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19077 | |||
| 19078 | @end deftypevr | ||
| 19079 | |||
| 19080 | @deftypevr {@code{nslcd-configuration} parameter} maybe-number nss-gid-offset | ||
| 19081 | This option specifies an offset that is added to all LDAP numeric group | ||
| 19082 | ids. This can be used to avoid user id collisions with local groups. | ||
| 19083 | |||
| 19084 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19085 | |||
| 19086 | @end deftypevr | ||
| 19087 | |||
| 19088 | @deftypevr {@code{nslcd-configuration} parameter} maybe-boolean nss-nested-groups | ||
| 19089 | If this option is set, the member attribute of a group may point to another | ||
| 19090 | group. Members of nested groups are also returned in the higher level group | ||
| 19091 | and parent groups are returned when finding groups for a specific user. The | ||
| 19092 | default is not to perform extra searches for nested groups. | ||
| 19093 | |||
| 19094 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19095 | |||
| 19096 | @end deftypevr | ||
| 19097 | |||
| 19098 | @deftypevr {@code{nslcd-configuration} parameter} maybe-boolean nss-getgrent-skipmembers | ||
| 19099 | If this option is set, the group member list is not retrieved when looking | ||
| 19100 | up groups. Lookups for finding which groups a user belongs to will remain | ||
| 19101 | functional so the user will likely still get the correct groups assigned on | ||
| 19102 | login. | ||
| 19103 | |||
| 19104 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19105 | |||
| 19106 | @end deftypevr | ||
| 19107 | |||
| 19108 | @deftypevr {@code{nslcd-configuration} parameter} maybe-boolean nss-disable-enumeration | ||
| 19109 | If this option is set, functions which cause all user/group entries to be | ||
| 19110 | loaded from the directory will not succeed in doing so. This can | ||
| 19111 | dramatically reduce LDAP server load in situations where there are a great | ||
| 19112 | number of users and/or groups. This option is not recommended for most | ||
| 19113 | configurations. | ||
| 19114 | |||
| 19115 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19116 | |||
| 19117 | @end deftypevr | ||
| 19118 | |||
| 19119 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string validnames | ||
| 19120 | This option can be used to specify how user and group names are verified | ||
| 19121 | within the system. This pattern is used to check all user and group names | ||
| 19122 | that are requested and returned from LDAP. | ||
| 19123 | |||
| 19124 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19125 | |||
| 19126 | @end deftypevr | ||
| 19127 | |||
| 19128 | @deftypevr {@code{nslcd-configuration} parameter} maybe-boolean ignorecase | ||
| 19129 | This specifies whether or not to perform searches using case-insensitive | ||
| 19130 | matching. Enabling this could open up the system to authorization bypass | ||
| 19131 | vulnerabilities and introduce nscd cache poisoning vulnerabilities which | ||
| 19132 | allow denial of service. | ||
| 19133 | |||
| 19134 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19135 | |||
| 19136 | @end deftypevr | ||
| 19137 | |||
| 19138 | @deftypevr {@code{nslcd-configuration} parameter} maybe-boolean pam-authc-ppolicy | ||
| 19139 | This option specifies whether password policy controls are requested and | ||
| 19140 | handled from the LDAP server when performing user authentication. | ||
| 19141 | |||
| 19142 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19143 | |||
| 19144 | @end deftypevr | ||
| 19145 | |||
| 19146 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string pam-authc-search | ||
| 19147 | By default nslcd performs an LDAP search with the user's credentials after | ||
| 19148 | BIND (authentication) to ensure that the BIND operation was successful. The | ||
| 19149 | default search is a simple check to see if the user's DN exists. A search | ||
| 19150 | filter can be specified that will be used instead. It should return at | ||
| 19151 | least one entry. | ||
| 19152 | |||
| 19153 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19154 | |||
| 19155 | @end deftypevr | ||
| 19156 | |||
| 19157 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string pam-authz-search | ||
| 19158 | This option allows flexible fine tuning of the authorisation check that | ||
| 19159 | should be performed. The search filter specified is executed and if any | ||
| 19160 | entries match, access is granted, otherwise access is denied. | ||
| 19161 | |||
| 19162 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19163 | |||
| 19164 | @end deftypevr | ||
| 19165 | |||
| 19166 | @deftypevr {@code{nslcd-configuration} parameter} maybe-string pam-password-prohibit-message | ||
| 19167 | If this option is set password modification using pam_ldap will be denied | ||
| 19168 | and the specified message will be presented to the user instead. The | ||
| 19169 | message can be used to direct the user to an alternative means of changing | ||
| 19170 | their password. | ||
| 19171 | |||
| 19172 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). | ||
| 19173 | |||
| 19174 | @end deftypevr | ||
| 19175 | |||
| 19176 | @deftypevr {@code{nslcd-configuration} parameter} list pam-services | ||
| 19177 | List of pam service names for which LDAP authentication should suffice. | ||
| 19178 | |||
| 19179 | Defaults to @samp{()}. | ||
| 19180 | |||
| 19181 | @end deftypevr | ||
| 19182 | |||
| 19183 | @c %end of generated documentation for nslcd-configuration | ||
| 19184 | |||
| 19185 | |||
| 17988 | @node Web-Dienste | 19186 | @node Web-Dienste |
| 17989 | @subsection Web-Dienste | 19187 | @subsection Web-Dienste |
| 17990 | 19188 | ||
| 17991 | @cindex web | 19189 | @cindex Web |
| 17992 | @cindex www | 19190 | @cindex WWW |
| 17993 | @cindex HTTP | 19191 | @cindex HTTP |
| 17994 | The @code{(gnu services web)} module provides the Apache HTTP Server, the | 19192 | Das Modul @code{(gnu services web)} stellt den Apache-HTTP-Server, den |
| 17995 | nginx web server, and also a fastcgi wrapper daemon. | 19193 | nginx-Webserver und auch einen fastcgi-Wrapperdienst bereit. |
| 17996 | 19194 | ||
| 17997 | @subsubheading Apache HTTP Server | 19195 | @subsubheading Apache-HTTP-Server |
| 17998 | 19196 | ||
| 17999 | @deffn {Scheme Variable} httpd-service-type | 19197 | @deffn {Scheme-Variable} httpd-service-type |
| 18000 | Service type for the @uref{https://httpd.apache.org/,Apache HTTP} server | 19198 | Diensttyp für den @uref{https://httpd.apache.org/,Apache-HTTP-Server} |
| 18001 | (@dfn{httpd}). The value for this service type is a | 19199 | (@dfn{httpd}). Der Wert dieses Diensttyps ist ein |
| 18002 | @code{httpd-configuration} record. | 19200 | @code{httpd-configuration}-Verbund. |
| 18003 | 19201 | ||
| 18004 | A simple example configuration is given below. | 19202 | Es folgt ein einfaches Beispiel der Konfiguration. |
| 18005 | 19203 | ||
| 18006 | @example | 19204 | @example |
| 18007 | (service httpd-service-type | 19205 | (service httpd-service-type |
| @@ -18012,8 +19210,8 @@ A simple example configuration is given below. | |||
| 18012 | (document-root "/srv/http/www.example.com"))))) | 19210 | (document-root "/srv/http/www.example.com"))))) |
| 18013 | @end example | 19211 | @end example |
| 18014 | 19212 | ||
| 18015 | Other services can also extend the @code{httpd-service-type} to add to the | 19213 | Andere Dienste können den @code{httpd-service-type} auch erweitern, um etwas |
| 18016 | configuration. | 19214 | zur Konfiguration hinzuzufügen. |
| 18017 | 19215 | ||
| 18018 | @example | 19216 | @example |
| 18019 | (simple-service 'my-extra-server httpd-service-type | 19217 | (simple-service 'my-extra-server httpd-service-type |
| @@ -18026,58 +19224,61 @@ configuration. | |||
| 18026 | @end example | 19224 | @end example |
| 18027 | @end deffn | 19225 | @end deffn |
| 18028 | 19226 | ||
| 18029 | The details for the @code{httpd-configuration}, @code{httpd-module}, | 19227 | Nun folgt eine Beschreibung der Verbundstypen @code{httpd-configuration}, |
| 18030 | @code{httpd-config-file} and @code{httpd-virtualhost} record types are given | 19228 | @code{httpd-module}, @code{httpd-config-file} und @code{httpd-virtualhost}. |
| 18031 | below. | ||
| 18032 | 19229 | ||
| 18033 | @deffn {Data Type} httpd-configuration | 19230 | @deffn {Datentyp} httpd-configuration |
| 18034 | This data type represents the configuration for the httpd service. | 19231 | Dieser Datentyp repräsentiert die Konfiguration des httpd-Dienstes. |
| 18035 | 19232 | ||
| 18036 | @table @asis | 19233 | @table @asis |
| 18037 | @item @code{package} (default: @code{httpd}) | 19234 | @item @code{package} (Vorgabe: @code{httpd}) |
| 18038 | The httpd package to use. | 19235 | Das zu benutzende httpd-Paket. |
| 18039 | 19236 | ||
| 18040 | @item @code{pid-file} (default: @code{"/var/run/httpd"}) | 19237 | @item @code{pid-file} (Vorgabe: @code{"/var/run/httpd"}) |
| 18041 | The pid file used by the shepherd-service. | 19238 | Die vom Shepherd-Dienst benutzte PID-Datei. |
| 18042 | 19239 | ||
| 18043 | @item @code{config} (default: @code{(httpd-config-file)}) | 19240 | @item @code{config} (Vorgabe: @code{(httpd-config-file)}) |
| 18044 | The configuration file to use with the httpd service. The default value is a | 19241 | Die vom httpd-Dienst zu benutzende Konfigurationsdatei. Vorgegeben ist ein |
| 18045 | @code{httpd-config-file} record, but this can also be a different | 19242 | @code{httpd-config-file}-Verbundsobjekt, aber als Wert kann auch ein anderer |
| 18046 | G-expression that generates a file, for example a @code{plain-file}. A file | 19243 | G-Ausdruck benutzt werden, der eine Datei erzeugt, zum Beispiel ein |
| 18047 | outside of the store can also be specified through a string. | 19244 | @code{plain-file}. Es kann auch eine Datei außerhalb des Stores mit einer |
| 19245 | Zeichenkette angegeben werden. | ||
| 18048 | 19246 | ||
| 18049 | @end table | 19247 | @end table |
| 18050 | @end deffn | 19248 | @end deffn |
| 18051 | 19249 | ||
| 18052 | @deffn {Data Type} httpd-module | 19250 | @deffn {Datentyp} httpd-module |
| 18053 | This data type represents a module for the httpd service. | 19251 | Dieser Datentyp steht für ein Modul des httpd-Dienstes. |
| 18054 | 19252 | ||
| 18055 | @table @asis | 19253 | @table @asis |
| 18056 | @item @code{name} | 19254 | @item @code{name} |
| 18057 | The name of the module. | 19255 | Der Name des Moduls. |
| 18058 | 19256 | ||
| 18059 | @item @code{file} | 19257 | @item @code{file} |
| 18060 | The file for the module. This can be relative to the httpd package being | 19258 | Die Datei, in der das Modul steht. Sie kann relativ zum benutzten |
| 18061 | used, the absolute location of a file, or a G-expression for a file within | 19259 | httpd-Paket oder als absoluter Pfad einer Datei oder als ein G-Ausdruck für |
| 18062 | the store, for example @code{(file-append mod-wsgi "/modules/mod_wsgi.so")}. | 19260 | eine Datei im Store angegeben werden, zum Beispiel @code{(file-append |
| 19261 | mod-wsgi "/modules/mod_wsgi.so")}. | ||
| 18063 | 19262 | ||
| 18064 | @end table | 19263 | @end table |
| 18065 | @end deffn | 19264 | @end deffn |
| 18066 | 19265 | ||
| 18067 | @defvr {Scheme Variable} %default-httpd-modules | 19266 | @defvr {Scheme-Variable} %default-httpd-modules |
| 18068 | A default list of @code{httpd-module} objects. | 19267 | Eine vorgegebene Liste von @code{httpd-module}-Objekten. |
| 18069 | @end defvr | 19268 | @end defvr |
| 18070 | 19269 | ||
| 18071 | @deffn {Data Type} httpd-config-file | 19270 | @deffn {Datentyp} httpd-config-file |
| 18072 | This data type represents a configuration file for the httpd service. | 19271 | Dieser Datentyp repräsentiert eine Konfigurationsdatei für den httpd-Dienst. |
| 18073 | 19272 | ||
| 18074 | @table @asis | 19273 | @table @asis |
| 18075 | @item @code{modules} (default: @code{%default-httpd-modules}) | 19274 | @item @code{modules} (Vorgabe: @code{%default-httpd-modules}) |
| 18076 | The modules to load. Additional modules can be added here, or loaded by | 19275 | Welche Module geladen werden sollen. Zusätzliche Module können hier |
| 18077 | additional configuration. | 19276 | eingetragen werden oder durch eine zusätzliche Konfigurationsangabe geladen |
| 19277 | werden. | ||
| 18078 | 19278 | ||
| 18079 | For example, in order to handle requests for PHP files, you can use Apache’s | 19279 | Um zum Beispiel Anfragen nach PHP-Dateien zu behandeln, können Sie das Modul |
| 18080 | @code{mod_proxy_fcgi} module along with @code{php-fpm-service-type}: | 19280 | @code{mod_proxy_fcgi} von Apache zusammen mit @code{php-fpm-service-type} |
| 19281 | benutzen: | ||
| 18081 | 19282 | ||
| 18082 | @example | 19283 | @example |
| 18083 | (service httpd-service-type | 19284 | (service httpd-service-type |
| @@ -18102,54 +19303,64 @@ For example, in order to handle requests for PHP files, you can use Apache’s | |||
| 18102 | (socket-group "httpd"))) | 19303 | (socket-group "httpd"))) |
| 18103 | @end example | 19304 | @end example |
| 18104 | 19305 | ||
| 18105 | @item @code{server-root} (default: @code{httpd}) | 19306 | @item @code{server-root} (Vorgabe: @code{httpd}) |
| 18106 | The @code{ServerRoot} in the configuration file, defaults to the httpd | 19307 | Die @code{ServerRoot} in der Konfigurationsdatei, vorgegeben ist das |
| 18107 | package. Directives including @code{Include} and @code{LoadModule} are taken | 19308 | httpd-Paket. Direktiven wie @code{Include} und @code{LoadModule} werden |
| 18108 | as relative to the server root. | 19309 | relativ zur ServerRoot interpretiert. |
| 18109 | 19310 | ||
| 18110 | @item @code{server-name} (default: @code{#f}) | 19311 | @item @code{server-name} (Vorgabe: @code{#f}) |
| 18111 | The @code{ServerName} in the configuration file, used to specify the request | 19312 | Der @code{ServerName} in der Konfigurationsdatei, mit dem das Anfrageschema |
| 18112 | scheme, hostname and port that the server uses to identify itself. | 19313 | (Request Scheme), der Rechnername (Hostname) und Port angegeben wird, mit |
| 19314 | denen sich der Server identifiziert. | ||
| 18113 | 19315 | ||
| 18114 | This doesn't need to be set in the server config, and can be specifyed in | 19316 | Es muss nicht als Teil der Server-Konfiguration festgelegt werden, sondern |
| 18115 | virtual hosts. The default is @code{#f} to not specify a @code{ServerName}. | 19317 | kann auch in virtuellen Rechnern (Virtual Hosts) festgelegt |
| 19318 | werden. Vorgegeben ist @code{#f}, wodurch kein @code{ServerName} festgelegt | ||
| 19319 | wird. | ||
| 18116 | 19320 | ||
| 18117 | @item @code{document-root} (default: @code{"/srv/http"}) | 19321 | @item @code{document-root} (Vorgabe: @code{"/srv/http"}) |
| 18118 | The @code{DocumentRoot} from which files will be served. | 19322 | Das @code{DocumentRoot}-Verzeichnis, in dem sich die Dateien befinden, die |
| 19323 | man vom Server abrufen kann. | ||
| 18119 | 19324 | ||
| 18120 | @item @code{listen} (default: @code{'("80")}) | 19325 | @item @code{listen} (Vorgabe: @code{'("80")}) |
| 18121 | The list of values for the @code{Listen} directives in the config file. The | 19326 | Die Liste der Werte für die @code{Listen}-Direktive in der |
| 18122 | value should be a list of strings, when each string can specify the port | 19327 | Konfigurationsdatei. Als Wert sollte eine Liste von Zeichenketten angegeben |
| 18123 | number to listen on, and optionally the IP address and protocol to use. | 19328 | werden, die jeweils die Portnummer, auf der gelauscht wird, und optional |
| 19329 | auch die zu benutzende IP-Adresse und das Protokoll angeben. | ||
| 18124 | 19330 | ||
| 18125 | @item @code{pid-file} (default: @code{"/var/run/httpd"}) | 19331 | @item @code{pid-file} (Vorgabe: @code{"/var/run/httpd"}) |
| 18126 | The @code{PidFile} to use. This should match the @code{pid-file} set in the | 19332 | Hiermit wird die PID-Datei als @code{PidFile}-Direktive angegeben. Der Wert |
| 18127 | @code{httpd-configuration} so that the Shepherd service is configured | 19333 | sollte mit der @code{pid-file}-Datei in der @code{httpd-configuration} |
| 18128 | correctly. | 19334 | übereinstimmen, damit der Shepherd-Dienst richtig konfiguriert ist. |
| 18129 | 19335 | ||
| 18130 | @item @code{error-log} (default: @code{"/var/log/httpd/error_log"}) | 19336 | @item @code{error-log} (Vorgabe: @code{"/var/log/httpd/error_log"}) |
| 18131 | The @code{ErrorLog} to which the server will log errors. | 19337 | Der Ort, an den der Server mit der @code{ErrorLog}-Direktive |
| 19338 | Fehlerprotokolle schreibt. | ||
| 18132 | 19339 | ||
| 18133 | @item @code{user} (default: @code{"httpd"}) | 19340 | @item @code{user} (Vorgabe: @code{"httpd"}) |
| 18134 | The @code{User} which the server will answer requests as. | 19341 | Der Benutzer, als der der Server durch die @code{User}-Direktive Anfragen |
| 19342 | beantwortet. | ||
| 18135 | 19343 | ||
| 18136 | @item @code{group} (default: @code{"httpd"}) | 19344 | @item @code{group} (Vorgabe: @code{"httpd"}) |
| 18137 | The @code{Group} which the server will answer requests as. | 19345 | Die Gruppe, mit der der Server durch die @code{Group}-Direktive Anfragen |
| 19346 | beantwortet. | ||
| 18138 | 19347 | ||
| 18139 | @item @code{extra-config} (default: @code{(list "TypesConfig etc/httpd/mime.types")}) | 19348 | @item @code{extra-config} (Vorgabe: @code{(list "TypesConfig etc/httpd/mime.types")}) |
| 18140 | A flat list of strings and G-expressions which will be added to the end of | 19349 | Eine flache Liste von Zeichenketten und G-Ausdrücken, die am Ende der |
| 18141 | the configuration file. | 19350 | Konfigurationsdatei hinzugefügt werden. |
| 18142 | 19351 | ||
| 18143 | Any values which the service is extended with will be appended to this list. | 19352 | Alle Werte, mit denen dieser Dienst erweitert wird, werden an die Liste |
| 19353 | angehängt. | ||
| 18144 | 19354 | ||
| 18145 | @end table | 19355 | @end table |
| 18146 | @end deffn | 19356 | @end deffn |
| 18147 | 19357 | ||
| 18148 | @deffn {Data Type} httpd-virtualhost | 19358 | @deffn {Datentyp} httpd-virtualhost |
| 18149 | This data type represents a virtualhost configuration block for the httpd | 19359 | Dieser Datentyp repräsentiert einen Konfigurationsblock für einen virtuellen |
| 18150 | service. | 19360 | Rechner (Virtual Host) des httpd-Dienstes. |
| 18151 | 19361 | ||
| 18152 | These should be added to the extra-config for the httpd-service. | 19362 | Sie sollten zur zusätzlichen Konfiguration extra-config des httpd-Dienstes |
| 19363 | hinzugefügt werden. | ||
| 18153 | 19364 | ||
| 18154 | @example | 19365 | @example |
| 18155 | (simple-service 'my-extra-server httpd-service-type | 19366 | (simple-service 'my-extra-server httpd-service-type |
| @@ -18163,22 +19374,22 @@ These should be added to the extra-config for the httpd-service. | |||
| 18163 | 19374 | ||
| 18164 | @table @asis | 19375 | @table @asis |
| 18165 | @item @code{addresses-and-ports} | 19376 | @item @code{addresses-and-ports} |
| 18166 | The addresses and ports for the @code{VirtualHost} directive. | 19377 | Adressen und Ports für die @code{VirtualHost}-Direktive. |
| 18167 | 19378 | ||
| 18168 | @item @code{contents} | 19379 | @item @code{contents} |
| 18169 | The contents of the @code{VirtualHost} directive, this should be a list of | 19380 | Der Inhalt der @code{VirtualHost}-Direktive. Er sollte als Liste von |
| 18170 | strings and G-expressions. | 19381 | Zeichenketten und G-Ausdrücken angegeben werden. |
| 18171 | 19382 | ||
| 18172 | @end table | 19383 | @end table |
| 18173 | @end deffn | 19384 | @end deffn |
| 18174 | 19385 | ||
| 18175 | @subsubheading NGINX | 19386 | @subsubheading NGINX |
| 18176 | 19387 | ||
| 18177 | @deffn {Scheme Variable} nginx-service-type | 19388 | @deffn {Scheme-Variable} nginx-service-type |
| 18178 | Service type for the @uref{https://nginx.org/,NGinx} web server. The value | 19389 | Diensttyp für den @uref{https://nginx.org/,NGinx}-Webserver. Der Wert des |
| 18179 | for this service type is a @code{<nginx-configuration>} record. | 19390 | Dienstes ist ein @code{<nginx-configuration>}-Verbundsobjekt. |
| 18180 | 19391 | ||
| 18181 | A simple example configuration is given below. | 19392 | Es folgt ein einfaches Beispiel der Konfiguration. |
| 18182 | 19393 | ||
| 18183 | @example | 19394 | @example |
| 18184 | (service nginx-service-type | 19395 | (service nginx-service-type |
| @@ -18189,9 +19400,9 @@ A simple example configuration is given below. | |||
| 18189 | (root "/srv/http/www.example.com")))))) | 19400 | (root "/srv/http/www.example.com")))))) |
| 18190 | @end example | 19401 | @end example |
| 18191 | 19402 | ||
| 18192 | In addition to adding server blocks to the service configuration directly, | 19403 | Außer durch direktes Hinzufügen von Server-Blöcken zur Dienstkonfiguration |
| 18193 | this service can be extended by other services to add server blocks, as in | 19404 | kann der Dienst auch durch andere Dienste erweitert werden, um Server-Blöcke |
| 18194 | this example: | 19405 | hinzuzufügen, wie man im folgenden Beispiel sieht: |
| 18195 | 19406 | ||
| 18196 | @example | 19407 | @example |
| 18197 | (simple-service 'my-extra-server nginx-service-type | 19408 | (simple-service 'my-extra-server nginx-service-type |
| @@ -18201,37 +19412,42 @@ this example: | |||
| 18201 | @end example | 19412 | @end example |
| 18202 | @end deffn | 19413 | @end deffn |
| 18203 | 19414 | ||
| 18204 | At startup, @command{nginx} has not yet read its configuration file, so it | 19415 | Beim Starten hat @command{nginx} seine Konfigurationsdatei noch nicht |
| 18205 | uses a default file to log error messages. If it fails to load its | 19416 | gelesen und benutzt eine vorgegebene Datei, um Fehlermeldungen zu |
| 18206 | configuration file, that is where error messages are logged. After the | 19417 | protokollieren. Wenn er seine Konfigurationsdatei nicht laden kann, landen |
| 18207 | configuration file is loaded, the default error log file changes as per | 19418 | Fehlermeldungen also dort. Nachdem die Konfigurationsdatei geladen ist, |
| 18208 | configuration. In our case, startup error messages can be found in | 19419 | werden Fehlerprotokolle nach Voreinstellung in die Datei geschrieben, die in |
| 18209 | @file{/var/run/nginx/logs/error.log}, and after configuration in | 19420 | der Konfiguration angegeben ist. In unserem Fall können Sie Fehlermeldungen |
| 18210 | @file{/var/log/nginx/error.log}. The second location can be changed with | 19421 | beim Starten in @file{/var/run/nginx/logs/error.log} finden und nachdem die |
| 18211 | the @var{log-directory} configuration option. | 19422 | Konfiguration eingelesen wurde, finden Sie sie in |
| 18212 | 19423 | @file{/var/log/nginx/error.log}. Letzterer Ort kann mit der | |
| 18213 | @deffn {Data Type} nginx-configuration | 19424 | Konfigurationsoption @var{log-directory} geändert werden. |
| 18214 | This data type represents the configuration for NGinx. Some configuration | 19425 | |
| 18215 | can be done through this and the other provided record types, or | 19426 | @deffn {Datentyp} nginx-configuration |
| 18216 | alternatively, a config file can be provided. | 19427 | Dieser Datentyp repräsentiert die Konfiguration von NGinx. Ein Teil der |
| 19428 | Konfiguration kann hierüber und über die anderen zu Ihrer Verfügung | ||
| 19429 | stehenden Verbundstypen geschehen, alternativ können Sie eine | ||
| 19430 | Konfigurationsdatei mitgeben. | ||
| 18217 | 19431 | ||
| 18218 | @table @asis | 19432 | @table @asis |
| 18219 | @item @code{nginx} (default: @code{nginx}) | 19433 | @item @code{nginx} (Vorgabe: @code{nginx}) |
| 18220 | The nginx package to use. | 19434 | Das zu benutzende nginx-Paket. |
| 18221 | 19435 | ||
| 18222 | @item @code{log-directory} (default: @code{"/var/log/nginx"}) | 19436 | @item @code{log-directory} (Vorgabe: @code{"/var/log/nginx"}) |
| 18223 | The directory to which NGinx will write log files. | 19437 | In welches Verzeichnis NGinx Protokolldateien schreiben wird. |
| 18224 | 19438 | ||
| 18225 | @item @code{run-directory} (default: @code{"/var/run/nginx"}) | 19439 | @item @code{run-directory} (Vorgabe: @code{"/var/run/nginx"}) |
| 18226 | The directory in which NGinx will create a pid file, and write temporary | 19440 | In welchem Verzeichnis NGinx eine PID-Datei anlegen und temporäre Dateien |
| 18227 | files. | 19441 | ablegen wird. |
| 18228 | 19442 | ||
| 18229 | @item @code{server-blocks} (default: @code{'()}) | 19443 | @item @code{server-blocks} (Vorgabe: @code{'()}) |
| 18230 | A list of @dfn{server blocks} to create in the generated configuration file, | 19444 | Eine Liste von @dfn{Server-Blöcken}, die in der erzeugten |
| 18231 | the elements should be of type @code{<nginx-server-configuration>}. | 19445 | Konfigurationsdatei stehen sollen. Die Elemente davon sollten den Typ |
| 19446 | @code{<nginx-server-configuration>} haben. | ||
| 18232 | 19447 | ||
| 18233 | The following example would setup NGinx to serve @code{www.example.com} from | 19448 | Im folgenden Beispiel wäre NGinx so eingerichtet, dass Anfragen an |
| 18234 | the @code{/srv/http/www.example.com} directory, without using HTTPS. | 19449 | @code{www.example.com} mit Dateien aus dem Verzeichnis |
| 19450 | @code{/srv/http/www.example.com} beantwortet werden, ohne HTTPS zu benutzen. | ||
| 18235 | @example | 19451 | @example |
| 18236 | (service nginx-service-type | 19452 | (service nginx-service-type |
| 18237 | (nginx-configuration | 19453 | (nginx-configuration |
| @@ -18241,15 +19457,17 @@ the @code{/srv/http/www.example.com} directory, without using HTTPS. | |||
| 18241 | (root "/srv/http/www.example.com")))))) | 19457 | (root "/srv/http/www.example.com")))))) |
| 18242 | @end example | 19458 | @end example |
| 18243 | 19459 | ||
| 18244 | @item @code{upstream-blocks} (default: @code{'()}) | 19460 | @item @code{upstream-blocks} (Vorgabe: @code{'()}) |
| 18245 | A list of @dfn{upstream blocks} to create in the generated configuration | 19461 | Eine Liste von @dfn{Upstream-Blöcken}, die in der erzeugten |
| 18246 | file, the elements should be of type @code{<nginx-upstream-configuration>}. | 19462 | Konfigurationsdatei stehen sollen. Ihre Elemente sollten den Typ |
| 19463 | @code{<nginx-upstream-configuration>} haben. | ||
| 18247 | 19464 | ||
| 18248 | Configuring upstreams through the @code{upstream-blocks} can be useful when | 19465 | Upstreams als @code{upstream-blocks} zu konfigurieren, kann hilfreich sein, |
| 18249 | combined with @code{locations} in the @code{<nginx-server-configuration>} | 19466 | wenn es mit @code{locations} in @code{<nginx-server-configuration>} |
| 18250 | records. The following example creates a server configuration with one | 19467 | verbunden wird. Das folgende Beispiel erzeugt eine Server-Konfiguration mit |
| 18251 | location configuration, that will proxy requests to a upstream | 19468 | einer Location-Konfiguration, bei der Anfragen als Proxy entsprechend einer |
| 18252 | configuration, which will handle requests with two servers. | 19469 | Upstream-Konfiguration weitergeleitet werden, wodurch zwei Server diese |
| 19470 | beantworten können. | ||
| 18253 | 19471 | ||
| 18254 | @example | 19472 | @example |
| 18255 | (service | 19473 | (service |
| @@ -18272,133 +19490,146 @@ configuration, which will handle requests with two servers. | |||
| 18272 | @end example | 19490 | @end example |
| 18273 | 19491 | ||
| 18274 | @item @code{file} (default: @code{#f}) | 19492 | @item @code{file} (default: @code{#f}) |
| 18275 | If a configuration @var{file} is provided, this will be used, rather than | 19493 | Wenn eine Konfigurationsdatei als @var{file} angegeben wird, dann wird diese |
| 18276 | generating a configuration file from the provided @code{log-directory}, | 19494 | benutzt und @emph{keine} Konfigurationsdatei anhand der angegebenen |
| 18277 | @code{run-directory}, @code{server-blocks} and @code{upstream-blocks}. For | 19495 | @code{log-directory}, @code{run-directory}, @code{server-blocks} und |
| 18278 | proper operation, these arguments should match what is in @var{file} to | 19496 | @code{upstream-blocks} erzeugt. Trotzdem sollten diese Argumente bei einer |
| 18279 | ensure that the directories are created when the service is activated. | 19497 | richtigen Konfiguration mit denen in der Datei @var{file} übereinstimmen, |
| 18280 | 19498 | damit die Verzeichnisse bei Aktivierung des Dienstes erzeugt werden. | |
| 18281 | This can be useful if you have an existing configuration file, or it's not | 19499 | |
| 18282 | possible to do what is required through the other parts of the | 19500 | Das kann nützlich sein, wenn Sie schon eine bestehende Konfigurationsdatei |
| 18283 | nginx-configuration record. | 19501 | haben oder das, was Sie brauchen, nicht mit anderen Teilen eines |
| 18284 | 19502 | nginx-configuration-Verbundsobjekts umgesetzt werden kann. | |
| 18285 | @item @code{server-names-hash-bucket-size} (default: @code{#f}) | 19503 | |
| 18286 | Bucket size for the server names hash tables, defaults to @code{#f} to use | 19504 | @item @code{server-names-hash-bucket-size} (Vorgabe: @code{#f}) |
| 18287 | the size of the processors cache line. | 19505 | Größe der Behälter (englisch »Buckets«) für die Hashtabelle der Servernamen; |
| 19506 | vorgegeben ist @code{#f}, wodurch die Größe der Cache-Lines des Prozessors | ||
| 19507 | verwendet wird. | ||
| 18288 | 19508 | ||
| 18289 | @item @code{server-names-hash-bucket-max-size} (default: @code{#f}) | 19509 | @item @code{server-names-hash-bucket-max-size} (Vorgabe: @code{#f}) |
| 18290 | Maximum bucket size for the server names hash tables. | 19510 | Maximale Behältergröße für die Hashtabelle der Servernamen. |
| 18291 | 19511 | ||
| 18292 | @item @code{extra-content} (Vorgabe: @code{""}) | 19512 | @item @code{extra-content} (Vorgabe: @code{""}) |
| 18293 | Extra content for the @code{http} block. Should be string or a string | 19513 | Zusätzlicher Inhalt des @code{http}-Blocks. Er sollte eine Zeichenkette oder |
| 18294 | valued G-expression. | 19514 | ein zeichenkettenwertiger G-Ausdruck. |
| 18295 | 19515 | ||
| 18296 | @end table | 19516 | @end table |
| 18297 | @end deffn | 19517 | @end deffn |
| 18298 | 19518 | ||
| 18299 | @deftp {Data Type} nginx-server-configuration | 19519 | @deftp {Datentyp} nginx-server-configuration |
| 18300 | Data type representing the configuration of an nginx server block. This | 19520 | Der Datentyp, der die Konfiguration eines nginx-Serverblocks |
| 18301 | type has the following parameters: | 19521 | repräsentiert. Dieser Typ hat die folgenden Parameter: |
| 18302 | 19522 | ||
| 18303 | @table @asis | 19523 | @table @asis |
| 18304 | @item @code{listen} (default: @code{'("80" "443 ssl")}) | 19524 | @item @code{listen} (Vorgabe: @code{'("80" "443 ssl")}) |
| 18305 | Each @code{listen} directive sets the address and port for IP, or the path | 19525 | Jede @code{listen}-Direktive legt Adresse und Port für eine IP fest oder |
| 18306 | for a UNIX-domain socket on which the server will accept requests. Both | 19526 | gibt einen Unix-Socket an, auf dem der Server Anfragen beantwortet. Es |
| 18307 | address and port, or only address or only port can be specified. An address | 19527 | können entweder sowohl Adresse als auch Port oder nur die Adresse oder nur |
| 18308 | may also be a hostname, for example: | 19528 | der Port angegeben werden. Als Adresse kann auch ein Rechnername |
| 19529 | (»Hostname«) angegeben werden, zum Beispiel: | ||
| 18309 | 19530 | ||
| 18310 | @example | 19531 | @example |
| 18311 | '("127.0.0.1:8000" "127.0.0.1" "8000" "*:8000" "localhost:8000") | 19532 | '("127.0.0.1:8000" "127.0.0.1" "8000" "*:8000" "localhost:8000") |
| 18312 | @end example | 19533 | @end example |
| 18313 | 19534 | ||
| 18314 | @item @code{server-name} (default: @code{(list 'default)}) | 19535 | @item @code{server-name} (Vorgabe: @code{(list 'default)}) |
| 18315 | A list of server names this server represents. @code{'default} represents | 19536 | Eine Liste von Servernamen, die dieser Server repräsentiert. @code{'default} |
| 18316 | the default server for connections matching no other server. | 19537 | repräsentiert den voreingestellten Server, der für Verbindungen verwendet |
| 19538 | wird, die zu keinem anderen Server passen. | ||
| 18317 | 19539 | ||
| 18318 | @item @code{root} (default: @code{"/srv/http"}) | 19540 | @item @code{root} (Vorgabe: @code{"/srv/http"}) |
| 18319 | Root of the website nginx will serve. | 19541 | Wurzelverzeichnis der Webpräsenz, die über nginx abgerufen werden kann. |
| 18320 | 19542 | ||
| 18321 | @item @code{locations} (default: @code{'()}) | 19543 | @item @code{locations} (Vorgabe: @code{'()}) |
| 18322 | A list of @dfn{nginx-location-configuration} or | 19544 | Eine Liste von @dfn{nginx-location-configuration}- oder |
| 18323 | @dfn{nginx-named-location-configuration} records to use within this server | 19545 | @dfn{nginx-named-location-configuration}-Verbundsobjekten, die innerhalb des |
| 18324 | block. | 19546 | Serverblocks benutzt werden. |
| 18325 | 19547 | ||
| 18326 | @item @code{index} (default: @code{(list "index.html")}) | 19548 | @item @code{index} (Vorgabe: @code{(list "index.html")}) |
| 18327 | Index files to look for when clients ask for a directory. If it cannot be | 19549 | Index-Dateien, mit denen Anfragen nach einem Verzeichnis beantwortet |
| 18328 | found, Nginx will send the list of files in the directory. | 19550 | werden. Wenn @emph{keine} davon gefunden wird, antwortet Nginx mit der Liste |
| 19551 | der Dateien im Verzeichnis. | ||
| 18329 | 19552 | ||
| 18330 | @item @code{try-files} (default: @code{'()}) | 19553 | @item @code{try-files} (Vorgabe: @code{'()}) |
| 18331 | A list of files whose existence is checked in the specified order. | 19554 | Eine Liste der Dateien, bei denen in der angegebenen Reihenfolge geprüft |
| 18332 | @code{nginx} will use the first file it finds to process the request. | 19555 | wird, ob sie existieren. @code{nginx} beantwortet die Anfrage mit der ersten |
| 19556 | Datei, die es findet. | ||
| 18333 | 19557 | ||
| 18334 | @item @code{ssl-certificate} (default: @code{#f}) | 19558 | @item @code{ssl-certificate} (Vorgabe: @code{#f}) |
| 18335 | Where to find the certificate for secure connections. Set it to @code{#f} | 19559 | Wo das Zertifikat für sichere Verbindungen gespeichert ist. Sie sollten es |
| 18336 | if you don't have a certificate or you don't want to use HTTPS. | 19560 | auf @code{#f} setzen, wenn Sie kein Zertifikat haben oder kein HTTPS |
| 19561 | benutzen möchten. | ||
| 18337 | 19562 | ||
| 18338 | @item @code{ssl-certificate-key} (default: @code{#f}) | 19563 | @item @code{ssl-certificate-key} (Vorgabe: @code{#f}) |
| 18339 | Where to find the private key for secure connections. Set it to @code{#f} | 19564 | Wo der private Schlüssel für sichere Verbindungen gespeichert ist. Sie |
| 18340 | if you don't have a key or you don't want to use HTTPS. | 19565 | sollten ihn auf @code{#f} setzen, wenn Sie keinen Schlüssel haben oder kein |
| 19566 | HTTPS benutzen möchten. | ||
| 18341 | 19567 | ||
| 18342 | @item @code{server-tokens?} (default: @code{#f}) | 19568 | @item @code{server-tokens?} (Vorgabe: @code{#f}) |
| 18343 | Whether the server should add its configuration to response. | 19569 | Ob der Server Informationen über seine Konfiguration bei Antworten beilegen |
| 19570 | soll. | ||
| 18344 | 19571 | ||
| 18345 | @item @code{raw-content} (default: @code{'()}) | 19572 | @item @code{raw-content} (Vorgabe: @code{'()}) |
| 18346 | A list of raw lines added to the server block. | 19573 | Eine Liste von Zeilen, die unverändert in den Serverblock eingefügt werden. |
| 18347 | 19574 | ||
| 18348 | @end table | 19575 | @end table |
| 18349 | @end deftp | 19576 | @end deftp |
| 18350 | 19577 | ||
| 18351 | @deftp {Data Type} nginx-upstream-configuration | 19578 | @deftp {Datentyp} nginx-upstream-configuration |
| 18352 | Data type representing the configuration of an nginx @code{upstream} block. | 19579 | Der Datentyp, der die Konfiguration eines nginx-@code{upstream}-Blocks |
| 18353 | This type has the following parameters: | 19580 | repräsentiert. Dieser Typ hat folgende Parameter: |
| 18354 | 19581 | ||
| 18355 | @table @asis | 19582 | @table @asis |
| 18356 | @item @code{name} | 19583 | @item @code{name} |
| 18357 | Name for this group of servers. | 19584 | Der Name dieser Servergruppe. |
| 18358 | 19585 | ||
| 18359 | @item @code{servers} | 19586 | @item @code{servers} |
| 18360 | Specify the addresses of the servers in the group. The address can be | 19587 | Gibt die Adressen der Server in der Gruppe an. Die Adresse kann als |
| 18361 | specified as a IP address (e.g.@: @samp{127.0.0.1}), domain name (e.g.@: | 19588 | IP-Adresse (z.B.@: @samp{127.0.0.1}), Domänenname (z.B.@: |
| 18362 | @samp{backend1.example.com}) or a path to a UNIX socket using the prefix | 19589 | @samp{backend1.example.com}) oder als Pfad eines Unix-Sockets mit dem |
| 18363 | @samp{unix:}. For addresses using an IP address or domain name, the default | 19590 | vorangestellten Präfix @samp{unix:} angegeben werden. Wenn Adressen eine |
| 18364 | port is 80, and a different port can be specified explicitly. | 19591 | IP-Adresse oder einen Domänennamen benutzen, ist der voreingestellte Port |
| 19592 | 80, aber ein abweichender Port kann auch explizit angegeben werden. | ||
| 18365 | 19593 | ||
| 18366 | @end table | 19594 | @end table |
| 18367 | @end deftp | 19595 | @end deftp |
| 18368 | 19596 | ||
| 18369 | @deftp {Data Type} nginx-location-configuration | 19597 | @deftp {Datentyp} nginx-location-configuration |
| 18370 | Data type representing the configuration of an nginx @code{location} block. | 19598 | Der Datentyp, der die Konfiguration eines nginx-@code{location}-Blocks |
| 18371 | This type has the following parameters: | 19599 | angibt. Der Typ hat die folgenden Parameter: |
| 18372 | 19600 | ||
| 18373 | @table @asis | 19601 | @table @asis |
| 18374 | @item @code{uri} | 19602 | @item @code{uri} |
| 18375 | URI which this location block matches. | 19603 | Die URI, die auf diesen Block passt. |
| 18376 | 19604 | ||
| 18377 | @anchor{nginx-location-configuration body} | 19605 | @anchor{nginx-location-configuration body} |
| 18378 | @item @code{body} | 19606 | @item @code{body} |
| 18379 | Body of the location block, specified as a list of strings. This can contain | 19607 | Der Rumpf des location-Blocks, der als eine Liste von Zeichenketten |
| 18380 | many configuration directives. For example, to pass requests to a upstream | 19608 | angegeben werden muss. Er kann viele Konfigurationsdirektiven enthalten, zum |
| 18381 | server group defined using an @code{nginx-upstream-configuration} block, the | 19609 | Beispiel können Anfragen an eine Upstream-Servergruppe weitergeleitet |
| 18382 | following directive would be specified in the body @samp{(list "proxy_pass | 19610 | werden, die mit einem @code{nginx-upstream-configuration}-Block angegeben |
| 18383 | http://upstream-name;")}. | 19611 | wurde, indem diese Direktive im Rumpf angegeben wird: @samp{(list |
| 19612 | "proxy_pass http://upstream-name;")}. | ||
| 18384 | 19613 | ||
| 18385 | @end table | 19614 | @end table |
| 18386 | @end deftp | 19615 | @end deftp |
| 18387 | 19616 | ||
| 18388 | @deftp {Data Type} nginx-named-location-configuration | 19617 | @deftp {Datentyp} nginx-named-location-configuration |
| 18389 | Data type representing the configuration of an nginx named location block. | 19618 | Der Datentyp repräsentiert die Konfiguration eines mit Namen versehenen |
| 18390 | Named location blocks are used for request redirection, and not used for | 19619 | nginx-location-Blocks (»Named Location Block«). Ein mit Namen versehener |
| 18391 | regular request processing. This type has the following parameters: | 19620 | location-Block wird zur Umleitung von Anfragen benutzt und nicht für die |
| 19621 | normale Anfrageverarbeitung. Dieser Typ hat die folgenden Parameter: | ||
| 18392 | 19622 | ||
| 18393 | @table @asis | 19623 | @table @asis |
| 18394 | @item @code{name} | 19624 | @item @code{name} |
| 18395 | Name to identify this location block. | 19625 | Der Name, mit dem dieser location-Block identifiziert wird. |
| 18396 | 19626 | ||
| 18397 | @item @code{body} | 19627 | @item @code{body} |
| 18398 | @xref{nginx-location-configuration body}, as the body for named location | 19628 | Siehe @ref{nginx-location-configuration body}, weil der Rumpf (»Body«) eines |
| 18399 | blocks can be used in a similar way to the | 19629 | mit Namen versehenen location-Blocks wie ein |
| 18400 | @code{nginx-location-configuration body}. One restriction is that the body | 19630 | @code{nginx-location-configuration body} benutzt werden kann. Eine |
| 18401 | of a named location block cannot contain location blocks. | 19631 | Einschränkung ist, dass der Rumpf eines mit Namen versehenen location-Blocks |
| 19632 | keine location-Blöcke enthalten kann. | ||
| 18402 | 19633 | ||
| 18403 | @end table | 19634 | @end table |
| 18404 | @end deftp | 19635 | @end deftp |
| @@ -18503,8 +19734,8 @@ A service type for the @code{fcgiwrap} FastCGI proxy. | |||
| 18503 | @end defvr | 19734 | @end defvr |
| 18504 | 19735 | ||
| 18505 | @deftp {Data Type} fcgiwrap-configuration | 19736 | @deftp {Data Type} fcgiwrap-configuration |
| 18506 | Data type representing the configuration of the @code{fcgiwrap} service. | 19737 | Der Datentyp, der die Konfiguration des @code{fcgiwrap}-Dienstes |
| 18507 | This type has the following parameters: | 19738 | repräsentiert. Dieser Typ hat die folgenden Parameter: |
| 18508 | @table @asis | 19739 | @table @asis |
| 18509 | @item @code{package} (default: @code{fcgiwrap}) | 19740 | @item @code{package} (default: @code{fcgiwrap}) |
| 18510 | The fcgiwrap package to use. | 19741 | The fcgiwrap package to use. |
| @@ -18597,7 +19828,7 @@ Determines whether php errors and warning should be sent to clients and | |||
| 18597 | displayed in their browsers. This is useful for local php development, but | 19828 | displayed in their browsers. This is useful for local php development, but |
| 18598 | a security risk for public sites, as error messages can reveal passwords and | 19829 | a security risk for public sites, as error messages can reveal passwords and |
| 18599 | personal data. | 19830 | personal data. |
| 18600 | @item @code{timezone} (default @code{#f}) | 19831 | @item @code{timezone} (Vorgabe: @code{#f}) |
| 18601 | Specifies @code{php_admin_value[date.timezone]} parameter. | 19832 | Specifies @code{php_admin_value[date.timezone]} parameter. |
| 18602 | @item @code{workers-logfile} (default @code{(string-append "/var/log/php" (version-major (package-version php)) "-fpm.www.log")}) | 19833 | @item @code{workers-logfile} (default @code{(string-append "/var/log/php" (version-major (package-version php)) "-fpm.www.log")}) |
| 18603 | This file will log the @code{stderr} outputs of php worker processes. Can | 19834 | This file will log the @code{stderr} outputs of php worker processes. Can |
| @@ -18674,7 +19905,7 @@ The cat avatar generator is a simple service to demonstrate the use of | |||
| 18674 | php-fpm in @code{Nginx}. It is used to generate cat avatar from a seed, for | 19905 | php-fpm in @code{Nginx}. It is used to generate cat avatar from a seed, for |
| 18675 | instance the hash of a user's email address. | 19906 | instance the hash of a user's email address. |
| 18676 | 19907 | ||
| 18677 | @deffn {Scheme Procedure} cat-avatar-generator-service @ | 19908 | @deffn {Scheme-Prozedur} cat-avatar-generator-service @ |
| 18678 | [#:cache-dir "/var/cache/cat-avatar-generator"] @ [#:package | 19909 | [#:cache-dir "/var/cache/cat-avatar-generator"] @ [#:package |
| 18679 | cat-avatar-generator] @ [#:configuration (nginx-server-configuration)] | 19910 | cat-avatar-generator] @ [#:configuration (nginx-server-configuration)] |
| 18680 | Returns an nginx-server-configuration that inherits @code{configuration}. | 19911 | Returns an nginx-server-configuration that inherits @code{configuration}. |
| @@ -20162,42 +21393,42 @@ CPU frequency scaling governor on AC mode. With intel_pstate driver, | |||
| 20162 | alternatives are powersave and performance. With acpi-cpufreq driver, | 21393 | alternatives are powersave and performance. With acpi-cpufreq driver, |
| 20163 | alternatives are ondemand, powersave, performance and conservative. | 21394 | alternatives are ondemand, powersave, performance and conservative. |
| 20164 | 21395 | ||
| 20165 | Defaults to @samp{disabled}. | 21396 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20166 | 21397 | ||
| 20167 | @end deftypevr | 21398 | @end deftypevr |
| 20168 | 21399 | ||
| 20169 | @deftypevr {@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-bat | 21400 | @deftypevr {@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-bat |
| 20170 | Same as @code{cpu-scaling-governor-on-ac} but on BAT mode. | 21401 | Same as @code{cpu-scaling-governor-on-ac} but on BAT mode. |
| 20171 | 21402 | ||
| 20172 | Defaults to @samp{disabled}. | 21403 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20173 | 21404 | ||
| 20174 | @end deftypevr | 21405 | @end deftypevr |
| 20175 | 21406 | ||
| 20176 | @deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-ac | 21407 | @deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-ac |
| 20177 | Set the min available frequency for the scaling governor on AC. | 21408 | Set the min available frequency for the scaling governor on AC. |
| 20178 | 21409 | ||
| 20179 | Defaults to @samp{disabled}. | 21410 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20180 | 21411 | ||
| 20181 | @end deftypevr | 21412 | @end deftypevr |
| 20182 | 21413 | ||
| 20183 | @deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-ac | 21414 | @deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-ac |
| 20184 | Set the max available frequency for the scaling governor on AC. | 21415 | Set the max available frequency for the scaling governor on AC. |
| 20185 | 21416 | ||
| 20186 | Defaults to @samp{disabled}. | 21417 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20187 | 21418 | ||
| 20188 | @end deftypevr | 21419 | @end deftypevr |
| 20189 | 21420 | ||
| 20190 | @deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-bat | 21421 | @deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-bat |
| 20191 | Set the min available frequency for the scaling governor on BAT. | 21422 | Set the min available frequency for the scaling governor on BAT. |
| 20192 | 21423 | ||
| 20193 | Defaults to @samp{disabled}. | 21424 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20194 | 21425 | ||
| 20195 | @end deftypevr | 21426 | @end deftypevr |
| 20196 | 21427 | ||
| 20197 | @deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-bat | 21428 | @deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-bat |
| 20198 | Set the max available frequency for the scaling governor on BAT. | 21429 | Set the max available frequency for the scaling governor on BAT. |
| 20199 | 21430 | ||
| 20200 | Defaults to @samp{disabled}. | 21431 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20201 | 21432 | ||
| 20202 | @end deftypevr | 21433 | @end deftypevr |
| 20203 | 21434 | ||
| @@ -20205,7 +21436,7 @@ Defaults to @samp{disabled}. | |||
| 20205 | Limit the min P-state to control the power dissipation of the CPU, in AC | 21436 | Limit the min P-state to control the power dissipation of the CPU, in AC |
| 20206 | mode. Values are stated as a percentage of the available performance. | 21437 | mode. Values are stated as a percentage of the available performance. |
| 20207 | 21438 | ||
| 20208 | Defaults to @samp{disabled}. | 21439 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20209 | 21440 | ||
| 20210 | @end deftypevr | 21441 | @end deftypevr |
| 20211 | 21442 | ||
| @@ -20213,35 +21444,35 @@ Defaults to @samp{disabled}. | |||
| 20213 | Limit the max P-state to control the power dissipation of the CPU, in AC | 21444 | Limit the max P-state to control the power dissipation of the CPU, in AC |
| 20214 | mode. Values are stated as a percentage of the available performance. | 21445 | mode. Values are stated as a percentage of the available performance. |
| 20215 | 21446 | ||
| 20216 | Defaults to @samp{disabled}. | 21447 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20217 | 21448 | ||
| 20218 | @end deftypevr | 21449 | @end deftypevr |
| 20219 | 21450 | ||
| 20220 | @deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-bat | 21451 | @deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-bat |
| 20221 | Same as @code{cpu-min-perf-on-ac} on BAT mode. | 21452 | Same as @code{cpu-min-perf-on-ac} on BAT mode. |
| 20222 | 21453 | ||
| 20223 | Defaults to @samp{disabled}. | 21454 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20224 | 21455 | ||
| 20225 | @end deftypevr | 21456 | @end deftypevr |
| 20226 | 21457 | ||
| 20227 | @deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-bat | 21458 | @deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-bat |
| 20228 | Same as @code{cpu-max-perf-on-ac} on BAT mode. | 21459 | Same as @code{cpu-max-perf-on-ac} on BAT mode. |
| 20229 | 21460 | ||
| 20230 | Defaults to @samp{disabled}. | 21461 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20231 | 21462 | ||
| 20232 | @end deftypevr | 21463 | @end deftypevr |
| 20233 | 21464 | ||
| 20234 | @deftypevr {@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-ac? | 21465 | @deftypevr {@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-ac? |
| 20235 | Enable CPU turbo boost feature on AC mode. | 21466 | Enable CPU turbo boost feature on AC mode. |
| 20236 | 21467 | ||
| 20237 | Defaults to @samp{disabled}. | 21468 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20238 | 21469 | ||
| 20239 | @end deftypevr | 21470 | @end deftypevr |
| 20240 | 21471 | ||
| 20241 | @deftypevr {@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-bat? | 21472 | @deftypevr {@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-bat? |
| 20242 | Same as @code{cpu-boost-on-ac?} on BAT mode. | 21473 | Same as @code{cpu-boost-on-ac?} on BAT mode. |
| 20243 | 21474 | ||
| 20244 | Defaults to @samp{disabled}. | 21475 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20245 | 21476 | ||
| 20246 | @end deftypevr | 21477 | @end deftypevr |
| 20247 | 21478 | ||
| @@ -20271,7 +21502,7 @@ Defaults to @samp{#f}. | |||
| 20271 | For Linux kernels with PHC patch applied, change CPU voltages. An example | 21502 | For Linux kernels with PHC patch applied, change CPU voltages. An example |
| 20272 | value would be @samp{"F:V F:V F:V F:V"}. | 21503 | value would be @samp{"F:V F:V F:V F:V"}. |
| 20273 | 21504 | ||
| 20274 | Defaults to @samp{disabled}. | 21505 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20275 | 21506 | ||
| 20276 | @end deftypevr | 21507 | @end deftypevr |
| 20277 | 21508 | ||
| @@ -20309,14 +21540,14 @@ Same as @code{disk-apm-bat} but on BAT mode. | |||
| 20309 | Hard disk spin down timeout. One value has to be specified for each | 21540 | Hard disk spin down timeout. One value has to be specified for each |
| 20310 | declared hard disk. | 21541 | declared hard disk. |
| 20311 | 21542 | ||
| 20312 | Defaults to @samp{disabled}. | 21543 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20313 | 21544 | ||
| 20314 | @end deftypevr | 21545 | @end deftypevr |
| 20315 | 21546 | ||
| 20316 | @deftypevr {@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-bat | 21547 | @deftypevr {@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-bat |
| 20317 | Same as @code{disk-spindown-timeout-on-ac} but on BAT mode. | 21548 | Same as @code{disk-spindown-timeout-on-ac} but on BAT mode. |
| 20318 | 21549 | ||
| 20319 | Defaults to @samp{disabled}. | 21550 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20320 | 21551 | ||
| 20321 | @end deftypevr | 21552 | @end deftypevr |
| 20322 | 21553 | ||
| @@ -20324,7 +21555,7 @@ Defaults to @samp{disabled}. | |||
| 20324 | Select IO scheduler for disk devices. One value has to be specified for | 21555 | Select IO scheduler for disk devices. One value has to be specified for |
| 20325 | each declared hard disk. Example alternatives are cfq, deadline and noop. | 21556 | each declared hard disk. Example alternatives are cfq, deadline and noop. |
| 20326 | 21557 | ||
| 20327 | Defaults to @samp{disabled}. | 21558 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20328 | 21559 | ||
| 20329 | @end deftypevr | 21560 | @end deftypevr |
| 20330 | 21561 | ||
| @@ -20346,21 +21577,21 @@ Defaults to @samp{"min_power"}. | |||
| 20346 | @deftypevr {@code{tlp-configuration} parameter} maybe-string sata-linkpwr-blacklist | 21577 | @deftypevr {@code{tlp-configuration} parameter} maybe-string sata-linkpwr-blacklist |
| 20347 | Exclude specified SATA host devices for link power management. | 21578 | Exclude specified SATA host devices for link power management. |
| 20348 | 21579 | ||
| 20349 | Defaults to @samp{disabled}. | 21580 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20350 | 21581 | ||
| 20351 | @end deftypevr | 21582 | @end deftypevr |
| 20352 | 21583 | ||
| 20353 | @deftypevr {@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-ac? | 21584 | @deftypevr {@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-ac? |
| 20354 | Enable Runtime Power Management for AHCI controller and disks on AC mode. | 21585 | Enable Runtime Power Management for AHCI controller and disks on AC mode. |
| 20355 | 21586 | ||
| 20356 | Defaults to @samp{disabled}. | 21587 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20357 | 21588 | ||
| 20358 | @end deftypevr | 21589 | @end deftypevr |
| 20359 | 21590 | ||
| 20360 | @deftypevr {@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-bat? | 21591 | @deftypevr {@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-bat? |
| 20361 | Same as @code{ahci-runtime-pm-on-ac} on BAT mode. | 21592 | Same as @code{ahci-runtime-pm-on-ac} on BAT mode. |
| 20362 | 21593 | ||
| 20363 | Defaults to @samp{disabled}. | 21594 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20364 | 21595 | ||
| 20365 | @end deftypevr | 21596 | @end deftypevr |
| 20366 | 21597 | ||
| @@ -20515,7 +21746,7 @@ Defaults to @samp{#t}. | |||
| 20515 | @deftypevr {@code{tlp-configuration} parameter} maybe-space-separated-string-list runtime-pm-blacklist | 21746 | @deftypevr {@code{tlp-configuration} parameter} maybe-space-separated-string-list runtime-pm-blacklist |
| 20516 | Exclude specified PCI(e) device addresses from Runtime Power Management. | 21747 | Exclude specified PCI(e) device addresses from Runtime Power Management. |
| 20517 | 21748 | ||
| 20518 | Defaults to @samp{disabled}. | 21749 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20519 | 21750 | ||
| 20520 | @end deftypevr | 21751 | @end deftypevr |
| 20521 | 21752 | ||
| @@ -20535,7 +21766,7 @@ Defaults to @samp{#t}. | |||
| 20535 | @deftypevr {@code{tlp-configuration} parameter} maybe-string usb-blacklist | 21766 | @deftypevr {@code{tlp-configuration} parameter} maybe-string usb-blacklist |
| 20536 | Exclude specified devices from USB autosuspend. | 21767 | Exclude specified devices from USB autosuspend. |
| 20537 | 21768 | ||
| 20538 | Defaults to @samp{disabled}. | 21769 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20539 | 21770 | ||
| 20540 | @end deftypevr | 21771 | @end deftypevr |
| 20541 | 21772 | ||
| @@ -20550,14 +21781,14 @@ Defaults to @samp{#t}. | |||
| 20550 | Include specified devices into USB autosuspend, even if they are already | 21781 | Include specified devices into USB autosuspend, even if they are already |
| 20551 | excluded by the driver or via @code{usb-blacklist-wwan?}. | 21782 | excluded by the driver or via @code{usb-blacklist-wwan?}. |
| 20552 | 21783 | ||
| 20553 | Defaults to @samp{disabled}. | 21784 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20554 | 21785 | ||
| 20555 | @end deftypevr | 21786 | @end deftypevr |
| 20556 | 21787 | ||
| 20557 | @deftypevr {@code{tlp-configuration} parameter} maybe-boolean usb-autosuspend-disable-on-shutdown? | 21788 | @deftypevr {@code{tlp-configuration} parameter} maybe-boolean usb-autosuspend-disable-on-shutdown? |
| 20558 | Enable USB autosuspend before shutdown. | 21789 | Enable USB autosuspend before shutdown. |
| 20559 | 21790 | ||
| 20560 | Defaults to @samp{disabled}. | 21791 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 20561 | 21792 | ||
| 20562 | @end deftypevr | 21793 | @end deftypevr |
| 20563 | 21794 | ||
| @@ -20635,6 +21866,15 @@ The directory to scan for music files. | |||
| 20635 | @item @code{playlist-dir} (default: @code{"~/.mpd/playlists"}) | 21866 | @item @code{playlist-dir} (default: @code{"~/.mpd/playlists"}) |
| 20636 | The directory to store playlists. | 21867 | The directory to store playlists. |
| 20637 | 21868 | ||
| 21869 | @item @code{db-file} (Vorgabe: @code{"~/.mpd/tag_cache"}) | ||
| 21870 | Der Ort, an dem die Musikdatenbank gespeichert wird. | ||
| 21871 | |||
| 21872 | @item @code{state-file} (Vorgabe: @code{"~/.mpd/state"}) | ||
| 21873 | The location of the file that stores current MPD's state. | ||
| 21874 | |||
| 21875 | @item @code{sticker-file} (Vorgabe: @code{"~/.mpd/sticker.sql"}) | ||
| 21876 | Der Ort, an dem die Sticker-Datenbank gespeichert wird. | ||
| 21877 | |||
| 20638 | @item @code{port} (default: @code{"6600"}) | 21878 | @item @code{port} (default: @code{"6600"}) |
| 20639 | The port to run mpd on. | 21879 | The port to run mpd on. |
| 20640 | 21880 | ||
| @@ -21367,7 +22607,7 @@ QEMU package to use as well as the architecture we want to emulated: | |||
| 21367 | @example | 22607 | @example |
| 21368 | (service qemu-binfmt-service-type | 22608 | (service qemu-binfmt-service-type |
| 21369 | (qemu-binfmt-configuration | 22609 | (qemu-binfmt-configuration |
| 21370 | (platforms (lookup-qemu-platforms "arm" "aarch64" "ppc")))) | 22610 | (platforms (lookup-qemu-platforms "arm" "aarch64" "mips64el")))) |
| 21371 | @end example | 22611 | @end example |
| 21372 | 22612 | ||
| 21373 | In this example, we enable transparent emulation for the ARM and aarch64 | 22613 | In this example, we enable transparent emulation for the ARM and aarch64 |
| @@ -22327,7 +23567,7 @@ Defaults to @samp{""}. | |||
| 22327 | A flag which can be used to disable the global setting | 23567 | A flag which can be used to disable the global setting |
| 22328 | @code{enable-commit-graph?}. | 23568 | @code{enable-commit-graph?}. |
| 22329 | 23569 | ||
| 22330 | Defaults to @samp{disabled}. | 23570 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 22331 | 23571 | ||
| 22332 | @end deftypevr | 23572 | @end deftypevr |
| 22333 | 23573 | ||
| @@ -22335,7 +23575,7 @@ Defaults to @samp{disabled}. | |||
| 22335 | A flag which can be used to disable the global setting | 23575 | A flag which can be used to disable the global setting |
| 22336 | @code{enable-log-filecount?}. | 23576 | @code{enable-log-filecount?}. |
| 22337 | 23577 | ||
| 22338 | Defaults to @samp{disabled}. | 23578 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 22339 | 23579 | ||
| 22340 | @end deftypevr | 23580 | @end deftypevr |
| 22341 | 23581 | ||
| @@ -22343,7 +23583,7 @@ Defaults to @samp{disabled}. | |||
| 22343 | A flag which can be used to disable the global setting | 23583 | A flag which can be used to disable the global setting |
| 22344 | @code{enable-log-linecount?}. | 23584 | @code{enable-log-linecount?}. |
| 22345 | 23585 | ||
| 22346 | Defaults to @samp{disabled}. | 23586 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 22347 | 23587 | ||
| 22348 | @end deftypevr | 23588 | @end deftypevr |
| 22349 | 23589 | ||
| @@ -22351,7 +23591,7 @@ Defaults to @samp{disabled}. | |||
| 22351 | Flag which, when set to @code{#t}, will make cgit display remote branches in | 23591 | Flag which, when set to @code{#t}, will make cgit display remote branches in |
| 22352 | the summary and refs views. | 23592 | the summary and refs views. |
| 22353 | 23593 | ||
| 22354 | Defaults to @samp{disabled}. | 23594 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 22355 | 23595 | ||
| 22356 | @end deftypevr | 23596 | @end deftypevr |
| 22357 | 23597 | ||
| @@ -22359,7 +23599,7 @@ Defaults to @samp{disabled}. | |||
| 22359 | A flag which can be used to override the global setting | 23599 | A flag which can be used to override the global setting |
| 22360 | @code{enable-subject-links?}. | 23600 | @code{enable-subject-links?}. |
| 22361 | 23601 | ||
| 22362 | Defaults to @samp{disabled}. | 23602 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 22363 | 23603 | ||
| 22364 | @end deftypevr | 23604 | @end deftypevr |
| 22365 | 23605 | ||
| @@ -22367,7 +23607,7 @@ Defaults to @samp{disabled}. | |||
| 22367 | A flag which can be used to override the global setting | 23607 | A flag which can be used to override the global setting |
| 22368 | @code{enable-html-serving?}. | 23608 | @code{enable-html-serving?}. |
| 22369 | 23609 | ||
| 22370 | Defaults to @samp{disabled}. | 23610 | Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert). |
| 22371 | 23611 | ||
| 22372 | @end deftypevr | 23612 | @end deftypevr |
| 22373 | 23613 | ||
| @@ -22644,8 +23884,8 @@ The port to bind the server to. | |||
| 22644 | @cindex fingerprint | 23884 | @cindex fingerprint |
| 22645 | @subsubheading Fingerabdrucklese-Dienst | 23885 | @subsubheading Fingerabdrucklese-Dienst |
| 22646 | 23886 | ||
| 22647 | The @code{(gnu services fingerprint)} module provides a DBus service to read | 23887 | The @code{(gnu services authentication)} module provides a DBus service to |
| 22648 | and identify fingerprints via a fingerprint sensor. | 23888 | read and identify fingerprints via a fingerprint sensor. |
| 22649 | 23889 | ||
| 22650 | @defvr {Scheme Variable} fprintd-service-type | 23890 | @defvr {Scheme Variable} fprintd-service-type |
| 22651 | The service type for @command{fprintd}, which provides the fingerprint | 23891 | The service type for @command{fprintd}, which provides the fingerprint |
| @@ -22746,6 +23986,34 @@ daemon that enables sharing the clipboard with a vm and setting the guest | |||
| 22746 | display resolution when the graphical console window resizes. | 23986 | display resolution when the graphical console window resizes. |
| 22747 | @end deffn | 23987 | @end deffn |
| 22748 | 23988 | ||
| 23989 | @cindex inputattach | ||
| 23990 | @subsubheading inputattach-Dienst | ||
| 23991 | |||
| 23992 | @cindex tablet input, for Xorg | ||
| 23993 | @cindex touchscreen input, for Xorg | ||
| 23994 | The @uref{https://linuxwacom.github.io/, inputattach} service allows you to | ||
| 23995 | use input devices such as Wacom tablets, touchscreens, or joysticks with the | ||
| 23996 | Xorg display server. | ||
| 23997 | |||
| 23998 | @deffn {Scheme-Variable} inputattach-service-type | ||
| 23999 | Type of a service that runs @command{inputattach} on a device and dispatches | ||
| 24000 | events from it. | ||
| 24001 | @end deffn | ||
| 24002 | |||
| 24003 | @deftp {Datentyp} inputattach-configuration | ||
| 24004 | @table @asis | ||
| 24005 | @item @code{device-type} (Vorgabe: @code{"wacom"}) | ||
| 24006 | The type of device to connect to. Run @command{inputattach --help}, from | ||
| 24007 | the @code{inputattach} package, to see the list of supported device types. | ||
| 24008 | |||
| 24009 | @item @code{device} (Vorgabe: @code{"/dev/ttyS0"}) | ||
| 24010 | The device file to connect to the device. | ||
| 24011 | |||
| 24012 | @item @code{log-file} (Vorgabe: @code{#f}) | ||
| 24013 | If true, this must be the name of a file to log messages to. | ||
| 24014 | @end table | ||
| 24015 | @end deftp | ||
| 24016 | |||
| 22749 | @subsection Dictionary Services | 24017 | @subsection Dictionary Services |
| 22750 | @cindex dictionary | 24018 | @cindex dictionary |
| 22751 | The @code{(gnu services dict)} module provides the following service: | 24019 | The @code{(gnu services dict)} module provides the following service: |
| @@ -22845,11 +24113,12 @@ The following is an example @code{dicod-service} configuration. | |||
| 22845 | @end example | 24113 | @end example |
| 22846 | 24114 | ||
| 22847 | @cindex Docker | 24115 | @cindex Docker |
| 22848 | @subsubheading Docker Service | 24116 | @subsubheading Docker-Dienst |
| 22849 | 24117 | ||
| 22850 | The @code{(gnu services docker)} module provides the following service. | 24118 | Das Modul @code{(gnu services docker)} stellt den folgenden Dienst zur |
| 24119 | Verfügung. | ||
| 22851 | 24120 | ||
| 22852 | @defvr {Scheme Variable} docker-service-type | 24121 | @defvr {Scheme-Variable} docker-service-type |
| 22853 | 24122 | ||
| 22854 | This is the type of the service that runs | 24123 | This is the type of the service that runs |
| 22855 | @url{http://www.docker.com,Docker}, a daemon that can execute application | 24124 | @url{http://www.docker.com,Docker}, a daemon that can execute application |
| @@ -22857,17 +24126,17 @@ bundles (sometimes referred to as ``containers'') in isolated environments. | |||
| 22857 | 24126 | ||
| 22858 | @end defvr | 24127 | @end defvr |
| 22859 | 24128 | ||
| 22860 | @deftp {Data Type} docker-configuration | 24129 | @deftp {Datentyp} docker-configuration |
| 22861 | This is the data type representing the configuration of Docker and | 24130 | Dies ist der Datentyp, der die Konfiguration von Docker und Containerd |
| 22862 | Containerd. | 24131 | repräsentiert. |
| 22863 | 24132 | ||
| 22864 | @table @asis | 24133 | @table @asis |
| 22865 | 24134 | ||
| 22866 | @item @code{package} (default: @code{docker}) | 24135 | @item @code{package} (Vorgabe: @code{docker}) |
| 22867 | The Docker package to use. | 24136 | Das Docker-Paket, was benutzt werden soll. |
| 22868 | 24137 | ||
| 22869 | @item @code{containerd} (default: @var{containerd}) | 24138 | @item @code{containerd} (Vorgabe: @var{containerd}) |
| 22870 | The Containerd package to use. | 24139 | Das Containerd-Paket, was benutzt werden soll. |
| 22871 | 24140 | ||
| 22872 | @end table | 24141 | @end table |
| 22873 | @end deftp | 24142 | @end deftp |
| @@ -22875,46 +24144,51 @@ The Containerd package to use. | |||
| 22875 | @node Setuid-Programme | 24144 | @node Setuid-Programme |
| 22876 | @section Setuid-Programme | 24145 | @section Setuid-Programme |
| 22877 | 24146 | ||
| 22878 | @cindex setuid programs | 24147 | @cindex setuid-Programme |
| 22879 | Some programs need to run with ``root'' privileges, even when they are | 24148 | Manche Programme müssen mit Administratorrechten (also den Berechtigungen |
| 22880 | launched by unprivileged users. A notorious example is the @command{passwd} | 24149 | des »root«-Benutzers) ausgeführt werden, selbst wenn Nutzer ohne besondere |
| 22881 | program, which users can run to change their password, and which needs to | 24150 | Berechtigungen sie starten. Ein bekanntes Beispiel ist das Programm |
| 22882 | access the @file{/etc/passwd} and @file{/etc/shadow} files---something | 24151 | @command{passwd}, womit Nutzer ihr Passwort ändern können, wozu das Programm |
| 22883 | normally restricted to root, for obvious security reasons. To address that, | 24152 | auf die Dateien @file{/etc/passwd} und @file{/etc/shadow} zugreifen muss — |
| 22884 | these executables are @dfn{setuid-root}, meaning that they always run with | 24153 | was normalerweise nur der »root«-Nutzer darf, aus offensichtlichen Gründen |
| 22885 | root privileges (@pxref{How Change Persona,,, libc, The GNU C Library | 24154 | der Informationssicherheit. Deswegen sind diese ausführbaren Programmdateien |
| 22886 | Reference Manual}, for more info about the setuid mechanism.) | 24155 | @dfn{setuid-root}, d.h.@: sie laufen immer mit den Administratorrechten des |
| 22887 | 24156 | root-Nutzers, egal wer sie startet (siehe @ref{How Change Persona,,, libc, | |
| 22888 | The store itself @emph{cannot} contain setuid programs: that would be a | 24157 | The GNU C Library Reference Manual} für mehr Informationen über den |
| 22889 | security issue since any user on the system can write derivations that | 24158 | setuid-Mechanismus). |
| 22890 | populate the store (@pxref{Der Store}). Thus, a different mechanism is | 24159 | |
| 22891 | used: instead of changing the setuid bit directly on files that are in the | 24160 | Der Store selbst kann @emph{keine} setuid-Programme enthalten: Das wäre eine |
| 22892 | store, we let the system administrator @emph{declare} which programs should | 24161 | Sicherheitslücke, weil dann jeder Nutzer auf dem System Ableitungen |
| 22893 | be setuid root. | 24162 | schreiben könnte, die in den Store solche Dateien einfügen würden (siehe |
| 22894 | 24163 | @ref{Der Store}). Wir benutzen also einen anderen Mechanismus: Statt auf den | |
| 22895 | The @code{setuid-programs} field of an @code{operating-system} declaration | 24164 | ausführbaren Dateien im Store selbst deren setuid-Bit zu setzen, lassen wir |
| 22896 | contains a list of G-expressions denoting the names of programs to be | 24165 | den Systemadministrator @emph{deklarieren}, welche Programme mit setuid-root |
| 22897 | setuid-root (@pxref{Das Konfigurationssystem nutzen}). For instance, the | 24166 | gestartet werden. |
| 22898 | @command{passwd} program, which is part of the Shadow package, can be | 24167 | |
| 22899 | designated by this G-expression (@pxref{G-Ausdrücke}): | 24168 | Das Feld @code{setuid-programs} einer @code{operating-system}-Deklaration |
| 24169 | enthält eine Liste von G-Ausdrücken, die die Namen der Programme angeben, | ||
| 24170 | die setuid-root sein sollen (siehe @ref{Das Konfigurationssystem nutzen}). Zum Beispiel kann das Programm @command{passwd}, was Teil des | ||
| 24171 | Shadow-Pakets ist, durch diesen G-Ausdruck bezeichnet werden (siehe | ||
| 24172 | @ref{G-Ausdrücke}): | ||
| 22900 | 24173 | ||
| 22901 | @example | 24174 | @example |
| 22902 | #~(string-append #$shadow "/bin/passwd") | 24175 | #~(string-append #$shadow "/bin/passwd") |
| 22903 | @end example | 24176 | @end example |
| 22904 | 24177 | ||
| 22905 | A default set of setuid programs is defined by the @code{%setuid-programs} | 24178 | Eine vorgegebene Menge von setuid-Programmen wird durch die Variable |
| 22906 | variable of the @code{(gnu system)} module. | 24179 | @code{%setuid-programs} aus dem Modul @code{(gnu system)} definiert. |
| 22907 | 24180 | ||
| 22908 | @defvr {Scheme Variable} %setuid-programs | 24181 | @defvr {Scheme-Variable} %setuid-programs |
| 22909 | A list of G-expressions denoting common programs that are setuid-root. | 24182 | Eine Liste von G-Ausdrücken, die übliche Programme angeben, die setuid-root |
| 24183 | sein müssen. | ||
| 22910 | 24184 | ||
| 22911 | The list includes commands such as @command{passwd}, @command{ping}, | 24185 | Die Liste enthält Befehle wie @command{passwd}, @command{ping}, @command{su} |
| 22912 | @command{su}, and @command{sudo}. | 24186 | und @command{sudo}. |
| 22913 | @end defvr | 24187 | @end defvr |
| 22914 | 24188 | ||
| 22915 | Under the hood, the actual setuid programs are created in the | 24189 | Intern erzeugt Guix die eigentlichen setuid-Programme im Verzeichnis |
| 22916 | @file{/run/setuid-programs} directory at system activation time. The files | 24190 | @file{/run/setuid-programs}, wenn das System aktiviert wird. Die Dateien in |
| 22917 | in this directory refer to the ``real'' binaries, which are in the store. | 24191 | diesem Verzeichnis verweisen auf die »echten« Binärdateien im Store. |
| 22918 | 24192 | ||
| 22919 | @node X.509-Zertifikate | 24193 | @node X.509-Zertifikate |
| 22920 | @section X.509-Zertifikate | 24194 | @section X.509-Zertifikate |
| @@ -22935,15 +24209,15 @@ Web-Browser wie GNU@tie{}IceCat liefern ihre eigenen CA-Zertifikate mit, | |||
| 22935 | damit sie von Haus aus Zertifikate verifizieren können. | 24209 | damit sie von Haus aus Zertifikate verifizieren können. |
| 22936 | 24210 | ||
| 22937 | Den meisten anderen Programmen, die HTTPS sprechen können — @command{wget}, | 24211 | Den meisten anderen Programmen, die HTTPS sprechen können — @command{wget}, |
| 22938 | @command{git}, @command{w3m} etc. — muss allerdings erst mitgeteilt werden, | 24212 | @command{git}, @command{w3m} etc.@: — muss allerdings erst mitgeteilt |
| 22939 | wo die CA-Zertifikate installiert sind. | 24213 | werden, wo die CA-Zertifikate installiert sind. |
| 22940 | 24214 | ||
| 22941 | @cindex @code{nss-certs} | 24215 | @cindex @code{nss-certs} |
| 22942 | In Guix, this is done by adding a package that provides certificates to the | 24216 | In Guix müssen Sie dazu ein Paket, das Zertifikate enthält, in das |
| 22943 | @code{packages} field of the @code{operating-system} declaration | 24217 | @code{packages}-Feld der @code{operating-system}-Deklaration des |
| 22944 | (@pxref{»operating-system«-Referenz}). Guix includes one such package, | 24218 | Betriebssystems hinzufügen (siehe @ref{»operating-system«-Referenz}). Guix |
| 22945 | @code{nss-certs}, which is a set of CA certificates provided as part of | 24219 | liefert ein solches Paket mit, @code{nss-certs}, was als Teil von Mozillas |
| 22946 | Mozilla's Network Security Services. | 24220 | »Network Security Services« angeboten wird. |
| 22947 | 24221 | ||
| 22948 | Beachten Sie, dass es @emph{nicht} zu den @var{%base-packages} gehört, Sie | 24222 | Beachten Sie, dass es @emph{nicht} zu den @var{%base-packages} gehört, Sie |
| 22949 | es also ausdrücklich hinzufügen müssen. Das Verzeichnis | 24223 | es also ausdrücklich hinzufügen müssen. Das Verzeichnis |
| @@ -22987,89 +24261,98 @@ Umgebungsvariablen vielleicht in deren Dokumentation nachschlagen. | |||
| 22987 | 24261 | ||
| 22988 | @cindex Name Service Switch | 24262 | @cindex Name Service Switch |
| 22989 | @cindex NSS | 24263 | @cindex NSS |
| 22990 | The @code{(gnu system nss)} module provides bindings to the configuration | 24264 | Das Modul @code{(gnu system nss)} enthält Anbindungen für die Konfiguration |
| 22991 | file of the libc @dfn{name service switch} or @dfn{NSS} (@pxref{NSS | 24265 | des @dfn{Name Service Switch} (NSS) der libc (siehe @ref{NSS Configuration |
| 22992 | Configuration File,,, libc, The GNU C Library Reference Manual}). In a | 24266 | File,,, libc, The GNU C Library Reference Manual}). Kurz gesagt ist der NSS |
| 22993 | nutshell, the NSS is a mechanism that allows libc to be extended with new | 24267 | ein Mechanismus, mit dem die libc um neue »Namens«-Auflösungsmethoden für |
| 22994 | ``name'' lookup methods for system databases, which includes host names, | 24268 | Systemdatenbanken erweitert werden kann; dazu gehören Rechnernamen (auch |
| 22995 | service names, user accounts, and more (@pxref{Name Service Switch, System | 24269 | bekannt als »Host«-Namen), Dienstnamen, Benutzerkonten und mehr (siehe |
| 22996 | Databases and Name Service Switch,, libc, The GNU C Library Reference | 24270 | @ref{Name Service Switch, System Databases and Name Service Switch,, libc, |
| 22997 | Manual}). | 24271 | The GNU C Library Reference Manual}). |
| 22998 | 24272 | ||
| 22999 | The NSS configuration specifies, for each system database, which lookup | 24273 | Die NSS-Konfiguration legt für jede Systemdatenbank fest, mit welcher |
| 23000 | method is to be used, and how the various methods are chained together---for | 24274 | Methode der Name nachgeschlagen (»aufgelöst«) werden kann und welche |
| 23001 | instance, under which circumstances NSS should try the next method in the | 24275 | Methoden zusammenhängen — z.B.@: unter welchen Umständen der NSS es mit der |
| 23002 | list. The NSS configuration is given in the @code{name-service-switch} | 24276 | nächsten Methode auf seiner Liste versuchen sollte. Die NSS-Konfiguration |
| 23003 | field of @code{operating-system} declarations (@pxref{»operating-system«-Referenz, @code{name-service-switch}}). | 24277 | wird im Feld @code{name-service-switch} von |
| 24278 | @code{operating-system}-Deklarationen angegeben (siehe @ref{»operating-system«-Referenz, @code{name-service-switch}}). | ||
| 23004 | 24279 | ||
| 23005 | @cindex nss-mdns | 24280 | @cindex nss-mdns |
| 23006 | @cindex .local, host name lookup | 24281 | @cindex .local, Rechnernamensauflösung |
| 23007 | As an example, the declaration below configures the NSS to use the | 24282 | Zum Beispiel konfigurieren die folgenden Deklarationen den NSS so, dass er |
| 23008 | @uref{http://0pointer.de/lennart/projects/nss-mdns/, @code{nss-mdns} | 24283 | das @uref{http://0pointer.de/lennart/projects/nss-mdns/, |
| 23009 | back-end}, which supports host name lookups over multicast DNS (mDNS) for | 24284 | @code{nss-mdns}-Backend} benutzt, wodurch er auf @code{.local} endende |
| 23010 | host names ending in @code{.local}: | 24285 | Rechnernamen über Multicast-DNS (mDNS) auflöst: |
| 23011 | 24286 | ||
| 23012 | @example | 24287 | @example |
| 23013 | (name-service-switch | 24288 | (name-service-switch |
| 23014 | (hosts (list %files ;first, check /etc/hosts | 24289 | (hosts (list %files ;zuerst in /etc/hosts nachschlagen |
| 23015 | 24290 | ||
| 23016 | ;; If the above did not succeed, try | 24291 | ;; Wenn das keinen Erfolg hatte, es |
| 23017 | ;; with 'mdns_minimal'. | 24292 | ;; mit 'mdns_minimal' versuchen. |
| 23018 | (name-service | 24293 | (name-service |
| 23019 | (name "mdns_minimal") | 24294 | (name "mdns_minimal") |
| 23020 | 24295 | ||
| 23021 | ;; 'mdns_minimal' is authoritative for | 24296 | ;; 'mdns_minimal' ist die Autorität für |
| 23022 | ;; '.local'. When it returns "not found", | 24297 | ;; '.local'. Gibt es not-found ("nicht |
| 23023 | ;; no need to try the next methods. | 24298 | ;; gefunden") zurück, müssen wir die |
| 24299 | ;; nächsten Methoden gar nicht erst | ||
| 24300 | ;; versuchen. | ||
| 23024 | (reaction (lookup-specification | 24301 | (reaction (lookup-specification |
| 23025 | (not-found => return)))) | 24302 | (not-found => return)))) |
| 23026 | 24303 | ||
| 23027 | ;; Then fall back to DNS. | 24304 | ;; Ansonsten benutzen wir DNS. |
| 23028 | (name-service | 24305 | (name-service |
| 23029 | (name "dns")) | 24306 | (name "dns")) |
| 23030 | 24307 | ||
| 23031 | ;; Finally, try with the "full" 'mdns'. | 24308 | ;; Ein letzter Versuch mit dem |
| 24309 | ;; "vollständigen" 'mdns'. | ||
| 23032 | (name-service | 24310 | (name-service |
| 23033 | (name "mdns"))))) | 24311 | (name "mdns"))))) |
| 23034 | @end example | 24312 | @end example |
| 23035 | 24313 | ||
| 23036 | Do not worry: the @code{%mdns-host-lookup-nss} variable (see below) | 24314 | Keine Sorge: Die Variable @code{%mdns-host-lookup-nss} (siehe unten) enthält |
| 23037 | contains this configuration, so you will not have to type it if all you want | 24315 | diese Konfiguration bereits. Statt das alles selst einzutippen, können Sie |
| 23038 | is to have @code{.local} host lookup working. | 24316 | sie benutzen, wenn alles, was Sie möchten, eine funktionierende |
| 24317 | Namensauflösung für @code{.local}-Rechner ist. | ||
| 23039 | 24318 | ||
| 23040 | Note that, in this case, in addition to setting the | 24319 | Beachten Sie dabei, dass es zusätzlich zum Festlegen des |
| 23041 | @code{name-service-switch} of the @code{operating-system} declaration, you | 24320 | @code{name-service-switch} in der @code{operating-system}-Deklaration auch |
| 23042 | also need to use @code{avahi-service-type} (@pxref{Netzwerkdienste, | 24321 | erforderlich ist, den @code{avahi-service-type} zu benutzen (siehe |
| 23043 | @code{avahi-service-type}}), or @var{%desktop-services}, which includes it | 24322 | @ref{Netzwerkdienste, @code{avahi-service-type}}). Es genügt auch, wenn |
| 23044 | (@pxref{Desktop-Dienste}). Doing this makes @code{nss-mdns} accessible to | 24323 | Sie die @var{%desktop-services} benutzen, weil er darin enthalten ist (siehe |
| 23045 | the name service cache daemon (@pxref{Basisdienste, @code{nscd-service}}). | 24324 | @ref{Desktop-Dienste}). Dadurch wird @code{nss-mdns} für den Name Service |
| 24325 | Cache Daemon nutzbar (siehe @ref{Basisdienste, @code{nscd-service}}). | ||
| 23046 | 24326 | ||
| 23047 | For convenience, the following variables provide typical NSS configurations. | 24327 | Um sich eine lange Konfiguration zu ersparen, können Sie auch einfach die |
| 24328 | folgenden Variablen für typische NSS-Konfigurationen benutzen. | ||
| 23048 | 24329 | ||
| 23049 | @defvr {Scheme Variable} %default-nss | 24330 | @defvr {Scheme-Variable} %default-nss |
| 23050 | This is the default name service switch configuration, a | 24331 | Die vorgegebene Konfiguration des Name Service Switch als ein |
| 23051 | @code{name-service-switch} object. | 24332 | @code{name-service-switch}-Objekt. |
| 23052 | @end defvr | 24333 | @end defvr |
| 23053 | 24334 | ||
| 23054 | @defvr {Scheme Variable} %mdns-host-lookup-nss | 24335 | @defvr {Scheme-Variable} %mdns-host-lookup-nss |
| 23055 | This is the name service switch configuration with support for host name | 24336 | Die Name-Service-Switch-Konfiguration mit Unterstützung für |
| 23056 | lookup over multicast DNS (mDNS) for host names ending in @code{.local}. | 24337 | Rechnernamensauflösung über »Multicast DNS« (mDNS) für auf @code{.local} |
| 24338 | endende Rechnernamen. | ||
| 23057 | @end defvr | 24339 | @end defvr |
| 23058 | 24340 | ||
| 23059 | The reference for name service switch configuration is given below. It is a | 24341 | Im Folgenden finden Sie eine Referenz, wie eine |
| 23060 | direct mapping of the configuration file format of the C library , so please | 24342 | Name-Service-Switch-Konfiguration aussehen muss. Sie hat eine direkte |
| 23061 | refer to the C library manual for more information (@pxref{NSS Configuration | 24343 | Entsprechung zum Konfigurationsdateiformat der C-Bibliothek, lesen Sie |
| 23062 | File,,, libc, The GNU C Library Reference Manual}). Compared to the | 24344 | weitere Informationen also bitte im Handbuch der C-Bibliothek nach (siehe |
| 23063 | configuration file format of libc NSS, it has the advantage not only of | 24345 | @ref{NSS Configuration File,,, libc, The GNU C Library Reference |
| 23064 | adding this warm parenthetic feel that we like, but also static checks: you | 24346 | Manual}). Gegenüber dem Konfigurationsdateiformat des libc-NSS bekommen Sie |
| 23065 | will know about syntax errors and typos as soon as you run @command{guix | 24347 | mit unserer Syntax nicht nur ein warm umklammerndes Gefühl, sondern auch |
| 23066 | system}. | 24348 | eine statische Analyse: Wenn Sie Syntax- und Schreibfehler machen, werden |
| 24349 | Sie darüber benachrichtigt, sobald Sie @command{guix system} aufrufen. | ||
| 23067 | 24350 | ||
| 23068 | @deftp {Data Type} name-service-switch | 24351 | @deftp {Datentyp} name-service-switch |
| 23069 | 24352 | ||
| 23070 | This is the data type representation the configuration of libc's name | 24353 | Der Datentyp, der die Konfiguration des Name Service Switch (NSS) der libc |
| 23071 | service switch (NSS). Each field below represents one of the supported | 24354 | repräsentiert. Jedes im Folgenden aufgeführte Feld repräsentiert eine der |
| 23072 | system databases. | 24355 | unterstützten Systemdatenbanken. |
| 23073 | 24356 | ||
| 23074 | @table @code | 24357 | @table @code |
| 23075 | @item aliases | 24358 | @item aliases |
| @@ -23085,30 +24368,31 @@ system databases. | |||
| 23085 | @itemx rpc | 24368 | @itemx rpc |
| 23086 | @itemx services | 24369 | @itemx services |
| 23087 | @itemx shadow | 24370 | @itemx shadow |
| 23088 | The system databases handled by the NSS. Each of these fields must be a | 24371 | Das sind die Systemdatenbanken, um die sich NSS kümmern kann. Jedes dieser |
| 23089 | list of @code{<name-service>} objects (see below). | 24372 | Felder muss eine Liste aus @code{<name-service>}-Objekten sein (siehe |
| 24373 | unten). | ||
| 23090 | @end table | 24374 | @end table |
| 23091 | @end deftp | 24375 | @end deftp |
| 23092 | 24376 | ||
| 23093 | @deftp {Data Type} name-service | 24377 | @deftp {Datentyp} name-service |
| 23094 | 24378 | ||
| 23095 | This is the data type representing an actual name service and the associated | 24379 | Der einen eigentlichen Namensdienst repräsentierende Datentyp zusammen mit |
| 23096 | lookup action. | 24380 | der zugehörigen Auflösungsaktion. |
| 23097 | 24381 | ||
| 23098 | @table @code | 24382 | @table @code |
| 23099 | @item name | 24383 | @item name |
| 23100 | A string denoting the name service (@pxref{Services in the NSS | 24384 | Eine Zeichenkette, die den Namensdienst bezeichnet (siehe @ref{Services in |
| 23101 | configuration,,, libc, The GNU C Library Reference Manual}). | 24385 | the NSS configuration,,, libc, The GNU C Library Reference Manual}). |
| 23102 | 24386 | ||
| 23103 | Note that name services listed here must be visible to nscd. This is | 24387 | Beachten Sie, dass hier aufgeführte Namensdienste für den nscd sichtbar sein |
| 23104 | achieved by passing the @code{#:name-services} argument to | 24388 | müssen. Dazu übergeben Sie im Argument @code{#:name-services} des |
| 23105 | @code{nscd-service} the list of packages providing the needed name services | 24389 | @code{nscd-service} die Liste der Pakete, die die entsprechenden |
| 23106 | (@pxref{Basisdienste, @code{nscd-service}}). | 24390 | Namensdienste anbieten (siehe @ref{Basisdienste, @code{nscd-service}}). |
| 23107 | 24391 | ||
| 23108 | @item reaction | 24392 | @item reaction |
| 23109 | An action specified using the @code{lookup-specification} macro | 24393 | Eine mit Hilfe des Makros @code{lookup-specification} angegebene Aktion |
| 23110 | (@pxref{Actions in the NSS configuration,,, libc, The GNU C Library | 24394 | (siehe @ref{Actions in the NSS configuration,,, libc, The GNU C Library |
| 23111 | Reference Manual}). For example: | 24395 | Reference Manual}). Zum Beispiel: |
| 23112 | 24396 | ||
| 23113 | @example | 24397 | @example |
| 23114 | (lookup-specification (unavailable => continue) | 24398 | (lookup-specification (unavailable => continue) |
| @@ -23122,19 +24406,20 @@ Reference Manual}). For example: | |||
| 23122 | 24406 | ||
| 23123 | @cindex initrd | 24407 | @cindex initrd |
| 23124 | @cindex initiale RAM-Disk | 24408 | @cindex initiale RAM-Disk |
| 23125 | For bootstrapping purposes, the Linux-Libre kernel is passed an @dfn{initial | 24409 | Um ihn zu initialisieren (zu »bootstrappen«), wird für den Kernel |
| 23126 | RAM disk}, or @dfn{initrd}. An initrd contains a temporary root file system | 24410 | Linux-Libre eine @dfn{initiale RAM-Disk} angegeben (kurz @dfn{initrd}). Eine |
| 23127 | as well as an initialization script. The latter is responsible for mounting | 24411 | initrd enthält ein temporäres Wurzeldateisystem sowie ein Skript zur |
| 23128 | the real root file system, and for loading any kernel modules that may be | 24412 | Initialisierung. Letzteres ist dafür zuständig, das echte Wurzeldateisystem |
| 23129 | needed to achieve that. | 24413 | einzubinden und alle Kernel-Module zu laden, die dafür nötig sein könnten. |
| 23130 | 24414 | ||
| 23131 | The @code{initrd-modules} field of an @code{operating-system} declaration | 24415 | Mit dem Feld @code{initrd-modules} einer @code{operating-system}-Deklaration |
| 23132 | allows you to specify Linux-libre kernel modules that must be available in | 24416 | können Sie angeben, welche Kernel-Module für Linux-libre in der initrd |
| 23133 | the initrd. In particular, this is where you would list modules needed to | 24417 | verfügbar sein müssen. Insbesondere müssen hier die Module aufgeführt |
| 23134 | actually drive the hard disk where your root partition is---although the | 24418 | werden, um die Festplatte zu betreiben, auf der sich Ihre Wurzelpartition |
| 23135 | default value of @code{initrd-modules} should cover most use cases. For | 24419 | befindet — allerdings sollte der vorgegebene Wert der @code{initrd-modules} |
| 23136 | example, assuming you need the @code{megaraid_sas} module in addition to the | 24420 | in dem meisten Fällen genügen. Wenn Sie aber zum Beispiel das Kernel-Modul |
| 23137 | default modules to be able to access your root file system, you would write: | 24421 | @code{megaraid_sas} zusätzlich zu den vorgegebenen Modulen brauchen, um auf |
| 24422 | Ihr Wurzeldateisystem zugreifen zu können, würden Sie das so schreiben: | ||
| 23138 | 24423 | ||
| 23139 | @example | 24424 | @example |
| 23140 | (operating-system | 24425 | (operating-system |
| @@ -23142,314 +24427,370 @@ default modules to be able to access your root file system, you would write: | |||
| 23142 | (initrd-modules (cons "megaraid_sas" %base-initrd-modules))) | 24427 | (initrd-modules (cons "megaraid_sas" %base-initrd-modules))) |
| 23143 | @end example | 24428 | @end example |
| 23144 | 24429 | ||
| 23145 | @defvr {Scheme Variable} %base-initrd-modules | 24430 | @defvr {Scheme-Variable} %base-initrd-modules |
| 23146 | This is the list of kernel modules included in the initrd by default. | 24431 | Der Vorgabewert für die Liste der Kernel-Module, die in der initrd enthalten |
| 24432 | sein sollen. | ||
| 23147 | @end defvr | 24433 | @end defvr |
| 23148 | 24434 | ||
| 23149 | Furthermore, if you need lower-level customization, the @code{initrd} field | 24435 | Wenn Sie noch systemnähere Anpassungen durchführen wollen, können Sie im |
| 23150 | of an @code{operating-system} declaration allows you to specify which initrd | 24436 | Feld @code{initrd} einer @code{operating-system}-Deklaration angeben, was |
| 23151 | you would like to use. The @code{(gnu system linux-initrd)} module provides | 24437 | für eine Art von initrd Sie benutzen möchten. Das Modul @code{(gnu system |
| 23152 | three ways to build an initrd: the high-level @code{base-initrd} procedure | 24438 | linux-initrd)} enthält drei Arten, eine initrd zu erstellen: die abstrakte |
| 23153 | and the low-level @code{raw-initrd} and @code{expression->initrd} | 24439 | Prozedur @code{base-initrd} und die systemnahen Prozeduren @code{raw-initrd} |
| 23154 | procedures. | 24440 | und @code{expression->initrd}. |
| 23155 | 24441 | ||
| 23156 | The @code{base-initrd} procedure is intended to cover most common uses. For | 24442 | Mit der Prozedur @code{base-initrd} sollten Sie die häufigsten |
| 23157 | example, if you want to add a bunch of kernel modules to be loaded at boot | 24443 | Anwendungszwecke abdecken können. Wenn Sie zum Beispiel ein paar |
| 23158 | time, you can define the @code{initrd} field of the operating system | 24444 | Kernel-Module zur Boot-Zeit laden lassen möchten, können Sie das |
| 23159 | declaration like this: | 24445 | @code{initrd}-Feld auf diese Art definieren: |
| 23160 | 24446 | ||
| 23161 | @example | 24447 | @example |
| 23162 | (initrd (lambda (file-systems . rest) | 24448 | (initrd (lambda (file-systems . rest) |
| 23163 | ;; Create a standard initrd but set up networking | 24449 | ;; Eine gewöhnliche initrd, aber das Netzwerk wird |
| 23164 | ;; with the parameters QEMU expects by default. | 24450 | ;; mit den Parametern initialisiert, die QEMU |
| 24451 | ;; standardmäßig erwartet. | ||
| 23165 | (apply base-initrd file-systems | 24452 | (apply base-initrd file-systems |
| 23166 | #:qemu-networking? #t | 24453 | #:qemu-networking? #t |
| 23167 | rest))) | 24454 | rest))) |
| 23168 | @end example | 24455 | @end example |
| 23169 | 24456 | ||
| 23170 | The @code{base-initrd} procedure also handles common use cases that involves | 24457 | Die Prozedur @code{base-initrd} kann auch mit üblichen Anwendungszwecken |
| 23171 | using the system as a QEMU guest, or as a ``live'' system with volatile root | 24458 | umgehen, um das System als QEMU-Gastsystem zu betreiben oder als ein |
| 23172 | file system. | 24459 | »Live«-System ohne ein dauerhaft gespeichertes Wurzeldateisystem. |
| 23173 | 24460 | ||
| 23174 | The @code{base-initrd} procedure is built from @code{raw-initrd} procedure. | 24461 | Die Prozedur @code{base-initrd} baut auf der Prozedur @code{raw-initrd} |
| 23175 | Unlike @code{base-initrd}, @code{raw-initrd} doesn't do anything high-level, | 24462 | auf. Anders als @code{base-initrd} hat @code{raw-initrd} keinerlei |
| 23176 | such as trying to guess which kernel modules and packages should be included | 24463 | Zusatzfunktionalitäten: Es wird kein Versuch unternommen, für die initrd |
| 23177 | to the initrd. An example use of @code{raw-initrd} is when a user has a | 24464 | notwendige Kernel-Module und Pakete automatisch |
| 23178 | custom Linux kernel configuration and default kernel modules included by | 24465 | hinzuzunehmen. @code{raw-initrd} kann zum Beispiel benutzt werden, wenn ein |
| 23179 | @code{base-initrd} are not available. | 24466 | Nutzer eine eigene Konfiguration des Linux-Kernels verwendet und die |
| 24467 | Standard-Kernel-Module, die mit @code{base-initrd} hinzugenommen würden, | ||
| 24468 | nicht verfügbar sind. | ||
| 23180 | 24469 | ||
| 23181 | The initial RAM disk produced by @code{base-initrd} or @code{raw-initrd} | 24470 | Die initiale RAM-Disk, wie sie von @code{base-initrd} oder @code{raw-initrd} |
| 23182 | honors several options passed on the Linux kernel command line (that is, | 24471 | erzeugt wird, richtet sich nach verschiedenen Optionen, die auf der |
| 23183 | arguments passed @i{via} the @code{linux} command of GRUB, or the | 24472 | Kernel-Befehlszeile übergeben werden (also über GRUBs @code{linux}-Befehl |
| 23184 | @code{-append} option of QEMU), notably: | 24473 | oder die @code{-append}-Befehlszeilenoption von QEMU). Erwähnt werden |
| 24474 | sollten: | ||
| 23185 | 24475 | ||
| 23186 | @table @code | 24476 | @table @code |
| 23187 | @item --load=@var{boot} | 24477 | @item --load=@var{boot} |
| 23188 | Tell the initial RAM disk to load @var{boot}, a file containing a Scheme | 24478 | Die initiale RAM-Disk eine Datei @var{boot}, in der ein Scheme-Programm |
| 23189 | program, once it has mounted the root file system. | 24479 | steht, laden lassen, nachdem das Wurzeldateisystem eingebunden wurde. |
| 23190 | 24480 | ||
| 23191 | Guix uses this option to yield control to a boot program that runs the | 24481 | Guix übergibt mit dieser Befehlszeilenoption die Kontrolle an ein |
| 23192 | service activation programs and then spawns the GNU@tie{}Shepherd, the | 24482 | Boot-Programm, das die Dienstaktivierungsprogramme ausführt und anschließend |
| 23193 | initialization system. | 24483 | den GNU@tie{}Shepherd startet, das Initialisierungssystem (»init«-System) |
| 24484 | von Guix System. | ||
| 23194 | 24485 | ||
| 23195 | @item --root=@var{root} | 24486 | @item --root=@var{Wurzel} |
| 23196 | Mount @var{root} as the root file system. @var{root} can be a device name | 24487 | Das mit @var{Wurzel} bezeichnete Dateisystem als Wurzeldateisystem |
| 23197 | like @code{/dev/sda1}, a file system label, or a file system UUID. | 24488 | einbinden. @var{Wurzel} kann ein Geratename wie @code{/dev/sda1}, eine |
| 24489 | Dateisystembezeichnung (d.h.@: ein Dateisystem-»Label«) oder eine | ||
| 24490 | Dateisystem-UUID sein. | ||
| 23198 | 24491 | ||
| 23199 | @item --system=@var{System} | 24492 | @item --system=@var{System} |
| 23200 | Have @file{/run/booted-system} and @file{/run/current-system} point to | 24493 | @file{/run/booted-system} und @file{/run/current-system} auf das |
| 23201 | @var{system}. | 24494 | @var{System} zeigen lassen. |
| 23202 | 24495 | ||
| 23203 | @item modprobe.blacklist=@var{modules}@dots{} | 24496 | @item modprobe.blacklist=@var{Module}@dots{} |
| 23204 | @cindex module, black-listing | 24497 | @cindex Kernel-Module, Sperrliste |
| 23205 | @cindex black list, of kernel modules | 24498 | @cindex Sperrliste, von Kernel-Modulen |
| 23206 | Instruct the initial RAM disk as well as the @command{modprobe} command | 24499 | Die initiale RAM-Disk sowie den Befehl @command{modprobe} (aus dem |
| 23207 | (from the kmod package) to refuse to load @var{modules}. @var{modules} must | 24500 | kmod-Paket) anweisen, das Laden der angegebenen @var{Module} zu |
| 23208 | be a comma-separated list of module names---e.g., @code{usbkbd,9pnet}. | 24501 | verweigern. Als @var{Module} muss eine kommagetrennte Liste von |
| 24502 | Kernel-Modul-Namen angegeben werden — z.B.@: @code{usbkbd,9pnet}. | ||
| 23209 | 24503 | ||
| 23210 | @item --repl | 24504 | @item --repl |
| 23211 | Start a read-eval-print loop (REPL) from the initial RAM disk before it | 24505 | Eine Lese-Auswerten-Schreiben-Schleife (englisch »Read-Eval-Print Loop«, |
| 23212 | tries to load kernel modules and to mount the root file system. Our | 24506 | kurz REPL) von der initialen RAM-Disk starten, bevor diese die Kernel-Module |
| 23213 | marketing team calls it @dfn{boot-to-Guile}. The Schemer in you will love | 24507 | zu laden versucht und das Wurzeldateisystem einbindet. Unsere |
| 23214 | it. @xref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}, | 24508 | Marketingabteilung nennt das @dfn{boot-to-Guile}. Der Schemer in Ihnen wird |
| 23215 | for more information on Guile's REPL. | 24509 | das lieben. Siehe @ref{Using Guile Interactively,,, guile, GNU Guile |
| 24510 | Reference Manual} für mehr Informationen über die REPL von Guile. | ||
| 23216 | 24511 | ||
| 23217 | @end table | 24512 | @end table |
| 23218 | 24513 | ||
| 23219 | Now that you know all the features that initial RAM disks produced by | 24514 | Jetzt wo Sie wissen, was für Funktionalitäten eine durch @code{base-initrd} |
| 23220 | @code{base-initrd} and @code{raw-initrd} provide, here is how to use it and | 24515 | und @code{raw-initrd} erzeugte initiale RAM-Disk so haben kann, möchten Sie |
| 23221 | customize it further. | 24516 | vielleicht auch wissen, wie man Sie benutzt und weiter anpasst: |
| 23222 | 24517 | ||
| 23223 | @cindex initrd | 24518 | @cindex initrd |
| 23224 | @cindex initiale RAM-Disk | 24519 | @cindex initiale RAM-Disk |
| 23225 | @deffn {Scheme Procedure} raw-initrd @var{file-systems} @ | 24520 | @deffn {Scheme-Prozedur} raw-initrd @var{Dateisysteme} @ |
| 23226 | [#:linux-modules '()] [#:mapped-devices '()] @ [#:helper-packages '()] | 24521 | [#:linux-modules '()] [#:mapped-devices '()] @ [#:keyboard-layout #f] @ |
| 23227 | [#:qemu-networking? #f] [#:volatile-root? #f] Return a derivation that | 24522 | [#:helper-packages '()] [#:qemu-networking? #f] [#:volatile-root? #f] |
| 23228 | builds a raw initrd. @var{file-systems} is a list of file systems to be | 24523 | Liefert eine Ableitung, die eine rohe (»raw«) initrd |
| 23229 | mounted by the initrd, possibly in addition to the root file system | 24524 | erstellt. @var{Dateisysteme} bezeichnet eine Liste von durch die initrd |
| 23230 | specified on the kernel command line via @code{--root}. @var{linux-modules} | 24525 | einzubindenden Dateisystemen, unter Umständen zusätzlich zum auf der |
| 23231 | is a list of kernel modules to be loaded at boot time. @var{mapped-devices} | 24526 | Kernel-Befehlszeile mit @code{--root} angegebenen |
| 23232 | is a list of device mappings to realize before @var{file-systems} are | 24527 | Wurzeldateisystem. @var{linux-modules} ist eine Liste von Kernel-Modulen, |
| 23233 | mounted (@pxref{Zugeordnete Geräte}). @var{helper-packages} is a list of | 24528 | die zur Boot-Zeit geladen werden sollen. @var{mapped-devices} ist eine Liste |
| 23234 | packages to be copied in the initrd. It may include @code{e2fsck/static} or | 24529 | von Gerätezuordnungen, die hergestellt sein müssen, bevor die unter |
| 23235 | other packages needed by the initrd to check the root file system. | 24530 | @var{file-systems} aufgeführten Dateisysteme eingebunden werden (siehe |
| 23236 | 24531 | @ref{Zugeordnete Geräte}). @var{helper-packages} ist eine Liste von Paketen, die | |
| 23237 | When @var{qemu-networking?} is true, set up networking with the standard | 24532 | in die initrd kopiert werden. Darunter kann @code{e2fsck/static} oder andere |
| 23238 | QEMU parameters. When @var{virtio?} is true, load additional modules so | 24533 | Pakete aufgeführt werden, mit denen durch die initrd das Wurzeldateisystem |
| 23239 | that the initrd can be used as a QEMU guest with para-virtualized I/O | 24534 | auf Fehler hin geprüft werden kann. |
| 23240 | drivers. | 24535 | |
| 23241 | 24536 | When true, @var{keyboard-layout} is a @code{<keyboard-layout>} record | |
| 23242 | When @var{volatile-root?} is true, the root file system is writable but any | 24537 | denoting the desired console keyboard layout. This is done before |
| 23243 | changes to it are lost. | 24538 | @var{mapped-devices} are set up and before @var{file-systems} are mounted |
| 24539 | such that, should the user need to enter a passphrase or use the REPL, this | ||
| 24540 | happens using the intended keyboard layout. | ||
| 24541 | |||
| 24542 | Wenn @var{qemu-networking?} wahr ist, wird eine Netzwerkverbindung mit den | ||
| 24543 | Standard-QEMU-Parametern hergestellt. Wenn @var{virtio?} wahr ist, werden | ||
| 24544 | zusätzliche Kernel-Module geladen, damit die initrd als ein QEMU-Gast | ||
| 24545 | paravirtualisierte Ein-/Ausgabetreiber benutzen kann. | ||
| 24546 | |||
| 24547 | Wenn @var{volatile-root?} wahr ist, ist Schreiben auf das Wurzeldateisystem | ||
| 24548 | möglich, aber Änderungen daran bleiben nicht erhalten. | ||
| 23244 | @end deffn | 24549 | @end deffn |
| 23245 | 24550 | ||
| 23246 | @deffn {Scheme Procedure} base-initrd @var{file-systems} @ | 24551 | @deffn {Scheme-Prozedur} base-initrd @var{Dateisysteme} @ |
| 23247 | [#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@ | 24552 | [#:mapped-devices '()] [#:keyboard-layout #f] @ [#:qemu-networking? #f] |
| 23248 | [#:linux-modules '()] Return as a file-like object a generic initrd, with | 24553 | [#:volatile-root? #f] @ [#:linux-modules '()] Liefert eine allgemein |
| 23249 | kernel modules taken from @var{linux}. @var{file-systems} is a list of | 24554 | anwendbare, generische initrd als dateiartiges Objekt mit den Kernel-Modulen |
| 23250 | file-systems to be mounted by the initrd, possibly in addition to the root | 24555 | aus @var{linux}. Die @var{file-systems} sind eine Liste von durch die initrd |
| 23251 | file system specified on the kernel command line via @code{--root}. | 24556 | einzubindenden Dateisystemen, unter Umständen zusätzlich zum |
| 23252 | @var{mapped-devices} is a list of device mappings to realize before | 24557 | Wurzeldateisystem, das auf der Kernel-Befehlszeile mit @code{--root} |
| 23253 | @var{file-systems} are mounted. | 24558 | angegeben wurde. Die @var{mapped-devices} sind eine Liste von |
| 23254 | 24559 | Gerätezuordnungen, die hergestellt sein müssen, bevor die @var{file-systems} | |
| 23255 | @var{qemu-networking?} and @var{volatile-root?} behaves as in | 24560 | eingebunden werden. |
| 24561 | |||
| 24562 | When true, @var{keyboard-layout} is a @code{<keyboard-layout>} record | ||
| 24563 | denoting the desired console keyboard layout. This is done before | ||
| 24564 | @var{mapped-devices} are set up and before @var{file-systems} are mounted | ||
| 24565 | such that, should the user need to enter a passphrase or use the REPL, this | ||
| 24566 | happens using the intended keyboard layout. | ||
| 24567 | |||
| 24568 | @var{qemu-networking?} und @var{volatile-root?} verhalten sich wie bei | ||
| 23256 | @code{raw-initrd}. | 24569 | @code{raw-initrd}. |
| 23257 | 24570 | ||
| 23258 | The initrd is automatically populated with all the kernel modules necessary | 24571 | In die initrd werden automatisch alle Kernel-Module eingefügt, die für die |
| 23259 | for @var{file-systems} and for the given options. Additional kernel modules | 24572 | unter @var{file-systems} angegebenen Dateisysteme und die angegebenen |
| 23260 | can be listed in @var{linux-modules}. They will be added to the initrd, and | 24573 | Optionen nötig sind. Zusätzliche Kernel-Module können unter den |
| 23261 | loaded at boot time in the order in which they appear. | 24574 | @var{linux-modules} aufgeführt werden. Diese werden zur initrd hinzugefügt |
| 24575 | und zur Boot-Zeit in der Reihenfolge geladen, in der sie angegeben wurden. | ||
| 23262 | @end deffn | 24576 | @end deffn |
| 23263 | 24577 | ||
| 23264 | Needless to say, the initrds we produce and use embed a statically-linked | 24578 | Selbstverständlich betten die hier erzeugten und benutzten initrds ein |
| 23265 | Guile, and the initialization program is a Guile program. That gives a lot | 24579 | statisch gebundenes Guile ein und das Initialisierungsprogramm ist ein |
| 23266 | of flexibility. The @code{expression->initrd} procedure builds such an | 24580 | Guile-Programm. Dadurch haben wir viel Flexibilität. Die Prozedur |
| 23267 | initrd, given the program to run in that initrd. | 24581 | @code{expression->initrd} erstellt eine solche initrd für ein an sie |
| 23268 | 24582 | übergebenes Programm. | |
| 23269 | @deffn {Scheme Procedure} expression->initrd @var{exp} @ | 24583 | |
| 23270 | [#:guile %guile-static-stripped] [#:name "guile-initrd"] Return as a | 24584 | @deffn {Scheme-Prozedur} expression->initrd @var{G-Ausdruck} @ |
| 23271 | file-like object a Linux initrd (a gzipped cpio archive) containing | 24585 | [#:guile %guile-static-stripped] [#:name "guile-initrd"] Liefert eine |
| 23272 | @var{guile} and that evaluates @var{exp}, a G-expression, upon booting. All | 24586 | Linux-initrd (d.h.@: ein gzip-komprimiertes cpio-Archiv) als dateiartiges |
| 23273 | the derivations referenced by @var{exp} are automatically copied to the | 24587 | Objekt, in dem @var{guile} enthalten ist, womit der @var{G-Ausdruck} nach |
| 23274 | initrd. | 24588 | dem Booten ausgewertet wird. Alle vom @var{G-Ausdruck} referenzierten |
| 24589 | Ableitungen werden automatisch in die initrd kopiert. | ||
| 23275 | @end deffn | 24590 | @end deffn |
| 23276 | 24591 | ||
| 23277 | @node Bootloader-Konfiguration | 24592 | @node Bootloader-Konfiguration |
| 23278 | @section Bootloader-Konfiguration | 24593 | @section Bootloader-Konfiguration |
| 23279 | 24594 | ||
| 23280 | @cindex bootloader | 24595 | @cindex bootloader |
| 23281 | @cindex boot loader | 24596 | @cindex Bootloader |
| 23282 | 24597 | ||
| 23283 | The operating system supports multiple bootloaders. The bootloader is | 24598 | Das Betriebssystem unterstützt mehrere Bootloader. Der gewünschte Bootloader |
| 23284 | configured using @code{bootloader-configuration} declaration. All the | 24599 | wird mit der @code{bootloader-configuration}-Deklaration konfiguriert. Alle |
| 23285 | fields of this structure are bootloader agnostic except for one field, | 24600 | Felder dieser Struktur sind für alle Bootloader gleich außer dem einen Feld |
| 23286 | @code{bootloader} that indicates the bootloader to be configured and | 24601 | @code{bootloader}, das angibt, welcher Bootloader konfiguriert und |
| 23287 | installed. | 24602 | installiert werden soll. |
| 23288 | 24603 | ||
| 23289 | Some of the bootloaders do not honor every field of | 24604 | Manche der Bootloader setzen nicht alle Felder einer |
| 23290 | @code{bootloader-configuration}. For instance, the extlinux bootloader does | 24605 | @code{bootloader-configuration} um. Zum Beispiel ignoriert der |
| 23291 | not support themes and thus ignores the @code{theme} field. | 24606 | extlinux-Bootloader das @code{theme}-Feld, weil er keine eigenen Themen |
| 24607 | unterstützt. | ||
| 23292 | 24608 | ||
| 23293 | @deftp {Data Type} bootloader-configuration | 24609 | @deftp {Datentyp} bootloader-configuration |
| 23294 | The type of a bootloader configuration declaration. | 24610 | Der Typ der Deklaration einer Bootloader-Konfiguration. |
| 23295 | 24611 | ||
| 23296 | @table @asis | 24612 | @table @asis |
| 23297 | 24613 | ||
| 23298 | @item @code{bootloader} | 24614 | @item @code{bootloader} |
| 23299 | @cindex EFI, bootloader | 24615 | @cindex EFI, Bootloader |
| 23300 | @cindex UEFI, bootloader | 24616 | @cindex UEFI, Bootloader |
| 23301 | @cindex BIOS, bootloader | 24617 | @cindex BIOS, Bootloader |
| 23302 | The bootloader to use, as a @code{bootloader} object. For now | 24618 | Der zu benutzende Bootloader als ein @code{bootloader}-Objekt. Zur Zeit |
| 23303 | @code{grub-bootloader}, @code{grub-efi-bootloader}, | 24619 | werden @code{grub-bootloader}, @code{grub-efi-bootloader}, |
| 23304 | @code{extlinux-bootloader} and @code{u-boot-bootloader} are supported. | 24620 | @code{extlinux-bootloader} und @code{u-boot-bootloader} unterstützt. |
| 23305 | 24621 | ||
| 23306 | @vindex grub-efi-bootloader | 24622 | @vindex grub-efi-bootloader |
| 23307 | @code{grub-efi-bootloader} allows to boot on modern systems using the | 24623 | @code{grub-efi-bootloader} macht es möglich, auf modernen Systemen mit |
| 23308 | @dfn{Unified Extensible Firmware Interface} (UEFI). This is what you should | 24624 | @dfn{Unified Extensible Firmware Interface} (UEFI) zu booten. Sie sollten |
| 23309 | use if the installation image contains a @file{/sys/firmware/efi} directory | 24625 | das hier benutzen, wenn im Installationsabbild ein Verzeichnis |
| 23310 | when you boot it on your system. | 24626 | @file{/sys/firmware/efi} vorhanden ist, wenn Sie davon auf Ihrem System |
| 24627 | booten. | ||
| 23311 | 24628 | ||
| 23312 | @vindex grub-bootloader | 24629 | @vindex grub-bootloader |
| 23313 | @code{grub-bootloader} allows you to boot in particular Intel-based machines | 24630 | Mit @code{grub-bootloader} können Sie vor allem auf Intel-basierten |
| 23314 | in ``legacy'' BIOS mode. | 24631 | Maschinen im alten »Legacy«-BIOS-Modus booten. |
| 23315 | 24632 | ||
| 23316 | @cindex ARM, bootloaders | 24633 | @cindex ARM, Bootloader |
| 23317 | @cindex AArch64, bootloaders | 24634 | @cindex AArch64, Bootloader |
| 23318 | Available bootloaders are described in @code{(gnu bootloader @dots{})} | 24635 | Verfügbare Bootloader werden in den Modulen @code{(gnu bootloader @dots{})} |
| 23319 | modules. In particular, @code{(gnu bootloader u-boot)} contains definitions | 24636 | beschrieben. Insbesondere enthält @code{(gnu bootloader u-boot)} |
| 23320 | of bootloaders for a wide range of ARM and AArch64 systems, using the | 24637 | Definitionen für eine Vielzahl von ARM- und AArch64-Systemen, die den |
| 23321 | @uref{http://www.denx.de/wiki/U-Boot/, U-Boot bootloader}. | 24638 | @uref{http://www.denx.de/wiki/U-Boot/, U-Boot-Bootloader} benutzen. |
| 23322 | 24639 | ||
| 23323 | @item @code{target} | 24640 | @item @code{target} |
| 23324 | This is a string denoting the target onto which to install the bootloader. | 24641 | Eine Zeichenkette, die angibt, auf welches Ziel der Bootloader installiert |
| 23325 | 24642 | werden soll. | |
| 23326 | The interpretation depends on the bootloader in question. For | 24643 | |
| 23327 | @code{grub-bootloader}, for example, it should be a device name understood | 24644 | Was das bedeutet, hängt vom jeweiligen Bootloader ab. Für |
| 23328 | by the bootloader @command{installer} command, such as @code{/dev/sda} or | 24645 | @code{grub-bootloader} sollte hier zum Beispiel ein Gerätename angegeben |
| 23329 | @code{(hd0)} (@pxref{Invoking grub-install,,, grub, GNU GRUB Manual}). For | 24646 | werden, der vom @command{installer}-Befehl des Bootloaders verstanden wird, |
| 23330 | @code{grub-efi-bootloader}, it should be the mount point of the EFI file | 24647 | etwa @code{/dev/sda} oder @code{(hd0)} (siehe @ref{Invoking grub-install,,, |
| 23331 | system, usually @file{/boot/efi}. | 24648 | grub, GNU GRUB Manual}). Für @code{grub-efi-bootloader} sollte der |
| 23332 | 24649 | Einhängepunkt des EFI-Dateisystems angegeben werden, in der Regel | |
| 23333 | @item @code{menu-entries} (default: @code{()}) | 24650 | @file{/boot/efi}. |
| 23334 | A possibly empty list of @code{menu-entry} objects (see below), denoting | 24651 | |
| 23335 | entries to appear in the bootloader menu, in addition to the current system | 24652 | @item @code{menu-entries} (Vorgabe: @code{()}) |
| 23336 | entry and the entry pointing to previous system generations. | 24653 | Eine möglicherweise leere Liste von @code{menu-entry}-Objekten (siehe |
| 23337 | 24654 | unten), die für Menüeinträge stehen, die im Bootloader-Menü auftauchen | |
| 23338 | @item @code{default-entry} (default: @code{0}) | 24655 | sollen, zusätzlich zum aktuellen Systemeintrag und dem auf vorherige |
| 23339 | The index of the default boot menu entry. Index 0 is for the entry of the | 24656 | Systemgenerationen verweisenden Eintrag. |
| 23340 | current system. | 24657 | |
| 23341 | 24658 | @item @code{default-entry} (Vorgabe: @code{0}) | |
| 23342 | @item @code{timeout} (default: @code{5}) | 24659 | Die Position des standardmäßig ausgewählten Bootmenü-Eintrags. An Position 0 |
| 23343 | The number of seconds to wait for keyboard input before booting. Set to 0 | 24660 | steht der Eintrag der aktuellen Systemgeneration. |
| 23344 | to boot immediately, and to -1 to wait indefinitely. | 24661 | |
| 23345 | 24662 | @item @code{timeout} (Vorgabe: @code{5}) | |
| 23346 | @item @code{theme} (default: @var{#f}) | 24663 | Wieviele Sekunden lang im Menü auf eine Tastatureingabe gewartet wird, bevor |
| 23347 | The bootloader theme object describing the theme to use. If no theme is | 24664 | gebootet wird. 0 steht für sofortiges Booten, für -1 wird ohne |
| 23348 | provided, some bootloaders might use a default theme, that's true for GRUB. | 24665 | Zeitbeschränkung gewartet. |
| 23349 | 24666 | ||
| 23350 | @item @code{terminal-outputs} (default: @code{'gfxterm}) | 24667 | @cindex Tastaturbelegung, beim Bootloader |
| 23351 | The output terminals used for the bootloader boot menu, as a list of | 24668 | @item @code{keyboard-layout} (Vorgabe: @code{#f}) |
| 23352 | symbols. GRUB accepts the values: @code{console}, @code{serial}, | 24669 | Wenn dies auf @code{#f} gesetzt ist, verwendet das Menü des Bootloaders |
| 23353 | @code{serial_@{0-3@}}, @code{gfxterm}, @code{vga_text}, @code{mda_text}, | 24670 | (falls vorhanden) die Vorgabe-Tastaturbelegung, normalerweise |
| 23354 | @code{morse}, and @code{pkmodem}. This field corresponds to the GRUB | 24671 | US@tie{}English (»qwerty«). |
| 23355 | variable @code{GRUB_TERMINAL_OUTPUT} (@pxref{Simple configuration,,, | 24672 | |
| 23356 | grub,GNU GRUB manual}). | 24673 | Andernfalls muss es ein @code{keyboard-layout}-Objekt sein (siehe |
| 23357 | 24674 | @ref{Tastaturbelegung}). | |
| 23358 | @item @code{terminal-inputs} (default: @code{'()}) | 24675 | |
| 23359 | The input terminals used for the bootloader boot menu, as a list of | 24676 | @quotation Anmerkung |
| 23360 | symbols. For GRUB, the default is the native platform terminal as | 24677 | Dieses Feld wird derzeit von Bootloadern außer @code{grub} und |
| 23361 | determined at run-time. GRUB accepts the values: @code{console}, | 24678 | @code{grub-efi} ignoriert. |
| 23362 | @code{serial}, @code{serial_@{0-3@}}, @code{at_keyboard}, and | 24679 | @end quotation |
| 23363 | @code{usb_keyboard}. This field corresponds to the GRUB variable | 24680 | |
| 23364 | @code{GRUB_TERMINAL_INPUT} (@pxref{Simple configuration,,, grub,GNU GRUB | 24681 | @item @code{theme} (Vorgabe: @var{#f}) |
| 24682 | Ein Objekt für das im Bootloader anzuzeigende Thema. Wird kein Thema | ||
| 24683 | angegeben, benutzen manche Bootloader vielleicht ein voreingestelltes Thema; | ||
| 24684 | GRUB zumindest macht es so. | ||
| 24685 | |||
| 24686 | @item @code{terminal-outputs} (Vorgabe: @code{'gfxterm}) | ||
| 24687 | Die Ausgabeterminals, die für das Boot-Menü des Bootloaders benutzt werden, | ||
| 24688 | als eine Liste von Symbolen. GRUB akzeptiert hier diese Werte: | ||
| 24689 | @code{console}, @code{serial}, @code{serial_@{0–3@}}, @code{gfxterm}, | ||
| 24690 | @code{vga_text}, @code{mda_text}, @code{morse} und @code{pkmodem}. Dieses | ||
| 24691 | Feld entspricht der GRUB-Variablen @code{GRUB_TERMINAL_OUTPUT} (siehe | ||
| 24692 | @ref{Simple configuration,,, grub,GNU GRUB manual}). | ||
| 24693 | |||
| 24694 | @item @code{terminal-inputs} (Vorgabe: @code{'()}) | ||
| 24695 | Die Eingabeterminals, die für das Boot-Menü des Bootloaders benutzt werden, | ||
| 24696 | als eine Liste von Symbolen. GRUB verwendet hier das zur Laufzeit bestimmte | ||
| 24697 | Standardterminal. GRUB akzeptiert sonst diese Werte: @code{console}, | ||
| 24698 | @code{serial}, @code{serial_@{0-3@}}, @code{at_keyboard} und | ||
| 24699 | @code{usb_keyboard}. Dieses Feld entspricht der GRUB-Variablen | ||
| 24700 | @code{GRUB_TERMINAL_INPUT} (siehe @ref{Simple configuration,,, grub,GNU GRUB | ||
| 23365 | manual}). | 24701 | manual}). |
| 23366 | 24702 | ||
| 23367 | @item @code{serial-unit} (default: @code{#f}) | 24703 | @item @code{serial-unit} (Vorgabe: @code{#f}) |
| 23368 | The serial unit used by the bootloader, as an integer from 0 to 3. For | 24704 | Die serielle Einheit, die der Bootloader benutzt, als eine ganze Zahl |
| 23369 | GRUB, it is chosen at run-time; currently GRUB chooses 0, which corresponds | 24705 | zwischen 0 und 3, einschließlich. Für GRUB wird sie automatisch zur Laufzeit |
| 23370 | to COM1 (@pxref{Serial terminal,,, grub,GNU GRUB manual}). | 24706 | ausgewählt; derzeit wählt GRUB die 0 aus, die COM1 entspricht (siehe |
| 24707 | @ref{Serial terminal,,, grub,GNU GRUB manual}). | ||
| 23371 | 24708 | ||
| 23372 | @item @code{serial-speed} (default: @code{#f}) | 24709 | @item @code{serial-speed} (Vorgabe: @code{#f}) |
| 23373 | The speed of the serial interface, as an integer. For GRUB, the default | 24710 | Die Geschwindigkeit der seriellen Schnittstelle als eine ganze Zahl. GRUB |
| 23374 | value is chosen at run-time; currently GRUB chooses 9600@tie{}bps | 24711 | bestimmt den Wert standardmäßig zur Laufzeit; derzeit wählt GRUB |
| 23375 | (@pxref{Serial terminal,,, grub,GNU GRUB manual}). | 24712 | 9600@tie{}bps (siehe @ref{Serial terminal,,, grub,GNU GRUB manual}). |
| 23376 | @end table | 24713 | @end table |
| 23377 | 24714 | ||
| 23378 | @end deftp | 24715 | @end deftp |
| 23379 | 24716 | ||
| 23380 | @cindex dual boot | 24717 | @cindex Dual-Boot |
| 23381 | @cindex boot menu | 24718 | @cindex Bootmenü |
| 23382 | Should you want to list additional boot menu entries @i{via} the | 24719 | Sollten Sie zusätzliche Bootmenü-Einträge über das oben beschriebene |
| 23383 | @code{menu-entries} field above, you will need to create them with the | 24720 | @code{menu-entries}-Feld hinzufügen möchten, müssen Sie diese mit der |
| 23384 | @code{menu-entry} form. For example, imagine you want to be able to boot | 24721 | @code{menu-entry}-Form erzeugen. Stellen Sie sich zum Beispiel vor, Sie |
| 23385 | another distro (hard to imagine!), you can define a menu entry along these | 24722 | wollten noch eine andere Distribution booten können (schwer vorstellbar!), |
| 23386 | lines: | 24723 | dann könnten Sie einen Menüeintrag wie den Folgenden definieren: |
| 23387 | 24724 | ||
| 23388 | @example | 24725 | @example |
| 23389 | (menu-entry | 24726 | (menu-entry |
| 23390 | (label "The Other Distro") | 24727 | (label "Die _andere_ Distribution") |
| 23391 | (linux "/boot/old/vmlinux-2.6.32") | 24728 | (linux "/boot/old/vmlinux-2.6.32") |
| 23392 | (linux-arguments '("root=/dev/sda2")) | 24729 | (linux-arguments '("root=/dev/sda2")) |
| 23393 | (initrd "/boot/old/initrd")) | 24730 | (initrd "/boot/old/initrd")) |
| 23394 | @end example | 24731 | @end example |
| 23395 | 24732 | ||
| 23396 | Details below. | 24733 | Details finden Sie unten. |
| 23397 | 24734 | ||
| 23398 | @deftp {Data Type} menu-entry | 24735 | @deftp {Datentyp} menu-entry |
| 23399 | The type of an entry in the bootloader menu. | 24736 | Der Typ eines Eintrags im Bootloadermenü. |
| 23400 | 24737 | ||
| 23401 | @table @asis | 24738 | @table @asis |
| 23402 | 24739 | ||
| 23403 | @item @code{label} | 24740 | @item @code{label} |
| 23404 | The label to show in the menu---e.g., @code{"GNU"}. | 24741 | Die Beschriftung, die im Menü gezeigt werden soll — z.B.@: @code{"GNU"}. |
| 23405 | 24742 | ||
| 23406 | @item @code{linux} | 24743 | @item @code{linux} |
| 23407 | The Linux kernel image to boot, for example: | 24744 | Das Linux-Kernel-Abbild, was gebootet werden soll, zum Beispiel: |
| 23408 | 24745 | ||
| 23409 | @example | 24746 | @example |
| 23410 | (file-append linux-libre "/bzImage") | 24747 | (file-append linux-libre "/bzImage") |
| 23411 | @end example | 24748 | @end example |
| 23412 | 24749 | ||
| 23413 | For GRUB, it is also possible to specify a device explicitly in the file | 24750 | Für GRUB kann hier auch ein Gerät ausdrücklich zum Dateipfad angegeben |
| 23414 | path using GRUB's device naming convention (@pxref{Naming convention,,, | 24751 | werden, unter Verwendung von GRUBs Konventionen zur Gerätebenennung (siehe |
| 23415 | grub, GNU GRUB manual}), for example: | 24752 | @ref{Naming convention,,, grub, GNU GRUB manual}), zum Beispiel: |
| 23416 | 24753 | ||
| 23417 | @example | 24754 | @example |
| 23418 | "(hd0,msdos1)/boot/vmlinuz" | 24755 | "(hd0,msdos1)/boot/vmlinuz" |
| 23419 | @end example | 24756 | @end example |
| 23420 | 24757 | ||
| 23421 | If the device is specified explicitly as above, then the @code{device} field | 24758 | Wenn das Gerät auf diese Weise ausdrücklich angegeben wird, wird das |
| 23422 | is ignored entirely. | 24759 | @code{device}-Feld gänzlich ignoriert. |
| 23423 | 24760 | ||
| 23424 | @item @code{linux-arguments} (default: @code{()}) | 24761 | @item @code{linux-arguments} (Vorgabe: @code{()}) |
| 23425 | The list of extra Linux kernel command-line arguments---e.g., | 24762 | Die Liste zusätzlicher Linux-Kernel-Befehlszeilenargumente — z.B.@: |
| 23426 | @code{("console=ttyS0")}. | 24763 | @code{("console=ttyS0")}. |
| 23427 | 24764 | ||
| 23428 | @item @code{initrd} | 24765 | @item @code{initrd} |
| 23429 | A G-Expression or string denoting the file name of the initial RAM disk to | 24766 | Ein G-Ausdruck oder eine Zeichenkette, die den Dateinamen der initialen |
| 23430 | use (@pxref{G-Ausdrücke}). | 24767 | RAM-Disk angibt, die benutzt werden soll (siehe @ref{G-Ausdrücke}). |
| 23431 | @item @code{device} (default: @code{#f}) | 24768 | @item @code{device} (Vorgabe: @code{#f}) |
| 23432 | The device where the kernel and initrd are to be found---i.e., for GRUB, | 24769 | Das Gerät, auf dem Kernel und initrd zu finden sind — d.h.@: bei GRUB die |
| 23433 | @dfn{root} for this menu entry (@pxref{root,,, grub, GNU GRUB manual}). | 24770 | Wurzel (@dfn{root}) dieses Menüeintrags (siehe @ref{root,,, grub, GNU GRUB |
| 23434 | 24771 | manual}). | |
| 23435 | This may be a file system label (a string), a file system UUID (a | 24772 | |
| 23436 | bytevector, @pxref{Dateisysteme}), or @code{#f}, in which case the | 24773 | Dies kann eine Dateisystembezeichnung (als Zeichenkette), eine |
| 23437 | bootloader will search the device containing the file specified by the | 24774 | Dateisystem-UUID (als Bytevektor, siehe @ref{Dateisysteme}) oder @code{#f} |
| 23438 | @code{linux} field (@pxref{search,,, grub, GNU GRUB manual}). It must | 24775 | sein, im letzten Fall wird der Bootloader auf dem Gerät suchen, das die vom |
| 23439 | @emph{not} be an OS device name such as @file{/dev/sda1}. | 24776 | @code{linux}-Feld benannte Datei enthält (siehe @ref{search,,, grub, GNU |
| 24777 | GRUB manual}). Ein vom Betriebssystem vergebener Gerätename wie | ||
| 24778 | @file{/dev/sda1} ist aber @emph{nicht} erlaubt. | ||
| 23440 | 24779 | ||
| 23441 | @end table | 24780 | @end table |
| 23442 | @end deftp | 24781 | @end deftp |
| 23443 | 24782 | ||
| 23444 | @c FIXME: Write documentation once it's stable. | 24783 | @c FIXME: Write documentation once it's stable. |
| 23445 | Fow now only GRUB has theme support. GRUB themes are created using the | 24784 | For now only GRUB has theme support. GRUB themes are created using the |
| 23446 | @code{grub-theme} form, which is not documented yet. | 24785 | @code{grub-theme} form, which is not documented yet. |
| 23447 | 24786 | ||
| 23448 | @defvr {Scheme Variable} %default-theme | 24787 | @defvr {Scheme Variable} %default-theme |
| 23449 | This is the default GRUB theme used by the operating system if no | 24788 | Das vorgegebene GRUB-Thema, das vom Betriebssystem benutzt wird, wenn kein |
| 23450 | @code{theme} field is specified in @code{bootloader-configuration} record. | 24789 | @code{theme}-Feld im @code{bootloader-configuration}-Verbundsobjekt |
| 24790 | angegeben wurde. | ||
| 23451 | 24791 | ||
| 23452 | It comes with a fancy background image displaying the GNU and Guix logos. | 24792 | Es wird von einem feschen Hintergrundbild begleitet, das die Logos von GNU |
| 24793 | und Guix zeigt. | ||
| 23453 | @end defvr | 24794 | @end defvr |
| 23454 | 24795 | ||
| 23455 | 24796 | ||
| @@ -23505,27 +24846,28 @@ relevance: 2 | |||
| 23505 | 24846 | ||
| 23506 | Wie auch bei @command{guix package --search} wird das Ergebnis im | 24847 | Wie auch bei @command{guix package --search} wird das Ergebnis im |
| 23507 | @code{recutils}-Format geliefert, so dass es leicht ist, die Ausgabe zu | 24848 | @code{recutils}-Format geliefert, so dass es leicht ist, die Ausgabe zu |
| 23508 | filtern (@pxref{Top, GNU recutils databases,, recutils, GNU recutils | 24849 | filtern (siehe @ref{Top, GNU recutils databases,, recutils, GNU recutils |
| 23509 | manual}). | 24850 | manual}). |
| 23510 | 24851 | ||
| 23511 | @item reconfigure | 24852 | @item reconfigure |
| 23512 | Build the operating system described in @var{file}, activate it, and switch | 24853 | Das in der @var{Datei} beschriebene Betriebssystem erstellen, aktivieren und |
| 23513 | to it@footnote{This action (and the related actions @code{switch-generation} | 24854 | zu ihm wechseln@footnote{Diese Aktion (und die dazu ähnlichen Aktionen |
| 23514 | and @code{roll-back}) are usable only on systems already running Guix | 24855 | @code{switch-generation} und @code{roll-back}) sind nur auf Systemen |
| 23515 | System.}. | 24856 | nutzbar, auf denen »Guix System« bereits läuft.}. |
| 23516 | 24857 | ||
| 23517 | This effects all the configuration specified in @var{file}: user accounts, | 24858 | Dieser Befehl setzt die in der @var{Datei} festgelegte Konfiguration |
| 23518 | system services, global package list, setuid programs, etc. The command | 24859 | vollständig um: Benutzerkonten, Systemdienste, die Liste globaler Pakete, |
| 23519 | starts system services specified in @var{file} that are not currently | 24860 | setuid-Programme und so weiter. Der Befehl startet die in der @var{Datei} |
| 23520 | running; if a service is currently running this command will arrange for it | 24861 | angegebenen Systemdienste, die aktuell nicht laufen; bei aktuell laufenden |
| 23521 | to be upgraded the next time it is stopped (e.g.@: by @code{herd stop X} or | 24862 | Diensten wird sichergestellt, dass sie aktualisiert werden, sobald sie das |
| 24863 | nächste Mal angehalten wurden (z.B.@: durch @code{herd stop X} oder | ||
| 23522 | @code{herd restart X}). | 24864 | @code{herd restart X}). |
| 23523 | 24865 | ||
| 23524 | Dieser Befehl erzeugt eine neue Generation, deren Nummer (wie @command{guix | 24866 | Dieser Befehl erzeugt eine neue Generation, deren Nummer (wie @command{guix |
| 23525 | system list-generations} sie anzeigt) um eins größer als die der aktuellen | 24867 | system list-generations} sie anzeigt) um eins größer als die der aktuellen |
| 23526 | Generation ist. Wenn die so nummerierte Generation bereits existiert, wird | 24868 | Generation ist. Wenn die so nummerierte Generation bereits existiert, wird |
| 23527 | sie überschrieben. Dieses Verhalten entspricht dem von @command{guix | 24869 | sie überschrieben. Dieses Verhalten entspricht dem von @command{guix |
| 23528 | package} (@pxref{Aufruf von guix package}). | 24870 | package} (siehe @ref{Aufruf von guix package}). |
| 23529 | 24871 | ||
| 23530 | Des Weiteren wird für den Bootloader ein Menüeintrag für die neue | 24872 | Des Weiteren wird für den Bootloader ein Menüeintrag für die neue |
| 23531 | Betriebssystemkonfiguration hinzugefügt, außer die Befehlszeilenoption | 24873 | Betriebssystemkonfiguration hinzugefügt, außer die Befehlszeilenoption |
| @@ -23538,9 +24880,10 @@ notwendig wird. | |||
| 23538 | @c The paragraph below refers to the problem discussed at | 24880 | @c The paragraph below refers to the problem discussed at |
| 23539 | @c <http://lists.gnu.org/archive/html/guix-devel/2014-08/msg00057.html>. | 24881 | @c <http://lists.gnu.org/archive/html/guix-devel/2014-08/msg00057.html>. |
| 23540 | Es ist sehr zu empfehlen, @command{guix pull} einmal auszuführen, bevor Sie | 24882 | Es ist sehr zu empfehlen, @command{guix pull} einmal auszuführen, bevor Sie |
| 23541 | @command{guix system reconfigure} zum ersten Mal aufrufen (@pxref{Aufruf von guix pull}). Wenn Sie das nicht tun, könnten Sie nach dem Abschluss von | 24883 | @command{guix system reconfigure} zum ersten Mal aufrufen (siehe |
| 23542 | @command{reconfigure} eine ältere Version von Guix vorfinden, als Sie vorher | 24884 | @ref{Aufruf von guix pull}). Wenn Sie das nicht tun, könnten Sie nach dem |
| 23543 | hatten. | 24885 | Abschluss von @command{reconfigure} eine ältere Version von Guix vorfinden, |
| 24886 | als Sie vorher hatten. | ||
| 23544 | @end quotation | 24887 | @end quotation |
| 23545 | 24888 | ||
| 23546 | @item switch-generation | 24889 | @item switch-generation |
| @@ -23600,30 +24943,33 @@ diese Aktion aufgerufen haben, Ihr System neu starten, um die vorhergehende | |||
| 23600 | Systemgeneration auch tatsächlich zu benutzen. | 24943 | Systemgeneration auch tatsächlich zu benutzen. |
| 23601 | 24944 | ||
| 23602 | @item delete-generations | 24945 | @item delete-generations |
| 23603 | @cindex deleting system generations | 24946 | @cindex Löschen von Systemgenerationen |
| 23604 | @cindex saving space | 24947 | @cindex Platz sparen |
| 23605 | Delete system generations, making them candidates for garbage collection | 24948 | Systemgenerationen löschen, wodurch diese zu Kandidaten für den Müllsammler |
| 23606 | (@pxref{Aufruf von guix gc}, for information on how to run the ``garbage | 24949 | werden (siehe @ref{Aufruf von guix gc} für Informationen, wie Sie den |
| 23607 | collector''). | 24950 | »Müllsammler« laufen lassen). |
| 23608 | 24951 | ||
| 23609 | This works in the same way as @command{guix package --delete-generations} | 24952 | Es funktioniert auf die gleiche Weise wie @command{guix package |
| 23610 | (@pxref{Aufruf von guix package, @code{--delete-generations}}). With no | 24953 | --delete-generations} (siehe @ref{Aufruf von guix package, |
| 23611 | arguments, all system generations but the current one are deleted: | 24954 | @code{--delete-generations}}). Wenn keine Argumente angegeben werden, werden |
| 24955 | alle Systemgenerationen außer der aktuellen gelöscht: | ||
| 23612 | 24956 | ||
| 23613 | @example | 24957 | @example |
| 23614 | guix system delete-generations | 24958 | guix system delete-generations |
| 23615 | @end example | 24959 | @end example |
| 23616 | 24960 | ||
| 23617 | You can also select the generations you want to delete. The example below | 24961 | Sie können auch eine Auswahl treffen, welche Generationen Sie löschen |
| 23618 | deletes all the system generations that are more than two month old: | 24962 | möchten. Das folgende Beispiel hat die Löschung aller Systemgenerationen zur |
| 24963 | Folge, die älter als zwei Monate sind: | ||
| 23619 | 24964 | ||
| 23620 | @example | 24965 | @example |
| 23621 | guix system delete-generations 2m | 24966 | guix system delete-generations 2m |
| 23622 | @end example | 24967 | @end example |
| 23623 | 24968 | ||
| 23624 | Running this command automatically reinstalls the bootloader with an updated | 24969 | Wenn Sie diesen Befehl ausführen, wird automatisch der Bootloader mit einer |
| 23625 | list of menu entries---e.g., the ``old generations'' sub-menu in GRUB no | 24970 | aktualisierten Liste von Menüeinträgen neu erstellt — z.B.@: werden im |
| 23626 | longer lists the generations that have been deleted. | 24971 | Untermenü für die »alten Generationen« in GRUB die gelöschten Generationen |
| 24972 | nicht mehr aufgeführt. | ||
| 23627 | 24973 | ||
| 23628 | @item build | 24974 | @item build |
| 23629 | Die Ableitung des Betriebssystems erstellen, einschließlich aller | 24975 | Die Ableitung des Betriebssystems erstellen, einschließlich aller |
| @@ -23631,9 +24977,9 @@ Konfigurationsdateien und Programme, die zum Booten und Starten benötigt | |||
| 23631 | werden. Diese Aktion installiert jedoch nichts davon. | 24977 | werden. Diese Aktion installiert jedoch nichts davon. |
| 23632 | 24978 | ||
| 23633 | @item init | 24979 | @item init |
| 23634 | Populate the given directory with all the files necessary to run the | 24980 | In das angegebene Verzeichnis alle Dateien einfügen, um das in der |
| 23635 | operating system specified in @var{file}. This is useful for first-time | 24981 | @var{Datei} angegebene Betriebssystem starten zu können. Dies ist nützlich |
| 23636 | installations of Guix System. For instance: | 24982 | bei erstmaligen Installationen von »Guix System«. Zum Beispiel: |
| 23637 | 24983 | ||
| 23638 | @example | 24984 | @example |
| 23639 | guix system init my-os-config.scm /mnt | 24985 | guix system init my-os-config.scm /mnt |
| @@ -23643,7 +24989,7 @@ Hiermit werden alle Store-Objekte nach @file{/mnt} kopiert, die von der in | |||
| 23643 | @file{my-os-config.scm} angegebenen Konfiguration vorausgesetzt werden. Dazu | 24989 | @file{my-os-config.scm} angegebenen Konfiguration vorausgesetzt werden. Dazu |
| 23644 | gehören Konfigurationsdateien, Pakete und so weiter. Auch andere essenzielle | 24990 | gehören Konfigurationsdateien, Pakete und so weiter. Auch andere essenzielle |
| 23645 | Dateien, die auf dem System vorhanden sein müssen, damit es richtig | 24991 | Dateien, die auf dem System vorhanden sein müssen, damit es richtig |
| 23646 | funktioniert, werden erzeugt — z.B. die Verzeichnisse @file{/etc}, | 24992 | funktioniert, werden erzeugt — z.B.@: die Verzeichnisse @file{/etc}, |
| 23647 | @file{/var} und @file{/run} und die Datei @file{/bin/sh}. | 24993 | @file{/var} und @file{/run} und die Datei @file{/bin/sh}. |
| 23648 | 24994 | ||
| 23649 | Dieser Befehl installiert auch den Bootloader auf dem in @file{my-os-config} | 24995 | Dieser Befehl installiert auch den Bootloader auf dem in @file{my-os-config} |
| @@ -23654,20 +25000,23 @@ wurde übergeben. | |||
| 23654 | @cindex virtuelle Maschine | 25000 | @cindex virtuelle Maschine |
| 23655 | @cindex VM | 25001 | @cindex VM |
| 23656 | @anchor{guix system vm} | 25002 | @anchor{guix system vm} |
| 23657 | Build a virtual machine that contains the operating system declared in | 25003 | Eine virtuelle Maschine (VM) erstellen, die das in der @var{Datei} |
| 23658 | @var{file}, and return a script to run that virtual machine (VM). | 25004 | deklarierte Betriebssystem enthält, und ein Skript liefern, das diese |
| 25005 | virtuelle Maschine startet. | ||
| 23659 | 25006 | ||
| 23660 | @quotation Anmerkung | 25007 | @quotation Anmerkung |
| 23661 | The @code{vm} action and others below can use KVM support in the Linux-libre | 25008 | Die Aktion @code{vm} sowie solche, die weiter unten genannt werden, können |
| 23662 | kernel. Specifically, if the machine has hardware virtualization support, | 25009 | KVM-Unterstützung im Kernel Linux-libre ausnutzen. Insbesondere sollte, wenn |
| 23663 | the corresponding KVM kernel module should be loaded, and the | 25010 | die Maschine Hardware-Virtualisierung unterstützt, das entsprechende |
| 23664 | @file{/dev/kvm} device node must exist and be readable and writable by the | 25011 | KVM-Kernelmodul geladen sein und das Gerät @file{/dev/kvm} muss dann |
| 23665 | user and by the build users of the daemon (@pxref{Einrichten der Erstellungsumgebung}). | 25012 | existieren und dem Benutzer und den Erstellungsbenutzern des Daemons müssen |
| 25013 | Berechtigungen zum Lesen und Schreiben darauf gegeben werden (siehe | ||
| 25014 | @ref{Einrichten der Erstellungsumgebung}). | ||
| 23666 | @end quotation | 25015 | @end quotation |
| 23667 | 25016 | ||
| 23668 | Arguments given to the script are passed to QEMU as in the example below, | 25017 | An das Skript übergebene Argumente werden an QEMU weitergereicht, wie Sie am |
| 23669 | which enables networking and requests 1@tie{}GiB of RAM for the emulated | 25018 | folgenden Beispiel sehen können. Damit würde eine Netzwerkverbindung |
| 23670 | machine: | 25019 | aktiviert und 1@tie{}GiB an RAM für die emulierte Maschine angefragt: |
| 23671 | 25020 | ||
| 23672 | @example | 25021 | @example |
| 23673 | $ /gnu/store/@dots{}-run-vm.sh -m 1024 -net user | 25022 | $ /gnu/store/@dots{}-run-vm.sh -m 1024 -net user |
| @@ -23722,9 +25071,10 @@ Sie können den Dateisystemtyp für das Wurzeldateisystem mit der | |||
| 23722 | Befehlszeilenoption @option{--file-system-type} festlegen. Vorgegeben ist, | 25071 | Befehlszeilenoption @option{--file-system-type} festlegen. Vorgegeben ist, |
| 23723 | @code{ext4} zu verwenden. | 25072 | @code{ext4} zu verwenden. |
| 23724 | 25073 | ||
| 23725 | When using @code{vm-image}, the returned image is in qcow2 format, which the | 25074 | Wenn Sie ein @code{vm-image} anfordern, ist das gelieferte Disk-Image im |
| 23726 | QEMU emulator can efficiently use. @xref{Running Guix in a VM}, for more | 25075 | qcow2-Format, was vom QEMU-Emulator effizient benutzt werden kann. Im |
| 23727 | information on how to run the image in a virtual machine. | 25076 | Abschnitt @ref{Guix in einer VM starten} finden Sie mehr Informationen, wie Sie |
| 25077 | das Disk-Image in einer virtuellen Maschine laufen lassen. | ||
| 23728 | 25078 | ||
| 23729 | Wenn Sie ein @code{disk-image} anfordern, wird ein rohes Disk-Image | 25079 | Wenn Sie ein @code{disk-image} anfordern, wird ein rohes Disk-Image |
| 23730 | hergestellt; es kann zum Beispiel auf einen USB-Stick kopiert | 25080 | hergestellt; es kann zum Beispiel auf einen USB-Stick kopiert |
| @@ -23744,19 +25094,20 @@ haben. Sie können das Abbild dann wie folgt laden und einen Docker-Container | |||
| 23744 | damit erzeugen: | 25094 | damit erzeugen: |
| 23745 | 25095 | ||
| 23746 | @example | 25096 | @example |
| 23747 | image_id="$(docker load < guixsd-docker-image.tar.gz)" | 25097 | image_id="$(docker load < guix-system-docker-image.tar.gz)" |
| 23748 | docker run -e GUIX_NEW_SYSTEM=/var/guix/profiles/system \\ | 25098 | docker run -e GUIX_NEW_SYSTEM=/var/guix/profiles/system \\ |
| 23749 | --entrypoint /var/guix/profiles/system/profile/bin/guile \\ | 25099 | --entrypoint /var/guix/profiles/system/profile/bin/guile \\ |
| 23750 | $image_id /var/guix/profiles/system/boot | 25100 | $image_id /var/guix/profiles/system/boot |
| 23751 | @end example | 25101 | @end example |
| 23752 | 25102 | ||
| 23753 | This command starts a new Docker container from the specified image. It | 25103 | Dieser Befehl startet einen neuen Docker-Container aus dem angegebenen |
| 23754 | will boot the Guix system in the usual manner, which means it will start any | 25104 | Abbild. Damit wird das Guix-System auf die normale Weise hochgefahren, |
| 23755 | services you have defined in the operating system configuration. Depending | 25105 | d.h.@: zunächst werden alle Dienste gestartet, die Sie in der Konfiguration |
| 23756 | on what you run in the Docker container, it may be necessary to give the | 25106 | des Betriebssystems angegeben haben. Je nachdem, was Sie im Docker-Container |
| 23757 | container additional permissions. For example, if you intend to build | 25107 | ausführen, kann es nötig sein, dass Sie ihn mit weitergehenden |
| 23758 | software using Guix inside of the Docker container, you may need to pass the | 25108 | Berechtigungen ausstatten. Wenn Sie zum Beispiel Software mit Guix innerhalb |
| 23759 | @option{--privileged} option to @code{docker run}. | 25109 | des Docker-Containers erstellen wollen, müssen Sie an @code{docker run} die |
| 25110 | Befehlszeilenoption @option{--privileged} übergeben. | ||
| 23760 | 25111 | ||
| 23761 | @item container | 25112 | @item container |
| 23762 | Liefert ein Skript, um das in der @var{Datei} deklarierte Betriebssystem in | 25113 | Liefert ein Skript, um das in der @var{Datei} deklarierte Betriebssystem in |
| @@ -23772,7 +25123,7 @@ Zur Zeit muss das Skript als Administratornutzer »root« ausgeführt werden, | |||
| 23772 | damit darin mehr als nur ein einzelner Benutzer und eine Benutzergruppe | 25123 | damit darin mehr als nur ein einzelner Benutzer und eine Benutzergruppe |
| 23773 | unterstützt wird. Der Container teilt seinen Store mit dem Wirtssystem. | 25124 | unterstützt wird. Der Container teilt seinen Store mit dem Wirtssystem. |
| 23774 | 25125 | ||
| 23775 | Wie bei der Aktion @code{vm} (@pxref{guix system vm}) können zusätzlich | 25126 | Wie bei der Aktion @code{vm} (siehe @ref{guix system vm}) können zusätzlich |
| 23776 | weitere Dateisysteme zwischen Wirt und Container geteilt werden, indem man | 25127 | weitere Dateisysteme zwischen Wirt und Container geteilt werden, indem man |
| 23777 | die Befehlszeilenoptionen @option{--share} und @option{--expose} verwendet: | 25128 | die Befehlszeilenoptionen @option{--share} und @option{--expose} verwendet: |
| 23778 | 25129 | ||
| @@ -23788,21 +25139,22 @@ Diese Befehlszeilenoption funktioniert nur mit Linux-libre 3.19 oder neuer. | |||
| 23788 | @end table | 25139 | @end table |
| 23789 | 25140 | ||
| 23790 | Unter den @var{Optionen} können beliebige gemeinsame Erstellungsoptionen | 25141 | Unter den @var{Optionen} können beliebige gemeinsame Erstellungsoptionen |
| 23791 | aufgeführt werden (siehe @pxref{Gemeinsame Erstellungsoptionen}). Des Weiteren kann | 25142 | aufgeführt werden (siehe @ref{Gemeinsame Erstellungsoptionen}). Des Weiteren kann als |
| 23792 | als @var{Optionen} Folgendes angegeben werden: | 25143 | @var{Optionen} Folgendes angegeben werden: |
| 23793 | 25144 | ||
| 23794 | @table @option | 25145 | @table @option |
| 23795 | @item --expression=@var{Ausdruck} | 25146 | @item --expression=@var{Ausdruck} |
| 23796 | @itemx -e @var{Ausdruck} | 25147 | @itemx -e @var{Ausdruck} |
| 23797 | Consider the operating-system @var{expr} evaluates to. This is an | 25148 | Als Konfiguration des Betriebssystems das »operating-system« betrachten, zu |
| 23798 | alternative to specifying a file which evaluates to an operating system. | 25149 | dem der @var{Ausdruck} ausgewertet wird. Dies ist eine Alternative dazu, die |
| 23799 | This is used to generate the Guix system installer @pxref{Ein Abbild zur Installation erstellen}). | 25150 | Konfiguration in einer Datei festzulegen. Hiermit wird auch das |
| 25151 | Installationsabbild des Guix-Systems erstellt, siehe @ref{Ein Abbild zur Installation erstellen}). | ||
| 23800 | 25152 | ||
| 23801 | @item --system=@var{System} | 25153 | @item --system=@var{System} |
| 23802 | @itemx -s @var{System} | 25154 | @itemx -s @var{System} |
| 23803 | Versuche, für das angegebene @var{System} statt für denselben Systemtyp wie | 25155 | Versuche, für das angegebene @var{System} statt für denselben Systemtyp wie |
| 23804 | auf dem Wirtssystem zu erstellen. Dies funktioniert wie bei @command{guix | 25156 | auf dem Wirtssystem zu erstellen. Dies funktioniert wie bei @command{guix |
| 23805 | build} (@pxref{Aufruf von guix build}). | 25157 | build} (siehe @ref{Aufruf von guix build}). |
| 23806 | 25158 | ||
| 23807 | @item --derivation | 25159 | @item --derivation |
| 23808 | @itemx -d | 25160 | @itemx -d |
| @@ -23810,7 +25162,7 @@ Liefert den Namen der Ableitungsdatei für das angegebene Betriebssystem, | |||
| 23810 | ohne dazu etwas zu erstellen. | 25162 | ohne dazu etwas zu erstellen. |
| 23811 | 25163 | ||
| 23812 | @item --file-system-type=@var{Typ} | 25164 | @item --file-system-type=@var{Typ} |
| 23813 | @itemx -t @var{type} | 25165 | @itemx -t @var{Typ} |
| 23814 | Für die Aktion @code{disk-image} wird hiermit ein Dateisystem des | 25166 | Für die Aktion @code{disk-image} wird hiermit ein Dateisystem des |
| 23815 | angegebenen @var{Typ}s im Abbild bzw. Disk-Image erzeugt. | 25167 | angegebenen @var{Typ}s im Abbild bzw. Disk-Image erzeugt. |
| 23816 | 25168 | ||
| @@ -23827,17 +25179,17 @@ für das Brennen auf CDs und DVDs geeignet ist. | |||
| 23827 | Für die Aktionen @code{vm-image} und @code{disk-image} wird hiermit | 25179 | Für die Aktionen @code{vm-image} und @code{disk-image} wird hiermit |
| 23828 | festgelegt, dass ein Abbild der angegebenen @var{Größe} erstellt werden | 25180 | festgelegt, dass ein Abbild der angegebenen @var{Größe} erstellt werden |
| 23829 | soll. Die @var{Größe} kann als Zahl die Anzahl Bytes angeben oder mit einer | 25181 | soll. Die @var{Größe} kann als Zahl die Anzahl Bytes angeben oder mit einer |
| 23830 | Einheit als Suffix versehen werden (siehe @pxref{Block size, size | 25182 | Einheit als Suffix versehen werden (siehe @ref{Block size, size |
| 23831 | specifications,, coreutils, GNU Coreutils}). | 25183 | specifications,, coreutils, GNU Coreutils}). |
| 23832 | 25184 | ||
| 23833 | Wird keine solche Befehlszeilenoption angegeben, berechnet @command{guix | 25185 | Wird keine solche Befehlszeilenoption angegeben, berechnet @command{guix |
| 23834 | system} eine Schätzung der Abbildgröße anhand der Größe des in der | 25186 | system} eine Schätzung der Abbildgröße anhand der Größe des in der |
| 23835 | @var{Datei} deklarierten Systems. | 25187 | @var{Datei} deklarierten Systems. |
| 23836 | 25188 | ||
| 23837 | @item --root=@var{file} | 25189 | @item --root=@var{Datei} |
| 23838 | @itemx -r @var{file} | 25190 | @itemx -r @var{Datei} |
| 23839 | Make @var{file} a symlink to the result, and register it as a garbage | 25191 | Die @var{Datei} zu einer symbolischen Verknüpfung auf das Ergebnis machen |
| 23840 | collector root. | 25192 | und als Müllsammlerwurzel registrieren. |
| 23841 | 25193 | ||
| 23842 | @item --skip-checks | 25194 | @item --skip-checks |
| 23843 | Die Konfiguration @emph{nicht} vor der Installation zur Sicherheit auf | 25195 | Die Konfiguration @emph{nicht} vor der Installation zur Sicherheit auf |
| @@ -23847,14 +25199,14 @@ Das vorgegebene Verhalten von @command{guix system init} und @command{guix | |||
| 23847 | system reconfigure} sieht vor, die Konfiguration zur Sicherheit auf Fehler | 25199 | system reconfigure} sieht vor, die Konfiguration zur Sicherheit auf Fehler |
| 23848 | hin zu überprüfen, die ihr Autor übersehen haben könnte: Es wird | 25200 | hin zu überprüfen, die ihr Autor übersehen haben könnte: Es wird |
| 23849 | sichergestellt, dass die in der @code{operating-system}-Deklaration | 25201 | sichergestellt, dass die in der @code{operating-system}-Deklaration |
| 23850 | erwähnten Dateisysteme tatsächlich existieren (@pxref{Dateisysteme}) und | 25202 | erwähnten Dateisysteme tatsächlich existieren (siehe @ref{Dateisysteme}) und |
| 23851 | dass alle Linux-Kernelmodule, die beim Booten benötigt werden könnten, auch | 25203 | dass alle Linux-Kernelmodule, die beim Booten benötigt werden könnten, auch |
| 23852 | im @code{initrd-modules}-Feld aufgeführt sind (@pxref{Initiale RAM-Disk}). Mit dieser Befehlszeilenoption werden diese Tests allesamt | 25204 | im @code{initrd-modules}-Feld aufgeführt sind (siehe @ref{Initiale RAM-Disk}). Mit dieser Befehlszeilenoption werden diese Tests allesamt |
| 23853 | übersprungen. | 25205 | übersprungen. |
| 23854 | 25206 | ||
| 23855 | @cindex on-error | 25207 | @cindex on-error |
| 23856 | @cindex on-error strategy | 25208 | @cindex on-error-Strategie |
| 23857 | @cindex error strategy | 25209 | @cindex Fehlerstrategie |
| 23858 | @item --on-error=@var{Strategie} | 25210 | @item --on-error=@var{Strategie} |
| 23859 | Beim Auftreten eines Fehlers beim Einlesen der @var{Datei} die angegebene | 25211 | Beim Auftreten eines Fehlers beim Einlesen der @var{Datei} die angegebene |
| 23860 | @var{Strategie} verfolgen. Als @var{Strategie} dient eine der Folgenden: | 25212 | @var{Strategie} verfolgen. Als @var{Strategie} dient eine der Folgenden: |
| @@ -23874,15 +25226,15 @@ gestartet. Von dort können Sie Befehle ausführen, zum Beispiel können Sie | |||
| 23874 | sich mit @code{,bt} eine Rückverfolgung (»Backtrace«) anzeigen lassen und | 25226 | sich mit @code{,bt} eine Rückverfolgung (»Backtrace«) anzeigen lassen und |
| 23875 | mit @code{,locals} die Werte lokaler Variabler anzeigen lassen. Im | 25227 | mit @code{,locals} die Werte lokaler Variabler anzeigen lassen. Im |
| 23876 | Allgemeinen können Sie mit Befehlen den Zustand des Programms | 25228 | Allgemeinen können Sie mit Befehlen den Zustand des Programms |
| 23877 | inspizieren. Siehe @xref{Debug Commands,,, guile, GNU Guile Reference | 25229 | inspizieren. Siehe @ref{Debug Commands,,, guile, GNU Guile Reference Manual} |
| 23878 | Manual} für eine Liste verfügbarer Befehle zur Fehlersuche. | 25230 | für eine Liste verfügbarer Befehle zur Fehlersuche. |
| 23879 | @end table | 25231 | @end table |
| 23880 | @end table | 25232 | @end table |
| 23881 | 25233 | ||
| 23882 | Once you have built, configured, re-configured, and re-re-configured your | 25234 | Sobald Sie Ihre Guix-Installation erstellt, konfiguriert, neu konfiguriert |
| 23883 | Guix installation, you may find it useful to list the operating system | 25235 | und nochmals neu konfiguriert haben, finden Sie es vielleicht hilfreich, |
| 23884 | generations available on disk---and that you can choose from the bootloader | 25236 | sich die auf der Platte verfügbaren — und im Bootmenü des Bootloaders |
| 23885 | boot menu: | 25237 | auswählbaren — Systemgenerationen auflisten zu lassen: |
| 23886 | 25238 | ||
| 23887 | @table @code | 25239 | @table @code |
| 23888 | 25240 | ||
| @@ -23890,7 +25242,7 @@ boot menu: | |||
| 23890 | Eine für Menschen verständliche Zusammenfassung jeder auf der Platte | 25242 | Eine für Menschen verständliche Zusammenfassung jeder auf der Platte |
| 23891 | verfügbaren Generation des Betriebssystems ausgeben. Dies ähnelt der | 25243 | verfügbaren Generation des Betriebssystems ausgeben. Dies ähnelt der |
| 23892 | Befehlszeilenoption @option{--list-generations} von @command{guix package} | 25244 | Befehlszeilenoption @option{--list-generations} von @command{guix package} |
| 23893 | (@pxref{Aufruf von guix package}). | 25245 | (siehe @ref{Aufruf von guix package}). |
| 23894 | 25246 | ||
| 23895 | Optional kann ein Muster angegeben werden, was dieselbe Syntax wie | 25247 | Optional kann ein Muster angegeben werden, was dieselbe Syntax wie |
| 23896 | @command{guix package --list-generations} benutzt, um damit die Liste | 25248 | @command{guix package --list-generations} benutzt, um damit die Liste |
| @@ -23913,7 +25265,7 @@ voneinander abhängen: | |||
| 23913 | @item extension-graph | 25265 | @item extension-graph |
| 23914 | Im Dot-/Graphviz-Format auf die Standardausgabe den | 25266 | Im Dot-/Graphviz-Format auf die Standardausgabe den |
| 23915 | @dfn{Diensterweiterungsgraphen} des in der @var{Datei} definierten | 25267 | @dfn{Diensterweiterungsgraphen} des in der @var{Datei} definierten |
| 23916 | Betriebssystems ausgeben (@pxref{Dienstkompositionen}, für mehr | 25268 | Betriebssystems ausgeben (siehe @ref{Dienstkompositionen} für mehr |
| 23917 | Informationen zu Diensterweiterungen). | 25269 | Informationen zu Diensterweiterungen). |
| 23918 | 25270 | ||
| 23919 | Der Befehl: | 25271 | Der Befehl: |
| @@ -23929,28 +25281,30 @@ angezeigt wird. | |||
| 23929 | @item shepherd-graph | 25281 | @item shepherd-graph |
| 23930 | Im Dot-/Graphviz-Format auf die Standardausgabe den | 25282 | Im Dot-/Graphviz-Format auf die Standardausgabe den |
| 23931 | @dfn{Abhängigkeitsgraphen} der Shepherd-Dienste des in der @var{Datei} | 25283 | @dfn{Abhängigkeitsgraphen} der Shepherd-Dienste des in der @var{Datei} |
| 23932 | definierten Betriebssystems ausgeben. Siehe @xref{Shepherd-Dienste} für | 25284 | definierten Betriebssystems ausgeben. Siehe @ref{Shepherd-Dienste} für mehr |
| 23933 | mehr Informationen sowie einen Beispielgraphen. | 25285 | Informationen sowie einen Beispielgraphen. |
| 23934 | 25286 | ||
| 23935 | @end table | 25287 | @end table |
| 23936 | 25288 | ||
| 23937 | @node Running Guix in a VM | 25289 | @node Guix in einer VM starten |
| 23938 | @section Running Guix in a Virtual Machine | 25290 | @section Guix in einer virtuellen Maschine betreiben |
| 23939 | 25291 | ||
| 23940 | @cindex virtuelle Maschine | 25292 | @cindex virtuelle Maschine |
| 23941 | To run Guix in a virtual machine (VM), one can either use the pre-built Guix | 25293 | Um Guix in einer virtuellen Maschine (VM) auszuführen, können Sie entweder |
| 23942 | VM image distributed at | 25294 | das vorerstellte Guix-VM-Abbild benutzen, das auf |
| 23943 | @indicateurl{https://alpha.gnu.org/gnu/guix/guixsd-vm-image-@value{VERSION}.@var{system}.xz} | 25295 | @indicateurl{https://alpha.gnu.org/gnu/guix/guix-system-vm-image-@value{VERSION}.@var{System}.xz} |
| 23944 | , or build their own virtual machine image using @command{guix system | 25296 | angeboten wird, oder Ihr eigenes Abbild erstellen, indem Sie @command{guix |
| 23945 | vm-image} (@pxref{Aufruf von guix system}). The returned image is in qcow2 | 25297 | system vm-image} benutzen (siehe @ref{Aufruf von guix system}). Das Abbild |
| 23946 | format, which the @uref{http://qemu.org/, QEMU emulator} can efficiently | 25298 | wird im qcow2-Format zurückgeliefert, das der @uref{http://qemu.org/, |
| 23947 | use. | 25299 | QEMU-Emulator} effizient benutzen kann. |
| 23948 | 25300 | ||
| 23949 | @cindex QEMU | 25301 | @cindex QEMU |
| 23950 | If you built your own image, you must copy it out of the store (@pxref{Der Store}) and give yourself permission to write to the copy before you can use | 25302 | Wenn Sie Ihr eigenes Abbild erstellen haben lassen, müssen Sie es aus dem |
| 23951 | it. When invoking QEMU, you must choose a system emulator that is suitable | 25303 | Store herauskopieren (siehe @ref{Der Store}) und sich darauf |
| 23952 | for your hardware platform. Here is a minimal QEMU invocation that will | 25304 | Schreibberechtigung geben, um die Kopie benutzen zu können. Wenn Sie QEMU |
| 23953 | boot the result of @command{guix system vm-image} on x86_64 hardware: | 25305 | aufrufen, müssen Sie einen Systememulator angeben, der für Ihre |
| 25306 | Hardware-Plattform passend ist. Hier ist ein minimaler QEMU-Aufruf, der das | ||
| 25307 | Ergebnis von @command{guix system vm-image} auf x86_64-Hardware bootet: | ||
| 23954 | 25308 | ||
| 23955 | @example | 25309 | @example |
| 23956 | $ qemu-system-x86_64 \ | 25310 | $ qemu-system-x86_64 \ |
| @@ -23958,84 +25312,99 @@ $ qemu-system-x86_64 \ | |||
| 23958 | -enable-kvm -m 256 /tmp/qemu-image | 25312 | -enable-kvm -m 256 /tmp/qemu-image |
| 23959 | @end example | 25313 | @end example |
| 23960 | 25314 | ||
| 23961 | Here is what each of these options means: | 25315 | Die Bedeutung jeder dieser Befehlszeilenoptionen ist folgende: |
| 23962 | 25316 | ||
| 23963 | @table @code | 25317 | @table @code |
| 23964 | @item qemu-system-x86_64 | 25318 | @item qemu-system-x86_64 |
| 23965 | This specifies the hardware platform to emulate. This should match the | 25319 | Hiermit wird die zu emulierende Hardware-Plattform angegeben. Sie sollte zum |
| 23966 | host. | 25320 | Wirtsrechner passen. |
| 23967 | 25321 | ||
| 23968 | @item -net user | 25322 | @item -net user |
| 23969 | Enable the unprivileged user-mode network stack. The guest OS can access | 25323 | Den als Nutzer ausgeführten Netzwerkstapel (»User-Mode Network Stack«) ohne |
| 23970 | the host but not vice versa. This is the simplest way to get the guest OS | 25324 | besondere Berechtigungen benutzen. Mit dieser Art von Netzwerkanbindung kann |
| 23971 | online. | 25325 | das Gast-Betriebssystem eine Verbindung zum Wirt aufbauen, aber nicht |
| 25326 | andersherum. Es ist die einfachste Art, das Gast-Betriebssystem mit dem | ||
| 25327 | Internet zu verbinden. | ||
| 23972 | 25328 | ||
| 23973 | @item -net nic,model=virtio | 25329 | @item -net nic,model=virtio |
| 23974 | You must create a network interface of a given model. If you do not create | 25330 | Sie müssen ein Modell einer zu emulierenden Netzwerkschnittstelle |
| 23975 | a NIC, the boot will fail. Assuming your hardware platform is x86_64, you | 25331 | angeben. Wenn Sie keine Netzwerkkarte (englisch »Network Interface Card«, |
| 23976 | can get a list of available NIC models by running | 25332 | kurz NIC) erzeugen lassen, wird das Booten fehlschlagen. Falls Ihre |
| 23977 | @command{qemu-system-x86_64 -net nic,model=help}. | 25333 | Hardware-Plattform x86_64 ist, können Sie eine Liste verfügbarer NIC-Modelle |
| 25334 | einsehen, indem Sie @command{qemu-system-x86_64 -net nic,model=help} | ||
| 25335 | ausführen. | ||
| 23978 | 25336 | ||
| 23979 | @item -enable-kvm | 25337 | @item -enable-kvm |
| 23980 | If your system has hardware virtualization extensions, enabling the virtual | 25338 | Wenn Ihr System über Erweiterungen zur Hardware-Virtualisierung verfügt, |
| 23981 | machine support (KVM) of the Linux kernel will make things run faster. | 25339 | beschleunigt es die Dinge, wenn Sie die Virtualisierungsunterstützung »KVM« |
| 25340 | des Linux-Kernels benutzen lassen. | ||
| 23982 | 25341 | ||
| 23983 | @item -m 256 | 25342 | @item -m 256 |
| 23984 | RAM available to the guest OS, in mebibytes. Defaults to 128@tie{}MiB, | 25343 | Die Menge an Arbeitsspeicher (RAM), die dem Gastbetriebssystem zur Verfügung |
| 23985 | which may be insufficient for some operations. | 25344 | stehen soll, in Mebibytes. Vorgegeben wären 128@tie{}MiB, was für einige |
| 25345 | Operationen zu wenig sein könnte. | ||
| 23986 | 25346 | ||
| 23987 | @item /tmp/qemu-image | 25347 | @item /tmp/qemu-image |
| 23988 | The file name of the qcow2 image. | 25348 | Der Dateiname des qcow2-Abbilds. |
| 23989 | @end table | 25349 | @end table |
| 23990 | 25350 | ||
| 23991 | The default @command{run-vm.sh} script that is returned by an invocation of | 25351 | Das voreingestellte @command{run-vm.sh}-Skript, das durch einen Aufruf von |
| 23992 | @command{guix system vm} does not add a @command{-net user} flag by | 25352 | @command{guix system vm} erzeugt wird, fügt keine Befehlszeilenoption |
| 23993 | default. To get network access from within the vm add the | 25353 | @command{-net user} an. Um innerhalb der virtuellen Maschine Netzwerkzugang |
| 23994 | @code{(dhcp-client-service)} to your system definition and start the VM | 25354 | zu haben, fügen Sie den @code{(dhcp-client-service)} zu Ihrer |
| 23995 | using @command{`guix system vm config.scm` -net user}. An important caveat | 25355 | Systemdefinition hinzu und starten Sie die VM mit @command{`guix system vm |
| 23996 | of using @command{-net user} for networking is that @command{ping} will not | 25356 | config.scm` -net user}. Erwähnt werden sollte der Nachteil, dass bei |
| 23997 | work, because it uses the ICMP protocol. You'll have to use a different | 25357 | Verwendung von @command{-net user} zur Netzanbindung der |
| 23998 | command to check for network connectivity, for example @command{guix | 25358 | @command{ping}-Befehl @emph{nicht} funktionieren wird, weil dieser das |
| 23999 | download}. | 25359 | ICMP-Protokoll braucht. Sie werden also einen anderen Befehl benutzen |
| 25360 | müssen, um auszuprobieren, ob Sie mit dem Netzwerk verbunden sind, zum | ||
| 25361 | Beispiel @command{guix download}. | ||
| 24000 | 25362 | ||
| 24001 | @subsection Connecting Through SSH | 25363 | @subsection Verbinden über SSH |
| 24002 | 25364 | ||
| 24003 | @cindex SSH | 25365 | @cindex SSH |
| 24004 | @cindex SSH server | 25366 | @cindex SSH server |
| 24005 | To enable SSH inside a VM you need to add a SSH server like | 25367 | Um SSH in der virtuellen Maschine zu aktivieren, müssen Sie einen SSH-Server |
| 24006 | @code{(dropbear-service)} or @code{(lsh-service)} to your VM. The | 25368 | wie den @code{(dropbear-service)} oder den @code{(lsh-service)} zu ihr |
| 24007 | @code{(lsh-service}) doesn't currently boot unsupervised. It requires you | 25369 | hinzufügen. Der @code{(lsh-service}) kann derzeit nicht ohne |
| 24008 | to type some characters to initialize the randomness generator. In addition | 25370 | Benutzerinteraktion starten, weil der Benutzer erst ein paar Zeichen |
| 24009 | you need to forward the SSH port, 22 by default, to the host. You can do | 25371 | eintippen muss, um den Zufallsgenerator zu initialisieren. Des Weiteren |
| 24010 | this with | 25372 | müssen Sie den SSH-Port für das Wirtssystem freigeben (standardmäßig hat er |
| 25373 | die Portnummer 22). Das geht zum Beispiel so: | ||
| 24011 | 25374 | ||
| 24012 | @example | 25375 | @example |
| 24013 | `guix system vm config.scm` -net user,hostfwd=tcp::10022-:22 | 25376 | `guix system vm config.scm` -net user,hostfwd=tcp::10022-:22 |
| 24014 | @end example | 25377 | @end example |
| 24015 | 25378 | ||
| 24016 | To connect to the VM you can run | 25379 | Um sich mit der virtuellen Maschine zu verbinden, benutzen Sie diesen |
| 25380 | Befehl: | ||
| 24017 | 25381 | ||
| 24018 | @example | 25382 | @example |
| 24019 | ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022 | 25383 | ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022 |
| 24020 | @end example | 25384 | @end example |
| 24021 | 25385 | ||
| 24022 | The @command{-p} tells @command{ssh} the port you want to connect to. | 25386 | Mit @command{-p} wird @command{ssh} der Port mitgeteilt, über den eine |
| 24023 | @command{-o UserKnownHostsFile=/dev/null} prevents @command{ssh} from | 25387 | Verbindung hergestellt werden soll. @command{-o |
| 24024 | complaining every time you modify your @command{config.scm} file and the | 25388 | UserKnownHostsFile=/dev/null} verhindert, dass @command{ssh} sich bei jeder |
| 24025 | @command{-o StrictHostKeyChecking=no} prevents you from having to allow a | 25389 | Modifikation Ihrer @command{config.scm}-Datei beschwert, ein anderer |
| 24026 | connection to an unknown host every time you connect. | 25390 | bekannter Rechner sei erwartet worden, und @command{-o |
| 25391 | StrictHostKeyChecking=no} verhindert, dass Sie die Verbindung zu unbekannten | ||
| 25392 | Rechnern jedes Mal bestätigen müssen, wenn Sie sich verbinden. | ||
| 24027 | 25393 | ||
| 24028 | @subsection Using @command{virt-viewer} with Spice | 25394 | @subsection @command{virt-viewer} mit Spice benutzen |
| 24029 | 25395 | ||
| 24030 | As an alternative to the default @command{qemu} graphical client you can use | 25396 | Eine Alternative zur grafischen Schnittstelle des standardmäßigen |
| 24031 | the @command{remote-viewer} from the @command{virt-viewer} package. To | 25397 | @command{qemu} ist, sich mit Hilfe des @command{remote-viewer} aus dem Paket |
| 24032 | connect pass the @command{-spice port=5930,disable-ticketing} flag to | 25398 | @command{virt-viewer} zu verbinden. Um eine Verbindung herzustellen, |
| 24033 | @command{qemu}. See previous section for further information on how to do | 25399 | übergeben Sie die Befehlszeilenoption @command{-spice |
| 24034 | this. | 25400 | port=5930,disable-ticketing} an @command{qemu}. Siehe den vorherigen |
| 25401 | Abschnitt für weitere Informationen, wie Sie das übergeben. | ||
| 24035 | 25402 | ||
| 24036 | Spice also allows you to do some nice stuff like share your clipboard with | 25403 | Spice macht es auch möglich, ein paar nette Hilfestellungen zu benutzen, zum |
| 24037 | your VM. To enable that you'll also have to pass the following flags to | 25404 | Beispiel können Sie Ihren Zwischenspeicher zum Kopieren und Einfügen (Ihr |
| 24038 | @command{qemu}: | 25405 | »Clipboard«) mit Ihrer virtuellen Maschine teilen. Um das zu aktivieren, |
| 25406 | werden Sie die folgenden Befehlszeilennoptionen zusätzlich an @command{qemu} | ||
| 25407 | übergeben müssen: | ||
| 24039 | 25408 | ||
| 24040 | @example | 25409 | @example |
| 24041 | -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5 | 25410 | -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5 |
| @@ -24044,14 +25413,15 @@ your VM. To enable that you'll also have to pass the following flags to | |||
| 24044 | name=com.redhat.spice.0 | 25413 | name=com.redhat.spice.0 |
| 24045 | @end example | 25414 | @end example |
| 24046 | 25415 | ||
| 24047 | You'll also need to add the @pxref{Verschiedene Dienste, Spice service}. | 25416 | Sie werden auch den @ref{Verschiedene Dienste, Spice-Dienst} hinzufügen |
| 25417 | müssen. | ||
| 24048 | 25418 | ||
| 24049 | @node Dienste definieren | 25419 | @node Dienste definieren |
| 24050 | @section Dienste definieren | 25420 | @section Dienste definieren |
| 24051 | 25421 | ||
| 24052 | The previous sections show the available services and how one can combine | 25422 | Der vorhergehende Abschnitt präsentiert die verfügbaren Dienste und wie man |
| 24053 | them in an @code{operating-system} declaration. But how do we define them | 25423 | sie in einer @code{operating-system}-Deklaration kombiniert. Aber wie |
| 24054 | in the first place? And what is a service anyway? | 25424 | definieren wir solche Dienste eigentlich? Und was ist überhaupt ein Dienst? |
| 24055 | 25425 | ||
| 24056 | @menu | 25426 | @menu |
| 24057 | * Dienstkompositionen:: Wie Dienste zusammengestellt werden. | 25427 | * Dienstkompositionen:: Wie Dienste zusammengestellt werden. |
| @@ -24064,62 +25434,67 @@ in the first place? And what is a service anyway? | |||
| 24064 | @subsection Dienstkompositionen | 25434 | @subsection Dienstkompositionen |
| 24065 | 25435 | ||
| 24066 | @cindex services | 25436 | @cindex services |
| 24067 | @cindex daemons | 25437 | @cindex Daemons |
| 24068 | Here we define a @dfn{service} as, broadly, something that extends the | 25438 | Wir definieren hier einen @dfn{Dienst} (englisch »Service«) als, grob |
| 24069 | functionality of the operating system. Often a service is a process---a | 25439 | gesagt, etwas, das die Funktionalität des Betriebssystems erweitert. Oft ist |
| 24070 | @dfn{daemon}---started when the system boots: a secure shell server, a Web | 25440 | ein Dienst ein Prozess — ein sogenannter @dfn{Daemon} —, der beim Hochfahren |
| 24071 | server, the Guix build daemon, etc. Sometimes a service is a daemon whose | 25441 | des Systems gestartet wird: ein Secure-Shell-Server, ein Web-Server, der |
| 24072 | execution can be triggered by another daemon---e.g., an FTP server started | 25442 | Guix-Erstellungsdaemon usw. Manchmal ist ein Dienst ein Daemon, dessen |
| 24073 | by @command{inetd} or a D-Bus service activated by @command{dbus-daemon}. | 25443 | Ausführung von einem anderen Daemon ausgelöst wird — zum Beispiel wird ein |
| 24074 | Occasionally, a service does not map to a daemon. For instance, the | 25444 | FTP-Server von @command{inetd} gestartet oder ein D-Bus-Dienst durch |
| 24075 | ``account'' service collects user accounts and makes sure they exist when | 25445 | @command{dbus-daemon} aktiviert. Manchmal entspricht ein Dienst aber auch |
| 24076 | the system runs; the ``udev'' service collects device management rules and | 25446 | keinem Daemon. Zum Beispiel nimmt sich der Benutzerkonten-Dienst (»account |
| 24077 | makes them available to the eudev daemon; the @file{/etc} service populates | 25447 | service«) die Benutzerkonten und sorgt dafür, dass sie existieren, wenn das |
| 24078 | the @file{/etc} directory of the system. | 25448 | System läuft. Der »udev«-Dienst sammelt die Regeln zur Geräteverwaltung an |
| 24079 | 25449 | und macht diese für den eudev-Daemon verfügbar. Der @file{/etc}-Dienst fügt | |
| 24080 | @cindex service extensions | 25450 | Dateien in das Verzeichnis @file{/etc} des Systems ein. |
| 24081 | Guix system services are connected by @dfn{extensions}. For instance, the | 25451 | |
| 24082 | secure shell service @emph{extends} the Shepherd---the initialization | 25452 | @cindex Diensterweiterungen |
| 24083 | system, running as PID@tie{}1---by giving it the command lines to start and | 25453 | Dienste des Guix-Systems werden durch @dfn{Erweiterungen} (»Extensions«) |
| 24084 | stop the secure shell daemon (@pxref{Netzwerkdienste, | 25454 | miteinander verbunden. Zum Beispiel @emph{erweitert} der Secure-Shell-Dienst |
| 24085 | @code{openssh-service-type}}); the UPower service extends the D-Bus service | 25455 | den Shepherd — Shepherd ist das Initialisierungssystem (auch »init«-System |
| 24086 | by passing it its @file{.service} specification, and extends the udev | 25456 | genannt), was als PID@tie{}1 läuft —, indem es ihm die Befehlszeilen zum |
| 24087 | service by passing it device management rules (@pxref{Desktop-Dienste, | 25457 | Starten und Stoppen des Secure-Shell-Daemons übergibt (siehe @ref{Netzwerkdienste, @code{openssh-service-type}}). Der UPower-Dienst erweitert den |
| 24088 | @code{upower-service}}); the Guix daemon service extends the Shepherd by | 25458 | D-Bus-Dienst, indem es ihm seine @file{.service}-Spezifikation übergibt, und |
| 24089 | passing it the command lines to start and stop the daemon, and extends the | 25459 | erweitert den udev-Dienst, indem es ihm Geräteverwaltungsregeln übergibt |
| 24090 | account service by passing it a list of required build user accounts | 25460 | (siehe @ref{Desktop-Dienste, @code{upower-service}}). Der |
| 24091 | (@pxref{Basisdienste}). | 25461 | Guix-Daemon-Dienst erweitert den Shepherd, indem er ihm die Befehlszeilen |
| 24092 | 25462 | zum Starten und Stoppen des Daemons übergibt, und er erweitert den | |
| 24093 | All in all, services and their ``extends'' relations form a directed acyclic | 25463 | Benutzerkontendienst (»account service«), indem er ihm eine Liste der |
| 24094 | graph (DAG). If we represent services as boxes and extensions as arrows, a | 25464 | benötigten Erstellungsbenutzerkonten übergibt (siehe @ref{Basisdienste}). |
| 24095 | typical system might provide something like this: | 25465 | |
| 24096 | 25466 | Alles in allem bilden Dienste und ihre »Erweitert«-Relationen einen | |
| 24097 | @image{images/service-graph,,5in,Typical service extension graph.} | 25467 | gerichteten azyklischen Graphen (englisch »Directed Acyclic Graph«, kurz |
| 24098 | 25468 | DAG). Wenn wir Dienste als Kästen und Erweiterungen als Pfeile darstellen, | |
| 24099 | @cindex system service | 25469 | könnte ein typisches System so etwas hier anbieten: |
| 24100 | At the bottom, we see the @dfn{system service}, which produces the directory | 25470 | |
| 24101 | containing everything to run and boot the system, as returned by the | 25471 | @image{images/service-graph,,5in,Typischer Diensterweiterungsgraph} |
| 24102 | @command{guix system build} command. @xref{Service-Referenz}, to learn | 25472 | |
| 24103 | about the other service types shown here. @xref{system-extension-graph, the | 25473 | @cindex Systemdienst |
| 24104 | @command{guix system extension-graph} command}, for information on how to | 25474 | Ganz unten sehen wir den @dfn{Systemdienst}, der das Verzeichnis erzeugt, in |
| 24105 | generate this representation for a particular operating system definition. | 25475 | dem alles zum Ausführen und Hochfahren enthalten ist, so wie es der Befehl |
| 24106 | 25476 | @command{guix system build} liefert. Siehe @ref{Service-Referenz}, um mehr | |
| 24107 | @cindex service types | 25477 | über die anderen hier gezeigten Diensttypen zu erfahren. Beim |
| 24108 | Technically, developers can define @dfn{service types} to express these | 25478 | @ref{system-extension-graph, Befehl @command{guix system extension-graph}} |
| 24109 | relations. There can be any number of services of a given type on the | 25479 | finden Sie Informationen darüber, wie Sie diese Darstellung für eine |
| 24110 | system---for instance, a system running two instances of the GNU secure | 25480 | Betriebssystemdefinition Ihrer Wahl generieren lassen. |
| 24111 | shell server (lsh) has two instances of @code{lsh-service-type}, with | 25481 | |
| 24112 | different parameters. | 25482 | @cindex Diensttypen |
| 24113 | 25483 | Technisch funktioniert es so, dass Entwickler @dfn{Diensttypen} definieren | |
| 24114 | The following section describes the programming interface for service types | 25484 | können, um diese Beziehungen auszudrücken. Im System kann es beliebig viele |
| 24115 | and services. | 25485 | Dienste zu jedem Typ geben — zum Beispiel können auf einem System zwei |
| 25486 | Instanzen des GNU-Secure-Shell-Servers (lsh) laufen, mit zwei Instanzen des | ||
| 25487 | Diensttyps @code{lsh-service-type} mit je unterschiedlichen Parametern. | ||
| 25488 | |||
| 25489 | Der folgende Abschnitt beschreibt die Programmierschnittstelle für | ||
| 25490 | Diensttypen und Dienste. | ||
| 24116 | 25491 | ||
| 24117 | @node Diensttypen und Dienste | 25492 | @node Diensttypen und Dienste |
| 24118 | @subsection Diensttypen und Dienste | 25493 | @subsection Diensttypen und Dienste |
| 24119 | 25494 | ||
| 24120 | A @dfn{service type} is a node in the DAG described above. Let us start | 25495 | Ein @dfn{Diensttyp} (»service type«) ist ein Knoten im oben beschriebenen |
| 24121 | with a simple example, the service type for the Guix build daemon | 25496 | ungerichteten azyklischen Graphen (DAG). Fangen wir an mit einem einfachen |
| 24122 | (@pxref{Aufruf des guix-daemon}): | 25497 | Beispiel: dem Diensttyp für den Guix-Erstellungsdaemon (siehe @ref{Aufruf des guix-daemon}): |
| 24123 | 25498 | ||
| 24124 | @example | 25499 | @example |
| 24125 | (define guix-service-type | 25500 | (define guix-service-type |
| @@ -24133,44 +25508,47 @@ with a simple example, the service type for the Guix build daemon | |||
| 24133 | @end example | 25508 | @end example |
| 24134 | 25509 | ||
| 24135 | @noindent | 25510 | @noindent |
| 24136 | It defines three things: | 25511 | Damit sind drei Dinge definiert: |
| 24137 | 25512 | ||
| 24138 | @enumerate | 25513 | @enumerate |
| 24139 | @item | 25514 | @item |
| 24140 | A name, whose sole purpose is to make inspection and debugging easier. | 25515 | Ein Name, der nur dazu da ist, dass man leichter die Abläufe verstehen und |
| 25516 | Fehler suchen kann. | ||
| 24141 | 25517 | ||
| 24142 | @item | 25518 | @item |
| 24143 | A list of @dfn{service extensions}, where each extension designates the | 25519 | Eine Liste von @dfn{Diensterweiterungen} (»service extensions«). Jede |
| 24144 | target service type and a procedure that, given the parameters of the | 25520 | Erweiterung gibt den Ziel-Diensttyp an sowie eine Prozedur, die für gegebene |
| 24145 | service, returns a list of objects to extend the service of that type. | 25521 | Parameter für den Dienst eine Liste von Objekten zurückliefert, um den |
| 25522 | Dienst dieses Typs zu erweitern. | ||
| 24146 | 25523 | ||
| 24147 | Every service type has at least one service extension. The only exception | 25524 | Jeder Diensttyp benutzt mindestens eine Diensterweiterung. Die einzige |
| 24148 | is the @dfn{boot service type}, which is the ultimate service. | 25525 | Ausnahme ist der @dfn{boot service type}, der die Grundlage aller Dienste |
| 25526 | ist. | ||
| 24149 | 25527 | ||
| 24150 | @item | 25528 | @item |
| 24151 | Optionally, a default value for instances of this type. | 25529 | Optional kann ein Vorgabewert für Instanzen dieses Typs angegeben werden. |
| 24152 | @end enumerate | 25530 | @end enumerate |
| 24153 | 25531 | ||
| 24154 | In this example, @var{guix-service-type} extends three services: | 25532 | In this example, @code{guix-service-type} extends three services: |
| 24155 | 25533 | ||
| 24156 | @table @var | 25534 | @table @code |
| 24157 | @item shepherd-root-service-type | 25535 | @item shepherd-root-service-type |
| 24158 | The @var{guix-shepherd-service} procedure defines how the Shepherd service | 25536 | The @code{guix-shepherd-service} procedure defines how the Shepherd service |
| 24159 | is extended. Namely, it returns a @code{<shepherd-service>} object that | 25537 | is extended. Namely, it returns a @code{<shepherd-service>} object that |
| 24160 | defines how @command{guix-daemon} is started and stopped (@pxref{Shepherd-Dienste}). | 25538 | defines how @command{guix-daemon} is started and stopped (@pxref{Shepherd-Dienste}). |
| 24161 | 25539 | ||
| 24162 | @item account-service-type | 25540 | @item account-service-type |
| 24163 | This extension for this service is computed by @var{guix-accounts}, which | 25541 | This extension for this service is computed by @code{guix-accounts}, which |
| 24164 | returns a list of @code{user-group} and @code{user-account} objects | 25542 | returns a list of @code{user-group} and @code{user-account} objects |
| 24165 | representing the build user accounts (@pxref{Aufruf des guix-daemon}). | 25543 | representing the build user accounts (@pxref{Aufruf des guix-daemon}). |
| 24166 | 25544 | ||
| 24167 | @item activation-service-type | 25545 | @item activation-service-type |
| 24168 | Here @var{guix-activation} is a procedure that returns a gexp, which is a | 25546 | Here @code{guix-activation} is a procedure that returns a gexp, which is a |
| 24169 | code snippet to run at ``activation time''---e.g., when the service is | 25547 | code snippet to run at ``activation time''---e.g., when the service is |
| 24170 | booted. | 25548 | booted. |
| 24171 | @end table | 25549 | @end table |
| 24172 | 25550 | ||
| 24173 | A service of this type is instantiated like this: | 25551 | Ein Dienst dieses Typs wird dann so instanziiert: |
| 24174 | 25552 | ||
| 24175 | @example | 25553 | @example |
| 24176 | (service guix-service-type | 25554 | (service guix-service-type |
| @@ -24179,22 +25557,22 @@ A service of this type is instantiated like this: | |||
| 24179 | (use-substitutes? #f))) | 25557 | (use-substitutes? #f))) |
| 24180 | @end example | 25558 | @end example |
| 24181 | 25559 | ||
| 24182 | The second argument to the @code{service} form is a value representing the | 25560 | Das zweite Argument an die @code{service}-Form ist ein Wert, der die |
| 24183 | parameters of this specific service instance. | 25561 | Parameter dieser bestimmten Dienstinstanz repräsentiert. Siehe |
| 24184 | @xref{guix-configuration-type, @code{guix-configuration}}, for information | 25562 | @ref{guix-configuration-type, @code{guix-configuration}} für Informationen |
| 24185 | about the @code{guix-configuration} data type. When the value is omitted, | 25563 | über den @code{guix-configuration}-Datentyp. Wird kein Wert angegeben, wird |
| 24186 | the default value specified by @code{guix-service-type} is used: | 25564 | die Vorgabe verwendet, die im @code{guix-service-type} angegeben wurde: |
| 24187 | 25565 | ||
| 24188 | @example | 25566 | @example |
| 24189 | (service guix-service-type) | 25567 | (service guix-service-type) |
| 24190 | @end example | 25568 | @end example |
| 24191 | 25569 | ||
| 24192 | @var{guix-service-type} is quite simple because it extends other services | 25570 | @code{guix-service-type} is quite simple because it extends other services |
| 24193 | but is not extensible itself. | 25571 | but is not extensible itself. |
| 24194 | 25572 | ||
| 24195 | @c @subsubsubsection Extensible Service Types | 25573 | @c @subsubsubsection Extensible Service Types |
| 24196 | 25574 | ||
| 24197 | The service type for an @emph{extensible} service looks like this: | 25575 | Der Diensttyp eines @emph{erweiterbaren} Dienstes sieht ungefähr so aus: |
| 24198 | 25576 | ||
| 24199 | @example | 25577 | @example |
| 24200 | (define udev-service-type | 25578 | (define udev-service-type |
| @@ -24203,107 +25581,114 @@ The service type for an @emph{extensible} service looks like this: | |||
| 24203 | (list (service-extension shepherd-root-service-type | 25581 | (list (service-extension shepherd-root-service-type |
| 24204 | udev-shepherd-service))) | 25582 | udev-shepherd-service))) |
| 24205 | 25583 | ||
| 24206 | (compose concatenate) ;concatenate the list of rules | 25584 | (compose concatenate) ;Liste der Regeln zusammenfügen |
| 24207 | (extend (lambda (config rules) | 25585 | (extend (lambda (config rules) ;Konfiguration und Regeln |
| 24208 | (match config | 25586 | (match config |
| 24209 | (($ <udev-configuration> udev initial-rules) | 25587 | (($ <udev-configuration> udev initial-rules) |
| 24210 | (udev-configuration | 25588 | (udev-configuration |
| 24211 | (udev udev) ;the udev package to use | 25589 | (udev udev) ;zu benutzendes udev-Paket |
| 24212 | (rules (append initial-rules rules))))))))) | 25590 | (rules (append initial-rules rules))))))))) |
| 24213 | @end example | 25591 | @end example |
| 24214 | 25592 | ||
| 24215 | This is the service type for the | 25593 | This is the service type for the |
| 24216 | @uref{https://wiki.gentoo.org/wiki/Project:Eudev, eudev device management | 25594 | @uref{https://wiki.gentoo.org/wiki/Project:Eudev, eudev device management |
| 24217 | daemon}. Compared to the previous example, in addition to an extension of | 25595 | daemon}. Compared to the previous example, in addition to an extension of |
| 24218 | @var{shepherd-root-service-type}, we see two new fields: | 25596 | @code{shepherd-root-service-type}, we see two new fields: |
| 24219 | 25597 | ||
| 24220 | @table @code | 25598 | @table @code |
| 24221 | @item compose | 25599 | @item compose |
| 24222 | This is the procedure to @dfn{compose} the list of extensions to services of | 25600 | Die Prozedur, um die Liste der jeweiligen Erweiterungen für den Dienst |
| 24223 | this type. | 25601 | dieses Typs zu einem Objekt zusammenzustellen (zu »komponieren«, englisch |
| 25602 | @dfn{compose}). | ||
| 24224 | 25603 | ||
| 24225 | Services can extend the udev service by passing it lists of rules; we | 25604 | Dienste können den udev-Dienst erweitern, indem sie eine Liste von Regeln |
| 24226 | compose those extensions simply by concatenating them. | 25605 | (»Rules«) an ihn übergeben; wir komponieren mehrere solche Erweiterungen, |
| 25606 | indem wir die Listen einfach zusammenfügen. | ||
| 24227 | 25607 | ||
| 24228 | @item extend | 25608 | @item extend |
| 24229 | This procedure defines how the value of the service is @dfn{extended} with | 25609 | Diese Prozedur definiert, wie der Wert des Dienstes um die Komposition mit |
| 24230 | the composition of the extensions. | 25610 | Erweiterungen erweitert (»extended«) werden kann. |
| 24231 | 25611 | ||
| 24232 | Udev extensions are composed into a list of rules, but the udev service | 25612 | Udev-Erweiterungen werden zu einer einzigen Liste von Regeln komponiert, |
| 24233 | value is itself a @code{<udev-configuration>} record. So here, we extend | 25613 | aber der Wert des udev-Dienstes ist ein |
| 24234 | that record by appending the list of rules it contains to the list of | 25614 | @code{<udev-configuration>}-Verbundsobjekt. Deshalb erweitern wir diesen |
| 24235 | contributed rules. | 25615 | Verbund, indem wir die Liste der von Erweiterungen beigetragenen Regeln an |
| 25616 | die im Verbund gespeicherte Liste der Regeln anhängen. | ||
| 24236 | 25617 | ||
| 24237 | @item description | 25618 | @item description |
| 24238 | This is a string giving an overview of the service type. The string can | 25619 | Diese Zeichenkette gibt einen Überblick über den Systemtyp. Die Zeichenkette |
| 24239 | contain Texinfo markup (@pxref{Overview,,, texinfo, GNU Texinfo}). The | 25620 | darf mit Texinfo ausgezeichnet werden (siehe @ref{Overview,,, texinfo, GNU |
| 24240 | @command{guix system search} command searches these strings and displays | 25621 | Texinfo}). Der Befehl @command{guix system search} durchsucht diese |
| 24241 | them (@pxref{Aufruf von guix system}). | 25622 | Zeichenketten und zeigt sie an (siehe @ref{Aufruf von guix system}). |
| 24242 | @end table | 25623 | @end table |
| 24243 | 25624 | ||
| 24244 | There can be only one instance of an extensible service type such as | 25625 | There can be only one instance of an extensible service type such as |
| 24245 | @var{udev-service-type}. If there were more, the @code{service-extension} | 25626 | @code{udev-service-type}. If there were more, the @code{service-extension} |
| 24246 | specifications would be ambiguous. | 25627 | specifications would be ambiguous. |
| 24247 | 25628 | ||
| 24248 | Still here? The next section provides a reference of the programming | 25629 | Sind Sie noch da? Der nächste Abschnitt gibt Ihnen eine Referenz der |
| 24249 | interface for services. | 25630 | Programmierschnittstelle für Dienste. |
| 24250 | 25631 | ||
| 24251 | @node Service-Referenz | 25632 | @node Service-Referenz |
| 24252 | @subsection Service-Referenz | 25633 | @subsection Service-Referenz |
| 24253 | 25634 | ||
| 24254 | We have seen an overview of service types (@pxref{Diensttypen und Dienste}). This section provides a reference on how to manipulate services | 25635 | Wir haben bereits einen Überblick über Diensttypen gesehen (siehe |
| 24255 | and service types. This interface is provided by the @code{(gnu services)} | 25636 | @ref{Diensttypen und Dienste}). Dieser Abschnitt hier stellt eine |
| 24256 | module. | 25637 | Referenz dar, wie Dienste und Diensttypen manipuliert werden können. Diese |
| 25638 | Schnittstelle wird vom Modul @code{(gnu services)} angeboten. | ||
| 24257 | 25639 | ||
| 24258 | @deffn {Scheme Procedure} service @var{type} [@var{value}] | 25640 | @deffn {Scheme-Prozedur} service @var{Typ} [@var{Wert}] |
| 24259 | Return a new service of @var{type}, a @code{<service-type>} object (see | 25641 | Liefert einen neuen Dienst des angegebenen @var{Typ}s. Der @var{Typ} muss |
| 24260 | below.) @var{value} can be any object; it represents the parameters of this | 25642 | als @code{<service-type>}-Objekt angegeben werden (siehe unten). Als |
| 24261 | particular service instance. | 25643 | @var{Wert} kann ein beliebiges Objekt angegeben werden, das die Parameter |
| 25644 | dieser bestimmten Instanz dieses Dienstes repräsentiert. | ||
| 24262 | 25645 | ||
| 24263 | When @var{value} is omitted, the default value specified by @var{type} is | 25646 | Wenn kein @var{Wert} angegeben wird, wird der vom @var{Typ} festgelegte |
| 24264 | used; if @var{type} does not specify a default value, an error is raised. | 25647 | Vorgabewert verwendet; verfügt der @var{Typ} über keinen Vorgabewert, dann |
| 25648 | wird ein Fehler gemeldet. | ||
| 24265 | 25649 | ||
| 24266 | For instance, this: | 25650 | Zum Beispiel bewirken Sie hiermit: |
| 24267 | 25651 | ||
| 24268 | @example | 25652 | @example |
| 24269 | (service openssh-service-type) | 25653 | (service openssh-service-type) |
| 24270 | @end example | 25654 | @end example |
| 24271 | 25655 | ||
| 24272 | @noindent | 25656 | @noindent |
| 24273 | is equivalent to this: | 25657 | dasselbe wie mit: |
| 24274 | 25658 | ||
| 24275 | @example | 25659 | @example |
| 24276 | (service openssh-service-type | 25660 | (service openssh-service-type |
| 24277 | (openssh-configuration)) | 25661 | (openssh-configuration)) |
| 24278 | @end example | 25662 | @end example |
| 24279 | 25663 | ||
| 24280 | In both cases the result is an instance of @code{openssh-service-type} with | 25664 | In beiden Fällen ist das Ergebnis eine Instanz von |
| 24281 | the default configuration. | 25665 | @code{openssh-service-type} mit der vorgegebenen Konfiguration. |
| 24282 | @end deffn | 25666 | @end deffn |
| 24283 | 25667 | ||
| 24284 | @deffn {Scheme Procedure} service? @var{obj} | 25668 | @deffn {Scheme-Prozedur} service? @var{Objekt} |
| 24285 | Return true if @var{obj} is a service. | 25669 | Liefert wahr zurück, wenn das @var{Objekt} ein Dienst ist. |
| 24286 | @end deffn | 25670 | @end deffn |
| 24287 | 25671 | ||
| 24288 | @deffn {Scheme Procedure} service-kind @var{service} | 25672 | @deffn {Scheme-Prozedur} service-kind @var{Dienst} |
| 24289 | Return the type of @var{service}---i.e., a @code{<service-type>} object. | 25673 | Liefert den Typ des @var{Dienst}es — d.h.@: ein |
| 25674 | @code{<service-type>}-Objekt. | ||
| 24290 | @end deffn | 25675 | @end deffn |
| 24291 | 25676 | ||
| 24292 | @deffn {Scheme Procedure} service-value @var{service} | 25677 | @deffn {Scheme-Prozedur} service-value @var{Dienst} |
| 24293 | Return the value associated with @var{service}. It represents its | 25678 | Liefert den Wert, der mit dem @var{Dienst} assoziiert wurde. Er |
| 24294 | parameters. | 25679 | repräsentiert die Parameter des @var{Dienst}es. |
| 24295 | @end deffn | 25680 | @end deffn |
| 24296 | 25681 | ||
| 24297 | Here is an example of how a service is created and manipulated: | 25682 | Hier ist ein Beispiel, wie ein Dienst erzeugt und manipuliert werden kann: |
| 24298 | 25683 | ||
| 24299 | @example | 25684 | @example |
| 24300 | (define s | 25685 | (define s |
| 24301 | (service nginx-service-type | 25686 | (service nginx-service-type |
| 24302 | (nginx-configuration | 25687 | (nginx-configuration |
| 24303 | (nginx nginx) | 25688 | (nginx nginx) |
| 24304 | (log-directory log-directory) | 25689 | (log-directory log-Verzeichnis) |
| 24305 | (run-directory run-directory) | 25690 | (run-directory run-Verzeichnis) |
| 24306 | (file config-file)))) | 25691 | (file config-Datei)))) |
| 24307 | 25692 | ||
| 24308 | (service? s) | 25693 | (service? s) |
| 24309 | @result{} #t | 25694 | @result{} #t |
| @@ -24313,7 +25698,7 @@ Here is an example of how a service is created and manipulated: | |||
| 24313 | @end example | 25698 | @end example |
| 24314 | 25699 | ||
| 24315 | The @code{modify-services} form provides a handy way to change the | 25700 | The @code{modify-services} form provides a handy way to change the |
| 24316 | parameters of some of the services of a list such as @var{%base-services} | 25701 | parameters of some of the services of a list such as @code{%base-services} |
| 24317 | (@pxref{Basisdienste, @code{%base-services}}). It evaluates to a list of | 25702 | (@pxref{Basisdienste, @code{%base-services}}). It evaluates to a list of |
| 24318 | services. Of course, you could always use standard list combinators such as | 25703 | services. Of course, you could always use standard list combinators such as |
| 24319 | @code{map} and @code{fold} to do that (@pxref{SRFI-1, List Library,, guile, | 25704 | @code{map} and @code{fold} to do that (@pxref{SRFI-1, List Library,, guile, |
| @@ -24332,7 +25717,7 @@ angegebenen Klauseln an. Jede Klausel hat die Form: | |||
| 24332 | 25717 | ||
| 24333 | wobei @var{Typ} einen Diensttyp (»service type«) bezeichnet — wie zum | 25718 | wobei @var{Typ} einen Diensttyp (»service type«) bezeichnet — wie zum |
| 24334 | Beispiel @code{guix-service-type} — und @var{Variable} ein Bezeichner ist, | 25719 | Beispiel @code{guix-service-type} — und @var{Variable} ein Bezeichner ist, |
| 24335 | der im @var{Rumpf} an die Dienst-Parameter — z.B. eine | 25720 | der im @var{Rumpf} an die Dienst-Parameter — z.B.@: eine |
| 24336 | @code{guix-configuration}-Instanz — des ursprünglichen Dienstes mit diesem | 25721 | @code{guix-configuration}-Instanz — des ursprünglichen Dienstes mit diesem |
| 24337 | @var{Typ} gebunden wird. | 25722 | @var{Typ} gebunden wird. |
| 24338 | 25723 | ||
| @@ -24345,72 +25730,79 @@ Dienstparametern ausgewertet wird, indem Sie die Funktionalität namens | |||
| 24345 | @code{inherit} benutzen, die von @code{define-record-type*} bereitgestellt | 25730 | @code{inherit} benutzen, die von @code{define-record-type*} bereitgestellt |
| 24346 | wird. | 25731 | wird. |
| 24347 | 25732 | ||
| 24348 | Siehe @xref{Das Konfigurationssystem nutzen} für ein Anwendungsbeispiel. | 25733 | Siehe @ref{Das Konfigurationssystem nutzen} für ein Anwendungsbeispiel. |
| 24349 | 25734 | ||
| 24350 | @end deffn | 25735 | @end deffn |
| 24351 | 25736 | ||
| 24352 | Next comes the programming interface for service types. This is something | 25737 | Als Nächstes ist die Programmierschnittstelle für Diensttypen an der |
| 24353 | you want to know when writing new service definitions, but not necessarily | 25738 | Reihe. Sie ist etwas, was Sie kennen werden wollen, wenn Sie neue |
| 24354 | when simply looking for ways to customize your @code{operating-system} | 25739 | Dienstdefinitionen schreiben, aber wenn Sie nur Ihre |
| 24355 | declaration. | 25740 | @code{operating-system}-Deklaration anpassen möchten, brauchen Sie diese |
| 25741 | Schnittstelle wahrscheinlich nicht. | ||
| 24356 | 25742 | ||
| 24357 | @deftp {Data Type} service-type | 25743 | @deftp {Datentyp} service-type |
| 24358 | @cindex service type | 25744 | @cindex Diensttyp |
| 24359 | This is the representation of a @dfn{service type} (@pxref{Diensttypen und Dienste}). | 25745 | Die Repräsentation eines @dfn{Diensttypen} (siehe @ref{Diensttypen und Dienste}). |
| 24360 | 25746 | ||
| 24361 | @table @asis | 25747 | @table @asis |
| 24362 | @item @code{name} | 25748 | @item @code{name} |
| 24363 | This is a symbol, used only to simplify inspection and debugging. | 25749 | Dieses Symbol wird nur verwendet, um die Abläufe im System anzuzeigen und |
| 25750 | die Fehlersuche zu erleichtern. | ||
| 24364 | 25751 | ||
| 24365 | @item @code{extensions} | 25752 | @item @code{extensions} |
| 24366 | A non-empty list of @code{<service-extension>} objects (see below). | 25753 | Eine nicht-leere Liste von @code{<service-extension>}-Objekten (siehe |
| 24367 | 25754 | unten). | |
| 24368 | @item @code{compose} (default: @code{#f}) | 25755 | |
| 24369 | If this is @code{#f}, then the service type denotes services that cannot be | 25756 | @item @code{compose} (Vorgabe: @code{#f}) |
| 24370 | extended---i.e., services that do not receive ``values'' from other | 25757 | Wenn es auf @code{#f} gesetzt ist, dann definiert der Diensttyp Dienste, die |
| 24371 | services. | 25758 | nicht erweitert werden können — d.h.@: diese Dienste erhalten ihren Wert |
| 24372 | 25759 | nicht von anderen Diensten. | |
| 24373 | Otherwise, it must be a one-argument procedure. The procedure is called by | 25760 | |
| 24374 | @code{fold-services} and is passed a list of values collected from | 25761 | Andernfalls muss es eine Prozedur sein, die ein einziges Argument |
| 24375 | extensions. It may return any single value. | 25762 | entgegennimmt. Die Prozedur wird durch @code{fold-services} aufgerufen und |
| 24376 | 25763 | ihr wird die Liste von aus den Erweiterungen angesammelten Werten | |
| 24377 | @item @code{extend} (default: @code{#f}) | 25764 | übergeben. Sie gibt daraufhin einen einzelnen Wert zurück. |
| 24378 | If this is @code{#f}, services of this type cannot be extended. | 25765 | |
| 24379 | 25766 | @item @code{extend} (Vorgabe: @code{#f}) | |
| 24380 | Otherwise, it must be a two-argument procedure: @code{fold-services} calls | 25767 | Ist dies auf @code{#f} gesetzt, dann können Dienste dieses Typs nicht |
| 24381 | it, passing it the initial value of the service as the first argument and | 25768 | erweitert werden. |
| 24382 | the result of applying @code{compose} to the extension values as the second | 25769 | |
| 24383 | argument. It must return a value that is a valid parameter value for the | 25770 | Andernfalls muss es eine zwei Argumente nehmende Prozedur sein, die von |
| 24384 | service instance. | 25771 | @code{fold-services} mit dem anfänglichen Wert für den Dienst als erstes |
| 25772 | Argument und dem durch Anwendung von @code{compose} gelieferten Wert als | ||
| 25773 | zweites Argument aufgerufen wird. Als Ergebnis muss ein Wert geliefert | ||
| 25774 | werden, der einen zulässigen neuen Parameterwert für die Dienstinstanz | ||
| 25775 | darstellt. | ||
| 24385 | @end table | 25776 | @end table |
| 24386 | 25777 | ||
| 24387 | @xref{Diensttypen und Dienste}, for examples. | 25778 | Siehe den Abschnitt @ref{Diensttypen und Dienste} für Beispiele. |
| 24388 | @end deftp | 25779 | @end deftp |
| 24389 | 25780 | ||
| 24390 | @deffn {Scheme Procedure} service-extension @var{target-type} @ | 25781 | @deffn {Scheme-Prozedur} service-extension @var{Zieltyp} @ |
| 24391 | @var{compute} Return a new extension for services of type | 25782 | @var{Berechner} Liefert eine neue Erweiterung für den Dienst mit dem |
| 24392 | @var{target-type}. @var{compute} must be a one-argument procedure: | 25783 | @var{Zieltyp}. Als @var{Berechner} muss eine Prozedur angegeben werden, die |
| 24393 | @code{fold-services} calls it, passing it the value associated with the | 25784 | ein einzelnes Argument nimmt: @code{fold-services} ruft sie auf und übergibt |
| 24394 | service that provides the extension; it must return a valid value for the | 25785 | an sie den Wert des erweiternden Dienstes, sie muss dafür einen zulässigen |
| 24395 | target service. | 25786 | Wert für den @var{Zieltyp} liefern. |
| 24396 | @end deffn | 25787 | @end deffn |
| 24397 | 25788 | ||
| 24398 | @deffn {Scheme Procedure} service-extension? @var{obj} | 25789 | @deffn {Scheme-Prozedur} service-extension? @var{Objekt} |
| 24399 | Return true if @var{obj} is a service extension. | 25790 | Liefert wahr zurück, wenn das @var{Objekt} eine Diensterweiterung ist. |
| 24400 | @end deffn | 25791 | @end deffn |
| 24401 | 25792 | ||
| 24402 | Occasionally, you might want to simply extend an existing service. This | 25793 | Manchmal wollen Sie vielleicht einfach nur einen bestehenden Dienst |
| 24403 | involves creating a new service type and specifying the extension of | 25794 | erweitern. Dazu müssten Sie einen neuen Diensttyp definieren und die |
| 24404 | interest, which can be verbose; the @code{simple-service} procedure provides | 25795 | Erweiterung definieren, für die Sie sich interessieren, was ganz schön |
| 24405 | a shorthand for this. | 25796 | wortreich werden kann. Mit der Prozedur @code{simple-service} können Sie es |
| 25797 | kürzer fassen. | ||
| 24406 | 25798 | ||
| 24407 | @deffn {Scheme Procedure} simple-service @var{name} @var{target} @var{value} | 25799 | @deffn {Scheme-Prozedur} simple-service @var{Name} @var{Zieltyp} @var{Wert} |
| 24408 | Return a service that extends @var{target} with @var{value}. This works by | 25800 | Liefert einen Dienst, der den Dienst mit dem @var{Zieltyp} um den @var{Wert} |
| 24409 | creating a singleton service type @var{name}, of which the returned service | 25801 | erweitert. Dazu wird ein Diensttyp mit dem @var{Name}n für den einmaligen |
| 24410 | is an instance. | 25802 | Gebrauch erzeugt, den der zurückgelieferte Dienst instanziiert. |
| 24411 | 25803 | ||
| 24412 | For example, this extends mcron (@pxref{Geplante Auftragsausführung}) with an | 25804 | Zum Beispiel kann mcron (siehe @ref{Geplante Auftragsausführung}) so um einen |
| 24413 | additional job: | 25805 | zusätzlichen Auftrag erweitert werden: |
| 24414 | 25806 | ||
| 24415 | @example | 25807 | @example |
| 24416 | (simple-service 'my-mcron-job mcron-service-type | 25808 | (simple-service 'my-mcron-job mcron-service-type |
| @@ -24418,198 +25810,213 @@ additional job: | |||
| 24418 | @end example | 25810 | @end example |
| 24419 | @end deffn | 25811 | @end deffn |
| 24420 | 25812 | ||
| 24421 | At the core of the service abstraction lies the @code{fold-services} | 25813 | Den Kern dieses abstrakten Modells für Dienste bildet die Prozedur |
| 24422 | procedure, which is responsible for ``compiling'' a list of services down to | 25814 | @code{fold-services}, die für das »Kompilieren« einer Liste von Diensten hin |
| 24423 | a single directory that contains everything needed to boot and run the | 25815 | zu einem einzelnen Verzeichnis verantwortlich ist, in welchem alles |
| 24424 | system---the directory shown by the @command{guix system build} command | 25816 | enthalten ist, was Sie zum Booten und Hochfahren des Systems brauchen — |
| 24425 | (@pxref{Aufruf von guix system}). In essence, it propagates service | 25817 | d.h.@: das Verzeichnis, das der Befehl @command{guix system build} anzeigt |
| 24426 | extensions down the service graph, updating each node parameters on the way, | 25818 | (siehe @ref{Aufruf von guix system}). Einfach ausgedrückt propagiert |
| 24427 | until it reaches the root node. | 25819 | @code{fold-services} Diensterweiterungen durch den Dienstgraphen nach unten |
| 24428 | 25820 | und aktualisiert dabei in jedem Knoten des Graphen dessen Parameter, bis nur | |
| 24429 | @deffn {Scheme Procedure} fold-services @var{services} @ | 25821 | noch der Wurzelknoten übrig bleibt. |
| 24430 | [#:target-type @var{system-service-type}] Fold @var{services} by propagating | 25822 | |
| 24431 | their extensions down to the root of type @var{target-type}; return the root | 25823 | @deffn {Scheme-Prozedur} fold-services @var{Dienste} @ |
| 24432 | service adjusted accordingly. | 25824 | [#:target-type @var{system-service-type}] Faltet die @var{Dienste} wie die |
| 25825 | funktionale Prozedur @code{fold} zu einem einzigen zusammen, indem ihre | ||
| 25826 | Erweiterungen nach unten propagiert werden, bis eine Wurzel vom | ||
| 25827 | @var{target-type} als Diensttyp erreicht wird; dieser so angepasste | ||
| 25828 | Wurzeldienst wird zurückgeliefert. | ||
| 24433 | @end deffn | 25829 | @end deffn |
| 24434 | 25830 | ||
| 24435 | Lastly, the @code{(gnu services)} module also defines several essential | 25831 | Als Letztes definiert das Modul @code{(gnu services)} noch mehrere |
| 24436 | service types, some of which are listed below. | 25832 | essenzielle Diensttypen, von denen manche im Folgenden aufgelistet sind: |
| 24437 | 25833 | ||
| 24438 | @defvr {Scheme Variable} system-service-type | 25834 | @defvr {Scheme-Variable} system-service-type |
| 24439 | This is the root of the service graph. It produces the system directory as | 25835 | Die Wurzel des Dienstgraphen. Davon wird das Systemverzeichnis erzeugt, wie |
| 24440 | returned by the @command{guix system build} command. | 25836 | es vom Befehl @command{guix system build} zurückgeliefert wird. |
| 24441 | @end defvr | 25837 | @end defvr |
| 24442 | 25838 | ||
| 24443 | @defvr {Scheme Variable} boot-service-type | 25839 | @defvr {Scheme-Variable} boot-service-type |
| 24444 | The type of the ``boot service'', which produces the @dfn{boot script}. The | 25840 | Der Typ des »Boot-Dienstes«, der das @dfn{Boot-Skript} erzeugt. Das |
| 24445 | boot script is what the initial RAM disk runs when booting. | 25841 | Boot-Skript ist das, was beim Booten durch die initiale RAM-Disk ausgeführt |
| 25842 | wird. | ||
| 24446 | @end defvr | 25843 | @end defvr |
| 24447 | 25844 | ||
| 24448 | @defvr {Scheme Variable} etc-service-type | 25845 | @defvr {Scheme-Variable} etc-service-type |
| 24449 | The type of the @file{/etc} service. This service is used to create files | 25846 | Der Typ des @file{/etc}-Dienstes. Dieser Dienst wird benutzt, um im |
| 24450 | under @file{/etc} and can be extended by passing it name/file tuples such | 25847 | @file{/etc}-Verzeichnis Dateien zu platzieren. Er kann erweitert werden, |
| 24451 | as: | 25848 | indem man Name-/Datei-Tupel an ihn übergibt wie in diesem Beispiel: |
| 24452 | 25849 | ||
| 24453 | @example | 25850 | @example |
| 24454 | (list `("issue" ,(plain-file "issue" "Welcome!\n"))) | 25851 | (list `("issue" ,(plain-file "issue" "Willkommen!\n"))) |
| 24455 | @end example | 25852 | @end example |
| 24456 | 25853 | ||
| 24457 | In this example, the effect would be to add an @file{/etc/issue} file | 25854 | Dieses Beispiel würde bewirken, dass eine Datei @file{/etc/issue} auf die |
| 24458 | pointing to the given file. | 25855 | angegebene Datei verweist. |
| 24459 | @end defvr | 25856 | @end defvr |
| 24460 | 25857 | ||
| 24461 | @defvr {Scheme Variable} setuid-program-service-type | 25858 | @defvr {Scheme-Variable} setuid-program-service-type |
| 24462 | Type for the ``setuid-program service''. This service collects lists of | 25859 | Der Typ des Dienstes für setuid-Programme, der eine Liste von ausführbaren |
| 24463 | executable file names, passed as gexps, and adds them to the set of | 25860 | Dateien ansammelt, die jeweils als G-Ausdrücke übergeben werden und dann zur |
| 24464 | setuid-root programs on the system (@pxref{Setuid-Programme}). | 25861 | Menge der setuid-gesetzten Programme auf dem System hinzugefügt werden |
| 25862 | (siehe @ref{Setuid-Programme}). | ||
| 24465 | @end defvr | 25863 | @end defvr |
| 24466 | 25864 | ||
| 24467 | @defvr {Scheme Variable} profile-service-type | 25865 | @defvr {Scheme-Variable} profile-service-type |
| 24468 | Type of the service that populates the @dfn{system profile}---i.e., the | 25866 | Der Typ des Dienstes zum Einfügen von Dateien ins @dfn{Systemprofil} — |
| 24469 | programs under @file{/run/current-system/profile}. Other services can | 25867 | d.h.@: die Programme unter @file{/run/current-system/profile}. Andere |
| 24470 | extend it by passing it lists of packages to add to the system profile. | 25868 | Dienste können ihn erweitern, indem sie ihm Listen von ins Systemprofil zu |
| 25869 | installierenden Paketen übergeben. | ||
| 24471 | @end defvr | 25870 | @end defvr |
| 24472 | 25871 | ||
| 24473 | 25872 | ||
| 24474 | @node Shepherd-Dienste | 25873 | @node Shepherd-Dienste |
| 24475 | @subsection Shepherd-Dienste | 25874 | @subsection Shepherd-Dienste |
| 24476 | 25875 | ||
| 24477 | @cindex shepherd services | 25876 | @cindex Shepherd-Dienste |
| 24478 | @cindex PID 1 | 25877 | @cindex PID 1 |
| 24479 | @cindex init system | 25878 | @cindex init-System |
| 24480 | The @code{(gnu services shepherd)} module provides a way to define services | 25879 | Das Modul @code{(gnu services shepherd)} gibt eine Methode an, mit der |
| 24481 | managed by the GNU@tie{}Shepherd, which is the initialization system---the | 25880 | Dienste definiert werden können, die von GNU@tie{}Shepherd verwaltet werden, |
| 24482 | first process that is started when the system boots, also known as | 25881 | was das Initialisierungssystem (das »init«-System) ist — es ist der erste |
| 24483 | PID@tie{}1 (@pxref{Einführung,,, shepherd, The GNU Shepherd Manual}). | 25882 | Prozess, der gestartet wird, wenn das System gebootet wird, auch bekannt als |
| 24484 | 25883 | PID@tie{}1 (siehe @ref{Einführung,,, shepherd, The GNU Shepherd Manual}). | |
| 24485 | Services in the Shepherd can depend on each other. For instance, the SSH | 25884 | |
| 24486 | daemon may need to be started after the syslog daemon has been started, | 25885 | Dienste unter dem Shepherd können voneinander abhängen. Zum Beispiel kann es |
| 24487 | which in turn can only happen once all the file systems have been mounted. | 25886 | sein, dass der SSH-Daemon erst gestartet werden darf, nachdem der |
| 24488 | The simple operating system defined earlier (@pxref{Das Konfigurationssystem nutzen}) results in a service graph like this: | 25887 | Syslog-Daemon gestartet wurde, welcher wiederum erst gestartet werden kann, |
| 24489 | 25888 | sobald alle Dateisysteme eingebunden wurden. Das einfache Betriebssystem, | |
| 24490 | @image{images/shepherd-graph,,5in,Typical shepherd service graph.} | 25889 | dessen Definition wir zuvor gesehen haben (siehe @ref{Das Konfigurationssystem nutzen}), ergibt folgenden Dienstgraphen: |
| 24491 | 25890 | ||
| 24492 | You can actually generate such a graph for any operating system definition | 25891 | @image{images/shepherd-graph,,5in,Typischer Shepherd-Dienstgraph} |
| 24493 | using the @command{guix system shepherd-graph} command | 25892 | |
| 24494 | (@pxref{system-shepherd-graph, @command{guix system shepherd-graph}}). | 25893 | Sie können so einen Graphen tatsächlich für jedes Betriebssystem erzeugen |
| 24495 | 25894 | lassen, indem Sie den Befehl @command{guix system shepherd-graph} benutzen | |
| 24496 | The @var{%shepherd-root-service} is a service object representing | 25895 | (siehe @ref{system-shepherd-graph, @command{guix system shepherd-graph}}). |
| 24497 | PID@tie{}1, of type @var{shepherd-root-service-type}; it can be extended by | 25896 | |
| 25897 | The @code{%shepherd-root-service} is a service object representing | ||
| 25898 | PID@tie{}1, of type @code{shepherd-root-service-type}; it can be extended by | ||
| 24498 | passing it lists of @code{<shepherd-service>} objects. | 25899 | passing it lists of @code{<shepherd-service>} objects. |
| 24499 | 25900 | ||
| 24500 | @deftp {Data Type} shepherd-service | 25901 | @deftp {Datentyp} shepherd-service |
| 24501 | The data type representing a service managed by the Shepherd. | 25902 | Der Datentyp, der einen von Shepherd verwalteten Dienst repräsentiert. |
| 24502 | 25903 | ||
| 24503 | @table @asis | 25904 | @table @asis |
| 24504 | @item @code{provision} | 25905 | @item @code{provision} |
| 24505 | This is a list of symbols denoting what the service provides. | 25906 | Diese Liste von Symbolen gibt an, was vom Dienst angeboten wird. |
| 24506 | 25907 | ||
| 24507 | These are the names that may be passed to @command{herd start}, | 25908 | Das bedeutet, es sind die Namen, die an @command{herd start}, @command{herd |
| 24508 | @command{herd status}, and similar commands (@pxref{Invoking herd,,, | 25909 | status} und ähnliche Befehle übergeben werden können (siehe @ref{Invoking |
| 24509 | shepherd, The GNU Shepherd Manual}). @xref{Slots of services, the | 25910 | herd,,, shepherd, The GNU Shepherd Manual}). Siehe @ref{Slots of services, |
| 24510 | @code{provides} slot,, shepherd, The GNU Shepherd Manual}, for details. | 25911 | the @code{provides} slot,, shepherd, The GNU Shepherd Manual} für Details. |
| 24511 | 25912 | ||
| 24512 | @item @code{requirements} (default: @code{'()}) | 25913 | @item @code{requirements} (Vorgabe: @code{'()}) |
| 24513 | List of symbols denoting the Shepherd services this one depends on. | 25914 | Eine Liste von Symbolen, die angegeben, von welchen anderen |
| 25915 | Shepherd-Diensten dieser hier abhängt. | ||
| 24514 | 25916 | ||
| 24515 | @item @code{respawn?} (default: @code{#t}) | 25917 | @item @code{respawn?} (Vorgabe: @code{#t}) |
| 24516 | Whether to restart the service when it stops, for instance when the | 25918 | Ob der Dienst neu gestartet werden soll, nachdem er gestoppt wurde, zum |
| 24517 | underlying process dies. | 25919 | Beispiel wenn der ihm zu Grunde liegende Prozess terminiert wird. |
| 24518 | 25920 | ||
| 24519 | @item @code{start} | 25921 | @item @code{start} |
| 24520 | @itemx @code{stop} (default: @code{#~(const #f)}) | 25922 | @itemx @code{stop} (Vorgabe: @code{#~(const #f)}) |
| 24521 | The @code{start} and @code{stop} fields refer to the Shepherd's facilities | 25923 | Die Felder @code{start} und @code{stop} beziehen sich auf Shepherds |
| 24522 | to start and stop processes (@pxref{Service De- and Constructors,,, | 25924 | Funktionen zum Starten und Stoppen von Prozessen (siehe @ref{Service De- and |
| 24523 | shepherd, The GNU Shepherd Manual}). They are given as G-expressions that | 25925 | Constructors,,, shepherd, The GNU Shepherd Manual}). Sie enthalten |
| 24524 | get expanded in the Shepherd configuration file (@pxref{G-Ausdrücke}). | 25926 | G-Ausdrücke, die in eine Shepherd-Konfigurationdatei umgeschrieben werden |
| 25927 | (siehe @ref{G-Ausdrücke}). | ||
| 24525 | 25928 | ||
| 24526 | @item @code{actions} (Vorgabe: @code{'()}) | 25929 | @item @code{actions} (Vorgabe: @code{'()}) |
| 24527 | @cindex Aktionen, bei Shepherd-Diensten | 25930 | @cindex Aktionen, bei Shepherd-Diensten |
| 24528 | This is a list of @code{shepherd-action} objects (see below) defining | 25931 | Dies ist eine Liste von @code{shepherd-action}-Objekten (siehe unten), die |
| 24529 | @dfn{actions} supported by the service, in addition to the standard | 25932 | vom Dienst zusätzlich unterstützte @dfn{Aktionen} neben den Standardaktionen |
| 24530 | @code{start} and @code{stop} actions. Actions listed here become available | 25933 | @code{start} und @code{stop} angeben. Hier aufgeführte Aktionen werden als |
| 24531 | as @command{herd} sub-commands: | 25934 | @command{herd}-Unterbefehle verfügbar gemacht: |
| 24532 | 25935 | ||
| 24533 | @example | 25936 | @example |
| 24534 | herd @var{action} @var{service} [@var{arguments}@dots{}] | 25937 | herd @var{Aktion} @var{Dienst} [@var{Argumente}@dots{}] |
| 24535 | @end example | 25938 | @end example |
| 24536 | 25939 | ||
| 24537 | @item @code{Dokumentation} | 25940 | @item @code{Dokumentation} |
| 24538 | A documentation string, as shown when running: | 25941 | Eine Zeichenkette zur Dokumentation, die angezeigt wird, wenn man dies |
| 25942 | ausführt: | ||
| 24539 | 25943 | ||
| 24540 | @example | 25944 | @example |
| 24541 | herd doc @var{service-name} | 25945 | herd doc @var{Dienstname} |
| 24542 | @end example | 25946 | @end example |
| 24543 | 25947 | ||
| 24544 | where @var{service-name} is one of the symbols in @var{provision} | 25948 | where @var{service-name} is one of the symbols in @code{provision} |
| 24545 | (@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual}). | 25949 | (@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual}). |
| 24546 | 25950 | ||
| 24547 | @item @code{modules} (default: @var{%default-modules}) | 25951 | @item @code{modules} (default: @code{%default-modules}) |
| 24548 | This is the list of modules that must be in scope when @code{start} and | 25952 | Dies ist die Liste der Module, die in den Sichtbarkeitsbereich geladen sein |
| 24549 | @code{stop} are evaluated. | 25953 | müssen, wenn @code{start} und @code{stop} ausgewertet werden. |
| 24550 | 25954 | ||
| 24551 | @end table | 25955 | @end table |
| 24552 | @end deftp | 25956 | @end deftp |
| 24553 | 25957 | ||
| 24554 | @deftp {Datentyp} shepherd-action | 25958 | @deftp {Datentyp} shepherd-action |
| 24555 | This is the data type that defines additional actions implemented by a | 25959 | Dieser Datentyp definiert zusätzliche Aktionen, die ein Shepherd-Dienst |
| 24556 | Shepherd service (see above). | 25960 | implementiert (siehe oben). |
| 24557 | 25961 | ||
| 24558 | @table @code | 25962 | @table @code |
| 24559 | @item name | 25963 | @item name |
| 24560 | Die Aktion bezeichnendes Symbol. | 25964 | Die Aktion bezeichnendes Symbol. |
| 24561 | 25965 | ||
| 24562 | @item Dokumentation | 25966 | @item Dokumentation |
| 24563 | This is a documentation string for the action. It can be viewed by running: | 25967 | Diese Zeichenkette ist die Dokumentation für die Aktion. Sie können sie |
| 25968 | sehen, wenn Sie dies ausführen: | ||
| 24564 | 25969 | ||
| 24565 | @example | 25970 | @example |
| 24566 | herd doc @var{service} action @var{action} | 25971 | herd doc @var{Dienst} action @var{Aktion} |
| 24567 | @end example | 25972 | @end example |
| 24568 | 25973 | ||
| 24569 | @item procedure | 25974 | @item procedure |
| 24570 | This should be a gexp that evaluates to a procedure of at least one | 25975 | Dies sollte ein G-Ausdruck sein, der zu einer mindestens ein Argument |
| 24571 | argument, which is the ``running value'' of the service (@pxref{Slots of | 25976 | nehmenden Prozedur ausgewertet wird. Das Argument ist der »running«-Wert des |
| 24572 | services,,, shepherd, The GNU Shepherd Manual}). | 25977 | Dienstes (siehe @ref{Slots of services,,, shepherd, The GNU Shepherd |
| 25978 | Manual}). | ||
| 24573 | @end table | 25979 | @end table |
| 24574 | 25980 | ||
| 24575 | The following example defines an action called @code{say-hello} that kindly | 25981 | Das folgende Beispiel definiert eine Aktion namens @code{sag-hallo}, die den |
| 24576 | greets the user: | 25982 | Benutzer freundlich begrüßt: |
| 24577 | 25983 | ||
| 24578 | @example | 25984 | @example |
| 24579 | (shepherd-action | 25985 | (shepherd-action |
| 24580 | (name 'say-hello) | 25986 | (name 'sag-hallo) |
| 24581 | (documentation "Say hi!") | 25987 | (documentation "Sag Hallo!") |
| 24582 | (procedure #~(lambda (running . args) | 25988 | (procedure #~(lambda (running . args) |
| 24583 | (format #t "Hello, friend! arguments: ~s\n" | 25989 | (format #t "Hallo, Freund! Argumente: ~s\n" |
| 24584 | args) | 25990 | args) |
| 24585 | #t))) | 25991 | #t))) |
| 24586 | @end example | 25992 | @end example |
| 24587 | 25993 | ||
| 24588 | Assuming this action is added to the @code{example} service, then you can | 25994 | Wenn wir annehmen, dass wir die Aktion zum Dienst @code{beispiel} |
| 24589 | do: | 25995 | hinzufügen, können Sie Folgendes ausführen: |
| 24590 | 25996 | ||
| 24591 | @example | 25997 | @example |
| 24592 | # herd say-hello example | 25998 | # herd sag-hallo beispiel |
| 24593 | Hello, friend! arguments: () | 25999 | Hallo, Freund! Argumente: () |
| 24594 | # herd say-hello example a b c | 26000 | # herd sag-hallo beispiel a b c |
| 24595 | Hello, friend! arguments: ("a" "b" "c") | 26001 | Hallo, Freund! Argumente: ("a" "b" "c") |
| 24596 | @end example | 26002 | @end example |
| 24597 | 26003 | ||
| 24598 | This, as you can see, is a fairly sophisticated way to say hello. | 26004 | Wie Sie sehen können, ist das eine sehr ausgeklügelte Art, Hallo zu |
| 24599 | @xref{Service Convenience,,, shepherd, The GNU Shepherd Manual}, for more | 26005 | sagen. Siehe @ref{Service Convenience,,, shepherd, The GNU Shepherd Manual} |
| 24600 | info on actions. | 26006 | für mehr Informationen zu Aktionen. |
| 24601 | @end deftp | 26007 | @end deftp |
| 24602 | 26008 | ||
| 24603 | @defvr {Scheme Variable} shepherd-root-service-type | 26009 | @defvr {Scheme-Variable} shepherd-root-service-type |
| 24604 | The service type for the Shepherd ``root service''---i.e., PID@tie{}1. | 26010 | Der Diensttyp für den Shepherd-»Wurzeldienst« — also für PID@tie{}1. |
| 24605 | 26011 | ||
| 24606 | This is the service type that extensions target when they want to create | 26012 | Dieser Diensttyp stellt das Ziel für Diensterweiterungen dar, die |
| 24607 | shepherd services (@pxref{Diensttypen und Dienste}, for an example). | 26013 | Shepherd-Dienste erzeugen sollen (siehe @ref{Diensttypen und Dienste} für |
| 24608 | Each extension must pass a list of @code{<shepherd-service>}. | 26014 | ein Beispiel). Jede Erweiterung muss eine Liste von |
| 26015 | @code{<shepherd-service>}-Objekten übergeben. | ||
| 24609 | @end defvr | 26016 | @end defvr |
| 24610 | 26017 | ||
| 24611 | @defvr {Scheme Variable} %shepherd-root-service | 26018 | @defvr {Scheme-Variable} %shepherd-root-service |
| 24612 | This service represents PID@tie{}1. | 26019 | Dieser Dienst repräsentiert PID@tie{}1. |
| 24613 | @end defvr | 26020 | @end defvr |
| 24614 | 26021 | ||
| 24615 | 26022 | ||
| @@ -24742,7 +26149,7 @@ check whether a package has a @code{debug} output, use @command{guix package | |||
| 24742 | @chapter Sicherheitsaktualisierungen | 26149 | @chapter Sicherheitsaktualisierungen |
| 24743 | 26150 | ||
| 24744 | @cindex security updates | 26151 | @cindex security updates |
| 24745 | @cindex security vulnerabilities | 26152 | @cindex Sicherheitslücken |
| 24746 | Occasionally, important security vulnerabilities are discovered in software | 26153 | Occasionally, important security vulnerabilities are discovered in software |
| 24747 | packages and must be patched. Guix developers try hard to keep track of | 26154 | packages and must be patched. Guix developers try hard to keep track of |
| 24748 | known vulnerabilities and to apply fixes as soon as possible in the | 26155 | known vulnerabilities and to apply fixes as soon as possible in the |
| @@ -24786,7 +26193,7 @@ magnitudes lower than a full rebuild of the dependency chain. | |||
| 24786 | @cindex replacements of packages, for grafts | 26193 | @cindex replacements of packages, for grafts |
| 24787 | For instance, suppose a security update needs to be applied to Bash. Guix | 26194 | For instance, suppose a security update needs to be applied to Bash. Guix |
| 24788 | developers will provide a package definition for the ``fixed'' Bash, say | 26195 | developers will provide a package definition for the ``fixed'' Bash, say |
| 24789 | @var{bash-fixed}, in the usual way (@pxref{Pakete definieren}). Then, the | 26196 | @code{bash-fixed}, in the usual way (@pxref{Pakete definieren}). Then, the |
| 24790 | original package definition is augmented with a @code{replacement} field | 26197 | original package definition is augmented with a @code{replacement} field |
| 24791 | pointing to the package containing the bug fix: | 26198 | pointing to the package containing the bug fix: |
| 24792 | 26199 | ||
| @@ -24800,15 +26207,15 @@ pointing to the package containing the bug fix: | |||
| 24800 | 26207 | ||
| 24801 | From there on, any package depending directly or indirectly on Bash---as | 26208 | From there on, any package depending directly or indirectly on Bash---as |
| 24802 | reported by @command{guix gc --requisites} (@pxref{Aufruf von guix gc})---that | 26209 | reported by @command{guix gc --requisites} (@pxref{Aufruf von guix gc})---that |
| 24803 | is installed is automatically ``rewritten'' to refer to @var{bash-fixed} | 26210 | is installed is automatically ``rewritten'' to refer to @code{bash-fixed} |
| 24804 | instead of @var{bash}. This grafting process takes time proportional to the | 26211 | instead of @code{bash}. This grafting process takes time proportional to |
| 24805 | size of the package, usually less than a minute for an ``average'' package | 26212 | the size of the package, usually less than a minute for an ``average'' |
| 24806 | on a recent machine. Grafting is recursive: when an indirect dependency | 26213 | package on a recent machine. Grafting is recursive: when an indirect |
| 24807 | requires grafting, then grafting ``propagates'' up to the package that the | 26214 | dependency requires grafting, then grafting ``propagates'' up to the package |
| 24808 | user is installing. | 26215 | that the user is installing. |
| 24809 | 26216 | ||
| 24810 | Currently, the length of the name and version of the graft and that of the | 26217 | Currently, the length of the name and version of the graft and that of the |
| 24811 | package it replaces (@var{bash-fixed} and @var{bash} in the example above) | 26218 | package it replaces (@code{bash-fixed} and @code{bash} in the example above) |
| 24812 | must be equal. This restriction mostly comes from the fact that grafting | 26219 | must be equal. This restriction mostly comes from the fact that grafting |
| 24813 | works by patching files, including binary files, directly. Other | 26220 | works by patching files, including binary files, directly. Other |
| 24814 | restrictions may apply: for instance, when adding a graft to a package | 26221 | restrictions may apply: for instance, when adding a graft to a package |
| @@ -25084,28 +26491,31 @@ generated binaries could be broken for some reason. | |||
| 25084 | @node Danksagungen | 26491 | @node Danksagungen |
| 25085 | @chapter Danksagungen | 26492 | @chapter Danksagungen |
| 25086 | 26493 | ||
| 25087 | Guix is based on the @uref{http://nixos.org/nix/, Nix package manager}, | 26494 | Guix baut auf dem @uref{http://nixos.org/nix/, Nix-Paketverwaltungsprogramm} |
| 25088 | which was designed and implemented by Eelco Dolstra, with contributions from | 26495 | auf, das von Eelco Dolstra entworfen und entwickelt wurde, mit Beiträgen von |
| 25089 | other people (see the @file{nix/AUTHORS} file in Guix.) Nix pioneered | 26496 | anderen Leuten (siehe die Datei @file{nix/AUTHORS} in Guix). Nix hat für die |
| 25090 | functional package management, and promoted unprecedented features, such as | 26497 | funktionale Paketverwaltung die Pionierarbeit geleistet und noch nie |
| 25091 | transactional package upgrades and rollbacks, per-user profiles, and | 26498 | dagewesene Funktionalitäten vorangetrieben wie transaktionsbasierte |
| 25092 | referentially transparent build processes. Without this work, Guix would | 26499 | Paketaktualisierungen und die Rücksetzbarkeit selbiger, eigene Paketprofile |
| 25093 | not exist. | 26500 | für jeden Nutzer und referenziell transparente Erstellungsprozesse. Ohne |
| 26501 | diese Arbeit gäbe es Guix nicht. | ||
| 25094 | 26502 | ||
| 25095 | The Nix-based software distributions, Nixpkgs and NixOS, have also been an | 26503 | Die Nix-basierten Software-Distributionen Nixpkgs und NixOS waren auch eine |
| 25096 | inspiration for Guix. | 26504 | Inspiration für Guix. |
| 25097 | 26505 | ||
| 25098 | GNU@tie{}Guix itself is a collective work with contributions from a number | 26506 | GNU@tie{}Guix ist selbst das Produkt kollektiver Arbeit mit Beiträgen durch |
| 25099 | of people. See the @file{AUTHORS} file in Guix for more information on | 26507 | eine Vielzahl von Leuten. Siehe die Datei @file{AUTHORS} in Guix für mehr |
| 25100 | these fine people. The @file{THANKS} file lists people who have helped by | 26508 | Informationen, wer diese wunderbaren Menschen sind. In der Datei |
| 25101 | reporting bugs, taking care of the infrastructure, providing artwork and | 26509 | @file{THANKS} finden Sie eine Liste der Leute, die uns geholfen haben, indem |
| 25102 | themes, making suggestions, and more---thank you! | 26510 | Sie Fehler gemeldet, sich um unsere Infrastruktur gekümmert, künstlerische |
| 26511 | Arbeit und schön gestaltete Themen beigesteuert, Vorschläge gemacht und noch | ||
| 26512 | vieles mehr getan haben — vielen Dank! | ||
| 25103 | 26513 | ||
| 25104 | 26514 | ||
| 25105 | @c ********************************************************************* | 26515 | @c ********************************************************************* |
| 25106 | @node GNU-Lizenz für freie Dokumentation | 26516 | @node GNU-Lizenz für freie Dokumentation |
| 25107 | @appendix GNU-Lizenz für freie Dokumentation | 26517 | @appendix GNU-Lizenz für freie Dokumentation |
| 25108 | @cindex license, GNU Free Documentation License | 26518 | @cindex Lizenz, GNU-Lizenz für freie Dokumentation |
| 25109 | @include fdl-1.3.texi | 26519 | @include fdl-1.3.texi |
| 25110 | 26520 | ||
| 25111 | @c ********************************************************************* | 26521 | @c ********************************************************************* |
