Почему мне следует устанавливать свои приложения в папку / opt? [дубликат]

Я не совсем понимаю, почему / opt рекомендуется для стороннего программного обеспечения. Мне нужно использовать sudo , когда я запускаю свои программы из / opt через командную строку. Разве это не представляет угрозы безопасности, поскольку sudo позволяет программе запускаться от имени суперпользователя?

У меня также возникают проблемы с добавлением файла .desktop в программу в / opt .Например, если у меня есть файл .jar в opt, я должен запустить его с sudo java -jar name.jar для запуска программы java, но sudo & gksudo , похоже, не работает в файле .desktop , поэтому я не могу запустить программу из меню запуска, не просматривая командную строку.

Где следует устанавливать ненадежное программное обеспечение?

Где следует устанавливать приложения, которым требуется .desktop?

Есть ли способ заставить файлы .desktop запускать приложение в / opt ?

1
задан 3 December 2017 в 19:25

1 ответ

документация для файловой системы Linux объясняет историю & amp; цель / опт . наиболее распространенное использование - это настройка приложений, которые работают самостоятельно, без особых зависимостей от остальной системы. «ненадежное программное обеспечение» вообще не должно быть установлено; в случае необходимости гигиенически изолированный контейнер KVM является обычным и наиболее безопасным способом сделать это.

Этот каталог зарезервирован для всех программ и дополнительных пакетов, которые не являются частью установки по умолчанию. Например, пакеты StarOffice, Kylix, Netscape Communicator и WordPerfect обычно находятся здесь. Для соответствия FSSTND все сторонние приложения должны быть установлены в этом каталоге. Любой пакет, который должен быть установлен здесь, должен найти свои статические файлы (т.е. дополнительные шрифты, картинки, файлы базы данных) должен найти свои статические файлы в отдельном дереве каталогов / opt / 'package' или / opt / 'provider' (аналогично тому, как в котором Windows установит новое программное обеспечение в свое собственное дерево каталогов C: \ Windows \ Progam Files \ «Имя программы»), где «пакет» - это имя, описывающее пакет программного обеспечения, а «поставщик» - это зарегистрированное имя провайдера в LANANA.

Хотя большинство дистрибутивов пренебрегают созданием каталогов / opt / bin, / opt / doc, / opt / include, / opt / info, / opt / lib и / opt / man, они зарезервированы для использования локальным системным администратором. Пакеты могут предоставлять «входные» файлы, предназначенные для размещения (путем связывания или копирования) этих зарезервированных каталогов системным администратором, но они должны нормально функционировать при отсутствии этих зарезервированных каталогов. Программы, вызываемые пользователями, находятся в каталоге / opt / 'package' / bin. Если пакет включает справочные страницы UNIX, они находятся в / opt / 'package' / man, и должна использоваться та же самая подструктура, что и / usr / share / man. Файлы пакетов, которые являются переменными, должны быть установлены в / var / opt. Специфичные для хоста файлы конфигурации устанавливаются в /etc/opt.

Ни при каких обстоятельствах другие файлы пакетов не должны существовать вне иерархий / opt, / var / opt и / etc / opt, за исключением тех файлов пакетов, которые должны находиться в определенных местах в дереве файловой системы, чтобы функционировать должным образом. Например, файлы блокировки устройств в / var / lock и устройства в / dev. Дистрибутивы могут устанавливать программное обеспечение в / opt, но не должны изменять или удалять программное обеспечение, установленное локальным системным администратором без согласия локального системного администратора.

Использование / opt для дополнительного программного обеспечения является общепринятой практикой в ​​сообществе UNIX. Двоичный интерфейс приложения System V [AT & amp; T 1990], основанный на определении интерфейса System V (третье издание) и стандарте двоичной совместимости Intel v. 2 (iBCS2), обеспечивает структуру / opt, очень похожую на определенную здесь.

Как правило, все данные, необходимые для поддержки пакета в системе, должны присутствовать в / opt / 'package', включая файлы, предназначенные для копирования в / etc / opt / 'package' и / var / opt / 'package' а также зарезервированные каталоги в / opt. Незначительные ограничения на дистрибутивы с использованием / opt необходимы, потому что возможны конфликты между дистрибутивом установленного и локально установленного программного обеспечения, особенно в случае фиксированных путей, найденных в некоторых двоичных программах.

Структура каталогов ниже / opt / 'provider' оставлена ​​на усмотрение упаковщика программного обеспечения, хотя рекомендуется устанавливать пакеты в / opt / 'provider' / 'package' и следовать структуре, аналогичной рекомендации для / opt / package. Допустимая причина отклонения от этой структуры - для пакетов поддержки, в которых могут быть файлы, установленные в / opt / 'provider' / lib или /opt/'provider'/bin.

в случае, если разрешений по умолчанию недостаточно для запуска приложения из /opt, можно стать владельцем sudo chown -R $USER:$USER /opt/somepackage (этот вопрос задавался снова и снова, возможно, просто поиск вместо того, чтобы спрашивать). нет никаких правил, здесь я много устанавливаю в каталог /home/somecompany/somepackage, просто потому, что он имеет свой собственный раздел и доступ к нему чаще, чем к /opt, что является своего рода реликвией из UNIX.

0
ответ дан 3 December 2017 в 19:25

Другие вопросы по тегам:

Похожие вопросы: