Qual é o significado dos comandos combinados 'curl' + 'apt-key add'?

12

Durante a instalação do Heroku CLI, há um comando que encontrei. Aqui está o comando:

curl -L https://cli-assets.heroku.com/apt/release.key | sudo apt-key add -

O que significa e como funciona?

    
por sphoenix 06.04.2017 / 09:57

1 resposta

26

curl é um utilitário para baixar algo de um link. Por padrão, ele grava em STDOUT (ou seja, imprime coisas do link no terminal)

A opção -L para curl significa:

-L, --location
         (HTTP/HTTPS)  If the server reports that the requested page has moved to a 
         different location (indicated with a Location: header and a 3XX response 
         code), this option will make curl redo the request on the new place...

O operador | é um canal, que passa a saída do comando antes dele como o STDIN do comando depois dele.

apt-key é um utilitário para adicionar chaves confiáveis ao apt para repositórios. Você pode ver o que o add faz com man apt-key :

add <filename>
         Add a new key to the list of trusted keys. The key is read from the 
         filename given with the parameter filename or if the filename is -
         from standard input.

Como menciona, - informa apt key add que o arquivo de chave deve ser lido de STDIN, que neste caso é o que foi canalizado do comando curl , portanto, em suma:

Faça o download do que estiver neste link, mesmo que tenha sido movido, e adicione-o como uma chave de repositório do APT confiável.

    
por Zanna 06.04.2017 / 10:07