【问题标题】:"Wrong sources.list entry or malformed file" for Chrome while using `apt-get update`使用`apt-get update`时Chrome的“错误的sources.list条目或格式错误的文件”
【发布时间】:2016-06-16 16:44:17
【问题描述】:

我正在尝试使用

sudo apt-get update
但我收到错误消息,
W:无法获取 http://dl.google.com/linux/chrome/deb/dists/stable/Release 无法在发布文件中找到预期的条目“main/binary-i386/Packages”(来源错误。列表条目或格式错误的文件)

E: 部分索引文件下载失败。它们已被忽略,或者使用旧的。 

我厌倦了https://askubuntu.com/questions/120621/how-to-fix-duplicate-sources-list-entry 中给出的解决方案,但再次显示相同的错误。给我一些建议。

【问题讨论】:

    标签: google-chrome ubuntu-14.04


    【解决方案1】:

    Google 似乎已停止支持 i386,这就是现在出现此错误的原因。看起来他们的 deb install 配置 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"
    

    【讨论】:

    • ...非常感谢...这个问题现在已经解决了。实际上在我的操作系统中没有名为“google-chrome.list”的文件,但有一个名为“google.list”的文件。所以我只是在你给出的命令中更改了文件名。现在它工作正常。
       sudo sed -i -e 's/deb http/deb [arch=amd64] http/' "/etc/apt/sources.list.d/google.list" 
    • @krocks,您使用的是哪个操作系统?
    • 我使用的是 Ubuntu 14.04LTS
    • 此解决方案最多只能工作 24 小时。见stackoverflow.com/a/35850155/260805
    • 这个答案还应该解决如何让chrome避免自动反转这个标志,就像其他两个答案一样。
    【解决方案2】:

    此外,如果 /etc/apt/sources 中有两个名称为 google.listgoogle-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
    

    【讨论】:

    • 这对我有用。谢谢!另外,您的意思可能是“注释其条目”而不是“取消注释其条目”?
    • 谢谢哥们,这行得通..(调试时应该检查依赖项.. :))
    • @heykarthikwithu 如果它有效,那么赞成是可观的。这样,其他人也会觉得它很有帮助。
    【解决方案3】:

    对我来说,这种变化在一夜之间就恢复了。显然你需要改变/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 的下方

    【讨论】:

    • 我认为stackoverflow.com/a/35850155/260805 是更正确的长期解决方案。
    • @Ztyx 这不是一个很好的理由来否决这个准确的答案——如果更简洁的话——答案。
    【解决方案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.
    

    正如注释所说,使用先前 cmets 中的说明进行的更改可能会在您下次更新时被覆盖。要解决此问题,请执行以下操作:

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

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

    3. 现在,您可以按照上面的说明对 repo 进行编辑。在终端窗口中运行前面 cmets 中所示的命令:

      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"

    您的更改现在不会被配置指令覆盖。

    PS。这适用于 Linux Mint 17.3,因此它可能也适用于 Ubuntu 和任何基于 Ubuntu 的发行版。

    【讨论】:

    • 您能否解释一下,一旦cron 作业文件也包含[arch=amd64] 标志,为什么需要将repo_reenable_on_distupgrade 更改为false?每当list 文件自动更新时,它现在不会正确配置吗?
    【解决方案5】:

    转到 Ubuntu 设置中的“软件源”部分,然后单击“其他软件”选项卡,然后取消选中:http://dl.google.com/linux/chrome/deb/stable

    现在 sudo apt-get update 可以工作了。

    更新管理器后,撤消软件源中的更改。

    【讨论】:

    • 在我的系统中,它位于“其他存储库”部分下。
    • 在 Ubuntu 15.04 中,它位于软件和更新 -> 其他软件下
    【解决方案6】:

    我通过以下过程解决了这个问题:

    1.打开一个新的终端窗口并运行以下命令:

    sudo gedit /etc/apt/sources.list.d/google-chrome.list
    

    2.在打开的文本文件中编辑文件,使该行显示为:

    deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
    

    注意:您需要做的唯一补充是在“deb”之后但在“http”之前输入 [amd64] 架构。请勿编辑或替换此文件中的任何其他文本。

    3.点击保存。关闭 Gedit 窗口并返回终端并通过 runnin 刷新您的包列表

    sudo apt-get update
    

    “未能获取”APT 错误不应再出现。

    来源link

    【讨论】:

      【解决方案7】:

      这对我不起作用,直到我修改了另一个文件:

      /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/ 稳定主

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-03-09
        • 1970-01-01
        • 1970-01-01
        • 2022-12-07
        • 1970-01-01
        • 2017-10-14
        • 1970-01-01
        • 2023-01-27
        相关资源
        最近更新 更多