¿Cómo arreglar "W: Duplicate sources.list entry"?

185

Sigo recibiendo esta advertencia cada vez que intento ejecutar sudo apt-get update .

W: Duplicate sources.list entry http://archive.ubuntu.com/ubuntu/ precise-updates/main i386 Packages (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_precise-updates_main_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems

A continuación se muestra el resultado del archivo /etc/apt/sources.list :

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

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

deb http://archive.ubuntu.com/ubuntu precise universe
deb-src http://archive.ubuntu.com/ubuntu precise universe
deb http://archive.ubuntu.com/ubuntu precise-updates universe
deb-src http://archive.ubuntu.com/ubuntu precise-updates universe

deb http://archive.ubuntu.com/ubuntu precise multiverse
deb-src http://archive.ubuntu.com/ubuntu precise multiverse
deb http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-updates multiverse

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

¿Cómo lo arreglo?

    
pregunta hsinxh 10.04.2012 - 08:31

25 respuestas

224

Your sources.list realmente tiene entradas duplicadas.

Primero, veamos la forma correcta de una línea de repositorio o fuente:

El formato correcto de la línea fuente del repositorio es

<type of repository>  <location>  <dist-name> <components> 

Por ejemplo, una línea de repos puede ser como esta

  deb http://archive.ubuntu.com/ubuntu precise main

Aquí, significa que el repositorio es para paquetes binarios, que están alojados en enlace y este repositorio es para Ubuntu precisa (12.04) y este repositorio contiene el componente principal (software que oficialmente es compatible con Canonical).

  • Tipo: el tipo puede ser deb y deb-src . deb significa un repositorio binario donde deb-src significa un repositorio fuente

  • Ubicación: http://archive.ubuntu.com/ubuntu ubicación del repositorio.

  • Dist-name: El nombre de la distribución del lanzamiento de Ubuntu. Para Ubuntu 12.04 es precise , para 11.10 es oneiric .
    Puede visitar la Wiki de Ubuntu para ver una lista de lanzamientos de Ubuntu y sus nombres de código .

  • Componente: puede ser main , universe , multiverse y restricted . Estas palabras indican el nivel de soporte para los paquetes y el estado de la licencia.

Consulte esta página para obtener más información.

Tenga en cuenta que puede agregar uno o más componentes en una línea, por lo que "principal", "universo", "restringido" y "multiverso" pueden estar en una sola línea. También tenga en cuenta que, aunque agrega más de un componente en una sola línea, el sistema APT los considera como una línea separada que contiene solo un componente.

Entonces, si su sources.list tiene una línea como esta

deb http://archive.ubuntu.com/ubuntu precise universe

Entonces no puede tener otra línea como la de abajo (que tienen sus archivos)

deb http://archive.ubuntu.com/ubuntu precise main universe

que es equivalente a estas dos líneas

deb http://archive.ubuntu.com/ubuntu precise main
deb http://archive.ubuntu.com/ubuntu precise universe

Porque está duplicando universo dos veces, por lo que habrá un error para ese duplicado. Se dará un error por cada duplicado encontrado.

Solución:

Después de analizar tu archivo sources.list , descubrí que es uno básico que Ubuntu proporciona por defecto. Puede crear un archivo predeterminado siguiendo el procedimiento:

  1. Abra un terminal y primero cambie el nombre del archivo sources.list existente al archivo sources.list.bak . (podemos eliminarlo con seguridad, pero la precaución es buena).

     sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
    
  2. Luego abre software-properties-gtk para construir uno nuevo. Escriba el siguiente comando en un terminal o en el símbolo del sistema del tablero con presionar Alt + F2

    software-properties-gtk
    

    Nota, para Ubuntu versión 11.10 o anterior, debes usar gksu antes del comando software-properties-gtk

  3. Después de que la ventana esté abierta,

    • Seleccione las cuatro categorías en la pestaña Software de Ubuntu
    • Seleccione la categoría precisión-seguridad , actualizaciones precisas y precisas-copias de seguridad en la pestaña Actualizaciones .
    • Seleccione la categoría Socio canónico y Independiente de la pestaña Otro software
    • .

Eso es todo. Ahora tiene un archivo sources.list predeterminado sin error. Compare este archivo con el anterior, si lo desea.

Actualizar para tratar con los archivos de sources.list.d dir

A veces, una entrada duplicada puede estar en un archivo en el directorio /etc/apt/sources.list.d , que también utiliza APT. Entonces, debería mirar ese directorio y ver si hay algún duplicado en esos archivos. No es necesario que los duplicados estén en el mismo archivo.

Ejemplo de caso:

Un usuario tenía este mensaje de error mostrando mientras hacía sudo apt-get update .

W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages)
W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main i386 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems

Pero no hubo entrada con http://dl.google.com en el archivo principal /etc/apt/sources.list . Mirando el directorio /etc/apt/sources.list.d/ encontramos estos archivos:

salida de ls /etc/apt/sources.list.d/ :

aims-sagemath-precise.list
aims-sagemath-precise.list.save
dropbox.list
dropbox.list.save
fossfreedom-packagefixes-precise.list
fossfreedom-packagefixes-precise.list.save
google-chrome.list
google-chrome.list.save
google.list
google.list.save
sagemath-monolithic-precise.list
sagemath-monolithic-precise.list.save

Los archivos google-chrome.list y google.list son buenos candidatos para contener duplicados. Por lo tanto, era necesario verificar el contenido de ambos archivos.

Salida de cat /etc/apt/sources.list.d/google-chrome.list :

deb http://dl.google.com/linux/chrome/deb/ stable main  

y de cat /etc/apt/sources.list.d/google.list

deb http://dl.google.com/linux/chrome/deb/ stable main

Entonces, había una entrada duplicada en las fuentes de Apt. Como google-chrome.list solo contiene una sola línea apt y también se listó en google.list file, podemos eliminar este archivo con el comando

sudo rm /etc/apt/sources.list.d/google-chrome.list

Entonces el problema fue resuelto.

    
respondido por el Anwar 05.09.2012 - 19:33
77

para Ubuntu 12.04

Gráficamente:

Presione Alt + F2 y pegue software-properties-gtk (o puede abrir "Centro de software" y luego vaya a "Editar" & gt; "Fuentes de software"). Vaya a la pestaña "Otro software", elija la entrada duplicada y presione el botón "Eliminar".

Si necesita una opción de línea de comando, aquí está:

cat /etc/apt/sources.list | perl -ne '$H{$_}++ or print' > /tmp/sources.list && sudo mv /tmp/sources.list /etc/apt/sources.list  

El comando hace esto:

cat lee el archivo y pasa el contenido a perl , que elimina las líneas duplicadas. El resultado se guarda entonces > en un archivo temporal que luego se mueve para reemplazar el archivo /etc/apt/sources.list original.

    
respondido por el desgua 05.05.2012 - 00:27
22

¿Qué tan malas son las entradas duplicadas en sources.list?

No sé qué tan malo es, pero no me gusta sudo apt-get update mostrándome entradas duplicadas.

Por cierto, no es tan malo, solo le muestra que tiene entradas duplicadas.

SourcesList

El archivo sources.list es un factor clave para agregar o actualizar aplicaciones a su instalación de Ubuntu. Esto también lo usa su sistema para las actualizaciones del sistema. El archivo es básicamente la hoja de ruta para que su sistema sepa dónde puede descargar programas para su instalación o actualización.

Es como la actualización de Windows

  

Puede eliminar entradas duplicadas en pocos pasos sencillos con Y PPA Manager

 sudo add-apt-repository ppa:webupd8team/y-ppa-manager -y
 sudo apt-get update
 sudo apt-get install y-ppa-manager -y

Abrir el formulario y-ppa-manager Tablero

  

Ingrese su contraseña de administrador

  

Hacer doble clic en Avanzado

  

Escanear & amp; Eliminar Duplicate PPA & amp; Haga clic en Aceptar

  

Llevará un tiempo (1 o 2 mentas) Escanear & amp; Eliminar Duplicate PPA's

    
respondido por el Qasim 08.05.2013 - 07:36
16

El repositorio asociado está duplicado dentro de /etc/apt/sources.list y /etc/apt/sources.list.d/precise-partner.list .

Elimine los archivos "socio preciso", ya que el repositorio asociado ya está presente en sources.list .

sudo rm /etc/apt/sources.list.d/precise-partner.*
    
respondido por el Eric Carvalho 01.09.2012 - 21:20
10

Haz una copia de seguridad de tus sources.list:

sudo cp /etc/apt/sources.list{,.backup}

Ahora elimine el original y actualice:

sudo rm /etc/apt/sources.list && sudo apt-get update
    
respondido por el wojox 04.07.2012 - 07:16
8

Tuve el mismo problema, abrir fuentes de software. sin marcar "socios canónicos". The Conflict se encuentra entre "socios canónicos" y "socios canónicos agregados por el centro de software"

    
respondido por el Amjed 11.04.2012 - 07:11
7

Si no puede encontrarlo en su source.list , haga lo siguiente:

  1. Haz clic con el botón izquierdo en el icono de configuración (en la esquina superior extrema de tu pantalla) y selecciona Configuración del sistema.
  2. Haga clic en Fuentes de software y vaya a Otro software.
  3. Desmarque uno de los software de socios canónicos (código fuente) empaquetado por Canonical para los archivos de sus socios y uno de los socios de Canonical, también empaquetado por Canonical para los archivos de sus socios y haga clic en Cerrar para salir.
  4. Presione simultáneamente las teclas CTRL + ALT + T para abrir el terminal y escriba sudo apt-get update .
respondido por el all4naija 11.04.2012 - 08:15
5

para Ubuntu 9.10 - 12.04

Hay una aplicación llamada Y-PPA-Manager que puede hacer eso y mucho más.

Puedes instalarlo así desde una Terminal:

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get upgrade
sudo apt-get install y-ppa-manager

Después de eso, simplemente inicie la aplicación y vaya al menú Avanzado.

Luego, seleccione "Escanear y eliminar PPA duplicados" y presione OK.

    
respondido por el rearlight 06.05.2012 - 15:25
5

10.10 y anteriores

Aplicaciones & gt; Ubuntu Software Center & gt; Editar & gt; Fuentes de software & gt; Otro software

O

Sistema & gt; Administración & gt; Administrador de paquetes sinápticos & gt; Configuraciones & gt; Repositorios

Seleccionar y eliminar entradas duplicadas.

    
respondido por el Sid 18.11.2010 - 16:43
4

Parece que tienes dos líneas idénticas en tu archivo /etc/apt/sources.list .

Vaya a la terminal e ingrese sudo editor /etc/apt/sources.list , luego busque las líneas idénticas en ese archivo y, si las encuentra, elimínelas. Después de hacer, guarde y salga, y luego haga sudo apt-get update y eso debería resolver su problema.

Si eso no resuelve su problema, entonces tendrá que usar un enfoque de prueba y error. Primero, cree una copia de seguridad de su archivo sources.list , luego, en el archivo real, revise y comente o elimine cada línea, guardando y apt-get update -ing después de que cada línea haya sido comentada o eliminada. Pasar por este archivo línea por línea al comentar diferentes líneas eventualmente le dirá qué línea es la superflua. No olvide descomentar las líneas que haya comentado si apt-get update sigue mostrando el mismo mensaje; de ​​lo contrario, no tendrá orígenes en su archivo sources.list .

    
respondido por el Jeff Welling 10.04.2012 - 17:01
4

Busqué una herramienta así, pero no encontré ninguna ...
Así que terminé codificando uno con PHP .

Perdón por el sucio código fuente no organizado.

chkdup - Captura de pantalla:

Autor

Mubarak Alrashidi (DeaDSouL)

Requisitos:

  1. PHP.
  2. sudo.

Instalación:

  1. Abre la terminal.
  2. Para instalar PHP si no lo tiene, escriba: sudo apt-get install php5 php5-cli .
  3. Descargue el chkdup .
  4. Extraiga el archivo en cualquier lugar que desee.
  5. Tipo: sudo sh install.sh .

Desinstalar:

  1. Abre la terminal.
  2. Vaya a la ruta en la que extrajo la herramienta.
  3. Tipo: sudo sh uninstall.sh .

Cómo usarlo:

Simplemente abre la terminal y escribe sudo chkdup .

Preguntas frecuentes:

¿Qué hace install.sh?

  • El instalador moverá el chkdup.php a /opt/ y luego creará un enlace simbólico en /usr/bin/ .

¿Qué tal el uninstall.sh?

  • El desinstalador eliminará los siguientes archivos:

    1. install.sh
    2. /opt/chkdup.php
    3. /usr/bin/chkdup
    4. en sí mismo uninstall.sh

¿Es seguro usar chkdup?

  • Sí, lo es, ya que requiere una copia de seguridad de la lista sources.list actual antes de intentar hacer algo. Pero no soy responsable si algo sucedió. La responsabilidad total será tuya.

Licencia

Licencia pública general de GNU

    
respondido por el DeaDSouL 17.03.2011 - 01:19
3

¿Marcó ls /etc/apt/sources.list.d/ ? ¿Tal vez tienes algunos repositorios "extra" allí?

    
respondido por el koni_raid 11.04.2012 - 13:41
2

Instale ubuntu-tweak y elimine las entradas duplicadas desde allí.

sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

    
respondido por el karthick87 18.11.2010 - 16:43
1

No, no hay una sola línea de comando para buscar y eliminar entradas duplicadas en el archivo /etc/apt/sources.list .

Esto se debe a que las líneas de comando sugeridas, que simplemente duplican la función del comando uniq mucho más simple incorporado, solo funcionarán en un archivo CLASIFICADO y solo eliminarán las líneas ADJACENT. Además, esos comandos solo eliminarán las líneas que consisten en una cadena de caracteres idéntica .

Las entradas duplicadas informadas por apt-get update consistirán en entradas de función duplicadas, como un repositorio incluido en sus variantes i386 y amd64 . La manera fácil y efectiva de eliminarlos es observar qué repositorios se informan como duplicados por apt-get update y eliminarlos a través del Software Center . Ábrelo y selecciona Editar - & gt; Fuentes de software - & gt; Otra pestaña de software . Simplemente busque las entradas duplicadas y desmárquelas. (Esta es también una oportunidad para eliminar cualquier repositorio source-code si no está compilando los paquetes).

Sin embargo, debe tenerse en cuenta que apt-get update no solo encuentra entradas duplicadas a través de sources.list , sino que incluye archivos de repositorio ubicados en /var/lib/apt/lists/ . Eliminar las entradas duplicadas de allí solo eliminará temporalmente los mensajes de error apt-get update si Ubuntu cree que los necesita, ya que los archivos se volverán a instalar automáticamente. El hecho de que apt-get update reporte algunos repositorios como duplicados, y luego sugiera que ejecute apt-get update para repararlos, es una pista de que realmente no necesita preocuparse por ese mensaje de error.

    
respondido por el Smarteralec 08.05.2012 - 00:00
1

En mi caso, los duplicados estaban en el archivo prerequists-sources.list . Pude continuar la actualización ejecutando los siguientes comandos en la Terminal:

sudo mv /etc/apt/sources.list.d/prerequists-sources.list /tmp
sudo apt-get update

Luego vaya al Update Manager e instale las actualizaciones.

    
respondido por el Mathijs Sterk 15.06.2012 - 10:18
1

Bueno, resolví el problema Duplicate Entry cambiando el nombre de /etc/apt/sources.d (como raíz) a algo más y ejecutando sudo apt-get update para restablecer el directorio y sus contenidos.

    
respondido por el Seann 25.04.2013 - 21:36
1

Fuimos a través de /etc/apt/sources.list manualmente sudo nano /etc/apt/sources.list y eliminamos los duplicados. Después de apt-get update , el problema fue resuelto.

    
respondido por el Anderverhaal 03.09.2013 - 14:01
1

En /etc/apt/sources.list , debe comentar (agregar # al comienzo de la línea) la entrada del repositorio duplicado y guardar los cambios. Después de eso repite sudo apt-get update .

    
respondido por el Snorri 28.05.2013 - 11:07
1

Utilice el generador de listas de fuentes de Ubuntu .

  • Ejecute sudo -H nautilus en la terminal
  • Encuentra /etc/apt/sources.list
  • Haga clic con el botón derecho y abra el archivo con un editor de texto (si hace clic en él, se abrirá la GUI de las fuentes de software)
  • Simplemente copie y pegue en sources.list y guárdelo.
  • Salir de la terminal y listo.

Google parece tener un problema, así que sugiero dejarlo. Lo he hecho en Ubuntu 12.10 (la versión de Studio con escritorio de Ubuntu se ha agregado y Unity para otro escritorio).

    
respondido por el studiofreak 05.01.2013 - 15:29
1

Simplemente edite el archivo /etc/apt/sources.list (por ejemplo use sudo -H gedit /etc/apt/sources.list ) y elimine la línea duplicada o coloque un # al comienzo de la línea.

    
respondido por el Micha 14.12.2012 - 19:41
1

Intento completar las posibilidades ofrecidas por otros usuarios que usan terminal, ya que eso es lo que preguntas, principalmente:

inicie sesión si está utilizando una instalación basada en texto o presione Alt + F2 y escriba gnome-terminal si está usando la GUI

Luego escribe

sudo nano /etc/apt/sources.list

(Para entender mejor: en el directorio /etc puede encontrar (casi) todos los archivos de configuración de su computadora y en el directorio apt encontrará el archivo souces.list que contiene todos los repositorios que APT usa para actualizar o instalar y actualizar el software)

Edite el archivo eliminando o comentando con # al comienzo de la línea cualquier fila duplicada.

Presione Ctrl + X para salir y presione y para guardar el archivo (o n para salir sin guardar).

Luego, actualice para ver si lo ha solucionado:

sudo apt-get update

¡Diviértete!

    
respondido por el Pitto 18.11.2010 - 18:12
0
S="/etc/apt/sources.list" ;
S2="$S ${S}.d/*.list" ;
grep -b "^deb\'cat $S2 |
    grep -i "^deb[[:space:]]http" |
    sort |
    uniq -dc |
    sed -e 's;[[:space:]]\+[[:digit:]]\+[[:space:]]\+deb\(.\+$\);\1;g'\'$" $S2

* Saltos de línea insertados para facilitar la lectura.

    
respondido por el Tony Saratonev 04.07.2012 - 01:59
0

Ejecute lo siguiente para eliminar los duplicados

cat /etc/apt/sources.list | perl -ne '$H{$_}++ or print' > /tmp/sources.list && sudo mv /tmp/sources.list /etc/apt/sources.list  
    
respondido por el Stormvirux 14.09.2013 - 12:46
0

En el caso de W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages)

Abrir: sources.list.d

rm google.list

entonces solo google-chrome.list permanece

    
respondido por el Stevie G 25.05.2015 - 10:38
0

Es un trabajo apropiado para uniq que omite líneas duplicadas e imprime solo entradas exclusivas, así podemos tomar la salida de uniq y reemplazar archivos viejos con la salida de uniq :

 sort /etc/apt/sources.list | uniq > /tmp/sources && sudo mv /tmp/sources  /etc/apt/sources.list
    
respondido por el Sergiy Kolodyazhnyy 24.11.2015 - 01:38

Lea otras preguntas en las etiquetas