Yesterday, I did $ sudo apt update
and I ended up getting the following error -
Err:25 http://packages.microsoft.com/repos/vscode stable/main amd64 Packages
Hash Sum mismatch
To be honest, I had no idea what does this error even stands for, so I searched for ubuntu apt-update hash sum mismatch fix
on google, and got the following results -
- Trouble downloading packages list due to a âHash sum mismatchâ error
- How do you fix apt-get update âHash Sum mismatchâ
One of the users wrote that the easiest fix would be -
$ sudo apt clean
$ sudo apt update
Another fix, according to a user, was to remove the contents of /var/lib/apt/lists
and run sudo apt update
.
A comment on that answer suggested -
If you remove all files, you have to download them again. You can just remove the invalid file to make this process faster.
Part 1
Now, I had two options to fix the issue, but for some reasons, I didnât want to remove the contents of /var/lib/apt/lists
, so I started with -
sudo apt clean
sudo apt autoclean
sudo apt update
Unfortunately, the solution didnât work. I was still getting the hash sum mismatch
error.
Part 2
Removing the contents of /var/lib/apt/lists
.
Since the source of problem was Visual Studio Code, it was completely unnecessary to remove all the files. So, I just had to delete the files which were related to vscode -
- Search for files
cd /var/lib/apt/lists
ls | grep vs
packages.microsoft.com_repos_vscode_dists_stable_InRelease
packages.microsoft.com_repos_vscode_dists_stable_main_binary-amd64_Packages
- Enter superuser mode and delete files
sudo su # or just su
cd /var/lib/apt/lists
rm packages.microsoft.com_repos_vscode_dists_stable_InRelease
rm packages.microsoft.com_repos_vscode_dists_stable_main_binary-amd64_Packages
- Clean, remove, and update
sudo apt clean && sudo apt autoclean && sudo apt remove &&
sudo apt autoremove && sudo apt update # I know. Please don't judge.
ISSUE
The problem didnât disappear.
It was still getting the same error while updating. Only this time, I read the error carefully.
- Failed to fetch http://packages.microsoft.com/repos/vscode/dists/stable/main/binary-amd64/Packages.bz2
- Hash Sum mismatch
- E: Some index files failed to download. They have been ignored, or old ones used instead.
Part 3
This part is all about hit and trial, and trusting my instincts alongside!
Failed to fetch http://packages.microsoft.com/repos/vscode/dists/stable/main/binary-amd64/Packages.bz2
The above error made me check if Packages.bz2
file exists in /var/lib/apt/lists
. So, I checked -
ls /var/lib/apt/lists | grep Packages.bz2
Result - Nothing. Packages.bz2 was missing! Good News?
My initial thought - Add Packages.bz2
to /var/lib/apt/lists
and run sudo apt update
.
Problem - I had already deleted the two files. -
packages.microsoft.com_repos_vscode_dists_stable_InRelease
packages.microsoft.com_repos_vscode_dists_stable_main_binary-amd64_Packages
How to get those files back?
The files available in /var/lib/apt/lists
are in the form of site.com_foo_bar_buzz
. Now, if you replace _
with /
, youâll get -
site.com/foo/bar/buzz
So,
packages.microsoft.com_repos_vscode_dists_stable_InRelease
will become -
packages.microsoft.com/repos/vscode/dists/stable/InRelease
Since two of the files related to VSCode were already gone, I had to download them and put them back to their place. Kudos to history
.
history | grep packages.microsoft
I also needed the Packages.bz2
file, so I grabbed the downloadable link from the error message
.
http://packages.microsoft.com/repos/vscode/dists/stable/InRelease
http://packages.microsoft.com/repos/vscode/dists/stable/main_binary-amd64_Packages
http://packages.microsoft.com/repos/vscode/dists/stable/main/binary-amd64/Packages.bz2
-
Step 1 - Download the files.
-
Step 2 - Rename files. The name of the files should be similar to the url they were obtained form, except
/
will be replaced by_
. InRelease, Packages, and Packages.bz2 will become -
packages.microsoft.com_repos_vscode_dists_stable_InRelease
packages.microsoft.com_repos_vscode_dists_stable_main_binary-amd64_Packages
packages.microsoft.com_repos_vscode_dists_stable_main_binary-amd64_Packages.bz2
Now, move those files to /var/lib/apt/lists
sudo su
mv packages.microsoft.com_repos_vscode_dists_stable_InRelease /var/lib/apt/lists
mv packages.microsoft.com_repos_vscode_dists_stable_main_binary-amd64_Packages /var/lib/apt/lists
mv packages.microsoft.com_repos_vscode_dists_stable_main_binary-amd64_Packages.bz2 /var/lib/apt/lists
- You can move them all together. It doesnât matter.
Run sudo apt update
.
This fixed the whole Hash Sum Mismatch
error for me!.
I had no idea if it would work or not. I attempted to solve a problem, and everything went fine.
Links