Próximo: Executando Guix em um servidor Kimsufi, Anterior: Customizando um Gerenciador de Janelas, Acima: Configuração do sistema [Conteúdo][Índice]
Para executar o Guix num servidor hospedado por Linode, comece com um servidor Debian recomendado. Recomendamos usar a distribuição padrão como forma de inicializar o Guix. Crie suas chaves SSH.
ssh-keygen
Certifique-se de adicionar sua chave SSH para facilitar o login no servidor remoto. Isto é feito trivialmente através da interface gráfica do Linode para adicionar chaves SSH. Vá para o seu perfil e clique em adicionar chave SSH. Copie nele a saída de:
cat ~/.ssh/<username>_rsa.pub
Desligue o Linode.
Na aba Armazenamento do Linode, redimensione o disco Debian para ser menor. Recomenda-se 30 GB de espaço livre. Em seguida, clique em "Adicionar um disco" e preencha o formulário com o seguinte:
Na aba Configurações, pressione “Editar” no perfil Debian padrão. Em "Bloquear atribuição de dispositivo", clique em "Adicionar um dispositivo". Deve ser /dev/sdc e você pode selecionar o disco "Guix". Salvar alterações.
Agora "Adicionar uma configuração", com o seguinte:
Agora ligue-o novamente, inicializando com a configuração do Debian. Quando
estiver em execução, faça ssh para o seu servidor via ssh
root@<your-server-IP-here>
. (Você pode encontrar o endereço IP do
seu servidor na seção Resumo do Linode.) Agora você pode executar as etapas
"instalar o guix de veja Instalação de binários em GNU Guix":
sudo apt-get install gpg wget https://sv.gnu.org/people/viewgpg.php?user_id=15145 -qO - | gpg --import - wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh chmod +x guix-install.sh ./guix-install.sh guix pull
Agora é hora de escrever uma configuração para o servidor. As principais informações estão abaixo. Salve o arquivo resultante como guix-config.scm.
(use-modules (gnu) (guix modules)) (use-service-modules networking ssh) (use-package-modules admin package-management ssh tls) (operating-system (host-name "my-server") (timezone "America/New_York") (locale "en_US.UTF-8") ;; Este código bobo irá gerar o grub.cfg ;; sem instalar o bootloader grub no disco. (bootloader (bootloader-configuration (bootloader (bootloader (inherit grub-bootloader) (installer #~(const #true)))))) (file-systems (cons (file-system (device "/dev/sda") (mount-point "/") (type "ext4")) %base-file-systems)) (swap-devices (list "/dev/sdb")) (initrd-modules (cons "virtio_scsi" ; Necessário para encontrar o disco %base-initrd-modules)) (users (cons (user-account (name "janedoe") (group "users") ;; Adicionando a conta ao grupo "wheel" ;; o torna um super-usuário (supplementary-groups '("wheel")) (home-directory "/home/janedoe")) %base-user-accounts)) (packages (cons* openssh-sans-x %base-packages)) (services (cons* (service dhcp-client-service-type) (service openssh-service-type (openssh-configuration (openssh openssh-sans-x) (password-authentication? #false) (authorized-keys `(("janedoe" ,(local-file "janedoe_rsa.pub")) ("root" ,(local-file "janedoe_rsa.pub")))))) %base-services)))
Substitua os seguintes campos na configuração acima:
(host-name "my-server"); substitua pelo nome do seu servidor ; se você escolheu um servidor linode fora dos EUA, então ; use tzselect para encontrar uma string de fuso horário correta (timezone "America/New_York"); se necessário, substitua o fuso horário (name "janedoe"); substitua pelo seu nome de usuário ("janedoe" ,(local-file "janedoe_rsa.pub")) ; substitua pela sua chave ssh ("root" ,(local-file "janedoe_rsa.pub")) ; substitua pela sua chave ssh
A última linha no exemplo acima permite que você faça login no servidor como root e defina a senha root inicial (veja a nota no final desta receita sobre login root). Depois de fazer isso, você pode excluir essa linha da sua configuração e reconfigurar para evitar o login root.
Copie sua chave pública ssh (por exemplo: ~/.ssh/id_rsa.pub) como <seu-nome-de-usuário-aqui>_rsa.pub e coloque guix-config.scm no mesmo diretório. Em um novo terminal execute estes comandos.
sftp root@<endereço IP do servidor remoto> put /caminho/para/arquivos/<nome de usuário>_rsa.pub . put /caminho/para/arquivos/guix-config.scm .
No seu primeiro terminal, monte o drive guix:
mkdir /mnt/guix mount /dev/sdc /mnt/guix
Devido à forma como configuramos a seção bootloader do guix-config.scm, apenas o arquivo de configuração grub será instalado. Então, precisamos copiar algumas das outras coisas do GRUB já instaladas no sistema Debian:
mkdir -p /mnt/guix/boot/grub cp -r /boot/grub/* /mnt/guix/boot/grub/
Agora inicialize a instalação do Guix:
guix system init guix-config.scm /mnt/guix
Ok, desligue-o! Agora, no console Linode, selecione boot e selecione "Guix".
Depois de inicializar, você poderá fazer login via SSH! (A configuração do servidor terá mudado.) Você pode encontrar um erro como:
$ ssh root@<server ip address> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:0B+wp33w57AnKQuHCvQP0+ZdKaqYrI/kyU7CfVbS7R4. Please contact your system administrator. Add correct host key in /home/joshua/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /home/joshua/.ssh/known_hosts:3 ECDSA host key for 198.58.98.76 has changed and you have requested strict checking. Host key verification failed.
Exclua o arquivo ~/.ssh/known_hosts ou exclua a linha incorreta começando com o endereço IP do seu servidor.
Certifique-se de definir sua senha e a senha do root.
ssh root@<endereço IP remoto> passwd; para a senha root passwd <nome de usuário>; para a senha do usuário
Talvez você não consiga executar os comandos acima neste momento. Se você tiver problemas para fazer login remotamente em sua caixa linode via SSH, então você ainda pode precisar definir sua senha root e de usuário inicialmente clicando na opção “Launch Console” em seu linode. Escolha “Glish” em vez de “Weblish”. Agora você deve conseguir fazer o ssh na máquina.
Viva! Neste ponto você pode desligar o servidor, excluir o disco Debian e redimensionar o Guix para o restante do tamanho. Parabéns!
A propósito, se você salvá-lo como uma imagem de disco neste momento, será fácil criar novas imagens Guix! Pode ser necessário reduzir o tamanho da imagem Guix para 6144 MB para salvá-la como uma imagem. Então você pode redimensioná-lo novamente para o tamanho máximo.
Próximo: Executando Guix em um servidor Kimsufi, Anterior: Customizando um Gerenciador de Janelas, Acima: Configuração do sistema [Conteúdo][Índice]