Come rimuovo una linea malformata dal mio sources.list?

60

Ho disinstallato e reinstallato il software Ubuntu come da informazioni che ho trovato in un thread simile e ho ottenuto la stessa risposta sulla riga 91 o qualcosa del genere.

Ho appena provato a caricare una schermata ma da quando sono nuovo non me lo consente. Inoltre non riesco a capire come tagliare e incollare nulla, quindi devo digitare a mano quello che dice la schermata di errore, sia quando tento di aprire il centro software e non succede nulla, quando provo a inserire comandi nel terminale per disinstallare, reinstallare , qualunque cosa ottenga lo stesso che segue:

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.

Come posso segnalare bug? Cosa si può fare a riguardo. Ho cercato e tutto ciò che tutti dicono di fare mi riconduce allo stesso messaggio di errore di riga.

Quindi, non so come arrivare alla riga 91 nella lista dei sorgenti; per dirti cosa dice Scusate, sono davvero nuovo a questo. Questo è quello di cui ho bisogno è scoprire come arrivarci e correggere ciò che dice. Mi piacerebbe davvero NON dover riordinare il mio disco rigido e ricominciare da zero, quindi non vedo davvero l'ora di risolvere questo problema. Devo essere in grado di installare un nuovo software.

    
posta eminencejae 13.11.2011 - 21:43

9 risposte

44

Alcune linee sono rotte nel tuo file sources.list (o un altro *.list file in sources.list.d/ ).

Modifica il file indicato nell'errore per correggere le linee spezzate.

  1. Per farlo, esegui questo comando (premi Ctrl + Alt + T per aprire un terminale):

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

    Se necessario, sostituisci /etc/apt/sources.list con un altro nome di file.

  2. Trova le linee che sono formattate in modo errato (fai riferimento all'errore per un numero di riga, quindi guarda intorno a quel punto). Questi sono esempi di linee formattate correttamente:

    # 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
    

    L'URL, distribution e componenti saranno diversi. Non deve necessariamente avere 3 componenti.

    Tutto ciò che non si adatta a questo formato non è corretto.

  3. Salva il file e chiudi l'editor di testo. Quindi esegui questo comando in una finestra di Terminale:

    sudo apt-get update
    

Supponendo che non ci siano errori, il problema è stato risolto. Dovresti essere in grado di eseguire il Sofware Center.

Tuttavia, mentre alcuni problemi con il Software Center possono essere risolti reinstallando il pacchetto software-center , la maggior parte non può, quindi è possibile che il problema originale rimanga. In questo caso, puoi pubblicare una nuova domanda per ottenere aiuto con esso.

    
risposta data Eliah Kagan 21.08.2012 - 15:06
26

Metodo rapido

Una soluzione alternativa per questo problema può essere la creazione della voce sources.list da 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
  • Copia il contenuto precedente (in una casella grigia) e apri il file sources.list come root.

    Digitando sudo -H gedit /etc/apt/sources.list questo in un terminale e premendo Invio farà il lavoro.

  • Quindi incolla il contenuto copiato in sources.list - nota che probabilmente dovrai sostituire precise con il nome in codice che rappresenta la tua versione di Ubuntu - ad es. trusty per 14.04. Quindi salva e chiudi gedit.

  • Quindi fai sudo apt-get update e vedrai che l'elenco degli archivi è stato aggiornato.

Spiegazione: qui stiamo sostituendo completamente il contenuto con un altro file sources.list con la voce repository dal server principale. Se desideri utilizzare il tuo server locale per sources.list , consulta il metodo di seguito.

Metodo consigliato

Vai al sito del generatore di liste di fonti di Ubuntu .

  • Seleziona il tuo Paese.
  • Seleziona i rami desiderati, come Principale, Riservato, Multiverso, Universo.
  • Seleziona l'elenco di aggiornamento desiderato, -
  • Seleziona qualsiasi elenco di repository di terze parti, se lo desideri.
  • Fai clic su Genera lista nella parte inferiore della pagina, ti verrà fornito un elenco con i repository.
  • Copia l'elenco e sostituisci con sources.list file che hai.

Hai finito. (Spero che questo ti aiuti.)

    
risposta data Anwar 18.06.2012 - 07:24
6

Come puoi vedere dall'errore, dice che il tuo file sources.list ha una voce errata. Non è stato possibile analizzare questa voce errata. Questo errore non è correlato a Software Center in quanto tale, ma principalmente a apt (The package manager)

Il modo per risolvere questo problema è correggere la riga 91 non corretta.

Se non riesci a capire cosa c'è di sbagliato con la riga 91, per favore pubblica la riga 91 e ti aiuterò

    
risposta data Manish Sinha 13.11.2011 - 21:50
6

Incolla il file /etc/apt/sources.list in modo che possiamo risolvere questo problema per te. Vedi questa breve risposta al tutorial su come farlo:

  

Come posso condividere facilmente l'output di un comando o di un file di testo con altri?

Questo può a volte essere una soluzione molto semplice, ma tu devi eseguire il backup sources.list prima poiché si tratta di un file critico.

  1. Apri il terminale con Ctrl + Alt + T .
  2. Tipo / incolla: sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (ciò crea una copia di backup)
  3. sudo sed -i -e '68d' /etc/apt/sources.list (questo elimina la riga problematica)
  4. sudo apt-get update (questo aggiorna il database con il file fissato con speranza)

Se non vedi nessun errore quando provi il passaggio 4, il problema è risolto. È possibile uscire dal terminale e tornare a Software Center / Update Manager e dovrebbe funzionare.

Se c'è ancora un problema, puoi ripristinare il file originale dal terminale con sudo cp /etc/apt/sources.list.backup /etc/apt/sources.list . In tal caso, incolla le righe problematiche o anche l'intero file in un pastebin e quindi possiamo dare una mano in più.

    
risposta data ish 18.06.2012 - 01:50
5

Il file /etc/apt/sources.list contiene gli URL dei server Web e il percorso di altre fonti (ad es. cds), da cui si recuperano il software e gli aggiornamenti. In pratica dice a Ubuntu dove cercare il nuovo software e gli aggiornamenti ai programmi già installati. Il messaggio di errore che hai ottenuto significa che in qualche modo il file è stato compromesso. Senza sapere quale sia il contenuto del tuo file, è difficile sapere cosa c'è di sbagliato in esso. Quindi dovresti pubblicare l'output di sudo more /etc/apt/sources.list per aiutarci a migliorare.

Se il file è incasinato oltre la riparazione, puoi utilizzare il generatore di elenchi di origini di Ubuntu per generare un sources.list di nuovo. Ma dovresti eseguire il backup di quello precedente in anticipo. Inoltre, ciò causerà la perdita di tutte le modifiche apportate alle Sorgenti software, ad es. in Sofware Center.

Il modo migliore per risolvere questo problema è farci vedere che cosa non va con il tuo sources.list

Modifica dopo aver pubblicato il tuo sources.list :

Credo che il file che hai pubblicato dovrebbe apparire come questo (nota l'ultimo a righe e il /etc/apt/sources.list mancante alla fine):

# /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
    
risposta data con-f-use 31.07.2012 - 19:23
4

Se si verificano errori di riga malformati come di seguito, ti consiglio vivamente di commentare ( aggiungendo # prima della riga ) la riga anziché eliminarla nel file /etc/apt/sources.list .

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

Dall'errore sopra riportato, il numero di riga 91 in /etc/apt/sources.list file è danneggiato. Per commentare il numero di riga 91, devi eseguire il comando seguente sul terminale.

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

91 nel codice precedente rappresenta il numero di riga. Sostituisci il numero 91 nel codice precedente con il tuo se hai qualche errore di linea malformato.

In alcuni casi, un errore di riga non valido si verifica anche in un file di elenco effettivamente presente nella directory /etc/apt/sources.list.d . Ad esempio,

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

In questo caso ti consiglio vivamente di eliminare il file google.list eseguendo sudo rm /etc/apt/sources.list.d/google.list e quindi di aggiungere nuovamente il PPA corrispondente.

Infine aggiorna tutti i repository eseguendo il comando sudo apt-get update sul terminale. Ora l'errore non verrà visualizzato.

    
risposta data Avinash Raj 06.05.2014 - 10:42
4

Prova a modificare il tuo file sources.list lasciando cadere sudo gedit /etc/apt/sources.list in un terminale (potrebbe essere richiesta la tua password), dopodiché avrai le opzioni per abilitare i "Numeri di riga" nel menu Modifica / Preferenze di gEdit e facendo clic sulla casella di controllo "Visualizza numeri di riga", quindi vai manualmente alla riga nel tuo errore es 91 o usando "Cerca / Vai a linea" (Ctrl + I fa il trucco).

All'inizio della riga 91 rilascia due simboli # ( ## ) per commentare su quella linea e in questo modo rimuoverlo dal processo di aggiornamento (puoi anche eliminare quella linea a tuo rischio, ti suggerisco un backup ).

Al termine, salva il file e chiudilo. Quindi apri un terminale ed esegui sudo apt-get update e verifica se l'errore appare ancora. In caso contrario, prova ad aprire il gestore aggiornamenti.

In qualche modo sembra che il testo nella riga 91 del tuo file sources.list sia corrotto o che ci sia un qualche tipo di errore, il che significa che alcuni software non possono essere installati / aggiornati / aggiornati.

Commentando / rimuovendo la riga errata il software non verrà installato (se non già) o non verrà aggiornato / aggiornato se è quello che si tenta. Di cui ti suggerisco di controllare da dove proviene quella linea (che il software richiede) e fare le opportune modifiche necessarie per fare funzionare tutto bene.

    
risposta data Geppettvs D'Constanzo 24.04.2013 - 18:48
3

Devi cancellare l'ultima riga di questo file (non il file stesso, ovviamente):

 /etc/apt/sources.list

Il tuo file sources.list deve apparire in questo modo:

# /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

Ovviamente, sostituire semplicemente il tuo file sources.list con quel testo potrebbe essere una cosa molto brutta, specialmente se prima sembrava molto diverso. Il punto chiave è che ogni riga inizia con deb o deb-src (eccetto per i commenti, che iniziano con # ).

    
risposta data Malika Queen 01.08.2012 - 16:07
1

Apri un terminale usando CTRL + Alt + T ed esegui il comando seguente per rimuovere la riga 6, che non è la forma corretta del repository source line, quindi apt ti dà un errore sulla linea malformata.

ATTENZIONE: Non eseguire questo comando senza leggere prima la domanda, questo comando cancellerà la riga 68 di /etc/apt/sources.list file. Verifica se il tuo problema è simile a e, anche se lo è, sostituisci 68 con il numero della riga che devi eliminare .

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

Questo comando cancellerà la linea usando sed in posizione. Crea un backup chiamato /etc/apt/sources.list.old . Se non vuoi il backup, puoi utilizzare -i invece di -i.old .

In alternativa, puoi eliminare manualmente la linea con Gedit.

  • Premi Alt + F2 e digita gksu gedit /etc/apt/sources.list .
    (Se non hai gksu puoi usare sudo -H gedit .)
  • Trova il /etc/apt/sources.list danneggiato e rimuovilo.
  • Salva ed esci da Gedit.

Forma corretta della linea di origine del repository:

Il formato corretto della linea di origine del repository è:

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

Ad esempio:

  deb http://archive.ubuntu.com/ubuntu precise main
  • Tipo: deb è il tipo di repository, indica che è un repository binario, non un repository di origine, che ha tipo deb-scr .
  • Posizione: http://archive.ubuntu.com/ubuntu posizione del repository
  • Nome dist: precise è il nome di distribuzione della versione di Ubuntu. per Ubuntu 12.04 è precise , 11.10 è oneiric

  • Componente: main indica il componente del repository. I repository di Ubuntu sono suddivisi in quattro parti.

    1. Principale - che contiene software gratuito e open source, ufficialmente supportato
    2. Universo - Questi software non sono supportati da Canonical, ma sono gestiti dalla community.
    3. Limitato : questi software sono supportati da Canonical, ma non sono gratuiti. Questi sono supportati per fornire alcuni driver essenziali
    4. Multiverse - Questi sono anche software non liberi e non supportati da Canonical.

Vedi questa pagina per ulteriori informazioni.

Ora puoi capire che /etc/apt/sources.list non è una linea di origine del repository e quindi apt-get si lamenta di questo.

  • Per ulteriori informazioni su Aggiunta e rimozione di repository e sul formato della linea di origine del repository, vedere questa Guida di Ubuntu pagina .

  • Vedi la pagina del manuale di Sed qui .

risposta data Anwar 01.08.2012 - 15:44

Leggi altre domande sui tag