Я получаю ту же ошибку с GNU netcat 0.7.1
. Флаг поддерживается версией BSD nc
.
В Linux было хорошо иметь собственные сценарии или программное обеспечение в
/ usr / local
дерево, чтобы они были четко отделены от программного обеспечения распространения
И это именно то, что вы получаете от FreeBSD . Оболочки, такие как оболочка Z и оболочка Bourne Again , не являются частью FreeBSD . Это сторонние дополнения. Операционная система иногда называется сленговым названием «база». В общем, в мире BSD сторонние дополнения поверх "base" не живут в / usr
. Они живут в / usr / local
.
В мире BSD - и это верно для других операционных систем BSD, таких как OpenBSD - вы получаете операционную систему в /
и / usr
, а все остальное, что не операционная система находится в / usr / local
. Если кто-то хочет только функциональность операционной системы без дополнений, он не принимает во внимание / usr / local
в том, что он делает.
Небольшой поворот в том, что производные от FreeBSD, такие как TrueOS Server и TrueOS Desktop, скромно считают свои дополнения поверх FreeBSD не частью операционной системы.Таким образом, в / usr / local
есть целая куча готовых к работе вещей TrueOS вместе с другими, не относящимися к операционной системе. Например: здесь вы найдете PCDM, диспетчер дисплеев TrueOS.
И наоборот, / usr / local
- это все специально разработанное программное обеспечение, не являющееся частью операционной системы.
Чтобы показать, насколько сильно это разделение:
rc
для вещей, не связанных с операционной системой, находятся в /usr/local/etc/rc.d/
и не добавляются в /etc/rc.d/
. Здесь вы найдете /usr/local/etc/rc.d/nginx
. / usr / local / etc /
, а не в / etc /
. Здесь вы найдете / usr / local / etc / cups
. / usr / share / man
, где находятся руководства по операционной системе, и / usr / local / man
, где находятся руководства, не связанные с операционной системой. Даже сам диспетчер пакетов (в настоящее время) не является частью собственно операционной системы. Есть менеджер пакетов «начальной загрузки», pkg-static
. Это устанавливает pkg
, фактический менеджер пакетов, который имеет файлы конфигурации в / usr / local / etc / pkg
и сам по себе является надстройкой.
Концептуальный скачок, который вам нужно сделать, выйдя из мира «дистрибутивов» Linux, заключается в том, что вы не получите операционную систему, созданную путем выбора из мешанины пакетов, поставляемых «дистрибьютором».Вы получаете полную операционную систему как единое целое (устанавливается установщиком, обновляется с помощью freebsd-update
и поддерживается как единая «загрузочная среда» с использованием ZFS), а все сторонние материалы как порты и пакеты отдельно от этого. Если вы сами поставляете сторонние материалы, будь вы разработчиком или системным администратором, вы также создаете порты и пакеты или просто помещаете их прямо в / usr / local
как-то.
С другой стороны, специально разработанные программы, которые являются частями операционной системы, размещаются в /
и / usr
, где находится операционная система. Исходный код и система сборки для всей операционной системы поставляются в / usr / src
как часть этой единственной самодостаточной системы. Вы вносите там локальные изменения, делитесь ими с другими людьми, используя Subversion (FreeBSD) и git (TrueOS), если хотите, и перестраиваете либо «пользовательскую среду» отдельно, либо всю операционную систему (как «оболочку», так и «ядро» ) отсюда.
Если вы, тем не менее, создаете свою собственную структуру для своих собственных машин, вы, согласно самому руководству по операционной системе, должны предоставить локальную hier
страницу руководства, заменяющую операционную систему один. ☺
ир
. §7. Руководство FreeBSD . При установке FreeBSD ПРЕФИКС
по умолчанию установлен на / usr / local
. Это используется для файлов, установленных из пакетов (и, конечно, пакеты были созданы портами). Поскольку zsh и bash являются пакетами и не входят в базу, они попадают в / usr / local
.
Вы также можете установить собственное программное обеспечение в / usr / local
. Просто будьте осторожны и избегайте столкновений.
Если вам нужно другое место назначения, создайте его и установите все собственные под новым ПРЕФИКСОМ
. Некоторые используют / opt
. Если вы хотите обслуживать двоичные файлы под этим PREFIX
, вы можете использовать классы пользователей в login.conf (5) и установить для них запись path
содержат что-то вроде / opt / bin
(прочтите также о cap_mkdb (1) и спецификации класса входа пользователя в passwd (5) ).
/ usr / local (со страницы man ) является домом для всех локальных исполняемых файлов, файлов и т.д. зависит от работы ОС, и обычно это указывает на то, что рассматриваемое программное обеспечение было создано через систему портов или установлено менеджером пакетов. Например, и bash, и zsh
предоставляются необязательно и должны быть добавлены после простой установки, поэтому они живут там.
При соблюдении строгой иерархии программного обеспечения для конкретных ОС и другого программного обеспечения автоматизация обновлений и исправлений ОС становится проще. Таким образом, это не сильно отличается от использования каталога для различения пользовательских сценариев и настроек. Однако вам может не хватать того, что система портов на FreeBSD намного шире по своему охвату - это то, как вы настраиваете свою систему BSD, а не просто набор дополнительного программного обеспечения.
Лучше всего избегать установки непроверенного программного обеспечения для всех пользователей, которого еще нет в дереве портов. Если он проприетарный, он должен быть установлен в / usr / local /
. Если нет, почему бы не создать собственный порт ?