Автор: Таймэн Б.
Теги: компьютерные технологии программирование программное обеспечение руководство издательство москва издательство киев операционная система freebsd
ISBN: 978-5-8459-0741-7
Год: 2007
Текст
Free BSD* 6 Brian Tiemann sAms 800 East 96th Street, Indianapolis, Indiana, 46240 USA
Free BSD* 6 Ш®Ш®@ РЖ®©®^©^® Брайан Таймэн Москва • Санкт-Петербург • Киев 2007
ББК 32.973.264)18.2.75 Т14 УДК 681.3.07 Издательский дом "Вильяме* Зав. редакцией С.Н. Тригуб Перевод с английского Я.П. Волковой, Д.Я. Иваненко, Н.А. Мухина Под редакцией Ю.Н. Артеменко По общим вопросам обращайтесь в Издательский дом "Вильяме" по адресу: info@williamspublishing.com, http://www.williamspublishing.com 115419, Москва, а/я 783; 03150, Киев, а/я 152 Таймэн, Брайан. Т14 FreeBSD 6. Полное руководство. : Пер. с англ. — М. : ООО "И.Д. Вильяме", 2007. — 1056 с. : ил. — Парал. тит. англ. ISBN 978-5-8459-0741-7 (рус.) Книга известного профессионала в области операционных систем и сетевых технологий посвящена очередной версии самой популярной в настоящее время операционной системы с открытым исходным кодом — FreeBSD 6. Подробно рассматриваются такие вопросы, как установка, сборка и конфигурирование FreeBSD из коллекции портов, загрузка и завершение работы системы, работа в командной строке и в графических оболочках X Window System, настройка безопасности и организация сетей на базе FreeBSD 6. Большое внимание уделяется файловым системам, установке программного обеспечения Web-сервера Apache, совместной работе множества пользователей, а также поиску и устранению неполадок. Книга изобилует не только множеством примеров из реальной жизни, но также снабжена теоретическими сведениями по таким сложным темам, как протоколы и маршрутизация. Прилагаемый к книге DVD-диск содержит дистрибутив FreeBSD 6.1, текущую коллекцию портов и многое другое. Книга рассчитана на пользователей и администраторов разной квалификации, а также может быть полезна для студентов и преподавателей соответствующих специальностей. ББК 32.973.26-018.2.75 Все названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм. Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на это нет письменного разрешения издательства Sams Publishing. Authorized translation from the English language edition published by Sams Publishing, Copyright © 2006 All rights reserved. No part of this book shall be reproduced, stored in a retrieval system, or transmitted by any means, electrbnic, mechanical, photocopying, recording, or otherwise, without written permission from the publisher. No patent liability is assumed with respect to the use of the information contained herein. Although every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions. Nor is any liability assumed for damages resulting from the use of the information contained herein. Russian language edition is published by Williams Publishing House according to the Agreement with R&I Enterprises International, Copyright © 2007 ISBN 978-5-8459-0741-7 (рус.) ISBN 0-672-32875-5 (англ.) © Издательский дом "Вильяме*, 2007 © by Sams Publishing, 2006
Оглавление Об авторе 27 Посвящение 27 Благодарности 27 От издательства 28 Введение 29 Часть I. Введение в FreeBSD 35 Глава 1. Что собой представляет FreeBSD 37 Глава 2. Установка FreeBSD 53 Глава 3. Дополнительные задачи по установке 103 Часть II. FreeBSD как настольная система 121 Глава 4. Загрузка и завершение работы FreeBSD 123 Глава 5. Работа с системой X Window System 139 Глава 6. Работа с приложениями 169 Глава 7. Дополнительная настройка XI1 213 Часть III. FreeBSD и командная строка 263 Глава 8. Работа с командной оболочкой 265 Глава 9. Настройка командной оболочки 303 Глава 10. Программирование в командной оболочке 325 Глава 11. Основы программирования на языке Perl 373 Часть IV. Системное администрирование 401 Глава 12. Файловая система FreeBSD 403 Глава 13. Пользователи, группы и полномочия 433 Глава 14. Конфигурация системы и сценарии запуска 465 Глава 15. Мониторинг производительности, управление процессами и автоматизация задач 485 Глава 16. Установка дополнительного программного обеспечения 505 Глава 17. Печать 535 Глава 18. Конфигурация ядра 569 Глава 19. Поддержание актуальности FreeBSD 587 Глава 20. Добавление жестких дисков 617 Глава 21. Курс выживания в FreeBSD 641
6 Оглавление Часть V. Работа в сети FreeBSD 673 Глава 22. Принципы организации сетей на основе TCP/IP 675 Глава 23. Конфигурирование базовых сетевых служб 703 Глава 24. Работа в сети с помощью РРР и 802 Л1 723 Глава 25. Конфигурирование почтовых служб 739 Глава 26. Конфигурирование Web-сервера 781 Глава 27. Конфигурирование БТР<ервера 815 Глава 28. Конфигурирование Internet-шлюза 829 Глава 29. Конфигурирование сервера баз данных 847 Глава 30. Безопасность сети 887 Глава 31. Виртуальные частные сети (VPN) 935 Глава 32. Сервер доменных имен 951 Глава 33. Сетевая файловая система 971 Гпгава 34. Совместное использование файлов и печати с Microsoft Windows 983 Глава 35. Протокол динамической конфигурации хоста (DHCP) 999 Часть VI. Приложения 1007 Приложение А. Команды и конфигурационные файлы 1009 Приложение Б. Списки совместимого оборудования 1017 Приложение В. Поиск и устранение проблем в процедуре установки и загрузки 1031 Приложение Г. Источники дополнительной информации 1037 Предметный указатель 1046
Содержание Содержание Об авторе 27 Посвящение 27 Благодарности 27 От издательства 28 Введение 29 FreeBSD и коммерческое ПО 30 Преимущества FreeBSD 31 Как организована эта книга 32 Соглашения, принятые в этой книге 34 Часть I. Введение в FreeBSD 35 Глава 1. Что собой представляет FreeBSD 37 Преимущества использования FreeBSD 38 Что можно делать с помощью FreeBSD? 39 FreeBSD подходит уже не только для серверов 40 Краткая история FreeBSD и UNIX 41 Рождение операционной системы BSD 42 Рождение операционной системы FreeBSD 43 Философия разработки UNIX 44 FreeBSD в сравнении с другими операционными системами 46 Windows XP 46 Mac OS X 48 Linux 49 NetBSD 51 OpenBSD 51 Логотип FreeBSD 51 Глава 2. Установка FreeBSD 53 Проверка оборудования 54 Создание установочных дискет 55 Создание загрузочных дискет в DOS или Windows 57 Создание загрузочных дискет в FreeBSD или UNIX 57 Загрузка в программу установки 58 Навигация по программе Sysinstall 59 Создание разделов и назначение точек монтирования 61 Выбор жестких дисков 61 Разбиение диска или дисков на разделы 63 Редактор меток дисков (Disk Label Editor) 66 Создание разделов вручную 67
~ | Содержание Полезная информация об опции Soft Updates 74 Выбор дистрибутива * 75 Выбор источника установки 76 Конфигурирование и настройка системы после установки 78 Настройка сети 78 Настройка консоли 82 Выбор часового пояса 83 Совместимость с Linux 83 Настройка мыши 84 Установка дополнительных пакетов программного обеспечения 85 Добавление пользователя 87 Установка пароля для пользователя root 90 Выход из программы Sysinstall и перезагрузка системы 91 Первая загрузка FreeBSD 91 Настройка системы X Window System (XI1) 93 Автоматическое распознавание установленного видеооборудования 93 Тестирование X Server 95 Настройка Xorg с помощью xorgcf g 96 Точная настройка файла xorg. conf 99 Завершение работы FreeBSD 101 Глава 3. Дополнительные задачи по установке 103 Резервное копирование существующей файловой системы Windows или Linux 104 Неразрушающее разбиение жесткого диска на разделы с помощью FIPS 105 Запуск утилиты ScanDisk и программы дефрагментации 106 Получение FIPS и создание загрузочной дискеты 107 Работа с программой FIPS 108 Потенциальные проблемы и ограничения систем с двойной загрузкой 111 Двойная загрузка для DOS, Windows 95, Windows 98, Windows Me или Windows XP 112 Двойная загрузка для Linux 112 Диспетчер загрузки FreeBSD 113 Альтернативные методы установки FreeBSD 114 Установка FreeBSD через FTP 115 Установка FreeBSD с помощью NFS 118 Часть II. FreeBSD как настольная система 121 Глава 4. Загрузка и завершение работы FreeBSD 123 Процесс запуска FreeBSD 124 Процедура POST и BIOS 124 Процедура самозагрузки 124 Ядро 126 Вход в систему FreeBSD 132 Выход из системы FreeBSD 134 Завершение работы системы FreeBSD 134 Использование команды shutdown 134
Содержание 9 Глава 5. Работа с системой X Window System 139 Знакомство с XI1 140 X Server 141 Оконные диспетчеры 142 KDE и GNOME 143 Установка KDE 145 Включение диспетчера регистрации KDM 146 Среда KDE 148 Работа с файлами и папками 150 Просмотр файлов, которые находятся на удаленных томах 151 Переход в другую рабочую область 153 Изменение внешнего вида и поведения KDE 153 Приложения KDE 154 Завершение сеанса KDE 155 Работа с оконными диспетчерами 156 Установка оконных диспетчеров 156 Выбор оконного диспетчера, который должен использоваться по умолчанию 157 Оконный диспетчер Window Maker 158 Работа с окнами 160 Меню в Window Maker 161 Работа с панелью Dock 161 Установка и использование DockApp-приложений 162 Настройка Window Maker 164 Утилита Preferences 165 Завершение работы Window Maker и X11 167 Глава 6. Работа с приложениями 169 Запуск приложений с графическим по тык вагельским интерфейсом и интерфейсом командной строки 171 Работа с текстом 173 Использование редактора ее 175 Редактор vi 178 Графическое редактирование текста с помощью KEdit или gedit 186 Офисные приложения 187 Функциональная совместимость 188 Создание и редактирование изображений с помощью GIMP 189 Аудиоприложения 191 Активизация звуковой поддержки 192 Использование микшера 193 Воспроизведение МРЗ-файлов в XI1 с помощью XMMS 196 Сетевые приложения 197 Web-браузеры для XII 197 Web-браузер Lynx 199 FTP 200 Приложения электронной почты 204 Работа с Java-приложениями 210 Установка Java-приложений 210 Запуск Java-приложений 211
10 Содержание Глава 7. Дополнительная настройка Х11 213 Конфигурирование XI1 с помощью сценария xorgconfig 214 Настройка мыши 216 Выбор клавиатуры 218 Настройка монитора 221 Настройка видеокарты 224 Что собой представляет файл xorg. conf 236 Синтаксис, используемый в файле xorg.conf 237 Раздел "Module" 238 Раздел "Files" 238 Раздел "ServerFlags" 239 Раздел "InputDevice" 241 Раздел "Monitor" 244 Раздел "Device" 245 Раздел "Screen" 246 Раздел "Serve r Lay out" 247 Тестирование конфигурации XI1 248 Персональный файл .xinitrc 249 Смена оконного диспетчера 249 Автоматический запуск приложений 251 Установка цвета фона и фонового рисунка 252 Работа со шрифтами 254 Проверка файла xorg. conf на наличие в нем поддержки для шрифтов 254 Создание каталогов и установка шрифтов 255 Использование удаленных клиентов XI1 256 Использование программы xhost для позволения удаленным приложениям отображаться локально 257 Запуск удаленного приложения 259 Другие способы управления доступом клиентов 260 Использование графического диспетчера XDM 260 Часть HI. FreeBSD и командная строка 263 Глава 8. Работа с командной оболочкой 265 Что собой представляет командная оболочка 266 Выбор командной оболочки для FreeBSD 267 Командная оболочка Bourne (sh) и POSIX 268 Командная оболочка С (csh) 268 Командная оболочка Korn (ksh или pdksh) 269 Командная оболочка Bourne Again (bash) 270 Командная оболочка tcsh 270 Командная оболочка zsh 271 Какую командную оболочку лучше выбрать? 271 Смена командной оболочки 271 Получение справки в командной оболочке 273 Поиск страниц в руководстве 274
Содержание 11 Краткие описания команд 275 Разделы руководства 275 Основные операции для работы с файлами в командной оболочке 277 Как FreeBSD хранит файлы 277 Просмотр содержимого каталогов 278 Навигация по файловой системе 280 Копирование файлов и каталогов 281 Перемещение и переименование файлов и каталогов 283 Удаление файлов и каталогов 283 Создание и удаление каталогов 284 Команда touch 284 Создание ссылок 284 Универсальные опции 287 Метасимволы и операции с групповыми символами 288 Соответствие диапазонам символов 288 Замечания касательно имен файлов 289 Необычные имена файлов 290 Куда делся файл? 291 Команды для обработки текста 292 Подсчет строк, слов и символов 292 Просмотр текстовых файлов: less и more 293 Просмотр только верхней или нижней части текстового файла 293 Поиск по образцу 294 Сортировка текста в файле 295 Замена строк с помощью команды tr 296 Отображение только определенных частей строк в текстовых файлах 296 Форматирование текста с помощью команды f mt 297 Конвейеры и переадресация ввода-вывода 298 Завершение команд и редактирование хронологии 300 Глава 9. Настройка командной оболочки 303 Добавление командных оболочек в систему и предоставление к ним доступа 304 Установка командных оболочек из коллекции портов или коллекции пакетов 305 Файл /etc/shells 306 Использование альтернативных командных оболочек 308 Замена командной оболочки во время сеанса работы 308 Замена командной оболочки, используемой по умолчанию 308 Использование других программ в качестве командных оболочек 310 Файлы инициализации командной оболочки 313 Файлы оболочек tcsh и csh: . cshrc, . login и . logout 313 Файлы bash: .profile, .shrcn .bash_logout 315 Настройка среды командной оболочки 317 Настройка tcsh 318 Настройка bash 320 Переменные среды и переменные оболочки 322 Переменные среды 322 Переменные оболочки 323
12 Содержание Глава 10. Программирование в командной оболочке 325 Зачем нужно уметь программировать на языке оболочки 326 Простая программа оболочки 329 Построчный анализ сценария оболочки 330 Использование команды printf 332 Переменные 333 Присваивание значений переменным 334 Имена переменных 335 Взаимодействие с пользователем 335 Обработка аргументов командной строки 337 Подстановка команд 338 Арифметические операции в программах оболочки 338 Циклы 341 Цикл while 341 Цикл until 343 Логические операторы И/ИЛИ в циклах while и until 344 Цикл for 345 Команда shift 346 Операторы,true и false 347 Прерывание цикла 347 Условные операторы 349 Опера горы i f 349 Операторы сазе 354 Логические условные операции И/ ИЛИ 356 Значение состояния завершения 356 Установка значения состояния завершения 358 Перехват сигналов завершения работы 359 Функции 361 Дескрипторы файлов 361 Отладка сценариев оболочки 363 Дополнительные возможности, доступные дчя программирования в оболочке Когп 365 Установка командной оболочки Когп 366 Встроенные арифметические функции 366 Массивы 367 Подстановка команд 371 Использование команды getopt s 371 Глава 11. Основы программирования на языке Perl 373 Perl в FreeBSD 374 Преимущества Perl 375 Недостатки Perl 376 Основные технологии написания сценариев на языке Perl 377 Переменные и операции 379 Скаляры, массивы и ассоциативные массивы 381 Управление выполнением программы 383 Аргументы командной строки 386 Простой сценарий Perl 386
Содержание 13 Дополнительные технологии программирования на языке Perl 387 Обработка текстовых данных 387 Использование дескрипторов файлов для работы с файлами 391 Функции 393 Модули Perl 395 Полезные источники информации о языке Perl 397 Web-сайты 397 Книги 398 Архив CPAN 399 Часть IV. Системное администрирование 401 Глава 12. Файловая система FreeBSD 403 Структура каталогов FreeBSD 405 Мониторинг использования файловой системы 408 Команда df (свободное место на диске) 409 Команда du (использование диска) 410 Монтирование и размонтирование файловых систем FreeBSD 411 Команда mount 411 Команда umou n t 413 Монтирование и размонтирование файловых систем из других операционных систем 414 Монтирование файловой системы Windows/MS-DOS 416 Монтирование файловой системы Linux 417 Монтирование и размонтирование файловых систем компакт-дисков и дискет 419 Монтирование компакт-дисков и дискет 419 Размонтирование компакт-дисков и дискет 420 Другие съемные носители 421 Файл /etc/f stab 421 Проверка и исправление файловых систем с помощью программы f sck 423 Ведение журналов файловых систем и Soft Updates 425 Использование программы f sck для восстановления поврежденного суперблока 426 Установка и ввод квот на использование диска 428 Мягкие и жесткие лимиты 430 Блоки, файлы и индексные дескрипторы 431 Глава 13. Пользователи, группы и полномочия 433 Знакомство с пользователями и группами 436 Для чего используются группы? 439 Владение файлом 440 Использование команды chown для изменения владельца файла 441 Использование команды chgrp для изменения группы-владельца файла 442 Полномочия на доступ к файлам и каталогам 443 Отношения между полномочиями на файлы и каталоги 444 Использование команды chmod для изменения полномочий на файлы и каталоги 445
14 Содержание Списки контроля доступа 448 Конфигурирование ядра для поддержки списков контроля доступа 448 Конфигурирование файловых систем UFS1 для использования списков контроля доступа 449 Включение ACL в смонтированных файловых системах 450 Получение информации о текущих параметрах настройки ACL 450 Установка маски максимальных полномочий 451 Добавление пользователя или группы в ACL 451 Отказ в доступе с помощью списков контроля доступа 454 Удаление записей списка контроля доступа 454 Добавление и удаление пользователей 455 Настройка параметров по умолчанию для adduser 455 Добавление пользователя с помощью сценария adduser 456 Удаление пользователя с помощью команды rmuser 458 Файлы /etc/passwdn /etc/master.passwd 459 Файл /etc/group 461 Управление группами 461 Управление пользователями с помощью NIS 462 Глава 14. Конфигурация системы и сценарии запуска 465 Процесс запуска FreeBSD 466 Прохождение процесса загрузки 467 Безопасность процесса загрузки 469 Что может замедлить процесс загрузки? 470 Сценарии конфигурации ресурсов 471 Каталог /etc/red 471 Файл /etc/defaults/rc.conf 473 Файл /etc/rc • conf 475 Каталоги /usr/local/etc и /usr/local/xilR6/etc 477 Создание сценариев для запуска программ во время загрузки системы 479 Демон inetd и конфигурационный файл inetd. conf 480 Системный регистратор (s уs 1 ogd) и файл s уs 1 og. conf 482 Замечания касательно файла /etc/rc. local 484 Глава 15. Мониторинг производительности, управление процессами и автоматизация задач 485 Мониторинг производительности с помощью утилиты top 486 Объяснение информации, выводимой утилитой top 487 Использование интерактивных команд top 490 Мониторинг процессов с помощью программы ps 491 Объяснение информации, выводимой программой ps 492 В каких случаях ps используется вместо top 492 Завершение неправильно функционирующих процессов 493 Уничтожение процессов внутри вывода top 493 Программа kill командной строки и ее опции 494 Как сделать процесс "хорошим"? 495 Автоматизация процессов с помощью демона планировщика сгоп 496
Содержание I 7Г" Анатомия файла crontab 497 Создание и редактирование файлов crontab 499 Использование команды at для формирования заданий, выполняемых в запланированное время 499 Управление доступом к командам сгоп и at 501 Использование планировщика периодических задач 502 Глава 16. Установка дополнительного программного обеспечения 505 Введение в пакеты 506 Общие библиотеки и зависимости 508 Получение информации об инсталлированных пакетах 509 Установка пакетов 513 Установка из Sysinstall 51S Использование утилиты pkg_add 516 Удаление и обновление пакетов 518 Модернизация инсталлированных пакетов 518 Введение в порты 519 Дерево портов FreeBSD 520 Анатомия порта FreeBSD 522 Установка и удаление портов 524 Обновление и обслуживание портов 525 Поддержка актуальности портов с помощью инструмента CVSup 525 Замечания по запрещенным портам 527 Восстановление пространства на жестком диске посредством процесса сборки порта 528 Если порт не будет собран: поиск решений 529 Модернизация порта 530 Модернизация портов с помощью Portupgrade 531 Web-сайт Fresh Ports 533 Глава 17. Печать 535 Принцип работы демона lpd, спулера печати и очереди печати в FreeBSD 537 Конфигурация режима ядра, устройства и связей 538 Конфигурирование режима параллельного порта 539 Поддержка конфигурации параллельного порта после перезагрузок 540 Проверка связности порта принтера 540 Создание каталога спула и установка его полномочий 541 Настройка фильтров текста и фильтров преобразования 541 Текстовые фильтры 541 Фильтры преобразования 546 Конфигурирование /etc/printcap для управления функциями системы печати 548 Создание файла /etc/printcap 548 Инсталляция фильтров преобразования 548 Печать из командной строки с помощью lpd 549 Базовая печать в режиме командной строки 550 Печать из приложений XI1 551 Печать в OpenOffice.org 552
16 Содер: жание Управление принтером в KDE 553 Использование команды lpq для проверки состояния заданий печати 554 Удаление заданий из очереди с помощью команды lprm 555 Управление принтерами 557 Использование 1рс в интерактивном режиме 557 Использование программы 1рс в неинтерактивном режиме 562 Как управлять разрешениями на использование 1рс 563 Базовая печать через сеть 563 Печать следующего поколения с помощью CUPS 564 Поиск и устранение неполадок 566 Принтер не получает данные; задания находятся в очереди 566 Данные попадают на принтер, но он их не печатает 566 Печать файла изображений в GIMP или Web-страницы приводит к печати множества страниц с мусором 566 Принтер работает медленно 566 Печать строк производится в виде "лесенки" 567 Весь текст печатается в одной строке, порождая беспорядок и выводя строки поверх существующего текста 568 Глава 18. Конфигурация ядра 569 Роль ядра 570 Модули ядра 572 Для чего нужно конфигурировать специальное ядро? 573 Упрощение ядра 574 Использование утилиты dmesg для получения информации о запуске ядра 575 Конфигурационные файлы ядра 577 Конфигурационный файл GENERIC 578 Подсказки устройств 580 Файлы NOTES и LINT 581 Создание конфигурационного файла специального ядра 582 Компиляция и установка специального ядра 583 Добавление узлов устройств в каталог /dev 584 Как произвести восстановление, если что-то работает неправильно? 585 Глава 19. Поддержание актуальности FreeBSD 587 Отслеживание исходных кодов FreeBSD 589 Что собой представляют ветви STABLE и CURRENT исходных кодов 590 Выбор цели модернизации 591 Модернизация с помощью процесса make world 595 Что нужно учесть, прежде чем приступать к модернизации с помощью процесса make world 596 Задачи, которые нужно выполнить перед процессом make world 598 Синхронизация существующего дерева исходных кодов с деревом STABLE или CURRENT, ветвью исправления ошибок или выпуском 599 Текстовый файл UPDATING 603 Объединение /etc/group и etc/passwd 604 Объединение файла /etc/make. conf 605
Содержание 17 Пересборка системы из исходных кодов 606 Очистка /usr/obj 606 Запуск журнала выходных данных 607 Запуск, поиск и устранение неполадок make buildworld 608 Модернизация ядра 609 Запуск, поиск и устранение неполадок процесса make installworld 611 Использование утилиты mergemaster для проверки измененных конфигурационных файлов 612 Запуск утилиты me r gema s te r 613 Поиск и устранение неполадок в работе утилиты mergemaster 615 Перезагрузка после модернизации 615 Глава 20. Добавление жестких дисков 617 Режимы доступа IDE/ATA 618 Режимы РЮ 619 Режимы DMA 619 Режимы Ultra DMA (UDMA) 620 Диски SCSI 621 Геометрия жесткого диска 622 LBA и ограничение в 528 Мбайт 624 Режимы Extended INT13 и ограничение в 8,4 Гбайт 625 48-битная LBA 625 Практические последствия установки FreeBSD в старых системах 626 Разбиение жесткого диска 626 Разделы BIOS (секции) 626 Разделы BSD 627 Внешние расширенные разделы 628 Редактор секций (f di s k) в программе Sysinstall 628 Создание меток диска 630 Создание полной компоновки разделов FreeBSD 630 Добавление нового диска 632 Запись изменений и форматирование диска 633 Как сделать файловую систему доступной для использования 634 Повышение производительности диска с помощью RAID и Vinum 634 Глава 21. Курс выживания в FreeBSD 641 Переход на FreeBSD 642 Миграция из Windows 643 Миграция из Linux 648 Что нужно, и чего нельзя делать (обычные трудности) 655 Настройка производительности 658 Настройки ядра 659 Soft Updates и асинхронные записи 660 Соображения по поводу геометрии диска 661 Несколько настроек программы sysctl 662 Полезные страницы руководства 663 Готовимся к худшему: резервные копии и зеркала 663
18 Содержание Создание файлов прототипов 664 Резервные копии 664 Использование утилиты dump 666 Восстановление 667 Зеркала 668 Часть V. Работа в сети FreeBSD 673 Глава 22. Принципы организации сетей на основе TCP/IP 675 Введение в сети 676 Топологии сетей 678 Компоненты сети 680 Кабели 681 Концентраторы 683 Коммутаторы 685 Маршрутизаторы 687 Беспроводные маршрутизаторы 688 Сетевые протоколы 689 Протокол управления передачей (TCP) 690 Протокол передачи дейтаграмм пользователя (UDP) 690 Протокол управляющих сообщений Internet (ICMP) 691 IP-адреса 692 Подсети и маски сети 692 Работа с IP-адресами 694 Работа с сетями на уровне Ethernet 695 Маршрутизация между сетями с использованием ARP и МАС-адресов 696 Проверка содержимого кэша ARP командой агр 697 Маршрутизация 698 Неверная конфигурация маршрута 699 Шлюзы и преобразование сетевых адресов 700 Имена хостов и доменные имена 701 Протокол динамического конфигурирования хоста (DHCP) и автоматическая IP-адресация 702 Глава 23. Конфигурирование базовых сетевых служб 703 Конфигурирование сетевой карты 704 Конфигурирование сетевых настроек с помощью Sysinstall 706 Конфигурирование сетевых настроек без Sysinstall 710 Использование i f config для применения сетевых настроек 710 Использование route для установки маршрутизатора-шлюза 712 Использование hostname 714 Сетевые настройки в /etc/rс. conf 714 Использование /etc/netstart 715 Создание IP-псевдонимов 716 Отображение имен на IP-адреса в файле /etc/hosts 717 Тестирование сетевого соединения с помощью ping 718 Конфигурирование DNS в файле /etc/resolv. conf 719
Содержание I 7Z I Обзор других конфигурационных файлов сети 720 Глава 24. Работа в сети с помощью РРР и 802.11 723 Дозвон с помощью РРР 724 Сбор необходимой информации 724 Конфигурирование демона РРР ядра 725 Запуск демона pppd 729 Аутентификация РАР и CHAP 729 Дозвон по требованию и постоянные соединения 731 Запуск команд при подключении и отключении 732 РРР поверх Ethernet (PPPoE) 733 Устранение неполадок в РРР 734 Подключение к беспроводной (802.11) сети 735 Выбор беспроводной карты 735 Базовые (нешифрованные) беспроводные соединения 736 Шифрованные беспроводные соединения 737 Сценарии подключения и отключения 738 Глава 25. Конфигурирование почтовых служб 739 Введение в SMTP 740 Агенты передачи почты (МТА) и почтовые агенты пользователя (MUA) 743 Распространенные МТА 743 Распространенные MUA 744 Конфигурирование базовых почтовых служб с Sendmail 746 Раскладка файлов Sendmail 746 Конфигурационные файлы 747 Преобразование DNS 752 Управление Sendmail 753 Очередь сообщений 754 Понятие ретрансляции 756 Как работает ретрансляция . 756 Конфигурирование S1 для разрешения ретрансляции пользователям 757 Введение в РОРЗ 759 Конфигурирование сервера РОРЗ с помощью Qpopper 760 Дополнительная информация 764 Конфигурирование сервера IMAP с помощью IMAP-UW 765 Электронная почта для отдельно стоящих рабочих станций 767 Использование Fetchmail для извлечения почты с серверов РОРЗ и IMAP 767 Конфигурирование файла • f etchmailrc 768 Конфигурация Sendmail для отдельно стоящих рабочих станций 771 Фильтрация мусорной почты средствами Procmail и SpamAssassin 772 Установка SpamAssassin 774 Установка Procmail 775 Обзор некоторых альтернатив Sendmail 778 Postfix 778 Qmail 779 Exim 779
20 Содер: жание Глава 26. Конфигурирование Web-сервера 781 Введение в протокол HTTP 782 Структура запроса HTTP 783 Коды ответа и перенаправления 785 Получение и установка Apache 786 Раскладка файлов Apache 787 Конфигурирование Apache 789 Использование httpd. conf 790 Использование файлов . htaccess и переопределений 791 Запуск и останов демона HTTP 793 Базовый контроль доступа в Apache 795 Контроль доступа по адресу 795 Контроль доступа по паролю 796 Контроль доступа по адресу и паролю 799 Виртуальный хостинг 800 Введение в модули Apache 802 Встроенные модули 802 Динамически загружаемые модули 803 Модули от независимых поставщиков 804 Включения стороны сервера 806 Введение в CGI 809 Включение CGI в Apache 809 Разработка CGI-программ 811 Глава 27. Конфигурирование FTP-сервера 815 Введение в протокол передачи файлов 816 Раскладки файлов аутентифицированного и анонимного FTP 819 Конфигурирование FTP-сервера 820 Контроль FTP-доступа 823 Файл /etc/f tpusers 823 Файл /etc/shells 824 Файл /var/run/nologin 824 Разрешение анонимного FTP-доступа 825 Виртуальный хостинг 826 Использование альтернативных FTP-серверов 827 WU-FTPD 827 vsftpd 827 ProFTPD 828 Secure FTP (sftp) 828 Глава 28. Конфигурирование Internet-шлюза 829 Основы маршрутизаторов и преобразования сетевых адресов (NAT) 830 Что такое шлюз? 832 Что такое NAT? 832 Конфигурирование шлюза NAT в FreeBSD 834 Разрешение пересылки пакетов 835
Содержание 21 Включение NAT для систем без статических IP-адресов 835 Применение пользовательского РРР 836 Использование РРР ядра или выделенного Ethernet-соединения с Internet 836 Конфигурирование и включение natd 837 Включение и конфигурирование брандмауэра 837 Конфигурирование клиентов для использования нового шлюза 838 Конфигурирование клиентов Windows 839 Конфигурирование клиентов Mac OS и Mac OS X 839 Конфигурирование клиентов FreeBSD 841 Конфигурирование клиентов Linux 841 Конфигурирование точки беспроводного доступа в Internet 842 Маршрутизация между тремя и более сетями 843 Динамическая маршрутизация 845 Маршрутизация в пределах предприятия и DMZ 846 Глава 29. Конфигурирование сервера баз данных 847 Введение в дизайн и администрирование баз данных 848 SQL: язык структурированных запросов 849 Базовый синтаксис SQL 851 Использование баз данных с открытым кодом MySQL и PostgreSQL 854 В чем отличия между MySQL и PostgreSQL? 854 Инсталляция MySQL 855 Инсталляция PostgreSQL 856 Конструирование системы баз данных 859 Создание таблиц 862 Поддержание безопасности 865 Написание административных сценариев 867 Подключение к базам данных с помощью Perl 867 Подключение к базам данных с помощью Python 869 Сценарий Perl для наполнения базы данных 869 Подключение базы данных к Web 870 Использование Perl и CGI для доступа к содержимому базы данных 871 Вставка данных в базу 871 Создание поисковой формы 873 Блокировка сеанса и целостность данных 875 Соображения безопасности 876 Использование РНР для обеспечения управляемого базой данных содержимого на Web-страницах 877 Инсталляция РНР 877 Поток управления и приемы программирования 878 Взаимодействие с базами данных 878 Соображения безопасности 880 Оптимизация производительности базы данных 880 Мониторинг использования базы данных 881 Создание временных таблиц 883 Использование кэш-таблиц 883 Выполнение резервного копирования базы данных 884
22 Содержание Подготовка дампа базы данных 884 Восстановление базы данных 885 Проектирование с учетом восстанавливаемости 886 Глава 30. Безопасность сети 887 Выбор модели безопасности на основе имеющихся рисков 888 Модели безопасности 888 Риски безопасности, с которыми вы сталкиваетесь 890 Политики паролей 891 Обеспечение безопасных паролей с помощью Crack 892 Обеспечение устаревания паролей 893 Присваивание начальных паролей 895 Одноразовые пароли с S/Key 896 Kerberos 899 Избежание проблем со службами открытого текста 899 Использование tcpdump для мониторинга трафика 900 Обеспечение дополнителькой безопасности с шифрованными протоколами ' 901 Защита терминального трафика (SSH) 902 Защита почтовых служб (РОРЗ и IMAP) 903 Защита FTP 905 Защита Apache 906 Apache-SSL 907 Apache с mod s s 1 907 Плохо написанные CGI-сценарии 908 Повышение безопасности CGI-сценариев с помощью CGIWrap 909 Системные профили безопасности и безопасность ядра (Securelevels) 910 Использование брандмауэра 913 Включение брандмауэра 914 Проектирование правил IPFW 915 Применение конфигурационного файла брандмауэра 917 Предотвращение проникновений и компрометации 918 Использование PortSentry 918 Использование /etc/hosts.allow 922 Использование Tripwire 923 Если вы подозреваете, что подверглись нападению... 926 Атаки типа "отказа в обслуживании" (DOS) 928 Ограничение количества порожденных процессов на сервере 929 Защита от атак атрамплиномп 930 Физическая защита 931 Другие ресурсы, посвященные безопасности 932 Страница man security 932 Списки рассылки 932 Рекомендации по безопасности FreeBSD 933 Ресурсы в Web 933 Книги 934
Содержание I ГГ~ Глава 31. Виртуальные частные сети (VPN) 935 Что такое VPN? 936 Топологии VPN 939 Службы VPN в FreeBSD: IPSec 941 Подготовка вашей системы 941 Подключение к серверу VPN в FreeBSD 944 Подключение к VPN-серверу Windows 946 FreeBSD как сервер VPN 949 Глава 32. Сервер доменных имен 951 Введение в структуру, функции и программное обеспечение DNS 952 Программное обеспечение DNS: BIND 953 Зоны 954 Файлы и программы BIND 954 Включение демона сервера доменных имен 955 Запуск BIND в sandbox 955 Работа с конфигурационным файлом BIND (named. conf) 956 Использование экспедитора 958 Конфигурации ведущего и ведомого 960 Другие типы зоны 961 Ограничение доступа к DNS 961 Создание файла зоны 963 Начальные записи зон (SOA) 964 Записи серверов имен (NS) 966 Записи адресов (А) 966 Записи канонических имен (CNAME) 967 Записи обмена почтой (MX) 967 Записи указателей (PTR) 968 Файлы зон обратного просмотра DNS 968 Создание файла зоны localhost 969 Конфигурирование кэширующего сервера имен 969 Глава 33. Сетевая файловая система 971 Введение в NFS 972 Конфигурирование сервера NFS 975 Демон NFS (nf sd) 975 Демон монтирования NFS (mountd) 976 Определение совместно используемых ресурсов в файле /etc/exports 976 Конфигурирование клиента NFS 978 Демон ввода/вывода NFS (nf s iod) 978 Монтирование удаленных файловых систем 979 Автоматическое монтирование удаленных файловых систем при загрузке системы 980 Демон автоматического монтирования (amd) 981
24 Содержание Глава 34. Совместное использование файлов и печати с Microsoft Windows 983 SMB/CIFS и Samba 985 Просмотр 985 Безопасность, рабочие группы и домены 986 Установка и конфигурирование Samba 987 Демоны smbd и nmbd 988 smb.conf и SWAT 988 Совместный доступ к каталогам 990 Разделяемые принтеры 991 Контроль доступа 992 Файлы журналов Samba 995 Переменные Samba 996 Прочие компоненты Samba 997 Доступ к совместно используемым файлам в системе Windows (файловая система smbf s) 997 Глава 35. Протокол динамической конфигурации хоста (DHCP) 999 Как работает DHCP 1000 Аренда IP-адреса 1000 Преимущества DHCP перед статическими IP-адресами 1001 Включение DHCP 1002 Программа dhclient 1003 Опции командной строки dhc 11ent 1003 Файл dhclient. conf 1003 Запуск сервера DHCP 1005 Часть VI. Приложения 1007 Приложение А. Команды и конфигурационные файлы 1009 Опции команд 1009 Команды для работы с файлами и каталогами 1010 Команды для работы с учетными записями и правами пользователей 1011 Команды, наиболее часто используемые в оболочке 1012 Команды для обслуживания системы и вызова системных утилит 1013 Команды для работы с принтером 1014 Команды для установки и удаления пакетов программ 1014 Общие конфигурационные файлы 1013 Приложение Б. Списки совместимого оборудования 1017 Требования к системе 1017 Поддерживаемое оборудование 1018 Дисковые контроллеры (IDE/ATA) 1018 Дисковые контроллеры (SCSI) 1018 Оптические дисководы (CD-ROM/DVD) 1020 Сетевые карты 1020 Беспроводные сетевые карты 1023 USB-устройства 1024
Содержание 25 Аудиоустройства 1024 Устройства FireWire (IEEE 1394) 1025 .Устройства Bluetooth , 1025 Видеокарты, поддерживаемые XI1 1025 Приложение В. Поиск и устранение проблем в процедуре установки и загрузки 1031 Проблемы, возникающие во время установки 1031 Загрузка с дискеты приводит к зависанию или перезагрузке системы 1032 Загрузочная дискета зависает на этапе "Probing Devices" ("Проверка устройств*) 1032 Система загружается с CD-диска, но программа установки сообщает о том, что CD-ROM не обнаружен 1032 Геометрия жесткого диска не распознается должным образом 1033 Micron и/или другие системы зависают при загрузке 1033 Проблемы, возникающие во время загрузки, и другие проблемы, случающиеся уже после установки FreeBSD 1033 FreeBSD при загрузке отображает сообщение "Missing Operating System** ("Отсутствует операционная система*) 1033 Диспетчер загрузки FreeBSD зависает на сообщении "F?" 1034 Загрузчик операционной системы FreeBSD отображает сообщение "Read Error" ("Ошибка чтения") и зависает 1034 Никакой экран диспетчера загрузки не появляется; сразу же загружается Windows 1034 FreeBSD распознает меньший объем ОЗУ, чем на самом деле доступный в системе 1034 При попытке смонтировать диск CD-ROM FreeBSD отображает сообщение "Device Not Configured" ("Устройство не сконфигурировано") 1035 Работа программ завершается и появляется сообщение об ошибке "Signal 11" 1035 При запуске top, ps и других системных утилит появляются странные сообщения (вроде "ргос size mismatch") 1036 Если вы забыли пароль пользователя root 1036 Приложение Г. Источники дополнительной информации 1037 Источники информации о FreeBSD 1037 Web-сайты 1037 Списки рассылки 1038 Общие списки 1038 Технические списки 1041 Посвященные FreeBSD группы новостей в Usenet 1042 Каналы IRC 1042 Источники информации по BSD в целом 1042 Web-сайты 1043 Другие источники в Internet 1043 Web-сайты 1043 Группы новостей в Usenet 1045 Предметный указатель 1046
Об авторе Брайан Таймэн (Brien Tiemann) — вольнонаемный писатель технического профиля, на литературном счету которого несколько книг по Mac OS X, iTunes, iPod и iLife, а также по FreeBSD (в частности, это уже третье издание этой книги). Брайан пользуется FreeBSD постоянно, еще со студенческих времен в Калифорнийском технологическом институте, где он работал в FreeBSD, создавая Web-сайт любителей кино, который существует до сих пор и прекрасно справляется с не перестающей увеличиваться нагрузкой. Сейчас Брайан живет в Сан-Хосе (штат Калифорния), присматривает за двумя собаками и в свободное время занимается разработкой устройств для оптимизации сетей. Посвящение Моим родителям Кейту и Энн, а также моему брату Майку и его жене Джулии. Брайан Таймэн Благодарности Это уже третье издание книги; как и в предыдущих изданиях, содержимое книги значительно изменилось, потому что изменилось программное обеспечение, которое в ней описывается, однако некоторые вещи остались прежними, а именно: неимоверные усилия сотрудников издательства Sams Publishing. В частности, мне хотелось бы поблагодарить Кейт Гивенс (Kate Givens), которая привела материал в корректный с точки зрения грамматики и стилистики вид, Джоша Мора (Josh More), который проверил правильность технических моментов, Джорджа Недеффа (George Nedeff), который вообще руководил всем процессом авторской вычитки и редактирования, а также Скотта Мейерса (Scott Meyers) и Дженни Уотсон (Jenny Watson), которые очень быстро скомпоновали весь проект. Также я должен поблагодарить Кэтрин Пердэм (Kathryn Purdum), которая, предоставила мне возможность работать над этой книгой еще в самом начале, много лет назад, когда такая возможность казалась практически нереальной. Конечно же, отдельной благодарности заслуживает Майкл Урбан (Michael Urban), с которым мы вместе трудились над предыдущими изданиями: многие написанные им главы легли в основу и этой книги. Его опыт работы с FreeBSD всегда служил прекрасным дополнением моему собственному, и он всегда приходил на помощь в тех вопросах, в которых я был не достаточно компетентен. Какой бы сложной и развернутой не была книга по FreeBSD, со сложностью самой FreeBSD ей все равно не сравниться, и усилия тех, кто создавал книгу, все равно нельзя сравнить с усилиями разработчиков FreeBSD, которые потратили бесконечное количество часов на то, чтобы "вывести FreeBSD в свет*, а также усилиями неутомимых пользователей, которые документируют и обмениваются своими впечатлениями через Internet. Без всех этих добровольных усилий создание подобного сложнейшего проекта было бы невозможным. Также я хочу отдельно поблагодарить Пола Саммерса (Paul Summers) за то, что он выполнял такую сложную и тяжелую работу администратора моего сайта, в то
Благодарности время как я лишь разглагольствовал, одобрял и раздавал указания издалека; Лэнса (Lance), Криса (Chris), Брайана Д. (Brian D.), Дэвида (David), Дрю (Drew), Зджонни (Zjonni), Джеррит (Gerrit), Маркуса (Marcus), Мэтта (Matt), Трента (Trent) и всех остальных моих друзей, которые помогли мне сформировать мнение и определиться с предпочтениями по операционным системам и программам; Джеймса (James), Стивена (Stiven), Майка (Mike), Майка (Mike) и всех остальных, кто постоянно читал мои опусы в онлайновом режиме, вдохновлял меня и помогал быть честным, а также (по моей'прихоти) уделял мне свое внимание даже в самое позднее время суток. И, наконец, я хочу выразить свою признательность всем членам TLK-L и Lionking.org за то, что они меня все время поддерживали, позволяя мне чувствовать, что я разбираюсь в том, о чем пишу. Может, экземпляр этой книги будет добавлен в библиотеку 8р, где ему, в принципе, самое место. От издательства Вы, читатель этой книги, и есть главный ее критик и комментатор. Мы ценим ваше мнение и хотим знать, что было сделано нами правильно, что можно было сделать лучше, и что еще вы хотели бы увидеть изданным нами. Нам интересно услышать и любые другие замечания, которые вам хотелось бы высказать в наш адрес. Мы ждем ваших комментариев и надеемся на них. Вы можете прислать нам бумажное или электронное письмо, либо просто посетить наш Web-сервер и оставить свои замечания там. Одним словом, любым удобным для вас способом дайте нам знать, нравится или нет вам эта книга, а также выскажите свое мнение о том, как сделать наши книги более интересными для вас. Посылая письмо или сообщение, не забудьте указать название книги и ее авторов, а также ваш обратный адрес. Мы внимательно ознакомимся с вашим мнением и обязательно учтем его при отборе и подготовке к изданию последующих книг. Наши координаты: E-mail: inf o@williamspublishing ¦ com WWW: http: //www. williamspublishing. com Информация для писем из: России: 115419, Москва, а/я 783 Украины: 03150, Киев, а/я 152 Благодарности издательства Издательский дом "Вильяме" благодарит Ерофеева Сергея за большой вклад в подготовку издания книги.
Введение Если вы читаете эту книгу, то, скорее всего, вы — технический специалист (профессионал в области информационных технологий), зарабатывающий себе на жизнь с помощью Internet и связанных с ним отраслей. Возможно, вы слышали о таком феномене как "программное обеспечение (ПО) с открытым кодом"; это ПО, созданное разработчиками-добровольцами, которое распространяется абсолютно бесплатно вместе с исходным кодом, что позволяет пользователям анализировать код любой доступной в этом ПО функциональной возможности и даже изменять его или добавлять что-то свое. Вы наверняка не прочь воспользоваться таким ПО с открытым i дом и сделать так, чтобы оно работало на вас. Тем не менее, существует вероятность, что о FreeBSD вы не слышали. Самой * "яркой звездой" в мире ПО с открытым кодом на сегодняшний день является доступная бесплатно операционная система Linux, которая уже заручилась финансовой поддержкой такого гиганта по разработке ПО как IBM, и постоянно маячит в заголовках новостей о компьютерных технологиях, но Linux — это не единственная доступная бесплатно операционная система семейства Unix. О FreeBSD реже пишут в новостях, но это более старая и более надежная операционная система, которая стояла еще у истоков Unix и имеет ряд технических и концептуальных преимуществ по сравнению со своей более "модной" соперницей. К преимуществам FreeBSD относится реализация стека сетевых протоколов TCP/IP, который многие находят одним из лучших в компьютерной индустрии, и реализация справочной системы, к которой разработчики другого ПО часто обращаются за справкой. Также одним из главных ее достоинств является надежная, основанная на микроядре архитектура, которую можно настроить так, что FreeBSD будет работать намного лучше, чем работала бы Linux в той же тестовой или производственной среде. Система пакетирования для сторонних программ в FreeBSD представляет собой очень простую и очень эффективную модель, и поскольку все в FreeBSD, начиная от ядра и заканчивая самыми маленькими вспомогательными программами, создавала одна группа разработчиков, каждому компоненту была уделена должная часть внимания, что в мире Linux встречается крайне редко. Таких отличий между FreeBSD и Linux еще очень много, хотя внешне эти две системы могут показаться очень похожими. Однако откуда же берутся эти отличия? Люди часто забывают, что Linux — это не Unix. Да, в принципе Linux можно назвать операционной системой, подобной Unix, потому что она выполняет те же функции, что и большинство наиболее популярных и продаваемых версий Unix. Однако ее от начала и до конца разрабатывали сами пользователи на основе исходного кода, поэтому перед ее названием так часто можно увидеть слово "GNU" ("GNU's Not UNIX" — проект по свободному распространению программного обеспечения). Все основные условия, которым должен отвечать проект GNU, перечислены в общедоступной лицензии GPI (GNU General Public License), где в качестве одного из пунктов указано, что любой разрабатываемый по этому соглашению код должен быть доступен бесплатно. Условия этого соглашения касаются также и коммерческих организаций, занимающихся разработкой ПО: любое ПО, которые они создают с помощью подпадающих под действие GPI материалов, они должны выпускать с доступным бесплатно исходным кодом. Если между сторонниками бесплатного и коммерческого ПО и возникают разногласия, то только по поводу этого с виду совсем безобидного лицензионного соглаше-
Введение ния. Проблема состоит в том, что многие компании не хотят принимать его условия, потому что для них бесплатное распространение исходного кода равнозначно разглашению профессиональных секретов. ПО, разрабатываемое в соответствии с условиями лицензии GPL, — это своего рода воплощение в реальность мечты о программном обеспечении, создаваемом людьми для людей, которое никому не принадлежит и которым могут пользоваться все, что противоречит принципам коммерческого ПО, которое продается в скомпилированной, исполняемой форме, и права на пользование которым принадлежат только одному конкретному производителю. В Linux эта мечта во многом осуществилась, но негативное влияние условий лицензионного соглашения GPL на бизнес привело к тому, что многие компании отказались использовать Linux в качестве основы при разработке своего ПО. И именно здесь становятся очевидными преимущества FreeBSD. FreeBSD и коммерческое ПО FreeBSD и Linux имеют разные традиции в смысле открытого кода. FreeBSD разрабатывалась не на основе лицензионного соглашения GPL, а на основе лицензионного соглашения BSD (Berkeley Software Design), в котором указывается, что код, первоначально разработанный в исследовательских центрах Калифорнийского университета в Беркли, может повторно использоваться при разработке ПО (в том числе и в коммерческих целях), и что последующая публикация исходного кода не является обязательным условием. Отчасти именно поэтому компания NeXT (которая была основана Стивом Джобсом (Steve Jobs)) предпочла использовать операционную систему BSD в качестве основы для своей платформы NeXTSTEP, которая, в конечном счете, превратилась в операционную систему Mac OS X. Точно так же, пытаясь прощупать почву и привлечь внимание научных кругов, Microsoft выпустила в 2002 году среду программирования для своего языка С# и сделала ее доступной для двух операционных систем, Windows и FreeBSD. Отсутствие в лицензионном соглашении BSD условия об обязательной бесплатной публикации "ключей от королевства" делает его более привлекательным для компаний, занимающихся разработкой ПО в коммерческих целях, нежели соглашение GPL. Оно, с одной стороны, стимулирует пользователей принимать участие в разработке, а, с другой стороны, не накладывает никаких ненужных ограничений на компании. Поэтому компании предпочитают тратить свои ресурсы на разработку именно BSD-сертифицированных программ и превращения их в по-настоящему полезные продукты. Из-за увеличения популярности Linux, FreeBSD приходится в прямом смысле "бороться за свое место под солнцем"; и хотя в технической прессе упоминания о FreeBSD сегодня встречаются практически так же часто, как и о Linux, большая часть внимания все равно достается Linux. Однако это вовсе не означает, что FreeBSD является в каком-то смысле менее привлекательной платформой, особенно если рассматривать ее с чисто технической точки зрения. На базе FreeBSD по-прежнему разрабатывают новый код и новые функциональные возможности, которые потом, подобно Mac OS X, превращаются в коммерческие продукты. Преимущества цельной архитектуры FreeBSD, которая поставляется в виде одного "дистрибутива" и с даже еще более усовершенствованным процессом инсталляции и пакетирования, сегодня ценятся не меньше, чем раньше. Новые версии FreeBSD продолжают выпускаться и пополняться постоянно появляющимися новыми технологиями (вроде Wi-Fi, FireWire и многоуровневой, симметричной параллельной обработкой), так что
Введение пользователю FreeBSD доступна та же (а в некоторых случаях даже большая) мощность, что и пользователю Linux, и он может выполнять все те же задачи, выполнение которых в Windows невозможно. Все это означает, что FreeBSD вполне подходит вам, если вы: • Научный сотрудник, которому в лаборатории необходима стабильная платформа для тестирования. т • Любознательный пользователь, который хочет открыть для себя мир настольных систем с открытым кодом. • Специалист, тестирующий высокоэффективную топологическую схему сети, • Администратор Web-сайта, которому необходима стабильная система с определенной структурой. • Разработчик ПО, ищущий возможности внести свой вклад в разработку коммерческих продуктов, таких как операционная система Mac OS X. • Просто пользователь, который не хочет зависеть от ограничений ПО с закрытым кодом. Преимущества FreeBSD Я впервые решил установить FreeBSD в 1997 году, когда вышла версия 2.2.2. Мое внимание к FreeBSD привлек тот факт, что уже на столь ранней стадии развития этой операционной системы поисковая система Yahoo! предпочла использовать в качестве платформы ее, а не Linux, а также то, что Hotmail (до того, как была приобретена Microsoft) использовала ее параллельно с Solaris для обработки огромного трафика, создаваемого пользователями ее работающей через Web службы электронной почты. Эти сведения показались мне достаточно убедительными, а когда я узнал, что FreeBSD можно установить через сеть с помощью установочных дискет, у меня вообще отпали все сомнения. С того времени FreeBSD сильно изменилась: структура системы стала намного более организованной, модель безопасности — более сложной и более надежной, а революционный механизм "коллекции портов" для установки сторонних программ — настолько популярным, что он был даже импортирован в NetBSD, OpenBSD и Mac OS X. Также более простой стала и процедура перехода на FreeBSD с других платформ. Многие коммерческие и бесплатные (то есть с открытым кодом) версии Unix имеют свою собственную иерархию файловой системы и методы конфигурирования, изучать которые — это то же самое, что и изучать другой иностранный язык; а модель FreeBSD, основанная на централизованных конфигурационных файлах и имеющая четко контролируемую структуру файловой системы, является более предсказуемой и более удобной для администрирования, чем какая-либо другая система в мире Unix. Поэтому ее легче осваивать, особенно пользователям, которые давно работают с другими платформами Unix. И, наконец, модуль ядра Linux, обеспечивающий совместимость на уровне двоичных кодов, позволяет программам, разрабатывавшимся в коммерческих целях для Linux (таким как RealPlayer и Oracle), запускаться на платформе FreeBSD. Хотя FreeBSD не пользуется такой популярностью, как Linux (или даже можно сказать, страдает от этой популярности), она действительно предоставляет практически все основные преимущества, доступные пользователям, которые работают с Linux, а также множество своих собственных преимуществ.
Введение Сейчас Linux занимает первое место по популярности среди операционных систем с открытым кодом (и, по крайней мере в ближайшем будущем, эта ситуация вряд ли изменится). Однако FreeBSD продолжает удерживать свои позиции на рынке, представляя собой альтернативный вариант операционной системы для компаний, которые устали от "диктатуры" Microsoft, но беспокоятся о возможных негативных последствиях перехода на Linux или не знают, какой дистрибутив лучше выбрать. Другие BSD-сертифицированные операционные системы тоже "надежно закрепились" на соответствующих участках рынка: OpenBSD, например, продолжает считаться самой безопасной из всех доступных операционных систем, a NetBSD славится тем, что может запускаться на огромном количестве различных аппаратных платформ, начиная от Intel x86 и Motorola PowerPC и заканчивая Sega Dreamcast. Роль FreeBSD более универсальна — при теперешнем мощном оборудовании она запросто может использоваться в качестве полнофункционального Internet-сервера или рабочей станции. Она не является чрезмерно специализированной и не выставляет условий, которые могут отпугнуть финансовых директоров корпораций. Она придерживается курса, который пролегает как раз между двумя существующими сегодня противоположными направлениями, и в ближайшие годы, скорее всего, по-прежнему будет занимать стабильные позиции на рынке и оставаться наиболее предпочитаемым вариантом операционной системы в мире среди компьютерных профессионалов с высокими требованиями. Мы не могли в точности предвидеть, каким будет состояние компьютерной индустрии ни двадцать, ни десять, ни даже пять лет назад. И сейчас мы тоже даже не можем себе представить, что ждет нас через 10 или 20 лет, но, судя по тому, как успешно складывалась судьба FreeBSD до сих пор, можно сделать следующий вывод: FreeBSD будет с нами до тех пор, пока будет существовать такое направление, как "разработка ПО с открытым кодом". Возможно, настанет такой день, когда FreeBSD благодаря тому, что она представляет собой компромисс между гибкостью, которую подразумевает ПО с открытым кодом, и защищенностью, которой требует коммерческое ПО, станет единственно возможным типом платформы. Как организована эта книга Эта книга писалась с расчетом на разбирающегося в компьютерах читателя, которому всегда интересно узнать о новых технологиях. Я преследовал следующую цель: предоставить всю необходимую информацию для того, чтобы читатель, независимо от имеющегося у него уровня компьютерных знаний (по Windows или по Unix), мог извлечь максимальную выгоду из перехода на FreeBSD. Какая бы задача не стояла перед читателем (перенести отлаженный корпоративный сервер на быструю и стабильную платформу FreeBSD, создать высокоэффективную среду для тестирования или настроить "любительскую" машину для повседневной работы), в этой книге он сможет найти все, что ему нужно. Читая книгу "от корки до корки", вы сможете пройти полноценный образовательный курс по FreeBSD, начиная от первоначальных процедур установки и заканчивая сложными опциями и технологиями администрирования. В зависимости от имеющегося опыта работы с компьютерами или с FreeBSD, вы можете решить начать читать эту книгу сразу с какой-нибудь более поздней главы, в которой описывается интересующая вас тема. Однако чтобы получить полное представление о том, что делает FreeBSD уникальной операционной системой и какие идеи лежат в ее основе,
Введение я рекомендую начинать с первой главы, в которой подробно описывается процедура установки FreeBSD. Как бы вы не решили читать эту книгу (подряд или только выборочные главы), вы наверняка оцените логичность представленного в ней материала: • Часть I, "Введение в FreeBSD". В этой части описывается процедура установки FreeBSD. Если вы устанавливаете FreeBSD впервые или если вы хотите освежить свои знания о том, как это делается, вам следует начинать именно с этой части, • Часть II, "FreeBSD как настольная система". В этой части приводится краткий обзор доступных в FreeBSD графических сред для пользователя и особое внимание уделяется высокоэффективной настольной системе KDE. Эта информация может вам пригодиться, если вы не умеете пользоваться интерфейсом командной оболочки или если вы достаточно опытный пользователь и хотите сделать так, чтобы FreeBSD работала как настольная операционная система. Вы спокойно можете пропустить этот раздел, если знаете, как работать с командной оболочкой, a FreeBSD вас больше интересует из-за ее серверных возможностей, а не в качестве заменителя операционной системы Windows на вашей настольной системе. • Часть III, "FreeBSD и командная строка". В этой части описывается среда командной оболочки — интерфейс командной строки, являющийся главным в FreeBSD и других операционных системах типа Unix. В главах этой части вы узнаете, как можно настроить командную оболочку по своему вкусу и как можно автоматизировать работу с помощью сценариев, а также ознакомитесь с базовыми концепциями программирования в Perl. • Часть IV, "Системное администрирование". В этой части более подробно описываются технологии, позволяющие настраивать FreeBSD в соответствии с имеющимися конкретными требованиями. Здесь рассказывается о том, как устроена файловая система в FreeBSD, как работает система учетных записей и прав пользователей, а также о том, как можно конфигурировать систему и следить за ее работой (то есть выполнять мониторинг). В этой части вы научитесь устанавливать и обновлять сторонние программы и саму FreeBSD, настраивать параметры печати, а также добавлять на жесткий диск раздел и конфигурировать его именно так, как вам нужно. Завершающая глава этой части представляет собой краткий перечень основных, наиболее важных рекомендаций и технологий, необходимых для успешного администрирования системы FreeBSD, a также советов касательно того, как настроить машину FreeBSD так, чтобы ее производительность была максимальной. Многие из приводимых здесь трюков были выведены специалистами по Unix путем длительных проб и ошибок. • Часть V, "Работа в сети FreeBSD". В этой части приводится информация, позволяющая превратить машину FreeBSD в платформу Internet-сервера мирового класса. Сначала здесь описываются особенности сетевой работы через TCP/IP и процедура настройки такой работы в FreeBSD. Далее приводятся подробные инструкции по настройке базы данных, службы электронной почты, Web, FTP-сервера и служб маршрутизации, а также DNS, общего доступа к файлам Windows и NFS. Сетевая безопасность является очень важной темой для любого, кто желает создать сетевой сервер, и поэтому вы ни в коем случае не должны пропустить ее.
Введение • Часть VI, "Приложения", В этой части содержится информация справочного типа, которая может быть вам полезной, независимо от вашего уровня квалификации. Здесь вы найдете описание команд Unix, списки совместимого оборудования, инструкции по выявлению и устранению неисправностей, а также перечень дополнительных источников, которыми вы можете воспользоваться, когда вам перестанет хватать данной книги (но тогда вас уже наверняка можно будет назвать истинным специалистом). В этой книге рассматривается самая последняя из существующих на текущий момент версий FreeBSD — FreeBSD 6.1. Развитие FreeBSD в последние годы происходило в умеренном темпе, поэтому если у вас установлена версия FreeBSD 5.x, многое из того, о чем рассказывается в этой книге, подходит и вам. Конечно, наиболее значительные отличия между FreeBSD 6.x и несколькими последними версиями серии 5.x будут рассматриваться, но наибольшее внимание все же будет уделяться технологиям использования и соглашениям версий FreeBSD серии 6.x Соглашения, принятые в этой книге Для привлечения внимания читателя к важной (или просто интересной) информации, в этой книге использовались перечисленные ниже врезки. НА ЗАМЕТКУ Во врезках "На заметку" приводятся комментарии и другие дополнительные сведения по рассматриваемой на данный момент теме, а также подробные пояснения определенных вопросов. СОВЕТ Во врезках "Совет" предлагаются удобнее клавиатурные комбинации и советы о том, как сделать работу с FreeBSD более эффективной. Внимание! Во врезках "Внимание!" приводится очень важная информация о ловушках, которые могут подстерегать неосторожного пользователя в FreeBSD. Она поможет читателю избежать ненужных проблем. Кроме того, в этого книге также будут встречаться следующие типографские соглашения: • Команды, переменные, имена каталогов и имена файлов выделены моноширинным шрифтом. • Команды и текст, который следует вводить, выделяется моноширинным шрифтом с полужирным начертанием. • Метки-заполнители в описаниях синтаксиса выделяются моноширинным шрифтом с курсивным начертанием: вместо метки-заполнителя должно вводиться фактическое имя файла, значение параметра или другой элемент, в зависимости от того, что собой представляет данная метка-заполнитель.
ЧАСТЬ I Введение в FreeBSD В этой части... Глава 1. Что собой представляет FreeBSD Глава 2. Установка FreeBSD Глава 3. Дополнительные задачи по установке
ГЛАВА I Что собой представляет FreeBSD В этой главе... • Преимущества использования FreeBSD • Что можно делать с помощью FreeBSD? • FreeBSD подходит уже не только для серверов • Краткая история FreeBSD и UNDC • Философия разработки UNIX • FreeBSD в сравнении с другими операционными системами • Логотип FreeBSD
Введение в FreeBSD FreeBSD — это, гр\бо говоря, UNIX. To есть это полнофункциональная операционная система (ОС), в основе которой лежит оригинальное, высоконадежное программное обеспечение (ПО) UNIX, разработанное в Калифорнийском университете в Ьеркли. Она может запускаться на таких платформах, как Intel x86, 64-разрядной Opteron (производства AMD), Athlon 64 и Alpha (производства Intel) и UltraSPARC (производства Sun). FreeBSD можно установить абсолютно бесплатно практически на любом стандартном ПК. Добровольцы со всего мира постоянно совершенствуют FreeBSD, и исходный код системы бесплатно доступен каждому желающему. В этой главе читатель познакомится с некоторыми наиболее важными функциональными возможностями и преимуществами FreeBSD, сможет понять, что в принципе собой представляет эта операционная система и какие задачи она позволяет выполнять, узнает немного о том, как FreeBSD появилась и как ей удалось стать тем, чем она является сегодня, а также о том, чем она отличается от*других операционных систем подобного типа. Преимущества использования FreeBSD Причин, по которым стоит пользоваться операционной системой FreeBSD, существует, наверное, столько же, сколько людей, которые отдают ей предпочтение. Пожалуй, наиболее очевидная причина — это то, что FreeBSD доступна бесплатно, причем и самом что ни на есть прямом смысле этого слова: ее не только можно бесплатно загрузить и установить, но и за нее не нужно платить никаких лицензионных отчислений. Вы можете установить одну копию FreeBSD на стольких компьютерах, на скольких пожелаете, не потратив буквально ни гроша. В отличие от некоторых коммерческих сетевых операционных систем, при использовании FreeBSD на сервере также не нужно платить и ни "за соединение", ни "за пользователя". Однако то, что FreeBSD доступна бесплатно, вовсе не означает, что она хуже коммерческих операционных систем по качеству. Ниже перечислено еще несколько убедительных причин, по которым стоит задуматься о переходе на FreeBSD. • Она чрезвычайно стабильна. Известно, что серверы FreeBSD могут работать без перезагрузки в течение более чем трех лет. • Ей доверяют одни из самых крупных компаний, и она используется на некоторых наиболее загруженных сайтах в мире. Среди этих компаний и сайтов Sony, Yahoo! и The Apache Project. • Ее код открыт для пользователей. Исходный код этой операционной системы полностью доступен для пользователей, то есть они могут изменять его, выполнять в нем проверку средств безопасности, разрабатывать новые функциональные возможности и затем добавлять их в операционную систему. • Для нее доступны тысячи бесплатных пакетов программ. Пользователи FreeBSD могут устанавливать тысячи бесплатных, доступных для UNIX программ для выполнения любых задач, начиная от игры в шахматы и заканчивая моделированием процесса деления клеток и роста бактерий, обработкой текста, редактированием изображений и обслуживанием Web-страниц.
Что собой представляет FreeBSD 39 Глава 1 Что можно делать с помощью FreeBSD? Поскольку FreeBSD поставляется с компиляторами для множества языков программирования, задачи, которые пользователь может выполнять в этой операционной системе, ограничиваются только воображением этого пользователя и тех ническими возможностями имеющегося у него оборудования. Разные организации используют FreeBSD по-разному: одни применяют ее просто для обеспечения возможности обмена файлами на старых машинах с процессорами класса 486, другие — для создания сложных, специальных эффектов и визуализации генерируемых компьютером анимационных изображений. НА ЗАМЕТКУ Спецэффекты для кинофильма "Матрица" создавались и визуализировались на мощном кластере мультипроцессорных систем на базе FreeBSD. Ниже перечислены цели, для которых FreeBSD применяется наиболее часто и которые не требуют наличия навыков в области программирования и установки специально о программного обеспечения: • Совместное использование файлов и принтеров. Доступное бесплатно программное обеспечение Samba (о котором более подробно будет рассказываться в главе 34) позволяет использовать файлы и принтер совместно с компьютерами, работающими под Windows. Благодаря Samba FreeBSD может даже служить главным контроллером домена для сети Windows. • Обслуживание Web-страниц. Как уже упоминалось ранее, FreeBSD обслуживает некоторые из наиболее загруженных Web-сайтов в мире. Даже если никакой Web- сайт для работы в Internet не создается, из FreeBSD все равно может получиться и прекрасный сервер для обслуживания внутренней сети. Пользующееся огромным спросом серверное ПО Apache, которое обеспечивает совместимость с практически каждой платформой в мире, создавалось на основе FreeBSD. • Службы электронной почты. FreeBSD запросто можно использовать в качестве сервера электронной почты: из нее можно сделать систему с IMAP-достуном и шифрованием, или систему со сложным механизмом фильтрации спама, или даже систему с Web-доступом к почте и возможностями календаря. • Маршрутизация, службы DNS и общий доступ в Internet. FreeBSD позволяет превратить даже машину с маломощным процессором серии Pentium в весьма эффективный маршрутизатор, сервер DNS или шлюз для использования одного Internet-соединения на нескольких компьютерах. • Решения для баз данных. Используя FreeBSD и одну из нескольких доступных бесплатно баз данных SQL, можно создать решение, реализация которого с использованием коммерческого ПО вполне могла бы обойтись в несколько десятков тысяч долларов. Если вычислительных возможностей доступных бесплатно баз данных не достаточно для удовлетворения существующих потребностей, можно установить Linux-версию Oracle (или ее бесплатную версию — Oracle Express), ведь под FreeBSD запускаются и хорошо работают практически все Linux-приложения, причем с FreeBSD они даже иногда работают лучше, чем с самой Linux.
40 Введение в FreeBSD Часть I • Специальные решения. Лицензионное соглашение FreeBSD является достаточно либеральным и позволяет использовать код FreeBSD в других приложениях абсолютно бесплатно, что делает ее просто отличным решением для вас, если вы — дизайнер встраиваемых систем или разработчик, принимающий участие в создании одного из тех проектов, в которых применяется код из проекта FreeBSD (таких как проект Mac OS X компании Apple). Если рассматривать каждую из этих задач по отдельности, то в переходе на FreeBSD, вроде, как и нет смысла, и может даже показаться, что лучше перейти на какую-нибудь другую операционную систему, которая более приспособлена для выполнения конкретной задачи. Однако главное достоинство FreeBSD (которым она обладает благодаря тому, что представляет собой ПО с открытым исходным кодом) состоит в том, что она может делать все эти вещи одновременно. Хотите, чтобы машина работала в качестве контроллера домена Windows и при этом выступала в роли файлового сервера AppleShare и репозитория NFS, а также обслуживала Web-сайт с интерфейсом CGI и являлась сервером базы данных SQL? Можете приобрести и отдельно установить ОС Windows Server, сервер Mac OS X и сервер Linux и потратить месяцы на то, чтобы настроить их и сделать так, чтобы они могли нормально функционировать вместе, а можете просто установить FreeBSD на одной единственной машине и сделать это все в одном месте. FreeBSD подходит уже не только для серверов "Ну, все это, конечно, замечательно", — можете сказать вы, — "но мне из этого ничего не нужно. Я не собираюсь создавать сервер или делать что-либо подобное". Не спешите пока закрывать эту книгу и ложить ее обратно на полку. Существует много задач, которые FreeBSD может выполнять как рабочая станция и которые тоже могут заинтересовать вас: • Разработка и тестирование Web-сайтов. Времена Web-страниц, которые могли отображать только статическое HTML-содержимое, давно прошли. Сегодня конкурирующие на рынке Web-сайты используют серверные технологии, такие как CGI, встраиваемые сценарии и серверы баз данных, и отображают содержимое, которое является динамическим и интерактивным. Это означает, что времена, когда Web-сайты тестировались локально путем загрузки в окно браузера страниц с жесткого диска, тоже давно прошли. Сегодня, чтобы разработать Web-сайт произвольной сложности, обязательно нужно иметь Web-сервер, пригодный для разработки и тестирования. Даже если делать Web-сервер доступным для общего пользования не планируется, все равно можно использовать Apache, PHP и одну из бесплатных баз данных SQL на рабочей станции FreeBSD для того, чтобы иметь возможность выполнять разработку и тестирование в автономном режиме, не загружая никаких страниц в службу хостинга. Это может сэкономить много времени и денег в этом не терпящем ни минуты простоя мире. • Разработка и тестирование баз данных в автономном режиме. Еще одним преимуществом локальной Web-разработки является возможность локального построения баз данных. Используя локальную машину FreeBSD, создайте и протестируйте свою базу данных с помощью MySQL или PostgreSQL. Затем заполните ее данными. Когда закончите, экспортируйте содержимое в виде сценария SQL,
Что собой представляет FreeBSD Глава 1 41 загрузите базу данных в службу хостинга и импортируйте ее в любую совместимую с SQL базу данных, которую этот сервер поддерживает, тем самым сразу же превратив тестовые данные в реальные. • Изучение технологий разработки или программирования. Тех, кто мечтал изучить язык программирования, наверняка обрадует тот факт, что после установки FreeBSD тратить сотни долларов на компиляторы и отладчики не придется: все необходимое для изучения технологий программирования и написания мощных приложений здесь уже есть, и только ждет своего часа. • Изучение структуры ОС или UNIX. Если вы являетесь студентом, изучающим вычислительную технику, и вам необходимо исследовать все детали строения операционной системы, наличие доступа ко всему исходному коду реальной операционной системы UNIX может очень даже помочь. Предположим, вам необходимо изучить UNIX для работы или для курса, который вы проходите в колледже. Хотя вы, конечно, можете воспользоваться имеющимся в вашем учебном заведении кластером UNIX для программирования и проведения своих исследований, однако, установив FreeBSD на своей собственной машине, вы сможете спокойно экспериментировать, имея доступ уровня администратора и не боясь повредить критически важные данные. • Использование бесплатного программного обеспечения для создания недорогой рабочей станции. Благодаря тому, что сегодня доступно много бесплатных программ и недорогих графических сред пользователя (таких как KDE и GNOME), FreeBSD запросто можно превратить в очень мощную и недорогую рабочую станцию настольного типа для выполнения самых различных задач. Среди бесплатных приложений, которые доступны для FreeBSD. программы электронной почты, Web-браузеры, текстовые процессоры, электронные таблицы, базы данных, программы автоматизированного проектирования и редакторы изображений. Кроме того, для FreeBSD даже доступна программа типа Winamp, так что ва шей коллекции МРЗ-файлов ничего не угрожает! Возможно, вас уже заинтересовали какие-то из перечисленных в приведенных выше списках задач, которые позволяет выполнять FreeBSD. Однако прежде чем приступать к установке FreeBSD, вы наверное хотите узнать хоть немного о том, как появилась эта операционная система, насколько долго она уже существует на рынке и будет ли она по-прежнему доступна лет через 5 или 10. В следующих разделах вас сначала ждет небольшой экскурс в историю создания UNIX и FreeBSD, а затем вы сможете ознакомиться с философией проектирования систем типа UNIX, которые отличаются о тех, что используются в Windows. Краткая история FreeBSD и UNIX Первая версия операционной системы UNIX была создана в научно-исследовательском центре AT&T Bell Laboratories. Проектом UNIX руководили два человека — Кен Томпсон (Ken Thompson) и Деннис Ритчи (Dennis Ritchie). В принципе можно сказать, что история UNIX началась еще весной 1969 года. В то время несколько компаний решили объединить свои усилия и создать операционную систему с "разделением времени", которая бы позволяла равномерно распределять ограниченные ресурсы мэйнфрейма между множеством пользователей, под-
I ~ I Введение в FreeBSD I I Часть I ключающихся одновременно с удаленных терминалов. Получившаяся операционная система была названа MULTICS; и хотя в ней было реализовано много новых функциональных возможностей и она стала своего рода "шаблоном'1 того, что мы сегодня называем многопользовательской операционной системой, добиться сколько-нибудь заслуживающего внимания успеха в коммерческом плане ей так и не удалось, поэтому в АТ&-Т от этого проекта отказались. Однако, Кен Томпсон, который был одним из членов занимавшейся разработкой MULTICS команды, продолжал трудиться в том же направлении, разрабатывая (с помощью Ритчи и других разработчиков) новую операционную систему, которая была бы похожа на MULTICS, но имела бы меньший размер и более простую структуру, а также могла запускаться не на дорогостоящих мэйнфреймах как раньше, а на мини- компьютерах DEC PDP-7. Эта операционная система получила название UNIX, которое подчеркивало простоту этой системы по сравнению с MULTICS, Чтобы обеспечить поддержку и надежную опору для новой системы, Томпсон и Ритчи создали новый язык программирования — язык С, который значительно ускорил процесс разработки, по сравнению с предыдущими попытками (за основу они взяли использовавшийся для миникомпьютеров PDP-7 язык ассемблера DEC). Язык программирования С и операционная система UNIX (или, если хотите, Unix) являются двумя наиболее важными разработками в истории компьютера и никак не меньше, потому что язык С стал первым "переносимым" языком программирования: написанные на языке С приложения можно было относительно легко переносить на компьютерные платформы другого типа. Поскольку UNIX была написана на языке С, она тоже была "переносимой" и ее можно было запускать на платформах другого типа, приложив относительно небольшое количество усилий Эют прорыв, кажущийся не таким уж большим с современной точки зрения пр ше i к стремительному росту популярности UNIX и нового направлен* я в разработке программного с беспечения, которое мы сегодня воспринимаем как должное. НА ЗАМЕТКУ Если бы не игра "Space Travel" ("Космические путеиествия"), которую Кен Томпсон (Ken Thompson) в свое свободное время разрабатывал для мэйнфрейма GE-645 (служившего платформой для MULTICS), возможно он никогда бы и не решил заняться созданием UNIX Рождение операционной системы BSD Поскольку компания AT&T Bell Laboratories никогда специально не занималась продажей компьютерных операционных систем, она продавала лицензию на пользование операционной системой UNIX и ее исходным кодом различным научным учреждениям за относительно низкую цену. Одним из таких учреждений, которое действительно много сделало для UNIX на раннем этапе ее развития, был Центр по исследованию компьютерных систем (Computer Systems Research Group — CSRG) при Калифорнийском университете в Беркли. Сотрудники этого центра сделали несколько очень важных вещей для UNIX, а именно: разработали файловую систему UFS (UNIX File System) и добавили стек протоколов TCP/IP. В конечном счете в UNIX было внесено столько изменений разработчиками этого центра, что они выпустили свою собственную версию этой операционной системы, которая получила название Berkeley Software Distribution (сокращенно "BSD")
Что собой представляет FreeBSD Глава 1 НА ЗАМЕТКУ Вопреки бытующему мнению, перенос UNIX на платформу DEC VAX впервые был осуществлен не в лабораториях центра CSRG, а в лабораториях AT&T Bell Laboratories, правда, без поддержки системы виртуальной памяти VAX. Разработчики центра CSRG просто позже повторили эту попытку: они перенесли BSD UNIX на платформу VAX и, по ходу процесса, добавили поддержку для архитектуры ее виртуальной памяти. В CSRG решили сделать большую часть исходного кода BSD доступной для всех бесплатно. Также, в 1991 году один из разработчиков этого центра по имени Билл Джолитц (Bill Jolitz) перенес BSD на платформу Intel x86. Получившийся продукт назвали 386BSD. Кроме того, чуть позже Билл Джолитц с еще несколькими своими коллегами из GSPG основали отдельную, коммерческую компанию под названием Berkeley Software Distribution, Incorporated (BSDi), и начали продавать коммерческую версию BSD вместе с исходным кодом. Рождение операционной системы FreeBSD В 1993 году двум группам разработчиков перестало нравиться направление, в котором Билл и Линн Джолитцы развивали 386BSD, поэтому они в*яли доступный бесплатно ("застоявшийся") исходный код и — что впоследствии стало традицией в кругах разработчиков ПО с открытым кодом — начали работать с ним самостоятельно. Разработчики из первой группы занялись разработкой FreeBSD и n[ ^ Bin цель сделать систему настолько простой, наскояько возможно, чтобы ей мех о ш- зоваться обычные, "нетехнические" пользователи и чтобы она мо ла заггусгатьсь н« оборудовании класса Intel x86. Рторая rpvnrn приступила к работ немного i v с. Разработчики из этой гр ппы занялись разработкой версии NetBSD и постав п t перед собой цель сделать так, чтобы BSD могл-i работать на любой платформе. Даже если платформа очень отдаленно напоминает омпьютер, вполне вероятно, что вам все-таки удастся запустить на ней NetBSD. Еще немного позже от второй группы отделилась еще одна, третья группа разработчиков, целью которых было создать са мую безопасную операционную систем}' из всех доступных. На сегодняшний день FreeBSD является наиболее популярной из всех основанных на BSD операционных систем типа UNIX в основном благодаря тому, что она самая универсальная и позволяет выполнять большинство повседневных задач. Сейчас FreeBSD представляет собой полнофункциональную операционную систему, которая подходит для установки любых приложений, начиная от серверных приложений, являющихся самыми чувствительными в плане безопасности и самыми требовательными в плане производительности, и заканчивая настольными, ориентированными специально на пользователей приложениями, которые сильно насыщены графикой. После выхода в 2005 году версии FreeBSD 5.4 проект FreeBSD снова был расширен и на свет появился еще один вариант этой операционной системы — PC-BSD. Версия PC-BSD предназначена специально для работы с настольными приложениями. СОВЕТ Тем, кого FreeBSD интересует как настольная операционная система, стоит заглянуть на Web- сайт http://www.pcbsd.org, где представлена вся информация о версии PC-BSD. На момент написания данной книги PC-BSD находилась еще на ранней стадии развития.
I ~ I Введение в FreeBSD I 44 ' I I Часть I История FreeBSD и UNIX является одной из самых сложных и, в то же время, наиболее увлекательных в компьютерной индустрии, а также гораздо более запутанной, чем было описано здесь. Многочисленные судебные разбирательства, изменения философского направления, параллельная разработка кода, расколы, слияния, новые и заброшенные проекты — в этой еще неоконченной истории подобного добра хоть отбавляй. Ниже перечислены ссылки на Web-страницы, где можно найти более подробную информацию по данной теме: • http: //www .bell -labs. com/his tor у/UN IX/. Здесь подробно описана история развития UNIX в Bell Labs, а также представлены некоторые очень редкие фотографии. • http: // daemon z. org/bugs/hi story. html. Ранние этапы развития UNIX глазами Маршалла Кирка Мак-Кыосика (Marshall Kirk McKusick), который был ключевой фигурой в истории BSD и FreeBSD, начиная со времен CSRG. • http://www.freebsd.org/handbook/history.html. Современная история проекта FreeBSD глазами Джордана Хаббарда (Jordan Hubbard). • http: //www. levenez. com/UNIX/. Замечательная графическая таблица всех версий UNIX, начиная с момента появления этой операционной системы в 1969 году. Эта таблица была составлена и постоянно обновляется Эриком Левене (Eric Levenez), который является страстным поклонником BSD/NeXT. Философия разработки UNIX Продолжать развиваться даже 30 лет спустя UNIX позволяют несколько вещей. Одной из них являехся такое свойство UNIX, как переносимость, о которой уже упоминалось ранее. Однако поклонники этой операционной системы считают, что оставаться "на плаву", когда все старые программы становятся непригодными для использования, UNIX позволяет прежде всего исходная философия ее разработки, определяющая то, как должна работать операционная система. Многие полагают, что UNIX — это очень сложная, строгая и запутанная операционная система. Но для опытных пользователей, UNIX является истинным воплощением в действительность концепции "KISS" ("Keep It Simple, Stupid" — "Будь попроще, дурачок"), которая по праву считается одной из главных в сфере разработки программного обеспечения и подразумевает наличие возможности выполнять очень сложные задачи с помощью устаревших программ при условии их правильного соединения. Философия UNIX состоит в следующем: для каждой задачи должна существовать отдельная небольшая программа, выполняющая только одну эту задачу и делающая это хорошо. Но у разработчиков UNIX возникла еще одна блестящая идея: сделать так, чтобы у пользователя была возможность объединять эти программы вместе для выполнения задач, которые одна программа не смогла бы выполнить сама. НА ЗАМЕТКУ Эта концепция объединения получила название конвейеризации. Ее автором считается разработчик из Bell Labs по имени Дуг Мак-Илрой (Doug Mcllroy), а реализовал ее в UNIX Кен Томпсон (Ken Thompson). (Более подробно о конвейерах будет рассказываться в главе 8.)
Что собой представляет FreeBSD I ~ I rnflafli I 45 I Ниже приводится пример того, как работают такие "конвейеры" программ обработки данных. Представьте, что у вас есть текстовый файл, который вы используете в качестве обычной адресной книги. В этом файле каждому человеку отведена отдельная строка, в которой содержатся следующие данные: имя, адрес, номер телефона, адрес электронной почты и тому подобное. В качестве разделителя между полями используется знак тильды (~), потому что вероятность наличия такого знака в данных внутри самих полей крайне низка. Например, вот как могли бы выглядеть строки в этом файле: Doe, John~505 Some Street-Anytown-NY^55555^505-555-1212^jdoe@email.com Doe, Jane-121 Any Street~Sometown~NY~12121*121-555-1212^jadoe@isp.com Bar, Foo-501 Some Street-Anytown-NY-55555-505-123-4567-foobar@email.com Этот файл может содержать 50 или 500 записей; это, в принципе, не имеет никакого значения. Далее представьте, что вам необходимо изменить организацию данных в этом файле, чтобы решить следующие задачи: получить список всех людей, которые проживают в городе Any town (на месте Any town вставляется фактическое название нужного города), создать список, включающий только имена этих людей и номера их телефонов, отсортировать этот список в алфавитном порядке и распечатать его документальную копию. Выполнить все эти задачи с помощью одной команды нельзя, но вы запросто можете объединить несколько команд вместе в конвейер и добиться нужных результатов. Ниже показан один из способов того, как это можно сделать: # awk 'BEGIN {FS*"-"} $3 — "Anytown" {print "%e\t%s\n",$1,$6}'\ address.txt | sort | lp He переживайте, если вы не совсем понимаете, что делает этот код; он будет более подробно объясняться в главе 10, но, говоря просто, он делает следующее: указывает, что в качестве разделителя должен использоваться знак ~, выбирает строки, у которых значение в третьем поле (в этом поле содержится название города) соответствует значению An у town, и затем распечатывает первое и шестое поле этих строк (в этих полях содержится имя и номер телефона), используя для разделения полей символ табуляции (\t), а для разделения строк — символ новой строки (\п). Он извлекает всю эту информацию из файла address. txt. Выходные данные сразу же (по конвейеру) передаются команде sort, которая сортирует их в алфавитном порядке. После этого они передаются команде 1р, которая распечатывает их на используемом по умолчанию принтере. Для приведенного примера с тремя строками в файле результаты будут выглядеть так: Bar, Foo 505-123-4567 Doe, John 505-555-1212 Хотя для новичка эта цепочка команд может показаться не вполне понятной, пользователь UNIX, пусть даже с небольшим опытом, запросто сможет разобраться в ней и сказать, что она должна делать. Показанная здесь одна единственная строка кода создает простую базу данных, которую, в случае внесения всего лишь нескольких изменений, можно настроить так, чтобы она позволяла выполнять поиск по любому полю и чтобы информация в ней хранилась в определенном (каком вам нужно) виде.
I 71 I Введение в FreeBSD 46 h-r: ; I l Часть I Просто для того, чтобы вы могли понять, насколько мощной может быть такая одна строка кода, взгляните на следующий пример: здесь код из предыдущего примера был немного изменен так, чтобы он распечатывал просто список адресатов. # awk 'BEGIN {FS="~"} $3 ¦- "Anytown"\ (printf "%s\n%s\n$s, $8 $s\n\n",$l,$2,$3,$4,$5}' addreee.txt I lp После выполнения этого кода выходные данные будут выглядеть, как показано ниже: Doe, John 505 Some Street Anytown, NY 55555 Bar, Foo 501 Some Street Anytown, NY 55555 Возможность превращения таких сложных функций в одну единственную цепочку команд является очень важной при написании программ оболочек, как вы увидите в главе 10; используя всего лишь несколько строк кода, состоящих из таких элементарных команд UNIX, вы можете создавать относительно простые сценарии, которые будут выполнять очень полезные задачи и которые вы запросто сможете изменять в соответствии со своими потребностями. Для тех, кому интересно, UNIX — это самая гибкая и легко настраиваемая операционная система из всех, которые доступны сегодня на рынке. UNIX (а, значит, и FreeBSD) таит в себе неимоверно мощные возможности, раскрыв и воспользовавшись которыми, вы сможете выполнять бесплатно различные задачи, не приобретая дорогостоящего специализированного ПО. Именно описанная философия позволяет UNIX оставаться "в цене" независимо от того, насколько быстрым становится оборудование или насколько сложными становятся графические пользовательские интерфейсы; именно она дает UNIX возможность оставаться, в отличие от множества других программ, актуальной в течение стольких лет. FreeBSD в сравнении с другими операционными системами Чтобы понять, чем FreeBSD отличается от других операционных систем, ее следует сравнить с такими операционными системами, как Windows ХР и Mac OS X, которые являются наиболее яркими представителями основного направления в сфере настольных систем, а также с операционной системой Linux, которая является главным соперником FreeBSD среди систем с открытым кодом, что мы и сделаем в этом разделе. Windows ХР Компания Microsoft практикует такой подход: она всегда внимательно выслушивает, что ее клиенты хотят видеть в операционной системе и учитывает их пожелания при подготовке следующих версий. Windows ХР не позволяет особо заглядывать "во внутренности* системы. Она предоставляет пользователю возможность достаточно
Что собой представляет FreeBSD хорошо выполнять целый ряд задач, не разбираясь во внутренних деталях системы. Однако делает она это ценой более низкой производительности, эффективности и, особенно, гибкости. Windows XP имеет достаточно высокие требования к оборудованию, но многие пользователи согласны принять их в обмен на удобство применения, тем более что цены на новое оборудование, как правило, очень быстро начинают падать. Кроме того, из-за графического оформления Windows "опытные пользователи" запросто могут натолкнуться на ограничения. Возможности пользователя ограничиваются возможностями графического интерфейса, то есть пользователь может выполнять только те задачи, для которых предусмотрены кнопки и другие элементы управления. Ниже перечислены некоторые наиболее важные отличия между FreeBSD и Windows XP: • Ядро Windows нельзя настраивать. Ядро — это "сердце" операционной системы; оно отвечает за работу практически всех элементов системы. FreeBSD позволяет создавать новое ядро для операционной системы, настраивая его в соответствии со своими потребностями, активизируя только те функциональные возможности и драйверы устройств, которые необходимы, и добавляя поддержку для новых, разрабатываемых устройств, что может повысить производительность и сократить количество используемых ресурсов памяти, а также избавить от зависимости от официальных производителей драйверов. Windows XP не позволяет собрать ядро заново или настраивать его. И это одна из областей, где Windows XP жертвует определенной долей эффективности и производительности ради простоты в использовании. • Windows XP использует графический интерфейс пользователя для большинства своих задач, тогда как FreeBSD более полагается на командную строку. Графический интерфейс пользователя Windows XP основан на том, что все вещи должны легко находиться, а общие задачи — легко выполняться. Например, настройка сети в Windows XP выполняется через панель управления сетью, при этом доступно множество "мастеров", помогающих в прохождении этого процесса. С другой стороны, в FreeBSD для конфигурирования сети используются текстовые конфигурационные файлы. Настройка сети в этом случае предполагает ручное редактирование одного или большего числа таких файлов. Философия FreeBSD означает большие шансы внесения путаницы, нежели жестко регламентированный интерфейс Windows, однако она же означает и отсутствие возможности повреждения системного реестра, а также сохранение изменений в конфигурации с помощью простой системы контроля версий вроде CVS (или просто в текстовом редакторе). • В Windows XP режим графического интерфейса пользователя работает всегда^ а в FreeBSD он является режимом "по выбору" Хотя графический интерфейс пользователя может сделать рабочую станцию более удобной для исполь ования, на работающем в фоновом режиме сервере он является абсолютно бесполезным, потому что экран этого сервера все равно никто никогда не видит (а еще он может даже стать причиной нарушения системы безопасности). FreeBSD предлагает возможность отключить режим графического интерфейса пользователя и вообще не применять его. Если вы все-таки решите использовать графический пользовательский интерфейс, доступные настольные среды (такие как GNOME, KDE и другие) позволят вам настроить должным образом (то есть в соответствии с существующими потребностями).
48 Введение в FreeBSD Часть I • В Windows для удаленного администрирования требуется специальное программное обеспечение. Поскольку в FreeBSD все задачи можно выполнять из командной строки, удаленное администрирование в FreeBSD не представляет сложности: вы можете подключиться к оболочке командной строки, используя SSH, и затем управлять удаленным компьютером, отправляя простые текстовые команды. В FreeBSD из командной строки могут выполняться абсолютно все связанные с администрированием системы задачи, что делает процедуру удаленного администрирования достаточно простой. Ее можно выполнять с любого терминала (даже с терминала, который не может отображать графику), а также с любой системы, на которой возможен запуск эмулятора терминала. Администрировать FreeBSD можно и с другой системы типа UNDC, с Windows, Macintosh и так далее. В Windows XP, в свою очередь, использование режима графического интерфейса пользователя является обязательным, и поэтому для обеспечения возможности получать доступ к системе Windows удаленно на удаленной системе придется установить специальное клиентское ПО и выполнить ряд графических операций, подразумевающих перемещение окон и курсоров мыши. В случае Windows многие задачи по удаленному администрированию могут выполняться только с машины, на которой либо тоже установлена операционная система Windows, либо на которой установлена операционная система Macintosh и компонент Remote Desktop, либо на которой установлена операционная система Linux или FreeBSD и пакет программ rdesktop. • Любой графический интерфейс пользователя (включая тот, что применяется в Windows XP) по своей природе имеет ограничения, которых в интерфейсе командной строки нет. Графический интерфейс пользователя — это высокоуровневый слой интерфейса пользователя, который находится далеко от ядра и ограничивается только теми возможностями, которые были для него разработаны, то есть в нем доступны только эти функциональные возможности, и не более того. Но, рано или поздно, настанет день, когда "опытному пользователю** захочется сделать что-нибудь такое, чего разработчики операционной системы не учли. Например, ту простую базу данных адресной книги, которая приводилась в предыдущем разделе в качестве примера, создать с помощью программ, имеющихся в Windows, никак не получится. Для создания подобной системы в Windows потребовалось бы установить специальное стороннее ПО. Получить список адресатов (также приводившийся в качестве примера в предыдущем разделе) с помощью программ, доступных в Windows, тоже не получится. Интерфейс командной строки (CLI) в FreeBSD, где команды выполняются на более близком к ядру уровне, предоставляет намного больше возможностей, нежели системы, основанные на графическом пользовательском интерфейсе. Mac OS X Mac OS X — это графическая операционная система производства компании Apple, которая служит практически той же цели, что и Windows XP (то есть она занимает ту же нишу в компьютерном мире), но предварительно заданные потоки работ в которой, по мнению многих, встроены в графический слой более удобным и понятными для пользователя образом, чем в Windows (в конце концов, именно этим Apple и гордится). Поэтому Mac OS X, в принципе, обладает всеми теми же преимуществами и страдает от всех тех же недостатков, что и Windows, среди которых не
Что собой представляет FreeBSD I ~ I " ~~ ~—Глава 1 I I поддающееся настройке ядро и обязательный (вездесущий), ограничивающий возможности графический интерфейс. Плюс к этому Mac OS X может устанавливаться только на патентованном оборудовании, что для FreeBSD является "неслыханным" требованием. Однако, в это же время Mac OS X — это "гибрид*, который представляет собой нечто среднее между операционной системой Windows и операционной системой FreeBSD. В основе Mac OS X лежит самая настоящая архитектура UNIX, с поддерживающим удаленный доступ интерфейсом командной строки, которым одинаково удобно управлять как с удаленной машины Windows или UNIX, так и из командной оболочки FreeBSD. Mac OS X на самом деле разрабатывалась на основе операционной системы NeXTSTEP производства NeXT, которая, в свою очередь, разрабатывалась на основе операционной системы 4.4BSD, то есть на основе той же операционной системы, что и сама FreeBSD. Таким образом, если вам знаком код, скрывающийся за привлекательным графическим интерфейсом пользователя Мае, считайте, что вы в принципе знакомы с FreeBSD. Подобным образом, когда вы закончите читать эту книгу, вы будете знать в целом намного больше о Mac OS X, чем вы знали до этого. Linux Если только последние пять лет вы не жили в пещере, то наверняка слышали о Linux, хотя может и не знаете точно, что это такое. Linux — это версия UNIX, которая в последние годы стала просто чрезвычайно популярной. Как и FreeBSD, Linux представляет собой ПО с открытым кодом и разрабатывалась на добровольных началах (то бишь волонтерами). В отличие от FreeBSD, никакого единого органа, который бы контролировал развитие Linux, нет, и поэтому на сегодняшний день доступно уже более 60 различных дистрибутивов Linux. Между FreeBSD и Linux больше сходств, нежели отличий. Они обе являются прекрасными, многоцелевыми (универсальными) операционными системами и они обе достаточно хорошо отвечают потребностям большинства пользователей. Хотя для Linux доступно больше программ, чем для FreeBSD, практически все доступные для Linux программы очень просто запускаются на FreeBSD, поэтому проблем с совместимостью не возникает. Когда программы, разработанные для Linux, запускаются под управлением FreeBSD, это практически никак не сказывается на их производительности: на самом деле, некоторые программы Linux в FreeBSD работают даже быстрее, чем в самой Linux. Ниже перечислены некоторые наиболее важные отличия между FreeBSD и Linux: • FreeBSD имеет только один дистрибутив, в то время как Linux — более шестидесяти, FreeBSD будет работать одинаково на всех системах, на которых она устанавливается, a Linux — нет. Каждый дистрибутив Linux работает немного по-другому. Например, в Slackware Linux для управления процессом запуска различных служб при загрузке системы используются сценарии управления выполнением BSD-типа. В Debian Linux используются сценарии Sys V, запускающиеся не в такой, как сценарии BSD-типа архитектуре, А в Red Hat Linux тоже применяются сценарии Sys V, но хранятся эти сценарии в другом, не таком как в стандартной версии Sys V UNIX, месте. Это может сбивать с толку пользователей, которые переходят с одного дистрибутива Linux на другой, потому что в другом дистрибутиве некоторые вещи могут работать совсем иначе. (То же можно сказать и о таких версиях FreeBSD, как NetBSD и OpenBSD, но различия между этими
I ZT I Введение в FreeBSD L I Часть I "вариантами" BSD UNIX являются, пожалуй, более фундаментальными и значительными, чем между различными дистрибутивами Linux), • FreeBSD — это завершенная операционная система, которая была разработана и об новляется одной командой разработчиков, a Linux — это только ядро, сопровождаемое Линусом Торвальдсом (Linus Torvalds). Linux не является завершенной операцион-' ной системой. Это просто ядро. Кцк уже упоминалось в разделе, посвященном Windows, ядро — это "сердце" (то есть базовый компонент) операционной системы, который контролирует поток проходящих через систему данных, управляет драйверами устройств и сетевыми соединениями, а также поддерживает систему в рабочем состоянии, пока пользователь возится со своими приложениями. Компании, занимающиеся продажей дистрибутивов Linux, просто берут ядро Linux и добавляют в него пакет других, разработанных для Linux программ. Поскольку каждая компания имеет свое представление о том, что должно быть включено в дистрибутив, программы, которая была доступна в одной системе Linux, в другой системе Linux может не оказаться (хотя, конечно, ее всегда можно загрузить и установить). Этот факт нередко становится причиной возникновения проблем с зависимыми программами при обновлении версий Linux. Например, обновив ядро Linux, вы можете обнаружить, что вам также необходимо обновить несколько других пакетов программ, причем пока вы этого не сделаете, ваша система может даже не загружаться. Поскольку FreeBSD представляет собой завершенную операционную систему, процедуры обновления в целом выполняются легче, потому что они предполагают также обновление и всех зависимых программ. • Linux разрабатывают организации, занимающиеся распространением и продажей этой операционной системы, что приводит к появлению множества параллельных кодовых баз, а изменения в FreeBSD вносятся только с ведома команды ее разработчиков. Предложить внести изменения в проект FreeBSD может любой, и такие изменения могут касаться любой части операционной системы. В случае Linux изменения, вносимые в код ядра, должны быть одобрены самим Линусом Торвальдсом, а изменения, касающиеся какой-нибудь другой области системы, просто становятся частью того или иного дистрибутива. Изменения, вносимые в исходный код FreeBSD, должны быть одобрены главной командой разработчиков, прежде чем они смогут быть добавлены в FreeBSD. Такой подход является более удачным, потому что позволяет пользователям быть уверенными в том, что код был проверен на предмет наличия ошибок людьми, которые хорошо разбираются в том, что они делают, а также в том, что не будет возникать никаких проблем с уже существующим кодом. Последняя проблема очень часто случается с Linux, и именно поэтому после установки многих дистрибутивов оказывается, что в них чего-нибудь да "не работает". Поскольку у FreeBSD имеется только одна кодовая база (которую нередко называют деревом исходного кода), с FreeBSD такая проблема практически не случается. Это были перечислены лишь некоторые, наиболее важные отличия между Linux и FreeBSD. Поскольку у FreeBSD имеется только одна кодовая база, за которой следит главная команда разработчиков, FreeBSD считается более стабильной, чем Linux, и поэтому зачастую больше подходит для использования на производстве. (В разных дистрибутивах Linux акцент делается на разных приложениях, некоторые из которых
Что собой представляет FreeBSD | ~ I Глава 1 I J больше подходят для установки на "любительских" машинах, а некоторые — больше подходят для установки на сложном корпоративном или серверном оборудовании.) Главный недостаток такого подхода заключается в том, что новые функциональные возможности не всегда реализуются в FreeBSD так же быстро, как в Linux. Здесь придется выбирать: вы хотите быть уверенными в стабильности производственной системы или же вы хотите иметь различные модные "штуковины" и "приспособления" и готовы пожертвовать ради них производительностью и стабильностью? NetBSD Предметом гордости NetBSD является количество платформ, на которых она может запускаться. NetBSD пробовали устанавливать на всем, начиная от PDA-компьютеров и заканчивая специализированными игровыми консолями, такими как Sony PS2. Также NetBSD, естественно, без проблем запускается на стандартном оборудовании семейства х86, которое используется в большинстве персональных компьютеров. Главным недостатком NetBSD является то, что она не так удобна для пользователя, как FreeBSD, и не имеет некоторых приложений, которые доступны для FreeBSD. Поэтому для пользователей-новичков, работающих на машинах семейства х86, пожалуй, больше подойдет FreeBSD. OpenBSD Главным преимуществом OpenBSD является ее безопасность. Хотя по большей части эта безопасность обеспечивается стандартной конфигурацией, которую в принципе можно сымитировать в FreeBSD, некоторые вещи доступны только благодаря уникальным функциональным возможностям OpenBSD, таким как возможность шифровать содержимое файла подкачки (файл подкачки — область диска, используемая для виртуальной памяти). Однако, как и NetBSD, OpenBSD совсем не так удобна для пользователя, как FreeBSD, и тоже не имеет многих приложений, которые доступны для FreeBSD. Опять-таки, причина этого состоит в том, что в OpenBSD главный акцент делается на безопасности, что предполагает исключение всех ненужных функциональных возможностей во избежание появления в системе безопасности слабых мест. Поэтому и в данном случае для пользователей-новичков, работающих на машинах семейства х86 и желающих иметь в своем распоряжении как можно больше всевозможных приложений и функций, очевидно больше подойдет FreeBSD. Логотип FreeBSD У Linux есть свой логотип — это пингвин, значит, и у FreeBSD должен быть свой логотип, и он уже есть — это чертенок. Почему именно чертенок? Коротко можно ответить так: это не чертенок, это демон (daemon), а демоны представляют собой фоновые процессы, которые отвечают за выполнение всех необходимых системе автоматизированных задач. В принципе демоны являются очень полезными. Если вы хоть когда-нибудь отправляли электронное письмо или посещали Web-страницу, вы обязательно ипользовались услугами" демона, даже не подозревая об этом. Демоны есть и Windows XP, просто там они так не называются: Microsoft использует для них другое название — "службы".
Введение в FreeBSD Рис. 1.1. Знаменитая иллюстрация логотипа BSD (© Кирк Мак-Кьюсик (Kirk McKusick)). Специально для любителей мультипликации Джон Лвссетер (John Lasseter) из компании Ргхаг нарисовал эту и несколько других версий чертенка НА ЗАМЕТКУ Почитатели "чертенка" решили расширить метафору и настаивают на том, что вилы, или вилка (fork), в руках персонажа указывают на возможность операционной системы "разветвлять" (to fork) новые процессы, то есть создавать дополнительные копии работающих процессов для обработки поступающих запросов; например, она может создавать новый процесс Apache для обслуживания запроса пользователя на просмотр Web-страницы, при этом позволяя Apache продолжать работать и в это же время обрабатывать запросы, поступающие от других пользователей.
ГЛАВА С- Установка FreeBSD В этой главе... • Проверка оборудования • Создание установочных дискет • Загрузка в программу установки • Навигация по программе Sysinstall • Создание разделов и назначение точек монтирования • Выбор дистрибутива • Выбор источника установки • Конфигурирование и настройка системы после установки • Выход из программы Sysinstall и перезагрузка системы • Первая загрузка FreeBSD • Настройка системы X Window System (XI1) • Завершение работы FreeBSD
I ~ I Введение в FreeBSD I 5 I Часть I " Прежде чем использовать FreeBSD, ее, как и Windows или любую другую операционную систему, необходимо установить на жесткий диск. Процедура установки FreeBSD является несколько более сложной и требует немного большего внимания к деталям, чем обычная процедура установки Windows, но приводимые в этой главе инструкции должны помочь вам выполнить ее без проблем. В зависимости от скорости процессора и привода DVD-дисков, процесс установки может занять от 20 до 60 минут (а если FreeBSD устанавливается через сеть, этот процесс может растянуться и на несколько часов). Большая часть времени уходит на копирование файлов, поэтому сидеть неотрывно перед компьютером вам не придется. Я настоятельно рекомендую вам прочитать всю эту главу, от начала до конца, и только потом приступать к установке: это позволит вам ознакомиться с процедурой и подготовится к возможным проблемам. В процессе установки FreeBSD может возникнуть гораздо больше неожиданностей, чем вы, возможно, привыкли встречать при установке Windows, поэтому лучше знать заранее, какую информацию давать программе установке и для чего данный компьютер будет использоваться в производственной среде. Также советую сразу прочитать и главу 3, в которой описываются некоторые важные процедуры, которые тоже может оказаться необходимо выполнить перед установкой, такие как резервное копирование существующих файлов и создание дополнительных разделов на жестком диске без потери данных. ВНИМАНИЕ! Выберите для проведения процедуры установки такое время, когда вас гарантированно не будут отвлекать. Во время установки вы будете выполнять операции, допущение ошибок в которых может привести к повреждению или потере существующих данных. СОВЕТ Сейчас самое время взглянуть на список совместимого оборудования, который приводится в приложении Б, и убедиться в том, что имеющееся оборудование поддерживается. Вы вряд ли захотите продолжать установку, если обнаружите, что главный аппаратный компонент вашей системы не поддерживается FreeBSD. Проверка оборудования Перед тем как приступать к установке, вы должны подготовить некоторые сведения о своем оборудовании на случай, если система не сможет автоматически распознать или сконфигурировать их без вашей помощи. Ниже приводится список сведений об оборудовании, которые могут понадобиться во время установки FreeBSD: • Тип видеокарты и объем установленной видеопамяти. • Руководство по монитору. Для настройки в FreeBSD графической системы управления окнами (X Window System) потребуется знать частоту горизонтального и вертикального обновления (регенерации) изображений на экране монитора. • Если есть модем, номер СОМ-порта (например, СОМ1 или COM2) и номер IRQ (номер запроса прерывания), которые он использует.
Установка FreeBSD • Тип мыши (шинная, подключаемая через последовательный порт, PS/2 или USB) и номер порта, который она использует. • Адрес ячейки памяти и IRQ-номер сетевой карты Ethernet, особенно если это карта старого стандарта ISA. Также очень важно знать модель и название компании-производителя карты. (Многие из продаваемых сегодня карт Ethernet распознаются автоматически, поэтому владение этими сведениями не является обязательным; также эти карты стоят настолько дешево, что, как правило^ лучше приобрести новую карту, если имеющаяся, пусть даже немного, но устарела.) • Если компьютер подключен к сети, также потребуется собрать определенную информацию о сетевом подключении, такую как имя главного компьютера (хоста), IP-адрес, значения маски подсети, адреса DNS-серверов и номер межсетевого маршрутизатора. В случае отсутствия каких-нибудь из этих сведений обра- 4 титесь к администратору сети или поставщику Internet-услуг. (Если компьютер подключен к сети, в которой используется протокол DHCP, автоматически назначающий сетевые адреса, эта информация вам вообще не понадобится.) • Емкость жесткого диска. Для установки FreeBSD с системой X Window System (XI1) и коллекцией портов потребуется около 1.2 Гбайт свободного пространства. Если вы не располагаете этой информацией, и сейчас на вашем компьютере установлена операционная система Microsoft Windows, вы можете собрать необходимые сведения, воспользовавшись программой Device Manager (Диспетчер устройств), которая доступна чс рез панель управления. Более подробную информацию о том, как это делается, вы найдете в документации, прилагавшейся к данной версии операционной системы, или р справочной системе Windows. ВНИЛМНИЬ* j —— Поль*овате 1ям которые хотят перейти с версии FreeBSD 4.x на FreeBSD 5 или FreeBSD 6, следует знать, что предлагаемая в программе установки Sysmstall опция Binary Upgrade (Обновление двоичного кода) им не подходит (потому что она может работать некорректно из-за слишком большой разницы между номерами версий). Тем, кто желает обновить версию FreeBSD 4 до версии FreeBSD 6, лучше поступить следующим образом: сделать резервную копию существующих данньх и установить новую версию с нуля; если такой вариант не совсем подходит, можно попробовать обновить исходный код. Процедура обновления исходного кода выполняется достаточно просто и будет более подробно обсуждаться в главе 19. Создание установочных дискет DVD-диск с FreeBSD, прилагаемый к этой книге, является загрузочным. Если вы планируете устанавливать FreeBSD на компьютер, который поддерживает загрузку с CD/DVD-дисковода, вы, пожалуй, можете пропустить этот раздел. Если же имеющийся привод не поддерживает загрузку, или если вы хотите установить FreeBSD не с DVD-диска, а каким-либо другим способом (например, через сеть), тогда обязательно ознакомьтесь с содержимым этого раздела. Итак, если вы хотите установить FreeBSD через сеть, или если ваш компьютер не позволяет загружаться с DVD-диска, вам необходимо создать три установочные дискеты для того, чтобы вы могли загрузить систему с чистым ядром и сокращенной, ба-
Введение в FreeBSD зовой версией операционной системы, которая потом загрузит всю остальную часть операционной системы с FTP-сервера FreeBSD и установит ее на вашем жестком диске. Установочные дискеты создаются путем копирования на обычные дискеты загруженных с FTP-сервера файлов с образами дискет. ВНИМАНИЕ! Для проведения процедуры установки FreeBSD с помощью установочных дискет с FTP-сервера FreeBSD придется загрузить несколько сотен мегабайт данных, поэтому обязательно проверьте, имеется ли у вас подходящее для выполнения этой задачи соединение с Internet или, по крайней мере, достаточное количество времени, если это соединение работает медленно. Образы установочных дискет можно загрузить с FTP-сервера FreeBSD, который находится по адресу ftp.freebsd.org и подключиться к которому можно с помощью любой программы, обслуживающей FTP-соединения. Образы расположены в каталоге /pub/FreeBSD/releases/i386/6 Л-RELEASE/floppies; здесь предполагается, что самой последней версией FreeBSD, которая была выпущена, является 6.1. Если это уже не так, замените "6.1 * на номер той версии, которая является самой новой на текущий момент. Далее, загрузите три следующих файла: boot.flp, kernl. f lp и kern2. f lp. Если вы создаете установочные дискеты в системе DOS или Windows, также загрузите программу fdimage.exe, которая доступна на FTP-сервере в следующем каталоге: /pub/FreeBSD/tools. СОВЕТ При желании ускорить время отклика и уменьшить нагруэк/ на главные FTP сервер, попробуйте загрузить образы установочных дискет с одного из пйркальных сайтов, и*ля хоста у ко- торых обычно выглядит как "ftp" и какая-нибудь цифра (например, xt^l ^x-.sbsa.org или f tp2. f reebsd. org). Использование менее загруженных зеркальных сайтов може» существенно сократить время получения файлов. Загруженные файлы образов нельзя просто взять и скопировать на дискеты. Для создания установочных дискет из файлов образов предусмотрены специальные процедуры, которые описываются в следующих разделах и демонстрируют, как следует создавать загрузочные дискеты в различных условиях, а именно* в DOS, в Windows, в FreeBSD и в UNIX. Они должны быть записаны на дискеты при помощи одной из процедур, рассматриваемых в следующих подразделах. Прежде чем воспользоваться одним из описываемых далее методов, приготовьте три чистых 3.5-дюймовых дискеты емкостью 1.44 Мбайт. СОВЕТ Для создания установочных дискет лучше использовать совершенно новые дискеты, потому что исходные данные будут записываться на эти дискеты сразу, без проверки их формата и состояния и без проверки на наличие ошибок, а дискета с поврежденными секторами может привести к возникновению ошибок или вообще к аварийному завершению процесса установки. Избавьте себя от ненужных проблем и используйте только совершенно новые дискеты
Установка FreeBSD I __ I Глава 2 I I Создание загрузочных дискет в DOS или Windows Сначала переключитесь в режим командной строки DOS (в современных версиях Windows, чтобы сделать это, нужно просто выбрать в меню Start (Пуск) пункт Run (Выполнить) и в появившемся диалоговом окне ввести команду command). Из домашнего каталога своей учетной записи, который отображается в окне командной строки автоматически, перейдите в каталог, который вы указывали, когда сохраняли файлы fdimage.exe, boot.flp, kernl.flp и kern2.flp. Например, если вы сохраняли эти файлы в каталоге Desktop, вы должны ввести в командной строке DOS следующие команды: C:\Documents and Settings\Administrator> cd Desktop C:\Documents and Settings\Administrator\Desktop> fdimage boot.flp a: Когда выполнение программы завершится, вытащите из дисковода первую дискету и вставьте вторую. Затем введите следующую команду: C:\Documents and Settings\Administrator\Desktop> fdimage kernl.flp a: Повторите процедуру, чтобы создать третью дискету из файла kern2. f 1р. И, наконец, не забудьте присвоить дискетам метки! (Позже вы не раз порадуетесь тому, что сделали это.) Создание загрузочных дискет в FreeBSD или UNIX Если загрузочные дискеты создаются в FreeBSD или UNDC, программа fdimage. ехе не нужна. (Тем не менее, файлы образов дискет boot. f lp, kernl. f lp и kern2. f lp все равно необходимы.) Используйте UNDC-утилиту dd, чтобы записать файлы образов на дискеты побито- во. В FreeBSD нужная команда будет выглядеть примерно так: * dd if=boot.flp of=/dev/fdOc Когда копирование завершится, вытащите из дисковода первую дискету и вставьте вторую. Затем опять воспользуйтесь утилитой dd, чтобы создать вторую дискету. В FreeBSD нужная команда будет выглядеть примерно так: # dd if=kernl.flp of=/dev/fdOc , Повторите описанную процедуру еще раз, чтобы создать третью дискету иЗ файла kern2 . f lp. Обратите внимание, что для того, чтобы приведенные выше команды работали, вы должны иметь доступ по записи к дисководу гибких дисков, имя которого в FreeBSD будет выглядеть как /dev/fdOc. В других операционных системах для дисковода гибких дисков может использоваться какое-нибудь другое имя или "исходное* имя самого дисковода. Например, в Red Hat Linux дисковод гибких дисков может называться /dev/fdO или /dev/floppy. Информацию о том, какое имя следует применять для дисковода гибких дисков, чтобы выполнить запись на дискету с помощью dd, можно найти в документации по используемой версии операционной системы. Теперь, когда установочные дискеты созданы, вы можете приступать к установке.
I ZZ I Введение в FreeBSD I 1 Часть I Загрузка в программу установки ВНИМАНИЕ! Если вы устанавливаете FreeBSD на компьютер, где уже установлена Windows или какая-нибудь другая операционная система, и не хотите утратить эту операционную систему со всеми имеющимися в ней данными, остановитесь и прочтите раздел "Потенциальные проблемы и ограничения систем с двумя режимами загрузки" главы 3. Очень важно, чтобы вы прочитали сначала этот раздел! Невыполнение перечисленных в нем инструкций может привести к утере всех существующих на жестком диске данных! Материал, излагаемый в следующих нескольких разделах, предполагает, что вы либо планируете удалить все имеющиеся сейчас на жестком диске данные, чтобы установить FreeBSD, либо устанавливаете FreeBSD на новый диск, либо уже выполнили инструкции, приведенные в главе 3, чтобы создать место для FreeBSD на диске, на котором уже присутствует еще одна операционная система. А также он предполагает, что установка будет выполняться с DVD-диска, который прилагается к этой книге. Если это не так, прервитесь и сначала прочитайте в главе 3 раздел, посвященный именно выбранному вами методу установки: "Установка FreeBSD через FTP" или "Установка FreeBSD с помощью NFS". Сделав это, вернитесь и следуйте инструкциям, перечисленным ниже. Когда вы будете готовы приступить к установке, вставьте прилагаемый к этой книге DVD-диск в соответствующий привод. (Если вы решили устанавливать FreeBSD с помощью загрузочных дискет, тогда вместо этого вставьте в дисковод А: дискету, на которую вы записали файл boot, flp.) Перезагрузите компьютер. Если необходимо, войдите в программу настройки BIOS и выберите опцию, разрешающую выполнять загрузку с DVD-привода, или опцию, разрешающую выполнять загрузку с дисковода гибких дисков, в зависимости от того, чем вы решили пользоваться: дискетой или DVD-диском. НА ЗАМЕТКУ Также в некоторых версиях BIOS есть функция безопасности, которая не позволяет выполнять загрузку с гибких дисков. Так что если вы решили устанавливать FreeBSD с помощью загрузочных дискет, вам, возможно, придется проверить, нет ли такой функции в вашей версии BIOS, и если есть, настроить ее так, чтобы она позволяла выполнять загрузку с дисковода А:. Информацию о том, как это делается, можно найти в документации, прилагаемой к системе. По мере загрузки системы на экране будут появляться различные сообщения о состоянии FreeBSD. Кроме того, на экране еще будет отображаться специальный, анимированный курсор в форме "крутящегося жезла", указывающий на то, что задача находится в процессе выполнения. Если жезл вращается, значит, система что-то делает. Если жезл остановился и не вращается в течение долгого времени, вполне возможно, что система "зависла". В этом случае следуйте инструкциям, которые перечислены в Приложении В.
Установка FreeBSD НА ЗАМЕТКУ В версиях FreeBSD 6.0 и ниже вместо полноэкранного меню загрузки появится следующее сообщение: FreeBSD/i386 bootstrap loader, Revision 1.1 (root@x64.samsco.home, Thu Nov 3 07:33:10 UTC 2005) I Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in 9 seconds... _ Нажмите [Enter] для немедленной загрузки или любую другую клавишу для перек д в к мандную строку. Загрузка [ядро] через 9 секунд... _ Увидев такое сообщение, не волнуйтесь и просто нажмите клавишу <Enter>, чтобы продолжить процесс загрузки. На определенном этапе этого процесса, если FreeBSD устанавливается с дискет, на экране появится приглашение вставить дискету под названием "Kernel Floppy l" (это дискета, на которую записывался файл kernl. f lp) и нажать любую клавишу (Insert disk labeled "Kernel floppy Iй and press any key). После того, как содержимое этой дискеты загрузится, последует приглашение вставить следующую дискету — дискету с файлом kern2. f 1р. Затем подобное приглашение появится еще один, последний, раз — нужно будет вставить дискету с файлом boot. f lp. Когда загрузится ядро, на экране появится текстовое меню, предлагающее на выбор несколько опций для запуска FreeBSD. В зависимости от возможностей используемой консоли, в этом меню, справа от списка опций, также будет отображаться ли о в цветном, либо в черно-белом формате "чертенок" (графический символ FreeBSD или логотип FreeBSD в виде текста в кодировке ASCII. Пока что просто нажмите клавишу <Enter>, чтобы выбрать опцию, используемую по умолчанию: Boot FreeBSD (Загрузить FreeBSD). Выбор этой опции приведет к запуску программы Sysinstall. НА ЗАМЕТКУ По мере того как ядро будет определять и инициализировать установленное в системе оборудование, на экране будут появляться соответствующие сообщения. Если в какой-то момент во время этого процесса система "зависнет", следуйте инструкциям, приведенным в Приложении В, чтобы отыскать и устранить проблемы в процедуре запуска. Навигация по программе Sysinstall После завершения загрузки ядра (и при условии, что во время этого процесса не возникло никаких проблем), запустится программа FreeBSD Sysinstall. Первый экран, который вы увидите, будет выглядеть примерно так, как показано на рис. 2.1.
60 Введение в FreeBSD Часть I ctjtni.ef .thf?«i»ti*h* beittf>ylut,inf the . _ t iher«cur? iff^ t*jt «#t v«\ >*в|ьу*и 're- in tt*vvtlh,{»AiE] ^ifc' {ENTERJ/?'.&§№ ?» ™W .Qin к tart - How to u e ttn menu sy te | „ I»rt4 rv^_„_T.v „. il l*fci4rib(f «r; *хэегь if ins^uT »«nf iforettin. *f Fr instruct itpfi:;; NEAfflE fce T.. .-.-tth итп/**/цфн r- Рис. 2.1. Главное меню программы SysinstaU Пользоваться мышью в программе SysinstaU нельзя, но по ней все равно очень легко перемещаться. В табл. 2.1 перечислены клавиши, которые можно использовать для навигации в программе SysinstaU. Таблица 2.1. Клавиши навигации Клавиша навигации Команда Клавиша с изображением стрелки вверх Клавиша с изображением стрелки вниз Клавиша с изображением стрелки влево и клавиша с изображением стрелки вправо Клавиша пробела Клавиша табуляции Позволяет перейти вверх к предыдущему пункту меню. Позволяет перейти вниз к следующему пункту меню. Эти клавиши позволяют выбирать опции в нижней части меню. Например, в главном меню эти клавиши позволяют переключаться между опцией Select (Выбрать) и опцией Exit Install (Выйти из программы установки). В меню, где можно выбирать сразу несколько значений, позволяет выделить или отменить выделение выбранной на текущий момент опции. Действует так же, как и клавиши с изображением стрелки вправо и влево в меню. Эта клавиша позволяет переходить на экранах из одного поля в другое для того, чтобы ввести необходимые данные. Кроме того, большинство опций можно выбрать нажатием клавиши с буквой, ко* торая выделена в их названии: обычно это первая буква. Если вы хотите узнать больше о том, как пользоваться программой SysinstaU, вы можете, оставив выбранной опцию Usage (Правила пользования), нажать клавишу <Enter>, но поскольку обо всем этом будет рассказываться и здесь, я предлагаю вам нажать клавишу с изображением стрелки вниз, чтобы перейти ко второй опции в меню, и выбрать ее\дабы приступить к стандартной установке. После того, как вы выберете опцию Standard (Стандартная), на экране появится сообщение, информирующее о необходимости создать на жестком диске DOS-раздел (f disk): прочитайте его и просто нажмите клавишу <Enter> для продолжения.
Установка FreeBSD l ft. I Глава 2 I I Создание разделов и назначение точек монтирования После того, как вы в сообщении, информирующем о необходимости создать на жестком диске DOS-раздел (f disk), нажмете клавишу <Enter>, произойдет следующее: • Если в системе установлен только один жесткий диск, на экране сразу появится окно редактора разделов FreeBSD (FreeBSD Partition Editor). В этом случае вы можете пропустить следующий раздел, "Выбор жестких дисков", и перейти сразу к разделу "Разбиение диска или дисков на разделы*. • Если в системе имеется более одного жесткого диска, на экране сначала появится меню, предлагающее выбрать, на каком диске или дисках должна быть установлена FreqBSD. В этом случае вам обязательно следует прочитать следующий раздел. ВНИМАНИЕ! Создание разделов и назначение точек монтирования — это операции, допущение ошибки в которых может закончиться потерей всех существующих на жестком диске данных. Если на жестком диске содержатся какие-то важные данные, которые вы бы не хотели потерять, обязательно сделайте их резервную копию, прежде чем приступать к установке. Также, если вы будете устанавливать FreeBSD на диск, на котором уже установлена какая-то другая операционная система, обязательно сначала прочитайте главу 3. Выбор жестких дисков Есчи в системе установлено несколько жестких дисков, на экране появится меню, которое будет выглядеть примерно так, как на рис. 2.2. Меню, которое вы увидите, может выглядеть не совсем так, как меню, показанное на этом рисунке. В табл. 2.2 перечислены и объясняются некоторые основные значения которые могут отображаться в этом меню. Рис. 2.2, Выбор жестких дисков, на которые будет производиться установка FrveBSD
I 77 | Введение в FreeBSD I 1 Часть I Таблица 2.2. Элементы меню — - ' Значение Объяснение adO Первый физический жесткий диск в системе (он называется ATA Disk). Он является ведущим диском на первичном контроллере IDE. Если на компьютере установлена операционная система DOS или Windows, она будет находиться именно на этом диске. dao Это значение похоже на значение adO, но обозначает не первый АТА-диск, а первый SCSI-диск в системе. Если в системе имеются только SCSI-диски и уже установлена операционная система DOS или Windows, она будет находиться именно на этом диске. adl Второй АТА-диск в системе. Он может быть как ведомым диском на главном контроллере, так и ведущим диском на вторичном контроллере, что зависит от конфигурации системы. dal Второй SCSI-диск в системе. В меню, которое вы увидите, также могут присутствовать и такие значения, как ad2 и ad3 или da2, da3 и так далее. Здесь главное помнить, что цифра обозначает номер диска в системе и что нумерация дисков в FreeBSD начинается не с единицы, а с нуля. Используя клавишу пробела, выберите диск или диски, которые хотите использовать для FreeBSD. Для установки FreeBSD можно выбирать не только один, но и несколько дисков. Такой подход применяется достаточно часто и в конечном итоге никак не влияет на выполнение повседневных задач. Другими словами, даже если FreeBSD устанавливается на нескольких дисках, конечному пользователю будет казаться, что она находится на одном единственном диске. В следующем разделе будет показано, почему FreeBSD может быть выгоднее устанавливать на нескольких дисках. Когда вы выберите диск в этом меню, на экране появится окно редактора разделов FreeBSD (FreeBSD Partition Editor), в котором вы сможете отредактировать таблицу разделов данного диска. Когда вы внесете все необходимые изменения в таблицу разделов и выйдете из окна редактора разделов, вы снова вернетесь к этому меню, после чего вы можете либо выбрать еще какой-нибудь диск, чтобы отредактировать его, либо нажать клавишу <Enter> для выхода из меню и продолжения установки. Когда вы закончите редактировать диски, на экране появится окно FreeBSD Disk Label Editor (Редактор меток дисков FreeBSD), о котором более подробно будет рассказываться в разделе, следующем сразу после раздела "Разбиение диска или дис ков на разделы". ВНИМАНИЕ! Если вы собираетесь устанавливать FreeBSD на второй жесткий диск, а на первом жестком диске у вас уже установлена какая-то другая операционная система и никаких изменений на первом жестком диске вы вносить не планируете, вам следует установить такую программу, как диспетчер загрузки для того, чтобы вы при запуске системы могли выбирать, какую операционную систему загружать. Чуть позже FreeBSD предложит опцию, позволяющую установить эту программу. Однако эта программа должна быть установлена на первом диске в системе, а чтобы это произошло, вам придется выбрать в данном меню первый диск. Если вы не хотите вносить никаких изменений в структуру первого диска, просто выберите его в этом меню и затем выйдите из окна редактора разделов (Partition Editor), ничего не редактируя. Далее выберите в этом меню другой
Установка FreeBSD Глава 2 63 Name - adOsl РТуре 12 8 Desc unused freebsd Subtype 0 165 диск и разбейте его на разделы так, чтобы на нем можно было установить FreeBSD. Это позволит FreeBSD установить диспетчер загрузки на первый диск. Если вы этого не сделаете, диспетчер загрузки не будет установлен на первый диск, и вы не сможете загрузить FreeBSD после завершения процесса установки. Разбиение диска или дисков на разделы Вот какая информация будет отображаться в окне редактора разделов (Partition Editor): Disk name: adO FDISK Partition Editor DISK Geometry: 29795 cyls/16 heads/63 sectors = 234436482 blocks (113664MB) Offset Size(ST) End Name PType Desc Subtype Flags 0 63 62 63 30033297 30033359 The following commands are supported (in upper or lower case): A = Use Entire Disk G = set Drive Geometry С - Create Slice F = ' DD' m d D - Delete Slice Z = Toggle Size Units S = Set Bootable I - Wizard m. T = Change Type U = Undo All Changes W = Write Changes Use Fl or ? to get more help, arrow keys to select. Имя диска: adO Редактор разд лов FDISK Геометрия диска: 29795 цилиндров/16 головок/63 сектора 2344 6482 блоков (113664 Мбайт) Смещение Размер Конец Имя Тип Описание Подтип Флаги О 63 62 63 30033297 30033359 adOsl Поддерживаются следующие команды (в нижнем или верхнем регистре) : А - использовать целый диск G = установить геометрию устройства С = создать секцию F = режим 'DD* D - удалить секцию Z = переключить единицы измерения S = сделать загрузочным \ - мастер т. Т = изменить тип U =¦ отменить все изменения W - записать изменения чип Описание 12 unused 8 freebsd Подтип 0 165 Используйте F1 или ? для расширенной справки, а клавиши, со стрелками для выбора.
64 Введение в FreeBSD Часть I В данном случае первая строка сообщает о том, что сейчас редактируется диск adO, который, как упоминалось ранее, является первым АТА-диском в системе. Во второй строке отображаются сведения о конфигурации этого диска. (Если вам не понятно, что они означают, загляните в главу 20. Разбираться в этих сведениях важно только в том случае, если FreeBSD не удается получить их.) В следующих нескольких строках содержится информация о каждом определенном на этом диске разделе. Если это новый диск, или если вы удалили с диска все разделы, прежде чем устанавливать на него FreeBSD, далее будет отображаться только одна строка, информирующая о том, что на диске имеется только один раздел, который является неиспользуемым ("unused") и занимает все доступное на этом диске пространство. В табл. 2.3 вкратце описывается, какие сведения отображаются в каждом столбце. НА ЗАМЕТКУ Если термины, которые будут приводиться дальше (вроде "секторы"), вам не знакомы, прочитайте главу 20, которая посвящена жестким дискам и в которой подробно объясняются все связанные с ними термины. Таблица 2.3. Информация, отображаемая в таблице разделов Столбец Информация Offset Начальный сектор раздела. size (ST) Размер раздела в секторах. End Последний сектор в разделе. Name Имя устройства, которое FreeBSD присвоила этому разделу (если известно). РТуре Числовое обозначение типа раздела (то есть типа, к которому относится данный раздел). Desc Тип раздела. Subtype Дополнительная информация о типе раздела. flags В этом столбце могут отображаться следующие символы: - Раздел выровнен правильно. > Раздел выходит за границы 1024-го цилиндра на жестком диске. Это может сыграть свою роль позже, когда придет время создавать метки для дисков, потому что системные разделы, выходящие за границы 1024-го цилиндра, в некоторых системах приводят к появлению проблем (это ограничение системы BIOS, а не FreeBSD). R Раздел содержит корневую файловую систему, которая в FreeBSD является файловой системой самого высокого уровня. в Раздел поддерживает обработку дефектных участков (BAD 144). С Раздел является разделом FreeBSD. А Раздел является активным (то есть загрузочным).
Установка FreeBSD Глава 2 СОВЕТ Нажмите клавишу <Z>, чтобы преобразовать отображаемые значения размеров в секторы, килобайты, мегабайты или гигабайты. Чтобы выделить все доступное на этом диске пространство под FreeBSD, просто нажмите клавишу <А>, чтобы выполнить команду Use Entire Disk (Использовать весь диск). После этого должна появиться строка, показывающая, что на диске был создан один единственный раздел типа 165 с описанием freebsd. Кроме того, также появится строка, в столбце Desc которой будет отображаться значение unused. Не переживайте по этому поводу: это нормально, даже в случаях, когда для использования выбирается весь диск целиком. Далее, нажмите клавишу <Q>, чтобы выйти из окна редактора разделов (Partition Editor). Ни в коем случае не нажимайте перед этим клавишу <W> (которая выполняет команду Write Changes (Записать изменения)), потому что эта опция предназначена только для внесения изменений в существующие файловые системы, а не для первоначальных процедур установки. ВНИМАНИЕ! Когда для установки FreeBSD выбирается весь диск целиком, с этого диска удаляются все существующие данные. Поэтому если на диске имеются файлы, которые вы не хотите потерять, обязательно сделайте их резервные копии. А если вы вообще хотите сохранить всю имеющуюся на этом диске информацию, тогда, прежде чем продолжить процедуру установки FreeBSD, прочтите главу 3. НА ЗАМЕТКУ Н В отличие от Linux, для FreeBSD создавать множество разделов на одном диске не нужно, хотя вполне возможно, что для хранения файловых систем FreeBSD понадобится более одного раздела. Создать отдельные разделы для различных файловых систем можно с помощью редактора меток дисков (Disk Label Editor). Отличия между "разделами" BSD-типа (секциями) и разделами DOS/Linux-типа будут описаны в главе 20. После этого FreeBSD предложит установить программу FreeBSD Boot Manager (Диспетчер загрузки FreeBSD). Если вы устанавливаете FreeBSD не на первый, а на какой-нибудь другой диск в системе, выберите опцию BootMgr (Диспетчер загрузки). Вам также следует выбрать эту опцию, если FreeBSD не будет единственной операционной системой на этом диске. Если на данный диск устанавливается только операционная система FreeBSD и если диск является первым в системе, вы можете выбрать опцию Standard (Стандартная). Если в системе установлен только один-единственный жесткий диск, далее на экране появится сообщение, информирующее о необходимости создать внутри созданного только что раздела (разделов) fdisk разделы BSD. Нажмите клавишу <Enter>, чтобы перейти в окно редактора меток дисков (Disk Label Editor). Если в системе установлено несколько жестких дисков, вернитесь в меню выбора дисков.
Введение в FreeBSD НА ЗАМЕТКУ Если вы хотите разбить установку FreeBSD на несколько дисков (либо из-за того, что на одном диске не хватает места для полной установки, либо по причинам, связанным с производительностью), выберите любые другие диски, которые хотите использовать для FreeBSD, выполнив для каждого из них все те же шаги, которые описывались в этом разделе. Когда вы создадите разделы на всех дисках, которые хотите использовать для FreeBSD, удостоверьтесь в том, что выделена опция ОК, и нажмите клавишу <Enter>. Редактор меток дисков (Disk Label Editor) Именно в редакторе меток дисков (Disk Label Editor) вы будете создавать файловые системы, в которых фактически будет размещаться FreeBSD. Здесь вы будете делить созданные в редакторе разделов (Partition Editor) разделы (секции) на подразделы (BSD-разделы), закрепляемые за определенными местами в системе» Когда вы впервые отобразите окно этого редактора, оно будет выглядеть примерно так: FreeBSD Disklabel Editor Disk: ad'0 Partition name: adOsl Free: 234436482 blocks (113664MB) Part Mount Size Newfs Part Mount Size Newfs The following commands are valid here (upper or lower case): С = Create D = Delete M * Mount pt. W = Write N = Newfs Opts Q « Finish S « Toggle SoftUpdates Z = Custom Newfs T = Toggle Newfs U = Undo A = Auto Defaults R = Delete+Merge Use Fl or ? to get more help, arrow keys to select. Редактор меток FreeBSD Диск: adO Имя раздела: adOsl Свободно: 234436482 блоков (113664 Мбайт) Раздел Смонтирован Размер ФС Раздел Смонтирован Размер ФС Допустимые команды (в верхнем или нижнем регистре) : С - создать D * удалить М = смонтировать W = записать N * опции ФС (файловая система) Q - завершение S = переключить SoftUpdates Z « специальная ФС Т = переключить ФС U = отменить А = автоматическая настройка R = удалить+слить Используйте F1 или ? для расширенной справки, а клавиши со стрелками для выбора. В этом окне может отображаться информация как об одном, так и о нескольких дисках, что зависит от того, сколько дисков было выбрано для установки FreeBSD. Начиная с FreeBSD 5.0, опция Auto Defaults (Автоматическая настройка) предлагает разумные настройки по умолчанию, которые подходят в большинстве случаев. Если вы не уверены в том, что сумеете правильно создать разделы (эта процедура подробно описывается в следующем разделе), лучше выберите опцию Auto Defaults (Автоматическая настройка) (то есть нажмите клавишу <А>), а затем выйдете из окна редактора, нажав клавишу <Q>, и перейдите в раздел "Выбор дистрибутива" далее в этой главе. Если вы решили использовать несколько дисков, вам придется создавать и настраивать разделы вручную. Если вы вынуждены создавать разделы вручную или если вы не уверены, нужно ли вам создавать специальные разделы, прочитайте следующий раздел.
Установка FreeBSD | ~ I Глава 2 I I Создание разделов вручную Вы должны создать, как минимум, два раздела — один для корневой файловой системы и один для файла подкачки. Однако, "минимальный" подход — не всегда самый лучший подход. Он выглядит заманчиво, потому что исключает вероятность возникновения ситуации, когда в одном разделе вам не хватает свободного пространства, хотя оно так необходимо, а в другом разделе доступно 150 квинтиллионов гигабайт, но использовать их для того, что вам нужно, вы не можете. На самом деле, существует, по крайней мере, одна, достаточно хорошо известная версия Linux, которая предлагает размещать все в корневой файловой системе. Такой подход является опасным по двум причинам. Во-первых, FreeBSD и все остальные версии UNIX представляют собой мощные многофункциональные операционные системы. Они постоянно что-то делают, особенно если установлены на загруженных серверах. В этих системах обычно открыто сразу по нескольку окон, а также довольно часто выполняются операции записи данных на диск. Если в работе такой операционной системы случается сбой, когда внезапно отключается электричество или убирающая офис персона проходится пылесосом по шнуру питания сервера во время, когда выполняется операция записи, не исключено повреждение файловой системы. В зависимости от того, какие данные записывались на диск в момент, когда произошел сбой, повреждение может оказаться очень серьезным и сделать файловую систему абсолютно непригодной для использования. Файловая система вряд ли повредится, если в момент сбоя в работе операционной системе или временного отключения электричества в нее не будут записываться никакие данные. Вот почему лучше использовать несколько файловых систем. Это поможет не только ограничить область повреждения одним разделом (вместо всей системы целиком), но и защитить корневую файловую систему, которая имеет крайне важное значение. В грамотно составленной файловой системе в корневой раздел практически никогда не записываются никакие данные. Вторая причина, по которой размещение всех файлов в одном разделе может оказаться опасным, заключается в том, что это делает сервер более подверженным всевозможным атакам типа DoS (Denial of Service — отказ в обслуживании). Эти атаки могут быть как умышленными, так и случайными, но главное то, что они могут происходить, да и происходят, причем довольно-таки часто. Например, в системе, в которой не были установлены квоты, ограничивающие доступный для пользователей объем пространства, пользователь запросто мог бы специально или случайно (неправильно применив команду копирования файлов) создать файл, который бы занял все свободное пространство в разделе, где расположен его домашний каталог. Если бы в этом разделе были размещены все файловые системы, это привело бы не только к тому, что все остальные пользователи больше не смогли бы сохранять никакие данные в своих каталогах, но и, возможно, к отказу почтовой службы, из-за отсутствия свободного пространства в ее каталоге спулинга, и отказу службы печати, из-за нехватки места для хранения стоящих в очереди заданий на печать. Плюс к этому, еще и Web-сервер мог бы перестать обслуживать пользователей из-за отсутствия возможности записывать данные в файл журнала, syslogd (программа, которая регистрирует сообщения системы) тоже в этом случае лишилась бы возможности фиксировать важные сообщения, что позволило бы хакерам проникать в систему незамеченными. Все программы, которым для работы необходимо создавать временные файлы, выдавали бы ошибку из-за отсутствия свободного пространства в файловой системе tmp.
Введение в FreeBSD Предсказать, когда в файловых системах перестанет хватать места, довольно-таки трудно. Однако, иметь больше разделов, чем нужно, обычно лучше, чем иметь их слишком мало; поэтому я рекомендую создать, как минимум, пять разделов: один для корневой файловой системы (/), один для файла подкачки, один для пользовательской файловой системы (/usr), один для файловой системы var (/var) и еще один, последний, для временных файлов, которые могут создавать пользователи (/tmp). Некоторые рекомендуют размещать файловую систему /var в том же разделе, что и файловую систему /usr, потому что определить, какой объем пространства будет для нее оптимальным, достаточно сложно. Однако я не советую поступать подобным образом, потому что это может сделать систему более подверженной различным атакам типа отказа в обслуживании (особенно если домашние каталоги пользователей тоже находятся в том же разделе, что и файловая система /usr). НА ЗАМЕТКУ FreeBSD может использовать больше памяти, чем фактически установлено в системе, пользуясь так называемой виртуальной памятью. Чтобы использовать виртуальную память, FreeBSD перемещает все неиспользуемые страницы памяти на диск, тем самым освобождая в памяти место для данных, которые нужны в конкретный момент. Когда в странице памяти, которая была перемещена на диск, снова возникает необходимость, FreeBSD перемещает ее обратно в память и, если необходимо, перемещает из памяти на диск какие-нибудь другие данные, чтобы освободить место. Эти операции называются подкачкой, а область диска, в которую перемещаются неиспользуемые на текущий момент страницы памяти, называется разделом подкачки. В табл. 2.4 перечислены некоторые основные каталоги FreeBSD и вкратце описывается, для чего каждый из них предназначен. Эта информация должна помочь вам определиться с тем, какие файловые системы вы хотите разместить в каждом разделе. Обратите внимание на то, что список каталогов, приводимый в этой таблице, является неполным: в нем перечислены только те каталоги, для которых вы можете захотеть создать отдельные разделы. Полный перечень всех каталогов FreeBSD с пояснениями можно найти в главе 12. Таблица 2.4. Каталоги FreeBSD и их предназначение Каталог Предназначение / Это каталог корневой файловой системы. Именно в этом каталоге будут появляться все остальные файловые системы (даже если они находятся в разных разделах, на разных дисках или даже на разных компьютерах и континентах). У корневой файловой системы должен быть свой раздел, и философия FreeBSD гласит, что чем меньше будет этот раздел, тем лучше. 256 Мбайт должно вполне хватить. При наличии проблем со свободным пространством вы можете выделить для него и только 100 Мбайт, но ни в коем случае не меньше этого. Обратите внимание на то, что при указании для корневого раздела размера, меньшего 118 Мбайт, FreeBSD отобразит соответствующее предупредительное сообщение. /boot в каталоге boot размещается ядро, его модули и другие файлы, необходимые для запуска операционной системы. Выделив для каталога /boot отдельный раздел, вы можете создать корневой раздел, выходящий за пределы 1024-го цилиндра. (Обратите внимание, что каталог boot должен полностью помещаться на первых 1 024 цилиндрах.)
Установка FreeBSD I ГГ I Глава 2 I I Окончание табл. 2.4 Каталог Предназначение /usr в файловой системе /user содержится большая часть утилит и программ, к которым будут получать доступ обычные пользователи, поэтому для нее обязательно должен создаваться отдельный раздел. Обычно для раздела /usr выделяется все пространство на диске, которое осталось после создания других разделов, имеющих специальные (рекомендованные) размеры. /usr/local в этом каталоге устанавливаются все сторонние программы, которые не являются частью операционной системы (такие как Web-серверы и программы для работы с базами данных). Некоторые предпочитают создавать для каталога /usr/local отдельный раздел, то есть не помещать его в раздел /usr. Лично я не рекомендую делать это в стандартных случаях. Исключением может быть ситуация, когда у вас установлено несколько жестких дисков, и вы хотите разбить раздел /usr в*целях экономии пространства. /var в этом каталоге хранятся "переменные" файлы или файлы, создаваемые программами во время их работы (такие как файлы данных времени выполнения, файлы баз данных и файлы журналов). Я предпочитаю создавать для /var отдельный раздел. В каталоге /var могут храниться: входящие сообщения, системные журналы, журналы Web-серверов и задания, стоящие в очередь на печать. При выборе размера для раздела /var следует исходить из того, планируется ли в данной системе использовать сервер печати, почтовый сервер или Web-сервер. Обратите внимание, что на загруженном Web-сервере размер файлов журналов всего за пару дней запросто может увеличиться до объема более 100 Мбайт. Если вы собираетесь создавать мощный Web-сервер, то либо выделите для раздела /var достаточно большое количество пространства (1 Гбайт или даже больше), либо готовьтесь к частому выполнению процедуры обновления журнальных файлов. Если вы знаете, что будете получать много электронной почты, вы тоже захотите сделать раздел /var достаточно большим, размером в несколько гигабайт, для того чтобы на нем могла без проблем умещаться каталоги спулинга всех пользователей (которые могут становится очень большими, особенно когда они не обслуживаются). /tmp это каталог, в который программы и пользователи могут записывать свои временные файлы. Он обычно очищается автоматически при каждой перезагрузке. Корректно написанные программы, которым для работы приходится создавать очень большие временные файлы, не должны использовать этот каталог; вместо этого они должны использовать каталог /usr/tmp или /var/tmp, чтобы исключить вероятность переполнения небольшого по размерам корневого каталога. Вы можете либо создать для каталога /temp отдельный раздел (именно такой подход по умолчанию применяется в программе Sysinstall), либо сопоставить его с какой-нибудь областью в разделе /usr. Также обратите внимание на то, что если для выполнения какой-нибудь определенной операции требуется больше временного пространства, нежели доступно, вы можете временно изменить место, используемое для записи временных файлов, для данной конкретной операции. /home Это каталог, в котором хранятся домашние каталоги пользователей. Обычно его размещают в разделе /usr. Если вы уже точно знаете, чтр системой будет пользоваться много пользователей, и что эти пользователи будут создавать много файлов, вы можете захотеть создать для каталога /home отдельный раздел или даже выделить для него целый диск.
Введение в FreeBSD Часть I СОВЕТ Если в системе установлено несколько жестких дисков, вы можете оптимизировать производительность системы, распределив задачи, выполнение которых подразумевает интенсивное использование диска, между этими несколькими жесткими дисками. Например, если вы планируете пользоваться сервером новостей Usenet (который эксплуатирует жесткий диск довольно-таки интенсивно) и Web-сервером (не менее интенсивно использующим жесткий диск), вам лучше разместить каталог сервера новостей и каталог, в котором Web-сервер будет хранить свои страницы, на отдельных дисках. Точно так же, если вы разместите содержимое базы данных на отдельном от статического Web-содержимого диске, вы тоже сможете значительно увеличить производительность Web-сервера. Корневой раздел Если специализированный раздел /boot не используется, первым разделом на диске должен быть корневой (/). Чтобы создать корневой раздел, с помощью клавиш со стрелками выделите в верхней части окна редактора меток дисков (Disk Label Editor) диск, на котором вы хотите разместить корневой каталог (в столбцах Disk (Диск), Partition Name (Название раздела) и Free (Свободно) этого диска обязательно должны быть указаны какие-нибудь значения) и затем нажмите клавишу <С>, чтобы выполнить команду Create Partition (Создать раздел). Появится диалоговое окно с приглашением указать размер раздела (рис. 2.3). Рис. 2.3. Указание размера для раздела Как уже упоминалось ранее в этой главе, 256 Мбайт должно быть вполне достаточно для корневого раздела. В этом диалоговом окне сказано, что для того, чтобы указать размер в мегабайтах, следует просто добавить после обозначающего размер числа букву "М". Поэтому введите здесь 256М (предполагается, что вы хотите создать корневой раздел размером именно 256 Мбайт) и нажмите клавишу <Enter>. Далее последует приглашение выбрать тип для создаваемого раздела. Поскольку в этом разделе будет храниться корневая файловая система, выберите опцию FS - A File System (ФС — Файловая система) и нажмите клавишу <Enter>. После этого на экране появится диалоговое окно с приглашением указать для создаваемого раздела точку монтирования. Точка монтирования (mount point) — это каталог, в котором будет доступна
Установка FreeBSD I ~~ I Глава 2 I I данная файловая система. Поскольку сейчас речь идет о корневой файловой системе, введите в этом окне / и нажмите клавишу <Enter>. После этого ваш экран должен будет выглядеть примерно так: FreeBSD Disklabel Editor Disk: adO Partition name: adOsl Free: 29761379 blocks (113408MB) Part Mount Size Newfs Part Mount Size Newfs adOsla / 256MB UFS1 Y The following commands are valid here (upper or lower case): С = Create D = Delete M = Mount pt. W = Write N = Newfs Opts Q = Finish S = Toggle SoftUpdates Z = Custom Newfs T = Toggle Newfs U = Undo A « Auto Defaults R = Delete+Merge Use Fl or ? to get more help, arrow keys to select. Этот код показывает, что у вас теперь есть файловая система в части adOsla (adOsla — комбинированное имя, состоящее из имени устройства и названия секции, которое FreeBSD использует для ссылки на эту файловую систему), что она размещается в разделе /, занимает 256 Мбайт и относится к файловым системам типа UFS1 (данный тип является стандартным для файловых систем в FreeBSD). Далее потребуется создать раздел подкачки. Раздел подкачки FreeBSD — это операционная система с виртуальной памятью; она может использовать больше памяти, чем фактически доступно в физическом ОЗУ. Для этого она берет и переносит из ОЗУ на диск те страницы программ, которые в настоящий момент не используются. Когда в этих страницах снова возникает необходимость, FreeBSD переносит их с диска обратно в ОЗУ и, если нужно, снова переносит из ОЗУ на диск какие-нибудь другие данные, чтобы освободить место для этих возвращаемых в ОЗУ страниц. Конечно, получение доступа к данным на жестком диске занимает гораздо больше времени, чем получение доступа к данным, которые находятся в ОЗУ, поэтому раздел подкачки ни в коем случае не может заменить ОЗУ Но, тем не менее, раздел подкачки играет очень важную роль в схеме, по которой работает UNIX и все остальные современные операционные системы, а также является главной причинной, по которой ошибки типа "недостаточно памяти" (out of memory) сегодня практически не возникают. Правильная (или неправильная) конфигурация раздела подкачки может значительно повлиять на производительность системы. Ниже приводятся некоторые советы по поводу того, где лучше размещать раздел подкачки: • Размещайте раздел подкачки как можно ближе к началу диска. Доступ к имеющим меньшие номера цилиндрам диска, которые находятся ближе к краю, и считывание с них данных происходит гораздо быстрее, чем доступ и считывание данных с цилиндров, имеющих более высокие номера (они перемещаются быстрее, чем те, что находятся в средней части диска). • Если в системе установлено несколько дисков, то, как правило, раздел подкачки лучше размещать на самом быстром из них.
I ~ I Введение в FreeBSD I I Часть I • Если самый быстрый диск в системе также является и самым загруженным, то есть чаще остальных используется пользователями, Web-серверами, почтовыми агентами и так далее ^ совет из предыдущего пункта можно проигнорировать и разместить раздел подкачки на наименее загруженном из всех дисков в системе. Это не только даст диску больше времени на доступ к разделу подкачки вместо чего-то другого, но также увеличит вероятность того, что считывающие головки будут находиться уже в разделе подкачки, когда потребуется свопинг. Такие, казалось бы, незначительные детали, как время, затрачиваемое головками на то, чтобы добраться до той части диска, в которой находится раздел подкачки, могут играть очень важную роль при серьезных нагрузках и интенсивном свопинге. Итак, сколько же пространства следует выделять под раздел подкачки? Давным- давно, когда ОЗУ было дорогим удовольствием, и на компьютерах большинства пользователей объем ОЗУ составлял от 4 до 16 Мбайт, было принято придерживаться следующего правила: размер раздела подкачки должен примерно в 2.5 раза превышать объем ОЗУ. Но сегодня ОЗУ — это дешевый и доступный аппаратный элемент. Рабочие станции с ОЗУ объемом 1 Гбайт и серверы с ОЗУ объемом 4 Гбайт и больше — в наши дни далеко не редкость. Сегодня рядовой пользователь вполне может позволить себе иметь ОЗУ большего, чем ему нужно на самом деле, объема. Однако дисковое пространство сейчас тоже стоит относительно дешево и поэтому пользователь еще может и укомплектовать свою новую систему диском, большего чем ему в принципе нужно размера. Поскольку увеличить объем ОЗУ намного легче, чем заменить жесткий диск диском большего размера (ведь для этого просто нужно вставить дополнительный модуль памяти), вы можете предпочесть для начала все-таки создать раздел подкачки размером, по крайней мере, в два раза превышающим объем имеющегося ОЗУ. В этом случае, если вы потом решите удвоить объем ОЗУ в своей системе, волноваться об изменении размера раздела подкачки вам не придется, потому что он все же еще будет, по крайней мере, не меньше размера физического ОЗУ и, значит, пригодным для использования. Размер 512 Мбайт является в принципе неплохим вариантом для раздела подкачки, если объем установленного в системе ОЗУ тоже составляет 512 Мбайт или меньше и если дисковое пространство — не проблема. Если возможно, для раздела подкачки всегда следует выбирать размер, по крайней мере, равный объему имеющегося ОЗУ. Если вы планируете заниматься разработкой или отслеживать такую ветвь FreeBSD, как CURRENT, то выполнение этого условия становится практически необходимостью, почему — объясняется дальше. Время от времени возникают такие ситуации, когда ядро операционной системы просто не знает, что делать. Когда это происходит, ядро останавливает работу, выдает ошибку "Kernel panic" ("паника ядра") и затем просто перезагружает систему. Однако если ядро сконфигурировать соответствующим образом, оно в таком случае будет сначала "сбрасывать" содержимое ОЗУ в раздел подкачки и только потом выполнять перезагрузку системы. Содержимое ОЗУ на момент возникновения такой ошибки является важным для программистов, потому что позволяет им выяснить и устранить причину, приведшую к появлению этой ошибки. Если в ОЗУ содержится больше информации, чем может уместиться в разделе подкачки, может произойти следующее:
— _ Установка FreeBSD | ~ I Глава 2 I I • Ядро решит не сбрасывать содержимое ОЗУ в раздел подкачки. Такой сценарий является наиболее вероятным. В этом случае никакая отладочная информация, позволяющая выяснить причину возникновения ошибки "Kernel panic", естественно, доступной не будет. • Если ошибка "Kernel panic" возникла в ядре по причине, неким образом связанной с файловыми системами, не исключено, что ядро начнет сбрасывать содержимое ОЗУ в раздел подкачки и не остановится даже тогда, когда достигнет границ этого раздела, что вполне может закончиться серьезным повреждением файловой системы, следующей сразу за разделом подкачки» Ошибки "Kernel panic" редко случаются в FreeBSD. Но когда они все-таки случаются, возможность сбрасывания содержимого ОЗУ в раздел подкачки оказывается очень кстати, потому что позволяет проанализировать данные, находившиеся в ОЗУ в момент, когда произошла эта ошибка, и попытаться выяснить, что стало причиной ее возникновения. Поэтому раздел подкачки лучше делать размером, по крайней мере, равным объему установленного в системе ОЗУ или даже большим, если дисковое пространство не является проблемой. НА ЗАМЕТКУ Ошибки "Kernel panic" в системах UNIX похожи на небезызвестные ошибки типа "Blue Screen of Death" ("синий экран смерти"), происходящие в системах Windows NT/2000/XR Те кто, привык работать с Windows, могут вздохнуть с облегчением, потому что ошибки "Kernel panic" в FreeBSD возникают гораздо реже, чем ошибки типа "синего экрана смерти" в Windows, особенно если пользователь не использует никаких экспериментальных заплат для ядра и не проходивших тестирование программ. Лично у меня за двенадцать лет работы с FreeBSD ошибка "Kerne! panic" произошла только один единственный раз. Определившись с размером для раздела подкачки, возьмите и создайте его точно так же, как создавали корневой раздел, только в этот раз в диалоговом окне с приглашением указать тип файловой системы выберите вариант Swap — A Swap Partition (Подкачка — Раздел подкачки) ¦ Точки монтирования у разделов подкачки не бывает, поэтому когда вы будете создавать свой раздел подкачки, приглашения указать точку монтирования не последует. Создание остальных разделов После того, как вы создадите корневой (и, возможно, загрузочный) раздел и раздел подкачки, создайте все остальные необходимые разделы, указав для них выбранный заранее размер и подходящие точки монтирования (например, /usr или /var). Не забывайте ставить в начале символ косой черты. СОВЕТ . Если вы предпочитаете позволить Sysinstall автоматически создать все необходимые разделы, просто удалите все разделы, которые создали до этого, и нажмите клавишу <А>, чтобы выбрать опцию Auto Defaults (Автоматическая настройка). Точки монтирования и размеры разделов, устанавливаемые при выборе этой опции, как правило, подходят для всех, кроме очень уж специализированных конфигураций.
_ л , Введение в FreeBSD 74 Часть I Вы можете исправлять допущенные ошибки и создавать разделы заново в любое время на протяжении этого сеанса, потому что все изменения записываются на диск только в самом конце процесса. Просто выделите раздел и нажмите клавишу <Delete>, чтобы удалить его, а затем при помощи клавиши с изображением стрелки вверх перейдите к диску, отображающемуся в верхней части экрана, и нажмите клавишу <С>, чтобы создать новый раздел. Когда в системе установлено несколько дисков, перемещаться по ним можно с помощью клавиш с изображением стрелок вверх и вниз: используя эти клавиши, выделите в верхней части экрана диск, на котором хотите создать раздел. Ниже показан пример того, как может выглядеть окно редактора меток дисков (Disk Label Editor), когда вы закончите создавать разделы: FreeBSD Disklabel Editor Free: 0 blocks (0MB) blocks Disk: adO Disk: adl (0MB) Part adOsla adOslb adOsle adOslf adOslg adlsle Mount / swap /var /tmp /usr /home Partition name: adOsl Size 256MB 756MB 256MB 256MB 48817MB 124664M3 Free: 0 blocks (0MB) Partition name: adlsi Free: 0 Newfs UFSl SWAP UFS1+S UFS1+S UFS1+S UFS1+S Part Y Y Y Y Y Mount Size Newfs The following commands are valid here (uppei or lower case): С » Create D - Delete M ~ Mount pt. W ¦» Write N = Newfs Opts Q - Finish S * Toggle SoftUpdates Z - Custom Newfs T » Toggle Newfs U - Undo A « Auto Defaults R * Delete+Merge Use Fl or ? to get more help, arrow keys to select. Данный пример показывает, что в системе имеется целых два жестких диска, и что каталог /home был размещен на втором диске в отдельном разделе, который занимает все пространство на этом диске. НА ЗАМЕТКУ Если во время создания раздела внизу экрана появится сообщение об ошибке типа "You can only do this in a master partition (see top of screen)" ("Это можно делать только в ведущем разделе (см. вверху экрана)"), значит, вам нужно выделить один из тех разделов с файловыми системами, что отображаются в верхней части экрана. Используя клавишу с изображением стрелки вверх, перейдите к диску, на котором хотите создать раздел, и затем попробуйте создать раздел еще раз. Полезная информация об опции Soft Updates Начиная с версии FreeBSD 5.0, опция Soft Updates (Плавные обновления) по умолчанию является включенной в большинстве файловых систем (кроме той, что находится в каталоге /). Эта опция более подробно будет рассматриваться в главе 12, но уже сейчас вам следует знать, что она способна значительно увеличивать производительность и надежность большинства файловых систем, поэтому ее лучше остав-
Установка FreeBSD I ~ I Глава 2 I I лять включенной. Активизировать опцию Soft Updates можно следующим образом: с помощью клавиш с изображением стрелок вверх и вниз выделите нужную файловую систему и нажмите клавишу <S> (эта клавиша позволяет как включать, так и отключать опцию Soft Updates). У файловой системы с включенной опцией Soft Updates после типа будет стоять +S (например, UFS1+S). Закончив создавать разделы, нажмите клавишу <Q>, чтобы выйти из окна редактора разделов (Partition Editor). Опять-таки, ни в коем случае не нажимайте перед этим клавишу <W>, потому что выполняемая ею команда предназначена для внесения изменений в уже существующие файловые системы, а не для установки новых. Пока вы находитесь в одном и том же сеансе работы с Sysinstall, все вносимые вам изменения хранятся в памяти и не будут применены до тех пор, пока вы не выберите тип установки. На следующем экране вам будет предложено выбрать, какие компоненты FreeBSD вы хотите установить. Выбор дистрибутива На рис. 2.4. показано меню Choose Distributions (Выбор дистрибутивов). Рис. 2.4. Выбор дистрибутива "Дистрибутивом" в FreeBSD называется набор доступных программ, который можно выбрать для установки. Не все программы подходят для всех пользователей: например, если вы не планируете работать с исходным кодом, вам вовсе необязательно его устанавливать. Тем не менее, если у вас достаточно места на диске, рекомендуется выбрать опцию АН (Все). Если вы планируете использовать данную систему только как сервер и точно знаете, что вам не понадобится система X Window System, можете вместо этого выбрать опцию Developer (Разработчик). Если вы выберите дистрибутив, не включающий исходный код, вы не сможете создавать ядро и обновлять систему с помощью программы CVSup (если только вы не загрузите все исходные коды после того, как запустите CVSup, что исключает экономию места, которая возможна при выборе соответствующей опции здесь, то есть в этом меню). Если вы выберете опцию, которая предполагает установку только исходных кодов ядра, но не всех остальных исходных кодов, создавать новое ядро вы сможете, а обновлять систему с помощью CVSup — все равно нет. Если вы новичок, вы наверняка вообще не будете знать, для чего предназначена большая часть всех этих пакетов. Поэтому, рекомен-
I ZZ I Введение в FreeBSD I I Часть! дуется все-таки остановить свой выбор на одном из готовых дистрибутивов, и лучше если это будет дистрибутив АН (Все), НА ЗАМЕТКУ CVSup — это программа синхронизации файлов, которая автоматически обновляет операционную систему FreeBSD, подключаясь к серверам и определяя, что изменилось со времени, когда ее запускали в последний раз. Все изменения автоматически загружаются с сервера и применяются к исходному коду FreeBSD. Такой подход является более быстрым, нежели загрузка всего дерева исходных кодов целиком. Когда используется CVSup, загружаются только те данные, которые изменились. Программа CVSup более подробно будет рассматриваться в главе 19. Выбрать дистрибутив можно следующим образом: выделите нужный дистрибутив и нажмите клавишу пробела. После этого на экране появится диалоговое окно с приглашением установить коллекцию портов FreeBSD. Если вы можете позволить себе потратить 300 Мбайт, вам лучше все-таки установить эту коллекцию (которая более подробно будет рассматриваться в главе 16), потому что она предоставляет удобный механизм для загрузки, установки и настройки тысяч дополнительных программ и компилирует их в соответствии с требованиями именно вашей системы FreeBSD. Когда установлена коллекция портов, установка дополнительных программ превращается в очень простую задачу. С помощью клавиши <ТаЬ> выберите подходящий вариант и нажмите клавишу <Enter>. Далее на экране снова появится меню Choose Distributions (Выбор дистрибутивов). Выбранные дистрибутивы должны быть отмечены крестиком (X); если была выбрана опция АН (Все), крестиком будут отмечены все дистрибутивы. Используя клавишу с изображением стрелки вверх, перейдите к опции Exit (Выход) и затем нажмите клавишу <Enter>. Выбор источника установки На следующем экране вам будет предложено указать источник установки (рис. 2.5). Рис. 2.5. Выбор источника установки
Установка FreeBSD I ZZ I Глава 2 I I В этой главе предполагается, что установка выполняется с прилагаемого к этой книге DVD-диска (или с официальных CD-дисков). Если это не так, то есть если вы выполняете установку с сетевого диска, накопителя на магнитной ленте, FTP-сервера или существующей файловой системы, вам следует сначала прочитать соответствующий вашему типу установки раздел в главе 3. НА ЗАМЕТКУ Если вы выполняете установку с дискет, выберите опцию FTP и нажмите клавишу <Enter>. Далее вам придется настроить свою сетевую карту так, чтобы программа Sysinstall могла получить доступ к FTP-серверу и загрузить установочные файлы операционной системы FreeBSD. На экране появится список доступных в системе сетевых устройств (карт Ethernet) с метками, которые должны помочь определить, какое из этих устройств является подходящим, то есть подключенным к сети: в принципе, правильным вариантом обычно является первое значение в этом списке, нередко включающее имя устройства, такое как fxpO. Чтобы настроить параметры сетевой связи для выбранной карты Ethernet, прочтите раздел "Настройка сети", который находится далее в этой главе, а затем, когда введете всю необходимую TCP/IP-информацию, снова вернитесь сюда. Если вы выполняете установку с CD- или DVD-диска, убедитесь в том, что выбрана опция CD/DVD и нажмите клавишу <Enter>. После этого на экране появится следующее предупредительное сообщение: User Confirmation Requested 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! We can take no responsibility for lost disk contents! Требуется подтверждение пользователя Последний шанс! Вы УВЕРЕНЫ, что хотите продолжить установку? Если вы запускаете это на диске с какими-то данными, которые должны быть сохранены, НАСТОЯТЕЛЬНО РЕКОМЕНДУЕМ ПОДГОТОВИТЬ РЕЗЕРВНЫЕ КОПИИ перед продолжением! Мы не можем нести ответственности за утерю содержимого диска! ВНИМАНИЕ! До этого момента никакие изменения на ваш жесткий диск фактически не вносились. Это ваш последний шанс отменить установку. После того, как вы выберите вариант Yes (Да), все созданные вами разделы будут отформатированы и начнется непосредственно процесс установки. Все данные, находящиеся на разделах, которые вы выбрали для использования, будут уничтожены! Если вас устраивают выбранные вами для установки опции, выделите вариант Yes (Да) и нажмите клавишу <Enter>. На экране появится еще одно сообщение, информирующее о том, что в разделе vty4 была запущена так называемая "аварийная" голографическая оболочка, то есть, что в случае допущения какой-нибудь ошибки, вы сможете, нажав клавиатурную комбинацию <Alt+F4>, переключиться в режим командной строки и исправить ее. (Нажав клавиатурную комбинацию <Alt+F2>, вы сможете видеть, какие именно файлы сейчас устанавливаются. Чтобы вернуться экрану Sysinstall, нажмите клавиатурную комбинацию <Alt+Fl>.) Далее начнется процесс
Введение в FreeBSD форматирования разделов. Когда этот процесс завершится, Sysinstall начнет копировать файлы на ваш жесткий диск (диски). Весь процесс установки может как занять всего лишь пятнадцать минут, так и растянуться до нескольких часов, что зависит от того, с какого носителя производится установка. Когда используется CD- или DVD-диск, установка выполняется очень быстро, а когда применяются дискеты, компьютеру приходится загружать всю операционную систему с FTP-сервера, а это несколько сотен мегабайт. Время, которое занимает установка с дискет или по сети, очень сильно зависит от скорости используемого Internet-соединения, и чем медленнее работает это соединение, тем дольше будет выполняться установка. Если нужно, вы можете оставить процесс установки выполняться даже ночью: после его завершения никаких срочных действий с вашей стороны не потребуется. Конфигурирование и настройка системы после установки Когда копирование файлов завершится, появится экран с поздравлениями по поводу того, что вам удалось дойти до этого этапа, а также информацией о том, что далее Sysinstall задаст вам еще несколько вопросов для окончательной настройки системы. Сначала Sysinstall пригласит вас сконфигурировать сетевые настройки, а затем предложит установить время, настроить мышь, выбрать настольную среду (графическую оболочку), установить дополнительные пакеты программ, создать учетные записи и указать пароль пользователя root. Чтобы продолжить, выберите на этом экране опцию ОК и нажмите клавишу <Enter>. * Настройка сети Далее появится диалоговое окно с вопросом о том, не хотите ли вы сконфигурировать какие-то сетевые устройства Ethernet или SLIP/PPR (Этот шаг является необязательным, если вы выполняете установку с дискет, потому что в таком случае вы уже должны были установить все сетевые настройки ранее в процессе.) Если вы располагаете сведениями, необходимым для настройки сети (например, взяли их у системного администратора), вы можете выбрать вариант Yes (Да) и установить параметры подключения к сети сейчас. Если вы не располагаете такими сведениями или если вы хотите создать новое сетевое соединение, но не уверены в том, как это правильно делается, лучше пока пропустите этот шаг (вы всегда сможете вернуться в эту программу и установить все необходимые настройки позже, когда прочтете главы, посвященные работе в сети). ВНИМАНИЕ! Если вы в настоящий момент подключены к сети и поэтому решили пока не тратить время на конфигурирование сетевых устройств, знайте, что после перезагрузки системы вы не сможете снова получить доступ к сети до тех пор, пока не настроите соответствующим образом свои сетевые устройства. Во всех остальных случаях, то есть если вы не подключены к сети или не знаете, какие значения нужно вводить в полях для настройки сетевого соединения, вы можете пока что пропустить этот раздел и вернуться к нему позже, после того как прочитаете посвященные этой теме главы в части IV.
Установка FreeBSD | ZT I "" ~ Глава 2 I I Если вы не хотите сейчас конфигурировать никакие сетевые устройства, просто выберите вариант No (Нет) и переходите к следующему разделу главы. Если же вы все-таки решили настроить сетевые устройства на этом этапе, выберите вариант Yes (Да): после этого появится экран, подобный показанному на рис. 2.6. Рис, 2.6. Выбор сетевого интерфейса для настройки Выделите в списке сетевое устройство, которое хотите сконфигурировать, и нажмите клавишу <Enter>. Обратите внимание на то, что адаптер Ethernet может называться по-разному, что зависит от его производителя и модели. И если выбранный адаптер Ethernet является первым и единственным в системе, его номером будет О (например: fxpO). После того, как вы выберите сетевое устройство, которое хотите сконфигурировать, появится диалоговое окно с приглашением попробовать настроить сетевой интерфейс с помощью сервера IPv6. Если вы точно знаете, что в вашей сети нет сервера IPv6, который мог бы отправить вам конфигурационную информацию, вам следует выбрать вариант No (Нет). Далее последует приглашение попробовать настроить сетевой интерфейс с помощью сервера DHCP. Если в сети имеется сервер DHCP, FreeBSD попытается связаться с ним и получить всю необходимую информацию о вашей сети. Если вы точно знаете, что такого сервера в вашей сети нет, вы должны выбрать вариант No (Нет). Если вы подключены к корпоративной или домашней сети с маршрутизатором и не уверены, доступен в ней сервер DHCP или нет, выберите вариант Yes (Да): в сетях с маршрутизатором в большинстве случаев такой сервер имеется. Если после этого появится экран с заполненными полями, вам не придется выполнять несколько следующих шагов. На следующем экране вы сможете вручную ввести необходимую информацию о вашей сети. О том, что это за информация, более подробно будет рассказываться в главе 22 и 23, но ниже все же приводятся некоторые пояснения, чтобы вам легче было понять, о чем идет речь. На рис. 2.7. показан сам экран Network Configuration (Настройка сети), а в табл. 2.5 объясняется предназначение всех отображаемых на нем полей.
80 Введение в FreeBSD Часть I Рис. 2.7. Настройка сетевого интерфейса Таблица 2.5. Поля, отображаемые на экране Network Configuration (Настройка сети) Поле Описание Общие сетевые параметры для данной системы Host (Главный компьютер) Domain (Домен) IPv4 Gateway (Шлюз IPv4) Name server (Имя сервера) Здесь указывается имя хоста и имя домена системы (в данном примере, это — samba.example.com). Имя домена, в котором находится система (в данном Примере, ЭТО — example.com). Если система будет использовать маршрутизатор для получения доступа к нелокальным сетевым ресурсам (Internet), здесь следует указать адрес этого маршрутизатора. IP-адрес DNS-сервера, который преобразует сетевые имена в IP-адреса. Специальные сетевые параметры для данного сетевого интерфейса IPv4 Address (Адрес IPv4) Netmask (Сетевая маска) Extra Options to if conf ig (Дополнительные параметры для if conf ig) IP-адрес этой системы. Значение сетевой маски сети, к которой будет получать доступ данный интерфейс. Здесь указываются все остальные параметры, которые необходимо передать в конфигурацию сети. Если какая-либо из этих концепций вам неизвестна, то вы лучше, прежде чем приступать к настройке сети, прочитайте сначала главы 22 и 23. ВНИМАНИЕ! Если вы не уверены в том, какие имена или числа следует вводить в полях на экране Network Configuration (Настройка сети), обязательно спросите того, кто разбирается в этом. Никогда не вводите в этих полях просто любые значения, если ваша система сейчас подключена к сети. Если вы, находясь в сети, введете просто случайные числа в поле IPv4 Address (Адрес IPv4) или выбранное наугад имя в поле Host (Главный компьютер), вы обязательно наживете себе врагов как среди сетевых администраторов, так и среди других пользователей сети. Если вы укажете IP-адрес, конфликтующий с другой системой в сети, начнутся всякие неприятности; возможен даже отказ от обслуживания важного сетевого ресурса, если указанный IP-адрес конфликтует с IP-адресом главного сервера.
Установка FreeBSD Глава 2 81 Для перехода по полям используйте клавишу <ТаЬ> или <Enter>. Когда закончите заполнять поля, выделите опцию ОК и нажмите клавишу <Enter>, чтобы покинуть экран Network Configuration (Настройка сети). После этого, в зависимости от типа сетевого интерфейса, может появиться диалоговое окно с приглашением активизировать сетевой интерфейс прямо сейчас. Выберите вариант No (Нет), потому что вы уже практически закончили устанавливать FreeBSD, и скоро все равно будете перезагружать систему. Далее Sysinstall задаст еще несколько вопросов о сети: • Do you want this machine to function as a network gateway? (Хотите ли вы, чтобы данная машина выступала в роли сетевого шлюза?) Если только вы не планируете сделать из этого компьютера сетевой шлюз, который другие системы в сети будут использовать для получения доступа к Internet, или маршрутизатор, который будет обрабатывать сетевой трафик, предназначенный для других систем, выберите вариант No (Нет). В противном случае выберите вариант Yes (Да) и обязательно прочитайте главу 28. • Do you want to configure inetd and network services it provides? (Хотите ли вы настроить сервер inetd и сетевые службы, к которым он предоставляет доступ?) "Суперсервер" inetd — это процесс, который обрабатывает поступающие запросы на получение доступа к службам определенного типа, таким как почтовые службы Telnet, FTP, POP и IMAP и другие. В наши дни службы, которые запускаются через inetd, встречаются все реже, да и сам inetd считается уязвимым местом в системе безопасности. Поэтому, если вы не планируете пользоваться службами, которые предоставляет inetd, или просто не знаете, понадобятся они вам или нет, выберите вариант No (Нет): вы всегда сможете настроить inetd позже, если будет нужно. • Would you like to enable SSH login? (Активизировать протокол SSH?) Здесь выберите вариант Yes (Да). SSH позволяет удаленным пользователям подключаться к программной оболочке FreeBSD (командной строке UNIX) через безопасный, поддерживающий шифрование канал. Уже все знают, что лучше использовать SSH, чем не поддерживающий шифрования альтернативный протокол Telnet, поэтому будет совсем неплохо, если вы заставите всех своих пользователей применять для удаленного доступа не Telnet, a SSH. Однако если вы вообще не хотите, чтобы к вашей машине был возможен удаленный доступ, выберите вариант No (Нет). ВНИМАНИЕ! Активизация протокола SSH означает, что удаленные пользователи, пересылая через сеть свои имена пользователей и пароли, смогут получать доступ к вашей системе и ее интерфейсу командной строки. Хотя SSH является безопасным протоколом, он не сможет защитить ваши данные от атак вроде угадывания или намеренного подбора пароля. Поэтому никогда не используйте протокол SSH в качестве единственного средства защиты от несанкционированного доступа и всегда выбирайте надежный или трудно угадываемый пароль. Для получения более подробной информации о надежных паролях обращайтесь в главу 30.
82 Введение в FreeBSD Часть I Do you want to have anonymous FTP access to this machine? (Разрешить анонимный доступ через FTP?) Я предлагаю выбрать вариант No (Нет), если только вы уже не прочитали главы, посвященные настройке сетевых соединений, такие как глава 27. Вы всегда сможете настроить анонимный доступ через FTP позже, если в этом возникнет необходимость. Do you want to configure this machine as an NFS server? (Хотите сконфигурировать эту машину как сервер NFS?) Сервер NFS позволяет делать каталоги на вашем жестком диске доступным для других пользователей так, чтобы они могли монтировать их, а также записывать или считывать хранящиеся в них данные. Опять-таки, если только вы не прочли главу 33, я советую пока выбрать вариант No (Нет), даже если вы точно знаете, что эта служба вам понадобится. Неправильно настроенная NFS может стать уязвимым местом в системе безопасности. Прочитав главу 33, вы запросто сможете вернуться и настроить NFS должным образом. Do you want to configure this machine as an NFS client? (Хотите настроить этот компьютер так, чтобы он выступал в роли клиента NFS?) Если вам необходимо иметь возможность монтировать на своем диске файловые системы, которые находятся на других компьютерах, вам следует установить и настроить клиентское приложение NFS. И снова, для получения более подробной информации о том, как конфигурируется NFS, обращайтесь в главу 33. Настройка консоли Долее вам будет предложено настроить параметры консоли FreeBSD. С помощью этих раметров вы можете настроить поведение клавиатуры, выбрать экранный и рифт и указать, какую экранную заставку вы хотите использовать. Если в диало- го ом окне с вопросом о том, хотите ли вы настроить параметры консоли, вы вы- Г рите вариант Yes (Да), далее на экране появится меню, подобное тому, которое г жазано на рис. 2.8. r&^&kyffe- \Fi*9*?s%+wc&\s} -}ЩЩх} МЁШИШМ Рис. 2.8. Настройка параметров консоли
Установка FreeBSD Большинство из опций в этом меню не нуждается в явной настройке; для них по умолчанию устанавливаются значения, которые подходят для большинства современных аппаратных средств. Однако вы можете поэкспериментировать с такими параметрами, как Font (Шрифт) и Saver (Экранная заставка), чтобы изменить внешний вид консоли и заставку, которая должна отображаться при отключении экрана, или Repeat (Скорость повтора), чтобы отрегулировать скорость ввода повторных символов при удержании клавиши. Остальные опции, такие как Key map (Карта клавиатуры) и Screen map (Карта экрана), на первый взгляд кажутся менее понятными. Опция Key map (Карта клавиатуры) позволяет изменять раскладку клавиатуры с U.S. English (Английский (США)), которая используется по умолчанию, на другую раскладку, что вам нужно будет сделать, если вы используете клавиатуру с другим набором клавиш. Подобным образом, опция Screen map (Карта экрана) позволяет изменять язык ввода на язык, соответствующий стране, в которой вы проживаете, если язык ввода, используемый по умолчанию, вам не подходит; если вы работаете на более старом оборудовании, которое не допускает смены встроенного шрифта, она позволит вам выбрать способ, которым встречающийся текст должен преобразовываться в текст, который данное оборудование сможет отобразить. И, наконец, опция Ttys (Типы терминалов) позволяет изменять режим эмуляции консольного терминала с применяемого по умолчанию режима терминала VGA (cons25) на другой режим, поведение которого будет соответствовать языку ввода, выбранному в разделе Screenmap (Карта экрана). Выбор часового пояса Далее Sysinstall запросит, не хотите ли вы выбрать часовой пояс для системы. Выберите вариант Yes (Да): появится следующий экран с вопросом о том, настроены ли системные часы на UTC (Coordinated Universal Time — универсальное глобальное время, также называемое средним временем по Гринвичу и зулусским временем). Скорее всего, это не так, поэтому если вы не уверены в том, что системные часы настроены на UTC, выберите вариант No (Нет). После этого появится еще одно меню, в котором вам нужно будет указать регион и страну, а также некоторые другие сведения о том, где вы проживаете. После того, как вы предоставите Sysinstall всю эту информацию, Sysinstall отобразит состоящую из трех букв аббревиатуру, которая соответствует вашему часовому поясу, и спросит, отвечает ли эта аббревиатура действительности. Если она правильная, выберите вариант Yes (Да), в противном случае выберите вариант No (Нет). Вы всегда сможете вернуться и повторить эту процедуру. Совместимость с Linux Следующий вопрос будет о том, хотите ли вы разрешить совместимость с Linux на уровне двоичных кодов. Если вы выберете вариант Yes (Да), Sysinstall установит в вашем разделе /usr так называемую "мини-версию" файловой системы Linux, которая включает совместно используемые библиотеки Linux и другие программы, необходимые для того, чтобы Linux-программы могли запускаться под управлением FreeBSD. Если вы точно знаете, что не будете использовать никаких программ Linux, выберите вариант No (Нет). Но если вы не уверены, лучше выберите вариант Yes (Да). Эта опция может оказаться очень полезной. (На самом деле, большую часть этой книги я написал, пользуясь такой программой Linux, как StarOffice, которую запускал в своей системе FreeBSD как раз через режим совместимости с Linux.)
Введение в FreeBSD Часть I НА ЗАМЕТКУ —— Вы сначала можете подумать, что не хотите устанавливать в своей системе FreeBSD модуль, обеспечивающий совместимость с Linux на уровне двоичных кодов. Если вам доводилось работать с эмуляторами в других операционных системах, вы знаете, как медленно они могут работать. Однако в случае FreeBSD дело обстоит совсем иначе. Поддержка Linux в FreeBSD обеспечивается не через эмулятор, а, скорее, реализуется на уровне ядра. Поддержка Linux в FreeBSD настолько хороша, что большая часть приложений Linux работают в ней так же быстро, как в самой Linux. На самом деле, некоторые приложения работают в FreeBSD даже быстрее, чем в Linux! Настройка мыши В FreeBSD мышью можно пользоваться как в текстовом режиме консоли, так и в графическом интерфейсе X Window System. Драйвер мыши для текстового режима (консоли) дает пользователю возможность копировать и вставлять текст в командной строке или в консольных программах, используя, по возможности, все три кнопки мыши. Если система будет функционировать исключительно в качестве автономного сервера без системы управления окнами и необходимости в консольном указателе мыши, вы можете и не активизировать драйвер мыши. Однако если вы планируете пользоваться FreeBSD как настольной операционной системой, вы точно захотите, чтобы мышь работала, а для этого вам придется настроить и активизировать драйвер мыши. Сначала FreeBSD спросит, подключена ли к системе не USB-мышь. К не USB- мышам относятся мыши PS/2 (которые являются стандартными и применяются в большинстве персональных компьютеров: такая мышь подключается через круглый разъем, который находится рядом с разъемом для клавиатуры) и мыши, которые подключаются через последовательный порт, такой как СОМ1 или COM2. Если вы используете PS/2-мышь или мышь, подключаемую через последовательный порт, выберите вариант Yes (Да), а если ваша мышь подключается через USB-порт, выберите вариант No (Нет) (рис. 2.9). Рис. 2.9. Настройка мыши
Установка FreeBSD На следующем экране будет отображаться несколько ссылок для настройки мыши. Если вы не планируете пользоваться мышью ни в интерфейсе X, ни в текстовом режиме консоли, выберите здесь опцию Disable (Отключить) и не читайте дальше этот раздел. В противном случае выберите опцию Туре (Тип), чтобы указать тип мыши. На следующем экране будет отображаться несколько опций для специализированных мышей и мышей старого образца, но опция, выбираемая по умолчанию (Auto (Авто)), подходит практически для всех доступных сегодня мышей типа PS/2, а также и для USB-мышей. Далее выберите опцию Port (Порт). Если применяется мышь, подключаемая через порт PS/2, выберите опцию Auto (Авто) (которая предлагается по умолчанию). В противном случае выберите порт, соответствующий тому, через который подключается имеющаяся у вас мышь. Интерфейс X Window System предполагает использование всех трех кнопок стандартной мыши. Если ваша мышь имеет только две кнопки, вам придется эмулировать трехкнопочную мышь, указав драйверу мыши интерпретировать одновременное нажатие двух кнопок мыши (которое называется аккордом) как нажатие третьей виртуальной кнопки. Чтобы сделать это, выберите в этом меню опцию Flags (Флаги) и в появившемся после этого диалоговом окне введите -3. Вы также можете здесь ввести -г high, если хотите увеличить скорость движения указателя мыши, или -г low, если указатель двигается слишком быстро, и вы хотите замедлить скорость его движения. Если вам нужны обе эти опции, вы можете ввести их, например, так: -3 -г high. Когда завершите конфигурировать параметры настройки мыши, выберите опцию Enable (Применить), чтобы протестировать и запустить демон мыши. Если мышь была настроена правильно, после этого вы сможете подвигать курсор мыши по экрану. Когда закончите тестировать мышь, выберите вариант Yes (Да), если мышь работала (обратите внимание на то, что в этом меню мышь по-прежнему не будет работать; вам все равно придется пользоваться клавишей <ТаЬ> и клавишами с изображением стрелки вверх и стрелки вниз), или вариант No (Нет), если она не работала. После этого вы вернетесь в меню настройки мыши. Если мышь работала, выберите опцию Exit (Выход). Установка дополнительных пакетов программного обеспечения В диалоговом окне с вопросом о том, хотите ли вы просмотреть коллекцию пакетов программ FreeBSD, выберите вариант Yes (Да). После этого появится меню, откуда вы сможете установить некоторые дополнительные программы. Эти программы пригодятся вам при прочтении нескольких следующих глав. Можете изучать эту коллекцию сколько угодно, чтобы узнать, какие вообще программы доступны. Но пока что я не рекомендую вам устанавливать десятки программ: на данном этапе задача номер один — сделать так, чтобы система, загрузилась, а дополнительные программы можно будет добавить и позже. Поэтому сейчас я советую установить только те пакеты программ, которые вам понадобятся для изучения материала следующих глав. Когда появится меню Choosing Installation Media (Выбор источника установки) с вопросом о том, откуда вы хотите установить пакеты программ, выберите опцию CD/DVD, если вы устанавливаете FreeBSD с прилагаемого к этой книге DVD-диска. В противном случае выберите опцию FTP, чтобы загрузить пакеты с FTP-сервера.
Введение в FreeBSD На рис. 2.10 показано главное меню системы установки пакетов ПО. Рис. 2.10. Установка дополнительных пакетов Навигация по меню системы установки пакетов осуществляется следующим образом: чтобы перемещаться по пакетам и категориям, используйте клавиши с изображениями стрелок, чтобы выбрать (выделить) пакет, используйте клавишу <Enter>, a чтобы отменить выделение — клавишу пробела. Выбрав пакеты в категории, используйте клавишу <ТаЬ>, чтобы выделить опцию О К, и нажмите клавишу <Enter>, чтобы вернуться в главное меню выбора пакетов (где вы сможете выбрать следующую категорию для просмотра). Рядом с пакетами, которые уже были установлены, будет отображаться символ X; отмена выбора таких пакетов приведет к их удалению из системы. Пакеты, рядом с которыми будет отображаться символ D, являются зависимыми (dependency), что означает, что ойи просто необходимы для нормальной работы каких-то других установленных на текущий момент пакетов. В нижней части экрана будет отображаться краткое описание выделенного в текущий момент пакета. НА ЗАМЕТКУ К тому времени, когда эта книга появится на полках книжных магазинов, номера версий некоторых из перечисляемых в данном меню программ могут поменяться. В таком случае выбирать следует вариант, наиболее близкий к тому, что указывается здесь. Например, здесь указывается версия bash-3.0. 1б_1. Если вместо этой версии в вашем меню присутствует версия bash-3.0.17, выберите ее. Я предлагаю вам выбрать пакет bash-3.0. 1б_1, который находится в категории Shells (Программные оболочки). Это очень мощная и удобная программная оболочка для интерфейса командной строки FreeBSD. Пользователям Linux эта оболочка будет знакома, потому что именно она используется по умолчанию в практически в ех дистрибутивах Linux. Специалисты по UNIX также могут установить еще какую- нибудь программную оболочку из этого списка, которая им может понадобиться. Просмотрите столько категорий, сколько хотите, и выберите все пакеты, какие з хотите. Когда завершите выбирать пакеты, вернитесь в главное меню выбора и при помощи клавиши <ТаЬ> выделите опцию Install (Установить); далее нажмите клавишу <Enter>, чтобы установить выбранные пакеты из указанного источника.
Установка FreeBSD I ~ I Глава 2 I I Добавление пользователя Когда процесс установки пакетов завершится, FreeBSp спросит, не хотите ли добавить в систему какие-нибудь учетные записи пользователей. Выберите вариант Yes (Да), чтобы создать обычную учетную запись для себя. Использовать для повседневных задач учетную запись пользователя root опасно, потому что у этой учетной записи нет никаких ограничений, и она может повредить или даже уничтожить важные системные файлы, если вы допустите какую-нибудь ошибку. Использование обычной учетной записи пользователя исключает такую вероятность. На экране User and Group Management (Управление пользователями и группами), который показан на рис. 2.11, выберите опцию User (Пользователь), чтобы добавить в систему нового пользователя. Рис. 2.11. Добавление в систему пользователей и групп После этого на экране появится форма Add a New User (Добавление нового пользователя), которую вы должны заполнить для того, чтобы добавить нового пользователя (рис. 2.12). Рис. 2.12. Форма Add a New User He все поля в этой форме должны быть обязательно заполнены. На самом деле, некоторые из них даже следует оставить пустыми для того, чтобы система смогла самостоятельно выбрать значение, которое будет использоваться по умолчанию. Для
Введение в FreeBSD перехода из одного поля в другое используйте клавишу <ТаЬ>. В следующих разделах приводится описание каждого из этих полей и рекомендации по поводу того, какие значения в них лучше вводить. Поле Login ID Имя пользователя (Login ID) — это имя, которое вы указываете при входе в систему для того, чтобы система могла идентифицировать вас. В поле Login ID (Имя пользователя) по причинам, связанным с совместимостью, разрешается вводить не более восьми символов, хотя в принципе FreeBSD поддерживает имена пользователей длиной до 16 символов. Обычно для имен пользователей применяются инициалы, прозвища (nickname) или комбинации, состоящие из инициалов или букв имени и фамилии. Например, лично я мог бы выбрать имя пользователя вроде brian, briant или btiemann. У каждого добавляемого в систему пользователя должно быть свое, уникальное, имя. Имена пользователей являются чувствительными к регистру и, согласно принятым соглашениям, допускают использование только букв в нижнем регистре. Применять пробелы и специальные символы (кроме дефиса и символа подчеркивания) в именах пользователей не разрешается. Поле UID UID (Идентификатор пользователя) — это числовой идентификатор, который система использует для отслеживания пользователей. Это поле лучше оставить пустым и позволить системе самой выбрать правильное значение. Поле Group В поле Group (Группа) указывается главная группа, членом которой будет добавляемый на данный момент пользователь. Опять-таки, это поле тоже лу пне не трогать и позволить системе выбрать подходящую группу самостоя гельно. Поле Password В поле Password (Пароль) вводится пароль, который будет использоваться для входа в систему. Пароли являются чувствительными к регистру. Ниже представлены некоторые рекомендации по поводу того, как сделать пароль таким, чтобы взломщики (часто называемые хакерами, хотя это не совсем подходящее название для людей, которые без разрешения проникают в чужие компьютерные системы) не могли разгадать их: • Используйте для пароля не менее восьми символов. Короткие пароли легче вычисляются программами, которые были специально разработаны для взлома паролей путем перебора различных буквенных и цифровых комбинаций. • Используйте в паролях одновременно буквы как верхнего, так и нижнего регистра, цифры, а также хотя бы один специальный символ вроде $ или !. • Не пользуйтесь словами из словаря. Существуют специальные программы для взлома паролей, которые перебирают слова из словаря до тех пор, пока не найдут то, которое подойдет. • Не используйте то, что другие люди знают или могут узнать о вас. Другими словами, имя вашего ребенка, кличка кота или название города, в котором вы родились, для пароля подходят мало.
Установка FreeBSD Глава 2 В то же время, неплохо было бы подобрать что-нибудь такое, что легко запоминается. Неплохой способ — объединить вместе части различных слов (не забыв при этом, конечно, использовать буквы как в верхнем, так и в нижнем регистре, несколько цифр и хотя бы один специальный символ). Вы также можете воспользоваться технологией, которую я называю клавиатурной подстановкой: берете слово, которое для вас что-то означает (но другие об этом не знают), и затем заменяете символы в этом слове на символы, которые находятся от них на клавиатуре справа вверху, слева вверху, слева внизу и так далее. Например, слово "Alice" в этом случае может превратиться в слово "QpidSS*. Придумав пароль, внимательно введите его (потому что никакого приглашения подтвердить введенный пароль не последует). Вместо символов на месте пароля будут отображаться звездочки (*). Если вы допустите ошибку при вводе пароля, вы потом не сможете войти в систему (если же с вами все же такое случится, информацию о том, что делать, вы сможете найти в приложении В). Выбрав пароль, нигде не записывайте его: ни на внутренней части столешницы, ни в своем ежедневнике, ни на руке в виде татуировки, ни, тем более, на бумажке, прикрепленной к монитору! (Я знаю, что эти вещи кажутся очевидными, но вы бы удивились, если б узнали, сколько пользователей поступает именно таким образом.) Также никому не говорите, какой у вас пароль, даже сотрудникам, жене (мужу) и своим детям. Поле Full Name В поле Full Name (Полное имя) вы можете ввести свое полное имя либо оставить его пустым (если вы хотите оставить его пустым, удалите из него символы User &). Имейте в виду, что некоторые программы, такие как почтовые программы UNIX, будут использовать это поле для того, чтобы узнать, какое значение им водить в поле From (От) отправляемого электронного сообщения. Поэтому, пожалуй, лучше будет, если вы все-таки введете здесь свое имя. Поле Member Groups Я предлагаю вам ввести в поле Member Groups (Член групп) значение wheel, чтобы стать членом группы "wheel" ("привилегированный пользователь" или "туз"), которая позволит вам становиться пользователем root (то есть суперпользователем или администратором системы), не выходя из системы и не подключаясь к ней заново под другим именем пользователя (хотя пароль пользователя root вам предъявлять все равно придется). ВНИМАНИЕ! Очень важно, чтобы вы создали на этом этапе хотя бы одну учетную запись пользователя в группе wheel: это позволит вам, используя эту учетную запись, подключаться к компьютеру с FreeBSD удаленно, и, становясь пользователем root (с помощью команды su), выполнять операции по администрированию системы. В качестве пользователя root подключиться к этому компьютеру через SSH напрямую не получится (для этого потребуется выполнить некоторые дополнительные операции, которые описываются в главе 13); поэтому, не имея не принадлежащего группе root пользователя, которому можно подключаться удаленно и получать привилегии пользователя root, вы будете буквально как без рук, как только покинете место, где находится главная— машина с FreeBSD.
I ~ I Введение в FreeBSD I 1 Часть I Поле Home Directory В поле Home Directory (Домашний каталог) указывается место, где на жестком диске будет находиться домашний каталог создаваемого пользователя. Лучше оставьте это поле пустым и позвольте системе самостоятельно выбрать подходящий вариант. Поле Login Shell Рабочая оболочка — это используемая по умолчанию программная оболочка, в которую будут попадать пользователи после входа в систему. Если вы раньше последовали моему совету и установили программную оболочку bash, введите в поле Login Shell (Рабочая оболочка) /usr/local/bin/bash (вместе с символами косой черты). Если вы позже решите, что программная оболочка bash вам не нравится, вы запросто сможете заменить ее на другую (о том, как именно это делается, более подробно будет рассказываться в главе 8). НА ЗАМЕТКУ Обратите внимание на то, что поставляемая с FreeBSD встроенная программная оболочка /csh (которая используется по умолчанию и доступна в каталоге /bin/csh) предоставляет такие же возможности, как и программная оболочка tcsh (которая тоже доступна и находится в каталоге /bin/tcsh). Завершив вводить информацию в этих полях, при помощи клавиши <ТаЬ> наведите фокус на кнопку О К и нажмите клавишу <Enter>. Для вас будет создана учетная запись, после чего на экране снова появится меню, которое было показано ранее на рис. 2 Л 2. Выберите опцию Exit (Выход). Установка пароля для пользователя root Когда увидите сообщение об установке пароля администратора системы, нажмите клавишу <Enter>. После этого в нижней части экрана появится подсказка, приглашающая ввести пароль для пользователя root. Она будет выглядеть примерно так: Changing local password for root. New password: Изменение локального пароля для root. Новый пароль: Все приводившиеся ранее в этой главе рекомендации по выбору и защите пароля обычного пользователя здесь имеют в два раза большее значение. Любой, кто знает пароль пользователя root (или может узнать его), сможет получать доступ к любым данным в вашей системе, а также выполнять в вашей системе любые операции. Он сможет считывать конфиденциальную информацию, отправлять ее по электронной почте другим пользователям, изменять или удалять данные из вашей системы и делать любые другие пакости, какие только придут ему в голову. Придумав пароль для пользователя root, введите его в командной строке. Обратите внимание на то, что этот пароль не будет отображаться на экране по мере ввода составляющих его символов. Благодаря этому никто не сможет подсмотреть этот пароль, пока вы его вводите, или прочитать его, и даже увидеть, из скольких символов он состоит (что также является важной информацией для взломщиков паролей).
Установка FreeBSD 1 ~ I Глава 2 I I После того, как введете пароль» нажмите клавишу <Enter>. Последует приглашение подтвердить пароль. Введите пароль снова и нажмите клавишу <Enter>. Если вы дважды введете одинаковые пароли, далее программа установки запросит, не хотите ли вы посетить общее меню настройки, чтобы внести еще какие-нибудь последние изменения. Выберите вариант No (Нет): после этого на экране снова появится глав ное меню. , Выход из программы Sysinstall и перезагрузка системы В главном меню с помощью клавиши табуляции перейдите к опции Exit Install (Выйти из программы установки) и нажмите клавишу <Enter>. Система отобразит приглашение подтвердить намерение выйти из программы установки. Далее она поспросит извлечь все CD-диски, DVD-диски или дискеты из всех дисководов. Сделайте это и выберите вариант Yes (Да). Начнется процесс перезагрузки системы. НА ЗАМЕТКУ Может случиться так, что после нажатия кнопки извлечения на DVD-приводе ничего не произойдет. Не волнуйтесь, FreeBSD не испортила ваш дисковод; она просто заблокировала его, чтобы исключить вероятность случайного извлечения DVD- или CD-диска на середине процесса установки. Если дисковод не открывается, все равно выберите вариант Yes (Да) и подождите, пока начнется перезагрузка системы (вычисление доступного объема памяти и тому подобное) Затем снова нажмите кнопку извлечения. Теперь дисковод должен открыться, и вы сможете и влечь DVD-диск с дистрибутивом FreeBSD. СОВЕТ Во время перезапуска системы вы можете захотеть сразу же зайти в программу настройки BIOS и сконфигурировать систему так, чтобы она больше не пыталась загружаться с DVD-привода Некоторые системы могут зависать на долгое время, пытаясь загрузиться с CD- или DVD-дис если в дисководе нет загрузочного (или вообще никакого) диска. Хотя многие системь в концов, все-таки оставляют бессмысленные попытки и начинают загружаться с жесткого ска иногда проходит целая минута, а то и больше, прежде чем система решает, что она не мож загрузиться с CD- или DVD-диска, и переходит к жесткому диску. Чтобы избежать такой проб - мы, отключите опцию, отвечающую за загрузку с CD/DVD-дисков, в настройках BIOS. (Более под робную информацию о том, как следует изменять настройки BIOS, можно найти в документации прилагаемой к оборудованию.) Первая загрузка FreeBSD При перезапуске системы должно произойти следующее: либо появится меню а грузки с приглашением выбрать операционную систему, которую следует загрузить либо, если FreeBSD является единственной операционной системой на этом диске сразу же начнется загрузка FreeBSD. Если ни то, ни другое не произошло и система либо зависла, либо начала загружать дру1ую опера *ис нную систему, так и не пред жив загрузить FreeBSD, обратитесь к при южению В.
Введение в FreeBSD Часть I Полноэкранное текстовое меню загрузки FreeBSD, предлагающее несколько опций для загрузки FreeBSD в разных режимах и содержащее графический символ ("чертенка") или логотип FreeBSD, представляет собой первый интерактивный этап процесса загрузки. Вы уже встречались с этим меню, когда устанавливали FreeBSD; как и тогда, нажмите клавишу <Enter>, чтобы выбрать опцию Boot FreeBSD (Загрузить FreeBSD), которая предлагается по умолчанию. По мере того, как ядро будет находить и инициализировать установленное в системе оборудование, на экране будут появляться различные непонятные сообщения. Сообщения, генерируемые ядром, будут отображаться в ярко-белом цвете. Когда загрузка ядра завершится, запустится программа init, отвечающая за запуск других процессов и программ в системе. Сообщения, генерируемые этой программой, будут отображаться в светло-сером цвете. Далее система впервые приостановит процесс загрузки и попросит вас ввести что- нибудь с клавиатуры. Выполнение этой странной просьбы необходимо для нормальной работы "энтропийного* генератора системы, представляющего интерес, прежде всего, для тех пользователей, для которых безопасность данных стоит на первом месте. Подача случайных данных энтропийной подситсеме означает, что генератор случайных чисел, являющийся частью FreeBSD, может генерировать по-настоящему случайные числа, которые невозможно взломать или предугадать. Этот генератор случайных чисел используется во многих системах безопасности в FreeBSD, в том числе и для пути данных в самом процессе запуска. Таким образом, когда система приостановит процесс загрузки, вы можете сделать следующее: либо набрать с клавиатуры случайный текст (и затем нажать клавишу <Enter>), если хотите получить систему с хорошей энтропией и высокой степенью безопасности, либо просто сразу нажать клавишу <Enter> и тем самым согласиться на энтропию обычного уровня (третий вариант — просто подождать пять минут; этот вариант равносилен выбору второго варианта). Если вы торопитесь или безопасность данных не сильно волнует вас, просто нажмите клавишу <Enter> для продолжения. Далее FreeBSD начнет генерировать для вашей системы ключи шифрования RSA и DSA (которые используются для безопасной связи в сетях и с Internet); этот процесс занимает несколько секунд, но он тоже является разовым событием. В конечном счете, когда init завершит свою работу, на экране появится следующее сообщение: FreeBSD/i386 (simba.example.com) (ttyvO) login: FreeBSD/i386 (simba.example.com) (ttyvO) пользователь: Конечно же, на вашем мониторе вместо (simba.example. com) будет отображаться имя вашего хоста и вашей сети. Если вы не настраивали сеть, отображаться будет используемое системой по умолчанию имя хоста, которое, скорее всего, будет выглядеть как amnesiac. Войдите в систему, используя имя root. Нажав клавишу <Enter>, введите пароль, который вы установили для пользователя root (опять-таки, отображаться на экране по мере ввода этот пароль не будет). Если вы правильно ввели имя пользователя и пароль, на экране появится приветственное сообщение с краткой информацией о FreeBSD и том, куда следует обращаться за помощью (а также том, как поменять это сообщение или вообще избавится от него). После этого вы окажетесь в командной строке оболочки, которая будет выглядеть примерно так: 92
Установка FreeBSD Copyright (с) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 6.0-RELEASE #0: Thu Nov 3 09:36:13 UTC 2005 # Здесь # — это приглашение на ввод команды и означает, что программная оболочка ожидает ваших распоряжений. К счастью для программной оболочки, есть еще одна задача, которая должна быть выполнена: настройка системы X Window System. Настройка системы X Window System (X11) X Window System, также называемая XI1 (или просто X) — это универсальная система управления окнами для UNIX и Linux. X была разработана в начале 80-х годов прошлого века в исследовательских центрах Массачусетского технологического института. В 1987 году вышла ее одиннадцатая, существенно исправленная версия, после чего она начала распространяться как проект с открытым кодом. Далее ее разработкой занялась такая организация, как X Consortium, которая выпустила еще несколько версий этой системы. Однако в 90-е годы процесс разработки XI1 на некоторое время приостановился, хотя ни довольно сложная клиент-серверная архитектура XII, ни нехватка в ней современных функциональных возможностей не мешали компьютерщикам продолжать экспериментировать с FreeBSD и Linux (и даже еще больше стимулировали их). Но, начиная с 2004 года, новая организация под названием X.org Foundation (основанная корпорацией X Consortium и финансируемая несколькими состоятельными компаниями, такими как IBM, Sun и Hewlett-Packard), опять с новыми силами взялась за модернизацию XII. О повседневных задачах, которые позволяет выполнять XII, более подробно будет рассказываться в главе 5. На данном этапе пока что нужно установить XII на вашем компьютере так, чтобы вы могли запускать графические приложения. Эту задачу никак нельзя назвать легкой. Но поверьте, что раньше ее было выполнять гораздо труднее. Если вы не устанавливали X Window System во время описанного в этой главе процесса или если вы вообще не хотите пользоваться XII, вы можете пропустить этот раздел. Если вы передумаете, то всегда сможете установить XI1 позже, установив пакет хогд или создав в коллекции портов порт /usr/ports/xll/xorg. Более подробную информацию о том, как это делается, можно найти в главе 16. Автоматическое распознавание установленного видеооборудования В основе XI1 лежит так называемый сервер X Server. Это демон, который "предоставляет" окна клиентской программе, которая затем выводит эти окна на экране. Если вы до этого имели дело только с операционными системами Windows, такой подход может показаться вам запутанным. Просто знайте, что XII изначально разрабатывалась для систем кластерного типа, в которых много компьютеров относительно низкой мощности, установленных в лабораториях или общежитиях университетского городка, запускали упрощенные программы управления окнами для запроса окон приложений с центрального сервера (мэйнфрейма). Все вычислительные возможности и все приложения хранились централизованно (то есть находились на
I ~ I Введение в FreeBSD I I Maim.I центральном сервере); в таком контексте был смысл в том, чтобы система управления окнами выполняла свои сложные задачи там, где доступны все вычислительные возможности, потому что это позволяло клиентским компьютерам оставаться маломощными и недорогими. Сегодня мощные настольные компьютеры стоят дешево и доступны в изобилии, а кластерные системы считаются уже просто устаревшими; поэтому сейчас сервер X Server и клиент системы управления окнами (который также называют рабочим столом или диспетчером окон) запускаются на одном и том же компьютере. Это значительно упрощает многие процедуры, касающиеся установки и управления графической средой пользователя в системе UNIX, такой как FreeBSD, однако, не исключает необходимость в выполнении отдельной процедуры для настройки X Server перед настройкой клиентской части. НА ЗАМЕТКУ Дважды убедитесь в наличии информации о таких характеристиках монитора, как частота горизонтальной и вертикальной синхронизации, а также о производителе и модели видеокарты и объеме установленного ОЗУ. Х11 делает все возможное, чтобы определить эту информацию автоматически, но все же существует вероятность того, что вам все-таки придется вводить ее самим на одном из этапов этой процедуры, даже если Х11 вначале удастся определить ее автоматически. Первым делом необходимо запустить утилиту, выполняющую автоматический поиск установленного видеооборудования. Для этого вы должны войти в систему через учетную запись пользователя root (если вы вошли в систему через учетную запись другого пользователя, введите logout и затем снова войдите в систему, но уже как пользователь root). После этого введите: # Xorg -configure Эта программа тестирует видеокарту, определяя набор установленных в ней микросхем и ее возможности, и затем создает файл с базовыми данными о конфигурации системы для X Server. Этот файл, который, кстати, сохраняется в каталоге /root, называется xorg.conf .new. Откройте его, чтобы посмотреть, что в нем есть. Для этого вам нужно воспользоваться следующей командой: # less xorg.conf.new Для перехода со строки на строку используйте клавиши с изображением стрелки вниз и стрелки вверх, а для перехода на предыдущую или следующую страницу — клавишу пробела или клавишу <W>. Далее, отыщите в этом файле раздел под названием Section "Device". В этом разделе будет содержаться информация о вашей видеокарте: Section "Device" ### Available Driver options are:- ### Values: <i>: integer, <f>: float, <bool>: "True"/"False", jfr## <string>: "String", <freq>: "<f> Hz/kHz/MHz" ### [arg]; arg optional #Option "SWcursor" # [<bool>] #Option "HWcursor" # [<bool>] #Option "NoAccel" # [<bool>] #Option "ShowCache" # [<bool>] #Option "ShadowFB" # [<bool>] #Option "UseFBDev" # [<bool>]
Установка FreeBSD Глава 2 95 #Option "Rotate" # [<str>] Identifier "CardO" Driver "nv" VendorName "NVidia / SGS Thomson (Joint Venture)" BoardName "Rival2 8" BusID "PCI:1:0:0" EndSection Обеспечьте, чтобы эта информация соответствовала тому, что вы сами знаете о своей видеокарте, и обратите внимание на значения в полях Driver, Vendor Nam и BoardName. Эти значения вам пригодятся позже, когда вы будете конфигурировать X Server. ^ НА ЗАМЕТКУ Если вы работаете с уже установленной версией FreeBSD 5.2.1 или ниже, вам следует зна ь что с этой версией FreeBSD поставляется не Xorg, а более старая версия Х11, которая назь в т я XFree86. Настройка XFree86 выполняется во многом точно так же, как и Xorg; отличаются только несколько команд. Например, чтобы запустить сценарий автоматического поиска оборудо и вам следует ввести следующую команду: # XFree86 -configure Файл, создаваемый этой программой, называется не xorg.с nf .new, a XF86C ig. e . Тестирование X Server Далее вам необходимо проверить, как работает эта определенная автом иче ки конфигурация. Чтобы сделать это, введите следующую команду: # Xorg -config xorg. conf. new X Server запустится, используя файл с минимальными данными о конф и который был создан только что. Поскольку в этом файле нет информации ни о е- жимах высокого разрешения экрана, ни о возможностях монитора, в лучш м л) i e вы увидите узор в виде черно-серой решетки (похожий на мешковину) и к р о форме креста посередине экрана, как показано на рис. 2.13. Если вы видите экране именно это, считайте, что вам повезло: XI1 будет работать с вашей ео р той, по крайней мере, в своем самом простом режиме отображения. Теперь попробуйте подвигать мышь. Если курсор перемещается, считайте, что вам дважды повезло: у вас еще и драйвер мыши работает. Если нет, пров рь е, к- тивизировали ли вы драйвер мыши во время первоначальной процедуры установ ш если вы этого не сделали, сделайте это сейчас. Для этого введите sysinstall чтобь снова войти в программу Sysinstall. Затем выберите опцию Configure (Наст ойка), а после нее — опцию Mouse (Мышь). Далее следуйте инстр)кциям пр i о мяв разделе "Настройка мыши" ранее в этой главе. Никакие элементы управления в этом тестовом режиме XII отображатьс не будут чтобы завершить тестирование, нажмите клавиатурную комбинацию Ctrl+Al +Back>. После этого на экране снова появится командная строка.
] Введение в FreeBSD J Насть I Рис. 2.13. Тестовый жран, показывающий, что ваша конфигурация Xorg работает ВНИМАНИЕ! Навсегда запомните клавиатурную комбинацию <Ctrl+Alt+Back>: с ее помощью вы всегда сможете выйти из Х11, если что-нибудь пойдет не так. Если изображение на экране отображается неправильно (например, если вместо четкой решетки и курсора вы видите множество волнистых линий), сразу же нажмите комбинацию <Ctrl+Alt+Back>, чтобы закрыть Х11. Если вы позволите Х11 слишком долго работать в режиме представления видеоизображений, который ваш монитор не поддерживает, вы можете серьезно повредить монитор. Настройка Xorg с помощью xorgcf g Следующий шаг — указать XII, как ей следует обращаться с дисплеем. На этом этапе вам придется практически погрузиться в исследования; хотя процедура настройки XI1 прошла долгий путь (то есть претерпела много изменений) за последние годы, процесс определения возможностей монитора по-прежнему выполняется путем проб и ошибок. Ваш монитор имеет несколько разрешений (числа пикселей); их количество зависит от частот вертикального и горизонтального обновления (синхронизации) изображений, которые он поддерживает. Информацию об этих частотах можно найти в документации, которая прилагалась к монитору, когда вы его покупали. Если такой информации там нет, попробуйте поискать ее в Internet. Для этого в соответствующем поле любой поисковой службы, такой как, например, Google, введите имя производителя и модель вашего монитора, а также, если необходимо, ключевые слова вроде "частота обновления" или "вертикальная синхронизация". Монитор с определенным диапазоном частот вертикальной и горизонтальной синхронизации может поддерживать только определенные разрешения; если частота синхронизации является слишком низкой для выбранного разрешения, изображение на мониторе может быть слишком мерцающим, а возможно монитор даже вообще не сможет использовать это разрешение.
Установка FreeBSD I ~ I Глава 2 I I Теперь, когда вы знаете имя драйвера, который необходим для вашей видеокарты, вы можете использовать его для более точной настройки файла конфигурации XII, который вы создали ранее. Чтобы сделать это, вы можете воспользоваться специальной утилитой, которая называется xorgcf g и поддерживает два режима: графический и текстовый. Запустить эту программу в графическом режиме под XII может показаться заманчивым, но пока лучше все же использовать текстовый режим, просто на всякий случай — в текстовом режиме эта утилита работает гораздо лучше. Итак, введите следующую команду: # xorgcfg -textmode НА ЗАМЕТКУ Если вы работаете с более старой версией FreeBSD, которая поставляется с XFree86, используйте следующую команду: # x?86c?g -textmode После того, как загрузятся все модули драйверов, появится полноэкранная текстовая утилита, похожая на Sysinstall. Прочитав информацию на вводном экране, выберите О К: появится экран Main Menu (Главное меню) с несколькими опциями, как показано на рис. 2.14. Рис. 2.14. Экран Main Menu в программе xorgcfg Вам нужно пройти все опции на этом экране. В каждом разделе вы будете настраивать профиль для мыши, клавиатуры, дисплея и так далее и присваивать каждому устройству имя (например, Mouse0, KeyboardO и тому подобное). Сначала выберите опцию Configure Mouse (Настроить мышь) и укажите идентификатор, например, как предлагалось, MouseO. Параметр Auto (Авто), предлагаемый для порта по умолчанию, подходит для стандартной мыши PS/2. Если у вас другая мышь, укажите порт, который подходит для нее. Если необходимо, включите режим эмуляции третьей кнопки и затем укажите драйвер для мыши (обычно подходит драйвер /dev/sysmouse). Далее выберите опцию Configure Keyboard (Настроить клавиатуру), чтобы настроить таким же образом клавиатуру. Выберите соответствующую вашему региону раскладку клавиатуры (например: U.S. English (Английский (США)).
I ГГ I Введение в FreeBSD ____ I _ I Часть I Далее следует настроить монитор. Чтобы сделать это, выберите опцию Configure Monitor (Настроить монитор). На экране, который появится после этого, прокручивайте список частот горизонтальной синхронизации до тех пор, пока не найдете частоту, соответствующую возможностям вашего монитора, согласно значениям, указанным в прилагаемой к нему документации или спецификациях, которые вам удалось найти в Internet. Если вы пользовались этим монитором, когда работали под управлением Windows, это может помочь вам определить его возможности: например, если вы знаете, что вам удавалось работать в режиме 1280x1024, вы можете выбрать такое значение, как 31.5 - 79.0; Monitor That Can Do 1280x1024 @ 74 Hz. Главное, чтобы вы не выбрали слишком высокую частоту: если XII попытается перевести монитор в режим, частота синхронизации которого больше, чем может поддерживать этот монитор, монитор может даже взорваться. Лучше сначала выберите самую низкую частоту для разрешения, которое монитор точно поддерживает; вы всегда сможете выбрать более высокое значение позже. Лучше быть осторожным, чем потом жалеть о содеянном! Далее точно так же выберите частоту вертикальной синхронизации, соответствующую возможностям вашего монитора. Если возможно, постарайтесь выбрать диапазон меньше того, который может поддерживать ваш монитор; если вы знаете, что вам монитор поддерживает 45-120 Гц, выберите диапазон 50-100 или введите значение частоты синхронизации вручную, чтобы оно в точности соответствовало тому, которое указано в документации на монитор. Теперь необходимо выбрать на экране Main Menu (Главное меню) опцию Configure Card (Настроить карту), чтобы указать драйвер для своей видеокарты. Вот где вам пригодится знание характеристик вашей видеокарты; поскольку xorgcfg не считывает эту информацию автоматически из файла, вам придется вводить параметры видеокарты вручную. Войдите в базу данных карты, когда появится соответствующее приглашение, и прокручивайте список до тех пор, пока не увидите запись с соответствующим вашей видеокарте именем производителя и названием модели. НА ЗАМЕТКУ С поддержкой для современных видеокарт в FreeBSD дело обстоит не совсем просто. В базе данных драйверов явно доступны драйверы для практически всех последних моделей карт NVidia, а вот драйверов для карт ATi там, к сожалению, нет. Если вы не можете найти свою карту в списке, выберите опцию Unlisted Card (Карта, не указанная в списке) и переходите к следующему экрану, на котором драйвер можно будет выбрать вручную. Если у вас установлена карта ATI Radeon или какая-нибудь другая из современных карт с 3D- ускорением, возможно, прежде чем Х11 сможет распознать ее, вам придется добавить поддержку для таких карт в ядре. (О том, как выполняется перекомпиляция ядра, более подробно будет рассказываться в главе 18.) И, наконец, последний вариант — выбрать драйвер VESA и разрешение 800x600; такие настройки поддерживают практически все современные видеокарты, хотя о 30-ускорении в этом случае, конечно, не может быть и речи. Выберите драйвер, который подходит для вашей видеокарты. Это может оказаться не так просто сделать, потому что имена драйверов представлены в закодированной форме. Просто знайте, что nv означает драйвер для карт NVidia, ati — драйвер для карт ATI, a mga — драйвер для карт Matrox. Если возможно, выберите тот же драйвер, который был сконфигурирован раньше, на этапе автоматического поиска оборудования, то есть тот, что был указан в поле Driver файла xorg.conf .new.
Установка FreeBSD Далее выберите опцию Configure Screen (Параметры экрана). Здесь вам нужно будет указать качество цветопередачи для вашего монитора. Качество цветопередачи зависит от объема видеопамяти. Современные видеокарты имеют предостаточное количество видеопамяти, и воспроизведение изображений с высоким качеством цветопередачи (24 бита) даже при самом высоком разрешении для них не проблема; но если у вас установлена более старая видеокарта, хорошенько подумайте, какое значение лучше выбрать. Опять-таки, если вы раньше пользовались этим компьютером для работы в Windows, вы должны знать, какое качество цветопередачи с какими разрешениями поддерживает ваша видеокарта; если вы этого не знаете, выберите самое низкое качество, например 8 Bit, 256 Colors (8 бит, 256 цветов). (Вы всегда сможете изменить значение этого параметра позже, либо вернувшись в программу настройки, либо отредактировав конфигурационный файл вручную, если захотите увеличить качество цветопередачи до 16 или 24 битов.) На следующем экране с помощью клавиши пробела и клавиш с изображением стрелок вниз и вверх отметьте все разрешения, которые вы хотите иметь возможность использовать. XII сначала попытается использовать самое высокое разрешение; если ей не удастся перевести дисплей в этот режим, она пойдет дальше по списку и попытается использовать следующее, более низкое разрешение, и так далее. Попробуйте выбрать следующие значения: 1152x864, 1024x768 и 640x480. Это проверенные разрешения, с которыми могут работать практически все мониторы. Затем выберите опцию Configure Layout (Параметры схемы размещения), чтобы задать схему размещения. Это не особенно важно при наличии только одного монитора, клавиатуры, мыши и видеокарты, да и в принципе не очень сложно. И, наконец, выберите опцию Write xorg.conf and Quit (Записать в файл xorg. conf и выйти из программы). Это позволит вам установить новый глобальный конфигурационный файл в каталоге /etc/Xll/xorg.conf для того, чтобы содержащиеся в нем настройки применялись ко всем пользователям, которые будут запускать XII с локальной консоли. Точная настройка файла xorg. conf Закончив работать с программой xorgcfg, вы наверняка захотите отредактировать созданный ею файл вручную в текстовом редакторе, чтобы убедиться в том, что содержащиеся в нем значения являются приемлемыми. Чтобы сделать это, сначала запустите программу редактирования, например, встроенный текстовый редактор ее: # ее /etc/Xll/xorg.conf Для перемещения по содержимому файла пользуйтесь клавишами с изображением стрелок. Отыщите раздел Device и убедитесь в том, что содержащаяся в нем информация в точности соответствует характеристикам вашей карты. Далее, отыщите раздел Screen и проверьте, соответствуют ли указанные в нем режимы отображения режимам, которые, как вы знаете, ваш монитор и карта точно поддерживают. Если вам необходимо внести какие-нибудь изменения, сохраните файл, нажав клавишу <Esc>, а потом <Enter>, после чего выберите опцию Save Changes (Сохранить изменения), когда будете выходить из окна редактора.
Введение в FreeBSD Часть I НА ЗАМЕТКУ : Процедура настройки Х11 более подробно будет описываться в главе 7. В случае если у вас воз- никнут какие-то трудности при настройке Х11 в плане нормальной работы с видеооборудованием (видеокартой и монитором), обращайтесь в эту главу — там вы сможете узнать о дополнительных технологиях по определению подходящих параметров. Проверив и, если нужно, отредактировав файл xorg.conf, запустите XII с помощью следующей команды: # startx Не забудьте нажать клавиатурную комбинацию <Ctrl+Alt+Backspace>, чтобы завершить работу XII, если попадете в режим отображения, который является непригодным для использования или не справляется с синхронизацией видеоизображений; не стоит рисковать своим монитором! Если XII запустится нормально, то она сделает это, используя очень примитивный рабочий стол, который называется диспетчером окон TWM и показан на рис. 2.15. Это почитаемая, но очень простая среда, которая позволяет выполнять только базовые операции с помощью мыши и предоставляет доступ лишь к нескольким окнам и утилитам. В используемой по умолчанию конфигурации вам будет доступно xterm-окно командной строки с заголовком Login (Вход в систему) (которое привязывается к вашему сеансу работы в XII: выйдите из этого окна и вы снова попадете в окно командной строки), еще два xtrem-окна без заголовка, а также часы. Вы можете работать в любом из этих окон точно так же, как в окне командной строки. TWM имеет "нестабильный фокус", что означает следующее: активным окном (то есть тем, в котором вводятся данные с клавиатуры) является то окно, в котором находится указатель мыши; поэтому, если вводимый вами текст появляется не в том окне, в котором вы ожидаете его увидеть, просто переместите указатель мыши в нужное окно и оставьте его там. Также обратите внимание на то, что при запуске каждой новой программы или открытии в программе нового окна вам придется выполнять щелчок кнопкой мыши, чтобы указать место на экране, где вы хотите, чтобы появилось это новое окно. TWM вполне подходит для экспертов и аскетов (то есть пользователей, которые не любят излишеств), но сделать так, чтобы TWM работал как современный графический интерфейс пользователя (GUI), практически невозможно. В этом случае лучше воспользоваться одной из таких замечательных настольных сред, как GNOME, KDE, XFce, Windows Maker и так далее. О том, как можно переключиться с TWM на одну из этих сред, более подробно будет рассказываться в главе 5. Если вы в TWM щелкнете левой кнопкой мыши в области рабочего стола, появится меню с несколькими касающимися управления окнами опциями, среди которых будут и две такие опции, как Restart (Перезагрузка) и Exit (Выход). Обратите внимание на то, что эти опции не означают "перезагрузить компьютер" и "выйти из XII"; они касаются) только TWM и позволяют только (соответственно) перезапускать или завершать процесс TWM, после чего вы остаетесь просто в сеансе XI1 без рабочего стола (диспетчера окон). Завершите пока что работу XII. Для этого либо введите в окне регистрации команду exit, либо воспользуйтесь клавиатурной'комбинацией <Ctrl+Alt+Backspace>.
Установка FieeBSD Глава 2 101 ттшттттштттштш'- ***о Рис. 2.15. Первоначальная схема размещения окон в XII, когда используется TWM Завершение работы FreeBSD FreeBSD (подобно другим версиям UNIX) представляет собой многозадачную и многопользовательскую операционную систему. Она постоянно что-то делает и в ней обычно открыто сразу несколько файлов одновременно. Поэтому вы не можете просто взять и выключить компьютер, когда хотите завершить работу системы FreeBSD. Во-первых, вам нужно указать FreeBSD, что она должна завершить свою работу, для того, чтобы она могла по порядку закрыть все работающ