|
|
От: |
velkin
|
kisa.biz |
| Дата: | 15.12.25 04:28 | ||
| Оценка: | |||
Папка /opt в Unix-подобных операционных системах (включая Linux) предназначена для установки дополнительных (optional) пакетов прикладного программного обеспечения, которые не являются частью базовой операционной системы.
Основные характеристики и назначение /opt:
"Optional" (дополнительное): Само название папки указывает на ее предназначение для размещения программ, не входящих в стандартную дистрибутивную сборку.
Стороннее ПО: Она используется для установки проприетарного или стороннего программного обеспечения, которое распространяется вне стандартных систем управления пакетами (например, .deb или .rpm), или же приложений, которые разработчики хотят держать отдельно от основных системных файлов.
Самодостаточные пакеты: Приложения, установленные в /opt, как правило, являются самодостаточными и содержат все необходимые статические файлы (бинарные файлы, библиотеки, документацию) в своем собственном подкаталоге (например, /opt/имя_пакета/), что упрощает их управление и удаление.
Отделение от системных файлов: Такое расположение помогает отделить стороннее ПО от основных системных компонентов, находящихся в каталогах /bin, /usr/bin, /lib и т.д. Это повышает целостность и безопасность базовой системы.
Удобство развертывания: Установка в /opt часто сводится к простому копированию или распаковке архива, что удобно для системных администраторов при развертывании приложений, специфичных для конкретной компании или проекта.
Примерами программ, которые могут устанавливаться в /opt, являются Google Chrome, Spotify, или другие крупные проприетарные приложения.
Папка /usr/local в Unix-подобных системах имеет схожее назначение с /opt, но служит немного иной цели в рамках иерархии файловой системы (FHS). Она предназначена для размещения локально установленного программного обеспечения, которое собирается и компилируется вручную системным администратором или пользователем.
Основные функции и отличия /usr/local:
Основное назначение
Это место для программ, которые вы устанавливаете "вручную" из исходных кодов (например, с помощью команд ./configure, make, make install), а не через системный менеджер пакетов (вроде apt, yum или dnf).
Ключевые отличия от /opt и других папок
Локальная компиляция: В отличие от /opt (куда чаще просто копируют готовые, скомпилированные бинарники сторонних вендоров), /usr/local исторически используется как стандартное место установки ПО, собранного локально из исходников.
Резервное копирование: Иерархия FHS (Filesystem Hierarchy Standard) предписывает, что содержимое /usr/local должно быть безопасно для резервного копирования и не должно конфликтовать с файлами, управляемыми дистрибутивом.
Иерархия внутри: Внутри /usr/local поддерживается та же структура, что и в /usr:
/usr/local/bin: исполняемые файлы (бинарники); /usr/local/lib: библиотеки; /usr/local/share: общие данные, документация; /usr/local/etc: файлы конфигурации.
Сравнение с /opt
Таким образом, /usr/local — это "песочница" для ваших собственных скомпилированных программ, которая позволяет держать их отдельно от основных системных файлов, поддерживаемых операционной системой.
Характеристика /usr/local /opt Метод установки Чаще всего ручная компиляция из исходников (make install). Чаще всего копирование готового пакета от стороннего вендора. Структура Соблюдает внутреннюю иерархию (bin, lib, share). Каждое приложение имеет свой собственный изолированный подкаталог (/opt/appname/). Назначение Расширение системных утилит, установленных пользователем. Установка полностью независимых, сторонних приложений.
Выбор папки для установки программ в Unix или Linux зависит от нескольких факторов:
Тип программы (системная утилита, стороннее приложение, скомпилированная вручную программа).
Способ установки (через менеджер пакетов дистрибутива или вручную).
Стандарты дистрибутива (FHS — Filesystem Hierarchy Standard).
Вот краткое руководство по основным папкам:
Папка Назначение Пример использования /usr/bin Системные исполняемые файлы. Сюда устанавливаются программы, которые поставляются с вашей операционной системой (например, ls, grep, python). Вы не должны устанавливать сюда программы вручную. /usr/local Локально скомпилированные программы. Используется для программ, которые вы скачали в виде исходного кода и скомпилировали вручную (используя make install). Это стандартное место для локальных расширений системы. Установка последней версии NodeJS из исходников. /opt Сторонние (опциональные) приложения. Используется для полностью самостоятельных программ, которые распространяются сторонними поставщиками в готовом виде (например, Google Chrome, Spotify, Oracle Database). Установка проприетарного ПО. ~/.local/bin Программы только для вашего пользователя. Если у вас нет прав администратора (root) или вы хотите установить программу, доступную только вам. (Символ ~ обозначает ваш домашний каталог, например, /home/user/). Установка персональных скриптов или утилит. Рекомендации:
Для большинства пользователей: Используйте стандартный менеджер пакетов вашего дистрибутива (apt в Debian/Ubuntu, yum/dnf в Fedora/CentOS, pacman в Arch). Он автоматически разместит файлы в нужных системных папках (/usr/bin, /etc, /var).
Если вы компилируете программу сами: Используйте /usr/local (убедитесь, что ваш make install по умолчанию устанавливает туда).
Если вы устанавливаете крупное стороннее приложение: Используйте /opt.
В Linux QSettings по умолчанию хранит настройки в файлах формата INI в следующих местах:
Для пользовательских настроек (локальная область QSettings::LocalScope):
* $HOME/.config/Название_организации/Название_приложения.conf
* Также может использоваться $HOME/.config/Название_организации.conf или $HOME/.qt/Название_приложенияrc в старых версиях.
Для системных настроек (глобальная область QSettings::SystemScope):
* /etc/xdg/Название_организации/Название_приложения.conf
* Также может использоваться /etc/xdg/Название_организации.conf.
Обратите внимание:
$HOME — это домашний каталог текущего пользователя (например, /home/user/).
Папка .config является скрытой (начинается с точки), поэтому для ее просмотра в файловом менеджере может потребоваться включить отображение скрытых файлов или использовать команду ls -a в терминале.
Точное имя файла и организации/приложения зависит от того, как они были заданы в коде приложения с помощью QCoreApplication::setOrganizationName() и QCoreApplication::setApplicationName().
Если разработчик явно указал другой формат (например, QSettings::IniFormat с определенным путем к файлу), настройки будут храниться там, где указано в коде, а не в стандартных расположениях. Вы можете использовать функцию QSettings::fileName() в своем приложении, чтобы получить точный путь к используемому файлу настроек.