Raspberry Pi 2で apt-get updateがHash Sum mismatchで失敗する

Raspberry Pi 2で apt-get update をすると Hash Sum mismatchが出て失敗する。

作業環境

作業環境は以下の通りです。

  • 型番: Raspberry Pi 2 Model B
  • OS: Raspbian stretch (Raspbian Stretch Lite)

発生事象

apt-get updateをするとHash Sum mismatchとエラーメッセージが出て、アップデートが完了しない。

sudo apt-get update
(snip)
E: Failed to fetch http://raspbian.raspberrypi.org/raspbian/dists/stretch/main/binary-armhf/Packages.xz  Hash Sum mismatch
   Hashes of expected file:
    - Filesize:11663204 [weak]
    - SHA256:cad9897b271611d1fe2e429f07e63b06d6d315d11ea7f49e8a3d2a781c6b13a6
    - SHA1:cb80b79bb289e0ebf33fe3880c0047224a7748b2 [weak]
    - MD5Sum:a5991e15fc454041300387accfc14dfd [weak]
   Hashes of received file:
    - SHA256:520ba1cc99d668f8c3f1e78637ffd1b4218c698a94b90919d5eff1fa78f0480d
    - SHA1:055dbcd4263f253d39f331536c2143aa050b057b [weak]
    - MD5Sum:a309ea02bc0cc5b1aa1f53470a653c87 [weak]
    - Filesize:11663204 [weak]
   Last modification reported: Mon, 18 Mar 2019 22:38:13 +0000
   Release file created at: Wed, 20 Mar 2019 16:32:34 +0000
E: Some index files failed to download. They have been ignored, or old ones used instead.

実施した手順

まずは、/etc/apt/sources.listを編集してみた。
Wikiを軽く読んだところ、このファイルはどこからパッケージを入手するかを記述するファイルらしい。

cd /etc/apt/
sudo vi sources.list

最下行がコメントアウトされていたので、コメントを外した。

deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
deb-src http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi

再度アップデートを実施したところうまく動いたように見えた。
しかし、数日後再度、同じエラーが発生する。

そこで、以下の記事の解決法2を実施した。

apt-get update 時にHash Sum mismatch エラーが出力される場合の対処 - Qiita
# 履歴 2016/03/16: @noromanba さんの編集リクエストより、sed で書き換える例を追加 # エラーの事象 apt-get update 時に次のようなエラーが出力されることがあります。 ```text:...
sudo rm -rf /var/lib/apt/lists/*

/var/lib/apt/listsは、パッケージインデックスファイルというものを格納しているらしい。下記の記事に詳しく書かれているが、apt-get updateすると、source.listに書かれているURLからパッケージインデックスファイルを引っ張ってきてこのディレクトリに入れているそうだ。

つまり、ディレクトリの中身を消せばまっさらな状態になるから、再度updateをするとうまくいくということだろうか。

実際にやってみたらうまくいった。しかし謎だ。

コメント

タイトルとURLをコピーしました