Linux中许多lib文件夹之间的差异


14

Linux系统中许多库之间有什么区别?(/ lib,/ usr / lib,/ var / lib,/ usr / share / lib等)。

我知道每当我安装应用程序时,它就会由突触自动处理,但是如果我想成为Linux开发人员,我当然需要知道将应用程序库放在系统中的位置。

Answers:


10

通常,您的软件将安装在/或/ usr或/ usr / local下。这称为“前缀”。/通常保留给最关键的操作系统程序。/ usr /保留供软件包管理器使用。因此,在编写软件时,最有礼貌的是将其设置为前缀为/ usr / local。然后,当有人将其打包以进行分发时,可以覆盖此方法。

注意,我并不是专门在谈论“ lib”。前缀下有几个常见的子目录,lib只是其中之一。“ bin”用于可执行文件,“ share”用于数据文件,“ lib”用于共享库,等等。因此,如果您的程序是一个库,则可以默认将其安装到/ usr / local / lib。如果是普通程序,则可以将其与/ usr / local / share中的数据文件一起安装到/ usr / local / bin中。重要的是要使它成为前缀,以便在编译时选择前缀。有些人可能更喜欢安装到/ usr,而不是/ usr / local,反之亦然。


因此,您的意思是,位置只是一个准则,而不是硬性限制?
Andreas Wong,2009年

1
这是一个准则,但是应该遵循,许多应用程序期望在某些地方放置某些文件。
吉姆·德维尔

@james点取:D
Andreas Wong

8

还有一个描述linux / unix文件系统层次结构的标准。可以在以下网址找到它:http : //www.pathname.com/fhs/。这主要是针对发行版开发人员的,但我看不出用户/开发人员不应该意识到的任何原因。


0

/ bin和/ sbin

  • 用于系统管理和单用户模式的二进制文件。它们的库文件位于/ lib中。

/ usr / bin和/ usr / sbin

  • 包含所有用户使用的非必需的非必需二进制文件以及网络服务和所有服务使用的二进制文件。它们的库位于/ usr / lib中。

/ var / lib

  • 包含保留有关正在运行的程序或程序实例的状态信息的文件。用户无需更改此设置。

/ usr / share / lib

  • 包含与体系结构无关的数据文件。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.