Uživatelské nástroje

Nástroje pro tento web


navody:distribuce:nixos

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í revize Předchozí verze
Následující verze
Předchozí verze
navody:distribuce:nixos [2017/10/31 09:48]
rmarko [Common issues] ssh, systemd232/233
navody:distribuce:nixos [2022/03/05 15:01] (aktuální)
Aither Ekvivalent anglicke verze
Řádek 1: Řádek 1:
-===== NixOS =====+<​page>​manuals:​distributions:​nixos</​page>​ 
 +====== NixOS =====
 +[[https://​nixos.org|NixOS]] je distribuce založená na balíčkovacím systému Nix. 
 +Konfigurace systému a všech služeb se provádí deklarativně. Tato stránka popisuje 
 +použití NixOS na vpsFree.cz VPS. Pro více informací o NixOS obecně viz 
 +[[https://​nixos.org/​learn.html|dokumentace]].
  
-NixOS template is available based on NixOS 17.03. NixOS allows declarative configuration management of the whole system and deployed services.+===== Podporované verze ===== 
 +Poskytujeme šablony VPS pro stabilní vydání ​NixOS a průběžně pro NixOS unstable.
  
-==== Configuration ====+Sami NixOS používáme na naší 
 +[[https://​github.com/​vpsfreecz/​vpsfree-cz-configuration|infrastruktuře]]. 
 +Naše virtualizační platforma [[navody:​vps:​vpsadminos|vpsAdminOS]] je dokonce 
 +na NixOS a nixpkgs založená.
  
-Configuration is available at <​code>/​etc/​nixos/​configuration.nix</​code>​+===== Prvotní konfigurace ===== 
 +VPS je vytvořeno ze šablony, která obsahuje minimální systém a SSH. 
 +Pro přihlášení je možné použít [[navody:​vps:​sprava#​heslo_roota|vygenerované heslo]], 
 +nebo si nechat [[navody:​vps:​sprava#​automaticke_vlozeni_klicu|nahrát veřejný klíč]] přes 
 +vpsAdmin. Systém lze pak spravovat pomocí ''​nixos-rebuild''​ nebo jiného nástroje 
 +na nasazení NixOS.
  
-This can be altered to change container configuration on the fly or for next rebootTry changing container hostname and running <​code>​nixos-rebuild switch</code> to build new configuration and directly switch to itTo switch to new configuration ​after reboot (set as a default boot profile) use <​code>​nixos-rebuild boot</code>+Naše VPS jsou linuxové kontejnery, není zde zavaděč, jádro je sdílené a je potřeba 
 +určité nastavení pro správnou funkci NixOSŠablona obsahuje tuto konfiguraci 
 +v souboru ''/​etc/​nixos/vpsadminos.nix'',​ který je naimportován z ''/​etc/​nixos/​configuration.nix''​. 
 +Aktuální modul s konfigurací je vždy možné stáhnout 
 +z [[https://​github.com/​vpsfreecz/​vpsadminos/​blob/​staging/​os/​lib/​nixos-container/vpsadminos.nix]].
  
-==== Package installation ​====+===== Správa VPS ===== 
 +Přejdi na [[/|návody VPS]] pro více informací o naší infrastruktuře a možnostech VPS.
  
-Packages can be installed system wide via configuration.nix or for local profile via <​code>​nix-env</​code>​ 
- 
-To install vim use <​code>​nix-env -iA nixos.vim</​code>​ 
- 
-To search for a package use <​code>​nix-env -qaP postgre</​code>​ 
- 
-==== Manual ==== 
- 
-Consult NixOS manual for more https://​nixos.org/​nixos/​manual/​ 
- 
-==== Common issues ==== 
- 
-=== SSH public key deployment fails === 
- 
-This can occur on first boot of the template when there'​s no ''/​root''​ yet. Disable automatic key deployment and deploy key manually **after** the containers boot. 
- 
-=== error: while setting up the build environment:​ unable to load seccomp BPF program: Invalid argument === 
- 
-Nix ≥ 1.11.10 requires seccomp, which is not available on vpsFree. To fix this, pin Nix to 1.11.9 by adding the following option to ''​configuration.nix''​ and rebuilding the system: 
- 
-<​code>​ 
-    nix.package = (import (pkgs.fetchFromGitHub { 
- owner = "​NixOS";​ 
- repo = "​nixpkgs";​ 
- rev = "​300fa462b31ad2106d37fcdb4b504ec60dfd62aa";​ 
- sha256 = "​1cbjmi34ll5xa2nafz0jlsciivj62mq78qr3zl4skgdk6scl328s";​ 
-    }) {}).nix; 
-</​code>​ 
- 
-In the future, it will be possible to [[https://​github.com/​NixOS/​nix/​commit/​1dd29d7aebae706f3e90a18bbfae727f2ed03c70|disable seccomp usage]]. 
- 
-=== systemd 233+ compatibility issues === 
- 
-Causes boot failures, workaround is pinning systemd to version 232: 
-<​code>​ 
-    nixpkgs.config.packageOverrides = super: ​ 
- let systemdGperfCompat = super.systemd.override { gperf = super.gperf_3_0;​ }; 
- in { 
-          systemd = systemdGperfCompat.overrideAttrs ( oldAttrs: rec { 
-            version = "​232";​ 
-            name = "​systemd-${version}";​ 
-            src = pkgs.fetchFromGitHub { 
-              owner = "​nixos";​ 
-              repo = "​systemd";​ 
-              rev = "​66e778e851440fde7f20cff0c24d23538144be8d";​ 
-              sha256 = "​1valz8v2q4cj0ipz2b6mh5p0rjxpy3m88gg9xa2rcc4gcmscndzk";​ 
-            }; 
-          }); 
-    }; 
-</​code>​ 
- 
-==== Details ==== 
- 
-Log contents 
-<​code>​ 
-Failed to canonicalize path /​etc/​systemd/​system/​local-fs.target.d:​ Too many levels of symbolic links 
- 
-$ journalctl -o verbose 
-    _EXE=/​nix/​store/​n5ksbh1hx275zfbqbalhghzpxp1w73lf-systemd-234/​lib/​systemd/​systemd 
-    _CMDLINE=/​run/​current-system/​systemd/​lib/​systemd/​systemd --system --deserialize 19 
-    CODE_FILE=src/​shared/​dropin.c 
-    CODE_LINE=133 
-    CODE_FUNC=unit_file_find_dir 
-    ERRNO=40 
-    MESSAGE=Failed to canonicalize path /​etc/​systemd/​system/​local-fs.target.d:​ Too many levels of symbolic links 
- 
-$ # strace output ​   
-open("/​etc/​systemd/​system/​local-fs.target",​ O_RDONLY|O_NOCTTY|O_NOFOLLOW|O_CLOEXEC) = -1 ELOOP (Too many levels of symbolic links) 
-readlinkat(AT_FDCWD,​ "/​etc/​systemd/​system/​local-fs.target",​ "/​nix/​store/​n5ksbh1hx275zfbqbalhg"​...,​ 99) = 94  
-open("/​nix/​store/​n5ksbh1hx275zfbqbalhghzpxp1w73lf-systemd-234/​example/​systemd/​system/​local-fs.target",​ O_RDONLY|O_NOCTTY|O_NOFOLLOW|O_CLOEXEC) = 12  
-fcntl(12, F_GETFL) ​             = 0xa8000 (flags O_RDONLY|O_LARGEFILE|O_NOFOLLOW|O_CLOEXEC) 
-fstat(12, {st_mode=S_IFREG|0444,​ st_size=507,​ ...}) = 0 
-fstat(12, {st_mode=S_IFREG|0444,​ st_size=507,​ ...}) = 0 
-getpid() ​                       = 1 
-fstat(12, {st_mode=S_IFREG|0444,​ st_size=507,​ ...}) = 0 
-read(12, "# ​ This file is part of systemd."​...,​ 512) = 507 
-open("/​dev/​urandom",​ O_RDONLY|O_NOCTTY|O_CLOEXEC) = 13  
-read(13, "​\26\265jV\260\276\7\3300\22J\264m~j\37",​ 16) = 16  
-close(13) ​                      = 0 
-read(12, "",​ 512)               = 0 
-close(12) ​                      = 0 
-open("/",​ O_RDONLY|O_NOFOLLOW|O_CLOEXEC|0x200000) = 12  
-openat(12, "​etc",​ O_RDONLY|O_NOFOLLOW|O_CLOEXEC|0x200000) = 13  
-fstat(13, {st_mode=S_IFDIR|0755,​ st_size=50, ...}) = 0 
-close(12) ​                      = 0 
-openat(13, "​systemd",​ O_RDONLY|O_NOFOLLOW|O_CLOEXEC|0x200000) = 12  
-fstat(12, {st_mode=S_IFDIR|0755,​ st_size=10, ...}) = 0 
-close(13) ​                      = 0 
-openat(12, "​system",​ O_RDONLY|O_NOFOLLOW|O_CLOEXEC|0x200000) = -1 ELOOP (Too many levels of symbolic links) 
-close(12) ​                      = 0 
-writev(3, [{"​Failed to canonicalize path /​etc"​...,​ 104}, {"​\n",​ 1}], 2) = 105 
-open("/",​ O_RDONLY|O_NOFOLLOW|O_CLOEXEC|0x200000) = 12  
-openat(12, "​etc",​ O_RDONLY|O_NOFOLLOW|O_CLOEXEC|0x200000) = 13  
-fstat(13, {st_mode=S_IFDIR|0755,​ st_size=50, ...}) = 0 
-close(12) ​                      = 0 
-openat(13, "​systemd",​ O_RDONLY|O_NOFOLLOW|O_CLOEXEC|0x200000) = 12  
-fstat(12, {st_mode=S_IFDIR|0755,​ st_size=10, ...}) = 0 
-close(13) ​                      = 0 
-openat(12, "​system",​ O_RDONLY|O_NOFOLLOW|O_CLOEXEC|0x200000) = -1 ELOOP (Too many levels of symbolic links) 
-close(12) ​                      = 0 
-writev(3, [{"​Failed to canonicalize path /​etc"​...,​ 100}, {"​\n",​ 1}], 2) = 101 
-open("/​etc/​systemd/​system/​emergency.target",​ O_RDONLY|O_NOCTTY|O_NOFOLLOW|O_CLOEXEC) = -1 ELOOP (Too many levels of symbolic links) 
-readlinkat(AT_FDCWD,​ "/​etc/​systemd/​system/​emergency.target",​ "/​nix/​store/​n5ksbh1hx275zfbqbalhg"​...,​ 99) = 95  
-open("/​nix/​store/​n5ksbh1hx275zfbqbalhghzpxp1w73lf-systemd-234/​example/​systemd/​system/​emergency.target",​ O_RDONLY|O_NOCTTY|O_NOFOLLOW|O_CLOEXEC) = 12  
-fcntl(12, F_GETFL) ​             = 0xa8000 (flags O_RDONLY|O_LARGEFILE|O_NOFOLLOW|O_CLOEXEC 
-</​code>​ 
navody/distribuce/nixos.1509439727.txt.gz · Poslední úprava: 2017/10/31 09:48 autor: rmarko