Como corrigir uma entrada malformada neste arquivo apt [duplicado]

3

Aqui está a mensagem de erro:

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

Isso é o que está escrito no meu arquivo:

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

O que está errado?

    
por iljaN 04.05.2017 / 15:47

1 resposta

7

A entrada correta para o arquivo deve ser algo como isto:

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

onde zesty deve ser substituído pelo codinome de sua versão de lançamento do ubuntu .

O $(lsb_release -sc) deve ser um comando shell script que seria expandido pelo shell (por exemplo, bash) quando você digita algo parecido com isto no terminal:

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

O comando shell acima deve chamar o comando lsb_release para descobrir o nome de código correto do ubuntu (por exemplo, zesty para 17.04, yakkety para 16.10, xenial para 16.04). A saída de lsb_release, que deve ser o nome do código de lançamento do ubuntu, seria então interpolada na string entre aspas e, em seguida, gravada no arquivo /etc/apt/sources.list.d/ros-latest.list.

No entanto, você deve colocar um espaço extra entre $ e ( ao digitar o comando, o que faz com que o $ (lsb_release -sc) seja gravado literalmente, em vez de ter a saída do comando lsb_release interpolada no arquivo de configuração .

    
por Lie Ryan 04.05.2017 / 16:05

Tags