Я хотел бы прояснить философию установки программных приложений и библиотек и лучшие практики в Linux.Насколько я понимаю из Стандарта иерархии файловой системы (FHS), новое программное обеспечение должно быть установлено в /opt, и это то, что делает менеджер пакетов. Но устанавливает ли менеджер пакетов прикладное программное обеспечение в каталог /use/local или только программное обеспечение библиотеки? Например, я установил библиотеку Eigen c++, которая представляет собой библиотеку на основе заголовочного файла, используя:
sudo apt установить libeigen3-dev
Я нашел файлы Eigen в /usr/include. Но, прочитав документы 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.