¿Cómo puedo solucionar un error 404 al usar un PPA o actualizar mis listas de paquetes?

240

PPA parece estar constantemente fuera de línea. Siempre que uso sudo apt-get update , aparece este error:

W: Failed to fetch http://ppa.launchpad.net/ 404  Not Found

¿Cómo soluciono estos errores?

    
pregunta Pedro 14.10.2011 - 01:16

8 respuestas

285

Eliminación automatizada

salte a la parte inferior de esta respuesta para obtener una forma guionizada de eliminar las fuentes de software ofensivas para todas las versiones de Ubuntu antes de Ubuntu 15.04

¿Qué son los errores 404

?
  

El mensaje de error 404 o No encontrado es un código de respuesta estándar HTTP   lo que indica que el cliente pudo comunicarse con el servidor,   pero el servidor no pudo encontrar lo que se solicitó.

     

El servidor de alojamiento del sitio web generalmente generará "404 - Página no   "Página web encontrada", cuando los usuarios intentan seguir un enlace roto o muerto.

¿Cuáles son las causas de estos errores en update-manager

Normalmente, tres áreas principales causan estos errores en update-manager

  1. Un usuario acaba de actualizar y ha vuelto a habilitar una fuente de software PPA que ya no existe
  2. Un usuario ha ingresado incorrectamente una nueva fuente de software manualmente
  3. Se agregó un PPA, pero el mantenedor ha eliminado posteriormente parte / todo el PPA

dónde están estas fuentes de software

Las PPA generalmente se guardan en una de dos ubicaciones

  1. /etc/apt/sources.list
  2. en un archivo con nombre apropiado con una extensión de archivo .list en /etc/apt/sources.list.d/ por ejemplo webupd8team-jupiter-natty.list

Este archivo de lista generalmente contiene:

deb http://ppa.launchpad.net/webupd8team/jupiter/ubuntu oneiric main
# deb-src http://ppa.launchpad.net/webupd8team/jupiter/ubuntu oneiric main

Tenga en cuenta que # en la parte delantera de una línea de texto significa que está comentada y no está marcada por el administrador del paquete.

Cómo eliminar estos errores

Normalmente, si ejecuta sudo apt-get update desde un terminal o hace clic en el botón de detalles en el Administrador de actualizaciones después de presionar el botón Actualizar, verá errores como:

Si el error se debe a un PPA, por lo general, desmarcar el PPA de nombre similar con la URL que se muestra en el mensaje de error lo resolverá.

Si el error 404 se debió a un repositorio adicional que se agregó a /etc/apt/sources.list , entonces es más fácil agregar el carácter # al inicio de la línea para comentar el repositorio ofensivo, es decir,

gksu gedit /etc/apt/sources.list

Eliminación con script para todas las versiones de Ubuntu antes del 15.04

Escribí un guión rápido que busca PPA y fuentes de software que muestran los errores 404. Esto funciona para todas las versiones de Ubuntu anteriores a 15.04. Para 15.04 y posteriores, realice los métodos manuales descritos anteriormente.

Está en mi PPA:

sudo add-apt-repository ppa:fossfreedom/packagefixes
sudo apt-get update
sudo apt-get install banish404

Puede descargar el paquete deb e instalarlo directamente:

wget https://launchpad.net/~fossfreedom/+archive/packagefixes/+files/banish404_0.1-4_all.deb
sudo dpkg -i banish404_0.1-4_all.deb

N.B. es el mismo paquete de deb para todas las distribuciones.

Preguntas / Comentarios / Mejoras por favor a través de Launchpad Ponte en contacto conmigo enlace

Cómo usar:

sudo banish404

El script realizará automáticamente una copia de seguridad de sus fuentes antes de la modificación, que se encuentra en /etc/apt

Más información

Aquí hay un informe de error en el administrador de actualizaciones para resolver este problema:

Si obtiene estos problemas sin PPA, consulte esta pregunta:

respondido por el fossfreedom 05.01.2012 - 00:15
49

Eliminación automática de 404 PPA no encontrados a través del script

Esta es una secuencia de comandos para eliminar automáticamente todos los PPA no encontrados 404. Copie el código siguiente y péguelo en un archivo y asígnele el nombre como ppa-remove .

#!/bin/bash
sudo rm /tmp/update.txt; tput setaf 6; echo "Initializing.. Please Wait" 
sudo apt-get update >> /tmp/update.txt 2>&1; awk '( /W:/ && /launchpad/ && /404/ ) { print substr(,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print "/" }' /tmp/awk.txt > /tmp/awk1.txt; sort -u /tmp/awk1.txt > /tmp/awk2.txt
tput sgr0
if [ -s /tmp/awk2.txt ]
then
  tput setaf 1
  printf "PPA's going to be removed\n%s\n" "$(cat /tmp/awk2.txt)"
  tput sgr0
  while read -r line; do echo "sudo add-apt-repository -r ppa:$line"; done < /tmp/awk2.txt > out
  bash out
else
  tput setaf 1
  echo "No PPA's to be removed"
  tput sgr0
fi

Dar permiso de ejecución al script

sudo chmod +x ppa-remove

Copie y pegue el archivo ppa-remove en el directorio /usr/bin . Para que pueda acceder a él desde cualquier lugar.

Uso

sudo ppa-remove

Descripción del script

[ -f /tmp/update.txt ] && sudo rm /tmp/update.txt; tput setaf 6; echo "Initializing.. Please Wait" || echo "No update file"
El comando

tput setaf 6 convierte el color del texto del terminal en verde. Y luego muestra "Inicializando ... Espere" en color verde.

sudo apt-get update >> /tmp/update.txt 2>&1; awk '( /W:/ && /launchpad/ && /404/ ) { print substr(,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print "/" }' /tmp/awk.txt > /tmp/awk1.txt; uniq /tmp/awk1.txt > /tmp/awk2.txt
  1. sudo apt-get update >> /tmp/update.txt 2>&1;

    Tanto stdout como stderr del comando sudo apt-get update se escriben en el archivo /tmp/update.txt

  2. awk '( /W:/ && /launchpad/ && /404/ ) { print substr(,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print "/" }' /tmp/awk.txt > /tmp/awk1.txt;

Awk busca la línea que consiste en W: , launchpad , 404 en el archivo /tmp/update.txt . Si encuentra eso, en esa línea muestra (stdout) todas las letras desde la ubicación 26 en la columna5. Este resultado estándar fue redirigido (escrito) al archivo /tmp/awk.txt .

Por ejemplo:

W: Failed to fetch http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages  404  Not Found

5th coloumn - http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages

en esa quinta columna comienza desde la 26ª caracter- pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages

Esta línea anterior se almacenó en el archivo /tmp/awk.txt . Ahora el siguiente comando,

awk -F '/' '{ print "/" }' /tmp/awk.txt > /tmp/awk1.txt;  

awk find out la columna1 y la columna2 con el delimitador / donde la columna1 y la columna2 están concatenados por / del archivo /tmp/awk.txt y luego redirecciona (escribe) el archivo stdout a /tmp/awk1.txt .

Ahora el archivo /tmp/awk1.txt contiene pitti/postgresql línea.

uniq /tmp/awk1.txt > /tmp/awk2.txt

Si hay dos líneas iguales, el comando unique muestra (stdout) una sola línea. Esa única línea se escribió en /tmp/awk2.txt Finalmente /tmp/awk2.txt consiste en nombres únicos de PPA.

tput sgr0

Este comando cambia el color del texto del terminal en blanco.

Finalmente se ejecutará if declaraciones condicionales. if [ -s /tmp/awk2.txt ] comprueba si el contenido del archivo /tmp/awk2.txt se presenta o no. Si es así, toma la primera línea de /tmp/awk2.txt y ejecuta el comando sudo add-apt-repository -r ppa:$line . Continúa hasta la última línea.

Si no, significa que no hay contenido. Por lo tanto, dice "No se eliminarán los PPA".

Capturas de pantalla

    
respondido por el Avinash Raj 10.03.2014 - 18:08
20

Obtiene estos errores porque los repositorios de PPA no proporcionan paquetes para su distribución de Ubuntu (es decir, quantal ).

Mira las siguientes capturas de pantalla:

ppa: petrakis / wdt-main

ppa: screenlets / ppa

Puede ver que falta el directorio de quantal y, por lo tanto, obtiene 404 Not Found Error Messages .

Para deshacerse de estos mensajes, debe eliminar estos repositorios de PPA de su sistema. Siga esta pregunta sobre cómo eliminar los PPA:

¿Cómo investigar esto y llegar a esta conclusión?

Estos son los mensajes de error que recibe para wdt-main PPA:

W:Failed to fetch http://ppa.launchpad.net/petrakis/wdt-main/ubuntu/dists/quantal/main/source/Sources  404  Not Found
, W:Failed to fetch http://ppa.launchpad.net/petrakis/wdt-main/ubuntu/dists/quantal/main/binary-amd64/Packages  404  Not Found
, W:Failed to fetch http://ppa.launchpad.net/petrakis/wdt-main/ubuntu/dists/quantal/main/binary-i386/Packages  404  Not Found

Abra la pestaña del navegador y abra el enlace que da 404 Errores no encontrados. En este caso, http://ppa.launchpad.net/petrakis/ e ir más profundo según el enlace que da errores. Podrías ver cuál es el problema real.

    
respondido por el Aditya 16.02.2013 - 18:59
17

Lo más probable que suceda es que el PPA ya no se mantiene y debe eliminarse. Puedes hacer esto simplemente usando:

sudo rm /etc/apt/sources.list.d/ppaname-ppa-$(lsb_release -sc).list*
    
respondido por el Braiam 23.12.2013 - 18:08
4

Elige un repositorio anterior

Si realmente necesita los paquetes de ese repositorio, puede usar los duplicados de versiones anteriores.

Sin embargo, tenga en cuenta que no todos los lanzamientos más antiguos son compatibles con versiones anteriores ; algunos de ellos causan conflictos con su repositorio principal de paquetes.

Lo único que puede hacer cuando entra en conflicto es generar desde el origen o esperar hasta que el proveedor libere el repositorio para su versión de Ubuntu. No sabemos exactamente cuando los proveedores del paquete lanzarán su paquete para nuestra versión, por lo que usted es el encargado de verificar su repositorio para su lanzamiento.

Esto se puede usar con cualquier repositorio basado en Debian. Sin embargo, no hay garantía de que esto sea exitoso.

Pasos

  1. Haz sudo apt update habitual después de agregar PPA / repositorio. Puedes notar que hay 404 errores durante la actualización; solo ignora esto.
  2. Abra el directorio del repositorio que causa el error 404 con su navegador; en este caso es https://dl.winehq.org/wine-builds/ubuntu . Por lo general, las versiones disponibles se encuentran en dists/ .
  3. Después de ubicarlo, abra Software y amp; Actualiza y reemplaza tu nombre de lanzamiento con la versión disponible; preferiblemente último o LTS uno. Reemplace la sección 'Distribución' en espejos de código binario y de código fuente. En este caso, estoy reemplazando bionic con artful .
  4. Haz sudo apt update nuevamente.
  5. ¡Terminaste! Ahora no tiene más errores 404 al actualizar sus listas de paquetes.
  6. Cuando se publiquen los paquetes para su versión de Ubuntu, repita los pasos 3 y 4 reemplazando la sección 'Distribución' con su nombre de distribución.
respondido por el Aryo Adhi 23.05.2018 - 06:07
2

Tenga en cuenta que ya me sucedió y que estaba fuera de estas situaciones. Y también funcionó para un amigo mío. Incluso sin poder explicar por qué, hay algo que resolvió ese problema:

  1. Desactive todos sus PPA;
  2. Ejecute sudo apt-get update desde la terminal;
  3. Habilite sus PPA nuevamente;
  4. Ejecutar sudo apt-get update ;

Y de repente funcionó. No me preguntes por qué.

    
respondido por el Danilo 19.11.2013 - 20:22
1

Si obtiene un error 404 tratando de obtener seguridad o archivos de sistema de un repositorio oficial (no un PPA), puede elegir un espejo diferente para resolver este problema.

Puede:

A) determine uno manualmente. Para ello, revise esta lista y elija la más reciente. espejo. (es posible que desee tener en cuenta otros factores, como la distancia y el ancho de banda) o

B) elija uno automáticamente.

De cualquier forma, puede comenzar con el Software & amp; Actualiza la aplicación como se muestra a continuación: A continuación, selecciona Descargar de seguido de Otro. Luego, puede elegir manualmente el espejo que elija de la lista o hacer clic en el botón Seleccionar el mejor servidor, que ejecutará algunas pruebas y elegirá el mejor servidor para usted, dependiendo de las condiciones actuales.

    
respondido por el Elder Geek 15.01.2017 - 14:57
0

He intentado todas las respuestas posibles, pero la única solución fue copiar el Ubuntu 16.04 Xenial predeterminado /etc/apt/sources.list archivo en mi /etc/apt/sources.list .

Fuentes: enlace

Eso salvó mi Linux.

    
respondido por el Damjan Pavlica 03.05.2018 - 11:06

Lea otras preguntas en las etiquetas