我正在尝试使用
sudo apt-get update但是我收到了错误,
W: Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/Release Unable to find expected entry 'main/binary-i386/Packages' in Release file (Wrong sources.list entry or malformed file) E: Some index files failed to download. They have been ignored, or old ones used instead.
我厌倦了https://askubuntu.com/questions/120621/how-to-fix-duplicate-sources-list-entry中给出的解决方案,但又显示了同样的错误。建议我。
答案 0 :(得分:25)
看起来谷歌已停止支持i386,这就是为什么现在出现此错误的原因。看起来他们没有优雅地为他们的deb安装配置apt。要解决此问题,请执行以下操作。
sudo sed -i -e 's/deb http/deb [arch=amd64] http/' "/etc/apt/sources.list.d/google-chrome.list"
来源:https://www.reddit.com/r/chrome/comments/48oje6/linux_how_to_fix_failed_to_fetch/
编辑:正如其他人所指出的那样,需要另一个命令来阻止此修复恢复。由于这是接受的答案,我认为这应该是这个答案的一部分。
sudo sed -i -e 's/deb http/deb [arch=amd64] http/' "/opt/google/chrome/cron/google-chrome"
答案 1 :(得分:6)
此外,如果 / etc / apt / sources中有两个名称为 google.list 且 google-chrome.list 的文件,则可能存在此问题。 list.d 目录,其中包含类似的条目:
在google.list中
deb http://dl.google.com/linux/chrome/deb/ stable main
在google-chrome.list中
deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
然后您应该删除google.list文件或取消注释其条目,如下所示:
#deb http://dl.google.com/linux/chrome/deb/ stable main
答案 2 :(得分:4)
这一变化对我来说是一夜之间。显然你还需要更改/opt/google/chrome/cron/google-chrome
sudo sed -i -e 's/deb http/deb [arch=amd64] http/' "/opt/google/chrome/cron/google-chrome"
注意:这仅适用于64位
来源:进一步说明同一个Reddit主题和http://www.webupd8.org/2016/03/fix-failed-to-fetch-google-chrome_3.html
答案 3 :(得分:4)
这不起作用,因为/etc/default/google-chrome
中有一个默认配置,其中包含有关存储库更新的说明。如果您在/etc/apt/sources.list.d/
中打开google-chrome.list文件,您会看到它有评论:
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
与说明一样,下次更新时可能会覆盖使用先前注释中的说明进行的更改。要解决此问题,请执行以下操作:
打开终端并运行cd /etc/default
,然后sudo nano google-chrome
(注意:您当然可以使用任何编辑器))
在配置文件中,更改第2行:repo_reenable_on_distupgrade="true"
,使其为false,如
repo_reenable_on_distupgrade="false"
,然后保存配置文件。
现在,您可以按照上面的说明对repo进行编辑。在终端窗口中运行前面注释中显示的命令:
sudo sed -i -e 's/deb http/deb [arch=amd64] http/' "/etc/apt/sources.list.d/google-chrome.list"
sudo sed -i -e 's/deb http/deb [arch=amd64] http/' "/opt/google/chrome/cron/google-chrome"
您现在的更改不会被config指令覆盖。
PS。这适用于Linux Mint 17.3,因此它可能适用于Ubuntu和任何基于Ubuntu的发行版。
答案 4 :(得分:4)
转到Ubuntu设置中的“软件来源”部分,然后点击“其他软件”标签,然后取消选中:http://dl.google.com/linux/chrome/deb/stable
现在sudo apt-get update可以正常工作。
更新管理员后,请撤消软件源中的更改。
答案 5 :(得分:0)
我通过以下流程解决了这个问题:
1.打开一个新的终端窗口并运行以下命令:
sudo gedit /etc/apt/sources.list.d/google-chrome.list
2.在打开的文本文件中编辑文件,使行显示为:
deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
N.B:你需要做的唯一补充是在'deb'之后但在'http'之前进入[amd64]架构。请勿编辑或替换此文件中的任何其他文本。
3.Hit Save。关闭Gedit窗口并返回终端并通过runnin
刷新包列表
sudo apt-get update
不应再出现'未能获取'APT错误。
来源link
答案 6 :(得分:0)
这对我来说不起作用,直到我修改了另一个文件:
/etc/apt/sources.list.d/additional-repositories.list
并改变了:
到
deb [arch = amd64] http://dl.google.com/linux/chrome/deb/稳定的主要