Copyright © 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 The FreeBSD Documentation Project
Copyright © 2000, 2001, 2002, 2003, 2004 Проект Русской Документации FreeBSD
Добро пожаловать в FreeBSD! Это Руководство охватывает процесс установки и ежедневного
использования FreeBSD 4.10-RELEASE
и FreeBSD 5.2.1-RELEASE. Это
руководство находится в процессе
разработки и являет собой результат работы множества людей. Многие из разделов
до сих пор не существуют, а некоторые из существующих требуют обновления. Если вы
заинтересованы в помощи этому проекту, отправьте письмо в Список рассылки Проекта Русской
Документации FreeBSD <frdp@FreeBSD.org.ua>. Обновленная версия
этого документа постоянно доступна с Основного Web сервера Проекта Русской Документации FreeBSD и Основного Web сервера
FreeBSD. Он также может быть загружен из Internet в одном из наиболее
распространенных форматов с FTP сервера Проекта FreeBSD или с одного из многочисленных зеркал. Если вы предпочитаете иметь напечатанный (английский)
вариант Руководства, то можете приобрести его на FreeBSD Mall. Вы также можете воспользоваться Поиском в Руководстве
FreeBSD.
Распространение и использование исходных (SGML DocBook) и 'скомпилированных' форм (SGML, HTML, PDF, PostScript, RTF и прочих) с модификацией или без оной, разрешены при соблюдении следующих соглашений:
Распространяемые копии исходного кода (SGML DocBook) должны сохранять вышеупомянутые объявления copyright, этот список положений и сохранять следующий отказ от права в первых строках этого файла немодифицированным.
Распространяемые копии скомпилированных форм (преобразование в другие DTD, конвертированные в PDF, PostScript, RTF и другие форматы) должны повторять вышеупомянутые объявления copyright, этот список положений и и следующий отказ в документации и/или других материалах, поставляемых с дистрибьюцией.
Important: ЭТА ДОКУМЕНТАЦИЯ ПОСТАВЛЯЕТСЯ ПРОЕКТОМ ДОКУМЕНТАЦИИ FREEBSD "КАК ЕСТЬ" И ЛЮБЫЕ ЯВНЫЕ ИЛИ НЕЯВНЫЕ ГАРАНТИИ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ НЕЯВНЫМИ ГАРАНТИЯМИ, КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ ОТРИЦАЮТСЯ. НИ В КОЕМ СЛУЧАЕ РЕГЕНТЫ ИЛИ УЧАСТНИКИ НЕ ДОЛЖНЫ БЫТЬ ОТВЕТСТВЕННЫМИ ЗА ЛЮБОЙ ПРЯМОЙ, КОСВЕННЫЙ, СЛУЧАЙНЫЙ, СПЕЦИАЛЬНЫЙ, ОБРАЗЦОВЫЙ ИЛИ ПОСЛЕДУЮЩИЙ УЩЕРБЫ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ПОСТАВКОЙ ТОВАРОВ ЗАМЕНЫ ИЛИ УСЛУГ; ПОТЕРЮ ДАННЫХ ИЛИ ИХ НЕПРАВИЛЬНУЮ ПЕРЕДАЧУ ИЛИ ПОТЕРИ; ПРИОСТАНОВЛЕНИЕ БИЗНЕСА), И ТЕМ НЕ МЕНЕЕ ВЫЗВАННЫЕ И В ЛЮБОЙ ТЕОРИИ ОТВЕТСТВЕННОСТИ, НЕЗАВИСИМО ОТ КОНТРАКТНОЙ, СТРОГОЙ ОТВЕТСТВЕННОСТИ, ИЛИ ПРАВОНАРУШЕНИИ (ВКЛЮЧАЯ ХАЛАТНОСТЬ ИЛИ ИНЫМ СПОСОБОМ), ВОЗНИКШЕМ ЛЮБЫМ ПУТЕМ ПРИ ИСПОЛЬЗОВАНИИ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ДАЖЕ ЕСЛИ БЫ БЫЛО СООБЩЕНО О ВОЗМОЖНОСТИ ТАКОГО УЩЕРБА.
FreeBSD это зарегистрированная торговая марка Wind River Systems, Inc. Ожидается, что в скором времени это изменится.
3Com и HomeConnect это зарегистрированные торговые марки 3Com Corporation.
3ware и Escalade это зарегистрированные торговые марки 3ware Inc.
ARM это зарегистрированная торговая марка ARM Limited.
Adaptec это зарегистрированная торговая марка Adaptec, Inc.
Adobe, Acrobat, Acrobat Reader, и PostScript это или зарегистрированные торговые марки или торговые марки Adobe Systems Incorporated в Соединенных Штатах и/или других странах.
Apple, FireWire, Mac, Macintosh, Mac OS, Quicktime, и TrueType это торговые марки Apple Computer, Inc., зарегистрированные в Соединенных Штатах и других странах.
Corel и WordPerfect это торговые марки или зарегистрированные торговые марки Corel Corporation и/или ее дочерних компаний в Канаде, Соединенных Штатах и/или других странах.
Sound Blaster это торговая марка Creative Technology Ltd. в Соединенных Штатах и/или других странах.
CVSup это зарегистрированная торговая марка John D. Polstra.
Heidelberg, Helvetica, Palatino, и Times Roman это или зарегистрированные торговые марки, или торговые марки Heidelberger Druckmaschinen AG в США и других странах.
IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, и ThinkPad это торговые марки International Business Machines Corporation in the в Соединенных Штатах, других странах, или по всему миру.
IEEE, POSIX, и 802 это зарегистрированные торговые марки Institute of Electrical and Electronics Engineers, Inc. в Соединенных Штатах.
Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, и Xeon это торговые марки или зарегистрированные торговые марки Intel Corporation или ее дочерних компаний в Соединенных Штатах и других странах.
Intuit и Quicken это зарегистрированные торговые марки и/или зарегистрированные сервис марки Intuit Inc., или одной из ее дочерних компаний в Соединенных Штатах и других странах.
Linux это зарегистрированная торговая марка Linus Torvalds в Соединенных Штатах.
LSI Logic, AcceleRAID, eXtremeRAID, MegaRAID и Mylex это торговые марки или зарегистрированные торговые марки LSI Logic Corp.
M-Systems и DiskOnChip это торговые марки или зарегистрированные торговые марки M-Systems Flash Disk Pioneers, Ltd.
Macromedia, Flash, и Shockwave это торговые марки или зарегистрированные торговые марки Macromedia, Inc. в Соединенных Штатах и/или других странах.
Microsoft, FrontPage, MS-DOS, Outlook, Windows, Windows Media, и Windows NT это или зарегистрированные торговые марки или торговые марки Microsoft Corporation в Соединенных Штатах и/или других странах.
Netscape и Netscape Navigator это зарегистрированные торговые марки Netscape Communications Corporation в США и других странах.
GateD и NextHop это зарегистрированные и незарегистрированные торговые марки NextHop в США и других странах.
Motif, OSF/1, и UNIX это зарегистрированные торговые марки, а IT DialTone и The Open Group это торговые марки Open Group в Соединенных Штатах и других странах.
Oracle это зарегистрированная торговая марка Oracle Corporation.
PowerQuest и PartitionMagic это зарегистрированные торговые марки PowerQuest Corporation в Соединенных Штатах и/или других странах.
RealNetworks, RealPlayer, и RealAudio это зарегистрированные торговые марки RealNetworks, Inc.
Red Hat, RPM, это торговые марки или зарегистрированные торговые марки Red Hat, Inc. в Соединенных Штатах и других странах.
SAP, R/3, и mySAP это торговые марки или зарегистрированные торговые марки SAP AG в Германии и нескольких других странах по всему миру.
Sun, Sun Microsystems, Java, Java Virtual Machine, JavaServer Pages, JDK, JSP, JVM, Netra, Solaris, StarOffice, Sun Blade, Sun Enterprise, Sun Fire, SunOS, и Ultra это торговые марки или зарегистрированные торговые марки Sun Microsystems, Inc. в Соединенных Штатах и других странах.
Symantec и Ghost это зарегистрированные торговые марки Symantec Corporation в Соединенных Штатах и других странах.
MATLAB это зарегистрированная торговая марки MathWorks, Inc.
SpeedTouch это торговая марка Thomson
U.S. Robotics и Sportster это зарегистрированные торговые марки U.S. Robotics Corporation.
VMware это торговая марка VMware, Inc.
Waterloo Maple и Maple это торговые марки или зарегистрированные торговые марки Waterloo Maple Inc.
Mathematica это зарегистрированная торговая марки Wolfram Research, Inc.
XFree86 это торговая марка XFree86 Project, Inc.
Ogg Vorbis и Xiph.Org это торговые марки Xiph.Org.
Многие из обозначений, используемые производителями и продавцами для обозначения своих продуктов, заявляются в качестве торговых марок. Когда такие обозначения появляются в этом документе, и Проекту FreeBSD известно о торговой марке, к обозначению добавляется знак ``™'' или ``®''.
Люди, которые используют FreeBSD с недавнего времени, найдут, что первая часть этой книги проводит читателя через процесс установки FreeBSD и кратко освещает идеи и традиции, на которых базируется UNIX®. Работа с этой частью требует несколько большего, чем просто желание исследовать - необходима возможность принимать к сведению новые идеи.
Вторая, много большая часть Руководства, является всеобъемлющим справочником о всех темах, которые могут интересовать администраторов FreeBSD. Некоторые из глав этой части могут рекомендовать вам предварительное чтение других документов, о чём упоминается в кратком обзоре в начале каждой главы.
Список рекомендуемой дополнительной литературы вы можете найти здесь: Appendix B.
Эта, вторая, редакция является кульминацией более чем двухлетней работы членов Проекта документации FreeBSD. Нижеследующий список перечисляет все значительные изменения в этой новой редакции:
Был добавлен полный указатель тем.
Все ASCII-иллюстрации были заменены на графические.
Был добавлен стандартный краткий обзор к каждому разделу для того, чтобы читатель мог получить представление о содержании раздела и о том, что необходимо знать для его изучения.
Содержимое было логически реорганизовано на три части: ``В Начале'', ``Системное администрирование'' и ``Приложения''.
Раздел Chapter 2 (``Установка FreeBSD'') был полностью переписан, добавлено большое количество снимков экрана, чтобы облегчить понимание текста для новых пользователей.
Раздел Chapter 3 (``Основы UNIX'') был расширен и содержит дополнительную информацию о процессах, даемонах и сигналах.
Раздел Chapter 4 (``Установка приложений: порты и пакеты'') был расширен и содержит дополнительную информации об управлении бинарными пакетами.
Раздел Chapter 5 (``X Window System'') был полностью переписан и обращает больше внимания на современные технологии для рабочего стола, такие, как KDE и GNOME на XFree86™ 4.X.
Раздел Chapter 7 (``Процесс загрузки FreeBSD'') был расширен.
Раздел Chapter 12 (``Устройства хранения'') был составлен из того, что раньше было двумя различными разделами ``Диски'' и ``Резервное копирование''. Нам кажется, что данные темы будут легче и исчерпывающе описаны как один раздел. Была добавлена секция о программном и аппаратном RAID.
Раздел Chapter 17 (``Последовательные коммуникации'') был полностью реорганизован и актуализирован для FreeBSD 4.X/5.X.
Раздел Chapter 18 (``PPP и SLIP'') был существенно обновлён.
Было добавлено множество новых секций в раздел Chapter 19 (``Сложные вопросы работы в сети'').
Раздел Chapter 20 (``Электронная почта'') был расширен, теперь он включает больше информации о настройке sendmail.
Раздел Chapter 22 (``Работа с приложениями, написанными для Linux'') был дополнен включением информации об установке Oracle® и SAP® R/3®.
Следующие новые темы были рассмотрены в этой, второй, редакции:
Настройка и оптимизация (Chapter 6).
Мультимедиа (Chapter 16)
Эта книга разбита на три части. В первой части, В Начале, рассматривается установка и основные навыки использования FreeBSD. Предполагается, что читатель освоит эти разделы последовательно, возможно пропуская разделы, в которых обсуждаются уже знакомые для него темы. Вторая часть, Системное Администрирование, рассказывает о широком круге задач, которые будут интересны более продвинутым пользователям FreeBSD. Каждая глава начинается с краткого обзора, который описывает, о чём говорится в ней и что читатель должен будет знать для прочтения этой главы. Это сделано для того, чтобы случайно встретивший этот материал читатель мог найти разделы, которые его интересуют. Третья часть содержит приложения и справочную информацию.
Знакомит пользователя с FreeBSD. Рассказывает об истории проекта FreeBSD, его задачах и модели разработки.
Проводит пользователя через весь процесс установки. Некоторые более сложные вопросы установки, такие как установка по последовательной консоли, также обсуждаются.
Рассказывает об основных командах и функциональности операционной системы FreeBSD. Если вы знакомы с Linux или другой UNIX-подобной операционной системой, возможно, вы можете пропустить эту главу.
Рассказывает о процессе установки программного обеспечения сторонних производителей с использованием ``Коллекции Портов FreeBSD'' и стандартных бинарных пакетов.
Описывает X Window System вообще и использование XFree86 под управлением FreeBSD в частности. Также описывает популярные окружения рабочего стола, такие как KDE и GNOME.
Описывает всевозможные параметры настройки FreeBSD, которые может использовать системный администратор для оптимальной настройки системы. Также описывает различные конфигурационные файлы, используемые в FreeBSD и расположение этих файлов на диске.
Рассказывает о процессе загрузки FreeBSD и объясняет, как управлять этим процессом при помощи различных настроек.
Рассказывает о создании и управлении пользовательскими учётными записями. Также обсуждает установку ограничений ресурсов для пользователей и другие задачи управления пользователями.
Объясняет почему вам может понадобиться перенастроить ядро и детально описывает процесс настройки, сборки и установки нового ядра.
Описывает множество различных утилит, которые помогут вам поддерживать FreeBSD в безопасном, надёжном состоянии, включая Kerberos, IPsec, OpenSSH и межсетевые экраны.
Рассказывает об управлении принтерами в FreeBSD, включая информацию об титульных страницах, учёте использования принтеров и первоначальной настройке.
Описывает как управлять накопителями информации и файловыми системами в FreeBSD, включая физические диски, массивы RAID, оптические и ленточные носители, диски в оперативной памяти и сетевые файловые системы.
Рассказывает как использовать Vinum, менеджер логических разделов, при помощи которого можно создавать и использовать независимые от устройств хранения логические диски и программно реализовывать RAID-0, RAID-1 и RAID-5.
Описывает использование FreeBSD на языках, отличных от английского. Рассказывает о локализации на уровне системы и отдельных приложений.
Перечисляет некоторые популярные приложения для рабочей станции, такие как веб-браузеры и офисные пакеты и описывает процесс их установки на FreeBSD.
Показывает, как настроить поддержку воспроизведения звука и видео на вашей системе. Также описывает некоторые примеры приложений для воспроизведения звука и видео.
Объясняет как подключать терминалы и модемы к вашей FreeBSD как в серверном, так и в клиентском режиме.
Описывает использование PPP, SLIP или PPP через Ethernet для соединения с удалёнными системами при помощи FreeBSD.
Рассматривает множество вопросов работы с сетью, включая совместный доступ компьютеров в вашей локальной сети к Internet, использование сетевых файловых систем, обмен информацией об учётных записях при помощи NIS, настройку сервера имён (DNS) и многое другое.
Объясняет использование различных компонентов почтового сервера и более углублённо рассматривает простые вопросы конфигурации для наиболее популярного программного обеспечения почтовых серверов: sendmail.
Объясняет различия между FreeBSD-STABLE, FreeBSD-CURRENT и FreeBSD-RELEASE. Рассказывает, кому из пользователей будет полезно отслеживать версию системы в разработке и вкратце описывает этот процесс.
Описывает возможности Linux-совместимости в FreeBSD. Также предоставляет детальные инструкции по установке для многих популярных приложений для Linux, таких как: Oracle, SAP R/3 и Mathematica®.
Перечисляет различные источники, из которых можно получить FreeBSD на CDROM или DVD, равно как и различные сайты в Internet, с которых можно скачать и установить FreeBSD.
Эта книга касается многих различных тем, которые могут сподвигнуть вас на более детальное изучение. Библиография перечисляет множество отличных книг, которые упоминаются в тексте.
Описывает множество форумов, доступных для пользователей FreeBSD, в которых можно задать вопросы и поучаствовать в технических обсуждениях FreeBSD.
Содержит ключи PGP некоторых разработчиков FreeBSD.
Для того чтобы обеспечить целостность и простоту чтения текста в данной книге мы применяем некоторые договорённости.
Наклонный шрифт используется для имен файлов, адресов в Internet (URL), выделенного текста и первого применения технических терминов.
Моноширинных шрифт используется для сообщений об ошибках, команд, имен пользователей, названий групп, названий устройств, переменных и фрагментов кода.
Полужирный шрифт используется для обозначения приложений, команд и параметров.
Клавиши представляются в виде полужирного текста для того, чтобы выделяться среди остального текста. Комбинации клавиш, которые должны вводиться одновременно разделяются символом `+', например:
Ctrl+Alt+Del
Это будет означать, что пользователь должен нажать клавиши Ctrl, Alt и Del одновременно.
Комбинации клавиш, которые должны вводиться последовательно, разделяются запятыми, например:
Ctrl+X, Ctrl+S
Это будет означать, что пользователь должен нажать Ctrl и X одновременно, после чего одновременно нажать Ctrl и S.
Примеры, которые начинаются с E:\> обозначают команды MS-DOS®. Пока не указано противного, эти команды могут вводиться из окна ``Сеанс MS-DOS'' в современных системах Microsoft® Windows®.
E:\> tools\fdimage floppies\kern.flp A:
Примеры, которые начинаются с # обозначают команды, которые должны быть запущены с правами суперпользователя в FreeBSD. Вы можете войти в систему как пользователь root для того, чтобы ввести эти команды или войти в систему обычным пользователем и использовать su(1) для того, чтобы получить привилегии суперпользователя.
# dd if=kern.flp of=/dev/fd0
Примеры, начинающиеся с % указывают, что команда должна быть исполнена с правами обычного пользователя. Пока не указано противного, используется синтаксис C-shell для установки переменных окружения и других команд.
% top
Книга, которую вы держите в руках являет собой результат труда многих сотен людей по всему миру. Не имеет значения, присылали ли они исправления опечаток или предоставляли целые главы, их труд был полезен.
Несколько компаний поддерживали разработку этого документа, оплачивая авторам их труд, оплачивая публикацию и т.д. В частности, BSDi (в последствии приобретённая компанией Wind River Systems) оплачивала труд по улучшению этой книги участникам Проекта Документации FreeBSD, что в итоге сделало возможным выпуск первой печатной версии в марте 2000 года (ISBN 1-57176-241-8). Впоследствии компания Wind River Systems оплатила работу нескольких авторов по улучшению генерации книги в удобном для печати виде и добавлению нескольких глав. Кульминация этой работы являла собой публикацию второй печатной версии в ноябре 2001 года (ISBN 1-57176-303-1).
Эта часть Руководства Пользователя FreeBSD предназначена для пользователей и администраторов - новичков в FreeBSD. Эти главы:
Введут вас в FreeBSD.
Проведут вас по процессу установки FreeBSD.
Обучат вас некоторым основам UNIX.
Покажут вам как устанавливать программные пакеты не входящие в стандартную поставку FreeBSD.
Введут вас в X Window, оконную систему для UNIX, и опишут как настроить графическое окружение и сделать вашу работу более продуктивной.
Мы попытались сократить множество ссылок в тексте до минимума для того, чтоб вы могли прочитать эту секцию Руководства с начала до конца с минимумом перелистываний страниц.
Мы благодарим вас за интерес к FreeBSD! Следующая глава расскажет о некоторых аспектах проекта FreeBSD, таких как история, цели, модель разработки, и прочее.
Из этой главы вы узнаете:
Какое отношение имеет FreeBSD к другим операционным системам.
Историю проекта FreeBSD.
Цели проекта FreeBSD.
Основы модели разработки FreeBSD с открытыми исходными текстами.
И конечно, откуда появилось имя ``FreeBSD''.
FreeBSD это основанная на 4.4BSD-Lite операционная система для компьютеров Intel (x86 и Itanium®), AMD64, Alpha™ и Sun UltraSPARC®. Ведется работа по портированию и на другие архитектуры. Вы можете также прочесть о истории FreeBSD, или о текущем релизе. Если вы заинтересованы в помощи проекту (кодом, аппаратным обеспечением, деньгами), прочтите статью Помощь FreeBSD.
FreeBSD имеет заслуживающие внимания особенности. Некоторые из них:
Приоритетная многозадачность с динамическим регулированием приоритетов плавно и правильно приспособится и справедливо распределит ресурсы компьютера между приложениями и пользователями, даже при тяжелейших нагрузках.
Многопользовательская доступность которая позволяет множеству людей использовать FreeBSD совместно для ряда задач. Это значит, например, что системная периферия, такая как принтеры и ленточные устройства, правильно распределена между пользователями в системе или сети, и что лимиты каждого ресурса могут быть установлены пользователям или группам пользователей, защищая критические системные ресурсы от перегрузок.
Мощный TCP/IP стек с поддержкой промышленных стандартов, таких как SLIP, PPP, NFS, DHCP и NIS. Это говорит о том, что FreeBSD может легко функционировать с другими системами предприятия, предоставляя жизненно важные функции, такие как NFS (удалённый доступ к файлам) и услуги электронной почты или представить вашу организацию в Internet с сервисами WWW, FTP, маршрутизации и брандмауэра (сетевая безопасность).
Защита памяти гарантирует, что приложения (или пользователи) не смогут чинить препятствия друг другу. Фатальная ошибка в выполнении одного приложения не скажется на работоспособности всей системы.
FreeBSD 32-х битная операционная система (64 бита на Alpha, Itanium, AMD64, и UltraSPARC) и была создана именно такой.
Промышленный стандарт X Window System (X11R6) предоставляет графический интерфейс пользователя (GUI) для большинства VGA карт и мониторов и поставляется с полными исходными текстами.
Двоичная совместимость с большинством программ, созданных для Linux, SCO, SVR4, BSDI и NetBSD.
Тысячи готовых к использованию приложений доступны из FreeBSD коллекций портов и пакетов. Зачем искать что-то в сети, когда вы можете найти всё прямо здесь?
Тысячи других легко-адаптируемых приложений доступны в Internet. FreeBSD в исходных текстах совместима с большинством популярных коммерческих UNIX систем и, таким образом, большинство приложений требуют несколько достаточно мелких (если требуют), изменений для сборки.
Виртуальная память с поддержкой сброса неиспользуемых страниц по требованию и ``объединенные VM/буферный кэш'' спроектированы так, чтобы максимально эффективно удовлетворить приложения с огромными аппетитами к памяти и, в то же время, сохранить интерактивность остальных пользователей.
Поддержка симметричной многопроцессорности (SMP) для машин с несколькими процессорами.
Полный комплект инструментов для разработчика: C, C++, Fortran и Perl. Множество дополнительных языков для прочих исследований и разработки также доступны из коллекций портов и пакетов.
Исходные тексты всей системы означают, что вы имеете великолепную возможность контролировать ваше окружение. Зачем выбирать закрытые решения и уповать на милость производителя, когда вы можете иметь по-настоящему открытую систему?
Обширная online документация.
И многое-многое другое!
FreeBSD основана на 4.4BSD-Lite от Computer Systems Research Group (CSRG) Калифорнийского Университета, Беркли, и имеет в себе характерные черты модели развития BSD-систем. В дополнении к прекрасной работе предоставленной CSRG, Проект FreeBSD тратит многие тысячи часов для тонкой настройки системы для максимальной производительности и надёжности в условиях максимально приближенным к ``боевым''. Когда большинство коммерческих гигантов только пытаются достичь такого уровня возможностей, производительности и надежности операционных систем для PC, FreeBSD может предложить все это прямо сейчас!
Применение FreeBSD в действительности ограничено только вашими фантазиями. От разработки программного обеспечения до автоматизации производства, от контроля за качеством товара до коррекции азимутов удалённых спутниковых антенн; эти задачи можно решить с помощью коммерческих UNIX систем, но скорее всего они решаемы и с помощью FreeBSD! FreeBSD столь же многогранно полезна, как и буквально тысячи высококачественных приложений разработанных исследовательскими центрами и университетами во всём мире, доступные за минимальную цену или даже бесплатно. Коммерческие приложения также доступны и появляются ежедневно в больших количествах.
Исходя из того, что исходные тексты FreeBSD всегда доступны, система может быть оптимизирована в почти невероятной степени для специальных приложений или проектов, а это, в большинстве своём, невозможно при использовании операционных систем от большинства коммерческих производителей. Вот несколько примеров того, как люди используют FreeBSD:
Internet сервисы: мощнейший TCP/IP стек делает FreeBSD идеальной платформой для большинства Internet приложений таких как:
FTP серверы
World Wide Web серверы (как стандартные, так и безопасные [SSL])
Серверы фильтрации пакетов и шлюзы NAT (``IP маскарадинг'')
Серверы электронной почты
Серверы новостей USENET и BBS
и многое другое...
Вы можете начать своё знакомство с FreeBSD, используя недорогую машину класса 386 PC, а впоследствии увеличить её мощь до сервера масштаба предприятия с четырьмя процессорами Xeon и RAID контроллером.
Образование: Вы студент и ваше образование связано с компьютерами или другими инженерными расчётами? Нет лучшего пути начать изучение операционных систем, архитектуры компьютера и работы в сети, чем покорить вершины FreeBSD. Количество доступных CAD, математических и графических пакетов также делают её чрезвычайно полезной для выполнения другой не менее важной работы.
Исследования: С исходными текстами, которые доступны для всей системы, FreeBSD это превосходная платформа как для исследования операционных систем, так и исследования других областей компьютерных наук. Свободная природа FreeBSD предоставляет возможность удалённым группам сотрудничать, обмениваться идеями и совместными разработками, не беспокоясь о наличии специальных лицензий или ограничений, которые могут обсуждаться в открытых форумах.
Работа в сети: Нужен новый маршрутизатор? Сервер имён (DNS)? Брандмауэр, защищающий от проникновения извне в вашу сеть? FreeBSD может превратить давно списанный и пылящийся в углу 386й или 486й PC в мощный маршрутизатор с возможностью фильтрации пакетов.
Рабочая станция X Window: FreeBSD прекрасный выбор, если вам нужен недорогой X-терминал. Можно использовать свободно распространяемый XFree86 сервер или один из коммерческих серверов, поставляемых Xi Graphics. В отличии от X терминала, на FreeBSD можно запускать множество приложений локально, если требуется, таким образом перенеся часть нагрузки с центрального сервера. FreeBSD может быть загружена ``на бездисковой станции'', что делает рабочую станцию более дешёвой и простой в администрировании.
Разработка программного обеспечения: Базовая поставка FreeBSD распространяется с полным набором инструментов для разработки, включая знаменитые компилятор GNU C/C++ и отладчик.
FreeBSD доступна как в исходных текстах, так и в бинарном виде на CDROM, DVD и через анонимный доступ к FTP. Смотрите Appendix A для уточнений.
FreeBSD используется в качестве платформы на некоторых крупнейших сайтах в интернет, включая:
и на многих других.
В следующей части рассказывается о том, что из себя представляет проект, включая краткую историю, цели проекта и модель разработки проекта.
Проект FreeBSD возник в первой половине 1993 года, частично как результат развития ``Неофициального комплекта исправлений к 386BSD (patchkit) '', последними 3-мя координаторами этого проекта: Nate Williams, Rod Grimes и мною.
Нашей главной задачей было привести промежуточный снэпшот 386BSD в порядок, исправив множество проблем, которые механизм patchkit не мог решить. Некоторое из вас возможно помнят раннее название этого проекта: ``386BSD 0.5'' или ``386BSD Interim''.
386BSD была операционной системой Била Джоилца, который на тот момент находился строго говоря, в состоянии полного пренебрежения к ней. Так как patchkit разрастался, его поддержание становилось более неудобным день от дня, мы пришли к единодушному соглашению что что-то нужно делать и решили помочь Биллу путем предоставления промежуточных ``очистных'' снэпшотов. Эти планы были грубо оборваны, когда Билл внезапно решил прекратить поддержку проекта без всяких ясных комментариев, что должно быть сделано.
Нам потребовалось немного времени, чтобы прийти к решению продолжать следовать той же цели, даже без поддержки Билла, и мы приняли имя ``FreeBSD'' приобретенное Дэвидом Гринмэном. Наши начальные цели были определены после консультаций с пользователями существовавшей системы, и как только стало понятно, что проект на пути к тому, чтобы стать реальностью, я связался с Walnut Creek CDROM с идеями о путях последующего улучшения каналов распространения FreeBSD для множества пользователей без доступа к Internet. Walnut Creek CDROM не только поддержал идею распространения FreeBSD на CD, но также пошел далеко вперед и предоставил проекту компьютер для работы и быстрый доступ к Internet. Без почти беспрецедентной веры Walnut Creek CDROM в этот в то время полностью неизвестный проект, вряд ли FreeBSD зашел бы так далеко и так быстро, как сегодня.
Первым дистрибутивом, распространяемым как на CDROM, так и в сети, стал FreeBSD 1.0, выпущенный в декабре 1993 года. Эта версия была выполнена на основе ленты 4.3BSD-Lite (``Net/2'') из Калифорнийского Университета в Беркли, с многочисленными добавлениями из проекта 386BSD и Фонда Свободного Программного Обеспечения. Это был довольно внушительный успех для первого предложения, и мы закрепили его с выходом FreeBSD 1.1 RELEASE в мае 1994 года.
В это же время, на горизонте сгустились тучи в связи с назревающим скандалом между Novell и Калифорнийским Университетом, Беркли. Это был вяло-текущий судебный процесс о легальности версии Net/2 из Беркли. Обстоятельства тяжбы с Калифорнийским Университетом заключались в том, что большие куски Net/2 были ``загромождены'' кодом, права на который принадлежат Novell, которая в свою очередь, получила их (права на код) ранее от AT&T. Чтоб вернуть ``благословение'' Novell, Беркли выпустил версию 4.4BSD-Lite, которая была объявлена полностью ``свободной'' и всем пользователям Net/2 было рекомендовано переключится на ее использование. Это также касалось FreeBSD, и проекту было дано время до конца Июля 1994 года для прекращения распространения его продукта базирующегося на Net/2. На этих условиях проекту было разрешено выпустить последний релиз до окончания срока, это был FreeBSD 1.1.5.1.
Тогда FreeBSD приступил к сложной задаче буквально полному изобретению себя из абсолютно новой и довольно неполной системы 4.4BSD-Lite. ``Lite'' был в прямом смысле light (легким) потому, что CSRG Berkeley удалил большие куски кода, необходимого для создания реально загружающейся системы (по причине различных лицензионных требований), и фактически порт 4.4BSD для платформы Intel был очень неполным. Проекту потребовалось время почти до ноября 1994 года для того, чтобы выполнить этот переход и на этом этапе FreeBSD 2.0 была опубликована в сети и на CDROM (в конце декабря). Несмотря на множество ``острых углов'' в этой версии, она пользовалась значительным успехом и была продолжена более устойчивой и простой в установке FreeBSD 2.0.5, выпущенной в июне 1995 года.
Мы выпустили FreeBSD 2.1.5 в августе 1996, и она стала достаточно популярной среди большого количества ISP и коммерческих производителей, чтобы выпустить еще один релиз из ветви 2.1-STABLE. Это была FreeBSD 2.1.7.1, вышедшая в феврале 1997 и завершившая главную ветвь разработки 2.1-STABLE. Сейчас в режиме поддержки, в эту ветвь (RELENG_2_1_0) вносятся только расширения безопасности и другие критически важные исправления.
FreeBSD 2.2 была ответвлена от основной линии разработки (``-CURRENT'') в ноябре 1996 как ветвь RELENG_2_2, а первая полная версия (2.2.1) появилась в апреле 1997. Последующие версии ветви 2.2 появлялись летом и в конце 97 года, а последняя версия (2.2.8) вышла в ноябре 1998. Первая официальная версия 3.0 была подготовлена к выходу в октябре 1998, завершив развитие ветви 2.2
Третье ветвление произошло 20 января 1999 года, появились ветви 4.0-CURRENT и 3.X-STABLE. Из ветви 3.X-STABLE были получены: 3.1 - 15 февраля 1999, 3.2 - 15 мая 1999, 3.3 - 16 сентября 1999, 3.4 - 20 декабря 1999, 3.5 - 24 июня 2000, за которым последовал через несколько дней немного обновленный 3.5.1, который содержал несколько исправлений в области безопасности Kerberos. Это был последний релиз из ветви 3.X.
Последнее на данный момент ветвление было выполнено 13 марта 2000 года, в результате чего появилась ветвь 4.X-STABLE, в настоящее время считающейся ``текущей -stable ветвью''. Из этой ветви было выпущено несколько релизов: 4.0-RELEASE был представлен в марте 2000 года, самый свежий 4.10-RELEASE был выпущен May 2004. Из ветви 4.X-stable (RELENG_4) будут выпущены и следующие релизы.
Долгожданный 5.0-RELEASE был анонсирован 19 января 2003 года. Он стал кульминацией приблизительно трех лет работы, с этого релиза начался курс FreeBSD на расширенную поддержку мультипроцессорности и потоков в приложениях, была также представлена поддержка платформ UltraSPARC и ia64. За этим релизом последовал релиз 5.1 в июне 2003 года. Помимо множества новых возможностей, релизы 5.X принесли также существенные улучшения внутренней архитектуры системы. Однако, вместе с этими преимуществами, в систему пришло огромное количество нового и мало протестированного кода. По этой причине, релизы 5.X считаются ``Новыми технологическими'', а 4.X релизы ``Продуктивными''. Со временем 5.X будут объявлены стабильными, и начнется работа над новой ветвью, 6.0-CURRENT.
На данный момент, долговременные разработки и проекты продолжаются в ветке 5.X-CURRENT, и по ходу разработки будут доступны снэпшот-релизы 5.X на CDROM (и, конечно же, в сети), постоянно выкладываемые на сервер снэпшотов как промежуточные результаты.
Целью Проекта FreeBSD является предоставление программного обеспечения, которое может быть использовано для любых целей и без дополнительных ограничений. Многие из нас вносят значительный вклад в код (и проект) и совершенно не требуют за это какой-либо финансовой компенсации сейчас и в последствии, хотя мы определенно не собираемся отказываться от нее. Мы верим, что первая и основная наша ``миссия'' это предоставление кода для всех, кому он необходим, и для любых целей, поэтому этот код становится все более и более распространен и предоставляет самые широкие возможности. Это, я верю, является одной из основных целей Свободного Программного Обеспечения и мы с энтузиазмом поддерживаем ее.
Тот код в нашем дереве исходных текстов, который попадает под Общую Публичную Лицензию GNU (GPL) или Общую Публичную Лицензию Библиотек GNU (LGPL), предоставляется с дополнительными условиями, хотя они обеспечивают только возможность доступа а не его ограничение. По причине дополнительных сложностей, которые могут появится при коммерческом использовании GPL продуктов, мы предпочитаем ПО, предоставленное под более свободной лицензией BSD, когда это возможно.
Разработка FreeBSD это очень открытый и гибкий процесс -- FreeBSD, буквально выражаясь, создан из кода, предоставленного сотнями людей со всего мира, в чем вы можете убедится взглянув на список этих людей. Мы постоянно ищем новых разработчиков и новые идеи, и тот, кто заинтересован в более тесном взаимодействии и хочет принять участие в проекте, должен просто связаться с нами в Список рассылки FreeBSD, посвящённый техническим дискуссиям. Для тех кто желает использовать FreeBSD в различных областях для работы, доступен Список рассылки анонсов FreeBSD.
Если участвуете в процессе разработки FreeBSD независимо или тесно сотрудничая с нами, полезно знать следующее:
Главное дерево исходных текстов FreeBSD поддерживается с помощью CVS (Concurrent Versions System), свободно доступной системой контроля исходных текстов, которая поставляется вместе с FreeBSD. Основной CVS репозиторий располагается на компьютере, находящемся в городе Санта Клара, Калифорния (США), откуда и распространяется на множество зеркал по всему миру. Дерево CVS, содержащее ветви -CURRENT и -STABLE, может быть легко скопировано на ваш локальный компьютер. Обратитесь к разделу Синхронизация дерева исходных текстов за информацией об этом процессе.
Коммиттеры это люди, которые имеют доступ на запись к главному дереву CVS, и имеют право вносить изменения в главное дерево исходных текстов FreeBSD (термин ``коммиттер'' появился от названия команды cvs(1) commit, которая используется для внесения изменений в CVS репозиторий). Лучший способ для предоставления ваших изменений на рассмотрение коммиттеров - это использование команды send-pr(1). Если что-то произошло с системой, вы можете достучаться до них посылкой письма по адресу Список рассылки коммиттеров FreeBSD.
CORE группа FreeBSD могла бы быть эквивалентом Совета Директоров, если бы Проект FreeBSD был компанией. Главная задача CORE группы -- убедиться, что проект в целом в хорошем состоянии и движется в правильном направлении. Приглашение постоянных и ответственных разработчиков присоединится к группе коммиттеров одна из функций CORE группы, также как приглашение новых членов в CORE группу по мере того, как другие уходят. Нынешний состав группы был выбран из рядов коммиттеров путем общего голосования в июне 2002 года. Выборы проходят каждые 2 года.
Некоторые члены CORE группы имеют особые области ответственности, это означает, что они являются ответственными за работу отдельной большой части системы. За полным списком разработчиков FreeBSD и областей их ответственности обращайтесь к Списку участников.
Note: Большинство членов CORE группы являются волонтерами и не получают никакой финансовой выгоды от участии в проекте, поэтому вы не должны рассматривать их работу как ``гарантированную поддержку''. Аналогия с ``советом директоров'' не очень точна и вероятно гораздо правильнее будет сказать, что это люди, которые посвятили себя FreeBSD, пожертвовав личной жизнью!
Последней, но однозначно не менее значимой, наибольшей группой разработчиков являются пользователи, которые предоставляют комментарии и исправления ошибок нам на почти постоянной основе. Основной путь участвовать в не централизованной разработке это подписка на Список рассылки FreeBSD, посвящённый техническим дискуссиям, где обсуждаются подобные вещи. Обратитесь к Appendix C за дальнейшей информацией о различных списках рассылки FreeBSD.
Список контрибьюторов FreeBSD очень длинный и постоянно растет, поэтому почему бы вам не присоединится к нему предоставив что-нибудь FreeBSD сегодня?
Предоставление кода не единственный способ помочь проекту; для более-менее полного списка вещей, которые необходимо сделать пожалуйста обратитесь к веб сайту проекта FreeBSD.
Вообще говоря, наша модель разработки организована как ``нечеткий набор концентрированных колец''. Централизованная модель разработана для удобства пользователей FreeBSD, которые получают простую систему контроля за одной центральной базой кода, и позволяет не оставить за бортом проекта потенциальных помощников! Мы желаем предоставить стабильную операционную систему с большим количеством когерентных прикладных программ, которые пользователи смогут легко установить и использовать -- наша модель работает очень хорошо для этой задачи.
Мы все приглашаем тех, кто хотел бы присоединится к нам как разработчик FreeBSD, выделить немного времени и привнести свой взнос в постоянный успех FreeBSD!
FreeBSD - это свободно доступный, основанный на 4.4BSD-Lite релиз с полными исходными текстами для компьютерных систем, основанных на Intel i386™, i486™, Pentium®, Pentium Pro, Celeron®, Pentium II, Pentium III, Pentium 4 (или совместимыми), Xeon™, DEC Alpha и Sun UltraSPARC. В основном он основан на программном обеспечении от группы CSRG, U.C. Berkley, с некоторым дополнениями из NetBSD, OpenBSD, 386BSD и Free Software Foundation.
Со времен FreeBSD версии 2.0 в конце 94, производительность, возможности, и стабильность FreeBSD выросла многократно. Самое большое изменение это полное обновление системы виртуальной памяти с объединенным VM/файловым буферизованным кэшем, который не только увеличивает производительность, но и уменьшает количество используемой памяти, делая 5 MB конфигурацию более доступным минимумом. Другие улучшения включают в себя полную поддержку NIS (клиент и сервер), поддержка транзакций TCP, поддержка "звонка-по-запросу" в PPP, встроенная поддержка DHCP, улучшенная подсистема SCSI, поддержка ISDN, ATM, FDDI, Fast и Gigabit Ethernet (1000 Mbit) адаптеров, улучшенная поддержка последних версий контролеров Adaptec и многие тысячи исправленных ошибок.
В дополнение к базовой системе, FreeBSD предоставляет коллекцию портированого ПО, включающую в себя тысячи популярных программ. На время подготовки этого документа она включала в себя более 10,500 портов! В коллекцию входят множество программ от http (WWW) серверов, до игр, языков программирования, текстовых редакторов и всего прочего. Полная коллекция портов требует приблизительно 300 MB дискового пространства, потому что порт представляет собой ``изменения'' оригинальных исходных текстов. Это сильно упрощает нам процесс обновления портов, и очень сильно уменьшает количество занимаемого дискового места по сравнению со старой (1.0) коллекцией портов. Для того, чтобы скомпилировать и установить программу, необходимо всего лишь войти в каталог порта программы, набрать make install и дать системе сделать все остальное. Исходные тексты для каждого порта, который вы устанавливаете, загружаются автоматически с CDROM или локального FTP сервера, поэтому вам нужно только дисковое пространство для сборки тех портов, которые вам необходимы. Почти каждый порт также предоставляется как пред-компилированный ``пакет'', который может быть установлен с помощью простой команды (pkg_add) теми, кто предпочитает не компилировать порты из исходных текстов. Дополнительная информация о пакетах и портах находится здесь: Chapter 4.
Множество дополнительных документов, которые вы можете найти очень полезными в процессе установки и использования FreeBSD, находятся в каталоге /usr/share/doc на любой машине, работающей под управлением современной версии FreeBSD. Вы можете просматривать локально установленные документы с помощью любого браузера, поддерживающего HTML, используя следующие ссылки:
Вы также можете просмотреть основные (и наиболее часто обновляемые) копии на http://www.FreeBSD.org/ru/.
FreeBSD поставляется простой в использовании текстовой программой установки sysinstall. Это основная программа установки FreeBSD, хотя поставщики могут предлагать свои программы. В этой главе описывается использование sysinstall для установки FreeBSD.
Прочтя эту главу, вы узнаете:
Как создать дискеты для установки FreeBSD.
Как FreeBSD видит и делит на разделы жесткие диски.
Как запустить sysinstall.
Вопросы, которые sysinstall задаст вам, что имеется ввиду, и как ответить на эти вопросы.
Перед прочтением этой главы вам потребуется:
Прочитать информацию о поддерживаемом оборудовании, поставляемую с устанавливаемой версией FreeBSD, и убедиться, что ваше оборудование поддерживается.
Note: Как правило, эти инструкции по установке написаны для i386 (``PC совместимых'') компьютеров. Когда это возможно, приводятся инструкции, специфичные для других платформ (например, Alpha). Хотя это руководство поддерживается в актуальном состоянии настолько, насколько это возможно, вы можете обнаружить небольшие различия между программой установки и тем, что показано здесь. Предполагается, что вы будете использовать эту главу в качестве общего руководства, а не как пошаговую инструкцию по установке.
Перед установкой FreeBSD попытайтесь собрать информацию об устройствах компьютера. Во время установки FreeBSD покажет информацию об устройствах (жестких дисках, сетевых картах, CDROM и т.д.) с номером модели и производителем. FreeBSD также попытается определить правильную конфигурацию для этих устройств, включая информацию об IRQ и портах ввода-вывода. Из-за возможных проблем с оборудованием этот процесс не всегда завершается успешно, и возможно вам придется исправлять определенную FreeBSD конфигурацию.
Если у вас уже есть установленная операционная система, например Windows или Linux, неплохо будет использовать ее возможности для просмотра настроек оборудования. Если вы не уверены какие какие настройки карты расширения использовать, можете найти их на самой карте. Часто используемые номера прерываний 3, 5 и 7, порты ввода- вывода обычно пишутся в шестнадцатеричном виде, например 0x330.
Мы рекомендуем распечатать эту информацию перед установкой FreeBSD. Вам может помочь использование таблицы вроде этой:
Table 2-1. Пример сведений об оборудовании
| Название устройства | IRQ | Порт ввода-вывода | Примечания |
|---|---|---|---|
| Первый жесткий диск | нет | нет | 40 GB, Seagate, первый IDE master |
| CDROM | нет | нет | Первый IDE slave |
| Второй жесткий диск | нет | нет | 20 GB, IBM, второй IDE master |
| Первый IDE контроллер | 14 | 0x1f0 | |
| Сетевая карта | нет | нет | Intel® 10/100 |
| Модем | нет | нет | 3Com® 56K факс-модем, COM1 |
| ... |
Если компьютер, на который вы устанавливаете FreeBSD, содержит важные данные, убедитесь в наличии резервных копий и проверьте их сохранность перед установкой FreeBSD. Во время установки FreeBSD запросит подтверждение перед тем, как записать данные на диск, но, если процесс запущен, изменения нельзя отменить.
Если вы хотите, чтобы FreeBSD использовала весь жесткий диск, не о чем беспокоиться -- можете пропустить этот раздел.
Однако, если нужно совмещать FreeBSD с другими операционными системами, необходимо иметь представление как данные размещаются на диске и как это касается вас.
Диск PC может быть поделен на отдельные части. Эти части называют разделами. Первоначально PC поддерживал только четыре раздела на диск. Эти разделы называются главными разделами. Чтобы обойти это ограничение и дать возможность создавать более чем четыре раздела, был создан новый тип раздела, расширенный раздел. Диск может содержать только один расширенный раздел. Специальные разделы, называемые логическими разделами, могут быть созданы внутри расширенного раздела.
Каждый раздел имеет ID раздела -- номер, который используется для определения типа данных на разделе. FreeBSD использует ID раздела 165.
Как правило, каждая операционная система, которую вы используете, определяет разделы своим способом. Например, DOS и ее потомки, такие как Windows, присваивают каждому главному и логическому разделу букву диска, начиная с C:.
FreeBSD нужно устанавливать в главный раздел. FreeBSD может хранить все свои данные, включая создаваемые вами файлы, на этом одном разделе. Тем не менее, если дисков много, вы можете создать разделы FreeBSD на всех дисках или на некоторых из них. При установке FreeBSD должен быть доступен по крайней мере один раздел. Это может быть чистый, подготовленный для установки раздел, или раздел с данными, которые больше не нужны.
Если все разделы на диске уже используются, вы должны освободить один из них для FreeBSD, используя программы, поставляемые с имеющейся операционной системой (например, fdisk для DOS или Windows).
Если есть резервный раздел, используйте его. Однако, возможно сначала придется ужать один или несколько существующих разделов.
FreeBSD для установки нужен диск не менее 100 MB. Однако, это оченьминимальная установка, при которой не останется места для ваших личных файлов. Более реальный объем -- 250 MB без графической оболочки, и более 350 MB с графической оболочкой. Если вы собираетесь устанавливать большое количество дополнительного ПО, понадобится еще больше дискового пространства.
Вы можете использовать коммерческие программы, такие как PartitionMagic®, для изменения размера разделов и освобождения места под FreeBSD. Каталог tools на CDROM содержит две свободно распространяемых утилиты, которые могут быть использованы для этой задачи, называющиеся FIPS и PResizer. Документация на обе эти утилиты доступна из того же каталога. FIPS, PResizer, и PartitionMagic могут изменять размер разделов FAT16 и FAT32, используемых системами от MS-DOS до Windows ME. PartitionMagic это единственная известная программа, способная изменять размер NTFS.
Warning: Неправильное использование этих утилит может привести к уничтожению данных на диске. Удостоверьтесь в наличии свежих и исправных резервных копий данных перед их использованием.
Example 2-1. Использование существующего раздела без изменения
Представьте что в компьютере один 4 GB диск, на котором уже установлена Windows, и диск разбит на два логических диска C: и D:, каждый по 2 GB. 1 GB данных на C:, и 0.5 GB данных на D:.
Это означает, что диск состоит из двух разделов, по одному на каждую букву. Вы можете скопировать все данные с D: на C:, это освободит второй раздел для FreeBSD.
Example 2-2. Сжатие существующих разделов
Представьте, что в компьютере один 4 GB диск, на котором уже установлена Windows. При установке Windows вы создали один большой раздел, получив при этом диск C: размером 4 GB. Вы используете 1.5 GB, и хотите выделить 2 GB для FreeBSD.
Для установки FreeBSD нужно выбрать:
Сделать резервную копию Windows, затем переустановить Windows, выделив 2 GB под ее раздел.
Использовать одну из утилит, таких как PartitionMagic, описанную выше, для сжатия раздела Windows.
Вам потребуется выделенный диск для FreeBSD на Alpha. В настоящее время невозможно установить две операционные системы на диск. В зависимости от конкретного компьютера Alpha, диск может быть SCSI или IDE, главное, чтобы ваш компьютер мог с него загружаться.
В соответствии с соглашениями, принятыми в руководствах Digital / Compaq, весь SRM ввод показан в верхнем регистре. SRM нечувствителен к регистру.
Для поиска имен и типов дисков на компьютере используйте команду SHOW DEVICE SRM консоли:
>>>SHOW DEVICE dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476 dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658 dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015 dva0.0.0.0.1 DVA0 ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01 pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27 pqa0.0.0.4.0 PQA0 PCI EIDE pqb0.0.1.4.0 PQB0 PCI EIDE
Этот пример с Digital Personal Workstation 433au показывает три подключенных диска. Первый -- устройство CDROM с именем DKA0, другие два называются DKC0 и DKC100 соответственно.
Диски с именами DKx -- SCSI диски. Например, DKA100 означает SCSI диск со SCSI целевым ID 1 на первой SCSI шине (A), в то время как DKC300 означает SCSI диск с SCSI ID 3 на третьей SCSI шине (C). Имя устройства PKx означает SCSI адаптер. Как показано в выводе SHOW DEVICE, SCSI устройство CDROM определяется как любой другой жесткий диск SCSI.
Имена IDE дисков выглядят как DQx, в то время как PQx -- IDE контроллер.
Если вы хотите подключиться к сети в процессе установки FreeBSD (например, при установке с FTP или NFS сервера), нужно знать конфигурацию сети. Вам будет предложено ввести эту информацию, чтобы FreeBSD смогла подключиться к сети для продолжения установки.
Если вы подключаетесь к сети Ethernet, или соединение с интернет подключено к Ethernet через кабельный или DSL модем, понадобится следующая информация:
IP адрес
IP адрес шлюза по умолчанию
Имя хоста
IP адрес DNS сервера
Маска подсети
Если у вас нет этой информации, спросите системного администратора или провайдера интернет. Они могут сказать, что эти данные присваиваются автоматически, с использованием DHCP. Если это так, запомните это.
Если вы дозваниваетесь до провайдера с помощью обычного модема, вы все же сможете установить FreeBSD через интернет, но это займет очень много времени.
Вам нужно знать:
Номер телефона провайдера
COM порт, к которому подключен модем
Имя пользователя и пароль учетной записи для доступа в интернет
Хотя проект FreeBSD борется за то, чтобы каждый релиз FreeBSD был настолько стабильным, насколько это возможно, ошибки порой вкрадываются в процесс разработки. В очень редких случаях эти ошибки влияют на процесс установки. Как только эти проблемы обнаруживаются и исправляются, они попадают в сообщения об ошибках FreeBSD, находящиеся на сайте FreeBSD. Вы можете проверить сообщения об ошибках перед установкой, чтобы убедиться, что не существует проблем, о которых стоит беспокоиться.
Информация о релизах, включая сообщения об ошибках каждого релиза, находится странице информации о релизах сайта FreeBSD.
Программа установки FreeBSD может установить FreeBSD из файлов, расположенных в одном из следующих мест:
Локальный диск
CDROM или DVD
Раздел DOS на вашем компьютере
Лента SCSI или QIC
Гибкие диски
Сеть
FTP сервер (через файрволл или HTTP прокси, если потребуется)
NFS сервер
Соединение через параллельный или последовательный порт
Если вы купили FreeBSD на CD или DVD, у вас уже есть все, что нужно, переходите к следующему разделу (Section 2.2.7).
Если у вас нет установочных файлов FreeBSD, перейдите к разделу Section 2.13, который описывает, как подготовиться к установке FreeBSD любым указанным выше способом. После прочтения этого раздела, вернитесь сюда и прочтите Section 2.2.7.
Процесс установки FreeBSD начинается с загрузки в ваш компьютер программы установки FreeBSD -- эта программа не запускается из других операционных систем. Компьютер обычно загружает операционную систему, установленную на жестком диске, но также может быть настроен для использования ``загрузочной'' дискеты. Большинство современных компьютеров могут также загрузиться с компакт-диска в приводе CDROM.
Tip: Если у вас есть FreeBSD на CDROM или DVD (купленный или записанный самостоятельно), и компьютер позволяет загрузку с CDROM или DVD (обычно этот пункт в BIOS называется ``Boot Order'' или что-то вроде), можете пропустить этот раздел. Образы FreeBSD CDROM и DVD являются загрузочными и могут быть использованы для установки FreeBSD без какой-либо специальной подготовки.
Для создания загрузочных дисков сделайте следующее:
Получение образов загрузочных дисков
Загрузочные диски есть на установочном диске в каталоге floppies/, и могут быть также закачаны из каталога floppies, ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<arch>/<version>-RELEASE/floppies/. Замените <arch> и <version> архитектурой компьютера и номером версии, которую вы хотите установить, соответственно. Например, загрузочные дискеты для FreeBSD 5.2.1-RELEASE для i386 находятся в ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/5.2.1-RELEASE/floppies/.
Расширение файла образа диска .flp. Каталог floppies/ содержит множество разных образов, ваш выбор будет зависеть от устанавливаемой версии FreeBSD и, в некоторых случаях, от конфигурации компьютера. В большинстве случаев понадобятся всего лишь два файла, kern.flp и mfsroot.flp. В некоторых системах могут потребоваться дополнительные драйверы устройств. Они находятся в файле drivers.flp. Обратитесь к файлу README.TXT в том же каталоге за свежей информацией об этих образах дисков.
Important: FTP клиент должен использовать бинарный режим для загрузки образов дисков. Некоторые веб браузеры используют текстовый (ASCII) режим, который точно не позволит загрузиться с этих дисков.
Подготовка дискет
Необходимо подготовить по одной дискете на каждый загруженный образ. Эти дискеты должны быть без дефектов. Лучший способ проверить это -- отформатировать дискеты самостоятельно. Не доверяйте заводскому форматированию дискет. Утилита форматирования в Windows не сообщит о наличии плохих секторов, она просто пометит их как ``плохие'' и проигнорирует. Советуем использовать новые дискеты если вы выбрали этот способ установки.
Important: Если при попытке установки FreeBSD программа установки рушится, зависает, или делает что-то не так, сразу проверьте дискеты. Попробуйте записать образы на новые дискеты и попытайтесь еще раз.
Запись образов на дискеты
Файлы с расширением .flp это не обычные файлы, которые можно записать на диск. Это образы всего содержимого диска. Это означает, что вы не можете просто скопировать их с одного диска на другой. Вместо этого, нужно использовать специальные утилиты для записи образов на диск.
Если вы записываете флоппи на компьютере под MS-DOS/Windows, используйте утилиту fdimage.
Если вы используете образы с CDROM, и буква вашего CDROM E:, запустите ее так:
E:\> tools\fdimage floppies\kern.flp A:
Повторите эту команду для каждого файла .flp, вставляя новую дискету каждый раз, пометьте каждый диск именем файла, который вы скопировали на него. Измените команду если потребуется, в зависимости от места, куда вы поместили файлы .flp. Если у вас нет CDROM, fdimage может быть загружена из каталога tools FTP сервера FreeBSD.
Если вы записываете дискеты под UNIX (например, под другой системой FreeBSD), используйте утилиту dd(1) для записи образов непосредственно на дискеты. Под FreeBSD запустите:
# dd if=kern.flp of=/dev/fd0
Под FreeBSD, /dev/fd0 означает первый гибкий диск (диск A:). /dev/fd1 будет диском B:, и так далее. Другие UNIX системы могут по-другому именовать устройства гибких дисков, вам возможно понадобится прочитать документацию по соответствующей системе.
Теперь вы готовы к установке FreeBSD.
Important: Как правило, программа установки не будет производить никаких изменений на дисках, пока не выдаст следующее сообщение:
Last Chance: Are you SURE you want continue the installation? If you're running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents!Установка может быть прервана в любой момент до этого предупреждения без каких-либо изменений на жестком диске. Если вы считаете, что что-то настроили неправильно, можете просто выключить компьютер без риска что-либо повредить.
Компьютер выключен.
Включите компьютер. После включения он должен показать способ входа в меню установки BIOS, как правило это клавиши F2, F10, Del, или Alt+S. Используете те клавиши, которые показаны на экране. В некоторых случаях компьютер может показывать картинку после запуска. Как правило, нажатие Esc уберет картинку и позволит вам увидеть необходимую информацию.
Найдите установки системы, указывающие ей с какого устройства загружаться. Обычно они обозначаются как ``Boot Order'', и там как правило отображен список устройств, таких как Floppy, CDROM, First Hard Disk, и так далее.
Если вы подготовили дискеты, убедитесь, что выбран Floppy. Если вы загружаетесь с CDROM, убедитесь что выбран он. Если вы не уверены, посмотрите руководство к компьютеру и/или к его материнской плате.
Сделайте изменения, затем сохраните их и выйдите. Компьютер должен перезагрузиться.
Если вы подготовили дискеты, как описано в разделе Section 2.2.7, одна из них будет первым загрузочным диском; как правило, это дискета с kern.flp. Вставьте эту дискету в дисковод.
Если вы загружаетесь с CDROM, потребуется сначала включить компьютер и вставить компакт-диск как только это станет возможно.
Если компьютер запускается как обычно, и загружает существующую операционную систему, возможны следующие причины:
Диск был вставлен недостаточно рано в процессе загрузки. Оставьте его внутри и перегрузите компьютер.
Установки BIOS, измененные ранее, действуют неправильно. Надо изменять их, пока они не заработают.
BIOS вашего компьютера не поддерживает загрузку с выбранного типа носителя.
FreeBSD начнет загрузку. Если загрузка происходит с CDROM, вы увидите что-то вроде этого (информация о версии удалена):
Verifying DMI Pool Data ........ Boot from ATAPI CD-ROM : 1. FD 2.88MB System Type-(00) Uncompressing ... done BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard BIOS drive A: is disk0 BIOS drive B: is disk1 BIOS drive C: is disk2 BIOS drive D: is disk3 BIOS 639kB/261120kB available memory FreeBSD/i386 bootstrap loader, Revision 0.8 /kernel text=0x277391 data=0x3268c+0x332a8 | | Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in 9 seconds... _
Если происходит загрузка с дискеты, вы увидите что-то вроде этого (информация о версии удалена):
Verifying DMI Pool Data ........ BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard BIOS drive A: is disk0 BIOS drive C: is disk1 BIOS 639kB/261120kB available memory FreeBSD/i386 bootstrap loader, Revision 0.8 /kernel text=0x277391 data=0x3268c+0x332a8 | Please insert MFS root floppy and press enter:
Следуя инструкциям, уберите дискету с kern.flp, вставьте дискету с mfsroot.flp и нажмите Enter.
Идет ли загрузка с дискет или с CDROM, в процессе загрузки появится:
Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in 9 seconds... _
Подождите десять секунд или нажмите Enter. Будет запущено меню конфигурации ядра.
Компьютер выключен.
Включите компьютер и дождитесь приглашения к загрузке на мониторе.
Если вы подготовили загрузочные дискеты, как описано в разделе Section 2.2.7, одна из них будет первым загрузочным диском; как правило, это дискета с kern.flp. Вставьте эту дискету в дисковод и наберите следующую команду для загрузки (замените на имя вашего дисковода если потребуется):
>>>BOOT DVA0 -FLAGS '' -FILE ''
Если вы загружаетесь с CDROM, вставьте компакт-диск в привод и наберите для начала установки следующую команду (замените на имя соответствующего устройства CDROM если потребуется):
>>>BOOT DKA0 -FLAGS '' -FILE ''
FreeBSD начнет загружаться. Если загрузка идет с дискет, через некоторое время вы увидите сообщение:
Please insert MFS root floppy and press enter:
Следуя инструкциям, удалите дискету с kern.flp, вставьте дискету с mfsroot.flp и нажмите Enter.
Идет ли загрузка с дискет или с CDROM, в процессе загрузки появится:
Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in 9 seconds... _
Подождите десять секунд или нажмите Enter. Будет запущено меню конфигурации ядра.
Note: Начиная с FreeBSD версии 5.0 и более поздних, userconfig был удален в пользу метода device.hints(5). За более подробной информацией о device.hints(5) обращайтесь к Section 7.5
kernel это ядро операционной системы. В нем реализовано множество функций, включая доступ ко всем устройствам, которые могут быть в системе, таким как жесткие диски, сетевые карты, звуковые карты и т.д. Каждое устройство, поддерживаемое ядром FreeBSD имеет свой драйвер. У каждого драйвера есть имя из двух или трех букв, например sa для драйвера последовательного доступа SCSI, или sio для драйвера последовательного ввода-вывода (который управляет COM портами).
Когда ядро загружено, каждый драйвер проверяет систему на предмет наличия поддерживаемого оборудования. Если оно найдено, драйвер конфигурирует оборудование и делает его доступным остальной части ядра.
Такая проверка обычно называется тестированием устройства. К сожалению, это не всегда безопасно. Некоторые драйвера конфликтуют между собой, и проверка части оборудования иногда может привести другую часть в неработоспособное состояние. Это основное ограничение архитектуры PC.
Многие старые устройства называются ISA -- в противоположность PCI. Стандарт ISA требует, чтобы в каждом устройстве была прописана некоторая информация, обычно номер Interrupt Request Line (IRQ) и адрес порта ввода-вывода, которые используются драйвером. Эта информация обычно устанавливается с использованием перемычек на карте, или с помощью DOS утилиты.
Часто это вызывало проблемы, поскольку было невозможно использовать два устройства с одинаковыми IRQ или адресами портов.
Новые устройства поддерживают PCI стандарт, который не требует установки параметров вручную, так как устройства способны общаться с BIOS и договариваться, какие IRQ и адреса портов ввода-вывода использовать.
Если в вашем компьютере есть устройства ISA, FreeBSD драйвер для этого устройства должен быть настроен с IRQ и адресом порта установленными на карте. Для этого может понадобиться собрать сведения об оборудовании (Section 2.2.1).
К сожалению, номера IRQ и адреса портов, используемые некоторыми драйверами, конфликтуют. Это потому, что некоторые устройства ISA поставляются с конфликтующими номерами IRQ или адресами портов. По умолчанию драйвера FreeBSD предусмотрительно настроены для использования заводских установок, поэтому будут работать столько устройств, сколько возможно.
Это как правило не проблема при каждодневном использовании FreeBSD. В компьютере обычно нет двух конфликтующих устройств, поскольку в противном случае одно из них не будет работать (независимо от используемой операционной системы).
Это может стать проблемой при установке FreeBSD в первый раз, потому что ядро, используемое для установки, собрано с максимальным количеством драйверов для поддержки множества различных конфигураций оборудования. Это означает, что некоторые из драйверов имеют конфликтующие настройки. Устройства тестируются в строго определенном порядке, и если у вас есть устройство, тестирующееся позже, но конфликтующее с ранее протестированным устройством, оборудование может не работать или быть некорректно протестировано в процессе установки FreeBSD.
Поэтому первое, что вы должны сделать при установке FreeBSD -- проверить список устройств, настроенных в ядре. Отключите некоторые из них, если таких устройств нет. Подтвердите (и измените) конфигурацию, если это устройство присутствует, но установки по умолчанию неверны.
Возможно, это звучит гораздо сложнее чем есть на самом деле.
На Figure 2-1 показано главное меню конфигурации ядра. Мы рекомендуем выбрать опцию Start kernel configuration in full-screen visual mode, так как это самый простой интерфейс для нового пользователя.
Экран конфигурации ядра (Figure 2-2) поделен на четыре части:
Свернутый список устройств, помеченных как ``active'', поделен на группы, такие как Storage, и Network. Каждый драйвер показан в виде описания, имени из двух или трех букв, используемых IRQ и порта. В дополнение, если какой-либо активный драйвер конфликтует с другим активным драйвером, после имени драйвера пишется CONF. В этом разделе также показано общее число конфликтующих активных драйверов.
Драйверы, помеченные как неактивные. Они остаются в ядре, но не будут тестировать свои устройства при загрузке ядра. Они поделены на группы так же как и активные драйверы.
Дополнительная информация о выбранном в данный момент драйвере, включая IRQ и адрес порта.
Информация об управляющих клавишах, доступных в данный момент.
Не беспокойтесь если появятся сообщения о конфликтах, так и должно быть; все драйверы включены и как уже объяснялось, некоторые из них будут конфликтовать с другими.
Сейчас вам нужно просмотреть список драйверов и разрешить конфликты.
Разрешение конфликтов драйверов
Нажмите X. Это полностью раскроет список драйверов и вы сможете увидеть их все. Вам понадобятся клавиши навигации для прокрутки назад и вперед в списке активных драйверов.
Figure 2-3 показывает результат действия X.
Отключите все драйвера устройств, которых у вас нет. Для отключения драйвера, переместитесь к нему с помощью клавиш навигации и нажмите Del. Драйвер будет помещен в список Inactive Drivers.
Если вы случайно отключили нужное устройство, нажмите Tab для переключения на Inactive Drivers, выберите отключенный драйвер, и нажмите Enter, чтобы вернуть его обратно в список активных драйверов.
Warning: Не отключайте sc0. Он управляет экраном, и он нужен, если только вы не производите установку через последовательный порт.
Warning: Отключайте atkbd0 только если вы используете USB клавиатуру. Если клавиатура обычная, оставьте atkbd0.
Если конфликтов нет, можете пропустить этот этап. В другом случае оставшиеся конфликты должны быть проверены. Если они не помечены как ``allowed conflict'' в окне сообщений, должны быть изменены или IRQ/адрес порта для тестирования устройства, или IRQ/адрес порта физического устройства.
Для изменения IRQ и адреса порта ввода-вывода драйвера, выберите устройство и нажмите Enter. Курсор переместится в третье окно и вы сможете изменить значения. вам нужно ввести значения IRQ и адреса порта, определенные в процессе сбора информации об оборудовании. Нажмите Q для завершения редактирования конфигурации устройства и возвращения в список активных устройств.
Если вы не уверены, какими должны быть эти значения, попробуйте использовать -1. Некоторые драйвера FreeBSD могут безопасно протестировать оборудование для определения правильных значений, и значение -1 указывает им сделать это.
Процедура изменения адреса физического устройства различна для разных устройств. Для некоторых устройств вам может понадобиться извлечь карту из компьютера и установить перемычки или DIP переключатели. Другие устройства могут поставляться с DOS дискетой, содержащей программы, используемые для перенастройки карты. В любом случае, обращайтесь к документации, поставляемой с устройством. Изменение адреса несомненно потребует перезагрузки компьютера, так что вам потребуется опять вернуться к процессу установки FreeBSD после перенастройки карты.
Когда все конфликты будут разрешены, экран будет выглядеть как Figure 2-4.
Как видите, список активных драйверов стал гораздо меньше, поскольку в нем только драйвера реально установленных устройств.
Теперь вы можете сохранить изменения и перейти к следующему пункту установки. Нажмите Q для выхода из меню конфигурации. Появится сообщение:
Save these parameters before exiting? ([Y]es/[N]o/[C]ancel)
Нажмите Y для сохранения параметров в памяти (они будут сохранены на диск после завершения установки) и тестирование начнется. После отображения белым по черному результатов тестирования запустится sysinstall и отобразится главное меню (Figure 2-5).
Последние несколько сотен линий, отображенные на экране, сохраняются и могут быть просмотрены.
Для просмотра буфера нажмите Scroll Lock. Это включит прокрутку экрана. Вы можете использовать клавиши навигации или PageUp и PageDown для просмотра результатов. Нажмите Scroll Lock еще раз для отключения прокрутки.
Сделайте это сейчас для просмотра текста, ушедшего за экран, когда ядро закончило тестирование устройств. Вы увидите текст вроде Figure 2-6, хотя в деталях он будет отличаться в зависимости от устройств, имеющихся в вашем компьютере.
Figure 2-6. Типичный вывод Device Probe
avail memory = 253050880 (247120K bytes) Preloaded elf kernel "kernel" at 0xc0817000. Preloaded mfs_root "/mfsroot" at 0xc0817084. md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4 md1: Malloc disk Using $PIR table, 4 entries at 0xc00fde60 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 isa0: <iSA bus> on isab0 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci 0 usb0: <VIA 83572 USB controller> on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1 uhub0: 2 ports with 2 removable, self powered pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3 dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir q 11 at device 8.0 on pci0 dc0: Ethernet address: 00:04:5a:74:6b:b5 miibus0: <MII bus> on dc0 ukphy0: <Generic IEEE 802.3u media interface> on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10. 0 on pci0 ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit) isa0: too many dependant configs (8) isa0: unexpected small tag 14 orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/@ mouse, device ID 0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/15 bytes threshold plip0: <PLIP network interface> on ppbus0 ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33 acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4 Mounting root from ufs:/dev/md0c /stand/sysinstall running as init on vty0
Внимательно проверьте результаты тестирования устройств и убедитесь, что FreeBSD обнаружила все устройства какие нужно. Если устройство не найдено, его не будет в списке. Если драйвер устройства нуждается в настройке IRQ и адреса порта, проверьте, введены ли они правильно.
Если вам нужно внести изменения в UserConfig, потребуется выйти из sysinstall и начать сначала. Это также хороший путь познакомиться поближе с процессом конфигурации.
Используйте клавиши навигации для выбора Exit Install из главного меню. Отобразится сообщение:
User Confirmation Requested
Are you sure you wish to exit? The system will reboot
(be sure to remove any floppies from the drives).
[ Yes ] No
Программа установки запустится опять, если компакт-диск остался в устройстве и было выбрано [Yes].
Если вы загружаетесь с дискет, необходимо будет извлечь дискету с mfsroot.flp и заменить ее дискетой с kern.flp перед перезагрузкой.
Утилита sysinstall это программа установки, предоставляемая проектом FreeBSD. Это консольное приложение, разделенное на несколько меню и экранов, которые вы можете использовать для настройки и управления процессом установки.
Меню sysinstall управляется клавишами навигации, Enter, пробелом, и другими. Подробное описание клавиш и их функций содержится в информации по использованию sysinstall.
Для просмотра этой информации убедитесь, что выбраны пункт Usage и кнопка [Select], как показано на Figure 2-8, затем нажмите Enter.
Будут показаны инструкции по использованию меню. После просмотра инструкций, нажмите Enter для возврата в главное меню.
Из главного меню выберите клавишами навигации Doc и нажмите Enter.
Будет отображено меню документации.
Рекомендуется прочитать предоставляемую документацию.
Для просмотра документа выберите его с помощью клавиш навигации и нажмите Enter. После прочтения документа нажмите Enter для возврата в меню документации.
Для возврата в главное меню выберите Exit с помощью клавиш навигации и нажмите Enter.
Для изменения раскладки клавиатуры выберите из меню с помощью клавиш навигации Keymap и нажмите Enter. Это потребуется только при использовании нестандартной или не-US клавиатуры.
Различные раскладки клавиатуры могут быть выбраны из меню с использованием клавиш навигации, затем следует нажать Space. Нажатие Space еще раз приведет к отмене выбора. Когда необходимые раскладки будут выбраны, перейдите на [ OK ] с помощью клавиш навигации и нажмите Enter.
На экран выведена только часть списка. Нажав Tab, можно выбрать [ Cancel ], вернуться к раскладке по умолчанию и перейти к главному меню.
Выберите пункт Options и нажмите Enter.
Параметры по умолчанию обычно устраивают большинство пользователей и не нуждаются в изменении. Имя релиза зависит от устанавливаемой версии.
Описание выбранного пункта будет появляться внизу экрана с синей подсветкой. Обратите внимание, что один из параметров -- Use Defaults, означает сброс всех параметров к значениям по умолчанию.
Нажатие F1 отобразит справку по различным параметрам.
Нажатием Q можно перейти к главному меню.
Пункт Standard рекомендуется для новых пользователей UNIX или FreeBSD. Используйте клавиши навигации для выбора пункта Standard, а затем нажмите Enter для запуска установки.
Ваша первая задача -- выделить дисковое пространство под FreeBSD и разметить его, чтобы sysinstall могла его подготовить. Для этого вам нужно знать, как FreeBSD ищет информацию на диске.
Перед установкой и настройкой FreeBSD нужно позаботиться кое о чем, особенно если жестких дисков несколько.
В PC, работающем под BIOS-зависимой операционной системой, такой как MS-DOS или Microsoft Windows, BIOS может отходить от обычного порядка нумерации дисков. Это позволяет пользователю загружаться не только с так называемого ``primary master'' диска. Это особенно удобно для тех пользователей, кто обнаружил, что простейший и самый дешевый путь делать резервную копию системы -- купить второй идентичный первому жесткий диск и регулярно делать копии первого диска на второй, используя Ghost® или XCOPY. Затем, если первый диск выйдет из строя, будет заражен вирусом или поврежден из-за сбоя операционной системы, он может быть легко восстановлен путем логической перестановки дисков в BIOS. Это все равно что переключить кабели дисков, но без вскрытия корпуса.
Более дорогостоящие системы со SCSI контроллерами зачастую имеют расширения BIOS, позволяющие сходным путем менять порядок до семи SCSI дисков.
Пользователи, привыкшие пользоваться этими полезными функциями, могут быть удивлены, что во FreeBSD результаты не совпадают с ожидаемыми. FreeBSD не использует BIOS, и не знает о ``логическом отображении дисков в BIOS''. Это может привести к очень сложным ситуациям, особенно когда диски имеют одинаковую геометрию и содержат точную копию данных друг друга.
При использовании FreeBSD всегда восстанавливайте настройки BIOS к первоначальной нумерации перед установкой системы и оставляйте их в таком виде. Если вам понадобится переключить диски, сделайте это, но путем физического переконфигурирования, вскрыв корпус, переключив перемычки и кабели.
Note: Внесенные вами изменения не будут записываться на диск сразу. Если вы думаете, что сделали ошибку, и хотите начать сначала, можете использовать меню для выхода из sysinstall и попробовать еще раз или нажатием U вызвать опцию Undo (отмена). Если вы запутались и не можете выйти, просто выключите компьютер.
После начала стандартной установки в sysinstall будет показано это сообщение:
Message
In the next menu, you will need to set up a DOS-style ("fdisk")
partitioning scheme for your hard disk. If you simply wish to devote
all disk space to FreeBSD (overwriting anything else that might be on
the disk(s) selected) then use the (A)ll command to select the default
partitioning scheme followed by a (Q)uit. If you wish to allocate only
free space to FreeBSD, move to a partition marked "unused" and use the
(C)reate command.
[ OK ]
[ Press enter or space ]
Нажмите Enter как предлагается. Будет показан список всех жестких дисков, обнаруженных ядром во время тестирования устройств. Figure 2-16 показывает пример системы с двумя IDE дисками. Они были названы ad0 и ad2.
Вы можете быть удивлены, почему устройства ad1 здесь нет. Почему оно было пропущено?
Предположим, что у вас есть два жестких диска IDE, один master на первом контроллере IDE, а второй master на втором контроллере IDE. Если FreeBSD пронумерует их в том порядке, в котором нашла, ad0 и ad1, все будет работать.
Но если вы добавите третий диск, как slave устройство на первый контроллер IDE, он станет ad1, а предыдущий ad1 станет ad2. Поскольку имена устройств (таких как ad1s1a) используются для обращения к файловым системам, вы можете вдруг обнаружить, что некоторые из ваших файловых систем больше не отображаются правильно и вам потребуется изменить конфигурацию FreeBSD.
Для обхода этой проблемы, ядро может быть настроено так, чтобы именовать IDE диски на основе их местоположения, а не порядка, в котором они были найдены. С этой схемой master диск на втором контроллере IDE будет всегда устройством ad2, если даже нет устройств ad0 или ad1.
Это конфигурация ядра FreeBSD по умолчанию, поэтому на экране показаны ad0 и ad2. У компьютера, с которого был взят этот снимок экрана, есть по одному IDE диску на обеих master каналах IDE контроллеров и ни одного диска на каналах slave.
Вы должны выбрать диск, на который хотите установить FreeBSD, и нажать [ OK ]. Запустившийся FDisk будет выглядеть примерно как Figure 2-17.
Экран FDisk разбит на три секции.
Первая секция, занимающая первые две линии экрана, показывает подробную информацию о выбранном в данный момент диске, включая его имя во FreeBSD, геометрию и общий размер диска.
Вторая секция показывает имеющиеся в данный момент на диске слайсы, где они начинаются и заканчиваются, их размер, имя, которое им дала FreeBSD, описание и подтип. На этом примере показаны два маленьких неиспользованных слайса, которые являются артефактами схемы разметки диска на PC. Также показан один большой FAT слайс, который почти всегда является диском C: в MS-DOS / Windows, и дополнительный слайс, который может содержать диски с другими буквами для MS-DOS / Windows.
Третья секция показывает команды, доступные в FDisk.
Ваши действия теперь будут зависеть от того, как вы хотите разбить диск на слайсы.
Если вы хотите использовать для FreeBSD весь диск (это приведет к удалению всех других данных на этом диске когда вы подтвердите sysinstall продолжение процесса установки), нажмите A, что соответствует опции Использовать весь диск (Use Entire Disk). Существующие слайсы будут удалены, и заменены на небольшую область, помеченную как неиспользуемая (unused) (это опять же артефакт разметки диска PC), и один большой слайс для FreeBSD. Когда вы сделаете это, нужно выбрать вновь созданный слайс FreeBSD используя клавиши навигации, а затем нажать S, чтобы сделать слайс загрузочным. Экран будет похож на Figure 2-18. Обратите внимание, что A в колонке Flags означает, что слайс активен и с него будет происходить загрузка.
Если вы будете удалять существующий слайс для освобождения места под FreeBSD, выберите слайс, используя клавиши навигации, и нажмите D. Затем можете нажать C, и получить приглашение на ввод размера слайса, который вы хотите создать. Введите соответствующее значение и нажмите Enter. Значение по умолчанию в этом поле означает наибольший размер слайса, который может быть выбран; это может быть наибольший непрерывный блок неразмеченного пространства или размер всего жесткого диска.
Если вы уже освободили место для FreeBSD (возможно, используя утилиту похожую на PartitionMagic), можете нажать C для создания нового слайса. Будет также предложено ввести размер слайса, который вы хотите создать.
Когда закончите, нажмите Q. Изменения будут сохранены в sysinstall, но еще не записаны на диск.
Теперь вам предлагается установить менеджера загрузки. Как правило, нужно выбрать установку менеджера загрузки если:
У вас больше чем один диск и вы устанавливаете FreeBSD не на первый диск.
Вы устанавливаете FreeBSD вместе с другой операционной на один и тот же диск, и хотите выбирать при загрузке FreeBSD или другую операционную систему.
Если FreeBSD единственная операционная система, установленная на этом компьютере, и находится на первом жестком диске, подойдет менеджер загрузки Standard. Выберите None если вы используете менеджер загрузки сторонних разработчиков, способный загрузить FreeBSD.
Сделайте выбор и нажмите Enter.
Экран подсказки, вызываемый по нажатию F1, описывает проблемы, которые могут быть встречены при попытке совместного использования диска операционными системами.
Если дисков больше чем один, вернитесь к экрану выбора дисков (Select Drives) после выбора менеджера загрузки. Если вы собираетесь устанавливать FreeBSD более чем на один диск, можете выбрать другой диск и повторить процесс разбиения на слайсы с использованием FDisk.
Important: Если вы устанавливаете FreeBSD не на первый жесткий диск, потребуется установить менеджер загрузки FreeBSD на оба диска.
Клавиша Tab переключает между последним выбранным диском, [ OK ], и [ Cancel ].
Нажмите Tab один раз для выбора [ OK ], затем нажмите Enter для продолжения установки.
Теперь вы должны создать несколько разделов внутри каждого только что созданного слайса. Запомните, что у каждого раздела есть буква с a до h, а разделы b, c, и d имеют соглашения, которых вы должны придерживаться.
Некоторые приложения могут выигрывать от определенных схем разделов, особенно если у вас разделы на более чем одном диске. Тем не менее, для вашей первой установки FreeBSD не нужно слишком углубляться в принципы разбиения диска. Более важно установить FreeBSD и начать ее использовать. Вы всегда можете переустановить FreeBSD для изменения схемы разделов, когда поближе познакомитесь с операционной системой.
Эта схема показывает четыре раздела -- один для подкачки и три для файловых систем.
Table 2-2. Планирование разделов для первого диска
| Раздел | Файловая система | Размер | Описание |
|---|---|---|---|
| a | / | 100 MB | Корневая файловая система. Любая другая файловая система будет смонтирована на эту. 100 MB это подходящий размер для этой файловой системы. Вы не будете хранить на ней слишком много данных, а обычная установка FreeBSD разместит здесь около 40 MB данных. Оставшееся пространство используется для временных файлов, а также оставляет возможность расширения для будущих версий FreeBSD, которым может понадобится больше места в /. |
| b | N/A | 2-3 x RAM |
Здесь находится раздел подкачки. Выбор правильного размера раздела подкачки это немного искусство. Хороший практический способ выбрать размер подкачки это установить его равным двум или трем размерам доступной физической памяти (RAM). Должно быть хотя бы 64 MB подкачки; если в компьютере меньше чем 32 MB памяти -- установите размер подкачки равным 64 MB. Если у вас больше одного диска, можно расположить подкачку на каждом диске. FreeBSD будет использовать каждый диск, что серьезно увеличит скорость подкачки. В этом случае, определите общий размер подкачки, который вам нужен (например, 128 MB), и поделите его на число имеющихся дисков (например, два) для определения размера разделов подкачки, которые нужно разместить на каждом вашем диске, в этом примере 64 MB на диск. |
| e | /var | 50 MB | Каталог /var содержит файлы, которые постоянно меняются; логи и другие административные файлы. Многие из этих файлов интенсивно читаются и записываются в процессе ежедневной работы FreeBSD. Размещение их на отдельной файловой системе позволяет FreeBSD оптимизировать доступ к этим файлам без затрагивания других каталогов, не имеющих такой же модели доступа. |
| f | /usr | Остальная часть диска | Все другие файлы как правило хранятся в каталоге /usr и его подкаталогах. |
Если вы устанавливаете FreeBSD более чем на один диск, вы должны также создать разделы в других слайсах, которые настроили. Простейший путь сделать это -- создать два раздела на каждом диске, один для подкачки, а другой для файловой системы.
Table 2-3. Разметка разделов для остальных дисков
| Раздел | Файловая система | Размер | Описание |
|---|---|---|---|
| b | N/A | Смотрите описание | Как уже обсуждалось, вы можете распространить подкачку на каждый диск. Даже если раздел a свободен, соглашение говорит о том, что подкачка находится на разделе b. |
| e | /diskn | Остальная часть диска | Остальная часть диска занята одним большим разделом. Он легко может быть помещен на раздел a вместо раздела e. Однако, соглашение говорит что раздел a зарезервирован на слайсе для корневой (/) файловой системы. вы можете не следовать этому соглашению, но программа sysinstall будет ему следовать, поэтому приняв его, вы сделаете установку несколько проще. вы можете монтировать эти файловые системы к любой точке; в этом примере предлагается смонтировать их как каталоги /diskn, где n это номер, который уникален для каждого диска. Но вы можете использовать другую схему, если захотите. |
Теперь, выбрав разметку разделов, можете приступить к их созданию в sysinstall. Вы увидите это сообщение:
Message
Now, you need to create BSD partitions inside of the fdisk
partition(s) just created. If you have a reasonable amount of disk
space (200 MB or more) and don't have any special requirements, simply
use the (A)uto command to allocate space automatically. If you have
more specific needs or just don't care for the layout chosen by
(A)uto, press F1 for more information on manual layout.
[ OK ]
[ Press enter or space ]
Нажмите Enter для запуска редактора разделов FreeBSD, называемого Disklabel.
Figure 2-21 показывает экран только что запущенного Disklabel. Экран поделен на три раздела.
Первые несколько линий показывают имя диска, с которым вы сейчас работаете и слайс, содержащий раздел который вы создаете (здесь Disklabel называет это именем раздела (Partition name) вместо имени слайса). Этот экран также показывает объем свободного пространства на слайсе; т.е. пространство, выделенное под слайс, но еще не отданное под раздел.
В центре экрана показаны уже созданные разделы, имена файловых систем, содержащихся в разделах, их размер и некоторые опции, применяемые при создания файловых систем.
Нижняя треть экрана показывает управляющие клавиши, работающие в Disklabel.
Disklabel может автоматически создать разделы и присвоить им размеры по умолчанию. Попробуйте это, нажав A. Вы увидите экран как на Figure 2-22. В зависимости от размера диска, значения по умолчанию могут подходить или не подходить вам. Это не имеет значения, если вы не принимаете их.
Note: Начиная с FreeBSD 4.5, по умолчанию под каталог /tmp выделяется собственный раздел вместо использования части раздела /. Это помогает избежать заполнения раздела / временными файлами.
Если вы решили не использовать разделы по умолчанию и заменить их на свои, используйте клавиши навигации для выбора первого раздела, затем нажмите D для его удаления. Повторите это для удаления всех предложенных разделов.
Для создания первого раздела (a, монтируемого как / -- root), убедитесь, что выбран соответствующий слайс вверху экрана и нажмите C. Появится диалог, предлагающий выбрать размер нового раздела (как показано в Figure 2-23). Вы можете ввести количество блоков диска, или количество мегабайт с M после номера, или гигабайт с G, или цилиндров с C.
Note: Начиная с FreeBSD 5.X, пользователи могут: выбирать UFS2, используя опцию Custom Newfs (Z), использовать опцию Auto Defaults и изменять параметры с помощью опции Custom Newfs, или добавлять опцию -O 2 в процессе создания раздела. Не забудьте добавить -U для включения SoftUpdates если вы используете опциюCustom Newfs!
Размер по умолчанию задан для создания корневого раздела на весь слайс. Если вы используете размеры разделов, описанные ранее в примере, удалите это значение используя Backspace, а затем введите 64M, как показано на Figure 2-24. Затем нажмите [ OK ].
После указания размера раздела вам будет задан вопрос, должен ли этот раздел содержать файловую систему или раздел подкачки. Диалог показан на Figure 2-25. Первый раздел будет содержать файловую систему, поэтому проверьте, что выбрана FS и нажмите Enter.
Наконец, поскольку вы создаете файловую систему, нужно сказать Disklabel где файловая система будет смонтирована. Диалог показан на Figure 2-26. Точка монтирования корневой файловой системы /, поэтому введите /, и нажмите Enter.
На экране будет показан вновь созданный раздел. Вам нужно повторить эту процедуру для других разделов. При создании раздела подкачки вопроса про точку монтирования не будет, поскольку раздел подкачки никогда не монтируется. Когда будете создавать последний раздел, /usr, можете оставить предложенный размер как есть, чтобы использовать весь остаток слайса.
Последний экран FreeBSD редактора DiskLabel будет похож на Figure 2-27, хотя ваш выбор значений может быть другим. Нажмите Q, чтобы выйти.
Выбор дистрибутивного набора зависит в основном от направления будущего использования системы и от доступного дискового пространства. Предустановленные опции варьируются от наименьшей возможной конфигурации до полной установки. Для новичков в UNIX и/или FreeBSD лучшим выбором будет одна из этих предустановленных опций. Настройка дистрибутивного набора как правило нужна более опытным пользователям.
Нажмите F1 для получения информации о дистрибутивных наборах и их содержимом. После просмотра помощи нажмите Enter для возврата к меню выбора дистрибутивного набора.
Если желательно наличие графического интерфейса пользователя, должен быть выбран дистрибутивный набор с названием, начинающимся на X. Настройка XFree86 и выбор десктопа по умолчанию -- часть послеустановочного процесса.
Устанавливаемая по умолчанию версия XFree86 зависит от устанавливаемой версии FreeBSD. Для версий FreeBSD ниже 4.6 устанавливается XFree86 3.X. Для FreeBSD 4.6 и выше, версия по умолчанию XFree86 4.X.
Проверьте на веб-сайте XFree86 поддерживается ли ваша видеокарта. Если видеокарта не поддерживается в версии по умолчанию, которую устанавливает FreeBSD, выберите дистрибутивный набор без X. После установки установите и настройте соответствующую версию XFree86 используя коллекцию портов.
Если планируется пересборка ядра, выберите опцию, включающую исходные тексты. Информация о том, зачем пересобирать ядро и как это сделать, находится на Chapter 9.
Ясно, что наиболее универсальная система включает все. Если места на диске достаточно, выберите All, как показано на Figure 2-28 и нажмите Enter. Если есть сомнения относительно того, хватит ли диска, используйте наиболее подходящую опцию. Не беспокойтесь о том, какой выбор будет наилучшим, другие части дистрибутива могут быть добавлены после установки.
После выбора подходящего дистрибутива можно будет выбрать установку коллекции портов FreeBSD. Коллекция портов -- легкий и удобный путь установки программ. Коллекция портов не содержит исходных кодов программ. Это набор файлов, который автоматизирует загрузку, компилирование и установку пакетов программного обеспечения сторонних разработчиков. Chapter 4 показывает как использовать коллекцию портов.
Программа установки не проверяет, есть ли достаточно места. Выберите эту опцию только если его достаточно. В FreeBSD 5.2.1, коллекция портов занимает около 300 MB. В более современных релизах это значение всегда больше.
User Confirmation Requested
Would you like to install the FreeBSD ports collection?
This will give you ready access to over 10,500 ported software packages,
at a cost of around 300 MB of disk space when "clean" and possibly much
more than that if a lot of the distribution tarballs are loaded
(unless you have the extra CDs from a FreeBSD CD/DVD distribution
available and can mount it on /cdrom, in which case this is far less
of a problem).
The ports collection is a very valuable resource and well worth having
on your /usr partition, so it is advisable to say Yes to this option.
For more information on the ports collection & the latest ports,
visit:
http://www.FreeBSD.org/ports
[ Yes ] No
Выберите [ Yes ] для установки коллекции портов, или [ No ], чтобы пропустить установку. Нажмите Enter, чтобы продолжить. Меню выбора дистрибутивных наборов появится опять.
Если вы согласны с выбранными опциями, переместитесь на Exit, убедитесь что выбран [ OK ] и нажмите Enter, чтобы продолжить.
При установке с CDROM или DVD используйте клавиши навигации, для перехода к Install from a FreeBSD CD/DVD. Убедитесь что выбран [ OK ] и нажмите Enter для запуска установки.
При других методах установки выберите соответствующую опцию и следуйте инструкциям.
Нажмите F1 для просмотра справки по источникам установки. Нажмите Enter для возврата к меню выбора источника установки.
Режимы установки с FTP: Есть три режима установки через FTP, которые вы можете выбрать: активный FTP, пассивный FTP, или через HTTP прокси.
- Активный FTP: Install from an FTP server
С этой опцией все закачки по FTP будут выполнены в ``активном'' режиме. Этот режим не позволяет работать через файрволл, но зачастую позволяет работать со старыми серверами FTP, не поддерживающими пассивный режим. Если соединение прерывается в пассивном режиме (по умолчанию), попробуйте активный!
- Пассивный FTP: Install from an FTP server through a firewall
Эта опция говорит sysinstall использовать ``пассивный'' режим для работы с FTP. Он позволяет работать через файрволл, не разрешающий входящие соединения на случайных TCP портах.
- FTP через HTTP прокси: Install from an FTP server through a http proxy
Эта опция говорит sysinstall использовать HTTP протокол (как веб браузер) для работы с FTP через прокси. Прокси будет транслировать все запросы и посылать их на FTP сервер. Это позволяет проходить через файрволл, на котором FTP запрещен, но есть HTTP прокси. В этом случае потребуется указать прокси и FTP сервер.
Для работы с FTP через прокси, необходимо поместить имя сервера как часть имени пользователя после знака ``@''. Прокси сервер ``обманет'' настоящий сервер. Например, предположим что вы хотите провести установку с ftp.FreeBSD.org, используя FTP через прокси foo.example.com, прослушивающем порт 1024.
в этом случае, войдите в меню параметров, установите имя пользователя FTP ftp@ftp.FreeBSD.org, а вместо пароля введите свой адрес email. В качестве источника установки выберите FTP (или пассивный FTP, если прокси его поддерживает), и URL ftp://foo.example.com:1234/pub/FreeBSD.
Так как /pub/FreeBSD с сервера ftp.FreeBSD.org идет через прокси foo.example.com, вы сможете провести установку с этого компьютера (файлы будут загружены с ftp.FreeBSD.org как требуется для установки).
Теперь можно начинать установку. Это последний шанс отменить установку и таким образом избежать изменений на жестком диске.
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 ] No
Выберите [ Yes ] и нажмите Enter, чтобы начать.
Время установки сильно зависит от выбранного дистрибутивного набора, источника установки и скорости компьютера. Появится несколько сообщений о статусе процесса установки.
Установка будет завершена когда отобразится следующее сообщение:
Message
Congratulations! You now have FreeBSD installed on your system.
We will now move on to the final configuration questions.
For any option you do not wish to configure, simply select No.
If you wish to re-enter this utility after the system is up, you may
do so by typing: /stand/sysinstall .
[ OK ]
[ Press enter to continue ]
Нажмите Enter для начала послеустановочной настройки.
Выбор [ No ] и нажатие Enter прервет процесс установки, изменения в систему внесены не будут. Появится следующее сообщение:
Message
Installation complete with some errors. You may wish to scroll
through the debugging messages on VTY1 with the scroll-lock feature.
You can also choose "No" at the next prompt and go back into the
installation menus to retry whichever operations have failed.
[ OK ]
Это сообщение появилось поскольку ничего не было установлено. Нажатие Enter вернет вас в главное меню установки, чтобы выйти из нее.
После успешной установки необходимо настроить множество параметров. Некоторые параметры могут быть заданы из меню параметров после установки перед загрузкой установленной FreeBSD или после с использованием /stand/sysinstall, где надо выбрать пункт Configure.
Если вы настраивали PPP для установки через FTP, этот экран не появится, настройку можно будет произвести позже как описано выше.
Чтобы лучше узнать о локальных сетях и настройке FreeBSD в качестве шлюза/маршрутизатора, обратитесь к главе Advanced Networking.
User Confirmation Requested
Would you like to configure any Ethernet or SLIP/PPP network devices?
[ Yes ] No
Для настройки сетевого устройства выберите [ Yes ] и нажмите Enter. Или нажмите [ No ], чтобы продолжить.
Выберите интерфейс для настройки с помощью клавиш навигации и нажмите Enter.
User Confirmation Requested
Do you want to try IPv6 configuration of the interface?
Yes [ No ]
Для частной локальной сети обычный протокол интернет (IPv4) вполне достаточен, поэтому выбрана кнопка [ No ] и нажат Enter.
Если вы хотите подсоединиться к существующей сети IPv6 через сервер RA, выберите [ Yes ] и нажмите Enter. Поиск RA серверов займет несколько секунд.
User Confirmation Requested
Do you want to try DHCP configuration of the interface?
Yes [ No ]
Если DHCP (Dynamic Host Configuration Protocol) не нужен, выберите [ No ] с помощью клавиш навигации и нажмите Enter.
Выбор [ Yes ] запустит dhclient, и если все пройдет нормально, заполнит информацию о конфигурации сети автоматически. Обратитесь к Section 19.10 за более подробными сведениями.
Следующий экран конфигурации сети показывает настройку устройства Ethernet системы, которая будет работать шлюзом для локальной сети.
Используйте Tab для выбора полей и заполнения их соответствующими данными:
Полное имя хоста, в этом примере k6-2.example.com.
Имя домена, в котором находится ваш компьютер, в этом примере example.com.
IP хоста, пересылающего пакеты наружу локальной сети. Вам потребуется заполнить его, если это компьютер, подключенный к сети. Оставьте это поле пустым, если компьютер является шлюзом в интернет для сети. Шлюз IPv4 известен также как шлюз по умолчанию или маршрут по умолчанию.
IP адрес местного сервера DNS. В этой локальной сети нет DNS сервера, поэтому использован IP адрес DNS сервера провайдера (208.163.10.2).
IP адрес, использованный для этого интерфейса, 192.168.0.1
Адрес блока, использованного для этой локальной сети, это блок класса C (192.168.0.0 - 192.168.255.255). Маска по умолчанию дана для сети класса C (255.255.255.0).
Любые специфичные для интерфейса опции к ifconfig, которые вы хотите добавить. В данном случае ничего.
Используйте Tab для выбора [ OK ] после окончания настройки и нажмите Enter.
User Confirmation Requested
Would you like to Bring Up the ed0 interface right now?
[ Yes ] No
Выбор [ Yes ] и нажатие Enter введет компьютер в сеть. Тем не менее, компьютеру все еще требуется перезагрузка.
User Confirmation Requested
Do you want this machine to function as a network gateway?
[ Yes ] No
Если компьютер будет шлюзом для локальной сети, пересылая пакеты между другими компьютерами, выберите [ Yes ] и нажмите Enter. Если это обычный компьютер, выберите [ No ] и нажмите Enter для продолжения.
User Confirmation Requested
Do you want to configure inetd and the network services that it provides?
Yes [ No ]
Если выбрана [ No ], различные сервисы, такие как telnetd не будут запущены. Это означает, что удаленные пользователи не смогут зайти по telnet на этот компьютер. Локальные пользователи все же смогут заходит на удаленные компьютеры по telnet.
Эти сервисы могут быть включены после установки путем редактирования /etc/inetd.conf с помощью вашего любимого текстового редактора. Обращайтесь к Section 19.14.1 за более подробной информацией.
Выберите [ Yes ] если хотите настроить эти сервисы во время установки. Появится дополнительный запрос подтверждения:
User Confirmation Requested
The Internet Super Server (inetd) allows a number of simple Internet
services to be enabled, including finger, ftp and telnetd. Enabling
these services may increase risk of security problems by increasing
the exposure of your system.
With this in mind, do you wish to enable inetd?
[ Yes ] No
Нажмите [ Yes ], чтобы продолжить.
User Confirmation Requested
inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
which of its Internet services will be available. The default FreeBSD
inetd.conf(5) leaves all services disabled by default, so they must be
specifically enabled in the configuration file before they will
function, even once inetd(8) is enabled. Note that services for
IPv6 must be separately enabled from IPv4 services.
Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
use the current settings.
[ Yes ] No
Выбор [ Yes ] позволит добавить сервисы путем удаления # перед началом строки.
После добавления нужных сервисов нажатие Esc отобразит меню, позволяющее выйти с сохранением изменений.
User Confirmation Requested
Do you want to have anonymous FTP access to this machine?
Yes [ No ]
Выбор кнопки по умолчанию [ No ] и нажатие Enter все же позволит пользователям, имеющим учетные записи с паролями, использовать FTP для доступа к компьютеру.
Кто угодно сможет получить доступ к компьютеру если вы разрешите анонимные соединения FTP. Предварительно должны быть рассмотрены возможные осложнения с безопасностью. Более подробная информация о безопасности доступна на Chapter 10.
Чтобы разрешить анонимный FTP, используя клавиши навигации выберите [ Yes ] и нажмите Enter. Появится следующий (или похожий) экран:
Нажатие F1 отобразит справку:
This screen allows you to configure the anonymous FTP user.
The following configuration values are editable:
UID: The user ID you wish to assign to the anonymous FTP user.
All files uploaded will be owned by this ID.
Group: Which group you wish the anonymous FTP user to be in.
Comment: String describing this user in /etc/passwd
FTP Root Directory:
Where files available for anonymous FTP will be kept.
Upload subdirectory:
Where files uploaded by anonymous FTP users will go.
Корневой каталог ftp по умолчанию будет размещен в /var. Если в нем предположительно не хватает места для для нужд FTP, можно использовать каталог /usr, выбрав корневой каталог FTP (FTP Root Directory) /usr/ftp.
Когда будут выбраны подходящие значения, нажмите Enter, чтобы продолжить.
User Confirmation Requested
Create a welcome message file for anonymous FTP users?
[ Yes ] No
Если вы выберете [ Yes ] и нажмете Enter, запустится редактор, позволяющий отредактировать сообщение FTP.
Этот текстовый редактор называется ee. Используйте инструкции, чтобы изменить сообщение, или измените сообщение позже, используя выбранный вами редактор. Обратите внимание, что имя/расположение файла показаны внизу окна редактора.
Нажмите Esc и появится меню с пунктом по умолчанию a) leave editor (выйти из редактора). Нажмите Enter, чтобы выйти и продолжить. Нажмите Enter еще раз, чтобы сохранить изменения, если они были сделаны.
Сетевая файловая система (Network File System, NFS) позволяет совместно использовать файлы в сети. Компьютер может быть настроен как сервер, клиент, или как то и другое. Обратитесь к Section 19.6 за более подробной информацией.
User Confirmation Requested
Do you want to configure this machine as an NFS server?
Yes [ No ]
Если вам не нужен NFS сервер, выберите [ No ] и нажмите Enter.
Если выбран пункт [ Yes ], появится сообщение, говорящее о том, что должен быть создан файл exports.
Message
Operating as an NFS server means that you must first configure an
/etc/exports file to indicate which hosts are allowed certain kinds of
access to your local filesystems.
Press [Enter] now to invoke an editor on /etc/exports
[ OK ]
Нажмите Enter, чтобы продолжить. Запустится текстовый редактор, позволяющий создать и отредактировать файл exports.
Используйте инструкции для добавления экспортируемых файловых систем сейчас, или позднее с помощью выбранного вами текстового редактора. Обратите внимание, что имя/расположение файла показаны внизу окна редактора.
Нажмите Esc и появится меню с пунктом по умолчанию a) leave editor. Нажмите Enter, чтобы выйти и продолжить.
NFS клиент позволяет организовать доступ к серверам NFS.
User Confirmation Requested
Do you want to configure this machine as an NFS client?
Yes [ No ]
С помощью клавиш навигации выберите [ Yes ] или [ No ], как потребуется, и нажмите Enter.
``Профиль безопасности'' это набор параметров настройки, с помощью которого делается попытка достичь требуемого уровня безопасности и удобства путем разрешения или запрещения запуска определенных программ и другими настройками. Чем строже профиль безопасности, тем меньше программ будет запущено по умолчанию. Это один из основных принципов безопасности: не запускайте ничего кроме того что необходимо.
Имейте ввиду, что профиль безопасности это лишь установка по умолчанию. Любая программа может быть запущена или остановлена после установки FreeBSD путем редактирования или добавления соответствующих строк в /etc/rc.conf. Для получения более подробной информации обратитесь к странице справочника rc.conf(5).
Следующая таблица описывает действие каждого профиля безопасности. Колонки показывают выбранный вами профиль безопасности, а ряды -- программы или функции, которые профиль включает или выключает.
Table 2-4. Возможные профили безопасности
| Extreme (Максимальный) | Moderate (Умеренный) | |
|---|---|---|
| sendmail(8) | НЕТ | ДА |
| sshd(8) | НЕТ | ДА |
| portmap(8) | НЕТ | МОЖЕТ БЫТЬ [a] |
| NFS server | НЕТ | ДА |
| securelevel(8) | ДА [b] | НЕТ |
| Notes: a. Portmapper включен, если компьютер был настроен в процессе установки как NFS клиент или сервер. b. Если вы выберете профиль безопасности с уровнем ``Extreme'' или ``High'', будьте готовы к последствиям. Прочитайте страницу справочника init(8) и уделите некоторое внимание значениям уровней безопасности, или позже могут возникнуть серьезные проблемы! |
||
User Confirmation Requested
Do you want to select a default security profile for this host (select
No for "medium" security)?
[ Yes ] No
Выбор [ No ] и нажатие Enter установит профиль безопасности к среднему значению.
Выбор [ Yes ] и нажатие Enter позволит выбрать другой профиль безопасности.
Нажмите F1, чтобы получить помощь. Нажмите Enter для возврата к меню выбора.
Используйте клавиши навигации для выбора Medium, если вы не уверены, что необходим другой уровень. С подсвеченным [ OK ] нажмите Enter.
Будет отображен запрос на подтверждение, соответствующий выбранным настройкам безопасности.
Message
Moderate security settings have been selected.
Sendmail and SSHd have been enabled, securelevels are
disabled, and NFS server setting have been left intact.
PLEASE NOTE that this still does not save you from having
to properly secure your system in other ways or exercise
due diligence in your administration, this simply picks
a standard set of out-of-box defaults to start with.
To change any of these settings later, edit /etc/rc.conf
[OK]
Message
Extreme security settings have been selected.
Sendmail, SSHd, and NFS services have been disabled, and
securelevels have been enabled.
PLEASE NOTE that this still does not save you from having
to properly secure your system in other ways or exercise
due diligence in your administration, this simply picks
a more secure set of out-of-box defaults to start with.
To change any of these settings later, edit /etc/rc.conf
[OK]
Нажмите Enter, чтобы продолжить послеустановочные настройки.
Warning: Профиль безопасности не панацея! Если даже вы выберете экстремальные установки, понадобится поддерживать безопасность, читая соответствующие списки рассылки, используя хорошие пароли и идентификационные фразы, и придерживаясь хорошей практики безопасности. Профиль всего лишь повышает желаемый уровень безопасности свежеустановленной системы до приемлемого значения.
Есть несколько параметров для настройки системной консоли.
User Confirmation Requested
Would you like to customize your system console settings?
[ Yes ] No
Для просмотра и настройки параметров выберите [ Yes ] и нажмите Enter.
Часто используемая опция это хранитель экрана (screen saver). Используйте клавиши навигации для выбора Saver и нажмите Enter.
Выберите подходящий хранитель экрана с помощью клавиш навигации и нажмите Enter. Опять появится меню настройки системной консоли.
Время по умолчанию 300 секунд. Для изменения временного интервала выберите Saver еще раз. В меню настроек хранителя экрана выберите Timeout с помощью клавиш навигации и нажмите Enter. Появится меню:
Значение может быть изменено, затем выберите [ OK ] и нажмите Enter для возврата в меню настройки системной консоли.
Выбор Exit и нажатие Enter вернет вас к послеустановочной настройке.
Установка часового пояса на компьютере позволит ему автоматически вносить поправки к местному времени и правильно выполнять другие, связанные с часовым поясом функции.
Пример приведен для компьютера, расположенного в восточном часовом поясе Соединенных Штатов. Ваш выбор будет зависеть от вашего географического положения.
User Confirmation Requested
Would you like to set this machine's time zone now?
[ Yes ] No
Выберите [ Yes ] и нажмите Enter для установки часового пояса.
User Confirmation Requested
Is this machine's CMOS clock set to UTC? If it is set to local time
or you don't know, please choose NO here!
Yes [ No ]
Выберите [ Yes ] или [ No ] в зависимости от настроек часов компьютера и нажмите Enter.
Соответствующий регион выбран с помощью клавиш навигации и нажат Enter.
Выберите соответствующую страну с помощью клавиш навигации и нажмите Enter.
Выбран соответствующий часовой пояс с помощью клавиш навигации и нажат Enter.
Confirmation
Does the abbreviation 'EDT' look reasonable?
[ Yes ] No
Правильно будет согласиться с назначением аббревиатуры временного пояса. Если она подходит, нажмите Enter, чтобы продолжить послеустановочную настройку.
User Confirmation Requested
Would you like to enable Linux binary compatibility?
[ Yes ] No
Выбор [ Yes ] и нажатие Enter позволит запускать программы Linux под FreeBSD. Программа установки добавит соответствующие пакеты для совместимости с Linux.
При установке по FTP, компьютеру потребуется соединиться с интернет. Иногда на сервере ftp нет всех необходимых компонент, например для бинарной совместимости с Linux. Эти компоненты могут быть установлены позже, если потребуется.
Эти настройки позволят вырезать и вставлять текст в консоли и пользовательских программах с помощью трехкнопочной мыши. Если используется двухкнопочная мышь, обратитесь к странице справочника moused(8) после установки, чтобы узнать подробности об эмуляции трехкнопочной мыши. Этот пример приведен для настройки не-USB мыши (например мыши для порта PS/2 или COM):
User Confirmation Requested
Does this system have a non-USB mouse attached to it?
[ Yes ] No
Выберите [ Yes ] для не-USB мыши или [ No ] для USB мыши и нажмите Enter.
Используйте клавиши навигации для выбора Type и нажмите Enter.
В этом примере использована PS/2 мышь, поэтому подойдет протокол по умолчанию Auto. Чтобы изменить протокол, используйте клавиши навигации для выбора другого пункта. Убедитесь, что выбран [ OK ], и нажмите Enter для выхода из меню.
Используйте клавиши навигации для выбора Port и нажмите Enter.
К этой системе подключена мышь PS/2, поэтому подходит значение по умолчанию PS/2. Чтобы изменить порт, используйте клавиши навигации и нажмите Enter.
Наконец, используйте клавиши навигации для выбора Enable, затем нажмите Enter для запуска и тестирования даемона мыши.
Подвигайте курсор по экрану и убедитесь, что он движется правильно. Если это так, выберите [ Yes ] и нажмите Enter. Если нет, мышь не была правильно настроена -- выберите [ No ] и попробуйте использовать другие опции настройки.
Выберите Exit с помощью клавиш навигации и нажмите Enter для возврата к послеустановочной настройке.
Настройка сетевых сервисов может быть пугающей задачей для новых пользователей если у них нет опыта в этой области. Работа в сети, включая интернет, критична для многих современных операционных систем, включая FreeBSD; очень важно иметь некоторые знания о дополнительных сетевых возможностях FreeBSD. Настраивая их во время установки, пользователь получает некоторую информацию о различных доступных сервисах.
Сетевые сервисы -- это программы, принимающие данные из любой точки сети. Чтобы убедиться, что эти программы не делают ничего ``вредного'', требуется особое внимание. К сожалению, программисты не совершенны и время от времени допускают ошибки в сетевых сервисах; эти ошибки позволяют атакующим взломать их и использовать в собственных целях. Важно, чтобы вы включали сетевые сервисы только в том случае, когда знаете, какие сервисы нужны. В случае сомнений лучше не включать сервис, пока он не понадобится. Вы всегда можете включить его позже, запустив sysinstall еще раз, или используя возможности, предоставляемые файлом /etc/rc.conf.
Выбор опции Networking отобразит меню, похожее на это:
Первая опция, Interfaces (интерфейсы), была ранее описана в разделе Section 2.9.1, эту опцию можно проигнорировать.
Выбор опции AMD добавит поддержку BSD утилиты автоматического монтирования. Она обычно используется вместе с протоколом NFS (смотрите ниже) для автоматического монтирования удаленных файловых систем. Здесь не требуется специальной конфигурации.
Следующая линия это опция флаги AMD (flags). Когда эта опция выбрана, появится меню для ввода специфичных флагов AMD. Меню уже содержит набор различных опций:
-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map
Опция -a указывает месторасположение монтирования систем по умолчанию, в этом примере /.amd_mnt. Опция -l указывает log файл по умолчанию; тем не менее, если для ведения логов используется syslogd, все логи отправляются даемону системных логов. Каталог /host используется для монтирования экспортированных файловых систем с удаленного хоста, а /net для монтирования экспортированных файловых систем с IP адреса. Файл /etc/amd.map определяет опции по умолчанию для монтируемых AMD каталогов.
Опция Anon FTP позволяет получить анонимный доступ к FTP. Выберите ее, чтобы сделать этот компьютер анонимным FTP сервером. Помните о риске безопасности, создаваемом этой опцией. Будет отображено еще одно меню для разъяснения риска безопасности и для более тонкой настройки.
Опция Gateway сделает компьютер шлюзом, как было объяснено ранее. Этот пункт может быть использован для отмены опции Gateway, если она была ошибочно установлена в процессе установки.
Опцию Inetd можно использовать для настройки или полного отключения даемона inetd(8), как было описано выше.
Опция Mail используется для настройки системного MTA по умолчанию (Mail Transfer Agent, агент передачи почты). Выбор этой опции приведет к появлению следующего меню:
Здесь предоставляется выбор MTA для установки по умолчанию. MTA это почтовый сервер, доставляющий почту пользователям системы или интернет.
Выбор Sendmail приведет к установке популярного сервера sendmail, MTA по умолчанию для FreeBSD. Опция Sendmail local настроит sendmail в качестве MTA по умолчанию, но отключит возможность получения входящей почты из интернет. Другие MTA, представленные здесь, Postfix и Exim, действуют подобно Sendmail. Оба они доставляют почту; тем не менее, некоторые пользователи предпочитают эти альтернативы sendmail.
После выбора MTA или пропуска этого пункта появится меню настройки сети со следующей опцией, клиент NFS.
Клиент NFS позволяет настроить систему для соединения с сервером через NFS. Сервер NFS дает другим машинам доступ к файловой системе через протокол NFS. Если это отдельно стоящий компьютер, опцию можно не выбирать. Опция может потребовать дополнительной настройки позже; обращайтесь к Section 19.6 за более подробной информацией о настройке сервера и клиента.
Ниже находится опция NFS сервер, позволяющая вам настроить систему для работы в качестве NFS сервера. Она добавляет требуемую информацию для запуска процедуры вызова удаленных сервисов RPC (remote procedure call services). RPC используется для организации соединения между хостами и программами.
Следующая строка это Ntpdate, которая отвечает за синхронизацию времени. Когда эта опция выбрана, появится приблизительно такое меню:
Выберите из этого меню ближайший к вашему местонахождению сервер. Выбор ближайшего сервера сделает синхронизацию времени более точной, поскольку у более дальнего сервера может быть более длинная задержка соединения.
Следующая опция это выбор PCNFSD. Эта опция устанавливает пакет net/pcnfsd из коллекции портов. Это полезная утилита, предоставляющая сервисы авторизации NFS для систем, в в которых собственная отсутствует, таких как Microsoft MS-DOS.
Теперь вы можете прокрутить меню немного вниз, чтобы увидеть другие опции:
Утилиты rpcbind(8), rpc.statd(8), и rpc.lockd(8) для удаленного вызова процедур (Remote Procedure Calls, RPC). Утилита rpcbind управляет соединением между NFS серверами и клиентами, она требуется серверу NFS для корректной работы. Даемон rpc.statd взаимодействует с даемонами rpc.statd на других хостах для обеспечения мониторинга статуса. Полученный статус обычно хранится в файле /var/db/statd.status. Последняя опция это rpc.lockd, которая, будучи выбранной, предоставляет сервисы блокировки файлов. Она обычно используется с rpc.statd для отслеживания хостов, запрашивающих блокировки и частоты этих запросов. Хотя две последние опции прекрасно подходят для отладки, они не требуются серверам и клиентам NFS для корректной работы.
Ниже в списке опций находится Routed, даемон маршрутизации. Утилита routed(8) управляет сетевыми таблицами маршрутизации, обнаруживает широковещательные маршрутизаторы, и предоставляет копию таблиц маршрутизации любому физически подключенному к сети хосту по запросу. Это обычно используется компьютерами, являющимися шлюзом для локальной сети (смотрите страницы справочника icmp(4) и udp(4)). Когда эта опция выбрана, появится меню выбора местоположения утилиты по умолчанию. Значение по умолчанию уже выбрано, чтобы подтвердить его нажмите Enter. Появится следующее меню, запрашивающее флаги для routed. По умолчанию это флаг -q, он должен уже быть на экране.
На следующей линии находится опция Rwhod, выбор которой приведет к запуску даемона rwhod(8) при старте системы. Утилита rwhod периодически рассылает широковещательные системные сообщения по сети или собирает их в режиме ``потребителя''. Дополнительную информацию можно найти на страницах справочника ruptime(1) и rwho(1).
Следующая перед последней опцией в списке это даемон sshd(8). Это сервер безопасной оболочки (secure shell) из OpenSSH и он очень рекомендуется для использования вместо стандартных серверов telnet и FTP. Сервер sshd используется для создания безопасных соединений от одного хоста к другому с использованием шифрования.
И наконец, опция TCP Extensions. Она включает расширения TCP, определенные в RFC 1323 и RFC 1644. Хотя для многих хостов они могут повысить скорость соединения, с другими соединение может быть оборвано. Для серверов эти расширения не рекомендуются, но клиентским компьютерам могут дать некоторые преимущества.
Теперь, после настройки сетевых сервисов, вы можете прокрутить меню к верхнему пункту, Exit, и перейти к следующему разделу настройки.
Чтобы использовать графический интерфейс пользователя KDE, GNOME, или другие, нужно настроить X сервер.
Note: Чтобы запустить XFree86 не из под root, вам потребуется установленный x11/wrapper. Он устанавливается по умолчанию начиная с FreeBSD 4.7. В более ранних версиях он может быть добавлен из меню выбора пакетов (Package Selection menu).
Чтобы узнать, поддерживается ли ваша видеокарта, обратитесь к сайту XFree86.
User Confirmation Requested
Would you like to configure your X server at this time?
[ Yes ] No
Warning: Необходимо узнать параметры монитора и информацию о видеокарте. Установкой неправильных параметров можно повредить оборудование. Если у вас нет этой информации, выберите [ No ] и выполните конфигурацию после установки, когда необходимая информация будет собрана. Используя /stand/sysinstall, выберите Configure а затем XFree86. Неправильная настройка X сервера может ``подвесить'' компьютер. Зачастую настройку X сервера рекомендуют производить после завершения установки.
Если у вас есть информация о графической карте и мониторе, выберите [ Yes ] и нажмите Enter для начала настройки X сервера.
Есть несколько путей настройки X сервера. Используйте клавиши навигации для выбора одного из методов и нажмите Enter. Внимательно прочтите все инструкции.
Команды xf86cfg и xf86cfg -textmode могут сделать экран темным и запуститься через несколько секунд. Будьте терпеливы.
Далее описывается использование программы настройки xf86config. Выбор настроек будет зависеть от оборудования системы, так что ваши настройки возможно будут отличаться от тех, что приведены:
Message
You have configured and been running the mouse daemon.
Choose "/dev/sysmouse" as the mouse port and "SysMouse" or
"MouseSystems" as the mouse protocol in the X configuration utility.
[ OK ]
[ Press enter to continue ]
Это говорит, что предварительно настроенный даемон мыши был обнаружен. Нажмите Enter, чтобы продолжить.
При запуске xf86config отобразит краткое введение:
This program will create a basic XF86Config file, based on menu selections you make. The XF86Config file usually resides in /usr/X11R6/etc/X11 or /etc/X11. A sample XF86Config file is supplied with XFree86; it is configured for a standard VGA card and monitor with 640x480 resolution. This program will ask for a pathname when it is ready to write the file. You can either take the sample XF86Config as a base and edit it for your configuration, or let this program produce a base XF86Config file for your configuration and fine-tune it. Before continuing with this program, make sure you know what video card you have, and preferably also the chipset it uses and the amount of video memory on your video card. SuperProbe may be able to help with this. Press enter to continue, or ctrl-c to abort.
Нажатие Enter запустит настройку мыши. Следуя инструкциям, выберите ``Mouse Systems'' в качестве протокола мыши и /dev/sysmouse в качестве порта мыши, даже если вы используете PS/2, как показано в примере.
First specify a mouse protocol type. Choose one from the following list: 1. Microsoft compatible (2-button protocol) 2. Mouse Systems (3-button protocol) & FreeBSD moused protocol 3. Bus Mouse 4. PS/2 Mouse 5. Logitech Mouse (serial, old type, Logitech protocol) 6. Logitech MouseMan (Microsoft compatible) 7. MM Series 8. MM HitTablet 9. Microsoft IntelliMouse If you have a two-button mouse, it is most likely of type 1, and if you have a three-button mouse, it can probably support both protocol 1 and 2. There are two main varieties of the latter type: mice with a switch to select the protocol, and mice that default to 1 and require a button to be held at boot-time to select protocol 2. Some mice can be convinced to do 2 by sending a special sequence to the serial port (see the ClearDTR/ClearRTS options). Enter a protocol number: 2 You have selected a Mouse Systems protocol mouse. If your mouse is normally in Microsoft-compatible mode, enabling the ClearDTR and ClearRTS options may cause it to switch to Mouse Systems mode when the server starts. Please answer the following question with either 'y' or 'n'. Do you want to enable ClearDTR and ClearRTS? n You have selected a three-button mouse protocol. It is recommended that you do not enable Emulate3Buttons, unless the third button doesn't work. Please answer the following question with either 'y' or 'n'. Do you want to enable Emulate3Buttons? y Now give the full device name that the mouse is connected to, for example /dev/tty00. Just pressing enter will use the default, /dev/mouse. On FreeBSD, the default is /dev/sysmouse. Mouse device: /dev/sysmouse
Следующий пункт настройки это клавиатура. В примере показана модель generic 101-key. В качестве варианта можно использовать любое имя, или просто нажать Enter, чтобы принять значение по умолчанию.
Please select one of the following keyboard types that is the better description of your keyboard. If nothing really matches, choose 1 (Generic 101-key PC) 1 Generic 101-key PC 2 Generic 102-key (Intl) PC 3 Generic 104-key PC 4 Generic 105-key (Intl) PC 5 Dell 101-key PC 6 Everex STEPnote 7 Keytronic FlexPro 8 Microsoft Natural 9 Northgate OmniKey 101 10 Winbook Model XP5 11 Japanese 106-key 12 PC-98xx Series 13 Brazilian ABNT2 14 HP Internet 15 Logitech iTouch 16 Logitech Cordless Desktop Pro 17 Logitech Internet Keyboard 18 Logitech Internet Navigator Keyboard 19 Compaq Internet 20 Microsoft Natural Pro 21 Genius Comfy KB-16M 22 IBM Rapid Access 23 IBM Rapid Access II 24 Chicony Internet Keyboard 25 Dell Internet Keyboard Enter a number to choose the keyboard. 1 Please select the layout corresponding to your keyboard 1 U.S. English 2 U.S. English w/ ISO9995-3 3 U.S. English w/ deadkeys 4 Albanian 5 Arabic 6 Armenian 7 Azerbaidjani 8 Belarusian 9 Belgian 10 Bengali 11 Brazilian 12 Bulgarian 13 Burmese 14 Canadian 15 Croatian 16 Czech 17 Czech (qwerty) 18 Danish Enter a number to choose the country. Press enter for the next page 1 Please enter a variant name for 'us' layout. Or just press enter for default variant us Please answer the following question with either 'y' or 'n'. Do you want to select additional XKB options (group switcher, group indicator, etc.)? n
Теперь переходим к настройке монитора. Не превышайте значений для вашего монитора. Он может быть поврежден. Если у вас есть какие-то сомнения, проводите настройку после того как получите информацию.
Now we want to set the specifications of the monitor. The two critical
parameters are the vertical refresh rate, which is the rate at which the
whole screen is refreshed, and most importantly the horizontal sync rate,
which is the rate at which scanlines are displayed.
The valid range for horizontal sync and vertical sync should be documented
in the manual of your monitor. If in doubt, check the monitor database
/usr/X11R6/lib/X11/doc/Monitors to see if your monitor is there.
Press enter to continue, or ctrl-c to abort.
You must indicate the horizontal sync range of your monitor. You can either
select one of the predefined ranges below that correspond to industry-
standard monitor types, or give a specific range.
It is VERY IMPORTANT that you do not specify a monitor type with a horizontal
sync range that is beyond the capabilities of your monitor. If in doubt,
choose a conservative setting.
hsync in kHz; monitor type with characteristic modes
1 31.5; Standard VGA, 640x480 @ 60 Hz
2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz
3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)
4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz
5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz
6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz
7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz
8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz
9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz
10 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz
11 Enter your own horizontal sync range
Enter your choice (1-11): 6
You must indicate the vertical sync range of your monitor. You can either
select one of the predefined ranges below that correspond to industry-
standard monitor types, or give a specific range. For interlaced modes,
the number that counts is the high one (e.g. 87 Hz rather than 43 Hz).
1 50-70
2 50-90
3 50-100
4 40-150
5 Enter your own vertical sync range
Enter your choice: 2
You must now enter a few identification/description strings, namely an
identifier, a vendor name, and a model name. Just pressing enter will fill
in default names.
The strings are free-form, spaces are allowed.
Enter an identifier for your monitor definition: Hitachi
Далее производится выбор видеокарты из списка. Если вы пропустили карту в списке, продолжайте нажимать Enter, и список повторится. Показан только отрывок:
Now we must configure video card specific settings. At this point you can choose to make a selection out of a database of video card definitions. Because there can be variation in Ramdacs and clock generators even between cards of the same model, it is not sensible to blindly copy the settings (e.g. a Device section). For this reason, after you make a selection, you will still be asked about the components of the card, with the settings from the chosen database entry presented as a strong hint. The database entries include information about the chipset, what driver to run, the Ramdac and ClockChip, and comments that will be included in the Device section. However, a lot of definitions only hint about what driver to run (based on the chipset the card uses) and are untested. If you can't find your card in the database, there's nothing to worry about. You should only choose a database entry that is exactly the same model as your card; choosing one that looks similar is just a bad idea (e.g. a GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of hardware as can be). Do you want to look at the card database? y 288 Matrox Millennium G200 8MB mgag200 289 Matrox Millennium G200 SD 16MB mgag200 290 Matrox Millennium G200 SD 4MB mgag200 291 Matrox Millennium G200 SD 8MB mgag200 292 Matrox Millennium G400 mgag400 293 Matrox Millennium II 16MB mga2164w 294 Matrox Millennium II 4MB mga2164w 295 Matrox Millennium II 8MB mga2164w 296 Matrox Mystique mga1064sg 297 Matrox Mystique G200 16MB mgag200 298 Matrox Mystique G200 4MB mgag200 299 Matrox Mystique G200 8MB mgag200 300 Matrox Productiva G100 4MB mgag100 301 Matrox Productiva G100 8MB mgag100 302 MediaGX mediagx 303 MediaVision Proaxcel 128 ET6000 304 Mirage Z-128 ET6000 305 Miro CRYSTAL VRX Verite 1000 Enter a number to choose the corresponding card definition. Press enter for the next page, q to continue configuration. 288 Your selected card definition: Identifier: Matrox Millennium G200 8MB Chipset: mgag200 Driver: mga Do NOT probe clocks or use any Clocks line. Press enter to continue, or ctrl-c to abort. Now you must give information about your video card. This will be used for the "Device" section of your video card in XF86Config. You must indicate how much video memory you have. It is probably a good idea to use the same approximate amount as that detected by the server you intend to use. If you encounter problems that are due to the used server not supporting the amount memory you have (e.g. ATI Mach64 is limited to 1024K with the SVGA server), specify the maximum amount supported by the server. How much video memory do you have on your video card: 1 256K 2 512K 3 1024K 4 2048K 5 4096K 6 Other Enter your choice: 6 Amount of video memory in Kbytes: 8192 You must now enter a few identification/description strings, namely an identifier, a vendor name, and a model name. Just pressing enter will fill in default names (possibly from a card definition). Your card definition is Matrox Millennium G200 8MB. The strings are free-form, spaces are allowed. Enter an identifier for your video card definition:
Далее, производится установка видеорежимов для требуемого разрешения. Обычно используемые значения 640x480, 800x600, и 1024x768, но они зависят от возможностей видеокарты, размера монитора и зрительного комфорта. Выбирая глубину цвета, устанавливайте самое большое поддерживаемое видеокартой значение.
For each depth, a list of modes (resolutions) is defined. The default resolution that the server will start-up with will be the first listed mode that can be supported by the monitor and card. Currently it is set to: "640x480" "800x600" "1024x768" "1280x1024" for 8-bit "640x480" "800x600" "1024x768" "1280x1024" for 16-bit "640x480" "800x600" "1024x768" "1280x1024" for 24-bit Modes that cannot be supported due to monitor or clock constraints will be automatically skipped by the server. 1 Change the modes for 8-bit (256 colors) 2 Change the modes for 16-bit (32K/64K colors) 3 Change the modes for 24-bit (24-bit color) 4 The modes are OK, continue. Enter your choice: 2 Select modes from the following list: 1 "640x400" 2 "640x480" 3 "800x600" 4 "1024x768" 5 "1280x1024" 6 "320x200" 7 "320x240" 8 "400x300" 9 "1152x864" a "1600x1200" b "1800x1400" c "512x384" Please type the digits corresponding to the modes that you want to select. For example, 432 selects "1024x768" "800x600" "640x480", with a default mode of 1024x768. Which modes? 432 You can have a virtual screen (desktop), which is screen area that is larger than the physical screen and which is panned by moving the mouse to the edge of the screen. If you don't want virtual desktop at a certain resolution, you cannot have modes listed that are larger. Each color depth can have a differently-sized virtual screen Please answer the following question with either 'y' or 'n'. Do you want a virtual screen that is larger than the physical screen? n For each depth, a list of modes (resolutions) is defined. The default resolution that the server will start-up with will be the first listed mode that can be supported by the monitor and card. Currently it is set to: "640x480" "800x600" "1024x768" "1280x1024" for 8-bit "1024x768" "800x600" "640x480" for 16-bit "640x480" "800x600" "1024x768" "1280x1024" for 24-bit Modes that cannot be supported due to monitor or clock constraints will be automatically skipped by the server. 1 Change the modes for 8-bit (256 colors) 2 Change the modes for 16-bit (32K/64K colors) 3 Change the modes for 24-bit (24-bit color) 4 The modes are OK, continue. Enter your choice: 4 Please specify which color depth you want to use by default: 1 1 bit (monochrome) 2 4 bits (16 colors) 3 8 bits (256 colors) 4 16 bits (65536 colors) 5 24 bits (16 million colors) Enter a number to choose the default depth. 4
Наконец, настройки нужно сохранить. Убедитесь что ввели /etc/XF86Config в качестве места хранения настроек.
I am going to write the XF86Config file now. Make sure you don't accidently overwrite a previously configured one. Shall I write it to /etc/X11/XF86Config? y
Если настройка прервалась, вы можете запустить настройку опять, выбрав [ Yes ] когда появится следующее сообщение:
User Confirmation Requested
The XFree86 configuration process seems to have
failed. Would you like to try again?
[ Yes ] No
Если у вас проблемы с настройкой XFree86, выберите [ No ], нажмите Enter и продолжайте процесс установки. После установки вы можете использовать xf86cfg -textmode или xf86config для получения доступа к утилитам настройки в режиме командной строки под root. Это дополнительный метод настройки XFree86, описанный в Chapter 5. Если вы решите не настраивать XFree86 сейчас, следующим появится меню выбора пакетов.
Настройкой по умолчанию, позволяющей перезагрузить сервер, является комбинация клавиш Ctrl+Alt+Backspace. Эта комбинация может быть применена если что-то не так с установками сервера, она позволяет предотвратить повреждение оборудования.
Настройкой по умолчанию, позволяющей переключать видео режимы во время работы X, является комбинация клавиш Ctrl+Alt++ or Ctrl+Alt+-.
После установки высота, ширина экрана или центровка экрана может быть выбрана с использованием xvidtune, если вы запустите XFree86 с xvidtune.
Будут выданы предупреждения, что неверные установки могут повредить ваше оборудование. Прислушайтесь к ним. Если вы сомневаетесь в чем-то, не делайте этого. Вместо этого, используйте настройки монитора для подстройки его под X Window. Вид экрана может несколько отличаться при переключении обратно в текстовый режим, но это лучше, чем повреждение оборудования.
Прочитайте справочник xvidtune(1) перед тем как производить какие-либо настройки.
После успешной настройки XFree86, будет предложен выбор десктопа по умолчанию.
Доступны самые разные оконные менеджеры. Их функциональность варьируется от самых минимальных до полноценных десктопов с большим набором программ. Некоторые требуют минимума места на диске и небольшого количества памяти, другие, с большим набором функций, требуют гораздо больше. Лучший путь определить наиболее подходящий вам -- попробовать несколько. Они доступны из коллекции портов и в виде пакетов, и могут быть добавлены после установки.
Вы можете выбрать один из популярных десктопов, он будет установлен и настроен в качестве десктопа по умолчанию. Это позволит запустить его сразу после установки.
Используйте клавиши навигации, чтобы выбрать десктоп, и нажмите Enter. Будет запущена установка выбранного десктопа.
Пакеты -- это прекомпилированные бинарные файлы и это удобный способ установки программ.
В качестве примера показана установка одного пакета. Если потребуется, можно установить дополнительные пакеты. После установки для добавления пакетов может быть использована команда /stand/sysinstall.
User Confirmation Requested
The FreeBSD package collection is a collection of hundreds of
ready-to-run applications, from text editors to games to WEB servers
and more. Would you like to browse the collection now?
[ Yes ] No
Выбор [ Yes ] и нажатие Enter приведет к появлению экрана выбора пакетов:
Только пакеты с текущего носителя доступны для установки в любое время.
Все доступные пакеты будут показаны если выбрать категорию All, можно также выбирать отдельные категории. Перейдите к выбранной категории с помощью клавиш навигации и нажмите Enter.
Появится меню, содержащее доступные в данной категории пакеты.
Выбрана оболочка bash. Выберите все необходимые пакеты, перемещаясь по меню и нажимая клавишу пробела на выбираемых пакетах. Краткое описание пакета будет появляться в нижней левой части экрана.
Нажатие Tab переключает между последним выбранным пакетом, [ OK ], и [ Cancel ].
После того, как будет закончена отметка пакетов для установки, нажмите Tab один раз для переключения на [ OK ] и нажмите Enter для переключения на меню выбора пакетов.
Нажимая клавиши навигации влево или вправо, можно переключаться между [ OK ] и [ Cancel ]. Этот метод может быть применен также для выбора [ OK ], и возврата к меню выбора пакетов нажатием Enter.
Используйте Tab и клавиши навигации для выбора [ Install ] и нажмите Enter. вам потребуется подтвердить установку пакетов:
Выбор [ OK ] и нажатие Enter запустит установку пакетов. Во время установки будут выдаваться сообщения. Обратите внимание на возможные сообщения об ошибках.
После установки пакетов настройка продолжится. Если вы не выбрали ни один из пакетов и хотите вернуться к завершению настройки, выберите Install в любом случае.
В процессе установки нужно добавить хотя бы одного пользователя, чтобы использовать систему без входа под root. Корневой каталог обычно мал и запуск приложений под root быстро заполнит его. Ниже показано предупреждение:
User Confirmation Requested
Would you like to add any initial user accounts to the system? Adding
at least one account for yourself at this stage is suggested since
working as the "root" user is dangerous (it is easy to do things which
adversely affect the entire system).
[ Yes ] No
Выберите [ Yes ] и нажмите Enter чтобы продолжить добавление пользователя.
Выберите User с помощью клавиш навигации и нажмите Enter.
При выборе полей с помощью Tab в нижней части экрана будет появляться описание, помогающее ввести необходимую информацию:
Имя нового пользователя (обязательно).
Числовой ID (идентификатор) для этого пользователя (оставьте пустым для автоматического выбора).
Имя группы этого пользователя (оставьте пустым для автоматического выбора).
Пароль этого пользователя (заполняйте это поле с осторожностью!).
Полное имя пользователя (комментарий).
Группы, к которым принадлежит пользователь (т.е. имеет права доступа).
Домашний каталог пользователя (оставьте пустым для выбора по умолчанию).
Оболочка пользователя, запускаемая при входе в систему (оставьте пустым для оболочки по умолчанию, например /bin/sh).
Оболочка была изменена с /bin/sh на /usr/local/bin/bash для использования bash, которая была перед этим установлена из пакета. Не пытайтесь использовать несуществующую оболочку, вы не сможете войти в систему. Наиболее часто используемая в мире BSD оболочка это C shell, которую можно обозначить как /bin/tcsh.
Пользователь был добавлен в группу wheel, чтобы иметь возможность стать суперпользователем с привилегиями root.
Когда все будет введено, нажмите [ OK ] и меню управления пользователями и группами (User and Group Management) появится снова:
Сейчас также можно добавить группы, если известно, для чего они потребуются. Иначе в это меню можно войти, запустив /stand/sysinstall после окончания установки.
После завершения добавления пользователей, выберите Exit с помощью клавиш навигации и нажмите Enter для продолжения установки.
Message
Now you must set the system manager's password.
This is the password you'll use to log in as "root".
[ OK ]
[ Press enter to continue ]
Нажмите Enter для установки пароля root.
Необходимо два раза правильно ввести пароль. Излишне упоминать, что должна быть возможность восстановления пароля, если вы его забудете.
Changing local password for root. New password : Retype new password :
Установка продолжится после успешного ввода пароля.
Если нужно настроить дополнительные сетевые устройства, или произвести другие настройки, вы можете сделать это сейчас или после установки с помощью/stand/sysinstall.
User Confirmation Requested
Visit the general configuration menu for a chance to set any last
options?
Yes [ No ]
Выберите [ No ] с помощью клавиш навигации и нажмите Enter для возврата к главному меню установки.
Выберите [X Exit Install] с помощью клавиш навигации и нажмите Enter. Будет задан вопрос о подтверждении выхода из установки:
User Confirmation Requested
Are you sure you wish to exit? The system will reboot (be sure to
remove any floppies from the drives).
[ Yes ] No
Выберите [ Yes ] и удалите дискету если загрузка была с нее. CDROM заблокирован, пока компьютер не начнет перегружаться. CDROM будет разблокирован и диск нужно будет извлечь из привода (быстро).
Система начнет перезагрузку, смотрите за сообщениями об ошибках, которые могут появиться.
Если все пройдет нормально, вы увидите прокручивающиеся за экран сообщения, затем приглашение ко входу в систему. Вы может просмотреть сообщения, нажав Scroll-Lock и используя PgUp и PgDn. Нажатие Scroll-Lock еще раз вернет вас к приглашению.
Все сообщение может не отобразиться (ограничение буфера), но может быть просмотрено путем ввода команды dmesg в командной строке.
Войдите, используя имя пользователя/пароль, добавленные во время установки (rpratt в этом примере). Избегайте входа под root, если это не требуется.
Типичные сообщения при загрузке (информация о версии удалена):
Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
Timecounter "i8254" frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
Origin = "AuthenticAMD" Id = 0x580 Stepping = 0
Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
AMD Features=0x80000800<SYSCALL,3DNow!>
real memory = 268435456 (262144K bytes)
config> di sn0
config> di lnc0
config> di le0
config> di ie0
config> di fe0
config> di cs0
config> di bt0
config> di aic0
config> di aha0
config> di adv0
config> q
avail memory = 256311296 (250304K bytes)
Preloaded elf kernel "kernel" at 0xc0491000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
md0: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at
device 10.0 on pci0
ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x1 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
ppbus0: IEEE1284 device found /NIBBLE
Probing for PnP devices on ppbus0:
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33
acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4
Mounting root from ufs:/dev/ad0s1a
swapon: adding /dev/ad0s1b as swap device
Automatic boot in progress...
/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
Doing initial network setup: hostname.
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
ether 52:54:05:de:73:1b
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
Additional routing options: IP gateway=YES TCP keepalive=YES
routing daemons:.
additional daemons: syslogd.
Doing additional network setup:.
Starting final network daemons: creating ssh RSA host key
Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
creating ssh DSA host key
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
/usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
starting standard daemons: inetd cron sshd usbd sendmail.
Initial rc.i386 initialization:.
rc.i386 configuring syscons: blank_time screensaver moused.
Additional ABI support: linux.
Local package initialization:.
Additional TCP options:.
FreeBSD/i386 (k6-2.example.com) (ttyv0)
login: rpratt
Password:
Генерирование ключей RSA и DSA может занять некоторое время на медленных компьютерах. Это может случиться только при первой загрузке свежеустановленной системы. Последующие загрузки будут быстрее.
Если X сервер был настроен и был выбран десктоп по умолчанию, он может быть запущен из командной строки командой startx.
Когда процедура установки будет завершена, вы сможете запустить FreeBSD в приглашении SRM примерно такой командой:
>>>BOOT DKC0
Это команда дает указание на загрузку с заданного диска. Чтобы FreeBSD в будущем загружалась автоматически, используйте эти команды:
>>> SET BOOT_OSFLAGS A >>> SET BOOT_FILE '' >>> SET BOOTDEF_DEV DKC0 >>> SET AUTO_ACTION BOOT
Загрузочные сообщения будут похожи (но не идентичны) сообщениям, выводимым FreeBSD при загрузке на i386.
Важно правильно завершать работу операционной системы. Нельзя просто выключать питание. Сначала нужно стать суперпользователем, введя в командной строке su и пароль root. Это сработает только если пользователь является членом группы wheel. Или зайдите под root и используйте команду shutdown -h now.
The operating system has halted. Please press any key to reboot.
Можно безопасно выключать питание после того, как будет выполнена команда shutdown и появится сообщение ``Please press any key to reboot''. Если вместо выключения питания будет нажата любая клавиша, система перезагрузится.
Вы также можете использовать комбинацию клавиш Ctrl+Alt+Del для перезагрузки системы, хотя это не рекомендуется в обычной ситуации.
В настоящее время FreeBSD работает на разнообразных PC, с шинами ISA, VLB, EISA, и PCI с процессорами ``x86'' от Intel, AMD, Cyrix, или NexGen, так же как и с множеством компьютеров на процессорах Compaq Alpha. Поддерживаются также IDE или ESDI диски, различные SCSI контроллеры, карты PCMCIA, устройства USB, сетевые карты и карты последовательных портов. FreeBSD также поддерживает шину MCA от IBM.
Список поддерживаемого оборудования поставляется с каждым релизом FreeBSD в информации о поддерживаемом FreeBSD оборудовании. Этот документ обычно может быть найден в файле HARDWARE.TXT в корневом каталоге CDROM, дистрибутива на FTP или в меню документации sysinstall. В нем находится список аппаратных устройств, которые поддерживаются этим релизом FreeBSD для данной архитектуры. Копии списка поддерживаемого оборудования для различных релизов и архитектур также можно найти на странице Информации о релизах сайта FreeBSD.
Следующий раздел описывает основные проблемы при установке, о которых обычно сообщают пользователи. Здесь также несколько вопросов и ответов от тех, кто хочет настроить двойную загрузку FreeBSD и MS-DOS.
По причине различных ограничений архитектуры PC, невозможно протестировать устройства достоверно на 100%, тем не менее, есть несколько вещей, которые вы можете сделать, если тестирование завершится неудачно.
Сверьтесь со списком поддерживаемого оборудованию для вашей версии FreeBSD, чтобы убедиться, что ваше оборудование поддерживается.
Если оборудование поддерживается, но все же происходят зависания или вы встретились с другими проблемами, перегрузите компьютер, и когда появится опция визуальной настройки ядра, выберите ее. Это позволит вам просмотреть список оборудования и дать системе информацию о настройке. Ядро на загрузочном диске настроено в предположении, что у большинства аппаратных устройств IRQ, адреса ввода-вывода и каналы DMA установлены производителем к значениям по умолчанию. Если оборудование было перенастроено, вам потребуется использовать редактор настроек, чтобы сообщить FreeBSD где что искать.
Возможно также, что тестирование устройства, которого нет, приведет позже к ошибке тестирования существующего устройства. В этом случае тестирование конфликтующего драйвера (драйверов) должно быть запрещено.
Note: Некоторые проблемы установки можно обойти или уменьшить, обновив встроенное программное обеспечение различных компонент оборудования, особенно материнской платы. Встроенное программное обеспечение также называют BIOS и у большинства производителей компьютеров или материнских плат есть вебсайты, где можно найти обновления и информацию об обновлениях.
Большинство производителей настоятельно советуют не обновлять BIOS пока не возникнет серьезной необходимости, например появление критически важных обновлений. Процесс обновления может пойти неверно, что приведет к неустранимому повреждению микросхемы BIOS.
Warning: Не выключайте драйвера, которые понадобятся вам во время установки, такие как экран (sc0). Если после выхода из редактора конфигурации установка загадочно зависает или прерывается, возможно вы удалили или изменили что-то, что не надо было трогать. Перегрузитесь и попробуйте еще раз.
В режиме настройки вы можете:
Просматривать список устройств, включенных в ядро.
Отключать драйвера устройств для оборудования, которого нет в системе.
Менять IRQ, DRQ, адреса портов, используемые драйвером устройства.
После настройки ядра под оборудование нажмите Q для загрузки с новыми настройками. После завершения установки все изменения, внесенные в режиме настройки, будут действовать постоянно, так что вам не придется делать настройку при каждой загрузке. Все же очень неплохо, если вы со временем соберете новое ядро.
Многие пользователи устанавливают FreeBSD на PC с установленной операционной системой Microsoft. Для этих целей в FreeBSD есть утилита, называемая FIPS. Ее можно найти в каталоге tools установочного CD-ROM или загрузить с одного из множества зеркал FreeBSD.
Утилита FIPS позволит вам разделить существующий раздел MS-DOS на две части, сохранив имеющиеся данные, и сделать установку на второй свободный раздел. Вам потребуется сначала дефрагментировать раздел MS-DOS с помощью Windows утилиты Disk Defragmenter (запустите Explorer, кликните правой клавишей мыши на жестком диске и выберите дефрагментацию диска), или используйте Norton Disk Tools. Затем запустите утилиту FIPS. Она запросит необходимую информацию, следуйте инструкциям на экране. Затем можете перегрузиться и установить FreeBSD на новый свободный слайс. Смотрите меню Distributions для определения размера необходимого для выбранного типа установки свободного пространства.
Есть также очень полезная программа PartitionMagic от PowerQuest (http://www.powerquest.com). Эта программа гораздо более функциональна, чем FIPS, и очень рекомендуется, если вы планируете часто добавлять/убирать операционные системы. Она стоит денег, и если вы планируете установить FreeBSD и оставить ее, вам возможно отлично подойдет FIPS.
В настоящее время, FreeBSD не поддерживает файловые системы, сжатые с помощью программы Double Space™. Поэтому файловая система должна быть разжата, чтобы FreeBSD смогла получить доступ к данным. Это может быть сделано с помощью приложения Compression Agent, находящегося в меню Пуск> Программы > Системные.
FreeBSD поддерживает файловые системы MS-DOS. Для этого потребуется использовать команду mount_msdos(8) (в FreeBSD 5.X, это mount_msdosfs(8)) с необходимыми параметрами. Наиболее распространенный способ использования:
# mount_msdos /dev/ad0s1 /mnt
В этом примере файловая система MS-DOS расположена на первом разделе первого жесткого диска. Ваша конфигурация может быть другой, проверьте вывод команд dmesg и mount. Они должны предоставить достаточно информации для определения названий разделов.
Note: Расширенные разделы MS-DOS обычно располагаются после разделов FreeBSD. Другими словами, номер слайса может быть больше, чем используемый FreeBSD. Например, первый раздел MS-DOS может быть /dev/ad0s1, раздел FreeBSD /dev/ad0s2, а расширенный раздел MS-DOS /dev/ad0s3. Некоторых это иногда запутывает на первых порах.
Разделы NTFS также можно смонтировать похожим способом, используя команду mount_ntfs(8).
Этот раздел отвечает на некоторые обычно задаваемые вопросы об установке FreeBSD на Alpha.
Нет. FreeBSD, как и Compaq Tru64 и VMS, может загружаться только с консоли SRM.
Эта секция описывает особые случаи установки FreeBSD.
Этот тип установки называется ``установка без монитора'', потому что на компьютере, на который вы пробуете установить FreeBSD или не подсоединен монитор, или даже нет VGA выхода. Вы спросите, как это возможно? Используя последовательную консоль. Последовательная консоль в своей основе имеет другой компьютер, который служит дисплеем и клавиатурой для системы. Чтобы сделать это, создайте инсталляционные дискеты, как описано в разделе Section 2.2.7.
Чтобы модифицировать дискеты для загрузки с последовательной консоли, следуйте этой инструкции:
Включение загрузки с последовательной консоли
Если вы произведете загрузку с только что полученных дискет, FreeBSD загрузится в нормальный режим установки. Мы хотим, чтобы FreeBSD загрузилась на последовательную консоль для нашей установки. Чтобы сделать это, смонтируйте kern.flp на вашу систему FreeBSD используя команду mount(8).
# mount /dev/fd0 /mnt
Теперь, когда дискета смонтирована, нужно перейти в каталог /mnt:
# cd /mnt
Сейчас вам нужно настроить дискету для загрузки в последовательную консоль. Нужно создать файл boot.config, содержащий /boot/loader -h. Это нужно для того, чтобы передать загрузчику флаг загрузки с последовательной консоли.
# echo "/boot/loader -h" > boot.config
Теперь, когда ваша дискета правильно настроена, размонтируйте ее с помощью команды umount(8):
# cd / # umount /mnt
Теперь удалите дискету из дисковода.
Подсоединение нуль-модемного кабеля
Теперь нужно соединить два компьютера нуль-модемным кабелем. Просто подсоедините этот кабель к последовательным портам двух компьютеров. Обычный последовательный кабель не будет работать, вам потребуется нуль-модемный кабель, поскольку в нем некоторые соединения перевернуты.
Загрузка для установки
Настало время начать установку. Вставьте диск kern.flp в дисковод компьютера, на который вы будете производить установку без монитора и включите его.
Подключение к компьютеру без монитора
Теперь вы можете подключиться к этому компьютеру с помощью cu(1):
# cu -l /dev/cuaa0
Это все! Теперь вы можете управлять компьютером без монитора через сессию cu. Будет запрошен диск mfsroot.flp, затем появится выбор типа терминала. Выберите цветную консоль FreeBSD и проводите установку!
Note: Чтобы не повторяться, ``диск FreeBSD'' в данном случае означает FreeBSD CDROM или DVD который вы купили или подготовили самостоятельно.
Может быть несколько ситуаций, в которых вам потребуется подготовить собственный диск и/или источник для установки FreeBSD. Это может быть физический носитель, такой как лента, или источник, с которого sysinstall сможет взять файлы, такой как локальный сервер FTP, или раздел MS-DOS.
Например:
У вас есть много компьютеров, подсоединенных к локальной сети, и один диск с FreeBSD. Вы хотите создать локальный сервер FTP, используя содержимое диска FreeBSD, а затем использовать с ваших компьютеров этот локальный сервер FTP вместо подсоединения к интернет.
У вас есть диск с FreeBSD, и FreeBSD не распознает ваш CD/DVD привод, а MS-DOS/Windows распознает. Вы хотите скопировать файлы установки FreeBSD на раздел DOS этого же компьютера и установить FreeBSD используя эти файлы.
На компьютере, на который вы хотите провести установку, нет ни привода CD/DVD ни сетевой карты, но вы можете подсоединиться в ``Laplink-стиле'' последовательным или параллельным кабелем к другому компьютеру, на котором они есть.
Вы хотите создать ленту, которую можно использовать для установки FreeBSD.
В составе каждого релиза проект FreeBSD предоставляет доступ к двум образам CDROM (``ISO images''). Эти образы могут быть записаны (``прожжены'') на CD если у вас есть CD-рекордер, а затем использованы для установки FreeBSD. Если у вас есть CD-рекордер и дешевый канал интернет, это простейший путь установить FreeBSD.
Скачайте соответствующие ISO образы
ISO образы для каждого релиза могут быть загружены с ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-архитектура/версия или с ближайшего зеркала. Замените архитектура и версия в соответствии архитектурой (Alpha или i386) и номером релиза соответственно.
Этот каталог обычно содержит следующие образы:
Table 2-5. Названия FreeBSD ISO образов и их значения
| Имя файла | Содержимое |
|---|---|
| версия-mini.iso | Все что вам нужно для установки FreeBSD. |
| версия-disc1.iso | Все что вам нужно для установки FreeBSD, и столько дополнительных пакетов сторонних производителей, сколько уместилось на диске. |
| версия-disc2.iso | ``live filesystem'', используемая в сочетании со средством ``Repair'' программы sysinstall. Копия дерева CVS FreeBSD. Столько дополнительных пакетов сторонних производителей, сколько уместилось на диске. |
Вам необходимо загрузить или образ mini ISO, или образ первого диска. Не загружайте их оба, так как образ первого диска содержит все, что есть на образе mini ISO.
Используйте mini ISO если доступ в интернет затруднен. Он позволит вам установить FreeBSD, и вы сможете установить в последствии программы сторонних производителей используя систему портов/пакетов (смотрите Chapter 4) если необходимо.
Используйте образ первого диска, если хотите выбрать программы сторонних производителей с этого диска.
Дополнительные образы дисков полезны, но не необходимы, особенно если у вас есть высокоскоростной доступ к интернет.
Запись CD
Затем вам нужно записать образы CD на диски. Если вы делаете это из другой системы FreeBSD, обратитесь к Section 12.5 за более подробной информацией (в частности, Section 12.5.3 и Section 12.5.4).
Если вы делаете это в другой системе, потребуется использовать те утилиты для управления CD-рекордером, которые есть в этой системе. Образы дисков предоставляются в стандартном формате ISO, который поддерживается многими программами.
Диск FreeBSD сформирован так же, как и сервер FTP. Это сильно упрощает создание локального сервера FTP, который может быть использован другими компьютерами вашей сети для установки FreeBSD.
Убедитесь, что на компьютере FreeBSD, на котором будет установлен сервер FTP, CDROM находится в приводе и смонтируйте /cdrom.
# mount /cdrom
Создайте учетную запись для anonymous FTP в /etc/passwd. Сделайте это, отредактировав /etc/passwd с помощью vipw(8) и добавив эту строку:
ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
Убедитесь что сервис FTP включен в /etc/inetd.conf.
Всякий, кто может подсоединиться по сети к вашему компьютеру, может выбрать тип носителя FTP и набрать ftp://ваш компьютер после выбора ``Other'' в меню серверов FTP во время установки.
Warning: Этот подход хорош для компьютера в вашей локальной сети, защищенного с помощью файрволла. Предоставление сервиса FTP другим компьютерам через интернет (а не через локальную сеть) привлекает к вашему компьютеру внимание кракеров и других лиц, чье внимание нежелательно. Мы настоятельно рекомендуем придерживаться правильной политики безопасности, если вы делаете это.
Если вам требуется выполнить установку с дискет (чего мы не рекомендуем делать) или по причине не поддерживаемого оборудования, или просто потому, что вы не любите простых путей, потребуется сначала подготовить несколько дискет для установки.
Как минимум, вам потребуется столько 1.44 MB или 1.2 MB дискет, сколько нужно, чтобы вместить все файлы из каталога bin (binary distribution). Если вы подготавливаете эти дискеты из DOS, они ДОЛЖНЫ быть отформатированы с помощью команды MS-DOS FORMAT. Если вы используете Windows, используйте Explorer для форматирования дисков (кликните правой кнопкой мыши на диске A: и выберите ``Format'').
Не доверяйте заводскому форматированию дискет. Отформатируйте их еще раз самостоятельно, просто для уверенности. Множество проблем, о которых сообщали наши пользователи, были результатом использования неправильно отформатированных дисков, поэтому мы сейчас обращаем на это внимание.
Если вы создаете образы на другом компьютере FreeBSD, форматирование все еще не лишне, хотя вам не потребуется создавать файловую систему DOS на каждой дискете. Вы можете использовать disklabel и newfs для создания на них файловых систем UFS, в следующей последовательности (для 3.5" 1.44 MB дискет):
# fdformat -f 1440 fd0.1440 # disklabel -w -r fd0.1440 floppy3 # newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0
Note: Используйте fd0.1200 и floppy5 для 5.25" 1.2 MB дискет.
Затем вы можете смонтировать их и писать на них как на любую другую файловую систему.
После форматирования дискет вам потребуется скопировать на них файлы. Файлы дистрибутива разделены на части, размер которых позволяет легко разместить пять частей на обычной 1.44 MB дискете. Заполните все дискеты файлами, помещая столько файлов на одну дискету, сколько уместится, пока у вас не будет всех необходимых компонент дистрибутива. Каждый компонент должен располагаться в подкаталоге на дискете, например a:\bin\bin.aa, a:\bin\bin.ab, и так далее.
Как только в процессе установки появится экран Media, выберите ``Floppy'' и установка продолжится.
Чтобы подготовиться к установке с раздела MS-DOS, скопируйте файлы с дистрибутива в каталог freebsd корневого каталога раздела. Например, c:\freebsd. Структура каталога CDROM или сервера FTP должна быть в точности воспроизведена в этом каталоге, мы предлагаем использовать команду DOS xcopy если вы копируете дистрибутив с CD. Например, чтобы подготовить минимальную установку FreeBSD:
C:\> md c:\freebsd C:\> xcopy e:\bin c:\freebsd\bin\ /s C:\> xcopy e:\manpages c:\freebsd\manpages\ /s
Предполагается, что на C: есть свободное место, а на E: смонтирован CDROM.
Если у вас нет CDROM, можно загрузить дистрибутив с ftp.FreeBSD.org. Каждый компонент находится в своем собственном каталоге, например компонент base можно найти в каталоге 5.2.1/base/.
Note: В 4.X и более поздних релизах FreeBSD компонент ``base'' называется ``bin''. Поправьте команды и ссылки соответственно, если вы используете эти версии.
Все компоненты, которые вы будете устанавливать с раздела MS-DOS (и для которых у вас есть место), нужно расположить в c:\freebsd -- для минимальной установки нужна только компонента BIN.
Установка с ленты это возможно самый простой метод, уступающий только установке с FTP или CDROM. Программа установки может найти на ленте файлы, которые записаны на нее с помощью tar. После получения всех файлов дистрибутива, которые вам нужны, запишите их на ленту с помощью tar:
# cd /freebsd/distdir # tar cvf /dev/rwt0 dist1 ... dist2
Когда вы приступите к установке, нужно убедиться в наличии достаточного места во временном каталоге (который будет предложено выбрать), чтобы поместилось все содержимое записанной ленты. Поскольку лента -- устройство не-произвольного доступа, этот метод установки требует некоторого места во временном хранилище.
Note: При начале установки лента должна быть в приводе до загрузки с дискеты. В ином случае она может быть не найдена при тестировании устройств.
Есть три возможных типа установки по сети. Через последовательный порт (SLIP или PPP), параллельный порт (PLIP (laplink кабель)), или Ethernet (стандартный Ethernet контроллер (включая некоторые PCMCIA)).
Поддержка SLIP немного примитивна, и ограничена в основном постоянными соединениями, такими как последовательный кабель между ноутбуком и другим компьютером. Соединение должно быть постоянным, так как устанавливаемый SLIP в настоящее время не имеет возможности дозвона; эта возможность предоставляется программой PPP, которая должна быть использована вместо SLIP когда это возможно.
Если вы используете модем, PPP это конечно почти единственный выбор. Убедитесь что у вас есть информация о провайдере, так как она понадобится на довольно ранней стадии процесса установки.
Если вы используете PAP или CHAP для соединения с провайдером (другими словами, вы можете соединяться с провайдером из Windows без использования скрипта), все что вам понадобится это ввести dial в приглашении ppp. Иначе вам нужно знать, как дозвониться до провайдера с помощью ``AT команд'', специфичных для вашего модема, так как программа дозвона PPP предоставляет только очень простой эмулятор терминала. Обратитесь к руководству user-ppp и FAQ для получения более подробных сведений. Если у вас проблемы, логи могут быть выведены на экран с помощью команды set log local ....
Если доступно постоянное соединение с другой машиной FreeBSD (2.0-R или выше), вы можете также подумать об установке через параллельный порт ``laplink'' кабелем. Скорость соединения через параллельный порт значительно выше, чем обычно возможно через последовательную линию (до 50 кбайт/с), это приведет к ускорению установки.
Наконец, для самой быстрой установки по сети хорошим выбором будет Ethernet адаптер! FreeBSD поддерживает большинство PC Ethernet карт; список поддерживаемых карт (и требуемых для них установок) предоставляется в информации об оборудовании для каждого релиза FreeBSD. Если вы используете одну из поддерживаемых PCMCIA Ethernet карт, убедитесь также что она подключена перед тем, как ноутбук будет включен! К сожалению, FreeBSD в настоящее время не поддерживает горячее подключение PCMCIA карт во время установки.
Вам также потребуется знать IP адрес в сети, сетевую маску для класса подсети, и имя компьютера. Если вы делаете установку через соединение PPP и у вас нет статического IP, не бойтесь, IP адрес будет динамически выделен вам провайдером. Системный администратор может подсказать вам какие значения использовать для данной установки по сети. Если вы будете обращаться к другим хостам по имени, а не по IP адресу, понадобится также ДНС сервер и, возможно, адрес шлюза (если вы используете PPP, это IP адрес вашего провайдера), чтобы связаться с ним. Если вы хотите производить установку с FTP через HTTP прокси, потребуется также адрес прокси. Если вы не знаете ответов на все или большинство этих вопросов, свяжитесь с системным администратором или ISP перед тем, как начать этот тип установки.
Установка через NFS очень проста. Просто скопируйте компоненты FreeBSD, которые вам нужны на NFS сервер, а затем укажите на него при выборе источника установки NFS.
Если этот сервер поддерживает только ``привилегированные порты'' (это как правило так для рабочих станций Sun), потребуется установить этот параметр в меню Options перед тем, как начать установку.
Если у вас Ethernet карта плохого качества с низкой скоростью передачи данных, вы возможно захотите переключить соответствующий флаг в Options.
Чтобы установка по NFS работала, сервер должен поддерживать монтирование подкаталогов, например, если установочный каталог дистрибутива FreeBSD 5.2.1 находится на: ziggy:/usr/archive/stuff/FreeBSD, ziggy должен позволять непосредственное монтирование /usr/archive/stuff/FreeBSD, а не только /usr или /usr/archive/stuff.
В файле FreeBSD /etc/exports, это управляется параметром -alldirs. Другие NFS сервера могут иметь другие соглашения. Если вы получаете сообщения сервера ``permission denied'', это может означать, что соответствующая опция не включена.
В этой главе мы попытаемcя раскрыть основные принципы и команды операционной системы FreeBSD. Большая часть нижеизложенного материала в более или менее равной степени применима к любой UNIX-подобной операционной системе. Если вы уверены, что не найдете здесь ничего нового для себя, можете смело пропустить эту главу. Если же вы новичок, мы настоятельно рекомендуем внимательно прочесть это главу.
Прочитав эту главу, вы узнаете:
Как использовать ``виртуальные консоли'' FreeBSD.
Как работают права доступа на файлы в UNIX.
Иерархия каталогов FreeBSD.
Организация дисков FreeBSD.
Как монтировать и размонтировать файловые системы.
Что такое процессы, даемоны и сигналы.
Что такое командная оболочка (или интерпретатор команд) и как настроить личное рабочее окружение.
Как пользоваться стандартными текстовыми редакторами.
Что такое устройства и файлы устройств.
Какие бинарные форматы используются в FreeBSD.
Как пользоваться справочным руководством для получения дополнительной информации.
FreeBSD можно использовать разными способами. Один из них -- набор команд в текстовом терминале. Используйте этот способ, и вся гибкость и мощь систем UNIX будет в ваших руках. Этот раздел рассказывает о ``терминалах'', ``консолях'' и их использовании в FreeBSD.
Если во время установки вы не настроили FreeBSD для автоматического запуска графической среды при загрузке, система запросит ввод логина сразу после завершения стартовых скриптов. Вы увидите примерно следующее:
Additional ABI support:. Local package initialization:. Additional TCP options:. Fri Sep 20 13:01:06 EEST 2002 FreeBSD/i386 (pc3.example.org) (ttyv0) login:
В вашей системе сообщение может быть другим, но очень похожим на это. В данный момент нас интересуют последние две строки. Вторая с конца строка:
FreeBSD/i386 (pc3.example.org) (ttyv0)
В этой строке содержится немного информации о только что загруженной системе. Это консоль ``FreeBSD'', работающей на Intel или совместимом процессоре x86 архитектуры[1]. Имя этого компьютера (у каждого компьютера UNIX есть имя) pc3.example.org, и в данный момент вы видите системную консоль -- терминал ttyv0.
Наконец, последняя линия всегда:
login:
Здесь вам предлагается ввести ``имя пользователя'', чтобы войти в FreeBSD. Следующий раздел описывает способ, которым вы можете сделать это.
FreeBSD это многопользовательская, многопроцессорная система. Это формальное описание системы, которая может быть использована множеством разных людей, одновременно запускающих большое количество программ на одном компьютере.
Любой многопользовательской системе нужен способ отличать каждого ``пользователя'' от остальных. В FreeBSD (и всех UNIX подобных операционных системах), эта задача решается путем ``входа'' пользователя в систему перед запуском каких-либо программ. У каждого пользователя есть уникальное имя (``имя пользователя'') и персональный, секретный ключ (``пароль''). Перед тем, как разрешить пользователю выполнять какие-либо программы, FreeBSD запрашивает их оба.
Сразу после загрузки FreeBSD и завершения работы стартовых скриптов[2], система предложит вам ввести имя пользователя:
login:
В этом примере, предположим что ваше имя пользователя john. Введите john в этом приглашении и нажмите Enter. Далее должно появиться приглашение ввести ``пароль'':
login: john Password:
Введите соответствующий имени johnпароль и нажмите Enter. Пароль не виден!. Не беспокойтесь об этом. Это сделано по соображениям безопасности.
Если вы ввели пароль правильно, то сразу же войдете в FreeBSD и можете начать выполнять команды.
Вы увидите сообщение дня (MOTD, или message of the day) за которым последует командная строка (с символом #, $, или %). Это означает, что вы успешно вошли в FreeBSD.
Запуск команд UNIX из консоли это конечно хорошо, но FreeBSD может выполнять множество программ одновременно, поэтому наличие одной консоли может быть недостатком. В таком случае очень полезны ``виртуальные консоли''.
FreeBSD может быть настроена для работы с несколькими виртуальными консолями. Вы можете переключаться с одной виртуальной консоли на другую, нажимая соответствующие сочетания клавиш на клавиатуре. У каждой консоли есть свой канал вывода и FreeBSD заботится о том, чтобы правильно перенаправить ввод с клавиатуры и вывод на монитор как только вы переключитесь с одной консоли на другую.
Для переключения между консолями зарезервированы специальные комбинации клавиш[3]. Вы можете использовать сочетания Alt-F1, Alt-F2, до Alt-F8 чтобы переключаться между различными виртуальными консолями в FreeBSD.
При переключении от одной консоли к другой, FreeBSD заботится о сохранении и восстановлении вывода на экран. Результатом является ``иллюзия'' наличия множества ``виртуальных'' экранов и клавиатур, которые могут быть использованы для ввода и запуска команд FreeBSD. Программы, которые вы запускаете на одной виртуальной консоли, не прекращают выполнение когда консоль становится невидимой. Они продолжают выполняться, когда вы переключаетесь на другую виртуальную консоль.
В конфигурации по умолчанию FreeBSD запускает восемь виртуальных консолей. Тем не менее это не ограничение оборудования, и вы можете легко настроить систему для загрузки большего или меньшего числа виртуальных консолей. Число и параметры виртуальных консолей задаются в файле /etc/ttys.
Вы можете использовать это файл для настройки виртуальных консолей FreeBSD. Любая не закомментированная линия в этом файле (линия, не начинающаяся с символа #), содержит настройки для одного терминала или виртуальной консоли. Версия этого файла по умолчанию, поставляемая с FreeBSD, содержит настройки для девять виртуальных консолей и включает восемь терминалов. Это линии, начинающиеся с ttyv:
# name getty type status comments # ttyv0 "/usr/libexec/getty Pc" cons25 on secure # Virtual terminals ttyv1 "/usr/libexec/getty Pc" cons25 on secure ttyv2 "/usr/libexec/getty Pc" cons25 on secure ttyv3 "/usr/libexec/getty Pc" cons25 on secure ttyv4 "/usr/libexec/getty Pc" cons25 on secure ttyv5 "/usr/libexec/getty Pc" cons25 on secure ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure
За детальным описанием каждой колонки этого файла и всех опций, которые можно указать для настройки виртуальных консолей, обращайтесь к ttys(5).
Детальное описание ``однопользовательского режима'' можно найти в Section 7.6.2. Стоит отметить, что при работе FreeBSD в однопользовательском режиме есть только одна консоль. Виртуальных консолей нет. Установки консоли в однопользовательском режиме можно найти в файле /etc/ttys. Обратите внимание на линию, начинающуюся с console:
# name getty type status comments # # If console is marked "insecure", then init will ask for the root password # when going to single-user mode. console none unknown off secure
Note: Как сказано в комментариях выше линии console, можно отредактировать эту линию и изменить secure на insecure. Если вы сделаете это, FreeBSD даже при загрузке в однопользовательском режиме будет запрашивать пароль root.
Будьте осторожны при изменении этого значения на insecure. Если вы забудете пароль root, загрузка в однопользовательский режим сильно усложнится. Это все еще возможно, но несколько более сложно для тех, кто не еще не очень освоился с процессом загрузки FreeBSD и вызова программ.
FreeBSD является прямым потомком BSD UNIX и основывается на некоторых ключевых концепциях UNIX. В первую очередь это, конечно, тот факт, что FreeBSD - многопользовательская операционная система. Это означает, что несколько пользователей могут работать одновременно, решая различные задачи и совершенно не мешая друг другу. На системе лежит ответственность за правильное разделение и управление такими ресурсами как память, процессорное время, периферийные устройства и прочее.
Многопользовательская среда предполагает наличие механизма регулирования прав доступа к любому ресурсу в системе. Существует три типа прав доступа: на чтение, запись и исполнение. Права сгруппированы три по три, соответственно чтение/запись/выполнение для владельца/группы/всех остальных. Численное представление:
| Значение | Права доступа | Список файлов каталога |
|---|---|---|
| 0 | Ничего не разрешено | --- |
| 1 | Нельзя читать и писать, разрешено исполнять | --x |
| 2 | Нельзя читать и исполнять, разрешено писать | -w- |
| 3 | Нельзя читать, разрешено писать и исполнять | -wx |
| 4 | Разрешено читать, нельзя писать и исполнять | r-- |
| 5 | Разрешено читать и исполнять, нельзя писать | r-x |
| 6 | Разрешено читать и писать, нельзя исполнять | rw- |
| 7 | Разрешено все | rwx |
Вы можете использовать опцию -l команды ls(1) для получения подробного листинга каталога, включающего колонку с информацией о правах на файл для владельца, группы и всех остальных. Например, команда ls -l в произвольном каталоге может вывести следующее:
% ls -l total 530 -rw-r--r-- 1 root wheel 512 Sep 5 12:31 myfile -rw-r--r-- 1 root wheel 512 Sep 5 12:31 otherfile -rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt ...
Вот как выглядит первая колонка вывода ls -l:
-rw-r--r--
Первый (считая слева) символ говорит обычный ли это файл, каталог, символьное устройство, сокет или любое другое псевдофайловое устройство. В нашем случае -, указывает на обычный файл. Следующие три символа (в данном случае это rw-) задают права доступа владельца файла. Затем идут права группы, которой принадлежит файл (r--). Последняя тройка (r--) определяет права для всех остальных. Минус означает отсутствие каких-либо прав (т.е. нельзя ни читать, ни писать, ни выполнять). В данном случае права установлены таким образом, что владелец может читать и писать в файл, а группа и другие могут только читать. Таким образом, численное представление прав 644, где каждая цифра представляет три части прав на файл.
Права на устройства контролируются аналогичным образом. В FreeBSD все устройства представлены в виде файлов, которые можно открывать, читать и писать в них. Эти специальные файлы содержатся в каталоге /dev.
Каталоги также являются файлами. К ним применимы те же права на чтение, запись и выполнение. Правда, в данном случае ``выполнение'' имеет несколько другой смысл. Когда каталог помечен как ``исполнимый'', это означает, что можно ``зайти'' в него (с помощью команды cd, change directory). Это также означает, что в данном каталоге можно получить доступ к файлам, имена которых известны (конечно, если собственные права на файл разрешают такой доступ).
Если же требуется получить список файлов в некотором каталоге, права доступа на него должные включать доступ на чтение. Для того, чтобы удалить из каталога какой-либо файл, имя которого известно, на этот каталог должны быть даны права на запись и на исполнение.
Существуют и другие права доступа, но они как правило используются в особых случаях, например, setuid-бит на выполняемые файлы и sticky-бит на каталоги. За дополнительными сведениями по этому вопросу обращайтесь к chmod(1).
Символические обозначения, иногда называемые символическими выражениями, используют буквы вместо восьмеричных значений для назначения прав на файлы и каталоги. Символические выражения используют синтаксис (кто) (действие) (права), где существуют следующие значения:
| Опция | Буква | Значение |
|---|---|---|
| (кто) | u | Пользователь (User) |
| (кто) | g | Группа (Group) |
| (кто) | o | Другие (Other) |
| (кто) | a | Все (All, ``world'') |
| (действие) | + | Добавление прав |
| (действие) | - | Удаление прав |
| (действие) | = | Явная установка прав |
| (права) | r | Чтение (Read) |
| (права) | w | Запись (Write) |
| (права) | x | Выполнение (Execute) |
| (права) | t | Sticky бит |
| (права) | s | SUID или SGID |
Эти значения используются командой chmod(1) так же как и раньше, но с буквами. Например, вы можете использовать следующую команду для запрета доступа других пользователей к FILE:
% chmod go= FILE
Для изменения более чем одного набора прав можно применить список, разделенный запятыми. Например, следующая команда удалит права группы и ``всех остальных'' на запись в FILE, а затем добавит права на выполнение для всех:
% chmod go-w,a+x FILE
Файловая система FreeBSD является ключевым моментом в понимании устройства всей системы. Самым важным понятием является, несомненно, корневой каталог, обозначаемый символом ``/''. Корневой каталог монтируется самым первым на этапе загрузки и содержит все необходимое, чтобы подготовить систему к загрузке в многопользовательский режим. Корневой каталог также содержит точки монтирования всех других файловых систем.
Точкой монтирования называется каталог, который будет соответствовать корню примонтированой файловой системы. Стандартные точки монтирования включают /usr, /var, /mnt и /cdrom. Эти каталоги обычно перечислены в файле /etc/fstab, в котором указаны файловые системы и их точки монтирования. Большинство файловых систем, описанных в /etc/fstab монтируются автоматически из скрипта rc(8), если только для них не указана опция noauto. Обратитесь к fstab(5) за дополнительной информацией о формате файла /etc/fstab и различных опциях монтирования.
Полное описание иерархии файловой системы есть в hier(7). Здесь же мы упомянем лишь наиболее важные каталоги.
| Каталог | Описание |
|---|---|
| / | Корневой каталог файловой системы. |
| /bin/ | Основные утилиты, необходимые для работы как в однопользовательском, так и в многопользовательском режимах. |
| /boot/ | Программы и конфигурационные файлы, необходимые для нормальной загрузки операционной системы. |
| /boot/defaults/ | Конфигурационные файлы с настройками по умолчанию, используемые в процессе загрузки операционной системы (см. loader.conf(5)). |
| /dev/ | Файлы устройств (см. intro(4)). |
| /etc/ | Основные конфигурационные файлы системы и скрипты. |
| /etc/defaults/ | Основные конфигурационные файлы системы с настройками по умолчанию (см. rc(8)). |
| /etc/mail/ | Конфигурационные файлы для систем обработки почты (например, sendmail(8)). |
| /etc/namedb/ | Конфигурационные файлы для утилиты named (см. named(8)). |
| /etc/periodic/ | Файлы сценариев, выполняемые ежедневно, еженедельно и ежемесячно (см. cron(8) и periodic(8)). |
| /etc/ppp/ | Конфигурационные файлы для утилиты ppp (см. ppp(8)). |
| /mnt/ | Пустой каталог, часто используемый системными администраторами как временная точка монтирования. |
| /proc/ | Виртуальная файловая система, отображающая текущие процессы (см. see procfs(5), mount_procfs(8)). |
| /root/ | Домашний каталог пользователя root. |
| /sbin/ | Системные утилиты и утилиты администрирования, необходимые для работы как в однопользовательском, так и в многопользовательском режимах. |
| /stand/ | Программы, необходимые для работы в автономном режиме (например, при установке системы). |
| /tmp/ | Временный каталог (часто монтируется как mfs(8); обычно содержимое этого каталога теряется во время перезагрузки системы). |
| /usr/ | Большинство пользовательских утилит и приложений. |
| /usr/bin/ | Пользовательские утилиты и приложения общего назначения. |
| /usr/include/ | Стандартные заголовочные файлы для языка C. |
| /usr/lib/ | Файлы стандартных библиотек. |
| /usr/libdata/ | Файлы данных для различных утилит. |
| /usr/libexec/ | Системные даемоны и утилиты (выполняемые другими программами). |
| /usr/local/ | Локальные пользовательские приложения, библиотеки, и т.д. Также используется по умолчанию коллекцией портов. Внутри /usr/local иерархия каталогов должна следовать hier(7) для /usr. Исключение составляют каталог man, который расположен непосредственно в /usr/local, а не в /usr/local/share, и документация портов, которая расположена в share/doc/port. |
| /usr/obj/ | Архитектурно-зависимые файлы и каталоги, образующиеся в процессе сборки системы из исходных текстов в /usr/src. |
| /usr/ports/ | Коллекция портов FreeBSD (опционально). |
| /usr/sbin/ | Системные утилиты и утилиты администрирования (исполняемые пользователем). |
| /usr/share/ | Архитектурно-независимые файлы. |
| /usr/src/ | Исходные тексты BSD и/или программ. |
| /usr/X11R6/ | Утилиты, приложения и библиотеки X11R6 (X Window System; необязательно). |
| /var/ | Файлы журналов общего назначения, временные, перемещаемые файлы и файлы очередей. |
| /var/log/ | Различные файлы системных журналов. |
| /var/mail/ | Почтовые ящики пользователей. |
| /var/spool/ | Файлы очередей печати, почты, и пр. |
| /var/tmp/ | Временные файлы, которые необходимо сохранять между перезагрузками операционной системы. |
| /var/yp/ | Карты (maps) NIS. |
Наименьшая единица, которую FreeBSD использует для обращения к файлам, это имя файла. Имена файлов чувствительны к регистру, поэтому readme.txt и README.TXT -- два разных файла. FreeBSD не использует расширение файла (.txt) для определения программа это, документ или другой тип данных.
Файлы хранятся в каталогах. Каталоги могут не содержать файлов, или могут содержать много сотен файлов. Каталоги также могут содержать другие каталоги, что позволяет создавать иерархию каталогов один в другом. Это упрощает организацию данных.
Обращение к файлам происходит путем задания имени файла или каталога, дополняемого прямым слэшем /, за которым может следовать имя другого каталога. Если есть каталог foo, содержащий каталог bar, который содержит файл readme.txt, полное имя, или путь к файлу будет foo/bar/readme.txt.
Каталоги хранятся в файловых системах. Каждая файловая система содержит один каталог на верхнем уровне, называемый корневым каталогом этой файловой системы. Этот корневой каталог может содержать другие каталоги.
Внешне это может быть похоже на те операционные системы, которые вы возможно использовали. Есть несколько отличий: например, MS-DOS использует \ для разделения имен файлов и каталогов, а Mac OS® использует :.
FreeBSD не использует букв дисков, или других имен дисков в пути. Вам не нужно писать c:/foo/bar/readme.txt в FreeBSD.
Вместо этого, одна файловая система назначается корневой файловой системой. Обращение к корневому каталогу корневой файловой системы происходит через /. Любая другая файловая система монтируется к корневой файловой системе. Неважно как много дисков есть в вашей системе FreeBSD, каждый каталог будет выглядеть как расположенный на том же диске.
Предположим, у вас есть три файловых системы: A, B, и C. Каждая файловая система имеет один корневой каталог, в котором содержатся другие каталоги, называемые A1, A2 (и аналогично B1, B2 и C1, C2).
Назовем A корневой файловой системой. Если вы используете команду ls для просмотра содержимого каталога, вы увидите два подкаталога, A1 и A2. Дерево каталогов выглядит так:

Файловая система должна быть примонтирована к каталогу другой файловой системы. Предположим, что вы монтируете файловую систему B на каталог A1. Корневой каталог B замещается A1, а каталоги в B отображаются соответственно:

Если потребуется, любые файлы из каталогов B1 или B2 могут быть получены через путь /A1/B1 или /A1/B2. Все файлы, бывшие в /A1, временно скрыты. Они появятся, если B будет размонтирована с A.
Если B была смонтирована на A2, диаграмма будет выглядеть так:

а пути будут /A2/B1 и /A2/B2 соответственно.
Файловые системы могут быть смонтированы одна на другую. Продолжая предыдущий пример, файловая система C может быть смонтирована на каталог B1 файловой системы B в таком порядке:

Или C может быть смонтирована прямо на файловую систему A, на каталог A1 :

Если вы знакомы с MS-DOS, это похоже, хотя и не идентично, команде join.
Как правило, это не должно вас интересовать. Обычно вы создаете файловые системы во время установки FreeBSD, решаете куда их монтировать, и ничего не меняете, пока не понадобится добавить новый диск.
Можно создать одну большую корневую файловую систему и не создавать других. У такого подхода есть несколько недостатков и одно преимущество.
Преимущества нескольких файловых систем
Различные файловые системы могут иметь различные опции монтирования. Например, в целях безопасности корневая файловая система может быть смонтирована только для чтения, что делает невозможным случайное удаление или редактирование критически важного файла. Отделение файловых систем, используемых пользователями для записи, таких как /home, от других файловых систем позволяет также монтировать их с параметром nosuid; этот параметр отменяет действие битов suid/ guid на исполняемых файлах, в этой файловой системе, что потенциально повышает безопасность.
FreeBSD автоматически оптимизирует расположение файлов на файловой системе в зависимости от того, как файловая система используется. Файловая система, содержащая множество мелких часто записываемых файлов, будет иметь оптимизацию отличную от таковой для файловой системы, содержащей несколько больших файлов. На одной большой файловой системе эта оптимизация не работает.
Файловые системы FreeBSD очень устойчивы к внезапному отключению. Тем не менее, потеря питания в критический момент все же может повредить структуру файловой системы. Разделение данных на несколько файловых систем повышает шансы, что система все-таки будет работать и делает более легким восстановление с резервной копии.
Преимущество одной файловой системы
Размер файловых систем фиксирован. Если вы создаете файловую систему при установке FreeBSD и задаете определенный размер, позднее вы можете обнаружить что нужен раздел большего размера. Это не так легко сделать без резервного копирования, создания файловых систем нового размера и последующего восстановления сохраненных данных.
Important: В FreeBSD 4.4 и выше представлена новая команда, growfs(8), которая позволяет увеличивать размер файловой системы на лету, устраняя это ограничение.
Файловые системы содержатся в разделах. Этот термин не имеет того же смысла, что и при более раннем его использовании в этой главе, из-за наследия UNIX в FreeBSD. Каждый раздел обозначается буквой от a до h. Каждый раздел может содержать только одну файловую систему, это значит что файловая система может быть описана ее точкой монтирования в файловой иерархии, или буквой раздела, в котором она содержится.
FreeBSD также использует дисковое пространство под раздел подкачки (swap space). Подкачка позволяет FreeBSD работать с виртуальной памятью. ваш компьютер может работать так, как если бы у него было больше памяти, чем есть на самом деле. Когда у FreeBSD кончается память, она перемещает часть данных, не используемых в данный момент, в раздел подкачки и возвращает их обратно (перемещая в подкачку что-то другое), когда они нужны.
По некоторым разделам есть определенные соглашения.
| Раздел | Соглашение |
|---|---|
| a | Как правило, содержит корневую файловую систему |
| b | Как правило, содержит раздел подкачки |
| c | Как правило, такого же размера, что и весь слайс (slice). Это позволяет утилитам, которым нужно работать над всем слайсом (например, сканер плохих блоков), работать с разделом c. В обычной ситуации не нужно создавать файловую систему на этом разделе. |
| d | Раздел d создавался для специальных целей, хотя сейчас не используется. На настоящий момент, некоторые утилиты могут работать некорректно при попытке обращения к d, поэтому sysinstall обычно не создает раздел d. |
Каждый раздел-содержащий-файловую-систему хранится на том, что во FreeBSD называется слайс (slice). Слайс -- это термин FreeBSD, то, что обычно называют разделом, и опять же это из-за UNIX основы FreeBSD. Слайсы нумеруются с 1 по 4.
Номера слайсов следуют за именем устройства, предваряемые строчной s, начиная с 1. Так ``da0s1'' это первый слайс первого SCSI устройства. Может быть только четыре физических слайса на диске, но могут быть логические слайсы нужного типа внутри физических слайсов. Эти дополнительные слайсы нумеруются начиная с 5, так что ``ad0s5'' это первый дополнительный слайс на первом IDE диске. Эти устройства используются файловыми системами, занимающими весь слайсе.
Слайсы, ``эксклюзивно выделенные (dangerously dedicated)'' физические устройства и другие устройства содержат разделы, представляемые буквами от a до h. Эти буквы добавляются к имени устройства, ``da0a'' это раздел a на первом устройстве da, который ``эксклюзивно выделен''. ``ad1s3e'' это пятый раздел в третьем слайсе второго IDE диска.
Наконец, каждый диск идентифицирован. Имя диска начинается с кода, обозначающего тип диска, затем идет номер, обозначающий который это диск. В отличие от слайсов, нумерация дисков начинается с 0. Основные коды, которые вам могут встретиться, есть в списке Table 3-1.
В то время, как ссылка на раздел FreeBSD требует также указания слайса и диска, содержащего раздел, ссылка на слайс требует также указания имени диска. Делайте это указанием имени диска, s, номера слайса, и затем буквы раздела. Примеры показаны в Example 3-1.
Example 3-2 показывает концептуальную модель диска, которая должна помочь прояснить ситуацию.
Для установки FreeBSD вы должны сначала настроить слайсы дисков, затем создать разделы внутри слайсов, которые будут использованы для FreeBSD, а затем создать файловую систему (или подкачку) в каждом разделе и решить куда файловая система будет смонтирована.
Table 3-1. Коды дисковых устройств
| Код | Значение |
|---|---|
| ad | ATAPI (IDE) диск |
| da | SCSI direct access диск |
| acd | ATAPI (IDE) CDROM |
| cd | SCSI CDROM |
| fd | Floppy disk |
Example 3-2. Концептуальная модель диска
Эта диаграмма показывает первый подключенный к системе IDE диск с точки зрения FreeBSD. Предположим, что размер диска 4 GB, и он содержит два 2 GB слайса (MS-DOS разделы). Первый слайс содержит MS-DOS диск, C:, а второй слайс содержит установленную FreeBSD. В этом примере в установленной FreeBSD три раздела и раздел подкачки.
В каждом из трех разделов есть файловая система. Раздел a используется для корневой файловой системы, e для иерархии каталогов /var, а f для иерархии каталогов /usr.

Файловая система лучше всего представима в виде дерева, с корнем в /. Каталоги, /dev, /usr и прочие - это ветви дерева, которые, в свою очередь, являются корнями для поддеревьев, также имеющих ветви (/usr/local), и т.д.
Хорошей практикой является разнесение некоторых особо важных каталогов на разные файловые системы. Например, /var, содержит log/, spool/, а также всевозможные временные файлы и нередко может занять все свободное место на диске. Поэтому лучше смонтировать /var отдельно, чтобы избежать переполнения /.
Часто бывает так, что некоторые разделы файловой системы расположены на разных физических носителях (дисках, CDROM), виртуальных или сетевых (например, сетевая файловая система (Network File System, NFS)). В этом случае узлы файловой иерархии будут расположены на разных файловых системах.
Файловые системы, перечисленные в /etc/fstab, монтируются автоматически в процессе загрузки (если, конечно, для них не указана опция noauto).
Формат файла /etc/fstab следующий (файловые системы перечисляются построчно):
устройство /точка-монтирования тип файловой системы опции частота дампов порядок проверки
Имя устройства (которое должно присутствовать), как описано в Section 12.2.
Каталог (существующий), куда следует смонтировать файловую систему.
Тип файловой системы, который передается программе mount(8). По умолчанию FreeBSD использует ufs.
Например, rw для монтирования файловой системы в режиме ``чтение-запись'' или ro для режима ``только чтение'', за которыми могут следовать и другие опции. Довольно часто используется опцияnoauto, чтобы не монтировать автоматически файловые системы в процессе загрузки. Об остальных опциях можно прочитать в mount(8).
Используется утилитой dump(8) для определения файловых систем, с которых необходимо периодически снимать специальные архивные копии. При отсутствии этого параметра принимается равным нулю.
Определяет порядок, в котором следует проверять файловые системы (чаще всего, в случае некорректного размонтирования или внезапной перезагрузки системы). Если файловую системы не нужно проверять, этот параметр должен быть установлен в ноль. Для корневой файловой системы (которая должна быть проверена в первую очередь) установите его в 1. Для всех остальных - 2 или больше. Если две или более файловые системы имеют одинаковое значение passno, fsck(8) попытается проверять их параллельно (если, конечно, это возможно физически).
Команда mount(8) используется, как следует из ее имени, для монтирования файловых систем.
Пример использования (простейший случай):
Перечислим основные опции, которые может принимать команда mount(8) (полный список смотрите в странице руководства):
Опции монтирования
Смонтировать все файловые системы, перечисленные в файле /etc/fstab. Исключение составляют помеченные как ``noauto'', перечисленные после опции -t и уже смонтированные.
Сделать все кроме самого системного вызова mount. Эта опция полезна вместе с флагом -v для определения того, что на самом деле пытается сделать mount(8).
Монтировать поврежденный раздел (опасно!), или форсировать отмену всех запросов на запись при изменении режима монтирования с ``чтение-запись'' на ``только чтение''.
Монтировать файловую систему в режиме ``только для чтения''. То же самое, что и указание аргумента rdonly для опции -o.
Монтировать файловую систему как систему указанного типа, или, в случае опции -a, только файловые системы данного типа.
По умолчанию, тип файловой системы - ``ufs''.
Обновить опции монтирования для файловой системы.
Выдавать более подробную информацию.
Монтировать файловую систему в режиме ``чтение-запись''.
Опция -o принимает разделенные запятыми аргументы, включая нижеперечисленные:
Не обращать внимание на специальные файлы устройств на файловой системе (то есть не считать их файлами устройств). Весьма полезная опция для повышения безопасности системы.
Запрет на исполнение бинарных файлов на файловой системе (тоже полезная опция для повышения безопасности системы).
Игнорировать suid- и sgid-биты на файловой системе (еще одна полезная опция для повышения безопасности системы).
Команда umount(8) принимает в качестве параметра точку монтирования какой-либо файловой системы, имя устройства, опцию -a или -A.
Кроме того, вы можете дополнительно указать опцию -f для форсированного размонтирования файловой системы, и -v для получения более подробной информации. Имейте ввиду, что это в общем случае опасно и потому не рекомендуется, так как тем самым вы можете нарушить работу компьютера или повредить данные на файловой системе.
Опции -a и -A используются для размонтирования всех файловых систем (разве что вы укажете опцию -t). Разница состоит в том, что -A не пытается размонтировать корневую файловую систему.
FreeBSD является многозадачной операционной системой. Это означает, что одновременно может быть запущена более чем одна программа. Каждая программа, работающая в некоторый момент времени, называется процессом. Каждая команда, которую вы запускаете, порождает хотя бы один процесс. Есть несколько системных процессов, запущенных все время и поддерживающих функциональность системы.
У каждого процесса есть уникальный номер, называемый process ID, или PID, и, как и у файлов, у каждого процесса есть владелец и группа. Информация о владельце и группе процесса используется для определения того, какие файлы и устройства могут быть открыты процессом с учетом прав на файлы, о которых говорилось ранее. Также у большинства процессов есть родительский процесс. Например, при запуске команд из оболочки, оболочка является процессом и любая запущенная команда также является процессом. Для каждого запущенного таким путем процесса оболочка будет являться родительским процессом. Исключением из этого правила является специальный процесс, называемый init(8). init всегда первый процесс, его PID всегда 1. init запускается автоматически ядром во время загрузки FreeBSD.
Две команды очень полезны для просмотра работающих в системе процессов, это ps(1) и top(1). Команда ps используется для получения списка запущенных процессов и может показать их PID, сколько памяти они используют, команду которой они были запущены и т.д. Команда top показывает запущенные процессы и обновляет экран каждые несколько секунд, что позволяет наблюдать за работой компьютера в реальном времени.
По умолчанию, ps показывает только принадлежащие вам процессы. Например:
% ps PID TT STAT TIME COMMAND 298 p0 Ss 0:01.10 tcsh 7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14) 37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14) 48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi 48730 p0 IW 0:00.00 (dns helper) (navigator-linux-) 72210 p0 R+ 0:00.00 ps 390 p1 Is 0:01.14 tcsh 7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y 6688 p3 IWs 0:00.00 tcsh 10735 p4 IWs 0:00.00 tcsh 20256 p5 IWs 0:00.00 tcsh 262 v0 IWs 0:00.00 -tcsh (tcsh) 270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16 280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16 284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc 285 v0 S 0:38.45 /usr/X11R6/bin/sawfish
Как вы можете видеть в данном примере, вывод ps(1) организован в несколько колонок. Идентификатор процесса PID обсуждался ранее. PID назначаются с 1 до 99999 и опять с начала, если последнее число будет превышено. Колонка TT показывает терминал (tty), на котором запущена программа (можете пока забыть про это). STAT показывает состояние программы и опять же может быть пока проигнорирован. TIME это количество времени центрального процессора, использованное программой -- это обычно не время, прошедшее с запуска программы, поскольку большинство программы проводят много времени в в ожидании некоторого события перед тем, как занять время процессора. Наконец, COMMAND это команда, которой программа была запущена.
У ps(1) есть множество различных опций, влияющих на выводимую информацию. Один из наиболее полезных наборов опций это auxww. a позволяет показать информацию о всех запущенных процессах, а не только тех, которыми вы владеете. u показывает имя пользователя, владеющего процессом, и информацию об используемой памяти. x показывает информацию о процессах-даемонах и ww указывает ps(1) показать всю командную строку, вместо обрезания ее, когда она станет слишком длинной, чтобы уместиться на экран.
Вывод top(1) похож на только что описанный. Обычно он выглядит так:
% top last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10 47 processes: 1 running, 46 sleeping CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free Swap: 256M Total, 38M Used, 217M Free, 15% Inuse PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND 72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top 7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14 281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA 296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm 48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu 175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd 7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt ...
Вывод разбит на два раздела. Заголовок (первые пять линий) показывает PID последнего запущенного процесса, среднее значение загрузки системы (которое показывает насколько система занята), время работы системы с последней перезагрузки и текущее время. Другие цифры заголовка относятся к количеству запущенных процессов (в данном примере 47), количеству занятой памяти и подкачки и время, занимаемое различными состояниями процессора.
Ниже идут несколько колонок, содержащих похожую на вывод ps(1) информацию. Как и раньше, это PID, время процессора, командная строка. top(1) показывает также величину занятой процессом памяти. Это значение разбито на две колонки, одна для общего объема, а другая для резидентного -- общий объем показывает сколько всего памяти нужно приложению, а резидентный показывает количество памяти, используемой в данный момент. Из этого примера видно, что Netscape® требует почти 30 MB памяти, но в данный момент использует только 9 MB.
top(1) автоматически обновляет экран каждые две секунды; это значение можно изменить опцией s.
Если вы запускаете редактор, им можно легко управлять, открывать в нем файлы и т.д. Вы можете делать это, поскольку редактор предоставляет такие возможности и потому, что редактор присоединен к терминалу. Некоторые программы разработаны без поддержки интерфейса пользователя, поэтому они отсоединяются от терминала при первой возможности. Например, веб-сервер целый день отвечает на запросы из сети, и ему как правило не требуется ваше вмешательство. Программы, передающие почту от сервера к серверу -- другой пример приложений этого класса.
Мы называем эти программы даемонами. Даемоны это персонажи греческой мифологии; хорошие или плохие, они были спутниками человека и, вообще говоря, выполняли полезную работу для людей. Почти как веб- и почтовые серверы выполняют полезную работу сегодня. Это причина, по которой талисманом BSD долгое время является веселый даемон в тапочках и с вилами.
Есть соглашение, по которому имя программы, которая обычно запускается как даемон, заканчивается на ``d''. BIND это Berkeley Internet Name Daemon (выполняемая программа называется named), программа веб сервера Apache называется httpd, даемон очереди печати это lpd и так далее. Это соглашение, а не жесткое правило; например, главный почтовый даемон для Sendmail называется sendmail, а не maild, как вы могли бы предположить.
Иногда может потребоваться взаимодействие с процессом даемона. Эти можно сделать с помощью сигналов, т.е. взаимодействовать с даемонами (или с любыми запущенными процессами), посылая им сигнал. Есть множество различных сигналов -- некоторые из них имеют специальное значение, другие обрабатываются приложением, реакция которого на эти сигналы должна быть описана в документации. Вы можете посылать сигналы только тем процессам, владельцем которых являетесь. Если вы отправите сигнал какому-то другому процессу с помощью kill(1) или kill(2), доступ будет запрещен. Исключением из правил является пользователь root, который может отправлять сигналы любому процессу.
В некоторых случаях FreeBSD тоже посылает сигналы приложениям. Если приложение плохо написано и пробует обратиться к области памяти, к которой оно не должно обращаться, FreeBSD посылает процессу сигнал нарушение сегментации (SIGSEGV). Если приложение использует системный вызов alarm(3), чтобы получить уведомление по истечении определенного периода времени, будет отправлен сигнал Alarm (SIGALRM) и т.д.
Два сигнала могут быть использованы для завершения процесса, SIGTERM и SIGKILL. SIGTERM это корректный способ завершить процесс; процесс может поймать сигнал, определить, что его хотят завершить, закрыть любые файлы, которые он мог открыть, и закончить то, что он делал в момент перед закрытием. В некоторых случаях процесс может даже игнорировать SIGTERM, если выполняет задачу, которая не может быть прервана.
SIGKILL не может быть проигнорирован процессом. Этот сигнал говорит ``Меня не волнует что ты делаешь -- остановись немедленно''. Если вы посылаете процессу SIGKILL, FreeBSD сразу же остановит этот процесс[4].
Другие сигналы, которые возможно вам понадобятся, SIGHUP, SIGUSR1, и SIGUSR2. Это сигналы общего назначения, различные приложения могут по-разному реагировать на них.
Предположим, что вы изменили файл конфигурации веб сервера -- теперь нужно указать ему перечитать конфигурацию. Можно остановить и запустить httpd, но это приведет к кратковременной остановке сервера, которая может быть нежелательна. Большинство даемонов написаны так, чтобы при получении сигнала SIGHUP перечитывать файлы конфигурации. Поэтому вместо уничтожения и запуска httpd можно послать сигнал SIGHUP. Поскольку нет стандартного способа реагирования на этот сигнал, различные даемоны будут вести себя по разному; прочитайте документацию на даемон по этому вопросу.
Сигналы посылаются с помощью команды kill(1), как показано в этом примере.
Отправка сигнала процессу
Этот пример показывает как послать сигнал inetd(8). Файл конфигурации inetd /etc/inetd.conf, inetd перечитает этот файл, если ему отправить сигнал SIGHUP.
Нужно определить PID процесса, которому вы хотите отправить сигнал. Сделайте это с помощью ps(1) и grep(1). Команда grep(1) используется для поиска по заданной строке в выходном потоке. Эта команда запускается под обычным пользователем, а inetd(8) под root, поэтому ps(1) должна быть запущена с параметром ax.
% ps -ax | grep inetd 198 ?? IWs 0:00.00 inetd -wW
Итак, PID inetd(8) 198. В некоторых случаях в выводе команды может также появиться grep inetd. Это из-за способа, которым ps(1) получает список запущенных процессов.
Используйте kill(1) для отправки сигнала. Поскольку inetd(8) запускается из под root, нужно сначала использовать su(1) для получения прав root.
% su Password: # /bin/kill -s HUP 198
Как и большинство команд UNIX, kill(1) ничего не выведет, если отработает нормально. Если вы посылаете сигнал процессу, которым не владеете, на экране появится ``kill: PID: Operation not permitted''. При неправильно набранном PID вы или отправите сигнал другому процессу, что может привести к неприятностям, или, если повезет, сигнал будет отправлен на PID, который в данный момент не используется -- на экране появится ``kill: PID: No such process''.
Зачем использовать /bin/kill?: Во многих оболочках команда kill встроена; таким образом, оболочка вместо вызова /bin/kill сама посылает сигнал. Это может быть очень полезно, но в разных оболочках имя сигнала указывается по-разному. Чем пытаться выучить их все, гораздо проще использовать /bin/kill ... непосредственно.
Отправка других сигналов очень похожа, просто замените TERM или KILL в командной строке на имя другого сигнала.
При работе с FreeBSD, в большинстве случаях для выполнения повседневных задач используется командный интерфейс (так называемая ``оболочка'', ``shell''). Основная задача интерпретатора -- принимать вводимые команды и выполнять их. Многие командные интерпретаторы имеют встроенные средства для выполнения повседневной работы, например, операции над файлами и каталогами, редактирование командной строки, командные макросы и переменные окружения. Вместе с FreeBSD поставляется несколько командных интерпретаторов, например, sh, или Bourne Shell, и tcsh, расширенная версия C-shell. Многие другие интерпретаторы доступны из коллекции портов FreeBSD, например zsh и bash.
Какой из командных интерпретаторов использовать? Это дело вкуса. Если вы программируете на C, то вам, возможно, понравится tcsh. Если вы работали с Linux, или только начинаете работать с интерфейсом командной строки UNIX, попробуйте bash. Каждый из названных интерпретаторов имеет свои особенности, которые отличат его от других, и, возможно, повлияют на ваш выбор.
Одна из наиболее часто используемых функций командного интерпретатора - дополнение частичного имени файла до полного. Вы можете набрать только первые несколько символов имени файла, нажать клавишу табуляции (TAB), и командный интерпретатор автоматически завершит имя. Например, у нас есть два файла, названные foobar и foo.bar. Допустим, мы хотим удалить файл foo.bar. Для этого, наберем на клавиатуре rm fo[Tab].[Tab].
Вы увидите следующее: rm foo[BEEP].bar.
Здесь [BEEP] - это так называемый консольный сигнал, оповещающий о том, что интерпретатор не в состоянии закончить имя файла, так как по введенным вами символам невозможно однозначно идентифицировать файл. Например, имена файлов foobar и foo.bar оба начинаются с fo, но после нажатия TAB можно однозначно дополнить только до foo. Если же теперь ввести точку (.) и вновь нажать TAB, интерпретатор достроит имя файла целиком.
Дополнительные возможности при работе с интерпретатором дает использование переменных окружения. Переменные окружения это пары переменная=значение, хранящиеся в памяти интерпретатора. Значение переменных окружения может быть прочитано любой программой, запущенной из командного интерпретатора, и часто содержит настройки для многих приложений и утилит. Ниже приведены некоторые наиболее часто встречающиеся переменные окружения и их значения:
| Переменная | Описание |
|---|---|
| USER | Имя текущего пользователя. |
| PATH | Каталоги, разделенные двоеточием, для поиска исполняемых файлов. |
| DISPLAY | Сетевое имя виртуального дисплея X11, доступного для подключения. |
| SHELL | Текущий командный интерпретатор. |
| TERM | Название (тип) терминала. Используется, чтобы узнать возможности терминала. |
| TERMCAP | Список escape-последовательностей для управления различными функциями терминала. |
| OSTYPE | Название (тип) операционной системы. Например, FreeBSD. |
| MACHTYPE | Архитектура машины (процессора). |
| EDITOR | Выбранный пользователем текстовый редактор. |
| PAGER | Выбранная пользователем утилита просмотра файлов. |
| MANPATH | Каталоги, разделенные двоеточием, для поиска файлов системного справочника. |
Установка значений переменных окружения различна для разных оболочек. Например, в интерпретаторах C-стиля, таких как tcsh и csh, это setenv. В интерпретаторах Bourne, таких как sh и bash, это export. Например, чтобы установить или изменить значение переменной EDITOR к значению /usr/local/bin/emacs в csh или tcsh, выполните команду:
% setenv EDITOR /usr/local/bin/emacs
В оболочках Bourne:
% export EDITOR="/usr/local/bin/emacs"
Чтобы получить значение переменной, например, в командной строке, поместите символ $ перед именем переменной. Например, команда echo $TERM выведет значение переменной $TERM.
Командный интерпретатор воспринимает некоторые символы, называемые метасимволами, в качестве управляющих. Один из наиболее часто используемых - символ *, который заменяет любое количество символов в имени файла. Метасимволы используются для поиска файлов по маске, например, команда echo * делает практически тоже самое, что и команда ls, поскольку интерпретатор вызывает команду echo, передавая ей имена всех файлов, попадающих под маску *.
В некоторых ситуациях требуется, чтобы интерпретатор воспринимал метасимволы как обычные, не несущие специальной смысловой нагрузки. Этого можно достичь, поставив перед символом обратную косую черту (\). Например, команда echo $TERM выведет тип вашего терминала, в то же время команда echo \$TERM выведет именно слово $TERM, а не значение переменной $TERM.
Самым простым способом, пожалуй, будет воспользоваться командой chsh. Если переменная EDITOR определена, то будет загружен соответствующий текстовый редактор, иначе vi. Вам нужно будет изменить значение поля ``Shell:'' и выйти из редактора с сохранением результатов.
Можно также воспользоваться опцией -s команды chsh. Например, если вы хотите изменить интерпретатор на bash, выполните:
% chsh -s /usr/local/bin/bash
Также можно запустить chsh без параметров и изменить интерпретатор по умолчанию в редакторе.
Note: Интерпретатор, который вы будете использовать, обязательно должен быть в файле /etc/shells. Обычно, при установке интерпретаторов из коллекции портов, это делается автоматически. Если же это не так, вам нужно будет самостоятельно добавить соответствующую строчку в этот файл.
Например, если вы установили bash вручную и поместили его в каталог /usr/local/bin, нужно набрать:
# echo "/usr/local/bin/bash" >> /etc/shellsТеперь можно смело использовать команду chsh.
Большинство настроек в FreeBSD производится путем редактирования текстовых файлов. Соответственно, вам нужно будет освоиться с каким-либо текстовым редактором. Вместе с FreeBSD поставляются лишь некоторые из них, гораздо больше редакторов доступно из коллекции портов.
Самым простым в изучении и использовании, по-видимому, можно назвать ee, что расшифровывается как ``easy editor'', т.е. ``простой редактор''. Чтобы начать редактировать какой-либо файл, наберите в командной строке ee filename, где filename имя редактируемого файла. Например, для редактирования файла /etc/rc.conf, наберите ee /etc/rc.conf. В верхней части экрана вы увидите список основных команд редактора. Символ каретки (^) означает клавишу Ctrl, таким образом, ^e означает комбинацию клавиш Ctrl+e. Чтобы выйти из редактора, нажмите клавишу Esc, затем Enter. Если остались какие-либо не сохраненные данные, вам потребуется подтвердить выход, сохранив результат работы или оставив файл без изменения.
В FreeBSD присутствует также мощный текстовый редактор vi, а редакторы emacs и vim можно найти в коллекции портов. Эти редакторы более сложны в изучении, но их возможности порой превосходят всякие ожидания! Если в будущем вам потребуется часто редактировать большие объемы текстов, то потраченное на изучение этих редакторов время окупится с лихвой.
Термин ``устройство'' используется в основном по отношению к аппаратному обеспечению системы, такому как диски, принтеры, графические адаптеры, устройства ввода текста. При загрузке FreeBSD главным образом выводит на экран информацию об обнаруженных устройствах. Вы можете найти эти сообщения в файле /var/run/dmesg.boot.
Например, acd0 это первый диск IDE CDROM, а kbd0 -- клавиатура.
В UNIX доступ к большинству этих устройств можно получить через специальные файлы устройств, расположенные в каталоге /dev.
При добавлении в систему нового устройства, или добавление поддержки дополнительных устройств, может понадобиться создать один или несколько файлов устройств для нового оборудования.
В системах без DEVFS (это относится ко всем версиям FreeBSD ниже 5.0), файлы устройств создаются с помощью MAKEDEV(8), как показано ниже:
# cd /dev # sh MAKEDEV ad1
В этом примере создается соответствующий файл устройства для вторичного IDE диска.
Device filesystem, или DEVFS, предоставляет доступ к пространству устройств ядра через общую файловую систему. Вместо создания и модификации файлов устройств, DEVFS создает специальную файловую систему.
Обращайтесь к devfs(5) за дополнительной информацией.
В FreeBSD 5.0 и выше DEVFS используется по умолчанию.
Для понимания почему FreeBSD использует формат elf(5), вам потребуется сначала немного узнать о трех ``доминирующих'' исполняемых форматах для UNIX:
Старейший и ``классический'' объектный формат UNIX. Он использует короткий и компактный заголовок с магическим числом в начале, которое часто используется для описания формата (смотрите a.out(5) с более подробной информацией). Он содержит три загружаемых сегмента: .text, .data и .bss плюс таблицу символов и таблицу строк.
COFF
Объектный формат SVR3. Заголовок включает таблицу разделов, так что могут быть сегменты кроме .text, .data и .bss.
Наследник формата COFF, поддерживающий множественные сегменты и 32-битные или 64-битные значения. Одно важное замечание: ELF был разработан в предположении что есть только по одному ABI на одну архитектуру. Это предположение совершенно не верно, и не только в мире коммерческих SYSV (в котором есть как минимум три ABI: SVR4, Solaris, SCO).
FreeBSD пытается обойти эту проблему, в частности предоставляя утилиту для оглавления известного исполняемого файла ELF информацией об ABI с которым он совместим. Обратитесь к странице справочника brandelf(1) за более подробной информацией.
FreeBSD имеет произошла из ``классического'' лагеря и использовала формат a.out(5), технологию опробованную и проверенную на многих поколениях релизов BSD, до начала ветки 3.X. Хотя собирать и запускать родные бинарные файлы ELF (и ядро) в системе FreeBSD можно было несколько раньше, FreeBSD вначале сопротивлялась ``проталкиванию'' ELF как формата по умолчанию. Почему? Когда лагерь Linux производил болезненный переход к ELF, у него не было большого преимущества перед исполняемым форматом a.out, из-за негибкого, основанного на таблице переходов механизма разделяемых библиотек, что делало создание разделяемых библиотек очень трудным для поставщиков и разработчиков. Когда доступные инструменты ELF предоставили решение проблемы разделяемых библиотек, и появилась некоторая перспектива, цена перехода была признана допустимой и он был сделан. Механизм разделяемых библиотек FreeBSD близок по стилю к механизму разделяемых библиотек SunOS™ от Sun, и поэтому очень прост в использовании.
Итак, почему так много разных форматов?
Давно, в темном далеком прошлом, оборудование было простым. Это простое оборудование поддерживало простые, маленькие системы. a.out был совершенно адекватен задаче представления бинарных файлов на таких простых системах (PDP-11). Люди, портировавшие UNIX с этих простых систем, оставили a.out формат потому, что он был достаточен для ранних портов UNIX на архитектуры подобные Motorola 68k, VAXen, etc.
Затем какой-то смышленый инженер по оборудованию решил что если он сможет заставить программы исполнять некоторые трюки, то сможет несколько упростить дизайн и заставить ядро CPU работать быстрее. Хотя это было сделано с новым типом оборудования (известного сейчас как RISC), формат a.out не подходил для него, и было разработано множество форматов чтобы получить лучшую производительность на таком оборудовании по сравнению с той, которую мог предоставить простой формат a.out. Были изобретены форматы COFF, ECOFF и некоторые другие малоизвестные форматы, и их ограничения были учтены когда все похоже остановились на ELF.
Кроме того, размеры программ стали огромны, а диски (и оперативная память) остались относительно малы, поэтому появилась концепция разделяемых библиотек. Система VM также стала более сложной. Хотя все эти усовершенствования были выполнены с форматом a.out, его полезность все больше и больше уменьшалась с каждым нововведением. К тому же потребовалась динамическая загрузка во время выполнения, или выгрузка частей программы после выполнения стартового кода для экономии памяти или места на диске. Языки усложнялись и потребовался автоматический вызов кода перед главной программой. Множество изменений было внесено в формат a.out чтобы все это появилось и в основном работало некоторое время. Настал момент, когда a.out не смог решить все эти проблемы без чрезмерного увеличения размера и сложности. В то время как ELF решил многие из этих проблем, перевод этого формата с системы на систему болезненен. Поэтому формату ELF пришлось подождать пока не стало более болезненным оставаться с a.out чем перейти на ELF.
Тем временем, инструменты разработки, от которых произошли инструменты разработки FreeBSD (особенно ассемблер и загрузчик) развивались в двух параллельных направлениях. Направление FreeBSD добавило разделяемые библиотеки и устранило некоторые ошибки. Люди из GNU, написавшие эти программы, переписали их и добавили простую поддержку сборки кросскомпиляторов, подключения различных форматов в будущем и так далее. Многим требовалось собрать кросскомпиляторы для FreeBSD, и это не удалось, поскольку устаревшие исходные тексты FreeBSD для as и ld не подходили для этой задачи. Новый набор инструментов GNU (binutils) поддерживает кросскомпилирование, ELF, разделяемые библиотеки, C++, расширения и т.д. В дополнение, многие поставщики выпустили программы в формате ELF и они хорошо подходят для запуска в FreeBSD.
ELF более выразителен чем a.out позволяет базовой системе быть более гибкой. ELF лучше поддерживается, и предоставляет поддержку кросскомпиляторов, что важно для многих людей. ELF может быть немного медленнее чем a.out, но замерить это сложно. Есть также множество деталей, отличающихся для этих двух форматов, в том как они отображают страницы, обрабатывают начальный код, и т.д. В этом нет ничего очень важного, но они различаются. В настоящее время поддержка a.out убрана из ядра GENERIC, и со временем будет убрана из ядра как только потребность в запуске старых программ a.out останется в прошлом.
Пожалуй, самым полным руководством по FreeBSD является системный справочник (man). Практически каждое приложение или утилита имеют соответствующую страницу (часто не одну), описывающую тот или иной аспект работы программы, всевозможные опции и настройки. Для просмотра этих страниц существует команда man:
% man command
Здесь command - это команда, о которой вы хотите получить информацию. Например, чтобы узнать побольше о команде ls, наберите:
% man ls
Содержимое системного справочника для удобства разделено на несколько секций:
Пользовательские команды.
Системные вызовы и коды ошибок.
Функции стандартных библиотек.
Драйверы устройств.
Форматы файлов.
Развлечения и игры.
Дополнительная информация.
Команды системного администрирования.
Для разработчиков ядра.
В некоторых случаях (не так уж редко), страницы, относящиеся к одной и той же команде,
находятся в различных секциях справочника. Например, есть команда cdmod и системный вызов chmod(). В
этом случае, необходимо явно указать man секцию, в которой нужно
искать соответствующую страницу:
% man 1 chmod
Эта команда выведет справку об утилите chmod. По традиции, конкретная секция справочника указывается в скобках после команды, например, chmod(1) относится к утилите chmod, а chmod(2) - к соответствующему системному вызову.
Часто бывает так, что вы не знаете название команды, но имеете представление о том, что она должна делать. В этом случае можно попытаться найти нужную команду по ключевым словам, встречающимся в ее описании, используя опцию -k программы man:
% man -k mail
Вы получите список команд, имеющих слово ``mail'' в своих описаниях. Это эквивалентно использованию команды apropos.
Или например, вы видите список файлов в каталоге /usr/bin, при этом не имея ни малейшего представления о том, какие функции выполняет каждый их них? Просто наберите:
% cd /usr/bin % man -f *
или
% cd /usr/bin % whatis *
что фактически одно и то же.
FreeBSD поставляется с многочисленными приложениями и утилитами от Фонда Свободного Программного Обеспечения, Free Software Foundation (FSF). В дополнение к страницам справочника, с этими программами поставляется обширная гипертекстовая документация в виде так называемых info файлов, которые могут быть просмотрены с помощью команды info, или, если установлен emacs, в info режиме этого редактора.
Чтобы воспользоваться командой info(1), просто наберите в командной строке:
% info
Вызвать на экран краткое введение можно набрав h. Краткий список команд можно получить набрав ?.
Вместе с FreeBSD в составе базового комплекта системы поставляется богатый набор системный утилит. Однако для выполнения какой-то реальной работы очень скоро возникает необходимость в установке дополнительных приложений сторонних разработчиков. FreeBSD даёт две взаимодополняющих технологии для установки программного обеспечения сторонних разработчиков в вашу систему: Коллекция Портов FreeBSD и бинарные пакеты с программным обеспечением. Любая из этих систем может быть использована для установки самых последних версий ваших любимых приложений с локальных носителей или прямо из сети.
После чтения этой главы вы будете знать:
Как устанавливать бинарные пакеты с программным обеспечением сторонних разработчиков.
Как строить программное обеспечение сторонних разработчиков при помощи коллекции портов.
Как удалять ранее установленные пакаджи или порты.
Как переопределить значения, используемые по умолчанию в коллекции портов.
Как обновить ваши порты.
Если вы использовали UNIX-системы ранее, то знаете, что стандартная процедура установки программного обеспечения сторонних разработчиков выглядит примерно так:
Сгрузка программного обеспечения, которое может распространяться в форме исходных текстов или двоичных файлов.
Распаковка программного обеспечения из дистрибутивного формата (обычно tar-архива, сжатого при помощи compress(1), gzip(1) или bzip2(1)).
Поиск документации (возможно, подойдут файлы INSTALL, README или несколько файлов из подкаталога doc/) и её чтение в поиске описания установки программного обеспечения.
Если программное обеспечение распространялось в форме исходных текстов, его компиляция. Сюда может быть включено редактирования файла Makefile, запуск скрипта configure и другие работы.
Тестирование и установка программного обеспечения.
И это только всё проходит нормально. Если вы устанавливаете программный пакет, который был специально перенесён на FreeBSD, то вам может даже потребоваться редактировать код для того, чтобы он нормально заработал.
Если вы хотите, то можете продолжать устанавливать программное обеспечение во FreeBSD ``традиционным'' способом. Однако FreeBSD предоставляет две технологии, которые могут сохранить вам много усилий: пакаджи и порты. На момент написания таким образом были доступны более 10,500 сторонних приложений.
Для любого конкретно взятого приложения пакет FreeBSD для такого приложения является одним файлом, который вы должны сгрузить. Пакет содержит уже откомпилированные копии всех команд приложения, а также все конфигурационные файлы и документацию. Сгруженным файлом пакета можно управлять командами управления пакетами FreeBSD, такими, как pkg_add(1) pkg_delete(1), pkg_info(1) и так далее. Установка нового приложения может выполняться единственной командой.
Порт FreeBSD для приложения является набором файлов, предназначенных для автоматизации процесса компиляции приложения из исходного кода.
Вспомните, что обычно вы должны выполнить некоторое количество шагов, если компилируете программу самостоятельно (сгрузка. распаковка, изменение кода, компиляция, установка). Файлы, составляющие порт, содержат всю информацию, необходимую для того, чтобы система сделала это за вас. Вы задаёте пару простых команд, и исходный код приложения автоматически сгружается, распаковывается, модифицируется, компилируется и устанавливается.
Действительно, система портов может также использоваться для генерации пакетов, которые позже могут управляться командой pkg_add и другими командами управления пакетами, о которых скоро будет рассказано.
Как пакеты, так и порты принимают во внимание зависимости. Предположим, что вы хотите установить приложение, которое зависит от некоторой установленной библиотеки. И приложение, и библиотека доступны во FreeBSD в виде портов и пакетов. Если вы используете команду pkg_add или систему портов для добавления приложений, то в обоих случаях будет обнаружено, что библиотека не была установлена, и сначала будет автоматически выполнена установка библиотеки.
Видя, что обе технологии весьма похожи, вы можете удивиться, почему во FreeBSD используются обе. И пакеты, и порты имеют свои преимущества, так что выбор используемой вами системы зависит от ваших собственных предпочтений.
Преимущества пакетов
Сжатый tar-архив обычно меньше, чем сжатый tar-архив, содержащий исходный код приложения.
Пакеты не требуют никакой дополнительной компиляции. Для таких больших приложений, как Mozilla, KDE или GNOME, это может быть важно, в частности, если вы работаете на медленной системе.
Пакеты не требуют понимания процесса компиляции программного обеспечения во FreeBSD.
Преимущества портов
Пакеты обычно компилируются с консервативными параметрами, потому что они должны работать на максимальном количестве систем. При установке из порта вы можете изменять параметры компиляции для того, чтобы (к примеру) генерировался код, специфичный для процессора Pentium IV или Athlon.
Некоторые приложения имеют опции времени компиляции, связанные с тем, что они могут или не могут делать. К примеру, Apache может быть настроен с широким набором различных опций. При построении из порта вы можете не принимать параметры по умолчанию, и задать их самостоятельно.
В некоторых случаях для одного и того же приложения будут иметься несколько пакетов для указания конкретных настроек. Например, Ghostscript имеется как пакет ghostscript и как пакет ghostscript-nox11, в зависимости от того, установили вы сервер X11 или нет. Такой тип грубой настройки возможен при использовании пакетов, но быстро становится недостижим, если приложение имеет более одного или двух параметров времени компиляции.
Условия лицензирования некоторых дистрибутивов программного обеспечения запрещает распространение в двоичном виде. Они должны распространяться в виде исходного кода.
Некоторые не доверяют дистрибутивам в двоичном виде. При использовании исходного кода вы по крайней мере (теоретически) можете прочесть его и попытаться найти потенциальные проблемы самостоятельно.
Если у вас есть собственные патчи, вам нужен исходный код для того, чтобы их применять.
Некоторым нравится иметь исходный код, чтобы его можно было смотреть и хакать, заимствовать из него (конечно, при разрешающей лицензионном соглашении) и тому подобное.
Чтобы отслеживать обновления портов, подпишитесь на списки рассылки Список рассылки, посвящённый Портам FreeBSD и Список рассылки, посвящённый ошибкам в портах FreeBSD.
В оставшейся части главы будет рассказано, как использовать пакеты и порты для установки и управления программным обеспечением сторонних разработчиков во FreeBSD.
Перед тем, как устанавливать какое-либо приложение, вам нужно знать, что вы хотите и как называется нужное вам приложение.
Список имеющихся для FreeBSD приложений постоянно растёт. К счастью, есть несколько способов найти то, что вам нужно:
На сайте FreeBSD поддерживается обновляемый список имеющихся приложений для FreeBSD, в котором можно выполнять поиск, по адресу http://www.FreeBSD.org/ports/. Порты разбиты на категории, и вы можете либо выполнить поиск приложения по имени (если его знаете), либо просмотреть список всех приложений, относящихся к определённой категории.
Dan Langille поддерживает сайт FreshPorts по адресу http://www.FreshPorts.org/. На нём отслеживаются изменения в приложениях из дерева портов, как только они происходят, он позволяет вам ``отслеживать'' один или несколько портов, и может высылать оповещение по электронной почте при их обновлении.
Если вы не знаете названия нужного вам приложения, попытайтесь воспользоваться сайтом типа FreshMeat (http://www.freshmeat.net/) для поиска приложения, а затем возвратитесь на сайт FreeBSD, чтобы проверить, есть ли порт для этого приложения.
Для установки пакетов программного обеспечения для FreeBSD из локальных файлов или с сервера в сети вы можете использовать утилиту pkg_add(1).
Example 4-1. Сгрузка пакета вручную и его локальная установка
# ftp -a ftp2.FreeBSD.org Connected to ftp2.FreeBSD.org. 220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready. 331 Guest login ok, send your email address as password. 230- 230- This machine is in Vienna, VA, USA, hosted by Verio. 230- Questions? E-mail freebsd@vienna.verio.net. 230- 230- 230 Guest login ok, access restrictions apply. Remote system type is UNIX. Using binary mode to transfer files. ftp> cd /pub/FreeBSD/ports/packages/sysutils/ 250 CWD command successful. ftp> get lsof-4.56.4.tgz local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz 200 PORT command successful. 150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes). 100% |**************************************************| 92375 00:00 ETA 226 Transfer complete. 92375 bytes received in 5.60 seconds (16.11 KB/s) ftp> exit # pkg_add lsof-4.56.4.tgz
Если у вас нет исходных текстов локальных пакетов (например, набор CD-ROM с FreeBSD), то проще всего, наверное, воспользоваться опцией -r для pkg_add(1). Это приведёт к тому, что утилита автоматически определит правильный формат объектных файлов и релиз, а затем сгрузит и установит пакет с сервера FTP.
# pkg_add -r lsof
В примере выше нужный пакадж будет сгружен и установлен без всякого дополнительного взаимодействия с пользователем. Если вместо основного сайта вы хотите указать другое зеркало пакаджей FreeBSD, то для переопределения используемых по умолчанию значений вам необходимо задать соответствующим образом значение переменной PACKAGESITE. Для сгрузки файлов утилита pkg_add(1) использует функцию fetch(3), которая принимает во внимание различные переменные окружения, включая FTP_PASSIVE_MODE, FTP_PROXY и FTP_PASSWORD. Если вы находитесь за сетевым экраном или для работы с работы с FTP/HTTP вам необходимо использовать прокси, то определите соответствующие переменные. Обратитесь к справочной странице по fetch(3) для получения полного списка переменных. Заметьте, что в примере выше вместо lsof-4.56.4 используется lsof. При использовании функций сгрузки с сети номер версии в имени пакаджа должен быть опущен. Утилита pkg_add(1) автоматически сгрузит последнюю версию приложения.
Файлы пакаджей распространяются в форматах .tgz и .tbz. Вы можете найти их по адресу ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages или взять с дистрибутива FreeBSD на CD-ROM. Каждый CD из комплекта FreeBSD на 4 дисках (а также PowerPak и тому подобное) содержит пакаджи в каталоге /packages. Расположение пакаджей похоже на то, как организовано дерево /usr/ports. Каждая категория имеет собственный каталог, и каждый пакет помещается в каталог All.
Структура каталогов системы пакаджей соответствует структуре системы портов; они взаимодействуют друг с другом для формирования единой системы пакаджей/портов.
pkg_info(1) является утилитой для вывода списка и описаний различных установленных пакетов.
# pkg_info cvsup-16.1 A general network file distribution system optimized for CV docbook-1.2 Meta-port for the different versions of the DocBook DTD ...
pkg_version(1) является утилитой для вывода отчёта о версиях всех установленных пакетов. Она сравнивает версию имеющегося пакета с текущей версией, находящейся в дереве портов.
# pkg_version cvsup = docbook = ...
Символы во второй колонке указывают сравнительную разницу в возрасте установленной версии и версии, находящейся в локальном дереве портов.
| Символ | Значение |
|---|---|
| = | Версия установленного пакаджа соответствует версии, находящейся в локальном дереве портов. |
| < | Установленная версия старее, чем та, что имеется в дереве портов. |
| > | Установленная версия новее чем та, что есть в дереве портов. (Скорее всего, локальное дерево портов устарело.) |
| ? | В индексном файле портов установленный пакет не может быть найден. (Это может случиться, например, если установленный порт был удалён из коллекции портов или переименован.) |
| * | Имеется несколько версий пакета. |
Для удаления ранее установленных пакетов с программным обеспечением используйте утилиту pkg_delete(1).
# pkg_delete xchat-1.7.1
Вся информация о пакете хранится в каталоге /var/db/pkg. Список установленных файлов и описания всех пакетов могут быть найдены среди файлов этого каталога.
В этих разделах описаны основные приемы использования коллекции портов для установки и удаления программ из вашей системы.
Перед тем, как вы сможете устанавливать порты, вы сначала должны установить коллекцию портов--она представляет собой в основном набор файлов Makefile, патчей, файлов описаний, и она размещается в каталоге /usr/ports.
При установке вашей системы FreeBSD утилита Sysinstall запрашивает, требуется ли вам установка коллекции портов. Если вы ответили отрицательно, то можете следовать следующим указаниям для установки коллекции портов:
Метод с использованием Sysinstall
В этом методе повторно используется sysinstall для ручной установки коллекции портов.
Работая как пользователь root, запустите /stand/sysinstall так, как это показано ниже:
# /stand/sysinstall
Опуститесь вниз и выберите Configure, нажмите Enter
Опуститесь вниз и выберите Distributions, затем нажмите Enter
Опуститесь вниз к пункту ports, нажмите клавишу Пробел
Поднимитесь вверх к Exit, нажмите Enter
Выберите желаемый носитель для установки, например, CDROM, FTP и так далее.
Перейдите на пункт меню Exit и нажмите Enter.
Нажмите X для выхода из sysinstall.
Альтернативный метод получения и постоянной актуализации вашей коллекции портов заключается в использовании CVSup. Посмотрите на файл CVSup из портов, /usr/share/examples/cvsup/ports-supfile. Прочтите раздел Использование CVSup (Section A.5) для получения более полной информации об использовании CVSup и этого файла.
Метод с использованием CVSup
Это быстрый способ для получения коллекции портов при помощи CVSup. Если вы хотите поддерживать ваше дерево портов в актуальном состоянии, или узнать больше о CVSup, то прочтите вышеотмеченные разделы.
Установите порт net/cvsup. Обратитесь к разделу Установка CVSup (Section A.5.2) для получения более подробной информации.
Работая как пользователь root, скопируйте /usr/share/examples/cvsup/ports-supfile в новое место, например, в каталог /root или в ваш домашний каталог.
Отредактируйте ports-supfile.
Измените CHANGE_THIS.FreeBSD.org на близкий к вам сервер CVSup. Посмотрите раздел Зеркала CVSup (Section A.5.7) для получения полного списка зеркалирующих сайтов.
Запустите cvsup
# cvsup -g -L 2 /root/ports-supfile
При повторных запусках этой команды все последние изменения (кроме реального перестроения портов для вашей системы) будут сгружаться и переноситься в вашу коллекцию портов.
Когда речь заходит о коллекции портов, то первым делом вы должны понять, что именно подразумевается под словом ``скелет''. По сути скелетом порта является минимальный набор файлов, который указывает вашей системе FreeBSD, как корректно откомпилировать и установить программу. Скелет каждого порта включает:
Makefile. Makefile содержит различные директивы, которые определяют, как приложение должно быть откомпилировано и куда в вашей системе оно должно быть установлено.
Файл distinfo. Этот файл содержит информацию о файлах, которые должны существовать на вашей системе для успешной сборки порта, и их контрольные суммы, для проверки при помощи md5(1) того, что файлы в процессе сгрузки не были повреждены.
Каталог files. Этот каталог содержит патчи, использование которых необходимо для компиляции и установки программы в вашей системе FreeBSD. Патчи - это, как правило, маленькие файлы, в которых содержатся изменения, которые нужно внести в какой-то конкретный файл. Они имеют обычный текстовый формат и в основном содержат указания типа ``Удалить строку 10'' или ``Заменить строку 26 на такую ...''. Патчи также называются ``diff-файлами'' или просто ``диффами'', потому что они генерируются программой diff(1).
Этот каталог также может содержать другие файлы, используемые для построения порта.
pkg-descr. Это более подробное, зачастую многострочное описание программы.
pkg-plist. Это список всех файлов, которые будут установлены портом. В нем также содержатся указания системе портов на удаление определенных файлов во время удаления порта.
В некоторых портах присутствуют и другие файлы, такие, как pkg-message. Система портов использует эти файлы для обработки особых ситуаций. Если вы хотите узнать более подробно об этих файлах и о портах вообще, то обратитесь к Руководству по созданию портов для FreeBSD.
Теперь, когда вы имеете достаточное количество информации о том, для чего предназначена коллекция портов, вы в состоянии установить ваш первый порт. Это может быть сделано двумя способами, каждый из которых будет описан ниже.
Однако, прежде чем мы этим займёмся, вам нужно выбрать порт для установки. Есть несколько способов сделать это, самый простой из которых заключается в использовании списка портов на сайте FreeBSD. Вы можете просто полистать весь список портов или воспользоваться возможностями поиска на сайте. Каждый порт также включает описание, так что вы можете прочесть некоторую информацию о каждом из портов, прежде чем решить его установить.
Другой метод заключается в использовании команды whereis(1). Чтобы ей воспользоваться, просто наберите в приглашении ``whereis file '', где file - программа, которую вы хотите установить. И если она имеется в вашей системе, вам об этом будет сообщено, как показано ниже:
# whereis lsof lsof: /usr/ports/sysutils/lsof
Это говорит о том, что lsof (системная утилита) находится в каталоге /usr/ports/sysutils/lsof.
Ещё одним способом поиска некоторого порта является использование встроенной возможности поиска в коллекции портов. Чтобы ею воспользоваться, вы должны находиться в каталоге /usr/ports. Очутившись в этом каталоге, выполните команду make search name=program-name, где program-name - это название программы, которую вы хотите найти. Например, если вы ищете lsof:
# cd /usr/ports # make search name=lsof Port: lsof-4.56.4 Path: /usr/ports/sysutils/lsof Info: Lists information about open files (similar to fstat(1)) Maint: obrien@FreeBSD.org Index: sysutils B-deps: R-deps:
Вам следует обратить особое внимание на строчку ``Path:'', так как в ней указывается, где найти порт. Остальная сообщаемая информация для установки порта не нужна, поэтому здесь она описываться не будет.
Для выполнения более глубокого поиска вы можете также использовать make search key=string, где string представляет собой некоторый текст, который ищется. При этом будет выполнен поиск в именах портов, комментариях, описаниях и зависимостях, и его можно использовать для поиска портов, связанных с некоторой темой, если вы не знаете названия программы, которую вы ищете.
В обоих этих случаях строка поиска нечувствительна к регистру. Поиск ``LSOF'' приводит к тому же самому результату, что и поиск ``lsof''.
Note: Для установки портов вы должны войти в систему как пользователь root.
Теперь, когда вы нашли порт, который хотите установить, можно выполнять реальную установку. В порт включаются инструкции относительно того, как выполнять построение из исходного кода, но не сам код. Вы можете получить исходный код с CD-ROM или из Интернет. Исходный код распространяется в том виде, какой предпочёл выбрать разработчик. Зачастую это tar-файл, обработанный утилитой gzip, но он может также быть упакованным каким-то другим инструментом или быть не сжатым. Исходный код программы, в каком бы то виде он ни был, называется ``дистрибутивным'' (distfile). Вы можете получить дистрибутивный файл с CD-ROM или через Интернет.
Официальные образы CD-ROM Проекта FreeBSD больше не содержат дистрибутивные файлы. На них есть достаточно места, которое лучше использовать для предкомпилированных пакаджей. Продукты на CD-ROM, такие, как FreeBSD PowerPak, включают дистрибутивные файлы, и вы можете заказать их от таких поставщиков, как FreeBSD Mall. В этом разделе предполагается, что у вас есть такой набор CD-ROM с FreeBSD.
Вставьте ваш CD-ROM с FreeBSD в привод. Смонтируйте его в каталог /cdrom. (Если вы используете другую точку монтирования, то установка работать не будет.) Чтобы начать, перейдите в каталог с портом, который вы хотите установить:
# cd /usr/ports/sysutils/lsof
Оказавшись в каталоге lsof, вы увидите структуру порта. Следующим шагом является компиляция, или построение (``build'') порта. Это выполняется простой выдачей команды make в ответ на приглашение командного процессора. Как только вы это сделаете, то увидите выдачу, выглядящую примерно так:
# make >> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. >> Attempting to fetch from file:/cdrom/ports/distfiles/. ===> Extracting for lsof-4.57 ... [выдача при распаковке опущена] ... >> Checksum OK for lsof_4.57D.freebsd.tar.gz. ===> Patching for lsof-4.57 ===> Applying FreeBSD patches for lsof-4.57 ===> Configuring for lsof-4.57 ... [выдача при конфигурации опущена] ... ===> Building for lsof-4.57 ... [выдача при компиляции опущена] ... #
Заметьте, что, как только компиляция закончится, вы снова вернётесь к приглашению вашего командного процессора. Следующим шагом является установка порта. Чтобы это сделать, вам нужно просто добавить одно слово к команде make, а именно слово install:
# make install
===> Installing for lsof-4.57
...
[выдача при установке опущена]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
#
Как только вы вернулись к приглашению вашей оболочки, вы должны суметь запустить приложение, которое только что установили. Так как lsof является программой, которая запускается с повышенными правами, то выдаётся предупреждение о безопасности. Во время построения и установки портов вы должны принимать во внимание все выдаваемые предупреждения.
Note: Вы можете сэкономить лишний шаг, просто выдав команду make install вместо make и последующей make install в двух отдельных шагах.
Note: Некоторые командные процессоры для ускорения поиска выполнимых файлов и команд кэшируют имена таких программ, которые доступны для вызова из каталогов, перечисленных в переменной окружения PATH. Если вы используете один из таких командных процессоров, то перед использованием только что добавленных команд вам может понадобиться вызвать директиву rehash после установки порта. Это верно как для оболочек, являющихся частями базового системного набора (например, tcsh), так и командных процессоров, доступных в виде портов (например, shells/zsh).
Note: Пожалуйста, будьте готовы к тому, что лицензии некоторых портов не позволяют помещать их на CD-ROM. Это может делаться из-за обязательности заполнения регистрационной формы перед сгрузкой или запрета на дальнейшее распространение, либо по какой-то другой причине. Если вы хотите установить порт, которого нет на CD-ROM, вам нужно иметь подключение к Интернет, чтобы это сделать (обратитесь к следующему разделу).
Как и в предыдущем разделе, здесь предполагается, что у вас имеется работающее подключение к Интернет. Если это не ваш случай, вам нужно выполнять установку с CD-ROM либо поместить копию дистрибутивного файла в каталог /usr/ports/distfiles вручную.
Установка порта из Интернет производится точно так же, как если бы делали её с CD-ROM. Единственным отличием между ними является тот факт, что дистрибутивный файл сгружается из Интернет, а не считывается с CD-ROM.
Выполняются те же самые шаги:
# make install
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
439860 bytes transferred in 18.0 seconds (23.90 kBps)
===> Extracting for lsof-4.57
...
[выдача при распаковке опущена]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[выдача процесса конфигурации опущена]
...
===> Building for lsof-4.57
...
[выдача компиляции опущена]
...
===> Installing for lsof-4.57
...
[выдача процедуры установки опущена]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
#
Как вы видите, единственным отличием является строка, в которой указывается, откуда система сгружает дистрибутивный файл порта.
Для сгрузки файлов система портов использует утилиту fetch(1), которая принимает во внимание различные переменные окружения, включая FTP_PASSIVE_MODE, FTP_PROXY и FTP_PASSWORD. Если вы находитесь за сетевым экраном или для работы с работы с FTP/HTTP вам необходимо использовать прокси, то определите соответствующие переменные. Обратитесь к справочной странице по fetch(3) для получения полного списка переменных.
Пользователям, которые не могут быть постоянно подключенными к сети, поможет команда make fetch. Просто запустите эту команду в каталоге самого верхнего уровня (/usr/ports), и требуемые файлы будут сгружены. Эта команда будут работать также и с вложенными категориями, например: /usr/ports/net. Заметьте, что если порт имеет зависимости от библиотек или других портов, то он не будет также сгружать дистрибутивные файлы этих портов. Замените fetch на fetch-recursive, если вы хотите выполнить сгрузку также и всех этих зависимостей порта.
Note: Вы можете построить все порты в категории за раз, запустив команду make в каталоге верхнего уровня, как и в вышеописанном методе с make fetch. Однако это опасно, так как некоторые порты не могут сосуществовать. В других случаях некоторые порты могут устанавливать два различных файла с одним и тем же именем.
В некоторых редких случая пользователям необходимо получить tar-архивы с сайтов, отличающихся от MASTER_SITES (это место, откуда файлы обычно сгружаются). Вы можете переопределять значение MASTER_SITES посредством следующей команды:
# cd /usr/ports/directory # make MASTER_SITE_OVERRIDE= \ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
В этом примере мы изменили значение переменной MASTER_SITES на ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
Note: Некоторые порты позволяют (или даже требуют) задавать параметры, которые включают или выключают построение отдельных частей приложения, которые не нужны, некоторые параметры безопасности, а также прочие настройки. К некоторым из них, часто упоминаемым, относятся пакеты www/mozilla, security/gpgme и mail/sylpheed-claws. При наличии подобных параметров будет выдано сообщение.
Иногда бывает полезным (или необходимым) использование других каталогов с портами и дистрибутивными файлами. Для переопределения каталогов, используемых по умолчанию, используются переменные PORTSDIR и PREFIX. К примеру:
# make PORTSDIR=/usr/home/example/ports install
будет компилировать порт в каталоге /usr/home/example/ports, а установит всё в /usr/local.
# make PREFIX=/usr/home/example/local install
будет компилировать его в каталоге /usr/ports, а установит в /usr/home/example/local.
И, конечно,
# make PORTSDIR=../ports PREFIX=../local install
использует обе возможности (полная команда слишком длинна для написания на этой странице, однако вы должны уловить общую идею).
Альтернативным способом является задание значений этих переменных в параметрах вашего окружения. Обратитесь к страницам справки по вашему командному процессору для получения инструкций о том, как это сделать.
Некоторые порты, использующие imake (часть X Window System) нормально не работают с PREFIX, и будут пытаться установиться в дерево /usr/X11R6. Аналогично некоторые Perl-порты игнорируют значения PREFIX и устанавливаются в дерево Perl. Заставить такие порты воспринимать переменную PREFIX является сложной или невыполнимой задачей.
Теперь, когда вы знаете, как устанавливать порты, вы наверное, уже задумывались о том, как же их удалять, просто даже на тот случай, если вы установили один из них, а позже решили, что установили не тот порт. Мы удалим порт из нашего предыдущего примера (а это была программа lsof, если вы обратили внимание). Как и при установке портов, первым делом вы должны перейти в каталог с портом, /usr/ports/sysutils/lsof. После смены каталога вы готовы к удалению xchat. Это делается командой make deinstall:
# cd /usr/ports/sysutils/lsof # make deinstall ===> Deinstalling for lsof-4.57
Это было достаточно легко. Вы удалили lsof из вашей системы. Если вам захочется переустановить эту программу, то это можно будет сделать, выдав команду make reinstall из каталога /usr/ports/sysutils/lsof.
Последовательность команд make deinstall и make reinstall не сработает, если вы запустите команду make clean. Если вы хотите убрать порт из системы после зачистки каталога, используйте команду pkg_delete(1), как это описано в разделе о пакаджах Руководства.
Использование коллекции портов может определённо стоить вам дискового пространства. По этой причине вы не должны забывать о зачистке рабочих каталогов при помощи команды make clean. При этом будет удаляться каталог work, возникающий после построения и установки порта. Вы можете также удалить tar-файлы из каталога distfiles, а позже удалить установленные порты, если они не используются.
Некоторые пользователи ограничивают набор категорий портов, помещая в файл refuse соответствующую запись. В этом случае при запуске программы CVSup она не будет сгружать файлы из указанных категорий.
Поддержание ваших портов в актуальном состоянии может оказаться нудным занятием. К примеру, чтобы обновить порт, вам нужно перейти в каталог с портами, построить порт, удалить старый порт, установить новый, а затем вычистить его после построения. Представьте, сколько действий (пять) нужно сделать! Скучно, да? Это было большой проблемой для системных администраторов, но теперь есть утилиты, выполняющие эти действия за нас. Например, утилита sysutils/portupgrade сделает всё за вас сама! Просто установите её, как обычный порт, при помощи команды make install clean.
Теперь создайте базу данных командой pkgdb -F. Она выяснит перечень установленных портов и создаст файл базы данных в каталоге /var/db/pkg. Теперь при вызове команды portupgrade -a, она будет использовать эту базу данных и файл портов INDEX. Наконец, portupgrade сгрузит, построит, сделает резервную копию, установит и очистит порты, которые были обновлены. portupgrade имеет массу параметров для использования в разных ситуациях, из которых наибольшего внимания заслуживает описываемая далее.
Если вы хотите обновить только определённое приложение, но не полностью базу данных, используйте portupgrade pkgname, с флагом -r, если portupgrade должен отработать все пакаджи, которые зависят от указанного, и использовать флаг -R для отработки всех пакаджей, которые требуют указанные пакаджи. Для использования при установке пакаджей, а не портов, укажите флаг -P, а для простой сгрузки дистрибутивных файлов без построения или установки чего бы то ни было задайте флаг -F. Дополнительную информацию можно получить на странице справки по утилите portupgrade(1).
Note: Важно регулярно обновлять базу данных пакаджей при помощи команды pkgdb -F для восстановления целостности, особенно когда portupgrade запрашивает вас это сделать. Не прерывайте работы portupgrade при обновлении базы данных пакаджей, это может привести к рассогласованию данных.
Существуют и другие утилиты, которые делают подобные вещи, посмотрите в каталоге ports/sysutils и выберите то, что вам подходит.
После установки нового приложения вам обычно требуется прочесть какую-либо документацию, если она есть, отредактировать нужные конфигурационные файлы, проверить, что приложение запускается во время загрузки системы (если это даемон), и так далее.
Очевидно, что в шаги, в точности требуемые для конфигурации каждого приложения, отличаются. Однако, если если вы только что установили новое приложение и вам интересно, ``Что же дальше?'', то вам могут помочь следующие советы:
Воспользуйтесь командой pkg_info(1) для определения того, куда и какие файлы были установлены. К примеру, если вы только что установили FooPackage версии 1.0.0, то по команде
# pkg_info -L foopackage-1.0.0 | less
будут выведен список всех файлов, установленных пакетов. Обратите особое внимание на файлы в каталогах man/, которые являются справочными страницами, etc/, которые будут являться конфигурационными файлами, и doc/, которые будут являться более подробной документацией.
Если вы не уверены, какая версия приложения была только что установлена, то по команде типа
# pkg_info | grep -i foopackage
будут выведен список всех установленных пакаджей, в названии которых присутствует foopackage Замените foopackage в командной строке на то, что вам нужно.
Как только вы определите, куда были установлены справочные страницы приложения, просмотрите их при помощи команды man(1). Подобным же образом просмотрите примеры конфигурационных файлов и всю дополнительную документацию, которая была поставлена.
Если у приложения имеется веб-сервер, поищите там дополнительную документацию, ответы на часто задаваемые вопросами и так далее. Если вы не уверены, каков адрес веб-сайта, он может быть указан в выводе команды
# pkg_info foopackage-1.0.0
Строка WWW:, если она есть, должна содержать URL Web-сайта приложения.
Порты, которые должны запускаться при загрузке системы (такие, как серверы Internet), как правило, устанавливают примерный скрипт в каталог /usr/local/etc/rc.d. Вы должны просмотреть скрипт на предмет его корректности и отредактировать или переименовать его, если это нужно. Обратитесь к разделу о Запуске сервисов для получения более полной информации.
Если вы встретили порт, который у вас не работает, есть несколько вещей, которые вы можете сделать, а именно:
Исправьте его! В Руководстве по созданию портов содержится подробная информация об инфраструктуре ``Портов'', так что вы сможете исправить иногда встречающиеся порты с ошибками или даже создать собственные!
Надавите--только по электронной почте! Сначала пошлите письмо человеку, сопровождающему порт. Наберите команду make maintainer или прочтите Makefile, чтобы найти его адрес. Не забудьте указать имя и версию порта (скопировав строчку $FreeBSD: из файла Makefile) и включите в письмо весь вывод, предшествующий возникновению ошибки. Если вы не получили ответа от этого человека, то можете воспользоваться командой send-pr(1) для посылки сообщения об ошибке.
Сгрузите пакадж с ближайшего к вам FTP-сервера. ``Основная'' коллекция пакетов находится на сервере ftp.FreeBSD.org в каталоге с пакаджами, но первым делом проверьте местное зеркало! Это, скорее всего, будет работать, и сделать это, кроме того, будет гораздо быстрее, чем пытаться компилировать порты из исходного кода. Воспользуйтесь программой pkg_add(1) для установки пакета в вашей системе.
FreeBSD использует XFree86 для того, чтобы дать пользователям мощный графический интерфейс. XFree86 является открытой реализацией X Window System. Эта глава посвящена установке и настройке XFree86 в системе FreeBSD. Чтобы получить более полную информацию о XFree86 и поддерживаемом в ней графическом оборудовании, посетите сайт XFree86.
После чтения этой главы вы будете знать:
Как установить и настроить XFree86.
Различные компоненты X Window System и их взаимодействие.
Как установить и использовать различные оконные менеджеры.
Как использовать шрифты TrueType® в XFree86.
Как настроить вашу систему на графический интерфейс входа (XDM).
Перед чтением этой главы вы должны:
Знать, как устанавливать дополнительное программное обеспечение сторонних разработчиков (Chapter 4).
Первое знакомство с X может оказаться чем-то вроде шока для тех, кто работал с другими графическими системами, такими, как Microsoft Windows или Mac OS.
Нет необходимости вникать во все детали различных компонентов X и их взаимодействия; однако некоторые базовые знания делают возможным использование сильных сторон X.
X не является первой оконной системой для UNIX, но она является самой популярной. До работы над X команда ее разработчиков трудилась над другой оконной системой. Та система называлась ``W'' (от ``Window''). X является просто следующей буквой в романском алфавите.
X можно называть ``X'', ``X Window System'', ``X11'' и другими терминами. Факт использования названия ``X Windows'' для X11 может задеть интересы некоторых людей; дополнительную информацию по этому поводу можно найти на странице справочной системы X(7).
X изначально разрабатывалась, чтобы быть системой, ориентированной на работу в сети с использованием модели ``клиент-сервер''. В модели работы X ``X-сервер'' работает на компьютере с клавиатурой, монитором и мышью. Сервер отвечает за управление дисплеем, обработку ввода с клавиатуры и мыши и так далее. Каждое X-приложение (например, XTerm или Netscape) является ``клиентом''. Клиент посылает сообщения серверу, такие, как ``Пожалуйста, нарисуй окно со следующими координатами'', а сервер посылает в ответ сообщения типа ``Пользователь только что щёлкнул мышью на кнопке OK''.
Если в этом участвует только один компьютер, например, в случае использования дома или в офисе, сервер и клиенты X будут работать на том же самом компьютере. Однако реально возможно запускать X-сервер на менее мощном настольном компьютере, а приложения X (клиенты) на, скажем, мощной и дорогой машине, обслуживающей целый офис. В этом сценарии X-клиент и сервер общаются через сеть.
Некоторых это вводит в заблуждение, потому что терминология X в точности обратна тому, что они ожидают. Они полагают, что ``X-сервер'' будет большой мощной машиной, стоящей на полу, а ``X-клиентом'' является машина, стоящая на их столах.
Запомните, что X-сервером является машина с монитором и клавиатурой, а X-клиенты являются программами, выводящими окна.
В протоколе нет ничего, что заставляет машины клиента и сервера работать под управлением одной и той же операционной системы, или даже быть одним и тем же типом компьютера. Определённо возможно запускать X-сервер в Microsoft Windows или Mac OS от Apple, и есть множество свободно распространяемых и коммерческих приложений, которые это реализуют.
X-сервер, поставляемый с FreeBSD, называется XFree86, и он распространяется свободно под лицензией, очень похожей на условия распространения FreeBSD. Имеются и коммерческие X-серверы для FreeBSD.
Философия построения X очень похожа на философию построения UNIX, ``инструменты, не политика''. Это значит, что X не пытаются диктовать то, как должна быть выполнена работа. Вместо этого пользователю предоставляются инструменты, а за пользователем остается принятие решения о том, как использовать эти инструменты.
Этот подход расширен в X тем, что не задается, как окна должны выглядеть на экране, как их двигать мышью, какие комбинации клавиш должны использоваться для переключения между окнами (то есть Alt+Tab, в случае использования Microsoft Windows), как должны выглядеть заголовки окон, должны ли в них быть кнопки для закрытия, и прочее.
Вместо этого X делегирует ответственность за это приложению, которое называется ``Window Manager'' (Менеджер Окон). Есть десятки оконных менеджеров для X: AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, WindowMaker и другие. Каждый из этих оконных менеджеров предоставляет различные внешние виды и удобства; некоторые из них поддерживают ``виртуальные рабочие столы''; некоторые из них позволяют изменять назначения комбинаций клавиш, используемых для управления рабочим столом; в некоторых есть кнопка ``Start'' или нечто подобное; некоторые поддерживают ``темы'', позволяя изменять внешний вид, поменяв тему. Эти оконные менеджеры, а также множество других, находятся в категории x11-wm коллекции Портов.
Кроме того, оболочки KDE и GNOME обе имеют собственные оконные менеджеры, которые интегрированы с оболочкой.
Каждый оконный менеджер также имеет собственный механизм настройки; некоторые предполагают наличие вручную созданного конфигурационного файла; некоторые предоставляют графические инструменты для выполнения большинства работ по настройке; по крайней мере один (sawfish) имеет конфигурационный файл, написанный на диалекте языка Lisp.
Политика фокусирования: Другой особенностью, за которую отвечает оконный менеджер, является ``политика фокусирования'' мыши. Каждая оконная система должна иметь некоторый способ выбора окна для активации получения нажатий клавиш, а также визуальную индикацию того, какое окно активно.
Широкоизвестная политика фокусировки называется ``click-to-focus''. Эта модель используется в Microsoft Windows, когда окно становится активным после получения щелчка мыши.
X не поддерживает никакой конкретной политики фокусирования. Вместо этого менеджер окон управляет тем, какое окно владеет фокусом в каждый конкретный момент времени. Различные оконные менеджеры поддерживают разные методы фокусирования. Все они поддерживают метод щелчка для фокусирования, и большинство из них поддерживают некоторые другие методы.
Самыми популярными политики фокусирования являются:
- focus-follows-mouse (фокус следует за мышью)
Фокусом владеет то окно, что находится под указателем мыши. Это не обязательно будет окно, которое находится поверх всех остальных. Фокус меняется при указании на другое окно, при этом также нет нужды щёлкать на нём.
- sloppy-focus (нечеткий фокус)
С политикой focus-follows-mouse если мышь помещается поверх корневого окна (или заднего фона), то никакое окно фокус не получает, а нажатия клавиш просто пропадают. При использовании политики нечёткого фокуса он меняется только когда курсор попадает на новое окно, но не когда уходит с текущего окна.
- щелчок для выбора фокуса
Активное окно выбирается щелчком мыши. Затем окно может быть ``поднято'' и появиться поверх всех других окон. Все нажатия клавиш теперь будут направляться в это окно, даже если курсор переместится к другому.
Многие оконный менеджер поддерживают и другие политики, а также вариации перечисленных. Обязательно обращайтесь к документации по оконному менеджеру.
Подход X, заключающийся в предоставлении инструментов, а не политики, распространяется и на виджеты, которые располагаются на экране в каждом приложении.
``Виджет'' (widget) является термином для всего в пользовательском интерфейсе, на чём можно щёлкать или каким-то образом управлять; кнопки, зависимые (radio buttons) и независимые (check boxes) кнопки, иконки, списки и так далее. В Microsoft Windows это называется ``элементами управления'' (``controls'').
Microsoft Windows и Mac OS от Apple обе имеют очень жёсткую политику относительно виджетов. Предполагается, что разрабатываемые приложения обязательно должны иметь похожий внешний вид. Что касается X, то было решено, что не нужно требовать обязательного использования какого-то определённого графического стиля или набора виджетов.
В результате не стоит ожидать от X-приложений похожести во внешнем виде. Существует несколько популярных наборов виджетов и их разновидностей, включая оригинальный набор виджетов Athena от MIT, Motif® (по образу которого был разработан набор виджетов в Microsoft Windows, все эти скошенные углы и три разновидности серого цвета), OpenLook и другие.
В большинстве появляющихся в настоящее время приложений для X будет использоваться современно выглядящий набор виджетов, либо Qt, используемый в KDE, либо GTK, используемый проектом GNOME. В этом отношении наблюдается унификация внешнего вида рабочего стола в UNIX, что определённо облегчает жизнь начинающему пользователю.
Перед тем, как устанавливать XFree86, определитесь, с какой версией работать. XFree86 3.X является веткой разработки XFree86, находящейся в режиме только поддержки. Она весьма стабильна и поддерживает огромное количество графических адаптеров. Однако новых разработок в этом программном обеспечении не ведётся. В XFree86 4.X архитектура системы была полностью пересмотрена, в ней появились новые возможности, такие, как улучшенная поддержка шрифтов и антиалиасинга. К сожалению, эта новая архитектура требует переписывания драйверов видео, и некоторые из старых адаптеров, поддерживаемых в 3.X, пока не поддерживаются в 4.X. Так как новые разработки и поддержка новых графических адаптеров выполняются в этой ветке, XFree86 4.X теперь является стандартно используемой во FreeBSD версией X Window System.
Программа установки FreeBSD предоставляет пользователям возможность установить и настроить XFree86 4.X во время установки (описано в Section 2.9.12). Для установки и запуска XFree86 3.X сначала нужно выполнить установку базовой системы FreeBSD, а затем установить XFree86. К примеру, чтобы построить и установить XFree86 3.X из Коллекции Портов:
# cd /usr/ports/x11/XFree86 # make all install clean
Как вариант, любая версия XFree86 может быть установлена непосредственно из бинарных файлов для FreeBSD, которые размещены на веб-сайте XFree86. Для установки посредством утилиты pkg_add(1) имеется также бинарный пакадж для XFree86 4.X. При использовании возможности сгрузки по сети, предусмотренной в утилите pkg_add(1), номер версии пакаджа должен быть опущен. pkg_add(1) автоматически сгрузит самую последнюю версию приложения. Таким образом, для сгрузки и установки пакаджа для XFree86 4.X, просто наберите:
# pkg_add -r XFree86
Для установки XFree86 4.X вы можете также воспользоваться Коллекцией Портов, для чего вам нужно просто набрать следующие команды:
# cd /usr/ports/x11/XFree86-4 # make install clean
Note: В примерах выше будет установлен полный дистрибутив XFree86, включая серверы, клиенты, шрифты и так далее. Также доступны и отдельные пакаджи и порты для различных частей XFree86 4.X.
В оставшейся части главы будет рассказано о том, как сконфигурировать XFree86 и настроить рабочее окружение.
Перед настройкой XFree86 4.X необходима следующая информация о конфигурируемой системе:
Характеристики монитора
Набор микросхем, используемый в видеоадаптере
Объём видеопамяти
Характеристики монитора используются в XFree86 для определения рабочего разрешения и частоты. Эти характеристики обычно могут быть получены из документации, которая прилагается к монитору или с сайта производителя. Тут нужны два диапазона значений, для частоты горизонтальной развёртки и для частоты вертикальной синхронизации.
Набор микросхем графического адаптера определяет, модуль какого драйвера использует XFree86 для работы с графическим оборудованием. Для большинства типов микросхем это может быть определено автоматически, но все же его полезно знать на тот случай, когда автоматическое определение не работает правильно.
Объём видеопамяти графического адаптера определяет разрешение и глубину цвета, с которым может работать система. Это важно, чтобы пользователь знал ограничения системы.
Процесс настройки XFree86 4.X является многошаговым. Первый шаг заключается в построении начального конфигурационного файла посредством запуска XFree86 с параметром -configure. Работая с правами суперпользователя, просто запустите:
# XFree86 -configure
При этом в каталоге /root будет создан скелет конфигурационного файла XFree86 под именем XF86Config.new (на самом деле в качестве каталога используется тот, что задан в переменной окружения $HOME, а она зависит от способа получения прав суперпользователя). Программа XFree86 сделает попытку распознать графическое оборудование системы и запишет конфигурационный файл, загружающий правильные драйверы для обнаруженного оборудования в системе.
Следующим шагом является тестирование существующей конфигурации для проверки того, что XFree86 может работать с графическим оборудованием в настраиваемой системе. Для выполнения этой задачи пользователю нужно выполнить:
# XFree86 -xf86config XF86Config.new
Если появилась чёрно-белая сетка и курсор мыши в виде X, то настройка была выполнена успешно. Для завершения тестирования просто нажмите одновременно Ctrl+Alt+Backspace.
Note: Если мышь не работает, удостоверьтесь, что соответствующее устройство было отконфигурировано. Обратитесь к Section 2.9.10 в главе об установке FreeBSD.
Теперь выполните тонкую настройку в файле XF86Config.new по своему вкусу. Откройте файл в текстовом редакторе, таком, как emacs(1) или ee(1). Сначала задайте частоты для монитора. Они обычно обозначаются как частоты горизонтальной и вертикальной синхронизации. Эти значения добавляются в файл XF86Config.new в раздел "Monitor":
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
HorizSync 30-107
VertRefresh 48-120
EndSection
Ключевых слов HorizSync и VertRefresh может и не оказаться в файле конфигурации. Если их нет, то они должны быть добавлены, с указанием корректных значений горизонтальной частоты синхронизации после ключевого слова HorizSync и вертикальной частоты синхронизации после ключевого слова VertRefresh. В примере выше были введены частоты монитора настраиваемой системы.
X позволяет использовать возможности технологии DPMS (Energy Star) с поддерживающими её мониторами. Программа xset(1) управляет временными задержками и может явно задавать режимы ожидания, останова и выключения. Если вы хотите включить использование возможностей DPMS вашего монитора, вы должны добавить следующую строку в раздел, описывающий монитор:
Option "DPMS"
Пока файл конфигурации XF86Config.new открыт в редакторе, выберите желаемые разрешение и глубину цвета, которые будут использоваться по умолчанию. Они задаются в секции "Screen":
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x768"
EndSubSection
EndSection
Ключевое слово DefaultDepth описывает глубину цвета, с которой будет работа по умолчанию. Это значение может быть переопределено при помощи параметра командной строки -bpp для XFree86(1). Ключевое слово Modes описывает разрешение, с которым нужно работать при данной глубине цвета. Заметьте, что поддерживаются только те стандартные режимы VESA, что определены графическим оборудованием настраиваемой системы. В примере выше глубина цвета по умолчанию равна двадцати четырём битам на пиксел. При такой глубине цвета принимается разрешение в одну тысячу двадцать четыре на семьсот шестьдесят восемь точек.
Наконец, запишите конфигурационный файл и протестируйте его при помощи тестового режима, описанного выше. Если все в порядке, то конфигурационный файл нужно установить в общедоступное место, где его сможет найти XFree86(1). Обычно это /etc/X11/XF86Config или /usr/X11R6/etc/X11/XF86Config.
# cp XF86Config.new /etc/X11/XF86Config
После того, как конфигурационный файл будет помещён в общедоступное место, настройка завершена. Для запуска XFree86 посредством startx(1) установите порт x11/wrapper. XFree86 4.X можно также запустить через xdm(1).
Note: Имеется также графический инструмент для настройки, xf86cfg(1), который включён в дистрибутив XFree86 4.X. Он позволяет выполнить настройку в интерактивном режиме посредством выбора соответствующих драйверов и настроек. Эту программу можно использовать и в консольном режиме, просто нужно запустить её как xf86cfg -textmode. Для получения более полной информации обратитесь к странице справочной системы xf86cfg(1).
Конфигурирование при работе с интегрированными наборами микросхем Intel i810 требует наличия agpgart, программного интерфейса AGP, посредством которого XFree86 будет управлять адаптером. Драйвер agp(4) присутствует в ядре GENERIC с момента выпуска 4.8-RELEASE и 5.0-RELEASE. Для предшествующих релизов вам нужно добавлять такую строку:
device agp
в конфигурационный файл вашего ядра и перестраивать новое ядро. Однако вместо этого вы можете подгружать модуль ядра agp.ko автоматически во время загрузки системы при помощи loader(8). Для этого просто добавьте следующую строку в файл /boot/loader.conf:
agp_load="YES"
Затем, в случае использования FreeBSD 4.X или более ранних её версий, для программного интерфейса должен быть создан файл устройств. Для создания файла устройств для AGP запустите MAKEDEV(8) в каталоге /dev:
# cd /dev # sh MAKEDEV agpgart
Note: Во FreeBSD 5.X и более поздних версиях будет использоваться devfs(5) для выделения файлов устройств в прозрачном режиме, поэтому шаг с MAKEDEV(8) не нужен.
Это позволит конфигурировать графическое оборудование точно так же, как и любой другой графический адаптер. Заметьте, что для систем, у которых драйвер agp(4) в ядро не вкомпилирован, попытка погрузить модуль с помощью kldload(8) окончится неудачно. Этот драйвер должен оказаться в ядре во время загрузки, либо вкомпилированным, либо подгруженным посредством /boot/loader.conf.
Если вы используете XFree86 4.1.0 (или более позднюю версию), и выдаются сообщения о неразрешённых ссылках типа fbPictureInit, попробуйте добавить такую строчку после Driver "i810" в конфигурационном файле XFree86:
Option "NoDDC"
Шрифты, используемые по умолчанию и распространяемые вместе с XFree86, вряд ли можно назвать идеально подходящими для применения в обычных издательских приложениях. Большие презентационные шрифты выглядят рвано и непрофессионально, а мелкие шрифты в Netscape вообще невозможно разобрать. Однако есть некоторое количество свободно распространяемых высококачественных шрифтов Type1 (PostScript®), которые можно без изменений использовать с XFree86 как версии 3.X, так и 4.X. К примеру, в наборе шрифтов URW (x11-fonts/urwfonts) имеются высококачественные версии стандартных шрифтов type1 (Times Roman®, Helvetica®, Palatino® и другие). В набор Freefonts (x11-fonts/freefonts) включено ещё больше шрифтов, однако большинство из них предназначено для использования в программном обеспечении для работы с графикой, например, Gimp, и они не вполне пригодны для использования в качестве экранных шрифтов. Кроме того, XFree86 с минимальными усилиями может быть настроена на использование шрифтов TrueType: посмотрите раздел о шрифтах TrueType ниже.
Для установки вышеупомянутых коллекций шрифтов Type1 из коллекции портов выполните следующие команды:
# cd /usr/ports/x11-fonts/urwfonts # make install clean
То же самое нужно будет сделать для коллекции freefont и других. Для указания X-серверу на существование этих шрифтов добавьте соответствующую строку в файл XF86Config (из каталога /etc/ для XFree86 для версии 3 или из каталога /etc/X11/ для версии 4), которая должна выглядеть так:
FontPath "/usr/X11R6/lib/X11/fonts/URW/"
Либо из командной строки при работе с X выполните:
% xset fp+ /usr/X11R6/lib/X11/fonts/URW % xset fp rehash
Это сработает, но будет потеряно, когда сеанс работы с X будет закрыт, если эта команда не будет добавлена в начальный файл (~/.xinitrc в случае обычного сеанса через startx или ~/.xsession при входе через графический менеджер типа XDM). Третий способ заключается в использовании нового файла XftConfig: посмотрите раздел об антиалиасинге.
В XFree86 4.X имеется встроенная поддержка шрифтов TrueType. Имеются два модуля, которые могут обеспечить эту функциональность. В нашем примере используется модуль freetype, потому что он в большей степени похож на другие механизмы для работы с шрифтами. Для включения модуля freetype достаточно в раздел "Module" файла /etc/X11/XF86Config добавить следующую строчку.
Load "freetype"
В случае XFree86 3.3.X требуется отдельный сервер шрифтов TrueType. Для этого обычно используется Xfstt. Для установки Xfstt просто установите порт x11-servers/Xfstt.
Теперь создайте каталог для шрифтов TrueType (к примеру, /usr/X11R6/lib/X11/fonts/TrueType) и скопируйте все шрифты TrueType в этот каталог. Имейте в виду, что напрямую использовать шрифты TrueType с Macintosh® нельзя; для использования с XFree86 они должны быть в формате UNIX/DOS/Windows. После того, как файлы будут скопированы в этот каталог, воспользуйтесь утилитой ttmkfdir для создания файла fonts.dir, который укажет подсистеме вывода шрифтов X на местоположение этих новых файлов. ttmkfdir имеется в Коллекции Портов FreeBSD как x11-fonts/ttmkfdir.
# cd /usr/X11R6/lib/X11/fonts/TrueType # ttmkfdir > fonts.dir
После этого добавьте каталог со шрифтами TrueType к маршруту поиска шрифтов. Это делается точно также, как описано выше для шрифтов Type1, то есть выполните
% xset fp+ /usr/X11R6/lib/X11/fonts/TrueType % xset fp rehash
или добавьте строку FontPath в файл XF86Config.
Это всё. Теперь Netscape, Gimp, StarOffice™ и все остальные X-приложения должны увидеть установленные шрифты TrueType. Очень маленькие (как текст веб-страницы на дисплее с высоким разрешением) и очень большие (в StarOffice) шрифты будут теперь выглядеть гораздо лучше.
Анлиалиасинг присутствует в XFree86, начиная с версии 4.0.2. Однако настройка шрифтов была довольно громоздка вплоть до появления XFree86 4.3.0. Начиная с версии 4.3.0, все шрифты, расположенные в каталогах /usr/X11R6/lib/X11/fonts/ и ~/.fonts/, автоматически становятся доступными для применения антиалиасинга в приложениях, использующих Xft. Ещё не все приложения могут использовать Xft, но во многих его поддержка присутствует. Примерами приложений, использующих Xft, является Qt версий 2.3 и более поздних (это инструментальный пакет для оболочки KDE), Gtk+ версий 2.0 и более поздних (это инструментальный пакет для оболочки GNOME), а также Mozilla версий 1.2 и более поздних.
Для управления тем, к каким шрифтам применять антиалиасинг, а также для настройки параметров антиалиасинга, создайте (или отредактируйте, если он уже существует) файл /usr/X11R6/etc/fonts/local.conf. Некоторые мощные возможности системы шрифтов Xft могут быть настроены при помощи этого файла; в этом разделе описаны лишь некоторые простые возможности. Для выяснения всех деталей, пожалуйста, обратитесь к fonts-conf(5).
Этот файл должен быть сформирован в формате XML. Обратите особое внимание на регистр символов, и удостоверьтесь, что все тэги корректно закрыты. Файл начинается обычным заголовком XML, за которым следуют задание DOCTYPE, а потом тэг <fontconfig>:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
Как и говорилось ранее, все шрифты из каталога /usr/X11R6/lib/X11/fonts/, а также ~/.fonts/ уже доступны для приложений, использующих Xft. Если вы хотите добавить каталог, отличный от этих двух, добавьте строчку, подобную следующей, в файл /usr/X11R6/etc/fonts/local.conf:
<dir>/path/to/my/fonts</dir>
После добавления новых шрифтов, и особенно новых каталогов со шрифтами, вы должны выполнить следующую команду для перестроения кэшей шрифтов:
# fc-cache -f
Антиалиасинг делает границы несколько размытыми, что делает очень мелкий текст более читабельным и удаляет ``лесенки'' из текста большого размера, но может вызвать нечёткость при применении к тексту обычного размера. Для исключения размеров, меньших 14, от антиалиасинга, добавьте такие строки:
<match target="font">
<test name="size" compare="less">
<double>14</double>
</test>
<edit name="antialias" mode="assign">
<bool>false</bool>
</edit>
</match>
Для некоторых моноширинных шрифтов антиалиасинг может также оказаться неприменимым при определении межсимвольного интервала. В частности, эта проблема возникает с KDE. Одним из возможных решений для этого является жесткое задание межсимвольного интервала в 100. Добавьте следующие строки:
<match target="pattern" name="family">
<test qual="any" name="family">
<string>fixed</string>
</test>
<edit name="family" mode="assign">
<string>mono</string>
</edit>
</match>
<match target="pattern" name="family">
<test qual="any" name="family">
<string>console</string>
</test>
<edit name="family" mode="assign">
<string>mono</string>
</edit>
</match>
(это создаст алиасы для других общеупотребительных имён для шрифтов фиксированного размера как "mono"), а затем добавьте:
<match target="pattern" name="family">
<test qual="any" name="family">
<string>mono</string>
</test>
<edit name="spacing" mode="assign">
<int>100</int>
</edit>
</match>
С некоторыми шрифтами, такими, как Helvetica, могут получиться проблемы при антиалиасинге. Обычно это проявляется в виде шрифта, который наполовину вертикально обрезан. Хуже того, это может привести к сбоям таких приложений, как Mozilla. Во избежание этого следует добавить следующее в файл local.conf:
<match target="pattern" name="family">
<test qual="any" name="family">
<string>Helvetica</string>
</test>
<edit name="family" mode="assign">
<string>sans-serif</string>
</edit>
</match>
После того, как вы закончите редактирование local.conf, удостоверьтесь, что вы завершили файл тэгом </fontconfig>. Если этого не сделать, то ваши изменения будут проигнорированы.
Набор шрифтов по умолчанию, поставляемый с XFree86, не очень желателен, если включается антиалиасинг. Гораздо лучший набор шрифтов, используемых по умолчанию, можно найти в порте x11-fonts/bitstream-vera. Этот порт установит файл /usr/X11R6/etc/fonts/local.conf, если такого ещё не существует. Если файл существует, то порт создаст файл /usr/X11R6/etc/fonts/local.conf-vera. Перенесите содержимое этого файла в /usr/X11R6/etc/fonts/local.conf, и шрифты Bitstream автоматически заменят используемые по умолчанию в XFree86 шрифты Serif, Sans Serif и Monospaced.
Наконец, пользователи могут добавлять собственные наборы посредством персональных файлов .fonts.conf. Для этого каждый пользователь должен просто создать файл ~/.fonts.conf. Этот файл также должен быть в формате XML.
И последнее замечание: при использовании дисплея LCD может понадобиться включение разбиения точек. При этом компоненты красного, зелёного и голубого цветов (разделяемые по горизонтали), рассматриваются как отдельные точки для улучшения разрешения экрана по горизонтали; результат может оказаться потрясающим. Для включения этого механизма добавьте такую строчку где-нибудь в файл local.conf:
<match target="font">
<test qual="all" name="rgba">
<const>unknown</const>
</test>
<edit name="rgba" mode="assign">
<const>rgb</const>
</edit>
</match>
Note: В зависимости от типа дисплея, rgb может потребоваться заменить на bgr, vrgb или vbgr: пробуйте и смотрите, что работает лучше.
Антиалиасинг должен быть включен при следующем запуске X-сервера. Однако программы должны знать, как использовать его преимущества. В настоящее время инструментальный пакет Qt умеет ими пользоваться, так что вся оболочка KDE может использовать шрифты с антиалиасингом (обратитесь к Section 5.7.3.2 о KDE для выяснения всех подробностей). Gtk+ и GNOME также можно заставить использовать антиалиасинг посредством капплета ``Font'' (обратитесь к Section 5.7.1.3 для выяснения всех подробностей). По умолчанию Mozilla версий 1.2 и выше будет автоматически использовать антиалиасинг. Для отмены этого перестройте Mozilla с флагом -DWITHOUT_XFT.
Менеджер Экранов X (XDM) это необязательный компонент Системы Окон X, который используется для управления login сессиями. Это полезно в ряде ситуаций, например минимальные ``X Терминалы'', декстопы, большие сетевые сервера Экранов. Так как Система Окон X не зависит от сетей и протоколов, то существует множество различных конфигураций для X клиентов и серверов запущенных на различных компьютерах подключенных к сети. XDM предоставляет графический интерфейс для выбора сервера к которому Вы желаете подключится и введения информации авторизующей пользователя, например комбинацию логина и пароля.
Представляйте себе, что XDM предоставляет такие же возможности для пользователей, как и программа getty(8) (смотрите Section 17.3.2 для подробной информации). И это именно так, XDM производит вход в систему для подключенного пользователя и запускает управляющую сессию для пользователя (обычно это менеджер окон X). После этого XDM ожидает завершения приложения, означающее завершение пользователем работы и отключает управляющую сессию. После этого XDM может снова вывести приглашение к входу в систему и ожидать входа другого пользователя.
Программой даемона XDM является /usr/X11R6/bin/xdm. Эта программа может быть запущена от пользователя root в любой момент, и она начнёт управлять дисплеем X на локальной машине. Если XDM нужно запускать в фоновом режиме каждый раз при запуске компьютера, то наиболее правильный способ это добавить новую запись в /etc/ttys. Для более подробной информации о формате и использовании этого файла смотрите секцию Section 17.3.2.1. Это строка, которую необходимо добавить в файл /etc/ttys для того чтобы запустить даемон XDM на виртуальном терминале:
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure
По умолчанию эта запись отключена; для её включения нужно заменить пятое поле с off на on и перезапустить init(8), используя метод, описанный в Section 17.3.2.2. Первое поле это название терминала, которым будет управлять программа, ttyv8. Это означает, что XDM будет запущен на 9ом виртуальном терминале.
Конфигурационные файлы XDM находятся в каталоге /usr/X11R6/lib/X11/xdm. В нём размещаются насколько файлов, которые используются для изменения поведения и внешнего вида XDM. Обычно это следующие файлы:
| Файл | Описание |
|---|---|
| Xaccess | Правила авторизации клиентов. |
| Xresources | Значения ресурсов X по умолчанию. |
| Xservers | Список локальных и удаленных экранов. |
| Xsession | Сценарий сессии по умолчанию. |
| Xsetup_* | Скрипт для запуска приложений до появления приглашения к входу в систему. |
| xdm-config | Глобальный конфигурационный файл для всех экранов запущенных на локальной машине |
| xdm-errors | Ошибки сгенерированные серверной программой. |
| xdm-pid | ID процесса запущенного XDM. |
В этом каталоге также находятся несколько командных сценариев и программ используемых для настройки рабочего стола (desktop), когда запускается XDM. Назначение каждого из этих файлов будет вкратце описано. Точный синтаксис и информацию по их использованию описаны в xdm(1).
В конфигурации по умолчанию это просто прямоугольное окно приглашения ко входу в систему с именем компьютера большим шрифтом написанным сверху и строками ввода ``Login:'' и ``Password:'' внизу. Это хорошая отправная точка для изменения внешнего вида экранов XDM.
Протокол, по которому происходит подключение дисплеев, управляемых XDM, называется X Display Manager Connection Protocol (XDMCP). Этот файл представляет собой набор правил для управления XDMCP соединениями с удалёнными машинами. По умолчанию он позволяет подключаться любым клиентам, но это не имеет значения, пока стандартный файл xdm-config не содержит указаний по обслуживанию удалённых соединений.
Это файл содержащий установки по умолчанию для приложений запущенных в экране выбора серверов и экране приглашения к входу в систему. Именно здесь может быть изменён вид программы входа в систему. Формат этого файла идентичен файлу app-defaults описанному в документации к XFree86.
Это список удаленных экранов, которые XDM должен предоставить как варианты для входа в систему.
Этот файл представляет себя командный сценарий по умолчанию для пользователей вошедших в систему с использованием XDM. Обычно каждый пользователь имеет собственный сценарий входа в файле ~/.xsession, который используется вместо этого сценария.
Они запускаются автоматически перед тем, как показывается экран выбора сервера или экран входа в систему. Для каждого экрана (display) есть свой сценарий с именем Xsetup_, за которым следует локальный номер экрана (например, Xsetup_0). Обычно эти сценарии запускают одну или две программы в фоновом режиме, например xconsole.
Здесь содержатся настройки в формате app-defaults, которые применимы ко всем экранам данного компьютера.
Здесь находится выдача X серверов, которые XDM пытается запустить. Если экран, который XDM пытается открыть отключается по некоторым причинам, то это хорошее место для поиска сообщений об ошибках. Эти сообщения также записываются в пользовательский файл ~/.xsession-errors для каждого сеанса.
Для того, чтобы позволить другим клиентам подключаться к серверу дисплеев, отредактируйте правила контроля доступа и включите обслуживание сетевых соединений. По умолчанию они выключены, что является хорошим решением с точки зрения обеспечения безопасности. Для того, чтобы позволить XDM принимать сетевые соединения, в первую очередь закомментируйте строку в файле xdm-config:
! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with xdm DisplayManager.requestPort: 0
и потом перезапустите XDM. Помните, что комментарии в файлах app-defaults начинаются с символа ``!'', а не как обычно, ``#''. Может потребоваться более жёсткий контроль доступа. Взгляните на примеры из Xaccess и почитайте Справочник о xdm(1).
Существует несколько программ, заменяющих XDM. Одна из них, KDM (поставляемая вместе с KDE), описана далее в этой главе. В KDM имеется много визуальных и косметических улучшений, а также функциональность, позволяющая пользователям выбирать собственные оконные менеджеры во время входа в систему.
В этом разделе описываются различные графические оболочки, доступные в X для FreeBSD. Термин ``графическая оболочка'' может использоваться для чего угодно, от простого менеджера окон до полнофункционального набора приложений для рабочего стола типа KDE или GNOME.
GNOME является дружественной к пользователю графической оболочкой, позволяющей пользователям легко использовать и настраивать свои компьютеры. В GNOME имеется панель (для запуска приложений и отображения их состояния), рабочий стол (где могут быть размещены данные и приложения), набор стандартных инструментов и приложений для рабочего стола, а также набор соглашений, облегчающих совместную работу и согласованность приложений. Пользователи других операционных систем или оболочек при использовании такой мощной графической оболочки, какую обеспечивает GNOME, должны чувствовать себя в родной среде. Дополнительную информацию относительно GNOME во FreeBSD можно найти на сайте FreeBSD GNOME Project.
Легче всего установить GNOME через меню ``Desktop Configuration'' в ходе процесса установки FreeBSD, как описано в разделе Section 2.9.13 Главы 2. Её также легко установить из пакаджа или Коллекции Портов:
Для установки пакаджа GNOME из сети, просто наберите:
# pkg_add -r gnome2
Для построения GNOME из исходных текстов используйте дерево портов:
# cd /usr/ports/x11/gnome2 # make install clean
После установки GNOME нужно указать X-серверу на запуск GNOME вместо стандартного оконного менеджера. Если файл .xinitrc уже откорректирован, то просто замените строку, в которой запускается используемый менеджер окон, на ту, что вызовет /usr/X11R6/bin/gnome-session. Если в конфигурационном файле нет ничего особенного, то будет достаточно просто набрать:
% echo "/usr/X11R6/bin/gnome-session" > ~/.xinitrc
Теперь наберите startx, и будет запущена графическая оболочка GNOME.
Note: Если используется менеджер дисплеев типа XDM, то это не сработает. Вместо этого создайте выполнимый файл .xsession с той же самой командой в нём. Для этого отредактируйте файл, заменив существующую команду запуска оконного менеджера на /usr/X11R6/bin/gnome-session:
% echo "#!/bin/sh" > ~/.xsession % echo "/usr/X11R6/bin/gnome-session" >> ~/.xsession % chmod +x ~/.xsession
Ещё одним вариантом является настройка менеджера дисплеев таким образом, чтобы он позволял выбирать оконный менеджер во время входа в систему; в разделе о KDE2 в подробностях описывается, как сделать это для kdm, менеджера дисплеев из KDE.
Начиная с версии 4.0.2, XFree86 поддерживает антиалиасинг посредством своего расширения ``RENDER''. Gtk+ 2.0 и более поздние версии (это инструментальный пакет, используемый GNOME) могут использовать такую функциональность. настройка антиалиасинга описана в Section 5.5.3. Таким образом, при наличии современного GNOME. Просто перейдите в Applications->Desktop Preferences->Font и выберите либо Best shapes, Best contrast, либо Subpixel smoothing (LCDs). Для приложений Gtk+, которые не являются частью оболочки GNOME, задайте в качестве значения переменной окружения GDK_USE_XFT 1 перед запуском программы.
KDE является простой в использовании современной графической оболочкой. Вот лишь некоторое из того, что даёт пользователю KDE:
Прекрасный современный рабочий стол
Рабочий стол, полностью прозрачный для работы в сети
Интегрированная система помощи, обеспечивающая удобный и согласованный доступ к системе помощи по использованию рабочего стола KDE и его приложений
Единообразный внешний вид и управление во всех приложениях KDE
Стандартизированные меню и панели инструментов, комбинации клавиш, цветовые схемы и так далее.
Интернационализация: в KDE поддерживается более 40 языков
Централизованное единообразное конфигурирование рабочего стола в диалоговом режиме
Большое количество полезных приложений для KDE
Для KDE существует пакет офисных приложений, который выполнен по технологии ``KParts'' из KDE, состоящий из программы для работы с электронными таблицами, презентационной программы, органайзера, клиента для чтения телеконференций и других программ. С KDE также поставляется веб-браузер под названием Konqueror, который является серьезным соперником другим браузерам для UNIX-систем. Дополнительную информацию о KDE можно найти на веб-сайте KDE. Для получения информации и информационных ресурсов, специфичных для KDE во FreeBSD, обратитесь к сайту команды FreeBSD-KDE team.
Как и в случае с GNOME или любой другой графической оболочкой, легче всего установить KDE через меню ``Desktop Configuration'' во время установки FreeBSD, как это описано в разделе Section 2.9.13 Главы 2. Повторимся ещё раз, что программное обеспечение можно легко установить из пакаджа или из Коллекции Портов:
Для установки пакаджа KDE из сети, просто наберите:
# pkg_add -r kde
pkg_add(1) автоматически сгрузит самую последнюю версию приложения.
Для построения KDE из исходных текстов воспользуйтесь деревом портов:
# cd /usr/ports/x11/kde3 # make install clean
После установки KDE нужно указать X-серверу на запуск этого приложения вместо оконного менеджера, используемого по умолчанию. Это достигается редактированием файла .xinitrc:
% echo "exec startkde" > ~/.xinitrc
Теперь при вызове X Window System по команде startx в качестве оболочки будет использоваться KDE.
При использовании менеджера дисплеев типа xdm настройка несколько отличается. Вместо этого нужно отредактировать файл .xsession. Указания для kdm описаны далее в этой главе.
Теперь, когда KDE установлена в системе, можно узнать много нового из её справочных страниц или просто указанием и щелканием по различным меню. Пользователи Windows или Mac® будут чувствовать себя как дома.
Лучшим справочником по KDE является онлайновая документация. KDE поставляется с собственным веб-браузером, который называется Konqueror, десятками полезных приложений и подробной документацией. В оставшейся части этого раздела обсуждаются технические вопросы, трудные для понимания при случайном исследовании.
Администратору многопользовательской системы может потребоваться графический экран входа в систему для приглашения пользователей. Вы можете использовать xdm, как это описано ранее. Однако в KDE имеется альтернативный менеджер kdm, который был разработан для того, чтобы выглядеть более привлекательно и иметь большее количество настраиваемых опций для входа в систему. В частности, пользователи могут легко выбирать (посредством меню), какую оболочку (KDE, GNOME или что-то ещё) запускать после входа в систему.
Чтобы начать, запустите панель управления KDE, kcontrol, из-под пользователя root. Вообще говоря, считается небезопасным работать в X пользователем root. Вместо этого запустите менеджер окон как обычный пользователь, откройте окно терминала (такого, как xterm или konsole) из KDE, станьте пользователем root по команде su (для этого нужно быть членом группы wheel из /etc/group), а затем наберите kcontrol.
Щёлкните на иконке слева с надписью System, затем на Login manager. Справа имеется много различных параметров настройки, которые более детально описаны в руководстве по KDE. Щёлкните на sessions справа. Щёлкните на кнопку New type для того, чтобы добавить различные оконные менеджеры и графические оболочки. Это просто названия, так что они могут именоваться KDE или GNOME, а не startkde или gnome-session.) Включите название failsafe.
Поэкспериментируйте также и с другими меню, они в основном носят косметический характер и самоописательны. Когда закончите, щёлкните на Apply внизу и завершите работу панели управления.
Чтобы kdm понимал, что значат эти названия (KDE, GNOME и так далее), отредактируйте файлы, которые использует xdm.
Note: В KDE 2.2 это изменилось: в kdm теперь используются собственные конфигурационные файлы. Пожалуйста, обратитесь к документации по KDE 2.2 для получения подробной информации.
В окне терминала, работая как пользователь root, отредактируйте файл /usr/X11R6/lib/X11/xdm/Xsession. В середине есть раздел, выглядящий вот так:
case $# in
1)
case $1 in
failsafe)
exec xterm -geometry 80x24-0-0
;;
esac
esac
Нужно добавить к этому разделу несколько строк. Полагая, что ранее использовались названия ``KDE'' и ``GNOME'', сделаем следующее:
case $# in
1)
case $1 in
kde)
exec /usr/local/bin/startkde
;;
GNOME)
exec /usr/X11R6/bin/gnome-session
;;
failsafe)
exec xterm -geometry 80x24-0-0
;;
esac
esac
Чтобы выбор KDE в качестве оболочки на момент входа в систему был принят, нужно добавить такую строку в /usr/X11R6/lib/X11/xdm/Xsetup_0:
/usr/local/bin/kdmdesktop
Теперь проверьте, что kdm перечислена в файле /etc/ttys для запуска при следующей загрузке. Для этого просто следуйте инструкциям из предыдущего раздела о xdm, заменив отсылки к программе /usr/X11R6/bin/xdm на /usr/local/bin/kdm.
Начиная с версии 4.0.2, XFree86 поддерживает антиалиасинг через своё расширение ``RENDER'', а начиная с версии 2.3, Qt (инструментарий, используемый в KDE) поддерживает это расширение. Настройка этого описана в Section 5.5.3 по антиалиасингу с шрифтами X11. Таким образом, при работе с современным программным обеспечением в оболочке KDE возможно использование антиалиасинга. Просто перейдите в меню KDE, затем к Preferences->Look and Feel->Fonts и поставьте галочку рядом с Use Anti-Aliasing for Fonts and Icons. Для работы с приложением Qt, которое не является частью KDE, перед его запуском нужно устанавливать переменную окружения QT_XFT в значение true.
XFce является графической оболочкой, построенной на основе инструментального пакета GTK, используемого в GNOME, но гораздо легче и предназначен для тех, кому нужен простой, эффективно работающий рабочий стол, который легко использовать и настраивать. Визуально он выглядит очень похоже на CDE, который есть в коммерческих UNIX-системах. Вот некоторые из достоинств XFce:
Простой, лёгкий в обращении рабочий стол
Полностью настраиваемый при помощи мыши, с интерфейсом drag and drop и так далее
Главная панель похожа на CDE, с меню, апплетами и возможностями по быстрому запуску приложений
Интегрированный оконный менеджер, менеджер файлов, управление звуком, модуль совместимости с GNOME и прочее
Возможность использования тем (так как использует GTK)
Быстрый, легкий и эффективный: идеален для устаревших/слабых машин или для машин с ограниченной памятью
Дополнительную информацию о XFce можно найти на сайте XFce.
Для XFce имеется (на момент написания этого текста) бинарный пакадж. Для его установки просто наберите:
# pkg_add -r xfce4
Либо в случае построения из исходных текстов используйте Коллекцию Портов:
# cd /usr/ports/x11-wm/xfce4 # make install clean
Теперь укажите X-серверу на запуск XFce при следующем запуске X. Просто наберите вот что:
% echo "/usr/X11R6/bin/startxfce4" > ~/.xinitrc
При следующем запуске X в качестве рабочего стола будет использоваться XFce. Как это сказано выше, если используется менеджер дисплеев, такой, как xdm, создайте файл .xsession так, как это описано в разделе о GNOME, но с командой /usr/X11R6/bin/startxfce4, либо настройте менеджер дисплеев так, чтобы он разрешил выбор рабочего стола во время входа в систему, как это описано в разделе о kdm.
Оставшиеся главы Руководства охватывают все аспекты администрирования FreeBSD системы. Каждая глава начинается с описания того, что вы сможете изучить в результате прочтения этой главы.
Эти главы спланированы там, что вы можете прочитать их когда вам нужно узнать какую-либо информацию. Вам не нужно читать их в определенном порядке, и не нужно прочитать их все перед тем, как начать пользоваться FreeBSD.