ぼくのかんがえたさいきょうの /etc/apt/sources.list

これ

# /etc/apt/sources.list
deb     mirror+file:/etc/apt/mirrors.txt jammy main restricted universe multiverse
deb-src mirror+file:/etc/apt/mirrors.txt jammy main restricted universe multiverse

deb     mirror+file:/etc/apt/mirrors.txt jammy-updates main restricted universe multiverse
deb-src mirror+file:/etc/apt/mirrors.txt jammy-updates main restricted universe multiverse

deb     http://security.ubuntu.com/ubuntu jammy-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu jammy-security main restricted universe multiverse
# /etc/apt/mirrors.txt
# http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu/  priority:1
# http://asia-northeast1.gce.archive.ubuntu.com/ubuntu/ priority:1
https://ftp.udx.icscoe.jp/Linux/ubuntu/ priority:2
https://linux.yz.yamagata-u.ac.jp/ubuntu/   priority:3
http://archive.ubuntu.com/ubuntu/

です。

これで、

  • ftp.udx.icscoe.jp にアクセスして成功したらそれで OK
  • 失敗したら linux.yz.yamagata-u.ac.jp にアクセスして成功したらそれで OK
  • 更に失敗したら最後の砦の http://archive.ubuntu.com/ubuntu/ にアクセスする

な動作になります。

EC2 や GCE な向きは、リージョンを適宜変更して(まれによくコケる)REGION.ec2.archive.ubuntu.comREGION.gce.archive.ubuntu.com/ubuntu/ のコメントを外して最初に試行するとよいでしょう。

/etc/apt/mirrors.txt について詳しく説明すると、

  • priority の値が小さい順に試行して、失敗したら次のを試行する
  • priority の値がないのは最後に試行する
  • priority の値が同じもの同士、もしくは priority の値がないもの同士はその中からランダムで選ばれ、失敗したらその中からまたランダムで選んで試行を繰り返す
  • URL と priority の間はタブで区切る! スペースではダメ!!
    • 今回の超絶おハマりポイントです!!
    • cat -T /etc/apt/mirrors.txt^I となっているか確認しましょう
  • この機能が使えるのは apt 1.6 以上で、bionic のが 1.6.x なので bionic より古いと使えないかもです

詳細は apt-transport-mirror(1) を参照してください。

公式の apt repos のミラーの一覧はここにあるので、お好みのを選んでみてください。

ときに、爆速の ICSCoE が以前は掲載されていた記憶なんですが、公式ミラーから外れちゃったんすかね?