Uživatelské nástroje

Nástroje pro tento web


navody:distribuce:guix

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
navody:distribuce:guix [2026/08/17 11:09] – Napojení na revizi zdroje a testy konfigurace aithernavody:distribuce:guix [2026/08/19 14:43] (aktuální) – Aktualizace dědění kontejnerové konfigurace Guixu a příkladu nasazení aither
Řádek 20: Řádek 20:
   * ''/etc/config/vpsadminos.scm'' zajišťuje běh Guixu v kontejneru vpsAdminOS.   * ''/etc/config/vpsadminos.scm'' zajišťuje běh Guixu v kontejneru vpsAdminOS.
  
-''system.scm'' načítá modul ''vpsadminos'' z druhého souboruToto propojení +''system.scm'' vyhledá v modulu ''vpsadminos'' základ 
-zachovej: definuje kontejnerový bootloader, souborové systémy a službukterá +''%ct-operating-system-base'' a zdědí jeho nastaveníVyhledání modulu a dědění 
-při startu spouští síťovou konfiguraci vytvořenou vpsAdminOS. Aktuální podobu +zachovej: základ obsahuje kontejnerový bootloader, souborové systémy, zástupný 
-obou souborů najdeš v+kernel, balíčky, služby a síťovou integraci. Aktuální podobu obou souborů najdeš 
 +v
 [[https://github.com/vpsfreecz/vpsadminos/tree/staging/image-scripts/images/guix|adresáři šablony pro Guix v repozitáři vpsAdminOS]]. [[https://github.com/vpsfreecz/vpsadminos/tree/staging/image-scripts/images/guix|adresáři šablony pro Guix v repozitáři vpsAdminOS]].
  
Řádek 31: Řádek 32:
 ===== Úprava konfigurace ===== ===== Úprava konfigurace =====
  
-Nejdřív uprav ''/etc/config/system.scm''Můžeš změnit například hostname+Nejdřív uprav ''/etc/config/system.scm''Najdeš v něm výchozí hostname, časové 
-balíčky a seznam služeb. Strukturu ''%ct-services''''%ct-file-systems''+pásmo a locale, které můžeš změnit. Můžeš přidat také přímo vyhodnocovaná pole
-''%ct-bootloader'' ponech modulu ''vpsadminos''.+například ''packages''. Vyhledání ''platform-system''řádek 
 +''(inherit platform-system)'' zachovej, aby zůstala aktivní nastavení pro tuto 
 +platformu. 
 + 
 +Při změně služeb nejdřív odvoď seznam služeb mimo záznam 
 +''operating-system'', ulož jej do proměnné a tu přiřaď poli ''services''
 +Stejný postup používá příklad nasazení níže. Guix vyhodnocuje pole služeb až po 
 +načtení konfigurace, proto nesmí záviset na vazbách v dočasném konfiguračním 
 +modulu.
  
 Konfiguraci aktivuj jako ''root'': Konfiguraci aktivuj jako ''root'':
Řádek 108: Řádek 117:
 ;; Načti udržovanou integraci kontejnerů vpsAdminOS. ;; Načti udržovanou integraci kontejnerů vpsAdminOS.
 (add-to-load-path "/etc/config") (add-to-load-path "/etc/config")
-(use-modules (vpsadminos) +(use-modules (gnu)
-             (gnu)+
              (gnu machine)              (gnu machine)
              (gnu machine ssh)              (gnu machine ssh)
              (gnu services base))              (gnu services base))
-(use-package-modules nss ssh) 
 (use-service-modules ssh) (use-service-modules ssh)
  
-;; Tyto soubory se nacházejí na stroji, ze kterého spouštíš guix deploy. +(let* ((platform-system 
-(define %controller-signing-key +        (module-ref (resolve-interface '(vpsadminos)) 
-  (local-file "/etc/guix/signing-key.pub")) +                    '%ct-operating-system-base)) 
-(define %root-ssh-key +       ;; Tyto soubory jsou na stroji, ze kterého spouštíš guix deploy. 
-  (local-file "/root/.ssh/id_ed25519.pub")) +       (controller-signing-key 
- +        (local-file "/etc/guix/signing-key.pub")) 
-(define %system +       (root-ssh-key 
-  (operating-system +        (local-file "/root/.ssh/id_ed25519.pub")) 
-    (host-name "guix-target") +       ;; Sestav seznam služeb dříve, než jej přiřadíš zpožděně vyhodnocovanému poli. 
-    (timezone "Etc/UTC"+       (user-services 
-    (locale "en_US.utf8"+        (cons 
-    (firmware '()) +         (simple-service 'controller-signing-key 
-    (initrd-modules '()) +                         guix-service-type 
-    (kernel %ct-dummy-kernel) +                         (guix-extension 
- +                          (authorized-keys 
-    (packages (cons* nss-certs +                           (list controller-signing-key)))) 
-                     %base-packages)) +         (modify-services 
- +             (operating-system-user-services platform-system) 
-    (essential-services +           (openssh-service-type config => 
-     (modify-services +             (openssh-configuration 
-         (operating-system-default-essential-services this-operating-system) +              (inherit config
-       (delete firmware-service-type) +              (permit-root-login 'prohibit-password) 
-       (delete (service-kind %linux-bare-metal-service)))) +              (password-authentication? #f) 
- +              (authorized-keys 
-    (bootloader %ct-bootloader) +               `(("root" ,root-ssh-key)))))))) 
-    (file-systems %ct-file-systems) +       (system 
- +        (operating-system 
-    (services +          (inherit platform-system) 
-     (cons* (service openssh-service-type +          (host-name "guix-target") 
-                     (openssh-configuration +          (timezone "Etc/UTC") 
-                      (openssh openssh-sans-x+          (locale "en_US.utf8"
-                      (permit-root-login 'prohibit-password) +          (services user-services))) 
-                      (password-authentication? #f) +       (target-machine 
-                      (authorized-keys +        (machine 
-                       `(("root" ,%root-ssh-key))))) +          (operating-system system) 
-            (simple-service 'controller-signing-key +          (environment managed-host-environment-type) 
-                            guix-service-type +          (configuration 
-                            (guix-extension +           (machine-ssh-configuration 
-                             (authorized-keys +            ;; Nahraď adresu a hostitelský klíč údaji cílové VPS. 
-                              (list %controller-signing-key)))) +            (host-name "192.0.2.3"
-            %ct-services)))+            (system "x86_64-linux"
- +            (user "root"
-(define %machine +            (identity "/root/.ssh/id_ed25519"
-  (machine +            (host-key "ssh-ed25519 REPLACE_WITH_TARGET_HOST_KEY"
-    (operating-system %system) +            (authorize? #t) 
-    (environment managed-host-environment-type) +            (allow-downgrades? #f) 
-    (configuration +            ;; vpsAdminOS poskytuje jádro a používá zástupný kořen /dev/null. 
-     (machine-ssh-configuration +            ;; Guix proto nemůže provést kontroly souborového systému a initrd určené pro fyzický stroj. 
-      ;; Nahraď adresu a hostitelský klíč údaji cílové VPS. +            (safety-checks? #f)))))) 
-      (host-name "192.0.2.3"+  (list target-machine))
-      (system "x86_64-linux"+
-      (user "root"+
-      (identity "/root/.ssh/id_ed25519"+
-      (host-key "ssh-ed25519 REPLACE_WITH_TARGET_HOST_KEY"+
-      (authorize? #t) +
-      (allow-downgrades? #f) +
-      ;; vpsAdminOS poskytuje jádro a používá zástupný kořen /dev/null. +
-      ;; Guix proto nemůže provést kontroly souborového systému a initrd určené pro fyzický stroj. +
-      (safety-checks? #f))))) +
- +
-(list %machine)+
 </code> </code>
  
navody/distribuce/guix.txt · Poslední úprava: autor: aither