簡體   English   中英

Linux目錄

[英]Linux directories

我正在為我的程序編寫安裝腳本,它應該在Linux / Unix OS上運行。 以下文件的默認目錄是什么:

  1. 可執行文件(程序)。 應該通過從命令行鍵入其名稱來執行程序。
  2. 共享庫。
  3. 第三方共享庫(該程序不是開源的,因此我需要重新分發第三方庫)。
  4. 所有用戶的只讀程序配置文件。
  5. 可用於所有用戶的讀/寫訪問的配置數據。

列表因Linux文件系統而異。

1) /bin/usr/bin/usr/local/bin

2/3) /lib/usr/lib/usr/local/lib

3. /usr/share/lib

4) /etc是配置數據的只讀點。

5) /usr/local/etc或通常位於點目錄名下的/home目錄中,如果配置文件允許bin目錄位於/home/user_id/bin下,其中'user_id'是相關的登錄ID。對於用戶'jdoe'的示例,他的配置可以寫入/home/jdoe/.configs~/.configs

不要依賴於此,在大多數情況下LSB文件系統規定至少應該: /bin/etc/usr/lib/home

例如, /usr可以位於不同的分區上,對於/home也是如此

編輯:感謝dtrosset指出我的blooper ....

  1. $PREFIX/bin
  2. $PREFIX/lib
  3. $PREFIX/lib
  4. /etc
  5. $HOME/.config

其中$HOME是運行應用程序的用戶的主目錄,在運行時確定。 $PREFIX取決於分發方法:

  • 如果作為源分發, $PREFIX應該是可配置的,但默認為/usr/local ;
  • 如果作為二進制tarball分發, $PREFIX通常應該是/usr/local (但/opt也很常見);
  • 如果作為分發包(例如RPM或DPKG)分發, $PREFIX應為/usr

文檔和其他與架構無關的文件應該在$PREFIX/share/doc ; 實例之間共享的程序生成文件應該放在/var/run (鎖文件,pidfiles和套接字之類的東西)或/var/lib (比如共享二進制數據庫之類的東西)中。

可執行(二進制):

  • /斌/
  • 在/ usr / bin中/
  • /家庭/〜用戶/箱/

共享:

  • 的/ usr /共享/

其他:

  • /等等/

如果您不知道* nix OS的文件結構,我不確定編寫安裝腳本是否明智。 除此之外,* nix的每個分布在數據存儲位置方面都略有不同。

我建議你這樣讀: http//www.comptechdoc.org/os/linux/commands/linux_crfilest.html

^。^

最簡單的方法是制作你的應用程序的.rpm ,然后使用例如alien來制作一個.deb 最后我做了一個deb,它真的很簡單。 如果要啟用它,打包還可以讓您進行各種自動更新,而您無需考慮卸載過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM