我做到了:
sudo ppa-purge ppa:cybermax-dexter/sdl2-backport
并得到:
Updating packages lists
W: The repository 'http://ppa.launchpad.net/cybermax-dexter/sdl2-backport/ubuntu xenial Release' does not have a Release file.
E: Failed to fetch http://ppa.launchpad.net/cybermax-dexter/sdl2-backport/ubuntu/dists/xenial/main/binary-amd64/Packages 404 Not Found [IP: 91.....]
E: Some index files failed to download. They have been ignored, or old ones used instead.
Warning: apt-get update failed for some reason
当我查看软件和更新->其他软件时,PPA 仍然在那里,也在文件sources.list.d
夹中,但不在sources.list
文件中。
我意识到 W: 部分是因为 PPA 与 不兼容xenial
。但我仍然不明白两个 E: 部分是什么意思,以及如何清除 PPA。
我可以手动删除,但我想确保我已经清除了所有相关文件等,因为它是第三方的,我不希望任何可疑的东西留在我的电脑上......?顺便说一句,我是个菜鸟,所以可能对此有点无知......
谢谢你的时间!
答案1
让我们从两个项目开始:
- PPA 的名称:SDL2 反向移植到 Bionic。
- 您提供的 PPA URL 的发布:Xenial(不是 Bionic)
从这两个事实,我们可以得出一个结论:18.04 PPA 不太可能为您的 16.04 系统提供任何可用的软件包。
该结论的必然结果是 PPA 可能从未为您工作过,并且每次尝试时都只会返回错误消息。
如何检查系统上的 PPA 文件:
PPA 提供的 10 个软件包和版本列表如下:这里
用于
apt-cache policy <package_name>
检查列出的每个软件包的来源和版本号。如果软件包版本和来源与 PPA 匹配,则卸载该软件包。
以下是一个例子:
$ apt-cache policy hello <--- The example page name is "hello"
hello:
Installed: 2.10-2ubuntu2 <--- Version number. Should EXACTLY match the version number provided by the PPA
Candidate: 2.10-2ubuntu2 +-- Sources. The PPA should be listed as a source.
Version table: V
*** 2.10-2ubuntu2 500
500 http://us.archive.ubuntu.com/ubuntu focal/main amd64 Packages
100 /var/lib/dpkg/status
删除 PPA:
删除 PPA 有两个步骤:
- 卸载软件包(您已在上面的部分中完成此操作)
- 删除 apt 源,这样 apt 就不会重新安装软件包
您已经找到了 apt 源:/etc/apt/sources.list.d/ 目录中的文件。删除该文件:sudo rm /etc/apt/sources.list.d/<filename>
。您也可以使用软件和源控制面板删除 PPA 源。
良好的做法是在对 apt 源进行任何更改后运行 apt-update:。sudo apt-get update
更新应该没有错误或警告。