これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。
HTML ファイル生成日時: 2025/04/14 22:36:36.803 (台灣標準時)
pkgsrc を使ってアプリケーションをコンパイルしインストールしようとする と、ソースコードを含むファイルの取得が失敗することがあるでござる。ラン ダムに失敗が起こるのではなく、特定のファイルのダウンロードが繰り返し失 敗することが多いでござる。
FETCH_USING という変数を設定すると、ダウンロードのために使 うコマンドを切り替えられるようでござる。デフォルトでは、 fetch コマンドが使われるとのことでござる。
FETCH_USING には、 ftp, fetch, curl, wget のいずれかを選ぶ ことができるようでござる。
/usr/pkgsrc/mk/bsd.prefs.mk |
---|
![]() |
以下が fetch コマンドを使った場合に、 distfile の fetch が 途中で止まってしまってほしいファイルがダウンロードできない例でござる。
FETCH_USING=fetch |
---|
![]() |
以下は、 FETCH_USING=curl としてみた場合の結果にござる。や はり同じところでダウンロードが止まってしまったでござる。
FETCH_USING=curl |
---|
![]() |
以下は、 FETCH_USING=wget としてみた場合の結果にござる。や はり同じところでダウンロードが止まってしまったでござる。
FETCH_USING=wget |
---|
![]() |
以下は、 FETCH_USING=ftp としてみた場合の結果にござる。や はり同じところでダウンロードが止まってしまったでござる。
FETCH_USING=ftp |
---|
![]() |
fetch に使うコマンドの問題ではなさそうでござる。
確認してみると、 http://ftp.fr.NetBSD.org/pub/pkgsrc/distfiles/ からダウンロー ドするときに問題が起きているようでござる。 ftp.fr.netbsd.org 以外から ダウンロードするにはどうすればよいのか調べてみたでござる。すると、 MASTER_SITE_BACKUP という変数の値を変えてあげればよさそうだとわかっ たでござる。
/usr/pkgsrc/mk/fetch/sites.mk を見ると、ファイルの一番後ろ に以下のような記述があるでござる。
# The primary backup site. MASTER_SITE_BACKUP?= \ https://cdn.NetBSD.org/pub/pkgsrc/distfiles/ \ http://ftp.fr.NetBSD.org/pub/pkgsrc/distfiles/ \ https://ftp.NetBSD.org/pub/pkgsrc/distfiles/
/usr/pkgsrc/mk/fetch/sites.mk |
---|
![]() |
/etc/mk.conf に以下の記述を追加してみたでござる。
MASTER_SITE_BACKUP= \ https://cdn.NetBSD.org/pub/pkgsrc/distfiles/ \ https://ftp.NetBSD.org/pub/pkgsrc/distfiles/
make install を実行してみると、 cdn.netbsd.org からダウンロードを試みるようになったのでござるが、 https での通信に失 敗したでござる。
--2025-04-07 21:07:33-- https://cdn.netbsd.org/pub/pkgsrc/distfiles/libz-sys-1.1.16.crate Resolving cdn.netbsd.org (cdn.netbsd.org)... 151.101.193.6, 151.101.65.6, 151.101.1.6, ... Connecting to cdn.netbsd.org (cdn.netbsd.org)|151.101.193.6|:443... connected. ERROR: cannot verify cdn.netbsd.org's certificate, issued by 'CN=GlobalSign Atlas R3 DV TLS CA 2025 Q1,O=GlobalSign nv-sa,C=BE': Unable to locally verify the issuer's authority. To connect to cdn.netbsd.org insecurely, use `--no-check-certificate'. fetch: Unable to fetch expected file libz-sys-1.1.16.crate
![]() |
---|
以下を見ると、 curl か wget を使えば、 https によるファイルのダウンロー ドができるように読み取れるのでござるが、実際には上手くいかないので不可 解でござる。
/usr/pkgsrc/mk/fetch/fetch.mk を見てみると、以下のような記 述があったでござる。
# FETCH_INSECURE, if defined, will cause the fetch command to not validate # TLS certificates.
/etc/mk.conf に以下の記述を追加してみたでござる。
FETCH_USING=wget FETCH_INSECURE=YES
すると、今度は上手くいったでござる。
--2025-04-07 21:17:52-- https://static.crates.io/crates/libz-sys/libz-sys-1.1.16.crate Resolving static.crates.io (static.crates.io)... 151.101.194.137, 151.101.2.137, 151.101.130.137, ... Connecting to static.crates.io (static.crates.io)|151.101.194.137|:443... connected. WARNING: cannot verify static.crates.io's certificate, issued by 'CN=GlobalSign Atlas R3 DV TLS CA 2024 Q4,O=GlobalSign nv-sa,C=BE': Unable to locally verify the issuer's authority. HTTP request sent, awaiting response... 200 Length: 3958920 (3.8M) [application/gzip] Saving to: 'libz-sys-1.1.16.crate' libz-sys-1.1.16.cra 100%[===================>] 3.78M 1.63MB/s in 2.3s 2025-04-07 21:17:55 (1.63 MB/s) - 'libz-sys-1.1.16.crate' saved [3958920/3958920]