Linux 配置文件中的文件名应该使用绝对路径还是相对路径? 我正在编写一组C++程序,这些程序需要部署在许多机器上,并分发给其他开发人员进行测试。如何在配置文件中指定文件路径,以及如何在cron作业、命令行、示例api等中指定配置文件的位置

Linux 配置文件中的文件名应该使用绝对路径还是相对路径? 我正在编写一组C++程序,这些程序需要部署在许多机器上,并分发给其他开发人员进行测试。如何在配置文件中指定文件路径,以及如何在cron作业、命令行、示例api等中指定配置文件的位置,linux,configuration-files,autoconf,Linux,Configuration Files,Autoconf,我的意思是,我应该为我的应用程序使用ROOT_DIR并始终指定相对于此目录的文件路径吗?标准做法是什么 我可以使用autoconf的配置脚本在我的应用程序配置文件中写入根目录吗?或者我应该统计配置文件以查找其在计算机中的位置吗?谢谢。对于Autoconf,我相信您通常使用--prefix选项将应用程序安装到非默认位置。默认值为系统范围 这里有一些 通过这种方式,用户可以决定他们想要的是系统范围的还是特定于用户的(或其他) 您可能希望使用操作系统提供的软件包管理器。例如,在Debian上,您可能希

我的意思是,我应该为我的应用程序使用ROOT_DIR并始终指定相对于此目录的文件路径吗?标准做法是什么


我可以使用autoconf的配置脚本在我的应用程序配置文件中写入根目录吗?或者我应该统计配置文件以查找其在计算机中的位置吗?谢谢。

对于Autoconf,我相信您通常使用
--prefix
选项将应用程序安装到非默认位置。默认值为系统范围

这里有一些

通过这种方式,用户可以决定他们想要的是系统范围的还是特定于用户的(或其他)

您可能希望使用操作系统提供的软件包管理器。例如,在Debian上,您可能希望生成一个
deb
包-默认情况下,其他系统使用不同的包管理器。这将有助于解决应用程序的依赖关系

例如:如果您的应用程序需要库Foo的X.Y版本,包管理器可以在安装包之前确保您的用户拥有该版本

你也可以看看,这已经有一段时间了

简言之:没有一个答案。Linux中的常见比喻(:


您可能想查看以澄清您对安装位置的想法。听起来您可能想在
/var/lib
中安装一些东西,而不是在HOME\u DIR中安装,但是如果没有更多详细信息,很难说清楚。

我正在使用autoconf--prefix选项让人们可以在他们喜欢的地方安装。但我不确定是否应该安装让AutoCONF在程序配置文件中写入这个位置的绝对路径。当前将应用程序分配为TAR.GZ。将考虑将其封装成一个包。谢谢。链接。抱歉,对于我的应用而言,我的意思是RooTo.dir。已经编辑了这个问题。我希望人们在/opt/t中安装应用程序。或者他们选择的目录。
What is the standard practice?