Next: , Up: Instalação   [Contents][Index]


2.1 Instalação de binários

Esta seção descreve como instalar o Guix em um sistema arbitrário a partir de um tarball independente que fornece binários para o Guix e para todas as suas dependências. Isso geralmente é mais rápido do que instalar do código-fonte, o que é descrito nas próximas seções. O único requisito é ter o GNU tar e Xz.

Nota: We recommend the use of this shell installer script. The script automates the download, installation, and initial configuration steps described below. It should be run as the root user. As root, you can thus run this:

cd /tmp
wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
chmod +x guix-install.sh
./guix-install.sh

If you’re running Debian or a derivative such as Ubuntu, you can instead install the package (it might be a version older than 1.4.0 but you can update it afterwards by running ‘guix pull’):

sudo apt install guix

Likewise on openSUSE:

sudo zypper install guix

When you’re done, see Configuração de aplicativo for extra configuration you might need, and Primeiros passos for your first steps!

A instalação segue as seguintes linhas:

  1. Download the binary tarball from ‘https://ftp.gnu.org/gnu/guix/guix-binary-1.4.0.x86_64-linux.tar.xz’, where x86_64-linux can be replaced with i686-linux for an i686 (32-bits) machine already running the kernel Linux, and so on (see Distribuição GNU).

    Certifique-se de baixar o arquivo .sig associado e verificar a autenticidade do tarball, seguindo estas linhas:

    $ wget https://ftp.gnu.org/gnu/guix/guix-binary-1.4.0.x86_64-linux.tar.xz.sig
    $ gpg --verify guix-binary-1.4.0.x86_64-linux.tar.xz.sig
    

    Se esse comando falhar porque você não possui a chave pública requerida, execute este comando para importá-lo:

    $ wget 'https://sv.gnu.org/people/viewgpg.php?user_id=15145' \
          -qO - | gpg --import -
    

    e execute novamente o comando gpg --verify.

    Take note that a warning like “This key is not certified with a trusted signature!” is normal.

  2. Agora, você precisa se tornar o usuário root. Dependendo de sua distribuição, você pode ter que executar su - ou sudo -i. Como root, execute:
    # cd /tmp
    # tar --warning=no-timestamp -xf \
         /path/to/guix-binary-1.4.0.x86_64-linux.tar.xz
    # mv var/guix /var/ && mv gnu /
    

    This creates /gnu/store (see O armazém) and /var/guix. The latter contains a ready-to-use profile for root (see next step).

    Não descompacte o tarball em um sistema Guix funcional, pois isso substituiria seus próprios arquivos essenciais.

    The --warning=no-timestamp option makes sure GNU tar does not emit warnings about “implausibly old time stamps” (such warnings were triggered by GNU tar 1.26 and older; recent versions are fine). They stem from the fact that all the files in the archive have their modification time set to 1 (which means January 1st, 1970). This is done on purpose to make sure the archive content is independent of its creation time, thus making it reproducible.

  3. Torne o perfil disponível sob ~root/.config/guix/current, que é onde guix pull vai instalar atualizações (see Invocando guix pull):
    # mkdir -p ~root/.config/guix
    # ln -sf /var/guix/profiles/per-user/root/current-guix \
             ~root/.config/guix/current
    

    Source etc/profile to augment PATH and other relevant environment variables:

    # GUIX_PROFILE="`echo ~root`/.config/guix/current" ; \
      source $GUIX_PROFILE/etc/profile
    
  4. Crie o grupo e contas de usuário para compilar usuários conforme explicado abaixo (see Configuração do ambiente de compilação).
  5. Execute o daemon e configure-o para iniciar automaticamente na inicialização do sistema.

    Se sua distro hospedeira usa o sistema init systemd, isso pode ser obtido com estes comandos:

    # cp ~root/.config/guix/current/lib/systemd/system/gnu-store.mount \
         ~root/.config/guix/current/lib/systemd/system/guix-daemon.service \
         /etc/systemd/system/
    # systemctl enable --now gnu-store.mount guix-daemon
    

    You may also want to arrange for guix gc to run periodically:

    # cp ~root/.config/guix/current/lib/systemd/system/guix-gc.service \
         ~root/.config/guix/current/lib/systemd/system/guix-gc.timer \
         /etc/systemd/system/
    # systemctl enable --now guix-gc.timer
    

    You may want to edit guix-gc.service to adjust the command line options to fit your needs (see Invocando guix gc).

    Se sua distro hospedeira usa o sistema init Upstart:

    # initctl reload-configuration
    # cp ~root/.config/guix/current/lib/upstart/system/guix-daemon.conf \
         /etc/init/
    # start guix-daemon
    

    Caso contrário, você ainda pode iniciar o daemon manualmente com:

    # ~root/.config/guix/current/bin/guix-daemon \
           --build-users-group=guixbuild
    
  6. Disponibilize o comando guix para outros usuários na máquina, por exemplo, com:
    # mkdir -p /usr/local/bin
    # cd /usr/local/bin
    # ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix
    

    Também é uma boa ideia disponibilizar a versão Info deste manual:

    # mkdir -p /usr/local/share/info
    # cd /usr/local/share/info
    # for i in /var/guix/profiles/per-user/root/current-guix/share/info/* ;
      do ln -s $i ; done
    

    That way, assuming /usr/local/share/info is in the search path, running info guix will open this manual (see Other Info Directories in GNU Texinfo, for more details on changing the Info search path).

  7. To use substitutes from ci.guix.gnu.org, bordeaux.guix.gnu.org or a mirror (see Substitutos), authorize them:
    # guix archive --authorize < \
         ~root/.config/guix/current/share/guix/ci.guix.gnu.org.pub
    # guix archive --authorize < \
         ~root/.config/guix/current/share/guix/bordeaux.guix.gnu.org.pub
    

    Nota: If you do not enable substitutes, Guix will end up building everything from source on your machine, making each installation and upgrade very expensive. See Confiança em binários, for a discussion of reasons why one might want do disable substitutes.

  8. Cada usuário pode precisar executar algumas etapas adicionais para tornar seu ambiente Guix pronto para uso, see Configuração de aplicativo.

Voilà, a instalação está completa!

Você pode confirmar que o Guix está funcionando instalando um pacote de amostra no perfil raiz:

# guix install hello

O tarball da instalação binária pode ser (re)produzido e verificado simplesmente executando o seguinte comando na árvore de código-fonte do Guix:

make guix-binary.system.tar.xz

... que, por sua vez, executa:

guix pack -s system --localstatedir \
  --profile-name=current-guix guix

See Invocando guix pack, para mais informações sobre essa ferramenta útil.


Next: Requisitos, Up: Instalação   [Contents][Index]