繁体   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