Como removo uma linha malformada da minha sources.list?

60

Eu instalei e reinstalei o Ubuntu Software Center de acordo com informações que encontrei em um tópico semelhante e recebi a mesma resposta sobre a linha 91 ou algo parecido.

Eu apenas tentei fazer upload de uma captura de tela, mas como sou nova, isso não me permite. Eu também não consigo descobrir como cortar e colar qualquer coisa, então eu tenho que digitar o que diz a tela de erro, tanto quando eu tento abrir o centro de software e nada acontece, quando tento inserir comandos no terminal para desinstalar, reinstalar , seja o que for que eu receba da seguinte forma:

COULD NOT INTITIALIZE THE PACKAGE INFORMATION
An unresolvable problem occured while initializing the package information
Please report t:his bug against the 'update-manager' package and include the
following error message:
'E: Malformed line 91 in source list/etc/apt/sources.list (dist parse) 
E: The list of sources could not be read., 
E: The package list of status file could not be parsed or opened.

Como denuncio bugs? O que pode ser feito sobre isso. Eu pesquisei e tudo o que todo mundo diz para fazer me leva de volta à mesma mensagem de erro de linha.

Então, eu não sei como chegar à linha 91 na lista de fontes; para te dizer o que diz. Desculpe, sou muito novo nisso. Isso é o que eu preciso é descobrir como chegar lá e consertar o que diz. Eu realmente gostaria de não ter que particionar novamente meu disco rígido e começar do zero, então estou realmente ansioso para resolver este problema. Eu preciso ser capaz de instalar um novo software.

    
por eminencejae 13.11.2011 / 21:43

9 respostas

44

Algumas linhas estão quebradas no seu arquivo sources.list (ou outro arquivo *.list em sources.list.d/ ).

Edite o arquivo mencionado no erro para corrigir as linhas quebradas.

  1. Para fazer isso, execute este comando (pressione Ctrl + Alt + T para abrir um Terminal):

    sudo -H gedit /etc/apt/sources.list
    

    Se necessário, substitua /etc/apt/sources.list por outro nome de arquivo.

  2. Encontre as linhas que estão formatadas incorretamente (consulte o erro de um número de linha e, em seguida, examine esse ponto). Estes são exemplos de linhas formatadas corretamente:

    # Comment, marked by a line starting with '#'
    deb http://site.example.com/debian distribution component1 component2 component3
    deb-src http://site.example.com/debian distribution component1 component2 component3
    

    O URL, distribution e os componentes serão diferentes. Não precisa necessariamente ter 3 componentes.

    Qualquer coisa que não se encaixe nesse formato está incorreta.

  3. Salve o arquivo e saia do editor de texto. Em seguida, execute este comando em uma janela do Terminal:

    sudo apt-get update
    

Supondo que não há erros, o problema está corrigido. Você deve ser capaz de executar o Centro de Software.

No entanto, enquanto alguns problemas com o Centro de Software podem ser resolvidos através da reinstalação do pacote software-center , a maioria não pode, por isso é possível que o seu problema original permaneça. Se for esse o caso, você pode postar uma nova pergunta para obter ajuda.

    
por Eliah Kagan 21.08.2012 / 15:06
26

Método Rápido

Uma solução alternativa para esse problema pode estar construindo a entrada sources.list a partir do zero.

deb http://archive.ubuntu.com/ubuntu precise main universe restricted multiverse
deb-src http://archive.ubuntu.com/ubuntu precise universe main multiverse restricted

deb http://security.ubuntu.com/ubuntu/ precise-security universe main multiverse restricted
deb http://archive.ubuntu.com/ubuntu precise-updates universe main multiverse restricted
deb http://archive.ubuntu.com/ubuntu precise-backports universe main multiverse restricted

# deb http://archive.canonical.com/ubuntu precise partner
# deb-src http://archive.canonical.com/ubuntu precise partner

# deb http://extras.ubuntu.com/ubuntu precise main
# deb-src http://extras.ubuntu.com/ubuntu precise main
  • Copie o conteúdo acima (na caixa cinza) e abra o arquivo sources.list como root.

    Digitar sudo -H gedit /etc/apt/sources.list isso em um terminal e pressionar Enter fará o trabalho.

  • Em seguida, cole o conteúdo copiado no sources.list - note que você provavelmente precisará substituir precise pelo nome de código que representa sua versão do Ubuntu - por exemplo, trusty para 14.04. Em seguida, salve e feche o gedit.

  • Em seguida, faça sudo apt-get update e você verá que a lista de repositórios está atualizada.

Explicação: Aqui estamos substituindo completamente o conteúdo por outro arquivo sources.list com entrada de repositório do Servidor Principal. Se você quiser usar seu servidor local para sources.list , consulte o método abaixo.

Método Recomendado

Vá para o site do gerador de listas de fontes do Ubuntu .

  • Selecione seu país.
  • Selecione seus ramos desejados, como Principal, Restrito, Multiverso, Universo.
  • Selecione a lista de atualizações desejada, -
  • Selecione qualquer lista de repositórios de terceiros, se desejar.
  • Clique em Gerar lista na parte inferior da página, você receberá uma lista com repositórios.
  • Copie essa lista e substitua pelo arquivo sources.list que você tem.

Você terminou. (Espero que isso ajude.)

    
por Anwar 18.06.2012 / 07:24
6

Como você pode ver no erro, ele diz que seu arquivo sources.list tem uma entrada errada. Esta entrada errada não pôde ser analisada. Este erro não está relacionado ao Centro de Software como tal, mas principalmente ao apt (O gerenciador de pacotes)

A maneira de resolver isso seria corrigir a linha malformada 91 entry.

Se você não consegue entender o que está errado com a linha 91, por favor poste a linha 91 e eu irei te ajudar

    
por Manish Sinha 13.11.2011 / 21:50
6

Por favor, cole o arquivo /etc/apt/sources.list para que possamos solucionar esse problema para você. Veja esta breve resposta tutorial de como fazer isso:

  

Como posso compartilhar facilmente a saída de um comando ou um arquivo de texto com outras pessoas?

Isso pode às vezes ser uma correção muito fácil, mas você deve fazer backup sources.list primeiro, já que é um arquivo crítico.

  1. Abra o terminal com Ctrl + Alt + T .
  2. Digite / cole: sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (isso cria uma cópia de backup)
  3. sudo sed -i -e '68d' /etc/apt/sources.list (isto elimina a linha problemática)
  4. sudo apt-get update (atualiza o banco de dados com o arquivo com correção esperada)

Se você não vir nenhum erro quando tentar a etapa 4, o problema será resolvido. Você pode sair do terminal e voltar ao Software Center / Update Manager e ele deve funcionar.

Se ainda houver um problema, você poderá restaurar o arquivo original do terminal com sudo cp /etc/apt/sources.list.backup /etc/apt/sources.list . Nesse caso, cole as linhas problemáticas ou até mesmo o arquivo inteiro em um pastebin e, em seguida, podemos ajudar ainda mais.

    
por ish 18.06.2012 / 01:50
5

O arquivo /etc/apt/sources.list contém os URLs dos servidores da Web e o local de outro formulário de fontes (por exemplo, cds), do qual você recupera o software e as atualizações. Basicamente, ele diz ao Ubuntu onde procurar por novos softwares e atualiza os programas já instalados. A mensagem de erro que você obteve significa que, de alguma forma, o arquivo foi comprometido. Sem saber qual é o conteúdo do seu arquivo, é difícil saber exatamente o que há de errado com ele. Então você deve postar a saída de sudo more /etc/apt/sources.list para nos ajudarmos melhor.

Se o arquivo estiver bagunçado além do reparo, você pode usar o Gerador de listas de fontes do Ubuntu para gerar um sources.list novamente. Mas você deve fazer o backup do seu antigo antecipadamente. Isso também fará com que você perca todas as alterações feitas em suas fontes de software, por exemplo, no Centro de Sofware.

A melhor maneira de corrigir isso é nos deixar ver o que está errado com o seu sources.list

Editar depois de postar seu sources.list :

Acredito que o arquivo que você postou tenha esta aparência (anote o último para as linhas e o /etc/apt/sources.list ausente no final):

# /etc/apt/sources.list

deb http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse 
deb http://security.ubuntu.com/ubuntu/ precise-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://archive.canonical.com/ubuntu partner
deb-src http://archive.canonical.com/ubuntu partner
    
por con-f-use 31.07.2012 / 19:23
4

Se você enfrentar qualquer erro de linha malformado como abaixo, eu recomendo strongmente que você comente ( adicionando # antes da linha ) a linha em vez de excluí-la no arquivo /etc/apt/sources.list .

E: Malformed line 91 in source list /etc/apt/sources.list (dist parse)

Do erro acima, o número da linha 91 no arquivo /etc/apt/sources.list está corrompido. Para comentar o número da linha 91, você precisa executar o comando abaixo no terminal.

sudo sed -i '91s/\(.*\)/#/' /etc/apt/sources.list

91 no código acima representa o número da linha. Substitua o número 91 no código acima pelo seu, caso tenha recebido um erro de linha malformado.

Em alguns casos, um erro de linha malformado também ocorrerá em um arquivo de lista que estava realmente presente no diretório /etc/apt/sources.list.d . Por exemplo,

E: Malformed line 1 in source list /etc/apt/sources.list.d/google.list (dist parse)

Nesse caso, eu recomendo strongmente que você exclua o arquivo google.list executando sudo rm /etc/apt/sources.list.d/google.list e, em seguida, adicione o PPA correspondente novamente.

Finalmente atualize todos os repositórios executando o comando sudo apt-get update no terminal. Agora o erro não será exibido.

    
por Avinash Raj 06.05.2014 / 10:42
4

Por favor, tente editar o seu arquivo sources.list descartando sudo gedit /etc/apt/sources.list em um terminal (sua senha pode ser solicitada), após o qual você terá as opções para habilitar "Números de Linha" no Menu Editar / Preferências do gEdit e clicando na caixa de seleção "Exibir números de linha" e, em seguida, vá manualmente para a Linha em seu erro, por exemplo, 91 ou usando "Search / Go to line" (Ctrl + I faz o truque).

No início da linha 91, solte dois # símbolos ( ## ) para comentar sobre essa linha e remova-a do processo de atualização (você também pode excluir essa linha por sua conta e risco, sugiro um backup ).

Quando terminar, salve o arquivo e feche-o. Em seguida, abra um terminal e execute sudo apt-get update e veja se o erro ainda aparece. Caso contrário, tente abrir seu gerenciador de atualização.

De alguma forma, parece que o texto na Linha 91 do seu arquivo sources.list está corrompido ou há algum tipo de erro, o que significa que alguns softwares não podem ser instalados / atualizados / atualizados.

Ao comentar / remover a linha errônea, o software não será instalado (se já não estiver) ou não será atualizado / atualizado se isso for o que você tentar. Dos quais eu sugiro que você verifique de onde vem essa linha (qual software requer) e faça as devidas modificações conforme necessário para que tudo corra bem.

    
por Geppettvs D'Constanzo 24.04.2013 / 18:48
3

Você tem que apagar a última linha deste arquivo (não o arquivo em si, é claro):

 /etc/apt/sources.list

Seu arquivo sources.list precisa ser algo assim:

# /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse 
deb http://security.ubuntu.com/ubuntu/ precise-security main restricted universe   multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://archive.canonical.com/ partner
deb-src http://archive.canonical.com/ partner

É claro que apenas substituir o arquivo sources.list por esse texto pode ser uma coisa muito ruim, especialmente se antes era bem diferente. O ponto-chave é que cada linha começa com deb ou deb-src (exceto para comentários, que começam com # ).

    
por Malika Queen 01.08.2012 / 16:07
1

Abra um terminal usando CTRL + Alt + T e execute o comando abaixo para remover a linha 6, que não é a forma correta de repositório linha de origem, assim, apt dar um erro sobre a linha malformada.

ATENÇÃO: Não execute este comando sem antes ler a pergunta, este comando irá deletar a linha 68 do arquivo /etc/apt/sources.list . Verifique se o seu problema é semelhante a e, mesmo que seja, substitua 68 pelo número da linha que você precisa excluir .

sudo sed -i.old '68d' /etc/apt/sources.list

Este comando excluirá a linha usando sed no lugar. Faz um backup chamado /etc/apt/sources.list.old . Se você não quiser o backup, use o -i em vez de -i.old .

Como alternativa, você pode excluir manualmente a linha com o Gedit.

  • Pressione Alt + F2 e digite gksu gedit /etc/apt/sources.list .
    (Se você não tem gksu , pode usar sudo -H gedit .)
  • Encontre o /etc/apt/sources.list corrompido e remova-o.
  • Salve e saia do Gedit.

Forma correta da linha de origem do repositório:

O formato correto da linha de origem do repositório é:

<type of repository> <location i.e URI>  <dist-name> <components i.e main, universe>

Por exemplo:

  deb http://archive.ubuntu.com/ubuntu precise main
  • Tipo: deb é o tipo de repositório, indica que é um repositório binário, não um repositório de origem, que possui o tipo deb-scr .
  • Localização: http://archive.ubuntu.com/ubuntu localização do repositório
  • Nome-dist: precise é o nome da distribuição do lançamento do Ubuntu. para o Ubuntu 12.04 é precise , 11.10 é oneiric

  • Componente: main está indicando o componente do repositório. O repositório do Ubuntu está dividido em quatro partes.

    1. Principal - Que contém software gratuito e de código aberto, oficialmente suportado
    2. Universe - Estes softwares não são suportados pela Canonical, mas são mantidos pela comunidade.
    3. Restricted - Esses softwares são suportados pela Canonical, mas não são gratuitos. Estes são suportados para fornecer alguns drivers essenciais
    4. Multiverse - Estes também são softwares não-livres e não são suportados pela Canonical.

Veja esta página para mais informações.

Agora você pode entender que /etc/apt/sources.list não é uma linha de origem do repositório e, portanto, apt-get reclamando sobre isso.

por Anwar 01.08.2012 / 15:44