ぼくのかんがえたさいきょうの /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
となっているか確認しましょう
- この機能が使えるのは
apt
1.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 のままでエラー終了しちゃいました。