wget lança um 'url ausente' ao tentar instalar uma chave de assinatura do repositório

4

Estou instalando o INetSim no Ubuntu e ao executar este comando para instalar a chave de assinatura do programa:

sudo wget -O - http://www.inetsim.org/inetsim.org-archive-signing-key.asc | apt-key add -

Eu recebo a mensagem:

wget: missing URL
Usage: wget [OPTION]... [URL]...

Try 'wget --help' for more options.

Por que estou recebendo esse erro?

    
por BDillan 08.09.2015 / 23:33

1 resposta

7

O comando wget no texto da sua pergunta não corresponde ao comando da captura de tela. Aqui está o comando na sua captura de tela:

sudo wget -O http://www.inetsim.org/inetsim.org-archive-signing-key.asc | apt-key add -

Aqui está o comando em seu texto de exemplo; verifique também o comando usado nas instruções de instalação oficiais do INetSim :

sudo wget -O - http://www.inetsim.org/inetsim.org-archive-signing-key.asc | apt-key add -

Observe a diferença sutil? O que está falhando está perdendo o - entre sudo wget -O e o URL que o segue. Experimente com o - e ele deve funcionar bem.

Só para você entender o que estava - ou não - acontecendo, o -O ( --output-document sinalizador precisou que - diga wget para transmitir o conteúdo dessa URL para a saída padrão. Se você acabou de correu o comando assim:

wget http://www.inetsim.org/inetsim.org-archive-signing-key.asc

Tudo o que o wget faria seria salvar esse arquivo localmente em seu sistema em um arquivo chamado inetsim.org-archive-signing-key.asc . Mas definindo -O - e, em seguida, tendo esse canal ( | ) para | apt-key add - o comando está basicamente dizendo, transmita o conteúdo desse arquivo para o padrão, então canalize essa saída para apt-key add para que o conteúdo da chave possa ser adicionado à sua lista de repositórios apt .

Além disso, sua captura de tela mostra o erro adicional:

ERROR: This command can only be used by root.

Isso está diretamente relacionado à falta do traço em seu comando; faz com que tudo mais falhe também.

Se o (s) pipe (s) do comando for (em) quebrado (a) todo o comando falhará e ele nunca chegará ao ponto em que você será solicitado a digitar a sudo password. Mas o resto do comando ainda está sendo analisado de qualquer maneira.

Então, mesmo que o comando completo falhe, ainda está tentando executar apt-key . E como a parte restante do comando de uma linha é basicamente separada do restante do comando sudo invoked anterior - que nunca foi invocado como sudo devido ao erro - ele tenta executar apt-key como um valor normal. usuário então diz:

ERROR: This command can only be used by root.

Porque, sim ... A tentativa de executar apt-key como um usuário normal / sem privilégios é, na verdade, um erro.

    
por 08.09.2015 / 23:38

Tags