Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
navody:distribuce:nixos [2017/10/31 08:48] – [Common issues] ssh, systemd232/233 rmarko | navody:distribuce:nixos [2024/10/22 07:30] (aktuální) – impermanence aither | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | ===== NixOS ===== | + | < |
+ | ====== NixOS ====== | ||
+ | [[https:// | ||
+ | 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 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í | ||
- | ==== Configuration ==== | + | Sami NixOS používáme na naší |
+ | [[https:// | ||
+ | Naše virtualizační platforma [[navody: | ||
+ | na NixOS a nixpkgs založená. | ||
- | Configuration is available at < | + | ===== 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: | ||
+ | nebo si nechat [[navody: | ||
+ | vpsAdmin. Systém lze pak spravovat pomocí '' | ||
+ | na nasazení NixOS. | ||
- | This can be altered to change container configuration on the fly or for next reboot. Try changing container hostname and running < | + | 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 ''/ | ||
+ | Aktuální modul s konfigurací je vždy možné stáhnout | ||
+ | z [[https:// | ||
- | ==== Package installation | + | ===== Správa VPS ===== |
+ | Přejdi na [[: | ||
- | Packages can be installed system wide via configuration.nix or for local profile via < | + | ===== Impermanence ===== |
+ | Viz [[navody: | ||
- | To install vim use < | ||
- | |||
- | To search for a package use < | ||
- | |||
- | ==== Manual ==== | ||
- | |||
- | Consult NixOS manual for more https:// | ||
- | |||
- | ==== Common issues ==== | ||
- | |||
- | === SSH public key deployment fails === | ||
- | |||
- | This can occur on first boot of the template when there' | ||
- | |||
- | === error: while setting up the build environment: | ||
- | |||
- | 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 '' | ||
- | |||
- | < | ||
- | nix.package = (import (pkgs.fetchFromGitHub { | ||
- | owner = " | ||
- | repo = " | ||
- | rev = " | ||
- | sha256 = " | ||
- | }) {}).nix; | ||
- | </ | ||
- | |||
- | In the future, it will be possible to [[https:// | ||
- | |||
- | === systemd 233+ compatibility issues === | ||
- | |||
- | Causes boot failures, workaround is pinning systemd to version 232: | ||
- | < | ||
- | nixpkgs.config.packageOverrides = super: | ||
- | let systemdGperfCompat = super.systemd.override { gperf = super.gperf_3_0; | ||
- | in { | ||
- | systemd = systemdGperfCompat.overrideAttrs ( oldAttrs: rec { | ||
- | version = " | ||
- | name = " | ||
- | src = pkgs.fetchFromGitHub { | ||
- | owner = " | ||
- | repo = " | ||
- | rev = " | ||
- | sha256 = " | ||
- | }; | ||
- | }); | ||
- | }; | ||
- | </ | ||
- | |||
- | ==== Details ==== | ||
- | |||
- | Log contents | ||
- | < | ||
- | Failed to canonicalize path / | ||
- | |||
- | $ journalctl -o verbose | ||
- | _EXE=/ | ||
- | _CMDLINE=/ | ||
- | CODE_FILE=src/ | ||
- | CODE_LINE=133 | ||
- | CODE_FUNC=unit_file_find_dir | ||
- | ERRNO=40 | ||
- | MESSAGE=Failed to canonicalize path / | ||
- | |||
- | $ # strace output | ||
- | open("/ | ||
- | readlinkat(AT_FDCWD, | ||
- | open("/ | ||
- | fcntl(12, F_GETFL) | ||
- | fstat(12, {st_mode=S_IFREG|0444, | ||
- | fstat(12, {st_mode=S_IFREG|0444, | ||
- | getpid() | ||
- | fstat(12, {st_mode=S_IFREG|0444, | ||
- | read(12, "# | ||
- | open("/ | ||
- | read(13, " | ||
- | close(13) | ||
- | read(12, "", | ||
- | close(12) | ||
- | open("/", | ||
- | openat(12, " | ||
- | fstat(13, {st_mode=S_IFDIR|0755, | ||
- | close(12) | ||
- | openat(13, " | ||
- | fstat(12, {st_mode=S_IFDIR|0755, | ||
- | close(13) | ||
- | openat(12, " | ||
- | close(12) | ||
- | writev(3, [{" | ||
- | open("/", | ||
- | openat(12, " | ||
- | fstat(13, {st_mode=S_IFDIR|0755, | ||
- | close(12) | ||
- | openat(13, " | ||
- | fstat(12, {st_mode=S_IFDIR|0755, | ||
- | close(13) | ||
- | openat(12, " | ||
- | close(12) | ||
- | writev(3, [{" | ||
- | open("/ | ||
- | readlinkat(AT_FDCWD, | ||
- | open("/ | ||
- | fcntl(12, F_GETFL) | ||
- | </ |