如何在 linux 中编译后正确安装二进制文件和数据?
How to correctly make install of binaries and data after compile in linux?
制作源代码后,我已经为它编译了可执行文件和带有图像的数据目录。在 "make install" 阶段我应该怎么做才能将这些文件正确安装到 linux 系统?那么应用程序如何找到已安装的数据(如果二进制文件和数据放在不同的目录中)?
这有什么标准吗?
有很多方法可以在 Linux 和 Unix 系统上安装软件包,就像任何其他操作系统一样。安装软件的正常方法是通过您的发行包管理器。包管理器根据您使用的发行版而有所不同,但通常他们会获取一个包(一个包含二进制源代码的文件或该软件运行所需的其他文件)并将其放置在 Filesystem Hierarchy Standard。当您执行 make install
时,您正在做的是绕过包管理器并将二进制文件直接放入层次结构标准中,这使得包管理器几乎不可能处理或解释该程序的存在。这对任何人来说都不是一件好事,因为在整个系统中放置了许多未知文件,很难保持系统的安全或稳定。如果您想手动安装某些东西,请查看文件系统层次结构 stabdard 并将文件放在 /opt 中的适当文件夹下,并在 PATH 变量覆盖的区域或 /usr/local/[ 下创建符号链接=12=]
制作源代码后,我已经为它编译了可执行文件和带有图像的数据目录。在 "make install" 阶段我应该怎么做才能将这些文件正确安装到 linux 系统?那么应用程序如何找到已安装的数据(如果二进制文件和数据放在不同的目录中)?
这有什么标准吗?
有很多方法可以在 Linux 和 Unix 系统上安装软件包,就像任何其他操作系统一样。安装软件的正常方法是通过您的发行包管理器。包管理器根据您使用的发行版而有所不同,但通常他们会获取一个包(一个包含二进制源代码的文件或该软件运行所需的其他文件)并将其放置在 Filesystem Hierarchy Standard。当您执行 make install
时,您正在做的是绕过包管理器并将二进制文件直接放入层次结构标准中,这使得包管理器几乎不可能处理或解释该程序的存在。这对任何人来说都不是一件好事,因为在整个系统中放置了许多未知文件,很难保持系统的安全或稳定。如果您想手动安装某些东西,请查看文件系统层次结构 stabdard 并将文件放在 /opt 中的适当文件夹下,并在 PATH 变量覆盖的区域或 /usr/local/[ 下创建符号链接=12=]