目次
1. 国内ソースに変更後、https 証明書の問題が報告される
3、公開鍵が利用できないことを通知: NO_PUBKEY XXXX
arm アーキテクチャの ubuntu システムは、コンテナ経由で実行すると非互換または更新エラーが発生するため、ここ 2 日間の結果を示します。
テストされたマシンは、それぞれ x86 およびアーム アーキテクチャに対応する centos7.5 および kylin v10 システムです。ミラー ウェアハウスの dockerhub 公式 Web サイトを選択します。apt ソースは、テスト用にデフォルトのソースと Tsinghua ソースを選択します。ubuntu のミラー ソースの各バージョンのコード名: 22.10: kinetic; 22.04: jammy; 21.10: impish; 20.04: focus; 18.04: bionic; 16.04: xenial; 14.04: trusty.
結論から先に言わせてください、ubuntu21.10版のアップデートは使えません、22.04版x86のノーマルアームは--privilegedパラメータを追加する必要があり、それ以外のバージョンは正常で、進捗は後ほど補足します. メッセージを残してください。
1.x86 組織
1、ubuntu 20.04
docker run -it --rm --name テスト ubuntu:20.04 bash
cat /etc/issue
猫/etc/apt/sources.list
デフォルトでは、 /ubuntu の公式ソースインデックスを使用して正常に更新されます。
Tsinghua ソースに変更します。デフォルトの https アドレスはエラーを報告し (記事 3.1 を参照)、手動で置き換えます (Tsinghua ソースの使用方法は 3.2 を参照)。
cat << EOF > /etc/apt/sources.list
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ 焦点メイン制限付き
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focus-updates メインの制限付き
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focus ユニバース
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focus-updates ユニバース
deb http:// mirrors.tuna.tsinghua.edu.cn/ubuntu/ 焦点マルチバース
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focus-updates マルチバース
deb http://mirrors.tuna.tsinghua.edu.cn/ ubuntu/ focus-backports メインの制限付きユニバース マルチバース
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focus-security メインの制限付き
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focus-セキュリティユニバース
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focus-security multiverse
EOF
2、ubuntu 18.04
docker run -it --rm --name テスト ubuntu:18.04 bash
公式ソースOK、清華ソースOK
3、ubuntu 21.10
docker run -it --rm --name テスト ubuntu:21.10 bash
公式ソースエラー、清華ソースエラー
impish のリリースは見つかっていないと言われていますが、dist を読んだところ、実際には存在しませんでした。
4、ubuntu 22.04
docker run -it --rm --name テスト ubuntu:22.04 bash
公式ソースOK
二、アーム編成
1、ubuntu 20.04
docker run -it --rm --name テスト ubuntu:20.04 bash
cat /etc/issue
猫/etc/apt/sources.list
デフォルトでは、 /ubuntu-ports の公式ソースインデックスは正常に更新されます。
Tsinghua ソースに変更します。デフォルトの https アドレスはエラーを報告します (記事 3.1 を参照)、手動で置き換えます
cat << EOF > /etc/apt/sources.list
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ 焦点メイン制限付き
deb http://mirrors.tuna.tsinghua.edu.cn/ ubuntu-ports/ focus-updates メインの制限付き
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focus ユニバース
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focus -updates ユニバース
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focus multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focus-updates multiverse deb
http //mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focus-backports メインの制限付きユニバース マルチバース
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focus-security メインの制限付き
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focus-security ユニバース
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focus-security multiverse
EOF
2、ubuntu 18.04
docker run -it --rm --name テスト ubuntu:18.04 bash
公式ソースOK、清華ソースOK
3、ubuntu 21.10
docker run -it --rm --name テスト ubuntu:21.10 bash
公式ソースエラー、清華ソースエラー
4、ubuntu 22.04
docker run -it --rm --name テスト ubuntu:22.04 bash
公式ソースエラー
key メソッドを登録しようとしましたが、無効です (3.3 を参照)
現時点では、検証しないことによってのみ正常に更新できます
docker run -it --rm --name test --privileged ubuntu:22.04 bash
参考:dockerがubuntu22.04を異常実行する(再現)_qq_43808467さんのブログ - CSDNブログ
AGX Xavier Ubuntu 18.04 docker は apt update の問題を解決できない - プログラマー募集
docker - apt updateは、アームのUbuntu 20.04コンテナーで署名エラーをスローします
3. 問題
1. 国内ソースに変更後、https 証明書の問題が報告される
証明書の検証に失敗しました: 証明書は信頼されていません。証明書の発行者は不明です。ハンドシェイクできませんでした: 証明書の検証でエラーが発生しました
ubuntu | ミラーステーション利用ヘルプ | 清華大学オープンソースソフトウェア ミラーステーション | 清華オープンソースミラー
解決策:
CA 証明書を手動でインストールするか、送信元アドレスを http に変更する 2 つの方法があります。
ca-certificates に必要なファイルを手動でインストールします。
https://download.csdn.net/download/weixin_39855998/87322568
2. 国内のオープンソース局を選ぶ場合
清華を例に挙げて、清華大学オープン ソース ソフトウェア ミラー ステーション | 清華オープン ソース ミラーをご覧ください。
ubuntu ミラーを検索します。ubuntu は x86、ubuntu-ports は arm アーキテクチャです。
黒いクエスチョン マークをクリックして、source.list のアドレスを直接コピーします。
クリックして dists を表示し、現在存在するパッケージのバージョンを確認します
3、公開鍵が利用できないことを通知: NO_PUBKEY XXXX
このキーを登録し、不足しているパッケージを報告してください:
E: gnupg、gnupg2、gnupg1 はインストールされていないようですが、この操作にはいずれかが必要です (ここで無限ループが発生し、更新元は gnupg パッケージをインストールする必要があり、最初に gnupg パッケージを更新する必要があります)。 )
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 871920D1991BC93C
悪を信じないで、依存しているデブをすべて見つけてください
gnupg をローカルにインストールするには、続行します
今度は間違いない