日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
LINUX(4) FreeBSD カーネルインタフェースマニュアル LINUX(4)
名称
linux -- Linux ABI サポート
書式
ブート時に Linux ABI を有効にするためには、次の行を rc.conf(5) に置きま
す:
linux_enable="YES"
解説
linux カーネルモジュールは、仮想化またはエミュレーションのために必要とさ
れない多くの変更されていない Linux アプリケーションとライブラリを実行する
ことを可能にし、制限された Linux ABI (アプリケーションバイナリインタ
フェース) 互換性を提供しています。提供された機能のいくつかは、次の通りで
す:
• Linux からネイティブのシステムコール変換
• Linux 特有のシステムコール
• Linux プロセスのための特別なシグナル処理
• パス変換メカニズム
• Linux 特有の仮想ファイルシステム
パス変換機構は、Linux プロセスが / の前に、emul_path (デフォルトは、
/compat/linux) の下にあるファイルパスを検索します。例えば、Linux プロセス
が /etc/passwd をオープンすることを試みるとき、後者が存在しないなら、
/compat/linux/etc/passwd を実際にアクセスします。これは、Linux プロセス
が、同じような名前の FreeBSD 対応ライブラリの代わりに Linux 共有ライブラ
リをロードすることを確認するために使用され、また、特定の他のファイルと仮
想ファイルシステムの代替バージョンを提供するために使用されます。
Linux 共有ライブラリとシステムファイルを /compat/linux にインストールする
には、emulators/linux_base-c7 ポートまたはパッケージ、または
sysutils/debootstrap からインストールされる debootstrap(8) のいずれかを使
用します。
起動時に Linux 特有のファイルシステムのマウントを避けるためには、
rc.conf(5) ファイルに次の行を追加します:
linux_mounts_enable="NO"
SYSCTL 変数
次の変数は、sysctl(8) 変数と loader(8) 調整変数の両方で利用可能です:
compat.linux.debug
デバッグメッセージを有効にします。それらを静かにするために、0 に
設定します。デフォルトは、3 です。1 に設定することは、(一度だけ)
実装されない stuff に関して伝える、デバッグメッセージを印刷 (表
示) します。2 に設定することは、1 に似ていますが、また、(一度だ
け) テストされていない stuff でなく、実装に関するメッセージを印刷
(表示) します。3 以上に設定することは、2 に似ていますが、メッセー
ジの速度制限はありません。
compat.linux.default_openfiles
デフォルトの Linux アプリケーションのためのソフトのオープンファイ
ルリソースの制限。制限を無効にするためには、-1 を設定します。デ
フォルトは、1024 です。
compat.linux.emul_path
Linux の実行時環境のパス。デフォルトは、/compat/linux です。
compat.linux.osname
Linux カーネルオペレーティングシステム名。デフォルトは、"Linux"
です。
compat.linux.osrelease
Linux カーネルオペレーティングシステムのリリース。それが Linux プ
ログラムが動作する方法を変更するかもしれないので、これを他の何か
に変更することは、非開発システムで推奨されません。GNU libc のいく
つかのバージョンは、この sysctl の値に依存して異なるシステムコー
ルを使用することが知られています。
compat.linux.oss_version
Linux オープンサウンドシステムのバージョン。デフォルトは、198144
です。
compat.linux.preserve_vstatus
1 に設定されるとき、それは、termios(4) VSTATUS 設定をリセットする
ことから、Linux アプリケーションを防止します。ユーザの見通しか
ら、これは、SIGINFO の作業を Linux 実行形式にします。デフォルト
は、1 です。
compat.linux.setid_allowed
イメージが Linux ABI の下で実行されるとき、新しいプロセスイメージ
ファイルのためのセットユーザ ID (set-user-ID) とセットグループ ID
(set-group-ID) モードビットの処理を有効にします。0 に設定されると
き、新しい Linux イメージは、イメージファイルのモードにかかわら
ず、execve(2) 呼び出しを発行するプログラムの資格証明を常に使用し
ます。FreeBSD は、Linux 環境を完全にエミュレートしているわけでは
なく、失われた機能がセキュリティ上の脆弱性の結果となるので、これ
は、合理的であり、必要なことであるかもしれません。デフォルトは、1
です。
compat.linux32.emulate_i386
x86_64 (amd64) ワールドで、実際の i386 Linuxulator の振る舞いを有
効にします。例えば、0 に設定するとき、Linux の uname -m は、uname
自体が i386 Linux の実行形式であっても、"x86_64" を返します。1 に
設定するとき、Linux i386 uname -m は、"i686" を返します。デフォル
トは、0 です。
関連ファイル
/compat/linux Linux の実行時環境
/compat/linux/dev デバイスファイルシステム、devfs(5) 参照。
/compat/linux/dev/fd linrdlnk オプションでマウトされたファイル記述子
ファイルシステム、fdescfs(5) を参照。
/compat/linux/dev/shm メモリ内ファイルシステム、tmpfs(5) を参照。
/compat/linux/proc Linux プロセスファイルシステム、linprocfs(5) を参
照。
/compat/linux/sys Linux カーネルオブジェクトファイルシステム、
linsysfs(5) を参照。
関連項目
brandelf(1), pty(4), elf(5), fdescfs(5), linprocfs(5), linsysfs(5),
tmpfs(5)
歴史
Linux ABI のサポートは、FreeBSD 2.1 で i386 のためにはじめて登場しまし
た。amd64 バイナリのためのサポートは、FreeBSD 10.3 ではじめて登場しまし
た。arm64 バイナリのためのサポートは、FreeBSD 12.0 ではじめて登場しまし
た。
バグ
Linux 特有のシステムコールとシステムコール引数のうちのいくつかのサポート
が欠けています。
FreeBSD 13.2 January 9, 2022 FreeBSD 13.2