3

我是 Linux 新手。我最近将我的 C++ 窗口服务移植到了 linux 守护进程。

在 Windows 中,我有以下文件夹结构。我发现这个结构很容易让其他同事跟随并升级到新版本。

C:\services\my_app\version_1_0\my_app.exe  
C:\services\my_app\version_1_0\my_app.config.xml  
C:\services\my_app\version_1_0\dependencies1.dll  
C:\services\my_app\version_1_0\log\my_app_20121110.log  
C:\services\my_app\version_1_0\data\my_app_data_20121110.txt  
C:\services\my_app\start_my_app.bat

我研究了一些关于在 Linux 中部署的位置,发现相当混乱:

  1. 有人说二进制文件应该部署在 /usr/bin/my_app
  2. 日志文件夹应该是 /var/log/my_app
  3. 我应该把数据文件放在哪里?
  4. 启动脚本应该放在 /etc/init.d/my_app

提前感谢您的帮助。

4

1 回答 1

5

您可能会发现这篇Wikipedia 文章很有帮助,它解释了典型 linux 文件系统中各种文件夹的用途。

第 1 点、第 2 点和第 4 点是正确的:您的守护进程应该在 中/usr/bin,写入日志到/var/log并且启动脚本应该在/etc/init.d.

至于“数据”文件,这取决于它实际包含的内容。如果它是您的应用程序用于配置的东西,它应该转到/etc/yourapp. 否则它属于/usr/share/yourapp.

于 2012-11-09T20:20:04.923 回答