部署我的应用程序

Dav*_*log 8 directory-structure

在 linux 下部署我的应用程序时,我应该把我的库、可执行文件和桌面入口文件放在哪里?我的程序需要的其他文件呢?例如背景图片、音频文件等。

我听说我将可执行文件放在/usr/bin/文件夹中,将放在/opt/<myapp>/lib/文件夹中,将桌面条目文件放在/usr/share/applications/文件夹中。那是对的吗?

但是应用资源一般放在哪里呢?

这是我在部署应用程序时需要注意的一切,还是我遗漏了其他步骤?

Gil*_*il' 15

文件系统层次标准规定了在何处放置文件。

如果您在包管理器之外安装文件,请始终将它们/usr/local放在/opt. 除了通过包管理器之外,永远不要触摸任何东西/usr,除了下面的东西/usr/local

  • /usr/local/bin:旨在由用户执行的可执行文件(交互或从脚本)
  • /usr/local/lib:许多程序可用的库,而不仅仅是你的
  • /usr/local/lib/YOUR-PROGRAM-NAME: 任何其他依赖于体系结构的文件
  • /usr/local/share/doc: 文档(除了 man 和 info 格式)
  • /usr/local/share/info:信息格式的文档
  • /usr/local/share/man/man*: 手册页
  • /usr/local/share/YOUR-PROGRAM-NAME: 任何其他与体系结构无关的文件

如今,share包含与体系结构无关的文件的区域的分离并不是很重要。它是在硬盘较小的时候设计的,通过不在异构网络中两次存储与架构无关的文件来节省空间很重要。如果您愿意,可以跳过此区别并将所有内容放在lib/YOUR-PROGRAM-NAME.

如果您更喜欢使用/opt,请将所有内容放在 下/opt/YOUR-PROGRAM-NAME,并在其中创建符号链接/usr/local/bin/usr/local/share/man/man*并且/usr/local/share/info如果您提供 man 和 info 格式的文档),以便用户可以调用您的程序。

如果您制作 deb 或 rpm 软件包,请将文件放在/usr而不是/usr/local. 检查每个发行版的文档以了解其特殊性。