Solucionar el «El repositorio xxx no tiene un fichero de publicación» en Ubuntu
A veces, cuando actualizamos nuestro sistema a una versión más moderna, nos encontramos que, cuando queremos actualizar los paquetes nos aparece un error como este:
E: El repositorio «http://ppa.launchpad.net/langdalepl/gvfs-mtp/ubuntu focal Release» no tiene un fichero de Publicación. N: No se puede actualizar de un repositorio como este de forma segura y por tanto está deshabilitado por omisión. N: Vea la página de manual apt-secure(8) para los detalles sobre la creación de repositorios y la configuración de usuarios.
Esto significa que una ppa de terceros, no oficial de Ubuntu, no tiene un fichero para la versión que estamos utilizando actualmente. Y cuando actualiza el listado de paquetes, interrumpe ahí la actualización, por lo que deberemos eliminar ese ppa.
Para ello hay dos pasos a seguir. Primero eliminaremos el ppa con la versión corta:
sudo add-apt-repository -r ppa:xxx/yyy
O con la versión larga:
sudo add-apt-repository –remove ppa:xxx/yyy
Opcionalmente, podemos añadir el modificador -y para que no nos pida confirmación:
sudo add-apt-repository -y -r ppa:xxx/yyy
En el caso de que nuestro error sea: El repositorio «http://ppa.launchpad.net/langdalepl/gvfs-mtp/ubuntu focal Release» no tiene un fichero de Publicación., el ppa a eliminar sería lo que hay entre http://ppa.launchpad.net/ y /ubuntu, es decir, langdalepl/gvfs-mtp.
Por lo que el comando a ejecutar sería:
sudo add-apt-repository -y -r ppa:langdalepl/gvfs-mtp
Si al lanzar los siguientes comandos:
sudo apt-get update sudo apt-get upgrade
No da ningún error, ya está solucionado, en caso de que dé algún tipo de fallo, podemos borrar los ficheros referentes a ese ppa en /etc/apt/sources.list.d/. Para ver qué ficheros borrar, listamos ese fichero y vemos los que empiezan por el ppa confictivo:
ls /etc/apt/sources.list.d/
Y los borramos. En el caso de langdalepl/gvfs-mtp, los ficheros a borrar serían los que empiezan por langdalepl, así que la instrucción sería:
sudo rm -f /etc/apt/sources.list.d/langdalepl-*