Fhs
/usr/bin 中的子目錄是否真的被 FHS 禁止
臨田標籤說明:
文件系統層次標準禁止在 /usr/bin 中安裝除 /usr/bin/mh 之外的新目錄。
但是,我只能找到連結的文件
這是系統上可執行命令的主目錄。
這允許可執行命令去那裡,但它不禁止任何東西。臨天指的是哪一段?
我喜歡在其中放置子目錄的原因是我有一個包裝腳本,使用者使用它而不是二進製文件,並且我希望包裝腳本在“安裝”程序時無需更改即可工作。簡而言之,腳本看起來像
options=() debug=0 mode="rel" for option in "$@"; do if [ "$option" == "--debug" ]; then debug=1 mode="dbg" else options+=("$option") fi done current_dir=$(dirname "`readlink -f "${BASH_SOURCE[0]}"`") binary="$current_dir"/__anja_"$mode"_"$arch"/anja if [ $debug -eq 1 ]; then gdb --args "$binary" "${options[@]}" else exec "$binary" "${options[@]}" fi
從哪裡
arch
推導出來/proc/cpuinfo
。__anja_"$mode"_"$arch"
建構系統在項目根目錄中的目錄中發出二進製文件。是的,真正的二進製文件的正確位置是
/usr/libexec
,但是在安裝過程中必須更改腳本。
中不能有子目錄
/usr/bin
。由於您使用的是 Lintian,我想您的目標是 Debian 或衍生產品;在這樣的環境中,二進製文件的適當位置是
/usr/lib
. Debian 及其衍生產品不使用/usr/libexec
.