Текст
                    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, что она должна завершить свою работу, для того, чтобы она могла по порядку закрыть все работающие программы и сохранить все открытые файлы. Сделать это прямо сейчас можно с помощью следующей команды: shutdown -h now Эта команда указывает FreeBSD завершить работу системы и, после того как этот процесс завершится, выполнить аппаратный останов работы компьютера (который отличается от его перезагрузки и перехода в однопользовательский режим), а также, что вы хотите, чтобы это было сделано прямо сейчас, а не, к примеру, через пять минут. (Просто обычно в этой команде указывается время задержки для того, чтобы другие пользователи могли получить сообщение, предупреждающее о том, что скоро произойдет завершение работы системы, и успели сохранить все файлы, с которыми они работали.) Введите shutdown -h now в командной строке и нажмите клавишу <Enter>. На экране начнут появляться сообщения, такие как Broadcast message from root и сообщения о состоянии различных завершаемых процессов.
JTI I Введение в FreeBSD I Часть I Дождитесь, когда появится такое сообщение: System halted Please press any key to reboot Система остановлена Пожалуйста, нажмите любую клавишу для перезагрузки Только после этого вы можете спокойно выключить свой компьютер. ВНИМАНИЕ! Никогда не завершайте работу системы FreeBSD, как, впрочем, и любой другой системы типа UNIX, путем отключения электропитания. Это может привести к серьезному повреждению файловых систем. Сначала всегда выполняйте соответствующую процедуру, позволяющую корректно завершить работу системы. О том, как правильно выполняется процедура завершения работы и какие существуют технологии перезагрузки, более подробно будет рассказываться в главе 4.
ГЛАВА з Дополнительные задачи по установке В этой главе: • Резервное копирование существующей файловой системы Windows или Linux • Неразрушающее разбиение жесткого диска на разделы с помощью FIPS • Работа с программой FIPS • Потенциальные проблемы и ограничения систем с двойной загрузкой • Диспетчер загрузки FreeBSD • Альтернативные методы установки FreeBSD
Введение в FreeBSD В главе 2 описывался стандартный процесс установки FreeBSD без осложняющих факторов, таких как процедура настройки диска с двумя режимами загрузки и сосуществование с другими операционными системами. А также в ней предполагалось, что установка FreeBSD выполняется с DVD/CD-диска, а не с какого-нибудь другого из множества возможных носителей. Эта глава по большей части является дополнением предыдущей, потому что в ней будут рассматриваться задачи, которые должны выполняться предварительно на системах, не соответствующих приведенным до этого описаниям. Если вы устанавливаете FreeBSD на компьютер, где уже установлена какая-то другая операционная система, или если для установки FreeBSD вы используете не DVD/CD-диск, а какой-нибудь другой носитель, то прежде чем приступать к установке, обязательно прочтите эту главу. Когда вы выполните все необходимые предварительные операции, о которых рассказывается здесь, вернитесь к главе 2 и приступайте к обычной установке. Многие пользователи, которые до этого не работали с FreeBSD и которым любопытно узнать, что собой представляет эта операционная система, нередко устанавливают FreeBSD на компьютер, на котором уже установлена Windows. В этой главе будет рассказываться о том, как нужно подготовить компьютер для того, чтобы после установки на нем без проблем могли запускаться обе эти операционные системы, а также о том, как установить FreeBSD на компьютер, на котором уже присутствует операционная система Linux. Прочитав эту главу, вы будете знать, как установить FreeBSD так, чтобы при включении компьютера вы могли выбирать, какую систему загрузить: FreeBSD, Windows или Linux. Кроме того, в этой главе мы также вкратце рассмотрим процедуры настройки NFS и FTP, которые являются обязательными в ситуации, когда не доступен ни CD-, ни DVD-диск. Резервное копирование существующей файловой системы Windows или Linux Прежде чем идти дальше, сделайте резервную копию существующей файловой системы Windows или Linux, которую хотите сохранить. Хотя в следующем разделе будет рассказываться о том, как можно безопасно (то есть без потери данных) создать на диске пространство для FreeBSD, ошибки все равно не исключены: можете ошибиться вы, могут ошибиться программы. Лучше иметь резервную копию всей нужной информации: потеряв свои бесценные данные, вы вряд ли сможете утешить себя тем, что зато вы сэкономили свое время и деньги. Для резервного копирования можно использовать следующие носители: перезаписываемые CD- и DVD-диски, диски Zip или Jaz, накопители на магнитной ленте, внешние жесткие диски (то есть те, которые подключаются через порт USB или FireWire) и даже дискеты, если объем информации, которую требуется сохранить, не слишком велик. Помните о том, что делать резервную копию всей операционной системы и установленных программ вовсе не обязательно, потому что эти программы очень легко можно будет установить заново, если конечно у вас сохранились установочные диски. Прежде всего, беспокоиться следует о своих файлах, содержащих данные, заменить которые далеко не так просто. (Конечно, сегодня большая МРЗ- коллекция или библиотека цифровых фотографий запросто может вынудить вас приобрести дешевый внешний диск и скопировать все на него для хранения).
Дополнительные задачи по установке Глава 3 105 Если у вас нет специализированной программы для резервного копирования, вы можете воспользоваться программой-архиватором типа WinZip и с ее помощью сжать все нужные данные и сохранить их на дисках. Также полезной в этом плане может оказаться программа Partimage, которая доступна на сайте по адресу http: // www.partimage.org. НА ЗАМЕТКУ Описание процедур для выполнения резервного копирования выходит за рамки данной книги. Более подробную информацию о том, как выполняется резервное копирование, вы сможете найти в документации по программе, которую вы решили использовать для проведения этой процедуры. После того, как вы создадите резервные копии всех необходимых существующих файлов, вы должны будете освободить место на жестком диске для установки FreeBSD. Существует несколько способов сделать это. • Просто удалить все раздели и разбить диск заново. В этом случае вы потеряете все существующие в системе данные, и вам придется заново устанавливать все установленные на текущий момент программы после того, как вы создадите новые разделы. Этот вариант будет подходящим, если вас не особенно волнуют находящиеся на диске данные, или если у вас нет программы, позволяющей безопасно разбивать диск на разделы, вроде Partition Magic, и если вас не пугает тот факт, что вам придется заново устанавливать Windows или Linux после того, как вы освободите пространство и установите FreeBSD. • Использовать коммерческую программу неразрушсюимо разбиения диска на разделы, такую как Partition Magic Если у ваг есть программа Norton Partition Magic проичвоч ства Symantec, обязательно вослол1»зуйтесь ею. Sro стоящее $69 решение являп ся наилучшим из доступных на сегодняшний день подобных средств и позволяет выделять на жестком диске пространство под FreeBSD без потери существующих данных и конфигураций. Рассмотрение этой программы и способов работы с ней выходит за рамки данной книги. Более подробную информацию по этому вопросу можно найти в документации по Partition Magic. Посвященный Partition Magic Web-сайт находится по следующем)' адресу: http: //www. Symantec. com/ home_homeoffice/products/system_performance/pm80/. • Воспользоваться утилитой FIPS. Эта распространяемая бесплатно программа, которая была написана Арно Шафером (Arno Schafer), позволяет разбивать существующий раздел для создания свободного пространства. FIPS доступна нл прилагаемом к этой книге DVD-диске и поэтому будет рассматриваться в этой главе. Она не является столь совершенным решением, как Partition Magic, но она бесплатная и позволяет получить похожие результаты. Неразрушающее разбиение жесткого диска на разделы с помощью FIPS First (nondestructive) Interactive Partition Splitting, или FIPS — первая, не разрушающая существующих данных, интерактивная технология для разбиения диска на разделы; это программа, позволяющая разбивать жесткий диск на разделы, которая разраба-
Введение в FreeBSD тывалась для запуска в DOS или в режиме DOS под Windows. Она разбивает один раздел DOS на два в указанной вами точке, после чего вы можете использовать один из созданных ею новых разделов для FreeBSD. Обратите внимание на то, что FIPS работает только с DOS-разделами (такими, как FAT 16 или FAT32). FIPS не работает ни с NTFS-разделами (которые используются в Windows NT, 2000 и ХР), ни с Ext2FS/ Ex+SFS-разделами (которые используются в Linux). И, наконец, тем, кто имеет дело с OS/2, следует знать, что с HPFS-разделами FIPS тоже не работает. FIPS имеет несколько ограничений. • Она позволяет разбивать только первичный раздел; разбивать расширенные DOS-разделы она не может. Расширенные DOS-разделы — это так называемые разделы второго уровня, которые достаточно часто используются как в мире DOS/ Windows, так и в мире Linux; они позволяют создавать на диске более четырех поддерживаемых BIOS разделов, разбивая эти разделы на подразделы и затем предоставляя к ним доступ так, будто бы они являются обычными разделами. (FreeBSD не поддерживает расширенные разделы; вместо этого в ней используются секции (slices) и BSD-разделы (BSD partitions), о которых более подробно будет рассказываться в главе 20). Если у вас на компьютере, как и у большинства людей, установлена операционная система Windows, это ограничение вас не касается, потому что в этом случае у вас, скорее всего, имеется один первичный раздел, который занимает весь диск. щ На диске не должно быть более трех разделов. FIPS создает новый первичный раздел указанного объема. Поскольку на диске разрешается иметь только четыре DOS-раздела, при запуске FIPS на вашем жестком диске должно существовать не более чем три раздела. Обратите внимание на то, что это ограничение касается только дисков IDE/ATA, на SCSI-диски оно не распространяется. Если ни одно из этих ограничений к вам не относится и если вы уже подготовили резервные копии всех необходимых данных, вы можете приступать к процедуре разбиения диска на разделы. ВНИМАНИЕ! Разделы Windows ХР часто форматируются как NTFS-разделы Из-за этого FIPS может вообще не работать с Windows ХР (даже с версией Windows XP Home Edition). Если вы используете Windows ХР или NT/2000 с файловой системой NTFS, при желании выполнить процедуру разбиения диска на разделы без потери данных, вам придется приобрести упоминавшуюся ранее коммерческую программу Partition Magic. Запуск утилиты ScanDisk и программы дефрагментации Прежде чем использовать FIPS, вы должны сначала отключить экранную заставку и все назначенные задания, а затем запустить доступную как в DOS, так и в Windows утилиту ScanDisk, чтобы устранить все возможные проблемы на диске. После этого вы должны выполнить дефрагментацию диска (то есть запустить программу дефраг* ментации). Для создания нового раздела (путем разбиения существующего) FIPS необходимо свободное пространство в конце диска. Она не сможет создать раздел, если в последнем секторе диска будут содержаться хоть какие-нибудь данные. Запустив программу
Дополнительные задачи по установке | 77Z Глава 3 I дефрагментации, вы сможете переместить все данные в начало диска и избавиться от ненужных промежутков в середине. ВНИМАНИЕ! Имейте в виду, что программам дефрагментации в Windows 2000 и ХР часто не удается собрать все файлы в цельный кусок; файловая система NTFS не дает это сделать правильно и поэтому программы дефрагментации часто оставляют большие промежутки посередине используемого дискового пространства. Опять-таки, Partition Magic может оказаться наилучшим решением для таких платформ, если FIPS не удается найти цельный кусок свободного пространства достаточного размера. Процесс дефрагментации может занять от нескольких минут до нескольких часов, что зависит от производительности вашего компьютера, размера жесткого диска, его скорости и того, насколько давно на нем выполнялась дефрагментация. Получение FIPS и создание загрузочной дискеты Когда процесс дефрагментации завершится, вы можете запускать FTPS. Загрузить FIPS можно либо с FTP-сервера FreeBSD, который находится по адресу ftp.freebsd.org, либо с одного из зеркальных сайтов, из каталога /pub/FreeBSD/tools/fips.exe. Из этого же каталога можно загрузить и файл restorrb.exe. Если ни один из этих источников не доступен, попробуйте воспользоваться официальным Web-сайтом FIPS, который находится по адресу: http://www.igd.fhg.de/-aschaefe/fips/. Вы должны создать загрузочную дискету и скопировать на нее три упомянутых выше файла. Эта дискета позволит вам загрузиться в MS-DOS (или FreepOS; более подробную информацию об этом режиме можно найти на сайте http://freedos.org) и запустить FIPS. В DOS или Windows98/Me загрузочную дискету можно создать путем ввода в командной строке DOS команды format a:, конечно, при условии наличия чистой дискеты в дисководе А. Ниже показан пример процедуры для создания загрузочной дискеты: С:\> format а: /• Insert new diskette in drive A: and press ENTER when ready... Checking existing disk format. Verifying 1.44M Format complete. System transferred Volume label (11 characters, ENTER for none)? 1,457,664 bytes total disk space 388,608 bytes used by system 1,069,056 bytes available on disk 512 bytes in each allocation unit. 2,088 allocation units available on disk. Volume Serial Number is 031B-0831 Format another (Y/N)? n Вставьте новый диск в дисковод А и нажмите клавишу ENTER...
Введение в FreeBSD Проверка существующего формата диска. Проверка: 1.44 М Форма тирование зав ершено. Система перенесена Метка тома (11 символов; если метка не нужна, нажмите <Enter>) ? Всего доступно на диске: 1,457,664 байт Занято: 388,608 байт Свободно: 1,069,056 байт В каждом блоке памяти: 512 байт Всего на диске доступно: 2,088 блоков Серийный номер тома: 031В-0831 Форматировать другой диск (Да/Нет) ? п С:\> d: D:\> cd tools D:\TOOLS> copy fips.exe a:\ 1 file(s) copied (1 файл (-лов) скопировано) d:\TOOLS> copy reetorerb.exe a:\ 1 file(s) copied (1 файл (-лов) скопировано) D: \TOOLS> copy errors. txt a: \ 1 file(S) copied (1 файл (-лов) скопировано) D:\TOOLS> НАЗАМЬТКУ В Window 2000 и ХР использовать для создания загрузочной дискеты команду format a: нельзя. Эти оо; ее новые операционные системы требуют, чтобы для создания загрузочных дискет использовался интерфейс Windows. Поэтому, если вам необходимо создать загрузочную дискету, например в Windows XP сделайте следующее, вставьте дискету в дисковод А, а затем отыщите диск А, развернув узел My Computer (Мой компьютер); щелкните на нем правой кнопкой мыши и в появившемся контекстном меню выберите пункт Format (Форматировать). Затем отметьте флажок Create an MS-DOS Startup Disk (Создание загрузочного диска MS-DOS) и щелкните на кнопке Start (Начать). Когда вы создадите загрузочную дискету, используйте ее для перезагрузки системы (возможно, вам потребуется зайти в настройки BIOS и указать BIOS, что в случае, когда в дисководе А имеется дискета, следует выполнять загрузку с дискеты). Когда система загрузится, в командной строке DOS введите f ips, чтобы запустить программу FIPS. Работа с программой FIPS При первом запуске FIPS отобразит сообщение, предупреждающее, помимо всего прочего, о том, что эту программу нельзя использовать в многозадачных средах. Прочитав всю содержащуюся в этом сообщении информацию, нажмите любую клавишу для продолжения. Далее, если в системе установлено несколько жестких дисков, FIPS предложит указать дис к, с которым вы хотите работать. Выберите нужный диск. После этого FIPS отобразит таблицу имеющихся на эгом диске разделов, которая будет выглядеть примерно так:
Дополнительные задачи по установке 109 Глава 3 I | Start | I End |Start|Numberof I Part. | bootable | Head Cyl. Sector | System | Head Cyl. Sector I Sector I Sectors I MB + + + + + + + 1| yes | 1 0 1| 06h|12 983 32 | 321 40931214149 2| no | 0 0 0| OOhl 0 0 0 | 0| 0| 0 3| no | 0 0 0| 00h| 0 0 0 | 0| 0| 0 4| no | 0 0 0| 00h| 0 0 0| 0| 0| 0 Checking root sector ... OK (Проверка корневого сектора ... OK) Press any Key (Нажмите любую клавишу) Если на диске имеется несколько разделов, FIPS попросит вас указать, какой именно раздел вы хотите разбить. Если на диске имеется только один раздел, последует приглашение нажать любую клавишу (как и в предыдущем примере). После того, как вы выберете раздел или нажмете какую-нибудь клавишу, FIPS прочитает загрузочный сектор и начнет отображать некоторые дополнительные сведения об этом диске: Bytes per sector: 512 Sectors per cluster: 8 Reserved sectors: 1 Number of FATs: 2 Number of rootdirectory entries: 512 Number of sectors (short): 0 Media descriptor byte: f8h Sectors per FAT: 200 Sectors per track: 32 Drive heads: 13 Hidden sectors: 32 Number of sectors (long): 409312 Physical drive number: 80h Signature: 29h Байтов в каждом секторе: 512 Секторов в каждом кластере: 8 Зарезервированных секторов: 1 Количество FAT-разделов: 2 Количество записей в корневом каталоге: 512 Количество секторов (сокращенный вариант) : О Байт дескриптора носителя: f8h Секторов в каждом разделе FAT: 200 Секторов в каждой дорожке: 32 Головок чтения-записи: 13 Скрытых секторов: 32 Количество секторов (полный вариант) : 409312 Номер физического диска: 8Oh Сигнатура: 29h После того, как FIPS закончит выдавать эти сведения, она отобразит размеры нового и старого разделов и предложит выбрать цилиндр, который должен считаться границей между этими разделами. Используйте клавишу с изображением стрелки вправо или стрелки влево, чтобы уменьшить или увеличить номер цилиндра, с которого будет начинаться новый раздел. Кроме того, вы можете использовать клавишу с изображением стрелки вверх или стрелки вниз, чтобы увеличить или уменьшить размер нового раздела с шагом в 10 цилиндров. Вы также можете использовать начальные ("Start") и конечные ("End") номера головок, цилиндров и секторов, чтобы
I 777 | Введение в FreeBSD указать, как именно вы хотите поделить этот диск; вы можете уменьшать размер существующего раздела (разделов) до тех пор, пока свободного пространства не станет достаточно для установки FreeBSD (указав нужный размер в столбце Size). Обратите внимание на то, что загрузочный раздел FreeBSD должен уместиться целиком на первых 1024 цилиндрах диска, о чем мы еще поговорим чуть позже. Когда закончите, нажмите клавишу <Enter>. СОВЕТ Запишите себе где-нибудь данные о начальном цилиндре созданного раздела. Во время установки FreeBSD они вам помогут определить, правильный ли раздел был выбран для установки FreeBSD. После того, как вы нажмете клавишу <Enter>, FIPS покажет, как будет выглядеть новая таблица разделов, и затем предложит вам на выбор две опции: Edit (Редактировать) и Continue (Продолжить). Если вы выберете вариант Continue (Продолжить), FIPS последний раз спросит вас, уверены ли вы в том, что хотите сохранить изменения в таблице разделов. Здесь будьте очень внимательны! Выбор варианта Yes (Да) приведет к записи всех изменений и завершению работы FIPS. Отменить эту операцию нельзя; если вы сохраните изменения, вернуться к старой конфигурации вы уже не сможете. После того, как вы примените изменения и выйдете из FIPS, вам нужно будет немедленно перезагрузить компьютер. Если при завершении работы FIPS возникнут какие-нибудь ошибки, воспользуйтесь прилагаемым к FIPS файлом README, чтобы узнать, что они означают и что с ними делать. ВНИМАНИЕ! Очень важно, чтобы сразу после выхода из FIPS вы не записывали на жесткий диск никаких новых данных вплоть до перезагрузки. Это может привести к повреждению диска, потому что DOS не будет знать о том, что таблица разделов изменилась до тех пор, пока вы не выполните перезагрузку. После перезагрузки снова запустите FIPS, используя опцию -t. Это позволит вам убедиться в том, что раздел был разбит правильно. Если появятся сообщения об ошибках, восстановите предыдущую таблицу разделов. Чтобы сделать это, запустите файл RESTORRB.EXE и затем снова перезагрузите компьютер. ВНИМАНИЕ! После того, как вы внесете в имеющиеся на диске файловые системы хоть какие-нибудь изменения, использовать файл restorrb.exe для восстановления старой таблицы разделов вы уже больше не сможете. Именно поэтому так важно, чтобы после перезагрузки вы, прежде чем выполнять какие-либо операции, запустили f ips с опцией -t. Если вы запустили f ips с опцией Чи никакие сообщения об ошибках не появились, извлеките дискету из дисковода и снова перезагрузитесь. Когда Windows или DOS загрузится, запустите на том разделе, который вы разбивали, утилиту ScanDisk, чтобы проверить его на наличие ошибок.
Дополнительные задачи по установке | А4Ч 1 Глава 3 I 1 Потенциальные проблемы и ограничения систем с двойной загрузкой Иметь систему с двумя режимами загрузки, то есть такую, где на жестком диске установлены две или более операционных систем и при каждом запуске можно выбирать, какую из этих операционных систем загрузить, вполне возможно. Такая конфигурация является очень удобной во многих ситуациях; если у вас есть только один компьютер, и вы хотите использовать FreeBSD для программирования, a Windows — для игр, система с двумя режимами загрузки является для вас просто идеальным вариантом. Однако при работе в системах с двумя режимами загрузки могут возникать некоторые проблемы, если не предпринять соответствующих мер, чтобы избежать их или справиться с ними. Во-первых, имейте в виду, что вся информация, требуемая для загрузки FreeBSD, должна находиться в пределах первых 1024 цилиндров жесткого диска. Это необходимо для нормальной работы диспетчера загрузки FreeBSD, что означает следующее: когда вы создаете на диске раздел для FreeBSD с помощью FIPS, вы либо должны уместить на первых 1024 цилиндрах весь корневой раздел, либо создать отдельный раздел загрузки и разместить его на этих первых 1024 цилиндрах. Используйте информацию о цилиндрах, которую FIPS отображает в столбцах Start и End, чтобы определить, где начинаются и где заканчиваются ваши разделы. Если вы выберете второй вариант (то есть решите создать отдельный загрузочный раздел, помимо корневого), знайте, что в этом случае корневой раздел не обязательно должен умещаться целиком на первых 1024-х цилиндрах. Обратите внимание на то, что "умещаться целиком* означает, что раздел должен как начинаться, так и заканчиваться на цилиндре с меньшим, чем у 1024-го цилиндра, порядковым номером. Того, что раздел начинается с цилиндра с меньшим, чем у 1024-го цилиндра, порядковым номером, в этом случае будет не совсем достаточно. Если вам для Windows или DOS нужно больше места, чем доступно до 1024-го цилиндра, вы можете снова воспользоваться программой FIPS и разбить раздел Windows или DOS на два, то есть создать в Windows или DOS диск С: и диск D:. Далее вы должны будете разместить между этими дисками С: и D: небольшой раздел, из которого будет загружаться FreeBSD. Этот раздел позже, во время установки FreeBSD, будет использоваться как раздел /boot (и 30 Мбайт для него должно вполне хватить). Во-вторых, когда вы разобьете диск на разделы и начнете заново устанавливать ПО, не забудьте, что сначала следует установить DOS или Windows и лишь потом — FreeBSD. DOS и Windows предполагают, что они являются единственной операционной системой на жестком диске и поэтому при установке, не спрашивая, перезаписывают главную загрузочную запись. Если вы сначала установите FreeBSD, а потом DOS или Windows, диспетчер загрузки FreeBSD перестанет работать, и загрузить FreeBSD у вас больше не получится. Эту проблему можно легко устранить, но лучше избавить себя от этой ненужной головной боли и просто в первую очередь установить DOS или Windows.
I 777 I Введение в FreeBSD I 11Z 1 Чагть! Двойная загрузка для DOS, Windows 95, Windows 98, Windows Me или Windows XP FreeBSD поставляется с диспетчером загрузки (FreeBSD Boot Manager), который позволяет использовать отдельный режим для загрузки различных операционных систем. Просто выберите опцию Install the FreeBSD Boot Manager (Установить диспетчер загрузки FreeBSD) во время установки FreeBSD. После этого каждый раз, когда вы будете запускать систему, на экране будет появляться меню, позволяющее вам путем нажатия соответствующей клавиши выбрать, какую операционную систему вы хотите загрузить — FreeBSD или установленную ранее версию MS-DOS или Windows. СОВЕТ V GAG — это альтернативный диспетчер загрузки от стороннего производителя, который имеет графический интерфейс и является более гибким, чем диспетчер загрузки FreeBSD. Дополнительную информацию можно найти на Web-сайте этого производителя, который находится по адресу http://gag.sourceforge.net/. Двойная загрузка для Linux Если вы хотите сохранить возможность работать с Linux и получить возможность загружать Linux из меню диспетчера загрузки FreeBSD (FreeBSD Boot Manager), установите LILO или GRUB (это диспетчеры загрузки для Linux), но не в главной загрузочной записи (Master Boot Record — MBR), а в начале системного (boot) раздела Linux. Информацию о том, как именно это делается, можно найти в документации по LILO или GRUB. После того, как вы установите диспетчер загрузки Linux, вы сможете загружать Linux из меню диспетчера загрузки FreeBSD. Если вы хотите иметь возможность загружать FreeBSD из LILO или GRUB, прочитайте следующие разделы. Загрузка FreeBSD из LILO Если вы работаете с Linux и хотите загружать FreeBSD из Linux-загрузчика LILO, вы можете достаточно легко это сделать. В Linux откройте файл /etc/lilo.conf для редактирования и добавьте в него следующие строки: other=/dev/hda2 table=/dev/hda labelsFreeBSD Измените строку, начинающуюся с о the r = так, чтобы она отражала имя устройства, которое Linux использует для идентификации вашего диска с FreeBSD. (He забывайте о том, что имена устройств, а также имена жестких дисков, в Linux сильно отличаются от тех, что принято использовать в FreeBSD.) После того, как вы внесете это изменение в конфигурационный файл, переустановите LILO, для чего введите lilo от лица пользователя root.
Дополнительные задачи по установке Глава 3 Загрузка FreeBSD из GRUB Сделать так, чтобы FreeBSD и Linux можно было загружать из диспетчера загрузки GRUB, вы можете следующим образом: откройте файл /boot/grub/grub.conf для редактирования и добавьте в него следующие строки: title FreeBSD 6.1 #1 root (hdO,0,a) kernel /boot/loader Аргументы перед root указывают, где находится корневой раздел FreeBSD; в приводимых ранее примерах этот раздел находился в BSD-разделе секции 0 на главном жестком диске, то есть (hdO, О, а). Если вы при установке использовали другие диски и секции, измените эти номера соответствующим образом. Дополнительную информацию об использовании GRUB с Linux и FreeBSD можно найти по адресу http://geodsoft.eom/howto/dualboot/grub.htm#freebsd. Диспетчер загрузки FreeBSD Чтобы обеспечить себе возможность загрузки нескольких операционных систем, вы можете во время установки FreeBSD установить такую программу, как FreeBSD Boot Manager (Диспетчер загрузки FreeBSD). После установки FreeBSD, вы сможете настроить диспетчер загрузки с помощью программы bootOcf д. Выдача команды bootOcf g -В приведет к установке диспетчера загрузки в главную загрузочную запись (MBR) жесткого диска. Это один из способов восстановить диспетчер загрузки, если Windows пришлось удалить его (что могло произойти, например, если Windows устанавливалась после FreeBSD). Конечно, в случае, если диспетчер загрузки был удален, чтобы использовать команду bootOcf g -В, вам придется загрузиться с загрузочного диска FreeBSD. Кроме того, при желании внести изменения в конфигурацию диспетчера загрузки, вам придется установить его заново, используя эту же команду, только указав после нее все необходимые изменения. bootOcfg является утилитой командной строки. К счастью, большинство ее опций могут вообще никогда не понадобиться, тем не менее, они являются интересными, во всяком случае, в познавательном плане. В табл. 3.1 перечислены только самые основные опции, которые могут пригодиться для внесения изменений в конфигурацию диспетчера загрузки. Таблица 3.1. Опции конфигурации диспетчера загрузки Опция Описание *v bootOcfg будет более подробно описывать выполняемые операции. -b image {образ) Здесь image {образ) — это имя загрузочного образа, который следует использовать. По умолчанию применяется /boot/boot0. -d drive (диск) Здесь drive (диск) — номер, используемый BIOS для ссылки на диск. Обычно это 0x80 для первого диска, 0x81 для второго диска и так далее. -f file (файл) Здесь file {файл) — это имя файла, в котором в случае возникновения проблем должна сохраняться резервная копия главной загрузочной записи (MBR). Если такой файл уже существует, он будет заменен новой версией. 113
114 Введение в FreeBSD Часть I Опция -о тоже поддерживается и позволяет использовать целый ряд разделяемых запятой аргументов, значения которых объясняются в табл. 3.2. Таблица 3.2. Аргументы для bootOcf g -о Аргумент Описание packet Если установленная на данном ПК система BIOS поддерживает такую опцию, этот аргумент укажет bootOcf g использовать для операций ввода-вывода расширения int 0x13 вместо более старой схемы CHS, и тем самым позволит обойти описывавшееся ранее ограничение, касающееся размещения системного раздела в пределах первых 1024 цилиндров. Однако если установленная на данном ПК BIOS не поддерживает такую опцию, использование этого аргумента может привести к зависанию системы при следующей перезагрузке. setdrv Вынуждает bootOcf g использовать для ссылки на диск, с которым вы работаете, номер, указанный в опции -d. noupdate По умолчанию диспетчер загрузки может выполнять запись в главную загрузочную запись (MBR) и обновлять ее (в основном, для установки активных флагов). Это, в свою очередь, может привести к возникновению проблем, если была включена аппаратная антивирусная поддержка, не позволяющая выполнять запись в MBR. Опция noupdate будет предотвращать попытки диспетчера загрузки записать данные в MBR. bootOcfg также поддерживает опцию -s л, где л — это число от 1 до 5, обозначающее секцию (в MS-DOS/Windows вместо слова "секция" (slice) используется слово "раздел" (partition), откуда по умолчанию должна выполняться загрузка в случае отсутствия указаний со стороны пользователя. Кроме того, bootOcfg поддерживает еще и опцию -tn, где л — это число, обозначающее количество "тактов", которое следует выждать прежде, чем загружать используемую по умолчанию операционную систему. В одной секунде примерно 18.2 такта. Альтернативные методы установки FreeBSD Если вы не можете или (по какой-то причине) не хотите устанавливать FreeBSD с прилагаемого к этой книге DVD-диска, у вас есть еще несколько других вариантов. К этим другим вариантам относится установка по сети с помощью FTP или с помощью NFS. Установку по сети особенно удобно выполнять, когда есть доступ к сети, имеющей достаточно хорошую пропускную способность, но нет под рукой DVD-диска или если на компьютере нет рабочего DVD-привода либо установленная версия BIOS не позволяет выполнять загрузку с DVD-дисков. Для многих из серверов и рабочих станций, используемых в производственной среде, установка из сетевого источника является самым быстрым и эффективным способом установки FreeBSD. В случае установки FreeBSD по сети вам нужно будет сначала загрузить мини-версию FreeBSD, которая содержит ядро, программу Sysinstall и больше практически ничего. Если у вас нет возможности загрузиться в программу Sysinstall с установочного DVD-диска, вам придется использовать загрузочные дискеты. Создайте эти три дискеты, следуя инструкциям, которые приводились в главе 2, в разделе "Создание установочных дискет". Затем вставьте первую дискету (boot. f lp) в дисковод гибких дисков и загрузите компьютер; когда последует соответствующее приглашение, вставьте следующие дискеты.
Дополнительные задачи по установке I 7TZ I i—_ — -jig , Глава 3 I " I Установка FreeBSD через FTP FTP расшифровывается как File Transfer Protocol (Протокол передачи файлов). Протокол FTP является одним из наиболее старых методов передачи файлов через Internet, с одного компьютера на другой. Несмотря на то что FTP не поддерживает шифрование данных и поэтому считается небезопасным, он по-прежнему широко применяется и является основным протоколом, который используется для передачи файлов в Internet, как будет показано в главе 27. Вы можете установить FreeBSD прямо с FTP-сервера, но для этого вам потребуется не имеющее временных ограничений высокоскоростное соединение с Internet. Установка через модемное соединение займет очень много времени. Если вы будете устанавливать FreeBSD с сайта FreeBSD или одного из ее официальных зеркальных сайтов, вы сможете подключиться как анонимный пользователь. В таком случае вам не нужно читать следующий раздел. Однако если вы будете устанавливать FreeBSD с FTP-сервера, который не позволяет подключаться анонимным пользователям (такого как FTP-сервер в локальной сети), вам придется выполнить процедуры, описанные в следующем разделе, чтобы сначала настроить имя пользователя. Настройка имени пользователя Sysinstall использует для установки FTP-соединений предварительно сконфигурированное имя пользователя и пароль. В главном меню Sysinstall, которое показано на рис. 3.1, с помощью клавиши с изображением стрелки вниз перейдите к пункту Options (Параметры) и нажмите клавишу <Enter>. В меню Options (Параметры), показанном на рис. 3.2, вы можете указать свое имя пользователя для входа на сервер FTP. При помощи клавиши с изображением стрелки вниз перейдите к опции FTP Username (Имя пользователя для входа на FTP-сервер) и нажмите клавишу пробела. Появится диалоговое окно с приглашением ввести имя пользователя для получения доступа к FTP-серверу; администратор сервера FTP, которым вы будете пользоваться, должен предоставить вам имя пользователя и пароль, которые позволят вам получать доступ к этому серверу. Введите имя пользователя и нажмите клавишу <Enter>. Последует приглашение ввести пароль. Введите нужный пароль и нажмите клавишу <Enter>. По завершении нажмите клавишу <Q>: на экране снова появится главное меню Sysinstall. Рис. 3.1. Главное меню Sysinstall. В этом меню следует выбрать пункт Options
116 Введение в FreeBSD Часть I Ком NFSStCUrt NFS SlOW NFS TCP NFS verelon Э Debugging No Worn Inge Yee to All DHCP IPv6 SklpPCCA» FTP ueernoM Editor Tope Blocketze Extract Detail Reloaee Naee Value Мане Value NO inetall Root / NO Broweer package llnke NO Broweer Exec Л»г/locol/btn/llnke YES Hedla Type *wt yet eet» NO Nedla Tteeout ЭМ NO Package Teep /varAep NO Nevf» Arge -b 16384 -f 2B48 NO Flxlt Coneole eerlol NO Re-ecan Devices *> NO Uee Default» [RESET1] И vl 20 high 6.8-IEL?ASE Uee SPACE to «elect/toggle an opt ton» arrow keys to eove, I? or Fl for «or» help. When you're done, type Q to Quit. [Швлюм cm poem to ue. tnetoad of mmom Рис. 3.2. Меню Options, в котором (помимо всего прочего) можно указать имя пользователя для входа на сервер FTP Выбор установки с FTP-сервера После того, как вы укажете имя пользователя и (если необходимо) пароль для доступа к FTP-серверу, следуйте инструкциям, которые приводятся в главе 2, в разделе "Создание разделов и назначение точек монтирования" и "Выбор дистрибутива", до тех пор, пока не появится экран с приглашением выбрать источник установки. На этом экране выберите опцию FTP или FTP Passive, если сервер, с которого вы планируете устанавливать FreeBSD, находится за брандмауэром (если вы не уверены, спросите об этом своего системного администратора). После этого появится экран с приглашением выбрать сайт, с которого будет выполняться установка (рис. 3.3). Рис. 3.3. Список доступных FTP-cepeepoe, с которых можно установить FreeBSD, Либо выберите ближайший общедоступный сервер, либо вручную укажите нужный URL-adpec Если вы решили установить FreeBSD с одного из ее зеркальных сайтов, выберите из списка тот сайт, который является к вам наиболее близким с географической точки зрения (для того, чтобы скорость загрузки была максимальной). В противном
Дополнительные задачи по установке Глава 3 117 случае выберите опцию URL (URL-адрес), чтобы указать адрес нужного FTP-сервера вручную. В диалоговом окне, которое появится после этого (рис. 3.4), вам нужно будет ввести имя FTP-сервера, а также путь к тому месту, где находятся установочные файлы FreeBSD. На рис. 3.4 показан пример адреса FTP-сайта, который обслуживается хостом lion, расположен в сети exaraple.com и на котором файлы FreeBSD находятся в каталоге /FreeBSD. Inetellee free, и witty ef different Jnetellitter | еееЧе, тепеДле. frwm. ПемеЧае t» en Internet FTP server., If уши'i free « eueeertei el/BV» *rb* then this ( —^- Velue Pleeutrrt cpMclfy the UM. ef « Free!'- ~ , r—j reeets f t» sit*. Thie tit* eust i,>jt;tiii;|!pt,i»n» jereen j i1 Ш'&&%&»' thX» i IVrmn+*и*Л*т»1*Ы dlreceery-«f the ueer eeinf 1 SE ] ? I Рис. 3.4. Выбор специального FTP-сервера путем указания его URL-адреса После того, как вы настроите параметры доступа к FTP-серверу, с которого будет производиться установка, вам нужно будет настроить параметры подключения к сети (рис. 3.5). Чтобы сделать это, выполните процедуру, которая описывалась в разделе "Настройка сети" главы 2. Вам нужно будет выполнить эту процедуру только один раз; после этого вы сможете возвращаться в Sysinstall и выполнять другие задачи, не конфигурируя сетевые параметры снова. Программа Sysinstall будет предлагать вам на выбор две опции: пропустить этот шаг или задать другие параметры подключения к сети. Рис. 3.5. Настройка параметров сети TCP/IP. Эта информация сохраняется в конфигурации TCP/IP системы
Введение в FreeBSD После того, как вы закончите настраивать сетевые параметры, на ваш компьютер начнут загружаться и автоматически устанавливаться различные наборы дистрибутивов. Этот процесс может занять довольно много времени; так что в течение нескольких следующих часов вы вполне можете заняться чем-нибудь другим. Когда процесс копирования файлов завершится, вы можете выполнить шаги, перечисленные в разделе "Конфигурирование и настройка системы после установки" главы 2. Поскольку сетевые параметры вы уже настроили, шаги, касающиеся настройки сети, вы можете пропустить. Обратите внимание, что в этой главе рассказывалось только о том, как FreeBSD можно установить с FTP-сервера. Если вы хотите создать "установочный сервер", который клиенты в вашей локальной сети смогут применять для установки FreeBSD, загляните в главу 27. Создав FTP-сервер и разместив на нем установочные файлы FreeBSD, вы сможете позволить другим системам выполнять с него установку, используя процедуры, описанные в этой главе. Установка FreeBSD с помощью NFS NFS— это сетевая файловая система (Network File System). Она позволяет добавлять в структуру каталогов данного компьютера файловые системы, расположенные на каком-нибудь другом компьютере в сети, и делать содержащиеся в ней файлы доступными для использования так, будто бы они находятся на жестком диске данного компьютера. Процедура совместного использования файлов с помощью NFS будет подробно рассматриваться в главе 33. Вы можете установить FreeBSD через NFS, если в вашей сети есть NFS-сервер и на нем доступны установочные файлы FreeBSD. Если ваш NFS-сервер доступен только через защищенный порт (или оборудование вашего компьютера работает очень медленно), выполните процедуру, описанную в следующем разделе. В противном случае вы можете пропустить следующий раздел и перейти с разу к разделу "Выбор установки через NFS". Настройка Sysinstall для защищенного порта или медленного соединения В главном меню программы Sysinstall (см. рис. 3.1), выберите пункт Options (Параметры) и нажмите клавишу <Enter>. Появится меню Options (Параметры), первой в котором будет указана опция NFS Secure (NFS. Безопасное соединение). Если ваш NFS-сервер работает только через защищенный порт (если вы в этом не уверены, поинтересуйтесь у своего системного администратора), нажмите клавишу пробела, чтобы установить для этой опции значение Yes (Да). Устанавливать значение Yes (Да) для второй опции — NFS Slow (NFS. Медленное соединение) — следует только в том случае, если ваш компьютер является маломощным (например, из семейства процессоров 386) или на нем установлена карта Ethernet с очень низкой производительностью. Такая необходимость возникает крайне редко; единственный случай, когда вам действительно надлежит сделать упомянутую опцию активной, это если вам нужно, чтобы удаленные пользователи могли получать доступ к вашей собственной файловой системе с другого NFS-сервера без ее локального монтирования. Когда вы внесете эти изменения, нажмите клавишу <Q>, чтобы вернуться в главное меню Sysinstall Далее следуйте инструкциям, которые приводятся в главе 2, до тех пор, пока не появится экран с приглашением выбрать источник установки.
Дополнительные задачи по установке I 7ТТ I Глава 3 I I Выбор установки через NFS На экране Choose Installation Media (Выбор источника установки) выберите вариант NFS. После этого появится экран с приглашением ввести имя NFS-сервера и путь каталогу, в котором находятся установочные файлы. В примере, который показан на рис. 3.6, сервер называется lion, а каталог с установочными файлам — install/FreeBSD. Рис. 3.6* Указание пути к установочным файлам FreeBSD, которые расположены на удален- ном NFS-сервере После тою, как вы введете эту информацию, вам нужно будет настроить сетевые пчраметры (гм, рис. 3 5). Чтобы сделать это, следуйте инструкциям, приводившимся в ипве 2, в разделе "Настройка сети". После нас i ройки сетевых параметров с удаленного сервера начнут загружаться и устанавливаться различные наборы дистрибутивов. Этот процесс, естественно, займет больше времени, чем он занимает в случае, когда установка выполняется с CD-диска, но все-таки завершится быстрее, чем в случае, когда установка выполняется с FTP-сервера. Когда копирование файлов завершится, вы можете приступать к выполнению процедур, описывавшихся в разделе "Конфигурирование и настройка системы после установки" главы 2. Поскольку сетевые параметры вы уже настроили для выполнения установки, раздел, посвященный настройке сети, вы можете пропустить. Обратите внимание, что в этой главе рассказывалось только о том, как установить FreeBSD с NFS-сервера. Если вы хотите создать "установочный сервер", который клиенты в вашей локальной сети смогут использовать для установки FreeBSD, загляните в главу 33. Создав NFS-сервер и разместив на нем установочные файлы FreeBSD, вы сможете позволить другим системам выполнять с него установку, используя процедуры, описанные в этой главе.
ЧАСТЬ FreeBSD как настольная система В этой части... Глава 4. Загрузка и завершение работы FreeBSD Глава 5. Работа с системой X Window System Глава 6. Работа с приложениями Глава 7. Дополнительная настройка XI1
ГЛАВА 4 Загрузка и завершение работы FreeBSD В этой главе: • Процесс запуска FreeBSD • Вход в систему FreeBSD • Выход из системы FreeBSD • Завершение работы системы FreeBSD
FreeBSD как настольная система Если вы — пользователь Windows или Мае, во время своего первого сеанса работы с FreeBSD вы сразу же обнаружите некоторые серьезные отличия между FreeBSD и операционной системой, с которой вы привыкли работать. Когда вы впервые запустите FreeBSD, вы увидите не элегантный или яркий графический интерфейс или рабочий стол, а окно командной строки в текстовом режиме, в котором вам нужно будет вести свое имя пользователя и пароль, прежде чем вы сможете выполнять в системе какие-либо другие операции. В этой главе будут описываться процедуры, необходимые для запуска, входа и выхода из системы FreeBSD, а также завершения работы FreeBSD. Неважно, новичок вы или опытный пользователь, эти процедуры станут частью вашей повседневной жизни, когда вы будете работать с FreeBSD, поэтому очень важно понимать, что именно происходит внутри системы во время выполнения. Процесс запуска FreeBSD При запуске FreeBSD на экране начнут появляться различные сообщения, генерируемые ядром и другими запускающимися процессами. Мы пока не будем подробно рассматривать, что означают все эти сообщения (процедура запуска и способы управлению ею будут детально описываться в главе 14), а лишь коротко расскажем о том, что вы будете видеть на экране до того, как появится командная строка. НА ЗАМЕТКУ .— Описания, приводимые в следующих разделах, отображают поведение FreeBSD, запускаемой на платформе х86 (Intel). Хотя процесс запуска на Alpha, SPARC и других платформах в целом сходен, некоторые детали все-таки немного отличаются. Процедура POST и BIOS Первое, что делает компьютер, когда его включают, это запускает процедуру POST (Power-On Self Test — самотестирование при включении). На этом этапе BIOS (Basic Input/Output System — базовая система ввода-вывода) проверяет, какое оборудование установлено на данном компьютере и является ли оно исправным. BIOS по сути представляет собой небольшую порцию программного кода, который находится в микросхеме ПЗУ (Read Only Memory — ROM) или СППЗУ (Erasable [Electrically] Programmable Read-Only Memory — EPROM) материнской платы компьютера. Помимо всего прочего, BIOS отвечает за тестирование оборудования при включении компьютера. Также BIOS отыскивает и тестирует первую часть операционной системы вне жесткого диска. Затем она определяет объем ОЗУ и проверяет устройства PnP (Plug and Play), чтобы узнать, какие ресурсы они могут использовать. На этом процедура POST завершается. Процедура самозагрузки После того, как процедура POST завершится, BIOS приступает к поиску устройства, с которого можно было бы выполнить загрузку. Обычно система начинает загружаться с первого загрузочного устройства, которое она находит. Устройства, поиск которых выполняет BIOS, и порядок, в котором она это делает, зависит от
Загрузка и завершение работы FreeBSD I 77^ I Глава 4 I I конфигурации, которая была задана в программе настройки BIOS (о чем более подробно будет рассказываться в главе 14). Обычно BIOS производит загрузку с первого жесткого диска в системе, но может загружаться и с других устройств, таких как дискеты, CD- и DVD-диски, а также внешние диски, подключаемые через порт USB или FireWire. BIOS может даже загружаться с сетевой карты, если в системе нет жесткого диска, и если она поддерживает загрузку операционной системы с сервера (то есть по сети). Обнаружив загрузочное устройство (в данном случае представим, что этим устройством является жесткий диск), BIOS приступает к процедуре самозагрузки, которая представляет собой многоэтапный процесс, состоящий из нескольких "блоков начальной загрузки" (маленьких программ, которые переносят в память постепенно становящиеся все большими \л большими фрагменты операционной системы), и более подробно будет описываться в главе 14. Выбор загрузочной секции (bootO) Обнаружив загрузочный жесткий диск, BIOS считывает все, что находится в его нулевом секторе. Нулевой сектор также называют главной загрузочной записью (Master Boot Record — MBR). Из-за унаследованных ограничений BIOS, программа, находят щаяся в главной загрузочной записи, может занимать только 512 байт. Потому это очень простая программа, которая знает о диске ровно столько, сколько необходимо для того, чтобы отобразить небольшое, но зато полноэкранное меню "секций" (разделов) или, если использовать профессиональный слэнг, "слайсов" (slice), с которых может быть выполнена загрузка. Ниже показан пример меню, которое может сгенерировать блок bootO: Fl DOS F2 FreeBSD F3 Drive 1 Default: F2 Здесь вы можете, используя функциональные клавиши, выбрать секцию, с которой хотите загрузиться, и, тем самым, операционную систему, которую вы хотите запустить. (Секция— это то, что в других операционных системах называется разделом или BIOS-разделом; подробнее об этом будет рассказываться в главе 14.) После того, как вы сделаете свой выбор, boot 0 отыщет и загрузит все, что находится в загрузочном секторе выбранной вами секции. Если FreeBSD является единственной операционной системой на данном жестком диске, это меню не появится, и загрузочный сектор FreeBSD будет считан незамедлительно. Меню загрузчика и ядро Блоки начальной загрузки bootl и boot2 ведут к программе-загрузчику, в обязанности которой входит предоставить пользователю интерфейс, с помощью которого он мог бы управлять ядром. Как вы увидите, ядро является "сердцем* операционной системы и загружается только после того, как в память будет загружена вся инфраструктура загрузочного дискового раздела. Меню загрузчика, которое так же, как и лежащая в основе процесса запуска схема разделов диска, более подробно будет описываться в главе 14, представляет собой текстовое меню, в котором отображается графический символ (изображение чертенка в формате ASCII) или текстовый логотип FreeBSD, а также ряд опций для загрузки FreeBSD в разные режимы, аналогич-
FreeBSD как настольная система ные режиму Safe Mode (Безопасный режим) и режиму MS-DOS Mode (Режим MS- DOS) в Windows. На рис. 4.1 показан пример того, как может выглядеть это меню. Рис. 4.L Меню загрузчика FreeBSD со списком доступных для выбора режимов загрузки В самом простом и наиболее распространенном случае вы просто во время деся- тисекундной паузы, которую вам предоставит загрузчик, нажмете клавишу <Enter> либо просто дождетесь, когда она закончится. После этого загрузится ядро, и процесс самозагрузки будет завершен. Ядро Стандартное ядро обычно находится в каталоге /boot /kernel и запускается утилитой loader. Как уже упоминалось ранее, ядро является "сердцем'* операционной системы. Оно управляет доступом ко всем аппаратным ресурсам, получаемым как программами, так и пользователями. Большинство строк, которые будут появляться на экране на этом этапе, будут отображаться в виде окрашенного в белый цвет текста с полужирным начертанием, а не в виде обычного экранного текста, который выделяется менее выразительным светло-серым цветом. Упомянутые строки — это так называемые сообщения состояния, которые ядро генерирует для вашего сведения по мере того, как оно находит и инициализирует устройства. Большинство из этих сообщений будут отображаться и исчезать слишком быстро для того, чтобы вы успели их прочитать, но после того, как вы войдете в систему, вы сможете воспользоваться командой dmesg | more и просмотреть их все по одному на отдельных экранах, нажимая клавишу пробела для перехода к следующему экрану. Сообщения, генерируемые ядром при запуске системы, могут представлять для вас интерес по разным причинам (например, они могут помочь вам выявить причину неполадок в оборудовании или определить, какое имя устройства FreeBSD при-
Загрузка и завершение работы FreeBSD I 7TZ I Глава 4 I I своила тому или иному компоненту). Давайте рассмотрим несколько примеров таких генерируемых ядром сообщений. Первый пример позволит понять, какие в принципе сообщения вы будете видеть и что они означают (обратите внимание на то, что ваши сообщения могут отличаться от приводимых здесь, что зависит от типа установленного в вашей системе оборудования): Copyright (с) 1992-2005 The FreeBSD Project. Copyright (с) 1979, 19B0, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 6.1-RELEASE #0: Thu Nov 3 09:36:13 UTC 2005 root@x64.samsco.home:/usr/obj/usr/src/sys/GENERIC В первых трех строках содержится просто информация об авторских правах. В четвертой строке отображается номер версии операционной системы и номер версии ядра (номер версии ядра будет увеличиваться на единицу после каждой перекомпиляции ядра), а также дата и время компиляции ядра. В первой части пятой строки отображается имя пользователя и локальный электронный адрес человека, который скомпилировал ядро. В данном случае, ядро GENERIC было скомпилировано пользователем root@x64 . samsco.home (это внутренний адре<; разработчиков FreeBSD) и просто скопировано в систему во время установки. Если вы компилируете ядро самостоятельно (о том, как это делать, будет рассказываться в главе 18), в этой строке будет отображаться ваш личный электронный адрес и имя хоста вашей машины. Во второй части пятой строки отображается имя каталога, в котором компилировалось ядро. (Специалистам по программированию на языке С будет интересно узнать, что именно здесь они смогут найти некоторые файлы исходного С-кода, файлы заголовков и файлы объектов, из которых компилировалось данное ядро, а также файл сборки ядра.) Следующее сообщение информирует о том, что ядро определило тип центрального процессора и встроенные в него возможности, а также объем доступной в данной системе памяти: Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Pentium II/Pentium II Xeon/Celeron (400.91-MHz 686-class CPU) Origin = "Genui'nelntel" Id = 0x653 Stepping = 3 Features=0xl83f9ff<FPU, VME,DE,PSE,TSC,MSR,РАЕ,MCE,CXB,SEP,MTRR,. 4>PGE, MCA, CMOV, PAT, PSE36,MMX, FXSR> real memory - 402653184 (3S4 MB) avail memory = 384602112 (366 MB) СОВЕТ Доступ к информации ядра, которая отображается на экране во время загрузки (такая как сообщения о том, кому принадлежат права на пользование продуктом FreeBSD, и сведения о среде, в которой компилировалось ядро) можно получить в любое время: для этого следует просто ввести cat/var/run/dmesg.boot. Это очень удобно, если возникла необходимость выявить неполадки в оборудовании или узнать, какие имена FreeBSD присвоила устройствам. Упоминавшаяся ранее команда dmesg позволяет отображать содержимое буфера сообщений ядра, которое может обновляться новыми сообщениями, если система работает длительное время. После этого сообщения начнут появляться длинные перечни распознанных FreeBSD устройств. Эти перечни будут выглядеть по-разному, что зависит от того, какое оборудование установлено в данной системе. Ниже приводится пример такого
128 FreeBSD как настольная система Часть II перечня, в котором перечисляются такие устройства, как материнская плата, контроллеры шин PCI и AGP, контроллеры АТА, USB-концентраторы и карты Ethernet (обратите внимание на имя драйвера, которое FreeBSD присваивает карте Ethernet — fxpO; это очень важно): npxO: [FAST] npxO: <math processors on motherboard npxO: INT 16 interface cpuO on motherboard pcibO: <Intel 82443BX (440 BX) host to PCI bridge> pcibus 0 on motherboard pirO: <PCI Interrupt Routing Table: 7 Entries> on motherboard pciO: <PCI bus> on pcibO agpO: <Intel 82443BX (440 BX) host to PCI bridge> mem 0xe0000000-0xe3ffffff **>at device 0.0 on pciO pcibl: <PCI-PCI bridge> at device 1.0 on pciO pcil: <PCI bus> on pcibl $PIR: ROUTE_INTERRUPT failed. pcil: <display, VGA> at device 0.0 (no driver attached) isabO: <PCI-ISA bridge> at device 7.0 on pciO isaO: <ISA bus> on isabO atapciO: <Intel PIIX4 UDMA33 controller port Oxlf0-0xlf7,0x3f6,0x170-0x177, *>0x376,0xf000-0xf00f at device 7.1 on pciO ataO: <ATA channel 0> on atapciO atal: <ATA channel 1> on atapciO uhciO: <Intel 82371AB/EB (PIIX4) USB controller> port 0xe000-0xe01f irq 10 at ^device 7.2 on pciO uhciO: [GIANT-LOCKED] usbO: <Intel 82371AB/EB (PIIX4) USB controlled on uhciO usbO: USB revision 1.0 uhubO: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhubO: 2 ports with 2 removable, self powered pciO: <bridge> at device 7.3 (no driver attached) fxpO: <Intel 82557 Pro/100 Ethernet> port 0xe400-0xe41f mem 0xe9200000-0xe9200fff, <*>0xe9100000-0xe91fffff irq 9 at device 11.0 on pciO miibusO: <MII bus> on fxpO inphyO: <i82555 10/100 media interface> on miibusO inphyO: lObaseT, lObaseT-FDX, lOObaseTX, lOObaseTX-FDX, auto fxpO: Ethernet address: 00:a0:c9:66:7b:32 Следующее сообщение информирует о том, что ядру удалось обнаружить мышь и определить, что это мышь типа PS/2, после чего оно присвоило этой мыши имя устройства psmO для того, чтобы ссылаться на нее дальше с помощью этого имени: psmO: <PS/2 Mouse> irq 12 on atkbdcO psmO: [GIANT-LOCKED] psmO: model Generic PS/2 mouse, device ID 0 fdcO: <Enhanced floppy controller> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isaO fdcO: [FAST] fdO: <1440-KB 3.5" drive> on fdcO drive 0 Ядру также удалось обнаружить контроллер и дисковод гибких дисков, f dcO — это имя устройства, которое оно присвоило контроллеру гибких дисков, a f d0 — имя устройства, которое оно присвоило самому дисководу гибких дисков. (Имя f d0 аналогично имени А:, которое используется для обозначения дисководов гибких дисков
Загрузка и завершение работы FreeBSD Глава 4 129 в Windows/DOS. Именно это имя вы будете указывать, когда захотите получить доступ к этому устройству.) Следующее сообщение информирует о том, что ядру удалось обнаружить звуковую карту SoundBlaster AWE 64, а также о том, какие ресурсы использует эта карта: sbcO: <Creative SB AWE64> at port 0x220-0x22f,0x330-0x331,0x388-0x38b ^irq 5 drq 1,5 on isaO pcml: <SB16 DSP 4.16> on sbcO Обратите внимание, что в данном случае sbcO фактически является именем для целой группы устройств, имеющих отношение к звуковой карте. Звуковая карта использует несколько устройств, в зависимости от того, какими возможностями хочет воспользоваться пользователь, а именно: dsp, через который производится вывод таких файлов, как WAV и МРЗ, и mixer (микшер), позволяющий изменять уровень громкости различных аудиоустройств. Среди сообщений, появляющихся при запуске, могут промелькнуть и такие строки: unknown: <PNP0303> can't assign resources (port) unknown: <PNP0c01> can't assign resources (memory) unknown: <PNP0a03> can't assign resources (port) unknown: <PNP0fl3> can't assign resources (irq) unknown: <PNP0501> can't assign resources (port) unknown: <PNP0700> can't assign resources (port) неизвестное: <PNP0303> не удается назначить ресурсы (порт) неизвестное: <PNP0c01> не удается назначить ресурсы (память) неизвестное: <PNP0a03> не удается назначить ресурсы (порт) неизвестное: <PNP0fl3> не удается назначить ресурсы (irq) неизвестное: <PNP0501> не удается назначить ресурсы (порт) неизвестное: <PNP0700> не удается назначить ресурсы (порт) Эти строки показывают, что ядру удалось обнаружить какие-то устройства Plug and Play (для обозначения которых часто используется аббревиатура ttPnPw), но ему ничего о них неизвестно и поэтому оно не может выделить для них никаких ресурсов. Такие сообщения являются совершенно безобидными. Если вы не хотите их видеть, тогда знайте, что, как сказано в разделе FAQ (часто задаваемые вопросы) на сайте FreeBSD, "разработчики проекта FreeBSD с удовольствием рассмотрят ваши предложения в виде драйверов, которые вы можете отсылать через send-pr". (В принципе, это обращение к вам, специалисты по программированию на языке С, кому практически ничего не стоит написать драйверы устройств и внести свой вклад в развитие проекта FreeBSD как проекта с открытым исходным кодом.) Следующее сообщение информирует о том, что ядру удалось обнаружить жесткие диски и привод CD-ROM; в нем содержатся различные сведения о каждом диске, такие как имя устройства, размер, производитель и модель, геометрические показатели и название контроллера, на котором находится данный диск: adO: 19473MB <Maxtor 92049U6> [39566/16/63] at ata(bmaster UDMA33 adl: 14664MB <IBM-DJNA-351520> [29795/16/63] at atal-master UDMA33 acdO: CDROM <ATAPI 44X CDROM/VER-3.40> at atal-slave UDMA33 Также оно информирует и о том, какой режим доступа использует каждый диск. В данном случае оба жестких диска и CD-ROM используют режим Ultra DMA 33. (Подробнее об этом будет рассказываться в главе 20.)
FreeBSD как настольная система Последнее сообщение показывает, что ядро пытается смонтировать корневую файловую систему: Trying to mount root from ufs:/dev/adOsla Попытка монтирования корневой файловой системы из ufs:/dev/adOsla Тот факт, что система работает, будет указывать на то, что ему удалось это сделать. Смонтировав корневую файловую систему, ядро передаст управление процессу под названием init. Во время выполнения этого процесса на экране будут появляться сообщения светло-серого цвета. Сообщения ядра от других сообщений можно отличить по цвету. Сообщения ядра отображаются белым цветом, а все остальные — светло-серым. init Программа init по сути является первым процессом, который запускается в операционной системе, и поэтому имеет идентификационный номер (process ID), равный 1. init отвечает за запуск всех остальных процессов, которые превращают систему в функциональную операционную систему; но прежде всего init проверяет, являются ли имеющиеся диски пригодными для использования (то есть находятся ли они в подходящей форме). Когда работа FreeBSD завершается корректно, она (FreeBSD) на каждом диске запускает программу под названием sync, чтобы удостовериться в том, что сохранены были все данные, затем демонтирует файловые системы и помечает их флагом "clean" ("чистая"). Этот процесс похож на тот, через который проходит система Windows при завершении работы. Если работа FreeBSD завершается некорректно, флаги "clean" установлены не будут. Проверка целостности файловой системы Первое, что делает init — это проверяет, установлен ли флаг "clean". Если да, init монтирует файловую систему для использования. Если нет, init сначала запускает в этой файловой системе программу f sck, чтобы удостовериться в том, что она не повреждена. Эта программа устраняет все обнаруживаемые повреждения, которые она знает, как исправить, f sck похожа на программу Scandisk, которая используется в Windows, и выполняемая ею процедура похожа на процедуру "Your system was not properly shut down" ("Работа системы была завершена некорректно"), которая выполняется при загрузке Windows после некорректного завершения работы. Если f sck обнаруживает ошибку, которую не может исправить на данном этапе, она переводит систему в однопользовательский режим для того, чтобы системный администратор (которым, возможно, являетесь вы сами, раз уж читаете эту книгу) мог сделать необходимые исправления вручную. Если флаг clean установлен или, если флаг не был установлен, но f sck удалось исправить повреждения, init затем начинает монтировать все файловые системы, которые перечислены в файле /etc/f stab и у которых установлен флаг mount at boot (монтировать при загрузке) (см. раздел "Файл /etc/f stab" в главе12). СОВЕТ При необходимости f sck можно запустить и вручную. Более подробно о f sck и поддерживаемых ею опциях будет рассказываться в главе 12.
Загрузка и завершение работы FreeBSD I ТТ] I Глава 4 I I Сценарии конфигурации системы Смонтировав файловые системы, init считывает сценарии конфигурации системы (также называемые сценариями управления выполнением (Run Control) и сценариями конфигурации ресурсов (Resource Configuration) или, сокращенно, сценариями гс), которые находятся в каталоге /etc и /etc/defaults. Кроме того, init еще проверяет файл /usr/local/etc/rc.d, в котором могут находиться дополнительные сценарии, подлежащие запуску при загрузке системы (это могут быть сценарии для запуска Web-серверов, серверов баз данных или любых других программ, которые должны автоматически запускаться во время загрузки системы). Если вы знакомы с Windows или DOS, то знайте, что эта часть процесса загрузки FreeBSD похожа на ту часть процесса загрузки Windows, когда запускаются файлы config.sys, autoexec.bat, system.ini и элементы системного реестра Windows, отвечающие за опции запуска Windows. НА ЗАМЕТКУ Термин "сценарии гс" на самом деле происходит от термина "RunCom" или "run commands" ("команды запуска"), который появился приблизительно в 1965 году в исследовательских центрах Массачусетского технологического института, где его использовали для обозначения соответствующего средства в системе CTSS. Хотя с тех пор акроним мгсй применялся и во многих других значениях, его основной смысл остается прежним по сегодняшний день: он обозначает набор команд, которые хранятся в файле и запускаются в пакетном режиме. В мире UNIX значение акронима "гс" является настолько понятным, что знать, как он расшифровывается вовсе не обязательно, да многие и не знают. В этой книге мы еще не раз будем ссылаться на сценарии Run Control (для уровней выполнения в стиле Sun) и сценарии Resource Configuration, когда речь пойдет о собственных сценариях запуска FreeBSD. НА ЗАМЕТКУ Для полноты картины следует упомянуть, что init также выполняет проверку на наличие файла /etc/rc. local, который может использоваться для запуска таких программ, как Web-серверы. Однако этот файл считается устаревшим и в следующих версиях FreeBSD уже может не поддерживаться. Поэтому сейчас сценарии запуска рекомендуется размещать не в файле /etc/rc.local, а в файле /usr/local/etc/rc.d. Управление выполнением в BSD и в Sys V Если вы до этого пользовались Sys V UNIX, материал, изложенный в этом разделе, может показаться вам не совсем понятным. Вот вам пояснение: в используемой BSD программе init концепции "уровней выполнения" на самом деле не существует. Здесь скорее имеется однопользовательский режим и многопользовательский режим с сетевой поддержкой. В отличие от Sys V, многопользовательского режима без сетевой поддержки здесь нет. Также здесь нет и файла init tab, а в Sys V он есть. Кроме того, в BSD за (практически) все параметры запуска отвечает один единственный файл, который называется г с. conf. Никаких отдельных файлов, запускающих службы с помощью ссылок в каталогах различных уровней выполнения как в Sys V здесь тоже нет. (Об init более подробно будет рассказываться в главе 14.)
I 7Г1 I FreeBSD как настольная система 132 ¦ getty и login Прочитав сценарии, init запускает на консоли (и нескольких виртуальных терминалах) какую-нибудь программу. Обычно этой программой является программа getty, но не обязательно. Довольно часто вместо getty используется другая программа, которая ^называется xdm. xdm сразу же после загрузки системы запускает графический сеанс регистрации в X Window System (который похож на сеанс регистрации в NT). Запускаемая программа задается в файле /etc/ttys. В этой книге предполагается, что используется программа getty. Программа getty инициализирует терминал (или консоль), а также отвечает за его настройки и параметры безопасности. Опять-таки, эти параметры и их значения задаются в файле /etc/ttys. После того, как вы введете свое регистрационное имя (то есть имя пользователя) и пароль, getty запустит программу login, чтобы проверить их достоверность. Вход в систему FreeBSD После завершения всех процессов запуска на экране появятся примерно такие строки: FreeBSD/i386 (amnesiac) (ttypO) login: В первой строке отображается имя хоста, которое вы указали во время установки, а также значение, показывающее, какое консольное устройство используется для получения доступа к системе (это значение может выглядеть по-разному, что зависит от того, как получается доступ к системе (удаленно или локально) и сколько других пользователей уже подключилось; в данном случае значение ttypO показывает, что используется первый "псевдотелетайп", или удаленный терминал). Введите то имя пользователя, которое вы во время установки создали для обычного (не root) пользователя. Нажмите клавишу <Enter> и затем, когда появится соответствующее приглашение, введите пароль, который вы указали для этого пользователя во время установки. Обратите внимание на то, что пароль отображаться на экране не будет. На самом деле, на экране вообще ничего не будет отображаться. Но вы не волнуйтесь: ваш пароль считывается. После того, как вы введете пароль, программа login проверит базу данных паролей на наличие совпадений. Если ей удастся найти совпадение, на экране появится приблизительно такая информация: Last login: Tue Apr 10 15:19:17 on ttypO Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 6.1-RELEASE #0: Thu Nov 3 09:36:13 UTC 2005 > Если вы вошли в систему через учетную запись обычного пользователя впервые, первой строки (Last login) вы можете и не увидеть. Но зато, когда вы будете входить в систему в следующий раз, эта строка уже будет присутствовать.
Загрузка и завершение работы FreeBSD Глава 4 133 ВНИМАНИЕ! Обращайте внимание на информацию в строке "Last login". Если, например, FreeBSD сообщает, что последний раз вы входили в систему в субботу, 30 сентября, в 14:05:29 (Sat Sept 30 14:05:29), а вы точно знаете, что не пользовались системой, начиная с 23 сентября, значит, кто- то другой в это время подключался к системе через вашу учетную запись. Если подобное случится, немедленно измените свой пароль (воспользовавшись командой passwd и следуя выдаваемым ею инструкциям). Также не забудьте сообщить об этом нарушении системы безопасности своему системному администратору (если только вы сами не являетесь им). А если вы и есть системный администратор, тогда прочтите главу 30; в ней вы сможете узнать о том, что следует делать, если возникли подозрения о нарушении системы безопасности. В остальных строках будет отображаться информация об авторских правах, а также о ядре и дате его сборки. В последней строке будет отображаться приглашение командной оболочки. Появление приглашения командной оболочки означает, что FreeBSD ждет от вас ввода какой-нибудь команды. ВНИМАНИЕ! Обратите внимание на то, что символ, обозначающий приглашение на ввод команды, отображаемый в этом случае, отличается от того, который вы видели в прошлый раз (когда входили в систему через учетную запись пользователя root). В приглашении на ввод команды для пользователя root используется знак фунта (#). А в приглашении на ввод команды для обычного пользователя используется либо знак доллара ($) (если это программная оболочка в стиле Bourne, либо знак процентов (%) или знак < (если это программная оболочка в стиле С). В FreeBSD no умолчанию используется программная оболочка tcsh, которая является программной оболочкой в стиле С. В любом случае, по используемому 8 приглашении на ввод команды знаку вы всегда сможете определить, через какую учетную запись вы вошли в систему: через учетную запись пользователя root или учетную запись обычного пользователя. Если вы вошли в систему через учетную запись пользователя root, будьте предельно внимательны при вводе потенциально опасных команд. ? . Если вы неправильно введете имя пользователя или пароль, FreeBSD отобразит следующее сообщение: Login incorrect login: Неверная регистрация пользователь: В этом случае просто попробуйте ввести имя пользователя и пароль заново. СОВЕТ Если вы неправильно введете имя пользователя или пароль три раза подряд, вам может показаться, что система зависла, потому что ничего не происходит. Не волнуйтесь. Система не висит. Эта задержка возникает в результате срабатывания встроенной в ядро функции безопасности, которая помогает снизить вероятность проникновения в систему программ, взламывающих пароли путем подбора слов. Время задержки может увеличиваться с каждым неправильным вводом имени пользователя или пароля после третьего раза. Просто подождите несколько секунд, и на экране снова появится приглашение ввести имя пользователя и пароль.
FreeBSD как настольная система Выход из системы FreeBSD Когда вы закончили работу с FreeBSD (или вам необходимо ненадолго покинуть свой компьютер), вы должны выйти из системы. Это не позволит никому постороннему воспользоваться вашим компьютером или терминалом и получить доступ к вашей учетной записи во время вашего отсутствия. Чтобы выйти из FreeBSD, просто в командной строке введите logout или exit. После этого на экране должно снова появиться приглашение ввести имя пользователя и пароль для входа в систему, которое вы видели, когда FreeBSD только загрузилась. СОВЕТ Если вы работали над чем-то таким, что вы не хотите, чтобы увидели другие, когда будут проходить мимо вашего компьютера, вы можете очистить экран перед выходом из системы путем ввода в командной строке команды clear. После этого вы можете выйти из системы, как описывалось выше. Завершение работы системы FreeBSD Как уже упоминалось в главе 2, очень важно, чтобы перед выключением питания вы корректно завершили работу FreeBSD (или любой другой ОС Unix). Нарушение этого правила может привести к серьезным повреждениям файловой системы. Диски в UNIX рассматриваются так, будто они содержат файловые системы, которые обслуживаются систематически; если завершить работу Windows, просто резко выдернув шнур питания, после перезагрузки на дисках будут находиться фрагменти- рованные файлы, но система сможет с ними справиться. Однако, FreeBSD — как и большинство UNIX-систем — записывает данные на диск таким образом, что уровень фрагментации остается очень низким, но зато внезапное отключение питания может привести к тому, что система утратит все данные, которые были активными на тот момент. У FreeBSD имеется механизм, который называется Soft Updates и может помочь справиться с этой проблемой; более подробно о Soft Updates будет рассказываться в главе 12. Использование команды shutdown Правильно завершить работу системы можно с помощью команды shutdown, с которой вы уже встречались в главе 2, в разделе "Завершение работы FreeBSD". Однако прежде чем взять и завершить работу системы, ознакомьтесь с несколькими другими опциями этой команды, которые описываются ниже. Базовый синтаксис команды shutdown выглядит так: shutdown option when broadcast message Первый аргумент указывает команде shutdown , что делать, второй аргумент — когда это делать, а третий — какое сообщение должно быть отправлено всем подклю ченным пользователям. В табл. 4.1 перечислены опции, которые могут использоваться на месте элемента option в команде shutdown, и объясняется, что они делают.
Загрузка и завершение работы FreeBSD 135 Глава 4 Таблица 4.1. Опции команды shutdown Опция Результат Опции не указаны Все пользователи выбрасываются из системы, после чего система переводится в однопользовательский режим без сетевой поддержки. Такой подход является не совсем этичным по отношению к пользователям, но зато он быстрый и эффективный. -h Останавливает работу системы. "Р Останавливает работу системы и отключает питание (если система поддерживает автоматического отключение питания, а ядро — управление электропитанием). "г Перезагружает систему. "к Выбрасывает всех из системы и блокирует доступ (то есть больше не позволяет подключаться к системе никому, кроме пользователя root). Однако в случае, когда используется эта опция, система остается в многопользовательском режиме и может работать в сети. Она может пригодиться в ситуации, когда система нуждается в срочном техническом обслуживании, но для выполнения этой задача требуется доступ в сеть. "° Завершает работу системы, не отправляя сигнала программе imt Этой опцией лучше не пользоваться, потому что она не позволяет выполняться используемым программами сценариям завершения работы. "п Если была указана опция -о, эта опция не допускает очистки кэша файловой системы перед завершением работы. Этой опцией лучше никогда не пользоваться, потому что она может привести к потере данных. Аргумент, отвечающий за то, когда должна быть завершена работа, можно задать несколькими способами. Как рассказывалось в главе 2, ключевое слово now указывает команде shutdown выполнить операцию завершения работы немедленно. Команда shutdown также распознает формат +п, где п — это количество минут, которые shutdown должна подождать, прежде чем начать выполнять операцию завершения работы (что дает пользователям время сохранить свои файлы и закрыть свои программы). Вы также можете применять формат yymmddhhmm, чтобы указать точное время, когда должна быть выполнена операция завершения работы. В данном случае у у — это год, mm — месяц, dd — день, hh — часы (в 24-часовом формате) и mm — минуты. Если год, месяц и день не указаны, shutdown предполагает, что операция завершения работы должны быть выполнена сегодня. Если вы укажете время, которое уже прошло, shutdown обязательно обратит на это ваше внимание (то есть вернет соответствующее сообщение об ошибке). Опция broadcast message (широковещательное сообщение) позволяет ввести уведомляющее о завершении работы сообщение, которое будет отправляться всем подключенным пользователям через определенные интервалы времени. Это сообщение начинает рассылаться за 10 минут до завершения работы, и по мере приближения указанного срока отображается пользователям все чаще и чаще. Ниже для примера приводится пошаговое описание типичного процесса завершения работы, в котором используется 10-минутная задержка (не вводите сейчас эту команду, если на самом деле не хотите ждать целых десять минут до завершения работы системы): # shutdown -h +10 Hard disk needs to be replaced
136 FreeBSD как настольная система Часть II Эта команда запустит программу shutdown и будет выполнять ее в фоновом режиме. Работа системы будет остановлена через десять минут. Кроме того, на терминалах всех пользователей появится следующее сообщение: *** System shutdown message from rootQsimba.somewhere.com *** System going down in 10 minutes Hard disk needs to be replaced *** Сообщение о завершении системы от rootQsimba.somewhere.com *** Работа системы будет завершена через 10 минут Требуется произвести замену жесткого диска За пять минут до завершения работы (или сразу же, если в качестве задержки было указано меньше пяти минут), программа shutdown автоматически создаст файл /var/ run /no login. Этот файл будет предотвращать все дальнейшие попытки входа в систему и отображать указанное сообщение о завершении работы каждому, кто будет пытаться получить доступ в систему, shutdown поместит в этот файл информацию о времени завершения работы и текст широковещательного сообщения. В нашем примере каждый, кто попытается войти в систему увидит следующее сообщение: NO LOGINS: System going down at 17:57 Hard disk needs to be replaced Вход в систему запрещен: работа системы будет завершена в 17:57 Требуется произвести замену жесткого диска Когда обратный отсчет указанного для задержки времени заканчивается, выполняются следующие операции: • Программе init отправляется сигнал TERM, что прекращает создание любых новых процессов. • init считывает файл /etc/re.shutdown и выполняет все содержащиеся в нем сценарии завершения работы программ. • Всем процессам отправляется сигнал TERM и предоставляется время на то, чтобы они могли сами спокойно завершиться. • Тем процессам, которые не отвечают на сигнал TERM в течение определенного времени, посылается сигнал KILL, проигнорировать который они просто не могут. Это приводит к принудительному завершению работы процессов. • Данные, находящиеся в кэше, записываются в файловые системы с помощью команды sync. Далее все файловые системы демонтируются, и устанавливается флаг clean. • Останавливается работа ядра. Кроме того, shutdown еще вносит запись в системный журнал, указывая время, когда была выполнена операция завершения работы, и кто ее выполнил. НА ЗАМЕТКУ Завершить работу системы вы можете только в случае наличия у вас прав пользователя root, получить которые вы можете либо подключившись к системе через учетную запись пользователя root, либо воспользовавшись командной su или sudo, которая позволяет определенным пользователям выполнять одноразовые административные задачи.
Загрузка и завершение работы FreeBSD I TTZ J Глава 4 I I Чтобы завершить работу системы прямо сейчас, вы должны перезагрузить компьютер, поэтому введите в командной строке команду su (которая расшифровывается как "super-user", то есть "суперпользователь") и нажмите клавишу <Enter>. Эта команда временно предоставит вам привилегии пользователя root. Введите пароль пользователя root, когда появится соответствующее приглашение. Если после этого вы получите сообщение, информирующее о том, что членам группы, к которой вы относитесь, нельзя использовать команду su, выйдите из системы и снова войдите в нее, но уже через учетную запись пользователя root. Затем, если в системе нет других пользователей, введите следующую команду: # shutdown -h now Как уже упоминалось в главе 2, в многопользовательской системе завершать работу подобным образом вы бы не стали. Вместо этого вы бы как-то предупредили пользователей о том, что скоро работа системы будет завершена. После того, как операция завершения работы будет выполнена, появится следующее сообщение: System halted Please press any key to reboot Работа системы остановлена Пожалуйста, нажмите любую клавишу, чтобы перезагрузить систему Теперь, и только теперь, вы можете спокойно выключить компьютер. Полезная информация о командах halt и reboot Для остановки работы и перезагрузки системы можно использовать и две другие команды: halt и reboot, соответственно. Однако пользоваться ими регулярно не рекомендуется. Ни одна из этих команд не запускает сценарий г с. shutdov/n что может приводить к некорректному завершению работы некоторых npoi рамм. Также ни одна из этих программ не позволяет вам ни указывать время задержки, ни отправлять пользователям предупреждение о завершении работы системы. Поэтому для остановки системы лучше всегда применяйте команду shutdown. Однако у программ halt и reboot есть и свои преимущества. Например, вы можете использовать halt для того, чтобы сделать систему на 100% безопасной для отключения электропитания после того, как вы завершили работу всех многопользовательских процессов с помощью команды завершения (shutdown). Команда reboot тоже может оказаться удобной, если вы работаете в однопользовательском режиме: она просто "убивает" все запущенные процессы при помощи сигнала SIGKILL (который не может быть проигнорирован) и сразу же перезагружает компьютер. Эти команды позволяют сэкономить время в случаях, когда их использование является безопасным, но такие случаи бывают крайне редко. НА ЗАМЕТКУ Если вы до этого работали в DOS или Windows, вы наверняка привыкли пользоваться клавиатурной комбинацией <Ctrl+Alt+Delete> для перезагрузки системы. По умолчанию FreeBSD будет перехватывать сигнал, посылаемый при нажатии этой клавиатурной комбинации, и выполнять те же операции, что и при запуске команды reboot. Это может представлять проблему в ситуации, когда к клавиатуре сервера имеют доступ и обычные пользователи, потому что позволяет им перезагружать систему и без привилегий пользователя root.
5 ГЛАВА Работа с системой X Window System В этой главе... • Знакомство с XII • X Server • Оконные диспетчеры • KDEhGNOME • Работа с оконными диспетчерами • Оконный диспетчер Window Maker
FreeBSD как настольная система В этой главе речь пойдет о программе X Window System, которая также называется XI1 или X и представляет собой в мире UNIX эквивалент операционной среды Windows. Для систем UNIX графические пользовательские интерфейсы, подобные тем, что применяются в Windows и Mac OS X, раньше практически не разрабатывались, а все потому, что системы UNIX чаще всего использовались в роли сервера, где в дружественных к пользователю средах нет почти никакой необходимости. Однако в последнее время многие люди стали заменять свои настольные операционные системы Windows на Linux и FreeBSD, в результате чего стало появляться все больше и больше программ, ориентированных на улучшение старой и очень сложной системы управления окнами XII. X Window System состоит из двух компонентов: сервера X Server и оконного диспетчера. X Server запускается на системе в виде демона и предоставляет приложениям для работы графическую среду. Оконный диспетчер отвечает за внешний вид и поведение среды XII. В этой главе вы сможете подробнее узнать о том, что собой представляют эти два компонента, научиться работать^ в пользовательской среде KDE и настраивать ее, а также переключаться с одного оконного диспетчера на другой, если установленный диспетчер вас не устраивает. Знакомство с X11 XII — это комплект программ, которые были разработаны специалистами Массачусетского технологического института и другими приверженцами ПО с открытым кодом за последние двадцать лет Текущая реализация XII, разработанная и продвигаемая ассоциацией X.org Foundation, называется Xorg. Как уже упоминалось в 1лаве 2 XI1 имеет архитектурную модель типа "клиент-сервер", которая прекрасно подходит для кластерных конфигураций рабочих станций, но может также достаточно хорошо работать и на настольном, используемом единственным пользователем компьютере, если понять концепцию, которая скрывается за ее кажущимся на первый взгляд довольно необычным дизайном: в частности то, почему существует разграничение между такими ее компонентами как X Server (который является, так сказать, ядром этой системы управления окнами, и которому достается вся самая тяжелая работа) и оконный диспетчер. Как и более ранние версии Microsoft Windows, XI1 представляет собой графическую "оболочку**, которая запускается поверх использующего командную строку ядра операционной системы. То есть сначала пользователь попадает в среду командной строки, а затем переходит в управляемый при помощи мыши графический режим, где он может запускать такие приложения, как Web-браузеры и текстовые процессоры. Когда он выходит из сеанса XII, он снова попадает в командную строку оболочки. XII сама по себе имеет очень элементарную структуру. Все, что XII делает — это помещает интерфейс компьютера в "графический режим" (вместо обычного текстового), запуская программы в отдельных окнах, которые могут прорисовываться в разных частях экрана. Однако без оконного диспетчера XII отображает только простые, ничем не украшенные, не имеющие заголовков окна программ, которые нельзя ни передвинуть, ни увеличить, ни уменьшить. XII сама по себе не предоставляет ни меню, ни утилит, ни даже механизма для перемещения окон. Для этого нужен уже оконный диспетчер и другие дополнительные инструментальные средства, все из которых запускаются в среде XI1 и выполняют задачи, обычно считающиеся присущими только настольной среде.
Работа с системой X Window System I 773 I Глава 5 I I Наиболее популярными диспетчерами являются FVWM, Windows Maker, AfterStep и XFce; все они имеют свой особенный внешний вид и поведение, а некоторые из них очень точно повторяют внешний вид и поведение Microsoft Windows, Sun CDE, NeXTSTEP и других популярных пользовательских сред, которые в разные годы разрабатывались для разных операционных систем. Кроме этого, доступны также и более сложные и "отшлифованные" пользовательские среды, которые гораздо больше подходят для повседневного использования системы в качестве настольной, чем обычные оконные диспетчеры; среди них особенно выделяются KDE и GNOME. Установить оконные диспетчеры можно как из коллекции пакетов, так и из коллекции портов, где они доступны в категории /usr/ports/xll-wm (процедура установки ПО с помощью коллекции портов подробно описывается в главе 16). Если вы сконфигурировали систему XI1 во время процесса установки FreeBSD (как описывалось в главе 2, в разделе "Настройка системы X Window System (XI1)") или позже, вы сможете запустить ее сейчас при помощи команды startx. X Server X Server — это базовая среда, позволяющая запускаться графическим приложениям. Сам по себе компонент X Server не особенно полезен: он представляет собой просто механизм, отвечающий за размещение базового окна и прорисовку окон приложений, и не имеет никаких возможностей для управления окнами вроде возможности перемещать окно путем его перетаскивания при помощи мыши. На рис. 5.1 показан X Server, запущенный без оконного диспетчера. Рис. 5Л. Здесь показан сеанс X без оконного диспетчера, который из-за этого является очень примитивным и практически бесполезным
142 FreeBSD как настольная система Часть II В показанном на этом рисунке сеансе XII работают несколько приложений: xterm (окно терминала командной оболочки), часы, калькулятор и программа для обработки изображений GIMP, использовавшаяся для получения данного снимка экрана. Обратите внимание на то, что у окон нет ни строк заголовков, ни рамок. Их нельзя ни увеличить, ни уменьшить, ни свернуть, ни развернуть. Очевидно, что отсутствие таких возможностей делает данный графический пользовательский интерфейс почти совершенно бесполезным. Вот где на сцену выходит оконный диспетчер. Оконные диспетчеры Оконный диспетчер отвечает за то, как выглядит и как работает графическая среда (то есть за ее внешний вид и поведение). И, что, пожалуй, является наиболее яркой демонстрацией преимуществ ПО с открытым кодом, для FreeBSD, благодаря XII, доступна не одна единственная система управления окнами, как это обычно случается с коммерческими операционными система, а десятки различных оконных диспетчеров, поведение которых отличается так же, как и вкусы пользующихся ими людей. Практически все эти оконные диспетчеры поддерживают такую функциональную возможность, как "темы рабочего стола", которая позволяет изменять элементы интерфейса и настраивать их по своему вкусу. Если пользователю не нравится, как XI1 выглядит или работает, он может либо настроить существующий оконный диспетчер, либо вообще переключиться на совершенно другой диспетчер. На рис. 5.2. показан тот же сеанс, что и на рис. 5.1, только на этот раз с диспетчером Window Maker. $L (Creating b9 iwee Tlbraru. Vwotlf&f J* J& A ¦ Creatine Icon setup library /rd Creating plxeap library /root/q Creatine sound library /root/GN Creating sound «at library /rod Installation Finished J maker warning; A-oot/GNuetap/ll t configuration. | weaker uaming: could not allod unaker warning: could not get d wnaker warning; using default 1 unaker warn ng: could not allod junakar warning: could not get d, J & о и * »^J I mm* bated with defaul | Рис. 5.2. Оконный диспетчер, такой как Window Maker, делает пользовательскую среду более совершенной, предоставляя пользователю элементы для управления окнами и утилиты для работы с интерфейсом
т Работа с системой X Window System I 7ТГ I Глава 5 I I На этом рисунке видно, что теперь у окон запущенных приложений имеется строка заголовка и элементы управления, позволяющие разворачивать и закрывать их. Эти окна можно увеличивать, уменьшать и перемещать. В правой части рабочего стола отображается меню, позволяющее запускать приложения щелчком на соответствующей пиктограмме. Если на этом рабочем столе щелкнуть правой кнопкой мыши, появится еще одно меню, в котором можно будет выбирать различные опции. Когда вы впервые сконфигурировали XI1 и запустили свой первый графический сеанс в главе 2, оконным диспетчером, который FreeBSD выбрала по умолчанию, был диспетчер TWM, который предлагает минимальную пользовательскую среду с очень примитивным оформлением окон и минимальным набором элементов управления. В TWM мало что можно делать: можно запускать реализуемые в виде окон программы, вводя их имена в командной строке в окне xterm, можно перемещать окна и изменять их размер, можно завершать процессы, щелкая на них должным образом, и это в принципе все. Ни тебе пиктограмм, ни диспетчера файлов, ни программы для настройки предпочтений. Даже указать рисунок, который должен использоваться в качестве фона рабочего стола, можно только при помощи дополнительных программ. Для опытных пользователей UNIX, которые стараются избегать всяких излишеств, TWM вполне подходит, но если вы будете часто пользоваться XII для работы в графическом режиме, вы почувствуете потребность во всех тех встроенных функциональных возможностях, к которым мы все так привыкли в современных настольных операционных системах. К счастью, для удовлетворения этой потребности FreeBSD предлагает даже не один, а целых два пакета полнофункциональных пользовательских сред, разработанных специально для этой цели: это KDE и GNOME. KDE и GNOME Чуть позже в этой главе мы обязательно расскажем о том, как правильно пользоваться оконными диспетчерами, такими как Windows Maker и FVWM. Однако сейчас давайте обратим внимание на две доступных пользовательских среды, поведение которых больше похоже на поведение Windows и Mac OS X, чем поведение оконных диспетчеров. Как это часто и бывает в мире ПО с открытым кодом, KDE и GNOME, две наиболее широко используемые и наиболее активно совершенствуемые пользовательские среды для UNIX, имеют свои как очень впечатляющие преимущества, так и, что неизбежно, свои определенные недостатки. Также у обеих из них есть свои ярые поклонники среди пользователей бесплатных систем UNIX. В этой книге для демонстрации технологий, необходимых для настройки полнофункциональной графической пользовательской среды в FreeBSD, нам придется выбрать только какой- нибудь один из этих пакетов: в принципе рассматривать подробно оба пакета (то есть и KDE, и GNOME) нет никакой необходимости, потому что они оба предоставляют практически одни и те же преимущества пользователю и имеют аналогичные, а в некоторых случаях даже идентичные, функциональные возможности (например, и в KDE, и в GNOME имеется встроенный Web-браузер и пакет офисных приложений). Среда KDE в работе скорее похожа на Windows названиями интерфейсных элементов и оформлением (например, меню Start (Пуск) и подобными доступным в Windows управляющим кнопкам) и, на момент написания этой книги, более востребована в мире настольных технологий благодаря своим дополните 1ьным функ щ опальным возможностям, таким как возможность преобразования текста в речь и
144 FreeBSD как настольная система Часть II утилита управления паролями. Это делает KDE более привлекательной для обычного пользователя и пользователя-новичка FreeBSD по сравнению со средой GNOME (рис. 5.3), которая имеет более уникальный стиль оформления и набор названий интерфейсных элементов и также является гораздо более упрощенной, чем KDE, из-за чего она больше подходит для опытных пользователей UNIX. По этой причине, а также потому, что версия FreeBSD под названием PC-BSD (с которой вам стоит познакомиться, если вас больше интересуют настольные технологии обработки данных, чем серверные приложения) разрабатывалась на основе именно среды KDE, в данной главе основное внимание будет уделяться среде KDE, a не GNOME. К счастью, процедуры установки KDE и GNOME очень похожи, поэтому если вам удастся успешно установить KDE, вы сможете без особых проблем установить и GNOME. Если хотите, попробуйте установить и ту, и ту другую, чтобы понять, какая из них вам больше подходит. KDE и GNOME представляют собой смелую попытку создать для UNIX и Linux ни что иное, как полнофункциональную многооконную среду, и имеют полный набор графических средств и элементов управления, опубликованную документацию по использованию интерфейса, вспомогательные аплеты и даже свои собственные встроенные приложения. Практически все приложения XII работают независимо от используемого оконного диспетчера, то есть, например, поведение программы, такой как xv, будет одинаковым и FVWM, и в Windows Maker, и в TWM, разным будет только стиль рамки ее окна. Однако программы, написанные для GNOME и KDE (наподобие Web-браузера Konqueror или почтового клиента Evolution), являются специализированными и подразумевают, что их будут запускать только в соответствующих родных средах. & АроЬ at on р а •» Ос fctop Ш Щ 1 а ¦L OwJ J-DX Ей* Edit tt«w Iermmal Tabs Ы*1р 41 О» ktop Pictures 41 file Ed<t yi«w Place* Help ? g»P cturte ^ 1 Item. Fr« space- 1Л <38 la .ft _M_ Рис. 53. GNOME, настраиваемая полнофункциональная пользовательская среда, гораздо меньше похожая на Windows no поведению, чем среда КОЕ
____ Работа с системой X Window System I TTZ I Глава 5 I I Некоторые из этих специализированных приложений не будут работать должным образом или вообще не будут работать до тех пор, пока вы не установите подходящую для них оконную среду: например, если вы запустите приложение GNOME в KDE, в нем может не отображаться текст из-за отсутствия ожидаемой архитектуры шрифтов. Этот недостаток, с точки зрения борцов за чистоту нравов, представляет собой печальный отход от традиционного агностицизма в плане оконных диспетчеров в UNIX, благодаря которому в любой настольной среде (оконном диспетчере) можно было запускать любое приложение. Однако, усовершенствованные технологии, лежащие в основе приложений KDE и GNOME, свидетельствуют о том, что доступные бесплатно настольные среды для UNIX наконец-то начали достигать уровня дисциплинированного пользования, столь популярного в таких настольных системах, как Windows и Mac OS. Установка KDE Несмотря на то что KDE представляет собой объемный пакет программ, устанавливается KDE достаточно легко. Самый простой способ установить KDE — это войти в систему через учетную запись пользователя root (или с помощью команды su временно получить привилегии пользователя root), установить соединение с Internet, если оно еще не установлено, и ввести такую команду: # pkg_add -r Jcde3 Эта команда подключается к FTP-серверу FreeBSD и пытается извлечь с него все необходимые программы, входящее в пакет I?DE 3.x. Этот процесс может занять час времени, а то и больше, поэтому наберитесь терпения; просто установка пакета KDE подразумевает установку и десятка зависимых программ, без которых KDE никак не обойтись. СОВЕТ Вы можете установить нужные пакеты и из программы Sysinstall, как рассказывалось в главе 2. Чтобы сделать это, введите sysinstall и затем перейдите сначала в раздел Configure (Настройка), а затем — в раздел Packages (Пакеты), чтобы отобразить список всех доступных пакетов. Пакет kde3 расположен в категории xll. \ Если выполнить команду pkgadd не удается (например, потому, что необходимых пакетов нет на сервере или по причине того, что при ее выполнении появляется ошибка типа "Broken pipe" ("Нарушенный конвейер")), вы можете попробовать установить KDE другим способом, а именно: самостоятельно скомпилировать KDE из доступного для общественного пользования исходного кода, воспользовавшись коллекцией портов (при условии, что вы установили ее, когда устанавливали FreeBSD в главе 2). О системе пакетов и коллекции портов более подробно будет рассказываться в главе 16. Сейчас пока что просто знайте, что вы должны ввести ряд следующих команд: # cd /usr/ports/xll/kde3 # make # make install # make clean
146 FreeBSD как настольная система Часть II После каждой из этих команд make FreeBSD будет извлекать самую последнюю версию исходного кода для каждого компонента KDE и компилировать ее в двоичный код. Этот процесс может занять несколько часов или даже дн й, что зависит от скорости используемого сетевого соединения и мощности компьютерного оборудования. Наберитесь терпения и дождитесь, когда будут выполнены все эти шаги. НА ЗАМЕТКУ KDE и многие из ее зависимых пакетов представляют собой "интеракт внье" порты что означает следующее: на определенном этапе во время конфигурир вания к ждого из них будет появляться текстовое меню, позволяющее вам выбрать и, наоборо , отмени ь в i6 p компонентов, которые вам нужны или не нужны. Запустив процесс компиляции, лучше далеко не у одите, дабы не получилось так, что FreeBSD отобразит интерактивное меню а в с р ом не , ом жет удлинить процедуру компиляции еще на несколько часов1 ВНИМАНИЕ! Полная установка KDE и всех ее компонентов, выбранных по умолчанию, занимает более 1 Гбайт дискового пространства, а в случае компиляции всех компонентов из исходного кода требуется еще как минимум 1 Гбайт. Убедитесь в том, что у вас есть, по меньшей мере, несколько гигабайт свободного пространства в разделе /us r прежде чем пытаться скомпилировать KDE с нуля. Также по завершении процесса компиляции не забудьте ввести к манду make с , эта коман да удалит весь исходный код и все скомпилированные объекты, которые после установки KDE уже больше не нужны. Вы можете не устанавливать полный комплект kde3, а установить только пакет kde lite, если для работы вам нужна только среда KDE, но не все ее занимающие массу пространства компонентные приложения. Когда все эти шаги выполнятся, KDE будет установлена на вашем компьютере, вам останется только сконфигурировать XII так, чтобы она использовал не оконный диспетчер TWM, что она делает по умолчанию, а графическую оболочку KDE Легче всего это будет сделать, настроив FreeBSD так, чтобы она использовала испетчер KDM, а не просто отображала обычное текстовое приглашение зарегистрир ваться. Включение диспетчера регистрации КОМ Откройте конфигурационный файл терминала etc tys в т ст вом р ак оре наподобие ее: # ее /etc/ttys При помощи клавиш с изображениями стрелок опуститесь до строки начинаю щейся со слова ttyv8; нажмите клавишу <Enter>, чтобы создать под ней нов>ю пу стую строку и введите следующий текст, чтобы активизировать графический диспет чер KDM (KDE Display Manager — диспетчер дисплея KDE): ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/XHR6/bin/xdm -nodaemon" xterm off secure ttyv9 " /usr/local/bin/kdm -nodaemon" xterm on se ure # Serial terminals
Работа с системой X Window System I TTZ I Глава 5 I I Затем нажмите клавишу <Escape> и <Enter>, после чего нажмите клавишу <Enter> снова, чтобы сохранить изменения и выйти из программы (то есть из текстового редактора). И, наконец, перезагрузите компьютер с помощью команды shutdown -r now. После перезагрузки на экране должно появится не обычное текстовое приглашение зарегистрироваться в системе, а графический экран регистрации, подобный показанному на рис. 5.4. Wei oroer to I reiBSl) ах s'mt a Ушло. шит -iniroirf^ ь J Рис. 5А. Экран регистрации, отображаемый диспетчером KDE и позволяющий пользователю работать в графическом режиме от запуска до завершения работы системы Введите свое имя пользователя в поле Username (Имя пользователя) (или выберите свое имя в списке пользователей, который отображается в левой части экрана), далее в поле Password (Пароль) введите свой пароль и щелкните на кнопке ОК (или просто нажмите клавишу <Enter>), чтобы начать свой первый сеанс работы в KDE. НА ЗАМЕТКУ KDM не позволяет входить в систему от лица пользователя root; вы должны применять учетную запись обычного пользователя Это мера предосторожности системы безопасности, которая также не позволяет настраивать FreeBSD так, чтобы она автоматически загружалась через учетную запись какого-нибудь пользователя: каждый пользователь при входе в систему FreeBSD всегда обязательно должен предоставлять свое имя пользователя и пароль. НА ЗАМЕТКУ GNOME устанавливается практически точно так же, как и KDE, за исключением некоторых небольших деталей. Установить GNOME можно либо при помощи коллекции пакетов (отыскав в ней в разделе xii пакет gnome2), либо при помощи коллекции портов (отыскав порт /usr/port / xll/gnome2) GNOME не является интерактивным портом и имеет гораздо меньше компонентов, чем КОЕ, поэтому на компиляцию GNOME уходит гораздо меньше времени и для ее установки ребуется гораздо меньше дискового прос ранства.
FreeBSD как настольная система Чтобы активизировать GDM (графический диспетчер, аналогичный диспетчеру KDM), нужно отредактировать не файл /etc/ttys, а файл /etc/rc.conf, который является главным конфигурационным файлом системы и будет более подробно описываться в главе 14. Прокрутите этот файл до конца вниз и добавьте следующую строку: gdm_enable="YES" Сохраните изменения в файле. Если вы раньше активизировали диспетчер КОМ, снова отредактируйте файл /etc/ttys, чтобы отключить этот диспетчер, закомментировав в нем строку ttyv9 (то есть поместив в начале этой строки знак решетки (#)). Затем перезагрузите компьютер. После перезагрузки на экране появится экран регистрации GDM. Среда KDE Когда вы успешно зарегистрируетесь в KDE в первый раз, вас поприветствует состоящий из пяти экранов "мастер", позволяющий настроить KDE в соответствии с имеющимися у вас как у пользователя предпочтениями. На этих экранах вам будет предложено указать вашу страну и язык, выбрать желаемый тип поведения (то есть указать, как себя должны вести окна в KDE — как в Windows, как в Mac OS X, как в классической системе UNIX или в стиле самой KDE) и выбрать "тему", то есть стиль оформления отображаемых в KDE элементов управления. Мастер будет предоставлять вам все необходимые предварительные описания каждого из предлагаемых им поведений и стилей для того, чтобы вы могли себе четко представить, чего именно вы хотите, прежде чем сделать свой выбор; не волнуйтесь, если что, вы всегда сможете изменить выбранные здесь настройки с помощью такой программы KDE, как Control Center (Центр управления), которая доступна в меню К. Когда вы пройдете все этапы мастера, на экране появится заставка и панель индикации, отображающая стадии процесса загрузки; при первом запуске KDE этот процесс обычно занимает больше времени, чем при всех последующих сеансах. Следите за сообщениями об ошибках, которые могут появиться в виде диалоговых окон; обычно они информируют о наличии проблем с оборудованием, например, о том, что не удается запустить аудиосистему, и чаще всего их можно спокойно пропустить. Через несколько мгновений вы окажетесь на рабочем столе KDE, который показан на рис. 5.5. Каждый, кто хоть когда-либо имел дело с Windows, должен сразу же почувствовать себя "уютнее" в KDE, чем в любой другой настольной среде из числа доступных для UNIX. Интерфейс KDE оформлен так, что он очень сильно напоминает рабочий стол Windows: здесь есть и эквивалент меню Start (Пуск) в левом нижнем углу, и панель задач внизу, и регулируемая панель для быстрого запуска наиболее часто используемых приложений, и подобные применяемым в Windows элементы управления окнами, и даже Web-браузер и диспетчер файлов "в одном лице", который называется Konqueror. (На самом деле, как вы очень скоро заметите, имена практически всех компонентов KDE начинаются с буквы "К". Скорее всего, эта буква была выбрана из- за того, что в алфавите она находится перед буквой "С, присутствующей в названии операционной системы Linux.) Пиктограммы на рабочем столе KDE расположены точно так же, как пиктограммы в Windows XP, и даже выглядят почто точно так же. На самом деле, у KDE есть целый ряд функциональных возможностей, которых у Windows нет.
Работа с системой X Window System Глава 5 149 Пиктограммы рабочего стола Location Ec№ Vflew So Bookmarks Iools Settings Mflnckjw tlelp q ao о „> О Location: S /home/btman/Desktop ?>Home Folder ft* A Honrre, You can hide mixer devices In KMIx by clicking on 'Hide" in the context menu that appears when you click with me right mouse button on one of the sliders, Contributed by Stefan ScMmanski чг-*СК System, 1 trash. К Show tips on startup jgrevrousj [Jext \\ ?. е | t т Меню К j-^lg * В 2 4 Useful Tip* - KTJp Ш У $'53' Панель быстрого запуска приложений Переключатель I Область уведомлений рабочего стола Работающие на текущий момент приложения Рис. 5.5. Рабочий стол КОЕ в своей конфигурации по умолчанию с открытым окном браузера Konqueror, в котором отображаются локальные файлы, и окном с советом Например, в KDE при наведении курсора мыши на ту или иную пиктограмму в панели быстрого запуска появляется анимированное всплывающее окно с описанием этой пиктограммы и выполняемых ею действий; при наведении курсора мыши на какую-нибудь пиктограмму на рабочем столе или в окне браузера файлов появляется окно, содержащее множество полезной информации о данном файле (вроде даты, когда этот файл изменялся в последний раз, имени его владельца, строки разрешений, свойственных такому типу файлов метаданных и даже отображаемого для предварительно просмотра эскиза этого файла). При запуске приложения рядом с курсором мыши появляется "подвижная" версия пиктограммы этого приложения, что в принципе чем-то напоминает как анимированные курсоры в Windows, так и подвижные пиктограммы в панели Dock в Mac OS. Любую из этих функциональных возможностей, кстати, можно отключить, если она мешает. НА ЗАМЕТКУ Одним из преимуществ, которое предоставляет и КОЕ, и GNOME, и которого явно нет ни у Windows, ни у Mac OS X, является то, что после регистрации пользователя KDE (и GNOME) пытается восстановить сеанс (окна, которые были открыты, приложения, которые работали, и файлы, которые отображались) до состояния на момент, когда пользователь в последний раз выходил из него.
150 FreeBSD как настольная система Часть II Нельзя сказать, что тем, кто пользовался Windows, в KDE все будет понятно: все равно между KDE и Windows существует целый ряд отличий, которые запросто могут сбивать с толку, и хотя просто изучив меню, можно о многом догадаться, существуют некоторые основные моменты, о которых просто следует знать. Работа с файлами и папками Эквивалентом проводника Windows в KDE является браузер Konqueror; как и Microsoft Internet Explorer, он представляет собой одновременно и Web-браузер, и механизм для навигации по файловой системе. Если вы на рабочем столе щелкнете (один раз) либо на пиктограмме Ноте (Домашний каталог), либо на пиктограмме System (Системный каталог), откроется окно Konqueror, в котором будет отображаться содержимое выбранного вами элемента, то есть если вы щелкнете на пиктограмме Ноте (Домашний каталог), в нем б^удет отображаться содержимое вашего домашнего каталога (в моем случае — это будет содержимое каталога /home/btman), а если вы щелкнете на пиктограмме System (Системный каталога), в нем б)дет отображаться содержимое корневого каталога файловой системы (то есть каталога /). В контексте KDE к каталогам следует относиться как к "папкам" (именно так они и называются в других настольных операционных системах); у каждого из них есть имеющий вид папки значок, на котором можно дважды щелкнуть кнопкой мыши, чтобы перейти на следующий уровень файловой системы. Некоторые папки имеют специальные значки, такие как папка Ноте (Домашний каталог) и папка Desktop (Рабочий стол) (в этой папке содержатся все элементы, которые отображаются на рабочем столе). В этом плане KDE очень похожа на Mac OS X. Konqueror поддерживает три режима навигации, переключиться на которые можно с помощью соответствующих пиктограмм в панели задач окна навигации: • Режим Icon (Значки). В этом режиме файлы и папки отображаются в виде значков и их можно как угодно перемещать и сортировать по имени, дате и другим критериям. • Режим Tree (Дерево). В этом режиме папки отображаются в ви е 'древовид ной" иерархии, подобной той, что отображается в Windows, где их можно разворачивать и просматривать их содержимое • Режим PhotobOOk (Фотоальбом). В этом режиме файлы отображаются справа в виде расположенного вертикально столбца; при щелчке на файле посередине окна появляется эскиз этого файла, который можно увеличивать в масштабе до бесконечности, а также прокручивать назад и вперед с помощью специальных пиктограмм, которые в этом режиме появляются в панели инструментов. СОВЕТ В меню VJew=>View Mode (Вид^Режим просмотра) доступно еще несколько полезных режимов просмотра, среди которых режим MultiColumn (Таблица) (похожий на режим Column (Таблица) в Mac OS X) и режим Info List View (Список) (в котором отображаются такие полезные детали, как количество строк и символов в текстовом файле). Испробуйте все эти режимы, чтобы понять, какой из них вам больше подходит в той или иной части системы. Щелкните правой кнопкой мыши в области рабочего стола или на свободном месте внутри окна папки: появится контекстное меню, очень похожее на аналогичное
Работа с системой X Window System Глава 5 151 меню в Windows (рис, 5.6) и позволяющее создавать новые папки, текстовые файлы, HTML-документы, а также документы, ассоциируемые с любыми другими приложениями, ссылками и прочими элементами KDE. В левой части окна Konqueror расположена небольшая вертикальная панель с ярлыками; она называется SideBar (Боковая панель) и содержит такие пиктограммы, как Bookmarks (Закладки), History (Журнал), Home Folder (Домашний каталог), Root Folder (Корневой каталог) и Services (Службы). Эти пиктограммы позволяют пользователю быстро попадать в наиболее часто необходимые места, а также просматривать журнал предыдущих посещений, чтобы он мог вспомнить, какие страницы он уже просматривали. В эту панель (как и в панель Finder Sidebar в Mac OS X) можно добавлять папки. Для этого нужно просто щелкнуть правой кнопкой мыши в панели SideBar (Боковая панель) и затем в появившемся контекстном меню выбрать элемент, который требуется добавить: Folder (Папку), Bookmarks (Закладки) или Web SideBar Module (Web-модуль боковой панели); последний элемент позволит загружать в левой части окна браузера Konqueror Web-страницы. После того, как новый элемент будет создан, на нем можно будет щелкнуть правой кнопкой мыши и изменить его имя, значок и URL-адрес. Location ?dit ^ew Go gookrnarks loots Settings Jfiflnctow Help E» Location: | Xmome/btma^ri/Desktop ,f^ Home Folaer •4J« "" fegGNUstep [ У Defaults i ^Library | gs Icons •gSBackgrourj -fcSCachedPiv! •eilconSets •fcSPIxmaps •^Sounds fc^SoundSetsj te9 Styles ^Themes A, •eWPrefs 0 0 13 Vacation «Ли v wm.tlff trash. __ _ desktop Create New 9 UP О Back Open With... j# Cervfsfa Prevtew In J Actions J Eroperttes Alt+Up Alt+Uft r# 4 Items - 2 Files (97.2ГХН ТоГйТГ- 2 ГоТОГГ* Рис. 5.6. Окно браузера файлов Konqueror, в котором отображается папка (в режиме 1С0П (Значки)), и появляющееся по щелчку правой кнопкой мыши контекстное меню Просмотр файлов, которые находятся на удаленных томах У KDE имеется встроенная программа-браузер для просмотра удаленных томов, с помощью которой можно подключаться к совместно используемым ресурсам в сети, будь то хоть WebDAV-серверы, FTP-серверы, совместно используемые каталоги Windows или SSH-соединения. Откройте меню К и в разделе Internet (Интернет) выберите пункт KNetAttach (Network Foider Wizard) (KNetAttach (Мастер сетевых папок)). На рис. 5.7 показан первый экран этого мастера.
152 FreeBSD как настольная система Часть II Add Network Folder 'saaaai Select the type of network folder you wish to connect to and press the Next button. О WebFolder (webdav) О Microsoft® Windows® network drive О Secure shell (ssh) о I— L»ipJ Next > | |~?ancel Puc. 5.7. Программа Network Folder Wizard (Мастер сетевых папок), позволяющая получать доступ к часто используемым удаленным томам Выберите тип удаленного тома, к которому вы хотите подключиться, и щелкните на кнопке Next (Далее); введите необходимую аутентификационную информацию, когда появится соответствующее приглашение. Когда вы подключитесь, вам будет предложено сохранить параметры соединения; если вы это сделаете, тогда, когда вы в следующий раз запустите мастер сетевых папок (Network Folder Wizard), вы сможете выбрать это соединение в меню Recent Connection (Последнее соединение). Используя мастер Network Folder Wizard, вы, пожалуй, впервые увидите, как работает поставляемая с KDE программа Wallet (Футляр). Программа Wallet представ ляет собой механизм для запоминания и хранения паролей и похожа на программу Keychain, которая используется в Mac OS X. Каждый раз, когда вы будете подключаться к защищенному паролем ресурсу (такому как удаленная папка или защищенный Web-сайт), KDE будет предлагать вам сохранить пароль, который вы вводите, и сохраняться этот пароль будет как раз в программе Wallet. Когда вы впервые решите сохранить какой-нибудь пароль, KDE предложит вам ввести пароль для защиты самой программы Wallet. После того, как вы сделаете это, Wallet будет автоматически запускаться, когда вы будете входить в KDE, и автоматически предоставлять пароли всем запрашивающим их защищенным службам. ВНИМАНИЕ! Хотя программа Wallet и защищена вашим паролем, не позволяющим никому другому получать к ней доступ, когда она заблокирована, после входа в KDE она автоматически деблокируется; это означает, что если компьютер находится в совместно используемой среде, кто-то другой запросто может присесть у вашего оставленного без присмотра компьютера с запущенным сеансом KDE и получить доступ к хранящимся в Wallet паролям. При наличии подозрений в том, что кто-тЬ другой может пользоваться вашим компьютером без вашего ведома, лучше не сохраняйте пароли в Wallet, а просто запоминайте их.
Работа с системой X Window System 1 ТТГ 1 Глава 5 I 1 Переход в другую рабочую область Посередине панели задач, которая отображается в нижней части экрана, находится элемент, состоящий из четырех пронумерованных соответствующим образом кнопок. Он называется Desktop Switcher (Переключатель рабочего стола), доступен практически во всех оконных диспетчерах XI1 и позволяет работать с виртуальным . рабочим столом в несколько раз большего, чем у экрана размера (в случае KDE большего в целых четыре раза). Все окна, которые вы открываете, автоматически отображаются в главной рабочей области, которая полностью соответствует размерам вашего экрана; но если окон становится так много, что они начинают загромождать экран, не спешите закрывать их: попробуйте перейти в другую рабочую область. Просто щелкните на одной из трех остальных кнопок в элементе Desktop Switcher, и перед вашими глазами появится новый, чистый рабочий стол, не загроможденный никакими окнами. Новые окна, которые вы будете открывать в другой, не главной, рабочей области, будут оставаться в этой области; окна из всех остальных рабочих областей в них будут отображаться только в виде контуров, показывающих, где именно находится то или иное окно, хотя его и не видно. Вы также можете сделать следующее: щелкнуть правой кнопкой мыши на строке заголовка какого-нибудь окна, в появившемся контекстном меню выбрать пункт То Desktop (На рабочий стол) и отправить это окно в какую-нибудь другую рабочую область. Изменение внешнего вида и поведения KDE Как и любой хороший оконный диспетчер XII, KDE имеет практически бесконечное количество опций, позволяющих настраивать рабочий стол и делать его абсолютно уникальным. В KDE доступно далеко не пять или шесть тем, которые предлагаются мастером, когда KDE запускается впервые, а огромное множество полностью готовых тем и состоящих из нескольких частей опций для настройки внешнего вида, которые вы можете использовать как по отдельности, так и вместе, подбирая именно то, что вам нравится. Откройте меню К и выберите в нем пункт Control Center (Центр управления): появится окно размером с экран, как показано на рис. 5.8. Разверните узел Appearance & Themes (Оформление и темы). Здесь доступны различные разделы, позволяющие настраивать внешний вид элементов интерфейса &DE — начиная с раздела Background (Фон) (в котором можно добавить и установить в качестве фона рабочего стола любой рисунок) и заканчивая такими разделами, как Theme Manager (Диспетчер тем) и Window Decorations (Оформление окон). Вы можете потратить несколько часов, работая с этими разделами, прежде чем, наконец, остановитесь на каком-нибудь одном варианте, который будет отвечать именно вашим личным вкусам. Когда вы закончите настраивать внешний вид KDE, не поленитесь и просмотрите остальные разделы, доступные в этом окне. Приложение Control Center (Центр управления) предоставляет доступ ко всем тем же аспектам поведения системы, что и приложение Control Panel (Панель управления) в Windows, и даже больше. Используя предлагаемые здесь средства, вы можете конфигурировать сетевые параметры и работать с учетными записями пользователей прямо из KDE. В остальной части этой книги, в которой больше внимания уделяется удаленным средствам для администрирования системы, нежели средствам, доступным в графическом сеансе
154 FreeBSD как настольная система Часть II консоли, такие вопросы будут рассматриваться только с точки зрения редактирования необходимых текстовых файлов и выполнения команд из оболочки; но если вы предпочтете использовать для выполнения этих задач KDE, знайте, что практически все наиболее распространенные процедуры администрирования системы достаточно хорошо описываются в окне KDE Control Center (Центр управления). gji'j."Щ "УУ+ЧРГЦЦ MWIVw^rb* ¦ШЬДЦ-^ I Oie tfew Settings Help | «5 index | Search | *HeJp I ] I I * II I I + 4r j Appearance & Themes 1 Щ Background - Colors - ЧГ Fonts 4fc Icons -jf Launch Feedback ~tt Screen Saver Splash Screen Ш. Style - У Theme Manager | 1^мУП1 IT! СТ1Г1НИ » Desktop 1 -,> Behavior -J> Multiple Desktops - Panels -Щ Taskbar Window Behavior - Window Specific Settings t Internet & Network k KDE ComDonents ll ¦ ^ Perfphei als I ¦ Ф Regional & Accessibility I ¦ л Security & Pi Ivacy 1 * « Sound & Multimedia Si f % System Administration j Window Decorations Window Decoration | Buttons | Keramik Decoration Options — — Bfirder size: Normal » К Dispjay the window Icon in the capt n bubb П Draw small caption bubbles on active windows В Draw grab bars below windows St Use shadowed text I Keramik preview defaults """^ЩШЯ 1 7 to* x ( Apply Be et Рис. 5.8. Поставляемая с KDE программа Control Center (Центр управления), в которой выполняются все операции по настройке внешнего вида и поведения KDE Приложения КОЕ Главным предметом гордости KDE, помимо схожести по внешнему виду и поведе нию с настольными системами, является огромное количество компонентных приложений, которые устанавливаются вместе с этой средой. Просто загляните в подменю главного меню К и вы увидите, насколько много приложений доступно в каждой категории — десятки, и многие из них являются, с функциональной точки зрения, абсолютно эквивалентными настольным приложениям, которые в мире коммерческого ПО стоят сотни долларов, или, по крайней мере, пытаются выполнять все те же требования. НА ЗАМЕТКУ Следует отметить, что встроенные приложения KDE также обычно оставляют желать лучшего в плане качества взаимодействия с конечным пользователем и наборов полезных опций. К счастью, сторонники ПО с открытым кодом взялись решить эту проблему и уже создали улучшенные альтернативные приложения для практически каждой категории. Подробнее об этих приложения будет рассказываться в главе 6.
Работа с системой X Window System Глава 5 155 Для о о чт бы опи ать подробно все приложения, которые входят в состав KDE, понадоби ся о дел ная книга Поскольку в этой главе была поставлена цель рассмо треть только основные концепции, необходимые для того, чтобы работать в системе XII, а прои водственные и развлекательные приложения будут описываться в главе б, мы сеич с перечислим только несколько самых важных приложений KDE, которыми вы скорее все о, б дете пользоваться часто: • Konqueror. Это не просто браузер файлов, но также и достаточно мощный Web браузер со всеми ультрамодными функциональными возможностями, которые только могут б ть необходимы пользователям Internet на сегодняшний день. П льзовател м Mac OS X будет интересно узнать, что Konqueror разрабатывался на основ того же механизма визуализации HTML — "КНТМЕ' — который Apple испо /ьзовала для своего браузера Safari. • КО/ гее. Пакет офисных приложений, который по своим возможностям похож на пакет Microsoft Works (и, до определенной степени, на пакет Microsoft Of ice). Входящие в пакет KOffice приложения (наподобие KWord, KSpread, KPresenter, Kivio и Krita), хоть и не могут работать с аналогичными приложениями Microsoft Office, Excel, Power Point и тому подобными, дают пользовате лю возможность создавать профессиональные документы, справляясь с этой задачей ничуть не хуже своих коммерческих аналогов. (Пользователи с высокими тре ованиями, скорее всего, захотят установить более мощный пакет офисных пр л жени и, т кои как пакет OpenOffice.org, который будет описан в главе 6.) • KFd't Замечательный, богатый функциональными возможностями текстовый реда TOjb Реда тировать конфигурационные файлы может оказаться намного легче в КЕ it, чем в редакторах командной строки, в которых для навигации и ввода данных можно пользоваться только клавиатурой. • КМ I По о унк щонал ное, основ иное на HTML почтовое приложение, по- д i e О ok и Appl Mail, имеюще все необходимые в наше время функции дл филь ации пама и организации содержимого. • иа П ет пр гр мм для W b разработки, оснащенный средствами редактирования m gemap и режимом WYSIWYG. • KDev lo . Полнофункциональная интегрированная среда разработки (Integrated De elopment En ironment IDE) для С C++. (Однако доступен и более усовер- шенсг вованн и в этом плане продукт, называемый Eclipse.) И э о тольк " е шка айсберга"; в меню каждого из приложений KDE еще доступно очень много других программ, среди которых и программы игрового и раз- влекате 1ьного характера, несомненно, являющиеся самым главным компонентом любой н стольной среды из-за ко орого ее в принципе и стоит устанавливать. Завершен е сеанса КОЕ Заканчивая работать в KDE, не забывайте завершать свои сеанс: вы можете сконфигурировать KDE так, чтобы она блокировала экран при помощи заставки с приглашением ввести пароль, защищая вашу личную информацию, но если компьютером польз ются и дру ие люди, вы точно захотите, чтобы они могли входить в систему, ко а ва н т рядом Выберите в меню К пункт Logout (Выход из системы) и затем вы* б и е л бо Е d Cu rent Session (Завершить текущий сеанс), либо Turn Off Computer клю иль komi ьют р), либо Restart Computer (Перезагрузить компьютер).
FreeBSD как настольная система Работа с оконными диспетчерами Предположим, вы не хотите нагружать свой компьютер "чудищем" вроде KDE (немного громко сказано, но все может быть). Предположим, вместо этого вы хотите, чтобы ваш "настольный интерфейс" в FreeBSD был минимальным, то есть использовал насколько возможно минимальное количество ресурсов компьютера, но при этом давал вам возможность работать с современными графическими приложениями так же легко, как и в Windows. Раньше и KDE, и GNOME были обычными оконными диспетчерами. Эти программы, облегченные настолько, насколько это возможно (дабы избежать лишней нагрузки на маломощные клиенты в кластерах, где они запускались), служили одной единственной цели: позволять пользователям перемещать окна во время сеанса XII. В то время в оконных диспетчерах не было ни систем меню, ни изощренных диспетчеров оформления (тем), ни экранных заставок, ни, конечно же, офисных приложений и браузеров файлов. Пользователи не могли отображать и просматривать файлы в виде значков, даже если хотели, так же как, естественно, они не могли передвигать их по рабочему столу. Рабочий стол представлял собой не более чем просто пространство для окон. Краткое знакомство с TWM должно было уже вам позволить понять, какими были "настольные возможности" в мире UNIX в то время, когда появилась XII. Однако времена изменились. KDE и GNOME показали, что создание полнофункциональной пользовательской среды вроде той, что применяется в Windows, вовсе не является невыполнимой задачей. Теперь, когда это оказалось так, традиционные оконные диспетчеры оставили в покое: больше от них никто не требует, чтобы они предоставляли такие же функциональные возможности, как и коммерческие операционные системы. Поэтому сейчас они могут спокойно сфокусироваться на том, что они делают лучше всего, то есть на обеспечении максимальной гибкости в плане возт можностей настройки с минимальным потреблением ресурсов и минимальным количеством навязываемых возможностей. Как вы видели в начале главы, оконные диспетчеры берут существующие окна и украшают их своими собственными элементами. За управление окнами отвечает такой компонент XI1, как X Server; оконные диспетчеры дают окнам возможность передвигаться и взаимодействовать, в то время как XI1 выполняет серверные задачи, необходимые для прорисовки их содержимого. Поскольку -X Server и оконный диспетчер работают как независимые процессы, оконный диспетчер можно запросто поменять на другой, просто завершив работу предыдущего диспетчера и запу стив новый прямо во время одного и того же сеанса XII. Установка оконных диспетчеров Наиболее популярными сегодня среди десятков доступных являются следующие оконные диспетчеры: • TWM. Представитель "старой школы"; минимальный на вид, быстрый в исполнении и чрезвычайно экономный в плане потребления ресурсов. Используете^ в FreeBSD в качестве оконного диспетчера по умолчанию до тех пор, пока щ будет заменен каким-нибудь другим оконным диспетчером.
Работа с системой X Window System I 7TZ I Глава 5 I I • Window Maker. Клон NeXTSTEP; предлагает возможности, аналогичные таким возможностям NeXT, как панель Dock (Стыковка) и утилита Preferences (Настройки). • FVWM. Удобный для глаз оконный диспетчер, поддерживающий отображение полупрозрачных миниатюр и сглаживание цветов. • Blackbox. Минимальный на вид интерфейс, который, тем не менее, выглядит очень приятно с эстетической точки зрения и является исключительно гибким в плане настройки. И еще один плюс: он разрабатывался для FreeBSD. Каждый из этих оконных диспетчеров, как и десятки других, можно установить из коллекции пакетов, где оконные диспетчеры доступны в разделе xll-wm, или из коллекции портов, где оконные диспетчеры доступны в разделе /usr/ports/xll-wm. Чтобы понять, что собой представляет тот или иной оконный диспетчер и что он может, посетите посвященный ему Web-сайт; у каждого оконного диспетчера имеется посвященный ему Web-сайт, который указан в файле pkg-descr, хранящемся в соответствующем этому оконному диспетчеру каталоге порта. На домашнем Web- сайте практически каждого оконного диспетчера имеется галерея снимков экрана и перечень функциональных возможностей, а также информация о том, какая цель преследовалась при разработке данного оконного диспетчера, то есть, разрабатывался ли он как оконный диспетчер, который должен использовать минимальное количество ресурсов памяти, или же как диспетчер, который должен эмулировать операционную систему Amiga, либо как оконный диспетчер, который должен стать самой гибкой в плане возможностей настройки настольной средой за всю историю. Многие оконные диспетчеры являются достаточно небольшими и все они, конечно, доступны бесплатно вместе с исходным кодом, поэтому вам будет совсем нетрудно установить сразу несколько из них и за один присест попробовать, как они все работают, дабы понять, какой из них вам подходит больше всего. СОВЕТ На Web-сайте "Window Managers for Xй ("Оконные диспетчеры для системы X"), который находится по адресу http://www.xwinman.org, можно найти снимки экрана и сравнительные характеристики практически всех наиболее популярных оконных диспетчеров для Х11 из тех, что доступны на сегодняшний день. Выбор оконного диспетчера, который должен использоваться по умолчанию Когда используется обычный оконный диспетчер, диспетчер регистрации типа KDM или GDM, который запускается во время загрузки системы и отображает свое собственное окно регистрации, обычно не доступен. Вместо этого каждый пользователь запускает сеанс XII путем ввода в командной строке команды startx. Эта команда считывает находящийся в домашнем каталоге пользователя файл .xinitr. Ав этом файле как раз и содержится команда, которая отвечает за запуск оконного диспетчера. То есть вам нужно просто создать такой файл, если он еще не существует, и добавить в него соответствующую команду. Если вы уже определились с тем, какой оконный диспетчер хотите использовать, сделать так, чтобы именно он всегда запускался после ввода команды startx, вы мо-
FreeBSD как настольная система жете, указав его имя в файле .xinitr при помощи какого-нибудь текстового редактора, например, такого, как текстовый редактор ее. Для этого введите команду ее .xinitrс и затем добавьте следующую строку, например, если хотите, чтобы в качестве вашего оконного диспетчера всегда вызывался диспетчер FVWM: exec fvwm Сохраните файл. С этого момента, когда вы будете вводить startx, ваш сеанс XII будет запускаться с оконным диспетчером FVMW. Просто измените содержимое этого файла, если захотите использовать какой-нибудь другой оконный диспетчер. НА ЗАМЕТКУ В случае KDE и GNOME имена команд, которые вы должны вызывать, если хотите, чтобы КОЕ и GNOME запускались после ввода команды startx, а не после запуска KDM или GDM, выглядят не совсем обычно, а все из-за более сложной природы этих настольных сред. То есть для KDE вы должны поместить в файл .xinitrc следующую команду: exec startkde А для GNOME — такую команду: /usr/XHR6/bin/gnome-session Файл .xinitrc является сценарием оболочки. Вы можете воспользоваться этим фактом и сделать так, чтобы при запуске XII выполнялась целая среда сеанса (подробнее об этом будет рассказываться в главе 7). Оконный диспетчер Window Maker Чтобы продемонстрировать некоторые функциональные возможности, являющиеся типичными для большинства простых оконных диспетчеров, мы сейчас рассмотрим такую программу, как Windows Maker, которая считается наиболее популярным оконным диспетчером среди опытных пользователей, предпочитающих избегать всяких излишних функциональных возможностей (и, следовательно, предполагаемой ими нагрузки на процессор и ресурсы памяти), которые поставляются со средами вроде KDE и GNOME. Window Maker по своему внешнему виду и поведению напоминает ныне уже не используемую настольную среду операционной системы NeXTSTEP, которую многие называют одной из самых прогрессивных и функциональных настольных сред из всех когда-либо создаваемых и которая уже много лет спустя после своего расцвета легла в основу операционной системы Mac OS X. Многие функциональные возможности, которые сегодня считаются возможностями Мае, вроде панели Dock (Стыковка), первоначально появились в NeXTSTEP и поэтому присутствую/г и в Windows Maker. На рис. 5.9 показан рабочий стол Window Maker. Ниже перечислены основные функциональные возможности рабочего стола Window Maker. • Ряд кнопок в правой части рабочего стола называется панелью Dock (Стыковка). Если вам доводилось работать с Mac OS X, панель Dock (Стыковка) должна быть вам уже знакома, хотя может и показаться более примитивной по срав нению с ее современной версией в стиле Apple. Хотя размещать произвольно пиктограммы на рабочем столе, как это можно делать в Windows и KDE, в
Работа с системой X Window System Глава 5 159 Window Maker нельзя, зато в нем можно добавлять в панель Dock квадратные кнопки для запуска наиболее часто используемых приложений. Главным преимуществом этих добавляемых в панель Dock кнопок по сравнению с произвольно перемещающимися пиктограммами является то, что они никогда ничем не перекрываются, даже разворачиваемыми окнами. То есть кнопки быстрого запуска приложений всегда остаются доступными. Помимо кнопок быстрого запуска приложений в панели Dock (Стыковка) также могут размещаться так называемые "мини-программы", например, такие как показанная на рис. 5.9 программа типа "часы/календарь". Узнать больше о панели Dock (Стыковка) вы сможете в разделе "Работа с панелью Dock" далее в этой главе. Элемент Clip (Быстрое переключение) -L Меню Applications (Приложения) Меню Windows (Окна) „О, и Шеи f Панель Dock (Стыковка) l.-ar 1 jLL^t, Работающие на текущий момент приложения Рис, 5,9, Рабочий стол Window Maker не является полнофункциональной пользовательской средой как KDE, но все-таки имеет много эффективных функциональных возможностей для работы с приложениями XII Пиктограммы, представляющие функционирующие на текущий момент приложения, в принципе работают так же, как и пиктограммы в панели задач Windows. Например, двойной щелчок на той или иной из них позволяет восстановить свернутое окно. Меню Applications (Приложения) похоже на меню Start (Пуск) в Windows. Получить доступ к этому меню можно, щелкнув правой кнопкой мыши на любой пустой области рабочего стола.
FreeBSD как настольная система • Меню Windows (Окна) представляет собой перечень открытых на текущий момент окон. Щелчок на элементе в этом меню приведет к тому, что соответствующее ему окно будет перенесено на передний план, а также станет активным. Получить доступ к этому меню можно, щелкнув средней кнопкой мыши на пустой области рабочего стола. (Те, у кого двухкнопочная мышь, смогут получить доступ к меню Windows (Окна) нажав одновременно левую и правую кнопку мыши.) • Кнопка Clip (Быстрое переключение) в Window Maker позволяет переходить с одного виртуального рабочего стола на другой (то есть из одной рабочей области в другую); на всех этих рабочих столах могут отображаться свои окна и приложения. Чтобы перейти на следующий или предыдущий рабочий стол, нужно просто щелкнуть на соответствующей стрелке, которая изображена этой кнопке. Работа с окнами Window Maker, как и любой другой оконный диспетчер, имеет свою собственную парадигму в отношении кнопок управления окнами. Все необходимые элементы управления имеются; нужно просто знать, что какой из них делает. К счастью, пиктограммы элементов управления обычно являются достаточно понятными и пиктограммы в Window Maker — не исключение. Операции перемещения и изменения размеров окна выполняются в Window Maker практически тем же образом, что и Windows или Mac OS: чтобы передвинуть окно, нужно щелкнуть и перетащить строку заголовка этого окна, а чтобы изменить размеры окна, нужно щелкнуть и перетащить границы этого окна. Щелчок на пиктограмме в левом конце строки заголовка окна приводит к сворачиванию этого окна до пиктограммы, отображаемой в нижней части экрана. (Двойной щелчок на этой пиктограмме позволит, соответственно, восстановить окно.) Щелчок на пиктограмме с изображением крестика (х) в правом конце строки заголовка приводит к закрытию окна. А двойной щелчок на самой строке заголовка сворачивает окно по направлению вверх так, что отображаться остается только одна строка заголовка (этот эффект получил название WindowShade). Восстановить свернутое подобным образом окно можно, снова дважды щелкнув на строке заголовка. При необходимости развернуть окно или выполнить какие-то другие связанные с окном операции, можно щелкнуть на строке заголовка правой кнопкой мыши и получить доступ к целому специальному меню опций. СОВЕТ Обратите внимание на опции Close (Закрыть) и Kill (Завершить работу), доступные в меню, которое появляется после щелчка правой кнопкой мыши на строке заголовка. Чем они отличаются? Опция Close (Закрыть) позволяет просто закрыть окно. Она аналогична щелчку на пиктограмме с изображением крестика (х), которая отображается в правом конце строки заголовка. Опция Kill (Завершить работу), однако, отправляет сигнал kill работающей в этом окне программе. Она может пригодиться для завершения работы ведущего себя неадекватно приложения, которое не реагирует на команду Close (Закрыть). Однако пользоваться командной Kill (Завершить работу) следует только в том случае, если не удается выполнить команду Close (Закрыть). Команда Close (Закрыть) завершает работу приложения постепенно и позволяет ему выполнить все свои обычные задачи перед закрытием (например, спросить пользователя, не желает ли он сохранить
Работа с системой X Window System редактирующиеся файлы). Команда ЮН (Завершить работу) просто немедленно прерывает работу приложения. Это в некоторых случаях заканчивается потерей каких-нибудь данных или не удалением файлов времени выполнения (которые могут привести к появлению ошибок в приложении, если его запустят снова), потому что приложения не могут выполнить свои обычные операции завершения работы, когда их закрывают подобным образом. Именно поэтому командой Kill (Завершить работу) следует пользоваться только в крайнем случае. Меню в Window Maker Как уже упоминалось ранее, получить доступ к меню в Window Maker можно, щелкнув на пустой области рабочего стола. Щелчок правой кнопкой мыши позволяет получить доступ к меню Applications (Приложения), а щелчок средней кнопкой (или одновременное нажатие левой и правой кнопок, если это двухкнопочная мышь) — к меню Windows (Окна). Если вы откроете меню и затем решите, что не хотите выбирать в нем никакие опции, закрыть его вы сможете, щелкнув той же кнопкой мыши опять-таки где-нибудь на пустом месте рабочего стола. Обычно после того, как в меню выбирается какая-нибудь опция, оно исчезает. Однако если вы хотите, чтобы меню осталось на рабочем столе, вы можете щелкнуть левой кнопкой мыши на его строке заголовка. Когда вы это сделаете, в правой части строки заголовка меню появится пиктограмма с изображением крестика (х), позволяющая закрыть это меню, когда в этом возникнет необходимость. Как главные, так и дополнительные (вложенные) меню можно "закреплять** на рабочем столе, для чего нужно просто щелкнуть левой кнопкой мыши на строке заголовка выбранного меню. Работа с панелью Dock Панель Dock (Стыковка) в Window Maker представляет собой обычную панель кнопок и отображается в правой части экрана. Одной из ее главных обязанностей является отображение кнопок, запускающих приложения. Добавить такую кнопку на панель Dock (Стыковка) очень просто. Для любого работающего приложения в левой нижней части экрана будет отображаться соответствующая пиктограмма. Чтобы добавить эту пиктограмму в панель Dock (Стыковка), вы должны, удерживая левую кнопку мыши, перетащить ее под кнопку, которая на текущей момент является самой последней кнопкой в панели Dock (Стыковка). Когда пиктограмма окажется в корректной позиции, вокруг нее появится белая рамка. Отпустите кнопку мыши, и в панели Dock (Стыковка) будет создана новая кнопка. Двойной щелчок на этой кнопке будет приводить к запуску приложения. Если вы позже решите, что эта кнопка вам больше не нужна, просто щелкните на ней левой кнопкой мыши и, удерживая кнопку мыши нажатой, перетащите ее с панели Dock (Стыковка) на пустую область рабочего стола. Затем отпустите кнопку мыши, и кнопка запуска исчезнет. Порядок расположения кнопок в панели Dock (Стыковка) можно менять, просто перетаскивая эти кнопки из одного места в другое. Тем не менее, обратите внимание на то, что перетаскивать кнопки в панели Dock (Стыковка) можно только вверх или вниз. Перетаскивание кнопки запуска влево приведет к удалению этой кнопки с панели. Чтобы изменить свойства какой-нибудь из кнопок в панели Dock (Стыковка), щелкните на ней правой кнопкой мыши и не отпускайте кнопку мыши до тех пор, пока не
FreeBSD как настольная система оявится всплывающее меню. Наведите курсор мыши на пункт Settings (Параметры) этом меню и только затем отпустите кнопку мыши. После этого появится диало- овое окно Docked Application Settings (Параметры приложений, отображаемых в анели "Стыковка"), позволяющее настраивать внешний вид и функции расположен- [ых в панели Dock (Стыковка) кнопок запуска, например, указывать, должно ли абонируемое с той или иной кнопкой приложение запускаться при входе пользователя систему, или должна ли кнопка приложения быть "закреплена" (то есть защищена т удаления путем перетаскивания за пределы панели Dock (Стыковка)). При желании переместить всю панель Dock (Стыковка) целиком, просто щелкни- е левой кнопкой мыши на самой верхней кнопке в этой панели и, удерживая ее, [еретащите панель туда, куда вам нужно: вы можете перетащить ее вверх или вниз в равой части экрана или вообще перетащить ее в левую часть экрана, если вам так олыие нравится. Остановка и использование DockApp-приложений Существует целый ряд приложений, которые специально разрабатывались для ого, чтобы запускаться в панели Dock (Стыковка), среди них: приложение типа часы/календарь" (wmCalClock), диспетчеры сетевого трафика, диспетчеры произ- одительности системы и проигрыватель CD-дисков. На рис. 5.10 показан пример акого приложения. Рис. 5.10. Приложение wmCalClock является примером приложения, которое было специально разработано для того, чтобы запускаться в панели Dock (Стыковка) В коллекции портов доступно достаточно много приложений для панели Dock Стыковка), также для удобства называемых DockApp-приложениями (процедура становки ПО из коллекции портов FreeBSD будет подробно описываться в главе 6). Отдельной категории для таких приложений в этой коллекции, к сожалению, [ет: они разбросаны по разным категориям в соответствии с функциями, которые >ни выполняют, и целями, которым они служат. Однако вы можете посетить специ- льную Web-страницу, на которой все имеющие отношение к Window Maker и, соот* ;етственно, к DockApp-приложениям, порты перечислены в логическом порядке; эта траница доступна по адресу http://www.freebsd.org/ports/windowraaker.html рис. 5.11). СОВЕТ Dockapps.org (http://dockapps.org) — это независимый Web-сайт, отслеживающий DockApp- приложения для Windows Maker. Если вы найдете здесь DockApp-приложение, которое захотите установить, попробуйте отыскать его в коллекции портов своей системы с помощью команды locate. Например, чтобы отыскать приложение wmCalClock, вы можете попробовать ввести такие команды: # locate wmCalClock # locate -i wmcalclock /usr/ports/xll-clocks/wmcalclock Ага, теперь уже видно, что это приложение находится в разделе xll-clocks.
Работа с системой X Window System Глава 5 163 IBB ттт штт ?i*w So fiodtmtjrt» Ioola Jtfndow fciefp I Back Лнош» >? Bookmarks «dfmonlla oro, -/mozitl*2tn« -afmozdtv.org ¦ f* 1J http:/Avww.frtebad,orB/portf/winc^[ jbtamrchj ** w* d Reload $ op > grtFrP*BSP production PPtfiflH ffQ pra^uctfon (UMtVl RdCdtO Snapshot FreeBSD Ports; Window maker Ports to support the WindowMafcer window manager. » Parted Aoehcatmns ' «Bj Xll ftls msnaaer uslnfl WINGS library Dockable In WlndowMakar Long detcnpfaon I Рдскдяе I Sourest I Main Web Sits Mvntammd by: Frltt Hf IPIIthmtVs/taftmuni htwn.df Aeoures•XFrtB« i'ftrtticH.S.O. i>MH.tt,fl,3. fanpranfiB-a.a.M. fi oetftrftO 14. b. р,гпаЦе,3 6fl_2. loep, 6b,J. HbXft 2.1 7- ltbiconv-1 9 2, J.. libunaM.14. okqconfio 0 19. pnq-l,2.B 2. trff-3f7.4,. у J Ate Astern. KU&D К»<гсспЯУ<г,ляР-г,? Л WlndowMsker dockepp to control XScrasnSavor long dgwipttffp I Easbmi 2лиаяя. I Main Web Site. Mmintwnedby homiBsourosirnollcHy nst Reqitns Xf ee|» I brartt -4 & Q. ffg«U tt.Q- fpnt»nfia-2 3,2,1- fr««typ«2-2 l idj ItbdockdpD-O 6 }¦¦ nkotonflg 019 Д/во/гЛе^гл.Щ. »v 4*» ^ ca Лиг. 5.//. Раздел Web-страницы, в котором перечислены различные доступные в виде портов приложения для панели Dock (Стыковка) в Window Maker Если вы найдете на этой Web-странице приложение, которое вас заинтересует, посмотрите, что указано в строке Also listed In (Также доступно в). Например, на рис. 5.11, вверху страницы приводится описание приложения FSViewer. арр-0 . 2 . 5_2. В следующей после этого описания строке Also listed in (Также доступно в) указано, что приложение FSViewer. арр-0.2 .5_2 также доступно в категории Xll-fm. Это значит, что в коллекции портов FreeBSD имеется категория xll-fm и что именно там вы и сможете найти приложение FSViewer. арр-0.2.5_2. DockApp-приложения для Window Maker устанавливаются точно так же как и любые другие приложения (о том, как именно выполняется процедура установки приложений, вы сможете узнать в главе 16). Когда DockApp-приложение уже установлено, запустить его можно, щелкнув правой кнопкой мыши на пустой области рабочего стола и затем в появившемся всплывающем меню Applications (Приложения) выбрав пункт Run (Выполнить). После этого появится диалоговое окно Run (Запуск программы), показанное на рис. 5.12. В диалоговом окне Run (Запуск программы) следует ввести имя приложения, которое требуется запустить, и затем щелкнуть на кнопке ОК. Указанное DockApp- приложение запустится в виде небольшой пиктограммы, которая будет отображаться в нижней части рабочего стола и которую можно будет добавить в панель Dock (Стыковка), если данное приложение планируется запускать регулярно. После того, как вы добавите приложение в панель Dock (Стыковка), вы можете сконфигурировать его так, чтобы оно автоматически запускалось при каждом запуске Window Maker. Чтобы сделать это, сначала отобразите диалоговое окно Docked Application Settings (Параметры приложений панели "Стыковка"), щелкнув правой
164 FreeBSD как настольная система Часть II кнопкой мыши на пиктограмме приложения и выбрав в появившемся меню пункт Settings (Параметры). В этом окне отметьте флажок Start When Window Maker Is Started (Запускать при запуске Window Maker) и затем щелкните на кнопке ОК, чтобы закрыть диалоговое окно. Теперь это DockApp-приложение будет запускаться автоматически каждый раз, когда вы будете запускать Window Maker. Рис. 5.12. Диалоговое окно Run (Запуск программы) по- зваляет запускать приложение путем ввода его имени СОВЕТ У многих DockApp-приложений имеются возможности для настройки, какие именно — зависит от приложения. Часто эти возможности имеют вид опций, передаваемых программе при запуске. Для многих DockApp-приложений будут устанавливаться свои страницы руководства, получить доступ к которым можно будет путем ввода в командной строке консоли команды man и имени интересующего приложения (например: man wmCalClock). Настройка Window Maker Вы можете настроить Window Maker по своему вкусу. Например, вы можете поменять рисунок рабочего стола, изменить цветовую схему и так далее. В следующих разделах мы расскажем, как именно выполняются эти и другие операции настройки в Window Maker. Изменение темы рабочего стола Тема рабочего стола влияет на цветовую схему, а также на фоновый рисунок рабочего стола. Чтобы изменить тему, щелкните правой кнопкой мыши на пустой области рабочего стола и в появившемся всплывающем меню Applications (Приложения) выберите пункт Appearance (Оформление). В меню Appearance (Оформление) выберите пункт Themes (Темы), чтобы отобразить список доступных установленных тем. Чтобы применить какую-нибудь новую тему, просто щелкните на ней в этом списке. Изменение стиля Вы также можете изменить цветовую схему, которая используется для оформления рамок окон, строк заголовков, меню, а также панели Dock (Стыковка). Все это называется "изменением стиля". Итак, чтобы изменить стиль, щелкните правой кнопкой мыши на пустой области рабочего стола и в появившемся всплывающем меню Applications (Приложения) выберите сначала пункт Appearance (Оформление), а затем — пункт Styles (Стили). В Window Maker доступно много различных стилей.
Работа с системой X Window System Глава 5 165 Настройка фона рабочего стола Существует несколько способов настроить фон рабочего стола в Window Maker, а именно: выбрать один из нескольких сплошных цветов, или один из градиентных узоров, или специальный рисунок, который должен использоваться в качестве фона рабочего стола. Если у вас есть рисунок, который вы хотите использовать в качестве фона, вы должны поместить его в следующий каталог в своем домашнем каталоге: GNU step/Libra r у /Window Maker/Backgrounds Поместив рисунок в этот подкаталог, щелкните правой кнопкой мыши на пустой области рабочего стола, чтобы отобразить меню Applications (Приложения). В этом меню выберите последовательно пункты Appearance (Оформление), Background (Фон), чтобы получить доступ к списку возможных фоновых рисунков. Рисунок, который вы добавили в указанный каталог, будет указан в этом списке. (Если вы не знаете, как правильно выполняются операции копирования и перемещения файлов, обратитесь в главу 8.) СОВЕТ Если выбранный вами рисунок слишком мал, чтобы покрывать весь рабочий стол, Window Maker сделает несколько копий этого рисунка и разместит их одну за другой в виде мозаики для того, чтобы заполнить все доступное пространство. Конечно, если в качестве рисунка вы выбрали фотографию, такой режим отображения фонового рисунка вас вряд ли устроит. Чтобы избежать этого, убедитесь в том, что разрешение вашего рисунка совпадает с разрешением рабочего стола. Например, если разрешение рабочего стола составляет 1024x768 пикселей, вы должны сделать так, чтобы у вашего рисунка было такое же разрешение. Изменить размер рисунка можно в любой программе редактирования изображений. Если у вар нет такой программы, вы можете установить такую мощную программу, как GIMP, которая бесплатно доступна в коллекции портов, в категории graphics. Утилита Preferences Для внесения дополнительных изменений в настройки Window Maker можно воспользоваться утилитой Preferences (Настройки). Чтобы получить доступ к этой утилите, дважды щелкните кнопкой мыши на соответствующей этой утилите кнопке в панели Dock (Стыковка). Как именно выглядит эта кнопка, можно увидеть на рис. 5ЛЗ. Рис 5.13. Чтобы открыть в Window Maker программу Preferences (Настройки), нужно щелкнуть на запускающей ее кнопке в панели Dock (Стыковка) В верхней части окна утилиты Preferences (Настройки) отображается ряд кнопок, щелкая на которых можно получать доступ к различных параметрам настройки. Полоса прокрутки, расположенная под этими кнопками, позволяет отображать остальные кнопки. В левом нижнем углу окна утилиты Preferences (Настройки) имеется флажок Balloon Help (Всплывающая подсказка). Если отметить этот флажок, при наведении курсора на кнопки будут появляться всплывающие окна с описанием
FreeBSD как настольная система того, какие опции конфигурации доступны для каждой из них. Если вы не знакомы с Window Maker, рисунок на кнопке может ни о чем вам не говорить. Конфигурирование настроек Window Maker Конфигурационные настройки разбиты по категориям, у каждой из которых имеется своя собственная пиктограмма в отображающейся в окне утилиты Preferences (Настройки) панели инструментов. Подвигайте полосу прокрутки вправо и влево, чтобы увидеть все доступные категории. Например, если вы передвинете полосу прокрутки влево, вы сможете увидеть кнопку с изображением мыши. Щелкните на этой кнопке, чтобы отобразить панель Mouse Preferences (Параметры настройки мыши), которая показана на рис. 5.14 и которая позволяет настраивать параметры мыши. Рис. 5.14. В этом диалоговом окне можно настраивать мышь. Помимо всего прочего, здесь можно задавать скорость движения курсора мыши и скорость выполнения двойного щелчка А вот еще одна опция, которая может вас заинтересовать: щелкните на кнопке, которая выглядит как строка заголовка окна (на рис. 5.14 эта кнопка находится справа от кнопки Mouse Preferences (Параметры настройки мыши)). В диалоговом окне, которое появится после этого, вы сможете создать специальную цветовую схему, если ни одна из доступных по умолчанию схем вам не подходит. Настройка меню Applications Утилита Preferences (Настройки) также позволяет настраивать меню Applications (Приложения). Чтобы сделать это (то есть, чтобы настроить меню Applications (Приложения)), находясь в окне утилиты Preferences (Настройки), щелкните на кнопке с изображением меню Applications (Приложения) (если вы отметили флажок Balloon Help (Всплывающая подсказка), при наведении курсора мыши на эту кнопку появится подсказка вроде: Edit the menu for launching applications (Позволяет отредактировать меню, отвечающее за запуск приложений)). После этого на экране появится диалоговое окно, показанное на рис. 5.15. Процедура настройки меню Applications (Приложения) является достаточно простой и объясняется в списке Instructions (Инструкции), который отображается в правой части этого диалогового окна. Вы можете перетаскивать элементы из доступ-
Работа с системой X Window System ного в этом же диалоговом окне списка New Items (Новые элементы) и размещать их там, где вы хотите, чтобы они находились в меню Applications (Приложения). Когда вы будете это делать, на экране будет появляться диалоговое окно с приглашением указать имя элемента, программу, которую он должен загружать и тому подобное. Вы также можете удалять элементы из меню Applications (Приложения), просто перетаскивая их за пределы этого меню. Рис. 5.15. Щелчок на кнопке Application Menu (Меню приложений) (вокруг которой при наведении па нее фокуса появляется белый контур) позволяет отобразить диалоговое окно Applications Menu Definitions (Параметры настройки меню приложений). С помощью доступных в этом окне опций вы сможете настроить меню Applications (Приложения) Завершение работы Window Maker и Х11 Напомним, что Window Maker запускается поверх XII, а XII сама тоже является всего лишь графической оболочкой, которая запускается поверх работающего в режиме командной строки ядра FreeBSD. Когда вы выходите из Window Maker, вы также выходите и из XII, после чего снова попадаете в командную строку. Щелкните правой кнопкой мыши на пустой области рабочего стола и в появившемся после этого меню Applications (Приложения) выберите пункт Exit (Выход). Щелкните на кнопке О К, чтобы подтвердить, что вы действительно хотите завершить свой сеанс. После завершения сеанса Windows Maker и работы XII должен снова появиться текстовый экран с командной строкой, тот, где вы в самом начале запускали XII. Если вы хотите сейчас еще и компьютер выключить, введите команду shutdown, как описывалось в главе 4.
6 ГЛАВА Работа с приложениями В этой главе... • Запуск приложений с графическим пользовательским интерфейсом и интерфейсом командной строки • Работа с текстом • Офисные приложения • Создание и редактирование изображений с помощью GIMP • Аудиоприложения • Сетевые приложения • Работа с Java-приложениями
FreeBSD как настольная система Какой бы надежной и эффективной не была операционная система, от нее мало толку, если под ее управлением нельзя запускать полезные приложения. К счастью, даже в бесплатной операционной системе, такой как FreeBSD, можно установить тысячи первоклассных приложений, которые будут стоить не больше, чем сама FreeBSD (то есть ничего не стоить). Это верно как тогда, когда речь идет о настольной рабочей станции, так и тогда, когда речь идет о монтируемом в стойку сервере: приложения, доступные и для той, и для другой цели, в большинстве случаев являются высококачественными, полнофункциональными эквивалентами наилучших пакетов ПО, которые существуют в мире коммерческого ПО, и обладают такими преимуществами ПО с открытым кодом, как надежностью, безопасностью и отсутствием платы. В этой главе речь пойдет о приложениях, которыми вам придется пользоваться чаще всего для выполнения таких наиболее распространенных на настольных системах задач, как редактирование текста, обработка документов, управление изображениями, обработка электронной почты и просмотр Web-страниц. Эти приложения обычно не устанавливаются как часть самой операционной системы FreeBSD, но многие приложения, интегрируемые с настольной средой KDE или GNOME, устанавливаются вместе с ними (см. главу 5). Также здесь будет рассказываться о применяющихся текстовых эквивалентах приложений, запускаемых под KDE или GNOME; вы должны знать, как можно отредактировать текст и прочитать электронной сообщение, даже если на вашем компьютере не установлена XII. FreeBSD предлагает хорошо продуманный и отлаженный механизм для установки стороннего ПО (подробнее об установке приложений будет рассказываться в главе 16). Некоторые из наиболее распространенных пакетов ПО, такие как пакет OpenOffice.org, являются ровно настолько же отлаженными и полнофункциональными, как их коммерческие аналоги, и поставляются со своими собственными процедурами, справочными системами и средствами технической поддержки. Однако ПО с открытым кодом имеет и свои недостатки: поскольку каждый пакет написан кем-то другим и ни один из них (за очень редким исключением) не поставляется компанией, заинтересованной в предоставлении помощи своим клиентам, у такого ПО часто отсутствует подробная или пригодная в практическом смысле документация, и службы технической поддержки попросту не существует (если, конечно, вы не считаете технической поддержкой получение ответов на Web-форумах пользователей). Запуск настольных приложений под FreeBSD может оказаться очень выгодным для вас и предоставлять вам намного больше преимуществ, нежели дорогостоящий набор коммерческих приложений, но вы должны быть готовы к неизбежному столкновению с недостатками ПО с открытым кодом, которое никогда не является столь же "завершенным'*, как коммерческое. НА ЗАМЕТКУ Кроме тысяч "родных" (то есть, разработанных специально для FreeBSD) приложений, FreeBSD также может запускать большинство Linux-приложений с помощью своего модуля совместимости с Linux, что значительно расширяет набор доступных приложений и позволяет вам выбирать приложения практически для любой цели, включая коммерческие приложения, разработанные и выпущенные в бинарной форме для Linux. Если вы обнаружите, что вам необходимо запустить какое-нибудь Linux-приложение, но режим совместимости с Linux во время установки FreeBSD вы не активизировали, просто добавьте в файл /etc/rc.conf следующую строку и перезагрузите компьютер: linux enable=HYES"
Работа с приложениями I ~—. I " Глава 6 I I Конечно же, в этой главе не будет описана даже половина всех доступных для FreeBSD приложений, нб зато в ней будут приведены примеры некоторых наиболее популярных приложений из разных категорий. Вы запросто можете попробовать установить дополнительные пакеты программ, не рассматриваемые в этой главе: просмотрите коллекцию портов (/usr/ports) и следуйте инструкциям, которые приводятся в главе 16, чтобы установить заинтересовавшую вас программу. Это ничего не стоит, поэтому терять вам особо-то нечего. НА ЗАМЕТКУ В этой главе будут рассматриваться приложения, подходящие для использования на рабочей станции. Серверные приложения, такие как Web-серверы, FTP-серверы и серверы электронной почты, здесь рассматриваться не будут. Если вам необходимо настроить одну из таких служб, вы сможете найти необходимую информацию в части V, в главах которой подробно описываются процедуры настройки этих служб. Запуск приложений с графическим пользовательским интерфейсом и интерфейсом командной строки Существуют два вида приложений, которые могут запускаться в FreeBSD: приложения с графическим пользовательским интерфейсом (Graphical User Interface — GUI), которые запускаются в контексте пользовательской среды XII, такой как KDE или GNOME, и приложения с интерфейсом командной строки (Command Line Interface — CLI), которые запускаются в текстовом режиме и работают в терминальном окне или системной консоли. Приложения с интерфейсом командной строки (далее для краткости называемые СЫ-приложениями) чаще всего используются в мире UNIX; среди них текстовые редакторы вроде ее и vi, программы для работы с электронной почтой, такие как Pine, и текстовые Web-браузеры наподобие Lynx. Когда вы запускаете CLI-программу, вы вводите ее имя в командной строке оболочки, после чего эта программа, как правило, занимает весь контекст вашего терминала, будь то весь экран системной консоли, терминальное окно, вызванное в сеансе XII, или сеанс Telnet или SSH, через который вы получаете доступ к системе FreeBSD с удаленного компьютера. Размер окон локального или удаленного терминала в настольной системе с графическим пользовательским интерфейсом (такой как клиент SSH или система Windows) можно изменять как угодно, а вот CLI-программа, запускаемая в таком окне, как правило, занимает все пространство в этом окне; по умолчанию размер окна терминала и размер физического экрана консоли составляет 80 столбцов в ширину и 25 строк в высоту. Запущенная CLI-программа доминирует в сеансе программной оболочки до тех пор, пока вы не выйдете из нее, после чего на экране снова появляется основное окно программной оболочки.
FreeBSD как настольная система СОВЕТ Если вы работаете в локальной консоли, не забывайте о том, что вы можете переключаться с одного виртуального терминала на другой, нажимая клавиатурную комбинацию <Alt+F2>, <Alt+F3> и так далее Это может оказаться очень удобным в ситуации, когда вам необходимо выполнить операции командной строки на одном экране и в то же время отредактировать файл или прочитать электронное сообщение на другом экране. НА ЗАМЕТКУ Путь (path) — это перечень каталогов, перечисленных в конфигурационном файле программной оболочки (.cshrc или .profile), который указывает программной оболочке, где ей следует искать программы, имена которых вы вводите в командной строке. По умолчанию путь включает такие каталоги, как /us r/bin, /usr/sbin и /us r/ local /bin; поскольку большинство сторонних приложений устанавливаются в каталог /usr/local/bin, программная оболочка сможет найти их там, если вы просто введете имя программы в командной строке. Однако если программы, которую вы хотите запустить, нет ни в одном из каталогов, перечисленных в вашем пути, вам придется указать к этой программе весь путь целиком, например: # /home / frank/myapp В целях безопасности домашний каталог и текущий каталог (обозначаемый с помощью точки) по умолчанию в путь не включаются. Чтобы запустить программу, которая находится в текущем каталоге, такую как программа для оболочки, написанием которой вы сейчас занимаетесь, используйте префикс ./: # ./myscript.sh Для получения более подробной информации о конфигурационных файлах оболочки обращайтесь в главу 9. Приложения с графическим пользовательским интерфейсом (далее для краткости называемые GUI-приложениями) могут запускаться несколькими способами, что зависит от того, какая программа применяется в качестве настольной среды в данной системе. Самый простой способ вызвать GUI-приложение в сеансе XII — это ввести его имя в командой строке внутри терминального окна (такого как окно KTerm в KDE); когда вы это сделаете, это приложение создаст в пределах настольной среды свое собственное окно со своими собственными меню и палитрой (то есть первичными компонентами), если необходимо. Терминальное окно, из которого вы запускали программу, однако, станет бесполезным, и будет оставаться таковым до тех пор, пока вы не выйдете из этой программы; команды, вводимые с клавиатуры, будут иг норироваться, и командная строка не появится снова на экране до тех пор, пока вы не воспользуетесь функцией Exit (Выход) программы или не нажмете клавиатурную комбинацию <Ctrl+C> (нажатие этой клавиатурной комбинации обычно приводит к завершению работы любой запускавшейся через командную строку программы). Более элегантный способ запустить GUI-приложение из терминального окна- это ввести после имени программы символ &; это укажет программной оболочке отделить запущенный процесс, перевести его в фоновый режим и вернуться к интерактивной подсказке: # mozilla &
Работа с приложениями Глава б 173 Используя такой синтаксис, вы сможете работать в своем терминальном окне и при этом запускать новые, независимые GUI-приложения, которые не будут к нему привязаны и будут нормально функционировать, несмотря на то, что терминальное окно остается открытым. Эти технологии удобны, если в системе используется простой оконный диспетчер, такой как Windows Maker, как рассказывалось в главе 5. Однако если используется KDE или GNOME, доступна еще парочка дополнительных и даже более удобных способов для запуска GUI-приложений. KDE и GNOME имеют специальные средства для добавления программ, с их собственными пиктограммами, в меню К (если речь идет о KDE) или в меню Applications (Приложения) (если речь идет о GNOME), так чтобы пользователь мог отыскивать их через графический интерфейс и запускать точно так же, как в Windows. Если программы, которую желает запустить пользователь, в этих меню нет, тогда он может воспользоваться функцией Run Command (Выполнить команду), которая находится в меню К и показана на рис. 6.1, чтобы указать программу по имени и запустить ее независимо, то есть отдельно от всех терминальных окон. В GNOME эта функция доступна в меню Applications (Приложения) и называется Run Application (Запустить программу). В других оконных диспетчерах вроде Window Maker такая функция тоже имеется, хотя она может называться и по- другому (например, в Window Maker она называется Run... (Выполнить...). СОВЕТ И GNOME, и KDE позволяют добавлять функцию запуска команд в панель быстрого запуска, тем самым предоставляя пользователю возможность получать доступ к своим приложениям даже еще быстрее. # Enter the name of the application you want to run or the URL you want to view Command: mozllla Options »| Run || fiance! Рис. 6.1. Диалоговое окно Run Command (Выполнить команду) в KDE. В GNOME это окно называется Run Application (Запуск программы) Работа с текстом Текстовые редакторы являются одними из наиболее часто используемых — и наиболее важных — приложений. Наличие навыков по редактированию текста обязательно для выполнения практически любой описываемой в этой книге задачи, поэтому, чем раньше вы подберете для себя текстовый редактор после установки FreeBSD, тем лучше.
FreeBSD как настольная система В отличие от текстового процессора, текстовый редактор работает только с простыми текстовыми файлами (которые в FreeBSD могут иметь любое имя и любое расширение, а не только . txt). Сохранять измененные шрифты, стили, поля или любую другую подобную информацию в документе он не позволяет, потому что простые текстовые файлы не поддерживают отображение таких сведений о форматировании. Большая часть системы FreeBSD имеет дело с простыми текстовыми файлами, начиная от конфигурационных файлов и заканчивая файлами документации; вы будете работать с ними постоянно. Ниже перечислены некоторые наиболее распространенные цели, для которых может использоваться текстовый редактор. • Редактирование конфигурационных файлов системы. FreeBSD, как и большинство других версий UNIX, управляет поведением системы в основном с помощью текстовых конфигурационных файлов. Для редактирования этих файлов необходим текстовый редактор, позволяющий выполнять запись в простой текстовый файл. Приложения вроде текстовых процессоров, такие как KWord или OpenOffice, являются слишком сложными для выполнения подобной задачи: помимо того, что они требуют наличия настольной среды, подобной KDE или GNOME, они еще также имеют склонность сохранять файлы в каких-нибудь отличных от обычного текста форматах, в результате чего система, когда ей необходимо запустить приложения или перезагрузиться, больше не может прочитать их. (Конфигурационные файлы системы и способы взаимодействия с ними будут рассматриваться в главе 14.) • Создание или изменение исходного программного кода. Текстовый редактор может использоваться для написания кода, сообщающего компьютеру, что он должен делать. Хотя во многих языках этот код преобразуется в машинный язык программой, которая называется компилятором, исходные инструкции все равно записываются в виде простого текста. Эти инструкции называются исходным кодом. В главах 10 и 11 будут описываться два популярных в FreeBSD языка, с помощью которых можно писать код в текстовом редакторе. • Создание и изменение Web-страниц. Web-страницы пишутся на языке HTML (HyperText Markup Language — язык гипертекстовой разметки). Хотя для создания Web-страниц доступно много программ, которые используют графический пользовательский интерфейс и режим WYSIWYG (What You See Is What You Get— что видишь, то и получаешь), в конечном счете, все равно получается простой текстовый файл с дескрипторами элементов управления форматированием, который может понять Web-браузер. Многие люди по-прежнему предпочитают создавать Web-страницы вручную в текстовом редакторе, потому что это позволяет им пользоваться абсолютно всеми возможностями HTML. Помимо этого, текстовый редактор также можно применять для написания PHP-кода и JavaScript-сценариев, а также других расширенных функциональных возможностей Web-дизайна, которые позволяют делать содержимое Web- страниц интерактивным. • Сложный набор текста. Для FreeBSD доступны некоторые очень богатые функциональными возможностями наборные языки. Как и HTML, наборные языки обычно используют простые текстовые файлы с содержащимися в них специальными дескрипторами форматирования для управления расположением и внешним видом текста. Хотя сегодня эти языки по большей части заменили текстовые процессоры (потому что с текстовыми процессорами легче рабо-
Работа с приложениями Глава 6 175 тать, и они позволяют видеть, как на самом деле будет выглядеть текст), не исключено, что возникнет ситуация, когда для выполнения определенной задачи вы предпочтете или будете вынуждены использовать именно наборный язык. Если вы ученый или инженер, для вас может оказаться интересным язык ТеХ и его расширенная версия LaTeX, потому что они позволяют выполнять чрезвычайно сложное форматирование с помощью математических формул. В следующих разделах мы более подробно рассмотрим некоторые из доступных в FreeBSD встроенных решений для редактирования текста, такие как текстовый редактор ее и текстовый редактор vi. После этого мы расскажем о некоторых более современных графических текстовых редакторах, которые являются частью пользовательской среды KDE и GNOME. Использование редактора ее Программа Easy Editor (Простой редактор) или, сокращенно, ее, устанавливается по умолчанию как часть операционной системы FreeBSD. Как становится понятно из названия, Easy Editor представляет собой базовый текстовый редактор, который проектировался так, чтобы с ним было легче работать, чем с некоторыми другими традиционными текстовыми редакторами UNIX. Чтобы вызвать ее, просто введите ее в командной строке, или введите ее, а затем — имя файла, который хотите отредактировать. На рис. 6.2 показан пример сеанса ее с пустым документом. *[ (escape) лепи Ау search proept *k delete line *p prev It *g prev page *o aeoii code *x search *l undelete line *n next li Av next page 4i end of file *o begin of line *w delete word *b back i char H begin of file N» end of line *r restore word *f forward 1 char *c command *d delete char *j undelete char *z next word Рис. 6.2. Пример сеанса ее. Клавиатурные комбинации, отображающиеся в верхней части окна, позволяют получать доступ к различным функциональным возможностям Использование клавиатурных комбинаций в ее Знак вставки (Л), присутствующий в каждой из перечисленных клавиатурных команд, обозначает клавишу <Ctrl>. Большинство из опций в этом меню не требуют объяснения, но некоторые из них все же заслуживают особого внимания. В табл. 6.1 перечислены все такие опции и объясняется их предназначение.
176 FreeBSD как настольная система Часть II Таблица 6.1. Клавиатурные комбинации в ее Клавиатурная комбинация Операция, которую она выполняет <Ctrl+0> <Ctrl+C> <Ctrl+Y> <Ctrl+X> <Ctrl+G> и <Ctrl+V> Вызывает командную строку, в которой можно ввести ASCII-значение. Эту клавиатурную комбинацию удобно использовать для вставки специальных символов, которых нет на клавиатуре, и которые требуют, чтобы их ASCII-значения вводились напрямую. Изменяет верхнее меню, а также, в нижней части экрана, вызывает командную строку, в которой можно ввести одну из перечисленных вверху команд. Чтобы покинуть командную строку просто нажмите клавишу <Enter>, не вводя команды. Вызывает поисковую подсказку. Здесь можно ввести выражение, которое необходимо отыскать в файле. После нажатия клавиши <Enter> будет найдено первое (от текущей позиции курсора) вхождение указанного выражения. Повторяет поиск, выполнявшийся с помощью клавиатурной комбинации <Ctrl+Y>, y\ отыскивает следующее вхождение указанного выражения. Как говорится в меню, эти клавиатурные комбинации позволяют переходить сразу на следующую или на предыдущую страницу файла. Для этой цели также можно использовать и клавиши <Page Up> и <Раде Down>. Клавиатурные комбинации <Ctrl+G> и <Ctrl+V> существуют на тот случай, если на используемом терминале вдруг не окажется клавиш <Page Up> и <Раде Down>. Настройка и конфигурирование ее Если в вашем домашнем каталоге существует файл под названием .init.ee, ее при каждом запуске будет считывать содержащиеся в нем параметры конфигурации. Вы можете создать этот файл вручную или выбрать нужные параметры настройки из списка опций настройки ее. Чтобы получить доступ к этому списку, находясь в ее, нажмите клавишу <Esc>, чтобы открыть главное меню, как показано на рис. 6.3. Далее нажмите клавишу <Е>, чтобы выбрать меню Settings (Параметры), или при помощи клавиши с изображением стрелки вниз выделите в этом меню пункт Settings (Параметры) и затем нажмите клавишу <Enter>, чтобы отобразить меню режимов (рис. 6.4). В меню Modes (Режимы), которое показано на рис. 6.4, вы можете включить или отключить любую опцию, либо нажав клавишу с соответствующей этой опции буквой, либо выделив при помощи клавиши с изображением стрелки требуемую опцию и затем нажав клавишу <Enter>. В табл. 6.2 перечислены различные опции настройки и вкратце объясняется, что они делают.
Работа с приложениями 177 Глава б Ч (escape) immu Ay док* prapt ^ delete line *p prev U *0 pr#v page *o ascH code Ax search Al undelete line *n next It *v next page *u end of file *o begin of line *w delete word *b ьос* l char *t begin of /tie *e end of line *r restore *>rd *f forward 1 char *c coemand *d delete Az next word main nenu D leave editor b) help c) f1le operation» d) redraw есгеел m) settings fУ eearch 9) elecelIgneous press Esc to cancel Pue. 63. Главное меню в ее *[ (escape) eenu *y search prompt *k delete line *p prev И *g prev t *o are it cade *x search *l undelete line *n next 11 *v next I *u end of file *a be ack 1 char *t begin of file *e en KgSSBBSeBBfl orward * С"0* «*c conmond *d de П modes eenu Ц ext word D tabs to spaces OFF b) case sensitive search OFF c) eargtns observed IFF d) autOHxa-agraph f areat OFF e) etghtbit characters ON f) info window ON a) eeocs key bindings ON h) right eargin 79 t) 16 btt characters OFF j) save editor configuration I press Esc to cancel & Рис. в А. Если в главном меню ее выбрать пункт Settings (Параметры), появится список опций настройки Таблица 6.2. Опции настройки ее Опция Tabs to Spaces (Символы табуляции в символы пробела) Margins Observed (С учетом полей) Описание По умолчанию отключена. Когда она включена, все жестко закодированные символы табуляции преобразуются в символы пробела. Может пригодиться для языков программирования, в которых символы пробела имеют важное значение (таких как Python и FORTRAN). По умолчанию отключена. Когда эта опция включена, ее завершает строку у правого поля и начинает новую строку автоматически (то есть автоматически переходит на следующую строку). Когда она отключена, переход на следующую строку не происходит до тех пор, пока пользователь вручную не вставит символ новой строки.
178 FreeBSD как настольная система Часть II Окончание табл. 6.2 Опция Описание Info Window По умолчанию включена. Когда эта опция включена, в верхней части (Информационное окно) экрана отображается окно с перечнем клавиатурных комбинаций и выполняемых ими команд. Когда она отключена, это окно не отображается. Вам, пожалуй, лучше оставить эту опцию включенной до тех пор, пока вы хорошо не изучите все клавиатурные комбинации. Right Margin Размер правого поля. По умолчанию размер правого поля соответ- (Правое поле) ствует ширине стандартного 80-символьного терминального дисплея. 16 Bit Characters Эта опция отвечает за то, как будут обрабатываться 16-битные сим- (16-битовые символы) волы (как два 8-битных символа или как один 16-битный символ). Устанавливать значение для этой опции следует только в том случае, если применяется набор символов, в котором на каждый символ используется по шестнадцать битов, например, такой как Unicode. Последняя опция в этом меню — Save Editor Configuration (Сохранить конфигурацию редактора) — записывает конфигурационную информацию в файл . init. ее. Когда вы выберите эту опцию, ее запросит, куда именно вы хотите записать конфигурационный файл: в текущий или в домашний каталог. Если вы запишете этот файл в домашний каталог, указанные в нем параметры конфигурации будут по умолчанию применяться ко всем файлам, которые вы будете создавать и открывать в ее. Если вы запишете его в текущий каталог, указанные в нем параметры будут перекрывать параметры по умолчанию, заданные в конфигурационном файле, который находится в домашнем каталоге, каждый раз, когда ее будет запускаться из этого каталога (то есть каталога, который сейчас является текущим). Редактор vi Редактор vi был одним из первых редакторов, которые были разработаны для операционных систем типа UNIX. На сегодняшний день он по-прежнему является одним из наиболее мощных редакторов из всех доступных и поставляется как стандартный с практически каждой операционной системой типа UNIX. Он также был сделан доступным для использования на нескольких не UNIX системах, среди которых Microsoft Windows и OS/2. К сожалению, начинающие пользователи находят его слишком сложным и трудным для изучения. В отличие от других редакторов, таких как ее, в vi передвинуть курсор в нужное место в файле с помощью клавиш с изображением стрелки и начать вводить текст нельзя: вам придется познакомиться с определенными режимами редактирования и клавиатурными комбинациями, чтобы выполнять задачи, которые вы привыкли решать в других, более современных редакторах. Так зачем же учиться пользоваться редактором vi? На самом деле существуют две причины, по которым стоит это сделать. Во-первых, вы можете быть практически полностью уверены, что vi будет доступен в любой системе типа UNIX, с которой вам когда-либо доведется работать. Если в будущем вам вдруг придется работать в какой-то незнакомой системе Linux или UNIX и возникнет необходимость отредактировать текстовый файл, не исключено, что vi окажется единственным доступным редактором.
Работа с приложениями Глава 6 179 Вторая причина, по которой все-таки стоит научиться пользоваться редактором vi, состоит в том, что как только вы познакомитесь с различными используемыми в нем клавиатурными комбинациями и командами, вы поймете, что это редактор с очень мощными возможностями. Если при работе с компьютером вы предпочитаете пользоваться только клавиатурой (то есть не любите пользоваться мышью), вы еще также обнаружите, что в vi вы сможете работать гораздо быстрее: vi был разработан так, что к большинству его команд получать доступ можно, не убирая рук с клавиатуры. СОВЕТ Третья причина, по которой стоит научиться пользоваться редактором vi, заключается в том, что его команды оказываются удобными во многих самых неожиданных местах в FreeBSD. Например» если вы используете команду less, чтобы просмотреть файл постранично, вы можете воспользоваться доступными в vi командами для поиска, чтобы передвигаться по страницам этого файла и отыскивать определенные строки текста. Вы также обнаружите, что в vi применяются многие те же условные обозначения, что встречаются в регулярных выражениях, такие как символ $, который в vi тоже обозначает конец строки. Это позволит вашим мозгам "работать в правильном направлении", если вы будете программировать на Perl или других языках, которые используют регулярные выражения. Чтобы запустить vi с пустым файлом, введите vi. Чтобы запустить vi и загрузить определенный файл для редактирования, введите vi, а затем — имя нужного файла. Если файла с именем, которое вы ввели, не существует, vi решит, что это новый файл. На рис. 6.5 показан сеанс vi с новым, готовым к редактированию файлом. Рис. 6.5. Редактор vi, готовый к редактированию нового файла. В строке состояния, которая отображается в нижней части экрана, содержится информация о редактируемом файле; обратите внимание на каталог, который используется для временного хранения файлов Окно vi выглядит достаточно простым и скучным, не так ли? Первым вы, скорее всего, заметите то, что при вводе текста vi ничего не делает и только издает звуковой сигнал: никакой вводимый вами текст не вставляется. Вы также можете нажать определенные клавиши и увидеть странно выглядящие сообщения в строке состояния, которая отображается в нижней части экрана. А все дело в том, что у vi
180 FreeBSD как настольная система Часть II имеется несколько режимов работы, и, скорее всего, вы запустили vi в том из них, в котором ввод данных с клавиатуры невозможен. Когда редактор vi запускается впервые, он запускается в командном режиме, в котором нажатия клавиш интерпретируются как команды для редактора, а не как текст, который должен быть вставлен в документ. Чтобы переключиться в режим, позволяющий вводить текст в документе, вы должны нажать клавишу <А>, <1> или <0> или воспользоваться клавишей <Shift>, чтобы вызывать альтернативные команды, в зависимости от того, в каком месте в документе вы хотите, чтобы отображался этот текст. • Команда а расшифровывается как "append", что в переводе означает "добавить". В этом режиме вводимый вами текст будет вставляться сразу после символа, на котором на текущий момент находится курсор. • Команда A (<Shift+A>) помещает курсор в конце текущей строки и позволяет вам начать вводить дополнительный текст. • Команда I расшифровывается как "insert", что в переводе означает "вставить". В этом режиме вводимый вами текст будет вставляться перед символом, на котором на текущий момент находится курсор. • Команда о расшифровывается как "open", что в переводе означает "открыть". В случае ввода этой команды после символа, на котором на текущий момент находится курсор, будет вставлена новая строка. Затем vi переместит курсор на эту новую строку и перейдет в режим вставки, позволив вам вводить в этой строке текст. • Команда О (<Shift+0>) похожа на команду о, только она вставляет пустую строку над строкой, в которой на текущий момент находится курсор, и позволяет вам вводить текст в ней. НА ЗАМЕТКУ В vi регистр, в котором вводятся клавиатурные команды, имеет значение, потому что такие команды обычно вводятся вместе с другими символами для создания какой-нибудь более сложной команды (такой как 75G, например). Поэтому, если указывается использовать "команду q*, знайте, что это означает, что вы должны нажать только клавишу <0>, а если указывается использовать "команду Q", значит, вы должны нажать <Shift+Q>. Эти две команды имеют совершенно разные значения! Если вы захотите вернуться обратно в командный режим после того, как вошли в режим ввода текста, нажмите клавишу <Esc>. При переходе в командный режим vi по умолчанию подаст соответствующий звуковой сигнал. СОВЕТ Не забывайте о том, что если вы пытаетесь ввести текст, a vi в ответ на ваши действия просто издает звуковые сигналы или делает другие непонятные вещи, это, скорее всего, означает, что вы находитесь в командном режиме. Нажмите клавишу <А>, <1> или <0>, чтобы перейти в режим ввода текста. Также, если вы не знаете точно, в каком режиме находитесь, просто нажмите клавишу <Esc>, чтобы переключиться в командный режим (если вы уже находитесь в командном режиме, просто ничего не произойдет). После этого вы можете нажать клавишу <А>, <|> или <0>, чтобы перейти в режим ввода текста. Если вы по ошибке нажмете в командном режиме какие- нибудь не те клавиши и тем самым внесете в документ ненужные изменения, попробуйте нажать клавишу <U>, чтобы отменить их (в большинстве случаев результат будет положительным).
Работа с приложениями Глава 6 181 Перемещение курсора в vi В режиме ввода текста для перемещения курсора обычно можно использовать клавиши с изображением стрелки и клавиши <Page Up? и <Page Down>. Однако редактор vi разрабатывался с расчетом на то, что в нем будут выполняться определенные операции по редактированию, а не для того, чтобы предоставлять пользователю свободу действий в этой области, которая доступна во многих современных текстовых редакторах, работающих по принципу WYSIWYG ("что видишь, то и получаешь"; режим полного соответствия). Это означает, что в командном режиме vi для перемещения курсора могут использоваться и многие другие клавиши, а не только клавиши с изображением стрелки; все они выполняют определенные команды, которые описываются в табл. 6.3. Таблица 6.3. Команды для перемещения курсора, доступные в командном режиме vi Команда Действие h Передвигает курсор влево на один символ j Передвигает курсор вниз на один символ к Передвигает курсор вверх на один символ 1 Передвигает курсор вправо на один символ w Передвигает курсор вперед на одно слово ь Передвигает курсор назад на одно слово е Передвигает курсор в конец следующего слова О Передвигает курсор в начало строки $ Передвигает курсор в конец строки ) Передвигает курсор в начало следующего предложения { Передвигает курсор в начало предыдущего предложения } Передвигает курсор в начало следующего абзаца f Передвигает курсор в начало предыдущего абзаца G Передвигает курсор в конец текущего документа Л Передвигает курсор на первый символ в строке, который не является символом пробела н Передвигает курсор на первую строку на экране L Передвигает курсор на последнюю строку на экране Обратите внимание, что для каждой из перечисленных в этой таблице команд (за исключением команды G) по умолчанию в качестве единицы измерения используется один. Например, команда j передвигает курсор вниз на одну строку, команда к передвигает его вверх на одну строку, команда w передвигает курсор вправо на одно слово и так далее. Вы можете изменить это используемое по умолчанию поведение. Для этого просто введите перед командой число, соответствующее значению, которое вы хотите использовать. Например, при выполнении следующей команды курсор переместиться не на одну, а на пять строк вниз: 5j
182 FreeBSD как настольная система Часть II При выполнении следующей команды, курсор переместится на 75-тую строку в текущем файле (то есть в файле, который сейчас редактируется): 75G При выполнении следующей команды, курсор переместится на строку, которая находится на пять строк выше самой нижней строки на экране: 5L Такой синтаксис подходит для всех перечисленных в табл. 6.3 команд, кроме команды А, которая передвигает курсор на первый, не являющийся пробельным, символ в документе. СОВЕТ Если вы вводите число, а за ним — одну из предыдущих команд, a vi не делает ничего, кроме того, что подает звуковой сигнал, скорее всего, это означает, что вы ввели число, выходящее за рамки допустимого диапазона. Например, если вы введете 560G для того, чтобы передвинуть курсор на 560-ю строку, а в документе имеется всего 557 строк, vi в ответ просто издаст звуковой сигнал и тем самым сообщит, что не может выполнить указанную операцию. К сожалению, никаких сообщений об ошибках, позволяющих понять, что именно не так, vi отображать не будет. Прокручивание экрана в vi Помимо клавиш для перемещения курсора, которые описывались в предыдущем разделе, в vi также можно использовать клавиатурные комбинации для прокручивания экрана. Эти клавиатурные комбинации перечислены в табл. 6.4. Таблица 6.4. Прокручивание экрана в vi Клавиатурная комбинация Действие <Z>, а потом <Enter> Передвигает строку, в которой находится курсор, вверх экрана <Z>, а потом клавиша с изо- Передвигает строку, в которой находится курсор, вниз экрана Сражением знака минус (-) <Z>, а потом клавиша с изо- Передвигает строку, в которой находится курсор, в центр экрана бражением точки (.) <Ctrl+U> Прокручивает текст на пол-экрана вверх <Ctrl+D> Прокручивает текст на пол-экрана вниз <Ctrl+F> Прокручивает текст на целый один экран вперед <Ctrl+B> Прокручивает текст на целый один экран назад <Ctrl+E> Прокручивает текст на одну строку вниз <Ctrl+Y> Прокручивает текст на одну строку вверх Команды для редактирования текста Использование vi становится особенно запутанным, когда дело доходит до изменения существующего текста. Клавиши <Backspace> и <Delete> не будут делать то, чего вы от них, скорее всего, ожидаете. Вместо этого вам придется нажимать другие клавиши в командном режиме vi, чтобы удалить текст тем способом, к которому вы
Работа с приложениями I 7ГГ Глава 6 привыкли, или чтобы перезаписать существующий текст. В табл. 6.5 перечислены различные доступные в vi команды для редактирования текста. Таблица 6.5. Доступные в vi команды для редактирования текста Команда Действие D Удаляет текст, начиная с текущей позиции курсора и до конца строки. d<3 Удаляет всю текущую строку целиком. ndd Здесь л — это число строк, которое нужно удалить. Например, ввод команды 5dd приведет к удалению текущей строки, а также четырех следующих за ней строк. р Вставляет содержимое буфера памяти (которое могло быть "вырезано" или скопировано в него с помощью соответствующих команд, которые будут описываться чуть позже). гс Здесь с — это символ. Эта команда позволяет заменить символ, на котором в текущий момент находится курсор, символом, указанным после г. R Текст, вводимый после R, будет перезаписывать текущий текст, начиная с текущей позиции курсора до тех пор, пока вы нажмете клавишу <Esc>, чтобы вернуться в командный режим. s Удаляет текущую строку и начинает вставлять текст в теперь уже пустой строке. х Удаляет символ, стоящий после курсора, и передвигает на его место символ, находящийся справа, чтобы заполнить пробел. х Удаляет символ, стоящий перед курсором, и передвигает на его место символы, находящиеся справа, чтобы заполнить пробел. Изменяет регистр символа, на котором сейчас находится курсор. J Объединяет текущую строку с предыдущей и удаляет получившуюся пустую строку. Операции с файлами и завершение работы vi Несколько команд vi касаются загрузки и сохранения файлов. В табл. 6.6 перечислены различные доступные для этих операций цепочки команд. Таблица 6.6. Операции с файлами в vi Команда Действие zz Сохраняет изменения в текущий файл и затем завершает работу vi. • wq Сохраняет изменения в текущий файл и затем завершает работу vi (то есть делает то же, что и zz). :w Сохраняет изменения в текущий файл. :w! Сохраняет изменения в текущий файл, перезаписывает файл с таким же именем, если такой уже существует. • q Завершает работу vi. Если имеются несохраненные изменения, vi выдает соответствующее сообщение и его работа не завершается. •q- Завершает работу vi, даже если имеются несохраненные изменения. Все несохраненные изменения будут утрачены.
184 FreeBSD как настольная система Часть II Окончание табл. 6.6 Команда Действие • е Загружает в vi указанный файл для редактирования. Если указанный файл не су- filename ществует, будет создан новый файл. ¦ е! Утрачивает все изменения (то есть не сохраняет никаких изменений) и заново загружает сохраненный файл с диска. ВНИМАНИЕ! Обратите внимание на то, что в конце некоторых из перечисленных в табл. 6.3 команд стоит восклицательный знак (!). Такие команды являются просто более сильным вариантом соответствующих команд без восклицательного знака, что обычно означает подавление предупредительного сообщения и немедленное выполнение запрашиваемой операции. Например, выполнение команды :q! приведет к немедленному завершению работы vi — никакое сообщение с приглашением сохранить изменения не появится. При использовании команд с восклицательным знаком в конце следует соблюдать предельную осторожность. Поиск и замена текста в vi В vi также доступно несколько команд для выполнения операций поиска и замены. Все эти команды перечислены и объясняются в табл. 6.7. СОВЕТ Многие из этих команд похожи на команду просмотра страниц l ess: вы запросто можете использовать команды поиска vi при прочтении системной документации с помощью less. Таблица 6.7. Доступные в vi команды для поиска и замены текста Команда Действие /pattern / или п ?pattern :s/patternl/pattern2 :%s/patternl/pattern2 Здесь pattern (шаблон) — это элемент, который необходимо отыскать, vi выполняет в файле поиск первого вхождения указанного шаблона. Повторяет предыдущий поиск, отыскивая следующее вхождение шаблона в файле. Здесь pattern (шаблон) — это элемент, который необходимо отыскать, vi выполняет поиск первого вхождения указанного шаблона в файле в обратном направлении. Повторяет предыдущий поиск, отыскивая следующее вхождение шаблона в файле (опять-таки в обратном направлении). Передвигает курсор на скобки или фигурные скобки, соответствующие тем, на которых сейчас находится курсор. Эта команда может оказаться полезной для программистов. Заменяет каждое вхождение patternl (шаблон 1) на pattern2 (шаблон2) в текущей строке. Заменяет каждое вхождение patternl (шаблон 1) на pattern2 (шаблон2) во всем файле.
Работа с приложениями Глава 6 185 В этой таблице не были указаны несколько других команд для поиска и замены, которые используются довольно редко. Здесь были перечислены только те команды, которыми вы, скорее всего, будете пользоваться наиболее часто. Копирование, вырезание и вставка текста в vi Чтобы скопировать текст в буфер в vi, используйте команду у. Эта команда "заталкивает" текст в буфер. В табл. 6.8 перечислены различные способы использования команды Y. Таблица 6.8. Доступные в vi команды для вырезания текста Команда Действие У" Помещает (копирует) слово, на котором на текущий момент находится курсор, в буфер. У? Помещает в буфер текст, находящий в промежутке от текущей позиции курсора до конца текущей строки. УУ Помещает в буфер всю текущую строку. После копирования текста в буфер вы можете вставить его в любом месте в документе, переместив курсор в нужную позицию и воспользовавшись командой р или Р (которая расшифровывается как "put", что в переводе означает "поместить" или "вставить"). Команда р вставляет текст в документе после курсора, а команда Р — перед курсором. После того, как вы "вставите" текст, он все равно остается в буфере. Поэтому вы можете снова воспользоваться командой р или Р и вставить этот текст в еще каком-нибудь месте документа. Если вы хотите вырезать текст, а не скопировать его, воспользуйтесь одной из команд удаления. Например, команда 5dd вырежет текущую и четыре следующих строки, и также скопирует их в буфер. После этого эти строки можно будет вставить в другом месте в документе с помощью команды р или Р. ВНИМАНИЕ! vi хранит только тот текст, который был скопирован или "вырезан" последним. Другими словами, если вы воспользуетесь командой dd, чтобы вырезать/удалить какую-нибудь строку текста, а затем позже воспользуетесь командой уу, чтобы скопировать какую-нибудь строку текста, текст, помещенный в буфер после операции dd, будет заменен текстом, скопированным при операции уу (то есть существующий в буфере текст будет перезаписан). Это означает, что текст, удаленный при операции dd, будет больше недоступен, и отменить эту операцию удаления тоже уже будет нельзя. vi имеет еще много мощных функциональных возможностей; если мы начнем их все здесь описывать, у нас получится пособие не по FreeBSD, a no vi. Когда вы познакомитесь с vi, вы согласитесь, что это очень мощный редактор, который предлагает быстрый и надежный способ для редактирования документов. Если вы хотите узнать больше о vi, прочтите какую-нибудь книгу по этой теме.
186 FreeBSD как настольная система Часть II Графическое редактирование текста с помощью KEdit или gedit KDE поставляется с полнофункциональным текстовым редактором, который похож на "Блокнот" в Windows и называется KEdit. Эту программу можно найти в меню К, в разделе Editors (Редакторы). GNOME тоже поставляется с текстовым редактором типа "Блокнота", который называется gedit и который можно найти в меню Applications (Приложения), в разделе Accessories (Стандартные), где он указан под названием Text Editor (Текстовый редактор). Окно gedit показано на рис. 6.6. Работа в любом из этих текстовых редакторов очень похожа на работу с "Блокнотом" в Windows: для выполнения операций, таких как открытие и сохранение файлов, используется меню File (Файл), а для выполнения операций вроде копирования и вставки выделенного при помощи мыши текста — меню Edit (Правка) (и соответствующие клавиатурные комбинации). Как показано на рис. 6.6, эти редакторы также предоставляют функциональные возможности, которых в "Блокноте" вы не найдете: например, gedit автоматически выделяет части текста распознаваемых файлов программ (таких как файлы сценариев программной оболочки) другим цветом и шрифтом с полужирным начертанием, хотя это специальное форматирование в простых текстовых файлах все равно не сохраняется. Это специальное форматирование особенно важно для программистов, которым возможность видеть переменные, выделенными одним стилем, а операторы управления выполнением программы — другим, очень помогает. t**^(^вшшашяштшшшшшшлйшыл^ о * ЕНе Edit yjew search toots Documents fcjelp . Q e» \ Q • a 4 * ! New Open « i*» ' Pnnt ' i i'j f» ^cups.ah.eample X г * ~~ ~ *~ #### OS-Dependent Configuration in lS_ON^/sbin/chkconfig . if $IS_0N verbosej then ECH0=eeho else ECHO»! fi ECHO 0K«s ECHO ERROR-s Ж Copy i * Find unanip ' IRIX*) ¦BSD*) IS ON*: FCHP*echo tn 1. Col 1 Puc. 6.6. gedit, встроенный текстовый редактор в GNOME. Эквивалентен редактору KEdi t в KDE
Работа с приложениями Глава 6 НА ЗАМЕТКУ Если вы запустили KDE или GNOME от имени отличного от root пользователя (а так и должно быть), вы обнаружите, что не можете напрямую редактировать конфигурационные файлы системы, права на редактирование которых имеются только у пользователя root. В KDE вы можете обойти эту проблему, щелкнув на кнопке Options (Параметры) в диалоговом окне Run Command (Выполнить команду), отметив флажок Different User (Другой пользователь) в появившейся после этого панели и затем указав имя пользователя и пароль пользователя root для того, чтобы получить привилегии пользователя root (которые будут действительными только для текущего процесса (сеанса) KEdit). В GNOME такой возможности, к сожалению, нет; вам придется либо запустить GNOME от лица пользователя root {что очень опасно), либо просто сохранить отредактированный файл в папке, в которой вам разрешено выполнять запись, а затем воспользоваться командной su в терминальном окне, чтобы сымитировать привилегии пользователя root, и переместить отредактированный файл обратно на его место. Именно из-за необходимости выполнять так много лишних операций даже пользователи KDE и GNOME для работы с конфигурационными файлами системы часто предпочитают пользоваться текстовыми редакторами, имеющими не графический интерфейс, а интерфейс командной строки. Офисные приложения То, что вы пользуетесь операционной системой с открытым кодом, вовсе не означает, что вам придется обходиться без "рабочих** приложений, к которым вы привыкли, когда применяли Windows. Долгое время офисные приложения, способные заменить коммерческие, но крайне необходимые приложения Microsoft Office, были дефицитом в мире ПО с открытым кодом, но сегодня на рынке доступно уже несколько замечательных офисных пакетов, которые предоставляют все те же функциональные возможности, что и Microsoft Office, и даже больше. KDE поставляется со встроенным офисным пакетом, который называется KOffice. KOffice включает одиннадцать приложений; среди них такие приложения, как KWord, KSpread, KPresenter и Kivio, которые по своим функциональным возможностям соответствуют таким приложениям, как Word, Excel, PowerPoint и Visio. В KOffice также доступно приложение Krita, которое представляет собой мощную программу для работы с изображениями типа Photoshop, и еще несколько других приложений, которых в пакете Microsoft Office нет. Приложения пакета KOffice можно найти в меню К, в разделе Office (Офисные приложения). Пользователям GNOME придется устанавливать офисные приложения отдельно, но главное что они есть: AbiWord — это текстовый процессор наподобие Word; Gnumeric — это приложение типа электронной таблицы* a GNOME-DB — это программа для работы с базами данных. AbiWord можно найти в коллекции портов или пакетов FreeBSD, в категории editors, a Gnumeric — в разделе math. Однако, пока в пакете GNOME Office-больше никакие другие приложения не доступны, поэтому возможно вы захотите попробовать работать с приложениями из пакета KOffice (многие из которых спокойно запускаются и в GNOME) или же воспользоваться третьим из доступных для FreeBSD офисным пакетом. OpenOffice.org (так называется и сам офисный пакет, и Web-сайт, на котором его можно найти) — это вариант разработанного корпорацией Sun пакета StarOffice, исходный код которого был сделан полностью доступным и в основе которого лежат новые стандарты функциональной совместимости. OpenOffice 2.0 (эта версия является самой последней на сегодняшний день) включает шесть приложений: Writer,
188 FreeBSD как настольная система Часть II Impress и Calc, которые по своим функциональным возможностям соответствуют Word, PowerPoint и Excel, а также Math (редактор математических формул), Draw (программа для работы с векторной графикой и создания диаграмм, подобная Visio) и Base (серверное приложение для работы с базами данных). На рис. 6.7 показано, как выглядит окно программы Writer. Erie Edit View |ns«rt Fftrmat Table look Window Help fy Default «¦ BftstraamVeraSenf Ў 12 s / и. m x ш •» ss * * Д-»"&- к _1_ i ::» S ^ ^ lS V i ifc ¦"* « :* - OpenOfflce.org Demonstration OpenOffice Wnter has a lot of features you'd expect to find in commercial office applications such as §реЩ&Пбс?щд, ш-line images, and automatic bulleted lists: 1. Drag-and-drop from the desktop 2. AnJjaiJaftgd fonts 3. 100» WSRT STD jHYP * Рис. 6.7. OpmOffice.org Writer, прекрасная подобная Microsoft Word про- грамма, которая распространяется с открытым кодом и предлагает множество уникальных функциональных возможностей OpenOffice 2.0 можно найти в коллекции портов и пакетов FreeBSD, в категории editors. Если вы решите загрузить OpenOffice 2.0 через Internet, скорее всего, вы от- дадите предпочтение пакетной версии, потому что полная версия со всем исходным кодом занимает 262 Мбайт и на ее компиляцию может уйти огромное количество времени. Если найти этот пакет с помощью команды pkg_add -r openoffice-2.0 не удается, зайдите на сайт OpenOffice.org и, следуя по ссылкам, загрузите FreeBSD- версию этого пакета, а затем установите его, воспользовавшись командой pkg_add имя-файла-пакета. Функциональная совместимость Когда речь заходит об офисных приложениях, распространяемых с открытым кодом, у всех, естественно, возникает вопрос о функциональной совместимости поддерживаемых ими файловых форматов. Одно дело иметь замечательную программу обработки текстов или полнофункциональную электронную таблицу для создания и распечатки своих собственных файлов, но какой от них толк, если с их помощью нельзя ни открывать документы, присылаемые коллегами по работе, ни создавать документы, которые те могли бы прочитать в Microsoft Word, Excel или PowerPoint? Разработчикам всех трех упоминавшихся здесь офисных пакетов было очень хорошо известно об этом существующем уже много лет "камне преткновения**. Поэтому
Работа с приложениями | 7Г7 I Глава 6 I I разработчики OpenOfflce.org создали формат, который называется OpenDocument. Этот формат представляет собой основанную на XML расширяемую архитектуру, и он получил одобрение OASIS (это организация, занимающаяся разработкой стандартов для основанных на XML форматов данных в офисных документах). Целью как OASIS, так и OpenDocument является сделать так, чтобы в будущем текстовые документы, электронные таблицы и другие, имеющие очень важное значение, виды офисных документов не привязывались к одному единственному приложению, а могли нормально открываться в других приложениях без потери своих функциональных возможностей. Компании, среди которых ЮМ, одобрили формат OpenDocument и сейчас занимаются разработкой приложений, которые будут его поддерживать. Корпорация Microsoft, которая до настоящего время контролировала файловые форматы для Word, Excel, PowerPoint и других выпускаемых ею офисных приложений, пока (по не совсем понятной причине) отказалась принимать формат OpenDocument и предпочла продвигать свой собственный "полуоткрытый" основанный на XML стандарт для документов; но Microsoft является спонсором организации OASIS, поэтому можно не сомневаться, что в ближайшем будущем этот вопрос станет источником проблем и разногласий. Пока что же он остается открытым и активно обсуждается; более подробную информацию и все последние новости об успехах формата OpenDocument можно найти на Web-сайте OpenOffice.org. Тем не менее, все описываемые в этой главе офисные приложения — KOffice, GNOME Office и OpenOfflce.org — позволяют читать документы Microsoft Word и Excel. Запись в документы форматов Microsoft, однако, они поддерживают хуже. Предметом гордости OpenOfflce.org является возможность создания полностью совместимых с продуктами Microsoft файлов в таких программах, как Writer, Calc и Impress; этим же может похвастаться и программа AbiWord. Программа Gnumeric, однако, позволяет только импортировать файлы Excel, но не экспортировать их. А приложения из пакета KOffice, такие как KWord и KSpread, пока имеют только фильтры, которые поддерживают импортирование документов Microsoft Office; выполнять в них запись они пока еще не разрешают. (Последние новости о состоянии функциональной совместимости приложений KOffice можно найти по адресу http: //kof f ice. org/f ilters.) Поскольку функциональная совместимость является главной задачей и самой привлекательной характеристикой пакета OpenOffice.org (который доступен для всех коммерческих платформ, а не только ддя UNIX), он, скорее всего, окажется наиболее подходящим вариантом для вас, если вам необходимо иметь возможность работать с совместимыми с Microsoft Office приложениями, какую бы настольную среду вы не использовали. Создание и редактирование изображений с помощью GIMP Для FreeBSD доступно несколько программ, позволяющих работать с графикой или редактировать изображения, вроде программы bitmap, которая позволяет создавать фоновые узоры и указатели мыши, и программы Xfig, позволяющей делать рисунки и иллюстрации. KDE и GNOME тоже поставляются с простыми программами для редактирования изображений, такими как программа KolorPaint, которая является эквивалентом программы Microsoft Paint, и программа Krita, которая пред-
190 FreeBSD как настольная система Часть II ставляет собой полнофункциональное приложение типа Photoshop и входит в пакет KOffice. Однако самой значительной и полнофункциональной программой для работы с графикой в мире ПО с открытым кодом на сегодняшний день является программа GIMP. GIMP (GNU Image Manipulation Program — Программа манипулирования изображениями GNU) — это доступная бесплатно программа для редактирования изображений, которая разрабатывалась как часть проекта GNU. Она обладает множеством усовершенствованных функциональных возможностей, среди которых слои, фильтры, пути и поддержка для ввода данных с планшетных ПК. Она создавалась с целью предоставить пользователям бесплатный вариант Adobe Photoshop и поэтому названия многих опций в GIMP будут вам знакомы и понятны, если вы знакомы с Photoshop. К схеме расположения элементов в GIMP, однако, придется какое-то время привыкать. GIMP распознает большинство популярных форматов изображений, в частности BMP, GIF, JPEG, PNG, PCX и TIFE GIMP также может считывать файлы PostScript и даже считывать и записывать файлы в формате PSD (Photoshop). GIMP можно найти в коллекции портов и пакетов FreeBSD, в категории graphics. Установив GIMP, вы можете просто ввести gimp в терминальном окне сеанса XII или воспользоваться окном Run Application (Запуск приложения) или Run Command (Выполнить команду), как описывалось ранее в этой главе. На рис. 6.8 показано основное окно панели управления GIMP в самом простом его виде, без дополнительных палитр и окон. Ешгш*шл№*т® \ Eile ?tns tjelp ] И» «* N 4J Ч» Щ / ? а * А «ъяавт <2и Б 9 J a A \р & & & * | 1 ь J ^ J Рис. 6.8. Главное окно панели управления GIMP позволяет получать доступ к раз- личным доступным в GIMP средствам, а также загружать и сохранять файлы Отправной точкой в GIMP, как правило, служит меню File (Файл). С его помощью можно открыть существующий файл, создать новый файл или получить изображение (либо из снимка экрана, либо с поддерживаемого сканера, если он установлен). На рис. 6.9 показано диалоговое окно Open Image (Открытие файла) в GIMP. В нем сначала отображается ваш домашний каталог, из которого вы запросто можете перейти в папку, где находятся файлы изображения; выберите какой-нибудь файл изображения, и его миниатюра сразу же появится в панели предварительного просмотра, которая находится в самой правой части окна. Вы также можете воспользоваться выпадающим меню Select File Type (Тип файлов), чтобы просмотреть весь перечень файлов, которые может открывать GIMP.
Работа с приложениями Глава 6 191 :ШШШ^ШШШ9^ |e>DtiktQp S Fikiyitem J_= I Bb'hwiif' | Nam* 0> Desktop *>QNU»tep (&Timpl«tii Qbttmtp.tifF hbleekbo*.tiff Oblth Dfliti p«ta hfii.3 Qfil4 In nrwnrt trfF Ў | Modified | p| 11/12/05 11Д2/05 11/07/05 11ДЭ/05 [J 11/13/05 g Tuesday Щ 11/10/05 № 11/10/05 1 11/10/05 1 11/10/05 i nn?«v% E P/avlew glmpl.tiff 31.4 KB 200х272рЫе1е RGB, 1 Layer All Files > Select File Дуре (Automatically Detected) S8a«'p | If Cancel B»Qpen I Puc. 6.9. Открытие файла в GIMP. В окно открытия файлов встроено окно для предварительного просмотра, а также фильтры для фильтрации файлов по типам Открыв нужный файл (или создав новый) вы можете использовать различные кисти и инструменты редактирования (которые доступны в большом количестве и многие из которых являются копией аналогичных опций Photoshop), чтобы отредактировать изображение. Используйте слои, чтобы отредактировать части изображения, не причиняя вреда, и пути, чтобы нарисовать плавные кривые, которые вы затем сможете "заштриховать" линией выбранного стиля. И, наконец, сохраните файл в формате XCF, который является используемым по умолчанию форматом в GIMP, или выберите формат Photoshop PSD, чтобы создать файл, который смогут открывать пользователи Photoshop и в котором сохранится вся информация о созданных вами слоях и путях. В диалоговом окне Save Image (Сохранение файла) укажите тип выходного файла, просто включив в имя файла необходимое расширение; например, для сохранения изображения как файла TIFF в поле для имени файла введите имя. tiff. Аудиоприложения Поддержка звуковых и мультимедийных устройств в FreeBSD стала значительно лучше за последние годы, а ведь долгое время ее вообще практически не было. Сегодня FreeBSD поддерживает достаточно большое количество различных популярных звуковых карт, будь то хоть подключаемые устройства типа устройств серии SoundBlaster производства компании Creative или интегрируемые в материнскую плату наборы звуковых микросхем типа микросхем серии nForce производства NVIDIA. Если у вас установлена одна из этих или множества других популярных звуковых карт, шансы, что FreeBSD будет ее поддерживать с помощью своего собственного драйвера, очень высоки. Даже если у FreeBSD нет своего собственного драйвера для поддержки вашей звуковой карты, скорее всего, вы сможете приобрести нужный вам драйвер у компании 4Front Technologies. Звуковые драйверы для FreeBSD б.дс (и более ранних версий) доступны за $49 на официальном Web-сайте этой компании, который
I 777 I FreeBSD как настольная система 192 I '* I Часть II находится по адресу http://www.opensound.com; там также доступны и бесплатные демонстрационные версии драйверов. Активизация звуковой поддержки В конфигурации по умолчанию у FreeBSD нет активной аудиоподсистемы. Звуковые драйверы доступны в коллекции модулей ядра, по одному для каждого типа популярной звуковой карты» Чтобы добавить звуковую поддержку, вам придется загрузить соответствующий модуль ядра. Все звуковые драйверы находятся в каталоге /boot/kernel, и названия у всех них начинаются с префикса snd_. Если определить на глаз, соответствует ли модель имеющейся звуковой карты какому- нибудь из модулей ядра по названию, вам не удается, воспользуйтесь посвященным поддерживаемому оборудованию разделом "FreeBSD Handbook" ("Руководство по FreeBSD"), который доступен по адресу http://www.freebsd.org/releases/6.OR/ hardware-i386.html#SOUND (укажите в этом адресе номер своей версии FreeBSD). Например, карта SoundBlaster Audigy 2 поддерживается драйвером snd_emulOkl. СОВЕТ Если вы все еще не уверены, какой драйвер следует использовать, или не можете найти свою звуковую карту в списке поддерживаемого оборудования на сайте руководства, вы можете попробовать воспользоваться модулем общего назначения snd_driver. Это мета-драйвер, который загружает в ядро сразу все звуковые драйверы одновременно, что может заставить вашу звуковую карту заработать. Однако все-таки лучше точно узнать, какой драйвер нужен: одновременная загрузка множества модулей ядра чревата дестабилизацией системы. Поэтому, загрузив драйверы, воспользуйтесь командной cat /dev/sndstat, чтобы точно узнать, какой именно драйвер используется. Узнав, какой драйвер нужно использовать, добавьте его в файл /boot/loader .conf для того, чтобы сделать так, чтобы он загружался во время загрузки системы: snd_emulOkl_load="YES" Затем перезагрузите компьютер. Если вы не хотите перезагружать компьютер, вы можете воспользоваться командой kldload, и загрузить модуль ядра немедленно: # kldload snd_emulOkl Затем введите команду kldstat, чтобы удостовериться в том, что звуковой драйвер загрузился. Активизировав подходящий звуковой драйвер и перезагрузив систему, введите dmesg | more, чтобы проверить вывод dmesg, генерируемый ядром. Отыщите в нем информацию, подтверждающую то, что звуковая карта была обнаружена при загрузке системе и работает нормально. Например, в моей системе вывод dmesg содержит следующие строки: sbcO: <Creative SB AWE64> at port 0x220-0x22f, 0x330-0x331, 0x388-0x38b irq 5 drq 1,5 on isaO pcml: <SB16 DSP 4.16> on sbcO Этот вывод показывает, что FreeBSD обнаружила звуковую карту SoundBlaster AWE 64, и сообщает адреса памяти и порт IRQ, которые занимает эта карта. Восполь-
Работа с приложениями Глава 6 193 зуйтесь командной /dev/sndstat, чтобы узнать больше о состоянии звуковой карты и убедиться в том, что система распознала ее правильно. Если FreeBSD не удается обнаружить вашу звуковую карту, попробуйте воспользоваться звуковыми драйверами 4Front. Как уже упоминалось, их можно получить по адресу http://www.opensound.com. СОВЕТ Чтобы ускорить процесс загрузки системы, вы, возможно, захотите скомпилировать драйвер звуковой карты в ядро так, чтобы FreeBSD не приходилось загружать его динамически при каждом включении или перезагрузке компьютера. Чтобы сделать это, добавьте в конфигурационный файл ядра — /usr/src/sys/i386/conf /MYKERNEL — две следующих строки: device sound device "snd_eraulOkl" Используйте соответствующий звуковой драйвер, указанный во второй строке. Затем перекомпилируйте ядро (процедура перекомпиляции ядра подробно описывается в главе 18). Обратите внимание на то, что когда звуковая поддержка добавляется (встраивается) в ядро, она может конфликтовать со звуковыми драйверами 4Front, если таковые приобретались; поэтому, не забудьте удалить эти драйверы из файла /boot/loader .conf, если вы их туда добавляли. НА ЗАМЕТКУ Обычно в FreeBSD генерировать аудиовывод одновременно может только одно приложение; если одно приложение запустило звуковое устройство, вы можете получить ошибку типа "не удается открыть /dev/desp!". Если подобное случится, попробуйте воспользоваться командной fstat I grep /dev/dsp, чтобы узнать, не занимает ли приложение, которое вы оставили запущенным (или которое запустил другой пользователь), устройство звукового вывода. Использование микшера Следующий шаг в настройке звука после загрузки модулей ядра со звуковой поддержкой связан с тем, чтобы с помощью микшера настроить подходящие уровни звукового вывода различных звуковых источников и установить диапазоны частот. Получить доступ к микшеру FreeBSD можно из командной строки. Чтобы сделать это, в командной строке оболочки или терминальном окне введите mixer и нажмите клавишу <Enter>. После этого ваша система выдаст примерно такие сообщения: Mixer vol is currently set to 75:75 Mixer bass is currently set to 50:50 Mixer treble is currently set to 50:50 Mixer synth is currently set to 75:75 Mixer pcm is currently set to 75:75 Mixer speaker is currently set to 75:75 Mixer line is currently set to 75:75 Mixer mic is currently set to 0:0 Mixer cd is currently set to 75:75 Mixer igain is currently set to 0:0 Mixer ogain is currently set to 50:50
194 FreeBSD как настольная система Часть II Эти сообщения демонстрируют установленные для каждого имеющегося в системе аудиоустройства уровни звукового вывода (значения приводятся в процентах от О до 100). Числа, разделенные знаком двоеточия, представляют левый и правый стереоканал каждого звукового компонента. Большинство элементов в этом списке не требует пояснения, но некоторые из них все же заслуживают особого внимания: • Mixer vol — это главный регулятор громкости для всех аудиоустройств. • Mixer pcm — это устройство, через которое воспроизводится большая часть аудиоданных. Именно это устройство будет отвечать за громкость воспроизведения файлов WAV, MP3, Real Audio и тому подобных. • Mixer synth — отвечает за уровень громкости синтезатора. Обычно влияет на файлы MIDI. • Mixer cd — отвечает за уровень громкости воспроизведения звуковых компакт- дисков. • Mixer line — отвечает за уровень громкости устройства, подключаемого к линии в разъеме звуковой карты. • Mixer igain — отвечает за уровень усиления громкости входящего потока. • Mixer ogain — отвечает за уровень усиления громкости исходящего потока. При желании изменить какой-нибудь из этих уровней, вы можете ввести mixer, a затем — имя устройства и требуемый уровень. Например, если вы введете следующую команду, уровень громкости вывода CD-устройства будет увеличен до девяноста процентов как в левом, так и в правом стереоканале: • mixer cd 90 Если вы хотите указать разные уровни для левого и правого канала, введите два значения, разделив их символом двоеточия. Например, если вы введете следующую команду, в левом канале уровень громкости будет увеличен до 100 процентов, а в правом — до 80. • mixer cd 100:80 Во время загрузки системы для большинства параметров микшера по умолчанию устанавливается значение, равное семидесяти пяти процентам. Если вы хотите, чтобы при загрузке системы для этих параметров по умолчанию устанавливались другие значения, у вас есть два варианта. Первый — создать в каталоге /usr/local/etc/rc.d загрузочный файл и включить в него список нужных команд микшера. Назвать этот файл можно как угодно. Например, вы можете назвать его mixer set. Ниже показан пример содержимого такого файла: mixer vol 80:80 mixer cd 90:90 mixer pcm 50:50 От имени пользователя root создайте такой файл в каталоге /usr/local/etc/ red и сохраните его под именем mixerset, например. Далее, сделайте этот файл исполняемым, выполнив следующую команду: • chmod u+x mixerset
Работа с приложениями Глава 6 195 Перечисленные в этом файле команды теперь будут выполняться при каждой загрузке системы, и тем самым для параметров микшера будут устанавливаться требуемые значения. СОВЕТ Если описанные шаги вам не совсем понятны, прочитайте главы 8 и 14, в которых приводится более подробная информация по этой теме. Второй вариант — добавить команды в сценарий регистрации (о котором более подробно будет рассказываться в главе 11). Откройте в своем любимом текстовом редакторе либо файл .profile, либо файл . login (в зависимости о того, какую программную оболочку вы используете) и добавьте в него те команды микшера, которые вы хотите изменить. Например, вы можете захотеть добавить в этот файл следующие строки: mixer vol 80:80 mixer cd 50:50 mixer pcm 90:90 В отличие от загрузочного файла, для внесения изменений в этот файл наличие привилегий пользователя root не обязательно. Более того, эти изменения будут вступать в силу не при загрузке системы, а при регистрации. Преимущество такого подхода заключается в том, что если системой пользуется не один, а несколько пользователей, каждый из них может создать свой собственный набор параметров настройки микшера, отвечающих его личным предпочтениям. Каждый раз, когда этот пользователь будет регистрироваться в системе, применяться будут его личные (специальные) настройки микшера. Микшеры в Х11 Тем, кто предпочитает иметь дело с графическим интерфейсом, интересно будет узнать, что для микшера доступно сразу несколько работающих на базе XII интерфейсов. Среди них KMix для KDE и GMix для GNOME, оба из которых являются стандартными компонентами соответствующих настольных сред. На рис. 6.10 показан интерфейс программы xmixer, которую можно найти в коллекции портов и пакетов FreeBSD, в разделе audio. ] 5»! ?*1 Jte]' Mof f 9ю» f 1»«Ы jp gynth|* Pern ^* 8pkr { Un* jf Ш jf CO \ iGifr f OGilnf ||[iJB EJE JiJi ЩШШ PUE fi-lf g&B ШРШ PUB EJE PUP || Puc. 6.10. xmixer, программа с графическим интерфейсом для настройки распознаваемых каналов звукового драйвера Используя пиктограммы xmixer, которые похожи на те, что применяются в Windows, вы можете визуально изменять уровень громкости левых и правых каналов
I 7Г7 I FreeBSD как настольная система 196 II Часть II (или полностью блокировать их) любого устройства звукового вывода, которое распознает FreeBSD. Вы также можете отключать определенные каналы, если они вам не нужны или если вы хотите сделать их беззвучными. Воспроизведение МРЗ-файлов в Х11 с помощью ХМ MS Теперь, когда вы настроили аудиоустройство, вы наверняка захотите воспроизвести с его помощью какие-нибудь звуки. Да, ваша МРЗ-коллекция будет работать в FreeBSD. Но для этого вам понадобится такая программа, как XMMS (X Multimedia System), которая представляет собой клон Winamp для FreeBSD и других систем типа UNIX и доступна в коллекции портов и коллекции пакетов FreeBSD в категории multimedia. НА ЗАМЕТКУ У KDE имеется свой собственный встроенный проигрыватель медиа, который называется Noatun. Если вы используете KDE, вы можете предпочесть работать с этой программой, а не с XMMS. В GNOME, в свою очередь, файлы МРЗ, Ogg Vorbis и другие типы аудиофайлов могут воспроизводиться с помощью такой программы, как Totem Movie Player. После установки XMMS вы можете запустить ее с помощью команды xmms, выдав ее либо в командной строке программной оболочки, либо в терминальном окне, либо в диалоговом окне Run Command (Выполнить команду) или эквивалентном ему окне Run Application (Запуск приложения) (если используется настольная среда GNOME). Вы также можете создать для XMMS записи в меню и ярлыки на рабочем столе, если знаете, что будете пользоваться этой программой регулярно. На рис. 6.11 показано окно XMMS, в котором также открыто окно микшера и окно со списком файлов для воспроизведения. Рис. 6.11. МРЗ-проигрыватель XMMS. Пользователи Windows, которые применяли проигрыватель Winamp, быстро разберутся в XMMS, потому что предлагаемые в XMMS элементы управления практически ничем не отличаются от тех, что доступны в Winamp
Работа с приложениями I 77Z I Глава 6 1 I Да, XMMS даже поддерживает обложки Winamp, и вам даже не нужно их предварительно извлекать из архива. Просто поместите свои заархивированные обложки для Winamp в каталог .xmms/Skins, который находится в вашем домашнем каталоге. Щелкните на пиктограмме, которая расположена в самом верхнем левом углу окна XMMS, затем выберите в меню Options (Параметры) пункт Skin Browser (Обложки). Появится диалоговое окно, в котором вы и сможете выбрать нужную обложку. СОВЕТ Для того, чтобы вы могли использовать заархивированные обложки, вам придется установить программу unzip, которая доступна в коллекции портов и пакетов FreeBSD и находится там в категории archivers. Помимо обложек Winamp, вы также можете использовать и обложки XMMS, которые в огромном количестве доступны по адресу http: //www.xmms.org/skins .php. Также как и обложки Winamp, их можно просто копировать в каталог .xmms/Skins, не извлекая из архива. Обложки XMMS обычно распространяются в виде файлов с расширением .tar .gz. Это популярный архивный формат для систем типа UNIX, который похож на формат ZIR XMMS также поддерживает различные подключаемые модули визуализации и ау- диоэффектов. Многие из них можно найти в коллекции портов и коллекции пакетов FreeBSD, в категории multimedia. НА ЗАМЕТКУ Вы можете создавать свои собственные файлы МРЗ или Ogg Vorbis из своей CD-коллекции, используя любое из нескольких приложений для копирования данных с компакт-дисков, которые доступны для командной строки, Х11 или KDE/GNOME. KDE поставляется с приложением KAudioCreator, a GNOME — с приложением Sound Juicer, оба из которых будут отыскивать в оперативной базе данных информацию о записанных на CD-диске композициях и применять ее к импортируемым композициям, когда вы будете их кодировать. Однако, если вам нужен полный набор функциональных возможностей для работы с музыкальными файлами, тогда вам лучше установить такое приложение, как Amarok (для КОЕ), которое представляет собой замечательную программу для работы с музыкой и списками воспроизведения с множеством усовершенствованных функциональных возможностей, которых нет даже в iTunes, или приложение Songbird, которое представляет собой музыкальную базу данных в стиле iTunes для Linux и которое FreeBSD сможет запускать в режиме эмуляции Linux. Сетевые приложения Для FreeBSD доступно огромное количество сетевых приложений. В этом разделе речь пойдет о Web-браузерах, программах по обработке электронной почты и FTP- приложениях, которые можно устанавливать в FreeBSD. Web-браузеры для Х11 В FreeBSD на выбор доступно сразу несколько замечательных Web-браузеров. Все они предлагают усовершенствованные функциональные возможности вроде воз-
FreeBSD как настольная система можности просмотра Web-страниц с вкладками и блокировки всплывающих окон, что очевидно делает их более привлекательными по сравнению с Web-браузерами, предлагаемыми для Windows. Главное место в мире Web-браузеров занимают браузеры семейства Mozilla, история которых началась во времена перехода компании Netscape на разработку ПО с открытым кодом, когда она была вынуждена признать, что проиграла борьбу на рынке коммерческих браузеров браузеру Microsoft Internet Explorer. За следующие несколько лет команда разработчиков Netscape с помощью тысяч добровольцев со всего мира создала механизм визуализации Gecko, браузер Mozilla (а также его коммерческий аналог Netscape 6/7) и, наконец, межплатформенный браузер Firefox, который получил широкое признание, какого команда Netscape не видела с 1996 года. В это же время Gecko был использован во многих альтернативных проектах браузеров, таких как Epiphany (этот настольный и Web-браузер впоследствии был встроен в GNOME). Тем временем на основе более новых и быстрых механизмов визуализации также разрабатывались и альтернативные браузеры, такие как Konqueror (встроенный браузер KDE), который был создан на основе KHTML. KHTML был настолько эффективным и совершенным, что послужил основой для браузера Safari, который разработала корпорация Apple и который был встроен в Mac OS X. Если вы работаете в KDE, в качестве браузера вы можете использовать приложение Konqueror, а если в GNOME — то приложение Epiphany. Однако, в любой из этих настольных сред, как, впрочем, и если применяется простой оконный диспетчер, браузер Mozilla или Firefox будет наилучшим выбором. НА ЗАМЕТКУ Поскольку Firefox является межплатформенным браузером, который может запускаться как в Windows, Mac OS X, так и в FreeBSD, вы можете установить его на всех своих компьютерах, какая бы операционная система на них не использовалась; вы также можете воспользоваться централизованной системой закладок, такой как del.icio.us для обеспечения согласованности в работе браузера на разных платформах. И Firefox, и Mozilla доступны в коллекции портов и пакетов FreeBSD, в категории www. Установив браузер, вы можете запустить его либо с помощью команды mozilla или firefox (в зависимости от того, какой из этих браузеров вы установили), либо выбрав его в меню приложений в KDE или GNOME. При первом запуске браузер Firefox предоставляет вам возможность импортировать ваши предпочтения, закладки и другие данные из предыдущей установки Netscape или Mozilla. Выберите подходящую опцию и щелкните на кнопке Next (Далее), чтобы пройти через процесс импортирования, если в этом есть необходимость. Когда вы сделаете это, можете начинать пользоваться Firefox (рис. 6.12) и всеми его современными функциональными возможностями, которые сделали этот браузер таким популярным на всех платформах. У Firefox имеется очень много опций настройки, получить доступ к которым можно, выбрав в меню Edit (Правка) пункт Preferences (Настройки). Вы можете изменить многие аспекты внешнего вида и поведения Firefox, включая то, как он будет обрабатывать сохраняемые ссылки на просматривавшиеся Web-страницы, пароли, вводимые в полях форм данные и cookie-наборы.
Работа с приложениями Глава 6 199 звди E<le Edit View fio Bookmark» Ioolt Help тштшввшшаш ' Ф Ъл1 •* http./A«ww.mozilla.corn/fir«fox/cer * © Go Й* •^Getting Started U»Uteat Haadl nt* Welcome to Firefox Redely to experieme the Гм fox diff lentW Heie are some tip & to ks for getting started Check out these cool features • T>bh»d Browsing. Surf more than one website at the tame time t* make browsing m re convenient • Uve Bgpkmarlca • peed up-to-date headlines from your favorite websites and Ы g« • Search Bar - Find what you want when you want Customize your browser Get the latest media pluqint for watching movies and Search playing gamee n your { ftnd Extensions j browser. Extend the power of Firefox with mno alive We can make tome reeommaryfowna. or you can search for yourself. Add search engines Vbeve put a few popular ear h sites in the ^r^ Рис. 6.12. Web-браузер Firefox. Щелкните на пиктограмме с округлым узором в форме цветка, которая находится в конце строки меню, чтобы узнать о дополнительных, более интересных возможностях Firefox и том, как ими пользоваться Web-браузер Lynx Lynx — это Web-браузер с интерфейсом командной строки, который запускается в текстовом режиме и не имеет никаких графических возможностей. Он пытается визуализировать Web-страницы в формате, наиболее близком к тому, в котором они бы отображались в графическом браузере. Работать в Web с браузером Lynx становится все труднее и труднее в наши дни, потому что он не поддерживает изображений, фреймов, JavaScript, CSS, Flash и прочих технологий, которые делают сегодняшние Web-страницы такими, какие они есть. Поскольку на многих сайтах в качестве ссылок используются изображения и дескрипторы ALT не применяются, это может привести к появлению навигационных проблем в Lynx, которые будет трудно или вообще невозможно обойти. Однако Lynx по-прежнему остается незаменимым средством для загрузки важных файлов или получения важной информации с утилитарных сайтов, например, для загрузки репозиториев или документальных архивов, особенно если используется система, на которой не установлена XII. На рис. 6.13 показано окно Lynx с загруженным в нем (теперь достаточно "недружественным" к Lynx) Web- сайтом FreeBSD. Lynx по-прежнему может работать со многими сайтами, хотя навигация в них теперь не всегда оказывается такой уж простой задачей. Для перехода по ссылкам в окне браузера используйте клавиши с изображением стрелки вверх и стрелки вниз; для перехода на одну ссылку вперед или назад применяйте клавиши с изображением стрелки вправо и стрелки влево. Клавиша пробела выполняет тоже действие, что и клавиша <Page Down>. Чтобы перейти на другЪй Web-сайт, введите G; после этого появится приглашение ввести URL-адрес. Чтобы завершить работу Lynx, нажмите клавишу <Q>.
200 FreeBSD как настольная система Часть II The FreeBSD Project (pi of 9) | FreeBSD Security Mvteories FreeBSD СМИЕ Project***» Skip site navigation (1) Skip section navigation (2) Header And Logo ol/ Peripheral Links * Text Size: ¦ Contact Arrow keys: Up and Down to Move. Right to follow a link.; Left to go back. h>lp Options P>int G)o h>in screen Q)uit /search [deletej-hiatory list | Рис. 6.13. Web-сайт FreeBSD в окне браузера Lynx Lynx доступен в коллекции портов и пакетов FreeBSD, в категории www. Более подробную информацию о Lynx и его опциях настройки можно найти на соответствующей странице руководства: man lynx. СОВЕТ Lynx постепенно вытесняют более полнофункциональные текстовые браузеры, такие как w3m и link, оба из которых доступны в категории www коллекции портов и пакетов. Эти браузеры пытаются визуализировать такие элементы, как фреймы, таблицы и меню, что выходит за пределы возможностей Lynx. FTP FTP (File Transfer Protocol — протокол передачи файлов) — это проверенный временем, надежный метод передачи файлов между системами. Пользователям Windows протокол FTP может быть знаком только в качестве способа для загрузки ПО с центрального сервера распространения; но, являясь владельцем системы FreeBSD, вы сможете превратить свою собственную машину в FTP-сервер и тем самым обеспечить себе возможность передачи файлов в двух направлениях с минимальным количеством затрат. (Подробнее о том, как именно это делается, будет рассказываться в главе 27.) Использование FTP для загрузки файлов — это утилитарная область, которая никогда особо не разрабатывалась для приложений с графическим пользовательским интерфейсом в мире ПО с открытым кодом. Традиционный способ передачи файлов через FTP представляет собой довольно старый способ и предполагает просто выполнение программы ftp в командной строке. Чтобы запустить сеанс FTP, введите ftp, а затем — имя сервера, к которому вы хотите подключиться. Например, для подключения к FTP-серверу FreeBSD необходимо ввести следующую строку: # ftp ftp.freebsd.org
Работа с приложениями Глава 6 201 Когда вы сделаете это (если соединение будет успешно установлено), на экране через какое-то время появится следующее сообщение: Connected to ftp.freebsd.org. 220 ftp.FreeBSD.org NcFTPd Server (licensed copy) ready. Name (ftp.freebsd.org:btman): Подключено к ftp.freebsd.org. 220 ftp.FreeBSD.org Сервер NcFTPd (лицензированная копия) готов. Имя (ftp.freebsd.org:btman): Вы можете подключиться к приватному FTP-серверу, на котором вам потребуется создать для себя отдельную учетную запись пользователя, а можете — к серверу общего доступа, на котором разрешено регистрироваться как анонимному пользователю. Если вы подключились к приватному серверу, в командной строке с подсказкой Name введите название своей учетной записи и нажмите клавишу <Enter>, а затем, когда появится соответствующее приглашение, введите свой пароль. Если вы подключились к общественному серверу, введите специальное имя пользователя anonymous. После этого вы увидите следующее сообщение: 331 Guest login ok, send your e-mail address as password. Password: $31 Гостевой вход разрешен, в качестве пароля укажите свой электронный адрес Пароль: На общественных FTP-серверах средством для регистрации подключающихся пользователей служат пароли, в качестве которых предлагается указать свой электронный адрес; будет это действительный электронный адрес и выдуманный — решать вам. Введите в качестве пароля электронный адрес (настоящий или придуманный, как хотите). Обратите внимание на то, что вводимый вами пароль отображаться на экране не будет. Когда вы зарегистрируетесь, на экране появится приветственное сообщение, а затем какое-нибудь такое сообщение: Remote system type is UNIX. Using binary mode to transfer files. ftp> Удаленная система: UNIX. Для передачи файлов будет использоваться бинарный режим. ftp> Далее вы можете использовать многие те же команды, что и в локальной оболочке, для навигации по FTP-серверу. (Более подробно команды программной оболочки и правила работы с ними будут рассматриваться в главе 8.) В табл. 6.9 перечислены некоторые наиболее часто используемые в сеансах FTP команды. Вы также можете ввести после приглашения f tp> команду help, чтобы получить список всех доступных команд. Если после help вы введете одну из перечисленных в этом списке команд, вы получите краткое описание того, что эта команда делает.
202 FreeBSD как настольная система Часть II Таблица 6.9. Команды, наиболее часто используемые при работе с FTP Команда Действие Is cd pwd led binary put filename (имя файла) remotename (удаленное имя) mput filel (файл!) file2 (файл 2) get filename (имя файла) localname (локальное имя) mget filel (файл!) file2 (файл 2) Отображает содержимое каталогов удаленного хоста. Переводит в другой каталог на удаленном хосте. Отображает текущий каталог удаленного хоста, в котором вы сейчас находитесь. Переводит в другой каталог на локальном хосте. (Эта команда доступна лишь в некоторых клиентских программах FTP.) Передает файлы в бинарном режиме (этот режим следует использовать для передачи любых файлов, кроме текстовых). Передает файлы в режиме ASCII (этот режим следует использовать для передачи только обычных текстовых файлов и то только если это действительно необходимо). Задачей режима ASCII является преобразование символов конца строки в текстовых файлах из формата, в котором они используются на исходном хосте, в формат, принятый на целевом хосте. Если файлы передаются из UNIX в Windows или наоборот, режим ASCII играет важную роль; но между системами UNIX в преобразовании нет никакой необходимости, поэтому в таком случае этот режим не имеет никакого значения (то есть использовать его не нужно). Копирует файл filename (имя файла) на удаленный хост. Если путь к файлу filename (имя файла) не указывается, предполагается, что он находится в текущем каталоге. Если не указывается целевой файл, файл filename (имя файла) будет размещен на удаленном хосте в текущем каталоге и иметь такое же имя, как и локальный файл. (Эта команда будет работать только при наличии разрешения записывать данные в каталог на удаленной машине.) Аргумент remotename (удаленное имя) является необязательным; если он вводится, файлу, скопированному на удаленный хост, присваивается указанное в нем имя. Копирует перечисленные файлы на удаленный хост. Эти файлы помещаются в текущий каталог на удаленном хосте. (Чтобы эта команда работала, потребуется наличие разрешения на выполнение записи данных в каталог на удаленной машине.) Копирует файл с удаленного хоста на локальную систему. Если путь не указывается, предполагается, что файл находится в текущем каталоге на удаленном хосте. Если не указывается целевой файл, файл копируется на локальную систему с тем же именем. Аргумент localname (локальное имя) является необязательным; если он задается, файлу на локальном хосте присваивается указанное в нем имя. Извлекает перечисленные файлы с удаленного хоста. Эти файлы размещаются в локальной системе в текущем каталоге. В этой команде также можно применять групповой символ * для извлечения из каталога всех файлов, которые отвечают заданным критериям.
Работа с приложениями Глава 6 203 Окончание табл. 6.9 Команда Действие mkdir dirname (имя каталога) rmdir dirname (имя каталога) или rm dirname (имя каталога) del filename (имя файла) bye или quit Создает на удаленной машине каталог под названием dirname (конечно, при условии наличия у использующего ее пользователя соответствующих прав). Удаляет с удаленной машины каталог под названием dirname (конечно, при условии наличия у использующего ее пользователя соответствующих прав). Удаляет с удаленной машины файл filename (имя файла) (конечно, при условии наличия у использующего ее пользователя соответствующих прав). Разрывает соединение с удаленным хостом и завершает работу программы FTP, возвращая пользователя в программную оболочку. Например: f tp> help Commands may j $ account append ascii bell binary bye case cd cdup chmod close cr debug delete dir disconnect edit epsv4 exit be abbreviated. features fget form ftp gate get glob hash help idle image led less lpage lpwd Is macdef mdelete mdir mget mkdir Commands are: mis mlsd mist mode modtime more mput mreget msend newer nlist nmap ntrans open page passive pdir pis pmlsd preserve progress prompt proxy put pwd quit quote rate revbuf recv reget remopts rename reset restart rhelp rmdir rstatus runique send sendport set site size sndbuf status struct sunique system tenex throttle trace type umask unset usage user verbose xferbuf ? ftp> help mdir mdir lis^t contents of multiple remote directories ftp> Более подробную информацию об использовании FTP вы сможете найти на соответствующей странице руководства. Чтобы получить доступ к этой странице, просто введите в командной строке оболочки команду man ftp. Также не лишним для вас будет прочитать в главе 8 разделы, посвященные командам для работы с файлами, потому что команды, используемые в FTP, очень на них похожи. В листинге 6.1 показан пример того, как может выглядеть сеанс FTR
204 FreeBSD как настольная система Часть II Листинг 6.1. Пример сеанса FTP # ftp ftp.freebsd.org Trying 62.243.72.50.. . Connected to ftp.freebsd.org. 220 ftp.FreeBSD.org NcFTPd Server (licensed copy) ready. Name (ftp.freebsd.org:btman): anonymous 331 Guest login ok, send your complete e-mail address as password. Password: 230-You are user #113 of 1000 simultaneous users allowed. 230- 230 Logged in anonymously. Remote system type is UNIX. Using binary mode to transfer files. f tp> Is 502 Unimplemented command. 227 Entering Passive Mode (62,243,72,50,247,103) 150 Data connection accepted from 12.104.153.15:4481; transfer starting. drwxr-xr-x 3 ftpuser ftpusers 512 Oct 12 09:27 pub drwxr-xr-x 3 ftpuser ftpusers 512 Oct 12 10:48 sug 226 Listing completed. f tp> cd pub/FreeBSD/tools 250 "/pub/FreeBSD/tools" is new cwd. ftp> get gunzip.exe local: gunzip.exe remote: gunzip.exe 227 Entering Passive Mode (62,243/72,50,245,41) 150 Data connection accepted from 12.104.153.15:4542; transfer starting *=>for gunzip.exe (37178 bytes) . 100% | *************************************| 37178 42.41 KB/s 00:00 226 Transfer completed. 37178 bytes received in 00:00 (42.38 KB/s) f tp> bye 221 Goodbye. # Если вы бы предпочли работать в XII с каким-нибудь графическим клиентом FTP, знайте, что в категории ftp доступны несколько использующих GUI-интерфейс клиентских приложений FTP. Среди них ряд таких, которые интегрируются в KDE (типа приложения Kasablanca), и несколько таких, которые работают в любой настольной среде (вроде программы f tpcube), а также парочка таких, которые работают одинаково хорошо в обоих режимах (типа программы gf tp). Эти полнофункциональные клиентские FTP-приложения обычно поддерживают шифрование SSL/TLS, многопоточную обработку, управление сайтами (закладки) и передачу файлов путем перетаскивания. Однако, хотя они и являются столь удобными и дружественными к пользователю, большинство пользователей UNIX все равно предпочитают применять для выполнения своих повседневных задач, связанных с передачей файлов, проверенный временем FTP-клиент с интерфейсом командной строки. Приложения электронной почты Приложение электронной почты было разработано для Internet одним из первых и по сей день остается одной из самых популярных и необходимых программ. Для
Работа с приложениями | ГГГ I Глава 6 I I FreeBSD доступно множество клиентских приложений электронной почты, как с графическим интерфейсом, так и с интерфейсом командной строки. Как администратору FreeBSD, вам придется установить клиентские приложения электронной почты не только для себя, но и для всех пользователей, которым вы хотите разрешить доступ к вашей системе: они могут предпочесть пользоваться не графическим клиентом на своей машине Windows, а клиентом с интерфейсом командной строки, таким как Pine, прямо на сервере FreeBSD. В этом разделе мы рассмотрим несколько наиболее популярных клиентских приложений электронной почты, доступных как для командной оболочки, так и для XII. СОВЕТ Помимо Internet-соединения, вам также нужно будет сконфигурировать и настроить агент передачи сообщений (Mail Transfer Agent — МТА), такой как Sendmail, прежде чем вы сможете пользоваться каким-либо из этих клиентских приложений электронной почты. Кроме того, при необходимости извлекать почту с сервера РОРЗ или IMAP поставщика услуг Internet, вам также нужно будет сконфигурировать службу вроде Fetchmaii. He все из рассматриваемых здесь клиентских приложений требуют соблюдения этого условия, поскольку некоторые из них могут передавать почту самостоятельно; но если вы амбициозны и любите, чтобы все было по правилам, вы пожалуй все равно предпочтете применять Fetchmaii вместе с локальным агентом передачи сообщений (МТА). Такая конфигурация предоставляет намного больше возможностей при работе с электронной почтой, потому что предполагает использование "родной" системы обработки почты FreeBSD и позволяет программной оболочке или утилитам, таким как xbif f, уведомлять вас о поступлении нового электронного сообщения. Эти возможности будут недоступны, если вы будете пользоваться встроенными функциями почтового клиентского приложения. Более подробно о том, как именно можно настроить FreeBSD для отправки и получения электронной почты, будет рассказываться в главе 25. Программа Pine Pine — это клиентское приложение электронной почты и новостей с текстовым интерфейсом, которое разрабатывалось с расчетом на "нетехнических" пользователей UNIX (например, студенты университетов). Благодаря тому, что им относительно легко пользоваться, и тому, что оно имеет интерфейс программной оболочки, любое количество удаленных пользователей, которые регистрируются на удаленном терминале, могут эффективно обрабатывать свою электронную почту, не устанавливая никаких объемных клиентских приложений электронной почты на своих собственных компьютерах. Программа Pine доступна в коллекции портов и пакетов FreeBSD; ее можно найти в категории mail. На рис. 6.14 показано главное меню Pine. К сожалению, Pine имеет репутацию плохо спрограммированного и небезопасного приложения. Хотя все известные на сегодняшний день проблемы с безопасностью в этом приложении были устранены, многие эксперты по системам безопасности считают, что в Pine есть еще много других уязвимых мест, которые пока просто не были обнаружены. Некоторые из них даже утверждают, что количество таких необнаруженных уязвимостей исчисляется тысячами. Вы будете предупреждены об этих потенциальных проблемах с безопасностью, когда будете устанавливать Pine. Если вы решите сделать Pine доступным для других пользователей, вы обязательно должны предупредить и их о трудностях в плане безопасности, которые могут у них возникнуть при работе с этим приложением.
FreeBSD как настольная система 7 с I к 3 Q Copyright J Help | other cms HELP С0ЛР09Е MESSAGE MESSAGE INDEX ADORESS BOOK SETUP QUIT 1989-2665. PINE it immfPTMBif - Get help u»tng Pine - Сиро» and «nd a «mage - View neeeagw in current folder . i**»***,** - Configure Pine Options - Leave the Pine progroi о trocteeork of the University of «othlngton. 1 PrevCied 1 RelNotM | P-UtFldr»] ] NextQri | KBLocfc Рис. 6*14, Пользовательский интерфейс программы Pine основан на меню, и навигация по нему осуществляется с помощью клавиш с изображениями стрелок или путем нажатия клавиш с буквами, соответствующими тем, что указаны перед элементами меню Если безопасность исключительно важна для вашей системы (например, если в вашей системе хранятся конфиденциальные данные, к которым у этих пользователей имеется доступ), пожалуй, лучше вообще запретить пользоваться Pine (другими словами, не устанавливать Pine или удалить ее, если она уже установлена). Это может несколько расстроить ваших пользователей, но в некоторых ситуациях безопасность важнее удобства пользователей. Доступны и другие почтовые программы, которые ваши пользователи смогут применять (например, программа Mutt, которая является одним из наиболее популярных альтернативных вариантов, и более подробно будет описываться в следующем разделе). Хотя эти программы могут и не быть такими удобными в использовании как Pine, они, как правило, являются намного более безопасными. ВНИМАНИЕ! Хотя открывать электронное сообщение от имени пользователя root всегда считается плохой идеей, в случае Pine этого не следует делать категорически. А все из-за природы некоторых потенциальных уязвимостей в Pine, которые могут позволить злонам