/usr/bin по сравнению с/usr/local/bin на Linux

Используя широкое определение "файла"

ls | wc -l

(обратите внимание, что это не считает скрытые файлы и предполагает, что имена файлов не содержат символы новой строки).

Включать скрытые файлы (кроме . и ..) и избегайте проблем с символами новой строки, канонический путь:

find . ! -name . -prune -print | grep -c /

Или рекурсивно:

find .//. ! -name . -print | grep -c //
466
13.09.2017, 16:25
5 ответов
  1. /bin/sbin) были предназначены для программ, которые должны были быть на маленьком / раздел перед большим /usr, и т.д. разделы были смонтированы. В эти дни это главным образом служит стандартным местоположением для ключевых программ как /bin/sh, хотя исходное намерение может все еще быть важно для, например, установки на маленьких встроенных устройствах.

  2. /sbin, в отличие от /bin, для программ управления системой (не обычно используется обычными пользователями) необходимый прежде /usr смонтирован.

  3. /usr/bin для управляемых распределением программ обычного пользователя.

  4. Существует a /usr/sbin с теми же отношениями к /usr/bin как /sbin имеет к /bin.

  5. /usr/local/bin для программ обычного пользователя, не управляемых диспетчером пакетов распределения, например, локально скомпилированными пакетами. Вы не должны устанавливать их в /usr/bin потому что будущие обновления распределения могут изменить или удалить их без предупреждения.

  6. /usr/local/sbin, поскольку можно, вероятно, предположить эту точку, к /usr/local/bin как /usr/sbin кому: /usr/bin.

Кроме того, существует также /opt который является для монолитных пакетов нераспределения, хотя, прежде чем они были правильно интегрированы, различные дистрибутивы помещают Gnome и KDE там. Обычно Вы должны зарезервировать его для большого, плохо вели себя сторонние пакеты, такие как Oracle.

590
27.01.2020, 19:28
  • 1
    я думаю этот ответ, делает отличную работу по разъяснению единого набора конвенций, но это сообщение от Rob Landley является действительно большим чтением, если Вы хотите понимание ерунды... lists.busybox.net/pipermail/busybox/2010-December/074114.html –  Subfuzion 14.12.2012, 01:45
  • 2
    refspecs.linuxfoundation.org/fhs.shtml для канонической текущей ссылки. Ссылка @kojiro устарела и не имеет новой спецификации. –  Didier A. 03.05.2016, 21:58
  • 3
    Куда я помещаю мусорное ведро, я загрузил с Интернета? Из Вашего описания это кажется, что должно войти в/usr/local/bin или/usr/bin./usr/bin - что-то, чего я никогда не должен вручную касаться и позволять только игре диспетчера пакетов с? –  Didier A. 03.05.2016, 22:12
  • 4
    @DidierA. вставьте его ~/bin и добавьте что каталог к своему ПУТИ как пользователь... Спасибо за примечание я удалил свой серьезно устаревший комментарий. –  kojiro 04.05.2016, 00:22
  • 5
    я нашел ответ на первую часть моего вопроса здесь: superuser.com/a/238993/425838. Приоритет основан на порядке в системе PATH переменная, и echo $PATH для меня шоу /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games, что означает это исполняемые файлы в /usr/local/bin имейте приоритет по тем в /usr/bin которые имеют приоритет по тем в /bin. –  Gabriel Staples 15.01.2018, 23:10

Я рекомендую смотреть на страницу справочника иерархии файловой системы:

man hier

который является также доступен онлайн, например: http://linux.die.net/man/7/hier. Соответствующие части были скопированы ниже. В зависимости от Вашей системы это может сказать что-то другое.

Имя:

    hier - описание иерархии файловой системы

Описание

    Типичная система Linux имеет, среди других, следующих каталогов:

    /bin
      Этот каталог содержит исполняемые программы, которые необходимы в однопользовательском режиме и поднять систему или восстановить его.
       
    /sbin
      Как /bin, этот каталог содержит команды, должен был загрузить систему, но которые обычно не выполняются обычными пользователями.
       
    /usr/bin
      Это - основной каталог для исполняемых программ. Большинство программ, выполненных обычными пользователями, которые не нужны для начальной загрузки или для восстановления системы и которые не установлены локально, должно быть помещено в этот каталог.
       
    /usr/local/bin
      Двоичные файлы для программ, локальных для сайта.
       
    /usr/local/sbin
      Локально установленные программы для системного администрирования.
       
    /usr/sbin
      Этот каталог содержит двоичные файлы программы для системного администрирования, которые не важны для процесса начальной загрузки для монтирования /usr, или для системного восстановления.
69
27.01.2020, 19:28
  • 1
    Это не отвечает на вопрос пользователя. –  Billy ONeal 06.03.2011, 01:54
  • 2
    страница справочника действительно содержит запись для каждого из каталогов bin, объясняя, что входит в них, который был одним из вопросов. –  davitenio 06.03.2011, 08:52

Запись Стандарта Иерархии Файловой системы в Википедии помогла мне ответить на тот же вопрос, когда у меня был он, плюс он имеет очень объяснительную таблицу.

Выборка от этого page1:

/bin        Essential command binaries that need to be available in single user mode; for all users, e.g., cat, ls, cp.
/usr/bin    Non-essential command binaries (not needed in single user mode); for all users.
/usr/local  Tertiary hierarchy for local data, specific to this host. Typically has further subdirectories, e.g., bin, lib, share
/usr/sbin   Non-essential system binaries, e.g., daemons for various network-services.
/sbin       Essential system binaries, e.g., fsck, init, route.

1 Полученный 19 июня 2019; постоянная ссылка.

36
27.01.2020, 19:28

sbin каталоги содержат программы, которые обычно являются системным администрированием только. Программы для обычных пользователей никогда не должны входить в них.

Несколько программ необходимы во время запуска и заканчиваются в /bin/ или /sbin/. Они должны быть доступными, прежде чем файловые системы будут смонтированы. Вещи как mount, и fsck это требуется, чтобы проверять и монтировать, что файловые системы должны быть там.

Большинство упакованных программ заканчивается в /usr/bin/ и /usr/sbin/. Они могут быть в файловой системе кроме корневой файловой системы. В некоторых случаях они могут быть на сетевом подсоединенном внешнем диске.

Локальные программы и сценарии принадлежат /usr/local/bin/ и /usr/local/sbin/. Это идентифицирует их как явно нестандартных, и возможно только доступных на сайте.

Поскольку дальнейшее объяснение пытается выполнить команду man hier который должен предоставить описание рекомендуемой иерархии файловой системы для Вашего распределения. Можно также хотеть читать об Иерархии файловой системы на Википедию

17
27.01.2020, 19:28
  • 1
    +1 действительно краткое объяснение, если вершина немного слишком много. –  CppLearner 24.08.2017, 16:09

В 1970-х годах UNIX имел все официальные исполняемые файлы в / bin , а / usr / bin был расположение под домашними каталогами пользователей (например, / usr / dmr ), которое было доступно любому пользователю для хранения собственных двоичных файлов, которые могли быть интересны и для других.

Результатом этого открытого / usr / bin была свалка недокументированного программного обеспечения, поэтому Стивен Борн написал cron-скрипт , который проверял наличие новых двоичных файлов. каждую ночь и удалил все двоичные файлы, для которых не было документации или которые были обновлены без обновления их документации.

В конце 1970-х годов / usr / bin был интегрирован в базовый дистрибутив ОС, и люди начали использовать / usr / local / bin для целей предыдущего открытого / usr / bin .

Через некоторое время системные администраторы использовали / usr / local / bin для хранения нелокального программного обеспечения, которое было импортировано из сети (например, USENET) и поскольку компании UNIX не использовали Я хотел бы повторить ту же ошибку, что и с / usr / bin , где-то в 1987 году была конференция по иерархии файловых систем, на которой все компании UNIX согласились отказаться от / usr / local / bin и вместо этого использовать / opt / / bin .

К сожалению, дистрибутивы Linux не последовали этому решению ....

11
27.01.2020, 19:28

Теги

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