Авторские права © 1995-2006 The FreeBSD Documentation Project
Авторские права © 2000-2006 Проект Русской Документации FreeBSD
Распространение и использование исходных (SGML DocBook) и «скомпилированных» форм (SGML, HTML, PDF, PostScript, RTF и прочих) с модификацией или без оной, разрешены при соблюдении следующих соглашений:
Распространяемые копии исходного кода (SGML DocBook) должны сохранять вышеупомянутые объявления copyright, этот список положений и следующий отказ от ответственности в первых строках этого файла в неизменном виде.
Распространяемые копии скомпилированных форм (преобразованные в другие DTD, конвертированные в PDF, PostScript, RTF и другие форматы) должны повторять вышеупомянутые объявления copyright, этот список положений и следующий отказ от ответственности в документации и/или других материалах, поставляемых с дистрибьюцией.
ЭТА ДОКУМЕНТАЦИЯ ПОСТАВЛЯЕТСЯ ПРОЕКТОМ ДОКУМЕНТАЦИИ FREEBSD "КАК ЕСТЬ" И ЛЮБЫЕ ЯВНЫЕ ИЛИ НЕЯВНЫЕ ГАРАНТИИ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ НЕЯВНЫМИ ГАРАНТИЯМИ, КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ ОТРИЦАЮТСЯ. НИ ПРИ КАКИХ УСЛОВИЯХ ПРОЕКТ ДОКУМЕНТИРОВАНИЯ FREEBSD НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБОЙ ПРЯМОЙ, КОСВЕННЫЙ, СЛУЧАЙНЫЙ, СПЕЦИАЛЬНЫЙ, ОБРАЗЦОВЫЙ ИЛИ ПОСЛЕДУЮЩИЙ УЩЕРБЫ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ПОСТАВКОЙ ТОВАРОВ ЗАМЕНЫ ИЛИ УСЛУГ; ПОТЕРЮ ДАННЫХ ИЛИ ИХ НЕПРАВИЛЬНУЮ ПЕРЕДАЧУ ИЛИ ПОТЕРИ; ПРИОСТАНОВЛЕНИЕ БИЗНЕСА), И ТЕМ НЕ МЕНЕЕ ВЫЗВАННЫЕ И В ЛЮБОЙ ТЕОРИИ ОТВЕТСТВЕННОСТИ, НЕЗАВИСИМО ОТ КОНТРАКТНОЙ, СТРОГОЙ ОТВЕТСТВЕННОСТИ, ИЛИ ПРАВОНАРУШЕНИИ (ВКЛЮЧАЯ ХАЛАТНОСТЬ ИЛИ ИНЫМ СПОСОБОМ), ВОЗНИКШЕМ ЛЮБЫМ ПУТЕМ ПРИ ИСПОЛЬЗОВАНИИ ЭТОЙ ДОКУМЕНТАЦИИ, ДАЖЕ ЕСЛИ БЫ БЫЛО СООБЩЕНО О ВОЗМОЖНОСТИ ТАКОГО УЩЕРБА.
FreeBSD это зарегистрированная торговая марка FreeBSD Foundation.
3Com и HomeConnect это зарегистрированные торговые марки 3Com Corporation.
3ware и Escalade это зарегистрированные торговые марки 3ware Inc.
ARM это зарегистрированная торговая марка ARM Limited.
Adaptec это зарегистрированная торговая марка Adaptec, Inc.
Adobe, Acrobat, Acrobat Reader и PostScript это или зарегистрированные торговые марки или торговые марки Adobe Systems Incorporated в Соединенных Штатах и/или других странах.
Apple, AirPort, 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 в Соединенных Штатах, других странах, или по всему миру.
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, IntelliMouse, 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, JRE, 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 8.4-RELEASE и FreeBSD 9.1-RELEASE. Оно находится в процессе разработки и являет собой результат работы множества людей. Многие из разделов до сих пор не существуют, а некоторые из существующих требуют обновления. Если вы заинтересованы в помощи этому проекту, отправьте письмо в Список рассылки Проекта Документации FreeBSD. Обновленная версия этого документа постоянно доступна с Основного Web сервера FreeBSD. Он также может быть загружен из интернет в одном из наиболее распространенных форматов с FTP сервера Проекта FreeBSD или с одного из многочисленных зеркал. Если вы предпочитаете иметь напечатанный (английский) вариант Руководства, то можете приобрести его на FreeBSD Mall. Вы также можете воспользоваться Поиском в Руководстве FreeBSD.
X и более
раннихX и более
позднихcronsyslogdfdisk перед
редактированиемed0inetd.confexportsrootboot0boot2/etc/ttysrmuserchpass
суперпользователяchpass обычного
пользователяdump через
sshdump при работе через
ssh с заданием RSHvnconfigmdconfig для монтирования файла
с образом существующей файловой системыmdconfigmdmfsmdconfigmdmfs/etc/ttyssrc/:Люди, которые используют FreeBSD с недавнего времени, найдут, что первая часть этой книги проводит читателя через процесс установки FreeBSD и кратко освещает идеи и традиции, на которых базируется UNIX®. Работа с этой частью требует несколько большего, чем просто желание исследовать – необходима возможность принимать к сведению новые идеи.
Вторая, много большая часть Руководства, является всеобъемлющим справочником о всех темах, которые могут интересовать администраторов FreeBSD. Некоторые из глав этой части могут рекомендовать вам предварительное чтение других документов, о чём упоминается в кратком обзоре в начале каждой главы.
Список рекомендуемой дополнительной литературы вы можете найти в Приложение B, Библиография.
Третья редакция является кульминацией более чем двух лет работы отдельных членов проекта документации FreeBSD. Вот основные изменения в новой редакции:
Глава 12, Настройка и оптимизация, Настройка и оптимизация, была расширена новой информацией о ACPI управлении питанием и ресурсами, системной утилите cron и дополнительных параметрах оптимизации ядра.
Глава 15, Безопасность, Безопасность, была расширена новой информацией о виртуальных частных сетях (VPN), списках контроля доступа файловой системы (ACL), и сообщениях безопасности.
Глава 16, Принудительный контроль доступа (MAC), Принудительный контроль доступа (MAC), новая глава этой редакции. Она описывает, что такое MAC и как этот механизм может быть использован для защиты системы FreeBSD.
Глава 18, Устройства хранения, Устройства хранения, была расширена новой информацией о устройствах хранения USB, образах файловой системы, квотах файловой системы, файловых системах в файлах и в сети, зашифрованных дисковых разделах.
К Глава 24, PPP и SLIP, PPP и SLIP, был добавлен раздел о решении проблем.
Глава 25, Электронная почта, Электронная почта, была расширена новой информацией об использовании альтернативных транспортных агентов, SMTP аутентификации, UUCP, fetchmail, procmail, и другими разделами повышенной сложности.
Глава 26, Сетевые серверы, Сетевые серверы, появилась в этой редакции. Эта главы включает информацию о установке Apache HTTP Server, FTPd, и настройке Samba сервера для клиентов Microsoft Windows. Некоторые разделы были перемещены сюда из Глава 28, Сложные вопросы работы в сети, Сложные вопросы работы в сети.
Глава 28, Сложные вопросы работы в сети, Сложные вопросы работы в сети, была расширена новой информацией об использовании устройств Bluetooth в FreeBSD, настройке беспроводных сетей, и сетях Asynchronous Transfer Mode (ATM).
Был добавлен глоссарий, объединяющий информацию о технических терминах, используемых в книге.
Множество эстетических улучшений были внесены в таблицы и иллюстрации этой книги.
Вторая редакция является кульминацией более чем двухлетней работы членов Проекта документации FreeBSD. Нижеследующий список перечисляет все значительные изменения, внесенные в эту редакцию:
Был добавлен полный указатель тем.
Все ASCII-иллюстрации были заменены на графические.
Был добавлен стандартный краткий обзор к каждому разделу для того, чтобы читатель мог получить представление о содержании раздела и о том, что необходимо знать для его изучения.
Содержимое было логически реорганизовано на три части: «В Начале», «Системное администрирование» и «Приложения».
Глава 2, Установка FreeBSD версий 8.X и более
ранних («Установка
FreeBSD») была полностью переписана, добавлено большое
количество снимков экрана, чтобы облегчить понимание текста
для новых пользователей.
Глава 4, Основы UNIX («Основы UNIX®») была расширена и содержит дополнительную информацию о процессах, даемонах и сигналах.
Глава 5, Установка приложений: порты и пакеты («Установка приложений: порты и пакеты») была расширена и содержит дополнительную информации об управлении бинарными пакетами.
Глава 6, X Window System («X Window System») была полностью переписана и обращает больше внимания на современные технологии для рабочего стола, такие, как KDE и GNOME на XFree86™ 4.X.
Глава 13, Процесс загрузки FreeBSD («Процесс загрузки FreeBSD») была расширена.
Глава 18, Устройства хранения («Устройства хранения») была составлена из того, что раньше было двумя различными главами: «Диски» и «Резервное копирование». Мы считаем, что данные темы будут проще и более полно описаны как одна глава. Был добавлен раздел о программном и аппаратном RAID.
Глава 23, Последовательные соединения («Последовательные коммуникации») была полностью реорганизована и обновлена для FreeBSD 4.X/5.X.
Глава 24, PPP и SLIP («PPP и SLIP») была существенно обновлена.
Было добавлено множество новых разделов в Глава 28, Сложные вопросы работы в сети («Сложные вопросы работы в сети»).
Глава 25, Электронная почта («Электронная почта») была расширена, теперь она включает больше информации о настройке sendmail.
Глава 11, Двоичная совместимость с Linux («Работа с приложениями, написанными для Linux®») была дополнена включением информации об установке Oracle® и SAP® R/3®.
Следующие новые темы были рассмотрены в этой, второй, редакции:
Настройка и оптимизация (Глава 12, Настройка и оптимизация).
Мультимедиа (Глава 8, Мультимедиа)
Эта книга разбита на пять частей. В первой части, В начале, рассматривается установка и основные навыки использования FreeBSD. Предполагается, что читатель освоит эти разделы последовательно, возможно пропуская разделы, в которых обсуждаются уже знакомые для него темы. Вторая часть, Общие задачи, рассказывает о некоторых наиболее часто используемых возможностях FreeBSD. Этот раздел и все последующие могут быть прочитаны не по порядку. Каждая глава начинается с краткого обзора, который описывает, о чём говорится в ней и что читатель должен будет знать для прочтения этой главы. Это сделано для того, чтобы случайно встретивший этот материал читатель мог найти разделы, которые его интересуют. В третьей части, Системное администрирование, рассмотрены вопросы администрирования. В четвертой части, Сетевые коммуникации, охвачены темы, связанные с серверами и сетью. Пятая часть содержит приложения и справочную информацию.
Знакомит пользователя с FreeBSD. Рассказывает об истории проекта FreeBSD, его задачах и модели разработки.
X и более
ранних, УстановкаПроводит пользователя через весь процесс установки. Обсуждаются также некоторые более сложные вопросы установки, такие как установка по последовательной консоли.
Рассказывает об основных командах и функциональности операционной системы FreeBSD. Если вы знакомы с Linux® или другой UNIX®-подобной операционной системой, возможно, вы пропустите эту главу.
Рассказывает о процессе установки программного обеспечения сторонних производителей с использованием «Коллекции Портов FreeBSD» и стандартных бинарных пакетов.
Описывает X Window System вообще и использование X11 под управлением FreeBSD в частности. Также описывает популярные окружения рабочего стола, такие как KDE и GNOME.
Перечисляет некоторые популярные приложения для рабочей станции, такие как веб-браузеры и офисные пакеты и описывает процесс их установки на FreeBSD.
Показывает, как настроить поддержку воспроизведения звука и видео на вашей системе. Также описывает некоторые примеры приложений для воспроизведения звука и видео.
Объясняет, почему вам может понадобиться перенастроить ядро и детально описывает процесс настройки, сборки и установки нового ядра.
Рассказывает об управлении принтерами в FreeBSD, включая информацию об титульных страницах, учёте использования принтеров и первоначальной настройке.
Описывает возможности Linux®-совместимости в FreeBSD. Также предоставляет детальные инструкции по установке многих популярных приложений для Linux®, таких как: Oracle®, SAP® R/3® и Mathematica®.
Описывает всевозможные параметры настройки FreeBSD, которые может использовать системный администратор для оптимальной настройки системы. Также описывает различные конфигурационные файлы, используемые в FreeBSD и расположение этих файлов на диске.
Рассказывает о процессе загрузки FreeBSD и объясняет, как управлять этим процессом при помощи различных настроек.
Рассказывает о создании и управлении пользовательскими учётными записями. Также обсуждает установку ограничений ресурсов для пользователей и другие задачи управления пользователями.
Описывает множество различных утилит, которые помогут вам поддерживать FreeBSD в безопасном, надёжном состоянии, включая Kerberos, IPsec и OpenSSH.
Описывает что такое принудительный контроль доступа (Mandatory Access Control, MAC) и как этот механизм может быть использован для защиты системы FreeBSD.
Описывает как управлять накопителями информации и файловыми системами в FreeBSD, включая физические диски, массивы RAID, оптические и ленточные носители, диски в оперативной памяти и сетевые файловые системы.
Рассказывает о подсистеме GEOM в FreeBSD и описывает различные поддерживаемые уровни RAID.
Исследует поддержку неосновных файловых систем во FreeBSD, таких как, например, Sun™ Z File System.
Описывает использование FreeBSD с языками, отличными от английского. Рассказывает о локализации на уровне системы и отдельных приложений.
Объясняет различия между FreeBSD-STABLE, FreeBSD-CURRENT и FreeBSD-RELEASE. Рассказывает, кому из пользователей будет полезно отслеживать версию системы в разработке и вкратце описывает этот процесс.
Объясняет, как подключать терминалы и модемы к вашей системе FreeBSD, как в серверном, так и в клиентском режиме.
Описывает использование PPP, SLIP или PPP через Ethernet для соединения с удалёнными системами при помощи FreeBSD.
Описывает использование различных компонентов почтового сервера и более углублённо рассматривает простые вопросы конфигурации для наиболее популярного программного обеспечения почтовых серверов: sendmail.
Предоставляет детальные инструкции и примеры файлов настройки для использования компьютера с FreeBSD в качестве файлового сервера (NFS), сервера доменных имен (DNS), сервера сетевой информационной системы (NIS), или сервера точного времени (ntpd).
Описывает принципы, на которых основаны программные брандмауэры, и содержит детали конфигурирования различных брандмауэров, доступных в FreeBSD.
Рассматривает множество вопросов работы с сетью, включая совместный доступ компьютеров вашей локальной сети к интернет, расширенные вопросы маршрутизации, беспроводные соединения, bluetooth, ATM, IPv6 и многое другое.
Перечисляет различные источники, из которых можно получить FreeBSD на CDROM или DVD, равно как и различные сайты в интернет, с которых можно скачать и установить FreeBSD.
Эта книга касается многих различных тем, которые могут сподвигнуть вас на более детальное изучение. Библиография перечисляет множество отличных книг, упоминаемых в тексте.
Описывает множество форумов, доступных для пользователей FreeBSD, где можно задать вопросы и поучаствовать в технических обсуждениях FreeBSD.
Содержит ключи PGP некоторых разработчиков FreeBSD.
Для того чтобы обеспечить целостность и простоту чтения текста в данной книге, мы применяем некоторые договорённости.
Наклонный шрифт используется для имен файлов, адресов в интернет (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). В 2003-2004 годах FreeBSD Mall, Inc заплатила нескольким контрибьюторам за улучшение Handbook при подготовке к третьей редакции.
Эта часть Руководства Пользователя FreeBSD предназначена для пользователей и администраторов - новичков в FreeBSD. Эти главы:
Введут вас в FreeBSD.
Проведут вас по процессу установки FreeBSD.
Обучат вас некоторым основам UNIX®.
Покажут вам как устанавливать программные пакеты не входящие в стандартную поставку FreeBSD.
Введут вас в X Window, оконную систему для UNIX®, и опишут как настроить графическое окружение и сделать вашу работу более продуктивной.
Мы попытались сократить множество ссылок в тексте до минимума для того, чтоб вы могли прочитать этот раздел Руководства с начала до конца с минимумом перелистываний страниц.
X и более
раннихX и более
позднихМы благодарим вас за интерес к 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 (удалённый доступ к файлам) и услуги электронной почты, или представить вашу организацию в Интернете, обеспечивая работу служб WWW, FTP, маршрутизацию и функции межсетевого экрана (брандмауэра).
Защита памяти гарантирует, что приложения (или пользователи) не смогут чинить препятствия друг другу. Фатальная ошибка в выполнении одного приложения не скажется на работоспособности всей системы.
FreeBSD 32-разрядная операционная система (64-разрядная на Alpha, Itanium®, AMD64, и UltraSPARC®) и изначально создавалась именно такой.
Промышленный стандарт X Window System (X11R6) предоставляет графический интерфейс пользователя (GUI) для большинства VGA карт и мониторов, и поставляется с полными исходными текстами.
Двоичная совместимость с большинством программ, созданных для Linux, SCO, SVR4, BSDI и NetBSD.
Тысячи готовых к использованию приложений доступны из коллекций портов и пакетов FreeBSD. Зачем искать что-то в сети, когда вы можете найти всё прямо здесь?
Тысячи других легко адаптируемых приложений доступны в Интернете. FreeBSD совместима по исходным текстам с большинством популярных коммерческих UNIX®-систем и, таким образом, большинство приложений требуют лишь небольших изменений для сборки (или не требуют вообще).
Виртуальная память с поддержкой сброса неиспользуемых страниц по требованию и «объединение виртуальной памяти и буферного кэша» спроектированы так, чтобы максимально эффективно удовлетворить приложения с огромными аппетитами к памяти и, в то же время, сохранить интерактивность для остальных пользователей.
Поддержка симметричной многопроцессорности (SMP) для машин с несколькими процессорами.
Полный комплект инструментов для разработчика: C, C++ и Fortran. Множество дополнительных языков программирования для исследований и разработки также доступны из коллекций портов и пакетов.
Доступность исходных текстов всей системы означает, что вы имеете максимальный контроль над операционной средой. Зачем выбирать закрытые решения и уповать на милость производителя, когда вы можете получить по-настоящему открытую систему?
Обширная online-документация.
И многое-многое другое!
FreeBSD основана на 4.4BSD-Lite от Computer Systems Research Group (CSRG) Калифорнийского Университета, Беркли, и продолжает славную традицию разработки BSD-систем. В дополнении к прекрасной работе, предоставленной CSRG, Проект FreeBSD тратит многие тысячи часов для тонкой настройки системы для максимальной производительности и надёжности в условиях максимально приближенным к «боевым». Когда большинство коммерческих гигантов только пытаются достичь такого уровня возможностей, производительности и надежности операционных систем для ПК, FreeBSD может предложить все это прямо сейчас!
Применение FreeBSD в действительности ограничено только вашим воображением. От разработки программного обеспечения до автоматизации производства, от складского учета до дистанционной коррекции азимутов спутниковых антенн; если задачи можно решить с помощью коммерческих UNIX®-систем, скорее всего, они решаемы и с помощью FreeBSD! FreeBSD также существенно выигрывает за счет буквально тысяч высококачественных приложений, разработанных исследовательскими центрами и университетами во всём мире, и доступных за минимальную цену или даже бесплатно. Коммерческие приложения также доступны, и их с каждым днем становится всё больше.
Поскольку исходные тексты FreeBSD общедоступны, система может быть оптимизирована в почти невероятной степени для специальных приложений или проектов, а это, обычно, невозможно при использовании операционных систем от большинства коммерческих производителей. Вот несколько примеров того, как сейчас используется FreeBSD:
Интернет-службы: мощнейший TCP/IP стек делает FreeBSD идеальной платформой для большинства Интернет-приложений, таких как:
Вы можете начать своё знакомство с FreeBSD, используя недорогой ПК класса 386, а впоследствии увеличить её мощь до сервера масштаба предприятия с четырьмя процессорами Xeon и RAID контроллером.
Образование: Вы студент и ваше образование связано с компьютерами или другими инженерными дисциплинами? Нет лучшего пути начать изучение операционных систем, архитектуры компьютера и работы в сети, чем освоить FreeBSD. Количество свободно доступных пакетов САПР, математических и графических пакетов также делают её чрезвычайно полезной для тех, кто использует компьютер как инструмент для выполнения другой работы!
Исследования: За счёт доступности исходных текстов для всей системы, FreeBSD — превосходная платформа как для изучения операционных систем и исследований в других областях компьютерных наук. Свободная природа FreeBSD позволяет удалённым группам сотрудничать, обмениваться идеями и совместными разработками, не беспокоясь о наличии специальных лицензий или ограничений на то, что может обсуждаться в открытых форумах.
Работа в сети: Нужен новый маршрутизатор? Сервер имён (DNS)? Межсетевой экран, защищающий от проникновения извне в вашу сеть? FreeBSD может превратить давно списанный и пылящийся в углу 386-й или 486-й ПК в мощный маршрутизатор с возможностью фильтрации пакетов.
Рабочая станция X Window: FreeBSD прекрасный выбор, если вам нужен недорогой X-терминал, использующий свободно распространяемый сервер X11. В отличие от X-терминала, на FreeBSD можно запускать множество приложений локально, если требуется, таким образом перенеся часть нагрузки с центрального сервера. FreeBSD может быть загружена «на бездисковой станции», что делает рабочую станцию ещё дешевле и проще в администрировании.
Разработка программного обеспечения: Базовая поставка FreeBSD распространяется с полным набором инструментов для разработки, включая знаменитые компилятор GNU C/C++ и отладчик.
FreeBSD доступна как в исходных текстах, так и в двоичном виде на CDROM, DVD и через анонимный доступ к FTP. Подробнее о том, как получить FreeBSD, см. в Приложение 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, но ещё и предоставила проекту компьютер для работы и быстрый доступ к Интернету. Без почти беспрецедентной веры 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 удалила большие куски кода, необходимого для создания реально загружающейся системы (по причине различных лицензионных требований), и фактически порт 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 появлялись летом и в конце 1997 года, а последняя версия (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. Из этой ветви было выпущено несколько релизов: 4.0-RELEASE был представлен в марте 2000 года, а последний 4.11-RELEASE был выпущен в январе 2005 года.
Долгожданный 5.0-RELEASE был анонсирован 19 января 2003 года.
Он стал кульминацией приблизительно трех лет работы, с этого
релиза начался курс FreeBSD на расширенную поддержку
мультипроцессорности и потоков в приложениях, а также появилась
поддержка платформ UltraSPARC® и ia64. За этим
релизом последовал релиз 5.1 в июне 2003 года. Последним релизом 5.X
из ветви -CURRENT стал 5.2.1-RELEASE, представленный в феврале
2004.
Ветвь RELENG_5 была создана в августе 2004, затем последовал выпуск релиза 5.3-RELEASE, который открыл серию релизов из ветви 5-STABLE. Самый последний релиз 8.4-RELEASE был выпущен June 2013. Из ветви RELENG_5 релизы больше выпускаться не будут.
Очередная ветвь, RELENG_6, была создана в июле 2005 года. 6.0-RELEASE, первый релиз из этой ветви, был выпущен в ноябре 2005 года. Последний из релизов ветви RELENG_6, 9.1-RELEASE, был выпущен December 2012. Из ветви RELENG_6 будут выпускаться еще релизы.
На данный момент, долговременные разработки и проекты продолжаются в ветке 7.X-CURRENT, и по ходу разработки будут доступны снэпшот-релизы 7.X на CDROM (и, конечно же, в сети), постоянно выкладываемые на сервер снэпшотов как промежуточные результаты.
Целью Проекта FreeBSD является предоставление программного обеспечения, которое может быть использовано для любых целей и без дополнительных ограничений. Многие из нас внесли значительный вклад в код (и проект) и совершенно не против получать за это иногда финансовую компенсацию, но мы определенно не собираемся ее требовать. Мы верим, что первая и основная наша «миссия» это предоставление кода для всех, кому он необходим, и для любых целей, так чтобы этот код становился всё более распространённым и предоставлял самые широкие возможности. Это, я верю, является одной из наиболее фундаментальных целей Свободного Программного Обеспечения, и мы с энтузиазмом поддерживаем её.
Тот код в нашем дереве исходных текстов, который попадает под Стандартную Общественную Лицензию GNU (GPL) или Стандартную Общественную Лицензию Ограниченного Применения GNU (LGPL), предоставляется с дополнительными условиями, хотя они обеспечивают только возможность доступа, а не его ограничение. По причине дополнительных сложностей, которые могут появится при коммерческом использовании GPL-продуктов, мы предпочитаем ПО, предоставленное под более свободной лицензией BSD, когда это возможно.
Разработка FreeBSD — это очень открытый и гибкий процесс. FreeBSD в буквальном смысле создана из кода, предоставленного сотнями людей со всего мира, в чем вы можете убедится, взглянув на список этих людей. Инфраструктура разработки FreeBSD позволяет этим сотням разработчиков сотрудничать с помощью Интернета. Мы постоянно ищем новых разработчиков и новые идеи, и те, кто заинтересован в более тесном взаимодействии и хочет принять участие в проекте, должны просто связаться с нами в рассылке freebsd-hackers. Для тех, кто желает уведомить других пользователей FreeBSD об основных направлениях работы, доступен Список рассылки анонсов FreeBSD.
Для независимой работы или тесного сотрудничества, полезно знать о проекте и процессе разработки FreeBSD следующее:
Главное дерево исходных текстов FreeBSD поддерживается с помощью CVS (Concurrent Versions System), свободно доступной системой контроля исходных текстов, которая поставляется вместе с FreeBSD. Основной CVS репозиторий располагается на компьютере, находящемся в городе Санта Клара, Калифорния (США), откуда и распространяется на множество зеркал по всему миру. Дерево CVS, содержащее ветви -CURRENT и -STABLE, может быть легко скопировано на ваш локальный компьютер. Дополнительную информацию о том, как это сделать, можно найти в разделе Синхронизация дерева исходных текстов.
Коммиттеры —
это люди, которые имеют доступ на запись
к главному дереву CVS, и имеют право вносить изменения
в главное дерево исходных текстов FreeBSD (термин
«коммиттер» появился от названия
команды cvs(1) commit, которая
используется для внесения изменений в CVS-репозиторий).
Лучший способ предоставить ваши соображения на
рассмотрение коммиттеров — использовать команду
send-pr(1). Если что-то произошло с системой, вы можете
достучаться до них посылкой письма по адресу
cvs-committers.
Core-группа FreeBSD могла бы быть эквивалентом Совета Директоров, если бы Проект FreeBSD был компанией. Главная задача Core-группы — гарантировать, что проект в целом в хорошем состоянии и движется в правильном направлении. Приглашение постоянных и ответственных разработчиков присоединиться к группе коммиттеров — одна из функций Core-группы, так же, как и приглашение новых членов в Core-группу по мере того, как другие уходят. Нынешний состав команды был выбран из рядов коммиттеров путем общего голосования в июле 2006 года. Выборы проходят каждые 2 года.
Некоторые члены Core-группы имеют особые области ответственности, то есть, они являются ответственными за работу отдельной большой части системы. Полный список разработчиков FreeBSD и областей их ответственности можно найти в Списке участников.
Большинство членов Core-группы — волонтёры, и не получают никакой финансовой выгоды от участия в проекте, поэтому вы не должны рассматривать возложенную на них «ответственность» как «гарантированную поддержку». Аналогия с «советом директоров» не очень точна и, вероятно, гораздо правильнее будет сказать, что это люди, которые посвятили себя FreeBSD, хотя и достойны лучшей участи!
Последней, но однозначно не менее значимой, и наибольшей группой разработчиков являются сами пользователи, которые предоставляют комментарии и исправления ошибок нам на почти постоянной основе. Основной путь участвовать в не централизованной разработке — это подписка на Список рассылки FreeBSD, посвящённый техническим дискуссиям, где обсуждаются подобные вещи. Обратитесь к Приложение C, Ресурсы в интернет за дальнейшей информацией о различных списках рассылки FreeBSD.
Список участников проекта FreeBSD очень длинный и постоянно растет, так почему бы вам не присоединится к нему, предоставив что-нибудь проекту FreeBSD сегодня?
Предоставление кода — не единственный способ помочь проекту; более полный список того, что необходимо сделать, можно найти на Web-сайте проекта 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 в конце 1994 года, производительность, возможности и стабильность FreeBSD существенно возросли. Самое большое изменение — это полное обновление системы виртуальной памяти с объединением виртуальной памяти и буферного кэша файловой системы, что не только увеличивает производительность, но и уменьшает количество используемой FreeBSD памяти, делая 5 Mбайтовую конфигурацию более приемлемым минимумом. Другие улучшения включают полную поддержку клиента и сервера NIS, поддержку транзакций TCP, поддержку «дозвона по запросу» в PPP, встроенную поддержку DHCP, улучшенную подсистемe SCSI, поддержку адаптеров ISDN, ATM, FDDI, Fast и Gigabit Ethernet (1000 Mбит), улучшенную поддержку новейших контролеров Adaptec и многие тысячи исправленных ошибок.
В дополнение к базовой системе, FreeBSD предоставляет
коллекцию портированого ПО, включающую тысячи популярных
программ. На момент подготовки этого документа в ней было
более 24,000 портов! В коллекцию входят множество программ от
http-серверов до игр, языков программирования, текстовых
редакторов и всего прочего. Полная Коллекция Портов
требует приблизительно 500 MB дискового пространства, потому что
порт представляет собой «изменения» оригинальных
исходных текстов. Это сильно упрощает нам процесс обновления
портов и существенно уменьшает объём занимаемого
дискового пространства по сравнению со старой (1.0) Коллекцией Портов.
Для того, чтобы скомпилировать и установить программу,
необходимо всего лишь перейти в каталог порта
программы, набрать make install и дать
системе сделать все остальное. Полные исходные тексты для каждого
порта, который вы устанавливаете, загружаются автоматически с CDROM или
локального FTP-сервера, поэтому вам нужно только дисковое
пространство для сборки необходимых портов. Почти каждый
порт предоставляется также как скомпилированный
«пакет», который может быть установлен с помощью
простой команды (pkg_add) теми, кто предпочитает
не компилировать порты из исходных текстов. Дополнительная
информация о пакетах и портах находится в Глава 5, Установка приложений: порты и пакеты.
Множество дополнительных документов, которые могут пригодиться
в процессе установки и использования FreeBSD,
находятся в каталоге /usr/share/doc
на любой машине, работающей под управлением современной версии FreeBSD. Вы
можете просматривать локально установленные документы с помощью
любого браузера, поддерживающего HTML, используя следующие ссылки:
Вы также можете просмотреть основные (и наиболее часто обновляемые) копии на http://www.FreeBSD.org/ru/.
FreeBSD поставляется простой в использовании текстовой
программой установки.
FreeBSD 9.0-RELEASE и более поздние укомплектованы установщиком,
называемым bsdinstall, в то время как в
релизах, предшествующих 9.0-RELEASE, для установки применяется
sysinstall. В этой главе описывается
использование sysinstall для установки
FreeBSD. Работа с установщиком bsdinstall
описана в Глава 3, Установка FreeBSD версий 9.X и более
поздних.
Прочтя эту главу, вы узнаете:
Как создать дискеты для установки FreeBSD.
Как FreeBSD видит и делит на разделы жесткие диски.
Как запустить sysinstall.
Вопросы, которые sysinstall задаст вам, что имеется ввиду, и как ответить на эти вопросы.
Перед прочтением этой главы вам потребуется:
Прочитать информацию о поддерживаемом оборудовании, поставляемую с устанавливаемой версией FreeBSD, и убедиться, что ваше оборудование поддерживается.
Как правило, эти инструкции по установке написаны для i386™ («PC совместимых») компьютеров. Когда это возможно, приводятся инструкции, специфичные для других платформ. Хотя это руководство поддерживается в актуальном состоянии настолько, насколько это возможно, вы можете обнаружить небольшие различия между программой установки и тем, что показано здесь. Предполагается, что вы будете использовать эту главу в качестве общего руководства, а не как пошаговую инструкцию по установке.
Минимальная конфигурация для установки FreeBSD зависит от версии FreeBSD и аппаратной архитектуры.
Краткое изложение этой информации дается в последующих разделах. В зависимости от метода, выбранного для установки FreeBSD, вам может потребоваться поддерживаемый дисковод или привод CDROM, а в некоторых случаях и сетевой адаптер. Эта ситуация будет описана в Раздел 2.3.7, «Подготовка загрузочных дисков».
Для версий FreeBSD/i386 и FreeBSD/pc98 требуется 486 процессор или выше, а также как минимум 24 MB памяти. Вам потребуется как минимум 150 MB свободного места на диске для самой минимальной установки.
Для старых конфигураций, как правило, больший объем памяти и больший объем диска более важен, чем более быстрый процессор.
Существует два класса процессоров, на которых может работать FreeBSD/amd64. К первому принадлежат процессоры AMD64, включая AMD Athlon™64, AMD Athlon™64-FX, AMD Opteron™ и более новые.
Ко второму классу принадлежат процессоры архитектуры Intel® EM64T. Среди них можно назвать семейства Intel® Core™ 2 Duo, Quad, Extreme, а также Intel® Xeon™ 3000, 5000 и 7000 серии.
Если ваша система основана на nVidia nForce3 Pro-150, необходимо отключить IO APIC в BIOS. Если для этого нет необходимой опции, отключите ACPI в операционной системе. В чипсете Pro-150 содержатся ошибки, для которых пока не существует исправлений.
Для установки FreeBSD/sparc64, вам потребуется поддерживаемая платформа (обратитесь к Раздел 2.2.2, «Поддерживаемое оборудование»).
Для FreeBSD/sparc64 потребуется отдельный диск. В настоящее время диск невозможно совместно использовать с другой операционной системой.
Список поддерживаемого оборудования поставляется с каждым
релизом в FreeBSD в информации о релизе. Этот документ обычно
находится в файле HARDWARE.TXT, в корневом
каталоге CDROM или FTP дистрибутива, или меню документации
sysinstall. Для данной архитектуры
в нем перечислены аппаратные устройства, поддерживаемые данным
релизом FreeBSD. Копии списков поддерживаемого оборудования для
различных релизов и архитектур также можно просмотреть на странице
Информации
о релизе веб сайта FreeBSD.
Перед установкой FreeBSD попытайтесь собрать информацию об устройствах компьютера. Во время установки FreeBSD покажет информацию об устройствах (жестких дисках, сетевых картах, CDROM и т.д.) с номером модели и производителем. FreeBSD также попытается определить правильную конфигурацию для этих устройств, включая информацию об IRQ и портах ввода-вывода. Из-за возможных проблем с оборудованием этот процесс не всегда завершается успешно, и возможно вам придется исправлять определенную FreeBSD конфигурацию.
Если у вас уже есть установленная операционная система, например Windows® или Linux, неплохо будет использовать ее возможности для просмотра настроек оборудования. Если вы не уверены, какие настройки карты расширения использовать, можете найти их на самой карте. Часто используемые номера прерываний 3, 5 и 7, порты ввода- вывода обычно пишутся в шестнадцатеричном виде, например 0x330.
Мы рекомендуем распечатать эту информацию перед установкой FreeBSD. Вам может помочь использование таблицы вроде этой:
| Название устройства | 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 с другими операционными системами, необходимо иметь представление как данные размещаются на диске и как это касается вас.
Диск ПК может быть поделен на отдельные части. Эти
части называют разделами.
Поскольку в FreeBSD также есть разделы, терминология становится
запутанной, и поэтому эти части дисков называются дисковыми
слайсами, или просто слайсами в FreeBSD. Например, утилита FreeBSD
fdisk, имеющая дело с дисковыми разделами
PC, обращается со слайсами а не с разделами. Первоначально
PC поддерживал только четыре раздела на диск. Эти разделы
называются главными разделами. Чтобы
обойти это ограничение и дать возможность создавать более чем
четыре раздела, был создан новый тип раздела, расширенный
раздел. Диск может содержать только один расширенный
раздел. Специальные разделы, называемые логическими
разделами, могут быть созданы внутри расширенного
раздела.
Каждый раздел имеет ID раздела —
номер, который используется для определения типа данных на разделе.
FreeBSD использует ID раздела 165.
Как правило, каждая операционная система, которую вы используете,
определяет разделы своим способом. Например, MS-DOS® и ее
потомки, такие как Windows®, присваивают каждому главному и логическому
разделу букву диска, начиная с
C:.
FreeBSD нужно устанавливать в главный раздел. FreeBSD может хранить все свои данные, включая создаваемые вами файлы, на этом одном разделе. Тем не менее, если дисков много, вы можете создать разделы FreeBSD на всех дисках или на некоторых из них. При установке FreeBSD должен быть доступен по крайней мере один раздел. Это может быть чистый, подготовленный для установки раздел, или раздел с данными, которые больше не нужны.
Если все разделы на диске уже используются, вы должны
освободить один из них для FreeBSD, используя программы,
поставляемые с имеющейся операционной системой (например,
fdisk для MS-DOS® или Windows®).
Если есть резервный раздел, используйте его. Однако, возможно сначала придется ужать один или несколько существующих разделов.
FreeBSD для установки нужен диск не менее 100 MB. Однако, это оченьминимальная установка, при которой не останется места для ваших личных файлов. Более реальный объем — 250 MB без графической оболочки, и более 350 MB с графической оболочкой. Если вы собираетесь устанавливать большое количество дополнительного ПО, понадобится еще больше дискового пространства.
Для изменения размера разделов и освобождения места под FreeBSD вы можете использовать программу GParted. GParted способна работать с разделами NTFS. Утилита GParted доступна на некоторых Live CD дистрибутивах Linux, например: SystemRescueCD.
Пользователи неоднократно сталкивались с проблемами при изменении размеров разделов, содержащих Microsoft® Vista. Поэтому рекомендуется держать под рукой инсталляционный диск с Microsoft® Vista во время выполнения подобных операций. Как и при любых других задачах обслуживания жестких дисков, настоятельно рекомендуется заранее сделать резервные копии данных.
Неправильное использование этих утилит может привести к уничтожению данных на диске. Удостоверьтесь в наличии свежих и исправных резервных копий данных перед их использованием.
Представьте что в компьютере один 4 GB диск, на
котором уже установлена Windows®, и диск разбит на два
логических диска C: и
D:, каждый по 2 GB.
1 GB данных на C:, и
0.5 GB данных на D:.
Это означает, что диск состоит из двух разделов, по одному
на каждую букву. Вы можете скопировать все данные с
D: на C:, это
освободит второй раздел для FreeBSD.
Представьте, что в компьютере один 4 GB диск, на
котором уже установлена Windows®. При установке
Windows® вы создали один большой раздел, получив при этом
диск C: размером 4 GB. Вы
используете 1.5 GB, и хотите выделить 2 GB для FreeBSD.
Для установки FreeBSD нужно выбрать:
Сделать резервную копию Windows®, затем переустановить Windows®, выделив 2 GB под ее раздел.
Использовать для сжатия раздела Windows® одну из вышеописанных утилит.
Если вы хотите подключиться к сети в процессе установки FreeBSD (например, при установке с FTP или NFS сервера), нужно знать конфигурацию сети. Вам будет предложено ввести эту информацию, чтобы FreeBSD смогла подключиться к сети для продолжения установки.
Если вы подключаетесь к сети Ethernet, или соединение с интернет подключено к Ethernet через кабельный или DSL модем, понадобится следующая информация:
IP адрес
IP адрес шлюза по умолчанию
Имя хоста
IP адрес DNS сервера
Маска подсети
Если у вас нет этой информации, спросите системного администратора или провайдера интернет. Они могут сказать, что данные присваиваются автоматически, с использованием DHCP. Если это так, запомните это.
Если вы дозваниваетесь до провайдера с помощью обычного модема, вы все же сможете установить FreeBSD через интернет, но это займет очень много времени.
Вам нужно знать:
Номер телефона провайдера
COM порт, к которому подключен модем
Имя пользователя и пароль учетной записи для доступа в интернет
Хотя проект FreeBSD борется за то, чтобы каждый релиз FreeBSD был настолько стабильным, насколько это возможно, ошибки порой вкрадываются в процесс разработки. В очень редких случаях эти ошибки влияют на процесс установки. Как только эти проблемы обнаруживаются и исправляются, они попадают в сообщения об ошибках FreeBSD, находящиеся на сайте FreeBSD. Вы можете проверить сообщения об ошибках перед установкой, чтобы убедиться, что не существует проблем, о которых стоит беспокоиться.
Информация о релизах, включая сообщения об ошибках каждого релиза, находится на странице информации о релизах сайта FreeBSD.
Программа установки FreeBSD может установить FreeBSD из файлов, расположенных в одном из следующих мест:
CDROM или DVD
USB-накопитель
Раздел MS-DOS® на вашем компьютере
Лента SCSI или QIC
Гибкие диски
FTP сервер (через файрволл или HTTP прокси, если потребуется)
NFS сервер
Соединение через параллельный или последовательный порт
Если вы купили FreeBSD на CD или DVD, у вас уже есть все, что нужно, переходите к следующему разделу (Раздел 2.3.7, «Подготовка загрузочных дисков»).
Если у вас нет установочных файлов FreeBSD, перейдите к Раздел 2.13, «Подготовка собственного источника установки», который описывает, как подготовиться к установке FreeBSD любым указанным выше способом. После прочтения этого раздела, вернитесь сюда и прочтите Раздел 2.3.7, «Подготовка загрузочных дисков».
Процесс установки FreeBSD начинается с загрузки в ваш компьютер программы установки FreeBSD — эта программа не запускается из других операционных систем. Компьютер обычно загружает операционную систему, установленную на жестком диске, но также может быть настроен на загрузку с привода CDROM или с USB-накопителя.
Если у вас есть FreeBSD на CDROM или DVD (купленный или записанный самостоятельно), и компьютер позволяет загрузку с CDROM или DVD (обычно этот пункт в BIOS называется «Boot Order» или что-то вроде), можете пропустить этот раздел. Образы FreeBSD CDROM и DVD являются загрузочными и могут быть использованы для установки FreeBSD без какой-либо специальной подготовки.
Для создания загрузочного USB-диска выполните следующие шаги:
Получение образов для USB-накопителя
Загрузочные образы для USB-накопителя для
FreeBSD 8.X-RELEASE и более ранних
можно найти в каталоге
ISO-IMAGES/ по адресу
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/.
Замените arch/ISO-IMAGES/version/FreeBSD-version-RELEASE-arch-memstick.imgarch и
version именем архитектуры и
номером версии операционной системы, которую вы планируете
установить. Например, образы USB-накопителя для
FreeBSD/i386 8.4-RELEASE находятся в
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.4/FreeBSD-8.4-RELEASE-i386-memstick.img.
Для FreeBSD версий 9.0-RELEASE и более поздних путь каталогов
отличается от приведенных выше. Детали загрузки образов
и установки FreeBSD 9.0-RELEASE и более поздних описаны в
Глава 3, Установка FreeBSD версий 9.X и более
поздних.
Название файла образа заканчивается на
.img. Каталог ISO-IMAGES/ содержит набор образов,
среди которых вам необходимо выбрать один. Выбор зависит от версии
устанавливаемой FreeBSD и, в некоторых случаях, от архитектуры
оборудования, на которое будет выполняться установка.
Перед продолжением сделайте резервную копию данных, находящихся на вашем USB-накопителе, так как последующие действия сотрут все старые данные.
Запись файла-образа на USB-накопитель
В данном примере подразумевается, что устройство /dev/da0 является нашим целевым
устройством, на которое будет производиться запись образа.
Будьте предельно внимательны, так как, указав неверное
устройство, вы уничтожите существующие данные.
Запись файла-образа при помощи dd(1)
Файл .img не
является обыкновенным файлом, копируемым на накопитель. Это
образ содержимого диска. Это значит, что вы не
можете просто скопировать файлы с диска на диск.
Вместо копирования вы должны использовать dd(1) для записи
образа непосредственно на накопитель:
# dd if=FreeBSD-8.4-RELEASE-i386-memstick.img of=/dev/da0 bs=64kЕсли отображается ошибка
Operation not permitted,
убедитесь, что целевое устройство не используется и
не примонтировано вручную или автоматически какой-либо
полезной утилитой. Далее, повторите попытку еще раз.
Удостоверьтесь в том, что вы используете соответствующую целевому устройству букву диска, иначе вы уничтожите существующие данные.
Получение приложения Image Writer for Windows
Приложение Image Writer for Windows является свободно распространяемым ПО, которым можно корректно записать файл-образ на USB-накопитель. Посетите страницу https://launchpad.net/win32-image-writer/, скачайте и распакуйте приложение.
Запись файла-образа при помощи приложения Image Writer
Для запуска приложения дважды щелкните мышей иконку
Win32DiskImager. Убедитесь, что
буква диска, отображаемая в выпадающем списке
Device
соответствует USB-накопителю. Щелкните мышей на иконку с
изображением папки и выберите необходимый файл-образ.
Для подтверждения выбора имени файла нажмите кнопку
. Убедитесь, что все введённые
данные корректны, и что в других приложениях нет открытых
папок или файлов, находящихся на целевом USB-накопителе.
И в заключение, щелкните кнопку
для записи файла-образа на накопитель.
Для создания загрузочных дискет для установки FreeBSD/pc98 сделайте следующее:
Получение образов загрузочных дискет
Загрузочные дискеты FreeBSD/pc98 могут быть закачаны
из каталога floppies по адресу
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/pc98/.
Замените version-RELEASE/floppies/version номером версии, которую
вы хотите установить.
Расширение файла образа дискеты —
.flp. Каталог
floppies/ содержит множество
разных образов. Скачайте boot.flp, а также
несколько файлов согласно типу установки, таких как
kern.small* или
kern*.
FTP клиент должен использовать бинарный режим для загрузки образов дискет. Некоторые Web-браузеры используют текстовый (ASCII) режим, который точно не позволит загрузиться с этих дискет.
Подготовка дискет
Необходимо подготовить по одной дискете на каждый загруженный образ. Эти дискеты должны быть без дефектов. Лучший способ проверить это — отформатировать дискеты самостоятельно. Не доверяйте заводскому форматированию дискет. Утилита форматирования в Windows® не сообщит о наличии плохих секторов, она просто пометит их как «плохие» и проигнорирует. Советуем использовать новые дискеты если вы выбрали этот способ установки.
Если при попытке установки FreeBSD программа установки рушится, зависает, или делает что-то не так, сразу проверьте дискеты. Запишите образы на новые дискеты и попытайтесь еще раз.
Запись образов на дискеты
Файлы с расширением .flp это
не обычные файлы, которые можно
записать на дискету. Это образы всего содержимого дискеты.
Это означает, что вы не можете
просто скопировать их с одной дискеты на другую.
Вместо этого, нужно использовать
специальные утилиты для записи образов на диск.
Если вы записываете дискеты на компьютере под
MS-DOS® / Windows®, используйте утилиту
fdimage.
Если вы используете образы с CDROM, и буква вашего
CDROM E:,
запустите ее так:
E:\> tools\fdimage floppies\boot.flp A:Повторите эту команду для каждого файла
.flp, вставляя новую дискету каждый раз,
пометьте каждую дискету именем файла, который вы скопировали на него.
Измените команду если потребуется, в зависимости от места, куда вы
поместили файлы .flp. Если у вас нет
CDROM, fdimage может быть загружена
из каталога tools
FTP сервера FreeBSD.
Если вы записываете дискеты на UNIX® (например, на другой системе FreeBSD), используйте утилиту dd(1) для записи образов непосредственно на дискеты. Находясь в FreeBSD, запустите:
# dd if=boot.flp of=/dev/fd0Под FreeBSD, /dev/fd0 означает первый
гибкий диск (диск A:).
/dev/fd1 будет диском
B:, и так далее. Другие UNIX®
системы могут по-другому именовать устройства гибких дисков,
вам возможно понадобится прочитать документацию по
соответствующей системе.
Теперь вы готовы к установке FreeBSD.
Как правило, программа установки не будет производить никаких изменений на дисках, пока не выдаст следующее сообщение:
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, и так далее.
Если вы загружаетесь с CDROM, убедитесь, что он выбран. Если вы загружаетесь с USB-носителя или с дискеты, убедитесь, что выбрано соответствующее устройство. Если вы не уверены, посмотрите руководство к компьютеру и/или к его материнской плате.
Сделайте изменения, затем сохраните их и выйдите. Компьютер должен перезагрузиться.
Если вы подготовили «загрузочный» USB-носитель, как описано в Раздел 2.3.7, «Подготовка загрузочных дисков», вставьте его в USB порт перед включением компьютера.
Если вы загружаетесь с CDROM, потребуется сначала включить компьютер и вставить компакт-диск, как только это станет возможно.
Для FreeBSD/pc98 существуют образы загрузочных дискет,
подготовка которых описана в Раздел 2.3.7, «Подготовка загрузочных дисков».
Первая дискета будет содержать boot.flp.
Для загрузки в программу установки вставьте эту дискету
в дисковод.
Если компьютер запускается как обычно, и загружает существующую операционную систему, возможны следующие причины:
Диск был вставлен недостаточно рано в процессе загрузки. Оставьте его внутри и перегрузите компьютер.
Установки BIOS, измененные ранее, действуют неправильно. Надо изменять их, пока они не заработают.
BIOS вашего компьютера не поддерживает загрузку с выбранного типа носителя.
FreeBSD начнет загрузку. Если загрузка происходит с CDROM, вы увидите что-то вроде этого (информация о версии удалена):
Если происходит загрузка с дискеты, вы увидите что-то вроде этого (информация о версии удалена):
Следуя инструкциям, уберите дискету с
boot.flp, вставьте дискету с
kern1.flp и нажмите
Enter. Загрузитесь с первой дискеты;
последовательно вставляйте остальные диски при
появлении соответствующего приглашения.
Идет ли загрузка с CDROM, или с USB-носителя, или с дискеты в процессе загрузки появится меню загрузчика FreeBSD:
Подождите десять секунд или нажмите Enter.
Большинство систем Sparc64® настроены на автоматическую загрузку с жесткого диска. Для того, чтобы установить FreeBSD, вам потребуется выполнить загрузку по сети или с компакт-диска, что в свою очередь требует получения доступа к PROM (OpenFirmware).
Чтобы получить доступ к PROM, перезагрузите систему и дождитесь появления сообщений загрузчика. Последние зависят от модели оборудования, но, в общем, выглядят подобно следующим:
Если на данном этапе ваша система продолжает загружаться с диска,
то для доступа к PROM вам потребуется нажать на клавиатуре сочетания
клавиш L1+A
или Stop+A, или
же — послать BREAK на последовательной консоли
(например, набрав ~# в tip(1) или cu(1)).
Приглашение PROM выглядит подобно следующему:
Однопроцессорные системы выдают такое приглашение. | |
Приглашение, используемое многопроцессорными системами: цифра обозначает номер активного процессора. |
На этой стадии необходимо вставить CDROM в привод и набрать
boot cdrom в приглашении PROM.
Последние несколько сотен линий, отображенные на экране, сохраняются и могут быть просмотрены.
Для просмотра буфера нажмите Scroll Lock. Это включит прокрутку экрана. Вы можете использовать клавиши навигации или PageUp и PageDown для просмотра результатов. Нажмите Scroll Lock еще раз для отключения прокрутки.
Сделайте это сейчас для просмотра текста, ушедшего за экран, когда ядро закончило тестирование устройств. Вы увидите текст вроде Рисунок 2.2, «Типичный вывод Device Probe», хотя в деталях он будет отличаться в зависимости от устройств, имеющихся в вашем компьютере.
Внимательно проверьте результаты тестирования устройств и
убедитесь, что FreeBSD обнаружила все устройства, какие нужно.
Если устройство не найдено, его не будет в списке.
Собственное ядро позволяет
добавлять поддержку устройств, отсутствующих в ядре
GENERIC, например звуковых карт.
После проверки аппаратных устройств, появится Рисунок 2.3, «Меню выбора страны». Используйте клавиши навигации для выбора страны, региона или группы. Затем нажмите Enter, произойдет выбор страны.
Если вы выбрали страну , то будет использована стандартная американская раскладка клавиатуры, если же была выбрана другая страна, то отобразится следующее меню. Используя клавиши навигации, выберите необходимую раскладку и нажмите Enter.
После меню выбора страны будет отображено главное меню sysinstall.
Утилита sysinstall это программа установки, предоставляемая проектом FreeBSD. Это консольное приложение, разделенное на несколько меню и экранов, которые вы можете использовать для настройки и управления процессом установки.
Меню sysinstall управляется клавишами навигации, Enter, Tab, пробелом, и другими. Подробное описание клавиш и их функций содержится в информации по использованию sysinstall.
Для просмотра этой информации убедитесь, что выбраны пункт и кнопка , как показано на Рисунок 2.5, «Выбор Usage в главном меню Sysinstall», затем нажмите Enter.
Будут показаны инструкции по использованию меню. После просмотра инструкций, нажмите Enter для возврата в главное меню.
Из главного меню выберите клавишами навигации и нажмите Enter.
Будет отображено меню документации.
Рекомендуется прочитать предоставляемую документацию.
Для просмотра документа выберите его с помощью клавиш навигации и нажмите Enter. После прочтения документа нажмите Enter для возврата в меню документации.
Для возврата в главное меню выберите с помощью клавиш навигации и нажмите Enter.
Для изменения раскладки клавиатуры выберите из меню с помощью клавиш навигации и нажмите Enter. Это потребуется только при использовании нестандартной или не-US клавиатуры.
Различные раскладки клавиатуры могут быть выбраны из меню с использованием клавиш навигации, затем следует нажать Space. Нажатие Space еще раз приведет к отмене выбора. Когда необходимые раскладки будут выбраны, перейдите на с помощью клавиш навигации и нажмите Enter.
На экран выведена только часть списка. Нажав Tab, можно выбрать , вернуться к раскладке по умолчанию и перейти к главному меню.
Выберите пункт и нажмите Enter.
Параметры по умолчанию обычно устраивают большинство пользователей и не нуждаются в изменении. Имя релиза зависит от устанавливаемой версии.
Описание выбранного пункта будет появляться внизу экрана с синей подсветкой. Обратите внимание, что один из параметров — , означает сброс всех параметров к значениям по умолчанию.
Нажатие F1 отобразит справку по различным параметрам.
Нажатием Q можно перейти к главному меню.
Ваша первая задача — выделить дисковое пространство под FreeBSD и разметить его, чтобы sysinstall могла его подготовить. Для этого вам нужно знать, как FreeBSD ищет информацию на диске.
Перед установкой и настройкой операционной системы необходимо знать, как FreeBSD трактует предоставляемую системой BIOS информацию о дисках и их именовении.
В PC, работающем под BIOS-зависимой операционной системой, такой как MS-DOS® или Microsoft® Windows®, BIOS может отходить от обычного порядка нумерации дисков. Это позволяет пользователю загружаться не только с так называемого "primary master" диска. Это особенно удобно для тех пользователей, которые покупают второй идентичный первому жесткий диск и регулярно делают копии первого диска на второй. Затем, если первый диск выйдет из строя, будет заражен вирусом или поврежден из-за сбоя операционной системы, он может быть легко восстановлен путем логической перестановки дисков в BIOS. Это все равно что переключить кабели дисков, но без вскрытия корпуса.
Более дорогостоящие системы со SCSI контроллерами зачастую имеют расширения BIOS, позволяющие сходным путем менять порядок до семи SCSI дисков.
Пользователи, привыкшие пользоваться этими полезными функциями, могут быть удивлены, что во FreeBSD результаты не совпадают с ожидаемыми. FreeBSD не использует BIOS, и не знает о «логическом отображении дисков в BIOS». Это может привести к очень сложным ситуациям, особенно когда диски имеют одинаковую геометрию и содержат точную копию данных друг друга.
При использовании FreeBSD всегда восстанавливайте настройки BIOS к первоначальной нумерации перед установкой системы и оставляйте их в таком виде. Если вам понадобится переключить диски, сделайте это, но путем физического переконфигурирования, вскрыв корпус, переключив перемычки и кабели.
Внесенные вами изменения не будут записываться на диск сразу. Если вы думаете, что сделали ошибку, и хотите начать сначала, можете использовать меню для выхода из sysinstall и попробовать еще раз или нажатием U вызвать опцию (отмена). Если вы запутались и не можете выйти, просто выключите компьютер.
После начала стандартной установки в sysinstall будет показано это сообщение:
Нажмите Enter как предлагается. Будет
показан список всех жестких дисков, обнаруженных ядром во время
тестирования устройств.
Рисунок 2.13, «Выберите диск для FDisk» показывает пример системы
с двумя 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,
и нажать .
Запустившийся FDisk будет выглядеть
примерно как Рисунок 2.14, «Типичные разделы fdisk перед
редактированием».
Экран FDisk разбит на три раздела.
Первый раздел, занимающая первые две линии экрана, показывает подробную информацию о выбранном в данный момент диске, включая его имя во FreeBSD, геометрию и общий размер диска.
Второй раздел показывает имеющиеся в данный момент на диске слайсы,
где они начинаются и заканчиваются, их размер, имя, которое им дала
FreeBSD, описание и подтип. На этом примере показаны два маленьких
неиспользованных слайса, которые являются артефактами схемы разметки
диска на PC. Также показан один большой FAT слайс,
который почти всегда
является диском C: в MS-DOS® / Windows®, и
дополнительный слайс, который может содержать диски с другими буквами
для MS-DOS® / Windows®.
Третий раздел показывает команды, доступные в FDisk.
Ваши действия теперь будут зависеть от того, как вы хотите разбить диск на слайсы.
Если вы хотите использовать для FreeBSD весь диск (это приведет
к удалению всех других данных на этом диске когда вы подтвердите
sysinstall продолжение процесса установки),
нажмите A, что соответствует опции
.
Существующие слайсы будут удалены, и заменены на небольшую область,
помеченную как неиспользуемая (unused)
(это опять же артефакт разметки диска ПК), и один большой слайс для
FreeBSD. Когда вы сделаете это, нужно выбрать вновь созданный
слайс FreeBSD используя клавиши навигации, а затем нажать
S, чтобы сделать слайс загрузочным. Экран будет
похож на Рисунок 2.15, «Разбиение в Fdisk с использованием всего диска». Обратите внимание, что
A в колонке Flags означает, что
слайс активен и с него будет происходить
загрузка.
Если вы будете удалять существующий слайс для освобождения места под FreeBSD, выберите слайс, используя клавиши навигации, и нажмите D. Затем можете нажать C, и получить приглашение на ввод размера слайса, который вы хотите создать. Введите соответствующее значение и нажмите Enter. Значение по умолчанию в этом поле означает наибольший размер слайса, который может быть выбран; это может быть наибольший непрерывный блок неразмеченного пространства или размер всего жесткого диска.
Если вы уже освободили место для FreeBSD, то можете нажать C для создания нового слайса. Будет также предложено ввести размер слайса, который вы хотите создать.
Когда закончите, нажмите Q. Изменения будут сохранены в sysinstall, но еще не записаны на диск.
Теперь вам предлагается установить менеджер загрузки. Как правило, нужно выбрать установку менеджера загрузки если:
У вас больше чем один диск и вы устанавливаете FreeBSD не на первый диск.
Вы устанавливаете FreeBSD вместе с другой операционной на один и тот же диск, и хотите выбирать при загрузке FreeBSD или другую операционную систему.
Если FreeBSD единственная операционная система, установленная на этом компьютере, и находится на первом жестком диске, подойдет менеджер загрузки . Выберите если вы используете менеджер загрузки сторонних разработчиков, способный загрузить FreeBSD.
Сделайте выбор и нажмите Enter.
Экран подсказки, вызываемый по нажатию F1, описывает проблемы, которые могут быть встречены при попытке совместного использования диска операционными системами.
Если дисков больше чем один, вернитесь к экрану выбора дисков (Select Drives) после выбора менеджера загрузки. Если вы собираетесь устанавливать FreeBSD более чем на один диск, можете выбрать другой диск и повторить процесс разбиения на слайсы с использованием FDisk.
Если вы устанавливаете FreeBSD не на первый жесткий диск, потребуется установить менеджер загрузки FreeBSD на оба диска.
Клавиша Tab переключает между последним выбранным диском, , и .
Нажмите Tab один раз для выбора , затем нажмите Enter для продолжения установки.
Теперь вы должны создать несколько разделов внутри каждого только
что созданного слайса. Запомните, что у каждого раздела есть буква с
a до h, а
разделы b, c, и
d имеют соглашения, которых вы должны
придерживаться.
Некоторые приложения могут выигрывать от определенных схем разделов, особенно если у вас разделы на более чем одном диске. Тем не менее, для вашей первой установки FreeBSD не нужно слишком углубляться в принципы разбиения диска. Более важно установить FreeBSD и начать ее использовать. Вы всегда можете переустановить FreeBSD для изменения схемы разделов, когда поближе познакомитесь с операционной системой.
Эта схема показывает четыре раздела — один для подкачки и три для файловых систем.
| Раздел | Файловая система | Размер | Описание |
|---|---|---|---|
a | / | 1 GB | Корневая файловая система. Любая другая файловая
система будет смонтирована на эту. 1 GB это подходящий
размер для этой файловой системы. Вы не будете хранить на
ней слишком много данных, а обычная установка FreeBSD
разместит здесь около 128 MB данных. Оставшееся
пространство используется для временных файлов, а также
оставляет возможность расширения для будущих версий FreeBSD,
которым может понадобится больше места в
/. |
b | N/A | 2-3 x RAM | Раздел подкачки находится на разделе
Если у вас больше одного диска, можно расположить подкачку на каждом диске. FreeBSD будет использовать каждый диск, что серьезно увеличит скорость подкачки. В этом случае, определите общий размер подкачки, который вам нужен (например, 128 MB), и поделите его на число имеющихся дисков (например, два) для определения размера разделов подкачки, которые нужно разместить на каждом вашем диске, в этом примере 64 MB на диск. |
e | /var | 512 MB | Каталог /var содержит файлы, которые
постоянно меняются; логи и другие административные файлы.
Многие из этих файлов интенсивно читаются и записываются
в процессе ежедневной работы FreeBSD. Размещение их
на отдельной файловой системе позволяет FreeBSD
оптимизировать доступ к этим файлам без затрагивания
других каталогов, не имеющих такой же модели доступа. |
f | /usr | Остальная часть диска (по крайней мере — 8 GB) | Все другие файлы как правило хранятся в каталоге
/usr и его подкаталогах. |
Значения, приведённые выше, являются примерными и уместны
к использованию лишь опытными пользователями. Остальным —
рекомендуется применять опцию автоматического разбиения, называемую
Auto Defaults в редакторе разделов FreeBSD.
Если вы устанавливаете FreeBSD более чем на один диск, вы должны также создать разделы в других слайсах, которые настроили. Простейший путь сделать это — создать два раздела на каждом диске, один для подкачки, а другой для файловой системы.
| Раздел | Файловая система | Размер | Описание |
|---|---|---|---|
b | N/A | Смотрите описание | Как уже обсуждалось, вы можете распространить подкачку
на каждый диск. Даже если раздел a
свободен, соглашение говорит о том, что подкачка находится
на разделе b. |
e | /diskn | Остальная часть диска | Остальная часть диска занята одним большим разделом.
Он легко может быть помещен на раздел a
вместо раздела e. Однако, соглашение
говорит, что раздел a зарезервирован на
слайсе для корневой (/) файловой системы.
вы можете не следовать этому соглашению, но программа
sysinstall будет ему следовать,
поэтому приняв его, вы сделаете установку несколько проще.
Вы можете монтировать эти файловые системы к любой точке; в
этом примере предлагается смонтировать их как каталоги
/disk, где
n это номер, который уникален для
каждого диска. Но вы можете использовать другую схему, если
захотите. |
Теперь, выбрав разметку разделов, можете приступить к их созданию в sysinstall. Вы увидите это сообщение:
Нажмите Enter для запуска редактора разделов FreeBSD, называемого Disklabel.
Рисунок 2.18, «Редактор Sysinstall Disklabel» показывает экран только что запущенного Disklabel. Экран поделен на три раздела.
Первые несколько линий показывают имя диска, с которым вы сейчас
работаете и слайс, содержащий раздел, который вы создаете (здесь
Disklabel называет это
именем раздела (Partition name) вместо имени
слайса). Этот экран также показывает объем свободного пространства на
слайсе, т.е. пространство, выделенное под слайс, но еще не отданное
под раздел.
В центре экрана показаны уже созданные разделы, имена файловых систем, содержащихся в разделах, их размер и некоторые опции, применяемые при создания файловых систем.
Нижняя треть экрана показывает управляющие клавиши, работающие в Disklabel.
Disklabel может автоматически создать разделы и присвоить им размеры по умолчанию. Значения размеров по умолчанию вычисляются с помощью внутреннего алгоритма, исходя из емкости диска. Попробуйте это, нажав A. Вы увидите экран как на Рисунок 2.19, «Редактор Sysinstall Disklabel с установками по умолчанию». В зависимости от размера диска, значения по умолчанию могут подходить или не подходить вам. Это не имеет значения, если вы не принимаете их.
По умолчанию под каталог
/tmp выделяется собственный раздел вместо
использования части раздела /. Это
помогает избежать заполнения раздела /
временными файлами.
Если вы решили не использовать разделы по умолчанию и заменить их на свои, используйте клавиши навигации для выбора первого раздела, затем нажмите D для его удаления. Повторите это для удаления всех предложенных разделов.
Для создания первого раздела (a, монтируемого
как / — root), убедитесь, что выбран
соответствующий слайс
вверху экрана и нажмите C. Появится диалог,
предлагающий выбрать размер нового раздела (как показано на
Рисунок 2.20, «Свободное место для корневого раздела»). Вы можете ввести количество
блоков диска, или количество мегабайт с
M после номера, или гигабайт с
G, или цилиндров с C.
Размер по умолчанию задан для создания корневого раздела на
весь слайс. Если вы используете размеры разделов, описанные ранее в примере,
удалите это значение используя Backspace,
а затем введите 512M, как показано на
Рисунок 2.21, «Редактирование размера корневого раздела». Затем нажмите
.
После указания размера раздела вам будет задан вопрос, должен ли этот раздел содержать файловую систему или раздел подкачки. Диалог показан на Рисунок 2.22, «Выбор типа корневого раздела». Первый раздел будет содержать файловую систему, поэтому проверьте, что выбрана и нажмите Enter.
Наконец, поскольку вы создаете файловую систему, нужно сказать
Disklabel где файловая система будет
смонтирована. Диалог показан на
Рисунок 2.23, «Выбор точки монтирования корневой файловой системы». Точка монтирования
корневой файловой системы /, поэтому введите
/, и нажмите Enter.
На экране будет показан вновь созданный раздел. Вам нужно
повторить эту процедуру для других разделов. При создании
раздела подкачки вопроса про точку монтирования не будет,
поскольку раздел подкачки никогда не монтируется. Когда будете
создавать последний раздел, /usr, можете оставить
предложенный размер как есть, чтобы использовать весь остаток
слайса.
Последний экран FreeBSD редактора DiskLabel будет похож на Рисунок 2.24, «Редактор Sysinstall Disklabel», хотя ваш выбор значений может быть другим. Нажмите Q, чтобы выйти.
Выбор дистрибутивного набора зависит в основном от направления будущего использования системы и от доступного дискового пространства. Предустановленные опции варьируются от наименьшей возможной конфигурации до полной установки. Для новичков в UNIX® и/или FreeBSD лучшим выбором будет одна из этих предустановленных опций. Настройка дистрибутивного набора как правило нужна более опытным пользователям.
Нажмите F1 для получения информации о дистрибутивных наборах и их содержимом. После просмотра помощи нажмите Enter для возврата к меню выбора дистрибутивного набора.
Если желательно наличие графического интерфейса пользователя, то задачи настройки X сервера и выбора десктопа по умолчанию должны быть выполнены после установки FreeBSD. Более подробная информация по установке и настройке X сервера находится в Глава 6, X Window System.
Если планируется пересборка ядра, выберите опцию, включающую исходные тексты. Информация о том, зачем пересобирать ядро и как это сделать, находится на Глава 9, Настройка ядра FreeBSD.
Ясно, что наиболее универсальная система включает все. Если места на диске достаточно, выберите , как показано на Рисунок 2.25, «Выбор дистрибутивных наборов» и нажмите Enter. Если есть сомнения относительно того, хватит ли диска, используйте наиболее подходящую опцию. Не беспокойтесь о том, какой выбор будет наилучшим, другие части дистрибутива могут быть добавлены после установки.
После выбора подходящего дистрибутива можно будет выбрать установку Коллекции Портов FreeBSD. Коллекция Портов — лёгкий и удобный путь установки программ. Коллекция Портов не содержит исходных кодов программ. Это набор файлов, который автоматизирует загрузку, компилирование и установку пакетов программного обеспечения сторонних разработчиков. Глава 5, Установка приложений: порты и пакеты показывает, как использовать Коллекцию Портов.
Программа установки не проверяет, есть ли достаточно места. Выберите эту опцию только в том случае, если его достаточно. В FreeBSD 9.1, Коллекция Портов занимает около 500 MB. В более современных релизах это значение всегда больше.
Выберите для установки Коллекции Портов, или , чтобы пропустить установку. Нажмите Enter, чтобы продолжить. Меню выбора дистрибутивных наборов появится опять.
Если вы согласны с выбранными опциями, переместитесь на , убедитесь, что выбран и нажмите Enter, чтобы продолжить.
При установке с CDROM или DVD используйте клавиши навигации, для перехода к пункту . Убедитесь, что выбран , и нажмите Enter для запуска установки.
При других методах установки выберите соответствующую опцию и следуйте инструкциям.
Нажмите F1 для просмотра справки по источникам установки. Нажмите Enter для возврата к меню выбора источника установки.
Есть три режима установки через FTP, которые вы можете выбрать: активный FTP, пассивный FTP, или через HTTP прокси.
С этой опцией все закачки по FTP будут выполнены в «активном» режиме. Этот режим не позволяет работать через файрволл, но зачастую позволяет работать со старыми серверами FTP, не поддерживающими пассивный режим. Если соединение прерывается в пассивном режиме (по умолчанию), попробуйте активный!
Эта опция говорит sysinstall использовать «пассивный» режим для работы с FTP. Он позволяет работать через файрволл, не разрешающий входящие соединения на случайных TCP портах.
Эта опция говорит sysinstall использовать HTTP протокол (как Web-браузер) для работы с FTP через прокси. Прокси будет транслировать все запросы и посылать их на FTP сервер. Это позволяет проходить через файрволл, на котором FTP запрещен, но есть HTTP прокси. В этом случае потребуется указать прокси и FTP сервер.
Для работы с FTP через прокси, необходимо поместить имя
сервера как часть имени пользователя после знака
«@». Прокси сервер «обманет»
настоящий сервер. Например, предположим что вы хотите провести
установку с ftp.FreeBSD.org, используя FTP
через прокси foo.example.com,
прослушивающем порт 1234.
В этом случае, войдите в меню параметров, установите имя
пользователя 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 как требуется для
установки).
Теперь можно начинать установку. Это последний шанс отменить установку, и таким образом избежать изменений на жестком диске.
Выберите и нажмите Enter, чтобы начать.
Время установки сильно зависит от выбранного дистрибутивного набора, источника установки и скорости компьютера. Появится несколько сообщений о статусе процесса установки.
Установка будет завершена, когда отобразится следующее сообщение:
Нажмите Enter для начала послеустановочной настройки.
Выбор и нажатие Enter прервет процесс установки, изменения в систему внесены не будут. Появится следующее сообщение:
Это сообщение появилось, поскольку ничего не было установлено. Нажатие Enter вернет вас в главное меню установки, чтобы выйти из нее.
После успешной установки необходимо настроить множество параметров.
Некоторые параметры могут быть заданы из меню параметров после установки,
перед загрузкой установленной FreeBSD, или после нее с использованием
sysinstall, где надо выбрать пункт
.
Если вы настраивали PPP для установки через FTP, этот экран не появится, и настройку можно будет произвести позже как описано выше.
Чтобы лучше узнать о локальных сетях и настройке FreeBSD в качестве шлюза/маршрутизатора, обратитесь к главе Сложные вопросы работы в сети.
Для настройки сетевого устройства выберите и нажмите Enter. Или нажмите , чтобы продолжить.
Выберите интерфейс для настройки с помощью клавиш навигации и нажмите Enter.
Для частной локальной сети обычный протокол интернет (IPv4) вполне достаточен, поэтому выбрана кнопка и нажат Enter.
Если вы хотите подсоединиться к существующей сети IPv6 через сервер RA, выберите и нажмите Enter. Поиск RA серверов займет несколько секунд.
Если DHCP (Dynamic Host Configuration Protocol) не нужен, выберите с помощью клавиш навигации и нажмите Enter.
Выбор запустит dhclient, и, если все пройдет нормально, заполнит информацию о конфигурации сети автоматически. Обратитесь к Раздел 26.5, «Автоматическая настройка сети (DHCP)» за более подробными сведениями.
Следующий экран конфигурации сети показывает настройку устройства Ethernet системы, которая будет работать шлюзом для локальной сети.
Используйте Tab для выбора полей и заполнения их соответствующими данными:
Полное имя хоста, в этом примере
k6-2.example.com.
Имя домена, в котором находится ваш компьютер,
в этом примере example.com.
IP хоста, пересылающего пакеты наружу локальной сети. Вам потребуется заполнить его, если это компьютер, подключенный к сети. Оставьте это поле пустым, если компьютер является шлюзом в интернет для сети. Шлюз IPv4 известен также как шлюз по умолчанию или маршрут по умолчанию.
IP адрес местного сервера DNS. В этой локальной сети
нет DNS сервера, поэтому использован IP адрес DNS сервера
провайдера (208.163.10.2).
IP адрес, использованный для этого интерфейса,
192.168.0.1
Адрес блока, использованного для этой локальной сети,
это
192.168.0.0 -
192.168.0.255.
с маской сети
255.255.255.0.
Любые специфичные для интерфейса опции к
ifconfig, которые вы хотите добавить.
В данном случае ничего.
Используйте Tab для выбора после окончания настройки и нажмите Enter.
Выбор и нажатие Enter введет компьютер в сеть. Тем не менее, компьютеру все еще требуется перезагрузка.
Если компьютер будет шлюзом для локальной сети, пересылая пакеты между другими компьютерами, выберите и нажмите Enter. Если это обычный компьютер, выберите и нажмите Enter для продолжения.
Если выбрана , различные сервисы, такие как telnetd не будут запущены. Это означает, что удаленные пользователи не смогут зайти по telnet на этот компьютер. Локальные пользователи все же смогут заходит на удаленные компьютеры по telnet.
Эти сервисы могут быть включены после установки путем
редактирования /etc/inetd.conf с помощью вашего
любимого текстового редактора. Обращайтесь к
Раздел 26.2.1, «Обзор»
за более подробной информацией.
Выберите если хотите настроить эти сервисы во время установки. Появится дополнительный запрос подтверждения:
Нажмите , чтобы продолжить.
Выбор позволит добавить сервисы
путем удаления # перед началом строки.
После добавления нужных сервисов нажатие Esc отобразит меню, позволяющее выйти с сохранением изменений.
Выбор активирует запуск sshd(8) — демона для приложения OpenSSH, что в свою очередь позволит создавать безопасные удалённые соединения c вашей машиной. За более детальной информацией о OpenSSH обратитесь к Раздел 15.11, «OpenSSH».
Выбор кнопки по умолчанию и нажатие Enter все же позволит пользователям, имеющим учетные записи с паролями, использовать FTP для доступа к компьютеру.
Кто угодно сможет получить доступ к компьютеру, если вы разрешите анонимные соединения FTP. Предварительно должны быть рассмотрены возможные проблемы с безопасностью. Более подробная информация о безопасности находится в Глава 15, Безопасность.
Чтобы разрешить анонимный FTP, выберите , используя клавиши навигации, и нажмите Enter. От вас потребуется дополнительное подтверждение:
В этом сообщении сказано: если вы хотите разрешить анонимный
FTP доступ, то вам также придется активировать (см. Раздел 2.10.3, «Настройка сервисов интернет (Configure Internet Services)») сам сервис FTP в
/etc/inetd.conf. Выберите ,
нажмите Enter, далее отобразится следующий
экран:
Используя Tab для выбора полей ввода, заполните соответствующую информацию:
Идентификатор, который вы намереваетесь присвоить анонимному пользователю FTP. Файлам, загруженным на FTP, будет присвоен этот идентификатор.
В эту группу будет входить анонимный пользователь FTP.
Строка с описанием анонимного пользователя; она будет
внесена в /etc/passwd.
Часть иерархии файловой системы, в которой будут храниться файлы, доступные анонимному пользователю FTP.
Подкаталог, доступный на запись анонимному пользователю FTP.
Корневой каталог FTP по умолчанию будет размещен в
/var. Если в нем предположительно не хватает
места для для нужд FTP, можно использовать каталог
/usr, выбрав корневой каталог FTP
(FTP root directory) /usr/ftp.
Когда будут выбраны подходящие значения, нажмите Enter, чтобы продолжить.
Если вы выберете и нажмете Enter, запустится редактор, позволяющий отредактировать сообщение FTP.
Этот текстовый редактор называется ee.
Используйте инструкции, чтобы изменить сообщение, или измените
сообщение позже, используя выбранный вами редактор. Обратите
внимание, что имя/расположение файла показаны внизу окна
редактора.
Нажмите Esc и появится меню с пунктом по умолчанию (выйти из редактора). Нажмите Enter, чтобы выйти и продолжить. Нажмите Enter еще раз, чтобы сохранить изменения, если они были сделаны.
Сетевая файловая система (Network File System, NFS) позволяет совместно использовать файлы в сети. Компьютер может быть настроен как сервер, клиент, или как то и другое. Обратитесь к Раздел 26.3, «Network File System (NFS)» за более подробной информацией.
Если вам не нужен NFS сервер, выберите и нажмите Enter.
Если выбран пункт , появится
сообщение, говорящее о том, что должен быть создан файл
exports.
Нажмите Enter, чтобы продолжить. Запустится
текстовый редактор, позволяющий создать и отредактировать файл
exports.
Используйте инструкции для добавления экспортируемых файловых систем сейчас, или позднее с помощью выбранного вами текстового редактора. Обратите внимание, что имя/расположение файла показаны внизу окна редактора.
Нажмите Esc и появится меню с пунктом по умолчанию . Нажмите Enter, чтобы выйти и продолжить.
Есть несколько параметров для настройки системной консоли.
Для просмотра и настройки параметров выберите и нажмите Enter.
Часто используемая опция это хранитель экрана (screen saver). Используйте клавиши навигации для выбора и нажмите Enter.
Выберите подходящий хранитель экрана с помощью клавиш навигации и нажмите Enter. Опять появится меню настройки системной консоли.
Время по умолчанию 300 секунд. Для изменения временного интервала выберите еще раз. В меню настроек хранителя экрана выберите с помощью клавиш навигации и нажмите Enter. Появится меню:
Значение может быть изменено, затем выберите и нажмите Enter для возврата в меню настройки системной консоли.
Выбор и нажатие Enter вернет вас к послеустановочной настройке.
Установка часового пояса на компьютере позволит ему автоматически вносить поправки к местному времени и правильно выполнять другие, связанные с часовым поясом функции.
Пример приведен для компьютера, расположенного в восточном часовом поясе Соединенных Штатов. Ваш выбор будет зависеть от вашего географического положения.
Выберите и нажмите Enter для установки часового пояса.
Выберите или в зависимости от настроек часов компьютера и нажмите Enter.
Соответствующий регион выбран с помощью клавиш навигации и нажат Enter.
Выберите соответствующую страну с помощью клавиш навигации и нажмите Enter.
Выбран соответствующий часовой пояс с помощью клавиш навигации и нажат Enter.
Правильно будет согласиться с назначением аббревиатуры временного пояса. Если она подходит, нажмите Enter, чтобы продолжить послеустановочную настройку.
Эти настройки позволят вырезать и вставлять текст в консоли и пользовательских программах с помощью трехкнопочной мыши. Если используется двухкнопочная мышь, обратитесь к странице справочника moused(8) после установки, чтобы узнать подробности об эмуляции трехкнопочной мыши. Этот пример приведен для настройки не-USB мыши (например мыши для порта PS/2 или COM):
Выберите для PS/2 мыши, последовательной мыши или мыши типа bus mouse. Выберите для USB мыши и нажмите Enter.
Используйте клавиши навигации для выбора и нажмите Enter.
В этом примере использована PS/2 мышь, поэтому подойдет протокол по умолчанию . Чтобы изменить протокол, используйте клавиши навигации для выбора другого пункта. Убедитесь, что выбран , и нажмите Enter для выхода из меню.
Используйте клавиши навигации для выбора и нажмите Enter.
К этой системе подключена мышь PS/2, поэтому подходит значение по умолчанию . Чтобы изменить порт, используйте клавиши навигации и нажмите Enter.
Наконец, используйте клавиши навигации для выбора , затем нажмите Enter для запуска и тестирования даемона мыши.
Подвигайте курсор по экрану и убедитесь, что он движется правильно. Если это так, выберите и нажмите Enter. Если нет, мышь не была правильно настроена — выберите и попробуйте использовать другие опции настройки.
Выберите с помощью клавиш навигации и нажмите Enter для возврата к послеустановочной настройке.
Пакеты — это прекомпилированные бинарные файлы и это удобный способ установки программ.
В качестве примера показана установка одного пакета.
Если потребуется, можно установить дополнительные пакеты. После
установки для добавления пакетов может быть использована команда
sysinstall.
Выбор и нажатие Enter приведет к появлению экрана выбора пакетов:
Только пакеты с текущего носителя доступны для установки в любое время.
Все доступные пакеты будут показаны если выбрать категорию , можно также выбирать отдельные категории. Перейдите к выбранной категории с помощью клавиш навигации и нажмите Enter.
Появится меню, содержащее доступные в данной категории пакеты.
Выбрана оболочка bash. Выберите все необходимые пакеты, перемещаясь по меню и нажимая клавишу пробела на выбираемых пакетах. Краткое описание пакета будет появляться в нижней левой части экрана.
Нажатие Tab переключает между последним выбранным пакетом, , и .
После того, как будет закончена отметка пакетов для установки, нажмите Tab один раз для переключения на и нажмите Enter для переключения на меню выбора пакетов.
Нажимая клавиши навигации влево или вправо, можно переключаться между и . Этот метод может быть применен также для выбора и возврата к меню выбора пакетов нажатием Enter.
Используйте Tab и клавиши навигации для выбора и нажмите Enter. вам потребуется подтвердить установку пакетов:
Выбор и нажатие Enter запустит установку пакетов. Во время установки будут выдаваться сообщения. Обратите внимание на возможные сообщения об ошибках.
После установки пакетов настройка продолжится. Если вы не выбрали ни один из пакетов и хотите вернуться к завершению настройки, выберите в любом случае.
В процессе установки нужно добавить хотя бы одного пользователя,
чтобы использовать систему без входа под
root. Корневой каталог обычно мал и запуск
приложений под root быстро заполнит его.
Ниже показано предупреждение:
Выберите и нажмите Enter, чтобы продолжить добавление пользователя.
Выберите с помощью клавиш навигации и нажмите Enter.
При выборе полей с помощью Tab в нижней части экрана будет появляться описание, помогающее ввести необходимую информацию:
Имя нового пользователя (обязательно).
Числовой ID (идентификатор) для этого пользователя (оставьте пустым для автоматического выбора).
Имя группы этого пользователя (оставьте пустым для автоматического выбора).
Пароль этого пользователя (заполняйте это поле с осторожностью!).
Полное имя пользователя (комментарий).
Группы, к которым принадлежит пользователь (т.е. имеет права доступа).
Домашний каталог пользователя (оставьте пустым для выбора по умолчанию).
Оболочка пользователя, запускаемая при входе в систему
(оставьте пустым для оболочки по умолчанию,
например /bin/sh).
Оболочка была изменена с /bin/sh на
/usr/local/bin/bash для использования
bash, которая была перед этим установлена
из пакета. Не пытайтесь использовать несуществующую оболочку, вы
не сможете войти в систему. Наиболее часто используемая в мире
BSD оболочка это C shell, которую можно обозначить как
/bin/tcsh.
Пользователь был добавлен в группу wheel,
чтобы иметь возможность стать суперпользователем с привилегиями
root.
Когда все будет введено, нажмите и меню управления пользователями и группами (User and Group Management) появится снова:
Сейчас также можно добавить группы, если известно, для чего
они потребуются. Иначе в это меню можно войти,
запустив sysinstall
после окончания установки.
После завершения добавления пользователей, выберите с помощью клавиш навигации и нажмите Enter для продолжения установки.
Нажмите Enter для установки пароля
root.
Необходимо два раза правильно ввести пароль. Излишне упоминать, что должна быть возможность восстановления пароля, если вы его забудете. Обратите внимание, что ни набираемый пароль, ни звездочки на экран не выдаются.
Установка продолжится после успешного ввода пароля.
Если нужно настроить дополнительные сетевые устройства, или
произвести другие настройки, вы можете сделать это сейчас или
после установки с помощью sysinstall.
Выберите с помощью клавиш навигации и нажмите Enter для возврата к главному меню установки.
Выберите с помощью клавиш навигации и нажмите Enter. Будет задан вопрос о подтверждении выхода из установки:
Выберите . Если вы загружались с привода CDROM, следующее сообщение напомнит вам о необходимости извлечь диск:
CDROM заблокирован, пока компьютер не начнет перегружаться. CDROM будет разблокирован и диск нужно будет извлечь из привода (быстро). Выберите .
Система начнет перезагрузку, смотрите за сообщениями об ошибках, которые могут появиться. За подробностями по процессу загрузки обратитесь к Раздел 2.10.15, «Загрузочный процесс FreeBSD (FreeBSD Bootup)».
Настройка сетевых сервисов может быть пугающей задачей для новых пользователей, если у них нет опыта в этой области. Работа в сети, включая интернет, критична для многих современных операционных систем, включая FreeBSD; очень важно иметь некоторые знания о дополнительных сетевых возможностях FreeBSD. Настраивая их во время установки, пользователь получает некоторую информацию о различных доступных сервисах.
Сетевые сервисы — это программы, принимающие данные из
любой точки сети. Чтобы убедиться, что эти программы не делают
ничего «вредного», требуется особое внимание.
К сожалению, программисты не совершенны и время от времени
допускают ошибки в сетевых сервисах; эти ошибки позволяют
атакующим взломать их и использовать в собственных целях.
Важно, чтобы вы включали сетевые сервисы только в том случае,
если знаете, какие сервисы нужны. В случае сомнений лучше не
включать сервис, пока он не понадобится. Вы всегда можете включить
его позже, запустив sysinstall еще
раз, или используя возможности, предоставляемые файлом
/etc/rc.conf.
Выбор опции отобразит меню, похожее на это:
Первая опция, (интерфейсы), была ранее описана в Раздел 2.10.1, «Настройка сетевых устройств (Network Device Configuration)», эту опцию можно проигнорировать.
Выбор опции добавит поддержку BSD утилиты автоматического монтирования. Она обычно используется вместе с протоколом NFS (смотрите ниже) для автоматического монтирования удаленных файловых систем. Здесь не требуется специальной конфигурации.
Следующая линия это опция флаги (flags). Когда эта опция выбрана, появится меню для ввода специфичных флагов AMD. Меню уже содержит набор различных опций:
Опция -a указывает месторасположение
монтирования систем по умолчанию, в этом примере
/.amd_mnt. Опция -l
указывает log файл по умолчанию;
тем не менее, если для ведения логов используется
syslogd, все логи отправляются даемону
системных логов. Каталог /host
используется для монтирования экспортированных файловых
систем с удаленного хоста, а
/net для монтирования
экспортированных файловых систем с IP адреса.
Файл /etc/amd.map определяет
опции по умолчанию для монтируемых AMD
каталогов.
Опция позволяет получить анонимный доступ к FTP. Выберите ее, чтобы сделать этот компьютер анонимным FTP сервером. Помните о риске безопасности, создаваемом этой опцией. Будет отображено еще одно меню для разъяснения риска безопасности и для более тонкой настройки.
Опция сделает компьютер шлюзом, как было объяснено ранее. Этот пункт может быть использован для отмены опции , если она была ошибочно установлена в процессе установки.
Опцию можно использовать для настройки или полного отключения даемона inetd(8), как было описано выше.
Опция используется для настройки системного MTA по умолчанию (Mail Transfer Agent, агент передачи почты). Выбор этой опции приведет к появлению следующего меню:
Здесь предоставляется выбор MTA для установки по умолчанию. MTA это почтовый сервер, доставляющий почту пользователям системы или интернет.
Выбор приведет к установке популярного сервера sendmail, MTA по умолчанию для FreeBSD. Опция настроит sendmail в качестве MTA по умолчанию, но отключит возможность получения входящей почты из интернет. Другие MTA, представленные здесь, и , действуют подобно . Оба они доставляют почту; тем не менее, некоторые пользователи предпочитают эти альтернативы sendmail.
После выбора MTA или пропуска этого пункта появится меню настройки сети со следующей опцией, клиент .
Клиент позволяет настроить систему для соединения с сервером через NFS. Сервер NFS дает другим машинам доступ к файловой системе через протокол NFS. Если это отдельно стоящий компьютер, опцию можно не выбирать. NFS может потребовать дополнительной настройки позже; обращайтесь к Раздел 26.3, «Network File System (NFS)» за более подробной информацией о настройке сервера и клиента.
Ниже находится опция сервер, позволяющая вам настроить систему для работы в качестве NFS сервера. Она добавляет требуемую информацию для запуска процедуры вызова удаленных сервисов RPC (remote procedure call services). RPC используется для организации соединения между хостами и программами.
Следующая строка это , которая отвечает за синхронизацию времени. Когда эта опция выбрана, появится приблизительно такое меню:
Выберите из этого меню ближайший к вашему местонахождению сервер. Выбор ближайшего сервера сделает синхронизацию времени более точной, поскольку у более дальнего сервера может быть более длинная задержка соединения.
Следующая опция это выбор 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.statd
для отслеживания хостов, запрашивающих блокировки и частоты
этих запросов. Хотя две последние опции прекрасно подходят
для отладки, они не требуются серверам и клиентам
NFS для корректной работы.
Ниже в списке опций находится ,
даемон маршрутизации. Утилита routed(8) управляет
сетевыми таблицами маршрутизации, обнаруживает широковещательные
маршрутизаторы, и предоставляет копию таблиц маршрутизации
любому физически подключенному к сети хосту по запросу.
Это обычно используется компьютерами, являющимися шлюзом
для локальной сети. Когда эта опция выбрана, появится меню
выбора местоположения утилиты по умолчанию. Значение
по умолчанию уже выбрано, чтобы подтвердить его нажмите
Enter. Появится следующее меню, запрашивающее
флаги для routed. По умолчанию это
флаг -q, он должен уже быть на экране.
На следующей линии находится опция ,
выбор которой приведет к запуску даемона rwhod(8) при
старте системы. Утилита rwhod периодически
рассылает широковещательные системные сообщения по сети
или собирает их в режиме «потребителя».
Дополнительную информацию можно найти на страницах справочника
ruptime(1) и rwho(1).
Следующая перед последней опцией в списке это даемон sshd(8). Это сервер безопасной оболочки (secure shell) из OpenSSH и он настоятельно рекомендуется для использования вместо стандартных серверов telnet и FTP. Сервер sshd используется для создания безопасных соединений от одного хоста к другому с использованием шифрования.
И наконец, опция Extensions. Она включает расширения TCP, определенные в RFC 1323 и RFC 1644. Хотя для многих хостов они могут повысить скорость соединения, с другими соединение может быть оборвано. Для серверов эти расширения не рекомендуются, но клиентским компьютерам могут дать некоторые преимущества.
Теперь, после настройки сетевых сервисов, вы можете прокрутить меню к верхнему пункту, , и перейти к следующему шагу, или же просто покинуть sysinstall, дважды нажав , а после — .
Если все пройдет нормально, вы увидите прокручивающиеся за экран сообщения, затем приглашение ко входу в систему. Вы может просмотреть сообщения, нажав Scroll-Lock и используя PgUp и PgDn. Нажатие Scroll-Lock еще раз вернет вас к приглашению.
Все сообщение может не отобразиться (ограничение буфера),
но может быть просмотрено путем ввода команды
dmesg в командной строке.
Войдите, используя имя пользователя/пароль, добавленные во
время установки (rpratt в этом примере).
Избегайте входа под root, если это не
требуется.
Типичные сообщения при загрузке (информация о версии удалена):
Генерирование ключей RSA и DSA может занять некоторое время на медленных компьютерах. Это может случиться только при первой загрузке свежеустановленной системы. Последующие загрузки будут быстрее.
Если X сервер был настроен и был выбран десктоп по умолчанию,
он может быть запущен из командной строки командой
startx.
Важно правильно завершать работу операционной системы.
Нельзя просто выключать питание. Сначала нужно стать
суперпользователем, введя в командной строке su
и пароль root. Это сработает только если
пользователь является членом группы wheel.
Или зайдите под root и используйте команду
shutdown -h now.
Можно безопасно выключать питание после того, как будет выполнена команда shutdown и появится сообщение «Please press any key to reboot». Если вместо выключения питания будет нажата любая клавиша, система перезагрузится.
Вы также можете использовать комбинацию клавиш Ctrl+Alt+Del для перезагрузки системы, хотя это не рекомендуется в обычной ситуации.
Следующий раздел описывает основные проблемы при установке, о которых обычно сообщают пользователи. Здесь также несколько вопросов и ответов от тех, кто хочет настроить двойную загрузку FreeBSD и MS-DOS® или Windows®.
По причине различных ограничений архитектуры PC, невозможно протестировать устройства достоверно на 100%, тем не менее, есть несколько вещей, которые вы можете сделать, если тестирование завершится неудачно.
Сверьтесь с Информацией об оборудовании для вашей версии FreeBSD, чтобы убедиться, что ваше оборудование поддерживается.
Если оборудование поддерживается, но все же происходят
зависания или вы встретились с другими проблемами, потребуется
собрать собственное ядро.
Это позволит вам добавить поддержку аппаратных устройств,
отсутствующих в ядре GENERIC. Ядро на
загрузочном диске настроено в
предположении, что у большинства аппаратных устройств IRQ, адреса
ввода-вывода и каналы DMA установлены производителем к значениям
по умолчанию. Если оборудование было перенастроено, вам
скорее всего потребуется отредактировать конфигурацию ядра и
перекомпилировать его, чтобы сообщить
FreeBSD, где что искать.
Возможно также, что тестирование устройства, которого нет, приведет позже к ошибке тестирования существующего устройства. В этом случае тестирование конфликтующего драйвера (драйверов) должно быть запрещено.
Некоторые проблемы установки можно обойти или уменьшить, обновив встроенное программное обеспечение различных компонент оборудования, особенно материнской платы. Встроенное программное обеспечение также называют BIOS и у большинства производителей компьютеров или материнских плат есть Web-сайты, где можно найти обновления и информацию об обновлениях.
Большинство производителей настоятельно советуют не обновлять BIOS пока не возникнет серьезной необходимости, например появление критически важных обновлений. Процесс обновления может пойти неверно, что приведет к неустранимому повреждению микросхемы BIOS.
В настоящее время, FreeBSD не поддерживает файловые системы, сжатые с помощью программы Double Space™. Поэтому файловая система должна быть разжата, чтобы FreeBSD смогла получить доступ к данным. Это может быть сделано с помощью приложения Compression Agent, находящегося в меню > > .
FreeBSD поддерживает файловые системы MS-DOS® (иногда называемые
файловыми системами FAT). Команда mount_msdosfs(8) включает
такие файловые системы в существующую иерархию, тем самым обеспечивая
доступ к их содержимому. Как правило, утилита mount_msdosfs(8)
непосредственно не вызывается; вместо этого она выполняется системой
при наличии соответствующей записи в /etc/fstab
или же вызывается утилитой mount(8), запущенной с соответствующими
параметрами.
Ниже приведен пример записи в /etc/fstab
для файловой системы MS-DOS®:
Каталог /dos должен быть создан заранее.
Формат файла /etc/fstab подробно описан в
fstab(5).
Также приведем пример монтирования файловой системы MS-DOS® посредством mount(8):
# mount -t msdosfs /dev/ad0s1 /mntВ этом примере файловая система MS-DOS® расположена на первом
разделе первого жесткого диска. Ваша конфигурация может быть другой,
проверьте вывод команд dmesg и
mount. Они должны предоставить достаточно
информации для определения названий разделов.
Способ нумерации дисковых слайсов (то есть, «разделов» в терминах MS-DOS®) может отличаться от способа, принятого в других операционных системах. В частности, расширенным разделам MS-DOS® присваиваются номера, следующие за первичными разделами MS-DOS®. Утилита fdisk(8) поможет определить, какие слайсы принадлежат FreeBSD, а какие — другим операционным системам.
Разделы NTFS также можно смонтировать похожим способом, используя команду mount_ntfs(8).
2.11.3.1. | Моя система зависает на этапе определения оборудования во время загрузки, или система ведет себя странно во время установки, или же не определяется привод гибкого диска. |
На архитектурах i386, amd64 и ia64 при конфигурировании
оборудования, обнаруженного во время загрузки, FreeBSD повсеместно
использует систему ACPI. К сожалению, до сих пор находятся
неполадки как в драйвере ACPI, так и в материнских платах,
так и в их BIOS. Использование ACPI можно отключить установив
переменную set hint.acpi.0.disabled="1"Эта настройка сбрасывается каждый раз при перезагрузке
системы, поэтому необходимо добавить строку
| |
2.11.3.2. | Выполняется первая загрузка после установки FreeBSD, ядро загружается и определяет аппаратное обеспечение, но загрузка останавливается с сообщением типа: changing root device to ad1s1a panic: cannot mount root Что это значит? Что можно сделать? И что это за строка вида
|
Это древняя проблема, проявляющаяся в случаях, когда загрузочный диск не является первым диском в системе. BIOS использует свою схему нумерации дисков по сравнению с FreeBSD, и сложно правильно решить, как соответствуют эти нумерации. В случае, если загрузочный диск не является первым диском в системе, то FreeBSD потребуется некоторая помощь. Есть два возможных случая, и в обоих вам придется сообщить FreeBSD где находится корневая файловая система. Это делается указанием вручную следующих данных: номера диска (согласно нумерации BIOS), типа диска и номера диска (согласно определениям FreeBSD). Первый случай: у вас имеется два IDE диска, каждый из них
сконфигурирован как мастер на соответствующей шине IDE, и вы
намереваетесь загрузить FreeBSD с второго диска. BIOS определяет
эти диски как FreeBSD находится на 1:ad(2,a)kernelЗаметьте, если второй диск настроен как подчиненный (slave) на первой шине IDE, то указание вышеприведённого необязательно (а по существу, еще и неверно). Второй случай подразумевает загрузку с диска SCSI при
существующих в системе дисках IDE. В этом случае, согласно
определениям FreeBSD номер диска меньше, чем номер по представлениям
BIOS. Если у вас есть два диска IDE и диск SCSI, то, согласно
BIOS, номер SCSI диска — 2, а согласно FreeBSD, тип —
2:da(0,a)kernelчтобы сообщить FreeBSD, что вы намереваетесь загрузить
систему с диска 2 по нумерации BIOS, который является первым
диском в системе. Если бы у вас был один диск IDE, вам бы
пришлось использовать Определив верные параметры, внесите их в том виде, как
вы их набирали, в файл | |
2.11.3.3. | Я перехожу к загрузке с жесткого диска впервые после
установки FreeBSD, но приглашение Boot Manager всякий раз выводит
только |
При установке FreeBSD в редакторе разделов была указана неверная геометрия жесткого диска. Вернитесь в редактор разделов и укажите действительную геометрию вашего жесткого диска. Вам придется переустановить заново FreeBSD. Если вы затрудняетесь определить верную геометрию для вашей машины, то сделайте следующее: установите небольшой раздел MS-DOS® вначале диска, а FreeBSD разместите после него. Установочная программа обнаружит раздел MS-DOS® и попробует определить значение геометрии по этому разделу, что, как правило, завершается успехом. Следующий способ не рекомендуется, он оставлен здесь для справки:
| |
2.11.3.4. | Система определяет мою сетевую карту ed(4), но я постоянно получаю сообщения device timeout. |
Возможно ваша сетевая карта находится не на том IRQ, которое
указано в файле Либо осуществите ручное конфигурирование устройства
переключением джамперов на карте (также может потребоваться
изменение конфигурации ядра), либо же смените значение IRQ
на Также вероятно, что ваша карта находится на IRQ номер 9, которое используется совместно с IRQ номер 2, и которое часто является причиной проблем (особенно, если ваш VGA адаптер занимает IRQ номер 2!). Постарайтесь избежать использования IRQ номер 2 или 9 вообще. | |
2.11.3.5. | Когда sysinstall запущен в терминале X11, то желтый шрифт на светло сером фоне практически не различим. Есть ли способ обеспечить лучший контраст для этого приложения? |
Если вы уже установили X11, а цвета, выбираемые по умолчанию
утилитой sysinstall, делают текст
неразборчивым в xterm(1) или rxvt(1), то добавьте
следующую строку |
Этот раздел описывает особые случаи установки FreeBSD.
Этот тип установки называется «установка без монитора», потому что на компьютере, на который вы пробуете установить FreeBSD или не подсоединен монитор, или даже нет VGA выхода. Вы спросите, как это возможно? Используя последовательную консоль. Последовательная консоль в своей основе имеет другой компьютер, который служит дисплеем и клавиатурой для системы. Чтобы сделать это, создайте инсталляционный USB-накопитель, как описано в Раздел 2.3.7, «Подготовка загрузочных дисков», или скачайте надлежащий установочный образ ISO (описано в Раздел 2.13.1, «Создание установочного CDROM»).
Чтобы модифицировать настройки источника установки для загрузки с последовательной консоли, следуйте этой инструкции:
Загрузка с USB-накопителя с выводом на последовательную консоль
Если вы произведете загрузку с только что созданного USB-накопителя, FreeBSD загрузится в нормальный режим установки. Мы хотим, чтобы FreeBSD загрузилась на последовательную консоль для нашей установки. Чтобы сделать это, смонтируйте USB-накопитель на вашу систему FreeBSD используя команду mount(8).
# mount /dev/da0a /mntИзмените названия файла устройства и точки монтирования в соответствии со значениями для вашей конфигурации.
Теперь необходимо настроить USB-накопитель для загрузки
на последовательную консоль. В файл
loader.conf, находящийся на файловой системе
USB-накопителя, добавьте запись, устанавливающую в качестве
системной консоли последовательную консоль.
# echo 'console="comconsole"' >> /mnt/boot/loader.confДалее, когда ваш USB-накопитель правильно настроен, размонтируйте его с помощью команды umount(8):
# umount /mntТеперь извлеките USB-накопитель и перейдите к третьему пункту этой инструкции.
Загрузка с CD с выводом на последовательную консоль
Если вы произведете загрузку с только что записанного установочного CD диска (подробности создания которого описаны в Раздел 2.13.1, «Создание установочного CDROM»), FreeBSD загрузится в нормальный режим установки. Однако, вам необходимо, чтобы FreeBSD загрузилась на последовательную консоль. Для этого придется исправить ISO образ заранее, до его записи на диск CD-R.
В приведённом далее примере подразумевается, что подготовку
образа вы выполняете на вашем втором компьютере, работающем под
управлением FreeBSD. Также подразумевается, что на нём есть файл
загрузочного ISO образа, например FreeBSD-.
Извлеките из образа все файлы утилитой tar(1):9.1-RELEASE-i386-disc1.iso
# mkdir /path/to/headless-iso
# tar -C /path/to/headless-iso -pxvf FreeBSD-9.1-RELEASE-i386-disc1.isoТеперь необходимо внести некоторые изменения в набор
файлов и каталогов, полученных из образа. Добавьте в файл
loader.conf запись, устанавливающую в качестве
системной консоли последовательную консоль.
# echo 'console="comconsole"' >> /path/to/headless-iso/boot/loader.confДалее необходимо создать новый образ ISO из извлеченного
и исправленного старого образа. Для этого воспользуйтесь
утилитой mkisofs(8) (порт sysutils/cdrtools):
# mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "Headless_install" \
-o Headless-FreeBSD-9.1-RELEASE-i386-disc1.iso /path/to/headless-isoА теперь, имея в распоряжении модифицированный новый образ ISO, самое время записать его на диск CD-R при помощи вашей любимой программы для записи дисков.
Подсоединение нуль-модемного кабеля
Теперь нужно соединить два компьютера нуль-модемным кабелем. Просто подсоедините этот кабель к последовательным портам двух компьютеров. Обычный последовательный кабель не будет работать, вам потребуется нуль-модемный кабель, поскольку в нем некоторые линии соединены накрест.
Загрузка для установки
Настало время начать установку. Вставьте USB-накопитель в компьютер, на который вы будете производить установку без монитора и включите его. Если же вы используете загрузочный CD диск, вставьте его в привод после того, как включите машину.
Подключение к компьютеру без монитора
Теперь вы можете подключиться к этому компьютеру с помощью cu(1):
# cu -l /dev/cuau0Это все! Теперь вы можете управлять компьютером без монитора через
сессию cu.
Машина загрузит ядро, а затем появится выбор типа
терминала. Выберите цветную консоль FreeBSD и проводите
установку!
Чтобы не повторяться, «диск FreeBSD» в данном случае означает FreeBSD CDROM или DVD, который вы купили или подготовили самостоятельно.
Может быть несколько ситуаций, в которых вам потребуется подготовить собственный диск и/или источник для установки FreeBSD. Это может быть физический носитель, такой как лента, или источник, с которого sysinstall сможет взять файлы, такой как локальный сервер FTP, или раздел MS-DOS®.
Например:
У вас есть много компьютеров, подсоединенных к локальной сети, и один диск с FreeBSD. Вы хотите создать локальный сервер FTP, используя содержимое диска FreeBSD, а затем использовать с ваших компьютеров этот локальный сервер FTP вместо подсоединения к интернет.
У вас есть диск с FreeBSD, и FreeBSD не распознает ваш CD/DVD привод, а MS-DOS® / Windows® распознает. Вы хотите скопировать файлы установки FreeBSD на раздел MS-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- или с ближайшего зеркала.
Замените архитектура/версияархитектура и
версия в соответствии архитектурой
и номером релиза соответственно.
Этот каталог обычно содержит следующие образы:
| Имя файла | Содержимое |
|---|---|
FreeBSD- | Этот образ CD предоставляет возможность начать процесс установки, загрузившись с диска в приводе CD-ROM. Однако, в нём отсутствуют архивы, необходимые для установки FreeBSD с этого же диска. Подразумевается, что необходимые файлы будут скачаны из доступных в сети источников (например, c сервера FTP). |
FreeBSD- | Этот образ DVD содержит всё необходимое для установки базовой системы FreeBSD, а также — документацию и набор прекомпилированных пакетов. Также образ поддерживает возможность загрузки в режим «livefs». |
FreeBSD- | Этот образ предназначен для создания загрузочных USB-накопителей. Такой накопитель может использоваться для установки операционной системы на машины, поддерживающие загрузку с USB дисков. USB-накопитель также может использоваться для аварийного восстановления системы (содержит «livefs»). В образе также имеются пакеты с документацией. |
FreeBSD- | Этот образ CD содержит базовую систему FreeBSD и набор пакетов с документацией. |
FreeBSD- | Этот образ CD содержит пакеты сторонних
разработчиков, которые смогли поместиться на диск.
Для FreeBSD 9.X подобные
образы не создавались. |
FreeBSD- | Еще один образ CD, заполненный пакетами сторонних
разработчиков. Этот образ не создавался для
FreeBSD 9.X. |
FreeBSD- | Данный образ CD поддерживает загрузку в режим аварийного восстановления системы (содержит «livefs») и не предназначен для выполнения установки операционной системы с самого диска. |
Вы должны загрузить либо ISO-образ
bootonly, либо образ
disc1. Не загружайте их оба, так как образ
disc1 содержит всё, что есть на
ISO-образе bootonly.
Используйте ISO-образ bootonly, если доступ
в Internet для вас обходится недорого. Он позволит вам установить
FreeBSD, и вы сможете установить
впоследствии программы сторонних производителей используя
систему портов/пакетов (смотрите
Глава 5, Установка приложений: порты и пакеты) если необходимо.
Используйте образ dvd1, если вы хотите
установить релиз FreeBSD и получить
достаточный набор программ сторонних производителей, расположенных
на этом диске.
Дополнительные образы дисков полезны, но не необходимы, особенно если у вас есть высокоскоростной доступ к интернет.
Запись CD
Затем вам нужно записать образы CD на диски. Если вы делаете это из другой системы FreeBSD, обратитесь к Раздел 18.6, «Запись и использование оптических носителей (CD)» за более подробной информацией (в частности, Раздел 18.6.3, «burncd» и Раздел 18.6.4, «cdrecord»).
Если вы делаете это в другой системе, потребуется использовать те утилиты для управления CD-рекордером, которые есть в этой системе. Образы дисков предоставляются в стандартном формате ISO, который поддерживается многими программами.
Если вы интересуетесь созданием собственных вариантов релизов FreeBSD, пожалуйста, прочтите статью о Процессе подготовки релизов.
Диск FreeBSD сформирован так же, как и сервер FTP. Это сильно упрощает создание локального сервера FTP, который может быть использован другими компьютерами вашей сети для установки FreeBSD.
Убедитесь, что на компьютере FreeBSD, на котором будет
установлен сервер FTP, CDROM находится в приводе и смонтируйте
/cdrom.
# mount /cdromСоздайте учетную запись для anonymous FTP в
/etc/passwd. Сделайте это, отредактировав
/etc/passwd с помощью vipw(8) и добавив
эту строку:
Убедитесь что сервис FTP включен в
/etc/inetd.conf.
Всякий, кто может подсоединиться по сети к вашему компьютеру,
может выбрать тип носителя FTP и набрать
ftp://
после выбора «Other» в меню серверов FTP во время
установки.ваш компьютер
Если загрузочный носитель (обычно это дискеты) для ваших FTP-клиентов в точности не соответствует версии, находящейся на локальном сервере FTP, то sysinstall не позволит вам завершить установку. Если версии похожи и вы хотите это явно указать, то перейдите в меню Options и замените название дистрибутива на .
Этот подход хорош для компьютера в вашей локальной сети, защищенного с помощью файрволла. Предоставление сервиса FTP другим компьютерам через интернет (а не через локальную сеть) привлекает к вашему компьютеру внимание кракеров и других лиц, чье внимание нежелательно. Мы настоятельно рекомендуем придерживаться правильной политики безопасности, если вы делаете это.
Если вам требуется выполнить установку с дискет (чего мы не рекомендуем делать) или по причине не поддерживаемого оборудования, или просто потому, что вы не любите простых путей, потребуется сначала подготовить несколько дискет для установки.
Как минимум, вам потребуется столько 1.44 MB
дискет, сколько нужно, чтобы вместить все файлы из каталога
base (base distribution). Если
вы подготавливаете эти дискеты из MS-DOS®, они
должны быть отформатированы с помощью команды
MS-DOS® FORMAT. Если вы используете Windows®,
используйте Explorer для форматирования дисков (кликните правой
кнопкой мыши на диске A: и выберите
«Format»).
Не доверяйте заводскому форматированию дискет. Отформатируйте их еще раз самостоятельно, просто для уверенности. Множество проблем, о которых сообщали наши пользователи, были результатом использования неправильно отформатированных дисков, поэтому мы сейчас обращаем на это внимание.
Если вы создаете образы на другом компьютере FreeBSD,
форматирование все еще не лишне, хотя вам не потребуется
создавать файловую систему MS-DOS® на каждой дискете. Вы можете
использовать bsdlabel и newfs
для создания на них файловых систем UFS, в следующей
последовательности (для 3.5" 1.44 MB дискет):
# fdformat -f 1440 fd0.1440
# bsdlabel -w fd0.1440 floppy3
# newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0Затем вы можете смонтировать их и писать на них как на любую другую файловую систему.
После форматирования дискет вам потребуется скопировать на них
файлы. Файлы дистрибутива разделены на части, размер которых
позволяет легко разместить пять частей на обычной 1.44 MB дискете.
Заполните все дискеты файлами, помещая столько файлов на одну
дискету, сколько уместится, пока у вас не будет всех необходимых
компонент дистрибутива. Каждый компонент должен располагаться
в подкаталоге на дискете, например
a:\base\base.aa,
a:\base\base.ab, и так далее.
Файл base.inf также необходимо поместить
на первую дискету набора base. Прочитав этот
файл, установочная программа определяет, сколько частей необходимо
скопировать и соединить для сборки дистрибутива.
Как только в процессе установки появится экран Media, выберите и установка продолжится.
Чтобы подготовиться к установке с раздела MS-DOS®,
скопируйте файлы с дистрибутива в каталог
freebsd корневого каталога раздела.
Например, c:\freebsd. Структура каталога
CDROM или сервера FTP должна быть в точности воспроизведена в
этом каталоге, мы предлагаем использовать команду MS-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 можно найти в каталоге 9.1/base/.
Все компоненты, которые вы будете устанавливать с раздела
MS-DOS® (и для которых у вас есть место), нужно расположить в
c:\freebsd — для минимальной установки
нужна только компонента BIN.
Установка с ленты это возможно самый простой метод, уступающий только установке с FTP или CDROM. Программа установки может найти на ленте файлы, которые записаны на нее с помощью tar. После получения всех файлов дистрибутива, которые вам нужны, запишите их на ленту с помощью tar:
# cd /freebsd/distdir
# tar cvf /dev/rwt0 dist1 ... dist2Когда вы приступите к установке, нужно убедиться в наличии достаточного места во временном каталоге (который будет предложено выбрать), чтобы поместилось все содержимое записанной ленты. Поскольку лента — устройство не-произвольного доступа, этот метод установки требует некоторого места во временном хранилище.
При начале установки лента должна быть в приводе до загрузки с дискеты. В ином случае она может быть не найдена при тестировании устройств.
Есть три возможных типа установки по сети. Ethernet (стандартный Ethernet контроллер), последовательный порт (PPP), или параллельный порт (PLIP (laplink кабель)).
Для самой быстрой установки по сети хорошим выбором будет Ethernet адаптер! FreeBSD поддерживает большинство PC Ethernet карт; список поддерживаемых карт (и требуемых для них установок) предоставляется в информации об оборудовании для каждого релиза FreeBSD. Если вы используете одну из поддерживаемых PCMCIA Ethernet карт, убедитесь также, что она подключена перед тем, как ноутбук будет включен! К сожалению, FreeBSD в настоящее время не поддерживает горячее подключение PCMCIA карт во время установки.
Вам также потребуется знать IP адрес в сети, сетевую маску для класса подсети, и имя компьютера. Если вы делаете установку через соединение PPP и у вас нет статического IP, не бойтесь, IP адрес будет динамически выделен вам провайдером. Системный администратор может подсказать вам, какие значения использовать для данной установки по сети. Если вы будете обращаться к другим хостам по имени, а не по IP адресу, понадобится также сервер DNS и, возможно, адрес шлюза (если вы используете PPP, это IP адрес вашего провайдера), чтобы связаться с ним. Если вы хотите производить установку с FTP через HTTP прокси, потребуется также адрес прокси. Если вы не знаете ответов на все или большинство этих вопросов, свяжитесь с системным администратором или ISP перед тем, как начать этот тип установки.
Если вы используете модем, PPP это конечно почти единственный выбор. Убедитесь что у вас есть информация о провайдере, так как она понадобится на довольно ранней стадии процесса установки.
Если вы используете PAP или CHAP для соединения с провайдером
(другими словами, вы можете соединяться с провайдером из
Windows® без использования скрипта), все что вам понадобится это
ввести dial в приглашении
ppp. Иначе вам нужно знать, как
дозвониться до провайдера с помощью «AT команд»,
специфичных для вашего модема, так как программа дозвона PPP
предоставляет только очень простой эмулятор терминала. Обратитесь
к руководству user-ppp и FAQ для получения более подробных
сведений. Если у вас проблемы, логи могут быть выведены на экран
с помощью команды set log local ....
Если доступно постоянное соединение с другой машиной FreeBSD, вы можете также подумать об установке через параллельный порт «laplink» кабелем. Скорость соединения через параллельный порт значительно выше, чем обычно возможно через последовательную линию (до 50 кбайт/с), это приведет к ускорению установки.
Установка через NFS очень проста. Просто скопируйте компоненты FreeBSD, которые вам нужны, на NFS сервер, а затем укажите на него при выборе источника установки NFS.
Если этот сервер поддерживает только «привилегированные
порты» (это как правило так для рабочих станций Sun),
потребуется установить параметр NFS Secure
в меню перед тем, как начать
установку.
Если у вас Ethernet карта плохого качества с низкой скоростью
передачи данных, вы возможно захотите переключить
флаг NFS Slow в Options.
Чтобы установка по NFS работала, сервер должен поддерживать
монтирование подкаталогов, например, если установочный каталог
дистрибутива FreeBSD 9.1 находится на:
ziggy:/usr/archive/stuff/FreeBSD,
ziggy должен позволять непосредственное
монтирование /usr/archive/stuff/FreeBSD,
а не только /usr или
/usr/archive/stuff.
В файле FreeBSD /etc/exports это
управляется параметром -alldirs. Другие NFS
серверы могут иметь другие соглашения. Если вы получаете
сообщения сервера permission denied,
это может означать, что соответствующая опция не включена.
FreeBSD поставляется с простой в использовании текстовой программой
установки. FreeBSD 9.0-RELEASE и более поздние укомплектованы
установщиком, называемым bsdinstall,
в то время как в релизах, предшествующих FreeBSD 9.0-RELEASE,
для установки используется sysinstall.
В этом разделе описана работа с программой
bsdinstall. Работа с установщиком
sysinstall описана в Глава 2, Установка FreeBSD версий 8.X и более
ранних.
После прочтения этого раздела вы будете знать:
Как создавать установочные носители для FreeBSD.
Разбиение и именование разделов жестких дисков во FreeBSD.
Как запустить bsdinstall.
Вопросы, задаваемые утилитой bsdinstall, что они значат и как на них отвечать.
Перед прочтением этого раздела вам необходимо:
Прочитать список поддерживаемого оборудования, который прилагается к устанавливаемой вами версии FreeBSD, а также убедиться, что ваше оборудование поддерживается.
В общем, эти инструкции по установке написаны для машин архитектуры i386™ («PC-совместимая»). Там, где это необходимо, будут даны указания для других платформ. Между установщиком и этим документом могут быть незначительные различия, поэтому используйте эту главу как общее руководство, а не как точную пошаговую инструкцию.
Минимальная аппаратная конфигурация, достаточная для установки FreeBSD, зависит от версии FreeBSD и от аппаратной архитектуры.
Краткое изложение этой информации дано в следующих разделах. В зависимости от способа установки FreeBSD вам также может потребоваться поддерживаемый привод CDROM, а в некоторых случаях — сетевой адаптер. Об этом будет сказано в Раздел 3.3.5, «Подготовка установочного носителя информации».
Для FreeBSD/i386 необходим 486 процессор или выше, а также — как минимум 64 МБ ОЗУ. Для самой минимальной установки потребуется не менее 1.1 ГБ свободного места на жестком диске.
Для устаревших компьютеров более эффективным способом повышения производительности является увеличение объема ОЗУ и объема жесткого диска, нежели установка более быстродействующего процессора.
Существует два класса процессоров, на которых может работать FreeBSD/amd64. К первому принадлежат процессоры AMD64, включая AMD Athlon™64, AMD Athlon™64-FX, AMD Opteron™ и более новые.
Ко второму классу процессоров, на которых работает FreeBSD/amd64, принадлежат процессоры архитектуры Intel® EM64T. Перечень процессоров включает следующие семейства: Intel® Core™ 2 Duo, Quad, Extreme, семейства Intel® Xeon™ 3000, 5000 и 7000, а также Intel® Core™ i3, i5 и i7.
Если ваш компьютер построен на чипсете nVidia nForce3 Pro-150, то вам необходимо отключить IO APIC в BIOS. Если для этого нет опции в BIOS, отключите ACPI в операционной системе. В чипсете Pro-150 содержатся ошибки, для которых пока не существует исправлений.
Поддерживаются все американские системы Apple® Macintosh® с встроенным USB. Для многопроцессорных машин есть поддержка SMP.
Ядро (32-бит) может адресовать лишь первые 2 ГБ ОЗУ. На Blue & White PowerMac G3 не поддерживается FireWire®.
Поддерживаемые FreeBSD/sparc64 системы перечислены в проекте FreeBSD/sparc64.
Для FreeBSD/sparc64 требуется отдельный жесткий диск. На данный момент нет возможности разделять диск с другой операционной системой.
Архитектуры и устройства, поддерживаемые каждым релизом FreeBSD,
перечислены в файле Hardware Notes. Файл, как правило, называется
HARDWARE.TXT, и располагается в корневом каталоге
установочного носителя. Также копии списка поддерживаемого
оборудования находятся на странице Release
Information веб сайта FreeBSD.
Сделайте резервные копии всех важных данных с того компьютера, на который планируется установка FreeBSD. Проверьте пригодность резервных копий до начала установки. Перед внесением изменений на диск инсталлятор FreeBSD запросит подтверждение, но как только изменения будут внесены, то отменить их уже будет невозможно.
Если FreeBSD будет единственной установленной операционной системой, и она будет занимать весь жесткий диск, то можете смело пропустить этот раздел. Но если FreeBSD будет разделять диск с другими операционными системами, то во время установки вам понадобится понимание принципов разбиения дисков.
Весь объем жестких дисков может быть разделен на множество частей. Эти части называются разделами.
Есть два способа деления диска на разделы. Традиционный способ — Master Boot Record (MBR) — хранит таблицу разделов, вмещающую до четырех первичных разделов. (Так сложилось исторически, что во FreeBSD эти разделы называются слайсами.) Возможны ситуации, в которых четыре раздела недостаточно, поэтому один из первичных разделов может быть превращен в расширенный раздел. Внутри расширенного раздела может быть создано несколько логических разделов. Результирующая структура выглядит немного неуклюже, но такова она есть.
Создание Таблицы Разделов GUID (GUID Partition Table, GPT) — это более новый и простой способ деления диска. Также новый способ (GPT) по сравнению с традиционным способом разбиения (MBR) гораздо более гибкий. Распространённые реализации GPT позволяют создавать до 128 разделов на одном диске, тем самым исключая необходимость создания неудобных сущностей наподобие логических дисков.
Некоторые старые операционные системы, например Windows® XP, не совместимы со схемой GPT. Если на один диск необходимо установить FreeBSD совместно с такой операционной системой, то следует воспользоваться схемой MBR.
Стандартному загрузчику FreeBSD необходим первичный раздел (MBR) или GPT раздел. (Обратитесь к Глава 13, Процесс загрузки FreeBSD за более подробной информацией о процессе загрузки FreeBSD.) Если все первичные или GPT разделы уже задействованы, то для FreeBSD один из них необходимо будет освободить.
Минимальная установка FreeBSD занимает ни много ни мало — 1 ГБ дискового пространства. Однако, это очень минимальная установка, практически не оставляющая свободного места. Более реалистичным минимумом является 3 ГБ без графической подсистемы, а если будет использоваться графическая подсистема, то 5 ГБ или более. Свободное пространство также потребуется приложениям от третьих лиц.
Для создания разделов существует разнообразие свободно распространяемых и коммерческих утилит. GParted Live это свободно распространяемый загрузочный дистрибутив, в который включен редактор разделов GParted. Также GParted включен в многие другие дистрибутивы Live CD от Linux.
Утилиты для создания разделов могут повредить ваши данные. Поэтому сделайте полную резервную копию и проверьте её целостность перед модификацией разделов диска.
Определенные трудности составляет изменение размеров разделов Microsoft® Vista. В таких случаях может пригодиться установочный CDROM от самой Microsoft® Vista.
Компьютер с ОС Windows® имеет жесткий диск размером 40 ГБ,
диск разбит на два раздела по 20 ГБ. Windows® именует их
дисками C: и D:.
На диске C: данными занято 10 ГБ,
а на диске D: — 5 ГБ.
Перемещение данных с диска D: на диск
C: освобождает второй раздел для установки
FreeBSD.
Компьютер с ОС Windows® имеет жесткий диск размером
40 ГБ, на котором создан один большой раздел, занимающий весь
жесткий диск. Windows® именует этот раздел диском
C:. На этом разделе данные занимают
15 ГБ. Конечная цель — отвести для Windows® раздел
размером 20 ГБ, а второй раздел размером 20 ГБ
задействовать для установки FreeBSD.
Подобное перераспределение можно выполнить одним из двух способов:
Сделайте резервную копию данных вашей Windows®. Далее, переустановите Windows®, создав во время инсталляции раздел размером 20 ГБ.
Используйте утилиту редактирования разделов (наподобие GParted) для уменьшения раздела Windows®, а в освободившемся пространстве создайте новый раздел для установки FreeBSD.
Разделы диска, содержащие разные операционные системы, делают возможной загрузку по выбору одной из имеющихся операционных систем. Альтернативный способ, позволяющий загружать несколько операционных систем в одно и то же время, описан в разделе, называемом virtualization.
Некоторым вариантам установки FreeBSD для загрузки файлов необходимо наличие соединения с сетью. Инсталлятор запросит информацию о подключении для настройки соединения с сетью через интерфейс Ethernet (через кабельный модем или к модем DSL с интерфейсом Ethernet).
Для автоматического конфигурирования сетевых интерфейсов часто применяется протокол DHCP. Если в подключаемой сети сервис DHCP отсутствует, информацию о подключении к необходимо взять у системного администратора или провайдера Интернет.
IP адрес
Маска подсети
IP адрес шлюза по умолчанию
Доменное имя локальной сети
IP адрес DNS сервера/серверов
Хотя проект FreeBSD борется за то, чтобы каждый релиз FreeBSD был настолько стабильным, насколько это возможно, ошибки порой вкрадываются в процесс разработки. В очень редких случаях эти ошибки влияют на процесс установки. Как только эти проблемы обнаруживаются и исправляются, их описание попадает в сообщения об ошибках FreeBSD, находящиеся на сайте FreeBSD. Проверьте сообщения об ошибках перед установкой и убедитесь, что отсутствуют проблемы, которые могут затронуть установку.
Информация о всех релизах, включая сообщения об ошибках каждого релиза, может быть найдена на странице информации о релизах веб сайта FreeBSD.
Установка FreeBSD начинается с загрузки компьютера с установочного носителя, будь то CD, DVD или USB флеш-накопитель. Инсталлятор — это не та программа, которую можно запустить из другой операционной системы.
В дополнение к стандартному установочному носителю, который содержит копии всех установочных файлов FreeBSD, также существует вариант, предназначенный исключительно для загрузки и называемый bootonly. Установочный носитель bootonly не содержит копий инсталляционных файлов, а загружает их из сети во время установки. Поэтому образ bootonly CD гораздо меньше объемом, а также при его использовании загружаются лишь необходимые файлы, тем самым уменьшается нагрузка на сетевое соединение.
Копии образов установочных носителей находятся на веб сайте FreeBSD.
Если у вас уже имеется копия FreeBSD на CDROM, DVD, или USB флеш-накопителе, то нижеследующий текст можно опустить.
CD- и DVD-образы FreeBSD являются загрузочными. Для установки необходим один из них. Запишите образ на CD или DVD диск при помощи программы для записи CD, которая есть в вашей текущей операционной системе.
Для создания загрузочного флеш-накопителя выполните следующие шаги:
Получение образа для флеш-накопителя
Образы для флеш-накопителя для FreeBSD 9.0-RELEASE и более
поздних могут быть скачаны с каталога
ISO-IMAGES/
по адресу ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/.
Замените arch/arch/ISO-IMAGES/version/FreeBSD-version-RELEASE-arch-memstick.imgarch и
version соответственно на архитектуру
и номер версии которую вы планируете установить. Например,
образы для флеш-накопителей FreeBSD/i386 9.0-RELEASE
находятся на ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/ISO-IMAGES/9.0/FreeBSD-9.0-RELEASE-i386-memstick.img.
Для FreeBSD 8.X и более ранних
версий используется иной путь каталогов. Детали загрузки
и установки FreeBSD 8.X и более
ранних версий описаны в Глава 2, Установка FreeBSD версий 8.X и более
ранних.
Имя образа для флеш-накопителя имеет суффикс
.img. Каталог ISO-IMAGES/ содержит определённое
количество разных образов, и выбор конкретного образа зависит от
устанавливаемой версии FreeBSD, а в некоторых случаях — и от
аппаратного обеспечения.
Перед продолжением сделайте резервную копию данных с флеш-накопителя, так как следующая процедура уничтожит их.
Запись образа на флеш-накопитель
В нижеследующем примере показано использование
/dev/da0 в качестве
устройства, на которое производится запись. Удостоверьтесь
в том, что целевое устройство выбрано верно, иначе вы можете
повредить существующие данные.
Запись образа при помощи dd(1)
Файл .img не является обычным файлом.
Это образ всего содержимого
флеш-накопителя. Этот файл не может
быть просто скопированным подобно обычному файлу, он должен
быть записан непосредственно на целевое устройство при помощи
dd(1):
# dd if=FreeBSD-9.0-RELEASE-i386-memstick.img of=/dev/da0 bs=64kУдостоверьтесь в правильности выбора буквы диска, указываемой как целевое устройство, иначе вы перезапишете и повредите существующие данные.
Получение Image Writer для Windows®
Image Writer для Windows® — это свободно распространяемое приложение, при помощи которого можно корректно записать образ на флеш-накопитель. Скачайте его с https://launchpad.net/win32-image-writer/ и сохраните в любую директорию.
Запись образа при помощи Image Writer
Кликните дважды на иконке
Win32DiskImager для запуска
приложения. Удостоверьтесь, что буква диска, отображаемая
в боксе Device, соответствует
устройству флеш-накопителя. Кликните на иконке с папкой
и выберите образ, который будет записан на флеш-накопитель.
Нажмите кнопку для
подтверждения выбора имени файла. Проверьте, что всё верно,
а также что нет открытых директорий с флеш-накопителя в других
окнах. Когда всё готово, нажмите кнопку
для записи образа
на флеш-накопитель.
Установка с дискет более не поддерживается.
Теперь вы готовы начать установку FreeBSD.
По умолчанию, установщик не изменяет данные на ваших дисках до тех пор, пока вы не увидите следующее сообщение:
Your changes will now be written to disk. If you have chosen to overwrite existing data, it will be PERMANENTLY ERASED. Are you sure you want to commit your changes?
Установка может быть прервана в любой момент до появления этого предупреждения, при этом содержимое дисков изменено не будет. Если вы обеспокоены тем, что что-то было настроено неверно, то вы можете просто выключить компьютер до этого сообщения, при этом никаких повреждений существующих данных не произойдет.
Если вы подготовили «загрузочный» USB-накопитель, как описано в Раздел 3.3.5, «Подготовка установочного носителя информации», то вставьте его в USB гнездо перед включением компьютера.
Если вы загружаетесь с CDROM, то вам необходимо будет включить компьютер и при первой возможности вставить CD диск.
Настройте вашу машину на загрузку с CDROM или с USB, в зависимости от того, какое устройство используется для установки. Настройки BIOS позволяют выбрать конкретное загрузочное устройство. Большинство систем также предоставляют возможность выбрать загрузочное устройство во время запуска, часто эта возможность активируется по нажатию клавиши F10, F11, F12 или Escape.
Если ваш компьютер загружается как обычно и запускает существующую операционную систему, то:
Диск не был вставлен заблаговременно. Оставьте его в приводе и попробуйте перезагрузить ваш компьютер.
Ранее внесенные изменения в BIOS не сработали. Попробуйте повторить шаг настройки BIOS пока не получите необходимый порядок загрузки.
Ваш нынешний BIOS не поддерживает загрузку с имеющегося загрузочного накопителя. В этом случае можно использовать Plop Boot Manager для загрузки более старых машин с CD или USB.
FreeBSD начнет загружаться. Если вы загружаетесь с CDROM, вы увидите поток сообщений, подобный следующему (информация о версиях опущена):
Отображается меню загрузчика FreeBSD:
Выждите десять секунд или нажмите Enter.
На большинстве машин удерживание клавиши C
на клавиатуре во время начальной загрузки активирует загрузку с CD.
Иначе, удерживайте
Command+Option+O+F,
или
Windows+Alt+O+F
на не-Apple® клавиатурах. На приглашение 0 >
введите
boot cd:,\ppc\loader cd:0Для Xserves без клавиатур, ознакомьтесь с загрузкой в Open Firmware, которая описана на сайте поддержки Apple®.
Большинство систем Sparc64® настроены на автоматическую загрузку с жесткого диска. Для того, чтобы установить FreeBSD, вам потребуется выполнить загрузку по сети или с CDROM, что подразумевает получение доступа к PROM (OpenFirmware).
Для того, чтобы получить доступ к PROM, перегрузите систему и дождитесь появления загрузочных сообщений. Вид сообщений зависит от модели машины, но должен выглядеть подобно следующему:
Если ваша система продолжает загружаться с жесткого диска, то
чтобы получить приглашение PROM вам необходимо
нажать на клавиатуре L1+A
или Stop+A,
или же послать сигнал BREAK через последовательную
консоль (используя, например, ~#
в tip(1) или cu(1)). Приглашение выглядит подобно
следующему:
Приглашение, отображающееся на системах с одним центральным процессором. | |
Приглашение, отображающееся на многопроцессорных (SMP) системах, цифра указывает на количество активных центральных процессоров. |
На этом этапе вставьте CDROM в привод и наберите boot
cdrom в приглашении PROM.
Выводимые на экран во время начальной загрузки системы последние пару сотен строк сохраняются, и при необходимости могут быть просмотрены.
Чтобы просмотреть содержимое буфера, нажмите Scroll Lock. Это включит режим буфера прокрутки. Далее, для просмотра сохраненных сообщений вы можете использовать клавиши навигации или клавиши PageUp и PageDown. Чтобы выйти из режима просмотра буфера нажмите еще раз Scroll Lock.
Включите прокрутку экранного буфера и просмотрите сообщения, которые были вытеснены с экрана во время определения устройств ядром. Вы увидите текст, подобный к Рисунок 3.2, «Типичный вывод сообщений определения устройств», однако его содержимое будет отличаться в зависимости от комплекта устройств, установленных в ваш компьютер.
Внимательно просмотрите вывод определения устройств и убедитесь,
что FreeBSD обнаружила все ожидаемые вами устройства. Если устройство
не было найдено, то оно не будет упомянуто в выводе.
Модули ядра позволяют вам
добавить поддержку устройств, драйвера которых отсутствуют в ядре
GENERIC.
После процедуры определения устройств вы увидите Рисунок 3.3, «Выбор вариантов работы установочного носителя». Установочный носитель может использоваться одним из трёх способов: для установки FreeBSD, как Live CD, или просто для доступа к оболочке FreeBSD. Используйте клавиши навигации для выбора опции, а Enter — для подтверждения выбора.
Выбор опции вызовет программу-установщик.
bsdinstall это текстовая программа для
установки FreeBSD, созданная Nathan Whitehorn <nwhitehorn@FreeBSD.org> и представленная
в 2011 году для FreeBSD 9.0.
В комплекте с PC-BSD
есть программа pc-sysinstall от
Kris Moore <kmoore@FreeBSD.org>, которая также может использоваться для
установки FreeBSD. Несмотря на то, что эту программу путают с
bsdinstall, обе они между собой никак
не связаны.
Система меню bsdinstall контролируется клавишами навигации, а также Enter, Tab, Space и другими.
В зависимости от используемой системной консоли, bsdinstall может предложить выбрать отличную от настроенной по умолчанию раскладку клавиатуры.
Если нажата кнопка , отобразится следующее меню выбора раскладки клавиатуры. Иначе, это меню выбора отображено не будет, а будет использоваться раскладка клавиатуры по умолчанию.
Используя клавиши навигации и клавишу Enter выберите раскладку, которая наиболее близко соответствует клавиатуре, подключенной к системе.
Нажатие Esc приведет к выбору раскладки по умолчанию. Выбор опции тоже является безопасным в том случае, если возникают трудности с определением раскладки.
Далее, bsdinstall предложит указать имя хоста для устанавливаемой системы.
Вводимое имя хоста должно быть полным (fully-qualified), например:
machine3.example.com.
Далее, bsdinstall предложит выбрать дополнительные компоненты для установки.
Определение перечня компонентов для установки в наибольшей мере зависит от планируемого использования системы и от количества доступного дискового пространства. Ядро и набор утилит FreeBSD (вместе называемые «базовой системой») устанавливаются всегда.
В зависимости от типа установки, некоторые из следующих компонентов могут не появляться.
doc - Дополнительная документация,
преимущественно исторического характера. Документация,
предоставляемая Проектом Документирования FreeBSD может быть
установлена позже.
games - Несколько традиционных игр BSD,
в том числе fortune,
rot13, и другие.
lib32 - Библиотеки совместимости для запуска
32-битных приложений на 64-битных версиях FreeBSD.
ports - Коллекция Портов FreeBSD.
Коллекция Портов — это простой и удобный способ установки программ. Она не содержит исходных кодов, необходимых для компиляции приложений. Коллекция Портов — это множество файлов, при помощи которого автоматизируется загрузка, компиляция и установка программных пакетов сторонних разработчиков. В Глава 5, Установка приложений: порты и пакеты описано, как использовать коллекцию портов.
Программа установки не проверяет наличие свободного места. Поэтому выбирайте эту опцию лишь тогда, когда имеется достаточно свободного места на жестком диске. Что касается FreeBSD 9.0, Коллекция Портов занимает около 500 MB дискового пространства. Учтите, что для более новых версий FreeBSD занимаемое Коллекцией Портов дисковое пространство будет расти.
src - Исходный код системы.
FreeBSD распространяется с полным исходным кодом как для ядра, так и для программ базовой системы. Для большинства приложений исходный код системы не нужен, однако он может потребоваться при построении некоторых программ, распространяемых в виде исходных кодов (например, драйверов или модулей ядра), или для разработки FreeBSD.
Полное дерево исходных кодов требует 1 ГБ дискового пространства, пересборка всей системы FreeBSD требует дополнительно 5 ГБ пространства.
Установочный носитель bootonly не содержит копий установочных файлов. В случае использования такого носителя необходимые файлы должны быть получены загрузкой из сети.
После настройки сетевого соединения, которая детально описана в Раздел 3.9.2, «Настройка сетевых интерфейсов», выбирается зеркало сайта. Зеркала сайта содержат копии файлов FreeBSD. Выберите зеркало, размещенное в том регионе мира, что и компьютер, на который устанавливается FreeBSD. Если зеркало расположено ближе к целевому компьютеру, то файлы могут быть получены быстрее, тем самым уменьшится время установки.
Дальнейший сценарий одинаков для всех способов установки.
Есть три способа осуществить разбиение дискового пространства для FreeBSD. Шаблонное (guided) разбиение автоматически настраивает разделы диска, ручное (manual) разбиение позволяет опытным пользователям создавать разделы согласно своим требованиям. И наконец, есть возможность вызвать командный интерпретатор, в котором можно будет непосредственно запускать утилиты наподобие gpart(8), fdisk(8) и bsdlabel(8).
Если в системе есть несколько дисков, то выберите один, на который будет устанавливаться FreeBSD.
Для FreeBSD может быть выделен весь диск или только его часть. Если выбирается , то создается стандартное разбиение, занимающее весь диск. Выбрав , вы получите создание разделов в неиспользуемой области диска.
По завершении разбиения дискового пространства внимательно просмотрите результат. Если была допущена ошибка, то вам предоставляется возможность либо вернуть конфигурацию к исходному состоянию нажав , либо выполнить автоматическое переразбиение выбрав . Также разделы могут быть созданы, изменены или удалены вручную. Если результат разбиения корректен, выберите для продолжения установки.
Ручное разбиение начинается с редактора разделов.
Перемещение подсвечивания на имя устройства (в этом примере
— ada0) и выбор
приведет вас к меню
с перечнем схем разбиения.
Как правило, схема GPT является наиболее подходящей для PC-совместимых компьютеров. Для более старых операционных систем, которые несовместимы с GPT, может потребоваться разбиение MBR. Остальные схемы разбиения в общем используются для нераспространенных или старых компьютерных систем.
| Аббревиатура | Описание |
|---|---|
| APM | Apple Partition Map, используемая на PowerPC® Macintosh®. |
| BSD | Метки BSD без MBR, иногда называемые «dangerously dedicated mode». За подробностями обратитесь к bsdlabel(8). |
| GPT | Таблица разделов GUID. |
| MBR | Master Boot Record. |
| PC98 | Разновидность MBR, используемая компьютерами NEC PC-98. |
| VTOC8 | Volume Table Of Contents, используемая компьютерами Sun SPARC64 и UltraSPARC. |
После того, как схема разбиения определена, повторный выбор приводит к созданию новых разделов диска.
Стандартная установка FreeBSD со схемой GPT создаст как минимум три раздела:
freebsd-boot - загрузочный код FreeBSD.
freebsd-ufs - файловая система UFS
FreeBSD.
freebsd-swap - FreeBSD область подкачки.
Также необходимо упомянуть, что для разделов, которые будут
содержать файловую систему ZFS FreeBSD следует задействовать тип раздела
freebsd-zfs. Обратитесь к Раздел 20.2, «Файловая система ZFS». Сведения об имеющихся в наличии типах
разделов GPT содержатся в gpart(8).
Разумеется, возможно создание большего количества разделов с
файловыми системами, и некоторые пользователи предпочитают выделять
отдельные разделы для таких файловых систем, как /,
/var, /tmp,
и /usr. Иллюстрация подобного разбиения приведена
в Пример 3.3, «Создание традиционного разбиения под файловые системы.».
При указании размеров допускается использование общепринятых аббревиатур, таких как K для килобайт, M для мегабайт, или G для гигабайт.
Должное выравнивание секторов обеспечивает наилучшую производительность, а создание разделов с размерами, кратными 4 Кбайт, помогает обеспечить правильное выравнивание как на дисках с размером сектора 512 байт, так и на устройствах с размером сектора 4 Кбайт. В общем, задание размеров, кратных 1 Мбайт или 1 Гбайт — это наиболее простой способ выполнить выравнивание начал разделов на позицию, кратную 4 Кбайт. Исключение: на данный момент размер раздела freebsd-boot не должен превышать 512 Кбайт из-за ограничений загрузочного кода.
В случае, если раздел будет содержать файловую систему, ей
потребуется точка монтирования. Если планируется создать единственный
раздел UFS, то точка монтирования должна быть
/.
Также будет запрошена метка. Метка —
это имя, присвоенное разделу. Имя устройства или его номер может
измениться если устройство будет подключено к другому контроллеру или
порту, а метка раздела останется неизменной. Ссылки на метки
вместо имён устройств и номеров разделов в файлах типа
/etc/fstab делают систему более толерантной
к замене оборудования. Метки GPT появляются после подключения диска
в каталоге /dev/gpt/. У других схем разбиения
есть свои особенности поддержки меток, и их метки располагаются в
других подкаталогах каталога /dev/.
Во избежание конфликтов имен меток используйте уникальные имена для каждой файловой системы. Несколько букв, взятых от имени компьютера, его назначения или размещения может быть добавлено к метке. Например, корневому разделу UFS для компьютера в лаборатории можно присвоить метку "labroot" или "rootfs-lab".
Для традиционного разбиения, в котором каталоги
/, /var,
/tmp и /usr представляют
собой отдельные файловые системы на их собственных разделах, создайте
схему разбиения GPT, потом создайте разделы, как это указано ниже.
Показанные размеры разделов являются типичными для жесткого диска
размером 20Гб. Если диск большего размера, то будет уместным отвести
больше места для раздела подкачки или для раздела с файловой системой
/var. Задействованные в этом примере метки
имеют префикс ex, от слова "example", вам же
рекомендуется использовать другие уникальные имена меток.
По умолчанию, загрузчик gptboot FreeBSD
ожидает, что первый найденный раздел UFS будет корневым разделом
(/).
| Тип раздела | Размер | Точка монтирования | Метка |
|---|---|---|---|
freebsd-boot | 512K | ||
freebsd-ufs | 2G | / | exrootfs |
freebsd-swap | 4G | exswap | |
freebsd-ufs | 2G | /var | exvarfs |
freebsd-ufs | 1G | /tmp | extmpfs |
freebsd-ufs | соглашайтесь со значением по умолчанию (оставшаяся часть объема диска) | /usr | exusrfs |
Для продолжения установки по завершении создания необходимых разделов выберите .
Следующий шаг — ваш последний шанс прервать установку и предотвратить изменение данных на жестком диске.
Для продолжения выберите . Если необходимо внести изменения, для возвращения к редактору разделов нажмите . Выбор дает возможность выйти из установщика без внесения изменений на жесткий диск.
Продолжительность установки варьируется в зависимости от выбранного дистрибутива, способа установки и быстродействия компьютера. Далее последует очередь сообщений, информирующих о ходе установки.
Первым делом установщик запишет информацию о разделах на диск
и отформатирует разделы посредством newfs.
Если выполняется установка по сети, то bsdinstall продолжит загрузку необходимых файлов дистрибутива.
Далее последует проверка целостности файлов дистрибутива, чтобы удостовериться, что они не были повреждены во время загрузки или чтения с установочного носителя.
И в заключение, проверенные файлы распаковываются на диск.
Как только запрошенные файлы дистрибутива распакуются, bsdinstall приступит к выполнению послеустановочных конфигурационных задач (смотрите Раздел 3.9, «После установки»).
После успешной установки FreeBSD последуют меню настройки различных опций. Настройки опций могут быть изменены путем повторного входа в соответствующие разделы финального конфигурационного меню перед загрузкой в свежеустановленную систему FreeBSD.
Установка пароля пользователя root —
обязательна. Заметьте, что во время ввода пароля набираемые символы
не отображаются на экране. После ввода будет запрошен повторный ввод
пароля. Это помогает предотвратить опечатки при наборе.
Настройки опций продолжатся после успешной установки пароля.
Настройка сетевых интерфейсов будет опущена в случае, если она уже была выполнена как часть подготовки при установке bootonly.
Далее будет отображен перечень всех сетевых интерфейсов, найденных на компьютере. Выберите тот, который планируете настроить.
Если выбран беспроводной сетевой интерфейс, то для подключения к сети потребуется ввести параметры сетевой идентификации и безопасности.
Беспроводные сети распознаются по так называемому Service Set Identifier, или SSID.
Большинство беспроводных сетей шифруют передаваемые данные чтобы защитить их от неавторизированного прослушивания. Настоятельно рекомендуется применять стандарт WPA2. Более старые стандарты, например WEP, не обеспечивают достаточного уровня безопасности.
Первым делом, при подключении к беспроводной сети необходимо выполнить поиск беспроводных точек доступа.
Список найденных сетей будет содержать несколько SSID с описанием типов шифрования, поддерживаемых обнаруженными беспроводными сетями. Если искомый SSID не появляется в списке, то запустите сканирование повторно, выбрав . Если искомая сеть снова не появится в списке, проверьте соединение с антенной или попробуйте разместить компьютер ближе к точке доступа. Запускайте повторный поиск после каждого вашего действия.
После выбора сети потребуется ввести дополнительную информацию о соединении. Для WPA2 потребуется пароль (также известный как Pre-Shared Key или PSK). В целях безопасности набираемые в поле ввода пароля символы на экране отображаются звездочками.
После выбора беспроводной сети и ввода сопутствующих параметров безопасности последует настройка сетевых протоколов.
Определитесь, есть ли необходимость в подключении к сети IPv4. Это наиболее распространённый сетевой протокол.
Существует два способа настройки протокола IPv4 на сетевом интерфейсе. Сервис DHCP автоматически установит корректную конфигурацию сетевого интерфейса, и это — предпочтительный способ настройки. Статическая конфигурация требует ручного ввода настроек протокола IPv4.
Не пытайтесь ввести произвольные данные, они работать не будут. Получите перечисленную в Раздел 3.3.3, «Соберите информацию о сетевых настройках» информацию у сетевого администратора или поставщика услуг Интернет.
Если в сети есть сервис DHCP, то для автоматического конфигурирования сетевого интерфейса выберите .
Статическая настройка сетевого интерфейса требует ввода некоторой информации о подключении IPv4.
IP Address — адрес IPv4, который
должен быть установлен на этом компьютере. Этот адрес
должен быть уникальным и не должен использоваться другим
оборудованием в локальной сети.
Subnet Mask — маска, используемая
в локальной сети. Часто маска имеет значение
255.255.255.0.
Default Router — IP адрес
маршрутизатора для этого подключения. Обычно этот адрес
установлен на маршрутизаторе или ином сетевом оборудовании,
которое соединяет локальную сеть с сетью Интернет. Также
известен, как шлюз по умолчанию (default
gateway).
IPv6 это более новый сетевой протокол. Если есть необходимость и возможность подключения к сети IPv6, выберите в этом меню .
Для протокола IPv6 также возможны два способа настройки сетевого интерфейса. SLAAC или StateLess Address AutoConfiguration автоматически установит корректные настройки сетевого интерфейса. Статическая конфигурация требует ручного ввода настроек протокола IPv6.
SLAAC позволяет сетевому элементу запросить у локального маршрутизатора необходимую для автоматической настройки информацию. За подробностями обратитесь к RFC4862.
Статическая настройка сетевого интерфейса требует ручного ввода информации о IPv6 подключении.
IPv6 Address — вводимый вручную
IP адрес, который присвоен этому компьютеру.
Этот адрес должен быть уникальным и не должен быть занят другим
оборудованием в локальной сети.
Default Router — IPv6 адрес
маршрутизатора для этой сети. Обычно, это адрес маршрутизатора
или другого сетевого оборудования, которое соединяет
локальную сеть с сетью Интернет. Также известен как
шлюз по умолчанию.
Domain Name System (или DNS) Резолвер выполняет преобразования имен хостов в сетевые адреса, а также преобразования сетевых адресов в имена хостов. Если для автоматического конфигурирования сетевого интерфейса использовался DHCP или SLAAC, то информация о Резолвере может уже присутствовать в системе. Иначе, впишите в поле Search имя локального домена. DNS #1 и DNS #2 — это IP адреса локальных серверов DNS. По крайней мере один сервер должен быть указан.
Установка часового пояса для вашей машины позволит ей автоматически корректировать время согласно местным законам и правильно выполнять остальные зависимые от часового пояса функции.
Данный пример верен для машины, находящейся в восточном часовом поясе Соединенных Штатов. Разумеется, ваши настройки должны соответствовать вашему географическому местоположению.
Выберите или согласно тому, как настроены часы вашего компьютера, далее нажмите Enter. Если вы не знаете какое значение выбрать, UTC или местное, то нажмите для того, чтобы выбрать наиболее распространённую конфигурацию — местное время.
Соответствующий регион выбирается при помощи клавиш навигации и подтверждается нажатием клавиши Enter.
Выберите необходимую страну при помощи клавиш навигации и подтвердите выбор клавишей Enter.
Соответствующий часовой пояс выбирается клавишами навигации и подтверждается нажатием клавиши Enter.
Подтвердите, что аббревиатура для часового пояса является приемлемой. Если данная опция настроена верно, то нажмите клавишу Enter для продолжения послеустановочного конфигурирования.
На данном этапе установщик предлагает отметить дополнительные сетевые сервисы, которые будут запускаться при загрузке системы. Все нижеследующие сервисы не являются обязательными.
sshd - Secure Shell
(SSH) демон для безопасного
удаленного доступа.
moused - Обеспечивает использование
мыши в системной консоли.
ntpd - Network Time Protocol
(NTP) демон
для автоматической синхронизации времени.
powerd - Системная утилита для контроля
потребляемой мощности и профилей энергосбережения.
Далее, bsdinstall запросит, будет ли разрешено создание аварийных дампов (crash dump) на целевой системе. Сохранение аварийных дампов может быть весьма полезным при поиске неполадок в системе, поэтому пользователям рекомендуется при всякой возможности включать сохранение аварийных дампов. Выберите для разрешения сохранения аварийных дампов или для отмены их сохранения и продолжения послеустановочной настройки.
Добавление хотя бы одного пользователя в процессе установки
позволит эксплуатировать систему исключая необходимость входа под
учетной записью root. Работа в системе с правами
пользователя root особенна тем, что по существу
нет ограничений или защиты от действий пользователя. Вход под обычным
пользователем является более благоразумным и безопасным.
Для добавления новых пользователей выберите .
Введите информацию о новом пользователе.
Username — Имя, которое будет
набирать пользователь для входа в систему. Часто оно формируется
из объединенных вместе первой буквы имени и фамилии.
Full name — Полное имя
пользователя.
Uid — Идентификатор пользователя.
Обычно это поле не заполняется, система сама присвоит ему
значение.
Login group — Имя группы для этого
пользователя. Обычно это поле также не заполняется, система
поставит значение по умолчанию.
Invite — Перечень групп, в которые будет
внесен пользователь.user into
other groups?
Login class — Обычно оставляется
пустым для принятия значения по умолчанию.
Shell — Интерактивная оболочка для
этого пользователя. В данном примере была выбрана оболочка
csh(1).
Home directory — Домашний каталог
пользователя. Как правило, значение по умолчанию является
корректным.
Home directory permissions — Права
на домашний каталог пользователя. Значение по умолчанию
является корректным в большинстве случаев.
Use password-based authentication? —
Обычно "yes".
Use an empty password? —
Обычно "no".
Use a random password? — Обычно
"no".
Enter password — Пароль для этого
пользователя. Набираемые символы не отображаются на экране.
Enter password again — Пароль
необходимо ввести еще раз (для сверки).
Lock out the account after creation? —
Обычно "no".
После заполнения необходимых полей будет отображен итог и система
переспросит, корректны ли введённые данные. Если во время ввода
информации была допущена ошибка, то необходимо ответить
no и ввести данные еще раз. Если вас всё
устраивает, выберите yes для создания новой учетной
записи пользователя.
Ответьте yes на вопрос "Add another user?"
если необходимо добавить другие учетные записи. Для завершения
добавления пользователей и продолжения послеустановочной настройки
выберите no.
За более детальной информацией об управлении учетными записями обратитесь к Глава 14, Пользователи и основы управления учетными записями.
После того, как установка и конфигурирование завершены, вам предоставляется заключительная возможность подкорректировать настройки.
Используйте это меню для внесения любых изменений или для выполнения дополнительного конфигурирования перед завершением установки.
Add User — Описано в
Раздел 3.9.6, «Добавление пользователей».
Root Password — Описано в
Раздел 3.9.1, «Установка пароля пользователя root».
Hostname — Описано в
Раздел 3.5.2, «Установка имени хоста».
Network — Описано в
Раздел 3.9.2, «Настройка сетевых интерфейсов».
Services — Описано в
Раздел 3.9.4, «Активирование дополнительных сетевых сервисов».
Time Zone — Описано в
Раздел 3.9.3, «Установка часового пояса».
Handbook — Загрузка и установка
Руководства FreeBSD (которое вы в данный момент читаете).
По завершении настройки для выхода из финального конфигурационного меню выберите .
bsdinstall уточнит, есть ли какие настройки, которые необходимо выполнить до перезагрузки в свежеустановленную систему. Для входа в командный интерпретатор новой системы выберите , для перехода к последнему шагу установки нажмите .
Если необходимо дальнейшее конфигурирование или особая установка, то выбор загрузит установочный носитель в режим Live CD.
После того, как установка завершена, для перезагрузки компьютера и запуска новой системы FreeBSD выберите . Не забудьте извлечь установочный CD, DVD или USB-накопитель, иначе компьютер может снова с него загрузиться.
Во время загрузки FreeBSD отображается множество информационных сообщений. Большинство из них вытеснится за пределы экрана; это нормально. По завершении загрузки системы будет отображено приглашение ко входу (login prompt). Сообщения, которые переместились за пределы экрана, могут быть просмотрены: при нажатии Scroll-Lock включается режим буфера прокрутки. Клавиши PgUp, PgDn, а также клавиши навигации могут быть задействованы для прокручивания буфера. Повторное нажатие Scroll-Lock разблокирует дисплей и вернет его в нормальный режим.
На приглашение login: введите добавленное
во время установки имя пользователя, в этом примере —
asample. За исключением случаев крайней
необходимости избегайте входа под учетной записью
root.
Упомянутый выше буфер прокрутки ограничен в размере, поэтому в него
могут умещаться не все сообщения. После входа в систему большинство
из них можно просмотреть подав команду dmesg | less
из командной строки. Для возврата к командной строке после
просмотра сообщений нажмите q.
Типичные сообщения загрузки (информация о версиях опущена):
На медленных машинах генерирование ключей RSA и DSA может занять ощутимое время. Это происходит лишь при первой загрузке новой системы, и лишь в случае, когда sshd настроен на автоматический запуск. Последующие загрузки будут проходить быстрее.
По умолчанию во FreeBSD не устанавливается никаких графических оболочек, однако в наличии они имеются. За более подробной информацией обратитесь к Глава 6, X Window System.
Корректное завершение работы компьютера с FreeBSD помогает защитить
от повреждений не только данные, но даже и аппаратное обеспечение.
Не стоит просто выключать питание. Если вы входите в группу
wheel, то станьте суперпользователем
набрав в командной строке команду su и введя
пароль пользователя root. Или же, войдите
в систему как root и наберите команду
shutdown -p now. Система корректно завершит работу
и выключится.
Комбинация клавиш Ctrl+Alt+Del может быть задействована для перезагрузки системы, однако во время нормальной работы пользоваться ею не рекомендуется.
Нижеследующий раздел описывает часто встречающиеся и сообщенные пользователями проблемы, возникающие в ходе установки.
По причине различных ограничений архитектуры PC, определение периферийных устройств (device probing) не может быть достоверным на все 100%, однако, есть несколько шагов, которые вы можете предпринять, если определение завершится неудачно.
Просмотрите Информацию об оборудовании (Hardware Notes) для вашей версии FreeBSD чтобы убедиться, что ваше оборудование поддерживается.
Если ваше оборудование поддерживается, а зависания или другие
проблемы продолжаются, то вам необходимо будет построить собственное ядро. Это позволит вам
добавить поддержку устройств, которые отсутствуют в ядре
GENERIC. Ядро на установочных дисках
сконфигурировано исходя из предположения, что большинство устройств
находятся в настройках по умолчанию касательно прерываний, адресов
ввода/вывода, каналов DMA. Если ваше оборудование было перенастроено,
то вам скорее всего необходимо будет отредактировать конфигурационный
файл ядра и пересобрать его, чтобы сообщить FreeBSD о настройках, отличных
от предполагаемых.
Также возможны случаи, когда процедура определения (probe) для отсутствующего устройства приводит к сбою процедуры определения для другого устройства, присутствующего в аппаратной конфигурации. В этом случае необходимо отключить процедуру (процедуры) определения для конфликтующего драйвера (драйверов).
Некоторое количество проблем с установкой может быть устранено или уменьшено путем обновления встроенного программного обеспечения различных аппаратных компонентов, особенно — материнской платы. Встроенное программное обеспечение материнской платы обычно называется BIOS. У большинства производителей материнских плат и компьютеров есть Web-сайты, содержащие как информацию об обновлениях, так и сами обновления.
В общем, производители не рекомендуют обновлять BIOS материнской платы, если на то нет веских причин, например, таких как появление критически важного обновления. Процесс обновления может потерпеть неудачу, тем самым оставив BIOS поврежденным, а компьютер — нерабочим.
3.10.2.1. | Моя система зависает во время загрузки на этапе определения устройств (probing), или она ведет себя странно во время установки. |
Касательно платформ i386, amd64 и ia64:
если во время загрузки была обнаружена система ACPI, то FreeBSD
повсеместно использует её для конфигурирования оборудования.
К сожалению, до сих пор существуют неполадки как в драйвере ACPI,
так и среди материнских плат и их BIOS.
ACPI может быть отключена путём установки значения переменной
set hint.acpi.0.disabled="1"Это значение сбрасывается каждый раз при загрузке системы,
поэтому строку |
FreeBSD Live CD находится на том же CD диске, что и установочная программа. Это удобно для тех пользователей, которые всё еще размышляют о пригодности для них ОС FreeBSD и желают проверить некоторые функциональные возможности до начала установки.
При работе с Live CD следует учесть следующее:
Для получения доступа к системе необходимо осуществить
аутентификацию. Допустимое имя пользователя —
root, пароль — пустой.
Так как система работает непосредственно с CD, производительность будет заметно ниже чем у системы, установленной на жесткий диск.
Live CD предоставляет в распоряжение командную строку, а не графический интерфейс.
В этой главе мы попытаемcя раскрыть основные принципы и команды операционной системы FreeBSD. Большая часть нижеизложенного материала в более или менее равной степени применима к любой UNIX®-подобной операционной системе. Если вы уверены, что не найдете здесь ничего нового для себя, можете смело пропустить эту главу. Если же вы новичок, мы настоятельно рекомендуем внимательно прочесть это главу.
Прочитав эту главу, вы узнаете:
Как использовать «виртуальные консоли» FreeBSD.
Как работают права доступа на файлы в UNIX® и как следует интерпретировать флаги файлов в ОС FreeBSD.
Иерархия каталогов FreeBSD.
Организация дисков FreeBSD.
Как монтировать и размонтировать файловые системы.
Что такое процессы, даемоны и сигналы.
Что такое командная оболочка (или интерпретатор команд) и как настроить личное рабочее окружение.
Как пользоваться стандартными текстовыми редакторами.
Что такое устройства и файлы устройств.
Какие бинарные форматы используются в FreeBSD.
Как пользоваться справочным руководством для получения дополнительной информации.
FreeBSD можно использовать разными способами. Один из них — набор команд в текстовом терминале. Используйте этот способ, и вся гибкость и мощь систем UNIX® будет в ваших руках. Этот раздел рассказывает о «терминалах», «консолях» и их использовании в FreeBSD.
Если во время установки вы не настроили FreeBSD для автоматического запуска графической среды при загрузке, система запросит ввод логина сразу после завершения стартовых скриптов. Вы увидите примерно следующее:
В вашей системе сообщение может быть другим, но очень похожим на это. В данный момент нас интересуют последние две строки. Вторая с конца строка:
В этой строке содержится немного информации о только что загруженной
системе. Это консоль «FreeBSD», работающей на
Intel или совместимом процессоре x86
архитектуры[1]. Имя этого компьютера (у каждого компьютера UNIX® есть
имя) pc3.example.org, и в данный момент вы видите
системную консоль — терминал
ttyv0.
Наконец, последняя строка всегда:
Здесь вам предлагается ввести «имя пользователя», чтобы войти в FreeBSD. Следующий раздел описывает способ, которым вы можете сделать это.
FreeBSD это многопользовательская, многопроцессорная система. Это формальное описание системы, которая может быть использована множеством разных людей, одновременно запускающих большое количество программ на одном компьютере.
Любой многопользовательской системе нужен способ отличать каждого «пользователя» от остальных. В FreeBSD (и всех UNIX®-подобных операционных системах), эта задача решается путем «входа» пользователя в систему перед запуском каких-либо программ. У каждого пользователя есть уникальное имя («имя пользователя») и персональный, секретный ключ («пароль»). Перед тем, как разрешить пользователю выполнять какие-либо программы, FreeBSD запрашивает их оба.
Сразу после загрузки FreeBSD и завершения работы стартовых скриптов[2], система предложит вам ввести имя пользователя:
В этом примере, предположим что ваше имя пользователя
john. Введите john в этом
приглашении и нажмите Enter. Далее должно появиться
приглашение ввести «пароль»:
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:
За детальным описанием каждой колонки этого файла и всех опций, которые можно указать для настройки виртуальных консолей, обращайтесь к ttys(5).
Детальное описание «однопользовательского режима»
можно найти в Раздел 13.6.2, «Однопользовательский режим». Стоит отметить, что
при работе FreeBSD в однопользовательском режиме есть только одна
консоль. Виртуальных консолей нет. Установки консоли в
однопользовательском режиме можно найти в файле
/etc/ttys. Обратите внимание на строку,
начинающуюся с console:
Как сказано в комментариях выше строки console,
можно отредактировать эту строку и изменить secure
на insecure. Если вы сделаете это, FreeBSD даже
при загрузке в однопользовательском режиме будет запрашивать пароль
root.
Будьте осторожны при изменении этого значения на
insecure. Если вы забудете
пароль root, загрузка в однопользовательский
режим сильно усложнится. Это все еще возможно, но несколько
более сложно для тех, кто еще не очень освоился с процессом
загрузки FreeBSD и вызова программ.
Установленный по умолчанию размер изображения для консоли FreeBSD может быть изменен до значения 1024x768, 1280x1024, или любого другого, который поддерживается вашим монитором и видеокартой. Для того, чтобы задействовать иной видеорежим, вам прежде всего необходимо будет пересобрать ядро вашей системы, добавив в файл конфигурации две дополнительные опции:
После пересборки и установки ядра воспользуйтесь утилитой vidcontrol(1) для определения видеорежимов, поддерживаемых вашим оборудованием. Чтобы получить перечень видеорежимов, выполните следующую команду:
# vidcontrol -i modeКоманда отобразит список поддерживаемых видеорежимов. Теперь вы можете выбрать один из них и установить его на консоли при помощи vidcontrol(1):
# vidcontrol MODE_279Если новый видеорежим вас устраивает, то его можно определить
устанавливаемым автоматически во время старта системы, для чего
добавьте в /etc/rc.conf следующую строку:
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--) определяет права для всех остальных. Минус
означает отсутствие каких-либо прав (т.е. нельзя ни читать, ни писать, ни
выполнять). В данном случае права установлены таким образом, что
владелец может читать и писать в файл, а группа и другие могут только
читать. Таким образом, численное представление прав
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 поддерживает использование «флагов файлов». Эти флаги обеспечивают дополнительный уровень защиты и контроля над файлами, но не могут применяться к каталогам.
Эти флаги добавляют дополнительные возможности контроля над
файлами, обеспечивая (при определенных условиях) невозможность их
удаления или изменения даже пользователю root.
Файловые флаги изменяются при помощи утилиты chflags(1)
посредством простого интерфейса. К примеру, чтобы установить
системный признак неудаляемости на файл file1,
выполните следующую команду:
# chflags sunlink file1Чтобы отключить флаг неудаляемости, просто выполните предыдущую
команду с ключом «no» перед параметром
sunlink. Вот так:
# chflags nosunlink file1Чтобы просмотреть флаги этого файла, воспользуйтесь командой
ls(1) с параметрами -lo:
# ls -lo file1Результат выполнения команды должен выглядеть примерно так:
Некоторые флаги могут быть установлены или сняты с файлов только
пользователем root. В остальных случаях эти флаги
может установить владелец файла. Для получения дополнительной
информации мы рекомендуем изучить содержимое справки по командам
chflags(1) и chflags(2).
В дополнение к рассмотренным выше правам доступа и флагам файлов
необходимо также упомянуть еще три бита прав доступа, о которых должны
знать все системные администраторы. Это такие биты, как
setuid, setgid и
sticky.
Эти биты играют важную роль в определённых моментах работы UNIX®, так как они предоставляют функциональность, расширяющую права обычного пользователя. Чтобы понять как они работают, необходимо определить различие между реальным идентификатором пользователя (UID) и действующим идентификатором пользователя (effective UID, EUID).
Реальный UID — это идентификатор
пользователя, запустившего процесс на выполнение. Действующий
UID (EUID) — это идентификатор пользователя,
с которым на самом деле выполняется процесс. Например, утилита
passwd(1) во время смены пароля пользователем запускается
с реальным ID пользователя; однако, чтобы внести изменения в базу
данных пользователей, ей необходимо работать с действующим ID
пользователя root. Это тот механизм, который
позволяет обычным пользователям изменять свои пароли и при этом
не наблюдать ошибку Permission Denied.
Опция nosuid, указанная при монтировании
файловой системы, отменяет действие битов
setuid и setgid.
То есть, утилиты, использующие эти биты прав, откажутся выполняться,
даже не выдав пользователю никакого предостережения. К тому же,
(с точки зрения обеспечения безопасности) эта опция монтирования
не является абсолютно надежной, так как, согласно странице
справочника mount(8), накладываемые ею ограничения могут быть
обойдены при помощи «обертки» nosuid
(nosuid wrapper).
Бит setuid устанавливается добавлением цифры четыре (4) перед численным представлением прав доступа, например:
# chmod 4755 suidexample.shТеперь права доступа на файл
выглядят подобно следующему:suidexample.sh
В вышеприведенной строке приметно то, что в перечне прав доступа
для владельца файла присутствует символ s,
который заменил собой бит выполнения.
Чтобы посмотреть setuid в действии,
откройте два терминала. На одном из них запустите команду
passwd с правами обычного пользователя. Пока
утилита ждет ввода нового пароля, просмотрите таблицу процессов
и найдите в ней запись о процессе passwd.
В терминале А:
В терминале Б:
# ps aux | grep passwdКак уже было сказано, утилита passwd запущена
с правами обычного пользователя, но ее действующий
UID — root.
Действие бита setgid подобно действию
setuid; отличие заключается в том, что изменяются
настройки прав для группы. Когда выполняется приложение (или утилита)
с установленным битом setgid, то ему (ей)
будут обеспечены права в соответствии с группой владельца файла,
а не с группой пользователя, запустившего процесс.
Чтобы установить на файл бит setgid,
выполните команду chmod, добавив цифру два (2)
перед численным представлением прав доступа, например:
# chmod 2755 sgidexample.shНовый бит отображается подобно предыдущему случаю: обратите
внимание на наличие s в перечне прав доступа
для группы:
В этих примерах, несмотря на то, что сценарий оболочки является исполняемым файлом, он не будет выполняться с другим действующим идентификатором пользователя (EUID). Так происходит потому, что сценариям командного интерпретатора недоступен системный вызов setuid(2).
Позволяя расширять права пользователя, оба бита прав доступа
(setuid и setgid) могут привести
к снижению безопасности системы. Третий обсуждаемый здесь бит
— sticky — способствует повышению
безопасности системы.
Бит sticky, будучи установленным на каталог,
позволяет производить удаление файла только владельцу файла. Этот
бит применяется для предотвращения удаления файлов в публичных
каталогах, таких как /tmp,
пользователями, не владеющими файлом. Чтобы задействовать этот
бит, добавьте единицу (1) перед численным представлением прав
доступа. Например:
# chmod 1777 /tmpПроверить результат можно при помощи команды
ls:
# ls -al / | grep tmpОтличительной особенностью бита sticky
является наличие символа t в самом конце перечня
прав.
Файловая система FreeBSD является ключевым моментом в понимании устройства всей системы. Самым важным понятием является, несомненно, корневой каталог, обозначаемый символом «/». Корневой каталог монтируется самым первым на этапе загрузки и содержит все необходимое, чтобы подготовить систему к загрузке в многопользовательский режим. Корневой каталог также содержит точки монтирования для остальных файловых систем, которые монтируются во время перехода в многопользовательский режим.
Точкой монтирования называется каталог, находящийся
в родительской (обычно — корневой) файловой системе, к которому
может быть подсоединена другая файловая система.
Более детально это описывается в Раздел 4.5, «Организация дисков».
Стандартные точки монтирования включают /usr,
/var, /tmp,
/mnt и
/cdrom. Эти каталоги обычно перечислены в
файле /etc/fstab, в котором указаны файловые
системы и их точки монтирования. Большинство файловых систем,
описанных в /etc/fstab монтируются автоматически
из скрипта rc(8), если только для них не указана опция
noauto. Более детальная информация находится в
Раздел 4.6.1, «Файл 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/ | Виртуальная файловая система, отображающая текущие процессы (см. procfs(5), mount_procfs(8)). |
/rescue/ | Статически собранные программы для восстановления после сбоев. Обратитесь к rescue(8). |
/root/ | Домашний каталог пользователя
root. |
/sbin/ | Системные утилиты и утилиты администрирования, необходимые для работы как в однопользовательском, так и в многопользовательском режимах. |
/tmp/ | Временные файлы. Содержимое
/tmp обычно
теряется во время перезагрузки системы. Файловая
система в памяти часто монтируется в
/tmp. Это
может быть автоматизированно с помощью переменных
относительно tmpmfs из rc.conf(5) (или же с
помощью записи в /etc/fstab;
обращайтесь к mdmfs(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/.
|
/usr/obj/ | Архитектурно-зависимые файлы и каталоги,
образующиеся в процессе сборки системы из исходных
текстов в /usr/src. |
/usr/ports/ | Коллекция портов FreeBSD (опционально). |
/usr/sbin/ | Системные утилиты и утилиты администрирования (исполняемые пользователем). |
/usr/share/ | Архитектурно-независимые файлы. |
/usr/src/ | Исходные тексты BSD и/или программ. |
/usr/X11R6/ | Утилиты, приложения и библиотеки X11R6 (X Window System; необязательно). |
/var/ | Файлы журналов общего назначения, временные,
перемещаемые файлы и файлы очередей. Файловая
система в памяти иногда монтируется в
/var. Это
может быть автоматизированно с помощью переменных
относительно varmfs из rc.conf(5) (или же с
помощью записи в /etc/fstab;
обращайтесь к mdmfs(8)). |
/var/log/ | Различные файлы системных журналов. |
/var/mail/ | Почтовые ящики пользователей. |
/var/spool/ | Файлы очередей печати, почты, и пр. |
/var/tmp/ | Временные файлы, которые обычно сохраняются во время
перезагрузки системы, если только
/var не является
файловой системой в памяти. |
/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 и задаете определенный размер, позднее вы можете обнаружить что нужен раздел большего размера. Это не так легко сделать без резервного копирования, создания файловых систем нового размера и последующего восстановления сохраненных данных.
В FreeBSD представлена команда growfs(8), которая позволяет увеличивать размер файловой системы на лету, устраняя это ограничение.
Файловые системы содержатся в разделах. Этот термин не имеет
того же смысла, что и при более раннем его использовании в этой главе,
из-за наследия UNIX® в FreeBSD. Каждый раздел обозначается буквой
от a до h. Каждый раздел может
содержать только одну файловую систему, это значит что файловая система
может быть описана ее точкой монтирования в файловой иерархии,
или буквой раздела, в котором она содержится.
FreeBSD также использует дисковое пространство под раздел подкачки (swap space). Подкачка позволяет FreeBSD работать с виртуальной памятью. Ваш компьютер может работать так, как если бы у него было больше памяти, чем есть на самом деле. Когда у FreeBSD кончается память, она перемещает часть данных, не используемых в данный момент, в раздел подкачки и возвращает их обратно (перемещая в подкачку что-то другое), когда они нужны.
По некоторым разделам есть определенные соглашения.
| Раздел | Соглашение |
|---|---|
a | Как правило, содержит корневую файловую систему |
b | Как правило, содержит раздел подкачки |
c | Как правило, такого же размера, что и весь слайс (slice).
Это позволяет утилитам, которым нужно работать над всем
слайсом (например, сканер плохих блоков), работать с
разделом c. В обычной ситуации не нужно
создавать файловую систему на этом разделе. |
d | Раздел d создавался для специальных
целей, хотя сейчас они не актуальны и 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. Основные коды, которые вам могут встретиться, есть в Таблица 4.1, «Коды дисковых устройств».
В то время, как ссылка на раздел FreeBSD требует также указания
слайса и диска, содержащего раздел, ссылка на слайс требует также
указания имени диска. Другими словами, ссылаясь на раздел,
указывайте имя диска, s, номер слайса, и затем
букву раздела. Примеры показаны в
Пример 4.1, «Пример имен диска, слайса, и раздела».
Пример 4.2, «Концептуальная модель диска» показывает концептуальную модель диска, которая должна помочь прояснить ситуацию.
Для установки FreeBSD вы должны сначала настроить слайсы дисков, затем создать разделы внутри слайсов, которые будут использованы для FreeBSD, а затем создать файловую систему (или подкачку) в каждом разделе и решить, куда файловая система будет смонтирована.
| Код | Значение |
|---|---|
ad | ATAPI (IDE) диск |
da | SCSI direct access диск |
acd | ATAPI (IDE) CDROM |
cd | SCSI CDROM |
fd | Floppy disk |
| Имя | Значение |
|---|---|
ad0s1a | Первый раздел (a) на первом слайсе
(s1) первого IDE диска
(ad0). |
da1s2e | Пятый раздел (e) на
втором слайсе (s2) второго SCSI диска
(da1). |
Эта диаграмма показывает первый подключенный к системе 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
следующий (файловые системы перечисляются построчно):
устройство /точка-монтирования тип файловой системы опции частота дампов порядок проверкиустройствоИмя устройства (которое должно присутствовать), как описано в Раздел 18.2, «Имена устройств».
точка монтированияКаталог (существующий), куда следует смонтировать файловую систему.
тип файловой системыТип файловой системы, который передается программе
mount(8). По умолчанию FreeBSD использует
ufs.
опцииНапример, rw, для монтирования
файловой системы в режиме «чтение-запись»,
или ro, для режима «только
чтение», за которыми могут следовать и другие
опции. Довольно часто используется
опция noauto, чтобы не монтировать
автоматически файловые системы в процессе загрузки.
Об остальных опциях можно прочитать в
mount(8).
частота дамповИспользуется утилитой dump(8) для определения файловых систем, с которых необходимо периодически снимать специальные архивные копии. При отсутствии этого параметра принимается равным нулю.
порядок проверкиОпределяет порядок, в котором следует проверять
файловые системы (чаще всего, в случае некорректного
размонтирования или внезапной перезагрузки системы). Если
файловую системы не нужно проверять, этот параметр должен
быть установлен в ноль. Для корневой файловой системы
(которая должна быть проверена в первую очередь)
установите его в 1. Для всех остальных – 2 или
больше. Если две или более файловые системы имеют
одинаковое значение passno,
fsck(8) попытается проверять их параллельно (если,
конечно, это возможно физически).
Обратитесь к fstab(5) за дополнительной информацией
о формате файла /etc/fstab и различных
опциях монтирования.
Команда mount(8) используется, как следует из ее имени, для монтирования файловых систем.
Пример использования (простейший случай):
# mount устройство точка-монтированияПеречислим основные опции, которые может принимать команда mount(8) (полный список смотрите на странице справочника):
-aСмонтировать все файловые системы, перечисленные в
файле /etc/fstab. Исключение
составляют помеченные как «noauto»,
перечисленные после опции -t и уже
смонтированные.
-dСделать все, кроме самого системного вызова mount.
Эта опция полезна вместе с флагом -v
для определения того, что на самом деле пытается сделать
mount(8).
-fМонтировать поврежденный раздел (опасно!), или форсировать отмену всех запросов на запись при изменении режима монтирования с «чтение-запись» на «только чтение».
-rМонтировать файловую систему в режиме «только
для чтения». То же самое, что и указание
аргумента ro для опции
-o.
-t
fstypeМонтировать файловую систему как систему указанного
типа, или, в случае опции -a, только
файловые системы данного типа.
По умолчанию, тип файловой системы – «ufs».
-uОбновить опции монтирования для файловой системы.
-vВыдавать более подробную информацию.
-wМонтировать файловую систему в режиме «чтение-запись».
Опция -o принимает разделенные запятыми
аргументы, включая нижеперечисленные:
Запрет на исполнение бинарных файлов на файловой системе (тоже полезная опция для повышения безопасности системы).
Игнорировать setuid и setgid биты на файловой системе (еще одна полезная опция для повышения безопасности системы).
Команда 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 и опять с начала, если
последнее число будет превышено (однажды выданный и используемый PID
не может быть назначен повторно).
Колонка 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 Domain, а выполняемая программа называется
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Интерпретатор, который вы будете использовать,
обязательно должен быть в файле
/etc/shells. Обычно, при установке
интерпретаторов из коллекции портов,
это делается автоматически. Если же это не так, вам нужно будет
самостоятельно добавить соответствующую строчку в этот файл.
Например, если вы установили bash
вручную и поместили его в
каталог /usr/local/bin, нужно набрать:
# echo "/usr/local/bin/bash" >> /etc/shellsТеперь можно смело использовать команду
chsh.
Большинство настроек в FreeBSD производится путем редактирования текстовых файлов. Соответственно, вам нужно будет освоиться с каким-либо текстовым редактором. Вместе с FreeBSD поставляются лишь некоторые из них, гораздо больше редакторов доступно из Коллекции портов.
Самым простым в изучении и использовании, по-видимому, можно
назвать ee, что расшифровывается как
«easy editor», т.е. «простой редактор». Чтобы
начать редактировать какой-либо файл, наберите в командной строке
ee , где
filenamefilename имя
редактируемого файла. Например, для редактирования файла
/etc/rc.conf, наберите ee
/etc/rc.conf. В верхней части экрана вы увидите список
основных команд редактора. Символ каретки (^)
означает клавишу Ctrl, таким образом,
^e означает комбинацию клавиш
Ctrl+e. Чтобы выйти из редактора, нажмите
клавишу Esc, затем Enter.
Если остались какие-либо не сохраненные
данные, вам потребуется подтвердить выход, сохранив результат
работы или оставив файл без изменения.
В FreeBSD присутствует также более мощный текстовый редактор
vi, а редакторы
emacs и vim
можно найти в коллекции портов (editors/emacs и editors/vim). Эти редакторы обладают еще
большей функциональностью и мощью, но они также и более сложны
в изучении. Однако, если в будущем вам потребуется часто редактировать
большие объемы текстов, то время, потраченное на изучение более мощного
редактора, такого как vim
или Emacs, окупится с лихвой.
Многие приложения, модифицирующие файлы или требующие текстового
ввода, автоматически открывают текстовый редактор. Чтобы сменить
используемый по умолчанию редактор, установите переменную окружения
EDITOR. За деталями обратитесь к разделу интерпретатор команд.
Термин «устройство» используется в основном по
отношению к аппаратному обеспечению системы, такому как диски,
принтеры, графические адаптеры, устройства ввода текста.
При загрузке FreeBSD главным образом выводит на экран информацию об
обнаруженных устройствах. Вы можете найти эти сообщения
в файле /var/run/dmesg.boot.
Например, acd0 это первый диск
IDE CDROM, а kbd0 — клавиатура.
В UNIX® доступ к большинству этих устройств можно получить через
специальные файлы устройств, расположенные в каталоге
/dev.
При добавлении в систему нового устройства, или добавлении поддержки дополнительных устройств, потребуется создать один или несколько файлов устройств для нового оборудования.
Device filesystem, или DEVFS, предоставляет
доступ к пространству устройств ядра через общую файловую систему.
Вместо создания и модификации файлов устройств,
DEVFS создает специальную файловую систему.
Обращайтесь к devfs(5) за дополнительной информацией.
Для понимания того, почему 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Содержимое системного справочника для удобства разделено на несколько разделов:
Пользовательские команды.
Системные вызовы и коды ошибок.
Функции стандартных библиотек.
Драйверы устройств.
Форматы файлов.
Развлечения и игры.
Дополнительная информация.
Команды системного администрирования.
Для разработчиков ядра.
В некоторых случаях (не так уж редко), страницы, относящиеся к
одной и той же команде, находятся в различных разделах справочника.
Например, есть команда chmod и системный вызов
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. Краткий список команд можно получить набрав
?.
[1] Это следует из обозначения i386. Обратите
внимание, что даже если FreeBSD работает не на процессоре
Intel 386, это обозначение будет i386.
Здесь показан не тип процессора, а его
«архитектура».
[2] Стартовые скрипты — это программы, запускаемые автоматически во время загрузки FreeBSD. Их основная задача — подготовить систему к запуску других программ и запустить настроенные сервисы, которые будут работать в фоновом режиме, выполняя полезную работу.
[3] Подробное техническое описание деталей работы драйверов консолей FreeBSD и клавиатуры можно найти в syscons(4), atkbd(4), vidcontrol(1) и kbdcontrol(1). Здесь мы не раскрываем деталей, однако интересующиеся этим вопросом всегда могут обратиться к страницам справочника за более подробным объяснением того, как это работает.
[4] Не совсем верно — есть несколько действий, которые не могут быть прерваны. Например, если процесс пытается прочитать файл на другом компьютере в сети, и другой компьютер по какой-то причине не отвечает (был выключен, или в сети произошла ошибка), процесс находится в так называемом «непрерываемом состоянии». В конце концов время ожидания закончится, обычно это происходит через две минуты. Как только время закончится, процесс будет уничтожен.
Вместе с FreeBSD в составе базового комплекта системы поставляется богатый набор системный утилит. Однако для выполнения какой-то реальной работы очень скоро возникает необходимость в установке дополнительных приложений сторонних разработчиков. FreeBSD дает две взаимодополняющих технологии для установки программного обеспечения сторонних разработчиков: Коллекция Портов FreeBSD (для установки из исходных кодов) и пакеты (для установки из откомпилированных двоичных файлов). Любая из этих систем может быть использована для установки приложений с локальных носителей или прямо из сети.
После чтения этой главы вы будете знать:
Как устанавливать бинарные пакеты с программным обеспечением сторонних разработчиков.
Как собирать из исходных кодов программное обеспечение сторонних разработчиков при помощи Коллекции Портов.
Как удалять ранее установленные пакеты или порты.
Как переопределить значения, используемые по умолчанию в Коллекции Портов.
Как найти необходимое программное обеспечение.
Как обновить установленные приложения.
Стандартная процедура установки программного обеспечения сторонних разработчиков на UNIX®-систему выглядит примерно так:
Загрузка программного обеспечения, которое может распространяться в форме исходных текстов или двоичных файлов.
Распаковка программного обеспечения из дистрибутивного формата (обычно tar-архива, сжатого при помощи compress(1), gzip(1) или bzip2(1)).
Поиск документации в файлах
INSTALL, README
или в каком-то файле из подкаталога doc/ и её
чтение в поиске описания установки программного обеспечения.
Если программное обеспечение распространялось в форме исходных
текстов, его компиляция. Сюда может быть включено редактирования
файла Makefile, запуск скрипта
configure и другие работы.
Тестирование и установка программного обеспечения.
Если вы устанавливаете программный пакет, который не был специально перенесён на FreeBSD, то вам может даже потребоваться редактировать код для того, чтобы он нормально заработал.
FreeBSD предоставляет две технологии, которые выполняют эту работу за вас. На момент написания таким образом доступно более 24,000 сторонних приложений.
Каждый пакет содержит уже откомпилированные копии всех команд приложения, а также все конфигурационные файлы и документацию. С файлом пакета можно работать командами управления пакетами FreeBSD, такими как pkg_add(1), pkg_delete(1), pkg_info(1) и так далее.
Каждый порт FreeBSD является набором файлов, предназначенных для автоматизации процесса компиляции приложения из исходного кода. Файлы, из которых состоит порт, содержат всю необходимую информацию для выполнения автоматической загрузки, извлечения, применения патчей, компиляции и установки приложения.
Также система портов может использоваться для генерации пакетов, которые в последствии становятся объектом работы для команд управления пакетами FreeBSD.
Как пакеты, так и порты принимают во внимание зависимости. Если при инсталляции приложения при помощи pkg_add(1) или Коллекции Портов будет обнаружено, что необходимая библиотека не была установлена, то первым делом будет выполнена установка библиотеки.
Несмотря на то, что обе технологии весьма похожи, и пакеты, и порты имеют свои преимущества. Выберите технологию, которая соответствует вашим требованиям к установке конкретного приложения.
Сжатый tar-архив пакета обычно меньше, чем сжатый tar-архив, содержащий исходный код приложения.
Пакеты не требуют времени на компиляцию. Для больших приложений, таких как Mozilla, KDE или GNOME, это может быть важно, особенно при работе на медленной системе.
Пакеты не требуют понимания процесса компиляции программного обеспечения во FreeBSD.
Пакеты обычно компилируются с консервативными параметрами, потому что они должны работать на максимальном количестве систем. При установке из порта становится возможным изменение опций компиляции.
Некоторые приложения имеют опции времени компиляции, позволяющие определять необходимые функциональные возможности. К примеру, Apache может быть настроен с широким набором различных опций.
В некоторых случаях для одного и того же приложения будут
иметься несколько пакетов с разными предварительными настройками.
Например, Ghostscript доступен как
пакет ghostscript и как пакет
ghostscript-nox11 — в зависимости от того,
установлен ли сервер X11.
Создание нескольких пакетов одного приложения быстро становится
бессмысленным, если приложение имеет более одного-двух
параметров компиляции.
Условия лицензирования некоторого программного обеспечения запрещают распространение в двоичном виде. Оно должно распространяться в виде исходного кода и компилироваться конечным пользователем.
Некоторые пользователи не доверяют дистрибутивам в двоичном виде или предпочитают прочесть исходный код и попытаться найти потенциальные проблемы.
Если у вас есть собственные патчи, вам нужен исходный код для того, чтобы их применять.
Чтобы отслеживать обновления портов, подпишитесь на Список рассылки, посвящённый Портам FreeBSD и Список рассылки, посвящённый ошибкам в портах FreeBSD.
Перед установкой любого приложения необходимо зайти на http://vuxml.freebsd.org/, где находится информация
по вопросам безопасности приложений, или установить ports-mgmt/portaudit. После установки
наберите portaudit -F -a для проверки всех
установленных приложений на наличие известных уязвимостей.
В оставшейся части главы будет рассказано, как использовать пакеты и порты для установки и управления программным обеспечением сторонних разработчиков во FreeBSD.
Список имеющихся для FreeBSD приложений постоянно растет. Существует несколько способов найти то, что нужно:
На сайте FreeBSD по адресу http://www.FreeBSD.org/ports/ поддерживается обновляемый список всех имеющихся приложений для FreeBSD, в котором можно выполнять поиск. Поиск порта можно выполнить либо по имени приложения, либо по названию категории.
Dan Langille поддерживает сайт FreshPorts, на котором есть удобный поиск, а также на нём отслеживаются изменения в приложениях из Коллекции Портов. Зарегистрированным пользователям доступна возможность создавать собственные списки наблюдаемых портов и автоматически получать оповещения об их обновлениях по электронной почте.
Если вы не знаете названия нужного вам приложения, попытайтесь воспользоваться сайтом типа Freecode (http://www.freecode.com/) для поиска приложения, а затем возвратитесь на сайт FreeBSD, чтобы проверить, есть ли порт для этого приложения.
Если вам необходимо определить, в какой категории находится порт,
наберите whereis ,
где filefile - программа, которую вы хотите
установить:
# whereis lsof
lsof: /usr/ports/sysutils/lsofКак вариант, можно воспользоваться echo(1):
# echo /usr/ports/*/*lsof*
/usr/ports/sysutils/lsofУчтите, что в выводе также будут присутствовать совпадающие
с шаблоном имена файлов, сохраненные в
/usr/ports/distfiles.
Ещё одним способом поиска программного обеспечения является
использование встроенной возможности поиска в Коллекции Портов.
Чтобы ею воспользоваться, зайдите в /usr/ports
и выполните команду make , где
search
name=program-nameprogram-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:Команда make search выполняет поиск в файле
с индексной информацией. Если получено сообщение, что требуется
файл INDEX, запустите make
fetchindex для загрузки актуального индексного файла.
После загрузки файла INDEX команда
make search сможет выполнить запрошенный
поиск.
Строка «Path:» указывает, где находится порт.
Чтобы получить лаконичный вывод, задайте цель
quicksearch:
# cd /usr/ports
# make quicksearch name=lsof
Port: lsof-4.87.a,7
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))Для выполнения более глубокого поиска используйте
make или
search
key=stringmake ,
где quicksearch
key=stringstring представляет собой некоторый
текст, относящийся к искомому порту. Текст ищется в комментариях,
описаниях или зависимостях. Этот способ можно
использовать для поиска портов, связанных с некоторой темой, когда
название программы неизвестно.
В обоих случаях (search и
quicksearch) строка поиска нечувствительна
к регистру.
Поиск «LSOF» приводит к тому же самому результату, что и
поиск «lsof».
Во FreeBSD есть несколько утилит для управления пакетами:
Для установки, удаления и получения перечня установленных
пакетов на работающей системе может быть запущена утилита
sysinstall. Обратитесь к Раздел 2.10.10, «Установка пакетов (Install Packages)» за более детальной информацией.
Утилиты командной строки для управления пакетами, которые являются темой данного раздела.
Для установки бинарного пакета FreeBSD из локального файла или с сервера в сети используйте pkg_add(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.
В случае загрузки из сети номер версии в имени пакета должен быть
опущен.
Если вы используете FreeBSD-CURRENT или FreeBSD-STABLE, то утилита
pkg_add(1) загрузит последнюю версию устанавливаемой программы.
Если же вы используете версию -RELEASE, то pkg_add(1) установит
версию пакета, который был собран для конкретного релиза. Это
поведение возможно изменить переопределив значение
PACKAGESITE. Например, в системе
FreeBSD 8.1-RELEASE pkg_add(1) по умолчанию попытается
скачать пакеты с
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/.
Чтобы обязать pkg_add(1) загружать пакеты для
FreeBSD 8-STABLE, присвойте PACKAGESITE значение
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/.
Файлы пакетов распространяются в форматах .tgz
и .tbz. Пакеты находятся по адресу ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages или
в каталоге /packages дистрибутива FreeBSD на DVD.
Структура каталогов с пакетами подобна тому, как организовано дерево
/usr/ports. Каждая категория имеет собственный
каталог, и каждый пакет помещается в каталог
All.
Для вывода перечня установленных пакетов и их описаний может быть задействована pkg_info(1).
# pkg_info
colordiff-1.0.13 A tool to colorize diff output
docbook-1.2 Meta-port for the different versions of the DocBook DTD
...Утилита pkg_version(1) выводит отчёт о версиях всех установленных пакетов и сравнивает их версии с текущими версиями соответствующих приложений, доступных из локального дерева портов.
# pkg_version
colordiff =
docbook =
...Символы во второй колонке указывают сравнительную разницу в возрасте установленной версии и версии, находящейся в локальном дереве портов.
| Символ | Значение |
|---|---|
| = | Версия установленного пакета соответствует версии, находящейся в локальном дереве портов. |
| < | Версия установленного пакета старее, чем та, что имеется в локальном дереве портов. |
| > | Версия установленного пакета новее чем та, что есть в дереве портов. Скорее всего, локальное дерево портов устарело. |
| ? | В индексном файле портов установленный пакет не найден. Это может случиться если установленный порт был переименован или удалён из Коллекции Портов. |
| * | Имеется несколько версий пакета. |
| ! | Установленный пакет есть в индексном файле, но по
какой-то причине утилите pkg_version не
удалось сравнить номер версии установленного пакета
и соответствующей записи в файле. |
Для удаления ранее установленных пакетов с программным обеспечением используйте утилиту pkg_delete(1).
# pkg_delete xchat-1.7.1Следует отметить, что для pkg_delete(1) требуется полное
имя пакета и номер версии; вышеприведенная команда не сработала бы,
если б ей было указано xchat вместо
xchat-1.7.1. Для нахождения версии
установленного пакета задействуйте утилиту pkg_version(1). Или
же, напечатайте групповой символ (wildcard) вместо номера
версии:
# pkg_delete xchat\*в этом случае будут удалены все пакеты, имена которых начинаются
на xchat.
pkgng — это усовершенствованный инструмент, пришедший на смену традиционным утилитам управления пакетами FreeBSD. Он обладает множеством функциональных возможностей, ускоряющих и облегчающих работу с бинарными пакетами. Первый релиз pkgng состоялся в августе 2012 года.
pkgng не является заменой для утилит
управления портами, таких как
ports-mgmt/portmaster или
ports-mgmt/portupgrade. В то время,
как ports-mgmt/portmaster и
ports-mgmt/portupgrade позволяют
устанавливать приложения сторонних разработчиков как из бинарных
пакетов, так и из
Коллекции Портов, утилита pkgng
дает возможность устанавливать приложения исключительно из бинарных
пакетов.
Во FreeBSD 9.1 и более поздние включена программа "самонастройки" ("bootstrap") pkgng. Она скачивает и устанавливает основную утилиту pkgng.
Для запуска самонастройки, выполните:
# /usr/sbin/pkgДля более ранних версий FreeBSD утилиту pkgng необходимо установить из Коллекции Портов или из бинарных пакетов.
Для установки pkgng из порта, запустите следующее:
# cd /usr/ports/ports-mgmt/pkg
# make
# make install cleanДля установки из бинарного пакета, выполните:
# pkg_add -r pkgДействующие инсталляции FreeBSD требуют преобразования базы данных установленных пакетов утилиты pkg_install к новому формату. Для выполнения конвертирования, запустите:
# pkg2ngВышеприведенный шаг не требуется для новых инсталляций, в которых не было установлено программ сторонних разработчиков.
Этот шаг необратим. После перевода базы данных установленных пакетов к формату pkgng утилитами pkg_install более пользоваться не следует.
В процессе конвертирования базы данных установленных пакетов
могут возникать сообщения об ошибках. На данном этапе их можно
игнорировать, так как перечень программ сторонних разработчиков,
информация о которых не была преобразована, будет перечислен
по завершении работы pkg2ng. Над этим перечнем
придется поработать вручную.
Чтобы убедиться, что Коллекция Портов FreeBSD регистрирует
новые программы при помощи pkgng, а не
pkg_install, для версий FreeBSD, предшествующих
10.X, в файл
/etc/make.conf необходимо внести следующую
запись:
Система управления пакетами pkgng
при выполнении большинства операций обращается к пакетному
репозиторию. Адрес используемого по умолчанию репозитория указан
в /usr/local/etc/pkg.conf или в переменной
окружения PACKAGESITE. Последняя переопределяет
адрес, указанный в конфигурационном файле.
Дополнительные опции конфигурации pkgng описаны в pkg.conf(5).
Информацию по работе с pkgng можно
найти на странице справочника pkg(8), или в выводе утилиты
pkg, запущенной без аргументов.
Каждый аргумент команды pkgng описан на
соответствующей странице справочника. Например, чтобы ознакомиться
со страницей справочника для pkg install,
запустите любую из двух нижеследующих команд:
# pkg help install# man pkg-installИнформация об установленных в системе пакетах может быть
отображена при помощи команды pkg info. Подобно
до pkg_info(1), в выводе перечисляются версии и описания всех
установленных пакетов.
Если необходима информация о конкретном пакете, выполните:
# pkg info packagenameНапример, для получения версии pkgng, который установлен в системе, запустите:
# pkg info pkg
pkg-1.0.2 New generation package managerВ общем, бинарные пакеты устанавливаются при помощи:
# pkg install packagenameКоманда pkg install обращается к пакетному
репозиторию, это упоминалось в Раздел 5.5.2, «Настройка окружения pkgng».
Команда pkg-add(8), напротив, не выполняет обращений к пакетному
репозиторию, а также игнорирует переменную
PACKAGESITE. Как следствие — зависимости
не отслеживаются, и необходимые зависимые компоненты не скачиваются
с удаленного источника. В этом разделе описана работа с
pkg install. За подробностями работы с
pkg add обратитесь к справочной странице по
pkg-add(8).
Утилита pkg install может устанавливать
дополнительные бинарные пакеты. Например, для установки
curl, выполните:
# pkg install curl
Updating repository catalogue
Repository catalogue is up-to-date, no need to fetch fresh copy
The following packages will be installed:
Installing ca_root_nss: 3.13.5
Installing curl: 7.24.0
The installation will require 4 MB more space
1 MB to be downloaded
Proceed with installing packages [y/N]: y
ca_root_nss-3.13.5.txz 100% 255KB 255.1KB/s 255.1KB/s 00:00
curl-7.24.0.txz 100% 1108KB 1.1MB/s 1.1MB/s 00:00
Checking integrity... done
Installing ca_root_nss-3.13.5... done
Installing curl-7.24.0... doneНовый пакет, как и любые дополнительные пакеты, которые были установлены как зависимости, перечисляются в списке установленных пакетов:
# pkg info
ca_root_nss-3.13.5 The root certificate bundle from the Mozilla Project
curl-7.24.0 Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers
pkg-1.0.2 New generation package managerПакеты, в которых более нет необходимости, могут быть удалены
при помощи pkg delete. Например, если выяснится,
что curl не нужен:
# pkg delete curl
The following packages will be deleted:
curl-7.24.0_1
The deletion will free 3 MB
Proceed with deleting packages [y/N]: y
Deleting curl-7.24.0_1... doneПакеты, версии которых устарели, можно найти при помощи команды
pkg version. Версии установленных пакетов
сравниваются с версиями приложений из локального дерева портов,
а в случае отсутствия портов pkg-version(8) обращается к удаленному
репозиторию пакетов.
При помощи pkgng можно обновлять пакеты до новых версий. Предположим, вышла новая версия curl. Установленный пакет можно обновить к новой версии, выполнив:
# pkg upgrade
Updating repository catalogue
repo.txz 100% 297KB 296.5KB/s 296.5KB/s 00:00
The following packages will be upgraded:
Upgrading curl: 7.24.0 -> 7.24.0_1
1 MB to be downloaded
Proceed with upgrading packages [y/N]: y
curl-7.24.0_1.txz 100% 1108KB 1.1MB/s 1.1MB/s 00:00
Checking integrity... done
Upgrading curl from 7.24.0 to 7.24.0_1... doneИзредка в приложениях из Коллекции Портов обнаруживаются
уязвимости. В pkgng встроена возможность
выполнять аудит безопасности, действующая подобно приложению из
ports-mgmt/portaudit. Для
выполнения аудита установленных в систему программ, выполните:
# pkg audit -FПосле удаления пакета в системе могут остаться неиспользуемые
зависимости, наподобие security/ca_root_nss из примера выше.
Такие пакеты остаются установленными, несмотря на то, что они
более не требуются другим пакетам. Определить и удалить
неиспользуемые пакеты, которые были установлены как зависимости,
можно при помощи:
# pkg autoremove
Packages to be autoremoved:
ca_root_nss-3.13.5
The autoremoval will free 723 kB
Proceed with autoremoval of packages [y/N]: y
Deinstalling ca_root_nss-3.13.5... doneВ отличие от традиционной системы управления пакетами, pkgng располагает своим собственным механизмом резервного копирования базы данных. Для ручного создания резервной копии базы данных установленных пакетов, выполните:
# pkg backup -d pkgng.dbЗамените имя файла pkgng.db на
более подходящее.
В дополнение, pkgng содержит скрипт
periodic(8), позволяющий выполнять ежедневное автоматическое
копирование базы данных установленных пакетов.
Для активации данной возможности задайте переменной
daily_backup_pkgng_enable значение
YES в файле periodic.conf(5).
Для предотвращения периодического запуска аналогичного скрипта
системы pkg_install, также выполняющего
резервное копирование базы данных установленных пакетов, задайте
переменной daily_backup_pkgdb_enable значение
NO в файле periodic.conf(5).
Для восстановления содержимого базы данных установленных пакетов из резервной копии, выполните:
# pkg backup -r /path/to/pkgng.dbПо умолчанию, pkgng сохраняет копии
установленных бинарных пакетов в каталог, указанный переменной
PKG_CACHEDIR в pkg.conf(5). При обновлении пакетов
командой pkg upgrade старые версии обновленных
пакетов автоматически не удаляются.
Для удаления устаревших версий бинарных пакетов из кеш-каталога, выполните:
# pkg cleanСо временем программы из Коллекции Портов могут претерпевать
изменения старшего (major) номера версии. В отличие от
pkg_install,
pkgng располагает встроенной командой для
обновления информации о происхождении (origin) пакета. Например,
изначально порт lang/php5
был версии 5.3. Позже этот порт был переименован
в lang/php53, а под именем
lang/php5 был создан порт версии
5.4. Утилитам системы
pkg_install для обновления информации
о происхождении (origin) пакета в собственной базе данных
установленных пакетов потребовалась бы помощь дополнительного
программного обеспечения, такого как
ports-mgmt/portmaster.
В отличие от
ports-mgmt/portmaster и
ports-mgmt/portupgrade для
портов, порядок перечисления новой и старой версий отличаются.
Для pkgng необходим следующий
порядок:
# pkg set -o category/oldport:category/newportНапример, в вышеприведенном случае для замены информации о происхождении пакета, выполните:
# pkg set -o lang/php5:lang/php53Еще один пример: для изменения информации о происхождении
пакета с lang/ruby18 на
lang/ruby19, выполните:
# pkg set -o lang/ruby18:lang/ruby19И последний пример: для замены информации о происхождении пакета
разделяемой библиотеки libglut с
graphics/libglut на
graphics/freeglut,
запустите:
# pkg set -o graphics/libglut:graphics/freeglutВыполняя замену информации о происхождении пакетов, в большинстве случаев также требуется переустановить пакеты, которые зависят от изменившегося пакета. Для принудительной переустановки зависящих пакетов, выполните:
# pkg install -Rf graphics/freeglutВ этом разделе даны базовые сведения по использованию Коллекции
Портов для установки или удаления программ. Детальное описание
существующих целей make и переменных окружения
находится в ports(7).
В июле 2012 года проект Портов FreeBSD сменил систему контроля версий: на смену CVS пришел Subversion. Рекомендуемым способом работы с деревом портов является Portsnap. Пользователи, которым требуется локальная подгонка портов (то есть, поддержание дополнительных локальных патчей), возможно предпочтут непосредственное использование Subversion. 28 февраля 2013 года сервис CVSup был выведен из эксплуатации, и дальнейшее использование последнего не рекомендуется.
Коллекция Портов — это набор файлов, состоящий из
Makefile, патчей и файлов описаний, хранимых в
/usr/ports. Этот набор файлов предназначен для
построения и установки приложений во FreeBSD. В нижеследующих разделах
описано несколько способов получения Коллекции Портов на тот случай,
если Коллекция не была установлена во время инсталляции FreeBSD.
Portsnap это быстрый и удобный инструмент для получения Коллекции Портов, и в то же время — предпочитаемый выбор большинства пользователей. За подробным описанием всех возможностей Portsnap обратитесь к Using Portsnap.
Скачайте сжатый снэпшот Коллекции Портов в
/var/db/portsnap.
# portsnap fetchЕсли вы запускаете Portsnap
впервые, извлеките снэпшот в
/usr/ports:
# portsnap extractПо завершении первого запуска
Portsnap, как было показано выше,
/usr/ports может быть
обновлен при помощи:
# portsnap fetch
# portsnap updateЕсли необходим контроль за деревом портов (например, для поддержания локальных изменений), то для получения Коллекции Портов может быть задействован Subversion. Обратитесь к Subversion Primer за детальным описанием Subversion.
Для создания рабочей копии дерева портов необходимо иметь установленный Subversion. Если порты есть в наличии, то установите Subversion выполнив следующее:
# cd /usr/ports/devel/subversion
# make install cleanЕсли портов нет, то Subversion может быть установлен при помощи системы пакетов:
# pkg_add -r subversionЕсли же для управления пакетами используется pkgng, то Subversion устанавливается при помощи следующей команды:
# pkg install subversionСоздайте рабочую копию дерева портов. Для ускорения
процесса вместо svn0.us-east.FreeBSD.org
укажите ближайшее к вам
зеркало
Subversion. Коммиттерам необходимо сначала прочитать
Subversion Primer,
чтобы удостовериться, что выбран корректный протокол.
# svn checkout https://svn0.us-east.FreeBSD.org/ports/head /usr/portsПри наличии рабочей копии
/usr/ports
все последующие обновления выполняются просто:
# svn update /usr/portsЭтот метод подразумевает использование sysinstall для установки Коллекции Портов из установочного носителя. Учтите, что в итоге будет установлена старая копия Коллекции Портов, которая была актуальна на момент создания релиза. Если у вас есть подключение к Интернет, то вам необходимо пользоваться одним из вышеупомянутых методов.
Работая как пользователь root, запустите
sysinstall так, как это показано
ниже:
# sysinstallОпуститесь вниз и выберите , нажмите Enter
Опуститесь вниз и выберите , затем нажмите Enter
Опуститесь вниз к пункту , нажмите клавишу Пробел
Поднимитесь вверх к , нажмите Enter
Выберите желаемый носитель для установки, например, CDROM, FTP и так далее.
Перейдите на пункт меню и нажмите Enter.
Нажмите X для выхода из sysinstall.
Начиная с 28 февраля 2013 года дерево портов более не экспортируется в CVS, поэтому CVSup и csup не будут доставлять обновления для дерева портов.
Для миграции потребуется около 1 ГБ дискового пространства
в /usr, в добавок, для
Portsnap необходимо около 150 МБ
дискового пространства в
/var.
Если у вас настроено автоматическое обновление портов, например при помощи задания cron(8), запускающего CVSup или csup, то его необходимо будет отключить.
Переместите существующее дерево портов во временный каталог:
# mv /usr/ports /usr/ports.oldПри помощи Portsnap скачайте
новое дерево портов и извлеките его в
/usr/ports:
# portsnap fetch extractПереместите дистрибутивные файлы (distfiles) и сохраненные пакеты в новое дерево портов:
# mv /usr/ports.old/distfiles /usr/ports
# mv /usr/ports.old/packages /usr/portsУдалите старое дерево портов:
# rm -rf /usr/ports.oldЕсли ранее использовался CVSup, то сейчас его можно удалить:
# pkg_delete -r -v cvsup-without-gui-\*Пользователям pkgng необходимо запустить следующую команду:
# pkg delete cvsup-without-guiЗа дальнейшим описанием утилиты Portsnap и деталей работы с ней обратитесь к Using Portsnap.
Скелетом порта является набор файлов, который указывает вашей системе FreeBSD, как откомпилировать и установить программу. Скелет каждого порта включает:
Makefile: этот файл содержит различные
директивы, которые определяют, как приложение должно быть
откомпилировано и куда в вашей системе оно должно быть
установлено.
distinfo: этот файл содержит информацию
о файлах, которые должны быть загружены для сборки порта, а также
их контрольные суммы (sha256(1)) для проверки того, что файлы
не были повреждены в процессе загрузки.
files: этот каталог содержит патчи,
необходимые для компиляции и установки программы в вашей системе
FreeBSD. Этот каталог также может содержать другие файлы,
используемые для построения порта.
pkg-descr: этот файл содержит более
подробное описание программы.
pkg-plist: это список всех файлов,
которые будут установлены портом. В нем также содержатся
указания системе портов на удаление определенных файлов во
время удаления порта.
В некоторых портах присутствуют и другие файлы, такие, как
pkg-message. Система портов использует эти файлы
для обработки особых ситуаций. Если вы хотите узнать более подробно
об этих файлах и о портах вообще, то обратитесь к Руководству по созданию
портов для FreeBSD.
Порт не содержит собственно исходного кода, также известного как «дистрибутивный файл» (distfile). Способ распространения исходного кода определяется предпочтениями автора программы. Ниже описаны два способа установки порта FreeBSD.
Для установки портов вы должны войти в систему как пользователь
root.
Перед установкой любого порта необходимо убедиться в
наличии свежей Коллекции Портов и заглянуть на http://vuxml.freebsd.org/, где могут освещаться
вопросы безопасности, связанные с конкретным портом. Если у вас
установлен ports-mgmt/portaudit,
то перед установкой нового порта запустите
portaudit -F для загрузки свежей базы данных
уязвимостей. Проверка безопасности и обновление базы данных будут
выполняться при ежедневной проверке безопасности системы.
За дальнейшей информацией обратитесь к страницам справочника
portaudit(1) и periodic(8).
Использование Коллекции Портов предполагает наличие работающего
подключения к Интернет. В противном случае вам придется раздобыть
и поместить копию дистрибутивного файла в каталог
/usr/ports/distfiles вручную.
Первым делом переместитесь в каталог устанавливаемого порта:
# cd /usr/ports/sysutils/lsofДля компиляции (или построения — «build»)
порта наберите команду make. Вы должны увидеть
вывод команды, подобный следующему:
# make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===> 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 является программой, которая запускается с
повышенными правами, выдаётся предупреждение о безопасности. Во
время построения и установки портов следует обращать внимание на любые
возникающие предупреждения.
Хорошей идеей является удаление рабочего подкаталога, содержащего временные файлы, использовавшиеся во время компиляции. Такое действие помогает беречь дисковое пространство и минимизирует вероятность возникновения проблем в дальнейшем, при обновлении до более новой версии порта.
# make clean
===> Cleaning for lsof-4.57
#Вы можете сэкономить два лишних шага, просто выдав команду
make
вместо install cleanmake,
make и
последующей installmake
в трех отдельных шагах.clean
Установка порта единственной командой
make чревата
возможными частыми остановками процесса инсталляции из-за
ожидания вмешательства пользователя: некоторым портам требуется
ввод опций. Чтобы избежать траты времени, особенно для портов
с многими зависимостями, запустите сначала
installmake
чтобы выполнить конфигурирование всех опций за один заход.
Далее, запустите config-recursivemake
.install [clean]
Когда используется config-recursive,
перечень подлежащих настройке портов собирается целью
all-depends-list команды make(1).
Часто рекомендуется повторять запуск
make
до тех пор, пока не будут определены все опции зависимых портов,
а меню dialog(1) выбора опций портов появляться перестанут.
При этом можно быть уверенным, что все опции были настроены как
и намеревалось.config-recursive
Некоторые командные процессоры для ускорения поиска исполняемых
файлов и команд кэшируют имена программ, доступных для
вызова из каталогов, перечисленных в переменной окружения
PATH. Если вы используете tcsh,
то вам может потребоваться набрать rehash,
после чего свежеустановленную программу можно будет вызывать
без указания полного пути. Для командного интерпретатора
sh выполните
hash -r. Дополнительную информацию можно найти
в документации к вашему командному процессору.
В некоторых имеющихся в продаже комплектах DVD от третьих лиц,
таких как the FreeBSD Toolkit от
FreeBSD Mall,
содержатся дистрибутивные файлы (distfiles). Их можно использовать
с Коллекцией Портов. Смонтируйте DVD в /cdrom.
Если вы используете иную точку монтирования, укажите её в переменной
make(1) CD_MOUNTPTS. Если необходимые для
построения порта дистрибутивные файлы находятся на диске, то они будут
задействованы автоматически.
Лицензии некоторых портов не позволяют помещать их на DVD. Причиной тому может служить обязательность заполнения регистрационной формы перед загрузкой, или запрет на дальнейшее распространение. Если вы хотите установить порт, которого нет на DVD, вам нужно иметь подключение к Интернет.
Для загрузки файлов система портов использует утилиту
fetch(1), которая проверяет значения некоторых переменных
окружения, включая FTP_PASSIVE_MODE,
FTP_PROXY и FTP_PASSWORD. Если вы
находитесь за сетевым экраном или для работы с FTP/HTTP вам
необходимо использовать прокси, то определите соответствующие
переменные. Обратитесь к справочной странице по fetch(3) для
получения полного списка переменных.
Пользователям, которые не могут быть постоянно подключены
к сети, поможет команда
make .
Запустите эту команду в каталоге fetch/usr/ports,
и требуемые файлы будут загружены. Эта команда также работает и с
вложенными категориями, например: /usr/ports/net.
Заметьте, что если порт имеет зависимости от библиотек или других
портов, то команда не будет загружать
дистрибутивные файлы для зависимых портов. Для загрузки всех
зависимых дистрибутивных файлов задействуйте команду make
.fetch-recursive
Вы можете построить все порты в категории за раз, запустив
команду make в каталоге верхнего уровня.
Однако это опасно, так как некоторые порты не могут сосуществовать.
В других случаях некоторые порты могут устанавливать два различных
файла с одним и тем же именем.
В некоторых редких случаях пользователям необходимо получить
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/.
Некоторые порты позволяют указывать опции, которые включают
или выключают построение отдельных частей приложения, изменяют
некоторые параметры безопасности, а также задают прочие настройки.
Примерами таких портов могут служить:
www/firefox,
security/gpgme и
mail/sylpheed-claws.
Если для порта существуют опции компиляции, то перед началом
построения будет отображено меню.
При помощи переменных WRKDIRPREFIX и
PREFIX можно переопределить назначаемые по
умолчанию рабочий и целевой каталоги. Например:
# make WRKDIRPREFIX=/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 WRKDIRPREFIX=../ports PREFIX=../local installиспользует обе возможности.
Альтернативным способом является задание этих каталогов в переменных окружения. Обратитесь к страницам справки по вашему командному процессору для получения инструкций о том, как установить переменные окружения.
Некоторые порты предоставляют ncurses-меню, содержащее опции
построения. Будучи однажды успешно определены, опции сохраняются,
и при повторном построении порта меню не вызывается. Для изменения
сохраненных опций существует несколько способов повторного вызова
меню. Один из них — зайти в каталог порта и набрать
make .
Второй способ — запустить команду
configmake .
Еще один способ — выполнить команду
showconfigmake ,
которая удалит все ранее отмеченные опции и позволит вам начать
конфигурирование сначала. Эти и другие способы детально описаны
на странице ports(7).rmconfig
Прежде всего, при помощи pkg_version(1) просмотрите, нет ли в Коллекции Портов более новых версий установленных приложений:
# pkg_version -vПосле обновления Коллекции Портов, и перед тем, как обновить
приложение из порта, сверьтесь с файлом
/usr/ports/UPDATING. В нем дана информация
по различным вопросам и дополнительным шагам, которые
могут быть необходимы для обновления порта, включая информацию
о таких вещах как изменения форматов файлов, изменения
в расположении конфигурационных файлов, или другие нестыковки
с предыдущими версиями.
Если UPDATING противоречит чему-либо,
написанному в этом документе, то доверьтесь информации из
UPDATING.
Утилита portupgrade создана для
простого обновления установленных портов. Она доступна из порта
ports-mgmt/portupgrade.
Установите её как и любой иной порт при помощи команды
make :install clean
# cd /usr/ports/ports-mgmt/portupgrade
# make install cleanПроверьте перечень установленных портов командой
pkgdb -F и устраните все несоответствия, о которых
сообщит утилита. Хорошей идеей является выполнение этого действия
регулярно, перед каждым обновлением.
Используйте portupgrade -a для обновления
всех устаревших портов, установленных в вашей системе. Добавьте
флаг -i если вы желаете получать запрос
на каждый обновляемый порт.
# portupgrade -aiДля обновления конкретного приложения, а не всех
установленных портов, запустите portupgrade
. Включите флаг
pkgname-R при необходимости обновить все порты, требуемые
данным приложением.
# portupgrade -R firefoxДля использования при установке пакетов, а не портов, укажите
флаг -P. С этим параметром
portupgrade будет искать пакеты в
локальных каталогах, указанных в переменной окружения
PKG_PATH, а если не найдет их, то загрузит с
удаленного сайта. Если пакеты не могут быть найдены локально
или загружены удаленно, portupgrade
использует порты. Чтобы запретить использование портов,
укажите -PP.
# portupgrade -PP gnome2Для простой загрузки дистрибутивных файлов без построения или
установки чего бы то ни было, задайте флаг -F.
Дополнительную информацию можно получить на странице справки по
утилите portupgrade(1).
Утилита ports-mgmt/portmaster — это еще один
инструмент для обновления установленных портов. Утилита
portmaster опирается на возможности
«базовой» системы и не зависит от других портов.
Она использует информацию из /var/db/pkg/ для определения портов,
подлежащих обновлению. Для установки утилиты выполните
следующее:
# cd /usr/ports/ports-mgmt/portmaster
# make install cleanPortmaster делит порты на четыре категории:
Корневые порты: не зависят от других портов и нет портов, зависимых от корневых;
Стволовые порты: не зависят от других портов, но есть порты, зависящие от стволовых;
Веточные порты: зависят от других портов и есть порты, зависящие от веточных;
Листьевые порты: зависят от других портов, но нет портов, зависящих от листьевых.
Чтобы проверить наличие обновлений для всех установленных
портов, задайте утилите флаг -L:
# portmaster -L
===>>> Root ports (No dependencies, not depended on)
===>>> ispell-3.2.06_18
===>>> screen-4.0.3
===>>> New version available: screen-4.0.3_1
===>>> tcpflow-0.21_1
===>>> 7 root ports
...
===>>> Branch ports (Have dependencies, are depended on)
===>>> apache-2.2.3
===>>> New version available: apache-2.2.8
...
===>>> Leaf ports (Have dependencies, not depended on)
===>>> automake-1.9.6_2
===>>> bash-3.1.17
===>>> New version available: bash-3.2.33
...
===>>> 32 leaf ports
===>>> 137 total installed ports
===>>> 83 have new versions availableВсе установленные порты могут быть обновлены при помощи одной команды:
# portmaster -aПо умолчанию, portmaster создаст
дублирующий пакет перед удалением установленного порта. Если
обновление порта прошло успешно,
portmaster удалит дублирующий пакет.
При помощи опции -b можно проинструктировать
portmaster не выполнять автоматическое
удаление дублирующего пакета. Указание опции -i
запустит portmaster в интерактивном
режиме, запрашивающим подтверждение пользователя перед
обновлением каждого порта.
Если во время процесса обновления возникнут ошибки,
задействуйте опцию -f для обновления/перестройки
всех портов:
# portmaster -afТакже, portmaster может быть задействован для установки новых портов в систему, автоматически обновляя другие зависимые порты перед построением и установкой нового порта:
# portmaster shells/bashЗа подробной информацией обратитесь к portmaster(8).
Работа с Коллекцией Портов со временем приводит к увеличению
занимаемого дискового пространства. После построения и установки
программы из порта удалите временный каталог work при помощи команды
make . Для
очистки всей Коллекции Портов наберите:clean
# portsclean -CПо прошествии некоторого времени у вас соберется множество
дистрибутивных файлов в каталоге distfiles. Следующая команда удалит все
дистрибутивные файлы, которые более не связаны ни с какими
портами:
# portsclean -DДля удаления всех дистрибутивных файлов, не связанных ни с одним установленным в вашу систему портом, наберите:
# portsclean -DDУтилита portsclean является частью порта
ports-mgmt/portupgrade.
Удобная утилита для автоматизации удаления портов, в которых вы
более не нуждаетесь, доступна из порта
ports-mgmt/pkg_cutleaves.
После установки нового приложения вам обычно требуется прочесть любую имеющуюся документацию, отредактировать необходимые конфигурационные файлы и убедиться, что приложение запускается во время загрузки системы.
Очевидно, что шаги, в точности требуемые для конфигурации каждого приложения, отличаются. Однако, если если вы только что установили новое приложение и вам интересно, «Что же дальше?», то вам могут помочь следующие советы:
Воспользуйтесь командой 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-сайта приложения.
Как правило, порты приложений, которые должны запускаться при
загрузке системы, устанавливают стартовые скрипты в каталог
/usr/local/etc/rc.d. Просмотрите скрипт на
предмет его корректности и, если необходимо, отредактируйте или
переименуйте его. Обратитесь к разделу о
Запуске
сервисов за более подробной информацией.
Если вы встретили порт, который не компилируется:
Выясните, нет ли для порта решения проблемы в Problem Report database. Если оно есть, то вы можете воспользоваться предложенным решением.
Попросите помощи у мейнтейнера порта. Чтобы найти его адрес
наберите команду
make или
просмотрите maintainerMakefile.
Не забудьте указать имя и версию порта (скопировав строчку
$FreeBSD: из файла
Makefile) и включите в письмо весь
вывод, предшествующий возникновению ошибки.
Некоторые порты поддерживаются группой людей из
списка
рассылки, а не отдельными людьми. В большинстве таких
случаев адрес мейнтейнера выглядит подобно следующему: <freebsd-listname@FreeBSD.org>. Пожалуйста,
учтите это при формулировании ваших вопросов.
В частности, если мейнтейнер порта — <ports@FreeBSD.org>, то такой порт вообще никем
не поддерживается. Решение проблем и поддержка, если и имеют
место, то приходят от общества, которое подписано на тот список
рассылки. Волонтёры требуются всегда!
Если вы не получили ответ, то воспользуйтесь командой send-pr(1) для посылки сообщения о проблеме (изучите составление сообщений о проблеме во FreeBSD).
Исправьте его! В Руководстве по созданию портов содержится подробная информация об инфраструктуре портов, так что вы сможете исправить редкий неработающий порт или даже предложить свой собственный!
Воспользуйтесь pkg_add(1) и установите пакет вместо порта.
FreeBSD использует X11 для того, чтобы дать пользователям мощный графический интерфейс. X11 является свободно доступной версией X Window System, реализованной в Xorg и XFree86™ (а также других программных пакетах, здесь не рассматриваемых). В версиях FreeBSD до и включая FreeBSD 5.2.1-RELEASE сервером X11 по умолчанию был XFree86™, выпускаемый The XFree86™ Project, Inc. Начиная с FreeBSD 5.3-RELEASE, официальной версией X11 по умолчанию стал Xorg, разработанный X.Org Foundation под лицензией, очень похожей на ту, которая используется FreeBSD. Под FreeBSD существуют также коммерческие X серверы.
Эта глава посвящена установке и настройке X11 в системе FreeBSD, с акцентом на релиз Xorg 7.7. За информацией о настройке XFree86™ (в более старых релизах FreeBSD XFree86™ был реализацией X11 по умолчанию), или более старых релизов Xorg, всегда можно обратиться к старым версиям Руководства FreeBSD по адресу http://docs.FreeBSD.org/doc/.
За дополнительной информацией по видео оборудованию, поддерживаемому X11, обратитесь к веб сайту Xorg.
После чтения этой главы вы будете знать:
Как установить и настроить X11.
О различных компонентах X Window System и их взаимодействии.
Как установить и использовать различные оконные менеджеры.
Как использовать шрифты TrueType® в X11.
Как настроить вашу систему на графический интерфейс входа (XDM).
Перед чтением этой главы вам потребуется:
Узнать, как устанавливать дополнительное программное обеспечение сторонних разработчиков (Глава 5, Установка приложений: порты и пакеты).
Первое знакомство с 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 очень похожа на философию построения 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 если мышь помещается поверх корневого окна (или заднего фона), то никакое окно фокус не получает, а нажатия клавиш просто пропадают. При использовании политики нечёткого фокуса он меняется только когда курсор попадает на новое окно, но не когда уходит с текущего окна.
Активное окно выбирается щелчком мыши. Затем окно может быть «поднято» и появится поверх всех других окон. Все нажатия клавиш теперь будут направляться в это окно, даже если курсор переместится к другому.
Многие оконные менеджеры поддерживают и другие политики, а также вариации перечисленных. Обязательно обращайтесь к документации по оконному менеджеру.
Подход 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®, что определённо облегчает жизнь начинающему пользователю.
Версией X11 по умолчанию для FreeBSD является Xorg. Xorg это сервер X дистрибутива открытой реализации X Window System, выпущенной X.Org Foundation. Xorg основан на коде XFree86™ 4.4RC2 и X11R6.6. Версия Xorg, доступная на данный момент из коллекции портов FreeBSD: 7.7.
Для сборки и установки Xorg из Коллекции портов, выполните:
# cd /usr/ports/x11/xorg
# make install cleanПеред сборкой полной версии Xorg удостоверьтесь в наличии хотя бы 4 GB свободного места.
Кроме того, X11 может быть установлен непосредственно из пакетов. Бинарные пакеты, устанавливаемые pkg_add(1), доступны и для X11. Когда pkg_add(1) используется для удаленной загрузки пакетов, номер версии пакета необходимо удалить. pkg_add(1) автоматически установит последнюю версию приложения.
Таким образом, для загрузки и установки пакета Xorg, просто наберите:
# pkg_add -r xorgВ примерах выше будет установлен полный дистрибутив X11, включая серверы, клиенты, шрифты и так далее. Также доступны и отдельные пакеты и порты для различных частей X11.
В оставшейся части главы будет рассказано о том, как сконфигурировать X11 и настроить рабочее окружение.
Перед настройкой X11 необходима следующая информация о конфигурируемой системе:
Характеристики монитора
Набор микросхем, используемый в видеоадаптере
Объём видеопамяти
Характеристики монитора используются в X11 для определения рабочего разрешения и частоты. Эти характеристики обычно могут быть получены из документации, которая прилагается к монитору или с сайта производителя. Тут нужны два диапазона значений, для частоты горизонтальной развёртки и для частоты вертикальной синхронизации.
Набор микросхем графического адаптера определяет, модуль какого драйвера использует X11 для работы с графическим оборудованием. Для большинства типов микросхем это может быть определено автоматически, но все же его полезно знать на тот случай, когда автоматическое определение не работает правильно.
Объём видеопамяти графического адаптера определяет разрешение и глубину цвета, с которым может работать система. Это важно, чтобы пользователь знал ограничения системы.
Начиная с версии 7.3, Xorg зачастую может работать без какого-либо файла настройки, для его запуска достаточно просто набрать:
% startxНачиная с версии 7.4, Xorg
может использовать HAL для автоматического поиска клавиатуры и мыши.
Порты sysutils/hal и
devel/dbus будут инсталлированы как
зависимости x11/xorg, но для
их включения необходимо иметь следующие записи в
/etc/rc.conf file:
Эти сервисы должны быть запущены (вручную или при загрузки системы) до последующей загрузки Xorg конфигурации.
Автоматическая конфигурация не всегда может сработать на некотором оборудовании, либо создать не совсем ту настройку, которая желаема. В этих случаях, необходима ручная настройка конфигурации.
Такие оконные менеджеры, как GNOME, KDE или Xfce имеют собственные утилиты, позволяющие пользователю легко устанавливать такие параметры, как разрешение экрана. Поэтому, если конфигурация по-умолчанию не подходящая и вы планируете инсталлировать эти оконные менеджеры, просто можете продолжить настройку рабочей среды, используя их собственные утилиты для установок параметров экрана.
Процесс настройки X11 является многошаговым. Первый шаг заключается в построении начального конфигурационного файла. Работая с правами суперпользователя, просто запустите:
# Xorg -configureПри этом в каталоге /root будет создан скелет
конфигурационного файла X11 под именем
xorg.conf.new (там, куда после su(1) или
непосредственного входа будет указывать переменная
$HOME). Программа
X11 сделает попытку распознать графическое оборудование системы и
запишет конфигурационный файл, загружающий правильные драйверы для
обнаруженного оборудования в системе.
Следующим шагом является тестирование существующей конфигурации для проверки того, что Xorg может работать с графическим оборудованием в настраиваемой системе. Для этого выполните:
# Xorg -config xorg.conf.newНачиная с Xorg 7.4 и выше,
это тестирование покажет лишь черный экран, что делает диагностику
не совсем полноценным. Старое поведение будет доступно
при использовании опции retro
# Xorg -config xorg.conf.new -retroЕсли появилась чёрно-белая сетка и курсор мыши в виде X, то настройка была выполнена успешно. Для завершения тестирования просто нажмите одновременно Ctrl+Alt+Backspace.
Данная комбинация включена по-умолчанию до Xorg версии 7.3. Для включения этого в версии 7.4 и выше, вы должны ввести следующую команду в любом эмуляторе X терминала:
% setxkbmap -option terminate:ctrl_alt_bkspили создать конфигурационный файл клавиатуры для
hald называемый
x11-input.fdi и сохранить его в
/usr/local/etc/hal/fdi/policy
директории. Данный файл должен содержать следующие
строчки:
Вам может потребоваться перезагрузка системы для вступления параметров hald в силу.
Если мышь не работает, ее необходимо настроить.
Обратитесь к Раздел 2.10.9, «Настройка мыши (Mouse Settings)» в главе об установке
FreeBSD. Дополнительно, начиная с версии
7.4, секция InputDevice в
xorg.conf игнорируется в пользу
автоматического поиска устройств. Для возвращения старого поведения, добавьте
следующие строчки в секции ServerLayout или
ServerFlags:
Устройства ввода могут конфигурированы затем как в предыдущих версиях, вместе с другими необходимыми опциями (такими, как переключение раскладок клавиатуры например).
Как ранее уже сообщалось, начиная с версии 7.4, по-умолчанию, hald демон будет пытаться распознать вашу клавиатуру автоматически. Есть возможность, что раскладка вашей клавиатуры или ее модель будут определены некорректно. Такие оконные менеджеры как GNOME, KDE или Xfce содержат свои инструменты для конфигурирования клавиатур. Тем не менее, можно установить параметры клавиатуры непосредственно с помощью утилиты setxkbmap(1) или через haldконфигурационные правила.
Например, если вы хотите использовать клавиши PC 102 клавиатуры,
идущая с французской раскладкой, мы должны создать конфигурационный файл
клавиатуры для hald
называемый x11-input.fdi и сохранить в
/usr/local/etc/hal/fdi/policy
директории. Этот файл должен содержать следующие
строчки:
Если этот файл уже существует, просто скопируйте и добавьте эти строчки в файл данный файл.
Вы должны будете перезагрузить систему, чтобы заставить hald применить настройки.
Есть возможность проделать ту же конфигурацию из X терминала или скрипт следующей командой:
% setxkbmap -model pc102 -layout frФайл
/usr/local/share/X11/xkb/rules/base.lst
содержит список различных клавиатур, доступные опции
и раскладки.
Теперь выполните тонкую настройку в файле
xorg.conf.new по своему вкусу.
Откройте файл в текстовом редакторе, таком, как emacs(1) или
ee(1). Сначала задайте частоты для
монитора. Они обычно обозначаются как частоты горизонтальной и
вертикальной синхронизации. Эти значения добавляются в файл
xorg.conf.new в
раздел "Monitor":
Ключевых слов HorizSync и
VertRefresh может и не оказаться в
файле конфигурации. Если их нет, то они должны быть добавлены, с
указанием корректных значений горизонтальной частоты синхронизации
после ключевого слова HorizSync и вертикальной
частоты синхронизации после ключевого слова
VertRefresh. В примере выше были введены частоты
монитора настраиваемой системы.
X позволяет использовать возможности технологии DPMS (Energy Star) с поддерживающими её мониторами. Программа xset(1) управляет временными задержками и может явно задавать режимы ожидания, останова и выключения. Если вы хотите включить использование возможностей DPMS вашего монитора, вы должны добавить следующую строку в раздел, описывающий монитор:
Пока файл конфигурации xorg.conf.new
открыт
в редакторе, выберите желаемые разрешение и глубину цвета, которые
будут использоваться по умолчанию. Они задаются в разделе
"Screen":
Ключевое слово DefaultDepth описывает
глубину цвета, с которой будет работа по умолчанию. Это значение
может быть переопределено при помощи параметра командной строки
-depth для Xorg(1).
Ключевое слово
Modes описывает разрешение, с которым нужно
работать при данной глубине цвета. Заметьте, что поддерживаются
только те стандартные режимы VESA, что определены графическим
оборудованием настраиваемой системы. В примере выше глубина цвета по
умолчанию равна двадцати четырём битам на пиксел. При такой глубине
цвета принимается разрешение в 1024 на 768 точек.
Наконец, запишите конфигурационный файл и протестируйте его при помощи тестового режима, описанного выше.
При решении проблем могут помочь лог файлы X11, в которых
находится информация по каждому устройству, к которому
подключен сервер X11. Лог файлам
Xorg названия даются в формате
/var/log/Xorg.0.log. Имена лог файлам
могут даваться от Xorg.0.log до
Xorg.8.log и так далее.
Если все в порядке, то конфигурационный файл нужно установить в
общедоступное место, где его сможет найти Xorg(1).
Обычно это /etc/X11/xorg.conf или
/usr/local/etc/X11/xorg.conf.
# cp xorg.conf.new /etc/X11/xorg.confТеперь процесс настройки X11 завершен. Xorg теперь можно запустить с помощью startx(1). X11 можно также запустить через xdm(1).
Конфигурирование при работе с интегрированными наборами микросхем
Intel® i810 требует наличия agpgart,
программного интерфейса AGP, посредством которого
X11 будет управлять адаптером. Подробности смотрите на странице
справочника agp(4).
Это позволит конфигурировать графическое оборудование точно так
же, как и любой другой графический адаптер. Заметьте, что для
систем, у которых драйвер agp(4) в ядро не вкомпилирован,
попытка погрузить модуль с помощью kldload(8) окончится
неудачно. Этот драйвер должен оказаться в ядре во время загрузки,
либо вкомпилированным, либо подгруженным посредством
/boot/loader.conf.
Для этого раздела необходимо несколько больше навыков настройки. Если после использования описанных выше инструментов настройки в результате рабочей конфигурации не получается, в лог файлах достаточно информации для доведения конфигурации до рабочего уровня. Для настройки используется текстовый редактор.
Существующие широкоэкранные стандарты (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, и т.д.) поддерживают форматы изображения 16:10 и 10:9, которые могут быть проблемными. Для формата 16:10, например, возможны следующие разрешения экрана:
2560x1600
1920x1200
1680x1050
1440x900
1280x800
Иногда достаточно добавить одно из этих разрешений в качестве параметра
Mode в раздел Section "Screen"
вот так:
Xorg может извлечь информацию о разрешении из монитора посредством I2C/DDC, так что у него есть данные, какие частоты и разрешения может поддерживать монитор.
Если эти ModeLines не определены в драйверах,
может потребоваться дополнительная настройка
Xorg. Используя
/var/log/Xorg.0.log, можно извлечь достаточно
информации для создания рабочей строки ModeLine вручную.
Просто обратитесь к следующей информации:
Эта информация называется EDID. Создание ModeLine
из сводится к расположению номеров в правильном порядке:
Для нашего примера ModeLine в Section
"Monitor" будет выглядеть так:
После завершения редактирования конфигурации, X должен запуститься в новом широкоэкранном разрешении.
Шрифты, используемые по умолчанию и распространяемые вместе с
X11, вряд ли можно назвать идеально
подходящими для применения в обычных издательских приложениях. Большие
презентационные шрифты выглядят рвано и непрофессионально, а мелкие
шрифты в Netscape® вообще невозможно
разобрать. Однако есть некоторое количество свободно распространяемых
высококачественных шрифтов Type1 (PostScript®), которые можно без
изменений использовать с X11. К примеру, в наборе шрифтов URW
(x11-fonts/urwfonts) имеются
высококачественные версии стандартных шрифтов type1 (Times Roman®, Helvetica®, Palatino® и другие). В набор Freefonts
(x11-fonts/freefonts) включено ещё
больше шрифтов, однако большинство из них предназначено для
использования в программном обеспечении для работы с графикой,
например, Gimp, и они не вполне пригодны
для использования в качестве
экранных шрифтов. Кроме того, X11 с
минимальными усилиями может быть настроена на использование шрифтов
TrueType®. Более детальная информация находится на странице
справочной системы X(7) и в разделе о
шрифтах TrueType® ниже.
Для установки вышеупомянутых коллекций шрифтов Type1 из коллекции портов выполните следующие команды:
# cd /usr/ports/x11-fonts/urwfonts
# make install cleanТо же самое нужно будет сделать для коллекции freefont и других.
Чтобы X-сервер обнаруживал
этих шрифты, добавьте соответствующую строку в
файл настройки X сервера (/etc/X11/xorg.conf),
которая должна выглядеть так:
Либо из командной строки при работе с X выполните:
% xset fp+ /usr/local/lib/X11/fonts/URW
% xset fp rehashЭто сработает, но будет потеряно, когда сеанс работы с X будет
закрыт, если эта команда не будет добавлена в начальный файл
(~/.xinitrc в случае обычного сеанса через
startx
или ~/.xsession при входе через графический
менеджер типа XDM). Третий способ
заключается в использовании нового файла
/usr/local/etc/fonts/local.conf: посмотрите
раздел об антиалиасинге.
В Xorg имеется встроенная
поддержка шрифтов TrueType®. Имеются два модуля, которые могут
обеспечить эту функциональность. В нашем примере используется модуль
freetype, потому что он в большей степени похож на другие механизмы
для работы с шрифтами. Для включения модуля freetype достаточно в
раздел "Module" файла
/etc/X11/xorg.conf добавить следующую
строчку.
Теперь создайте каталог для шрифтов TrueType®
(к примеру, /usr/local/lib/X11/fonts/TrueType) и
скопируйте все шрифты TrueType® в этот каталог. Имейте в виду,
что напрямую использовать шрифты TrueType® с Macintosh® нельзя;
для использования с X11 они должны
быть в формате UNIX®/MS-DOS®/Windows®. После того, как файлы будут
скопированы в этот каталог, воспользуйтесь утилитой
ttmkfdir для создания файла
fonts.dir, который укажет подсистеме вывода
шрифтов X на местоположение этих новых файлов.
ttmkfdir имеется в Коллекции Портов FreeBSD:
x11-fonts/ttmkfdir.
# cd /usr/local/lib/X11/fonts/TrueType
# ttmkfdir -o fonts.dirПосле этого добавьте каталог со шрифтами TrueType® к маршруту поиска шрифтов. Это делается точно также, как описано выше для шрифтов Type1, то есть выполните
% xset fp+ /usr/local/lib/X11/fonts/TrueType
% xset fp rehashили добавьте строку FontPath в файл
xorg.conf.
Это всё. Теперь Netscape®, Gimp, StarOffice™ и все остальные X-приложения должны увидеть установленные шрифты TrueType®. Очень маленькие (как текст веб-страницы на дисплее с высоким разрешением) и очень большие (в StarOffice™) шрифты будут теперь выглядеть гораздо лучше.
Антиалиасинг присутствует в X11 начиная с
XFree86™,
версии 4.0.2. Однако настройка шрифтов была довольно
громоздка вплоть до появления XFree86™
4.3.0. Начиная с версии XFree86™ 4.3.0,
все шрифты, расположенные в каталогах
/usr/local/lib/X11/fonts/ и
~/.fonts/, автоматически становятся доступными для
применения антиалиасинга в приложениях, использующих Xft. Не все
приложения могут использовать Xft, но во многих его поддержка
присутствует. Примерами приложений, использующих Xft, является Qt
версий 2.3 и более поздних (это инструментальный пакет для оболочки
KDE), GTK+ версий 2.0 и более поздних (это
инструментальный пакет для оболочки GNOME),
а также Mozilla версий 1.2 и более
поздних.
Для применения к шрифтам ант