在 Linux 上我应该在哪里安装我的应用程序?

Luk*_*ett 8 linux centos

我们有一些内部编写的数据导入工具,我需要在新的 Linux 机器上设置它们。

它们是用 Java 和 .NET(在 Mono 上运行)编写的,它们包括二进制文件、配置文件、资源/资产,如图像和模板。他们还编写日志并查看一些特殊文件夹以导入数据。

我是 Linux 新手。此刻,他们就像一个文件夹中/data/importer.java/,并/data/importManager.net/包含他们需要的一切运行这些文件夹。

但是我看到的/data/是一个非标准文件夹。所以我想知道是否有合适的地方来设置它们,但是在 Linux 上似乎有很多文件夹,每个文件夹都用于特定目的和只读/读写数据。

这几乎就像我需要将我的应用程序拆分到一堆文件夹中以正确执行此操作,还有一些文件夹名称,例如bin听起来不错,但是对于非二进制/编译文件我该怎么办?

除了二进制文件,配置和其他所有内容通常都由人类修改。

类似的东西(现在只关注 Java 部分):

  • /opt/importer.java/ 对于二进制文件、配置和资源
  • /var/importer.java/data-in/ 用于删除要导入的数据
  • /var/importer.java/logs 对于写入的日志

或者我应该使用该/srv/文件夹?或者也许/usr/bin/。也许日志应该写入/home/正在运行的用户的文件夹中?

一切都是那么复杂。每当我阅读任何 Linux 文档时,我都会后悔。我应该直接从另一台机器上复制它,然后忘记我曾经尝试过吗?

谢谢

卢克

小智 14

这是一个没有正确答案的问题,也是Unix 历史的一个有趣之处

我们在我以前的雇主处遵循的规则是,安装了非开箱即用的软件,/opt/PackageName-VersionNumber并且有一个从/opt/PackageName-VersionNumber到的符号链接/opt/PackageName

配置进入/opt/PackageName/etc
日志进入/opt/PackageName/logs
二进制文件进入/opt/PackageName/bin
数据进入/opt/PackageName/data

对于要在我们店外分发的应用程序,我们将它们编写为可由包管理器重新定位。这是一种罕见的情况,并不“有趣”。