これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。
HTML ファイル生成日時: 2025/11/23 20:31:30.065 (台灣標準時)
以前に、 pkgsrc を使って net/yt-dlp をインストールした後に、実際に yt-dlp を実行したみたら、 "ffmpeg not found" という WARNING が出たでござる。そのときは、 ffmpeg7 を指し示す ffmpeg というシンボリッ クリンクを作ったでござる。
今日、 pkgsrc-users のメーリングリストを見ていたら、以下のような投稿が あったでござる。
|
|---|
pkgtools/pkg_alternatives をインストールすると、シンボリックリンクが作 られる、ということなので、試しにインストールしてみたでござる。
# cd /usr/pkgsrc/pkgtools/pkg_alternatives # make install # make clean
pkg_alternatives をインストールしてみたら、多くのパッケージの実行ファ イルについて、シンボリックリンクが作られたでござる。
% ls -lt /usr/pkg/bin/ | head -20 total 3189200 -rwxr-xr-x 1 root wheel 2543 Nov 18 09:38 view* -rwxr-xr-x 1 root wheel 2533 Nov 18 09:38 vi* -rwxr-xr-x 1 root wheel 2533 Nov 18 09:38 ex* -rwxr-xr-x 1 root wheel 2563 Nov 18 09:38 typeprof* -rwxr-xr-x 1 root wheel 2593 Nov 18 09:38 syntax_suggest* -rwxr-xr-x 1 root wheel 2543 Nov 18 09:38 ruby* -rwxr-xr-x 1 root wheel 2533 Nov 18 09:38 ri* -rwxr-xr-x 1 root wheel 2543 Nov 18 09:38 rdoc* -rwxr-xr-x 1 root wheel 2543 Nov 18 09:38 rdbg* -rwxr-xr-x 1 root wheel 2538 Nov 18 09:38 rbs* -rwxr-xr-x 1 root wheel 2543 Nov 18 09:38 rake* -rwxr-xr-x 1 root wheel 2543 Nov 18 09:38 racc* -rwxr-xr-x 1 root wheel 2538 Nov 18 09:38 irb* -rwxr-xr-x 1 root wheel 2538 Nov 18 09:38 gem* -rwxr-xr-x 1 root wheel 2538 Nov 18 09:38 erb* -rwxr-xr-x 1 root wheel 2558 Nov 18 09:38 bundler* -rwxr-xr-x 1 root wheel 2553 Nov 18 09:38 bundle* -rwxr-xr-x 1 root wheel 2578 Nov 18 09:38 asciidoctor* -rwxr-xr-x 1 root wheel 2543 Nov 18 09:38 idle*
python3 が何を指し示しているのか確認してみたでござる。
% ls -lF /usr/pkg/bin/*python* -rwxr-xr-x 1 root wheel 2573 Nov 18 09:38 /usr/pkg/bin/findpython* -rwxr-xr-x 1 root wheel 225 Sep 29 16:59 /usr/pkg/bin/findpython-3.13* -rwxr-xr-x 1 root wheel 15376 Sep 29 21:35 /usr/pkg/bin/grpc_python_plugin* -rwxr-xr-x 1 root wheel 2558 Nov 18 09:38 /usr/pkg/bin/ipython* -rwxr-xr-x 1 root wheel 231 Sep 27 08:59 /usr/pkg/bin/ipython-3.13* -rwxr-xr-x 1 root wheel 2563 Nov 18 09:38 /usr/pkg/bin/ipython3* -rwxr-xr-x 1 root wheel 231 Sep 27 08:59 /usr/pkg/bin/ipython3-3.13* -rwxr-xr-x 1 root wheel 2553 Nov 18 09:38 /usr/pkg/bin/python* -rwxr-xr-x 1 root wheel 2558 Nov 18 09:38 /usr/pkg/bin/python3* -rwxr-xr-x 1 root wheel 6800 Sep 26 09:37 /usr/pkg/bin/python3.10* -rwxr-xr-x 1 root wheel 3092 Sep 26 09:37 /usr/pkg/bin/python3.10-config* -rwxr-xr-x 1 root wheel 6800 Sep 26 09:40 /usr/pkg/bin/python3.11* -rwxr-xr-x 1 root wheel 3049 Sep 26 09:40 /usr/pkg/bin/python3.11-config* -rwxr-xr-x 1 root wheel 6800 Sep 26 09:43 /usr/pkg/bin/python3.12* -rwxr-xr-x 1 root wheel 3084 Sep 26 09:43 /usr/pkg/bin/python3.12-config* -rwxr-xr-x 1 root wheel 6800 Sep 25 21:30 /usr/pkg/bin/python3.13* -rwxr-xr-x 1 root wheel 3193 Sep 25 21:30 /usr/pkg/bin/python3.13-config* -rwxr-xr-x 1 root wheel 6800 Sep 26 09:34 /usr/pkg/bin/python3.9* -rwxr-xr-x 1 root wheel 3090 Sep 26 09:34 /usr/pkg/bin/python3.9-config* % /usr/pkg/bin/python3 --version Python 3.10.18
/usr/pkg/bin/python3 は python3.10 を指し示しているようでござる。
python について調べてみると、以下のようでござった。
% /usr/pkg/bin/python --version Python 3.10.18
/usr/pkg/bin/python は python3.10 を指し示しているようでござる。どうや ら、バージョン番号が最も小さいものが選ばれて、それに対するシンボリック リンクが作られるようでござる。
ffmpeg についても調べてみたでござる。
% ls -lF /usr/pkg/bin/*ffmpeg* -rwxr-xr-x 1 root wheel 2553 Nov 18 09:38 /usr/pkg/bin/ffmpeg* -rwxr-xr-x 1 root wheel 257864 Sep 26 21:12 /usr/pkg/bin/ffmpeg2* -rwxr-xr-x 1 root wheel 286744 Sep 26 21:23 /usr/pkg/bin/ffmpeg3* -rwxr-xr-x 1 root wheel 314776 Sep 26 21:36 /usr/pkg/bin/ffmpeg4* -rwxr-xr-x 1 root wheel 314640 Sep 26 21:51 /usr/pkg/bin/ffmpeg5* -rwxr-xr-x 1 root wheel 359872 Sep 26 22:09 /usr/pkg/bin/ffmpeg6* -rwxr-xr-x 1 root wheel 384152 Sep 26 04:40 /usr/pkg/bin/ffmpeg7* -rwxr-xr-x 1 root wheel 462056 Oct 20 12:39 /usr/pkg/bin/ffmpeg8* % /usr/pkg/bin/ffmpeg -version ffmpeg version 2.8.22 Copyright (c) 2000-2023 the FFmpeg developers built with gcc 10.5.0 (nb3 20231008) configuration: --enable-avfilter --enable-postproc --disable-ffplay --disable-mmx --disable-mmxext --enable-fontconfig --enable-libfreetype --enable-libass --disable-htmlpages --enable-gnutls --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-openssl --disable-libpulse --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libspeex --enable-libxvid --enable-libx264 --enable-libx265 --enable-vdpau --enable-vaapi --enable-libvpx --enable-libxcb --enable-libxcb-shape --enable-libxcb-shm --enable-libxcb-xfixes --enable-libbluray --cc=gcc --disable-debug --disable-optimizations --disable-stripping --enable-gpl --enable-pthreads --enable-shared --mandir=/usr/pkg/man --prefix=/usr/pkg --progs-suffix=2 --datadir=/usr/pkg/share/ffmpeg2 --docdir=/usr/pkg/share/doc/ffmpeg2 --incdir=/usr/pkg/include/ffmpeg2 --libdir=/usr/pkg/lib/ffmpeg2 --shlibdir=/usr/pkg/lib/ffmpeg2 --enable-runtime-cpudetect libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100
やはり、 ffmpeg は ffmpeg2 に対するシンボリックリンクになっていて、番 号の最も小さいものが選ばれて、シンボリックリンクが作られているようでご ざる。
/usr/pkg/bin/python3 や /usr/pkg/bin/python が python3.13 を指し示すよ うにし、 /usr/pkg/bin/ffmpeg が /usr/pkg/bin/ffmpeg8 を指し示すように するにはどうすればよいのかは、きっと man pkg_alternatives として説明を読めばわかると思うので、時間をとって読んでみようと思うでご ざる。
それから、 pkgsrc-users への投稿を見て、「シンボリックリンク」と書いて きたのでござるが、よく見てみたらシンボリックリンクではなかったでござる。
% file /usr/pkg/bin/python3 /usr/pkg/bin/python3: POSIX shell script, ASCII text executable
作られるのは、シェルスクリプトでござった。