04. FreeBSD -Загрузка, логи, сетевые настройки.ppt
- Количество слайдов: 59
Free. BSD Системное администрирование
Загрузка Free. BSD • • BIOS - ищет MBR, передает управление менеджеру загрузки boot 0 - менеджер загрузки (находится в MBR). Определяет активный раздел, передает управление загрузчику, который находится в загрузочном секторе данного слайса boot 1(находится в загрузочном секторе слайса) boot 2 Загрузчик (loader, находится в /boot) – читает конфигурационные файлы /boot/defaults/loader. conf и /boot/loader. conf, затем загружает ядро и указанные в них модули Ядро (kernel) - опознает устройства и выполняет их инициализацию. Передает управление процессу init – выполняет проверку дисков на возможность использования; – запускает пользовательский процесс настройки ресурсов, который монтирует файловые системы, – Считывает сценарии конфигурации системы (/etc, /etc/defaults) – выполняет настройку сетевых адаптеров для работы в сети и осуществляет запуск всех процессов, обычно выполняемых в системе Free. BSD при загрузке.
Загрузка Free. BSD MBR boot 2 Блок 1 Таблица разделов Блок 1 boot 1 Сектор 0 boot 0 Слайс 1 Слайс 2 Жесткий диск
Загрузка Free. BSD Этап 0
boot 0 • Копия MBR для Free. BSD находится в /boot 0 • Утилита boot 0 cfg – установка менеджера загрузки boot 0 • Презапись MBR от Free. BSD: # fdisk -B -b /boot 0 device
boot 0
Загрузка Free. BSD Этап 1 Этап 2
boot 1, boot 2 • boot 1, boot 2 – части одной программы • Разделение на две части произошло из-за ограничения размера • Располагаются на первом треке загрузочного слайса • boot 1 - знает лишь о метке диска Free. BSD, хранящей информацию о слайсе, для того, чтобы найти и запустить boot 2. • boot 2 - умеет работать с файловой системой Free. BSD в объёме, достаточном для нахождения в ней файлов, и может предоставлять простой интерфейс для выбора и передачи управления ядру или загрузчику.
boot 1, boot 2 • Копируются инсталлятором из файла /boot • Для замены boot 1, boot 2: • # bsdlabel -B diskslice
Загрузка Free. BSD Этап 3
loader (загрузчик) • Находится в файловой системе в файле /boot/loader
Процесс работы загрузчика • • Во время инициализации загрузчик производит поиск консоли, дисков и определяет, с какого диска он был запущен. Задаёт значения переменных и запускает интерпретатор, которому могут передаваться пользовательские команды как из скрипта, так и в интерактивном режиме. • Читает файл /boot/loader. rc, который использует файл /boot/defaults/loader. conf, устанавливающий значения по умолчанию для переменных и читает файл /boot/loader. conf для изменения в этих переменных. • Затем с этими переменными работает loader. rc, загружающий выбранные модули и ядро. • Загрузчик выдерживает 10 -секундную паузу, ожидая нажатия клавиши, и загружает ядро. Если ожидание было прервано, пользователю выдается приглашение, которое воспринимает простой набор команд, с помощью которых пользователь может изменить значения переменных, выгрузить все модули, загрузить модули и окончательно продолжить процесс загрузки или перезагрузить машину. •
Загрузчик
Встроенные команды загрузчика • autoboot секунды – • boot [-параметры] [имя ядра] – • Выполнить файл с указанным именем. Файл считывается и его содержимое интерпретируется строчка за строчкой. Ошибка приводит к немедленному прекращению выполнения команды include. load [-t тип] имя файла – • Вывод сообщений подсказки из файла /boot/loader. help. Если в качестве темы указано слово index, то выводится список имеющихся тем. include имя файла. . . – • Повторно провести тот же самый процесс автоматической настройки модулей на основе переменных, что был произведен при загрузке. Это имеет смысл, если до этого вы выполнили команду unload, изменили некоторые переменные, например, наиболее часто меняемую kernel. help [тема] – • Продолжить процесс загрузки указанного ядра, если оно было указано, и с указанными параметрами, если они были указаны. boot-conf – • Продолжает загрузку ядра, если не будет прерван в течение указанного в секундах промежутка времени. Он выводит счетчик, и по умолчанию выдерживается интервал в 10 секунд. Загружает ядро, модуль ядра или файл указанного типа с указанным именем. Все аргументы после имени файла передаются в файл. ls [-l] [маршрут] – Выводит список файлов по указанному маршруту или в корневом каталоге, если маршрут не был указан. Если указан параметр -l, будут выводиться и размеры файлов.
Встроенные команды загрузчика • lsdev [-v] – Выводится список всех устройств, с которых могут быть загружены модули. Если указан параметр -v, выводится дополнительная информация. • lsmod [-v] – Выводит список загруженных модулей. Если указан параметр -v, то выводится дополнительная информация. • more имя файла – Вывод указанного файла с паузой при выводе каждой строки LINES. • reboot – Выполнить немедленную перезагрузку машины. • set переменная, set переменная=значение – Задает значения переменных окружения загрузчика. • unload – Удаление из памяти всех загруженных модулей.
Некоторые флаги загрузки ядра • -a - во время инициализации ядра запрашивать устройство для его монтирования в качестве корневой файловой системы. • -C - загрузка с компакт-диска. • -c - запустить User. Config для конфигурации ядра во время загрузки • -s - после загрузки перейти в однопользовательский режим • -v - во время запуска ядра выводить более подробную информацию
Загрузка ядра • Стандартное ядро обычно находится в /boot/kernel
Хинты устройств • Во время начального запуска системы загрузчик loader производит чтение файла device. hints. • В этом файле хранится необходимая для загрузки ядра информация, задаваемая в виде переменных (хинтов устройств). • ''хинты устройств'' используются драйверами устройств для их конфигурации. • После загрузки системы для выдачи значений всех переменных можно воспользоваться командой kenv.
Хинты устройств • • В файле /boot/device. hints в каждой строке определяется по одной переменной. Строки строятся следующим образом: hint. driver. unit. keyword="value“ – driver - определяет имя драйвера устройства, – unit - соответствует порядковому номеру модуля устройства, – keyword - является ключевым словом хинта. • В качестве ключевых слов могут применяться опции: – – – – • at - задаёт шину, к которой подключено устройство. port - задаёт начальный адрес используемого диапазона ввода/вывода (I/O). irq - задаёт используемый номер запроса на прерывание. drq - задаёт номер канала DMA. maddr - задаёт физический адрес памяти, занимаемый устройством. flags - устанавливает различные битовые флаги для устройства. disabled - если установлено в значение ''1'', то устройство не используется.
Init (инициализация управления процессами) • После загрузки ядра, оно передает управление пользовательскому процессу init • Расположен в файле /sbin/init • Переход в однопользовательский режим • Переход в многопользовательский режим
Многопользовательский режим Настройка ресурсов • Система настройки ресурсов считывает настройки, применяемые по умолчанию, из файла /etc/defaults/rc. conf, а настройки, специфичные для конкретной системы, из /etc/rc. conf • Монтирование файловых систем, перечисленных в файле /etc/fstab, • Запуск сетевых служб, различных системных демонов, выполнение скриптов запуска дополнительно установленных пакетов.
Комманда dmesg • Команда dmesg выводит все системные сообщения, которые были сгенерированы со времени последней загрузки системы.
dmesg
Сценарии конфигурирования ресурсов
Сценарии конфигурирования ресурсов • Все файлы в /etc/rc* - сценарии конфигурирования ресурсов. • Это программы запускающие какуюлибо часть Free. BSD в соответствии с конфигурацией.
Сценарии конфигурирования ресурсов /etc/rc. diskless 1 Главный сценарий Дерево сценариев Процесс init читает этот сценарий при бездисковой загрузке /etc/defaults/rc. conf настройки по умолчанию /etc/rc. conf переопределяет и дополняет настройки по умолчанию /etc/rc. network настраивает работу сети по протоколу TCP/IP /etc/rc. firewall Запускается сценарием rc. network; конфигурирует брэндмауэр ipfw /etc/rc. shutdown запускается процессом init на этапе останова системы /etc/rc. devfs конфигурирует файловую систему устройств /usr/rc. local/etc/rc. d/ Дерево каталогов, содержащее новые /usr/rc. local/X 11 R 6/etc/rc. d/ сценарии добавляемые пользователем (программами)
Основные настройки • Основные настройки системы располагаются в файле /etc/rc. conf Файл /etc/defaults/rc. conf - содержит настройки по умолчанию
Фрагмент /etc/defaults/rc. conf
/etc/rc. conf
/usr/local/etc/ • Обычно, установленные приложения имеют свои конфигурационные файлы. • Обычно эти файлы устанавливаются в /usr/local/etc. • init обращается к каталогу /usr/local/etc/rc. d после того, как запускает все сценарии /etc/rc* • Все выполняемые файлы каталога /usr/local/etc/rc. d запускаются в алфавитном порядке.
/usr/local/etc/ • Пример запуска сценария • # /usr/local/etc/rc. d/apache start
/usr/local/etc/ настройка приложений • Файлы с расширением. sample
/usr/local/X 11 R 6/etc/ • Аналогичен /usr/local/etc/ • Предназначен для программ с интерфейсом X 11
Создание сценариев для запуска программ при загрузке ОС Простейший стартовый скрипт: #!/bin/sh echo -n ' utility‘ case "$1" in start) /usr/local/bin/utility ; ; stop) kill -9 `cat /var/run/utility. pid` ; ; *) echo "Usage: `basename $0` {start|stop}" >&2 exit 64 ; ; esac exit 0 Должен иметь расширение. sh и быть выпоняемым
Настройка системы ведения лог-файлов
Настройка лог-файлов • Системные сообщения записываются в каталог /var/log • syslogd – демон системной журнализации • Файл /etc/syslog. conf – конфигурационный файл для syslogd
Настройка лог-файлов. • Каждая служба, о которой знает демон имеет несколько «уровней строгости» – emerg, alert, crit, err, warning, notice, info, debug.
Значения уровней • emerg - Паника в системе, обычно широковещательно рассылается всем пользователям. • alert - Ситуации, требующие немедленного исполнения (например, испорченные системные данные). • crit - Предупреждения о критических условиях (например, ошибка аппаратного устройства). • err - Прочие ошибки. • warning - Предупреждения. • notice - Ситуации, не являющиеся ошибками, но могущие потребовать специальной обработки. • info - Информационные сообщения. • Debug - Отладочный уровень. • none - Не обрабатывать сообщения от указанного источника. Например, селектор *. debug; mail. noneопределяет обработку всех сообщений (т. е. сообщений всех уровней от всех источников), кроме сообщений от системы электронной почты
стандартные имена источников • • • auth - сообщения о нарушении авторизации доступа (программы login, su, getty и др. ); authpriv - сообщения о привилегированном доступе; cron - Диспетчеры расписаний cron/at (программы crontab, at, cron и др. ). daemon - Системный демоны, например демон FTP in. ftpd kern - Сообщения ядра системы. lpr - Система печати (программы lpr, lpc и др. ). mail -Сообщения почтовой системы. news - Зарезервировано для системы телеконференций USENET. syslog - сообщения самого демона syslog; User - Сообщения от пользовательских процессов. local 0 -7 - Зарезервировано для локального использования. mark - Отметки времени, генерируемые самим демоном syslogd. * - Все источники или все значения уровней
Структура syslog. conf • катeгория. приоритет адрес_лог_файла
Примеры • • Выдавать все сообщения от ядра на консоль. kern. * /dev/console • Записывать в протокол все сообщения уровня info или выше, кроме сообщений почтовой системы, сообщений содержащих конфиденциальную информацию аутентификационных сообщений и сообщений демона cron. *. info; mail. none; authpriv. none; cron. none /var/log/messages • • • Записывать в отдельный файл сообщения, содержащие конфиденциальную информацию аутентификации, независимо от их уровня. authpriv. * /var/log/secure • • Все сообщения почтовой системы тоже записывать отдельно. mail. * /var/log/maillog • • Протоколировать действия демона cron. * /var/log/cron • Сообщения о чрезвычайных ситуациях должны немедленно получить все пользователи системы *. emerg * •
Сетевые настройки
Настройка карт сетевых интерфейсов • Уилита ifconfig • Уилита sysinstall • Файл /etc/rc. conf
Список интерфейсов
Уилита sysinstall • configure – networking - interfeces
Уилита sysinstall
Файл /etc/rc. conf
Уилита ifconfig • Ifconfig lnc 0 192. 168. 0. 1 netmask 255. 0 mtu 1400
Настройка шлюза • • Команда route Примеры route add default 192. 168. 0. 1 route delete default
Имя хоста • Команда hostname • Пример • hostname comp 01. utmn. ru – установка имени • hostname – вывести полное имя • hostname –s – вывести краткое имя
Настройка виртуальных серверов • У сетевого интерфейса всегда есть один ''настоящий'' адрес • Он может иметь любое количество ''синонимов'' (alias). • Синонимы обычно добавляются путём помещения соответствующих записей в /etc/rc. conf. • Синоним для интерфейса fxp 0 выглядит следующим образом: • ifconfig_fxp 0_alias 0="inet xxx netmask xxx"
Синонимы • • • ifconfig_fxp 0="inet 10. 1. 1. 1 netmask 255. 0 " ifconfig_fxp 0_alias 0="inet 10. 1. 1. 2 netmask 255" ifconfig_fxp 0_alias 1="inet 10. 1. 1. 3 netmask 255 " ifconfig_fxp 0_alias 2="inet 10. 1. 1. 4 netmask 255" ifconfig_fxp 0_alias 3="inet 10. 1. 1. 5 netmask 255 " ifconfig_fxp 0_alias 4="inet 202. 0. 75. 17 netmask 255. 240 " ifconfig_fxp 0_alias 5="inet 202. 0. 75. 18 netmask 255 " ifconfig_fxp 0_alias 6="inet 202. 0. 75. 19 netmask 255 " ifconfig_fxp 0_alias 7="inet 202. 0. 75. 20 netmask 255 "
Разрешение имен хостов • Файл /etc/resolv. conf • Основные записи resolv. conf: – Nameserver - IP-адрес сервера имён. Сервера опрашиваются в порядке описания. Максимальное количество адресов -- три. – Search - Список доменов для поиска с помощью hostname lookup. – Domain - Домен, в котором находится компьютер.
Типичный вид resolv. conf • search example. com • nameserver 147. 11. 1. 11 • nameserver 147. 11. 100. 30 • Опции search и domain нельзя использовать совместно.
/etc/hosts • /etc/hosts -- простая текстовая база данных. • Работает совместно с DNS, сопоставляя доменные имена IP адресу.
Формат /etc/hosts [IP адрес в Интернете] [имя компьютера] [alias 1] [alias 2]. . . Например: 10. 0. 0. 1 my. Real. Hostname. example. com my. Real. Hostname foobar 1 foobar 2
Сценарий /etc/netstart
04. FreeBSD -Загрузка, логи, сетевые настройки.ppt