TechNote

事務屋のおぼえがき

Ubuntu(on WSL2)でapt-get install時に404 Not Foundエラー

Ubuntuでapt-get installでRubyをインストールしようとした時に404 Not Foundエラー際の対応方法メモ。ここではRubyのインストール例だけど、apt-get installで404エラーが出たときはだいたいこれかなと思われる。

現象

WSL2上のUbuntuRubyをインストールする。

$ sudo apt-get install ruby

すると途中から404 Not Foundエラーが出始めた。

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  fonts-lato javascript-common libjs-jquery libruby3.0 rake ruby-net-telnet ruby-rubygems ruby-webrick ruby-xmlrpc
  ruby3.0 rubygems-integration
提案パッケージ:
  ri ruby-dev bundler
以下のパッケージが新たにインストールされます:
  fonts-lato javascript-common libjs-jquery libruby3.0 rake ruby ruby-net-telnet ruby-rubygems ruby-webrick
  ruby-xmlrpc ruby3.0 rubygems-integration
アップグレード: 0 個、新規インストール: 12 個、削除: 0 個、保留: 0 個。
8,575 kB のアーカイブを取得する必要があります。
この操作後に追加で 37.8 MB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 fonts-lato all 2.0-2.1 [2,696 kB]
取得:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 javascript-common all 11+nmu1 [5,936 B]
取得:3 http://archive.ubuntu.com/ubuntu jammy/main amd64 libjs-jquery all 3.6.0+dfsg+~3.5.13-1 [321 kB]
取得:4 http://archive.ubuntu.com/ubuntu jammy/main amd64 rubygems-integration all 1.18 [5,336 B]
無視:5 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 ruby3.0 amd64 3.0.2-7ubuntu2.3
取得:6 http://archive.ubuntu.com/ubuntu jammy/main amd64 ruby-rubygems all 3.3.5-2 [228 kB]
取得:7 http://archive.ubuntu.com/ubuntu jammy/main amd64 ruby amd64 1:3.0~exp1 [5,100 B]
取得:8 http://archive.ubuntu.com/ubuntu jammy/main amd64 rake all 13.0.6-2 [61.7 kB]
取得:9 http://archive.ubuntu.com/ubuntu jammy/main amd64 ruby-net-telnet all 0.1.1-2 [12.6 kB]
取得:10 http://archive.ubuntu.com/ubuntu jammy/universe amd64 ruby-webrick all 1.7.0-3 [51.8 kB]
取得:11 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 ruby-xmlrpc all 0.3.2-1ubuntu0.1 [24.9 kB]
無視:12 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libruby3.0 amd64 3.0.2-7ubuntu2.3
エラー:5 http://security.ubuntu.com/ubuntu jammy-updates/main amd64 ruby3.0 amd64 3.0.2-7ubuntu2.3
  404  Not Found [IP: 185.125.190.39 80]
エラー:12 http://security.ubuntu.com/ubuntu jammy-updates/main amd64 libruby3.0 amd64 3.0.2-7ubuntu2.3
  404  Not Found [IP: 185.125.190.39 80]
3,413 kB を 5秒 で取得しました (724 kB/s)
E: http://security.ubuntu.com/ubuntu/pool/main/r/ruby3.0/ruby3.0_3.0.2-7ubuntu2.3_amd64.deb の取得に失敗しました  404  Not Found [IP: 185.125.190.39 80]
E: http://security.ubuntu.com/ubuntu/pool/main/r/ruby3.0/libruby3.0_3.0.2-7ubuntu2.3_amd64.deb の取得に失敗しました  404  Not Found [IP: 185.125.190.39 80]
E: いくつかのアーカイブを取得できません。apt-get update を実行するか --fix-missing オプションを付けて試してみてください 。

解決方法

上記エラーの中に解決方法も書いてある。

apt-get update を実行するか --fix-missing オプションを付けて試してみてください 。

そのとおりにやってみることとする。

$ sudo apt-get update

結果

$ sudo apt-get update
ヒット:1 http://archive.ubuntu.com/ubuntu jammy InRelease
取得:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
取得:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
取得:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [108 kB]
取得:5 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [634 kB]
取得:6 http://archive.ubuntu.com/ubuntu jammy/main Translation-ja [295 kB]
取得:7 http://archive.ubuntu.com/ubuntu jammy/universe Translation-ja [1,534 kB]
取得:8 http://archive.ubuntu.com/ubuntu jammy/multiverse Translation-ja [7,160 B]
取得:9 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [855 kB]
取得:10 http://security.ubuntu.com/ubuntu jammy-security/main Translation-en [149 kB]
取得:11 http://security.ubuntu.com/ubuntu jammy-security/main amd64 c-n-f Metadata [11.0 kB]
取得:12 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [656 kB]
取得:13 http://archive.ubuntu.com/ubuntu jammy-updates/main Translation-en [209 kB]
取得:14 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 c-n-f Metadata [15.4 kB]
取得:15 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [668 kB]
取得:16 http://archive.ubuntu.com/ubuntu jammy-updates/restricted Translation-en [106 kB]
取得:17 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 c-n-f Metadata [528 B]
取得:18 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [961 kB]
取得:19 http://security.ubuntu.com/ubuntu jammy-security/restricted Translation-en [104 kB]
取得:20 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 c-n-f Metadata [532 B]
取得:21 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [764 kB]
取得:22 http://security.ubuntu.com/ubuntu jammy-security/universe Translation-en [137 kB]
取得:23 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 c-n-f Metadata [16.3 kB]
取得:24 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [36.5 kB]
取得:25 http://archive.ubuntu.com/ubuntu jammy-updates/universe Translation-en [207 kB]
取得:26 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 c-n-f Metadata [21.4 kB]
取得:27 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [41.6 kB]
取得:28 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse Translation-en [9,768 B]
取得:29 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 c-n-f Metadata [476 B]
取得:30 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [22.2 kB]
取得:31 http://archive.ubuntu.com/ubuntu jammy-backports/universe Translation-en [15.4 kB]
取得:32 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 c-n-f Metadata [580 B]
取得:33 http://security.ubuntu.com/ubuntu jammy-security/multiverse Translation-en [7,060 B]
取得:34 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 c-n-f Metadata [260 B]
7,822 kB を 5秒 で取得しました (1,461 kB/s)
パッケージリストを読み込んでいます... 完了

この後、再度 sudo apt-get install ruby を実行すると正常終了。
Rubyはちゃんと入ってるかな?

$ ruby -v
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux-gnu]

OK。

ついでにpryもインストールしておく。

$ sudo gem install pry pry-doc

結果

Fetching pry-0.14.2.gem
Fetching method_source-1.0.0.gem
Fetching coderay-1.1.3.gem
Successfully installed method_source-1.0.0
Successfully installed coderay-1.1.3
Successfully installed pry-0.14.2
Parsing documentation for method_source-1.0.0
Installing ri documentation for method_source-1.0.0
invalid options: -SNw2
(invalid options are ignored)
Parsing documentation for coderay-1.1.3
Installing ri documentation for coderay-1.1.3
Parsing documentation for pry-0.14.2
Installing ri documentation for pry-0.14.2
Done installing documentation for method_source, coderay, pry after 2 seconds
Fetching pry-doc-1.4.0.gem
Fetching yard-0.9.34.gem
Successfully installed yard-0.9.34
Successfully installed pry-doc-1.4.0
Parsing documentation for yard-0.9.34
Installing ri documentation for yard-0.9.34
Parsing documentation for pry-doc-1.4.0
Installing ri documentation for pry-doc-1.4.0
Done installing documentation for yard, pry-doc after 2 seconds
5 gems installed

OK。