コンテナで実行すると、このエラーが表示されますapt update
(有用な情報の場合)。適切な吐き出し:
System error resolving 'archive.ubuntu.com:80' - getaddrinfo (16: Device or resource busy)
glibcのソースコードを見ようとしましたが、何が起こっているのかわかりません。
答え1
コンテナは完全には機能せず、GNU C ライブラリのネームサービス切り替え機能はコンテナで動作しません。特に、動的にロード/ロードできません。この場合、returnは次に設定されます(および次に設定されます)。_nss_N_gethostbyname3_r
_nss_N_gethostbyname2_r
getaddrinfo()
errno
EBUSY
h_errno
NETDB_INTERNAL
また、誤った関数のソースコードを見ています。それはgetaddrinfo_a()
。
答え2
アクセス権を確認してください。私の場合、/ etc / hostsのモードは0600です。これはrootで動作しますが、aptはダウンロード時に権限を削除します。
確認する必要がある他の興味深い場所:
- /lib、/lib/ARCH_TRIPLE、/lib/ARCH_TRIPLE/libnss_dns.so
- /etc/resolv.conf
- /usr、/usr/bin