Часть третья. Сервер, не суетись под клиентом
В предыдущей части цикла мы уже создали образ для сетевой инсталляции Mac OS X, так что настало время приступать к поэтапной конфигурации NetBoot сервера и всех его сервисов. А начнем мы с TFTP сервиса.
По умолчанию tftp демон макоси держит файлы для раздачи в каталоге /private/tftpboot
Создадим там каталог для сетевых образов и слинкуем туда каталог с образами загрузок
mkdir /private/tftpboot/NetBoot ln -s /Library/NetBoot/NetBootSP0 /private/tftpboot/NetBoot/Для того, чтобы симлинки заработали, необходимо слегка подредактировать конфигурацию демона. Вызываем редактор
nano /System/Library/LaunchDaemons/tftp.plist
И в 12-й строке меняем параметр -s на -i Более полное описание можно прочесть на сайте Apple Support
Клиент будет забирать файл конфигурации по протоколу tftp и по пути
/private/tftpboot/NetBoot/NetBootSP0/XInstall.nbi/NBImageInfo.plist
Осталось только включить сервер tftpd, в стандартную поставку десктопной версии он входит, но выключен по умолчанию. Тут на помощь нам приходит утилита launchctl. Конфигурация демона tftp хранится в файле /System/Library/LaunchDaemons/tftp.plist
Пробуем стартовать демон
bash-3.2# launchctl load /System/Library/LaunchDaemons/tftp.plist nothing found to load bash-3.2#Как видно, нас культурно послали, дескать nothing found to load Это произошло потому, что файле конфигурации установлен ключ деактивации демона
<key>Disabled</key>
<true/>
Если мы хотим принудительно загрузить деактивированный сервис одноразово, необходимо использовать ключ -F (force)
launchctl load -F /System/Library/LaunchDaemons/tftp.plistДля остановки достаточно скомандовать сервису unload
launchctl unload /System/Library/LaunchDaemons/tftp.plistЕсли мы хотим включить сервис на постоянной основе и сделать его загружаемым при старте системы, следует использовать ключ -w
launchctl load -w /System/Library/LaunchDaemons/tftp.plistСоответственно, для выключения автозагрузки будем использовать команду unload с ключем -w
launchctl unload -w /System/Library/LaunchDaemons/tftp.plistЕсли мы заглянем в список процессов по команде ps ax или в мониторе активности, то не заметим запущенного tftpd. Это нормально, т.к. многие сетевые сервисы в unix системах запускаются по необходимости при обращении клиента. В паузах между обработкой запросов они остановлены.
Так что проверим здоровье свеженастроенного tftpd при помощи клиента tftp, который тоже входит в поставку системы. Вызовем tftp, включим расширенный вывод диагностики и трассировку пакетов и попытаемся скачать файл конфигурации. Не забудьте подставьте свой ip адрес.
Открываем новое окно или вкладку терминала и от имени себя любимого проверяем:
tftp 172.16.101.13 tftp> verbose Verbose mode on. tftp> trace Packet tracing on. tftp> get /private/tftpboot/NetBoot/NetBootSP0/XInstall.nbi/NBImageInfo.plist getting from 172.16.101.13:/private/tftpboot/NetBoot/NetBootSP0/XInstall.nbi/NBImageInfo.plist to NBImageInfo.plist [netascii] sent RRQ <file=/private/tftpboot/NetBoot/NetBootSP0/XInstall.nbi/NBImageInfo.plist, mode=netascii> received DATA <block=1, 512 bytes> sent ACK <block=1> received DATA <block=2, 134 bytes> Received 646 bytes in 0.0 seconds [inf bits/sec] tftp> quit rm NBImageInfo.plistФайлик получили, TFTP работает.
Ой

0 коммент.:
Отправить комментарий