运行时sudo apt update
,出现此错误:
W: Failed to fetch http://dl.google.com/linux/earth/deb/dists/stable/Release Unable to find expected entry 'main/binary-i386/Packages' in Release file (Wrong sources.list entry or malformed file)
我该如何修复这个问题?我正在运行 64 位 Ubuntu 14.04。
更新: 我跟着我的答案,但今天又出现错误。文件/etc/apt/sources.list.d/google-earth.list
恢复原状,我刚刚注意到它有以下两行:
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
因此看起来文件被覆盖了,这意味着当前答案不是一个永久性的修复,重复的也不是。
更新 2:我决定卸载 Google Earth 并删除其 .list 文件。反正我从来不用它。如果有人遇到同样的问题,请告诉我,我会帮你解决。
更新 3:muru 在评论中提到有一个 cron 文件,/etc/cron.daily/google-earth
。我通读了一下,发现它将其附加到 .list 文件中:
deb http://dl.google.com/linux/earth/deb/ stable main
因此,也许编辑 cron 作业的这一部分或完全禁用它可以解决问题。
答案1
我在这个类似的问题上找到了答案:Google Chrome 32 位版不再有更新
我运行sudo nano /etc/apt/sources.list.d/google-earth.list
并更改了此行:
deb http://dl.google.com/linux/earth/deb/ stable main
更改为:
deb [arch=amd64] http://dl.google.com/linux/earth/deb/ stable main
然后就sudo apt update
成功了。
答案2
解决这个问题的这一部分:
因此看起来文件被覆盖了,这意味着当前答案不是一个永久性的修复,重复的也不是。
我在使用 google 'earth' 和 'chrome' 时都遇到了这个问题(更正后的源列表被覆盖)。为了解决这个问题,我复制了正确的源列表并保存了它们,然后我编写了一个脚本fix-google
,将保存的版本复制到 中的版本上/etc/apt
。由于我总是使用 进行更新aptitude
,所以我将我使用的脚本改为在 启动之前aptitude
运行。虽然很笨拙,但确实有效。我发现这个问题非常烦人fix-google
aptitude