Роль каталога / usr / local во FreeBSD

В отличие от Linux, которые я использовал, во FreeBSD каталог /usr/local сильно заполнен обычной установкой, даже без использования каких-либо портов. На самом деле там размещаются не базовые оболочки (Bash и Z-Shell) (в /usr/local/bin ).

В Linux было хорошо иметь пользовательские скрипты или программное обеспечение в /usr/local tree, чтобы они были четко отделены от дистрибутивного программного обеспечения (например, чтобы легко «деактивировать» эти «модификации», взяв /usr/local из $PATH ).

Каковы причины этого? И поскольку я сомневаюсь, что есть способ заставить FreeBSD вести себя как Linux, каковы были бы лучшие методы для установки программного обеспечения и файлов пользовательской сборки, доступных для всех пользователей?

3 Solutions collect form web for “Роль каталога / usr / local во FreeBSD”

В Linux было хорошо иметь пользовательские скрипты или программное обеспечение в дереве /usr/local чтобы они были четко отделены от дистрибутивного программного обеспечения

И это именно то, что вы получаете на FreeBSD . Корпуса, такие как оболочка Z и оболочка Bourne Again , не являются частью FreeBSD . Они являются сторонними дополнениями. Операционную систему иногда называют сленговым именем «base». В мире BSD вообще, сторонние дополнения на вершине «базы» не живут в /usr . Они живут в /usr/local .

В мире BSD – и это относится к другим операционным системам BSD, таким как OpenBSD – вы сами запускаете себя в / и /usr , а материал, который не является операционной системой в /usr/local . Если вам нужны только функциональные возможности операционной системы без добавлений, один берет /usr/local из соображений в том, что он делает.

Небольшой поворот в этом заключается в том, что производные от FreeBSD, такие как TrueOS Server и TrueOS Desktop, скромно считают, что их дополнения поверх FreeBSD не являются частью операционной системы. Таким образом, есть полная загрузка TrueOS из готового материала, который живет в /usr/local с не-операционной системой. Например: здесь вы найдете PCDM, диспетчер отображения TrueOS, живущий.

И наоборот, /usr/local – это то, где все пользовательские программные средства, которые не являются частью операционной системы.

Чтобы показать, насколько сильным является это разделение:

  • Сценарии Mewburn rc для материалов без операционной системы идут в /usr/local/etc/rc.d/ и не добавляются в /etc/rc.d/ . Здесь вы найдете /usr/local/etc/rc.d/nginx .
  • Файлы конфигурации без операционной системы входят в /usr/local/etc/ not /etc/ . Здесь вы найдете /usr/local/etc/cups .
  • Существуют различия между /usr/share/man которых содержатся руководства по операционной системе, и /usr/local/man где находятся руководства, не относящиеся к операционной системе.

Даже сам менеджер пакетов (в настоящее время) не является частью самой операционной системы. Существует менеджер пакетов bootstrap, pkg-static . Это устанавливает pkg , фактический менеджер пакетов, который имеет файлы конфигурации в /usr/local/etc/pkg и сам является надстройкой.

Концептуальный скачок, который вы должны сделать в мире Linux-дистрибутивов, заключается в том, что вы не получаете операционную систему, созданную путем выбора из mish-mash пакетов, поставляемых «дистрибьютором». Вы получаете полную операционную систему как единое целое (устанавливается установщиком, обновляется с помощью freebsd-update и поддерживается как одна «загрузочная среда» с использованием ZFS), так и все сторонние компоненты, такие как порты и пакеты, отделенные от этого , Если вы сами поставляете сторонние вещи, будь то разработчик или системный администратор, вы также делаете порты и пакеты или просто ставите их прямо в /usr/local .

С другой стороны, пользовательские ПО, входящие в состав операционной системы, входят в / и /usr где живет операционная система. Система источника и сборки для всей операционной системы поставляется в /usr/src как часть этой самодостаточной системы. Вы делаете локальные изменения там, делитесь ими с другими людьми, используя Subversion (FreeBSD) и git (TrueOS), если хотите, и перестраивайте либо «пользовательскую», либо одну или всю операционную систему (как «оболочка», так и «ядро» ) из этого ,

Интересная заметка

Если вы, тем не менее, создаете собственную структуру для своих собственных машин, вы, согласно руководству операционной системы, должны предоставить локальную страницу руководства пользователя, заменяющую операционную систему. ☺

дальнейшее чтение

  • « Глава 4. Установка приложений: пакеты и порты ». Руководство FreeBSD . 2016. Проект документации FreeBSD.
  • Справочник Портера FreeBSD . 2016. Проект документации FreeBSD.
  • . § 7. Руководство FreeBSD .
  • « TrueOS для пользователей Linux ». Руководство пользователя TrueOS . 2016.
  • https://unix.stackexchange.com/a/332441/5132

При установке FreeBSD PREFIX по умолчанию установлен в /usr/local . Это используется для файлов, установленных из пакетов (и, конечно, пакеты были построены портами). Поскольку zsh и bash являются пакетами и не находятся в базе, они идут в /usr/local .

Вы также можете установить собственное программное обеспечение в /usr/local . Просто позаботьтесь и избегайте столкновений.

Если вам нужен какой-то другой пункт назначения, создайте его и установите все настройки под новым PREFIX . Некоторые люди используют /opt . Если вы хотите обслуживать двоичные файлы в этом PREFIX , вы можете использовать пользовательские классы в login.conf (5) и указать для них запись path чтобы они содержали что-то вроде /opt/bin (также читайте также о cap_mkdb (1) и пользователе спецификация класса входа в passwd (5) ).

/ usr / local (с man-страницы ), дома всех локальных исполняемых файлов, файлов и т. д. То, что они подразумевают под «локальным», заключается в том, что программное обеспечение или системы не являются специфическими для работы ОС, и обычно это указывает что данное программное обеспечение было построено через систему портов или установлено менеджером пакетов. Например, как bash, так и zsh предоставляются дополнительно и должны быть добавлены после простой установки, и поэтому они там живут.

Наблюдая за строгой иерархией ОС и других программ, автоматизация обновлений ОС и патчей проще в управлении. Таким образом, это не сильно отличается от использования каталога, чтобы отличать настраиваемые скрипты и настройки. Тем не менее, вы можете не заметить, что система портов в FreeBSD намного шире – это то, как вы настраиваете свою BSD-систему, а не просто набор дополнительного программного обеспечения.

Лучшей практикой было бы избежать установки непроверенного программного обеспечения для всех пользователей, которые еще не существуют в дереве портов. Если он запатентован, он должен быть установлен в /usr/local/ . Если это не так, почему бы не сделать собственный порт ?

  • Удерживайте вывод пейджера (человек, больше и т. Д.) В Linux
  • Что такое эквивалент sudo для FreeBSD?
  • Как применять обновления для OpenBSD, NetBSD и FreeBSD?
  • Медленная загрузка с собственного сервера
  • Установка новой операционной системы, такой как FreeBSD с загрузкой PXE?
  • Чтение FreeBSD UFS отформатированного внешнего диска в Mac OS X
  • Как настроить двухфакторную аутентификацию с помощью OTP на FreeBSD?
  • Репозиторий пакета FreeBSD - как выполнить ручную проверку подписи?
  • пользователь исчез во время ошибки обновления
  • Доступ к портам для публичного IP-адреса из тюрьмы FreeBSD
  • Как настроить два или более IPv6-адреса на одной сетевой плате в FreeBSD?
  • Является ли оболочка «sh» FreeBSD уязвимой для Shellshock?
  • Interesting Posts

    Linux bash: поиск и замена в файле без выхода из строя

    beagleboard com и HDMI dispaly

    xfce4-terminal: сочетание клавиш для установки названия терминала

    Нечувствительный к регистру поиск в awk

    Команда Optirun перестает работать в системе Optimus через некоторое время

    Не удается разрешить все имена после подключения к VPN

    Установка Centos

    Печать текста между двумя шаблонами, не содержащими конкретного слова

    Удалите дополнительные строки заголовков из файла, кроме первой строки

    Требует ли rsync как хоста-источника, так и целевого хоста запускать rsync в качестве клиента, сервера или демона?

    Установка xSwipe

    Отправлять электронные сообщения за пределами сети, с сервера за маршрутизатором DNS и переадресацией портов

    Отключение затенения окна мыши в XFce?

    Bash: опрос на создание файла и завершение, если выходы

    Сценарий для переименования файлов с использованием текстового файла, содержащего альтернативные имена файлов

    Linux и Unix - лучшая ОС в мире.