使用`apt-get update`时Chrome的“错误来源。列表条目或格式错误的文件”

时间:2016-03-03 11:21:02

标签: google-chrome ubuntu-14.04

我正在尝试使用

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中给出的解决方案,但又显示了同样的错误。建议我。

7 个答案:

答案 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.

与说明一样,下次更新时可能会覆盖使用先前注释中的说明进行的更改。要解决此问题,请执行以下操作:

  1. 打开终端并运行cd /etc/default,然后sudo nano google-chrome(注意:您当然可以使用任何编辑器))

  2. 在配置文件中,更改第2行:repo_reenable_on_distupgrade="true",使其为false,如 repo_reenable_on_distupgrade="false",然后保存配置文件。

  3. 现在,您可以按照上面的说明对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"

  4. 您现在的更改不会被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 http://dl.google.com/linux/chrome/deb/稳定的主要

  

deb [arch = amd64] http://dl.google.com/linux/chrome/deb/稳定的主要