我想澄清一下Linux中的软件应用程序和库安装哲学以及最佳实践。据我从文件系统层次标准(FHS)中了解到,必须在/opt中安装新软件,而这正是包管理器所做的。但是,包管理器是否也将应用软件安装在/use/local目录中,还是只安装库软件?例如,我安装了Eigen c++库,它是一个基于头文件的库,使用:
sudo apt install libeigen3-dev
我在/usr/include中找到了特征文件。但是,在读取CMake文档时,在开发C++库时,我应该将C++配置为在/usr/local中安装它们(这是CMAKE_INSTALL_PREFIX的默认值)?这就提出了一个问题,为什么Eigen安装在/usr/include中而不是/usr/local/include中?目录/usr/bit /usr/include不是用于命令ls和cat之类的系统应用程序吗?
此外,保存在/usr/local和/usr/share中的库之间有什么不同?
非常感谢您的帮助。我希望了解在Linux中安装应用程序和库软件的最佳实践。
发布于 2021-12-30 19:21:46
/opt/
用于第三方应用程序,这些应用程序提供了一个可以提取的焦油球。通常,软件是完全设置的,拥有正确的权限,您可以得到一条指令,将服务复制到系统以激活它。Mysql、Apache、Jasperserver都提供替代安装。
系统本身从未使用/opt/
来避免冲突。
当软件安装在/opt/
中时,您倾向于在目录名中使用版本号来安装它,这样您就可以安装多个版本,并为活动版本使用一个符号链接。这样,您可以在仍然使用v8的系统上安装Mysql,在提交下一个Ubuntu发行版之前测试您的应用程序。
/usr/
是默认Linux的一部分,用于通过该系统的包管理器存储安装的部分。为了避免重复(在旧版本中,windows受到了一些困扰),Linux软件出现在目录中,这是一大群创建者一致同意的。另一个好处是,软件可以更小,因为您不需要为您的软件提供库。
https://askubuntu.com/questions/1384457
复制相似问题