Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
www.lissyara.su
|
|
, если они не входят в группу wheel.
Для этого регистрируем нужных пользователей в FreeBSD командами adduser (проще и рекомендованей) или pw (для опытных пользователей).
После этого вводим:
|
Появляется окошкоредактора vi с файлом /etc/groups.
Курсор перемещаем в конец строчки, в начале которой пишется wheel - по умолчанию выглядит так (курсор останавливается на последнем символе):
|
Нажимаем A (курсор смещается за последний символ) и через запятую дописываем нужных нам пользователей). Получится примерно такое:
|
Кроме это его есть команды: x (удаление выделенного курсором символа), a (вставка со следующего, за выделенным, символа).
После окончания ввода для сохранения изменений и выхода набираем ZZ и всё.
Если воспользоваться редактором ee, то там проще:
|
Естественно, добавлять сюда надо ТОЛЬКО тех пользователей, которые должны иметь удаленный доступ. Соображения безопасности.
Для удаленного входа запускаем приложение, позволяющее подключаться по протоколу SSH (например PuTTY). Первое подключение к серверу вызовет предложение принять сертификат сервера для шифрования траффика.
Но для того, чтобы подключиться по SSH к соотв.системе, на ней должен быть запущен демон sshd. Он может быть запущен двумя способами:
1. сразу системой стартовых скриптов rc.d через конфигурационный файл /etc/rc.conf, добавив в него:
|
2. через супердемона inetd, раскомментировав соответствующую строку в его конфигурационном файле /etc/inetd.conf (для IPv4 и IPv6):
|
А inetd, в свою очередь, запускается через тот же /etc/rc.conf:
|
Удаленный вход с правами пользователя root проходит в два этала:
1. На запрос 'login as:' вводим имя пользователя, затем жмем Enter и на запрос 'Password:' - пароль этого пользователя. Если всё правильно - получаем права данного пользователя.
2.Вводим команду
|
и на запрос 'Password:' - пароль пользователя root.
Всё - удаленно можно делать практически всё. :):):)
3. Утилита для работы в пакетами: pkgng
С выходом версии 10.0 многое в проекте FreeBSD изменилось. Конечно, эти новшества были "обкатаны" на всех тех сборках, что были до RELEASE (альфы, беты, кандидат-релизы), но это сборки именно для тестирования.
На данный момент при обновлении ПО, установленного из портов, отображается информация, что старые утилиты для работы с пакетами с сентября работать не будут и к тому времени необходимо перевести все установленные системы версий 8, 9 и 10 на работу с новой системой работы с пакетами: pkgng. Старая система для работы с пакетами (состоящая из утилит pkg_info, pkg_add, pkg_delete, pkg_create, pkg_version, pkg_update с общим названием pkg_install) с вышеуказанной даты работать не будет.
Для перехода на необходимо установить саму утилиту:
|
Либо, если при первом вызове pkg этой утилиты в системе не было установлено, то система предложить её установить. Соглашаемся.
Теперь всё готово для перехода на pkgng.
Сделаем ("на всякий пожарный") архив с информацией по установленным пакетам в старом формате:
|
Для указания того, что мы перешли на новую системы, в /etc/make.conf пропишем следующее:
|
И переведём базу из старого формата в новый специальной утилитой:
|
В конце работы утилиты pkg2ng вероятно будет выдано сообщение:
pkg: PACKAGESITE in pkg.conf is deprecated. Please create a repository configuration file |
Для решения этой проблемы восстановил файл pkg.conf "по умолчанию":
|
Создадим конфигурационный файл для работы с удалёнными репозитариями:
|
И в этот файл /usr/local/etc/pkg/repos/FreeBSD.conf впишем:
|
И обновим базу пакетов:
|
Теперь в каталоге /var/db/pkg/ появились новые файлы с данными о пакетах в форматах SQLIte и XML:
|
, где
local.sqlite - база установленных пакетов и портов в формате pkgng;
repo-FreeBSD.sqlite - данные об удалённых репозиториях (появится при первом использовании);
vuln.xml - данные аудита безопасности (появится при использовании pkg audit.
Всё, теперь старые утилиты из pkg_install будут сообщать, что вместо них необходимо использовать pkg.
Для избавления "от старых привычек" удалим (теперь уже посредством pkgng) ранее используемые утилиты. Например, мой список был таков:
|
Функционал этих утилит "вшит" теперь в pkg:
|
Дополнительно: ссылка 1, ссылка 2, ссылка 3, ссылка 4, Использование пакетного менеджера PKGNG во FreeBSD
И ещё о новшествах: OptionsNG.
4. Порты: установка, настройка, удаление программ
Обслуживание (установка, обновление, удаление) программ с помощью системы портов - главное удобство BSD систем. А многие пользователи BSD говорят - существенное преимущество BSD систем перед Linux.
а) Конфигурирование порта
Для конфигурирования порта перед его установкой необходимо предварительно зайти в каталог порта и там уже сконфигурировать его:
|
Сброс конфигурации порта на стандартную:
|
Не у всех портов есть необходимость в конфигурировании.
Если необходимо посмотреть, в какой конфигурации установлена программа, то это можно сделать, посмотрев результаты работы команд:
|
где вместо postfix задается имя просматриваемой программы, а результатом является список используемых подключаемых библиотек; и
|
Результатом работы которой будет список опций компиляции, которые были использованы установлены при запуске make config перед компиляцией программы.
б) Установка программ из портов
Предварительно необходимо установить порты на систему, где стоит FreeBSD. Для этого может понадобится найти, где находится порт устанавливаемой программы:
|
А можно по другому:
|
После этого можно устанавливать программы. Для этого достаточно зайти в каталог программы, скомпилировать и установить программу.
Например, для установки командного интерпретатора bash надо выполнить следующее:
1. переходим в каталог программы:
|
2. компилируем и чистим каталог порта (перед компиляцией, в зависимости от устанавливаемой программы, может быть выдано окошко с настройкой конфигурации программы: добавление/удаление модулей/возможностей; надо будет выбрать нужно и 'Ok'). Если не было выдано сообщений об ошибке - программа установлена и готова к работе или предварительной настройке, о чем обычно выдается соответствующее сообщение.
|
3. Если необходимо, чтобы bash был загружаемым по умолчанию для какого-то пользователя, то:
|
Всё: после очередной регистрации в данной системе пользователю, указанному в параметре <user_name> будет автоматически загружен командный процессор bash.
Стоит, однако, сказать, что кроме себя программы устанавливают (или могут затребовать) дополнительные компоненты, программ, библиотеки, требуемые им для работы. Поэтому, если после установки программы глянуть список установленных программ, то можем увидеть что-то подобное:
$ pkg_info bash-3.2.33 The GNU Project's Bourne Again SHell cvsup-without-gui-16.1h_2 General network file distribution system optimized for CVS gettext-0.16.1_3 GNU gettext package libiconv-1.11_1 A character set conversion library libtool-1.5.24 Generic shared library support script |
Где cvsup-without-gui-16.1h_2 - программа поддержки CVS-репозитория, а все остальные программы и библиотеки относятся к bash.
Собственно не только bash-у они могут быть необходимы для работы.
Для просмотра зависимостей порта совершенно не обязательно устанавливать порт. Достаточно зайти в каталог порта и выполнить соотв команду для вывода списка зависимостей порта.
|
Еще ситуация: бывает, что ранее установленная программа скомпилирована не с той функциональностью, которая необходима в данный момент. У меня, например, был установлен postfix в "чистом" виде, т.е. без дополнений для работы с другими программами (MySQL, PostgreSQL, OpenLDAP и пр.), а надо было обеспечить поддержку OpenLDAP.
Сама переустановка... Что может быть проще! :) Только перед обновлением рекомендуется сохранить каталог /usr/local/etc/postfix/ где-нибудь - это каталог с основными конфигурационными файлами postfix.
Перед обновлением необходимо перейти в каталог порта обновляемой программы (для примера - postfix)
|
и уж после этого выполнить
|
Настроить требуемую конфигурацию и
|
В случае, если программа отказывается устанавливаться, т.к. её старая копия еще активна, то предварительно необходимо удалить старую установку (см. ниже).
в) Обновление программ
Для обновления установленных портов существует множество методов и утилит. Лично по моему мнению, на данный момент очень удобно пользоваться портом portupgrade:
|
Перед использование рекомендуется обновить базу портов до актуальной.
Просмотр портов, требующих обновления:
|
Список всех установленных пакетов без описания:
|
Список зависимостей, требуемых приложением, и ещё не установленных в системе:
|
Через portupgrade:
|
Другие возможности: ссылка1, ссылка2.
г) Смена версий программ
При возникновении необходимости смены версии программы, установленной из портов первоначально надо проверить базу портов на противоречивость и исправить, если таковые есть:
|
Непосредтственно смена версии (в примере, perl 5.16 на perl 5.20):
|
И последний штрих - обновление рекурсивно всех пакетов, для которых perl - основной:
|
По окончании версия ПО сменена и сопутствующие компоненты - тоже.
д) Удаление программ
И последнее, но не менее важное, чем предыдущие пункты: удаление программы, утилиты, библиотеки производится командой
|
в каталоге соответствующей программы. Либо
|
в любом месте - не обязательно в каталоге соответствующей программы.
Одно 'но': удаление конфигурационный и иных файлов, кроме исполняемых, остается ручной работой, поэтому желательно, чтобы где-то это фиксировалось на случай возможного 'отката'.
Правда и для этого случая за годы развития FreeBSD появились как новые утилиты, так и расширились возможности старых.
Так, например, можно удалить сразу всё (пакеты и остатки от них (библиотеки и пр.)):
|
Здесь использована очень полезная утилита portsclean, которая позволяет очень качественно вычищать остатки деинсталлированных портов, пакетов и ненужные библиотеки или устаревшие пакеты:
|
Так же можно воспользоваться хорошим описанием пакета утилит portupgrade: Хитрости работы с портами в FreeBSD, использование portupgrade (freebsd install port nfs).
И ещё немного от Лиссяры.
е) Удаление неиспользуемых зависимостей
Общая информация.
Специализированные утилиты:
1. pkg-orphan (perl-овый скрипт):
-a - добавить порт в список сохраняемых;
-k - просмотр списка сохраняемых пакетов;
-l - просмот списка пакетов, от которых ничего не зависит;
2. pkg-tree:
-v - зависимости зависимостей;
-t - чтобы показывать только верхнего уровня пакетов;
-b - чтобы показать только нижний уровень пакеты;
-tq - даст список верхнего уровня пакетов без их зависимостей, установка только этих пакетов должны установить всех установленных пакетов;
3. pkg_cutleaves:
-lc - выод списка кандидатов на удаление (надо внимательно сделить, чтобы не удалить нужное);
-x - учитывать исключения (педварительно занесённые в /usr/local/etc/pkg_leaves.exclude - одна строка - один пакет);
-R - удалить рекурсивно все зависимости удаляемого пакета, если их никто, кроме этого пакета, не использует;
3. pkg_rmleaves;
4. pkg_info (есть и у него полезные ключи):
-r позволяет показать зависимости указанного порта;
-R позволяет показать зависимости от указанного порта.
Здесь только некоторые клчи приведены: за деталями лучше обратиться к "манам". В качестве небольшого бонуса дополнительные ссылки для этих команд: pkg-orphan, pkg-tree, pkg_cutleaves, pkg_rmleaves.
ё) Аудит безопасности портов
Для автоматического контроля проблем с безопасностью у установленных в системе портов (вместо постоянного штудирования соответствующих рассылок) создана специальная утилита portaudit:
|
Утилитой пользоваться очень просто:
|
т.е. сказать ей, чтобы была скачана свежая база (F) и проверены все порты (a). Более полное описание параметров по русски: ссылка. Или, конечно, оригинальные "маны". :)
5. Подсветка синтаксиса (less, man)"
Для более удобного чтения текста в less предусмотрено несколько стилей написания. Но все они выводятся одним цветом, что не очень удобно.
Между тем можно использовать переопределение переменных утилиты less для установки своих цветовых предпочтений:
|
Зная коды цветов можно указать свои цвета. Например, вариант для csh:
|
Здесь указывается (но не обязательно) специальный символ "^[", который вводится кодом символа 027 после нажатия комбинации клавишь Ctrl-O, например, в ee (FreeBSD), nano (Linux).
Или другой вариант цветовой схемы для bash:
|
После правки конфигов оболочек не обязательно перелогиниваться: достаточно сделать команду (для bash):
|
Теперь читать текст стало значительно приятней. :)
6. Установка FreeBSD через SSH
а) Запуск локального сервера sshd
Грузимся с инсталляционного диска, выходим в консоль.
Создаем каталог и монтируем раздел /etc:
|
Разрешаем вход под root в SSH:
|
Или делаем тоже самое через редактор ee (он имеется на установочном диске), открыв файл /etc/ssh/sshd_config и установив параметр (по умолчанию "no"):
|
Задаем пароль для root:
|
Задаем адрес для интерфейса re0 и шлюз "по умолчанию":
|
Запускаем демон SSH сервера:
|
Теперь можно логиниться по SSH на адрес 192.168.1.143:
|
Принимаем ключ и логинимся. Всё - теперь можно не напрягаться в локальной консоли сервера. :)
7. Виртуальные оконные менеджеры
Fomalhaut: Кстати, Кот, как можно подключившись по ССШ к серверу запустить компиляцию, закрыть соединение, а стервер себе продолжает спокойно компилять? MATPOCKuH: дык эта. 3 варианта MATPOCKuH: 1. nohup 2. sysutils/screen 3. sysutils/tmux |
Устанавливаем screen:
|
Создаём и открываем на редактирование конфигурационный файл .screenrc (по умолчанию он не создаётся):
|
Заполняем примерным содержимым:
|
Можно ещё добавить создание при запуске необходимых окон:
|
В файле .screenrc и в "командном" режиме доступны следующие команды (их можно ввести в процессе работы программы, путем нажатия 'Ctrl-a :'):
acl-команды, определяющие доступ к сессии, привилегии - как для пользователей, так и для групп;
bind-команды - привязка клавиш;
команды оформления;
другие команды.
Для управления можно использовать параметры командной строки:
|
Наиболее важные:
|
Так же доступен большой "парк" комбинаций горячих клавишь.
Кратких список наиболее употребимых (остальное - в "манах"):
|
Для того, чтобы в screen работала мышь, надо в конфигурационном файле соответствущего шелла указать следующее:
|
В дополнение: ссылка 1.
Для графических программ существует свой аналог виртуального оконного менеджера: Xpra.
8. Отсылка локальной почты
а) штатный SendMail
Указываем адрес пересылки для настраиваемого алиаса в файле /etc/aliases. Например, для root-а раскомментируем и подправим:
|
Не забываем перстроить db файл исходя из нового состояния /etc/aliases:
|
Если целевой почтовый сервер (в данном случае domain.ru) доступен и определяется через DNS нормально, то больше ничего делать не надо.
Но если целевой почтовый сервер недоступен или он по DNS определяется по другому имени и адресу, чем доступен вам (например, если NAT-ом представлен в Интернет-е) настроим установленный MTA (Mail Transport Agent), установленный в системе. По умолчанию в FreeBSD установлен sendmail, поэтому для него в файле /etc/mail/mailertable:
|
И сохранив этот файл перестроим его:
|
Всё, теперь на свой адрес odmin@mydomain.ru будем получать все сообщения, что будут отправляться root-у локально.
б) SSMTP вместо SendMail
Если необходимо только лишь отсылать почтовые сообщения (например, сообщения для root на свой почтовый ящик), то нет смысла для этого настраивать и использовать sendmail - тяжеловесный, сложный в настройке.
Есть несколько вариантов, один из которых лично мне понравился своей простотой и лёгкостью - ssmtp:
|
Перед использованием ssmtp надо отключить sendmail, устанавливаемый и запускаемый "по умолчанию". Для этого надо в /etc/rc.conf вписать (или извенить этот параметр, если он был указан):
|
Для удаления sendmail из списка рабочих процессов теперь надо либо перезагрузиться (что не есть "unix-like"), либо завершить его процессы:
|
Для того, чтобы система воспринимала ssmtp, как MTA (хотя он не MTA в его полном смысле) надо внести следующие исправления в файл /etc/mail/mailer.conf:
|
В некоторых источниках два последних параметра указывают по другому:
|
Теперь осталось создать конфигурационные файлы, которые можно взять из примера:
|
Пример содержания файла /usr/local/etc/ssmtp/ssmtp.conf:
|
Прописываем алиасы для ssmtp в файле /etc/local/ssmtp/revaliases:
|
В профиле пользователей исправляем "имена". Через vipw - специальную утилиту для таких случаев, которая по окончании редактирования сделает доп.операции, чтобы изменения были проведены корректно. Если имена не исправить, то, например, от root будут поступать с именем "Charlie &".
Настройка завершена. Проверяем работу программы:
|
Или так:
|
Если письмо пришло - всё завершено. Нет - надо разбираться, а для отладки можно использовать параметр Debug=YES.
9. NFS (network file system)
В мире unix/linux есть много разных сетевых файловых систем. Но самое распространённое и универсальное - NFS.
Данная ФС построена состоит из двух частей: сервера и клиента. Подробней о каждом.
а) сервер
Для работы NFS сервера необходимо запустить три демона: rpcbind, nfsd, mountd. Их параметры указываются в файле /etc/rc.conf:
|
В случае ручного запуска только первые два необходимо стартовать: mountd запускается автоматически при запуске nfsd:
|
А вот при изменениях файлов описаний экспортируемых каталогов необходимо перезапускать именно mounted:
|
Некоторым приложениям (например, mutt) для корректной работы необходима возможность блокировки файлов (file locking). В таком случае в файл /etc/rc.conf необходимо добавлять и на сервере и на клиенте:
|
Если экспортируемая ФС насположена на ZFS, то для экспорта необходимо воспользоваться соответствующими свойствами: sharefs, sharenfs:
|
-alldirs нужен для того, чтобы можно было смонтировать влоенные каталоги шары.
Указанные "шары" будут автоматически прописаны в файле /etc/zfs/exports.
Если экспортируемая ФС расположена не на ZFS или надо "расшарить" каталог, вложенный в одну из ZFS ФС, то можно воспользоваться стандартный вариантом: указание параметров експорта в файле /etc/export.
Для указания списков доступа удобно использовать файл /etc/netgroup, где группы описываются в таком формате:
|
Например, в файле /etc/export:
|
Если все все сделано верно, то команда mount покажет параметр «NFS exported» для раздела:
|
Проверить, какие ресурсы открыты локально:
|
Дополнительная информация: ссылка 1, ссылка 2, ссылка 3, ссылка 4
б) клиент
Для работы NFS-клиента необходимо запустить два демона: rpcbind и nfsclient. Их параметры указываются в файле /etc/rc.conf:
|
Теперь можно посмотреть, какие ресурсы открыты на удалённом сервере:
|
Выбрать и смонтировать необходимые:
|
в) автоматическое монтирование
Bog BOS: autofs - автоматическое монтирование файловых систем по запросу
Bog BOS: Пакет утилит для автоматического монтирования файловых систем am-utils (amd)
Administration Guide Draft/NFS
10. Параметры sysctl
Для подстройки ("тюнинга") системы через параметры ядра используется утилита sysctl.
Типы переменных ядра:
|
Параметры ядра можно применять непосредственно (они действуют только до перезагрузки):
|
Либо указывать (на постоянное применение) в файле конфигурации /etc/sysctl.conf.
Просмотреть актуальные значения параметров ядра:
|
11. Fibre Channel
а) В базовой системе
Т.к. технология FiberChannel применяется в вычислительных системах, не применяемых обычно :) дома (сетях хранения данных (SAN), системах виртуализации (для подключения систем хранения данных) и пр. весьма не дешёвых "железках"), то информации по данному вопросу достаточно мало. Очень со многим приходится разбираться самому: искать программы и прошивки на сайтах производителей HBA, адаптировать их для работы в своём Линуксе и т.д.). Поэтому как бы не хотелось обратного, но возможны ошибки и несогласованности и данную информацию надо проверять в каждом конкретном случае.
Параметры ядра:
|
Собственно, важна только опция ISP_TARGET_MODE, остальные указаны больше для понимания иных необходимых параметров, но они уже указаны по умолчанию.
Управление в FreeBSD:
|
ВАЖНО: После перезагрузки системы все вышеприведённые параметры, указанные утилитой ctladm пропадут: они не сохраняются. Поэтому для автоматизации их применения надо в файл /etc/rc.local добавить соответствующие строки:
|
б) Во FreeNAS
Все необходимые LUN создаются через web-интерфейс, как iSCSI. Утилита ctladm, через которую всё это реализуется, предоставит всё их через FC, если выполнить команды:
|
После этого данные команды надо вписать в файл /etc/rc.local и создать загрузку (т.е., фактически, создать снимок ФС с такими изменениями (иначе они не сохранятся).
в) Дополнительная информация
FreeBSD FibreChannel SAN with ZFS and VMWare with Snapshotting
FreeBSD 10 as FC target
SCSI target over FC на FreeBSD, как сделать FC Storage с ZFS бекэндом
QLogic 2340 isp target mode
Настраиваем работу Fibre Channel (Solaris)
FC target support in FreeNAS 9.1.0
So you want to test FC target mode?
FreeNAS FC Target
FreeBSD: QLogic 2340 isp target mode
11. Infiniband
Скрипт для сборки Infiniband-модулей ядра (FreeBSD):
|
Скрипт для конфигурирования конфига ядра с поддержкой Infiniband и его сборки (FreeBSD):
|
Или "готовые" параметры ядра:
|
Так же в /etc/make.conf добавить параметр:
|
После пересборки системы появляются необходимые модули ядра и система видит Infiniband интерфейсы Mellanox.
FreeBSD: Infiniband
Acadix: InfiniBand
blog.lexa.ru: 10G и Infiniband
blog.lexa.ru: Q: Infiniband и FreeBSD
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
вверх
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
нпф достойное будущее Санкт-Петербург