«Общепринятая передовая практика» заключается в установке всех наборов файлов, (что не следует путать с «запуском всех демонов» ). Если вы склонны оставить некоторые наборы из соображений безопасности, помните, что если кто-то проник в вашу систему достаточно глубоко, чтобы запустить компилятор, запустить демоны (, такие как X )или что-то в этом роде, у вас есть много возможностей. уже большие проблемы. Кроме того, помните, что даже если OpenBSD поставляется с (удивительно )большим набором демонов в базовой установке, они не будут работать по умолчанию, если вы не настроите их. Вкратце,наличие файлов в «не -основных» наборах данных создает проблему (безопасности -с точки зрения ), только если они могут быть использованы злонамеренно, и если кто-то имеет достаточно привилегий, чтобы использовать их против вашей воли, ты уже облажался.
Если вы пропускаете некоторые наборы из-за нехватки места на диске, то это совсем другая история. У меня есть несколько небольших/старых машин, использующих IPSec и маршрутизацию, которые работают на небольших SD-картах, поэтому я склонен опускать все, кроме ядер (, включаяbsd.rd
)и base**.tgz
. Да, и man**.tgz
, потому что мне лень переключать терминалы только для того, чтобы найти какую-нибудь страницу man
. Но это не имеет ничего общего с безопасностью.
Упоминание в часто задаваемых вопросах связано с такими случаями, как запуск веб-сервера, на котором размещено какое-либо приложение PHP, которое выполняет манипуляции с изображениями/шрифтами с помощью таких вещей, как GD (через модуль php-gd
). Из-за этого мне пришлось установить xbase
на безголовый сервер. Я не думаю, что он вам понадобится для tor
, но вы всегда можете оставить X-элемент и добавить его позже.
Короче говоря, вы можете не указывать comp*
, x*
и games*
, но помните, что вы их исключили , имейте в виду, что что-то может сломаться, и будьте готовы добавить наборы постов. -установить, если необходимо. Кроме того, имейте в виду, что вам нужно знать, какие наборы вы установили при обновлении машины. Легко забыть, что вы добавили xbase
к вашему (, например. )система 6.4, де -выбираем ее при обновлении до 6.5, а заканчиваем франкенштейном.
В большинстве случаев проще установить все и ни о чем не беспокоиться.
Обновление:sysupgrade
, инструмент для автоматического обновления, поставляемый с OpenBSD, автоматически установит все наборы при обновлении системы.
В оболочке zsh
foo${^array}bar
, где array
— массив, такой как (a b c)
, будет расширяться до fooabar
, foobbar
и foocbar
(, как раскрытие фигурной скобки ). ] вместо строк fooa
, b
иcbar
:
$ array=(a b c)
$ print -rC1 foo${^array}bar
fooabar
foobbar
foocbar
$ print -rC1 foo${array}bar
fooa
b
cbar
В коде, который вы цитируете, это используется для добавления~/
(пути к домашнему каталогу пользователя )к каждому элементу списка позиционных параметров:
$ set -- a b c "bumble bee"
$ print -rC1 ~/$^@
/home/myself/a
/home/myself/b
/home/myself/c
/home/myself/bumble bee
~/$^@
совпадает с ~/${^@}
. $@
или ${@}
— это список позиционных параметров (, обычно являющихся аргументами, передаваемыми текущему сценарию или функции оболочки, или строками, заданными встроенной -утилитой set
, как показано выше ).
Найдите в руководстве zshall
RC_EXPAND_PARAM
. Расширение может изначально исходить из оболочки rc
.