web-dev-qa-db-fra.com

"apt-get update" échoue avec l'erreur "Entrée mal formée dans le fichier de liste"

Une fois connecté en tant que root, j’ai saisi apt-get update, qui me donne:

E: Malformed entry 51 in list file /etc/apt/sources.list (URI parse)
E: Malformed entry 1 in list file /etc/apt/sources.list.d/docker.list (Component)
E: The list of sources could not be read.

Qu'est ce qui ne va pas avec ça?

Voyant de nombreuses réponses connexes, je saisis le code: Sudo -H gedit /etc/apt/sources.list

alors cela montre:

# deb cdrom:[Ubuntu 16.10 _Yakkety Yak_ - Release AMD64 (20161012.2)]/ yakkety main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://us.archive.ubuntu.com/ubuntu/ yakkety main restricted
# deb-src http://us.archive.ubuntu.com/ubuntu/ yakkety main restricted

## Major bug fix updates produced after the final release of the distribution.
deb http://us.archive.ubuntu.com/ubuntu/ yakkety-updates main restricted
# deb-src http://us.archive.ubuntu.com/ubuntu/ yakkety-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://us.archive.ubuntu.com/ubuntu/ yakkety universe
# deb-src http://us.archive.ubuntu.com/ubuntu/ yakkety universe
deb http://us.archive.ubuntu.com/ubuntu/ yakkety-updates universe
# deb-src http://us.archive.ubuntu.com/ubuntu/ yakkety-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://us.archive.ubuntu.com/ubuntu/ yakkety multiverse
# deb-src http://us.archive.ubuntu.com/ubuntu/ yakkety multiverse
deb http://us.archive.ubuntu.com/ubuntu/ yakkety-updates multiverse
# deb-src http://us.archive.ubuntu.com/ubuntu/ yakkety-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://us.archive.ubuntu.com/ubuntu/ yakkety-backports main restricted universe multiverse
# deb-src http://us.archive.ubuntu.com/ubuntu/ yakkety-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu yakkety partner
# deb-src http://archive.canonical.com/ubuntu yakkety partner

deb http://security.ubuntu.com/ubuntu yakkety-security main restricted
# deb-src http://security.ubuntu.com/ubuntu yakkety-security main restricted
deb http://security.ubuntu.com/ubuntu yakkety-security universe
# deb-src http://security.ubuntu.com/ubuntu yakkety-security universe
deb http://security.ubuntu.com/ubuntu yakkety-security multiverse
deb http yakkety main  
# deb-src http yakkety main
deb http://dl.openfoam.org/ubuntu yakkety main
# deb-src http://dl.openfoam.org/ubuntu yakkety main
# deb-src http://dl.openfoam.org/ubuntu yakkety main
# deb-src http://security.ubuntu.com/ubuntu yakkety-security multiverse

Veuillez m'expliquer comment supprimer cette ligne mal formée - la ligne 51 est deb http yakkety main au 6e rang.

2
Draco

La ligne 51, "deb http yakkety main", n'est pas une référence à un référentiel, et le référentiel Ubuntu "yakkety/main" est déjà lié à la ligne 5. La ligne 51 doit donc simplement être supprimée. La ligne 52 est également une ligne malformée commentée et doit également être supprimée pour éviter toute confusion future.

Pour supprimer les lignes 51 et 52, soit:

  • Exécutez cette commande sed -i.bak -e '51d; 52d;' /etc/apt/sources.list. Cela créera également une sauvegarde appelée "/etc/apt/sources.list.bak" juste au cas où cela se viderait et que vous souhaitiez la récupérer plus tard. Il ne devrait produire aucune sortie et vous n'aurez qu'à exécuter la commande une fois.

OR

  • Ouvrez /etc/apt/sources.list dans votre éditeur de texte favori (assurez-vous de l'exécuter avec Sudo. Par exemple: Sudo -H gedit /etc/apt/sources.list), supprimez les deux lignes, puis enregistrez et fermez le fichier.

Maintenant, vous pouvez exécuter Sudo apt update et il devrait se terminer avec succès.

4
Danyc0

Probablement, vous devriez supprimer deb http yakkety main car ce n’est pas un rapport (url), pour le supprimer, ouvrez le fichier sources.list avec des privilèges et supprimez-le normalement, puis enregistrez-le et faites Sudo apt-get update

De plus, vous n'avez pas posté le contenu dans /etc/apt/sources.list.d/docker.list, mais vous devez supprimer la première ligne dans /etc/apt/sources.list.d/docker.list car l'erreur se plaint.

Sauvegarder les fichiers

Sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

Sudo cp /etc/apt/sources.list.d/docker.list/ /etc/apt/sources.list.d/docker.list.bak

Puis ouvrez le fichier avec gedit Sudo gedit /etc/apt/sources.list puis supprimez la ligne

Faites de même avec docker.list, Sudo gedit /etc/apt/sources.list.d/docker.list

Puis enregistrez les fichiers et votre bon départ.

3
Arduino_Sentinel

Comme il est dit dans l'erreur. Ligne 51:

deb http yakkety main 

commenter ceci.

1
Carl