apt – ¿Cómo corregir "W: entrada de sources.list duplicada"?

Pregunta:

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 la salida 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 soluciono?

Respuesta:

Su sources.list realmente tiene entradas duplicadas.

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

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

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

Por ejemplo, una línea de repositorio 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 http://archive.ubuntu.com/ubuntu y este repositorio es para Ubuntu precisa (12.04) y este repositorio contiene el principal (software que es oficialmente compatible con Componente canónico).

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

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

  • Dist-name: el nombre de distribución de la versión de Ubuntu. Para Ubuntu 12.04 es precise , para 11.10 es oneiric .
    Puede visitar la Wiki de Ubuntu para ver una lista actualizada de las versiones de Ubuntu y sus nombres en 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 siguiente (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 el 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 su archivo sources.list , descubrí que es uno básico que Ubuntu proporciona de forma predeterminada. Puede crear un archivo predeterminado siguiendo el procedimiento:

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

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

     software-properties-gtk

    Tenga en cuenta que para Ubuntu versión 11.10 o anterior, debe 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 de seguridad precisa, actualizaciones precisas y backports precisos en la pestaña Actualizaciones .
    • Seleccione Socio de Canonical y la categoría Independiente en la pestaña Otro software .

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


Actualización 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 es utilizado por APT. Por lo tanto, debe mirar ese directorio y ver si hay algún duplicado en esos archivos. No es necesario que haya duplicados en el mismo archivo.

Caso de ejemplo:

Un usuario tenía este mensaje de error mientras realizaba 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 había ninguna 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 eran buenos candidatos para contener duplicados. Por tanto, era necesario comprobar 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, hubo entradas duplicadas en las fuentes de Apt. Dado que google-chrome.list solo contiene una sola línea apt y también se incluyó en el archivo google.list , podemos eliminar este archivo de forma segura con el comando

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

Entonces se resolvió el problema.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım