freebsd-versionコマンドはどこからバージョン番号を持ってくるのか?
ソースコードを見て調べてみることにします。
# file `which freebsd-version`
/bin/freebsd-version: POSIX shell script, UTF-8 Unicode text executable
freebsd-versionコマンドはシェルスクリプトのようなので簡単に調べることができました
freebsd-versionコマンドには-k、-r、-uの3つのオプションがあります。
-k はインストールされているカーネルのバージョン
-r は現在実行中のカーネルのバージョン(OS更新中などに-kと違う結果になる?)
-u ユーザランドのバージョン
ちなみに何もオプションを指定しないと-uと同じになります
オプションごとに取得方法が異なるのでオプションごとに調べた結果
-k はデフォルトでwhat -qs /boot/kernel/kernelの結果
-r はsysctl -n kern.osreleaseの結果
-u はfreebsd-versionに埋め込まれた変数USERLAND_VERSION
でした。おしまい。