我想阐明 Linux 中的软件应用程序和库安装理念和最佳实践。根据我对文件系统层次结构标准(FHS)的理解,新软件必须安装在 /opt 中,这就是包管理器的作用。但是,包管理器是否也在 /use/local 目录中安装应用程序软件或仅在库软件中安装应用程序软件?例如,我安装了 Eigen c++ 库,它是一个基于头文件的库,使用:
sudo apt install libeigen3-dev
Run Code Online (Sandbox Code Playgroud)
我在 /usr/include 中找到了 Eigen 文件。但是,通过阅读 CMake 文档,当我开发 C++ 库时,我应该配置我的 CMake 将它们安装在 /usr/local 中(这是 CMAKE_INSTALL_PREFIX 的默认值)?这就提出了一个问题,为什么 Eigen 安装在 /usr/include 而不是 /usr/local/include 中?/usr/bit /usr/include 目录不是用于像命令 ls 和 cat 这样的系统应用程序吗?
此外,保存在 /usr/local 与 /usr/share 中的库有什么区别?
非常感谢您的帮助。我希望能够清楚地了解在 Linux 中安装应用程序和库软件的最佳实践。