diff --git a/ru_RU.KOI8-R/books/handbook/advanced-networking/chapter.sgml b/ru_RU.KOI8-R/books/handbook/advanced-networking/chapter.sgml
index 9a0a648cdc..21c521cacc 100644
--- a/ru_RU.KOI8-R/books/handbook/advanced-networking/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/advanced-networking/chapter.sgml
@@ -1,4571 +1,4557 @@
АндрейЗахватовПеревод на русский язык: Сложные вопросы работы в сетиКраткий обзорЭта глава охватывает множество различных сетевых тематик
повышенной сложности.После чтения этой главы вы будете знать:
- Основные понятия о маршрутизации и маршрутах.
+ Основные понятия о маршрутизации и маршрутах.Как настроить IEEE 802.11 и &bluetooth;.
- Как заставить FreeBSD работать в качестве сетевого
- моста.
+ Как заставить FreeBSD работать в качестве сетевого
+ моста.
- Как настроить загрузку по сети для бездисковой машины.
+ Как настроить загрузку по сети для бездисковой машины.
- Как настроить трансляцию сетевых адресов.
+ Как настроить трансляцию сетевых адресов.
- Как соединить два компьютера посредством PLIP.
+ Как соединить два компьютера посредством PLIP.
- Как настроить IPv6 на машине FreeBSD.
+ Как настроить IPv6 на машине FreeBSD.Как настроить ATM.Перед чтением этой главы вы должны:
- Понимать основы работы скриптов
- /etc/rc.
+ Понимать основы работы скриптов
+ /etc/rc.
- Свободно владеть основными сетевыми терминами.
+ Свободно владеть основными сетевыми терминами.
- Знать как настраивать и устанавливать новое ядро FreeBSD
- ().
+ Знать как настраивать и устанавливать новое ядро FreeBSD
+ ().Знать как устанавливать дополнительное программное
обеспечение сторонних разработчиков
().
-
- Coranth
- Gryphon
- Текст предоставил
-
+
+ Coranth
+ Gryphon
+ Текст предоставил
+ Сетевые шлюзы и маршрутымаршрутизацияшлюзподсетьЧтобы некоторая машина могла найти в сети другую, должен иметься
механизм описания того, как добраться от одной машине к другой. Такой
механизм называется маршрутизацией.
Маршрут задаётся
парой адресов: адресом назначения (destination) и
сетевым шлюзом (gateway). Эта пара указывает на то, что
если Вы пытаетесь соединиться с адресом назначения,
то вам нужно устанавливать связь через сетевой шлюз.
Существует три типа адресов назначения: отдельные хосты, подсети и
маршрут по умолчанию (default). Маршрут по
умолчанию (default route) используется, если не подходит ни один
из других маршрутов. Мы поговорим немного подробнее о маршрутах по
умолчанию позже. Также имеется и три типа сетевых шлюзов: отдельные
хосты, интерфейсы (также называемые подключениями
(links)) и аппаратные адреса Ethernet (MAC-адреса).ПримерДля иллюстрации различных аспектов маршрутизации мы будем
- использовать следующий пример использования команды
- netstat:
+ использовать следующий пример использования команды
+ netstat:
&prompt.user; netstat -r
Routing tables
Destination Gateway Flags Refs Use Netif Expire
default outside-gw UGSc 37 418 ppp0
localhost localhost UH 0 181 lo0
test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77
10.20.30.255 link#1 UHLW 1 2421
example.com link#1 UC 0 0
host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0
host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 =>
host2.example.com link#1 UC 0 0
224 link#1 UC 0 0маршрут по умолчаниюВ первых двух строках задаются маршрут по умолчанию (который
- будет описан в следующем
- разделе) и маршрут на localhost.
+ будет описан в следующем
+ разделе) и маршрут на localhost.
устройство loopbackИнтерфейс (колонка Netif), который указан в
- этой таблице маршрутов для использования с
- localhost и который назван
- lo0, имеет также второе название, устройство
- loopback. Это значит сохранение всего трафика для указанного адреса
- назначения внутри, без посылки его по сети, так как он все равно
- будет направлен туда, где был создан.
+ этой таблице маршрутов для использования с
+ localhost и который назван
+ lo0, имеет также второе название, устройство
+ loopback. Это значит сохранение всего трафика для указанного адреса
+ назначения внутри, без посылки его по сети, так как он все равно
+ будет направлен туда, где был создан.
- Ethernet
- MAC адрес
+ Ethernet
+ MAC адресСледующими выделяющимися адресами являются адреса, начинающиеся с
- 0:e0:.... Это аппаратные адреса Ethernet,
- или MAC-адреса. FreeBSD будет автоматически распознавать любой хост
- (в нашем примере это test0) в локальной сети Ethernet
- и добавит маршрут для этого хоста, указывающий непосредственно на
- интерфейс Ethernet, ed0. С этим типом
- маршрута также связан параметр таймаута (колонка
- Expire), используемый в случае неудачной попытки
- услышать этот хост в течении некоторого периода времени. Если такое
- происходит, то маршрут до этого хоста будет автоматически удалён.
- Такие хосты поддерживаются
- при помощи механизма, известного как RIP (Routing Information
- Protocol), который вычисляет маршруты к хостам локальной сети при
- помощи определения кратчайшего расстояния.
+ 0:e0:.... Это аппаратные адреса Ethernet,
+ или MAC-адреса. FreeBSD будет автоматически распознавать любой хост
+ (в нашем примере это test0) в локальной сети Ethernet
+ и добавит маршрут для этого хоста, указывающий непосредственно на
+ интерфейс Ethernet, ed0. С этим типом
+ маршрута также связан параметр таймаута (колонка
+ Expire), используемый в случае неудачной попытки
+ услышать этот хост в течении некоторого периода времени. Если такое
+ происходит, то маршрут до этого хоста будет автоматически удалён.
+ Такие хосты поддерживаются
+ при помощи механизма, известного как RIP (Routing Information
+ Protocol), который вычисляет маршруты к хостам локальной сети при
+ помощи определения кратчайшего расстояния.
подсетьFreeBSD добавит также все маршруты к подсетям для локальных
- подсетей (10.20.30.255 является
- широковещательным адресом для подсети 10.20.30, а имя example.com является именем домена, связанным
- с этой подсетью). Назначение link#1 соответствует
- первому адаптеру Ethernet в машине. Отметьте отсутствие
- дополнительного интерфейса для этих строк.
+ подсетей (10.20.30.255 является
+ широковещательным адресом для подсети 10.20.30, а имя example.com является именем домена, связанным
+ с этой подсетью). Назначение link#1 соответствует
+ первому адаптеру Ethernet в машине. Отметьте отсутствие
+ дополнительного интерфейса для этих строк.
В обеих этих группах (хосты и подсети локальной сети) маршруты
- конфигурируются автоматически даемоном, который называется
- routed. Если он не запущен, то будут
- существовать только статически заданные (то есть введенные явно)
- маршруты.
+ конфигурируются автоматически даемоном, который называется
+ routed. Если он не запущен, то будут
+ существовать только статически заданные (то есть введенные явно)
+ маршруты.
Строка host1 относится к нашему хосту, который
- известен по адресу Ethernet. Так как мы являемся посылающим хостом,
- FreeBSD знает, что нужно использовать loopback-интерфейс
- (lo0) вместо того, чтобы осуществлять
- посылку в интерфейс Ethernet.
+ известен по адресу Ethernet. Так как мы являемся посылающим хостом,
+ FreeBSD знает, что нужно использовать loopback-интерфейс
+ (lo0) вместо того, чтобы осуществлять
+ посылку в интерфейс Ethernet.
Две строки host2 являются примером того, что
- происходит при использовании алиасов в команде &man.ifconfig.8;
- (обратитесь к разделу об Ethernet для объяснения того, почему мы это
- делаем). Символ => после интерфейса
- lo0 указывает на то, что мы используем не
- просто интерфейс loopback (так как это адрес, обозначающий локальный
- хост), но к тому же это алиас. Такие маршруты появляются только
- на хосте, поддерживающем алиасы; для всех остальных хостов в локальной
- сети для таких маршрутов будут показаны просто строчки
- link#1.
+ происходит при использовании алиасов в команде &man.ifconfig.8;
+ (обратитесь к разделу об Ethernet для объяснения того, почему мы это
+ делаем). Символ => после интерфейса
+ lo0 указывает на то, что мы используем не
+ просто интерфейс loopback (так как это адрес, обозначающий локальный
+ хост), но к тому же это алиас. Такие маршруты появляются только
+ на хосте, поддерживающем алиасы; для всех остальных хостов в локальной
+ сети для таких маршрутов будут показаны просто строчки
+ link#1.
Последняя строчка (подсеть назначения 224) имеет отношение к многоадресной посылке,
- которая будет рассмотрена в другом разделе.
+ role="ipaddr">224) имеет отношение к многоадресной посылке,
+ которая будет рассмотрена в другом разделе.
И наконец, различные атрибуты каждого маршрута перечисляются в
- колонке Flags. Ниже приводится краткая таблица
- некоторых из этих флагов и их значений:
+ колонке Flags. Ниже приводится краткая таблица
+ некоторых из этих флагов и их значений:
-
+
-
-
+
+ UUp: Маршрут актуален.
-
+
-
+ HHost: Адресом назначения является отдельный хост.
-
+
-
+ GGateway: Посылать все для этого адреса назначения на
- указанную удаленную систему, которая будет сама определять
- дальнейший путь прохождения информации.
-
+ указанную удаленную систему, которая будет сама определять
+ дальнейший путь прохождения информации.
+
-
+ SStatic: Маршрут был настроен вручную, а не автоматически
- сгенерирован системой.
-
+ сгенерирован системой.
+
-
+ CClone: Новый маршрут сгенерирован на основе указанного для
- машин, к которым мы подключены. Такой тип маршрута обычно
- используется для локальных сетей.
-
+ машин, к которым мы подключены. Такой тип маршрута обычно
+ используется для локальных сетей.
+
-
+ WWasCloned: Указывает на то, что маршрут был автоматически
- сконфигурирован на основе маршрута в локальной
- сети (Clone).
-
+ сконфигурирован на основе маршрута в локальной
+ сети (Clone).
+
-
+ LLink: Маршрут включает ссылку на аппаратный адрес
- Ethernet.
-
-
-
+ Ethernet.
+
+
+ Маршруты по умолчаниюмаршрут по умолчаниюКогда локальной системе нужно установить соединение с удаленным
- хостом, она обращается к таблице маршрутов для того, чтобы определить,
- существует ли такой маршрут. Если удаленный хост попадает в подсеть,
- для которой известен способ ее достижения (маршруты типа Cloned), то
- система определяет возможность подключиться к ней по этому
- интерфейсу.
+ хостом, она обращается к таблице маршрутов для того, чтобы определить,
+ существует ли такой маршрут. Если удаленный хост попадает в подсеть,
+ для которой известен способ ее достижения (маршруты типа Cloned), то
+ система определяет возможность подключиться к ней по этому
+ интерфейсу.
Если все известные маршруты не подходят, у системы имеется
- последняя возможность: маршрут default. Это маршрут
- с особым типом сетевого шлюза (обычно единственным, присутствующим
- в системе), и в поле флагов он всегда помечен как c.
- Для хостов в локальной сети этот сетевой шлюз указывает на машину,
- имеющую прямое подключение к внешнему миру (неважно, используется ли
- связь по протоколу PPP, канал DSL, кабельный модем, T1 или какой-то
- другой сетевой интерфейс).
+ последняя возможность: маршрут default. Это маршрут
+ с особым типом сетевого шлюза (обычно единственным, присутствующим
+ в системе), и в поле флагов он всегда помечен как c.
+ Для хостов в локальной сети этот сетевой шлюз указывает на машину,
+ имеющую прямое подключение к внешнему миру (неважно, используется ли
+ связь по протоколу PPP, канал DSL, кабельный модем, T1 или какой-то
+ другой сетевой интерфейс).
Если вы настраиваете маршрут по умолчанию на машине, которая сама
- является сетевым шлюзом во внешний мир, то маршрутом по умолчанию
- будет являться сетевой шлюз у Вашего провайдера Интернет (ISP).
+ является сетевым шлюзом во внешний мир, то маршрутом по умолчанию
+ будет являться сетевой шлюз у Вашего провайдера Интернет (ISP).
Давайте взглянем на примеры маршрутов по умолчанию. Вот типичная
- конфигурация:
+ конфигурация:
-
-
-
+
+
+
-
-
+
+
[Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW]
-
-
+
+ Хосты Local1 и Local2 находятся в
- нашей сети. Local1 подключён к ISP через
- коммутируемое соединение по протоколу PPP. Этот компьютер с сервером
- PPP подключён посредством локальной сети к другому шлюзовому компьютеру
- через внешний интерфейс самого ISP к Интернет.
+ нашей сети. Local1 подключён к ISP через
+ коммутируемое соединение по протоколу PPP. Этот компьютер с сервером
+ PPP подключён посредством локальной сети к другому шлюзовому компьютеру
+ через внешний интерфейс самого ISP к Интернет.
Маршруты по умолчанию для каждой из ваших машин будут
- следующими:
+ следующими:
-
-
-
+
+
+ ХостМаршрут по умолчаниюИнтерфейс
-
-
+
+
-
-
+
+ Local2Local1Ethernet
-
+
-
+ Local1T1-GWPPP
-
-
-
+
+
+ Часто задаётся вопрос Почему (или каким образом) в качестве
- шлюза по умолчанию для машины Local1 мы указываем
- T1-GW, а не сервер провайдера, к которому
- подключаемся?.
+ шлюза по умолчанию для машины Local1 мы указываем
+ T1-GW, а не сервер провайдера, к которому
+ подключаемся?.
Запомните, что из-за использования PPP-интерфейсом адреса в сети
- провайдера Интернет с вашей стороны соединения, маршруты для всех
- других машин в локальной сети провайдера будут сгенерированы
- автоматически. Таким образом, вы уже будете знать, как достичь машины
- T1-GW, так что нет нужды в промежуточной точке при
- посылке трафика к серверу ISP.
+ провайдера Интернет с вашей стороны соединения, маршруты для всех
+ других машин в локальной сети провайдера будут сгенерированы
+ автоматически. Таким образом, вы уже будете знать, как достичь машины
+ T1-GW, так что нет нужды в промежуточной точке при
+ посылке трафика к серверу ISP.
В локальных сетях адрес X.X.X.1 часто используется в качестве адреса
- сетевого шлюза. Тогда (при использовании того же самого примера)
- если пространство адресов класса C вашей локальной сети было задано
- как 10.20.30, а ваш провайдер использует
- 10.9.9, то маршруты по умолчанию будут
- такие:
+ role="ipaddr">X.X.X.1 часто используется в качестве адреса
+ сетевого шлюза. Тогда (при использовании того же самого примера)
+ если пространство адресов класса C вашей локальной сети было задано
+ как 10.20.30, а ваш провайдер использует
+ 10.9.9, то маршруты по умолчанию будут
+ такие:
-
-
-
- Хост
- Маршрут по умолчанию
-
-
-
-
-
- Local2 (10.20.30.2)
- Local1 (10.20.30.1)
-
-
-
- Local1 (10.20.30.1, 10.9.9.30)
- T1-GW (10.9.9.1)
-
-
-
+
+
+
+ Хост
+ Маршрут по умолчанию
+
+
+
+
+
+ Local2 (10.20.30.2)
+ Local1 (10.20.30.1)
+
+
+
+ Local1 (10.20.30.1, 10.9.9.30)
+ T1-GW (10.9.9.1)
+
+
+ Вы можете легко задать используемый по умолчанию маршрутизатор
- посредством файла /etc/rc.conf. В нашем примере
- на машине Local2 мы добавили такую строку в файл
- /etc/rc.conf:
+ посредством файла /etc/rc.conf. В нашем примере
+ на машине Local2 мы добавили такую строку в файл
+ /etc/rc.conf:
defaultrouter="10.20.30.1"Это также возможно сделать и непосредственно из командной строки
- при помощи команды &man.route.8;:
+ при помощи команды &man.route.8;:
&prompt.root; route add default 10.20.30.1Для получения дополнительной информации об управлении таблицами
- маршрутизации обратитесь к справочной странице по команде
- &man.route.8;.
+ маршрутизации обратитесь к справочной странице по команде
+ &man.route.8;.
Хосты с двойным подключениемхосты с двойным подключениемЕсть еще один тип подключения, который мы должны рассмотреть, и это
- случай, когда хост находится в двух различных сетях. Технически,
- любая машина, работающая как сетевой шлюз (в примере выше
- использовалось PPP-соединение), считается хостом с двойным
- подключением. Однако этот термин реально используется для описания
- машины, находящейся в двух локальных сетях.
+ случай, когда хост находится в двух различных сетях. Технически,
+ любая машина, работающая как сетевой шлюз (в примере выше
+ использовалось PPP-соединение), считается хостом с двойным
+ подключением. Однако этот термин реально используется для описания
+ машины, находящейся в двух локальных сетях.
В одном случае у машины имеется два адаптера Ethernet, каждый
- имеющий адрес в разделенных подсетях. Как альтернативу можно
- рассмотреть вариант с одним Ethernet-адаптером и использованием
- алиасов в команде &man.ifconfig.8;. В первом случае используются два
- физически разделённые сети Ethernet, в последнем имеется один
- физический сегмент сети, но две логически разделённые подсети.
+ имеющий адрес в разделенных подсетях. Как альтернативу можно
+ рассмотреть вариант с одним Ethernet-адаптером и использованием
+ алиасов в команде &man.ifconfig.8;. В первом случае используются два
+ физически разделённые сети Ethernet, в последнем имеется один
+ физический сегмент сети, но две логически разделённые подсети.
В любом случае таблицы маршрутизации настраиваются так, что для
- каждой подсети эта машина определена как шлюз (входной маршрут) в
- другую подсеть. Такая конфигурация, при которой машина выступает в
- роли маршрутизатора между двумя подсетями, часто используется, если
- нужно реализовать систему безопасности на основе фильтрации пакетов или
- функций брандмауэра в одном или обоих направлениях.
+ каждой подсети эта машина определена как шлюз (входной маршрут) в
+ другую подсеть. Такая конфигурация, при которой машина выступает в
+ роли маршрутизатора между двумя подсетями, часто используется, если
+ нужно реализовать систему безопасности на основе фильтрации пакетов или
+ функций брандмауэра в одном или обоих направлениях.
Если вы хотите, чтобы эта машина действительно перемещала пакеты
- между двумя интерфейсами, то вам нужно указать FreeBSD на включение
- этой функции. Обратитесь к следующей главе, чтобы узнать, как это
- сделать.
+ между двумя интерфейсами, то вам нужно указать FreeBSD на включение
+ этой функции. Обратитесь к следующей главе, чтобы узнать, как это
+ сделать.
Построение маршрутизаторамаршрутизаторСетевой маршрутизатор является обычной системой, которая
- пересылает пакеты с одного интерфейса на другой. Стандарты Интернет и
- хорошая инженерная практика не позволяют Проекту FreeBSD включать эту
- функцию по умолчанию во FreeBSD. Вы можете включить эту возможность,
- изменив значение следующей переменной в YES в файле
+ пересылает пакеты с одного интерфейса на другой. Стандарты Интернет и
+ хорошая инженерная практика не позволяют Проекту FreeBSD включать эту
+ функцию по умолчанию во FreeBSD. Вы можете включить эту возможность,
+ изменив значение следующей переменной в YES в файле
&man.rc.conf.5;:gateway_enable=YES # Set to YES if this host will be a gatewayЭтот параметр изменит значение &man.sysctl.8;-переменной
net.inet.ip.forwarding в
1. Если вам временно нужно выключить маршрутизацию,
- вы можете на время сбросить это значение в 0.
+ вы можете на время сбросить это значение в 0.
Вашему новому маршрутизатору нужна информация о маршрутах для того,
- чтобы знать, куда пересылать трафик. Если ваша сеть достаточно проста,
- то вы можете использовать статические маршруты. С FreeBSD также
- поставляется стандартный даемон BSD для маршрутизации &man.routed.8;,
- который умеет работать с RIP (как версии 1, так и версии 2) и IRDP.
- Поддержка BGP v4, OSPF v2 и других сложных протоколов маршрутизации
- имеется в пакете net/zebra. Также
- существуют и коммерческие продукты, применяемые как более комплексное
- решение проблемы маршрутизации в сети, такие как
- &gated;.
+ чтобы знать, куда пересылать трафик. Если ваша сеть достаточно проста,
+ то вы можете использовать статические маршруты. С FreeBSD также
+ поставляется стандартный даемон BSD для маршрутизации &man.routed.8;,
+ который умеет работать с RIP (как версии 1, так и версии 2) и IRDP.
+ Поддержка BGP v4, OSPF v2 и других сложных протоколов маршрутизации
+ имеется в пакете net/zebra. Также
+ существуют и коммерческие продукты, применяемые как более комплексное
+ решение проблемы маршрутизации в сети, такие как
+ &gated;.
BGPRIPOSPFAlHoangПредоставил Настройка статических маршрутовРучная настройкаПредположим, что у нас есть следующая сеть:
INTERNET
| (10.0.0.1/24) Default Router to Internet
|
|Interface xl0
|10.0.0.10/24
+------+
| | RouterA
| | (FreeBSD gateway)
+------+
| Interface xl1
| 192.168.1.1/24
|
+--------------------------------+
Internal Net 1 | 192.168.1.2/24
|
+------+
| | RouterB
| |
+------+
| 192.168.2.1/24
|
Internal Net 2
В этом сценарии, RouterA это наш
компьютер с &os;, который выступает в качестве
маршрутизатора в сеть Интернет. Его маршрут по умолчанию
настроен на 10.0.0.1, что позволяет ему
соединяться с внешним миром. Мы будем предполагать, что
RouterB уже правильно настроен и
знает все необходимые маршруты (на этом рисунке все
просто; добавьте на RouterB маршрут
по умолчанию, используя 192.168.1.1 в качестве шлюза).Если мы посмотрим на таблицу маршрутизации
RouterA, то увидим примерно следующее:&prompt.user; netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.1 UGS 0 49378 xl0
127.0.0.1 127.0.0.1 UH 0 6 lo0
10.0.0/24 link#1 UC 0 0 xl0
192.168.1/24 link#2 UC 0 0 xl1С текущей таблицей маршрутизации RouterA
не сможет достичь внутренней сети 2 (Internal Net 2).
Один из способов обхода этой проблемы — добавление
маршрута вручную. Следующая команда добавляет
внутреннюю сеть 2 к таблице маршрутизации
RouterA с 192.168.1.2 в качестве следующего
узла:&prompt.root; route add -net 192.168.2.0/24 192.168.1.2Теперь RouterA сможет достичь любого хоста
в сети
192.168.2.0/24.Постоянная конфигурацияПредыдущий пример прекрасно подходит для настройки статического
маршрута в работающей системе. Однако, проблема заключается в
том, что маршрутная информация не сохранится после перезагрузки
&os;. Способ сохранения добавленного маршрута заключается в
добавлении его в файл /etc/rc.conf:# Добавление статического маршрута в Internal Net 2
static_routes="internalnet2"
route_internalnet2="-net 192.168.2.0/24 192.168.1.2"В переменной static_routes находятся
строки, разделенные пробелами. Каждая строка означает имя
маршрута. В примере выше в static_routes
есть только одна строка, это
internalnet2. Затем мы добавили
переменную
route_internalnet2,
куда помещены все параметры, которые необходимо передать
команде &man.route.8;. В примере выше была использована
команда:&prompt.root; route add -net 192.168.2.0/24 192.168.1.2поэтому нам потребуется
"-net 192.168.2.0/24 192.168.1.2".Как было сказано выше, мы можем добавить в
static_routes более чем одну строку.
Это позволит создать несколько статических маршрутов.
В следующем примере показано добавление маршрутов для сетей 192.168.0.0/24 и 192.168.1.0/24 (этот маршрутизатор не
показан на рисунке выше:
- static_routes="net1 net2"
+ static_routes="net1 net2"
route_net1="-net 192.168.0.0/24 192.168.0.1"
route_net2="-net 192.168.1.0/24 192.168.1.1"Распространение маршрутовраспространение маршрутовМы уже говорили о том, как мы задаем наши маршруты во внешний мир,
- но не упоминали о том, как внешний мир находит нас.
+ но не упоминали о том, как внешний мир находит нас.
Мы уже знаем, что таблицы маршрутизации могут быть настроены так,
- что весь трафик для некоторого диапазона адресов (в нашем примере это
- подсеть класса C) может быть направлен заданному хосту в той сети,
- которая будет перенаправлять входящие пакеты дальше.
+ что весь трафик для некоторого диапазона адресов (в нашем примере это
+ подсеть класса C) может быть направлен заданному хосту в той сети,
+ которая будет перенаправлять входящие пакеты дальше.
При получении адресного пространства, выделенного Вашей сети,
- Ваш провайдер настроит свои таблицы маршрутизации так, что весь трафик
- для Вашей подсети будет пересылаться по PPP-соединению к Вашей сети.
- Но как серверы по всей стране узнают, что Ваш трафик нужно посылать
- Вашему ISP?
+ Ваш провайдер настроит свои таблицы маршрутизации так, что весь трафик
+ для Вашей подсети будет пересылаться по PPP-соединению к Вашей сети.
+ Но как серверы по всей стране узнают, что Ваш трафик нужно посылать
+ Вашему ISP?
Существует система (подобная распределению информации DNS), которая
- отслеживает все назначенные пространства адресов и определяет точку
- подключения к магистрали Интернет. Магистралью называют
- главные каналы, по которым идет трафик Интернет внутри страны и по
- всему миру. Каждая магистральная машина имеет копию основного набора
- таблиц, согласно которой трафик для конкретной сети направляется по
- конкретному магистральному каналу, и затем, передаваясь по цепочке
- провайдеров, он достигает вашей сети.
+ отслеживает все назначенные пространства адресов и определяет точку
+ подключения к магистрали Интернет. Магистралью называют
+ главные каналы, по которым идет трафик Интернет внутри страны и по
+ всему миру. Каждая магистральная машина имеет копию основного набора
+ таблиц, согласно которой трафик для конкретной сети направляется по
+ конкретному магистральному каналу, и затем, передаваясь по цепочке
+ провайдеров, он достигает вашей сети.
Задачей вашего провайдера является объявить на магистрали о том,
- что он отвечает за подключение (и поэтому на него указывает маршрут)
- вашей сети. Этот процесс называется распространением маршрута.
+ что он отвечает за подключение (и поэтому на него указывает маршрут)
+ вашей сети. Этот процесс называется распространением маршрута.
Устранение неполадок
- traceroute
+ tracerouteИногда с распространением маршрута возникают проблемы, и некоторые
- сайты не могут к вам подключиться. Наверное, самой полезной командой
- для определения точки неверной работы маршрутизации является
- &man.traceroute.8;. Она также полезна и когда вы сами не можете
- подключиться к удаленной машине (то есть команда &man.ping.8; не
- срабатывает).
+ сайты не могут к вам подключиться. Наверное, самой полезной командой
+ для определения точки неверной работы маршрутизации является
+ &man.traceroute.8;. Она также полезна и когда вы сами не можете
+ подключиться к удаленной машине (то есть команда &man.ping.8; не
+ срабатывает).
Команда &man.traceroute.8; запускается с именем удаленного хоста, с
- которым вы хотите установить соединение, в качестве параметра. Она
- показывает промежуточные сетевые шлюзы по пути следования, в конце
- концов достигая адрес назначения или прерывая свою работу из-за
- отсутствия соединения.
+ которым вы хотите установить соединение, в качестве параметра. Она
+ показывает промежуточные сетевые шлюзы по пути следования, в конце
+ концов достигая адрес назначения или прерывая свою работу из-за
+ отсутствия соединения.
За дополнительной информацией обратитесь к странице Справочника по
- &man.traceroute.8;.
+ &man.traceroute.8;.
Маршрутизация многоадресного трафикамаршрутизация многоадресного трафика
- параметры ядра
+ параметры ядра
- MROUTING
+ MROUTINGFreeBSD изначально поддерживает как приложения, работающие с
- многоадресным трафиком, так и его маршрутизацию. Такие приложения не
- требуют особой настройки FreeBSD; обычно они работают сразу.
- Для маршрутизации многоадресного трафика требуется, чтобы поддержка
- этого была включена в ядро:
+ многоадресным трафиком, так и его маршрутизацию. Такие приложения не
+ требуют особой настройки FreeBSD; обычно они работают сразу.
+ Для маршрутизации многоадресного трафика требуется, чтобы поддержка
+ этого была включена в ядро:
options MROUTINGКроме того, даемон многоадресной маршрутизации, &man.mrouted.8;,
- должен быть настроен посредством файла
- /etc/mrouted.conf на использование туннелей и
- DVMRP. Дополнительную информацию о настройки
+ должен быть настроен посредством файла
+ /etc/mrouted.conf на использование туннелей и
+ DVMRP. Дополнительную информацию о настройки
многоадресного трафика
- можно найти на страницах справочной системы, посвящённых даемону
- &man.mrouted.8;.
+ можно найти на страницах справочной системы, посвящённых даемону
+ &man.mrouted.8;.
-
- Eric
- Anderson
- Текст предоставил
-
-
-
- Андрей
- Захватов
- Перевёл на русский язык
-
+
+ Eric
+ Anderson
+ Текст предоставил
+
+
+
+ Андрей
+ Захватов
+ Перевёл на русский язык
+ Беспроводные сетибеспроводные сети802.11беспроводные сетиВведениеБыло бы весьма полезным иметь возможность использовать компьютер
- без хлопот, связанных с постоянно подключенным сетевым кабелем.
- FreeBSD может использоваться как клиент беспроводной сети, и даже
- в качестве точки доступа к ней.
+ без хлопот, связанных с постоянно подключенным сетевым кабелем.
+ FreeBSD может использоваться как клиент беспроводной сети, и даже
+ в качестве точки доступа к ней.
Режимы работы беспроводной связиСуществуют два варианта конфигурации устройств беспроводного
- доступа 802.11: BSS и IBSS.
+ доступа 802.11: BSS и IBSS.
- Режим BSS
-
- Режим BSS является наиболее часто используемым. Режим BSS также
- называют режимом инфраструктуры. В этом режиме несколько точек
- доступа беспроводной сети подключаются к проводной сети передачи
- данных. Каждое беспроводная сеть имеет собственное имя. Это имя
- является идентификатором SSID сети.
-
- Клиенты беспроводной сети подключаются к этим точкам доступа
- беспроводной сети. Стандарт IEEE 802.11 определяет протокол,
- используемый для связи в беспроводных сетях. Клиент сети
- беспроводного доступа может подключаться к некоторой сети, если
- задан её SSID. Клиент может также подключаться к любой сети, если
- SSID не задан.
+ Режим BSS
+
+ Режим BSS является наиболее часто используемым. Режим BSS также
+ называют режимом инфраструктуры. В этом режиме несколько точек
+ доступа беспроводной сети подключаются к проводной сети передачи
+ данных. Каждое беспроводная сеть имеет собственное имя. Это имя
+ является идентификатором SSID сети.
+
+ Клиенты беспроводной сети подключаются к этим точкам доступа
+ беспроводной сети. Стандарт IEEE 802.11 определяет протокол,
+ используемый для связи в беспроводных сетях. Клиент сети
+ беспроводного доступа может подключаться к некоторой сети, если
+ задан её SSID. Клиент может также подключаться к любой сети, если
+ SSID не задан.
- Режим IBSS
-
- Режим IBSS, также называемый ad-hoc, предназначен для соединений
- точка-точка. На самом деле существуют два типа режима ad-hoc. Один
- из них является режимом IBSS, называемый также режимом ad-hoc или
- IEEE ad-hoc. Этот режим определён стандартами IEEE 802.11. Второй
- режим называется демонстрационным режимом ad-hoc, или Lucent ad-hoc
- (или, иногда неправильно, режимом ad-hoc). Это старый,
- существовавший до появления 802.11, режим ad-hoc, и он должен
- использоваться только для старых сетей. В дальнейшем мы не будем
- рассматривать ни один из режимов ad-hoc.
+ Режим IBSS
+
+ Режим IBSS, также называемый ad-hoc, предназначен для соединений
+ точка-точка. На самом деле существуют два типа режима ad-hoc. Один
+ из них является режимом IBSS, называемый также режимом ad-hoc или
+ IEEE ad-hoc. Этот режим определён стандартами IEEE 802.11. Второй
+ режим называется демонстрационным режимом ad-hoc, или Lucent ad-hoc
+ (или, иногда неправильно, режимом ad-hoc). Это старый,
+ существовавший до появления 802.11, режим ad-hoc, и он должен
+ использоваться только для старых сетей. В дальнейшем мы не будем
+ рассматривать ни один из режимов ad-hoc.Режим инфраструктуры
- Точки доступа
-
- Точки доступа представляют собой беспроводные сетевые устройства,
- позволяющие одному или большему количеству клиентов беспроводной сети
- использовать эти устройства в качестве центрального сетевого
- концентратора. При использовании точки доступа все клиенты работают
- через неё. Зачастую используются несколько точек доступа для полного
- покрытия беспроводной сетью некоторой зоны, такой, как дом, офис или
- парк.
-
- Точки доступа обычно имеют несколько подключений к сети: адаптер
- беспроводной связи и один или большее количество сетевых
- ethernet-адаптеров для подключения к остальной части сети.
-
- Точки доступа могут быть либо приобретены уже настроенными, либо
- вы можете создать собственную при помощи FreeBSD и поддерживаемого
- адаптера беспроводной связи. Несколько производителей выпускают
- точки беспроводного доступа и адаптеры беспроводной связи с
- различными возможностями.
+ Точки доступа
+
+ Точки доступа представляют собой беспроводные сетевые устройства,
+ позволяющие одному или большему количеству клиентов беспроводной сети
+ использовать эти устройства в качестве центрального сетевого
+ концентратора. При использовании точки доступа все клиенты работают
+ через неё. Зачастую используются несколько точек доступа для полного
+ покрытия беспроводной сетью некоторой зоны, такой, как дом, офис или
+ парк.
+
+ Точки доступа обычно имеют несколько подключений к сети: адаптер
+ беспроводной связи и один или большее количество сетевых
+ ethernet-адаптеров для подключения к остальной части сети.
+
+ Точки доступа могут быть либо приобретены уже настроенными, либо
+ вы можете создать собственную при помощи FreeBSD и поддерживаемого
+ адаптера беспроводной связи. Несколько производителей выпускают
+ точки беспроводного доступа и адаптеры беспроводной связи с
+ различными возможностями.
- Построение точки доступа с FreeBSD
-
-
- беспроводные сети
- точка доступа
-
-
-
- Требования
-
- Для того, чтобы создать беспроводную точку доступа на FreeBSD,
- вам нужно иметь совместимый адаптер беспроводной связи. На данный
- момент поддерживаются адаптеры только на основе набора микросхем
- Prism. Вам также потребуется поддерживаемый FreeBSD адаптер
- проводной сети (найти такой будет нетрудно, FreeBSD поддерживает
- множество различных устройств). В этом руководстве мы будем
- полагать, что вы будете строить сетевой мост (&man.bridge.4;) для
- пропуска всего трафика между устройством беспроводной связи и
- сетью, подключенной к обычному Ethernet-адаптеру.
-
- Функциональность hostap, которая используется FreeBSD для
- организации точки доступа, работает лучше всего с некоторыми
- версиями микрокода. Адаптеры Prism 2 должны использовать микрокод
- версии 1.3.4 или более новый. Адаптеры Prism 2.5 и Prism 3 должны
- использовать микрокод версии 1.4.9. Более старые версии микрокода
- могут работать нормально, а могут и некорректно. В настоящее время
- единственным способом обновления адаптеров является использование
- утилит обновления для &windows;, которые можно получить у
- производителя ваших адаптеров.
-
-
-
- Настройка
-
- Первым делом убедитесь, что ваша система распознаёт адаптер
- беспроводной связи:
-
- &prompt.root; ifconfig -a
+ Построение точки доступа с FreeBSD
+
+
+ беспроводные сети
+ точка доступа
+
+
+
+ Требования
+
+ Для того, чтобы создать беспроводную точку доступа на FreeBSD,
+ вам нужно иметь совместимый адаптер беспроводной связи. На данный
+ момент поддерживаются адаптеры только на основе набора микросхем
+ Prism. Вам также потребуется поддерживаемый FreeBSD адаптер
+ проводной сети (найти такой будет нетрудно, FreeBSD поддерживает
+ множество различных устройств). В этом руководстве мы будем
+ полагать, что вы будете строить сетевой мост (&man.bridge.4;) для
+ пропуска всего трафика между устройством беспроводной связи и
+ сетью, подключенной к обычному Ethernet-адаптеру.
+
+ Функциональность hostap, которая используется FreeBSD для
+ организации точки доступа, работает лучше всего с некоторыми
+ версиями микрокода. Адаптеры Prism 2 должны использовать микрокод
+ версии 1.3.4 или более новый. Адаптеры Prism 2.5 и Prism 3 должны
+ использовать микрокод версии 1.4.9. Более старые версии микрокода
+ могут работать нормально, а могут и некорректно. В настоящее время
+ единственным способом обновления адаптеров является использование
+ утилит обновления для &windows;, которые можно получить у
+ производителя ваших адаптеров.
+
+
+
+ Настройка
+
+ Первым делом убедитесь, что ваша система распознаёт адаптер
+ беспроводной связи:
+
+ &prompt.root; ifconfig -a
wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
- inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7
+ inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7
inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
ether 00:09:2d:2d:c9:50
media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps)
status: no carrier
ssid ""
stationname "FreeBSD Wireless node"
channel 10 authmode OPEN powersavemode OFF powersavesleep 100
wepmode OFF weptxkey 1
- На данном этапе не беспокойтесь о деталях, просто убедитесь,
- что выдаётся нечто, указывающее на установленный адаптер
- беспроводной связи. Если при этом у вас есть проблемы с
- недоступностью интерфейса беспроводной связи, и вы используете
- PC Card, то обратитесь к страницам справочной системы, описывающим
- &man.pccardc.8; и &man.pccardd.8; для получения более полной
- информации.
-
- Теперь вам нужно загрузить модуль для подготовки той части
- FreeBSD, что отвечает за организацию сетевых мостов, для работы
- с точкой доступа. Для загрузки модуля &man.bridge.4; просто
- выполните следующую команду:
-
- &prompt.root; kldload bridge
-
- При загрузке модуля никаких сообщений об ошибках быть не
- должно. Если это всё же произошло, вам может потребоваться
- вкомпилировать код для модуля &man.bridge.4; в ядро. В этом вам
- должен помочь раздел этого Руководства об организации сетевых
- мостов.
-
- Теперь, когда вы завершили с той частью, что касается
- организации сетевого моста, нам нужно указать ядру FreeBSD, какие
- интерфейсы должны объединяться в сетевом мосте. Это мы делаем
- при помощи &man.sysctl.8;:
-
- &prompt.root; sysctl net.link.ether.bridge.enable=1
+ На данном этапе не беспокойтесь о деталях, просто убедитесь,
+ что выдаётся нечто, указывающее на установленный адаптер
+ беспроводной связи. Если при этом у вас есть проблемы с
+ недоступностью интерфейса беспроводной связи, и вы используете
+ PC Card, то обратитесь к страницам справочной системы, описывающим
+ &man.pccardc.8; и &man.pccardd.8; для получения более полной
+ информации.
+
+ Теперь вам нужно загрузить модуль для подготовки той части
+ FreeBSD, что отвечает за организацию сетевых мостов, для работы
+ с точкой доступа. Для загрузки модуля &man.bridge.4; просто
+ выполните следующую команду:
+
+ &prompt.root; kldload bridge
+
+ При загрузке модуля никаких сообщений об ошибках быть не
+ должно. Если это всё же произошло, вам может потребоваться
+ вкомпилировать код для модуля &man.bridge.4; в ядро. В этом вам
+ должен помочь раздел этого Руководства об организации сетевых
+ мостов.
+
+ Теперь, когда вы завершили с той частью, что касается
+ организации сетевого моста, нам нужно указать ядру FreeBSD, какие
+ интерфейсы должны объединяться в сетевом мосте. Это мы делаем
+ при помощи &man.sysctl.8;:
+
+ &prompt.root; sysctl net.link.ether.bridge.enable=1
&prompt.root; sysctl net.link.ether.bridge.config="wi0 xl0"
&prompt.root; sysctl net.inet.ip.forwarding=1
- В версиях &os;, предшествующих 5.2, вместо указанных нужно
- использовать следующие параметры:
+ В версиях &os;, предшествующих 5.2, вместо указанных нужно
+ использовать следующие параметры:
- &prompt.root; sysctl net.link.ether.bridge=1
+ &prompt.root; sysctl net.link.ether.bridge=1
&prompt.root; sysctl net.link.ether.bridge_cfg="wi0,xl0"
&prompt.root; sysctl net.inet.ip.forwarding=1
- Теперь необходимо настроить адаптер беспроводной сети.
- Следующая команда заставит адаптер работать в режиме точки
- доступа:
+ Теперь необходимо настроить адаптер беспроводной сети.
+ Следующая команда заставит адаптер работать в режиме точки
+ доступа:
&prompt.root; ifconfig wi0 ssid my_net channel 11 media DS/11Mbps mediaopt hostap up stationname "FreeBSD AP"
- Строчка &man.ifconfig.8; активизирует интерфейс
- wi0, конфигурирует его SSID как
- my_net, а имя станции как
+ Строчка &man.ifconfig.8; активизирует интерфейс
+ wi0, конфигурирует его SSID как
+ my_net, а имя станции как
FreeBSD AP.
- переводит адаптер в
- режим 11Mbps и нужен только для того, чтобы сработал параметр
- . Параметр переводит интерфейс в режим точки доступа.
- Параметр задаёт использование канала
- 802.11b. Страница справки по команде &man.wicontrol.8; перечисляет
- корректные значения каналов для ваших нужд.
-
- Теперь у вас должна получиться полнофункциональная работающая
- точка доступа. Настоятельно советуем прочесть страницы справочной
- по &man.wicontrol.8;, &man.ifconfig.8;, и &man.wi.4; для
- получения дополнительной информации.
-
- Также полагаем, что вы прочтёте следующий раздел о
- шифровании.
-
-
-
- Информация о состоянии
-
- После того, как точка доступа сконфигурирована и начала свою
- работу, операторам может понадобиться видеть клиентов, связанных
- с этой точкой. В любой момент оператор может набрать:
-
- &prompt.root; wicontrol -l
+ переводит адаптер в
+ режим 11Mbps и нужен только для того, чтобы сработал параметр
+ . Параметр переводит интерфейс в режим точки доступа.
+ Параметр задаёт использование канала
+ 802.11b. Страница справки по команде &man.wicontrol.8; перечисляет
+ корректные значения каналов для ваших нужд.
+
+ Теперь у вас должна получиться полнофункциональная работающая
+ точка доступа. Настоятельно советуем прочесть страницы справочной
+ по &man.wicontrol.8;, &man.ifconfig.8;, и &man.wi.4; для
+ получения дополнительной информации.
+
+ Также полагаем, что вы прочтёте следующий раздел о
+ шифровании.
+
+
+
+ Информация о состоянии
+
+ После того, как точка доступа сконфигурирована и начала свою
+ работу, операторам может понадобиться видеть клиентов, связанных
+ с этой точкой. В любой момент оператор может набрать:
+
+ &prompt.root; wicontrol -l
1 station:
00:09:b7:7b:9d:16 asid=04c0, flags=3<ASSOC,AUTH>, caps=1<ESS>, rates=f<1M,2M,5.5M,11M>, sig=38/15
- Это показывает, что имеется одна связанная станция с
- перечисленными характеристиками. Выдаваемое значение сигнала должно
- использоваться только как сравнительный индикатор его силы. Его
- перевод в dBm или другие единицы измерения различаются в разных
- версиях микрокода.
-
+ Это показывает, что имеется одна связанная станция с
+ перечисленными характеристиками. Выдаваемое значение сигнала должно
+ использоваться только как сравнительный индикатор его силы. Его
+ перевод в dBm или другие единицы измерения различаются в разных
+ версиях микрокода.
+
- Клиенты
+ Клиенты
- Клиент в беспроводной сети представляет собой систему, которая
- обращается к точке доступа или непосредственно к другому
- клиенту.
+ Клиент в беспроводной сети представляет собой систему, которая
+ обращается к точке доступа или непосредственно к другому
+ клиенту.
- Как правило, клиенты беспроводной сети имеют только один сетевой
- адаптер, а именно адаптер беспроводной сети.
+ Как правило, клиенты беспроводной сети имеют только один сетевой
+ адаптер, а именно адаптер беспроводной сети.
- Существует несколько различных способов конфигурации клиента
- беспроводной сети. Они основаны на различных режимах работы в
- беспроводной сети, обычно BSS (режим инфраструктуры, который требует
- точки доступа) или IBSS (ad-hoc или режим одноранговой сети). В
- нашем примере мы будем использовать самый популярный их них, режим
- BSS, для связи с точкой доступа.
+ Существует несколько различных способов конфигурации клиента
+ беспроводной сети. Они основаны на различных режимах работы в
+ беспроводной сети, обычно BSS (режим инфраструктуры, который требует
+ точки доступа) или IBSS (ad-hoc или режим одноранговой сети). В
+ нашем примере мы будем использовать самый популярный их них, режим
+ BSS, для связи с точкой доступа.
-
- Требования
+
+ Требования
- Существует только одно жёсткое условие для настройки FreeBSD в
- качестве клиента беспроводной сети. Вам нужен адаптер беспроводной
- связи, поддерживаемый FreeBSD.
-
+ Существует только одно жёсткое условие для настройки FreeBSD в
+ качестве клиента беспроводной сети. Вам нужен адаптер беспроводной
+ связи, поддерживаемый FreeBSD.
+
-
- Конфигурация FreeBSD как клиента беспроводной сети
+
+ Конфигурация FreeBSD как клиента беспроводной сети
- Перед тем, как подключиться к беспроводной сети, вам нужно
- будет узнать о ней несколько вещей. В этом примере мы подключаемся
- к сети, которая называется my_net,
+ Перед тем, как подключиться к беспроводной сети, вам нужно
+ будет узнать о ней несколько вещей. В этом примере мы подключаемся
+ к сети, которая называется my_net,
и шифрование в ней отключено.
- В этом примере мы не используем шифрование, но
- это небезопасно. В следующем разделе вы узнаете, как её включить,
- почему это так важно, и почему некоторые технологии шифрования всё
- же не могут полностью обеспечить вашу информационную
- безопасность.
+ В этом примере мы не используем шифрование, но
+ это небезопасно. В следующем разделе вы узнаете, как её включить,
+ почему это так важно, и почему некоторые технологии шифрования всё
+ же не могут полностью обеспечить вашу информационную
+ безопасность.
- Удостоверьтесь, что ваш адаптер распознаётся во FreeBSD:
+ Удостоверьтесь, что ваш адаптер распознаётся во FreeBSD:
- &prompt.root; ifconfig -a
+ &prompt.root; ifconfig -a
wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
- inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7
+ inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7
inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
ether 00:09:2d:2d:c9:50
media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps)
status: no carrier
ssid ""
stationname "FreeBSD Wireless node"
channel 10 authmode OPEN powersavemode OFF powersavesleep 100
wepmode OFF weptxkey 1
- Теперь мы можем изменить настройки адаптера на те, что соответствуют
- нашей сети:
+ Теперь мы можем изменить настройки адаптера на те, что соответствуют
+ нашей сети:&prompt.root; ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid my_net
- Замените 192.168.0.20 и 255.255.255.0 на правильные IP-адрес и
- сетевую маску в вашей проводной сети. Запомните, что наша точка
- доступа выступает в роли моста для данных между беспроводной и
- проводной сетями, так что они будут доступны для других устройств,
- находящихся в сети, как будто они тоже находятся в проводной
- сети.
+ Замените 192.168.0.20 и 255.255.255.0 на правильные IP-адрес и
+ сетевую маску в вашей проводной сети. Запомните, что наша точка
+ доступа выступает в роли моста для данных между беспроводной и
+ проводной сетями, так что они будут доступны для других устройств,
+ находящихся в сети, как будто они тоже находятся в проводной
+ сети.
- Как только вы это выполнили, то сможете получить ping от хостов
- в проводной сети, как будто вы подключены посредством обычных
- проводов.
+ Как только вы это выполнили, то сможете получить ping от хостов
+ в проводной сети, как будто вы подключены посредством обычных
+ проводов.
- Если вы столкнулись с проблемами при работе в беспроводной
- сети, удостоверьтесь, что вы ассоциированы (подключены) с точкой
- доступа:
+ Если вы столкнулись с проблемами при работе в беспроводной
+ сети, удостоверьтесь, что вы ассоциированы (подключены) с точкой
+ доступа:
- &prompt.root; ifconfig wi0
+ &prompt.root; ifconfig wi0
- должна выдать некоторую информацию, и вы должны увидеть:
+ должна выдать некоторую информацию, и вы должны увидеть:
- status: associated
+ status: associated
- Если статус не будет соответствовать
+ Если статус не будет соответствовать
associated, это
- может значить, что вы оказались вне зоны досягаемости точки
- доступа, включили шифрование или, возможно, имеются проблемы с
- конфигурацией.
-
+ может значить, что вы оказались вне зоны досягаемости точки
+ доступа, включили шифрование или, возможно, имеются проблемы с
+ конфигурацией.
+
- Шифрование
-
-
- беспроводные сети
- шифрование
-
-
- Шифрование в беспроводной сети имеет важное значение, потому что
- у вас нет больше возможности ограничить сеть хорошо защищённой
- областью. Данные вашей беспроводной сети вещаются по всей
- окрестности, так что любой заинтересовавшийся может их считать. Вот
- здесь используется шифрование. Шифруя данные, посылаемые в
- эфир, вы делаете их прямой перехват гораздо более сложным для всех
- любопытных.
-
- Двумя наиболее широко применяемыми способами шифрования данных
- между вашим клиентом и точкой доступа являются WEP
- и &man.ipsec.4;.
-
-
- WEP
-
-
- WEP
-
-
- WEP является сокращением от Wired Equivalency Protocol
- (Протокол Соответствия Проводной сети). WEP является попыткой
- сделать беспроводные сети такими же надёжными и безопасными, как
- проводные. К сожалению, он был взломан и сравнительно легко
- поддаётся вскрытию. Это означает также, что он не тот протокол,
- на который следует опираться, когда речь идёт о шифровании
- критически важных данных.
-
- Он лучше, чем ничего, так что используйте следующую команду для
- включения WEP в вашей новой точке доступа FreeBSD:
+ Шифрование
+
+
+ беспроводные сети
+ шифрование
+
+
+ Шифрование в беспроводной сети имеет важное значение, потому что
+ у вас нет больше возможности ограничить сеть хорошо защищённой
+ областью. Данные вашей беспроводной сети вещаются по всей
+ окрестности, так что любой заинтересовавшийся может их считать. Вот
+ здесь используется шифрование. Шифруя данные, посылаемые в
+ эфир, вы делаете их прямой перехват гораздо более сложным для всех
+ любопытных.
+
+ Двумя наиболее широко применяемыми способами шифрования данных
+ между вашим клиентом и точкой доступа являются WEP
+ и &man.ipsec.4;.
+
+
+ WEP
+
+
+ WEP
+
+
+ WEP является сокращением от Wired Equivalency Protocol
+ (Протокол Соответствия Проводной сети). WEP является попыткой
+ сделать беспроводные сети такими же надёжными и безопасными, как
+ проводные. К сожалению, он был взломан и сравнительно легко
+ поддаётся вскрытию. Это означает также, что он не тот протокол,
+ на который следует опираться, когда речь идёт о шифровании
+ критически важных данных.
+
+ Он лучше, чем ничего, так что используйте следующую команду для
+ включения WEP в вашей новой точке доступа FreeBSD:&prompt.root; ifconfig wi0 inet up ssid my_net wepmode on wepkey 0x1234567890 media DS/11Mbps mediaopt hostap
- Вы можете включить WEP на клиенте следующей командой:
+ Вы можете включить WEP на клиенте следующей командой:&prompt.root; ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid my_net wepmode on wepkey 0x1234567890
- Отметьте, что вы должны заменить
+ Отметьте, что вы должны заменить
0x1234567890 на более уникальный ключ.
-
-
-
- IPsec
-
- &man.ipsec.4; является гораздо более надёжным и мощным
- средством шифрования данных в сети. Этот метод определённо
- является предпочтительным для шифрования данных в беспроводной
- сети. Более детально ознакомиться с безопасностью и применением
- &man.ipsec.4; вы можете в разделе об IPsec этого Руководства.
-
+
+
+
+ IPsec
+
+ &man.ipsec.4; является гораздо более надёжным и мощным
+ средством шифрования данных в сети. Этот метод определённо
+ является предпочтительным для шифрования данных в беспроводной
+ сети. Более детально ознакомиться с безопасностью и применением
+ &man.ipsec.4; вы можете в разделе об IPsec этого Руководства.
+
- Утилиты
-
- Имеется несколько утилит, которые можно использовать для
- настройки и отладки вашей беспроводной сети, и здесь мы попытаемся
- описать некоторые из них и что они могут делать.
-
-
- Пакет bsd-airtools
-
- Пакет bsd-airtools представляет
- собой полный набор инструментов, включая инструменты для проверки
- беспроводной сети на предмет взлома WEP-ключа,
- обнаружения точки доступа и тому подобное.
-
- Утилиты bsd-airtools можно
- установить из порта net/bsd-airtools. Информацию
- об установке портов можно найти в Главе
- этого Руководства.
-
- Программа dstumbler является инструментом,
- предназначенным для обнаружения точки доступа и выдачи отношения
- уровня сигнала к шуму. Если у вас с трудом получается запустить
- точку доступа, dstumbler может помочь вам
- начать.
-
- Для тестирования информационной безопасности вашей беспроводной
- сети, вы можете воспользоваться набором dweputils
- (dwepcrack, dwepdump и
- dwepkeygen), который может помочь
- понять, является ли WEP подходящим решением для обеспечения ваших
- потребностей в информационной безопасности.
-
-
-
- Утилиты wicontrol,
- ancontrol и
- raycontrol
-
- Это инструменты, которые могут быть использованы для
+ Утилиты
+
+ Имеется несколько утилит, которые можно использовать для
+ настройки и отладки вашей беспроводной сети, и здесь мы попытаемся
+ описать некоторые из них и что они могут делать.
+
+
+ Пакет bsd-airtools
+
+ Пакет bsd-airtools представляет
+ собой полный набор инструментов, включая инструменты для проверки
+ беспроводной сети на предмет взлома WEP-ключа,
+ обнаружения точки доступа и тому подобное.
+
+ Утилиты bsd-airtools можно
+ установить из порта net/bsd-airtools. Информацию
+ об установке портов можно найти в Главе
+ этого Руководства.
+
+ Программа dstumbler является инструментом,
+ предназначенным для обнаружения точки доступа и выдачи отношения
+ уровня сигнала к шуму. Если у вас с трудом получается запустить
+ точку доступа, dstumbler может помочь вам
+ начать.
+
+ Для тестирования информационной безопасности вашей беспроводной
+ сети, вы можете воспользоваться набором dweputils
+ (dwepcrack, dwepdump и
+ dwepkeygen), который может помочь
+ понять, является ли WEP подходящим решением для обеспечения ваших
+ потребностей в информационной безопасности.
+
+
+
+ Утилиты wicontrol,
+ ancontrol и
+ raycontrol
+
+ Это инструменты, которые могут быть использованы для
управления поведением
- адаптера беспроводной связи в сети. В примере выше мы выбирали
- &man.wicontrol.8;, так как нашим адаптером беспроводной сети был
- интерфейс wi0. Если у вас установлено
- устройство беспроводного доступа от Cisco, этим интерфейсом будет
- an0, и тогда вы будете
- использовать &man.ancontrol.8;.
-
-
-
- Команда ifconfig
-
-
- ifconfig
-
-
- Команда &man.ifconfig.8; может использоваться для установки
- многих из тех параметров, что задаёт &man.wicontrol.8;, однако
- работа с некоторыми параметрами в ней отсутствует. Обратитесь к
- &man.ifconfig.8; для выяснения параметров и опций командной
- строки.
-
+ адаптера беспроводной связи в сети. В примере выше мы выбирали
+ &man.wicontrol.8;, так как нашим адаптером беспроводной сети был
+ интерфейс wi0. Если у вас установлено
+ устройство беспроводного доступа от Cisco, этим интерфейсом будет
+ an0, и тогда вы будете
+ использовать &man.ancontrol.8;.
+
+
+
+ Команда ifconfig
+
+
+ ifconfig
+
+
+ Команда &man.ifconfig.8; может использоваться для установки
+ многих из тех параметров, что задаёт &man.wicontrol.8;, однако
+ работа с некоторыми параметрами в ней отсутствует. Обратитесь к
+ &man.ifconfig.8; для выяснения параметров и опций командной
+ строки.
+
- Поддерживаемые адаптеры
+ Поддерживаемые адаптеры
-
- Точки доступа
+
+ Точки доступа
- Единственными адаптерами, которые на данный момент
- поддерживаются в режиме BSS (как точка доступа), являются те
- устройства, что сделаны на основе набора микросхем Prism 2, 2.5
- или 3). Полный список можно увидеть в &man.wi.4;.
-
+ Единственными адаптерами, которые на данный момент
+ поддерживаются в режиме BSS (как точка доступа), являются те
+ устройства, что сделаны на основе набора микросхем Prism 2, 2.5
+ или 3). Полный список можно увидеть в &man.wi.4;.
+
-
- Клиенты 802.11b
+
+ Клиенты 802.11b
- Практически все адаптеры беспроводной связи 802.11b на данный
- момент во FreeBSD поддерживаются. Большинство адаптеров,
- построенных на основе Prism, Spectrum24, Hermes, Aironet и Raylink,
- будут работать в качестве адаптера беспроводной сети в режиме
- IBSS (ad-hoc, одноранговая сеть и BSS).
-
+ Практически все адаптеры беспроводной связи 802.11b на данный
+ момент во FreeBSD поддерживаются. Большинство адаптеров,
+ построенных на основе Prism, Spectrum24, Hermes, Aironet и Raylink,
+ будут работать в качестве адаптера беспроводной сети в режиме
+ IBSS (ad-hoc, одноранговая сеть и BSS).
+ Клиенты 802.11a и 802.11gДрайвер устройства &man.ath.4; поддерживает 802.11a и 802.11g.
Если ваша карта основана на чипсете Atheros, вы можете использовать
этот драйвер.К сожалению, все еще много производителей, не предоставляющих
схематику своих драйверов сообществу open source, поскольку
эта информация считается торговым секретом. Следовательно,
у разработчиков FreeBSD и других операционных систем остается
два варианта: разработать драйверы долгим и сложным методом
обратного инжиниринга, или использовать существующие драйверы
для платформ µsoft.windows;. Большинство разработчиков
FreeBSD выбрали второй способ.Благодаря усилиям Билла Пола (wpaul), начиная
с FreeBSD 5.3-RELEASE существует прозрачная
поддержка Network Driver Interface Specification (NDIS).
FreeBSD NDISulator (известный также как Project Evil)
преобразует бинарный драйвер &windows; так, что он работает
так же как и в &windows;. Эта возможность всё ещё относительно
нова, но в большинстве тестов она работает адекватно.NDISзагрузчик NDISдрайверы &windows;Microsoft WindowsMicrosoft Windowsдрайверы устройствKLD (загружаемый объект ядра)
+ for it. Whatever is done must also be done to the same indexterm in
+ linuxemu/chapter.sgml -->
Для использования NDISulator потребуются три вещи:Исходные тексты ядра
- Бинарный драйвер &windowsxp;
- (расширение .SYS)
+ Бинарный драйвер &windowsxp;
+ (расширение .SYS)
- Файл конфигурации бинарного драйвера &windowsxp;
- (расширение .INF)
+ Файл конфигурации бинарного драйвера &windowsxp;
+ (расширение .INF)
-
+
Вам может потребоваться компиляция драйвера оболочки мини порта
- &man.ndis.4;. Под root:
+ &man.ndis.4;. Под root:
&prompt.root; cd /usr/src/sys/modules/ndis
&prompt.root; make && make installОпределите местоположение файлов для вашей карты. Обычно
их можно найти на входящем в комплект CD или на Web-сайте
поставщика. В нашем примере используются файлы
W32DRIVER.SYS и
W32DRIVER.INF.Следующий шаг это компиляция бинарного драйвера в
загружаемый модуль ядра. Чтобы сделать это, сначала зайдите в
каталог модуля if_ndis и с правами
root скопируйте туда драйверы
&windows;:&prompt.root; cd /usr/src/sys/modules/if_ndis
&prompt.root; cp /path/to/driver/W32DRIVER.SYS ./
&prompt.root; cp /path/to/driver/W32DRIVER.INF ./Теперь используйте утилиту ndiscvt для
создания заголовка определения драйвера
ndis_driver_data.h перед сборкой
модуля:&prompt.root; ndiscvt -i W32DRIVER.INF -s W32DRIVER.SYS -o ndis_driver_data.hПараметры и задают
соответственно файл настройки и бинарный файл. Мы используем
параметр , поскольку
Makefile при создании модуля будет
обращаться именно к этому файлу.Некоторым драйверам &windows; для работы требуются
дополнительные файлы. Вы можете включить их параметром
ndiscvt . Обратитесь
к странице справочной системы &man.ndiscvt.8; за
дополнительной информацией.Наконец, соберите и установите модуль драйвера:&prompt.root; make && make installДля использования драйвера необходимо загрузить соответствующие
модули:&prompt.root; kldload ndis
&prompt.root; kldload if_ndisПервая команда загружает оболочку драйвера мини-порта NDIS,
вторая загружает собственно сетевой интерфейс. Проверьте
&man.dmesg.8; на предмет ошибок загрузки. Если все прошло
хорошо, вывод должен быть примерно таким:ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1
ndis0: NDIS API version: 5.0
ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5
ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps
-
+
Начиная с этого момента вы можете использовать устройство
ndis0 как любое другое беспроводное
устройство (например, wi0);
в этой ситуации применима информация, приведенная в начале этой
главы.
-
- Pav
+
+ Pav
- Lucistnik
+ Lucistnik
- Текст предоставил
+ Текст предоставил
-
- pav@FreeBSD.org
-
-
+
+ pav@FreeBSD.org
+
+ BluetoothBluetoothВведениеBluetooth является беспроводной технологией для создания
- персональных сетей на расстоянии не более 10 метров, работающей на
- частоте 2.4 ГГц, которая не подлежит лицензированию. Обычно такие
- сети формируются из портативных устройств, таких, как сотовые телефоны,
- КПК и лэптопы. В отличие от Wi-Fi, другой популярной беспроводной
- технологии, Bluetooth предоставляет более высокий уровень сервиса,
- например, файловые серверы типа FTP, передачу файлов, голоса, эмуляцию
- последовательного порта и другие.
+ персональных сетей на расстоянии не более 10 метров, работающей на
+ частоте 2.4 ГГц, которая не подлежит лицензированию. Обычно такие
+ сети формируются из портативных устройств, таких, как сотовые телефоны,
+ КПК и лэптопы. В отличие от Wi-Fi, другой популярной беспроводной
+ технологии, Bluetooth предоставляет более высокий уровень сервиса,
+ например, файловые серверы типа FTP, передачу файлов, голоса, эмуляцию
+ последовательного порта и другие.
Стек протоколов Bluetooth во &os; реализован на основе технологии
- Netgraph (обратитесь к &man.netgraph.4;). Широкий спектр USB-устройств
- Bluetooth поддерживается драйвером &man.ng.ubt.4;. Устройства
- Bluetooth на основе набора микросхем Broadcom BCM2033 поддерживается
- драйвером &man.ng.bt3c.4;. Устройства Bluetooth, работающие через
- последовательные и UART-порты, поддерживаются драйверами &man.sio.4;,
- &man.ng.h4.4; и &man.hcseriald.8;. В этом разделе описывается
- использование Bluetooth-устройств, подключаемых через USB. Поддержка
- Bluetooth имеется во &os; 5.0 и более новых версиях системы.
+ Netgraph (обратитесь к &man.netgraph.4;). Широкий спектр USB-устройств
+ Bluetooth поддерживается драйвером &man.ng.ubt.4;. Устройства
+ Bluetooth на основе набора микросхем Broadcom BCM2033 поддерживается
+ драйвером &man.ng.bt3c.4;. Устройства Bluetooth, работающие через
+ последовательные и UART-порты, поддерживаются драйверами &man.sio.4;,
+ &man.ng.h4.4; и &man.hcseriald.8;. В этом разделе описывается
+ использование Bluetooth-устройств, подключаемых через USB. Поддержка
+ Bluetooth имеется во &os; 5.0 и более новых версиях системы.
Подключение устройстваПо умолчанию драйверы устройств Bluetooth поставляются в виде
- модулей ядра. Перед подключением устройства вам необходимо подгрузить
- драйвер в ядро:
+ модулей ядра. Перед подключением устройства вам необходимо подгрузить
+ драйвер в ядро:
&prompt.root; kldload ng_ubtЕсли Bluetooth-устройство в момент запуска системы подключено, то
- загружайте модуль из файла
- /boot/loader.conf:
+ загружайте модуль из файла
+ /boot/loader.conf:
ng_ubt_load="YES"Подключите ваше USB-устройство. На консоли (или в журнале
- syslog) появится примерно такое сообщение:
+ syslog) появится примерно такое сообщение:
ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2
ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2
ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3,
wMaxPacketSize=49, nframes=6, buffer size=294Стек протоколов Bluetooth запускается вручную во &os; 6.0, и во
&os; 5.X, перед 5.5. Это делается автоматически через &man.devd.8;
во &os; 5.5, 6.1 и в более новых версиях.Скопируйте файл
- /usr/share/examples/netgraph/bluetooth/rc.bluetooth
- в какое-нибудь подходящее место, например, в файл
- /etc/rc.bluetooth. Этот скрипт используется для
- запуска и остановки работы Bluetooth-стека. Перед отключением
- устройства рекомендуется остановить его работы, хотя (обычно) это не
- фатально. При запуске стека вы получите сообщения, подобные
- следующим:
+ /usr/share/examples/netgraph/bluetooth/rc.bluetooth
+ в какое-нибудь подходящее место, например, в файл
+ /etc/rc.bluetooth. Этот скрипт используется для
+ запуска и остановки работы Bluetooth-стека. Перед отключением
+ устройства рекомендуется остановить его работы, хотя (обычно) это не
+ фатально. При запуске стека вы получите сообщения, подобные
+ следующим:
&prompt.root; /etc/rc.bluetooth start ubt0
BD_ADDR: 00:02:72:00:d4:1a
Features: 0xff 0xff 0xf 00 00 00 00 00
<3-Slot> <5-Slot> <Encryption> <Slot offset>
<Timing accuracy> <Switch> <Hold mode> <Sniff mode>
<Park mode> <RSSI> <Channel quality> <SCO link>
<HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD>
<Paging scheme> <Power control> <Transparent SCO data>
Max. ACL packet size: 192 bytes
Number of ACL packets: 8
Max. SCO packet size: 64 bytes
Number of SCO packets: 8HCIHost Controller Interface (HCI)Host Controller Interface (HCI) предоставляет интерфейс для
- управления контроллером передатчика и менеджером соединений, а также
- доступ к данным о состоянии оборудования и его управляющим регистрам.
- Этот интерфейс предоставляет унифицированный метод доступа к
- передающим возможностям Bluetooth. Уровень HCI на управляющей машине
- обменивается данными и командами с микрокодом HCI в оборудовании
- Bluetooth. Драйвер для Host Controller Transport Layer (то есть
- физической шины) предоставляет обоим слоям HCI возможность обмениваться
- данными друг с другом.
+ управления контроллером передатчика и менеджером соединений, а также
+ доступ к данным о состоянии оборудования и его управляющим регистрам.
+ Этот интерфейс предоставляет унифицированный метод доступа к
+ передающим возможностям Bluetooth. Уровень HCI на управляющей машине
+ обменивается данными и командами с микрокодом HCI в оборудовании
+ Bluetooth. Драйвер для Host Controller Transport Layer (то есть
+ физической шины) предоставляет обоим слоям HCI возможность обмениваться
+ данными друг с другом.
Для одного Bluetooth-устройства создаётся один узел Netgraph типа
- hci. HCI-узел обычно подключается к узлу драйвера
- устройства Bluetooth (входящий поток) и к узлу L2CAP (исходящий поток).
- Все операции с HCI должны выполняться на узле HCI, но не на узле
- драйвера устройства. В качестве имени по умолчанию для узла HCI
- используется devicehci. Дополнительные подробности
- можно найти на справочной странице &man.ng.hci.4;.
+ hci. HCI-узел обычно подключается к узлу драйвера
+ устройства Bluetooth (входящий поток) и к узлу L2CAP (исходящий поток).
+ Все операции с HCI должны выполняться на узле HCI, но не на узле
+ драйвера устройства. В качестве имени по умолчанию для узла HCI
+ используется devicehci. Дополнительные подробности
+ можно найти на справочной странице &man.ng.hci.4;.
Одной из самой часто выполняемой задач является обнаружение
- Bluetooth-устройств в радиусе RF-доступности. Эта операция называется
- опросом (inquiry). Опрос и другие операции,
- связанные с HCI, выполняются при помощи утилиты &man.hccontrol.8;.
- Пример ниже показывает, как найти доступные устройства Bluetooth.
- Список таких устройств должен быть получен в течение нескольких секунд.
- Заметьте, что удалённые устройства будут отвечать на опрос, если только
- они находятся в режиме обнаруживаемости
- (discoverable).
+ Bluetooth-устройств в радиусе RF-доступности. Эта операция называется
+ опросом (inquiry). Опрос и другие операции,
+ связанные с HCI, выполняются при помощи утилиты &man.hccontrol.8;.
+ Пример ниже показывает, как найти доступные устройства Bluetooth.
+ Список таких устройств должен быть получен в течение нескольких секунд.
+ Заметьте, что удалённые устройства будут отвечать на опрос, если только
+ они находятся в режиме обнаруживаемости
+ (discoverable).
&prompt.user; hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
BD_ADDR: 00:80:37:29:19:a4
Page Scan Rep. Mode: 0x1
Page Scan Period Mode: 00
Page Scan Mode: 00
Class: 52:02:04
Clock offset: 0x78ef
Inquiry complete. Status: No error [00]BD_ADDR является уникальным адресом устройства
- Bluetooth, вроде MAC-адресов сетевых адаптеров. Этот адрес необходим
- для дальнейшей работы с устройством. Адресу BD_ADDR можно присвоить
- удобное для чтения имя. Файл /etc/bluetooth/hosts
- содержит информацию об известных хостах Bluetooth. В следующем примере
- показано, как получить имя, назначенное удалённому устройству:
+ Bluetooth, вроде MAC-адресов сетевых адаптеров. Этот адрес необходим
+ для дальнейшей работы с устройством. Адресу BD_ADDR можно присвоить
+ удобное для чтения имя. Файл /etc/bluetooth/hosts
+ содержит информацию об известных хостах Bluetooth. В следующем примере
+ показано, как получить имя, назначенное удалённому устройству:
&prompt.user; hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4
BD_ADDR: 00:80:37:29:19:a4
Name: Pav's T39Если вы выполните опрос на другом Bluetooth-устройстве, но ваш
- компьютер будет опознан как your.host.name (ubt0).
- Имя, назначаемое локальному устройству, может быть в любой момент
- изменено.
+ компьютер будет опознан как your.host.name (ubt0).
+ Имя, назначаемое локальному устройству, может быть в любой момент
+ изменено.
Система Bluetooth предоставляет услуги по соединениям типа
- точка-точка (при этом задействованы только два устройства Bluetooth)
- или точка-ко-многим-точкам. В последнем случае соединение используется
- совместно несколькими устройствам Bluetooth. В следующем примере
- показывается, как получить список активных для локального устройства
- соединений:
+ точка-точка (при этом задействованы только два устройства Bluetooth)
+ или точка-ко-многим-точкам. В последнем случае соединение используется
+ совместно несколькими устройствам Bluetooth. В следующем примере
+ показывается, как получить список активных для локального устройства
+ соединений:
&prompt.user; hccontrol -n ubt0hci read_connection_list
Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State
00:80:37:29:19:a4 41 ACL 0 MAST NONE 0 0 OPENИдентификатор соединения (connection handle)
- полезен, когда необходимо прекратить соединение. Заметьте, что обычно
- нет нужды делать это вручную. Стек будет автоматически разрывать
- неактивные соединения.
+ полезен, когда необходимо прекратить соединение. Заметьте, что обычно
+ нет нужды делать это вручную. Стек будет автоматически разрывать
+ неактивные соединения.
&prompt.root; hccontrol -n ubt0hci disconnect 41
Connection handle: 41
Reason: Connection terminated by local host [0x16]Обратитесь к помощи посредством hccontrol help
- для получения полного списка доступных HCI-команд. Большинство команд
- HCI для выполнения не требуют прав администратора системы.
+ для получения полного списка доступных HCI-команд. Большинство команд
+ HCI для выполнения не требуют прав администратора системы.
L2CAPLogical Link Control and Adaptation Protocol (L2CAP)Протокол L2CAP (Logical Link Control and Adaptation Protocol)
- предоставляет услуги по работе с данными, как ориентированные на
- соединения, так и без ориентации на них, протоколам более высокого
- уровня с возможностями мультиплексирования и обеспечением операций по
- сегментации и обратной сборке. L2CAP позволяет протоколам более
- высокого уровня и приложениям передавать и получать пакеты данных
- L2CAP длиной до 64 Кбайт.
+ предоставляет услуги по работе с данными, как ориентированные на
+ соединения, так и без ориентации на них, протоколам более высокого
+ уровня с возможностями мультиплексирования и обеспечением операций по
+ сегментации и обратной сборке. L2CAP позволяет протоколам более
+ высокого уровня и приложениям передавать и получать пакеты данных
+ L2CAP длиной до 64 Кбайт.
L2CAP основан на концепции каналов. Каналом
- является логическое соединение поверх соединения по радиоканалу.
- Каждый канал привязан к некоторому протоколу по принципу
- многие-к-одному. Несколько каналов могут быть привязаны к одному и
- тому же протоколу, но канал не может быть привязан к нескольким
- протоколам. Каждый пакет L2CAP, получаемый каналом, перенаправляется
- к соответствующему протоколу более высокого уровня. Несколько каналов
- могут совместно использовать одно и то же радиосоединение.
+ является логическое соединение поверх соединения по радиоканалу.
+ Каждый канал привязан к некоторому протоколу по принципу
+ многие-к-одному. Несколько каналов могут быть привязаны к одному и
+ тому же протоколу, но канал не может быть привязан к нескольким
+ протоколам. Каждый пакет L2CAP, получаемый каналом, перенаправляется
+ к соответствующему протоколу более высокого уровня. Несколько каналов
+ могут совместно использовать одно и то же радиосоединение.
Для одного Bluetooth-устройства создается один узел Netgraph типа
- l2cap. Узел L2CAP обычно подключается к узлу
- Bluetooth HCI (нижестоящий) и узлам Bluetooth-сокетов (вышестоящие).
- По умолчанию для узла L2CAP используется имя
- devicel2cap. Для получения дополнительной информации
- обратитесь к справочной странице по &man.ng.l2cap.4;.
+ l2cap. Узел L2CAP обычно подключается к узлу
+ Bluetooth HCI (нижестоящий) и узлам Bluetooth-сокетов (вышестоящие).
+ По умолчанию для узла L2CAP используется имя
+ devicel2cap. Для получения дополнительной информации
+ обратитесь к справочной странице по &man.ng.l2cap.4;.
Полезной является программа &man.l2ping.8;, которая может
- использоваться для проверки связи с другими устройствами. Некоторые
- реализации Bluetooth могут не возвращать все данные, посылаемые им,
- так что 0 bytes в следующем примере - это
- нормально.
+ использоваться для проверки связи с другими устройствами. Некоторые
+ реализации Bluetooth могут не возвращать все данные, посылаемые им,
+ так что 0 bytes в следующем примере - это
+ нормально.
&prompt.root; l2ping -a 00:80:37:29:19:a4
0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0
0 bytes from 0:80:37:29:19:a4 seq_no=1 time=37.551 ms result=0
0 bytes from 0:80:37:29:19:a4 seq_no=2 time=28.324 ms result=0
0 bytes from 0:80:37:29:19:a4 seq_no=3 time=46.150 ms result=0Утилита &man.l2control.8; используется для выполнения различных
- операций с узлами L2CAP. В этом примере показано, как получить список
- логических соединений (каналов) и перечень радиосоединений локального
- устройства:
+ операций с узлами L2CAP. В этом примере показано, как получить список
+ логических соединений (каналов) и перечень радиосоединений локального
+ устройства:
&prompt.user; l2control -a 00:02:72:00:d4:1a read_channel_list
L2CAP channels:
Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State
00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN
&prompt.user; l2control -a 00:02:72:00:d4:1a read_connection_list
L2CAP connections:
Remote BD_ADDR Handle Flags Pending State
00:07:e0:00:0b:ca 41 O 0 OPENЕщё одним диагностическим инструментом является &man.btsockstat.1;.
- Она выполняет действия, подобные тем, что обычно выполняет
- &man.netstat.1;, но со структурами данных, связанных с работой в сети
- Bluetooth. В примере ниже описывается то же самое логическое
- соединение, что и с &man.l2control.8; выше.
+ Она выполняет действия, подобные тем, что обычно выполняет
+ &man.netstat.1;, но со структурами данных, связанных с работой в сети
+ Bluetooth. В примере ниже описывается то же самое логическое
+ соединение, что и с &man.l2control.8; выше.
&prompt.user; btsockstat
Active L2CAP sockets
PCB Recv-Q Send-Q Local address/PSM Foreign address CID State
c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN
Active RFCOMM sessions
L2PCB PCB Flag MTU Out-Q DLCs State
c2afe900 c2b53380 1 127 0 Yes OPEN
Active RFCOMM sockets
PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State
c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPENRFCOMMПротокол RFCOMMПротокол RFCOMM эмулирует последовательные порты поверх протокола
- L2CAP. Он основан на ETSI-стандарте TS 07.10. RFCOMM представляет
- собой простой транспортный протокол, с дополнительными возможностями по
- эмуляции 9 цепей последовательных портов RS-232 (EIATIA-232-E).
- Протокол RFCOMM поддерживает одновременно до 60 соединений (каналов
- RFCOMM) между двумя устройствами Bluetooth.
+ L2CAP. Он основан на ETSI-стандарте TS 07.10. RFCOMM представляет
+ собой простой транспортный протокол, с дополнительными возможностями по
+ эмуляции 9 цепей последовательных портов RS-232 (EIATIA-232-E).
+ Протокол RFCOMM поддерживает одновременно до 60 соединений (каналов
+ RFCOMM) между двумя устройствами Bluetooth.
В рамках RFCOMM полный коммуникационный маршрут включает два
- приложения, работающие на разных устройствах (конечные коммуникационные
- точки) с коммуникационным сегментом между ними. RFCOMM предназначен
- для сокрытия приложений, использующих последовательные порты устройств,
- в которых они расположены. Коммуникационный сегмент по сути является
- Bluetooth-связью от одного устройства к другому (прямое
- соединение).
+ приложения, работающие на разных устройствах (конечные коммуникационные
+ точки) с коммуникационным сегментом между ними. RFCOMM предназначен
+ для сокрытия приложений, использующих последовательные порты устройств,
+ в которых они расположены. Коммуникационный сегмент по сути является
+ Bluetooth-связью от одного устройства к другому (прямое
+ соединение).
RFCOMM имеет дело с соединением между устройствами в случае прямого
- соединения, или между устройством и модемом в сетевом случае. RFCOMM
- может поддерживать и другие конфигурации, такие, как модули, работающие
- через беспроводную технологию Bluetooth с одной стороны и
- предоставляющие проводное соединение с другой стороны.
+ соединения, или между устройством и модемом в сетевом случае. RFCOMM
+ может поддерживать и другие конфигурации, такие, как модули, работающие
+ через беспроводную технологию Bluetooth с одной стороны и
+ предоставляющие проводное соединение с другой стороны.
Во &os; протокол RFCOMM реализован на уровне сокетов
- Bluetooth.
+ Bluetooth.
pairingPairing of DevicesПо умолчанию связь Bluetooth не аутентифицируется, поэтому любое
- устройство может общаться с любым другим. Устройство Bluetooth
- (например, сотовый телефон) может задать обязательность аутентификации
- для предоставления определённого сервиса (в частности, услугу доступа
- по коммутируемой линии). Bluetooth-аутентификация обычно выполняется
- через PIN-коды. PIN-код представляет из себя
- ASCII-строку длиной до 16 символов. Пользователь обязан ввести один и
- тот же PIN-код на обоих устройствах. Как только он введёт PIN-код,
- оба устройства сгенерируют ключ связи. После
- этого ключ может быть сохранён либо в самом устройстве, либо на
- постоянном носителе. В следующий раз оба устройства будут использовать
- ранее сгенерированный ключ соединения. Процедура, описанная выше,
- носит название подгонки пары (pairing). Заметьте,
- что если ключ связи потерян любой из сторон, то подбор пары должен быть
- повторен.
+ устройство может общаться с любым другим. Устройство Bluetooth
+ (например, сотовый телефон) может задать обязательность аутентификации
+ для предоставления определённого сервиса (в частности, услугу доступа
+ по коммутируемой линии). Bluetooth-аутентификация обычно выполняется
+ через PIN-коды. PIN-код представляет из себя
+ ASCII-строку длиной до 16 символов. Пользователь обязан ввести один и
+ тот же PIN-код на обоих устройствах. Как только он введёт PIN-код,
+ оба устройства сгенерируют ключ связи. После
+ этого ключ может быть сохранён либо в самом устройстве, либо на
+ постоянном носителе. В следующий раз оба устройства будут использовать
+ ранее сгенерированный ключ соединения. Процедура, описанная выше,
+ носит название подгонки пары (pairing). Заметьте,
+ что если ключ связи потерян любой из сторон, то подбор пары должен быть
+ повторен.
За обработку всех запросов на Bluetooth-аутентификацию отвечает
- даемон &man.hcsecd.8;. По умолчанию файл конфигурации называется
- /etc/bluetooth/hcsecd.conf. Пример раздела,
- содержащего информацию о сотовом телефоне с явно заданным PIN-кодом
- 1234 приведен ниже:
+ даемон &man.hcsecd.8;. По умолчанию файл конфигурации называется
+ /etc/bluetooth/hcsecd.conf. Пример раздела,
+ содержащего информацию о сотовом телефоне с явно заданным PIN-кодом
+ 1234 приведен ниже:
device {
bdaddr 00:80:37:29:19:a4;
name "Pav's T39";
key nokey;
pin "1234";
}Кроме длины, на PIN-коды не накладывается никаких ограничений.
- Некоторые устройства (например, Bluetooth-гарнитуры) могут иметь
- фиксированный встроенный PIN-код. Параметр
- позволяет запустить &man.hcsecd.8; как нефоновый процесс, что облегчает
- просмотр происходящих событий. Задайте получение парного ключа на
- удалённом устройстве и инициируйте Bluetooth-соединение с этим
- устройством. Удалённое устройство должно подтвердить получение пары и
- запросить PIN-код. Введите тот же самый код, что находится в
- hcsecd.conf. Теперь ваш ПК и удалённое устройство
- спарены. Альтернативным способом является инициация процесса создания
- пары на удалённом устройстве.
+ Некоторые устройства (например, Bluetooth-гарнитуры) могут иметь
+ фиксированный встроенный PIN-код. Параметр
+ позволяет запустить &man.hcsecd.8; как нефоновый процесс, что облегчает
+ просмотр происходящих событий. Задайте получение парного ключа на
+ удалённом устройстве и инициируйте Bluetooth-соединение с этим
+ устройством. Удалённое устройство должно подтвердить получение пары и
+ запросить PIN-код. Введите тот же самый код, что находится в
+ hcsecd.conf. Теперь ваш ПК и удалённое устройство
+ спарены. Альтернативным способом является инициация процесса создания
+ пары на удалённом устройстве.
Во &os; 5.5, 6.1 и в более новых, следующая строка может быть
добавлена к /etc/rc.conf, чтобы
hcsecd запускался автоматически во время старта
системы:hcsecd_enable="YES"Ниже даётся пример выдачи протокола
- команды hcsecd:
+ команды hcsecd:
hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4
hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', link key doesn't exist
hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4
hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4
hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists
hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4SDPService Discovery Protocol (SDP)Протокол обнаружения сервисов SDP даёт возможность клиентским
- приложениям осуществлять поиск услуг, предоставляемых серверными
- приложениями, а также характеристик этих услуг. В перечень атрибутов
- сервиса включается тип класса предлагаемого сервиса и информация о
- механизме или протоколе, требуемом для использования сервиса.
+ приложениям осуществлять поиск услуг, предоставляемых серверными
+ приложениями, а также характеристик этих услуг. В перечень атрибутов
+ сервиса включается тип класса предлагаемого сервиса и информация о
+ механизме или протоколе, требуемом для использования сервиса.
SDP подразумевает коммуникации между SDP-сервером и SDP-клиентом.
- Сервер поддерживает список сервисов, в котором описываются параметры
- сервисов, связанных с сервером. Каждая запись об услуге содержит
- информацию об одном сервисе. Клиент может запросить информацию об
- определённом сервисе, обслуживаемом SDP-сервером, выдавая SDP-запрос.
- Если клиент или приложение, связанное с клиентом, решат воспользоваться
- сервисом, то для его использования необходимо открыть отдельное
- соединение к устройству, предоставляющему сервис. SDP предоставляет
- механизм обнаружения услуг и их параметров, но не даёт механизма
- использования этих сервисов.
+ Сервер поддерживает список сервисов, в котором описываются параметры
+ сервисов, связанных с сервером. Каждая запись об услуге содержит
+ информацию об одном сервисе. Клиент может запросить информацию об
+ определённом сервисе, обслуживаемом SDP-сервером, выдавая SDP-запрос.
+ Если клиент или приложение, связанное с клиентом, решат воспользоваться
+ сервисом, то для его использования необходимо открыть отдельное
+ соединение к устройству, предоставляющему сервис. SDP предоставляет
+ механизм обнаружения услуг и их параметров, но не даёт механизма
+ использования этих сервисов.
Обычно SDP-клиент выполняет поиск услуг на основе некоторых
- желаемых характеристик услуг. Однако иногда возникает необходимость
- выяснить полный перечень типов услуг, предоставляемых SDP-сервером,
- не имея никакой информации об имеющихся сервисах. Такой процесс
- всех предлагаемых сервисов называется обзором
- (browsing).
+ желаемых характеристик услуг. Однако иногда возникает необходимость
+ выяснить полный перечень типов услуг, предоставляемых SDP-сервером,
+ не имея никакой информации об имеющихся сервисах. Такой процесс
+ всех предлагаемых сервисов называется обзором
+ (browsing).
Bluetooth SDP сервер &man.sdpd.8; и клиент с интерфейсом
командной строки &man.sdpcontrol.8; включены в стандартную поставку
&os;. В следующем примере показано, как выполнять
- запрос на SDP-обзор.
+ запрос на SDP-обзор.
&prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec browse
Record Handle: 00000000
Service Class ID List:
Service Discovery Server (0x1000)
Protocol Descriptor List:
L2CAP (0x0100)
Protocol specific parameter #1: u/int/uuid16 1
Protocol specific parameter #2: u/int/uuid16 1
Record Handle: 0x00000001
Service Class ID List:
Browse Group Descriptor (0x1001)
Record Handle: 0x00000002
Service Class ID List:
LAN Access Using PPP (0x1102)
Protocol Descriptor List:
L2CAP (0x0100)
RFCOMM (0x0003)
Protocol specific parameter #1: u/int8/bool 1
Bluetooth Profile Descriptor List:
LAN Access Using PPP (0x1102) ver. 1.0
... и так далее. Заметьте, что каждый сервис имеет перечень
- атрибутов (например, канал RFCOMM). В зависимости от сервиса вам может
- потребоваться где-то сохранить эти атрибуты. Некоторые реализации
- Bluetooth не поддерживают просмотр сервисов и могут возвращать пустой
- список. В этом случае возможен поиск конкретной услуги. В примере
- ниже показано, как выполнить поиск службы OBEX Object Push
- (OPUSH):
+ атрибутов (например, канал RFCOMM). В зависимости от сервиса вам может
+ потребоваться где-то сохранить эти атрибуты. Некоторые реализации
+ Bluetooth не поддерживают просмотр сервисов и могут возвращать пустой
+ список. В этом случае возможен поиск конкретной услуги. В примере
+ ниже показано, как выполнить поиск службы OBEX Object Push
+ (OPUSH):
&prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec search OPUSHВо &os; предоставление сервисов клиентам Bluetooth осуществляется
- сервером &man.sdpd.8;. Во &os; 5.5, 6.1 и в более новых, следующая строка
+ сервером &man.sdpd.8;. Во &os; 5.5, 6.1 и в более новых, следующая строка
может быть добавлена в файл /etc/rc.conf:sdpd_enable="YES"После этого sdpd даемон может быть запущен
с помощью:&prompt.root; /etc/rc.d/sdpd startВо &os; 6.0, и во &os; 5.X перед 5.5,
sdpd не интегрирован в скрипты загрузки
- системы. Он должен запускаться автоматически командой:
+ системы. Он должен запускаться автоматически командой:
&prompt.root; sdpdПриложение на локальном сервере, желающее предоставить сервис
Bluetooth удаленным клиентам, регистрирует сервис через локального
даемона SDP. Пример такого приложения — &man.rfcomm.pppd.8;.
После запуска оно регистрирует Bluetooth LAN сервис через локального
даемона SDP.Список сервисов, зарегистрированных через локальный SDP сервер,
может быть получен путем выдачи запроса на просмотр SDP через
локальный контрольный канал:&prompt.root; sdpcontrol -l browseДоступ к сети по коммутируемой линии связи (DUN) и по протоколу
- PPP (LAN)
+ PPP (LAN)
Модуль работы с коммутируемым доступом к сети (DUN - Dial-Up
- Networking) в большинстве случаев используется с модемами и сотовыми
- телефонами. Этот модуль покрывает следующие случаи:
+ Networking) в большинстве случаев используется с модемами и сотовыми
+ телефонами. Этот модуль покрывает следующие случаи:
-
- сотовый телефон или модем используется вместе с компьютером
- в качестве беспроводного модема для подключения к серверу
- коммутируемого доступа в Интернет, или другой коммутируемой
- услуге;
-
-
-
- сотовый телефон или модем используется компьютером для приёма
- входящих соединений.
-
+
+ сотовый телефон или модем используется вместе с компьютером
+ в качестве беспроводного модема для подключения к серверу
+ коммутируемого доступа в Интернет, или другой коммутируемой
+ услуге;
+
+
+
+ сотовый телефон или модем используется компьютером для приёма
+ входящих соединений.
+ Модуль доступа к сети по протоколу PPP (Network Access with
- PPP - LAN) может использоваться в следующих ситуациях:
+ PPP - LAN) может использоваться в следующих ситуациях:
-
- доступ к ЛВС для одного Bluetooth-устройства;
-
-
-
- доступ к ЛВС для нескольких Bluetooth-устройств;
-
-
-
- связь между двумя ПК (при помощи протокола PPP поверх
- эмулируемого последовательного канала связи).
-
+
+ доступ к ЛВС для одного Bluetooth-устройства;
+
+
+
+ доступ к ЛВС для нескольких Bluetooth-устройств;
+
+
+
+ связь между двумя ПК (при помощи протокола PPP поверх
+ эмулируемого последовательного канала связи).
+ Во &os; оба случая реализуются при помощи сервисных программ
- &man.ppp.8; и &man.rfcomm.pppd.8; - это обработчик, преобразующий
- RFCOMM-соединения Bluetooth в нечто, с чем может работать PPP. Перед
- тем, как использовать любой модуль, в файле
- /etc/ppp/ppp.conf должна быть создана новая
- PPP-метка. Примеры использования можно найти в справочной странице к
- &man.rfcomm.pppd.8;.
+ &man.ppp.8; и &man.rfcomm.pppd.8; - это обработчик, преобразующий
+ RFCOMM-соединения Bluetooth в нечто, с чем может работать PPP. Перед
+ тем, как использовать любой модуль, в файле
+ /etc/ppp/ppp.conf должна быть создана новая
+ PPP-метка. Примеры использования можно найти в справочной странице к
+ &man.rfcomm.pppd.8;.
В следующем примере &man.rfcomm.pppd.8; будет использоваться для
- открытия RFCOMM-соединения к удалённому устройству с BD_ADDR
- 00:80:37:29:19:a4 на DUN RFCOMM-канале. Реальный номер RFCOMM-канала
- будет получаться с удалённого устройства через SDP. Возможно указать
- RFCOMM-канал вручную, и в этом случае &man.rfcomm.pppd.8; не будет
- выполнять SDP-запрос. Для нахождения RFCOMM-канала на удалённом
- устройстве используйте утилиту &man.sdpcontrol.8;.
+ открытия RFCOMM-соединения к удалённому устройству с BD_ADDR
+ 00:80:37:29:19:a4 на DUN RFCOMM-канале. Реальный номер RFCOMM-канала
+ будет получаться с удалённого устройства через SDP. Возможно указать
+ RFCOMM-канал вручную, и в этом случае &man.rfcomm.pppd.8; не будет
+ выполнять SDP-запрос. Для нахождения RFCOMM-канала на удалённом
+ устройстве используйте утилиту &man.sdpcontrol.8;.
&prompt.root; rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialupДля того, чтобы организовать сервис Network Access with PPP (LAN),
- необходимо запустить сервер &man.sdpd.8;. В файле
- /etc/ppp/ppp.conf должна быть создана новая запись
- для клиентов LAN. Примеры можно найти в справке по
- &man.rfcomm.pppd.8;. Наконец, запустите RFCOMM PPP сервер на
+ необходимо запустить сервер &man.sdpd.8;. В файле
+ /etc/ppp/ppp.conf должна быть создана новая запись
+ для клиентов LAN. Примеры можно найти в справке по
+ &man.rfcomm.pppd.8;. Наконец, запустите RFCOMM PPP сервер на
существующем номере канала RFCOMM. Сервер RFCOMM PPP автоматически
зарегистрирует Bluetooth LAN сервис через локальный SDP даемон.
В примере ниже показано, как запустить сервер RFCOMM PPP.&prompt.root; rfcomm_pppd -s -C 7 -l rfcomm-serverOBEXOBEX Object Push (OPUSH) ProfileOBEX является широко используемым протоколом для простой передачи
- файлов между мобильными устройствами. В основном он используется в
- коммуникациях через инфракрасный порт для передачи файлов между
- ноутбуками или КПК, а также для пересылки визитных
- карточек или календарных планов между сотовыми телефонами и
- другими устройствами с персональными информационными
- менеджерами.
+ файлов между мобильными устройствами. В основном он используется в
+ коммуникациях через инфракрасный порт для передачи файлов между
+ ноутбуками или КПК, а также для пересылки визитных
+ карточек или календарных планов между сотовыми телефонами и
+ другими устройствами с персональными информационными
+ менеджерами.
Сервер и клиент OBEX реализованы в виде пакета стороннего
- разработчика obexapp, который доступен
+ разработчика obexapp, который доступен
в виде порта comms/obexapp.Клиент OBEX используется для посылки или приёма объектов с сервера
- OBEX. Объектом, к примеру, может быть визитная карточка или
- указание. Клиент OBEX может получить номер RFCOMM-канала, указав
- вместо него имя сервиса. Поддерживаются следующие имена сервиса: IrMC,
- FTRN и OPUSH. Канал RFCOMM можно задать его номером. Ниже даётся
- пример сеанса OBEX, где с сотового телефона забирается объект с
- информацией об устройстве, а новый объект (визитная карточка)
- передаётся в каталог сотового телефона.
+ OBEX. Объектом, к примеру, может быть визитная карточка или
+ указание. Клиент OBEX может получить номер RFCOMM-канала, указав
+ вместо него имя сервиса. Поддерживаются следующие имена сервиса: IrMC,
+ FTRN и OPUSH. Канал RFCOMM можно задать его номером. Ниже даётся
+ пример сеанса OBEX, где с сотового телефона забирается объект с
+ информацией об устройстве, а новый объект (визитная карточка)
+ передаётся в каталог сотового телефона.
&prompt.user; obexapp -a 00:80:37:29:19:a4 -C IrMC
obex> get telecom/devinfo.txt devinfo-t39.txt
Success, response: OK, Success (0x20)
obex> put new.vcf
Success, response: OK, Success (0x20)
obex> di
Success, response: OK, Success (0x20)Для того, чтобы предоставить сервис OBEX Push, должен быть запущен
сервер &man.sdpd.8;. Должен быть создан
- корневой каталог, в котором будут сохраняться все поступающие объекты.
- По умолчанию корневым каталогом является
+ корневой каталог, в котором будут сохраняться все поступающие объекты.
+ По умолчанию корневым каталогом является
/var/spool/obex. Наконец, запустите OBEX
сервер на существующем номере канала RFCOMM. OBEX сервер
автоматически зарегистрирует сервис OBEX Object Push через локального
даемона SDP. В примере ниже показано, как запустить
- OBEX-сервер.
+ OBEX-сервер.
&prompt.root; obexapp -s -C 10Профиль последовательного порта (SPP)Профиль последовательного порта (SPP - Serial Port Profile) позволяет
- Bluetooth-устройствам осуществлять эмуляцию последовательного порта
- RS232 (или подобного). Этот профиль покрывает случаи, касающиеся
- работы унаследованных приложений с Bluetooth в качестве замены
- кабельному соединению, при это используется абстракция виртуального
- последовательного порта.
+ Bluetooth-устройствам осуществлять эмуляцию последовательного порта
+ RS232 (или подобного). Этот профиль покрывает случаи, касающиеся
+ работы унаследованных приложений с Bluetooth в качестве замены
+ кабельному соединению, при это используется абстракция виртуального
+ последовательного порта.
Утилита &man.rfcomm.sppd.1; реализует профиль
последовательного порта. В качестве виртуального последовательного порта
- используется псевдотерминал. В примере ниже показано, как подключиться
- к сервису Serial Port удалённого устройства. Заметьте, что вы не
- указываете RFCOMM-канал - &man.rfcomm.sppd.1; может получить его с
- удалённого устройства через SDP. Если вы хотите переопределить это,
- укажите RFCOMM-канал явно в командной строке.
+ используется псевдо-терминал. В примере ниже показано, как подключиться
+ к сервису Serial Port удалённого устройства. Заметьте, что вы не
+ указываете RFCOMM-канал - &man.rfcomm.sppd.1; может получить его с
+ удалённого устройства через SDP. Если вы хотите переопределить это,
+ укажите RFCOMM-канал явно в командной строке.
&prompt.root; rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6
rfcomm_sppd[94692]: Starting on /dev/ttyp6...
- После подключения псевдотерминал можно использовать как
- последовательный порт:
+ После подключения псевдо-терминал можно использовать как
+ последовательный порт:&prompt.root; cu -l ttyp6Решение проблем
- Удалённое устройство не подключается
-
- Некоторые старые Bluetooth-устройства не поддерживают
- переключение ролей. По умолчанию, когда &os; подтверждает новое
- соединение, она пытается выполнить переключение роли и стать ведущим
- устройством. Устройства, которые это не поддерживают, не смогут
- подключиться. Заметьте, что переключение ролей выполняется при
- установлении нового соединения, поэтому невозможно выяснить,
- поддерживает ли удалённое устройство переключение ролей. На
- локальной машине имеется возможность отключить переключение ролей при
- помощи HCI-параметра:
-
- &prompt.root; hccontrol -n ubt0hci write_node_role_switch 0
+ Удалённое устройство не подключается
+
+ Некоторые старые Bluetooth-устройства не поддерживают
+ переключение ролей. По умолчанию, когда &os; подтверждает новое
+ соединение, она пытается выполнить переключение роли и стать ведущим
+ устройством. Устройства, которые это не поддерживают, не смогут
+ подключиться. Заметьте, что переключение ролей выполняется при
+ установлении нового соединения, поэтому невозможно выяснить,
+ поддерживает ли удалённое устройство переключение ролей. На
+ локальной машине имеется возможность отключить переключение ролей при
+ помощи HCI-параметра:
+
+ &prompt.root; hccontrol -n ubt0hci write_node_role_switch 0
- Что-то идёт не так, можно ли посмотреть, что в точности
- происходит?
+ Что-то идёт не так, можно ли посмотреть, что в точности
+ происходит?
- Да, можно. Воспользуйтесь пакетом стороннего разработчика,
+ Да, можно. Воспользуйтесь пакетом стороннего разработчика,
hcidump который доступен в виде порта
comms/hcidump. Утилита
- hcidump похожа на &man.tcpdump.1;. Она
- может быть использована для вывода на терминал содержимого
- Bluetooth-пакетов и сбрасывать пакеты Bluetooth в файл.
+ hcidump похожа на &man.tcpdump.1;. Она
+ может быть использована для вывода на терминал содержимого
+ Bluetooth-пакетов и сбрасывать пакеты Bluetooth в файл.
-
- Steve
- Peterson
- Текст создал
-
+
+ Steve
+ Peterson
+ Текст создал
+ МостыВведениеподсеть IPсетевой мостИногда полезно разделить одну физическую сеть (такую, как
- сегмент Ethernet) на два отдельных сегмента сети без необходимости
- создания подсетей IP и использования маршрутизатора для соединения
- сегментов. Устройство, которое соединяет две сети на такой манер,
- называется сетевым мостом (bridge).
- Система FreeBSD с двумя сетевыми адаптерами может выступать в роли
- моста.
+ сегмент Ethernet) на два отдельных сегмента сети без необходимости
+ создания подсетей IP и использования маршрутизатора для соединения
+ сегментов. Устройство, которое соединяет две сети на такой манер,
+ называется сетевым мостом (bridge).
+ Система FreeBSD с двумя сетевыми адаптерами может выступать в роли
+ моста.
Мост работает на основе изучения адресов уровня MAC (адресов
- Ethernet) устройств на каждом из своих сетевых интерфейсах.
- Он перенаправляет трафик между двумя сетями, только когда адреса
- отправителя и получателя находятся в разных сетях.
+ Ethernet) устройств на каждом из своих сетевых интерфейсах.
+ Он перенаправляет трафик между двумя сетями, только когда адреса
+ отправителя и получателя находятся в разных сетях.
По многим параметрам мост работает также, как коммутатор Ethernet
- с малым количеством портов.
+ с малым количеством портов.
Ситуации, когда можно использовать мостыНа сегодняшний день есть две ситуации, когда можно использовать
- мост.
+ мост.
- Большой трафик в сегменте
+ Большой трафик в сегменте
- Первая ситуация возникает, когда ваша физическая сеть перегружена
+ Первая ситуация возникает, когда ваша физическая сеть перегружена
трафиком, но по каким-то соображениям вы не хотите разделять сеть
на подсети и соединять их с помощью маршрутизатора.
- Давайте рассмотрим в качестве примера газету, в которой
+ Давайте рассмотрим в качестве примера газету, в которой
редакторский и производственный отделы находятся в одной и той же
подсети. Пользователи в редакторском отделе все используют сервер
- A для служб доступа к файлам, а пользователи
- производственного отдела используют сервер B. Для
- объединения всех пользователей используется сеть Ethernet, а высокая
- нагрузка на сеть замедляет работу.
+ A для служб доступа к файлам, а пользователи
+ производственного отдела используют сервер B. Для
+ объединения всех пользователей используется сеть Ethernet, а высокая
+ нагрузка на сеть замедляет работу.
- Если пользователи редакторского отдела могут быть собраны в
+ Если пользователи редакторского отдела могут быть собраны в
одном сегменте сети, а пользователи производственного отдела в
другом, то два сетевых сегмента можно объединить мостом. Только
сетевой трафик, предназначенный для интерфейсов с
- другой стороны моста, будет посылаться в другую сеть,
- тем самым снижая уровень нагрузки на каждый сегмент сети.
+ другой стороны моста, будет посылаться в другую сеть,
+ тем самым снижая уровень нагрузки на каждый сегмент сети.
- Сетевой экран с возможностями фильтрации/ограничения
+ Сетевой экран с возможностями фильтрации/ограничения
пропускной способности трафика
- сетевой экран
+ сетевой экран
- NAT
+ NAT
- Второй распространённой ситуацией является необходимость в
+ Второй распространённой ситуацией является необходимость в
обеспечении функций сетевого экрана без трансляции
сетевых адресов (NAT).
- Для примера можно взять маленькую компанию, которая подключена
+ Для примера можно взять маленькую компанию, которая подключена
к своему провайдеру по каналу DSL или ISDN. Для неё провайдер
- выделил 13 глобально доступных IP-адресов для имеющихся в сети 10
- персональных компьютеров. В такой ситуации использование сетевого
- экрана на основе маршрутизатора затруднено из-за проблем с
- разделением на подсети.
-
- маршрутизатор
- DSL
- ISDN
- Брандмауэр на основе моста может быть настроен и включен
+ выделил 13 глобально доступных IP-адресов для имеющихся в сети 10
+ персональных компьютеров. В такой ситуации использование сетевого
+ экрана на основе маршрутизатора затруднено из-за проблем с
+ разделением на подсети.
+
+ маршрутизатор
+ DSL
+ ISDN
+ Брандмауэр на основе моста может быть настроен и включен
между маршрутизаторами DSL/ISDN без каких-либо проблем с
IP-адресацией.Настройка моста
- Выбор сетевого адаптера
+ Выбор сетевого адаптера
- Для работы моста требуются по крайней мере два сетевых адаптера.
+ Для работы моста требуются по крайней мере два сетевых адаптера.
К сожалению, не все сетевые адаптеры во FreeBSD 4.0 поддерживают
функции моста. Прочтите страницу Справочника по &man.bridge.4; для
выяснения подробностей о поддерживаемых адаптерах.
- Перед тем, как продолжить, сначала установите и протестируйте
+ Перед тем, как продолжить, сначала установите и протестируйте
два сетевых адаптера.
- Изменения в конфигурации ядра
+ Изменения в конфигурации ядра
-
- параметры ядра
+
+ параметры ядра
- BRIDGE
-
+ BRIDGE
+
- Для включения поддержки функций сетевого моста в ядре, добавьте
+ Для включения поддержки функций сетевого моста в ядре, добавьте
строчку
- options BRIDGE
+ options BRIDGE
- в файл конфигурации вашего ядра, и перестройте ядро.
+ в файл конфигурации вашего ядра, и перестройте ядро.
- Поддержка функций брандмауэра
+ Поддержка функций брандмауэра
- брандмауэр
+ брандмауэр
- Если вы планируете использовать мост в качестве
+ Если вы планируете использовать мост в качестве
брандмауэра, вам нужно также добавить опцию
IPFIREWALL.
- Прочтите , содержащую общую
- информацию о настройке моста в качестве брандмауэра.
+ Прочтите , содержащую общую
+ информацию о настройке моста в качестве брандмауэра.
- Если вам необходимо обеспечить прохождение не-IP пакетов (таких,
+ Если вам необходимо обеспечить прохождение не-IP пакетов (таких,
как ARP) через мост, то имеется опция брандмауэра,
которую можно задать. Это опция
IPFIREWALL_DEFAULT_TO_ACCEPT. Заметьте, что при
этом правило, используемое брандмауэром по умолчанию, меняется
на разрешительное для всех пакетов. Перед тем, как задавать эту
опцию, убедитесь, что вы понимаете работу вашего набора
правил.
- Поддержка функций ограничения пропускной способности
+ Поддержка функций ограничения пропускной способности
- Если вы хотите использовать мост в качестве машины,
+ Если вы хотите использовать мост в качестве машины,
ограничивающей пропускную способность, то добавьте в файл
конфигурации ядра опцию DUMMYNET. Дополнительную
информацию можно почерпнуть из страницы Справочника по
&man.dummynet.4;.Включение функций мостаДобавьте строкуnet.link.ether.bridge.enable=1в файл /etc/sysctl.conf для включения функций
- моста во время работы системы, и строку:
+ моста во время работы системы, и строку:
net.link.ether.bridge.config=if1,if2для включения функций моста для указанных интерфейсов (замените
- if1 и if2 на
- имена двух ваших сетевых интерфейсов). Если вы хотите, чтобы
- проходящие через мост пакеты фильтровались посредством &man.ipfw.8;,
- вы должны также добавить строчку:
+ if1 и if2 на
+ имена двух ваших сетевых интерфейсов). Если вы хотите, чтобы
+ проходящие через мост пакеты фильтровались посредством &man.ipfw.8;,
+ вы должны также добавить строчку:
net.link.ether.bridge.ipfw=1Для версий &os;, предшествующих &os; 5.2-RELEASE, нужно
- использовать следующие строки:
+ использовать следующие строки:
net.link.ether.bridge=1
net.link.ether.bridge_cfg=if1,if2
net.link.ether.bridge_ipfw=1Дополнительные замечанияЕсли вы хотите осуществлять удалённый доступ на мост через
- &man.ssh.1; из сети, то корректно назначить одному из сетевых
- адаптеров IP-адрес. Общепринято, что назначение адреса обоим сетевым
- адаптерам является не самой хорошей идеей.
+ &man.ssh.1; из сети, то корректно назначить одному из сетевых
+ адаптеров IP-адрес. Общепринято, что назначение адреса обоим сетевым
+ адаптерам является не самой хорошей идеей.
Если в вашей сети присутствует несколько мостов, не должно быть
- более одного маршрута между любыми двумя рабочими станциями. С
- технической точки зрения это означает отсутствие поддержки протокола
- spanning tree.
+ более одного маршрута между любыми двумя рабочими станциями. С
+ технической точки зрения это означает отсутствие поддержки протокола
+ spanning tree.
Сетевой мост может увеличить задержки в замерах командой
- &man.ping.8;, особенно для трафика между двумя разными
- сегментами.
+ &man.ping.8;, особенно для трафика между двумя разными
+ сегментами.
-
- Jean-François
- Dockès
- Текст обновил
-
+
+ Jean-François
+ Dockès
+ Текст обновил
+ AlexDupreРеорганизовал и улучшил Работа с бездисковыми станциямиработа без дискаМашина с FreeBSD может загружаться по сети и работать без наличия
локального диска, используя файловые системы, монтируемые с сервера NFS.
Кроме стандартных конфигурационных файлов, не нужны никакие модификации
в системе. Такую систему легко настроить, потому что все необходимые
элементы уже готовы:
- Имеется по крайней мере два возможных способа загрузки ядра по
- сети:
-
-
-
- PXE: Система &intel; Preboot eXecution
- Environment является формой загрузочного ПЗУ, встроенного в
- некоторые сетевые адаптеры или материнские платы. Обратитесь к
- справочной странице по &man.pxeboot.8; для получения более полной
- информации.
-
-
-
-
- Порт Etherboot (net/etherboot) генерирует код,
- который может применяться в ПЗУ для загрузки ядра по сети. Код
- может быть либо прошит в загрузочный PROM на сетевом адаптере,
- либо загружен с локальной дискеты (или винчестера), или с
- работающей системы &ms-dos;. Поддерживаются многие сетевые
- адаптеры.
-
-
+ Имеется по крайней мере два возможных способа загрузки ядра по
+ сети:
+
+
+
+ PXE: Система &intel; Preboot eXecution
+ Environment является формой загрузочного ПЗУ, встроенного в
+ некоторые сетевые адаптеры или материнские платы. Обратитесь к
+ справочной странице по &man.pxeboot.8; для получения более полной
+ информации.
+
+
+
+
+ Порт Etherboot (net/etherboot) генерирует код,
+ который может применяться в ПЗУ для загрузки ядра по сети. Код
+ может быть либо прошит в загрузочный PROM на сетевом адаптере,
+ либо загружен с локальной дискеты (или винчестера), или с
+ работающей системы &ms-dos;. Поддерживаются многие сетевые
+ адаптеры.
+
+
- Примерный скрипт
- (/usr/share/examples/diskless/clone_root)
- облегчает создание и поддержку корневой файловой системы рабочей
- станции на сервере. Скрипт, скорее всего, потребует некоторых
- настроек, но он позволит вам быстро начать работу.
+ Примерный скрипт
+ (/usr/share/examples/diskless/clone_root)
+ облегчает создание и поддержку корневой файловой системы рабочей
+ станции на сервере. Скрипт, скорее всего, потребует некоторых
+ настроек, но он позволит вам быстро начать работу.
- Стандартные файлы начального запуска системы, располагающиеся в
- /etc, распознают и поддерживают загрузку системы
- в бездисковом варианте.
+ Стандартные файлы начального запуска системы, располагающиеся в
+ /etc, распознают и поддерживают загрузку системы
+ в бездисковом варианте.
- Подкачка, если она нужна, может выполняться через файл NFS либо
- на локальный диск.
+ Подкачка, если она нужна, может выполняться через файл NFS либо
+ на локальный диск.Существует много способов настройки бездисковой рабочей станции. При
этом задействованы многие компоненты, и большинство из них могут быть
настроены для удовлетворения ваших вкусов. Далее будет описаны варианты
полной настройки системы, при этом упор будет делаться на простоту и
совместимость с стандартной системой скриптов начальной загрузки FreeBSD.
Описываемая система имеет такие характеристики:
- Бездисковые рабочие станции совместно используют
- файловую систему / в режиме только
- чтения, а также используют /usr совместно тоже
- в режиме только чтения.
-
- Корневая файловая система является копией
- стандартной корневой системы FreeBSD (обычно сервера), с некоторыми
- настроечными файлами, измененными кем-то специально для бездисковых
- операций или, возможно, для рабочей станции, которой она
- предназначена.
-
- Части корневой файловой системы, которые
- должны быть доступны для записи, перекрываются файловыми системами
- &man.mfs.8; (&os; 4.X) или &man.md.4; (&os; 5.X).
+ Бездисковые рабочие станции совместно используют
+ файловую систему / в режиме только
+ чтения, а также используют /usr совместно тоже
+ в режиме только чтения.
+
+ Корневая файловая система является копией
+ стандартной корневой системы FreeBSD (обычно сервера), с некоторыми
+ настроечными файлами, измененными кем-то специально для бездисковых
+ операций или, возможно, для рабочей станции, которой она
+ предназначена.
+
+ Части корневой файловой системы, которые
+ должны быть доступны для записи, перекрываются файловыми системами
+ &man.mfs.8; (&os; 4.X) или &man.md.4; (&os; 5.X).
Любые изменения будут потеряны при перезагрузках
- системы.
+ системы.
- Ядро передается и загружается посредством
- Etherboot или PXE,
+ Ядро передается и загружается посредством
+ Etherboot или PXE,
и в некоторых ситуациях может быть использован любой из
этих методов.Как описано, эта система не защищена. Она должна располагаться в
- защищенной части сети, а другие хосты не должны на нее
- полагаться.
+ защищенной части сети, а другие хосты не должны на нее
+ полагаться.
Вся информация этого раздела была протестирована с
релизами &os; 4.9-RELEASE и 5.2.1-RELEASE. Текст структурирован
преимущественно для использования с 4.X. Отличия
для 5.X упоминаются особо.Общая информацияНастройка бездисковых рабочих станций относительно проста,
но в то же время легко сделать ошибку. Иногда сложно
диагностировать эти ошибки по нескольким причинам.
Например:Параметры компиляции могут по-разному проявлять
себя во время работы.Сообщения об ошибках бывают загадочны или вовсе
отсутствуют.В данной ситуации некоторые знания, касающиеся используемых
внутренних механизмов, очень полезны при разрешении проблем,
которые могут возникнуть.Для выполнения успешной загрузки необходимо произвести
несколько операций:
-
+
Компьютеру необходимо получить начальные параметры, такие
как собственный IP адрес, имя исполняемого файла, корневой
каталог. Для этого используются протоколы DHCP
или BOOTP. DHCP это совместимое расширение
BOOTP, используются те же номера портов и основной формат
пакетов.Возможна настройка системы для использования только BOOTP.
Серверная программа &man.bootpd.8; включена в основную систему
&os;.Тем не менее, у DHCP есть множество
преимуществ над BOOTP (лучше файлы настройки, возможность
использования PXE, плюс многие другие
преимущества, не относящиеся непосредственно к бездисковым
операциям), и мы в основном будем описывать настройку
DHCP, с эквивалентными примерами
для &man.bootpd.8;, когда это возможно. Пример
конфигурации будет использовать пакет
ISC DHCP (релиз
3.0.1.r12 был установлен на тестовом сервере).Компьютеру требуется загрузить в локальную память одну
или несколько программ. Используются TFTP
или NFS. Выбор между
TFTP или NFS
производится во время компилирования в нескольких местах.
Часто встречающаяся ошибка это указание имен файлов для
другого протокола: TFTP обычно
загружает все файлы с одного каталога сервера, и принимает
имена файлов относительно этого каталога. NFS
нужны абсолютные пути к файлам.Необходимо инициализировать и выполнить возможные
промежуточные программы загрузки и ядро. В этой области
существует несколько важных вариаций:PXE загрузит &man.pxeboot.8;,
являющийся модифицированной версией загрузчика
третьей стадии &os;. &man.loader.8; получит большинство
параметров, необходимых для старта системы, и оставит
их в окружении ядра до контроля передачи. В этом
случае возможно использование ядра
GENERIC.Etherboot, непосредственно
загрузит ядро, с меньшей подготовкой. Вам потребуется
собрать ядро со специальными параметрами.PXE и Etherboot
работают одинаково хорошо с системами 4.X. Поскольку ядро
5.X обычно позволяет &man.loader.8; выполнить больше
предварительной работы, метод PXE на системах
5.X предпочтителен.Если ваш BIOS и сетевые карты поддерживают
PXE, используйте его. Однако, все же возможен
запуск системы 5.X с Etherboot.Наконец, компьютеру требуется доступ к файловым системам.
NFS используется во всех случаях.Обратитесь также к странице справочника &man.diskless.8;.Инструкции по настройке
- Конфигурация с использованием ISC DHCP
-
-
- DHCP
- бездисковые конфигурации
-
-
- Сервер ISC DHCP может обрабатывать
- как запросы BOOTP, так и запросы DHCP.
-
- Начиная с релиза 4.9, ISC DHCP 3.0
- не включается в поставку системы. Сначала вам нужно будет
- установить порт net/isc-dhcp3-server
- или соответствующий пакет.
-
- После установки ISC DHCP ему для
- работы требуется конфигурационный файл (обычно называемый
- /usr/local/etc/dhcpd.conf). Вот
- прокомментированный пример, где хост margaux
+ Конфигурация с использованием ISC DHCP
+
+
+ DHCP
+ бездисковые конфигурации
+
+
+ Сервер ISC DHCP может обрабатывать
+ как запросы BOOTP, так и запросы DHCP.
+
+ Начиная с релиза 4.9, ISC DHCP 3.0
+ не включается в поставку системы. Сначала вам нужно будет
+ установить порт net/isc-dhcp3-server
+ или соответствующий пакет.
+
+ После установки ISC DHCP ему для
+ работы требуется конфигурационный файл (обычно называемый
+ /usr/local/etc/dhcpd.conf). Вот
+ прокомментированный пример, где хост margaux
использует Etherboot, а хост
corbieres использует
PXE:
-
+
default-lease-time 600;
max-lease-time 7200;
authoritative;
option domain-name "example.com";
option domain-name-servers 192.168.4.1;
option routers 192.168.4.1;
subnet 192.168.4.0 netmask 255.255.255.0 {
use-host-decl-names on;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.4.255;
host margaux {
hardware ethernet 01:23:45:67:89:ab;
fixed-address margaux.example.com;
next-server 192.168.4.4;
filename "/data/misc/kernel.diskless";
option root-path "192.168.4.4:/data/misc/diskless";
}
host corbieres {
hardware ethernet 00:02:b3:27:62:df;
fixed-address corbieres.example.com;
next-server 192.168.4.4;
filename "pxeboot";
option root-path "192.168.4.4:/data/misc/diskless";
}
}
-
-
-
-
- Этот параметр указывает dhcpd посылать
- значения деклараций host как имя хоста для
- бездисковой машины. Альтернативным способом было бы добавление
- option host-name
- margaux внутри объявлений
+
+
+
+
+ Этот параметр указывает dhcpd посылать
+ значения деклараций host как имя хоста для
+ бездисковой машины. Альтернативным способом было бы добавление
+ option host-name
+ margaux внутри объявлений
host.
-
+
-
- Директива next-server определяет сервер
- TFTP или NFS,
+
+ Директива next-server определяет сервер
+ TFTP или NFS,
используемый для получения загрузчика или файла ядра
(по умолчанию используется тот же самый хост, на котором
- расположен сервер DHCP).
-
+ расположен сервер DHCP).
+
-
- Директива filename определяет файл,
+
+ Директива filename определяет файл,
который Etherboot или
PXE будут загружать для следующего шага
выполнения. Он должен быть указан в соответствии с
используемым методом передачи.
Etherboot может быть скомпилирован
для использования NFS или
TFTP. &os; порт по умолчанию использует
NFS. PXE использует
TFTP, поэтому здесь применяются
относительные пути файлов (это может зависеть от настроек
TFTP сервера, но обычно довольно типично).
Кроме того, PXE загружает
pxeboot, а не ядро. Существуют другие
интересные возможности, такие как загрузка
pxeboot из каталога
/boot &os; CD-ROM
(поскольку &man.pxeboot.8; может загружать
GENERIC ядро, это делает возможной
загрузку с удаленного CD-ROM).
-
+
-
- Параметр root-path определяет путь к
- корневой файловой системе, в обычной нотации
+
+ Параметр root-path определяет путь к
+ корневой файловой системе, в обычной нотации
NFS. При использовании
PXE, можно оставить IP хоста отключенным,
если параметр ядра BOOTP не используется. Затем
NFS сервер может использоваться так же,
как и TFTP.
-
-
-
+
+
+
-
- Настройка с использованием BOOTP
+
+ Настройка с использованием BOOTP
-
- BOOTP
- бездисковые конфигурации
-
+
+ BOOTP
+ бездисковые конфигурации
+
- Далее описана эквивалентная конфигурация с использованием
- bootpd (для одного клиента).
+ Далее описана эквивалентная конфигурация с использованием
+ bootpd (для одного клиента).
Она будет располагаться в
- /etc/bootptab.
+ /etc/bootptab.Пожалуйста, отметьте, что Etherboot
- должен быть откомпилирован с нестандартной опцией
- NO_DHCP_SUPPORT для того, чтобы можно было
- использовать BOOTP, и что для работы PXE
- необходим DHCP.
+ должен быть откомпилирован с нестандартной опцией
+ NO_DHCP_SUPPORT для того, чтобы можно было
+ использовать BOOTP, и что для работы PXE
+ необходим DHCP.
Единственным очевидным
- преимуществом bootpd является его
- наличие в поставке системы.
+ преимуществом bootpd является его
+ наличие в поставке системы.
-
+
.def100:\
:hn:ht=1:sa=192.168.4.4:vm=rfc1048:\
:sm=255.255.255.0:\
:ds=192.168.4.1:\
:gw=192.168.4.1:\
:hd="/tftpboot":\
:bf="/kernel.diskless":\
:rp="192.168.4.4:/data/misc/diskless":
margaux:ha=0123456789ab:tc=.def100
-
+ Подготовка программы загрузки при помощи
- Etherboot
+ Etherboot
-
- Etherboot
-
+
+ Etherboot
+ Сайт
- Etherboot содержит
- подробную документацию, в основном предназначенную для систем
- Linux, но несомненно, она полезна. Далее будет просто кратко
- описано, как вы должны использовать
+ Etherboot содержит
+ подробную документацию, в основном предназначенную для систем
+ Linux, но несомненно, она полезна. Далее будет просто кратко
+ описано, как вы должны использовать
Etherboot в системе FreeBSD.Сначала вы должны установить пакет или порт net/etherboot.
+ role="package">net/etherboot.
Вы можете изменить настройку
Etherboot (например, для использования
TFTP вместо NFS) путем
редактирования файла Config
в каталоге исходных текстов
Etherboot.В нашей ситуации мы будем использовать загрузочную дискету. Для
- других методов (PROM или программа &ms-dos;) пожалуйста, обратитесь к
- документации по Etherboot.
+ других методов (PROM или программа &ms-dos;) пожалуйста, обратитесь к
+ документации по Etherboot.
Для создания загрузочной дискеты, вставьте дискету в дисковод на
- машине, где установлен Etherboot, затем
- перейдите в каталог src в дереве
- Etherboot и наберите:
+ машине, где установлен Etherboot, затем
+ перейдите в каталог src в дереве
+ Etherboot и наберите:
&prompt.root; gmake bin32/devicetype.fd0devicetype зависит от типа адаптера
- Ethernet на бездисковой рабочей станции. Обратитесь к файлу
+ Ethernet на бездисковой рабочей станции. Обратитесь к файлу
NIC в том же самом каталоге для определения
- правильного значения для
- devicetype.
+ правильного значения для
+ devicetype.
Загрузка с PXEПо умолчанию, &man.pxeboot.8; загружает ядро через
NFS. Он может быть скомпилирован для
использования вместо него TFTP путем
указания параметра LOADER_TFTP_SUPPORT в
/etc/make.conf. Смотрите комментарии в
/etc/defaults/make.conf (или
/usr/share/examples/etc/make.conf систем
5.X) с инструкциями.Есть два не документированных параметра
make.conf, которые могут быть полезны для
настройки бездискового компьютера с последовательной консолью:
BOOT_PXELDR_PROBE_KEYBOARD, и
BOOT_PXELDR_ALWAYS_SERIAL (последняя существует
только в &os; 5.X).Для использования PXE при загрузке компьютера
вам обычно потребуется выбрать параметр Boot from
network (загрузка по сети) в настройках
BIOS, или нажать функциональную клавишу во
время загрузки PC.
- Настройка серверов TFTP и NFS
+ Настройка серверов TFTP и NFS
-
- TFTP
- бездисковые конфигурации
-
+
+ TFTP
+ бездисковые конфигурации
+
-
- NFS
- бездисковые конфигурации
-
+
+ NFS
+ бездисковые конфигурации
+ Если вы используете PXE или
Etherboot, настроенные для
использования TFTP, вам нужно включить
tftpd на файловом сервере:
-
-
- Создайте каталог, файлы которого будет обслуживать
- tftpd, например,
- /tftpboot.
-
+
+
+ Создайте каталог, файлы которого будет обслуживать
+ tftpd, например,
+ /tftpboot.
+
-
- Добавьте в ваш /etc/inetd.conf такую
- строчку:
+
+ Добавьте в ваш /etc/inetd.conf такую
+ строчку:tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot
- Бывает, что некоторым версиям PXE
+ Бывает, что некоторым версиям PXE
требуется TCP-вариант
- TFTP. В таком случае добавьте вторую
+ TFTP. В таком случае добавьте вторую
строчку, заменяющую
dgram udp на stream
- tcp.
+ tcp.
-
+ Укажите inetd на повторное чтение своего
- конфигурационного файла:
+ конфигурационного файла:
&prompt.root; kill -HUP `cat /var/run/inetd.pid`
-
+ Вы можете поместить каталог tftpboot в любом
- месте на сервере. Проверьте, что это местоположение указано как в
+ месте на сервере. Проверьте, что это местоположение указано как в
inetd.conf, так и в
dhcpd.conf.Во всех случаях, вам также нужно включить
NFS и экспортировать
- соответствующую файловую систему на сервере
+ соответствующую файловую систему на сервере
NFS.
-
-
- Добавьте следующее в
- /etc/rc.conf:
+
+
+ Добавьте следующее в
+ /etc/rc.conf:nfs_server_enable="YES"
-
-
-
- Экспортируйте файловую систему, в которой расположен
- корневой каталог для бездисковой рабочей станции, добавив
- следующую строку в /etc/exports (подправьте
- точку монтирования и замените margaux
+
+
+
+ Экспортируйте файловую систему, в которой расположен
+ корневой каталог для бездисковой рабочей станции, добавив
+ следующую строку в /etc/exports (подправьте
+ точку монтирования и замените margaux
corbieres
- именами бездисковых рабочих станций):
+ именами бездисковых рабочих станций):
/data/misc -alldirs -ro margaux corbieres
-
+ Укажите mountd на повторное чтение
- настроечного файла. На самом деле если вам потребовалось на
- первом шаге включить NFS в /etc/rc.conf, то
- вам нужно будет выполнить перезагрузку.
+ настроечного файла. На самом деле если вам потребовалось на
+ первом шаге включить NFS в /etc/rc.conf, то
+ вам нужно будет выполнить перезагрузку.
&prompt.root; kill -HUP `cat /var/run/mountd.pid`
-
+
Построение ядра для бездисковой рабочей станции
-
- бездисковые конфигурации
- настройка ядра
-
+
+ бездисковые конфигурации
+ настройка ядра
+ При использовании Etherboot, вам
потребуется создать конфигурационный файл ядра для бездискового
клиента со
- следующими параметрами (вдобавок к обычным):
+ следующими параметрами (вдобавок к обычным):
options BOOTP # Use BOOTP to obtain IP address/hostname
options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info
Вам может потребоваться использовать
- BOOTP_NFSV3, BOOT_COMPAT
+ BOOTP_NFSV3, BOOT_COMPAT
и BOOTP_WIRED_TO
- (посмотрите LINT в 4.X или
+ (посмотрите LINT в 4.X или
NOTES в 5.X).Эти имена параметров сложились исторически, и могут немного
ввести в заблуждение, поскольку включают необязательное
использование DHCP и BOOTP в ядре (возможно
включение обязательного использования BOOTP
или DHCP use).Постройте ядро (обратитесь к ) и
скопируйте его в каталог, указанный в
dhcpd.conf.При использовании PXE, сборка ядра
с вышеприведенными параметрами не является совершенно необходимой
(хотя желательна). Включение этих параметров приведет к
выполнению большинства DHCP запросов во время
загрузки ядра, с небольшим риском несоответствия новых значений
и значений, полученных &man.pxeboot.8; в некоторых особых
случаях. Преимущество использования в том, что в качестве
побочного эффекта будет установлено имя хоста. Иначе вам
потребуется установить имя хоста другим методом, например
в клиент-специфичном файле rc.conf.Для включения возможности загрузки с
Etherboot, в ядро 5.X необходимо
включить устройство hints. Вам потребуется установить
в файле конфигурации следующий параметр (см. файл
комментариев NOTES):hints "GENERIC.hints"
- Подготовка корневой файловой системы
+ Подготовка корневой файловой системы
-
- корневая файловая система
- бездисковые конфигурации
-
+
+ корневая файловая система
+ бездисковые конфигурации
+ Вам нужно создать корневую файловую систему для бездисковых
- рабочих станций, в местоположении, заданном как
+ рабочих станций, в местоположении, заданном как
root-path в
- dhcpd.conf. В следующем разделе
+ dhcpd.conf. В следующем разделе
описаны два способа, чтобы сделать это.Использование скрипта clone_rootЭто самый простой способ создания корневой файловой системы,
но на данный момент он не поддерживается в &os; 4.X. Этот
shell скрипт находится в
/usr/share/examples/diskless/clone_root,
- и требует настройки, по крайней мере, задания того места, где
- будет создана файловая система (переменная
- DEST).
+ и требует настройки, по крайней мере, задания того места, где
+ будет создана файловая система (переменная
+ DEST).
Прочтите комментарии в начале скрипта для получения указаний.
- Там описано, как строится основная файловая система, и как файлы
- могут быть выборочно заменены версиями, предназначенными для работы
- без диска, для подсети или для отдельной рабочей станции. Также
- здесь даются примеры бездисковых файлов
- /etc/fstab и
- /etc/rc.conf.
-
- Файлы README в
- /usr/share/examples/diskless много интересной
- информации, но вместе с другими примерами из каталога
- diskless они на самом деле описывают метод
- настройки, который отличается от того, что используется в
+ Там описано, как строится основная файловая система, и как файлы
+ могут быть выборочно заменены версиями, предназначенными для работы
+ без диска, для подсети или для отдельной рабочей станции. Также
+ здесь даются примеры бездисковых файлов
+ /etc/fstab и
+ /etc/rc.conf.
+
+ Файлы README в
+ /usr/share/examples/diskless много интересной
+ информации, но вместе с другими примерами из каталога
+ diskless они на самом деле описывают метод
+ настройки, который отличается от того, что используется в
clone_root и
стартовых скриптах системы из
/etc, этим несколько запутывая
- дело. Используйте их только для справки, за исключением того случая,
- когда вы выберете метод, ими описываемый, и тогда вам нужны
- исправленные скрипты rc.
+ дело. Используйте их только для справки, за исключением того случая,
+ когда вы выберете метод, ими описываемый, и тогда вам нужны
+ исправленные скрипты rc.
Использование стандартной процедуры
make worldЭтот метод может быть применен к &os; 4.X или 5.X и
установит новую систему (не только корневую) в
DESTDIR. Все, что вам потребуется сделать,
это просто выполнить следующий скрипт:#!/bin/sh
export DESTDIR=/data/misc/diskless
mkdir -p ${DESTDIR}
cd /usr/src; make world && make kernel
cd /usr/src/etc; make distributionКак только это будет сделано, вам может потребоваться
настроить /etc/rc.conf и
/etc/fstab, помещенные в
DESTDIR, в соответствии с вашими
потребностями.Настройка области подкачкиЕсли это нужно, то файл подкачки, расположенный на сервере, можно
- использовать посредством NFS. Один из методов,
+ использовать посредством NFS. Один из методов,
используемых для этого, не поддерживается в релизах 5.X.Подкачка по NFS в &os; 4.XМестоположение и размер файла подкачки могут быть указаны
&os;-специфичными параметрами BOOTP/DHCP
128 и 129. Примеры файлов настройки для
ISC DHCP 3.0 или
bootpd приведены ниже:
- Добавьте следующие строки в
- dhcpd.conf:
+ Добавьте следующие строки в
+ dhcpd.conf:
# Global section
option swap-path code 128 = string;
option swap-size code 129 = integer 32;
host margaux {
... # Standard lines, see above
option swap-path "192.168.4.4:/netswapvolume/netswap";
option swap-size 64000;
}
swap-path это путь к каталогу, где
находятся файлы подкачки. Название каждого файла имеет вид
swap.client-ip.Старые версии dhcpd использовали
синтаксис
option option-128 "..., который больше не
- поддерживается.
+ поддерживается.
Во /etc/bootptab будет использоваться
- такой синтаксис:
+ такой синтаксис:
T128="192.168.4.4:/netswapvolume/netswap":T129=0000fa00
-
- В файле /etc/bootptab размер файла
- подкачки должен быть записан в шестнадцатеричном формате.
-
+
+ В файле /etc/bootptab размер файла
+ подкачки должен быть записан в шестнадцатеричном формате.
+ На файловом сервере NFS создайте файл (или файлы)
- подкачки:
+ подкачки:
-
+
&prompt.root; mkdir /netswapvolume/netswap
&prompt.root; cd /netswapvolume/netswap
&prompt.root; dd if=/dev/zero bs=1024 count=64000 of=swap.192.168.4.6
&prompt.root; chmod 0600 swap.192.168.4.6
-
+ 192.168.4.6 является IP-адресом
- бездискового клиента.
+ бездискового клиента.
На файловом сервере NFS, в /etc/exports
- добавьте такую строку:
+ добавьте такую строку:
/netswapvolume -maproot=0:10 -alldirs margaux corbieresЗатем укажите mountd на повторное
- чтение файла exports, как описано
+ чтение файла exports, как описано
ранее.Подкачка по NFS в &os; 4.XПоложение и размер файла подкачки могут быть указаны в
&os;-специфичных параметрах BOOTP/DHCP
с номерами 128 и 129. Ниже приведены примеры файлов
настройки для ISC DHCP 3.0 или
bootpd:Добавьте следующие строки к
dhcpd.conf:
# Global section
option swap-path code 128 = string;
option swap-size code 129 = integer 32;
host margaux {
... # Standard lines, see above
option swap-path "192.168.4.4:/netswapvolume/netswap";
option swap-size 64000;
}
swap-path это путь к каталогу, где
расположены файлы подкачки. Файлы называются
swap.client-ip.Старые версии dhcpd используют
синтаксис option option-128 "..., которые
более не поддерживаются./etc/bootptab вместо этого использует
следующий синтаксис:T128="192.168.4.4:/netswapvolume/netswap":T129=0000fa00В /etc/bootptab, размер
подкачки должен вычисляться в шестнадцатеричном
формате.Создайте на NFS сервере с файлами подкачки
файлы:
-
+
&prompt.root; mkdir /netswapvolume/netswap
&prompt.root; cd /netswapvolume/netswap
&prompt.root; dd if=/dev/zero bs=1024 count=64000 of=swap.192.168.4.6
&prompt.root; chmod 0600 swap.192.168.4.6
-
+ 192.168.4.6 это IP адрес
бездискового клиента.На файловом сервере NFS с файлами
подкачки добавьте следующую строку к
/etc/exports:/netswapvolume -maproot=0:10 -alldirs margaux corbieresЗатем заставьте mountd перечитать
конфигурационные файлы как было показано выше.Различные проблемы
-
+
Работа с /usr, доступной только для
- чтения
+ чтения
-
- бездисковые конфигурации
- /usr только для чтения
-
+
+ бездисковые конфигурации
+ /usr только для чтения
+
- Если бездисковая рабочая станция настроена на запуск X, вам
- нужно подправить настроечный файл для
+ Если бездисковая рабочая станция настроена на запуск X, вам
+ нужно подправить настроечный файл для
XDM, который по умолчанию
- помещает протокол ошибок в /usr.
+ помещает протокол ошибок в /usr.Использование не-FreeBSD сервераЕсли сервер с корневой файловой системой работает не под
- управлением FreeBSD, вам потребуется создать корневую файловую
- систему на машине FreeBSD, а затем скопировать ее в нужно место,
- при помощи tar или
- cpio.
+ управлением FreeBSD, вам потребуется создать корневую файловую
+ систему на машине FreeBSD, а затем скопировать ее в нужно место,
+ при помощи tar или
+ cpio.
В такой ситуации иногда возникают проблемы со
- специальными файлами в /dev из-за различной
- разрядности целых чисел для старшего/младшего чисел. Решением
- этой проблемы является экспортирование каталога с не-FreeBSD
- сервера, монтирование его на машине с FreeBSD и запуск
- скрипта MAKEDEV на машине с FreeBSD для создания
- правильных файлов устройств (во FreeBSD 5.0 и более поздних версиях
- используется &man.devfs.5; для создания файлов устройств прозрачно
- для пользователя, запуск MAKEDEV в этих версиях
- бессмысленно).
+ специальными файлами в /dev из-за различной
+ разрядности целых чисел для старшего/младшего чисел. Решением
+ этой проблемы является экспортирование каталога с не-FreeBSD
+ сервера, монтирование его на машине с FreeBSD и запуск
+ скрипта MAKEDEV на машине с FreeBSD для создания
+ правильных файлов устройств (во FreeBSD 5.0 и более поздних версиях
+ используется &man.devfs.5; для создания файлов устройств прозрачно
+ для пользователя, запуск MAKEDEV в этих версиях
+ бессмысленно).
ISDNISDNПолезным источником информации о технологии ISDN и его аппаратном
обеспечении является
Страница Дэна Кегела (Dan Kegel) об ISDN.Быстрое введение в ISDN:
- Если вы живёте в Европе, то вам может понадобиться изучить раздел
- об ISDN-адаптерах.
+ Если вы живёте в Европе, то вам может понадобиться изучить раздел
+ об ISDN-адаптерах.Если вы планируете использовать ISDN в основном для соединений
с Интернет через провайдера по коммутируемому, не выделенному
соединению, рекомендуется посмотреть информацию о терминальных
адаптерах. Это даст вам самую большую гибкость и наименьшее
количество проблем при смене провайдера.Если вы объединяете две локальные сети или подключаетесь к
Интернет через постоянное ISDN-соединение, рекомендуем остановить свой
- выбор на отдельном мосте/маршрутизаторе.
+ выбор на отдельном мосте/маршрутизаторе.
Стоимость является важным фактором при выборе вашего решения.
Далее перечислены все возможности от самого дешевого до самого дорогого
варианта.
-
-
- Hellmuth
- Michaelis
- Текст предоставил
-
-
+
+
+ Hellmuth
+ Michaelis
+ Текст предоставил
+
+ Адаптеры ISDN
- ISDN
- адаптеры
+ ISDN
+ адаптерыРеализация ISDN во FreeBSD поддерживает только стандарт DSS1/Q.931
- (или Евро-ISDN) при помощи пассивных адаптеров. Начиная с
- FreeBSD 4.4 поддерживаются некоторые активные адаптеры, прошивки
- которых поддерживают также другие сигнальные протоколы; также сюда
- впервые включена поддержка адаптеров ISDN Primary Rate (PRI).
+ (или Евро-ISDN) при помощи пассивных адаптеров. Начиная с
+ FreeBSD 4.4 поддерживаются некоторые активные адаптеры, прошивки
+ которых поддерживают также другие сигнальные протоколы; также сюда
+ впервые включена поддержка адаптеров ISDN Primary Rate (PRI).
Пакет программ isdn4bsd позволяет вам
- подключаться к другим маршрутизаторам ISDN при помощи IP поверх DHLC,
- либо при помощи синхронного PPP; либо при помощи PPP на уровне ядра с
- isppp, модифицированного драйвера &man.sppp.4;, или
- при помощи пользовательского
- &man.ppp.8;. При использовании пользовательского &man.ppp.8; возможно
- использование двух и большего числа B-каналов ISDN. Также имеется
- приложение, работающее как автоответчик, и много утилит, таких, как
- программный модем на 300 Бод.
+ подключаться к другим маршрутизаторам ISDN при помощи IP поверх DHLC,
+ либо при помощи синхронного PPP; либо при помощи PPP на уровне ядра с
+ isppp, модифицированного драйвера &man.sppp.4;, или
+ при помощи пользовательского
+ &man.ppp.8;. При использовании пользовательского &man.ppp.8; возможно
+ использование двух и большего числа B-каналов ISDN. Также имеется
+ приложение, работающее как автоответчик, и много утилит, таких, как
+ программный модем на 300 Бод.
Во FreeBSD поддерживается все возрастающее число адаптеров ISDN для
- ПК, и сообщения показывают, что они успешно используются по всей Европе
- и других частях света.
+ ПК, и сообщения показывают, что они успешно используются по всей Европе
+ и других частях света.
Из пассивных адаптеров ISDN поддерживаются в основном те, которые
- сделаны на основе микросхем Infineon (бывший Siemens) ISAC/HSCX/IPAC
- ISDN, а также адаптеры ISDN с микросхемами от Cologne Chip (только для
- шины ISA), адаптеры PCI с микросхемами Winbond W6692, некоторые
- адаптеры с набором микросхем Tiger300/320/ISAC и несколько адаптеров,
- построенных на фирменных наборах микросхем, такие, как AVM Fritz!Card
- PCI V.1.0 и AVM Fritz!Card PnP.
+ сделаны на основе микросхем Infineon (бывший Siemens) ISAC/HSCX/IPAC
+ ISDN, а также адаптеры ISDN с микросхемами от Cologne Chip (только для
+ шины ISA), адаптеры PCI с микросхемами Winbond W6692, некоторые
+ адаптеры с набором микросхем Tiger300/320/ISAC и несколько адаптеров,
+ построенных на фирменных наборах микросхем, такие, как AVM Fritz!Card
+ PCI V.1.0 и AVM Fritz!Card PnP.
На данный момент из активных адаптеров ISDN поддерживаются AVM B1
(ISA и PCI) адаптеры BRI и AVM T1 PCI адаптеры PRI.Документацию по isdn4bsd можно найти в
каталоге /usr/share/examples/isdn/ вашей системы
FreeBSD или на домашней
- странице isdn4bsd, на которой также размещены ссылки на советы,
- замечания по ошибкам и более подробную информацию, например, на руководство по
- isdn4bsd.
+ странице isdn4bsd, на которой также размещены ссылки на советы,
+ замечания по ошибкам и более подробную информацию, например, на руководство по
+ isdn4bsd.
Если вы заинтересованы в добавлении поддержки для различных
- протоколов ISDN, не поддерживаемых на данный момент адаптеров ISDN для
- PC или каких-то других усовершенствованиях
- isdn4bsd, пожалуйста, свяжитесь с
- &a.hm;.
+ протоколов ISDN, не поддерживаемых на данный момент адаптеров ISDN для
+ PC или каких-то других усовершенствованиях
+ isdn4bsd, пожалуйста, свяжитесь с
+ &a.hm;.
Для обсуждения вопросов, связанных с установкой, настройкой и
- устранением неисправностей isdn4bsd,
- имеется список рассылки &a.isdn.name;.
+ устранением неисправностей isdn4bsd,
+ имеется список рассылки &a.isdn.name;.
subscribe freebsd-isdnТерминальные адаптеры ISDNТерминальные адаптеры (TA) для ISDN выполняют ту же роль, что и
модемы для обычных телефонных линий.модемБольшинство TA используют стандартный набор AT-команд Hayes-модемов,
и могут использоваться в качестве простой замены для модемов.TA будут работать точно так же, как и модемы, за исключением
скорости соединения и пропускной способности, которые будут гораздо
выше, чем у вашего старого модема. Вам потребуется настроить PPP точно также, как и в случае использования
модема. Проверьте, что вы задали скорость работы последовательного
порта максимально высокой.PPPГлавным преимуществом использования TA для подключения к провайдеру
Интернет является возможность использования динамического PPP. Так
как пространство адресов IP истощается все больше, большинство
провайдеров не хочет больше выдавать вам статический IP-адрес.
Большинство же маршрутизаторов не может использовать динамическое
выделение IP-адресов.TA полностью полагаются на даемон PPP, который используете из-за
его возможностей и стабильности соединения. Это позволяет вам при
использовании FreeBSD легко заменить модем на ISDN, если у вас уже
настроено соединение PPP. Однако, в тоже время любые проблемы, которые
возникают с программой PPP, отражаются и здесь.Если вы хотите максимальной надёжности, используйте PPP на уровне параметра ядра, а не пользовательский PPP.Известно, что следующие TA работают с FreeBSD:Motorola BitSurfer и Bitsurfer ProAdtranБольшинство остальных TA, скорее всего, тоже будут работать,
производители TA прилагают все усилия для обеспечения поддержки
практически всего набора стандартных AT-команд модема.Как и в случае модемов проблемой использования внешнего TA является
потребность в хорошем последовательном адаптере на вашем
компьютере.Вы должны прочесть учебник Последовательные устройства
во FreeBSD для того, чтобы в деталях понять работу
последовательных устройств и осознать различие между асинхронными и
синхронными последовательными портами.TA, работающий со стандартным последовательным (асинхронным) портом
PC, ограничивает вас скоростью 115.2 Кбит/с, хотя реально у вас
соединение на скорости 128 Кбит/с. Чтобы использовать
128 Кбит/с, которые обеспечивает ISDN, полностью, вы должны
подключить TA к синхронному последовательному адаптеру.Не обманывайте себя, думая, что покупка встроенного TA поможет
избежать проблемы синхронности/асинхронности. Встроенные TA просто
уже имеют внутри стандартный последовательный порт PC. Все, что при
этом достигается - это экономия дополнительных последовательного
кабеля и электрической розетки.Синхронный адаптер с TA по крайней мере так же быстр, как и
отдельный маршрутизатор, а если он работает под управлением машины
класса 386 с FreeBSD, то это гораздо более гибкое решение.Выбор между использованием синхронного адаптера/TA или отдельного
маршрутизатора в большей степени является религиозным вопросом. По этому
поводу в списках рассылки была некоторая дискуссия. Рекомендуем поискать
в архивах обсуждение
полностью.Отдельные мосты/маршрутизаторы ISDNISDNотдельно стоящие мосты/маршрутизаторыМосты или маршрутизаторы ISDN не так уж специфичны для FreeBSD
или для любой другой операционной системы. Для более подробного
описания технологий маршрутизации и работы мостов, пожалуйста,
обратитесь к справочникам по сетевым технологиям.В контексте этого раздела термины маршрутизатор и сетевой мост будут
использоваться как взаимозаменяемые.Вместе с падением цен на простые мосты/маршрутизаторы ISDN, они
становятся все более популярными. Маршрутизатор ISDN представляет
собой маленькую коробочку, которая подключается непосредственно в
вашу сеть Ethernet, и поддерживает связь с другим мостом/маршрутизатором.
Всё программное обеспечение для работы по PPP и другим протоколам
встроено в маршрутизатор.Маршрутизатор обладает гораздо большей пропускной способностью, чем
стандартный TA, так как он использует полное синхронное соединение
ISDN.Основной проблемой с маршрутизаторами и мостами ISDN является то,
что их совместная работа с оборудованием других производителей может
оказаться под вопросом. Если вы собираетесь подключаться к провайдеру,
то вы должны обсудить с ним то, что вам нужно.Если вы планируете объединить два сегмента локальной сети, например,
домашнюю сеть с сетью офиса, это самое простое решение с минимальными
издержками на обслуживание. Так как вы покупаете оборудование для
обоих сторон соединения, то можете быть уверены, что связь будет
работать нормально.Например, для соединения домашнего компьютера или сети
подразделения к сети центрального офиса, может использоваться такая
настройка:Офис подразделения или домашняя сеть10 base 2Сеть построена в топологии общей шины на основе 10 base 2 Ethernet
- (thinnet - тонкий Ethernet). Подключите
- маршрутизатор к сетевому кабелю с помощью трансивера AUI/10BT, если
- это нужно.
+ (thinnet - тонкий Ethernet). Подключите
+ маршрутизатор к сетевому кабелю с помощью трансивера AUI/10BT, если
+ это нужно.
-
-
-
+
+
+
-
- ---Рабочая станция Sun
+
+ ---Рабочая станция Sun
|
---Машина с FreeBSD
|
---Windows 95
|
Отдельный маршрутизатор
|
Канал ISDN BRI
-
+
-
- 10 Base 2 Ethernet
-
+
+ 10 Base 2 Ethernet
+ Если ваш домашний или удаленный офис представляет собой один
компьютер, то для непосредственного подключения к маршрутизатору вы
вы можете использовать витую пару с перекрестным соединениям.Центральный офис или другая локальная сеть10 base TСеть построена в топологии звезды на основе 10 Base T Ethernet
- (витая пара).
+ (витая пара).
-
-
-
+
+
+
-
- -------Сервер Novell
+
+ -------Сервер Novell
| H |
| ---Sun
| |
| U ---FreeBSD
| |
| ---Windows 95
| B |
|___---Отдельно стоящий маршрутизатор
|
Канал ISDN BRI
-
+
-
- Схема сети с ISDN
-
+
+ Схема сети с ISDN
+ Одним большим преимуществом большинства маршрутизаторов/мостов
является то, что они позволяют иметь 2 отдельных
независимых соединения PPP к 2 различным сайтам
одновременно. Это не поддерживается в большинстве
TA, кроме специальных (обычно дорогих) моделей, имеющих по два
последовательных порта. Не путайте это с балансировкой нагрузки,
MPP и так далее.Это может оказаться весьма полезной особенностью, например, если
у вас имеется постоянное ISDN-соединение в вашем офисе, и вы хотите
им воспользоваться, но не хотите задействовать дополнительный канал
ISDN на работе. Маршрутизатор, расположенный в офисе, может
использовать выделенное соединение по каналу B (64 Кбит/с) для
Интернет,
и одновременно другой канал B для отдельного соединения для передачи
данных. Второй канал B может использоваться для входящих, исходящих
и динамически распределяемых соединений (MPP и так далее) совместно с
первым каналом B для повышения пропускной способности.IPX/SPXМост Ethernet также позволяет вам передавать больше, чем просто
трафик IP. Вы сможете передавать IPX/SPX и любые другие протоколы,
которые вы используете.
-
- Chern
+
+ Chern
- Lee
+ Lee
- Текст предоставил
-
+ Текст предоставил
+ Даемон преобразования сетевых адресов (natd)Обзор
- natd
+ natdДаемон преобразования сетевых адресов (Network Address
- Translation) во FreeBSD, широко известный как &man.natd.8;, является
- даемоном, который принимает входящие IP-пакеты, изменяет адрес
- отправителя на адрес локальной машины и повторно отправляет эти пакеты
- в потоке исходящих пакетов. &man.natd.8; делает это, меняя IP-адрес
- отправителя и порт таким образом, что когда данные принимаются
- обратно, он может определить расположение источника начальных данных
- и переслать их машине, которая запрашивала данные изначально.
+ Translation) во FreeBSD, широко известный как &man.natd.8;, является
+ даемоном, который принимает входящие IP-пакеты, изменяет адрес
+ отправителя на адрес локальной машины и повторно отправляет эти пакеты
+ в потоке исходящих пакетов. &man.natd.8; делает это, меняя IP-адрес
+ отправителя и порт таким образом, что когда данные принимаются
+ обратно, он может определить расположение источника начальных данных
+ и переслать их машине, которая запрашивала данные изначально.
- совместное использование доступа в Интернет
+ совместное использование доступа в Интернет
- NAT
+ NATЧаще всего NAT используется для организации так называемого
- Совместного Использования Интернет.
+ Совместного Использования Интернет.
НастройкаИз-за исчерпания пространства адресов в IPv4 и увеличения
- количества пользователей высокоскоростных каналов связи, таких, как
- кабельное подключение или DSL, необходимость в решении по Совместному
- Использованию Интернет растёт. Возможность подключить несколько
- компьютеров через единственное соединение и IP-адрес делает
- &man.natd.8; подходящим решением.
+ количества пользователей высокоскоростных каналов связи, таких, как
+ кабельное подключение или DSL, необходимость в решении по Совместному
+ Использованию Интернет растёт. Возможность подключить несколько
+ компьютеров через единственное соединение и IP-адрес делает
+ &man.natd.8; подходящим решением.
Чаще всего у пользователя имеется машина, подключенная к кабельному
- каналу или каналу DSL с одним IP-адресом и есть желание использовать
- этот единственный подключенный компьютер для организации доступа в
- Интернет другим компьютерам в локальной сети.
+ каналу или каналу DSL с одним IP-адресом и есть желание использовать
+ этот единственный подключенный компьютер для организации доступа в
+ Интернет другим компьютерам в локальной сети.
Для этого машина FreeBSD, находящаяся в Интернет, должна выступать
- в роли шлюза. Эта шлюзовая машина должна иметь два сетевых
- адаптера—один для подключения к маршрутизатору Интернет, а
- другой для подключения к ЛВС. Все машины в локальной сети
- подключаются через сетевой концентратор или коммутатор.
+ в роли шлюза. Эта шлюзовая машина должна иметь два сетевых
+ адаптера—один для подключения к маршрутизатору Интернет, а
+ другой для подключения к ЛВС. Все машины в локальной сети
+ подключаются через сетевой концентратор или коммутатор.
Существует много способов подсоединить локальную сеть к
Internet через шлюз &os;. Этот пример показывает шлюз c
двумя сетевыми картами.
-
-
-
+
+
+
-
- _______ __________ ________
+
+ _______ __________ ________
| | | | | |
| Hub |-----| Client B |-----| Router |----- Internet
|_______| |__________| |________|
|
____|_____
| |
| Client A |
|__________|
-
+
-
- Структура сети
-
+
+ Структура сети
+ Подобная конфигурация часто используется для совместного
- использования доступа в Интернет. Одна из подключенных к локальной
- сети машин подключается к Интернет. Остальные машины работают с
- Интернет посредством этой шлюзовой машины.
+ использования доступа в Интернет. Одна из подключенных к локальной
+ сети машин подключается к Интернет. Остальные машины работают с
+ Интернет посредством этой шлюзовой машины.
- ядро
- настройка
+ ядро
+ настройкаНастройкаВ файле конфигурации ядра должны присутствовать следующие
- параметры:
+ параметры:
options IPFIREWALL
options IPDIVERTДополнительно, если это нужно, можно добавить следующее:options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSEВ файле /etc/rc.conf должны быть такие
- строки:
+ строки:
gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
natd_enable="YES"
natd_interface="fxp0"
natd_flags="" Указывает машине выступать в качестве шлюза. Выполнение
команды sysctl net.inet.ip.forwarding=1
приведёт к тому же самому результату.
-
+
-
+ При загрузке включает использование правил брандмауэра
из файла /etc/rc.firewall.
-
+
-
+ Здесь задается предопределенный набор правил брандмауэра,
который разрешает все. Посмотрите файл
/etc/rc.firewall для нахождения
дополнительных типов.
-
+
-
+ Указывает, через какой интерфейс передавать пакеты
(интерфейс, подключенный к Интернет).
-
+
-
+ Любые дополнительный параметры, передаваемые при запуске
даемону &man.natd.8;.
-
+ При использовании вышеуказанных параметров в файле
- /etc/rc.conf при загрузке будет запущена команда
- natd -interface fxp0. Эту команду можно запустить и
- вручную.
+ /etc/rc.conf при загрузке будет запущена команда
+ natd -interface fxp0. Эту команду можно запустить и
+ вручную.
- Если для передачи &man.natd.8; набирается слишком много
- параметров, возможно также использовать конфигурационный файл. В
- этом случае имя настроечного файла должно быть задано добавлением
- следующей строки в /etc/rc.conf:
+ Если для передачи &man.natd.8; набирается слишком много
+ параметров, возможно также использовать конфигурационный файл. В
+ этом случае имя настроечного файла должно быть задано добавлением
+ следующей строки в /etc/rc.conf:
- natd_flags="-f /etc/natd.conf"
+ natd_flags="-f /etc/natd.conf"
- Файл /etc/natd.conf будет содержать перечень
- конфигурационных параметров, по одному в строке. К примеру, для
- примера из следующего раздела будет использоваться такой файл:
+ Файл /etc/natd.conf будет содержать перечень
+ конфигурационных параметров, по одному в строке. К примеру, для
+ примера из следующего раздела будет использоваться такой файл:
- redirect_port tcp 192.168.0.2:6667 6667
+ redirect_port tcp 192.168.0.2:6667 6667
redirect_port tcp 192.168.0.3:80 80
- Для получения более полной информации о конфигурационном файле
- прочтите страницу справки по &man.natd.8; относительно параметра
- .
+ Для получения более полной информации о конфигурационном файле
+ прочтите страницу справки по &man.natd.8; относительно параметра
+ .Каждой машине и интерфейсу в ЛВС должен быть назначен IP-адрес из
- адресного пространства частных сетей, как это определено в RFC 1918, а в
- качестве маршрутизатора по умолчанию должен быть задан IP-адрес машины
- с natd из внутренней сети.
+ адресного пространства частных сетей, как это определено в RFC 1918, а в
+ качестве маршрутизатора по умолчанию должен быть задан IP-адрес машины
+ с natd из внутренней сети.
Например, клиенты A и B в ЛВС
- имеют IP-адреса 192.168.0.2 и 192.168.0.3, а интерфейс машины с natd в
- локальной сети имеет IP-адрес 192.168.0.1. Маршрутизатором по умолчанию для
- клиентов A и B должна быть назначена
- машина с natd, то есть 192.168.0.1. Внешний, или Интернет-интерфейс
- машины с natd не требует особых
- настроек для работы &man.natd.8;.
+ имеют IP-адреса 192.168.0.2 и 192.168.0.3, а интерфейс машины с natd в
+ локальной сети имеет IP-адрес 192.168.0.1. Маршрутизатором по умолчанию для
+ клиентов A и B должна быть назначена
+ машина с natd, то есть 192.168.0.1. Внешний, или Интернет-интерфейс
+ машины с natd не требует особых
+ настроек для работы &man.natd.8;.
Перенаправление портовМинусом использования &man.natd.8; является то, что машины в
- локальной сети
- недоступны из Интернет. Клиенты в ЛВС могут выполнять исходящие
- соединения во внешний мир, но не могут обслуживать входящие. Это
- является проблемой при запуске служб Интернет на клиентских машинах в
- локальной сети. Простым решением является перенаправление некоторых
- портов Интернет машины с natd на клиента
- локальной сети.
+ локальной сети
+ недоступны из Интернет. Клиенты в ЛВС могут выполнять исходящие
+ соединения во внешний мир, но не могут обслуживать входящие. Это
+ является проблемой при запуске служб Интернет на клиентских машинах в
+ локальной сети. Простым решением является перенаправление некоторых
+ портов Интернет машины с natd на клиента
+ локальной сети.
Пусть, к примеру, сервер IRC запущен на клиенте A,
- а Web-сервер работает на клиенте B. Чтобы это
- работало, соединения, принимаемые на портах 6667 (IRC) и 80 (Web),
- должны перенаправляться на соответствующие машины.
+ а Web-сервер работает на клиенте B. Чтобы это
+ работало, соединения, принимаемые на портах 6667 (IRC) и 80 (Web),
+ должны перенаправляться на соответствующие машины.
Программе &man.natd.8; должна быть передана команда
- с соответствующими параметрами.
- Синтаксис следующий:
+ с соответствующими параметрами.
+ Синтаксис следующий:
-redirect_port proto targetIP:targetPORT[-targetPORT]
[aliasIP:]aliasPORT[-aliasPORT]
[remoteIP[:remotePORT[-remotePORT]]]В примере выше аргументы должен быть такими: -redirect_port tcp 192.168.0.2:6667 6667
-redirect_port tcp 192.168.0.3:80 80При этом будут перенаправлены соответствующие порты
- tcp на клиентские машины в локальной сети.
+ tcp на клиентские машины в локальной сети.
Аргумент может использоваться для
- указания диапазонов портов, а не конкретного порта. Например,
- tcp 192.168.0.2:2000-3000 2000-3000 будет
- перенаправлять все соединения, принимаемые на портах от 2000 до 3000,
- на порты от 2000 до 3000 клиента A.
+ указания диапазонов портов, а не конкретного порта. Например,
+ tcp 192.168.0.2:2000-3000 2000-3000 будет
+ перенаправлять все соединения, принимаемые на портах от 2000 до 3000,
+ на порты от 2000 до 3000 клиента A.
Эти параметры можно указать при непосредственном запуске
- &man.natd.8;, поместить их в параметр
- natd_flags="" файла
- /etc/rc.conf, либо передать через
- конфигурационный файл.
+ &man.natd.8;, поместить их в параметр
+ natd_flags="" файла
+ /etc/rc.conf, либо передать через
+ конфигурационный файл.
Для получение информации о других параметрах настройки обратитесь
- к справочной странице по &man.natd.8;
+ к справочной странице по &man.natd.8;
Перенаправление адресаперенаправление адресаПеренаправление адреса полезно, если имеется несколько адресов IP,
- и они должны быть на одной машине. В этой ситуации &man.natd.8; может
- назначить каждому клиенту ЛВС свой собственный внешний IP-адрес. Затем
- &man.natd.8; преобразует исходящие от клиентов локальной сети пакеты,
- заменяя IP-адреса на соответствующие внешние, и перенаправляет весь
- трафик, входящий на некоторый IP-адрес, обратно конкретному клиенту
- локальной сети. Это также называют статическим NAT. К примеру, пусть
- IP-адреса 128.1.1.1, 128.1.1.2 и 128.1.1.3 принадлежат шлюзовой машине
- natd. 128.1.1.1 может использоваться в качестве
- внешнего IP-адреса шлюзовой машины natd,
- тогда как 128.1.1.2 и 128.1.1.3 будут перенаправляться обратно
- к клиентам ЛВС A и B.
+ и они должны быть на одной машине. В этой ситуации &man.natd.8; может
+ назначить каждому клиенту ЛВС свой собственный внешний IP-адрес. Затем
+ &man.natd.8; преобразует исходящие от клиентов локальной сети пакеты,
+ заменяя IP-адреса на соответствующие внешние, и перенаправляет весь
+ трафик, входящий на некоторый IP-адрес, обратно конкретному клиенту
+ локальной сети. Это также называют статическим NAT. К примеру, пусть
+ IP-адреса 128.1.1.1, 128.1.1.2 и 128.1.1.3 принадлежат шлюзовой машине
+ natd. 128.1.1.1 может использоваться в качестве
+ внешнего IP-адреса шлюзовой машины natd,
+ тогда как 128.1.1.2 и 128.1.1.3 будут перенаправляться обратно
+ к клиентам ЛВС A и B.
Синтаксис для таков:-redirect_address localIP publicIP
-
-
-
- localIP
- Внутренний IP-адрес клиента локальной сети.
-
-
-
- publicIP
- Внешний IP, соответствующий клиенту локальной сети.
-
-
-
+
+
+
+ localIP
+ Внутренний IP-адрес клиента локальной сети.
+
+
+
+ publicIP
+ Внешний IP, соответствующий клиенту локальной сети.
+
+
+ В примере этот аргумент будет выглядеть так:-redirect_address 192.168.0.2 128.1.1.2
-redirect_address 192.168.0.3 128.1.1.3Как и для , эти аргументы также
- помещаются в строку natd_flags="" файла
- /etc/rc.conf или передаются через конфигурационный
- файл. При перенаправлении адресов нет нужды в перенаправлении портов,
- потому что перенаправляются все данные, принимаемые для конкретного
- IP-адреса.
+ помещаются в строку natd_flags="" файла
+ /etc/rc.conf или передаются через конфигурационный
+ файл. При перенаправлении адресов нет нужды в перенаправлении портов,
+ потому что перенаправляются все данные, принимаемые для конкретного
+ IP-адреса.
Внешние IP-адреса машины с natd должны
- быть активизированы и являться синонимами для внешнего интерфейса.
- Обратитесь к &man.rc.conf.5;, чтобы это сделать.
+ быть активизированы и являться синонимами для внешнего интерфейса.
+ Обратитесь к &man.rc.conf.5;, чтобы это сделать.
IP по параллельному порту (PLIP)PLIPIP по параллельному портуPLIPPLIP позволяет нам работать с TCP/IP по параллельному порту. Это
полезно для машин без сетевых адаптеров или для установки на лэптопы.
В этом разделе мы обсудим:создание кабеля для параллельного порта (laplink).Соединение двух компьютеров посредством PLIP.Создание параллельного кабеляВы можете приобрести кабель для параллельного порта в большинстве
- магазинов, торгующих комплектующими. Если вы его не найдете, или же
- просто хотите знать, как он делается, то следующая таблица поможет вам
- сделать такой кабель из обычного принтерного кабеля для параллельного
- порта.
+ магазинов, торгующих комплектующими. Если вы его не найдете, или же
+ просто хотите знать, как он делается, то следующая таблица поможет вам
+ сделать такой кабель из обычного принтерного кабеля для параллельного
+ порта.
Распайка кабеля для параллельного порта для сетевой
- работы
+ работы
A-nameA-EndB-EndОписаниеPost/BitDATA0
-ERROR2
1515
2Data0/0x01
1/0x08DATA1
+SLCT3
1313
3Data0/0x02
1/0x10DATA2
+PE4
1212
4Data0/0x04
1/0x20DATA3
-ACK5
1010
5Strobe0/0x08
1/0x40DATA4
BUSY6
1111
6Data0/0x10
1/0x80GND18-2518-25GND-
Настройка PLIPПрежде всего вы должны найти laplink-кабель. Затем
- удостоверьтесь, что на обоих компьютерах в ядро включена поддержка
- драйвера &man.lpt.4;:
+ удостоверьтесь, что на обоих компьютерах в ядро включена поддержка
+ драйвера &man.lpt.4;:
&prompt.root; grep lp /var/run/dmesg.boot
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven portУправление параллельным портом должно выполняться по прерываниям.
- Во &os; 4.X в файле конфигурации ядра должна присутствовать
- строка, подобная следующей:
+ Во &os; 4.X в файле конфигурации ядра должна присутствовать
+ строка, подобная следующей:
device ppc0 at isa? irq 7Во &os; 5.X файл /boot/device.hints
- должен содержать следующие строки:
+ должен содержать следующие строки:
hint.ppc.0.at="isa"
hint.ppc.0.irq="7"Затем проверьте, что файл конфигурации ядра имеет строку
- device plip, или загружен ли модуль ядра
- plip.ko. В обоих случаях интерфейс работы с
- сетью по параллельному порту должен присутствовать на момент прямого
- использования команды &man.ifconfig.8;. Во &os; 4.X это должно
- быть примерно так:
-
- &prompt.root; ifconfig lp0
-lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
-
- а для &os; 5.X:
+ device plip, или загружен ли модуль ядра
+ plip.ko. В обоих случаях интерфейс работы с
+ сетью по параллельному порту должен присутствовать на момент
+ использования команды &man.ifconfig.8;.
&prompt.root; ifconfig plip0
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
-
- Имя устройства, используемого для параллельного интерфейса,
- во &os; 4.X
- (lpX) и
- &os; 5.X
- (plipX).
-
-
Подключите кабель laplink к параллельным интерфейсам на обоих
- компьютерах.
+ компьютерах.
Настройте параметры сетевого интерфейса с обеих сторон, работая как
- пользователь root. К примеру, если вы хотите
- соединить хост host1, на котором работает
- &os; 4.X, с хостом host2 под управлением
- &os; 5.X:
+ пользователь root. К примеру, если вы хотите
+ соединить хост host1, на котором работает
+ &os; 4.X, с хостом host2 под управлением
+ &os; 5.X:
host1 <-----> host2
IP Address 10.0.0.1 10.0.0.2Настройте интерфейс на машине host1,
- выполнив:
+ выполнив:
&prompt.root; ifconfig plip0 10.0.0.1 10.0.0.2Настройте интерфейс на машине host2,
- выполнив:
+ выполнив:
&prompt.root; ifconfig lp0 10.0.0.2 10.0.0.1Теперь вы должны получить работающее соединение. Пожалуйста,
- прочтите страницы руководства по &man.lp.4; и &man.lpt.4; для выяснения
- деталей.
+ прочтите страницы руководства по &man.lp.4; и &man.lpt.4; для выяснения
+ деталей.
Вы должны также добавить оба хоста в
/etc/hosts:127.0.0.1 localhost.my.domain localhost
10.0.0.1 host1.my.domain host1
10.0.0.2 host2.my.domainЧтобы проверить работу соединения, перейдите к каждому хосту и
- выполните тестирование соединения с другой машиной посредством команды
- ping. К примеру, на машине host1:
+ выполните тестирование соединения с другой машиной посредством команды
+ ping. К примеру, на машине host1:
&prompt.root; ifconfig lp0
lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
- inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000
+ inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000
&prompt.root; netstat -r
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
host2 host1 UH 0 0 lp0
&prompt.root; ping -c 4 host2
PING host2 (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms
--- host2 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 msAaronKaplanПервоначальный текст написал TomRhodesРеструктуризацию и добавления внёс BradDavisРасширил IPv6IPv6 (также называемый IPng IP next generation -
следующее поколение IP) является новой версией широко известного
протокола IP (называемого также IPv4). Как и другие
современные системы *BSD, FreeBSD включает эталонную реализацию IPv6 от
KAME. Так что система FreeBSD поставляется со всем,
что вам нужно для экспериментирования с IPv6. Этот раздел посвящён
настройке и запуску в работу IPv6.В начале 1990-х люди стали беспокоиться о быстро иссякающем адресном
пространстве IPv4. Принимая во внимание темпы роста Интернет, имелись
основные проблемы:Нехватка адресов. Сегодня это не такая большая проблема, так как
- стали применяться адресные пространства для частных сетей (RFC1918)
- (10.0.0.0/8,
+ стали применяться адресные пространства для частных сетей (RFC1918)
+ (10.0.0.0/8,
172.16.0.0/12 и 192.168.0.0/24) и технология
- преобразования сетевых адресов (NAT - Network
- Address Translation).
+ role="ipaddr">192.168.0.0/24) и технология
+ преобразования сетевых адресов (NAT - Network
+ Address Translation).
Таблицы маршрутов становятся чересчур большими. Это всё ещё
- является проблемой сегодня.
+ является проблемой сегодня.
IPv6 решает эти и многие другие вопросы:128-битное адресное пространство. Другими словами, теоретически
- доступны 340,282,366,920,938,463,463,374,607,431,768,211,456 адреса.
- Это означает плотность примерно в 6.67 * 10^27 адресов IPv6 на
- квадратный метр нашей планеты.
+ доступны 340,282,366,920,938,463,463,374,607,431,768,211,456 адреса.
+ Это означает плотность примерно в 6.67 * 10^27 адресов IPv6 на
+ квадратный метр нашей планеты.
Маршрутизаторы будут хранить в своих таблицах только
- агрегированные адреса сетей, что уменьшает средний размер таблицы
- маршрутизации до 8192 записей.
+ агрегированные адреса сетей, что уменьшает средний размер таблицы
+ маршрутизации до 8192 записей.
Имеется также множество других полезных особенностей IPv6, таких,
как:Автоматическая настройка адреса (RFC2462)Групповые адреса (один к нескольким из
- многих)
+ многих)
Обязательные адреса множественной рассылкиIPsec (IP security - безопасный IP)Упрощённая структура заголовкаМобильный IPМеханизмы преобразования IPv6-в-IPv4Для получения дополнительной информации посмотрите:Обзор IPv6 на сайте playground.sun.comKAME.net6bone.netОсновы адресации IPv6Существуют различные типы адресов IPv6: одноадресные (Unicast),
- групповые (Anycast) и многоадресные (Multicast).
+ групповые (Anycast) и многоадресные (Multicast).
Адреса типа Unicast хорошо всем известны. Пакет, посланный на
- такой адрес, достигает в точности интерфейса, который этому адресу
- соответствует.
+ такой адрес, достигает в точности интерфейса, который этому адресу
+ соответствует.
Адреса типа Anycast синтаксически неотличимы от адресов Unicast,
- но они адресуют группу интерфейсов. Пакет, направленный такому адресу,
- попадёт в ближайший (согласно метрике маршрутизатора) интерфейс.
- Адреса Anycast могут использоваться только маршрутизаторами.
+ но они адресуют группу интерфейсов. Пакет, направленный такому адресу,
+ попадёт в ближайший (согласно метрике маршрутизатора) интерфейс.
+ Адреса Anycast могут использоваться только маршрутизаторами.
Адреса типа Multicast идентифицируют группу интерфейсов. Пакет,
- посланный на такой адрес, достигнет всех интерфейсов, привязанных к
- группе многоадресного вещания.
+ посланный на такой адрес, достигнет всех интерфейсов, привязанных к
+ группе многоадресного вещания.
- Широковещательные адреса IPv4 (обычно xxx.xxx.xxx.255) выражаются адресами
- многоадресного вещания IPv6.
+ Широковещательные адреса IPv4 (обычно xxx.xxx.xxx.255) выражаются адресами
+ многоадресного вещания IPv6.
Зарезервированные адреса IPv6IPv6 адресДлина префикса (биты)ОписаниеЗаметки::128 битнет описанияcf. 0.0.0.0 в
IPv4::1128 битloopback адресcf. 127.0.0.1 в
IPv4::00:xx:xx:xx:xx96 битвстроенный IPv4Нижние 32 бита это адрес IPv4. Также
называется IPv4 совместимым IPv6
адресом::ff:xx:xx:xx:xx96 битАдрес IPv6, отображенный на IPv4Нижние 32 бита это адрес IPv4.
Для хостов, не поддерживающих IPv6.fe80:: - feb::10 битlink-localcf. loopback адрес в IPv4fec0:: - fef::10 битsite-localff::8 битшироковещательный001 (основание
2)3 битglobal unicastВсе global unicast адреса присваиваются из этого
пула. Первые три бита
001.
Чтение адресов IPv6Каноническая форма представляется в виде x:x:x:x:x:x:x:x, где каждый символ
- x является 16-разрядным числом в шестнадцатеричной
- форме. К примеру, FEBC:A574:382B:23C1:AA49:4592:4EFE:9982
+ role="ip6addr">x:x:x:x:x:x:x:x, где каждый символ
+ x является 16-разрядным числом в шестнадцатеричной
+ форме. К примеру, FEBC:A574:382B:23C1:AA49:4592:4EFE:9982Часто в адресе присутствуют длинные строчки, заполненные нулями,
- поэтому одна такая последовательность на адрес может быть сокращена до
+ поэтому одна такая последовательность на адрес может быть сокращена до
::. Кроме того, до трех ведущих 0
на шестнадцатеричную четверку могут быть пропущены.
К примеру, fe80::1
- соответствует канонической форме fe80:0000:0000:0000:0000:0000:0000:0001.В третьей форме последние 32 бита записываются в широко известном
- (десятичном) стиле IPv4 с точками . в качестве
- разделителей. Например, f2002::10.0.0.1 соответствует
- (шестнадцатеричному) каноническому представлению 2002:0000:0000:0000:0000:0000:0a00:0001,
- которое, в свою очередь, равнозначно записи 2002::a00:1.
+ (десятичном) стиле IPv4 с точками . в качестве
+ разделителей. Например, f2002::10.0.0.1 соответствует
+ (шестнадцатеричному) каноническому представлению 2002:0000:0000:0000:0000:0000:0a00:0001,
+ которое, в свою очередь, равнозначно записи 2002::a00:1.
Теперь читатель должен понять следующую запись:&prompt.root; ifconfigrl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255
inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1
ether 00:00:21:03:08:e1
media: Ethernet autoselect (100baseTX )
status: activefe80::200:21ff:fe03:8e1%rl0
- является автоматически настроенным локальным адресом. Он
+ является автоматически настроенным локальным адресом. Он
генерируется из MAC адреса в процессе автоматической
конфигурации.Для получения дополнительной информации о структуре адресов IPv6
- обратитесь к RFC3513.Настройка подключенияНа данный момент существуют четыре способа подключиться к другим
- хостам и сетям IPv6:
+ хостам и сетям IPv6:
Подключиться к экспериментальному 6boneПолучить сеть IPv6 от вышестоящего провайдера. Для получения
- рекомендаций обратитесь к вашему провайдеру Интернет.
+ рекомендаций обратитесь к вашему провайдеру Интернет.
Туннелировать посредством 6-в-4 (RFC3068)Использовать порт net/freenet6, если вы используете
коммутируемое соединение.Здесь мы будем рассматривать подключение к 6bone, так как на
- данный момент это является самым популярным способом.
+ данный момент это является самым популярным способом.
Сначала взгляните на сайт 6bone и найдите ближайшую к вам точку
- подключения к 6bone. Напишите ответственному и при некоторой удаче вам
- дадут инструкции по настройке соединения. Обычно это касается
- настройки туннеля GRE (gif).
+ подключения к 6bone. Напишите ответственному и при некоторой удаче вам
+ дадут инструкции по настройке соединения. Обычно это касается
+ настройки туннеля GRE (gif).
Вот типичный пример настройки туннеля &man.gif.4;:&prompt.root; ifconfig gif0 create
&prompt.root; ifconfig gif0
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
&prompt.root; ifconfig gif0 tunnel MY_IPv4_ADDR MY_IPv4_REMOTE_TUNNEL_ENDPOINT_ADDR
&prompt.root; ifconfig gif0 inet6 alias MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDRЗамените слова, написанные заглавными буквами, информацией, которую
- вам дал вышестоящий узел 6bone.
+ вам дал вышестоящий узел 6bone.
При этом установится туннель. Проверьте работу туннеля утилитой
- &man.ping6.8; с адресом ff02::1%gif0.
- Вы должны получить два положительных ответа.
+ &man.ping6.8; с адресом ff02::1%gif0.
+ Вы должны получить два положительных ответа.
- Если вы заинтригованы адресом ff02:1%gif0, скажем, что это адрес
- многоадресного вещания. %gif0 указывает на
- использование такого адреса с сетевым интерфейсом
- gif0. Так как мы выполняем
- ping над адресом многоадресного вещания, то другая
- сторона туннеля также должна ответить.
+ Если вы заинтригованы адресом ff02:1%gif0, скажем, что это адрес
+ многоадресного вещания. %gif0 указывает на
+ использование такого адреса с сетевым интерфейсом
+ gif0. Так как мы выполняем
+ ping над адресом многоадресного вещания, то другая
+ сторона туннеля также должна ответить.Теперь настройка маршрута к вашей вышестоящей точке подключения
- 6bone должна быть весьма проста:
+ 6bone должна быть весьма проста:
&prompt.root; route add -inet6 default -interface gif0
&prompt.root; ping6 -n MY_UPLINK&prompt.root; traceroute6 www.jp.FreeBSD.org
(3ffe:505:2008:1:2a0:24ff:fe57:e561) from 3ffe:8060:100::40:2, 30 hops max, 12 byte packets
1 atnet-meta6 14.147 ms 15.499 ms 24.319 ms
2 6bone-gw2-ATNET-NT.ipv6.tilab.com 103.408 ms 95.072 ms *
3 3ffe:1831:0:ffff::4 138.645 ms 134.437 ms 144.257 ms
4 3ffe:1810:0:6:290:27ff:fe79:7677 282.975 ms 278.666 ms 292.811 ms
5 3ffe:1800:0:ff00::4 400.131 ms 396.324 ms 394.769 ms
6 3ffe:1800:0:3:290:27ff:fe14:cdee 394.712 ms 397.19 ms 394.102 msЭта выдача будет отличаться от машины к машине. Теперь вы должны
- суметь достигнуть сайта IPv6 www.kame.net и увидеть танцующую
- черепаху — в случае, если ваш браузер поддерживает IPv6, как,
- например, www/mozilla или
+ суметь достигнуть сайта IPv6 www.kame.net и увидеть танцующую
+ черепаху — в случае, если ваш браузер поддерживает IPv6, как,
+ например, www/mozilla или
Konqueror,
который входит в x11/kdebase3,
или www/epiphany.DNS в мире IPv6Для IPv6 использовались два типа записей DNS. IETF
объявил записи A6 устаревшими. Стандартом на данный момент
являются записи AAAA.Использование записей AAAA достаточно просто. Назначение вашему
- имени хоста нового адреса IPv6 достигается просто добавлением:
+ имени хоста нового адреса IPv6 достигается просто добавлением:
MYHOSTNAME AAAA MYIPv6ADDRк вашему первичному файлу DNS зоны. В случае, если вы не
- обслуживаете собственные зоны DNS, обратитесь к
- вашему провайдеру DNS. Имеющиеся версии
- bind (версий 8.3 и 9) и
+ обслуживаете собственные зоны DNS, обратитесь к
+ вашему провайдеру DNS. Имеющиеся версии
+ bind (версий 8.3 и 9) и
dns/djbdns (с патчем IPv6)
поддерживают записи AAAA.Внесение необходимых изменений в
/etc/rc.confНастройки клиентов IPv6Эти установки помогут вам настроить компьютер, который
будет работать в сети как клиент, а не как маршрутизатор.
Для включения настройки интерфейсов через &man.rtsol.8;
при загрузке, все, что вам потребуется, это добавить
следующую строку:ipv6_enable="YES"Для статического присвоения IP адреса, такого как 2001:471:1f11:251:290:27ff:fee0:2093,
интерфейсу fxp0, добавьте:ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093"Для назначения маршрутизатором по умолчанию
2001:471:1f11:251::1,
добавьте следующую строку к
/etc/rc.conf:ipv6_defaultrouter="2001:471:1f11:251::1"Настройки маршрутизатора/шлюза IPv6Этот раздел поможет вам использовать инструкции, которые выдал
провайдер туннеля, например, 6bone, и сделать эти настройки
постоянными. Для восстановления туннеля при загрузке системы
используйте в /etc/rc.conf нижеприведенные
настройки.Задайте список туннельных интерфейсов (Generic Tunneling
interfaces), которые необходимо настроить, например
gif0:gif_interfaces="gif0"Для настройки интерфейса с локальным подключением на
MY_IPv4_ADDR к удаленной точке
REMOTE_IPv4_ADDR:gifconfig_gif0="MY_IPv4_ADDR REMOTE_IPv4_ADDR"Для включения IPv6 адреса, который был вам присвоен для
использования в подключении к туннелю IPv6, добавьте:ipv6_ifconfig_gif0="MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR"Затем все, что вам потребуется сделать, это добавить маршрут
по умолчанию для IPv6. Это другая сторона туннеля IPv6:ipv6_defaultrouter="MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR"
- Настройка туннелирования IPv6
+ Настройка туннелирования IPv6
- Если сервер будет обеспечивать маршрутизацию между вашей сетью и
- остальным миром, то в файле /etc/rc.conf
- понадобится следующая строка:
+ Если сервер будет обеспечивать маршрутизацию между вашей сетью и
+ остальным миром, то в файле /etc/rc.conf
+ понадобится следующая строка:
- ipv6_gateway_enable="YES"
+ ipv6_gateway_enable="YES"Распространение маршрутов и автоматическая настройка
хостовЭтот раздел поможет вам настроить &man.rtadvd.8; для
распространения маршрута IPv6 по умолчанию.Для включения &man.rtadvd.8; вам понадобится добавить в
/etc/rc.conf следующую строку:rtadvd_enable="YES"Важно указать интерфейс, на котором выполняется запрос
маршрутизатора IPv6. Например, для указания &man.rtadvd.8;
использовать fxp0:rtadvd_interfaces="fxp0"Теперь мы должны создать файл настройки,
/etc/rtadvd.conf. Вот пример:fxp0:\
- :addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether:
+ :addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether:
Замените fxp0 на интерфейс, который вы
будете использовать.Затем, замените 2001:471:1f11:246:: на префикс вашего
размещения.Если у вас выделенная подсеть /64, больше ничего менять не потребуется.
Иначе, вам потребуется изменить prefixlen#
на корректное значение.HartiBrandtПредоставил Асинхронный режим передачи (ATM)Классическая настройка IP через ATM (PVC)Классический IP через ATM (CLIP)
это простейший метод использования асинхронного режима
передачи (Asynchronous Transfer Mode, ATM) с IP. Он может
быть использован с коммутируемыми подключениями
(switched connections, SVC) и с постоянными подключениями
(permanent connections, PVC). В этом разделе будет описано
как настроить сеть на основе PVC.Полностью объединенные конфигурацииПервый метод для настройки CLIP с
PVC это подключение каждого компьютера к каждому в сети с
выделенным PVC. Хотя настройка проста, она непрактична
для большого количества компьютеров. В примере предполагается,
что в сети есть четыре компьютера, каждый подключенный к
ATM
сети с помощью карты ATM адаптера.
+ role="Asynchronous Transfer Mode">ATM адаптера.
Первый шаг это планирование IP адресов и ATM подключений между
компьютерами. Мы используем:ХостIP адресhostA192.168.173.1hostB192.168.173.2hostC192.168.173.3hostD192.168.173.4Для сборки полностью объединенной сети нам потребуется по
одному ATM соединению между каждой парой компьютеров:КомпьютерыVPI.VCI соединениеhostA - hostB0.100hostA - hostC0.101hostA - hostD0.102hostB - hostC0.103hostB - hostD0.104hostC - hostD0.105Значения VPI и VCI на каждом конце соединения конечно могут
отличаться, но для упрощения мы предполагаем, что они одинаковы.
Затем нам потребуется настроить ATM интерфейсы на каждом
хосте:hostA&prompt.root; ifconfig hatm0 192.168.173.1 up
hostB&prompt.root; ifconfig hatm0 192.168.173.2 up
hostC&prompt.root; ifconfig hatm0 192.168.173.3 up
hostD&prompt.root; ifconfig hatm0 192.168.173.4 upпредполагая, что ATM интерфейс называется
hatm0 на всех хостах. Теперь PVC
необходимо настроить на hostA (мы предполагаем,
что ATM коммутаторы уже настроены, вам необходимо свериться
с руководством на коммутатор за информацией по
настройке).hostA&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr
hostA&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr
hostA&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubrКонечно, вместо UBR может быть использован другой тип, если ATM адаптер поддерживает это. В этом случае
имя типа дополняется параметрами трафика. Помощь по
&man.atmconfig.8; может быть получена командой:&prompt.root; atmconfig help natm addили на странице справочника &man.atmconfig.8;.Та же настройка может быть выполнена через
/etc/rc.conf. Для hostA
это будет выглядеть примерно так:network_interfaces="lo0 hatm0"
ifconfig_hatm0="inet 192.168.173.1 up"
natm_static_routes="hostB hostC hostD"
route_hostB="192.168.173.2 hatm0 0 100 llc/snap ubr"
route_hostC="192.168.173.3 hatm0 0 101 llc/snap ubr"
route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr"Текущий статус всех маршрутов CLIP
может быть получен командой:hostA&prompt.root; atmconfig natm show
diff --git a/ru_RU.KOI8-R/books/handbook/basics/chapter.sgml b/ru_RU.KOI8-R/books/handbook/basics/chapter.sgml
index 829adfd487..972cb3ae81 100644
--- a/ru_RU.KOI8-R/books/handbook/basics/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/basics/chapter.sgml
@@ -1,2639 +1,2639 @@
ChrisShumwayПереписал АлексейЗелькинПеревод на русский язык: АлексейДокучаевДенисПеплинОсновы UNIXКраткий обзорВ этой главе мы попытаемcя раскрыть основные принципы и команды
операционной системы FreeBSD. Большая часть нижеизложенного
материала в более или менее равной степени применима к любой
&unix;-подобной операционной системе. Если вы уверены, что не найдете
здесь ничего нового для себя, можете смело пропустить эту главу.
Если же вы новичок, мы настоятельно рекомендуем внимательно
прочесть это главу.Прочитав эту главу, вы узнаете:Как использовать виртуальные консоли
FreeBSD.Как работают права доступа на файлы в &unix; и как следует
- интерпретировать флаги файлов в ОС &os;.
+ интерпретировать флаги файлов в ОС &os;.
Иерархия каталогов &os;.Организация дисков &os;.Как монтировать и размонтировать файловые системы.Что такое процессы, даемоны и сигналы.Что такое командная оболочка (или интерпретатор команд) и
как настроить личное рабочее окружение.Как пользоваться стандартными текстовыми
редакторами.Что такое устройства и файлы устройств.Какие бинарные форматы используются в &os;.Как пользоваться справочным руководством для получения
дополнительной информации.Виртуальные консоли и терминалывиртуальные консолитерминалыFreeBSD можно использовать разными способами. Один из них —
набор команд в текстовом терминале. Используйте этот способ, и вся
гибкость и мощь систем &unix; будет в ваших руках. Этот раздел
рассказывает о терминалах, консолях и их
использовании в FreeBSD.КонсольконсольЕсли во время установки вы не настроили FreeBSD для автоматического
запуска графической среды при загрузке, система запросит ввод
логина сразу после завершения стартовых скриптов. Вы увидите примерно
следующее:Additional ABI support:.
Local package initialization:.
Additional TCP options:.
Fri Sep 20 13:01:06 EEST 2002
FreeBSD/i386 (pc3.example.org) (ttyv0)
login:В вашей системе сообщение может быть другим, но очень похожим на
это. В данный момент нас интересуют последние две строки. Вторая с
конца строка:FreeBSD/i386 (pc3.example.org) (ttyv0)В этой строке содержится немного информации о только что загруженной
системе. Это консоль FreeBSD, работающей на
Intel или совместимом процессоре x86
архитектурыЭто следует из обозначения i386. Обратите
внимание, что даже если FreeBSD работает не на процессоре
Intel 386, это обозначение будет i386.
Здесь показан не тип процессора, а его
архитектура.. Имя этого компьютера (у каждого компьютера &unix; есть
имя) pc3.example.org, и в данный момент вы видите
системную консоль — терминал
ttyv0.Наконец, последняя строка всегда:login:Здесь вам предлагается ввести имя пользователя,
чтобы войти в FreeBSD. Следующий раздел описывает способ, которым вы
можете сделать это.Вход в FreeBSDFreeBSD это многопользовательская, многопроцессорная система. Это
формальное описание системы, которая может быть использована множеством
разных людей, одновременно запускающих большое количество программ на
одном компьютере.Любой многопользовательской системе нужен способ отличать каждого
пользователя от остальных. В FreeBSD (и всех
&unix;-подобных операционных системах), эта задача решается путем
входа пользователя в систему перед запуском каких-либо
программ. У каждого пользователя есть уникальное имя (имя
пользователя) и персональный, секретный ключ
(пароль). Перед тем, как разрешить пользователю
выполнять какие-либо программы, FreeBSD запрашивает их оба.стартовые скриптыСразу после загрузки FreeBSD и завершения работы стартовых
скриптовСтартовые скрипты — это программы, запускаемые
автоматически во время загрузки FreeBSD. Их основная задача
— подготовить систему к запуску других программ и запустить
настроенные сервисы, которые будут работать в фоновом режиме,
выполняя полезную работу., система предложит вам ввести имя пользователя:login:В этом примере, предположим что ваше имя пользователя
john. Введите john в этом
приглашении и нажмите Enter. Далее должно появиться
приглашение ввести пароль:login: john
Password:Введите соответствующий имени john пароль и
нажмите Enter. Пароль не виден!
Не беспокойтесь об этом. Это сделано по соображениям
безопасности.Если вы ввели пароль правильно, то сразу же войдете в FreeBSD
и можете начать выполнять команды.Вы увидите сообщение дня (MOTD, или message of
the day) за которым последует командная строка (с символом
#, $, или %).
Это означает, что вы успешно вошли в FreeBSD.Множественные консолиЗапуск команд &unix; из консоли — это конечно хорошо, но FreeBSD может
выполнять множество программ одновременно, поэтому наличие одной консоли
может быть недостатком. В таком случае очень полезны виртуальные
консоли.
- FreeBSD может быть настроена для работы с несколькими виртуальными
+ FreeBSD может быть настроена для работы с несколькими виртуальными
консолями. Вы можете переключаться с одной виртуальной консоли на
другую, нажимая соответствующие сочетания клавиш на клавиатуре. У
каждой консоли есть свой канал вывода и FreeBSD заботится о том, чтобы
правильно перенаправить ввод с клавиатуры и вывод на монитор, как только
вы переключитесь с одной консоли на другую.Для переключения между консолями зарезервированы специальные
комбинации клавишПодробное техническое описание деталей работы драйверов консолей
FreeBSD и клавиатуры можно найти в &man.syscons.4;, &man.atkbd.4;,
&man.vidcontrol.1; и &man.kbdcontrol.1;. Здесь мы не раскрываем
деталей, однако интересующиеся этим вопросом всегда могут обратиться
к страницам справочника за более подробным объяснением того,
как это работает.. Вы можете использовать сочетания
AltF1,
AltF2, до
AltF8 чтобы
переключаться между различными виртуальными консолями в FreeBSD.При переключении от одной консоли к другой, FreeBSD заботится о
сохранении и восстановлении вывода на экран. Результатом является
иллюзия наличия множества виртуальных
экранов и клавиатур, которые могут быть использованы для ввода и запуска
команд FreeBSD. Программы, которые вы запускаете на одной виртуальной
консоли, не прекращают выполнение, когда консоль становится невидимой.
Они продолжают выполняться, когда вы переключаетесь на другую
виртуальную консоль.Файл /etc/ttysВ конфигурации по умолчанию FreeBSD запускает восемь виртуальных
консолей. Тем не менее, это не ограничение оборудования, и вы можете
легко настроить систему для загрузки большего или меньшего числа
виртуальных консолей. Число и параметры виртуальных консолей задаются
в файле /etc/ttys.Вы можете использовать это файл для настройки виртуальных консолей
FreeBSD. Любая не закомментированная строка в этом файле
(строка, не начинающаяся с символа #), содержит
настройки для одного терминала или виртуальной консоли. Версия этого
файла по умолчанию, поставляемая с FreeBSD, содержит настройки для
девяти
виртуальных консолей и включает восемь терминалов. Это строки, начинающиеся с
ttyv:# name getty type status comments
#
ttyv0 "/usr/libexec/getty Pc" cons25 on secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" cons25 on secure
ttyv2 "/usr/libexec/getty Pc" cons25 on secure
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
ttyv5 "/usr/libexec/getty Pc" cons25 on secure
ttyv6 "/usr/libexec/getty Pc" cons25 on secure
ttyv7 "/usr/libexec/getty Pc" cons25 on secure
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secureЗа детальным описанием каждой колонки этого файла и всех опций,
которые можно указать для настройки виртуальных консолей, обращайтесь
к &man.ttys.5;.Консоль в однопользовательском режимеДетальное описание однопользовательского режима
можно найти в . Стоит отметить, что
при работе FreeBSD в однопользовательском режиме есть только одна
консоль. Виртуальных консолей нет. Установки консоли в
однопользовательском режиме можно найти в файле
/etc/ttys. Обратите внимание на строку,
начинающуюся с console:# name getty type status comments
#
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
console none unknown off secureКак сказано в комментариях выше строки console,
можно отредактировать эту строку и изменить secure
на insecure. Если вы сделаете это, FreeBSD даже
при загрузке в однопользовательском режиме будет запрашивать пароль
root.Будьте осторожны при изменении этого значения на
insecure. Если вы забудете
пароль root, загрузка в однопользовательский
режим сильно усложнится. Это все еще возможно, но несколько
более сложно для тех, кто еще не очень освоился с процессом
загрузки FreeBSD и вызова программ.Права доступаUNIXFreeBSD является прямым потомком BSD &unix; и основывается на
некоторых ключевых концепциях &unix;. В первую очередь это, конечно,
тот факт, что FreeBSD – многопользовательская операционная система.
Это означает, что несколько пользователей могут работать одновременно,
решая различные задачи и совершенно не мешая друг другу. На системе
лежит ответственность за правильное разделение и управление такими
ресурсами как память, процессорное время, периферийные устройства и
прочее.Многопользовательская среда предполагает наличие механизма
регулирования прав доступа к любому ресурсу в системе. Существует три
типа прав доступа: на чтение, запись и исполнение. Права
сгруппированы три по три, соответственно чтение/запись/выполнение для
владельца/группы/всех остальных. Численное представление:права доступаправа на файлыЗначениеПрава доступаСписок файлов каталога0Ничего не разрешено---1Нельзя читать и писать, разрешено исполнять--x2Нельзя читать и исполнять, разрешено писать-w-3Нельзя читать, разрешено писать и исполнять-wx4Разрешено читать, нельзя писать и исполнятьr--5Разрешено читать и исполнять, нельзя писатьr-x6Разрешено читать и писать, нельзя исполнятьrw-7Разрешено всеrwxlsкаталогиВы можете использовать опцию команды
&man.ls.1; для получения подробного листинга каталога, включающего
колонку с информацией о правах на файл для владельца, группы и
всех остальных. Например, команда ls -l
в произвольном каталоге может вывести следующее:&prompt.user; ls -l
total 530
-rw-r--r-- 1 root wheel 512 Sep 5 12:31 myfile
-rw-r--r-- 1 root wheel 512 Sep 5 12:31 otherfile
-rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt
...Вот как выглядит первая колонка вывода
ls -l:-rw-r--r--Первый (считая слева) символ говорит обычный ли это файл, каталог,
- символьное устройство, сокет или любое другое псевдофайловое
+ символьное устройство, сокет или любое другое псевдо-файловое
устройство. В нашем случае - указывает на обычный
файл. Следующие три символа (в данном случае это rw-)
задают права доступа владельца файла. Затем идут права группы,
которой принадлежит файл (r--). Последняя тройка
(r--) определяет права для всех остальных. Минус
означает отсутствие каких-либо прав (т.е. нельзя ни читать, ни писать, ни
выполнять). В данном случае права установлены таким образом, что
владелец может читать и писать в файл, а группа и другие могут только
читать. Таким образом, численное представление прав
644, где каждая цифра представляет три части
прав на файл.Права на устройства контролируются аналогичным образом. В
FreeBSD все устройства представлены в виде файлов, которые можно
открывать, читать и писать в них. Эти специальные файлы содержатся в
каталоге /dev.Каталоги также являются файлами. К ним применимы
те же права на чтение, запись и выполнение. Правда, в данном случае
выполнение имеет несколько другой смысл. Когда
каталог помечен как исполнимый, это означает, что
можно зайти в него (с помощью команды
cd, change directory). Это также означает, что в данном каталоге
можно получить доступ к файлам, имена которых известны (конечно,
если собственные права на файл разрешают такой доступ).Если же требуется получить список файлов в некотором
каталоге, права доступа на него должные включать доступ на
чтение. Для того, чтобы удалить из каталога какой-либо файл,
имя которого известно, на этот каталог должны быть даны права
на запись и на исполнение.Существуют и другие права доступа, но они как правило используются
в особых случаях, например, setuid-бит на выполняемые файлы и sticky-бит
на каталоги. За дополнительными сведениями по этому вопросу обращайтесь
к &man.chmod.1;.TomRhodesПредоставил Символические обозначения прав
- права доступасимволические
+ права доступасимволическиеСимволические обозначения, иногда называемые символическими
выражениями, используют буквы вместо восьмеричных значений для
назначения прав на файлы и каталоги. Символические выражения
используют синтаксис (кто) (действие) (права), где существуют
следующие значения:ОпцияБукваЗначение(кто)uПользователь (User)(кто)gГруппа (Group)(кто)oДругие (Other)(кто)aВсе (All, world)(действие)+Добавление прав(действие)-Удаление прав(действие)=Явная установка прав(права)rЧтение (Read)(права)wЗапись (Write)(права)xВыполнение (Execute)(права)tSticky бит(права)sSUID или SGIDЭти значения используются командой &man.chmod.1; так же
как и раньше, но с буквами. Например, вы можете использовать
следующую команду для запрета доступа других пользователей к
FILE:&prompt.user; chmod go= FILEДля изменения более чем одного набора прав можно применить список,
разделенный запятыми. Например, следующая команда удалит права группы
и всех остальных на запись в
FILE, а затем добавит права на выполнение для
всех:&prompt.user; chmod go-w,a+x FILETomRhodesТекст предоставил Флаги файлов в &os;Кроме уже описанных прав доступа к файлам, &os; поддерживает
- использование флагов файлов. Эти флаги обеспечивают
- дополнительный уровень защиты и контроля над файлами, но не могут
- применяться к каталогам.
+ использование флагов файлов. Эти флаги обеспечивают
+ дополнительный уровень защиты и контроля над файлами, но не могут
+ применяться к каталогам.
Эти флаги добавляют дополнительные возможности контроля над
- файлами, обеспечивая (при определенных условиях) невозможность их
- удаления или изменения даже пользователю root.
+ файлами, обеспечивая (при определенных условиях) невозможность их
+ удаления или изменения даже пользователю root.
Файловые флаги изменяются при помощи утилиты &man.chflags.1;
- посредством простого интерфейса. К примеру, чтобы установить
- системный признак неудаляемости на файл file1,
- выполните следующую команду:
+ посредством простого интерфейса. К примеру, чтобы установить
+ системный признак неудаляемости на файл file1,
+ выполните следующую команду:
&prompt.root; chflags sunlink file1Чтобы отключить флаг неудаляемости, просто выполните предыдущую
- команду с ключом no перед параметром
- . Вот так:
+ команду с ключом no перед параметром
+ . Вот так:
&prompt.root; chflags nosunlink file1Чтобы просмотреть флаги этого файла, воспользуйтесь командой
- &man.ls.1; с параметрами :
+ &man.ls.1; с параметрами :
&prompt.root; ls -lo file1Результат выполнения команды должен выглядеть примерно так:-rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1Некоторые флаги могут быть установлены или сняты с файлов только
- пользователем root. В остальных случаях эти флаги
- может установить владелец файла. Для получения дополнительной
- информации мы рекомендуем изучить содержимое справки по командам
- &man.chflags.1; и &man.chflags.2;.
+ пользователем root. В остальных случаях эти флаги
+ может установить владелец файла. Для получения дополнительной
+ информации мы рекомендуем изучить содержимое справки по командам
+ &man.chflags.1; и &man.chflags.2;.
Структура каталоговиерархия каталоговФайловая система FreeBSD является ключевым моментом в понимании
устройства всей системы. Самым важным понятием является, несомненно,
корневой каталог, обозначаемый символом /.
Корневой каталог монтируется самым первым на этапе загрузки и содержит
все необходимое, чтобы подготовить систему к загрузке в
многопользовательский режим. Корневой каталог также содержит точки
монтирования всех других файловых систем.Точкой монтирования называется каталог, который будет
- соответствовать корню примонтированой файловой системы.
+ соответствовать корню смонтированной файловой системы.
Более детально это описывается в .
Стандартные точки монтирования включают /usr,
/var, /tmp,
/mnt и
/cdrom. Эти каталоги обычно перечислены в
файле /etc/fstab, в котором указаны файловые
системы и их точки монтирования. Большинство файловых систем,
описанных в /etc/fstab монтируются автоматически
из скрипта &man.rc.8;, если только для них не указана опция
. Более детальная информация находится в
.Полное описание иерархии файловой системы есть в &man.hier.7;.
Здесь же мы упомянем лишь наиболее важные каталоги.КаталогОписание/Корневой каталог файловой системы./bin/Основные утилиты, необходимые для работы как в
однопользовательском, так и в многопользовательском
режимах./boot/Программы и конфигурационные файлы, необходимые для
нормальной загрузки операционной системы./boot/defaults/Конфигурационные файлы с настройками по умолчанию,
используемые в процессе загрузки операционной системы
(см. &man.loader.conf.5;)./dev/Файлы устройств (см. &man.intro.4;)./etc/Основные конфигурационные файлы системы и
скрипты./etc/defaults/Основные конфигурационные файлы системы
с настройками по умолчанию (см. &man.rc.8;)./etc/mail/Конфигурационные файлы для систем обработки
почты (например, &man.sendmail.8;)./etc/namedb/Конфигурационные файлы для утилиты
named (см. &man.named.8;)./etc/periodic/Файлы сценариев, выполняемые ежедневно,
еженедельно и ежемесячно (см. &man.cron.8; и
&man.periodic.8;)./etc/ppp/Конфигурационные файлы для утилиты
ppp (см. &man.ppp.8;)./mnt/Пустой каталог, часто используемый системными
администраторами как временная точка
монтирования./proc/Виртуальная файловая система, отображающая
текущие процессы (см. &man.procfs.5;,
&man.mount.procfs.8;)./rescue/
- Статически слинкованные программы для восстановления
- после сбоев. Обратитесь к &man.rescue.8;.
+ Статически собранные программы для восстановления
+ после сбоев. Обратитесь к &man.rescue.8;./root/Домашний каталог пользователя
root./sbin/Системные утилиты и утилиты администрирования,
необходимые для работы как в однопользовательском,
так и в многопользовательском режимах./stand/Программы, необходимые для работы в автономном
режиме (например, при установке системы)./tmp/Временные файлы. Содержимое
/tmp обычно
теряется во время перезагрузки системы. Файловая
система в памяти часто монтируется в
/tmp. Это
может быть автоматизированно с помощью переменных
относительно tmpmfs из &man.rc.conf.5; (или же с
помощью записи в /etc/fstab;
обращайтесь к &man.mdmfs.8;, или в случае
FreeBSD 4.X к &man.mfs.8;)./usr/Большинство пользовательских утилит и приложений./usr/bin/Пользовательские утилиты и приложения общего
назначения./usr/include/Стандартные заголовочные файлы для языка C./usr/lib/Файлы стандартных библиотек./usr/libdata/Файлы данных для различных утилит./usr/libexec/Системные даемоны и утилиты (выполняемые другими
программами)./usr/local/Локальные пользовательские приложения,
библиотеки, и т.д. Также используется по умолчанию коллекцией
портов. Внутри /usr/local
иерархия каталогов должна следовать &man.hier.7; для
/usr. Исключение составляют
каталог man, который расположен
непосредственно в /usr/local, а не
в /usr/local/share, и документация портов,
которая расположена в
share/doc/port.
/usr/obj/Архитектурно-зависимые файлы и каталоги,
образующиеся в процессе сборки системы из исходных
текстов в /usr/src./usr/ports/Коллекция портов FreeBSD (опционально)./usr/sbin/Системные утилиты и утилиты администрирования
(исполняемые пользователем)./usr/share/Архитектурно-независимые файлы./usr/src/Исходные тексты BSD и/или
программ./usr/X11R6/Утилиты, приложения и библиотеки X11R6 (X Window
System; необязательно)./var/Файлы журналов общего назначения, временные,
перемещаемые файлы и файлы очередей. Файловая
система в памяти иногда монтируется в
/var. Это
- может быть автоматизированно с помощью переменных
- относительно varmfs из &man.rc.conf.5; (или же с
- помощью записи в /etc/fstab;
- обращайтесь к &man.mdmfs.8;, или в случае
- FreeBSD 4.X к &man.mfs.8;).
+ может быть автоматизированно с помощью переменных
+ относительно varmfs из &man.rc.conf.5; (или же с
+ помощью записи в /etc/fstab;
+ обращайтесь к &man.mdmfs.8;, или в случае
+ FreeBSD 4.X к &man.mfs.8;).
/var/log/Различные файлы системных журналов./var/mail/Почтовые ящики пользователей./var/spool/Файлы очередей печати, почты, и пр./var/tmp/Временные файлы, которые обычно сохраняются во время
перезагрузки системы, если только
/var не является
файловой системой в памяти./var/yp/Карты (maps) NIS.Организация дисковНаименьшая единица, которую FreeBSD использует для обращения
к файлам, это имя файла. Имена файлов чувствительны к регистру,
поэтому readme.txt и README.TXT
— два разных файла. FreeBSD не использует
расширение файла (.txt) для определения
программа это, документ или другой тип данных.Файлы хранятся в каталогах. Каталоги могут не содержать файлов,
или могут содержать много сотен файлов. Каталоги также могут
содержать другие каталоги, что позволяет создавать иерархию каталогов
один в другом. Это упрощает организацию данных.Обращение к файлам происходит путем задания имени файла или
каталога, дополняемого прямым слэшем /, за которым
может следовать имя другого каталога. Если есть каталог
foo, содержащий каталог
bar, который содержит файл
readme.txt, полное имя, или
- путь к файлу будет
+ путь к файлу будет
foo/bar/readme.txt.Каталоги и файлы хранятся в файловой системе. Каждая файловая система
содержит один каталог на верхнем уровне, называемый
корневым каталогом этой файловой системы.
Этот корневой каталог может содержать другие каталоги.Внешне это может быть похоже на те операционные системы,
которые вы возможно использовали. Есть несколько отличий:
например, &ms-dos; использует \ для разделения имен
файлов и каталогов, а &macos; использует :.
- FreeBSD не использует букв дисков, или других имен дисков в
+ FreeBSD не использует букв дисков, или других имен дисков в
пути. Вам не нужно писать c:/foo/bar/readme.txt
в FreeBSD.Вместо этого, одна файловая система назначается корневой
файловой системой. Обращение к корневому каталогу
корневой файловой системы происходит через /.
Любая другая файловая система монтируется
к корневой файловой системе. Неважно как много дисков есть в вашей
системе FreeBSD, каждый каталог будет выглядеть как расположенный
на том же диске.Предположим, у вас есть три файловых системы: A,
B, и C. Каждая файловая
система имеет один корневой каталог, в котором содержатся другие
каталоги, называемые
A1, A2 (и аналогично
B1, B2 и
C1, C2).Назовем A корневой файловой системой.
Если вы используете команду ls для просмотра
содержимого каталога, вы увидите два подкаталога, A1
и A2. Дерево каталогов выглядит так: /
|
+--- A1
|
`--- A2
- Файловая система должна быть примонтирована к каталогу другой
+ Файловая система должна быть подмонтирована к каталогу другой
файловой системы. Предположим, что вы монтируете файловую систему
B на каталог A1. Корневой
каталог B замещается A1,
а каталоги в B отображаются соответственно: /
- |
+ |
+--- A1
| |
| +--- B1
| |
| `--- B2
|
`--- A2Если потребуется, любые файлы из каталогов B1 или
B2 могут быть получены через путь
/A1/B1 или /A1/B2.
Все файлы, бывшие в /A1, временно скрыты.
Они появятся, если B будет
размонтирована с A.Если B была смонтирована на A2,
диаграмма будет выглядеть так: /
|
+--- A1
|
`--- A2
|
+--- B1
|
`--- B2а пути будут /A2/B1 и
/A2/B2 соответственно.Файловые системы могут быть смонтированы одна на другую.
Продолжая предыдущий пример, файловая система C
может быть смонтирована на каталог B1 файловой
системы B в таком порядке:
-
+
/
|
+--- A1
|
`--- A2
|
+--- B1
| |
| +--- C1
| |
| `--- C2
|
`--- B2Или C может быть смонтирована прямо на
файловую систему A, на каталог A1
: /
|
+--- A1
| |
| +--- C1
| |
| `--- C2
|
`--- A2
|
+--- B1
|
`--- B2Если вы знакомы с &ms-dos;, это похоже, хотя и не идентично,
команде join.Как правило, это не должно вас интересовать. Обычно вы создаете
файловые системы во время установки FreeBSD, решаете куда их
монтировать, и ничего не меняете, пока не понадобится добавить новый
диск.Можно создать одну большую корневую файловую систему и не
создавать других. У такого подхода есть несколько
недостатков и одно преимущество.Преимущества нескольких файловых систем
-
-
+
+ Различные файловые системы могут иметь различные
опции монтирования. Например,
в целях безопасности корневая файловая система может
быть смонтирована только для чтения, что делает
невозможным случайное удаление или редактирование
критически важного файла. Отделение файловых систем,
используемых пользователями для записи, таких как
/home, от других файловых
систем позволяет также монтировать их с параметром
nosuid; этот параметр отменяет
действие битов suid/
guid на исполняемых файлах,
в этой файловой системе, что потенциально повышает
безопасность.FreeBSD автоматически оптимизирует расположение файлов на
файловой системе в зависимости от того, как файловая система
используется. Файловая система, содержащая множество мелких часто
записываемых файлов, будет иметь оптимизацию, отличную от таковой
для файловой системы, содержащей несколько больших файлов.
На одной большой файловой системе эта оптимизация не
работает.
-
+
Файловые системы FreeBSD очень устойчивы к внезапному
отключению. Тем не менее, потеря питания в критический момент
все же может повредить структуру файловой системы. Разделение
данных на несколько файловых систем повышает шансы, что система
все-таки будет работать и делает более легким восстановление с
резервной копии.Преимущество одной файловой системыРазмер файловых систем фиксирован. Если вы создаете файловую
систему при установке FreeBSD и задаете определенный размер,
позднее вы можете обнаружить что нужен раздел большего размера.
Это не так легко сделать без резервного копирования, создания
файловых систем нового размера и последующего восстановления
сохраненных данных.В FreeBSD 4.4 и выше представлена новая команда,
&man.growfs.8;, которая позволяет увеличивать размер
файловой системы на лету, устраняя это ограничение.
-
+
Файловые системы содержатся в разделах. Этот термин не имеет
того же смысла, что и при более раннем его использовании в этой главе,
из-за наследия &unix; в &os;. Каждый раздел обозначается буквой
от a до h. Каждый раздел может
содержать только одну файловую систему, это значит что файловая система
может быть описана ее точкой монтирования в файловой иерархии,
или буквой раздела, в котором она содержится.FreeBSD также использует дисковое пространство под
раздел подкачки (swap space). Подкачка позволяет
FreeBSD работать с виртуальной памятью.
- Ваш компьютер может работать так, как если бы у него было больше
+ Ваш компьютер может работать так, как если бы у него было больше
памяти, чем есть на самом деле. Когда у FreeBSD кончается память, она
перемещает часть данных, не используемых в данный момент, в раздел
подкачки и возвращает их обратно (перемещая в подкачку что-то другое),
когда они нужны.По некоторым разделам есть определенные соглашения.РазделСоглашениеaКак правило, содержит корневую файловую системуbКак правило, содержит раздел подкачкиcКак правило, такого же размера, что и весь слайс (slice).
Это позволяет утилитам, которым нужно работать над всем
- слайсом (например, сканер плохих блоков), работать с
+ слайсом (например, сканер плохих блоков), работать с
разделом c. В обычной ситуации не нужно
создавать файловую систему на этом разделе.dРаздел d создавался для специальных
целей, хотя сейчас не используется. На настоящий момент,
некоторые утилиты могут работать некорректно при
попытке обращения к d, поэтому
sysinstall обычно не создает
раздел d.Каждый раздел-содержащий-файловую-систему хранится на том, что
во FreeBSD называется слайс (slice). Слайс
— это термин FreeBSD, то, что обычно называют разделом,
и опять же это из-за &unix; основы FreeBSD. Слайсы нумеруются с 1 по
4.слайсыразделыdangerously dedicatedНомера слайсов следуют за именем устройства, предваряемые
строчной s, начиная с 1. Так
da0s1 это первый слайс первого
SCSI устройства. Может быть только четыре физических слайса на диске,
но могут быть логические слайсы нужного типа внутри физических
слайсов. Эти дополнительные
слайсы нумеруются начиная с 5, так что
ad0s5 это первый дополнительный
слайс на первом IDE диске. Эти устройства используются файловыми
- системами, занимающими весь слайс.
+ системами, занимающими весь слайс.Слайсы, эксклюзивно выделенные (dangerously dedicated) физические устройства
и другие устройства содержат разделы,
представляемые буквами от a до h.
Эти буквы добавляются к имени устройства.
da0a это раздел a на первом
устройстве da, который эксклюзивно выделен.
ad1s3e это пятый раздел
в третьем слайсе второго IDE диска.
-
+
Наконец, каждый диск идентифицирован. Имя диска начинается с
кода, обозначающего тип диска, затем идет номер диска.
В отличие от слайсов, нумерация дисков начинается
с 0. Основные коды, которые вам могут встретиться, есть в
.В то время, как ссылка на раздел FreeBSD требует также указания
слайса и диска, содержащего раздел, ссылка на слайс требует также
указания имени диска. Делайте это указанием имени диска,
s, номера слайса, и затем буквы раздела.
Примеры показаны в
. показывает
концептуальную модель диска, которая должна помочь прояснить
ситуацию.Для установки FreeBSD вы должны сначала настроить слайсы
дисков, затем создать разделы внутри слайсов, которые будут
использованы для FreeBSD, а затем создать файловую систему
(или подкачку) в каждом разделе и решить, куда файловая система
будет смонтирована.
Коды дисковых устройств
-
-
+
+ Код
-
+
ЗначениеadATAPI (IDE) дискda
-
+
SCSI direct access диск
-
+
acd
-
+
ATAPI (IDE) CDROM
-
+
cd
-
+
SCSI CDROM
-
+
fd
-
+
Floppy disk
-
+
Пример имен диска, слайса, и раздела
-
+
-
-
+
+ Имя
-
+
Значение
-
+
ad0s1a
-
+
Первый раздел (a) на первом слайсе
(s1) первого IDE диска
(ad0).da1s2e
-
+
Пятый раздел (e) на
втором слайсе (s2) второго SCSI диска
(da1).Концептуальная модель дискаЭта диаграмма показывает первый подключенный к системе IDE диск
с точки зрения FreeBSD. Предположим, что размер диска 4 GB, и он
содержит два 2 GB слайса (&ms-dos; разделы). Первый слайс содержит
&ms-dos; диск, C:, а второй слайс содержит
установленную FreeBSD. В этом примере в установленной FreeBSD
три раздела и раздел подкачки.В каждом из трех разделов есть файловая система. Раздел
a используется для корневой файловой системы,
- e для иерархии каталогов
+ e для иерархии каталогов
/var, а f для иерархии
каталогов /usr.
-
-
-
-
-
-
+
+
+
+
+
+ .-----------------. --.
| | |
| DOS / Windows | |
-: : > First slice, ad0s1
+: : > First slice, ad0s1
: : |
| | |
:=================: ==: --.
| | | Partition a, mounted as / |
-| | > referred to as ad0s2a |
+| | > referred to as ad0s2a |
| | | |
:-----------------: ==: |
| | | Partition b, used as swap |
-| | > referred to as ad0s2b |
+| | > referred to as ad0s2b |
| | | |
:-----------------: ==: | Partition c, no
-| | | Partition e, used as /var > filesystem, all
-| | > referred to as ad0s2e | of FreeBSD slice,
+| | | Partition e, used as /var > filesystem, all
+| | > referred to as ad0s2e | of FreeBSD slice,
| | | | ad0s2c
:-----------------: ==: |
| | | |
: : | Partition f, used as /usr |
-: : > referred to as ad0s2f |
+: : > referred to as ad0s2f |
: : | |
| | | |
| | --' |
`-----------------' --'
-
-
+
+ Монтирование и размонтирование файловых системФайловая система лучше всего представима в виде дерева, с
корнем в /. Каталоги,
/dev, /usr и прочие
– это ветви дерева, которые, в свою очередь, являются
корнями для поддеревьев, также имеющих ветви
(/usr/local), и т.д.корневая файловая системаХорошей практикой является разнесение некоторых особо важных
каталогов на разные файловые системы. Например,
/var, содержит
log/, spool/, а также
всевозможные временные файлы и нередко может занять все свободное
место на диске. Поэтому лучше смонтировать
/var отдельно, чтобы избежать переполнения
/.Часто бывает так, что некоторые разделы файловой системы
расположены на разных физических носителях (дисках, CDROM),
виртуальных или сетевых (например, сетевая
файловая система (Network File System, NFS)). В этом
случае узлы файловой иерархии будут расположены на разных
файловых системах.Файл fstabfilesystemsmounted with fstabФайловые системы, перечисленные в
/etc/fstab, монтируются автоматически в
процессе загрузки
(если, конечно, для них не
указана опция ).Формат файла /etc/fstab
следующий (файловые системы перечисляются построчно):устройство/точка-монтированиятип файловой системыопциичастота дамповпорядок проверкиустройствоИмя устройства (которое должно присутствовать), как описано в
.точка монтированияКаталог (существующий), куда следует смонтировать
файловую систему.тип файловой системыТип файловой системы, который передается программе
&man.mount.8;. По умолчанию FreeBSD использует
ufs.опцииНапример, , для монтирования
файловой системы в режиме чтение-запись,
или , для режима только
чтение, за которыми могут следовать и другие
опции. Довольно часто используется
опция , чтобы не монтировать
автоматически файловые системы в процессе загрузки.
Об остальных опциях можно прочитать в
&man.mount.8;.частота дамповИспользуется утилитой &man.dump.8; для определения
файловых систем, с которых необходимо периодически
снимать специальные архивные копии. При отсутствии этого
параметра принимается равным нулю.порядок проверкиОпределяет порядок, в котором следует проверять
файловые системы (чаще всего, в случае некорректного
размонтирования или внезапной перезагрузки системы). Если
файловую системы не нужно проверять, этот параметр должен
быть установлен в ноль. Для корневой файловой системы
(которая должна быть проверена в первую очередь)
установите его в 1. Для всех остальных – 2 или
больше. Если две или более файловые системы имеют
одинаковое значение passno,
&man.fsck.8; попытается проверять их параллельно (если,
конечно, это возможно физически).Обратитесь к &man.fstab.5; за дополнительной информацией
о формате файла /etc/fstab и различных
опциях монтирования.Команда mountfilesystemsmountingКоманда &man.mount.8; используется, как следует из ее имени,
для монтирования файловых систем.Пример использования (простейший случай):&prompt.root; mount устройствоточка-монтированияПеречислим основные опции, которые может принимать команда
&man.mount.8; (полный список смотрите на странице
справочника):Опции монтированияСмонтировать все файловые системы, перечисленные в
файле /etc/fstab. Исключение
составляют помеченные как noauto,
перечисленные после опции и уже
смонтированные.Сделать все, кроме самого системного вызова mount.
Эта опция полезна вместе с флагом
для определения того, что на самом деле пытается сделать
&man.mount.8;.Монтировать поврежденный раздел (опасно!),
или форсировать отмену всех запросов на запись при
изменении режима монтирования с
чтение-запись на только
чтение.Монтировать файловую систему в режиме только
для чтения. То же самое, что и указание
аргумента (
для &os; версий старше, чем 5.2) для опции
.fstypeМонтировать файловую систему как систему указанного
типа, или, в случае опции , только
файловые системы данного типа.По умолчанию, тип файловой системы –
ufs.Обновить опции монтирования для файловой
системы.Выдавать более подробную информацию.Монтировать файловую систему в режиме
чтение-запись.Опция принимает разделенные запятыми
аргументы, включая нижеперечисленные:nodevНе обращать внимание на специальные файлы устройств
на файловой системе (то есть не считать их файлами
устройств). Весьма полезная опция для повышения
безопасности системы.noexecЗапрет на исполнение бинарных файлов на файловой
системе (тоже полезная опция для повышения безопасности
системы).nosuidИгнорировать setuid и setgid биты на файловой системе
(еще одна полезная опция для повышения безопасности
системы).Команда umountfilesystemsunmountingКоманда &man.umount.8; принимает в качестве параметра точку
монтирования какой-либо файловой системы, имя устройства, опцию
или .Кроме того, вы можете дополнительно указать опцию
для форсированного размонтирования файловой
системы, и для получения более подробной
информации. Имейте ввиду, что это в общем случае опасно и
потому не рекомендуется, так как тем самым вы можете нарушить
работу компьютера или повредить данные на файловой системе.Опции и
используются для размонтирования всех файловых систем (разве
что вы укажете опцию ). Разница состоит в
том, что не пытается размонтировать
корневую файловую систему.ПроцессыFreeBSD является многозадачной операционной системой.
Это означает, что одновременно может быть запущена более чем одна
программа. Каждая программа, работающая в некоторый момент времени,
называется процессом. Каждая команда,
которую вы запускаете, порождает хотя бы один процесс. Есть несколько
системных процессов, запущенных все время и поддерживающих
функциональность системы.У каждого процесса есть уникальный номер, называемый
process ID, или PID, и,
как и у файлов, у каждого процесса есть владелец и группа. Информация
о владельце и группе процесса используется для определения того, какие
файлы и устройства могут быть открыты процессом с учетом прав на файлы,
о которых говорилось ранее. Также у большинства процессов есть
родительский процесс. Например, при запуске команд из оболочки,
оболочка является процессом и любая запущенная команда также является
процессом. Для каждого запущенного таким путем процесса оболочка будет
являться родительским процессом. Исключением из этого правила является
специальный процесс, называемый &man.init.8;.
init всегда первый процесс, его PID всегда 1.
init запускается автоматически ядром во время
загрузки FreeBSD.Две команды очень полезны для просмотра работающих в системе
процессов, это &man.ps.1; и &man.top.1;. Команда ps используется
для получения списка запущенных процессов и может показать их PID,
сколько памяти они используют, команду, которой они были запущены и т.д.
Команда top показывает запущенные процессы и обновляет экран
каждые несколько секунд, что позволяет наблюдать за работой компьютера
в реальном времени.По умолчанию, ps показывает только принадлежащие вам
процессы. Например:&prompt.user; ps
PID TT STAT TIME COMMAND
298 p0 Ss 0:01.10 tcsh
7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi
48730 p0 IW 0:00.00 (dns helper) (navigator-linux-)
72210 p0 R+ 0:00.00 ps
390 p1 Is 0:01.14 tcsh
7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y
6688 p3 IWs 0:00.00 tcsh
10735 p4 IWs 0:00.00 tcsh
20256 p5 IWs 0:00.00 tcsh
262 v0 IWs 0:00.00 -tcsh (tcsh)
270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16
280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16
284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc
285 v0 S 0:38.45 /usr/X11R6/bin/sawfishКак вы можете видеть в данном примере, вывод &man.ps.1; организован
в несколько колонок. Идентификатор процесса PID
обсуждался ранее. PID назначаются с 1 до 99999 и опять с начала, если
последнее число будет превышено. Колонка TT показывает
терминал (tty), на котором запущена программа (можете пока забыть про
это). STAT показывает состояние программы и опять
же может быть пока проигнорирован. TIME это количество
времени центрального процессора, использованное
программой — это обычно не время, прошедшее с запуска
программы, поскольку большинство программы проводят много времени
в ожидании некоторого события перед тем, как занять время процессора.
Наконец, COMMAND это команда, которой программа
- была запущена.
+ была запущена.
У &man.ps.1; есть множество различных опций, влияющих на выводимую
информацию. Один из наиболее полезных наборов опций это
auxww. позволяет показать
информацию о всех запущенных процессах, а не только тех, которыми вы
владеете. показывает имя пользователя,
владеющего процессом, и информацию об используемой памяти.
показывает информацию о процессах-даемонах и
указывает &man.ps.1; показать всю командную строку,
вместо обрезания ее, когда она станет слишком длинной, чтобы уместиться
на экран.Вывод &man.top.1; похож на только что описанный.
Обычно он выглядит так:&prompt.user; top
last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10
47 processes: 1 running, 46 sleeping
CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle
Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free
Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top
7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14
281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA
296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm
48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu
175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd
7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt
...Вывод разбит на два раздела. Заголовок (первые пять строк)
показывает PID последнего запущенного процесса, среднее значение
загрузки системы (которое показывает насколько система занята),
время работы системы с последней перезагрузки и текущее время.
Другие цифры заголовка относятся к количеству запущенных процессов
(в данном примере 47), количеству занятой памяти и подкачки и время,
занимаемое различными состояниями процессора.Ниже идут несколько колонок, содержащих похожую на вывод &man.ps.1;
информацию. Как и раньше, это PID, время процессора, командная строка.
&man.top.1; показывает также величину занятой процессом памяти.
Это значение разбито на две колонки, одна для общего объема, а другая
для резидентного — общий объем показывает сколько всего памяти
нужно приложению, а резидентный показывает количество памяти, используемой
в данный момент. Из этого примера видно, что
&netscape; требует почти 30 MB памяти,
но в данный момент использует только 9 MB.&man.top.1; автоматически обновляет экран каждые две секунды;
это значение можно изменить опцией .Даемоны, сигналы, уничтожение процессовЕсли вы запускаете редактор, им можно легко управлять, открывать в
нем файлы и т.д. Вы можете делать это, поскольку редактор предоставляет
такие возможности и потому, что редактор присоединен к
терминалу. Некоторые программы разработаны
без поддержки интерфейса пользователя, поэтому они отсоединяются от
терминала при первой возможности. Например, веб-сервер целый день
отвечает на запросы из сети, и ему как правило не требуется ваше вмешательство.
Программы, передающие почту от сервера к серверу — другой пример
приложений этого класса.Мы называем эти программы даемонами. Даемоны это
персонажи греческой мифологии; хорошие или плохие, они были спутниками
человека и, вообще говоря, выполняли полезную работу для людей. Почти как
веб- и почтовые серверы выполняют полезную работу сегодня. Это причина,
по которой талисманом BSD долгое время является веселый даемон в тапочках и с
вилами.Есть соглашение, по которому имя программы, которая обычно запускается
как даемон, заканчивается на d. BIND
это Berkeley Internet Name Daemon (выполняемая программа называется
named), программа веб сервера
Apache называется httpd,
даемон очереди печати это lpd и так далее. Это соглашение,
а не жесткое правило; например, главный почтовый даемон для
Sendmail называется
sendmail, а не maild, как вы могли бы
предположить.Иногда может потребоваться взаимодействие с процессом даемона.
Эти можно сделать с помощью сигналов, т.е.
взаимодействовать с даемонами (или с любыми запущенными процессами),
посылая им сигнал. Есть множество различных сигналов — некоторые
из них имеют специальное значение, другие обрабатываются приложением,
реакция которого на эти сигналы должна быть описана в документации.
Вы можете посылать сигналы только тем процессам,
владельцем которых являетесь. Если вы отправите сигнал какому-то другому
процессу с помощью &man.kill.1; или &man.kill.2;, доступ будет запрещен.
Исключением из правил является пользователь root,
который может отправлять сигналы любому процессу.В некоторых случаях FreeBSD тоже посылает сигналы приложениям. Если
приложение плохо написано и пробует обратиться к области памяти, к
которой оно не должно обращаться, FreeBSD посылает процессу сигнал
нарушение сегментации (SIGSEGV).
Если приложение использует системный вызов &man.alarm.3;, чтобы получить
уведомление по истечении определенного периода времени, будет отправлен
сигнал Alarm (SIGALRM) и т.д.Два сигнала могут быть использованы для завершения процесса,
SIGTERM и SIGKILL.
SIGTERM это корректный способ завершить процесс;
процесс может поймать сигнал, определить, что его
хотят завершить, закрыть любые файлы, которые он мог открыть,
и закончить то, что он делал в момент перед закрытием. В некоторых
случаях процесс может даже игнорировать SIGTERM,
если выполняет задачу, которая не может быть прервана.SIGKILL не может быть проигнорирован процессом.
Этот сигнал говорит Меня не волнует что ты делаешь —
остановись немедленно. Если вы посылаете процессу
SIGKILL, FreeBSD сразу же остановит этот
процессНе совсем верно — есть несколько действий, которые не могут
быть прерваны. Например, если процесс пытается прочитать файл на
другом компьютере в сети, и другой компьютер по какой-то причине не
отвечает (был выключен, или в сети произошла ошибка), процесс
находится в так называемом непрерываемом состоянии.
В конце концов время ожидания закончится, обычно это происходит через
две минуты. Как только время закончится, процесс будет
уничтожен..Другие сигналы, которые возможно вам понадобятся,
SIGHUP, SIGUSR1, и
SIGUSR2. Это сигналы общего назначения,
различные приложения могут по-разному реагировать на них.Предположим, что вы изменили файл конфигурации веб сервера —
теперь нужно указать ему перечитать конфигурацию. Можно остановить
и запустить httpd, но это приведет к кратковременной
остановке сервера, которая может быть нежелательна. Большинство даемонов
написаны так, чтобы при получении сигнала SIGHUP
перечитывать файлы конфигурации. Поэтому вместо уничтожения и запуска
httpd можно послать сигнал SIGHUP.
Поскольку нет стандартного способа реагирования на этот сигнал, различные
даемоны будут вести себя по разному; прочитайте документацию на даемон
по этому вопросу.
-
+
Сигналы посылаются с помощью команды &man.kill.1;, как показано в этом
примере.Отправка сигнала процессуЭтот пример показывает как послать сигнал &man.inetd.8;. Файл
конфигурации inetd/etc/inetd.conf, inetd перечитает
этот файл, если ему отправить сигнал SIGHUP.Нужно определить PID процесса, которому вы хотите отправить сигнал.
Сделайте это с помощью &man.ps.1; и &man.grep.1;. Команда &man.grep.1;
используется для поиска по заданной строке в выходном потоке. Эта
команда запускается под обычным пользователем, а &man.inetd.8; под
root, поэтому &man.ps.1; должна быть запущена с
параметром .&prompt.user; ps -ax | grep inetd
198 ?? IWs 0:00.00 inetd -wWИтак, PID &man.inetd.8; 198. В некоторых случаях в выводе команды
может также появиться grep inetd. Это из-за способа,
которым &man.ps.1; получает список запущенных процессов.Используйте &man.kill.1; для отправки сигнала. Поскольку
&man.inetd.8; запускается из под root,
нужно сначала использовать &man.su.1; для получения прав
root.&prompt.user; suPassword:
&prompt.root; /bin/kill -s HUP 198Как и большинство команд &unix;, &man.kill.1; ничего не выведет,
если отработает нормально. Если вы посылаете сигнал процессу,
которым не владеете, на экране появится kill:
PID: Operation not
permitted. При неправильно набранном PID вы или отправите
сигнал другому процессу, что может привести к неприятностям, или, если
повезет, сигнал будет отправлен на PID, который в данный момент не
используется — на экране появится kill:
PID: No such process.Зачем использовать /bin/kill?Во многих оболочках команда kill встроена;
таким образом, оболочка вместо вызова /bin/kill
сама посылает сигнал. Это может быть очень полезно, но в разных
оболочках имя сигнала указывается по-разному. Чем
пытаться выучить их все, гораздо проще использовать
/bin/kill ...
непосредственно.Отправка других сигналов очень похожа, просто замените
TERM или KILL в командной
строке на имя другого сигнала.Уничтожение процессов наугад может быть плохой идеей. В частности,
- &man.init.8;, чей PID 1, имеет особое значение. Выполнение
+ &man.init.8;, чей PID 1, имеет особое значение. Выполнение
/bin/kill -s KILL 1 — быстрый способ перегрузить
систему. Всегда дважды проверяйте параметры
запуска &man.kill.1; перед тем, как нажать
Enter.Интерпретатор командоболочкакомандная строкаПри работе с FreeBSD, в большинстве случаях для выполнения
повседневных задач используется командный интерфейс (так называемая
оболочка, shell). Основная задача интерпретатора — принимать
вводимые команды и выполнять их. Многие командные интерпретаторы имеют
встроенные средства для выполнения повседневной работы, например,
операции над файлами и каталогами, редактирование командной строки,
командные макросы и переменные окружения. Вместе с FreeBSD
поставляется несколько командных интерпретаторов, например,
sh, или Bourne Shell, и tcsh,
расширенная версия C-shell. Многие другие интерпретаторы доступны из
коллекции портов FreeBSD, например zsh и
bash.
- Какой из командных интерпретаторов использовать? Это дело вкуса.
+ Какой из командных интерпретаторов использовать? Это дело вкуса.
Если вы программируете на C, то вам, возможно, понравится
tcsh. Если вы работали с Linux, или только начинаете
работать с интерфейсом командной строки &unix;, попробуйте
bash. Каждый из названных интерпретаторов имеет свои
особенности, которые отличат его от других, и, возможно, повлияют на ваш
выбор.Одна из наиболее часто используемых функций командного
интерпретатора – дополнение частичного имени файла до полного. Вы
можете набрать только первые несколько символов имени файла, нажать
клавишу табуляции (TAB), и командный интерпретатор автоматически завершит
имя. Например, у нас есть два файла, названные foobar и
foo.bar. Допустим, мы хотим удалить файл
foo.bar. Для этого, наберем на клавиатуре
rm fo[Tab].[Tab].Вы увидите следующее: rm foo[BEEP].bar.Здесь [BEEP] – это так называемый консольный сигнал,
оповещающий о том, что интерпретатор не в состоянии закончить имя
файла, так как по введенным вами символам невозможно однозначно
идентифицировать файл. Например, имена файлов
foobar и foo.bar оба
начинаются с fo, но после нажатия TAB можно
однозначно дополнить только до foo. Если же теперь
ввести точку (.) и вновь нажать TAB, интерпретатор
достроит имя файла целиком.переменные окруженияДополнительные возможности при работе с интерпретатором дает
использование переменных окружения. Переменные окружения это пары
переменная=значение, хранящиеся в памяти интерпретатора.
Значение переменных окружения может быть прочитано любой программой,
запущенной из командного интерпретатора, и часто содержит
настройки для многих приложений и утилит. Ниже приведены некоторые
наиболее часто встречающиеся переменные окружения и их значения:переменные окруженияПеременнаяОписаниеUSERИмя текущего пользователя.PATHКаталоги, разделенные двоеточием, для
поиска исполняемых файлов.DISPLAYСетевое имя виртуального дисплея X11, доступного для
подключения.SHELLТекущий командный интерпретатор.TERMНазвание (тип) терминала. Используется, чтобы узнать
возможности терминала.TERMCAPСписок escape-последовательностей для управления
различными функциями терминала.OSTYPEНазвание (тип) операционной системы. Например,
FreeBSD.MACHTYPEАрхитектура машины (процессора).EDITORВыбранный пользователем текстовый редактор.PAGERВыбранная пользователем утилита просмотра
файлов.MANPATHКаталоги, разделенные двоеточием, для
поиска файлов системного справочника.оболочки BourneУстановка значений переменных окружения различна для разных
оболочек. Например, в интерпретаторах C-стиля, таких как
tcsh и csh, это
setenv. В интерпретаторах Bourne, таких как
sh и bash, это
export. Например, чтобы установить или изменить
значение переменной EDITOR к значению
/usr/local/bin/emacs в csh или
tcsh, выполните команду:&prompt.user; setenv EDITOR /usr/local/bin/emacsВ оболочках Bourne:&prompt.user; export EDITOR="/usr/local/bin/emacs"Чтобы получить значение переменной, например, в командной строке,
поместите символ $ перед именем
переменной. Например, команда echo $TERM выведет
значение переменной $TERM.Командный интерпретатор воспринимает некоторые символы, называемые
метасимволами, в качестве управляющих.
Один из наиболее часто используемых – символ *,
который заменяет любое количество символов в имени файла.
Метасимволы
используются для поиска файлов по маске, например, команда
echo * делает практически тоже самое, что и
- команда ls, поскольку интерпретатор вызывает команду
+ команда ls, поскольку интерпретатор вызывает команду
echo, передавая ей имена всех файлов, попадающих под маску
*.В некоторых ситуациях требуется, чтобы интерпретатор воспринимал
метасимволы как обычные, не несущие специальной смысловой нагрузки.
Этого можно достичь, поставив перед символом обратную косую черту
(\). Например, команда echo
$TERM выведет тип вашего терминала, в то же время команда
echo \$TERM выведет именно слово
$TERM, а не значение переменной
$TERM.Как изменить командный интерпретатор по умолчаниюСамым простым способом, пожалуй, будет воспользоваться командой
chsh. Если переменная EDITOR
определена, то будет загружен соответствующий текстовый редактор, иначе vi.
Вам нужно будет изменить значение
поля Shell: и выйти из редактора с сохранением
результатов.Можно также воспользоваться опцией команды
chsh. Например, если вы хотите изменить
интерпретатор на bash, выполните:&prompt.user; chsh -s /usr/local/bin/bashИнтерпретатор, который вы будете использовать,
обязательно должен быть в файле
/etc/shells. Обычно, при установке
интерпретаторов из коллекции портов,
это делается автоматически. Если же это не так, вам нужно будет
самостоятельно добавить соответствующую строчку в этот файл.Например, если вы установили bash
вручную и поместили его в
каталог /usr/local/bin, нужно набрать:&prompt.root; echo "/usr/local/bin/bash" >> /etc/shellsТеперь можно смело использовать команду
chsh.Текстовые редакторытекстовые редакторыредакторыБольшинство настроек в FreeBSD производится путем редактирования
текстовых файлов. Соответственно, вам нужно будет освоиться с
каким-либо текстовым редактором. Вместе с FreeBSD поставляются лишь
некоторые из них, гораздо больше редакторов доступно из Коллекции
портов.eeредакторыeeСамым простым в изучении и использовании, по-видимому, можно
назвать ee, что расшифровывается как
easy editor, т.е. простой редактор. Чтобы
начать редактировать какой-либо файл, наберите в командной строке
ee filename, где
filename имя
редактируемого файла. Например, для редактирования файла
/etc/rc.conf, наберите ee
/etc/rc.conf. В верхней части экрана вы увидите список
основных команд редактора. Символ каретки (^)
означает клавишу Ctrl, таким образом,
^e означает комбинацию клавиш
Ctrle. Чтобы выйти из редактора, нажмите
клавишу Esc, затем Enter.
Если остались какие-либо не сохраненные
данные, вам потребуется подтвердить выход, сохранив результат
работы или оставив файл без изменения.vieditorsviemacseditorsemacsВ FreeBSD присутствует также более мощный текстовый редактор
vi, а редакторы
emacs и vim
можно найти в коллекции портов (editors/emacs и editors/vim). Эти редакторы более сложны
в изучении,
но их возможности порой превосходят всякие ожидания! Если в
будущем вам потребуется часто редактировать большие объемы текстов,
то потраченное на изучение этих редакторов время
окупится с лихвой.Устройства и файлы устройствТермин устройство используется в основном по
отношению к аппаратному обеспечению системы, такому как диски,
принтеры, графические адаптеры, устройства ввода текста.
При загрузке FreeBSD главным образом выводит на экран информацию об
обнаруженных устройствах. Вы можете найти эти сообщения
в файле /var/run/dmesg.boot.Например, acd0 это первый диск
IDE CDROM, а kbd0 — клавиатура.В &unix; доступ к большинству этих устройств можно получить через
специальные файлы устройств, расположенные в каталоге
/dev.Создание файлов устройствПри добавлении в систему нового устройства, или добавление
поддержки дополнительных устройств, может понадобиться создать один
или несколько файлов устройств для нового оборудования.Скрипт MAKEDEVВ системах без DEVFS (это относится ко всем
версиям FreeBSD ниже 5.0), файлы устройств создаются
с помощью &man.MAKEDEV.8;, как показано ниже:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV ad1
- В этом примере создается соответствующий файл устройства для
+ В этом примере создается соответствующий файл устройства для
вторичного IDE диска.DEVFS (DEVice File System)Device filesystem, или DEVFS, предоставляет
доступ к пространству устройств ядра через общую файловую систему.
- Вместо создания и модификации файлов устройств,
+ Вместо создания и модификации файлов устройств,
DEVFS создает специальную файловую систему.Обращайтесь к &man.devfs.5; за дополнительной информацией.В FreeBSD 5.0 и выше DEVFS используется
по умолчанию.Бинарные форматыДля понимания того, почему &os; использует формат
&man.elf.5;, вам потребуется сначала немного узнать
о трех доминирующих исполняемых форматах для
&unix;:&man.a.out.5;Старейший и классический объектный формат
&unix;. Он использует короткий и компактный заголовок с
магическим числом в начале, которое часто используется для
описания формата (смотрите &man.a.out.5; с более подробной
информацией). Он содержит три загружаемых сегмента: .text,
.data и .bss плюс таблицу символов и таблицу строк.COFFОбъектный формат SVR3. Заголовок включает таблицу разделов,
так что могут быть сегменты кроме .text, .data и .bss.&man.elf.5;Наследник формата COFF, поддерживающий
множественные сегменты и 32-битные или 64-битные значения. Одно
важное замечание: ELF был разработан в
предположении что есть только по одному ABI на одну архитектуру.
Это предположение совершенно неверно, и не только в мире
коммерческих SYSV (в котором есть как минимум три ABI: SVR4,
Solaris, SCO).FreeBSD пытается обойти эту проблему, в частности предоставляя
утилиту для оглавления известного
исполняемого файла ELF информацией
об ABI с которым он совместим. Обратитесь к странице справочника
&man.brandelf.1; за более подробной информацией.FreeBSD имеет произошла из классического лагеря и
использовала формат &man.a.out.5;, технологию опробованную и
проверенную на многих поколениях релизов BSD, до начала ветки
3.X. Хотя собирать и запускать родные бинарные
файлы ELF (и ядро) в системе FreeBSD
можно было несколько раньше, FreeBSD вначале сопротивлялась
проталкиванию ELF как формата
по умолчанию. Почему? Когда лагерь Linux производил болезненный
переход к ELF, у него не было большого
преимущества перед исполняемым форматом a.out,
из-за негибкого, основанного на таблице переходов механизма
разделяемых библиотек, что делало создание разделяемых библиотек
очень трудным для поставщиков и разработчиков. Когда доступные
инструменты ELF предоставили решение проблемы
разделяемых библиотек, и появилась некоторая перспектива,
цена перехода была признана допустимой и он был сделан.
Механизм разделяемых библиотек FreeBSD близок по стилю к механизму
разделяемых библиотек &sunos; от Sun, и поэтому очень прост в
использовании.Итак, почему так много разных форматов?Давно, в темном далеком прошлом, оборудование было простым.
Это простое оборудование поддерживало простые, маленькие системы.
a.out был совершенно адекватен задаче представления
бинарных файлов на таких простых системах (PDP-11). Люди, портировавшие
&unix; с этих простых систем, оставили a.out
формат потому, что он был достаточен для ранних портов &unix; на
архитектуры, подобные Motorola 68k, VAXen, etc.Затем какой-то смышленый инженер по оборудованию решил, что если
он сможет заставить программы исполнять некоторые трюки, то сможет
несколько упростить дизайн и заставить ядро CPU работать быстрее.
Хотя это было сделано с новым типом оборудования (известного сейчас
как RISC), формат a.out не подходил для него,
и было разработано множество форматов, чтобы получить
лучшую производительность на таком оборудовании по сравнению с
той, которую мог предоставить простой формат a.out.
Были изобретены форматы COFF, ECOFF
и некоторые другие малоизвестные форматы, и их ограничения были учтены,
когда все похоже остановились на ELF.Кроме того, размеры программ стали огромны, а диски (и оперативная
память) остались относительно малы, поэтому появилась концепция
разделяемых библиотек. Система VM также стала более сложной.
Хотя все эти усовершенствования были выполнены с форматом
a.out, его полезность все больше и больше
уменьшалась с каждым нововведением. К тому же потребовалась
динамическая загрузка во время выполнения, или выгрузка частей
программы после выполнения стартового кода для экономии
памяти или места на диске. Языки усложнялись, и потребовался
автоматический вызов кода перед главной программой. Множество
изменений было внесено в формат a.out, чтобы
все это появилось, и в основном работало некоторое время. Настал
момент, когда a.out не смог решить все эти
проблемы без чрезмерного увеличения размера и сложности.
В то время, как ELF решил многие из этих проблем,
- перевод этого формата с системы на систему болезненен. Поэтому
+ перевод этого формата с системы на систему болезнен. Поэтому
формату ELF пришлось подождать, пока не стало
более болезненным оставаться с a.out, чем
перейти на ELF.Тем временем, инструменты разработки, от которых
произошли инструменты разработки FreeBSD (особенно ассемблер и
загрузчик), развивались в двух параллельных направлениях.
Направление FreeBSD добавило разделяемые библиотеки и устранило
некоторые ошибки. Люди из GNU, написавшие эти программы,
переписали их и добавили простую поддержку сборки
- кросскомпиляторов, подключения различных форматов в будущем
- и так далее. Многим требовалось собрать кросскомпиляторы
+ кросс-компиляторов, подключения различных форматов в будущем
+ и так далее. Многим требовалось собрать кросс-компиляторы
для FreeBSD, и это не удалось, поскольку устаревшие исходные
тексты FreeBSD для as и
ld не подходили для этой задачи.
Новый набор инструментов GNU (binutils)
- поддерживает кросскомпилирование, ELF,
+ поддерживает кросс-компилирование, ELF,
разделяемые библиотеки, C++, расширения и т.д. В дополнение,
многие поставщики выпустили программы в формате
ELF и они хорошо подходят для запуска в
FreeBSD.ELF более выразителен, чем
a.out, позволяет базовой системе быть более
гибкой. ELF лучше поддерживается, и
- предоставляет поддержку кросскомпиляторов, что важно для многих
+ предоставляет поддержку кросс-компиляторов, что важно для многих
людей. ELF может быть немного медленнее,
чем a.out, но замерить это сложно.
Есть также множество деталей, отличающихся для этих двух
форматов, в том как они отображают страницы, обрабатывают
начальный код, и т.д. В этом нет ничего очень важного,
но они различаются. В настоящее время поддержка
a.out убрана из ядра GENERIC, и со
временем будет убрана из ядра, как только потребность в запуске
старых программ a.out останется в прошлом.Дополнительная информацияСистемный справочник (man)страницы справочникаПожалуй, самым полным руководством по FreeBSD является
системный справочник (man). Практически каждое приложение или
утилита имеют соответствующую страницу (часто не одну), описывающую
тот или иной аспект работы программы, всевозможные опции и
настройки. Для просмотра этих страниц существует команда
man:&prompt.user; man commandЗдесь command – это команда, о которой вы
хотите получить информацию. Например, чтобы узнать побольше о команде
ls, наберите:&prompt.user; man lsСодержимое системного справочника для удобства разделено на
несколько разделов:Пользовательские команды.Системные вызовы и коды ошибок.Функции стандартных библиотек.Драйверы устройств.Форматы файлов.Развлечения и игры.Дополнительная информация.Команды системного администрирования.Для разработчиков ядра.В некоторых случаях (не так уж редко), страницы, относящиеся к
одной и той же команде, находятся в различных разделах справочника.
Например, есть команда chmod и системный вызов
chmod(). В этом случае, необходимо явно указать
раздел man, в котором нужно искать соответствующую
страницу:&prompt.user; man 1 chmodЭта команда выведет справку об утилите chmod.
По традиции, конкретный раздел справочника указывается в скобках
после команды, например, &man.chmod.1; относится к утилите
chmod, а &man.chmod.2; – к соответствующему
системному вызову.Часто бывает так, что вы не знаете название команды, но имеете
представление о том, что она должна делать. В этом случае можно
попытаться найти нужную команду по ключевым словам, встречающимся в
ее описании, используя опцию программы
man:&prompt.user; man -k mailВы получите список команд, имеющих слово mail в
своих описаниях. Это эквивалентно использованию команды
apropos.Или например, вы видите список файлов в каталоге
/usr/bin, при этом не имея ни малейшего
представления о том, какие функции выполняет каждый их них? Просто
наберите:&prompt.user; cd /usr/bin
&prompt.user; man -f *или&prompt.user; cd /usr/bin
&prompt.user; whatis *что фактически одно и то же.Файлы GNU InfoFreeBSD поставляется с многочисленными приложениями и утилитами от
Фонда Свободного Программного Обеспечения, Free Software Foundation
(FSF). В дополнение к страницам справочника, с этими программами
поставляется обширная гипертекстовая документация в виде так называемых
info файлов, которые могут быть просмотрены с
помощью команды info, или, если установлен
emacs, в info режиме этого редактора.Чтобы воспользоваться командой &man.info.1;, просто наберите в
командной строке:&prompt.user; infoВызвать на экран краткое введение можно набрав
h. Краткий список команд можно получить набрав
?.
diff --git a/ru_RU.KOI8-R/books/handbook/boot/chapter.sgml b/ru_RU.KOI8-R/books/handbook/boot/chapter.sgml
index 1ae52ea2d5..885c00fa86 100644
--- a/ru_RU.KOI8-R/books/handbook/boot/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/boot/chapter.sgml
@@ -1,843 +1,882 @@
АндрейЗахватовПеревод на русский язык: Процесс загрузки FreeBSDОписаниезагрузканачальная загрузкаПроцесс включения компьютера и загрузки операционной системы
называется процессом первоначальной загрузки, или просто
загрузкой. Процесс загрузки FreeBSD предоставляет большие
возможности по гибкой настройке того, что происходит при запуске системы,
позволяя вам выбирать из различных операционных систем, установленных на
одном и том же компьютере, или даже из различных версий той же самой
операционной системы или установленного ядра.Эта глава подробно описывает параметры, которые вы можете изменить
для настройки процесса загрузки FreeBSD. Под этим подразумевается все,
что происходит до начала работы ядра FreeBSD, обнаружения устройств и
запуска &man.init.8;. Если вы не совсем уверены, то это происходит,
когда выводимый текст меняет цвет с ярко-белого на серый.После чтения этой главы вы будете знать:
- Из каких частей состоит система начальной загрузки FreeBSD, и
- как эти части взаимодействуют.
+ Из каких частей состоит система начальной загрузки FreeBSD, и
+ как эти части взаимодействуют.
- Параметры, которые вы можете передать компонентам начальной
- загрузки FreeBSD для управления этим процессом.
+ Параметры, которые вы можете передать компонентам начальной
+ загрузки FreeBSD для управления этим процессом.
- Основы работы &man.device.hints.5;
+ Основы работы &man.device.hints.5;Только для x86Эта глава описывает процесс загрузки FreeBSD только для систем
- на основе архитектуры Intel x86.
+ на основе архитектуры Intel x86.
Проблема загрузкиВключение компьютера и запуск операционной системы приводят к
интересной дилемме. По определению до запуска операционной системы
компьютер не умеет ничего. В том числе и не знает, как запускать программы
с диска. Так что компьютер не может запустить программу с диска без
операционной системы, но программы операционной системы находятся на
диске, но как запустить операционную систему?Эта проблема имеет параллели с одной проблемой из книги
- Приключения барона Мюнхаузена. Герой провалился в
+ Приключения барона Мюнхгаузена. Герой провалился в
болото, и вытащил сам себя, ухватив за волосы и потянув. В эпоху начала
компьютеризации термин начальная загрузка
применялся к механизму, используемому для загрузки операционной системы,
и затем был сокращен до просто загрузки.
+ BIOS
+
+ Basic Input/Output SystemBIOS
+
На оборудовании архитектуры x86 за загрузку операционной системы
отвечает BIOS (Basic Input/Output System). Для этого BIOS ищет на
жестком диске MBR (Master Boot Record), которая должна располагаться в
определенном месте на диске. BIOS может загрузить и запустить MBR, и
предполагается, что MBR может взять на себя остальную работу, связанную с
- загрузкой операционной системой.
-
-
- BIOS
-
-
-
- Basic Input/Output System
- BIOS
-
+ загрузкой операционной системы.
+
+ Master Boot Record (MBR)
+
+ Boot Loader
+
+ Выполняемую часть MBR обычно называют менеджером
+ загрузки (boot manager), в особенности если она
+ взаимодействует с пользователем. В этом случае менеджер загрузки,
+ как правило, занимает большее пространство на первом
+ треке диска или внутри файловой системы ОС.
+ (Менеджер загрузки иногда называют загрузчиком (boot
+ loader), но во &os; этот термин используется для
+ описания более поздней фазы загрузки). Среди популярных менеджеров
+ загрузки стоит отметить boot0 (он же
+ Boot Easy, стандартный менеджер загрузки
+ &os;), Grub, GAG
+ и LILO. Из перечисленных менеджеров
+ загрузки в MBR помещается только
+ boot0.Если на вашем диске установлена только одна операционная система, то
стандартной MBR будет достаточно. Такая MBR выполняет поиск на диске
- первого загрузочного слайса, после чего запускает с этого слайса код
- загрузки оставшейся части операционной системы.
+ первого загрузочного (активного) слайса, после чего запускает с этого слайса код
+ загрузки оставшейся части операционной системы. Утилита &man.fdisk.8;
+ по умолчанию устанавливает именно такую MBR, на основе файла
+ /boot/mbr.
Если на ваших дисках установлено несколько операционных систем, то
- вы можете установить другую MBR, ту, что может выдать список различных
+ вы можете установить другой менеджер загрузки, который может выдать список различных
операционных систем и позволит вам выбрать одну из них для загрузки.
- FreeBSD поставляется с одной из такой MBR, которую можно установить;
- другие производители операционных систем также предоставляют свои
- MBR.
+ Два варианта менеджеров загрузки будут описаны чуть ниже.
Оставшаяся часть системы начальной загрузки FreeBSD разделяется на
три этапа. Первый этап запускается из MBR, и он знает достаточно для
перевода компьютера в особое состояние и загрузки второго этапа. Второй
этап может делать несколько больше до запуска третьего этапа. Третий
этап заканчивает работу по загрузке операционной системы. Работа
разделена на эти три этапа, потому что стандарты ПК ограничивают размеры
программ, которые могут быть запущены на первом и втором этапах.
Последовательное выполнение работ позволяет FreeBSD получить более гибкий
загрузчик.ядроinitЗатем стартует ядро, которое начинает опознавать устройства и
выполняет их инициализацию. После завершения процесса своей загрузки,
ядро передает управление пользовательскому процессу с именем
&man.init.8;, который выполняет проверку дисков на возможность
использования. Затем &man.init.8; запускает пользовательский процесс
настройки ресурсов, который монтирует файловые системы, выполняет
настройку сетевых адаптеров для работы в сети и вообще осуществляет
запуск всех процессов, обычно выполняемых в системе FreeBSD при
загрузке.
- MBR и первый, второй и третий этапы загрузки
+ Менеджер загрузки и этапы загрузки
+
+ Boot Manager
- MBR, /boot/boot0
+ Менеджер загрузкиMaster Boot Record (MBR)
+ Код MBR или менеджера загрузки время от времени называют
+ нулевой стадией процесса загрузки. В этом
+ разделе мы обсудим два из упомянутых ранее менеджеров загрузки:
+ boot0 и
+ LILO.
+
MBR для FreeBSD находится в /boot/boot0. Это
- копия MBR, так как настоящая MBR должна
- располагаться в специальном месте диска, вне области FreeBSD.
+ копия MBR, так как настоящая MBR должна
+ располагаться в специальном месте диска, вне области FreeBSD.
boot0 очень прост, так как программа
- в MBR может иметь размер, не превышающий 512
- байт. Если вы установили MBR FreeBSD и несколько операционных
- систем на ваш жесткий диск, то во время загрузки вы увидите нечто
- похожее на следующее:
+ в MBR может иметь размер, не превышающий 512
+ байт. Если вы установили MBR FreeBSD и несколько операционных
+ систем на ваш жесткий диск, то во время загрузки вы увидите нечто
+ похожее на следующее:
+
+ Менеджер загрузки boot0:
+ MBR, устанавливаемый программой установки &os; или утилитой
+ &man.boot0cfg.8;, основан на /boot/boot0.
+ (boot0 очень прост, так как программа
+ в MBR может иметь размер, не превышающий 446
+ байт, так как часть первого сектора диска занята таблицей слайсов
+ и сигнатурой 0x55AA).
+ Если вы установили boot0 и несколько операционных
+ систем на ваш жесткий диск, то во время загрузки вы увидите нечто
+ похожее на следующее:Образец экрана boot0F1 DOS
F2 FreeBSD
F3 Linux
F4 ??
F5 Drive 1
Default: F2Известно, что другие операционные системы, в частности,
- &windows; 95, записывают поверх существующей MBR свою собственную.
- Если так случилось в вашем случае, или же вы хотите заменить
- существующую MBR на MBR от FreeBSD, то воспользуйтесь следующей
- командой:
+ &windows; 95, записывают поверх существующей MBR свою собственную.
+ Если так случилось в вашем случае, или же вы хотите заменить
+ существующую MBR на MBR от FreeBSD, то воспользуйтесь следующей
+ командой:
&prompt.root; fdisk -B -b /boot/boot0 deviceЗдесь device является устройством, с
- которого вы загружаетесь, таким, как ad0 в
- случае первого диска IDE, ad2 в случае первого
- диска IDE на втором контроллере IDE, da0 для
- первого диска SCSI и так далее.
-
- Однако если вы используете Linux и предпочитаете, чтобы процесс
- загрузки управлялся через LILO, вы можете
- отредактировать файл /etc/lilo.conf для FreeBSD
- или выбрать
- в процессе установки FreeBSD. Если вы установили менеджер загрузки
- FreeBSD, то вы можете снова загрузить Linux и изменить конфигурационный
- файл /etc/lilo.conf для
- LILO, добавив следующий параметр:
+ которого вы загружаетесь, таким, как ad0 в
+ случае первого диска IDE, ad2 в случае первого
+ диска IDE на втором контроллере IDE, da0 для
+ первого диска SCSI и так далее. Если вы используете MBR
+ нестандартного вида, воспользуйтесь &man.boot0cfg.8;.
+
+ Менеджер загрузки LILO:
+
+ Для того, чтобы этот менеджер загрузки мог загружать &os;,
+ загрузите Linux и добавьте к существующему файлу конфигурации
+ /etc/lilo.conf такие строки:other=/dev/hdXY
table=/dev/hdb
loader=/boot/chain.b
label=FreeBSD
- который позволит загружать FreeBSD и Linux посредством
- LILO. В нашем примере мы используем
- XY для обозначения номера диска и раздела.
- Если вы используете диск SCSI, то вам может
- потребоваться заменить /dev/hdXY на что-то
- типа /dev/sdXY, где снова используется
- обозначение XY. Строка
- может быть опущена, если обе
- операционные системы располагаются на одном и том же диске. Вы можете
- теперь запустить /sbin/lilo -v для того, чтобы ваши
- изменения были восприняты системой, что должно быть подтверждено
- сообщениями на экране.
+ Укажите диск с основным разделом &os; в терминах Linux,
+ заменив X буквой диска, используемой в
+ Linux, а Y — номером основного
+ раздела. Если вы используете диски SCSI,
+ замените /dev/hd на
+ /dev/sd. Строка
+ может быть опущена, если
+ обе операционные системы находятся на одном диске. Теперь
+ запустите /sbin/lilo -v для того, чтобы ваши
+ изменения были восприняты системой, что должно быть подтверждено
+ сообщениями на экране.Этап первый, /boot/boot1, и этап второй,
- /boot/boot2
+ /boot/boot2Концептуально первый и второй этапы загрузки являются частями одной
- и той же программы, в той же самой области диска. Из-за ограничений на
- объем дискового пространства они были разделены на две, но вы всегда
- должны устанавливать их вместе.
-
- Они располагаются в загрузочном секторе загрузочного слайса,
+ и той же программы, в одной области диска. Из-за ограничений на
+ объем дискового пространства они были разделены на две, но вы всегда
+ должны устанавливать их вместе. Они копируются инсталлятором или
+ утилитой disklabel (см. ниже) из общего
+ файла /boot/boot.
+
+ They are located outside file systems, in the first track of
+ the boot slice, starting with the first sector. This is where boot0, or any other boot manager,
+ expects to find a program to run which will
+ continue the boot process. The number of sectors used is easily
+ determined from the size of /boot/boot.
+
+ Они располагаются вне файловых систем, на первом треке загрузочного слайса,
то есть там, где boot0 или
- любая другая программа из MBR ожидает найти
+ любой другой менеджер загрузки ожидает найти
программу, которую следует запустить для продолжение процесса загрузки.
- Файлы в каталоге /boot являются копиями реальных
- файлов, которые хранятся вне файловой системы FreeBSD.
+ Количество используемых секторов легко может быть вычислено из
+ размера файла /boot/boot.
- boot1 очень прост, так как он тоже может иметь
- размер, не превышающий 512 байт, и знает достаточно о метке
+ boot1 очень прост, так как он не может иметь
+ размер, превышающий 512 байт, и знает лишь о метке
диска FreeBSD, хранящей информацию о слайсе, для того,
чтобы найти и запустить boot2.boot2 устроен несколько более сложно, и умеет
- работать с файловой системой FreeBSD в объёме, достаточном для
- нахождения в ней файлов, и может предоставлять простой интерфейс для
- выбора и передачи управления ядру или загрузчику.
+ работать с файловой системой FreeBSD в объёме, достаточном для
+ нахождения в ней файлов, и может предоставлять простой интерфейс для
+ выбора и передачи управления ядру или загрузчику.Так как загрузчик устроен
гораздо более сложно, и дает удобный и простой способ настройки
процесса загрузки, boot2 обычно запускает его,
- однако раньше его задачей был запуск непосредственно самого
- ядра.
+ однако раньше его задачей был запуск непосредственно самого
+ ядра.
Образец экрана boot2
>> FreeBSD/i386 BOOT
-Default: 0:ad(0,a)/kernel
+Default: 0:ad(0,a)/boot/loader
boot:
Если вам когда-либо понадобится заменить установленные
- boot1 и boot2, то используйте
- утилиту &man.disklabel.8;:
+ boot1 и boot2, то используйте
+ утилиту &man.disklabel.8;:
&prompt.root; disklabel -B disksliceЗдесь diskslice являются диском и
- слайсом, с которых вы загружаетесь, такие, как
- ad0s1 в случае первого слайса на первом диске
- IDE.
+ слайсом, с которых вы загружаетесь, например,
+ ad0s1 в случае первого слайса на первом диске
+ IDE.
- Режим Dangerously Dedicated
-
- Если вы используете только имя диска, к примеру,
- ad0, в команде &man.disklabel.8; вы
- создадите диск в режиме эксклюзивного использования, без слайсов.
- Это, скорее всего, вовсе не то, что вы хотите сделать, так что дважды
- проверьте параметры команды &man.disklabel.8;, прежде, чем нажать
- Return.
+ Режим Dangerously Dedicated
+
+ Если вы используете только имя диска, к примеру,
+ ad0, в команде &man.disklabel.8; вы
+ создадите диск в режиме эксклюзивного использования, без слайсов.
+ Это, скорее всего, вовсе не то, что вы хотите сделать, так что дважды
+ проверьте параметры команды &man.disklabel.8;, прежде, чем нажать
+ Return.Третий этап, /boot/loaderзагрузчикПередача управления загрузчику является последним, третьим этапом в
- процессе начальной загрузки, а сам загрузчик находится в файловой
- системе, обычно как /boot/loader.
+ процессе начальной загрузки, а сам загрузчик находится в файловой
+ системе, обычно как /boot/loader.
Загрузчик являет собой удобный в использовании инструмент для
- настройки при помощи простого набора команд, управляемого более мощным
- интерпретатором с более сложным набором команд.
+ настройки при помощи простого набора команд, управляемого более мощным
+ интерпретатором с более сложным набором команд.
- Процесс работы загрузчика
-
- Во время инициализации загрузчик пытается произвести поиск
- консоли, дисков и определить, с какого диска он был запущен.
- Соответствующим образом он задаёт значения переменных и запускает
- интерпретатор, которому могут передаваться пользовательские команды
- как из скрипта, так и в интерактивном режиме.
-
- загрузчик
- конфигурация загрузчика
- Затем загрузчик читает файл
- /boot/loader.rc, который по умолчанию использует
- файл /boot/defaults/loader.conf, устанавливающий
+ Процесс работы загрузчика
+
+ Во время инициализации загрузчик пытается произвести поиск
+ консоли, дисков и определить, с какого диска он был запущен.
+ Соответствующим образом он задаёт значения переменных и запускает
+ интерпретатор, которому могут передаваться пользовательские команды
+ как из скрипта, так и в интерактивном режиме.
+
+ загрузчик
+ конфигурация загрузчика
+ Затем загрузчик читает файл
+ /boot/loader.rc, который по умолчанию использует
+ файл /boot/defaults/loader.conf, устанавливающий
подходящие значения по умолчанию для переменных и читает файл
/boot/loader.conf для изменения в этих
переменных. Затем с этими переменными работает
loader.rc, загружающий выбранные модули и
ядро.
- И наконец, по умолчанию загрузчик выдерживает 10-секундную паузу,
- ожидая нажатия клавиши, и загружает ядро, если этого не произошло.
- Если ожидание было прервано, пользователю выдается
+ И наконец, по умолчанию загрузчик выдерживает 10-секундную паузу,
+ ожидая нажатия клавиши, и загружает ядро, если этого не произошло.
+ Если ожидание было прервано, пользователю выдается
приглашение, которое воспринимает простой набор команд, с помощью
которых пользователь может изменить значения переменных, выгрузить
все модули, загрузить модули и окончательно продолжить процесс
загрузки или перезагрузить машину.
- Встроенные команды загрузчика
+ Встроенные команды загрузчика
- Далее следуют наиболее часто используемые команды загрузчика.
- Полное описание всех имеющихся команд можно найти на странице
- справки о команде &man.loader.8;.
+ Далее следуют наиболее часто используемые команды загрузчика.
+ Полное описание всех имеющихся команд можно найти на странице
+ справки о команде &man.loader.8;.
-
+ autoboot секундыПродолжает загрузку ядра, если не будет прерван в течение
- указанного в секундах промежутка времени. Он выводит счетчик,
- и по умолчанию выдерживается интервал в 10 секунд.
+ указанного в секундах промежутка времени. Он выводит счетчик,
+ и по умолчанию выдерживается интервал в 10 секунд.
boot
-параметрыимя ядраПродолжить процесс загрузки указанного ядра, если оно было
- указано, и с указанными параметрами, если они были
- указаны.
+ указано, и с указанными параметрами, если они были
+ указаны.
boot-confПовторно провести тот же самый процесс автоматической
- настройки модулей на основе переменных, что был произведен при
- загрузке. Это имеет смысл, если до этого вы выполнили команду
- unload, изменили некоторые переменные,
- например, наиболее часто меняемую kernel.
+ настройки модулей на основе переменных, что был произведен при
+ загрузке. Это имеет смысл, если до этого вы выполнили команду
+ unload, изменили некоторые переменные,
+ например, наиболее часто меняемую kernel.
help
темаВывод сообщений подсказки из файла
- /boot/loader.help. Если в качестве темы
- указано слово index, то выводится список
- имеющихся тем.
+ /boot/loader.help. Если в качестве темы
+ указано слово index, то выводится список
+ имеющихся тем.
include имя файла
…Выполнить файл с указанным именем. Файл считывается и
- его содержимое интерпретируется строчка за строчкой. Ошибка
- приводит к немедленному прекращению выполнения команды
- include.
+ его содержимое интерпретируется строчка за строчкой. Ошибка
+ приводит к немедленному прекращению выполнения команды
+ include.
load типимя файлаЗагружает ядро, модуль ядра или файл указанного типа с
- указанным именем. Все аргументы после имени файла передаются в
- файл.
+ указанным именем. Все аргументы после имени файла передаются в
+ файл.
ls маршрутВыводит список файлов по указанному маршруту или в корневом
- каталоге, если маршрут не был указан. Если указан параметр
- , будут выводиться и размеры файлов.
+ каталоге, если маршрут не был указан. Если указан параметр
+ , будут выводиться и размеры файлов.
lsdev Выводится список всех устройств, с которых могут быть
- загружены модули. Если указан параметр ,
- выводится дополнительная информация.
+ загружены модули. Если указан параметр ,
+ выводится дополнительная информация.
lsmod Выводит список загруженных модулей. Если указан параметр
- , то выводится дополнительная
- информация.
+ , то выводится дополнительная
+ информация.
more имя файлаВывод указанного файла с паузой при выводе каждой строки
- LINES.
+ LINES.
rebootВыполнить немедленную перезагрузку машины.set переменнаяset
переменная=значениеЗадает значения переменных окружения загрузчика.unloadУдаление из памяти всех загруженных модулей.
-
+
- Примеры использования загрузчика
+ Примеры использования загрузчика
- Вот несколько примеров практического использования
- загрузчика:
+ Вот несколько примеров практического использования
+ загрузчика:
-
- однопользовательский режим
+
+ однопользовательский режимЧтобы просто загрузить ваше ядро обычным образом, но в
однопользовательском режиме:boot -sДля выгрузки обычных ядра и модулей, а потом просто загрузить
ваше старое (или другое) ядро:
-
- kernel.old
-
+
+ kernel.old
+ unloadload kernel.oldВы можете использовать kernel.GENERIC
для обозначения стандартного ядра, поставляемого на установочном
диске, или kernel.old для обращения к ранее
установленному ядру (после того, как, например, вы обновили или
отконфигурировали новое ядро).Для загрузки ваших обычных модулей с другим ядром
- используйте такие команды:
+ используйте такие команды:
unloadset kernel="kernel.old"boot-confДля загрузки скрипта конфигурации ядра (автоматизированный
скрипт, который выполняет то, что вы обычно делаете в
конфигураторе ядра во время загрузки):
- load -t userconfig_script /boot/kernel.conf
+ load -t userconfig_script /boot/kernel.conf
-
+ Взаимодействие с ядром во время загрузкиядровзаимодействия во время загрузкиКак только ядро окажется загруженным при помощи загрузчика (обычный способ) или boot2 (минуя загрузчик), оно проверяет
флаги загрузки, если они есть, и действует соответствующим
образом.
- ядро
- флаги загрузки
+ ядро
+ флаги загрузкиФлаги загрузки ядраВот наиболее часто используемые флаги загрузки:во время инициализации ядра запрашивать устройство для
его монтирования в качестве корневой файловой системы.загрузка с компакт-диска.запустить UserConfig для конфигурации ядра во время
загрузкипосле загрузки перейти в однопользовательский режимво время запуска ядра выводить более подробную
информациюЕсть и другие флаги загрузки, обратитесь к странице
справочника по &man.boot.8; для выяснения подробной информации по
ним.TomRhodesТекст предоставил device.hintsХинты устройствЭта функция присутствует только во FreeBSD 5.0 и последующих
- версиях, но не в более ранних.
+ версиях, но не в более ранних.
Во время начального запуска системы загрузчик &man.loader.8;
производит чтение файла &man.device.hints.5;. В этом файле
хранится необходимая для загрузки ядра информация, задаваемая в виде
переменных, которую иногда называют хинтами для устройств (device
hints). Эти хинты устройств используются
драйверами устройств для их конфигурации.Хинты для устройств могут быть также заданы в приглашении начального загрузчика Стадии 3. Переменные
могут быть добавлены при помощи команды set, удалены
посредством unset и просмотрены командой
show. В этот момент могут быть также переопределены
переменные, заданные в файле /boot/device.hints.
Хинты для устройств, введённые в начальном загрузчике, не сохраняются, и
при следующей перезагрузке будут утеряны.После загрузки системы для выдачи значений всех переменных можно
воспользоваться командой &man.kenv.1;.Синтаксически в файле /boot/device.hints в
каждой строке определяется по
одной переменной, в качестве метки начала комментария используется
стандартный символ #. Строки строятся следующим
образом:hint.driver.unit.keyword="value"Синтаксис для начального загрузчика Стадии 3 таков:set hint.driver.unit.keyword=valuedriver определяет имя драйвера устройства,
unit соответствует порядковому номеру модуля
устройства, а keyword является ключевым словом хинта.
В качестве ключевых слов могут применяться следующие опции:at: задаёт шину, к которой подключено
- устройство.
+ устройство.
port: задаёт начальный адрес используемого
- диапазона ввода/вывода (I/O).
+ диапазона ввода/вывода (I/O).
irq: задаёт используемый номер запроса на
- прерывание.
+ прерывание.
drq: задаёт номер канала DMA.maddr: задаёт физический адрес памяти,
- занимаемый устройством.
+ занимаемый устройством.
flags: устанавливает различные битовые флаги
- для устройства.
+ для устройства.
disabled: если установлено в значение
- 1, то устройство не используется.
+ 1, то устройство не используется.
Драйверы устройств могут поддерживать (и даже требовать) другие
хинты, здесь не перечисленные, поэтому рекомендуется просматривать
справочные страницы по этим драйверам. Для получения дополнительной
информации обратитесь к страницам справки по
&man.device.hints.5;, &man.kenv.1;, &man.loader.conf.5; и
&man.loader.8;.initInit: инициализация управления процессамиПосле того, как ядро завершит загрузку, оно передает управление
пользовательскому процессу &man.init.8;, который расположен
в файле /sbin/init или в файле, маршрут к которому
указан в переменной init_pathзагрузчика.Процесс автоматической перезагрузкиПроцесс автоматической перезагрузки проверяет целостность
имеющихся файловых систем. Если это не так, и утилита
&man.fsck.8; не может исправить положение, то
&man.init.8; переводит систему в однопользовательский режим для того,
чтобы системный администратор сам разобрался с возникающими
проблемами.Однопользовательский режимоднопользовательский режимконсольВ этот режим можно перейти во время процесса автоматической перезагрузки,
- при ручной загрузке с параметром
+ при ручной загрузке с параметром
или заданием переменной boot_single для программы
loader.Этот режим может быть также вызван запуском программы
&man.shutdown.8; без параметров перезагрузки
() или останова () из
многопользовательского
режима.Если режим доступа к системной консоли console
установлен в файле /etc/ttys в
insecure, то система выведет запрос на ввод пароля
пользователя root перед переходом в
- однопользовательский режим.
+ однопользовательский режим.
Незащищённая консоль в /etc/ttys# name getty type status comments
#
# Если консоль помечена как "insecure", то init будет запрашивать пароль
# пользователя root при переходе в однопользовательский режим.
console none unknown off insecureОбозначение консоли как insecure означает,
что вы считаете физический доступ к консоли незащищённым, и хотите,
чтобы только тот, кто знает пароль пользователя
- root, мог воспользоваться однопользовательским
- режимом, но это не значит, что вы хотите работать с консолью
- небезопасным способом. Таким образом, если вы хотите добиться
- защищённости, указывайте insecure, а
- не secure.
+ root, мог воспользоваться однопользовательским
+ режимом, но это не значит, что вы хотите работать с консолью
+ небезопасным способом. Таким образом, если вы хотите добиться
+ защищённости, указывайте insecure, а
+ не secure.
Многопользовательский режиммногопользовательский режимЕсли &man.init.8; определит, что ваши файловые системы
находятся в полном порядке, или после того, как пользователь выйдет
из однопользовательского
режима, система перейдет в многопользовательский режим, работа
в котором начинается с настройки ресурсов системы.
- файлы rc
+ файлы rcНастройка ресурсов (rc)Система настройки ресурсов считывает настройки, применяемые по
умолчанию, из файла /etc/defaults/rc.conf, а
настройки, специфичные для конкретной системы, из
/etc/rc.conf, после чего осуществляется
монтирование файловых систем, перечисленных в файле
/etc/fstab, запуск сетевых служб, различных
системных даемонов и, наконец, выполнение скриптов запуска
дополнительно установленных пакетов.Страница справочника по &man.rc.8; является хорошим источником
информации о системе настройки ресурсов, так же, как и
самостоятельное изучение скриптов.Процесс остановки системыshutdownВо время контролируемого процесса остановки системы через утилиту
&man.shutdown.8; программа &man.init.8; будет
пытаться запустить скрипт /etc/rc.shutdown, после
чего будет посылать всем процессам сигнал TERM, а
затем и KILL тем процессам, которые ещё не завершили
свою работу.Для выключения машины с FreeBSD на аппаратных платформах и системах,
которые поддерживают управление электропитанием, просто воспользуйтесь
командой shutdown -p now для немедленного отключения
электропитания. Чтобы просто перезагрузить систему FreeBSD,
воспользуйтесь командой shutdown -r now. Для запуска
команды &man.shutdown.8; вам необходимо быть пользователем
root или членом группы
operator. Кроме того, можно также
воспользоваться командами &man.halt.8; и &man.reboot.8;, пожалуйста,
обратитесь к соответствующим страницам справки и справочной странице по
команде &man.shutdown.8; для получения дополнительной информации.Для управления электропитанием требуется наличие поддержки
- &man.acpi.4; в ядре или в виде загруженного модуля при использовании
- FreeBSD 5.X, а для FreeBSD 4.X необходима поддержка
- &man.apm.4;.
+ &man.acpi.4; в ядре или в виде загруженного модуля при использовании
+ FreeBSD 5.X, а для FreeBSD 4.X необходима поддержка
+ &man.apm.4;.
diff --git a/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.sgml b/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.sgml
index c39907d7cf..ef252a978f 100644
--- a/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.sgml
@@ -1,2002 +1,1987 @@
- Jim
+ Jim
- Mock
+ Mock
- Реструктурирование, реорганизацию и частичное обновление
- выполнил
+ Реструктурирование, реорганизацию и частичное обновление
+ выполнил
- Jordan
- Hubbard
- Оригинальный текст написал
+ Jordan
+ Hubbard
+ Оригинальный текст написал
- Poul-Henning
- Kamp
+ Poul-Henning
+ Kamp
- John
- Polstra
+ John
+ Polstra
- Nik
- Clayton
+ Nik
+ ClaytonАндрейЗахватовПеревод на русский язык: На переднем крае разработокКраткий обзорМежду релизами над &os; ведется постоянная работа. Для тех,
кто хочет быть на переднем крае, есть несколько простых методов для
поддержания своей системы в соответствии с последними разработками.
Будьте осторожны — передний край не для всех! Эта глава поможет
вам решить, хотите ли вы отслеживать систему в процессе работы над ней
или останетесь верным одному из выпущенных релизов.После чтения этой главы вы будете знать:
- Разницу между двумя ветвями разработки: &os.stable; и
- &os.current;.
+ Разницу между двумя ветвями разработки: &os.stable; и
+ &os.current;.
- Как поддерживать вашу систему в актуальном состоянии при помощи
+ Как поддерживать вашу систему в актуальном состоянии при помощи
CVSup, CVS или
CTM.
- Как перестраивать и переустанавливать базовую систему полностью
- при помощи make buildworld (и других).
+ Как перестраивать и переустанавливать базовую систему полностью
+ при помощи make buildworld (и других).Перед чтением этой главы вы должны:
- Полностью настроить своё подключение к сети ().
+ Полностью настроить своё подключение к сети ().
- Знать, как устанавливать дополнительное программное обеспечение
- других разработчиков ().
+ Знать, как устанавливать дополнительное программное обеспечение
+ других разработчиков ().&os.current; против &os.stable;-CURRENT-STABLEВо FreeBSD имеется две ветки разработки: &os.current; и &os.stable;.
Этот раздел описывает каждую из них и объясняет, как синхронизировать
вашу систему с любой из веток. Сначала будет обсуждаться ветка
&os.current;, затем &os.stable;.Как следовать текущим разработкам во &os;Пока вы читаете этот текст, помните, что &os.current; является
- передовым краем работ над &os;. Предполагается, что
- пользователи &os.current; технически более грамотны и могут решать
- проблемы с системой самостоятельно. Если вы являетесь во &os;
- новичком, вам лучше сначала дважды подумать, прежде чем
- её устанавливать.
+ передовым краем работ над &os;. Предполагается, что
+ пользователи &os.current; технически более грамотны и могут решать
+ проблемы с системой самостоятельно. Если вы являетесь во &os;
+ новичком, вам лучше сначала дважды подумать, прежде чем
+ её устанавливать.
- Что такое &os.current;?
- snapshot
-
- &os.current; является последними рабочими версиями исходных
- текстов &os;. Сюда включаются неоконченные работы, экспериментальные
- изменения и промежуточные механизмы, которые могут присутствовать, а
- могут и отсутствовать в следующем официальном релизе программного
- обеспечения. Хотя многие из разработчиков &os; выполняют компиляцию
- из исходных текстов &os.current; ежедневно, случаются периоды, когда
- исходные тексты заведомо не могут быть откомпилированы. Такие
- проблемы обычно решаются так быстро, как это возможно, но всё-таки
- момент, когда вы загрузили исходные тексты &os.current;, может
- повлиять на то, содержат они мину замедленного действия или очень
- нужную функциональность!
+ Что такое &os.current;?
+ snapshot
+
+ &os.current; является последними рабочими версиями исходных
+ текстов &os;. Сюда включаются неоконченные работы, экспериментальные
+ изменения и промежуточные механизмы, которые могут присутствовать, а
+ могут и отсутствовать в следующем официальном релизе программного
+ обеспечения. Хотя многие из разработчиков &os; выполняют компиляцию
+ из исходных текстов &os.current; ежедневно, случаются периоды, когда
+ исходные тексты заведомо не могут быть откомпилированы. Такие
+ проблемы обычно решаются так быстро, как это возможно, но всё-таки
+ момент, когда вы загрузили исходные тексты &os.current;, может
+ повлиять на то, содержат они мину замедленного действия или очень
+ нужную функциональность!
- Кому нужна &os.current;?
-
- &os.current; предназначается трём основным заинтересованным
- группам:
-
-
-
- Участники проекта &os;, активно работающие над
- некоторой частью дерева исходных текстов и для кого работа в
- current является абсолютной
- необходимостью.
-
-
-
- Участники проект &os;, которые являются
- активными тестерами. Они тратят свое время на
- исправление проблем для того, чтобы &os.current; оставалась,
- насколько это возможно, нормально работающей системой. Есть
- также люди, которые вносят важные предложения по изменениям и
- общему направлению развития &os; и присылают свои патчи,
- реализующие эти изменения.
-
-
-
- Те, кто просто хотят быть в курсе всех изменений или
- используют текущие исходные тексты для ознакомительных целей (к
- примеру, для чтения, но не для
- использования). Такие люди также иногда высказывают замечания
- или предоставляют код.
-
-
+ Кому нужна &os.current;?
+
+ &os.current; предназначается трём основным заинтересованным
+ группам:
+
+
+
+ Участники проекта &os;, активно работающие над
+ некоторой частью дерева исходных текстов и для кого работа в
+ current является абсолютной
+ необходимостью.
+
+
+
+ Участники проект &os;, которые являются
+ активными тестерами. Они тратят свое время на
+ исправление проблем для того, чтобы &os.current; оставалась,
+ насколько это возможно, нормально работающей системой. Есть
+ также люди, которые вносят важные предложения по изменениям и
+ общему направлению развития &os; и присылают свои патчи,
+ реализующие эти изменения.
+
+
+
+ Те, кто просто хотят быть в курсе всех изменений или
+ используют текущие исходные тексты для ознакомительных целей (к
+ примеру, для чтения, но не для
+ использования). Такие люди также иногда высказывают замечания
+ или предоставляют код.
+
+
- Чем &os.current; не является?
-
-
-
- Быстрым способом получить предварительную версию, в
- случае, если вы услышали, что здесь появилась некая крутая
- возможность, и вы хотите быть первым в вашем микрорайоне, у
- кого она есть. Здесь быть первым из тех, кто имеет это
- программное обеспечение означает также быть первым из тех, кто
- столкнулся с ошибками в нём.
-
-
-
- Быстрым способом получения исправлений. Любая версия
- &os.current; является в равной мере как источником исправлений
- существующих ошибок, так и источником появления новых.
-
-
-
- Официально поддерживаемой каким бы то ни было
- способом. Мы прилагаем все усилия, чтобы помочь тем, кто
- изначально принадлежит одной из трех признанных
- групп пользователей &os.current;, но у нас просто нет
- времени на техническую поддержку. Это не потому, что
- мы гадкие и злые люди, которые ни за что не будут помогать другим
- (если бы это было так, мы бы не создали &os;). Мы просто не в
- силах отвечать на сотни сообщений в день и
- работать над FreeBSD! Если бы стоял выбор между тем, отвечать ли
- на множество вопросов об экспериментально коде или продолжать
- работу над совершенствованием &os;, большинство разработчиков
- проголосовало бы за последнее.
-
-
+ Чем &os.current; не является?
+
+
+
+ Быстрым способом получить предварительную версию, в
+ случае, если вы услышали, что здесь появилась некая крутая
+ возможность, и вы хотите быть первым в вашем микрорайоне, у
+ кого она есть. Здесь быть первым из тех, кто имеет это
+ программное обеспечение означает также быть первым из тех, кто
+ столкнулся с ошибками в нём.
+
+
+
+ Быстрым способом получения исправлений. Любая версия
+ &os.current; является в равной мере как источником исправлений
+ существующих ошибок, так и источником появления новых.
+
+
+
+ Официально поддерживаемой каким бы то ни было
+ способом. Мы прилагаем все усилия, чтобы помочь тем, кто
+ изначально принадлежит одной из трех признанных
+ групп пользователей &os.current;, но у нас просто нет
+ времени на техническую поддержку. Это не потому, что
+ мы гадкие и злые люди, которые ни за что не будут помогать другим
+ (если бы это было так, мы бы не создали &os;). Мы просто не в
+ силах отвечать на сотни сообщений в день и
+ работать над FreeBSD! Если бы стоял выбор между тем, отвечать ли
+ на множество вопросов об экспериментально коде или продолжать
+ работу над совершенствованием &os;, большинство разработчиков
+ проголосовало бы за последнее.
+
+
- Использование &os.current;
-
-
- -CURRENT
-
- использование
-
-
-
-
- Подпишитесь на списки рассылки &a.current.name; и
- &a.cvsall.name;. Это не просто хорошая идея, это
- необходимость. Если вы не являетесь
- участником списка рассылки &a.current.name;,
- то вы не увидите замечаний,
- высказываемых о текущем состоянии системы и в итоге можете
- столкнуться со множеством проблем, которые уже были найдены и
- решены другими. Ещё хуже, если вы пропустите важные сообщения,
- касающиеся жизнеспособности вашей системы.
-
- Список рассылки &a.cvsall.name; позволит вам для каждого
- изменения увидеть соответствующую запись в журнале коммитов,
- а они порой содержат относящуюся к делу
- информацию о возможных побочных эффектах.
-
- Чтобы подключиться к этим и другим доступным спискам
- рассылки, перейдите по ссылке &a.mailman.lists.link; и щёлкните
- на списке, к которому вы хотите подключиться. Инструкции по
- дальнейшим действиям размещены там же.
-
-
-
- Загрузите исходные тексты с зеркального сайта &os;. Вы можете
- сделать это одним из следующих двух способов:
-
-
-
- cvsup
-
-
-
- cron
-
-
-
- -CURRENT
-
- Синхронизация при помощи CVSup
-
-
-
-
- При помощи программы cvsup
- с sup-файлом
- standard-supfile, который можно найти в
- каталоге /usr/share/examples/cvsup. Это
- наиболее
- рекомендуемый метод, так как он позволяет вам загрузить набор
- исходных текстов один раз полностью, а затем загружать только
- произошедшие изменения. Многие запускают
- cvsup при помощи программы
- cron и получают самые свежие исходные
- тексты автоматически. Измените примерный файл
- supfile выше и отконфигурируйте cvsup для вашего окружения.
-
-
-
- -CURRENT
- Синхронизация при помощи CTM
-
-
-
- При помощи CTM. Если у вас очень
- плохое подключение (дорогое или предоставляющее доступ только
- к электронной почте), то CTM
- можно рассматривать как вариант. Однако в нем много
- "подводных камней", и его использование может
- привести к появлению неправильных файлов. Это привело к
- тому, что этот способ используется редко, что, в свою
- очередь, увеличивает шанс появления периодов его
- неработы. Мы рекомендуем использовать CVSup всем, чья скорость
- подключения равна 9600 bps и выше.
-
-
-
-
-
- Если вам нужны исходные тексты для компиляции и запуска, а
- не просто для ознакомления, то загружайте исходные тексты
- ветки &os.current; полностью, а не отдельные
- ее части. Причиной является то, что многие части исходных
- текстов зависят от других обновлений где-то еще, и попытка
- компиляции лишь некоторой части программ в этом случае
- гарантированно вызовет проблемы.
-
-
- -CURRENT
-
- компиляция
-
-
- Перед тем, как компилировать &os.current;, внимательно
- прочтите файл Makefile в каталоге
- /usr/src. В процессе обновления вы
- по крайней мере раз должны пройти через установку нового ядра и перестроение всех
- компонентов системы. Чтение списка рассылки &a.current.name; и
- /usr/src/UPDATING позволит вам быть в курсе
- всех процедур, которые иногда бывают необходимы в процессе
- работы над следующим релизом.
-
-
-
- Будьте активным подписчиком! Если вы работаете с
- &os.current;, мы хотим знать, что вы думаете о ней, особенно
- если у вас есть соображения по ее улучшению или исправлению
- ошибок. Пожелания, к которым прилагается код, всегда
- принимаются с большим энтузиазмом!
-
-
+ Использование &os.current;
+
+
+ -CURRENT
+
+ использование
+
+
+
+
+ Подпишитесь на списки рассылки &a.current.name; и
+ &a.cvsall.name;. Это не просто хорошая идея, это
+ необходимость. Если вы не являетесь
+ участником списка рассылки &a.current.name;,
+ то вы не увидите замечаний,
+ высказываемых о текущем состоянии системы и в итоге можете
+ столкнуться со множеством проблем, которые уже были найдены и
+ решены другими. Ещё хуже, если вы пропустите важные сообщения,
+ касающиеся жизнеспособности вашей системы.
+
+ Список рассылки &a.cvsall.name; позволит вам для каждого
+ изменения увидеть соответствующую запись в журнале коммитов,
+ а они порой содержат относящуюся к делу
+ информацию о возможных побочных эффектах.
+
+ Чтобы подключиться к этим и другим доступным спискам
+ рассылки, перейдите по ссылке &a.mailman.lists.link; и щёлкните
+ на списке, к которому вы хотите подключиться. Инструкции по
+ дальнейшим действиям размещены там же.
+
+
+
+ Загрузите исходные тексты с зеркального сайта &os;. Вы можете
+ сделать это одним из следующих двух способов:
+
+
+
+ cvsup
+
+
+
+ cron
+
+
+
+ -CURRENT
+
+ Синхронизация при помощи CVSup
+
+
+
+
+ При помощи программы cvsup
+ с sup-файлом
+ standard-supfile, который можно найти в
+ каталоге /usr/share/examples/cvsup. Это
+ наиболее
+ рекомендуемый метод, так как он позволяет вам загрузить набор
+ исходных текстов один раз полностью, а затем загружать только
+ произошедшие изменения. Многие запускают
+ cvsup при помощи программы
+ cron и получают самые свежие исходные
+ тексты автоматически. Измените примерный файл
+ supfile выше и отконфигурируйте cvsup для вашего окружения.
+
+
+
+ -CURRENT
+ Синхронизация при помощи CTM
+
+
+
+ При помощи CTM. Если у вас очень
+ плохое подключение (дорогое или предоставляющее доступ только
+ к электронной почте), то CTM
+ можно рассматривать как вариант. Однако в нем много
+ "подводных камней", и его использование может
+ привести к появлению неправильных файлов. Это привело к
+ тому, что этот способ используется редко, что, в свою
+ очередь, увеличивает шанс появления периодов его
+ неработы. Мы рекомендуем использовать CVSup всем, чья скорость
+ подключения равна 9600 bps и выше.
+
+
+
+
+
+ Если вам нужны исходные тексты для компиляции и запуска, а
+ не просто для ознакомления, то загружайте исходные тексты
+ ветки &os.current; полностью, а не отдельные
+ ее части. Причиной является то, что многие части исходных
+ текстов зависят от других обновлений где-то еще, и попытка
+ компиляции лишь некоторой части программ в этом случае
+ гарантированно вызовет проблемы.
+
+
+ -CURRENT
+
+ компиляция
+
+
+ Перед тем, как компилировать &os.current;, внимательно
+ прочтите файл Makefile в каталоге
+ /usr/src. В процессе обновления вы
+ по крайней мере раз должны пройти через установку нового ядра и перестроение всех
+ компонентов системы. Чтение списка рассылки &a.current.name; и
+ /usr/src/UPDATING позволит вам быть в курсе
+ всех процедур, которые иногда бывают необходимы в процессе
+ работы над следующим релизом.
+
+
+
+ Будьте активным подписчиком! Если вы работаете с
+ &os.current;, мы хотим знать, что вы думаете о ней, особенно
+ если у вас есть соображения по ее улучшению или исправлению
+ ошибок. Пожелания, к которым прилагается код, всегда
+ принимаются с большим энтузиазмом!
+
+ Работа с веткой stable во &os;
- Что такое &os.stable;?
- -STABLE
-
- &os.stable; является нашей веткой разработки, из которой делаются
- основные релизы. Изменения в этой ветке происходят с разной
- скоростью, и при этом предполагается, что сначала они были выполнены
- для &os.current; в целях тестирования. Однако эта ветка
- остаётся веткой для разработки, а это значит,
- что в любой момент времени исходные тексты &os.stable; могут
- оказаться неприменимы для некоторой задачи. Это просто ещё одна
- ветка при разработке, а не ресурс для конечных пользователей.
+ Что такое &os.stable;?
+ -STABLE
+
+ &os.stable; является нашей веткой разработки, из которой делаются
+ основные релизы. Изменения в этой ветке происходят с разной
+ скоростью, и при этом предполагается, что сначала они были выполнены
+ для &os.current; в целях тестирования. Однако эта ветка
+ остаётся веткой для разработки, а это значит,
+ что в любой момент времени исходные тексты &os.stable; могут
+ оказаться неприменимы для некоторой задачи. Это просто ещё одна
+ ветка при разработке, а не ресурс для конечных пользователей.
- Кому нужна &os.stable;?
-
- Если вы заинтересованы в отслеживании процесса разработки FreeBSD
- или хотите принять в нём участие, особенно в той мере, насколько это
- касается выпуска следующего релиза FreeBSD с точкой, то
- вам необходимо отслеживать &os.stable;.
-
- Хотя правда то, что исправления, касающиеся безопасности, также
- делаются и в ветке &os.stable;, вам не нужно
- для этого отслеживать &os.stable;. Каждый бюллетень по безопасности
- FreeBSD описывает, как решить проблему для тех релизов, которых он
- касается
+ Кому нужна &os.stable;?
+
+ Если вы заинтересованы в отслеживании процесса разработки FreeBSD
+ или хотите принять в нём участие, особенно в той мере, насколько это
+ касается выпуска следующего релиза FreeBSD с точкой, то
+ вам необходимо отслеживать &os.stable;.
+
+ Хотя правда то, что исправления, касающиеся безопасности, также
+ делаются и в ветке &os.stable;, вам не нужно
+ для этого отслеживать &os.stable;. Каждый бюллетень по безопасности
+ FreeBSD описывает, как решить проблему для тех релизов, которых он
+ касается
- Это не совсем так. Мы не можем поддерживать старые релизы
- FreeBSD бесконечно долго, хотя мы поддерживаем их многие годы.
- Полное описание текущей политики безопасности относительно
- старых релизов FreeBSD можно найти по адресу Это не совсем так. Мы не можем поддерживать старые релизы
+ FreeBSD бесконечно долго, хотя мы поддерживаем их многие годы.
+ Полное описание текущей политики безопасности относительно
+ старых релизов FreeBSD можно найти по адресу
- http://www.FreeBSD.org/ru/security/.
+ http://www.FreeBSD.org/ru/security/.
- , а отслеживание ветки разработки в полном объёме только ради
- исправлений пробелов в безопасности приводит к появлению большого
- количества дополнительных ненужных изменений.
-
- Хотя мы прилагаем все усилия, чтобы ветка &os.stable; всегда
- компилировалась и работала, этого нельзя гарантировать. Кроме того,
- несмотря на то, что перед включением в &os.stable;, код
- разрабатывается в &os.current;, гораздо большее количество людей
- работают с &os.stable;, чем с &os.current;. Поэтому неудивительно,
- что в &os.stable; иногда
- обнаруживаются ошибки и всплывают непредвиденные ситуации, которые не
- проявляли себя в &os.current;.
-
- По этим причинам мы не рекомендуем слепо
- отслеживать &os.stable;, и, что особенно важно, вы не должны
- обновлять какие-либо сервера, находящиеся в активной эксплуатации, до
- &os.stable; без предварительного тщательного тестирования кода в
- вашей среде разработки.
-
- Если у вас нет возможности сделать это, то мы рекомендуем
- работать с самой последним релизом &os; и использовать механизм
- обновления бинарных файлов для перехода от релиза к релизу.
+ , а отслеживание ветки разработки в полном объёме только ради
+ исправлений пробелов в безопасности приводит к появлению большого
+ количества дополнительных ненужных изменений.
+
+ Хотя мы прилагаем все усилия, чтобы ветка &os.stable; всегда
+ компилировалась и работала, этого нельзя гарантировать. Кроме того,
+ несмотря на то, что перед включением в &os.stable;, код
+ разрабатывается в &os.current;, гораздо большее количество людей
+ работают с &os.stable;, чем с &os.current;. Поэтому неудивительно,
+ что в &os.stable; иногда
+ обнаруживаются ошибки и всплывают непредвиденные ситуации, которые не
+ проявляли себя в &os.current;.
+
+ По этим причинам мы не рекомендуем слепо
+ отслеживать &os.stable;, и, что особенно важно, вы не должны
+ обновлять какие-либо сервера, находящиеся в активной эксплуатации, до
+ &os.stable; без предварительного тщательного тестирования кода в
+ вашей среде разработки.
+
+ Если у вас нет возможности сделать это, то мы рекомендуем
+ работать с самой последним релизом &os; и использовать механизм
+ обновления бинарных файлов для перехода от релиза к релизу.
- Использование &os.stable;
-
-
- -STABLE
- использование
-
-
-
- Подпишитесь на список рассылки &a.stable.name;. Это позволит
- вам узнавать о зависимостях процесса компиляции,
- которые могут появиться в ветке &os.stable; или
- любых других проблемах, требующих особого внимания. В этом
- списке рассылки разработчики также делают объявления о
- спорных исправлениях или добавлениях,
- давая пользователям возможность высказать свое мнение о
- возможных тонких моментах.
-
- Список рассылки &a.cvsall.name; позволит вам для каждого
- изменения увидеть соответствующую запись в журнале коммитов,
- а они порой содержат относящуюся к делу
- информацию о возможных побочных эффектах.
-
- Чтобы подключиться к этим и другим доступным спискам
- рассылки, перейдите по ссылке &a.mailman.lists.link; и щёлкните
- на списке, к которому вы хотите подключиться. Инструкции по
- дальнейшим действиям размещены там же.
-
-
-
- Если вы устанавливаете новую систему и хотите, чтобы она
- работала максимально стабильно, то можете просто загрузить
- самый свежий снэпшот ветки по адресу
- и установить его, как любой другой релиз. Либо вы
- можете установить самый последний релиз &os.stable;, загрузив его
- с зеркалирующих сайтов, а затем
- следовать инструкциям ниже по обновлению исходных текстов вашей
- системы до самой последней версии &os.stable;.
-
- Если вы уже работаете с предыдущим релизом &os; и хотите
- обновить его из исходных текстов, то вы можете легко это
- сделать с зеркального сайта &os;.
- Это можно сделать одним из двух способов:
-
-
-
- cvsup
-
-
-
- cron
-
-
-
- -STABLE
-
-
- Синхронизация при помощи CVSup
-
-
-
-
- При помощи программы cvsup
- с sup-файлом
- stable-supfile из каталога
- /usr/share/examples/cvsup.
- Это наиболее рекомендуемый
- метод, так как он позволяет вам загрузить набор исходных
- текстов один раз полностью, а затем загружать только
- произошедшие изменения. Многие запускают
- cvsup при помощи программы
- cron и получают самые свежие исходные
- тексты автоматически. Измените примерный файл
- supfile выше и отконфигурируйте cvsup для вашего окружения.
-
-
-
- -STABLE
- синхронизация при помощи CTM
-
-
-
- При помощи CTM. Если у вас нет
- быстрого и недорогого подключения к Интернет, то это как раз
- тот метод, которым вы должны воспользоваться.
-
-
-
-
-
- Итак, если вам нужен быстрый доступ к
- исходным текстам и нагрузка на каналы связи для вас не
- проблема, то используйте cvsup
- или ftp. В противном случае воспользуйтесь
- CTM.
-
-
-
- -STABLE
- компиляция
-
-
-
- Перед тем, как компилировать &os.stable;, внимательно
- прочтите файл Makefile в каталоге
- /usr/src. В процессе обновления вы
- по крайней мере раз должны пройти через установку нового ядра и перестроение всех
- компонентов системы. Чтение списка рассылки &a.stable.name; и
- /usr/src/UPDATING
- позволит вам быть в курсе всех процедур,
- которые иногда бывают необходимы при переходе к следующему
- релизу.
-
-
+ Использование &os.stable;
+
+
+ -STABLE
+ использование
+
+
+
+ Подпишитесь на список рассылки &a.stable.name;. Это позволит
+ вам узнавать о зависимостях процесса компиляции,
+ которые могут появиться в ветке &os.stable; или
+ любых других проблемах, требующих особого внимания. В этом
+ списке рассылки разработчики также делают объявления о
+ спорных исправлениях или добавлениях,
+ давая пользователям возможность высказать свое мнение о
+ возможных тонких моментах.
+
+ Список рассылки &a.cvsall.name; позволит вам для каждого
+ изменения увидеть соответствующую запись в журнале коммитов,
+ а они порой содержат относящуюся к делу
+ информацию о возможных побочных эффектах.
+
+ Чтобы подключиться к этим и другим доступным спискам
+ рассылки, перейдите по ссылке &a.mailman.lists.link; и щёлкните
+ на списке, к которому вы хотите подключиться. Инструкции по
+ дальнейшим действиям размещены там же.
+
+
+
+ Если вы собираетесь установить новую систему, и хотите,
+ чтобы она соответствовала ежемесячным стандартным сборкам
+ ветви &os.stable;, обратитесь к
+ странице снэпшотов
+ . Либо вы
+ можете установить самый последний релиз &os.stable;, загрузив его
+ с зеркалирующих сайтов, а затем
+ следовать инструкциям ниже по обновлению исходных текстов вашей
+ системы до самой последней версии &os.stable;.
+
+ Если вы уже работаете с предыдущим релизом &os; и хотите
+ обновить его из исходных текстов, то вы можете легко это
+ сделать с зеркального сайта &os;.
+ Это можно сделать одним из двух способов:
+
+
+
+ cvsup
+
+
+
+ cron
+
+
+
+ -STABLE
+
+
+ Синхронизация при помощи CVSup
+
+
+
+
+ При помощи программы cvsup
+ с sup-файлом
+ stable-supfile из каталога
+ /usr/share/examples/cvsup.
+ Это наиболее рекомендуемый
+ метод, так как он позволяет вам загрузить набор исходных
+ текстов один раз полностью, а затем загружать только
+ произошедшие изменения. Многие запускают
+ cvsup при помощи программы
+ cron и получают самые свежие исходные
+ тексты автоматически. Измените примерный файл
+ supfile выше и отконфигурируйте cvsup для вашего окружения.
+
+
+
+ -STABLE
+ синхронизация при помощи CTM
+
+
+
+ При помощи CTM. Если у вас нет
+ быстрого и недорогого подключения к Интернет, то это как раз
+ тот метод, которым вы должны воспользоваться.
+
+
+
+
+
+ Итак, если вам нужен быстрый доступ к
+ исходным текстам и нагрузка на каналы связи для вас не
+ проблема, то используйте cvsup
+ или ftp. В противном случае воспользуйтесь
+ CTM.
+
+
+
+ -STABLE
+ компиляция
+
+
+
+ Перед тем, как компилировать &os.stable;, внимательно
+ прочтите файл Makefile в каталоге
+ /usr/src. В процессе обновления вы
+ по крайней мере раз должны пройти через установку нового ядра и перестроение всех
+ компонентов системы. Чтение списка рассылки &a.stable.name; и
+ /usr/src/UPDATING
+ позволит вам быть в курсе всех процедур,
+ которые иногда бывают необходимы при переходе к следующему
+ релизу.
+
+ Синхронизация ваших исходных текстовИмеются различные способы использования Интернет (или почтового)
подключения для того, чтобы иметь самые последние версии исходных
текстов любого проекта &os;, в зависимости от
того, чем вы интересуетесь. Основной сервис, который мы предлагаем,
это Анонимный CVS, CVSup и CTM.Хотя имеется возможностью обновлять только часть дерева исходных
- текстов, процедурой, которую мы настоятельно советуем, является обновление всего
- дерева и перекомпиляция пользовательских программ (то есть тех,
- которые работают в пространстве имен пользователя, например те, что
- находятся в каталогах /bin и
- /sbin) и ядра. Обновление только части дерева
- исходных текстов, только текстов ядра или только текстов
- пользовательских программ часто приводит к возникновению проблем. Эти
- проблемы могут варьироваться от ошибок компиляции до аварийных
- остановов системы или порчи данных.
+ текстов, процедурой, которую мы настоятельно советуем, является обновление всего
+ дерева и перекомпиляция пользовательских программ (то есть тех,
+ которые работают в пространстве имен пользователя, например те, что
+ находятся в каталогах /bin и
+ /sbin) и ядра. Обновление только части дерева
+ исходных текстов, только текстов ядра или только текстов
+ пользовательских программ часто приводит к возникновению проблем. Эти
+ проблемы могут варьироваться от ошибок компиляции до аварийных
+ остановов системы или порчи данных.
CVSанонимныйАнонимный CVS и
CVSup используют модель
pull обновления исходных текстов. В случае
CVSup пользователь (или скрипт программы
cron) вызывают cvsup, а она
работает с каким-либо сервером cvsupd, чтобы
выполнить обновление ваших
файлов. Обновления, которые вы получаете, актуальны с точностью до
минуты, и вы получаете их тогда и только тогда, когда сами захотите.
Вы можете с легкостью ограничить обновления конкретными файлами
или каталогами, которые представляют для вас интерес. Обновления
создаются на лету сервером согласно тому, что у вас есть и что вы
хотите иметь. Анонимный CVS гораздо проще,
чем CVSup в том смысле, что он представляет
собой всего лишь расширение
CVS, позволяющее загрузить изменения
непосредственно с удаленного хранилища CVS.
CVSup может делать это гораздо более
эффективно, однако анонимным CVS легче
пользоваться.CTMCTM, с другой стороны, не сравнивает
последовательно исходные тексты, имеющиеся у вас, с теми, что
находятся в главном архиве и вообще ни коим образом не касается наших
серверов. Вместо этого несколько раз в день на главной машине CTM
запускается скрипт, находящий изменения в файлах с момента
своего предыдущего запуска; все замеченные изменения сжимаются,
помечаются последовательным номером и кодируются для передачи по
электронной почте (в форме печатаемых символов ASCII).
После получения эти дельта-файлы CTM могут быть
переданы утилите &man.ctm.rmail.1;, которая осуществит автоматическое
декодирование, проверку и применение изменений к пользовательской
копии исходных текстов. Этот процесс гораздо более эффективен, чем
CVSup, и требует меньше ресурсов нашего
сервера, так как он сделан по модели push, а не
pull.Несомненно, есть и минусы. Если вы случайно уничтожили
часть вашего архива, то CVSup обнаружит
и загрузит поврежденную часть. CTM этого
делать не будет, и если вы уничтожили какую-то часть вашего дерева
исходных текстов (и у вас нет архивной копии), то вам нужно будет
начать с самого начала (с последнего базового
дельта-файла), перестроив всё с помощью
CTM, или, используя анонимный
CVS, просто удалить повреждённую часть и
пересинхронизироваться.Пересборка worldПересборка worldПосле того, как вы синхронизировали ваше локальное дерево
исходных текстов с некоторой версией &os;
(&os.stable;, &os.current; и так далее),
то можете использовать эти исходные тексты для перестроения
системы.Создайте резервную копиюНевозможно переоценить важность создания резервной
- копии вашей системы до того, как вы будете
- это делать. Хотя перестроение системы (пока вы следуете этим
- инструкциям) является простой задачей, вы всегда можете допустить
- ошибку, или ошибка может оказаться в исходных текстах, что может
- привести к тому, что система перестанет загружаться.
+ копии вашей системы до того, как вы будете
+ это делать. Хотя перестроение системы (пока вы следуете этим
+ инструкциям) является простой задачей, вы всегда можете допустить
+ ошибку, или ошибка может оказаться в исходных текстах, что может
+ привести к тому, что система перестанет загружаться.
Обязательно сделайте резервную копию. И держите под рукой
- аварийную (fixit) дискету или загрузочный компакт диск. Может быть,
+ аварийную (fixit) дискету или загрузочный компакт диск. Может быть,
вам никогда не приходилось ими
- пользоваться, но, постучав по дереву, всегда лучше подготовиться, чем
- потом сожалеть.
+ пользоваться, но, постучав по дереву, всегда лучше подготовиться, чем
+ потом сожалеть.
Подпишитесь на соответствующий список рассылкисписок рассылкиВетки &os.stable; и &os.current; кода по природе своей являются
- изменяющимися. В разработке &os; участвуют
- люди, и время от времени случаются ошибки.
+ изменяющимися. В разработке &os; участвуют
+ люди, и время от времени случаются ошибки.
Иногда эти ошибки достаточно безобидны и приводят к выводу
- нового диагностического сообщения. Бывает, что изменение оказывается
- катастрофическим, и система не может загрузиться или разрушаются
- файловые системы (или что-нибудь ещё хуже).
+ нового диагностического сообщения. Бывает, что изменение оказывается
+ катастрофическим, и система не может загрузиться или разрушаются
+ файловые системы (или что-нибудь ещё хуже).
Если возникают подобные проблемы, в соответствующем списке
- рассылки публикуется сообщение heads up, в котором
- описывается природа проблемы и затрагиваемые системы. Когда проблема
- решается, публикуется сообщение all clear.
+ рассылки публикуется сообщение heads up, в котором
+ описывается природа проблемы и затрагиваемые системы. Когда проблема
+ решается, публикуется сообщение all clear.
Если вы пытаетесь отслеживать &os.stable; или &os.current; и не
- читаете &a.stable; или &a.current; соответственно, то
- вы напрашиваетесь на неприятности.
+ читаете &a.stable; или &a.current; соответственно, то
+ вы напрашиваетесь на неприятности.
Не используйте make worldМножество старой документации рекомендует использование
make world. При этом пропускаются многие
важные шаги, и использование этой команды возможно лишь в том
случае, если вы точно знаете, что делаете. Почти во всех
обстоятельствах make world это неправильный
способ, вместо него необходимо использовать описанную здесь
процедуру.Канонический способ обновления вашей системыДля обновления вашей системы вы должны прочесть
- /usr/src/UPDATING для выяснения шагов, которые
- нужно предпринять перед построением системы из вашей версии исходных
- текстов, а затем выполнить следующую последовательность
- действий:
+ /usr/src/UPDATING для выяснения шагов, которые
+ нужно предпринять перед построением системы из вашей версии исходных
+ текстов, а затем выполнить следующую последовательность
+ действий:
&prompt.root; make buildworld
&prompt.root; make buildkernel
&prompt.root; make installkernel
&prompt.root; reboot
- Есть несколько редких случаев, когда перед выполнением
- buildworld необходимо дополнительно
- запустить mergemaster -p. Они описаны в файле
- UPDATING. В общем случае вы можете без ущерба
- пропустить этот шаг, если не выполняете обновление с одной большой
- версии &os; на другую.
+ Есть несколько редких случаев, когда перед выполнением
+ buildworld необходимо дополнительно
+ запустить mergemaster -p. Они описаны в файле
+ UPDATING. В общем случае вы можете без ущерба
+ пропустить этот шаг, если не выполняете обновление с одной большой
+ версии &os; на другую.После успешного выполнения installkernel
- вам необходимо загрузить систему в однопользовательском режиме (то
- есть посредством команды boot -s, заданной в
- приглашении загрузчика). После этого выполните:
+ вам необходимо загрузить систему в однопользовательском режиме (то
+ есть посредством команды boot -s, заданной в
+ приглашении загрузчика). После этого выполните:
&prompt.root; mergemaster -p
&prompt.root; make installworld
&prompt.root; mergemaster
&prompt.root; reboot
- Прочтите более полное описание
+ Прочтите более полное описание
- Описанная выше последовательность является только краткой
- выжимкой для того, чтобы помочь вам начать. Вы должны всё же
- прочесть последующие разделы для полного понимания каждого шага,
- особенно если собираетесь использовать собственную конфигурацию
- ядра.
+ Описанная выше последовательность является только краткой
+ выжимкой для того, чтобы помочь вам начать. Вы должны всё же
+ прочесть последующие разделы для полного понимания каждого шага,
+ особенно если собираетесь использовать собственную конфигурацию
+ ядра.Прочтите /usr/src/UPDATINGПеред тем, как делать что-либо, прочтите
- /usr/src/UPDATING (или соответствующий файл
- в вашей копии исходных текстов). В этом файле
- содержится важная информация о проблемах, с которыми вы можете
- столкнуться, или указан порядок, в котором вы должны запускать
- определенные команды. Если в файле UPDATING
- написано нечто, противоречащее тому, что вы здесь читаете, то
- нужно следовать указаниям в UPDATING.
+ /usr/src/UPDATING (или соответствующий файл
+ в вашей копии исходных текстов). В этом файле
+ содержится важная информация о проблемах, с которыми вы можете
+ столкнуться, или указан порядок, в котором вы должны запускать
+ определенные команды. Если в файле UPDATING
+ написано нечто, противоречащее тому, что вы здесь читаете, то
+ нужно следовать указаниям в UPDATING.
- Чтение UPDATING не заменит подписки на
- соответствующий список рассылки, как это и описано выше. Эти два
- условия являются дополняющими, а не взаимоисключающими друг
- друга.
+ Чтение UPDATING не заменит подписки на
+ соответствующий список рассылки, как это и описано выше. Эти два
+ условия являются дополняющими, а не взаимоисключающими друг
+ друга.Проверьте содержимое /etc/make.conf
- make.conf
+ make.confПросмотрите файлы /usr/share/examples/etc/make.conf
(/etc/defaults/make.conf в &os; 4.X) и
- /etc/make.conf. Первый содержит некоторые
- предопределенные по умолчанию значения – большинство из них
- закомментировано. Чтобы воспользоваться ими при перестроении системы
- из исходных текстов, добавьте их в файл
- /etc/make.conf. Имейте в виду, что все,
- добавляемое вами в /etc/make.conf, используется
- также каждый раз при запуске команды make, так что
- полезно задать здесь значения, подходящие вашей системе.
+ /etc/make.conf. Первый содержит некоторые
+ предопределенные по умолчанию значения – большинство из них
+ закомментировано. Чтобы воспользоваться ими при перестроении системы
+ из исходных текстов, добавьте их в файл
+ /etc/make.conf. Имейте в виду, что все,
+ добавляемое вами в /etc/make.conf, используется
+ также каждый раз при запуске команды make, так что
+ полезно задать здесь значения, подходящие вашей системе.
Вероятно стоит скопировать строки
- CFLAGS и NOPROFILE,
- расположенные в
+ CFLAGS и NO_PROFILE
+ (NOPROFILE для &os; 5.X и ранее),
+ расположенные в
/usr/share/examples/etc/make.conf (или
/etc/defaults/make.conf в &os; 4.X), в файл
- /etc/make.conf и раскомментировать их.
+ /etc/make.conf и раскомментировать их.
Посмотрите на другие определения (COPTFLAGS,
- NOPORTDOCS и так далее) и решите, нужны ли они
- вам.
+ NOPORTDOCS и так далее) и решите, нужны ли они
+ вам.
Обновите файлы в каталоге /etcКаталог /etc содержит значительную часть
- информации о конфигурации вашей системы, а также скрипты, работающие
- в начале работы системы. Некоторые из этих скриптов меняются от
- версии к версии &os;.
+ информации о конфигурации вашей системы, а также скрипты, работающие
+ в начале работы системы. Некоторые из этих скриптов меняются от
+ версии к версии &os;.
Некоторые конфигурационные файлы также используются в ежедневной
- работе системы. В частности, файл
- /etc/group.
+ работе системы. В частности, файл
+ /etc/group.
Случалось, что установочная часть make installworld
- ожидала существования определённых имен пользователей или групп. При
- обновлении существует вероятность, что эти пользователи или группы не
- существуют. Это вызывает проблемы при обновлении. В некоторых
+ ожидала существования определённых имен пользователей или групп. При
+ обновлении существует вероятность, что эти пользователи или группы не
+ существуют. Это вызывает проблемы при обновлении. В некоторых
случаях make buildworld проверяет наличие этих
пользователей или групп.Свежим примером этого является добавление пользователя
- smmsp. Пользователи столкнулись с прерыванием
- процесса установки, когда &man.mtree.8; пыталась
- создать /var/spool/clientmqueue.
+ smmsp. Пользователи столкнулись с прерыванием
+ процесса установки, когда &man.mtree.8; пыталась
+ создать /var/spool/clientmqueue.
Выходом является просмотр файла
- /usr/src/etc/group и сравнение списка групп в
- нем с вашим собственным. Если в новом файле есть группы,
- отсутствующие в вашем, то скопируйте их. Таким же образом вы должны
- переименовывать все группы в /etc/group, которые
- имеют тот же самый GID, но другое название в
- /usr/src/etc/group.
+ /usr/src/etc/group и сравнение списка групп в
+ нем с вашим собственным. Если в новом файле есть группы,
+ отсутствующие в вашем, то скопируйте их. Таким же образом вы должны
+ переименовывать все группы в /etc/group, которые
+ имеют тот же самый GID, но другое название в
+ /usr/src/etc/group.
Начиная с 4.6-RELEASE, вы можете запустить &man.mergemaster.8; в
- режиме, предваряющем построение системы, задаваемым опцией
- . Она будет сравнивать только те файлы, которые
- необходимы для успешного выполнения целей
- buildworld или
- installworld. Если ваша старая версия
- утилиты mergemaster не поддерживает опцию
- , воспользуйтесь новой версией из дерева исходных
- текстов при первом запуске:
+ режиме, предваряющем построение системы, задаваемым опцией
+ . Она будет сравнивать только те файлы, которые
+ необходимы для успешного выполнения целей
+ buildworld или
+ installworld. Если ваша старая версия
+ утилиты mergemaster не поддерживает опцию
+ , воспользуйтесь новой версией из дерева исходных
+ текстов при первом запуске:
&prompt.root; cd /usr/src/usr.sbin/mergemaster
&prompt.root; ./mergemaster.sh -p
- Если вы параноик, можете поискать файлы, владельцем которых
- является та группа, которую вы переименовываете или удаляете:
+ Если вы параноик, можете поискать файлы, владельцем которых
+ является та группа, которую вы переименовываете или удаляете:
- &prompt.root; find / -group GID -print
+ &prompt.root; find / -group GID -print
- выдаст список всех файлов, владельцем которых является группа
- GID (задаваемая именем или
- численным значением ID).
+ выдаст список всех файлов, владельцем которых является группа
+ GID (задаваемая именем или
+ численным значением ID).Перейдите в однопользовательский режимоднопользовательский режимВам может понадобиться откомпилировать систему в
- однопользовательском режиме. Кроме обычного выигрыша в
- скорости процесса, переустановка системы затрагивает много важных
- системных файлов, все стандартные выполнимые файлы системы,
- библиотеки, include-файлы и так далее. Изменение их на работающей
- системе (в частности, в которой активно работают пользователи) может
- привести к неприятностям.
+ однопользовательском режиме. Кроме обычного выигрыша в
+ скорости процесса, переустановка системы затрагивает много важных
+ системных файлов, все стандартные выполнимые файлы системы,
+ библиотеки, include-файлы и так далее. Изменение их на работающей
+ системе (в частности, в которой активно работают пользователи) может
+ привести к неприятностям.
многопользовательский режимДругим способом является компиляция системы в многопользовательском
- режиме с последующим переходом в однопользовательский режим для
- выполнения установки. Если вы хотите поступить именно так, просто
- следуйте инструкциям до момента окончания построения. Вы можете
- отложить переход в однопользовательский режим до завершения целей
- installkernel или
- installworld.
+ режиме с последующим переходом в однопользовательский режим для
+ выполнения установки. Если вы хотите поступить именно так, просто
+ следуйте инструкциям до момента окончания построения. Вы можете
+ отложить переход в однопользовательский режим до завершения целей
+ installkernel или
+ installworld.
Как администратор, вы можете выполнить:&prompt.root; shutdown nowна работающей системе, что переведет ее в однопользовательский
- режим.
+ режим.
Либо вы можете выполнить перезагрузку и в приглашении загрузчика
- задать флаг . После этого система загрузится в
- однопользовательском режиме. В приглашении командного процессора вы
- должны запустить:
+ задать флаг . После этого система загрузится в
+ однопользовательском режиме. В приглашении командного процессора вы
+ должны запустить:
&prompt.root; fsck -p
&prompt.root; mount -u /
&prompt.root; mount -a -t ufs
&prompt.root; swapon -aЭти команды выполняют проверку файловых систем, повторно монтируют
- / в режиме чтения/записи, монтируют все
- остальные файловые системы UFS, перечисленные в файле
- /etc/fstab и включат подкачку.
+ / в режиме чтения/записи, монтируют все
+ остальные файловые системы UFS, перечисленные в файле
+ /etc/fstab и включат подкачку.
- Если часы в вашей CMOS настроены на местное время, а не на GMT
- (это имеет место, если команда &man.date.1; выдаёт
- неправильные время и зону), то вам может понадобиться запустить
- следующую команду:
+ Если часы в вашей CMOS настроены на местное время, а не на GMT
+ (это имеет место, если команда &man.date.1; выдаёт
+ неправильные время и зону), то вам может понадобиться запустить
+ следующую команду:
- &prompt.root; adjkerntz -i
+ &prompt.root; adjkerntz -i
- Это обеспечит корректную настройку местного часового пояса
- — без этого впоследствии вы можете столкнуться с некоторыми
- проблемами.
+ Это обеспечит корректную настройку местного часового пояса
+ — без этого впоследствии вы можете столкнуться с некоторыми
+ проблемами.Удалите /usr/objПри перестроении частей системы они помещаются в каталоги,
- которые (по умолчанию) находятся в /usr/obj.
- Структура повторяет структуру /usr/src.
+ которые (по умолчанию) находятся в /usr/obj.
+ Структура повторяет структуру /usr/src.
Вы можете ускорить выполнение процесса make buildworld
- и, возможно, избавить себя от некоторой головной боли, связанной с
- зависимостями, удалив этот каталог.
+ и, возможно, избавить себя от некоторой головной боли, связанной с
+ зависимостями, удалив этот каталог.
На некоторых файлах из /usr/obj могут быть
- установлены специальные флаги (обратитесь к &man.chflags.1; за
- дополнительной информацией), которые сначала должны быть
- сняты.
+ установлены специальные флаги (обратитесь к &man.chflags.1; за
+ дополнительной информацией), которые сначала должны быть
+ сняты.
&prompt.root; cd /usr/obj
&prompt.root; chflags -R noschg *
&prompt.root; rm -rf *Перекомпилируйте исходные тексты
- Сохраните вывод
-
- Неплохо сохранить вывод, получаемый при работе программы
- &man.make.1;, в файл. Если что-то вдруг пойдет не так, вы будете
- иметь копию сообщения об ошибке и полную картину того, где она
- произошла. Хотя это может и не помочь в определении причин
- происходящего, это может помочь другим, если вы опишите вашу
- проблему в одном из списков рассылки &os;.
-
- Проще всего это сделать при помощи команды &man.script.1; с
- параметром, в котором указано имя файла, в который нужно сохранить
- вывод. Вы должны сделать это непосредственно перед тем, как
- перестроить систему, а по окончании процесса набрать
- exit.
-
-
+ Сохраните вывод
+
+ Неплохо сохранить вывод, получаемый при работе программы
+ &man.make.1;, в файл. Если что-то вдруг пойдет не так, вы будете
+ иметь копию сообщения об ошибке и полную картину того, где она
+ произошла. Хотя это может и не помочь в определении причин
+ происходящего, это может помочь другим, если вы опишите вашу
+ проблему в одном из списков рассылки &os;.
+
+ Проще всего это сделать при помощи команды &man.script.1; с
+ параметром, в котором указано имя файла, в который нужно сохранить
+ вывод. Вы должны сделать это непосредственно перед тем, как
+ перестроить систему, а по окончании процесса набрать
+ exit.
+
+
&prompt.root; script /var/tmp/mw.out
Script started, output file is /var/tmp/mw.out
&prompt.root; make world… compile, compile, compile …
&prompt.root; exit
Script done, …
-
+
- Если вы делаете это, не сохраняйте
- вывод в /tmp. Этот каталог может быть
- очищен при следующей перезагрузке. Лучше сохранить его в
- /var/tmp (как в предыдущем примере) или в
- домашнем каталоге пользователя root.
+ Если вы делаете это, не сохраняйте
+ вывод в /tmp. Этот каталог может быть
+ очищен при следующей перезагрузке. Лучше сохранить его в
+ /var/tmp (как в предыдущем примере) или в
+ домашнем каталоге пользователя root.
- Компиляция базовых компонентов системы
+ Компиляция базовых компонентов системы
- Вы должны находиться в каталоге
- /usr/src:
+ Вы должны находиться в каталоге
+ /usr/src:
- &prompt.root; cd /usr/src
+ &prompt.root; cd /usr/src
- (если, конечно, ваш исходный код не находится в другом месте, в
- случае чего вам нужно перейти в соответствующий каталог).
+ (если, конечно, ваш исходный код не находится в другом месте, в
+ случае чего вам нужно перейти в соответствующий каталог).
- make
+ make
- Для полного перестроения системы используется
- команда &man.make.1;. Эта команда читает инструкции из файла
- Makefile, описывающего, как должны быть
- перестроены программы, которые составляют систему &os;, в каком
- порядке они должны быть построены и так далее.
+ Для полного перестроения системы используется
+ команда &man.make.1;. Эта команда читает инструкции из файла
+ Makefile, описывающего, как должны быть
+ перестроены программы, которые составляют систему &os;, в каком
+ порядке они должны быть построены и так далее.
- Общий формат командной строки, которую вы будет набирать,
- таков:
+ Общий формат командной строки, которую вы будет набирать,
+ таков:
- &prompt.root; make -x -DVARIABLEtarget
+ &prompt.root; make -x -DVARIABLEtarget
- В этом примере
- является параметром, который вы передаете в &man.make.1;.
- Обратитесь к справочной странице программы &man.make.1;, которая
- содержит список возможных параметров.
+ В этом примере
+ является параметром, который вы передаете в &man.make.1;.
+ Обратитесь к справочной странице программы &man.make.1;, которая
+ содержит список возможных параметров.
-
- передает переменную в Makefile. Поведение
- Makefile определяется этими переменными. Это
- те же самые переменные, которые задаются в
- /etc/make.conf, и это — еще один способ
- их задания.
+
+ передает переменную в Makefile. Поведение
+ Makefile определяется этими переменными. Это
+ те же самые переменные, которые задаются в
+ /etc/make.conf, и это — еще один способ
+ их задания.
- &prompt.root; make -DNOPROFILE=true target
+ &prompt.root; make -DNO_PROFILE=true target
- является другим способом указания того, что библиотеки для
- профилирования строить не нужно, и соответствует строке
+ является другим способом указания того, что библиотеки для
+ профилирования строить не нужно, и соответствует строке
- NOPROFILE= true # Обход построения библиотек для профилирования
+ NO_PROFILE= true # Обход построения библиотек для профилирования
- в файле /etc/make.conf.
+ в файле /etc/make.conf.
- target указывает программе
- &man.make.1; на то, что вы хотите сделать. Каждый файл
- Makefile определяет некоторое количество
- различных целей, и ваш выбор цели определяет то, что
- будет делаться.
+ target указывает программе
+ &man.make.1; на то, что вы хотите сделать. Каждый файл
+ Makefile определяет некоторое количество
+ различных целей, и ваш выбор цели определяет то, что
+ будет делаться.
- Некоторые цели, перечисленные в файле
- Makefile, не предназначены для вызова. Просто
- они используются в процессе построения для разбиения его на этапы.
+ Некоторые цели, перечисленные в файле
+ Makefile, не предназначены для вызова. Просто
+ они используются в процессе построения для разбиения его на этапы.
- В большинстве случаев вам не нужно передавать никаких
- параметров в &man.make.1;, так что ваша команда будет выглядеть
- примерно так:
+ В большинстве случаев вам не нужно передавать никаких
+ параметров в &man.make.1;, так что ваша команда будет выглядеть
+ примерно так:
-
+
&prompt.root; make target
-
+
- Начиная с версии &os; 2.2.5 (на самом деле впервые это было
- сделано в ветке &os.current;, а затем адаптировано в &os.stable;
- где-то между 2.2.2 и 2.2.5) цель world была
- разделена на две: buildworld и
- installworld. Начиная с версии
+ Начиная с версии &os; 2.2.5 (на самом деле впервые это было
+ сделано в ветке &os.current;, а затем адаптировано в &os.stable;
+ где-то между 2.2.2 и 2.2.5) цель world была
+ разделена на две: buildworld и
+ installworld. Начиная с версии
&os; 5.3, world изменена так, что она
более не работает, поскольку для большинства пользователей ее
выполнение представляет опасность.
- Как указывают на это названия,
- buildworld строит полностью новое дерево
- в каталоге /usr/obj, а
- installworld устанавливает это дерево на
- используемой машине.
-
- Это весьма полезно по двум причинам. Во-первых, это позволяет
- вам безопасно строить систему, зная, что компоненты вашей рабочей
- системы затронуты не будут. Построение
- самодостаточно. По этой причине вы можете спокойно
- запустить buildworld на машине, работающей в
- многопользовательском режиме без опаски получить какие-либо проблемы.
- Но всё же рекомендуется запускать цель
- installworld в однопользовательском
- режиме.
-
- Во-вторых, это позволяет вам использовать монтирование по NFS для
- обновления многих машин в сети. Если у вас есть три машины,
- A, B и C, которые
- вы хотите обновить, запустите make buildworld и
- make installworld на машине A.
- Хосты B и C должны будут
- затем смонтировать по NFS каталоги /usr/src
- и /usr/obj с машины A, и вы
- сможете запустить make installworld для установки
- результатов построения на машинах B и
- C.
-
- Хотя цель world всё ещё имеется в
- наличии, вам настоятельно рекомендуется не пользоваться ею.
-
- Выполните
-
- &prompt.root; make buildworld
-
- В настоящее время имеется возможность задавать команде
- make параметр , который
- приводит к запуску нескольких одновременно работающих процессов.
- Наиболее полезно использовать это на многопроцессорных машинах.
- Однако, так как процесс компиляции больше всего требователен к
- подсистеме ввода/вывода, а не к производительности процессора, это
- можно использовать и на машинах с одним процессором.
-
- На типичной машине с одним CPU вы должны запускать:
-
-
+ Как указывают на это названия,
+ buildworld строит полностью новое дерево
+ в каталоге /usr/obj, а
+ installworld устанавливает это дерево на
+ используемой машине.
+
+ Это весьма полезно по двум причинам. Во-первых, это позволяет
+ вам безопасно строить систему, зная, что компоненты вашей рабочей
+ системы затронуты не будут. Построение
+ самодостаточно. По этой причине вы можете спокойно
+ запустить buildworld на машине, работающей в
+ многопользовательском режиме без опаски получить какие-либо проблемы.
+ Но всё же рекомендуется запускать цель
+ installworld в однопользовательском
+ режиме.
+
+ Во-вторых, это позволяет вам использовать монтирование по NFS для
+ обновления многих машин в сети. Если у вас есть три машины,
+ A, B и C, которые
+ вы хотите обновить, запустите make buildworld и
+ make installworld на машине A.
+ Хосты B и C должны будут
+ затем смонтировать по NFS каталоги /usr/src
+ и /usr/obj с машины A, и вы
+ сможете запустить make installworld для установки
+ результатов построения на машинах B и
+ C.
+
+ Хотя цель world всё ещё имеется в
+ наличии, вам настоятельно рекомендуется не пользоваться ею.
+
+ Выполните
+
+ &prompt.root; make buildworld
+
+ В настоящее время имеется возможность задавать команде
+ make параметр , который
+ приводит к запуску нескольких одновременно работающих процессов.
+ Наиболее полезно использовать это на многопроцессорных машинах.
+ Однако, так как процесс компиляции больше всего требователен к
+ подсистеме ввода/вывода, а не к производительности процессора, это
+ можно использовать и на машинах с одним процессором.
+
+ На типичной машине с одним CPU вы должны запускать:
+
+
&prompt.root; make -j4 buildworld
-
-
- &man.make.1; будет иметь до 4 одновременно работающих
- процессов. Эмпирические замеры, опубликованные как-то в списке рассылки,
- показывают, что в среднем это дает наибольшее увеличение
- производительности.
-
- Если у вас многопроцессорная машина и вы используете ядро с
- настройками для SMP, попробуйте использовать значения между 6 и
- 10 и посмотрите, как это отразится на скорости работы.
-
- Имейте в виду, что это все еще экспериментальная возможность, и
- изменения в дереве исходных текстов иногда могут быть не
- совместимы с параллельной сборкой. Если
- система не может быть построена с использованием этого параметра,
- попробуйте еще раз без него перед тем, как сообщать о
- проблемах.
+
+
+ &man.make.1; будет иметь до 4 одновременно работающих
+ процессов. Эмпирические замеры, опубликованные как-то в списке рассылки,
+ показывают, что в среднем это дает наибольшее увеличение
+ производительности.
+
+ Если у вас многопроцессорная машина и вы используете ядро с
+ настройками для SMP, попробуйте использовать значения между 6 и
+ 10 и посмотрите, как это отразится на скорости работы.
+
+ Имейте в виду, что это все еще экспериментальная возможность, и
+ изменения в дереве исходных текстов иногда могут быть не
+ совместимы с параллельной сборкой. Если
+ система не может быть построена с использованием этого параметра,
+ попробуйте еще раз без него перед тем, как сообщать о
+ проблемах.
- Время на построение
+ Время на построение
-
- перестроение world
+
+ перестроение world
- затраченное время
-
+ затраченное время
+
- На время компиляции влияет множество факторов, но на данный
- момент &pentium; III частотой 500 МГц и 128 МБ ОЗУ
- справляется с построением дерева &os.stable; примерно за 2 часа
- без дополнительных хитростей и убыстряющих процесс уловок. Дерево
- &os.current; строится несколько дольше.
+ На время компиляции влияет множество факторов, но на данный
+ момент &pentium; III частотой 500 МГц и 128 МБ ОЗУ
+ справляется с построением дерева &os.stable; примерно за 2 часа
+ без дополнительных хитростей и убыстряющих процесс уловок. Дерево
+ &os.current; строится несколько дольше.Откомпилируйте и установите новое ядро
- ядро
- компиляция
+ ядро
+ компиляцияЧтобы получить полную отдачу от вашей новой системы, вы должны
- перекомпилировать ядро. Это практически необходимость, так как
- отдельные структуры в памяти могут меняться, и программы типа
- &man.ps.1; и &man.top.1; не будут работать, пока версии ядра и
- исходных текстов системы не будут совпадать.
+ перекомпилировать ядро. Это практически необходимость, так как
+ отдельные структуры в памяти могут меняться, и программы типа
+ &man.ps.1; и &man.top.1; не будут работать, пока версии ядра и
+ исходных текстов системы не будут совпадать.
Самым простым и надежным способом сделать это является компиляция и
- установка ядра на основе GENERIC. Хотя в
- GENERIC могут оказаться не все необходимые для
- работы вашей системы устройства, в нем имеется все необходимое
- для перезагрузки вашей системы обратно в однопользовательский режим.
- Это является хорошей проверкой на правильность работы новой системы.
- После загрузки с ядром GENERIC и проверки
- работоспособности системы вы можете построить новое ядро на основе
- вашего обычного конфигурационного файла ядра.
+ установка ядра на основе GENERIC. Хотя в
+ GENERIC могут оказаться не все необходимые для
+ работы вашей системы устройства, в нем имеется все необходимое
+ для перезагрузки вашей системы обратно в однопользовательский режим.
+ Это является хорошей проверкой на правильность работы новой системы.
+ После загрузки с ядром GENERIC и проверки
+ работоспособности системы вы можете построить новое ядро на основе
+ вашего обычного конфигурационного файла ядра.
В современных версиях FreeBSD важно выполнить buildworld перед сборкой
+ linkend="make-buildworld">buildworld перед сборкой
нового ядра.
- Если вы хотите построить собственное ядро и уже подготовили файл
- конфигурации, просто используйте
- KERNCONF=MYKERNEL
- следующим образом:
+ Если вы хотите построить собственное ядро и уже подготовили файл
+ конфигурации, просто используйте
+ KERNCONF=MYKERNEL
+ следующим образом:
- &prompt.root; cd /usr/src
+ &prompt.root; cd /usr/src
&prompt.root; make buildkernel KERNCONF=MYKERNEL
&prompt.root; make installkernel KERNCONF=MYKERNEL
-
- Для FreeBSD 4.2 и более старых версиях вы должны заменять
- KERNCONF= на KERNEL=.
- 4.2-STABLE, загруженная до 2 февраля 2001 года, не распознаёт
- KERNCONF=.Заметьте, что, если вы установили
- kern.securelevel в значение, превышающее 1,
- и установили флаг noschg или
- подобный на бинарный файл ядра, то вы будете вынуждены перейти в
- однопользовательский режим для того, чтобы воспользоваться
- installkernel. В противном случае вы
- должны выполнять эти команды без проблем. Обратитесь к справочным
- страницам об &man.init.8; для получения подробной информации о
- kern.securelevel и &man.chflags.1; для получения
- информации о различных флагах файлов.
-
- Если вы производите обновление до версии &os; ниже 4.0, то нужно
- использовать старую процедуру построения ядра. Однако
- рекомендуется использовать новую версию программы &man.config.8; со
- следующей командной строкой.
-
-
-&prompt.root; /usr/obj/usr/src/usr.sbin/config/configKERNELNAME
-
+ kern.securelevel в значение, превышающее 1,
+ и установили флаг noschg или
+ подобный на бинарный файл ядра, то вы будете вынуждены перейти в
+ однопользовательский режим для того, чтобы воспользоваться
+ installkernel. В противном случае вы
+ должны выполнять эти команды без проблем. Обратитесь к справочным
+ страницам об &man.init.8; для получения подробной информации о
+ kern.securelevel и &man.chflags.1; для получения
+ информации о различных флагах файлов.
Перезагрузитесь в однопользовательский режимоднопользовательский режимДля проверки работоспособности ядра вы должны перезагрузить систему
- и перейти в однопользовательский режим. Сделайте это, следуя указаниям
- в .
+ и перейти в однопользовательский режим. Сделайте это, следуя указаниям
+ в .
Установите новые версии системных программЕсли вы компилировали достаточно свежую версию &os;, в которой
- имеется команда make buildworld, то для установки
- новых версий программ вы должны теперь выполнить команду
- installworld.
+ имеется команда make buildworld, то для установки
+ новых версий программ вы должны теперь выполнить команду
+ installworld.
Запустите&prompt.root; cd /usr/src
&prompt.root; make installworld
- Если при выполнении команды make buildworld вы
- задавали значения каких-либо переменных, то при выполнении
- make installworld вы должны задать те же самые
- переменные. Это не всегда так для остальных параметров; например,
- при выполнении installworld никогда не
- должен использоваться параметр .
+ Если при выполнении команды make buildworld вы
+ задавали значения каких-либо переменных, то при выполнении
+ make installworld вы должны задать те же самые
+ переменные. Это не всегда так для остальных параметров; например,
+ при выполнении installworld никогда не
+ должен использоваться параметр .
- Например, если вы выполняли команду:
+ Например, если вы выполняли команду:
- &prompt.root; make -DNOPROFILE buildworld
+ &prompt.root; make -DNO_PROFILE buildworld
- то результат её выполнения должен устанавливаться командой
+ то результат её выполнения должен устанавливаться командой
- &prompt.root; make -DNOPROFILE installworld
+ &prompt.root; make -DNO_PROFILE installworld
- В противном случае будет делаться попытка установить библиотеки
- для профилирования, которые не компилировались на этапе выполнения
- команды make buildworld.
+ В противном случае будет делаться попытка установить библиотеки
+ для профилирования, которые не компилировались на этапе выполнения
+ команды make buildworld.Обновите файлы, не обновленные по команде
- make installworld
+ make installworldПри перестроении системы не будут обновляться некоторые каталоги
- (в частности, /etc, /var и
- /usr) с конфигурационными
- файлами.
+ (в частности, /etc, /var и
+ /usr) с конфигурационными
+ файлами.
Самым простым способом обновить такие файлы является запуск
- утилиты &man.mergemaster.8;, хотя можно сделать это и вручную, если вам
- так больше нравится. Вне зависимости от выбранного вами способа
- обязательно сделайте резервную копию каталога /etc
- на случай, если произойдёт что-то непредвиденное.
+ утилиты &man.mergemaster.8;, хотя можно сделать это и вручную, если вам
+ так больше нравится. Вне зависимости от выбранного вами способа
+ обязательно сделайте резервную копию каталога /etc
+ на случай, если произойдёт что-то непредвиденное.
-
-
-
- Tom
- Rhodes
- Текст предоставил
-
-
-
-
- mergemaster
-
-
- mergemaster
-
-
- Утилита &man.mergemaster.8; является скриптом для оболочки Боурна,
- которая поможет вам в определении разницы между вашими
- конфигурационными файлами в каталоге /etc и
- конфигурационными файлами из дерева исходных текстов
- /usr/src/etc. Это является рекомендуемым
- способом синхронизации системных конфигурационных файлов с теми, что
- размещены в дереве исходных текстов.
-
- mergemaster была интегрирована в базовый
- комплект системы FreeBSD между выпусками 3.3-RELEASE и 3.4-RELEASE,
- что означает её наличие во всех системах -STABLE и -CURRENT, начиная с
- 3.3.
-
- Для начала просто наберите mergemaster в
- приглашении командной строки и посмотрите, что происходит.
- mergemaster построит временное окружение для
- пользователя root, начиная от /, а затем
- заполнит его различными системными конфигурационными файлами. Эти
- файлы затем будут сравниваться с теми, что установлены в вашей
- системе. В этот момент файлы, которые имеют отличия, будут выданы в
- формате &man.diff.1;, где знак будет означать
- добавленные или изменённые строки, а знак будет
- означать строки, которые были либо полностью удалены, либо заменены
- на новые. Обратитесь к страницам справочной системы по команде
- &man.diff.1; для получения более полной информации о синтаксисе
- команды &man.diff.1; и формате выдачи отличий в файлах.
-
- Затем &man.mergemaster.8; выдаст вам каждый файл, в котором есть
- изменения, и в этот момент у вас есть возможность либо удалить новый
- файл (который будем считать временным), установить временный файл в
- его неизменённом виде, объединить временный файл с установленным на
- данный момент, либо просмотреть выдачу &man.diff.1; ещё раз.
-
- Выбор удаления временного файла укажет &man.mergemaster.8; на то,
- что мы хотим оставить наш текущий файл без изменений и удалить его
- новую версию. Делать это не рекомендуется, если только
- у вас нет причин вносить изменения в текущий файл. Вы можете
- получить помощь в любое время, набрав ? в
- приглашении &man.mergemaster.8;. Если пользователь выбирает пропуск
- файла, запрос появится снова после того, как будут обработаны все
- остальные файлы.
-
- Выбор установки немодифицированного временного файла приведёт к
- замене текущего файла новым. Для большинства немодифицированных
- файлов это является подходящим вариантом.
-
- Выбор варианта с объединением файла приведёт к вызову текстового
- редактора, содержащего текст обоих файлов. Теперь вы можете
- объединить их, просматривая оба файла на экране, и выбирая те части
- из обоих, что подходят для окончательного варианта. Когда файлы
- сравниваются на экране, то нажатие l выбирает
- содержимое слева, а нажатие r выбирает содержимое
- справа. В окончательном варианте будет файл, состоящий из обеих
- частей, который и будет установлен. Этот вариант используется для
- файлов, настройки в которых изменялись пользователем.
-
- Выбор повторного просмотра &man.diff.1;-разниц выдаст вам разницы
- между файлами, как это делала утилита &man.mergemaster.8; до того,
- как запросила вас о выборе.
-
- После того, как утилита &man.mergemaster.8; закончит работу с
- системными файлами, она выдаст запрос относительно других параметров.
- &man.mergemaster.8; может запросить вас относительно перестроения
- файла паролей и/или запуска &man.MAKEDEV.8; при использовании FreeBSD
- версий, меньших чем 5.0, и завершит запросом на удаление оставшихся
- временных файлов.
+
+
+
+ Tom
+ Rhodes
+ Текст предоставил
+
+
+
+
+ mergemaster
+
+
+ mergemaster
+
+
+ Утилита &man.mergemaster.8; является скриптом для оболочки Боурна,
+ которая поможет вам в определении разницы между вашими
+ конфигурационными файлами в каталоге /etc и
+ конфигурационными файлами из дерева исходных текстов
+ /usr/src/etc. Это является рекомендуемым
+ способом синхронизации системных конфигурационных файлов с теми, что
+ размещены в дереве исходных текстов.
+
+ Для начала просто наберите mergemaster в
+ приглашении командной строки и посмотрите, что происходит.
+ mergemaster построит временное окружение для
+ пользователя root, начиная от /, а затем
+ заполнит его различными системными конфигурационными файлами. Эти
+ файлы затем будут сравниваться с теми, что установлены в вашей
+ системе. В этот момент файлы, которые имеют отличия, будут выданы в
+ формате &man.diff.1;, где знак будет означать
+ добавленные или изменённые строки, а знак будет
+ означать строки, которые были либо полностью удалены, либо заменены
+ на новые. Обратитесь к страницам справочной системы по команде
+ &man.diff.1; для получения более полной информации о синтаксисе
+ команды &man.diff.1; и формате выдачи отличий в файлах.
+
+ Затем &man.mergemaster.8; выдаст вам каждый файл, в котором есть
+ изменения, и в этот момент у вас есть возможность либо удалить новый
+ файл (который будем считать временным), установить временный файл в
+ его неизменённом виде, объединить временный файл с установленным на
+ данный момент, либо просмотреть выдачу &man.diff.1; ещё раз.
+
+ Выбор удаления временного файла укажет &man.mergemaster.8; на то,
+ что мы хотим оставить наш текущий файл без изменений и удалить его
+ новую версию. Делать это не рекомендуется, если только
+ у вас нет причин вносить изменения в текущий файл. Вы можете
+ получить помощь в любое время, набрав ? в
+ приглашении &man.mergemaster.8;. Если пользователь выбирает пропуск
+ файла, запрос появится снова после того, как будут обработаны все
+ остальные файлы.
+
+ Выбор установки немодифицированного временного файла приведёт к
+ замене текущего файла новым. Для большинства немодифицированных
+ файлов это является подходящим вариантом.
+
+ Выбор варианта с объединением файла приведёт к вызову текстового
+ редактора, содержащего текст обоих файлов. Теперь вы можете
+ объединить их, просматривая оба файла на экране, и выбирая те части
+ из обоих, что подходят для окончательного варианта. Когда файлы
+ сравниваются на экране, то нажатие l выбирает
+ содержимое слева, а нажатие r выбирает содержимое
+ справа. В окончательном варианте будет файл, состоящий из обеих
+ частей, который и будет установлен. Этот вариант используется для
+ файлов, настройки в которых изменялись пользователем.
+
+ Выбор повторного просмотра &man.diff.1;-разниц выдаст вам разницы
+ между файлами, как это делала утилита &man.mergemaster.8; до того,
+ как запросила вас о выборе.
+
+ После того, как утилита &man.mergemaster.8; закончит работу с
+ системными файлами, она выдаст запрос относительно других параметров.
+ &man.mergemaster.8; может запросить вас относительно перестроения
+ файла паролей и/или запуска &man.MAKEDEV.8; при использовании FreeBSD
+ версий, меньших чем 5.0, и завершит запросом на удаление оставшихся
+ временных файлов.
- Обновление в ручном режиме
-
- Однако если вы хотите произвести обновление вручную, то вы не
- можете просто скопировать файлы из /usr/src/etc в
- /etc и получить работающую систему. Некоторые
- из этих файлов сначала нужно установить. Это нужно
- потому, что каталог /usr/src/etc
- не является копией того, что должен содержать
- ваш каталог /etc. Кроме того, есть файлы,
- которые должны присутствовать в /etc, но которых
- нет в /usr/src/etc.
-
- Если вы используете &man.mergemaster.8; (как это рекомендуется),
- то вы можете перейти сразу к следующему
- разделу.
+ Обновление в ручном режиме
+
+ Однако если вы хотите произвести обновление вручную, то вы не
+ можете просто скопировать файлы из /usr/src/etc в
+ /etc и получить работающую систему. Некоторые
+ из этих файлов сначала нужно установить. Это нужно
+ потому, что каталог /usr/src/etc
+ не является копией того, что должен содержать
+ ваш каталог /etc. Кроме того, есть файлы,
+ которые должны присутствовать в /etc, но которых
+ нет в /usr/src/etc.
+
+ Если вы используете &man.mergemaster.8; (как это рекомендуется),
+ то вы можете перейти сразу к следующему
+ разделу.Вручную проще всего сделать это, установив файлы в новый каталог,
- а затем пройтись по ним, отмечая разницу.
+ а затем пройтись по ним, отмечая разницу.
- Сделайте резервную копию вашего каталога
- /etc
+ Сделайте резервную копию вашего каталога
+ /etc
- Хотя, в теории, никаких автоматических действий с этим
- каталогом не производится,
- всегда лучше чувствовать себя уверенным. Так что скопируйте
- имеющийся каталог /etc в какое-нибудь
- безопасное место. Запустите что-то вроде:
+ Хотя, в теории, никаких автоматических действий с этим
+ каталогом не производится,
+ всегда лучше чувствовать себя уверенным. Так что скопируйте
+ имеющийся каталог /etc в какое-нибудь
+ безопасное место. Запустите что-то вроде:
- &prompt.root; cp -Rp /etc /etc.old
+ &prompt.root; cp -Rp /etc /etc.old
- задает выполнение рекурсивного копирования,
- а сохраняет даты, владельца файлов и тому
- подобное.
+ задает выполнение рекурсивного копирования,
+ а сохраняет даты, владельца файлов и тому
+ подобное.Вам нужно создать шаблонную структуру каталогов для установки
- нового содержимого /etc и других файлов.
- Подходящим местом является /var/tmp/root, и в нём
- потребуется разместить некоторое количество подкаталогов.
+ нового содержимого /etc и других файлов.
+ Подходящим местом является /var/tmp/root, и в нём
+ потребуется разместить некоторое количество подкаталогов.
&prompt.root; mkdir /var/tmp/root
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root distrib-dirs distributionЭти команды приведут к созданию нужной структуры каталогов и
- установке файлов. Множество каталогов, созданных в
- /var/tmp/root, будут пустыми и должны быть удалены.
- Проще всего сделать это так:
+ установке файлов. Множество каталогов, созданных в
+ /var/tmp/root, будут пустыми и должны быть удалены.
+ Проще всего сделать это так:
&prompt.root; cd /var/tmp/root
&prompt.root; find -d . -type d | xargs rmdir 2>/dev/nullЭти команды удалят все пустые каталоги. (Стандартный поток
- диагностических сообщений перенаправляется в
- /dev/null для исключения предупреждений о
- непустых каталогах.)
+ диагностических сообщений перенаправляется в
+ /dev/null для исключения предупреждений о
+ непустых каталогах.)
Теперь /var/tmp/root содержит все файлы,
- которые должны быть помещены в соответствующие места в
- /. Теперь пройдитесь по каждому их этих файлов
- и определите, чем они отличаются от имеющихся у вас файлов.
+ которые должны быть помещены в соответствующие места в
+ /. Теперь пройдитесь по каждому их этих файлов
+ и определите, чем они отличаются от имеющихся у вас файлов.
Заметьте, что некоторые из файлов, которые были установлены в
- каталог /var/tmp/root, имеют первым символом
- .. На момент написания единственными такими файлами
- являлись файлы начальных скриптов командных процессоров в
- /var/tmp/root/ и
- /var/tmp/root/root/, хотя могут быть и другие
- (зависит от того, когда вы это читаете). Обязательно пользуйтесь
- командой ls -a, чтобы выявить их.
+ каталог /var/tmp/root, имеют первым символом
+ .. На момент написания единственными такими файлами
+ являлись файлы начальных скриптов командных процессоров в
+ /var/tmp/root/ и
+ /var/tmp/root/root/, хотя могут быть и другие
+ (зависит от того, когда вы это читаете). Обязательно пользуйтесь
+ командой ls -a, чтобы выявить их.
Проще всего сделать это путём сравнения двух файлов при помощи
- команды &man.diff.1;:
+ команды &man.diff.1;:
&prompt.root; diff /etc/shells /var/tmp/root/etc/shellsЭта команда покажет разницу между вашим файлом
- /etc/shells и новым файлом
- /var/tmp/root/etc/shells. Используйте это для
- определения того, переносить ли сделанные вами изменения или
- скопировать поверх вашего старого файла.
+ /etc/shells и новым файлом
+ /var/tmp/root/etc/shells. Используйте это для
+ определения того, переносить ли сделанные вами изменения или
+ скопировать поверх вашего старого файла.
- Называйте новый корневой каталог
- (/var/tmp/root) по дате, чтобы вы смогли легко
- выявить разницу между версиями
-
- Частое перестроение системы означает также и частое обновление
- /etc, которое может быть несколько
- обременительным.
-
- Вы можете ускорить этот процесс, сохраняя копию последнего
- набора измененных файлов, которые вы перенесли в
- /etc. Следующая процедура подаст вам одну
- идею о том, как это сделать.
-
-
-
- Выполните перестроение системы обычным образом. Когда вы
- вам потребуется обновить /etc и другие
- каталоги, дайте целевому каталогу имя на основе текущей даты.
- Если вы делаете это 14 февраля 1998 года, то вы можете сделать
- следующее:
-
- &prompt.root; mkdir /var/tmp/root-19980214
+ Называйте новый корневой каталог
+ (/var/tmp/root) по дате, чтобы вы смогли легко
+ выявить разницу между версиями
+
+ Частое перестроение системы означает также и частое обновление
+ /etc, которое может быть несколько
+ обременительным.
+
+ Вы можете ускорить этот процесс, сохраняя копию последнего
+ набора измененных файлов, которые вы перенесли в
+ /etc. Следующая процедура подаст вам одну
+ идею о том, как это сделать.
+
+
+
+ Выполните перестроение системы обычным образом. Когда вы
+ вам потребуется обновить /etc и другие
+ каталоги, дайте целевому каталогу имя на основе текущей даты.
+ Если вы делаете это 14 февраля 1998 года, то вы можете сделать
+ следующее:
+
+ &prompt.root; mkdir /var/tmp/root-19980214
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root-19980214 \
distrib-dirs distribution
-
-
-
- Перенесите изменение из этого каталога, как это описано
- выше.
-
- Не удаляйте каталог
- /var/tmp/root-19980214 после окончания
- этого процесса.
-
-
-
- Когда вы загрузите самую последнюю версию исходного кода и
- перестроите систему, выполните шаг 1. Это даст вам новый
- каталог, который может называться
- /var/tmp/root-19980221 (если вы ждете
- неделю между обновлениями).
-
-
-
- Теперь вы можете видеть изменения, которые были сделаны
- за прошедшую неделю, выполнив при помощи команды &man.diff.1;
- рекурсивное сравнение двух каталогов:
-
- &prompt.root; cd /var/tmp
+
+
+
+ Перенесите изменение из этого каталога, как это описано
+ выше.
+
+ Не удаляйте каталог
+ /var/tmp/root-19980214 после окончания
+ этого процесса.
+
+
+
+ Когда вы загрузите самую последнюю версию исходного кода и
+ перестроите систему, выполните шаг 1. Это даст вам новый
+ каталог, который может называться
+ /var/tmp/root-19980221 (если вы ждете
+ неделю между обновлениями).
+
+
+
+ Теперь вы можете видеть изменения, которые были сделаны
+ за прошедшую неделю, выполнив при помощи команды &man.diff.1;
+ рекурсивное сравнение двух каталогов:
+
+ &prompt.root; cd /var/tmp
&prompt.root; diff -r root-19980214 root-19980221
- Как правило, здесь содержится гораздо меньше отличий, чем
- между каталогами
- /var/tmp/root-19980221/etc и
- /etc. Так как отличий меньше, то и легче
- перенести эти изменения в ваш каталог
- /etc.
-
+ Как правило, здесь содержится гораздо меньше отличий, чем
+ между каталогами
+ /var/tmp/root-19980221/etc и
+ /etc. Так как отличий меньше, то и легче
+ перенести эти изменения в ваш каталог
+ /etc.
+
-
- Теперь вы можете удалить более старый из двух каталогов
- /var/tmp/root-*:
+
+ Теперь вы можете удалить более старый из двух каталогов
+ /var/tmp/root-*:
- &prompt.root; rm -rf /var/tmp/root-19980214
-
+ &prompt.root; rm -rf /var/tmp/root-19980214
+
-
- Повторяйте этот процесс всякий раз, когда вам нужно
- перенести изменения в каталог /etc.
-
-
+
+ Повторяйте этот процесс всякий раз, когда вам нужно
+ перенести изменения в каталог /etc.
+
+
- Для автоматической генерации имён каталогов можно
- использовать команду &man.date.1;:
+ Для автоматической генерации имён каталогов можно
+ использовать команду &man.date.1;:
- &prompt.root; mkdir /var/tmp/root-`date "+%Y%m%d"`
-
+ &prompt.root; mkdir /var/tmp/root-`date "+%Y%m%d"`
+
Обновите /dev
- DEVFS
+ DEVFS
- Если вы работаете с FreeBSD 5.0 или более поздними версиями,
- то можете спокойно пропустить этот раздел. В этих версиях
- &man.devfs.5; используется для выделения файлов устройств в режиме,
- прозрачном для пользователя.
+ Если вы работаете с FreeBSD 5.0 или более поздними версиями,
+ то можете спокойно пропустить этот раздел. В этих версиях
+ &man.devfs.5; используется для выделения файлов устройств в режиме,
+ прозрачном для пользователя.
- Если вы используете DEVFS, то этого можно не делать.
+ Если вы используете DEVFS, то этого можно не делать.В большинстве случаев утилита &man.mergemaster.8; обнаружит, что
- необходимо обновить файлы устройств, и предложит сделать это
- автоматически. Эти указания описывают, как обновить файлы устройств
- вручную.
+ необходимо обновить файлы устройств, и предложит сделать это
+ автоматически. Эти указания описывают, как обновить файлы устройств
+ вручную.
Для безопасности этот процесс делается в несколько шагов.
-
- Скопируйте /var/tmp/root/dev/MAKEDEV в
- /dev:
+
+ Скопируйте /var/tmp/root/dev/MAKEDEV в
+ /dev:
- &prompt.root; cp /var/tmp/root/dev/MAKEDEV /dev
+ &prompt.root; cp /var/tmp/root/dev/MAKEDEV /dev
-
- MAKEDEV
-
+
+ MAKEDEV
+
- Если вы использовали &man.mergemaster.8; для обновления
- /etc, то ваш скрипт
- MAKEDEV уже должен быть обновлен, так что
- его не нужно проверять (утилитой &man.diff.1;) и копировать
- вручную в случае необходимости.
-
+ Если вы использовали &man.mergemaster.8; для обновления
+ /etc, то ваш скрипт
+ MAKEDEV уже должен быть обновлен, так что
+ его не нужно проверять (утилитой &man.diff.1;) и копировать
+ вручную в случае необходимости.
+
-
- Теперь выведите текущее содержимое вашего каталога
- /dev. Этот список должен содержать права,
- владельцев, старшее и младшее числа каждого файла, но не должен
- содержать информацию о времени. Проще всего это сделать,
- отрезав при помощи &man.awk.1; часть информации:
+
+ Теперь выведите текущее содержимое вашего каталога
+ /dev. Этот список должен содержать права,
+ владельцев, старшее и младшее числа каждого файла, но не должен
+ содержать информацию о времени. Проще всего это сделать,
+ отрезав при помощи &man.awk.1; часть информации:
- &prompt.root; cd /dev
-&prompt.root; ls -l | awk '{print $1, $2, $3, $4, $5, $6, $NF}' > /var/tmp/dev.out
-
+ &prompt.root; cd /dev
+&prompt.root; ls -l | awk '{print $1, $2, $3, $4, $5, $6, $NF}' > /var/tmp/dev.out
+
-
- Повторно создайте все файлы устройств:
+
+ Повторно создайте все файлы устройств:
- &prompt.root; sh MAKEDEV all
-
+ &prompt.root; sh MAKEDEV all
+
-
- Создайте ещё один список содержимого каталога, на этот раз в
- /var/tmp/dev2.out. Теперь просмотрите оба эти
- файла и поищите файлы устройств, которые вы забыли создать. Таких
- быть не должно, но лишний раз удостовериться не помешает.
+
+ Создайте ещё один список содержимого каталога, на этот раз в
+ /var/tmp/dev2.out. Теперь просмотрите оба эти
+ файла и поищите файлы устройств, которые вы забыли создать. Таких
+ быть не должно, но лишний раз удостовериться не помешает.
- &prompt.root; diff /var/tmp/dev.out /var/tmp/dev2.out
+ &prompt.root; diff /var/tmp/dev.out /var/tmp/dev2.out
- Скорее всего, вы заметите разногласия в именовании дисковых
- слайсов, что решается такими командами, как:
+ Скорее всего, вы заметите разногласия в именовании дисковых
+ слайсов, что решается такими командами, как:
- &prompt.root; sh MAKEDEV sd0s1
+ &prompt.root; sh MAKEDEV sd0s1
- для повторного создания устройств слайсов. Точное название
- зависит от вашей системы и может отличаться от приведённого.
-
+ для повторного создания устройств слайсов. Точное название
+ зависит от вашей системы и может отличаться от приведённого.
+ Обновите /stand
- Этот шаг описан только для полноты. Он может быть
- безболезненно опущен. Если вы работаете с FreeBSD 5.2 или
- более поздней версией, то для пользователей каталог
- /rescue автоматически обновляется до текущего
- состояния, а статически компилируемые выполнимые файлы во время
- выполнения команды make installworld, поэтому
- обновлять каталог /stand (которого вообще не
- существует во FreeBSD 5.2 и последующих версиях) не
- нужно.
+ Этот шаг описан только для полноты. Он может быть
+ безболезненно опущен. Если вы работаете с FreeBSD 5.2 или
+ более поздней версией, то для пользователей каталог
+ /rescue автоматически обновляется до текущего
+ состояния, а статически компилируемые выполнимые файлы во время
+ выполнения команды make installworld, поэтому
+ обновлять каталог /stand (которого вообще не
+ существует во &os; 6.0 и последующих версиях) не
+ нужно.В целях полноты обновления вам может потребоваться обновить также
- файлы в каталоге /stand. Эти файлы представляют
- собой жёсткие ссылки на выполнимый файл
- /stand/sysinstall. Этот файл должен быть
- статически скомпонован, чтобы его работа не зависела от других
- файловых систем (в частности, от наличия смонтированной файловой
- системы /usr).
+ файлы в каталоге /stand. Эти файлы представляют
+ собой жёсткие ссылки на выполнимый файл
+ /stand/sysinstall. Этот файл должен быть
+ статически скомпонован, чтобы его работа не зависела от других
+ файловых систем (в частности, от наличия смонтированной файловой
+ системы /usr).
&prompt.root; cd /usr/src/release/sysinstall
&prompt.root; make all installПерезагрузкаТеперь вы сделали всё. После того, как вы проверили, что всё
- на месте, можете перегрузить систему. Простая команда
- &man.shutdown.8; должна это сделать:
+ на месте, можете перегрузить систему. Простая команда
+ &man.shutdown.8; должна это сделать:
&prompt.root; shutdown -r nowЗавершениеТеперь у вас имеется успешно обновлённая система &os;.
- Поздравляем!
+ Поздравляем!
Если что-то работает неправильно, можно с лёгкостью перестроить
- конкретную часть системы. Например, если вы случайно удалили файл
- /etc/magic в процессе обновления или переноса
- /etc, то команда &man.file.1; перестанет работать.
- В таком случае это можно исправить вот так:
+ конкретную часть системы. Например, если вы случайно удалили файл
+ /etc/magic в процессе обновления или переноса
+ /etc, то команда &man.file.1; перестанет работать.
+ В таком случае это можно исправить вот так:
&prompt.root; cd /usr/src/usr.bin/file
&prompt.root; make all installВопросы?
-
-
- Нужно ли полностью перестраивать систему при каждом
- изменении?
-
-
-
- Простого ответа на этот вопрос нет, так как это зависит от
- характера изменения. Например, если вы только что выполнили
- CVSup, и оказалось, что с момента
- последнего его запуска были изменены следующие файлы:
-
- src/games/cribbage/instr.c
+
+
+ Нужно ли полностью перестраивать систему при каждом
+ изменении?
+
+
+
+ Простого ответа на этот вопрос нет, так как это зависит от
+ характера изменения. Например, если вы только что выполнили
+ CVSup, и оказалось, что с момента
+ последнего его запуска были изменены следующие файлы:
+
+ src/games/cribbage/instr.csrc/games/sail/pl_main.csrc/release/sysinstall/config.csrc/release/sysinstall/media.csrc/share/mk/bsd.port.mk
- то перестраивать всю систему незачем. Вы можете просто
- перейти в соответствующий подкаталог и выдать команду
- make all install, этого будет достаточно.
- Однако, если меняется что-то важное, например,
- src/lib/libc/stdlib, то вы должны
- перестроить всю систему или по крайней мере те ее части, которые
- скомпонованы статически.
-
- В конце концов, выбор за вами. Может быть вам нравится
- перестраивать систему, скажем, каждый вечер, а изменения
- скачивать ночью. Или вы можете захотеть перестраивать только
- те вещи, которые менялись, но быть уверенным, что отслежены все
- изменения.
-
- И, конечно же, всё это зависит от того, как часто вы хотите
- делать обновление, и отслеживаете ли вы &os.stable; или
- &os.current;.
-
-
-
-
-
- Компиляция прерывается с большим количеством ошибок по
- сигналу 11 (или с другим номером сигнала). Что
- случилось?
-
-
- сигнал 11
-
-
- Как правило, это говорит о проблемах с оборудованием.
- (Пере)построение системы является эффективным стресс-тестом для
- вашего оборудования и частенько выявляет проблемы с памятью.
- Обычно это проявляется в виде неожиданных сбоев компилятора
- или получения странных программных сигналов.
-
- Явным указателем на это является то, что при перезапуске
- процедуры построения она прекращается в различные моменты
- времени.
-
- В этом случае вы мало что можете сделать, разве что
- попробовать заменить комплектующие вашей машины для определения
- сбоящей компоненты.
-
-
-
-
-
- Могу ли я удалить каталог /usr/obj
- после окончания?
-
-
-
- Если отвечать коротко, то да.
-
- Каталог /usr/obj содержит все
- объектные файлы, которые создаются во время фазы компиляции.
- Обычно одним из первых шагов в процессе make buildworld
- является удаление этого каталога. В этом случае сохранение
- /usr/obj после окончания имеет мало смысла;
- вдобавок, он будет занимать большой объём дискового
- пространства (на данный момент около 340 МБ).
-
- Однако если вы точно знаете, что делаете, то можете заставить
- процедуру make buildworld пропустить этот шаг. Это
- позволит последующие построения выполняться гораздо быстрее, так
- как большинство исходных текстов не нужно будет
- перекомпилировать. Оборотной стороной медали этого подхода
- является вероятность появления некоторых проблем с зависимостями,
- что может привести к прерыванию построения по странным причинам.
- Это частенько вызывает шум в списках рассылки &os;, когда
- кто-либо жалуется на прерывание процесса построения, не обращая
- внимания на то, что он пытается срезать углы на
- повороте.
-
-
-
-
-
- Могут ли быть продолжены прерванные процессы
- построения?
-
-
-
- Это зависит от того, насколько далеко зашел процесс
- построения перед тем, как вы обнаружили проблему.
-
- В общем случае (и это несложное и
- быстрое правило) процесс make buildworld строит
- новые копии необходимых инструментальных средств (таких, как
- &man.gcc.1; и &man.make.1;) и системные библиотеки. Затем эти
- средства и библиотеки устанавливаются. Новые инструментальные
- средства и библиотеки затем используются для перестроения
- самих себя, и повторно устанавливаются. Система в целом
- (теперь включая обычные пользовательские программы, такие,
- как &man.ls.1; или &man.grep.1;) теперь перестраивается с
- новыми системными файлами.
-
- Если вы на последнем шаге, и вы знаете это (потому что
- просматривали вывод, который сохраняете), то вы можете
- (достаточно безболезненно) выполнить команду:
-
- … исправление проблемы …
+ то перестраивать всю систему незачем. Вы можете просто
+ перейти в соответствующий подкаталог и выдать команду
+ make all install, этого будет достаточно.
+ Однако, если меняется что-то важное, например,
+ src/lib/libc/stdlib, то вы должны
+ перестроить всю систему или по крайней мере те ее части, которые
+ скомпонованы статически.
+
+ В конце концов, выбор за вами. Может быть вам нравится
+ перестраивать систему, скажем, каждый вечер, а изменения
+ скачивать ночью. Или вы можете захотеть перестраивать только
+ те вещи, которые менялись, но быть уверенным, что отслежены все
+ изменения.
+
+ И, конечно же, всё это зависит от того, как часто вы хотите
+ делать обновление, и отслеживаете ли вы &os.stable; или
+ &os.current;.
+
+
+
+
+
+ Компиляция прерывается с большим количеством ошибок по
+ сигналу 11 (или с другим номером сигнала). Что
+ случилось?
+
+
+ сигнал 11
+
+
+ Как правило, это говорит о проблемах с оборудованием.
+ (Пере)построение системы является эффективным стресс-тестом для
+ вашего оборудования и частенько выявляет проблемы с памятью.
+ Обычно это проявляется в виде неожиданных сбоев компилятора
+ или получения странных программных сигналов.
+
+ Явным указателем на это является то, что при перезапуске
+ процедуры построения она прекращается в различные моменты
+ времени.
+
+ В этом случае вы мало что можете сделать, разве что
+ попробовать заменить комплектующие вашей машины для определения
+ сбоящей компоненты.
+
+
+
+
+
+ Могу ли я удалить каталог /usr/obj
+ после окончания?
+
+
+
+ Если отвечать коротко, то да.
+
+ Каталог /usr/obj содержит все
+ объектные файлы, которые создаются во время фазы компиляции.
+ Обычно одним из первых шагов в процессе make buildworld
+ является удаление этого каталога. В этом случае сохранение
+ /usr/obj после окончания имеет мало смысла;
+ вдобавок, он будет занимать большой объём дискового
+ пространства (на данный момент около 340 МБ).
+
+ Однако если вы точно знаете, что делаете, то можете заставить
+ процедуру make buildworld пропустить этот шаг. Это
+ позволит последующие построения выполняться гораздо быстрее, так
+ как большинство исходных текстов не нужно будет
+ перекомпилировать. Оборотной стороной медали этого подхода
+ является вероятность появления некоторых проблем с зависимостями,
+ что может привести к прерыванию построения по странным причинам.
+ Это частенько вызывает шум в списках рассылки &os;, когда
+ кто-либо жалуется на прерывание процесса построения, не обращая
+ внимания на то, что он пытается срезать углы на
+ повороте.
+
+
+
+
+
+ Могут ли быть продолжены прерванные процессы
+ построения?
+
+
+
+ Это зависит от того, насколько далеко зашел процесс
+ построения перед тем, как вы обнаружили проблему.
+
+ В общем случае (и это несложное и
+ быстрое правило) процесс make buildworld строит
+ новые копии необходимых инструментальных средств (таких, как
+ &man.gcc.1; и &man.make.1;) и системные библиотеки. Затем эти
+ средства и библиотеки устанавливаются. Новые инструментальные
+ средства и библиотеки затем используются для перестроения
+ самих себя, и повторно устанавливаются. Система в целом
+ (теперь включая обычные пользовательские программы, такие,
+ как &man.ls.1; или &man.grep.1;) теперь перестраивается с
+ новыми системными файлами.
+
+ Если вы на последнем шаге, и вы знаете это (потому что
+ просматривали вывод, который сохраняете), то вы можете
+ (достаточно безболезненно) выполнить команду:
+
+ … исправление проблемы …
&prompt.root; cd /usr/src
-&prompt.root; make -DNOCLEAN all
+&prompt.root; make -DNO_CLEAN all
+
+ Во &os; 5.X и ранее, пользуйтесь опцией
+ -DNOCLEAN.
- При этом результат предыдущего запуска
- make buildworld откатываться не будет.
+ При этом результат предыдущего запуска
+ make buildworld откатываться не будет.
- Если вы видите сообщение:
+ Если вы видите сообщение:
- --------------------------------------------------------------
+ --------------------------------------------------------------
Building everything..
--------------------------------------------------------------
- в выводе команды make buildworld, то делать так
- достаточно безопасно.
-
- Если этого сообщения не было, или вы в этом не уверены, то
- всегда лучше обезопасить себя, и начать построение с самого
- начала.
-
-
-
-
-
- Как ускорить процесс построения системы?
-
-
-
-
-
- Работайте в однопользовательском режиме.
-
-
-
- Разместите каталоги /usr/src и
- /usr/obj в отдельных файловых
- системах, располагающихся на разных дисках. Если это
- возможно, то разместите эти диски на разных дисковых
- контроллерах.
-
-
-
- Ещё лучше разместить эти файловые системы на нескольких
- дисках при помощи устройства &man.ccd.4; (драйвер
- объединённых дисков).
-
-
-
- Выключите генерацию профилирующего кода (установив
- NOPROFILE=true в файле
- /etc/make.conf). Вам это скорее
- всего никогда не понадобится.
-
-
-
- Также в /etc/make.conf установите
- значение CFLAGS во что-то типа . Оптимизация выполняется
- гораздо медленнее, а разница между и
- обычно несущественна.
- позволяет компилятору использовать для
- связи вместо временных файлов программные каналы, что
- уменьшает обращение к диску (за счет оперативной
- памяти).
-
-
-
- Передайте утилите &man.make.1; параметр
- для запуска
- параллельно нескольких процессов. Обычно это помогает вне
- зависимости от того, сколько процессоров установлено в вашей
- машине.
-
-
-
- Файловая система, на которой располагается каталог
- /usr/src, может быть смонтирована (или
- перемонтирована) с опцией . При этом
- запись на диск информации о времени последнего доступа к
- файлам будет отключена. Скорее всего, вам эта информация и
- не нужна.
-
- &prompt.root; mount -u -o noatime /usr/src
-
-
- В примере предполагается, что
- /usr/src располагается на
- собственной файловой системе. Если это не так (то
- есть он является частью, скажем,
- /usr), то вам нужно использовать
- точку монтирования той файловой системы, а не
- /usr/src.
-
-
-
-
- Файловая система, на которой располагается
- /usr/obj, может быть смонтирована (или
- перемонтирована) с параметром . Это
- приведёт к тому, что операции записи на диск будут
- выполняться асинхронно. Другими словами, запись будет
- завершаться немедленно, но данные записываться на диск
- несколькими секундами позже. Это позволит объединять
- операции записи и приведёт к значительному приросту
- производительности.
-
-
- Имейте в виду, что эта опция делает вашу файловую
- систему менее устойчивой. С этой опцией имеется больше
- шансов, что при перезагрузке машины после неожиданного
- сбоя при пропадании напряжения файловая система окажется
- в невосстановимом состоянии.
-
- Если каталог /usr/obj — это все,
- что есть в этой файловой системе, то это не проблема.
- Если на той же самой файловой системе имеются какие-то
- важные данные, то проверьте давность ваших резервных
- копий перед включением этой опции.
-
-
- &prompt.root; mount -u -o async /usr/obj
-
-
- Как и раньше, если каталог
- /usr/obj располагается не на
- собственной файловой системе, то в примере замените его
- на имя соответствующей точки монтирования.
-
-
-
-
-
-
-
-
- Что мне делать, если что-то пошло не так?
-
-
-
- Скрупулезно проверьте, чтобы в вашем окружении не было
- мешающих остатков от предыдущих построений. Это достаточно
- просто.
-
- &prompt.root; chflags -R noschg /usr/obj/usr
+ в выводе команды make buildworld, то делать так
+ достаточно безопасно.
+
+ Если этого сообщения не было, или вы в этом не уверены, то
+ всегда лучше обезопасить себя, и начать построение с самого
+ начала.
+
+
+
+
+
+ Как ускорить процесс построения системы?
+
+
+
+
+
+ Работайте в однопользовательском режиме.
+
+
+
+ Разместите каталоги /usr/src и
+ /usr/obj в отдельных файловых
+ системах, располагающихся на разных дисках. Если это
+ возможно, то разместите эти диски на разных дисковых
+ контроллерах.
+
+
+
+ Ещё лучше разместить эти файловые системы на нескольких
+ дисках при помощи устройства &man.ccd.4; (драйвер
+ объединённых дисков).
+
+
+
+ Выключите генерацию профилирующего кода (установив
+ NO_PROFILE=true в файле
+ /etc/make.conf). Вам это скорее
+ всего никогда не понадобится.
+
+
+
+ Также в /etc/make.conf установите
+ значение CFLAGS во что-то типа . Оптимизация выполняется
+ гораздо медленнее, а разница между и
+ обычно несущественна.
+ позволяет компилятору использовать для
+ связи вместо временных файлов программные каналы, что
+ уменьшает обращение к диску (за счет оперативной
+ памяти).
+
+
+
+ Передайте утилите &man.make.1; параметр
+ для запуска
+ параллельно нескольких процессов. Обычно это помогает вне
+ зависимости от того, сколько процессоров установлено в вашей
+ машине.
+
+
+
+ Файловая система, на которой располагается каталог
+ /usr/src, может быть смонтирована (или
+ перемонтирована) с опцией . При этом
+ запись на диск информации о времени последнего доступа к
+ файлам будет отключена. Скорее всего, вам эта информация и
+ не нужна.
+
+ &prompt.root; mount -u -o noatime /usr/src
+
+
+ В примере предполагается, что
+ /usr/src располагается на
+ собственной файловой системе. Если это не так (то
+ есть он является частью, скажем,
+ /usr), то вам нужно использовать
+ точку монтирования той файловой системы, а не
+ /usr/src.
+
+
+
+
+ Файловая система, на которой располагается
+ /usr/obj, может быть смонтирована (или
+ перемонтирована) с параметром . Это
+ приведёт к тому, что операции записи на диск будут
+ выполняться асинхронно. Другими словами, запись будет
+ завершаться немедленно, но данные записываться на диск
+ несколькими секундами позже. Это позволит объединять
+ операции записи и приведёт к значительному приросту
+ производительности.
+
+
+ Имейте в виду, что эта опция делает вашу файловую
+ систему менее устойчивой. С этой опцией имеется больше
+ шансов, что при перезагрузке машины после неожиданного
+ сбоя при пропадании напряжения файловая система окажется
+ в невосстановимом состоянии.
+
+ Если каталог /usr/obj — это все,
+ что есть в этой файловой системе, то это не проблема.
+ Если на той же самой файловой системе имеются какие-то
+ важные данные, то проверьте давность ваших резервных
+ копий перед включением этой опции.
+
+
+ &prompt.root; mount -u -o async /usr/obj
+
+
+ Как и раньше, если каталог
+ /usr/obj располагается не на
+ собственной файловой системе, то в примере замените его
+ на имя соответствующей точки монтирования.
+
+
+
+
+
+
+
+
+ Что мне делать, если что-то пошло не так?
+
+
+
+ Скрупулезно проверьте, чтобы в вашем окружении не было
+ мешающих остатков от предыдущих построений. Это достаточно
+ просто.
+
+ &prompt.root; chflags -R noschg /usr/obj/usr
&prompt.root; rm -rf /usr/obj/usr
&prompt.root; cd /usr/src
&prompt.root; make cleandir
&prompt.root; make cleandir
- Да, команду make cleandir действительно
- нужно выполнять дважды.
+ Да, команду make cleandir действительно
+ нужно выполнять дважды.
- После этого повторите весь процесс снова, начиная с
- make buildworld.
+ После этого повторите весь процесс снова, начиная с
+ make buildworld.
- Если у вас все еще есть проблемы, пришлите текст ошибки и
- выдачу команды uname -a на адрес списка рассылки
- &a.questions.name;. Будьте готовы ответить на другие вопросы о
- конфигурации вашей системы!
-
-
+ Если у вас все еще есть проблемы, пришлите текст ошибки и
+ выдачу команды uname -a на адрес списка рассылки
+ &a.questions.name;. Будьте готовы ответить на другие вопросы о
+ конфигурации вашей системы!
+
+
MikeMeyer
- Текст предоставил
+ Текст предоставил Отслеживание исходных текстов для нескольких машинNFSinstalling multiple machines
-
- Если у вас множество машин, для которых вы хотите отслеживать одно
+
+ Если у вас множество машин, для которых вы хотите отслеживать одно
и то же дерево исходных текстов, то загрузка кода и перестроение системы
полностью выглядит как ненужная трата ресурсов: дискового пространства,
пропускной способности сети и процессорного времени. Так оно и есть, и
решением является выделение одной машины, которая выполняет основной
объём работы, в то время как остальные используют результаты работы
посредством NFS. В этом разделе описывается именно этот метод.ПодготовкаПервым делом определите набор машин, на которых выполняется один
- и тот же набор бинарных программ, и мы будем называть его
- набором для построения. Каждая машина может иметь
- собственное уникальное ядро, но они будут работать с одними и теми же
- программами пользователя. Из этого набора выберите машину, которая
- будет являться машиной для построения. Она станет
- машиной, на которой будут строиться ядро и всё окружение. В идеальном
- случае с достаточно незагруженным CPU для выполнения команд
+ и тот же набор бинарных программ, и мы будем называть его
+ набором для построения. Каждая машина может иметь
+ собственное уникальное ядро, но они будут работать с одними и теми же
+ программами пользователя. Из этого набора выберите машину, которая
+ будет являться машиной для построения. Она станет
+ машиной, на которой будут строиться ядро и всё окружение. В идеальном
+ случае с достаточно незагруженным CPU для выполнения команд
make buildworld и make
buildkernel. Вам также потребуется выбрать машину,
- которая будет тестовой для проверки обновлений
- программного обеспечения прежде, чем оно будет запущено в промышленную
- эксплуатацию. Это должна быть машина, которая
- может быть в нерабочем состоянии достаточно долго. Это может быть
- машина для построения, но не обязательно.
+ которая будет тестовой для проверки обновлений
+ программного обеспечения прежде, чем оно будет запущено в промышленную
+ эксплуатацию. Это должна быть машина, которая
+ может быть в нерабочем состоянии достаточно долго. Это может быть
+ машина для построения, но не обязательно.Все машины в этом наборе для построения должны монтировать каталоги
/usr/obj и
/usr/src с одной и той же машины и в одну и ту же
- точку монтирования. В идеальном случае они располагаются на разных
- дисках машины построения, но они могут также монтироваться по NFS на
- этой машине. Если у вас имеется несколько наборов для построения, то
+ точку монтирования. В идеальном случае они располагаются на разных
+ дисках машины построения, но они могут также монтироваться по NFS на
+ этой машине. Если у вас имеется несколько наборов для построения, то
каталог /usr/src должен быть на машине построения,
- а по NFS он должен быть смонтирован на остальных.
+ а по NFS он должен быть смонтирован на остальных.
Наконец, удостоверьтесь в том, что файл
- /etc/make.conf на всех машинах набора для
- построения соответствует машине построения. Это означает, что машина
- построения должна строить все части основного системного набора,
- которые будут устанавливаться на каждой машине из набора для
- построения. Кроме того, у каждой машины построения должно быть задано
- имя ядра посредством переменной KERNCONF в файле
+ /etc/make.conf на всех машинах набора для
+ построения соответствует машине построения. Это означает, что машина
+ построения должна строить все части основного системного набора,
+ которые будут устанавливаться на каждой машине из набора для
+ построения. Кроме того, у каждой машины построения должно быть задано
+ имя ядра посредством переменной KERNCONF в файле
/etc/make.conf, а машина построения должна
- перечислить их все в переменной KERNCONF, причём
- первым должно быть имя её собственного ядра. Машина построения должна
- хранить конфигурационные файлы ядра каждой машины в каталоге
+ перечислить их все в переменной KERNCONF, причём
+ первым должно быть имя её собственного ядра. Машина построения должна
+ хранить конфигурационные файлы ядра каждой машины в каталоге
/usr/src/sys/arch/conf,
- если на ней будут строиться соответствующие ядра..
+ если на ней будут строиться соответствующие ядра..
Основные системные компонентыТеперь, когда всё это сделано, вы готовы к построению. Постройте
- ядро и всё окружение так, как это описано в на машине построения, но ничего не
- устанавливайте. После того, как процесс построения завершится,
- перейдите к тестовой машине и установите только что построенное ядро.
- Если эта машина монтирует каталоги /usr/src и
+ устанавливайте. После того, как процесс построения завершится,
+ перейдите к тестовой машине и установите только что построенное ядро.
+ Если эта машина монтирует каталоги /usr/src и
/usr/obj посредством NFS, то при перезагрузке в
- однопользовательский режим вам потребуется задействовать сеть и
- смонтировать их. Самым простым способом сделать это является переход
- во многопользовательский режим и запуск команды shutdown
- now для перехода в однопользовательский режим. После этого
- вы можете установить новое ядро и всё окружение, а затем выполнить
- команду mergemaster обычным образом. После
- выполнения этих действий перезагрузитесь для возвращения к обычному
- режиму работы во многопользовательском режиме с этой машиной.
+ однопользовательский режим вам потребуется задействовать сеть и
+ смонтировать их. Самым простым способом сделать это является переход
+ во многопользовательский режим и запуск команды shutdown
+ now для перехода в однопользовательский режим. После этого
+ вы можете установить новое ядро и всё окружение, а затем выполнить
+ команду mergemaster обычным образом. После
+ выполнения этих действий перезагрузитесь для возвращения к обычному
+ режиму работы во многопользовательском режиме с этой машиной.
После того, как вы убедитесь в нормальной работе всего на тестовой
- машине, проведите ту же самую процедуру для установки нового
- программного обеспечения на каждой из оставшихся машин из набора для
- построения.
+ машине, проведите ту же самую процедуру для установки нового
+ программного обеспечения на каждой из оставшихся машин из набора для
+ построения.
ПортыТе же самые идеи могут использоваться и для дерева портов. Первым
- критическим шагом является монтирование /usr/ports
- с одной и той же машины на всех компьютерах в наборе для построения.
- Затем вы можете корректно настроить /etc/make.conf
- для использования общего каталога с дистрибутивными файлами. Вы должны
- задать переменную DISTDIR так, чтобы она указывала
- на общедоступный каталог, доступный тому пользователю, который
- отображается в пользователя root для ваших точек
- монтирования NFS. Каждая машина
- должна задавать WRKDIRPREFIX так, чтобы она
- указывала на локальный каталог построения. Наконец, если вы
- собираетесь строить и распространять пакеты, то должны задать
- переменную PACKAGES так, чтобы она указывала на
- каталог, соответствующий DISTDIR.
+ критическим шагом является монтирование /usr/ports
+ с одной и той же машины на всех компьютерах в наборе для построения.
+ Затем вы можете корректно настроить /etc/make.conf
+ для использования общего каталога с дистрибутивными файлами. Вы должны
+ задать переменную DISTDIR так, чтобы она указывала
+ на общедоступный каталог, доступный тому пользователю, который
+ отображается в пользователя root для ваших точек
+ монтирования NFS. Каждая машина
+ должна задавать WRKDIRPREFIX так, чтобы она
+ указывала на локальный каталог построения. Наконец, если вы
+ собираетесь строить и распространять пакеты, то должны задать
+ переменную PACKAGES так, чтобы она указывала на
+ каталог, соответствующий DISTDIR.
diff --git a/ru_RU.KOI8-R/books/handbook/disks/chapter.sgml b/ru_RU.KOI8-R/books/handbook/disks/chapter.sgml
index e0aa05930f..ea45f575bd 100644
--- a/ru_RU.KOI8-R/books/handbook/disks/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/disks/chapter.sgml
@@ -1,4411 +1,4411 @@
АндрейЗахватовПеревод на русский язык: Устройства храненияКраткий обзорВ этой главе описывается использование дисков во FreeBSD. К ним
относятся диски в памяти, диски, подключенные по сети, обычные
устройства хранения SCSI/IDE и устройства, использующие
интерфейс USB.После чтения этой главы вы будете знать:Терминологию, используемую во FreeBSD для описания организации
данных на физическом диске (разделы и слайсы).Как добавить дополнительные винчестеры к вашей системе.Как настроить &os; для использования дисковых устройств
USB.Как настроить виртуальные файловые системы, такие, как диски в
оперативной памяти.Как использовать квоты для ограничения использования дискового
пространства.Как зашифровать диски, чтобы защитить их от взлома.Как создавать и записывать CD и DVD во FreeBSD.Различные варианты использования устройств хранения для
резервных копий.Как использовать программы резервного копирования, имеющиеся
для FreeBSD.Как выполнять резервное копирование на дискеты.Что такое мгновенные копии файловых систем и как
их эффективно использоватьПеред прочтением этой главы вам потребуется:Узнать как настраивать и устанавливать новое ядро FreeBSD
().Имена устройствДалее приводится список физических устройств хранения информации,
которые поддерживаются во FreeBSD, и имена устройств, которые им
соответствуют.
Соглашения по именованию физических дисковТип дискаИмя дискового устройстваВинчестеры IDEadПриводы IDE CDROMacdВинчестеры SCSI и дисковые устройства USBdaПриводы SCSI CDROMcdРазличные нестандартные приводы CDROMmcd для Mitsumi CD-ROM,
scd для Sony CD-ROM,
matcd для Matsushita/Panasonic CD-ROM
5 октября 2002 года драйвер &man.matcd.4; был удалён
из ветки FreeBSD 4.X и отсутствует во FreeBSD 5.0
и последующих релизах.ДискетыfdЛенточные приводы SCSIsaЛенточные приводы IDEastФлэш-дискиfla для флэш-устройств
&diskonchip;Диски RAIDaacd для &adaptec; AdvancedRAID,
mlxd и mlyd для &mylex;,
amrd для AMI &megaraid;,
idad для Compaq Smart RAID,
twed для &tm.3ware; RAID.
DavidO'BrienИзначальный текст предоставил Добавление дисковдискидобавлениеПредположим, что мы хотим установить новый диск SCSI на машину,
имеющую в данный момент только один диск. Сначала выключим компьютер и
установим диск в компьютер согласно инструкциям к компьютеру,
контроллеру и от производителя диска. Из-за большого разнообразия
этих процедур их рассмотрение выходит за рамки этого документа..Войдите в систему как пользователь root.
После того, как вы установили диск, просмотрите файл
/var/run/dmesg.boot, чтобы убедиться, что новый
диск был найден. Продолжая наш пример, только что добавленный диск
будет называться da1 и мы хотим смонтировать его
в каталог /1 (если вы добавляете диск IDE, то
устройство будет называться wd1 в системах,
предшествовавших 4.0, и ad1 в системах
4.X и 5.X).разделыслайсыfdiskFreeBSD работает на IBM-PC совместимых компьютерах, поэтому она
должна уметь работать с разделами PC BIOS. Однако они отличаются от
традиционных разделов BSD. Диск ПК может иметь до четырёх
записей разделов BIOS. Если диск на самом деле будет использоваться
исключительно под FreeBSD, вы можете использовать режим
dedicated. В противном случае FreeBSD будет
располагаться в одном из разделов PC BIOS. Во FreeBSD разделы PC BIOS
называются слайсами, чтобы не путать их с
традиционными разделами BSD. Вы также можете использовать слайсы и с
диском, предназначенным исключительно для FreeBSD, однако используемым
в компьютере, на котором имеется дополнительная операционная система.
Это является хорошим способом избежать путаницы в утилите
fdisk других операционных систем, не связанных с
FreeBSD.В случае слайсов диск будет добавлен как
/dev/da1s1e. Это интерпретируется следующим
образом: диск SCSI, устройство номер 1 (второй диск SCSI), слайс 1
(раздел PC BIOS 1), и раздел BSD e. В случае
использования в выделенном режиме диск будет добавлен просто как
/dev/da1e.Вследствие использования 32-разрядных целых чисел для адресации
секторов, &man.bsdlabel.8; (называемый &man.disklabel.8; в
&os; 4.X) ограничен 2^32-1 секторами на диск, или 2TB в
в большинстве случаев. Формат &man.fdisk.8; позволяет наличие
первого сектора со смещением не более 2^32-1 и длину не более
2^32-1, что ограничивает размер раздела до 2TB, а размер диска
до 4TB в большинстве случаев. Формат &man.sunlabel.8; ограничен
2^32-1 секторами на раздел и 8 разделами, что составляет 16TB.
Для дисков большего раздела могут быть использованы разделы
&man.gpt.8;.Использование утилиты &man.sysinstall.8;sysinstallдобавление дисковsuИспользование SysinstallВы можете использовать простые меню утилиты
sysinstall (/stand/sysinstall
во &os; версий, более старых, чем 5.2) для разбиения на разделы и
разметки нового диска. Войдите как пользователь
root или воспользуйтесь командой
su. Запустите команду
sysinstall и войдите в меню
Configure. Внутри FreeBSD
Configuration Menu, пролистайте и выберите пункт
Fdisk.Редактор разделов fdiskПри работе с утилитой fdisk ввод
A используется для выделения под
FreeBSD полностью всего диска. Когда будет задан вопрос о том,
хотите ли вы сохранить совместимость с другими возможными
операционными системами в будущем, ответьте
YES. Запишите изменения на диск при помощи
команды W. А теперь выйдите из редактора
FDISK, нажав q. В этот момент вам будет
задан вопрос о Master Boot Record (главной
загрузочной записи). Так как вы добавляете диск к уже работающей
системе, выберите None.Редактор метки дискаразделы BSDТеперь вам нужно выйти из sysinstall
и запустить эту утилиту снова. Следуйте указаниям выше, но на этот
раз выберите пункт Label. Вы перейдёте к
меню Disk Label Editor.
Здесь вы создадите традиционные разделы BSD. На диске может быть
до восьми разделов, имеющих метки a-h.
Некоторые из меток разделов
имеют особый смысл. Раздел a используется для
размещения корневого раздела (/). По этой
причине только ваш системный диск (например, тот, с которого
происходит загрузка), должен иметь раздел a.
Раздел b используется под раздел подкачки, и вы
можете иметь много дисков с разделами подкачки. Раздел
c используется для доступа ко всему диску в
режиме эксклюзивного использования или ко всему слайсу FreeBSD при
работе в режиме с использованием слайсов. Остальные разделы имеют
обычное предназначение.Редактор метки диска программы
sysinstall использует раздел
e для некорневого раздела и не для раздела
подкачки. Внутри редактора метки диска создайте отдельную файловую
систему, нажав C. Когда будет задан
вопрос о том, будет ли это раздел с файловой системой (FS) или это
будет раздел подкачки, выберите FS и наберите
точку монтирования (например, /mnt). При
добавлении диска после установки системы, программа
sysinstall не
будет автоматически создавать записи в файле
/etc/fstab, поэтому точка монтирования не так
уж и важна.Теперь вы готовы записать новую метку на диск и создать на нем
файловую систему. Сделайте это, набрав W.
Проигнорируйте сообщения об ошибках от
sysinstall о невозможности смонтировать
новый раздел. Полностью выйдите из редактора метки диска и из
программы sysinstall.ЗавершениеПоследний шаг заключается в редактировании файла
/etc/fstab и добавлении записи для вашего
нового диска.Использовании утилит командной строкиРабота со слайсамиСледующая настройка позволит вашему диску корректно работать с
другими операционными системами, которые могут быть установлены на
вашем компьютере, и не вызовет конфликта с утилитами
fdisk других операционных систем. Этот способ
рекомендуется использовать для установок новых дисков. Используйте
эксклюзивный режим, только если у вас есть
реальные причины делать это!&prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1
&prompt.root; fdisk -BI da1 # Инициализируем новый диск.
&prompt.root; disklabel -B -w -r da1s1 auto # Размечаем его.
&prompt.root; disklabel -e da1s1 # Редактируем только что созданную метку диска и добавляем разделы.
&prompt.root; mkdir -p /1
&prompt.root; newfs /dev/da1s1e # Повторяем этот шаг для всех созданных разделов.
&prompt.root; mount /dev/da1s1e /1 # Монтируем раздел(ы)
&prompt.root; vi /etc/fstab # Добавляем соответствующую запись/записи в файл /etc/fstab.Если у вас установлен диск IDE, подставьте
ad вместо da. На системах
версий ранее 4.X используйте wd.Эксклюзивный режимOS/2Если вы не будете использовать новый диск совместно с другой
операционной системой, то вы можете использовать режим
эксклюзивного использования. Отметьте, что этот
режим может ввести в заблуждение операционные системы от Microsoft;
однако информацию они не разрушат. А вот &os2; компании IBM будет
забирать себе любой раздел, который она найдет и не
сможет распознать.
&prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1
&prompt.root; disklabel -Brw da1 auto
&prompt.root; disklabel -e da1 # create the `e' partition
&prompt.root; newfs -d0 /dev/da1e
&prompt.root; mkdir -p /1
&prompt.root; vi /etc/fstab # add an entry for /dev/da1e
&prompt.root; mount /1Альтернативный метод заключается в следующем:&prompt.root; dd if=/dev/zero of=/dev/da1 count=2
&prompt.root; disklabel /dev/da1 | disklabel -BrR da1 /dev/stdin
&prompt.root; newfs /dev/da1e
&prompt.root; mkdir -p /1
&prompt.root; vi /etc/fstab # add an entry for /dev/da1e
&prompt.root; mount /1Начиная с &os; 5.1-RELEASE, на смену старой программе
&man.disklabel.8; пришла утилита &man.bsdlabel.8;. У
&man.bsdlabel.8; отсутствуют некоторые устаревшие опции и
параметры; в примере выше параметр не может
использоваться с &man.bsdlabel.8;. Для получения дополнительной
информации обратитесь к справочной странице п
о &man.bsdlabel.8;.RAIDПрограммный RAIDChristopherShumwayОригинальный текст предоставил JimBrownИзменения внёс RAIDпрограммныйRAIDCCDКонфигурация драйвера объединённого диска (CCD)При выборе решения для организации хранилища самыми важными
характеристиками являются скорость, надежность и стоимость. Редко
все эти характеристики наличествуют одновременно; обычно
быстрое и надёжное устройство хранения стоит дорого, а при
уменьшении стоимости в жертву приносятся скорость работы или
надёжность.При проектировании описываемой далее системы в качестве
самого важного фактора была выбрана её стоимость, затем
быстродействие и надёжность. Скорость передачи данных для этой
системы ограничивалась только пропускной способностью сети. И,
хотя надёжность очень важна, CCD-диск, описываемый ниже,
обслуживал работу с данными, полные копии которых уже хранились на
дисках CD-R, так они могли быть с лёгкостью обновлены.При выборе решения для массового хранения данных первым шагом
является определение ваших требований к нему. Если в ваших
требованиях главными являются скорость или надёжность, а не
стоимость, то ваш выбор будет отличаться от описываемой в этом
разделе системы.Установка оборудованияКроме системного IDE-диска, основу описываемого далее CCD-диска
общим объёмом примерно в 90 Гбайт составили три IDE-диска Western
Digital 30GB, 5400 RPM. В идеальном случае каждый диск IDE имеет
собственный контроллер и кабель, но для минимизации стоимости
дополнительные контроллеры IDE не использовались. Вместо этого
диски были настроены при помощи переключателей так, что на каждом
IDE-контроллере находилось по одному ведущему и одному ведомому
диску.До перезагрузки BIOS системы была настроена на автоматическое
распознавание подключенных дисков. Более важно то, что при
перезагрузке их распознала FreeBSD:ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33
ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33
ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33
ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33Если FreeBSD не распознала все диски, проверьте корректность
положения переключателей на них. На большинстве IDE-дисков
имеется также переключатель Cable Select. Он
не имеет отношения к выбору ведущего и
ведомого устройств. Для получения помощи по правильному
положению переключателей обратитесь к документации по
устройствам.Затем определите, как сделать их частью файловой системы.
Изучите справку по &man.vinum.8; () и
&man.ccd.4;. В нашем конкретном случае была выбрана технология
&man.ccd.4;.Настройка CCDДрайвер &man.ccd.4; позволяет вам взять несколько
идентичных дисков и объединить их в одну логическую файловую
систему. Для использования &man.ccd.4; нужно
ядро со встроенной поддержкой &man.ccd.4;.
Добавьте такую строку в файл конфигурации ядра, перестройте и
установите новое ядро:pseudo-device ccd 4В системах 5.X вместо этого вам нужно использовать такую
строку:device ccdВо FreeBSD 5.X нет нужды указывать количество устройств
&man.ccd.4; так как драйвер устройства &man.ccd.4; теперь
клонируется сам — новые экземпляры устройств будут
создаваться автоматически по необходимости.Во FreeBSD 3.0 и последующих версиях поддержка &man.ccd.4;
также может быть обеспечена загрузкой подгружаемого модуля
ядра.Для настройки &man.ccd.4; сначала вам
нужно воспользоваться утилитой &man.disklabel.8; для разметки
дисков:disklabel -r -w ad1 auto
disklabel -r -w ad2 auto
disklabel -r -w ad3 autoПри этом создаются метки для ad1c,
ad2c и ad3c,
которые занимают диск полностью.Начиная с &os; 5.1-RELEASE, на смену старой программе
&man.disklabel.8; пришла утилита &man.bsdlabel.8;. У
&man.bsdlabel.8; отсутствуют некоторые устаревшие опции и
параметры; в примере выше параметр не может
использоваться с &man.bsdlabel.8;. Для получения дополнительной
информации обратитесь к справочной странице п
о &man.bsdlabel.8;.Следующим шагом является изменение типа метки диска. Для
редактирования дисков можно использовать утилиту
&man.disklabel.8;:disklabel -e ad1
disklabel -e ad2
disklabel -e ad3При этом в редакторе, задаваемом переменной окружения
EDITOR (обычно это &man.vi.1;),
открывается текущая метка каждого диска.Немодифицированная метка диска будет выглядеть примерно
следующим образом:8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)Добавьте новый раздел e для использования
драйвером &man.ccd.4;. Как правило, он может быть скопирован с
раздела c, но поле
должно иметь значение
4.2BSD. Теперь метка диска должна выглядеть
примерно так:8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597)Построение файловой системыФайл устройства для ccd0c может ещё
не существовать, так что для его создания предварительно выполните
такие команды:cd /dev
sh MAKEDEV ccd0Во FreeBSD 5.0 &man.devfs.5; будет управлять файлами
устройств в каталоге /dev автоматически, так
что в использовании MAKEDEV необходимости
нет.Теперь, когда все диски размечены, вы должны построить
&man.ccd.4;. Для этого используйте утилиту
&man.ccdconfig.8; с параметрами, подобными следующим:ccdconfig ccd0 32 0 /dev/ad1e /dev/ad2e /dev/ad3eИспользование и значение каждого параметра описывается
ниже:Первым аргументом является конфигурируемое устройство,
в нашем случае /dev/ccd0c. Часть
/dev/ является необязательной.Чередование для файловой системы. Оно определяет размер
единицы блока данных в количестве дисковых блоков, каждый из
которых обычно имеет объём в 512 байт. Таким образом, при
чередовании в 32 это будет составлять 16384 байт.Опции для &man.ccdconfig.8;. Если вы хотите включить
зеркалирование диска, то можете задать это здесь. В нашей
конфигурации зеркалирование для &man.ccd.4; не предусмотрено,
поэтому здесь задан 0 (ноль).Последним параметром для &man.ccdconfig.8;
является список устройств для объединения в массив. Для
каждого устройства нужно задавать полное имя.После запуска &man.ccdconfig.8; устройство
&man.ccd.4; будет отконфигурировано. Может
будет построить файловую систему. Обратитесь к справке по
команде &man.newfs.8; для выяснения требуемых параметров, или
просто запустите: newfs /dev/ccd0cАвтоматическое выполнениеВообще говоря, вам потребуется монтировать
&man.ccd.4; при каждой перезагрузке. Для этого
сначала вы должны отконфигурировать это устройство. Запишите
вашу текущую конфигурацию в файл /etc/ccd.conf
при помощи такой команды:ccdconfig -g > /etc/ccd.confПри перезагрузке скрипт /etc/rc запускает
команду ccdconfig -C, если существует файл
/etc/ccd.conf. При этом
&man.ccd.4; автоматически конфигурируется так,
чтобы он мог быть смонтирован.Если при загрузке вы входите в однопользовательский режим, то
перед тем, как выполнять монтирование &man.ccd.4; по команде
&man.mount.8;, вам нужно для конфигурации массива
запустить следующую команду:ccdconfig -CДля автоматического монтирования &man.ccd.4;
поместите запись о &man.ccd.4; в файл
/etc/fstab, чтобы он мог быть
смонтирован во время загрузки системы:/dev/ccd0c /media ufs rw 2 2Менеджер томов VinumRAIDпрограммныйRAIDVinumМенеджер томов Vinum является драйвером блочного устройства,
который реализует виртуальные диски. Он отделяет дисковое
оборудование от интерфейса блочного устройства и работает с данными
таким образом, что в результате повышается гибкость,
производительность и надёжность по сравнению с традиционным
взглядом на дисковое хранилище как на кусок дискового пространства.
&man.vinum.8; реализует модели RAID-0, RAID-1 и RAID-5, как по
отдельности, так и в комбинациях.Обратитесь к для получения более
полной информации о &man.vinum.8;.Аппаратный RAIDRAIDОборудованиеFreeBSD поддерживает также целый ряд аппаратных контроллеров
RAID. Эти устройства самостоятельно управляют
RAID-подсистемой, без необходимости иметь
специфичное для FreeBSD программное обеспечения управления
массивом.При помощи встроенной в адаптер BIOS, он
сам управляет большинством дисковых операций. Далее следует краткое
описание установки при помощи контроллера Promise
IDE RAID.
После установки адаптера и запуска системы, выдаётся
запрос на ввод. Следуйте указаниям для входа в настройку адаптера.
Отсюда вы можете объединить все подключенные диски. После этого
во FreeBSD диск(и) будут выглядеть как один диск. Аналогично могут
быть настроены и другие уровни RAID.Перестроение массивов ATA RAID1FreeBSD позволяет вам выполнять горячую замену вышедшего из строя
диска. При этом требуется, чтобы вы заметили это до
перезагрузки.Вероятно, в файле /var/log/messages или в
выдаче команды &man.dmesg.8; вы увидите примерно следующее:ad6 on monster1 suffered a hard error.
ad6: READ command timeout tag=0 serv=0 - resetting
ad6: trying fallback to PIO mode
ata3: resetting devices .. done
ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11)\\
status=59 error=40
ar0: WARNING - mirror lostПри помощи &man.atacontrol.8; получите дополнительную
информацию:&prompt.root; atacontrol list
ATA channel 0:
Master: no device present
Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0
ATA channel 1:
Master: no device present
Slave: no device present
ATA channel 2:
Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
ATA channel 3:
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
&prompt.root; atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADEDСначала вам нужно отключить канал контроллера ATA, содержащий
отказавший диск, чтобы его можно было без последствий
извлечь:&prompt.root; atacontrol detach ata3Замените диск.Повторно подключите канал дискового контроллера:&prompt.root; atacontrol attach ata3
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device presentДобавьте новый диск к массиву в качестве резервного:&prompt.root; atacontrol addspare ar0 ad6Перестройте массив:&prompt.root; atacontrol rebuild ar0Проверить состояние дел можно при помощи следующей команды:&prompt.root; dmesg | tail -10
[выдача удалена]
ad6: removed from configuration
ad6: deleted from ar0 disk1
ad6: inserted into ar0 disk1 as spare
&prompt.root; atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completedДождитесь завершения этой операции.MarcFonvieilleПредоставил USB устройства храненияUSBдискиМножество современных устройств хранения используют Universal
Serial Bus (USB): жесткие диски, брелоки USB, CD-R приводы,
и т.д. &os; предоставляет поддержку этих устройств.НастройкаДрайвер &man.umass.4; предоставляет поддержку устройств
хранения USB. Если вы используете GENERIC
ядро, изменять что-либо в настройках не потребуется. Если вы
используете настроенное ядро, убедитесь, что в файле настройки
присутствуют следующие строки:device scbus
device da
device pass
device uhci
device ohci
device usb
device umassДля доступа к устройствам хранения USB драйвер &man.umass.4;
использует подсистему SCSI, ваши устройства USB будут видны
системе как SCSI устройства. В зависимости от чипсета USB
на материнской плате, вам потребуется только один из параметров
device uhci или device ohci.
Однако, наличие обоих этих параметров не помешает. Не забудьте
скомпилировать и установить новое ядро после добавления каких-либо
строк.Если ваше USB устройство это пишущий привод CD-R или DVD,
необходимо добавить
в ядро SCSI CD-ROM драйвер, &man.cd.4;, следующей строкой:device cdПоскольку устройство записи видно как SCSI диск, драйвер
&man.atapicam.4; не должен использоваться в файле
настройки.Поддержка USB 2.0 контроллеров предоставляется в
&os; 5.X, и в ветви 4.X с &os; 4.10-RELEASE.
Добавьте:device ehciв файл настройки ядра для поддержки USB 2.0. Обратите внимание,
что драйверы &man.uhci.4; и &man.ohci.4; все еще нужны, если
необходима поддержка USB 1.X.В &os; 4.X, необходимо запустить USB даемона
(&man.usbd.8;), чтобы увидеть некоторые USB устройства.
Для этого добавьте usbd_enable="YES"
в файл /etc/rc.conf и перезагрузите
компьютер.Тестирование конфигурацииКонфигурация готова к тестированию, подключите устройство USB,
и в буфере системных сообщений (&man.dmesg.8;), диск должен
отобразиться примерно так:umass0: USB Solid state disk, rev 1.10/1.00, addr 2
GEOM: create disk da0 dp=0xc2d74850
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device
da0: 1.000MB/s transfers
da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)Конечно, производитель, имя устройства
(da0) и другие детали могут
отличаться в зависимости от конфигурации.Поскольку устройство USB видится как SCSI, команда
camcontrol может быть использована для
вывода списка устройств хранения USB, подключенных к системе:&prompt.root; camcontrol devlist
<Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0)Если на диске есть файловая система, у вас должна быть
возможность смонтировать ее.
поможет вам создать и отформатировать разделы на диске
USB если потребуется.Если вы отключите устройство (диск должен быть сначала
размонтирован), вы должны увидеть в буфере системных сообщений
что-то подобное:umass0: at uhub0 port 1 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): removing device entry
GEOM: destroy disk da0 dp=0xc2d74850
umass0: detachedДополнительная информацияПомимо разделов Добавление
дисков и Монтирование
и размонтирование файловых систем, также может быть полезно
чтение различных страниц справочника: &man.umass.4;,
&man.camcontrol.8;, и &man.usbdevs.8;.MikeMeyerТекст предоставил Запись и использование оптических носителей (CD)CDROMсозданиеВведениеКомпакт-диски (CD) имеют несколько особенностей, отличающих их от
обычных дисков. Во-первых, на них невозможно производить запись. Они
спроектированы с расчетом на то, что их можно читать последовательно без
задержек на перемещение головки между дорожками. К тому же их гораздо
проще переносить от системы к системе, чем носители близкого
объема.У CD имеются дорожки, но они представляют собой последовательность
данных, читаемую последовательно, и не являются физической
характеристикой диска. Для записи CD во FreeBSD вы готовите файлы
данных, которые будут формировать дорожки на компакт-диске, а затем
записываете дорожки на CD.ISO 9660файловые системыISO 9660Файловая система ISO 9660 была разработана с учетом этих отличий, К
сожалению, она унаследовала ограничения файловых систем, которые были
тогда. К счастью, она дает механизм расширений, которые позволяют
правильно записанным дискам обходить эти ограничения и при этом
продолжать работать с системами, которые не поддерживают эти
расширения.sysutils/cdrtoolsДля создания файла данных, содержащего файловую систему ISO 9660,
используется программа &man.mkisofs.8;, которая включена в порт
sysutils/cdrtools. Она имеет опции,
поддерживающие различные расширения, и описана ниже.устройство записи CDATAPIКакой инструмент использовать для записи CD, зависит от того,
является ли
ваше устройство для записи CD устройством ATAPI или каким-либо другим.
С устройствами для записи стандарта ATAPI используется программа
burncd, которая
является частью комплекта поставки системы. С устройствами SCSI и USB
нужно использовать cdrecord из порта
sysutils/cdrtools.burncd поддерживает не все устройства. Для
определения того, поддерживается ли устройство, посмотрите список
поддерживаемых приводов
CD-R/RW.устройство записи CDдрайвер ATAPI/CAMЕсли вы используете &os; 5.X, &os; 4.8-RELEASE или
более новые версии, то при работе с ATAPI-оборудованием через модуль ATAPI/CAM можно использовать
утилиту cdrecord и
другие инструменты для SCSI-приводов.Если для записи CD вам нужна программа с графическим
интерфейсом пользователя, взгляните на
X-CD-Roast или
K3b. Они доступны в виде пакетов
или из портов sysutils/xcdroast и sysutils/k3b.
Программам X-CD-Roast и
K3b для работы с оборудованием
ATAPI требуется модуль ATAPI/CAM.mkisofsПрограмма &man.mkisofs.8;, поставляемая с портом sysutils/cdrtools создаёт
файловую систему ISO 9660, которая является образом дерева каталогов в
пространстве имён файловой системы &unix;. В самом простом случае она
используется так:&prompt.root; mkisofs -o imagefile.iso/path/to/treeфайловые системыISO 9660Эта команда создаст файл imagefile.iso,
содержащий файловую систему ISO 9660, которая является копией дерева
каталогов /path/to/tree. Во время работы
она будет преобразовывать имена файлов в имена, которые удовлетворяют
ограничениям файловой системы ISO 9660, и исключит файлы, которые носят
имена, неподходящие для файловой системы ISO.файловые системыHFSфайловые системыJolietДля того, чтобы обойти эти ограничения, имеется несколько опций. В
частности, включает использование расширений
Rock Ridge, распространенных в &unix;-системах, с
будут применены расширения Joliet, используемые в системах от
Microsoft, а может использоваться для создания
файловых систем HFS, используемых в &macos;.Для CD, которые будут использоваться только с системами FreeBSD,
может использоваться опция , отменяющая все
ограничения на имена файлов. При использовании с опцией
генерируется образ файловой системы, идентичный начальному дереву
FreeBSD, хотя при этом стандарт ISO 9660 может нарушаться в нескольких
местах.CDROMсоздание загрузочногоПоследней часто используемой опцией является .
Она используется для указания загрузочного образа для использования при
создании загрузочного CD в стандарте El Torito. Этой
опции указывается аргумент, который является маршрутом к загрузочному
образу из корня дерева, записываемого на CD.
По умолчанию, &man.mkisofs.8; создает образ ISO в так называемом режиме
эмуляции флоппи-диска, и потому ожидает загрузочный
образ размера строго 1200, 1440 или 2880 KB. Некоторые
загрузчики, в том числе и тот, что используется на дистрибутивных
дисках &os;, не используют режим эмуляции; в этом случае должна
использоваться опция . Так что, если
/tmp/myboot содержит загрузочную систему FreeBSD с
загрузочным образом в /tmp/myboot/boot/cdboot, вы
можете создать образ файловой системы ISO 9660 в
/tmp/bootable.iso следующим образом:&prompt.root; mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/mybootСделав это, и имея в ядре отконфигурированное устройство
vn (для FreeBSD 4.X) или
md (при использовании FreeBSD 5.X), вы
можете смонтировать файловую систему, выполнив:&prompt.root; vnconfig -e vn0c /tmp/bootable.iso
&prompt.root; mount -t cd9660 /dev/vn0c /mntв случае использования FreeBSD 4.X, а для
FreeBSD 5.X:&prompt.root; mdconfig -a -t vnode -f /tmp/bootable.iso -u 0
&prompt.root; mount -t cd9660 /dev/md0 /mntВ этот момент вы можете проверить, что /mnt и
/tmp/myboot идентичны.Имеется много других опций, которые можно использовать с
программой &man.mkisofs.8; для
тонкой настройки её поведения. В частности: модификации в размещении
ISO 9660 и создание дисков в форматах Joliet и HFS. Обратитесь к
справочным страницам по &man.mkisofs.8; для получения более подробной
информации.burncdCDROMзаписьЕсли ваше устройство для записи CD соответствует стандарту ATAPI,
то для записи ISO-образа на компакт-диск вы можете воспользоваться
командой burncd. burncd входит
в базовый комплект операционной системы и установлена как
/usr/sbin/burncd. Использовать её очень просто,
так как параметров у ней немного:&prompt.root; burncd -f cddevice data imagefile.iso fixateПо этой команде файл imagefile.iso будет
скопирован на cddevice. По умолчанию
используется устройство /dev/acd0 (или
/dev/acd0c в &os; 4.X). Для получения
информации о параметрах, задающих скорость записи, выброс диска после
записи и запись звуковых данных, обратитесь к &man.burncd.8;.cdrecordЕсли ваше устройство для записи CD не соответствует стандарту
ATAPI, то для записи компакт-дисков вам нужно пользоваться программой
cdrecord. cdrecord не входит в
комплект поставки системы; вы должны установить её из порта
sysutils/cdrtools или из
соответствующего пакета. Изменения в системе могут приводить к тому,
что откомпилированные версии этой программы работать не будут, или
приводить к порче дисков. Поэтому вы должны при обновлении системы
либо обновить порт, либо, если вы следуете
-STABLE, обновить порт при появлении его новой версии.Хотя cdrecord имеет много опций, в основном
использовать её ещё проще, чем burncd. Запись образа
ISO 9660 делается такой командой:&prompt.root; cdrecord dev=deviceimagefile.isoТонким моментом при использовании cdrecord
является определение правильного устройства . Чтобы
задать параметр правильно, воспользуйтесь флагом
команды cdrecord, в
результате чего может получиться примерно такой результат:CDROMзапись&prompt.root; cdrecord -scanbus
Cdrecord 1.9 (i386-unknown-freebsd4.2) Copyright (C) 1995-2000 Jörg Schilling
Using libscg version 'schily-0.1'
scsibus0:
0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk
0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk
0,2,0 2) *
0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk
0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
scsibus1:
1,0,0 100) *
1,1,0 101) *
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM
1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner
1,7,0 107) *Здесь приведены соответствующие значения параметров
для имеющихся устройств. Найдите здесь ваше
устройство для записи CD, а в качестве параметров для
задавайте три числа через запятые. В нашем случае
CRW-устройству соответствуют числа 1,5,0, так что правильным параметром
будет . Имеется более
простой способ задать эти значения; обратитесь к справочной информации
о &man.cdrecord.1; для выяснения подробностей. Там же находится
информация о записи звуковых дорожек, управлении скоростью и другим
вещам.Копирование аудио CDВы можете копировать музыкальные CD, извлекая данные аудио с CD
в набор файлов, а затем записывая эти файлы на чистый CD. Процесс
несколько различен в случаях использования устройств ATAPI и
SCSI.Устройства SCSIИспользуйте cdda2wav для извлечения
данных аудио.&prompt.user; cdda2wav -v255 -D2,0 -B -OwavВоспользуйтесь cdrecord для записи файлов
.wav.&prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wavЗначение, соответствующее 2,0,
должно быть установлено правильно, как это описано в .Устройства ATAPIДрайвер устройств ATAPI CD делает каждую дорожку доступной как
/dev/acddtnn,
где d является номером привода, а
nn соответствует номеру дорожки, который
записывается двумя десятичными цифрами с нулём в начале, если это
нужно. Таким образом, первая дорожка на первом диске будет носить
имя /dev/acd0t01, вторая будет именоваться
/dev/acd0t02, третья будет носить имя
/dev/acd0t03 и так далее.Удостоверьтесь, что соответствующий файл имеется в каталоге
/dev. При его отсутствии следует
принудительно перечитать оглавление диска:&prompt.root; dd if=/dev/acd0 of=/dev/null count=1В версиях &os; 4.X номера треков не предваряются нулем.
В случае отсутствия нужных файлов устройств, создайте их при
помощи команды MAKEDEV:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV acd0t99Извлеките каждую дорожку при помощи команды &man.dd.1;. При
извлечении файлов вы должны также использовать специфическое
значение для размера блока.&prompt.root; dd if=/dev/acd0t01 of=track1.cdr bs=2352
&prompt.root; dd if=/dev/acd0t02 of=track2.cdr bs=2352
...
Запишите извлечённые файлы на диск при помощи утилиты
burncd. Вы должны указать, что это файлы с
аудио, и что burncd должна зафиксировать диск
по окончании работы.&prompt.root; burncd -f /dev/acd0 audio track1.cdr track2.cdr ... fixateКопирование компакт-дисков с даннымиВы можете скопировать CD с данными в файл образа, который
функционально эквивалентен файлу образа, созданному командой
&man.mkisofs.8;, и вы можете
использовать его для копирования любого CD с данными. В приводимом
здесь примере предполагается, что ваш привод CDROM называется
acd0. Подставьте название вашего привода
CDROM. В &os; 4.X к имени устройства должен быть добавлен
символ c
для указания на то, что берётся весь раздел, а в
случае CDROM, весь диск.&prompt.root; dd if=/dev/acd0 of=file.iso bs=2048Теперь, когда вы имеете образ, вы можете записать его на CD так,
как это описано выше.Использование компакт-диски с даннымиТеперь, после того, как вы создали стандартный CDROM с данными, вы,
наверное, захотите смонтировать его и считать с него данные. По
умолчанию &man.mount.8; предполагает, что файловая система имеет тип
ufs. Если вы попытаетесь выполнить что-то
вроде:&prompt.root; mount /dev/cd0 /mntвы получите сообщение Incorrect super block,
и диск не смонтируется. CDROM не является файловой системой
UFS, поэтому попытки смонтировать его таким образом
будут терпеть неудачу. Вам просто нужно указать команде &man.mount.8;,
что файловая система имеет тип ISO9660, и всё должно
заработать. Сделайте это, задав параметр
при вызове &man.mount.8;. К примеру, если вы хотите смонтировать
устройство CDROM, /dev/cd0, в каталог
/mnt, вы должны выполнить:&prompt.root; mount -t cd9660 /dev/cd0 /mntЗаметьте, что имя вашего устройства
(/dev/cd0 в этом примере) может быть другим,
в зависимости от интерфейса, используемого в CDROM. Кроме того,
параметр всего лишь задаёт выполнение
утилиты &man.mount.cd9660.8;. Пример выше может быть упрощён
до:&prompt.root; mount_cd9660 /dev/cd0c /mntТаким способом, вообще говоря, вы можете использовать компакт-диски
любого производителя. Диски с некоторыми расширениями ISO 9660 могут,
однако, работать со странностями. К примеру диски Joliet хранят все
имена файлов в виде последовательностей двухбайтовых символов Unicode.
Ядро FreeBSD (пока ещё) не может работать с Unicode, поэтому не
английские символы выводятся в виде знаков вопроса. (Если в работаете
с FreeBSD 4.3 или более поздней версией, то в драйвере CD9660 имеется
механизм для динамической загрузки соответствующей таблицы
преобразования Unicode. Модули для некоторых распространённых
кодировок могут быть получены из порта
sysutils/cd9660_unicode.)Время от времени вы можете получать сообщения Device not
configured при попытке смонтировать CDROM. Это обычно
означает, что привод CDROM полагает, что в нём нет диска, или что
привод не виден на шине. Приводу CDROM может понадобиться несколько
секунд, чтобы понять, что он был закрыт, так что будьте
терпеливы.Иногда SCSI CDROM может потеряться из-за того, что у него не было
достаточно времени, чтобы ответить на сброс шины. Если у вас имеется
SCSI CDROM, то, пожалуйста, добавьте следующий параметр в конфигурацию
вашего ядра и перестройте
его.options SCSI_DELAY=15000Это укажет вашей шине SCSI выдерживать 15-секундную паузу во время
загрузки, чтобы дать вашему приводу CDROM шанс ответить на сброс
шины.Запись необработанных данных на компакт-дискиВы можете предпочесть запись файла непосредственно на CD без
создания файловой системы ISO 9660. Некоторые поступают так при
создании резервных копий. Это выполняется гораздо быстрее. чем запись
стандартного компакт-диска:&prompt.root; burncd -f /dev/acd1 -s 12 data archive.tar.gz fixateДля извлечения данных, записанных так на компакт-диск, вы должны
считывать данные из файла непосредственного доступа к
устройству:&prompt.root; tar xzvf /dev/acd1Вы не можете монтировать этот диск как обычный CDROM. Такой
компакт-диск не может быть прочитан ни в какой другой операционной
системе, кроме FreeBSD. Если вы хотите монтировать CD или
обменяться данными с другой операционной системой, то вы должны
использовать &man.mkisofs.8; так,
как это было описано выше.MarcFonvieilleПредоставил устройство записи CDдрайвер ATAPI/CAMИспользование драйвера ATAPI/CAMЭтот драйвер позволяет работать с ATAPI-устройствами (приводы
CD-ROM, CD-RW, DVD и так далее) через подсистему SCSI, таким образом
расширяя использование таких приложений, как sysutils/cdrdao или &man.cdrecord.1;.Для использования этого драйвера вам необходимо добавить в файл
конфигурации ядра следующую строку:device atapicamКроме того, в файле конфигурации ядра должны быть следующие
строки:device ata
device scbus
device cd
device passкоторая уже должна там присутствовать.После этого перестройте и установите ваше новое ядро, выполните
перезагрузку машины. В процессе загрузки ваш пишущий привод должен
появиться примерно следующим образом:acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4
cd0 at ata1 bus 0 target 0 lun 0
cd0: <MATSHITA CDRW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device
cd0: 16.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closedТеперь с ним можно работать через устройство
/dev/cd0, например, чтобы смонтировать
CD-ROM в каталог /mnt, просто наберите следующую
команду:&prompt.root; mount -t cd9660 /dev/cd0 /mntДля получения SCSI-адреса пишущего привода, вы можете, работая как
пользователь root, запустить такую
команду:&prompt.root; camcontrol devlist
<MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0)Таким образом, 1,0,0 будет SCSI-адресом для
использования с &man.cdrecord.1; и другими приложениями для работы со
SCSI.Для получения дополнительной информации об ATAPI/CAM и системе
SCSI, обратитесь к страницам справочной системы по &man.atapicam.4; и
&man.cam.4;.MarcFonvieilleПредоставил AndyPolyakovДополнения предоставил Создание и использование оптических носителей (DVD)DVDзаписьВведениеDVD это следующее после CD поколение оптических носителей.
DVD может вмещать больше данных чем любой CD и является
современным стандартом распространения видео.Для записываемых DVD существует пять физических форматов
записи:DVD-R: Был первым форматом записываемых DVD. Стандарт
DVD-R был создан DVD Forum.
Это формат для однократной записи.DVD-RW: Это перезаписываемая версия стандарта DVD-R.
Носители DVD-RW могут быть перезаписаны около 1000 раз.DVD-RAM: Это также перезаписываемый формат, поддерживаемый
DVD Forum. DVD-RAM может быть виден как съемный жесткий диск.
Однако, этот носитель не совместим с большинством приводов
DVD-ROM и проигрывателями DVD-Video; лишь несколько
пишущих DVD поддерживают формат DVD-RAM.DVD+RW: Это перезаписываемый формат, созданный
DVD+RW
Alliance. Носитель DVD+RW может быть перезаписан около
1000 раз.DVD+R: Этот формат — однократно записываемая версия
формата DVD+RW.Однослойный записываемый DVD может хранить до
4,700,000,000 байт, что равно 4.38 Гбайт, или
4485 Мбайт (1 килобайт это 1024 байт).Необходимо различать физический носитель и приложение.
Например, DVD-Video это определенная файловая раскладка, которая
может быть помещена на записываемый DVD любого физического
формата: DVD-R, DVD+R, DVD-RW и т.д. Перед выбором типа
носителя вы должны убедиться, что и устройство записи и
DVD-Video проигрыватель (отдельный или DVD-ROM привод
компьютера) совместимы с данным носителем.НастройкаДля записи DVD будет использоваться программа &man.growisofs.1;.
Эта команда входит в набор утилит
dvd+rw-tools (sysutils/dvd+rw-tools), который поддерживает
все типы носителей DVD.Эти утилиты используют подсистему SCSI для доступа к устройствам,
следовательно необходимо добавить в ядро поддержку ATAPI/CAM. Если пишущий
привод использует USB интерфейс, это добавление бесполезно и
необходимо прочесть более подробную информацию по настройке
устройств USB в Вам также потребуется включить DMA доступ для устройств ATAPI,
это можно сделать добавив в
/boot/loader.conf следующую строку:hw.ata.atapi_dma="1"Перед использованием
dvd+rw-tools вы должны свериться со
списком
совместимого оборудования dvd+rw-tools с информацией
по устройствам для записи DVD.Если вам нужен графический интерфейс пользователя,
взгляните на K3b (sysutils/k3b), который
предоставляет дружественный пользователю интерфейс к
&man.growisofs.1; и многим другим программам
записи.Запись DVD с даннымиКоманда &man.growisofs.1; является оболочкой для mkisofs, она вызовет
&man.mkisofs.8; для создания файловой системы и запишет
DVD. Это означает, что вам не потребуется создавать образ
с данными перед началом процесса записи.Для записи данных из каталога /path/to/data на DVD+R или DVD-R,
используйте следующую команду:&prompt.root; growisofs -dvd-compat -Z /dev/cd0 -J -R /path/to/dataПараметры передаются
&man.mkisofs.8; для создания файловой системы (в данном случае:
файловая система ISO 9660 с расширениями Joliet и Rock Ridge),
обратитесь к странице справочника &man.mkisofs.8; за более
подробной информацией.Параметр используется для первой сессии
записи в любом случае: для одной или нескольких сессий.
Устройство DVD, /dev/cd0, должно
быть изменено в соответствии с имеющимися настройками.
Параметр закроет диск и дозапись
станет невозможна. Это должно улучшить совместимость с
приводами DVD-ROM.Возможна также запись предварительного (pre-mastered) образа,
например, для записи
imagefile.iso запустим:&prompt.root; growisofs -dvd-compat -Z /dev/cd0=imagefile.isoСкорость записи должна быть определена и автоматически
установлена в соответствии с носителем и приводом. Если вы хотите
явно указать скорость записи, используйте параметр
. За дальнейшей информацией обратитесь к
странице справочника &man.growisofs.1;.DVDDVD-VideoЗапись DVD-VideoDVD-Video это особая файловая система, базирующаяся на ISO 9660
и спецификациях micro-UDF (M-UDF). DVD-Video также представляет
определенную иерархию структуры данных, поэтому для создания DVD
потребуется особая программа, такая как multimedia/dvdauthor.Если у вас уже есть образ файловой системы DVD-Video,
просто запишите его как любой другой образ, примеры находятся
в предыдущем разделе. Если вы создали DVD и результат находится
в каталоге /path/to/video,
для записи DVD-Video должна быть использована следующая
команда:&prompt.root; growisofs -Z /dev/cd0 -dvd-video /path/to/videoПараметр будет передан
&man.mkisofs.8; и укажет создать файловую систему DVD-Video.
Помимо этого, параметр подразумевает
параметр &man.growisofs.1; .DVDDVD+RWИспользование DVD+RWВ отличие от CD-RW, новый DVD+RW необходимо отформатировать перед
первым использованием. Программа &man.growisofs.1; позаботится об
этом сама при необходимости, и это
рекомендованный способ. Тем не менее,
для форматирования DVD+RW вы можете использовать команду
dvd+rw-format:&prompt.root; dvd+rw-format /dev/cd0Эту операцию необходимо выполнить лишь однажды, помните,
что только новые носители DVD+RW необходимо форматировать.
Затем запишите DVD+RW тем способом, который описан в предыдущем
разделе.Если вы хотите записать новые данные (полностью новую файловую
систему, а не дописать данные) на DVD+RW, его не нужно очищать,
просто запишите поверх предыдущей записи (создав новую начальную
сессию) примерно так :&prompt.root; growisofs -Z /dev/cd0 -J -R /path/to/newdataФормат DVD+RW делает возможным легко дописать данные к предыдущей
записи. Операция состоит в присоединении предыдущей сессии к
существующей, это не мультисессионная запись, &man.growisofs.1;
расширит (grow) файловую систему ISO 9660,
существующую на носителе.Например, для дозаписи данных к предыдущей сессии на
DVD+RW, используется следующая команда:&prompt.root; growisofs -M /dev/cd0 -J -R /path/to/nextdataПри последующих записях &man.mkisofs.8; необходимо передавать
те же параметры, что и при первой записи.Вы можете использовать параметр
для улучшения совместимости с приводами DVD-ROM. В случае
DVD+RW это не помешает добавлению данных.Если по какой-либо причине вам потребуется очистить носитель,
используйте следующую команду:&prompt.root; growisofs -Z /dev/cd0=/dev/zeroDVDDVD-RWИспользование DVD-RWСуществует два формата дисков DVD-RW: последовательно
дополняемый и с ограниченной перезаписью. По умолчанию
формат дисков DVD-RW последовательный.Новый DVD-RW может быть записан непосредственно без
необходимости форматирования, однако DVD-RW с данными
в последовательном формате необходимо очистить перед
созданием новой начальной сессии.Для очистки DVD-RW в последовательном формате, запустите:&prompt.root; dvd+rw-format -blank=full /dev/cd0Полная очистка () займет
около одного часа на скорости 1x. Быструю очистку можно
выполнить с параметром , если
DVD-RW будет записан в режиме Disk-At-Once (DAO).
Для записи DVD-RW в режиме DAO, используйте команду:&prompt.root; growisofs -use-the-force-luke=dao -Z /dev/cd0=imagefile.isoПараметр не
должен потребоваться, поскольку &man.growisofs.1; попытается
определить был ли носитель быстро очищен и включить
DAO запись.Фактически, лучше использовать режим с ограниченной
перезаписью с любым DVD-RW, этот формат более гибкий, чем
формат по умолчанию с последовательной записью.Для записи данных на последовательный DVD-RW, используйте
ту же команду, что и для других форматов DVD:&prompt.root; growisofs -Z /dev/cd0 -J -R /path/to/dataЕсли вы хотите добавить данные к предыдущей записи,
используйте параметр &man.growisofs.1; .
Однако при добавлении данных на DVD-RW в последовательном
режиме, на диске будет создана новая сессия и в результате
получится мультисессионный диск.В формате DVD-RW с ограниченной перезаписью не требуется
очищать носитель перед созданием новой начальной сессии,
вам всего лишь нужно переписать диск с параметром
, подобно DVD+RW. Возможно также увеличение
существующей файловой системы ISO 9660, записанной на диск
тем же способом, как для DVD+RW с параметром .
В результате получится односессионный DVD.Для перевода DVD-RW в формат с ограниченной перезаписью,
необходимо использовать следующую команду:&prompt.root; dvd+rw-format /dev/cd0Для перевода обратно в последовательный формат, выполните:&prompt.root; dvd+rw-format -blank=full /dev/cd0МультисессияЛишь несколько DVD-ROM и проигрывателей поддерживают
мультисессионные DVD, в основном они в лучшем случае прочтут только
первую сессию. DVD+R, DVD-R и DVD-RW в последовательном формате
могут работать с несколькими сессиями, и это не относится к
форматам DVD+RW и DVD-RW в формате ограниченной перезаписи.Использование следующей команды после первой (не закрытой) сессии
для DVD+R, DVD-R, или DVD-RW в последовательном формате, добавит
на диск новую сессию:&prompt.root; growisofs -M /dev/cd0 -J -R /path/to/nextdataИспользование этой командной строки с DVD+RW или DVD-RW в
режиме ограниченной перезаписи добавит данные, объединив новую сессию
с предыдущей. В результате получится односессионный диск.
Такой способ используется для добавления данных после первой
записи на эти носители.Некоторый объем носителя используется между сессиями для
завершения и начала сессии. Следовательно, для оптимизации
объема хранения сессии должны быть большими. Количество сессий
ограничено 154 для DVD+R, около 2000 для DVD-R и 127 для
DVD+R Double Layer.Дополнительная информацияДля получения дополнительной информации о DVD, можно запустить
команду dvd+rw-mediainfo
/dev/cd0, диск должен
находиться в приводе.Дополнительная информация о
dvd+rw-tools может быть найдена на
странице справочника &man.growisofs.1;, на Web-сайте
dvd+rw-tools и в архивах списка рассылки
cdwrite.Вывод dvd+rw-mediainfo при записи
или проблемный носитель необходимы для любого сообщения
о проблеме. Без этого вывода будет совершенно невозможно
помочь вам.JulioMerinoПервоначальный текст предоставил MartinKarlssonПереписал ДискетыХранение данных на дискетах иногда бывает полезным, например,
когда нет других съёмных носителей или когда необходимо перенести
небольшой объём данных на другой компьютер.В этом разделе будет описано, как использовать дискеты во FreeBSD.
В основном речь пойдёт о форматировании и использовании
дискет DOS размером 3.5 дюйма, однако общие принципы применимы и для
других форматов гибких дисков.Форматирование дискетУстройствоДоступ к гибким дискам, как, впрочем, и к остальным устройствам,
осуществляется через соответствующие файлы в
каталога /dev. Чтобы обратиться к дискете при
использовании релизов 4.X и ранее, необходимо работать с
/dev/fdN,
где N обозначает номер привода, обычно 0,
или /dev/fdNX, где
X обозначает букву.В 5.0 и более новых релизах просто используйте
/dev/fdN.Размер диска в 4.X и более ранних релизахИмеются также устройства /dev/fdN.size,
где size обозначает размер дискеты в
килобайтах. Эти файлы устройств используются во время
низкоуровневого форматирования для задания размера устройства.
В последующих примерах будет использоваться размер в 1440kB.Иногда записи в каталоге /dev необходимо
создавать повторно. Для этого выполните следующее:&prompt.root; cd /dev && ./MAKEDEV "fd*"Размер диска в 5.0 и последующих релизахВ 5.0 &man.devfs.5; управляет файлами устройств в каталоге
/dev в автоматическом режиме, так что
использование MAKEDEV необязательно.Требуемый размер диска передаётся утилите &man.fdformat.1; при
помощи параметра . Поддерживаемые
размеры перечислены в &man.fdcontrol.8;, но, по нашему мнению,
лучше всего работает 1440kB.ФорматированиеПеред тем, как дискетой можно будет воспользоваться, её
необходимо отформатировать на низком уровне. Обычно это выполняется
производителем, однако форматирование является хорошим способом
проверить целостность носителя. Большинство гибких дисков
предназначены для использования с размером 1440kB, однако возможно
задать меньший или больший размер.Для низкоуровневого форматирования дискет вам нужно использовать
&man.fdformat.1;. В качестве параметра этой утилите передаётся
имя устройства.Обратите внимание на появление сообщений об ошибках, так как
они могут помочь определить, хорошая это дискета или плохая.Форматирование в 4.X и более ранних релизахДля форматирования дискет используйте устройства
/dev/fdN.size.
Вставьте новую 3.5-дюймовую дискету в дисковод и введите
команду:&prompt.root; /usr/sbin/fdformat /dev/fd0.1440Форматирование в 5.0 и более новых релизахДля форматирования гибких дисков используйте устройства
/dev/fdN. Вставьте
новую 3.5-дюймовую дискету в дисковод и введите команду:&prompt.root; /usr/sbin/fdformat -f 1440 /dev/fd0Метка дискаПосле низкоуровневого форматирования диска вам нужно поместить на
него метку диска. Эта метка будет потом разрушена, но она будет нужна
системе для определения размера диска и его характеристик.Новая метка диска будет касаться диска в целом, и будет содержать
полную информацию о параметрах дискеты.
Значения геометрии для метки диска перечислены в файле
/etc/disktab.
Теперь вы можете запустить &man.disklabel.8; примерно так:&prompt.root; /sbin/disklabel -B -r -w /dev/fd0 fd1440Начиная с &os; 5.1-RELEASE, на смену старой программе
&man.disklabel.8; пришла утилита &man.bsdlabel.8;. У
&man.bsdlabel.8; отсутствуют некоторые устаревшие опции и
параметры; в примере выше параметр не может
использоваться с &man.bsdlabel.8;. Для получения дополнительной
информации обратитесь к справочной странице п
о &man.bsdlabel.8;.Файловая системаТеперь ваша дискета готова к высокоуровневому форматированию.
При этом на неё будет помещаться новая файловая система, которая
позволит FreeBSD читать и записывать информацию на диск. После
создания новой файловой системы метка диска уничтожается, так что если
вы захотите переформатировать диск, вам придётся создавать метку диска
повторно.Файловой системой для дискеты может служить UFS или FAT.
Вообще говоря, FAT для дискет походит лучше.Для размещения на дискете новой файловой системы,
выполните:&prompt.root; /sbin/newfs_msdos /dev/fd0Теперь диск готов к работе.Использование дискетДля работы с гибким диском смонтируйте его при помощи утилит
&man.mount.msdos.8; (для 4.X и более ранних релизов) или
&man.mount.msdosfs.8; (в 5.0 и последующих релизах). Можно также
использовать пакет emulators/mtools
из коллекции портов.Создание и использование архивных копий на магнитной лентеносители на магнитной лентеК наиболее часто используемым носителям на магнитной ленте следует
отнести ленты шириной 4мм и 8мм, а также типа QIC, мини-картриджи и
DLT.4мм (DDS: Digital Data Storage)носители на магнитной лентемагнитные ленты DDS (4мм)носители на магнитной лентемагнитные ленты QICЛенты шириной 4мм заменяют QIC в качестве наиболее
предпочтительного носителя для создания резервных копий. Эта тенденция
значительно усилилась после покупки компанией Conner фирмы Archive,
ведущего производителя накопителей QIC и последующего прекращения
их выпуска. Накопители 4мм малы по размеру и мало шумят, но у них нет
репутации носителя, обладающего надежностью приводов 8мм. Картриджи
более дешевы и меньше по размеру (3 x 2 x 0.5 дюймов, 76 x 51 x 12 мм),
чем 8мм-картриджи. Накопители для лент шириной 4мм, как и 8мм, имеют
сравнительно малый срок службы головок, по причине использования в
обоих случаях технологии спирального сканирования (helical
scan).Пропускная способность у таких накопителей начинается с цифры
~150 kB/s, пиковая достигает ~500 kB/s. Ёмкость накопителей
начинается с 1.3 GB и может достигать 2.0 GB. Аппаратное
сжатие, имеющееся на
большинстве таких накопителей, даёт увеличение ёмкости примерно вдвое.
Блоки многоприводных ленточных библиотек могут иметь до 6 накопителей
в одном модуле с автоматической сменой ленты. Ёмкость библиотек может
достигать 240 Гбайт.Стандарт DDS-3 в настоящее время поддерживает ёмкости лент вплоть
до 12 Гбайт (или 24 Гбайт сжатой информации).В накопителях 4мм, как и в приводах 8мм, используется технология
спирального сканирования. Все плюсы и минусы этой технологии относятся
как к 4мм, так и 8мм приводам.Не следует использовать ленты после того, как они были подвергнуты
2000 проходов, или были использованы для создания 100 полных
копий.8мм (Exabyte)носители на магнитной лентемагнитные ленты Exabyte (8мм)Ленты шириной 8мм являются самым распространённым типом для
ленточных SCSI-накопителей; они же являются наиболее удачным выбором при
выборе типа носителей для обмена лентами. Наверное, каждый сервер
имеет привод Exabyte шириной 8мм и объёмом 2 Гбайт. Эти приводы
удобны, они работают надёжно и тихо. Картриджи дешевы и малы по
размеру (4.8 x 3.3 x 0.6 дюймов; 122 x 84 x 15 мм). Одним минусом
лент шириной
8мм является сравнительно малое время службы головок и лент из-за
высокой скорости движения ленты вдоль головок.Скорость передачи данных варьируется от ~250 kB/s
до ~500 kB/s. Объём хранимых данных начинается с 300 Мбайт и
может достигать 7 Гбайт.
Аппаратное сжатие, имеющееся практически на всех таких приводах,
увеличивает емкость примерно вдвое. Эти приводы существуют как в виде
отдельных модулей, так и в виде многоприводных ленточных библиотек с
6 приводами и 120 лентами в одном отсеке. Ленты сменяются
автоматически модулем. Емкости библиотек достигают величин,
превышающих 840 Гбайт.Модель Exabyte Mammoth поддерживает ёмкость ленты в
12 Гбайт (24 Гбайт со сжатием) и стоит примерно вдвое больше, чем
обычный ленточный накопитель.Данные на ленту записываются по технологии спирального
сканирования, головки позиционируются под углом к носителю (примерно в
6 градусов). Лента оборачивается на 270 градусов вокруг шпульки,
которая держит головки. Во время скольжения ленты вокруг шпульки
последняя вращается. В результате достигается высокая плотность записи
данных с очень близко лежащими дорожками, расположенными под наклоном
по всей ленте.QICносители на магнитной лентеQIC-150Ленты и накопители формата QIC-150, наверное, являются наиболее
распространенным типом носителей. Приводы лент формата QIC являются
самыми дешёвыми серьёзными накопителями для резервного
копирования.
Минусом является стоимость носителей. Ленты формата QIC по сравнению
с лентами шириной 8мм или 4мм являются дорогими, превосходя их по
стоимости хранения одного гигабайта в пять раз. Однако если вам
будут достаточно половины ленты, QIC может оказаться правильным
выбором. QIC является самым распространенным
типом привода. Каждый сайт имеет привод QIC какой-либо емкости. QIC
имеет большое количество плотностей на физически похожих (иногда
даже идентичных) лентах. Приводы QIC работают вовсе не тихо. Эти
накопители громко осуществляют поиск перед тем, как начать запись
данных и достаточно шумны в процессе чтения, записи или поиска. Ленты
QIC имеют размеры (6 x 4 x 0.7 дюймов; 152 x 102 x 17 мм).Скорость обмена данными лежит в границах от ~150 kB/s
до ~500 kB/s. Ёмкость накопителей варьируется от 40 Мбайт
до 15 Гбайт. Аппаратное сжатие
присутствует во многих современных накопителях QIC. Приводы QIC
устанавливаются менее часто; они вытесняются накопителями DAT.На ленту данные записываются в виде дорожек. Дорожки располагаются
в длину вдоль всей ленты. Количество дорожек, и, в свою очередь, их
ширина, меняется вместе с емкостью ленты. Большинство, если не все
современные накопители обеспечивают обратную совместимость по крайней
мере для чтения (однако зачастую и для режима записи). Формат QIC
имеет хорошую репутацию в области надежности хранения данных (механика
устроена проще и более надежна, чем в случае накопителей, построенных
по технологии спирального сканирования).Ленты не следует больше использовать после создания 5,000 резервных
копий.DLTносители на магнитной лентеDLTФормат DLT обладает самой высокой скоростью передачи данных среди
всех перечисленных здесь накопителей. Лента шириной 1/2" (12.5мм)
помещена в один картридж с катушкой (4 x 4 x 1 дюймов; 100 x 100 x
25 мм). Вдоль одной из сторон картриджа расположена сдвигающаяся
крышечка. Механизм накопителя открывает эту крышку, чтобы вытащить
конец ленты. На этом конце имеется овальное отверстие, которое
используется для захвата ленты. Принимающая катушка
размещена внутри
накопителя. Все другие типы картриджей, перечисленные здесь (за
исключением 9-дорожечных лент), имеют как подающий, так и принимающий
барабаны внутри самого картриджа.Скорость передачи данных равна примерно 1.5 MB/s, что в три
раза больше скорости передачи данных для накопителей 4мм, 8мм или QIC.
Ёмкость картриджей варьируется от 10 Гбайт до 20 Гбайт для одного
накопителя. Приводы могут компоноваться как многоленточные
роботизированные, так и многоленточные, многоприводные библиотеки
лент, вмещающие от 5 до 900 лент и от 1 до 20 приводов, что даёт
ёмкость хранилища от 50 Гбайт до 9 Тбайт.Формат DLT Type IV поддерживает емкость до 70 Гбайт со
сжатием.Данные на ленту записываются в виде дорожек, параллельных
направлению движения (точно также, как и для лент QIC). Одновременно
записываются две дорожки. Срок жизни головок чтения/записи
сравнительно велик; как только лента перестает двигаться, одновременно
прекращается трение между головками и лентой.AITносители на магнитной лентеAITAIT - это новый формат фирмы Sony, который позволяет хранить до
50 Гбайт (со сжатием) информации на одной ленте. Ленты содержат
микросхемы памяти, на которых размещается каталог содержимого ленты.
Этот каталог может быть быстро считан накопителем для определения
расположения файлов на ленте, вместо того, чтобы тратить несколько
минут на поиск, как это происходит с другими форматами. Такое
программное обеспечение, как
SAMS:Alexandria, может управлять сорока или
большим количеством
ленточных библиотек AIT, связываясь непосредственно с памятью лент для
вывода их содержимого, определения того, какие файлы были скопированы
на какую ленту, выбора нужной ленты, её загрузки и восстановления
данных с ленты.Библиотеки с такими функциями стоят в районе $20,000, выводя их из
ниши любительского рынка.Использование новой ленты первый разЕсли вы попытаетесь прочитать или записать новую, абсолютно чистую
ленту, в первый раз, то вам это не удастся. Выводимые на консоль
сообщения будут выглядеть примерно так:sa0(ncr1:4:0): NOT READY asc:4,1
sa0(ncr1:4:0): Logical unit is in process of becoming readyНа ленте отсутствует идентификационный блок (блок номер 0). Со
времен принятия стандарта QIC-525 все накопители формата QIC записывают
на ленту идентификационный блок (Identifier Block). Здесь имеется два
решения:По команде mt fsf 1 ленточный накопитель
записывает идентификационный блок на ленту.Воспользуйтесь кнопкой на передней панели для выброса
ленты.Вставьте ленту повторно и по команде dump
сбросьте данные на ленту.Программа dump выдаст DUMP: End
of tape detected, а на консоли будет выведено:
HARDWARE FAILURE info:280 asc:80,96.перемотайте ленту такой командой:
mt rewind.Последующие операции с лентой будут успешными.Создание резервных копий на дискетахМожно ли использовать дискеты для создания резервных копий моих
данных?дискеты с резервными копиямидискетыНа самом деле дискеты не подходят для создания резервных копий,
потому что:Носитель ненадёжен, особенно если речь идет о больших сроках
хранения.Создание резервных копий и восстановление данных происходит
очень медленно.Дискеты имеют весьма ограниченную емкость (дни, когда весь
винчестер копировался на десяток или около того дискет, давно
прошли).Несмотря на все это, если у вас нет другого способа сделать
резервную копию ваших данных, то дискеты все же лучше, чем
ничего.Если вы используете дискеты, то проверьте, что они должны быть
хорошего качества. Дискеты, которые валялись по всему офису в течении
нескольких лет, не подойдут. Идеально использовать новые от известного
производителя.Итак, как же сделать резервную копию данных на дискетах?Самым лучшим методом создания резервной копии на дискете является
использование утилиты &man.tar.1; с опцией
(многотомные архивы), которая позволяет размещать
архивы на нескольких дискетах.Для копирования всех файлов в текущем каталоге и подкаталогах
выполните следующее (работая как пользователь
root):&prompt.root; tar Mcvf /dev/fd0 *Когда первая дискета окажется полностью заполненной, программа
&man.tar.1; выдаст запрос на следующий том (так как работа
утилиты &man.tar.1; не зависит от носителя, она имеет дело с
томами; здесь это означает дискету).Prepare volume #2 for /dev/fd0 and hit return:Это сообщение будет повторяться (со все увеличивающимся номером
тома) до тех пор, пока все указанные файлы не будут
заархивированы.Можно ли резервные копии подвергнуть компрессии?targzipсжатиеК сожалению, &man.tar.1; при создании многотомных архивов
не позволяет использовать опцию . Вы конечно же,
можете скомпрессировать все файлы утилитой &man.gzip.1;,
программой &man.gzip.1; скопировать их на дискеты, а затем
распаковать файлы снова утилитой &man.gunzip.1;!Как восстановить данные из моих резервных копий?Для полного восстановления архива воспользуйтесь такой
командой:&prompt.root; tar Mxvf /dev/fd0Есть два подхода к восстановлению только нужных вам файлов. В
первом вы можете начать с первой дискеты и выдать такую команду:&prompt.root; tar Mxvf /dev/fd0 filenameПрограмма &man.tar.1; будет выдавать запрос на подачу
последующих дискет до тех пор, пока не найдет требуемый файл.Как альтернатива, если вы знаете, на какой дискете расположен файл,
то вы можете просто подать ее и дать ту же самую команду, что и выше.
Заметьте, что если первый файл на дискете является продолжением
предыдущего, то &man.tar.1; выдаст предупреждение о том, что
не может его восстановить, хотя вы этого и не просили делать!LowellGilbertПервоначально написаноСтратегии резервного копированияПри разработке плана резервного копирования первым делом надо
продумать методы защиты от следующих проблем:Отказ жесткого дискаСлучайное удаление файловПовреждение содержимого файловПолное уничтожение компьютера (например, при пожаре), при
котором погибнут также резервные копии, физически находящиеся
рядом.Вполне возможно, что для ваших нужд нет единой стратегии, наилучшим
образом покрывающей все описанные проблемы; более того, скорее всего,
ее и не может быть (разве что для персональных систем, где ценность
данных очень низка).Вот несколько наиболее распространенных технологий, применяемых
для резервного копирования:Архивация системы целиком с копированием на какой-либо надежный
внешний носитель и размещение его вдалеке от основной системы.
При этом вы защищены от всех перечисленных проблемы, однако этот
метод требует много времени и неудобен в процессе восстановления.
Вы можете хранить резервные копии рядом или даже смонтированными,
однако все равно столкнетесь с неудобствами при восстановлении,
в особенности для непривилегированных пользователей.Снэпшоты файловых систем. Помогают только от случайного
удаления файлов, но как раз в этом случае
очень полезны и эффективны.Полные копии файловых систем или дисков (например, периодический
запуск программы rsync для машины целиком).
Для защиты от отказа жестких дисков этот способ обычно несколько
уступает RAID; для восстановления случайно
удаленных файлов может быть сравним по удобству со снэпшотами
UFS, в зависимости от вашей ситуации.RAID. Минимизирует или исключает вовсе
простои при отказе жестких дисков. При этом средняя частота
таких отказов увеличивается (поскольку количество дисков больше),
но разбираться с ними становится много спокойнее.Проверка отпечатков файлов (fingerprints). Для этого весьма
полезна утилита &man.mtree.8;. Не являясь собственно технологией
резервного копирования, этот метод помогает выяснять, когда вам
пока обращаться к резервным копиям. В особенности это важно для
"оффлайновых" резервных копий.Довольно легко придумать и другие стратегии резервного копирования;
многие из них будут композициями уже упомянутых. Наличие специальных
требований, как правило, приводит к специализированным же технологиям
(например, резервное копирование базы данных, как правило, требует
использования методов, специфичных для соответствующей СУБД).
Главным остается знание опасностей потери данных, от которых вы хотите
себя оградить, и методов защиты от них.Основы технологии резервного копированияТремя основными программами резервного копирования являются
&man.dump.8;, &man.tar.1; и &man.cpio.1;.Dump и Restoreпрограммы резервного копированиярезервное копирование / восстановлениеdumprestoreДля &unix; традиционными программами резервного копирования
являются dump и restore. Они
работают с приводом как с набором дисковых блоков, которые расположены
ниже понятий файлов, связей и каталогов, создаваемых файловыми
системами. Программа dump выполняет резервное
копирование всей файловой системы, располагающейся на устройстве.
Невозможно выполнить резервное копирование части файловой системы или
дерева каталогов, которые располагаются более чем в одной файловой
системе. Утилита dump не записывает на ленту файлы
и каталоги, она записывает блоки данных, из которых строятся файлы и
каталоги.Если вы используете программу dump для работы
с корневым каталогом, при этом не будет выполняться резервное
копирование
/home, /usr и многих других
каталогов, так как они обычно являются точками монтирования других
файловых систем или символическими ссылками на эти файловые
системы.В программе dump имеются некоторые неудобства,
оставшиеся
от её ранних дней в составе Version 6 операционной системы AT&T
UNIX (примерно 1975). Параметры, используемые по умолчанию, подходят
для 9-дорожечных лент (6250 bpi), но не для современных носителей с
высокой плотностью записи информации (до 62,182 ftpi). Для
использования ёмкостей нынешних накопителей на магнитной ленте эти
параметры могут быть заданы в командной строке..rhostsПри помощи rdump и rrestore
возможно резервное
копирование данных по сети на накопитель, подключенный к другому
компьютеру. Обе программы используют в работе &man.rcmd.3; и
&man.ruserok.3; для доступа к накопителю на магнитной ленте на
удалённом компьютере. Поэтому пользователь, выполняющий резервное
копирование, должен быть указан в файле .rhosts на
удалённом компьютере. Аргументы для rdump и
rrestore должны подходить для использования на
другом компьютере. При выполнении копирования по команде
rdump на компьютере с FreeBSD на накопитель Exabyte,
подключенный к машине Sun по имени komodo, используйте
такую команду:&prompt.root; /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1Будьте осторожны: есть проблемы с обеспечением безопасности при
аутентификации посредством .rhosts. Внимательно
рассмотрите вашу ситуацию.Программы dump и restore
можно использовать в более защищённом режиме посредством
ssh.Использование dump через
ssh&prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \
targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gzЛибо воспользуйтесь встроенной в dump
возможностью, задав переменную окружения RSH:Использование dump при работе через
ssh с заданием RSH&prompt.root; RSH=/usr/bin/ssh /sbin/dump -0uan -f targetuser@targetmachine.example.com:/dev/sa0 /usrtarпрограммы резервного копированияtarУтилита &man.tar.1; также восходит корнями к Version 6 системы
AT&T UNIX (около 1975). tar работает с
файловой системой, записывая на ленту файлы и
каталоги. Эта утилита
поддерживает не полный набор опций, имеющихся в &man.cpio.1;, однако
не требует необычного перенаправления в командной строке, которое
используется в утилите cpio.tarFreeBSD начиная с версии 5.3 содержит как GNU
tar, так и используемую по умолчанию
утилиту bsdtar. Версия GNU вызывается командой
gtar, и поддерживает удалённые устройства в том же
самом синтаксисе, что и rdump. Чтобы скопировать
данные на накопитель Exabyte, подключенный к машине Sun по имени
komodo, используйте такую команду:&prompt.root; /usr/bin/gtar cf komodo:/dev/nsa8 . 2>&1Тот же результат вы можете получить, используя
bsdtar, воспользовавшись перенаправлением вывода и командой
rsh для посылки данных на удалённый ленточный
накопитель.&prompt.root; tar cf - . | rsh hostname dd of=tape-device obs=20bЕсли вы беспокоитесь о безопасности создания резервных копий по
сети, то вместо rsh вам нужно использовать
ssh.cpioпрограммы резервного копированияcpio&man.cpio.1; является оригинальной программой &unix; для обмена
файлами на магнитных носителях. В утилите cpio
имеются опции (кроме всего прочего), позволяющие выполнять изменение
порядка следования байтов, поддерживающие различные форматы архивов и
выполняющие перенаправление данных другим программам. Последняя
возможность делает cpio прекрасным выбором для
целей установки. cpio не знает о том, как
работать с каталогами, список файлов должен даваться через
stdin.cpiocpio не поддерживает создание резервных
копий по сети. Вы можете воспользоваться перенаправлением вывода и
программой rsh для посылки данных на удалённый
накопитель.&prompt.root; for f in directory_list; dofind $f >> backup.listdone
&prompt.root; cpio -v -o --format=newc < backup.list | ssh user@host "cat > backup_device"Где directory_list это список директорий, c которых Вы хотите
создать резервные копии,
user@host это
комбинация пользователь/хост которая описывает того кто
занимается резервированием, и backup_device
это устройство куда копии должны быть записаны (например,
/dev/nsa0).paxпрограммы резервного копированияpaxpaxPOSIXIEEE&man.pax.1; является ответом IEEE/&posix; на утилиты
tar и cpio. В течение многих лет
различные версии программ tar и
cpio получались не совсем совместимыми. Так что
вместо того, чтобы попытаться полностью их стандартизировать, &posix;
создал новую утилиту для работы с архивами. pax
пытается читать и писать различные форматы cpio
и tar, и, кроме
того, свои собственные новые форматы. Набор команд этой утилиты больше
напоминает cpio, чем tar.Amandaпрограммы резервного копированияamandaamandaAmanda (Advanced Maryland Network Disk
Archiver) является целой клиент/серверной системой резервного
копирования, а не отдельной программой. Сервер
Amanda сможет осуществлять резервное
копирование на единственный накопитель любого количества компьютеров,
на которых имеется клиент Amanda и которые
могут связываться по сети с сервером Amanda.
Общей проблемой систем с большим количеством больших дисков является
то, что время, требуемое для непосредственной записи данных на ленту,
превышает лимит времени, выделенный на эту задачу.
Amanda решает эту проблему.
Amanda может использовать
промежуточный диск для резервного копирования нескольких
файловых систем одновременно. Amanda
создаёт наборы архивов: группа лент, используемых в
некоторый период времени для создания полных копий всех файловых
систем, перечисленных в конфигурационном файле системы
Amanda. Архивный
набор содержит также создаваемый каждую ночь инкрементальные
(или дифференциальные) резервные копии всех файловых систем.
Восстановление повреждённой файловой системы требует наличия самой
последней полной копии и инкрементальных резервных копий.Конфигурационный файл даёт прекрасный механизм для управления
процессом резервного копирования и объёмом трафика, генерируемого
системой Amanda.
Amanda сможет использовать любую из
перечисленных выше программ для записи данных на ленту.
Amanda имеется в виде как
порта, так и пакета, и по умолчанию она не установлена.Не делать ничегоНе делать ничего - это не программа для компьютера,
и в то же время это наиболее широко используемая стратегия резервного
копирования. Здесь нет никаких первоначальных затрат. Здесь нет
расписания, которому нужно следовать. Просто скажите нет. Если что-то
случится с вашими данными, улыбнитесь и забудьте о них!Если ваше время и данные практически ничего не стоят, то не
делать ничего является самой подходящей программой для вашего
компьютера. Но будьте осторожны, &posix; является весьма полезным
инструментом, и через полгода вы можете обнаружить, что у вас есть
набор файлов, представляющих для вас определенную ценность.Ничего не делать является правильным методом
резервного копирования для /usr/obj и других
деревьев каталогов, которые могут быть в точности перегенерированы
вашим компьютером. Примером являются файлы, представляющие страницы
этого Руководства в форматах HTML или &postscript;. Они генерируются
из входных файлов в формате SGML. Создавать резервные копии файлов в
форматах HTML и &postscript; не нужно. Исходные файлы в формате SGML
копируются регулярно.Какая программа резервного копирования самая лучшая?LISA&man.dump.8; Точка. Elizabeth D. Zwicky
протестировала все программы резервного копирования, обсуждаемые здесь.
Беспроигрышным вариантом для сохранения всех ваших данных и
особенностей файловых систем &unix; является dump.
Элизабет создала файловые системы, содержащие большое количество
необычных элементов (и некоторых не так уж необычных) и тестировала
каждую из программ, выполняя резервное копирование и последующее
восстановление этих файловых систем. В число необычных элементов
входили: файлы с дырами, файлы с дырами и блоком пустого места, файлы с
необычными символами в их именах, нечитаемые и незаписываемые файлы,
устройства, меняющие свой размер во время резервного копирования, файлы,
создаваемые и удаляемые во время копирования и тому подобное. Она
представила результаты на конференции LISA V в октябре 1991 года.
Посмотрите ссылку на сайте
torture-testing Backup and Archive Programs.Процедура восстановления при сбоеДо того, как случится катастрофаВам нужно выполнить всего лишь четыре шага для того, чтобы быть
готовым к любому сбою.disklabelВо-первых, распечатайте разметку диска для всех ваших дисков
(к примеру, disklabel da0 | lpr), таблицу файловых
систем (/etc/fstab) и все сообщения, выводимые
при загрузке, каждого по два экземпляра.аварийные дискетыВо-вторых, определите, все ли устройства присутствуют на
загрузочной и аварийной дискетах (boot.flp и
fixit.flp). Самым простым способом проверки
является перезагрузка вашей машины с загрузочной дискетой,
вставленной в дисковод и последующая проверка сообщений при загрузке.
Если все имеющиеся у вас устройства здесь будут перечислены и будут
работоспособны, перейдите к третьему шагу.В противном случае вам необходимо будет создать две особым
образом сформированные загрузочные дискеты, на которых помещено
ядро, могущее смонтировать все ваши диски и получить доступ к вашему
стримеру. На этих дискетах должны быть: fdisk,
disklabel, newfs,
mount и какая-либо
используемая вами программа резервного копирования. Эти программы
должны быть скомпонованы статически. Если вы используете
dump, то на дискете должна присутствовать и программа
restore.В-третьих, регулярно создавайте резервные копии на ленте. Любые
изменения, которые вы делали после последнего резервного копирования,
могут быть безвозвратно потеряны. На лентах включайте защиту от
записи.В-четвертых, проверяйте работу дискет (либо
boot.flp и fixit.flp, либо
двух дискет, которые вы сделали при выполнении второго шага) и лент
с резервными копиями. Ведите журнал выполняемых действий. Храните
эти записи вместе с загрузочной дискетой, распечатками и лентами.
Вы просто обезумеете при восстановлении данных, если окажется, что
записи могли бы избежать разрушения ваших резервных копий (Каким
образом? Вместо команды tar xvf /dev/sa0 вы
могли случайно набрать tar cvf /dev/sa0 и тем
самым перезаписать вашу резервную копию).Для дополнительной страховки, каждый раз создавайте загрузочные
дискеты и две резервные копии на ленте. Храните одну из копий в
каком-то удаленном месте и НЕ в том же здании, где находится ваш
офис. Достаточно большое количество компаний во Всемирном Торговом
Центре изучило это на своей шкуре. Это удаленное хранилище должно
быть физически отделено на большое расстояние от ваших компьютеров и
дисковых устройств.Скрипт для создания загрузочной дискетыПосле сбояГлавный вопрос: выжило ли ваше оборудование? Вы регулярно делали
резервные копии, так что нет нужды беспокоиться о программном
обеспечении.Если оборудование было повреждено, должны быть заменены
неисправные компоненты.Если с оборудованием все в порядке, проверьте ваши дискеты. При
использовании самостоятельно созданной загрузочной дискеты,
загрузитесь в однопользовательском режиме (набрав
-s в приглашении boot:).
Пропустите следующий абзац.Если вы используете дискеты boot.flp и
fixit.flp, читайте дальше. Вставьте дискету
boot.flp в первый дисковод и загрузите
компьютер. На экран будет выведено оригинальное меню установки.
Выберите пункт Fixit--Repair mode with CDROM or
floppy. После вывода приглашения вставьте
fixit.flp. restore и другие
нужные вам программы находятся в каталоге /mnt2/rescue (/mnt2/stand во &os; версий, предшествующих
5.2).Восстановите по отдельности каждую файловую систему.mountкорневой разделdisklabelnewfsПопробуйте выполнить команду mount (например,
mount /dev/da0a /mnt) по отношению к корневому
разделу вашего первого диска. Если метка диска была испорчена,
то воспользуйтесь командой disklabel для
переразбиения на
разделы и разметки диска так, чтобы получившаяся метка совпала с той,
которая вами была распечатана и сохранена. Для повторного создания
файловых систем используйте утилиту newfs. Повторно
смонтируйте корневой раздел дискеты в режиме чтения-записи
(mount -u -o rw /mnt). Воспользуйтесь вашей
программой резервного копирования и резервными копиями на лентах для
восстановления данных для этой файловой системы (например.
restore vrf /dev/sa0). Размонтируйте файловую
систему (например, umount /mnt). Повторите эту
процедуру для каждой файловой системы, которая была повреждена.Как только ваша система заработает, сделайте резервную копию на
новые ленты. Что бы ни вызвало сбой или потерю данных, это может
случиться снова. Ещё один час, потраченный в этот момент, может
спасти вас от неприятностей в будущем.* Я не был готов к катастрофе, и что теперь?
]]>
MarcFonvieilleРеорганизацию и улучшения выполнил Сетевые файловые системы, файловые системы в памяти и с отображением
в файлвиртуальные дискидискивиртуальныеКроме дисков, которые вы физически устанавливаете в ваш компьютер;
дискеты, компакт-диски, винчестеры и так далее, FreeBSD воспринимает и
другие типы дисков - виртуальные диски.NFSCodaдискипамятьСюда могут быть отнесены сетевые файловые системы, такие, как
Network File System и Coda, а также
файловые системы с организацией в памяти и создаваемые в файлах.В зависимости от версии FreeBSD, которую вы используете, для создания
и работы с файловыми системами, отображаемыми в оперативную память или
файлы, вам нужно будет пользоваться разными инструментами.Пользователи FreeBSD 4.X для создания требуемых устройств
должны использовать &man.MAKEDEV.8;. Во FreeBSD 5.0 и более
поздних версиях для создания файлов устройств используется
&man.devfs.5;, которая выполняет это прозрачно для
пользователей.Файловая система в файле во FreeBSD 4.Xдискихранимые в файле (4.X)Утилита &man.vnconfig.8; конфигурирует и позволяет использовать
дисковые устройства на основе псевдо-устройств vnode.
vnode представляет собой файл и отвечает за
работу с файлом. Это означает, что &man.vnconfig.8; использует файлы
для создания и работы с файловой системой. Одним из возможных
способов использования является монтирование образов дискет или
образов компакт-дисков, сброшенных в файлы.Для использования &man.vnconfig.8; в конфигурационном файле ядра
вам нужно включить поддержку &man.vn.4;:pseudo-device vnЧтобы смонтировать имеющийся образ файловой системы:Использование vnconfig для монтирования имеющегося образа
файловой системы во FreeBSD 4.X&prompt.root; vnconfig vn0diskimage
&prompt.root; mount /dev/vn0c /mntДля создания нового образа файловой системы с помощью
&man.vnconfig.8;:Создание нового диска в файле с помощью
vnconfig&prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records out
&prompt.root; vnconfig -s labels -c vn0newimage
&prompt.root; disklabel -r -w vn0 auto
&prompt.root; newfs vn0c
Warning: 2048 sector(s) in last cylinder unallocated
/dev/vn0c: 10240 sectors in 3 cylinders of 1 tracks, 4096 sectors
5.0MB in 1 cyl groups (16 c/g, 32.00MB/g, 1280 i/g)
super-block backups (for fsck -b #) at:
32
&prompt.root; mount /dev/vn0c /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/vn0c 4927 1 4532 0% /mntФайловые системы, отображаемые в файлы, во FreeBSD 5.Xдискиотображаемые в файлы (5.X)Во FreeBSD 5.X для конфигурации и подключения дисков
&man.md.4;, отображаемых в оперативную память, используется утилита
&man.mdconfig.8;. Для работы с &man.mdconfig.8; вам нужно подгрузить
модуль &man.md.4; или добавить поддержку этих устройств в файл
конфигурации ядра:device mdУтилита &man.mdconfig.8; поддерживает три типа виртуальных дисков,
отображаемых в память: диски в памяти, которая выделяется запросами
&man.malloc.9; и диски в памяти, использующие в качестве устройств
хранения файлы или раздел подкачки. Одним из возможных использований
таких дисков является монтирование файлов с образами дискет или
CD.Для монтирования образа существующей файловой системы:Использование mdconfig для монтирования файла
с образом существующей файловой системы во FreeBSD 5.X&prompt.root; mdconfig -a -t vnode -f diskimage -u 0
&prompt.root; mount /dev/md0/mntДля создания образа новой файловой системы при помощи
&man.mdconfig.8;:Создание нового диска, отображаемого в файл, при помощи
mdconfig&prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records out
&prompt.root; mdconfig -a -t vnode -f newimage -u 0
&prompt.root; disklabel -r -w md0 auto
&prompt.root; newfs md0c
/dev/md0c: 5.0MB (10240 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes.
super-block backups (for fsck -b #) at:
32, 2624, 5216, 7808
&prompt.root; mount /dev/md0c /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0c 4846 2 4458 0% /mntЕсли в параметре вы не задали номер устройства,
то &man.mdconfig.8; для выбора неиспользуемого устройства будет
использовать функцию автоматическое выделения в &man.md.4;. Имя
выделенного устройства будет выдано на стандартное устройство выводы в
виде, например, md4. Для получения более
полной информации о &man.mdconfig.8;, пожалуйста, обратитесь к
соответствующей странице справочной системы.Начиная с &os; 5.1-RELEASE, на смену старой программе
&man.disklabel.8; пришла утилита &man.bsdlabel.8;. У
&man.bsdlabel.8; отсутствуют некоторые устаревшие опции и
параметры; в примере выше параметр не может
использоваться с &man.bsdlabel.8;. Для получения дополнительной
информации обратитесь к справочной странице п
о &man.bsdlabel.8;.Утилита &man.mdconfig.8; весьма полезна, однако для создания файла
с файловой системой требуется произвести много действий. Вместе с
FreeBSD 5.0 поставляется утилита под названием &man.mdmfs.8;,
которая создаёт диск &man.md.4; при помощи &man.mdconfig.8;, размещает
на нём файловую систему UFS при помощи &man.newfs.8; и монтирует её
командой &man.mount.8;. Например, если вы хотите создать и
смонтировать такой же образ файловой системе, как выше, просто наберите
такую команду:Настройка и монтирование диска, отображаемого в файл, при помощи
команды mdmfs&prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records out
&prompt.root; mdmfs -F newimage -s 5m md0/mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0 4846 2 4458 0% /mntЕсли вы используете параметр без номера
устройства, то &man.mdmfs.8; будет использовать автоматическую
нумерацию &man.md.4; для автоматического выбора неиспользуемого
устройства. Более полную информацию о &man.mdmfs.8; можно найти на
страницах справочной системы.Файловая система в памяти во FreeBSD 4.Xдискифайловые системы в памяти (4.X)Драйвер &man.md.4; является простым и эффективным способом создания
файловых систем в памяти во FreeBSD 4.X. Для выделения памяти
используется &man.malloc.9;.Просто возьмите файловую систему, которую вы приготовили при
помощи, скажем, &man.vnconfig.8; и:Диск md в памяти во FreeBSD 4.X&prompt.root; dd if=newimage of=/dev/md0
5120+0 records in
5120+0 records out
&prompt.root; mount /dev/md0c/mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0c 4927 1 4532 0% /mntДля получения более полной информации, пожалуйста, обратитесь к
страницам справочной системы по &man.md.4;.Файловые системы с отображением в память во
FreeBSD 5.Xдискифайловая система в памяти (5.X)При работе с файловыми системами, отображаемыми в файл или память,
используются одни и те же утилиты: &man.mdconfig.8; или &man.mdmfs.8;.
Место для хранения файловых систем в памяти выделяется через
&man.malloc.9;.Создание нового диска с отображением в память при помощи
mdconfig&prompt.root; mdconfig -a -t malloc -s 5m -u 1
&prompt.root; newfs -U md1
/dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes.
with soft updates
super-block backups (for fsck -b #) at:
32, 2624, 5216, 7808
&prompt.root; mount /dev/md1/mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md1 4846 2 4458 0% /mntСоздание нового диска с отображением в память при помощи
mdmfs&prompt.root; mdmfs -M -s 5m md2/mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md2 4846 2 4458 0% /mntВместо того, чтобы использовать файловую систему, опирающуюся на
&man.malloc.9;, возможно использовать память раздела подкачки, для чего
нужно просто заменить на
в командной строке при вызове &man.mdconfig.8;. Утилита &man.mdmfs.8;
по умолчанию (без опции ) создаёт диск в разделе
подкачки. Для выяснения всех подробностей, пожалуйста, обратитесь к
страницам справочной системы по &man.mdconfig.8; и
&man.mdmfs.8;.Отключение диска, отображаемого в память, от системыдискиотключение диска, отображаемого в памятьЕсли файловые системы, отображаемые в память или файл, больше не
используются, вам нужно высвободить все ресурсы для системы. Первым
делом нужно размонтировать файловую систему, затем воспользоваться
&man.mdconfig.8; для отключения диска от системы и освободить
ресурсы.К примеру, чтобы отключить и освободить все ресурсы, используемые
/dev/md4:&prompt.root; mdconfig -d -u 4Для выдачи информации об отконфигурированных устройствах
&man.md.4; используется команда mdconfig -l.Во FreeBSD 4.X для отключения устройства используется команда
&man.vnconfig.8;. Например, для отключения и освобождения всех
ресурсов, используемых /dev/vn4:&prompt.root; vnconfig -u vn4TomRhodesТекст предоставил Мгновенные копии файловых системфайловые системымгновенные копииВо FreeBSD 5.0 вместе с технологией
Отложенных обновлений представлена новая возможность: генерация
мгновенных копий файловых систем.Мгновенные копии позволяют пользователю создавать образы заданных
файловых систем и работать с ними как с файлами.
Файлы мгновенных копий должны создаваться в той файловой
системе, над которой производится действие, и пользователь может
создавать не более 20 мгновенных копий для каждой файловой системы.
Активные копии записываются в суперблок, так что они остаются в силе
между операциями монтирования и размонтирования в процессе системных
перезагрузок. Если мгновенная копия больше не нужна, она может быть
удалена стандартной командой &man.rm.1;. Мгновенные копии могут
удаляться в любом порядке, однако всё использованное пространство не
может быть использовано, так как другая мгновенная копия может
претендовать на некоторые блоки из освобождённых.Неизменяемый флаг устанавливается на файл
при помощи &man.mksnap.ffs.8; после первоначального создания файла
мгновенной копии. Команда &man.unlink.1; делает исключение для
файлов мгновенных копий, позволяя их удалять.Мгновенные копии создаются при помощи утилиты &man.mount.8;. Чтобы
создать мгновенную копию /var в файле
/var/snapshot/snap, воспользуйтесь такой
командой:&prompt.root; mount -u -o snapshot /var/snapshot/snap /varВ качестве альтернативного средства создания мгновенных копий
вы можете использовать утилиту &man.mksnap.ffs.8;:&prompt.root; mksnap_ffs /var /var/snapshot/snapФайлы мгновенных копий файловых систем (к примеру,
/var) можно найти при помощи команды
&man.find.1;:&prompt.root; find /var -flags snapshotПосле создания мгновенной копии есть несколько способов её
использования:Некоторые администраторы будут использовать файл мгновенной
копии для целей создания резервной копии, так как мгновенная копия
может быть перенесена на CD или магнитную ленту.Утилита проверка целостности файловой системы, &man.fsck.8;,
может быть запущена над мгновенной копией. Полагая, что
файловая система была в порядке, когда она была смонтирована, вы
всегда должны получать нормальный (и неизменный) результат.
Это именно то, что выполняет фоновый процесс &man.fsck.8;.Запустить утилиту &man.dump.8; с мгновенной копией. Будет
создаваться дамп, соответствующий файловой системе на момент
создания мгновенной копии. Утилита &man.dump.8; при использовании
опции тоже может работать с мгновенными копиями,
создавать их дампы, а затем удалять за один проход.Смонтировать командой &man.mount.8; мгновенную копию как
замороженный образ файловой системы. Чтобы смонтировать командой
&man.mount.8; мгновенную копию
/var/snapshot/snap, запустите:&prompt.root; mdconfig -a -t vnode -f /var/snapshot/snap -u 4
&prompt.root; mount -r /dev/md4 /mntТеперь вы можете пройтись по иерархии вашей зафиксированной файловой
системы /var, смонтированной в каталог
/mnt. Первоначально всё будет в том же самом
состоянии, в каком это было во время создания мгновенной копии.
Единственным исключением будет то, что любые ранее сделанные мгновенные
копии будут видны как файлы нулевой длины. Когда использование
мгновенной копии закончено, она может быть удалена командой:&prompt.root; umount /mnt
&prompt.root; mdconfig -d -u 4Для получения более полной информации о
и мгновенных копиях файловых систем, включая технической описание, вы
можете посетить сайт Маршалла Кёрка МакКузика (Marshall Kirk McKusick) по
адресу .Квотирование файловых системучётдисковое пространстводисковые квотыКвоты - это опциональная возможность операционной системы, которая
позволяет ограничивать объем дискового пространства и/или количество
файлов для конкретного пользователя или членов определенной группы
в рамках одной файловой системы. Чаще всего эта возможность
используется в системах разделения времени, когда желательно ограничить
количество ресурсов, которые может использовать один пользователь или
группа пользователей. Это позволит не допустить ситуации, когда
один пользователь или группа пользователей заполняют всё доступное
дисковое пространство.Настройка вашей системы на использование дисковых квотПеред тем, как попытаться использовать дисковые квоты, необходимо
убедиться, что квоты включены в вашем ядре. Это делается добавлением
следующей строки в конфигурационный файл вашего ядра:
options QUOTA
В стандартном ядре GENERIC это по умолчанию
не включено, так что для использования дисковых квот вам нужно будет
настроить, откомпилировать и установить собственное ядро.
Пожалуйста, обратитесь к за
дополнительной информацией о настройке ядра.Затем вам потребуется включить квотирование дисков в файле
/etc/rc.conf. Это делается добавление такой
строчки:enable_quotas="YES"дисковые квотыпроверкаДля более полного контроля над запуском квотирования имеется
дополнительная переменная для настройки. Как правило, при загрузке
целостность квот каждой файловой системы проверяется программой
&man.quotacheck.8;. При работе программы &man.quotacheck.8;
проверяется точное соответствие данных
в базе данных квот данным в файловой системе. Это весьма долгий
процесс, что отражается на времени загрузки системы. Если вам
захочется пропустить этот шаг, то для этого предназначена специальная
переменная в файле /etc/rc.conf:check_quotas="NO"Наконец, вам потребуется отредактировать файл
/etc/fstab для включения дисковых квот на
уровне файловых систем. Это то место, где вы можете включить квоты
для пользователей, для групп или для обеих этих категорий для всех
ваших файловых систем.Для включения пользовательских квот для файловой системы,
добавьте параметр в поле параметров
файловой системы, на которой вы хотите включить квотирование, в файле
/etc/fstab. Например:/dev/da1s2g /home ufs rw,userquota 1 2Подобным же образом для включения квотирования на уровне групп,
воспользуйтесь параметром вместо
. Чтобы включить
квотирование как для пользователей, так и для групп, измените
строчку следующим образом:
/dev/da1s2g /home ufs rw,userquota,groupquota 1 2
По умолчанию файлы квот хранятся в корневом каталоге файловой
системы в файлах с именами quota.user и
quota.group соответственно для пользовательских
и групповых квот. Для получения подробной информации обратитесь к
команде &man.fstab.5;. Хотя справочная страница по &man.fstab.5;
утверждает, что вы можете указать другое местоположение файлов с
квотами, этого делать не рекомендуется, потому что различные утилиты
для работы с квотами не могут нормально работать в такой
ситуации.На этом этапе вы должны перезагрузить вашу систему с новым ядром.
Скрипт /etc/rc автоматически запустит
соответствующие команды для создания начальных файлов для всех квот,
которые вы создали в файле /etc/fstab, так что
нет нужды вручную создавать никаких файлов квот нулевой длины.При нормальной работе вам не потребуется вручную запускать
программы &man.quotacheck.8;, &man.quotaon.8; или &man.quotaoff.8;.
Однако вам нужно хотя бы прочесть
страницы справочника по этим командам, просто чтобы ознакомиться
с их функциями.Установка квотдисковые квотыограниченияКак только вы настроили вашу систему на использование квот,
проверьте, что они действительно были задействованы. Простым
способом сделать это является запуск такой команды:&prompt.root; quota -vВы должны увидеть однострочную информацию, отражающую
использование диска и текущие ограничения для каждой файловой
системы, на которой включено квотирование.Теперь вы действительно готовы задавать ограничения при помощи
команды &man.edquota.8;.У вас есть несколько вариантов того, как приводить в действие
ограничения по объему дискового пространства, который могут занимать
пользователь или группа, а также по количеству файлов, которые они
могут создать. Вы можете ограничивать размещение ресурсов на основе
объема дискового пространства (квотирование блоков), количества
файлов (квотирование inode) или их комбинации. Каждое из этих
ограничений, в свою очередь, делится на две категории: мягкие и
жёсткие ограничения.жёсткое ограничениеЖёсткое ограничение не может быть превышено. Как только
пользователь достиг своих ограничений, ресурсы соответствующей
файловой системы ему больше выделяться не будут. Например, если
пользователь имеет жесткое ограничение в 500 Кбайт на файловой
системе и в текущий момент использует 490 Кбайт, то
пользователь может получить дополнительно ещё 10 Кбайт. Попытка
занять ещё 11 Кбайт окончится неудачно.мягкое ограничениеС другой стороны, мягкие ограничения могут быть превышены в
течении некоторого периода времени. Этот период времени также
называют периодом отсрочки, который по умолчанию равен одной неделе.
Если пользователь превышает своё мягкое ограничение в течение периода
времени, превышающего отсрочку, то это мягкое ограничение становится
жестким и последующее выделение ресурсов будет запрещено. Когда
пользователь вернётся обратно к отметке, меньшей, чем мягкое
ограничение, то период отсрочки будет сброшен.Далее приводится пример того, что вы можете наблюдать при
запуске команды &man.edquota.8;. Когда вызывается команда
&man.edquota.8;, вы оказываетесь в редакторе, заданном
переменной переменной окружения EDITOR, или в
редакторе vi, если переменная
EDITOR не задана, и можете редактировать квоты.&prompt.root; edquota -u testQuotas for user test:
/usr: kbytes in use: 65, limits (soft = 50, hard = 75)
inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: kbytes in use: 0, limits (soft = 50, hard = 75)
inodes in use: 0, limits (soft = 50, hard = 60)Для каждой файловой системы, на которой включено квотирование,
вы должны увидеть две строки. В одной строке приведены ограничения
на блоки, а в другой на количество inode. Например, чтобы увеличить
ограничения на количество блоков для пользователя с мягкого
ограничения в 50 и жёсткого ограничения в 75, на мягкое ограничение
в 500 и жёсткое ограничение в 600, измените:/usr: kbytes in use: 65, limits (soft = 50, hard = 75)на:/usr: kbytes in use: 65, limits (soft = 500, hard = 600)Новые ограничения вступят в силу после выхода из
редактора.Иногда желательно установить ограничения квот на некоторый
диапазон UID (идентификаторов пользователей). Это можно сделать при
помощи параметра в команде
&man.edquota.8;. Во-первых, установите желаемое
ограничение для пользователя, а затем запустите команду
edquota -p protouser startuid-enduid. Например,
если пользователь test имеет желаемые
ограничения, то для дублирования этих ограничений на пользователей с
UID от 10000 до 19999 может быть использована такая
команда:&prompt.root; edquota -p test 10000-19999Дополнительную информацию можно получить из справочной страницы по
команде &man.edquota.8;.Проверка ограничений и использования дискадисковые квотыпроверкаДля проверки квот и использования дисков вы можете использовать
команды &man.quota.1; или &man.repquota.8;.
Команда &man.quota.1; может быть использована для проверки
квот отдельных пользователей, групп, а также использования дисков.
Пользователь может только проверить собственную квоту и квоту той
группы, к которой он принадлежит. Только администратор системы может
проверить квоты всех пользователей и групп. Команду
&man.repquota.8; можно использовать для получения
суммарной статистики всех квот и использования дисков для файловых
систем с включенными квотами.Далее приведен пример вывода команды quota -v
для пользователя, который имеет ограничения на двух файловых
системах.Disk quotas for user test (uid 1002):
Filesystem usage quota limit grace files quota limit grace
/usr 65* 50 75 5days 7 50 60
/usr/var 0 50 75 0 50 60период отсрочкиВ этом примере для файловой системы /usr
пользователь превысил свое мягкое ограничение в 50 Кбайт на 15
Кбайт и имеет 5 дней до истечения отсрочки. Отметьте знак
звездочки *, который указывает на превышение
пользователем своего ограничения.Как правило, файловые системы, на которых пользователь не
занимает дискового пространства, не показываются в выводе команды
&man.quota.1;, даже если ему выделена квота на
этой файловой системе. При использовании параметра
эти файловые системы выводятся, как, например,
файловая система /usr/var в примере выше.Квоты в NFSNFSКвоты определяются подсистемой квот на сервере NFS. Даемон
&man.rpc.rquotad.8; предоставляет информацию о квотах для программы
&man.quota.1; на клиентах NFS, позволяя пользователям на этих машинах
смотреть свою статистику о квотах.Включите rpc.rquotad в файле
/etc/inetd.conf следующим образом:
rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad
Теперь перезапустите inetd:&prompt.root; kill -HUP `cat /var/run/inetd.pid`LuckyGreenТекст предоставил shamrock@cypherpunks.toШифрование дисковых разделовдискишифрованиеFreeBSD предоставляет прекрасную возможность по защите от
несанкционированного доступа к данным. Права на доступ к файлам и
технология принудительного контроля доступа MAC (Mandatory Access Control)
(смотрите see ) помогают предотвратить
несанкционированный доступ посторонних лиц к данным, при условии работы
операционной системы и компьютера. Однако права доступа, контролируемые
операционной системой, не имеют значения, если нападающий получает
физический доступ к компьютеру и может просто перенести жёсткий диск на
другую машину для копирования и дальнейшего анализа важных данных.Вне зависимости от того, как атакующий завладел жёстким диском или
выключенным компьютером, технологии gbde (GEOM
Based Disk Encryption - шифрование диска на уровне GEOM) и
криптографическая подсистема geli &os; могут защитить
данные файловой системы компьютера даже против очень заинтересованной
атакующей стороны с достаточными ресурсами. В отличие от громоздких
систем шифрования, которые шифруют отдельные файлы,
gbde и geli шифруют в прозрачном режиме файловую
систему в целом, при этом данные в открытом виде на диск никогда не
записываются.Шифрование диска при помощи gbdeПолучите права пользователя rootНастройка gbde требует права доступа
администратора системы.&prompt.user; su -
Password:Проверьте номер версии операционной системыДля работы &man.gbde.4; требуется FreeBSD 5.0 и выше.&prompt.root; uname -r
5.0-RELEASEВключите поддержку &man.gbde.4; в конфигурационный
файл ядраДобавьте
следующую строку в файл конфигурации вашего ядра:options GEOM_BDEПерестройте ядро
FreeBSD. Этот процесс описан в .Перезагрузитесь, запустив новое ядро.Подготовка зашифрованного жёсткого дискаВ следующем примере предполагается, что в вашу систему вы
добавляете новый винчестер, на котором будет располагаться единственный
раздел с зашифрованными данными. Этот раздел будет монтироваться в
каталог /private. gbde
может также использоваться для шифрования /home и
/var/mail, но это требует более сложной
последовательности действий, что выходит за рамки этого вводного
материала.Подключите новый жёсткий дискУстановите новый диск в систему, как это описано в . В рамках этого примера раздел,
соответствующий новому жёсткому диску, будет называться
/dev/ad4s1c. Устройства
/dev/ad0s1*
представляют существующие стандартные разделы FreeBSD нашей
тестовой системы.&prompt.root; ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
/dev/ad0s1a /dev/ad0s1d /dev/ad4Создайте каталог для размещения файлов блокировок GBDE&prompt.root; mkdir /etc/gbdeФайл блокировки gbde содержит
информацию, которая нужна gbde для
доступа к зашифрованному разделу. Не имея доступа к файлу
блокировки, gbde не сможет расшифровать
данные, хранимые в зашифрованном разделе, без значительного ручного
вмешательства, что программно не поддерживается. Каждый
зашифрованный раздел использует отдельный файл блокировки.Инициализируйте раздел gbdeПеред началом работы с разделом gbde
его необходимо проинициализировать. Эта инициализация производится
только один раз:&prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c&man.gbde.8; запустит редактор, что позволит вам задать
в шаблоне различные конфигурационные параметры. При работе с
файловыми системами UFS1 и UFS2 задайте значение sector_size равным
2048:$FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $
#
# Sector size is the smallest unit of data which can be read or written.
# Making it too small decreases performance and decreases available space.
# Making it too large may prevent filesystems from working. 512 is the
# minimum and always safe. For UFS, use the fragment size
#
sector_size = 2048
[...]&man.gbde.8; дважды запросит ввод пароля, который будет
использоваться для защиты данных. Пароль в обоих случаях должен
вводиться одинаковый. Возможности gbde
по защите ваших данных полностью зависят от качества выбранной
вами ключевой фразы.
Советы по выбору легко запоминающихся ключевых фраз можно
найти на сайте Diceware
Passphrase.По команде gbde init создаётся файл
блокировок для вашего раздела gbde,
который в нашем случае будет иметь имя
/etc/gbde/ad4s1c.Резервные копии файлов блокировок
gbdeдолжны
храниться вместе с содержимым шифруемых разделов. Хотя удаление
только блокировочного файла не сможет противостоять дешифрации
атакующим раздела gbde, без этого
файла даже легитимный пользователь не сможет получить доступ к
данным без определённых и значительных усилий, что не
поддерживается &man.gbde.8; и его разработчиком.Подключите зашифрованный раздел к системе&prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1cБудет выдан запрос на ввод ключевой фразы, которую вы выбирали
во время инициализации зашифрованного раздела. Новое защищённое
устройство будет видно в каталоге /dev под
названием /dev/device_name.bde:&prompt.root; ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
/dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bdeСоздайте файловую систему на зашифрованном устройствеКак только защищённое устройство будет подключено к системе,
вы сможете создать на нём файловую систему. Для этого используется
утилита &man.newfs.8;. Так как инициализация новой файловой
системы UFS2 происходит быстрее, чем инициализация файловой системы
старого формата UFS1, то рекомендуется использовать &man.newfs.8; с
параметром .Во &os; 5.1-RELEASE и последующих релизах параметр
используется по умолчанию.&prompt.root; newfs -U -O2 /dev/ad4s1c.bdeЗапуск команды &man.newfs.8; должен выполняться над
подключенном разделе gbde, который
идентифицируется по расширению
*.bde в имени
устройства.Смонтируйте зашифрованный разделСоздайте точку монтирования для зашифрованной файловой
системы.&prompt.root; mkdir /privateСмонтируйте защищённую файловую систему.&prompt.root; mount /dev/ad4s1c.bde /privateПроверьте доступность зашифрованной файловой системыЗащищённая файловая система теперь должна быть доступна утилите
&man.df.1; и доступной для использования.&prompt.user; df -H
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 1037M 72M 883M 8%
/devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1f 8.1G 55K 7.5G 0% /home
/dev/ad0s1e 1037M 1.1M 953M 0% /tmp
/dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr
/dev/ad4s1c.bde 150G 4.1K 138G 0% /privateМонтирование имеющихся зашифрованных файловых системПосле каждой загрузки для каждой защищённой файловой системы перед
их использованием должны выполняться повторное подключение к системе,
проверка на наличие ошибок и монтирование. Требуемые для этого команды
должны выполняться пользователем root.Подключение gbde-раздела к системе&prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1cБудет выдан запрос на ввод ключевой фразы, выбранной на этапе
инициализации зашифрованного раздела gbde.Проверка файловой системы на наличие ошибокТак как защищаемая файловая система не может пока быть указана
в файле /etc/fstab для автоматического
монтирования, то она должны проверяться на наличие ошибок
посредством ручного запуска &man.fsck.8; до её монтирования.&prompt.root; fsck -p -t ffs /dev/ad4s1c.bdeМонтирование зашифрованной файловой системы&prompt.root; mount /dev/ad4s1c.bde /privateТеперь защищённая файловая система доступна для работы.Автоматическое монтирование зашифрованных разделовДля автоматического подключения, проверки и монтирования
зашифрованного раздела можно создать скрипт, но по соображениям
безопасности в этом скрипте пароля для &man.gbde.8; быть не должно.
Поэтому рекомендуется запускать такие скрипты вручную, а пароль
задавать с консоли или сеанса &man.ssh.1;.Начиная с версии &os; 5.2-RELEASE, базовая система содержит
скрипт rc.d для автоматического монтирования шифрованных разделов.
Его аргументы могут быть указаны в файле &man.rc.conf.5;:gbde_autoattach_all="YES"
gbde_devices="ad4s1c"При этом ключевая фраза для gbde
должна быть введена на этапе загрузки. После введения ключевой
фразы зашифрованный раздел будет смонтирован автоматически.
Такой подход может быть очень удобным для использования
gbde на ноутбуках.Криптографическая защита, применяемая в gbde&man.gbde.8; шифрует содержимое секторов при помощи 128-битного
AES в режиме CBC. Каждый сектор диска шифруется различным ключом
AES. Более полная информацию о системе шифрования
gbde, включая алгоритм генерации ключей
для секторов из ключевой фразы, вводимой пользователем, можно найти
на страницах справочной системы о &man.gbde.4;.Вопросы совместимости&man.sysinstall.8; несовместим с устройствами, зашифрованными
gbde. Все устройства
*.bde перед
запуском &man.sysinstall.8; должны быть отключены от системы, или
эта утилита аварийно завершит работу на этапе обнаружения устройств.
Для отключения защищённого устройства, используемого в нашем примере,
воспользуйтесь такой командой:&prompt.root; gbde detach /dev/ad4s1cТакже заметьте, что, так как &man.vinum.4; работает не через
подсистему &man.geom.4;, то вы не можете использовать тома
vinum с
gbde.DanielGerzoПредоставлено Шифрование дисков при помощи geliНачиная с версии 6.0 &os; поддерживается новый класс GEOM —
geli. В настоящий момент он поддерживается
&a.pjd;. Класс Geli отличается от
gbde; он предоставляет другой комплекс
возможностей и использует иную схему криптования.Наиболее значимыми особенностями &man.geli.8; являются:Использование инфраструктуры &man.crypto.9;: при наличии
аппаратной криптографической поддержки, geli
автоматически использует ее.Поддержка разнообразных криптоалгоритмов (в настоящее время
AES, Blowfish и 3DES).Поддержка шифрованного корневого раздела. Для загрузки
в такой ситуации потребуется ввести ключевую фразу.Поддержка двух независимых ключей шифрования (например,
основного ключа и ключа
компании).Высокая скорость работы geli за счет
простого криптования сектор-сектор.Поддержка архивирования основных ключей. При необходимости
текущие ключи могут быть уничтожены, а в дальнейшем доступ к
данным восстановлен при помощи архивированных ключей.Поддержка криптования файловых систем случайным одноразовым
ключом — например, для разделов подкачки или временных
файловых систем.Другие возможности класса geli описаны в его
странице справочника: &man.geli.8;.Несколько следующих страниц будут посвящены описанию процесса
конфигурации geli в ядре &os; и создания
нового криптографического провайдера geli.
В завершение, мы продемонстрируем, как создать шифрованный раздел
подкачки при помощи geli.Для того чтобы использовать geli, вам
потребуется &os; версии 6.0-RELEASE или более поздней. Поскольку
необходимо внести изменения в конфигурацию ядра, потребуются также
привилегии суперпользователя.Изменение конфигурацию ядра: включение
geliДобавьте в конфигурационный файл ядра следующие строки:options GEOM_ELI
device cryptoПерестройте ядро, как описано в разделе .Помимо этого, поддержка geli может быть
активирована модулем ядра на этапе загрузки. Для этого добавьте
в файл /boot/loader.conf строку:geom_eli_load="YES"Теперь ядро должно поддерживать &man.geli.8;.Генерация главного ключаПредлагаемый пример описывает процесс генерации ключевого
файла, который послужит частью главного ключа для шифрованного
провайдера, монтируемого в каталог /private. При помощи содержимого
ключевого файла создается набор случайных данных, которым
зашифровывается главный ключ. Кроме того, он будет защищен
кодовой фразой. Размер сектора провайдера будет составлять
4kB. Наконец, мы обсудим, как присоединиться к провайдеру
geli, создать на базе его файловую систему,
как ее смонтировать и работать с ней, и, в заключение, как
корректно завершить работу.Больший чем обычно размер сектора (как в нашем примере, 4 кБ)
рекомендуется для увеличения производительности.Главный ключ будет защищен кодовой фразой; данные для
ключевого файла берутся из /dev/random.
Размер сектора создаваемого нами шифрованного провайдера
/dev/da2.eli — 4кБ.&prompt.root; dd if=/dev/random of=/root/da2.key bs=64 count=1
&prompt.root; geli init -s 4096 -K /root/da2.key /dev/da2
Enter new passphrase:
Reenter new passphrase:Использование одновременно кодовой фразы и ключевого файла
не обязательно: любой из этих методов защиты главного ключа может
применяться независимо.Если в качестве имени ключевого файла указан -,
используется стандартный ввод. Это позволяет использовать более
одного ключевого файла:&prompt.root; cat keyfile1 keyfile2 keyfile3 | geli init -K - /dev/da2Свяжите сгенерированный ключ с провайдером&prompt.root; geli attach -k /root/da2.key /dev/da2
Enter passphrase:Созданный при этом файл дискового устройства будет называться
/dev/da2.eli.&prompt.root; ls /dev/da2*
/dev/da2 /dev/da2.eliСоздайте новую файловую систему&prompt.root; dd if=/dev/random of=/dev/da2.eli bs=1m
&prompt.root; newfs /dev/da2.eli
&prompt.root; mount /dev/da2.eli /privateЗашифрованная файловая система будет видна в выводе утилиты
&man.df.1; и готова к использованию:&prompt.root; df -H
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 248M 89M 139M 38% /
/devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1f 7.7G 2.3G 4.9G 32% /usr
/dev/ad0s1d 989M 1.5M 909M 0% /tmp
/dev/ad0s1e 3.9G 1.3G 2.3G 35% /var
/dev/da2.eli 150G 4.1K 138G 0% /privateРазмонтирование и деактивация провайдераПосле завершения работы с шифрованным разделом, когда
содержимое каталога /private
больше не нужно, будет разумным отключить раздел от
системы.&prompt.root; umount /private
&prompt.root; geli detach da2.eliДополнительную информацию о &man.geli.8; можно найти на
соответствующей странице справочника.Шифрование раздела подкачкиДанный пример описывает создание шифрованного при помощи
geli раздела подкачки.&prompt.root; dd if=/dev/random of=/dev/ad0s1b bs=1m
&prompt.root; geli onetime -d -a 3des ad0s1b
&prompt.root; swapon /dev/ad0s1b.eliИспользование стартового скрипта rc.dgeliДля удобства использования подсистемы geli
в комплект базовой системы &os; входит стартовый скрипт, работой
которого можно управлять из &man.rc.conf.5;:geli_devices="da2"
geli_da2_flags="-p -k /root/da2.key"При этом дисковый раздел /dev/da2 будет
сконфигурирован как провайдер geli, связан с
ключевым файлом /root/da2.key, а кодовая
фраза не будет использоваться (отметим, что это возможно только
в том случае, если при инициализации geli был
указан ключ -P). Шифрованный провайдер geli
будет отсоединен перед выключением системы.Дополнительную информацию о конфигурации скриптов rc.d можно
найти в соответствующей
главе Руководства.
diff --git a/ru_RU.KOI8-R/books/handbook/firewalls/chapter.sgml b/ru_RU.KOI8-R/books/handbook/firewalls/chapter.sgml
index 7c5637538e..6eb0366077 100644
--- a/ru_RU.KOI8-R/books/handbook/firewalls/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/firewalls/chapter.sgml
@@ -1,1092 +1,1118 @@
Joseph J.
- Barbish
+ BarbishПредоставил BradDavisПреобразовал в SGML и обновил Межсетевые экранымежсетевой экранбезопасностьмежсетевой экран
-
ВведениеМежсетевые экраны (firewall, брандмауэр)
делают возможной фильтрацию входящего и исходящего
трафика, идущего через систему. Межсетевой экран использует один
или более наборов правил для проверки сетевых
пакетов при их входе или выходе через сетевое соединение, он
или позволяет прохождение трафика или блокирует его. Правила
межсетевого экрана могут проверять одну или более характеристик пакетов,
включая но не ограничиваясь типом протокола, адресом хоста источника
или назначения и портом источника или назначения.Межсетевые экраны могут серьезно повысить уровень безопасности хоста
или сети. Они могут быть использованы для
выполнения одной или более нижеперечисленных задач:Для защиты и изоляции приложений, сервисов и машин во
внутренней сети от нежелательного трафика, приходящего
из внешней сети интернет.Для ограничения или запрещения доступа хостов внутренней
сети к сервисам внешней сети интернет.Для поддержки преобразования сетевых адресов (network
address translation, NAT), что позволяет
использование во внутренней сети приватных
IP адресов (либо через один выделенный
IP адрес, либо через адрес из пула
автоматически присваиваемых публичных адресов).После прочтения этой главы вы узнаете:Как правильно задать правила фильтрации
пакетов.Разницу между межсетевыми экранами,
встроенными в &os;Как использовать и настраивать межсетевой экран
OpenBSD PF.Как использовать и настраивать
IPFILTER.Как использовать и настраивать
IPFW.Перед прочтением этой главы вам потребуется:Ознакомиться с основами &os; и интернет.Принципы работы межсетевых экрановмежсетевой экраннаборы правилСуществует два основных способа создания наборов правил
межсетевого экрана: включающий и исключающий.
Исключающий межсетевой экран позволяет прохождение всего трафика,
за исключением трафика, соответствующего набору правил.
Включающий межсетевой экран действует прямо противоположным образом.
Он пропускает только трафик, соответствующий правилам и
блокирует все остальное.Включающие межсетевые экраны обычно более безопасны, чем
исключающие, поскольку они существенно уменьшают риск
пропуска межсетевым экраном нежелательного трафика.Безопасность может быть дополнительно повышена с
использованием межсетевого экрана с сохранением
состояния. Такой межсетевой экран сохраняет информацию
об открытых соединениях и разрешает только трафик через
открытые соединения или открытие новых соединений.
Недостаток межсетевого экрана с сохранением состояния в том, что
он может быть уязвим для атак DoS
(Denial of Service, отказ в обслуживании), если множество
новых соединений открывается очень быстро. Большинство
межсетевых экранов позволяют комбинировать поведение с сохранением
состояния и без сохранения состояния, что оптимально
для реальных применений.
- Программные пакеты межсетевых экранов
-
- В &os; встроено три программных межсетевых экрана. Это
- IPFILTER (известный также как IPF), IPFIREWALL
- (известный также как IPFW) и PF (OpenBSD PacketFilter).
- В IPFIREWALL встроена
- поддержка ограничителя трафика DUMMYNET для контроля
- использования пропускной способности. В IPFILTER
- поддержка ограничителя трафика не встроена, но в тех
- же целях может использоваться ALTQ.
-
+ Пакеты межсетевых экранов
+
+ В &os; встроено три программных межсетевых экрана.
+ Это IPFILTER (известный также как
+ IPF), IPFIREWALL (известный также
+ как IPFW) и OpenBSD PacketFilter
+ (также известный какPF).
+ Помимо этого, &os; содержит два пакета ограничения трафика (шейпера):
+ &man.altq.4; и &man.dummynet.4;. Dummynet традиционно сильно связан с
+ IPFW, а ALTQ с
+ IPF и PF.
IPF, IPFW и PF для контроля исходящих и входящих пакетов
используют наборы правил, хотя и разными способами с разным
синтаксисом правил.
-
- Пример набора правил IPFW (находящийся в
- /etc/rc.firewall), поставляемый в составе
- базовой системы, является устаревшим, сложным, и не использует
- правила с сохранением состояния на интерфейсах, выходящих
- во внешнюю сеть интернет. В нем используются правила
- без сохранения состояния, способные только открывать или
- закрывать порты сервисов. Приводимый здесь пример набора
- правил IPFW с сохранением состояния расширяет набор из файла
- /etc/rc.firewall.
-
- Правила с сохранением состояния лучше подходят для анализа
- пакетов с целью защиты от переполнения в результате различных
- атак, применяемых в в настоящее время.
-
-
Автор предпочитает IPFILTER, поскольку его
правила с сохранением состояния гораздо проще использовать
совместно с NAT; кроме того, в него встроен
ftp прокси, упрощающий настройку безопасного внешнего использования
- FTP. Он также гораздо проще в освоении для пользователя, не имеющего
- опыта настройки межсетевых экранов.
+ FTP.Поскольку все межсетевые экраны основаны на анализе значений выбранных
полей заголовка пакета, для создания правил межсетевого экрана необходимо
понимание принципов TCP/IP, того, что означают
различные поля заголовка пакета, и как эти поля используются в
обычной сессии. Хорошим примером является:
.Packet Filter Firewall (PF, межсетевой экран OpenBSD)межсетевой экранPFВ июле 2003 программный межсетевой экран OpenBSD, известный как
PF, был портирован в &os; и стал доступен
из коллекции портов &os;; первым релизом, где
PF был интегрирован в основную систему,
стала &os; 5.3 в ноябре 2004.
PF это полноценный межсетевой экран с широким набором
возможностей, в котором есть опциональная поддержка
ALTQ (Alternate Queuing).
ALTQ предоставляет управление пропускной способностью
Quality of Service (QoS), позволяющее гарантировать
пропускную способность для различных сервисов на основе фильтрующих
правил. Проект OpenBSD поддерживает Руководство
Пользователя PF, которое не было внесено в этот раздел руководства
во избежание дублирования работы.Информация по доступности PF для различных версий &os;
приведена ниже:Версия &os;Доступность PFВерсии до 4.XPF недоступен для релизов &os; более старых, чем
релизы из ветви 4.X.Все версии ветви 4.XPF доступен как часть KAME.Релизы 5.X до 5.3-RELEASEДля установки PF на эти версии &os; может использоваться
порт security/pf.
Эти релизы предназначались для разработчиков и тех, кто
желал ознакомиться с ранними версиями 5.X. Настоятельно
рекомендуется обновление до 5.3-RELEASE или более свежих
версий &os;.5.3-RELEASE и более свежие версииPF стал частью основной системы. Не
используйте порт security/pf
на этих версиях &os;. Он не будет работать. Вместо этого
воспользуйтесь поддержкой &man.pf.4; в базовой системе.Дополнительную информацию можно получить с веб сайта PF для &os;:
.
- Руководство пользователя OpenBSD PF находится здесь:
- .
-
-
- PF в &os; 5.X соответствует OpenBSD версии 3.5. Порт
- из коллекции портов &os; соответствует OpenBSD версии
- 3.4. Имейте это ввиду при просмотре руководства
- пользователя.
-
-
Включение PFPF включен в базовую поставку &os; версии 5.3 и выше в качестве
отдельного загружаемого модуля. PF динамически подгружает модуль ядра
если включена переменная rc.conf pf_enable="YES".
Загружаемый модуль создан с включенным &man.pflog.4;.
+
+
+ Модуль предполагает, что файл конфигурации вашего ядра содержит
+ строки options INET и
+ device bpf. Если не определен параметр
+ NOINET6 для &os; версий до 6.0-RELEASE и
+ NO_INET6 для более поздних версий (например,
+ в файле &man.make.conf.5;), требуется также параметр
+ options INET6.
+
+
+ После загрузки модуля или пересборки ядра с поддержкой PF,
+ функциональность pf может управляться
+ при помощи команды pfctl.
+
+ pf включается при помощи команды
+
+ &prompt.root; pfctl -e
+
+ Команда pfctl позволяет управлять правилами
+ pf. Дополнительную информацию следует
+ черпать из страницы справочника &man.pfctl.8;.Параметры ядрапараметры ядраdevice pfпараметры ядраdevice pflogпараметры ядраdevice pfsyncВключение PF путем компиляции с ядром &os; не является обязательным
требованием, и описано здесь в качестве дополнительной информации.
При компиляции PF с ядром загружаемый модуль не используется.Пример параметров конфигурации ядра для включения PF находится в
/usr/src/sys/conf/NOTES
(/usr/src/sys/arch/conf/LINT
для &os; 4.X) и показан здесь:device pf
device pflog
device pfsyncdevice pf включает поддержку межсетевого экрана
Packet Filter.device pflog включает необязательное сетевое
псевдоустройство &man.pflog.4;, которое может использоваться для
протоколирования трафика через &man.bpf.4;. Даемон &man.pflogd.8;
может использоваться для сохранения протоколируемой информации
на диск.device pfsync включает необязательное
сетевое псевдоустройство &man.pfsync.4;, используемое для
отслеживания изменений состояния. Поскольку оно
не входит в загружаемый модуль, для его использования необходимо
собрать собственное ядро.Эти настройки будут действовать только после сборки и установки
нового ядра.Доступные параметры rc.confДля активации PF во время загрузки в
/etc/rc.conf должны быть включены следующие
переменные:pf_enable="YES" # Включить PF (загрузить модуль если необходимо)
pf_rules="/etc/pf.conf" # определение правил для pf
pf_flags="" # дополнительные флаги для запуска pfctl
pflog_enable="YES" # запустить pflogd(8)
pflog_logfile="/var/log/pflog" # где pflogd должен сохранять протокол
pflog_flags="" # дополнительные флаги для запуска pflogdЕсли за межсетевым экраном находится локальная сеть и необходимо передавать
пакеты для компьютеров этой сети, или использовать NAT, включите также
следующий параметр:gateway_enable="YES" # Включить сетевой шлюзВключение ALTQALTQ может быть включен только путем
компилирования ядра &os; с соответствующими параметрами.
ALTQ поддерживается не всеми существующими
драйверами сетевых карт. Для просмотра списка поддерживаемых
устройств в вашем релизе &os; обратитесь к странице справочника
&man.altq.4;. Следующие параметры включат ALTQ
и добавят дополнительную функциональность.options ALTQ
options ALTQ_CBQ # Class Bases Queuing (CBQ)
options ALTQ_RED # Random Early Detection (RED)
options ALTQ_RIO # RED In/Out
options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC)
options ALTQ_PRIQ # Priority Queuing (PRIQ)
options ALTQ_NOPCC # Required for SMP buildoptions ALTQ включает подсистему
ALTQ.options ALTQ_CBQ включает Class Based
Queuing (CBQ). CBQ
позволяет распределять пропускную способность соединений
по классам или очередям для выставления приоритетов трафика
на основе правил фильтрации.options ALTQ_RED включает Random Early
Detection (RED). RED
используется для предотвращения перегрузки сети.
RED вычисляет длину очереди и сравнивает ее
с минимальной и максимальной границей очереди. Если
очередь превышает максимум, все новые пакеты отбрасываются.
В соответствии со своим названием, RED
отбрасывает пакеты из различные соединений в произвольном
порядке.options ALTQ_RIO включает Random Early
Detection In and Out.options ALTQ_HFSC включает
Hierarchical Fair Service Curve Packet Scheduler. Дополнительная
информация о HFSC находится по адресу: .
options ALTQ_PRIQ включает Priority
Queuing (PRIQ). PRIQ
всегда пропускает трафик из более высокой очереди
первым.options ALTQ_NOPCC включает
поддержку SMP для ALTQ.
Эта опция необходима для SMP
систем.
+
+ Создание правил фильтрации
+
+ Пакет PF читает конфигурацию из файла &man.pf.conf.5;; пакеты
+ отвергаются, пропускаются или модифицируются в соответствии с
+ правилами и определениями из этого файла. В стандартную поставку
+ &os; входит файл /etc/pf.conf, содержащий
+ полезные примеры с комментариями.
+
+ Несмотря на наличие собственного для &os; файла
+ /etc/pf.conf, синтаксис его совпадает с
+ OpenBSD. Отличное руководство по конфигурации
+ pf, написанное группой разработки OpenBSD,
+ расположено по адресу
+ .
+
+
+ Изучая Руководство PF, имейте в виду, что различные версии
+ &os; содержат разные версии pf. pf
+ в &os; 5.X соответствует OpenBSD версии 3.5, в &os; 6.X
+ pf соответствует OpenBSD версии 3.7.
+
+
+ &a.pf; является хорошим местом, чтобы задавать вопросы по
+ конфигурации и использованию пакета pf.
+ Не забудьте проверить архивы списка рассылки перед тем, как
+ задавать вопрос.
+ * IPFILTER (IPF)межсетевой экранIPFILTERПеревод раздела не завершен.
+
+ Этот раздел находится в процессе написания; содержание
+ может не вполне соответствовать действительности.
+ Автором IPFILTER является Darren Reed. IPFILTER не
зависит от операционной системы: это приложение с открытыми
исходными текстами, которое было портировано на операционные
системы &os;, NetBSD, OpenBSD, SunOS, HP/UX, и Solaris.
IPFILTER активно разрабатывается и поддерживается, регулярно
выпускаются обновленные версии.IPFILTER основан на межсетевом экране уровня ядра, механизм
NAT может управляться и контролироваться
через пользовательский интерфейс. Правила межсетевого экрана
могут устанавливаться или удаляться утилитой &man.ipf.8;.
Правила NAT могут устанавливаться или
удаляться утилитой &man.ipnat.1;. Утилита &man.ipfstat.8;
выводит статистику IPFILTER для ядра. Программа
&man.ipmon.8; заносит действия IPFILTER в файлы системных
протоколов.IPF был первоначально написан с использованием правила
последнее совпадение применяется и только
с правилами без сохранения состояния. Со временем IPF
был расширен и включает параметры quick и
keep state (сохранение состояния), которые
кардинальным образом изменяют обработку пакетов.
Официальная документация IPF включает традиционные параметры
правил с традиционной последовательностью обработки пакетов.
Измененные функции включены в виде дополнительных параметров,
они необходимы для создания эффективного межсетевого экрана.Инструкции этого раздела подразумевают использование
параметра quick и параметра сохранения
состояния keep state. Это основа для создания
включающего межсетевого экрана.Детальное описание методов обработки правил:
и
.IPF FAQ
.Включение IPFIPFILTERвключениеIPF включен в базовую систему &os; в качестве отдельного
загружаемого модуля. Система динамически загрузит модуль IPF,
если в rc.conf указана переменная
ipfilter_enable="YES". Модуль создается
с включенным протоколированием и правилом по умолчанию
block all (пропускать все). Для изменения
правила по умолчанию не обязательно собирать ядро с новыми
параметрами. Просто добавьте в конец набора правило,
блокирующее все пакеты.Параметры ядрапараметры ядраIPFILTERпараметры ядраIPFILTER_LOGпараметры ядраIPFILTER_DEFAULT_BLOCKIPFILTERпараметры ядраСборка ядра с &os; включением IPF не обязательна.
Эта процедура представлена здесь в качестве дополнительной
информации. При включении IPF в ядро загружаемый модуль
не используется.Пример параметров настройки ядра для IPF находится в
/usr/src/sys/conf/NOTES
(/usr/src/sys/arch/conf/LINT
для &os; 4.X) и воспроизведен здесь:options IPFILTER
options IPFILTER_LOG
options IPFILTER_DEFAULT_BLOCKoptions IPFILTER включает поддержку
межсетевого экрана IPFILTER.options IPFILTER_LOG включает
протоколирование трафика через IPF путем записи его в
псевдо-устройство протоколирования пакетов
ipl для каждого
правила, содержащего ключевое слово
log.options IPFILTER_DEFAULT_BLOCK
- изменяет поведение по умолчанию так, что блокируется каждый
+ изменяет поведение по умолчанию так, что блокируется каждый
пакет, не соответствующий правилу
pass.Эти настройки будут работать только после сборки и установки
нового ядра.Доступные параметры rc.confДля активации IPF во время загрузки в
/etc/rc.conf потребуется добавить
следующие переменные:ipfilter_enable="YES" # Запуск межсетевого экрана ipf
ipfilter_rules="/etc/ipf.rules" # Загрузка файла с правилами
ipmon_enable="YES" # Включение протоколирования IP monitor
ipmon_flags="-Ds" # D = запуск в виде даемона
# s = протоколирование в syslog
# v = протоколирование tcp window, ack, seq
# n = отображение имен IP и портовЕсли за межсетевым экраном находится локальная сеть, использующая
приватные IP адреса, для включения NAT
потребуется добавить следующие переменные:gateway_enable="YES" # Включение шлюза для локальной сети
ipnat_enable="YES" # Запуск функции ipnat
ipnat_rules="/etc/ipnat.rules" # Определение файла правил для ipnatIPFipfКоманда ipf используется для загрузки файла с правилами.
Обычно создается файл, содержащий подготовленный набор
правил, который полностью замещает набор, используемый
на данный момент:&prompt.root; ipf -Fa -f /etc/ipf.rules означает сброс всех внутренних таблиц правил. указывает файл с правилами, который необходимо загрузить.Таким образом, после внесения изменений в файл правил и
запуска вышеприведенной команды IPF, набор правил межсетевого экрана
обновляется без перезагрузки системы. Для обновления правил
такой подход очень удобен, поскольку команду можно выполнять
столько раз, сколько нужно.На странице справочной системы &man.ipf.8; находится
подробная информация по флагам этой команды.Набор правил для команды &man.ipf.8; должен быть в виде
стандартного текстового файла. Правила, написанные в виде
скрипта с символами подстановки, не принимаются.Есть способ составления правил IPF, использующих
символы подстановки. Обратитесь к .IPFSTATipfstatIPFILTERстатистикаПо умолчанию &man.ipfstat.8; получает и отображает суммарную
статистику, полученную в результате применения действующих правил
к пакетам, проходящим через межсетевой экран с момента его последнего
запуска, или с того момента, когда статистика была последний раз
обнулена командой ipf -Z.Детальная информация приводится на странице справочника
&man.ipfstat.8;.Вывод команды &man.ipfstat.8; по умолчанию выглядит
примерно так:input packets: blocked 99286 passed 1255609 nomatch 14686 counted 0
output packets: blocked 4200 passed 1284345 nomatch 14687 counted 0
input packets logged: blocked 99286 passed 0
output packets logged: blocked 0 passed 0
packets logged: input 0 output 0
log failures: input 3898 output 0
fragment state(in): kept 0 lost 0
fragment state(out): kept 0 lost 0
packet state(in): kept 169364 lost 0
packet state(out): kept 431395 lost 0
ICMP replies: 0 TCP RSTs sent: 0
Result cache hits(in): 1215208 (out): 1098963
IN Pullups succeeded: 2 failed: 0
OUT Pullups succeeded: 0 failed: 0
Fastroute successes: 0 failures: 0
TCP cksum fails(in): 0 (out): 0
Packet log flags set: (0)При задании флага или
соответственно для входящих или
или исходящих пакетов, будет получен и отображен список правил,
используемых на данный момент.ipfstat -in отображает правила, применяемые
к входящим пакетам, вместе с номерами этих правил.ipfstat -on отображает правила, применяемые
к исходящим пакетам, вместе с номерами этих правил.Вывод команды будет выглядеть примерно так:@1 pass out on xl0 from any to any
@2 block out on dc0 from any to any
@3 pass out quick on dc0 proto tcp/udp from any to any keep stateipfstat -ih отображает правила, применяемые
к входящим пакетам, со счетчиком количества совпадений для
каждого правила.ipfstat -oh отображает правила, применяемые
к исходящим пакетам, со счетчиком количества совпадений для
каждого правила.Вывод команды будет выглядеть примерно так:2451423 pass out on xl0 from any to any
354727 block out on dc0 from any to any
430918 pass out quick on dc0 proto tcp/udp from any to any keep stateОдна из наиболее важных функций команды
ipfstat активируется флагом ,
правила отображаются подобно тому, как &man.top.1;
показывает таблицу запущенных процессов &os;. Когда межсетевой экран
подвергается атаке, эта функция позволяет обнаружить соответствующие
пакеты. Дополнительные флаги дают возможность выбирать IP
адрес назначения или источника, порт или протокол, которые
будут отслеживаться в реальном времени. Подробная информация
приведена на странице &man.ipfstat.8;.IPMONipmonIPFILTERloggingДля того, чтобы стало возможно использование команды
ipmon, необходимо включить параметр ядра
IPFILTER_LOG. Эта команда может использоваться в двух различных
режимах. В основном режиме, который используется по умолчанию,
она используется без флага .В режиме даемона создается непрерывный протокол, и возможен
просмотр предыдущих событий. В этом режиме IPFILTER работает
в &os;. Поскольку в &os; встроена функция ротации файлов
протокола, лучше использовать syslogd, чем используемый по
умолчанию вывод в обычный файл. В rc.conf
по умолчанию ipmon_flags имеет значение :ipmon_flags="-Ds" # D = start as daemon
# s = log to syslog
# v = log tcp window, ack, seq
- # n = map IP & port to names
+ # n = map IP & port to names
Описывать преимущества протоколирования излишне. Например,
оно дает возможность просмотра информации о отброшенных
пакетах, откуда они пришли и куда направлялись. Это дает
определенные возможности отслеживания атак.Даже с включенным протоколированием, IPF не ведет протокол
для каждого правила. Администратор межсетевого экран должен решить,
по каким правилам набора нужно вести протокол и добавить ключевое
слово log к этим правилам. Обычно протоколируются только правила,
отбрасывающие пакеты.Довольно часто правило по умолчанию, запрещающее прохождение
пакетов, включается в набор последним, и для него применяется
ключевое слово log. Так вы можете увидеть все пакеты, не
попадающие ни под одно правило набора.Протоколирование IPMONДля сбора данных Syslogd
использует свой собственный
специальный метод. Он использует группировку по категории
(facility) и уровню (level).
IPMON в режиме использует
- local0 в качестве имени
- категории. Все протоколируемые IPMON данные
- отправляются на local0. Для сбора
+ security (local0
+ для &os; 4.X) в качестве имени категории.
+ Все протоколируемые IPMON данные также
+ отправляются на security (local0
+ для &os; 4.X). Для сбора
протоколируемых данных могут быть использованы следующие
уровни:LOG_INFO - packets logged using the "log" keyword as the action rather than pass or block.
LOG_NOTICE - packets logged which are also passed
LOG_WARNING - packets logged which are also blocked
LOG_ERR - packets which have been logged and which can be considered shortДля указания IPFILTER протоколировать все данные в
/var/log/ipfilter.log, создайте этот
файл следующей командой:&prompt.root; touch /var/log/ipfilter.logФункционирование syslog управляется настройками в файле
/etc/syslog.conf. Файл
syslog.conf позволяет достаточно гибко
настроить обработку системных сообщений, выдаваемых программами,
такими как IPF.Добавьте в /etc/syslog.conf
- следующий оператор:
+ следующий оператор (для &os; 5.X и позднее):
+
+ security.* /var/log/ipfilter.log
+
+ Или следующую строку для &os; 4.X:local0.* /var/log/ipfilter.log
- local0.* означает запись всех
+ security.* (local0.* для
+ &os; 4.X) означает запись всех
протоколируемых сообщений в указанный файл.Для применения внесенных в
/etc/syslog.conf изменений вы можете
перезагрузиться или заставить syslog перечитать
/etc/syslog.conf, выполнив команду
/etc/rc.d/syslogd reload (
killall -HUP syslogd
в &os; 4.X).Не забудьте отредактировать
/etc/newsyslog.conf для ротации только
что созданного лог файла.Формат протоколируемых сообщенийСообщения, генерируемые ipmon, состоят
из полей данных, разделенных пробелами. Поля, общие для всех
сообщений:Дата получения пакета.Время получения пакета. Формат времени
HH:MM:SS.F для часов, минут, секунд и долей секунд
(последнее поле может состоять из нескольких цифр).Имя интерфейса, через который прошел пакет,
например dc0.Группа и номер правила, например
@0:17.Эти сообщения могут быть просмотрены командой
ipfstat -in.Действие: p для пропущенных, b для заблокированных, S
для пакетов с неполным заголовком (short packet),
n для пакетов, не соответствующих какому-либо правилу,
L для соответствующих правилу протоколирования.
Порядок следования по флагам: S, p, b, n, L. Знаки
P или B в верхнем регистре означают, что пакет был
протоколирован в соответствии с общими настройками,
а не каким-то конкретным правилом.Адреса. Всего три поля: адрес и порт источника
- (разделенные запятой), ->, адрес и порт
+ (разделенные запятой), ->, адрес и порт
назначения.
- 209.53.17.22,80 -> 198.73.220.17,1722.
+ 209.53.17.22,80 -> 198.73.220.17,1722.
PR, с последующим именем или
номером протокола, например PR tcp.len, с последующей длиной заголовка
и общей длиной пакета, например len 20 40.Для TCP пакетов добавляется дополнительное
поле, начинающееся с дефиса, за которым следуют буквы,
соответствующие установленным флагам. На странице справочника
находится список букв и флагов.Для пакетов ICMP, в конце находятся два поля,
одно всегда ICMP, а во втором тип
ICMP сообщения (message и sub-message),
например ICMP 3/3 для сообщения port
unreachable.Создание набора правил с использованием символьной подстановкиНекоторые опытные пользователи IPF создают файл правил,
поддерживающий использование символьной подстановки. Основное
преимущество использования такого скрипта заключается в
возможности изменения значения, присваиваемого символьному
имени, в результате чего во всех правилах, содержащих эту
символьную подстановку, будет использоваться новое значение.
В начале скрипта вы можете поместить часто используемые
переменные, а затем использовать их сразу в нескольких
правилах. Ниже дан пример такого использования.Синтаксис скрипта совместим с sh, csh, и
tcsh.Символьная подстановка предваряется знаком доллара:
$.Для присвоения значения символьным переменным знак
$ не используется.Присваиваемое символической переменной значение должно
быть заключено в двойные кавычки (").Начните файл правил примерно так:############# Start of IPF rules script ########################
oif="dc0" # name of the outbound interface
odns="192.0.2.11" # ISP's DNS server IP address
myip="192.0.2.7" # my static IP address from ISP
ks="keep state"
fks="flags S keep state"
# You can choose between building /etc/ipf.rules file
# from this script or running this script "as is".
#
# Uncomment only one line and comment out another.
#
# 1) This can be used for building /etc/ipf.rules:
#cat > /etc/ipf.rules << EOF
#
# 2) This can be used to run script "as is":
/sbin/ipf -Fa -f - << EOF
# Allow out access to my ISP's Domain name server.
pass out quick on $oif proto tcp from any to $odns port = 53 $fks
pass out quick on $oif proto udp from any to $odns port = 53 $ks
# Allow out non-secure standard www function
pass out quick on $oif proto tcp from $myip to any port = 80 $fks
# Allow out secure www function https over TLS SSL
pass out quick on $oif proto tcp from $myip to any port = 443 $fks
EOF
################## End of IPF rules script ########################Это все, что требовалось сделать. В данном примере сами
правила не важны; важно то, как используется символьная подстановка.
Если вышеприведенный пример помещен в файл
/etc/ipf.rules.script, вы можете
перезагрузить набор правил, введя следующую команду:&prompt.root; sh /etc/ipf.rules.scriptС использованием в правилах символьной подстановки связана одна
проблема: IPF не понимает символьную подстановку и не может обработать
такой скрипт непосредственно.Скрипт может использоваться одним из следующих двух
способов:
-
+ Уберите комментарий перед строкой, начинающейся с
cat, и закомментируйте строку,
начинающуюся с /sbin/ipf. Поместите
строку ipfilter_enable="YES" в файл
/etc/rc.conf как обычно, и запускайте
скрипт после каждого его обновления для создания или обновления
файла /etc/ipf.rules.Отключите IPFILTER в стартовых скриптах системы, поместив
строку ipfilter_enable="NO" (это значение
по умолчанию) в файл /etc/rc.conf.Поместите скрипт, подобный нижеприведенному в каталог
/usr/local/etc/rc.d/. У него должно
быть однозначно говорящее о его назначении имя, например
ipf.loadrules.sh. Расширение
.sh обязательно.#!/bin/sh
sh /etc/ipf.rules.scriptПрава на этот скрипт должны разрешать чтение, запись и
выполнение владельцу root.&prompt.root; chmod 700 /usr/local/etc/rc.d/ipf.loadrules.shТеперь, при загрузке системы, правила IPF будут
загружены.IPF Rule SetsНабор правил ipf это группа правил, составленных для
пропускания или блокирования пакетов на основе их содержимого.
Двусторонний обмен пакетами между хостами составляет сессию.
Межсетевой экран обрабатывает пакеты в обеих направлениях,
+ packet two times, once on its arrival from the public Internet
+ host and again as it leaves for its return trip back to the
+ public Internet host. Each TCP/IP service (i.e. telnet, www,
+ mail, etc.) is predefined by its protocol, source and
+ destination IP address, or the source and destination port
+ number.-->
Каждый IP пакет имеет такие характеристики как порт и адрес
источника и назначения. Эти основные характеристики используются
для пропускания или блокирования пакетов.IPFILTERпорядок обработки правилIPF был первоначально написан с использованием логики
последнее совпадающее правило побеждает и
только с правилами без сохранения состояния. Со временем
в IPF был включен параметр quick и параметр
сохранения состояния keep state, что
существенно улучшило логику обработки правил.Инструкции, помещенные в эту главу, созданы с использованием
параметров quick и keep state.
Это основа для создания набора правил включающего межсетевого
экрана.При работе с правилами межсетевого экрана, будьте
очень осторожны. Некоторые
конфигурации могут заблокировать вам
доступ к серверу. В целях предосторожности,
первоначальную настройку межсетевого экрана вы можете
выполнить с локальной консоли, а не через удаленное
подключение, такое как
ssh.* IPFWЭтот раздел не переведен.
diff --git a/ru_RU.KOI8-R/books/handbook/install/chapter.sgml b/ru_RU.KOI8-R/books/handbook/install/chapter.sgml
index 478328d9c2..3d415c9b1c 100644
--- a/ru_RU.KOI8-R/books/handbook/install/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/install/chapter.sgml
@@ -1,5734 +1,5734 @@
- Jim
+ JimMockРеструктурировал, исправил и частично
переписал RandyPrattОбзор sysinstall, скриншоты и общее
руководство ДенисПеплинПеревод на русский язык: Установка FreeBSDКраткий обзорустановкаFreeBSD поставляется простой в использовании текстовой
программой установки sysinstall.
Это основная программа установки FreeBSD, хотя поставщики
могут предлагать свои программы. В этой главе
описывается использование sysinstall
для установки FreeBSD.Прочтя эту главу, вы узнаете:Как создать дискеты для установки FreeBSD.Как FreeBSD видит и делит на разделы жесткие диски.Как запустить sysinstall.Вопросы, которые sysinstall задаст
вам, что имеется ввиду, и как ответить на эти вопросы.Перед прочтением этой главы вам потребуется:Прочитать информацию о поддерживаемом оборудовании, поставляемую
с устанавливаемой версией FreeBSD, и убедиться, что ваше
оборудование поддерживается.Как правило, эти инструкции по установке написаны для
- &i386; (PC совместимых)
- компьютеров. Когда это возможно, приводятся инструкции,
- специфичные для других платформ (например, Alpha).
+ &i386; (PC совместимых)
+ компьютеров. Когда это возможно, приводятся инструкции,
+ специфичные для других платформ (например, Alpha).
Хотя это руководство поддерживается в актуальном состоянии
настолько, насколько это возможно, вы можете обнаружить
небольшие различия между программой установки и тем,
что показано здесь. Предполагается, что вы будете
использовать эту главу в качестве общего руководства, а не
как пошаговую инструкцию по установке.Перед установкойСоберите информацию о компьютереПеред установкой FreeBSD попытайтесь собрать
информацию об устройствах компьютера. Во время установки
FreeBSD покажет информацию об устройствах (жестких дисках,
сетевых картах, CDROM и т.д.) с номером модели и производителем.
FreeBSD также попытается определить правильную конфигурацию для
этих устройств, включая информацию об IRQ и портах ввода-вывода. Из-за
возможных проблем с оборудованием этот процесс не всегда
завершается успешно, и возможно вам придется исправлять
определенную FreeBSD конфигурацию.Если у вас уже есть установленная операционная система,
например &windows; или Linux, неплохо будет использовать ее
возможности для просмотра настроек оборудования.
Если вы не уверены, какие настройки карты
расширения использовать, можете найти их на самой карте.
Часто используемые номера прерываний 3, 5 и 7, порты ввода-
вывода обычно пишутся в шестнадцатеричном виде, например
0x330.Мы рекомендуем распечатать эту информацию перед установкой
FreeBSD. Вам может помочь использование таблицы вроде этой:
Пример сведений об оборудовании
-
-
-
-
+
+
+
+ Название устройстваIRQПорт ввода-выводаПримечанияПервый жесткий дискнетнет40 GB, Seagate, первый IDE masterCDROMнетнетПервый IDE slaveВторой жесткий дискнетнет20 GB, IBM, второй IDE masterПервый IDE контроллер140x1f0Сетевая картанетнет&intel; 10/100Модемнетнет&tm.3com; 56K факс-модем, COM1…
Сделайте резервное копирование данныхЕсли компьютер, на который вы устанавливаете FreeBSD,
содержит важные данные, убедитесь в наличии резервных копий
и проверьте их сохранность перед установкой FreeBSD.
Во время установки FreeBSD запросит подтверждение перед
тем, как записать данные на диск, но, если процесс запущен,
изменения нельзя отменить.Решите куда установить FreeBSDЕсли вы хотите, чтобы FreeBSD использовала весь жесткий диск,
не о чем беспокоиться — можете пропустить этот
раздел.Однако, если нужно совмещать FreeBSD с другими
операционными системами, необходимо иметь представление
как данные размещаются на диске и как это касается вас.Разделы диска для &i386;Диск PC может быть поделен на отдельные части. Эти
части называют разделами. Первоначально
PC поддерживал только четыре раздела на диск. Эти разделы
называются главными разделами. Чтобы
обойти это ограничение и дать возможность создавать более чем
четыре раздела, был создан новый тип раздела, расширенный
раздел. Диск может содержать только один расширенный
раздел. Специальные разделы, называемые логическими
разделами, могут быть созданы внутри расширенного
раздела.Каждый раздел имеет ID раздела —
номер, который используется для определения типа данных на разделе.
FreeBSD использует ID раздела 165.Как правило, каждая операционная система, которую вы используете,
определяет разделы своим способом. Например, DOS и ее
потомки, такие как &windows;, присваивают каждому главному и логическому
разделу букву диска, начиная с
C:.FreeBSD нужно устанавливать в главный раздел. FreeBSD может
хранить все свои данные, включая создаваемые вами файлы, на
этом одном разделе. Тем не менее, если дисков много, вы можете
создать разделы FreeBSD на всех дисках или на некоторых из них.
При установке FreeBSD должен быть доступен по крайней мере один раздел.
Это может быть чистый, подготовленный для установки раздел, или
раздел с данными, которые больше не нужны.Если все разделы на диске уже используются, вы должны
освободить один из них для FreeBSD, используя программы,
поставляемые с имеющейся операционной системой (например,
fdisk для DOS или &windows;).Если есть резервный раздел, используйте его. Однако,
возможно сначала придется ужать один или несколько
существующих разделов. FreeBSD для установки нужен диск не менее 100 MB.
Однако, это оченьминимальная
- установка, при которой не останется места для ваших личных
+ установка, при которой не останется места для ваших личных
файлов. Более реальный объем — 250 MB без графической оболочки,
и более 350 MB с графической оболочкой. Если вы собираетесь
устанавливать большое количество дополнительного ПО,
понадобится еще больше дискового пространства.Вы можете использовать коммерческие программы,
такие как &partitionmagic;, для
изменения размера разделов и освобождения места под
FreeBSD. Каталог tools на CDROM
содержит две свободно распространяемых утилиты,
которые могут быть использованы для этой задачи. Они называются
FIPS
и PResizer. Документация на обе эти
утилиты доступна из того же каталога.
FIPS,
PResizer, и
&partitionmagic; могут изменять размер
разделов FAT16 и FAT32,
используемых системами от &ms-dos; до &windows; ME.
Из перечисленных приложений только
- &partitionmagic; способна изменять размеры
+ &partitionmagic; способна изменять размеры
разделов NTFS.Неправильное использование этих утилит может привести к
уничтожению данных на диске. Удостоверьтесь в
наличии свежих и исправных резервных копий данных перед
их использованием.Использование существующего раздела без измененияПредставьте что в компьютере один 4 GB диск, на
котором уже установлена &windows;, и диск разбит на два
логических диска C: и
D:, каждый по 2 GB.
1 GB данных на C:, и
0.5 GB данных на D:.Это означает, что диск состоит из двух разделов, по одному
на каждую букву. Вы можете скопировать все данные с
D: на C:, это
освободит второй раздел для FreeBSD.Сжатие существующих разделовПредставьте, что в компьютере один 4 GB диск, на
котором уже установлена &windows;. При установке
&windows; вы создали один большой раздел, получив при этом
диск C: размером 4 GB. Вы
используете 1.5 GB, и хотите выделить 2 GB для FreeBSD.Для установки FreeBSD нужно выбрать:Сделать резервную копию &windows;, затем переустановить
&windows;, выделив 2 GB под ее раздел.Использовать одну из утилит, таких как
&partitionmagic;, описанную
выше, для сжатия раздела &windows;.Разделы диска для AlphaAlphaВам потребуется выделенный диск
для FreeBSD на Alpha. В настоящее время невозможно
установить две операционные системы на диск. В зависимости
от конкретного компьютера Alpha, диск может быть SCSI
или IDE, главное, чтобы ваш компьютер мог с него
загружаться.В соответствии с соглашениями, принятыми в
руководствах Digital / Compaq, весь SRM ввод показан в
верхнем регистре. SRM нечувствителен к регистру.Для поиска имен и типов дисков на компьютере
используйте команду SHOW DEVICE SRM
консоли:>>>SHOW DEVICE
dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476
dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658
dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015
dva0.0.0.0.1 DVA0
ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01
pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27
pqa0.0.0.4.0 PQA0 PCI EIDE
pqb0.0.1.4.0 PQB0 PCI EIDEЭтот пример с Digital Personal Workstation
433au показывает три подключенных диска. Первый —
устройство CDROM с именем DKA0, другие два
называются DKC0 и
DKC100 соответственно.Диски с именами DKx
— SCSI диски. Например, DKA100
означает SCSI диск со SCSI целевым ID 1 на первой SCSI шине (A),
в то время как DKC300 означает SCSI диск
с SCSI ID 3 на третьей SCSI шине (C). Имя устройства
PKx означает SCSI адаптер. Как показано
в выводе SHOW DEVICE, SCSI устройство CDROM
определяется как любой другой жесткий диск SCSI.Имена IDE дисков выглядят как DQx,
в то время как PQx — IDE
контроллер.Соберите информацию о конфигурации сетиЕсли вы хотите подключиться к сети в процессе установки
FreeBSD (например, при установке с FTP или NFS сервера),
нужно знать конфигурацию сети. Вам будет предложено
ввести эту информацию,
чтобы FreeBSD смогла подключиться к сети для продолжения
установки.Подключение к сети Ethernet, или через кабельный/DSL модемЕсли вы подключаетесь к сети Ethernet, или соединение
с интернет подключено к Ethernet через кабельный или DSL модем, понадобится
следующая информация:IP адресIP адрес шлюза по умолчаниюИмя хостаIP адрес DNS сервераМаска подсетиЕсли у вас нет этой информации, спросите
системного администратора или провайдера интернет. Они могут сказать,
что данные присваиваются автоматически, с использованием
DHCP. Если это так, запомните это.Подсоединение с помощью модемаЕсли вы дозваниваетесь до провайдера с помощью обычного модема,
вы все же сможете установить FreeBSD через интернет, но это займет
очень много времени.Вам нужно знать:Номер телефона провайдераCOM порт, к которому подключен модем
- Имя пользователя и пароль учетной записи для доступа в
+ Имя пользователя и пароль учетной записи для доступа в
интернетПроверьте сведения об обнаруженных ошибках FreeBSDХотя проект FreeBSD борется за то, чтобы каждый релиз
FreeBSD был настолько стабильным, насколько это возможно, ошибки порой
вкрадываются в процесс разработки. В очень редких случаях эти ошибки
влияют на процесс установки. Как только эти проблемы обнаруживаются и
исправляются, они попадают в
сообщения
- об ошибках FreeBSD, находящиеся
+ об ошибках FreeBSD, находящиеся
на сайте FreeBSD. Вы можете проверить сообщения об ошибках перед
установкой, чтобы убедиться, что не существует проблем, о которых стоит
беспокоиться.Информация о релизах, включая сообщения об ошибках каждого релиза,
находится странице
информации
о релизахсайта FreeBSD.Получение установочных файлов FreeBSDПрограмма установки FreeBSD может установить FreeBSD из файлов,
расположенных в одном из следующих мест:Локальный дискCDROM или DVDРаздел DOS на вашем компьютереЛента SCSI или QICГибкие дискиСетьFTP сервер (через файрволл или HTTP прокси,
если потребуется)NFS серверСоединение через параллельный или последовательный портЕсли вы купили FreeBSD на CD или DVD, у вас уже есть
все, что нужно, переходите к следующему разделу
().Если у вас нет установочных файлов FreeBSD,
перейдите к , который описывает,
как подготовиться к установке FreeBSD любым указанным выше способом.
После прочтения этого раздела, вернитесь сюда и прочтите
.Подготовка загрузочных дисковПроцесс установки FreeBSD начинается с загрузки в ваш
компьютер программы установки FreeBSD — эта программа
не запускается из других операционных систем. Компьютер
обычно загружает операционную систему, установленную на
жестком диске, но также может быть настроен для
использования загрузочной дискеты.
Большинство современных компьютеров могут также
загрузиться с компакт-диска в приводе CDROM.Если у вас есть FreeBSD на CDROM или DVD (купленный
или записанный самостоятельно), и компьютер позволяет загрузку
с CDROM или DVD (обычно этот пункт в BIOS называется Boot
Order или что-то вроде), можете пропустить этот раздел.
Образы FreeBSD CDROM и DVD являются загрузочными и могут быть
использованы для установки FreeBSD без какой-либо специальной
подготовки.Для создания загрузочных дисков сделайте следующее:Получение образов загрузочных дисковЗагрузочные диски есть на установочном диске
в каталоге floppies/, и
могут быть также закачаны из каталога floppies,
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<arch>/<version>-RELEASE/floppies/.
Замените <arch> и
<version>
архитектурой компьютера и номером версии, которую вы хотите
установить, соответственно. Например, загрузочные дискеты
&os; &rel.current;-RELEASE для &i386; находятся в
.Расширение файла образа диска .flp.
Каталог floppies/ содержит множество
разных образов, ваш выбор будет зависеть от устанавливаемой
версии FreeBSD и, в некоторых случаях, от конфигурации
компьютера. Если вы устанавливаете FreeBSD 4.X,
в большинстве случаев понадобятся всего лишь два
файла, kern.flp и
mfsroot.flp. При установке
FreeBSD 5.X в большинстве случаев потребуются три
дискеты, boot.flp,
kern1.flp, и
kern2.flp. Обратитесь к файлу
README.TXT в том же каталоге за свежей
информацией об этих образах дисков.Дополнительные драйверы устройств могут
потребоваться в некоторых системах 5.X, старше чем
&os; 5.3. Эти драйверы находятся в образе
drivers.flp.FTP клиент должен использовать
бинарный режим
для загрузки образов дисков. Некоторые Web-браузеры
используют текстовый
(ASCII) режим, который точно не позволит
загрузиться с этих дисков.Подготовка дискетНеобходимо подготовить по одной дискете на
каждый загруженный образ. Эти дискеты должны
быть без дефектов. Лучший способ проверить это —
отформатировать дискеты самостоятельно.
Не доверяйте заводскому форматированию дискет. Утилита
форматирования в &windows; не сообщит о наличии плохих
секторов, она просто пометит их как плохие
и проигнорирует. Советуем использовать новые дискеты
если вы выбрали этот способ установки.Если при попытке установки FreeBSD программа
установки рушится, зависает, или делает что-то не так, сразу
проверьте дискеты. Попробуйте записать образы
на новые дискеты и попытайтесь еще раз.Запись образов на дискетыФайлы с расширением .flp это
не обычные файлы, которые можно
записать на диск. Это образы всего содержимого диска.
Это означает, что вы не можете
просто скопировать их с одного диска на другой.
Вместо этого, нужно использовать
специальные утилиты для записи образов на диск.DOSЕсли вы записываете дискеты на компьютере под
&ms-dos;/&windows;, используйте утилиту
fdimage.Если вы используете образы с CDROM, и буква вашего
CDROM E:,
запустите ее так:E:\>tools\fdimage floppies\kern.flp A:
- Повторите эту команду для каждого файла
+ Повторите эту команду для каждого файла
.flp, вставляя новую дискету каждый раз,
пометьте каждый диск именем файла, который вы скопировали на него.
Измените команду если потребуется, в зависимости от места, куда вы
поместили файлы .flp. Если у вас нет
CDROM, fdimage может быть загружена
из каталога tools FTP сервера FreeBSD.Если вы записываете дискеты под &unix; (например,
под другой системой FreeBSD), используйте утилиту &man.dd.1;
для записи образов непосредственно на дискеты. Под FreeBSD
запустите:&prompt.root; dd if=kern.flp of=/dev/fd0Под FreeBSD, /dev/fd0 означает первый
гибкий диск (диск A:).
/dev/fd1 будет диском
B:, и так далее. Другие &unix;
системы могут по-другому именовать устройства гибких дисков,
вам возможно понадобится прочитать документацию по
соответствующей системе.Теперь вы готовы к установке FreeBSD.Начало установкиКак правило, программа установки не будет производить никаких
изменений на дисках, пока не выдаст следующее сообщение:Last Chance: Are you SURE you want continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!Установка может быть прервана в любой момент до этого
предупреждения без каких-либо изменений на жестком диске. Если вы
считаете, что что-то настроили неправильно, можете просто
выключить компьютер без риска что-либо повредить.Загрузка
- Загрузка &i386;
+ Загрузка &i386;Компьютер выключен.Включите компьютер. После включения он должен показать
способ входа в меню установки BIOS, как правило это
клавиши F2, F10,
Del, или
AltS. Используете те клавиши, которые показаны на экране.
В некоторых случаях компьютер может показывать картинку после
запуска. Как правило, нажатие Esc уберет картинку
и позволит вам увидеть необходимую информацию.Найдите установки системы, указывающие ей с какого устройства
загружаться. Обычно они обозначаются как Boot Order,
и там как правило отображен список устройств, таких как
Floppy, CDROM,
First Hard Disk, и так далее.Если вы подготовили дискеты, убедитесь, что выбран
Floppy. Если вы загружаетесь с CDROM, убедитесь, что
выбран он. Если вы не уверены, посмотрите руководство к
компьютеру и/или к его материнской плате.Сделайте изменения, затем сохраните их и выйдите. Компьютер
должен перезагрузиться.Если вы подготовили дискеты, как описано в
, одна из них будет первым
загрузочным диском; как правило, это дискета с
kern.flp. Вставьте эту дискету в
дисковод.Если вы загружаетесь с CDROM, потребуется сначала
включить компьютер и вставить компакт-диск, как только это станет
возможно.Если компьютер запускается как обычно, и загружает
существующую операционную систему, возможны следующие причины:Диск был вставлен недостаточно рано в процессе загрузки.
Оставьте его внутри и перегрузите компьютер.Установки BIOS, измененные ранее, действуют неправильно.
Надо изменять их, пока они не заработают.BIOS вашего компьютера не поддерживает загрузку с
выбранного типа носителя.
-
+
FreeBSD начнет загрузку. Если загрузка происходит с CDROM, вы
увидите что-то вроде этого (информация о версии удалена):Verifying DMI Pool Data ........
Boot from ATAPI CD-ROM :
1. FD 2.88MB System Type-(00)
Uncompressing ... done
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive B: is disk1
BIOS drive C: is disk2
BIOS drive D: is disk3
BIOS 639kB/261120kB available memory
FreeBSD/i386 bootstrap loader, Revision 0.8
/kernel text=0x277391 data=0x3268c+0x332a8 |
|
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _Если происходит загрузка с дискеты, вы увидите что-то вроде
этого (информация о версии удалена):Verifying DMI Pool Data ........
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
-BIOS drive C: is disk1
-BIOS 639kB/261120kB available memory
+BIOS drive C: is disk1
+BIOS 639kB/261120kB available memory
-FreeBSD/i386 bootstrap loader, Revision 0.8
+FreeBSD/i386 bootstrap loader, Revision 0.8
/kernel text=0x277391 data=0x3268c+0x332a8 |
Please insert MFS root floppy and press enter:Следуя инструкциям, уберите дискету с
kern.flp, вставьте дискету с
mfsroot.flp и нажмите
Enter. В &os; 5.3
и выше набор дисков другой, он подробно описан
в предыдущем
разделе. Загрузитесь с первой дискеты;
последовательно вставляйте остальные диски при
появлении соответствующего приглашения.Идет ли загрузка с дискет или с CDROM,
в процессе загрузки появится:Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _Подождите десять секунд или нажмите Enter.
(в &os; 4.X будет запущено меню конфигурации
ядра).
- Загрузка Alpha
+ Загрузка AlphaAlphaКомпьютер выключен.Включите компьютер и дождитесь приглашения к загрузке
на мониторе.
-
+
Если вы подготовили загрузочные дискеты, как описано в
, одна из них будет
первым загрузочным диском; как правило, это дискета с
kern.flp. Вставьте эту дискету в дисковод
и наберите следующую команду для загрузки
(замените на имя вашего дисковода если потребуется):>>>BOOT DVA0 -FLAGS '' -FILE ''Если вы загружаетесь с CDROM, вставьте компакт-диск в
привод и наберите для начала установки следующую команду
(замените на имя соответствующего устройства
CDROM если потребуется):
- >>>BOOT DKA0 -FLAGS '' -FILE ''
+ >>>BOOT DKA0 -FLAGS '' -FILE ''FreeBSD начнет загружаться. Если загрузка идет с дискет, через
некоторое время вы увидите сообщение:Please insert MFS root floppy and press enter:Следуя инструкциям, удалите дискету с
kern.flp, вставьте дискету с
mfsroot.flp и нажмите
Enter.Идет ли загрузка с дискет или с CDROM,
в процессе загрузки появится:Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _Подождите десять секунд или нажмите Enter.
Будет запущено меню конфигурации ядра.Конфигурация ядра (kernel)Начиная с FreeBSD версии 5.0 и более поздних, userconfig
был удален и заменен методом &man.device.hints.5;. За более подробной
информацией о &man.device.hints.5; обращайтесь к kernel это ядро операционной системы.
В нем реализовано множество функций, включая доступ ко
всем устройствам, которые могут быть в системе, таким как
жесткие диски, сетевые карты, звуковые карты и т.д. Каждое устройство,
поддерживаемое ядром FreeBSD имеет свой драйвер. У каждого
драйвера есть имя из двух или трех букв, например sa
для драйвера последовательного доступа SCSI, или
sio
для драйвера последовательного ввода-вывода (который управляет
COM портами).Когда ядро загружено, каждый драйвер проверяет систему на
предмет наличия поддерживаемого оборудования. Если оно найдено,
драйвер конфигурирует оборудование и делает его доступным остальной
части ядра.Такая проверка обычно называется тестированием
устройства. К сожалению, это не всегда
безопасно. Некоторые драйвера конфликтуют между собой,
и проверка части оборудования иногда может привести другую
часть в неработоспособное состояние. Это основное ограничение
архитектуры PC.Многие старые устройства называются ISA — в
противоположность PCI. Стандарт ISA требует, чтобы в каждом
устройстве была прописана некоторая информация, обычно номер
Interrupt Request Line (IRQ) и адрес порта ввода-вывода, которые
используются драйвером. Эта информация обычно устанавливается
с использованием перемычек на карте, или с помощью DOS
утилиты.Часто это вызывало проблемы, поскольку было
невозможно использовать два устройства с одинаковыми IRQ или
адресами портов.Новые устройства поддерживают PCI стандарт, который не
требует установки параметров вручную, так как устройства способны
общаться с BIOS и договариваться, какие IRQ и адреса портов
ввода-вывода использовать.Если в вашем компьютере есть устройства ISA, FreeBSD
драйвер для этого устройства должен быть настроен с IRQ и
адресом порта, установленными на карте. Для этого может
понадобиться собрать сведения об оборудовании ().К сожалению, номера IRQ и адреса портов, используемые
некоторыми драйверами, конфликтуют. Это потому, что некоторые
устройства ISA поставляются с конфликтующими номерами IRQ
или адресами портов. По умолчанию драйвера FreeBSD
предусмотрительно настроены для использования заводских установок,
поэтому будут работать столько устройств, сколько возможно.Это как правило не проблема при каждодневном использовании FreeBSD.
В компьютере обычно нет двух конфликтующих устройств,
поскольку в противном случае одно из них не будет работать
(независимо от используемой операционной системы).Это может стать проблемой при установке FreeBSD в первый раз,
потому что ядро, используемое для установки, собрано с максимальным
количеством драйверов для поддержки множества различных
конфигураций оборудования. Это означает, что некоторые из драйверов
имеют конфликтующие настройки. Устройства тестируются в строго
определенном порядке, и если у вас есть устройство, тестирующееся
позже, но конфликтующее с ранее протестированным устройством,
оборудование может не работать или быть некорректно протестировано
в процессе установки FreeBSD.Поэтому первое, что вы должны сделать при установке
FreeBSD — проверить список устройств, настроенных в
ядре. Отключите некоторые из них, если таких устройств нет.
Подтвердите (и измените) конфигурацию, если
это устройство присутствует, но установки по умолчанию неверны.Возможно, это звучит гораздо сложнее чем есть на самом деле.На показано главное меню
конфигурации ядра. Мы рекомендуем выбрать опцию
Start kernel configuration in full-screen visual
mode, так как это самый простой интерфейс для
нового пользователя.Меню конфигурации ядра&txt.install.userconfig;Экран конфигурации ядра ()
поделен на четыре части:Свернутый список устройств, помеченных как
active, поделен на группы, такие как
- Storage, и Network.
+ Storage, и Network.
Каждый драйвер показан в виде описания, имени из двух
или трех букв, используемых IRQ и порта. В дополнение,
если какой-либо активный драйвер конфликтует с другим
- активным драйвером, после имени драйвера пишется
- CONF. В этом разделе также показано
+ активным драйвером, после имени драйвера пишется
+ CONF. В этом разделе также показано
общее число конфликтующих активных драйверов. Драйверы, помеченные как неактивные. Они остаются в ядре,
но не будут тестировать свои устройства при загрузке ядра.
Они поделены на группы так же как и активные драйверы.Дополнительная информация о выбранном в данный момент
драйвере, включая IRQ и адрес порта.Информация об управляющих клавишах, доступных в данный
момент.Визуальный интерфейс конфигурации ядра
-
- &txt.install.userconfig2;
-
+
+ &txt.install.userconfig2;
+ Не беспокойтесь, если появятся сообщения о конфликтах,
так и должно быть; все драйверы
включены и как уже объяснялось, некоторые из них будут
конфликтовать с другими.Сейчас вам нужно просмотреть список драйверов и
разрешить конфликты.Разрешение конфликтов драйверовНажмите X. Это полностью раскроет список
драйверов и вы сможете увидеть их все. Вам понадобятся
клавиши навигации для прокрутки назад и вперед в списке
активных драйверов. показывает результат
действия X.Развернутый список драйверовОтключите все драйвера устройств, которых у вас нет. Для
отключения драйвера, переместитесь к нему с помощью клавиш
навигации и нажмите Del. Драйвер будет
помещен в список Inactive Drivers.Если вы случайно отключили нужное устройство, нажмите
Tab для переключения на Inactive
Drivers, выберите отключенный драйвер, и
нажмите Enter, чтобы вернуть его обратно в список
активных драйверов.Не отключайте sc0. Он управляет
экраном, и он нужен, если только вы не производите установку
через последовательный порт.Отключайте atkbd0 только если
вы используете USB клавиатуру. Если клавиатура обычная,
оставьте atkbd0.Если конфликтов нет, можете пропустить этот этап.
В другом случае оставшиеся конфликты должны быть проверены. Если
они не помечены как allowed conflict в окне
сообщений, должны быть изменены или IRQ/адрес порта для
тестирования устройства, или IRQ/адрес порта
физического устройства.Для изменения IRQ и адреса порта ввода-вывода драйвера,
выберите устройство и нажмите Enter. Курсор
переместится в третье окно и вы сможете изменить значения.
Вам нужно ввести значения IRQ и адреса порта, определенные
в процессе сбора информации об оборудовании.
Нажмите Q для завершения редактирования
- конфигурации устройства и возврата в список активных
+ конфигурации устройства и возврата в список активных
устройств.Если вы не уверены, какими должны быть эти значения,
попробуйте использовать -1. Некоторые драйвера
FreeBSD могут безопасно протестировать оборудование
для определения правильных значений, и значение
-1 указывает им сделать это.Процедура изменения адреса физического устройства различна
для разных устройств. Для некоторых устройств вам может
понадобиться извлечь карту из компьютера и установить перемычки или
DIP переключатели. Другие устройства могут поставляться с DOS
дискетой, содержащей программы, используемые для перенастройки
карты. В любом случае, обращайтесь к документации, поставляемой
с устройством. Изменение адреса, несомненно, потребует
- перезагрузки компьютера, так что вам потребуется опять
+ перезагрузки компьютера, так что вам потребуется опять
вернуться к процессу установки FreeBSD после
перенастройки карты.Когда все конфликты будут разрешены, экран будет выглядеть как
.Конфигурация драйверов без конфликтовКак видите, список активных драйверов стал гораздо меньше,
поскольку в нем только драйвера реально установленных
устройств.Теперь вы можете сохранить изменения и перейти к следующему
пункту установки. Нажмите Q для выхода из меню
конфигурации. Появится сообщение:Save these parameters before exiting? ([Y]es/[N]o/[C]ancel)Нажмите Y для сохранения параметров
в памяти (они будут сохранены на диск после завершения установки)
и тестирование начнется. После отображения белым по черному
результатов тестирования запустится
sysinstall
и отобразится главное меню
().Главное меню SysinstallПросмотр результатов тестирования устройствПоследние несколько сотен линий, отображенные на экране,
сохраняются и могут быть просмотрены.Для просмотра буфера нажмите Scroll Lock. Это
включит прокрутку экрана. Вы можете использовать клавиши навигации или
PageUp и PageDown для просмотра
результатов. Нажмите Scroll Lock еще раз для
отключения прокрутки.Сделайте это сейчас для просмотра текста, ушедшего за экран,
когда ядро закончило тестирование устройств. Вы увидите текст вроде
, хотя в деталях он будет отличаться
в зависимости от устройств, имеющихся в вашем компьютере.Типичный вывод Device Probeavail memory = 253050880 (247120K bytes)
Preloaded elf kernel "kernel" at 0xc0817000.
Preloaded mfs_root "/mfsroot" at 0xc0817084.
md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4
md1: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
-npx0: <math processor> on motherboard
-npx0: INT 16 interface
+npx0: <math processor> on motherboard
+npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <iSA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci
0
usb0: <VIA 83572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1
uhub0: 2 ports with 2 removable, self powered
pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3
dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir
q 11 at device 8.0 on pci0
dc0: Ethernet address: 00:04:5a:74:6b:b5
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10.
0 on pci0
ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/@ mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
plip0: <PLIP network interface> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33
acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4
Mounting root from ufs:/dev/md0c
/stand/sysinstall running as init on vty0Внимательно проверьте результаты тестирования устройств и
убедитесь, что FreeBSD обнаружила все устройства, какие нужно.
Если устройство не найдено, его не будет в списке. Если драйвер
устройства нуждается в настройке IRQ и адреса порта, проверьте,
введены ли они правильно.Если вам нужно внести изменения в UserConfig,
потребуется выйти из sysinstall
и начать сначала. Это также хороший путь познакомиться поближе с
процессом конфигурации.Выбор Sysinstall ExitИспользуйте клавиши навигации для выбора
Exit Install из главного меню.
Отобразится сообщение: User Confirmation Requested
Are you sure you wish to exit? The system will reboot
(be sure to remove any floppies from the drives).
[ Yes ] NoПрограмма установки запустится опять, если компакт-диск
остался в устройстве и было выбрано &gui.yes;.Если вы загружаетесь с дискет, необходимо будет извлечь
дискету с mfsroot.flp и заменить ее дискетой с
kern.flp перед перезагрузкой.Введение в SysinstallУтилита sysinstall это программа
установки, предоставляемая проектом FreeBSD. Это консольное приложение,
разделенное на несколько меню и экранов, которые вы можете использовать
для настройки и управления процессом установки.Меню sysinstall управляется
клавишами навигации, Enter, пробелом, и
другими. Подробное описание клавиш и их функций содержится в информации
по использованию sysinstall.Для просмотра этой информации убедитесь, что выбраны пункт
Usage и кнопка
[Select], как показано на , затем нажмите Enter.Будут показаны инструкции по использованию меню. После
просмотра инструкций, нажмите Enter для
возврата в главное меню.Выбор Usage в главном меню SysinstallВыбор меню документации (Doc)
- Из главного меню выберите клавишами навигации
+ Из главного меню выберите клавишами навигации
Doc и нажмите Enter.Выбор меню документацииБудет отображено меню документации.Меню документации SysinstallРекомендуется прочитать предоставляемую документацию.Для просмотра документа выберите его с помощью клавиш
навигации и нажмите Enter. После
прочтения документа нажмите Enter для
возврата в меню документации.
- Для возврата в главное меню выберите
- Exit с помощью клавиш навигации и
+ Для возврата в главное меню выберите
+ Exit с помощью клавиш навигации и
нажмите Enter.Выбор меню раскладки клавиатуры (Keymap)Для изменения раскладки клавиатуры выберите из меню с
помощью клавиш навигации Keymap
и нажмите Enter. Это потребуется только при
использовании нестандартной или не-US клавиатуры.Выбор меню раскладки клавиатурыРазличные раскладки клавиатуры могут быть выбраны из
меню с использованием клавиш навигации, затем следует
нажать Space. Нажатие Space
еще раз приведет к отмене выбора. Когда необходимые раскладки
будут выбраны, перейдите на &gui.ok; с помощью клавиш
навигации и нажмите Enter.На экран выведена только часть списка. Нажав
Tab, можно выбрать &gui.cancel;, вернуться к
раскладке по умолчанию и перейти к главному меню.Меню раскладки клавиатурыПараметры установки (Options)Выберите пункт Options
и нажмите Enter.Выбор параметров установки
-
+ Параметры SysinstallПараметры по умолчанию обычно устраивают большинство
- пользователей и не нуждаются в изменении. Имя релиза зависит
+ пользователей и не нуждаются в изменении. Имя релиза зависит
от устанавливаемой версии.Описание выбранного пункта будет появляться внизу экрана
- с синей подсветкой. Обратите внимание, что один из
+ с синей подсветкой. Обратите внимание, что один из
параметров — Use Defaults,
означает сброс всех параметров к значениям по
умолчанию.Нажатие F1 отобразит справку
по различным параметрам.Нажатием Q можно перейти к
- главному меню.
+ главному меню.
Начало стандартной установки (Standart)Пункт Standard
рекомендуется для новых пользователей &unix; или FreeBSD.
Используйте клавиши навигации для выбора пункта
- Standard, а затем нажмите
+ Standard, а затем нажмите
Enter для запуска установки.Начало стандартной установкиВыделение дискового пространстваВаша первая задача — выделить дисковое пространство под
FreeBSD и разметить его, чтобы sysinstall
могла его подготовить. Для этого вам нужно знать, как FreeBSD
ищет информацию на диске.Нумерация дисков в BIOSПеред установкой и настройкой FreeBSD
нужно позаботиться кое о чем, особенно если
жестких дисков несколько.DOSMicrosoft WindowsВ PC, работающем под BIOS-зависимой операционной
системой, такой как &ms-dos; или µsoft.windows;, BIOS
может отходить от обычного порядка нумерации дисков. Это
позволяет пользователю загружаться не только с так
называемого primary master диска. Это особенно
удобно для тех пользователей, кто обнаружил, что простейший и самый
дешевый путь делать резервную копию системы — купить второй
идентичный первому жесткий диск и регулярно делать копии первого
диска на второй, используя
Ghost
или XCOPY. Затем, если первый диск выйдет из
- строя, будет заражен вирусом или поврежден из-за сбоя
- операционной системы, он может быть легко восстановлен
- путем логической перестановки дисков в BIOS. Это все равно
- что переключить кабели дисков, но без вскрытия корпуса.
+ строя, будет заражен вирусом или поврежден из-за сбоя
+ операционной системы, он может быть легко восстановлен
+ путем логической перестановки дисков в BIOS. Это все равно
+ что переключить кабели дисков, но без вскрытия корпуса.
SCSIBIOSБолее дорогостоящие системы со SCSI контроллерами
зачастую имеют расширения BIOS, позволяющие
сходным путем менять порядок до семи SCSI дисков.Пользователи, привыкшие пользоваться этими полезными
функциями, могут быть удивлены, что во FreeBSD результаты не
совпадают с ожидаемыми. FreeBSD не использует BIOS, и не
знает о логическом отображении дисков в BIOS. Это может
привести к очень сложным ситуациям, особенно когда диски
имеют одинаковую геометрию и содержат точную копию данных
друг друга.При использовании FreeBSD всегда восстанавливайте
- настройки BIOS к первоначальной нумерации перед установкой
- системы и оставляйте их в таком виде. Если вам понадобится
- переключить диски, сделайте это, но путем физического
- переконфигурирования, вскрыв корпус, переключив перемычки и
- кабели.
+ настройки BIOS к первоначальной нумерации перед установкой
+ системы и оставляйте их в таком виде. Если вам понадобится
+ переключить диски, сделайте это, но путем физического
+ переконфигурирования, вскрыв корпус, переключив перемычки и
+ кабели.
Рассказ о необыкновенных приключениях файлов Билла и Фреда:
-
+
Билл разобрал старый Wintel компьютер, чтобы
сделать еще один компьютер под FreeBSD для Фреда. Билл
установил один SCSI диск как нулевое устройство
SCSI и поставил на него FreeBSD.Фред начал использовать систему, но через
несколько дней обнаружил, что старый SCSI диск сообщает
о множестве сбоев и сказал об этом Биллу.Еще через несколько дней Билл решил, что настало
время решить проблему, и достал такой же SCSI диск
из заначки в кладовке. Первая проверка
поверхности показала, что диск работает нормально;
Билл установил этот диск как четвертое устройство
SCSI и скопировал образ диска с нулевого устройства
на четвертое. Теперь, когда новый диск был
установлен и отлично работал, Билл решил что
неплохо бы начать использовать его, и с помощью
функции SCSI BIOS поменял порядок дисков, чтобы
система могла грузиться с четвертого устройства
SCSI. FreeBSD загрузилась и работала без
проблем.Фред поработал еще несколько дней, и скоро они с
Биллом решили, что настало время для нового
приключения — время обновить версию FreeBSD. Билл
удалил нулевое устройство SCSI, потому что оно
подглючивало, и установил на его место такой же диск из
заначки. Затем Билл установил новую версию
FreeBSD на новое нулевое устройство SCSI используя
дискеты Фреда с интернет сервера FTP. Установка прошла
отлично.Фред использовал новую версию FreeBSD несколько
дней и удостоверился, что она вполне подходит для работы
в инженерном отделе. Настало время скопировать все
архивы со старого диска. Фред смонтировал четвертое
устройство SCSI (последнюю копию старой версии
FreeBSD) и обнаружил, что ни одного из его
драгоценных файлов на четвертом устройстве SCSI
нет.Куда делись данные?Когда Билл сделал копию с нулевого устройства
SCSI на четвертое устройство SCSI, оно стало
клоном. Когда Билл поменял настройки SCSI BIOS,
чтобы загрузиться с четвертого устройства SCSI, он
всего лишь обманул сам себя. FreeBSD все еще
работала с нулевого устройства SCSI. Изменение этих
настроек BIOS привело к загрузке части кода Boot и
Loader с выбранного в BIOS диска, но после загрузки
драйверов FreeBSD настройки BIOS были
проигнорированы, и FreeBSD вернулась к нормальной
нумерации. Как показано на пальцах, система
продолжила работать с нулевым устройством SCSI, и
все данные Фреда остались там, а не на четвертом
устройстве SCSI. То, что система грузилась с
четвертого устройства SCSI, было всего лишь
обманутыми ожиданиями.Мы рады упомянуть, что данные не были уничтожены
или повреждены при нашем исследовании этого
феномена. Старое нулевое устройство SCSI было
вытащено из груды железа, и все файлы Фреда
вернулись к нему.Хотя в этом рассказе были использованы SCSI
диски, с IDE дисками все точно так же.Создание слайсов с использованием FDiskВнесенные вами изменения не будут записываться на диск сразу.
Если вы думаете, что сделали ошибку, и хотите начать сначала, можете
использовать меню для выхода из sysinstall
и попробовать еще раз или нажатием U вызвать
опцию Undo (отмена). Если вы запутались и не можете выйти, просто
выключите компьютер.
- После начала стандартной установки в
- sysinstall будет показано это
+ После начала стандартной установки в
+ sysinstall будет показано это
сообщение: Message
In the next menu, you will need to set up a DOS-style ("fdisk")
partitioning scheme for your hard disk. If you simply wish to devote
all disk space to FreeBSD (overwriting anything else that might be on
the disk(s) selected) then use the (A)ll command to select the default
partitioning scheme followed by a (Q)uit. If you wish to allocate only
free space to FreeBSD, move to a partition marked "unused" and use the
- (C)reate command.
- [ OK ]
+ (C)reate command.
+ [ OK ]
[ Press enter or space ]Нажмите Enter как предлагается. Будет
показан список всех жестких дисков, обнаруженных ядром во время
- тестирования устройств.
+ тестирования устройств.
показывает пример системы
с двумя IDE дисками. Они были названы
ad0 и ad2.Выберите диск для FDiskВы можете быть удивлены, почему устройства
ad1 здесь нет. Почему оно было
пропущено?
- Предположим, что у вас есть два жестких диска IDE, один
+ Предположим, что у вас есть два жестких диска IDE, один
master на первом контроллере IDE, а второй master на
втором контроллере IDE. Если FreeBSD пронумерует их
в том порядке, в котором нашла, ad0 и
ad1, все будет работать.Но если вы добавите третий диск, как slave устройство на
первый контроллер IDE, он станет ad1,
а предыдущий ad1 станет
ad2. Поскольку имена устройств (таких как
ad1s1a) используются для обращения к
файловым системам, вы можете вдруг обнаружить, что некоторые из ваших
файловых систем больше не отображаются правильно и вам потребуется
изменить конфигурацию FreeBSD.
-
+
Для обхода этой проблемы, ядро может быть настроено так, чтобы
именовать IDE диски на основе их местоположения, а не порядка, в
котором они были найдены. С этой схемой master диск на втором
контроллере IDE будет всегда устройством
ad2, если даже нет устройств
ad0 или ad1.Это конфигурация ядра FreeBSD по умолчанию, поэтому
на экране показаны ad0 и
ad2. У компьютера, с которого был взят этот
снимок экрана, есть по одному IDE диску на обеих master каналах IDE
контроллеров и ни одного диска на каналах slave.Вы должны выбрать диск, на который хотите установить FreeBSD,
и нажать &gui.ok;.
- Запустившийся FDisk будет выглядеть
+ Запустившийся FDisk будет выглядеть
примерно как .
- Экран FDisk разбит на три
+ Экран FDisk разбит на три
раздела.Первый раздел, занимающая первые две линии экрана, показывает
подробную информацию о выбранном в данный момент диске, включая его
имя во FreeBSD, геометрию и общий размер диска.Второй раздел показывает имеющиеся в данный момент на диске слайсы,
где они начинаются и заканчиваются, их размер, имя, которое им дала
FreeBSD, описание и подтип. На этом примере показаны два маленьких
неиспользованных слайса, которые являются артефактами схемы разметки
диска на PC. Также показан один большой FAT слайс,
- который почти всегда
+ который почти всегда
является диском C: в &ms-dos; / &windows;, и
дополнительный слайс, который может содержать диски с другими буквами
для &ms-dos; / &windows;.Третий раздел показывает команды, доступные в
FDisk.Типичные разделы fdisk перед редактированиемВаши действия теперь будут зависеть от того, как вы хотите разбить
диск на слайсы.Если вы хотите использовать для FreeBSD весь диск (это приведет
к удалению всех других данных на этом диске когда вы подтвердите
sysinstall продолжение процесса установки),
нажмите A, что соответствует опции
Использовать весь диск (Use Entire Disk).
Существующие слайсы будут удалены, и заменены на небольшую область,
помеченную как неиспользуемая (unused)
(это опять же артефакт разметки диска PC), и один большой слайс для
FreeBSD. Когда вы сделаете это, нужно выбрать вновь созданный
слайс FreeBSD используя клавиши навигации, а затем нажать
S, чтобы сделать слайс загрузочным. Экран будет
похож на . Обратите внимание, что
A в колонке Flags означает, что
слайс активен и с него будет происходить
загрузка.Если вы будете удалять существующий слайс для освобождения места
под FreeBSD, выберите слайс, используя клавиши навигации, и нажмите
D. Затем можете нажать C,
и получить приглашение на ввод размера слайса, который вы хотите
создать. Введите соответствующее значение и нажмите
Enter. Значение по умолчанию в этом поле
означает наибольший размер слайса, который может быть выбран;
это может быть наибольший непрерывный блок неразмеченного
пространства или размер всего жесткого диска.
-
+
Если вы уже освободили место для FreeBSD (возможно, используя
утилиту вроде &partitionmagic;),
можете нажать C для создания нового слайса.
Будет также предложено ввести размер слайса, который вы
хотите создать.Разбиение в Fdisk с использованием всего дискаКогда закончите, нажмите Q. Изменения будут
сохранены в sysinstall, но еще не
записаны на диск.Установка менеджера загрузки (Boot Manager)Теперь вам предлагается установить менеджер загрузки. Как
правило, нужно выбрать установку менеджера загрузки если:У вас больше чем один диск и вы устанавливаете FreeBSD не на
первый диск.Вы устанавливаете FreeBSD вместе с другой операционной
на один и тот же диск, и хотите выбирать при загрузке FreeBSD
или другую операционную систему.Если FreeBSD единственная операционная система, установленная
на этом компьютере, и находится на первом жестком диске,
подойдет менеджер загрузки Standard.
Выберите None если вы используете
менеджер загрузки сторонних разработчиков, способный загрузить
FreeBSD.Сделайте выбор и нажмите Enter.Меню менеджера загрузки SysinstallЭкран подсказки, вызываемый по нажатию F1,
описывает проблемы, которые могут быть встречены при попытке
совместного использования диска операционными системами.Создание слайсов на другом дискеЕсли дисков больше чем один, вернитесь к экрану выбора дисков
(Select Drives) после выбора менеджера загрузки. Если вы собираетесь
устанавливать FreeBSD более чем на один диск, можете выбрать другой
диск и повторить процесс разбиения на слайсы с использованием
FDisk.Если вы устанавливаете FreeBSD не на первый жесткий диск,
потребуется установить менеджер загрузки FreeBSD на оба
диска.Выход из выбора дискаКлавиша Tab переключает между последним выбранным
- диском, &gui.ok;, и
+ диском, &gui.ok;, и
&gui.cancel;.Нажмите Tab один раз для выбора
&gui.ok;, затем нажмите Enter
для продолжения установки.Создание разделов с помощью
Disklabel
-
+
Теперь вы должны создать несколько разделов внутри каждого только
что созданного слайса. Запомните, что у каждого раздела есть буква с
a до h, а
разделы b, c, и
d имеют соглашения, которых вы должны
придерживаться.Некоторые приложения могут выигрывать от определенных схем
разделов, особенно если у вас разделы на более чем одном диске.
Тем не менее, для вашей первой установки FreeBSD не нужно
слишком углубляться в принципы разбиения диска. Более важно
установить FreeBSD и начать ее использовать. Вы всегда можете
переустановить FreeBSD для изменения схемы разделов, когда поближе
познакомитесь с операционной системой.Эта схема показывает четыре раздела — один для подкачки и
три для файловых систем.
Планирование разделов для первого диска
-
-
-
-
+
+
+
+ РазделФайловая системаРазмерОписаниеa/100 MBКорневая файловая система. Любая другая файловая
система будет смонтирована на эту. 100 MB это подходящий
размер для этой файловой системы. Вы не будете хранить на
ней слишком много данных, а обычная установка FreeBSD
разместит здесь около 40 MB данных. Оставшееся
пространство используется для временных файлов, а также
оставляет возможность расширения для будущих версий FreeBSD,
которым может понадобится больше места в
/.bN/A2-3 x RAMЗдесь находится раздел подкачки. Выбор правильного
размера раздела подкачки это немного искусство. Хороший
практический способ выбрать размер подкачки это установить
его равным двум или трем размерам доступной физической
памяти (RAM). Должно быть хотя бы 64 MB подкачки;
если в компьютере меньше чем 32 MB памяти —
установите размер подкачки равным 64 MB.
Если у вас больше одного диска, можно расположить подкачку
на каждом диске. FreeBSD будет использовать каждый диск,
что серьезно увеличит скорость подкачки. В этом
случае, определите общий размер подкачки, который вам нужен
(например, 128 MB),
и поделите его на число имеющихся дисков (например, два)
для определения размера разделов подкачки, которые нужно
разместить на каждом вашем диске, в этом примере 64 MB на
диск.e/var50 MBКаталог /var содержит файлы, которые
постоянно меняются; логи и другие административные файлы.
Многие из этих файлов интенсивно читаются и записываются
в процессе ежедневной работы FreeBSD. Размещение их
на отдельной файловой системе позволяет FreeBSD
оптимизировать доступ к этим файлам без затрагивания
других каталогов, не имеющих такой же модели доступа.f/usrОстальная часть дискаВсе другие файлы как правило хранятся в каталоге
/usr и его подкаталогах.
-
+
Если вы устанавливаете FreeBSD более чем на один диск, вы
должны также создать разделы в других слайсах, которые
настроили. Простейший путь сделать это — создать два раздела
на каждом диске, один для подкачки, а другой для файловой
системы.
Разметка разделов для остальных дисков
-
-
-
-
+
+
+
+ Раздел
-
+
Файловая системаРазмерОписаниеbN/AСмотрите описаниеКак уже обсуждалось, вы можете распространить подкачку
на каждый диск. Даже если раздел a
свободен, соглашение говорит о том, что подкачка находится
на разделе b.e/disknОстальная часть дискаОстальная часть диска занята одним большим разделом.
Он легко может быть помещен на раздел a
вместо раздела e. Однако, соглашение
говорит, что раздел a зарезервирован на
слайсе для корневой (/) файловой системы.
вы можете не следовать этому соглашению, но программа
sysinstall будет ему следовать,
поэтому приняв его, вы сделаете установку несколько проще.
Вы можете монтировать эти файловые системы к любой точке; в
этом примере предлагается смонтировать их как каталоги
/diskn, где
n это номер, который уникален для
каждого диска. Но вы можете использовать другую схему, если
захотите.
Теперь, выбрав разметку разделов, можете приступить к их
созданию в sysinstall. Вы увидите
это сообщение: Message
Now, you need to create BSD partitions inside of the fdisk
partition(s) just created. If you have a reasonable amount of disk
space (200 MB or more) and don't have any special requirements, simply
use the (A)uto command to allocate space automatically. If you have
more specific needs or just don't care for the layout chosen by
- (A)uto, press F1 for more information on manual layout.
+ (A)uto, press F1 for more information on manual layout.
[ OK ]
[ Press enter or space ]Нажмите Enter для запуска редактора разделов
FreeBSD, называемого Disklabel. показывает экран только что
запущенного Disklabel. Экран поделен
на три раздела.Первые несколько линий показывают имя диска, с которым вы сейчас
работаете и слайс, содержащий раздел, который вы создаете (здесь
Disklabel называет это
именем раздела (Partition name) вместо имени
слайса). Этот экран также показывает объем свободного пространства на
слайсе, т.е. пространство, выделенное под слайс, но еще не отданное
под раздел.В центре экрана показаны уже созданные разделы, имена файловых
систем, содержащихся в разделах, их размер и некоторые опции,
применяемые при создания файловых систем.Нижняя треть экрана показывает управляющие клавиши, работающие в
Disklabel.Редактор Sysinstall DisklabelDisklabel может автоматически создать
разделы и присвоить им размеры по умолчанию. Попробуйте это, нажав
A. Вы увидите экран как на
. В зависимости от размера диска,
значения по умолчанию могут подходить или
не подходить вам. Это не имеет значения, если вы не принимаете
их.Начиная с FreeBSD 4.5, по умолчанию под каталог
/tmp выделяется собственный раздел вместо
использования части раздела /. Это
помогает избежать заполнения раздела /
временными файлами.Редактор Sysinstall Disklabel с установками по умолчаниюЕсли вы решили не использовать разделы по умолчанию и
заменить их на свои,
используйте клавиши навигации для выбора первого раздела, затем
нажмите D для его удаления. Повторите это для
удаления всех предложенных разделов.
- Для создания первого раздела (a, монтируемого
+ Для создания первого раздела (a, монтируемого
как / — root), убедитесь, что выбран
соответствующий слайс
вверху экрана и нажмите C. Появится диалог,
предлагающий выбрать размер нового раздела (как показано на
). Вы можете ввести количество
блоков диска, или количество мегабайт с
M после номера, или гигабайт с
G, или цилиндров с C.Начиная с FreeBSD 5.X, пользователи могут: выбирать
UFS2 (который используется по умолчанию в
&os; 5.1 и выше),
используя опцию Custom Newfs
(Z), использовать опцию
Auto Defaults и изменять параметры с помощью
опции Custom Newfs, или
добавлять опцию в процессе создания раздела.
Не забудьте добавить для включения SoftUpdates
если вы используете опцию Custom Newfs!Свободное место для корневого разделаРазмер по умолчанию задан для создания корневого раздела на
весь слайс. Если вы используете размеры разделов, описанные ранее в примере,
удалите это значение используя Backspace,
а затем введите 64M, как показано на
. Затем нажмите
&gui.ok;.
-
+
Редактирование размера корневого разделаПосле указания размера раздела вам будет задан вопрос, должен ли
этот раздел содержать файловую систему или раздел подкачки. Диалог
показан на . Первый раздел
будет содержать файловую систему, поэтому проверьте, что выбрана
FS и нажмите
Enter.Выбор типа корневого раздела
-
+
-
+
Наконец, поскольку вы создаете файловую систему, нужно сказать
Disklabel где файловая система будет
- смонтирована. Диалог показан на
+ смонтирована. Диалог показан на
. Точка монтирования
корневой файловой системы /, поэтому введите
/, и нажмите Enter.Выбор точки монтирования корневой файловой системыНа экране будет показан вновь созданный раздел. Вам нужно
повторить эту процедуру для других разделов. При создании
раздела подкачки вопроса про точку монтирования не будет,
поскольку раздел подкачки никогда не монтируется. Когда будете
создавать последний раздел, /usr, можете оставить
предложенный размер как есть, чтобы использовать весь остаток
слайса.Последний экран FreeBSD редактора DiskLabel будет похож на
, хотя ваш выбор значений может
быть другим. Нажмите Q, чтобы выйти.Редактор Sysinstall Disklabel
-
+
Выбор устанавливаемых компонентовВыбор дистрибутивного набора (Distribution Set)Выбор дистрибутивного набора зависит в основном от направления
будущего использования системы и от доступного дискового
пространства. Предустановленные опции варьируются от наименьшей
возможной конфигурации до полной установки. Для новичков в
&unix; и/или FreeBSD лучшим выбором будет одна из этих
предустановленных опций. Настройка дистрибутивного набора
как правило нужна более опытным пользователям.Нажмите F1 для получения информации о
дистрибутивных наборах и их содержимом. После просмотра помощи
нажмите Enter для возврата к меню выбора
дистрибутивного набора.Если желательно наличие графического интерфейса пользователя,
должен быть выбран дистрибутивный набор с названием, начинающимся
на X. Задачи настройки X сервера и
выбора десктопа по умолчанию должны быть выполнены после
установки &os;. Более подробная информация по настройке
X сервера находится в .Устанавливаемая по умолчанию версия X11 зависит от
устанавливаемой версии &os;. Для &os; версий до 5.3,
устанавливается &xfree86; 4.X.
Для &os; 5.3 и более поздних, по умолчанию устанавливается
&xorg;.Если планируется пересборка ядра, выберите опцию, включающую
исходные тексты. Информация о том, зачем пересобирать ядро и
как это сделать, находится на .Ясно, что наиболее универсальная система включает все.
- Если места на диске достаточно, выберите
+ Если места на диске достаточно, выберите
All, как показано на
и нажмите
Enter. Если есть сомнения относительно того,
хватит ли диска, используйте наиболее подходящую опцию.
Не беспокойтесь о том, какой выбор будет наилучшим, другие
части дистрибутива могут быть добавлены после установки.Выбор дистрибутивных наборовУстановка Коллекции ПортовПосле выбора подходящего дистрибутива можно будет выбрать
установку Коллекции Портов FreeBSD. Коллекция Портов —
лёгкий и удобный путь установки программ. Коллекция Портов не
содержит исходных кодов программ. Это набор файлов, который
автоматизирует загрузку, компилирование и установку
пакетов программного обеспечения сторонних разработчиков.
показывает, как использовать Коллекцию
Портов.Программа установки не проверяет, есть ли достаточно места.
Выберите эту опцию только в том случае, если его достаточно. В
FreeBSD &rel.current;, Коллекция Портов занимает около
&ports.size;. В более современных релизах это значение
всегда больше. User Confirmation Requested
- Would you like to install the FreeBSD ports collection?
+ Would you like to install the FreeBSD ports collection?
This will give you ready access to over &os.numports; ported software packages,
at a cost of around &ports.size; of disk space when "clean" and possibly much
more than that if a lot of the distribution tarballs are loaded
(unless you have the extra CDs from a FreeBSD CD/DVD distribution
available and can mount it on /cdrom, in which case this is far less
- of a problem).
+ of a problem).
The ports collection is a very valuable resource and well worth having
- on your /usr partition, so it is advisable to say Yes to this option.
+ on your /usr partition, so it is advisable to say Yes to this option.
- For more information on the ports collection & the latest ports,
- visit:
- http://www.FreeBSD.org/ports
+ For more information on the ports collection & the latest ports,
+ visit:
+ http://www.FreeBSD.org/ports
[ Yes ] NoВыберите &gui.yes; для установки
Коллекции Портов, или &gui.no;, чтобы
пропустить установку. Нажмите Enter, чтобы продолжить.
Меню выбора дистрибутивных наборов появится опять.Подтверждение выбора дистрибутивного набораЕсли вы согласны с выбранными опциями, переместитесь на
Exit, убедитесь, что выбран
- &gui.ok; и нажмите
+ &gui.ok; и нажмите
Enter, чтобы продолжить.Выбор источника для установки
- При установке с CDROM или DVD используйте клавиши навигации, для перехода к
+ При установке с CDROM или DVD используйте клавиши навигации, для перехода к
пункту Install from a FreeBSD CD/DVD. Убедитесь,
что выбран &gui.ok;, и нажмите
Enter для запуска установки.
-
+
При других методах установки выберите соответствующую опцию и
следуйте инструкциям.
- Нажмите F1 для просмотра справки по
+ Нажмите F1 для просмотра справки по
источникам установки. Нажмите Enter для возврата к
меню выбора источника установки.Выбор источника установкиРежимы установки с FTPinstallationnetworkFTP
-
+
Есть три режима установки через FTP, которые вы можете выбрать:
активный FTP, пассивный FTP, или через HTTP прокси.Активный FTP: Install from an FTP
server
-
+
- С этой опцией все закачки по FTP будут выполнены в
+ С этой опцией все закачки по FTP будут выполнены в
активном режиме. Этот режим не позволяет
работать через файрволл, но зачастую позволяет работать
со старыми серверами FTP, не поддерживающими пассивный
режим. Если соединение прерывается в пассивном режиме
(по умолчанию), попробуйте активный!
-
+
Пассивный FTP: Install from an FTP server through a
firewall
-
+
FTPПассивный режим
- Эта опция говорит sysinstall использовать
+ Эта опция говорит sysinstall использовать
пассивный режим для работы с FTP.
Он позволяет работать через файрволл, не разрешающий
входящие соединения на случайных TCP портах.
-
+
FTP через HTTP прокси: Install from an FTP server
through a http proxy
-
+
FTPчерез HTTP прокси
-
+
Эта опция говорит sysinstall использовать HTTP
протокол (как Web-браузер) для работы с FTP через
прокси. Прокси будет транслировать все
запросы и посылать их на FTP сервер. Это позволяет
проходить через файрволл, на котором FTP запрещен,
но есть HTTP прокси. В этом случае
потребуется указать прокси и FTP сервер.
-
+
Для работы с FTP через прокси, необходимо поместить имя
сервера как часть имени пользователя после знака
@. Прокси сервер обманет
настоящий сервер. Например, предположим что вы хотите провести
установку с ftp.FreeBSD.org, используя FTP
через прокси foo.example.com,
прослушивающем порт 1024.
-
+
В этом случае, войдите в меню параметров, установите имя
пользователя FTP ftp@ftp.FreeBSD.org, а вместо
пароля введите свой адрес email. В качестве источника установки
выберите FTP (или пассивный FTP, если прокси его поддерживает), и URL
ftp://foo.example.com:1234/pub/FreeBSD.
- Так как /pub/FreeBSD с сервера
- ftp.FreeBSD.org идет через прокси
+ Так как /pub/FreeBSD с сервера
+ ftp.FreeBSD.org идет через прокси
foo.example.com, вы сможете провести
установку с этого компьютера (файлы будут загружены с
- ftp.FreeBSD.org как требуется для
+ ftp.FreeBSD.org как требуется для
установки).Подтверждение установкиТеперь можно начинать установку. Это последний шанс
отменить установку, и таким образом избежать изменений на жестком
диске. User Confirmation Requested
- Last Chance! Are you SURE you want to continue the installation?
+ Last Chance! Are you SURE you want to continue the installation?
If you're running this on a disk with data you wish to save then WE
- STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
+ STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
- We can take no responsibility for lost disk contents!
+ We can take no responsibility for lost disk contents!
[ Yes ] NoВыберите &gui.yes; и нажмите
Enter, чтобы начать.Время установки сильно зависит от выбранного дистрибутивного набора,
источника установки и скорости компьютера.
Появится несколько сообщений о статусе процесса установки.
-
+
Установка будет завершена, когда отобразится следующее
сообщение:
- Message
+ Message
-Congratulations! You now have FreeBSD installed on your system.
+Congratulations! You now have FreeBSD installed on your system.
-We will now move on to the final configuration questions.
-For any option you do not wish to configure, simply select No.
+We will now move on to the final configuration questions.
+For any option you do not wish to configure, simply select No.
If you wish to re-enter this utility after the system is up, you may
-do so by typing: /stand/sysinstall .
+do so by typing: /stand/sysinstall .
- [ OK ]
+ [ OK ]
[ Press enter to continue ]Нажмите Enter для начала послеустановочной
настройки.Выбор &gui.no; и нажатие
Enter прервет процесс установки,
изменения в систему внесены не будут. Появится следующее
сообщение: Message
Installation complete with some errors. You may wish to scroll
-through the debugging messages on VTY1 with the scroll-lock feature.
+through the debugging messages on VTY1 with the scroll-lock feature.
You can also choose "No" at the next prompt and go back into the
-installation menus to retry whichever operations have failed.
+installation menus to retry whichever operations have failed.
[ OK ]Это сообщение появилось, поскольку ничего не было установлено.
Нажатие Enter вернет вас в главное меню установки,
чтобы выйти из нее.После установкиПосле успешной установки необходимо настроить множество параметров.
Некоторые параметры могут быть заданы из меню параметров после установки,
перед загрузкой установленной FreeBSD, или после нее с использованием
sysinstall (/stand/sysinstall
в &os; версии 5.2 и более ранних), где надо выбрать пункт
Configure.Настройка сетевых устройств (Network Device Configuration)Если вы настраивали PPP для установки через FTP, этот экран
не появится, и настройку можно будет произвести позже как описано
выше.Чтобы лучше узнать о локальных сетях и настройке
FreeBSD в качестве шлюза/маршрутизатора, обратитесь к главе
Сложные вопросы работы в
сети.
- User Confirmation Requested
+ User Confirmation Requested
Would you like to configure any Ethernet or SLIP/PPP network devices?
[ Yes ] NoДля настройки сетевого устройства выберите
&gui.yes; и нажмите Enter.
Или нажмите &gui.no;, чтобы продолжить.Выбор Ethernet устройстваВыберите интерфейс для настройки с помощью клавиш навигации и
нажмите Enter.
- User Confirmation Requested
+ User Confirmation Requested
Do you want to try IPv6 configuration of the interface?
Yes [ No ]Для частной локальной сети обычный протокол интернет
(IPv4) вполне достаточен, поэтому выбрана кнопка
&gui.no; и нажат Enter.Если вы хотите подсоединиться к существующей сети
IPv6 через сервер RA,
выберите &gui.yes; и нажмите
Enter. Поиск RA серверов займет несколько
секунд.
- User Confirmation Requested
- Do you want to try DHCP configuration of the interface?
+ User Confirmation Requested
+ Do you want to try DHCP configuration of the interface?
Yes [ No ]Если DHCP (Dynamic Host Configuration Protocol) не нужен,
выберите &gui.no; с помощью клавиш навигации и
нажмите Enter.Выбор &gui.yes; запустит
dhclient, и, если все пройдет нормально,
заполнит информацию о конфигурации сети автоматически. Обратитесь
к за более подробными сведениями.Следующий экран конфигурации сети показывает настройку
устройства Ethernet системы, которая будет работать шлюзом
для локальной сети.Настройка сети для ed0Используйте Tab для выбора полей и заполнения
их соответствующими данными:HostПолное имя хоста, в этом примере
k6-2.example.com.DomainИмя домена, в котором находится ваш компьютер,
в этом примере example.com.IPv4 GatewayIP хоста, пересылающего пакеты наружу локальной сети.
Вам потребуется заполнить его, если это компьютер, подключенный к
сети. Оставьте это поле пустым,
если компьютер является шлюзом в интернет для сети.
Шлюз IPv4 известен также как шлюз по умолчанию или маршрут
по умолчанию.Name serverIP адрес местного сервера DNS. В этой локальной сети
нет DNS сервера, поэтому использован IP адрес DNS сервера
провайдера (208.163.10.2).IPv4 addressIP адрес, использованный для этого интерфейса,
192.168.0.1NetmaskАдрес блока, использованного для этой локальной сети,
это блок класса C
(192.168.0.0 -
192.168.255.255).
Маска по умолчанию дана для сети класса C
(255.255.255.0).Дополнительные параметры для ifconfig
- Любые специфичные для интерфейса опции к
+ Любые специфичные для интерфейса опции к
ifconfig, которые вы хотите добавить.
В данном случае ничего.Используйте Tab для выбора &gui.ok;
после окончания настройки и нажмите Enter.
- User Confirmation Requested
- Would you like to Bring Up the ed0 interface right now?
+ User Confirmation Requested
+ Would you like to Bring Up the ed0 interface right now?
[ Yes ] NoВыбор &gui.yes; и нажатие
Enter введет компьютер в сеть.
Тем не менее, компьютеру все еще требуется перезагрузка.Настройка шлюза (Configure Gateway)
- User Confirmation Requested
+ User Confirmation Requested
Do you want this machine to function as a network gateway?
[ Yes ] NoЕсли компьютер будет шлюзом для локальной сети, пересылая
- пакеты между другими компьютерами, выберите
+ пакеты между другими компьютерами, выберите
&gui.yes; и нажмите Enter.
Если это обычный компьютер, выберите &gui.no;
и нажмите Enter для продолжения.Настройка сервисов интернет (Configure Internet Services) User Confirmation Requested
Do you want to configure inetd and the network services that it provides?
Yes [ No ]Если выбрана &gui.no;, различные сервисы,
такие как telnetd не будут запущены. Это
означает, что удаленные пользователи не смогут зайти по
telnet на этот компьютер. Локальные
пользователи все же смогут заходит на удаленные компьютеры по
telnet.Эти сервисы могут быть включены после установки путем
редактирования /etc/inetd.conf с помощью вашего
любимого текстового редактора. Обращайтесь к
за более подробной информацией.Выберите &gui.yes; если хотите настроить
эти сервисы во время установки. Появится дополнительный запрос
подтверждения: User Confirmation Requested
The Internet Super Server (inetd) allows a number of simple Internet
services to be enabled, including finger, ftp and telnetd. Enabling
these services may increase risk of security problems by increasing
the exposure of your system.
With this in mind, do you wish to enable inetd?
[ Yes ] NoНажмите &gui.yes;, чтобы продолжить. User Confirmation Requested
inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
which of its Internet services will be available. The default FreeBSD
inetd.conf(5) leaves all services disabled by default, so they must be
specifically enabled in the configuration file before they will
function, even once inetd(8) is enabled. Note that services for
IPv6 must be separately enabled from IPv4 services.
Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
use the current settings.
[ Yes ] NoВыбор &gui.yes; позволит добавить сервисы
путем удаления # перед началом строки.Редактирование inetd.confПосле добавления нужных сервисов нажатие Esc
отобразит меню, позволяющее выйти с сохранением изменений.Анонимный (Anonymous) FTPFTPанонимный User Confirmation Requested
- Do you want to have anonymous FTP access to this machine?
+ Do you want to have anonymous FTP access to this machine?
Yes [ No ]Запрещение анонимного FTP
-
+
Выбор кнопки по умолчанию &gui.no; и нажатие
Enter все же позволит пользователям, имеющим учетные
записи с паролями, использовать FTP для доступа к компьютеру.Разрешение анонимного FTPКто угодно сможет получить доступ к компьютеру, если
вы разрешите анонимные соединения FTP. Предварительно должны быть
рассмотрены возможные проблемы с безопасностью. Более подробная
информация о безопасности находится в
.Чтобы разрешить анонимный FTP, выберите &gui.yes;, используя
клавиши навигации, и нажмите
Enter. Появится такой (или похожий)
экран:Настройка по анонимного FTP по умолчаниюНажатие F1 отобразит справку:This screen allows you to configure the anonymous FTP user.
The following configuration values are editable:
UID: The user ID you wish to assign to the anonymous FTP user.
All files uploaded will be owned by this ID.
Group: Which group you wish the anonymous FTP user to be in.
Comment: String describing this user in /etc/passwd
FTP Root Directory:
Where files available for anonymous FTP will be kept.
Upload subdirectory:
Where files uploaded by anonymous FTP users will go.Корневой каталог ftp по умолчанию будет размещен в
/var. Если в нем предположительно не хватает
места для для нужд FTP, можно использовать каталог
/usr, выбрав корневой каталог FTP
(FTP Root Directory) /usr/ftp.
- Когда будут выбраны подходящие значения, нажмите
+ Когда будут выбраны подходящие значения, нажмите
Enter, чтобы продолжить.
- User Confirmation Requested
+ User Confirmation Requested
Create a welcome message file for anonymous FTP users?
[ Yes ] NoЕсли вы выберете &gui.yes; и нажмете
Enter, запустится редактор, позволяющий
отредактировать сообщение FTP.Редактирование FTP Welcome MessageЭтот текстовый редактор называется ee.
Используйте инструкции, чтобы изменить сообщение, или измените
сообщение позже, используя выбранный вами редактор. Обратите
внимание, что имя/расположение файла показаны внизу окна
редактора.Нажмите Esc и появится меню с пунктом по
умолчанию a) leave editor
(выйти из редактора). Нажмите Enter, чтобы выйти и
продолжить. Нажмите Enter еще раз, чтобы
сохранить изменения, если они были сделаны.Настройка сетевой файловой системы (Configure Network File System)Сетевая файловая система (Network File System, NFS) позволяет
совместно использовать файлы в сети. Компьютер может быть настроен
как сервер, клиент, или как то и другое. Обратитесь к
за более подробной информацией.Сервер NFS (NFS Server) User Confirmation Requested
- Do you want to configure this machine as an NFS server?
+ Do you want to configure this machine as an NFS server?
Yes [ No ]Если вам не нужен NFS сервер, выберите
&gui.no; и нажмите
Enter.Если выбран пункт &gui.yes;, появится
сообщение, говорящее о том, что должен быть создан файл
exports. Message
Operating as an NFS server means that you must first configure an
/etc/exports file to indicate which hosts are allowed certain kinds of
access to your local filesystems.
Press [Enter] now to invoke an editor on /etc/exports
[ OK ]Нажмите Enter, чтобы продолжить. Запустится
текстовый редактор, позволяющий создать и отредактировать файл
exports.Редактирование exportsИспользуйте инструкции для добавления экспортируемых файловых
систем сейчас, или позднее с помощью выбранного вами текстового
редактора. Обратите внимание, что имя/расположение файла показаны
внизу окна редактора.Нажмите Esc и появится меню с пунктом по
умолчанию a) leave editor. Нажмите
Enter, чтобы выйти и продолжить.Клиент NFS (NFS Client)NFS клиент позволяет организовать доступ к серверам NFS. User Confirmation Requested
- Do you want to configure this machine as an NFS client?
+ Do you want to configure this machine as an NFS client?
Yes [ No ]С помощью клавиш навигации выберите &gui.yes;
или &gui.no;, как потребуется, и нажмите
Enter.Профиль безопасности (Security Profile)Профиль безопасности это набор параметров
настройки, с помощью которого делается попытка достичь
требуемого уровня безопасности и удобства путем разрешения или
запрещения запуска определенных программ и другими настройками.
Чем строже профиль безопасности, тем меньше программ будет
запущено по умолчанию. Это один из основных принципов безопасности:
не запускайте ничего кроме того, что необходимо.Имейте ввиду, что профиль безопасности — это лишь установка по
умолчанию. Любая программа может быть запущена или остановлена
после установки FreeBSD путем редактирования или добавления
- соответствующих строк в /etc/rc.conf.
+ соответствующих строк в /etc/rc.conf.
Для получения более подробной информации обратитесь к странице
справочника &man.rc.conf.5;.Следующая таблица описывает действие каждого профиля безопасности.
Колонки показывают выбранный вами профиль безопасности, а ряды
— программы или функции, которые профиль включает или
выключает.
Возможные профили безопасностиExtreme (Максимальный)Moderate (Умеренный)&man.sendmail.8;НЕТДА&man.sshd.8;НЕТДА&man.portmap.8;НЕТМОЖЕТ БЫТЬ
Portmapper включен, если компьютер был настроен в
процессе установки как NFS клиент или сервер.NFS serverНЕТДА&man.securelevel.8;ДА
Если вы выберете профиль безопасности с уровнем
Extreme или
High, будьте готовы к последствиям.
Прочитайте страницу справочника &man.init.8;
и уделите некоторое внимание значениям уровней
безопасности, или позже могут возникнуть
серьезные проблемы!НЕТ
User Confirmation Requested
Do you want to select a default security profile for this host (select
- No for "medium" security)?
+ No for "medium" security)?
[ Yes ] No
- Выбор &gui.no; и нажатие
+ Выбор &gui.no; и нажатие
Enter установит профиль безопасности к среднему
значению.Выбор &gui.yes; и нажатие
Enter позволит выбрать другой профиль
безопасности.Параметры профиля безопасностиНажмите F1, чтобы получить помощь. Нажмите
Enter для возврата к меню выбора.Используйте клавиши навигации для выбора
Medium, если вы не уверены, что
необходим другой уровень. С подсвеченным
&gui.ok; нажмите Enter.Будет отображен запрос на подтверждение, соответствующий выбранным
настройкам безопасности. Message
Moderate security settings have been selected.
Sendmail and SSHd have been enabled, securelevels are
disabled, and NFS server setting have been left intact.
PLEASE NOTE that this still does not save you from having
to properly secure your system in other ways or exercise
due diligence in your administration, this simply picks
a standard set of out-of-box defaults to start with.
To change any of these settings later, edit /etc/rc.conf
[OK] Message
Extreme security settings have been selected.
Sendmail, SSHd, and NFS services have been disabled, and
securelevels have been enabled.
PLEASE NOTE that this still does not save you from having
to properly secure your system in other ways or exercise
due diligence in your administration, this simply picks
a more secure set of out-of-box defaults to start with.
To change any of these settings later, edit /etc/rc.conf
[OK]Нажмите Enter, чтобы продолжить
послеустановочные настройки.Профиль безопасности не панацея! Если даже вы
выберете экстремальные установки, понадобится поддерживать
безопасность, читая соответствующий список рассылки (), используя хорошие пароли и
идентификационные
фразы, и придерживаясь хорошей практики безопасности.
Профиль всего лишь повышает желаемый уровень безопасности
свежеустановленной системы до приемлемого значения.Настройки системной консоли (System Console Settings)Есть несколько параметров для настройки системной консоли.
- User Confirmation Requested
+ User Confirmation Requested
Would you like to customize your system console settings?
[ Yes ] NoДля просмотра и настройки параметров выберите
&gui.yes; и нажмите
Enter.Параметры настройки системной консолиЧасто используемая опция это хранитель экрана (screen saver).
Используйте клавиши навигации для выбора
Saver и
нажмите Enter.Параметры хранителя экранаВыберите подходящий хранитель экрана с помощью клавиш навигации и
нажмите Enter. Опять появится меню настройки
системной консоли.Время по умолчанию 300 секунд. Для изменения временного интервала
выберите Saver еще раз. В меню
настроек хранителя экрана выберите Timeout
с помощью клавиш навигации и нажмите Enter.
Появится меню:Временной интервал хранителя экранаЗначение может быть изменено, затем выберите &gui.ok;
и нажмите Enter для возврата в меню настройки
системной консоли.Выход из меню конфигурации консолиВыбор Exit и нажатие
Enter вернет вас к послеустановочной
настройке.Установка часового пояса (Setting The Time Zone)Установка часового пояса на компьютере позволит ему
автоматически вносить поправки к местному времени и правильно
выполнять другие, связанные с часовым поясом функции.Пример приведен для компьютера, расположенного в восточном
часовом поясе Соединенных Штатов. Ваш выбор будет зависеть
от вашего географического положения.
- User Confirmation Requested
+ User Confirmation Requested
Would you like to set this machine's time zone now?
[ Yes ] NoВыберите &gui.yes; и нажмите
Enter для установки часового пояса. User Confirmation Requested
Is this machine's CMOS clock set to UTC? If it is set to local time
- or you don't know, please choose NO here!
+ or you don't know, please choose NO here!
Yes [ No ]
- Выберите &gui.yes;
+ Выберите &gui.yes;
или &gui.no; в зависимости от настроек
часов компьютера и нажмите Enter.Выбор регионаСоответствующий регион выбран с помощью клавиш навигации и
нажат Enter.Выбор страныВыберите соответствующую страну с помощью клавиш навигации и
нажмите Enter.Выбор часового поясаВыбран соответствующий часовой пояс с помощью клавиш навигации
и нажат Enter.
- Confirmation
+ Confirmation
Does the abbreviation 'EDT' look reasonable?
[ Yes ] NoПравильно будет согласиться с назначением аббревиатуры временного
пояса. Если она подходит, нажмите Enter, чтобы
продолжить послеустановочную настройку.Совместимость с Linux (Linux Compatibility)
- User Confirmation Requested
+ User Confirmation Requested
Would you like to enable Linux binary compatibility?
[ Yes ] NoВыбор &gui.yes; и нажатие
Enter позволит
запускать программы Linux под FreeBSD. Программа установки добавит
соответствующие пакеты для совместимости с Linux.При установке по FTP, компьютеру потребуется соединиться с
интернет. Иногда на сервере ftp нет всех необходимых компонент,
например для бинарной совместимости с Linux. Эти компоненты могут
быть установлены позже, если потребуется.Настройка мыши (Mouse Settings)Эти настройки позволят вырезать и вставлять текст в консоли и
пользовательских программах с помощью трехкнопочной мыши. Если
используется двухкнопочная мышь, обратитесь к странице справочника
&man.moused.8; после установки, чтобы узнать подробности об
эмуляции трехкнопочной мыши. Этот пример приведен для настройки
не-USB мыши (например мыши для порта PS/2 или COM):
- User Confirmation Requested
+ User Confirmation Requested
Does this system have a non-USB mouse attached to it?
[ Yes ] No Выберите &gui.yes; для не-USB мыши или
&gui.no; для USB мыши и нажмите
Enter.Выбор протокола мышиИспользуйте клавиши навигации для выбора
Type и нажмите
Enter.Установка протокола мышиВ этом примере использована PS/2 мышь, поэтому подойдет протокол по
умолчанию Auto. Чтобы изменить протокол,
используйте клавиши навигации для выбора другого пункта. Убедитесь,
что выбран &gui.ok;, и нажмите Enter для выхода из
меню.Настройка порта мышиИспользуйте клавиши навигации для выбора
- Port и нажмите
+ Port и нажмите
Enter.Установка порта мышиК этой системе подключена мышь PS/2, поэтому подходит значение
по умолчанию PS/2. Чтобы изменить порт,
используйте клавиши навигации и нажмите Enter.Запуск мышиного даемонаНаконец, используйте клавиши навигации для
выбора Enable, затем нажмите
Enter для запуска и тестирования
даемона мыши.Проверка мышиного даемонаПодвигайте курсор по экрану и убедитесь, что он
движется правильно. Если это так, выберите
&gui.yes; и нажмите Enter.
Если нет, мышь не была правильно настроена — выберите
&gui.no; и попробуйте использовать другие
опции настройки.Выберите Exit с
помощью клавиш навигации и нажмите Enter для
возврата к послеустановочной настройке.
-
-
- Том
+
+
+ Том
- Родес
+ Родес
- Текст предоставил
-
-
+ Текст предоставил
+
+ Настройка дополнительных сетевых сервисовНастройка сетевых сервисов может быть пугающей
задачей для новых пользователей, если у них нет опыта
в этой области. Работа в сети, включая интернет,
критична для многих современных операционных систем,
включая &os;; очень важно иметь некоторые знания
о дополнительных сетевых возможностях &os;.
Настраивая их во время установки, пользователь получает
некоторую информацию о различных доступных сервисах.Сетевые сервисы — это программы, принимающие данные из
любой точки сети. Чтобы убедиться, что эти программы не делают
ничего вредного, требуется особое внимание.
К сожалению, программисты не совершенны и время от времени
допускают ошибки в сетевых сервисах; эти ошибки позволяют
атакующим взломать их и использовать в собственных целях.
Важно, чтобы вы включали сетевые сервисы только в том случае,
если знаете, какие сервисы нужны. В случае сомнений лучше не
включать сервис, пока он не понадобится. Вы всегда можете включить
его позже, запустив sysinstall еще
раз, или используя возможности, предоставляемые файлом
/etc/rc.conf.Выбор опции Networking отобразит меню,
похожее на это:Верхняя часть меню настройки сети (Network Configuration)Первая опция, Interfaces (интерфейсы),
была ранее описана в ,
эту опцию можно проигнорировать.Выбор опции AMD добавит поддержку
BSD утилиты автоматического монтирования.
Она обычно используется вместе с протоколом
NFS (смотрите ниже)
для автоматического монтирования удаленных файловых
систем. Здесь не требуется специальной конфигурации.Следующая линия это опция флаги AMD
(flags). Когда эта опция выбрана, появится меню для ввода
специфичных флагов AMD.
Меню уже содержит набор различных опций:-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.mapОпция указывает месторасположение
монтирования систем по умолчанию, в этом примере
/.amd_mnt. Опция
указывает log файл по умолчанию;
тем не менее, если для ведения логов используется
syslogd, все логи отправляются даемону
системных логов. Каталог /host
используется для монтирования экспортированных файловых
систем с удаленного хоста, а
/net для монтирования
экспортированных файловых систем с IP адреса.
Файл /etc/amd.map определяет
опции по умолчанию для монтируемых AMD
каталогов.FTPанонимныйОпция Anon FTP позволяет получить
- анонимный доступ к FTP.
+ анонимный доступ к FTP.
Выберите ее, чтобы сделать этот компьютер
анонимным FTP сервером.
Помните о риске безопасности, создаваемом этой опцией.
Будет отображено еще одно меню для разъяснения
риска безопасности и для более тонкой настройки.Опция Gateway сделает компьютер
шлюзом, как было объяснено ранее. Этот пункт может быть
использован для отмены опции Gateway,
если она была ошибочно установлена в процессе установки.Опцию Inetd можно использовать для
настройки или полного отключения даемона &man.inetd.8;, как
было описано выше.Опция Mail используется для настройки
системного MTA по умолчанию (Mail Transfer
Agent, агент передачи почты). Выбор этой опции приведет к
появлению следующего меню:Выбор MTA по умолчаниюЗдесь предоставляется выбор MTA для
установки по умолчанию. MTA это
почтовый сервер, доставляющий почту пользователям системы
или интернет.Выбор Sendmail приведет к
установке популярного сервера sendmail,
MTA по умолчанию для &os;.
Опция Sendmail local настроит
sendmail в качестве
MTA по умолчанию, но отключит возможность
получения входящей почты из интернет. Другие MTA,
представленные здесь, Postfix и
Exim, действуют подобно
Sendmail. Оба они доставляют
почту; тем не менее, некоторые пользователи предпочитают
эти альтернативы sendmail.После выбора MTA или пропуска этого пункта
появится меню настройки сети со следующей опцией, клиент
NFS.Клиент NFS позволяет настроить
систему для соединения с сервером через
NFS. Сервер NFS
дает другим машинам доступ к файловой системе через
протокол NFS. Если это отдельно
стоящий компьютер, опцию можно не выбирать.
NFS может потребовать дополнительной настройки позже;
обращайтесь к за более
подробной информацией о настройке сервера и клиента.Ниже находится опция NFS сервер,
позволяющая вам настроить систему для работы в качестве
NFS сервера. Она добавляет требуемую
информацию для запуска процедуры вызова удаленных
сервисов RPC (remote procedure
call services). RPC используется для
организации соединения между хостами и программами.Следующая строка это Ntpdate,
которая отвечает за синхронизацию времени. Когда эта опция
выбрана, появится приблизительно такое меню:Настройка NtpdateВыберите из этого меню ближайший к вашему местонахождению
сервер. Выбор ближайшего сервера сделает синхронизацию
времени более точной, поскольку у более дальнего
сервера может быть более длинная задержка соединения.Следующая опция это выбор PCNFSD.
Эта опция устанавливает пакет
net/pcnfsd из
Коллекции Портов. Это полезная утилита, предоставляющая
сервисы авторизации NFS для систем,
в которых собственная отсутствует, таких как Microsoft
&ms-dos;.Теперь вы можете прокрутить меню немного вниз, чтобы увидеть
другие опции:Нижняя часть меню настройки сетиУтилиты &man.rpcbind.8;, &man.rpc.statd.8; и
&man.rpc.lockd.8; для удаленного вызова процедур (Remote Procedure
Calls, RPC). Утилита
rpcbind управляет соединением между
NFS серверами и клиентами, она требуется
серверу NFS для корректной работы.
Даемон rpc.statd взаимодействует с
даемонами rpc.statd на других хостах
для обеспечения мониторинга статуса. Полученный статус
обычно хранится в файле /var/db/statd.status.
Последняя опция это rpc.lockd, которая,
будучи выбранной, предоставляет сервисы блокировки файлов.
Она обычно используется с rpc.statd
для отслеживания хостов, запрашивающих блокировки и частоты
этих запросов. Хотя две последние опции прекрасно подходят
для отладки, они не требуются серверам и клиентам
NFS для корректной работы.Ниже в списке опций находится Routed,
даемон маршрутизации. Утилита &man.routed.8; управляет
сетевыми таблицами маршрутизации, обнаруживает широковещательные
маршрутизаторы, и предоставляет копию таблиц маршрутизации
любому физически подключенному к сети хосту по запросу.
Это обычно используется компьютерами, являющимися шлюзом
для локальной сети. Когда эта опция выбрана, появится меню
выбора местоположения утилиты по умолчанию. Значение
по умолчанию уже выбрано, чтобы подтвердить его нажмите
Enter. Появится следующее меню, запрашивающее
флаги для routed. По умолчанию это
флаг , он должен уже быть на экране.На следующей линии находится опция Rwhod,
выбор которой приведет к запуску даемона &man.rwhod.8; при
старте системы. Утилита rwhod периодически
рассылает широковещательные системные сообщения по сети
или собирает их в режиме потребителя.
Дополнительную информацию можно найти на страницах справочника
- &man.ruptime.1; и &man.rwho.1;.
+ &man.ruptime.1; и &man.rwho.1;.
Следующая перед последней опцией в списке это даемон
&man.sshd.8;. Это сервер безопасной оболочки (secure shell) из
OpenSSH и он настоятельно рекомендуется
для использования вместо стандартных серверов
telnet и
FTP. Сервер sshd
используется для создания безопасных соединений от одного
хоста к другому с использованием шифрования.И наконец, опция TCP Extensions.
Она включает расширения TCP, определенные
в RFC 1323 и
RFC 1644. Хотя для многих хостов
они могут повысить скорость соединения, с другими соединение может
быть оборвано. Для серверов эти расширения не рекомендуются,
но клиентским компьютерам могут дать некоторые преимущества.Теперь, после настройки сетевых сервисов, вы можете прокрутить
- меню к верхнему пункту, Exit, и
+ меню к верхнему пункту, Exit, и
перейти к следующему разделу настройки.Настройка X Сервера (Configure X Server)В &os; 5.3-RELEASE настройка X сервера была удалена
из sysinstall, X сервер
нужно будет настроить после установки &os;.
Более подробная информация, относящаяся к установке и настройке
X сервера, находится в . Вы можете пропустить этот раздел, если только
не устанавливаете версию &os; до 5.3-RELEASE.Чтобы использовать графический интерфейс пользователя
KDE, GNOME,
или другие, нужно настроить X сервер.Чтобы запустить &xfree86; не из под
root, вам потребуется установленный
x11/wrapper. Он устанавливается
по умолчанию начиная с FreeBSD 4.7. В более ранних версиях он
может быть добавлен из меню выбора пакетов (Package Selection
menu).Чтобы узнать, поддерживается ли ваша видеокарта, обратитесь
к сайту &xfree86;.
- User Confirmation Requested
+ User Confirmation Requested
Would you like to configure your X server at this time?
[ Yes ] NoНеобходимо узнать параметры монитора и информацию о
видеокарте. Установкой неправильных параметров можно повредить
оборудование. Если у вас нет этой информации, выберите
&gui.no; и выполните конфигурацию после
установки, когда необходимая информация будет собрана.
Используя sysinstall
(/stand/sysinstall в &os; версии 5.2 и более
ранних), выберите Configure, а затем
XFree86. Неправильная настройка
X сервера может подвесить компьютер.
Зачастую настройку X сервера рекомендуют производить после
завершения установки.
Если у вас есть информация о графической карте и мониторе,
выберите &gui.yes; и нажмите
Enter для начала настройки X сервера.Меню выбора способа конфигурацииЕсть несколько путей настройки X сервера. Используйте
клавиши навигации для выбора одного из методов и нажмите
Enter. Внимательно прочтите все инструкции.Команды xf86cfg и
xf86cfg -textmode могут сделать экран
темным и запуститься через несколько секунд. Будьте терпеливы.Далее описывается использование программы настройки
xf86config. Выбор настроек
будет зависеть от оборудования системы, так что ваши
настройки возможно будут отличаться от тех, что приведены: Message
- You have configured and been running the mouse daemon.
+ You have configured and been running the mouse daemon.
Choose "/dev/sysmouse" as the mouse port and "SysMouse" or
- "MouseSystems" as the mouse protocol in the X configuration utility.
+ "MouseSystems" as the mouse protocol in the X configuration utility.
[ OK ]
[ Press enter to continue ]Это говорит о том, что предварительно настроенный даемон мыши был
обнаружен. Нажмите Enter, чтобы продолжить.При запуске xf86config отобразит
краткое введение:This program will create a basic XF86Config file, based on menu selections you
make.
The XF86Config file usually resides in /usr/X11R6/etc/X11 or /etc/X11. A sample
XF86Config file is supplied with XFree86; it is configured for a standard
VGA card and monitor with 640x480 resolution. This program will ask for a
pathname when it is ready to write the file.
You can either take the sample XF86Config as a base and edit it for your
configuration, or let this program produce a base XF86Config file for your
configuration and fine-tune it.
Before continuing with this program, make sure you know what video card
you have, and preferably also the chipset it uses and the amount of video
memory on your video card. SuperProbe may be able to help with this.
Press enter to continue, or ctrl-c to abort.Нажатие Enter запустит настройку мыши.
Следуя инструкциям, выберите
Mouse Systems в качестве протокола мыши и
/dev/sysmouse в качестве порта мыши,
даже если вы используете PS/2, как показано в примере.First specify a mouse protocol type. Choose one from the following list:
1. Microsoft compatible (2-button protocol)
- 2. Mouse Systems (3-button protocol) & FreeBSD moused protocol
+ 2. Mouse Systems (3-button protocol) & FreeBSD moused protocol
3. Bus Mouse
4. PS/2 Mouse
5. Logitech Mouse (serial, old type, Logitech protocol)
6. Logitech MouseMan (Microsoft compatible)
7. MM Series
8. MM HitTablet
9. Microsoft IntelliMouse
If you have a two-button mouse, it is most likely of type 1, and if you have
a three-button mouse, it can probably support both protocol 1 and 2. There are
two main varieties of the latter type: mice with a switch to select the
protocol, and mice that default to 1 and require a button to be held at
boot-time to select protocol 2. Some mice can be convinced to do 2 by sending
a special sequence to the serial port (see the ClearDTR/ClearRTS options).
Enter a protocol number: 2
You have selected a Mouse Systems protocol mouse. If your mouse is normally
in Microsoft-compatible mode, enabling the ClearDTR and ClearRTS options
may cause it to switch to Mouse Systems mode when the server starts.
Please answer the following question with either 'y' or 'n'.
Do you want to enable ClearDTR and ClearRTS? n
You have selected a three-button mouse protocol. It is recommended that you
do not enable Emulate3Buttons, unless the third button doesn't work.
Please answer the following question with either 'y' or 'n'.
Do you want to enable Emulate3Buttons? y
Now give the full device name that the mouse is connected to, for example
/dev/tty00. Just pressing enter will use the default, /dev/mouse.
On FreeBSD, the default is /dev/sysmouse.
Mouse device: /dev/sysmouseСледующий пункт настройки это клавиатура. В примере показана
модель generic 101-key. В качестве варианта можно использовать
любое имя, или просто нажать Enter, чтобы
принять значение по умолчанию.Please select one of the following keyboard types that is the better
description of your keyboard. If nothing really matches,
choose 1 (Generic 101-key PC)
- 1 Generic 101-key PC
- 2 Generic 102-key (Intl) PC
- 3 Generic 104-key PC
- 4 Generic 105-key (Intl) PC
- 5 Dell 101-key PC
- 6 Everex STEPnote
- 7 Keytronic FlexPro
- 8 Microsoft Natural
- 9 Northgate OmniKey 101
- 10 Winbook Model XP5
- 11 Japanese 106-key
- 12 PC-98xx Series
- 13 Brazilian ABNT2
- 14 HP Internet
- 15 Logitech iTouch
- 16 Logitech Cordless Desktop Pro
- 17 Logitech Internet Keyboard
- 18 Logitech Internet Navigator Keyboard
- 19 Compaq Internet
- 20 Microsoft Natural Pro
- 21 Genius Comfy KB-16M
- 22 IBM Rapid Access
- 23 IBM Rapid Access II
- 24 Chicony Internet Keyboard
- 25 Dell Internet Keyboard
+ 1 Generic 101-key PC
+ 2 Generic 102-key (Intl) PC
+ 3 Generic 104-key PC
+ 4 Generic 105-key (Intl) PC
+ 5 Dell 101-key PC
+ 6 Everex STEPnote
+ 7 Keytronic FlexPro
+ 8 Microsoft Natural
+ 9 Northgate OmniKey 101
+ 10 Winbook Model XP5
+ 11 Japanese 106-key
+ 12 PC-98xx Series
+ 13 Brazilian ABNT2
+ 14 HP Internet
+ 15 Logitech iTouch
+ 16 Logitech Cordless Desktop Pro
+ 17 Logitech Internet Keyboard
+ 18 Logitech Internet Navigator Keyboard
+ 19 Compaq Internet
+ 20 Microsoft Natural Pro
+ 21 Genius Comfy KB-16M
+ 22 IBM Rapid Access
+ 23 IBM Rapid Access II
+ 24 Chicony Internet Keyboard
+ 25 Dell Internet Keyboard
Enter a number to choose the keyboard.
1
Please select the layout corresponding to your keyboard
- 1 U.S. English
- 2 U.S. English w/ ISO9995-3
- 3 U.S. English w/ deadkeys
- 4 Albanian
- 5 Arabic
- 6 Armenian
- 7 Azerbaidjani
- 8 Belarusian
- 9 Belgian
- 10 Bengali
- 11 Brazilian
- 12 Bulgarian
- 13 Burmese
- 14 Canadian
- 15 Croatian
- 16 Czech
- 17 Czech (qwerty)
- 18 Danish
+ 1 U.S. English
+ 2 U.S. English w/ ISO9995-3
+ 3 U.S. English w/ deadkeys
+ 4 Albanian
+ 5 Arabic
+ 6 Armenian
+ 7 Azerbaidjani
+ 8 Belarusian
+ 9 Belgian
+ 10 Bengali
+ 11 Brazilian
+ 12 Bulgarian
+ 13 Burmese
+ 14 Canadian
+ 15 Croatian
+ 16 Czech
+ 17 Czech (qwerty)
+ 18 Danish
Enter a number to choose the country.
Press enter for the next page
1
Please enter a variant name for 'us' layout. Or just press enter
for default variant
us
Please answer the following question with either 'y' or 'n'.
Do you want to select additional XKB options (group switcher,
group indicator, etc.)? nТеперь переходим к настройке монитора. Не превышайте
значений для вашего монитора. Он может быть поврежден.
Если у вас есть какие-то сомнения, проводите настройку
после того, как получите информацию.Now we want to set the specifications of the monitor. The two critical
parameters are the vertical refresh rate, which is the rate at which the
whole screen is refreshed, and most importantly the horizontal sync rate,
which is the rate at which scanlines are displayed.
The valid range for horizontal sync and vertical sync should be documented
in the manual of your monitor. If in doubt, check the monitor database
/usr/X11R6/lib/X11/doc/Monitors to see if your monitor is there.
Press enter to continue, or ctrl-c to abort.
You must indicate the horizontal sync range of your monitor. You can either
select one of the predefined ranges below that correspond to industry-
standard monitor types, or give a specific range.
It is VERY IMPORTANT that you do not specify a monitor type with a horizontal
sync range that is beyond the capabilities of your monitor. If in doubt,
choose a conservative setting.
hsync in kHz; monitor type with characteristic modes
1 31.5; Standard VGA, 640x480 @ 60 Hz
2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz
3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)
4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz
5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz
6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz
7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz
8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz
9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz
10 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz
11 Enter your own horizontal sync range
Enter your choice (1-11): 6
You must indicate the vertical sync range of your monitor. You can either
select one of the predefined ranges below that correspond to industry-
standard monitor types, or give a specific range. For interlaced modes,
the number that counts is the high one (e.g. 87 Hz rather than 43 Hz).
1 50-70
2 50-90
3 50-100
4 40-150
5 Enter your own vertical sync range
Enter your choice: 2
You must now enter a few identification/description strings, namely an
identifier, a vendor name, and a model name. Just pressing enter will fill
in default names.
The strings are free-form, spaces are allowed.
Enter an identifier for your monitor definition: HitachiДалее производится выбор видеокарты из списка. Если вы пропустили
карту в списке, продолжайте нажимать Enter,
и список повторится. Показан только отрывок:Now we must configure video card specific settings. At this point you can
choose to make a selection out of a database of video card definitions.
Because there can be variation in Ramdacs and clock generators even
between cards of the same model, it is not sensible to blindly copy
the settings (e.g. a Device section). For this reason, after you make a
selection, you will still be asked about the components of the card, with
the settings from the chosen database entry presented as a strong hint.
The database entries include information about the chipset, what driver to
run, the Ramdac and ClockChip, and comments that will be included in the
Device section. However, a lot of definitions only hint about what driver
to run (based on the chipset the card uses) and are untested.
If you can't find your card in the database, there's nothing to worry about.
You should only choose a database entry that is exactly the same model as
your card; choosing one that looks similar is just a bad idea (e.g. a
GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of
hardware as can be).
Do you want to look at the card database? y
288 Matrox Millennium G200 8MB mgag200
289 Matrox Millennium G200 SD 16MB mgag200
290 Matrox Millennium G200 SD 4MB mgag200
291 Matrox Millennium G200 SD 8MB mgag200
292 Matrox Millennium G400 mgag400
293 Matrox Millennium II 16MB mga2164w
294 Matrox Millennium II 4MB mga2164w
295 Matrox Millennium II 8MB mga2164w
296 Matrox Mystique mga1064sg
297 Matrox Mystique G200 16MB mgag200
298 Matrox Mystique G200 4MB mgag200
299 Matrox Mystique G200 8MB mgag200
300 Matrox Productiva G100 4MB mgag100
301 Matrox Productiva G100 8MB mgag100
302 MediaGX mediagx
303 MediaVision Proaxcel 128 ET6000
304 Mirage Z-128 ET6000
305 Miro CRYSTAL VRX Verite 1000
Enter a number to choose the corresponding card definition.
Press enter for the next page, q to continue configuration.
288
Your selected card definition:
Identifier: Matrox Millennium G200 8MB
Chipset: mgag200
Driver: mga
Do NOT probe clocks or use any Clocks line.
Press enter to continue, or ctrl-c to abort.
Now you must give information about your video card. This will be used for
the "Device" section of your video card in XF86Config.
You must indicate how much video memory you have. It is probably a good
idea to use the same approximate amount as that detected by the server you
intend to use. If you encounter problems that are due to the used server
not supporting the amount memory you have (e.g. ATI Mach64 is limited to
1024K with the SVGA server), specify the maximum amount supported by the
server.
How much video memory do you have on your video card:
1 256K
2 512K
3 1024K
4 2048K
5 4096K
6 Other
Enter your choice: 6
Amount of video memory in Kbytes: 8192
You must now enter a few identification/description strings, namely an
identifier, a vendor name, and a model name. Just pressing enter will fill
in default names (possibly from a card definition).
Your card definition is Matrox Millennium G200 8MB.
The strings are free-form, spaces are allowed.
Enter an identifier for your video card definition:Далее, производится установка видеорежимов для требуемого разрешения.
Обычно используемые значения 640x480, 800x600 и 1024x768, но
они зависят от возможностей видеокарты, размера монитора и
зрительного комфорта. Выбирая глубину цвета, устанавливайте
самое большое поддерживаемое видеокартой значение.For each depth, a list of modes (resolutions) is defined. The default
resolution that the server will start-up with will be the first listed
mode that can be supported by the monitor and card.
Currently it is set to:
"640x480" "800x600" "1024x768" "1280x1024" for 8-bit
"640x480" "800x600" "1024x768" "1280x1024" for 16-bit
"640x480" "800x600" "1024x768" "1280x1024" for 24-bit
Modes that cannot be supported due to monitor or clock constraints will
be automatically skipped by the server.
1 Change the modes for 8-bit (256 colors)
2 Change the modes for 16-bit (32K/64K colors)
3 Change the modes for 24-bit (24-bit color)
4 The modes are OK, continue.
Enter your choice: 2
Select modes from the following list:
1 "640x400"
2 "640x480"
3 "800x600"
4 "1024x768"
5 "1280x1024"
6 "320x200"
7 "320x240"
8 "400x300"
9 "1152x864"
a "1600x1200"
b "1800x1400"
c "512x384"
Please type the digits corresponding to the modes that you want to select.
For example, 432 selects "1024x768" "800x600" "640x480", with a
default mode of 1024x768.
Which modes? 432
You can have a virtual screen (desktop), which is screen area that is larger
than the physical screen and which is panned by moving the mouse to the edge
of the screen. If you don't want virtual desktop at a certain resolution,
you cannot have modes listed that are larger. Each color depth can have a
differently-sized virtual screen
Please answer the following question with either 'y' or 'n'.
Do you want a virtual screen that is larger than the physical screen? n
For each depth, a list of modes (resolutions) is defined. The default
resolution that the server will start-up with will be the first listed
mode that can be supported by the monitor and card.
Currently it is set to:
"640x480" "800x600" "1024x768" "1280x1024" for 8-bit
"1024x768" "800x600" "640x480" for 16-bit
"640x480" "800x600" "1024x768" "1280x1024" for 24-bit
Modes that cannot be supported due to monitor or clock constraints will
be automatically skipped by the server.
1 Change the modes for 8-bit (256 colors)
2 Change the modes for 16-bit (32K/64K colors)
3 Change the modes for 24-bit (24-bit color)
4 The modes are OK, continue.
Enter your choice: 4
Please specify which color depth you want to use by default:
- 1 1 bit (monochrome)
- 2 4 bits (16 colors)
- 3 8 bits (256 colors)
- 4 16 bits (65536 colors)
- 5 24 bits (16 million colors)
+ 1 1 bit (monochrome)
+ 2 4 bits (16 colors)
+ 3 8 bits (256 colors)
+ 4 16 bits (65536 colors)
+ 5 24 bits (16 million colors)
Enter a number to choose the default depth.
4Наконец, настройки нужно сохранить. Убедитесь, что вы ввели
/etc/X11/XF86Config в качестве места
хранения настроек.I am going to write the XF86Config file now. Make sure you don't accidently
overwrite a previously configured one.
Shall I write it to /etc/X11/XF86Config? yЕсли настройка прервалась, вы можете запустить настройку опять,
выбрав [ Yes ], когда появится следующее
сообщение: User Confirmation Requested
The XFree86 configuration process seems to have
failed. Would you like to try again?
[ Yes ] NoЕсли у вас проблемы с настройкой &xfree86;, выберите
[ No ], нажмите Enter
и продолжайте процесс установки. После установки вы можете использовать
xf86cfg -textmode или
xf86config для получения доступа к утилитам настройки
в режиме командной строки под root. Это дополнительный
метод настройки &xfree86;, описанный в
. Если вы решите не настраивать
&xfree86; сейчас, следующим появится меню
выбора пакетов.Настройкой по умолчанию, позволяющей уничтожить процесс X сервера,
является комбинация клавиш CtrlAltBackspace. Эта комбинация
может быть применена, если что-то не так с установками сервера, она
позволяет предотвратить повреждение оборудования.Настройкой по умолчанию, позволяющей переключать видео режимы
во время работы X, является комбинация клавиш
CtrlAlt+ or
CtrlAlt-
- .
+ .
После запуска &xfree86;
вы можете настроить высоту, ширину и центровку изображения
используя xvidtune.Будут выданы предупреждения, что неверные установки могут повредить
ваше оборудование. Прислушайтесь к ним. Если вы сомневаетесь в чем-то,
не делайте этого. Вместо этого, используйте настройки монитора для
подстройки его под X Window. Вид экрана может несколько отличаться
при переключении обратно в текстовый режим, но это лучше, чем
повреждение оборудования.Прочитайте справочник &man.xvidtune.1; перед тем, как производить
какие-либо настройки.После успешной настройки &xfree86;
будет предложен выбор десктопа по умолчанию.Выбор десктопа по умолчанию (Select Default X Desktop)В &os; 5.3-RELEASE настройка X сервера была удалена
из sysinstall, X сервер
нужно будет настроить после установки &os;.
Более подробная информация, относящаяся к установке и настройке
X сервера, находится в . Вы можете пропустить этот раздел, если только
не устанавливаете версию &os; до 5.3-RELEASE.Доступны самые разные оконные менеджеры. Их функциональность
варьируется от самых минимальных до полноценных десктопов
с большим набором программ. Некоторые требуют минимума места на диске
и небольшого количества памяти, другие, с большим набором функций,
требуют гораздо больше. Лучший путь определить наиболее подходящий
- вам — попробовать несколько. Они доступны из Коллекции Портов
- и в виде пакетов, и могут быть добавлены после установки.
+ вам — попробовать несколько. Они доступны из Коллекции Портов
+ и в виде пакетов, и могут быть добавлены после установки.
Вы можете выбрать один из популярных десктопов, он будет
установлен и настроен в качестве десктопа по умолчанию.
Это позволит запустить его сразу после установки.Выбор десктопа по умолчаниюИспользуйте клавиши навигации, чтобы выбрать десктоп, и нажмите
Enter. Будет запущена установка выбранного
десктопа.Установка пакетов (Install Packages)Пакеты — это прекомпилированные бинарные файлы и это
удобный способ установки программ.В качестве примера показана установка одного пакета.
Если потребуется, можно установить дополнительные пакеты. После
установки для добавления пакетов может быть использована команда
sysinstall (/stand/sysinstall
в &os; версии 5.2 и более ранних). User Confirmation Requested
The FreeBSD package collection is a collection of hundreds of
ready-to-run applications, from text editors to games to WEB servers
- and more. Would you like to browse the collection now?
+ and more. Would you like to browse the collection now?
[ Yes ] NoВыбор [ Yes ] и нажатие
Enter приведет к появлению
экрана выбора пакетов:Выбор категории пакетовТолько пакеты с текущего носителя
доступны для установки в любое время.Все доступные пакеты будут показаны если выбрать категорию
All, можно также выбирать отдельные
категории. Перейдите к выбранной категории с помощью клавиш
навигации и нажмите Enter.Появится меню, содержащее доступные в данной категории
пакеты.Выбор пакетовВыбрана оболочка bash.
Выберите все необходимые пакеты, перемещаясь по меню и нажимая
клавишу пробела на выбираемых пакетах. Краткое описание
пакета будет появляться в нижней левой части экрана.Нажатие Tab переключает между последним
выбранным пакетом, &gui.ok;, и &gui.cancel;.После того, как будет закончена отметка пакетов для установки,
нажмите Tab один раз для переключения на &gui.ok;
и нажмите Enter для переключения на меню выбора
пакетов.Нажимая клавиши навигации влево или вправо, можно переключаться
между &gui.ok; и &gui.cancel;. Этот метод может быть применен также
для выбора &gui.ok; и возврата к
меню выбора пакетов нажатием Enter.Установка пакетовИспользуйте Tab и клавиши навигации для выбора
[ Install ] и нажмите Enter.
вам потребуется подтвердить установку пакетов:Подтверждение установки пакетовВыбор &gui.ok; и нажатие Enter запустит
установку пакетов. Во время установки будут выдаваться
сообщения. Обратите внимание на возможные сообщения об
ошибках.После установки пакетов настройка продолжится.
Если вы не выбрали ни один из пакетов и хотите вернуться
к завершению настройки, выберите Install
в любом случае.Добавление пользователей/групп (Add Users/Groups)В процессе установки нужно добавить хотя бы одного пользователя,
чтобы использовать систему без входа под
root. Корневой каталог обычно мал и запуск
приложений под root быстро заполнит его.
Ниже показано предупреждение: User Confirmation Requested
Would you like to add any initial user accounts to the system? Adding
at least one account for yourself at this stage is suggested since
working as the "root" user is dangerous (it is easy to do things which
- adversely affect the entire system).
+ adversely affect the entire system).
[ Yes ] NoВыберите &gui.yes; и нажмите
Enter, чтобы продолжить добавление пользователя.Выбор User (пользователь)Выберите User с помощью клавиш навигации
и нажмите Enter.Вод информации о пользователеПри выборе полей с помощью Tab в нижней
части экрана будет появляться описание, помогающее
ввести необходимую информацию:Логин (Login ID)Имя нового пользователя (обязательно).UID
-
+
Числовой ID (идентификатор) для этого пользователя (оставьте
пустым для автоматического выбора).Группа (Group)Имя группы этого пользователя (оставьте пустым для
автоматического выбора).Пароль (Password)Пароль этого пользователя (заполняйте это поле с
осторожностью!).Полное имяПолное имя пользователя (комментарий).Член групп (Member groups)Группы, к которым принадлежит пользователь (т.е. имеет
права доступа).Домашний каталог (Home directory)Домашний каталог пользователя (оставьте пустым для
выбора по умолчанию).Оболочка (Login shell)Оболочка пользователя, запускаемая при входе в систему
(оставьте пустым для оболочки по умолчанию,
например /bin/sh).Оболочка была изменена с /bin/sh на
/usr/local/bin/bash для использования
bash, которая была перед этим установлена
из пакета. Не пытайтесь использовать несуществующую оболочку, вы
не сможете войти в систему. Наиболее часто используемая в мире
BSD оболочка это C shell, которую можно обозначить как
/bin/tcsh.Пользователь был добавлен в группу wheel,
чтобы иметь возможность стать суперпользователем с привилегиями
root.Когда все будет введено, нажмите &gui.ok; и меню
управления пользователями и группами (User and Group Management)
появится снова:Выход из меню управления пользователями и группамиСейчас также можно добавить группы, если известно, для чего
они потребуются. Иначе в это меню можно войти,
запустив sysinstall
(/stand/sysinstall в &os; версии 5.2 и более
ранних) после окончания установки.
- После завершения добавления пользователей, выберите
+ После завершения добавления пользователей, выберите
Exit с помощью клавиш навигации и нажмите
Enter для продолжения установки.Установка пароля root Message
- Now you must set the system manager's password.
- This is the password you'll use to log in as "root".
+ Now you must set the system manager's password.
+ This is the password you'll use to log in as "root".
- [ OK ]
+ [ OK ]
[ Press enter to continue ]Нажмите Enter для установки пароля
root.Необходимо два раза правильно ввести пароль. Излишне
упоминать, что должна быть возможность восстановления пароля,
если вы его забудете. Обратите внимание, что ни набираемый пароль,
ни звездочки на экран не выдаются.
- Changing local password for root.
-New password :
+ Changing local password for root.
+New password :
Retype new password :Установка продолжится после успешного ввода пароля.Выход из установки (Exiting Install)
- Если нужно настроить дополнительные сетевые устройства, или
+ Если нужно настроить дополнительные сетевые устройства, или
произвести другие настройки, вы можете сделать это сейчас или
после установки с помощью sysinstall
(/stand/sysinstall в &os; версии 5.2
и более ранних). User Confirmation Requested
Visit the general configuration menu for a chance to set any last
- options?
+ options?
Yes [ No ]Выберите &gui.no; с помощью клавиш навигации
и нажмите Enter для возврата к главному меню
установки.Выход из установкиВыберите [X Exit Install] с помощью клавиш
навигации и нажмите Enter. Будет задан вопрос о
подтверждении выхода из установки: User Confirmation Requested
- Are you sure you wish to exit? The system will reboot (be sure to
- remove any floppies from the drives).
+ Are you sure you wish to exit? The system will reboot (be sure to
+ remove any floppies from the drives).
[ Yes ] NoВыберите &gui.yes; и удалите дискету, если
загрузка была с нее. CDROM заблокирован, пока компьютер не начнет
перегружаться. CDROM будет разблокирован и диск нужно будет извлечь
из привода (быстро).Система начнет перезагрузку, смотрите за сообщениями об ошибках,
которые могут появиться.Загрузочный процесс FreeBSD (FreeBSD Bootup)
- Загрузка FreeBSD на &i386;
+ Загрузка FreeBSD на &i386;Если все пройдет нормально, вы увидите прокручивающиеся за экран
сообщения, затем приглашение ко входу в систему. Вы может просмотреть
сообщения, нажав Scroll-Lock и используя
PgUp и PgDn. Нажатие
Scroll-Lock еще раз вернет вас к приглашению.Все сообщение может не отобразиться (ограничение буфера),
но может быть просмотрено путем ввода команды
dmesg в командной строке.Войдите, используя имя пользователя/пароль, добавленные во
время установки (rpratt в этом примере).
Избегайте входа под root, если это не
требуется.Типичные сообщения при загрузке (информация о версии удалена):
-Copyright (c) 1992-2002 The FreeBSD Project.
+Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
- The Regents of the University of California. All rights reserved.
+ The Regents of the University of California. All rights reserved.
Timecounter "i8254" frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
Origin = "AuthenticAMD" Id = 0x580 Stepping = 0
- Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
- AMD Features=0x80000800<SYSCALL,3DNow!>
-real memory = 268435456 (262144K bytes)
-config> di sn0
-config> di lnc0
-config> di le0
-config> di ie0
-config> di fe0
-config> di cs0
-config> di bt0
-config> di aic0
-config> di aha0
-config> di adv0
-config> q
+ Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
+ AMD Features=0x80000800<SYSCALL,3DNow!>
+real memory = 268435456 (262144K bytes)
+config> di sn0
+config> di lnc0
+config> di le0
+config> di ie0
+config> di fe0
+config> di cs0
+config> di bt0
+config> di aic0
+config> di aha0
+config> di adv0
+config> q
avail memory = 256311296 (250304K bytes)
-Preloaded elf kernel "kernel" at 0xc0491000.
-Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
-md0: Malloc disk
+Preloaded elf kernel "kernel" at 0xc0491000.
+Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
+md0: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
-npx0: <math processor> on motherboard
-npx0: INT 16 interface
-pcib0: <Host to PCI bridge> on motherboard
-pci0: <PCI bus> on pcib0
-pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
-pci1: <PCI bus> on pcib1
-pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
-isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
-isa0: <ISA bus> on isab0
-atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
-ata0: at 0x1f0 irq 14 on atapci0
-ata1: at 0x170 irq 15 on atapci0
-uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0
-usb0: <VIA 83C572 USB controller> on uhci0
-usb0: USB revision 1.0
-uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
-uhub0: 2 ports with 2 removable, self powered
-chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
+npx0: <math processor> on motherboard
+npx0: INT 16 interface
+pcib0: <Host to PCI bridge> on motherboard
+pci0: <PCI bus> on pcib0
+pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
+pci1: <PCI bus> on pcib1
+pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
+isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
+isa0: <ISA bus> on isab0
+atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
+ata0: at 0x1f0 irq 14 on atapci0
+ata1: at 0x170 irq 15 on atapci0
+uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0
+usb0: <VIA 83C572 USB controller> on uhci0
+usb0: USB revision 1.0
+uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
+uhub0: 2 ports with 2 removable, self powered
+chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at
-device 10.0 on pci0
-ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
-isa0: too many dependant configs (8)
-isa0: unexpected small tag 14
+device 10.0 on pci0
+ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
+isa0: too many dependant configs (8)
+isa0: unexpected small tag 14
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
-fdc0: FIFO enabled, 8 bytes threshold
-fd0: <1440-KB 3.5" drive> on fdc0 drive 0
-atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0
-atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
-kbd0 at atkbd0
-psm0: <PS/2 Mouse> irq 12 on atkbdc0
-psm0: model Generic PS/2 mouse, device ID 0
+fdc0: FIFO enabled, 8 bytes threshold
+fd0: <1440-KB 3.5" drive> on fdc0 drive 0
+atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0
+atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
+kbd0 at atkbd0
+psm0: <PS/2 Mouse> irq 12 on atkbdc0
+psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
-sc0: <System console> at flags 0x1 on isa0
-sc0: VGA <16 virtual consoles, flags=0x300>
-sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
-sio0: type 16550A
-sio1 at port 0x2f8-0x2ff irq 3 on isa0
-sio1: type 16550A
-ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
-ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
-ppc0: FIFO with 16/16/15 bytes threshold
+sc0: <System console> at flags 0x1 on isa0
+sc0: VGA <16 virtual consoles, flags=0x300>
+sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
+sio0: type 16550A
+sio1 at port 0x2f8-0x2ff irq 3 on isa0
+sio1: type 16550A
+ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
+ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
+ppc0: FIFO with 16/16/15 bytes threshold
ppbus0: IEEE1284 device found /NIBBLE
-Probing for PnP devices on ppbus0:
-plip0: <PLIP network interface> on ppbus0
-lpt0: <Printer> on ppbus0
-lpt0: Interrupt-driven port
+Probing for PnP devices on ppbus0:
+plip0: <PLIP network interface> on ppbus0
+lpt0: <Printer> on ppbus0
+lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
-ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
-ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33
-acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4
-Mounting root from ufs:/dev/ad0s1a
-swapon: adding /dev/ad0s1b as swap device
-Automatic boot in progress...
-/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
+ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
+ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33
+acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4
+Mounting root from ufs:/dev/ad0s1a
+swapon: adding /dev/ad0s1b as swap device
+Automatic boot in progress...
+/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
-/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
+/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
-/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
+/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
-Doing initial network setup: hostname.
+Doing initial network setup: hostname.
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
- inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
- inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
- ether 52:54:05:de:73:1b
-lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
- inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
- inet6 ::1 prefixlen 128
- inet 127.0.0.1 netmask 0xff000000
+ inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
+ inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
+ ether 52:54:05:de:73:1b
+lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
+ inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
+ inet6 ::1 prefixlen 128
+ inet 127.0.0.1 netmask 0xff000000
Additional routing options: IP gateway=YES TCP keepalive=YES
-routing daemons:.
-additional daemons: syslogd.
-Doing additional network setup:.
-Starting final network daemons: creating ssh RSA host key
+routing daemons:.
+additional daemons: syslogd.
+Doing additional network setup:.
+Starting final network daemons: creating ssh RSA host key
Generating public/private rsa1 key pair.
-Your identification has been saved in /etc/ssh/ssh_host_key.
-Your public key has been saved in /etc/ssh/ssh_host_key.pub.
-The key fingerprint is:
+Your identification has been saved in /etc/ssh/ssh_host_key.
+Your public key has been saved in /etc/ssh/ssh_host_key.pub.
+The key fingerprint is:
cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
- creating ssh DSA host key
+ creating ssh DSA host key
Generating public/private dsa key pair.
-Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
-Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
-The key fingerprint is:
+Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
+Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
+The key fingerprint is:
f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
-/usr/local/lib
-a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
+/usr/local/lib
+a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
starting standard daemons: inetd cron sshd usbd sendmail.
-Initial rc.i386 initialization:.
-rc.i386 configuring syscons: blank_time screensaver moused.
-Additional ABI support: linux.
-Local package initialization:.
-Additional TCP options:.
+Initial rc.i386 initialization:.
+rc.i386 configuring syscons: blank_time screensaver moused.
+Additional ABI support: linux.
+Local package initialization:.
+Additional TCP options:.
FreeBSD/i386 (k6-2.example.com) (ttyv0)
-login: rpratt
+login: rpratt
Password:Генерирование ключей RSA и DSA может занять некоторое время
на медленных компьютерах. Это может случиться только при
первой загрузке свежеустановленной системы. Последующие
загрузки будут быстрее.Если X сервер был настроен и был выбран десктоп по умолчанию,
он может быть запущен из командной строки командой
startx.
- Загрузка FreeBSD на Alpha
+ Загрузка FreeBSD на AlphaAlpha
- Когда процедура установки будет завершена, вы сможете
+ Когда процедура установки будет завершена, вы сможете
запустить FreeBSD в приглашении SRM примерно такой командой:>>>BOOT DKC0Это команда дает указание на загрузку с заданного диска. Чтобы
FreeBSD в будущем загружалась автоматически, используйте
эти команды:>>>SET BOOT_OSFLAGS A>>>SET BOOT_FILE ''>>>SET BOOTDEF_DEV DKC0>>>SET AUTO_ACTION BOOTЗагрузочные сообщения будут похожи (но не идентичны)
сообщениям, выводимым FreeBSD при загрузке на &i386;.Завершение работы FreeBSD (FreeBSD Shutdown)Важно правильно завершать работу операционной системы.
Нельзя просто выключать питание. Сначала нужно стать
суперпользователем, введя в командной строке su
и пароль root. Это сработает только если
пользователь является членом группы wheel.
Или зайдите под root и используйте команду
shutdown -h now.
- The operating system has halted.
+ The operating system has halted.
Please press any key to reboot.Можно безопасно выключать питание после того, как будет выполнена
команда shutdown и появится сообщение
Please press any key to reboot. Если вместо выключения
питания будет нажата любая клавиша, система перезагрузится.Вы также можете использовать комбинацию клавиш
-
+ CtrlAltDel
для перезагрузки системы, хотя это не рекомендуется в обычной
ситуации.Поддерживаемое оборудованиеоборудованиеВ настоящее время FreeBSD работает на разнообразных PC, с шинами
ISA, VLB, EISA, и PCI с процессорами x86 от
Intel, AMD, Cyrix, или NexGen, так же как и с
множеством компьютеров на процессорах Compaq Alpha. Поддерживаются также
IDE или ESDI диски, различные SCSI контроллеры, карты PCMCIA,
устройства USB, сетевые карты и карты последовательных портов.
FreeBSD также поддерживает шину MCA от IBM.Список поддерживаемого оборудования поставляется с каждым релизом
- FreeBSD в информации о поддерживаемом FreeBSD оборудовании. Этот
+ FreeBSD в информации о поддерживаемом FreeBSD оборудовании. Этот
документ обычно
может быть найден в файле HARDWARE.TXT в корневом
каталоге CDROM, дистрибутива на FTP или в меню документации
sysinstall. В нем находится список
аппаратных устройств, которые поддерживаются этим релизом
FreeBSD для данной архитектуры. Копии списка поддерживаемого
оборудования для различных релизов и архитектур также можно найти
на странице Информации о
релизах сайта FreeBSD.Решение проблемустановкарешение проблемСледующий раздел описывает основные проблемы при установке, о
которых обычно сообщают пользователи. Здесь также несколько вопросов
и ответов от тех, кто хочет настроить двойную загрузку FreeBSD и
&ms-dos;.Что делать, если что-то идет не такПо причине различных ограничений архитектуры PC, невозможно
протестировать устройства достоверно на 100%, тем не менее,
есть несколько вещей, которые вы можете сделать, если тестирование
завершится неудачно.Сверьтесь со списком поддерживаемого оборудованию для вашей
версии FreeBSD, чтобы убедиться, что ваше оборудование
поддерживается.Если оборудование поддерживается, но все же происходят
зависания или вы встретились с другими проблемами, перегрузите
компьютер, и когда появится опция визуальной настройки ядра, выберите ее.
Это позволит вам просмотреть список оборудования и дать системе
информацию о настройке. Ядро на загрузочном диске настроено в
предположении, что у большинства аппаратных устройств IRQ, адреса
ввода-вывода и каналы DMA установлены производителем к значениям
по умолчанию. Если оборудование было перенастроено, вам
потребуется использовать редактор настроек, чтобы сообщить
FreeBSD, где что искать.Возможно также, что тестирование устройства, которого нет,
приведет позже к ошибке тестирования существующего устройства.
В этом случае тестирование конфликтующего драйвера (драйверов)
должно быть запрещено.
- Некоторые проблемы установки можно обойти или уменьшить,
+ Некоторые проблемы установки можно обойти или уменьшить,
обновив встроенное программное обеспечение различных
компонент оборудования, особенно материнской платы.
- Встроенное программное обеспечение также называют
- BIOS и у большинства производителей
+ Встроенное программное обеспечение также называют
+ BIOS и у большинства производителей
компьютеров или материнских плат есть Web-сайты, где можно найти
обновления и информацию об обновлениях.
- Большинство производителей настоятельно советуют не обновлять
- BIOS пока не возникнет серьезной необходимости,
+ Большинство производителей настоятельно советуют не обновлять
+ BIOS пока не возникнет серьезной необходимости,
например появление критически важных обновлений.
Процесс обновления может пойти неверно,
что приведет к неустранимому повреждению микросхемы
BIOS.
-
+
- Не выключайте драйвера, которые понадобятся вам во время
- установки, такие как экран (sc0).
+ Не выключайте драйвера, которые понадобятся вам во время
+ установки, такие как экран (sc0).
Если после выхода из редактора конфигурации установка
загадочно зависает или прерывается, возможно вы удалили
или изменили что-то, что не надо было трогать. Перегрузитесь
и попробуйте еще раз.В режиме настройки вы можете:
-
- Просматривать список устройств, включенных в ядро.
-
+
+ Просматривать список устройств, включенных в ядро.
+
-
- Отключать драйвера устройств для оборудования, которого нет
+
+ Отключать драйвера устройств для оборудования, которого нет
в системе.
-
+
-
- Менять IRQ, DRQ, адреса портов, используемые драйвером
+
+ Менять IRQ, DRQ, адреса портов, используемые драйвером
устройства.
-
+ После настройки ядра под оборудование нажмите
- Q для загрузки с новыми настройками.
+ Q для загрузки с новыми настройками.
После завершения установки все изменения, внесенные в режиме
настройки, будут действовать постоянно, так что вам не придется
делать настройку при каждой загрузке. Все же очень неплохо, если вы
со временем соберете новое ядро.
+ linkend="kernelconfig">ядро.
-
+
Работа с существующими разделами &ms-dos;DOSМногие пользователи устанавливают &os; на PC
с установленной операционной системой µsoft;. Для этих целей
в &os; есть утилита, называемая FIPS. Ее
можно найти в каталоге tools установочного
CD-ROM или загрузить с одного из множества
зеркал &os;.Утилита FIPS позволит вам разделить
существующий раздел &ms-dos; на две части, сохранив имеющиеся
данные, и сделать установку на второй свободный раздел.
Вам потребуется сначала дефрагментировать раздел &ms-dos; с помощью
&windows; утилиты Disk Defragmenter
(запустите Explorer, кликните правой клавишей мыши на жестком диске и
выберите дефрагментацию диска), или используйте Norton Disk Tools.
Затем запустите утилиту FIPS. Она запросит
необходимую информацию, следуйте инструкциям на экране. Затем
можете перегрузиться и установить &os; на новый свободный слайс.
Смотрите меню Distributions для определения
размера необходимого для выбранного типа установки свободного
пространства.Есть также очень полезная программа
&partitionmagic; от PowerQuest
(http://www.powerquest.com).
Эта программа гораздо более функциональна, чем
FIPS, и очень рекомендуется, если
вы планируете часто добавлять/убирать операционные системы.
Она стоит денег, и если вы планируете установить &os;
и оставить ее, вам возможно отлично подойдет
FIPS.Использование файловых систем &ms-dos; и &windows;В настоящее время, &os; не поддерживает файловые системы, сжатые
с помощью программы Double Space™.
Поэтому файловая система должна быть разжата, чтобы
&os; смогла получить доступ к данным. Это может быть сделано с
помощью приложения Compression Agent,
находящегося в меню Пуск>
Программы > Системные.&os; поддерживает файловые системы &ms-dos;. Для этого потребуется
использовать команду &man.mount.msdos.8; (в &os; 5.X, это
&man.mount.msdosfs.8;) с необходимыми параметрами. Наиболее
распространенный способ использования:&prompt.root; mount_msdos /dev/ad0s1 /mntВ этом примере файловая система &ms-dos; расположена на первом
разделе первого жесткого диска. Ваша конфигурация может быть другой,
проверьте вывод команд dmesg и
mount. Они должны предоставить достаточно
информации для определения названий разделов.Расширенные разделы &ms-dos; обычно располагаются после разделов
&os;. Другими словами, номер слайса может быть больше, чем
используемый &os;. Например, первый раздел &ms-dos; может быть
/dev/ad0s1, раздел &os;
/dev/ad0s2, а расширенный раздел &ms-dos;
/dev/ad0s3. Некоторых это иногда запутывает на
первых порах.Разделы NTFS также можно смонтировать похожим способом, используя
команду &man.mount.ntfs.8;.
-
+
Вопросы и ответы пользователей AlphaAlphaЭтот раздел отвечает на некоторые обычно задаваемые вопросы об
- установке FreeBSD на Alpha.
+ установке FreeBSD на Alpha.
Могу я загрузиться с ARC или с консоли Alpha BIOS?ARCAlpha BIOSSRMНет. &os;, как и Compaq Tru64 и VMS, может загружаться
только с консоли SRM.Помогите, у меня нет места! Должен ли я сначала
все удалить?К сожалению, да.Могу ли я смонтировать файловые системы
Compaq Tru64 или VMS?В настоящее время нет.ValentinoVaschettoПредоставлено Расширенное руководство по установкеЭтот раздел описывает особые случаи установки FreeBSD.Установка FreeBSD на систему без монитора или клавиатуры
- установка
- без монитора (последовательная консоль)
+ установка
+ без монитора (последовательная консоль)последовательная консольЭтот тип установки называется установка без
монитора, потому что на компьютере, на который вы пробуете
установить FreeBSD или не подсоединен монитор, или даже нет
VGA выхода. Вы спросите, как это возможно? Используя последовательную
консоль. Последовательная консоль в своей основе имеет другой
компьютер, который служит дисплеем и клавиатурой для системы.
Чтобы сделать это, создайте инсталляционные дискеты, как
описано в .Чтобы модифицировать дискеты для загрузки с последовательной
консоли, следуйте этой инструкции:Включение загрузки с последовательной консолиmountЕсли вы произведете загрузку с только что полученных дискет,
FreeBSD загрузится в нормальный режим установки. Мы хотим,
чтобы FreeBSD загрузилась на последовательную консоль для
нашей установки. Чтобы сделать это, смонтируйте
kern.flp на вашу систему FreeBSD
используя команду &man.mount.8;.
- &prompt.root; mount /dev/fd0 /mnt
+ &prompt.root; mount /dev/fd0 /mntТеперь, когда дискета смонтирована, нужно перейти в
каталог /mnt:&prompt.root; cd /mntСейчас вам нужно настроить дискету для загрузки в
последовательную консоль. Создайте файл
boot.config, содержащий
/boot/loader -h. Это нужно для того, чтобы
передать загрузчику флаг загрузки с последовательной
консоли.
- &prompt.root; echo "/boot/loader -h" > boot.config
+ &prompt.root; echo "/boot/loader -h" > boot.configТеперь, когда ваша дискета правильно настроена,
размонтируйте ее с помощью команды &man.umount.8;:
- &prompt.root; cd /
+ &prompt.root; cd /
&prompt.root; umount /mntТеперь удалите дискету из дисковода.Подсоединение нуль-модемного кабелянуль-модемный кабельТеперь нужно соединить два компьютера нуль-модемным кабелем.
Просто подсоедините этот кабель к последовательным
портам двух компьютеров. Обычный последовательный
кабель не будет работать, вам потребуется
нуль-модемный кабель, поскольку в нем некоторые соединения
перевернуты.Загрузка для установки
- Настало время начать установку. Вставьте диск
+ Настало время начать установку. Вставьте диск
kern.flp в дисковод компьютера, на который
вы будете производить установку без монитора и включите его.Подключение к компьютеру без монитораcuТеперь вы можете подключиться к этому компьютеру с помощью
- &man.cu.1;:
+ &man.cu.1;:
&prompt.root; cu -l /dev/cuaa0Это все! Теперь вы можете управлять компьютером без монитора через
- сессию cu. Будет запрошен диск
+ сессию cu. Будет запрошен диск
mfsroot.flp, затем появится выбор типа
терминала. Выберите цветную консоль FreeBSD и проводите
установку!Подготовка собственного источника установкиЧтобы не повторяться, диск FreeBSD в данном случае
означает FreeBSD CDROM или DVD, который вы купили или подготовили
самостоятельно.Может быть несколько ситуаций, в которых вам потребуется подготовить
собственный диск и/или источник для установки FreeBSD. Это может быть
физический носитель, такой как лента, или источник, с которого
sysinstall сможет взять файлы, такой как
локальный сервер FTP, или раздел &ms-dos;.Например:У вас есть много компьютеров, подсоединенных к локальной сети, и
один диск с FreeBSD. Вы хотите создать локальный сервер FTP,
используя содержимое диска FreeBSD, а затем использовать с ваших
компьютеров этот локальный сервер FTP вместо подсоединения к
интернет.У вас есть диск с FreeBSD, и FreeBSD не распознает ваш CD/DVD
привод, а &ms-dos;/&windows; распознает. Вы хотите скопировать
файлы установки FreeBSD на раздел DOS этого же компьютера и
установить FreeBSD, используя эти файлы.На компьютере, на который вы хотите провести установку, нет ни
привода CD/DVD, ни сетевой карты, но вы можете подсоединиться в
Laplink-стиле последовательным или параллельным
кабелем к другому компьютеру, на котором они есть.Вы хотите создать ленту, которую можно использовать для
установки FreeBSD.Создание установочного CDROMВ составе каждого релиза проект FreeBSD предоставляет доступ к
двум образам CDROM (ISO images). Эти образы могут
быть записаны (прожжены) на CD если у вас есть CD-рекордер,
а затем использованы для установки FreeBSD. Если у вас есть
CD-рекордер и дешевый канал интернет, это простейший путь
установить FreeBSD.Скачайте соответствующие ISO образы
- ISO образы для каждого релиза могут быть загружены с ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-архитектура/версия или с ближайшего зеркала.
- Замените архитектура и
+ ISO образы для каждого релиза могут быть загружены с ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-архитектура/версия или с ближайшего зеркала.
+ Замените архитектура и
версия в соответствии архитектурой
(Alpha или &i386;) и номером релиза соответственно.Этот каталог обычно содержит следующие образы:
Названия ISO-образов FreeBSD 4.X
- и их назначение
+ и их назначение
Имя файлаСодержимое
- version-RELEASE-arch-miniinst.iso
+ version-RELEASE-arch-miniinst.isoВсё, что вам нужно для установки FreeBSD.
- version-RELEASE-arch-disc1.iso
+ version-RELEASE-arch-disc1.isoВсе, что вам нужно для установки FreeBSD, и столько
дополнительных пакетов сторонних производителей, сколько
уместилось на диске.
- version-RELEASE-arch-disc2.iso
+ version-RELEASE-arch-disc2.isolive filesystem, используемая в
сочетании со средством Repair программы
sysinstall. Копия дерева CVS
FreeBSD. Столько дополнительных пакетов сторонних
производителей, сколько уместилось на диске.
-
- Названия ISO-образов дисков FreeBSD
- 5.X и их значения
+
+ Названия ISO-образов дисков FreeBSD
+ 5.X и их значения
-
-
-
- Имя файла
+
+
+
+ Имя файла
- Содержимое
-
-
+ Содержимое
+
+
-
-
- version-RELEASE-arch-bootonly.iso
+
+
+ version-RELEASE-arch-bootonly.iso
- Всё, что вам нужно, чтобы загрузить ядро FreeBSD и
- войти в интерфейс установки. Установочные файлы сгружаются
- с FTP или другого поддерживаемого источника.
-
+ Всё, что вам нужно, чтобы загрузить ядро FreeBSD и
+ войти в интерфейс установки. Установочные файлы сгружаются
+ с FTP или другого поддерживаемого источника.
+
-
- version-RELEASE-arch-miniinst.iso
+
+ version-RELEASE-arch-miniinst.iso
- Всё, что вам нужно для установки FreeBSD.
-
+ Всё, что вам нужно для установки FreeBSD.
+
-
- version-RELEASE-arch-disc1.iso
+
+ version-RELEASE-arch-disc1.iso
- Всё, что вам нужно для установки &os; и
- живой файловой системы, которая используется
- вместе с функцией Repair программы
- sysinstall.
-
+ Всё, что вам нужно для установки &os; и
+ живой файловой системы, которая используется
+ вместе с функцией Repair программы
+ sysinstall.
+
-
- version-RELEASE-arch-disc2.iso
+
+ version-RELEASE-arch-disc2.iso
- Документация по &os; и пакеты сторонних разработчиков,
- которые смогли поместиться на диск.
-
-
-
-
+ Документация по &os; и пакеты сторонних разработчиков,
+ которые смогли поместиться на диск.
+
+
+
+
- Вы должны сгрузить ISO-образ miniinst либо
+ Вы должны сгрузить ISO-образ miniinst либо
образ первого диска. Не сгружайте их оба, так как
образ первого диска содержит всё, что есть на ISO-образе
- miniinst.
+ miniinst.
-
- ISO-образ miniinst доступен только для релизов,
- предшествующих 5.4-RELEASE.
-
+
+ ISO-образ miniinst доступен только для релизов,
+ предшествующих 5.4-RELEASE.
+ Используйте ISO-образ miniinst, если доступ в Internet для
- вас обходится недорого. Он позволит вам установить FreeBSD, и вы
- сможете установить
+ вас обходится недорого. Он позволит вам установить FreeBSD, и вы
+ сможете установить
впоследствии программы сторонних производителей используя
систему портов/пакетов (смотрите
) если необходимо.Используйте образ первого диска, если вы хотите установить
- релиз &os; 4.X и получить
- достаточный набор программ сторонних производителей, расположенных
- на этом диске.
+ релиз &os; 4.X и получить
+ достаточный набор программ сторонних производителей, расположенных
+ на этом диске.Дополнительные образы дисков полезны, но не необходимы,
особенно если у вас есть высокоскоростной доступ к интернет.Запись CDЗатем вам нужно записать образы CD на диски. Если вы делаете
это из другой системы FreeBSD, обратитесь к
- за более подробной информацией (в
- частности, и
+ за более подробной информацией (в
+ частности, и
).Если вы делаете это в другой системе, потребуется
использовать те утилиты для управления CD-рекордером, которые
есть в этой системе. Образы дисков предоставляются в стандартном
формате ISO, который поддерживается многими программами.
- Если вы интересуетесь созданием собственных вариантов релизов
- FreeBSD, пожалуйста, прочтите статью о Процессе подготовки
- релизов.
+ Если вы интересуетесь созданием собственных вариантов релизов
+ FreeBSD, пожалуйста, прочтите статью о Процессе подготовки
+ релизов.Создание локального сервера FTP с FreeBSD
-
+
установкасетьFTPДиск FreeBSD сформирован так же, как и сервер FTP. Это сильно
упрощает создание локального сервера FTP, который может быть
использован другими компьютерами вашей сети для установки
FreeBSD.Убедитесь, что на компьютере FreeBSD, на котором будет
установлен сервер FTP, CDROM находится в приводе и смонтируйте
/cdrom.&prompt.root; mount /cdromСоздайте учетную запись для anonymous FTP в
/etc/passwd. Сделайте это, отредактировав
/etc/passwd с помощью &man.vipw.8; и добавив
эту строку:ftp:*:99:99::0:0:FTP:/cdrom:/nonexistentУбедитесь что сервис FTP включен в
/etc/inetd.conf.Всякий, кто может подсоединиться по сети к вашему компьютеру,
может выбрать тип носителя FTP и набрать
ftp://ваш компьютер
после выбора Other в меню серверов FTP во время
установки.
- Если загрузочный носитель (обычно это дискеты) для ваших
- FTP-клиентов в точности не соответствует версии, находящейся на
- локальном сервере FTP, то sysinstall не позволит вам завершить
- установку. Если версии похожи и вы хотите это явно указать, то
- перейдите в меню Options и замените название дистрибутива на
- any.
+ Если загрузочный носитель (обычно это дискеты) для ваших
+ FTP-клиентов в точности не соответствует версии, находящейся на
+ локальном сервере FTP, то sysinstall не позволит вам завершить
+ установку. Если версии похожи и вы хотите это явно указать, то
+ перейдите в меню Options и замените название дистрибутива на
+ any.Этот подход хорош для компьютера в вашей локальной сети,
защищенного с помощью файрволла. Предоставление сервиса FTP
другим компьютерам через интернет (а не через локальную сеть)
привлекает к вашему компьютеру внимание кракеров и других
лиц, чье внимание нежелательно. Мы настоятельно рекомендуем
придерживаться правильной политики безопасности, если вы
делаете это.
- Создание дискет для установки
+ Создание дискет для установкиустановкадискетыЕсли вам требуется выполнить установку с дискет (чего мы
не рекомендуем делать) или по причине
не поддерживаемого оборудования, или просто потому, что
вы не любите простых путей, потребуется сначала
подготовить несколько дискет для установки.Как минимум, вам потребуется столько 1.44 MB или 1.2 MB
- дискет, сколько нужно, чтобы вместить все файлы из каталога
+ дискет, сколько нужно, чтобы вместить все файлы из каталога
bin (binary distribution). Если
вы подготавливаете эти дискеты из DOS, они
должны быть отформатированы с помощью команды
&ms-dos; FORMAT. Если вы используете &windows;,
используйте Explorer для форматирования дисков (кликните правой
кнопкой мыши на диске A: и выберите
Format).Не доверяйте заводскому форматированию
дискет. Отформатируйте их еще раз самостоятельно, просто для
уверенности. Множество проблем, о которых сообщали наши пользователи,
были результатом использования неправильно отформатированных дисков,
поэтому мы сейчас обращаем на это внимание.Если вы создаете образы на другом компьютере FreeBSD,
форматирование все еще не лишне, хотя вам не потребуется
создавать файловую систему DOS на каждой дискете. Вы можете
использовать disklabel и newfs
для создания на них файловых систем UFS, в следующей
последовательности (для 3.5" 1.44 MB дискет):&prompt.root; fdformat -f 1440 fd0.1440
&prompt.root; disklabel -w -r fd0.1440 floppy3
&prompt.root; newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0Используйте fd0.1200 и
floppy5 для 5.25" 1.2 MB дискет.Затем вы можете смонтировать их и писать на них как на любую
другую файловую систему.После форматирования дискет вам потребуется скопировать на них
файлы. Файлы дистрибутива разделены на части, размер которых
позволяет легко разместить пять частей на обычной 1.44 MB дискете.
Заполните все дискеты файлами, помещая столько файлов на одну
дискету, сколько уместится, пока у вас не будет всех необходимых
компонент дистрибутива. Каждый компонент должен располагаться
в подкаталоге на дискете, например
a:\bin\bin.aa,
a:\bin\bin.ab, и так далее.Как только в процессе установки появится экран Media,
выберите Floppy и установка продолжится.
- Установка с раздела &ms-dos;
+ Установка с раздела &ms-dos;установкас MS-DOSЧтобы подготовиться к установке с раздела &ms-dos;,
скопируйте файлы с дистрибутива в каталог
- freebsd корневого каталога раздела.
+ freebsd корневого каталога раздела.
Например, c:\freebsd. Структура каталога
CDROM или сервера FTP должна быть в точности воспроизведена в
этом каталоге, мы предлагаем использовать команду DOS
xcopy если вы копируете дистрибутив с CD.
Например, чтобы подготовить минимальную установку FreeBSD:C:\>md c:\freebsdC:\>xcopy e:\bin c:\freebsd\bin\ /sC:\>xcopy e:\manpages c:\freebsd\manpages\ /sПредполагается, что на C: есть свободное
место, а на E: смонтирован CDROM.
-
+
Если у вас нет CDROM, можно загрузить дистрибутив с ftp.FreeBSD.org.
Каждый компонент находится в своем собственном каталоге, например
компонент base можно найти в каталоге &rel.current;/base/.
-
+
В 4.X и более поздних релизах &os; компонент
base называется bin. Поправьте
команды и ссылки соответственно, если вы используете эти
версии.Все компоненты, которые вы будете устанавливать с раздела
&ms-dos; (и для которых у вас есть место), нужно расположить в
c:\freebsd — для минимальной установки
нужна только компонента BIN.
- Создание ленты для установки
+ Создание ленты для установкиустановкас ленты QIC/SCSIУстановка с ленты это возможно самый простой метод, уступающий
только установке с FTP или CDROM. Программа установки может
найти на ленте файлы, которые записаны на нее с помощью tar.
После получения всех файлов дистрибутива, которые вам нужны,
запишите их на ленту с помощью tar:&prompt.root; cd /freebsd/distdir
&prompt.root; tar cvf /dev/rwt0 dist1 ... dist2Когда вы приступите к установке, нужно убедиться в наличии
достаточного места во временном каталоге (который будет
предложено выбрать), чтобы поместилось все
содержимое записанной ленты. Поскольку лента — устройство
не-произвольного доступа, этот метод установки требует некоторого
места во временном хранилище.При начале установки лента должна быть в приводе
до загрузки с дискеты.
В ином случае она может быть не найдена при тестировании
устройств.
- Перед установкой по сети
+ Перед установкой по сетиустановкасетьпоследовательная (SLIP или PPP)установкасетьпараллельная (PLIP)установкасетьEthernetЕсть три возможных типа установки по сети. Через последовательный
порт (SLIP или PPP), параллельный порт (PLIP (laplink кабель)),
или Ethernet (стандартный Ethernet контроллер (включая некоторые
PCMCIA)).Поддержка SLIP немного примитивна, и ограничена в основном
постоянными соединениями, такими как последовательный
кабель между ноутбуком и другим компьютером. Соединение должно быть
постоянным, так как устанавливаемый SLIP в настоящее время не имеет
возможности дозвона; эта возможность предоставляется программой PPP,
которая должна быть использована вместо SLIP когда это
возможно.Если вы используете модем, PPP это конечно почти единственный
выбор. Убедитесь что у вас есть информация о провайдере, так как она
- понадобится на довольно ранней стадии процесса установки.
+ понадобится на довольно ранней стадии процесса установки.
Если вы используете PAP или CHAP для соединения с провайдером
- (другими словами, вы можете соединяться с провайдером из
+ (другими словами, вы можете соединяться с провайдером из
&windows; без использования скрипта), все что вам понадобится это
ввести dial в приглашении
ppp. Иначе вам нужно знать, как
дозвониться до провайдера с помощью AT команд,
специфичных для вашего модема, так как программа дозвона PPP
предоставляет только очень простой эмулятор терминала. Обратитесь
к руководству user-ppp и FAQ для получения более подробных
сведений. Если у вас проблемы, логи могут быть выведены на экран
с помощью команды set log local ....
- Если доступно постоянное соединение с другой машиной
+ Если доступно постоянное соединение с другой машиной
FreeBSD (2.0-R или выше), вы можете также подумать об
установке через параллельный порт laplink кабелем.
Скорость соединения через параллельный порт значительно выше, чем
обычно возможно через последовательную линию (до 50 кбайт/с),
это приведет к ускорению установки.Наконец, для самой быстрой установки по сети хорошим выбором
будет Ethernet адаптер! FreeBSD поддерживает большинство
PC Ethernet карт; список поддерживаемых карт (и требуемых
для них установок) предоставляется в информации об оборудовании
для каждого релиза FreeBSD. Если вы используете одну из
поддерживаемых PCMCIA Ethernet карт, убедитесь также, что она
подключена перед тем, как ноутбук будет
включен! К сожалению, FreeBSD в настоящее время не поддерживает
горячее подключение PCMCIA карт во время установки.Вам также потребуется знать IP адрес в сети, сетевую
маску для класса подсети, и имя компьютера. Если вы делаете
установку через соединение PPP и у вас нет статического
IP, не бойтесь, IP адрес будет динамически выделен вам провайдером.
Системный администратор может подсказать вам, какие значения
использовать для данной установки по сети. Если вы будете обращаться
к другим хостам по имени, а не по IP адресу, понадобится также
сервер DNS и, возможно, адрес шлюза (если вы используете PPP, это
IP адрес вашего провайдера), чтобы связаться с ним. Если вы хотите
производить установку с FTP через HTTP прокси,
потребуется также адрес прокси. Если вы не знаете ответов
на все или большинство этих вопросов, свяжитесь с системным
администратором или ISP перед тем, как начать
этот тип установки.Перед установкой через NFSустановкасетьNFSУстановка через NFS очень проста. Просто скопируйте
компоненты FreeBSD, которые вам нужны, на NFS сервер,
а затем укажите на него при выборе источника установки NFS.Если этот сервер поддерживает только привилегированные
порты (это как правило так для рабочих станций Sun),
потребуется установить параметр NFS Secure
в меню Options перед тем, как начать
установку.Если у вас Ethernet карта плохого качества с низкой скоростью
передачи данных, вы возможно захотите переключить
флаг NFS Slow в Options.Чтобы установка по NFS работала, сервер должен поддерживать
монтирование подкаталогов, например, если установочный каталог
дистрибутива FreeBSD &rel.current; находится на:
ziggy:/usr/archive/stuff/FreeBSD,
ziggy должен позволять непосредственное
монтирование /usr/archive/stuff/FreeBSD,
а не только /usr или
/usr/archive/stuff.В файле FreeBSD /etc/exports это
управляется параметром . Другие NFS
серверы могут иметь другие соглашения. Если вы получаете
сообщения сервера permission denied,
это может означать, что соответствующая опция не включена.
diff --git a/ru_RU.KOI8-R/books/handbook/introduction/chapter.sgml b/ru_RU.KOI8-R/books/handbook/introduction/chapter.sgml
index 3ffd755475..d1e78cf8f3 100644
--- a/ru_RU.KOI8-R/books/handbook/introduction/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/introduction/chapter.sgml
@@ -1,974 +1,974 @@
- Jim
+ JimMockИсправил, реорганизовал и частично
переписал АлексейЗелькинПеревод на русский язык: ДенисПеплинВведениеКраткий обзорМы благодарим вас за интерес к FreeBSD! Следующая глава
расскажет о некоторых аспектах проекта FreeBSD, таких как история,
цели, модель разработки, и прочее.Из этой главы вы узнаете:Какое отношение имеет FreeBSD к другим операционным
системам.Историю проекта FreeBSD.Цели проекта FreeBSD.Основы модели разработки FreeBSD с открытыми исходными
текстами.И, конечно, откуда появилось имя FreeBSD.Добро пожаловать во FreeBSD!4.4BSD-LiteFreeBSD — это основанная на 4.4BSD-Lite операционная система для
компьютеров Intel (x86 и &itanium;), AMD64,
Alpha и Sun &ultrasparc;. Ведется
работа по портированию и на другие архитектуры. Вы можете также
прочесть об истории FreeBSD,
или о текущем релизе. Если вы
заинтересованы в помощи проекту (кодом, аппаратным обеспечением,
деньгами), прочтите статью Помощь
FreeBSD.Что может FreeBSD?FreeBSD имеет заслуживающие внимания возможности. Некоторые из
- них:
+ них:
- вытесняющая многозадачность
-
- Вытесняющая многозадачность с
- динамическим регулированием приоритетов, позволяющая плавно и
+ вытесняющая многозадачность
+
+ Вытесняющая многозадачность с
+ динамическим регулированием приоритетов, позволяющая плавно и
справедливо распределить ресурсы компьютера между
- приложениями и пользователями, даже при тяжелейших нагрузках.
-
-
+ приложениями и пользователями, даже при тяжелейших нагрузках.
+
+ многопользовательская поддержка
-
- Многопользовательская поддержка, которая
- позволяет множеству людей использовать FreeBSD совместно для
+
+ Многопользовательская поддержка, которая
+ позволяет множеству людей использовать FreeBSD совместно для
различных задач. Это значит, например, что системная периферия,
такая как принтеры и ленточные устройства, правильно разделяется
всеми пользователями в системе или сети, и что пользователям или
- группам пользователей могут быть установлены лимиты каждого
+ группам пользователей могут быть установлены лимиты каждого
ресурса, защищая критические системные ресурсы от перегрузок.
-
+ TCP/IP-стек
-
- Мощный TCP/IP-стек с поддержкой
- промышленных стандартов, таких как SLIP, PPP, NFS, DHCP и NIS.
- Это означает, что FreeBSD может легко взаимодействовать
- с другими системами, а также работать сервером масштаба
+
+ Мощный TCP/IP-стек с поддержкой
+ промышленных стандартов, таких как SLIP, PPP, NFS, DHCP и NIS.
+ Это означает, что FreeBSD может легко взаимодействовать
+ с другими системами, а также работать сервером масштаба
предприятия, предоставляя жизненно важные
- функции, такие как NFS (удалённый доступ к файлам) и услуги
- электронной почты, или представить вашу организацию в Интернете,
+ функции, такие как NFS (удалённый доступ к файлам) и услуги
+ электронной почты, или представить вашу организацию в Интернете,
обеспечивая работу служб WWW, FTP, маршрутизацию и функции
межсетевого экрана (брандмауэра).
-
-
+
+ защита памяти
-
- Защита памяти гарантирует, что
- приложения (или пользователи) не смогут чинить препятствия
- друг другу. Фатальная ошибка в выполнении одного приложения
- не скажется на работоспособности всей системы.
-
-
-
- FreeBSD 32-разрядная операционная система
- (64-разрядная на Alpha, &itanium;, AMD64, и
+
+ Защита памяти гарантирует, что
+ приложения (или пользователи) не смогут чинить препятствия
+ друг другу. Фатальная ошибка в выполнении одного приложения
+ не скажется на работоспособности всей системы.
+
+
+
+ FreeBSD 32-разрядная операционная система
+ (64-разрядная на Alpha, &itanium;, AMD64, и
&ultrasparc;) и изначально создавалась именно такой.
-
+ X Window SystemXFree86
-
- Промышленный стандарт X Window System
- (X11R6) предоставляет графический интерфейс пользователя (GUI) для
- большинства VGA карт и мониторов, и поставляется с полными
+
+ Промышленный стандарт X Window System
+ (X11R6) предоставляет графический интерфейс пользователя (GUI) для
+ большинства VGA карт и мониторов, и поставляется с полными
исходными текстами.
-
+ двоичная совместимостьLinuxдвоичная совместимостьSCOдвоичная совместимостьSVR4двоичная совместимостьBSD/OSдвоичная совместимостьNetBSD
- Двоичная совместимость с большинством
- программ, созданных для Linux, SCO, SVR4, BSDI и NetBSD.
-
+ Двоичная совместимость с большинством
+ программ, созданных для Linux, SCO, SVR4, BSDI и NetBSD.
+
-
- Тысячи готовых к использованию
- приложений доступны из коллекций портов и
+
+ Тысячи готовых к использованию
+ приложений доступны из коллекций портов и
пакетов FreeBSD.
- Зачем искать что-то в сети, когда вы можете найти
- всё прямо здесь?
-
-
-
- Тысячи других
- легко адаптируемых приложений доступны в
- Интернете. FreeBSD совместима по исходным текстам с большинством
- популярных коммерческих &unix;-систем и, таким образом, большинство
- приложений требуют лишь небольших изменений для сборки (или не
+ Зачем искать что-то в сети, когда вы можете найти
+ всё прямо здесь?
+
+
+
+ Тысячи других
+ легко адаптируемых приложений доступны в
+ Интернете. FreeBSD совместима по исходным текстам с большинством
+ популярных коммерческих &unix;-систем и, таким образом, большинство
+ приложений требуют лишь небольших изменений для сборки (или не
требуют вообще).
-
+ виртуальная память
-
- Виртуальная память с поддержкой
- сброса неиспользуемых страниц по требованию и
- объединение виртуальной памяти и буферного кэша
+
+ Виртуальная память с поддержкой
+ сброса неиспользуемых страниц по требованию и
+ объединение виртуальной памяти и буферного кэша
спроектированы так, чтобы максимально эффективно удовлетворить
приложения с огромными аппетитами к памяти и, в то же время,
сохранить интерактивность для остальных пользователей.
-
+
-
+ симметричная многопроцессорность (SMP)
-
- Поддержка симметричной многопроцессорности (SMP) для машин с
- несколькими процессорами.
-
+
+ Поддержка симметричной многопроцессорности (SMP) для машин с
+ несколькими процессорами.
+ компиляторыCкомпиляторыC++компиляторыFORTRAN
-
- Полный комплект инструментов для разработчика:
- C, C++,
- Fortran и Perl.
- Множество дополнительных языков программирования для исследований
- и разработки также доступны из коллекций портов и пакетов.
-
+
+ Полный комплект инструментов для разработчика:
+ C, C++,
+ Fortran и Perl.
+ Множество дополнительных языков программирования для исследований
+ и разработки также доступны из коллекций портов и пакетов.
+ исходный текст
-
- Доступность исходных текстов всей системы
- означает, что вы имеете максимальный контроль над операционной
+
+ Доступность исходных текстов всей системы
+ означает, что вы имеете максимальный контроль над операционной
средой. Зачем выбирать закрытые решения и уповать на милость
- производителя, когда вы можете получить по-настоящему открытую
- систему?
-
+ производителя, когда вы можете получить по-настоящему открытую
+ систему?
+
-
- Обширная online-документация.
-
+
+ Обширная online-документация.
+
-
- И многое-многое другое!
-
+
+ И многое-многое другое!
+ 4.4BSD-Lite
- Computer Systems Research Group (CSRG)
+ Computer Systems Research Group (CSRG)U.C. BerkeleyFreeBSD основана на 4.4BSD-Lite от Computer
- Systems Research Group (CSRG) Калифорнийского Университета, Беркли,
- и продолжает славную традицию разработки BSD-систем.
- В дополнении к прекрасной работе, предоставленной
- CSRG, Проект FreeBSD тратит многие тысячи часов для
- тонкой настройки системы для максимальной производительности и надёжности
- в условиях максимально приближенным к боевым.
+ Systems Research Group (CSRG) Калифорнийского Университета, Беркли,
+ и продолжает славную традицию разработки BSD-систем.
+ В дополнении к прекрасной работе, предоставленной
+ CSRG, Проект FreeBSD тратит многие тысячи часов для
+ тонкой настройки системы для максимальной производительности и надёжности
+ в условиях максимально приближенным к боевым.
Когда большинство коммерческих гигантов только пытаются достичь такого
уровня возможностей, производительности и надежности операционных
систем для ПК, FreeBSD может предложить все это прямо
сейчас!Применение FreeBSD в действительности ограничено только вашим
- воображением. От разработки программного обеспечения до автоматизации
- производства, от складского учета до дистанционной
- коррекции азимутов спутниковых антенн; если задачи можно
- решить с помощью коммерческих &unix;-систем, скорее всего, они
- решаемы и с помощью FreeBSD! FreeBSD также существенно выигрывает
+ воображением. От разработки программного обеспечения до автоматизации
+ производства, от складского учета до дистанционной
+ коррекции азимутов спутниковых антенн; если задачи можно
+ решить с помощью коммерческих &unix;-систем, скорее всего, они
+ решаемы и с помощью FreeBSD! FreeBSD также существенно выигрывает
за счет буквально тысяч высококачественных приложений, разработанных
- исследовательскими центрами и университетами во всём мире, и доступных
- за минимальную цену или даже бесплатно. Коммерческие приложения
+ исследовательскими центрами и университетами во всём мире, и доступных
+ за минимальную цену или даже бесплатно. Коммерческие приложения
также доступны, и их с каждым днем становится всё больше.Поскольку исходные тексты FreeBSD общедоступны,
- система может быть оптимизирована в почти невероятной степени
- для специальных приложений или проектов, а это, обычно,
- невозможно при использовании операционных систем от большинства
- коммерческих производителей. Вот несколько примеров того, как
- сейчас используется FreeBSD:
+ система может быть оптимизирована в почти невероятной степени
+ для специальных приложений или проектов, а это, обычно,
+ невозможно при использовании операционных систем от большинства
+ коммерческих производителей. Вот несколько примеров того, как
+ сейчас используется FreeBSD:
-
- Интернет-службы: мощнейший TCP/IP
- стек делает FreeBSD идеальной платформой для большинства
- Интернет-приложений, таких как:
+
+ Интернет-службы: мощнейший TCP/IP
+ стек делает FreeBSD идеальной платформой для большинства
+ Интернет-приложений, таких как:
-
+ FTP-серверы
-
- FTP-серверы
-
+
+ FTP-серверы
+ web-серверы
-
- Серверы World Wide Web (как стандартные, так и защищённые
- [SSL])
-
+
+ Серверы World Wide Web (как стандартные, так и защищённые
+ [SSL])
+ межсетевой экранNAT
-
- Межсетевые экраны (firewalls) и шлюзы NAT
- (IP-маскарадинг)
-
+
+ Межсетевые экраны (firewalls) и шлюзы NAT
+ (IP-маскарадинг)
+ электронная почтаemailemail
-
- Серверы электронной почты
-
+
+ Серверы электронной почты
+ USENET
-
- Серверы новостей или дискуссионных групп USENET
-
+
+ Серверы новостей или дискуссионных групп USENET
+
-
- и многое другое...
-
-
+
+ и многое другое...
+
+
- Вы можете начать своё знакомство с FreeBSD, используя недорогой
+ Вы можете начать своё знакомство с FreeBSD, используя недорогой
ПК класса 386, а впоследствии увеличить её мощь до сервера масштаба
- предприятия с четырьмя процессорами Xeon и RAID контроллером.
-
-
-
- Образование: Вы студент и ваше
- образование связано с компьютерами или другими инженерными
- дисциплинами? Нет лучшего пути начать изучение операционных
- систем, архитектуры компьютера и работы в сети, чем освоить
+ предприятия с четырьмя процессорами Xeon и RAID контроллером.
+
+
+
+ Образование: Вы студент и ваше
+ образование связано с компьютерами или другими инженерными
+ дисциплинами? Нет лучшего пути начать изучение операционных
+ систем, архитектуры компьютера и работы в сети, чем освоить
FreeBSD. Количество свободно доступных пакетов САПР, математических
- и графических пакетов также делают её чрезвычайно полезной
+ и графических пакетов также делают её чрезвычайно полезной
для тех, кто использует компьютер как инструмент для выполнения
другой работы!
-
+
-
- Исследования: За счёт доступности
+
+ Исследования: За счёт доступности
исходных текстов для всей системы, FreeBSD — превосходная платформа
- как для изучения операционных систем и исследований в
- других областях компьютерных наук. Свободная природа FreeBSD
- позволяет удалённым группам сотрудничать, обмениваться
- идеями и совместными разработками, не беспокоясь
- о наличии специальных лицензий или ограничений на то,
- что может обсуждаться в открытых форумах.
-
+ как для изучения операционных систем и исследований в
+ других областях компьютерных наук. Свободная природа FreeBSD
+ позволяет удалённым группам сотрудничать, обмениваться
+ идеями и совместными разработками, не беспокоясь
+ о наличии специальных лицензий или ограничений на то,
+ что может обсуждаться в открытых форумах.
+ маршрутизаторDNS-сервер
-
- Работа в сети: Нужен новый маршрутизатор?
- Сервер имён (DNS)? Межсетевой экран, защищающий от проникновения
- извне в вашу сеть? FreeBSD может превратить давно списанный и
- пылящийся в углу 386-й или 486-й ПК в мощный маршрутизатор
- с возможностью фильтрации пакетов.
-
+
+ Работа в сети: Нужен новый маршрутизатор?
+ Сервер имён (DNS)? Межсетевой экран, защищающий от проникновения
+ извне в вашу сеть? FreeBSD может превратить давно списанный и
+ пылящийся в углу 386-й или 486-й ПК в мощный маршрутизатор
+ с возможностью фильтрации пакетов.
+ X Window SystemXFree86X Window SystemAccelerated-X
-
- Рабочая станция X Window: FreeBSD прекрасный
- выбор, если вам нужен недорогой X-терминал. Можно использовать
- свободно распространяемый сервер X11 или один из
- коммерческих серверов, поставляемых
+ Рабочая станция X Window: FreeBSD прекрасный
+ выбор, если вам нужен недорогой X-терминал. Можно использовать
+ свободно распространяемый сервер X11 или один из
+ коммерческих серверов, поставляемых Xi Graphics. В отличие от
- X-терминала, на FreeBSD можно запускать множество приложений
- локально, если требуется, таким образом перенеся часть нагрузки
- с центрального сервера. FreeBSD может быть загружена на
- бездисковой станции, что делает рабочую станцию ещё
+ X-терминала, на FreeBSD можно запускать множество приложений
+ локально, если требуется, таким образом перенеся часть нагрузки
+ с центрального сервера. FreeBSD может быть загружена на
+ бездисковой станции, что делает рабочую станцию ещё
дешевле и проще в администрировании.
-
+
набор средств разработки GNU
-
- Разработка программного обеспечения: Базовая
- поставка FreeBSD распространяется с полным набором инструментов для
- разработки, включая знаменитые компилятор GNU C/C++ и
- отладчик.
-
+
+ Разработка программного обеспечения: Базовая
+ поставка FreeBSD распространяется с полным набором инструментов для
+ разработки, включая знаменитые компилятор GNU C/C++ и
+ отладчик.
+ FreeBSD доступна как в исходных текстах, так и в двоичном виде
- на CDROM, DVD и через анонимный доступ к FTP. Подробнее о том,
+ на CDROM, DVD и через анонимный доступ к FTP. Подробнее о том,
как получить FreeBSD, см. в .Кто использует FreeBSD?пользователикрупные сайты, работающие под FreeBSDFreeBSD используется в качестве платформы на некоторых крупнейших
сайтах в интернет, включая:
- Yahoo!
-
+ Yahoo!
+ Yahoo!ApacheApacheBlue Mountain ArtsBlue Mountain
ArtsPair NetworksPair
NetworksSony JapanSony
JapanNetcraftNetcraftWeathernewsWeathernewsSupervaluSupervaluTELEHOUSE AmericaTELEHOUSE
AmericaSophos Anti-VirusSophos
Anti-VirusJMA WiredJMA Wiredи на многих других.О Проекте FreeBSDВ следующей части рассказывается о том, что из себя представляет проект,
включая краткую историю, цели проекта и модель разработки
проекта.JordanHubbardПредоставил Краткая история FreeBSD386BSD PatchkitHubbard, JordanWilliams, NateGrimes, Rod
- Проект FreeBSD
- история
+ Проект FreeBSD
+ историяПроект FreeBSD возник в первой половине 1993 года,
- частично как результат развития Неофициального комплекта
- исправлений к 386BSD (patchkit), последними 3-мя координаторами
- этого проекта: Nate Williams, Rod Grimes и мною.
+ частично как результат развития Неофициального комплекта
+ исправлений к 386BSD (patchkit), последними 3-мя координаторами
+ этого проекта: Nate Williams, Rod Grimes и мною.
386BSD
- Нашей главной задачей было зафиксировать промежуточное состояние
- проекта 386BSD, чтобы исправить множество проблем, которые
- механизм patchkit (набор исправлений) не мог решить. Некоторые из вас,
- возможно, помнят раннее рабочее название этого проекта:
+ Нашей главной задачей было зафиксировать промежуточное состояние
+ проекта 386BSD, чтобы исправить множество проблем, которые
+ механизм patchkit (набор исправлений) не мог решить. Некоторые из вас,
+ возможно, помнят раннее рабочее название этого проекта:
386BSD 0.5 или 386BSD Interim.Jolitz, Bill386BSD была операционной системой Билла Джолица, которая
на тот момент сильно страдала от почти годичного пренебрежения
к ней автора. Так как patchkit разрастался, его
поддержание становилось более неудобным день от дня, мы
пришли к единодушному соглашению, что нужно что-то делать,
и решили помочь Биллу, предоставив этот промежуточный
очистительный снимок состояния системы. Эти планы
были грубо оборваны, когда Билл внезапно решил прекратить поддержку
проекта без каких-либо ясных комментариев, что должно быть
сделано.Greenman, DavidWalnut Creek CDROMНам потребовалось немного времени, чтобы прийти к решению
продолжать следовать той же цели, даже без поддержки Билла,
и мы приняли имя FreeBSD, придуманное Дэвидом
Гринмэном. Наши начальные цели были определены после консультаций
с пользователями существовавшей системы, и как только стало
понятно, что проект на пути к тому, чтобы стать реальностью, я
связался с компанией Walnut Creek CDROM и поделился идеями о путях
последующего улучшения каналов распространения FreeBSD для множества
пользователей без доступа к Internet. Компания Walnut Creek CDROM не
только поддержала идею распространения FreeBSD на CD, но ещё и
предоставила проекту компьютер для работы и быстрый доступ к
Интернету. Без почти беспрецедентной веры Walnut Creek CDROM в этот,
- в то время, полностью неизвестный проект, вряд ли FreeBSD
+ в то время, полностью неизвестный проект, вряд ли FreeBSD
зашла бы так далеко и так быстро, как сегодня.4.3BSD-LiteNet/2U.C. Berkeley386BSDFree Software FoundationПервым дистрибутивом, распространяемым как на CDROM, так и в сети,
- стала FreeBSD 1.0, выпущенная в декабре 1993 года. Эта версия была
- выполнена на основе ленты 4.3BSD-Lite (Net/2)
- из Калифорнийского Университета в Беркли, с многочисленными
- добавлениями из проекта 386BSD и Фонда Свободного Программного
- Обеспечения. Это был довольно внушительный успех для
- первой попытки, и мы закрепили его с выходом FreeBSD
- 1.1 RELEASE в мае 1994 года.
+ стала FreeBSD 1.0, выпущенная в декабре 1993 года. Эта версия была
+ выполнена на основе ленты 4.3BSD-Lite (Net/2)
+ из Калифорнийского Университета в Беркли, с многочисленными
+ добавлениями из проекта 386BSD и Фонда Свободного Программного
+ Обеспечения. Это был довольно внушительный успех для
+ первой попытки, и мы закрепили его с выходом FreeBSD
+ 1.1 RELEASE в мае 1994 года.NovellU.C. BerkeleyNet/2AT&TВ это же время, на горизонте сгустились тучи в связи с назревающим
- скандалом между Novell и Калифорнийским Университетом, Беркли.
- Это был вялотекущий судебный процесс о легальности версии
- Net/2 из Беркли. По условиям достигнутого соглашения, Калифорнийский
+ скандалом между Novell и Калифорнийским Университетом, Беркли.
+ Это был вялотекущий судебный процесс о легальности версии
+ Net/2 из Беркли. По условиям достигнутого соглашения, Калифорнийский
Университет признавал, что большие куски Net/2 были
унаследованным кодом, права на который принадлежат
компании Novell, которая, в свою очередь, приобрела эти права ранее у
AT&T. Взамен Беркли получил благословение Novell
на то, что версия 4.4BSD-Lite после её выхода будет объявлена
полностью свободной, а всем пользователям Net/2 будет
настоятельно рекомендовано перейти на неё. Это также касалось FreeBSD,
и проекту было дано время до конца июля 1994 года для прекращения
- распространения его продукта, базирующегося на Net/2. На этих
- условиях проекту было разрешено выпустить последний релиз до
+ распространения его продукта, базирующегося на Net/2. На этих
+ условиях проекту было разрешено выпустить последний релиз до
окончания срока, и это была FreeBSD 1.1.5.1.Тогда проект FreeBSD приступил к сложнейшей задаче буквально
пересоздания с нуля на основе абсолютно новой и довольно
неполной системы 4.4BSD-Lite. Версии Lite были
в прямом смысле light (лёгкими) отчасти потому, что группа CSRG
удалила большие куски кода, необходимого для создания реально
загружающейся системы (по причине различных лицензионных
требований), и фактически порт 4.4BSD для платформы Intel
был очень неполным. Проекту потребовалось время почти до
ноября 1994 года для того, чтобы выполнить этот переход, и
на этом этапе FreeBSD 2.0 была опубликована в сети и
на CDROM (в конце декабря). Несмотря на множество острых
углов в этой версии, она пользовалась значительным успехом
и была продолжена более устойчивой и простой в установке
FreeBSD 2.0.5, выпущенной в июне 1995 года.Мы выпустили FreeBSD 2.1.5 в августе 1996, и она стала
- достаточно популярной среди ISP и в коммерческой среде, чтобы
+ достаточно популярной среди ISP и в коммерческой среде, чтобы
выпустить еще один релиз из ветви 2.1-STABLE. Это была
- FreeBSD 2.1.7.1, вышедшая в феврале 1997 и завершившая главную
- ветвь разработки 2.1-STABLE. Сейчас в режиме поддержки, в эту ветвь
+ FreeBSD 2.1.7.1, вышедшая в феврале 1997 и завершившая главную
+ ветвь разработки 2.1-STABLE. Сейчас в режиме поддержки, в эту ветвь
(RELENG_2_1_0) вносятся только улучшения защиты и другие
критически важные исправления.FreeBSD 2.2 была ответвлена от основной линии разработки
- (-CURRENT) в ноябре 1996 как ветвь RELENG_2_2,
- а первая полная версия (2.2.1) появилась в апреле 1997.
- Последующие версии ветви 2.2 появлялись летом и в конце 1997 года,
- а последняя версия (2.2.8) вышла в ноябре 1998.
- Первая официальная версия 3.0 была подготовлена к выходу в
- октябре 1998, завершив развитие ветви 2.2
+ (-CURRENT) в ноябре 1996 как ветвь RELENG_2_2,
+ а первая полная версия (2.2.1) появилась в апреле 1997.
+ Последующие версии ветви 2.2 появлялись летом и в конце 1997 года,
+ а последняя версия (2.2.8) вышла в ноябре 1998.
+ Первая официальная версия 3.0 была подготовлена к выходу в
+ октябре 1998, завершив развитие ветви 2.2
Третье ветвление произошло 20 января 1999 года: появились
- ветви 4.0-CURRENT и 3.X-STABLE. Из ветви 3.X-STABLE были получены:
+ ветви 4.0-CURRENT и 3.X-STABLE. Из ветви 3.X-STABLE были получены:
3.1 — 15 февраля 1999, 3.2 — 15 мая 1999,
3.3 — 16 сентября 1999, 3.4 — 20 декабря 1999,
3.5 — 24 июня 2000, за которым последовал через несколько дней
немного обновленный релиз 3.5.1, содержащий несколько исправлений в
области защиты Kerberos. Это был последний релиз из ветви 3.X.Другое ветвление было выполнено 13 марта 2000
года, в результате чего появилась ветвь 4.X-STABLE. Из этой ветви
было выпущено несколько релизов: 4.0-RELEASE был представлен
в марте 2000 года, а последний &rel2.current;-RELEASE был выпущен
&rel2.current.date;.Долгожданный 5.0-RELEASE был анонсирован 19 января 2003 года.
Он стал кульминацией приблизительно трех лет работы, с этого
релиза начался курс FreeBSD на расширенную поддержку
мультипроцессорности и потоков в приложениях, а также появилась
поддержка платформ &ultrasparc; и ia64. За этим
релизом последовал релиз 5.1 в июне 2003 года. Последним релизом 5.X
из ветви -CURRENT стал 5.2.1-RELEASE, представленный в феврале
2004.Ветвь RELENG_5 была создана в августе 2004, после чего был
выпущен релиз 5.3-RELEASE, который открыл серию релизов из ветви
5-STABLE. Самый последний релиз &rel.current;-RELEASE был выпущен
- &rel.current.date;. Из ветки RELENG_5 релизы ещё будут
- выпускаться.
+ &rel.current.date;. Из ветки RELENG_5 релизы ещё будут
+ выпускаться.
На данный момент, долговременные разработки и проекты продолжаются
- в ветке 6.X-CURRENT, и по ходу разработки будут доступны снэпшот-релизы
+ в ветке 6.X-CURRENT, и по ходу разработки будут доступны снэпшот-релизы
6.X на CDROM (и, конечно же, в сети), постоянно выкладываемые на
сервер снэпшотов как промежуточные результаты.
-
-
- Jordan
+
+
+ JordanHubbardПредоставил
-
+ Цели Проекта FreeBSD
- Проект FreeBSD
- цели
+ Проект FreeBSD
+ целиЦелью Проекта FreeBSD является предоставление программного
обеспечения, которое может быть использовано для любых целей
и без дополнительных ограничений. Многие из нас внесли значительный
вклад в код (и проект) и совершенно не против получать за это иногда
финансовую компенсацию, но мы определенно не собираемся ее требовать.
- Мы верим, что первая и основная наша миссия это
+ Мы верим, что первая и основная наша миссия это
предоставление кода для всех, кому он необходим, и для любых целей,
так чтобы этот код становился всё более распространённым и предоставлял
самые широкие возможности. Это, я верю, является одной из наиболее
фундаментальных целей Свободного Программного Обеспечения, и мы с
энтузиазмом поддерживаем её.
- GNU General Public License (GPL)
+ GNU General Public License (GPL)
- GNU Lesser General Public License (LGPL)
+ GNU Lesser General Public License (LGPL)BSD CopyrightТот код в нашем дереве исходных текстов, который попадает
- под Стандартную Общественную Лицензию GNU (GPL) или Стандартную
+ под Стандартную Общественную Лицензию GNU (GPL) или Стандартную
Общественную Лицензию Ограниченного Применения GNU (LGPL),
предоставляется с дополнительными условиями, хотя они обеспечивают
только возможность доступа, а не его ограничение. По причине
дополнительных сложностей, которые могут появится при коммерческом
использовании GPL-продуктов, мы предпочитаем ПО, предоставленное под
более свободной лицензией BSD, когда это возможно.
-
-
- Satoshi
+
+
+ SatoshiAsamiПредоставил
-
+ Модель Разработки FreeBSD
- Проект FreeBSD
- модель разработки
+ Проект FreeBSD
+ модель разработки
- Разработка FreeBSD — это очень открытый и гибкий процесс.
+ Разработка FreeBSD — это очень открытый и гибкий процесс.
FreeBSD в буквальном смысле создана из кода, предоставленного
- сотнями людей со всего мира, в чем вы можете убедится, взглянув
- на список этих
людей. Инфраструктура разработки FreeBSD позволяет этим
сотням разработчиков сотрудничать с помощью Интернета. Мы постоянно
- ищем новых разработчиков и новые идеи, и те, кто заинтересован
- в более тесном взаимодействии и хочет принять участие в проекте,
- должны просто связаться с нами в рассылке &a.hackers.name;. Для тех, кто
- желает уведомить других пользователей FreeBSD об основных
+ ищем новых разработчиков и новые идеи, и те, кто заинтересован
+ в более тесном взаимодействии и хочет принять участие в проекте,
+ должны просто связаться с нами в рассылке &a.hackers.name;. Для тех, кто
+ желает уведомить других пользователей FreeBSD об основных
направлениях работы, доступен &a.announce;.Для независимой работы или тесного сотрудничества, полезно знать
- о проекте и процессе разработки FreeBSD следующее:
+ о проекте и процессе разработки FreeBSD следующее:CVS-репозиторийCVSрепозиторийConcurrent Versions SystemCVSГлавное дерево исходных текстов FreeBSD поддерживается
- с помощью
- CVS
+ с помощью
+ CVS
(Concurrent Versions System), свободно доступной системой
- контроля исходных текстов, которая поставляется вместе
- с FreeBSD. Основной
+ контроля исходных текстов, которая поставляется вместе
+ с FreeBSD. Основной
CVS
репозиторий располагается на компьютере, находящемся
- в городе Санта Клара, Калифорния (США), откуда и распространяется
- на множество зеркал по всему миру. Дерево CVS, содержащее ветви
+ в городе Санта Клара, Калифорния (США), откуда и распространяется
+ на множество зеркал по всему миру. Дерево CVS, содержащее ветви
-CURRENT и -STABLE,
может быть легко скопировано на ваш локальный компьютер.
Дополнительную информацию о том, как это сделать, можно найти
- в разделе Синхронизация
+ в разделе Синхронизация
дерева исходных текстов.Список коммиттеровкоммиттерыКоммиттеры —
это люди, которые имеют доступ на запись
к главному дереву CVS, и имеют право вносить изменения
в главное дерево исходных текстов FreeBSD (термин
коммиттер появился от названия
команды &man.cvs.1; commit, которая
используется для внесения изменений в CVS-репозиторий).
Лучший способ предоставить ваши соображения на
рассмотрение коммиттеров — использовать команду
&man.send-pr.1;. Если что-то произошло с системой, вы можете
достучаться до них посылкой письма по адресу
&a.committers.name;.Core-группа FreeBSD core teamCore-группа FreeBSD
могла бы быть эквивалентом Совета Директоров, если бы
Проект FreeBSD был компанией. Главная задача Core-группы —
гарантировать, что проект в целом в хорошем состоянии
и движется в правильном направлении. Приглашение
постоянных и ответственных разработчиков присоединиться к группе
коммиттеров — одна из функций Core-группы, так же,
как и приглашение новых членов в Core-группу по мере того,
как другие уходят. Нынешний состав команды был выбран из
рядов коммиттеров путем общего голосования в июле 2004 года.
Выборы проходят каждые 2 года.
Некоторые члены Core-группы имеют особые
области ответственности, то есть, они являются ответственными
за работу отдельной большой части системы.
Полный список разработчиков FreeBSD и областей их
ответственности можно найти в Списке
участников.Большинство членов Core-группы —
- волонтёры, и не получают никакой финансовой выгоды от участия
+ волонтёры, и не получают никакой финансовой выгоды от участия
в проекте, поэтому вы не должны рассматривать возложенную на
них ответственность как
гарантированную поддержку. Аналогия с
советом директоров не очень точна и, вероятно,
- гораздо правильнее будет сказать, что это люди, которые
+ гораздо правильнее будет сказать, что это люди, которые
посвятили себя FreeBSD, хотя и достойны лучшей участи!Внешняя помощьучастникиПоследней, но однозначно не менее значимой, и наибольшей
группой разработчиков являются сами пользователи, которые
предоставляют комментарии и исправления ошибок нам на почти
постоянной основе. Основной путь участвовать в
не централизованной разработке — это подписка на
&a.hackers;, где обсуждаются подобные вещи.
Обратитесь к за дальнейшей
информацией о различных списках рассылки FreeBSD.Список
участников проекта FreeBSD
очень длинный и постоянно растет, так
почему бы вам не присоединится к нему, предоставив что-нибудь
проекту FreeBSD сегодня?Предоставление кода — не единственный способ помочь
проекту; более полный список того, что необходимо
сделать, можно найти на Web-сайте проекта
FreeBSD.Вообще говоря, наша модель разработки организована как нечеткий
набор концентрированных колец. Централизованная модель разработана
для удобства пользователей FreeBSD, которые
получают простую систему контроля за одной
центральной базой кода, и позволяет не оставить за бортом проекта
потенциальных помощников! Мы желаем предоставить стабильную
операционную систему с большим количеством согласованных
прикладных программ, которые
пользователи смогут легко установить и использовать — наша модель
очень хорошо подходит для решения этой задачи.Всё, что мы просим от желающих присоединится к нам как
разработчики, — хотя бы часть той преданности постоянному успеху
FreeBSD, которой отличаются нынешние разработчики!Текущая версия FreeBSDNetBSDOpenBSD386BSDFree Software FoundationU.C. Berkeley
- Computer Systems Research Group (CSRG)
+ Computer Systems Research Group (CSRG)FreeBSD — это свободно доступная, с полными исходными
- текстами, основанная на 4.4BSD-Lite версия для компьютерных систем,
+ текстами, основанная на 4.4BSD-Lite версия для компьютерных систем,
основанных на Intel &i386;, &i486;, &pentium;,
- &pentium; Pro,
- &celeron;,
- &pentium; II,
- &pentium; III,
- &pentium; 4 (или совместимыми),
- &xeon;, DEC Alpha и
- Sun &ultrasparc;. В основном она базируется на
+ &pentium; Pro,
+ &celeron;,
+ &pentium; II,
+ &pentium; III,
+ &pentium; 4 (или совместимыми),
+ &xeon;, DEC Alpha и
+ Sun &ultrasparc;. В основном она базируется на
программном обеспечении от группы CSRG, U.C. Berkley, с некоторым
дополнениями из NetBSD, OpenBSD, 386BSD и Free Software
Foundation.С момента выпуска FreeBSD версии 2.0 в конце 1994 года,
- производительность, возможности и стабильность FreeBSD существенно
+ производительность, возможности и стабильность FreeBSD существенно
возросли.
Самое большое изменение — это полное обновление системы
виртуальной памяти с объединением виртуальной памяти и буферного
кэша файловой системы, что не только увеличивает производительность,
но и уменьшает количество используемой FreeBSD памяти,
делая 5 Mбайтовую конфигурацию более приемлемым минимумом.
Другие улучшения включают полную поддержку клиента и сервера NIS,
поддержку транзакций TCP, поддержку дозвона по запросу
в PPP, встроенную поддержку DHCP, улучшенную подсистемe SCSI,
поддержку адаптеров ISDN, ATM, FDDI, Fast и Gigabit Ethernet
(1000 Mбит), улучшенную поддержку новейших
контролеров Adaptec и многие тысячи исправленных ошибок.В дополнение к базовой системе, FreeBSD предоставляет
коллекцию портированого ПО, включающую тысячи популярных
программ. На момент подготовки этого документа в ней было
более &os.numports; портов! В коллекцию входят множество программ от
http-серверов до игр, языков программирования, текстовых
редакторов и всего прочего. Полная Коллекция Портов
требует приблизительно &ports.size; дискового пространства, потому что
порт представляет собой изменения оригинальных
исходных текстов. Это сильно упрощает нам процесс обновления
портов и существенно уменьшает объём занимаемого
дискового пространства по сравнению со старой (1.0) Коллекцией Портов.
Для того, чтобы скомпилировать и установить программу,
необходимо всего лишь перейти в каталог порта
программы, набрать make install и дать
системе сделать все остальное. Полные исходные тексты для каждого
порта, который вы устанавливаете, загружаются автоматически с CDROM или
локального FTP-сервера, поэтому вам нужно только дисковое
пространство для сборки необходимых портов. Почти каждый
порт предоставляется также как скомпилированный
пакет, который может быть установлен с помощью
простой команды (pkg_add) теми, кто предпочитает
- не компилировать порты из исходных текстов. Дополнительная
+ не компилировать порты из исходных текстов. Дополнительная
информация о пакетах и портах находится в .Множество дополнительных документов, которые могут пригодиться
- в процессе установки и использования FreeBSD,
- находятся в каталоге /usr/share/doc
- на любой машине, работающей под управлением современной версии FreeBSD. Вы
- можете просматривать локально установленные документы с помощью
- любого браузера, поддерживающего HTML, используя следующие ссылки:
+ в процессе установки и использования FreeBSD,
+ находятся в каталоге /usr/share/doc
+ на любой машине, работающей под управлением современной версии FreeBSD. Вы
+ можете просматривать локально установленные документы с помощью
+ любого браузера, поддерживающего HTML, используя следующие ссылки:
-
+ Руководство FreeBSD/usr/share/doc/ru_RU.KOI8-R/books/handbook/index.html
-
+
-
+ FreeBSD FAQ (Часто задаваемые вопросы)/usr/share/doc/ru_RU.KOI8-R/books/faq/index.html
-
+ Вы также можете просмотреть основные (и наиболее часто обновляемые)
копии на http://www.FreeBSD.org/ru/.
+ End:
+-->
diff --git a/ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.sgml b/ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.sgml
index 41825ff7cc..41b4e7c0c8 100644
--- a/ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.sgml
@@ -1,1706 +1,1706 @@
JimMockОбновил и реструктуризовал JakeHambyПредоставил АлександромКоваленкоПереведено Настройка ядра FreeBSDКраткий обзорkernelсборка собственного ядраЯдро — это основная часть операционной системы &os;. Оно
ответственно за управление памятью, параметры безопасности, работу с
сетью, доступ к дискам и многое другое. Несмотря на то, что &os;
становится всё более динамически конфигурируемой, иногда приходится
собирать собственное ядро.После прочтения этой главы вы узнаете:Почему вам может понадобиться сборка собственного ядра.Как написать файл конфигурации ядра или изменить
существующий.Как использовать файл конфигурации ядра для того, чтобы создать и
собрать новое ядро.Как установить новое ядро.Как создать записи в /dev, которые могут
оказаться необходимы.Что делать, если что-то не работает или работает не так, как
должно.Все команды, приводимые в этой главе в качестве примера,
должны выполняться от пользователя root.Зачем собирать собственное ядро?Традиционно в &os; использовалось так называемое
монолитное ядро. Это означает, что ядро — это одна
большая программа, которая поддерживает фиксированный набор устройств и в
случае, если необходимо изменить его поведение, требуется сборка нового
ядра и перезагрузка компьютера уже с новым ядром.На сегодняшний день &os; быстро продвигается к модели, в которой
большая часть функциональности содержится в модулях, которые могут быть
при необходимости динамически загружены и выгружены из ядра. Это
позволяет ядру использовать устройства, которые внезапно
появились в системе (например, устройства PCMCIA в лэптопе) или добавлять
новую функциональность в ядро, которая не была необходима в момент
первоначальной сборки ядра. Такой подход известен как модульность
ядра.Несмотря на это, всё ещё иногда бывает необходимо, чтобы некоторая
функциональность была вкомпилирована в ядро статически. В некоторых
случаях это продиктовано тем, что эта функциональность настолько сильно
привязана к ядру, что не может быть динамически загружаемой. В других
случаях это может быть просто потому, что никто не уделил время
написанию динамически загружаемого модуля для этой
функциональности.Сборка собственного ядра — один из наиболее важных ритуалов, через который
должен пройти практически любой пользователь BSD. Несмотря на
длительность этого процесса, ваша &os; останется только в выигрыше. В
отличие от ядра GENERIC, которое должно поддерживать
широкий спектр аппаратного обеспечения, собственное ядро содержит поддержку
аппаратного обеспечения только вашего компьютера.
Это может давать следующие преимущества:Меньшее время загрузки. Поскольку ядро будет пытаться определить
только то аппаратное обеспечение, которое установлено в вашем
компьютере, время, которое потребуется системе для загрузки,
может значительно уменьшиться.Уменьшение использования памяти. Собственное ядро часто использует меньше
памяти, чем ядро GENERIC, что очень важно,
поскольку ядро всегда находится в физической памяти. Именно по этой
причине собственное ядро особенно полезно при использовании систем с малым
объемом оперативной памяти.Поддержка дополнительного аппаратного обеспечения. Собственное ядро
позволяет вам добавить поддержку устройств,
отсутствующих в ядре GENERIC.Сборка и установка собственного ядраkernelсборка / установкаВо-первых, давайте сделаем краткий обзор каталога, в котором будет
происходить сборка ядра. Все каталоги, которые будут упоминаться, будут
относительными по отношению к основному каталогу
/usr/src/sys, который также доступен как каталог
/sys. Этот каталог содержит множество подкаталогов,
представляющих собой различные части ядра, но наиболее важным для нас
будет каталог arch/conf,
в котором вы будете редактировать конфигурационный файл ядра и в котором
находится каталог compile, где будет
собираться ваше ядро. arch может быть
i386, alpha,
amd64, ia64,
powerpc, sparc64 или
pc98 (альтернативная ветвь аппаратного обеспечения,
популярная в Японии). Все, что находится внутри каталога определенной
архитектуры, относится только к этой архитектуре; остальной код является
машинно независимым и общим для всех платформ, на которые &os; может
быть потенциально
портирована. Обратите внимание на логическую структуру каталогов, в
которой каждое поддерживаемое устройство, каждая файловая система и
каждая опция размещается в своём собственном каталоге. Версии &os; до
5.X поддерживали только архитектуры i386,
alpha и pc98.В примерах этой главы подразумевается, что вы используете
архитектуру i386. Если это не так, измените каталоги, указанные
в примерах, в соответствии с архитектурой вашей системы.Если в вашей системе отсутствует каталог
/usr/src/sys, это означает, что исходные тексты
ядра не были установлены. Наиболее простой способ установить их -
запустить sysinstall
(/stand/sysinstall в &os; версий старше,
чем 5.2) как root, выбрать
Configure, потом
Distributions, потом
src, потом sys.
Если вы испытываете отвращение к sysinstall и
у вас есть доступ к официальному &os; CDROM, вы также
можете установить исходные тексты при помощи командной строки:&prompt.root; mount /cdrom
&prompt.root; mkdir -p /usr/src/sys
&prompt.root; ln -s /usr/src/sys /sys
&prompt.root; cat /cdrom/src/ssys.[a-d]* | tar -xzvf -Затем, перейдите в каталог
arch/conf
и скопируйте файл конфигурации GENERIC
в файл с выбранным вами именем. Например:&prompt.root; cd /usr/src/sys/i386/conf
&prompt.root; cp GENERIC MYKERNELПо традиции имя состоит из букв в верхнем регистре, и если
вы поддерживаете несколько компьютеров &os; на различном оборудовании,
хорошая идея добавлять это имя к имени хоста. Мы назвали ядро
MYKERNEL в этом примере.Помещение файла конфигурации ядра в /usr/src
может быть плохой идеей. Если вы испытываете проблемы,
их можно решить удалив /usr/src и начав
все с начала. После этого обычно требуется несколько секунд, чтобы
понять, что вы удалили собственный файл настройки ядра. Не
редактируйте непосредственно GENERIC, он может
быть также перезаписан и при следующем обновлении дерева исходных текстов,
и изменения ядра будут потеряны.Вы можете сохранить файл конфигурации ядра в другом месте,
а затем создать символическую ссылку на этот файл в каталоге
i386.Например:&prompt.root; cd /usr/src/sys/i386/conf
&prompt.root; mkdir /root/kernels
&prompt.root; cp GENERIC /root/kernels/MYKERNEL
&prompt.root; ln -s /root/kernels/MYKERNELТеперь отредактируйте файл MYKERNEL в своём
любимом текстовом редакторе. Если вы только начинаете, единственным
доступным редактором скорее всего будет vi,
который слишком сложен для того, чтобы описать его здесь,
но в библиографии перечислено
множество книг, в которых его использование хорошо освещено. Однако &os;
предоставляет более простой редактор ee,
который, если вы — новичок, подойдёт вам больше всего. Не стесняйтесь
изменять строки комментариев в начале файла, с тем, чтобы отобразить вашу
конфигурацию или изменения, которые вы сделали по сравнению с
GENERIC.SunOSЕсли вам приходилось собирать ядро для &sunos; или какой-либо другой
операционной системы типа BSD, многое из того, что содержится в этом
файле будет очень знакомо вам. Если же вы, напротив, использовали другую
операционную систему, такую как DOS, файл конфигурации
GENERIC может показаться вам крайне сложным, поэтому
следуйте инструкциям в разделе Конфигурационный файл медленно и
внимательно.Если вы синхронизируете дерево исходных текстов
с деревом проекта &os;, не забудьте свериться с файлом
/usr/src/UPDATING перед обновлением. В этом
файле описаны все важные вопросы и области исходного кода, требующие
особого внимания.
/usr/src/UPDATING всегда соответствует версии
ваших исходных текстов &os;, поэтому является более актуальным
источником информации, чем это руководство.Теперь вы должны скомпилировать ядро. Существует два способа, которые
позволяют это сделать. Какой из них выбрать, зависит от того, почему вам
понадобилось пересобирать ядро и версии &os;, которую вы
используете.Если вы установили только исходные тексты
ядра, используйте способ 1.Если вы используете &os; версии более ранней, чем 4.0 и вы
не обновляете систему до &os; 4.0 или выше,
используя make buildworld, используйте способ
1.Если вы собираете новое ядро, не обновляя исходные тексты
(возможно, для того, чтобы добавить новую опцию, например
IPFIREWALL), вы можете использовать любой
способ.Если вы пересобираете ядро как часть процесса
make buildworld, используйте способ 2.cvsupCTMCVSанонимныйЕсли вы не обновляли дерево исходных текстов
с момента последнего успешного завершения цикла
buildworld-installworld,
(то есть не запускали CVSup,
CTM, или не использовали
anoncvs), возможно использование
последовательности
config, make depend,
make, make install.
Способ 1. Сборка ядра традиционным способомЗапустите &man.config.8; для того, чтобы сгенерировать исходные
тексты ядра.&prompt.root; /usr/sbin/config MYKERNELПерейдите в каталог, в котором будет собираться ядро.
Запущенный как показано выше &man.config.8; выведет имя этого
каталога.&prompt.root; cd ../compile/MYKERNELДля &os; версий более ранних, чем 5.0, вместо этого
используйте:&prompt.root; cd ../../compile/MYKERNELСоберите ядро.&prompt.root; make depend
&prompt.root; makeУстановите новое ядро.&prompt.root; make installСпособ 2. Сборка ядра новым способом.Перейдите в каталог /usr/src.&prompt.root; cd /usr/srcСоберите ядро.&prompt.root; make buildkernel KERNCONF=MYKERNELУстановите новое ядро.&prompt.root; make installkernel KERNCONF=MYKERNELЭтот способ построения требует наличия всех исходных файлов систем.
Если вы только установили исходные файлы ядра, то используйте традиционный
способ, как описано выше.По умолчанию, при построении ядра, все
модули ядра так же будут пересобраны. Если вы хотите обновить
ядро быстрее или построить только определённые модули, то вам
нужно отредактировать файл /etc/make.conf
перед началом процесса сборки ядра:
-
+
MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs
-
+
Эта переменная устанавливает список модулей, которые нужно построить
вместо построения всех модулей. За другими переменными, которые вы можете
посчитать полезными в процессе сборки ядра, обращайтесь к странице
справочника &man.make.conf.5;./boot/kernel.oldНовое ядро будет скопировано в каталог /boot/kernel как
/boot/kernel/kernel, а старое ядро будет перемещено в
/boot/kernel.old/kernel.
Теперь перезагрузите систему для того,
чтобы использовать новое ядро. Если что-то пойдёт не так, вы
можете обратиться к разделу Решение проблем в конце
этой главы, который может оказаться
полезен. Не забудьте прочитать
раздел, который объясняет как исправить ситуацию, когда ядро не загружается.В &os; 4.X и более ранних, ядро устанавливается в
/kernel, модули в /modules, а старое ядро сохраняется в
/kernel.old. Другие файлы, относящиеся к
процессу загрузки, такие как загрузчик (&man.loader.8;) и его
конфигурационные файлы, размещаются в /boot.
Модули сторонних производителей могут быть помещены в
/modules, хотя пользователи
должны знать, что
очень важно, чтобы модули были синхронизированы с собранным ядром.
Модули, не рассчитанные на работу с собранным ядром, могут вызвать
нестабильность и некорректность работы.Если вы добавили новые устройства (такие, как звуковая карта) и
используете &os; 4.X или более ранние версии, то, возможно, вам
понадобится создать некоторые файлы устройств в каталоге
/dev перед тем, как вы
сможете их использовать.
За дополнительной информацией вы можете обратиться к разделу Создание файлов устройств далее в
этой главе.JoelDahlОбновил для &os; 5.X Конфигурационный файлядроNOTESядроLINTNOTESLINTядроконфигурационный файлФормат конфигурационного файла достаточно прост. Каждая строка
представляет собой ключевое слово и один или более аргументов. Для
простоты большинство строк содержат только один аргумент. Всё, что
следует за символом # является комментарием и
игнорируется. Следующие разделы описывают каждый параметр, в
порядке, в котором они появляются в GENERIC.
За полным списком архитектурно-зависимых
параметров и устройств обратитесь к файлу NOTES
в том же каталоге, что и GENERIC. Архитектурно
независимые параметры находятся в
/usr/src/sys/conf/NOTES.NOTES не существует в &os; 4.X.
Детальное описание параметров и устройств из
GENERIC находится в файле
LINT. В 4.X LINT
служит двум целям: предоставить справочное руководство для
выбора параметров ядра при сборке ядра по умолчанию и
предоставить конфигурацию ядра с параметрами, установленными
в значения, отличные от значений по умолчанию (настолько
много параметров, насколько это возможно). Это было сделано
по той причине, что такая конфигурация хорошо помогала
(и все еще помогает) при тестировании нового кода и изменений
в существующем коде, поскольку этот код и изменения могут
конфликтовать с другими частями ядра. Однако, инфраструктура
конфигурации ядра в 5.X прошла через множество серьезных изменений;
Одно из таких изменений – перемещение параметров конфигурации
драйверов в hints, и теперь они могут быть
изменены и загружены динамически во время загрузки системы,
а в LINT их больше нет. По этой и другим
причинам LINT был переименован в
NOTES и в основном по-прежнему соответствует
своему назначению: информирование пользователей о доступных
параметрах.В &os; 5.X и более поздних версиях вы все еще можете создать
собираемый LINT, выполнив:
- &prompt.root; cd /usr/src/sys/i386/conf && make LINT
+ &prompt.root; cd /usr/src/sys/i386/conf >> make LINTkernelконфигурационный файлЭто пример конфигурационного файла ядра
GENERIC с различными дополнительными комментариями,
которые могут понадобиться для ясности. Этот пример должен совпадать с вашей
копией в
/usr/src/sys/i386/conf/GENERIC
практически полностью.параметры ядраmachinemachine i386Это архитектура машины. Она должна быть одной из
следующих:
alpha, amd64,
i386, ia64,
pc98, powerpc, или
sparc64.параметры ядраcpucpu I486_CPU
cpu I586_CPU
cpu I686_CPUЭта опция указывает тип процессора, который используется в вашей
системе. В конфигурационном файле может быть несколько вхождений этой
опции (например, если вы не уверены, какой из типов процессора необходимо
использовать — I586_CPU или
I686_CPU), но для собственного ядра лучше указывать
только тот тип процессора, который установлен в вашей системе. Если вы
не уверены, какой тип необходимо использовать вам, вы можете
воспользоваться файлом /var/run/dmesg.boot, чтобы
увидеть протокол загрузки системы.параметры ядраcpu typeПоддержка типа I386_CPU все ещё существует в
исходных текстах &os;, но по умолчанию отключена в ветках -STABLE и
-CURRENT. Это означает, что для того, чтобы установить &os; на систему с
процессором i386, вы можете использовать следующие способы:Установить более раннюю версию &os; и пересобрать систему из
исходных текстов в соответствии с
.Собрать систему и ядро на более новой машине и установить на
386 используя уже собранные файлы в /usr/obj
(за дополнительной информацией можете обратиться к ).Сделать собственный релиз &os;, который включает поддержку
I386_CPU в ядре установочного CD-ROM.Первый из этих способов, возможно, наиболее простой из всех
предложенных, но вам понадобится много дискового пространства, что может
быть затруднительно для систем класса 386.параметры ядраidentident GENERICЭтот параметр определяет метку ядра. Необходимо,
чтобы она соответствовала названию файла конфигурации ядра, например
MYKERNEL, если вы следовали инструкциям в предыдущих
примерах. Значение, которое вы присвоите параметру
ident будет выводиться в процессе загрузки, поэтому
полезно давать новым ядрам другие имена для того, чтобы отличать их от
обычного ядра (например, если вы хотите собрать экспериментальное
ядро).#To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.В &os; 5.X и более поздних &man.device.hints.5; используются для
настройки параметров драйверов устройств. Путь по умолчанию, который
&man.loader.8; будет проверять при загрузке -
/boot/device.hints. Используя опцию
hints вы можете вкомпилировать эти параметры
статически в ваше ядро. В этом случае не требуется создавать файл
device.hints в каталоге
/boot.#makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbolsОбычный процесс сборки &os; не включает генерацию отладочной
информации при сборке ядра и удаляет большую часть вспомогательной
информации (symbols) после того как ядро слинковано для того, чтобы
сэкономить немного места. Если вы собираетесь проводить тестирование
ядер в ветви -CURRENT или разрабатывать собственные правки для ядра &os;,
возможно вам потребуется раскомментировать эту строку. Тем самым вы
включите использования опции , которая включает
генерацию отладочной информации &man.gcc.1;. Того же самого эффекта
можно добиться используя опцию &man.config.8; , в
случае, если вы используете традиционный способ сборки
ядра (обратитесь к за
дополнительной информацией).options SCHED_4BSD # 4BSD schedulerТрадиционный планировщик &os;. В зависимости от загруженности
системы, вы можете повысить производительность, используя
новый планировщик &os; ULE, который был специально разработан для
SMP, но отлично работает также и на однопроцессорных системах.
Если вы хотите попробовать этот планировщик, замените
SCHED_4BSD на SCHED_ULE в
файле конфигурации ядра.options INET # InterNETworkingПоддержка сетевых возможностей. Оставьте эту опцию включенной, даже
если вы не планируете подключаться к сети. Большинство программ требуют,
чтобы работал хотя бы интерфейс обратной связи (loopback) (т.е.
создание сетевых соединений внутри вашего ПК), так что эта опция в
принципе является обязательной.options INET6 # IPv6 communications protocolsВключает поддержку коммуникационных протоколов IPv6.options FFS # Berkeley Fast FilesystemВключает поддержку основной файловой системы. Не удаляйте эту опцию,
если вы планируете загружаться с жесткого диска.options SOFTUPDATES # Enable FFS Soft Updates supportЭтот параметр включает в ядре технологию Soft Updates, которая
повышает скорость записи на диски. Несмотря на то, что эта технология
включена в ядре, она должна быть включена для отдельных дисков.
Просмотрите вывод команды &man.mount.8; чтобы определить, включены ли
Soft Updates для дисков вашей системы. Если вы не увидите параметр
soft-updates, вам будет необходимо активировать его
при помощи команды &man.tunefs.8; (для существующих файловых систем) или
команды &man.newfs.8; (для новых файловых систем).options UFS_ACL # Support for access control listsЭтот параметр, присутствующий только в &os; 5.X, включает в ядре
поддержку списков управления доступом (ACL). Основывается на
использовании расширенных атрибутов и UFS2, детальное
описание вы сможете найти в .
ACL включены по умолчанию и не должны выключаться в
случае, если они ранее использовались на файловой системе, так как это
удалит списки управления доступом и изменит то, как защищены файлы,
непредсказуемым образом.options UFS_DIRHASH # Improve performance on big directoriesЭта опция включает функциональность, которая повышает скорость
дисковых операций на больших каталогах в обмен на использование
дополнительной памяти. Для большого сервера или рабочей станции
рекомендуется оставить ее включенной, и выключить для системы, для
которой более приоритетна память, чем скорость доступа к дискам,
например для брандмауэра.options MD_ROOT # MD is a potential root deviceЭтот параметр включает поддержку использования дисков
в памяти для корневой файловой системы.параметры ядраNFSпараметры ядраNFS_ROOToptions NFSCLIENT # Network Filesystem Client
options NFSSERVER # Network Filesystem Server
options NFS_ROOT # NFS usable as /, requires NFSCLIENTСетевая файловая система. Если вы не планируете монтировать разделы
с файлового сервера &unix; через TCP/IP, вы можете исключить этот
параметр из конфигурационного файла ядра.параметры ядраMSDOSFSoptions MSDOSFS # MSDOS FilesystemФайловая система &ms-dos;. Если вы не собираетесь монтировать
форматированный в DOS раздел жесткого диска в момент загрузки, вы можете
безопасно закомментировать этот параметр. Необходимый модуль будет
автоматически загружен, когда вы в первый раз смонтируете раздел DOS, так,
как это описано ниже. Кроме того, замечательный пакет
emulators/mtools позволяет получить
доступ к DOS дискетам без необходимости монтировать и размонтировать их
(и не требует наличия MSDOSFS).options CD9660 # ISO 9660 FilesystemФайловая система ISO 9660 для компакт-дисков. Если у вас нет привода
CDROM или вы будете лишь изредка монтировать компакт-диски с данными,
закомментируйте эту строку, так как необходимый модуль будет загружен
автоматически при первом монтировании компакт-диска с данными. Для
использования звуковых компакт-дисков эта файловая система не
потребуется.options PROCFS # Process filesystemФайловая система процессов. Это виртуальная файловая
система монтируемая в /proc, которая позволяет таким
приложениям, как &man.ps.1; выдавать вам больше информации о запущенных
процессах. В &os; 5.X и выше, использование PROCFS не
требуется, так как большинство мониторинговых и отладочных инструментов
было адаптировано для работы без PROCFS: в отличие
от &os; 4.X, новые системы &os; 5.X по умолчанию не монтируют файловую
систему процессов. Более того,
ядра 6.X-CURRENT, которые используют PROCFS, должны
также включать поддержку PSEUDOFS:options PSEUDOFS # Pseudo-filesystem frameworkPSEUDOFS недоступна в &os; 4.X.options GEOM_GPT # GUID Partition Tables.Этот параметр делает возможным наличие большого количества
разделов на одном диске.options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]Совместимость с 4.3BSD. Не выключайте эту опцию; некоторые
приложения будут вести себя странно, если этой опции не будет в
ядре.options COMPAT_FREEBSD4 # Compatible with &os;4Эта опция требуется в &os; 5.X для платформ &i386; и Alpha для
поддержки приложений, собранных на более старых версиях &os;, которые
используют старые интерфейсы вызовов. Рекомендуется использовать данную
опцию на всех системах на платформах &i386; и Alpha, на которых могут
запускаться старые приложения; платформы, поддержка которых появилась
только в &os; 5.X, например ia64 и &sparc64;, не требуют этой
опции.options SCSI_DELAY=15000 # Delay (in ms) before probing SCSIЭтот параметр заставляет ядро приостановиться на 15 секунд перед тем,
как идентифицировать каждое устройство SCSI в вашей системе. Если у вас
установлены только жесткие диски IDE, вы можете игнорировать эту опцию, в
противном случае, возможно, вы захотите уменьшить это число, например до
5 секунд, для того, чтобы ускорить загрузку. Естественно, что если вы
сделаете это, а у &os; появятся проблемы с распознанием ваших устройств
SCSI, необходимо будет увеличить этот параметр.options KTRACE # ktrace(1) supportВключает поддержку трассировки процессов, что удобно при
отладке.options SYSVSHM # SYSV-style shared memoryЭтот параметр предоставляет поддержку разделяемой памяти System V.
Наиболее распространенное применение этого — расширение XSHM в X, которое
многие приложения, интенсивно работающие с графикой, будут автоматически
использовать для повышения скорости работы. Если вы используете X,
эта опция будет необходима.options SYSVMSG # SYSV-style message queuesПоддержка сообщений System V. Этот параметр
добавляет в ядро всего лишь несколько сотен байт.options SYSVSEM # SYSV-style semaphoresПоддержка семафоров System V. Не настолько часто используемая
возможность, но в ядро добавляет всего несколько сотен байт.Команда &man.ipcs.1; с параметром покажет
все процессы, которые используют любую из этих возможностей
System V.options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensionsРасширения реального времени, добавленные 1993 &posix;. Определенные
приложения из коллекции используют их, например
&staroffice;.options KBD_INSTALL_CDEV # install a CDEV entry in /devЭтот параметр относится к клавиатуре. Он добавляет CDEV
в /dev.options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~128k to driver.
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~215k to driver.Распечатка регистров для облегчения отладки.options ADAPTIVE_GIANT # Giant mutex is adaptive.Giant — имя механизма защиты (спящего
мьютекса) для крупных наборов ресурсов ядра. На нынешний момент
Giant представляется фактически непригодным для использования в связи
с серьезными потерями в производительности, и активно заменяется
на механизмы, защищающие отдельные ресурсы ядра. Параметр
ADAPTIVE_GIANT включает Giant в число адаптивных
мьютексов: в случае, когда нить ядра нуждается в Giant, а он уже
захвачен нитью, выполняющейся на другом процессоре, первая нить
будет продолжать выполнение и ждать освобождения Giant. В норме
нить должна была бы уснуть, пока не настанет очередной момент ее
выполнения. Если вы не уверены, оставьте этот параметр в покое.kernel optionsSMPdevice apic # I/O APICУстройство apic разрешает использование набора I/O APIC для
распределения прерываний. Оно может быть использовано как с
однопроцессорными, так и с многопроцессорными ядрами (для последних
наличие apic является обязательным). Для поддержки многопроцессорности
добавьте строку options SMP.device isaВсе компьютеры, поддерживаемые &os;, имеют хотя бы одно устройство ISA.
Не удаляйте эту строку, даже если в вашем компьютере нет слотов ISA.
Для архитектуры IBM PS/2 (Микроканальная Архитектура (MCA)), &os;
предоставляет ограниченную поддержку данной шины. За дальнейшей
информацией о поддержке MCA обратитесь к файлу
/usr/src/sys/i386/conf/NOTES.device eisaВключите эту опцию если у вас материнская плата EISA. Это включает
автоопределение и конфигурирование поддержки всех устройств на шине
EISA.device pciВключите этот параметр, если у вас материнская плата с поддержкой
PCI. Это включит автоопределение карт PCI и проксирование из шины PCI в
шину ISA.# Floppy drives
device fdcКонтроллер флоппи-диска.# ATA and ATAPI devices
device ataЭтот драйвер поддерживает все устройства ATA и ATAPI. Вам необходима
только одна строка device ata в ядре для того, чтобы
обнаружить все PCI устройства ATA/ATAPI в современных машинах.device atadisk # ATA disk drivesЭта строка необходима вместе с device ata для
поддержки дисков ATA.device ataraid # ATA RAID drivesЭта строка необходима вместе с device ata
для поддержки дисков ATA RAID.
device atapicd # ATAPI CDROM drivesПоддержка приводов ATAPI CDROM. Используется вместе с
device ata.device atapifd # ATAPI floppy drivesПоддержка флоппи-приводов ATAPI. Используется вместе с
device ata.device atapist # ATAPI tape drivesПоддержка ленточных приводов ATAPI (стримеров). Используется вместе с
device ata.options ATA_STATIC_ID # Static device numberingЗаставляет драйвер нумеровать устройства статически;
в противном случае происходит динамическая нумерация.# SCSI Controllers
device ahb # EISA AHA1742 family
device ahc # AHA2940 and onboard AIC7xxx devices
device ahd # AHA39320/29320 and onboard AIC79xx devices
device amd # AMD 53C974 (Teckram DC-390(T))
device isp # Qlogic family
device mpt # LSI-Logic MPT-Fusion
#device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (newer chipsets)
device trm # Tekram DC395U/UW/F DC315U adapters
device adv # Advansys SCSI adapters
device adw # Advansys wide SCSI adapters
device aha # Adaptec 154x SCSI adapters
device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
device bt # Buslogic/Mylex MultiMaster SCSI adapters
device ncv # NCR 53C500
device nsp # Workbit Ninja SCSI-3
device stg # TMC 18C30/18C50Контроллеры SCSI. Закомментируйте те, которых у вас в системе нет.
Если у вас в системе исключительно IDE устройства, вы можете удалить все
эти строки.# SCSI peripherals
device scbus # SCSI bus (required for SCSI)
device ch # SCSI media changers
device da # Direct Access (disks)
device sa # Sequential Access (tape etc)
device cd # CD
device pass # Passthrough device (direct SCSI access)
device ses # SCSI Environmental Services (and SAF-TE)Периферийные устройства SCSI. Опять-таки, закомментируйте те,
которых у вас в системе нет, или, если у вас в наличии исключительно IDE,
можете удалить все.USB &man.umass.4; драйвер (и некоторые другие драйверы) используют
подсистему SCSI, хотя и не являются настоящими SCSI устройствами.
Следовательно, вам необходимо сохранить поддержку SCSI, если
какой-либо из этих драйверов включен в конфигурацию ядра.# RAID controllers interfaced to the SCSI subsystem
device amr # AMI MegaRAID
device arcmsr # Areca SATA II RAID
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
device ciss # Compaq Smart RAID 5*
device dpt # DPT Smartcache III, IV - See NOTES for options
device hptmv # Highpoint RocketRAID 182x
device iir # Intel Integrated RAID
device ips # IBM (Adaptec) ServeRAID
device mly # Mylex AcceleRAID/eXtremeRAID
device twa # 3ware 9000 series PATA/SATA RAID
# RAID controllers
device aac # Adaptec FSA RAID
device aacp # SCSI passthrough for aac (requires CAM)
device ida # Compaq Smart RAID
device mlx # Mylex DAC960 family
device pst # Promise Supertrak SX6000
device twe # 3ware ATA RAIDПоддерживаемые RAID-контроллеры. Если у вас нет таковых, можете их
закомментировать или удалить эти строки.# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controllerКонтроллер клавиатуры (atkbdc) предоставляет
средства ввода/вывода для клавиатуры AT и PS/2 устройств. Этот
контроллер необходим драйверу клавиатуры (atkbd) и
PS/2 устройств (psm).device atkbd # AT keyboardДрайвер atkbd вместе с контроллером
atkbdc предоставляет доступ к клавиатуре AT 84 или
улучшенной клавиатуре AT, которая подключена к контроллеру AT
клавиатуры.device psm # PS/2 mouseИспользуйте это устройство, если ваша мышь включается в порт
PS/2.device vga # VGA video card driverДрайвер видеокарты.# splash screen/screen saver
device splash # Splash screen and screen saver supportЗаставка при загрузке. Хранители экрана также требуют этого
устройства. В &os; 4.X используйте строку
pseudo-device splash.# syscons is the default console driver, resembling an SCO console
device scsc — это драйвер консоли по умолчанию, который
имитирует консоль SCO. Так как большая часть консольных полноэкранных
приложений обращаются к консоли через терминальную библиотеку
termcap, вас не должно волновать, будете ли вы
использовать этот драйвер, либо драйвер vt, который
является VT220-совместимым драйвером консоли. Если у
вас возникнут какие-либо проблемы с приложениями, работающими с этим
драйвером консоли, установите переменную окружения TERM в
значение scoansi.# Enable this for the pcvt (VT220 compatible) console driver
#device vt
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursorVT220-совместимый драйвер консоли, обратно совместимый с VT100/102.
Он работает лучше на некоторых лэптопах, у которых возникают проблемы
несовместимости с sc. Также, установите переменную
окружения TERM в значение vt100 или
vt220. Этот драйвер также может быть полезен в
случаях подключения к большому количеству различных машин через сеть, на
которых параметры для устройства sc для
termcap или terminfo могут
отсутствовать — vt100 присутствует практически
на любой платформе.device agpВключите эту опцию, если у вас есть AGP карта в системе. Это включит
поддержку AGP и AGP GART для тех карт, которые поддерживают эту
возможность.# Floating point support - do not disable.
device npxnpx — это интерфейс к модулю операций с плавающей
точкой во &os;, который может использовать как аппаратный сопроцессор, так
и программную эмуляцию. Этот параметр является
обязательным.APM# Power management support (see NOTES for more options)
#device apmПоддержка Advanced Power Management. Чаще всего используется в
лэптопах, хотя в ядре GENERIC &os; 5.X
и выше отключена по умолчанию.# Add suspend/resume support for the i8254.
device pmtimerУстройство таймера для управления энергопотреблением, APM и
ACPI.# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device cbb # cardbus (yenta) bridge
device pccard # PC Card (16-bit) bus
device cardbus # CardBus (32-bit) busПоддержка PCMCIA. Включите ее, если вы используете лэптоп.# Serial (COM) ports
device sio # 8250, 16[45]50 based serial portsЧетыре последовательных порта, которые известны как
COM порты
в мире &ms-dos;/&windows;Если у вас есть внутренний модем на COM4 и последовательный порт
COM2, вам понадобится поменять IRQ модема на 2 (по непонятным
техническим причинам IRQ2 = IRQ9) для того, чтобы получить к нему
доступ из &os;. Если у вас есть многопортовая карта с
последовательными портами, ознакомьтесь с &man.sio.4; чтобы узнать
корректные значения для добавления в
/boot/device.hints. Некоторые видеокарты (в частности
те, что используют чипы S3) используют адреса ввода/вывода в форме
0x*2e8 и, так как многие дешевые последовательные
карты не полностью раскодируют шестнадцатибитное пространство адресов
ввода/вывода, они конфликтуют с этими картами, в итоге COM4 оказывается
практически недоступным.Каждый последовательный порт требует уникального IRQ (кроме тех
случаев, когда вы используете мультипортовую карту, которая
поддерживает совместное использование прерываний), поэтому значения
IRQ по умолчанию для COM3 и
COM4 не могут быть использованы.# Parallel port
device ppcИнтерфейс параллельного порта на шине ISA.device ppbus # Parallel port bus (required)Поддержка шины параллельного порта.device lpt # PrinterПоддержка принтеров на параллельном порту.Все три последних устройства необходимы для поддержка принтеров на
параллельном порту.device plip # TCP/IP over parallelДрайвер TCP/IP через параллельный порт.device ppi # Parallel port interface deviceПоддержка ввода/вывода общего назначения (geek port) +
IEEE1284 ввода/вывода.#device vpo # Requires scbus and dazip driveДрайвер привода Iomega Zip. Требует наличия scbus
и da. Наилучшая производительность достигается с
портами в режиме EPP 1.9.#device pucРаскомментируйте это устройство, если у вас есть
простая последовательная или параллельная
PCI карта, поддерживаемая драйвером &man.puc.4;.# PCI Ethernet NICs.
device de # DEC/Intel DC21x4x (Tulip)
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
device ixgb # Intel PRO/10GbE Ethernet Card
device txp # 3Com 3cR990 (Typhoon)
device vx # 3Com 3c590, 3c595 (Vortex)Драйвера сетевых карт PCI. Закомментируйте или удалите драйвера тех
карт, которые отсутствуют в вашей системе.# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus supportПоддержка шины MII требуется для некоторых PCI 10/100 Ethernet карт,
которые используют MII-совместимые передатчики или реализуют
интерфейс управления передатчиком, который имитирует MII. Добавление
device miibus в конфигурационный файл ядра включает
поддержку стандартного API miibus и всех драйверов PHY, включая стандартный
для тех PHY, которые не обрабатываются специфическим образом конкретным
драйвером.device bfe # Broadcom BCM440x 10/100 Ethernet
device bge # Broadcom BCM570xx Gigabit Ethernet
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device lge # Level 1 LXT1001 gigabit ethernet
device nge # NatSemi DP83820 gigabit ethernet
device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
device re # RealTek 8139C+/8169/8169S/8110S
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (Starfire)
device sis # Silicon Integrated Systems SiS 900/SiS 7016
-device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
+device sk # SysKonnect SK-984x > SK-982x gigabit Ethernet
device ste # Sundance ST201 (D-Link DFE-550TX)
device ti # Alteon Networks Tigon I/II gigabit Ethernet
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 EPIC)
device vge # VIA VT612x gigabit ethernet
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (Boomerang, Cyclone)Драйвера, которые используют контроллер шины MII.# ISA Ethernet NICs. pccard NICs included.
device cs # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device ex # Intel EtherExpress Pro/10 and Pro/10+
device ep # Etherlink III based cards
device fe # Fujitsu MB8696x based cards
device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device lnc # NE2100, NE32-VL Lance Ethernet cards
device sn # SMC's 9000 series of Ethernet chips
device xe # Xircom pccard Ethernet
# ISA devices that use the old ISA shims
#device leДрайвера сетевых карт ISA. Ознакомьтесь с файлом
/usr/src/sys/i386/conf/NOTES,
чтобы узнать, какие
сетевые карты каким драйвером поддерживаются.# Wireless NIC cards
device wlan # 802.11 support
device an # Aironet 4500/4800 802.11 wireless NICs.
device awi # BayStack 660 and others
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device wl # Older non 802.11 Wavelan wireless NIC.Поддержка различных беспроводных карт.# Pseudo devices
device loop # Network loopbackСтандартное устройство обратной связи для TCP/IP. Если вы запускаете
telnet или FTP по отношению localhost (он же 127.0.0.1), то соединение пройдёт через это
устройство. Этот параметр обязателен. Во
&os; 4.X вам потребуется использовать pseudo-device
loop.device mem # Memory and kernel memory devicesУстройства системной памяти.device io # I/O deviceЭтот параметр позволяет процессу получение привилегий
ввода/вывода. Он полезен для написания пользовательских
программ, работающих с оборудованием непосредственно. Необходим
для работы X Window system.device random # Entropy deviceГенератор случайных чисел для криптографической защиты.device ether # Ethernet supportether необходим лишь в случае, если у вас есть
сетевая карта. Он включает поддержку стандартного кода протокола
Ethernet. В &os; 4.X используйте строку pseudo-device
ether.device sl # Kernel SLIPsl — это поддержка SLIP. SLIP был практически
вытеснен PPP, который легче настраивается, лучше подходит для соединений
модем-модем и имеет больше возможностей.
В &os; 4.X используйте строку
pseudo-device sl.device ppp # Kernel PPPПоддержка PPP в ядре для соединений dial-up. Также существует версия
PPP, реализованного как приложение, использующее tun, и
предлагающее большую гибкость и большее количество возможностей, как,
например, соединение при необходимости (наличии обращения к сети).
В &os; 4.X используйте строку pseudo-device
ppp.device tun # Packet tunnel.Используется пользовательским программным обеспечением PPP.
Обратитесь к
разделу PPP этой книги за дальнейшей
информацией. В &os; 4.X используйте строку pseudo-device
tun.
device pty # Pseudo-ttys (telnet etc)псевдо-терминал или имитированный порт для входа.
Используется входящими telnet и
rlogin-сессиями, приложением
xterm и некоторыми другими приложениями,
такими как Emacs.В &os; 4.X
используйте строку pseudo-device pty
number.
Число после pty определяет
количество pty, которое необходимо создать. Если вам
необходимо более, чем стандартное (16) количество окон
xterm и/или удаленных входов, увеличьте это
число в соответствии с вашими потребностями, но не более чем до
256.device md # Memory disksПсевдо-устройства дисков в памяти. В &os; 4.X используйте
строку pseudo-device mddevice gif # IPv6 and IPv4 tunnelingПоддержка туннелирования IPv6 через IPv4, IPv4 через IPv6, IPv4 через
IPv4 и IPv6 через IPv6. Начиная с &os; 4.4 устройство
gif является автоклонируемым и вы
должны использовать строку pseudo-device gif.
Более ранним версиям &os; 4.X требуется номер, например
pseudo-device gif 4.device faith # IPv6-to-IPv4 relaying (translation)Это псевдо-устройство захватывает пакеты, которые были посланы ему и
перенаправляет их даемону трансляции IPv4/IPv6. В &os; 4.X
используйте строку pseudo-device faith 1# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device bpf # Berkeley packet filterФильтр пакетов Berkeley. Это псевдо-устройство позволяет переводить
сетевые интерфейсы в неразборчивый (promiscuous) режим, в
котором перехватывается любой пакет в широковещательной сети (например
ethernet). Эти пакеты могут быть сохранены на диск и/или исследованы при
помощи &man.tcpdump.1;. В &os; 4.X используйте строку
pseudo-device bpf.Устройство &man.bpf.4; также используется программой
&man.dhclient.8; для того, чтобы получить адрес шлюза по умолчанию и
т.п. Если вы используете DCHP, не удаляйте эту опцию.# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
#device ehci # EHCI PCI->USB interface (USB 2.0)
device usb # USB Bus (required)
#device udbp # USB Double Bulk Pipe devices
device ugen # Generic
device uhid # Human Interface Devices
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device urio # Diamond Rio 500 MP3 player
device uscanner # Scanners
# USB Ethernet, requires mii
device aue # ADMtek USB Ethernet
device axe # ASIX Electronics USB Ethernet
device cdce # Generic USB over Ethernet
device cue # CATC USB Ethernet
device kue # Kawasaki LSI USB Ethernet
device rue # RealTek RTL8150 USB EthernetПоддержка различных USB устройств.# FireWire support
device firewire # FireWire bus code
device sbp # SCSI over FireWire (Requires scbus and da)
device fwe # Ethernet over FireWire (non-standard!)Поддержка различных устройств Firewire.За дальнейшей информацией о дополнительных устройствах,
поддерживаемых &os;, обратитесь к файлу
/usr/src/sys/i386/conf/NOTES.Конфигурации с большим количеством оперативной памяти
(PAE)
Расширения физического адресного пространства (Physical Address
Extensions (PAE))
Конфигурации с большим количеством оперативной памяти
Машины с большим количеством оперативной памяти, в которых требуется
более 4 гигабайт в пользовательском адресном пространстве и адресном
пространстве ядра (User+Kernel Virtual Address, KVA)
в обычном случае не смогут использовать более 4
гигабайт. Для решения этой проблемы Intel добавили поддержку 36-битной
адресации в &pentium; Pro и более поздних моделях процессоров.Расширение физического адресного пространства
(PAE) в процессорах &intel; &pentium; Pro и более
поздних позволяет использовать до 64 гигабайт оперативной памяти. &os;
имеет поддержку этой возможности посредством опции ядра
, доступной в &os; 4.9-RELEASE, &os; 5.1-RELEASE и
более поздних. В связи с ограничениями архитектуры Intel, не делается
никакого различия между памятью ниже или выше 4 гигабайт. Память,
размещенная выше 4 гигабайт, просто добавляется к доступной памяти.Для того, чтобы включить PAE в ядре, просто
добавьте приведенную строку в конфигурационный файл ядра:options PAEПоддержка PAE в &os; существует только для
процессоров &intel; IA-32. Также следует заметить, что
PAE в &os; не было полностью протестировано и должно
считаться находящимся в состоянии бета-тестирования по сравнению с
другими, стабильными возможностями &os;.Поддержка PAE в &os; имеет следующие
ограничения:Процесс не может получить доступ к более, чем 4 гигабайтам
пространства VM.KLD модули не могут быть загружены в ядро с
включенной поддержкой PAE из-за разницы в
окружении для сборки модулей и самого ядра.Драйверы устройств, которые не используют интерфейс
&man.bus.dma.9;, приведут к повреждению информации в ядре с включенным
PAE. Не рекомендуется использовать такие драйверы.
По этой причине в &os; 5.X включен конфигурационный файл ядра
PAE, из которого удалены все драйверы, о которых
известно, что они не работают при включенной поддержке
PAE.Некоторые системные переменные определяют использование ресурсов
памяти по количеству доступной физической памяти. Такие переменные
могут привести к ненужному чрезмерному выделению памяти из-за
особенностей работы системы PAE. Один из таких
примеров — переменная , которая
управляет максимальным количеством vnode, разрешенных в ядре.
Рекомендуется установить эту и подобные ей переменные вручную в
адекватные значения.Возможно, понадобится увеличить пространство виртуальных адресов
ядра (KVA) или уменьшить какую-либо переменную (см.
выше), значение которой было неоправданно велико и могло привести к
исчерпанию KVA. Для этого может быть использована
опция ядра .В случае сомнений относительно производительности и стабильности
рекомендуется обратиться к странице руководства &man.tuning.7;. Страница
руководства &man.pae.4; содержит свежую информацию о поддержке
PAE в &os;.Создание файлов устройствфайлы устройствMAKEDEVЕсли вы работаете с &os; 5.0 или старше, вы можете
пропустить этот раздел. Эти версии используют &man.devfs.5; для выделения
файлов устройств прозрачно для пользователя.Практически все устройства в ядре имеют соответствующий файл,
называемый node, в каталоге /dev. Они
выглядят как обычные файлы, но на самом деле это специальные
точки входа в ядро, которые необходимы приложениям для
доступа к устройствам. Скрипт
/dev/MAKEDEV, который выполняется при первой
установке операционной системы, создает практически все поддерживаемые
файлы устройств. Однако он не создаёт их все, таким
образом, когда вы добавляете поддержку нового устройства, следует
убедиться, что соответствующие файлы есть в /dev, и
если их там нет, создать их. Вот простой пример:Предположим, вы добавили поддержку привода IDE CD-ROM в ядро.
Строка, которую вы добавили:device acd0Это означает, что вам необходимо проверить наличие файлов, название
которых начинаются строкой acd0 в каталоге
/dev, за которой, возможно, следует буква, например
c, или предшествует r, что
означает, что это сырое (raw) устройство, которое
используется для прямого доступа к аппаратному устройству. Если
оказывается, что таких файлов в каталоге нет, вы должны перейти в
каталог /dev и набрать:MAKEDEV&prompt.root; sh MAKEDEV acd0Когда скрипт завершит работу, вы увидите, что файлы
acd0c и racd0c созданы,
соответственно скрипт отработал корректно.Для звуковых карт нижеследующая команда создает необходимые
файлы:&prompt.root; sh MAKEDEV snd0Если вы создаете файлы устройств для таких устройств, как звуковые
карты и если другие люди имеют доступ к вашей машине, было бы не лишним
защитить их от использования извне при помощи добавления их в файл
/etc/fbtab. За дальнейшей информацией обратитесь
к странице руководства &man.fbtab.5;.Следуйте этой простой процедуре для любых других устройств, которые
отсутствуют в ядре GENERIC и которые не имеют
соответствующих файлов в /dev.Все контроллеры SCSI используют одинаковый набор файлов в
/dev, поэтому вам не нужно создавать их. Кроме того,
сетевые карты и псевдо-устройства SLIP и PPP не имеют вхождений в
/dev, поэтому и о них вы не должны
беспокоиться.Решение проблемСуществует пять категорий проблем, которые могут возникнуть при
сборке собственного ядра. Вот они:Не удаётся отработать команде config:Если команда &man.config.8; не может отработать, то, скорее всего,
вы допустили где-нибудь маленькую ошибку. К счастью, &man.config.8;
выведет номер проблемной строки, поэтому вы можете быстро найти
строку, содержащую ошибку. Например, если вы видите:config: line 17: syntax errorУбедитесь, что опция введена верно путём сравнения с файлом
GENERIC или другим источником.Не удаётся отработать команде make:Если не удаётся отработать команде make, обычно
это означает ошибку в описании конфигурации ядра, которая не достаточно
тривиальна для того, чтобы &man.config.8; мог обнаружить её.
Опять-таки, просмотрите файл конфигурации, и, если вы все еще не можете
решить проблему, напишите письмо в &a.questions;, включив в письмо файл
конфигурации ядра. Скорее всего проблема будет решена быстро.Не удаётся установить новое ядро:Если ядро собралось без проблем, но не удалось его установить
(команда make install или make
installkernel сообщила об ошибке), первое, что необходимо
проверить, не запущена ли ваша система с уровнем безопасности 1 или
выше (обратитесь к &man.init.8;). Процедура установки пробует снять
флаг неизменяемости с текущего ядра и установить этот флаг для нового
ядра. Так как на уровне безопасности 1 и выше запрещено снятие флага
неизменяемости для всех файлов в системе, установка должна
производиться на уровне безопасности 0 и ниже.Информация выше применима только к &os; 4.X и более ранним версиям.
&os; 5.X, как и более поздние версии, не устанавливает этот флаг
на ядро и ошибка при установке ядра возможно указывает на более
фундаментальную проблему.Ядро не загружается:Если ваше новое ядро не загружается или ему не удаётся обнаружить
ваши устройства — не паникуйте! К счастью, в &os; существует отличный
механизм для восстановления после установки несовместимого ядра.
Просто выберите ядро, которое хотите загрузить, в загрузчике &os;.
Доступ к нему вы можете получить, когда система делает обратный
отсчёт от
10 в меню загрузки. Нажмите любую клавишу, кроме Enter,
введите unload и наберите
boot /boot/kernel.old/kernel,
или используйте любое
другое ядро, которое загрузится без проблем. Во время
переконфигурирования ядра всегда полезно оставлять копию ядра, о
котором известно, что оно рабочее.После загрузки с рабочим ядром вы можете проверить ваш файл
конфигурации и попробовать собрать ядро опять. Очень полезным в данном
случае окажется файл /var/log/messages, в котором,
среди других записей, имеются сообщения ядра от каждой успешной загрузки.
Также, команда &man.dmesg.8; выведет сообщения ядра от текущей
загрузки.Если у вас возникли проблемы со сборкой ядра, убедитесь, что вы
сохранили ядро GENERIC или другое рабочее ядро
под другим именем, чтобы оно не было удалено при следующей сборке. Вы
не можете использовать kernel.old, потому что
при установке нового ядра kernel.old
перезаписывается последним установленным ядром, которое может
оказаться нерабочим. Также, как можно скорее переместите рабочее
ядро в /boot/kernel,
так как некоторые команды, такие как &man.ps.1; будут работать
некорректно. Для этого просто переместите каталог, содержащий
работоспособное ядро:&prompt.root; mv /boot/kernel /boot/kernel.bad
&prompt.root; mv /boot/kernel.good /boot/kernelВ версиях &os; до 5.X, для восстановления работоспособного
ядра используйте команду:&prompt.root; chflags noschg /kernelЕсли вы обнаружите, что не можете этого сделать, скорее всего вы
работаете на уровне безопасности (&man.securelevel.8;) большем нуля.
Отредактируйте переменную kern_securelevel в файле
/etc/rc.conf, установите её в
-1 и перезагрузитесь. Вы можете установить её в
предыдущее состояние, когда будете довольны своим новым
ядром.И, если вы захотите закрыть ваше новое ядро или
любой другой файл, таким образом, что он не сможет быть перемещен или
изменен, используйте следующую команду:&prompt.root; chflags schg /kernelЯдро работает, но &man.ps.1; больше не работает:Если вы установили версию ядра отличную от той, с которой были
собраны ваши системные утилиты, например, ядро от 5.X на системе 4.X,
большая часть системных команд, таких как &man.ps.1; и &man.vmstat.8;
не будут больше работать. Вам потребуется перекомпилировать и установить систему
той же версии исходных текстов, что и ядро. Это одна из причин,
по которой не следует использовать версию ядра, отличную от версии всей
остальной системы.
diff --git a/ru_RU.KOI8-R/books/handbook/l10n/chapter.sgml b/ru_RU.KOI8-R/books/handbook/l10n/chapter.sgml
index 5570e2d367..2f55ff8473 100644
--- a/ru_RU.KOI8-R/books/handbook/l10n/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/l10n/chapter.sgml
@@ -1,998 +1,998 @@
- Andrey A.
+ AndreyChernovПредоставил Michael C.WuПереписал АлександрПересункоПеревод на русский язык: ДенисПеплинЛокализация - I18N/L10N использование и настройкаКраткий обзорFreeBSD - это очень распределенный проект, пользователи
и контрибьюторы которого находятся в самых разных частях света.
В этой главе рассказывается о возможностях интернационализации
и локализации FreeBSD, которые позволяют не-англоговорящим
пользователям делать свою работу. Существует много подходов в
i18n реализации - как на системном уровне, так и на уровне
приложений, так что, где это возможно, мы будем давать читателю
ссылки на более углубленные источники документации.После прочтения этой главы, вы будете знать:Как разные языки и региональные настройки кодируются
в современных операционных системах.Как установить региональные настройки для вашей
оболочки.Как настроить вашу консоль для отличных от
английского языков.Как эффективно использовать X Window System с разными
языками.Где найти дополнительную документацию по созданию
i18n-совместимых приложений.Перед чтением этой главы вам следует::Знать как установить дополнительные приложения сторонних
разработчиков ().ОсновыЧто такое I18N/L10N?интернационализациялокализациялокализацияРазработчики сократили интернационализацию в термин I18N, по числу
символов между первым и последним символом интернационализации. В
названии L10N используется тот же принцип от локализации.
Совместно используемые I18N/L10N методы, протоколы и приложения
позволяют пользователям использовать языки по своему выбору.I18N приложения написаны с применением набора I18N посредством
библиотек. Это позволяет разработчикам писать простые файлы и переводить
отображаемые меню и надписи на разные языки. Мы настоятельно рекомендуем
программистам следовать этому соглашению.Почему я должен использовать I18N/L10N?I18N/L10N используется всегда, когда вы хотите просмотреть, ввести
или обработать данные на отличных от английского языках.Какие языки поддерживаются в проекте I18N?I18N и L10N не являются специфичными для FreeBSD. На текущий момент
у вас есть выбор между самыми распространенными языками мира, включая, но
не ограничиваясь: китайский, немецкий, японский, корейский, французский,
русский, вьетнамский и др.Использование локализацииПри всем своем величии, I18N не специфична для FreeBSD и
является, по сути, соглашением. Следование этому соглашению
помогает FreeBSD, и мы это приветствуем.localeНастройки локализации базируются на трех основных терминах:
код языка, код страны и кодировка. Имена локализаций строятся из этих
частей следующим образом:кодязыка_кодстраны.кодировкаЯзык и код страныlanguage codescountry codesЧтобы настроить FreeBSD (или любую другую &unix;-систему,
поддерживающую I18N) на использование специфического языка, пользователю
нужно выяснить коды этого языка и страны (коды страны сообщают
приложению какой именно диалект языка этой страны нужно использовать). К
тому же, веб-браузеры, SMTP/POP серверы, веб-серверы и т.п. делают свой
выбор в зависимости от этого. Далее показаны примеры кодов
языка/страны:Код языка/страныОписаниеen_USАнглийский - Соединенные Штатыru_RUРусский для Россииzh_TWТрадиционный китайский для ТайваняКодировкикодировкиASCIIНекоторые языки используют не соответствующие ASCII кодировки,
которые используют для кодирования 8 бит, расширенное или
многобайтовое представление символов (подробности см. в &man.multibyte.3;).
Старые приложения не распознают такие кодировки и ошибочно принимают их
за управляющие символы. Новые приложения обычно распознают 8-битные
символы. В зависимости от реализации, пользователю может
потребоваться компиляция приложения с поддержкой расширенного или
многобайтного представления символов, или же просто правильная его
настройка. Чтобы иметь возможность вводить и обрабатывать символы с
расширенным или многобайтным представлением, Коллекция портов FreeBSD
предоставляет поддержку разных языков для различных приложений. Смотрите
документацию по I18N в соответствующем порту FreeBSD.В частности, пользователю необходимо читать прилагаемую к приложению
документацию чтобы решить, как правильно его настроить или
указать правильные параметры configure/Makefile/компилятору.Следует помнить следующие вещи:Наборы символов, использующие один байт для кодирования символа
(см. &man.multibyte.3;), например,
ISO-8859-1, ISO-8859-15, KOI8-R, CP437.Расширенные или многобайтные кодировки, например, EUC, Big5.Вы можете посмотреть актуальный список наборов символов на сайте
IANA Registry.Вместо этого, FreeBSD версий 4.5 и выше используют X11-совместимые
кодировки для локализации.Приложения, использующие I18NВ системе Портов и Пакетов FreeBSD в название приложений,
поддерживающих I18N, включена аббревиатура I18N для
легкой их идентификации. И, тем не менее, не все приложения поддерживают
требуемый язык.Настройка локализацииОбычно достаточно экспортировать значение имени локализации в
переменной LANG Вашей оболочки. Это можно сделать в
пользовательском ~/.login_conf файле или в
инициализационном файле пользовательской оболочки
(~/.profile, ~/.bashrc,
~/.cshrc). Нет надобности устанавливать отдельные
параметры локализации такие как LC_CTYPE,
LC_CTIME. За дополнительной информацией, пожалуйста,
обращайтесь к документации FreeBSD по нужному вам языку.Вам следует установить следующие переменные окружения в ваших
конфигурационных файлах:POSIXLANG для семейства функций &posix;
&man.setlocale.3;MIMEMM_CHARSETнабор символов MIME для
приложенийЭти настройки включают конфигурацию оболочки пользователя,
конфигурацию конкретных приложений и конфигурацию X11.Методы настройки локализацииlocalelogin classСуществует два метода настройки локализации и оба описаны ниже.
Первый (рекомендуемый) заключается в задании переменных в классе логина, другой метод заключается в
задании переменных окружения в
инициализационном
файле системной оболочки.Метод Login ClassesЭтот метод позволяет установить переменные окружения,
необходимые для установки локализации и набора символов MIME,
однократно для любых оболочек, вместо того, чтобы добавлять
установку этих переменных в инициализационный файл каждой оболочки.
Настройка на уровне пользователя может
быть сделана самим пользователем, а
Настройка на уровне администратора требует привилегий
суперпользователя.Настройка на уровне пользователяВот минимальный пример файла .login_conf
в домашнем каталоге пользователя, в котором задаются обе переменные
для кодировки Latin-1:me:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:Traditional ChineseBIG-5 encodingЭто пример .login_conf, который задает
переменные для Традиционного Китайского языка в кодировке BIG-5.
Обратите внимание, что задается намного больше переменных, потому
что некоторое программы некорректно воспринимают переменные
окружения локализации для Китая, Японии и Кореи.#Пользователи, которые не хотят использовать
денежные единицы
#и форматы времени Тайваня, могут вручную изменить каждую переменную
me:\
:lang=zh_TW.Big5:\
:lc_all=zh_TW.Big:\
:lc_collate=zh_TW.Big5:\
:lc_ctype=zh_TW.Big5:\
:lc_messages=zh_TW.Big5:\
:lc_monetary=zh_TW.Big5:\
:lc_numeric=zh_TW.Big5:\
:lc_time=zh_TW.Big5:\
:charset=big5:\
:xmodifiers="@im=xcin": #Setting the XIM Input ServerЗа подробностями обращайтесь к разделу
Настройка на
уровне администратора и &man.login.conf.5;.Настройка на уровне администратораПроверьте, что класс логина пользователя в
/etc/login.conf задает нужный язык.
Убедитесь, что эти настройки присутствуют в
/etc/login.conf:language_name:accounts_title:\
:charset=MIME_charset:\
:lang=locale_name:\
:tc=default:Используя наш предыдущий пример с Latin-1, это должно
выглядеть так:german:German Users Accounts:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:\
:tc=default:Изменение класса логина с помощью
&man.vipw.8;vipwИспользуйте vipw для добавления новых
пользователей и отредактируйте запись о пользователе, чтобы она была
похожа на эту:user:password:1111:11:language:0:0:User Name:/home/user:/bin/shИзменение класса логина с помощью
&man.adduser.8;adduserlogin classИспользуйте adduser для добавления новых
пользователей и сделайте следующее:Установите defaultclass =
язык в
/etc/adduser.conf. Помните, что в этом
случае вы должны задать default класс для
всех пользователей других языков.Другой способ заключается в задании класса логина каждый
раз, когда &man.adduser.8; попросит об этом:
Enter login class: default []: Еще один способ - использовать следующее для каждого
пользователя другого языка, которого вы хотите
добавить:&prompt.root; adduser -class языкИзменение класса логина с помощью
&man.pw.8;pwЕсли для добавления новых пользователей вы используете
утилиту &man.pw.8;, запускайте ее с такими параметрами:&prompt.root; pw useradd
имя_пользователя -L языкМетод инициализационных файлов оболочкиЭтот метод не рекомендуется, потому что он требует разных
настроек для каждой оболочки. Вместо этого используйте
Метод класса логина.MIMElocaleЧтобы добавить локализацию и набор символов MIME, просто
установите две переменные окружения, приведенные ниже, в
инициализационные файлы оболочек /etc/profile
и/или /etc/csh.login. Для примера мы используем
немецкий язык:В /etc/profile:LANG=de_DE.ISO8859-1; export LANGMM_CHARSET=ISO-8859-1; export MM_CHARSETИли в /etc/csh.login:setenv LANG de_DE.ISO8859-1setenv MM_CHARSET ISO-8859-1Как вариант, вы можете добавить установки, приведенные выше в
/usr/share/skel/dot.profile (соответствует
установкам в /etc/profile выше), или
/usr/share/skel/dot.login (соответствует
установкам в /etc/csh.login выше).Для X11:В $HOME/.xinitrc:LANG=de_DE.ISO8859-1; export LANGИли:setenv LANG de_DE.ISO8859-1В зависимости от вашей оболочки (см. выше).Настройка консолиДля всех однобайтовых кодовых таблиц, укажите подходящие
консольные шрифты в /etc/rc.conf для
требуемого языка:font8x16=имя_шрифта
font8x14=имя_шрифта
font8x8=имя_шрифтаThe имя_шрифта берется из каталога
/usr/share/syscons/fonts,
без указания расширения .fnt.sysinstallkeymapscreenmapУбедитесь также в установке правильных значений keymap и screenmap
для вашей однобайтовой кодовой таблицы через
sysinstall (/stand/sysinstall
в &os; версий более ранних, чем 5.2).
В sysinstall выберите
Configure, затем
Console. Или добавьте следующие строки в
/etc/rc.conf:scrnmap=screenmap_name
keymap=keymap_name
keychange="fkey_number sequence"screenmap_name берется из
каталога /usr/share/syscons/scrnmaps, без
суффикса .scm.
Screenmap с соответствующим шрифтом обычно используется в качестве
обходного пути для расширения 8 бит до 9 бит в псевдографическую
область VGA адаптера, например для удаления букв из этой области
если используется 8-битный шрифт.Если даемон мыши moused включен
добавлением в /etc/rc.conf следующей
строки:moused_enable="YES"прочтите информацию о курсоре мыши в следующем параграфе.mousedПо умолчанию драйвер &man.syscons.4; выделяет для курсора мыши
в таблице символов диапазон 0xd0-0xd3. Если в вашем языке
используется этот диапазон, переместите этот диапазон. В
FreeBSD версий до 5.0, добавьте следующую строку в файл
конфигурации ядра:options SC_MOUSE_CHAR=0x03Для FreeBSD версий 4.4 и выше включите следующую строку в
/etc/rc.conf:mousechar_start=3keymap_name берется из каталога
/usr/share/syscons/keymaps, без расширения
.kbd. Если вы не знаете какую таблицу
использовать, запустите &man.kbdmap.1; для тестирования таблицы
без перезагрузки.keychange обычно требуется для сопоставления
функциональных клавиш выбранному типу терминала, поскольку
последовательности функциональных клавиш не могут быть определены
в раскладке клавиатуры.Убедитесь также, что для всех записей ttyv*
в /etc/ttys установлен подходящий тип терминала.
Имеющиеся типы соответствуют следующим кодировкам:Кодовая таблицаТип терминалаISO-8859-1 or ISO-8859-15cons25l1ISO-8859-2cons25l2ISO-8859-7cons25l7KOI8-Rcons25rKOI8-Ucons25uCP437 (VGA default)cons25US-ASCIIcons25wДля расширенных кодировок, а также для многобайтовых кодировок,
используйте порт FreeBSD из каталога
/usr/ports/language.
Некоторые порты выводят информацию на консоль, хотя для системы
выглядят как последовательные псевдотерминалы, следовательно вы
должны зарезервировать достаточное количество псевдотерминалов
и для X11 и для последовательных псевдоконсолей. Вот неполный
список приложений для использования этих кодировок в консоли:ЯзыкПриложениеТрадиционный китайский (BIG-5)chinese/big5conЯпонскийjapanese/kon2-16dot или
japanese/mule-freewnnКорейскийkorean/hanНастройка X11Хотя X11 не является частью проекта FreeBSD, мы включили сюда
некоторую информацию для пользователей FreeBSD. За детальной
информацией обращайтесь к Веб
сайту &xorg; или к сайту того сервера X11, который вы
используете.В ~/.Xresources, вы можете внести
дополнительные I18N настройки приложений (настройки шрифтов,
меню и т.п.).Отображение шрифтовX11 True Type font serverУстановите сервер &xorg;
(x11-servers/xorg-server)
или &xfree86;
(x11-servers/XFree86-4-Server),
затем &truetype; шрифты для используемого языка.
После установки корректного
значения locale меню, сообщения и т.д. должны появиться на
соответствующем языке.Ввод не-англоязычных символовX11 Input Method (XIM)Протокол X11 Input Method (XIM) это новый стандарт для всех
клиентов X11. Все приложения X11 должны быть написаны как XIM
клиенты, получающие ввод с серверов XIM Input. Существует
несколько XIM серверов, доступных для различных языков.Настройка принтераНекоторые однобайтовые кодовые таблицы обычно поддерживаются
принтерами на аппаратном уровне. Расширенные, или
мультибайтовые кодовые таблицы требуют дополнительной настройки.
Мы рекомендуем использование apsfilter.
Кроме того, вы можете преобразовать документ в формат &postscript; или
PDF с помощью поддерживающих соответствующий язык программ.Ядро и файловые системыФайловая система FreeBSD (fast filesystem, FFS) поддерживает
8-битные символы, ее можно использовать с любой односимвольной
кодовой таблицей (см. &man.multibyte.3;), но кодовые таблицы не
хранятся в файловой системе; т.е. ей ничего не известно о порядке
расположения символов в кодовой таблице. Официально FFS пока
не поддерживает расширенные или много символьные кодовые таблицы.
Однако, для некоторых расширенных или многобайтовых кодировок есть
неофициальные патчи, включающие их поддержку в FFS. Это всего
лишь временные не переносимые решения или исправления кода и
мы решили не включать их в дерево исходных текстов. Обращайтесь
к сайтам по соответствующим языкам за дальнейшей информацией
и патчами.DOSUnicodeФайловая система &ms-dos; в FreeBSD может быть настроена для
поддержки перекодировки между &ms-dos;, кодовыми таблицами Unicode
и выбранной кодовой таблицей FreeBSD. Обращайтесь к
&man.mount.msdos.8; за подробностями.Компиляция I18N программМногие порты FreeBSD были созданы с поддержкой I18N. Некоторые
из них помечены символами -I18N в имени порта. Эти и многие другие
программы имеют встроенную поддержку I18N и не нуждаются в
специальной настройке.MySQLОднако, некоторые приложения, такие как
MySQL, требуют указания кодировки в
Makefile. Это обычно делается правкой
Makefile или передачей параметров
configure при сборке из исходных
текстов.Локализация FreeBSD для поддержки определенных языков
- Andrey A.
+ AndreyChernovПервоначально предоставил Русский язык (кодировка KOI8-R)localizationRussianЗа дополнительной информацией о кодировке KOI8-R, обращайтесь к
странице KOI8-R References
(Russian Net Character Set).Настройка локализацииПоместите в ~/.login_conf следующие
строки:me:My Account:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:Обратитесь к вышеизложенному материалу этой главы за
соответствующей
информацией.Настройка консолиДля FreeBSD версий до 5.0 добавьте к файлу настройки
ядра следующую строку:options SC_MOUSE_CHAR=0x03Для FreeBSD версий 4.4 и выше вставьте следующую строку
в /etc/rc.conf:mousechar_start=3Используйте в /etc/rc.conf
такие настройки:keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
font8x8="cp866-8x8"Для каждого устройства ttyv* в файле
/etc/ttys, используйте
cons25r в качестве типа терминала.Обратитесь к вышеизложенному материалу этой главы за примерами
настройки консоли.Настройка принтерапринтерыБольшинство принтеров для России поставляются с аппаратной кодовой
страницей CP866, требуется специальный выходной фильтр для
перекодировки из KOI8-R в CP866. Такой фильтр устанавливается по
умолчанию в /usr/libexec/lpr/ru/koi2alt.
Запись для принтера в /etc/printcap должна
выглядеть приблизительно так:lp|Russian local line printer:\
:sh:of=/usr/libexec/lpr/ru/koi2alt:\
:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:Обратитесь к &man.printcap.5; за подробным описанием.&ms-dos; FS и русские имена файловСледующий пример записи в &man.fstab.5; включает поддержку
русских имен файлов при монтировании файловых систем &ms-dos;:/dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0Параметр выбирает имя используемой
локализации, а параметр задает таблицу
перекодировки. При использовании параметра
убедитесь, что раздел /usr смонтирован перед
разделом &ms-dos;, поскольку таблицы перекодировки расположены
в каталоге
/usr/libdata/msdosfs. За более подробной
информацией обращайтесь к странице справочника
&man.mount.msdos.8;.Настройка X11Выполните сначала не-X
настройку локализации.Локализация KOI8-R
может не работать со старыми релизами
&xfree86; (ниже 3.3).
На настоящий момент в FreeBSD в качестве системы X Window по
умолчанию используется &xorg;.
Поэтому если только вы не используете старые версии FreeBSD,
это не должно стать проблемой.
- Зайдите в каталог
- russian/X.language и
- выполните следующую команду:
-
- &prompt.root; make install
-
- Вышеуказанный порт установит последнюю версию KOI8-R
- шрифтов. В &xorg; (так же как и в
- &xfree86; версии 3.3 и выше) уже есть
- некоторые KOI8-R шрифты, но эти масштабируются лучше.
+ Если вы используете &xorg;,
+ установите пакет x11-fonts/xorg-fonts-cyrillic.Проверьте раздел "Files" в файле
- /etc/XF86Config. Следующие строки
+ /etc/X11/xorg.conf. Следующие строки
должны быть добавлены перед всеми
записями FontPath:FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"Если вы используете видеорежим с высоким разрешением,
поменяйте местами строки для 75 dpi и 100 dpi.Для настройки ввода на русском языке, добавьте
нижеприведенные строки в раздел
"Keyboard" файла
XF86Config.Для &xfree86; 3.X:XkbLayout "ru"
XkbOptions "grp:caps_toggle"Для &xorg; (или
&xfree86; 4.X):
- Option "XkbLayout" "ru"
-Option "XkbOptions" "grp:caps_toggle"
+ Option "XkbLayout" "us,ru"
+Option "XkbOptions" "grp:toggle"Убедитесь, что XkbDisable отключен
(закомментирован) в этом разделе.
- Переключателем RUS/LAT служит CapsLock.
+ Для случая grp:caps_toggle переключателем
+ RUS/LAT служит CapsLock.
Прежняя функция CapsLock все еще доступна в комбинации
ShiftCapsLock
- (только в режиме LAT).
+ (только в режиме LAT).
+ При установке grp:toggle переключателем
+ RUS/LAT будет правая клавиша Alt. Режим
+ grp:caps_toggle по неустановленным причинам
+ не работает в &xorg;.Если на вашей клавиатуре есть клавиши &windows;,
и некоторые не-алфавитные клавиши работают неправильно в режиме
RUS, добавьте следующую строку в файл
XF86Config.Для &xfree86; 3.X:XkbVariant "winkeys"Для &xorg; (или
&xfree86; 4.X):
- Option "XkbVariant" "winkeys"
+ Option "XkbVariant" ",winkeys"Ввод на русском языке может может не работать со старыми
версиями &xfree86;, прочтите
предупреждение выше с
более подробной информацией. Ввод на русском языке может
- также не работать с нелокализованными приложениями.
- Минимально локализованные приложения должны вызывать
- функцию XtSetLanguageProc (NULL, NULL,
- NULL); в начале программы. Обратитесь к KOI8-R for X Window
- за дальнейшими инструкциями по локализации приложений
- X11.
+ также не работать с нелокализованными приложениями.
+
+ Минимально локализованные приложения должны вызывать функцию
+ XtSetLanguageProc (NULL, NULL, NULL); в начале
+ программы.
+ Обратитесь к KOI8-R for X Window за
+ дальнейшими инструкциями по локализации приложений X11.
+ Локализация на традиционном китайском для Тайванялокализациятрадиционный китайскийУ проекта FreeBSD-Taiwan есть Chinese HOWTO для
FreeBSD по адресу
,
в котором используются многие порты на китайском.
На данный момент редактором FreeBSD Chinese HOWTO
является Shen Chuan-Hsing
statue@freebsd.sinica.edu.tw.
Chuan-Hsing Shen statue@freebsd.sinica.edu.tw
создал
Chinese FreeBSD Collection (CFC), используя FreeBSD-Taiwan
zh-L10N-tut. Пакеты и скрипты доступны по адресу
.Локализация на немецкий язык (для всех ISO 8859-1
языков)локализациянемецкийSlaven Rezic eserte@cs.tu-berlin.de написал
учебник по использованию umlauts в FreeBSD. Учебник написан
на немецком и доступен по адресу
.Локализация на японский и корейский языкилокализацияяпонскийлокализациякорейскийЗа информацией по японской локализации, обратитесь к
,
а за информацией о корейской локализацией к
.Не-англоязычная документация FreeBSDОтдельные контрибьюторы FreeBSD перевели части документации
FreeBSD на другие языки. Эти переводы доступны на основном сайте или из каталога
/usr/share/doc.
diff --git a/ru_RU.KOI8-R/books/handbook/mail/chapter.sgml b/ru_RU.KOI8-R/books/handbook/mail/chapter.sgml
index d30900f7cd..315d92712e 100644
--- a/ru_RU.KOI8-R/books/handbook/mail/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/mail/chapter.sgml
@@ -1,2366 +1,2366 @@
BillLloydОригинальную версию предоставил JimMockПереписал АлексейДокучаевПеревод на русский язык: ДенисПеплинЭлектронная почтаКраткий обзорemailЭлектронная почта называемая также email, является
на сегодняшний день одним из самых популярных средств связи. Эта глава
описывает основы работы с почтовым сервером в &os;, а также введение
в процесс отправки и получения почты в &os;; однако, это не полноценный
справочник и фактически в главу не вошло много важной информации.
Более подробно эта тема рассмотрена во множестве прекрасных книг, список
которых приведен в .После прочтения этой главы вы узнаете:Какие программные компоненты задействованы в отправке и
получении электронной почты.Какие основные файлы настройки
sendmail имеются в FreeBSD.Разницу между удаленными и локальными почтовыми
ящиками.Как запретить спамерам использовать ваш почтовый
сервер для пересылки почты.Как установить и настроить альтернативный агент передачи почты
(Mail Transfer Agent, MTA), заменив им
sendmail.Как разрешить наиболее часто встречающиеся проблемы с почтовым
сервером.Как использовать SMTP с UUCP.Как настроить систему только для отправки почты.Как использовать почту с коммутируемым подключением к
сети.Как настроить SMTP аутентификацию для дополнительной
защиты.Как установить и настроить почтовый агент пользователя
(Mail User Agent, MUA), например
mutt, для отправки и получения
почты.Как загрузить почту с удаленного POP или
IMAP сервера.Как автоматически применять фильтры и правила к входящей
почте.Перед прочтением этой главы вам потребуется:Правильно настроить сетевое подключение
().Правильно настроить DNS для почтового сервера
().Знать как устанавливать дополнительное программное обеспечение
сторонних разработчиков ().Использование электронной почтыPOPIMAPDNSВ работе почтовой системы задействованы пять основных частей:
пользовательский почтовый клиент
(Mail User Agent, MUA),
почтовый сервис (даемон)
(Mail Transfer Agent, MTA), сервер DNS, удаленный или локальный почтовый ящик,
и конечно сам почтовый сервер.Пользовательский почтовый клиентОбычно, это программа типа mutt,
pine, elm,
mail, а также программы с графическим
интерфейсом, такие, как balsa или
xfmail, или интегрированные приложения
(например, какой-либо WWW браузер типа Netscape). Все эти программы
общаются с локальным почтовым
сервером, вызывая какой-либо даемон, или напрямую по протоколу
TCP.Почтовый даемонпочтовые даемоныsendmailпочтовые даемоныpostfixпочтовые даемоныqmailпочтовые даемоныexim&os; по умолчанию поставляется с
sendmail, но помимо того поддерживает
множество других даемонов почтового сервера, вот лишь некоторые
из них:exim;postfix;qmail.Почтовый даемон выполняет только две функции: он отвечает за прием
входящей почты и отправку исходящей. Он не
отвечает за выдачу
почты по протоколам POP или
IMAP, и не обеспечивает подключения к локальным
почтовым ящикам mbox или Maildir. Для этих целей
вам может потребоваться дополнительный
даемон.Старые версии sendmail содержат
некоторые серьезные ошибки безопасности, которые могут
привести к получению атакующим локального и/или удаленного
доступа к вашему компьютеру. Убедитесь, что вы работаете
с современной версией, свободной от таких ошибок.
Или установите альтернативный MTA
из Коллекции Портов &os;.Email и DNSСлужба имен доменов (Domain Name System, DNS) и соответствующий
ей даемон named играют важную роль в доставке
почты. Для доставки почты с вашего сайта другому, даемон почтового
сервера обратится к DNS для определения удаленного хоста, отвечающего
за доставку почты по назначению. Тот же процесс происходит при
доставке почты с удаленного хоста на ваш почтовый сервер.MX recordDNS отвечает за сопоставления имен хостов
IP адресам, как и за хранение информации, предназначенной для
доставки почты, известной как MX записи. Запись MX (Mail
eXchanger) определяет хост или хосты, которые будут получать почту
для определенного домена. Если для вашего имени хоста или домена
нет записи MX, почта будет доставлена непосредственно на ваш хост,
IP адрес которого определен в записи A.Вы можете просмотреть MX записи для любого домена с помощью
команды &man.host.1;, как показано в примере ниже:&prompt.user; host -t mx FreeBSD.org
FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.orgПолучение почтыemailполучениеПолучение почты для вашего домена выполняет почтовый сервер.
Он сохраняет отправленную в ваш домен почту в формате либо
mbox (это метод по умолчанию),
либо Maildir, в зависимости от настроек.
После сохранения почты ее можно либо прочитать локально, используя
такие приложения как &man.mail.1;, mutt,
или удаленно, по таким протоколам как POP или
IMAP. Это
означает, что для локального чтения почты вам не потребуется
устанавливать сервер POP или
IMAP.Доступ к удаленным почтовым ящикам по протоколам
POP и IMAPPOPIMAPДля удаленного доступа к почтовым ящикам вам потребуется
доступ к POP или IMAP
серверу.
Хотя удаленный доступ обеспечивают оба протокола
POP и IMAP, последний
предоставляет множество дополнительных возможностей, вот некоторые
из них:IMAP может как хранить сообщения на
удаленном сервере, так и забирать их.IMAP поддерживает одновременные
обновления.IMAP может быть очень полезен для
низкоскоростных соединений, поскольку позволяет пользователям
получить структуру сообщений без их загрузки; он также может
использоваться для выполнения таких задач как поиск на сервере,
для минимизации объема передаваемых между клиентом и сервером
данных.Для установки POP или
IMAP сервера необходимо выполнить следующие
действия:Выберите IMAP или
POP сервер, который подходит вам наилучшим
образом. Следующие POP и
IMAP серверы хорошо известны и могут быть
приведены в качестве примера:qpopper;teapop;imap-uw;courier-imap;Установите POP или
IMAP даемон, выбранный из Коллекции
Портов.Если потребуется, настройте
/etc/inetd.conf
для запуска POP или
IMAP сервера.Необходимо отметить, что и POP и
IMAP серверы передают информацию, включая
имя пользователя и пароль, в незашифрованном виде. Это означает,
что если вы хотите защитить передачу информации по этим
протоколам, потребуется использовать туннелирование сессий через
&man.ssh.1;. Туннелирование соединений описано в
.Доступ к локальным почтовым ящикамДоступ к почтовым ящикам может быть осуществлен непосредственно
путем использования MUA на сервере, где
эти ящики расположены. Это можно сделать используя приложения
вроде mutt или
&man.mail.1;.Почтовый хостпочтовый хостПочтовый хост это сервер, который отвечает за отправку и получение
почты для вашего компьютера, и возможно, для всей вашей сети.ChristopherShumwayПредоставил Настройка sendmailsendmailВ FreeBSD по умолчанию программой передачи почты (Mail Transfer
Agent, MTA) является &man.sendmail.8;. Работа
sendmail заключается в приеме почты от
почтовых программ пользователей (Mail User Agents,
MUA) и отправке ее на соответствующий адрес,
в соответствии с имеющимися настройками.
sendmail может также принимать входящие
соединения по сети и доставлять почту в локальные почтовые ящики
или перенаправлять их другой программе.sendmail использует следующие файлы
настройки:/etc/mail/access/etc/mail/aliases/etc/mail/local-host-names/etc/mail/mailer.conf/etc/mail/mailertable/etc/mail/sendmail.cf/etc/mail/virtusertableИмя файлаНазначение/etc/mail/accessФайл базы данных доступа
sendmail/etc/mail/aliasesСинонимы почтовых ящиков/etc/mail/local-host-namesСписок хостов, для которых
sendmail принимает почту/etc/mail/mailer.confНастройки почтовой программы/etc/mail/mailertableТаблица доставки почтовой программы/etc/mail/sendmail.cfОсновной файл настройки
sendmail/etc/mail/virtusertableТаблицы виртуальных пользователей и доменов/etc/mail/accessБаза данных доступа определяет список хостов или IP адресов,
имеющих доступ к локальному почтовому серверу, а также тип
предоставляемого доступа. Хосты могут быть перечислены как
, ,
или просто переданы процедуре обработки ошибок
sendmail с заданным сообщением об ошибке.
Хостам, перечисленным с параметром по умолчанию ,
разрешено отправлять почты на этот хост, если адрес назначения почты
принадлежит локальной машине. Все почтовые соединения от хостов,
перечисленных с параметром , отбрасываются.
Для хостов, перечисленных с параметром ,
разрешена передача через этот сервер почты с любым адресом
назначения.Настройка базы данных доступа
sendmail
- cyberspammer.com 550 We do not accept mail from spammers
+ cyberspammer.com 550 We do not accept mail from spammers
FREE.STEALTH.MAILER@ 550 We do not accept mail from spammers
another.source.of.spam REJECT
okay.cyberspammer.com OK
128.32 RELAYВ этом примере приведены пять записей. К отправителям, чей адрес
соответствует записи в левой части таблицы, применяется правило
записанное в правой части таблицы. В первых двух примерах
код ошибки будет передан процедуре обработке ошибок
sendmail. В этом случае на удаленном хосте
будет получено соответствующее сообщение. В следующем примере почта
отбрасывается почта от определенного хоста,
another.source.of.spam. В четвертом примере
разрешается прием почты от хоста okay.cyberspammer.com, имя которого более точно
совпадает с этой записью, чем с cyberspammer.com в примере выше. При более
точном совпадении правила перезаписываются. В последнем примере
разрешается пересылка почты от хостов с IP адресами, начинающимися
с 128.32. Эти хосты смогут отправлять почту через
этот почтовый сервер для других почтовых серверов.После изменения этого файла для обновления базы данных
вам потребуется запустить make в каталоге
/etc/mail/./etc/mail/aliasesБаза данных синонимов содержит список виртуальных почтовых
ящиков, принадлежащих другим пользователям, файлам, программам, или
другим синонимам. Вот несколько примеров, которые могут быть
использованы для /etc/mail/aliases:Mail Aliasesroot: localuser
ftp-bugs: joe,eric,paul
bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"Формат файла прост; имя почтового ящика слева от двоеточия
сопоставляется назначению(ям) справа. В первом примере
производится простое сопоставление почтового ящика
root почтовому ящику
localuser, для которого затем опять будет
произведен поиск в базе данных синонимов. Если совпадений не
обнаружится, сообщение будет доставлено локальному пользователю
localuser. В следующем примере приведен
список рассылки. Почта на адрес ftp-bugs
рассылается на три локальных почтовых ящика: joe,
eric и paul. Обратите
внимание, что удалённый почтовый ящик может быть задан в виде
user@example.com. В следующем примере
показана запись почты в файл, в данном случае
/dev/null. И в последнем примере показано
отправление почты программе, в данном случае почтовое сообщение
переправляется через канал &unix; на стандартный вход
/usr/local/bin/procmail.После обновления этого файла вам потребуется запустить
make в каталоге /etc/mail/
для обновления базы данных./etc/mail/local-host-namesВ этом файле находится список имен хостов, принимаемых
программой &man.sendmail.8; в качестве локальных. Поместите в
этот файл любые домены или хосты, для которых
sendmail должен принимать почту.
Например, если этот почтовый сервер должен принимать почту для
домена example.com и хоста
mail.example.com, его файл
local-host-names может выглядеть примерно
так:example.com
mail.example.comПосле обновления этого файла необходимо перезапустить
&man.sendmail.8;, чтобы он смог перечитать изменения./etc/mail/sendmail.cfОсновной файл настройки sendmail,
sendmail.cf управляет общим поведением
sendmail, включая все, от перезаписи
почтовых адресов до отправки удаленным серверам сообщений об
отказе от пересылки почты. Конечно, файл настройки с таким
многообразием возможностей очень сложен и подробное его описание
выходит за рамки данного раздела. К счастью, для стандартных
почтовых серверов изменять этот файл придется не часто.Основной файл настройки sendmail
может быть собран из макроса &man.m4.1;, определяющего возможности
и поведение sendmail. Подробнее
этот процесс описан в файле
/usr/src/contrib/sendmail/cf/README.Для применения изменений после правки файла необходимо
перезапустить sendmail./etc/mail/virtusertableФайл virtusertable сопоставляет виртуальные
почтовые домены и почтовые ящики реальным почтовым ящикам. Эти
почтовые ящики могут быть локальными, удаленными, синонимами,
определенными в /etc/mail/aliases, или
файлами.Пример таблицы виртуального доменаroot@example.com root
postmaster@example.com postmaster@noc.example.net
@example.com joeВ примере выше мы видим сопоставление адресов для домена
example.com. Почта
обрабатывается по первому совпадению с записью в этом файле.
Первая запись сопоставляет адрес root@example.com
локальному почтовому ящику root.
Вторая запись сопоставляет postmaster@example.com
локальному почтовому ящику postmaster
на хосте noc.example.net. Наконец,
до этого момента адрес в домене example.com не совпал ни с одним из
предыдущих, будет применено последнее сопоставление, в которому
соответствует всякое другое почтовое сообщение, отправленное на любой
адрес в example.com. Это сообщение
будет доставлено в локальный почтовый ящик
joe.AndrewBoothmanНаписал GregoryNeil ShapiroИнформация получена из писем, написанных Установка другой почтовой программыemailзамена mtaКак уже упоминалось, FreeBSD поставляется с MTA (Mail Transfer Agent)
sendmail. Следовательно, по умолчанию
именно эта программа отвечает за вашу исходящую и входящую
почту.Однако, по различным причинам некоторые системные администраторы
заменяют системный MTA. Эти причины варьируются от простого желания
попробовать другой MTA до потребности в определенных возможностях
пакета, основанного на другой почтовой программе. К счастью, вне
зависимости от причины, в FreeBSD такая замена выполняется
просто.Установка нового MTAВам предоставлен широкий выбор MTA. Начните с поиска в
Коллекции Портов FreeBSD,
где их немало. Конечно, вы можете использовать любой MTA
по желанию, взятый откуда угодно, если только сможете
запустить его под FreeBSD.Начните с установки нового MTA. После установки у вас будет
возможность решить, действительно ли он подходит вашем нуждам,
а также настроить новое программное обеспечение перед тем, как
заменить им sendmail. При установке
новой программы убедитесь, что она не пытается перезаписать
системные файлы, такие как /usr/bin/sendmail.
Иначе ваша новая почтовая программа фактически начнет работать
до того, как вы ее настроите.Обратитесь к документации на выбранный MTA
за информацией по его настройке.Отключение sendmailПроцедура, используемая для запуска
sendmail, значительно изменилась между
релизами 4.5-RELEASE, 4.6-RELEASE и последующими релизами.
Поэтому процедура, используемая
для его отключения, немного отличается.
-
- Если вы отключите сервис исходящей почты
+
+ Если вы отключите сервис исходящей почты
sendmail, необходимо
- заменить его альтернативной системой
- доставки почты. Если вы не сделаете этого, системные программы,
- такие как &man.periodic.8;, не смогут отправлять сообщения
- по электронной почте как обычно. Многие программы в вашей
- системе могут требовать наличия функционирующей
- sendmail-совместимой системы.
- Если приложения будут продолжать использовать программу
- sendmail для отправки почты
- после того, как вы её отключили, почта может попасть в
- неактивную очередь sendmail и никогда
- не будет доставлена.
-
+ заменить его альтернативной системой
+ доставки почты. Если вы не сделаете этого, системные программы,
+ такие как &man.periodic.8;, не смогут отправлять сообщения
+ по электронной почте как обычно. Многие программы в вашей
+ системе могут требовать наличия функционирующей
+ sendmail-совместимой системы.
+ Если приложения будут продолжать использовать программу
+ sendmail для отправки почты
+ после того, как вы её отключили, почта может попасть в
+ неактивную очередь sendmail и никогда
+ не будет доставлена.
+ FreeBSD 4.5-STABLE до 2002/4/4 и раньше
(включая 4.5-RELEASE и более ранние)Добавьте:sendmail_enable="NO"в /etc/rc.conf. Это отключит
сервис входящей почты sendmail,
но если /etc/mail/mailer.conf (см. ниже)
не изменен, sendmail все еще
будет использоваться для отправки почты.FreeBSD 4.5-STABLE после 2002/4/4
(включая 4.6-RELEASE и более поздние)Для полного отключения
sendmail, включая сервис исходящей
почты, используйтеsendmail_enable="NONE"в /etc/rc.conf.Если вы хотите отключить только сервис входящей почты
sendmail, установитеsendmail_enable="NO"в /etc/rc.conf. Тем не менее, если
входящая почта отключена, локальная доставка все равно
будет функционировать. Дополнительная информация по
опциям запуска sendmail
доступна на странице справочника &man.rc.sendmail.8;.FreeBSD 5.0-STABLE и более поздниеДля полного отключения
sendmail, включая сервис исходящей
почты, используйте
- sendmail_enable="NO"
+ sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"в /etc/rc.conf.Если вы хотите отключить только сервис входящей почты
sendmail, установитеsendmail_enable="NO"в /etc/rc.conf. Дополнительная информация
о параметрах запуска sendmail
доступна на странице справочника &man.rc.sendmail.8;.Запуск нового MTA при загрузкеВы можете выбрать один из двух методов для запуска нового MTA
при загрузке, опять же в зависимости от используемой версии
FreeBSD.FreeBSD 4.5-STABLE до 2002/4/11
(включая 4.5-RELEASE и более ранние)Добавьте в каталог
/usr/local/etc/rc.d/, скрипт с расширением
.sh и с правами выполнения пользователем
root. Скрипт должен принимать параметры
start и stop.
Во время запуска системы он будет запущен командой/usr/local/etc/rc.d/supermailer.sh startкоторая также может использоваться для запуска сервера вручную
Во время завершения работы системы, системные скрипты используют
параметр stop, выполнив команду/usr/local/etc/rc.d/supermailer.sh stopкоторая также может использоваться для остановки почтового сервера
при работающей системе.FreeBSD 4.5-STABLE после 2002/4/11
(включая 4.6-RELEASE и более поздние)С более поздними версиями FreeBSD, вы можете использовать
метод, описанный выше, или добавить строкуmta_start_script="filename"в /etc/rc.conf, где
filename это имя скрипта, который вы
хотите выполнить при загрузке для запуска MTA.Замещение sendmail как
почтовой программы по умолчаниюПрограмма sendmail настолько
распространена в качестве стандартной программы для систем &unix;,
что многие программы считают, что она уже установлена и настроена.
По этой причине многие альтернативные MTA предоставляют собственные
совместимые реализации интерфейса командной строки
sendmail; это облегчает их использование
в качестве прозрачной замены
sendmail.Поэтому если вы используете альтернативную почтовую программу,
потребуется убедиться, что когда программное обеспечение
пытается выполнить стандартные исполняемые файлы
sendmail, такие как
/usr/bin/sendmail, на самом деле выполняются
программы вновь установленной почтовой системы. К счастью,
FreeBSD предоставляет систему, называемую &man.mailwrapper.8;,
которая выполняет эту работу за вас.Когда установлен sendmail,
файл /etc/mail/mailer.conf выглядит
примерно так:sendmail /usr/libexec/sendmail/sendmail
send-mail /usr/libexec/sendmail/sendmail
mailq /usr/libexec/sendmail/sendmail
newaliases /usr/libexec/sendmail/sendmail
hoststat /usr/libexec/sendmail/sendmail
purgestat /usr/libexec/sendmail/sendmailЭто означает, что когда выполняется какая-то из этих стандартных
программ (например сам sendmail), система на
самом деле вызывает копию mailwrapper, называемую
sendmail, которая обращается к
mailer.conf и выполняет вместо этого
/usr/libexec/sendmail/sendmail.
Такая схема делает простой замену программ, которые на самом деле
выполняются, когда вызываются стандартные функции
sendmail.Поэтому если вы хотите выполнять
/usr/local/supermailer/bin/sendmail-compat
вместо sendmail, отредактируйте
/etc/mail/mailer.conf так:sendmail /usr/local/supermailer/bin/sendmail-compat
send-mail /usr/local/supermailer/bin/sendmail-compat
mailq /usr/local/supermailer/bin/mailq-compat
newaliases /usr/local/supermailer/bin/newaliases-compat
hoststat /usr/local/supermailer/bin/hoststat-compat
purgestat /usr/local/supermailer/bin/purgestat-compatЗапуск новой почтовой программыКак только вы все настроили, потребуется или уничтожить
процесс sendmail, который уже не
нужен и запустить новую почтовую программу, или просто перегрузить
систему. Перезагрузка также даст вам возможность проверить,
правильно ли настроена система для автоматического запуска
MTA при загрузке.Поиск и устранение неисправностейemailустранение неисправностейПочему я должен использовать FQDN для хостов вне моей подсети?Вы, видимо, обнаружили, что хост, к которому вы обратились,
оказался на самом деле в другом домене; например, если вы
находитесь в домене foo.bar.edu и
хотите обратиться к хосту mumble в домене bar.edu, то должны указать его полное
доменное имя, mumble.bar.edu, а не
просто mumble.BINDТрадиционно, программа разрешения имен BSD BIND позволяла это
делать. Однако, текущая версия BIND,
поставляемая с FreeBSD, больше не добавляет имена доменов,
отличающихся от того, в котором вы находитесь, для не полностью
указанных имен хостов. То есть, имя mumble будет
опознан как mumble.foo.bar.edu или
будет искаться в корневом домене.Это отличается от предыдущего поведения, при котором поиск
продолжался в доменах mumble.bar.edu и mumble.edu. Если вам интересны причины
объявления такого поведения плохой практикой и даже ошибкой в
безопасности, обратитесь к RFC 1535.Хорошим решением будет поместить строку
search foo.bar.edu bar.edu
вместо ранее используемой:
domain foo.bar.edu
в файл /etc/resolv.conf. Однако
удостоверьтесь, что порядок поиска не нарушает границ
полномочий между локальным и внешним администрированием, в
терминологии RFC 1535.MX recordsendmail выдает ошибку
mail loops back to myselfВ FAQ по sendmail дан следующий ответ:Я получаю такие сообщения об ошибке:
553 MX list for domain.net points back to relay.domain.net
554 <user@domain.net>... Local configuration error
Как можно решить эту проблему?
Согласно записям MX, почта для домена domain.net перенаправляется на хост
relay.domain.net, однако последний не распознается как
domain.net. Добавьте domain.net в файл
/etc/mail/local-host-names
[известный как /etc/sendmail.cw до версии 8.10]
(если вы используете
FETURE(use_cw_file)) или добавьте Cw domain.net в файл
/etc/mail/sendmail.cf.FAQ по sendmail можно найти на
и рекомендуется
прочесть его при желании произвести некоторые
усовершенствования настроек почтовой системы.PPPКак организовать работу почтового сервера при коммутируемом соединении
с Интернет?Вы хотите подключить к интернет компьютер с FreeBSD, работающий
в локальной сети. Компьютер с FreeBSD будет почтовым шлюзом
для локальной сети. PPP соединение не выделенное.UUCPMX recordСуществует как минимум два пути, чтобы сделать это. Один способ
это использование UUCP.Другой способ это использование постоянно работающего интернет
сервера для обеспечения вторичного MX сервиса вашего домена.
Например, домен вашей компании example.com, и провайдер интернет
настроил example.net
для обеспечения вторичного MX сервиса:
example.com. MX 10 example.com.
MX 20 example.net.Только один хост должен быть указан в качестве последнего
получателя (добавьте запись Cw example.com в файл
/etc/mail/sendmail.cf на машине
example.com).Когда программа sendmail (со стороны
отправителя) захочет доставить почту, она
попытается соединиться с вашим хостом (example.com) через модемное подключение.
Скорее всего, ей это не удастся (вы,
вероятнее всего, не будете подключены к интернет).
Программа sendmail
автоматически перейдет ко вторичному MX серверу, т.е. вашему провайдеру
(example.net).
Вторичный MX сервер будет периодически пытаться соединиться с
вашим хостом и доставить почту на основной сервер MX
(example.com).Вы можете воспользоваться следующим сценарием, чтобы забирать
почту каждый раз, когда вы входите в систему:#!/bin/sh
# Put me in /usr/local/bin/pppmyisp
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppmyispЕсли же вы хотите написать отдельный пользовательский скрипт,
лучше воспользоваться командой sendmail
-qRexample.com вместо вышеприведенного сценария, так как в
этом случае вся почта в очереди для хоста
example.com будет обработана
немедленно.Рассмотрим эту ситуацию подробнее:Вот пример сообщения из &a.isp.name;.> Мы предоставляем вторичный MX для наших клиентов. Вы соединяетесь
> с нашим сервером несколько раз в день, чтобы забрать почту для вашего
> первичного (главного) MX (мы не соединяемся с ним каждый раз, когда
> приходит новая почта для его доменов). Далее, sendmail отправляет
> почту, находящуюся в очереди каждые 30 минут, и клиент должен быть
> подключен к Интернет в течении 30 минут, чтобы удостовериться, что
> вся почта ушла на основной MX-сервер.
>
> Может быть, есть какая-либо команда, которая заставит sendmail
> немедленно отправить все почту, находящуюся в очереди? Естественно,
> пользователи не обладают какими-либо повышенными привилегиями на
> нашем сервере.
В разделе privacy flags файла
sendmail.cf, определяется опция
Уберите restrictqrun, чтобы разрешить рядовым
пользователям инициировать работу с очередью. Вам также может понадобиться
изменить порядок MX-серверов. Так, если вы предоставляете первый (основной)
MX-сервер для ваши пользователей, мы указываем:
# If we are the best MX for a host, try directly instead of generating
# local config error.
OwTrue
Таким образом, удаленный хост будет доставлять почту непосредственно к вам,
не пытаясь установить соединение с клиентом. Затем уже вы, в свою очередь,
отсылаете ее клиенту. Удостоверьтесь, что в DNS есть записи про
customer.com и hostname.customer.com. Просто
добавьте запись A в DNS для customer.com.Почему я продолжаю получать ошибки Relaying
Denied при отправки почты через другие
хосты?В установке FreeBSD по умолчанию,
sendmail настроен для отправки
почты только от хоста, на котором он работает. Например,
если доступен POP сервер, пользователи
смогут проверять почту из школы, с работы или других
удаленных точек, но не смогут отправлять письма. Обычно,
через некоторое время после попытки будет отправлено письмо
от MAILER-DAEMON с сообщением
об ошибке 5.7 Relaying Denied.Есть несколько путей разрешения этой ситуации. Самый прямой
путь это использование адреса вашего провайдера в файле
relay-domains, расположенном в
/etc/mail/relay-domains. Быстрый способ
сделать это:&prompt.root; echo "your.isp.example.com" > /etc/mail/relay-domainsПосле создания или редактирования этого файла вы должны
перезапустить sendmail. Это отлично
работает, если вы администратор сервера и не хотите отправлять
почту локально, или хотите воспользоваться почтовым
клиентом/системой на другом компьютере или даже через другого
провайдера. Это также очень полезно, если у вас настроены одна
или две почтовые записи. Если необходимо добавить несколько
адресов, вы можете просто открыть этот файл в текстовом редакторе и
добавить домены, по одному на строку:your.isp.example.com
other.isp.example.net
users-isp.example.org
www.example.orgТеперь будет отправляться любая почта, посылаемая через вашу
систему любым хостом из этого списка (предоставляемого
пользователем, имеющим учетную запись в вашей системе).
Это отличный способ разрешить пользователям отправлять почту
через вашу систему удаленно, одновременно он блокирует отправку
спама.Расширенное руководствоВ следующем разделе рассматриваются более сложные темы, такие как
настройка почты и включение почтовой системы для всего домена.Базовая конфигурацияemailнастройкаИзначально, вы можете отправлять почту во внешний
мир если правильно составлен файл
/etc/resolv.conf или запущен свой сервер
имен. Если вы хотите, чтобы почта, предназначенная для хоста в
вашем домене, доставлялась MTA (например,
sendmail) на вашем хосте FreeBSD, есть два
пути:Запустите свой собственный сервер DNS, тем самым организовав
собственный домен, например, FreeBSD.orgПолучайте почту для вашего хоста непосредственно. Это
работает при доставке почты непосредственно на DNS имя вашей
машины. Например, example.FreeBSD.org.
+ role="fqdn">example.FreeBSD.org.
SMTPНезависимо от выбранного из предложенных выше вариантов, для
доставки почты непосредственно на ваш хост у него должен быть
постоянный IP адрес (а не динамический,
как у большинства PPP соединений). Если вы находитесь за
брандмауэром, то последний должен пропускать SMTP-пакеты. Если
вы хотите, чтобы почта приходила непосредственно на ваш
хост, необходимо убедиться в одном из двух:MX recordУбедитесь, что запись (с наименьшим номером) MX в
DNS соответствует IP адресу
вашего хоста.Убедитесь, что в DNS для вашего хоста вообще отсутствует
MX-запись.Выполнение любого из перечисленных условий обеспечит доставку
почты для вашего хоста.Попробуйте это:&prompt.root; hostname
example.FreeBSD.org
&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XXЕсли вы это видите, то можно без проблем посылать почту на
yourlogin@example.FreeBSD.org
- (предполагается, что sendmail на sendmail на example.FreeBSD.org работает правильно).Однако, если вы видите это:&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.orgто вся почта, посланная на example.FreeBSD.org будет собираться на
hub (для того же пользователя), вместо того, чтобы
быть отосланной непосредственно на ваш хост.Эта информация обрабатывается вашим DNS сервером. Соответствующая
запись DNS, указывающая, через какой хост будет проходить ваша
почта, называется MX (Mail
eXchanger). Если для хоста отсутствует такая
запись, почта будет приходить прямо на этот хост.Допустим, что запись MX для хоста freefall.FreeBSD.org в какой-то момент
выглядела так:freefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.comВы видите, что для хоста freefall существуют
несколько MX-записей. Запись с наименьшим номером соответствует
хосту, получающему почту непосредственно, если он доступен; если
он недоступен по каким-то причинам, другие сервера (иногда называемые
(резервными MX) временно получают почту, и хранят ее
пока не станут доступны хосты с меньшими номерами, в конечном итоге
отправляя почту на эти хосты.Чтобы альтернативные MX-хосты использовались наиболее
эффективно, они должны быть независимо подключены к Интернет. Ваш
провайдер (или дружественный сайт) скорее всего без проблем сможет
оказать подобные услуги.Почта для вашего доменаДля настройки почтового хоста (почтовый
сервер) вам потребуется, чтобы почта, направляемая различным рабочим
станциям, пересылалась этому хосту. Обычно вам необходима
доставка всей почты для любого хоста вашего домена (в данном случае
*.FreeBSD.org) на почтовый сервер, чтобы
пользователи могли получать свою почту на с этого сервера.DNSЧтобы облегчить себе (и другим) жизнь, создайте на обеих машинах
учетные записи с одинаковыми именами пользователей, например, с помощью
команды &man.adduser.8;.Сервер, который вы будете использовать в качестве почтового,
должен быть объявлен таковым для каждой машины в домене. Вот
фрагмент примерной конфигурации:example.FreeBSD.org A 204.216.27.XX ; Рабочая станция
- MX 10 hub.FreeBSD.org ; Почтовый шлюз
+ MX 10 hub.FreeBSD.org ; Почтовый шлюз
Таким образом, вся корреспонденция, адресованная рабочей
станции, будет обрабатываться вашим почтовым сервером, независимо от
того, что указано в A-записи.Все это можно реализовать только в том случае, если вы
используете сервер DNS. Если вы по каким-либо причинам не имеете
возможности установить свой собственный сервер имен, необходимо
договориться с провайдером или теми, кто поддерживает ваш
DNS.Если вы хотите поддерживать несколько виртуальных почтовых
серверов, может пригодиться следующая информация. Допустим, что
ваш клиент зарезервировал домен, например, customer1.org, и вам требуется, чтобы
почта, предназначенная для customer1.org приходила на ваш хост,
например, mail.myhost.com. В таком
случае, DNS должен выглядеть так:customer1.org MX 10 mail.myhost.comЗаметьте, что если вам требуется только получать почту для
домена, соответствующая A-запись не
нужна.Помните, что если вы попытаетесь каким-либо образом обратиться
к хосту customer1.org, у вас
вряд ли что-либо получится, если нет A-записи для этого
хоста.Последнее, что вы должны сделать – это сказать программе
sendmail, для каких доменов и/или хостов
она должна принимать почту. Это можно сделать несколькими
способами:Добавьте названия этих хостов в файл
/etc/mail/local-host-names, если вы используете
FEATURE(use_cw_file). Если у вас
sendmail
версии ниже 8.10, необходимо отредактировать файл
/etc/sendmail.cw.Добавьте строку Cwyour.host.com в файл
/etc/sendmail.cf или
/etc/mail/sendmail.cf (если у вас
sendmail
версии 8.10 или более поздней).SMTP через UUCPНастройка поставляемого с FreeBSD sendmail
предназначена для сайтов, подключенных к интернет непосредственно.
Сайты, осуществляющие обмен почтой через UUCP, должны использовать
другой файл настройки sendmail.Редактирование /etc/mail/sendmail.cf вручную
это сложная задача. sendmail версии 8
генерирует файлы настройки через препроцессор &man.m4.1;, реально
настройка выполняется на более высоком уровне абстракции.
Файлы настройки &man.m4.1; можно найти в
/usr/src/usr.sbin/sendmail/cf.Если вы не установили в систему все исходные тексты, пакет настройки
sendmail можно найти в отдельном архиве
исходных текстов. Если CDROM с исходными текстами
FreeBSD смонтирован, выполните:&prompt.root; cd /cdrom/src
&prompt.root; cat scontrib.?? | tar xzf - -C /usr/src/contrib/sendmailЭта установка займет всего несколько сотен килобайт. Файл
README в каталоге cf
содержит введение в основы настройки &man.m4.1;.Лучшим способом настройки поддержки передачи по UUCP является
использование возможности mailertable.
При этом создается база данных, которая помогает
sendmail решать вопросы маршрутизации.Во-первых, создайте файл .mc. В каталоге
/usr/src/usr.sbin/sendmail/cf/cf находятся
несколько примеров. Возьмем для примера имя файла
foo.mc. Все, что потребуется для преобразования
его в sendmail.cf, это:&prompt.root; cd /usr/src/usr.sbin/sendmail/cf/cf
&prompt.root; make foo.cf
&prompt.root; cp foo.cf /etc/mail/sendmail.cfТипичный .mc файл может выглядеть примерно
так:VERSIONID(`Your version number') OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', your.uucp.relay)
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw your.alias.host.name
Cw youruucpnodename.UUCPСтроки, содержащие
accept_unresolvable_domains,
nocanonify, и
confDONT_PROBE_INTERFACES, предотвратят использование
DNS для доставки почты. Пункт UUCP_RELAY
необходим для поддержки доставки по UUCP. Просто поместите сюда
имя хоста в интернет, способного работать с .UUCP адресами
псевдо-доменов; скорее всего, вы введете сюда основной сервер
пересылки почты провайдера.Как только вы сделаете это, потребуется файл
/etc/mail/mailertable. Если вы используете
для всей почты только одно внешнее соединение, подойдет следующий
файл:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
. uucp-dom:your.uucp.relayБолее сложный пример может выглядеть так:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom:В первых трех строках обрабатываются специальные случаи, когда
почта для домена должна отправляться не на маршрут по умолчанию,
а на ближайшее соединение UUCP для сокращения пути доставки.
Следующая строка обрабатывает почту, которая может быть доставлена
по SMTP для локального Ethernet домена. Наконец, определены
маршруты UUCP в нотации псевдо-доменов .UUCP, для включения
перезаписи правил по умолчанию правилом
uucp-neighbor
!recipient.
Последняя строка всегда содержит одиночную точку, означающую
все остальное, с отправкой через UUCP, являющимся
универсальным почтовым шлюзом. Все имена узлов после ключевого слова
uucp-dom: должны представлять существующие маршруты
UUCP, проверить их можно с помощью команды
uuname.Напоминаем, что этот файл должен быть преобразован в базу данных
DBM перед использованием. Командную строку для этой задачи лучше всего
поместить в качестве комментария в верхней части файла
mailertable. Всегда выполняйте эту команду после
правки файла mailertable.И наконец: если вы не уверены, что некоторые отдельные почтовые
маршруты будут работать, запомните параметр
sendmail . С этим
параметром sendmail запускается в
режиме тестирования адреса; просто введите
3,0 и адрес, который вы хотите протестировать.
В последней строке появится сообщение об используемом внутреннем
почтовом агенте, хосте назначения, с которым вызывается этот агент,
и (возможно транслированный) адрес. Выход из этого режима
происходит при нажатии CtrlD.&prompt.user; sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>3,0 foo@example.com
canonify input: foo @ example . com
...
parse returns: $# uucp-dom $@ your.uucp.relay $: foo < @ example . com . >
>^DBillMoranПредоставил Настройка почты только для отправкиСуществует множество случаев, когда может потребоваться только
отправка почты через почтовый сервер. Вот отдельные примеры:У вас настольный компьютер, но вы хотите использовать такие
программы как &man.send-pr.1;. Для пересылки почты вам потребуется
использовать почтовый сервер провайдера.Ваш компьютер является сервером, где почта не хранится локально,
необходима только переправка всей почты через внешний почтовый
сервер.Практически любой MTA способен работать и в
этих условиях. К сожалению, может быть очень сложно правильно настроить
полноценный MTA для работы только с исходящей
почтой. Такие программы, как sendmail
и postfix слишком избыточны для этих
целей.К тому же, если вы используете обычные средства доступа в
интернет, условий для запуска почтового сервера может
быть недостаточно.Простейшим способом удовлетворить имеющиеся потребности может быть
установка порта mail/ssmtp.
Выполните под root следующие команды:&prompt.root; cd /usr/ports/mail/ssmtp
&prompt.root; make install replace cleanПосле установки потребуется настроить
mail/ssmtp с помощью файла из
четырех строк, расположенного в
/usr/local/etc/ssmtp/ssmtp.conf:root=yourrealemail@example.com
mailhub=mail.example.com
rewriteDomain=example.com
hostname=_HOSTNAME_Убедитесь, что используете существующий почтовый адрес для
root. Введите сервер вашего провайдера для
пересылки исходящей почты вместо mail.example.com (некоторые провайдеры
называют его сервером исходящей почты или
SMTP сервером).Убедитесь, что вы выключили sendmail,
включая сервис исходящей почты. За подробностями обращайтесь к
.У пакета mail/ssmtp имеются
и другие параметры. Обратитесь к файлу с примером настройки
в /usr/local/etc/ssmtp или к странице справочника
ssmtp за примерами и дополнительной
информацией.Установка ssmtp таким способом
позволит правильно работать любым программам на вашем компьютере,
которым требуется отправка почты, но не нарушит политику вашего
провайдера и не позволит вашему компьютеру быть использованным
спамерами.Использование почты с коммутируемым соединениемЕсли у вас есть статический IP, настройки по умолчанию менять
не потребуется. Установите имя хоста в соответствии с присвоенным
именем интернет и sendmail будет делать
свою работу.Если у вас динамический IP адрес и используется коммутируемое
PPP соединение с интернет, у вас возможно уже есть почтовый ящик
на сервере провайдера. Предположим, что домен провайдера называется
example.net, и что ваше
имя пользователя user, ваш компьютер называется
bsd.home, и провайдер сообщил вам, что
возможно использование relay.example.net в качестве сервера для пересылки
почты.Для получения почты из почтового ящика необходима установка
соответствующей программы. Хорошим выбором является
утилита fetchmail, она поддерживает
множество различных протоколов. Эта программа доступна в виде
пакета или из Коллекции Портов (mail/fetchmail). Обычно провайдер
предоставляет доступ по протоколу POP. Если
вы работаете с пользовательским PPP, то можете
автоматически забирать почту после установления соединения с
интернет с помощью следующей записи в
/etc/ppp/ppp.linkup:MYADDR:
!bg su user -c fetchmailЕсли вы используете sendmail (как
показано ниже) для доставки почты к не-локальным учетным записям,
вам возможно потребуется обработка почтовой очереди
sendmail сразу после установки
соединения с интернет. Для выполнения этой работы поместите
в /etc/ppp/ppp.linkup следующую команду
сразу после fetchmail: !bg su user -c "sendmail -q"Предполагается, что учетная запись для
user существует на bsd.home. В домашнем каталоге
user на bsd.home, создайте файл
.fetchmailrc:poll example.net protocol pop3 fetchall pass MySecretЭтот файл не должен быть доступен на чтение никому, кроме
user, поскольку в нем находится пароль
MySecret.Для отправки почты с правильным заголовком
from:, вам потребуется сообщить
sendmail использовать
user@example.net вместо
user@bsd.home. Вы можете также указать
sendmail отправлять почту через relay.example.net, для более быстрой пересылки
почты.Должен подойти следующий файл .mc:VERSIONID(`bsd.home.mc version 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwbsd.home
MASQUERADE_AS(`example.net')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(`SMART_HOST', `relay.example.net')
Dmbsd.home
define(`confDOMAIN_NAME',`bsd.home')dnl
define(`confDELIVERY_MODE',`deferred')dnlОбратитесь к предыдущему разделу за информацией о том, как
преобразовать этот файл .mc в файл
sendmail.cf. Не забудьте также перезапустить
sendmail после обновления
sendmail.cf.
- James
- Gorham
- Написал
+ James
+ Gorham
+ Написал SMTP аутентификацияНаличие SMTP аутентификации на почтовом сервере
дает множество преимуществ. SMTP аутентификация
может добавить дополнительный уровень безопасности к
sendmail, и позволяет мобильным пользователям,
подключающимся к разным хостам, возможность использовать тот же
почтовый сервер без необходимости перенастройки почтового клиента
при каждом подключении.Установите security/cyrus-sasl
из портов. Вы можете найти этот порт в
security/cyrus-sasl.
В пакете security/cyrus-sasl
есть множество параметров компиляции, и для используемого здесь
метода убедитесь, что выбран параметр
.После установки
security/cyrus-sasl,
отредактируйте /usr/local/lib/sasl/Sendmail.conf
(или создайте его если он не существует) и добавьте следующую
строку:pwcheck_method: passwdЭтот метод включит аутентификацию
sendmail через базу данных
passwd FreeBSD. Это позволяет избежать
проблем, связанных с созданием нового набора имен пользователей
и паролей для каждого пользователя, которому необходима
SMTP аутентификация, пароль для входа в систему
и для отправки почты будет одним и тем же.Теперь отредактируйте /etc/make.conf и
добавьте следующие строки:SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsaslЭти параметры необходимы sendmail
для подключения cyrus-sasl
во время компиляции. Убедитесь, что cyrus-sasl был установлен до
перекомпиляции sendmail.Перекомпилируйте sendmail, выполнив
следующие команды:&prompt.root; cd /usr/src/usr.sbin/sendmail
&prompt.root; make cleandir
&prompt.root; make obj
&prompt.root; make
&prompt.root; make installКомпиляция sendmail должна пройти
без проблем, если /usr/src не был сильно
изменен и доступны необходимые разделяемые библиотеки.После компилирования и переустановки
sendmail, отредактируйте файл
/etc/mail/freebsd.mc (или тот файл, который
используется в качестве .mc; многие
администраторы используют в качестве имени этого файла
вывод &man.hostname.1; для обеспечения уникальности).
Добавьте к нему следующие строки:dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnlЭти параметры настраивают различные методы, доступные
sendmail для аутентификации пользователей.
Если вы хотите использовать вместо
pwcheck другой метод, обратитесь к
прилагаемой документации.Наконец, запустите &man.make.1; в каталоге
/etc/mail. Из файла
.mc будет создан файл
.cf, называющийся
freebsd.cf (или с тем именем, которое было
использовано для файла .mc). Затем
используйте команду make install restart,
которая скопирует файл в sendmail.cf,
и правильно перезапустит sendmail.
Дополнительная информация об этом процессе находится в
/etc/mail/Makefile.Если все шаги пройдены успешно, введите информацию для
аутентификации в настройки почтового клиента и отправьте тестовое
сообщение. Для определения причин возможных ошибок установите
параметр sendmail
в 13 и просмотрите
/var/log/maillog.Для включения сервиса после каждой загрузки системы вам может
потребоваться добавление в /etc/rc.conf
следующей строки:cyrus_pwcheck_enable="YES"Эти строки инициализируют SMTP_AUTH при загрузке
системы.За дальнейшей информацией обратитесь к странице
sendmail, посвященной
SMTP аутентификации.MarcSilverПредоставил Почтовые программы пользователейпочтовые программы пользователейПочтовая программа пользователя (Mail User Agent,
MUA) это приложение, используемое для отправки
и получения почты. Кроме того, поскольку почта
эволюционирует и становится более сложной,
MUA совершенствуют свои функции по обработке
почты, становятся более удобны в использовании. &os; поддерживает
множество различных пользовательских почтовых программ, каждая
из которых может быть легко установлена из Коллекции Портов FreeBSD. Пользователи могут
выбирать между графическими почтовыми клиентами, такими как
evolution или
balsa, консольными клиентами, такими
как mutt, pine
или mail, или Web-интерфейсами, используемыми в
некоторых больших организациях.mailВ &os; в качестве MUA по умолчанию используется
&man.mail.1;. Это консольный MUA, предоставляющий
все основные функции, необходимые для отправки и получения текстовых
сообщений, хотя его возможности по работе с вложениями ограничены и
он может работать только с локальными почтовыми ящиками.Хотя mail не поддерживает работу с серверами
POP или IMAP, эти почтовые
ящики могут быть загружены в локальный файл mbox
с помощью fetchmail, который будет
обсуждаться далее в этой главе ().Для отправки и получения почты просто выполните команду
mail, как в этом примере:&prompt.user; mailСодержимое почтового ящика в каталоге
/var/mail будет автоматически
прочитано утилитой mail. Если почтовый ящик
пуст, утилита завершит работу с сообщением о том, что почта не
была обнаружена. После чтения почтового ящика запустится
интерфейс программы и будет отображен список сообщений. Сообщения
нумеруются автоматически и будут выглядеть как в этом примере:Mail version 8.1 6/6/93. Type ? for help.
"/var/mail/marcs": 3 messages 3 new
>N 1 root@localhost Mon Mar 8 14:05 14/510 "test"
N 2 root@localhost Mon Mar 8 14:05 14/509 "user account"
N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"Теперь сообщения могут быть прочитаны с помощью команды
t, завершаемой номером сообщения, которое должно
быть отображено. В этом примере мы прочтем первое сообщение:
- & t 1
+ & t 1
Message 1:
From root@localhost Mon Mar 8 14:05:52 2004
X-Original-To: marcs@localhost
Delivered-To: marcs@localhost
To: marcs@localhost
Subject: test
Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
From: root@localhost (Charlie Root)
This is a test message, please reply if you receive it.Как видно в примере выше, клавиша t выводит
сообщение со всеми заголовками. Для повторного вывода
списка сообщений необходимо использовать клавишу
h.Если требуется ответить на сообщение, используйте для
ответа mail, нажав клавишу R или
r. Клавиша R используется в
mail для ответа только отправителю,
а r для ответа и отправителю, и другим получателям
сообщения. Вы можете также завершить эти команды номером письма,
на которое хотите составить ответ. После этого необходимо ввести
ответ, конец сообщения должен быть завершен символом
. на новой строке. Пример можно увидеть ниже:
- & R 1
+ & R 1
To: root@localhost
Subject: Re: test
Thank you, I did get your email.
.
EOTДля отправки нового сообщения используйте клавишу
m и введите адрес получателя. Несколько получателей
могут быть указаны через запятую. Введите тему сообщения и
его содержимое. Конец сообщения отмечается помещением
символа . на новой строке.
- & mail root@localhost
+ & mail root@localhost
Subject: I mastered mail
Now I can send and receive email using mail ... :)
.
EOTВ утилите mail для вызова справки в любой
момент может быть использована команда ?,
для получения помощи по mail необходимо также
обратиться к странице справочника &man.mail.1;.Как упоминалось выше, команда &man.mail.1; не была первоначально
предназначена для работы с вложениями, и поэтому их поддержка
довольно слабая. Современные MUA,
такие как mutt, работают с вложениями
гораздо более уверенно. Но если вы все же предпочитаете
использовать mail,
установите порт converters/mpack.muttmutt это небольшая но очень
мощная почтовая программа с отличными возможностями, в числе
которых:Возможность сортировки сообщений по дискуссиям;Поддержка PGP для подписи и шифрования сообщений;Поддержка MIME;Поддержка Maildir;Широкие возможности настройки.Все эти возможности делают
mutt одним из самых лучших почтовых
клиентов. Обратитесь к за
дополнительной информацией по mutt.Стабильная версия mutt может быть
установлена из порта mail/mutt.
После установки порта, mutt может
быть запущен следующей командой:&prompt.user; muttmutt автоматически прочтет содержимое
пользовательского почтового ящика в каталоге /var/mail и отобразит почту,
если она имеется в наличии. Если почты в ящике пользователя нет,
mutt будет ожидать команд от пользователя.
В примере ниже показан mutt со
списком сообщений:Для чтения почты просто выберите сообщение с помощью клавиш
навигации и нажмите Enter. Пример
mutt, отображающего сообщение, показан
ниже:Как и команда &man.mail.1;, mutt
позволяет пользователям отвечать как только отправителю, так и всем
получателям. Для ответа только отправителю почты, используйте
клавишу r. Для группового ответа и отправителю
сообщения и всем получателям используйте клавишу
g.mutt использует &man.vi.1; в качестве
редактора для создания писем и ответа на них. Редактор можно
заменить путем создания или редактирования собственного
.muttrc в своем домашнем каталоге и установки
переменной .Для создания нового почтового сообщения нажмите
m. После введения темы
mutt запустит &man.vi.1; для создания
письма. Как только письмо будет завершено, сохраните его и закройте
vi, mutt продолжит
работу, отобразив окно с сообщением, которое должно быть отправлено.
Для отправки сообщения нажмите y. Пример окна с
сообщением показан ниже:mutt также содержит исчерпывающий
справочник, к которому можно обратиться из большинства меню,
нажав клавишу ?. Верхняя строка также показывает
клавиатурные сокращения, которые могут быть использованы.pinepine предназначен для начинающих
пользователей, но включает некоторые дополнительные
возможности.В программе pine ранее были обнаружены некоторые уязвимости,
позволяющие удаленному взломщику выполнять произвольный код
с правами пользователя локальной системы путем отправки
специально подготовленного письма. Все эти
известные проблемы были исправлены,
но код pine написан в очень небезопасном стиле и офицеры
безопасности &os; считают, что возможно наличие других
не обнаруженных уязвимостей. Имейте это ввиду при установке
pine.Текущая версия pine может быть
установлена из порта mail/pine4.
Как только порт установлен, pine можно
запустить командой:&prompt.user; pineПри первом запуске pine отображает
страницу приветствия с кратким введением, а также просьбу
команды разработчиков pine
отправить анонимное почтовое сообщение, позволяющее им
определить количество пользователей, работающих с их почтовым
клиентом. Для отправки анонимного сообщения нажмите
Enter, или E для выхода
из из приветствия без отправки анонимного сообщения. Пример
приветствия показан ниже:Затем отображается главное меню, перемещение по которому
осуществляется с помощью клавиш навигации. В главном меню
находятся ссылки для составления новых писем, просмотра почтовых
каталогов, и даже управления адресной книгой. Ниже главного меню
показаны клавиатурные сокращения, выполняющие
соответствующие задачи.По умолчанию pine открывает каталог
inbox. Для просмотра списка
сообщений нажмите I, или выберите
MESSAGE INDEX, как показано ниже:В списке показаны сообщения в текущем каталоге, они могут быть
просмотрены с помощью клавиш навигации. Подсвеченные сообщения
можно прочесть нажав Enter.На снимке экрана ниже показан пример письма, отображаемого
pine. Внизу экрана даны клавиатурные
сокращения. Например, r используется для
указания MUA ответить на отображаемое в
данный момент сообщение.Ответ на письмо в pine осуществляется
с помощью редактора pico, который
устанавливается по умолчанию вместе с pine.
pico упрощает навигацию в сообщении
гораздо проще для новых пользователей, чем &man.vi.1; или
&man.mail.1;. Как только ответ будет готов, сообщение можно отправить
нажав CtrlX.
pine запросит подтверждение.Программа pine может быть настроена
через пункт SETUP главного меню.
Обратитесь к странице
за дальнейшей информацией.MarcSilverПредоставил Использование fetchmailfetchmailfetchmail это полноценный
IMAP и POP клиент,
позволяющий пользователям автоматически загружать почту с
удаленных серверов IMAP и POP
в локальные почтовые ящики; так доступ к почтовым ящикам упрощается.
fetchmail может быть установлен из
порта mail/fetchmail и
предоставляет различные возможности, в том числе:Поддержка протоколов POP3,
APOP, KPOP,
IMAP, ETRN и
ODMR.Возможность пересылки почты через SMTP,
что позволяет использовать функции фильтрации, перенаправления и
синонимов.Может быт запущен в режиме даемона для периодической проверки
поступающих сообщений.Может забирать почту с нескольких почтовых ящиков и рассылать
ее различным локальным пользователям в зависимости от
настроек.Описание всех возможностей
fetchmail выходит за пределы этой главы,
за дополнительной информацией обратитесь к документации по
fetchmail. Утилита
fetchmail требует наличия
файла настройки .fetchmailrc. Этот файл
включает информацию о сервере, а также информацию для аутентификации.
Поскольку этот файл содержит важную информацию, правильно будет
сделать его доступным для чтения только владельцем с помощью
следующей команды:&prompt.user; chmod 600 .fetchmailrcВ следующем примере файл .fetchmailrc
предназначен для загрузки одного почтового ящика по протоколу
POP. Этот файл указывает
fetchmail соединиться с
example.com с именем пользователя
joesoap и паролем XXX.
В примере подразумевается, что пользователь joesoap
существует также и в локальной системе.poll example.com protocol pop3 username "joesoap" password "XXX"В следующем примере производится подключение к нескольким
POP и IMAP серверам,
при необходимости почта перенаправляется другим локальным
пользователям:poll example.com proto pop3:
user "joesoap", with password "XXX", is "jsoap" here;
user "andrea", with password "XXXX";
poll example2.net proto imap:
user "john", with password "XXXXX", is "myth" here;Утилита fetchmail может работать
в режиме даемона с флагом , заданным с
интервалом (в секундах), через который
fetchmail должен опрашивать
серверы, перечисленные в .fetchmailrc.
В следующем примере fetchmail будет
забирать почту каждые 600 секунд:&prompt.user; fetchmail -d 600Дополнительную информацию о fetchmail
можно найти на сайте .MarcSilverПредоставил Использование procmailprocmailУтилита procmail это невероятно
мощное приложение, используемое для фильтрации входящей почты.
Она позволяет пользователям определять правила,
которые могут быть сопоставлены входящим письмам для выполнения
определенных действий или для перенаправления почты в
альтернативные почтовые ящики и/или на почтовые адреса.
procmail может быть установлен
с помощью порта mail/procmail.
После установки он может быть непосредственно интегрирован в
большинство MTA; сверьтесь с документацией
на ваш MTA. Другой способ интеграции
procmail – добавление в
файл .forward, находящийся в домашнем
каталоге пользователя, следующей строки:"|exec /usr/local/bin/procmail || exit 75"В этом разделе будут показаны основы настройки правил
procmail, а также краткое описание их
действия. Эти и другие правила должны быть помещены в файл
.procmailrc, который должен находиться в домашнем
каталоге пользователя.Большую часть этих правил также можно найти на странице справочника
&man.procmailex.5;.Перенаправление всей почты от user@example.com на
внешний адрес goodmail@example2.com::0
* ^From.*user@example.com
! goodmail@example2.comПеренаправление всей почты объемом меньше 1000 байт на внешний адрес
goodmail@example2.com::0
-* < 1000
+* < 1000
! goodmail@example2.comПеренаправление всей почты, отправляемой на
alternate@example.com, в почтовый ящик
alternate::0
* ^TOalternate@example.com
alternateПеренаправление всей почты с Spam в
/dev/null::0
^Subject:.*Spam
/dev/nullПолезный пример, обрабатывающий входящую почту со списков
рассылки &os;.org и
помещающий каждый список в отдельный почтовый ящик.:0
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
{
LISTNAME=${MATCH}
:0
* LISTNAME??^\/[^@]+
FreeBSD-${MATCH}
}
diff --git a/ru_RU.KOI8-R/books/handbook/security/chapter.sgml b/ru_RU.KOI8-R/books/handbook/security/chapter.sgml
index 0624e6687f..0fae2453fe 100644
--- a/ru_RU.KOI8-R/books/handbook/security/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/security/chapter.sgml
@@ -1,5122 +1,5153 @@
MatthewDillonБольшая часть этой главы была взята из страницы справочника
security(7) которую написал ДенисПеплинПеревод на русский язык: БезопасностьбезопасностьКраткое описаниеЭта глава представляет введение в основные концепции безопасности
системы, некоторые эмпирические правила и более подробно обращается к
отдельным темам, касающимся &os;. Большая часть затрагиваемых тем может
быть применена к безопасности системы и безопасности в интернет вообще.
Интернет больше не то дружественное место, где каждый
хочет быть вам добрым соседом. Защита системы необходима для сохранения
ваших данных, интеллектуальной собственности, времени и всего остального
от хакеров и им подобных.&os; предоставляет массу утилит и механизмов для обеспечения
целостности и безопасности системы и сети.После прочтения этой главы вы узнаете:Основные концепции безопасности системы, специфику &os;.О различных механизмах шифрования в &os;, таких как
DES и MD5.Как настроить аутентификацию с использованием одноразовых
паролей.Как настроить TCP Wrappers для
использования с inetd.Как настроить KerberosIV в релизах
&os; до 5.0.Как настроить Kerberos5 в релизах &os;
после 5.0.Как настроить IPsec и создать VPN между
компьютерами на &os;/&windows;.Как настроить и использовать OpenSSH,
реализацию SSH в &os;.Что такое ACL и как их использовать.
- Как использовать утилиту Portaudit для
- проверки пакаджей сторонних разработчиков, установленных из Коллекции
- Портов.
+ Как использовать утилиту Portaudit для
+ проверки пакетов сторонних разработчиков, установленных из Коллекции
+ Портов.Как работать с сообщениями безопасности &os;.
- Что такое Process Accounting и как активировать его во
- &os;.
+ Что такое Process Accounting и как активировать его во
+ &os;.Перед чтением этой главы вам потребуется:Понимание основных концепций &os; и интернет.
-
+
В этой книге рассмотрены и другие вопросы безопасности.
Например, принудительный контроль доступа (Mandatory Access
Control) рассматривается в , а брандмауэры в .ВведениеБезопасность это первая и основная функция системного
администратора. Хотя все многопользовательские системы BSD &unix;
уже снабжены некоторой защитой, работа по созданию и поддержке
дополнительных механизмов безопасности, обеспечивающих защищенную работу
пользователей, это одна из самых серьезных задач системного
администратора. Компьютеры безопасны настолько, насколько вы сделаете
их безопасными и требования безопасности всегда находятся в противоречии
с удобством работы пользователей. Системы &unix; способны одновременно
работать с огромным количеством процессов и многие из этих процессов
серверные — это означает, что с ними могут взаимодействовать
внешние программы. Сегодня десктопы заменили мини-компьютеры и
мэйнфрэймы, и поскольку компьютеры в наши дни подключены к сети
интернет, безопасность важна как никогда.Наилучшая реализация системы безопасности представима в виде
послойной системы. Вообще говоря все, что нужно сделать,
это создать столько слоев безопасности, сколько необходимо и затем
внимательно следить за вторжениями в систему. Не переусердствуйте в
настройке системы безопасности, иначе она сделает невозможной
обнаружение вторжений, являющееся одним из наиболее важных аспектов
механизма безопасности. Например, нет большого смысла в установке
флага schg (&man.chflags.1;) на каждый исполняемый
файл системы, поскольку хотя таким способом можно временно защитить
исполняемые файлы, это помешает обнаружению факта взлома
системы.Безопасность системы также относится к различным формам атак,
имеющих своей целью вызвать крах системы, или сделать систему
недоступной другим способом, но не пытающихся получить доступ к учётной
записи root (break root).
Угрозы безопасности могут быть поделены на несколько категорий:Отказ в обслуживании (Denial of service, DoS).Взлом пользовательских учётных записей.Взлом учётной записи root через доступные сервисы.Взлом учётной записи root через учётные записи
пользователей.Создание backdoor.DoS атакиотказ в обслуживании (Denial of Service, DoS)безопасностьDoS атакиотказ в обслуживании (Denial of Service, DoS)Отказ в обслуживании (Denial of Service, DoS)Атака отказ в обслуживании отбирает у машины
необходимые ресурсы. Обычно DoS атаки используют грубую силу, чтобы
попытаться обрушить систему или сделать ее недоступной другим способом,
превысив лимиты ее сервисов или сетевого стека. Некоторые DoS атаки
пытаются использовать ошибки в сетевом стеке для обрушения системы одним
пакетом. Эту проблему можно решить только исправив ядро системы. Атаки
зачастую можно предотвратить правильной установкой параметров,
ограничивающих нагрузку на систему в неблагоприятных условиях. С
атаками, использующими грубую силу, бороться сложно. Например, атака с
использованием пакетов с поддельными адресами, которую почти невозможно
остановить, может быстро отключить вашу систему от интернет. Возможно,
она не приведет к отказу системы, но сможет переполнить соединение с
интернет.безопасностьвзлом учётных записейВзлом учётной записи пользователя обычно встречается чаще, чем DoS
атаки. Многие системные администраторы все еще используют стандартные
сервисы telnetd,
rlogind и ftpd на
своих серверах. Эти сервисы по умолчанию не работают с зашифрованными
соединениям. В результате при среднем количестве пользователей пароль
одного или нескольких пользователей, входящих в систему через внешнее
соединение (это обычный и наиболее удобный способ входа в систему),
будет перехвачен. Внимательный системный администратор должен
анализировать логи удаленного доступа на предмет подозрительных адресов
пользователей даже в случае успешного входа.Кто-то может предположить, что атакующий при наличии доступа к
учётной записи пользователя может взломать учётную запись
root. Однако, реальность такова, что в хорошо
защищенной и поддерживаемой системе доступ к учётной записи пользователя
не обязательно даст атакующему доступ к root.
Разница между доступом к обычной учётной записи и к
root важна, поскольку без доступа к
root атакующий обычно не способен скрыть свои
действия, и в худшем случае сможет лишь испортить файлы пользователя или
вызвать крах системы. Взлом пользовательских учётных записей
встречается очень часто, поскольку пользователи заботятся о безопасности
так, как системные администраторы.безопасностьbackdoorsСистемные администраторы должны помнить, что существует множество
потенциальных способов взлома учётной записи root.
Атакующий может узнать пароль root, найти ошибку в
сервисе, работающем с привилегиями и взломать учётную запись
root через сетевое соединение с этим сервисом, или
узнать об ошибке в suid-root программе, позволяющей атакующему взлом
root с помощью взломанной учётной записи
пользователя. Если атакующий нашел способ взлома
root, ему может не понадобиться установка backdoor.
Многие из обнаруженных и закрытых на сегодняшний день брешей
в системе, позволяющие взлом root, требуют от
атакующего серьезной работы по заметанию следов, поэтому большинство
атакующих устанавливают backdoor. Backdoor предоставляет атакующему
простой способ восстановления доступа к системе с привилегиями
root, но также дает системному администратору
удобный способ обнаружения вторжения. Устранение возможности установки
backdoor возможно повредит безопасности системы, поскольку это
не устранит брешь, позволившую проникнуть в
систему.Меры безопасности всегда должны реализовываться на нескольких
уровнях, которые могут быть классифицированы следующим образом:Защита root и служебных учётных
записей.Защита работающих под root
сервисов и suid/sgid исполняемых файлов.Защита учётных записей пользователей.Защита файла паролей.Защита ядра, raw устройств и файловых
систем.Быстрое обнаружение несанкционированных изменений в
системе.Паранойя.В следующем разделе этой главы эти темы изложены более
подробно.Защита &os;безопасностьзащита &os;Команда и протоколВ этом документе мы будет использовать
выделенный текст, упоминая приложение,
и моноширинный шрифт, упоминая определенные
команды. Для протоколов используется обычный шрифт. Это
типографическое отличие полезно для таких случаев, как ssh, поскольку
это и команда и протокол.В последующем разделе будут рассмотрены методы защиты системы
&os;, упомянутые в предыдущем разделе этой главы.Защита учётной записи root и служебных
учётных записейsuВо-первых, не беспокойтесь о защите служебных учётных записей,
если не защищена учётная запись root. В
большинстве систем у учётной записи root есть
пароль. Использование пароля root
опасно всегда. Это не означает, что вы должны
удалить пароль. Пароль почти всегда необходим для доступа
по консоли. Но это означает, что вы должны сделать невозможным
использование пароля не из консоли или может быть даже с помощью
- команды &man.su.1;. Например, убедитесь, что псевдотерминалы
+ команды &man.su.1;. Например, убедитесь, что псевдо-терминалы
в файле /etc/ttys перечислены с параметром
insecure, что делает невозможным вход на них
под root напрямую с помощью
telnet или rlogin. При
использовании других средств входа, таких как
sshd, убедитесь что вход под
root напрямую отключен и в них. Сделайте
это, открыв файл /etc/ssh/sshd_config, и
убедившись, что параметр PermitRootLogin
установлен в NO. Проверьте каждый метод доступа
— сервис FTP и ему подобные часто подвержены взлому. Прямой
вход под root должен быть разрешен только с
системной консоли.wheelКонечно, как системный администратор вы должны иметь доступ
root, поэтому потребуется открыть несколько
лазеек. Но убедитесь, что для доступа к ним необходим
дополнительный пароль. Одним из способов доступа к
root является добавление соответствующих учётных
записей к группе wheel (в файле
/etc/group). Это позволяет использовать
su для доступа к root.
Вы никогда не должны давать таким учётным записям доступ
к wheel непосредственно, помещая их в группу
wheel в файле паролей. Служебные учётные
записи должны помещаться в группу staff,
а затем добавляться к группе wheel в файле
/etc/group. Только те члены группы staff,
которым действительно нужен доступ к root,
должны быть помещены в группу wheel.
При работе с такими методами аутентификации как Kerberos, возможно также
использование файла .k5login в каталоге
пользователя root для доступа к учётной записи
root с помощью &man.ksu.1; без помещения
кого-либо в группу wheel. Это решение возможно
лучше, поскольку механизм wheel все еще
позволяет взлом root, если злоумышленник
получил копию файла паролей и смог взломать служебную учётную запись.
Хотя использование механизма wheel лучше,
чем работа через root напрямую, это не
обязательно самый безопасный способ.Непрямой способ защиты служебных учётных записей и конечно
root это использование альтернативных методов
доступа и замена зашифрованных паролей на символ
*. Используя команду
&man.vipw.8;, замените каждый зашифрованный пароль служебных учётных
записей на этот символ для запрета входа с аутентификацией по паролю.
Эта команда обновит файл /etc/master.passwd и
базу данных пользователей/паролей.Служебная учётная запись вроде этой:foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcshДолжна быть заменена на такую:foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcshЭто изменение предотвратит обычный вход, поскольку зашифрованный
пароль никогда не совпадет с *.
После этого члены группы staff должны использовать другой механизм
аутентификации, например &man.kerberos.1; или &man.ssh.1; с парой
ключей: публичным и приватным. При использовании такой системы как
Kerberos, потребуется защитить сервер Kerberos и рабочую станцию.
При использовании пары публичного/приватного ключей с ssh,
потребуется защитить компьютер, с которого
происходит вход (обычно это рабочая станция). Дополнительных слой
защиты может быть добавлен путем защиты пары ключей при создании их
с помощью &man.ssh-keygen.1;. Возможность заменить пароли служебных
учётных записей на * гарантирует
также, что вход может быть осуществлен только через защищенные методы
доступа, которые вы настроили. Это принуждает всех членов staff
использовать защищенные, шифрованные соединения для всех входов,
что закрывает большую брешь, используемую многими нарушителями:
перехват паролей с другого, слабо защищенного компьютера.Более непрямой механизм безопасности предполагает, что вы входите
с более защищенного сервера на менее защищенный. Например, если
главный сервер работает со всеми сервисами, рабочая станция не должна
работать ни с одним. Для поднятия уровня безопасности до приемлемого
уровня, число запущенных на ней сервисов необходимо сократить до
минимума, вплоть до отключения их всех, кроме того необходимо
использовать защищенный паролем хранитель экрана. Конечно, при
наличии физического доступа к рабочей станции атакующий может взломать
любую систему безопасности. Это определенно проблема, которую вы
должны учитывать, но учтите также тот факт, что большинство взломов
совершаются удаленно, через сеть, людьми, которые не имеют физического
доступа к вашим рабочим станциям или серверам.KerberosIVИспользование такой системы как Kerberos дает возможность
заблокировать или изменить пароль в одном месте, что сразу
отразиться на всех компьютерах, где существует служебная учётная
запись. Если эта учётная запись будет взломана, возможность
немедленно изменить пароль на всех компьютерах нельзя недооценивать.
Без этой возможности изменение паролей на N машинах может стать
проблемой. Вы можете также наложить ограничения на смену паролей
с помощью Kerberos: не только установить значения timeout в
Kerberos, но и добавить требование смены пароля пользователем
после определенного периода времени (скажем, раз в месяц).Защита работающих под root сервисов и suid/sgid исполняемых
файловntalkcomsatfingersandboxessshdtelnetdrshdrlogindПредусмотрительный системный администратор запускает только те
сервисы, в которых нуждается, ни больше ни меньше. Учитывайте, что
сервисы сторонних разработчиков наиболее подвержены ошибкам. К примеру,
работа со старыми версиями imapd или
popper это все равно что раздача доступа
root всему миру. Никогда не запускайте
сервисы, которые вы не проверили достаточно внимательно. Многим
сервисам не требуется работа под root.
Например, даемоны ntalk,
comsat, и
finger могут быть запущены в так
называемых песочницах
(sandboxes). Песочница это не идеальное
решение, поскольку вызывает много проблем, но она подходит под
модель послойной безопасности: если кто-то сможет взломать сервис,
работающий в песочнице, ему потребуется взломать еще и саму
песочницу. Чем больше уровней (слоев) потребуется
пройти атакующему, тем меньше вероятность его успеха. Ошибки,
позволяющие получать root доступ, находили фактически во всех
сервисах, запускаемых под root, включая
основные системные сервисы. Если вы обслуживаете машину, на которую
входят только через sshd и никогда не
входят через telnetd,
rshd или
rlogind, отключите эти сервисы!В &os; сервисы
ntalkd,
comsat и
finger теперь по умолчанию работают в
песочнице. Другая программа, которая может быть
кандидатом на запуск в песочнице это
&man.named.8;. /etc/defaults/rc.conf включает
необходимые для запуска named
в песочнице аргументы в закомментированой форме.
В зависимости от того, устанавливаете ли вы новую систему, или
обновляете старую, учётные записи пользователей, используемые
этими песочницами могут не быть созданы.
Предусмотрительный системный администратор должен узнать о
песочницах для сервисов и установить их если есть
возможность.sendmailЕсть множество других сервисов, которые обычно не работают в
песочницах: sendmail,
popper,
imapd, ftpd,
и другие. Некоторым из этих сервисов есть альтернативы,
но их установка может потребовать больше работы, чем вы готовы
выполнить (фактор удобства). Вы можете запустить эти сервисы под
root и положиться на другие механизмы обнаружения
вторжений, которые могут пройти через них.Другая большая потенциальная root брешь
в системе это suid-root и sgid исполняемые файлы. Большинство
этих исполняемых файлов, таких как rlogin,
установлены в /bin, /sbin,
/usr/bin, или /usr/sbin.
Хотя ничто не может быть безопасно на 100%, находящиеся по умолчанию
в системе suid и sgid исполняемые файлы могут быть признаны
достаточно безопасными. Но root бреши все еще
обнаруживаются в этих исполняемых файлах. root
брешь, обнаруженная в Xlib в 1998 делала
xterm (который обычно suid) подверженным
взлому. Лучше сразу принять меры предосторожности, чем сожалеть
потом. Предусмотрительный системный администратор ограничит права
запуска suid исполняемых файлов, которые должны запускаться
пользователями группы staff, только этой группой, а также запретит
доступ (chmod 000) к тем исполняемым файлам
suid, которые никем не используются. Серверу без монитора обычно
не требуется исполняемый файл xterm.
Исполняемые sgid исполняемые файлы могут быть почти так же опасны.
Если нарушитель сможет взломать sgid-kmem исполняемый файл, он
возможно сможет прочесть /dev/kmem и
таким образом получить файл зашифрованных паролей, что потенциально
делает возможным взлом любой защищённой паролем учётной записи.
Аналогично нарушитель, проникший в группу kmem,
может отслеживать последовательности клавиш, отправляемые через
- псевдотерминалы, включая те, что используют защищённые соединения.
- Нарушитель, вошедший в группу
+ псевдо-терминалы, включая те, что используют защищённые соединения.
+ Нарушитель, вошедший в группу
tty может сделать вывод почти на любой
пользовательский терминал. Если пользователь работает с
терминальной программой или эмулятором с возможностью эмуляции
клавиатуры, взломщик может потенциально сгенерировать поток данных,
который заставит терминал пользователя ввести команду, и она будет
запущена с правами этого пользователя.Защита учётных записей пользователейУчетные записи пользователей обычно сложнее всего защитить.
Вы можете ввести драконовские ограничения доступа к служебным учётным
записям, заменив их пароли на символ
*, но возможно не сможете сделать
то же с обычными учётными записями пользователей. Если есть
такая возможность, вы возможно сможете защитить учётные записи
пользователей соответствующим образом. Если нет, просто
более бдительно отслеживайте эти учётные записи. Использование
ssh и Kerberos для учётных записей пользователей более
проблематично, поскольку требует дополнительной административной
работы и технической поддержки, но все же это решение лучше,
чем файл с шифрованными паролями.Защита файла паролейЕдинственный абсолютно надежный способ это замена на
* максимально возможного количества паролей и
использование ssh или Kerberos для доступа к таким учётным записям.
Хотя файл с шифрованными паролями (/etc/spwd.db)
доступен для чтения только root, возможно, что
нарушитель сможет получить доступ на чтение к этому файлу, даже если
не получит права root на запись.Ваши скрипты безопасности должны всегда проверять и составлять
отчет об изменениях файла паролей (обратитесь к разделу Проверка целостности файлов
ниже по тексту).Защита ядра, raw устройств и файловых
системЕсли атакующий взломает root, он сможет
сделать практически все, но есть способы усложнить его задачу.
Например, в большинстве современных ядер встроено устройство
перехвата пакетов. В &os; оно называется
bpf. Нарушитель обычно пытается запустить
перехват пакетов на взломанной машине. Вы не должны предоставлять
ему такой возможности, на большинстве систем устройство
bpf не должно быть встроено в ядро.sysctlНо даже если вы выключите устройство bpf,
все еще остаются проблемы, связанные с устройствами
/dev/mem и
/dev/kmem.
Нарушитель все еще может писать на дисковые raw устройства.
Есть также другая возможность ядра, загрузка модулей, &man.kldload.8;.
Активный нарушитель может использовать KLD модуль для установки
собственного устройства bpf или другого
перехватывающего устройства на работающее ядро. Для решения этих
проблем запускайте ядро с большим уровнем безопасности, как минимум 1.
Уровень безопасности может быть установлен с помощью
sysctl через переменную
kern.securelevel. После установки уровня
безопасности в 1 доступ на запись в raw устройства будет запрещена и
полностью заработают специальные флаги chflags,
такие как schg. Убедитесь также, что
флаг schg установлен на критически важных
загрузочных исполняемых файлах, каталогах и файлах скриптов —
на всем, что запускается до установке уровня безопасности.
Это требует большого объема работы, и обновление системы на более
высоком уровне безопасности может стать гораздо сложнее. Вы можете
пойти на компромисс и запускать систему на высоком уровне безопасности,
но не устанавливать флаг schg для каждого
существующего системного файла и каталога. Другая возможность
состоит в монтировании / и
/usr только для чтения. Необходимо заметить,
что такие правила слишком жесткие и могут помешать обнаружению
вторжения.Проверка целостности файлов: исполняемые, конфигурационные файлы
и т.д.Вы можете защищать только ядро, файлы настройки и управления
системой только до тех пор, пока эта защита не вступит в конфликт
с удобством работы в системе. Например, использование
chflags для установки бита
schg на большинство файлов в /
вероятно может только навредить, поскольку хотя и может защитить
файлы, препятствует обнаружению. Последний слой системы безопасности,
возможно, наиболее важный — обнаружение. Остальные меры
безопасности практически бесполезны (или, что еще хуже, могут дать
вам ложное ощущение безопасности) если вы не обнаружите потенциальное
вторжение. Половина функций системы безопасности направлена на
замедление атакующего, а не на его остановку, для того, чтобы дать
системе обнаружения возможность поймать нарушителя на месте
преступления.Лучший способ обнаружения вторжения — отслеживание
измененных, отсутствующих, или неожиданно появившихся файлов.
Для наблюдения за измененными файлами лучше всего использовать
другую (зачастую централизованную) систему с ограниченным
доступом. Добавление написанных вами скриптов к этой дополнительно
защищенной системе с ограниченным доступом делает ее практически
невидимой для потенциальных взломщиков, и это важно. В целях
достижения максимального эффекта вам может потребоваться предоставить
этой системе доступ к другим машинам в сети, обычно с помощью
NFS экспорта только для чтения или сгенерировав пары ключей ssh
для доступа к другим машинам по ssh. Помимо большого объема
сетевого трафика, NFS более скрытый метод — он позволяет
контролировать файловые системы на каждом клиентском компьютере
практически незаметно. Если ваш сервер с ограниченным доступом
подключен к клиентским компьютерам через коммутатор, NFS метод
это зачастую лучший выбор. При соединении через концентратор, или
через несколько маршрутизаторов, NFS метод может стать слишком
небезопасным и использование ssh может стать лучшим выбором даже
несмотря на то, что ssh оставляет следы своей работы.Как только у вас появился сервер с ограниченным доступом,
и как минимум доступ на чтение в клиентских системах, потребуется
написать скрипты для выполнения мониторинга. При наличии доступа
по NFS вы можете написать скрипты с помощью простых системных утилит,
таких как &man.find.1; и &man.md5.1;. Лучше всего подсчитывать
md5 файлов на клиентском компьютере как минимум один раз в день,
а файлы, контролирующие запуск из /etc и
/usr/local/etc даже более часто. При
обнаружении расхождений в md5, контролирующий компьютер должен
просигналить системному администратору проверить изменившиеся
файлы. Хороший скрипт безопасности проверит также наличие
несоответствующих исполняемых suid файлов и новых или измененных
файлов в системных разделах / и
/usr.При использовании ssh вместо NFS, написать скрипты безопасности
гораздо сложнее. Вам обязательно потребуется скопировать
(scp) скрипты на клиентский компьютер,
сделать из невидимыми, и для безопасности потребуется также
скопировать исполняемые файлы (такие как find), которые будут
использоваться скриптом. Приложение ssh
на клиентском компьютере может быть уже взломано. В конечном итоге,
без ssh не обойтись при работе через небезопасные соединения,
но его гораздо сложнее использовать.Хороший скрипт безопасности проверит также изменения в файлах
настройки, работающих при подключении пользователей и служебных учётных
записей:
.rhosts, .shosts,
.ssh/authorized_keys и так далее…
файлы, которые могли не попасть в область проверки
MD5.Если для пользователей выделен большой объем дискового
пространства, проверка каждого файла на таких разделах может занять
слишком много времени. В таком случае установка флагов монтирования
для запрета suid исполняемых файлов и устройств на таких разделах
это хорошая идея. Примените параметры &man.mount.8;
nodev и nosuid. Проверяйте
эти разделы в любом случае, хотя бы раз в неделю, поскольку
необходимо обнаруживать попытки взлома, независимо от того,
эффективны они или нет.Учет процессов (&man.accton.8;) это относительно несложная
возможность операционной системы, которая может помочь
как механизм обнаружения состоявшихся вторжений. Она особенно
полезна для обнаружения пути проникновения нарушителя в систему,
если файл не был затронут проникновением.Наконец, скрипты безопасности должны обработать лог файлы,
которые необходимо создавать настолько защищенным способом, насколько
это возможно — подключение syslog удаленно может быть очень
полезным. Злоумышленник попытается уничтожить следы взлома,
и лог файлы критически важны для системного администратора,
пытающегося отследить время и метод первого проникновения.
Один из надежных способов получения лог файлов является подключение
системной консоли к последовательному порту и постоянный
сбор информации через защищенную машину, отслеживающую
консоли.ПаранойяНемного паранойи никогда не повредит. Как правило, системный
администратор может добавлять элементы безопасности в любом
количестве, пока это не влияет на удобство, а также некоторое
количество элементов безопасности, влияющих
на удобство. Что даже более важно, системный администратор должен
немного изменить их — если вы используете рекомендации, например
те, что даны в этом документе, они становятся известны атакующему,
который также имеет доступ к этому документу.
prospective attacker who also has access to this document.Атаки DoSОтказ в обслуживании (DoS)Этот раздел охватывает DoS атаки. DoS атаки это обычно
пакетные атаки. Хотя против современной атаки с подделкой пакетов,
которая перегружает сеть, мало что можно сделать, вы можете
ограничить повреждения, убедившись, что атака не может
обрушить ваши сервера.Ограничение количества порождаемых процессов.Уменьшение последствий springboard атак (ICMP ответ,
широковещательный ping и т.д.).Кэш маршрутизации ядра.Обычная DoS атака против порождающего процессы сервера пытается
исчерпать ресурсы сервера по процессам, файловым дескрипторам и
памяти до тех пор, пока машина не повиснет. У
inetd (обратитесь к &man.inetd.8;)
есть несколько параметров, позволяющих ограничить такие атаки.
Необходимо учесть, что хотя можно предотвратить падение системы, в
общем случае невозможно предотвратить прекращение работы сервиса.
Внимательно прочтите страницу справочника и обратите особое внимание
на параметры , , и
. Учтите, что параметр не
работает в случае атак с использованием поддельных IP пакетов,
поэтому как правило необходимо использование комбинации параметров.
Некоторые standalone сервисы используют собственные параметры,
ограничивающие порождение процессов.У Sendmail есть собственный параметр
, которая работает гораздо лучше,
чем параметр sendmail, ограничивающий нагрузку. Вам необходимо задать
параметр запуска sendmailMaxDaemonChildren достаточно большим, чтобы
обслуживать ожидаемую нагрузку, но так, чтобы компьютер мог обслужить
такое количество приложений sendmail без
падения системы. Хорошей мерой является запуск sendmail в режиме
очереди () и запуск даемона
(sendmail -bd) отдельно от очереди
(sendmail -q15m). Если вы все же хотите
организовать доставку в режиме реального времени, запускайте
очередь с меньшим интервалом , но убедитесь
в правильной установке параметра sendmail
MaxDaemonChildren для предотвращения
ошибок.Syslogd может быть атакован
непосредственно, настоятельно рекомендуется использовать параметр
если это возможно и параметр
в остальных случаях.Вы также должны быть очень осторожны с сервисами, совершающими
обратное подключение, например, с TCP
- Wrapper и его обратным identd-запросом, который может
- быть атакован напрямую. По этой причине возможность TCP
- Wrapper генерировать обратный ident обычно не следует
- использовать.
+ Wrapper и его обратным identd-запросом, который может
+ быть атакован напрямую. По этой причине возможность TCP
+ Wrapper генерировать обратный ident обычно не следует
+ использовать.
Правильным будет запрет доступа к внутренним сервисам из внешней
сети путем соответствующей настройки брандмауэра на внешнем
маршрутизаторе. Идея в том, чтобы предотвратить перегрузку сервисов
атаками из внешней сети, а кроме того защитить
root от взлома через сеть. Всегда настраивайте
исключающий брандмауэр, т.е. закрыть все
кроме портов A, B, C, D, и M-Z.
Этим способом вы можете закрыть все порты нижнего диапазона,
кроме явно указанных, таких как named
(если вы поддерживаете интернет-зону),
ntalkd,
sendmail, и других сервисов, доступных
из интернет. Если вы попробуете настроить брандмауэр другим
способом — включающий, или разрешающий брандмауэр, есть
большой шанс забыть закрыть пару сервисов, или
добавить новый внутрисетевой сервис и забыть обновить брандмауэр.
Вы можете открыть диапазон портов с большими номерами
для обычных приложений без угрозы портам нижнего диапазона.
Учтите также, что &os; позволяет вам контролировать диапазоны
портов, используемые для динамической привязки через различные
переменные sysctlnet.inet.ip.portrange (sysctl -a | fgrep
portrange), что позволяет упростить настройку
брандмауэра. Например, вы можете использовать обычный
диапазон портов со значениями от 4000 до 5000, и диапазон портов с
большими номерами от 49152 до 65535, а затем заблокировать все до
4000 порта (конечно оставив доступ из интернет к определенным
портам.
- ICMP_BANDLIM
-
Другой распространенный тип DoS атак называется springboard
— сервер атакуется таким образом, что генерируемые ответы
перегружают его, локальную сеть или какие-то другие компьютеры.
Наиболее распространенная атака этого вида это
широковещательная ICMP ping атака.
Атакующий подделывает пакеты ping, подставляя IP адрес машины, которую
он намеревается атаковать, и отправляет их на широковещательный
адрес вашей локальной сети. Если ваш внешний маршрутизатор не
настроен на отбрасывание пакетов ping на широковещательные адреса,
ваша сеть начинает генерировать соответствующие ответы на
поддельный адрес, что приводит к перегрузке хоста-жертвы, особенно
если атакующий использует этот же трюк с множеством
широковещательных адресов в множестве сетей одновременно.
Были зарегистрированы широковещательные атаки свыше ста двадцати
мегабит. Другая распространенная springboard атака направлена на
ICMP систему сообщения об ошибках. Конструируя пакеты, вызывающие
ICMP сообщения об ошибках, атакующий может нагрузить входящее
соединение сервера и вынудить сервер нагрузить исходящее соединение
ICMP ответами. Этот тип атаки может также обрушить сервер, когда
тот исчерпает mbuf, обычно если сервер не может ограничить число
ответов ICMP, когда они генерируются слишком быстро. В ядре
- &os; есть новая опция сборки, ,
- которая ограничивает эффективность этого типа атак. Последний
+ &os; 4.X есть опция сборки ,
+ которая ограничивает эффективность этого типа атак.
+ Более поздние ядра используют переменную
+ sysctl
+ net.inet.icmp.icmplim. Последний
основной класс springboard атак относится к определенным
внутренним сервисам inetd, таким как
сервис udp echo. Атакующий просто подделывает адрес источника
и адрес назначения UDP пакетов, устанавливая в их качестве
соответственно echo порт сервера A и B, оба этих сервера принадлежат
вашей локальной сети. Эти два сервера начинают перебрасываться
этим пакетом друг с другом. Атакующий может вызвать перегрузку
обеих серверов и их сетей, просто отправив несколько пакетов таким
способом. Аналогичные проблемы существуют с портом
chargen. Компетентный системный
администратор должен отключить эти тестовые сервисы inetd.Атаки с поддельными пакетами могут также использоваться для
переполнения кэша маршрутизации ядра. Обратитесь к параметрам
sysctlnet.inet.ip.rtexpire,
rtminexpire, и rtmaxcache.
Атака с поддельными пакетами, использующая произвольный IP адрес
источника, заставит ядро сгенерировать временный кэшированный
маршрут в таблице маршрутизации, который можно увидеть с помощью
netstat -rna | fgrep W3. Эти маршруты обычно
удаляются через 1600 секунд или около того. Если ядро определит,
что кэшированная маршрутная таблица стала слишком большой, оно
динамически уменьшит rtexpire, но никогда не
станет делать его меньше чем rtminexpire.
С этим связаны две проблемы:
-
+
Ядро не отреагирует достаточно быстро, когда легко нагруженный
сервер будет внезапно атакован.
-
+
Значение rtminexpire недостаточно мало
для поддержки работоспособности в условиях продолжительной
атаки.Если ваши серверы подключены к интернет через линию T3 или
более быструю, предусмотрительно будет изменить оба значения
rtexpire и rtminexpire
с помощью &man.sysctl.8;. Никогда не устанавливайте ни один из этих
параметров в нуль (если только вы не хотите обрушить систему).
Установка обеих параметров в значение 2 секунды должна предотвратить
таблицу маршрутизации от атак.Проблемы, связанные с доступом к Kerberos и SSHsshKerberosIVПри использовании Kerberos и ssh необходимо учесть несколько
возможных проблем. Kerberos V это отличный протокол
аутентификации, но в адаптированных к нему приложениях
telnet и
rlogin есть несколько ошибок, которые
могут сделать их непригодными к работе с бинарными потоками.
К тому же, по умолчанию Kerberos не шифрует сессию, если вы не
используете параметр .
ssh шифрует все по умолчанию.
ssh работает очень хорошо во всех ситуациях, но пересылает
ключи по умолчанию. Это означает, что если вы работаете с
защищенной рабочей станции, ключи на которой дают доступ к
остальной сети, и заходите по ssh на незащищенный компьютер,
эти ключи могут быть использованы для взлома. Атакующему
не удастся получить сами ключи, но поскольку ssh открывает порт
во время входа в систему, то если на незащищенной машине
взломан root, эти ключи могут быть использованы
для доступа к другим компьютерам, на которых они действуют.Мы рекомендуем использовать ssh в комбинации с Kerberos
для служебных учётных записей если это возможно.
ssh может быть собран с поддержкой
Kerberos. Это уменьшает зависимость от потенциально подверженных
взлому ssh ключей, и в то же время защищает пароли через
Kerberos. Ключи ssh должны использоваться только для работы
скриптов на защищенных компьютерах (там, где Kerberos использовать
не получится). Мы также рекомендуем или выключить передачу ключей
в настройках ssh, или использовать параметр
from=IP/DOMAIN, поддерживаемый ssh в файле
authorized_keys, который позволяет использовать
ключи только с определенных компьютеров.BillSwingleЧастично переписал и обновил DES, MD5, и шифрованиебезопасностьшифрованиешифрованиеDESMD5У каждого пользователя &unix; системы есть пароль, связанный с его
учётной записью. Очевидно, что эти пароли должны быть известны только
пользователю и соответствующей операционной системе. Для защиты паролей
они шифруются способом, известным как односторонний хэш,
то есть их можно легко зашифровать, но нельзя расшифровать. Другими
словами, то, что мы сказали чуть раньше было очевидно, но не совсем
верно: операционной системе сам пароль
неизвестен. Ей известен только пароль в
зашифрованной форме. Единственный способ получить
обычный пароль это простой перебор всех возможных
паролей.К сожалению, единственный способ шифрования пароля при появлении
&unix; был основан на DES, Data Encryption Standard. Это не было
проблемой для пользователей, живущих в США, но поскольку исходный код
DES нельзя было экспортировать из США, &os; нашла способ одновременно
не нарушать законов США и сохранить совместимость со всеми другими
вариантами &unix;, где все еще использовался DES.Решение было в разделении библиотек шифрования, чтобы пользователи
в США могли устанавливать и использовать библиотеки DES, а у остальных
пользователей был метод шифрования, разрешенный к экспорту. Так
&os; пришла к использованию MD5 в качестве метода шифрования по
умолчанию. MD5 считается более безопасным, чем DES, поэтому установка
DES рекомендуется в основном из соображений совместимости.Определения механизма шифрованияДо &os; 4.4 libcrypt.a была
символической ссылкой на библиотеку, используемую для шифрования.
В &os; 4.4 libcrypt.a была изменена
для предоставления настраиваемой библиотеки аутентификации по хэшу
пароля. На данный момент библиотека поддерживает хэши DES, MD5 и
Blowfish. По умолчанию &os; использует для шифрования паролей
MD5.Довольно легко определить какой метод шифрования используется
в &os;. Один из способов это проверка файла
/etc/master.passwd. Пароли, зашифрованные в
хэш MD5 длиннее, чем те, что зашифрованы с помощью DES и начинаются
с символов $1$. Пароли, начинающиеся
с символов $2a$ зашифрованы с помощью
Blowfish. Пароли, зашифрованные DES не содержат каких-то определенных
идентифицирующих символов, но они короче, чем пароли MD5 и
закодированы в 64-символьном алфавите, не содержащем символа
$, поэтому относительно короткая строка,
не начинающаяся с этого символа это скорее всего DES пароль.Формат паролей, используемых для новых паролей, определяется
параметром passwd_format в
/etc/login.conf, которое может принимать значения
des, md5 или
blf. Обратитесь к странице справочника
&man.login.conf.5; за дополнительной информацией о параметрах
login.Одноразовые паролиодноразовые паролибезопасностьодноразовые паролиS/Key это схема с одноразовыми паролями, основанная на одностороннем
хэше. &os; использует хэш MD4 для совместимости, но другие системы
используют MD5 и DES-MAC. S/Key была частью базовой системы &os;
начиная с версии 1.1.5 и используется также во все большем числе
операционных систем. S/Key это зарегистрированная торговая марка
Bell Communications Research, Inc.Начиная с &os; версии 5.0, S/Key была замещена на функциональный
эквивалент — OPIE (One-time Passwords In Everything).
OPIE по умолчанию использует MD5.Есть три различных вида паролей, о которых мы поговорим ниже.
Первый вид это ваш обычный пароль &unix; или пароль Kerberos; мы
будем называть его пароль &unix;. Второй вид это
одноразовый пароль, сгенерированный программой S/Key
key или программой OPIE &man.opiekey.1; и принимаемый
командами keyinit или &man.opiepasswd.1;
и в приглашении login; мы будем называть их одноразовыми
паролями. Последний вид паролей это защищенные пароли, которые
вы передаете программам
key/opiekey (и иногда
программам keyinit/opiepasswd),
и которые эти программы используют для создания одноразовых паролей;
мы будем называть его защищенными паролями или просто
паролями.Защищенный пароль не имеет никакого отношения к вашему паролю
&unix;; они могут быть одинаковыми, но это не рекомендуется.
Защищенные пароли S/Key и OPIE не ограничены 8-ю символами, как
старые &unix; паролиВ &os; стандартный пароль
может быть до 128 символов длиной.,
они могут быть настолько длинными, насколько вы захотите. Очень часто
используются пароли длиной в шесть или семь символов. По большей части
система S/Key или OPIE работает полностью независимо от системы
паролей &unix;.Помимо паролей, есть два других вида данных, важных для S/Key и
OPIE. Первый, известный как seed или
ключ, состоит из двух букв и пяти цифр. Другой,
называемый счетчиком цикла, это номер от 1 до 100.
S/Key создает одноразовый пароль, соединяя ключ и защищенный пароль,
а затем применяя MD4/MD5 столько раз, сколько указано счетчиком цикла и
выдает результат в виде шести коротких слов на английском. Эти шесть
слов на английском и есть ваш одноразовый пароль. Система
аутентификации (как правило PAM) хранит последний использованный
одноразовый пароль, и пользователь аутентифицируется если хэш вводимого
пользователем пароля совпадает с предыдущим паролем. Поскольку
используется односторонний хэш, невозможно сгенерировать следующий
одноразовый пароль если получен предыдущий; счетчик цикла уменьшается
после каждого успешного входа для поддержки синхронизации пользователя
с программой login. Когда счетчик цикла уменьшается до 1, S/Key и OPIE
должны быть переинициализированы.В каждой из обсуждаемых ниже систем задействованы три программы.
Программы key и opiekey
получают счетчик цикла, ключ и защищенный пароль и создают одноразовый
пароль или последовательный список одноразовых паролей. Программы
keyinit и opiepasswd
используются для инициализации S/Key и OPIE соответственно,
и для смены паролей, счетчиков цикла, или ключей; они принимают
защищенный пароль или счетчик цикла, ключ и одноразовый пароль.
Программы keyinfo и opieinfo
проверяют соответствующие файлы (/etc/skeykeys
или /etc/opiekeys) и печатают текущий счетчик
цикла и ключ вызывающего пользователя.Мы рассмотрим четыре вида операций. Первая это использование
keyinit или opiepasswd через
защищенное соединение для первоначальной настройки системы одноразовых
паролей, или для изменения пароля или ключа. Вторая операция это
использование в тех же целях keyinit или
opiepasswd через незащищенное соединение, в сочетании
с key или opiekey через защищенное
соединение. Третья это использование
key/opiekey для входа через
незащищенное соединение. Четвертая это использование
key или opiekey для генерации
набора ключей, которые могут быть записаны или распечатаны для
соединения из места, где защищенное соединение недоступно.Защищенная установка соединенияДля первоначальной настройки S/Key, измените ваш пароль или
ключ при входе через защищенное соединение (например, с консоли
компьютера или через ssh), используйте
команду keyinit без параметров при входе под
своим именем:&prompt.user; keyinit
Adding unfurl:
Reminder - Only use this method if you are directly connected.
If you are using telnet or rlogin exit with no password and use keyinit -s.
-Enter secret password:
-Again secret password:
+Enter secret password:
+Again secret password:
ID unfurl s/key is 99 to17757
DEFY CLUB PRO NASH LACE SOFTДля OPIE, вместо этого используется
opiepasswd:&prompt.user; opiepasswd -c
[grimreaper] ~ $ opiepasswd -f -c
Adding unfurl:
Only use this method from the console; NEVER from remote. If you are using
telnet, xterm, or a dial-in, type ^C now or exit with no password.
Then run opiepasswd without the -c parameter.
Using MD5 to compute responses.
Enter new secret pass phrase:
Again new secret pass phrase:
ID unfurl OTP key is 499 to4268
MOS MALL GOAT ARM AVID COED
В приглашениях Enter new secret pass phrase: или
Enter secret password:, введите пароль или фразу.
Запомните, это не тот пароль, с которым вы будете входить, он
используется для генерации одноразовых паролей. Строка
ID содержит информацию для вашего конкретного случая:
имя пользователя, счетчик цикла и ключ. При входе система запомнит
эти параметры и отправит их вам, поэтому их не надо запоминать. В
последней строке находится одноразовый пароль, соответствующий
этим параметрам и секретному паролю; если вы войдете в систему сразу,
используйте этот одноразовый пароль.Незащищенная установка соединенияДля инициализации или изменения защищенного пароля через
незащищенное соединение, вам потребуется существующее защищенное
соединение куда-то, где вы сможете запустить key
или opiekey; это может быть средство доступа
&macintosh; или shell на компьютере, которому вы доверяете.
Вам потребуется также установить значение счетчика цикла (100
возможно подойдет), и задать ключ или использовать сгенерированный.
Через незащищенное соединение (к компьютеру, на котором производится
настройка), используйте команду keyinit -s:&prompt.user; keyinit -s
Updating unfurl:
Old key: to17758
Reminder you need the 6 English words from the key command.
Enter sequence count from 1 to 9999: 100
-Enter new key [default to17759]:
+Enter new key [default to17759]:
s/key 100 to 17759
s/key access password:
s/key access password:CURE MIKE BANE HIM RACY GOREДля OPIE, используйте opiepasswd:&prompt.user; opiepasswd
Updating unfurl:
You need the response from an OTP generator.
Old secret pass phrase:
otp-md5 498 to4268 ext
Response: GAME GAG WELT OUT DOWN CHAT
New secret pass phrase:
otp-md5 499 to4269
Response: LINE PAP MILK NELL BUOY TROY
ID mark OTP key is 499 gr4269
LINE PAP MILK NELL BUOY TROY
Чтобы принять ключ по умолчанию нажмите Enter.
Затем, перед вводом пароля доступа введите те же параметры в
вашем защищенном соединении или средстве доступа S/Key:&prompt.user; key 100 to17759
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password: <secret password>
CURE MIKE BANE HIM RACY GOREИли для OPIE:&prompt.user; opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHAT
Теперь переключитесь на незащищенное соединение и скопируйте
одноразовый пароль, сгенерированный соответствующей программой.Создание одного одноразового пароляКак только вы настроите S/Key или OPIE, во время входа появится
приглашение вроде этого:&prompt.user; telnet example.com
Trying 10.0.0.1...
Connected to example.com
Escape character is '^]'.
FreeBSD/i386 (example.com) (ttypa)
login: <username>
s/key 97 fw13894
Password: Или для OPIE:&prompt.user; telnet example.com
Trying 10.0.0.1...
Connected to example.com
Escape character is '^]'.
FreeBSD/i386 (example.com) (ttypa)
login: <username>
otp-md5 498 gr4269 ext
Password: Кроме того, у S/Key и OPIE есть полезная особенность (не
показанная здесь): если вы нажмете Enter
в приглашении на ввод пароля, включится эхо, и вы сможете увидеть
то, что вводите. Это может быть очень полезно, если вы пытаетесь
ввести пароль вручную, например с распечатки.MS-DOSWindowsMacOSВ этот момент вам потребуется сгенерировать одноразовый пароль,
чтобы ввести его в приглашение. Это должно быть выполнено на
защищенной системе, в которой вы можете запустить
key или opiekey (есть версии
для DOS, &windows; и &macos;). Им требуются значения счетчика цикла
и ключ в качестве параметров командной строки. Вы можете скопировать
и вставить их прямо из приглашения login компьютера, на который
входите.В защищенной системе:&prompt.user; key 97 fw13894
Reminder - Do not use this program while logged in via telnet or rlogin.
-Enter secret password:
+Enter secret password:
WELD LIP ACTS ENDS ME HAAGДля OPIE:&prompt.user; opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHATТеперь, когда у вас есть одноразовый пароль, можете продолжить
вход в систему:login: <username>
s/key 97 fw13894
Password: <return to enable echo>
s/key 97 fw13894
Password [echo on]: WELD LIP ACTS ENDS ME HAAG
Last login: Tue Mar 21 11:56:41 from 10.0.0.2 ... Создание нескольких одноразовых паролейИногда вы отправляетесь туда, где нет доступа к защищенному
компьютеру или защищенному соединению. В этом случае, можно
использовать команды key и
opiekey для создания нескольких одноразовых
паролей, которые вы сможете распечатать и забрать с собой.
Например:&prompt.user; key -n 5 30 zz99999
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password: <secret password>
-26: SODA RUDE LEA LIND BUDD SILT
-27: JILT SPY DUTY GLOW COWL ROT
-28: THEM OW COLA RUNT BONG SCOT
-29: COT MASH BARR BRIM NAN FLAG
+26: SODA RUDE LEA LIND BUDD SILT
+27: JILT SPY DUTY GLOW COWL ROT
+28: THEM OW COLA RUNT BONG SCOT
+29: COT MASH BARR BRIM NAN FLAG
30: CAN KNEE CAST NAME FOLK BILKИли для OPIE:&prompt.user; opiekey -n 5 30 zz99999
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase: <secret password>
26: JOAN BORE FOSS DES NAY QUIT
27: LATE BIAS SLAY FOLK MUCH TRIG
28: SALT TIN ANTI LOON NEAL USE
29: RIO ODIN GO BYE FURY TIC
30: GREW JIVE SAN GIRD BOIL PHIПараметр запрашивает пять паролей,
указывает значение последнего счетчика цикла.
Обратите внимание, что пароли печатаются в
обратном по сравнению с обычным использованием
порядке. Если вы действительно параноик, перепишите результат
вручную; иначе скопируйте и передайте его lpr.
Обратите внимание, что каждая линия содержит как счетчик цикла, так
и одноразовый пароль; вам может показаться удобным отрывать пароль
после использования.Ограничение использования &unix; паролейS/Key может наложить ограничения на использование &unix; паролей
на основе имени хоста, имени пользователя, порта терминала или IP
адреса сессии. Эти ограничения можно найти в файле настройки
/etc/skey.access. Страница справочника
&man.skey.access.5; содержит дополнительную информацию о полном
формате файла а также детали о некоторых предосторожностях, которые
должны быть предприняты перед тем, как положиться в вопросах
безопасности на этот файл.Если файла /etc/skey.access нет (это
- ситуация по умолчанию в системах &os; 4.X), всем пользователям
+ ситуация по умолчанию в системах &os; 4.X), всем пользователям
будет разрешено входить с паролями &unix;. Если файл существует,
использование S/Key станет обязательно для всех, если только
параметры настройки в файле skey.access не
указывают иначе. В любом случае, пароли &unix; разрешены при входе
с консоли.Вот пример файла настройки skey.access,
иллюстрирующий три наиболее распространенных вида параметров
настройки:permit internet 192.168.0.0 255.255.0.0
permit user fnord
permit port ttyd0Первая строка (permit internet) разрешает
пользователям, чей IP адрес (который подвержен подделке)
соответствует заданному значению и маске, входить с использованием
паролей &unix;. Это должно рассматриваться не как механизм
безопасности, а как напоминание пользователям, что они работают через
небезопасное соединение и должны использовать для аутентификации
S/Key.Вторая строка (permit user) позволяет
определенным пользователям, в данном случае
fnord, всегда использовать пароли &unix;.
Вообще говоря, это должно использоваться только для тех, кто
не может использовать программу key, например
если они работают с простых терминалов или необучаемы.Третья строка (permit port) позволяет всем
пользователям, вошедшим с определенного терминала использовать
пароли &unix;; этот параметр должен использоваться для подключений
по dial-up.OPIE может ограничивать использование паролей &unix; на основе IP
адреса как и S/Key. Соответствующий файл называется
/etc/opieaccess, он существует по умолчанию в
- &os; 5.0 и более современных системах. Обратитесь к
+ &os; 5.0 и более современных системах. Обратитесь к
&man.opieaccess.5; за более подробной информацией об этом файле и о
предосторожностях, которые вы должны предпринять при использовании
этого файла.
-
+
Вот пример файла opieaccess:permit 192.168.0.0 255.255.0.0Эта строка позволяет пользователям, чей IP адрес (который
подвержен подделке) соответствует указанному значению и маске,
входить с паролем &unix;.
-
+
Если ни одно из правил в opieaccess не
сработало, поведением по умолчанию является запрет всех не-OPIE
входов.TomRhodesНаписал: TCP Wrappers
-
+
TCP WrappersКаждый, кто знаком с &man.inetd.8;, возможно когда-то слышал
о TCP Wrappers. Но немногие полностью
понимают их полезность в сетевой среде: большинство
используют брандмауэр. Хотя его применимость очень широка,
есть вещи, с которыми брандмауэр не может работать, такие
как отправка текста обратно вызывающей стороне. Программное
обеспечение уровня TCP может делать это
и многое другое. В следующих нескольких разделах обсуждаются
многие возможности TCP Wrappers, и, когда
это необходимо, даются примеры настроек.Программное обеспечение TCP Wrappers
расширяет возможность inetd по поддержке
каждого даемона. С ним становится возможным протоколирование,
возврат сообщений вызывающей стороне, ограничение подключений
внутренней сетью и т.п. Хотя некоторые из этих возможностей
могут быть реализованы брандмауэром, TCP
Wrappers не только предоставляют дополнительный уровень защиты,
но и дают больше контроля над системой, чем это возможно
с брандмауэром.Расширенная функциональность обработчиков TCP
не может заменить хороший сетевой экран. Тем не менее, обработчики
TCP могут использоваться совместно с сетевым экраном
и другими средствами обеспечения информационной безопасности, обеспечивая
тем самым дополнительный уровень защиты системы.Поскольку рассматривается расширение к настройкам
inetd, предполагается, что читатель ознакомился
с разделом о настройке
inetd.Хотя программы, запускаемые из &man.inetd.8;, на самом деле не
соответствуют термину даемоны, существует традиция
называть их именно так. Этот термин и используется в данном
разделе.Начальная настройкаЕдинственное требование для использования TCP
Wrappers в &os; это наличие в rc.conf
параметров запуска inetd ;
это настройки по умолчанию. Конечно, ожидается также наличие
правильной настройки /etc/hosts.allow,
но &man.syslogd.8; отправит сообщения в системный протокол если
что-то не так.В отличие от других реализаций TCP
Wrappers, использование hosts.deny не
поддерживается. Все параметры настройки должны быть помещены
в /etc/hosts.allow.В простейшей конфигурации, политика подключения сводится к
разрешению или блокированию в зависимости от параметров в
/etc/hosts.allow. Настройка в &os;
по умолчанию заключается в разрешении подключения к любому
даемону, запущенному из inetd. Изменение
этого поведения будет обсуждаться только после рассмотрения
базовой настройки.Базовая настройка обычно принимает форму
daemon : address : action, где
daemon это имя даемона, который запускается
inetd. В поле address
может находиться имя хоста, IP адрес, или
IPv6 адрес, заключенный в квадратные скобки ([ ]).
Поле action может принимать значения allow или deny,
чтобы соответственно разрешать или запрещать доступ.
Помните, что поиск правил производится до первого совпадения.
При обнаружении совпадения применяется соответствующее правило
и поиск прерывается.Существуют и другие параметры, но они будут описаны в следующих
разделах. Простая конфигурация может быть, например, такой:
для разрешения соединений по протоколу POP3
к даемону mail/qpopper,
в hosts.allow необходимо добавить следующие
строки:# This line is required for POP3 connections:
qpopper : ALL : allowПосле добавления этой строки, inetd
необходимо перезапустить. Это можно выполнить командой
&man.kill.1; или скриптом /etc/rc.d/inetd
с параметром restart.
- Расширенная конфигурация
+ Расширенная конфигурацияУ TCP Wrappers имеются дополнительные
параметры; они дают дополнительные возможности контроля над
соединениями. Иногда бывает полезно возвращать комментарий
определенным хостам или при подключении к определенным
даемонам. В других случаях может быть необходимо добавить
запись в лог файл, или отправить письмо администратору.
В определенных ситуациях сервис должен использоваться
только для локальных соединений. Все это возможно с
использованием параметров c шаблонами, символами подстановки
и путем выполнения внешних команд. Следующие два раздела
посвящены этим типам настроек.Внешние командыПредположим ситуацию, в которой соединение должно
быть запрещено, а о причине необходимо сообщить вызывающей
стороне. Как это можно сделать? Соответствующую
возможность предоставляет параметр .
При попытке подключения выполняется команда или скрипт,
заданный этим параметром. Пример дан в файле
hosts.allow:# The rest of the daemons are protected.
ALL : ALL \
: severity auth.info \
: twist /bin/echo "You are not welcome to use %d from %h."В этом примере сообщение,
You are not allowed to use daemon
from hostname. будет возвращено
от всех даемонов, которые не были предварительно настроены
в файле доступа. Обратите внимание, что возвращаемое
сообщение должно быть заключено в
кавычки; из этого правила нет исключений.Возможна реализация DoS атаки, когда группа
атакующих производит множество запросов на подключение.Возможно также использование параметра .
Как и параметр , параметр
подразумевает запрет соединения
и может использоваться для запуска команд или скриптов.
В отличие от , не
отправляет ответ вызывающей стороне. Например, следующая
конфигурация:# We do not allow connections from example.com:
ALL : .example.com \
- : spawn (/bin/echo %a from %h attempted to access %d >> \
- /var/log/connections.log) \
- : deny
+ : spawn (/bin/echo %a from %h attempted to access %d >> \
+ /var/log/connections.log) \
+ : deny
отклонит все попытки соединения из домена
*.example.com; имя хоста,
IP адрес и даемон протоколируются в файл
/var/log/connections.log.Помимо приведенных выше символов подстановки, например
%a, существует еще несколько символов. Обратитесь к странице
&man.hosts.access.5; справочной системы за полным списком.Параметры – шаблоны
- До этого момента в примерах использовался шаблон
+ До этого момента в примерах использовался шаблон
ALL. Существуют и другие параметры,
функциональность которых в дальнейшем может быть расширена.
ALL соответствует любому даемону,
домену или IP адресу. Другой доступный
шаблон это PARANOID, который соответствует
хосту, IP адрес которого может быть
подделан. Другими словами, paranoid
может быть использован для определения действия с хостами,
IP адрес которых не соответствует имени
хоста. Вот пример применения этого параметра:# Block possibly spoofed requests to sendmail:
sendmail : PARANOID : denyВ этом примере все запросы на подключения к
sendmail от хостов, IP
адрес которых не соответствует имени хоста, будут
отклонены.Использование PARANOID невозможно,
если у клиента или сервера неправильно настроен
DNS. В таких случаях необходимо
вмешательство администратора.Более подробная информация о шаблонах и их возможностях
дана на странице &man.hosts.access.5; справочной
системы.Для того, чтобы любая выбранная конфигурация заработала,
в hosts.allow необходимо закомментировать
первую строку настройки. В начале раздела об этом не
упоминалось.MarkMurrayПредоставил MarkDapozОригинальный текст предоставил KerberosIVKerberos это сетевая дополнительная система/протокол, которая
делает возможной аутентификацию пользователей через сервисы на защищенном
сервере. Такие сервисы, как удаленный вход, удаленное копирование,
защищенное копирование файлов между системами и другие задачи с
высоким риском становятся допустимо безопасными и более
контролируемыми.Последующие инструкции могут использоваться в качестве руководства
по настройке поставляемого с &os; Kerberos. Тем не менее, вам
могут потребоваться страницы справочника полного дистрибутива.Установка KerberosIVMITKerberosIVустановкаKerberos это опциональный компонент &os;. Простейший способ
установки этой программы это выбор krb4 или
krb5 из sysinstall
во время первой установки &os;. Будет установлен
eBones (KerberosIV) или Heimdal
(Kerberos5) вариант Kerberos. Включение этих реализаций объясняется
тем, что они разработаны вне США/Канады и доступны вне этих стран,
поскольку на них не влияют ограничения на экспорт криптографического
кода из США.Кроме того, реализация MIT Kerberos доступна из Коллекции Портов
в виде пакета
security/krb5.Создание базы данныхЭто необходимо сделать только на сервере Kerberos. Во-первых,
убедитесь что не осталось старой базы данных Kerberos. Войдите
в каталог /etc/kerberosIV и убедитесь, что в нем
находятся только эти файлы:&prompt.root; cd /etc/kerberosIV
&prompt.root; ls
-README krb.conf krb.realms
+README krb.conf krb.realms
Если присутствуют еще какие-то файлы (такие как
principal.* или master_key),
используйте команду kdb_destroy для удаления старой
базы данных Kerberos, или, если Kerberos не запущен, просто удалите
эти файлы.Затем отредактируйте файлы krb.conf и
krb.realms, введя ваши данные. В этом примере
уникальный идентификатор EXAMPLE.COM, сервер
grunt.example.com. Отредактируем или
создадим файл krb.conf:&prompt.root; cat krb.conf
EXAMPLE.COM
EXAMPLE.COM grunt.example.com admin server
CS.BERKELEY.EDU okeeffe.berkeley.edu
ATHENA.MIT.EDU kerberos.mit.edu
ATHENA.MIT.EDU kerberos-1.mit.edu
ATHENA.MIT.EDU kerberos-2.mit.edu
ATHENA.MIT.EDU kerberos-3.mit.edu
LCS.MIT.EDU kerberos.lcs.mit.edu
TELECOM.MIT.EDU bitsy.mit.edu
ARC.NASA.GOV trident.arc.nasa.govВ этом примере другие идентификаторы введены для иллюстрации
настройки c несколькими хостами. С целью упрощения
настройки вы можете не включать их.Первая строка содержит идентификатор, под которым работает эта
система. Остальные строки связывают идентификаторы с именами хостов.
Сначала указывается идентификатор, затем хост под этим
идентификатором, работающий как центр распространения
ключей. Слова admin server с последующим
именем хоста означают, что этот хост также является сервером
администрирования базы данных. За дальнейшей информацией об этих
терминах обратитесь к страницам справочника по Kerberos.Мы добавили grunt.example.com
к идентификатору EXAMPLE.COM и кроме того
сопоставили всем хостам в домене
.example.com идентификатор
EXAMPLE.COM. Файл
krb.realms будет выглядеть так:&prompt.root; cat krb.realms
grunt.example.com EXAMPLE.COM
.example.com EXAMPLE.COM
.berkeley.edu CS.BERKELEY.EDU
.MIT.EDU ATHENA.MIT.EDU
.mit.edu ATHENA.MIT.EDUКак и в предыдущем примере, другие идентификаторы добавлены только
для примера. С целью упрощения настройки вы можете не включать
их.В первой строке определенная система
сопоставляется с идентификатором. В остальных строках показано,
сопоставить идентификатору остальные системы определенного
поддомена.Теперь мы готовы к созданию базы данных. Потребуется всего лишь
запустить сервер Kerberos (или центр распространения ключей).
Используйте для этого kdb_init:&prompt.root; kdb_initRealm name [default ATHENA.MIT.EDU ]:EXAMPLE.COM
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
-
+
Введите главный ключ Kerberos:Теперь мы должны сохранить ключ, чтобы сервера на локальных
компьютерах могли его взять. Используйте для этого команду
kstash:
-
+
&prompt.root; kstashEnter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
-
+
Этой командой зашифрованный главный пароль сохранен в
/etc/kerberosIV/master_key.Запуск Kerberos
-
+
KerberosIVпервый запускДля каждой системы, защищаемой Kerberos, в базу данных должны
быть добавлены две записи. Это kpasswd и
rcmd. Они добавляются вместе с именем
системы.Эти даемоны, kpasswd и
rcmd позволяют другим системам изменять
пароли Kerberos и запускать такие команды как &man.rcp.1;,
&man.rlogin.1;, &man.rsh.1;.Теперь добавим эти записи:&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:passwdInstance:grunt
<Not found>, Create [y] ?y
Principal: passwd, Instance: grunt, kdc_key_ver: 1
New Password: <---- enter RANDOM here
Verifying password
New Password: <---- enter RANDOM here
Random password [y] ?y
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name:rcmdInstance:grunt
<Not found>, Create [y] ?
Principal: rcmd, Instance: grunt, kdc_key_ver: 1
New Password: <---- enter RANDOM here
Verifying password
New Password: <---- enter RANDOM here
Random password [y] ?
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- null entry here will cause an exitСоздание файла настройки сервераТеперь необходимо создать все записи сервисов, которые были
определены для каждого компьютера. Используем для этого команду
ext_srvtab. Будет создан файл, который должен
быть скопирован или перемещен безопасным способом
в каталог /etc/kerberosIV каждого Kerberos
клиента. Этот файл должен присутствовать на каждом сервере и
клиенте, он необходим для работы Kerberos.&prompt.root; ext_srvtab gruntEnter Kerberos master key:
-
+
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Generating 'grunt-new-srvtab'....Эта команда создаст временный файл, который должен быть
переименован в srvtab, чтобы серверы смогли
обратиться к нему. Используйте команду &man.mv.1; для перемещения
его в исходной системе:&prompt.root; mv grunt-new-srvtab srvtabЕсли файл предназначен для клиентской системы, и сеть не
безопасна, скопируйте
client-new-srvtab
на съемный носитель и перенесите файл с его помощью. Убедитесь, что
переименовали его в srvtab в каталоге
/etc/kerberosIV клиента, и что режим доступа к
нему 600:&prompt.root; mv grumble-new-srvtab srvtab
&prompt.root; chmod 600 srvtabПополнение базы данныхТеперь необходимо добавить в базу данных пользователей.
Во-первых, создадим запись для пользователя jane.
Используйте команду kdb_edit:&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:janeInstance:
<Not found>, Create [y] ?y
Principal: jane, Instance: , kdc_key_ver: 1
New Password: <---- enter a secure password here
Verifying password
New Password: <---- re-enter the password here
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- null entry here will cause an exitТестирование всей системыВо-первых, запустите даемоны Kerberos. При правильном
редактировании файла /etc/rc.conf они запустятся
автоматически при перезагрузке. Это необходимо только на сервере
Kerberos. Клиенты Kerberos получат все необходимые данные из
каталога /etc/kerberosIV.&prompt.root; kerberos &
Kerberos server starting
Sleep forever on error
Log file is /var/log/kerberos.log
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Current Kerberos master key version is 1
Local realm: EXAMPLE.COM
&prompt.root; kadmind -n &
KADM Server KADM0.0A initializing
Please do not use 'kill -9' to kill this job, use a
regular kill instead
Current Kerberos master key version is 1.
Master key entered. BEWARE!Теперь для получения доступа через созданного пользователя
jane используйте kinit:&prompt.user; kinit jane
MIT Project Athena (grunt.example.com)
Kerberos Initialization for "jane"
Password:Попробуйте просмотреть имеющиеся данные с помощью
klist:&prompt.user; klist
Ticket file: /tmp/tkt245
Principal: jane@EXAMPLE.COM
Issued Expires Principal
Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.EXAMPLE.COM@EXAMPLE.COMТеперь попробуйте изменить пароль с помощью &man.passwd.1;,
чтобы убедиться, что даемон kpasswd
может получить информацию из базы данных Kerberos:&prompt.user; passwd
realm EXAMPLE.COM
Old password for jane:New Password for jane:
Verifying password
New Password for jane:
Password changed.Включение suKerberos позволяет назначить каждому
пользователю, который нуждается в привилегиях
root, свой собственный
пароль &man.su.1;. Необходимо добавить учётную запись, которой
разрешено получать root доступ через &man.su.1;.
Это делается путем связывания учётной записи root
с пользовательской учётной записью. Создадим в базе данных Kerberos
запись jane.root с помощью
kdb_edit:&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:janeInstance:root
<Not found>, Create [y] ? y
Principal: jane, Instance: root, kdc_key_ver: 1
New Password: <---- enter a SECURE password here
Verifying password
New Password: <---- re-enter the password here
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?12 <--- Keep this short!
Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- null entry here will cause an exitТеперь проверим работоспособность этой записи:&prompt.root; kinit jane.root
MIT Project Athena (grunt.example.com)
Kerberos Initialization for "jane.root"
Password:Необходимо добавить пользователя к root
файлу .klogin:&prompt.root; cat /root/.klogin
jane.root@EXAMPLE.COMТеперь попробуйте выполнить &man.su.1;:&prompt.user; suPassword:и посмотрите на имеющиеся данные:&prompt.root; klist
Ticket file: /tmp/tkt_root_245
Principal: jane.root@EXAMPLE.COM
Issued Expires Principal
May 2 20:43:12 May 3 04:43:12 krbtgt.EXAMPLE.COM@EXAMPLE.COMИспользование других командВ примере выше мы создали запись (principal)
jane с доступом к root
(instance). Она основана на пользователе с таким же именем, как
и идентификатор, что принято Kerberos по умолчанию;
<principal>.<instance> в форме
<username>.root
позволяет использовать &man.su.1; для доступа к
root, если соответствующие записи находятся
в файле .klogin домашнего каталога
root:
&prompt.root; cat /root/.klogin
jane.root@EXAMPLE.COMПодобно этому, если в файле .klogin
из домашнего каталога пользователя есть строки в форме:&prompt.user; cat ~/.klogin
jane@EXAMPLE.COM
jack@EXAMPLE.COMэто позволит любому с идентификатором
EXAMPLE.COM, кто аутентифицировался как
jane или jack
(с помощью команды kinit, см. выше)
получить доступ к учётной записи пользователя jane
или файлам этой системы (grunt) через
&man.rlogin.1;, &man.rsh.1; или &man.rcp.1;.Например, jane может входить в другую систему
используя Kerberos:&prompt.user; kinit
MIT Project Athena (grunt.example.com)
Password:
&prompt.user; rlogin grunt
Last login: Mon May 1 21:14:47 from grumble
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995Или jack входит в учётную запись
jane's на этом же компьютере
(файл .kloginjane
настроен как показано выше, и в Kerberos настроена учётная
запись jack):&prompt.user; kinit
&prompt.user; rlogin grunt -l jane
MIT Project Athena (grunt.example.com)
Password:
Last login: Mon May 1 21:16:55 from grumble
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995TillmanHodgsonПредоставил MarkMurrayОригинальный материал предоставил Kerberos5Все релизы &os; после &os;-5.1 включают поддержку только
Kerberos5. Таким образом,
Kerberos5 это единственная включаемая в
поставку версия и его конфигурация похожа на
KerberosIV во многих аспектах. Эта
информация применима только к Kerberos5
из релизов после &os;-5.0. Пользователи, желающие использовать
пакет KerberosIV, могут установить его из
порта security/krb4.Kerberos это дополнительная сетевая
система/протокол, позволяющая пользователям авторизоваться через
защищенные сервисы на защищенном сервере. Такие сервисы как
удаленный вход, удаленное копирование, защищенное копирование файлов
между системами и другие задачи с высоким риском становятся
допустимо безопасными и более контролируемыми.Kerberos может быть описана как
прокси система идентификации-проверки. Она также может быть описана
как защищенная внешняя система аутентификации.
Kerberos предоставляет только одну функцию
— защищенную аутентификацию пользователей сети.
Он не предоставляет функций авторизации (что разрешено делать
пользователям) или функций аудита (какой пользователь что делает).
После того, как клиент и сервер использовали
Kerberos для идентификации, они могут
зашифровать все соединения для гарантирования собственной безопасности и
целостности данных.Следовательно крайне рекомендуется использовать
Kerberos с другими методами безопасности,
предоставляющими сервисы авторизации и аудита.Последующие инструкции могут использоваться в качестве руководства
по настройке Kerberos, поставляемого с &os;.
Тем не менее, вам потребуется обратиться к соответствующим страницам
справочника за полным описанием.В целях демонстрации установки Kerberos,
будут применены следующие обозначения:DNS домен (зона)
example.org.Уникальный идентификатор Kerberos
EXAMPLE.ORG.Используйте действующие имена доменов при настройке
Kerberos даже если вы будете использовать
его во внутренней сети. Это позволит избежать проблем с
DNS и гарантирует возможность связи с
Kerberos под другими
идентификаторами.ИсторияKerberos5историяKerberos был создан
MIT в качестве решения проблем с безопасностью
сети. Протокол Kerberos использует
стойкую криптографию, так что клиент может идентифицироваться на
сервере (и обратно) через незащищенное сетевое соединение.Kerberos это и имя сетевого протокола
аутентификации и общий термин для описания программ, где он
реализован (например, Kerberos telnet).
Текущая версия протокола 5 описана в
RFC 1510.Доступно несколько свободных реализаций этого протокола,
работающих на множестве операционных систем. Massachusetts
Institute of Technology (MIT), где
Kerberos был первоначально разработан,
продолжает разрабатывать собственный пакет
Kerberos. Он обычно использовался
в США как криптографический продукт,
и в этом качестве попадал под действие ограничений на экспорт.
MIT Kerberos
доступен в виде порта (security/krb5). Heimdal
Kerberos это другая реализация версии
5, которая разрабатывалась исключительно вне США
для обхода экспортных ограничений (и поэтому часто включалась в
некоммерческие реализации &unix;). Heimdal
Kerberos доступен в виде порта
(security/heimdal),
его минимальный комплект включен в базовую установку &os;.В целях получения наибольшей аудитории, в этих инструкциях
предполагается использование Heimdal включаемого в &os;.Настройка Heimdal KDCKerberos5центр распространения ключейЦентр распространения ключей (Key Distribution Center,
KDC) это централизованный сервис аутентификации,
предоставляемый Kerberos —
это компьютер, который предоставляет доступ через
Kerberos. KDC
считается доверяемым всеми другими компьютерами с определенным
идентификатором Kerberos и поэтому
к нему предъявляются высокие требования безопасности.Имейте ввиду, что хотя работа сервера
Kerberos требует очень немного
вычислительных ресурсов, из соображений безопасности для него
рекомендуется отдельный компьютер, работающий только в качестве
KDC.Перед началом настройки KDC, убедитесь что в
файле /etc/rc.conf содержатся правильные
настройки для работы в качестве KDC (вам может
потребоваться изменить пути в соответствии с собственной
системой):kerberos5_server_enable="YES"
kadmind5_server_enable="YES"
kerberos_stash="YES"Параметр существует только в
- &os; 4.X.
+ &os; 4.X.
Затем приступим к редактированию файла настройки
Kerberos,
/etc/krb5.conf:[libdefaults]
default_realm = EXAMPLE.ORG
[realms]
EXAMPLE.ORG = {
kdc = kerberos.example.org
admin_server = kerberos.example.org
}
[domain_realm]
.example.org = EXAMPLE.ORGОбратите внимание что в файле /etc/krb5.conf
подразумевается наличие у KDC полного имени
kerberos.example.org. Вам потребуется
добавить CNAME (синоним) к файлу зоны, если у
KDC другое имя.Для больших сетей с правильно настроенным сервером
BIND DNS пример выше
может быть урезан до:[libdefaults]
default_realm = EXAMPLE.ORGСо следующими строками, добавленными в файл зоны
example.org:_kerberos._udp IN SRV 01 00 88 kerberos.example.org.
_kerberos._tcp IN SRV 01 00 88 kerberos.example.org.
_kpasswd._udp IN SRV 01 00 464 kerberos.example.org.
_kerberos-adm._tcp IN SRV 01 00 749 kerberos.example.org.
-_kerberos IN TXT EXAMPLE.ORG.
+_kerberos IN TXT EXAMPLE.ORG
- Чтобы клиенты могли найти сервисы
- Kerberos,
- необходимо наличие или полностью
+ Чтобы клиенты могли найти сервисы
+ Kerberos,
+ необходимо наличие или полностью
настроенного /etc/krb5.conf или минимально
настроенного /etc/krb5.confи правильно настроенного DNS
сервера.Создадим теперь базу данных Kerberos.
Эта база данных содержит ключи всех основных хостов, зашифрованных
с помощью главного пароля. Вам не требуется помнить этот пароль,
он хранится в файле (/var/heimdal/m-key).
Для создания главного ключа запустите kstash
и введите пароль.Как только будет создан главный ключ, вы можете инициализировать
базу данных с помощью программы kadmin с ключом
-l (означающим local). Этот
ключ сообщает kadmin обращаться к файлам базы
данных непосредственно вместо использования сетевого сервиса
kadmind. Это помогает решить проблему
курицы и яйца, когда обращение идет к еще не созданной базе
данных. Как только вы увидите приглашение kadmin,
используйте команду init для создания базы
данных идентификаторов.Наконец, оставаясь в приглашении kadmin,
создайте первую запись с помощью команды add.
Оставьте неизменными параметры по умолчанию, вы всегда сможете
изменить их позже с помощью команды modify.
Обратите внимание, что вы всегда можете использовать команду
? для просмотра доступных параметров.Пример создания базы данных показан ниже:&prompt.root; kstash
Master key: xxxxxxxx
Verifying password - Master key: xxxxxxxx
&prompt.root; kadmin -l
kadmin> init EXAMPLE.ORG
Realm max ticket life [unlimited]:
kadmin> add tillman
Max ticket life [unlimited]:
Max renewable life [unlimited]:
Attributes []:
Password: xxxxxxxx
Verifying password - Password: xxxxxxxxТеперь пришло время запустить сервисы KDC.
Выполните команды /etc/rc.d/kerberos start и
/etc/rc.d/kadmind start для запуска сервисов.
Заметьте, что ни один из поддерживающих
- Kerberos
+ Kerberos
даемонов на этот момент запущен не будет, но у вас должна быть
возможность убедиться в том, что KDC функционирует
путем получения списка доступа для пользователя, которого вы только
что самостоятельно создали из командной строки самого
KDC:&prompt.user; k5init tillman
tillman@EXAMPLE.ORG's Password:
&prompt.user; k5list
Credentials cache: FILE:/tmp/krb5cc_500
- Principal: tillman@EXAMPLE.ORG
+ Principal: tillman@EXAMPLE.ORG
Issued Expires Principal
Aug 27 15:37:58 Aug 28 01:37:58 krbtgt/EXAMPLE.ORG@EXAMPLE.ORGСервер Kerberos с сервисами
HeimdalKerberos5включение сервисовДля начала нам потребуется копия файла настройки
Kerberos,
/etc/krb5.conf.
Просто скопируйте его с KDC на клиентский
компьютер безопасным способом (используя сетевые утилиты, такие
как &man.scp.1;, или физически, с помощью дискеты).Затем вам понадобится файл /etc/krb5.keytab.
Это основное различие между сервером, поддерживающим
Kerberos и рабочими станциями —
на сервере должен быть файл keytab.
В этом файле находится центральный ключ сервера, который позволяет
KDC проверять все другие идентификаторы. Он
должен быть помещен на сервер безопасным способом, поскольку
безопасность сервера может быть нарушена, если ключ станет
общедоступен. Это означает, что его передача через прозрачный
канал, такой как FTP — очень плохая
идея.Обычно перенос файла keytab на сервер
производится с помощью программы kadmin.
Это удобно, поскольку вам потребуется также создать запись хоста
(KDC часть krb5.keytab)
с помощью kadmin.Обратите внимание, что должны быть уже зарегистрированы в
системе и необходимо наличие прав на использование интерфейса
kadmin в файле kadmind.acl.
Обратитесь к разделу Remote administration в info
страницах Heimdal (info heimdal) за деталями по
составлению списка доступа. Если вы не хотите включать удаленный
доступ kadmin, можете просто подключиться к
KDC через защищенное соединение (локальную
консоль, &man.ssh.1; или Kerberos
&man.telnet.1;) и выполнять администрирование локально с помощью
kadmin -l.После добавления файла /etc/krb5.conf,
вы можете использовать kadmin с сервера
Kerberos. Команда
add --random-key позволит вам добавить запись
для сервера, а команда ext позволит перенести
эту запись в собственный keytab файл сервера. Например:&prompt.root; kadmin
kadmin> add --random-key host/myserver.example.org
Max ticket life [unlimited]:
Max renewable life [unlimited]:
Attributes []:
kadmin> ext host/myserver.example.org
kadmin> exitОбратите внимание, что команда ext
(сокращение от extract) сохраняет полученный ключ в
файле /etc/krb5.keytab по умолчанию.Если на KDC не запущен
kadmind (возможно по соображениям безопасности)
и вы не можете получить доступ к kadmin
удаленно, возможно добавление записи хоста
(host/myserver.EXAMPLE.ORG) непосредственно
на KDC с последующим извлечением ее во временный
файл (и перезаписью /etc/krb5.keytab на
KDC) примерно так:&prompt.root; kadmin
kadmin> ext --keytab=/tmp/example.keytab host/myserver.example.org
kadmin> exitЗатем вы можете скопировать keytab на сервер защищенным способом
(например, используя scp или дискету).
Убедитесь, что используемое имя keytab не совпадает с именем
по умолчанию во избежание перезаписывания keytab на
KDC.Теперь ваш сервер может связываться с KDC
(добавлен файл krb5.conf) и идентифицировать
себя (добавлен файл krb5.keytab). Теперь вы
готовы к включению некоторых сервисов
Kerberos. В этом примере мы включим
сервис telnet, поместив в
/etc/inetd.conf нижеприведенную строку и
перезапустив сервис &man.inetd.8; командой
/etc/rc.d/inetd restart:telnet stream tcp nowait root /usr/libexec/telnetd telnetd -a userОчень важно установить ключ -a (тип
аутентификации) в user. Обратитесь к странице справочника
&man.telnetd.8; за подробной информацией.Клиент Kerberos с HeimdalKerberos5настройка клиентовНастройка клиентского компьютера почти тривиально проста.
Как только настройка Kerberos закончена,
вам потребуется только файл настройки
Kerberos,
/etc/krb5.conf. Просто скопируйте его
безопасным способом на клиентский компьютер с
KDC.Протестируйте клиентский компьютер, попытавшись использовать
kinit, klist, и
kdestroy для получения, отображения и удаления
списка доступа. Соединитесь с Kerberos
севером используя клиент Kerberos, если
соединение не работает и получение доступа является проблемой,
это скорее всего проблема сервера, а не клиента или
KDC.При тестировании приложения вроде telnet,
попробуйте использовать программу перехвата пакетов (такую
как &man.tcpdump.1;), чтобы убедиться, что ваш пароль не передается
незашифрованным. Попробуйте использовать telnet
с параметром -x, чтобы зашифровать весь поток
данных (подобно ssh).Основные клиентские приложения
Kerberos (традиционно называющиеся
kinit, klist,
kdestroy, и
kpasswd) находятся в базовой установке &os;.
Обратите внимание, что в &os; версий до 5.0 они были переименованы
в k5init, k5list,
k5destroy, k5passwd, и
k5stash (хотя их обычно использовали лишь
однократно).Различные неосновные клиентские приложения
Kerberos также устанавливаются по
умолчанию. Здесь проявляется минимальность
базовой установки Heimdal: telnet это
единственное приложение, поддерживающее
Kerberos.Порт Heimdal добавляет некоторые отсутствующие клиентские
приложения: поддерживающие
Kerberos версии
ftp, rsh,
rcp, rlogin, и некоторые
другие реже используемые программы. Порт MIT
также содержит полный пакет клиентских приложений
Kerberos.Пользовательские файлы настройки: .k5login
и .k5users
- .k5login
-
+ .k5login
+
-
- .k5users
+
+ .k5usersУчётные записи пользователя в
Kerberos (например
tillman@EXAMPLE.ORG) обычно связаны с
локальными учётными записями (например с локальной учётной записью6
tillman). Клиентские приложения, такие как
telnet, обычно не требуют указания имени
пользователя или учётной записи.Тем не менее, время от времени вам может потребоваться дать
доступ к локальной учётной записи кому-то, у кого нет
соответствующей учётной записи Kerberos.
Например, пользователю tillman@EXAMPLE.ORG
может потребоваться доступ к локальной учётной записи
webdevelopers. Другим учётным записям
также может потребоваться доступ к этой локальной учётной
записи.Файлы .k5login и
.k5users, помещенные в домашний каталог
пользователя, могут быть использованы подобно действенной
комбинации .hosts и
.rhosts для решения этой проблемы.
Например, файл .k5login
со следующим содержанием:tillman@example.org
jdoe@example.orgпомещен в домашний каталог локального пользователя
webdevelopers, то обе упомянутые учётные
записи получат доступ к этой учётной записи без необходимости
наличия общего пароля.Рекомендуется прочитать страницу справочника по этим командам.
Обратите внимание, что страница справочника о
ksu содержит информацию по
.k5users.Подсказки, советы и решение проблем с
KerberosKerberos5решение проблемПри использовании портов как Heimdal так и
MIT Kerberos
убедитесь, что в PATH версии
Kerberos клиентов указаны перед
их версиями в базовой системе.Все ли компьютеры в пределах данного realm
синхронизированы по времени? Если нет, аутентификация может
завершиться неудачно. описывает
как синхронизировать часы с использованием
NTP.MIT и Heimdal успешно взаимодействуют.
За исключением kadmin, протокол для которого
не стандартизован.Если вы изменяете hostname, потребуется также изменить
учётную запись host/ и обновить keytab.
Это также необходимо для специальных записей в keytab, таких
как www/ запись модуля Apache
www/mod_auth_kerb.Все хосты под общим идентификатором должны разрешаться
DNS (прямое и обратное разрешение), или
как минимум через /etc/hosts. Записи
CNAME будут работать, но записи A и PTR должны быть корректны
и находиться на своем месте. Сообщение об ошибке не всегда
интуитивно понятно:
Kerberos5 refuses authentication because Read req
failed: Key table entry not found.Некоторые операционные системы, способные работать в качестве
клиентов KDC не устанавливают права
для ksu в setuid root.
Это означает, что ksu не работает, что хорошо
является хорошей идеей для безопасности, но неудобно. Это не
ошибка KDC.С MIT
Kerberos, если вы хотите продлить
действие доступа до значения большего, чем десять часов по
умолчанию, используйте команду
modify_principal в
kadmin для изменения maxlife доступа к самой
учётной записи и к учётной записи krbtgt.
Затем возможно использование kinit
с параметром -l для запроса доступа с большим
временем действия.Если вы запускаете перехватчик пакетов на
KDC для разрешения проблем, а затем
запускаете kinit с рабочей станции, то
увидите, что TGT посылается непосредственно
при запуске kinit — даже до того, как
вы введете пароль! Объяснение в том, что сервер
Kerberos свободно распространяет
TGT (Ticket Granting Ticket) на каждый
неавторизованный запрос; однако, каждый TGT
зашифрован ключом, полученным из пароля пользователя.
Следовательно, когда пользователь вводит свой пароль, он не
отправляется на KDC, а используется для
расшифровка TGT, который уже получен
kinit. Если в процессе расшифровки
получается правильный билет с правильным значением времени,
у пользователя есть действующее удостоверение.
Это удостоверение содержит ключ сессии для установления
безопасного соединения с сервером
Kerberos, как и действующий
TGT, зашифрованный ключом сервера
Kerberos. Второй уровень шифрования
недоступен пользователю, но позволяет серверу
Kerberos проверять правильность
каждого TGT.Если вы хотите установить большое время жизни доступа
(например, неделю), и используете
OpenSSH для соединения с компьютером,
где хранится билет, убедитесь, что параметр
Kerberos
установлен в
no в файле sshd_config,
или билеты будут уничтожены при выходе из сеанса.Запомните, что время жизни билетов хостов больше.
Если время жизни билета для учётной записи пользователя
составляет неделю, а время жизни учётной записи хоста, к
которому вы подсоединяетесь девять часов, учётная запись хоста
в кэше устареет и кэш билетов будет работать не так, как
ожидается.При настройке файла krb5.dict на
предотвращение использования определенных плохих паролей
(страница справочника для kadmind кратко
рассказывает об этом), запомните, что это применимо только
к учётным записям, для которых действует политика паролей.
Формат файла krb5.dict прост: одно слово
на строку. Может помочь создание символической ссылки на
/usr/share/dict/words.Отличия от порта MITОсновное различие между установками MIT и
Heimdal относится к программе kadmin,
которая имеет другой (но эквивалентный) набор команд и
использует другой протокол. Если ваш KDC
работает на MIT, вы не сможете использовать
kadmin для удаленного администрирования
KDC (и наоборот, по этой же причине).Опции командной строки клиентов также могут немного отличаться
для одинаковых задач. Рекомендуется следование инструкциям
на MIT Kerberos
Web-сайте ().
Будьте внимательны при определении PATH:
порт MIT устанавливается по умолчанию в
/usr/local/, и если в PATH
вначале указаны системные каталоги, вместо приложений
MIT могут быть запущены системные
приложения.С портом MIT
security/krb5, предоставляемым
&os;, убедитесь что файл
/usr/local/share/doc/krb5/README.FreeBSD
установлен портом, если вы хотите понять почему вход через
telnetd и klogind
иногда происходит так странно. Наиболее важно, исправление
incorrect permissions on cache file требует
использования бинарного файла login.krb5
для аутентификации, чтобы права на переданное удостоверение
передавались правильно.Преодоление ограничений, обнаруженных в
KerberosKerberos5ограничения и недостаткиKerberos это все или ничегоКаждый сервис, работающий в сети, должен быть модифицирован
для работы с Kerberos (или другим
способом защищен от атак по сети) или удостоверения пользователей
могут быть украдены или использованы повторно. В качестве примера
может быть приведено использование
Kerberos версий
оболочек для удаленной работы (например через
rsh и telnet), при
наличии POP3 сервера, получающего пароли в
незашифрованном виде.Kerberos предназначен для
однопользовательских рабочих станцийВ многопользовательской среде
Kerberos менее безопасен.
Это потому, что он хранит билеты в каталоге
/tmp, которая доступна для чтения всем.
Если пользователь работает с несколькими другими пользователями
одновременно на одном компьютере (т.е. в многопользовательской
среде), возможна кража (копирование) билета другим
пользователем.Решить проблему можно с помощью параметра командной
строки -c или (предпочтительно) с помощью
переменной окружения KRB5CCNAME, но это делается
редко. Для преодоления ограничения достаточно сохранять билет
в домашнем каталоге пользователя и использовать простые
ограничения на доступ к файлам.От KDC зависит вся системаАрхитектура системы такова, что KDC должен
быть максимально защищен, поскольку главный пароль базы данных
содержится в нем. На KDC не должно быть
запущено никаких других сервисов и он должен быть защищен
физически. Опасность велика, поскольку
Kerberos хранит все пароли
зашифрованными одним ключом (главным ключом),
который хранится в файле на KDC.Хорошей новостью является то, что кража главного ключа
не станет такой проблемой, как может показаться. Главный ключ
используется только для шифрования базы данных
Kerberos и в качестве seed для
генератора случайных чисел. Поскольку доступ к
KDC защищен, атакующий мало что сможет сделать
с главным ключом.Кроме того, если KDC станет недоступен
(возможно по причине атак DoS или проблем в сети) сетевые сервисы
будет невозможно использовать, поскольку аутентификация не
может быть выполнена.
Уменьшить последствия можно при наличии нескольких
KDC (один главный и один или несколько
резервных) и с аккуратно реализованной резервной аутентификацией
(отлично подойдет PAM).Недостатки KerberosKerberos позволяет пользователям,
хостам и сервисам производить аутентификацию друг друга.
В нем нет механизма аутентификации KDC
для пользователей, хостов или сервисов. Это означает, что
поддельный kinit (например) может записывать
все имена пользователей и паролей. Помочь решить проблему может
security/tripwire или
другой инструмент проверки целостности файловой системы.Ресурсы и информация для дальнейшего изученияKerberos5внешние ресурсыKerberos FAQРазработка
системы аутентификации: диалог в четырех сценахRFC 1510,
Kerberos Network Authentication Service
(V5)Домашняя страница
MIT
KerberosДомашняя страница
Heimdal KerberosTomRhodesНаписал: OpenSSLбезопасностьOpenSSLОдной из программ, требующих особого внимания пользователей,
является набор программ OpenSSL,
включенный в &os;. OpenSSL предоставляет
уровень шифрования поверх обычных уровней соединения; следовательно,
он может быть использован многими сетевыми приложениями и
сервисами.OpenSSL может использоваться для
шифрования соединений почтовых клиентов, транзакций через интернет,
например для кредитных карт, и многого другого. Многие порты,
такие как www/apache13-ssl и
mail/sylpheed-claws собираются
с OpenSSL.В большинстве случаев в Коллекции Портов будет сделана попытка
- построения порта security/openssl,
+ построения порта security/openssl,
если только переменная WITH_OPENSSL_BASE
не установлена явно в yes.Версия OpenSSL, включаемая
в &os;, поддерживает сетевые протоколы безопасности
Secure Sockets Layer v2/v3 (SSLv2/SSLv3),
Transport Layer Security v1 (TLSv1) и может быть использована
в качестве основной криптографической библиотеки.Хотя OpenSSL поддерживает алгоритм
IDEA, по умолчанию он отключен из-за патентных
ограничений Соединенных Штатов. Для его использования необходимо
ознакомиться с лицензией, и, если ограничения приемлемы,
установить в make.conf переменную
MAKE_IDEA.Наиболее часто OpenSSL
используется для создания сертификатов, используемых программными
пакетами. Эти сертификаты подтверждают, что данные компании
или частного лица верны и не подделаны. Если рассматриваемый
сертификат не был проверен одним из нескольких сертификационных центров
(Certificate Authorities - CA), обычно
выводится предупреждение. Центр сертификации представляет собой
компанию, такую, как
VeriSign, которая подписывает сертификаты для подтверждения
данных частных лиц или компаний. Эта процедура не бесплатна
и не является абсолютно необходимой для использования сертификатов;
однако может успокоить некоторых особо осторожных
пользователей.Генерирование сертификатовOpenSSLгенерирование сертификатовДля генерирования сертификатов доступна следующая
команда:&prompt.root; openssl req -new -nodes -out req.pem -keyout cert.pem
Generating a 1024 bit RSA private key
................++++++
.......................................++++++
writing new private key to 'cert.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:PA
Locality Name (eg, city) []:Pittsburgh
Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Company
Organizational Unit Name (eg, section) []:Systems Administrator
Common Name (eg, YOUR name) []:localhost.example.org
Email Address []:trhodes@FreeBSD.org
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:SOME PASSWORD
An optional company name []:Another NameВвод после приглашения Common Name
содержит имя домена. Здесь вводится имя сервера для
верификации; помещение в это поле чего-либо кроме
этого имени приведет к созданию бесполезного сертификата.
Доступны и другие параметры, например срок действия,
альтернативные алгоритмы шифрования и т.д. Полный список
находится на странице справочного руководства
&man.openssl.1;.В текущем каталоге, из которого была вызвана вышеуказанная
- команда, должны появиться два файла. Файл
- req.pem с запросом на сертификацию может быть
- послан в центр выдачи сертификатов, который проверит введённые вами
- подтверждающие данные, подпишет запрос и возвратит сертификат вам.
- Второй созданный файл будет иметь название
- cert.pem и содержать приватный сертификационный
- ключ, который необходимо тщательно защищать; если он попадёт в руки
- посторонних лиц, то может быть использован для имитации лично вас (или
- вашего сервера).
+ команда, должны появиться два файла. Файл
+ req.pem с запросом на сертификацию может быть
+ послан в центр выдачи сертификатов, который проверит введённые вами
+ подтверждающие данные, подпишет запрос и возвратит сертификат вам.
+ Второй созданный файл будет иметь название
+ cert.pem и содержать приватный сертификационный
+ ключ, который необходимо тщательно защищать; если он попадёт в руки
+ посторонних лиц, то может быть использован для имитации лично вас (или
+ вашего сервера).
Когда подпись CA не требуется, может
быть создан самоподписанный сертификат. Сначала создайте ключ
RSA:&prompt.root; openssl dsaparam -rand -genkey -out myRSA.key 1024Теперь создайте ключ CA:&prompt.root; openssl gendsa -des3 -out myca.keymyRSA.keyИспользуйте этот ключ при создании сертификата:&prompt.root; openssl req -new -x509 -days 365 -key myca.key -out new.crtВ каталоге должно появиться два новых файла: подпись сертификата,
myca.key и сам сертификат,
new.crt. Они должны быть помещены в каталог,
доступный для чтения только root,
желательно внутри /etc.
Права на каталог можно изменить chmod с параметрами
0700.Использование сертификатов, примерИтак, что могут сделать эти файлы? Хорошим применением
может стать шифрование соединений для
Sendmail MTA.
Это сделает ненужным использование простой текстовой
аутентификации для тех, кто отправляет почту через
локальный MTA.Это не лучшее из возможных использований, поскольку
некоторые MUA выдадут ошибку, если
сертификат не установлен локально. Обратитесь к
поставляемой с программой документации за информацией по
установке сертификата.Следующие строки должны быть помещены в локальный файл
.mc:dnl SSL Options
define(`confCACERT_PATH',`/etc/certs')dnl
define(`confCACERT',`/etc/certs/new.crt')dnl
define(`confSERVER_CERT',`/etc/certs/new.crt')dnl
define(`confSERVER_KEY',`/etc/certs/myca.key')dnl
define(`confTLS_SRV_OPTIONS', `V')dnlГде /etc/certs/
это каталог для локального хранения сертификата и
ключей. После настройки необходимо собрать локальный
файл .cf. Это легко сделать,
набрав makeinstall
в каталоге /etc/mail.
Затем выполните команду makerestart, которая должна запустить
даемон Sendmail.Если все пройдет нормально, в файле
/var/log/maillog не появятся сообщения
об ошибках и запустится процесс
Sendmail.Для проведения простого теста подключитесь к почтовому серверу
программой &man.telnet.1;:&prompt.root; telnet example.com 25
Trying 192.0.34.166...
Connected to example.com.
Escape character is '^]'.
220 example.com ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT)
ehlo example.com
250-example.com Hello example.com [192.0.34.166], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH LOGIN PLAIN
250-STARTTLS
250-DELIVERBY
250 HELP
quit
221 2.0.0 example.com closing connection
Connection closed by foreign host.Если в выводе появилась строка STARTTLS,
все работает правильно.NikClaytonnik@FreeBSD.orgНаписал IPsecVPN через IPsecСоздание VPN между двумя сетями, соединенными через интернет,
с использованием шлюзов FreeBSD.Hiten M.Pandyahmp@FreeBSD.orgНаписал Принципы работы IPsecЭтот раздел послужит вам руководством по настройке IPsec и его
использованию в среде FreeBSD и µsoft.windows;
2000/XP, соединяемых безопасным способом.
Для настройки IPsec необходимо ознакомиться с процессом
сборки ядра ().IPsec это протокол, расположенный поверх
слоя Internet Protocol (IP). Он позволяет двум или более хостам
связываться защищенным способом (отсюда и название протокола).
Сетевой стек FreeBSD IPsec основан на
реализации KAME,
поддерживающей оба семейства протоколов, IPv4 и IPv6.FreeBSD 5.X содержит аппаратно
поддерживаемый стек IPsec, известный как Fast
IPsec, заимствованный из OpenBSD. Для оптимизации
производительности IPsec он задействует криптографическое
оборудование (когда оно доступно) через подсистему &man.crypto.4;.
Это новая подсистема и она не поддерживает всех возможностей,
доступных в KAME версии IPsec. Для включения IPsec с аппаратной
поддержкой необходимо добавить в файл настройки ядра следующий
параметр:
-
- параметры ядра
+
+ параметры ядра
- FAST_IPSEC
-
+ FAST_IPSEC
+
- options FAST_IPSEC # new IPsec (cannot define w/ IPSEC)
+ options FAST_IPSEC # new IPsec (cannot define w/ IPSEC)Обратите внимание, что на данный момент невозможно
использовать подсистему Fast IPsec вместе
с KAME реализацией IPsec. Обратитесь к странице справочника
&man.fast.ipsec.4; за дальнейшей информацией.
- IPsec
+ IPsec
- ESP
+ ESP
- IPsec
+ IPsec
- AH
+ AH
- IPsec состоит из двух субпротоколов:
+ IPsec состоит из двух подпротоколов:Encapsulated Security Payload
(ESP), защищающей данные IP пакета от вмешательства
третьей стороны путем шифрования содержимого с помощью
симметричных криптографических алгоритмов (таких как
Blowfish,3DES).Authentication Header (AH),
защищающий заголовок IP пакета от вмешательства третьей стороны
и подделки путем вычисления криптографической контрольной суммы
и хеширования полей заголовка IP пакета защищенной функцией
хеширования. К пакету добавляется дополнительный заголовок
с хэшем, позволяющий аутентификацию информации пакета.ESP и AH могут быть
использованы вместе или по отдельности, в зависимости от
обстоятельств.
- VPN
+ VPN
- виртуальная частная сеть
+ виртуальная частная сеть
- VPN
+ VPNIPsec может быть использован или для непосредственного шифрования
трафика между двумя хостами (транспортный
режим); или для построения виртуальных
туннелей между двумя подсетями, которые могут быть
использованы для защиты соединений между двумя корпоративными
сетями (туннельный режим). Последний обычно
называют виртуальной частной сетью
(Virtual Private Network, VPN). За детальной информацией о
подсистеме IPsec в FreeBSD обратитесь к странице справочника
&man.ipsec.4;.Для включения поддержки IPsec в ядре, добавьте следующие
параметры к файлу настройки ядра:
- параметры ядра
+ параметры ядра
- IPSEC
+ IPSEC
- параметры ядра
+ параметры ядра
- IPSEC_ESP
+ IPSEC_ESPoptions IPSEC #IP security
options IPSEC_ESP #IP security (crypto; define w/ IPSEC)
- параметры ядра
+ параметры ядра
- IPSEC_DEBUG
+ IPSEC_DEBUGЕсли желательна поддержка отладки IPsec, должна быть также
добавлена следующая строка:
options IPSEC_DEBUG #debug for IP security
ПроблемаНе существует стандарта VPN. Они могут быть реализованы
множеством различных технологий, каждая из которых имеет свои
сильные и слабые стороны. Этот раздел представляет
сценарий и стратегию реализации VPN для этого сценария.Сценарий: Две сети, подключенных к интернет, работающие как
одна
- VPN
+ VPN
- создание
+ созданиеИсходные условия таковы:Существует как минимум две сетиВнутри обеих сетей используется IPОбе сети соединены через интернет через шлюз,
работающий на FreeBSD.У шлюза каждой из сетей есть как минимум один публичный
IP адрес.Внутренние IP адреса двух сетей могут быть публичными или
приватными, не имеет значения. На шлюзе может работать
NAT, если это необходимо.Внутренние IP адреса двух сетей не должны
пересекаться. Хотя вероятно теоретически возможно
использование комбинации VPN технологии и NAT для настройки
такой конфигурации, эта конфигурация будет кошмарна.Если две сети, которые вы пытаетесь соединить, используют один
и тот же диапазон приватных адресов (например, обе используют
192.168.1.x), номера в одной из
сетей необходимо изменить.Топология сети может выглядеть примерно так:Сеть #1 [ Внутренние хосты ] Приватная сеть, 192.168.1.2-254
- [ Win9x/NT/2K ]
- [ UNIX ]
- |
- |
- .---[fxp1]---. Приватный IP, 192.168.1.1
- | FreeBSD |
- `---[fxp0]---' Публичный IP, A.B.C.D
- |
- |
- -=-=- Интернет -=-=-
- |
- |
- .---[fxp0]---. Публичный IP, W.X.Y.Z
- | FreeBSD |
- `---[fxp1]---' Приватный IP, 192.168.2.1
- |
- |
+ [ Win9x/NT/2K ]
+ [ UNIX ]
+ |
+ |
+ .---[fxp1]---. Приватный IP, 192.168.1.1
+ | FreeBSD |
+ `---[fxp0]---' Публичный IP, A.B.C.D
+ |
+ |
+ -=-=- Интернет -=-=-
+ |
+ |
+ .---[fxp0]---. Публичный IP, W.X.Y.Z
+ | FreeBSD |
+ `---[fxp1]---' Приватный IP, 192.168.2.1
+ |
+ |
Сеть #2 [ Внутренние хосты ]
- [ Win9x/NT/2K ] Приватная сеть, 192.168.2.2-254
- [ UNIX ]
+ [ Win9x/NT/2K ] Приватная сеть, 192.168.2.2-254
+ [ UNIX ]
Заметьте, что здесь присутствуют два публичных IP-адреса. В
- дальнейшем для их обозначения
+ дальнейшем для их обозначения
будут использоваться буквы. Если вы увидите эти буквы, замените
их на свои публичные IP адреса. Также обратите внимание, что
у обеих шлюзов внутренний адрес заканчивается на .1 и диапазоны
приватных адресов двух сетей различны (192.168.1.x и 192.168.2.x соответственно). Все компьютеры
локальных сетей настроены на использование в качестве шлюза по
умолчанию компьютера с адресом, оканчивающимся на
.1.С сетевой точки зрения замысел в том, чтобы каждая сеть
видела компьютеры из другой сети так, как если бы они были
непосредственно подключены к тому же самому маршрутизатору —
хотя и немного медленному маршрутизатору, иногда теряющему
пакеты.Это означает, что (например) компьютер 192.168.1.20 может запуститьping 192.168.2.34и это будет прозрачно работать. Компьютеры с &windows;
должны видеть компьютеры в другой сети, просматривать сетевые
ресурсы, и так далее, точно так же, как и для компьютеров в
локальной сети.И все это безопасным способом. Это означает, что трафик
между сетями зашифрован.Создание VPN между этими двумя сетями это многошаговый
процесс. Этапы создания VPN таковы:Создание виртуального сетевого подключения
между двумя сетями через интернет. Тестирование подключения с
помощью таких инструментов как &man.ping.8;, чтобы убедиться, что
оно работает.Применение политики безопасности чтобы убедиться, что трафик
между двумя сетями прозрачно шифруется и расшифровывается если
необходимо. Тестирование с помощью таких инструментов как
&man.tcpdump.1;, чтобы убедиться, что трафик шифруется.Настройка дополнительных программ на шлюзах &os;,
чтобы компьютеры &windows; из одной сети видели компьютеры
в другой через VPN.Шаг 1: Создание и тестирование виртуального
сетевого подключенияПредположим, что вы работаете на шлюзе сети #1 (с публичным
адресом A.B.C.D, приватным
адресом 192.168.1.1) и запускаете
ping 192.168.2.1, т.е. на приватный адрес
машины с IP адресом W.X.Y.Z.
Что должно произойти, чтобы это сработало?Шлюз должен знать, как достичь 192.168.2.1. Другими словами, у него
должен быть маршрут к 192.168.2.1.Приватные IP адреса, такие как диапазон 192.168.x не адресуются в
интернет. Каждый пакет, отправляемый на
192.168.2.1 должен быть
завернут в другой пакет. Исходным адресом пакета
должен быть A.B.C.D,
а адресом назначения W.X.Y.Z.
Этот процесс называется
инкапсуляцией.Как только этот пакет достигнет W.X.Y.Z, необходимо будет
- разинкапсулировать его и доставить к декапсулировать его и доставить к 192.168.2.1.Как вы можете увидеть, это требует туннеля
между двумя сетями. Два конца туннеля
это IP адреса A.B.C.D и
W.X.Y.Z. Туннель используется для
передачи трафика с приватными IP адресами через интернет.В FreeBSD этот туннель создается с помощью устройства generic
interface, или gif. Как вы можете
догадаться, интерфейс gif на каждом хосте
должен быть настроен с четырьмя IP адресами; два для публичных
IP адресов и два для приватных IP адресов.В ядро обеих компьютеров FreeBSD должна быть встроена
поддержка устройства gif. Вы можете сделать это, добавив
строку:
- pseudo-device gif
+ device gifк файлу настройки ядра на обеих компьютерах, с последующей
компиляцией, установкой и перезагрузкой.Настройка туннеля это двухшаговый процесс. Во-первых,
необходимо задать сведения о внешнем (или публичном) IP адресе
с помощью &man.gifconfig.8;. Затем о приватном IP адресе
с помощью &man.ifconfig.8;.В &os; 5.X функциональность, предоставляемая утилитой
&man.gifconfig.8;, была внесена в &man.ifconfig.8;.На шлюзе сети #1 для настройки туннеля вам потребуется запустить
следующие две команды.gifconfig gif0 A.B.C.D W.X.Y.Z
ifconfig gif0 inet 192.168.1.1 192.168.2.1 netmask 0xffffffff
На другом шлюзе подобные команды, но с IP адресами в обратном
порядке.gifconfig gif0 W.X.Y.Z A.B.C.D
ifconfig gif0 inet 192.168.2.1 192.168.1.1 netmask 0xffffffff
Затем вы можете запустить:gifconfig gif0для просмотра настройки. Например, на шлюзе сети #1
вы увидите:&prompt.root; gifconfig gif0
gif0: flags=8011<UP,POINTTOPOINT,MULTICAST> mtu 1280
inet 192.168.1.1 --> 192.168.2.1 netmask 0xffffffff
physical address inet A.B.C.D --> W.X.Y.Z
Как вы можете видеть, был создан туннель между физическими
адресами A.B.C.D и
W.X.Y.Z, для туннелирования разрешен
трафик между 192.168.1.1 и 192.168.2.1.Это также добавляет запись к таблице маршрутизации на обеих
машинах, вы можете проверить запись командой netstat
-rn. Вот вывод этой команды на шлюзе сети #1.&prompt.root; netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
...
192.168.2.1 192.168.1.1 UH 0 0 gif0
...
Как показывает значение поля Flags, это маршрут
к хосту, что означает, что каждый шлюз знает, как достичь другого
шлюза, но не знает как достичь остальной части соответствующей сети.
Эта проблема будет быстро решена.Вероятно, на обеих машинах запущен брандмауэр. VPN
должен обходить его. Вы можете разрешить весь трафик между
двумя сетями, или включить правила, защищающие каждый конец
соединения от другого.Это сильно упрощает тестирование настройки брандмауэра,
если вы разрешаете весь трафик через VPN. Вы всегда можете
Вы всегда можете усилить защиту позже. Если вы используете
на шлюзах &man.ipfw.8;, команда вроде этойipfw add 1 allow ip from any to any via gif0разрешит весь трафик между двумя концами VPN без влияния на
другие правила брандмауэра. Очевидно, вам потребуется
запустить эту команду на обеих шлюзах.Этого достаточно для включения ping с одного шлюза на другой.
На 192.168.1.1, вы сможете
запуститьping 192.168.2.1и получить ответ, и аналогично на другом шлюзе.Однако, машины в другой сети пока недоступны. Это из-за
маршрутизации — хотя шлюзы знают, как связаться друг с
другом, они не знают, как связаться с сетью за другим шлюзом.Для решения этой проблемы вы должны добавить статический маршрут
на каждом шлюзе. Команда на первом шлюзе будет выглядеть так:route add 192.168.2.0 192.168.2.1 netmask 0xffffff00
Она говорит Для достижения хостов в сети
192.168.2.0, отправляйте пакеты
хосту 192.168.2.1. Вам
потребуется запустить похожую команду на другом шлюзе, но с
адресами 192.168.1.x.IP трафик с хостов в одной сети теперь может достичь хосты в
другой сети.Теперь создано две трети VPN между двумя сетями, поскольку
это виртуальная (virtual)сеть (network).
Она еще не приватная (private). Вы можете протестировать ее
с помощью &man.ping.8; и &man.tcpdump.1;. Войдите на шлюз и
запуститеtcpdump dst host 192.168.2.1В другой сессии на этом же хосте запуститеping 192.168.2.1Вы увидите примерно такие строки:
16:10:24.018080 192.168.1.1 > 192.168.2.1: icmp: echo request
16:10:24.018109 192.168.1.1 > 192.168.2.1: icmp: echo reply
16:10:25.018814 192.168.1.1 > 192.168.2.1: icmp: echo request
16:10:25.018847 192.168.1.1 > 192.168.2.1: icmp: echo reply
16:10:26.028896 192.168.1.1 > 192.168.2.1: icmp: echo request
16:10:26.029112 192.168.1.1 > 192.168.2.1: icmp: echo reply
Как вы видите, ICMP сообщения пересылаются вперед и назад
незашифрованными. Если вы использовали с &man.tcpdump.1; параметр
для получения большего объема данных пакета,
то увидите больше информации.Конечно же это неприемлемо. В следующем разделе мы обсудим
защиту соединения между двумя сетями, так что весь трафик будет
автоматически шифроваться.Резюме:
- Настройте оба ядра с pseudo-device
- gif.
+ Настройте оба ядра с device gif.Отредактируйте /etc/rc.conf на шлюзе
#1 и добавьте следующие строки (подставляя IP адреса где
необходимо).gifconfig_gif0="A.B.C.D W.X.Y.Z"
ifconfig_gif0="inet 192.168.1.1 192.168.2.1 netmask 0xffffffff"
static_routes="vpn"
route_vpn="192.168.2.0 192.168.2.1 netmask 0xffffff00"
Отредактируйте скрипт брандмауэра
(/etc/rc.firewall, или подобный) на обеих
хостах и добавьтеipfw add 1 allow ip from any to any via gif0Выполните соответствующие изменения в
/etc/rc.conf на шлюзе #2,
меняя порядок IP адресов.Шаг 2: Защита соединенияДля защиты соединения мы будем использовать IPsec. IPsec
предоставляет хостам механизм определения ключа для шифрования
и для последующего использования этого ключа для шифрования
данных между двумя хостами.Здесь будут рассмотрены два аспекта настройки.У хостов должен быть способ согласования используемого
алгоритма шифрования. Как только хосты договорятся об этом,
можно говорить об установленном между ними
безопасном соединении.Должен быть механизм определения, какой трафик необходимо
шифровать. Конечно, вам не требуется шифровать весь исходящий
трафик — достаточно шифровать только трафик, идущий
через VPN. Правила, определяющие то, какой трафик необходимо
шифровать, называются политикой безопасности.Безопасное соединение и политика безопасности поддерживаются
ядром, и могут быть изменены программами пользователя. Однако
перед тем, как вы сможете сделать это, необходимо настроить
поддержку протоколов IPsec и Encapsulated Security Payload (ESP) в
ядре. Это делается добавлением в настройку ядра параметров:
- параметры ядра
+ параметры ядра
- IPSEC
+ IPSECoptions IPSEC
options IPSEC_ESPс последующим перекомпилированием, переустановкой и
перезагрузкой. Как и прежде вам потребуется сделать это с ядрами на
обеих шлюзах.
- IKE
+ IKEПри настройке параметров безопасности (security associations)
у вас есть два варианта. Вы можете настроить их вручную для обеих
хостов, задав алгоритм шифрования, ключи для шифрования и так далее,
или использовать даемоны, реализующие Internet Key Exchange protocol
(IKE), который сделает это за вас.Рекомендуется последнее. Помимо прочего, этот способ более
прост.
- IPsec
+ IPsec
- политики безопасности
+ политики безопасности
- setkey
+ setkeyРедактирование и отображение политики безопасности выполняется
с помощью &man.setkey.8;. По аналогии, setkey
используется для настройки таблиц политики безопасности ядра так же,
как &man.route.8; используется для настройки таблиц маршрутизации
ядра. setkey также может отображать текущие
параметры безопасности, и продолжая аналогию дальше, это
соответствует netstat -r.Существует множество даемонов для управления параметрами
безопасности в FreeBSD. Здесь будет описано использование одного из
- них, racoon — он доступен в виде порта security/racoon в Коллекции
- Портов &os;.
+ них, racoon — он доступен в составе порта security/ipsec-tools в Коллекции
+ Портов &os;.
- racoon
+ racoon
- racoon должен работать на обеих шлюзах. На каждом из хостов
+ Даемон racoon
+ должен работать на обеих шлюзах. На каждом из хостов
он настраивается с IP адресом другого конца VPN, и секретным
ключом (по вашему выбору, должен быть одним и тем же на обеих
шлюзах).Эти два даемона подключаются друг к другу, подтверждают, что они
именно те, за кого себя выдают (используя секретный ключ, заданный
вами). Затем даемоны генерируют новый секретный ключ и используют
его для шифрования трафика через VPN. Они периодически изменяют
этот ключ, так что даже если атакующий сломает один из ключей
(что теоретически почти невозможно) это не даст ему слишком много
— он сломал ключ, который два даемона уже сменили на
другой.
- Настройки racoon сохраняются в
+ Настройки racoon сохраняются в файле
${PREFIX}/etc/racoon. Этот файл не требует
слишком больших изменений. Другим компонентом настройки
racoon, который потребуется изменить, является предварительный
ключ.В настройке по умолчанию racoon ищет его в файле
${PREFIX}/etc/racoon/psk.txt. Необходимо
отметить, что предварительный ключ не
используется для шифрования трафика через VPN соединение
это просто маркер, позволяющий управляющим ключами даемонам
доверять друг другу.psk.txt содержит строку для каждого
удаленного сервера, с которым происходит соединение. В этом примере
два сервера, каждый файл psk.txt будет
содержать одну строку (каждый конец VPN общается только с другим
концом.На шлюзе #1 эта строка будет выглядеть примерно так:W.X.Y.Z secretТо есть публичный IP-адрес противоположной
стороны, пробел и текстовая строка c секретной фразой. Конечно, вам
не стоит использовать в качестве ключевой фразы слово
- secret -- здесь применяются обычные правила
- выбора паролей.
+ secret -- здесь применяются обычные правила
+ выбора паролей.На шлюзе #2 строка будет выглядеть примерно так:A.B.C.D secretТо есть публичный IP адрес удаленной стороны и та же
секретная фраза. Перед запуском racoon режим доступа к файлу
psk.txt должен быть установлен в
0600 (т.е. запись и чтение только для
root).
- Вы должны запустить racoon на обеих шлюзах. Вам также
+ Вы должны запустить racoon на обоих шлюзах. Вам также
потребуется добавить правила для включения IKE трафика,
передающегося по UDP через порт ISAKMP (Internet Security Association
Key Management Protocol). Опять же, они должны быть
расположены насколько возможно ближе к началу набора правил.ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp
ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp
Как только racoon будет запущен, вы можете попробовать
выполнить ping с одного шлюза на другой. Соединение все еще не
зашифровано, но racoon установит параметры безопасности между
двумя хостами — это может занять время и вы можете заметить
небольшую задержку перед началом ответа команды ping.Как только параметры безопасности установлены, вы можете
просмотреть их используя &man.setkey.8;. Запуститеsetkey -Dна любом из хостов для просмотра информации о параметрах
безопасности.Это одна сторона проблемы. Другая сторона это настройка
политики безопасности.Для создания разумной политики безопасности давайте вспомним,
что уже было настроено. Это рассмотрение относится к обеим
концам соединения.Каждый отправляемый IP пакет имеет заголовок, содержащий информацию
о пакете. Заголовок включает IP адреса источника и назначения.
Как мы уже знаем, приватные IP адреса, такие как 192.168.x.y, не могут появиться в
интернет. Они должны быть сначала включены внутрь другого
пакета. В этом пакете приватные IP адреса источника и назначения
заменяются публичными IP адресами.То есть исходящий пакет, который выглядит примерно так:
.----------------------------.
| Src: 192.168.1.1 |
| Dst: 192.168.2.1 |
| <другие данные заголовка> |
+----------------------------+
| <данные пакета> |
`----------------------------'будет инкапсулирован в другой пакет, выглядящий примерно
так:
.--------------------------------.
| Src: A.B.C.D |
| Dst: W.X.Y.Z |
| <другие данные заголовка> |
+--------------------------------+
| .----------------------------. |
| | Src: 192.168.1.1 | |
| | Dst: 192.168.2.1 | |
| | <другие данные заголовка> | |
| +----------------------------+ |
| | <данные пакета> | |
| `----------------------------' |
`--------------------------------'Этой инкапсуляцией занимается устройство
gif. Как вы можете видеть, теперь
у пакета есть реальный IP адрес, исходный пакет был включен
в этот пакет в виде данных, которые передаются через
интернет.Конечно, мы хотим зашифровать весь трафик между VPN.
Вы можете сформулировать это на словах так:Если пакет отправляется с A.B.C.D, и предназначен для W.X.Y.Z, расшифровать его, используя
необходимые параметры безопасности.Если пакет отправляется с W.X.Y.Z, и предназначен для A.B.C.D, расшифровать его, используя
необходимые параметры безопасности.Это похоже на желаемое, но не совсем то. Если вы сделаете
это, весь трафик от и к W.X.Y.Z,
даже если он не является частью VPN, будет зашифрован. Правильная
политика такова:Если пакет отправляется с A.B.C.D, в нем инкапсулирован другой пакет
и адрес назначения W.X.Y.Z,
зашифровать его, используя необходимые параметры
безопасности.Если пакет отправляется с W.X.Y.Z, в нем инкапсулирован другой пакет
и адрес назначения A.B.C.D,
зашифровать его, используя необходимые параметры
безопасности.Тонкое, но необходимое различие.Политика безопасности также устанавливается с использованием
&man.setkey.8;. В &man.setkey.8; предусмотрен язык определения
политики &man.setkey.8;. Вы можете или ввести инструкции
по настройке со стандартного ввода, или использовать параметр
для задания файла, содержащего эти
инструкции.Настройка на шлюзе #1 (где есть публичный IP адрес
A.B.C.D) для включения шифрования
всего предназначенного W.X.Y.Z
трафика:
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;
Поместите эти команды в файл (например,
/etc/ipsec.conf) и запустите&prompt.root; setkey -f /etc/ipsec.conf указывает &man.setkey.8; добавить
правило к базе данных политики безопасности. Остальная часть
строки указывает какие пакеты будут соответствовать политике.
A.B.C.D/32 и W.X.Y.Z/32 это IP адреса и сетевые маски,
определяющие сети или хосты, к которым будет применяться данная
политика. В данном случае мы хотим применить их к трафику между
этими двумя хостами. Параметр сообщает
ядру, что эта политика должна применяться только к пакетам,
инкапсулирующим другие пакеты. Параметр
сообщает, что эта политика применяется к исходящим пакетам, и
— то, что пакеты будут
зашифрованы.Оставшаяся часть строки определяет, как эти пакеты будут
зашифрованы. Будет использоваться протокол ,
а параметр показывает, что пакет в дальнейшем
будет инкапсулирован в IPsec пакет. Повторное использование
A.B.C.D и W.X.Y.Z предназначено для выбора
используемых параметров безопасности, и наконец параметр
разрешает шифрование пакетов, попадающих
под это правило.Это правило соответствует только исходящим пакетам. Вам
потребуется похожее правило, соответствующее входящим пакетам.spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require;Обратите внимание, что вместо используется
и IP адреса переставлены.Другому шлюзу (с публичным IP адресом
W.X.Y.Z) потребуются похожие
правила.spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require;
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;Наконец, вам потребуется добавить правила к брандмауэру
для включения прохождения пакетов ESP и IPENCAP в обе стороны.
На обеих хостах потребуется добавить следующие правила:ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z
ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D
ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z
ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D
Поскольку правила симметричны, можно использовать их без
изменения на обеих хостах
Исходящие пакеты теперь будут выглядеть примерно так:
.------------------------------. --------------------------.
| Src: A.B.C.D | |
| Dst: W.X.Y.Z | |
| <other header info> | | Encrypted
+------------------------------+ | packet.
| .--------------------------. | -------------. | contents
| | Src: A.B.C.D | | | | are
| | Dst: W.X.Y.Z | | | | completely
| | <other header info> | | | |- secure
| +--------------------------+ | | Encap'd | from third
| | .----------------------. | | -. | packet | party
| | | Src: 192.168.1.1 | | | | Original |- with real | snooping
| | | Dst: 192.168.2.1 | | | | packet, | IP addr |
| | | <other header info> | | | |- private | |
| | +----------------------+ | | | IP addr | |
| | | <packet data> | | | | | |
| | `----------------------' | | -' | |
| `--------------------------' | -------------' |
`------------------------------' --------------------------'
Когда эти пакеты будут получены на удаленном конце VPN
соединения, они будут расшифрованы (используя параметры
безопасности, о которых договорился racoon). Затем они будут
переданы интерфейсу gif, который
развернет второй слой, оставив пакет с внутренними
адресами, который сможет попасть во внутреннюю сеть.Вы можете проверить безопасность тем же &man.ping.8;, который
использовался ранее. Сначала войдите на шлюз A.B.C.D и запустите:tcpdump dst host 192.168.2.1В другой сессии на том же хосте запуститеping 192.168.2.1В этот момент вы должны увидеть примерно это:XXX tcpdump outputТеперь, как видите, &man.tcpdump.1; показывает ESP пакеты. Если
вы попытаетесь просмотреть их с параметром ,
то вероятно увидите нечто непонятное, поскольку применяется
шифрование.Поздравляем. Вы только что настроили VPN между двумя удаленными
сетями.РезюмеНастройте оба ядра с:options IPSEC
options IPSEC_ESP
Установите security/racoon. Отредактируйте
+ role="package">security/ipsec-tools. Отредактируйте
${PREFIX}/etc/racoon/psk.txt на обеих
шлюзах, добавив запись для каждого IP адреса удаленного хоста
и секретный ключ, который будет известен им обеим. Убедитесь,
что режим доступа к файлу 0600.Добавьте к
/etc/rc.conf на каждом хосте следующие
строки:ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"
Создайте /etc/ipsec.conf на каждом
хосте с необходимыми строками spdadd. На шлюзе #1 он будет
таким:
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec
esp/tunnel/A.B.C.D-W.X.Y.Z/require;
spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec
esp/tunnel/W.X.Y.Z-A.B.C.D/require;
А на шлюзе #2 таким:
spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec
esp/tunnel/W.X.Y.Z-A.B.C.D/require;
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec
esp/tunnel/A.B.C.D-W.X.Y.Z/require;
Добавьте правила к брандмауэрам обеих хостов для
включения IKE, ESP и IPENCAP трафика:
ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp
ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp
ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z
ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D
ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z
ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D
Двух приведенных шагов должно быть достаточно для настройки
и включения VPN. Машины в каждой сети смогут обращаться друг к
другу по IP адресам, и весь трафик через соединение будет
автоматически надежно зашифрован.ChernLeeПредоставил OpenSSHOpenSSHбезопасностьOpenSSHOpenSSH это набор сетевых инструментов,
используемых для защищенного доступа к удаленным компьютерам.
Он может быть использован в качестве непосредственной замены
rlogin, rsh,
rcp и telnet.
- Кроме того, любые другие TCP/IP соединения могут быть безопасно
- туннелированы/перенаправлены через SSH.
+ Кроме того, через SSH могут быть безопасно туннелированы и/или
+ перенаправлены произвольные TCP/IP соединения.
OpenSSH шифрует весь трафик, эффективно
предотвращая кражу данных, перехват соединения и другие сетевые
атаки.OpenSSH поддерживается проектом
OpenBSD, он основан на SSH v1.2.12 со всеми последними исправлениями
и обновлениями, совместим с протоколами SSH версий 1 и 2.
OpenSSH включен в базовую систему
начиная с FreeBSD 4.0.Преимущества использования OpenSSHОбычно при использовании &man.telnet.1; или &man.rlogin.1;
данные пересылаются по сети в незашифрованной форме. Перехватчик
пакетов в любой точке сети между клиентом и сервером может
похитить информацию о пользователе/пароле или данные, передаваемые
через соединение. Для предотвращения этого
OpenSSH предлагает различные методы
шифрования.Включение sshdOpenSSHвключение
- Убедитесь, что добавили в файл rc.conf
- следующую строку:
+ В &os; версии 4.X даемон sshd
+ запускается по умолчанию; начиная с версий 5.X &os; он должен
+ быть разрешен в процессе инсталляции. За запуск ответственна
+ следующая строка в файле rc.conf:sshd_enable="YES"
- При следующей загрузке системы запущен &man.sshd.8;, даемон для
+ При следующей загрузке системы будет запущен &man.sshd.8;, даемон для
OpenSSH. Вы можете также запустить
sshd непосредственно, набрав в
командной строке sshd.SSH клиентOpenSSHклиентУтилита &man.ssh.1; работает подобно &man.rlogin.1;.&prompt.root; ssh user@example.com
Host key not found from the list of known hosts.
Are you sure you want to continue connecting (yes/no)? yes
Host 'example.com' added to the list of known hosts.
user@example.com's password: *******Вход продолжится так же, как если бы сессия была инициирована
с использованием rlogin или
telnet. SSH использует систему опознавательных
ключей для проверки подлинности сервера при подключении клиента.
Пользователю предлагается yes только при первом
подключении. Дальнейшие попытки входа предваряются проверкой
сохраненного ключа сервера. SSH клиент сообщит вам, если сохраненный
ключ будет отличаться от только что полученного. Ключи серверов
сохраняются в ~/.ssh/known_hosts, или в
~/.ssh/known_hosts2 для SSH v2.
- По умолчанию серверы OpenSSH
- настроены на приём только соединений SSH v2. Однако клиент может
- выбрать между версиями 1 и 2 этого протокола. Известно, что версия 2
- надёжнее и безопаснее своего предшественника.
-
- Команде &man.ssh.1; можно указать использование определенной
- версии протокола, запустив ее с параметром
- или для версии 1 или 2 соответственно.
+ По умолчанию современные серверы OpenSSH
+ настроены на приём только соединений SSH v2. Клиент будет
+ использовать версию 2 там, где это возможно, а затем версию 1.
+ Также, клиент можно заставить использовать конкретную версию при помощи
+ опций и для указания
+ соответствующей версии протокола. Версия 1 поддерживается ради
+ совместимости со старыми серверами.Безопасное копированиеOpenSSHбезопасное копированиеscpКоманда &man.scp.1; работает подобно &man.rcp.1;; она копирует
файл с удаленного компьютера, но делает это безопасным
способом.&prompt.root; scp user@example.com:/COPYRIGHT COPYRIGHT
user@example.com's password: *******
-COPYRIGHT 100% |*****************************| 4735
-00:00
+COPYRIGHT 100% |*****************************| 4735 00:00
&prompt.root;Поскольку в предыдущем примере ключ сервера уже был сохранен,
в этом примере он проверяется при использовании &man.scp.1;.Параметры, передаваемые &man.scp.1;, похожи на параметры
&man.cp.1;, с файлом или файлами в качестве первого аргумента и
приемником копирования во втором. Поскольку файлы файлы передаются
по сети через SSH, один или более аргументов принимают форму
.НастройкаOpenSSHнастройкаСистемные файлы настройки для даемона и клиента
OpenSSH расположены в каталоге
/etc/ssh.Файл ssh_config используется для настройки
клиента, а sshd_config для даемона.Кроме того, параметры
(по умолчанию /usr/sbin/sshd), и
rc.conf
дают дополнительные возможности настройки.
-
+ ssh-keygenВместо использования паролей, с помощью &man.ssh-keygen.1;
- пользователи могут аутентифицироваться ключами RSA:
-
- &prompt.user; ssh-keygen -t rsa1
-Initializing random number generator...
-Generating p: .++ (distance 66)
-Generating q: ..............................++ (distance 498)
-Computing the keys...
-Key generation complete.
-Enter file in which to save the key (/home/user/.ssh/identity):
-Enter passphrase:
-Enter the same passphrase again:
-Your identification has been saved in /home/user/.ssh/identity.
-...
+ можно создать ключи DSA или RSA, которыми
+ пользователи могут аутентифицироваться:
+
+ &prompt.user; ssh-keygen -t dsa
+Generating public/private dsa key pair.
+Enter file in which to save the key (/home/user/.ssh/id_dsa):
+Created directory '/home/user/.ssh'.
+Enter passphrase (empty for no passphrase):
+Enter same passphrase again:
+Your identification has been saved in /home/user/.ssh/id_dsa.
+Your public key has been saved in /home/user/.ssh/id_dsa.pub.
+The key fingerprint is:
+bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@host.example.com
+&man.ssh-keygen.1; создаст пару публичного и приватного
ключей, используемых для аутентификации. Приватный ключ сохраняется
- в ~/.ssh/identity, а публичный в
- ~/.ssh/identity.pub. Для включения
+ в ~/.ssh/id_dsa или
+ ~/.ssh/id_rsa, а публичный в
+ ~/.ssh/id_dsa.pub или
+ ~/.ssh/id_rsa.pub (для ключей DSA и RSA
+ соответственно). Для включения
аутентификации по ключам публичный ключ должен
- быть помещен в ~/.ssh/authorized_keys
+ быть помещен в файл ~/.ssh/authorized_keys
на удаленном компьютере.Это позволяет соединяться с удаленным компьютером с помощью
- RSA аутентификации вместо паролей.
-
- Параметр приведет к созданию RSA
- ключей, используемых SSH протоколом версии 1. Если вы хотите
- использовать RSA ключи с SSH протоколом версии 2, используйте
- команду ssh-keygen -t rsa.
+ SSH-ключей вместо паролей.
Если при генерации ключей был использован пароль, каждый раз
для при использовании приватного ключа он будет запрашиваться
- у пользователя.
-
- DSA ключ для SSH протокола версии 2 может быть создан в тех же
- целях командой ssh-keygen -t dsa. Эта команда
- создаст публичный/приватный ключи DSA для использования только
- с SSH протоколом версии 2. Публичный ключ сохраняется в
- ~/.ssh/id_dsa.pub, а приватный ключ в
- ~/.ssh/id_dsa.
-
- Публичный ключ DSA также должен быть помещен в каталог
- ~/.ssh/authorized_keys на удаленном
- компьютере.
-
- Утилиты &man.ssh-agent.1; и &man.ssh-add.1; используются
- для управления множеством защищенных паролем приватных
- ключей.
+ у пользователя. Для того, чтобы избежать непрерывного набора
+ кодовой фразы, можно использовать утилиту &man.ssh-agent.1;,
+ как описано в разделе
+ ниже.
Параметры и имена файлов могут различаться для разных
версий OpenSSH, установленных в системе,
для решения проблем обратитесь к странице справочника
&man.ssh-keygen.1;.
+
+ Утилиты ssh-agent и ssh-add
+
+ Утилиты &man.ssh-agent.1; и &man.ssh-add.1; позволяют
+ сохранять ключи SSH в памяти, чтобы
+ не набирать кодовые фразы при каждом использовании ключа.
+
+ Утилита &man.ssh-agent.1; обеспечивает процесс аутентификации
+ загруженными в нее секретными ключами; для этого утилита
+ &man.ssh-agent.1; должна запустить внешний процесс. В самом простом
+ случае это может быть шелл-процесс; в чуть более продвинутом —
+ оконный менеджер.
+
+ Для использования &man.ssh-agent.1; совместно с шеллом,
+ &man.ssh-agent.1; должен быть запущен с именем этого шелла
+ в качестве аргумента. После этого в его память при помощи
+ утилиты &man.ssh-add.1; могут быть добавлены необходимые ключи;
+ при этом будут запрошены соответствующие кодовые фразы.
+ Добавленные ключи могут затем использоваться для &man.ssh.1;
+ на машины, на которых установлены соответствующие публичные
+ ключи:
+
+ &prompt.user; ssh-agent csh
+&prompt.user; ssh-add
+Enter passphrase for /home/user/.ssh/id_dsa:
+Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa)
+&prompt.user;
+
+ Для того чтобы использовать &man.ssh-agent.1; в X11,
+ вызов &man.ssh-agent.1;должен быть помещен в файл
+ ~/.xinitrc. Это обеспечит поддержкой
+ &man.ssh-agent.1; все программы, запущенные в X11. Файл
+ ~/.xinitrc может выглядеть, например,
+ так:
+
+ exec ssh-agent startxfce4
+
+ При этом будет запущен &man.ssh-agent.1;, который, в свою
+ очередь, вызовет запуск XFCE, при каждом
+ старте X11. После запуска X11, выполните команду &man.ssh-add.1;
+ для добавления ваших SSH-ключей.
+
+
Туннелирование SSHOpenSSHтуннелированиеOpenSSH поддерживает возможность
создания туннеля для пропуска соединения по другому протоколу
через защищенную сессию.Следующая команда указывает &man.ssh.1; создать туннель для
telnet:&prompt.user; ssh -2 -N -f -L 5023:localhost:23 user@foo.example.com
&prompt.user;Команда ssh используется со следующими
параметрами:Указывает ssh использовать версию
2 протокола (не используйте этот параметр, если работаете
со старыми SSH серверами).Означает использование в не-командном режиме, только для
туннелирования. Если этот параметр опущен,
ssh запустит обычную сессию.Указывает ssh запускаться в фоновом
режиме.Означает локальный туннель в стиле
localport:remotehost:remoteport.Удаленный сервер SSH.Туннель SSH создается путем создания прослушивающего сокета
на определенном порту localhost. Затем все
принятые на локальном хосту/порту соединения переправляются на
через SSH на определенный удаленный хост и порт.В этом примере, порт 5023 на
localhost перенаправляется на порт
23 на localhost
удаленного компьютера. Поскольку 23
это порт telnet, будет создано защищенное
соединение telnet через туннель
SSH.Этот метод можно использовать для любого числа небезопасных
протоколов, таких как SMTP, POP3, FTP, и так далее.Использование SSH для создания защищенного туннеля на
SMTP&prompt.user; ssh -2 -N -f -L 5025:localhost:25 user@mailserver.example.com
user@mailserver.example.com's password: *****
&prompt.user; telnet localhost 5025
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mailserver.example.com ESMTPЭтот метод можно использовать вместе с &man.ssh-keygen.1;
и дополнительными пользовательскими учётными записями для
создания более удобного автоматического SSH туннелирования.
Ключи могут быть использованы вместо паролей, и туннели
могут запускаться от отдельных пользователей.Практические примеры SSH туннелированияЗащищенный доступ к серверу POP3На работе находится SSH сервер, принимающий соединения
снаружи. В этой же офисной сети находится почтовый сервер,
поддерживающий протокол POP3. Сеть или сетевое соединение
между вашим домом и офисом могут быть или не быть полностью
доверяемыми. По этой причине вам потребуется проверять
почту через защищенное соединение. Решение состоит в создании
SSH соединения к офисному серверу SSH и туннелирование
через него к почтовому серверу.&prompt.user; ssh -2 -N -f -L 2110:mail.example.com:110 user@ssh-server.example.com
user@ssh-server.example.com's password: ******Когда туннель включен и работает, вы можете настроить
почтовый клиент для отправки запросов POP3 на
localhost, порт 2110. Соединение будет
безопасно переправлено через туннель на
mail.example.com.Прохождение через Драконовский БрандмауэрНекоторые сетевые администраторы устанавливают
на брандмауэрах драконовские правила,
фильтруя не только входящие соединения, но и исходящие.
Вам может быть разрешен доступ к удаленным компьютерам только
по портам 22 и 80, для SSH и просмотра сайтов.Вам может потребоваться доступ к другому (возможно, не
относящемуся к работе) сервису, такому как Ogg Vorbis
для прослушивания музыки. Если этот сервер Ogg Vorbis
выдает поток не с портов 22 или 80, вы не сможете получить
к нему доступ.Решение состоит в создании SSH соединения с компьютером
вне брандмауэра и использование его для туннелирования
сервера Ogg Vorbis.&prompt.user; ssh -2 -N -f -L 8888:music.example.com:8000 user@unfirewalled-system.example.org
user@unfirewalled-system.example.org's password: *******Клиентскую программу теперь можно настроить на
localhost порт 8888, который будет перенаправлен
на music.example.com порт 8000, успешно
обойдя брандмауэр.Параметр ограничения пользователей
- AllowUsers
+ AllowUsersЗачастую хорошие результаты даёт ограничение того, какие
- именно пользователи и откуда могут регистрироваться в системе.
- Задание параметра AllowUsers является хорошим
- способом добиться этого. К примеру, для разрешения регистрации только
- пользователю root с машины 192.168.1.32, в файле
- /etc/ssh/sshd_config нужно указать нечто вроде
- следующего:
+ именно пользователи и откуда могут регистрироваться в системе.
+ Задание параметра AllowUsers является хорошим
+ способом добиться этого. К примеру, для разрешения регистрации только
+ пользователю root с машины 192.168.1.32, в файле
+ /etc/ssh/sshd_config нужно указать нечто вроде
+ следующего:
AllowUsers root@192.168.1.32Для разрешения регистрации пользователя admin
- из любой точки, просто укажите имя пользователя:
+ из любой точки, просто укажите имя пользователя:
AllowUsers adminНесколько пользователей должны перечислять в одной строке, как
- здесь:
+ здесь:
AllowUsers root@192.168.1.32 admin
- Важно, чтобы бы перечислили всех пользователей, которые должны
- регистрироваться на этой машине; в противном случае они будут
- заблокированы.
+ Важно, чтобы бы перечислили всех пользователей, которые должны
+ регистрироваться на этой машине; в противном случае они будут
+ заблокированы.После внесения изменений в
- /etc/ssh/sshd_config вы должны указать
- &man.sshd.8; на повторную загрузку конфигурационных файлов, выполнив
- следующую команду:
+ /etc/ssh/sshd_config вы должны указать
+ &man.sshd.8; на повторную загрузку конфигурационных файлов, выполнив
+ следующую команду:
&prompt.root; /etc/rc.d/sshd reloadДополнительная литератураOpenSSH&man.ssh.1; &man.scp.1; &man.ssh-keygen.1;
- &man.ssh-agent.1; &man.ssh-add.1; &man.ssh.config.5;
+ &man.ssh-agent.1; &man.ssh-add.1; &man.ssh.config.5;
&man.sshd.8; &man.sftp-server.8; &man.sshd.config.5;TomRhodesПредоставил ACLСписки контроля доступа файловой системы (ACL)В дополнение к другим расширениям файловой системы, таким как
снимки (snapshots), FreeBSD 5.0 и более поздние версии системы
предлагают защиту с помощью списков контроля доступа файловой системы
(File System Access Control Lists, ACLs).Списки контроля доступа расширяют стандартную модель прав &unix;
высоко совместимым (&posix;.1e) способом. Эта возможность позволяет
администратору получить преимущество от использования более
интеллектуальной модели безопасности.Для включения поддержки ACL в файловой
системе UFS, следующая строка:options UFS_ACLдолжна быть добавлена в файл настройки ядра. Если параметр не
добавлен, при попытке монтирования систем, поддерживающих
ACL, появится предупреждающее сообщение.
Этот параметр включен в ядро GENERIC.
ACL основывается на дополнительных атрибутах,
встроенных в файловую систему. Дополнительные атрибуты
поддерживаются по умолчанию следующим поколением файловых систем
&unix;, UFS2.Для включения дополнительных атрибутов в
UFS1 требуется больше усилий по сравнению с
UFS2. Производительность дополнительных
атрибутов в UFS2 также существенно выше.
По этим причинам для работы с списками контроля доступа
предпочтительно использование UFS2ACL включаются во время монтирования флагом
, который добавляется к
/etc/fstab. Этот флаг также можно сделать
постоянным с помощью &man.tunefs.8;, изменив флаг
ACL в заголовке файловой системы. Вообще говоря,
использование флага в суперблоке предпочтительно по нескольким
причинам:Постоянный ACL флаг не может быть изменен
путем перемонтирования системы (&man.mount.8; ),
а только через &man.umount.8; и &man.mount.8;. Это означает,
что ACL нельзя включить на корневой файловой
системе после загрузки. Это также означает, что вы не можете
изменить флаг на используемой файловой системе.Установка флага в суперблоке приводит к постоянному монтированию
файловой системы с включенным ACL, даже если
нет записи в fstab или при смене порядка
устройств. Это предотвращает случайное монтирование файловой
системы без ACL, которое может повлечь за
собой проблемы с безопасностью.Мы можем изменить поведение ACL для
включения флага без полного перемонтирования, но считаем, что
желательно исключить случайное монтирование без
ACL, поскольку вы можете попасть в неприятную
ситуацию, если включите ACL, затем выключите
их, затем опять включите без сброса расширенных атрибутов.
Обычно, как только вы включили ACL в файловой
системе, они не должны быть выключены, поскольку получающаяся
защита файлов может быть не совместима с той, что применяется
пользователями системы, и повторное включение ACL
может подключить предыдущие списки контроля доступа к файлам,
права на которые изменены, что приведет к непредсказуемому
поведению.Файловые системы с включенными ACLs показывают
знак + при просмотре прав на файлы.
Например:drwx------ 2 robert robert 512 Dec 27 11:54 private
drwxrwx---+ 2 robert robert 512 Dec 23 10:57 directory1
drwxrwx---+ 2 robert robert 512 Dec 22 10:20 directory2
drwxrwx---+ 2 robert robert 512 Dec 27 11:57 directory3
drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_htmlЗдесь мы видим, что каталоги directory1,
directory2, и directory3
используют преимущества ACL. Каталог
public_html их не использует.Использование ACLACL файловой системы можно просмотреть
с помощью утилиты &man.getfacl.1;. Например, для просмотра
настроек ACL файла
test, может использоваться команда:&prompt.user; getfacl test
- #file:test
- #owner:1001
- #group:1001
- user::rw-
- group::r--
- other::r--
+ #file:test
+ #owner:1001
+ #group:1001
+ user::rw-
+ group::r--
+ other::r--
Для изменения ACL этого файла,
вызовите утилиту &man.setfacl.1;. Выполните:&prompt.user; setfacl -k testПараметр удалит все установленные
на данный момент ACL из файла или файловой
системы. Более предпочтительный метод это использование
параметра , который оставит необходимые
для работы ACL поля.&prompt.user; setfacl -m u:trhodes:rwx,group:web:r--,o::--- testВ вышеприведенной команде параметр
использован для изменения записей ACL
по умолчанию. Поскольку предустановленных записей не было (они были
удалены предыдущей командой), эта команда восстановит параметры
по умолчанию и задаст приведенные параметры. Имейте ввиду,
при добавлении пользователя или группы, которых нет в системе,
на stdout будет выведена ошибка
Invalid argument.
-
- Том
+
+ Том
- Родес
+ Родес
- Текст предоставил
-
+ Текст предоставил
+ PortauditМониторинг вопросов безопасности в ПО сторонних
разработчиковВ последние годы в области информационной безопасности произошло
много улучшений, касающихся выработки оценки уязвимости. Угроза
проникновения в систему увеличивается вместе с установкой и настройкой
утилит сторонних разработчиков, какой бы современной операционной
системы это ни касалось.Оценка уязвимости является ключевым фактором обеспечения защиты, и
хотя для базового комплекта &os; выпускаются бюллетени безопасности, но
делать это для каждой сторонней утилиты выше возможностей участников
Проекта &os;. Существует способ смягчения уязвимостей программного
обеспечения сторонних разработчиков и предупреждения администраторов об
известных проблемах с безопасностью. Во &os; существует утилита под
названием Portaudit, которая служит
исключительно этой цели.Порт security/portaudit обращается
к базе данных, обновляемой и поддерживаемой Группой информационной
безопасности &os; и разработчиками портов, для получения информации об
известных проблемах с защитой.Для того, чтобы приступить к использованию
Portaudit, необходимо установить его из
Коллекции Портов:
- &prompt.root; cd /usr/ports/security/portaudit && make install clean
+ &prompt.root; cd /usr/ports/security/portaudit && make install cleanВ процессе установки будут обновлены конфигурационные файлы для
&man.periodic.8;, в которые будет добавлена выдача
Portaudit при ежедневном её запуске.
Проверьте, что ежедневные сообщения электронной почты, касающиеся
безопасности, которые посылаются на адрес root,
прочитываются. Другой дополнительной настройки больше не
понадобится.
- После установки администратор должен обновить базу данных,
- размещаемую в локальном каталоге
- /var/db/portaudit, выполнив
- следующую команду:
+ После установки администратор может обновить базу данных
+ и посмотреть список известных уязвимостей в установленных пакетах
+ при помощи команды
- &prompt.root; portaudit -F
+ &prompt.root; portaudit -FdaБаза данных будет автоматически обновлена при запуске
- &man.periodic.8;; таким образом, предыдущая команду можно полностью
- опустить. Она требуется только для следующих примеров.
+ &man.periodic.8;; таким образом, предыдущая команду можно полностью
+ опустить. Она требуется только для следующих примеров.
Для аудита утилит сторонних разработчиков, установленных как часть
Коллекции Портов, администратору достаточно запускать только следующую
команду:&prompt.root; portaudit -a
- Показан пример выдачи:
+ Утилита portaudit выдаст примерно
+ следующее:Affected package: cups-base-1.1.22.0_1
Type of problem: cups-base -- HPGL buffer overflow vulnerability.
Reference: <http://www.FreeBSD.org/ports/portaudit/40a3bca2-6809-11d9-a9e7-0001020eed82.html>
1 problem(s) in your installed packages found.
You are advised to update or deinstall the affected package(s) immediately.Перейдя в Web-браузере по показанному URL,
администратор может получить более подробную информацию о показанной
уязвимости. В неё войдёт перечисление версий, затронутых
соответствующей версией порта &os;, а также другие Web-сайты, которые
могут содержать бюллетени безопасности.Если описывать вкратце, то Portaudit
является мощной и, при использовании вместе с портом
Portupgrade, чрезвычайно полезной
утилитой.TomRhodesПредоставил Сообщения безопасности FreeBSDСообщения безопасности &os;Как многие и высококачественные операционные системы, &os;
публикует Сообщения безопасности (Security
Advisories). Эти сообщения обычно отправляются по почте
в списки рассылки, посвященные безопасности и публикуются
в списке проблем только после выхода исправлений к соответствующим
релизам. В этом разделе разъясняется, что такое сообщения безопасности,
как их читать и какие меры принимать для исправления системы.Как выглядит сообщение?Сообщение безопасности &os; выглядит подобно сообщению ниже,
взятому из списка рассылки &a.security-notifications.name;.=============================================================================
&os;-SA-XX:XX.UTIL Security Advisory
The &os; Project
Topic: denial of service due to some problem
Category: core
Module: sys
Announced: 2003-09-23
Credits: Person@EMAIL-ADDRESS
Affects: All releases of &os;
&os; 4-STABLE prior to the correction date
Corrected: 2003-09-23 16:42:59 UTC (RELENG_4, 4.9-PRERELEASE)
2003-09-23 20:08:42 UTC (RELENG_5_1, 5.1-RELEASE-p6)
2003-09-23 20:07:06 UTC (RELENG_5_0, 5.0-RELEASE-p15)
2003-09-23 16:44:58 UTC (RELENG_4_8, 4.8-RELEASE-p8)
2003-09-23 16:47:34 UTC (RELENG_4_7, 4.7-RELEASE-p18)
2003-09-23 16:49:46 UTC (RELENG_4_6, 4.6-RELEASE-p21)
2003-09-23 16:51:24 UTC (RELENG_4_5, 4.5-RELEASE-p33)
2003-09-23 16:52:45 UTC (RELENG_4_4, 4.4-RELEASE-p43)
2003-09-23 16:54:39 UTC (RELENG_4_3, 4.3-RELEASE-p39)
&os; only: NO
For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit
http://www.FreeBSD.org/security/.
I. Background
II. Problem Description
III. Impact
IV. Workaround
V. Solution
VI. Correction details
VII. ReferencesПоле Topic показывает в чем именно
заключается проблема. Это обычно введение в сообщение
безопасности, упоминающее утилиту, в которой возникла
ошибка.Поле Category относится к затронутой части
системы и может быть выбрана из core,
contrib, или ports.
Категория core означает, что
уязвимость затрагивает основной компонент операционной системы
&os;. Категория contrib означает, что
уязвимость затрагивает программы, предоставленные проекту
&os;, например sendmail. Наконец,
категория ports означает, что уязвимость
затрагивает программное обеспечение, доступное из Коллекции
Портов.Поле Module указывает на местоположение
компонента, например sys. В этом примере
мы видим, что затронут модуль sys,
следовательно, эта уязвимость относится к компоненту,
используемому в ядре.Поле Announced отражает дату публикации
сообщения безопасности, или его анонсирования. Это означает,
что команда обеспечения безопасности убедилась, что проблема
существует и что патч помещён в хранилище исходных текстов
&os;.Поле Credits упоминает частное лицо или
организацию, обнаружившую уязвимость и сообщившую о ней.Поле Affects дает информацию о релизах
&os;, к которым относится данная уязвимость. Для базовой
системы, просмотр вывода команды ident
для файлов, затронутых уязвимостью, поможет определить
ревизию. Номер версии портов приведен после имени порта
в каталоге /var/db/pkg. Если система
не синхронизируется с CVS-хранилищем
&os; и не пересобирается ежедневно, высок шанс, что
она затронута уязвимостью.Поле Corrected показывает дату, время,
смещение во времени и релиз, в котором исправлена ошибка.Поле &os; only показывает, существует
ли эта уязвимость только в &os;, или затрагивает и другие
системы.Поле Background дает информацию именно
о той утилите, для которой выпущено сообщение. Как правило
информация о том, зачем утилита присутствует в &os;, для
чего она используется, и немного информации о том, как
появилась эта утилита.Поле Problem Description дает более
глубокие разъяснения возникшей проблемы. Оно может включать
информацию об ошибочном коде, или даже о том, как утилита
может быть использована для создания бреши в системе
безопасности.Поле Impact описывает тип воздействия,
который проблема может оказать на систему. Это может быть
все, что угодно, от атаки на отказ в обслуживании до
получения пользователями дополнительных привилегий, или
даже получения атакующим прав суперпользователя.Поле Workaround предлагает тем,
системным администраторам, которые не могут обновить систему,
обходной путь решения проблемы. Он может пригодиться при
недостатке времени, отсутствии подключения к сети или по
массе других причин. В любом случае, к безопасности нельзя
относиться несерьезно, и необходимо либо применить указанный
обходной путь, либо исправить систему.Поле Solution предлагает инструкции по
исправлению затронутой системы. Это пошаговое руководство,
протестированный метод восстановления безопасности системы.Поле Correction Details показывает
ветвь CVS (имя релиза с точками, замененными
на символы подчеркивания). Здесь также показан номер ревизии
каждого файла из каждой ветви.Поле References обычно упоминает
другие источники информации. Это могут быть Web-страницы,
книги, списки рассылки и группы новостей.
-
- Том
+
+ Том
- Родес
+ Родес
- Текст предоставил
-
+ Текст предоставил
+ Учёт используемых ресурсовУчёт используемых ресурсовУчёт используемых процессами ресурсов представляет собой метод
защиты, при котором администратор может отслеживать использование
системных ресурсов и их распределение между пользователями для нужд
системного мониторинга и минимального отслеживания команд
пользователей.На самом деле здесь есть свои положительный и отрицательные моменты.
Положительной стороной является то, что проникновение может быть
отслежено до первоначальной точки входа. Отрицательной стороной
является объём протоколов, который генерируется при мониторинге, и
соответствующие требования к дисковому пространству. В этом разделе
администратору даются основы учёта ресурсов процессов.Активация и использование учёта ресурсовПрежде чем использовать систему учёта ресурсов, её необходимо
- активировать. Для этого выполните следующие команды:
+ активировать. Для этого выполните следующие команды:
&prompt.root; touch /var/account/acct
&prompt.root; accton /var/account/acct
&prompt.root; echo 'accounting_enable="YES"' >> /etc/rc.confПосле активации система учёта ресурсов начнёт отслеживать
- статистику CPU, команд и так далее. Все протоколы
- учёта ведутся в формате, недоступном для чтения человеком, и могут
- просматриваться при помощи утилиты &man.sa.8;. Запущенная без
- параметров, sa выдаст информацию, относящуюся к
- количеству вызовов в расчёте на каждого пользователя, общее
- затраченное время в минутах, общее время CPU и
- пользователя в минутах, среднее количество операций ввода/вывода и
- так далее.
+ статистику CPU, команд и так далее. Все протоколы
+ учёта ведутся в формате, недоступном для чтения человеком, и могут
+ просматриваться при помощи утилиты &man.sa.8;. Запущенная без
+ параметров, sa выдаст информацию, относящуюся к
+ количеству вызовов в расчёте на каждого пользователя, общее
+ затраченное время в минутах, общее время CPU и
+ пользователя в минутах, среднее количество операций ввода/вывода и
+ так далее.
Для просмотра информации о запущенных командах, необходимо
- воспользоваться утилитой &man.lastcomm.1;. Команду
- lastcomm можно использовать, например, для выдачи
- списка директив, выданных пользователями определённого терминала
- &man.ttys.5;:
+ воспользоваться утилитой &man.lastcomm.1;. Команду
+ lastcomm можно использовать, например, для выдачи
+ списка директив, выданных пользователями определённого терминала
+ &man.ttys.5;:
&prompt.root; lastcomm ls trhodes ttyp1Эта команда выдаст все зафиксированные использования команды
- ls пользователем trhodes на
- терминале ttyp1.
+ ls пользователем trhodes на
+ терминале ttyp1.
Существует многие другие полезные параметры, которые описаны на
- соответствующих справочных страницах &man.lastcomm.1;, &man.acct.5; и
- &man.sa.8;.
+ соответствующих справочных страницах &man.lastcomm.1;, &man.acct.5; и
+ &man.sa.8;.