Próximo: Invocando guix time-machine
, Anterior: Invocando guix gc
, Acima: Gerenciamento de pacote [Conteúdo][Índice]
guix pull
Os pacotes são instalados ou atualizados para a versão mais recente
disponível na distribuição atualmente disponível na sua máquina local. Para
atualizar essa distribuição, junto com as ferramentas Guix, você deve
executar guix pull
: o comando baixa o código-fonte Guix mais
recente e as descrições dos pacotes, e os implementa. O código-fonte é
baixado de um repositório Git, por
padrão o repositório oficial GNU Guix, embora isso possa ser
personalizado. guix pull
garante que o código que ele baixa é
autêntico, verificando se os commits são assinados pelos
desenvolvedores Guix.
Especificamente, guix pull
baixa o código dos canais
(veja Canais) especificados por um dos seguintes, nesta ordem:
channels
de guix-configuration
);
%default-channels
.
Após a conclusão, guix package
usará pacotes e versões de pacotes
desta cópia recém-recuperada do Guix. Não apenas isso, mas todos os comandos
Guix e módulos Scheme também serão retirados dessa versão mais
recente. Novos subcomandos guix
adicionados pela atualização
também se tornam disponíveis.
Qualquer usuário pode atualizar sua cópia do Guix usando guix
pull
, e o efeito é limitado ao usuário que executou guix
pull
. Por exemplo, quando o usuário root
executa guix
pull
, isso não tem efeito na versão do Guix que o usuário alice
vê,
e vice-versa.
O resultado da execução de guix pull
é um perfil disponível
em ~/.config/guix/current contendo o Guix mais recente.
A opção --list-generations ou -l lista gerações anteriores
produzidas por guix pull
, juntamente com detalhes sobre sua
procedência:
$ guix pull -l Geração 1 10 jun 2018 00:18:18 guix 65956ad URL do repositório: https://git.savannah.gnu.org/git/guix.git ramo: origin/master commit: 65956ad3526ba09e1f7a40722c96c6ef7c0936fe Geração 2 11 jun 2018 11:02:49 guix e0cc7f6 URL do repositório: https://git.savannah.gnu.org/git/guix.git ramo: origin/master commit: e0cc7f669bec22c37481dd03a7941c7d11a64f1d Geração 3 13 jun 2018 23:31:07 (atual) guix 844cc1c URL do repositório: https://git.savannah.gnu.org/git/guix.git ramo: origin/master commit: 844cc1c8f394f03b404c5bb3aee086922373490c
Veja guix describe
, para outras maneiras
de descrever o status atual do Guix.
Este perfil ~/.config/guix/current
funciona exatamente como os perfis
criados por guix package
(veja Invocando guix package
). Ou seja,
você pode listar gerações, reverter para a geração anterior — ou seja, o
Guix anterior — e assim por diante:
$ guix pull --roll-back trocado da geração 3 para 2 $ guix pull --delete-generations=1 excluindo /var/guix/profiles/per-user/charlie/current-guix-1-link
Você também pode usar guix package
(veja Invocando guix package
)
para gerenciar o perfil nomeando-o explicitamente:
$ guix package -p ~/.config/guix/current --roll-back trocado da geração 3 para 2 $ guix package -p ~/.config/guix/current --delete-generations=1 excluindo /var/guix/profiles/per-user/charlie/current-guix-1-link
O comando guix pull
geralmente é invocado sem argumentos, mas
suporta as seguintes opções:
--url=url
--commit=commit
--branch=ramo
Baixe o código para o canal guix
do url especificado, no
commit fornecido (um ID de commit Git válido representado como uma
string hexadecimal ou o nome de uma tag) ou ramo.
Essas opções são fornecidas para sua conveniência, mas você também pode especificar sua configuração no arquivo ~/.config/guix/channels.scm ou usando a opção --channels (veja abaixo).
--channels=arquivo
-C arquivo
Leia a lista de canais de arquivo em vez de ~/.config/guix/channels.scm ou /etc/guix/channels.scm. arquivo deve conter código Scheme que avalia uma lista de objetos de canal. Veja Canais, para mais informações.
--no-channel-files
-q
Inibir o carregamento dos arquivos de canal do usuário e do sistema, ~/.config/guix/channels.scm e /etc/guix/channels.scm.
--news
-N
Exibir notícias escritas por autores de canais para seus usuários para alterações feitas desde a geração anterior (veja Escrevendo Notícias de Canal). Quando --details é passado, exibir adicionalmente pacotes novos e atualizados.
Você pode visualizar essas informações de gerações anteriores com
guix pull -l
.
--list-generations[=padrão]
-l [padrão]
Liste todas as gerações de ~/.config/guix/current ou, se padrão
for fornecido, o subconjunto de gerações que correspondem a padrão. A
sintaxe de padrão é a mesma de guix package --list-generations
(veja Invocando guix package
).
Por padrão, isso imprime informações sobre os canais usados em cada revisão, bem como as entradas de notícias correspondentes. Se você passar --details, ele também imprimirá a lista de pacotes adicionados e atualizados em cada geração em comparação com a anterior.
--details
Instrua --list-generations ou --news para exibir mais informações sobre as diferenças entre gerações subsequentes — veja acima.
--roll-back
¶Reverta para a geração anterior de ~/.config/guix/current—ou seja, desfaça a última transação.
--switch-generation=padrão
¶-S padrão
Mude para uma geração específica definida por padrão.
padrão pode ser um número de geração ou um número prefixado com "+” ou "-”. O último significa: mover para frente/para trás por um número especificado de gerações. Por exemplo, se você quiser retornar para a última geração após --roll-back, use --switch-generation=+1.
--delete-generations[=padrão]
-d [padrão]
Quando padrão for omitido, exclua todas as gerações, exceto a atual.
Este comando aceita os mesmos padrões de --list-Generations. Quando pattern for especificado, exclua as gerações correspondentes. Quando padrão especifica uma duração, as gerações mais antigas que a duração especificada correspondem. Por exemplo, --delete-generations=1m exclui gerações com mais de um mês.
Se a geração atual corresponder, ela não será excluída.
Observe que a exclusão de gerações impede a reversão para elas. Conseqüentemente, este comando deve ser usado com cuidado.
Veja Invocando guix describe
, para uma maneira de exibir informações
somente sobre a geração atual.
--profile=perfil
-p perfil
Use perfil em vez de ~/.config/guix/current.
--dry-run
-n
Mostre quais commits de canal seriam usados e o que seria construído ou substituído, mas não faça isso de fato.
--allow-downgrades
Permitir extrair revisões de canais mais antigas ou não relacionadas às que estão em uso atualmente.
Por padrão, guix pull
protege contra os chamados "ataques de
downgrade”, nos quais o repositório Git de um canal seria redefinido para
uma revisão anterior ou não relacionada a si mesmo, potencialmente levando
você a instalar versões mais antigas e conhecidas de pacotes de software.
Nota: Certifique-se de entender as implicações de segurança antes de usar --allow-downgrades.
--disable-authentication
Permitir extrair código de canal sem autenticá-lo.
Por padrão, guix pull
autentica o código baixado de canais
verificando se seus commits são assinados por desenvolvedores autorizados e
gera um erro se esse não for o caso. Esta opção o instrui a não executar
nenhuma verificação desse tipo.
Nota: Certifique-se de entender as implicações de segurança antes de usar --disable-authentication.
--system=sistema
-s sistema
Tente compilar para sistema—por exemplo, i686-linux
—em vez
do tipo de sistema do host de compilação.
--bootstrap
Use o bootstrap Guile para construir o Guix mais recente. Esta opção é útil somente para desenvolvedores Guix.
O mecanismo dos canais permite que você instrua guix pull
de
qual repositório e branch extrair, bem como repositórios adicionais
contendo módulos de pacote que devem ser implantados. Veja Canais, para
mais informações.
Além disso, guix pull
suporta todas as opções de compilação comuns
(veja Opções de compilação comuns).
Próximo: Invocando guix time-machine
, Anterior: Invocando guix gc
, Acima: Gerenciamento de pacote [Conteúdo][Índice]