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í revizePředchozí verze
Následující verze
Předchozí verze
navody:distribuce:nixos [2019/03/11 11:29] – added information about firewall by default and how to set it up martyetnavody:distribuce:nixos [2023/12/09 14:02] (aktuální) – Opraven odkaz na navody VPS aither
Řá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 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.
  
-To start using NixOS choose **[vpsAdminOS] NixOS** template+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á.
  
-If you have set your public SSH keys in vpsAdmin the key will be automatically deployed and you can login as root right awayTo be able to login with a password you need to set the password manually after your container is created.+===== 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.
  
-==== Initial setup & informations ====+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]].
  
-After installing NixOS (mainly talking about stable release) you **have to know**, that there is activated firewall by default blocking everything except ssh (port no. 22) so if you want to run some webserver (for example nginx) you have to tell firewall to not block your ports with this in your /etc/nixos/configuration.nix:nixos+===== Upgrade mezi verzemi =====
  
-<code>networking.firewall.allowedTCPPorts = [ 80 443 ];</code>+Upgrade probíhá standardním způsobem ve VPS, v průběhu aktualizace (načtení channel s balíčky, zbuildění konfigurace) však může být třeba ve vpsAdminu v detailu VPS změnit použitou verzi distribuce na novější (právě instalovanou).
  
-Then dont forget to do +Nejprve si vylistujeme stávající channel a zjistíme tak verzi a název kanálu:
  
-<code> nixos-rebuild switch</code> so your changes will take effect (without rebooting)+<code>sudo nix-channel --list</code>
  
 +Poté můžeme přidat channel nové verze na stejném kanálu (v případě VPS u vpsFree je to vždy nixos):
  
-==== Configuration ====+<code>sudo nix-channel --add https://nixos.org/channels/nixos-23.05 nixos</code>
  
-Configuration is available at <code>/etc/nixos/configuration.nix</code>+Následně můžeme udělat update (načtení kanálu a balíčků z něj):
  
-This can be altered to change container configuration on the fly or for next reboot. Try changing container hostname and running <code>nixos-rebuild switch</code> to build new configuration and directly switch to it. To switch to new configuration after reboot (set as a default boot profile) use <code>nixos-rebuild boot</code>+<code>sudo nix-channel --update</code>
  
-If you are using channels you can update your system by running <code>nixos-rebuild switch --upgrade</code>+A samotný upgrade systému:
  
-==== Package installation ====+<code>sudo nixos-rebuild switch --upgrade</code>
  
-Packages can be installed system wide via configuration.nix or for local profile via <code>nix-env</code>+V této fázi bude třeba velmi pravděpodobně změnit distribuci v detailu vps ve vpsAdminu a také upravit konfiguraci podle doporučení (různá změna konfigurace, tvarů názvů hodnot..) která vyskočí v terminálu.
  
-To install vim use <code>nix-env -iA nixos.vim</code>+===== Správa VPS ===== 
 +Přejdi na [[:domu|návody VPS]] pro více informací o naší infrastruktuře a možnostech VPS.
  
-To search for a package use <code>nix-env -qaP postgre</code> 
- 
-==== Manual ==== 
- 
-Consult NixOS manual for more https://nixos.org/nixos/manual/ 
- 
- 
-===== Legacy OpenVZ templates ===== 
- 
-<note important>Due to compatibility issues with OpenVZ it is no longer recommended to use the old infrastructure for new deployments.</note> 
- 
-==== 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 
navody/distribuce/nixos.1552303772.txt.gz · Poslední úprava: 2019/03/11 11:29 autor: martyet