Your 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 de origen 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 preciso (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 fuente
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 el 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.
Vea esta página para 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 sources.list
tienes 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ás 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 sources.list
archivo, descubrí que es básico y es suministrado por Ubuntu por defecto. Puede crear un archivo predeterminado siguiendo el procedimiento:
Abra una terminal y primero cambie el nombre del sources.list
archivo existente a sources.list.bak
archivo. (podemos eliminarlo de forma segura, pero la precaución es buena).
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
Luego abra software-properties-gtk
para construir uno nuevo. Escriba el siguiente comando en un 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 software-properties-gtk
comando
Después de abrir la ventana,
- Seleccione las cuatro categorías en la pestaña Software de Ubuntu
- Seleccione seguridad precisos , exactos actualizaciones y precisas-backports categoría en Actualizaciones pestaña.
- Seleccione el socio Canonical y la categoría Independiente en la pestaña Otro software .
Eso es. Ahora tiene un sources.list
archivo predeterminado sin error. Compare este archivo con el anterior, si lo desea.
Actualización para tratar con sources.list.d
archivos de dir
A veces, una entrada duplicada puede estar en un archivo en el /etc/apt/sources.list.d
directorio, 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 que se mostraba mientras lo 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 había ninguna entrada http://dl.google.com
en el /etc/apt/sources.list
archivo principal . Mirando el /etc/apt/sources.list.d/
directorio 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 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 entradas duplicadas en las fuentes de Apt. Dado que google-chrome.list
solo contiene una sola línea de apt y también se enumeró en el google.list
archivo, podemos eliminar este archivo de forma segura con el comando
sudo rm /etc/apt/sources.list.d/google-chrome.list
Entonces el problema fue resuelto.
Para Ubuntu 12.04
Gráficamente:
Presione Alt+ F2y pegue
software-properties-gtk
(o puede abrir "Centro de software" y luego vaya a "Editar"> "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á:
El comando hace esto:
cat
lee el archivo y pasa el contenido alperl
que elimina las líneas duplicadas. El resultado se guarda>
en un archivo temporal que luego se mueve para reemplazar el/etc/apt/sources.list
archivo original .fuente
sudo apt-get update
aún se queja de entradas duplicadas como si nada hubiera cambiado. Si importa, estoy en 12.04 (específicamente, elemental OS Luna).cat
es inútil y le impide usarsudo perl -i
¿Qué tan malas son las entradas duplicadas en sources.list?
No sé qué tan malo es, pero no me gusta sudo apt-get update que me muestra entradas duplicadas.
Por cierto, no es tan malo, solo te muestra que tienes entradas duplicadas.
FuentesLista
El archivo sources.list es un factor clave para agregar o actualizar aplicaciones a su instalación de Ubuntu. Su sistema también lo utiliza 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
Abra el formulario y-ppa-manager Dash
fuente
El repositorio asociado está duplicado dentro
/etc/apt/sources.list
y/etc/apt/sources.list.d/precise-partner.list
.Simplemente elimine esos archivos de "socio preciso" ya que el repositorio de socios ya está presente
sources.list
.fuente
rm: cannot remove '/etc/apt/sources.list.d/precise-partner.*': No such file or directory
sudo rm /etc/apt/sources.list.d/*partner*
. También revise su /etc/apt/sources.list, busque líneas duplicadas./etc/apt/sources.list
no contiene ningún duplicado de acuerdo conuniq
.Haga una copia de seguridad de sus fuentes.
Ahora quite el original y actualice:
fuente
sources.list
archivo?Tuve el mismo problema, abrir fuentes de software. "Socios canónicos" sin marcar. El conflicto es entre "socios canónicos" y "socios canónicos agregados por el Centro de software"
fuente
Si no pudiste resolverlo en tu
source.list
, entonces haz esto:sudo apt-get update
.fuente
10.10 y anterior
Aplicaciones> Centro de software de Ubuntu> Editar> Fuentes de software> Otro software
O
Sistema> Administración> Synaptic Packet Manager> Configuración> Repositorios
Seleccione y elimine entradas duplicadas.
fuente
Para Ubuntu 9.10 - 12.04
Hay una aplicación llamada Y-PPA-Manager que puede hacer eso y mucho más.
Puede instalarlo así desde una Terminal:
Después de eso, simplemente inicie la aplicación y vaya al menú Avanzado.
Luego seleccione "Escanear y eliminar PPA duplicados" y presione OK.
fuente
Parece que tiene dos líneas idénticas en su
/etc/apt/sources.list
archivo.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 que haya terminado, guarde y salga, y luego hagasudo 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
sources.list
archivo, luego en el archivo real, revise o elimine cada línea, guardando yapt-get update
marcando una vez que cada línea haya sido comentada o eliminada. Revisar este archivo línea por línea comentando diferentes líneas eventualmente le dirá qué línea es la superflua. No olvide descomentar las líneas que comentó siapt-get update
aún muestra el mismo mensaje; de lo contrario, no tendrá fuentes en susources.list
archivo.fuente
Busqué esa herramienta, pero no encontré ninguna ...
Así que terminé codificando una
PHP
.Perdón por el sucio código fuente desorganizado.
chkdup - Captura de pantalla:
Autor
Mubarak Alrashidi (DeaDSouL)
Requisitos:
Instalación:
sudo apt-get install php5 php5-cli
.sudo sh install.sh
.Desinstalar:
sudo sh uninstall.sh
.Cómo usarlo:
Simplemente abra la terminal y escriba
sudo chkdup
.Preguntas frecuentes:
¿Qué hace el install.sh?
chkdup.php
para/opt/
luego creará un enlace simbólico en/usr/bin/
.¿Qué pasa con el uninstall.sh?
El desinstalador eliminará los siguientes archivos:
install.sh
/opt/chkdup.php
/usr/bin/chkdup
uninstall.sh
¿Es seguro usar chkdup?
Licencia
Licencia pública general de GNU
fuente
¿Lo comprobaste
ls /etc/apt/sources.list.d/
? ¿Quizás tenga algunos repositorios "extra" allí?fuente
Instale ubuntu-tweak y elimine las entradas duplicadas de allí.
fuente
No, no hay una sola línea de comando para buscar y eliminar entradas duplicadas en el
/etc/apt/sources.list
archivo.Esto se debe a que las líneas de comando sugeridas, que simplemente duplican la función del
uniq
comando incorporado mucho más simple , solo funcionarán en un archivo CLASIFICADO y solo eliminarán las líneas ADJACENT. Además, esos comandos solo eliminarán líneas que consisten en una cadena idéntica de caracteres .Las entradas duplicadas reportados por
apt-get update
constará de duplicados de función entradas, como un repositorio se incluyen en sus dosi386
yamd64
variantes. La forma fácil y efectiva de eliminarlos es observar qué repositorios son reportados como duplicados por apt-get update y eliminarlos a través del Centro de software . Ábralo y elija Editar -> Fuentes de software -> pestaña Otro software . Simplemente busque las entradas duplicadas y desactívelas. (Esta también es una oportunidad para eliminar cualquiersource-code
repositorio si no está compilando los paquetes).Sin embargo, debe tenerse en cuenta que
apt-get update
no solo encuentra entradas duplicadas a través desources.list
, sino que también incluye archivos de repositorio ubicados en/var/lib/apt/lists/
. Eliminar entradas duplicadas de allí solo eliminará temporalmente losapt-get update
mensajes de error si Ubuntu cree que los necesita, ya que los archivos se reinstalarán automáticamente. El hecho de queapt-get update
informe algunos repositorios como duplicados y luego sugiera que se ejecuteapt-get update
solo para repararlos, es una pista de que realmente no necesita preocuparse por ese mensaje de error.fuente
En mi caso, los duplicados estaban en el
prerequists-sources.list
archivo. Pude continuar con la actualización ejecutando los siguientes comandos en la Terminal:Luego vaya al
Update Manager
e instale las actualizaciones.fuente
.list
es suficienteBueno, resolví el problema de Duplicar entrada yo mismo renombrándolo
/etc/apt/sources.d
(como root) a otra cosa y ejecutándolosudo apt-get update
para restablecer el directorio y sus contenidos.fuente
Pasó
/etc/apt/sources.list
manualmentesudo nano /etc/apt/sources.list
y eliminó los duplicados. Despuésapt-get update
, el problema fue resuelto.fuente
En
/etc/apt/sources.list
debe comentar (agregar#
al comienzo de la línea) la entrada duplicada del repositorio y guardar los cambios. Después de eso repitesudo apt-get update
.fuente
Use el generador de lista de fuentes de Ubuntu .
sudo -H nautilus
en la terminal/etc/apt/sources.list
sources.list
y guarde.Google parece tener un problema, por lo que sugeriría dejarlo fuera. He hecho esto en Ubuntu 12.10 (versión de estudio con el escritorio de Ubuntu agregado y Unity para iniciar sesión en otro escritorio).
fuente
Simplemente edite el archivo
/etc/apt/sources.list
(por ejemplo, usesudo -H gedit /etc/apt/sources.list
) y elimine la línea duplicada o coloque un#
al comienzo de la línea.fuente
Intento completar las posibilidades ofrecidas por otros usuarios que usan terminal, ya que eso es lo que pediste, principalmente:
inicie sesión si está utilizando una instalación basada en texto o presione Alt+ F2y escriba gnome-terminal si está utilizando GUI
Luego escribe
(Para comprender mejor: en el directorio
/etc
puede encontrar (casi) todos los archivos de configuración de su computadora y en elapt
directorio encontrará elsouces.list
archivo que contiene todos los repositorios que APT utiliza para actualizar o instalar y actualizar el software)Edite el archivo eliminando o comentando con
#
al comienzo de la línea las filas duplicadas.Presione Ctrl+ Xpara salir y presione ypara guardar el archivo (o npara salir sin guardar).
Luego actualice para ver si lo ha solucionado:
¡Que te diviertas!
fuente
* Saltos de línea insertados para facilitar la lectura.
fuente
Ejecute lo siguiente para eliminar los duplicados
fuente
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)
Abierto:
sources.list.d
rm google.list
así que solo
google-chrome.list
quedafuente
Es un trabajo apropiado para el
uniq
que omite líneas duplicadas e imprime solo entradas únicas, por lo tanto, podemos tomar la salidauniq
y reemplazar el archivo antiguo conuniq
la salida de:fuente
uniq
necesita entrada ordenada.sort -u
hace el mismo trabajo =)