Согласно Стандарту Иерархии Файловой системы , есть несколько мест, которые являются приемлемыми, в зависимости от приложения. Я цитирую это широко здесь.
bin
это сокращение от "двоичного", конечно,
sbin
является сокращением от «двоичный файл сервера», иначе определяется как:
Утилиты, используемые для системного администрирования (и другие команды только для root)
/usr
предназначен для обмена данными, предназначенными только для чтения, и должен быть доступным для различных хостов, соответствующих FHS (если у вас много компьютеров в сети, и они имеют одинаковую архитектуру, вы должны иметь возможность совместно использовать одну папку / usr с каждой машиной в сети)
/usr/local
предназначен для использования системным администратором при локальной установке программного обеспечения (т. е. для приложений, установленных только на этом компьютере, а не на каждом компьютере в сети).
Взяв их вместе:
/usr/bin
является основным каталогом исполняемых команд в системе.
/usr/sbin
для любых несущественных двоичных файлов, используемых исключительно системным администратором.
- Программы системного администрирования, которые необходимы для восстановления системы, восстановления системы, монтажа / USR, или другие важные функции должны быть помещены в
/sbin
вместо (то есть, то , что вам нужно , чтобы получить доступ для того , чтобы установить /usr/sbin
идти /sbin
)
- Аналогично, важные пользовательские команды, которые могут понадобиться перед
/usr
подключением, входят в/bin
- Все , что устанавливается только на локальном компьютере должен идти
/usr/local/bin
или/usr/local/sbin
Есть еще одно использование для / usr / local. Большинство вещей, которые вы устанавливаете через менеджер пакетов вашего дистрибутива, будут помещены в / usr; многие люди вместо этого помещают вещи, скомпилированные вручную, в / usr / local. Это исключает их использование в системе управления пакетами и позволяет вам определить, что вы установили из дистрибутива (и вам не нужно выполнять резервное копирование, потому что вы можете получить его снова) и что вы собрали вручную; он также позволяет запускать разные версии одновременно (например, / usr / bin / firefox против / usr / local / bin / firefox).
Просто, когда вы думали, что все улажено, есть еще одно место, которое, вероятно, является ближайшим эквивалентом c:\Program Files
- /opt
:
/opt
Зарезервировано для установки дополнительных программных пакетов приложений.
/opt
вероятно, ближайший эквивалент c:\program files
, в том , что это единственное место , можно было ожидать , чтобы найти приложение со всеми его файлами вместе в одной папке, а не разбросаны по всему /usr/bin
, /var
и /etc
. Обычно он используется только очень большими пакетами, но в этом случае, учитывая, что Netbeans хочет иметь свою собственную папку, возможно, имеет смысл поместить ее в / opt / netbeans
На самом деле все сводится к личным предпочтениям. Я объясню мой за то, что он стоит.
/ usr, / usr / bin обычно являются местами для программного обеспечения, устанавливаемого устанавливаемой системой. Когда я устанавливаю вещи самостоятельно, я устанавливаю их в одном из нескольких мест:
Почему я различаю № 2 и № 3? Понятия не имею, это просто привычка, которую я выработал со временем. Выясняется, что / opt обычно становится глубоким деревом файлов, но в нем установлены только 2 или 3 фактических «вещи». На данный момент у меня установлены записи lampp и lotus в opt, 2 директории, в каждой из которых есть довольно большие деревья. В / usr / local / bin у меня есть 20 или 30 записей, но нет подкаталога.
Я не устанавливаю вещи в / usr / bin или / usr / sbin, потому что мне нравится хранить вещи, которые я добавляю вручную (а не часть простой установки из стандартного репозитория), отдельно.
источник
В то время как Стандарт Иерархии Файловой системы действительно дает некоторое руководство. Я обнаружил, что большинству дистрибутивов нравится устанавливать пакеты в
/usr/share
.Из-за этого я принял практику установки любого приложения, не установленного через менеджер пакетов (rpm / apt-get / emerge) в
/usr/local
. Это позволяет мне отделять приложения и библиотеки, которые не управляются с помощью управления пакетами, от тех, которые используются.Это техника, которая помогла мне управлять моей системой под Fedora Core и Gentoo.
источник
Я бы подумал, что местоположение по умолчанию -
/bin
это то, где почти все устанавливается по умолчанию, если используется apt-get или аналогичный ...... Однако, когда дело доходит до более современных программ (или программ без инсталлятора), которые имеют много дополнительных файлов, мне нравится размещать их в своем собственном каталоге
/bin
.источник
Обычно они устанавливаются в несколько папок, в основном / usr, / local, / bin и т. Д. Вы можете узнать, куда устанавливается программа, из установщика GDebi (на вкладке файлы). Если вы собираетесь переместить Netbeans, я бы посоветовал переместить его в / opt, потому что именно там Google, кажется, устанавливает свои вещи.
источник
Согласен с ответом Джеймса Полли, но на самом деле каталог по умолчанию имеет большой смысл, если вам не нужно делить приложение между несколькими учетными записями. Мне, например, нужно было установить Eclipse 3.0 (устаревший) для работы Flex в Linux, и я поместил его в $ HOME / eclipse3.
источник
Мне нравится использовать / apps для большинства дополнительных приложений, которые я устанавливаю на нескольких серверах. Я храню копию папки в / installs / apps на моем сервере NFS. Когда я создаю новый сервер Linux, я монтирую папку installs и копирую / apps, и у меня есть много разных общих приложений на новом сервере. Я удаляю те записи, которые мне не нужны для этого нового сервера, и все готово. Ну, может быть, мне нужно запустить скрипт или три для установки переменных среды или операторов пути, но это почти то же самое, что нужно для настройки многих новых серверов.
Я пришел из Windows и .net фона. Одним из обещаний .net было то, что большинство приложений можно было установить с помощью Windows xcopy. Я ищу то же самое в Linux. Там, где это возможно, я выбираю tarball вместо RPM или yum и т. Д., Чтобы я мог выполнить развертывание в / apps с помощью cp -r и добавить приложение на свой сервер nfs для будущих развертываний.
источник