ぼくのかんがえたさいきょうの /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.com や REGION.gce.archive.ubuntu.com/ubuntu/ のコメントを外して最初に試行するとよいでしょう。
/etc/apt/mirrors.txt について詳しく説明すると、
priorityの値が小さい順に試行して、失敗したら次のを試行するpriorityの値がないのは最後に試行するpriorityの値が同じもの同士、もしくはpriorityの値がないもの同士はその中からランダムで選ばれ、失敗したらその中からまたランダムで選んで試行を繰り返す- URL と
priorityの間はタブで区切る! スペースではダメ!!- 今回の超絶おハマりポイントです!!
cat -T /etc/apt/mirrors.txtで^Iとなっているか確認しましょう
- この機能が使えるのは
apt1.6 以上で、bionic のが 1.6.x なので bionic より古いと使えないかもです
詳細は apt-transport-mirror(1) を参照してください。
公式の apt repos のミラーの一覧はここにあるので、お好みのを選んでみてください。
ときに、爆速の ICSCoE が以前は掲載されていた記憶なんですが、公式ミラーから外れちゃったんすかね?
おハマりその 2
do-release-upgrade するときは事前に元の source.list に戻しましょう。
do-release-upgrade の過程で source.list の中のコードネームが書き換わるのですが、少なくとも bionic → focal のときはmirror+file: の行が bionic のままでエラー終了しちゃいました。