4

Я устанавливаю INetSim в Ubuntu и при запуске этой команды устанавливаю ключ подписи для программы:

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

Я получаю сообщение:

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

Try `wget --help' for more options.

Почему я получаю эту ошибку?

1 ответ1

10

Команда wget в тексте вашего вопроса не соответствует команде на вашем скриншоте. Вот команда на вашем скриншоте:

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

Вот команда в вашем примере текста; также проверьте команду, использованную в официальных инструкциях по установке INetSim:

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

Обратите внимание на тонкую разницу? В том, что терпит неудачу, отсутствует - между sudo wget -O и URL, который следует за ним. Попробуйте это с - и оно должно работать нормально.

Точно так же вы понимаете , что было или wasn't-происходит, флаг -O --output-document необходимо что - сказать wget для потоковой передачи содержимого этого URL на стандартный вывод. Если вы просто запустили команду так:

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

Все, что может сделать wget - это сохранить этот файл локально в вашей системе в файл с именем inetsim.org-archive-signing-key.asc . Но устанавливая -O - и затем имея эту трубу (|) к | apt-key add - команда в основном говорит, передайте содержимое этого файла на стандартный путь, затем перенаправьте вывод в apt-key add чтобы содержимое ключа можно было добавить в ваш список репозитория apt .

Также на вашем скриншоте показана дополнительная ошибка:

ОШИБКА: эта команда может использоваться только пользователем root.

Это напрямую связано с отсутствием черты в вашей команде; это заставляет все остальное терпеть неудачу также.

Если канал (ы) команды нарушены, вся команда завершится неудачно, и она никогда не достигнет точки, в которой вас попросят ввести пароль sudo . Но остальная часть команды все равно анализируется.

Таким образом, даже если полная команда потерпит неудачу, она все еще пытается запустить apt-key . А поскольку оставшаяся часть однострочной команды в основном отделена от остальной части предыдущей команды sudo которая никогда не вызывалась как sudo из-за ошибки, она пытается запустить apt-key как обычный пользователь, затем она говорит :

ОШИБКА: эта команда может использоваться только пользователем root.

Потому что, да ... Попытка запустить apt-key от имени обычного / непривилегированного пользователя действительно является ошибкой.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .