Provided by: manpages-zh_1.6.3.3-2_all bug

NAME

       binfmt.d - 在系統啓動時爲可執行文件配置 額外的二進制格式

SYNOPSIS

       /etc/binfmt.d/*.conf

       /run/binfmt.d/*.conf

       /usr/lib/binfmt.d/*.conf

描述

       在系統啓動時, systemd-binfmt.service(8)
       會從上述目錄中讀取配置文件,並根據配置文件的指引,
       在內核中爲可執行文件註冊額外的二進制格式。

配置文件格式

       每個配置文件都包含一個 binfmt_misc 內核二進制格式規範的列表。 參見 binfmt_misc.txt[1] 與
       《如何在Linux下指定特定類型的文件用特定的程序打開》[2] 以瞭解如何註冊額外的二進制格式,
       以及如何編寫規則。

       空白行和以 # 或 ; 開頭的行將被忽略。 這意味着不能在二進制格式規則中 將 # 與 ; 用作分隔符。

配置目錄及其優先級

       配置文件依次從 /etc/, /run/, /usr/lib/ 目錄中讀取。 配置文件的名稱必須符合 filename.conf
       格式。 對於不同目錄下的同名配置文件,僅以優先級最高的目錄中的那一個爲準。 具體說來就是:
       /etc/ 的優先級最高、 /run/ 的優先級居中、 /usr/lib/ 的優先級最低。

       軟件包應該將自帶的配置文件安裝在 /usr/lib/ 目錄中。 /etc/ 目錄僅供系統管理員使用。
       所有的配置文件(無論位於哪個目錄中),統一按照文件名的字典順序處理。
       如果在多個配置文件中設置了同一個選項, 那麼僅以文件名最靠後(字典順序)的那一個爲準。
       爲了便於排序,建議給所有配置文件 都加上兩位十進制數字的文件名前綴。

       如果系統管理員想要屏蔽 /usr/lib/ 目錄中的某個配置文件, 那麼最佳做法是在 /etc/ 目錄中
       創建一個指向 /dev/null 的同名符號鏈接, 即可徹底屏蔽 /usr/lib/ 目錄中的同名文件。
       如果軟件包自帶的某個配置文件位於 initrd 鏡像中, 那麼還必須重新生成 initrd 鏡像。

例子

       Example 1. /etc/binfmt.d/wine.conf 文件:

           # 在執行 Windows 程序時啓動 WINE
           :DOSWin:M::MZ::/usr/bin/wine:

       [譯者注]關於Java的實例可以查看OpenSuSE的 java-binfmt-misc[3] 軟件包。

參見

       systemd(1), systemd-binfmt.service(8), systemd-delta(1), wine(8)

NOTES

        1. binfmt_misc.txt
           https://www.kernel.org/doc/Documentation/binfmt_misc.txt

        2. 《如何在Linux下指定特定類型的文件用特定的程序打開》
           http://blog.csdn.net/roland_sun/article/details/50062295

        3. java-binfmt-misc
           http://rpm.pbone.net/index.php3?stat=3&search=java-binfmt-misc&srodzaj=3

       本頁面中文版由中文 man 手冊頁計劃提供。

       翻譯人員:金步國
       金步國作品集:http://www.jinbuguo.com
       中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh