Próximo: Configurando uma montagem vinculada, Anterior: Executando Guix em um Servidor Linode, Acima: Configuração do sistema [Conteúdo][Índice]
Para executar o Guix em um servidor hospedado por Kimsufi, clique na guia netboot, selecione Rescue64-pro e reinicie.
A OVH enviar-lhe-á por e-mail as credenciais necessárias para efetuar o ssh num sistema Debian.
Agora você pode executar as etapas "instalar guix de veja Instalação de binários em GNU Guix":
wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh chmod +x guix-install.sh ./guix-install.sh guix pull
Particione as unidades e formate-as, primeiro interrompa a matriz raid:
mdadm --stop /dev/md127 mdadm --zero-superblock /dev/sda2 /dev/sdb2
Em seguida, limpe os discos e configure as partições, criaremos uma matriz RAID 1.
wipefs -a /dev/sda wipefs -a /dev/sdb parted /dev/sda --align=opt -s -m -- mklabel gpt parted /dev/sda --align=opt -s -m -- \ mkpart bios_grub 1049kb 512MiB \ set 1 bios_grub on parted /dev/sda --align=opt -s -m -- \ mkpart primary 512MiB -512MiB set 2 raid on parted /dev/sda --align=opt -s -m -- mkpart primary linux-swap 512MiB 100% parted /dev/sdb --align=opt -s -m -- mklabel gpt parted /dev/sdb --align=opt -s -m -- \ mkpart bios_grub 1049kb 512MiB \ set 1 bios_grub on parted /dev/sdb --align=opt -s -m -- \ mkpart primary 512MiB -512MiB \ set 2 raid on parted /dev/sdb --align=opt -s -m -- mkpart primary linux-swap 512MiB 100%
Crie a matriz:
mdadm --create /dev/md127 --level=1 --raid-disks=2 \ --metadata=0.90 /dev/sda2 /dev/sdb2
Agora crie sistemas de arquivos nas partições relevantes, primeiro as partições de inicialização:
mkfs.ext4 /dev/sda1 mkfs.ext4 /dev/sdb1
Então a partição raiz:
mkfs.ext4 /dev/md127
Inicialize as partições swap:
mkswap /dev/sda3 swapon /dev/sda3 mkswap /dev/sdb3 swapon /dev/sdb3
Monte a unidade guix:
mkdir /mnt/guix mount /dev/md127 /mnt/guix
Agora é hora de escrever um arquivo os.scm de declaração do sistema operacional; aqui está uma amostra:
(use-modules (gnu) (guix)) (use-service-modules networking ssh vpn virtualization sysctl admin mcron) (use-package-modules ssh tls tmux vpn virtualization) (operating-system (host-name "kimsufi") (bootloader (bootloader-configuration (bootloader grub-bootloader) (targets (list "/dev/sda" "/dev/sdb")) (terminal-outputs '(console)))) ;; Adicionar um módulo de kernel para RAID-1 (conhecido como. "espelho"). (initrd-modules (cons* "raid1" %base-initrd-modules)) (mapped-devices (list (mapped-device (source (list "/dev/sda2" "/dev/sdb2")) (target "/dev/md127") (type raid-device-mapping)))) (swap-devices (list (swap-space (target "/dev/sda3")) (swap-space (target "/dev/sdb3")))) (issue ;;Conteúdo padrão para /etc/issue. "\ Este é o sistema GNU em Kimsufi. Bem-vindo.\n") (file-systems (cons* (file-system (mount-point "/") (device "/dev/md127") (type "ext4") (dependencies mapped-devices)) %base-file-systems)) (users (cons (user-account (name "guix") (comment "guix") (group "users") (supplementary-groups '("wheel")) (home-directory "/home/guix")) %base-user-accounts)) (sudoers-file (plain-file "sudoers" "\ root ALL=(ALL) ALL %wheel ALL=(ALL) ALL guix ALL=(ALL) NOPASSWD:ALL\n")) ;; Pacotes instalados globalmente. (packages (cons* tmux nss-certs gnutls wireguard-tools %base-packages)) (services (cons* (service static-networking-service-type (list (static-networking (addresses (list (network-address (device "enp3s0") (value "server-ip-address/24")))) (routes (list (network-route (destination "default") (gateway "server-gateway")))) (name-servers '("213.186.33.99"))))) (service unattended-upgrade-service-type) (service openssh-service-type (openssh-configuration (openssh openssh-sans-x) (permit-root-login #f) (authorized-keys `(("guix" ,(plain-file "ssh-key-name.pub" "ssh-public-key-content")))))) (modify-services %base-services (sysctl-service-type config => (sysctl-configuration (settings (append '(("net.ipv6.conf.all.autoconf" . "0") ("net.ipv6.conf.all.accept_ra" . "0")) %default-sysctl-settings))))))))
Não se esqueça de substituir as variáveis server-ip-address, server-gateway, ssh-key-name e ssh-public-key-content pelos seus próprias valores.
O gateway é o último IP utilizável em seu bloco, portanto, se você tiver um servidor com IP ‘37.187.79.10’, seu gateway será ‘37.187.79.254’.
Transfira o arquivo de declaração do sistema operacional os.scm para
o servidor por meio dos comandos scp
ou sftp
.
Agora só falta instalar o Guix com guix system init
e reiniciar.
No entanto, primeiro precisamos configurar um chroot, porque a partição raiz do sistema de recuperação é montada em uma partição aufs e se você tentar instalar o Guix ele falhará na etapa de instalação do GRUB reclamando do caminho canônico de "aufs".
Instale os pacotes que serão usados no chroot:
guix install bash-static parted util-linux-with-udev coreutils guix
Em seguida, execute o seguinte para criar os diretórios necessários para o chroot:
cd /mnt && \ mkdir -p bin etc gnu/store root/.guix-profile/ root/.config/guix/current \ var/guix proc sys dev
Copie o host resolv.conf no chroot:
cp /etc/resolv.conf etc/
Monte os dispositivos de bloco, o armazém e seu banco de dados e a configuração atual do guix:
mount --rbind /proc /mnt/proc mount --rbind /sys /mnt/sys mount --rbind /dev /mnt/dev mount --rbind /var/guix/ var/guix/ mount --rbind /gnu/store gnu/store/ mount --rbind /root/.config/ root/.config/ mount --rbind /root/.guix-profile/bin/ bin mount --rbind /root/.guix-profile root/.guix-profile/
Faça chroot em /mnt e instale o sistema:
chroot /mnt/ /bin/bash guix system init /root/os.scm /guix
Por fim, na interface do usuário (IU) da web, altere ‘netboot’ para ‘boot to disk’ e reinicie (também na IU da web).
Aguarde alguns minutos e tente fazer ssh com ssh guix@endereço
IP do servidor> -i caminho para sua chave ssh
Você deve ter um sistema Guix instalado e funcionando no Kimsufi; Parabéns!
Próximo: Configurando uma montagem vinculada, Anterior: Executando Guix em um Servidor Linode, Acima: Configuração do sistema [Conteúdo][Índice]