Próximo: , Anterior: , Acima: Gerenciamento de pacote   [Conteúdo][Índice]


5.10 Invocando guix describe

Frequentemente você pode querer responder perguntas como: “Qual revisão do Guix estou usando?” ou “Quais canais estou usando?” Essas são informações úteis em muitas situações: se você quiser replicar um ambiente em uma máquina ou conta de usuário diferente, se quiser relatar um bug ou determinar qual alteração nos canais que você está usando o causou, ou se quiser registrar o estado do seu sistema para fins de reprodutibilidade. O comando guix describe responde a essas perguntas.

Quando executado a partir de um guix obtido com guix pull, guix describe exibe o(s) canal(ais) dos quais foi criado, incluindo a URL do repositório e os IDs de confirmação (veja Canais):

$ guix describe
Geração 10	03 set 2018 17:32:44	(atual)
  guix e0fa68c
    URL do repositório: https://git.savannah.gnu.org/git/guix.git
    ramo: master
    commit: e0fa68c7718fffd33d81af415279d6ddb518f727

Se você estiver familiarizado com o sistema de controle de versão do Git, isso é similar em espírito a git describe; a saída também é similar à de guix pull --list-generations, mas limitada à geração atual (veja a opção --list-generations). Como o ID de commit do Git mostrado acima se refere inequivocamente a um snapshot do Guix, essa informação é tudo o que é preciso para descrever a revisão do Guix que você está usando e também para replicá-la.

Para facilitar a replicação do Guix, guix describe também pode ser solicitado a retornar uma lista de canais em vez da descrição legível acima:

$ guix describe -f channels
(list (channel
        (name 'guix)
        (url "https://git.savannah.gnu.org/git/guix.git")
        (commit
          "e0fa68c7718fffd33d81af415279d6ddb518f727")
        (introduction
          (make-channel-introduction
            "9edb3f66fd807b096b48283debdcddccfea34bad"
            (openpgp-fingerprint
              "BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA")))))

Você pode salvar isso em um arquivo e alimentá-lo com guix pull -C em alguma outra máquina ou em um momento posterior, o que instanciará esta revisão exata do Guix (veja a opção -C). A partir daí, já que você consegue implementar a mesma revisão do Guix, você pode muito bem replicar um ambiente de software completo. Humildemente achamos isso incrível, e esperamos que você goste também!

Os detalhes das opções suportadas por guix describe são os seguintes:

--format=formato
-f formato

Produza saída no formato especificado, um dos seguintes:

human

produzir resultados legíveis por humanos;

channels

produz uma lista de especificações de canal que podem ser passadas para guix pull -C ou instaladas como ~/.config/guix/channels.scm (veja Invocando guix pull);

channels-sans-intro

como channels, mas omita o campo introduction; use-o para produzir uma especificação de canal adequada para a versão 1.1.0 do Guix ou anterior — o campo introduction tem a ver com autenticação de canal (veja Autenticação de canal) e não é suportado por essas versões mais antigas;

json

produzir uma lista de especificações de canal no formato JSON;

recutils

produzir uma lista de especificações de canais no formato Recutils.

--list-formats

Exibir formatos disponíveis para a opção --format.

--profile=perfil
-p perfil

Exibir informações sobre perfil.


Próximo: Invocando guix archive, Anterior: Inferiores, Acima: Gerenciamento de pacote   [Conteúdo][Índice]