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 [2026/08/10 17:49] (aktuální) – panika | ||
|---|---|---|---|
| Řá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í '' | ||
| - | This can be altered to change container configuration on the fly or for next reboot. Try changing container hostname and running | + | < |
| + | nixos-rebuild switch | ||
| + | </ | ||
| - | ==== Package installation ==== | + | 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. V šabloně je proto vpsAdminOS jako flake input a potřebný | ||
| + | modul je importován do konfigurace systému. | ||
| - | Packages can be installed system wide via configuration.nix or for local profile via < | + | Při vytvoření VPS a reinstalaci systému je možné do VPS přes vpsAdmin nahrát a nasadit vlastní |
| + | konfiguraci, | ||
| - | To install vim use < | + | ===== Správa VPS ===== |
| + | Přejdi na [[: | ||
| - | To search for a package use < | + | ===== Impermanence ===== |
| + | Viz [[navody: | ||
| - | ==== Manual | + | ===== GitHub API limit ===== |
| + | Nixpkgs se stahují z [[https:// | ||
| + | Při vyčerpání Nix (respektive GitHub API) zahlásí: | ||
| + | < | ||
| + | error: unable to download ' | ||
| - | 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 | + | |
| - | + | ||
| - | < | + | |
| - | nix.package = (import (pkgs.fetchFromGitHub { | + | |
| - | owner = "NixOS"; | + | |
| - | repo = "nixpkgs"; | + | |
| - | rev = "300fa462b31ad2106d37fcdb4b504ec60dfd62aa"; | + | |
| - | sha256 = " | + | |
| - | | + | |
| </ | </ | ||
| - | + | Řešením je [[https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens# | |
| - | 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: | + | # configuration.nix |
| - | let systemdGperfCompat = super.systemd.override { gperf = super.gperf_3_0; | + | nix.settings.access-tokens |
| - | in { | + | |
| - | systemd = systemdGperfCompat.overrideAttrs ( oldAttrs: rec { | + | |
| - | version | + | |
| - | name = " | + | |
| - | src = pkgs.fetchFromGitHub { | + | |
| - | owner = "nixos"; | + | |
| - | 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) | ||
| - | </ | ||