Как исправить некорректную запись в этом apt-файле [дубликат]

На этот вопрос уже есть ответ здесь:

Вот сообщение об ошибке:

E: Malformed entry 1 in list file /etc/apt/sources.list.d/ros-latest.list (Component)

Это то, что написано в моем файле:

deb http://packages.ros.org/ros/ubuntu $
(lsb_release -sc) main

Что не так?

3
задан 4 May 2017 в 21:58

1 ответ

Корректная запись для файла должна выглядеть примерно так:

deb http://packages.ros.org/ros/ubuntu zesty main

, где пикантный должен быть заменен , кодовое название Вашей версии выпуска .

человечности Эти $(lsb_release -sc), как предполагается, является командой сценария оболочки, которая была бы расширена оболочкой (например, удар), когда Вы вводите что-то вроде этого в терминале:

echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ros-latest.list

команда оболочки выше, как предполагается, звонят команда lsb_release для выяснения корректного кодового названия человечности (например, пикантный для 17,04, yakkety для 16,10, гостеприимный для 16,04). Вывод lsb_release, который должен быть кодовым названием выпуска человечности, был бы затем интерполирован в строку между кавычками и затем записан в файл/etc/apt/sources.list.d/ros-latest.list.

Однако Вы, должно быть, поместили дополнительное пространство между $ и ( при вводе команды, которая заставляет $ (lsb_release -sc) быть записанной буквально, вместо того, чтобы иметь вывод команды lsb_release, интерполированной в файл конфигурации.

7
ответ дан 1 December 2019 в 13:23

Другие вопросы по тегам:

Похожие вопросы: