web-dev-qa-db-fra.com

Comment puis-je supprimer une ligne malformée de mon sources.list?

J'ai désinstallé et réinstallé le Centre de logiciel Ubuntu conformément aux informations que j'ai trouvées dans un fil de discussion similaire et j'ai obtenu la même réponse concernant la ligne 91 ou quelque chose du genre.

J'ai juste essayé de télécharger une capture d'écran, mais comme je suis nouvelle, cela ne me le permet pas. Je ne peux pas non plus comprendre comment couper et coller quoi que ce soit, je dois donc taper à la main ce que l'écran d'erreur dit, à la fois lorsque j'essaie d'ouvrir le centre logiciel et que rien ne se passe, lorsque je tente d'entrer des commandes dans le terminal pour désinstaller, réinstaller , tout ce que je reçois le même suivant:

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.

Comment signaler des bugs? Que peut-on faire à ce sujet? J'ai cherché et tout ce que tout le monde dit de faire me ramène au même message d'erreur de ligne.

Je ne sais donc pas comment accéder à la ligne 91 de la liste des sources; pour vous dire ce que ça dit. Désolé, je suis vraiment nouveau dans ce domaine. C’est ce dont j’ai besoin, c’est de trouver un moyen d’y arriver et d’y remédier. Je voudrais vraiment ne pas avoir à re-partitionner mon disque dur et à recommencer à zéro, alors je suis vraiment impatient de résoudre ce problème. Je dois pouvoir installer un nouveau logiciel.

63
eminencejae

Certaines lignes sont rompues dans votre fichier sources.list (ou dans un autre fichier *.list dans sources.list.d/).

Editez le fichier mentionné dans l'erreur pour corriger les lignes brisées.

  1. Pour ce faire, exécutez cette commande (appuyez sur Ctrl+Alt+T ouvrir un terminal):

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

    Si nécessaire, remplacez /etc/apt/sources.list par un autre nom de fichier.

  2. Recherchez les lignes dont le format est incorrect (reportez-vous à l'erreur pour un numéro de ligne, puis cherchez autour de ce point). Voici des exemples de lignes correctement formatées:

    # 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 et les composants seront différents. Il ne doit pas nécessairement avoir 3 composants.

    Tout ce qui ne correspond pas à ce format est incorrect.

  3. Enregistrez le fichier et quittez l'éditeur de texte. Puis exécutez cette commande dans une fenêtre de terminal:

    Sudo apt-get update
    

En supposant qu'il n'y ait pas d'erreur, le problème est maintenant résolu. Vous devriez pouvoir exécuter le Centre de logiciel.

Cependant, même si certains problèmes avec le Centre logiciel peuvent être résolus en réinstallant le package software-center, la plupart ne le peuvent pas, il est donc possible que votre problème d'origine reste. Si tel est le cas, vous pouvez poster une nouvelle question pour obtenir de l'aide.

51
Eliah Kagan

Méthode rapide

Une solution de contournement à ce problème peut être de créer l'entrée sources.list à partir de zéro.

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
  • Copiez le contenu ci-dessus (dans la zone grise) et ouvrez le fichier sources.list en tant que root.

    Taper Sudo -H gedit /etc/apt/sources.list this dans un terminal et frapper Enter va faire le travail.

  • Ensuite, collez le contenu copié dans sources.list - notez que vous devrez probablement remplacer precise par le nom de code correspondant à votre version d'Ubuntu - par exemple. trusty pour 14.04. Puis enregistrez et fermez gedit.

  • Ensuite, faites Sudo apt-get update et vous verrez que la liste de référentiels est mise à jour.

Explication: Nous remplaçons ici complètement le contenu par un autre fichier sources.list avec une entrée de référentiel du serveur principal. Si vous souhaitez utiliser votre serveur local pour sources.list, reportez-vous à la méthode ci-dessous.

Méthode recommandée

Allez sur le site générateur de liste de sources Ubunt .

  • Sélectionnez votre pays.
  • Sélectionnez les branches de votre choix, telles que Main, Restricted, Multiverse, Univers.
  • Sélectionnez la liste de mise à jour souhaitée, -
  • Sélectionnez une liste de référentiels tiers si vous le souhaitez.
  • Cliquez sur Générer une liste au bas de la page pour obtenir une liste avec des référentiels.
  • Copiez cette liste et remplacez-la par le fichier sources.list que vous avez.

Vous avez terminé. (J'espère que cela aidera.)

27
Anwar

Comme vous pouvez le constater, il est indiqué que votre fichier sources.list contient une mauvaise entrée. Cette mauvaise entrée n'a pas pu être analysée. Cette erreur n'est pas liée au Centre logiciel en tant que tel, mais principalement à apt (Le gestionnaire de paquets)

Pour résoudre ce problème, la solution consiste à corriger l'entrée de ligne malformée 91.

Si vous ne comprenez pas ce qui ne va pas avec la ligne 91, postez la ligne 91 et je vous aiderai.

6
Manish Sinha

Veuillez coller le fichier /etc/apt/sources.list afin que nous puissions résoudre ce problème à votre place. Voir cette réponse du didacticiel pour savoir comment faire cela:

Comment puis-je partager facilement le résultat d'une commande ou d'un fichier texte avec d'autres?


Cela peut parfois être une solution très simple, mais vous devez sauvegarder sources.list d'abord parce que c'est un fichier critique.

  1. Ouvrez le terminal avec Ctrl+Alt+T.
  2. Tapez/collez: Sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (cela crée une copie de sauvegarde)
  3. Sudo sed -i -e '68d' /etc/apt/sources.list (ceci supprime la ligne problématique)
  4. Sudo apt-get update (ceci met à jour la base de données avec le fichier corrigé si tout va bien)

Si aucune erreur ne s'affiche lorsque vous essayez l'étape 4, le problème est résolu si tout va bien. Vous pouvez quitter le terminal et revenir à Software Center/Update Manager et cela devrait fonctionner.

Si le problème persiste, vous pouvez restaurer le fichier d'origine à partir du terminal avec Sudo cp /etc/apt/sources.list.backup /etc/apt/sources.list. Dans ce cas, veuillez coller les lignes problématiques, voire le fichier entier, dans un Pastebin pour que nous puissions aider davantage.

6
ish

Essayez de modifier votre fichier sources.list en déposant Sudo gedit /etc/apt/sources.list dans un terminal (votre mot de passe peut être demandé), après quoi vous aurez la possibilité d'activer "Numéros de ligne" dans le menu Edition/Préférences de gEdit et en cliquant sur "Afficher les numéros de ligne". case à cocher, puis aller manuellement à la ligne dans votre erreur par exemple 91 ou en utilisant "Rechercher/Aller à la ligne" (Ctrl + I fait le tour).

enter image description here

Au début de la ligne 91, déposez deux # symboles (##) pour commenter cette ligne et supprimez-le ainsi du processus de mise à jour (vous pouvez également supprimer cette ligne à vos risques et périls, je vous suggère une sauvegarde).

Lorsque vous avez terminé, enregistrez le fichier et fermez-le. Ensuite, ouvrez un terminal et exécutez Sudo apt-get update pour voir si l'erreur persiste. Sinon, ouvrez votre gestionnaire de mise à jour.

D'une manière ou d'une autre, il semble que le texte de la ligne 91 de votre fichier sources.list soit corrompu ou qu'il y ait une sorte d'erreur, ce qui signifie que certains logiciels ne peuvent pas être installés/mis à jour/mis à niveau.

En commentant/supprimant la ligne erronée, le logiciel ne sera pas installé (si ce n'est déjà fait) ou ne sera pas mis à jour/mis à niveau si c'est ce que vous essayez. Dont je vous suggère de vérifier d'où vient cette ligne (quel logiciel l'exige) et de faire les modifications nécessaires pour que tout fonctionne correctement.

5

Le fichier /etc/apt/sources.list contient les URL des serveurs Web et l'emplacement d'autres formulaires sources (par exemple, cds), à partir desquels vous récupérez votre logiciel et vos mises à jour. En gros, cela indique à Ubuntu où chercher le nouveau logiciel et les mises à jour des programmes déjà installés. Le message d'erreur que vous avez reçu signifie que le fichier a été compromis d'une manière ou d'une autre. Sans connaître le contenu de votre fichier, il est difficile de savoir ce qui ne va pas avec. Vous devriez donc publier le résultat de Sudo more /etc/apt/sources.list pour que nous puissions vous aider.

Si le fichier est irrécupérable, vous pouvez utiliser le buntu Source List Generator pour générer un sources.list de nouveau. Mais vous devriez sauvegarder votre ancien au préalable. En outre, vous perdrez toutes les modifications apportées à vos sources de logiciels, par exemple. dans le centre de logiciel.

La meilleure façon de résoudre ce problème est de nous laisser voir ce qui ne va pas avec votre sources.list

Modifier après avoir posté votre sources.list:

Je pense que le fichier que vous avez posté devrait ressembler à ceci (notez les dernières lignes et le /etc/apt/sources.list manquant à la fin):

# /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
5
con-f-use

Si vous rencontrez une erreur de ligne mal formée comme ci-dessous, je vous recommande fortement de commenter (en ajoutant # avant la ligne) la ligne plutôt que de la supprimer dans le fichier /etc/apt/sources.list.

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

De l'erreur ci-dessus, le numéro de ligne 91 dans le fichier /etc/apt/sources.list est corrompu. Pour commenter la ligne numéro 91, vous devez exécuter la commande ci-dessous sur le terminal.

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

91 dans le code ci-dessus représente le numéro de ligne. Remplacez le numéro 91 dans le code ci-dessus par le votre si vous avez une erreur de ligne mal formée.

Dans certains cas, une erreur de ligne mal formée se produira également dans un fichier de liste présent dans le répertoire /etc/apt/sources.list.d. Par exemple,

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

Dans ce cas, je vous recommande fortement de supprimer le fichier google.list en exécutant Sudo rm /etc/apt/sources.list.d/google.list, puis d'ajouter à nouveau le PPA correspondant.

Enfin, mettez à jour tous les référentiels en exécutant la commande Sudo apt-get update sur le terminal. Maintenant l'erreur n'apparaîtra pas.

4
Avinash Raj

Vous devez supprimer la dernière ligne de ce fichier (pas le fichier lui-même, bien sûr):

 /etc/apt/sources.list

Votre fichier sources.list doit ressembler à ceci:

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

Bien sûr, le simple fait de remplacer votre fichier sources.list par ce texte peut être une très mauvaise chose, surtout s'il semblait très différent auparavant. Le point clé est que chaque ligne commence par deb ou deb-src (à l'exception des commentaires, qui commencent par #).

3
Malika Queen

Ouvrir un terminal en utilisant CTRL+Alt+T et exécutez la commande ci-dessous pour supprimer la ligne 6, qui n’est pas la forme correcte de la ligne source du référentiel, ce qui peut vous donner une erreur concernant la ligne mal formée.

AVERTISSEMENT: N'exécutez pas cette commande sans lire la question au préalable. , cette commande supprimera la ligne 68 du fichier /etc/apt/sources.list. Vérifiez si votre problème est similaire et, même si c'est le cas, remplacez 68 par le numéro de la ligne à supprimer .

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

Cette commande supprimera la ligne en utilisant sedà la place. Il crée une sauvegarde appelée /etc/apt/sources.list.old. Si vous ne voulez pas la sauvegarde, vous pouvez utiliser -i au lieu de -i.old.

Alternativement, vous pouvez supprimer manuellement la ligne avec Gedit.

  • Presse Alt + F2 et tapez gksu gedit /etc/apt/sources.list.
    (Si vous n'avez pas gksuname__, vous pouvez utiliser Sudo -H gedit.)
  • Recherchez le /etc/apt/sources.list corrompu et supprimez-le.
  • Enregistrez et quittez Gedit.

Forme correcte de la ligne source du référentiel:

Le format correct de la ligne source du référentiel est le suivant:

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

Par exemple:

  deb http://archive.ubuntu.com/ubuntu precise main
  • Type: debest le type de rapport, il indique qu'il s'agit d'un référentiel binaire, et non d'un référentiel source, de type deb-scr.
  • Emplacement: http://archive.ubuntu.com/ubuntu emplacement du référentiel
  • Dist-name: preciseest le nom de la distribution de la version Ubuntu. pour Ubuntu 12.04, il s'agit de precisename__, 11.10 est de oneiricname__

  • Composant: mainindique le composant du référentiel. Le référentiel Ubuntu est divisé en quatre parties.

    1. Principal - Qui contient un logiciel libre et à code source ouvert, officiellement pris en charge
    2. Univers - Ces logiciels ne sont pas pris en charge par Canonical, mais ils sont gérés par la communauté.
    3. Restricted - Ces logiciels sont pris en charge par Canonical, mais ne sont pas gratuits. Ceux-ci sont pris en charge pour fournir certains pilotes essentiels
    4. Multiverse - Il s'agit également de logiciels non libres, non pris en charge par Canonical.

Voir cette page pour plus d'informations.

Vous pouvez maintenant comprendre que /etc/apt/sources.list n'est pas une ligne source de référentiel et que apt-get s'en est plaint.


1
Anwar