Как восстановить конфигурацию установки NixOS с Live CD?

rand=$(tr -dc '[:lower:]' </dev/urandom | 
    dd bs=1 count=1 status=none)
until [ "$in" = "$rand" ] && echo "correct" ; do
    in=$(stty raw 
    dd bs=1 count=1 status=none </dev/tty 
    stty sane )
    echo
done

Я думаю, что вышеперечисленное делает то, что вам нужно.

4
29.05.2018, 07:12
2 ответа

La forma más sencilla de hacerlo es instalar desde el LiveCD.

nixos-generate-configregenerará la configuración del hardware, pero si encuentra que configuration.nixya existe, lo dejará en paz. Y nixos-installestá diseñado de tal manera que se puede ejecutar de forma segura tantas veces como sea necesario.

Esto significa que puede seguir la guía de instalación principal utilizando el sistema de archivos (y la configuración )que ya creó para NixOS y continuar donde lo dejó.

Algunas cosas a tener en cuenta:

  • NixOS instalará systemd-bootde forma predeterminada en los sistemas EFI. Entonces terminará con un nuevo ejecutable EFI junto con los que ya tiene.
  • nixos-installtambién intentará configurar systemd-bootcomo el administrador de arranque predeterminado. Creo que puede deshabilitar esto configurando boot.loader.efi.canTouchEfiVariablesen falso enconfiguration.nix
  • Recomiendo instalar NixOS con una configuración básica; Por ejemplo, configure redes, usuarios e instale un editor de texto, pero no mucho más. La razón es que el LiveCD usa una tienda Nix que se encuentra en la memoria RAM. Su sistema se instalará primero en esta tienda Nix respaldada por RAM -y luego se copiará en el disco. Una vez instalado y arrancable, puede continuar con el resto de la configuración de forma segura.
6
27.01.2020, 20:57

Agregando esta respuesta para completar :en teoría, la sugerencia anterior de @ Mioriin de chrooting sería la respuesta correcta, que podría lograrse mediante el comando nixos-enter.

Desde Ubuntu, con las particiones de NixOS montadas en/mnt:

$ sudo $(which nixos-enter)
...
[root@nixos:/]# nixos-rebuild switch

En la práctica, esto no funcionó, porque la red no funcionaría (probablemente porque a mi configuration.nixle faltaba la configuración correcta en primer lugar )y recibí un montón de mensajes de error:

warning: Nix search path entry '/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs' does not exist, ignoring
warning: Nix search path entry '/nix/var/nix/profiles/per-user/root/channels' does not exist, ignoring
error: file 'nixpkgs/nixos' was not found in the Nix search path (add it using $NIX_PATH or -I), at (string):1:13
System has not been booted with systemd as init system (PID 1). Can't operate.
building Nix...
warning: Nix search path entry '/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs' does not exist, ignoring
warning: Nix search path entry '/nix/var/nix/profiles/per-user/root/channels' does not exist, ignoring
error: file 'nixpkgs/nixos' was not found in the Nix search path (add it using $NIX_PATH or -I)
warning: Nix search path entry '/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs' does not exist, ignoring
warning: Nix search path entry '/nix/var/nix/profiles/per-user/root/channels' does not exist, ignoring
error: file 'nixpkgs' was not found in the Nix search path (add it using $NIX_PATH or -I)
warning: unable to download 'https://cache.nixos.org/nix-cache-info': Couldn't resolve host name (6); retrying in 293 ms
^Cwarning: download of 'https://cache.nixos.org/nix-cache-info' was interrupted
don't know how to build these paths:
  /nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2
error: interrupted by the user
warning: don't know how to get latest Nix

Al final, la respuesta de @ Emmanuel Rosa es correcta, especialmente porque (como él señala,)nixos-installpuede ejecutarse de forma segura varias veces.

1
27.01.2020, 20:57

Теги

Похожие вопросы