2016-03-03 71 views
13

我想使用「錯誤的sources.list條目或惡意文件」 Chrome瀏覽器,而使用'apt-get的update`

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給出,但又顯示相同的錯誤。建議我一些東西。

回答

23

它看起來像谷歌已經停止支持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" 
+0

...非常感謝你......這個問題得到了解決,現在。其實在我的操作系統中沒有名爲「google-chrome.list」的文件,但是有一個文件名爲「google.list」 。所以我只是在你給的命令中改變了文件名。現在它工作正常。

sudo sed -i -e 's/deb http/deb [arch=amd64] http/' "/etc/apt/sources.list.d/google.list"
krocks

+0

@krocks,你正在使用哪個操作系統? –

+0

我使用的是Ubuntu 14.04LTS – krocks

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

+0

我試過這個,但它沒有選擇 – krocks

+0

我認爲http://stackoverflow.com/a/35850155/260805是更正確的ang長期解決方案。 – Ztyx

+1

@Ztyx這不是一個很好的理由投下這個準確 - 如果更簡潔 - 答案。 –

4

這不,因爲在那裏工作是/etc/default/google-chrome中的默認配置,其中包含有關存儲庫更新的說明。如果您在/etc/apt/sources.list.d/打開谷歌,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. 在配置文件中,更改第二行:repo_reenable_on_distupgrade="true"這樣它就是假的,如 repo_reenable_on_distupgrade="false",然後保存配置文件。

  3. 現在,您可以按照上面的指示對回購進行編輯。在終端窗口中運行的命令,如圖先前的評論:

    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的發行版中都可以使用。

+0

你可以解釋一下,一旦'cron'作業文件還包含'[arch = amd64]'標誌,爲什麼需要將'repo_reenable_on_distupgrade'更改爲'false'?當'list'文件被自動更新時,它現在不會被正確配置嗎? –

0

我按如下步驟解決了這個問題:

1.Open一個新的終端窗口,執行以下命令:

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

2.In文本文件打開編輯該文件,以便讀取該行:

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

N.B:唯一需要添加的是在'deb'之後但在'http'之前輸入[amd64]體系結構。不要編輯或替換此文件中的任何其他文本。

3.點擊保存。關閉gedit窗口,並返回到終端和奔跑

sudo apt-get update 

的「無法取得」 APT錯誤應該不會再出現刷新軟件包列表。

link

4

轉到 「軟件源」 在Ubuntu中設置部分,然後點擊 「其他軟件」 選項卡,然後取消選擇:http://dl.google.com/linux/chrome/deb/stable

現在sudo apt-get update會生效。

更新管理器之後,撤銷軟件源中的更改。

+0

在我的系統中,它位於「其他存儲庫」部分。 –

+0

在Ubuntu 15.04中這是在軟件及更新 - >其他軟件 –

6

此外,如果有兩個文件名google.list/etc/apt/sources.list.d目錄中包含類似的條目谷歌,chrome.list可能存在這個問題:

在google.list:

deb http://dl.google.com/linux/chrome/deb/ stable main 

在谷歌鉻。清單:

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

那麼你應該刪除google.list文件中,或者取消其進入如下圖所示:

#deb http://dl.google.com/linux/chrome/deb/ stable main 
+0

謝謝.... ....終於這個解決方案爲我工作。 –

+0

這是對我有用的東西。謝謝! 此外,您可能是指「評論其條目」,而不是「取消註冊其條目」? – abhgh

+0

謝謝你,這工作..(依賴應該檢查,而調試.. :)) – heykarthikwithu

相關問題