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

18

Ao instalar o 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?

sphoenix
fonte

Respostas:

33

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

A -Lopção de curlsignifica:

-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 addfaz 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 mencionado, -informa apt key addque o arquivo-chave deve ser lido no STDIN, que neste caso é o que foi canalizado a partir do curlcomando, portanto, em resumo:

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

Zanna
fonte