Ped*_*dro 300 apt ppa repository
PPA 似乎一直处于离线状态。每当我使用时sudo apt-get update,都会显示此错误:
W: Failed to fetch http://ppa.launchpad.net/ 404 Not Found
Run Code Online (Sandbox Code Playgroud)
如何修复这些错误?
fos*_*dom 334
跳到此答案的底部,以脚本方式删除 Ubuntu 15.04 之前所有 ubuntu 版本的违规软件源
404 or Not Found 错误消息是一个 HTTP 标准响应代码,表示客户端能够与服务器通信,但服务器找不到请求的内容。
当用户尝试访问损坏或死链接时,网站托管服务器通常会生成“404 - 找不到页面”网页。
通常,三个主要方面导致这些错误 update-manager


PPA 通常保存在两个位置之一
/etc/apt/sources.list/etc/apt/sources.list.d/例如webupd8team-jupiter-natty.list此列表文件通常包含:
deb http://ppa.launchpad.net/webupd8team/jupiter/ubuntu oneiric main
# deb-src http://ppa.launchpad.net/webupd8team/jupiter/ubuntu oneiric main
Run Code Online (Sandbox Code Playgroud)
注意#一行文本前面的 a 表示它被注释掉并且不被包管理器检查。
通常,如果您sudo apt-get update从终端运行或在点击刷新按钮后单击更新管理器中的详细信息按钮,您将看到如下错误:

如果错误是由 PPA 引起的 - 通常取消勾选带有错误消息中显示的 URL 的类似名称的 PPA 将解决此问题。

如果 404 错误是由于已添加到其他存储库,/etc/apt/sources.list则更容易#在行的开头添加字符以注释掉有问题的存储库,即
gksu gedit /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)

这是解决此问题的更新管理器的错误报告:
如果您在没有 PPA 的情况下遇到这些问题,请查看以下问题:
Avi*_*Raj 54
这是一个自动删除所有 404 Not found PPA 的脚本。复制以下代码并将其粘贴到文件中并将其命名为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($5,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print $1"/"$2 }' /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
Run Code Online (Sandbox Code Playgroud)
授予脚本执行权限
sudo chmod +x ppa-remove
Run Code Online (Sandbox Code Playgroud)
将ppa-remove文件复制并粘贴到/usr/bin目录中。这样您就可以从任何地方访问它。
sudo ppa-remove
Run Code Online (Sandbox Code Playgroud)
[ -f /tmp/update.txt ] && sudo rm /tmp/update.txt; tput setaf 6; echo "Initializing.. Please Wait" || echo "No update file"
Run Code Online (Sandbox Code Playgroud)
tput setaf 6 命令将终端文本颜色变为绿色。然后它以绿色显示“正在初始化..请稍候”。
sudo apt-get update >> /tmp/update.txt 2>&1; awk '( /W:/ && /launchpad/ && /404/ ) { print substr($5,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print $1"/"$2 }' /tmp/awk.txt > /tmp/awk1.txt; uniq /tmp/awk1.txt > /tmp/awk2.txt
Run Code Online (Sandbox Code Playgroud)
sudo apt-get update >> /tmp/update.txt 2>&1;
命令的 stdout 和 stderrsudo apt-get update都写入文件/tmp/update.txt
awk '( /W:/ && /launchpad/ && /404/ ) { print substr($5,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print $1"/"$2 }' /tmp/awk.txt > /tmp/awk1.txt;
AWK搜索它由线W:,launchpad,404在/tmp/update.txt文件。如果它发现然后在该行它显示器(标准输出)从column5.This标准输出被重定向的第26位置开始的所有字母(写入)到该/tmp/awk.txt文件中。
例如:
W: Failed to fetch http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages 404 Not Found
Run Code Online (Sandbox Code Playgroud)
第五栏—— http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
在第 5 列从第 26 个字符开始- pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
上面这行被存储到/tmp/awk.txt文件中。现在下一个命令,
awk -F '/' '{ print $1"/"$2 }' /tmp/awk.txt > /tmp/awk1.txt;
Run Code Online (Sandbox Code Playgroud)
AWK findout出列1列2和与所述分隔符/,其中列1列2和通过串接/来自/tmp/awk.txt文件,然后重新导向(写入)标准输出到/tmp/awk1.txt文件。
现在/tmp/awk1.txt文件包含pitti/postgresql行。
uniq /tmp/awk1.txt > /tmp/awk2.txt
如果有两条相同的行,则unique命令仅显示(stdout)单行。该单行被写入/tmp/awk2.txt
最终/tmp/awk2.txt由唯一的 PPA 名称组成。
tput sgr0
Run Code Online (Sandbox Code Playgroud)
此命令将终端文本的颜色更改为白色。
最后if将执行条件语句。if [ -s /tmp/awk2.txt ]检查 /tmp/awk2.txt 文件的内容是否存在。如果是,则从第一行开始/tmp/awk2.txt执行sudo add-apt-repository -r ppa:$line命令。它继续到最后一行。
如果没有,则表示没有内容。所以它说“没有要删除的PPA”。


Adi*_*tya 22
您收到这些错误是因为您的 PPA 存储库没有为您的 Ubuntu 发行版(即; quantal)提供软件包。
看看下面的截图:


您可以看到quantal缺少的目录,因此您将获得404 Not Found Error Messages.
要摆脱这些消息,您必须从系统中删除这些 PPA 存储库。请遵循有关如何删除 PPA 的问题:
这些是您收到的wdt-mainPPA错误消息:
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
Run Code Online (Sandbox Code Playgroud)
打开浏览器选项卡并打开提供 404 Not Found Errors 的链接。在这种情况下http://ppa.launchpad.net/petrakis/,根据给出错误的链接更深入。您将能够看到实际问题是什么。
Bra*_*iam 19
最有可能发生的情况是 PPA 不再维护,需要删除。您只需使用以下方法即可:
sudo rm /etc/apt/sources.list.d/ppaname-ppa-$(lsb_release -sc).list*
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
642750 次 |
| 最近记录: |